The Sequential Quadratic Programming Solver |

The SQP solver is designed mainly for constrained optimization problems, but it can also be used for solving unconstrained optimization problems. Consider the following example:

Assume the starting point . You can use the following SAS code to solve the problem:

proc optmodel; var x init 0; /* starting point */ minimize obj = sin(x) + cos(x); solve with sqp/ printfreq = 0; print x; quit;

The optimal solution is displayed in Output 15.5.1.

Problem Summary | |
---|---|

Objective Sense | Minimization |

Objective Function | obj |

Objective Type | Nonlinear |

Number of Variables | 1 |

Bounded Above | 0 |

Bounded Below | 0 |

Bounded Below and Above | 0 |

Free | 1 |

Fixed | 0 |

Number of Constraints | 0 |

You can also solve the same function by using the NLPU solver for unconstrained NLP problems. The SAS code is as follows:

proc optmodel; var x init 0; /* starting point */ minimize obj = sin(x) + cos(x); solve; /* the default solver is NLPU */ print x; quit;

The optimal solution is displayed in Output 15.5.2.

Problem Summary | |
---|---|

Objective Sense | Minimization |

Objective Function | obj |

Objective Type | Nonlinear |

Number of Variables | 1 |

Bounded Above | 0 |

Bounded Below | 0 |

Bounded Below and Above | 0 |

Free | 1 |

Fixed | 0 |

Number of Constraints | 0 |

Solution Summary | |
---|---|

Solver | NLPU/LBFGS |

Objective Function | obj |

Solution Status | Optimal |

Objective Value | -1.414213562 |

Iterations | 3 |

Optimality Error | 2.422204E-12 |

The L-BFGS method is the default technique used in the NLPU solver when a nonlinear programming problem with no variable bounds is specified. See Chapter 13, The Unconstrained Nonlinear Programming Solver, for details.

Copyright © SAS Institute, Inc. All Rights Reserved.