OMEGAlpes Examples

Please have a look to the following examples:

The code is stored at the Gitlab: OMEGAlpes Examples in the folder “beginner_examples” or “examples”.
Some of them have also been developed on a Jupyter notebook for a better understanding.


To know how to run the example python codes or the notebooks, see: Help run Jupyter Notebook or Help run example

Basic example: PV self-consumption

In this PV self-consuption example, a single-house with roof-integrated photovoltaic panels (PV) is studied. Specifically, the study case is about demand-side management in order to maximize the self-consumption, by shifting two household appliances consumption (clothes washing machine and clothes dryer) and using a water tank for the domestic hot water consumption.

The article presenting this example is available at: PV self-consumption article
You can access to this example via an online Notebook at: PV self-consumption online notebook
The code is available here: PV self-consumption code
The Notebook is available at: PV self-consumption notebook

Figure 1: Principle diagram of the PV self-consumption example | Author: Camille Pajot

This example leads to a study with :
  • 6922 variables (2890 continuous and 4032 binary)
  • 79172 non-zeros

This optimization problem has been generated within 1.2 seconds on an Intel bicore i5 2.4 GHz CPU.

An optimal solution was found in 43.6 seconds with the free CBC solver available in the PuLP package, and in the 2.5s with the commercial Gurobi solver.

Electrical system operation

This first module is an example of decision support for electrical system operations. The electrical system operator needs to decide whether to provide electricity from the grid_production A or B depending on their operating costs. The two grid productions are providing energy to a dwelling with a fixed electricity consumption profile.

The code is available here: Electrical system operation code
The Notebook is available at: Electrical system operation notebook

Figure 2: Principle diagram of the electrical system operation example | Author: Lou Morriet

Storage design

The storage_design module is an example of storage capacity optimization. A production unit and a storage system power a load with a fixed consumption profile. The production unit has a maximum power value and the storage system has maximum charging and discharging power values. The objective is to minimize the capacity of the storage system while meeting the load during the whole time horizon.

The code is available here: Storage design code
The Notebook is available at: Storage design notebook

Figure 3: principle diagram of the storage design example | Author: Sacha Hodencq

Waste heat recovery

In the waste_heat_recovery module, an electro-intensive industrial process consumes electricity and rejects heat. This waste heat is recovered by a system composed of a heat pump in order to increase the heat temperature, and a thermal storage that is used to recover more energy and have a more constant use of the heat pump. This way, the waste heat is whether recovered or dissipated depending on the waste heat recovery system sizing. The heat is then injected on a district heat network to provide energy to a district heat load. A production unit of the district heat network provides the extra heat.

The code is available here: Waste heat recovery code
The Notebook is available at: Waste heat recovery notebook

Figure 4: principle diagram of the waste heat recovery example | Author : Camille Pajot

Technical and decision constraints and objectives can be added to the project. This leads to the following Figure 5.


Figure 6: principle diagram of the waste heat recovery example with constraints | Author: Camille Pajot

Applying, multi-stakeholder vision on the waste heat recovery project leads to the Figure 6. One central point is the governance of the storage and heat pump. Who’s financing it? which actor will operate it? This governance needs to be discuss and mutually agreed to be able to go further on the project.


Figure 6: principle diagram of the waste heat recovery example with multi-stakeholder vision | Author: Lou Morriet from Camille Pajot work

A technical optimisation over one year on a hourly time step can lead to a study with
  • 228k variables (158k continuous et 70k binaires)
  • 316k constraints

It has been solved in 13h with Gurobi, which can be considered as correct considering the high number of variables and constraints.

Considering the 20MWh / 6.7MW storage this can of study can calculate that 60% of the annual needs could be covered by the LNCMI waste heat (which corresponds to 60% reduction in CO2 emissions) /!This outputs should be consider regarding the constraints and objectives of the model, which are not totally detailed here, as the goal of this part is to show the possibilities of OMEGAlpes.

Graphics like the following one can also be produced:


Figure 7: heat provider of the district over a year | Author: Camille Pajot

Various studies could be carried out:
  • Balancing between CO2 emissions from the LNCMI and district heating, free profile
  • Using HP according to the electricity price, typical profiles
  • Study of operational performances under constraints, fixed profile