org.powertac.officecomplexcustomer.customers
Class OfficeComplex

java.lang.Object
  extended by org.powertac.common.AbstractCustomer
      extended by org.powertac.officecomplexcustomer.customers.OfficeComplex

public class OfficeComplex
extends org.powertac.common.AbstractCustomer

The office complex domain class is a set of offices that comprise a office building that consumes aggregated energy by the appliances installed in each office.

Version:
1.5, Date: 2.25.12
Author:
Antonios Chrysopoulos

Field Summary
protected static org.apache.log4j.Logger log
          logger for trace logging -- use log.info(), log.warn(), and log.error() appropriately.
 
Fields inherited from class org.powertac.common.AbstractCustomer
carbonEmissionRate, custId, customerInfos, customerRepo, lowerPowerCap, name, randomSeedRepo, rs1, sunToPowerConversion, tariffMarketService, tariffSubscriptionRepo, tempToPowerConversion, upperPowerCap, windToPowerConversion
 
Constructor Summary
OfficeComplex(String name)
          This is the constructor function of the OfficeComplex customer
OfficeComplex(String name, ArrayList<org.powertac.common.CustomerInfo> customerInfo)
          This is the second constructor function of the Village customer
 
Method Summary
 void changeSubscription(org.powertac.common.Tariff tariff, org.powertac.common.CustomerInfo customer)
          The first implementation of the changing subscription function.
 void changeSubscription(org.powertac.common.Tariff tariff, String type, org.powertac.common.CustomerInfo customer)
          The second implementation of the changing subscription function only for certain type of the households.
 void changeSubscription(org.powertac.common.Tariff tariff, org.powertac.common.Tariff newTariff, org.powertac.common.CustomerInfo customer)
          In this overloaded implementation of the changing subscription function, Here we just put the tariff we want to change and the whole population is moved to another random tariff.
 void changeSubscription(org.powertac.common.Tariff tariff, org.powertac.common.Tariff newTariff, String type, org.powertac.common.CustomerInfo customer)
          In this overloaded implementation of the changing subscription function only certain type of the households.
 void checkRevokedSubscriptions()
           
 void consumePower()
           
 HashMap<String,org.powertac.common.TariffSubscription> getControllableSubscriptionMap()
          This function returns the subscription Map variable of the village.
 HashMap<String,Double> getInertiaMap()
          This function returns the inertia Map variable of the office complex.
 Vector<Office> getOffices()
          This function returns a vector with all the offices that are present in this office complex.
 Vector<Office> getOffices(String type)
          This function returns a vector with all the offices of a certain type that are present in this office complex.
 HashMap<String,Integer> getPeriodMap()
          This function returns the period Map variable of the office complex.
 HashMap<String,org.powertac.common.TariffSubscription> getSubscriptionMap()
          This function returns the subscription Map variable of the office complex.
 void initialize(Properties conf, Random generator)
          This is the initialization function.
 void possibilityEvaluationNewTariffs(List<org.powertac.common.Tariff> newTariffs, String type)
          This is the basic evaluation function, taking into consideration the minimum cost without shifting the appliances' load but the tariff chosen is picked up randomly by using a possibility pattern.
 void showAggDailyLoad(String type, int day)
          This function is used in order to print the aggregated hourly load of the office complex offices for a certain type of offices.
 void step()
           
 void subscribeDefault()
           
 String toString()
           
 
Methods inherited from class org.powertac.common.AbstractCustomer
addCustomerInfo, changeSubscription, getCarbonEmissionRate, getCustId, getCustomerInfo, getId, getLowerPowerCap, getName, getPopulation, getSunToPowerConversion, getTempToPowerConversion, getUpperPowerCap, getWindToPowerConversion, producePower, selectTariff, subscribe, unsubscribe
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected static org.apache.log4j.Logger log
logger for trace logging -- use log.info(), log.warn(), and log.error() appropriately. Use log.debug() for output you want to see in testing or debugging.

Constructor Detail

OfficeComplex

public OfficeComplex(String name)
This is the constructor function of the OfficeComplex customer


OfficeComplex

public OfficeComplex(String name,
                     ArrayList<org.powertac.common.CustomerInfo> customerInfo)
This is the second constructor function of the Village customer

Method Detail

initialize

public void initialize(Properties conf,
                       Random generator)
This is the initialization function. It uses the variable values for the configuration file to create the office complex with its offices and then fill them with persons and appliances.

Parameters:
conf -
gen -

subscribeDefault

public void subscribeDefault()
Overrides:
subscribeDefault in class org.powertac.common.AbstractCustomer

changeSubscription

public void changeSubscription(org.powertac.common.Tariff tariff,
                               org.powertac.common.CustomerInfo customer)
The first implementation of the changing subscription function. Here we just put the tariff we want to change and the whole population is moved to another random tariff.

Overrides:
changeSubscription in class org.powertac.common.AbstractCustomer
Parameters:
tariff -

changeSubscription

public void changeSubscription(org.powertac.common.Tariff tariff,
                               String type,
                               org.powertac.common.CustomerInfo customer)
The second implementation of the changing subscription function only for certain type of the households.

Parameters:
tariff -

changeSubscription

public void changeSubscription(org.powertac.common.Tariff tariff,
                               org.powertac.common.Tariff newTariff,
                               org.powertac.common.CustomerInfo customer)
In this overloaded implementation of the changing subscription function, Here we just put the tariff we want to change and the whole population is moved to another random tariff.

Overrides:
changeSubscription in class org.powertac.common.AbstractCustomer
Parameters:
tariff -

changeSubscription

public void changeSubscription(org.powertac.common.Tariff tariff,
                               org.powertac.common.Tariff newTariff,
                               String type,
                               org.powertac.common.CustomerInfo customer)
In this overloaded implementation of the changing subscription function only certain type of the households.

Parameters:
tariff -

checkRevokedSubscriptions

public void checkRevokedSubscriptions()
Overrides:
checkRevokedSubscriptions in class org.powertac.common.AbstractCustomer

showAggDailyLoad

public void showAggDailyLoad(String type,
                             int day)
This function is used in order to print the aggregated hourly load of the office complex offices for a certain type of offices.

Parameters:
type -

consumePower

public void consumePower()
Overrides:
consumePower in class org.powertac.common.AbstractCustomer

getSubscriptionMap

public HashMap<String,org.powertac.common.TariffSubscription> getSubscriptionMap()
This function returns the subscription Map variable of the office complex.


getControllableSubscriptionMap

public HashMap<String,org.powertac.common.TariffSubscription> getControllableSubscriptionMap()
This function returns the subscription Map variable of the village.


getInertiaMap

public HashMap<String,Double> getInertiaMap()
This function returns the inertia Map variable of the office complex.


getPeriodMap

public HashMap<String,Integer> getPeriodMap()
This function returns the period Map variable of the office complex.


getOffices

public Vector<Office> getOffices()
This function returns a vector with all the offices that are present in this office complex.


getOffices

public Vector<Office> getOffices(String type)
This function returns a vector with all the offices of a certain type that are present in this office complex.


possibilityEvaluationNewTariffs

public void possibilityEvaluationNewTariffs(List<org.powertac.common.Tariff> newTariffs,
                                            String type)
This is the basic evaluation function, taking into consideration the minimum cost without shifting the appliances' load but the tariff chosen is picked up randomly by using a possibility pattern. The better tariffs have more chances to be chosen.


step

public void step()
Overrides:
step in class org.powertac.common.AbstractCustomer

toString

public String toString()
Overrides:
toString in class org.powertac.common.AbstractCustomer


Copyright © 2012 Power TAC. All Rights Reserved.