The OPTMODEL Procedure

Functional Summary

The statements and options available with PROC OPTMODEL are summarized by purpose in Table 5.3.

Table 5.3: Functional Summary

Description

Statement

Option

Declaration Statements:

Declares a constraint

CONSTRAINT

 

Declares optimization expressions

IMPVAR

 

Declares a maximization objective

MAX

 

Declares a minimization objective

MIN

 

Declares a number type parameter

NUMBER

 

Declares a problem

PROBLEM

 

Declares a set type parameter

SET

 

Declares a string type parameter

STRING

 

Declares optimization variables

VAR

 

Programming Statements:

Assigns a value to a variable or parameter

=

 

Invokes a library subroutine

CALL

 

Closes the opened file

CLOSEFILE

 

Executes the statement repeatedly with support for concurrent solver invocations

COFOR

 

Terminates one iteration of a loop statement

CONTINUE

 

Creates a new SAS data set and copies data into it from PROC OPTMODEL parameters and variables

CREATE DATA

 

Groups a sequence of statements together as a single statement

DO

 

Executes statements repeatedly

DO (iterative)

 

Executes statements repeatedly until some condition is satisfied

DO UNTIL

 

Executes statements repeatedly as long as some condition is satisfied

DO WHILE

 

Ignores the specified constraint

DROP

 

Prints the specified constraint, variable, or objective declaration expressions after expanding aggregation operators, and so on

EXPAND

 

Selects a file for the PUT statement

FILE

 

Treats a variable as fixed in value

FIX

 

Executes the statement repeatedly

FOR

 

Executes the statement conditionally

IF

 

Terminates the execution of the entire loop body

LEAVE

 

Null statement

;

 

Controls parallel execution

PERFORMANCE

 

Outputs string and numeric data

PRINT

 

Writes text data to the current output file

PUT

 

Terminates the PROC OPTMODEL session

QUIT

 

Reads data from a SAS data set into PROC OPTMODEL parameters and variables

READ DATA

 

Sets PROC OPTMODEL option values or restores them to their defaults

RESET OPTIONS

 

Adds a constraint that was previously dropped back into the model

RESTORE

 

Saves the structure and coefficients for a linear programming model into a SAS data set

SAVE MPS

 

Saves the structure and coefficients for a quadratic programming model into a SAS data set

SAVE QPS

 

Invokes a PROC OPTMODEL solver

SOLVE

 

Halts the execution of all statements that contain it

STOP

 

Submits SAS code for execution

SUBMIT

 

Reverses the effect of FIX statement

UNFIX

 

Selects the current problem

USE PROBLEM

 

PROC OPTMODEL Options:

Specifies the accuracy for nonlinear constraints

PROC OPTMODEL

CDIGITS=

Specifies the maximum number of error messages displayed

PROC OPTMODEL

ERRORLIMIT=

Specifies the method used to approximate numeric derivatives

PROC OPTMODEL

FD=

Specifies the accuracy for the objective function

PROC OPTMODEL

FDIGITS=

Forces finite differences to be used for nonlinear equations

PROC OPTMODEL

FORCEFD=

Enables the OPTMODEL presolver for the LP, MILP, and QP solvers

PROC OPTMODEL

FORCEPRESOLVE=

Passes initial values for variables to the solver

PROC OPTMODEL

INITVAR/NOINITVAR

Specifies the tolerance for rounding the bounds on integer and binary variables

PROC OPTMODEL

INTFUZZ=

Specifies the maximum length for MPS row and column labels

PROC OPTMODEL

MAXLABLEN=

Checks missing values

PROC OPTMODEL

MISSCHECK/NOMISSCHECK

Specifies the maximum number of non-error messages displayed

PROC OPTMODEL

MSGLIMIT=

Specifies the number of digits to display

PROC OPTMODEL

PDIGITS=

Adjusts how two-dimensional array is displayed

PROC OPTMODEL

PMATRIX=

Specifies the type of presolve performed by the PROC OPTMODEL presolver

PROC OPTMODEL

PRESOLVER=

Specifies the tolerance, enabling the PROC OPTMODEL presolver to remove slightly infeasible constraints

PROC OPTMODEL

PRESTOL=

Enables or disables printing summary

PROC OPTMODEL

PRINTLEVEL=

Specifies the width to display numeric columns

PROC OPTMODEL

PWIDTH=

Specifies the smallest difference that is permitted by the PROC OPTMODEL presolver between the upper and lower bounds of an unfixed variable

PROC OPTMODEL

VARFUZZ=