jkoendev / optimal-control-literature-software

List of literature and software for optimal control and numerical optimization.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Literature and list of software packages for optimal control

The list includes resources to the following topics: Automatic/algorithmic differentiation, optimal control, model-predictive control (MPC), numerical optimization, modeling for control. The list will be updated regularly, create a pull request if you'd like to contribute.

Literature

Lectures

  • Lecture notes: Numerical Optimal Control by Prof. Moritz Diehl [course] [pdf]
  • Tutorial series by Metthew Kelly, [web]
  • Liberzon, Daniel. Calculus of variations and optimal control theory: a concise introduction. Princeton University Press, 2011. [pre-print]
  • Videos of lectures at the University of Florida from the Spring of 2012. Dr. Anil V. Rao. [web]

Books

  • Bertsekas, Dimitri P., et al. Dynamic programming and optimal control. Vol. 1. No. 2. Belmont, MA: Athena scientific, 1995.
  • Betts, J., Practical Methods for Optimal Control and Estimation Using Nonlinear Programming, SIAM, 2010
  • Biegler, L. T., Nonlinear Programming, SIAM, 2010
  • Model Predictive Control: Theory, Computation, and Design, 2nd Edition by Rawlings, Mayne, Diehl [web] [pdf]

Survey papers

  • F. Topputo and C. Zhang, “Survey of Direct Transcription for Low-Thrust Space Trajectory Optimization with Applications,” Abstract and Applied Analysis, vol. 2014, Article ID 851720, 15 pages, 2014. [edited

Software

High level optimal control modeling languages and optimal control software

  • Acado [github] [web]
  • acados [github] [web]
  • BOCOP [web]
  • Control toolbox, domain specific for robotics [bitbucket]
  • Dymos: Open-source Optimal Control for Multidisciplinary Systems [github]
  • ICLOCS2 [github] [web]
  • Modelica with JModelica [web]
  • OpenOCL [github] [web]
  • PSOPT [github] [web]
  • Pyomo with .DAE extension [github] [web]
  • towr, domain specific for legged robots [github]
  • AMPL with TACO extension (commercial)
  • DIDO (commercial)
  • Forces (commercial)
  • GPOPS2 (commercial)
  • gPROMS (commercial)
  • Mujoco, domain specific for robotics/contact, simulator (commercial)
  • Optimica, Dymola (commercial)
  • PROPT (commercial)

High level numerical optimization modeling languages

Numerical optimization solver

Non-linear programming

  • Ipopt [github]
  • CONOPT (commercial)
  • Forces (commercial)
  • KNITRO (commercial)
  • Matlab fmincon (commercial)
  • Snopt (commercial)
  • WORHP (commercial)

Linear, quadratic, convex programming

  • ECOS [github]
  • hpipm [github]
  • Sedumi [github]
  • qpDUNES [github]
  • qpOASES [coin-or]
  • SDPT3 [web]
  • CPLEX (commercial)
  • Gruobi (commercial)
  • MINOS (commercial)
  • Mosek (commercial)

Integer, mixed-integer programming

  • Bonmin

Automatic differentiation

Other material

  • Summer School on Numerical Optimization Software (includes a long list of solvers in the slides, see repository), Hans D. Mittelmann, Moritz Diehl [web] [repository]
  • Decision tree, benchmarks for optimization software, Hans D. Mittelmann [web]

About

List of literature and software for optimal control and numerical optimization.

License:MIT License