Energy consumption in buildings represents approximately 74% of the nation's electricity consumption [1]. However, electricity consumption is not efficient in most households, which results in waste of billions of dollars. To reduce the cost of power consumption by households and power generation by utility companies, techniques for scheduling jobs of electrical appliances have been proposed [2, 3]; to make it work, each electrical appliance is equipped with a Demand Response Switch (DRS) device and can be switched on/off by the DRS device [3], and all the DRS devices follow scheduling commands from a scheduler. These techniques seek to reduce the peak power consumption of users, since doing so can help reduce the fluctuation of power consumption, thereby improving the reliability of smart power grids, and reducing the power generation cost incurred by start-up/termination of power generators [4].
Another benefit of reducing the peak power consumption of users is that it may also reduce the payment of users if the utility company charges users based on the peak power consumption as well as the total energy consumption, which is a widely adopted utility cost paradigm in smart grids [3]. Hence, reducing the peak power consumption of users can be a win-win situation for both utility companies and the electricity users.
However, minimizing the peak power consumption of schedulable jobs of electrical appliances of users under delay requirements can be non-deterministic polynomial-time hard (NP hard) [3].
Some embodiments provide a method of operating a system to reduce peak power consumption of a plurality of users. The method may comprise forming at least one cluster of the plurality of users based on connections within a social network system between the plurality of users, and energy usage patterns of the plurality of users; and scheduling jobs for at least one user within the at least one cluster to reduce peak power used within the at least one cluster.
In some embodiments, there is provided at least one computer-readable storage medium encoded with executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method for reducing peak power consumption of a plurality of users. The method may comprise participating in formation of a cluster from the plurality of users by sending energy usage patterns of a first user of the plurality of users to at least one second user of the plurality of users, and receiving energy usage patterns of the at least one second user, wherein the formation of the cluster is based on connections between the first user and the at least one second user within a social network system, and the energy usage patterns of the first user and the energy usage patterns of the at least one second user; and scheduling at least one job for the first user to reduce peak power used within the cluster.
Further embodiments provide a method for reducing peak power consumption of a plurality of users. The method may comprise participating in formation of a cluster from the plurality of users by sending energy usage patterns of a first user of the plurality of users to at least one second user of the plurality of users, and receiving energy usage patterns of the at least one second user, wherein the formation of the cluster is based on connections between the first user and the at least one second user within a social network system, and the energy usage patterns of the first user and the energy usage patterns of the at least one second user; and scheduling at least one job for the first user to reduce peak power used within the cluster.
Additional embodiments provide a method of scheduling jobs that consume power for a cluster of users. The cluster may be formed in part based on connections within a social network system. Membership in a cluster may be further based on energy usage patterns. For example, a cluster may be formed to provide low variance of total power usage. Formation of a cluster and/or scheduling of jobs for users in a cluster may be performed at a centralized computing facility or may be distributed over multiple computing devices. For example, such processing may be performed in users' computers.
Accordingly, in some embodiments, there is provided at least one computer-readable storage medium encoded with executable instructions that, when executed by at least one processor, cause the at least one processor to perform a method for forming a cluster and/or scheduling jobs for users within the cluster.
Further embodiments provide a distributed method of forming a cluster and/or scheduling jobs for users within the cluster.
The foregoing is a non-limiting summary of the invention, which is defined by the attached claims.
The inventors have recognized and appreciated that peak power consumption can be reduced in an effective and computationally efficient way by scheduling jobs of individually controllable families (or other units) in each of multiple clusters. The clusters may be formed based on connections within a social network.
Scheduling jobs of all units served by a utility company may lead to a lower peak demand, but it may incur a larger communication overhead and managerial cost. To address this, a divide-and-conquer approach may be used, i.e., divide users into small clusters and then schedule/shift jobs to lower the peak power consumption of each cluster, which may attain a good balance between overhead and reduction in the Peak power to Average power Ratio (PAR).
The inventors have recognized and appreciated that to partition users into clusters, a distributed clustering scheme may be advantageous because it may leverage the social network topology of users and the statistical energy usage patterns of users. One reason for this is that when users are socially connected (i.e., being friends of each other), they may be willing to join the same cluster and cooperatively schedule jobs of their electrical appliances to reduce peak power consumption and save costs. In some illustrative embodiments, each user/node only shares its statistical energy usage patterns with its trusted friends/nodes who are also users of the same utility company; these trusted nodes may be called “socially connected” nodes of this user. This trusted friendship forms a social network or graph. Online social networks such as Facebook and Twitter may be used to create such a social graph. However, any suitable technology may be used to create such a social network using known computing devices and networking hardware and software components.
Given a social graph, the clustering scheme according to some embodiments aims at finding clusters of users such that the total power consumption in each cluster of users (which are socially connected) achieves minimum variance. That is, in accordance with some embodiments, users having negative covariance of power consumption patterns may be clustered. Such clustering may lead to a natural leveling of the power consumption of users within a cluster as negative covariance of users implies that their periods of high power consumption are less likely to overlap (or synchronize). Because it may be difficult to manage a large cluster and schedule jobs of users in a large cluster, the clustering scheme according to some embodiments also may consider the constraint on the maximum number of users allowed in a cluster. Different from the spectral clustering algorithms for graph partitioning [6], which are centralized, the clustering algorithm according to some embodiments may be distributed. The distributed computing may be performed on any suitable computing devices, including computing devices of individual units for which scheduling may be performed.
Similar to distributed consensus protocols [7], in some embodiments, the distributed clustering algorithm may use only local information exchange with the aim of achieving global optimality, i.e., finding clusters with minimum variance. However, it should be appreciated that, in other embodiments, global optimality may not be required and a system may use any suitable clustering approach, even if it may provide less reduction in power consumption.
Once users are clustered, jobs for the clusters and members of the clusters may be scheduled in each of multiple scheduling periods. In some embodiments, given users' jobs to be scheduled in the next scheduling period, an approximation algorithm may be used to minimize the peak power consumption of each cluster of users. The approximation algorithm may be called Earliest Deadline First (EDF). According to some embodiments, the EDF scheduling algorithm can be implemented in a distributed manner.
In system 100, each user premises may be configured using smart grid technology to control schedulable jobs. For example, appliances such as a dryer, dishwasher, or refrigerator in each of the user premises 110 may be controlled to draw power at specific times. These times may be scheduled so that the load on an energy grid supplying power to user premises 110 is distributed over time. In some embodiments, scheduling information may be communicated over network 130, communicated wirelessly to appliances or other devices drawing power, or communicated over power lines.
However, in the illustrated embodiment, each user premises 100 has a computing device that may run a scheduling program to determine execution times for one or more loads at that user premises. Such a computing device may communicate with devices equipped with control hardware as for devices configured to operate on a “smart grid.” In the embodiment illustrated, such communication is wireless, and may be performed over a home network, for example. However, any suitable communication mechanism may be used.
The clusters may be formed in any suitable way. The clusters may be formed in part based on energy usage patterns of the users. Users may be clustered, for example, to provide clusters with low variance of energy usage over time. Such an energy usage characteristic may indicate a potential for a significant reduction in peak power usage by scheduling to distribute tasks that consume energy.
Additionally, or alternatively, users may be clustered based on a social connection. Clustering users based on a social connection may indicate that users may be willing to cooperate with other users in their cluster to reduce peak power consumption. Cooperation may include, for distributed clustering and scheduling as described herein, exchanging information about current and historical energy usage. Users may be more willing to share such data with other users in their social network than with strangers. In the embodiment illustrated, a social connection may be determined based on connections within a social network. A social network may be implemented using a centralized computing facility 140. However, a social network may be implemented using any suitable computing equipment that can communicate, including distributed computing equipment. A social network may be implemented using such computing equipment with software that allows connections between users based on some affinity between those users. Such social networking systems are known in the art. FACEBOOK, for example, is a widely used platform for implementing social networks. Social networks are formed by users sending and accepting “friend requests.” LINKEDIN is another example of a social network platform. A known social networking platform may be used to identify users within a social network. Though, in some embodiments, a social network may be formed in any suitable way.
It should also be appreciated that a single centralized computing facility is shown for simplicity of illustration. Computing resources implementing a social networking platform and/or smart grid control functions may take any suitable form.
Problem Formulation
For simplicity of explanation, the embodiments herein may consider one utility company and its customers/users. However, in some embodiments techniques as described herein may be applied in scenarios in which more than one utility company is supplying power. It may be assumed that the utility company may have a set U={U1 U2, . . . , UN
As used herein, “minimized” does not require that an absolute minimum be achieved. Rather, a parameter may be minimized by, to within limits of computational accuracy, performing a process that computes a value that reduces the value of that parameter.
Let Gj denote the set of users in cluster j. Problem 1 may define the minimum variance clustering problem.
Problem 1 (Minimum Variance Clustering Problem).
Consider a set of users U, each user i with a power consumption pattern Xi. Then the minimum variance clustering problem may be to partition users into a collection of clusters {Gj}, such that the maximum variance of clusters is minimized.
var(Pi) may be the variance of the power consumption of User i, and can be estimated by sample variance, i.e.,
cov(Pi, Pm) may be the covariance between the power consumptions of User i and User m, and can be estimated by sample covariance, i.e.,
According to some embodiments, the family plan approach for job scheduling may be to partition socially-connected users into small clusters and distributively schedule the jobs of each cluster. It may be called a family plan approach because clustering users may be comparable to each cluster of users joining the same family plan to cooperatively schedule/shift jobs of their electrical appliances with an aim at reducing peak power consumption and saving costs.
Clustering Algorithm
Given a social graph, the clustering algorithm according to some embodiments may aim at finding clusters of users such that the total power consumption in each cluster of users (which are socially connected) achieves minimum variance. Clustering with minimum total co-variance for all pairs of users in the cluster may be equivalent to clustering with minimum variance of the aggregated power consumption pattern of all users in the cluster. It should be appreciated that the latter criterion may imply that the PAR of the cluster is small. For easy management of a family-plan cluster and easy scheduling of jobs of users within the cluster, the clustering algorithm according to some embodiments may limit the maximum number of users allowed in a cluster. The distributed clustering algorithm may only use local information exchange with an aim of achieving global optimality, i.e., finding clusters with minimum variance. Whenever a cluster reaches the maximum size allowed, this cluster of users may stop growing and exit, i.e., it may cease participating in future rounds of finding clusters with minimum variance. The clustering algorithm may terminate when all constrained minimum-variance clusters are found. When the clustering algorithm terminates, each user may be assigned to only one cluster.
Scheduler
Jobs may be scheduled in any suitable way using any suitable information used for scheduling, which may include data on actual energy usage or patterns of usage. Alternatively or additionally, scheduling may be based on information that indirectly indicates job energy usage or job patterns of usage or ability to modify job energy usage over time. Such information may be obtained automatically, such as from sensors recording energy usage or activities correlated to energy usage installed at a user's premises. Alternatively or additionally, information may be obtained via a social network, which may indicate activities of a user as a function of time, for example.
As an example of a scheduling scheme: according to some embodiments, a scheduler is intended to move some jobs from peak hours to off-peak hours so that the peak power consumption in each cluster can be further reduced. Without loss of generality, a discrete time system and a time period [0,T] may be considered, during which NJ jobs of electrical appliances, J={J1, J2, . . . , JN
The scheduler is intended to minimize the peak demand. The problem may be formulated as follows:
Problem 2 (Peak Demand Minimization Problem).
Compute starting time si for each job Ji to minimize the peak demand DPeak. Then the optimization problem for minimizing peak demand during a finite horizon T>0, may be formulated as:
For the special case that tie=0 and til=T−τi, ∀JiεJ, Problem 2 may be NP-hard [3], and so Problem 2 in the general case may also be NP-hard.
Given users' jobs to be scheduled in the next scheduling period, an approximation algorithm called Earliest Deadline First (EDF) may be used (shown in Algorithm 1) to minimize the peak power consumption of each cluster of users according to some embodiments.
Algorithm 1 can be applied to 1) jobs of a single user and 2) jobs of all the users in one family-plan cluster. In Algorithm 1, jobs may be partitioned into two subsets: long job set Ji and short job set Js; if the job duration τi is less than T/a (a is a user-specified parameter and 1<a≦2), then job Ji may belong to the short job set Js; otherwise, it may belong to the long job set Jl. For each long job Ji in Jl, it is scheduled to start at its earliest starting time, i.e., si=tie. Note that a long job may not be sequentially combined with another long job in the time period [0,T]. That is, once a long job Ji ends, there may not be enough remaining time to run another long job Jk because τi+τk>T for any long job Ji and any long job Jk (i≠k). In contrast, it may be possible to schedule multiple short jobs in a sequential manner if the sum of their durations Σiτi is not more than T. For short jobs Ji εJs, these jobs may be sorted in the increasing order of their latest starting time til (i.e., sorting short jobs from the most urgent job to the least urgent job); if multiple jobs have the same til, then these jobs may be further sorted in the decreasing order of their power demand di. Then the sorted short jobs may be scheduled using a “greedy” algorithm, i.e., with the more urgent job first; if multiple jobs have the same, til a job with a larger power demand may be scheduled first. In Step 13 of Algorithm 1, ek
Different from the centralized Algorithm MP in [3], the EDF algorithm according to some embodiments may be implemented in a distributed manner as follows: each user can exchange information about its jobs (to be scheduled) with other users in the same cluster, and each user can use Algorithm 1 (applied to all the jobs of the users in the same cluster) to find a schedule of its own jobs; each user (in reality, it may be the household control center of each user) may apply the resulting schedule of the jobs (via the DRS devices) to its electrical appliances.
Exemplary Implementation
Any customer/user of a given utility company who is willing to participate in the family plans can create an account on Facebook or any other social network. As used herein, “social network” refers to a network of users implemented by the interactions of the users with one or more computing systems. Each of these users can download a matching application of the utility company from the application store of the social network or any other suitable source; this matching application may run Algorithm 3, as shown below, or a similar algorithm. For example, the matching application may receive the social network topology of users as shown in act 210 of
Users may be clustered in any suitable way using any suitable information used for clustering, which may include data on actual energy usage or patterns of usage. Alternatively or additionally, clustering may be based on information that indirectly indicates energy usage or patterns of usage or willingness or ability to modify energy usage over time. Such information may be obtained automatically, such as from sensors recording energy usage or activities correlated to energy usage installed at a user's premises. Alternatively or additionally, information may be obtained via a social network, which may indicate activities of a user as a function of time, for example.
As an example of a clustering scheme: let Pi(t) denote the instantaneous power consumption of User i in time slot t. Let var(X) be the variance of random variable X and cov(X, Y) be the covariance between X and Y. Then the following may be considered:
From Proposition 1, it may be known that a new user i can be added to a cluster Gg of users to further reduce the variance of the power consumption of all users in the cluster if and only if
According to some embodiments, a goal is to find a clustering so that the variance of summed power consumption is as small as possible.
Let Gu denote the social graph formed by Nu users; the graph Gu may have a node set Vu and an edge set Eu. |Vu| may denote the cardinality of set Vu. It may be assumed that Nu users may be partitioned into multiple clusters, and the members of cluster j may form a set denoted by Gj. It should be appreciated that var(ΣiPi)=Σivar(Pi)+Σi≠j2cov(Pi, Pj). The minimal variance clustering problem studied here may be reducible to a graph clustering problem: each (user) node iεVu may have a weight var(Pi), and each edge (i, j) has a weight 2cov(Pi, Pj). Then a clustering may be pursued such that the maximum cluster weight (i.e., sum of weights of nodes and edges within the cluster) is minimized. This problem may be NP-hard, as many NP-hard problems may be special cases of this problem (e.g., subset sum problem).
For ease of understanding, a centralized version of the clustering algorithm according to some embodiment is presented in Algorithm 2; then a distributed version of the clustering algorithm according to some embodiments is presented in Algorithm 3.
Algorithm 2 may output clusters of users {Gj}, and the number of clusters may not be an input parameter. Algorithm 2 may be a clustering algorithm that may partition users into K clusters where K may be unknown to the algorithm. This may be different from K-means clustering algorithm and spectral clustering algorithms.
In Algorithm 2, each user/node i may be assigned with a state vector [gi, σg
Let N(i) denote the set of nodes that are neighbors of Node i in graph Gu. var(Pi) can be estimated by Eq. (1) and cov(Pi, Pm) can be estimated by Eq. (2).
The following proposition shows that Algorithm 2 has linear complexity.
Proposition 2.
The computational complexity of Algorithm 2 is O(|Eu|).
Proof.
In Algorithm 2, initializing every node with its cluster index may require O(Nu) time. Each iteration of Algorithm 2 may take linear time in the number of edges (O(|Eu|)). At each node i, the algorithm may first cluster the neighbors according to their cluster index, with complexity O(di), where di may be the node degree of Node i. The algorithm may then pick the cluster of minimum variance and assign Node i to this cluster, requiring a worst-case time of O(d1). This process may be repeated at all nodes and hence an overall time may be O(|Eu|) for each iteration. Because the number of iterations may be independent of |Eu|, the overall complexity of Algorithm 2 may be O(|Eu|).
In Algorithm 2, as the number of iterations increases, the number of nodes that finalize their minimum-variance-cluster membership may increase. The inventors have appreciated that irrespective of Nu, 95% of the nodes or more may finalize their cluster membership by the end of the fifth iteration.
In Algorithm 3, each user may know which users are its neighbors. A routing protocol may be in place, which may allow communication between any two users. Each user i may have knowledge of its own electricity usage profile Xi.
Algorithm 3 can run in an asynchronous manner to avoid inconsistencies in updating the cluster membership. In an asynchronous manner, in each slot, only one node may be allowed to update its cluster membership based on information collected in the previous slot. There are many ways of choosing a node for update. One method is to use a token. A node may need to have a token to update its cluster membership. The algorithm may select a node and assign a token to this node. After finishing updating, this node may randomly relay the token to one of its neighbors. This relay process may continue until Algorithm 3 terminates. Since clustering may not have stringent delay requirements, the delay caused by asynchronous implementation of Algorithm 3 may be tolerable. In some embodiments, however, the speed of Algorithm 3 may be increased by a synchronous manner.
Because the available data-sets do not contain electricity usage of a large number of households, simulated data may be used. A trace-driven simulator, which may be based on an Auto-Regressive Moving Average (ARMA) model and an exponential distribution, was used in this example to generate household energy consumption data and job data. The results of using this trace-driven simulator showed significant saving in user payments and fuel cost and a large reduction on peak power consumption due to the family plan scheme according to some embodiments. For example, using the EDF scheduling for clusters of users obtained by the minimum-variance clustering, the user payment may be reduced by 44.7% and the peak power may be reduced by 47.7%, compared to using the EDF algorithm for a single user. As another example, using the family plan scheme according to some embodiments, the user payment may be reduced by 17.8% and the peak power may be reduced by 18.9%, compared to the EDF algorithm for clusters of users obtained by random clustering.
Household Electricity Consumption Simulator
To evaluate the performance of the clustering scheme according to some embodiments, electricity consumption data for a large number of households may be used. Specifically, for each household i, the statistical-average electricity consumption {Xi,t} as a function of time t (tε{1,2, . . . , TX}) may be used. However, such data for a large number of households may not be available in the public domain. Such data may be available for six households [8]. On the other hand, the trace-driven simulator may be used to generate simulated {Xi,t} for an unlimited number of households. The simulated {Xi,t} may be statistically similar to the real-world {Xi,t}, i.e., they may have similar probability distribution functions and auto-correlation functions.
It may be assumed that the real-world {Xi,t} may be a stationary stochastic process and can be modeled by an autoregressive moving-average (ARMA) process, which may be defined as below [9].
Definition 1.
(ARMA(p,q) Process) The process {Xt, t=0, ±1, ±2, . . . } may be said to be an ARMA(p,q) process if {Xt} is stationary and if for every t,
where {Zt} may be independent, identically distributed Gaussian random variables with zero mean and variance σn2.
To determine an ARMA model from samples, the orders p, q, parameters {φi}, {θi} and the white noise variance σn2 may be determined. The problem of determining orders p and q may be a model selection problem. A typical criterion for model selection is Akaike information criterion (AIC). However, for autoregressive models, the AIC may have a tendency to overestimate p. The Bayesian information criterion (BIC) is another criterion, which may attempt to correct the overfitting nature of the AIC. For a zero-mean ARMA(p,q) process, BIC may be given by
where {circumflex over (σ)}n2 is the maximum likelihood estimate of the white noise variance σn2, and Ns is the number of samples. The BIC provides a consistent order selection procedure in the sense that if the samples {X1, . . . , XN
Algorithm 4 shows an exemplary procedure for generating electricity consumption samples of a simulated household. The first part of Algorithm 4 may be to use model selection and parameter estimation to determine the best-fit model and optimal parameter values. The techniques used in Steps 2 and 9 can be found in [9]. The second part may be to use the resulting model to generate simulated electricity consumption process {Xi,t}.
Job Demand Profile Simulator
To evaluate the performance of the scheduler according to some embodiments, job data for a large number of households may be used. Specifically, for each household, the demand profile of each job may be used. Examples of jobs are listed in Table I. The k-th job Ji,k of User i, may have a demand profile Di,k parameterized by (di,k, τi,k, ti,ke, ti,kl), where di,k may denote Ji,k 's average power consumption, τi,k may denote its duration, and ti,ke and ti,kl may denote the earliest and latest starting time of the job, respectively. However, such job data for a large number of households may not be available in the public domain. Such job data may be available for six households [8]. A job profile simulator may be used to generate Di,k for an unlimited number of households. It may be desired for the statistical averages of simulated {Di,k} to match {{circumflex over (X)}i,t} generated by Algorithm 4, i.e., the expectation
may equal Σt+ab {circumflex over (X)}i,t for all a,b (0≦a<b≦T).
For simplicity, it may be assumed that all jobs have constant instantaneous power consumption (average power may replace instantaneous power for simplicity) and constant duration. It should be appreciated that if the power consumption and duration of a job are assumed to be random, Gamma distribution can be used to model them because power consumption and duration may be positive-real-valued and Gamma distribution may have a support of (0, ∞) and may be versatile in modeling various shape of distribution. For the same household i used in Algorithm 4, the real-world power measurements of each job of Household i may be used. The average power, duration, and frequency of each job for one of the six households are listed in Table I. It should be appreciated that each of the six real-world households may have such a table of job profile, which may result in six different tables of job profile. To save space, only one household's job profile is listed in Table I.
To generate the earliest starting time of each job of the j-th type for User i, an exponential distribution may be used to generate the interval between two consecutive jobs of the same type (j-th type), denoted by βj. That is, the probability density function of βj may be
p(βj)=λje−λ
where λj may be the average frequency of the j-th type of job, i.e., a value in the fourth column of Table I. Since λj may be in units of times/day, βj may be in units of one day (24 hours). The first βj,1 may be generated using the distribution in (6). If βj,1≧1 day, no job may be generated for the j-th type of job for this user, and another type of job may be generated; otherwise, let ti,1e=βj,1 and the second βj,2 may be generated. If ti,1e+βj,2≧1 day, then ti,1l=1−τi,j (where τi,j may be the duration of the j-th type of job of User i and is in the third column of Table I) and another type of job may be generated; otherwise let ti,2e=ti,1e+βj,2 and ti,1l=ti,2e−τi,j. This process may be repeated for each type of job for this user until
for all a,b (0≦a<b≦T). A preferable difference may be b−a=10 minutes.
Network Topology Simulator
To evaluate the performance of the clustering scheme according to some embodiments, the widely-used LFR random network generator may be used [10, 11] to generate large-scale realistic social network topologies, which may have the following properties: 1) the node degree may follow a power law distribution, and 2) the distribution of cluster/community sizes may also follow a power law distribution. It may be assumed that there are 1000 households in the system. The LFR network generator may therefore be used to generate a small-world scale-free network of 1000 nodes, representing a social network.
Measurement Data
The trace-driven simulator according to some embodiments may use real-world electricity consumption measurements as input. From [8, 12], a set of several weeks of power data for 6 different homes may be obtained, including two types of power data: 1) the whole household power consumption measured at a rate of 1 Hz, and 2) power consumption of up to 24 individual appliances in a home, measured at a rate of 0.5 Hz. Using the power measurements of each appliance in a household, Table I may be obtained and used as job profiles.
Generation of Household Electricity Consumption Data
Algorithm 4 may take the power measurements of each of the six household as input to generate 200 electricity consumption processes {{circumflex over (X)}i,t} (i=1, . . . ,200; t=1, . . . , Tx). Because power measurements of six households may be given, a total of 1200 electricity consumption processes may be generated. As there are 1000 households in the system, 1000 out of the 1200 processes may be randomly picked and each selected process may be assigned to one household in the social network.
Generation of Job Demand Profile Data
Given {{circumflex over (X)}i,t} and Table I, the job demand profile simulator may generate job demand profiles for each of the 1000 households in the social network.
Energy Pricing Model
To evaluate how much cost is saved under the proposed scheme according to some embodiments, an energy pricing model may be used to convert user power consumption into user payment. A quadratic pricing model [2] may be used as below
C
t
=r×(Lt)2, (7)
where Ct may be the price/user-cost in time slot t, Lt may be the total load/energy-consumption in slot t, and r may be a rate. Because (7) may penalize more on large power consumption than on small power consumption, a load schedule that minimizes the peak power consumption may reduce the user cost at the same time. This pricing model has been used by utility companies as incentives for users to comply with peak-minimization load schedules.
The following results indicate both the effectiveness of the techniques of distributed scheduling as described herein as well as indicate values of some parameters that may be used in accordance with some embodiments.
Accuracy of Trace-Driven Simulator
The following examples illustrate scenarios in which simulation may be used to evaluate the effects of the family plan scheme and related factors on various metrics.
The family plan scheme according to some embodiments may be compared with the case of not using the family plan.
To show the gain of reducing peak power consumption from the utility company perspective, the values in Tables 1 and 2 of [4] (reproduced below as Table II and Table III, respectively) may be used to compute the fuel cost for one million households. One million households may be considered because that number may meet the output power of a power generator, whereas the demand of 1000 households may not be sufficient to meet the minimum power generated by a power generator in Table II.
It may be assumed that two thermal generators may provide power for one million households. It may be assumed that the energy consumption of users may scale with the number of users, and so the energy consumption of these one million households may be simply 1000 times the energy consumption of the thousand households obtained in the paragraph above. From Table III, Generator G1 may cost less than Generator G2 if both produce the same amount of power. Accordingly, as long as G1 can satisfy the demand, G1 may be used instead of G2. Let Lt denote the power demand/load in time slot t. If Lt≦250 MW, only G1 may be on. The amount of fuel needed [4] may be a+b×Lt+c×Lt2=0.0024+12.33Lt+28Lt2 (MBtu) and it may cost 0.0024+12.33Lt+28Lt2 dollars because 1 MBtu may cost 1 dollar according to Table III. When Lt becomes larger than 250 MW, G2 may also need to be activated and the cost of start-up fuel 1500 (MBtu) may need to be added. If 250<Lt≦450, both G1 and G2 may need to be on. Because G1 may have higher efficiency than G2, G1 may produce 250 MW and G2 may produce (Lt−250) MW, and the cost of fuel may be 0.0024+12.33×250+28×2502+0.0044+13.29(Lt−250)+39(Lt−250)2. If Lt>450, some load may have to be shed.
Using the same energy consumption of the thousand households obtained above (magnified by 1000 times), the fuel cost in each hour may be calculated, shown in
The effect of cluster size constraint Nc on the performance of the family plan scheme according to some embodiments may be considered.
The performance of random clustering+peak-minimizing scheduling with minimum-variance clustering+peak-minimizing scheduling may be compared.
How much gain the EDF scheduling (i.e., Algorithm 1) can achieve compared to no scheduling may be evaluated. Here, no scheduling means that the users can run the jobs at will (without any coordination), i.e., each job Ji is randomly assigned with a starting time si which is uniformly distributed in [tie, til]. Two cases may be considered.
Case 1: tie=0 and til=T−τi (∀i). T=24 hours. Case 1 may represent the most flexible constraint, that is, each job may have the maximum flexibility/range, i.e., [0,T−τi], for scheduling.
Case 2: til−tie≦2 hours (Vi). Case 2 may represent a more stringent constraint, i.e., each job may be scheduled within an interval of two hours.
The following references are incorporated herein by reference in their entireties:
Control techniques to generate or use a regulation system at a user premises may be implemented on any suitable hardware, including a programmed computing system. For example,
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments or cloud-based computing environments that include any of the above systems or devices, and the like.
The computing environment may execute computer-executable instructions, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
Components of computer 310 may include, but are not limited to, a processing unit 320, a system memory 330, and a system bus 321 that couples various system components including the system memory 330 to the processing unit 320. The system bus 321 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
Computer 310 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 310 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can by accessed by computer 310. Communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared (IR), and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 330 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 331 and random access memory (RAM) 332. A basic input/output system 333 (BIOS), containing the basic routines that help to transfer information between elements within computer 310, such as during start-up, is typically stored in ROM 331. RAM 332 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 320. By way of example and not limitation,
The computer 310 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 310 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 380. The remote computer 380 may be a personal computer, a server, a router, a network PC, a peer device, or some other common network node, and typically includes many or all of the elements described above relative to the computer 310, although only a memory storage device 381 has been illustrated in
When used in a LAN networking environment, the computer 310 is connected to the LAN 371 through a network interface or adapter 370. When used in a WAN networking environment, the computer 310 typically includes a modem 372 or other means for establishing communications over the WAN 373, such as the Internet. The modem 372, which may be internal or external, may be connected to the system bus 321 via the user input interface 360, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 310, or portions thereof, may be stored in the remote memory storage device. By way of example and not limitation,
Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Further, though advantages of the present invention are indicated, it should be appreciated that not every embodiment of the invention will include every described advantage. Some embodiments may not implement any features described as advantageous herein and in some instances. Accordingly, the foregoing description and drawings are by way of example only.
The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor may be implemented using circuitry in any suitable format.
Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
In this respect, the invention may be embodied as a computer readable storage medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. As is apparent from the foregoing examples, a computer readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form. Such a computer readable storage medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above. As used herein, the term “computer-readable storage medium” encompasses only a computer-readable medium that can be considered to be a manufacture (i.e., article of manufacture) or a machine. Alternatively or additionally, the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
The present application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 61/955,498, entitled “SOCIAL NETWORKING REDUCING PEAK POWER CONSUMPTION IN SMART GRID,” filed Mar. 19, 2014, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61955498 | Mar 2014 | US |