Optimal control

Nothing to see here; I don’t do optimal control. But here are some notes for when I thought I might.

Feedback Systems: An Introduction for Scientists and Engineers by Karl J. Åström and Richard M. Murray is an interesting control systems theory course from Caltech.

The online control blog post mentioned below has a summary

Perhaps the most fundamental setting in control theory is a LDS is with quadratic costs \(c_t\) and i.i.d Gaussian perturbations \(w_t\). The solution known as the Linear Quadratic Regulator, derived by solving the Riccati equation, is well understood and corresponds to a linear policy (i.e. the control input is a linear function of the state).

The assumption of i.i.d perturbations has been relaxed in classical control theory, with the introduction of a min-max notion, in a subfield known as \(H_{\infty}\) control. Informally, the idea behind \(H_{\infty}\) control is to design a controller which performs well against all sequences of bounded perturbations.

Nuts and bolts

Åström et al maintain a supporting python toolkit, python-control.

OPENMODELICA is an open-source Modelica-based modeling and simulation environment intended for industrial and academic usage. Its long-term development is supported by a non-profit organization – the Open Source Modelica Consortium (OSMC).


openMDAO is an open-source high-performance computing platform for systems analysis and multidisciplinary optimization, written in Python. It enables you to decompose your models, making them easier to build and maintain, while still solving them in a tightly coupled manner with efficient parallel numerical methods.

The OpenMDAO project is primarily focused on supporting gradient-based optimization with analytic derivatives to allow you to explore large design spaces with hundreds or thousands of design variables, but the framework also has a number of parallel computing features that can work with gradient-free optimization, mixed-integer nonlinear programming, and traditional design space exploration.


New Methods in Control: The Gradient Perturbation Controller by Naman Agarwal, Karan Singh and Elad Hazan (Agarwal et al. 2019; Agarwal, Hazan, and Singh 2019).

Agarwal, Naman, Brian Bullins, Elad Hazan, Sham M. Kakade, and Karan Singh. 2019. “Online Control with Adversarial Disturbances,” February. http://arxiv.org/abs/1902.08721.

Agarwal, Naman, Elad Hazan, and Karan Singh. 2019. “Logarithmic Regret for Online Control,” September. http://arxiv.org/abs/1909.05062.

Andersson, Joel A. E., Joris Gillis, Greg Horn, James B. Rawlings, and Moritz Diehl. 2019. “CasADi: A Software Framework for Nonlinear Optimization and Optimal Control.” Mathematical Programming Computation 11 (1): 1–36. https://doi.org/10.1007/s12532-018-0139-4.

Betts, John T. 2001. Practical Methods for Optimal Control Using Nonlinear Programming. Society for Industrial and Applied Mathematics. http://books.google.com?id=Yn53JcYAeaoC.

Biegler, Lorenz T. 2010. Nonlinear Programming: Concepts, Algorithms, and Applications to Chemical Processes. SIAM. http://books.google.com?id=VdB1wJQu0sgC.

Garbuno-Inigo, Alfredo, Franca Hoffmann, Wuchen Li, and Andrew M. Stuart. 2020. “Interacting Langevin Diffusions: Gradient Structure and Ensemble Kalman Sampler.” SIAM Journal on Applied Dynamical Systems 19 (1): 412–41. https://doi.org/10.1137/19M1251655.

Kappen, H. J., and H. C. Ruiz. 2016. “Adaptive Importance Sampling for Control and Inference.” Journal of Statistical Physics 162 (5): 1244–66. https://doi.org/10.1007/s10955-016-1446-7.

Kim, Jin W., and Prashant G. Mehta. 2019. “An Optimal Control Derivation of Nonlinear Smoothing Equations,” April. https://arxiv.org/abs/1904.01710v1.

Spencer, Neil A., and Cosma Rohilla Shalizi. 2020. “Projective, Sparse, and Learnable Latent Position Network Models,” February. http://arxiv.org/abs/1709.09702.

Taghvaei, Amirhossein, and Prashant G. Mehta. 2019. “An Optimal Transport Formulation of the Ensemble Kalman Filter,” October. https://arxiv.org/abs/1910.02338v1.