The Interior Point NLP Solver |
Example 9.1 Solving Highly Nonlinear Optimization Problems
This example demonstrates the use of the IPNLP solver to solve the following highly nonlinear optimization problem, which appears in Hock and Schittkowski (1981):
The initial point used is
. You can call the IPNLP solver within PROC OPTMODEL to solve the problem by writing the following SAS statements:
proc optmodel;
var x{1..8} >=.1 <=10;
minimize obj = 0.4*x[1]^.67*x[7]^-.67+.4*x[2]^.67*x[8]^-.67
+10-x[1]-x[2];
con c1: 1-.0588*x[5]*x[7]-.1*x[1]>=0;
con c2: 1-.0588*x[6]*x[8]-.1*x[1]-.1*x[2]>=0;
con c3: 1-4*x[3]/x[5]-2/(x[3]^.71*x[5])-.0588*x[7]/x[3]^1.3>=0;
con c4: 1-4*x[4]/x[6]-2/(x[4]^.71*x[6])-.0588*x[8]/x[4]^1.3>=0;
con c5: .4*x[1]^.67*x[7]^-.67+.4*x[2]^.67*x[8]^-.67+10
-x[1]-x[2]>=.1;
con c6: .4*x[1]^.67*x[7]^-.67+.4*x[2]^.67*x[8]^-.67+10
-x[1]-x[2]<=4.2;
/* starting point */
x[1] = 6;
x[2] = 3;
x[3] = .4;
x[4] = .2;
x[5] = 6;
x[6] = 6;
x[7] = 1;
x[8] = .5;
solve with ipnlp / tech=ipqn;
print x;
quit;
The summaries and the optimal solution are shown in Output 9.1.1. Note that the quasi-Nreton interior point technique is used (TECH=IPQN).
Output 9.1.1
Summaries and the Optimal Solution
Minimization |
obj |
Nonlinear |
|
8 |
0 |
0 |
8 |
0 |
0 |
|
6 |
0 |
0 |
0 |
0 |
1 |
0 |
5 |
0 |
IPNLP/IPQN |
obj |
Optimal |
3.9511673625 |
29 |
|
5.049056E-12 |
7.5708926E-7 |
6.46509 |
2.23272 |
0.66740 |
0.59576 |
5.93268 |
5.52724 |
1.01333 |
0.40067 |