Professional Documents
Culture Documents
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Topics
Introduction
Quadratic programming problems with equality constraints
Quadratic programming problems with inequality constraints
Primal Interior Point methods for Quadratic programming
problems
Primal-Dual-Interior Point methods Quadratic programming
problems
Linear model-predictive control (LMPC) and current issues
References and Resources
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
a>
i x = ai , i = 1, . . . , m1
instead of Bx = b we write
b>
j x bj , j = 1, . . . , m2 ;
>
where a>
i is the i th row of A and bj is the j-th row of B.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Introduction...
Some applications of QPs:
Least Square approximations and estimation
Portfolio optimization
Signal and image processing, computer vision, etc.
Optimal contro, linear model predictive control, etc
PDE-constrained optimization problems in CFD, CT,
topology/shape optimization, etc
Sequential quadratic programming (SQP) methods for NLP
etc.
What has been achieved to date for the solution of nonlinear optimization problems has been really
attained through methods of quadratic optimization and techniques of numerical linear algebra. As a
result nowadays it is not surprising to see a profound interest in QPs and their real-time computing.
QPs are now the driving force behind modern control technology.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
QP introduction...SQP in brief
Given a constrained optimization problem
(NLP)
min f (x)
x
s.t.
hi (x) = 0, i = 1, 2, . . . , p;
gj (x) 0, j = 1, 2, . . . , m;
>
>
hi (xk ) d + hi (xk ) = 0, i = 1, 2, . . . , p;
>
TU Ilmenau
min
u
1
2
Z t n
f
>
[x(t) s(t)]
>
t0
s.t.
x(t)
TU Ilmenau
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
(QP) min
x
1 >
x Qx + q > x
2
.
(QP)
1 >
x Qx + q > x
x
2
a x b.
F
min
Inequality constrained QP
Equality constrained QP
(QP)E
1 >
x Qx + q > x
2
Ax = a.
min
x
(QP)I
1 >
x Qx + q > x
x
2
Ax = a
min
Bx b.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
F
1 >
x Qx + q > x
2
I Variants of CG:
Hestens-Steifel 1952;
Fletcher-Reeves 1964;
Polak-Ribiere 1969
As in all iterative methods, CG methods may require preconditioning techniques to guarantee convergence
to the correct solution leading to preconditioned CG (PCGG). This is necessary for large-scale QPs.
TU Ilmenau
1 >
x Qx + q > x
2
s.t.
xmin x xmax .
I This form of QP commonly arises, eg., :
in image recovery and deblurring, for instance, with lower and upper bounds on the gray-levels of the image;
in linear quadratic control or linear model predictive control, with bound constraints on the control, etc. In fact, if
1 >
>
min
x Qx + u Ru
x
2
s.t.
Ax + Bu = b
umin u umax .
Theoretically, we can solve for x in terms of u (quasi-sequential) so that x = A1 (b Bu) so that we have
h
i> h
i
1
1
1
>
min
A
(b Bu)
Q A
(b Bu) + u Ru
x
2
s.t.
umin u umax .
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
TU Ilmenau
min
x
1 >
x Qx + q > x
2
s.t.
Ax = a.
(1)
There are two cases:
(a) Q is symmetric and positive semi-definite QP is convex.
(b) Q is symmetric but not positive semi-definite QP is
non-convex.
Note: The issue that wether A is of full-rank or rank-deficient (i.e.
rank(A) = m1 or rank(A) < m1 ) is not serious.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
=
b
Ax
= b.
A O
| {z }
=:K
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
TU Ilmenau
Special case: when Q is positive definite and A has full rank (rank(A) = m1 ), the matrix
= Q
1 > 1
1
= AQ
A
b + AQ
q .
q+Q
1 >
is invertible.
1 > 1
1
AQ
A
b + AQ
q
A>
O
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
(QP)I
min
x
1 >
x Qx + q > x
2
s.t.
Ax = a.
Bx b.
There are two classes of algorithms:
the active-set method (ASM)
the interior point method (IPM).
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Question
How to determine the search direction d k ?
How to determine the step-length k ?
(A) Determination of the search direction:
At the current iterate x k determine the index set of active the
inequality constraints
k
Ak = {j | b>
j x bj = 0, j = 1, . . . , m2 }.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
min
1
2
>
(x + d) Q(x + d) + q
>
(x + d)
s.t.
>
ai (x + d) = ai , i = 1, . . . , m1 ;
> k
bj (x
+ d) = bj , j A .
Expand
21 (x k + d)> Q(x k + d) + q > (x k + d) = 12 d > Qd + 12 d > Qx k + 21 (x k )> Qd + 12 (x k )> Qx k + q > d + q > x k
ai > x k + d
> k
> k
= ai a>
i d = ai ai x = 0. Similarly, bj >d = bj bj x = 0.
min
d
h
i>
1 >
k
d Qd + Qx + q
d
2
s.t.
Ad = 0,
e = 0;
Bd
where
..
e = b> , j Ak . Set g k = Qx k + q.
B
j
.
.
.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
k
e >
e>
Qd + g k + A> + B
e = 0,
Q A> B
d
g
Ad
= 0, A O . . . O = 0 ()
e
e O... O
e
0
Bd
= 0.
B
where and
e are Lagrange multipliers corresponding to equality and active inequality constraints, resp.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
e >
Qd k + g k + A> k + B
ek
= 0,
Ad
e k
Bd
= 0,
= 0.
e
g +A +B
>
e = 0,
()
Case 1-a: If
ek 0, (i.e.
ekj 0, j Ak ), then corresponding to the non-active constraints we can set kj = 0 for
j {1, 2, . . . , m2 } \ Ak . Hence, we have for the original problem
k
> k
Ax a
0,
0,
g + A + B
Bx b
>
k
k
Bx bk
0,
k 0.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
h i>
1 >
d Qd + g k d
2
s.t.
a>
i d = 0,
k
b>
j d = 0, j A \ {j0 }.
TU Ilmenau
k+1
= A(x + k d ) = Ax + k Adk = a + 0 = a
> k
> k
bj x + k bj d ) bj k bj d
> k
bj bj x .
k
> k
> k
k
(i) If bj> d k 0, then k b>
j d bj bj x is satisfied for any k > 0, since 0 bj bj x (recall that x is
feasible for QPI ).
(ii) If bj> d k > 0, then choose k
k =
bj bj> d k
bj> d k
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
bj bj> d k
0
0
b> d k
j0
k
k
= for some j0
/ Ak . This implies that b>
= bj0 .
j0 x + k d
That is, the inequality constraint corresponding to the index j0 be comes active.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
>
h i>
k
Qd + g
d
s.t.
>
ai d = 0,
>
k
bj d = 0, j A .
7:
8:
9:
10:
11:
12:
13:
14:
15:
if (d k = 0) then
if
e k 0 then
else
e j = min{
ej |
e j < 0, j Ak }
0
Update the index set Ak Ak \ {j0 } and GOTO Step 6.
end if
end if
end while((continue..))
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
16. if (d k 6= 0) 17.
bj b > d k
j
k
> k
k = min 1,
|j
/ A and bj d > 0 .
b> d k
j
18.
19.
Update x k+1 = x k + k d k .
Update active index-set: if k = 1, then Ak+1 = Ak , else Ak+1 = Ak {j0 }, where k =
20.
Update k k + 1.
21 end if
22. end while
bj bj> d k
0
0
for bj> d k > 0.
0
b> d k
j0
Important issues:
How to determine a starting iterate x 0 for the active-set algorithm.
ASM requires an efficient strategy for the determination of active
sets Ak at each x k .
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
TU Ilmenau
min
x
1 >
x Qx + q > x
2
s.t.
Ax = a.
x 0,
where A Rm1 n .
Any other constraints can be transformed to the above form.
If there is Bx b, then add slack variables s to obtain Bx + s = b, s 0 so that the constraints become
a
A
O
x
=
b
s
B
In
x
0.
s
If there is a box constraint xmin x xmax , then split it in two constraints
xmax x
x xmin
0.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
n
1
X
(BQP)
min
x > Qx + q > x
log xi
x 2
j=1
s.t.
Ax = a.
The Lagrange function of (BQP)
n
X
1
log xi ,
L (x, ) = x > Qx + q > x > (Ax a)
2
j=1
where x > 0.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
= b.
= b
x i si
= , i = 1, . . . n.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Qx A> s q
,
Ax b
F (x, , s) =
XS e
where X = diag (x) Rnn and S = diag (s) Rnn .
For each fixed > 0, the equation
F (x, , s) = 0.
should be solved.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
x k+1 = x k + k xk
k+1 = k + k k
s k+1 = s k + k sk .
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Q A> I
O
O ,
JF x k , k , s k = A
k
S
O
Xk
where X k = diag (x k ) and S k = diag (s k ).
In interior-point method, most computation effort is spent for solving
the system of linear equations to determine d k . This should be
accomplished by an efficient linear algebra solver.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Choose min ;
Choose initial iterates (x 0 , 0 , s 0 ) with (x 0 , s 0 ) > 0.
Set k = 0;
> k
while (
xk
s /n > ) do
Choose k [min , max ] ;
Solve the system
JF
Qx A> s q
k
k k
,
d =
x , ,s
Ax b
XS k k e
to determine d k = xk , k , sk .
7:
8:
9:
10:
11:
Set k = min 1, k max for some k (0, 1) and k =
k+1
k+1
k+1
Set (x
,
,s
) + k xk , k , sk
>
xk
sk
n
Update k k + 1.
end while
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
>
n
sk
TU Ilmenau
TU Ilmenau
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
Resources
Some use full links:
A quadratic programming page, N. Gould and P. Toint
URL: http://www.numerical.rl.ac.uk/qp/qp.html
Computational Optimization Laboratory, Y. Ye, Stanford University,
URL: http://www.stanford.edu/ yyye/Col.html
Convex Optimization, Stephen P. Boyd, Stanford University,
URL: http://www.stanford.edu/ boyd/software.html (Book, software, etc)
The HSL Mathematical Software Library (HSL=Harwell Subroutine Library),
Numerical Analysis Group at the STFC Rutherford Appleton Laboratory
URL: http://www.hsl.rl.ac.uk/
Software:
MINQ: General Definite and Bound Constrained Indefinite Quadratic Programming, Arnold Neumaier, University of
Vienna
URL: http://www.mat.univie.ac.at/ neum/software/minq/
qpOASES - Online Active Set Strategy, H.J. Ferreau, University of Lauven (Belgium),
URL: http://www.kuleuven.be/optec/software/qpOASES/
QPC - Quadratic Programming in C Adrian Wills, University of Newcastle,
URL: http://sigpromu.org/quadprog/
OOQP is an object-oriented C++ package, M. Gertz and S. Wright
URL: http://pages.cs.wisc.edu/ swright/ooqp/
Interior point Optimizer (IpOpt), A. W
achter and C. Laird
URL: https://projects.coin-or.org/Ipopt/
NLPy is a Python package for numerical optimization, D. Orban, Ecole Polytechnique de Montreal,
URL: http://nlpy.sourceforge.net/
Python based optimization solvers
URL: http://wiki.python.org/moin/NumericAndScientific
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
References
Some references on active set methods:
R.A. Bartlett and L.T. Biegler: QPSchur: a dual, active-set- Schur-complement method for large-scale and structured convex quadratic
programming. Optim. Eng., 7(2006), 532.
D. Goldfarb, A. Idnani: A numerically stable dual method for solving strictly convex quadratic programming. Math. Prog., 27(1983), 1 33.
C.M. Maes: A Regularized Active-Set Method for Sparse Convex Quadratic Programming. PhD thesis, Institute for Computational and
Mathematical Engineering, Stanford University, Stanford, CA, August 2010.
A. Potschka, C. Kirches, H.G: Bock and J.P. Shl
oder: Reliable solution of convex quadratic programs with parametric active set methods.
Optimization Online 2011.
URL: http://www.optimization-online.org/DB HTML/2010/11/2828.html.
M.J.D. Powell: On the quadratic programming algorithm of Goldfarb and Idnani. Math. Programming Stud., 25(1985), 4661.
E. Wong: Active-Set Methods for Quadratic Programming. Phd thesis, University of California, San Diego, 2011.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
References
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau
References
Some classical references on conjugate gradient methods:
R. Fletcher and M.J.D. Powell: Function Minimization by Conjugate Gradients. Comp. J., 7(1964), 149 154.
R. Fletcher and C. Reeves: Function minimization by conjugate gradients. Comput. J., 7(1964), 149 154.
R. Fletcher, Practical Methods of Optimization, John Wiley & Sons, New York, 1987.
G.H. Golub and C.F. Van Loan: Matrix Computations. Johns Hopkins University Press, Baltimore, 3rd ed., 1996.
M. R. Hestenes and E. L. Stiefel: Methods of conjugate gradients for solving linear systems, J. Research Nat. Bur.
Standards, 49 (1952), 409 436.
E. Polak , Computational Methods in Optimization: A Unified Approach. Academic Press Inc, London, 1971.
E. Polak and G. Ribiere: Note sur la convergence de directions conjug
ees, Rev. Francaise Informat Recherche
Opertionelle, 3e Ann
ee 16(1969), 35 43.
M.J.D. Powell: Some convergence properties of the conjugate gradient method, Math. Prog., 11(1976), 42 49.
M.J.D. Powell: Restart procedures of the conjugate gradient method. Math. Prog., 2(1977), 241 254.
B.T. Polyak: The conjugate gradient method in extremal problems. USSR Comput. Math. Math. Phys., 9(1969), 94
112.
J.R. Shewchuk: An Introduction to the Conjugate Gradient Method Without the Agonizing Pain.
(URL: http://www.cs.cmu.edu/ quake-papers/painless-conjugate-gradient.pdf)
Some references on box-constrained QP:
J. Brazilai and J.M. Borwein: Two-point step size gradient methods. IMA J. Numer. Anal.8(1988),
141 148.
Y. Nesterov: A method of solving convex programming problems with convergence rate O 1/k 2 . Soviet
Mathematics Doklady, 27(1983), 372 376.
Quadratic programming problems - a review on algorithms and applications (Active-set and interior point methods)
TU Ilmenau