+ All Categories
Home > Documents > LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++...

LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++...

Date post: 24-Feb-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
21
Some notes on standard LMI solvers Denis Arzelier - Dimitri Peaucelle - Didier Henrion Laboratoire d’Analyse et d’Architecture des Syst ` emes LAAS-CNRS
Transcript
Page 1: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Some notes on standard

LM I solvers

Denis Arzelier - Dimitri Peaucelle - Didier Henrion

Laboratoire d’Analyse et d’Architecture des Systemes

LAAS-CNRS

Page 2: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Motivation 2

State-feedback stabilization: x(t) = Ax(t)+Bu(t) and u(t) = Kx(t)

- Quadratic Lyapunov function: v(x(t) = x0P�1x(t)

- Closed-loop Lyapunov equation: (A+BK)P+P(A+BK)0 < 0

- Linearizing change of variable: L = KP

- LM I ’s : AP+PA0+BL+L0B0 < 0 P > 0

A =2

4 �1 0

0 1

35 B =

24 0

1

35 P =

24 p1 p2

p2 p3

35 L =

h

l1 l2

i

Example : 24 �2p1 l1

l1 2p3+2l2

35< 0

24 p1 p2

p2 p3

35> 0

CVUT Praha

04/04/02

Page 3: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Standard LM I problem 3

- Feasibility problem:

9 x 2 Rm j F0+

m

∑i=1

xiFi < 0

| {z }

F(x)

, minx2Rm

λmax(F(x))

- Optimization problem:

min c0x

under

F(x)< 0,

min c0x

under

λmax(F(x))< 0

8 i ; Fi 2 Sn, linearly independant.

CVUT Praha

04/04/02

Page 4: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Standard LM I problem 4

Result 1 :

The LM I problem is a convex and non differentiable optimization problem.

Example : [G. Pataki 00]

F(x) =2

4 �x1�1 �x2

�x2 �1+ x1

35

λmax(F(x)) = 1+q

(x21 + x2

2)

−5

0

5

−5

0

51

2

3

4

5

6

7

8

9

x1

x2

λ max

Nota : [J. Cullum 75], [F. Alizadeh 95] and [Y. Nesterov 94]

CVUT Praha

04/04/02

Page 5: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Semidefinite programming (SDP) 5

Primal problem: Dual problem:

p� = min c0x

under F0 +

m

∑i=1

xiFi < 0

d� = min �Trace(F0Z)

under �Trace(FiZ) = ci i = 1; � � � ;m

Z � 0where x 2 Rm , Z 2 S n, 8 i ; Fi 2 Sm, c 2 Rm .

Applications: automatic control, (robust control), geometric problems with quadratic

forms, statistics, structural design, combinatorial problems, [Nesterov 94],

[Vandenberghe 94], [El Ghaoui 00], [Helmberg 00], [Wolcowicz 00]

CVUT Praha

04/04/02

Page 6: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Some associated problems 6

Second Order Cone Programming : SOCP

min c0x

under jjCix+dijj2 � e0ix+ fi i = 1; � � �;L

where x 2 Rm , Ci 2 R

ni�m, di 2 R

ni , ei 2 R

m , fi 2 R.

Lorentz cone - ice cream cone - quadratic cone: Qni"

Ci

e0i

#

x+"

di

f 0i

#2 Qni =

("

u

t

#j u 2Rni�1; t 2R; jjujj2 � t

)

Embedding of Qni in Sni :

jjujj2 � t ,2

4 t1 u

u0 t

35� 0 and

24 (e0ix+ fi)1 Cix+di

(Cix+di)0 (e0ix+ fi)

35� 0

Applications: [M.S. Lobo 98] grasping force optimization, FIR filter design, truss design.

CVUT Praha

04/04/02

Page 7: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Some associated problems 7

Determinant maximization : MAXDET

min c0x+ log det G(x)�1

under G(x)> 0

F(x)� 0

where x 2 Rm and G : Rm ! Sl , F : Rm ! Sn are affine mappings.

- log det G(x)�1 is related to volume in geometric problems.

- c0x+ log det G(x)�1 is a convex function on fx j G(x)> 0g.

- G(x) = 1, SDP problem.

- c = 0 et F(x) = 1, find the analytical center x� of G(x)> 0.

Applications: minimum volume ellipsoids, matrix completion problems, linear estimation,

Gaussian Channel capacity, [Vandenberghe 96].

CVUT Praha

04/04/02

Page 8: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Some associated problems 8

Generalized eigenvalue problems : GEVP

min λmax(G(x);F(x))

under G(x)> 0

H(x)> 0

where x 2 Rm and G : Rm ! Sl , F : Rm ! Sl , H : Rm ! Sn are affine mappings.

- λmax(G(x);F(x)) is quasi-convex.

- Generalized linear fractional problem:

minc0x+de0x+ f

under Ax+b� 0 ; e0x+ f > 0

Applications: automatic control, linear algebra, [Nesterov 91], [Boyd 94].

CVUT Praha

04/04/02

Page 9: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Summary of key points 9

- Large number of applications:

Automatic control, (robust control).

Truss design.

Mathematic, (geometry, graphs, statistics)

Signal processing, (FIR, antennas).

- Duality theory:

Theoritical analysis.

Algorithms design.

- Algorithmic:

Non differentiable optimization methods.

Interior-point methods.

CVUT Praha

04/04/02

Page 10: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

A slice of duality 10

Primal problem: Dual problem:

p� = min c0x

under F0 +

m

∑i=1

xiFi � 0

d� = min �Trace(F0Z)

under �Trace(FiZ) = ci i = 1; � � � ;m

Z � 0

Weak duality: p� � d� and Strong duality: p� = d�

Theorem 1 :

- If primal is strict. feasible with finite p� then p� = d�, reached by dual.

- If dual is strict. feasible with finite d� then p� = d�, reached by primal.

- If primal and dual are strict. feasible then p� = d�.

CVUT Praha

04/04/02

Page 11: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

A slice of duality (continued) 11

Nota: Duality gap, conic duality, 6= duality in LP, [Vandenberghe 96], [Ben-Tal 00].

Example : p� = d� = 0 and no solution for the primal

min x1

under

2664

x1� x2

1

x1 + x2

3775 2 Q3

max �λ2

underλ1+λ3 = 1

�λ1+λ3 = 0

λ 2 Q3

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−5

−4

−3

−2

−1

0

1

2

3

4

5

x1

x 2

région primal réalisable

CVUT Praha

04/04/02

Page 12: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

A slice of duality (continued) 12

If primal and dual are strictly feasible:

KKT optimality conditions:

Y � 0 Y +F0+

m

∑i=1

xiFi = 0

Z � 0 Trace(FiZ)+ ci = 0 i = 1; � � � ;m

F(x)Z = 0 Complementarity

CVUT Praha

04/04/02

Page 13: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Algorithms, solvers and codes 13

Non differentiable optimization methods: minx2Rm

λmax(F(x))+ c0x

- Convex analysis tools, (subdifferential, cutting planes...).

- Subgradient methods ! bundle methods.

- [Polyak 77], [Shor 85], [Hiriart-Urruty 93], [El Ghaoui 00].

Interior-point methods:

minx2Rm

c0x

F(x)< 0

�! minx2Rm

c0x�µlog det F(x)

- Reduction of the initial problem into a sequence of unconstraint differentiable problems:

self-concordant barrier, Newton methods.

- Centers methods, primal-dual methods and projective method.

- [Fiacco 68], [Karmakar 84], [Nesterov 88], [Nesterov 94], [Alizadeh 95].

CVUT Praha

04/04/02

Page 14: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Primal-dual interior-point methods 14

- Primal-dual central path: (x(µ);Z(µ);µ> 0)

min �trace(F0Z)�µlog det Z

Z > 0

�trace(FiZ) = ci i = 1; � � �;m

Y > 0 ; Y +F0+

m

∑i=1

xiFi = 0

Z > 0 ; Trace(FiZ)+ ci = 0

F(x)Z = µ1

- Newton method

- Simultaneous primal-dual solution

(x(µ);Z(µ)) �! (x�;Z�)

µk ! 0

- 3 directions: XZ (HRVW,KSH,M), NT, XZ+ZX (AHO).

CVUT Praha

04/04/02

Page 15: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

A first table 15

ALGO VERSION METHOD MATLAB INPUTS LM I LANG DIR Pb.

SDPA5.0

08.99PIPD YES SDPA YALMIP C++ 3 SDP

SeDuMi 1.05β PIPD YES

DUAL

SDPA

SDPpack

YALMIP

SeDuMiInt

LMILab

MATLAB

C-

SDP

SOCP

CSDP3.0

05.01PIPD NO SDPA YALMIP C HRVW SDP

DSDP33.2

11.00PIDS YES SDPA NO C - SDP

SDPT33.0

05.01PIPD YES

DUAL

SDPA

YALMIP

LMILab

MATLAB

C

HKM

NT

SDP

SOCP

MOSEK2.0

09.01PI YES QPS NO C NT SOCP

LOQO5.04

08.00NLP YES

DUAL

SDPA

AMPL

NO C - SOCP

CVUT Praha

04/04/02

Page 16: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

A second table 16

ALGO VERSION METHOD MATLAB INPUTS LM I LANG DIR Pb.

SBMethod1.1.1

11.00BUNDLE NO SBM NO C++ - SDP

SDPHA

(SDPT3)3.0 PIPD YES DUAL

LMITOOL

LMILab

MATLAB

C3 (+4) SDP

SDPpack0.9β

06.97PIPD YES DUAL

LMITOOL

LMILabC AHO

SDP

SQLP

MAXDETα

06.96PIPD YES MATLAB SDPSOL

MATLAB

CNN MAXDET

SP1.1

07.01PIPD YES MATLAB

SDPSOL

YALMIP

LMITOOL

LMILab

MATLAB

CNT SDP

SOCPβ

11.97PIPD YES MATLAB YALMIP

MATLAB

CNN SOCP

LMISOL1.0α

04.97PROJECTIVE NO LMISOL LMISOL LMISOL C SDP

LMILab06.95

PROJECTIVE YES MATLAB LMILabMATLAB

C-

SDP

GEVP

CVUT Praha

04/04/02

Page 17: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

Some comparisons 17

Large scale, (nber of variables m and nber of rows n), reliability, (feasibility and accuracy, 6=

measure of errors)), speed, (cpu execution time and memory size), sparsity.

- [H.D. Mittelmann 01] : An independent benchmarking of SDP and SOCP solvers

Comparison of 10 solvers, 8 are available, on 50 problems SDP and SOCP :

Every code is interesting for a sub-class of problems.

Good general codes: SDPA et SeDuMi.

- SDPA, SeDuMi, CSDP, DSDP3, SDPT3, MOSEK, LOQO,

- BMPR, BMZ, BUNDLE

- [Fujisawa 98] : Numerical evaluation of SDPA

Evaluation of SDPA and some comparison between SDPT3, CSDP and SDPSOL

CVUT Praha

04/04/02

Page 18: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

References[1] CSDP : http://www.nmt.edu/˜borchers/csdp.html

[2] MAXDET : http://www.stanford.edu/˜boyd/MAXDET/

[3] SDPA : ftp://ftp.is.titech.ac.jp/pup/OpRes/software/SDPA/

[4] SDPT3 : http://www.math.nus.edu.sg/˜mattohkc/

[5] SeDuMi : http://fewcal.kub.nl/sturm/software/sedumi.html

[6] SOCP : http://www.stanford.edu/˜boyd/SOCP/

[7] SP : http://www.ee.ucla.edu/˜vandenbe/sp/

[8] SDPpack : http://cs.nyu.edu/cs/faculty/overton/sdppack/sdppack.html

[9] SBMethod : http://www.zib.de/helmberg/SBmethod

[10] LOQO : http://www.princeton.edu/˜rvdb/

[11] MOSEK : http://www.mosek.com

[12] DSPD3 : http://www.mcs.anl.gov/˜benson/

Page 19: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

[13] LMISOL : http://www.dt.fee.unicamp.br/˜mauricio/lmisol10.html

[14] SDPHA : http://www.math.uiowa.edu/˜rsheng/SDPHA/sdpha.html

[15] YALMIP : http://www.control.isy.liu.se/˜johanl/yalmip.html

[16] SDPSOL : http://www.stanford.edu/˜boyd/SDPSOL.html

[17] LMITOOL : http://ensta.fr/uer/uma/gropco/lmi

[18] LMITRANS : http://vehicle.me.berkeley.edu/˜guiness/lmitrans.html

[19] SeDuMiInterface : http://laas.fr/˜peaucelle

[20] F. Alizadeh, “Interior point methods in semidefinite programming with applications to combinatorial optimization”, SIAM J. Optimization, Vol, 5, pp13-51, 1995.

[21] C. Beck, “Computational issues in solving LMIs”, Proceedings of the CDC, Brighton, 1991.

[22] R. Bellman, K. Fan, “On systems of linear inequalities in Hermitian matrix variables”, Proc. Sympos. Pure Math., V.L. Klee, eds. pp. 1-11, 1963.

[23] A. Ben-Tal, A. Nemirovskii, “Convex optimization in engineering”, Technical Report, Technion University, 2000.

[24] S. Boyd, L. El Ghaoui, E. Feron, V. Balakrishnan, Linear matrix inequalities in systems and control theory, Vol. 15 of SIAM studies in Applied Mathematics, 1994.

Page 20: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

[25] S. Boyd, “Convex optimization”, course reader EE236B, University of California, Los Angeles, 1997.

[26] J. Cullum, W.E. Donath, P. Wolfe, “The minimization of certain nondifferentiable sums of eigenvalues of symmetric matrices”, Mathematical Programming Study, 3, pp.

35-55, 1975.

[27] L. El Ghaoui, S. Niculescu, Advances in linear matrix inequality methods in control, SIAM advances in design and control, 2000.

[28] A.V. Fiacco, G.P. McCormick, Nonlinear programming: sequential unconstrained minimization techniques, John Wiley and Sons, NY, 1968.

[29] P. Gahinet, A. Nemirovskii, “The projective method for solving linear matrix inequalities”, Mathematical programming, Vol. 77, pp. 163-190, 1997.

[30] C. Helmberg, “Semidefinite programming for combinatorial optimization”, ZIB-Report 00-34, 2000.

[31] J.B. Iriart-Urruty, C. Lemarechal, Convex analysis and minimization algorithms I et II, Vol. 306, Springer-verlag, 1993.

[32] N. Karmakar, “A new polynomial-time algorithm for linear programming”, Combinatorica, Vol. 4, pp.373-395, 1984.

[33] M.S. Lobo, L. Vandenberghe, S. Boyd, H. Lebret, “Applications of second-order cone programming”, Linear algebra and its applications, Vol. 284, pp. 193-228, 1998.

[34] H.D. Mittelmann, “An independant benchmarking of SDP and SOCP solvers”, Septi eme DIMACS Implementation Challenge on Semidefinite and Related Optimization

Problems, Technical Report, Dept. of Mathematics, Arizona State University, 2001.

[35] Y. Nesterov, A. Nemirovskii, “A general approach to polynomial-time algorithms design for convex programming”, Technical Report, Centr. Econ. and Math. Inst., USSR

Acad. Sci., Moscow, USSR, 1988.

[36] Y. Nesterov, A. Nemirovskii, Interior-point polynomial algorithms in convex programming, Vol. 13 of SIAM studies in Applied Mathematics, 1994.

Page 21: LMI - LAASALGO VERSION METHOD MATLAB INPUTS LMI LANG DIR Pb. SDPA 5.0 08.99 PIPD YES SDPA YALMIP C++ 3 SDP SeDuMi 1.05 β PIPD YES DUAL SDPA SDPpack YALMIP SeDuMiInt LMILab MATLAB

[37] B.T. Polyak, “Subgradient mehods: a survey of soviet research”, in Nonsmooth optimization, C. Lemar echal and R. Miffin, eds., Pergamon Press, NY, 1977.

[38] N.Z. Shor, Minimization methods for non-differentiable functions, Springer verlag, 1985.

[39] M.V. Ramana, “An exact duality theory for semidefinite programming and its complexity implications”, Mathematical programming, Vol. 77, pp. 129-162,1997.

[40] L. Vandenberghe, V. Balakrishnan, “Algorithms and software tools for LMI problems in control: an overview”, Proceedings of the symposium on computer-aided controlsystem design, Dearborn, 1996.

[41] L. Vandenberghe, S. Boyd, “Semidefinite programming”, SIAM Review, Vol. 38, pp. 49-95, 1996.

[42] L. Vandenberghe, S. Boyd, S. P. Wu, “Determinant maximization with linear matrix inequality constraints”, SIAM J. on Matrix Analysis and Applications, Vol. 19, No. 2,

pp. 499-533, 1998.

[43] H. Wolkowicz, R. Saigal, L. Vandenberghe, Handbook of semidefinite programming, Kluwer’s international series, 2000.

[44] S. Zhang, “Conic optimization and the duality theory”, HPOPT, Rotterdam, 1998.


Recommended