Modeling overview
AMPL’s newly extended C++ solver interface library, MP, is publicly
available in the ampl/mp repository.
Solver interfaces built with MP are able to handle a significantly
expanded range of model expressions.
Currently available MP-based solvers include:
Binaries for these solvers can be downloaded, in distribution
bundles and individually, through the AMPL Portal.
Solver options and features are described
at AMPL Development
and at Features Guide for MP-based AMPL Solvers.
More solvers will be added.
The expanded MP solver interface library offers new support
for the following categories of operators and expressions:
Conditional operators: if-then-else
; ==>
, <==
, <==>
Logical operators: or
, and
, not
; exists
, forall
Piecewise linear functions: abs
; min
, max
; <<breakpoints; slopes>>
Counting operators: count
; atmost
, atleast
, exactly
; numberof
Relational and comparison operators: >(=)
, <(=)
, (!)=
; alldiff
Complementarity operator: complements
Nonlinear operators and functions: *
, /
, ^
; exp
, log
;
sin
, cos
, tan
; sinh
, cosh
, tanh
Set membership operator: in
Details and examples are given in the Expressions supported section below.
See also the individual solvers’ documentation for details of solver-specific features:
The slides from our presentation on
Advances in Model-Based Optimization
provide overview of the MP interface library in the context of AMPL applications,
including comments on implementation and efficiency issues.