Convex Optimisation in Control
摘要
Many standard control problems such as the design of an optimal LQR controller, or of a H \(_{\infty }\) -state feedback controller or state feedback control of linear discrete time systems can be formulated as a convex optimisation problem that uses linear matrix inequalities (LMIs). In robust control, the computation of the H \(_{\infty }\) -norm of a transfer function matrix from an unwanted input to an output of interest can also be formulated as a LMI problem. Problem formulations resulting in a bilinear matrix inequality (BMI) often can be transformed into an LMI by a change of variables. A very useful tool in the reformulation of LMI problems is the Schur complement. The chapter addresses an LMI formulation of the LQR problem as an example and illustrates the usefulness of a change of variables to turn bilinear matrix inequalities (BMIs) into LMIs. Convex optimisation problems can be solved in polynomial time. Freely available software such as the LMI parser YALMIP and solvers, e.g. SeDuMi or SDPT3 are available and can be used in a GNU Octave script. Alternatively, the popular general-purpose extendable programming language Python and the Python-embedded modelling language CVXPY along with some modules such as numpy and cvxopt may be used as well. An advantage of convex optimisation on an LMI problem is that a global optimum can be found numerically if it exists even if no analytical solution to the LMI problem is known in general.