H∞ controller design for linear systems is a difficult, nonconvex and typically nonsmooth (nondifferentiable) optimization problem when the order of the controller is fixed to be less than that of the open-loop plant, a typical requirement in e.g. embedded aerospace control systems. In this paper we describe a new MATLAB package called HIFOO, aimed at solving fixed-order stabilization and local optimization problems. It depends on a new hybrid algorithm for nonsmooth, nonconvex optimization based on several techniques, namely quasi-Newton updating, bundling and gradient sampling. The user may request HIFOO to optimize one of several objectives, including H∞ norm, which requires either the Control System Toolbox for MATLAB or, for much better performance, the linorm function in the SLICOT package. No other external package is required, but the quadratic programming code quadprog from either MOSEK or the Optimization Toolbox for MATLAB is recommended. Numerical experiments on benchmark problem instances from the COMPleib database indicate that HIFOO could be an efficient and reliable computer-aided control system design (CACSD) tool, with a potential for realistic industrial applications.
Read full abstract