PROC OPTMODEL statements are divided into three categories: the PROC statement, the declaration statements, and the programming statements. The PROC statement invokes the procedure and sets initial option values. The declaration statements declare optimization model components. The programming statements read and write data, invoke the solver, and print results. In the following text, the statements are listed in the order in which they are grouped, with declaration statements first.
Note: Solver specific options are described in the individual chapters that correspond to the solvers.
                         PROC OPTMODEL
                          options   ; 
                         CONSTRAINT
                          constraints   ; 
                         IMPVAR
                          optimization expression declarations   ; 
                         MAX
                          objective   ; 
                         MIN
                          objective   ; 
                         NUMBER
                          parameter declarations   ; 
                         PROBLEM
                          problem declaration   ; 
                         SET
                          
                 
                  < types >
                < types > 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) parameter declarations   ;
                parameter declarations   ; 
                         STRING
                          parameter declarations   ; 
                         VAR
                          variable declarations   ; 
                         Assignment
                          parameter = expression   ; 
                         CALL
                          name 
                 
                  ( expressions )
                ( expressions ) 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         CLOSEFILE
                          files   ; 
                         CONTINUE
                             ; 
                         CREATE DATA
                          SAS-data-set FROM columns   ; 
                         DO
                          ; statements ; END   ; 
                         DO
                          variable = specifications ; statements ; END   ; 
                         DO UNTIL
                          ( logic ) ; statements ; END   ; 
                         DO WHILE
                          ( logic ) ; statements ; END   ; 
                         DROP
                          constraint   ; 
                         EXPAND
                          name 
                 
                  / options
                / options 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         FILE
                          file   ; 
                         FIX
                          variable 
                 
                  = expression
                = expression 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         FOR
                          { index-set } statement   ; 
                         IF
                          logic THEN statement ; 
                 
                  ELSE statement
                ELSE statement 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         LEAVE
                             ; 
                               ;  
                       
                         PERFORMANCE
                          options   ; 
                         PRINT
                          print items   ; 
                         PUT
                          put items   ; 
                         QUIT
                             ; 
                         READ DATA
                          SAS-data-set INTO columns   ; 
                         RESET OPTIONS
                          options   ; 
                         RESTORE
                          constraint   ; 
                         SAVE MPS
                          SAS-data-set 
                    
                     ( OBJECTIVE  |  OBJ ) name
                   ( OBJECTIVE  |  OBJ ) name 
                    
                    ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                     ; 
                         SAVE QPS
                          SAS-data-set 
                    
                     ( OBJECTIVE  |  OBJ ) name
                   ( OBJECTIVE  |  OBJ ) name 
                    
                    ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                     ; 
                         SOLVE
                          
                 
                  WITH solver
                WITH solver 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) 
                
                 
                  OBJECTIVE name
                OBJECTIVE name 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) 
                
                 
                  RELAXINT
                RELAXINT 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) 
                
                 
                  / options
                / options 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         STOP
                             ; 
                         SUBMIT
                          arguments 
                 
                  / options
                / options 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         UNFIX
                          variable 
                 
                  = expression
                = expression 
                 
                 ![$\ms {]}$](images/ormpug_optmodel0040.png) ;
                  ; 
                         USE PROBLEM
                          problem   ;