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.


Both documentation and code sources are available as repositories at github. documentation, code. The latest version: zip file.


New in Version 5

New in Version 4

New in Version 3

New in Version 2