The Fortran package OCPID-DAE1 is designed to solve optimal control problems and parameter identification problems subject to ordinary differential equations and differential algebraic equations, control and state constraints, and boundary conditions. It implements a direct multiple shooting method and offers the following features:

  • integrators for ordinary differential equations (explicit Runge-Kutta methods with and without step-size selection, e.g. Euler, Heun, classic RK, DOPRI5(4), RKF2(3), RKF4(5),RKF7(8))
  • integrators for implicit differential equations (BDF, linearized RADAUIIA methods)
  • consistent initialization for semi-explicit index-1 DAEs
  • switching functions for discontinuous processes
  • control approximation by B-splines
  • adjoint estimation
  • parametric sensitivity analysis


The sqpfiltertoolbox is written in Fortran 90 and implements different sequential-quadratic and sequential-linear programming methods for general nonlinear optimization problems. The user can choose from different line-search strategies with merit functions or filter techniques to achieve convergence from arbitrary starting points. Derivatives can be provided by the user or are approximated automatically by finite difference approximations. The code is designed for small-scale to medium-scale problems with dense Jacobian and Hessian matrices.


WORHP is a software package that implements a sequential quadratic programming (SQP) method forĀ  large-scale and sparse nonlinear optimization problems. For details and licenses please refer to the WORHP homepage .