Resources

Solving the Oil Problem by the IPM Algorithm (optlpe02)

/**************************************************************************/
/*                                                                        */
/*                   S A S   S A M P L E   L I B R A R Y                  */
/*                                                                        */
/*    NAME: optlpe02                                                        */
/*   TITLE: Solving the Oil Problem by the IPM Algorithm (optlpe02) */
/* 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;