Previous Page | Next Page

The Unconstrained Nonlinear Programming Solver

Example 13.1 Solving a Highly Nonlinear Problem

Consider the following example of minimizing a nonlinear function of three variables, , , and :

     

You can use the following SAS statements to formulate and solve the problem in PROC OPTMODEL:


proc optmodel;
  var x, y, z; 
  minimize obj = x^2 + exp(y/10 + 10) + sin(z*y);
  solve with nlpu / tech = fletreev  maxiter   = 100  
                    opttol = 1e-7;
  print x y z;
quit;

The optimal solution is displayed in Output 13.1.1.

Output 13.1.1 Optimal Solution
The OPTMODEL Procedure

Problem Summary
Objective Sense Minimization
Objective Function obj
Objective Type Nonlinear
   
Number of Variables 3
Bounded Above 0
Bounded Below 0
Bounded Below and Above 0
Free 3
Fixed 0
   
Number of Constraints 0

Solution Summary
Solver NLPU/Fletcher-Reeves
Objective Function obj
Solution Status Optimal
Objective Value -1
Iterations 7
   
Optimality Error 2.714258E-10

x y z
0 -2943.7 0.090182

The following iteration log displays information about the type of algorithm used, objective value, relative gradient norm, and number of function evaluations at each iteration.

Output 13.1.2 Iteration Log
line
 
NOTE: The problem has 3 variables (3 free, 0 fixed).                            
NOTE: The problem has 0 linear constraints (0 LE, 0 EQ, 0 GE, 0 range).         
NOTE: The problem has 0 nonlinear constraints (0 LE, 0 EQ, 0 GE, 0 range).      
NOTE: The OPTMODEL presolver removed 0 variables, 0 linear constraints, and 0   
      nonlinear constraints.                                                    
NOTE: Using analytic derivatives for objective.                                 
NOTE: The Fletcher-Reeves Conjugate Gradient algorithm for unconstrained        
      optimization is called.                                                   
                     Objective     Optimality   Function                        
           Iter          Value          Error      Calls                        
              0        22026.5  2202.64657948          1                        
              1 3.2096359E-124     0.99999994          5                        
              2    -0.79979862     0.60026837         16                        
              3    -0.99009673     0.14038682         30                        
              4    -0.99973800     0.02288966         41                        
              5    -0.99999990     0.00045001         48                        
              6    -1.00000000  0.00004279639         52                        
              7    -1.00000000 2.71425843E-10         55                        
NOTE: Optimal.                                                                  
NOTE: Objective = -1.                                                           
NOTE: At least one W.D format was too small for the number to be printed. The   
      decimal may be shifted by the "BEST" format.                              
 
 

Previous Page | Next Page | Top of Page