BKBulat Khusainov

Bulat Khusainov

*This is an algorithmically generated author record based on publicly available information.

Current Organizations / Institutes

The organizations/institutes from the scholar's latest article


Bulat Khusainov has a total of 11 co-authors. Here are the top co-authors by number of shared publications:


Latest Publications

  • Open Access

    Nonlinear predictive control on a heterogeneous computing platform

    by Bulat Khusainov, Eric Kerrigan, Andrea Suardi, George Constantinides


  • Automatic Software and Computing Hardware Codesign for Predictive Control

    by Bulat Khusainov, Eric C. Kerrigan, George A. Constantinides

    Model predictive control (MPC) is a computationally demanding control technique that allows dealing with multiple-input and multiple-output systems while handling constraints in a systematic way. The necessity of solving an optimization problem at every sampling instant often 1) limits the application scope to slow dynamical systems and/or 2) results in expensive computational hardware implementations. Traditional MPC design is based on the manual tuning of software and computational hardware design parameters, which leads to suboptimal implementations. This brief proposes a framework for automating the MPC software and computational hardware codesign while achieving an optimal tradeoff between computational resource usage and controller performance. The proposed approach is based on using a biobjective optimization algorithm, namely BiMADS. Two test studies are considered: a central processing unit and field-programmable gate array implementations of fast gradient-based MPC. Numerical experiments show that the optimization-based design outperforms Latin hypercube sampling, a statistical sampling-based design exploration technique.


  • Software and Hardware Code Generation for Predictive Control Using Splitting Methods

    by Harsh A. Shukla, Bulat Khusainov, Eric C. Kerrigan, Colin N. Jones


  • Open Access

    Nonlinear predictive control on a heterogeneous computing platform

    by Bulat Khusainov, Eric C. Kerrigan, Andrea Suardi, George A. Constantinides


  • What is different about embedded optimization?

    by Eric C. Kerrigan, Bulat Khusainov, George A. Constantinides

    Embedded optimization involves solving a sequence of optimization problems where the data of these problems are updated by measurements of a process that evolves in time. The solutions to these optimization problems are also used to make decisions or update some inputs to the process. Because of external disturbances, measurement noise, model uncertainty and computational errors, the exact evolution of the combined cyber-physical system cannot be accurately predicted. As a consequence, the correctness and efficiency of the optimization solver should be a function of time and the dynamics of the process. We will show that, because of the tight coupling between the algorithm, computer hardware and process, embedded optimization is more than just fast or robust optimization. We will demonstrate via some simple case studies how an engineer can systematically trade off the performance and robustness of the closed-loop system against the required computing resources, such as time, energy and space.

  • Open Access

    Multi-objective Co-design for model predictive control with an FPGA

    by B. Khusainov, E. C. Kerrigan, G. A. Constantinides

    In order to achieve the best possible performance of a model predictive controller (MPC) for a given set of resources, the software algorithm and computational platform have to be designed simultaneously. Moreover, in practical applications the controller design problem has a multi-objective nature: performance is traded off against computational hardware resource usage, namely time, energy and space. This paper proposes formulating an MPC design problem as a multi-objective optimization (MOO) problem in order to explore the design trade-offs in a systematic way. Since the design objectives in the resulting MOO problem are expensive to evaluate, i.e. evaluation requires time consuming simulations, most of the classical and evolutionary MOO algorithms cannot be employed for this class of design problems. For this reason a practical MOO algorithm that can deal with expensive-to-evaluate functions is presented. The algorithm is based on Kriging and the hypervolume criterion that was recently proposed in the expensive optimization literature. A numerical example for a fast gradient-based controller design shows that the proposed approach can efficiently explore optimal performance-resource trade-offs.


  • Open Access

    Computer architectures to close the loop in real-time optimization

    by E. C. Kerrigan, G. A. Constantinides, A. Suardi, A. Picciau, B. Khusainov

    Many modern control, automation, signal processing and machine learning applications rely on solving a sequence of optimization problems, which are updated with measurements of a real system that evolves in time. The solutions of each of these optimization problems are then used to make decisions, which may be followed by changing some parameters of the physical system, thereby resulting in a feedback loop between the computing and the physical system. Real-time optimization is not the same as `fast' optimization, due to the fact that the computation is affected by an uncertain system that evolves in time. The suitability of a design should therefore not be judged from the optimality of a single optimization problem, but based on the evolution of the entire cyber-physical system. The algorithms and hardware used for solving a single optimization problem in the office might therefore be far from ideal when solving a sequence of real-time optimization problems. Instead of there being a single, optimal design, one has to trade-off a number of objectives, including performance, robustness, energy usage, size and cost. We therefore provide here a tutorial introduction to some of the questions and implementation issues that arise in real-time optimization applications. We will concentrate on some of the decisions that have to be made when designing the computing architecture and algorithm and argue that the choice of one informs the other.