ARKI Consulting & Development A/S
Assumptions
CONOPT is based on the usual NLP model in
which all variables are continuous and all constraints are smooth with smooth first
derivatives. In addition, the Jacobian (the matrix of first derivatives) is
assumed to be sparse. CONOPT attempts to find a local optimum satisfying the
usual Karish-Kuhn-Tucker optimality conditions.
The nonlinear functions defining the model
and their analytic derivatives are assumed to be computable with high accuracy.
2nd derivatives are needed in some
components of CONOPT and models with many degrees of freedom can only be solved
efficiently if 2nd derivatives are available.
Models are assumed to be well scaled. CONOPT
has an automatic scaling option, but nonlinear models are hard to scale
automatically and a good user scaling is often crucial for large models.
Warnings
Models with discrete variables cannot be
solved by CONOPT. Some modeling systems such as AIMMS, GAMS, LINGO, What'sBest,
and LINDO API provide a system around CONOPT (a Branch & Bound or an Outer
Approximation algorithm) that can handle discrete variables.
Models with non-differentiable functions may
be submitted to CONOPT, but CONOPT will become less reliable and it may
terminate in a point that is not a local optimum.
Dense models can also be solved with CONOPT,
but computing time may be slightly higher than for algorithms using dense
linear algebra.
CONOPT will usually not work well with noisy
functions. In particular, nonlinear functions based on iterative solution of
sub-models or numerical integration of differential equations will usually
create problems for CONOPT. Derivatives computed with numerical differences are
usually not sufficiently accurate.
CONOPT cannot guarantee that the solution is the
global optimum. The user must be familiar with the theory of local vs. global
solutions and judge for himself. When models have multiple local optima or
local minima for the sum of infeasibility objective them CONOPT may terminate in
any of these points.