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
Maximize your penicillin concentration by adjusting the feed volume flow
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).
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).
Keep your engine nice and warm with minimal pumping effort
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.
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.
When should I pour the milk into the coffee to keep it as hot as possible?
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.
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.
State-of-the-art muliple shooting algorithm with Python interface that can be readily used by engineers
Developed for more than 20 years and used in numerous industrial projects
Detailed documentation with application examples. If you are ever at a loss, we will be happy to assist you.
Modelica library for thermal systems
Modelica library for process systems
Improve your marketing and sales with customized simulation apps