21
RELIABLE SOLUTION OF CONVEX QUADRATIC PROGRAMS WITH PARAMETRIC ACTIVE SET METHODS A. POTSCHKA * , C. KIRCHES * , H. G. BOCK * , AND J. P. SCHL ¨ ODER * Abstract. Parametric Active Set Methods (PASM) are a relatively new class of methods to solve convex Quadratic Programming (QP) problems. They are based on tracing the solution along a linear homotopy between a QP with known solution and the QP to be solved. We explicitly identify numerical challenges in PASM and develop strategies to meet these challenges. To demonstrate the reliability improvements of the proposed strategies we have implemented a prototype code called rpasm. We compare the results of the code with those of other popular academic and commercial QP solvers on problems of a subset of the Maros-M´ esz´aros test examples. Our code is the only one to solve all of the problems with the default settings. Furthermore, we propose how PASM can be used to compute local solutions of nonconvex QPs. Key words. active set, convex, homotopy method, parametric quadratic programming AMS subject classifications. 90C20, 90C25, 97N60, 97N80 1. Introduction. This paper is dedicated to the numerical solution of the con- vex quadratic programming (QP) problem min xR n 1 2 x T Bx + b T x s. t. c l Cx c u , (1.1) with symmetric positive semidefinite Hessian matrix B R n×n , constraint matrix C R m×n , gradient vector b R n , and lower and upper constraint vectors c l ,c u R m . Throughout this paper, inequality signs between vectors are to be understood elementwise. The class of convex QP problems is important in its own right. Gould and Toint have been compiling a bibliography [19] of currently 979 publications which comprises many application papers from disciplines as diverse as portfolio analysis, structural analysis, VLSI design, discrete-time stabilization, optimal and fuzzy control, finite impluse response design, optimal power flow, economic dispatch, etc. Several bench- mark and application problems are collected in a repository [25] which is accessible through the CUTEr testing environment [17]. Furthermore, QPs arise as subprob- lems in Sequential Quadratic Programming (SQP), a state-of-the-art method for the solution of nonlinear optimization problems. 1.1. Optimality conditions. For the characterization of solutions of QP (1.1) we partition the index set m = {1,...,m} into four disjoint sets A e (x)= {i m | c l i =(Cx) i = c u i }, A l (x)= {i m | c l i =(Cx) i <c u i }, A u (x)= {i m | c l i < (Cx) i = c u i }, A f (x)= {i m | c l i < (Cx) i <c u i } of equality, lower active, upper active, and free constraint indices, respectively. It is well known (see, e.g., [29]) that for any solution x * of QP (1.1) there exists a vector * Interdisciplinary Center for Scientific Computing, Heidelberg University, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany ([email protected]). 1

RELIABLE SOLUTION OF CONVEX QUADRATIC PROGRAMS · RELIABLE SOLUTION OF CONVEX QUADRATIC PROGRAMS ... aros test examples. Our code is the only one to solve all of ... piecewise a ne-linear

  • Upload
    hadung

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

RELIABLE SOLUTION OF CONVEX QUADRATIC PROGRAMSWITH PARAMETRIC ACTIVE SET METHODS

A. POTSCHKA∗, C. KIRCHES∗ , H. G. BOCK∗ , AND J. P. SCHLODER∗

Abstract. Parametric Active Set Methods (PASM) are a relatively new class of methods tosolve convex Quadratic Programming (QP) problems. They are based on tracing the solution along alinear homotopy between a QP with known solution and the QP to be solved. We explicitly identifynumerical challenges in PASM and develop strategies to meet these challenges. To demonstrate thereliability improvements of the proposed strategies we have implemented a prototype code calledrpasm. We compare the results of the code with those of other popular academic and commercialQP solvers on problems of a subset of the Maros-Meszaros test examples. Our code is the only oneto solve all of the problems with the default settings. Furthermore, we propose how PASM can beused to compute local solutions of nonconvex QPs.

Key words. active set, convex, homotopy method, parametric quadratic programming

AMS subject classifications. 90C20, 90C25, 97N60, 97N80

1. Introduction. This paper is dedicated to the numerical solution of the con-vex quadratic programming (QP) problem

minx∈Rn

1

2xTBx+ bTx s. t. cl ≤ Cx ≤ cu, (1.1)

with symmetric positive semidefinite Hessian matrix B ∈ Rn×n, constraint matrixC ∈ Rm×n, gradient vector b ∈ Rn, and lower and upper constraint vectors cl, cu ∈Rm. Throughout this paper, inequality signs between vectors are to be understoodelementwise.

The class of convex QP problems is important in its own right. Gould and Tointhave been compiling a bibliography [19] of currently 979 publications which comprisesmany application papers from disciplines as diverse as portfolio analysis, structuralanalysis, VLSI design, discrete-time stabilization, optimal and fuzzy control, finiteimpluse response design, optimal power flow, economic dispatch, etc. Several bench-mark and application problems are collected in a repository [25] which is accessiblethrough the CUTEr testing environment [17]. Furthermore, QPs arise as subprob-lems in Sequential Quadratic Programming (SQP), a state-of-the-art method for thesolution of nonlinear optimization problems.

1.1. Optimality conditions. For the characterization of solutions of QP (1.1)we partition the index set m = {1, . . . ,m} into four disjoint sets

Ae(x) = {i ∈ m | cli = (Cx)i = cui }, Al(x) = {i ∈ m | cli = (Cx)i < cui },Au(x) = {i ∈ m | cli < (Cx)i = cui }, Af(x) = {i ∈ m | cli < (Cx)i < cui }

of equality, lower active, upper active, and free constraint indices, respectively. It iswell known (see, e.g., [29]) that for any solution x∗ of QP (1.1) there exists a vector

∗Interdisciplinary Center for Scientific Computing, Heidelberg University, Im Neuenheimer Feld368, 69120 Heidelberg, Germany ([email protected]).

1

2 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

y∗ ∈ Rm of so called Lagrange multipliers or dual variables such that

Bx∗ + b− CTy∗ = 0, cl ≤ Cx∗ ≤ cu, (1.2a)

(Cx∗ − cl)iy∗i = 0, i ∈ Al(x∗), y∗i ≥ 0, i ∈ Al(x∗), (1.2b)

(Cx∗ − cu)iy∗i = 0, i ∈ Au(x∗), y∗i ≤ 0, i ∈ Au(x∗). (1.2c)

Conversely, every primal-dual pair (x∗, y∗) which satisfies conditions (1.2) is a globalsolution of QP (1.1) due to semidefiniteness of the Hessian matrix B. The solution isunique if and only if the following two conditions are satisfied:

1. The active constraint rows Ci, i ∈ Ae ∪ Al ∪ Au, are linearly independent.2. Matrix B is positive definite on the null space of the active constraints.

1.2. Existing methods. All existing methods for solving QPs are iterative andcan be grossly divided into Active Set and Interior Point methods. Interior Pointmethods are sometimes called Barrier methods due to the possibility of differentinterpretations of the resulting subproblems (see, e.g., [29]). As a defining feature,Active Set methods keep a working set of active constraints and solve a sequence ofequality constrained QPs. The working set must be updated between the iteratesaccording to exchange rules which are based on conditions (1.2). In contrast, InteriorPoint methods do not use a working set but follow a nonlinear path, the so calledcentral path, from a strictly feasible point towards the solution.

Active Set methods can be divided into primal, dual, and parametric methods, ofwhich the primal Active Set method is the oldest and can be seen as a direct extensionof the Simplex Algorithm [6]. Dual Active Set methods apply the primal Active Setmethod to the dual of QP (1.1) (which exists due to convexity). A relatively newvariant of an Active Set method are Parametric Active Set Methods (PASM), e.g.,the Parametric Quadratic Programming (PQP) method [3], which are the methodsof interest in this paper. It is based on an affine-linear homotopy between a QP withknown solution and the QP to be solved. It turns out that the optimal solutionsdepend piecewise affine-linear on the homotopy parameter and that along each affine-linear segment the active set is constant. The iterates of the method are simply thestart points of each segment.

The numerical behaviour of Active Set and Interior Point methods is usually quitedifferent: While Active Set methods need on average substantially more iterationsthan Interior Point methods, the numerical effort for one iteration is substantiallyless for Active Set methods. Often, one or the other method will perform favorablyon a certain problem instance, underlining that both approaches are important.

We want to concisely compare the main advantages of the different Active Setversus Interior Point methods. One advantage of Interior Point methods is the reg-ularizing effect of the central path which leads to well-defined behavior on problemswith nonunique solutions due to, e.g., degeneracy or zero curvature in a feasible direc-tion at the solution. An advantage of all Active Set methods is the possibility of hotstarts which can give a substantial speed-up when solving a sequence of related QPsbecause the active set between the solutions usually changes only slightly. A uniqueadvantage of PASM is that the so called Phase 1 is not needed. The term Phase1 describes the solution of an auxiliary problem to find a feasible starting point forprimal and dual Active Set methods or a strictly feasible starting point for InteriorPoint methods. The generation of an appropriate starting point with Phase 1 can beas expensive as the subsequent solution of the actual problem.

RELIABLE SOLUTION OF CONVEX QP WITH PASM 3

Code/PackageInterior primal/dual ParametricPoint Active Set Active Set

BPMPD [27] +BQPD [11] +COPL QP [35] +CPLEX [20] + +CVXOPT [5] +FICO(TM) Xpress Optimization Suite [8] + +GALAHAD [18] + +HOPDM [15] +HSL [1] + +IQP [4] +LOQO [32] +MOSEK [2] +OOQP [12] +qpOASES [9] +rpasm (this paper) +QPOPT [13] +QuadProg++ [7] +quadprog [26] +QuadProg [31] +

Table 1.1Software for convex Quadratic Programming (in alphabetical order).

1.3. Existing software. The popularity of primal/dual Active Set and InteriorPoint methods is reflected in the large availability of free and commercial softwareproducts. A detailed list and comparison of the various implementations is beyondthe scope of this paper. We want to restrict ourselves to citing a few implementa-tions which we consider popular in Table 1.1. We further want to restrict our listto implementations which are specifically designed for QPs, although any NonlinearProgramming solver should be able to solve QPs.

The packages GALAHAD and FICO(TM) Xpress also provide the possibility ofusing crossover algorithms which start with an Interior Point method to eventuallyrefine the solution by few steps of an Active Set method. CPLEX additionally offersthe option of a concurrent optimizer which starts a Barrier and an Active Set methodin parallel and returns the solution which was found in the shortest amount of CPUtime.

For Parametric Active Set methods we are only aware of the code qpOASES [9,10]. We have developed a prototype Matlab R© code called rpasm to demonstrate theefficacy of the proposed techniques and strategies to fortify reliability of PASM.

1.4. Contribution. The contributions of this paper comprise the explicit iden-tification of numerical challenges in PASM, the development of measures to meet thesechallenges, and the implementation of a prototype Matlab R© code which demonstratestheir efficacy on the Maros-Meszaros test examples [25] restricted to problems with upto 1000 variables and up to 1001 two-sided constraints (plus potential simple variablebounds).

4 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

1.5. Structure of the article. We start with recalling the Parametric QuadraticProgramming (PQP) method [3] in §2 and identify its fundamental numerical chal-lenges in §3. In §4 we develop strategies to meet these challenges. It follows a shortdescription of the newly developed Matlab R© code rpasm in §5 which we compare withother popular academic and commercial QP solvers in §6. We continue in §7 with adescription of drawbacks of the reliability improving strategies. In §8 we discuss anextension to compute local minima of nonconvex QPs before we close the paper withconclusions and an outlook in §9.

2. Parametric Active Set methods.

2.1. The Parametric QP. The idea behind Parametric Active Set methodsconsists of following the optimal solutions on a homotopy path between two QPinstances. Figuratively speaking, the homotopy morphs a QP with known solutioninto the QP to be solved. Let this homotopy be parametrized by τ ∈ [0, 1]. We thenwant to solve the one-parametric family of QP problems

minx(τ)∈Rn

1

2x(τ)TBx(τ) + b(τ)Tx(τ) s. t. cl(τ) ≤ Cx(τ) ≤ cu(τ), (2.1)

with b, cl, and cu now being continuous functions b(τ), cl(τ), cu(τ). For fixed τ , letthe optimal primal-dual solution be denoted by z(τ) = (x(τ), y(τ)) which necessarilysatisfies (1.2) (with b = b(τ), cl = cl(τ), cu = cu(τ)). If we furthermore restrict thehomotopy to affine-linear functions b ∈ Hn, cl, cu ∈ Hm, where

Hk = {f : [0, 1]→ R | f(τ) = (1− τ)f(0) + τf(1), τ ∈ [0, 1]},

it turns out that the optimal solutions z(τ) depend piecewise linearly but not necessar-ily continuous on τ [3]. On each linear segment the active set is constant. ParametricActive Set algorithms follow z(τ) by jumping from one beginning of a segment to thenext. We can immediately observe that this approach allows hot-starts in a naturalway. As mentioned already in §1.2, no Phase 1 is needed to begin the method: We canalways recede to the homotopy start b(0) = 0, cl(0) = 0, cu(0) = 0, x(0) = 0, y(0) = 0,although this is certainly not the best choice as we will discuss in §3 and §4.

2.2. The Parametric Quadratic Programming algorithm. A Paramet-ric Active Set method was first described by Best [3] under the name ParametricQuadratic Programming (PQP) algorithm. Algorithm 1 displays the main steps. Thelines preceded by a number deserve further explanation.

Step 1: Computation of step direction. The working set W is encoded as an m-vector with entries 0 or ±1, where the i-th component indicates whether constraint i isinactive (Wi = 0), active at the lower bound (Wi = −1), or active at the upper bound(Wi = +1). Let CW denote the matrix consisting of the rows Ci with Wi 6= 0 andlet cW (τ) denote a vector which consists of entries cli(τ) or cui (τ) depending on which(if any) bound is marked active in Wi. We can then determine the step direction(∆x,∆y) by solving

KW (τ)

(∆x−∆yW

):=

(B CT

W

CW 0

)(∆x−∆yW

)=

(−(b(1)− b(τ))cW (1)− cW (τ)

). (2.2)

The dual step ∆y must be assembled from ∆yW by filling in zeros at the entries ofconstraints i which are not in the working set (i.e., Wi = 0). For the initial workingset W we assume matrix CW to have full rank and matrix B to be positive definite

RELIABLE SOLUTION OF CONVEX QP WITH PASM 5

Data: B,C, b(1), cl(1), cu(1), and z(0) = (x(0), y(0)) optimal forb(0), cl(0), cu(0) with working set W ∈ {−1, 0, 1}m

Result: z(1) = (x(1), y(1)) or infeasible or unboundedτ := 0;Compute step direction ∆z = (∆x,∆y) with current working set W ;1

Determine maximum homotopy step ∆τ ;2

if ∆τ ≥ 1− τ then return solution z(1) := z(τ) + (1− τ)∆z;Set τ+ := τ + ∆τ, z(τ+) := z(τ) + ∆τ∆z, and W+ := W ;if constraint l is blocking constraint then

Set W+l := ±1;

Linear independence test for new working set W+;3

if linear dependent thenTry to find exchange index k;4

if not possible then return infeasible;Adjust dual variables y(τ+);5

Set W+k := 0;

end

else (sign change of k-th dual variable is blocking)Set W+

k := 0;Test for curvature of B on new working set W+;6

if nonpositive curvature thenTry to find exchange index l;7

if not possible then return unbounded ;Adjust primal variables x(τ+);8

Set W+l := ±1;

end

endSet τ := τ+ and W := W+;Possibly update matrix decompositions;9

Continue with Step 1;

Algorithm 1: The Parametric Quadratic Programming Algorithm.

on the null space of CW . Thus, matrix KW (0) is invertible. As we will see in Steps 3and 6, the PQP algorithm ensures the full rank and positive definiteness propertiesand thus invertibility of KW (τ) for all further steps through exchange rules for theworking set W . We shall discuss a null space approach for the factorization of KW (τ)in Step 9.

Step 2: Determination of step length. We can follow z(τ) in direction ∆z alongthe current segment until either an inactive constraint becomes active (blocking con-straint) or until the dual variable of a constraint in the working set becomes zero(blocking dual variable). Following the straight line with direction ∆z beyond thispoint would lead to violation of conditions (1.2). The step length ∆τ can be deter-mined by ratio tests

RT : Rm+m → R ∪ {∞}, RT(u, v) = min{ui/vi | i ∈ m, vi > 0}. (2.3)

6 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

If the set of ratios is empty the minimum yields ∞ by convention. With the help ofRT, the maximum step towards the first blocking constraint is given by

tp = min{RT(Cx(τ)− cl,−C∆x),RT(cu − Cx(τ), C∆x)}, (2.4)

and towards the first blocking dual variable by

td = RT(W ◦ y(τ),W ◦∆y), (2.5)

where ◦ denotes elementwise multiplication to compensate for the opposite signs ofthe dual variables for lower and upper active constraints. The maximum step allowedis therefore

∆τ = min{tp, td}.

Best [3] assumes that all occuring minimizations yield either∞ or a unique minimizerwith corresponding index l ∈ m if ∆τ = tp or index k ∈ m if ∆τ = td from the setsof the ratio tests. The occurence of at least one nonunique minimizer is called a tie.We can distinguish between primal-dual ties if tp = td, primal ties if l is not unique,and dual ties if k is not unique. In case of a tie it is not clear which constraint shouldbe added or removed from the working set W and bad choices can lead to cycling oreven stalling of the method. Thus, successful treatment of ties is paramount to thereliability of Parametric Active Set methods and shall be further discussed in §4.3.

Step 3: Linear independence test. The addition of a new constraint l to theworking set W can lead to rank deficiency of CW+ and thus loss of invertibility ofmatrix KW (τ+). The linear dependence of Cl on Ci, i : Wi 6= 0 can be verified bysolving (

B CTW

CW 0

)(sξW

)=

(CTl

0

). (2.6)

Only if s = 0 then Cl is linearly dependent on Ci, i : Wi 6= 0 [3]. The linear indepen-dence test can be evaluated cheaply by reusing the factorization needed to solve thestep equation (2.2).

Step 4: Determination of exchange index k. It holds that s = 0. Let ξ beconstructed from ξW like ∆y from ∆yW . Equation (2.6) then yields

Cl =∑

i:Wi 6=0

ξiCi. (2.7)

Multiplying equation (2.7) by λW+l with λ ≥ 0 and adding this as a special form of

zero to the stationarity condition in equations (1.2) yields

B(x(τ) + ∆τ∆x)− b(τ+)

=∑

i:Wi 6=0

yi(τ+)CT

i = −λW+l C

Tl +

∑i:Wi 6=0

(yi(τ+) + λW+

l ξi)CTi . (2.8)

Thus, all coefficients of Ci, i : W+i 6= 0 on the right hand side of equation (2.8) are

also valid choices y for the dual variables as long as they satisfy the sign conditionW+i yi ≤ 0. Hence we can compute the largest such λ with the ratio test

λ = RT(−W+l (W ◦ y(τ+)),W+

l (W ◦ ξ)). (2.9)

If λ = ∞ then the parametric QP does not possess a feasible point beyond τ+ andthus the QP to be solved (at τ = 1) is infeasible. Otherwise, let k be a minimizingindex of the ratio set.

RELIABLE SOLUTION OF CONVEX QP WITH PASM 7

Step 5: Jump in dual variables. Now let

yi =

{−λW+

i for i = l,

yi(τ+) + λW+

i ξi for i : Wi 6= 0,

and set y(τ+) := y. It follows from construction of λ that yk = 0 and thus, constraintk can leave the working set. As a consequence, matrix CW+\{k} preserves the fullrank property and has the same null space as CW , thus securing regularity of matrixKW+(τ+).

Step 6: Curvature test. The removal of a constraint from the working set canlead to exposing directions of zero curvature on the null space of CW+ , which is largerthan the null space of CW , leading to singularity of matrix KW+(τ+). This can bedetected by solving (

B CTW

CW 0

)(sξW

)=

(0

−(ek)W

), (2.10)

where ek is the k-th column of the m-by-m identity matrix. Only if ξ = 0 then B issingular on the null space of CW+ [3]. As for the linear independence test of Step 3,the curvature test can be evaluated cheaply by reusing the factorization needed tosolve the step equation (2.2).

Step 7: Determination of exchange index l. It holds that ξ = 0 and s solves

Bs = 0, Cks = −1, CW+s = 0. (2.11)

Therefore all points x = x(τ+)+σs are also solutions if x is feasible. We can computethe largest such σ = min{σl, σu} with the ratio tests

σl = RT(Cx(τ+)− cl,−Cs), σu = RT(cu − Cx(τ+), Cs). (2.12)

If σ = ∞ then the parametric QP is unbounded beyond τ+, including the QP to besolved (at τ = 1). Otherwise, let l be a minimizing index of a ratio set which deliversa final minimizer of σ.

Step 8: Jump in primal variables. Now set x(τ+) := x(τ+)+σs. By constructionof σ we have that either Clx(τ+) = cll (if σ = σl) or Clx(τ+) = cul (otherwise). Thusl can be added to the working set via W+

l := −1 (if σ = σl) or W+l := +1.

Step 9: Update matrix decompositions. We summarize a null space approach forthe solution of systems (2.2), (2.6), and (2.10). A range space approach is in generalnot possible if B is only semidefinite [29]. A direct factorization of KW (τ) via LDLT

factorization is also possible [24] but update formulae are in the general case not asefficient as for the null space approach. The alternative of iterative linear algebramethods for the indefinite matrix KW (τ) are beyond the scope of this paper.

The null space approach is based on a QR decomposition of the transposed activeconstraint matrix

CTW = QR =

(Y Z

)(R0

)= Y R, QTQ = I.

Thus, the columns of Z constitute an orthonormal basis of the null space of CW .The columns of Y are an orthonormal basis of the range space of CT

W and the upper

8 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

triangular matrix R is invertible due to the full rank assumption on CW . By assump-tion, the projected Hessian ZTBZ is positive definite and lends itself to a Choleskydecomposition

ZTBZ = LLT

with invertible triangular matrix L. Exploiting CWZ = 0 and CWY = R, the unitarybasis transformation(

Y Z 00 0 I

)T(B CT

W

CW 0

)(Y Z 00 0 I

)=

Y TBY Y TBZ RZTBY LLT 0RT 0 0

yields a block-triangular system which can be solved via backsubstitution. When theworking set W changes by addition, removal, or substitution of constraints, the QRdecomposition of CW+ and following the Cholesky decomposition can be updatedcheaply from the previous decompositions [14]. For exploitation of special structuresof B and C in large scale applications we refer the interested reader to [21, 22].

This concludes our presentation of the Parametric Quadratic Programming algo-rithm.

2.3. Far bounds. Many applications lead to QPs where some of the constraintbounds cli, c

uj , i 6= j, are infinite to allow for one-sided constraints, e.g., 0 ≤ xi ≤ ∞.

However, a homotopy from finite to infinite cl(τ) and cu(τ) is not possible. Theflipping bounds strategy that shall be described in §4.1 relies on finiteness of cl(τ) andcu(τ). We circumvent this problem by application of a so-called far bounds strategy.It is based on the following idea: Let M > 0 be given. If M is large enough then asolution (x, y) of (1.1) is also a solution of

minx∈Rn

1

2xTBx+ bTx s. t. cl ≤ Cx ≤ cu, (2.13)

where cli = max(cli,−M), cui = min(cui ,M), i = 1, . . . ,m. We call a constraint boundwhich attains the value ±M a far bound. Algorithmically we solve a sequence ofQPs with growing far bounds value M , see Algorithm 2. The total solution timewill mostly be dominated by the solution of the first QP as consecutive QPs can beefficiently warm started.

Initialize M = 103;repeat

Solve QP (2.13);if no far bounds active then return QP solution;Grow far bounds: M := 103M ;

until M > 1020 ;if last QP infeasible then return QP infeasible;else return QP unbounded;

Algorithm 2: The far bounds strategy.

3. Fundamental numerical challenges. In this section we describe the nu-merical challenges that occur in the PQP algorithm. We shall develop countermea-sures in §4.

RELIABLE SOLUTION OF CONVEX QP WITH PASM 9

One fundamental challenge in many applications is ill-posedness of problems:Small changes in the data of the problem lead to large changes in the solution. Thischallenge necessarily propagates through the algorithm and leads to ill-conditionedmatrices KW . As a consequence the results of the step computation (2.2), the lin-ear independence test (2.6), and the curvature test (2.10) can be errorneous up tocond(KW ) times machine precision in relative error [34]. This, in turn, can lead tovery instable ratio tests (2.3) and wrong choices for the working set which can causethe algorithm to break down.

Rounding errors can also accumulate over several iterations and lead to the para-metric “solution” z(τ) being optimal with an accuracy much less than machine preci-sion. This phenomenon is called drift. Large drift can also lead to breakdown of thealgorithm because the general assumption of optimality of z(τ) is violated.

Furthermore, the termination criterion must also be adapted to work reliably onboth well- and ill-conditioned problems.

Ill-conditioning can also be introduced if the null space of CW captures two eigen-values of B with high ratio, leading to ill-conditioning of the Cholesky factors L. Inthe extreme case, the next step for the dual variables can be afflicted with a largeerror, causing again instability in the ratio tests.

The second fundamental challenge is the occurence of comparisons with zero,a delicate subject in the presence of rounding errors. These comparisons permeatethe algorithm from the sign condition in the ratio tests (2.3) to the tests for lineardependence (2.6) or zero curvature (2.10).

The third fundamental challenge is the treatment of ties, i.e., nonuniqueness ofminimizers of the ratio tests (2.3). Consider the case mentioned in §2.1 of a homo-topy starting at x(0) = 0, y(0) = 0, b(0) = 0, cl(0) = 0, cu(0) = 0,W = 0. Clearly(x(0), y(0)) is an optimal solution at τ = 0 regardless of the choice of B and C. Notethat for the PQP algorithm the choice of W = 0 is only possible if B is positive defi-nite. The first step direction will then point towards the unconstrained minimizer ofthe objective. If more than one constraint is active in the solution at τ = 1 then theprimal ratio test (2.4) for determination of the step length yields a (multiple) primaltie with ∆τ = tp = 0. Of all possible ratio test minimizers, one has to be chosen.One approach seems to be to employ pricing heuristics from primal/dual Active Setmethods but we prefer a different approach which we discuss in §4.3. In the followingiterations, primal-dual ties can occur while still ∆τ = 0. Thus cycling, the repeatedaddition and removal of the same constraints without any progress, can be possiblewhich leads to stalling of the method. We are not aware of any pricing strategy whichcan avoid the problem of cycling. Ties also occur naturally in the case of degenerateQPs, where the optimal primal or dual variables are not uniquely determined.

4. Strategies to meet numerical challenges. We propose to employ thefollowing strategies for Parametric Active Set methods to meet the fundamental nu-merical challenges described in §3.

4.1. Rounding errors and ill-conditioning. The most effective countermea-sure against the challenges of ill-conditioning is to iteratively improve the quality ofthe linear system solutions via

Iterative Refinement [34]. We have already mentioned that the relative error inthe solution z of

KW z = d

10 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

can be as high as cond(KW ) times machine precision. Thus, if cond(KW ) ≈ 1010 andwe perform computations in double precision, the solution z can have as little as sixvalid decimal digits. Iterative Refinement

z0 = 0, rk = KW zk − d, KW δz

k = rk, zk+1 = zk − δzk

recovers a fixed number of extra valid digits in each iteration. In the previous example,the iterate z2 has at least twelve valid decimal digits after only one extra step ofIterative Refinement. It is worth noticing that compared to the original “solution”z1 each iteration only needs to perform one additional matrix-vector-multiplicationwith KW and one backwards solve with the decomposition of KW described in §2.2.In exact arithmetic zk+1 = zk for all k ≥ 1.

Drift correction. A very effective strategy to avoid drift can be formulated if thePQP algorithm is cast in a slightly different framework. After each iteration, werescale the homotopy parameter to τ = 0, thus interpreting the iterate z(τ+) as anew starting value z(0). This does not avoid drift yet but allows for modifications torestore consistency of the starting point via

cli(0) :=

{Cix(0) if Wi = −1,

min{cli(0), Cix(0)} otherwise,

cui (0) :=

{Cix(0) if Wi = +1,

max{cui (0), Cix(0)} otherwise,

yi(0) :=

max{0, yi(0)} if Wi = −1,

min{0, yi(0)} if Wi = +1,

0, otherwise,

b(0) := Bx(0)− CTy(0),

for i ∈ m. This annihilates the effects of drift after every iteration, at the cost ofsplitting up the single homotopy into a sequence of homotopies which are, however,very close to the remaining part of the original homotopy. In exact arithmetic theproposed modification does not alter any value.

Termination Criterion. It is tempting to use the homotopy parameter τ in thetermination criterion as proposed in Algorithm 1. However, this choice renders thetermination criterion dependent on the choice of the homotopy start, an undesirableproperty. Instead, we propose to use the relative distance δ in the data space

∆0 = (b(τ), cl(τ), cu(τ)), sj = (∆1j −∆0

j )/max{1, |∆1j |}, j = 1, . . . , n+m+m,

∆1 = (b(1), cl(1), cu(1)), δ = ‖s‖∞.

This choice renders the termination criterion independent of the condition numberof KW (1). We observe that the termination criterion can give no guarantee for thedistance to the exact solution. Instead, a backwards analysis result holds: The com-puted solution is the exact solution to a problem which is as close as δ to the oneto be solved. The numerical results presented in §6 were obtained with the toleranceδ ≤ δterm = 1e7 eps.

Ill-conditioning of the Cholesky factors L. To avoid ill-conditioning of the Choleskyfactors L we have developed the so-called flipping bounds strategy. Flipping boundsis similar to taking long steps in the dual Simplex method [23, 30], where one variable

RELIABLE SOLUTION OF CONVEX QP WITH PASM 11

changes in the working set from upper to lower bound immediately without becominginactive in between, i.e., it flips. Flipping is only possible if cl(1) and cu(1) haveonly finite entries, which is guaranteed by the far bounds strategy described in §2.3.We modify the PQP algorithm in the following way: If a constraint l was removedwithout requiring another constraint k to enter the active set, we monitor the size ofthe smallest entry `i of the diagonal of L in Step 9. If `2i < δcurv we have detecteda small eigenvalue in L which corresponds to a small eigenvalue of B now uncoveredthrough the removal of constraint l. To avoid ill-conditioning of LLT, we introduce ajump in the QP homotopy by requiring that the other bound of constraint l is movedsuch that it becomes active immediately (hence the name flipping bounds) throughsetting

cll(τ+) := cul (τ+),W+

l = −1, if Wl = +1,

cul (τ+) := cll(τ+),W+

l = +1, if Wl = −1.

The entries j 6= l of cl and cu are set to the corresponding entries of cl and cu.Consequently the Cholesky decomposition from the previous step stays valid for thecurrent projected Hessian.

The numerical results presented in §6 were obtained with the curvature toleranceδcurv = 1e4 eps.

4.2. Comparison with zero.

Ratio tests. In the ideal ratio test (2.3) we take a minimum over a subset of mquotients with strictly positive denominator. The presence of round-off error makes itnecessary to substitute the ideal ratio test by an expression with adjustable tolerances,e.g.,

ucuti = max(ui, εcut), i ∈ m,RTr(u, v, εcut, εden, εnum) = min{ucuti /vi | i ∈ m, vi ≥ εden, ucuti ≥ εnum}.

We now explain the purpose of the three tolerances: The denominator tolerance εden >0 describes which small but positive values of vi should already be considered less thanor equal to zero. They are consequently discarded as candidates for the minimum.

The cutting tolerance εcut and the numerator tolerance εnum offer the freedom oftwo different treatments for numerators close to zero. If εcut > εnum then negativenumerators are simply cut off at εcut before the quotients are taken, yielding that theminimum is greater or equal to εcut/εden. For instance, we set εcut = 0 in the ratiotests for determination of the step length (2.4) and (2.5). This choice is motivated bythe fact that in exact arithmetic ui ≥ 0 for all i ∈ m with vi > 0. Thus, only valuesui which are negative due to round-off are manipulated and the step length satisfies∆τ ≥ 0 also in finite precision arithmetic.

If εcut ≤ εnum then cutting does not have any effect. We have found it beneficialfor the reliability of PASM to set εnum = εden in the ratio tests (2.9) and (2.12) forfinding exchange indices.

The numerical results presented in §6 were obtained with the ratio test tolerancesεden = −εnum = 1e3 eps and εcut = 0 for step length determination and εden = εnum =−εcut = 1e3 eps for the remaining ratio tests.

Linear independence and zero curvature test. After solution of systems (2.6)and (2.10) for s and ξW we must compare the norm of s or ξ with zero. Let ζ = (s, ξ).

12 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

We propose to use the relative conditions

‖s‖∞ ≤ εtest‖ζ‖∞ for the linear dependence test and (4.1)

‖ξ‖∞ ≤ εtest‖ζ‖∞ for the zero curvature test. (4.2)

We remark that ‖ζ‖∞ = ‖ξ‖∞ if s = 0 and ‖ζ‖∞ = ‖s‖∞ if ξ = 0. Thus we canreplace ‖ζ‖∞ in the code by ‖ξ‖∞ in test (4.1) and by ‖s‖∞ in test (4.2).

The numerical results presented in §6 were obtained with εtest = 1e5 eps.

4.3. Cycling and ties. Once ties have occured, their resolution is a costlyaffair because of the combinatorial nature of the decision which subset of the possibleconstraints should be chosen to leave or enter the working set. This decision can bebased on the solution of yet another QP of larger size then the original problem [33]or on heuristics similar to anti-cycling rules in the Simplex method.

We prefer a different approach instead. The idea behind the strategy we proposefor ties is simple: Instead of trying to treat ties, we try to avoid them in the first place.The strategy is as simple as the idea and exploits the homotopy framework of PASM.Let a homotopy start b(0), cl(0), cu(0) with optimal solution (x(0), y(0)) and workingset W be given. Then, for every triple of m-vectors r0, r1, r2 ≥ 0, the primal-dualpair (x(0), y(0)) with

yi(0) =

yi(0) + ri if Wi = −1,

yi(0) if Wi = 0,

yi(0)− ri if Wi = +1,

i ∈ m,

is an optimal solution to the homotopy start b(0), cl(0), cu(0), where for i ∈ m

cli(0) =

{cli(0), if Wi = −1,

cli(0)− r1i , otherwise,

cui (0) =

{cui (0), if Wi = +1,

cui (0) + r2i , otherwise,

b(0) = −(Bx(0)− CTy(0)).

In other words, if we move the inactive constraint bounds further away from Cx(0)and the dual variables of the active constraints further away from zero, x(0) staysfeasible and b(0) can be adapted to restore optimality of (x(0), y(0)) with the sameworking set W . Recall that the ratio tests depend exactly on the residuals of theinactive constraints and the dual variables of the active constraints. In our numericaltests, the simple choice of

rji = (1 + (i− 1)/(m− 1))/2, j = 0, 1, 2, i ∈ m,

has proven to work reliably. Because of the shape of rj , we call this strategy ramping.It is important to avoid two entries of rj to have the same value because manyproblems have special structures, e.g., variable bounds of the same value for severalvariables which lead to primal ties if the homotopy starts with the same value for eachof these variables. Of course, the choice of linear ramping is somewhat arbitrary andif a problem happens to have variable bounds in the form of a ramp, ties are againpossible. However, this kind of structure is much less common than equal variablebounds.

RELIABLE SOLUTION OF CONVEX QP WITH PASM 13

We employ ramping in the starting point of the homotopy and also after aniteration which resulted in a zero step ∆τ = 0. Of course, this can lead to largejumps in the problem homotopy and practically catapult the current b(0) := b(0)away from b(1). However, a PASM is capable of reducing even a large distance in thedata space to zero in one step, provided the active set is right. Thus, the distance ofthe working set W to the active set of the solution is a more appropriate measure ofthe progress of a PASM. By construction, the active set is preserved by the rampingstrategy.

We further want to remark that ties can never be completely avoided. For instancein case of a QP whose solution lies in a degenerate corner, a tie must occur in (atleast) one iteration of a PASM. In the numerical examples we have treated so far, theramping strategy effectively deferred these ties to the final step, where a tie is not aproblem any more because the solution at the end of the last homotopy segment isalready one of infinitely many solutions of the QP to be solved and no ties must beresolved in the solution.

5. The code rpasm: A PASM in Matlab R©. We have implemented thestrategies proposed in §4 in a Matlab R© code called rpasm. The main purpose of thecode is to demonstrate reliability and solution quality on the test set. In favor of codesimplicity we have refrained from employing special structure exploiting linear algebraroutines which could greatly enhance the runtime of the code. The three main fea-tures in the C++ PASM code qpOASES [9, 10] for runtime improvement in the linearalgebra routines are special treatment of variable bounds, updates for QR decompo-sitions, and appropriate updates for Cholesky decompositions. Of the three, rpasmonly performs QR updates. Variable bounds are simply treated as general inequalityconstraints. Cholesky decompositions are computed from scratch after a change inthe active set. Furthermore, only dense linear algebra routines are used which donot exploit the often sparse matrices in the test examples. Another feature which iscommon in most commercial QP solvers is the use of a preprocessing/presolve stepto reduce the problem size by eliminating fixed variables and dispensable constraintsand possibly scaling the data. We will see that rpasm works reliably even withoutpreprocessing.

The merging of the features of qpOASES and rpasm exceeds the aim of this paperand will be presented in a future publication.

6. Comparison with existing software. From the codes contained in Ta-ble 1.1 we use the ones which are freely available for academic purposes and comewith a Matlab R© interface, i.e., CPLEX, OOQP, qpOASES, plus the Matlab R© solverquadprog and the newly developed rpasm. The programs cover the range of Pri-mal Active Set (CPLEXP, quadprog), Dual Active Set (CPLEXD), Barrier/InteriorPoint (CPLEXB, OOQP), and Parametric Active Set (qpOASES, rpasm). For rpasm,we further differentiate between a version without iterative refinement (rpasm0) andwith one possible step of iterative refinement (rpasm1). All codes were used withtheir default settings on all problems.

6.1. Criteria for comparison. We compare the runtime and the quality of thesolution. Runtime was measured as the average runtime of three runs on one coreof a Intel R© CoreTM i7 with 2.67 GHz and 8 MB cache in Matlab R© 7.6 under Linux2.6 (64 bit). The quality of solutions (x∗, y∗) was measured using a residual ρ of

14 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

conditions (1.2) defined via

ρstat = ‖Bx∗ + b− CTy∗‖∞, ρlcmpl = max{|(Cx∗ − cl)iy∗i | | y∗i ≥ +10 eps},ρfeas = max(0, cl − Cx∗, Cx∗ − cu), ρucmpl = max{|(Cx∗ − cu)iy

∗i | | y∗i ≤ −10 eps},

ρ = max(ρstat, ρfeas, ρlcmpl, ρ

ucmpl).

In Table 8.1 we have assembled the results for problems from the Maros-Meszarostest set [25] with at most n = 1000 variables and m = 1001 two-sided inequalityconstraints (not counting variable bound constraints). We have visualized the resultsin the performance graphs of Figures 6.1 and 6.2. The graphs display a time factor onthe abscissa versus the percentage of problems that each code was able to solve withinthe time factor times the runtime of the fastest method for each problem. Roughlyspeaking, the graph of a fast method is close to the left hand side of the diagram, thegraph of a reliable method is close to the top of the diagram.

Time factor

Percentageofproblemssolved

rpasm0rpasm1quadprogOOQPqpOASESCPLEXPCPLEXDCPLEXB

100 101 102 103 104 1050

10

20

30

40

50

60

70

80

90

100

Fig. 6.1. Performance comparison with loose residual threshold ρ ≤ 1e-2.

There is a certain arbitrariness in the notion of a “solved problem” between thedifferent codes. We choose to consider a problem as solved if ρ is less than or equal toa certain threshold. This approach is not unproblematic either: A not tight enoughtermination threshold of a code can lead to premature termination and the problemwould be considered “not solved” by our criterion, although the method might havebeen able to recover a better solution with more iterations. This is especially an issuefor Interior Point/Barrier methods. Thus the graphs in Figures 6.1 and 6.2 showreliability of the methods only in connection with their default settings. However,we are not aware of any simple procedure which would lead to a fairer comparison.Figure 6.1 shows the results with a relatively loose threshold of ρ ≤ 1e-2 and Figure 6.2with a tighter threshold of ρ ≤ 1e-8.

RELIABLE SOLUTION OF CONVEX QP WITH PASM 15

Time factor

Percentageofproblemssolved

rpasm0rpasm1quadprogOOQPqpOASESCPLEXPCPLEXDCPLEXB

100 101 102 103 104 1050

10

20

30

40

50

60

70

80

90

100

Fig. 6.2. Performance comparison with tight residual threshold ρ ≤ 1e-8.

6.2. Discussion of numerical results. We first discuss the results depictedin Figure 6.1 and continue with the differences to the tighter residual tolerance inFigure 6.2.

From Figure 6.1 we see that the newly developed code rpasm with iterative re-finement is the only code which solves all of the problems to the prescribed accuracy.It actually solves all of them to a residual of ρ ≤ 5e-5, as can be seen from Table 8.1.The version of rpasm without iterative refinement fails on three problems (95 %).Furthermore, both versions of rpasm dominate quadprog both in runtime and thenumber of solved problems (62 %). The primal and dual versions of CPLEX are thesecond most reliable with 96 % and 97 %. As can be seen from Table 8.1, CPLEXsolves no problem in less than 1.3 s, not even the small examples which are solvedin a few miliseconds by rpasm. We suspect that this is due to a calling overheadin CPLEX, e.g., for license checking. This is also one reason why OOQP is muchfaster than the Barrier version of CPLEX, although they both solve roughly the samenumber of problems (70 % and 73 %, respectively). Although the code qpOASES isonly appropriate for QPs with positive definite Hessian, which make up only 27 % ofthe considered problems, it still solves 44 % of the test problems. Additionally, wewant to stress that those problems solved by qpOASES were indeed solved quickly.

Now we discuss the differences between Figure 6.2 and Figure 6.1, i.e., whenswitching to a tighter residual tolerance of ρ ≤ 1e-8: The ratio of solved problemsdrops dramatically for the Interior Point/Barrier methods (CPLEXB: 29 %, OOQP:37 %). This is a known fact and the reason for the existence of crossover methodswhich refine the results of Interior Point/Barrier methods with an Active Set method.The code qpOASES still solves 44 % of the problems, which indicates that the solutionsthat qpOASES yields are of high quality. Furthermore, qpOASES is fast: It solves36 % of the problems within 110 % of the time of the fastest method for each of these

16 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

problems. The number of problems solved by quadprog decreases to 53 %. The primaland dual Active Set versions of CPLEX solve 78 % of the problems. Only the coderpasm is able to solve more than 80 % of the problems to a residual of ρ ≤ 1e-8(rpasm0: 82 %, rpasm1: 84 %).

We can conclude that the strategies proposed in §4 indeed lead to a reliablemethod for the solution of convex QPs.

7. Drawbacks of the proposed PASM. Although the method has proved towork successfully on the test set, the improvement in reliability is acheived only atthe price of breaking the pure homotopy paradigm which complicates an otherwisestraightforward proof of convergence for the method: Drift correction, ramping, andthe flipping bounds strategy lead to jumps in the trajectories of b(τ), cl(τ), and cu(τ)and thus to a sequence of (possibly nonphysical) homotopies. Proving the nonex-istence or possibility of cycles through these strategies is beyond the scope of thispaper.

One major area of application for the code qpOASES is online feedback control [9,10]. Exploitation of the physical homotopy between two consecutive problems in timehas proven to be of advantage in this case. The proposed strategies should thus beused with care in this application field.

8. Nonconvex Quadratic Programs. The flipping bounds strategy presentedin §4.1 can also be extended to the case of nonconvex QPs with indefinite Hessianmatrix B. When the Cholesky factorization or update breaks down due to a negativediagonal entry, we also flip instead of remove the constraint l. Hence the projectedHessian always stays positive definite. By the second order necessary optimalitycondition, the projected Hessian in every isolated local minimum of the nonconvexQP is guaranteed to be positive definite. Conversely, if strict complementarity holdsat τ = 1 we obtain a local minimum because the second order sufficient condition issatisfied. No guarantees can be given in the case of violation of strict complementarity.

Finding a global minimum of a nonconvex QP is known to be an NP-hard problem,even if the Hessian has only one single negative eigenvalue [28]. However, a localsolution returned by the PASM can be refined by flipping all combinations of activebounds whose removal would lead to an indefinite projected Hessian and restartingthe PASM for each of these flipped Active Sets, revealing again the combinatorialnature of finding the global solution of the nonconvex QP.

In the context of SQP with indefinite Hessian approximations (e.g., symmetricrank one updates, the exact Hessian, etc.), a local solution of a nonconvex QP issufficient because the SQP method can only find local minima anyway.

For proof of concept we seek a local solution of the nonconvex problem

min1

2

k−2∑i=1

(xk+i+1 − xk+i)2 −1

2

k=1∑i=1

(xk−i + xk+i + αk−i+1)2 (8.1a)

s. t. xk+i − xi+1 + xi = 0, i = 1, . . . , k − 1, (8.1b)

αi ≤ xi ≤ αi+1, i = 1, . . . , k, (8.1c)

0.4(αi+2 − αi) ≤ xk+i ≤ 0.6(αi+2 − αi), i = 1, . . . , k − 1, (8.1d)

with given constants αi = 1 + 1.01i, i = 1, . . . , k − 1. We have adapted problem (8.1)from problem class 3 in Gould [16] by switching the sign in front of the second sumand the α terms in the objective. We start the computation with an initial guess ofx(0) = 0, y(0) = 0, set the lower bounds of equations (8.1c) and (8.1d) active in the

RELIABLE SOLUTION OF CONVEX QP WITH PASM 17

initial working set, and adjust the variables via ramping (see §4.3). The changes ofthe working set are depicted in Figure 8.1 for k = 100 and therefore n = 199,m = 298.Row l of the depicted image corresponds to the working set in iteration l and columnj corresponds to the status of constraint j in the working set when the iterationsadvance. The colors indicate constraints which are inactive (gray), active at thelower bound (black), or active at the upper bound (white). Thus direct transitionsfrom black to white or vice versa along a vertical line indicate flipping bounds. Wecan observe that the chosen initial working set is considerably different to the finalworking set in the solution. Still the number of iterations is less than two times thenumber of constraints which indicates that the proposed method works efficiently onthis instance of the nonconvex problem (8.1).

In the solution which corresponds to Figure 8.1, n = 199 out of m constraints areactive and strict complementarity is satisfied. Thus we indeed have obtained a localoptimum.

Constraint number

Iteration

50 100 150 200 250

50

100

150

200

250

300

350

Fig. 8.1. Active set changes for nonconvex problem (8.1), k = 100. Each line of the imagecorresponds to the working set in one iteration. The colors indicate constraints which are inactive(gray), active at the lower bound (black), or active at the upper bound (white). Direct transitionsfrom black to white or vice versa along a vertical line indicate flipping bounds.

18 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODERproble

mrpasm

0rpasm

1quadprog

OO

QP

qpOASES

CPLEXP

CPLEXD

CPLEXB

nam

em

ntim

tim

tim

tim

tim

tim

tim

tim

CVXQ

P1

M500

1000

407.3

44

4e-1

0529.0

85

2e-0

875.7

50

5e-1

03.1

97

6e-0

66e+

00

1.7

57

2e-0

52.3

45

2e-0

62.0

96

3e-0

3CVXQ

P1

S50

100

0.5

76

5e-1

10.6

35

2e-1

10.1

14

2e-1

20.0

07

1e-0

86e+

00

1.5

75

2e-1

11.6

00

2e-1

11.6

30

1e-0

6CVXQ

P2

M250

1000

221.0

06

5e-1

2296.2

80

2e-1

1331.5

69

2e-1

11.6

42

2e-0

66e+

00

1.7

34

2e-0

71.8

34

2e-0

71.9

55

1e-0

4CVXQ

P2

S25

100

0.4

94

9e-1

30.5

40

2e-1

30.2

42

5e-1

30.0

06

4e-1

10.0

18

6e-1

31.6

63

5e-1

11.6

69

5e-1

11.6

32

2e-0

6CVXQ

P3

M750

1000

785.4

29

1e-0

9968.9

48

2e-0

830.0

66

1e-0

85.1

25

4e-0

86e+

00

1.8

39

5e-0

93.0

86

2e-0

92.5

76

3e-0

2CVXQ

P3

S75

100

0.6

84

5e-1

10.7

55

7e-1

10.0

51

1e-1

20.0

12

2e-1

06e+

00

1.5

29

2e-1

21.5

30

5e-1

31.5

64

3e-0

6D

PK

LO

177

133

2.2

64

1e-1

42.4

72

1e-1

40.0

17

3e-1

40.0

10

4e-1

50.0

13

6e-1

41.5

23

3e-1

41.5

23

2e-1

41.5

31

3e-1

4D

UAL1

185

0.2

55

3e-1

50.2

98

2e-1

50.0

86

2e-1

50.0

03

2e-0

80.0

15

8e-1

51.5

26

2e-1

51.5

34

2e-1

51.5

50

1e-0

9D

UAL2

196

0.3

19

2e-1

50.3

50

1e-1

50.0

28

2e-1

50.0

03

2e-0

70.0

22

3e-1

51.5

66

2e-1

51.5

14

2e-1

51.5

81

2e-1

0D

UAL3

1111

0.4

37

2e-1

50.4

69

3e-1

50.0

75

2e-1

50.0

03

4e-0

70.0

23

4e-1

51.5

32

3e-1

51.5

38

3e-1

51.5

54

1e-0

9D

UAL4

175

0.1

82

2e-1

50.1

96

2e-1

50.0

46

2e-1

50.0

02

4e-0

70.0

04

6e-1

51.5

62

1e-1

41.5

33

1e-1

41.5

84

4e-0

9D

UALC1

215

90.0

07

4e-1

20.0

08

6e-1

10.0

18

9e-1

00.0

36

2e-0

70.0

01

5e-1

21.5

31

1e-1

01.5

46

1e-1

01.5

51

2e-0

6D

UALC2

229

70.0

06

2e-1

20.0

07

2e-1

20.0

15

6e-1

10.0

42

3e-1

10.0

00

4e-1

21.5

46

5e-1

21.5

18

5e-1

21.5

52

7e-0

7D

UALC5

278

80.0

08

7e-1

30.0

08

3e-1

30.0

13

5e-1

30.0

56

7e-0

80.0

01

9e-1

31.5

44

2e-1

21.5

39

2e-1

21.5

56

4e-0

8D

UALC8

503

80.0

07

5e-1

10.0

09

1e-0

50.0

19

1e-1

00.2

82

7e-1

00.0

01

4e-1

11.5

51

1e-1

01.5

40

1e-1

01.5

60

7e-0

7G

ENHS28

810

0.0

20

4e-1

60.0

21

4e-1

60.0

10

1e-1

50.0

00

1e-1

60.0

00

4e-1

61.5

28

2e-1

61.5

38

3e-1

51.5

66

2e-1

6G

OULD

QP2

349

699

635.7

13

3e-0

9721.6

74

3e-0

980.2

82

7e-1

40.6

44

2e-0

73e+

01

1.6

96

5e-0

71.5

81

9e-0

71.5

71

2e-0

8G

OULD

QP3

349

699

87.9

67

7e-1

5110.3

01

7e-1

520.1

75

6e-1

41.4

27

4e-0

77.5

75

2e-1

31.5

81

1e-1

41.5

32

2e-1

41.5

23

2e-0

6HS118

17

15

0.0

39

2e-1

50.0

41

3e-1

40.0

24

1e-1

30.0

02

3e-1

30.0

01

1e-1

31.5

24

2e-1

61.5

04

2e-1

61.5

28

3e-0

8HS21

12

0.0

02

1e-1

60.0

02

2e-1

70.0

10

0e+

00

0.0

01

2e-1

20.0

00

0e+

00

1.5

12

0e+

00

1.4

97

0e+

00

1.5

19

6e-1

0HS268

55

0.0

10

1e-1

10.0

10

1e-0

60.0

11

7e-1

20e+

00

0.0

00

1e-1

11.5

26

2e-1

11.5

21

2e-1

12e+

10

HS35

13

0.0

04

0e+

00

0.0

04

9e-1

60.0

10

4e-1

60.0

01

2e-1

50.0

00

5e-1

51.5

35

0e+

00

1.5

37

0e+

00

1.5

29

2e-0

8HS35M

OD

13

0.0

05

5e-1

50.0

05

0e+

00

0.0

10

0e+

00

0.0

01

1e+

00

0.0

00

0e+

00

1.5

09

0e+

00

1.5

22

0e+

00

1.5

25

2e-0

8HS51

35

0.0

06

5e-1

50.0

07

9e-1

60.0

10

9e-1

60.0

00

2e-3

20.0

00

4e-1

61.5

40

0e+

00

1.5

04

0e+

00

1.5

44

0e+

00

HS52

35

0.0

10

2e-1

50.0

11

5e-1

60.0

09

2e-1

50.0

00

2e-1

60.0

00

2e-1

51.5

26

5e-1

51.5

47

8e-1

51.5

30

9e-1

6HS53

35

0.0

10

9e-1

60.0

10

2e-1

50.0

15

2e-1

50.0

01

2e-0

80.0

00

9e-1

61.5

19

0e+

00

1.5

42

0e+

00

1.5

16

2e-1

0HS76

34

0.0

04

2e-1

60.0

04

1e-1

60.0

11

2e-1

60.0

01

1e-1

30.0

00

5e-1

41.5

09

0e+

00

1.5

08

0e+

00

1.5

30

7e-0

9K

SIP

1001

20

1.7

18

2e-1

61.8

89

3e-1

60.2

48

2e-1

64.4

91

1e-0

81e+

00

1.7

42

6e-1

61.5

87

1e-1

68.6

89

1e-0

9LO

TSCHD

712

0.0

23

9e-1

40.0

23

4e-1

30.0

13

1e-1

20.0

01

2e-0

71e+

02

1.5

68

2e-1

31.5

91

2e-1

31.5

96

2e-0

6M

OSARQ

P2

600

900

359.3

03

4e-1

5399.6

30

4e-1

5697.5

50

2e+

00

13.3

43

4e-0

713.9

42

3e-1

31.6

92

5e-1

41.5

55

7e-1

41.6

99

2e-0

6PRIM

AL1

85

325

14.9

51

1e-1

616.0

26

7e-1

72.2

32

4e-1

60.3

75

9e-0

80.5

73

6e-1

41.5

48

3e-1

41.5

13

3e-1

41.5

80

6e-1

0PRIM

AL2

96

649

156.4

41

2e-1

5166.7

42

4e-1

618.0

18

4e-1

61.8

72

6e-0

79.8

32

2e-1

31.5

95

7e-1

51.5

52

7e-1

51.6

08

1e-1

0PRIM

AL3

111

745

255.5

30

4e-1

6282.3

54

3e-1

627.5

84

1e-1

52.5

52

1e-0

615.1

90

3e-1

31.8

01

5e-1

41.5

87

5e-1

41.7

19

2e-0

9PRIM

ALC1

9230

0.4

30

3e-1

20.5

08

9e-1

31.8

77

1e-0

80.0

91

2e-1

10.0

22

1e-1

11.4

92

4e-1

21.4

80

2e-1

21.4

96

6e-0

8PRIM

ALC2

7231

0.2

09

2e-1

20.2

46

5e-1

31.9

76

2e-0

80.0

94

3e-1

00.0

21

8e-1

31.4

77

6e-1

21.4

83

6e-1

21.4

94

3e-0

8PRIM

ALC5

8287

0.2

85

2e-1

30.3

69

2e-1

33.6

03

2e-0

90.1

46

7e-1

00.0

41

2e-1

31.4

72

2e-1

31.5

16

1e-1

21.5

48

5e-0

8PRIM

ALC8

8520

2.1

13

1e-1

13.0

34

7e-1

226.5

85

4e-0

60.5

99

1e-1

10.3

33

4e-1

11.4

71

2e-1

01.4

64

3e-1

01.4

52

2e-0

5Q

AD

LIT

TL

56

97

0.4

93

1e-0

90.5

17

8e-1

00.9

86

1e+

02

9e+

43

3e+

03

1.4

14

7e-1

11.4

21

7e-1

11.4

33

9e-0

7Q

AFIR

O27

32

0.0

26

1e-1

40.0

29

9e-1

61e+

01

0.0

03

3e-0

94e+

01

1.4

40

1e-1

41.4

48

1e-1

41.5

30

2e-1

0Q

BAND

M305

472

71.0

53

2e-1

399.4

55

5e-1

24e+

02

7e+

12

7e+

01

1.5

06

6e-1

31.5

15

6e-1

31.5

36

1e-0

6Q

BEACO

NF

173

262

2.2

08

3e-1

12.5

94

4e-1

12e+

03

8e+

20

2e+

03

1.5

11

3e-1

11.5

15

3e-1

15e+

20

QBO

RE3D

233

315

4.1

48

9e-0

94.9

99

3e-0

93e+

02

1e+

40

3e+

02

1.3

93

9e-1

31.3

92

5e-1

31.4

08

2e-0

6Q

BRANDY

220

249

10.5

88

8e-1

113.2

25

1e-1

09e+

02

0e+

00

8e+

01

1.3

86

4e-1

21.3

86

8e-1

27e+

02

QCAPRI

271

353

27.5

99

1e-0

831.5

82

1e-0

84e+

04

9e+

19

3e+

03

1.3

96

1e-0

81.3

97

1e-0

86e+

20

QE226

223

282

14.4

47

5e-1

318.5

29

9e-1

42e+

03

1e+

20

3e+

01

1.4

16

1e-1

31.4

20

1e-1

31e+

20

QETAM

ACR

400

688

136.0

91

5e-0

5181.1

63

5e-0

59e+

02

8e+

11

8e+

02

9e+

02

1.5

07

1e-0

71.5

65

2e-0

5Q

FFFFF80

524

854

2e+

05

1351.8

14

4e-0

66e+

03

1e+

25

2e+

05

1.4

90

2e-1

01.5

02

2e-1

09e+

21

QFO

RPLAN

161

421

49.3

13

6e-0

736.2

55

6e-0

74e+

05

3e+

10

7e+

06

1.3

89

4e-0

71.3

97

5e-0

71.4

23

3e+

01

continued

onnextpage

RELIABLE SOLUTION OF CONVEX QP WITH PASM 19continued

from

previouspage

proble

mrpasm

0rpasm

1quadprog

OO

QP

qpOASES

CPLEXP

CPLEXD

CPLEXB

nam

em

ntim

tim

tim

tim

tim

tim

tim

tim

QG

ROW

15

300

645

58.2

14

3e-0

978.4

05

3e-0

97e+

03

2.2

02

3e-0

87e+

00

1.6

22

5e-0

71.6

30

3e-0

71.5

56

2e-0

2Q

GROW

22

440

946

191.8

75

1e-0

9241.1

23

2e-0

97e+

00

7.2

47

1e-0

67e+

00

1.7

80

2e-0

81.9

60

2e-0

71.7

11

5e-0

3Q

GROW

7140

301

7.0

46

1e-0

98.1

77

1e-0

97e+

01

0.2

95

1e-0

97e+

00

1.6

29

2e-0

81.6

37

2e-0

81.6

49

1e-0

3Q

ISRAEL

174

142

1.3

56

8e-0

61.5

70

3e-0

94e+

04

0.1

63

5e-0

93e+

03

1.5

37

1e-1

11.5

05

1e-1

12e+

21

QPCBLEND

74

83

0.5

48

3e-1

50.5

81

2e-1

50.2

61

2e-1

40.0

56

2e-0

85e+

00

5e+

00

5e+

00

1.6

66

4e-0

9Q

PCBO

EI1

351

384

2e+

17

31.7

40

2e-0

95e+

03

1.6

57

7e+

10

3e+

03

1.6

39

1e-0

71.5

76

3e-0

81.5

42

1e-0

3Q

PCBO

EI2

166

143

1.3

61

3e-0

61.5

05

2e-0

77e+

03

2e+

08

9e+

03

1.4

85

2e-0

71.5

44

2e-0

71.6

19

3e-0

3Q

PCSTAIR

356

467

35.6

42

1e-0

950.3

20

8e-1

05e+

03

1e+

31

3e+

02

1.5

46

2e-0

81.5

59

1e-0

81.5

90

9e-0

5Q

PTEST

22

0.0

03

2e-1

50.0

04

9e-1

60.0

10

2e-1

50.0

01

8e-1

30.0

00

3e-1

51.5

16

2e-1

51.5

23

2e-1

51.5

23

6e-0

9Q

RECIP

E91

180

0.6

38

4e-1

40.7

29

8e-1

52e+

00

2e+

17

1e+

01

1.5

17

2e-1

61.5

20

2e-1

61.5

35

3e+

20

QSC205

205

203

1.4

94

3e-1

51.8

94

1e-1

63e+

02

3e-0

41e+

00

1.5

27

7e-1

81.5

28

7e-1

81e+

18

QSCAG

R25

471

500

75.6

80

5e-0

8104.1

89

7e-0

96e+

04

2.1

35

5e-0

87e+

03

1.4

99

3e-0

91.5

04

3e-0

91.5

09

4e-0

4Q

SCAG

R7

129

140

2.0

98

6e-0

82.3

12

3e-0

90.2

49

5e-0

80.0

78

2e-1

07e+

03

1.4

82

2e-1

11.4

86

2e-1

11.4

97

2e-0

4Q

SCFXM

1330

457

2e+

04

78.5

51

1e-0

64e+

04

0e+

00

1e+

03

1.4

39

1e-0

71.4

50

1e-0

73e+

20

QSCFXM

2660

914

3e+

04

514.5

02

7e-0

77e+

04

0e+

00

1e+

03

1.5

58

3e-0

71.5

71

3e-0

73e+

20

QSCO

RPIO

388

358

14.3

51

2e-1

118.0

85

4e-1

12e+

02

1e+

52

2e+

02

1.4

96

9e-1

31.5

08

9e-1

31e+

17

QSCSD

177

760

18.9

45

9e-0

928.1

10

9e-0

95e+

00

2.3

88

4e-1

35e+

00

1.4

71

4e-1

51.4

70

1e-0

91.4

87

1e-0

9Q

SCTAP1

300

480

26.2

39

2e-1

139.2

36

1e-1

12e+

02

2.4

06

2e-0

68e+

01

1.4

90

5e-1

41.4

97

4e-1

48e+

15

QSHARE1B

117

225

7.1

54

9e-0

87.1

37

1e-1

017.4

24

2e-0

70.1

62

7e-1

13e+

03

1.4

88

1e-1

01.4

94

1e-1

01.5

10

2e-0

5Q

SHARE2B

96

79

0.8

84

1e-0

80.9

36

1e-1

00.7

25

4e-1

00.0

31

3e-1

12e+

01

1.4

80

1e-1

11.4

82

1e-1

19e+

14

QSTAIR

356

467

34.2

28

1e-1

047.7

76

4e-1

04e+

04

1.4

54

2e+

09

3e+

02

1.4

72

3e-0

91.4

89

3e-0

91e+

17

S268

55

0.0

10

1e-1

10.0

11

1e-0

60.0

10

7e-1

20e+

00

0.0

00

1e-1

11.4

28

2e-1

11.4

29

2e-1

12e+

10

TAM

E1

20.0

03

2e-1

60.0

03

0e+

00

0.0

09

2e-1

60.0

00

1e-1

20.0

00

2e-1

61.4

36

0e+

00

1.4

36

0e+

00

1.4

36

0e+

00

VALUES

1202

1.1

83

1e-1

41.3

87

8e-1

53.8

50

1e-1

50.0

17

4e-0

91e+

00

1e+

00

1e+

00

1e+

00

ZECEVIC

22

20.0

03

7e-1

60.0

03

0e+

00

0.0

09

4e-1

60.0

01

4e-1

63e+

00

1.4

25

0e+

00

1.4

27

0e+

00

1.4

39

3e-0

9

Table

8.1

Co

mpa

riso

no

fQ

Pso

lver

so

np

robl

ems

fro

mth

eM

aro

s-M

esza

ros

test

set

[25

]w

ith

at

mo

stn

=1000

vari

abl

esa

ndm

=1001

two

-sid

edin

equ

ali

tyco

nst

rain

ts(n

ot

cou

nti

ng

vari

abl

ebo

un

dco

nst

rain

ts).

Th

eso

luti

on

tim

ein

seco

nd

sa

nd

the

op

tim

ali

tyco

nd

itio

nre

sid

ua

are

give

nfo

rea

chso

lver

.F

ail

ure

of

the

solv

eris

den

ote

dby

bla

nk

tim

efi

eld

s.

20 A. POTSCHKA, C. KIRCHES, H. G. BOCK, AND J. P. SCHLODER

9. Conclusions and Outlook. We have identified numerical challenges in PASM,developed strategies to meet these challenges, and implemented a prototype Matlab R©

code named rpasm. The developed code has proved to solve all problems of theMaros-Meszaros test examples [25] with up to 1000 variables and up to 1001 two-sidedconstraints (plus potential simple variable bounds) with default parameter settings.In comparison, none of the other seven popular academic and commercial codes con-sidered, covering Primal/Dual Active Set and Interior Point/Barrier methods, wasable to solve all problems with default settings. We have found that the PASM imple-mentation qpOASES delivers high-quality solutions very quickly. We conjecture thatmerging the fast linear algebra routines of qpOASES with the reliability improvementsof rpasm will lead to a highly competitive general-purpose QP solver. Furthermore,we have proposed how the PASM can be used to find local solutions of nonconvexQPs. Work on a theoretical proof for convergence in the convex and nonconvex caseis in progress.

Acknowledgements. The first author was supported by the German ResearchFoundation (DFG) within the priority program SPP1253 under grant BO864/12-1.Support by the German Federal Ministry of Education and Research (BMBF) undergrant 03BONCHD is also gratefully acknowledged. The research leading to these re-sults has received funding from the European Union Seventh Framework ProgrammeFP7/2007-2013 under grant agreement no FP7-ICT-2009-4 248940. We thankfullyacknowledge support by the Heidelberg Graduate School of Mathematical and Com-putational Methods for the Sciences funded by the Deutsche Forschungsgemeinschaft(DFG).

REFERENCES

[1] The HSL mathematical software library. http://www.hsl.rl.ac.uk/, 2007.[2] The MOSEK optimization tools manual, version 6.0 (revision 85). http://www.mosek.com/,

2010.[3] M.J. Best, An Algorithm for the Solution of the Parametric Quadratic Programming Problem,

Applied Mathematics and Parallel Computing, Physica-Verlag, Heidelberg, 1996, ch. 3,pp. 57–76.

[4] J. Blue, P. Fox, W. Fullerton, D. Gay, E. Grosse, A. Hall, L. Kaufman, W. Pe-tersen, and N. Schryer, PORT mathematical subroutine library. http://www.bell-labs.com/project/PORT/, 1997.

[5] J. Dahl and L. Vandenberghe, CVXOPT user’s guide, release 1.1.3.http://abel.ee.ucla.edu/cvxopt/userguide/index.html, September 2010.

[6] G.B. Dantzig, Linear Programming and Extensions, Princeton University Press, 1963.[7] L. Di Gaspero, QuadProg++. http://www.diegm.uniud.it/digaspero/index.php/software/,

2010.[8] Fair Isaac Corporation, FICO(TM) Xpress Optimization Suite, Xpress-Optimizer Reference

manual, Release 20.00, Warwickshire, UK, 2009.[9] H.J. Ferreau, qpOASES – an open-source implementation of the online active set strategy for

fast model predictive control, in Proceedings of the Workshop on Nonlinear Model BasedControl – Software and Applications, Loughborough, 2007.

[10] H.J. Ferreau, H.G. Bock, and M. Diehl, An online active set strategy to overcome thelimitations of explicit MPC, International Journal of Robust and Nonlinear Control, 18(2008), pp. 816–830.

[11] R. Fletcher, Resolving degeneracy in quadratic programming, Annals of Operations Research,46-47 (1993), pp. 307–334.

[12] E.M. Gertz and S.J. Wright, Object-oriented software for quadratic programming, ACMTransactions on Mathematical Software, 29 (2003), pp. 58–81.

[13] P.E. Gill, W. Murray, and M.A. Saunders, User’s Guide For QPOPT 1.0: A FortranPackage For Quadratic Programming, 1995.

RELIABLE SOLUTION OF CONVEX QP WITH PASM 21

[14] P.E. Gill, W. Murray, M.A. Saunders, and M.H. Wright, Procedures for optimizationproblems with a mixture of bounds and general linear constraints, ACM Transactions onMathematical Software, 10 (1984), pp. 282–298.

[15] J. Gondzio, HOPDM (version 2.12) – a fast LP solver based on a primal-dual interior pointmethod, European Journal of Operational Research, 85 (1995), pp. 221–225.

[16] N.I.M. Gould, An algorithm for large-scale quadratic programming, IMA Journal of NumericalAnalysis, 11 (1991), pp. 299–324.

[17] N.I.M. Gould, D. Orban, and P.L. Toint, CUTEr testing environment for optimization andlinear algebra solvers. http://cuter.rl.ac.uk/cuter-www/.

[18] N.I.M. Gould, D. Orban, and Ph.L. Toint, GALAHAD, a library of thread-safe Fortran 90packages for large-scale nonlinear optimization, ACM Trans. Math. Software, 29 (2004),pp. 353–372.

[19] N.I.M. Gould and P.L. Toint, A quadratic programming bibliography, Tech. Report 2000-1, Rutherford Appleton Laboratory, Computational Science and Engineering Department,March 2010.

[20] IBM Corp., IBM ILOG CPLEX V12.1, User’s Manual for CPLEX, New York, USA, 2009.[21] C. Kirches, H.G. Bock, J.P. Schloder, and S. Sager, Block structured quadratic program-

ming for the direct multiple shooting method for optimal control, Optimization Methodsand Software, (2010). (available online).

[22] C. Kirches, H.G. Bock, J.P. Schloder, and S. Sager, A factorization with update pro-cedures for a KKT matrix arising in direct optimal control, Mathematical Program-ming Computation, (2010). (submitted). Available Online: http://www.optimization-online.org/DB HTML/2009/11/2456.html.

[23] E. Kostina, The long step rule in the bounded-variable dual simplex method: Numerical ex-periments, Mathematical Methods of Operations Research, 55 (2002), pp. 413–429.

[24] S. Lauer, SQP–Methoden zur Behandlung von Problemen mit indefiniter reduzierter Hesse–Matrix, Diploma thesis, Ruprecht–Karls–Universitat Heidelberg, February 2010.

[25] I. Maros and C. Meszaros, A repository of convex quadratic programming problems, Opti-mization Methods and Software, 11 (1999), pp. 671–681.

[26] The Mathworks, Matlab optimization toolbox user’s guide.http://www.mathworks.com/products/optimization/, 2010.

[27] C. Meszaros, The BPMPD interior point solver for convex quadratic problems, OptimizationMethods and Software, 11 (1999), pp. 431–449.

[28] K.G. Murty, Some NP-complete problems in quadratic and nonlinear programming, Mathe-matical Programming, 39 (1987), pp. 117–129.

[29] J. Nocedal and S.J. Wright, Numerical Optimization, Springer Verlag, Berlin HeidelbergNew York, 2nd ed., 2006. ISBN 0-387-30303-0 (hardcover).

[30] S. Sager, Lange Schritte im Dualen Simplex-Algorithmus, Diploma thesis, Universitat Heidel-berg, 2001.

[31] B.A. Turlach, QuadProg (quadratic programming routines), release 1.4.http://school.maths.uwa.edu.au/˜berwin/software/quadprog.html, July 1998.

[32] R.J. Vanderbei, LOQO: An interior point code for quadratic programming, OptimizationMethods and Software, 11 (1999), pp. 451–484.

[33] X. Wang, Resolution of ties in parametric quadratic programming, master’s thesis, Universityof Waterloo, Ontario, Canada, 2004.

[34] J.H. Wilkinson, The Algebraic Eigenvalue Problem, Clarendon Press, Oxford, 1965.[35] X. Zhang and Y. Ye, User’s guide of COPL QP, computational optimization program library:

Convex quadratic programming. http://www.stanford.edu/˜yyye/Col.html, July 1998.