|
Chapter Contents |
Previous |
Next |
| The NLP Procedure |
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.
At the start of optimization the procedure prints
The iteration history always includes the following (the words in parentheses indicate the column header output):
The optimization history is printed 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 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 Options | PALL | default | PSHORT | PSUM | |
| y | y | y | y | summary of optimization | |
| y | y | y | n | parameter estimates | |
| y | y | y | n | gradient of objective func | |
| PHISTORY | y | y | y | n | iteration history |
| PINIT | y | y | n | n | setting of initial values |
| y | y | n | n | listing of constraints | |
| PGRID | y | n | n | n | results of grid search |
| PNLCJAC | y | n | n | n | Jacobian nonlin. constr. |
| PFUNCTION | y | n | n | n | values of functions |
| PEIGVAL | y | n | n | n | eigenvalue distribution |
| PCRPJAC | y | n | n | n | cross-product Jacobian |
| PHESSIAN | y | n | n | n | Hessian matrix |
| PSTDERR | y | n | n | n | approx. standard errors |
| PCOV | y | n | n | n | covariance matrices |
| PJACOBI | n | n | n | n | Jacobian |
| LIST | n | n | n | n | model program, variables |
| LISTCODE | n | n | n | n | compiled model program |
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
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.
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 |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.