The Interior Point Nonlinear Programming Solver -- Experimental

Example 7.3: Solving NLP Problems with Range Constraints

Often there are constraints with both lower and upper bounds, i.e., a \le g(x) \le b. These constraints are called range constraints . The IPNLP solver can handle range constraints in an efficient way. Consider the following NLP problem:

\displaystyle\mathop{\rm minimize}& f(x) = 5.35 (x_{3})^2 + 0.83 x_1 x_5 + 37.29...   ... & 78 \le x_1 \le 102 \    & 33 \le x_2 \le 45 \    & 27 \le x_i \le 45,  i=3,4,5

where the values of the parameters a_{i}, i=1,2, ..., 12, are shown in Table 7.2.

Table 7.2: Data for Example 3
i a_i i a_i i a_i
185.334407580.5124990.0047026
20.005685860.0071317100.0012547
30.000626270.0029955110.0019085
40.002205380.0021813120.0019085

The initial point used is x^0 = (78,33,27,27,27). You can call the IPNLP solver within PROC OPTMODEL to solve this problem by writing the following SAS code:

    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 obj = 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 ipnlp;
       print x;
    quit;
 

The summaries and the optimal solution are shown in Output 7.3.1.

Output 7.3.1: Summaries and the Optimal Solution
The OPTMODEL Procedure

Problem Summary
Objective Sense Minimization
Objective Function obj
Objective Type Quadratic
   
Number of Variables 5
Bounded Above 0
Bounded Below 0
Bounded Below and Above 5
Free 0
Fixed 0
   
Number of Constraints 3
Linear LE (<=) 0
Linear EQ (=) 0
Linear GE (>=) 0
Linear Range 0
Nonlinear LE (<=) 0
Nonlinear EQ (=) 0
Nonlinear GE (>=) 0
Nonlinear Range 3



The OPTMODEL Procedure

Solution Summary
Solver IPNLP
Objective Function obj
Solution Status Optimal
Objective Value -30689.1889
Iterations 73
   
Infeasibility 2.664535E-15
Optimality Error 5.9764587E-7

[1] x
1 78.000
2 33.000
3 29.995
4 45.000
5 36.776




Previous Page | Next Page | Top of Page