Solving Highly Nonlinear Optimization Problems (nlpse01)
/*******************************************************************/
/* */
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: nlpse01 */
/* TITLE: Solving Highly Nonlinear Optimization Problems (nlpse01)*/
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: OR */
/* PROCS: OPTMODEL */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: */
/* MISC: Example 1 from the Nonlinear Programming Solver */
/* chapter of Mathematical Programming. */
/* */
/*******************************************************************/
proc optmodel;
var x{1..8} >= 0.1 <= 10;
min f = 0.4*(x[1]/x[7])^0.67 + 0.4*(x[2]/x[8])^0.67 + 10 - x[1] - x[2];
con c1: 1 - 0.0588*x[5]*x[7] - 0.1*x[1] >= 0;
con c2: 1 - 0.0588*x[6]*x[8] - 0.1*x[1] - 0.1*x[2] >= 0;
con c3: 1 - 4*x[3]/x[5] - 2/(x[3]^0.71*x[5]) - 0.0588*x[7]/x[3]^1.3 >= 0;
con c4: 1 - 4*x[4]/x[6] - 2/(x[4]^0.71*x[6]) - 0.0588*x[8]/x[4]^1.3 >= 0;
con c5: 0.1 <= f <= 4.2;
/* starting point */
x[1] = 6;
x[2] = 3;
x[3] = 0.4;
x[4] = 0.2;
x[5] = 6;
x[6] = 6;
x[7] = 1;
x[8] = 0.5;
solve with nlp / algorithm=activeset;
print x;
quit;