Presentation is loading. Please wait.

Presentation is loading. Please wait.

General Nonlinear Programming (NLP) Software

Similar presentations


Presentation on theme: "General Nonlinear Programming (NLP) Software"— Presentation transcript:

1 General Nonlinear Programming (NLP) Software
CAS 737 / CES 735 Kristin Davies Hamid Ghaffari Alberto Olvera-Salazar Voicu Chis January 12, 2006

2 Outline Intro to NLP Examination of:
IPOPT PENNON CONOPT LOQO KNITRO Comparison of Computational Results Conclusions

3 Intro to NLP The general problem:
Either the objective function or some of the constraints may be nonlinear

4 Intro to NLP (cont’d…) Recall: However:
The feasible region of any LP is a convex set if the LP has an optimal solution, there is an extreme point of the feasible set that is optimal However: even if the feasible region of an NLP is a convex set, the optimal solution might not be an extreme point of the feasible region

5 Intro to NLP (cont’d…) Some Major approaches for NLP
Interior Point Methods Use a log-barrier function Penalty and Augmented Lagrange Methods Use the idea of penalty to transform a constrained problem into a sequence of unconstrained problems. Generalized reduced gradient (GRG) Use a basic Descent algorithm. Successive quadratic programming (SQP) Solves a quadratic approximation at every iteration.

6 Summary of NLP Solvers

7 IPOPT SOLVER (Interior Point OPTimizer)
Creators Andreas Wachter and L.T. Biegler at CMU (~2002) Aims Solver for Large-Scale Nonlinear Optimization problems Applications General Nonlinear optimization Process Engineering, DAE/PDE Systems, Process Design and Operations, Nonlinear Model Predictive control, Design Under Uncertainty

8 IPOPT SOLVER (Interior Point OPTimizer)
Input Format Can be linked to Fortran and C code MATLAB and AMPL. Language / OS Fortran 77, C++ (Recent Version IPOPT 3.x) Linux/UNIX platforms and Windows Commercial/Free Released as open source code under the Common Public License (CPL).   It is available from the COIN-OR repository

9 IPOPT SOLVER (Interior Point OPTimizer)
Key Claims Global Convergence by using a Line Search. Find a KKT point Point that Minimizes Infeasibility (locally) Exploits Exact Second Derivatives AMPL (automatic differentiation) If not Available use QN approx (BFGS) Sparsity of the KKT matrix. IPOPT has a version to solve problems with MPEC Constraints. (IPOPT-C)

10 IPOPT SOLVER (Interior Point OPTimizer)
Algorithm Interior Point method with a novel line search filter. Optimization Problem The bounds are replaced by a logarithmic Barrier term. The method solves a sequence of barrier problems for decreasing values of ml

11 IPOPT SOLVER (Interior Point OPTimizer)
Algorithm (For a fixed value of ) Solve the Barrier Problem Search Direction (Primal-Dual IP) Use a Newton method to solve the primal dual equations. Hessian Approximation (BFGS update) Line Search (Filter Method) Feasibility Restoration Phase

12 IPOPT SOLVER (Interior Point OPTimizer)
Optimization Problem Outer Loop The bounds are replaced by a logarithmic Barrier term. The method solves a sequence of barrier problems for decreasing values of

13 IPOPT SOLVER (Interior Point OPTimizer)
Algorithm (For a fixed value of ) Solve the Barrier Problem Search Direction (Primal-Dual IP) Use a Newton method to solve the primal dual equations Hessian Approximation (BFGS update)

14 IPOPT SOLVER (Interior Point OPTimizer)
Barrier NLP Inner Loop Optimality conditions At a Newton's iteration (xk,lk,vk) At a Newton's iteration (xk,lk,vk) Algorithm Core: Solution of this Linear system

15 IPOPT SOLVER (Interior Point OPTimizer)
Algorithm (For a fixed value of ) Line Search (Filter Method) A trial point is accepted if improves feasibility or if improves the barrier function Assumes Newton directions are “Good” especially when using Exact 2nd Derivatives If

16 IPOPT SOLVER (Interior Point OPTimizer)
Line Search - Feasibility Restoration Phase When a new trial point does not provides sufficient improvement. Restore Feasibility Minimize constraint violation Force Unique Solution Find closest feasible point. Add Penalty function

17 IPOPT SOLVER (Interior Point OPTimizer)
The complexity of the problem increases when complementarity conditions are introduced from: The interior point will drive the barrier parameter mu to zero as part of the solution hence, the complementarity constraints are recovered in the limit. The interior Point method for NLPs has been extended to handle complementarity problems. (Raghunathan et al. 2003). is relaxed as

18 IPOPT SOLVER (Interior Point OPTimizer)
Additional IPOPT 3x. Is now programmed in C++. Is the primary NLP Solver in an undergoing project for MINLP with IBM. References Ipopt homepage: A. Wächter and L. T. Biegler, On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Research Report, IBM T. J. Watson Research Center, Yorktown, USA, (March accepted for publication in Mathematical Programming)

19 PENNON (PENalty method for NONlinear & semidefinite programming)
Creators Michal Kocvara & Michael Stingl (~2001) Aims NLP, Semidefinite Programming (SDP), Linear & Bilinear Matrix Inequalities (LMI & BMI), Second Order Conic Programming (SOCP) Applications General purpose nonlinear optimization, systems of equations, control theory, economics & finance, structural optimization, engineering

20 SDP (SemiDefinite Programming)
Minimization of a linear function subject to the constraint that an affine combination of symmetric matrices is positive semidefinite Linear Matrix Inequality (LMI) defines a convex constraint on x

21 SDP (SemiDefinite Programming)
-always an optimal point on the boundary -boundary consists of piecewise algebraic surfaces

22 SOCP (Second-Order Conic Programming)
Minimization of a linear function subject to a second-order cone constraint Called a second-order cone constraint since the unit second-order cone of dimension k is defined as: Which is called the quadratic, ice-cream, or Lorentz cone

23 PENNON (PENalty method for NONlinear & semidefinite programming)
Input Format MATLAB function, routine called from C or Fortran, stand-alone program with AMPL Language Fortran 77 Commercial/Free Variety of licenses ranging from Academic – single user ($460 CDN) to Commercial – company ($40,500 CDN)

24 PENNON (PENalty method for NONlinear & semidefinite programming)
Key Claims 1st available code for combo NLP, LMI, & BMI constraints Aimed at (very) large-scale problems Efficient treatment of different sparsity patterns in problem data Robust with respect to feasibility of initial guess Particularly efficient for large convex problems

25 PENNON (PENalty method for NONlinear & semidefinite programming)
Algorithm Generalized version of the Augmented Langrangian method (originally by Ben-Tal & Zibulevsky) Augmented Problem Augmented Lagrangian

26 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm Consider only inequality constraints from (NLP) Based on choice of a penalty function, φg, that penalizes the inequality constraints Penalty function must satisfy multiple properties such that the original (NLP) has the same solution as the following “augmented” problem: (NLPφ) [3] Kocvara & Stingl

27 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm (Cont’d…) The Lagrangian of (NLPφ) can be viewed as a (generalized) augmented Lagrangian of (NLP): Inequality constraint Penalty parameter Lagrange multiplier Penalty function [3] Kocvara & Stingl

28 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm STEPS [3] Kocvara & Stingl

29 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm STEPS Initialization Can start with an arbitrary primal variable , therefore, choose Calculate initial multiplier values Initial p= , typically between [3] Kocvara & Stingl

30 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm STEPS (Approximate) Unconstrained Minimization Performed either by Newton with Line Search, or by Trust Region Stopping criteria: [3] Kocvara & Stingl

31 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm STEPS Update of Multipliers Restricted in order to satisfy: with a positive If left-side violated, let If right side violate, let [3] Kocvara & Stingl

32 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm STEPS Update of Penalty Parameter No update during first 3 iterations Afterwards, updated by a constant factor dependent on initial penalty parameter Penalty update is stopped if peps (10-6) is reached [3] Kocvara & Stingl

33 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm Choice of Penalty Function Most efficient penalty function for convex NLP is the quadratic-logarithmic function: [4] Ben-Tal & Zibulevsky

34 PENNON (PENalty method for NONlinear & semidefinite programming)
The Algorithm Overall Stopping Criteria [3] Kocvara & Stingl

35 PENNON (PENalty method for NONlinear & semidefinite programming)
Assumptions / Warnings More tuning for nonconvex problems is still required Slower at solving linear SDP problems since algorithm is generalized

36 PENNON (PENalty method for NONlinear & semidefinite programming)
References Kocvara, Michal & Michael Stingl. PENNON: A Code for Convex and Semidefinite Programming. Optimization Methods and Software, 8(3): , 2003. Kocvara, Michal & Michael Stingl. PENNON-AMPL User’s Guide August 2003. Ben-Tal, Aharon & Michael Zibulevsky. Penalty/Barrier Multiplier Methods for Convex Programming Problems. Siam J. Optim., 7(2): , 1997. Pennon Homepage. Available online January 2007.


Download ppt "General Nonlinear Programming (NLP) Software"

Similar presentations


Ads by Google