Package org.powertac.common.msg
Class EconomicControlEvent
- java.lang.Object
-
- org.powertac.common.state.XStreamStateLoggable
-
- org.powertac.common.TariffMessage
-
- org.powertac.common.msg.TariffUpdate
-
- org.powertac.common.msg.ControlEvent
-
- org.powertac.common.msg.EconomicControlEvent
-
- All Implemented Interfaces:
ValidatableMessage
@Domain(fields={"tariffId","curtailmentRatio","timeslotIndex"}) public class EconomicControlEvent extends ControlEvent
Message sent by a broker to the subscribers to a particular tariff, requesting them to adjust usage against that tariff in the specified timeslot. The curtailmentRatio parameter specifies the portion of total usage that will be curtailed for that timeslot, but the actual curtailment is also constrained by the Rate in effect during that timeslot, so it might be less. Customer models can interpret this ratio in two ways: First, it might be that an individual customer reduces usage by that amount over what would have been used otherwise; second, it might be that the specified proportion of the population represented by the customer model is completely curtailed during that timeslot. If the applicable tariff has one or more RegulationRates, then the curtailmentRatio value can be used to withdraw energy from storage (1.0 < ratio <= 2.0), or to deposit energy in storage, thereby increasing the load (0.0 > ratio >= -1.0). Of course, giving ratio > 1.0 for anything other than a battery-like load will act like ratio = 1.0. State log fields for readResolve():
new(long tariffId, double curtailmentRatio, long timeslotIndex)- Author:
- John Collins
-
-
Field Summary
-
Fields inherited from class org.powertac.common.TariffMessage
broker, id
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
EconomicControlEvent()
EconomicControlEvent(TariffSpecification tariff, double curtailmentRatio, int timeslotIndex)
Creates a new EconomicControlEvent to take effect in the following timeslot.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getCurtailmentRatio()
-
Methods inherited from class org.powertac.common.msg.ControlEvent
getTimeslotIndex
-
Methods inherited from class org.powertac.common.msg.TariffUpdate
getTariffId
-
Methods inherited from class org.powertac.common.TariffMessage
getBroker, getId, isValid
-
Methods inherited from class org.powertac.common.state.XStreamStateLoggable
readResolve
-
-
-
-
Constructor Detail
-
EconomicControlEvent
public EconomicControlEvent(TariffSpecification tariff, double curtailmentRatio, int timeslotIndex)
Creates a new EconomicControlEvent to take effect in the following timeslot. Package visibility reflects the fact that this is intended to be called by the factory method in ControlEvent.
-
EconomicControlEvent
protected EconomicControlEvent()
-
-