The Sequential Quadratic Programming Solver

Example 13.2: Using the HESCHECK Option

The following example illustrates how the HESCHECK option could be useful:

\min & {x_1}^2 + {x_2}^2 & \    {\rm subjectto} & {x_1} + {x_2}^2 \ge 1 & \    & 0 \le x_i \le 8, & i = 1,2

Use the following SAS code to solve the problem:

    proc optmodel;
       var x {1..2} <= 8 >= 0   /* variable bounds */
          init 0;   /* starting point */
       
       minimize obj = x[1]^2 + x[2]^2;
       
       con cons: 
          x[1] + x[2]^2 >= 1;
       
       solve with sqp / printfreq = 5;
       print x;
    quit;
 

When \mathbf{x}^0 = (0, 0) is chosen as the starting point, the SQP solver converges to (1, 0), as displayed in Output 13.2.1. It can be easily verified that (1, 0) is a stationary point and not an optimal solution.

Output 13.2.1: Stationary Point
The OPTMODEL Procedure

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



The OPTMODEL Procedure

Solution Summary
Solver SQP
Objective Function obj
Solution Status Optimal
Objective Value 0.999999372
Iterations 13
   
Infeasibility 3.1399816E-7
Optimality Error 3.9280672E-6
Complementarity 3.1399816E-7

[1] x
1 1
2 0



To resolve this issue, you can use the HESCHECK option in the SOLVE statement as follows:

  
    proc optmodel; 
    ... 
       solve with sqp / printfreq = 1 hescheck; 
    ... 
    quit;
 

For the same starting point \mathbf{x}^0 = (0, 0), the SQP solver now converges to the optimal solution, (0.5,\sqrt{2}/2), as displayed in Output 13.2.2.

Output 13.2.2: Optimal Solution Using the HESCHECK Option
The OPTMODEL Procedure

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



The OPTMODEL Procedure

Solution Summary
Solver SQP
Objective Function obj
Solution Status Optimal
Objective Value 0.7500000369
Iterations 31
   
Infeasibility 0
Optimality Error 1.7653503E-6
Complementarity 3.6904791E-8

[1] x
1 0.50000
2 0.70711




Previous Page | Next Page | Top of Page