‘Flat API’ solvers
For solvers with traditional ‘flat’ (no expression trees) APIs,
non-linear AMPL expressions need to be reformulated.
For example, max(a, b)
is translated into a constraint
which is in turn reformulated for
MIP or passed to the solver natively (e.g., Gurobi: GRBaddgenconstrMax
).
See the Modeling Guide for MP-based AMPL Solvers.
There are several implementations, see Modeling overview.