The LP Procedure

Macro Variable _ORLP_

The LP procedure defines a macro variable named _ORLP_. This variable contains a character string that indicates the status of the procedure. It is set whenever the user gets control, at breakpoints, and at procedure termination. The form of the _ORLP_ character string is STATUS= PHASE= OBJECTIVE= P_FEAS= D_FEAS= INT_ITER= INT_FEAS= ACTIVE= INT_BEST= PHASE1_ITER= PHASE2_ITER= PHASE3_ITER=. The terms are interpreted as follows:

STATUS=the status of the current solution
PHASE=the phase the procedure is in (1, 2, or 3)
OBJECTIVE=the current objective value
P_FEAS=whether the current solution is primal feasible
D_FEAS=whether the current solution is dual feasible
INT_ITER=the number of integer iterations performed
INT_FEAS=the number of integer feasible solutions found
ACTIVE=the number of active nodes in the current branch-and-bound tree
INT_BEST=the best integer objective value found
PHASE1_ITER=        the number of iterations performed in phase 1
PHASE2_ITER=the number of iterations performed in phase 2
PHASE3_ITER=the number of iterations performed in phase 3

Table 3.5 shows the possible values for the nonnumeric terms in the string.

Table 3.5: Possible Values for Nonnumeric Terms
STATUS= P_FEAS= D_FEAS=
SUCCESSFULYESYES
UNBOUNDEDNONO
INFEASIBLE  
MAX_TIME  
MAX_ITER  
PIVOT  
BREAK  
INT_FEASIBLE  
INT_INFEASIBLE  
INT_MAX_ITER  
PAUSE  
FEASIBLEPAUSE  
IPAUSE  
PROXIMITYPAUSE  
ACTIVE  
RELAXED  
FATHOMED  
IPIVOT  
UNSTABLE  
SINGULAR  
MEMORY_ERROR  
IO_ERROR  
SYNTAX_ERROR  
SEMANTIC_ERROR  
BADDATA_ERROR  
UNKNOWN_ERROR  

This information can be used when PROC LP is one step in a larger program that needs to identify how the LP procedure terminated. Because _ORLP_ is a standard SAS macro variable, it can be used in the ways that all macro variables can be used (see the SAS Guide to Macro Processing).

Previous Page | Next Page | Top of Page