Active-set methods for convex quadratic programming

Computational methods are proposed for solving a convex quadratic program (QP). Active-set methods are defined for a particular primal and dual formulation of a QP with general equality constraints and simple lower bounds on the variables. First, two methods are proposed, one primal and one dual. These methods generate a sequence of iterates that are feasible with respect to the equality constraints associated with the optimality conditions of the primal-dual form. The primal method maintains feasibility of the primal inequalities while driving the infeasibilities of the dual inequalities to zero. In contrast, the dual method maintains feasibility of the dual inequalities while moving to satisfy the infeasibilities of the primal inequalities. In each of these methods, the search directions satisfy a KKT system of equations formed from Hessian and constraint components associated with an appropriate column basis. The composition of the basis is specified by an active-set strategy that guarantees the nonsingularity of each set of KKT equations. Each of the proposed methods is a conventional active-set method in the sense that an initial primal- or dual-feasible point is required. Second, it is shown how the quadratic program may be solved as coupled pair of primal and dual quadratic programs created from the original by simultaneously shifting the simple-bound constraints and adding a penalty term to the objective function. Any conventional column basis may be made optimal for such a primal-dual pair of problems. The shifts are then updated using the solution of either the primal or the dual shifted problem. An obvious application of this approach is to solve a shifted dual QP to define an initial feasible point for the primal (or vice versa). The computational performance of each of the proposed methods is evaluated on a set of convex problems from the CUTEst test collection.

[1]  Michael A. Saunders,et al.  User's Guide for SQOPT Version 7.5: Software for Large-Scale Linear and Quadratic Programming , 2016 .

[2]  Philip E. Gill,et al.  Methods for convex and general quadratic programming , 2014, Mathematical Programming Computation.

[3]  Stephen J. Wright,et al.  Quadratic programming , 2015 .

[4]  Daniel P. Robinson,et al.  A globally convergent primal-dual active-set framework for large-scale convex quadratic optimization , 2015, Comput. Optim. Appl..

[5]  Christian Kirches,et al.  qpOASES: a parametric active-set algorithm for quadratic programming , 2014, Mathematical Programming Computation.

[6]  Elizabeth Wong Active-Set Methods for Quadratic Programming , 2011 .

[7]  H. Bock,et al.  RELIABLE SOLUTION OF CONVEX QUADRATIC PROGRAMS WITH PARAMETRIC ACTIVE SET METHODS , 2010 .

[8]  H. Huynh A Large-Scale Quadratic Programming Solver Based on Block-Lu Updates of the KKT System , 2008 .

[9]  Hans Joachim Ferreau,et al.  An online active set strategy to overcome the limitations of explicit MPC , 2008 .

[10]  N. Gould,et al.  Finding a point in the relative interior of a polyhedron , 2007 .

[11]  L. Biegler,et al.  QPSchur: A dual, active-set, Schur-complement method for large-scale and structured convex quadratic programming , 2006 .

[12]  Iain S. Duff,et al.  MA57---a code for the solution of sparse symmetric definite and indefinite systems , 2004, TOMS.

[13]  Nicholas I. M. Gould,et al.  GALAHAD, a library of thread-safe Fortran 90 packages for large-scale nonlinear optimization , 2003, TOMS.

[14]  Nicholas I. M. Gould,et al.  CUTEr and SifDec: A constrained and unconstrained testing environment, revisited , 2003, TOMS.

[15]  A. Forsgren Inertia-controlling factorizations for optimization algorithms , 2002 .

[16]  Michael A. Saunders,et al.  SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization , 2002, SIAM J. Optim..

[17]  P. Toint,et al.  Numerical Methods for Large-Scale Non-Convex Quadratic Programming , 2002 .

[18]  P. Toint,et al.  An iterative working-set method for large-scale nonconvex quadratic programming , 2002 .

[19]  Roger Fletcher,et al.  Stable reduced Hessian updates for indefinite quadratic programming , 2000, Math. Program..

[20]  Natashia Boland,et al.  A dual-active-set algorithm for positive semi-definite quadratic programming , 1997, Math. Program..

[21]  M. Best An Algorithm for the Solution of the Parametric Quadratic Programming Problem , 1996 .

[22]  Nicholas I. M. Gould,et al.  CUTE: constrained and unconstrained testing environment , 1995, TOMS.

[23]  W. Murray,et al.  Newton methods for large-scale linear equality-constrained minimization , 1993 .

[24]  N. Gould An Algorithm for Large-Scale Quadratic Programming , 1991 .

[25]  Michael A. Saunders,et al.  Inertia-Controlling Methods for General Quadratic Programming , 1991, SIAM Rev..

[26]  Michael A. Saunders,et al.  A practical anti-cycling procedure for linearly constrained optimization , 1989, Math. Program..

[27]  P. Gill,et al.  A Schur-complement method for sparse quadratic programming , 1987 .

[28]  Stephen C. Hoyle A Single-Phase Method for Quadratic Programming. , 1985 .

[29]  M. Powell On the quadratic programming algorithm of Goldfarb and Idnani , 1985 .

[30]  Nicholas I. M. Gould,et al.  A weighted gram-schmidt method for convex quadratic programming , 1984, Math. Program..

[31]  John K. Reid,et al.  The Multifrontal Solution of Indefinite Sparse Symmetric Linear , 1983, TOMS.

[32]  Donald Goldfarb,et al.  A numerically stable dual method for solving strictly convex quadratic programs , 1983, Math. Program..

[33]  K. Ritter On Parametric Linear and Quadratic Programming Problems. , 1981 .

[34]  J. Bunch,et al.  A computational method for the indefinite quadratic programming problem , 1980 .

[35]  Philip E. Gill,et al.  Numerically stable methods for quadratic programming , 1978, Math. Program..

[36]  R. Fletcher Factorizing symmetric indefinite matrices , 1976 .

[37]  J. Bunch,et al.  Some stable methods for calculating inertia and solving symmetric linear systems , 1977 .

[38]  J. Bunch,et al.  Direct Methods for Solving Symmetric Indefinite Systems of Linear Equations , 1971 .

[39]  R. Fletcher A General Quadratic Programming Algorithm , 1971 .

[40]  K. Ritter,et al.  A method for solving nonlinear maximum-problems depending on parameters , 1967 .