Dynamic Optimization


The Multiple Shooting Algorithm for Engineers

Solve optimization problems for your dynamic system with MUSCOD

Many engineering problems can be formulated as mathematical optimization problems. If the dynamics of the system is important, this is the class of optimal control problems. Compared to static optimization problems, the complexity increases significantly. With MUSCOD you rely on a software package that has been developed for more than 20 years at the University of Heidelberg by the group around Prof. Bock for exactly these problems.

Numerical solving of optimal control problems

Highly specialized and efficient algorithms

Import models from Simulink, Dymola and many more via FMI

Comprehensive documentation and individual support

Intuitive and easy to learn Python interface

Customize bounds and cost functions

Mathematical optimization problems for MUSCOD

Dynamic System

The fermentation of penicillin takes place in a semi-batch reactor. During the process, the substrate supplied is converted into biomass, from which penicillin is then produced.  The model used here was published by Visser et al (2000).

Visser, E., Srinivasan B, Palanki S. and Bonvin D., A feedback-based implementation scheme for batch process optimization. Journal of Process Control, Vol.10, 399-410, (2000).

Optimal Control Problem

The production time is fixed at 150h. At the end time (t=150h) the produced penicillin concentration should be maximum. The respective upper limits of the biomass concentration of 40 g/l   and the substrate concentration of 0.5 g/l must be ensured. The supplied volume flow is the manipulated variable and thus a degree of freedom for optimization.


For the reactor described above, the shown optimum course of the manipulated variable results.

Optimal control results in a maximum penicillin concentration at the final point in time, while respecting the      upper limits for the concentrations of substrate and biomass.

With MoBA MUSCOD it is possible to determine the optimal feed of semi-batch processes to optimize used recipes.      Furthermore, it is also possible to determine the optimal heating and cooling strategy for batch as well as      semi-batch processes. Instead of using the results of MoBA MUSCOD as a controller, it is possible to integrate the      optimizer into a controller structure as an economic non-linear model-predictive controller (eNMPC).


Dynamic System

To pass on the waste heat of an internal combustion engine to the environment and to the vehicle interior for heating,  a water/glycol circuit is used. All thermal capacities (components and liquid) are initialized at ambient temperature (20 °C).  The waste heat flow of the combustion engine is imposed, in this case from a 10-minute uphill drive with a correspondingly high load.  Manipulated variables are the valve opening, the pump speed and the fan speed.

Optimal Control Problem

The fluid temperature at the outlet of the cylinder block should be kept as close as possible to the set point of 90 °C.  From a control engineering point of view, this is an under-determined system, since 3 manipulated variables are available for one controlled variable.  The additional degrees of freedom should be used to keep the electrical energy requirement of the pump and fan as low as possible over the considered time period.

Gräber, M., Fritzsche, J. and Tegethoff, W., From system model to optimal control - A tool chain for the efficient solution of optimal control problems, Proceedings of the 12th International Modelica Conference, Prague, Czech Republic, May 15-17, Issue 132, 249-254, (2017)


For the scenario described above, the optimum course of the manipulated variables is shown.  As a comparison, a non-optimal reference control with PI controllers is shown in all diagrams.

The optimum control system better fulfils the primary control objective: The fluid temperature reaches  the setpoint earlier and shows no overshoot. This also applies to the secondary control objective, minimum energy consumption,  the optimal control is much better. Above all, the energy requirement of the fan can be significantly reduced.  In total, almost 20% less electrical energy is consumed.

With MoBA MUSCOD, optimization results of this kind can be calculated for various scenarios.  These results can be used as a reference for existing control concepts or to find heuristic (almost optimal) control laws.

Dynamic System

Hot coffee (90°C) straight from the machine and cold milk (5°C) from the refrigerator.  Both exchange heat with the environment (20°C).  The manipulated variable is the mass flow of the cold milk poured into the coffee.

Optimal Control Problem

The coffee is to be drunk in 10 minutes, and should then still be as hot as possible.  There should also be a certain amount of milk in the coffee.  How should I pour the milk into the coffee?


With a time discretization of the manipulated variable in 200 intervals, the shown optimal course of the coffee temperature and the milk mass flow is obtained.  As comparison, two non-optimal alternatives are also shown: pouring in the milk as early as possible or as late as possible.

Benefits of MUSCOD for dynamic optimization

Get your free trial license for MUSCOD now!

Make an appointment and we will show you our software and clarify all technical requirements in a web conference. Get started in the world of optimization fast and easy!‍‍

Book a demo

Discover more products

TIL Suite logo

TIL Suite

Modelica library for thermal systems


Modelica library for process systems

Engineering for everyone

Improve your marketing and sales with customized simulation apps