Solving the Oil Problem by the Interior Point Solver (optlp2)
/**************************************************************************/
/* */
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: optlp2 */
/* TITLE: Solving the Oil Problem by the Interior Point Solver (optlp2) */
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: OR */
/* PROCS: OPTLP */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: */
/* MISC: Example 2 from the OPTLP chapter of Mathematical Programming. */
/* */
/**************************************************************************/
data ex1;
input field1 $ field2 $ field3 $ field4 field5 $ field6;
datalines;
NAME . EX1 . . .
ROWS . . . . .
N profit . . . .
E napha_l . . . .
E napha_i . . . .
E htg_oil . . . .
L blend1 . . . .
L blend2 . . . .
L blend3 . . . .
COLUMNS . . . . .
. a_l profit -175 napha_l .035
. a_l napha_i .100 htg_oil .390
. a_h profit -165 napha_l .030
. a_h napha_i .075 htg_oil .300
. br profit -205 napha_l .045
. br napha_i .135 htg_oil .430
. na_l napha_l -1 blend2 -1
. na_i napha_i -1 blend1 -1
. h_o htg_oil -1 blend3 -1
. j_1 profit 350 blend1 .3
. j_1 blend3 .7 . .
. j_2 profit 350 blend2 .2
. j_2 blend3 .8 . .
BOUNDS . . . . .
UP . a_l 110 . .
UP . a_h 165 . .
UP . br 80 . .
ENDATA . . . . .
;
title1 'The OPTLP Procedure';
proc optlp data=ex1
objsense = max
algorithm = ip
primalout = ex1ipout
dualout = ex1idout
logfreq = 1;
run;
title2 'Primal Solution';
proc print data=ex1ipout label ;
run;