Skip to main content

Advertisement

Log in

Optimization of battery management in telecommunications networks under energy market incentives

  • Original Research
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

Batteries are classically used as backup in case of power outages in telecommunications networks to keep the services always active. Recently, network operators use the batteries as a demand response lever, so as to reduce the energy costs and to generate revenues in the energy market. In this work, we study how the telecommunications operator can optimize the use of a battery over a given horizon to reduce energy costs and to perform load curtailments efficiently, as long as the safety usage rules are respected. First, we formulate the related optimization problem as a mixed integer program taking into account the telecommunication engineering and battery operation constraints, as well as the market rules. Second, we give two practical variants of the problem that can be solved to optimality in polynomial time thanks to a graph-oriented algorithm we propose. We also use this algorithm as a heuristic to solve efficiently the main problem. Finally, simulations based on real data from the French telecommunications operator Orange show the relevance of the model and of the graph-oriented algorithm: these prove to be computationally efficient in solving large scale instances, and significant savings and revenues can be generated through our optimized battery management policies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  • Aghaei, J., & Alizadeh, M.-I. (2013). Demand response in smart electricity grids equipped with renewable energy sources: A review. Renewable and Sustainable Energy Reviews, 18, 64–72.

    Article  Google Scholar 

  • Alaperä, I., Manner, P., Salmelin, J., & Antila, H. (2017). Usage of telecommunication base station batteries in demand response for frequency containment disturbance reserve: Motivation, background and pilot results. In: 2017 IEEE international telecommunications energy conference (INTELEC). IEEE, pp. 223–228.

  • Bovera, F., Delfanti, M., & Bellifemine, F. (2018). Economic opportunities for Demand Response by Data Centers within the new Italian Ancillary Service Market. In: 2018 IEEE international telecommunications energy conference (INTELEC). IEEE, pp. 1–8.

  • Brown, G., & Johnson, M. (1969). Public utility pricing and output under risk. In: The American Economic Review, 59(1), pp. 119–128.

  • Camarinha-Matos, L. M. (2016). Collaborative smart grids-a survey on trends. Renewable and Sustainable Energy Reviews, 65, 283–294.

    Article  Google Scholar 

  • Dang, T. (2009). The Energy Web: Concept and challenges to overcome to make large scale renewable and distributed energy resources a true reality. In: 2009 7th IEEE international conference on industrial informatics, pp. 384–389.

  • Daryanian, B., Bohn, R. E., & Tabors, R. D. (1989). Optimal demand-side response to electricity spot prices for storage-type customers. In: IEEE Transactions on Power Systems 4(3), pp. 897–903.

  • Dasgupta, S., Papadimitriou, C. H., & Vazirani, U. V. (2008). Algorithms, Chapter 4. McGraw-Hill Higher Education, New York.

  • data.gouv.fr (2021). Electricité: consommation, production, CO2 etéchanges. URL: www.data.gouv.fr/fr/datasets/electricite-consommation-production-co2-et-echanges/.

  • Edelsbrunner, H., Guibas, L. J., & Sharir, M. (1989). The upper envelope of piecewise linear functions: Algorithms and applications. In: Discrete and Computational Geometry 4(4), pp. 311–336. ISSN: 1432-0444. https://doi.org/10.1007/BF02187733.

  • Good, N., & Mancarella, P. (2017). Flexibility in multi-energy communities with electrical and thermal storage: A stochastic, robust approach for multi-service demand response. In: IEEE Transactions on Smart Grid, 10(1), pp. 503–513.

  • Hoke, A., Brissette, A., Chandler, S., Pratt, A., & Maksimović, D. (2013). Look-ahead economic dispatch of microgrids with energy storage, using linear programming. In: 2013 1st IEEE conference on technologies for sustainability (SusTech), pp. 154–161.

  • Huang, Z., Zhu, T., Gu, Y., Irwin, D., Mishra, A., & Shenoy, P. (2014). Minimizing electricity costs by sharing energy in sustainable microgrids. In: Proceedings of the 1st ACM conference on embedded systems for energy-efficient buildings, pp. 120–129.

  • Iria, J. P. B. (2019) Optimal Participation of an Aggregator of Prosumers in the Electricity Markets, PhD thesis. Faculty of Engineering of University of Porto.

  • Johnson, M. P., Bar-Noy, A., Liu, O., & Feng, Y. (2011). Energy peak shaving with local storage. In: Sustainable Computing: Informatics and Systems, 1(3), pp. 177– 188.

  • Kerdphol, T., Qudaih, Y., & Mitani, Y. (2016). Optimum battery energy storage system using PSO considering dynamic demand response for microgrids. International Journal of Electrical Power and Energy Systems, 83, 58–66.

    Article  Google Scholar 

  • Kiehne, H. A. & Krakowski, H. (1984). Batteries in power supplies for the new telecommunication services. In: INTELEC’84-international telecommunications energy conference, pp. 34–40.

  • Koutsopoulos, I., Hatzi, V., & Tassiulas, L. (2011). Optimal energy storage control policies for the smart power grid. In: 2011 IEEE International Conference on Smart Grid Communications (SmartGridComm), pp. 475–480.

  • Labidi, W. (2019). Smart grid-aware radio engineering in 5G mobile networks, PhD thesis. University of Paris-Saclay.

  • Lan, Z., Xueying, Z., Zhang, X.-P., Zheng, Y., Shuxin, G., & Longjun, T. (2018). Integrated resources planning in microgrids considering interruptible loads and shiftable loads. In: Journal of Modern Power Systems and Clean Energy, 6(4), pp. 802–815.

  • Longe, O. M. (2016). Optimisation algorithms for energy management in the smart grid, PhD thesis. University of Johannesburg.

  • Marquet, D., Foucault, O., & Aubree, M. (2006). Sollan-Dimsol R D Project, Solar and Renewable Energy in France Telecom. In: INTELEC 06—twenty-eighth international telecommunications energy conference, pp. 1–8.

  • Marzband, M., Alavi, H., Ghazimirsaeid, S. S., Uppal, H., & Fernando, T. (2017). Optimal energy management system based on stochastic approach for a home Microgrid with integrated responsive load demand and energy storage. Sustainable cities and society, 28, 256–264.

    Article  Google Scholar 

  • McCormick, G. P. (1976). Computability of global solutions to factorable nonconvex programs: Part I-Convex underestimating problems. In: Mathematical Programming, 10(1), pp. 147–175.

  • Mishra, A., Irwin, D., Shenoy, P/, Kurose, J., & Zhu, T. (2012). Smartcharge: Cutting the electricity bill in smart homes with energy storage. In: Proceedings of the 3rd international conference on future energy systems: Where energy, computing and communication meet, pp. 1–10.

  • Mkireb, C., Dembele, A., Jouglet, A., & Denoeux, T. (2018). “linear programming approach to optimize demand response for water systems under water demand uncertainties. In: 2018 International conference on smart grid and clean energy technologies (ICSGCE). IEEE, pp. 206–211.

  • Mkireb, C., Dembélé, A., Jouglet, A., & Denoeux, T. (2019). Robust optimization of demand response power bids for drinking water systems. Applied Energy, 238, 1036–1047.

    Article  ADS  Google Scholar 

  • Moreno, R., Moreira, R., & Strbac, G. (2015). A MILP model for optimising multi-service portfolios of distributed energy storage. Applied Energy, 137, 554–566.

    Article  ADS  Google Scholar 

  • Moslehi, K., & Kumar, R. (2010). Smart grid—a reliability perspective. In: 2010 Innovative smart grid technologies (ISGT), pp. 1–8.

  • RTE, Portal (2020). Participate in the NEBEF mechanism—RTE Services Portal. acessed: 2020-03-27. URL: https://www.services-rte.com/en/learn-more-about-our-services/participate-nebef-mechanism.

  • RTE, Portal (2021). Data repository. Acessed: 2020-03-25. URL: https://www.services-rte.com/en/download-data-published-by-rte.html.

  • Seward, W., Qadrdan, M., & Jenkins, N. (2022). Revenue stacking for behind the meter battery storage in energy and ancillary services markets. In: Electric Power Systems Research, 211, p. 108292. ISSN: 0378-7796. https://doi.org/10.1016/j.epsr.2022.108292.URL: https://www.sciencedirect.com/science/article/pii/S0378779622004825.

  • Silva, I. F., Bentz, C. , Bouhtou, M. , Chardy, M., & Kedad-Sidhoum, S. (2020). Battery energy management of a telecommunications company to participate in the curtailment market and reduce the total energy cost. In: 2020 IEEE 8th international conference on smart energy grid engineering (SEGE). IEEE, pp. 121–127.

  • Torriti, J. (2015). Peak energy demand and demand side response. England: Routledge.

    Book  Google Scholar 

  • Tuballa, M. L., & Abundo, M. L. (2016). A review of the development of Smart Grid technologies. Renewable and Sustainable Energy Reviews, 59, 710–725.

    Article  Google Scholar 

  • van Ackooij, W., Chorobura, A. P., Sagastizábal, C., & Zidani, H. (2020). Demand response versus storage flexibility in energy: multi-objective programming considerations. In: EnglandOptimization 0.0, pp. 1–28. https://doi.org/10.1080/02331934.2020.1732373.

  • Wang, D., Ge, S., Jia, H., Wang, C., Zhou, Y., Lu, N., & Kong, X. (2014). A demand response and battery storage coordination algorithm for providing microgrid tie-line smoothing services. In: IEEE Transactions on Sustainable Energy, 5(2), pp. 476–486. https://doi.org/10.1109/TSTE.2013.2293772.

  • Wang, Y., Ma, Y., Song, F., Ma, Y., Qi, C., Huang, F., Xing, J., & Zhang, F. (2020). Economic and efficient multi-objective operation optimization of integrated energy system considering electro-thermal demand response. In: Energy 205, p. 118022. ISSN: 0360-5442. DOI: https://doi.org/10.1016/j.energy.2020. 118022. URL: https://www.sciencedirect.com/science/article/pii/S0360544220311294.

  • Yang, X., Zhang, Y., Zhao, B., Huang, F., Chen, Y., & Ren, S. (2017). Optimal energy flow control strategy for a residential energy local network combined with demand-side management and real-time pricing. Energy and Buildings, 150, 177–188.

    Article  Google Scholar 

  • Zafar, R., Mahmood, A., Razzaq, Sl., Ali, W., Naeem, U., & Shehzad, K. (2018). Prosumer based energy management and sharing in smart grid. Renewable and Sustainable Energy Reviews, 82, 1675–1684.

    Article  Google Scholar 

  • Zhang, Q., Morari, M. F., Grossmann, I. E., Sundaramoorthy, A., & Pinto, J. M. (2016). An adjustable robust optimization approach to scheduling of continuous industrial processes providing interruptible load. Computers and Chemical Engineering, 86, 106–119.

    Article  CAS  Google Scholar 

Download references

Acknowledgements

The authors would like to thank Adrien CAMBIER and Gabriela NAVES for their contribution, and the ANRT (“Association Nationale de la Recherche et de la Technologie”) for having partially financed this study through the CIFRE PhD grant number 2019/0599.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Isaías Faria Silva.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

A: Linearizing (OBSC-MINLP)

For a product between a binary and a float variable \(b_i\) and \(f_j \in [0,F^{\max }]\) respectively, we can apply the McCormick strategy (see McCormick (1976)), which amounts to using a new variable \(lin\_bf_i^j \in [0,F^{\max }]\) to replace this product \(b_i f_j\), together with the following constraints:

$$\begin{aligned}&lin\_bf_i^j \le b_i{F}^{\max }.{} & {} \end{aligned}$$
(23)
$$\begin{aligned}&lin\_bf_i^j \le f_j.{} & {} \end{aligned}$$
(24)
$$\begin{aligned}&lin\_bf_i^j \ge f_j - (1-b_i){F}^{\max }. \end{aligned}$$
(25)

The non-linearities of this type in (3)-(19) are the products \(x_ty_c\) (with \(x_t \in [0, B^{\max }]\)), \(y_cp^{\max }_c\) (with \(p^{\max }_c \in [0, P^{\max }]\)) and \(x_tz_t\) in (4), (14) and (12), respectively. Thanks to (5), we need to introduce only two new families of variables: \(lin\_xy^c_t\) for all c in \(\mathcal {C}\), t in \(\mathcal {T}\) to linearize (4), and \(lin\_ypmax_c\) for all c in \(\mathcal {C}\) to linearize (14). Then, we can simply replace \(x_tz_t\) by \(\sum _{c \in \mathcal {C}_t} lin\_xy^c_t\) in (12).

Furthermore, to linearize \(x=\min (a,b)\) for \(a,b \in [M',M]\), we introduce a binary variable \(y \in \{0,1\}\) such that, if \(a > b\), then \(y=1\), otherwise \(y=0\). We can then rewrite x as follows:

$$\begin{aligned}&x \le a \text {, } x \le b.{} & {} \end{aligned}$$
(26)
$$\begin{aligned}&a-b \le (M-M')y \text {, } b-a \le (M-M')(1-y).{} & {} \end{aligned}$$
(27)
$$\begin{aligned}&x \ge a - (M-M')y \text {, } x \ge b - (M-M')(1-y).{} & {} \end{aligned}$$
(28)

In our case, we have two new families of binary variables: \(lin\_side_t\) for all t in \(\mathcal {T}\) to linearize (12), and19LLARSPS] for all c in \(\mathcal {C}\) to linearize (15). In the case of (12), we have \(u_t^B=(1-z_t)\min (a,b)\), where \(a=B^{\max }{/\Delta }-x_t{/\Delta }\) and \(b=\min (P_B,P^{\max }-W_t)\). In order to linearize this expression, we have to multiply all the terms a and b in (26) and (28) by \(1-z_t\). Hence, we derive the following constraints, where \(M'=0\) and \(M=\max (P^{\max },B^{\max }{/\Delta })\):

$$\begin{aligned}&u_t^B \le (1-z_t)(B^{\max }{/\Delta }-x_t{/\Delta }) \text {, } u_t^B \le (1-z_t)\min (P_B,P^{\max }-W_t).{} & {} \end{aligned}$$
(29)
$$\begin{aligned}&(B^{\max }{/\Delta }-x_t{/\Delta })- \min (P_B,P^{\max }-W_t) \le Mlin\_side_t\text {, }{} & {} \nonumber \\ {}&\min (P_B,P^{\max }-W_t)- (B^{\max }{/\Delta }-x_t{/\Delta }) \le M(1-lin\_side_t).{} & {} \end{aligned}$$
(30)
$$\begin{aligned}&u_t^B \ge (1-z_t)(B^{\max }{/\Delta }-x_t{/\Delta }) - M(1-z_t)lin\_side_t \text {, }{} & {} \nonumber \\&u_t^B \ge (1-z_t)\min (P_B,P^{\max }-W_t) - M(1-z_t)(1-lin\_side_t).{} & {} \end{aligned}$$
(31)

Note that, since \(u_t^B \in [0,P^B]\), Constraints (31) can be replaced by:

$$\begin{aligned}&u_t^B \ge (1-z_t)(B^{\max }{/\Delta }-x_t{/\Delta }) - Mlin\_side_t \text {, } u_t^B \ge (1-z_t)\nonumber \\&\quad \min (P_B,P^{\max }-W_t) - M(1-lin\_side_t). \end{aligned}$$
(32)

Indeed, when \(z_t=0\), (31) and (32) are equivalent, and, when \(z_t=1\), (29) together with (32) and \(u_t^B \in [0,P^B]\) ensure that \(u_t^B=0\).

In the case of (15), we can rewrite such constraints as \(p^{\max }_c=-x=-\min (0,-\frac{\sum _{t'=f_c-1}^{l_c}W_{t'} + x_{f_c}{/\Delta }-x_{f_c-1}{/\Delta }}{l_c - f_c +2}+ P_{TSO})\), and linearize them by considering the terms \(a=0\) and \(b=-\frac{\sum _{t'=f_c-1}^{l_c}W_{t'} + x_{f_c}{/\Delta }-x_{f_c-1}{/\Delta }}{l_c - f_c +2}+ P_{TSO}\), with \(b \in [-P^ {\max },P^ {\max }]\).

The complete linear version of (OBSC-MINLP), referred to as (OBSC-MILP), can then be written as follows:

$$\begin{aligned} \min \sum _{t \in \mathcal {T}}E_t(u_t^B + u_t^D) - \left\{ \begin{array}{lr} \sum \limits _{ t \in \mathcal {T}} R_{t}(W_t - u^D_{t}), &{} \quad \quad \quad (3)\\ \sum \limits _{c \in \mathcal {C}} (R_{f_c}{/\Delta })(lin\_xy_{f_c}^c-lin\_xy_{l_c+1}^c). &{} \end{array}\right. \end{aligned}$$
(33)
figure b
$$\begin{aligned}&p^{\max }_c \ge \frac{\sum _{t'=f_c-1}^{l_c}W_{t'} + x_{f_c}{/\Delta }-x_{f_c-1}{/\Delta }}{l_c - f_c +2}- P_{TSO}\quad \forall c \in \mathcal {C}. \end{aligned}$$
(41)
$$\begin{aligned}&\frac{\sum _{t'=f_c-1}^{l_c}W_{t'} + x_{f_c}{/\Delta }-x_{f_c-1}{/\Delta }}{l_c - f_c +2}- P_{TSO} \le 2P^{\max } lin\_sidepmax_c \quad \forall c \in \mathcal {C}. \langle \rangle \end{aligned}$$
(42)
$$\begin{aligned}&-\frac{\sum _{t'=f_c-1}^{l_c}W_{t'} + x_{f_c}{/\Delta }-x_{f_c-1}{/\Delta }}{l_c - f_c +2}+ P_{TSO} \le 2P^{\max } (1-lin\_sidepmax_c) \quad \forall c \in \mathcal {C}. \end{aligned}$$
(43)
$$\begin{aligned}&p^{\max }_c {\le } \frac{\sum _{t'=f_c-1}^{l_c}W_{t'} {+} x_{f_c}{/\Delta }{-}x_{f_c-1}{/\Delta }}{l_c {-} f_c +2}{-} P_{TSO} {+} 2P^{\max }(1-lin\_sidepmax_c)\quad \forall c \in \mathcal {C}. \end{aligned}$$
(44)
$$\begin{aligned}&p^{\max }_c \le 2P^{\max }lin\_sidepmax_c\quad \forall c \in \mathcal {C}. \end{aligned}$$
(45)
$$\begin{aligned}&lin\_xy^c_t \le y_c{B}^{\max } \quad \forall c \in \mathcal {C}, \forall t \in \mathcal {T}.\end{aligned}$$
(46)
$$\begin{aligned}&lin\_xy^c_t \le x_t \quad \forall c \in \mathcal {C}, \forall t \in \mathcal {T}. \end{aligned}$$
(47)
$$\begin{aligned}&lin\_xy^c_t \ge x_t - (1-y_c){B}^{\max } \quad \forall c \in \mathcal {C}, \forall t \in \mathcal {T}. \end{aligned}$$
(48)
$$\begin{aligned}&lin\_ypmax_c \le y_c{P}^{\max } \quad \forall c \in \mathcal {C}. \end{aligned}$$
(49)
$$\begin{aligned}&lin\_ypmax_c \le p_c^{\max } \quad \forall c \in \mathcal {C}. \end{aligned}$$
(50)
$$\begin{aligned}&lin\_ypmax_c \ge p_c^{\max } - (1-y_c){P}^{\max } \quad \forall c \in \mathcal {C}. \end{aligned}$$
(51)
$$\begin{aligned}&u_t^D \in [0,W_t],~u_t^B \in [0,P_B],~x_t \in [{B}^{\min },{B}^{\max }],~z_t \in \{0,1\},lin\_side_t \in \{0,1\} \quad \hspace{-0.5cm}\quad \forall \, t \in \mathcal {T}. \end{aligned}$$
(52)
$$\begin{aligned}&p^{\max }_c \in \mathbb {R}^+,~y_{c} \in \{0,1\}, lin\_ypmax_c \in [0,P^{\max }],lin\_sidepmax_c \in \{0,1\} \quad \forall \, c \in \mathcal {C}. \end{aligned}$$
(53)
$$\begin{aligned}&lin\_xy^c_t \in [0,{B}^{\max }] \quad \forall t \in \mathcal {T},\forall c \in \mathcal {C}. \end{aligned}$$
(54)

B: Proof of Theorem 1

In this section, we provide the proof of Theorem 1. Beforehand, for the sake of a better understanding, we provide a reformulation of the objective function (3) and (4), that we now recall. In order to do this, and for the sake of simplicity, we define the set \(\mathcal {F}\) of all the feasible solutions, i.e., \(\mathcal {F}=\{ (y,x,z,p^{\max },u^D,u^B) \in \{0,1\}^{\mathcal {C}}\!\times \!\mathbb {R}^{+\mathcal {T}}\!\times \!\{0,1\}^{\mathcal {T}}\!\times \!\mathbb {R}^{+\mathcal {C}}\!\times \!\mathbb {R}^{+\mathcal {T}}\!\times \!\mathbb {R}^{+\mathcal {T}}\,|\, (5)-(19)\text { are satisfied} \}\). Then, we have:

$$\begin{aligned} \min _{(y,x,z,p^{\max },u^D,u^B) \in \mathcal {F}}\sum \limits _{t \in \mathcal {T}}E_t(u_t^B + u_t^D) - {\left\{ \begin{array}{ll} \sum \limits _{ t \in \mathcal {T}} R_{t}(W_t - u^D_{t}),\hspace{2.00cm} \text {if OTR}, &{} \\ \sum \limits _{c \in \mathcal {C}} R_{f_c}y_c(x_{f_c}{/\Delta }-x_{l_c+1}{/\Delta }),\hspace{.72cm} \text {if FTR}. &{}\\ \end{array}\right. } \end{aligned}$$

From Constraints (10), we have that \(u_t^B + u_t^D = W_t + x_{t+1}/\Delta - x_t/\Delta \) for each t.

Let us consider in what follows the following cases related to the three possible battery states at each time period t:

  • Battery in discharge (\(x_t-x_{t+1}>0\)): from Constraints (6), we get \(z_t=1\), and then, from Constraints (12), we derive \(u^B_t=0\). Hence, we get \(u_t^B + u_t^D = u_t^D = W_t - (x_t/\Delta - x_{t+1}/\Delta )\).

  • Battery in charge (\(x_t-x_{t+1}<0\)): from Constraints (7), we have that \(z_t=0\), and, from Constraints (13), \(u^D_t \ge W_t\). Since \(u^D_t\le W_t\), we get \(u^D_t = W_t\), and thus \(u_t^B + u_t^D = u_t^B + W_t\).

  • Battery in rest mode (\(x_t-x_{t+1}=0\)): from Constraints (8), (13) and (12), we have that \(z_t=0\), that \(u^D_t=W_t\), and that \(u^B_t=0\). In this case, 19we get \(u_t^B + u_t^D = W_t\).

Given that we are always in one of the three above cases for a given t, but not in two at the same time, and that the power demand \(W_t\) is present in the sum \(u_t^B + u_t^D\) in all these cases, we can then group the power demand terms over t as \(\sum _{t \in \mathcal {T}}W_t\). Additionally, for any curtailment \(c \in \mathcal {C}\) performed (i.e., such that \(y_c=1\)), the term \(x_{t+1}/\Delta - x_{t}/\Delta = -(x_{t}/\Delta - x_{t+1}/\Delta )\) is present only during the battery discharge periods of c (i.e., for \(t \in \{f_c,\dots ,l_c\}\)), and the term \(u^B_t\) is present only during the battery recharge periods of c (i.e., for \(t \in \{l_c+1,\dots ,t^B_c\}\)). Hence, we obtain:

$$\begin{aligned}&\sum _{t \in \mathcal {T}} (u_t^B + u_t^D) = \sum _{t \in \mathcal {T}:x_t-x_{t+1}>0} (u_t^B + u_t^D) + \sum _{t \in \mathcal {T}:x_t-x_{t+1}<0} (u_t^B + u_t^D) + \sum _{t \in \mathcal {T}:x_t-x_{t+1}=0} (u_t^B + u_t^D)\\&\quad = \sum _{t \in \mathcal {T}:x_t-x_{t+1}>0} (W_t - (x_t/\Delta -x_{t+1}/\Delta )) + \sum _{t \in \mathcal {T}:x_t-x_{t+1}<0} (W_t + u_t^B) + \sum _{t \in \mathcal {T}:x_t-x_{t+1}=0} W_t\\&\quad = \sum _{t \in \mathcal {T}}W_t +\sum _{c \in \mathcal {C}}y_c \Bigg (- \sum _{t=f_c}^{l_c}(x_t/\Delta -x_{t+1}/\Delta ) + \sum _{t=l_c+1}^{t^B_c}u^B_t\Bigg ). \end{aligned}$$

For similar reasons (since, for each \(t \in \mathcal {T}\), we can as well rewrite \(E_t(u_t^B + u_t^D)\) as \(E_t(W_t - (x_t/\Delta -x_{t+1}/\Delta ))\), \(E_t (W_t+u_t^B)\), or \(E_t W_t\), with respect to the three above cases), we obtain:

$$\begin{aligned} \sum _{t \in \mathcal {T}} E_t(u_t^B + u_t^D) = \sum _{t \in \mathcal {T}}E_t W_t +\sum _{c \in \mathcal {C}}y_c \Bigg (- \sum _{t=f_c}^{l_c} E_t (x_t/\Delta -x_{t+1}/\Delta ) + \sum _{t=l_c+1}^{t^B_c} E_t u^B_t\Bigg ). \end{aligned}$$

By replacing \(\sum _{t\in \mathcal {T}}E_t(u^B_t+u^D_t)\) by this new expression in the objective function, we get:

$$\begin{aligned}&\min _{(y,x,z,p^{\max },u^D,u^B) \in \mathcal {F}} \underbrace{\sum _{t \in \mathcal {T}}E_tW_t}_\text {T1} - \underbrace{\sum _{c \in \mathcal {C}}y_c \Bigg ( \sum _{t=f_c}^{l_c}E_t(x_t/\Delta -x_{t+1}/\Delta ) - \sum _{t=l_c+1}^{t^B_c}E_tu^B_t\Bigg )}_\text {T2} \quad \nonumber \\&\hspace{5cm} - \underbrace{{\left\{ \begin{array}{ll} \sum _{ t \in \mathcal {T}} R_{t}(W_t - u^D_{t}), \hspace{1.53cm}\text {if OTR,} &{} \\ \sum _{c \in \mathcal {C}} R_{f_c}y_c(x_{f_c}{/\Delta }-x_{l_c+1}{/\Delta }), \hspace{.25cm}\text {if FTR.}&{} \end{array}\right. }}_\text {T3} \quad \end{aligned}$$
(55)

Since \(W_t-u^D_t = x_t/\Delta -x_{t+1}/\Delta \) for any battery discharge period t of any curtailment performed (and \(W_t-u^D_t = 0\) otherwise), we have \(\sum _{ t \in \mathcal {T}} R_{t}(W_t - u^D_{t}) = \sum _{c \in \mathcal {C}}y_c \sum _{t=f_c}^{l_c} R_t(x_t/\Delta -x_{t+1}/\Delta )\), and, since \(x_{f_c}-x_{l_c+1}=\sum _{t = f_c}^{l_c}(x_{t}-x_{t+1})\), we have \(\sum _{c \in \mathcal {C}} R_{f_c}y_c(x_{f_c}{/\Delta }-x_{l_c+1}{/\Delta }) = \sum _{c \in \mathcal {C}} y_c \sum _{t=f_c}^{l_c} R_{f_c}(x_t/\Delta -x_{t+1}/\Delta )\). Hence, we can merge the terms T2 and T3 in Eq.  (55):

$$\begin{aligned}&\min _{(y,x,z,p^{\max },u^D,u^B) \in \mathcal {F}} \underbrace{\sum _{t \in \mathcal {T}}E_tW_t}_\text {T1} \nonumber \\&- \sum _{c \in \mathcal {C}}y_c \Bigg (\underbrace{ \sum _{t=f_c}^{l_c}{\left\{ \begin{array}{ll} (E_t+R_t)(x_t/\Delta -x_{t+1}/\Delta ) \\ (E_t+R_{f_c})(x_t/\Delta -x_{t+1}/\Delta ) \end{array}\right. }}_{f_1(y_c,x_t,z_t,p_c^{\max },u_t^D,u_t^B)} - \underbrace{\sum _{t=l_c+1}^{t^B_c}E_tu^B_t}_{f_2(y_c,x_t,z_t,p_c^{\max },u_t^D,u_t^B)}\Bigg ). \quad \end{aligned}$$
(56)

Note that, since the standard cost term T1 is a constant, minimizing this objective function can be seen as maximizing the objective function \(\sum _{c \in \mathcal {C}}y_c(f_1(y_c,x_t,z_t,p_c^{\max },u_t^D,u_t^B)-f_2(y_c,x_t,z_t,p_c^{\max },u_t^D,u_t^B))\) over \(\mathcal {F}\).

Moreover, we introduce a new variable \(d_c \ge 0\) for each \(c \in \mathcal {C}\), which represents the overall battery discharge level during curtailment c, and which is not needed in our MIP formulation, but that will be useful to rewrite the objective function. By definition, the value of \(d_c\) for each curtailment c is \(x_{f_c}-x_{l_c+1}\) if c is performed (i.e., if \(y_c=1\)), and 0 otherwise.

This yields the following new constraints:

$$\begin{aligned}{} & {} d_c = y_c(x_{f_c}-x_{l_c+1}){} & {} \forall c \in \mathcal {C}.{} & {} \end{aligned}$$
(57)

Note that, once the values of the variables \(y_c\) are known, so are the ones of the variables \(z_t\) (and vice-versa), thanks to Constraints (5). Similarly, once the values of the variables \(d_c\) are known, so are the ones of the variables \(p_c^{\max }\), thanks to Constraints (15) and the fact that, from Property 1 and Lemma 1, the value of \(p_c^{\max }\) for each \(c \in \mathcal {C}\) can be computed from the values of the variables \(d_c\) only. Furthermore, we define a new set \(\mathcal {F'}\) as follows: \(\mathcal {F'} = \{(d_c)_{c \in \mathcal {C}} \text { and } ((y_c)_{c \in \mathcal {C}},(x_t)_{t \in \mathcal {T}},(z_t)_{t \in \mathcal {T}},(p_c^{\max })_{c \in \mathcal {C}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}}) \in \mathcal {F} \text { satisfying (57)}\}\).

For each \((\overline{y},\overline{d})=((\overline{y}_c)_{c \in \mathcal {C}}, (\overline{d}_c)_{c \in \mathcal {C}})\), let \(\mathcal {F}^*(\overline{y},\overline{d}) = \{((x_t)_{t \in \mathcal {T}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}}) \text { such that }\) \((\overline{d}_c)_{c \in \mathcal {C}},\) \((\overline{y}_c)_{c \in \mathcal {C}},(x_t)_{t \in \mathcal {T}},(z_t)_{t \in \mathcal {T}},(p_c^{\max })_{c \in \mathcal {C}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}} \in \mathcal {F}'\}\). We also define the set \(\mathcal {F}^{*} = \{((\overline{y}_c)_{c \in \mathcal {C}}, (\overline{d}_c)_{c \in \mathcal {C}}) \text { such that } \mathcal {F}^*(\overline{y},\overline{d}) \ne \emptyset \}\). Then, we have:

$$\begin{aligned}&\max _{((y_c)_{c \in \mathcal {C}},(x_t)_{t \in \mathcal {T}},(z_t)_{t \in \mathcal {T}},(p_c^{\max })_{c \in \mathcal {C}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}}) \in \mathcal {F}} \sum _{c \in \mathcal {C}}y_c \\ {}&\Bigg ( f_1(y_c,x_t,z_t,p_c^{\max },u_t^D,u_t^B) - f_2(y_c,x_t,z_t,p_c^{\max },u_t^D,u_t^B)\Bigg )\\ =&\max _{((y_c)_{c \in \mathcal {C}},(x_t)_{t \in \mathcal {T}},(z_t)_{t \in \mathcal {T}},(p_c^{\max })_{c \in \mathcal {C}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}},(d_c)_{c \in \mathcal {C}}) \in \mathcal {F'}} \sum _{c \in \mathcal {C}}y_c \\ {}&\Bigg ( \sum _{t=f_c}^{l_c}{\left\{ \begin{array}{ll} (E_t+R_t)(x_t/\Delta -x_{t+1}/\Delta ) \\ (E_t+R_{f_c})(x_t/\Delta -x_{t+1}/\Delta ) \end{array}\right. } - \sum _{t=l_c+1}^{t^B_c}E_tu^B_t\Bigg )\\ =&\max _{(\overline{y},\overline{d})\in \mathcal {F}^{*}} \Bigg (\max _{((x_t)_{t \in \mathcal {T}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}}) \in \mathcal {F}^*(\overline{y},\overline{d})} \sum _{c \in \mathcal {C}}\overline{y}_c \\ {}&\Bigg ( \sum _{t=f_c}^{l_c}{\left\{ \begin{array}{ll} (E_t+R_t)(x_t/\Delta -x_{t+1}/\Delta ) \\ (E_t+R_{f_c})(x_t/\Delta -x_{t+1}/\Delta ) \end{array}\right. } - \sum _{t=l_c+1}^{t^B_c}E_tu^B_t\Bigg )\Bigg ) \\ =&\max _{(\overline{y},\overline{d})\in \mathcal {F}^{*}} \Bigg (\sum _{c \in \mathcal {C}}\overline{y}_c \max _{((x_t)_{t \in \mathcal {T}},(u_t^D)_{t \in \mathcal {T}},(u_t^B)_{t \in \mathcal {T}}) \in \mathcal {F}_c^*(\overline{y},\overline{d})} \\ {}&\Bigg ( \underbrace{ \sum _{t=f_c}^{l_c}{\left\{ \begin{array}{ll} (E_t+R_t)(x_t/\Delta -x_{t+1}/\Delta ) \\ (E_t+R_{f_c})(x_t/\Delta -x_{t+1}/\Delta ) \end{array}\right. }}_{f_c^S(x_t,u_t^D,u_t^B)} - \underbrace{\sum _{t=l_c+1}^{t^B_c}E_tu^B_t}_{f_c^B(x_t,u_t^D,u_t^B)}\Bigg )\Bigg ). \end{aligned}$$

where \(\mathcal {F}_c^*(\overline{y},\overline{d})\) is the restriction of the set \(\mathcal {F}^*(\overline{y},\overline{d})\) to the variables \(x_t\), \(u^D_t\) and \(u^B_t\) for all \(t \in \mathcal {T}\) such that \(c \in \mathcal {C}_t\). Note that the last equality comes from the fact that, once the values of all the variables \(y_c\) are known, it can be checked that the only constraints in (5)-(19) and (57) linking the variables associated with time periods of different curtailments that are performed are Constraints (14) and (15). Hence, once the values of all the variables \(y_c\) and of all the variables \(d_c\) are known, there is no remaining links between the variables associated with time periods of different curtailments that are performed.

We now return to the proof of Theorem 1, that we first recall:

Theorem 1 Let \(\mathcal {F}_{opt}\) be the set of vectors \(((y_c)_{c \in \mathcal {C}},(d_c)_{c \in \mathcal {C}})\) such that:

  • for each \(c \in \mathcal {C}\), \(y_c \in \{0,1\}\) and \(d_c \ge 0\),

  • for each \(c\in \mathcal {C}\) and \(c'\in \mathcal {C}{\setminus }\{c\}\), if \(y_c=y_{c'}=1\), then \(\{f_c,\dots ,t^B_c\} \cap \{f_{c'},\dots ,t^B_{c'}\} = \emptyset \), where, for each \(c\in \mathcal {C}\), \(t^B_c > l_c\) is the integer such that \(d_c \in ]{\Delta }\sum _{t=l_c+1}^{t^B_c-1} \min (P_B,P^{\max }-W_{t}),{\Delta }\sum _{t=l_c+1}^{t^B_c} \min (P_B,P^{\max }-W_{t})]\),

  • for each \(c\in \mathcal {C}\), if \(y_c = 1\), then we must have \(d_c \in [\sum _{t=f_c}^{l_c}{\Delta }\max (\min (W_t,D^{\min }),W_t-p_c^{\max }), \min (\sum _{t=f_c}^{l_c}{\Delta }\min (W_t,D^{\max }), B^{\max }-B^{\min })]\), where the value of \(p_c^{\max }\) is computed using Property 1 and Lemma 1.

In any feasible solution to an instance of OBSC, we have \(((y_c)_{c \in \mathcal {C}},(d_c)_{c \in \mathcal {C}}) \in \mathcal {F}_{opt}\). Moreover, for any \(((y_c)_{c \in \mathcal {C}},(d_c)_{c \in \mathcal {C}}) \in \mathcal {F}_{opt}\), one can obtain a feasible solution of value:

$$\begin{aligned} \sum _{t \in \mathcal {T}}E_tW_t - \sum _{c \in \mathcal {C}}y_c f^G_c(d_c,d_{c^-}), \end{aligned}$$

where \(f^G_c(d_c,d_{c^-})\) is a function that can be computed in linear time, and where, for each curtailment c such that \(y_c=1\), \(c^-\) is the only curtailment such that \(y_{c^-}=1\) and there exists no curtailment \(c'\) such that \(y_{c'}=1\) and \(l_{c^-}< f_{c'} \le l_{c'} < f_{c}\). In other words, for each curtailment c, \(c^-\) is the curtailment that immediately precedes c.

In particular, the optimal value of OBSC can be rewritten as follows:

$$\begin{aligned} \sum _{t \in \mathcal {T}}E_tW_t - \max _{((y_c)_{c \in \mathcal {C}},(d_c)_{c \in \mathcal {C}}) \in \mathcal {F}_{opt}}\sum _{c \in \mathcal {C}}y_c f^G_c(d_c,d_{c^-}). \end{aligned}$$

Furthermore, in the case where the value of \(p^{\max }_c\) depends only on the value of \(y_c\) for each c, \(f^G_c(d_c,d_{c^-})\) is a continuous piecewise linear function of \(d_c\) having O(T) segments.

Proof

Our goal is to show that, once the values \(\overline{y}_c\) of the variables \(y_c\) are known, the value

\(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B) - f_c^B(x_t,u_t^D,u_t^B)\big )\) for each c can be written as a function \(f_c^G\) of the values \(\overline{d}_{c'}\) of the variables \(d_{c'}\) for all \(c' \in \mathcal {C}\). More precisely, for each curtailment c with \(\overline{y}_{c}=1\), \(\overline{d}_{c^-}\) and \(\overline{d}_{c}\) are the only ones needed to express \(f_{c}^G\), where \(c^-\) is the curtailment with \(\overline{y}_{c^-}=1\) that directly precedes c in the solution. Moreover, for each c, whenever the computation of \(p_c^{\max }\) only depends on the values \(\overline{y}_{c'}\) (see also Sect. 5.2), and not on the values \(\overline{d}_{c'}\), for all \(c' \in \mathcal {C}\), \(f_c^G\) is a continuous piecewise linear function of \(\overline{d}_c\) only.

The first part of the proof will show that, once the values \(\overline{y}_c\) of all the variables \(y_c\) are known, \(f_c^B(x_t,u_t^D,u_t^B)\) for each c is in fact in itself a function of \(\overline{d}_c\) (and of \(\overline{d}_c\) only). Hence, once the value \(\overline{d}_c\) is fixed, so is the value of \(f_c^B(x_t,u_t^D,u_t^B)\). Intuitively, \(f_c^B(x_t,u_t^D,u_t^B)\) is in fact equal to the battery recharging cost (in monetary units) of curtailment c.

So, we begin by fixing some \(c\in \mathcal {C}\). At each recharging time period \(t \in \{l_c+1, \dots , t_c^B\}\), no curtailment is performed and thus \(z_t=0\). In addition, Constraints (5), (13) and (14) impose that \(u^D_t=W_t\). Hence, summing Eq.s  (10) from \(l_c+1\) to \(t-1\) yields:

$$\begin{aligned}&x_t = x_{l_c+1} + {\Delta } \sum _{l_c+1 \le t' < t}u^B_{t'}.{} & {} \end{aligned}$$
(58)

Note that, because of Constraints (9), the curtailment c can start only if the battery is fully charged, i.e., if \(x_{f_c} = B^{\max }\). Hence, from Constraints (57), we have \(\overline{d}_c = B^{\max }-x_{l_c+1}\). Using this relation and replacing \(x_t\) in (12) by its expression provided by (58), we have that:

$$\begin{aligned}&u^B_t=\min (\overline{d}_c{/\Delta }-\sum _{l_c+1 \le t' < t}u^B_{t'},P_B,P^{\max }-W_t).{} & {} \end{aligned}$$
(59)

This yields:

$$\begin{aligned} f^B_c(x_t,u_t^D,u_t^B)=\sum _{t=l_c+1}^{t_c^B}E_t \min (\overline{d}_c{/\Delta }-\sum _{l_c+1 \le t' < t}u^B_{t'},P_B,P^{\max }-W_t). \end{aligned}$$
(60)

By definition of \(t_c^B\) (see also the proof of Property 1), the value of \(u^B_t\) for each recharging time period \(l_c+1 \le t<t_c^B\) is \(\min (P_B, P^{\max }-W_t)\), and, for all \(t > t_c^B\), no power bought for recharging the battery is related to c. The value of \(u^B_t\) depends on the value of \(\overline{d}_c\) only at the last recharging time period \(t_c^B\), as shown in Property 1. Thus, we can extend the sum from \(t_c^B\) to T, and \(f^B_c\) can be rewritten as follows:

$$\begin{aligned}&f^B_c(x_t,u_t^D,u_t^B)=\sum _{t=l_c+1}^{T}E_t \Big [ \min \big (P_B,P^{\max }-W_t, \overline{d}_c{/\Delta } \nonumber \\&\quad - \min (\overline{d}_c{/\Delta }, \sum _{t'=l_c+1}^{t-1}\min (P_B,P^{\max }-W_{t'}))\big )\Big ]. \end{aligned}$$
(61)

Note that, at each time period t after the complete battery recharge (i.e., when \(\sum _{t'=l_c+1}^{t-1} \min (P_B,P^{\max }-W_{t'}) \ge \overline{d}_c{/\Delta }\), meaning that \(\min (\overline{d}_c{/\Delta }, \sum _{t'=l_c+1}^{t-1} \min (P_B,P^{\max }-W_{t'}))=\overline{d}_c{/\Delta }\)), we have \(\min (P_B,P^{\max } -W_{t}, \overline{d}_c{/\Delta }-\overline{d}_c{/\Delta })=0\), and thus no power is bought for the recharge related to c, as requested. Let us fix a time period \(\overline{t} \in \{l_c+1,\dots ,T\}\), and assume that the value of \(\overline{d}_c \in [{\Delta }\sum _{t=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_t), {\Delta }\sum _{t=l_c+1}^{\overline{t}}\min (P_B,P^{\max }-W_t)]\). Then, the sum in (61) for t from \(l_c+1\) to T can be decomposed into three parts:

  • for t from \(l_c+1\) to \(\overline{t}-1\),

  • for \(t=\overline{t}\),

  • and for t from \(\overline{t}+1\) to T.

In the first case, for any recharging time period t such that \(l_c+1 \le t < \overline{t}\), we have \(\overline{d}_c \ge {\Delta } \sum _{t'=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_{t'}) \ge {\Delta } \sum _{t'=l_c+1}^{t}\min (P_B,P^{\max }-W_{t'})\), which implies, on the one hand, that \(\min (\overline{d}_c{/\Delta }, \sum _{t'=l_c+1}^{t-1}\min (P_B,P^{\max }-W_{t'}))=\sum _{t'=l_c+1}^{t-1}\min (P_B,P^{\max }-W_{t'})\), and, on the other hand, that \(\overline{d}_c{/\Delta }-\sum _{t'=l_c+1}^{t-1}\min (P_B,P^{\max }-W_{t'}) \ge \min (P_B,P^{\max }-W_{t})\). Hence, the sum in (61) for t from \(l_c+1\) to \(\overline{t}-1\) is equal to \(\sum _{t=l_c+1}^{\overline{t}-1}E_t\min (P_B,P^{\max }-W_{t})\).

When \(t=\overline{t}\), we have \(\overline{d}_c \ge {\Delta }\sum _{t'=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_{t'})\) and \(\overline{d}_c{/\Delta } - \sum _{t'=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_{t'}) \le \min (P_B,P^{\max }-W_{\overline{t}})\). Hence, the term in (61) for \(t=\overline{t}\) is equal to \(E_{\overline{t}}\big ( (\overline{d}_c{/\Delta } - \sum _{t'=l_c+1}^{\overline{t}-1} \min (P_B,P^{\max }-W_{t'})\big )\).

When \(t > \overline{t}\), we have \(\overline{d}_c \le {\Delta }\sum _{t'=l_c+1}^{\overline{t}}\min (P_B,P^{\max }-W_{t'})\le {\Delta }\sum _{t'=l_c+1}^{t-1}\min (P_B,P^{\max }-W_{t'})\), which implies that each term of the sum in (61) for t from \(\overline{t}+1\) to T is equal to \(E_t\) \(\min (P_B,P^{\max }-W_t,\overline{d}_c{/\Delta }-\overline{d}_c{/\Delta }) = 0\).

Hence, we can rewrite \(f^B_c\) by splitting the sum over t into three parts, as follows:

$$\begin{aligned}&f^B_c(x_t,u_t^D,u_t^B)=\sum _{t=l_c+1}^{\overline{t}-1}E_t \min (P_B,P^{\max }-W_t) +E_{\overline{t}}\big (\overline{d}_c{/\Delta }\\&\quad -\sum _{t=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_t)\big ) +\sum _{t=\overline{t}+1}^{T}0 \end{aligned}$$

This yields:

$$\begin{aligned} f^B_c(x_t,u_t^D,u_t^B)=&(E_{\overline{t}})\overline{d}_c{/\Delta } +~\sum _{t=l_c+1}^{\overline{t}-1}(E_t-E_{\overline{t}}) \min (P_B,P^{\max }-W_t) \end{aligned}$$
(62)

Note that \(\sum _{t=l_c+1}^{\overline{t}-1}(E_t-E_{\overline{t}}) \min (P_B,P^{\max }-W_t)\) is a constant, and hence \(f^B_c\) is a linear function of \(\overline{d}_c\). The same holds for any \(\overline{t}\) such that \(l_c+1 \le \overline{t} \le T\). Furthermore, the union of the intervals \([{\Delta }\sum _{t=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_t),{\Delta }\sum _{t=l_c+1}^{\overline{t}} \min (P_B,P^{\max }-W_t)]\) for \(l_c+1 \le \overline{t} \le T\) covers all the possible values of \(\overline{d}_c\), as \(l_c+1 \le t^B_c \le T\). As a consequence, since all parts of \(f^B_c\) are linear, \(f^B_c\) is in fact a piecewise linear function of \(\overline{d}_c\), that we will simply denote by \(f^B_c(\overline{d}_c)\). We can even show that \(f^B_c(\overline{d}_c)\) is continuous with respect to \(\overline{d}_c\).

Indeed, assume that \(\overline{d}_c = {\Delta }\sum _{t=l_c+1}^{\overline{t}}\min (P_B,P^{\max }-W_t)\) for some \(\overline{t}\), which implies that \(\overline{d}_c \in [{\Delta }\sum _{t=l_c+1}^{\overline{t}-1}\min (P_B,P^{\max }-W_t), {\Delta }\sum _{t=l_c+1}^{\overline{t}}\min (P_B,P^{\max }-W_t)]\) on the one hand, and that \(\overline{d}_c \in [{\Delta }\sum _{t=l_c+1}^{\overline{t}}\min (P_B,P^{\max }-W_t),{\Delta }\sum _{t=l_c+1}^{\overline{t}+1}\min (P_B,P^{\max }-W_t)]\) on the other hand:

  1. (i)

    to begin with, \(f^B_c(\overline{d}_c)\) is equal to \(E_{\overline{t}}\sum _{t=l_c+1}^{\overline{t}}\min (P_B, P^{\max }-W_t) +\sum _{t=l_c+1}^{\overline{t}-1}(E_t-E_{\overline{t}}) \min (P_B,P^{\max }-W_t) = E_{\overline{t}}\min (P_B,P^{\max }-W_{\overline{t}})+\sum _{t=l_c+1}^{\overline{t}-1}E_t \min (P_B,P^{\max }-W_t) = \sum _{t=l_c+1}^{\overline{t}}E_t \min (P_B,P^{\max }-W_t)\).

  2. (ii)

    then, it is also equal to \(E_{\overline{t}+1} \sum _{t=l_c+1}^{\overline{t}}\min (P_B,P^{\max }-W_t) +\sum _{t=l_c+1}^{\overline{t}}(E_t-E_{\overline{t}+1}) \min (P_B,P^{\max }-W_t)= \sum _{t=l_c+1}^{\overline{t}} E_t \min (P_B,P^{\max }-W_t)\).

As we have just shown that the value of \(f^B_c(x_t,u_t^D,u_t^B)\) for each c no longer depends on the ones of the variables \(x_t\), \(u_t^D\), and \(u_t^B\) once the value \(\overline{d}_c\) is known, we can rewrite \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B) - f_c^B(x_t,u_t^D,u_t^B)\big )\) as follows:

$$\begin{aligned}&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B) - f_c^B(x_t,u_t^D,u_t^B)\big )\\ =&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B) - f_c^B(\overline{d}_c)\big )\\ =&- f_c^B(\overline{d}_c) + \max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big ). \end{aligned}$$

The second part of the proof will show that, once the values \(\overline{y}_c\) of all the variables \(y_c\) are known, \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) for each \(c \in \mathcal {C}\) is a function of the values \(\overline{d}_c\) and \(\overline{d}_{c^-}\) (while \(f_c^S(x_t,u_t^D,u_t^B)\) is not), where \(c^-\) is the curtailment with \(\overline{y}_{c^-}=1\) that directly precedes c in the solution. Hence, once the values \(\overline{d}_{c^-}\) and \(\overline{d}_c\) are fixed, so is the value of \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\). Intuitively, \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) is in fact equal to the optimal economic gain associated with a curtailment c to be performed, which is composed of the savings induced by not buying energy for consumption, and of the reward received when performing a curtailment.

If, for each \(t \in \{f_c,\dots ,l_c\}\), we define \(G'_t = \frac{E_t + R_t}{\Delta }\) if the OTR reward policy is considered, and \(G'_t = \frac{E_t + R_{f_c}}{\Delta }\) if the FTR reward policy is considered, then we can rewrite the value of \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) as follows:

$$\begin{aligned}&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\\ =&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (\sum _{t=f_c}^{l_c}G'_t(x_t-x_{t+1})\big ). \end{aligned}$$

From Constraints (13), (14) and (12), we obtain that \(W_t-D^{\max } \le u^D_t \le \min ( p_c^{\max },W_t)\) and that \(u^B_t=0\) for all time periods during curtailment c. Therefore, from Constraints (8) and (10), we derive that \(x_t-x_{t+1} \ge {\Delta }\max (\min (W_t,D^{\min }),W_t-p_c^{\max })\). Let us define such a lower bound on \(x_t-x_{t+1}\) for each time period \(t \in \{f_c,\dots ,l_c\}\) as \(d^{\min }_t\). In addition, from Constraints (6), (12) and (10), we derive that \(x_t-x_{t+1} \le {\Delta }\min (W_t,D^{\max })\). Let us define such an upper bound on \(x_t-x_{t+1}\) for each time period \(t \in \{f_c,\dots ,l_c\}\) as \(d^{\max }_t\).

From Constraints (57), the battery discharge can be written as \(\overline{d}_c=x_{f_c}-x_{l_c+1}\). Hence, from Constraints (9), we have that \(x_{f_c}=B^{\max }\) and \(x_{l_c+1}=B^{\max }-\overline{d}_c\).

This implies that the value of \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (\sum _{t=f_c}^{l_c}G'_t(x_t-x_{t+1})\big )\) can be rewritten as follows (and hence depends on the values of the variables \(x_t\) only):

$$\begin{aligned}&\max \sum _{t=f_c}^{l_c}G'_t(x_t-x_{t+1}),{} & {} \nonumber \\&\hspace{0.5cm} s.t.{} & {} \nonumber \\&\hspace{0.5cm} d^{\min }_t \le x_t-x_{t+1} \le d^{\max }_t{} & {} \forall t \in \{f_c,\dots ,l_c\}. \end{aligned}$$
(63)
$$\begin{aligned}&\hspace{0.5cm} x_{f_c}=B^{\max }, \ x_{l_c+1}=B^{\max }-\overline{d}_c.{} & {} \end{aligned}$$
(64)
$$\begin{aligned}&\hspace{0.5cm} x_t \in [B^{\min }, B^{\max }]{} & {} \forall t \in \{f_c,\dots ,l_c+1\}. \end{aligned}$$
(65)

Note that, from Constraints (63), we must have that \(\overline{d}_c = x_{f_c} - x_{l_c+1} = \sum _{t=f_c}^{l_c}(x_t-x_{t+1}) \ge \sum _{t=f_c}^{l_c}d^{\min }_t\) and \(\overline{d}_c \le \sum _{t=f_c}^{l_c}d^{\max }_t\). In addition, from Constraints (65), we have that \(\overline{d}_c = x_{f_c} - x_{l_c+1} \le B^{\max }-B^{\min }\). Thus, \(\overline{d}_c\) must belong to the interval \([\sum _{t=f_c}^{l_c}d^{\min }_t,\min (\sum _{t=f_c}^{l_c}d^{\max }_t,B^{\max }-B^{\min })]\).

Since \(\overline{d}_c\) belongs to such an interval, we have from Constraints (64) that \(x_{l_c+1} = B^{\max }-\overline{d}_c \ge B^{\min }\). Hence, for each \(t \in \{f_c, \dots , l_c\}\), since \(d^{\min }_t > 0\), the value of \(x_t\) is also greater than \(B^{\min }\) from Constraints (63). Similarly, for each \(t \in \{f_c+1, \dots , l_c+1\}\), since \(d^{\min }_t > 0\) and \(x_{f_c}=B^{\max }\) from Constraints (64), the value of \(x_t\) is smaller than \(B^{\max }\) from Constraints (63). Thus, Constraints (65) are always satisfied for each time period \(t \in \{f_c, \dots , l_c+1\}\), and can be relaxed if the value of \(\overline{d}_c\) belongs to such an interval.

Moreover, if we consider an optimal solution \(x'\) to the problem obtained by relaxing Constraints (64) while considering that \(x_{f_c}-x_{l_c+1}=\sum _{t=f_c}^{l_c}(x_t-x_{t+1})=\overline{d}_c\), a solution x of same value that respects Constraints (64) can be obtained as follows:

$$\begin{aligned}&x_{f_c} = B^{\max }. \end{aligned}$$
(66)
$$\begin{aligned}&x_{t+1} = x_t + (x'_{t+1}-x'_{t}){} & {} \forall t \in \{f_c,\dots ,l_c\}. \end{aligned}$$
(67)

Indeed, we have \(x_{l_c+1} = x_{f_c} - \sum _{t=f_c}^{l_c}(x_t-x_{t+1}) = B_{\max } - \sum _{t=f_c}^{l_c}(x'_t-x'_{t+1}) = B_{\max } - \overline{d}_c\), as desired. Consequently, by setting \(\Delta _t = x_t-x_{t+1}\) for all \(t \in \{f_c,\dots ,l_c\}\), we obtain the following equivalent problem:

$$\begin{aligned}&\max \sum _{t=f_c}^{l_c}G'_t\Delta _t,{} & {} \nonumber \\&\hspace{0.5cm} s.t.{} & {} \nonumber \\&\hspace{0.5cm} \sum _{t \in \{f_c,\dots ,l_c\}}\Delta _t=\overline{d}_c.{} & {} \end{aligned}$$
(68)
$$\begin{aligned}&\hspace{0.5cm} \Delta _t \in [d^{\min }_t,d^{\max }_t]{} & {} \forall t \in \{f_c,\dots ,l_c\}. \end{aligned}$$
(69)

This problem can be solved in polynomial time using a greedy algorithm that considers a list L of time periods t ordered decreasingly by \(G'_t\). In particular, in such a list, \(t_1 \in L\) represents the time period \(t \in \{f_c,\dots ,l_c\}\) for which \(G'_t\) is the largest. An optimal solution for this problem can be obtained by defining \(\Delta _{t_i}=d^{\min }_{t_i} + \delta _{t_i}\) for all \(t_i \in L\), where \(\delta _{t_i} \ge 0\). Intuitively, the values of \(\Delta _{t_i}\) are set to \(d^{\max }_{t_i}\) in the order defined by L. However, Constraint (68) imposes a total amount of \(\overline{d}_c\), and hence this will be possible up to a given time period \(t_k\) for which \(\delta _{t_k} = \overline{d}_c - \sum _{t_j \in L | j\ge k}d^{\min }_{t_j} - \sum _{t_j \in L | j<k} d^{\max }_{t_j}\), and, for the subsequent periods \(t_j\), i.e., such that \(j>k\), we will have \(\delta _{t_j}=0\). Formally, we have:

$$\begin{aligned} \delta _{t_i} = \max (0,\min (d^{\max }_{t_i}-d^{\min }_{t_i}, \overline{d}_c - \sum _{t_j \in L | j \ge i}d^{\min }_{t_j} - \sum _{t_j \in L | j<i} d^{\max }_{t_j})), \ \ \ \ \ \forall t_i \in L. \end{aligned}$$

Note that \(\delta _{t_i}=0\) if \( \sum _{t_j \in L | j \ge i}d^{\min }_{t_j} + \sum _{t_j \in L | j<i} d^{\max }_{t_j} \ge \overline{d}_c\), and \(\delta _{t_i} = \min (d^{\max }_{t_i}-d^{\min }_{t_i}, \overline{d}_c - \sum _{t_j \in L | j \ge i}d^{\min }_{t_j} - \sum _{t_j \in L | j<i} d^{\max }_{t_j})\) otherwise. Hence, \(\delta _{t_i}\) can be rewritten as follows:

$$\begin{aligned} \delta _{t_i} = \min (d^{\max }_{t_i}-d^{\min }_{t_i}, \overline{d}_c - \min (\overline{d}_c,\sum _{t_j \in L | j \ge i}d^{\min }_{t_j} + \sum _{t_j \in L | j<i} d^{\max }_{t_j})), \ \ \ \ \ \forall t_i \in L. \end{aligned}$$

Note that, given an optimal solution \((\Delta _t)_{t \in \{f_c,\dots ,l_c\}}\), the values of \(x_t\) that respect Constraints (63) and (64) can be obtained as follows:

$$\begin{aligned}&x_{f_c}=B^{\max }.{} & {} \\&x_{t+1} = x_{t}-\Delta _t{} & {} \forall t \in \{f_c,\dots ,l_c\}. \end{aligned}$$

Again, note that this implies \(x_{l_c+1} = x_{f_c} - \sum _{t=f_c}^{l_c}(x_t-x_{t+1}) = B_{\max } - \sum _{t=f_c}^{l_c}\Delta _t = B_{\max } - \overline{d}_c\). Finally, we can rewrite \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) as follows:

$$\begin{aligned}&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\nonumber \\ =&\sum _{t_i \in L}G'_{t_i}d^{\min }_{t_i} + \sum _{t_i \in L}G'_{t_i}\Big [ \min \big (d^{\max }_{t_i}-d^{\min }_{t_i}, \overline{d}_c-\min (\overline{d}_c, \sum _{t_j \in L | j \ge i}d^{\min }_{t_j} + \sum _{t_j \in L | j<i} d^{\max }_{t_j})\big ) \Big ].{} & {} \end{aligned}$$
(70)

To simplify the writing, let us define \(d^{\min }\) as the lower bound imposed on \(\overline{d}_c\), computed as \(d^{\min }=\sum _{t=f_c}^{l_c}d^{\min }_t\), and \(d^{\max }\) as the upper bound, computed as \(d^{\max }=\min (\sum _{t=f_c}^{l_c}d^{\max }_t,B^{\max }-B^{\min })\). Now, let us fix a time period \(t_{i^*} \in L\), and assume that \(\overline{d}_c \in [d^{\min }+ \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}), d^{\min } +\sum _{t_j \in L | j \le i^*} (d^{\max }_{t_j}-d^{\min }_{t_j})]\), where \(d^{\min } + \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}) = \sum _{t_j \in L | j \ge i^*} d^{\min }_{t_j}+\sum _{t_j \in L | j < i^*} d^{\max }_{t_j}\) and \(d^{\min } + \sum _{t_j \in L | j \le i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}) = \sum _{t_j \in L | j > i^*} d^{\min }_{t_j}+\sum _{t_j \in L | j \le i^*} d^{\max }_{t_j}\). Then, Eq.  (70) can be decomposed into three parts:

  • for all \(t_i\) in L such that \(i<i^*\),

  • for \(t_i=t_{i^*}\),

  • and for all \(t_i\) in L such that \(i>i^*\).

In the first case, for any time period \(t_i\) in L such that \(i<i^*\), we have that \(\overline{d}_c \ge d^{\min } + \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}) \ge d^{\min } + \sum _{t_j \in L | j<i} (d^{\max }_{t_j}-d^{\min }_{t_j})\), which implies that \(\min (\overline{d}_c,d^{\min } + \sum _{t_j \in L | j<i} (d^{\max }_{t_j}-d^{\min }_{t_j})) = d^{\min } + \sum _{t_j \in L | j<i} (d^{\max }_{t_j}-d^{\min }_{t_j})\). Moreover, we have that \(\overline{d}_c \ge d^{\min } + \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}) \ge d^{\min } + \sum _{t_j \in L | j\le i} (d^{\max }_{t_j}-d^{\min }_{t_j})\), since \(i\le i^*-1\), which implies that \(\overline{d}_c-d^{\min } - \sum _{t_j \in L | j<i} (d^{\max }_{t_j}-d^{\min }_{t_j}) \ge d^{\max }_{t_i}-d^{\min }_{t_i}\). Then, from Eq.  (70), we have \(\Delta _{t_i} = x_{t_i}-x_{{t_i}+1} = d^{\min }_{t_i} + d^{\max }_{t_i}-d^{\min }_{t_i} = d^{\max }_{t_i}\).

When \(t_i=t_{i^*}\), we have \(\overline{d}_c \ge d^{\min } + \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j})\) and \(\overline{d}_c \le d^{\min } + \sum _{t_j \in L | j\le i^*} (d^{\max }_{t_j}-d^{min}_{t_j})\), i.e., \(\overline{d}_c - d^{\min } - \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}) \le d^{\max }_{t_{i^*}}-d^{\min }_{t_{i^*}}\). Hence, from Eq.  (70), we have \(\Delta _{t_{i^*}} = x_{t_{i^*}}-x_{{t_{i^*}}+1} = d^{\min }_{t_{i^*}} + \overline{d}_c - d^{\min } - \sum _{t_j \in L | j<i^*} (d^{\max }_{t_j}-d^{\min }_{t_j})\).

In the third case, for any time period \(t_i \) in L such that \(i>i^*\), we have \(\overline{d}_c \le d^{\min } + \sum _{t_j \in L | j\le i^*} (d^{\max }_{t_j}-d^{\min }_{t_j}) \le d^{\min } + \sum _{t_j \in L | j<i} (d^{\max }_{t_j}-d^{\min }_{t_j})\), which implies from Eq.  (70) that \(\Delta _{t_i}=x_{t_i}-x_{{t_i}+1}=d^{\min }_{t_i}\).

Thus, we can rewrite \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) by splitting the sum over \(t_i\) into three parts, as follows:

$$\begin{aligned}&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\nonumber \\ =&\sum _{t_i \in L | i<i^*}G'_{t_i}d^{\max }_{t_i} +G'_{t_{i^*}} \Big ( d^{\min }_{t_{i^*}} + \overline{d}_c - d^{\min } - \sum _{t_i \in L | i<i^*} (d^{\max }_{t_i}-d^{\min }_{t_i} )\Big ) +\sum _{t_i \in L | i > i^*}G'_{t_i}d^{\min }_{t_i}. \hspace{-0.6cm}{} & {} \end{aligned}$$
(71)

This yields:

$$\begin{aligned}&\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\nonumber \\ =&\sum _{t_i \in L | i<i^*}G'_{t_i}d^{\max }_{t_i} +G'_{t_{i^*}}\overline{d}_c -G'_{t_{i^*}} \Big ( d^{\min } +\sum _{t_i \in L | i<i^*} (d^{\max }_{t_i}-d^{\min }_{t_i}) \Big ) +\sum _{t_i \in L | i \ge i^*}G'_{t_i}d^{\min }_{t_i}.{} & {} \end{aligned}$$
(72)

Hence, we obtain that, for each c, \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) is a function of \(\overline{d}_c\) and \(\overline{d}_{c^-}\), that we will simply denote by \(f_c^S(\overline{d}_c, \overline{d}_{c^-})\), where \(c^-\) is the curtailment with \(\overline{y}_{c^-}=1\) that directly precedes c in the optimal solution. Note that the dependence in \(\overline{d}_c\) is linear, but the one in \(\overline{d}_{c^-}\) is not, as \(\overline{d}_{c^-}\) is implicitly used in the computation of \(p_c^{\max }\), which in turn is used in the computation of \(d_t^{\min }\) for each \(t \in \{f_c, \dots , l_c\}\).

However, in the case where the computation of the variables \(p_c^{\max }\) only depends on the values \(\overline{y}_c\) themselves, things are different. Indeed, in this case, all terms in Eq.  (72) are constant, except the term \(G'_{t_{i^*}}\overline{d}_c\). Thus, \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B)\big )\) is then a linear function of \(\overline{d}_c\), and the same holds for any \(t_{i^*} \in L\). Furthermore, the union of the intervals \([d^{\min }+ \sum _{t_i \in L | i<i^*} (d^{\max }_{t_i}-d^{\min }_{t_i}), d^{\min } +\sum _{t_i \in L | i \le i^*} (d^{\max }_{t_i}-d^{\min }_{t_i})]\) for all \(t_{i^*} \in L\) covers all the possibles values of \(\overline{d}_c\) in the range \([d^{\min },d^{\max }]\). As a consequence, since all parts of the function \(\max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,z_t,u_t^D,u_t^B)\big )\) are linear, it is in fact, in this special case, a piecewise linear function of \(\overline{d}_c\) in the range \([d^{\min },d^{\max }]\), that we will simply denote by \(f_c^S(\overline{d}_c)\). We can even show that \(f_c^S(\overline{d}_c)\) is continuous with respect to \(\overline{d}_c\) in such a range. Indeed, let us assume that \(\overline{d}_c = d^{\min }+ \sum _{t_i \in L | i\le i^*}(d^{\max }_{t_i}-d^{\min }_{t_i})\) for some \(t_{i^*} \in L\), which implies that \(\overline{d}_c \in [d^{\min }+ \sum _{t_i \in L | i<i^*} (d^{\max }_{t_i}-d^{\min }_{t_i}), d^{\min } +\sum _{t_i \in L | i \le i^*} (d^{\max }_{t_i}-d^{\min }_{t_i})]\) and that \(\overline{d}_c \in [d^{\min }+ \sum _{t_i \in L | i\le i^*} (d^{\max }_{t_i}-d^{\min }_{t_i}), d^{\min } +\sum _{t_i \in L | i \le i^*+1} (d^{\max }_{t_i}-d^{\min }_{t_i})]\):

  1. (i)

    to begin with, \(f_c^S(\overline{d}_c)\) is equal to \(\sum _{t_i \in L | i<i^*}G'_{t_i}d^{\max }_{t_i} +G'_{t_{i^*}}(d^{\min }+ \sum _{t_i \in L | i\le i^*}(d^{\max }_{t_i}-d^{\min }_{t_i})) -G'_{t_{i^*}} \Big ( d^{\min } +\sum _{t_i \in L | i<i^*} (d^{\max }_{t_i}-d^{\min }_{t_i}) \Big ) +\sum _{t_i \in L | i \ge i^*}G'_{t_i}d^{\min }_{t_i}\) \(=\) \( \sum _{t_i \in L | i<i^*}G'_{t_i}d^{\max }_{t_i} +G'_{t_{i^*}}(d^{\max }_{t_{i^*}}-d^{\min }_{t_{i^*}}) +\sum _{t_i \in L | i \ge i^*}G'_{t_i}d^{\min }_{t_i}\) \(=\) \( \sum _{t_i \in L | i\le i^*}G'_{t_i}d^{\max }_{t_i} +\sum _{t_i \in L | i > i^*}G'_{t_i}d^{\min }_{t_i}\).

  2. (ii)

    then, it is also equal to \(\sum _{t_i \in L | i \le i^*}G'_{t_i}d^{\max }_{t_i} +G'_{t_{i^*+1}}(d^{\min }+ \sum _{t_i \in L | i\le i^*}(d^{\max }_{t_i} - d^{\min }_{t_i})) - G'_{t_{i^*+1}}\Big (d^{\min } + \) \(\sum _{t_i \in L | i\le i^*} (d^{\max }_{t_i} - d^{\min }_{t_i}) \Big ) +\sum _{t_i \in L | i \ge i^*+1}G'_{t_i}d^{\min }_{t_i}\) \(=\) \(\sum _{t_i \in L | i \le i^*} G'_{t_i}d^{\max }_{t_i} + \sum _{t_i \in L | i \ge i^*+1}G'_{t_i}d^{\min }_{t_i}\) \(=\) \( \sum _{t_i \in L | i\le i^*}G'_{t_i}d^{\max }_{t_i} +\sum _{t_i \in L | i > i^*}G'_{t_i}d^{\min }_{t_i}\).

Summing up, we have managed to prove that, for each c, we have the following result:

$$\begin{aligned} \max _{((x_t)_{t},(u_t^D)_{t},(u_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})}\big (f_c^S(x_t,u_t^D,u_t^B) - f_c^B(x_t,u_t^D,u_t^B)\big ) = f_c^S(\overline{d}_c, \overline{d}_{c^-}) - f_c^B(\overline{d}_c). \end{aligned}$$

Let \(f_c^G(\overline{d}_c, \overline{d}_{c^-}) = f_c^S(\overline{d}_c, \overline{d}_{c^-}) - f_c^B(\overline{d}_c)\) for each c. Intuitively, for any curtailment c such that \(\overline{y}_c=1\), the value of \(f_c^G\) gives the best total economic gain associated with c. Moreover, as we have discussed throughout the proof, we must have \(((\overline{y}_c)_{c \in \mathcal {C}},(\overline{d}_c)_{c \in \mathcal {C}}) \in \mathcal {F}_{opt}\). In particular, for each c, \(\overline{d}_c\) must belong to \(]{\Delta }\sum _{t=l_c+1}^{t^B_c-1} \min (P_B,P^{\max }-W_{t}), {\Delta }\sum _{t=l_c+1}^{t^B_c} \min (P_B,P^{\max }-W_{t})]\) because of the function \(f_c^B\), and to \([d^{\min },d^{\max }]\) because of the function \(f_c^S\). Conversely, for any \(((\overline{y}_c)_{c \in \mathcal {C}},(\overline{d}_c)_{c \in \mathcal {C}}) \in \mathcal {F}_{opt}\), we have also shown how to compute \(((\overline{x}_t)_{t},(\overline{u}_t^D)_{t},(\overline{u}_t^B)_{t}) \in \mathcal {F}^{*}_c(\overline{y},\overline{d})\). In other words, we have essentially proved that \(\mathcal {F}^{*} = \mathcal {F}_{opt}\), which, together with the computation of \(f_c^G(\overline{d}_c, \overline{d}_{c^-})\), implies the first part of the proposition.

Recall that, if the computation of the values of the variables \(p_c^{\max }\) only depends on the values \(\overline{y}_c\) themselves, then \(f_c^S(\overline{d}_c, \overline{d}_{c^-}) = f_c^S(\overline{d}_c)\), and hence we have \(f_c^G(\overline{d}_c) = f_c^S(\overline{d}_c) - f_c^B(\overline{d}_c)\) for each c. Moreover, in this case, since \(f_c^B\) and \(f_c^S\) are continuous piecewise linear functions of \(\overline{d}_c\), \(f_c^G\) is also a continuous piecewise linear function for \(\overline{d}_c\) in such a range (Edelsbrunner et al. (1989)). The subtraction of two piecewise linear functions can be done in linear time in function of the number of parts of each function (Edelsbrunner et al. (1989)); this number is at most \(T-l_c\) for \(f_c^B\) and at most \(l_c-f_c+1\) for \(f_c^S\), and hence \(f_c^G\) can be computed in O(T) time. \(\square \)

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Silva, I.F., Bentz, C., Bouhtou, M. et al. Optimization of battery management in telecommunications networks under energy market incentives. Ann Oper Res 332, 949–988 (2024). https://doi.org/10.1007/s10479-023-05402-6

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-023-05402-6

Keywords

Navigation