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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CONOPT 133<br />

<strong>The</strong> remaining two sections give some short guidelines for selecting non-default options (section A12), and<br />

discuss miscellaneous topics (section A13) such as CONOPT’s facilities for strictly triangular models (A13.1) and<br />

for square systems of equations, in <strong>GAMS</strong> represented by the model class called CNS or Constrained Nonlinear<br />

Systems (A13.2), as well as numerical difficulties due to loss of feasibility (A13.3) and slow or no progress due to<br />

stalling (A13.4).<br />

A3<br />

Iteration 0: <strong>The</strong> Initial Point<br />

<strong>The</strong> first few ”iterations” in the iteration log (see section 2 in the main text for an example) are special initialization<br />

iterations, but they have been counted as real iterations to allow the user to interrupt at various stages during<br />

initialization. Iteration 0 corresponds to the input point exactly as it was received from <strong>GAMS</strong>. <strong>The</strong> sum of<br />

infeasibilities in the column labeled ”Infeasibility” includes all residuals, also from the objective constraint where<br />

”Z =E= expression” will give rise to the term abs( Z - expression ) that may be nonzero if Z has not been<br />

initialized. You may stop CONOPT after iteration 0 with ”OPTION ITERLIM = 0;” in <strong>GAMS</strong>. <strong>The</strong> solution<br />

returned to <strong>GAMS</strong> will contain the input point and the values of the constraints in this point. <strong>The</strong> marginals of<br />

both variables and equations have not yet been computed and they will be returned as EPS.<br />

This possibility can be used for debugging when you have a reference point that should be feasible, but is<br />

infeasible for unknown reasons. Initialize all variables to their reference values, also all intermediated variables,<br />

and call CONOPT with ITERLIM = 0. <strong>The</strong>n compute and display the following measures of infeasibility for<br />

each block of constraints, represented by the generic name EQ:<br />

=E= constraints: ROUND(ABS(EQ.L - EQ.LO),3)<br />

=L= constraints: ROUND(MIN(0,EQ.L - EQ.UP),3)<br />

=G= constraints: ROUND(MIN(0,EQ.LO - EQ.L),3)<br />

<strong>The</strong> ROUND function rounds to 3 decimal places so <strong>GAMS</strong> will only display the infeasibilities that are larger<br />

than 5.e-4.<br />

Similar information can be derived from inspection of the equation listing generated by <strong>GAMS</strong> with ”OPTION<br />

LIMROW = nn;”, but although the method of going via CONOPT requires a little more work during implementation<br />

it can be convenient in many cases, for example for large models and for automated model checking.<br />

A4<br />

Iteration 1: Preprocessing<br />

Iteration 1 corresponds to a pre-processing step. Constraints-variable pairs that can be solved a priori (so-called<br />

pre-triangular equations and variables) are solved and the corresponding variables are assigned their final values.<br />

Constraints that always can be made feasible because they contain a free variable with a constant coefficient<br />

(so-called post-triangular equation-variable pairs) are excluded from the search for a feasible solution, and from<br />

the Infeasibility measure in the iteration log. Implicitly, the equations and variables are ordered as shown in Fig.<br />

7.1.<br />

A4.1 Preprocessing: Pre-triangular Variables and Constraints<br />

<strong>The</strong> pre-triangular equations are those labeled A in Fig.7.1 . <strong>The</strong>y are solved one by one along the ”diagonal”<br />

with respect to the pre-triangular variables labeled I. In practice, <strong>GAMS</strong>/CONOPT looks for equations with only<br />

one non-fixed variable. If such an equation exists, <strong>GAMS</strong>/CONOPT tries to solve it with respect to this non-fixed<br />

variable. If this is not possible the overall model is infeasible, and the exact reason for the infeasibility is easy<br />

to identify as shown in the examples below. Otherwise, the final value of the variable has been determined, the<br />

variable can for the rest of the optimization be considered fixed, and the equation can be removed from further<br />

consideration. <strong>The</strong> result is that the model has one equation and one non-fixed variable less. As variables are<br />

fixed new equations with only one non-fixed variable may emerge, and CONOPT repeats the process until no<br />

more equations with one non-fixed variable can be found.<br />

This pre-processing step will often reduce the effective size of the model to be solved. Although the pre-triangular<br />

variables and equations are removed from the model during the optimization, CONOPT keeps them around until

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

Saved successfully!

Ooh no, something went wrong!