Model Configuration

Here are the configuration settings as can be defined in ConfigModel.json, along with a description of each setting, the options that can be chosen for the setting (if relevant) and the value of the default/currently chosen option.

The objective options refer to:

  • ‘costs’: minimize total annual system cost

  • ‘emissions_pos’: minimize postive emissions (negative emissions are not part of the objective function)

  • ‘emissions_net’: minimize net emissions (sum of positive and negative emissions)

  • ‘emissions_minC’: find the minimum cost system at minimum emissions (minimizes net emissions in the first step and cost as a second step)

  • ‘costs_emissionlimit’: minimize cost at an emission limit. The emission limit can be set using the emission_limit option

  • ‘pareto’: optimizes the pareto front, documented here

Model Configuration Settings

Category

Setting

Sub-setting

Description

Options

Value

optimization

objective

String specifying the objective/type of optimization.

[‘costs’, ‘emissions_pos’, ‘emissions_net’, ‘emissions_minC’, ‘costs_emissionlimit’, ‘pareto’]

costs

optimization

emission_limit

emission limit to be enforced if objective function is costs_emissionlimit

0

optimization

monte_carlo

N

Number of Monte Carlo simulations (0 = off).

0

optimization

monte_carlo

type

Type of Monte Carlo simulation. For type 1 the user defines the standard deviation and the components to vary. For type 2 the user provides a csv file with the parameters and their min, max and reference values.

[‘normal_dis’, ‘uniform_dis_from_file’]

normal_dis

optimization

monte_carlo

sd

Value defining the range in which variables are varied in Monte Carlo simulations (defined as the standard deviation of the original value).

0.2

optimization

monte_carlo

on_what

List: Defines component to vary.

[‘Technologies’, ‘Networks’, ‘Import’, ‘Export’]

[‘Technologies’]

optimization

pareto_points

Number of Pareto points.

5

optimization

timestaging

Defines number of timesteps that are averaged (0 = off).

0

optimization

typicaldays

N

Determines number of typical days (0 = off).

0

optimization

typicaldays

method

Determine method used for modeling technologies with typical days.

[1, 2]

2

optimization

typicaldays

technologies_with_full_res

If method 2 is chosen, list determines which technologies are modelled at full resolution. Should be at least all storage technologies.

[]

[‘RES’, ‘STOR’, ‘Hydro_Open’]

optimization

multiyear

Enable multiyear analysis, if turned off max time horizon is 1 year.

[0, 1]

0

solveroptions

solver

String specifying the solver used.

gurobi

solveroptions

mipgap

Value to define MIP gap.

0.001

solveroptions

timelim

Value to define time limit in hours.

10

solveroptions

threads

Value to define number of threads (default is maximum available).

0

solveroptions

mipfocus

Modifies high level solution strategy.

[0, 1, 2, 3]

0

solveroptions

nodefilestart

Parameter to decide when nodes are compressed and written to disk.

60

solveroptions

method

Defines algorithm used to solve continuous models.

[-1, 0, 1, 2, 3, 4, 5]

-1

solveroptions

heuristics

Parameter to determine amount of time spent in MIP heuristics.

0.05

solveroptions

presolve

Controls the presolve level.

[-1, 0, 1, 2]

-1

solveroptions

branchdir

Determines which child node is explored first in the branch-and-cut.

[-1, 0, 1]

0

solveroptions

lpwarmstart

Controls whether and how warm start information is used for LP.

[0, 1, 2]

0

solveroptions

intfeastol

Value that determines the integer feasibility tolerance.

1e-05

solveroptions

feastol

Value that determines feasibility for all constraints.

1e-06

solveroptions

numericfocus

Degree of which Gurobi tries to detect and manage numeric issues.

[0, 1, 2, 3]

0

solveroptions

cuts

Setting defining the aggressiveness of the global cut.

[-1, 0, 1, 2, 3]

-1

reporting

write_results

Write results (h5 file and to Summary.xlsx) directly after the optimization.

[0, 1]

1

reporting

save_summary_path

Path to save the summary file path to.

./userData/

reporting

save_path

Option to define the save path.

./userData/

reporting

case_name

Option to define a case study name that is added to the results folder name.

-1

reporting

write_solution_diagnostics

If 1, writes solution quality, if 2 also writes pyomo to Gurobi variable map and constraint map to file.

[0, 1, 2]

0

energybalance

violation

Determines the energy balance violation price (-1 is no violation allowed).

-1

energybalance

copperplate

Determines if a copperplate approach is used.

[0, 1]

0

economic

global_discountrate

Determines if and which global discount rate is used. This holds for the CAPEX of all technologies and networks.

-1

economic

global_simple_capex_model

Determines if the CAPEX model of technologies is set to 1 for all technologies.

[0, 1]

0

performance

dynamics

Determines if dynamics are used.

[0, 1]

0

scaling

scaling_on

Determines if the model is scaled. If 1, it uses global and component specific scaling factors.

[0, 1]

0

scaling

scaling_factors

energy_vars

Scaling factor used for all energy variables.

0.001

scaling

scaling_factors

cost_vars

Scaling factor used for all cost variables.

0.001

scaling

scaling_factors

objective

Scaling factor used for the objective function.

1