Package agents.heatPump.strategists
Class StrategistMinCostRC
- java.lang.Object
-
- agents.flexibility.Strategist
-
- agents.heatPump.strategists.HeatPumpStrategist
-
- agents.heatPump.strategists.StrategistMinCostRC
-
public class StrategistMinCostRC extends HeatPumpStrategist
Minimises costs for heat pump dispatch by means of passive thermal storage using the thermal response model- Author:
- Christoph Schimeczek, Evelyn Sperber
-
-
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 StrategistMinCostRC(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, ThermalResponse building, HeatPump heatPump, Device device, HeatingInputData heatingData, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams)
Creates aStrategistMinCostRC
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MeritOrderSensitivity
createBlankSensitivity()
HeatPumpSchedule
createSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Creates aDispatchSchedule
for the connected flexibilitydouble
getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod currentTimeSegment)
protected boolean
temperatureIsOutOfBounds()
protected void
updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Updates schedule arrays starting at the given TimePeriod with the given initial energy level-
Methods inherited from class agents.heatPump.strategists.HeatPumpStrategist
callOnSensitivity, getAmbientTemperatureInC, getInternalEnergySchedule, getSolarRadiationInkWperM2, getUpscalingFactorToAllUnitsInMWperKW
-
Methods inherited from class agents.flexibility.Strategist
clearSensitivitiesBefore, getMissingForecastTimes, getSensitivityForPeriod, getTimesMissingElectricityForecasts, storeElectricityPriceForecast, storeMeritOrderForesight, updateBidSchedule
-
-
-
-
Constructor Detail
-
StrategistMinCostRC
public StrategistMinCostRC(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, ThermalResponse building, HeatPump heatPump, Device device, HeatingInputData heatingData, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aStrategistMinCostRC
- Parameters:
basicStrategy
- basic input data related to the strategistbuilding
- specifies the building in which the heat pump is operatedheatPump
- specifies the heat pump to be dispatcheddevice
- the storage used for heat pump dispatch optimisationheatingData
- input regarding heat-related input time seriesinstalledUnits
- 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
-
createBlankSensitivity
protected MeritOrderSensitivity createBlankSensitivity()
- Specified by:
createBlankSensitivity
in classStrategist
- Returns:
- an empty
MeritOrderSensitivity
item of the type used by thisArbitrageStrategist
-type
-
createSchedule
public HeatPumpSchedule createSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Description copied from class:Strategist
Creates aDispatchSchedule
for the connected flexibility- Overrides:
createSchedule
in classHeatPumpStrategist
- Parameters:
timePeriod
- first TimePeriod element of the schedule to be created- Returns:
schedule
for the specified simulation hour
if foresight data is missing, a dummy strategy is returned that keeps temperature constant
-
temperatureIsOutOfBounds
protected boolean temperatureIsOutOfBounds()
- Returns:
- true if temperature is above or below allowed limits
-
updateSchedule
protected void updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
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:
timeSegment
- first period of the schedule to be created
-
getHeatLoad
public double getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod currentTimeSegment)
- Specified by:
getHeatLoad
in classHeatPumpStrategist
- Parameters:
currentTimeSegment
- for which to get the heat load- Returns:
- aggregated heat load to be covered by heat pumps at time step
-
-