energyscope MILP energy modeling framework -
Switch branches/tags
Nothing to show
Clone or download
Latest commit 0d5bc97 Dec 11, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
output added sankey diagrams Aug 15, 2018
LICENSE Create LICENSE Dec 10, 2018
NOTICE Create NOTICE Dec 11, 2018 Update Dec 10, 2018
ses_main.dat first commit Oct 31, 2017
ses_main.mod small fix to correctly represent biofuels in Sankey Oct 18, 2018

Acknowledging authorship

In the academic spirit of collaboration, the source code should be appropriately acknowledged in the resulting scientific disseminations.
You may cite it as follows:

  • [1], for reference to the Swiss-EnergyScope project or the online version of the calculator
  • [2], for reference to the MILP modeling framework
  • [3], for reference to the MILP modeling framework and the data for the application to the Swiss energy system

You are welcome to report any bugs related to the code to the following:


This folder contains the Swiss-EnergyScope (SES) MILP model.
The version of the model corresponds to the one documented in [4], Chapter 1.
The data used in the model are fully documented in [4], Appendix A.

How to run the model

The model is coded in GLPK, using the open-source solver GLPSOL. To run the model, perform the following 4 steps:

  1. Install GLPK:

a) on Mac OS X (Option 1, recommended): use homebrew

b) on Mac Os X (Option 2)/Linux:

$ cd ~/Downloads
$ tar -xzf glpk-4.63.tar.gz
$ cd glpk-4.63 [or newer version]
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

See if your system recognises it:

$ which glpsol

should reveal:

$ /usr/local/bin/glpsol

Now try:

$ glpsol --help


c) on Windows:

  • Download the source files from:
  • Extract the files in a folder. Depending on your operating system use glpsol.exe from: ./w64 if running on a 64 bit version ./w32 if running on a 64 bit version
  • For facilitating the access to glpsol.exe you can add the full path (depending on your operating system, see below) from the previous point to the system variables PATH
  1. Clone/download the content of this folder
  2. Navigate to that folder via terminal/cmd prompt and execute (check glpsol documentation for more options):

$ glpsol -m ses_main.mod -d ses_main.dat -o ses_main.out (You might need to use 'glspol.exe' on Windows)

  1. Check that the ses_main.out file is correctly generated.

If the command at point (3) did not run, it might be that glpsol is not on your PATH. Two solutions for that:

The model was originally developed in AMPL. Compatible solvers are CPLEX, Gurobi, etc. Running the model in AMPL requires the licences of AMPL and of at least one MILP solver.

[1] V. Codina Gironès, S. Moret, F. Maréchal, D. Favrat (2015). Strategic energy planning for large-scale energy systems: A modelling framework to aid decision-making. Energy, 90(PA1), 173–186.
[2] S. Moret, M. Bierlaire, F. Maréchal (2016). Strategic Energy Planning under Uncertainty: a Mixed-Integer Linear Programming Modeling Framework for Large-Scale Energy Systems.
[3] S. Moret, V. Codina Gironès, M. Bierlaire, F. Maréchal (2017). Characterization of input uncertainties in strategic energy planning models. Applied Energy 202, 597–617.
[4] S. Moret (2017). Strategic Energy Planning under Uncertainty. PhD Thesis n. 7961, EPFL, Switzerland.