Class Genco

  • Direct Known Subclasses:
    Buyer

    @Domain
    @ConfigurableInstance
    public class Genco
    extends Broker
    Represents a producer of power in the transmission domain. Individual models are players on the wholesale side of the Power TAC day-ahead market.
    Author:
    jcollins
    • Constructor Detail

      • Genco

        public Genco​(String username)
    • Method Detail

      • isInOperation

        public boolean isInOperation()
        True if plant is currently operating
      • getNominalCapacity

        public double getNominalCapacity()
        Nominal or mean capacity of plant. This is the value toward which the mean-reverting random walk reverts.
      • getCost

        public double getCost()
        Ask price for energy from this plant.
      • getVariability

        public double getVariability()
        Maximim amount by which capacity can change/timeslot in random walk.
      • getReliability

        public double getReliability()
        Probability that this plant will submit asks in any given timeslot
      • getCommitmentLeadtime

        public int getCommitmentLeadtime()
        Leadtime to commit energy from this plant, expressed in number of timeslots. Plant will not send orders to the market within this leadtime unless it has at least partially committed power for the timeslot in question.
      • getCarbonEmissionRate

        public double getCarbonEmissionRate()
        Rate at which this plant emits carbon, relative to a coal-fired thermal plant.
      • updateModel

        public void updateModel​(org.joda.time.Instant currentTime)
        Updates this model for the current timeslot, by adjusting capacity, checking for downtime, and creating exogenous commitments.
      • generateOrders

        public void generateOrders​(org.joda.time.Instant now,
                                   List<Timeslot> openSlots)
        Generates Orders in the market to sell available capacity. No Orders are submitted if the plant is not in operation.
      • setCurrentCapacity

        @StateChange
        public void setCurrentCapacity​(double val)
      • setInOperation

        @StateChange
        public void setInOperation​(boolean op)