Many control related problems can be cast as semidefinite programs but, even though there exist polynomial time algorithms and good publicly available solvers, the time it takes to solve these problems can be long. Something many of these problems have in common, is that some of the variables enter as matrix valued variables. This leads to a low-rank structure in the basis matrices which can be exploited when forming the Newton equations. In this paper, we describe the how this can be done, and show how our code can be used when using SDPT3. The idea behind this is old and is implemented in LMI Lab, but we show that when using a modern algorithm, the computational time can be reduced. Finally, we describe how the modeling language YALMIP is changed in such a way that our code can be interfaced using standard YALMIP commands, which greatly simplifies for the user.
Keywords: Semidefinite programming, Structure exploitationLowrank exploitation in semidefinite programming for control
Rikard Falkeborn, Johan Löfberg and Anders HanssonAbstract-Many control related problems can be cast as semidefinite programs but, even though there exist polynomial time algorithms and good publicly available solvers, the time it takes to solve these problems can be long. Something many of these problems have in common, is that some of the variables enter as matrix valued variables. This leads to a low-rank structure in the basis matrices which can be exploited when forming the Newton equations. In this paper, we describe the how this can be done, and show how our code can be used when using SDPT3. The idea behind this is old and is implemented in LMI Lab, but we show that when using a modern algorithm, the computational time can be reduced. Finally, we describe how the modeling language YALMIP is changed in such a way that our code can be interfaced using standard YALMIP commands, which greatly simplifies for the user.