Upload
beverly-washington
View
213
Download
1
Embed Size (px)
Citation preview
SeDuMi InterfaceA tool for solving LMI problems with SeDuMi
Yann labit,
Dimitri Peaucelle
Didier Henrion
LAAS-CNRS, Toulouse, France
2
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
3
Solver & Interface objectives
Selected solver : SeDuMi. Necessity to write an Interface. Not a GUI tool.
4
SeDuMi : not ideal nor definitive but
Low computational complexity Sparse data format Works with Matlab Free software LMI and equality constraints Complex valued constraints Work in progress
Jos F. Sturm
5
Interface to build canonical expressions for optimisation tools
LMIs and LMEs are matrix dependent expressions.
Optimisation tools use vectors of decision variables
E.g.
2221
213
12
12111
122211
22112120
2
0
0
22
20
aa
aF
a
aaF
aaa
aaaFF
00
0 im1 pppp i
m
i
FF
032
21
2221
1211
AA
aa
aaA
PP
pp
ppP
6
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
7
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
8
Using SeDuMi Interface : An example
- state feedback
Optimal controller Optimal norm
H
0''''
0'
max
'''
IDC
DCBBBBAA
γYQ
YQYYQQQQ
γ
1YQK γ
9
Step 1 : Name the LM problem
The LM problem = a Matlab object
>> quiz = sdmpb(‘Hinfty state feedback’)LM problem: Hinfty state feedbackno matrix variableno equality constraintno inequality constraintno linear objectiveUnsolved>> whos quiz Name Size Bytes Class quiz 1x1 3358 sdmpb object
10
Step 2 : declare matrix variables
Symmetric, diagonal, hermitian, structured…
>> [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 constraintno inequality constraintno linear objectiveunsolved
11
Step 3 : declare inequalities
Symmetric terms automatically addedPossible to define Kronecker products
>> [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);
12
Step 4 : declare the objective
Possible to define :
>> 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 constraintinequality constraints: index meig name 1 -Inf Q>0 2 -Inf Hinftymaximise objective: gammaunsolved
)(or XX Mtraceee rl
13
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 constraintinequality constraints: index meig name 1 eps Q>0 2 eps Hinftymaximise objective: gamma = -27.3feasible
14
Step 6 : analyse the result
inequality constraints: index meig name 1 eps Q>0 2 eps Hinftymaximise objective: gamma = -27.3feasible
Feasibility margins on each constraints:
Matrix formatted result:>> K = quiz(Yindex)/quiz(Qindex)K = 1.0e+03 * -2.5989 -8.5124 -0.1898 -4.0176
15
Other features of the Interface
Matrix equalities Complex valued constraints Complex valued variables Radius on the vector of decision variables Adapted tuning of SeDuMi options
Acknowledgements to K. Taitz
16
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, , …) – State and Output feedback– …
H 2H