Tuesday, November 11, 2008

Start with optimal solution as initial point

Large NLP's are difficult, not in the least because the chance increases that numerics become more unstable. Here is an example of such a problem with a square system (having 224k equations and variables):


solve m minimizing dummy using nlp;
x.fx(ivar,t) = x.l(ivar,t);
solve m minimizing dummy using nlp;


We fix the variables to their optimal values and solve again. This gives for the second solve:
               S O L V E      S U M M A R Y

MODEL m OBJECTIVE dummy
TYPE NLP DIRECTION MINIMIZE
SOLVER CONOPT FROM LINE 554557

**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 4 INFEASIBLE
**** OBJECTIVE VALUE 0.0000


We get some good advice how to work around this by loosening some tolerance:
 ** An equation is inconsistent with other equations in the
pre-triangular part of the model.

Residual= 3.78931873E-08
Tolerance (Rtnwtr)= 2.00000000E-08

The pre-triangular feasibility tolerance may be relaxed with
option:

Rtnwtr=x.xx

E_CRIMSONSTEOQEN(2017): Inconsistency in pre-triangular part of model.

The solution order of the critical equations and
variables is:

All variables in equation E_CRIMSONSTEOQEN(2017) are now fixed
and the equation is infeasible. Residual =-3.7893187255E-08