Class SystemCostMinimiser


  • public class SystemCostMinimiser
    extends DynamicProgrammingStrategist
    Strategy to minimise system cost (i.e. supply-side marginals) via dynamic programming, running backwards in time. System costs are minimised by finding the best sequence of states.
    Author:
    Christoph Schimeczek, Felix Nitsch, A. Achraf El Ghazi, Evelyn Sperber
    • Constructor Detail

      • SystemCostMinimiser

        public SystemCostMinimiser​(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
        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

      • optimiseDispatch

        protected void optimiseDispatch​(de.dlr.gitlab.fame.time.TimePeriod startPeriod)
        calculates least costly and reachable final state for every initial state in every period
        Specified by:
        optimiseDispatch in class DynamicProgrammingStrategist
        Parameters:
        startPeriod - first period of the schedule to be created
      • calcBidPrice

        protected double calcBidPrice​(de.dlr.gitlab.fame.time.TimePeriod __,
                                      double externalEnergyDelta)
        Description copied from class: DynamicProgrammingStrategist
        Calculates bidding price for given time period and planned external energy delta
        Specified by:
        calcBidPrice in class DynamicProgrammingStrategist
        Parameters:
        __ - at which the (dis-)charging action happens
        externalEnergyDelta - planned to take place; > 0: charging < 0: discharging
        Returns:
        bidding price depending on time and type of action
      • storeElectricityPriceForecast

        public void storeElectricityPriceForecast​(de.dlr.gitlab.fame.time.TimePeriod timePeriod,
                                                  double electricityPriceForecastInEURperMWH)
        Description copied from class: Strategist
        Stores given electricity price forecast for the associated TimePeriod: price-forecasting method
        Overrides:
        storeElectricityPriceForecast in class Strategist
        Parameters:
        timePeriod - associated with the forecast data
        electricityPriceForecastInEURperMWH - forecast for the electricity price in EUR per MWh