A Unified Residential Energy Cost Optimization Model for Smart Grid  Significance and Challenge
Abstract
This article addresses the residential energy cost optimization problem in smart grid. To date, most of the previous research only consider a partial aspect of the cost optimization problem. As a result, they fail to analyze scenarios when the interconnected components along with their properties have to be considered simultaneously. The proposed model combines these partial models into a single unified cost optimization model. Therefore, it is able to analyze scenarios which are closer to practical implementation. Furthermore, it is useful to analyze the behavior of a population (e.g., smart buildings, smart cities, etc.) and properties of the components for specific scenarios (e.g., the impact of aggregate storage capacity, etc.). It allows energy trading in microgrid which introduces a cost fairness problem. It ensures Pareto optimality among the households which guarantees that no household will be worse off to improve the cost of others. Results show that it can maintain the user preferences and can react to a demand response program by rescheduling the household loads and sources. Finally, the paper addresses the challenge of the computational complexity of the proposed model, showing that solution time increases exponentially with the problem size and proposes possible approaches to solve this.
I Introduction
A smart home in the smart grid offers an optimized energy management solution in collaboration with the utility and the neighbors. The widespread participation of the users plays an important role to achieve the optimal benefit from the smart grid. The users are mostly motivated by the cost saving potential of smart homes. A smart home has diverse appliances, devices and equipment with different energy consumption profiles. The user has his own preferences for the appliance operations that ensure a preferred comfort level. A smart meter acquires price signals advertised by the utility. Instead of simply depending on the utility, a smart home can generate its own energy via solar panels, wind turbines, geothermal plants and other renewable energy sources. The renewables show stochastic energy generation profiles correlated to the weather. One or multiple storage devices accumulate cheap and excessive energy to support future energy requirements, avoiding the need to acquire expensive energy from the grid during periods of high prices (for example, at peak loads). However, the usage of such storage devices imposes a cost overhead because of selfdischarging and efficiency loss. Any surplus energy can be traded via a microgrid which ensures a collective minimization of energy cost and potentially maximizes individual profits.
Energy cost is primarily optimized by rescheduling the appliances when energy is cheap (energy sources could be grid, microgrid or renewables), provisioning appliance power, interrupting the appliance operation, scheduling storage usage, and energy trading. This research proposes a unified cost optimization model for smart homes that considers diverse energy sources, storage, and loads constrained by user preferences and the electrical properties of the participating components. The proposed cost minimization model combines the features and components which are reported in the previous research in a unified single model and analyzes the behavior of the overall system. Most of the previous research considered a partial problem and therefore failed to analyze the scenarios when various of theses components interact among themselves.
Energy trading in the microgrid introduces a cost fairness problem among the participating households. As the model aims to reduce the energy buying cost from the utility for the entire microgrid area, it failed to address the cost optimization for each individual household. It was found that the optimization model using only a single objective function (minimize the sum of the energy costs and the disutility costs for all households in the microgrid) sometimes increases the energy cost of a few households while reducing the cost of others. This unfair cost distribution problem made the model unattractive to the participating parties. To address this problem, the model has been extended to an optimization problem with multiple objective functions that considers individual household energy cost. In multiobjective optimization, we need to ensure Pareto optimality, i.e., no household should be worse off to improve the cost of some other households. To support energy trading in the microgrid, the model has been transformed from a simpler Mixed Integer Linear Programming (MILP) problem to a complex nonconvex Mixed Integer NonLinear Programming (MINLP) problem which introduces a new challenge related to the complexity of the solution time. This paper addresses the issue and discusses the future direction to solve this problem.
The objective of this research is to minimize the cost from the users’ perspective. In other words, given a list of appliances that must be used within a given time horizon, we would like to know how all users optimally schedule their energy consumption and energy sources such that the total cost of all users is minimized. It is important to note that the goal is not about load optimization or balancing, which may be useful for the utility to reduce peaks.
The reminder of this article is organized as follows. Section II explores the cost saving strategies for smart homes discussed in the literature. Section III proposes a nonconvex MINLP model that unifies the components for cost minimization in smart homes. Section IV solves the proposed cost optimization model and analyzes the results. Section V presents a numerical analysis of the time complexity of the proposed model. Finally, Section VI concludes the article addressing the contributions and significance of the outcomes.
Ii Literature Review
The previous research identified that optimal rescheduling of the household loads according to the energy price is one of the effective ways of cost minimization. Linear Programming (LP) is the most popular optimization method reported in the literature [1, 2, 3, 4, 5, 6, 7]. Other researchers also used Convex Programming [8, 9] and Game Theory [10] to minimize energy cost.
Based on the user preference, the appliances are primarily divided into two types: shiftable and nonshiftable [2]. The nonshiftable appliances cannot be delayed but may be operated at reduced power. Rescheduling is applicable to the shiftable devices which can be delayed to relatively lower energy cost time periods. The delay preference for this type of appliances depends on user comfort. The shiftable appliances may also be operated at reduced power.
Based on the power consumption profile, an appliance can be interruptible or uninterruptible [1, 2, 9]. An interruptible device can be turned off in the middle of its operation and resumed later. An uninterruptable appliance must be allowed to continue its operation until the task is finished. Both types of appliances may require different levels of power during task execution based on internal operational states. These appliancespecific properties are generally enforced by constraints.
Load scheduling and power shifting create discomfort to the user by delaying the task or reducing the task quality (by reducing power). A few methods considered this disutility [1, 2]. Some of the papers considered disutility created by temperature variation [11]. Performing a survey on the participating users is a method to measure this disutility [12]. A survey is more appropriate than other hypothetical assumptions because it is based on human evaluation. Another method to measure disutility is to apply a penalty whenever an appliance operation is delayed or operated at reduced power [1, 2]. The previous research introduced a disutility cost in addition to the energy cost. The efficiency of this type of model depends on the effective calculation of the disutility cost. The energy cost is a monetary value. Therefore, the disutility cost should be an equivalent monetary value. In economic theory, disutility is expressed using an approximation function. In the literature, the disutility is expressed as a function of power or delay or both. However, disutility varies according to user, appliance and situation. To adjust for this variation, different userdefined scaling parameters are used for different users and appliances [1]. The previous research rarely considered the situations when no feasible solution of the problem is achievable. De Angelis et al. proposed a solution of this problem by discarding lower priority load [3].
It was also reported that optimized utilization of storage devices (e.g., thermal, electrical) has an impact on energy cost. The space heating and hot water storage of the household can be considered as thermal storages. The battery of an Electric Vehicle (EV) is considered as an electrical storage when it is plugged in. The system looses energy during the energy storing process (e.g., charging, heating). Each type of storage shows a gradual spontaneous energy loss (e.g., selfdischarging, temperature loss due to external environment).
De Angelis et al., Zhang et al., and Hopkins et al. modeled the energy storage using linear constraints and proposed LP models to optimize energy cost [3, 13, 14]. Arabali et al. proposed a Genetic Algorithm (GA) based optimization method to select the optimal storage capacity for the smart grid [15]. Vytelingum et al. proposed a gametheoretic framework to analyze the effect of household storage on the energy price [16].
Energy storage may have an unintended impact on the smart grid. It is evident that an unplanned installation of storage at the user side may create a new critical peak energy demand. Sometimes, rather than saving energy cost, storage systems may increase energy cost [16]. In contrast, some research has reported that a distributed storage may be more beneficial than distributed generators [17].
It is evident from the literature that the usage of renewable sources and advanced planning of renewable energy utilization based on the predicted generation quantity reduces energy cost. Arabali et al. proposed a probabilistic GA based optimization using the 2 Point Estimation method to minimize PhotoVoltaics and wind generation installation cost and increase energy usage efficiency [15]. Bilil et al. proposed a multiobjective optimization model to optimize annualized cost when diverse renewable energy sources are used for energy generation [18]. De Angelis et al. addressed the significance of renewable energy sources for cost optimization in the smart grid [3]. The paper used a MILP model to optimize energy generation considering the given load. Zhang et al. considered multiple homes in a smart building which share common distributed energy resources such as Combined Heat and Power (CHP) generators and boilers and used a MILP model to optimized cost [13]. Hopkins et al. proposed a LP model to analyze the impact of distributed generations on cost optimization [14]. Bilil et al. showed that a combination of different energy sources may result in a more predictable energy generation [18]. The current research trends have not yet identified the most effective combination of different energy sources.
Previous studies claimed that energy trading among the households by forming a microgrid plays an important factor for cost minimization in the smart grid. Ramachandran et al. proposed a riskbased auction strategy to maximize profit while selling energy to the energy market [19]. Wang et al. developed a Particle Swarm Optimization based negotiating agent to facilitate energy trading in the smart grid [20]. Vytelingum et al. developed a trading agent based on the Continuous Double Auction strategy [16]. Ilic el al. described an energy market, named NOBEL [21] to evaluate market driven demand response of electricity trading [22].
Based on these reviewed papers, it is apparent that different types of auctions are the most popular strategies for energy trading in the energy market. The auction strategies could be improved by using algorithms that predict the opponents’ behavior [20]. These algorithms use functions which adaptively determine the risk attitude of the users based on the previous trading history [20]. The risk attitude of the users could be classified into risk seeking (high profit but higher risk of untraded energy), risk averse (low profit and lower risk of untraded energy) and risk neutral attitudes [19]. The performance of the intelligent algorithms is compared with the Zero Intelligence [23] auction strategy which is based on random bid and ask prices [16, 22].
In summery, most of the existing research failed to address a comprehensive discussion of smart homes, considering all important potential avenues for cost optimization. Our work combines these potential strategies into a single unified cost optimization model and analyzes the behavior of the overall system.
Iii The Proposed Unified Model
A nonconvex MINLP model has been developed to optimize the energy cost for the proposed problem. The following notation is used to describe input parameters and decision variables.
Iiia Input Parameters
IiiA1 Sets

, set of timeslots representing the scheduling horizon where is the th timeslot of set .

, set of appliances where is the th appliance of set .

, set of households and is the th household of set .

, set of uninterruptible appliances where .
IiiA2 Constants

, maximum allowable delay of the th appliance of the th household.

, disutility factor of the th appliance of the th household. The disutility related to every appliance is not the same. We can control the delay preference of each appliance by controlling the value of .

, storage efficiency of the th household.

, energy price of the utility grid at timeslot . It is assumed that the electricity price changes at the starting second of a timeslot and stays at the same price until the end of that timeslot.

, initial storage energy of the th household.

, maximum grid power limit of the th household imposed by the utility or by the electric fuse (per scheduling timeslot).

, maximum storage capacity of the th household.

, minimum storage capacity of the th household. If the storage energy goes below the minimum level, it reduces the lifespan of the storage.

, number of timeslots with fixed duration.

, power consumption of the th appliance of the th household.

, reservation time of an appliance which represents the time when the scheduler gets a request to start a specific appliance. means that operation of appliance of the th household is requested in timeslot . Alternatively, means that appliance of the thhousehold is not requested in timeslot . If an appliance gets multiple requests in the same time horizon, it is considered as multiple (virtual) appliances. In this case, the scheduler optimizes the execution time as if it had multiple similar loads and there should be a constraint to ensure that the end time of the previous instance is at or before the start time of the later instance.

, amount of generated renewable energy of the th household at timeslot .

, selfdischarging coefficient of the storage of the th household.

, power required to charge the storage of the th household.

, duration of the running time of the th appliance of the th household.
IiiB Decision Variables

is a positive real variable which represents the energy used from the storage by the th household at timeslot .

is a positive real variable which represents the energy drawn from the utility grid by the th household at timeslot .

is a Boolean vector which represents whether the storage is in charging stage or not. means the storage of household is in charging stage at timeslot .

is the energy traded with the microgrid by the th household at timeslot . A positive value of means the th household is a buyer at timeslot . A negative value means the household is a seller.

is a positive real variable which represents the price of microgrid energy at timeslot .

is the demand (or supply) of microgrid energy of the th household at timeslot . A positive value represents the minimum energy demand of the household. A negative value represents the maximum amount of energy the household can sell to the microgrid.

is a positive real variable which represents the energy used from the renewable sources by the th household at timeslot .

is a positive real variable which represents the stored energy in the storage of the th household at timeslot .

is a Boolean vector which represents the execution time of the appliances. means that appliance runs at timeslot in household .

is a Boolean vector which represents the start time of the uninterruptible appliances. means that the uninterruptible appliance starts at timeslot in household .

is the end time of the task executed by appliance at th household. is a positive integer variable that can take values in the following range: .
IiiC Energy Function
The energy cost of the th household, denoted by , is a function of utility price, the power drawn from the grid, microgrid price and energy traded with the microgrid. This can be expressed in a cost function which is given in (1).
(1) 
To optimize the electricity cost in a day, the appliances may be scheduled in timeslots where electricity prices are relatively low. Therefore, to get the optimal savings, should be minimized.
IiiD Disutility Function
If the scheduler tries to minimize , it may create discomfort to the user because it may cause the appliances to be delayed for a long period of time. To consider this discomfort while trying to reduce costs, a disutility function is used to compensate for the inconvenience created by delaying an appliance operation. The disutility function, denoted by for the th household, is expressed in (2).
(2) 
Here, is the reservation timeslot which is calculated from the reservation times. An appliance is reserved only once in the time horizon (which means ). Therefore, the multiplication of by the corresponding timeslot will provide the reservation time. Hence, represents the end time of the appliance, if it has been started immediately after reservation. Therefore, if we subtract this end time from the scheduled end time , we obtain the delay from the reservation time. The disutility factor is an adjustable coefficient which is defined according to the users’ tolerance of delay per appliance. The higher the value of , the more disutility such a delay will generate and to compensate this, the scheduler will reduce the delay.
IiiE The Optimization Model
The total cost of the 1st household is denoted by , the total cost of the 2nd household is denoted by and so on. In general, the total cost of the th household is,
(3) 
The objective is to minimize all cost functions as follows,
(4) 
Objective (4) is a multiobjective MILP optimization problem which is implemented using a single objective function that minimizes the sum of the energy costs and disutility cost for all households in the microgrid (Constraint (IIIF) discussed later). The optimal solution should satisfy the following constraints.
IiiE1 Energy Conservation Constraints
For a specific household, the total energy consumed by all appliances and the storage in a specific timeslot should be the same as the total energy supplied by the grid, renewable sources, microgrid and storage in that timeslot. This relation has been expressed in (IIIE1).
(5) 
If the microgrid energy is negative, it becomes a load which means the th household sells energy to the microgrid during the th timeslots. If it is positive, it is an energy source i.e., the th household buys energy from the microgrid during the th timeslots. For this constraint, the microgrid can never be both a source and a load at the same time.
IiiE2 Stored Energy Constraints
In the first timeslot, storage energy is measured using (IIIE2) which is a function of initial energy, charging and discharging at the 1st timeslot, efficiency loss and selfdischarging loss.
(6) 
The stored energy in the subsequent timeslots depends on the energy during the immediate previous timeslot, the energy stored in the current timeslot considering the efficiency loss, and the selfdischarging loss, which has been expressed in (IIIE2). Selfdischarging only applies to the stored energy from the immediate previous timeslot.
(7) 
IiiE3 Storage Capacity Constraints
IiiE4 Task Duration Constraints
Constraint (10) maintains the total duration of a task. It ensures that the sum of all the elements of the scheduling vector of an appliance equals to the duration of that appliance.
(10) 
IiiE5 Renewable Energy Availability Constraints
The total energy used from the renewable sources should be less than or equal to the total generated energy by the renewables as expressed in (11).
(11) 
IiiE6 Energy Conservation Constraints for the Microgrid
Constraint (12) imposes that the total energy sold in the microgrid must be equal to the total energy bought from the microgrid.
(12) 
IiiE7 Microgrid Energy Price Constraints
IiiE8 Energy Constraints while Trading in the Microgrid
The energy surplus or demand is the difference between the total energy consumption and generation in a specific timeslot. (IIIE8) calculates the amount of energy that is available to trade in the microgrid.
(15) 
If the user is a buyer, Constraint (16) defines the minimum energy required by the household from the microgrid. If the user is a seller, this constraint limits the maximum amount of energy that a household can sell to the microgrid.
(16) 
IiiE9 Reservation Time Constraints
Constraint (IIIE9) specifies that all executions must start after (or at) the reservation time. Without this constraint, an appliance could be scheduled to run before it has been requested. Here, refers to the reservation timeslot.
(17) 
IiiE10 Relationship between the Scheduling Vector and the End Time Constraints
Inequality (18) binds with . These two decision variables depend on each other: for any appliances, the last execution time should also be the end time. It also implicitly expresses that, for the earliest possible end time, execution time cannot be zero.
(18) 
IiiE11 Maximum Execution End Time Limit Constraints
Constraints (19) imposes that the end time must be before (or at) the user defined maximum execution time limit.
(19) 
IiiE12 Uninterruptibility Constraints
IiiE13 Utility Grid Max Power Limit Constraints
Inequality (22) limits the load of the utility grid per timeslot to a maximum power limit. Without this constraint, the appliances may be scheduled in such a way that they exceed the maximum grid power limit per household.
(22) 
IiiF Extended Model with Pareto Optimality
The objective function specified in (4) is a unified optimization problem that tries to minimize the sum of the energy cost and the disutility cost of all household in the microgrid. Sometimes an optimal solution will increase the energy cost of a few households to reduce the cost of others. This situation occurs when a household in essence buys more energy than it needs and gives the energy away for cheap to other households. Therefore, the model should ensure Pareto optimality to address the cost fairness problem. We extended the objective function proposed in (4) by adding a new function Y defined as the total cost of all households in that microgrid area, which is expressed in (IIIF).
(23) 
Eq. (IIIF) does not require the cost of energy drawn/supplied from/to the microgrid because in a specific area, the total buying cost from the microgrid equals the total selling profit by all households. Therefore, the microgrid energy price does not have an impact on the total cost. Hence, is a linear function that represents the total energy cost drawn from the utility grid by all households and the total disutility because of delayed tasks. The extended multiobjective optimization model is,
(24) 
subject to Constraints (IIIE1)  (22). The extended model is solved by using as the sole objective function and the remaining objective functions, , are added as inequality constraints. Suppose, for the th household, the minimum energy cost in the absence of the microgrid is represented by . Therefore, the proposed multiobjective optimization problem is defined as:
(25) 
subject to:
(26) 
The following analysis provides significant information about the model which helps to implement the algorithm practically. The energy cost of a household, , can be calculated when the household is considered as an isolated household, meaning that the household does not take part in the microgrid trading. Therefore, if we minimize (IIIF) with respect to (IIIE1)  (11) and (IIIE9)  (22), the solution will provide us with the maximum energy cost boundary of the specific household when it participates in microgrid. In (IIIE1), microgrid energy, , is set to 0. This optimization excludes the microgridrelated constraints because it is calculating the cost of an individual household.
Objective Function (25) with constraints (IIIE1)  (22) and (26) provides a Paretooptimal solution of the problem. Due to constraint (26), no household is paying more than what it used to pay before participating in the microgrid. Objective Function (25) ensures that the overall cost in that microgrid neighborhood is minimized without causing any of the participating parties to be worse off.
Obviously, there are numerous Paretooptimal solutions that satisfy the above condition. It is possible to generate all Paretooptimal points by iteratively decreasing the value of . Abounacer et al. proposed a solution approach using the epsilon constraint method that iteratively generates all Paretooptimal solutions[24]. However, it is computationally expensive because the solution time increases exponentially according to the number of households. Zhang et al. proposed a lexicographic minimax method that distributes the cost savings in a proportional fair way among the households. However, it also results in a more complex optimization problem, requiring to solve the problem iteratively in polynomial time [13].
Iv Case Studies
This section presents numerical analysis of the unified model described in Section III. The proposed model has been implemented in AMPL (A Mathematical Programming Language) [25, 26], an algebraic modeling language for describing largescale complex mathematical optimization problems. We used the Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation) solver [27] available as a part of the NEOS (NetworkEnabled Optimization System) Server [28]. NEOS is a free Internetbased service for solving optimization problems. The Couenne solver aims at finding the global optima of nonconvex MINLPs. It implements linearization, bound reduction, and branching methods within a spatial branchandbound framework. We used Couenne 0.4.3 for all the results presented in this article.
The case studies consider simple but complete scenarios to demonstrate the impact of the different components of the model. The scenarios consider 8 timeslots and 2 households. Each household has 2 appliances. The first appliance (App1) is interruptible and the second appliance (App2) is uninterruptible. If it is not mentioned explicitly elsewhere, the appliance characteristics are those shown in Table I. The appliances have different duration and power requirements (per timeslot), and all should be scheduled between the first and the last scheduling timeslots, such that they complete by the 8th scheduling timeslot. The maximum power per household that could be drawn from the grid is limited to 20 units.
Household  Appliance  Duration (Timeslots)  Power (Unit)  Disutility Factor  Reservation Timeslot  Max Delay 

Household 1  App1  5  1  0.01  1  8 
App2  2  4  0.01  1  8  
Household 2  App1  3  3  0.01  1  8 
App2  4  2  0.01  1  8 
Characteristics  Household 1  Household 2 

Initial Energy (Unit)  3  5 
Power (Unit)  1  2 
Max Capacity (Unit)  5  5 
Min Capacity (Unit)  3  3 
Efficiency  80%  90% 
SelfDischarging Rate  
(Per Timeslots)  0.01%  0.01% 
Each household also has a storage device with characteristics outlined in Table II. The storage devices have a maximum capacity of 5, should never drop below 3, have different initial charges, different charging efficiencies, and discharge at a rate of 1% per timeslot. The device in household 1 can be charged in increments of 1, while the device in household 2 can only be charged in increments of 2 units per timeslot.
Iva User Preference
The user uses disutility factors to set his delay preferences for the appliances. The disutility factor applies an inconvenience cost if the appliance operation is delayed. The higher the value of the disutility factor, the less the model will tolerate appliance execution delay. Tables III and IV outline the energy consumption profiles and how the appliances are scheduled, given a specific grid energy price profile (listed at the top) for household 1. In this example, energy from the grid is relatively cheap early and late in the scheduling period, but very expensive during timeslots 47. The next two blocks in the tables specify what energy is available and how much energy is actually drawn upon from various sources. The energy available from the grid is capped at 20 units to model a perhousehold max load on the power grid. The available storage energy is determined initially by the initial charge and then evolves over time to reflect charging/discharging and selfdischarging. The energy profile for the renewable devices is assumed to be known/given, for example by using historical data and Markov chain models to predict it, see for example [29]. The fourth block in the table specifies how much of that available energy is actually drawn upon by indicating which appliance is scheduled to run in that timeslot and whether we charge the storage device. For example, at timeslot 8 in Table III, both appliances are scheduled to operate, requiring a total of 5 units of energy. Based on the block right above, all 5 units are drawn from the grid, as the grid price in that timeslot is low. In this example, the optimizer determines that it is more efficient to charge the storage with 1 unit of cheap grid energy in timeslot 1 (and with free energy from one of the renewable in timeslots 4 and 6) and draw on this in timeslot 7. Appliance 1 (which is interruptible) is scheduled to operate in timeslots 1, 4, 5, 6, and 8, for a total duration of 5 timeslots. Appliance 2 (which is noninterruptible) is scheduled to operate in timeslots 7 and 8. It may appear surprising that Appliance 1 is scheduled to operate during timeslots with relatively expensive grid energy prices (timeslots 4 to 6), but at these times the appliance is powered from the energy delivered by the renewables, which have a cost of 0. The total energy cost to the household is 6.99 which is the sum of the total energy cost (6.9) and the total disutility cost (0.09) of all appliances.
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Energy  Grid  20  20  20  20  20  20  20  20 
Availa  Storage  3.59  3.56  3.52  4.29  4.24  5  3.03  3 
bility  Renewables  0  0  0  2  1  2  0  0 
Energy  Grid  1.82  0  0  0  0  0  2.08  5 
Source  Storage  0.18  0  0  0  0  0  1.92  0 
Renewables  0  0  0  2  1  2  0  0  
Load  Storage Charging  1  0  0  1  0  1  0  0 
App1  1  0  0  1  1  1  0  1  
App2  0  0  0  0  0  0  1  1  
Energy Cost = 6.9, Disutility Cost = 0.09, and Total Cost = 6.99  
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Energy  Grid  20  20  20  20  20  20  20  20 
Availa  Storage  3.77  3.73  3  3.77  3.73  3.69  3.66  3.62 
bility  Renewables  0  0  0  2  1  2  0  0 
Energy  Grid  6  5  0.31  0  0  0  0  0 
Source  Storage  0  0  0.69  0  0  0  0  0 
Renewables  0  0  0  2  1  0  0  0  
Load  Storage Charging  1  0  0  1  0  0  0  0 
App1  1  1  1  1  1  0  0  0  
App2  1  1  0  0  0  0  0  0  
Energy Cost = 9.57, Disutility Cost = 0, and Total Cost = 9.57  
Table IV likewise shows the available energy, consumed energy, and its use, for household 1 with higher disutility factors. The only difference between Table III and Table IV is that for all appliances, the disutility factors used in Table III are very low (set to 0.01) and the disutility factors used in Table IV are high (set to 5). The total cost to the household is now 9.57 which is only composed of the energy cost. Due to the higher disutility factors, the optimizer did not delay any appliance operation and hence the total disutility cost is 0. The table shows that the total cost is increased. This is because to comply with the user delay preference for the appliances, the optimizer buys expensive energy from the grid at timeslot 2 and 3 instead of timeslot 8 when grid energy is cheap. The optimizer did not use the free renewable energy at timeslot 6. At the end of the scheduling horizon in timeslot 8, the storage has unused energy because the optimizer had to charge the storage in timeslot 4 to maintain its minimum energy level but there was no appliance to consume its energy in a costeffective way given the user preference for low delay.
Tables III and IV show that the user can control the appliance execution delay using the disutility factors for that appliances. The scenarios also show that if the user desires more comfort by minimizing appliance execution delay, the total cost may increase because the user preferences limit the choices available to the optimizer, resulting in an appliance schedule that is more costly.
IvB Demand Response
The Demand Response (DR) program is designed to encourage users to change their normal energy consumption patterns in response to changes in energy price. In this section, we first explore the impact of a flat rate electricity price on the load scheduling. Then, we expand the scenario to examine the impact of Time Of Use (TOU) prices. The Ontario energy board uses TOU electricity prices which vary by time of day, day of the week (weekday or weekend), and season (winter or summer). Finally, we demonstrate the impact of dynamic prices or RealTime Pricing (RTP) on the household load. In RTP, the energy price may change hourly and is typically announced in advance, for example a day before the real consumption takes place.
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  1  1  1  1  1  1  1  1 
Energy  Grid  20  20  20  20  20  20  20  20 
Availa  Storage  3.06  3.03  3  3.77  3.09  3.06  3.03  3 
bility  Renewables  0  0  0  2  1  2  0  0 
Energy  Grid  1.29  1  1  0  3.36  2  0  0 
Source  Storage  0.71  0  0  0  0.64  0  0  0 
Renewables  0  0  0  2  1  2  0  0  
Load  Storage Charging  1  0  0  1  0  0  0  0 
App1  1  1  1  1  1  0  0  0  
App2  0  0  0  0  1  1  0  0  
Energy Cost = 8.65, Disutility Cost = 0.04, and Total Cost = 8.69 
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  1  1  2  2  3  2  1  1 
Energy  Grid  20  20  20  20  20  20  20  20 
Availa  Storage  3.06  3.03  3  3.77  3.73  4.49  3.45  3 
bility  Renewables  0  0  0  2  1  2  0  0 
Energy  Grid  4.29  4  0  0  0  0  0  0.58 
Source  Storage  0.71  0  0  0  0  0  1  0.42 
Renewables  0  0  0  2  1  2  0  0  
Load  Storage Charging  1  0  0  1  0  1  0  0 
App1  0  0  0  1  1  1  1  1  
App2  1  1  0  0  0  0  0  0  
Energy Cost = 8.88, Disutility Cost = 0.03, and Total Cost = 8.91 
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  0.8  1.1  0.6  0.7  1.2  0.5 
Energy  Grid  20  20  20  20  20  20  20  20 
Availa  Storage  3.06  3.03  3  3.77  3.73  3.06  3.03  3 
bility  Renewables  0  0  0  2  1  2  0  0 
Energy  Grid  1.29  0  0  0  4  2.37  0  1 
Source  Storage  0.71  0  0  0  0  0.63  0  0 
Renewables  0  0  0  2  1  2  0  0  
Load  Storage Charging  1  0  0  1  0  0  0  0 
App1  1  0  0  1  1  1  0  1  
App2  0  0  0  0  1  1  0  0  
Energy Cost = 5.46, Disutility Cost = 0.07, and Total Cost = 5.53 
Tables V, VI and VII summarize the impact of these three different energy price schemes, using the same format as before. Table V shows the energy drawn from the grid spread over the time horizon when the grid energy price is flat. The utility has no control over the energy consumption of the user. In this case, the delay of the appliance operation is only controlled by the disutility factor. Table VI shows that the scheduler schedules appliances in a way that no energy needs to be drawn from the grid during higherprice periods when the TOU scheme is used. For this scenario, timeslots 1, 2, 7 and 8 are offpeak; timeslot 3, 4 and 6 are midpeak and timeslot 5 is onpeak. Results show that the household did not buy energy from the grid in midpeak and onpeak time periods. Table VII shows how a RTP scheme increases the grid energy demand in lower price timeslots. The grid price is comparatively low in timeslots 1, 5 and 8. The optimizer draws energy from the grid during these timeslots.
IvC Pareto Optimality
If we solve the Objective Function (25) with Constraints (IIIE1)  (22), excluding Constraint (26), it may distribute the cost unfairly between the households. This section describes this problem in more detail and how the proposed approach solves this problem by ensuring Pareto optimality.
IvC1 Cost without Microgrid Trading
Tables III and VIII show the minimum costs of household 1 and household 2 respectively when the households are not participating in microgrid trading. These costs should be the maximum costs when they participate in microgrid trading for cost optimization. The minimum costs for household 1 and household 2 are 6.99 and 7.57 respectively. Therefore, when the 2 households are optimized individually, the total cost is 14.56.
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Energy  Grid  20  20  20  20  20  20  20  20 
Availa  Storage  4.95  4.9  4.85  4.8  3.75  3.06  3.03  3 
bility  Renewables  1  2  0  0  1  1  0  2 
Energy  Grid  2  1  0  0  0  0.34  2  3 
Source  Storage  0  0  0  0  1  0.66  0  0 
Renewables  1  2  0  0  1  1  0  2  
Load  Storage Charging  0  0  0  0  0  0  0  0 
App1  1  1  0  0  0  0  0  1  
App2  0  0  0  0  1  1  1  1  
Energy Cost = 7.48, Disutility Cost = 0.09, and Total Cost = 7.57 
IvC2 Cost with Microgrid Trading
Now, we introduce the microgrid and solve the same optimization problem, but this time also allowing households to trade energy with each other. Tables IX and X summarize the results for the two households, using the same format as before. We added one line to the price section, as we now also keep track of the prices in the microgrid. The energy traded through the microgrid is shown in the used energy section: a negative value indicates that the household is actually selling energy into the microgrid, whereas a positive value indicates that the household buys that much energy from the microgrid. Compared to the previous solution, summarized in Table III, the total cost of household 1 increases from 6.99 to 12.65.
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Microgrid  0  0  0  0  0  0  0  0  
Energy  Grid  20  20  20  20  20  20  20  20 
Availability  Storage  3.77  3.73  3.57  3.54  3.5  3.47  3.03  3 
Renewables  0  0  0  2  1  2  0  0  
Microgrid  (Demand/Availability)  2.77  0.75  0.31  2.54  1.5  1.47  0.43  3 
Energy  Grid  8  5.02  0  0  0  0  0  4 
Source  Storage  0  0  0.12  0  0  0  0.40  0 
Renewables  0  0  0  2  1  2  0  0  
Microgrid  (Source/Load)  2  0.02  0.88  2  1  1  0.4  3 
Load  Storage Charging  1  0  0  0  0  0  0  0 
App1  1  1  1  0  0  1  0  1  
App2  1  1  0  0  0  0  0  0  
Energy Cost = 12.62, Disutility Cost = 0.03, and Total Cost = 12.65 
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Microgrid  0  0  0  0  0  0  0  0  
Energy  Grid  20  20  20  20  20  20  20  20 
Availability  Storage  4.95  3.92  3  4.77  4.72  4.68  3.03  3 
Renewables  1  2  0  0  1  1  0  2  
Microgrid  (Demand/Availability)  0.05  0.9  0.88  0.23  0.72  0.68  0.37  3 
Energy  Grid  0  0  0  0  0  0  0  0 
Source  Storage  0  0.98  0.88  0  0  0  1.6  0 
Renewables  1  2  0  0  1  1  0  2  
Microgrid  (Source/Load)  2  0.02  0.88  2  1  1  0.4  3 
Load  Storage Charging  0  0  0  1  0  0  0  0 
App1  1  1  0  0  0  0  0  1  
App2  0  0  0  0  1  1  1  1  
Energy Cost = 0, Disutility Cost = 0.09, and Total Cost = 0.09 
As Tables IX and X show, the two households balance the energy flow in the microgrid: whenever household 1 draws on energy from the microgrid, household 2 provides that amount into the microgrid and vice versa. Table X shows that household 2 does not buy any energy from the grid. Household 1 buys the required energy for household 2 from the grid and sells it for free to household 2. The scenario shows that the energy cost of household 2 is 0 and it increases the cost of household 1 through microgrid energy trading. Overall, the sum of the energy costs for both households decreased from 14.56 to 12.74. But unless there is a separate mechanism to reimburse household 1 for the additional costs, we do not believe that this solution is a desirable outcome. Trading through the microgrid should improve or at least not worsen each individual household. In other words, we require a Paretooptimal solution, where no household can improve their energy consumption costs further without worsening another household. The optimization problem as outlined above does not deal with this issue, as it only minimizes the total energy costs, irrespective of the impact on individual households.
Therefore, to achieve Paretooptimal costs, we used Constraint (26) to solve the unfair cost distribution problem. The constraint defines maximum cost bounds for each household while trading in the microgrid. The maximum cost of each household is the cost that a household pays when it does not participate in microgrid energy trading. This then rules out solutions such as the one presented in Table IX for household 1, whose energy cost increased from 7.57 to 12.65, which would violate that upper bound. The resulting solution to the unified optimization problem will then be one where each household is no worse off than in the absence of the microgrid, and no further improvements are possible, representing a Paretooptimal point.
Tables XI and XII show the results when applying this method on the small case study. As before, trading via the microgrid is balanced, and some timeslots see microgrid prices different from 0 to clear the market (determined by the optimization problem). The energy costs for both households are lower than in the absence of the microgrid. They dropped from 6.99 to 6.87 for household 1 and from 7.57 to 5.86 for household 2. The total energy cost for both households is 12.74, which is lower than the initial total energy costs of 14.56.
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Microgrid  0.62  0.66  0.17  0  1.05  1.17  0.3  0.35  
Energy  Grid  20  20  20  20  20  20  20  20 
Availability  Storage  3.77  3.37  3.34  3.31  3.27  3.24  3.03  3 
Renewables  0  0  0  2  1  2  0  0  
Microgrid  (Demand/Availability)  2.77  2.53  0.66  2.31  1.27  1.24  0.21  3 
Energy  Grid  8  1.74  0  0  0  0  0  4 
Source  Storage  0  0.36  0  0  0  0  0.18  0 
Renewables  0  0  0  2  1  2  0  0  
Microgrid  (Source/Load)  2  2.9  1  2  1  1  0.18  3 
Load  Storage Charging  1  0  0  0  0  0  0  0 
App1  1  1  1  0  0  1  0  1  
App2  1  1  0  0  0  0  0  0  
Energy Cost = 6.84, Disutility Cost = 0.03, and Total Cost = 6.87 
Timeslot  1  2  3  4  5  6  7  8  
Price  Grid  0.7  1  1.2  1.5  2  1.7  1.5  0.5 
Microgrid  0.62  0.66  0.17  0  1.05  1.17  0.3  0.35  
Energy  Grid  20  20  20  20  20  20  20  20 
Availability  Storage  4.95  4.28  3.23  5  4.95  4.9  3.03  3 
Renewables  1  2  0  0  1  1  0  2  
Microgrid  (Demand/Availability)  0.05  4.18  1.23  0  0.95  0.9  0.15  3 
Energy  Grid  0  3.28  0  0  0  0  0  0 
Source  Storage  0  0.63  1  0  0  0  1.82  0 
Renewables  1  2  0  0  1  1  0  2  
Microgrid  (Source/Load)  2  2.9  1  2  1  1  0.18  3 
Load  Storage Charging  0  0  0  1  0  0  0  0 
App1  1  1  0  0  0  0  0  1  
App2  0  0  0  0  1  1  1  1  
Energy Cost = 5.77, Disutility Cost = 0.09, and Total Cost = 5.86 
V Complexity Analysis
The proposed unified MINLP model could be first reduced to a MILP problem in polynomial time then the resulting MILP could be restricted to have only real numbers. Hence, the proposed model reduces to an Integer Programming (IP) problem in polynomial time. Garey and Johnson proved that IP is an NPhard problem [30]. Even if the variables are restricted to 0, 1 it remains NPhard [30]. Therefore, the proposed nonconvex MINLP model is NPhard.
We explored experimentally the impact of the number of appliances, timeslots, and households on the solution time. The simulation environment consists of static and random parameters. All households are considered to have similar storages i.e., with the same efficiency and selfdischarging rate but different storage capacities. An appliance operation request occurs at the 1st timeslot and it can be executed until the last timeslot. The maximum power limit of a household is set to a large value (e.g., 200,000). Initial storage energy is 5 for both households. The static parameters are specified in Table XIII. The minimum and maximum bound for generating random parameters are presented in Table XIV. The duration of an appliance is randomly generated between 1 and the total number of timeslots. An appliance consumes energy uniformly random between 0.5 and 15 units per timeslot. The grid energy price at any timeslot various uniformly random from 0.1 to 5. The disutility factor of an appliance is randomly selected from any value between 0.01 and 10. The required storage charging power is generated from a random uniform distribution in the range of 2 to 5. The minimum capacity of a storage stays between 0 to 2 and the maximum capacity of a storage is limited between 5 to 10. The amount of renewable generation is chosen from a range of 0 to 10 per timeslot.
Parameter  Value 

Storage Efficiency  90% 
Storage Selfdischarging Rate  0.01% 
Storage Initial Energy (Unit)  5 
Reservation time  1st Timeslot 
End Time  Last Timeslot 
Maximum Power Limit  
of a Household (Unit)  Infinite (200,000) 
Parameter  Min  Max 

Duration of Appliance Operations  1  Total Timeslots 
Appliance Power (Unit)  0.5  15 
Grid Energy Price (Unit)  0.1  5 
Disutility Factor  0.01  10 
Storage Power (Unit)  2  5 
Minimum Storage Capacity (Unit)  0  2 
Maximum Storage Capacity (Unit)  5  10 
Renewable Energy (Unit)  0  10 
Figure 1 shows the relationship between the median solution time and the number of appliances. At least 2 households are required to form a microgrid. Only 3 timeslots are considered arbitrarily. The number of timeslots and households are set to these minimum levels. For the same number of appliances, the simulations were run for 29 random instances. The bar diagram shows the median solution time and the line diagram shows the percentages of solution instances which exceeded the cut off execution time. The cut off execution time is imposed by the NEOS server. It does not allow a submitted problem to run more than 8 hours. The simulation terminates if the execution time exceeds 8 hours. Figure 1 shows that for the minimum number of households and timeslots, the median solution times increase exponentially when increasing the number of appliances.
Figure 2 illustrates that the median solution time increases exponentially with the number of timeslots for the minimum number of appliances (2 appliances: 1 interruptible and 1 uninterruptible) and the minimum number of households (2 households). For the same number of timeslots, the simulations were run for 29 random instances. Finally, Figure 3 shows that the time complexity increases exponentially with the number of households for the minimum number of appliances and timeslots. The simulations were executed for 29 random instances for the same number of households.
The results show that the proposed problem is NPhard. Even for small problem instances, solution times increase exponentially.
Vi Conclusion
This research explores the contemporary cost saving methods for the smart grid from the users’ perspective. It identified the primary strategies and components for cost optimization. The proposed nonconvex MINLP model has achieved the primary objectives of the research. It does not only consider optimal energy cost optimization but also addresses the inconvenience created to the users by delaying certain tasks. The constraints, variables and parameters define the underlying features of the smart grid components, e.g., load characteristics, source behavior and user preferences. The model determines the energy price in the energy market and regulates the demand and supply of microgrid energy. It minimizes the energy buying cost from the utility in a microgrid area as well as ensures Pareto optimality among the participating households while trading energy. The proposed model unified the partial models identified in previous research in a single unified optimization model to attain optimal cost saving profiles for the participating smart homes.
The proposed model is an NPhard problem which means that using the resulting solution is not practical because the time complexity increases exponentially according to the increase in the problem size. The numerical results illustrate that even for small problem sizes, the solution time grows exponentially. In the smart grid, the price signals, the energy demand and the renewable energy generation change frequently within an hour demanding to resolve the optimization problem with updated information. Therefore, the optimization problem should be solved in a realistic timeframe so that updates can be reflected back to the system to provide an optimized cost. Hence, aiming for an optimal solution may not be a computationally efficient approach for realistic scenarios. We need to trade off the optimal solution for reduced computation time.
The proposed model considers the smart home as the building unit of the smart grid. This concept is also applicable to the apartments of a smart building. Therefore, the proposed model can be applied to analyze the behavior of a population (e.g., smart buildings, smart cities, communities, metropolitans, etc.) and properties of the components for specific scenarios. As an example, the model considers the storage as a component of smart homes. Recent advances of EV technologies imply that EVs will become an integral part of smart cities in the future. The EVs can be represented as storage to analyze the impact of EVs on the smart grid. Similarly, the proposed model can also be used to analyze the impact of renewable energy. It could be utilized to determine the quantity of resources to build a netzero energy community or building or city. Hence, the proposed model could be useful for governments, policy makers and the utilities to predict the users’ behavior and conduct a costbenefit analysis.
References
 [1] A.H. MohsenianRad and A. LeonGarcia, “Optimal residential load control with price prediction in realtime electricity pricing environments,” IEEE Transactions on Smart Grid, vol. 1, no. 2, pp. 120–133, 2010.
 [2] T. Bapat, N. Sengupta, S. K. Ghai, V. Arya, Y. B. Shrinivasan, and D. Seetharam, “Usersensitive scheduling of home appliances,” in Proceedings of the 2nd ACM SIGCOMM workshop on Green networking, ser. GreenNets’11, 2011, pp. 43–48.
 [3] F. De Angelis, M. Boaro, D. Fuselli, S. Squartini, F. Piazza, and Q. Wei, “Optimal home energy management under dynamic electrical and thermal constraints,” IEEE Transactions on Industrial Informatics, vol. 9, no. 3, pp. 1518–1527, 2013.
 [4] Z. Zhu, J. Tang, S. Lambotharan, W. H. Chin, and Z. Fan, “An integer linear programming based optimization for home demandside management in smart grid,” in Proceedings of the IEEE PES Innovative Smart Grid Technologies (ISGT), 2012, pp. 1–5.
 [5] A. J. Conejo, J. M. Morales, and L. Baringo, “Realtime demand response model,” IEEE Transactions on Smart Grid, vol. 1, no. 3, pp. 236–242, 2010.
 [6] M. Marwan, G. Ledwich, and A. Ghosh, “Smart griddemand side response model for optimization air conditioning,” in Proceedings of the 22nd Australasian Universities Power Engineering Conference (AUPEC), 2012, pp. 1–6.
 [7] T. Hubert and S. Grijalva, “Realizing smart grid benefits requires energy optimization algorithms at residential level,” in Proceedings of the Innovative Smart Grid Technologies (ISGT), 2011, pp. 1–8.
 [8] T. G. Hovgaard, S. Boyd, L. F. S. Larsen, and J. B. JÃÂ¸rgensen, “Nonconvex model predictive control for commercial refrigeration,” International Journal of Control, vol. 86, no. 8, pp. 1349–1366, 2013.
 [9] K. M. Tsui and S. C. Chan, “Demand response optimization for smart home scheduling under realtime pricing,” IEEE Transactions on Smart Grid, vol. 3, no. 4, pp. 1812–1821, 2012.
 [10] I. Atzeni, L. G. Ordonez, G. Scutari, D. P. Palomar, and J. R. Fonollosa, “Demandside management via distributed energy generation and storage optimization,” IEEE Transactions on Smart Grid, vol. 4, no. 2, pp. 866–876, 2013.
 [11] N. Kowahl and A. Kuh, “Microscale smart grid optimization,” in Proceedings of the International Joint Conference on Neural Networks (IJCNN), 2010, pp. 1–8.
 [12] I. Georgievski, V. Degeler, G. A. Pagani, T. A. Nguyen, A. Lazovik, and M. Aiello, “Optimizing energy costs for offices connected to the smart grid,” IEEE Transactions on Smart Grid, vol. 3, no. 4, pp. 2273–2285, 2012.
 [13] D. Zhang, S. Liu, and L. G. Papageorgiou, “Fair cost distribution among smart homes with microgrid,” Energy Conversion and Management, vol. 80, pp. 498–508, 2014.
 [14] M. D. Hopkins, A. Pahwa, and T. Easton, “Intelligent dispatch for distributed renewable resources,” IEEE Transactions on Smart Grid, vol. 3, no. 2, pp. 1047–1054, 2012.
 [15] A. Arabali, M. Ghofrani, M. EtezadiAmoli, M. S. Fadali, and Y. Baghzouz, “Geneticalgorithmbased optimization approach for energy management,” IEEE Transactions on Power Delivery, vol. 22, no. 1, pp. 162–170, 2013.
 [16] P. Vytelingum, S. D. Ramchurn, T. D. Voice, A. Rogers, and N. R. Jennings, “Trading agents for the smart electricity grid,” in Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems, 2010, pp. 897–904.
 [17] P. Poonpun and W. T. Jewell, “Analysis of the cost per kilowatt hour to store electricity,” IEEE Transactions on Energy Conversion, vol. 23, no. 2, pp. 529–534, 2008.
 [18] H. Bilil, G. Aniba, and M. Maaroufi, “Multiobjective optimization of renewable energy penetration rate in power systems,” Energy Procedia, vol. 50, pp. 368–375, 2014.
 [19] B. Ramachandran, S. K. Srivastava, C. S. Edrington, and D. A. Cartes, “An intelligent auction scheme for smart grid market using a hybrid immune algorithm,” IEEE Transactions on Industrial Electronics, vol. 58, no. 10, pp. 4603–4612, 2011.
 [20] Z. Wang and L. Wang, “Intelligent negotiation agent with learning capability for energy trading between building and utility grid,” in Proceedings of the IEEE Innovative Smart Grid TechnologiesAsia (ISGT Asia), 2012, pp. 1–6.
 [21] NOBEL. (2013, Jul). [Online]. Available: http://www.ictnobel.eu/
 [22] D. Ilic, P. G. D. Silva, S. Karnouskos, and M. Griesemer, “An energy market for trading electricity in smart grid neighbourhoods,” in Proceedings of the 6th IEEE International Conference on Digital Ecosystems Technologies (DEST), 2012, pp. 1–6.
 [23] D. K. Gode and S. Sunder, “Allocative efficiency of markets with zerointelligence traders: Market as a partial substitute for individual rationality,” Journal of Political Economy, vol. 101, no. 1, pp. 119–137, 1993.
 [24] R. Abounacer, M. Rekik, and J. Renaud, “An exact solution approach for multiobjective locationtransportation problem for disaster response,” Computers and Operations Research, vol. 41, no. Jan, pp. 83–93, 2014.
 [25] R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A modeling language for mathematical programming, 2nd ed. Cengage Learning, 2002, vol. 2.
 [26] AMPL Home Page. (2014, Oct). [Online]. Available: http://www.ampl.com
 [27] P. Belotti, J. Lee, L. Liberti, F. Margot, and A. WÃÂ¤chter, “Branching and bounds tightening techniques for nonconvex minlp,” Optimization Methods & Software, vol. 24, no. 45, pp. 597–634, 2009.
 [28] NEOS Server Homepage. (2014, Oct). [Online]. Available: http://www.neosserver.org/neos/
 [29] O. Ardakanian, S. Keshav, and C. Rosenberg, “Markovian models for home electricity consumption,” in Proceedings of the 2nd ACM SIGCOMM workshop on Green networking, 2011, pp. 31–36.
 [30] M. R. Garey and D. S. Johnson, Computers and intractability: a guide to the theory of NPcompleteness, 1st ed. San Francisco: WH Freeman & Co., 1979.