1. Introduction
The smart grid integrates the communication network into the existing power grid and provides operational intelligence via analyzing data collected from different agents on the grid [
1], including power suppliers (e.g., utilities) and energy consumers (e.g., households, factories, universities and hospitals). For instance, smart meters are installed at the power consumer end to monitor the energy usage in a real-time fashion; the meter readings are continuously transmitted to the electric utility with a time interval as frequent as 15 min [
1]. Analyzing such fine-grained meter readings (viz. the energy demand) functions for many applications for electric utilities and consumers on the grid, such as load forecasting [
2], billing [
3], regional statistics [
4] and energy theft detection [
5].
The time series power usage of different consumers directly generates the demand load (also time series) of the power supply. In reality, the demand load of both residential and commercial buildings highly fluctuates at different times [
6], e.g., peak vs. off-peak times. Such fluctuation would result in many issues on the power grid. For instance, it makes it difficult for the utilities to always balance their power supply and demand load within a tight margin, then the energy transmission and production might not be optimal. Furthermore, power blackouts may occur if the power supply cannot feed the demand load over time. At the same time, the power quality (e.g., volts) of individual consumers might be affected at peak times. Therefore, the smart grid has begun to develop techniques that can flatten the demand load of different buildings, communities or geographical areas. Specifically, many utilities try to incentivize a flattened demand load of the consumers by adopting dynamic pricing plans for the energy consumption times (e.g., time-of-use plan
http://www.pge.com/: lower price at off-peak, higher at on-peak and highest at critical peak). Furthermore, the ABB Group (Automation and Power Technologies) (
http://new.abb.com/substations/energy-storage-applications/load-leveling) provides a power storage-based solution (e.g., an energy bank or battery) to store the excessive energy during periods of light load and deliver it at peak times. More recently, a series of intelligent load management techniques [
7,
8,
9,
10] was proposed for smart homes to automatically implement the dynamic schedules for appliances, e.g., turning off unnecessary lights, changing the time for washing clothes, such that the peak electricity demand can be flattened to some extent.
However, most of the existing load leveling techniques have some drawbacks or limitations. First, the dynamic pricing plans highly rely on the behavioral response from each consumer to flatten the demand load. In the case that the consumers do not care about the high price of energy consumption at peak times, the plan would not be effective for load leveling. Since the response is somewhat random from the consumers, it is also challenging to quantify the effectiveness of load leveling. Second, the energy storage-based techniques require additional devices or facilities to implement the scheme and extra maintenance cost. Finally, the intelligent load management techniques [
7,
8,
9,
10] only relatively flatten the peak demand towards an optimal goal; however, the proposed solutions neither quantitatively measure the optimum nor converge towards the optimal objectives in their approaches. Meanwhile, their implementation is limited for only one household (a single smart home), rather than multiple consumers.
To address the above concerns, we propose a novel agent-based approach to flatten the demand load by optimally scheduling the usage times for appliances held by a single or multiple agent(s) (
agent refers to an energy consumer in this context), motivated as follows. Agents (e.g., smart homes [
7,
10]) may have many appliances with adjustable usage schedules. For instance:
When to use some appliances or machines is not strictly tied to fixed time slots everyday. For instance, the air conditioner can be programmed to run at different times; washing clothes can be postponed to a certain time [
10]; in a factory, machines may have adjustable schedules to manufacture and assemble parts in the morning or afternoon of a day or different days.
A rechargeable battery is attached with an increasing number of appliances such as electric vehicles, laptops, cordless vacuum cleaners, cell phones, tablets, etc. The batteries can be charged at any time, whereas the appliances can be used at other different times. In these cases, the battery charging time will be recorded as power consumption time by the meters.
More specifically, we focus on a single or multiple agents’ appliances, each of which has a set of possible in-use time slots, and optimize their schedules to align the time series power usage in the specified time slots (involved in scheduling) to a flattened or fixed amount. For instance,
Figure 1 presents a real-world household’s time series power consumption over 3 h [
11] (which fluctuates with several peak loads). We formulate a mathematical model to produce an optimal energy consumption schedule for all of the appliances (note that some appliances have adjustable usage schedules, while some other appliances may have fixed usage schedules; we consider both in our model, as discussed in
Section 7.1), which lays the time series aggregated energy consumption (of all of the appliances) close to an ideal fixed amount, i.e., the horizontal line in
Figure 1. Notice that, although the optimal solution of the scheduling problem may not be able to get the exact horizontal line, the overall deviation is minimized as a small number close to zero, as shown in the experiments.
Given p agents (each agent holds some appliances), the scheduling problem can be applied to: (1) each agent’s appliances; or (2) all of the agents’ appliances together. For Case (1), each agent locally formulates and solves the scheduling problem where . Then, each agent’s demand load at different times can be flattened with its own scheduling solution, and the overall demand load of all p agents (e.g., households in a community) can be automatically flattened to a stable aggregated amount. For Case (2), the overall demand load can be directly flattened using the scheduling solution (jointly derived from all p agents). Thus, while demanding a fixed amount of load from the grid at different times, our scheduling-based load leveling technique can greatly improve the reliability of power supply from the electric utility.
In this paper, we define such a scheduling problem for load leveling as the Energy Consumption Scheduling (ECS) problem. Notice that the ECS problem can be integrated into both the Demand Response (DR) programs [
9,
12] and the Demand Side Management (DSM) programs [
13,
14,
15,
16,
17] in shifting load to off-peak times so as to benefit both electricity consumers and utilities. More specifically, if the automated control systems are in place, our ECS problem can be implemented as a DR program that encourages energy consumers to make short-term reductions in energy demand and consume the electricity at the off-peak times. Similarly, our ECS problem can be also implemented as a DSM program to pursue energy efficiency from a long-term point of view with possible facility upgrade, such as building automation upgrades.
The ECS problem will be formulated among one or multiple agents (e.g., households), any of which (or a trusted-third party) can be the problem solver and owns the scheduling facility to derive the optimal schedule with inputs from all of the agents. Specifically, all of the agents are expected to send the information of their appliances (e.g., consumption rate) and the possible time slots of their appliances to the problem solver, which then formulates and solves the optimization problem to obtain the optimal consumption times of all of each agent’s involved appliances. After solving the problem, the problem solver will distribute the optimal solution to the corresponding agents for running their appliances per their optimal schedules. In the real-world Internet of Things (IoT), formulating and solving the ECS problem, as well as the communication among agents can be implemented in the current smart grid infrastructure [
1], which enables communication among entities on the existing power grid (viz. agents with computation capacity, such as smart homes [
7,
10]). The optimal solution can be implemented in two different ways: manual and automatic. For the former one, each agent will receive a message of the optimal running times of its appliances. Then, each agent can manually turn on their appliances per the scheduled times. For the latter one, each agent’s share of the optimal solution (the scheduled times of its appliances) can be automatically implemented in the existing DR or DSM devices (e.g., a load control switch). In addition, the next generation smart grid would enable households or buildings (i.e., a smart home [
7,
10]) to automatically switch their appliances on and off at pre-scheduled time slots; the optimal solutions of our ECS problem can be directly implemented in such a smart home environment. Thus, our scheduling problem can be smoothly integrated into the IoT to function as load leveling at the demand side.
Note that the ECS problem is a fundamental energy consumption scheduling problem, which outputs a specific time to turn on each appliance. Then, the output schedules can be implemented in different power grid infrastructures (e.g., Asia, Europe and North America), as long as different agents can communicate with each other. Although the layouts and configurations in the load connection and power distribution of such systems are quite different, each agent (e.g., a household) in such systems can manually or automatically turn on its appliances according to the received scheduling time in the optimal solution. In summary, the main contributions of this paper are given as follows:
We propose a novel Energy Consumption Scheduling (ECS) problem for a single or multiple (energy demand) agents to flatten their demand load.
We extend the ECS problem to a more generalized form (the GECS problem) by enabling each agent to specify a range of usage time for each of their appliances. This can complete the scheduling as the appliances’ required usage times are unknown at the scheduling stage.
Both ECS and GECS problems are mathematically modeled as Mixed-Integer Programming (MIP) problems. We develop a novel effective algorithm (temporal decomposition) for efficiently solving them. Note that the algorithm can return a near-optimal solution for the ECS/GECS problem with ∼1,000,000 variables in reasonable time.
The experimental results demonstrate that our algorithm is significantly more efficient than the standard benchmarks (e.g., IBM ILOG CPLEX 12.2), while ensuring near-optimal solutions.
The remainder of the paper is organized as follows.
Section 2 reviews the relevant literature.
Section 3 and
Section 4 present the Energy Consumption Scheduling (ECS) problem and the Generalized Energy Consumption Scheduling (GECS) problem, respectively. Then,
Section 5 illustrates our novel algorithm for solving the ECS and GECS problems.
Section 6 demonstrates the experimental results, and
Section 7 gives some discussions. Finally,
Section 8 concludes the paper and discusses the future work.
2. Related Work
The smart grid overlays the power distribution network with a communication network [
1], collects massive sensor data and develops automation technologies to improve the grid performance [
9]. As a critical component in smart grid infrastructure, demand response management [
18] aims at optimizing the power consumption at the demand side: electricity consumers. Specifically, Demand-Side Management (DSM) enables operational intelligence at the single home level and utilizes the home area network to interact with the power grid. For instance, the power usage of each appliance can be monitored in the smart home [
7,
10]. An increasing number of appliances, such as lights, HVACs (Heating, Ventilating and Air Conditioning) and refrigerators, can be programed to optimize the energy consumption, cut down the utility bill (e.g., automatically shutting down heating as temperature is high) and support the Internet of Things (IoT).
The proposed agent-based energy consumption scheduling in this paper pursues load leveling by further optimizing the in-use schedule of the appliances. Besides our agent-based model, some other approaches were adopted in the industry and academia, including the time-of-use energy pricing plan, storing electricity at light load and delivering it at peak times (e.g., ABB Group), and home automation (e.g., a least slack first policy/algorithm proposed by Barker et al. [
10] in the SmartCap application). In addition, load leveling problems are also solved in some specific environments, such as reducing T & Dline losses [
19], fault-tolerant distributed computing systems [
20] and system-wide demand response management [
21]. As discussed in
Section 1, our agent-based energy consumption scheduling is different from the prior work, primarily in two ways. First, our scheduling solution could converge towards an optimal or near-optimal load leveling from the global point of view (multi-agents) while being subjected to the constraints derived from the in-use schedule of the appliances. Second, with the participation of multiple agents, the demand load can be flattened to a stable amount with reduced deviation of the original routine schedule of the appliances (as discussed in
Section 7).
Furthermore, scheduling problems have been studied for different applications in the smart grid infrastructure. For example, Lin and Tsai [
22] proposed a home energy management system facilitated by non-intrusive load monitoring techniques to save on electricity bills via scheduling. Lu et al. [
23] proposed a multi-objective energy consumption scheduling to minimize the total energy consumption cost and maximize the social utility. Paterakis et al. [
24] mathematically formulated the problem of distribution network reconfiguration to determine the optimal radial configuration by minimizing the active power losses and a set of commonly-used reliability indices w.r.t. the number of customers. Chetto [
25] studied the scheduling for real-time jobs, which are executed on a uniprocessor system supplied by a renewable energy source. Wang et al. [
26] studied the energy-aware data allocation and task scheduling problem on multiprocessor system for real-time applications. Lin et al. [
27] studied the problem of scheduling co-design for reliability and energy by minimizing total energy while guaranteeing reliability constraints. Ahmed et al. [
28] proposed a hybrid Lightning Search Algorithm (LSA)-based Artificial Neural Network (ANN) to predict the optimal on/off status for residential appliances, which can provide inputs (e.g., estimated some candidate running time slots for appliances) to function as our ECS problems.
Finally, since the current centralized model of production and transmission is incredibly inefficient and places the grid under great pressure [
29,
30], novel multi-agent systems [
31] have significantly advanced the development of the smart grid recently, especially demand response [
21,
28,
32]. For example, Cha et al. [
32] proposed a multi-agent system to perform scheduling for maximum benefit in response to the electricity prices. Agrawal et al. [
33] studied the decentralized power supply restoration problem in the case that line failure occurs. The proposed multi-agent scheme can optimally cover different sub-regions and in turn lead to the agent-based decentralized control [
33]. Cerquides [
29] presented a multi-agent framework for microgrids on the power grid to trade their local electricity on the energy market. A network of households with solar panels or other distributed energy resources are able to sell the excess electricity to other households, which demand extra energy from the main grid. To deal with uncertainty in the microgrids’ energy generation, Strawser et al. [
34] developed a multi-agent power market for selling electricity, which can price reliability.
4. Generalized ECS Problem
In this section, we extend the ECS problem to a more general form in which the overall consumption of each appliance (i.e., agent i’s j-th appliance) is a variable in range rather than fixing it as . This extension works in the case that some appliances’ total number of required in-use time slots is still unknown at the scheduling stage. If we let , , , the new problem is then reduced to the original ECS problem. Thus, we name this more general problem as the GECS problem.
In the GECS problem, given
and
, we denote agent
i’s
j-th’s appliance’s total number of in-use time slots as
. Thus, we have
, and the overall energy consumptions are:
where Δ is a variable rather than a constant in the GECS problem. Similar to the ECS problem, we can derive the objective function and constraints as below.
4.1. Objective Function
Replacing Δ in the ECS problem’s objective function (Equation (
1)), we thus have the objective function of the GECS problem:
4.2. Constraints
Similar to the ECS problem, we derive the constraints for the number of in-use time slots, running appliances in continuous time slots and agents’ preferences of the in-use time slots (if available).
4.2.1. Number of Running Time Slots
Note that in the GECS problem, the total number of in-use time slots for each appliance is a variable
. Then, we have the following two groups of constraints:
4.2.2. Running Appliances in Continuous Time Slots
Similar to the ECS problem, we can obtain all of the inequality constraints for running appliances in continuous time slots as below (details are given in
Appendix C):
where
.
4.3. Problem Formulation
Similar to the optimization model of the ECS problem (Equation (4)), we can mathematically formulate the GECS problem as below:
where
. Similar to the ECS problem, we can denote the sum of absolute values by additional variables
. Therefore, after removing the absolute values (similar to Equation (
5)), the GECS problem can be transformed to:
where
.
5. Algorithms
In this section, we first describe the overview of the energy consumption scheduling and then present an efficient algorithm for one or multiple agents to effectively solve the ECS (or GECS) problem and implement the optimal scheduling solution for load leveling.
5.1. Overview
As described in
Section 1, all of the agents first send their appliances’ consumption rates and estimated running times to the problem solver, which can be any agent or a trusted-third party. If the appliances’ running times are given as a fixed number of time slots, then an ECS problem will be formulated (as shown in
Section 3); if the appliances’ running times are given as ranges of time slots, then an GECS problem will be formulated (as shown in
Section 4).
For the ECS problem, we propose a novel algorithm denoted as the Temporal Decomposition (TD) to let the problem solver efficiently solve it. The details of the TD algorithm are given in
Section 5.2. For the GECS problem, the problem solver first utilizes Linear Programming (LP) relaxation to find out the optimal consumption amount of each appliance. Then, considering the optimal solution of the LP problem as the fixed consumption amount for each appliance, the GECS problem can be converted to an ECS problem, which can be solved using the TD algorithm by the problem solver. The details of solving the GECS problem are given in
Section 5.3.
Finally, the problem solver distributes the shares of the optimal solution to the corresponding agents, which are their appliances’ specific running time slots. As a result, all of the agents can turn on their appliances in the specific running time slots in the optimal scheduling solution: for all
, agent
i turns on its
j-th appliance in time slot
k.
Figure 2 demonstrates the flow diagram of the energy consumption scheduling for load leveling (both ECS and GECS problems).
5.2. Solving the ECS Problem with Temporal Decomposition
The ECS problem involves
global constraints with respect to
variables shared by all
p agents, while
, agent
i holds
local equality constraints and
local inequality constraints with respect to
variables. Since such a Mixed-Integer Programming problem (MIP) includes an overwhelming majority of binary variables with a number of
, the commercial solvers, such as CPLEX or GUROBI [
35], cannot produce an optimal solution within reasonable time as
and/or
n are large. Thus, we design an efficient heuristic algorithm to effectively and efficiently generate optimal or near-optimal solutions.
Specifically, we decompose the ECS problem into n subproblems for n different time slots in the scheduling. The algorithm begins with solving the subproblem regarding the first time slot , and solves all of the subproblems in a temporal sequence. Thus, we denote the algorithm as “temporal decomposition”.
Since the constant represents the optimal overall consumption amount for every time slot, the process of optimizing all p agents’ appliances’ overall consumption in n different time slots is relatively independent. In each subproblem, , the objective function is simply given as , which is time slot k’s share in the ECS problem’s original objective function, the deviation between all agents’ appliances’ consumption in time slot k and the constant optimal amount .
More specifically, in the ECS problem,
n pairs of global constraints are given for representing the deviation of
n different time slots’ consumption and
, respectively, which are independent of each other;
n pairs of global constraints do not have any overlapped variables. Thus,
the
k-th subproblem only needs to involve a pair of global constraints (corresponding to time slot
k). We can first formulate
n decomposed subproblems with only global constraints.
, the
k-th subproblem is:
where the variables in the
k-th subproblem are a subset of variables in the ECS problem, which correspond to time slot
k. We denote its optimal solution as
, the optimal values indicating whether all of
p agents’ appliances are on or off in time slot
k. In the meantime, deviation
is minimized to
.
Furthermore, we also have to take into account the ECS problem’s local constraints. Recall that each local constraint is created with two criteria:
Then, we can simplify all of the local constraints according to two groups of rules that assign values for variables
,
,
,
in all
n decomposed subproblems in which
represents the on/off status of agent
i’s
j-th appliance in time slot
k. Specifically, in time slot
’s subproblem (note that
subproblems have been solved):
Rules of the number of in-use time slots. For agent
i’s
j-th appliance:
- -
Rule 1.1: if , then all of the binary variables in the remaining subproblems (including the current subproblem) must be zero. This rule means that if an appliance has been on for time slots in the past time slots, it must be off in all of the remaining time slots.
- -
Rule 1.2: if , then all of the binary variables in the remaining subproblems (including the current subproblem) must be one. This rule means that if an appliance has been off for time slots in the past time slots, it must be on in all of the remaining time slots.
- -
Rule 1.3: if , then all of the binary variables in the remaining subproblems (including the current one) can remain as either zero or one. This rule means that if an appliance has neither been on for time slots nor been off for time slots in the past time slots, it can be either on or off in the following time slots.
Rules of continuous in-use time slots. For agent
i’s
j-th appliance:
- -
Rule 2.1: if , then the binary variable in the current subproblem and the binary variables in all of the remaining subproblems must be zero (the same as Rule 1.1). This rule means that if an appliance has been continuously on for time slots in the past time slots, it must be off in all of the remaining time slots.
- -
Rule 2.2: if and , then the binary variable in the current subproblem, and the binary variables in the following subproblems must be one(the binary variables in continuous subproblems are one). This rule means that if an appliance is on in the most recent time slot and has not been on for time slots in the past time slots yet, it must be on in the following time slots.
- -
Rule 2.3: if and (no in-use time slot yet), then the binary variable in the current subproblem can be either zero or one. This rule means that if an appliance has not been on for time slots in the past time slots, it must be off in all of the past time slots (due to the characteristics of continuous running). Then, it can be either on or off in the following time slots.
Note that all six rules will be applied to n decomposed subproblems from a global perspective. Since the first group of rules ensures that agent i’s j-th appliance’s total number of consumption time slots equals and the second group of rules ensures that such in-use time slots are continuous, the compliance of the above two groups of rules is equivalent to meeting all of the local constraints in the ECS problem.
After solving the
n subproblems (notice that: (1) without loss of generality, any agent or a centralized site can be the solver; (2)
, the
k-th subproblems is jointly formulated by all the
p agents;
, agent
i inputs its share of the problem corresponding to time slot
k; (3) each agent utilizes all six rules and its local constraints to examine the possible values of their variables in every subproblem), the optimal solutions of all of the subproblems can directly form the optimal solution of the original ECS problem: optimal value
; optimal solution
. The details of the temporal decomposition are presented in Algorithm 1 and
Figure 3, and the accuracy of the temporal decomposition algorithm is validated in
Section 6.
Algorithm 1: Temporal decomposition. |
|
5.3. Solving the GECS Problem with Linear Programming Relaxation and Temporal Decomposition
Since the constant optimal consumption amount of any time slot in the ECS problem has been changed into in the GECS problem (which is not a constant), Algorithm 1 cannot be directly applied to solve the GECS problem. To tackle this issue, we propose a two-phase approach to solve the GECS problem: (1) find the optimal consumption amount for each of the appliances; and (2) solve the scheduling problem with the optimal consumption amounts (fixed).
In Phase (1), the problem solver relaxes
from binary variable
to continuous range
in the GECS problem and defines new integer variables
,
,
to approximate each appliance’s total number of in-use time slots (similar to
in the ECS problem). Then, the problem solver can formulate and solve the following LP relaxation problem:
After solving the above LP relaxation problem, can be fixed as constants with the optimal values in the LP relaxation problem (which are rounded to integers . Therefore, the optimal value can serve as the (optimal) total energy consumption of agent i’s j-th appliance. As a result, the GECS problem is transformed into an ECS problem.
In Phase (2), the problem solver applies temporal decomposition (Algorithm 1) to solve the transformed GECS problem with the optimal consumption amounts of the appliances (derived from Phase (1)). The GECS problem (viz. an ECS problem) is formulated as below:
where constant
. Note that
will be loaded into the two groups of rules as agent
i’s
i-th appliance’s overall consumption time in
n time slots (viz.
in the ECS problem) for satisfying all of the local constraints. Similar to the ECS problem, after solving the problem, the problem solver distributes the optimal solution to each agent. For all
in the optimal solution, agent
i turns on its
j-th appliance in time slot
k.
6. Experimental Results
In this section, we conduct experiments to compare our temporal decomposition algorithm with the commercial software IBM ILOG CPLEX 12.2 on solving the ECS/GECS problems.
6.1. Dataset
Richardson et al. [
36] collected 22 dwellings’ power consumption over two years in East Midlands, U.K. In the real dataset, each of the 22 smart meters is associated with 33 appliances with 1,051,200 readings (one reading per minute). We randomly select
smart meters (each of which is an agent) and aggregate the readings for every 10 min within two months to generate our experimental data:
time slots can be generated (10 min each).
Then, our experiments are conducted on mixed sets of real and synthetic data. Each appliance’s consumption amount within any single time slot and total number of in-use time slots are available in the dataset. On the other hand, we randomly select 30%–50% of the appliances as appliances with an adjustable schedule, where the schedule ranges are randomly generated from all of the n time slots. For instance, an appliance (which has adjustable schedule) runs time slots (2 h) out of time slots (24 h). We randomly generate a subset of time slots (rather than all of the time slots in 24 h), as the appliance’s in-use time slots range specified by the agents with their preferences, e.g., the time slots in the first 8 h. Note that such a synthetic schedule range is expanded from the appliance’s in-use time (randomly for 5–10 times) in the real data. In the GECS problem, the range of in-use time slots number is randomly generated with the criterion , where is available in the dataset.
6.2. Settings
We implemented the Mixed-Integer Programming (MIP) solver, IBM ILOG CPLEX (Version 12.2), using MATLAB (version R2015a). In addition, we coded our TD algorithm using the same software MATLAB and also invoked CPLEX while solving any decomposed MIP subproblem. Thus, the comparison between the pure CPLEX solver and our TD algorithm was done in the same coding environment. We denote directly solving the MIP problems using CPLEX as “CPLEX” and our temporal decomposition algorithm as “TD” (in which all of the decomposed subproblems are solved by CPLEX), respectively.
In both ECS and GECS problems, each variable has three different dimensions:
(number of agents),
(number of appliances held by each agent) and
(number of time slots). We test the results in three groups of experiments as below:
Group 1 (small/medium): testing the accuracy in case that CPLEX can find the exact optimal solutions within reasonable time. Then, is specified as , , , , , , , , and , respectively.
Group 2 (large): testing the efficiency/scalability and accuracy on varying number of time slots and the number of appliances per agent. Fixing agents, each agent has 11, 12, 13, …, 30 appliances, and the number of time slots varies from 1500–6000. The largest MIP problem in this group includes 540,000 binary variables.
Group 3 (large): testing the efficiency/scalability and accuracy on the varying number of time slots and the number of agents. Fixing the number of appliances held by each agent as 20, the number of agents varies in the range [1, 10], while the number of time slots varies from 1500–6000. The largest MIP problem in this group includes 1,200,000 binary variables.
We run each test for five times and average the results. Notice that only the testing cases in Group 1 could find the optimal solution within 1 h, which is a meaningful stopping point adopted in many other computational studies [
37]. Indeed, in Groups 2 and 3, CPLEX failed to find the optimal solution within 5 h. For such cases, we consider the best feasible CPLEX solutions obtained within the 5-h time limit as a surrogate for the optimal solution. Note that we did try to let CPLEX run longer in many cases, but the solution quality provided by CPLEX after 6–10 h had no significant difference in its result in 5 h. If we let CPLEX run even longer, say 48 h, it occasionally could offer a slightly better solution, but the empirical error gap [
37] (simply defined as
) is still mainly within
. More importantly, in practice, it might be unnecessary to wait for CPLEX to provide us with a slightly better solution with greatly increased runtime.
6.3. Accuracy
In practice, we can consider the optimal solution obtained by the commercial tool CPLEX as the exact optimal solution and then compare the optimal solution returned by our algorithm to that of CPLEX. However, CPLEX can only return the optimal solution for a small or a medium size of the ECS problems (e.g., the experimental Group 1) within reasonable time. We then first look at the deviation ratios (defined in Equation (
6)) of the exact solutions (by CPLEX) presented in
Table 2. In these cases, our algorithm (TD) can return optimal solutions extremely close to the exact optimal solutions obtained by CPLEX: out of 10 pairs of results, seven pairs are identical, and CPLEX performs slightly better in three pairs.
For large-scale ECS problems, we plot two algorithms’ deviation ratios in the experimental Groups 2 and 3 in
Figure 4 and conclude the following observations. The deviation ratio decreases as the problem size increases with greater
p and/or greater
and/or greater
n, since it is more likely to further level the overall consumptions in different time slots when more agents and/or more appliances (with adjustable running schedules) and/or more time slots are involved in the scheduling. In these two groups of experiments, the number of variables falls into [30,000, 1,200,000]. Since CPLEX could not find the optimal solution in 5 h, the returned best feasible solution by CPLEX is slightly worse than the near-optimal solution returned by our TD algorithm, as shown in
Figure 4.
Convergence of deviation: As shown in
Figure 5, we plot the normalized deviation (defined in Equation (
7)) of some selected iterations in our TD algorithm, applied to three ECS problems with different sizes (small: 240 binary variables; medium: 3600 binary variables; large: 24,000 binary variables). We can observe the convergence of the deviation minimization process from one to a small number close to zero as below.
Accuracy vs. total number of appliances: Notice that, in the ECS problems, if multiple agents are involved in the scheduling (), they can communicate with each other to schedule their appliances to flatten the overall power consumption. Therefore, given a fixed number of time slots for scheduling, the performance of the accuracy is dependent on the number of overall appliances, regardless of the number of agents and the numbers of appliances held by each agent. This also applies to the GECS problems.
6.4. Case Study
Besides the experimental results of deviation, we also conduct a case study to demonstrate the effectiveness of load leveling via our energy consumption scheduling approach. The power consumption data are selected from the dataset collected by Richardson et al. [
36] in the U.K. We select a sample house from the 22 houses in the dataset, which includes 30 electric appliances. Out of all of the appliances, we study the load leveling in two cases: (1) all of the appliances can have adjustable schedules; and (2) only 20 appliances can have adjustable scheduling. The power consumption in the dataset has been aggregated from 1 min per reading to 15 min per reading, then we have 15 min as the time slot length for scheduling.
In the experiments, we study the scheduling problems over two time ranges [12:00 a.m.– 12:00 p.m.] (midnight to noon) and [12:00 a.m.–12:00 p.m.] (noon to midnight), respectively. Thus, we have
time slots in each scheduling problem. After solving the four ECS problems by our TD algorithm (two time ranges and two cases of appliances’ schedules), we demonstrate the results in
Figure 6a,b, respectively. In both figures, “ECS (30)” and “ECS (20)” represent the ECS problem (solved by the TD algorithm) with all 30 appliances involved in the scheduling and with only 20 appliances involved in the scheduling, respectively. “Original” and “ideal” means the original consumption without scheduling and the ideal scheduling (consumption equals the average amount all of the time), respectively. As a result, we can have two observations: (1) the demand load (energy consumption) can be flattened by our ECS problem at different times: for both ECS (30) and ECS (20) and (2) if more appliances have adjustable schedules for the scheduling (e.g., ECS (30)), the demand load (energy consumption) curve can be flattened closer to the ideal case.
6.5. Efficiency and Scalability
Figure 7 shows the runtime for two algorithms (TD and CPLEX) with varying
p,
,…,
and
n to solve large-scale ECS problems. CPLEX fails to provide optimal solutions in all of the cases within 5 h. Instead, our algorithm remarkably outperforms CPLEX on efficiency and scalability since it can return a near-optimal solution in significantly less time in almost all of the cases. As the problem size increases along three different dimensions (by increasing values of
), the runtime of temporal decomposition increases extremely slow with a linear trend. On the contrary, the runtime of CPLEX increases exponentially as
and/or
n increases, as shown in
Table 2 (note that the runtime of CPLEX in
Figure 7 exceeds 10,800 s: 5 h in all of the cases in experimental Groups 2 and 3, then CPLEX is terminated at that point).
In our TD algorithm, for each testing case, the number of times of invoking IBM ILOG CPLEX is fixed (which is the number of time slots n and also the number of subproblems). In other words, the convergence against the solving step number (based on invoking CPLEX) is fixed for every scheduling problem. In the meantime, each time when CPLEX is invoked, the overhead time of interfacing is less than 0.00001 s. Even with large-scale problems, such as , the total overhead time of interfacing is still less than 0.1 s, which can be negligible comparing to the overall solving time in those testing cases. Furthermore, the runtime required for solving each subproblem in sequence decreases as the time slot number k increases from 1–n. Take the testing case as an example, solving 12 subproblems using CPLEX requires 5.92, 4.78, 3.89, 3.38, 2.79, 2.45, 2.29, 2.02, 1.85, 1.54, 1.48 and 1.33 s, respectively. Note that the overall interfacing time takes only ∼0.00012 s.
The highly efficient and scalable feature of our TD algorithm is more practical and accessible on the smart grid since scheduling should be implemented online among multiple agents and accomplished in a very short time. Indeed, online scheduling cannot wait for a couple of days to derive the optimal solution by CPLEX.
6.6. Experimental Results for the GECS Problem
For the GECS problem, we conducted another group of experiments using a similar dataset and obtained a similar set of experimental results. As shown in
Table 3, we can draw similar observations for our temporal decomposition algorithm as the ECS problem. For large-scale problems (e.g., 900,000 binary variables), our algorithm only takes 13,423.81 s to obtain an accurate near-optimal solution. However, if we use CPLEX to solve the same GECS problem, the feasible solution obtained after 5 h is still worse than TD’s near optimal solution (deviation ratio 0.049% vs. 0.043%).
8. Conclusions and Future Work
In this paper, we studied the agent-based ECS problem on the smart grid, which flattens the demand load for a single agent or multiple agents via scheduling the usage of agents’ appliances at the demand side. We also extended the ECS problem to a more general format, the GECS problem in which each every agent’s appliance can have an unknown number of in-use time slots at the scheduling stage. After mathematically modeling these two ECS problems as Mixed-Integer Programming (MIP) problems, we proposed a novel decomposition algorithm to efficiently and accurately solve them. We compared our algorithm with the standard benchmark CPLEX in experiments. As demonstrated in the experimental results (e.g., deviation ratios in the optimal solutions, rate of convergence and runtime), our algorithm is proven to be significantly more practical and accessible (highly efficient and accurate) than CPLEX.
In the future, we will extend the studies of energy consumption scheduling (ECS) problems for load leveling in two ways. On the one hand, we will try to study the bound of our temporal decomposition algorithm and theoretically examine the accuracy of our proposed efficient solver. On the other hand, while solving the ECS and GECS problems, multiple agents on the grid have to share their input data (e.g., each agent’s appliances, total number of in-use time slots) and output (i.e., specific agent’s usage schedule of their appliances in the optimal solution) to jointly formulate and solve the MIP-based ECS/GECS problems. Such information disclosure would explicitly compromise the consumers’ privacy on the power grid [
40,
41]. We will explore privacy-preserving schemes [
42,
43] to effectively formulate and efficiently solve the ECS/GECS problem among multiple agents on the smart grid with limited disclosure [
44,
45]. Furthermore, we will extend the agent-based ECS problems for appliances to the entities with renewable energy sources [
46,
47], considering each agent and its appliances as a microgrid (which both consumes and generates electricity). Two categories of research problems will be investigated by integrating the scheduling and microgrids. First, one or multiple agents can schedule not only consumption, but also generation for different applications, such as load leveling [
21], power flow analysis and optimization [
48,
49]. Second, the faults in power flow and the distribution network [
50,
51,
52,
53] may lead to specific constraints in the scheduling problem. After incorporating such constraints in the ECS problems, we can propose the fault-tolerant scheduling problems for both energy consumption and generation in the context of microgrids.