Solving NLP Problems With Range Constraints (nlps3)
/*****************************************************************/
/* */
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: nlps3 */
/* TITLE: Solving NLP Problems With Range Constraints (nlps3) */
/* PRODUCT: OR */
/* SYSTEM: ALL */
/* KEYS: OR */
/* PROCS: OPTMODEL */
/* DATA: */
/* */
/* SUPPORT: UPDATE: */
/* REF: */
/* MISC: Example 3 from the Nonlinear Programming Solver */
/* chapter of Mathematical Programming. */
/* */
/*****************************************************************/
proc optmodel;
number l {1..5} = [78 33 27 27 27];
number u {1..5} = [102 45 45 45 45];
number a {1..12} =
[85.334407 0.0056858 0.0006262 0.0022053
80.51249 0.0071317 0.0029955 0.0021813
9.300961 0.0047026 0.0012547 0.0019085];
var x {j in 1..5} >= l[j] <= u[j];
minimize f = 5.35*x[3]^2 + 0.83*x[1]*x[5] + 37.29*x[1]
- 40792.141;
con constr1:
0 <= a[1] + a[2]*x[2]*x[5] + a[3]*x[1]*x[4] -
a[4]*x[3]*x[5] <= 92;
con constr2:
0 <= a[5] + a[6]*x[2]*x[5] + a[7]*x[1]*x[2] +
a[8]*x[3]^2 - 90 <= 20;
con constr3:
0 <= a[9] + a[10]*x[3]*x[5] + a[11]*x[1]*x[3] +
a[12]*x[3]*x[4] - 20 <= 5;
x[1] = 78;
x[2] = 33;
x[3] = 27;
x[4] = 27;
x[5] = 27;
solve with nlp / algorithm=activeset;
print x;
quit;