PSOPT is an open-source optimal control software package written in modern C++ that uses direct transcription methods, including global pseudospectral collocation, local discretisations, and integrated-residual transcription. Because it is implemented in C++ using state-of-the-art numerical and automatic differentiation libraries, PSOPT is very fast. A Python interface allows users to define and solve problems without writing a single line of C++, while retaining the speed of the C++ computational engine.
Pseudospectral methods solve optimal control problems by approximating the time-dependent variables using global polynomials, such as Legendre or Chebyshev functions, with collocation at Gauss, Radau or Lobatto points.
Local discretisation methods approximate the time-dependent functions using local splines, and can be seen as implementations of implicit Runge–Kutta integrators.
Integrated-residual transcription minimises (or constrains) the integral of the squared residual of the dynamic equations over the time horizon, rather than enforcing the dynamics only at collocation points. This approach is particularly useful for problems with singular arcs or non-smooth solutions.
With all of these methods, the differential equations, continuous constraints, and integrals associated with the problem are discretised over a grid of nodes. Sparse nonlinear programming is then used to find local optimal solutions. PSOPT includes automatic mesh refinement facilities, including hp-adaptive refinement for pseudospectral discretisations, so that solutions can be computed to a specified accuracy.
PSOPT has been in continuous development since 2009 and is published under a rolling release model, so users always have access to the latest capabilities from the GitHub repository.
PSOPT is used by researchers, engineers and scientists in universities, aerospace agencies, companies and other organisations across the world. Application areas include, but are not limited to:
Space engineering
Aeronautics
Energy systems and energy storage
Biomechanics
Biosciences
Robotics and autonomous systems
Pharmacology
Automotive engineering
Electrical engineering
Transport
PSOPT is an open-source software package for solving optimal control problems, used by NASA, DLR, and many top universities worldwide
If you benefit from PSOPT, please consider sponsoring its development to help support continued improvements, maintenance, and community support.