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