GPOPS (which stands for “General Pseudospectral OPtimal Control Software”) is an open-source MATLAB optimal control software than implements the Gauss and Radau hp-adaptive pseudospectral methods. These methods approximate the state using a basis of Lagrange polynomials and collocate the dynamics at the Legendre-Gauss-Radau points. These methods share the property that they can be written equivalently in either in differential form or in implicit integral form (see the publications page on this website). The continuous-time optimal control problem is then transcribd to a finite-dimensional nonlinear programming problem (NLP) and the NLP is solved using well known software tools. 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. Christopher L. Darby, Dr. Divya Garg, Dr. Geoffrey T. Huntington, Dr. David A. Benson, Michael Patterson, Brendan Mahon, and Camila Francolin.
GPOPS is an open-source and freely available software than is intended for academic, government, or not-for-profit use. Any commercial user 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 of GPOPS, please contact Dr. Anil V. Rao at anilvrao@gmail.com.
Some of the key features of GPOPS include:
- The ability to solve general multiple-phase optimal control problems.
- Sparse finite-differencing of optimal control problem to generate derivative estimates as efficiently as possible.
- Built-in forward mode automatic differentiation.
- Implementation of an efficient and accurate hp-adaptive algorithm for mesh refinement.
- A restricted version of the NLP solver SNOPT.
In addition to the above features, the Gauss and Radau pseudospectral methods implemented in GPOPS has the following mathematical properties:
- Gaussian quadrature integration methods (that is, the Gauss and Radau pseudospectral methods are Gaussian quadrature implicit integration schemes).
- Exponential convergence for problems whose solutions are smooth.
- Costate estimates that are also obtained using Gaussian quadrature integration.
While other pseudospectral optimal control software is available, GPOPS is the only such software that implements Gaussian quadrature implicit integration schemes. A discussion of the key mathematical properties of the Gauss and Radau pseudospectral methods (and a comparison with the Lobatto pseudospectral method) can be found in Ref. [5] on the Publications page, or simply by clicking here. Ref. [5] provides an in-depth analysis of the fact that the Gauss and Radau methods are in fact Gaussian quadrature implicit integration methods.
Users may want to use GPOPS for several reasons:
- No access to commercially available optimal control software.
- Want source code so that they can more easily debug their programs or customize the inputs and outputs.
- Are interested in doing research (both academic and non-academic) and need a self-contained software program to help generate their results.
With the exception of MATLAB, GPOPS does not require the purchase of any commercial third-party software or libraries. GPOPS can be run on any platform for which a version of MATLAB exists (e.g., Windows, Mac OS X, Linux).