dynopt
dynopt is a set of MATLAB functions for determination of optimal
control trajectory given the description of the process, the cost to
be minimised, subject to equality and inequality constraints.
The actual optimal control problem is solved via total
discretisation with orthogonal collocations on finite elements That
is, both the original continuous state and control trajectories are
approximated by a sequence of linear combinations of some basis
functions. It is assumed that the basis functions are known and
optimised are the coefficients of the linear combinations. Lagrange
interpolation polynomials are used. In addition, each segment of
the control sequence is defined on a time interval whose length
itself may also be subject to optimisation. Knots (times) are
defined by the roots of shifted Legendre polynomials.
It is assumed, that the optimised dynamic model is described by a
set of ordinary differential equations.
The algorithm is based on the work of Biegler and coworkers,
e.g. J. S. Logsdon and L. T. Biegler, Accurate solution of
differentialalgebraic optimization problems, Chem. Eng. Sci.,
(28):1628  1639, 1989.
Contact
M. Fikar: Department of Information Engineering and Process
Control, Faculty of Chemical and Food Technology, Slovak
University of Technology in Bratislava, Radlinského 9, 812 37
Bratislava, Slovak Republic.
miroslav.fikar[at]stuba.sk
Sources
Both documentation and code sources are available as repositories at github. documentation, code. The latest version: zip file.
References

M. Čižniar, M. Fikar, and M.A. Latifi: MATLAB Dynamic Optimisation Code DYNOPT, User's guide, Technical Report, KIRP FCHPT STU,
Bratislava, 2006.
[PDF]

M. Čižniar, D. Salhi, M. Fikar, and M.A. Latifi:
A MATLAB Package for Orthogonal Collocations on Finite Elements in Dynamic Optimisation.
Proceedings of the 15th Int. Conference Process Control '05, Štrbské Pleso, June 710, 2005, Slovakia.
CDROM Proceedings, 058f.pdf.
Abstract,
Article:PDF,
more

Čižniar, M., Salhi, D., Fikar, M., Latifi, M. A.: DYNOPT  Dynamic
Optimisation Code for MATLAB. Proceedings of Technical Computing
Prague 2005, cizniar.pdf, 2005. more
New in Version 5
 automatic differentiation with package Adigator
 manual differentiation available as option
 incompatibility with Version 4
New in Version 4
 state constraints can be mixed : at t=0, along the time axis,
and at the final time. Previously only one of them was possible.
 optimisation of time independent parameters.
 introduction of a discretetime cost function  sum of elements.
 changed user interface. All inputs and outputs are now given in
structures.
 definition of min/max constraints on state and control
independently on each interval
 interface to different NLP solvers
New in Version 3
 process to be optimised may be in the form of DAE system: M
\dot{x} = f(x,u) (new flag in function process)
New in Version 2
 state constraints can now be defined as one of three
possibilities : at t=0, along the time axis, and at the final time
(previously only final state constraints)
 independent degrees of approximation of states and controls
(previously, degree of control polynomials was always one less than
of the state polynomials)
 time intervals can be specified to be constant
 lower and upper bounds on variables are now defined
explicitly. This improves convergence.
History
 Version 5.0.5 released 04.04.2021
 Version 5.0.1 released 29.04.2020
 Version 4.3.1 released 20.12.2018
 Version 4.3.0 released 04.08.2016
 Version 4.2.0 released 22.06.2015
 Version 4.1.5 released 29.07.2014
 Version 4.1.4 released 27.11.2012
 Version 4.1.3 released 24.02.2009
 Version 4.1.1 released 23.10.2006
 Version 4 released 18.9.2006
 Version 3 released 04.5.2006
 Version 2 released 20.9.2005
 Version 1 released 21.5.2005  diploma thesis