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 timedependent 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 RungeKutta 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:
As PSOPT is implemented in C++ using state of the art numerical and symbolic libraries, it is very fast, particularly when compared with MATLAB^{®} implementations of similar algorithms. Even though PSOPT is free and open source software, PSOPT is very powerful, as shown by the complexity of the problems that it is able to solve (see the examples section of this web page). Full details on PSOPT and its features can be found in its PDF documentation.
