0% found this document useful (0 votes)
133 views17 pages

Sedumi Interface: A Tool For Solving Lmi Problems With Sedumi

This document describes a new interface tool for solving linear matrix inequality (LMI) problems using the SeDuMi solver. The interface aims to address limitations of existing tools by allowing users to define LMI problems of larger size and solve them more quickly. It provides a simplified way to declare matrix variables, constraints, and objectives and displays analysis of the solved problem. The interface was developed to make LMI problem solving more accessible and efficient for control applications.

Uploaded by

sir
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views17 pages

Sedumi Interface: A Tool For Solving Lmi Problems With Sedumi

This document describes a new interface tool for solving linear matrix inequality (LMI) problems using the SeDuMi solver. The interface aims to address limitations of existing tools by allowing users to define LMI problems of larger size and solve them more quickly. It provides a simplified way to declare matrix variables, constraints, and objectives and displays analysis of the solved problem. The interface was developed to make LMI problem solving more accessible and efficient for control applications.

Uploaded by

sir
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 17

SeDuMi Interface

A tool for solving LMI problems with SeDuMi

Yann labit,
Dimitri Peaucelle
Didier Henrion

LAAS-CNRS, Toulouse, France


Motivation

 Importance of Linear matrix Inequalities (LMI)


in Control theory and applications
 Limitations of existing tools:
– Problem size
– Computation time
– Convivial, relevant display
 Build together an adapted software

2
Solver & Interface objectives
 Selected solver : SeDuMi.
 Necessity to write an Interface.
 Not a GUI tool.

3
SeDuMi : not ideal nor definitive but
 Low computational complexity
 Sparse data format
 Works with Matlab
 Free software
 LMI and equality constraints
Jos F. Sturm  Complex valued constraints
 Work in progress

4
Interface to build canonical
expressions for optimisation tools

LMIs and LMEs are Optimisation tools use vectors of


matrix dependent decision variables
m
expressions.
p = ( p1  p m ) F0 + Σ Fi p i  0
i =0

E.g.
 − 2a21 − a11 − a22 
 a11 a12   p1 p2  F0 = 0 F2 = 
A= P= − a11 − a22 − 2a12 
a21 a22  p 2 p 3  − 2a11 − a12   0 − a21 
F1 =  F3 = 
A′P + PA 0  − a12 0  − a21 − 2a22 

5
Existing Interfaces/Parsers

 LMIlab,
LMITOOL, sdpsol, YALMIP
 Some critiques
– Lack of functionalities (LMIlab, sdpsol)
– Slow conversion (LMITOOL,sdpsol)
– Difficulties to create Matlab functions to generate
LMI problems (LMITOOL, sdpsol)
– Difficulties to analyse the obtained solution…
not a GUI and no symbolic declarations

6
Interface dedicated to LMIs
 Simplified declaration
– Structured variables : symmetric, diagonal, Hermitian…
– Structured constraints : block decomposition, Kronecker…
– Predefined objectives : trace, log(det)…
– Analysis of the solution : margin on constraints, matrix
format...
 Software constraints
– Speed : simple algebaric manipulations
– Memory space : sparse format
– Open to modifications : Matlab free source code

7
Using SeDuMi Interface :
An example

H ∞ - state feedback
max γ
Q = Q'  0
 AQ + QA'+ BY + Y ' B'+ B B ' QC∞' + Y' D∞' 
 ∞ ∞
0
 C∞ Q + D∞ Y γI



−1
Optimal controller K = YQ Optimal norm −γ

8
Step 1 : Name the LM problem

 The LM problem = a Matlab object


>> quiz = sdmpb(‘Hinfty state feedback’)
LM problem: Hinfty state feedback
no matrix variable
no equality constraint
no inequality constraint
no linear objective
Unsolved
>> whos quiz
Name Size Bytes Class
quiz 1x1 3358 sdmpb object

9
Step 2 : declare matrix variables
>> [quiz, Yindex] = sdmvar(quiz, m, n, 'Y');
>> [quiz, gindex] = sdmvar(quiz, 1, 1, 'gamma');
>> [quiz, Qindex] = sdmvar(quiz, n, 's', 'Q=Q’’')
LM problem: Hinfty state feedback
matrix variables: index name
1 Y
2 gamma
3 Q=Q’
no equality constraint
no inequality constraint
no linear objective
unsolved

Symmetric, diagonal, hermitian, structured…

10
Step 3 : declare inequalities
>> [quiz, lmi1] = sdmlmi(quiz, n, 'Q>0');
>> quiz = sdmineq(quiz, -lmi1, Qindex);

>> [quiz, lmi2] = sdmlmi(quiz, [n p], 'Hinfty');


>> quiz = sdmineq(quiz, [lmi2 1 1], Qindex, A, 1);
>> quiz = sdmineq(quiz, [lmi2 1 1], Yindex, B, 1);
>> quiz = sdmineq(quiz, [lmi2 1 1], 0, Bi);
>> quiz = sdmineq(quiz, [lmi2 2 1], Qindex, Ci, 1);
>> quiz = sdmineq(quiz, [lmi2 2 1], Yindex, Di, 1);
>> quiz = sdmineq(quiz, [lmi2 2 2], gindex);

Symmetric terms automatically added


Possible to define Kronecker products

11
Step 4 : declare the objective
>> quiz = sdmobj(quiz, gindex, 1, 1, ‘gamma’)
LM problem: Hinfty state feedback
matrix variables: index name
1 Y
2 gamma
3 Q=Q’
no equality constraint
inequality constraints: index meig name
1 -Inf Q>0
2 -Inf Hinfty
maximise objective: gamma
unsolved

Possible to define : el Xer or trace( MX)


12
Step 5 : solve the LM problem
>> quiz = sdmsol(quiz)
... computation ...
LM problem: Hinfty state feedback
matrix variables: index name
1 Y
2 gamma
3 Q=Q’
no equality constraint
inequality constraints: index meig name
1 eps Q>0
2 eps Hinfty
maximise objective: gamma = -27.3
feasible

13
Step 6 : analyse the result

Feasibility margins on each constraints:


inequality constraints: index meig name
1 eps Q>0
2 eps Hinfty
maximise objective: gamma = -27.3
feasible

Matrix formatted result:


>> K = quiz(Yindex)/quiz(Qindex)
K = 1.0e+03 *
-2.5989 -8.5124 -0.1898 -4.0176

14
Other features of the Interface

 Matrixequalities
 Complex valued constraints
 Complex valued variables
 Radius on the vector of decision variables
 Adapted tuning of SeDuMi options

Acknowledgements to K. Taitz

15
Future evolutions
 Warm-start with feasible solution
 Pre-conditioning of the optimisation problem
 Other predefined options (user’s feedback)
 Platform incorporating other solvers
 Predefined LM problems for Automatic control
– Robust analysis
– Performance (pole location, H ∞ , H 2 …)
– State and Output feedback
– …

16
Conclusion

http://www.laas.fr/~peaucell/sedumiint

mailto:[email protected]

17

You might also like