Package agents.heatPump.strategists
Class StrategistExternal
- java.lang.Object
-
- agents.flexibility.Strategist
-
- agents.heatPump.strategists.HeatPumpStrategist
-
- agents.heatPump.strategists.StrategistExternal
-
public class StrategistExternal extends HeatPumpStrategist
Creates a cost-optimal HeatPumpSchedule according to real-time prices, which is endogenously calculated by a heat pump dispatch model.- Author:
- Evelyn Sperber, Christoph Schimeczek
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class agents.heatPump.strategists.HeatPumpStrategist
HeatPumpStrategist.HeatPumpStrategistType
-
-
Field Summary
Fields Modifier and Type Field Description static de.dlr.gitlab.fame.agent.input.Tree
apiParameters
Input parameters required for connecting to an external API-based model-
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 StrategistExternal(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, HeatPump heatPump, Device device, HeatingInputData heatingData, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams, EndUserTariff tariffStrategist, double fixedRoomTemperaturInC)
Creates aStrategistExternal
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MeritOrderSensitivity
createBlankSensitivity()
double
getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod currentTimeSegment)
protected void
updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
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
-
StrategistExternal
public StrategistExternal(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, HeatPump heatPump, Device device, HeatingInputData heatingData, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams, EndUserTariff tariffStrategist, double fixedRoomTemperaturInC) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aStrategistExternal
- 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 seriesinstalledUnits
- number of installed heat pump unitsstrategyParams
- strategy parameters for heat pump operationtariffStrategist
- specifies the real time price designfixedRoomTemperaturInC
- initial room temperature when instantiated- 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
-
updateSchedule
protected void updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
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:
timePeriod
- 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
-
-