Investigation And Benchmarking Of Quadratic Optimization Algorithms For The Study Of Control Systems

Open Access
Bahr, Adam M
Area of Honors:
Electrical Engineering
Bachelor of Science
Document Type:
Thesis Supervisors:
  • Constantino Manuel Lagoa, Thesis Supervisor
  • John Douglas Mitchell, Honors Advisor
  • control systems
  • optimization
  • quadratic optimization
  • quadratic programming
When studying practical control systems it is often useful to have a model of the system to for simulation and testing. However, many control systems can be extremely complex, which makes them difficult to simulate using an ordinary computer. In other cases one cannot determine the components of the control system individually; only the input and the output to the system are known. One solution to this issue is the use of optimization techniques to find a simpler model of the system. Optimization is a process that seeks to find the best possible solution to a particular problem that can have an infinite number of valid solutions. In the case of control systems, there are typically many systems that can produce an input/output relationship that are similar to each other. When only an input and output is known, and not the transfer equation of the system itself, it is necessary to use optimization to find the most effective transfer function. With optimization it is possible to find a model of a system that has both a minimal number of poles and a relatively small error to the system being modeled, even if the original system has an extremely complex transfer function Due to the nature in which the optimization function is derived, it is necessary to use quadratic optimization or quadratic programming, to develop a model of the system. Quadratic programming problems involve both a linear component and a quadratic component, and can be subject to one or many constraints. For the systems being analyzed in this study, the standard form of the quadratic program is: minimize over x: x^(T)Hx+ f^(T)x s.t. Ax≤b In this problem, x represents the coefficients of poles used in the system. Therefore the optimization process will attempt make as many entries of x equal to zero, while still keeping the error in the system a relatively small number. All of the computations are done in the MATLAB environment, using publicly available solvers and toolboxes to streamline the testing. Each solver was tested for speed of solution and accuracy of the objective value, and if this was not attainable, the point at which the solver failed was determined.