1 Introduction

With increasing penetration of wind generation, power systems are faced with great challenges in dealing with the variability and uncertainty of renewable resources. With very flexible charging-discharging characteristics, grid-scale energy storage is one of many potential sources of grid flexibility which can aid variable renewable integration. An energy storage system can provide multiple functions in coordinating wind power in the power system. For example, energy storage can be used for load time shifting, wind power smoothing or energy arbitrage. The idea is to store energy during the periods of low demand or low energy prices, and stands ready to dispatch energy to the grid during the periods of high demand or high energy prices. Energy storage can also provide ancillary services to the system. Moreover, energy storage can be used to reduce or eliminate the deviations from generation schedules, making wind farms more like conventional generators. Meanwhile, energy storage can provide some other services, like flexible ramping capacity [1] or increased do-not-exceed limits for wind power [2], in order to satisfy the integration requirements from the power grid.

Among the energy storage systems available, the battery energy storage system (BESS) is the most widely utilized technology for wind farms because this technology has been rapidly improved [3]. In recent years, there have been many BESS announced, contracted and built for wind farms around the world. For example, a 10 MW advanced lead-acid battery and a 31.5 MW lithium-ion phosphate battery are integrated with the 21 MW Kaheawa Wind Power II project in Hawaii and the 100.5 MW wind farm in West Virginia, respectively. In China, a 14 MW lithium-ion phosphate battery and a 2 MW vanadium redox flow battery have been built in Zhangbei National Wind and Solar Energy Storage and Transmission Demonstration Project. Recent research efforts have focused on how to coordinate the wind power with BESS for multiple objectives, such as smoothing power fluctuations [4, 5], energy arbitrage [6], regulation [7], and other ancillary services [8, 9].

It is well known that one of the biggest barriers for application of the grid-scale BESS is its high cost [10]. The average lithium-ion battery cost in 2015 is 350000~700000 $/MWh [11], and the realized investment costs of grid-scale BESS are substantially higher. Meanwhile, energy storages have limited lifespan. For example, the average full cycle life of the lithium-ion battery is only 4500 cycles [12]. Considering that the life of a battery is much shorter than that of a conventional generator, and the battery station investment cost and the battery cell replacement cost are high, it becomes important to consider the degradation cost of BESS. Furthermore, battery lifetime is closely related with the operational performances, for instance, frequent and deep cycles accelerate cyclic aging and reduce the cycle life [13]. Thus, the short-term operation of a battery affects the overall lifetime of the battery. The interplay between short-term operation and long-term battery lifetime are therefore necessary to be considered. There is a cost-benefit trade-off between two desirable goals, i.e. 1) better battery health status and longevity, and 2) better performance of a wind-BESS. Generally, if one is willing to accept making less profit in the energy market (such as curtailing more wind power sometimes), or a less smooth wind power output, the battery can spare some effort and degradation. Thus, it is important to consider the battery degradation in order to best take advantage of BESS. In many cases, it may be profitable to extend the BESS lifespan by adjusting its operation to some degree.

The battery lifetime and degradation problems have attracted attentions in recent literatures. For microgrid operation, [14] proposes a detailed physical-based degradation model solved by dynamic programming. References [15, 16] propose degradation models to extend battery life in electric vehicles. Reference [17] builds a battery degradation cost model in a short-term scheduling problem, and proposes a big-M linearization method for degradation calculation. Reference [8] considers degradation cost for battery bidding in the ancillary service market, and solves it by nonlinear solvers.

In this paper, we propose a method for coordinated operation of wind-BESS considering battery degradation. Compared with existing research, our main contributions are:

  1. 1)

    We propose a hybrid deterministic/stochastic look-ahead rolling optimization model for coordinated wind-BESS operation in the real-time market. Inspired by the rolling optimization proposed in [18], we derive a deterministic/stochastic model based on the timelines of a rolling wind power forecast and the real-time market, which is suitable for wind-BESS real-time operation and bidding.

  2. 2)

    We build a battery degradation model for the wind-BESS operation. This is accomplished by introducing degradation percentage constraints as well as a degradation cost in the objective function. Compared to the literature which ignores or simplifies the battery cost, such as [4, 18], this paper introduces a more accurate battery degradation cost model representing degradation under different states of charge (SoCs) during charging and discharging processes. Compared to the existing battery degradation studies, such as [16, 17], we propose a different linearization method to transform the degradation model into a mixed integer linear programming (MILP) problem, which can be solved by commercial solvers, and therefore have great potential to be used in multiple applications.

This paper is organized as follows. Section 2 describes the overall wind-BESS look-ahead rolling optimization method and its timeline. Section 3 introduces the background, mathematical formulation and linearization method of battery degradation. Section 4 presents the wind-BESS model formulation. Section 5 provides results from a case study. Section 6 concludes this paper.

2 Wind-BESS coordinated operation timeline

A hybrid deterministic/stochastic look-ahead rolling optimization method of the wind-BESS is proposed, with the assumed timeline in the real-time market as shown in Fig. 1. The timelines of the real-time energy markets are market dependent. For example, New York Independent System Operator (NYISO) and California Independent System Operator (CAISO) close the real-time market 75 minutes before the start of the operating hour and post the real-time commitment results 45 minutes prior to the start of the operating hour [19, 20]. In contrast, Midcontinent Independent System Operator (MISO) closes it 30 minutes before the operating hour [21]. In this paper, we assume that the wind-BESS bids in the real-time energy market one hour before the operating hour. For example, for operating hour H, the generation plan of wind-BESS is submitted to Independent System Operator(ISO) at the beginning of hour H−1. The wind-BESS submits their bids every one hour. It should be noted that this timeline is flexible and adjustable, which can be changed according to the detailed timeline in different electricity markets.

Fig. 1
figure 1

Timeline of wind-BESS operation in the real-time market

We set up our model based on two assumptions as follows:

  1. 1)

    Wind-BESS bids will always be accepted. The competition and interaction among different generators are not considered.

  2. 2)

    The wind-BESS is a price-taker. For consideration of price-maker impacts, we refer to [22].

Wind power forecast errors have important impacts on the performance of wind-BESS operation. Here we propose a hybrid deterministic/stochastic programming approach for the coordinated operation of wind-BESS operation. The optimization algorithm is run before hour H−1 and can be split into three time segments, as illustrated in Fig. 1 and explained below.

  1. 1)

    For hour H−1

The generation schedule of hour H−1 has previously been submitted at the beginning of hour H−2. The submitted generation schedules cannot be revised. Here we extend the definition of uninstructed deviation penalty (UDP) in CAISO for conventional generation to wind generation, and penalize the deviation of power between the real-time market offer (which is equal to the generation schedule) and the realized delivery if the deviation exceeds a defined tolerance band [23]. Considering that the previous bid is based on previous wind power forecasts, forecast errors are inevitable. Thus, the operation of the wind-BESS needs to be further optimized and adjusted to avoid deviation penalties between the real-time schedule and the realized delivery. Meanwhile, the wind power forecast for hour H−1 is updated at the beginning of hour H−1, which is assumed to be accurate without errors due to the short forecast horizon for simplicity. Thus for hour H−1, we build a deterministic optimization model with the updated wind power forecast, which is assumed perfect for this hour.

  1. 2)

    For hour H

Wind power forecast accuracy is improved closer to the operating time, so the wind power forecast for hour H is less accurate than the one for hour H−1. In order to address the impacts of wind power forecast uncertainty, we make use of stochastic scenarios to fully account for the probability distribution of the wind power forecast errors [24, 25].

  1. 3)

    For hours H+1 and H+2

The generation schedules for hours H+1 and H+2 are not offered to the market at the beginning of hour H−1. However, BESS needs to keep an appropriate energy storage level for the next few hours because of the inter-temporal constraints of BESS. Therefore, a two-hour look-ahead operation is proposed, rather than optimizing bids for only one individual time period. Overall, the time horizon for the optimization problem is therefore 4 hours, i.e., from H−1 to H+2, as indicated in Fig. 1.

We use the forecast data from the high-resolution rapid refresh (HRRR) model of National Oceanic and Atmospheric Administration (NOAA) in the U.S. as a typical high resolution wind forecast. The forecast is updated hourly with a 4~15 hours ahead the horizon at 15 minutes resolution [26]. Thus, for the H−1 time period, the deterministic optimization is at 15 minutes time resolution. As for the H to H+2 time periods, the stochastic optimization is done at one hour time resolution. The overall look-ahead rolling optimization runs every one hour with an updated wind power forecast.

3 Modeling and linearization of battery degradation

3.1 Background

The progressive degradation of batteries leads to reduced capacity, reduced efficiency, and safety concerns. Cycle life is expressed in terms of the number of charging-discharging cycles that the battery can undertake before it has to be replaced. Multiple factors contribute to battery degradation, such as temperature, charging/discharging current rate, SoC, depth of discharge (DoD), and cycling regime. For example, one of the major factors that limits the cycle life for certain lithium-ion batteries (such as Li0.3MnO2) is DoD due to reactions with deposited lithium [27]. Cycling the battery at a high DoD can therefore dramatically reduce the number of lifetime cycles for lithium-ion batteries [28]. Reference [29] presents a cycle life versus DoD curve of a lithium nickel manganese cobalt oxide (NMC) battery by using a least-square fitting method based on test bed experiment data, as shown in Fig. 2. In some literatures the curve is assumed to be an exponential function. For example, the function is 1591.1×DoD −2.089 [17], or 10000×DoD k (k is a constant ranging from 0.8 to 2.1) [8]. Reference [30] presents a degradation map in terms of DoD and current rate.

Fig. 2
figure 2

Cycle life versus DoD curve for lithium-ion NMC battery

Typically, the cycle life versus DoD curve is acquired by repeatedly discharging the battery to a specified DoD level, and recharging it to the full capacity, which called “regular cycles”. However, grid-scale BESS are usually operated at irregular cycles. For example, BESS will response to energy price signals in the energy market and automatic generation control (AGC) signals if it participates in the ancillary service market. Grid-scale BESS can hardly run regular cycles from 100% to a specific DoD. Thus, it is necessary to build a battery degradation model to reflect irregular cycle impacts. Considering that lithium-ion batteries are mostly applied in practice today, we mainly focus on lithium-ion batteries in this paper.

3.2 Modeling

Battery degradation can be divided into shelf degradation (calendar fade) and cycle degradation [31]. Shelf degradation corresponds to the normal corrosion process, which is independent of its cycling behavior, and thus regarded as a constant [8]. Cycle degradation corresponds to the cycle regime, as discussed in Section 3.1. For a given time period, assumed to be a day, the battery degradation is set as the larger one between the shelf degradation and cycle degradation, as shown in (1). All the degradation is measured by a percentage reduction in the battery cycle life.

$$DP_{{}} = \hbox{max} \left\{ {DP_{{}}^{cy} ,DP_{{}}^{shelf} } \right\}$$

where DP is the degradation percentage; DP cy is the cycle degradation percentage; DP shelf is the shelf degradation percentage.

Shelf degradation is assumed as straight-line depreciation over the shelf life, as shown in (2). A straight-line depreciation method is used to calculate depreciation by time period. Shelf life is the length of time that a commodity may be stored without becoming unfit for use. For example, if the battery shelf life is 20 years, it means the daily degradation is at least 1/365/20 = 0.0137% no matter whether it is in operation or not.

$$DP_{{}}^{shelf} = \frac{100\% }{{L^{shelf} }}$$

where L shelf is the shelf life.

Cycle degradation is related with the battery operation regime, and is calculated by the units-of-production depreciation method, as shown in (3). This method is used to calculate depreciation in terms of the total number of units expected to be produced. For example, if the total number of the battery cycles is 3000 with 80% DoD, it means every cycle from 100% to 20% consumes 1/3000 = 0.033% of the total life.

$$DP_{{}}^{cy} = \frac{100\% }{{N_{{}}^{cy} }}$$

where N cy is the total number of the battery cycles.

In order to describe the battery cycles from different SoC starting points and ending points, we refer to [16, 32] and use the degradation difference between two regular cycles to estimate the degradation of one irregular cycle. The daily degradation is the sum of degradation during each time interval, as shown in (4). For each time interval, the degradation is calculated by subtracting two regular cycles, as shown in (5), where 0.5 indicates that each charging or discharging process consumes half of the full cycle degradation. deg t can be obtained by the degradation-SoC curve, where SoC = 1−DoD, and the value is the inverse function of the cycle life versus DoD curve, as shown in Fig. 3. For example, if the battery is discharged from 20% DoD to 80% DoD in one period, the degradation percentage during this process is |1/34957 − 1/3221|×0.5 = 0.014%.

$$DP_{{}}^{cy} = \sum\limits_{t} {deg_{t}^{cy} }$$
$$deg_{t}^{cy} = 0.5\left| {deg_{t}^{{}} - deg_{t - 1}^{{}} } \right|\;$$

where deg t is the value in degradation-SoC curve at time point t.

Fig. 3
figure 3

Degradation-SoC curve

As to the BESS operation, there are two apparent ways to ensure a long battery life: the first is to restrict cycle life degradation over the planning period, and the second is to attribute a cost to the objective function reflecting the cost of degradation. Here we consider these two methods by (6) and (7), respectively. For example, if the battery is desired to operate for at least 10 years, the daily degradation must be less than 1/10/365 = 0.0274%. In (7), the residual value describes the salvage value (scrap value) of the battery at the end of its lifetime.

$$DP_{{}} \le \alpha$$
$$C_{{}}^{BD} = \left( {\pi_{B}^{rpl} - \pi_{B}^{res} } \right)DP_{{}}$$

where α is the allowance degradation percentage; C BD is the cost of battery degradation; \(\pi_{B}^{rpl}\) and \(\pi_{B}^{res}\) are the replacement and residual value, respectively.

3.3 Linearization

The battery degradation model needs to reflect a degradation-SoC curve, which consists of nonlinear functions. Considering that (6) is an inequality constraint, and (7) will be minimized in the objective function, we can linearize the non-linear parts by adding binary variables and dummy continuous variables.

First, equation (1) is transformed to (8) and (9). Then, \(DP_{t}^{cy}\)can be replaced by \(DP_{t}^{cy \prime }\) by adding (10) and (11).

$$DP_{{}} \ge DP_{{}}^{cy}$$
$$DP_{{}} \ge DP_{{}}^{shelf}$$
$$DP_{t}^{cy \prime } \ge 0.5\;\left( {deg_{t}^{{}} - deg_{t - 1}^{{}} } \right)\;$$
$$DP_{t}^{cy \prime } \ge 0.5\left( { - deg_{t}^{{}} + deg_{t - 1}^{{}} } \right)\;$$

where \(DP_{t}^{cy \prime}\) is the dummy variable for \(DP_{t}^{cy}\) in the linearization process.

Finally, the degradation-SoC curve can be linearized by using special order sets (SOSs) as:

$$SoC_{t} = \sum\limits_{m} {\varDelta_{t,m} SoC_{t,m} }$$
$$deg_{t} = \sum\limits_{m} {\varDelta_{t,m} deg_{t,m} }$$
$$\sum\limits_{m} {\varDelta_{t,m} } = 1\;$$
$$\sum\limits_{m} {\delta_{t,m} } = 1\;$$
$$\varDelta_{t,m} \le \delta_{t,m} + \delta_{t,m - 1} \;$$

where m is the index of piecewise segment of battery SoC; m,t and δ m,t are SOSs of linearization degradation-SoC curve at time point t.

4 Wind-BESS model formulation

The detailed formulation is described as follows. j, t, k, s are the indices of wind farms, time points, battery energy storage, scenarios, respectively. W is the set of wind farms. BAT is the set of battery storage plants. T 1 and T 2 are the sets of deterministic/stochastic optimization time periods, respectively. S 1 and S 2 are the sets of deterministic and stochastic scenarios, respectively. If there is no specific explanation, \(k \in BAT\), \(j \in W\), \(t \in T_{1} \cup T_{2}\), \(s \in S_{1} \cup S_{2}\). Equation (17) defines the objective to maximize the profit of the wind-BESS. Equation (17) includes the revenue from the energy market, the cost of battery degradation, the cost of wind curtailment (if any), and the cost due to power deviation penalty. For the deterministic optimization period, \(\rho_{s} = 1\). Equation (18) defines the revenue from net output/input to the grid. Equations (19) and (20) define the costs of BESS degradation and power deviation penalties, respectively. Equation (21) defines the wind power curtailment cost. Equation (22) represents the net power output/input of the wind-BESS. Equation (23) is the wind power curtailment constraint. Equations (24)–(26) set power limits for BESS charging/discharging levels, indicating the BESS cannot charge and discharge at the same time. Equations (27) and (28) represent the SoC limits, and the relationship between SoC and the BESS charging/discharging behavior. Note that the SoC at the end of H−1 in S 1 must be the same as the SoC at the beginning of H in S 2. Equation (29) sets the degradation percentage limit for BESS operation, as explained in Section 3.

$$\hbox{max} \;\rho_{s} \sum\limits_{s} {\left( {R_{s}^{P} - C_{s}^{PN} - C_{s}^{BD} - C_{s}^{WC} } \right)}$$

where \(\rho_{s}\) is the probability in scenario s; \(R_{s}^{P}\) is the revenue in the energy market of scenario s; \(C_{s}^{PN}\) is the cost of deviation penalty between the real-time market offer and realized delivery; \(C_{s}^{BD}\) is the cost of battery degradation in scenario s; \(C_{s}^{WC}\) is the cost of wind curtailment in scenario s.

$$R_{s}^{P} = \pi_{t}^{G} \sum\limits_{t,s} {P_{G,t,s} }$$

where \(\pi_{t}^{G}\) is the energy price at time point t; \(P_{G,t,s}\) is the net power input/output of wind-BESS at time point t in scenario s.

$$C_{s}^{BD} = \sum\limits_{k} {\left( {\pi_{B,k}^{rpl} - \pi_{B,k}^{res} } \right)DP_{k,s} }$$
$$C_{s}^{PN} = \sum\limits_{t,s} {\pi_{t}^{PN + } P_{PN,t,s}^{ + } + \;\pi_{t}^{PN - } P_{PN,t,s}^{ - } } \;\;\; \; \;s \in S_{1} ,\;t \in T_{1}$$

where \(P_{PN,t,s}^{ + }\) and \(P_{PN,t,s}^{ - }\) are the realized delivery exceeding the tolerance band at time point t in scenario s; “+” is positive deviation, “−” is negative deviation; \(\pi_{t}^{{PN{ + }}}\) and \(\pi_{t}^{PN - }\) are penalty prices of deviation between the real-time market offer and the realized delivery exceeding the tolerance band, “+” is positive deviation, “−” is negative deviation.

$$C_{s}^{WC} = \sum\limits_{t,s} {\pi_{t}^{WC} P_{W,jt,s}^{WC} }$$

where \(\pi_{t}^{WC}\) is the price of wind curtailment at time point t; \(P_{W,jt,s}^{WC}\) is the wind curtailment at wind farm j at time point t in scenario s.

$$P_{G,t,s} = \sum\limits_{j} {\left( {P_{W,\;jt,s}^{f} - P_{W,jt,s}^{WC} } \right) + } \sum\limits_{k} {\left( {P_{B,kt,s}^{dis,G} - P_{B,kt,s}^{ch,G} } \right)}$$

where \(P_{W,jt,s}^{f}\) is the power forecast of wind farm j at time point t in scenario s; \(P_{B,kt,s}^{ch,G}\) and \(P_{B,kt,s}^{dis,G}\) are charging and discharging power provided by battery k at time point t in scenario s, respectively .

$$0 \le P_{W,\;jt,s}^{f} - P_{W,jt,s}^{WC} \le P_{W,\;jt,s}^{f} \;\;$$
$$0 \le P_{B,kt,s}^{dis,G} \le P_{k}^{dis,\hbox{max} } I_{kt} \;$$
$$0 \le P_{B,kt,s}^{ch,G} \le P_{k}^{ch,\hbox{max}} \left( {1 - I_{k,t} } \right)\;$$
$$- P_{k}^{ch,\hbox{max} } \le P_{B,kt,s}^{dis,G} - P_{B,kt,s}^{ch,G} \le P_{k}^{dis,\hbox{max} } \;\;$$

where \(P_{k}^{ch,\hbox{max} }\) and \(P_{k}^{dis,\hbox{max} }\) are the maximum charging and discharging power of battery k, respectively; \(I_{kt}\) is the discharging status of battery k at time point t in scenario s (\(I_{kt}\) = 1: discharging, \(I_{kt}\) = 0: not discharging).

$$SoC_{k}^{\hbox{min} } \le SoC_{kt,s} \le SoC_{k}^{\hbox{max} } \;$$
$$\begin{aligned} SoC_{kt,s} = \left( {1 - \varepsilon_{k} } \right)SoC_{k,t - 1,s} + P_{B,kt,s}^{ch,G} \eta_{k}^{{}} E_{k}^{ - 1} \Delta t - \hfill P_{B,kt,s}^{dis,G} \eta_{k}^{ - 1} E_{k}^{ - 1} \Delta t\;\;\; \hfill \\ \end{aligned}$$

where \(SoC_{kt,s}\) is the state of charge of battery k at time point t in scenario s; \(SoC_{k}^{\hbox{min} }\) and \(SoC_{k}^{\hbox{max} }\) are the minimum and maximum states of charge of battery k, respectively; \(\varepsilon_{k}\) is the self-discharge rate of battery k; \(\eta_{k}^{{}}\) is the charging/discharging efficiency of battery k; \(E_{k}\) is the installed energy of battery k.

$$\sum\limits_{s} {\rho_{s} DP_{k,s} } \le \alpha \;\;\;\forall k$$

As to the power deviation between the real-time market offer and the realized power, we refer to the power penalty calculation method of UDP in CAISO, as shown in (30), (31). Only the power deviation exceeding the tolerance band is penalized.

$$P_{PN,t,s}^{ + } = \hbox{max} \left\{ {P_{G,t,s} - \hat{P}_{G,t,s} - P_{TD} ,0} \right\}\;\;\;\;\;\;s \in S_{1} ,\;t \in T_{1}$$
$$P_{PN,t,s}^{ - } = \hbox{max} \left\{ {\hat{P}_{G,t,s} - P_{G,t,s} - P_{TD} ,0} \right\}\;\;\;\;\;\;s \in S_{1} ,\;t \in T_{1}$$

where \(\hat{P}_{G,t,s}\) is the scheduled power input/output of wind-BESS based on previous bidding results at time point t in scenario s; \(P_{TD}\) is the tolerance band of the deviation between the real-time market offer and the realized delivery.

We compare models including different objectives or constraints in this paper, as shown in Table 1. M1 is the basic case without consideration of battery degradation. M2 is the case with battery degradation percentage constraint, while the battery degradation cost is not considered in the objective function. M3 is the case with battery degradation cost in the objective function, while the battery degradation percentage constraint is not considered.

Table 1 Model introductions

5 Case study

5.1 Basic parameters

The proposed model is tested on a 120 MW wind farm with a 6 MW × 3 h (18 MWh) BESS. The parameters of BESS are shown in Table 2. For BESS sizing selection problems, we refer to [33, 34]. The data of the BESS degradation curve is derived from [29], as shown in Fig 3. The desired lifetime of BESS is assumed to be longer than 10 years, and the shelf life is 30 years. According to the battery market report [11], the lithium-ion system costs currently range in 350000~700000 $/MWh and may fall to 172000 $/MWh in 2025. Here we set the replacement cost of BESS at 500000 $/MWh, and the residual value as 50000 $/MWh. The impacts on results with other battery costs are analyzed in Section 5.5.4.

Table 2 Parameters of BESS

The wind farm is assumed to be located in flat terrain in the State of Oklahoma in the U.S. The forecast and realized rolling wind speed data are from the HRRR odel of NOAA. Wind power is calculated for the wind speed at 80 m height by using a standard wind turbine power curve. The cut-in and cut-out wind speeds are 3.07 m/s and 25 m/s, respectively. The probabilistic wind power forecast scenarios are generated by using conditional kernel density estimation, following the procedure in [35]. The probabilistic forecast consists of 1000 discrete realizations according to the estimated probability mass functions for each hour of the next day, and reduced to 10 scenarios for computational tractability [36]. For the purpose of training and generating the wind power forecast, the data are split into a training period (January 1st to July 30st, 2012) and a testing period (August 1st, 2012 to August 31st, 2012). The energy prices for the real-time market are taken from the historical data in the PJM market from August 1st, 2012 to August 31st, 2012. For simplicity, the energy prices are assumed to be known in advance, i.e. price forecasting errors are not considered.

The tolerance band of UDP in CAISO is defined as the greater one of 5 MW or 3% of a unit maximum capacity. In this paper, recognizing the special characteristics of wind power, we define the tolerance band of wind-BESS power deviation from the real-time market offer and the realized delivery to be 10% of the wind farm capacity. In CAISO, the deviation penalty prices are set as 50% and 100% of the local energy price for negative and positive deviations, respectively. However, penalty prices could also be fixed. In this paper, we use the default assumption of a penalty price of 5 $/MWh (as is used for wind power deviations between the day-ahead and the real-time markets in [37]), but we also run several sensitivity cases, also with variable penalties similar to the CAISO rules (as shown in Section 5.5.1). The price of wind curtailment is set as 0, with sensitivity analysis presented in Section 5.5.2.

5.2 One-time optimization results

The results of one-time optimization (August 12th, forecast time: 00:00:00, look ahead time: 00:00:00−04:00:00) are presented in this section to show the effectiveness of the proposed algorithm. The energy prices from August 12th 00:00:00−04:00:00 are $22.79, $22.64, $14.68, and $18.19, respectively. The deterministic (00:00:00 to 01:00:00) and stochastic (01:00:00 to 04:00:00, 10 scenarios) wind power forecast for the next four hours are shown as Fig. 4.

Fig. 4
figure 4

Deterministic/stochastic wind power forecast (00:00:00, August 12th)

The optimization results for the four hours are shown in Table 3. The results across different scenarios are shown by their expected values. The degradation cost in M1 and M2 are calculated after the optimization. The results show that with the help of adding a degradation constraint (M2) or cost (M3), the total profit increases by $1042.1 and $1246.4 in M2 and M3, respectively. Comparing the results of M1 to those in M2, the battery degradation cost in M2 decreases by $1042.1, while the wind-BESS makes only slightly less revenue ($18.9) in the energy market. The deviation penalty costs and wind power curtailment are all zero. The results indicate that it is possible to operate the wind-BESS in a much more economical way without harming its overall performance.

Table 3 Results (expected values) of 4 hour optimization (00:00:00, August 12th)

The BESS charging (negative)/discharging (positive) power and SoC are presented in Fig. 5. Note that the results from 01:00:00 to 04:00:00 are average results across scenarios, and they are in one hour time resolution, thus the power and SoC are stable during each hour. The power and SoC from M1 to M3 have different patterns. Before 01:00:00, the BESS is mainly used to reduce the power deviation penalty due to the sub-hour variations and uncertainty. From 01:00:00 to 04:00:00, the BESS mainly operates to earn more revenue from the energy market. Considering that the energy price from 02:00:00 to 03:00:00 is lower than the other hours, the battery is charging from 02:00:00 to 03:00:00 in M1. However, since the battery degradation percentage is higher than the threshold, or the extra revenue profit from the energy market is less than the increasing battery degradation cost, the battery does not charge or discharge during 01:00:00–04:00:00 in M2 and M3. From the battery schedule and SoC curves (Fig. 5), we find that the BESS in M1 is operated in deeper cycles, compared with M2 and M3, which explains why the latter two have less battery degradation costs, which in turn leads to higher total profits.

Fig. 5
figure 5

BESS power and SoC (00:00:00, August 12th)

Note that only the results from the first hour in the one-time optimization (i.e. from 00:00:00 to 01:00:00) are for realized operation, thus it is important to pay extra attention to the performance in the first hour. Table 4 shows the results during the first hour. The total profits of M2 and M3 are higher due to the lower cost of battery degradation. In particular, M3 outperforms both of the other models, since it considers degradation costs in the objective function and therefore the trade-off between increased profit from the energy market and costs due to degradation.

Table 4 Results of the first hour (00:00:00, August 12th)

5.3 One-day simulation results

The rolling optimization runs hourly, i.e. 24 times in one day. The first hour results from each one-time optimization are aggregated to represent the one-day operation results. The SoC of the battery before each optimization is updated based on the results from the previous hour. In this section, we analyze the optimization results for August 12th. The energy price, one hour-ahead forecast (average) and real-time realized wind power are shown in Fig. 6. The hourly total profit of M1, M2 and M3 are shown in Fig. 7. The profits are negative in some hours due to large wind power forecast errors (04:00:00) and low wind speed (17:00:00 to 18:00:00), when the revenues from the energy market are less than the total cost. In general, high wind speed and high energy prices will help the wind-BESS to make more profit. Meanwhile, the degradation constraint in M2 and cost in M3 help to increase the total profit, also over the full day, by reducing the degradation cost. A more detailed comparison of the aggregate results for the day is given in Table 5. The total profits of M2 and M3 are 7.7% and 9.2% higher than that of M1.

Fig. 6
figure 6

Hourly energy prices, wind power forecast, and realized wind power generation (August 12th)

Fig. 7
figure 7

Hourly total profit (August 12th)

Table 5 Results of one-day (August 12th)

5.4 One-month results analysis

In this section, we present results for one full month (, 2012 August), as shown in Table 6. The differences of daily total profit between M1 and M2, and the differences between M1 and M3 are shown in Fig. 8. It can be seen that M2 and M3 increase the total profit, except for on August 5th. Moreover, M3 consistently outperforms M2. The total profits of M2 and M3 are 4.2% and 6.0% higher than that of M1 over the month. As to the battery, the overall degradation of M2 and M3 is 46.8% and 32.0% compared with M1, which means the expected battery life is extended more than two and three times, respectively.

Table 6 Results of one-month simulation (August, 2012)
Fig. 8
figure 8

Daily total profit differences (August, 2012)

5.5 Sensitivity analysis

Sensitivity analysis of deviation penalty prices, wind curtailment prices, BESS sizes and BESS replacement cost are provided for the full day of August 12th in this section.

5.5.1 Sensitivity analysis of deviation penalty prices

The results of one-day (August 12th) simulations of different deviation penalty prices are compared in Table 7 and Table 8. The prices of four cases are shown as follows. The penalty prices in Case 1-2 are fixed. The prices of Case 3 are the same as the UDP prices in CAISO. Case 4 are similar to case 3 but have the same prices for negative and positive deviations. From the results we can find that the higher penalty prices lead to less penalized power deviations, although the differences are relatively small (Table 7). Higher deviation penalties also reduce the total profits (Table 8).

$$ \begin{aligned} {\text{Case 1}}:\pi_{t}^{PN + } &= \pi_{t}^{PN - } = 5\,\$ /{\text{MW}} \hfill \\ {\text{Case 2}}:\pi_{t}^{PN + } &= \pi_{t}^{PN - } = 10\,\$ /{\text{MW}} \hfill \\ {\text{Case 3}}:\pi_{t}^{PN + } &= {\text{energy price}},\pi_{t}^{PN - } = {\text{energy price}} \times 0.5\,\$ /{\text{MW}} \hfill \\ {\text{Case 4}}:\pi_{t}^{PN + } &= \pi_{t}^{PN - } = {\text{energy price}} \times 0.\,5\$ /{\text{MW}} \hfill \\ \end{aligned} $$
Table 7 Penalized power deviations under different penalty prices (August 12th)
Table 8 Total profit under different penalty prices (August 12th)

5.5.2 Sensitivity analysis of wind curtailment

The results of one-day (August 12th) simulations with different wind power curtailment costs are compared in Table 9 and Table 10. The prices of three cases are shown as follows. The results show that the wind power curtailments are sensitive to the curtailment cost, and that a curtailment cost of 5 $/MWh brings the curtailment to zero for all models.

$$ \begin{aligned} {\text{Case A}}{:}\;\pi_{t}^{WC} = 0\,\$ /{\text{MWh}} \hfill \\ {\text{Case B:}}\;\pi_{t}^{WC} = 5\,\$ /{\text{MWh}} \hfill \\ \end{aligned} $$
Table 9 Wind power curtailment under different curtailment prices (August 12th)
Table 10 Total profit under different wind power curtailment costs (August 12th)

5.5.3 Sensitivity analysis of BESS sizes

The results of one-day (August 12th) simulations with three different BESS sizes are compared in Table 11. Comparing the results in Case a and Case b, it can be found that with the same energy capacity of 18 MWh, the higher power capability results in higher profit, but the increases are minor. Comparing the results in Case a and Case c, the results are interesting because the BESS with smaller energy capacity makes a higher profit. A plausible explanation for this finding is that the larger BESS has higher calendar degradation cost. This has implications for the optimal sizing of BESS, which is not considered in this paper.

$$\begin{aligned} {\text{Case a}}{: \;} E_{k} = {\text{ 6 MW}} \times 3 {\text{ h}} \hfill \\ {\text{Case b}}{: \;} E_{k} = {\text{ 9 MW}} \times 2 {\text{ h}} \hfill \\ {\text{Case c}}{: \;} E_{k} = {\text{ 6 MW}} \times 2 {\text{ h}} \hfill \\ \end{aligned}$$
Table 11 Total profit under different BESS sizes (August 12th)

5.5.4 Sensitivity analysis of BESS replacement cost

Results for one-month (August, 2012) simulations with different battery replacement costs are shown in Table 12. The results indicates that the model M2 and M3 have obvious advantages over M1 if battery replacement cost is higher than 300000 $/MWh. When the battery replacement cost falls down to 200000 $/MWh, the consideration of battery degradation does not have significant impacts. Note that the residual salvage value is kept constant at 50000 $/MWh in all the cases.

Table 12 Total profit under different battery replacement costs (August, 2012)

5.6 Computational performance

The experiments are performed on a PC with Intel(R) Core(TM) i5 2.60 GHz and 8 GB of memory. The algorithms are implemented in MATLAB and programmed using YALMIP [38]. The MILP solver is CPLEX 12.6 [39]. The optimality gap is set as 10−6. The average solution time for one single optimization is 0.76 seconds.

6 Conclusions

This paper proposes a battery degradation model that is included in a wind-BESS coordination model for optimal bidding and operation in the real-time market. The principle contributions are summarized as follows.

  1. 1)

    We propose a novel hybrid deterministic/stochastic look-ahead rolling optimization model of wind-BESS coordinated operation in the real-time market. This model helps to minimize the power deviation penalty for the real-time operation and maximize the profit for the real-time bidding at the same time. The proposed method utilizes updated probabilistic wind power forecasts, effectively mitigating the impacts from forecast uncertainties.

  2. 2)

    A linearized battery degradation model including battery degradation percentage constraints and degradation cost is proposed. The proposed model can accurately represent the battery degradation at different SoC levels during irregular battery cycling. Case studies based on practical data show that, by incorporating the battery degradation model, the battery life can be extended two to three times with substantial increases in wind-BESS profits.

In future work, we plan to investigate battery degradation for a wider range of services in the power system, like the provision of regulation and spinning reserves. This entails shorter-time cycling with different impacts on battery degradation and lifetime. Other interesting directions for future research include the potential consideration of more complex battery degradation models, more detailed representation of battery electrochemistry and how it affects losses and power limits, and applications in large-scale optimization problems such as unit commitment and expansion planning.