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,

tel.\ +421 (0)2 593 25 354, fax +421 (0)2 39 64 69 - M. Čižniar: 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.

cizniar[at]pobox.sk,

Both documentation and source code is available at the links below. In the link, PDF documentation is shown as Full Text (for example 363.pdf) and source code as Appendix (for example 363_add.zip).

18.10.06: warning: we have found a bug in parametric estimation problem (description of initial conditions x0 = f(p) ) formulation that may cause inccorect results. 23.10.06: bug corrected.

- KIRP publication system: complete sources, User's guide [ZIP] - Version 4
- KIRP publication system: complete sources, User's guide [ZIP] - Version 2
- KIRP publication system: complete sources, User's guide [ZIP] and Master thesis [PDF] - Version 1 - Master thesis

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

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

- introduction of control horizon and more general partition of controls that span multiple state intervals - suitable with model predictive control