Welcome to COMANDO’s documentation!
COMANDO is a next generation modeling framework for Component-Oriented Modeling AND Optimization of the design and operation of energy systems. An energy system is considered to be a collection of different interconnected components whose purpose is to satisfy demands of various commodities such as, e.g., electric power, heat and cooling, in a variety of different operating conditions.
When such a system is built (or extended), there are many design and operational decisions that need to be made. In this context, optimizing the design and operation means finding a set of decisions that results in a minimal value for some generalized costs, taking into account restrictions imposed by individual components, their connections or by other safety-related, social, political, or economic considerations.
COMANDO provides means to…
model existing energy systems and possible extensions in a flexible, component-oriented fashion.
use the resulting system models to create mathematical optimization problems
solve these problems directly or use tools to automatically reformulate them to a form, more amenable to solution
To determine whether COMANDO suits your needs and avoid confusion when something doesn’t work as expected, it is important to first understand some basic concepts and terminology introduced by COMANDO. We therefore recommend that you read the background section of this documentation before attempting to start hacking away. If you feel brave and know what you’re doing, you can also skip ahead to the quickstart section, instead.
When using COMANDO in an academic context please cite the following publication:
@Article{langiu2021comando,
author = {Langiu, Marco and Shu, David Yang and Baader, Florian Joseph and Hering, Dominik and Bau, Uwe and Xhonneux, André and Müller, Dirk and Bardow, André and Mitsos, Alexander and Dahmen, Manuel},
pages = {107366},
title = {{COMANDO: A Next-Generation Open-Source Framework for Energy Systems Optimization}},
doi = {10.1016/j.compchemeng.2021.107366},
fjournal = {Computers \& Chemical Engineering},
journal = {Comput. Chem. Eng.},
month = {5},
publisher = {Elsevier {BV}},
year = {2021},
}