/*----------------------------------------------------------------
                                                                 
            S A S   S A M P L E   L I B R A R Y                  
                                                                 
      NAME: dcmpg02                                              
     TITLE: Getting Started Example (dcmpg02)                    
   PRODUCT: OR                                                   
    SYSTEM: ALL                                                  
      KEYS: OR                                                   
     PROCS: OPTMILP                                              
      DATA:                                                      
                                                                 
   SUPPORT:                             UPDATE:                  
       REF:                                                      
      MISC: Example 2 from the Getting Started section of the    
            Decomposition Algorithm chapter of Mathematical      
            Programming.                                         
                                                                 
----------------------------------------------------------------*/


data mpsdata;
   input field1 $ field2 $ field3 $ field4 field5 $ field6;
   datalines;
NAME    .        mpsdata  .        .        .
ROWS    .        .        .        .        .
MAX     f        .        .        .        .
G       m        .        .        .        .
L       s1       .        .        .        .
L       s2       .        .        .        .
COLUMNS .        .        .        .        .
.       .MRK0000 'MARKER' .        'INTORG' .
.       x[1,1]   f        1        m        1
.       x[1,1]   s1       5        .        .
.       x[2,1]   f        2        s1       7
.       x[3,1]   f        1        s1       4
.       x[1,2]   m        1        s2       1
.       x[2,2]   f        1        s2       2
.       x[3,2]   f        1        s2       1
.       .MRK0001 'MARKER' .        'INTEND' .
RHS     .        .        .        .        .
.       .RHS.    m        1        .        .
.       .RHS.    s1       11       .        .
.       .RHS.    s2       2        .        .
BOUNDS  .        .        .        .        .
UP      .BOUNDS. x[1,1]   1        .        .
UP      .BOUNDS. x[2,1]   1        .        .
UP      .BOUNDS. x[3,1]   1        .        .
UP      .BOUNDS. x[1,2]   1        .        .
UP      .BOUNDS. x[2,2]   1        .        .
UP      .BOUNDS. x[3,2]   1        .        .
ENDATA  .        .        .        .        .
;



data blocks;
   input _row_ $ _block_;
   datalines;
s1 0
s2 1
;



proc optmilp
   data       = mpsdata
   presolver  = none;
   decomp
      logfreq = 1
      blocks  = blocks;
run;