Download and installation¶
Calliope has been tested on Linux, macOS, and Windows.
Running Calliope requires four things:
- The Python programming language, version 3.5 or higher.
- A number of Python add-on modules (see below for the complete list).
- A solver: Calliope has been tested with GLPK, CPLEX, and Gurobi. Any other solver that is compatible with Pyomo, which Calliope uses to construct its models, should work.
- The Calliope software itself.
Recommended installation method¶
The easiest way to get a working Calliope installation is to use the free Anaconda Python distribution and its package manager,
With Anaconda installed, you can create a new Python 3.5 environment called “calliope” with all the necessary modules, including the free and open source GLPK solver, with the following command:
$ conda create -c conda-forge -n calliope python=3.5 calliope
To use Calliope, you need to activate the “calliope” environment each time. On Linux and macOS:
$ source activate calliope
$ activate calliope
You are now ready to use Calliope together with the free and open source GLPK solver. Read the next section for more information on alternative solvers.
You need at least one of the solvers supported by Pyomo installed. GLPK or Gurobi are recommended and have been confirmed to work with Calliope. Refer to the documentation of your solver on how to install it. Some details on GLPK and Gurobi are given below. Another commercial alternative is CPLEX.
GLPK is free and open-source, but can take too much time and/or too much memory on larger problems. If using the recommended installation approach above, GLPK is already installed in the “calliope” environment. To install GLPK manually, refer to the GLPK website.
Gurobi is commercial but significantly faster than GLPK, which is relevant for larger problems. It needs a license to work, which can be obtained for free for academic use by creating an account on gurobi.com.
Like Calliope itself, Gurobi can also be installed via conda:
$ conda install -c gurobi gurobi
After installing, log on to the Gurobi website and obtain a (free academic or paid commercial) license, then activate it on your system via the instructions given online (using the
Python module requirements¶
The following Python modules and their dependencies are required:
Matplotlib is optional but necessary to graphically display results.
These modules are optional but necessary to display transmission flows on a map:
These modules are optional and used for the example notebook in the tutorial: