-
Notifications
You must be signed in to change notification settings - Fork 4
optimizerConfig.xml
The optimizerConfig.xml
file is the template for any configuration file for the optimization routines. The actual configuration file should be located in MiGRIDSProjects/<myProjectName>/InputData/Setup/
and called optimizerConfig<myProjectName>.xml
. Without such a file optimization fails.
The following describes the various tags, their function and default values where warranted.
Root tag wrapping all other tags
This contains the objective of the optimization. The value given determines which fitness function is actually called in getFitness.py
.
Default value: "maxREContribution"
Available choices:
- maxREContribution: looks for the EES size which maximizes renewable energy contribution
- minFuelUtilization: looks for the EES size which minimizes diesel fuel utilization of the generator fleet
If additional fitness methods are made available they need to be registered in the choices attribute of the optimizationObjective tag.
A container for various possible constraints on the optimization. Simulations failing to meet these constraints are discarded.
NOTE: this tag currently is not used in the optimization.
Default value: 2000
Default setting: active="False"
Lowest ESS power capacity to be considered. Units: kW. If 'active' is true, enforce this constraint. Default value is 0.
NOTE: the setting in this tag may be overridden by the selection in optimizationEnvelopeEstimator
Default value: 0
Default setting: active="True"
Highest ESS power capacity to be considered. Units: kW. If 'active' is true, enforce this constraint. Default value is 10000.
NOTE: the setting in this tag may be overridden by the selection in optimizationEnvelopeEstimator
Default value: 10000
Default setting: active="True"
Lowest ESS energy capacity to be considered. Units: kWh. If 'active' is true, enforce this constraint. Default value is 0.
NOTE: the setting in this tag may be overridden by the selection in optimizationEnvelopeEstimator
Default value: 0
Default setting: active="True"
Highest ESS energy capacity to be considered. Units: kWh. If 'active' is true, enforce this constraint. Default value is 10000.
NOTE: the setting in this tag may be overridden by the selection in optimizationEnvelopeEstimator
Default value: 10000
Default setting: active="True"
Configuration for getOptimizationBoundaries.py
interface. Based on the value given here the interface passes on to a specific boundary value estimation. Any new method to estimate boundaries needs to be registered with the choices
attribute here.
Default value: variableSRC
Available choices:
- variableSRC: looks at the estimated SRC requirements to narrow down the ESS range of power and energy capacities , implemented in
calcSRCMethodBoundaries.py
. Additional configuration data for this method is provided invariableSRCCongig
. - noBoundaries: skips boundary calculation and merely uses the minimum and maximum values configured in the respective children of
optimizationContstraints
.
Additional configuration passed through to calcSRCMethodBoundaries.
mode
Tag
The attribute 'mode' describes how to reconcile the estimated envelope with the sizing constraints (minESSP/E, maxESSP/E); options are 'tight', which uses the narrower band of values, or 'relaxed' which uses the wider band of values. NOTE: this is currently not used.
minDynSRC
Tag
Fraction of total load that always should be kept as SRC. Default value is 0.15.
minDuration
Tag
Time in seconds that the energy storage has to cover SRC. Units: seconds. Default value is 60 seconds
minPercent
Tag
Minimum percentile as a fraction that the energy storage has to be able to cover SRC. Units: none. Default value is 0.7.
maxPercent
Tag
Maximum percentile as a fraction that the energy storage has to be able to cover SRC. Units: none. Default value is 0.99.
maxMargin
Tag
The margin put on the maximum power calculated as a fraction. Units: none. Default value: 1.10.
Choices of methods used to reduce the long time series, in order to reduce algorithm run time. Only one method is implemented thus far. If additional methods are implemented they will have to be registered in the choices
attribute.
Default value: RE-load-one-week
Availble choices:
- RE-load-one-week: calls the reduction algorithm in
getDataSubsetsRELoadOneWeek.py
- noReduction: skips data reduction and runs on the entire data set. Not recommended.
Selects from the available optimization algorithms.
NOTE: the only functioning algorithm at this time is the hillClimber
choice.
Default value: hillClimber
Availble choices:
- hillClimber: selects an adaptive hill climbing algorithm. See
hillClimberConfig
for additional configuration. - geneticAlgorithm: Not implemented due to total compute time requirements. Here for illustration only.
Configuration parameters for the hillClimber algorithm. Note: some configuration values are currently hardcoded, if these are desired to be configured they should be added here as child tags.
minRunNumber
Tag
Minimum number of iterations to dispatch. Default value is 3.
maxRunNumber
Tag
Maximum number of iterations to dispatch. Default value is 50. Note that 50 iterations might create considerable amounts of data and may require significant (>days) compute time.
**convergenceVariance
Tag **
Fraction of variance from best so far considered convergent. Default value is 0.1. Note: this is not used currently. Convergence is only achieved if the exact best fitness value is found repeatedly.
convergenceRepeatNum
Tag
Number of consecutive repeats at convergence variance to terminate. Default value is 3.
dispatchFullRunAtConvergence
Tag
If true, the best found configuration is dispatched for a full length simulation. Default value is False. Note: due to the total time requirement for dispatch of a full simulation, this is currently not implemented.
Place holder only. Note implemented.