Optimisation
The optimisation module allows for an optimisation of the energy system using a cost function with can consist of monetary or carbon cost or a combination of the two quantities.
The optimisation relies on using a LP or MILP optimizer accessed via the energy system optimization framework Calliope (Pfenninger & Pickering, 2018). Via Calliope, a solver, such as Gurobi, is accessed.
The optimisation happens using the methods built into the optimizer. The more technologies are present in the energy system, the longer the optimisation takes. Activating integer variables (i.e. the asynchronous storage) leads to significantly longer optimisation times.
In addition to the conventional optimisation mode, a pareto front mode is also available. In this mode, a monetary-co2 pareto front is constructed.
The parameters of the optimisation are
Attribute |
Description |
Standard value |
Unit |
Data type |
|---|---|---|---|---|
|
MILP optimisation is enabled if set to “True”. |
False |
— |
bool |
|
*Deprecated: This option is not available.* |
False |
— |
bool |
|
Set to True to calculate a pareto front |
False |
— |
bool |
|
Number of pareto points |
6 |
— |
int |
|
Weight of monetary objective for objective function in optimisation. |
1 |
— |
float |
|
Weight of emissions objective for objective function in optimisation. |
0 |
— |
float |
|
Not yet implemented. |
0 |
— |
float |
|
Not yet implemented. |
0 |
— |
float |
|
Default: 1e9; cost of unmet demand; large value makes model convergence slow; https://calliope.readthedocs.io/en /stable/user/building.html#allowing-for- unmet-demand |
100000 |
CHF/kWh |
float |
|
Solver for optimisation, e.g. ‘cbc’, ‘gurobi’, etc. Must be compatible with Calliope. |
‘gurobi’ |
— |
string |
|
Default: 0; https://docs.gurobi.com/proj ects/optimizer/en/current/reference/para meters.html#parameternumericfocus |
1 |
— |
int |
|
Default: ‘Infinity’; https://docs.gurobi .com/projects/optimizer/en/current/refer ence/parameters.html#timelimit |
36000 |
s |
int |
|
Default: -1; https://docs.gurobi.com/pro jects/optimizer/en/current/reference/par ameters.html#presolve |
-1 |
— |
int |
|
Default: 1; https://docs.gurobi.com/proj ects/optimizer/en/current/reference/para meters.html#aggregate |
1 |
— |
int |
|
Default: 1e-6; https://docs.gurobi.com/p rojects/optimizer/en/current/reference/p arameters.html#feasibilitytol |
0.01 |
var |
float |
|
Default: 1e-4; https://docs.gurobi.com/p rojects/optimizer/en/current/reference/p arameters.html#mipgap |
0.0001 |
— |
float |
|
If set to True, MIPGap will be increased to 0.01 if a storage technology is activated in order to avoid numerical problems. |
False |
— |
bool |
|
If set to ‘true’, the math. model formulations are written to an .lp file; can take long to produce and result in large file; |
False |
— |
bool |
|
If set to ‘True’, the calliope files (input and results) will be saved. |
False |
— |
bool |
References
Pfenninger, S., & Pickering, B. (2018). Calliope: a multi-scale energy systems modelling framework. Journal of Open Source Software, 3(29), 825. https://doi.org/10.21105/joss.00825