  Existing open-source modeling frameworks dedicated to energy systems
optimization typically utilize (mixed-integer) linear programming ((MI)LP)
formulations, which lack modeling freedom for technical system design and
operation. We present COMANDO, an open-source Python package for
component-oriented modeling and optimization for nonlinear design and operation
of integrated energy systems. COMANDO allows to assemble system models from
component models including nonlinear, dynamic and discrete characteristics.
Based on a single system model, different deterministic and stochastic problem
formulations can be obtained by varying objective function and underlying data,
and by applying automatic or manual reformulations. The flexible open-source
implementation allows for the integration of customized routines required to
solve challenging problems, e.g., initialization, problem decomposition, or
sequential solution strategies. We demonstrate features of COMANDO via case
studies, including automated linearization, dynamic optimization, stochastic
programming, and the use of nonlinear artificial neural networks as surrogate
models in a reduced-space formulation for deterministic global optimization.
