mp documentation

MP Library is a set of tools recommended to create new AMPL solver interfaces.


Reusable building blocks for new interfaces

Concrete solver interfaces

  • Interfaces to solvers with expression-based APIs. For solvers with an expression-based API, NL forests can be efficiently mapped. For example, AMPL expression exp() maps to IBM ILOG Concert’s IloExponent. The library has the following C++ interfaces of this kind, all of which support AMPL extensions for logic and constraint programming:

  • Interfaces to solvers with “flat” APIs (WIP). For solvers with more traditional “flat” APIs, class mp::MIPFlatConverter reformulates many non-linear AMPL expressions. For example, max(a, b) is translated into a constraint meaning <new var> = max(a, b), which is in turn reformulated for MIP or passed to the solver natively (Gurobi: GRBaddgenconstrMax). Currently there are two experimental implementations:

Other utilities


Indices and tables