The Sequential Quadratic Programming Solver |
Consider the following example of minimizing a highly nonlinear problem:
In this instance, the constants are . Assume the starting point . You can use the following SAS code to solve the problem:
proc optmodel; var x {1..10} >= -100 <= 100 /* variable bounds */ init -2.3; /* starting point */ number c {1..10} = [-6.089 -17.164 -34.054 -5.914 -24.721 -14.986 -24.100 -10.708 -26.662 -22.179]; number a{1..3,1..10}=[1 2 2 0 0 1 0 0 0 1 0 0 0 1 2 1 1 0 0 0 0 0 1 0 0 0 1 1 2 1]; number b{1..3}=[8 1 1]; minimize obj = sum{j in 1..10}exp(x[j])*(c[j]+x[j] -log(sum {k in 1..10}exp(x[k]))); con cons{i in 1..3}: sum{j in 1..10}a[i,j]*exp(x[j])=b[i]; solve with sqp / printfreq = 0; quit;
The output is displayed in Output 15.1.1.
Problem Summary | |
---|---|
Objective Sense | Minimization |
Objective Function | obj |
Objective Type | Nonlinear |
Number of Variables | 10 |
Bounded Above | 0 |
Bounded Below | 0 |
Bounded Below and Above | 10 |
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 (=) | 3 |
Nonlinear GE (>=) | 0 |
Nonlinear Range | 0 |
Copyright © SAS Institute, Inc. All Rights Reserved.