Professional Documents
Culture Documents
x
M
y
r
1
r
2
B S
H
BB
B
T
H
BS
B S
H
SB
S
T
H
SS
x
M
y
r
1
r
2
B S
H
BB
B
T
H
BS
B S
H
SB
S
T
H
SS
x
M
y
r
1
r
2
B S
H
BB
B
T
H
BS
B S
H
SB
S
T
H
SS
H
0
A
T
0
A
0
= L
0
D
0
L
0
T
or L
0
U
0
To change moving variables, work with bordered system:
K
0
V
V
T
D
L
0
Z
T
I
U
0
Y
C
H
0
A
T
0
A
0
= L
0
D
0
L
0
T
or L
0
U
0
To change moving variables, work with bordered system:
K
0
V
V
T
D
L
0
Z
T
I
U
0
Y
C
H
0
A
T
0
A
0
= L
0
D
0
L
0
T
or L
0
U
0
To change moving variables, work with bordered system:
K
0
V
V
T
D
L
0
Z
T
I
U
0
Y
C
H
M
+I A
T
M
A
M
I
Primal regularization
minimize
x
(x) +
1
2
|x|
2
2
subject to Ax = b, x u
Under certain conditions, optimal x unaltered for
k
|x|
2
2
+
1
2
k
|y|
2
2
subject to Ax +
k
y = b, x u
KKT systems
H
M
+
k
I A
T
M
A
M
k
I
x
M
y
g
M
+A
T
M
y
0
)
If | r| < , update y y + r (feasibility tol
)
else increase
Stop if | r|
and
( x) A
T
y z
Repeat (
)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 13 / 32
QPBLUR version 2: Regularized BCL for QP
Sequence of regularized BCL subproblems (, y, changing)
minimize
x, r
c
T
x +
1
2
x
T
Hx +
1
2
|x|
2
2
+ y
T
r +
1
2
|r|
2
2
subject to Ax +r = b, x u
Regularized BCL method
Solve subproblem to get x, r, z (optimality tol
)
If | r| < , update y y + r (feasibility tol
)
else increase
Stop if | r|
and
( x) A
T
y z
Repeat (
)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 13 / 32
Active-set method for BCL subproblem
Larger KKT system
H
M
+I A
T
M
I I
A
M
I
x
M
r
y
g
M
+A
T
M
y
y r +y
0
Eliminate r
H
M
+I A
T
M
A
M
1
x
M
y
g
M
+A
T
M
y
1
( y y) +r
1+(x,s)
r
=
[
Q
[
1+
[
B
[
10
16
10
15
10
14
10
13
10
12
10
11
10
10
10
9
10
10
10
9
10
8
10
7
10
6
10
5
10
4
10
3
10
2
10
1
10
0
Relative (reference) objective and infeasibility
Primal infeasibility
O
b
j
e
c
t
i
v
e
r
e
f
e
r
e
n
c
e
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 20 / 32
Maros and Meszaros convex QPs
QPBLUR solves 128/130 problems
QPBLUR versus SQOPT (time)
10
0
10
1
10
2
10
3
10
4
0
10
20
30
40
50
60
70
80
90
100
x
P
e
r
c
e
n
t
a
g
e
o
f
p
r
o
b
l
e
m
s
w
i
t
h
i
n
a
f
a
c
t
o
r
x
o
f
t
h
e
b
e
s
t
QPBLUR
SQOPT
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 21 / 32
Comparison with LANCELOT on QPs
LANCELOT solves the NLP
minimize
x
(x)
subject to c(x) = 0, x u
by solving BCL subproblems
minimize
x
(x) y
T
k
c(x) +
1
2
k
|c(x)|
2
2
subject to x u
LANCELOT uses SBMIN subproblem solver:
trust-region with gradient-projection method
CG with band preconditioner (MA57 optional)
QPBLUR uses the same outer algorithm (BCL)
adjusting primal regularization each BCL iteration
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 22 / 32
Comparison with LANCELOT on QPs
20 convex CUTEr QPs with many degrees of freedom
LANCELOT option quadratic-problem YES
QPBLUR versus LANCELOT (time)
10
0
10
1
10
2
10
3
0
10
20
30
40
50
60
70
80
90
100
Performance profile (CPU time) on 19 CUTEr QPs with many degrees of freedom
QPBLUR
LANCELOT
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 23 / 32
QPBLUR inside SNOPT
SNOPTs SQP method for NLPs (using rst derivatives)
minimize
x
(x) subject to
x
c(x)
Ax
u
QP subproblems
minimize
x
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
)
subject to linearized constraints + bounds
Warm start QPBLUR with (x, y) and active set from previous QP
Block-LU KKT updates handle quasi-Newton H
k
= G
T
k
G
k
as well as active-set changes
If QP infeasible, revert to SQOPT (elastic bounds on linearized
constraints)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 24 / 32
QPBLUR inside SNOPT
SNOPTs SQP method for NLPs (using rst derivatives)
minimize
x
(x) subject to
x
c(x)
Ax
u
QP subproblems
minimize
x
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
)
subject to linearized constraints + bounds
Warm start QPBLUR with (x, y) and active set from previous QP
Block-LU KKT updates handle quasi-Newton H
k
= G
T
k
G
k
as well as active-set changes
If QP infeasible, revert to SQOPT (elastic bounds on linearized
constraints)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 24 / 32
QPBLUR inside SNOPT
SNOPTs SQP method for NLPs (using rst derivatives)
minimize
x
(x) subject to
x
c(x)
Ax
u
QP subproblems
minimize
x
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
)
subject to linearized constraints + bounds
Warm start QPBLUR with (x, y) and active set from previous QP
Block-LU KKT updates handle quasi-Newton H
k
= G
T
k
G
k
as well as active-set changes
If QP infeasible, revert to SQOPT (elastic bounds on linearized
constraints)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 24 / 32
QPBLUR inside SNOPT
SNOPTs SQP method for NLPs (using rst derivatives)
minimize
x
(x) subject to
x
c(x)
Ax
u
QP subproblems
minimize
x
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
)
subject to linearized constraints + bounds
Warm start QPBLUR with (x, y) and active set from previous QP
Block-LU KKT updates handle quasi-Newton H
k
= G
T
k
G
k
as well as active-set changes
If QP infeasible, revert to SQOPT (elastic bounds on linearized
constraints)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 24 / 32
QPBLUR inside SNOPT
SNOPTs SQP method for NLPs (using rst derivatives)
minimize
x
(x) subject to
x
c(x)
Ax
u
QP subproblems
minimize
x
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
)
subject to linearized constraints + bounds
Warm start QPBLUR with (x, y) and active set from previous QP
Block-LU KKT updates handle quasi-Newton H
k
= G
T
k
G
k
as well as active-set changes
If QP infeasible, revert to SQOPT (elastic bounds on linearized
constraints)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 24 / 32
Nonlinear CUTEr problems
92 problems with 2000 or more degrees of freedom (m n)
10
3
10
4
0
10
20
30
40
50
60
70
80
90
p
#
o
f
p
r
o
b
l
e
m
s
l
a
r
g
e
r
t
h
a
n
p
n
nS
0
10
20
30
40
50
60
70
80
90
100
%
o
f
p
r
o
b
l
e
m
s
l
a
r
g
e
r
t
h
a
n
p
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 25 / 32
Nonlinear CUTEr problems
QPBLUR using UMFPACK
SNOPT-QPBLUR versus SNOPT-SQOPT (time)
10 20 30 40 50 60 70 80
0
10
20
30
40
50
60
70
80
90
100
x
%
o
f
p
r
o
b
l
e
m
s
w
i
t
h
a
f
a
c
t
o
r
x
o
f
t
h
e
b
e
s
t
Performance profile (time) for 92 CUTEr problems with 2000 or more superbasics
QPBLUR
SQOPT
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 26 / 32
Nonlinear CUTEr problems
Functions (x), c(x), , c
i
(x) can be expensive
SNOPT-QPBLUR versus SNOPT-SQOPT (functions)
1 2 3 4 5 6 7 8 9 10
0
10
20
30
40
50
60
70
80
90
100
x
%
o
f
p
r
o
b
l
e
m
s
w
i
t
h
i
n
a
f
a
c
t
o
r
x
o
f
t
h
e
b
e
s
t
Performance profile (evaluations) for 92 CUTEr problems with 2000 or more superbasics
QPBLUR
SQOPT
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 27 / 32
JANNSON3 problem
minimize
1
2
x
4
1
+
1
2
x
2
2
+ (1 x
2
1
) +
2n
i=1
(x
i
1)
2
+ d
1
x
1
+ d
2
x
2
x
2
1
x
2
d
1
x
1
d
2
x
2
subject to
2n
i=1
x
i
1 = 0,
2n
i=1
x
2
1
0.75 0
(x
2
)
T
x
1
+ (x
1
)
T
x
2
(x
1
)
T
x
2
1/(5n) 0
(x
2
)
T
x
1
+ (x
1
)
T
x
2
(x
1
)
T
x
2
1/(5n) 0
1 x
i
1, i = 1, . . . , 2n
20000 variables, 3 nonlinear constraints, 1 linear constraint + bounds
19999 degrees of freedom at solution
SNOPT-QPBLUR solved the problem in
8 major iterations
2 or 3 BCL iterations per major
1 QPBLUR iteration per BCL subproblem
10 seconds
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 28 / 32
Contributions and future work
Contributions
Active-set method + KKT systems allows many degrees of
freedom
Block-LU updates allow any black-box LU (preferably with
separate L and U)
Regularization ensures nonsingular KKT systems
BCL algorithm (sequence of regularized QP subproblems)
moderates the perturbation to the original problem
QPBLUR takes full advantage of convexity to permit a
simplied algorithm (for each QP subproblem)
No need for Phase 1
No need to control inertia (no KKT repair)
No danger of cycling in the presence of degeneracy
(trivial step-length procedure, bounds satised exactly)
Can warm start from any point and any active set
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 29 / 32
Contributions
Active-set method + KKT systems allows many degrees of
freedom
Block-LU updates allow any black-box LU (preferably with
separate L and U)
Regularization ensures nonsingular KKT systems
BCL algorithm (sequence of regularized QP subproblems)
moderates the perturbation to the original problem
QPBLUR takes full advantage of convexity to permit a
simplied algorithm (for each QP subproblem)
No need for Phase 1
No need to control inertia (no KKT repair)
No danger of cycling in the presence of degeneracy
(trivial step-length procedure, bounds satised exactly)
Can warm start from any point and any active set
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 29 / 32
Future work (SNOPT-QPBLUR integration)
Handle elastic mode without reverting to SQOPT
minimize
x, r
(x) + |r|
1
subject to
x
c(x) +r
Ax
u
minimize
x, s, r
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
) + |r|
1
subject to c
k
+J
k
(x x
k
) s +r = 0
x
s
Ax
u
Use SQOPT when dof small, switch to QPBLUR (or icQP!)
Make SNOPT aware of primal regularization
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 30 / 32
Future work (SNOPT-QPBLUR integration)
Handle elastic mode without reverting to SQOPT
minimize
x, r
(x) + |r|
2
2
subject to
x
c(x) +r
Ax
u
minimize
x, s, r
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
) + |r|
2
2
subject to c
k
+J
k
(x x
k
) s +r = 0
x
s
Ax
u
Use SQOPT when dof small, switch to QPBLUR (or icQP!)
Make SNOPT aware of primal regularization
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 30 / 32
Future work (SNOPT-QPBLUR integration)
Handle elastic mode without reverting to SQOPT
minimize
x, r
(x) + |r|
2
2
subject to
x
c(x) +r
Ax
u
minimize
x, s, r
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
) + |r|
2
2
subject to c
k
+J
k
(x x
k
) s +r = 0
x
s
Ax
u
Use SQOPT when dof small, switch to QPBLUR (or icQP!)
Make SNOPT aware of primal regularization
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 30 / 32
Future work (SNOPT-QPBLUR integration)
Handle elastic mode without reverting to SQOPT
minimize
x, r
(x) + |x|
2
2
subject to
x
c(x) +r
Ax
u
minimize
x, s, r
k
+g
T
k
(x x
k
) +
1
2
(x x
k
)
T
H
k
(x x
k
) + |x|
2
2
subject to c
k
+J
k
(x x
k
) s +r = 0
x
s
Ax
u
Use SQOPT when dof small, switch to QPBLUR (or icQP!)
Make SNOPT aware of primal regularization
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 30 / 32
Future work (QPBLUR)
Relax stopping criterion based on
dual optimality condition of original QP?
Detailed sparse solver performance study:
LUSOL, MA57, PARDISO, SuperLU, UMFPACK, MUMPS
Block-LDL
T
updates (take advantage of symmetry)
Develop gradient projection subproblem solver
(allow for multiple changes to the active-set)
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 31 / 32
References
Hanh Huynh (QPBLU)
A Large-scale Quadratic Programming Solver Based on Block-LU Updates of
the KKT system
SCCM, Stanford University, Sep 2008
Christopher Maes (QPBLUR)
A Regularized Active-set Method for Sparse Convex Quadratic Programming
ICME, Stanford University, Nov 2010
Elizabeth Wong (icQP)
Active-Set Methods for Quadratic Programming
Dept of Mathematics, UC San Diego, Jun 2011
Philip Gill and Elizabeth Wong
SQIC = SQOPT + icQP
Reduced-gradient method or Block-LU updates of KKT
Convex and nonconvex QP
Aiming to handle 2nd derivatives in SNOPT
One day: SQICr = SQOPT + icQP + QPBLUR??
Funding: COMSOL, ONR, ARL, DOE
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
References
Hanh Huynh (QPBLU)
A Large-scale Quadratic Programming Solver Based on Block-LU Updates of
the KKT system
SCCM, Stanford University, Sep 2008
Christopher Maes (QPBLUR)
A Regularized Active-set Method for Sparse Convex Quadratic Programming
ICME, Stanford University, Nov 2010
Elizabeth Wong (icQP)
Active-Set Methods for Quadratic Programming
Dept of Mathematics, UC San Diego, Jun 2011
Philip Gill and Elizabeth Wong
SQIC = SQOPT + icQP
Reduced-gradient method or Block-LU updates of KKT
Convex and nonconvex QP
Aiming to handle 2nd derivatives in SNOPT
One day: SQICr = SQOPT + icQP + QPBLUR??
Funding: COMSOL, ONR, ARL, DOE
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
References
Hanh Huynh (QPBLU)
A Large-scale Quadratic Programming Solver Based on Block-LU Updates of
the KKT system
SCCM, Stanford University, Sep 2008
Christopher Maes (QPBLUR)
A Regularized Active-set Method for Sparse Convex Quadratic Programming
ICME, Stanford University, Nov 2010
Elizabeth Wong (icQP)
Active-Set Methods for Quadratic Programming
Dept of Mathematics, UC San Diego, Jun 2011
Philip Gill and Elizabeth Wong
SQIC = SQOPT + icQP
Reduced-gradient method or Block-LU updates of KKT
Convex and nonconvex QP
Aiming to handle 2nd derivatives in SNOPT
One day: SQICr = SQOPT + icQP + QPBLUR??
Funding: COMSOL, ONR, ARL, DOE
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
References
Hanh Huynh (QPBLU)
A Large-scale Quadratic Programming Solver Based on Block-LU Updates of
the KKT system
SCCM, Stanford University, Sep 2008
Christopher Maes (QPBLUR)
A Regularized Active-set Method for Sparse Convex Quadratic Programming
ICME, Stanford University, Nov 2010
Elizabeth Wong (icQP)
Active-Set Methods for Quadratic Programming
Dept of Mathematics, UC San Diego, Jun 2011
Philip Gill and Elizabeth Wong
SQIC = SQOPT + icQP
Reduced-gradient method or Block-LU updates of KKT
Convex and nonconvex QP
Aiming to handle 2nd derivatives in SNOPT
One day: SQICr = SQOPT + icQP + QPBLUR??
Funding: COMSOL, ONR, ARL, DOE
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Extra slides
28 Infeasible problems
Infeasible LP test problems (Netlib lpi xxx)
Results from April 2009 (Ban saddle point systems meeting)
0 5 10 15 20 25 30
0
0.5
1
1.5
2
2.5
3
3.5
4
x 10
4
Problem
I
t
e
r
a
t
i
o
n
s
10
12
1
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Quickly changing the active-set
Typical active-set methods add/delete a constraint per iteration.
k
0
constraints active at x
0
and k
constraints active at x
Require at least [k
0
k
[ iterations
Gradient projection on bound constrained problems
x
k+1
= project x
k
(x
k
) onto x : x u
Dene active-set via constraints active at x
k+1
Optimize in subspace of free variables
Allows for large changes to the active-set
Apply Gradient projection to BCL subproblem: minimize
xu
/(x, y, )
Solve same regularized KKT system to accurately optimize in
subspace
If active-set changes dramatically refactor KKT; otherwise use
BLU updates
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Regularized QP subproblem
Bound-constrained subproblem
minimize
x
c
T
x +
1
2
x
T
H
x + y
T
(b Ax) +
1
2
1/2
(b Ax)
2
2
subject to x u
with H
~ 0, D
~ 0 and diagonal
Linearly constrained subproblem
minimize
x, r
c
T
x +
1
2
x
T
H
x + y
T
r +
1
2
r
T
D
r
subject to Ax +r = b, x u
Prefer to work with constrained problem for numerical reasons
Can always satisfy Ax +r = b, x u
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Regularized QP subproblem
Bound-constrained subproblem
minimize
x
c
T
x +
1
2
x
T
H
x + y
T
(b Ax) +
1
2
1/2
(b Ax)
2
2
subject to x u
with H
~ 0, D
~ 0 and diagonal
Linearly constrained subproblem
minimize
x, r
c
T
x +
1
2
x
T
H
x + y
T
r +
1
2
r
T
D
r
subject to Ax +r = b, x u
Prefer to work with constrained problem for numerical reasons
Can always satisfy Ax +r = b, x u
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Active-set method for QP subproblem
Yields larger KKT system
H
M
A
T
M
D
I
A
M
I
x
M
r
y
g
M
+A
T
M
y
y D
r +y
0
H
M
A
T
M
A
M
D
1
x
M
y
g
M
+A
T
M
y
D
1
( y y) +r
1
2
x
T
x +
1
2
r
T
r
subject to Ax +r = b, x u
Can solve weighted LS problems with covariance matrix W ~ 0
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Solver for sparse least squares problems
Method for sparse least squares problems
that avoids forming H = A
T
A
Sparse version of LSSOL
Tikhonov regularized bound-constrained least squares
minimize
x
|b Ax|
2
2
+ |x|
2
2
subject to x u
Regularized QP subproblem
minimize
x, r
1
2
x
T
x +
1
2
r
T
r
subject to Ax +r = b, x u
Can solve weighted LS problems with covariance matrix W ~ 0
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32
Solver for sparse least squares problems
Method for sparse least squares problems
that avoids forming H = A
T
A
Sparse version of LSSOL
Tikhonov regularized bound-constrained least squares
minimize
x
|b Ax|
2
2
+ |x|
2
2
subject to x u
Regularized QP subproblem
minimize
x, r
1
2
x
T
x +
1
2
r
T
r
subject to Ax +r = b, x u
Can solve weighted LS problems with covariance matrix W ~ 0
Christopher Maes and Michael Saunders QPBLUR: A Regularized Active-Set Method for Convex QP 32 / 32