Skip to content

SuccessStories

Stefan Vigerske edited this page Feb 22, 2020 · 1 revision

The Bocop project aims to develop an open-source toolbox for solving optimal control problems, with collaborations with industrial and academic partners. Optimal control (optimization of dynamical systems governed by differential equations) has numerous applications in transportation, energy, process optimization, and biology. Bocop is developed in the framework of the Inria-Saclay initiative for an open source optimal control toolbox, is supported by the team Commands and is released under the Eclipse Public License (EPL). It utilizes ADOL-C/ColPack to compute sparse derivatives

Please visit the BOCOP home page for further details.

Pseudospectral optimal control solver PSOPT

PSOPT, an open source pseudospectral optimal control solver written in C++, solves optimal control problems by approximating the time-dependent variables using orthogonal polynomials. This allows to discretize the differential equations and continuous constraints over a grid of nodes, and to compute any integrals associated with the problem using well known quadrature formulas. PSOPT is able to deal with single or multiphase problems with continuous time nonlinear dynamics, general endpoint constraints, nonlinear path constraints, integral constraints, interior point constraints, bounds on controls and state variables, general cost function with Lagrange and Mayer terms, free or fixed initial and final conditions, linear or nonlinear linkages between phases, and fixed or free initial and final times.

PSOPT has the following features: choice between Legendre or Chebyshev polynomial approximation, automatic scaling, automatic differentiation using the ADOL-C library, numerical differentiation by using sparse finite differences, automatic identification of the Jacobian sparsity, DAE formulation, so that differential and algebraic constraints can be implemented in the same C++ function, and an easy to use interface to GNUplot to produce graphical output.

Please visit the PSOPT home page for further details, documentation, and download links.

Clone this wiki locally