Warning. This page was moved
to new
location with better functionality (discussions, etc) for
registered users. File downloads are possible without registration
using guest access.
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
differential-algebraic 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,
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,
Sources
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.
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 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
History
- 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
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 discrete-time cost function - sum of elements.
- changed user interface. All inputs and outputs are now given in
structures.
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.
Work on the next version
- introduction of control horizon and more general partition of
controls that span multiple state intervals - suitable with model
predictive control