Household Model

From powerwiki
Jump to: navigation, search
2008-01-11 111805-treehugger-solar-village-overview 7447.jpg


Households customers hold a large share in the electricity consumption (there are 230 million residential consumers in Europe according to Eurostat), making them an important and influencial factor in the Electricity Market. Taking this into consideration, most brokers will try maximize their residential clients in order to maximize their Market Power, while at the same time they must satisfy their demands (in electricity) in order to keep them under contract.


In this page, the implementation of a household electricity consumer is going to be analysed. Firstly, the basic concepts that had to be nested in the models are presented, as well as the characteristics of every notion developed. This way, it easy for naive users to understand the attributes, the functions and the behaviors of the models, without knowing technical details or terminology. In entities where more analysis is required, there will be additional links in the end of the page.

General Description

In our simulated world, Households are important customer entities. They contain from one up to several housemembers who live in the simulation world, go to work, have hobbies, go on vacation and so on. Also, there are several electrical and electronical appliances that are installed and utilized in each house. In order to create more aggregated customer models (that are more easily controlled and manipulated for the competition) we have created Villages.

A Village is composed by hundreds of households, while later on more types of consuming/producing models will be implemented in them. There are the same Public Vacations in each seperate Village as it happens in real life.

Each village contains several types of household population, differentiated by their will to change tariffs at will, in accordance with their costs or their well being. There will be four types of population implemented in village models:

  1. Not Shifting: These households will not change tariffs once they settle to the best suitable to their needs.
  2. Randomly Shifting: These households will evaluate the new available tariffs after random intervals of time, in order to find the best suitable for their needs. 
  3. Regularly Shifting: These households will evaluate the new available tariffs in regular time intervals.
  4. Smart Shifting: The population in this type of households will check constantly to find the best tariff in order to minimize their cost and cover their energy needs.

These types may change during design and implementation of the models according to the needs of the PowerTAC Competition. Right now not all of the intermediate behaviors have been implemented and the model makes smart shifting in regular timeslots.)


Village

Attributes

  1. Name: Every village has a distinctive name so that can be differentiated from the rest.
  2. Households (Service):Each village has a map of the households and later on the rest of the consumer/producer models that contains.
  3. Loads (Service): In each village, there are two seperate types of consumption load: Base Load (that cannot be shifted) and Controllable Load (that can be shifted or interrupted by automatic means). These are counted in the beginning of each competition and the later is used by the shifting algorithms.
  4. Days (Service): These are the days of the competition utilized by the cost evaluating algorithm in order to see which tariff is best suited for each Village-Customer.


Functions

  1. Initialize (private): this is the constructor function of the Village models. It takes as inputs the configuration file of the household models in order to read the parameters needed for the initialization of the submodels contained, as well as the random number generator.Having all the information at hand and by using some of the functions described below, a fully functional, randomized and dynamic village is created.
  2. Create Cost Estimation Days List (private): This function creates the list of random days utilized by the cost evaluating algorithm.
  3. Create Public Vacation Vector (private): This function creates the list of random days that will be the Public Vacation days of the certain Village.
  4. Fill Aggregated Load (private): There are several similar in operation functions, that when combined in action fill the Load for each our and day of the Competition in the Village. In the end of the filling operation, the Base Load and the Controllable Load maps are ready for use.
  5. Get Consumption By Timeslot (private): By utilizing this function, using as input the current timeslot, we can have the consuming load for that timeslot.
  6. Estimate Variable Tariff Payment (private): This is the function that evaluates the cost of the consuming load per hour for all the available tariffs, using smart algorithms, in order to decide which is the less costly.
  7. Refresh (private): This function is used to refresh the weekly models of the households in the village, with their respected members and appliances.
  8. Show Aggregated Load (private): With this function and by selecting one of the available portions of the populations in the Village, the aggregated load of each day of competition is printed.
  9. Step Status (private): this is the function that shows the status of every housemember and appliance in the household for the timeslot in which is called.
  10. Print Daily Load (private): By using this function, we can see the house load of each household of the village for each of the 24hours of a certain day.


Configuration Parameters

  • Public Vacation Duration (Default: 3 days)
  • Number of Villages (Default: 2 Villages)
  • Number of Households Per Type (Default 2 Households, 8 in total for each Village)


Household

Attributes

  1. Name: Every household has a distinctive name so that can be differentiated from the rest.
  2. Members: every household has a number of persons living inside. Each one has its own personal daily program, which is independent of the rest of the occupants. In TAC Energy Competition, there can be from one (1) up to five (5) occupants in a house.
  3. Appliances: An organized household must also be equiped with electric appliances, making their occupants' life easier and more convenient. Even though there are some common appliances in every house, not all of the households are well equiped or sharing the same appliances. As a consequence, not all of the households consume the same amount of energy nor utilize the appliances available at the same time.
  4. Daily / Weekly Load: In the end of each day / week, the aggregated power load (seperated in Base and Controllable as mentioned before) can be presented to anyone in interest. This may be useful for someone who want to use historical data in order to discover patterns or habits of the inhabitants.
  5. Year Consumption: This is a statistical mean of the yearly household consumption (based on Statistisches Bundesamt 2009), in order for the brokers interested to have a mean value in mind.

Functions

  1. Initialize (private): this is the constructor function of the Agent(s) responsible for the Household Simulation. It takes as inputs the name of the household, in order to distinguish them with each other, the configuration file parametes, as well as the Public Vacation Vector (see below on Related Pages). Having all the information at hand and by using some of the functions described below, a fully functional, randomized and dynamic household is created.
  2. Member Randomizer(private): a simple function to select the random number of occupants for the household (from one up to five).
  3. Add Person(private): this function creates a number of Persons and makes them members of a household.
  4. Check Probability(private): another simple function responsible for deciding if an appliance is installed in a household. Each appliance has a probability of being part of a household. This percentage was extracted by diverse sources of statistical data through out Europe.
  5. Fill Appliances(private): After filling the household occupants, it's time to fill the house with the electrical equipment necessary. By using Check Probability (see above), the house is supplied with a random number and kind of Appliances, each one with its specialized operation pattern, ready to function at will.
  6. Fill Daily/Weekly Load(private): At the beginning of each day (or each week), the Household agent is aggregating the operational patterns of its appliances and provide the daily power load that is going to use. Since some appliances work all day long, while others need someone to operate them etc., each day's load is totally independent from any other one. The most important factor in household's power load is occupants' presence (or absence).
  7. Is Empty / On Vacation: these two functions are used by occupancy dependent appliances, in order to check if someone is at home or is it empty. This way the function of some appliances may be delayed until someone is back, or be cancelled.
  8. Step Status (private): this is the function that shows the status of every housemember and appliance in the household for the timeslot in which is called.
  9. Show Status (private): this is the function that shows the status of every housemember and appliance for the whole competition time.
  10. Print Daily Load (private): By using this function, we can see the household load for each of the 24hours of a certain day.


Related Pages