Renewable Energy 87 (2016) 936e945
Contents lists available at ScienceDirect
Renewable Energy journal homepage: www.elsevier.com/locate/renene
Effective scheduling of residential energy storage systems under dynamic pricing Yourim Yoon a, Yong-Hyuk Kim b, * a b
Department of Computer Engineering, Gachon University, Seongnam-si, Gyeonggi-do 461-701, Republic of Korea Department of Computer Science and Engineering, Kwangwoon University, Nowon-gu, Seoul 139-701, Republic of Korea
a r t i c l e i n f o
a b s t r a c t
Article history: Received 1 April 2015 Received in revised form 29 August 2015 Accepted 30 September 2015 Available online 26 October 2015
We address the control of a residential energy storage system under dynamic pricing, for scenarios with and without local electricity generation, by combining a dynamic programming approach with real-time correction of predictions of load and generated power. We performed simulations using energy generation and consumption data for 64 residences in the Pecan Street Project, and a range of seasonal dynamic price tables. Our algorithm was more effective than other approaches in reducing electricity costs under most tariffs, especially when the amount of electricity generated locally is small. © 2015 Elsevier Ltd. All rights reserved.
Keywords: Energy storage system Scheduling algorithm Smart grid
1. Introduction In the operation of residential or industrial electric grids, the amount of electricity entering the grid as a result of generation must balance the amount leaving the grid, which is the load. However, new technologies such as utility-scale wind power, rooftop solar photovoltaics (PV), and electric vehicles, make it more difficult to predict power generation and requirements. Technologies based on energy storage systems (ESSs) make it easier to balance power generated locally and supplied by the grid, by acting as a buffer against a varying generation and load. ESSs can help commercial and industrial understandings to improve the stability of their energy supplies and reduce costs. Soon, ESSs are likely to become important not only to commercial and industrial end users but also to residential customers, particularly as dynamic pricing policies are introduced by utilities. Economists have long argued for the replacement of fixed retail prices for energy with prices that change during the day. Such dynamic pricing would reflect wholesale prices, and this is expected to reduce peaks in demand, and hence the volatility of the wholesale price, as well as the average level [1]. The recent introduction of smart-grid technologies such as smart meters makes the widespread introduction of dynamic pricing a feasible, and indeed
* Corresponding author. E-mail addresses:
[email protected] (Y. Yoon), yhdfl
[email protected] (Y.-H. Kim). http://dx.doi.org/10.1016/j.renene.2015.09.072 0960-1481/© 2015 Elsevier Ltd. All rights reserved.
imminent, scenario. A form of dynamic pricing that is being widely adopted is timeof-use (TOU) pricing in which daily variations in the price of electricity are set for a specific period in advance. Typically, TOU tariffs do not change more than twice a year. A representative TOU tariff will have two or three price levels (e.g., ‘off-peak’, ‘mid-peak’, and ‘on-peak’), which apply at different times of day. Because consumers are informed of prices in advance, they can reduce their overall expenditure on energy by shifting their usage to a lowercost period, by storing energy during low-price periods and using that stored energy when the price is high. Residential TOU has been adopted in many states in the US and, although only industrial TOU is currently available in Korea, it will most likely be extended to residential supplies. Extensive research on scheduling the charging and discharging of an ESS (which is typically based on one or more batteries and an inverter) to maximize cost savings under TOU pricing has been undertaken [2e5], particularly on residential ESS [3,6,7], but also from the utility operator's point of view [8]. Researchers have addressed the ESS charge/discharge scheduling problem using various optimization methods, including dynamic programming [3,8e12], linear programming [13], nonlinear programming [2,7,14], mixed integer linear programming [15], stochastic optimization [16,17], particle swarm optimization [4], and genetic algorithm [18]. In this paper, we define the residential ESS control problem with dynamic pricing. We then address the problem of controlling an ESS with and without the availability of renewable energy sources
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
such as wind and solar power, whereas previous studies only investigated one of these scenarios. We use a dynamic programming approach that considers prediction of generation and load over 24 h. Although dynamic programming was used in other studies [3,8e12], those studies did not consider prediction of generation and load; indeed, most previous research has assumed a predetermined daily pattern of generation and load. We maintain that this is clearly unsatisfactory, because domestic power generation and load is most unlikely to follow the same pattern every day, and predicted values provide much greater reality. However, generation and load predictions will have errors, and a real-time correction algorithm is required. In this paper, we will introduce a method of controlling a residential ESS which combines dynamic programming with predictions which are taken subject to real-time correction. The remainder of this paper is structured as follows: In Sections 2.1 and 2.2, we describe the problem of ESS scheduling under dynamic pricing, without and with generation respectively. In Section 3.1, we describe how dynamic programming can be applied to solve these ESS scheduling problems efficiently, and in Section 3.2, we show how the backward tracing method can be customized to specific requirements. In Section 4, we describe the real-time correction of the errors incurred in predicting load and generation in ESS operation. In Section 5, we assess the performance of the proposed algorithms through simulations using data from the Pecan Street Project [19] in the US. In Section 5.1, we describe the test environment, and in Sections 5.2 and 5.3, we analyze the simulation results. Finally, we draw conclusions in Section 6. 2. ESS scheduling scenarios
If the consumer's electricity meter simply runs backwards when power is sent back to the grid, the sales price matches the purchase price. That is, pi ¼ qi for i ¼ 1,2,…,T, where pi is the purchase price over the ith time interval and qi is the sales price over the same period. In this case, the problem is defined as follows:
Minimize
T X pi ðxi þ li gi Þ
(4)
i¼1
subject to
0
k X
fxi C;
k ¼ 1; 2; …; T
Pd fxi Pc ;
i ¼ 1; 2; …; T;
and
(5)
i¼1
(6)
where gi is the amount of energy generated over the ith time interval and other notations and expressions are the same as those in previous subsection. This problem can be addressed by linear programming, like the scenario without local generation discussed in the previous subsection. Alternatively, different prices can be set for electricity flowing to and from the grid, by installing a bi-directional meter. If the sales price is lower than the purchase price, residential customers can be expected to consume most of the energy that they generate themselves, and this has environmental benefits. Conversely, a sales price which is higher than the purchase price promotes stability of supply at on-peak times. The problem of minimizing the consumer's bill when the purchase and sales tariffs are different can be formulated as follows:
Minimize
2.1. Consumption alone
937
T X ðIðxi þ li gi 0Þ pi
(7)
i¼1
For a household that only consumes energy from the grid, and has no generation facilities, the problem minimizing its electricity bill by using an ESS can be formulated as follows:
Minimize
T X
pi ðxi þ li Þ
(1)
þIðxi þ li gi < 0Þ qi Þðxi þ li gi Þ
subject to
0
fxi C;
k ¼ 1; 2; …; T;
Pd fxi Pc ;
i ¼ 1; 2; …; T;
subject to
k ¼ 1; 2; …; T
and
(2)
i¼1
Pd fxi Pc ;
i ¼ 1; 2; …; T;
(3)
where pi is the price of electricity over the ith time interval, xi is the amount by which the ESS is charged (positive) or discharged (negative) during the ith time interval, li is the amount of energy used during the ith time interval, C is the capacity of the battery, T is the number of time intervals, Pc is the maximum charge rate, Pd is the maximum discharge rate, and f is the battery efficiency. The problem can be addressed by linear programming techniques such as the simplex method and dynamic programming. The optimal solution depends only on the values of pi. 2.2. ESS with auxiliary generation
and
(9)
i¼1
i¼1 k X fxi C; 0
k X
(8)
(10)
where I(u) is the indicator function, i.e., the value of I(u) is 1 if u is true, otherwise, it is 0. This object function is not linear, and methods such as dynamic programming or nonlinear programming must be used to solve this problem. We now consider the scenario in which energy cannot be sold to the grid by consumers. This policy is becoming increasingly common in Europe, with the aim of promoting consumption of locally generated energy in the residence where it was generated, and it is likely to be adopted elsewhere. In this case, when the battery is fully charged, surplus electricity simply flows into the grid without any monetary compensation. In this case, the lowest bill can be found as follows:
Minimize
T X Iðxi þ li gi > 0Þ pi ðxi þ li gi Þ
(11)
i¼1
Local generation equipment, such as a rooftop array of solar cells, or ESS, can allow electrical energy to be sold to the grid, as well as purchased. Therefore, in this scenario, specifying the ESS scheduling problem requires prices for buying and selling electricity. In this subsection, variations on this scenario, and the problems that they pose, are discussed.
subject to
0
k X
fxi C;
k ¼ 1; 2; …; T;
and
(12)
i¼1
Pd fxi Pc ;
i ¼ 1; 2; …; T:
(13)
938
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
The current study focuses on this scenario, because we believe it is likely to be adopted more widely in future. 3. Optimal scheduling using dynamic programming 3.1. Dynamic programming for ESS scheduling Groundbreaking work on dynamic programming (DP) was performed at Bell Labs in the 1950s; a good fundamental reference is Bellman and Dreyfus [20,21]. We follow a method similar to that of the first study [9] in which dynamic programming was applied to the scheduling of battery charging and discharging. However, our problem has a different definition. Maly and Kwan's research [9] dealt with the problem of peak shaving, rather than TOU and, in common with other recent research, their algorithm did not use load and generation predictions. Our method addresses TOU and real-time pricing (RTP), with and without local generation. We investigate the performance of an algorithm which is given incorrect predicted values and in the next section we describe how to correct its performance. We now describe our dynamic programming approach using predicted values. The basic method of applying DP to this problem is shown in Fig. 1. In this example there are 3 states (0 kWh, 1 kWh, and 2 kWh) and 4 time intervals; the charging and discharging power is 1 kW; and the battery is initially empty. The path from each point at time k to each point at time k þ 1 is calculated for each possible pair, consisting of the state at time k and the state at time k þ 1. In this case, the residual energy in the battery delineates the states. The size of the gap between states determines the precision of the solution. The path associated with the lowest cost is stored. The lowest cost D[t,w] at time-point t(1) and state w can be calculated as follows:
D½t; w ¼
min
wPc xwþPd
ðD½t 1; x þ costðt; x; wÞÞ;
(14)
where cost(t,x,w) is the cost to move from state x at time-point t1 to state w at time-point t. When all paths have been determined, the optimal path is traced backwards from the final time-point, and this path is the charging schedule which yields the lowest electricity bill. The pseudo-code for our scheduling algorithm with 24 time intervals is shown in Fig. 2. If all values of gi are set to 0, the same algorithm can deal with the case without local generation. If the load and generation values are known accurately in advance, then
States 0 kWh
1 kWh
2 kWh
0
1
Time points
2
3
4 Fig. 1. Schematic application of dynamic programming to electricity cost optimization.
dynamic programming will yield a near-optimal schedule. In reality, however, it is impossible to predict true values with complete accuracy. If an ESS is operated under a schedule obtained by dynamic programming using incorrect predicted values, then the cost of electricity is likely to be higher than expected. This motivates the design of a correction algorithm that can minimize the effect of incorrect predictions. 3.2. Backward tracing The dynamic programming approach proposed in Section 3.1 yields the schedule that minimizes the object function. Thus, two schedules with the same object function value are interchangeable. For example, suppose that two schedules (3,0,0,…) and (3,3,3,…) have the same object function value. The second schedule has an extra charge/discharge cycle, and therefore the first schedule is better in terms of battery life; but the algorithm may return the latter as the optimal schedule. We therefore introduce a backward tracing method to prevent indiscriminate charging and discharging of the battery. Although battery life does not matter in simulations that do not consider the battery life, it should be considered when the algorithm is actually applied to ESS [22,23]. Using unmodified backward tracing, the states are checked sequentially, and therefore any states that yields the minimum cost may be chosen. However, the best state is the one that is least different from that at the previous timepoint, where the difference is the amount of energy entering or leaving the battery between states. Tracing all the paths that yields the minimum cost for global minimization of charging and discharging may be achievable, but it is a combinatorial problem of exponential complexity. Our algorithm simply makes the best choice at each stage of the backward tracing process. Pseudo-code for the original and improved backward tracing methods is shown in Figs. 3 and 4 respectively. Here, ε is the gap between states. In Section 5.4, we will provide some experimental results showing that the proposed backward tracing method actually reduces the number of charge/discharge mode changes and hence lengthens the battery life. 4. Real-time charge/discharge decision based on DP Scheduling by dynamic programming is performed on the basis of predicted values of the amount of electricity generated, and the load, and errors in these predictions are likely to lead to inefficiency. Therefore the predetermined schedule obtained by DP can be used only as a guideline because DP finds an optimal schedule with predicted values. In practice, real-time decision should be made considering the current electricity price, load, and generation on the basis of the predetermined schedule by DP. And errors can be reduced by a correction algorithm when real-time decision is made. Basically, we designed the real-time decision algorithm to follow the predetermined schedule by DP. That is, if the target state, which represents the residual energy of the battery, obtained from DP is greater than the current state, the decision is “charge”, and otherwise, it is “discharge”. In scenario without local generation, this simple strategy does not cause a serious problem. However, in scenario with local generation, if this simple strategy is applied without modification, there can be some inefficiencies because of errors in predictions of the load and the amount of electricity generated. First, if the current amount of electricity locally generated is greater than load, the decision should be “charge” regardless of the predetermined schedule by DP. And, when the electricity price is high, the predetermined charging schedule can become a problem.
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
939
Fig. 2. Dynamic programming for ESS scheduling.
Fig. 3. Original backward tracing method.
Otherwise, the decision is “discharge” ordinarily. High price is defined as the price in the top quarter and low price is defined as the one in the bottom quarter. A rough flowchart for this decision is shown in Fig. 5. Actual implementation is more complicated giving the rate of charging/discharging. 5. Simulation results 5.1. Experimental environment
Fig. 4. New backward tracing method.
If it specifies a substantial amount of charging, because a large amount of generation was predicted, but this does not materialize, expensive power will be bought from the grid unnecessarily. To avoid this, when the electricity price is high, the decision should be “discharge” except the above case that the amount of generation is greater than load. Whereas when the price is low, charging the battery is likely to be beneficial because the price of electricity is cheap. So our method just follows the predetermined schedule by DP when the price is low. However, when the price is not so low, we cannot obviously judge whether or not charging the battery will be a loss. So in the middle range of price, if the target state is greater than the current state, the decision is set to be just “neutral” not “charge”, that is, the battery is neither charged nor discharged.
To assess our algorithm, we simulated an ESS installation with a battery capacity of 3.0 kWh and maximum charge and discharge rates of 1.5 kW. A battery efficiency of 90% was built into the simulation. Most previous studies have considered only a few typical generation/load profiles and pricing tables [2e5]. However, we conducted extensive experiments on large-scale data. Electricity usage and local generation were modeled by one month of hourly data from 64 representative residences in the Pecan Street smart grid demonstration project [19]. Also, we considered six types of 3-tier TOU and one type of day-ahead RTP. Each TOU had three tiers: onpeak ($0.25 per kWh), off-peak ($0.05 per kWh), and mid-peak ($0.15 per kWh). The on-peak, off-peak, and mid-peak periods were chosen based on the summer TOU of the US energy company, PG&E, the summer and winter TOUs of the Canadian energy company, Hydro Ottawa (HO), the summer and winter TOUs of Korea Electric Power Corporation (KEPCO), and the summer TOU of Taiwan Power Company (TPC). However the prices associated with the tiers were standardized to $0.25, $0.15, and $0.05. The summer TOUs of PG&E and TPC were not included because they were two-tiered. Only a simple algorithm is required to
940
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
Start
Get target state from DP
generation > load
Yes
Charge
No
High prices
Low prices
Discharge
target state > current state
Yes
Charge
No
Discharge
Other prices
target state > current state
Yes
Neutral
No
Discharge Fig. 5. Modified algorithm with local generation.
perform effectively for a two-tier TOU. Therefore, it was not considered. The RTP data came from the US utility company, Ameren Illinois. To match the prices of the TOUs, the data was normalized so that the highest and lowest prices were set at $0.25 and $0.05, over a month of data. Table 1 presents the TOUs used in the simulation, and Fig. 6 shows a typical pattern of RTP of Ameren Illinois over a single day. All the algorithms in our experiments including the proposed dynamic programming are implemented with Cþþ programming language.
Furthermore, since DP-LB is close to DP-UB, it appears that a usable result can be obtained with a simple prediction technique. As expected, DP-P could not show stable results. For two cases (HOwinter and KEPCO-winter), it showed better results than PB, but for other prices, it did not. Furthermore, the results from DP-P were always inferior to those from DP-LB. This result shows that dynamic programming itself cannot provide practical schedules so a realtime correction algorithm considering the current situation should be combined in practice. 5.3. Results with local generation
5.2. Results without local generation The simulation results for the scenario without local generation are given in Table 2. By running our DP algorithm on the actual load and generation data, we obtained perfect results (DP-UB), which can be compared with the results of prediction and correction (DPLB). Predictions of load and generation were made by a simple time-series method based on the previous 7 days. The predicted load had an average normalized RMSE (root-mean-square error) [24] of 0.142. These results from DP-LB could be improved by using better predicted values, which can be obtained from a more sophisticated prediction algorithm, e.g., based on machine learning. So, it can be considered to be a lower bound on the performance of the proposed algorithm. The results from our algorithm are compared with those from a simple price-based algorithm (PB), which charges the battery when the price is lowest and discharges it when the price is highest. The results from a DP algorithm without any correction (DP-P) are also provided for comparison. DP-P uses predicted values and the obtained schedule is not modified. On the other hand, DP-LB applies the real-time correction algorithm proposed in Section 4 after obtaining a schedule using dynamic programming. Table 2 uses two performance measures: a(%) is the rate of costsaving, (ax)/x, where a is electric fee without ESS and x is the simulated fee by the target method, and b($) is the average amount of cost-saving itself, (ax) in dollars. DP-LB always outperforms PB.
The results from our algorithm was compared with those from a basic priced-based algorithm (PB*) and a simple net-power-based algorithm (NPB) that stores and then discharges any excess electricity that is generated locally, without considering the price. The results from a DP algorithm without any correction (DP-P) are also provided for comparison. PB* is similar to the PB algorithm described in the previous subsection, except that PB* charges the battery when the amount of power generated locally exceeds the load, even at the highest electricity price (whereas PB discharges the battery at the highest energy price). NPB is a simple algorithm that charges the battery at a rate equal to the difference between the amount of power generated locally and the load, when the former is greater than the latter, and discharges the battery at the same rate when the load exceeds the amount of power generated locally, without considering the price. Table 3 presents the simulation results. In this scenario with local generation, DP-LB performs better than PB*. However, DP-LB predicts generation and load, and uses these predicted values for scheduling. The errors of the generation and load are 0.128 and 0.142 respectively, expressed as average normalized RMSE. As a result, the performance of DP-LB is well below DP-UB, the ideal upper bound. But PB* performs worse. When local generation is available, it is more important to store the locally generated electricity and use it when it is most needed, rather than to schedule charging and discharging on the basis of price alone. DP-LB is the
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
941
Table 1 The TOU prices used in our simulations.
16
14
RTP (cents/kWh)
12
10
8
6
4
2
0
0
2
4
6
8
10
12
14
16
18
20
22
24
Hour
Fig. 6. Typical pattern of RTP.
best, except for the PG&E-summer price. These results show that, in most cases, the proposed algorithm would reduce residential electricity bills. The performance of DP-P was worse than that of DP-LB, as it was in the scenario without local generation. DP-P even performed worse than NPB. A real-time correction algorithm considering the current situation is essential in practice, whether there is a local generation or not. To determine how the performance of the algorithm varies with the amount of electricity generated, the 64 residences in the test were divided into two groups of 32, based on the average amount of electricity they generated locally. Simulations were then carried out on each group, with the results summarized in Tables 4 and 5. The
results from DP-P were not included because it is not practical and evidently worse than DP-LB. When little electricity is generated locally (Table 4), DP-LB always performs better than NPB and also than PB*, except in the HO-winter scenario. PB* provides better results than it did for all 64 households (Table 3), suggesting quite reasonably that a price-based strategy becomes more effective as less electricity is generated locally. Conversely, when there is a lot of local generation (Table 5), PB* performs poorly, while NPB and DPLB provide improved results. This suggest that balancing load and generation becomes more important than price when mere local electricity is available. Thus NPB performs quite well even though it ignores pricing. Nevertheless, DP-LB, which balances these factors clearly produces the best results for the great majority of scenarios. As the amount of electricity generated locally decreases, we would expect DP-LB to perform better than NPB, and it does, as shown in Fig. 7. We performed simulations assuming virtual scenarios in which the amount of electricity generated is n times the actual amount. Fig. 7 shows the average cost-savings (b) of DP-LB and NPB when n is 0.2e1.8 for the PG&E-summer TOU which is the scenario for which NPB outperformed DP-LB. This suggests that DP-LB is more effective when less electricity is generated locally compared to NPB. DP did better, compared with NPB, when there was less surplus energy. To investigate this observation, we performed another test, in which we computed the difference between the amount of electricity generated and used in a month for each residence. The performance of DP relative to NPB can be expected as bDPLBbNPB/ bNPB, where bDPLB is the result incurred by DP-LB calculated using the measure b and bNPB is that incurred by NPB. Table 6 displays the correlation between surplus energy and relative performance for each electricity rate. We obtained strong negative correlations, ranging between 0.5 and 0.8, across all rates. This supports our
942
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
Table 2 Results from scenarios without local generation. Price
Measure
a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($)
PG&E-summer HO-summer HO-winter KEPCO-summer KEPCO-winter TPC-summer AI-RTP
PB
DP-P
DP-LB
DP-UB
Ave. (SD)
Ave. (SD)
Ave. (SD)
Ave. (SD)
12.16 15.77 12.99 15.50 13.59 15.82 11.17 15.20 11.36 15.99 11.31 15.49 2.45 2.75
9.69 12.75 10.30 12.34 14.15 17.35 9.82 13.68 12.18 18.44 9.81 13.78 2.97 2.72
12.37 15.93 13.33 15.73 16.44 20.02 12.80 17.43 14.83 21.84 12.94 17.71 5.42 5.55
12.54 16.04 13.64 15.92 17.93 21.30 13.18 17.79 15.80 22.95 13.61 18.56 5.88 6.04
(5.02) (1.08) (4.94) (1.50) (5.37) (1.06) (3.92) (1.76) (4.81) (0.67) (4.26) (1.52) (0.53) (0.66)
(3.89) (2.04) (4.10) (2.01) (3.91) (3.59) (3.27) (3.08) (3.26) (4.42) (3.46) (2.95) (1.20) (1.15)
(5.40) (0.77) (5.45) (1.14) (4.76) (3.14) (4.47) (1.88) (4.63) (2.95) (4.84) (1.58) (2.30) (0.24)
(5.72) (0.55) (5.95) (0.77) (6.20) (2.20) (4.94) (1.60) (5.48) (2.44) (5.26) (1.49) (2.47) (0.26)
PB is a price-based algorithm. DP-P is dynamic programming using predicted values without any correction. DP-LB is the lower bound on the proposed algorithm (dynamic programming using predicted values followed by real-time correction). DP-UB is the theoretical upper bound on the proposed algorithm (dynamic programming with actual values). Results in bold faces indicate that they are better results. Table 3 Results from scenarios with local generation. Price
PG&E-summer HO-summer HO-winter KEPCO-summer KEPCO-winter TPC-summer AI-RTP
Measure
a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($)
NPB
PB*
DP-P
DP-LB
DP-UB
Ave. (SD)
Ave. (SD)
Ave. (SD)
Ave. (SD)
Ave. (SD)
28.36 15.01 22.07 9.12 23.49 11.48 21.90 12.48 23.64 16.81 22.25 12.30 18.57 9.59
14.78 9.22 6.14 3.33 28.39 16.08 3.98 3.09 20.12 15.45 5.04 3.83 2.29 1.39
15.85 8.64 6.14 3.29 13.83 9.37 10.09 5.50 17.04 12.97 10.81 6.29 12.57 5.90
27.86 15.01 24.38 10.91 30.80 16.54 22.13 12.89 25.35 18.45 24.95 14.59 19.83 10.56
31.26 16.91 31.17 13.62 37.83 19.96 25.04 14.83 31.23 23.35 29.16 17.10 22.90 12.31
(11.26) (3.06) (8.44) (2.60) (9.00) (3.36) (10.56) (1.46) (11.21) (2.30) (10.55) (1.58) (9.59) (1.05)
(9.22) (4.15) (3.36) (2.67) (5.53) (7.26) (2.46) (2.54) (6.23) (2.98) (2.95) (3.11) (0.56) (0.51)
(6.44) (2.83) (4.80) (2.67) (8.06) (7.12) (6.18) (1.36) (6.16) (3.06) (4.88) (1.72) (5.36) (1.21)
(10.07) (3.08) (6.11) (4.01) (6.60) (6.27) (9.68) (1.41) (10.73) (1.99) (9.09) (2.62) (8.81) (1.09)
(11.00) (3.27) (8.32) (4.25) (8.76) (6.71) (10.21) (2.06) (11.52) (3.25) (10.56) (3.19) (9.70) (1.19)
NPB is a simple net-power-based algorithm, which charges the battery when the generated power exceeds the load and discharges otherwise. PB* is a price-based algorithm. DP-P is dynamic programming using predicted values without any correction. DP-LB is the lower bound on the proposed algorithm (dynamic programming with predicted values). DP-UB is the theoretical upper bound on the proposed algorithm (dynamic programming with actual values). Results in bold faces indicate that they are better results.
Table 4 Results for 32 residences that generate a small amount of electricity. Price
PG&E-summer HO-summer HO-winter KEPCO-summer KEPCO-winter TPC-summer AI-RTP
Measure
a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($)
NPB
PB*
DP-LB
DP-UB
Ave. (SD)
Ave. (SD)
Ave. (SD)
Ave. (SD)
19.55 16.18 16.03 10.40 16.95 13.00 13.89 12.50 14.99 16.63 14.06 12.49 11.39 9.28
14.20 12.14 7.25 5.12 27.74 21.96 4.92 4.76 15.70 17.59 6.24 5.96 2.09 1.76
20.02 16.63 20.97 13.90 27.04 21.41 14.91 13.51 17.23 19.22 18.23 16.43 13.30 10.90
23.07 19.17 25.79 16.93 32.28 25.32 17.96 16.29 22.97 25.73 21.70 19.53 15.76 12.95
(6.20) (2.91) (5.58) (2.55) (6.27) (3.16) (4.29) (1.76) (5.02) (2.61) (4.39) (1.80) (9.28) (1.26)
(3.69) (2.74) (2.81) (2.52) (6.58) (4.42) (2.12) (2.40) (4.45) (1.53) (2.59) (2.85) (0.56) (0.37)
(5.76) (2.28) (5.33) (2.98) (6.34) (4.37) (4.02) (1.32) (5.01) (1.45) (4.60) (1.94) (4.03) (1.18)
NPB is a simple net-power-based algorithm, which charges the battery when the generated power exceeds the load and discharges otherwise. PB* is a price-based algorithm. DP-LB is the lower bound on the proposed algorithm (dynamic programming with predicted values). DP-UB is the theoretical upper bound on the proposed algorithm (dynamic programming with actual values). Results in bold faces indicate that they are better results.
(6.20) (1.82) (6.43) (2.71) (7.70) (3.88) (4.77) (1.57) (6.30) (1.60) (5.52) (2.08) (4.53) (0.98)
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
943
Table 5 Results for 32 residences that generate a large amount of electricity. Price
Measure
PG&E-summer HO-summer HO-winter KEPCO-summer KEPCO-winter TPC-summer AI-RTP
a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($) a(%) b($)
NPB
PB*
DP-LB
DP-UB
Ave. (SD)
Ave. (SD)
Ave. (SD)
Ave. (SD)
37.16 13.85 28.11 7.85 30.02 9.96 29.91 12.45 32.28 17.00 30.43 12.10 25.74 9.90
15.36 6.29 5.02 1.55 29.04 10.20 3.04 1.41 24.54 13.32 3.84 1.70 2.48 1.02
35.69 13.40 27.80 7.91 34.57 11.67 29.35 12.27 33.46 17.69 31.68 12.76 26.36 10.22
39.44 14.66 36.55 10.30 43.37 14.59 32.12 13.38 39.49 20.96 36.62 14.67 30.04 11.67
(7.68) (2.79) (6.20) (1.98) (6.09) (2.87) (8.71) (1.11) (8.72) (1.96) (8.27) (1.32) (7.82) (0.67)
(4.49) (3.14) (3.53) (1.25) (4.24) (4.02) (2.44) (1.24) (4.32) (2.51) (2.83) (1.46) (0.50) (0.32)
(6.78) (2.95) (4.82) (2.29) (4.36) (3.42) (8.15) (1.22) (8.55) (2.17) (7.31) (1.81) (7.32) (0.89)
(8.32) (2.81) (6.29) (2.58) (5.78) (4.12) (9.25) (1.32) (9.43) (2.66) (9.03) (2.04) (8.08) (1.04)
NPB is a simple net-power-based algorithm, which charges the battery when the generated power exceeds the load and discharges otherwise. PB* is a price-based algorithm. DP-LB is the lower bound on the proposed algorithm (dynamic programming with predicted values). DP-UB is the theoretical upper bound on the proposed algorithm (dynamic programming with actual values). Results in bold faces indicate that they are better results.
contention that, especially for residences which generate very little surplus electricity, the proposed DP is more superior to NPB, which does not consider the electricity price and patterns of the local generation and load.
Table 6 Correlation between improvement ratio of DP-LB and surplus energy.
5.4. The effect of the proposed backward tracing In this subsection, we investigated the relationship between the number of charge/discharge mode changes of battery and the proposed backward tracing in dynamic programming. Here, the number of charge/discharge mode changes means the sum of the number of changes from charging to discharging and the number of changes from discharging to charging. When ESSs are actually operated, battery life depends on this number of charge/discharge mode changes. If the changes of the charge/discharge mode are frequently made, the battery life may be shorten [22,23]. In Section 3.2, a new backward tracing method to decrease the number of charge/discharge mode changes was introduced. Table 7 presents the average number of charge/discharge mode changes by the original backward tracing and the new one. The simulation was performed on the scenario with local generation using the same
18
NPB DP-LB
16
Price
Correlation
PG&E-summer HO-summer HO-winter KEPCO-summer KEPCO-winter TPC-summer AI-RTP
0.537 0.786 0.790 0.540 0.620 0.790 0.792
algorithm as DP-LB, which uses dynamic programing and real-time correction. The choice of backward tracing method does not affect on the cost, but it does on the number of charge/discharge mode changes. In the table, it is shown that the number by the proposed backward tracing method is less than that by the original one. We can expect that the new backward tracing method can reduce the number of charge/discharge mode changes and hence lengthen the battery life when we apply dynamic programming to the scheduling of ESSs. In Fig. 8, simulated battery schedules with both backward tracing methods are shown. The schedule with the original method changed charge/discharge mode 4 times, while that with the new method changed only 2 times. The new backward tracing method prevents needless change of charge/discharge mode as in this example.
14
Cost-savings ($)
12
Table 7 Results on the number of charge/discharge mode changes.
10
Price
8
Original
New
Ave.
(SD)
Ave.
(SD)
79.70 130.23 133.63 87.40 85.77 128.83 131.50
(12.17) (13.07) (12.23) (18.81) (16.93) (13.05) (9.11)
75.63 129.00 126.17 86.00 82.00 127.67 128.57
(12.60) (13.81) (10.29) (19.15) (16.82) (12.94) (8.39)
6 4 2 0
0
0.2
0.8 1.2 0.4 0.6 1 1.4 1.6 Ratio of the amount of generation to the original amount (n)
1.8
2
Fig. 7. How the performance of the proposed method varies with the amount of electricity generated locally.
PG&E-summer HO-summer HO-winter KEPCO-summer KEPCO-winter TPC-summer AI-RTP
‘Original’ is dynamic programming with the original backward tracing method. ‘New’ is dynamic programming with the proposed backward tracing method. Results in bold faces indicate that they are better results.
944
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
Fig. 8. An example of simulated battery schedules.
6. Conclusions We have defined the problem of optimal control of a residential ESS under dynamic pricing, and proposed algorithms for scenarios without and with local generation, based on dynamic programming. Whereas previous studies have not considered errors in predicting the load and the amount of electricity generated locally, our algorithm corrects these errors in real time, which increases the economic benefits obtainable from an ESS. We performed simulations using data for the 64 residences in the experimental Pecan Street Project, together with a large of dynamic pricing tables. Our algorithm outperformed other approaches to an extent that we showed to be statistically meaningful. The prediction algorithm that we used in this study was quite simple; we would expect a more sophisticated prediction algorithm, e.g., based on machine learning, to improve the performance of the algorithm significantly. The capital cost of an ESS, and the lifetime of its battery, also need to be factored in for designing a control algorithm, as well as informing economically effective strategies for purchase. For example, we can solve another problem of determining the appropriate size of a battery considering the capital cost of an ESS. In this case, a smaller local capacity of the battery might be required if a more precise algorithm were used. So, with an efficient algorithm such as the proposed one, the domestic consumer can expect to reduce the initial cost when installing an ESS in a residence for the first time. Because the domestic consumer might require less capacity of the battery than would be needed without an efficient scheduling algorithm, and this leads to installation cost saving. In this study we only simulated the situation in which the sales price is zero: a scenario with a positive sales price also merits attention. The progressive energy tariffs operating in many countries, and their combination with TOU offers a further set of challenges. And other pricing policies may well emerge in the future.
Nomenclature
Abbreviations ESS Energy storage system TOU Time-of-use DP Dynamic programming RTP Real-time pricing PB Price-based algorithm without local generation DP-LB The lower bound on the proposed algorithm DP-UB The theoretical upper bound on the proposed algorithm DP-P Dynamic programming using predicted values without any correction RMSE Root-mean square error PB* Price-based algorithm with local generation NPB Net-power-based algorithm Parameters C The capacity of the battery T The number of time intervals Pc The maximum charge rate Pd The maximum discharge rate f Battery efficiency Variables xi The amount by which the ESS is charged or discharged during the ith time interval pi The purchase price of electricity over the ith time interval qi The sales price of electricity over the ith time interval li The amount of energy used during the ith time interval gi The amount of energy generated during the ith time interval D[t,w] The lowest cost at time-point t(1) and state w in dynamic programming Measures
Acknowledgment This research was supported by the Gachon University research fund of 2015 (GCU-2015-0030). The present research has been conducted by the Research Grant of Kwangwoon University in 2016. The authors would like to thank Dr. Ki Bum Kim for his helpful comments, which improved the quality of this paper.
a(%) b($)
The rate of cost-saving The average amount of cost-saving
References [1] S. Borenstein, The long-run efficiency of real-time electricity pricing, Energy J. 26 (3) (2005) 93e116. [2] W. Hu, Z. Chen, B. Bak-Jensen, Optimal operation strategy of battery energy
Y. Yoon, Y.-H. Kim / Renewable Energy 87 (2016) 936e945
[3]
[4]
[5] [6]
[7]
[8]
[9]
[10]
[11]
[12]
storage system to real-time electricity price in Denmark, in: Proceedings of the IEEE Power and Energy Society General Meeting, July 2010, pp. 1e7. T. Huang, D. Liu, Residential energy system control and management using adaptive dynamic programming, in: Proceedings of the International Joint Conference on Neural Networks, 2011, pp. 119e124. T.-Y. Lee, Operating schedule of battery energy storage system in a time-ofuse rate industrial user with wind turbine generators: a multipass iteration particle swarm optimization approach, IEEE Trans. Energy Convers. 22 (3) (2007) 774e782. , T. Salonidis, Optimal control of endP.M. van de Ven, N. Hegde, L. Massoulie user energy storage, IEEE Trans. Smart Grid 4 (2) (2013) 789e797. J. Yoo, B. Park, K. An, E.A. Al-Ammar, Y. Khan, K. Hur, J.H. Kim, Look-ahead energy management of a grid-connected residential PV system with energy storage under time-based rate programs, Energies 5 (2012) 1116e1134. Y. Wang, X. Lin, M. Pedram, Adaptive control for energy storage systems in households with photovoltaic modules, IEEE Trans. Smart Grid 5 (2) (2014) 992e1001. I. Koutsopoulos, V. Hatzi, L. Tassiulas, Optimal energy storage control policies for the smart power grid, in: Proceedings of the IEEE International Conference on Smart Grid Communications (SmartGridComm), Oct. 2011, pp. 475e480. D.K. Maly, K.S. Kwan, Optimal battery energy storage system (BESS) charge scheduling with dynamic programming, IEE Proc. Sci. Meas. Technol. 142 (6) (1995) 453e458. € cker, Optimal energy management for a hybrid C. Romaus, K. Gathmann, J. Bo energy storage system for electric vehicles based on stochastic dynamic programming, in: Proceedings of the Vehicle Power and Propulsion Conference, 2010, pp. 1e6. T. Erseghe, A. Zanella, C.G. Codemo, S. Liu, R.A. Dougal, Optimal and compact control policies for energy storage units with single and multiple batteries, IEEE Trans. Smart Grid 5 (3) (2014) 1308e1317. Y. Wang, X. Lin, M. Pedram, S. Park, N. Chang, Optimal control of a grid-
[13]
[14]
[15]
[16]
[17]
[18] [19] [20] [21] [22] [23] [24]
945
connected hybrid electrical energy storage system for homes, in: Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE), IEEE, 2013, pp. 881e886. L.T. Youn, S. Cho, Optimal operation of energy storage using linear programming technique, in: In Proceedings of the World Congress on Engineering and Computer Science 1, 2009, pp. 480e485. P. Rupanagunta, M.L. Baughman, J.W. Jones, Scheduling of cool storage using non-linear programming techniques, IEEE Trans. Power Syst. 10 (3) (1995) 1279e1285. P. Malysz, S. Sirouspour, A. Emadi, An optimal energy storage control strategy for grid-connected microgrids, IEEE Trans. Smart Grid 5 (4) (2014) 1785e1796. Z. Chen, L. Wu, Y. Fu, Real-time price-based demand response management for residential appliances via stochastic optimization and robust optimization, IEEE Trans. Smart Grid 3 (4) (2012) 1822e1831. D. Lee, J. Kim, R. Baldick, Stochastic optimal control of the storage system to limit ramp rates of wind power output, IEEE Trans. Smart Grid 4 (4) (2013) 2256e2265. Y. Yoon, Y.-H. Kim, Charge scheduling of an energy storage system under time-of-use pricing and a demand charge, Sci. World J. 2014 (2014) 9, 937329. Pecan Street Inc. http://www.pecanstreet.org/. [Online]. R.E. Bellman, Dynamic Programming, Princeton University Press, 1957. R.E. Bellman, S.E. Dreyfus, Applied Dynamic Programming, Princeton University Press, 1962. L. Gao, S. Liu, R.A. Dougal, Dynamic lithium-ion battery model for system simulation, IEEE Trans. Compon. Packag. Technol. 25 (3) (2002) 495e505. S. Megahed, W. Ebner, Lithium-ion battery for electronic applications, J. Power Sources 54 (1) (1995) 155e162. R.J. Hyndman, A.B. Koehler, Another look at measures of forecast accuracy, Int. J. Forecast. 22 (4) (2006) 679e688.