Eigenvalue Optimisation via Semidefinite...

21
Computer programs for linear SDP Eigenvalue Optimisation via Semidefinite Programming Michal Koˇ cvara DCAMM Course, June 2007

Transcript of Eigenvalue Optimisation via Semidefinite...

Page 1: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Eigenvalue Optimisationvia Semidefinite Programming

Michal Kocvara

DCAMM Course, June 2007

Page 2: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Consider the eigenvalue problem

A(x)z = λz (or A(x)z = λM(x)z)

with A (and M) depending linearly on a parameter x :

A(x) =n∑

i=1

xiAi + A0

where Ai are given symmetric matrices. Assume further thatA(x) is positive semidefinite for all x .

Page 3: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Consider further the optimisation problem

minx∈Rn

cT x

subject toλmin ≥ λ0

where λmin is the smallest eigenvalue and λ0 some givenpositive number.

Looking at λmin as a function of x , the constraint is nonconvexand non-differentiable, and thus the optimisation problem israther difficult to solve.

Page 4: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

However, requiring that λmin ≥ λ0 is just the same as sayingthat all eigenvalues are greater than or equal to λ0. This, inturn, is equivalent to the constraint

A(x)− λ0I is positive semidefinite

or, with the SDP notation, A(x)− λ0I � 0.Thus the optimisation problem can be written as

minx∈Rn

cT x

subject toA(x)− λ0I � 0 .

This is a convex optimisation problem that can be solved by thebarrier (or interior-point) method in a way analogous tostandard convex NLP.

Page 5: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Primal-dual SDP pair

Primal semidefinite programming program:

minx∈Rn

{cT x | A(x)− B � 0} , (SDP-P)

Remark: (SDP-P) often written as

minx∈Rn,S∈Sm

{cT x | A(x)− B = S, S � 0}

with a slack variable S.

Dual semidefinite programming program:

maxY∈Sm

{Tr(BY ) | Tr(AjY ) = cj , j = 1, . . . , n, Y � 0} . (SDP-D)

Page 6: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

SDP Optimality conditions

Remark. For any pair X , Y ∈ Sm+, we have

Tr(SY ) = 0 ⇔ SY = YS = 0 .

Theorem (Optimality conditions): Let (P) and (D) be strictlyfeasible. The following is a system of necessary and sufficientoptimality conditions for (P) and (D):

Tr(AiY ) = ci , Y � 0, i = 1, . . . , nA(x)− B = S, S � 0YS = SY = 0.

Page 7: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Logarithmic barrier methodsPrimal log-barrier methodFor µ ↘ 0 solve

minx ,S

cT x − µ log det(S)

subject toA(x)− B = S

Dual log-barrier methodFor µ ↘ 0 solve

maxY

Tr(BY )− µ log det(Y )

subject toTr(AjY ) = cj , j = 1, . . . , n

Page 8: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Logarithmic barrier methodsPrimal-dual log-barrier methodMinimize the duality gap

Tr(BY )− cT x = Tr(SY )

using the primal-dual barrier function

−(log det(S) + log det(Y )) = − log det(SY )

For µ ↘ 0 solve

minx ,S,Y

Tr(SY )− µ log det(SY )

subject toTr(AjY ) = cj , j = 1, . . . , nA(x)− B = S

Page 9: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Central path

Perturb OC by µ > 0:

Tr(AiY ) = ci , Y � 0, i = 1, . . . , n (OCµ)A(x)− B = S, S � 0

YS = SY = µI.

Theorem: System (OCµ) has a unique solution.

Page 10: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Central path

Definition: The curve defined by solutions (x(µ), S(µ), Y (µ)) of(OCµ) is called central path.

Theorem: The central path exists if (SDP-P) and (SDP-D) arestrictly feasible.

Theorem: The pair

S∗ = limµ↘0

S(µ), Y ∗ = limµ↘0

Y (µ)

is the maximally complementary solution pair (matrices withhighest rank).

Page 11: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Primal-dual path-following methods

Given µ > 0, the pair (S(µ), Y (µ)) is the target point on thecentral path, associated with target duality gap Tr(YS) = nµ.

Idea: iteratively compute approximations of (S(µ), Y (µ)) andthus follow the central path while decreasing µ.

Assume S � 0, Y � 0, solve the OC for the P-D problem

Tr(AiY ) = ci , i = 1, . . . , nA(x)− B = S

YS = µI

by the Newton method.

Page 12: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Primal-dual path-following methods

Tr(AiY ) = ci , i = 1, . . . , nA(x)− B = S

YS = µI

Find ∆x ,∆S,∆Y :

(i) Tr(Ai∆Y ) = ci − Tr(AiY ), i = 1, . . . , n(ii) A(∆x)−∆S = A(x)

(iii) Y∆S + ∆YS = µI − YS (−∆Y∆S)

Remark: Solutions ∆S,∆Y of (iii) generally nonsymmetrix.

(∆S symmetric from (ii) but ∆Y may be nonsymmetric)

Symmetrization of (iii) needed.

Page 13: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Symmetrization techniquesReplace YS by symmetrization

HP(YS) = µI

where HP(M) = 12(PMP−1 + P−T MT PT ).

Thus (iii) becomes

(iii)′ HP(Y∆S + ∆YS) = µI − HP(YS)

The scaling matrix determines the symmetrization strategy.

P =[Y12 (Y

12 SY

12 )−

12 Y

12 ]

12 Nesterov-Todd

Y− 12 Monteiro

S12 Monteiro, Helmberg

I Alizadeh-Haeberly-Overton

Page 14: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Primal-dual path-following algorithms

Input: (S0, Y 0) ∈ P ×D

Parameters: τ < 1 and µ0 > 0

Algorithm (generic): Set S := S0, Y := Y 0, µ := µ0

while Tr(SY ) > ε do

compute ∆S,∆Y by solving (i), (ii), (iii)′

S := S + ∆S, Y := Y + ∆Ychoose 0 < θ < 1 and set µ := (1− θ)µ

end

Page 15: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Primal-dual path-following algorithms

Theorem: If τ = 1√2

and θ = 12√

n , then the primal-dualpath-following algorithm with NT symmetrization terminatesafter at most

O(

2√

n lognµ0

ε

)iterations.

Page 16: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Available codes

Primal-dual IP codes (available):CSDP-5.0 http://www.nmt.edu/∼borchers/csdp.html

very good overallSDPA-6.00 http://grid.r.dendai.ac.jp/sdpa/SDPT3-4.0 http://www.math.nus.edu.sg/∼mattohkc/

very good overallSeDuMi-1.1 http://fewcal.kub.nl/sturm/software/sedumi.html

very robust, slow on large-scale problems

Dual IP code:DSDP-5.8 http://www-unix.mcs.anl.gov/∼benson/

very good new version

Page 17: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Available codes

Augmented Lagrangian code:PENSDP-2.2 http://www.penopt.com/

First order code:SDPLR-1.02

http://dollar.biz.uiowa.edu/∼burer/software/SDPLR/very good for certain large-scale problems; maybe very slow, limited accuracy

Other codes:SBmethod-1.1.2 http://www-user.tu-

chemnitz.de/∼helmberg/SBmethod/very efficient; limited applicability

Page 18: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

SDP input

MATLAB most popular; most codes have their own MATLABinterfaces; gathered in YALMIP

http://control.ee.ethz.ch/˜joloef/yalmip.msql

ASCII file in SDPA sparse format; good for testingC/Fortran available by few codes; best for heavy-duty

applications

Page 19: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

YALMIP exampleLyapunov stability:

P � 0

AT P + PA � 0

A = [-1 2;-3 -4];P = sdpvar(2,2);

Looking for feasible solutions only

F = set(P > 0) + set(A’*P+P*A < 0);F = F + set(trace(P) == 1); %to avoid zero/unbounded solutionssolvesdp(F);

Minimizing top-left element of P

F = set(P > 0) + set(A’*P+P*A < 0);solvesdp(F,P(1,1),sdpsettings(’solver’,’sedumi’));

Page 20: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

SDPA examplemin 10 x1 + 20 x2st X = F1 x1 + F2 x2 - F0

X >= 0

F1=[1 0 0 0 F2=[1 0 0 0 F3=[0 0 0 00 2 0 0 0 1 0 0 0 1 0 00 0 3 0 0 0 0 0 0 0 5 20 0 0 4] 0 0 0 0] 0 0 2 6]

A sample problem.2 =mdim ...cont...2 =nblocks 1 1 1 1 1.0{2, 2} 1 1 2 2 1.010.0 20.0 2 1 2 2 1.00 1 1 1 1.0 2 2 1 1 5.00 1 2 2 2.0 2 2 1 2 2.00 2 1 1 3.0 2 2 2 2 6.00 2 2 2 4.0...cont...

Page 21: Eigenvalue Optimisation via Semidefinite Programmingweb.mat.bham.ac.uk/kocvara/courses/DCAMM07/algo3a.pdf · 2007. 6. 21. · Computer programs for linear SDP Consider further the

Computer programs for linear SDP

Useful WWW sites

http://www-neos.mcs.anl.gov/neos/Server for optimization. All codes mentioned here areimplemented.SDPA and Matlab binary input.

http://plato.la.asu.edu/bench.htmlBenchmarks of latest versions of all available codes.