Description
The provided optimization scripts were used in the case study and creation of results, accompanying the publication: Modular Energy Management via Distributed and Predictive Optimization for Fuel Cell-Battery Shipboard Microgrids
The scripts are made public to act as supplementary data to the published article, recreation of results and to support other researchers for further developments in the field.
The model and controller use MATLAB\Simulink as a simulation environment and additionally uses the CASADI optimization framework for implementing re-usable .s-functions within simulink. For specific solvers of which c-code is contained in CASADI (here: sqp-method with qrqp), this allows real-time deployment of the controllers (demonstrated on speedgoat system).
The provided code implements a plant model of a modular FC-battery ship power system with 4xfuel cell and 2xbattery modules with different ratings and degradation states.
The code features a distributed energy management strategy based on Lagrangian dual decomposition to find an optimal power allocation for mid-length time intervals for all modules. The distributed model predictive controller (MPC) is intended to use inputs from data-driven load predictions to optimize the power allocation.
The system can be run in three modes: predictive control/MPC, instantaneous optimization/ECMS, and filter-based control, to compare the performance of different approaches. The load prediction can be selected to assume a constant load, assume a perfect load prediction or use externally provided data-driven load forecasts.
Measurement data and load predictions are not included due to confidentiality, but any arbitrary load profile matching the totally installed power are admissable.
In addition, a local decision-making heuristic for fuel cell on-off switching is implemented. Also, fault-tolerant energy management can be tested with this setup, by manually triggering faults.
The system and controller parameters can be adjusted in the provided scripts to evaluate the performance of different strategies and settings.
The scripts are made public to act as supplementary data to the published article, recreation of results and to support other researchers for further developments in the field.
The model and controller use MATLAB\Simulink as a simulation environment and additionally uses the CASADI optimization framework for implementing re-usable .s-functions within simulink. For specific solvers of which c-code is contained in CASADI (here: sqp-method with qrqp), this allows real-time deployment of the controllers (demonstrated on speedgoat system).
The provided code implements a plant model of a modular FC-battery ship power system with 4xfuel cell and 2xbattery modules with different ratings and degradation states.
The code features a distributed energy management strategy based on Lagrangian dual decomposition to find an optimal power allocation for mid-length time intervals for all modules. The distributed model predictive controller (MPC) is intended to use inputs from data-driven load predictions to optimize the power allocation.
The system can be run in three modes: predictive control/MPC, instantaneous optimization/ECMS, and filter-based control, to compare the performance of different approaches. The load prediction can be selected to assume a constant load, assume a perfect load prediction or use externally provided data-driven load forecasts.
Measurement data and load predictions are not included due to confidentiality, but any arbitrary load profile matching the totally installed power are admissable.
In addition, a local decision-making heuristic for fuel cell on-off switching is implemented. Also, fault-tolerant energy management can be tested with this setup, by manually triggering faults.
The system and controller parameters can be adjusted in the provided scripts to evaluate the performance of different strategies and settings.
| Date made available | 2 Mar 2026 |
|---|---|
| Publisher | TU Delft - 4TU.ResearchData |
Cite this
- DataSetCite