energyscope MILP energy modeling framework -
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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.