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 differential-algebraic optimization problems, Chem. Eng. Sci., (28):1628 - 1639, 1989.

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

Both documentation and code sources are available at bitbucket.org/dynopt.

- 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 7-10, 2005, Slovakia. CD-ROM 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

- 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

- 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 discrete-time 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

- process to be optimised may be in the form of DAE system: M \dot{x} = f(x,u) (new flag in function process)

- 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.