[Coin-ipopt] Re: IPOPT and optimal control problem

Tobias Jockenhoevel Tobias at Jockenhoevel.com
Sun Sep 7 05:52:50 EDT 2003

Dear Jens Pettersson,

if you want to use IPOPT for optimal control problems, I suggest to have a
look at the software package OptControlCentre (www.optcontrolcentre.com).

OptControlCentre (OCC) is an Open Source Project derived from research of my
PhD project. The focus of this work is research on optimal start-ups and
load shifts of power plants and chemical processes in real-time. The
optimization methods include SQP Active Set and Interior Point methods as
well as a stochastic approach using Simulated Annealing. In the course of
this work, an user-friendly software package for dynamic optimization, the
OptControlCentre (OCC), was developed. The OCC is based on MATLAB and has a
powerful graphical user interface (GUI). OCC runs on every major platform
such as Windows, Linux or UNIX.

OCC incorprates OCOMA, the 'O'timal 'CO'de Generator using 'MA'ple. You can
use OCC to generate FORTRAN code including exact first and second
derivatives for the solvers SNOPT and IPOPT (both reduced space and full

The concept of OCOMA is the following (see the graphic at

The continuous process model, which consists of differential-algebraic
equations (DAE system), is defined using a relatively simple syntax. The DAE
systems are then discretized automatically into finite time elements to form
nonlinear programming (NLP) problems. These are subsequently converted into
FORTRAN codes using the Maple-based code generator OCOMA. OCOMA analyses the
system linearity of the user given DAE system and transforms the continuous
DAE optimization problem to a NLP problem by a full discretization of state
and control variables. OCOMA then automatically writes the FORTRAN
subroutines for the NLP solvers including first and second symbolic
derivatives (Hessian or Hessian-Vector-Products for IPOPT). These
derivatives are calculated symbolically and explicitly written as FORTRAN
code. Thus, the convergence properties are much better than with numeric
derivatives and the execution of NLP is very fast.

The codes are then linked with large-scale NLP solvers which perform the
dynamic optimization. OCC allows both off-line and online optimization, and
the optimization results can be visualized using a user-friendly graphical


Tobias Jockenhoevel

More information about the Coin-ipopt mailing list