SkillAgentSearch skills...

Rivus

A mixed integer linear optimisation model for energy infrastructure networks

Install / Use

/learn @tum-ens/Rivus
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

rivus

rivus is a mixed integer linear programming optimisation model for capacity planning for energy infrastructure networks. Its name, latin for stream or canal, stems from its origin as a companion model for urbs, an optimisation model for urban energy systems. This model shares the same structure as urbs, so please refer to its introduction/tutorial for now or dive directly into the code.

Features

  • rivus is a mixed integer linear programming model for multi-commodity energy infrastructure networks systems with a focus on high spatial resolution.
  • It finds the minimum cost energy infrastructure networks to satisfy a given energy distribution for possibly multiple commodities (e.g. electricity, heating, cooling, ...).
  • Time is represented by a (small) set of weighted time steps that represent peak or typical loads
  • Spatial data can be provided in form of shapefiles, while technical parameters can be edited in a spreadsheet.
  • The model itself is written using Pyomo and includes reporting and plotting functionality.

Screenshots

Electricity network capacities| Heat network capacities | Gas network capacities :----------------------------:|:---------------------------:|:---------------------------: | |

Installation

Windows

  1. Anaconda (Python 3.6). Choose the 64-bit installer if possible.

  2. Pyomo and GLPK

    1. Launch a new command prompt (Win+R, type "cmd", Enter)
    2. Type conda install -c conda-forge pyomo glpk, hit Enter.
  3. Add shapefile support:

    conda install -c conda-forge pyshp shapely basemap
    
  4. Get geopandas and its dependencies:

    conda install -c conda-forge pyproj fiona geopy geopandas
    
  5. For interactive, 3-D plots with plotly:

    conda install -c conda-forge plotly
    
  6. For Postgres + PostGIS integration:

    conda install -c conda-forge psycopg2 sqlalchemy
    
  7. For graph-theoretical analysis:

    conda install -c conda-forge networkx
    

Documentation / Tutorials

Copyright

Copyright (C) 2015-2017 Johannes Dorfner

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

View on GitHub
GitHub Stars17
CategoryOperations
Updated1y ago
Forks12

Languages

Python

Security Score

75/100

Audited on Mar 7, 2025

No findings