Download Dynamic Link Library Solver User`s Guide

Transcript
PARAM_ESTIM
5012
PARAM_DIREC
5013
PARAM_SAMPSZ
PARAM_NOIMP
6001
6002
NLP estimates of basic variables: 0 - Tangent,
1 - Quadratic
NLP search direction: 0 - Quasi-Newton, 1 Conjugate Gradient
Evolutionary Solver population (sample) size
Evol. Solver max time with no improvement
PARAM_SCAIND The scaling option determines how the LP matrix, variable and constraint bounds
are (re)scaled during the solution process. A value of -1 means no scaling, 0 means
“normal” scaling, and 1 means “aggressive” scaling (used only by the Large-Scale
LP/MIP Solver DLL). The default value of 0 will usually yield good results,
including more accurate solutions and fewer total iterations.
PARAM_CRAIND The “crashing” option is used only by the Large-Scale LP/MIP Solver DLL. A
value of 1 indicates that the Solver should start by constructing an advanced basis, in
which so-called “artificial” variables are eliminated in favor of “structural” variables
wherever possible. This often results in fewer total iterations. A value of 0 means
that the Solver should start from a “normal” basis.
PARAM_LINVAR This parameter determines whether the nonlinear Solver “engine” will attempt to
recognize variables occurring linearly in all of the problem functions, and then save
time by assuming that first partial derivatives with respect to these variables are
constant and need not be recomputed. This is an “aggressive” strategy which should
be used only when you know that the nonlinearly occurring variables will not appear
to change linearly over the intervals around their starting values.
PARAM_DERIV This parameter controls the method used by the Solver to compute approximate first
partial derivatives. 0 means that “forward differencing” will be used, perturbing
variable values in one direction from the current point. 1 means that “central
differencing” will be used, perturbing variable values in two opposing directions
from the current point. Central differencing takes more computing time, but can
yield better results and fewer total iterations, especially if the Solver’s path to the
solution lies close to one or more constraint boundaries.
2 means that the jacobian() function, which must be supplied as an argument to
loadnlp(), will be called to compute partial derivatives. 3 may be used for debugging
purposes: It means that the Solver will compute partial derivatives via forward
differencing, then call the jacobian() function and compare the results. If the
derivatives do not match within a small tolerance, the Solver will stop and return
PSTAT_FLOAT_ERROR; however if PARAM_ARGCK is 1, the Solver will
display Windows MessageBoxes reporting each mismatching derivative, and will
return PSTAT_FLOAT_ERROR only if you click Cancel in a MessageBox.
PARAM_ESTIM This parameter controls the method used to estimate initial values for the basic
variables at the beginning of each one-dimensional line search. 0 means that the
Solver will use linear extrapolation from the line tangent to the reduced objective
function. 1 means that the Solver will extrapolate to the minimum (or maximum) of a
quadratic fitted to the reduced objective at its current point.
PARAM_DIREC This parameter controls the method used by the Solver to determine a direction
vector for the variables being changed on a given iteration. 0 means that the Solver
will use a Quasi-Newton method, maintaining an approximate Hessian matrix for the
reduced objective function. 1 means that the Solver will use a Conjugate Gradient
method, which does not require the Hessian matrix.
PARAM_SAMPSZ This parameter determines the number of points in the Evolutionary Solver’s
population of candidate solutions. The default value is 0, which instructs the
136 • Solver API Reference
Dynamic Link Library Solver User's Guide