RIOTS-A Matlab Toolbox for Solving General Optimal Control Problems


  • 1/28/2018. RIOTS for Windows 10, MATLAB R2017b, MinGW GCC 5.3 is ready. Demo is released here. ( and readme.txt)

  • 01/2018. IFAC PID2018, Benchmark Problem. 

    • Our RIOTS_95 based MPC has achieved J=0.3 over C2 and J=0.2 over C1 without dedicated tuning/optimization. Impressively done by Sina Dehghan, Ph.D. candidate at ME Dept of UC Merced and our other members in PTUC SIG! (paper to be submitted to IFAC PID2018 is available upon request.)


RIOTS (created by A. L. Schwartz in his Ph.D. dissertation at UC Berkeley in 1996) is a group of programs and utilities, written mostly in C, Fortran, and M-file scripts and designed as a toolbox for Matlab, that provides an interactive environment for solving a very broad class of optimal control problems. It's originally running on Sun OS4. YangQuan Chen made it for Windows 95 in 1997 based on MEX4 (thus we call it RIOTS_95, with links to thesis and user's manual). Jinsong Liang rebuilt RIOTS under Win XP based on MEX6 in 2004. Tiebiao Zhao rebuilt RIOTS under Win7/8 based on MEX64 in early 2014. As of Jan. 2018, RIOTS was fully rebuilt using MATLAB R2017b and MinGW 4.9.2, again by Teibiao.

Main Contributions

  • The first implementation of consistent approximation using discretization methods based on Runge-Kutta integration.
  • Solves a very large class of finite-time optimal control problems

             - trajectory and endpoint constraints

             - control bounds

             - variable initial conditions and free final time problems

             - integral and/or endpoint cost functions

  • System functions can be supplied by the user as either C-files or M-files.
  • System dynamics can be integrated with fixed step-size Runge-Kutta integration, a discrete-time solver or a variable step-size method.
  • The controls are represented as splines, allowing for a high degree of function approximation accuracy without requiring a large number of control parameters.
  • The optimization routines use a coordinate transformation, resulting in a significant reduction in the number of iterations required to solve a problem and an increase in the solution accuracy.
  • There are three main optimization routines suited fro different levels of generality of the optimal control problem.
  • There are programs that provide estimates of the integration error.
  • The main optimization routine includes a special feature for dealing with singular optimal control problems.

Problem Description

RIOTS is designed to solve optimal control problems of the following form:


Software Requirements

  • Microsoft Windows XP(32-bit or 64-bit), Vista Business/Ultimate editions (32-bit or 64-bit), 7 Professional (32-bit or 64-bit)
  • Matlab 6.5 and later version (32-bit or 64-bit)
  • MATLAB R2017b, Windows 10, MinGW GCC 5.3. (as of Jan 2018)
  • MATLAB R2015b, Ubuntu 16.04, MinGW64. (as of Jan. 2018)


    1. RIOTS_95 User's Manual (PDF), Dr. Adam L. Schwartz's Thesis (PDF)
    2. YangQuan Chen and Adam L. Schwartz, "RIOTS_95 - a MATLAB Toolbox for Solving General Optimal Control Problems And Its Applications to Chemical Processes". Chapter in Rein Luus Editor, "Recent Developments in Optimization and Optimal Control in Chemical Engineering", Transworld Research Publishers. (2002) pp. 229-252. ISBN 81-7736-088-4 (local PDF)
    3. Y. Q. Chen, J. Liang, J. Gu and R. Fullmer. “RIOTS + AD:   Integrating Automatic Differentiation into Computational Optimal Control”. International Conference on Control Science and Engineering (ICCSE 2003). Harbin, China Dec. 18-20, 2003.  (PDF)
    4. Tricaud C, Chen Y Q. Solving fractional order optimal control problems in riots 95—a general purpose optimal control problem solver[C]//Proceedings of the 3rd IFAC Workshop on Fractional Differentiation and its Applications. 2008. (PDF)
    5. Tricaud C, Chen Y Q. An approximate method for numerically solving fractional order optimal control problems of general form [J]. Computers & Mathematics with Applications, 2010, 59(5): 1644-1655. (PDF)
    6. Song Z, Chen Y Q, Liang J S, et al. Optimal mobile sensor motion planning under non-holonomic constraints for parameter estimation of distributed systems[J]. International journal of intelligent systems technologies and applications, 2007, 3(3): 277-295. (PDF)
    7. Liang J, Fullmer R, Chen Y Q. Time-optimal magnetic attitude control for small spacecraft[C]//Decision and Control, 2004. CDC. 43rd IEEE Conference on. IEEE, 2004, 1: 255-260. (local PDF)
    8. Ucinski D, Chen Y Q. Sensor motion planning in distributed parameter systems using Turing's measure of conditioning[C]//Decision and Control, 2006 45th IEEE Conference on. IEEE, 2006: 759-764. (PDF)
    9. Tricaud C, Chen Y Q. Solution of fractional order optimal control problems using SVD-based rational approximations[C]//American Control Conference, 2009. ACC'09. IEEE, 2009: 1430-1435. (PDF)
    10. Tricaud C, Patan M, Ucinski D, et al. D-optimal trajectory design of heterogeneous mobile sensors for parameter estimation of distributed systems[C]//American Control Conference, 2008. IEEE, 2008: 663-668. (PDF)
    11. Tricaud C, Chen Y Q. Linear and nonlinear model predictive control using a general purpose optimal control problem solver RIOTS 95[C]//Control and Decision Conference, 2008. CCDC 2008. Chinese. IEEE, 2008: 1552-1557. (PDF)
    12. Tricaud C, Chen Y Q. Optimal mobile actuator/sensor network motion strategy for parameter estimation in a class of cyber physical systems[C]//American Control Conference, 2009. ACC'09. IEEE, 2009: 367-372. (local PDF)
    13. Maciej Patan, Christophe Tricaud, YangQuan Chen. Resource-Constrained Sensor Routing for Parameter Estimation of Distributed Systems. IFAC Proceedings Volumes, Volume 41, Issue 2, 2008, Pages 7772-7777 (local PDF)
    14. Tiebiao Zhao; Zhuo Li; YangQuan Chen, "Fractional order nonlinear model predictive control using RIOTS_95," Fractional Differentiation and Its Applications (ICFDA), 2014 International Conference on , pp.1-6, 23-25 June 2014; doi: 10.1109/ICFDA.2014.6967366 URL:
    15. RIOTS_95 teaching module (2 hours) (slides, pdflatex source) - part of ME280 "Fractional Order Mechanics"
    16. ... RIOTS_95 related papers at


    For further information about RIOTS, please contact Dr. YangQuan Chen. This webpage was first is created and maintained by Tiebiao Zhao and Professor YangQuan Chen. Last updated 1/26/2018 by Prof. Chen (