Getting Started Example (dcmpg02)
/***************************************************************/
/* */
/* 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;