Welcome to the Energy Asset Optimization (EAO) documentation!
The EAO package is a modular Python framework, designed to enable practitioners to design, build and optimize energy and commodity trading portfolios using linear or mixed integer programming as well as stochastic linear programming. It provides an implementation of
standard assets such as contracts, transport and storages
addition of new asset types
their combination to complex portfolios using network structures
(de-) serialization to JSON
basic input & output functionality
We found that the approach is useful for modeling very different problem settings, such as decentral and renewable power generation, green power supply and PPAs and sector coupling in ad-hoc analysis, market modeling or daily operation.
You can find the code along with some sample notebooks here: GitHub repository
And an extensive technical report here: Report
We are using CVXPY as an interface to LP / MIP solvers. See CVXPY on GitHub. You can find details on supported solvers here: CVXPY solvers. The list includes open sources solvers such as HighS and SCIP as well as commercial solvers such as Gurobi or CLPEX.
Contents:
- Samples
- Simple start: Optimizing power consumption with battery & PV
- Illustration: Small power and heat network (in German)
- Handling large problems
- Green PPA and structured downstream contract
- Marginal costs in portfolio optimization
- Multi commodity optimization
- Split optimization (to speed up large problems)
- Mixing long-term (e.g. seasonal) and short-term storages (e.g. battery)
- Combined Heat and Power
- Battery optimization against an order book
- Stochastic Linear Programs
- Robust optimization
- Parameter handling
- EAO package