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

Metadata

Release files for oemof.solph 0.6.6a2

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.6a2
File Size Uploaded
oemof_solph-0.6.6a2.tar.gz 15.9 MB Details

Built distribution (wheel)

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

Total release size: 16.1 MB

Release files / oemof_solph-0.6.6a2.tar.gz

Download URL oemof_solph-0.6.6a2.tar.gz
Size 15.9 MB
Tags Source
SHA-256 checksum
How to use checksums
328abdea711c53ca7de1d2fb81e9d2299a7dbe8e74f4790d61bd1836f8c571f7
BLAKE2b-256 checksum
How to use checksums
6ea854a309e6c849a91a75737bcfa6918b9d732d5f359a2e99da3e8e0def4080
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

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

Download URL oemof_solph-0.6.6a2-py3-none-any.whl
Size 124.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd62187b1e44a53264eed2ffce5155f56c3033792db6641f3858828dd95140ec
BLAKE2b-256 checksum
How to use checksums
2434f4c807c8d26ff0b03de1b7b847772dcc41b8727a82aeac2b38faea5e62b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

0.6.6a2 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