After the procedure has processed the problem, it displays summary information about the problem and the options that you have selected. It may also display a list of linearly dependent constraints and other information about the constraints and parameters.
At the start of optimization the procedure displays
the number of constraints that are active at the starting point, or more precisely, the number of constraints that are currently members of the working set. If this number is followed by a plus sign, there are more active constraints, of which at least one is temporarily released from the working set due to negative Lagrange multipliers.
the value of the objective function at the starting point
if the (projected) gradient is available, the value of the largest absolute (projected) gradient element
for the TRUREG and LEVMAR subroutines, the initial radius of the trust region around the starting point
In general, the iteration history consists of one line of output containing the most important information for each iteration. The iteration-extensive Nelder-Mead simplex method, however, displays only one line for several internal iterations. This technique skips the output for some iterations because
some of the termination tests (size and standard deviation) are rather time-consuming compared to the simplex operations and are done once every five simplex operations
the resulting history output is smaller
The _LIST_ variable (refer to the section Program Statements) also enables you to display the parameter estimates and the gradient in all or some selected iterations .
The iteration history always includes the following (the words in parentheses indicate the column header output):
the iteration number (iter)
the number of iteration restarts (nrest)
the number of function calls (nfun)
the number of active constraints (act)
the value of the optimization criterion (optcrit)
the difference between adjacent function values (difcrit)
the maximum of the absolute (projected) gradient components (maxgrad)
An apostrophe trailing the number of active constraints indicates that at least one of the active constraints was released from the active set due to a significant Lagrange multiplier.
The optimization history is displayed by default because it is important to check for possible convergence problems.
The output of the optimization history ends with a short output of information concerning the optimization result:
the number of constraints that are active at the final point, or more precisely, the number of constraints that are currently members of the working set. When this number is followed by a plus sign, it indicates that there are more active constraints of which at least one is temporarily released from the working set due to negative Lagrange multipliers.
the value of the objective function at the final point
if the (projected) gradient is available, the value of the largest absolute (projected) gradient element
other information that is specific for the optimization technique
The NOPRINT option suppresses all output to the list file and only errors, warnings, and notes are displayed to the log file. The PALL option sets a large group of some of the commonly used specific displaying options, the PSHORT option suppresses some, and the PSUMMARY option suppresses almost all of the default output. The following table summarizes the correspondence between the general and the specific print options.
Table 8.5: Optimization Termination
Output Options |
default |
Output |
|||
y |
y |
y |
y |
Summary of optimization |
|
y |
y |
y |
n |
Parameter estimates |
|
y |
y |
y |
n |
Gradient of objective func |
|
y |
y |
y |
n |
Iteration history |
|
y |
y |
n |
n |
Setting of initial values |
|
y |
y |
n |
n |
Listing of constraints |
|
y |
n |
n |
n |
Results of grid search |
|
y |
n |
n |
n |
Jacobian nonlin. constr. |
|
y |
n |
n |
n |
Values of functions |
|
y |
n |
n |
n |
Eigenvalue distribution |
|
y |
n |
n |
n |
Crossproduct Jacobian |
|
y |
n |
n |
n |
Hessian matrix |
|
y |
n |
n |
n |
Approx. standard errors |
|
y |
n |
n |
n |
Covariance matrices |
|
n |
n |
n |
n |
Jacobian |
|
n |
n |
n |
n |
Model program, variables |
|
n |
n |
n |
n |
Compiled model program |
Upon termination, the NLP procedure creates an ODS table called “ConvergenceStatus.” You can use this name to reference the table when using the Output Delivery System (ODS) to select tables and create output data sets. Within the “ConvergenceStatus” table there are two variables, “Status” and “Reason,” which contain the status of the optimization run. For the “Status” variable, a value of zero indicates that one of the convergence criteria is satisfied; a nonzero value indicates otherwise. In all cases, an explicit interpretation of the status code is displayed as a string stored in the “Reason” variable. For more information about ODS, see SAS Output Delivery System: User’s Guide.