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.

SNOPT 537<br />

LU density tolerance r 1<br />

LU singularity tolerance r 2<br />

<strong>The</strong> density tolerance r 1 is used during LUSOLs basis factorization B = LU. Columns of L and rows of U<br />

are formed one at a time, and the remaining rows and columns of the basis are altered appropriately. At<br />

any stage, if the density of the remaining matrix exceeds r 1 , the Markowitz strategy for choosing pivots is<br />

terminated and the remaining matrix is factored by a dense LU procedure. Raising the density tolerance<br />

towards 1.0 may give slightly sparser LU factors, with a slight increase in factorization time.<br />

<strong>The</strong> singularity tolerance r 2 helps guard against ill-conditioned basis matrices. After B is refactorized, the<br />

diagonal elements of U are tested as follows: if |U jj | ≤ r 2 or |U jj | < r 2 max i |U ij |, the jth column of the<br />

basis is replaced by the corresponding slack variable. (This is most likely to occur after a restart)<br />

Default: LU density tolerance 0.6 and LU singularity tolerance 3.2e-11 for most machines. This<br />

value corresponds to ɛ 2/3 , where ɛ is the relative machine precision.<br />

Major feasibility tolerance ɛ r<br />

This specifies how accurately the nonlinear constraints should be satisfied. <strong>The</strong> default value of 1.0e-6 is<br />

appropriate when the linear and nonlinear constraints contain data to about that accuracy.<br />

Let rowerr be the maximum nonlinear constraint violation, normalized by the size of the solution. It is<br />

required to satisfy<br />

rowerr = max viol i /‖x‖ ≤ ɛ r , (32.8)<br />

i<br />

where viol i is the violation of the ith nonlinear constraint (i = 1 : nnCon, nnCon being the number of<br />

nonlinear constraints).<br />

In the <strong>GAMS</strong>/SNOPT iteration log, rowerr appears as the quantity labeled “Feasibl”. If some of the<br />

problem functions are known to be of low accuracy, a larger Major feasibility tolerance may be appropriate.<br />

Default: Major feasibility tolerance 1.0e-6.<br />

Major iterations limit k<br />

This is the maximum number of major iterations allowed.<br />

number of linearizations of the constraints.<br />

Default: Major iterations limit max{1000, m}.<br />

It is intended to guard against an excessive<br />

Major optimality tolerance ɛ d<br />

This specifies the final accuracy of the dual variables. On successful termination, SNOPT will have computed<br />

a solution (x, s, π) such that<br />

maxComp = max Comp j /‖π‖ ≤ ɛ d , (32.9)<br />

j<br />

where Comp j is an estimate of the complementarity slackness for variable j (j = 1 : n + m). <strong>The</strong> values<br />

Comp j are computed from the final QP solution using the reduced gradients d j = g j − π T a j (where g j is the<br />

jth component of the objective gradient, a j is the associated column of the constraint matrix ( A − I ),<br />

and π is the set of QP dual variables):<br />

{<br />

dj min{x j − l j , 1} if d j ≥ 0;<br />

Comp j =<br />

−d j min{u j − x j , 1} if d j < 0.<br />

In the <strong>GAMS</strong>/SNOPT iteration log, maxComp appears as the quantity labeled “Optimal”.<br />

Default: Major optimality tolerance 1.0e-6.<br />

Major print level p<br />

This controls the amount of output to the <strong>GAMS</strong> listing file each major iteration. This output is only visible<br />

if the sysout option is turned on (see §4.1). Major print level 1 gives normal output for linear and<br />

nonlinear problems, and Major print level 11 gives additional details of the Jacobian factorization that<br />

commences each major iteration.<br />

In general, the value being specified may be thought of as a binary number of the form<br />

Major print level JFDXbs<br />

where each letter stands for a digit that is either 0 or 1 as follows:

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

Saved successfully!

Ooh no, something went wrong!