Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The NLP Procedure

Printed Output

Procedure Initialization

After the procedure has processed the problem it prints summary information about the problem and the options that you have selected. It may also print a list of linearly dependent constraints and other information about the constraints and parameters.

Optimization Start

At the start of optimization the procedure prints

Iteration History

In general, the iteration history consists of one line of printed output containing the most important information for each iteration. The iteration-extensive Nelder-Mead simplex method, however, prints only one line for several internal iterations. This technique skips the output for some iterations because: The _LIST_ variable (see Program Statements in the Syntax section) also allows the user to print the parameter estimates x(k) and the gradient g(k) in all or some selected iterations k.

The iteration history always includes the following (the words in parentheses indicate the column header output):

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 printed by default because it is important to check for possible convergence problems.

Optimization Termination

The output of the optimization history ends with a short output of information concerning the optimization result:

The NOPRINT option suppresses all printed output to the list file and only ERROR's, WARNING's, and NOTE's are printed to the log file. The PALL option sets a large group of some of the commonly used specific print options, the PSHORT option suppresses some, and the PSUM (or PSUMMARY) option suppresses almost all of the default output. The following table summarizes the correspondence between the general and the specific print options:

Output OptionsPALLdefaultPSHORTPSUM 
 yyyysummary of optimization
 yyynparameter estimates
 yyyngradient of objective func
PHISTORYyyyniteration history
PINITyynnsetting of initial values
 yynnlisting of constraints
PGRIDynnnresults of grid search
PNLCJACynnnJacobian nonlin. constr.
PFUNCTIONynnnvalues of functions
PEIGVALynnneigenvalue distribution
PCRPJACynnncross-product Jacobian
PHESSIANynnnHessian matrix
PSTDERRynnnapprox. standard errors
PCOVynnncovariance matrices
PJACOBInnnnJacobian
LISTnnnnmodel program, variables
LISTCODEnnnncompiled model program

Missing Values

Missing Values in Program Statements

There is one very important reason for using missing values in program statements specifying the values of the objective functions and derivatives: it may not be possible to evaluate the program statements for a particular point x. For example, the extrapolation formula of one of the line-search algorithms may generate large x values for which the exp function cannot be evaluated without floating point overflow. The compiler of the program statements may check for such situations automatically, but it would be safer if you check the feasibility of your program statements. In some cases, the specification of boundary or linear constraints for parameters can avoid such situations. In many other cases you can indicate that x is a bad point simply by returning a missing value for the objective function. In such cases the optimization algorithms in PROC NLP shorten the step size \alpha or reduce the trust-region radius so that the next point will be closer to the point which was already successfully evaluated at the last iteration. Note, the starting point x(0) must be a point for which the program statements can be evaluated.

Missing Values in Input Data Sets

Observations with missing values in the DATA= data set for variables used in the objective function can lead to a missing value of the objective function implying that the corresponding BY group of data is not processed. The NOMISS option can be used to skip those observations of the DATA= data set for which relevant variables have missing values. Relevant are such variables which are referred to in program statements.

There can be different reasons to include observations with missing values in the INEST= data set. The value of the _RHS_ variable is not used in some cases and can be missing. Missing values for the variables corresponding to parameters in the _TYPE_ =:

In gerneral missing values are treated as zeros.

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.