Package agents.heatPump.strategists
Class StrategistMinCostFile
- java.lang.Object
-
- agents.flexibility.Strategist
-
- agents.heatPump.strategists.HeatPumpStrategist
-
- agents.heatPump.strategists.StrategistMinCostFile
-
public class StrategistMinCostFile extends HeatPumpStrategist
Minimises costs for heat pump dispatch using active storage (hot water tank) for a given heat demand file- Author:
- Evelyn Sperber, Farzad Sarfarazi
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class agents.heatPump.strategists.HeatPumpStrategist
HeatPumpStrategist.HeatPumpStrategistType
-
-
Field Summary
-
Fields inherited from class agents.heatPump.strategists.HeatPumpStrategist
heatingData, heatPump, hourlyInitialTemperatureInC, parameters, strategyParams, temperatureResolutionInC, thermalStorage
-
Fields inherited from class agents.flexibility.Strategist
bidToleranceParam, demandScheduleInMWH, ERR_PROVIDE_FORECAST, ERR_UNKNOWN_STRATEGIST, ERR_UNKNOWN_UPDATE_TYPE, ERR_USE_MERIT_ORDER_FORECAST, ERR_USE_PRICE_FORECAST, forecastPeriodParam, forecastSteps, forecastUpdateTypeParam, OPERATION_PERIOD, priceScheduleInEURperMWH, scheduledBidPricesInEURperMWH, scheduleDurationParam, scheduleDurationPeriods
-
-
Constructor Summary
Constructors Constructor Description StrategistMinCostFile(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, HeatPump heatPump, Device device, HeatingInputData heatingData, double heatPumpPenetrationFactor, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams)
Creates aStrategistMinCostFile
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MeritOrderSensitivity
createBlankSensitivity()
double
getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
void
updateHeatDemandForecast(de.dlr.gitlab.fame.time.TimePeriod startTime)
Updates heat demand forecastprotected void
updateSchedule(de.dlr.gitlab.fame.time.TimePeriod startTime)
Updates schedule arrays starting at the given TimePeriod with the given initial energy level-
Methods inherited from class agents.heatPump.strategists.HeatPumpStrategist
callOnSensitivity, createSchedule, getAmbientTemperatureInC, getInternalEnergySchedule, getSolarRadiationInkWperM2, getUpscalingFactorToAllUnitsInMWperKW
-
Methods inherited from class agents.flexibility.Strategist
clearSensitivitiesBefore, getMissingForecastTimes, getSensitivityForPeriod, getTimesMissingElectricityForecasts, storeElectricityPriceForecast, storeMeritOrderForesight, updateBidSchedule
-
-
-
-
Constructor Detail
-
StrategistMinCostFile
public StrategistMinCostFile(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, HeatPump heatPump, Device device, HeatingInputData heatingData, double heatPumpPenetrationFactor, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aStrategistMinCostFile
- Parameters:
basicStrategy
- basic input data related to the strategistheatPump
- specifies the heat pump to be dispatcheddevice
- the storage used for heat pump dispatch optimisationheatingData
- input regarding heat-related input time seriesheatPumpPenetrationFactor
- share of heat pumps of total heating demandinstalledUnits
- number of installed heat pump unitsstrategyParams
- strategy parameters for heat pump operation- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required data is not provided
-
-
Method Detail
-
updateSchedule
protected void updateSchedule(de.dlr.gitlab.fame.time.TimePeriod startTime)
Description copied from class:Strategist
Updates schedule arrays starting at the given TimePeriod with the given initial energy level- Specified by:
updateSchedule
in classHeatPumpStrategist
- Parameters:
startTime
- first period of the schedule to be created
-
updateHeatDemandForecast
public void updateHeatDemandForecast(de.dlr.gitlab.fame.time.TimePeriod startTime)
Updates heat demand forecast- Parameters:
startTime
- to begin forecast updating at
-
createBlankSensitivity
protected MeritOrderSensitivity createBlankSensitivity()
- Specified by:
createBlankSensitivity
in classStrategist
- Returns:
- an empty
MeritOrderSensitivity
item of the type used by thisArbitrageStrategist
-type
-
getHeatLoad
public double getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
- Specified by:
getHeatLoad
in classHeatPumpStrategist
- Parameters:
timeSegment
- for which to get the heat load- Returns:
- aggregated heat load to be covered by heat pumps at time step
-
-