DIDO (// DY-doh) is a software product for solving general-purpose optimal control problems. It is widely used in academia, industry, and NASA. Hailed as a breakthrough software, DIDO is based on the pseudospectral optimal control theory of Ross and Fahroo.
DIDO utilizes trademarked expressions and objects that facilitate a user to quickly formulate and solve optimal control problems. Rapidity in formulation is achieved through a set of DIDO expressions which are based on variables commonly used in optimal control theory. For example, the state, control and time variables are formatted as:
- primal.controls, and
The entire problem is codified using the key words, cost, dynamics, events and path:
- problem.events, and
A user runs DIDO using the one-line command:
[cost, primal, dual] = dido(problem, algorithm),
where the object defined by
algorithm allows a user to choose various options. In addition to the cost value and the primal solution, DIDO automatically outputs all the dual variables that are necessary to verify and validate a computational solution. The output
dual is computed by an application of the covector mapping principle.
DIDO implements a spectral algorithm based on pseudospectral optimal control theory founded by Ross and his associates. The covector mapping principle of Ross and Fahroo eliminates the curse of sensitivity associated in solving for the costates in optimal control problems. DIDO generates spectrally accurate solutions  whose extremality can be verified using Pontryagin's Minimum Principle. Because no knowledge of pseudospectral methods is necessary to use it, DIDO is often used as a fundamental mathematical tool for solving optimal control problems. That is, a solution obtained from DIDO is treated as a candidate solution for the application of Pontryagin's minimum principle as a necessary condition for optimality.
DIDO is used world wide in academia, industry and government laboratories. Thanks to NASA, DIDO was flight-proven in 2006. On November 5, 2006, NASA used DIDO to maneuver the International Space Station to perform the zero-propellant maneuver.
MATLAB optimal control toolbox
DIDO is also available as a MATLAB "toolbox" product. It does not require the MATLAB Optimization Toolbox or any other third-party software like SNOPT or IPOPT or other nonlinear programming solvers.
The optimal control toolbox is named after Dido, the legendary founder and first queen of Carthage who is famous in mathematics for her remarkable solution to a constrained optimal control problem even before the invention of calculus. Invented by Ross, DIDO was first produced in 2001. The software is widely cited and has many firsts to its credit:      
- First general-purpose object-oriented optimal control software
- First general-purpose pseudospectral optimal control software
- First flight-proven general-purpose optimal control software
- First embedded general-purpose optimal control solver
- First guess-free general-purpose optimal control solver
Several different versions of DIDO are available from Elissar Global.
- Bellman pseudospectral method
- Chebyshev pseudospectral method
- Covector mapping principle
- Fariba Fahroo
- Flat pseudospectral methods
- I. Michael Ross
- Legendre pseudospectral method
- Ross–Fahroo lemma
- Ross' π lemma
- Ross–Fahroo pseudospectral methods
- Ross, I. M. A Primer on Pontryagin's Principle in Optimal Control, Second Edition, Collegiate Publishers, San Francisco, 2015.
- Ross, I. M.; Karpenko, M. (2012). "A Review of Pseudospectral Optimal Control: From Theory to Flight". Annual Reviews in Control. 36: 182–197. doi:10.1016/j.arcontrol.2012.09.002.
- Eren, H., "Optimal Control and the Software," Measurements, Instrumentation, and Sensors Handbook, Second Edition, CRC Press, 2014, pp.92-1-16.
- Ross, I. M.; D'Souza, C. N. (2005). "A Hybrid Optimal Control Framework for Mission Planning". Journal of Guidance, Control and Dynamics. 28 (4): 686–697. doi:10.2514/1.8285.
- Rao, A. V. (2014). "Trajectory Optimization: A Survey". Optimization and Optimal Control of Automotive Systems. LNCIS 455: 3–21.
- Conway, B. A. (2012). "A Survey of Methods Available for the Numerical Optimization of Continuous Dynamical Systems". Journal of Optimization Theory and Applications. 152: 271–306.
- A. M. Hawkins, Constrained Trajectory Optimization of a Soft Lunar Landing From a Parking Orbit, S.M. Thesis, Dept. of Aeronautics and Astronautics, Massachusetts Institute of Technology, 2005. http://dspace.mit.edu/handle/1721.1/32431
- Q. Gong, W. Kang, N. Bedrossian, F. Fahroo, P. Sekhavat and K. Bollino, Pseudospectral Optimal Control for Military and Industrial Applications, 46th IEEE Conference on Decision and Control, New Orleans, LA, pp. 4128-4142, Dec. 2007.
- National Aeronautics and Space Administration. "Fact Sheet: International Space Station Zero-Propellant Maneuver (ZPM) Demonstration." June 10, 2011. (Sept. 13, 2011) http://www.nasa.gov/mission_pages/station/research/experiments/ZPM.html
- W. Kang and N. Bedrossian, "Pseudospectral Optimal Control Theory Makes Debut Flight, Saves nasa $1m in Under Three Hours," SIAM News, 40, 2007.
- L. Keesey, "TRACE Spacecraft's New Slewing Procedure." NASA's Goddard Space Flight Center. National Aeronautics and Space Administration. Dec. 20, 2010. (Sept. 11, 2011) http://www.nasa.gov/mission_pages/sunearth/news/trace-slew.html.
- B. Honegger, "NPS Professor's Software Breakthrough Allows Zero-Propellant Maneuvers in Space." Navy.mil. United States Navy. April 20, 2007. (Sept. 11, 2011) http://www.elissarglobal.com/wp-content/uploads/2011/07/Navy_News.pdf.
- Kallrath, Josef (2004). Modeling Languages in Mathematical Optimization. Dordrecht, The Netherlands: Kluwer Academic Publishers. pp. 379–403.
- Ross, I. M.; Fahroo, F. (2004). "Pseudospectral Knotting Methods for Solving Optimal Control Problems". Journal of Guidance, Control and Dynamics. 27 (3): 397–405. doi:10.2514/1.3426.
- J. R. Rea, A Legendre Pseudospectral Method for Rapid Optimization of Launch Vehicle Trajectories, S.M. Thesis, Dept. of Aeronautics and Astronautics, Massachusetts Institute of Technology, 2001. http://dspace.mit.edu/handle/1721.1/8608
- Josselyn, S.; Ross, I. M. (2003). "A Rapid Verification Method for the Trajectory Optimization of Reentry Vehicles". Journal of Guidance, Control and Dynamics. 26 (3): 505–508. doi:10.2514/2.5074.
- Infeld, S. I. (2005). "Optimization of Mission Design for Constrained Libration Point Space Missions" (PDF). Stanford University.
- Gong, Q.; Fahroo, F.; Ross, I. M. (2008). "A Spectral Algorithm for Pseudospectral Methods in Optimal Control". Journal of Guidance, Control and Dynamics. 31 (3): 460–471. doi:10.2514/1.32908.
- D. Delahaye, S. Puechmorel, P. Tsiotras, and E. Feron, "Mathematical Models for Aircraft Trajectory Design : A Survey" Lecture notes in Electrical Engineering, 2014, Lecture Notes in Electrical Engineering, 290 (Part V), pp 205-247
- S. E. Li, K. Deng, X. Zang, and Q. Zhang, "Pseudospectral Optimal Control of Constrained Nonlinear Systems," Ch 8, in Automotive Air Conditioning: Optimization, Control and Diagnosis, edited by Q. Zhang, S. E. Li and K. Deng, Springer 2016, pp. 145-166.
- "DIDO: Optimal control software". Promotional web page. Mathworks.
- Fahroo, F.; Doman, D. B.; Ngo, A. D. (2003). "Modeling Issues in Footprint Generation of Resuable Launch Vehicles". Proceedings of the IEEE Aerospace Conference. 6: 2791–2799. doi:10.1109/aero.2003.1235205.
- "Elissar Global". web site. distributes the software.
- Ross, I. Michael; Fahroo, Fariba (2003). "Legendre Pseudospectral Approximations of Optimal Control Problems" (PDF). Springer Verlag.
- Bollino, K.; Lewis, L. R.; Sekhavat, P.; Ross, I. M. (2007). "Pseudospectral Optimal Control: A Clear Road for Autonomous Intelligent Path Planning" (PDF). AIAA.
- Kang, W.; Ross, I. M.; Gong, Q. (2007). "Pseudospectral Optimal Control and Its Convergence Theorems". Springer Berlin Heidelberg.
- Ross, I. M. (2009). "A Primer on Pontryagin's Principle in Optimal Control". Collegiate Publishers. ISBN 978-0-9843571-0-9.