vector based energy and material flow optimization framework in python
flixOpt is in early state! Not completely documented yet,... Do not hesitate to contact authors!
It is necessary to add the root directory of the flixOpt package to your PYTHONPATH variables.
Collaboration is welcome!
flixOpt is an vector based optimization framework creating and solving mixed-integer programming problems (MILP). It is created with focus on energy flows but can be used for material flows as well.
flixOpt was developed in project SMARTBIOGRID by TU Dresden. This project was funded by the German Federal Ministry for Economic Affairs and Energy (FKZ: 03KB159B).
flixOpt development is based on matlab framework flixOptMat developed in project FAKS by TU Dresden and has a few influences from oemof/solph (Great thanks for your tool!)
- various constraints available
- operation optimization optionally combined with investment optimization
- segmented linear correlations for
- flows
- invest costs and invest size
- effects
- various effects, i.g. costs, CO2 emissions, primary energy, area demand etc.
- effects coupleable, i.g. specific costs of CO2-emissions
- constraints, i.g. max sum of CO2 emissions
- simply switch effect, which should be minimized (optimization target)
- others
- non-equidistant timesteps possible
- investment and flow-on/off variables in one model
You can choose between three calculation modes:
- full -> exact and slow
- segmented (with variable time overlap) -> fast but not exact for big storages
- aggregated (automatically creation of typical periods via TSAM) -> fast, quite exact
- interlayer flixBase for modeling and good overview of (vectorized) variables and equations
- postprocessing unit
- allows integration of other modeling languages than Pyomo
- You need to install a solver. Various solvers are usable. Recommended opensource solvers are CBC and GLPK. Executables can be found for example here for CBC and here for GLPK (Windows: You have to put solver-executables to the PATH-variable)
For explicitly citing, a link to a paper is coming soon ...
Temporarily use https://doi.org/10.13140/RG.2.2.14948.24969