16.01.2015 Views

GAMS — The Solver Manuals - Available Software

GAMS — The Solver Manuals - Available Software

GAMS — The Solver Manuals - Available Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

144 CONOPT<br />

<strong>The</strong> steepest edge procedure is mainly useful during linear mode iterations. However, it has some influence in<br />

phase 2 and 4 also: <strong>The</strong> estimated reduced Hessian in the BFGS method is initialized to a diagonal matrix with<br />

elements on the diagonal computed from the edge lengths, instead of the usual scaled unit matrix.<br />

<strong>The</strong> Steepest Edge procedure is not available in CONOPT1.<br />

A11<br />

Nonlinear Mode: <strong>The</strong> SQP Procedure<br />

When progress is determined by nonlinearities the old CONOPT2 would often take many small steps with small<br />

variations in the size of the superbasis and small variations in the reduced gradient. Second order information was<br />

necessary to make good progress and to determine if bounds should be active or not. <strong>The</strong> second order information<br />

was estimated over many iterations, but it was often invalidated by basis changes when bounds became active<br />

and it had to be estimated again.<br />

In contrast CONOPT3 can use exact second order information about the functions and this information can now<br />

be computed by <strong>GAMS</strong>. <strong>The</strong> second order information is used in a Sequential Quadratic Programming (SQP)<br />

procedure that much like the SLP procedure described above finds a good search direction and a good basis; the<br />

usual feasibility preserving steps in CONOPT are maintained, so CONOPT is still a feasible path method with<br />

all its advantages, especially related to reliability.<br />

Iterations in this so-called SQP-mode are identified by numbers in the column labeled ”InItr” in the iteration<br />

log. <strong>The</strong> number in the InItr column is the number of non-degenerate SQP iterations. This number is adjusted<br />

dynamically according to the success of the previous iterations and the reduction in reduced gradient in the<br />

quadratic model.<br />

<strong>The</strong> SQP procedure generates a scaled search direction and the expected step length in the following line search<br />

is therefore 1.0. <strong>The</strong> step length may be less than 1.0 for several reasons:<br />

• <strong>The</strong> line search is ill-behaved. This is indicated with OK = F and MX = F.<br />

• A basic variable reaches a bound before predicted by the linear model of the constraints. This is indicated<br />

with MX = T and OK = T.<br />

• <strong>The</strong> objective is much more nonlinear along the search direction than expected and the optimal step is not<br />

one. This is indicated with OK = T and MX = F.<br />

CONOPT will by default determine if it should use the SQP procedure or not, based on progress information.<br />

You may turn it off completely with the line ”lsesqp = f” in the CONOPT options file (usually conopt.opt).<br />

<strong>The</strong> default value of lsesqp (lsesqp = Logical Switch Enabling SQP mode) is t or true, i.e. the SQP procedure<br />

is enabled and CONOPT may use it when considered appropriate. It is seldom necessary to define lsesqp, but<br />

it can be used for experimentation.<br />

<strong>The</strong> SQP procedure is only available in CONOPT3.<br />

In connection with 1st and 2nd derivatives the listing file (*.lst) will have a few extra lines. <strong>The</strong> first looks as<br />

follows:<br />

<strong>The</strong> model has 537 variables and 457 constraints<br />

with 1597 Jacobian elements, 380 of which are nonlinear.<br />

<strong>The</strong> Hessian of the Lagrangian has 152 elements on the diagonal,<br />

228 elements below the diagonal, and 304 nonlinear variables.<br />

<strong>The</strong> first two lines repeat information given in the <strong>GAMS</strong> model statistics and the last two lines describe second<br />

order information. CONOPT3 uses the matrix of second derivatives (the Hessian) of a linear combination of the<br />

objective and the constraints (the Lagrangian). <strong>The</strong> Hessian is symmetric and the statistics show that it has 152<br />

elements on the diagonal and 228 below for a total of 380 elements in this case. This compares favorably to the<br />

number of elements in the matrix of first derivatives (the Jacobian).<br />

For some models you may see the following message instead:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!