Get Started

Mehrotra is a differentiable solver for nonlinear complementarity problems with conic constraints. The solver is written in pure Julia in order to be both performant and easy to use.

Features

  • Differentiable: Solutions are efficiently differentiable with respect to problem data provided to the solver
  • Second-Order-Cone Constraints: Cone constraints are natively supported in the non-convex problem setting
  • Codegen for Derivatives: User-provided functions (e.g., objective, constraints) are symbolically differentiated and fast code is autogenerated using Symbolics.jl
  • Open Source: Code is available on GitHub and distributed under the MIT Licence

Installation

Mehrotra can be installed using the Julia package manager for Julia v1.7 and higher. Inside the Julia REPL, type ] to enter the Pkg REPL mode then run:

pkg> add Mehrotra

If you want to install the latest version from Github run:

pkg> add Mehrotra#main

Citation

If this project is useful for your work please consider:

Licence

Mehrotra is licensed under the MIT License. For more details click here.