Skip to main content

REHO logo

DOI Documentation Status

PyPIPython Version

License

Renewable Energy Hub Optimizer (REHO) is a decision support tool for sustainable urban energy system planning. REHO simultaneously addresses the optimal design and operation of capacities, catering to multi-objective considerations across economic, environmental, and efficiency criteria.

Key features:

  • MILP Framework
  • Multi-Objective Optimization
  • Multi-Scale Capabilities
  • Multi-Service Consideration
  • Multi-Energy Integration
  • Open-Source and Open-Data

For more information about the model foundations and features, please refer to the REHO documentation.

Authors

REHO is developed by EPFL (Switzerland), within the Industrial Process and Energy Systems Engineering (IPESE) group.

Dorsan Lepour dorsan.lepour@epfl.ch
Cédric Terrier cedric.terrier@epfl.ch
Joseph Loustau

Shows the IPESE logo, white one in dark color mode and black one in light color mode.

Licence

Copyright (C) <2021-2026> <Ecole Polytechnique Fédérale de Lausanne (EPFL), Switzerland>

Licensed under the Apache License, (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Description and complete License: see LICENSE file.

Installation

REHO is available as a PyPI package and can be installed via pip with:

pip install --extra-index-url https://pypi.ampl.com REHO

Full code can be accessed from the REHO GitHub repository and cloned with:

git clone https://github.com/IPESE/REHO.git

Please refer to the "Getting started" section of the documentation for step-by-step guidelines.

A first run

from reho import REHO, QBuildingsReader, initialize_grids, initialize_units

reader = QBuildingsReader()
reader.establish_connection('Geneva')
qbuildings_data = reader.read_db({'transformers': 234}, nb_buildings=2)

cluster = {'Location': 'Geneva', 'Attributes': ['T', 'I', 'W'], 'Periods': 10, 'PeriodDuration': 24}
scenario = {'Objective': 'TOTEX', 'name': 'totex'}

grids = initialize_grids()
units = initialize_units(scenario, grids)

reho = REHO(qbuildings_data=qbuildings_data, units=units, grids=grids,
            cluster=cluster, scenario=scenario, method={'building-scale': True})
reho.single_optimization()
reho.save_results(format=['xlsx', 'pickle'], filename='my_run')

The examples cover the other features: district-scale decomposition, Pareto fronts, district heating, electric mobility, renovation, seasonal storage and the multi-actor formulation.

Documentation

Page Content
Overview What REHO is and what it can do
Releases How to cite, license, and the works using REHO
Model The mathematical formulation, at the building, district and actors scales
Data reference Inputs, every reference data file, and outputs, every result DataFrame: columns, units, provenance
Package structure Layout of the package, and the API reference of every module, class and function
Developer guide Conventions, how to extend, test and document REHO, and how to contribute
Getting started Installation, AMPL license, and a first optimization
Examples One runnable script per feature

Suggestions and contributions

All suggestions or implementation must be tracked with dedicated issues and reported in the project repository.

Refer to the "Contributing" section of the developer guide for further guidance.

Running the tests

pytest reho/test -m "not slow"        # offline: no AMPL license, solver or database needed
REHO_RUN_EXAMPLES=1 pytest reho/test  # full: runs every example script

Metadata

Release files for REHO 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for REHO 2.2.0
File Size Uploaded
reho-2.2.0.tar.gz 11.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for REHO 2.2.0
File Interpreter ABI Platform
reho-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.2 MB

Release files / reho-2.2.0.tar.gz

Download URL reho-2.2.0.tar.gz
Size 11.1 MB
Tags Source
SHA-256 checksum
How to use checksums
9e9517d8eae7240abf3806630547f36bb170f245f48cd1ece24fdde3c01d5114
BLAKE2b-256 checksum
How to use checksums
4ad747dfb440c95d171c290990ea2bb132f876983c2361eecc2f717c027bef4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / reho-2.2.0-py3-none-any.whl

Download URL reho-2.2.0-py3-none-any.whl
Size 3.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
434de633fd8a782f7522620053db80c97641f7961509f871710c812bb100f26c
BLAKE2b-256 checksum
How to use checksums
5706020b690f199a647d140ee05cf86c19f041b1cc2dabbc8fad5ae8c0c87b3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

1 release file

1.0.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page