Class MultiAgentMedian


  • public class MultiAgentMedian
    extends ArbitrageStrategist
    Creates simple storage dispatch strategies based on an electricity price forecast and its median; Charges whenever the price is below (median - loss_safety) and discharges when prices are above (median + loss_safety). These price limits also resemble the used bid price. Impact of own (dis-)charge is not considered during planning, i.e., large storage operators using this strategy will likely have significant (own) price impacts and might not be able to follow their schedule as planned herein. Thus, many reschedule might be required.
    Author:
    Christoph Schimeczek
    • Field Detail

      • parameters

        public static final de.dlr.gitlab.fame.agent.input.Tree parameters
        Input parameters for the MultiAgentMedian strategist
    • Constructor Detail

      • MultiAgentMedian

        public MultiAgentMedian​(de.dlr.gitlab.fame.agent.input.ParameterData generalInput,
                                de.dlr.gitlab.fame.agent.input.ParameterData specificInput,
                                Device storage)
                         throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
        Creates a MultiAgentMedian strategist
        Parameters:
        generalInput - general parameters associated with strategists
        specificInput - specific parameters for this strategist
        storage - device to be optimised
        Throws:
        de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException - if any required input is missing
    • Method Detail

      • updateSchedule

        public 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 class Strategist
        Parameters:
        timePeriod - first period of the schedule to be created
      • getChargingPowerForecastInMW

        public double getChargingPowerForecastInMW​(de.dlr.gitlab.fame.time.TimeStamp targetTime)
        Description copied from class: ArbitrageStrategist
        Returns forecasted external charging power, if possible - otherwise throws a RuntimeEception
        Specified by:
        getChargingPowerForecastInMW in class ArbitrageStrategist
        Parameters:
        targetTime - for which to provide the forecast
        Returns:
        forecasted external charging power in MW
      • storeMeritOrderForesight

        public void storeMeritOrderForesight​(de.dlr.gitlab.fame.time.TimePeriod _1,
                                             SupplyOrderBook _2,
                                             DemandOrderBook _3)
        Description copied from class: Strategist
        Stores given supply and demand bid forecasts for the associated TimePeriod: merit-order forecasting method
        Overrides:
        storeMeritOrderForesight in class Strategist
        Parameters:
        _1 - associated with the forecast data
        _2 - forecasted supply OrderBook
        _3 - forecasted demand OrderBook