Declaration of MPCC Models
MPCC models
Through the Knitro solver, AIMMS also supports mathematical programs with complementarity constraints (MPCC models). MPCC models are also more commonly denoted by other modeling languages as MPEC models, which form a more general, and much more difficult, class of optimization problems. A MPCC model is an ordinary NLP model with additional complementarity constraints that have to be satisfied.
Declaring MPCC models
To define a MPCC model, you must declare a MathematicalProgram
(see
also MathematicalProgram Declaration and Attributes) and specify mpcc
as the Type
attribute of
the MathematicalProgram
. The variable set of a
MathematicalProgram
of a MPCC model can contain ordinary variables
as well as complementarity variables. Contrary to pure mixed
complementary models, a MPCC model has an objective function.
Solving MPCC models
To solve MPCC models in AIMMS, you need a license for the Knitro solver.
If you do not have a license for the Knitro solver, AIMMS will return an
error that it has no suitable solver available for the mpcc
class,
whenever you try to solve a MPCC model. The Knitro solver can also be
used for solving pure mixed complementarity problems, but is, in
general, far less efficient in that case than dedicated mcp
solvers.