Token-based scheduling for access guarantee in deregulated electricity markets’ smart grids

Abstarct: Maintaining electric grid reliability is increasingly becoming a challenge because of factors such as significant accommodation of intermittent renewable energy sources into the grid, emergence of new consumption patterns and raising demand worldwide. Sustainable grid reliability cannot be attained solely by increasing generation; Demand-Side Management strategies must be employed. Community-based demand management strategies offer benefits like implementation costs, improved consumption pattern prediction and flexibility in policy management. However, ensuring guaranteed access for every consumer in the community is a challenge-especially when available power capacity is constrained. In this work, we have proposed an algorithm that guarantees access to shared capacity for each consumer in the community in an equitable manner. Numerical analysis of the algorithm indicates access variance of 0.1–0.3, compared to variance of 0.9–2.3 in literature, indicating more equitable access by our proposed algorithm. Moreover, the algorithms help to flatten the demand curve by keeping peak-to-average ratio (PAR) values as small as 1.02. Utility companies have an opportunity to enhance grid reliability through reduced PAR values by setting maximum power capacity for each time slot and consumers can save up to 16.6% off their bills by adhering to the set capacity. Demonstrated benefits of proposed algorithms to both consumers and utilities is likely to enhance acceptance of demand management programs in the electricity sector.


PUBLIC INTEREST STATEMENT
Over years, utilities have been dealing with increasing demand by increasing generation capacity. While generation capacity is largely increased using fossil fuels, they are being depleted faster than they are being replenished by nature. Using renewable energy sources is likely to render grids unstable and unreliable because of their intermittency nature. It is therefore unsustainable to rely on increased generation capacity to address grid reliability due to hourly (or daily) fluctuation in demand. Consumers have an opportunity to help maintain grid reliability by managing their consumption such that there is a balance between demand and supply of electricity. We propose an algorithm that limits power drawn from the grid depending on utilities' setting but ensures guaranteed and equitable access to it. Consumers who manage their tasks so as to adhere to the set limits have an opportunity to save cost by up to 16.6% off their bills.

Introduction
Electricity grids are characterized by periods of low demand (off-peak) and high demand (peak). During off-peak demand, electricity generation is cheap but consumption is low; while during peak demand, generation is expensive and consumption is high. Peak demand normally varies depending on day of week, months, weather and climatic conditions. Balancing demand and supply at peak hour is important as oversupply leads to unnecessary running costs for utilities because large-scale electricity cannot be efficiently stored (Hadjipaschalis, Poullikkas, & Efthimiou, 2009). Moreover, under-supply inconveniences consumers with blackouts and brownouts. Factors such as new consumption patterns as a result of Plug-in Hybrid Electric Vehicles (PHEVs), increasing accommodation of intermittent renewable energies to the grid and raising demand makes managing demand-supply parity at peak hours even more important (Anees, 2012;Bayar & Özel, 2014;Kamaludin, 2013;Rajeev & Ashok, 2014).
Strategies for balancing peak demand and supply include shifting and reducing load. With load shifting, consumers are encouraged (e.g. through pricing) to shift their consumption patterns from peak to off-peak hours in return for some incentives such as reduction in bills paid to utilities. A higher price may be charged at peak hours compared to off-peak in order to deter unnecessary consumption. Overall consumption is not necessarily reduced.
Load reduction focuses on reducing overall consumption especially at peak hours through energy efficiency programs. In both cases, sharing of pricing and consumption information between utilities and consumers is vital. As observed in Snow and Brereton (2012), people tend to reduce consumption when they have timely information about their usage and pricing. Smart grid-an initiative to equip electricity grids with two-way flow of information from utilities to consumers, and vice versa is a promising platform for demand management programs. However, encouraging consumers to shift their loads can lead to new peaks at different hours-also called reverse or rebound peaks (Kishore & Snyder, 2010), again rendering the grid unreliable. Constant and automatic scheduling of appliances based on maximum demand set by utilities can help deal with both peaks and reverse peaks.
Electricity demand scheduling algorithms are either individual based or community-based. With individual-based schemes, scheduling of appliances is done per residence, while with communitybased schemes, scheduling of appliances is done per group (community) of residences. Benefits of community-based versus individual-based include: reduced communication and equipment costs, easier to predict consumption patterns of a given community, flexibility to implement communitywide policies regarding peak consumption management. However, compared to individual-based approaches, community-based ones raise privacy concerns because they deal with individual loads and not aggregate loads (Derin & Ferrante, 2010).
Most proposed community-based scheduling algorithms assume unlimited power capacity and therefore optimization is based on Load shifting, renewable energy use and storage (Alizadeh, Scaglione, & Thomas, 2012;Bakr & Cranefield, 2013;Chathurika, Stephens, Smith, & Mahanti, 2016;Mediwaththe, Stephens, Smith, & Mahanti, 2017;Negeri & Baken, 2012). Alternatively, capacitybased algorithms can be explored. With the latter, scheduling of residences is done with respect to a specific maximum power capacity that a utility can supply at a given moment. This is typical of electricity grids in developing countries that are characterized by insufficient generation (Vandaele & Porter, 2015). Utilities set maximum capacity in such a way that off-peak demand is encouraged and peak demand discouraged. Essentially, utilities seek to minimize peak-to-average ratio (PAR) which is the ratio of maximum demand to average demand in given day. PAR values close or equal to 1 implies a reliable grid while higher values means unreliable grid. For example, a constant maximum power capacity for all slots in a day will result in a PAR of 1.
Capacity-based scheduling approach lends itself well to deregulated electricity markets with several utilities, each supplying specific amounts of power at a time. For capacity-based algorithms, equitable and guaranteed access to shared capacity is important. In Kishore and Snyder (2010), a community-based scheduling algorithm that guarantees minimum access to power for each resident is presented. Residences compete for additional power. The algorithm, however, does not take into account guaranteed and equitable access to shared capacity and hence there is a possibility that some residences may not get additional power when they need it even though the maximum power is not reached.
In this work, we present a distributed, community and capacity based scheduling algorithm derived from shared medium access control mechanism that has been used in communication networks to ensure equitable access and minimum power guarantee for each residence. Initially, each residence is guaranteed minimum quantity of electricity to consume at each time slot and is guaranteed access to share additional power with other residences in an equitable manner.
The rest of the paper is organized as follows: Section 3 presents related works, identifies key players and their interactions in community-based scheduling. Section 4 provides Problem Definition. Section 5 presents Consumption Scheduling, Section 6 presents Numerical Study and Section 7 provides conclusion.

Related works
Consumption scheduling requires communication between utilities and customer residences so as to share information. Smart grid provides a framework for sharing information by equipping the grid with bidirectional flow of information, which can be achieved using a palette of communication technologies such as ZigBee, Wireless Mesh, Cellular Network Communication, Digital Subscriber Lines and Power Line Communications (Vehbi et al., 2011).
For each residence in the community to communicate with particular utility, it must be equipped with a Smart meter, Smart appliances and a Home Energy Management (HEM) unit (Javaid, Khan, Ullah, Mahmood, & Farooq, 2013). Smart meters provide an interface between a customer residence and utility company or community coordination controller by allowing automatic exchange of consumption information between them. The HEM presents a customer with a user-friendly interface for tracking consumption in detail so that energy optimization decisions can be taken by the user. HEM can also provide information regarding generation capacity constraints and storage on a minute-byminute basis. Smart appliances are networked together and can receive control signals from utilities and customer through HEM (Zipperer et al., 2013). Figure 1 indicates interaction between particular utility company U with individual customer residences. The interaction is through a Smart meter. Interactions between utility and communities can be done through a coordination tool housed on a transformer that connects residences in the community to Low Voltage Power Line Network as illustrated by Figure 2. For deregulated electricity market where multiple utilities interact with various communities, interactions among utilities is as shown in Figure 3.
Electric loads come into two main categories: Fixed loads and Elastic loads. Fixed loads (e.g. Television, fridge) have strict time and power requirements and therefore are not suitable for scheduling purposes. Elastic loads offer flexibility in starting time and power consumption. Consumption scheduling works by taking advantage of fluctuation in demand and elasticity of certain appliances. Elastic appliances can be classified with regard to time or power. Consumption of appliances such as Washing Machine, Dish Washer, Tumbler Dryer and PHEVs can be shifted in starting time depending on customer flexibility and as such are referred to as time-shiftable appliances. Power-shiftable appliances can have their power consumption adjusted depending on desired level of comfort or optimization needs (Bakr & Cranefield, 2013;Mehdi & Roshchin, 2015;Mesarić & Krajcar, 2015). Heating, Ventilation and Air-Cooling are examples of power-shiftable appliances.
Community-based scheduling has been studied in a number of works (Bakr & Cranefield, 2013;Chathurika et al., 2016;Kishore & Snyder, 2010;Mediwaththe et al., 2017;Negeri & Baken, 2012). In Bakr and Cranefield (2013), a community-based scheduling algorithm that addresses synchronization problems of individual-based algorithms is presented. The algorithm ensures billing fairness among residences by charging different load profiles differently even if total consumption is the same, hence making it rational for a consumer to participate in demand management scheme. The algorithm enables a customer to reduce electricity bill for time-elastic appliances and flattens demand curve.
Game theoretic and community-based scheduling schemes with centralized energy storage are presented in Mediwaththe et al. (2017) and Chathurika et al. (2016). Chathurika Mediwaththe et al. (2017) studied that demand forecasting is prone to errors and thereby affecting proposed DSM programs. A dynamic game that is robust to errors and aggregates consumption of all consumers who are allowed to act in their self-interests while flattening load curve and reducing energy costs is presented. To safeguard the interests of whole community against those of individual consumers, a leader-follower game with benevolent operator is suggested in Chathurika et al. (2016). Work by Negeri and Baken (2012) proposes a dynamic pricing model to flatten community's variable aggregate demand caused by self-interested customers. The community is assumed to have distributed storage. The pricing model adapts to price responsiveness of self-interested customers using machine learning.
With the exception of Kishore and Snyder (2010), most researches on community-based scheduling have assumed no constraint in generation capacity. This is not the case, especially with electric grids in developing countries that characterized by blackouts and insufficient generation (Braimah & Amponsah, 2012;Kimani, 2008;Sambo, Garba, Zarma, & Gaji, 2012). Moreover, deregulation of electricity market allows several utilities to serve customers according to capacity they can purchase form the wholesale market. In Kishore and Snyder (2010), capacity constraint of the utility is taken into account. A distributed community-based scheduling scheme that guarantees each customer to run basic tasks is presented. If the customer needs additional energy, he/she shares available capacity with the rest of the customers in the community-with random back-off mechanism to schedule energy requests. Every time there are two or more concurrent requests, the customers have to backoff and wait for a random amount of time. With this approach, there is a possibility of some customers to be starved and therefore fail to access additional capacity in a given time slot, even when the maximum limit has not been reached. In this paper, we present a distributed, token based community-based scheduling algorithm that guarantees access to additional capacity for each customer.
According to Eto, Divan, and Brumsickle (2004), electricity reliability refers to electromagnetic deviations from designed ideal services (e.g. 50 cycles per second of alternating current, 240 Volts). Brownouts, blackouts, and any event that causes voltage to drop to zero, affect grid reliability. Therefore shifting demand from peak to off-peak hours using consumption scheduling algorithms is likely to improve grid reliability.

Problem definition
Consider a community with N residences-each residence connected to the rest through a smart meter or HEM via a communication network. The network can be part of Smart Metering infrastructure or a separate communication network. A Coordinator that can be installed at the Transformer Unit connecting residences to Low-Voltage Network; controls access to communication channel by interacting with HEMs. Scheduling information is exchanged between the coordinator and HEMs. Suppose X is the number of scheduling slots per day, then energy consumed by particular residence at scheduling slot t is given by E t n . If the residence has A smart appliances then E t n is given by Equation (1) where x t n,a is the rated consumption of the appliance. Total energy consumed at slot t in the entire community is given by Equation (2).
(1) Cost of electricity is of interest to most customers. Pricing mechanisms such as Flat rate, Time of Use (ToU), Real-Time Pricing (RTP) and Critical Time Pricing (CPP) have been used in various electricity markets. ToU pricing divides a day into two or three periods where prices vary, although the prices are the same from day to day. With RTP, prices vary frequently throughout the day to reflect actual wholesale electricity prices in the market. CPP identifies a time of the day when prices may increase dramatically to reflect actual running costs (Barbato & Capone, 2014;Mays & Klabjan, 2017). Unlike ToU, RTP and CPP; Flat rate pricing does not take advantage of actual generation costs that vary from time to time as it charges the same price throughout the day, everyday. Dynamic pricing with ToU, RTP and CPP provide an opportunity to minimize costs on the part of consumers by encouraging them to consume more when price is high, and less vice versa.
The fact that cost of electricity is increasing, is likely to encourage rational consumers to exploit an opportunity to reduce cost. However, diversity of economic activities of consumers may make it difficult for all of them to participate equally in demand reduction during peak hours and subsequently reduce cost. Therefore, responsiveness to price of electricity can be categorized into two: elastic consumers and inelastic consumers (Chang, 2007). Elastic consumers are willing to modify their load profiles in response to price changes, while load profiles of inelastic consumers remain unchanged with change in prices. We, therefore, assume that only a fraction of consumers (elastic consumers) will shift their electricity demand as a result of decrease in price of electricity. Community-based scheduling algorithms such as those suggested in this work seek to exploit diversity in consumers so as to flatten the demand curve.
Suppose the price of electricity per unit at particular hour is denoted by c t , then the cost of running an appliance rated x t n,a is given by Equation (4). Total cost of electricity by user n at time slot t is as indicated in Equation (5).
According to Equation (5), consumers have a chance to reduce their electricity costs by shifting some of their tasks from high to low price periods. If this is done manually, it means consumers will have to keep track of prices throughout the day-which is an inconvenience. Load shifting can also be done automatically using some scheduling algorithm, with consumers only required to set maximum delay they can tolerate for particular appliance and scheduling slot. According to work by Kishore and Snyder (2010), cost minimization for appliance a's request made at time slot t, with maximum allowable scheduling delay d n is obtained by finding time slot u for which the Equation (6) is minimum. Requests for shared maximum power capacity are random. Also, the duration of time the requested appliance remains on is random. Suppose an appliance is off at time t, the probability that it is requested at time t + 1 is denoted by n . The probability varies slightly depending on whether it is peak or off-peak period. (2) In Equation (6), the first term represents cost due to delay in connecting the appliance, with a denoting the delay cost per one time slot, for a given appliance a. i is the probability that appliance a is on at time slot t and switched off at t + 1. The product term determines the probability for the appliance switched on at time slot u will be on at time slot r as the probabilities are independent in each time slot. For r = u, the product term is assumed to be equal to 1.

Consumption scheduling
To schedule consumption such that it does not exceed maximum power capacity set by a utility, two cases are considered. In the first case, no residence in the community is guaranteed minimum power and in the second case, all residences are guaranteed a certain minimum power depending on size, consumption patterns or some other factors. In both cases, all consumers in the community are able to keep track of instantaneous remaining shared power in every hour using a token and therefore can schedule their tasks accordingly. Sharing of power is achieved using a centralized protocol running on the Coordinator and in every HEM in the community. Any residence intending to run an appliance at a given time slot will have to first acquire the token that is managed by the coordinator. The token is used to grant access to consumers so as to share maximum power capacity allocated for the community. The token is passed from one residence's HEM to another in circular fashion.
Both cases assume there is an upper bound for shared power capacity and consumers optimize their consumptions with respect to it. Optimal solution for utilities can be obtained by correctly setting the hourly maximum shared power capacity for the community. Mechanisms to establish the maximum shared power capacity for each hour are not covered in this work.

Consumption scheduling without guaranteeing minimum power
With no guarantees for minimum power for a residence, all residences have to share power right from the beginning of scheduling slot. Sharing of power is done through communication network connecting all residences in the community. Consumers only get a chance to share power allocated for the community and run their appliances when they receive the token through the communications network.
The token contains instantaneous information about total power consumed by active appliances in the community denoted as P t,i and maximum power capacity P max,t set by utility at a given time slot. A residence with appliance (rated as x t n,a ) to run first acquires the token and then determines maximum delay(d n ) that the consumer can tolerate in the request. If d n = 0 it means the consumer wants the load to be connected right away. HEM checks if the appliance can be accommodated into active loads without causing total instantaneous load of active appliances to exceed maximum power capacity set by the utility at specific time slot. If total active load does not exceed maximum power capacity, the appliance is granted access and the token is sent to the next residence. If d n > 0, then HEM computes Equation (6) to determine if there will be cost savings if the load is deferred. If it is possible to reduce cost by deferring the load to scheduling slot later and the maximum power capacity set for that particular slot is not exceeded, then the appliance will be deferred. If deferring does not save cost and maximum power capacity is not reached, then the appliance is connected, otherwise dropped.
The algorithm can be made more sophisticated by ensuring that residences that are denied access can be assigned more priority in upcoming scheduling slots.
Algorithm 1 represents Consumption Scheduling without Guaranteed Minimum Power.

Consumption scheduling with guaranteed minimum power
Rather than letting all residences share power right from the beginning of scheduling slot, each residence can be guaranteed minimum power P min,t,n for particular slot so that they only compete for additional power. The guaranteed minimum power is set by a utility. Residences have to consume all P min,t,n before asking for additional power to run appliances. P min,t,n can be the same for all residences or it may vary depending on size, number of smart appliances, occupants and past consumption patterns. Machine learning can be used to predict P min,t,n with classifier attributes such as values.
The HEM keeps track of "Local Active Load", denoted by P t,n,i , which represents total active load within P min,t,n limits. If there is a new load to connect, HEM checks if it can be accommodated within P t,n,i without exceeding P min,t,n . Otherwise, the HEM has to share additional power with the rest of residences in the community.
A token that is managed by the coordinator is used by the residence's HEM to request for additional power. First, HEM checks if maximum allowable (d n ) delay has been set. If d n = 0 it means the consumer wants the appliance connected right away. If d n = 0, next HEM checks if connecting a appliance with rating x t n,a would not cause total active loads (P t,i ) in the community to exceed P max,t . Connection of the load is granted if P max,t is not exceeded, otherwise the load is ignored and the token is released. If connection is granted, total active load is updated and the token is released. If d n > 0, HEM computes Equation (6) to determine if the load can be deferred so as to save cost and manage peak demand. If the load can be deferred to time slot u, HEM checks if the load x t n,a cannot cause total deferred load P z,i to exceed P max,u and deffer the load. Otherwise the load is dropped.
Algorithm 2 illustrates Consumption Scheduling with Guaranteed Minimum Power.

Numerical study
A 10 residences community (N = 10) has been simulated using Con Edson's actual ToU rates for New York City, charging c t = $0.21/kWh from 10:00 hrs to 22:00 hrs and c t = $0.014/kWh for the rest of the times (Belson, 2008). Each residence is assumed to have three schedulable appliances with operating parameters Kishore and Snyder (2010) indicated in Table 1. Max n and Min n denote probabilities that appliance that is off at time t will be requested at time t + 1 for peak and off-peak periods, respectively. Moreover, maximum power for each scheduling slot is assumed to be 40 Kilowatts (KW) and minimum guaranteed load for each customer is 4.0 KW as in Kishore and Snyder (2010).
We first consider the case when there is no guaranteed minimum load for each customer and maximum power for each hour of 40.0 KW. Figure 4 shows total consumption of electricity in the community cannot exceed the maximum power capacity set by the utility. The figure shows a flattened demand curve with PAR values as small as 1.02, indicating a relatively more reliable demandsupply balance. Figure 5 shows consumption of each consumer at 09:00 hrs. Consumption varies depending on whether load is deferred or not, appliance rating, probability of the appliance to be on, and how frequent the token has been accessed. According to Table 1, a Water Heater with rating 5.0 KW is most likely to be on during both off-peak and peak hours than the rest of the appliances, while a Dish Washer (rating 1.8 KW) is least likely.
With regard to price responsiveness, Figure 6 shows consumers and their associated number of times they have participated in demand reduction as a result of decreased price of electricity. The figure illustrates that the proposed algorithm does not necessitate all consumers to equally participate in demand reduction at any given scheduling slot. However, price responsiveness is limited by maximum power constraints in the off-peak hour at which deferred load is shifted to, that is why at hour 22:00 hrs no consumer is able to shift demand in order to save demand. Figure 7 indicates how often each customer gets an opportunity to connect their appliances so as to access shared maximum load using proposed token-based algorithm. The figure indicates access before, during and after peak period. In each case it can be observed that all customers have access to shared capacity at least once. Figure 8 shows hourly costs for the entire community. Costs are higher during peak hours than off-peak hours. Furthermore, consumers have an opportunity to save money on their bills if the defer using electricity until off-peak hours. Consumers can save up to 16.6% of their bills. Figures 9 and 10 indicates ratings of appliances connected before, during and after peak period.
Connection of appliances is dependent on comfort settings indicated in Table 1. For instance, it can be observed that the Dish Washer (rating 1.8 KW) is not connected at 17:00 hrs and least frequently connected at 18:00 hrs because with a comfort setting of 6 hours, it can be deferred to 23:00 hrs (off-peak hour) so as to save cost. Moreover, the waiting cost for Dish Washers is the smallest compared to the rest of the appliances (see Table 1) and therefore more likely to be deferred than other appliances. Appliances with rating 3.4 and 5.0 KW and comfort setting of 4 hours and 2 hours, respectively, are not deferred at 17:00 hrs because doing so does not save cost. The proposed algorithm schedules all deferred loads to run at 23:00 hrs, immediately after peak hours as shown in Figure 11. Therefore, Dish Washers are connected right away only if maximum power capacity is reached at 23:00 hrs. Scheduling all deferred loads to run right after peak period would have caused a reverse peak if it wasn't for the maximum load imposed at each hour.  Letting consumers share the maximum power allocated by utility right from the beginning can be an inconvenience to some as one can only run appliances after receiving a token. We consider the case when each consumer is guaranteed minimum power of 4.0 KW for each scheduling slot. The consumer is only allowed to share the maximum power capacity after consuming all the 4.0 KW. Figure 12 shows that not all consumers have access to the token. This is because consumers who can run their appliances using preset minimum power do not need access to the token. Figure 13 illustrates this point as consumers who did not have access to the token were still able to run their appliances.
Although guaranteeing minimum power for each consumer is more convenient than letting them share maximum capacity right from the beginning, it reduces cost savings as load deferment is only applicable for shared capacity. Cost savings with guaranteed minimum power is on average up to 13.80%, compared to 16.60% savings for the case without guaranteed minimum. This is because guaranteed minimum power is not schedulable and therefore cannot be optimized. It means although not guaranteeing minimum power for each consumer is an inconvenience, it results in more cost savings.  Work by Kishore and Snyder (2010) proposes a community-based scheduling algorithm that employs a random back-off mechanism. Scheduling is done through a common control channel that is used to send and receive information from a coordinating unit. Only one consumer can send request to run appliances at a time.
The consumer's HEM only sends requests if the control channel is idle. If two HEMs send their requests at the same time, they have to back-off for a random amount of time. Basically, the algorithm does not guarantee that every consumer will get an opportunity to run appliances in a given time slot. Figure 14 shows access to shared maximum power capacity with no guarantee of minimum power. The figure indicates some consumers lacking access to shared capacity for the entire scheduling slot. Figure 15 indicates access to shared capacity, with all customers guaranteed minimum power  capacity. Although some consumers may not have access to shared capacity, they are still able to run appliances because of the minimum power allocated to every consumer. Again, cost savings are reduced (now, only 13.80%) because minimum power capacity is not schedulable.
Our proposed algorithm guarantees access to shared capacity for every consumer in the community in every scheduling slot, unlike the random back-off mechanism where there are no guarantees. Moreover, our proposed algorithm leads to more equitable access to shared capacity than it is the case with the random back-off based algorithm as it can be observed from access variance.
With no guarantee for minimum power, number of access to shared capacity has variance values ranging from 0.1 to 0.3, while the random back-off based algorithm's variance for the same, ranges from 0.9 to 2.3. Similarly, with guaranteed minimum power for every consumer; the token-based algorithm has variance values ranging from 0.3 to 0.45 while the random back-off based algorithm's variance values ranges from 2 to 4.

Conclusion
Community-based scheduling algorithms have an important role to play in DSM, especially when available power is constrained. To ensure support and acceptance of community-based scheduling algorithms by consumers, it is important to ensure guaranteed and equitable access to shared power capacity by all consumers. We have presented an algorithm that ensures guaranteed and equitable access to shared power capacity for all consumers, with access variance ranging from 0.1 to 0.3, which is an improvement compared to variance of 0.9-2.3 of algorithms suggested in literature. Utility companies can reduce variability in demand by setting maximum power capacity for each scheduling slot and consumers have an opportunity to save up to 16.60% by scheduling their appliances such that they adhere to the set capacity and hence improve grid reliability through reduced PAR which can be as small as 1.02. It is anticipated that results of this work will enhance acceptance of DSM programs by both consumers and utilities and they are beneficial to all of them.

Funding
This study has been funded by Nelson Mandela African Institution of Science and Technology (NM-AIST), Arusha, Tanzania.