You can also solve the oil refinery problem described in Example 10.1 by using the interior point solver. You can create the input data set from an external MPS-format flat file by using the SAS macro %MPS2SASD or SAS DATA step code, both of which are described in Getting Started: OPTLP Procedure. You can use the following SAS code to solve the problem:
proc optlp data=ex1 objsense = max solver = ii primalout = ex1ipout dualout = ex1idout printfreq = 1; run;
The optimal solution is displayed in Output 10.2.1.
The OPTLP Procedure |
Primal Solution |
Obs | Objective Function ID | RHS ID | Variable Name |
Variable Type |
Objective Coefficient |
Lower Bound |
Upper Bound | Variable Value | Variable Status |
Reduced Cost |
---|---|---|---|---|---|---|---|---|---|---|
1 | profit | a_l | D | -175 | 0 | 110 | 110.000 | . | ||
2 | profit | a_h | D | -165 | 0 | 165 | 0.000 | . | ||
3 | profit | br | D | -205 | 0 | 80 | 80.000 | . | ||
4 | profit | na_l | N | 0 | 0 | 1.7977E308 | 7.450 | . | ||
5 | profit | na_i | N | 0 | 0 | 1.7977E308 | 21.800 | . | ||
6 | profit | h_o | N | 0 | 0 | 1.7977E308 | 77.300 | . | ||
7 | profit | j_1 | N | 350 | 0 | 1.7977E308 | 72.667 | . | ||
8 | profit | j_2 | N | 350 | 0 | 1.7977E308 | 33.042 | . |
The iteration log is displayed in Output 10.2.2.
The OPTLP Procedure |
NOTE: The problem EX1 has 8 variables (0 free, 0 fixed). |
NOTE: The problem has 6 constraints (3 LE, 3 EQ, 0 GE, 0 range). |
NOTE: The problem has 19 constraint coefficients. |
WARNING: The objective sense has been changed to maximization. |
NOTE: The OPTLP presolver value AUTOMATIC is applied. |
NOTE: The OPTLP presolver removed 3 variables and 3 constraints. |
NOTE: The OPTLP presolver removed 6 constraint coefficients. |
NOTE: The presolved problem has 5 variables, 3 constraints, and 13 constraint |
coefficients. |
NOTE: The ITERATIVE INTERIOR solver is called. |
Primal Bound Dual |
Iter Complement Duality Gap Infeas Infeas Infeas |
0 6202.827182 578.875897 6.153481E-15 0 31.724076 |
1 2098.979622 131.203992 1.464821E-14 2.874219E-17 10.084119 |
2 56.777181 37.508992 1.794241E-14 6.400722E-17 0.301831 |
3 1.655583 0.291985 2.628969E-14 2.994678E-17 0.045333 |
4 0.590964 0.108785 1.561351E-14 2.024086E-17 0.000453 |
5 0.006051 0.001012 1.878018E-14 2.504275E-17 0.000004576 |
6 0.000060511 0.000010109 1.686314E-14 1.841004E-17 4.5764285E-8 |
7 0.000000605 0.000000101 1.746385E-14 4.482743E-17 4.576428E-10 |
NOTE: Optimal. |
NOTE: Objective = 1347.91653. |
NOTE: The data set WORK.EX1IPOUT has 8 observations and 10 variables. |
NOTE: The data set WORK.EX1IDOUT has 6 observations and 10 variables. |