PSOPT is an open source optimal control software package written in C++ that uses direct collocation methods, including pseudospectral and local discretizations. Pseudospectral methods solve optimal control problems by approximating the time-dependent variables using global polynomials, such as Legendre or Chebyshev functions. Local discretization methods approximate the time dependent functions using local splines, and can be seen as implementations of implicit Runge-Kutta integrators. With both global and local methods, differential equations, continuous constraints and integrals associated with the problem are discretized over a grid of nodes. Sparse nonlinear programming is then used to find local optimal solutions. PSOPT is able to deal with problems with the following characteristics:
Full details on PSOPT and its features can be found in its PDF documentation.
Image courtesy of nasaimages.org