ficus: A (mixed integer) linear optimisation model for local energy systems

Maintainer:Dennis Atabay, <dennis.atabay@tum.de>
Organization:Institute for Energy Economy and Application Technology, Technische Universität München
Version:0.1
Date:September 10, 2015
Copyright:This documentation is licensed under a Creative Commons Attribution 4.0 International license.

Contents

This documentation contains the following pages:

Features

  • ficus is a (mixed integer) linear programming model for multi-commodity energy systems.
  • It finds the minimum cost energy system to satisfy given demand timeseries for possibly multiple commodities (e.g. electricity, heat)
  • It considers given cost timeseries for external obtained commodities as well as peak demand charges with configurable timebase for each commodity
  • It allows to deactivate specific equations, so the model becomes a linear programming model without integer variables
  • It supports multiple-input and multiple-output energy conversion technologies with load dependent efficiencies
  • Thanks to pandas, complex data analysis code is short and extensible.
  • The model itself is quite small thanks to relying on the Pyomo packages.
  • ficus includes reporting and plotting functions

Screenshots

This is a typical result plot created by ficus.plot_timeseries(), showing electricity generation, consumption and storage levels over 7 days:

_images/elec-timeseries.png

Dependencies

  • matplotlib for plotting
  • pandas for input and result data handling, report generation
  • pyomo for the model equations and interface to optimisation solvers (CPLEX, GLPK, Gurobi, ...).