Population model consumption splitting

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Population model consumption splitting

Looking through the abstract customer code base I found the following lines:

  void consumePower()
    Timeslot ts = Timeslot.currentTimeslot()
    double summary = 0
    subscriptions.each { sub ->
      if (ts == null) summary = getConsumptionByTimeslot(sub)
      else summary = getConsumptionByTimeslot(ts.serialNumber)
      log.info "Consumption Load: ${summary} / ${subscriptions.size()} "

Do I interpret it correctly that this means we are distributing the consumed power of a population to the population's tariffs proportional to the number of subscriptions? If so this would seem rather problematic:

Assume we have a population of households and within this population there are 5 large (consumption 5000kWh) and 5 small households (consumption 1000kWh) with a total population consumption of 30000kWh. There are 2 tariffs offered - one designed for big households, one for small households. The households rationally self-select into the two tariffs and thus both have a population count of 5. BUT on top the two tariffs will both be allocated 15000kWh of load which clearly is not desired.

Clearly, we do not want to have each population member contract with the accounting so wrapping in the population model is fundamentally the right way. Probably we need to add an extra step which is some sort of population-level accounting: When a population member subscribes to a tariff not only the counter needs to be kept but also some sort of population-local reference to the tariff selected should be kept. When the customer member consumes power it will be allocated to the local 'bucket' for this tariff and the population model then reports the bucket contents to the accounting service.

However, perhaps I am just misunderstanding the goal of population models. Should the single members of a population be modelled themselves (i.e. each formulate a consumption decision - this is how I understand the houshold-village relationship in Antonios' model) or should the population model also generate consumption on an aggregated level? This clarification will also help for the game spec!

Cheers, Chris