ANNOUNCING: +--------------------------******--------------------------+ | | | R I O T S _ 9 5 (version 1.0) | | | | A Matlab Toolbox for Solving Optimal Control Problems | | | +--------------------------******--------------------------+ for Windows3.x, Windows9x and WindowsNT. RIOTS is a group of programs and utilities, written mostly in C and designed as a toolbox for Matlab, that provides an interactive environment for solving a very broad class of finite-horizon optimal multi-variable control problems. This class includes problems with: * Lagrange, Bolza and Mayer type objective functions * Linear or Nonlinear dynamics * Min-Max objective functions * Free final time problems * Variable initial conditions * Endpoint equality and inequality constraints * Trajectory inequality constraints on the states and controls * Simple bounds on the controls and free initial conditions The user can supply objective, constraint and dynamics functions as either object code or M-files. Derivatives of these functions should also be supplied. The optimal control is an accumulation point of the solutions RIOTS obtains to a sequence of discretized optimal control problems. The discretized problems are, in a specific sense, consistent approximations to the original continuous-time, optimal control problem. The discretized optimal control problems are constructed by integrating the system dynamics with one of four fixed step-size Runge-Kutta integration methods, a discretized solver or a variable step-size integration algorithm and by representing the controls as finite-dimensional B-splines. The integrations proceed over a (possibly non-uniform) mesh that specifies the spline breakpoints. Solutions of the discretized, finite-dimensional problems are obtained using one of three descent methods using standard nonlinear programming techniques. The solution obtained for one discretized problem can be used to automatically select a new integration mesh upon which the optimal control problem can be re-discretized to produce a new discretized problem. The new discretized problem will more accurately approximate the original, continuous-time optimal control problem. Hence, its solution will be more accurate. In practice, only a few such re-discretizations need to be performed to achieve an acceptable solution. RIOTS provides three different programs that perform the discretization and solve the finite-dimensional discretized problem. The appropriate choice of optimization program depends on the type of problem being solved as well as the number of points in the integration mesh. In addition to these optimization programs, RIOTS also includes other utility programs that are used to refine the discretization mesh, to compute estimates of integration errors, to compute estimates for the error between the numerically obtained solution and the optimal control and to deal with oscillations that arise in the numerical solution of singular optimal control problems. A complete description of RIOTS is contained in the RIOTS user's manual (91 pages). A postscript version of the user's manual is downloadable from the World Wide Web. ---------------------------------------------------------------------- Requirements: IBM PC compatible with Windows3.1, Windows95 or WinNt. Matlab 5.x, 4.2c or Matlab 4.0 Matlab Spline Toolbox ---------------------------------------------------------------------- A RIOTS_95 demonstration is available from the following RIOTS Homepages: http://www.accesscom.com/~adam/RIOTS (official site) http://cicserver.ee.nus.edu.sg/~ilc/riots/ (official mirror) http://www.crosswinds.net/singapore/~yqchen/riots.html If you have any questions or comments, please send email to: Dr Adam L. Schwartz (adam@lgcwireless.com) or Dr Yangquan Chen (yqchen@ieee.org) ---------------------------------------------------------------------- Appendix: Changes of RIOTS 1.0 From the Beta Version on SunOS 4. 1. PC version, RIOTS_95, is pre-compiled for running under MATLAB Ver4.2c and Ver4.0. NSPOL is built in to RIOTS_95. 2. Simulate() has been modified. 3. Coordinate transformation decisions have been further automated. 4. IEEE floating point trapping is not supported currently in the PC version. 5. No Fortran compiler is required any more. Only the user's C code, if supplied, needs to be compiled. 6. Bug in 'discrete' integration routine fixed. 7. A function call bug in 'riots.mex' has been fixed. 8. File names are now in 8.3 DOS format 9. 'Goddard', 'Bang' and 'Rayleigh' OCPs are given in Mfile-Interface form in seperate directories for demonstration use. etc.