The Unconstrained Nonlinear Programming Solver

Macro Variable _OROPTMODEL_

The OPTMODEL procedure always creates and initializes a SAS macro called _OROPTMODEL_. This variable contains a character string. After each PROC OROPTMODEL run, you can examine this macro by specifying %put _OROPTMODEL_; and check the execution of the most recently invoked solver from the value of the macro variable. The various terms of the variable after the NLPU solver is called are interpreted as follows.

STATUS
indicates the solver status at termination. It can take one of the following values:

OK
solver terminated normally
SYNTAX_ERROR
incorrect use of syntax
DATA_ERROR
inconsistent input data
OUT_OF_MEMORY
insufficient memory allocated to the procedure
IO_ERROR
problem in reading or writing of data
SEMANTIC_ERROR
evaluation error, such as an invalid operand type
ERROR
status that cannot be classified into any of the preceding categories

SOLUTION_STATUS
indicates the solution status at termination. It can take one of the following values:

OPTIMAL
solution is optimal
CONDITIONAL_OPTIMAL
optimality of the solution cannot be proven
INFEASIBLE
problem is infeasible
UNBOUNDED
problem is unbounded
INFEASIBLE_OR_UNBOUNDED
problem is infeasible or unbounded
BAD_PROBLEM_TYPE
problem type is unsupported by solver
ITERATION_LIMIT_REACHED
maximum allowable iterations reached
TIME_LIMIT_REACHED
solver reached its execution time limit
FUNCTION_CALL_LIMIT_REACHED
solver reached its limit on function evaluations
FAILED
solver failed to converge, possibly due to numerical issues

OBJECTIVE
indicates the objective value obtained by the solver at termination.

OPTIMALITY_ERROR
relative gradient norm at the solution.

ITERATIONS
indicates the number of iterations required to solve the problem.

PRESOLVE_TIME
indicates the real time taken for preprocessing (seconds).

SOLUTION_TIME
indicates the real time taken by the NLPU solver to perform iterations for solving the problem (seconds).

Previous Page | Next Page | Top of Page