Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

tox-pytest tox-checks packaging coverage

Documentation Status PyPI Package latest release Supported versions

Zenodo DOI Commits since latest release matrix-chat


https://raw.githubusercontent.com/oemof/oemof-solph/492e3f5a0dda7065be30d33a37b0625027847518/docs/_logo/logo_oemof_solph_FULL.svg

oemof.solph

A model generator for energy system modelling and optimisation (LP/MILP)

Introduction

The oemof.solph package is part of the Open energy modelling framework (oemof). This is an organisational framework to bundle tools for energy (system) modelling. oemof-solph is a model generator for energy system modelling and optimisation.

The package oemof.solph is very often called just oemof. This is because installing the oemof meta package was once the best way to get oemof.solph. Notice that you should prefeably install oemof.solph instead of oemof if you want to use solph.

Everybody is welcome to use and/or develop oemof.solph. Read our contribution section.

Contribution is already possible on a low level by simply fixing typos in oemof’s documentation or rephrasing sections which are unclear. If you want to support us that way please fork the oemof-solph repository to your own GitHub account and make changes as described in the github guidelines

If you have questions regarding the use of oemof including oemof.solph you can visit the openmod forum (tag oemof or tag oemof-solph) and open a new thread if your questions hasn’t been already answered.

Keep in touch! - You can become a watcher at our github site, but this will bring you quite a few mails and might be more interesting for developers. If you just want to get the latest news, like when is the next oemof meeting, you can follow our news-blog at oemof.org.

Documentation

The oemof.solph documentation is powered by readthedocs. Use the project site of oemof.solph to choose the version of the documentation. Go to the download page to download different versions and formats (pdf, html, epub) of the documentation.

Installation

If you have a working Python installation, use pypi to install the latest version of oemof.solph. Python >= 3.11 is recommended. Lower versions may work but are not tested.

We highly recommend to use virtual environments. Please refer to the documentation of your Python distribution (e.g. Anaconda, Micromamba, or the version of Python that came with your Linux installation) to learn how to set up and use virtual environments.

(venv) pip install oemof.solph

If you want to use the latest features, you might want to install the developer version. The developer version is not recommended for productive use:

(venv) pip install https://github.com/oemof/oemof-solph/archive/dev.zip

For running an oemof-solph optimisation model, you need to install a solver. Following you will find guidelines for the installation process for different operating systems.

Installing a solver

There are several solvers that can work with oemof, both open source and commercial. Two open source solvers are widely used (CBC and GLPK), but oemof suggests CBC (Coin-or branch and cut). It may be useful to compare results of different solvers to see which performs best. Other commercial solvers, like Gurobi or Cplex, are also options. Have a look at the pyomo docs to learn about which solvers are supported.

Check the solver installation by executing the test_installation example below (see section Installation Test).

Linux

To install the solvers have a look at the package repository of your Linux distribution or search for precompiled packages. GLPK and CBC ares available at Debian, Feodora, Ubuntu and others.

Windows

  1. Download CBC

  2. Download GLPK (64/32 bit)

  3. Unpack CBC/GLPK to any folder (e.g. C:/Users/Somebody/my_programs)

  4. Add the path of the executable files of both solvers to the PATH variable (cf. setting environment variables as user)

  5. Restart Windows

Check the solver installation by executing the test_installation example (see the Installation test section).

Mac OSX

Please follow the installation instructions on the respective homepages for details.

CBC-solver: https://github.com/coin-or/Cbc

GLPK-solver: http://arnab-deka.com/posts/2010/02/installing-glpk-on-a-mac/

If you install the CBC solver via brew (highly recommended), it should work without additional configuration.

conda

The CBC-solver can also be installed in a conda environment. Please note, that it is highly recommended to use pip after conda, so:

(venv) conda install -c conda-forge coincbc
(venv) pip install oemof.solph

Installation test

Test the installation and the installed solver by running the installation test in your virtual environment:

(venv) oemof_installation_test

If the installation was successful, you will receive something like this:

*********
Solver installed with oemof:
glpk: working
cplex: not working
cbc: working
gurobi: not working
*********
oemof.solph successfully installed.

as an output.

Contributing

A warm welcome to all who want to join the developers and contribute to oemof.solph.

Information on the details and how to approach us can be found in the oemof documentation .

Citing

For explicitly citing solph, you might want to refer to DOI:10.1016/j.simpa.2020.100028, which gives an overview over the capabilities of solph. The core ideas of oemof as a whole are described in DOI:10.1016/j.esr.2018.07.001 (preprint at arXiv:1808.0807). To allow citing specific versions, we use the zenodo project to get a DOI for each version.

Example Applications

The combination of specific modules (often including other packages) is called an application (app). For example, it can depict a concrete energy system model. You can find a large variety of helpful examples in the documentation. The examples show the optimisation of different energy systems and are supposed to help new users to understand the framework’s structure. Please make sure the example you are looking at is created for the version of solph you have installed.

You are welcome to contribute your own examples via a pull request or by e-mailing us (see here for contact information).

Release files for oemof.solph 0.6.6a1

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

Source distribution (sdist)

Source distribution for oemof.solph 0.6.6a1
File Size Uploaded
oemof_solph-0.6.6a1.tar.gz 15.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for oemof.solph 0.6.6a1
File Interpreter ABI Platform
oemof_solph-0.6.6a1-py3-none-any.whl Python 3 none any Details

Total release size: 16.1 MB

Release files / oemof_solph-0.6.6a1.tar.gz

Download URL oemof_solph-0.6.6a1.tar.gz
Size 15.9 MB
Tags Source
SHA-256 checksum
How to use checksums
cf7eeec2dcdf11453263aef9ee00ea9811230fc296e2e8674c89c82b55a8b980
BLAKE2b-256 checksum
How to use checksums
518b494c6ecf11898c0d33821c9395e16243486bd666758a8f93a560a4e71937
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / oemof_solph-0.6.6a1-py3-none-any.whl

Download URL oemof_solph-0.6.6a1-py3-none-any.whl
Size 131.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6ce8a9ba9ef2e24d334505e0d002c526ae67026128e7129c6c5ecc6e142ccdc
BLAKE2b-256 checksum
How to use checksums
531b7f7ee2aa4ac2986f678f0af01b32eca6e62deacd034e046cee1834ced7d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.6.6a1 This release

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.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