GPOPS (which stands for “General Pseudospectral OPtimal Control Software”) is an open-source MATLAB optimal control software that implements the Gauss and Radau hp-adaptive pseudospectral methods. In these methods the state is approximated using Lagrange polynomials and the time derivative of the state is collocated at either the Legendre-Gauss or Legendre-Gauss-Radau points. These methods share the property they arise from high-accuracy Gaussian quadrature rules. Furthermore, it has been proven that that either method can be written equivalently in differential form or implicit integral form (see the second reference on the Publications page). The continuous-time optimal control problem is then transcribed to a finite-dimensional nonlinear programming problem (NLP) and the NLP is solved using well known software tools for nonlinear optimization. The Gauss and Radau have been documented extensively in the open literature and are an ongoing topic of considerable research at the Vehicle Dynamics and Optimization Laboratory (VDOL) at the The University of Florida. GPOPS has been made possible in large part due to the outstanding work of many people including Dr. Anil V. Rao and his current and former students, Dr. David Benson, Dr. Geoffrey T. Huntington, Christopher Darby, Michael Patterson, and Camila Francolin.

GPOPS is designed in a completely unique manner both in form and in function. With regard to form, GPOPS uses a convenient multi-level structured interface to specify information in each phase in the problem. In particular, the use of structures provides an extremely compact yet intuitive manner to input the problem. With regard to function, all user-defined functions (e.g., differential-algebraic equations, boundary conditions, cost functional, and phase-connect conditions) have structured arrays as inputs, thus enabling the user to write highly compact and efficient MATLAB code. The objective of GPOPS is to encourage an open collaboration between those in academia, industry, and government by providing an optimal control software in an open-source format that can be freely modified and adapted to the needs of a particular user.

GPOPS is an open-source and freely available software that is intended for academic, government, or not-for-profit use. Any commercial users of GPOPS must pay a fee for the use of the software. Furthermore, in accordance with the license agreement, any enhancements made to GPOPS must be shared with everyone. If you are interested in a commercial license for GPOPS, please contact Anil V. Rao at anilvrao@gmail.com.

Features of GPOPS

Some of the key features of GPOPS include:

  • the ability to solve general multiple-phase optimal control problems (including problems with non-sequential phases);
  • built-in forward-mode automatic differentiation (without relying on a third-party automatic differentiator);
  • an hp-adaptive control algorithm that performs automatic grid refinement to improve the accuracy of the solution;
  • a simple and mathematically proven approach to obtain accurate costates of the continuous optimal control problem;
  • the ability to choose between the Gauss Pseudospectral Method and the Radau Pseudospectral Method;
  • the ability to choose between the NLP solvers SNOPT and IPOPT.

GPOPS has been tested on a wide variety of applications including launch vehicle ascent, hypersonic entry, chemical reaction optimization, and supersonic aircraft flight. All problems included in the GPOPS distribution can be found in the open literature and represent complex problems of interest to the optimal control community. Users are welcome to submit additional examples to include with GPOPS under the condition that you provide assurance that these new examples can be used without any restrictions (i.e., in accordance with the open-source format of GPOPS).