Keywords

1 Introduction

In the context of world energy shortage and serious environmental pollution, the demand for distributed energy resource (DER) utilization and diversified energy consumption is gradually rising [1]. However, due to the problems of small unit capacity, strong output fluctuation, and relatively scattered geographical location of DER, it is difficult for the dispatch center to achieve accurate and reasonable control of DER [2]. As a prosumer that integrates energy generation and consumption, the virtual power plant (VPP) can effectively aggregate the DER to form a virtual whole to participate in the market transactions [3].

In recent years, researchers have carried out in-depth researches on the scheduling strategy of VPP when participating in energy trading. Reference [4] presented the multi-time scale rolling scheduling strategy to solve the inherent variability of the renewable energy in VPP. In reference [5], the multi-objective operational scheduling of DERs in the VPP was proposed to maximize the expected day-ahead profit. In reference [6], an improved cooperative particle swarm optimization algorithm is studied to solve the VPP energy management model. Most researches only focus on the optimization strategy of a single VPP, however, it is not applicable to the simultaneous optimization of multiple VPPs belonging to different stakeholders.

The optimization of multiple VPPs is a problem of a large-scale complex system with various parameters and variables. Contrary to the centralized optimization requiring high data transmission and processing capabilities, the game theory, as a distributed optimization method, is widely used to analyze the balance of interests of multiple stakeholders [7, 8]. Reference [4, 9, 10] investigated energy interactions between VPPs based on non-cooperative games. However, most of game behaviors are concentrated on the premise of a given transaction price, and the process of the game lacks an effective management mechanism.

The carbon emission from massive DERs consumption in VPPs requires the research on carbon reduction strategies from the perspective of VPP operation. However, for multiple VPPs, the interaction of different stakeholders is not considered to mobilize the enthusiasm of multi-party carbon reduction. Reference [10,11,12] proposed a carbon emission penalty scheme based on the user energy usage. In reference [13, 14], a systematic low-carbon economic operation model is established based on the carbon trading mechanism. For multiple VPPs, the interaction of different stakeholders is not considered to mobilize the enthusiasm of multi-party carbon reduction.

Based on the above analysis, the concept of the VPP cluster operator (VPPCO), which coordinates multiple VPPs transactions with electricity and carbon markets, is proposed in this paper. Considering the different interests of VPPCO and VPPs, a Stackelberg game model between VPPCO and multi-VPP is established. Combined with the energy and carbon trading, the interaction between the pricing mechanism of VPPCO and the operation strategy of VPPs is studied to achieve the energy scheduling for VPPs.

2 Stackelberg Game Model for VPPCO and Multi-VPP

2.1 Framework of the Stackelberg Game Model

In general, the production and consumption of energy within the VPP will not necessarily balance, which results in the risk of energy deviation and revenue loss during the process of dispatch. Under the guidance of the energy purchase and sale price set by the VPPCO, VPPs with excess supply will sell excess energy to the operator, while VPPs with short supply will buy the shortage of energy from the operator. With the coordination of the energy interaction of VPPs, the VPPCO conducts centralized trading with the electricity market. In addition, according to carbon trading mechanism, the operator is allocated a certain carbon emission allowance, and the difference between the actual carbon emission and the allowance can be traded.

Different from the traditional fixed pricing model, the transaction and internal scheduling decision of each VPP in this paper are based on the operator’s price signal, whereas the optimization result will affect the previous pricing strategy. Since the energy interaction between the operator and multi-VPP conforms to the Stackelberg game shown in Fig. 1, this paper takes the VPPCO as the leader and multi-VPP as followers, and each VPP makes the decision at the same time.

As shown in Fig. 1, the game process includes two stages. The two have a sequence and influence each other, and the cycle of which iterates until the equilibrium is reached. In the first stage, based on the multi-VPP energy supply and demand relationship, carbon emissions, and market information, the VPPCO formulates electricity and heat prices, and participates in electricity market and carbon market transactions to maximize its own benefit. In the second stage, to minimize the operating cost, each VPP optimizes the energy trading and distributed energy dispatch according to the price signal of the first stage.

Fig. 1.
figure 1

The structure of Stackelberg game model

2.2 Pricing Model for the VPPCO

Objective Function. The objective function of the VPPCO is the maximum profit. The cost comes from the electricity purchase from the upper grid and the transaction from the carbon market, whereas the VPPCO obtains income by selling electricity and heat to each VPP. It can be calculated as follows.

$$ \max F_{CO} = \sum_{t = 1}^T {(C_t^{vse} } + C_t^{vsh} - C_t^{grid} ) - C_{ca} $$
(1)
$$ C_t^{vse} = \lambda_t^{coeb} \sum_{j = 1}^N {P_{j,t}^{vppeb} } - \lambda_t^{coes} \sum_{j = 1}^N {P_{j,t}^{vppes} } $$
(2)
$$ C_t^{vsh} = \lambda_t^{cohb} \sum_{j = 1}^N {P_{j,t}^{vpphb} } - \lambda_t^{cohs} \sum_{j = 1}^N {P_{j,t}^{vpphs} } $$
(3)
$$ C_t^{grid} = \lambda_t^{gb} P_t^{cogb} - \lambda_t^{gs} P_t^{cogs} $$
(4)

where \(F_{CO}\) is the profit of the VPPCO; t is the time step; T is the length of the planning horizon; \(C_t^{vse}\) and \(C_t^{vsh}\) represent the electricity and heat sales revenue of the VPPCO to each VPP at time t, respectively; \(C_t^{grid}\) denotes the cost of purchasing electricity from the upper grid; \(C_t^{DR}\) denotes the compensation cost for the interruption of electricity load; \(C_{ca}\) is the carbon trading cost; \(\lambda_t^{coeb}\) and \(\lambda_t^{coes}\), \(\lambda_t^{cohb}\) and \(\lambda_t^{cohs}\) are the electricity purchase and sale price and the heat purchase and sale price of the VPP set by VPPCO respectively; \(P_{j,t}^{vppeb}\) and \(P_{j,t}^{vppes}\), \(P_{j,t}^{vpphb}\) and \(P_{j,t}^{vpphs}\) represent the electricity and heat that the jth VPP buys and sells to the VPPCO, respectively; \(\lambda_t^{gb}\) and \(\lambda_t^{gs}\) are the electricity purchase and sale price to the upper grid; \(P_t^{cogb}\) and \(P_t^{cogs}\) are the electricity purchased and sold to the upper grid.

Energy producers within the VPP in this paper include wind turbines (WT), micro-turbines (MT), gas boilers (GB), and energy storage systems (ESS), which supply power and heat to users. Carbon emissions from producer operation mainly come from the consumption of natural gas by both MT and GB. In addition, the carbon footprint of the coal-fired power generation should be tracked when purchasing electricity from the upper grid.

$$ C_{ca} = \sum_{j = 1}^N {\sum_{t = 1}^T {(\alpha \varepsilon P_{j,t}^{cogb} + \beta_e P_{j,t}^{mte} + \beta_h P_{j,t}^{mth} + \beta_h P_{j,t}^{gb} )} } - E_{al} $$
(5)

where \(\alpha\) is the proportion of coal-fired power generation in the upper grid; \(\varepsilon\), \(\beta_e\), and \(\beta_h\) are the carbon emission intensity of coal-fired power generation, natural gas power generation, and natural gas heating, respectively; \(P_{j,t}^{mte}\) and \(P_{j,t}^{mth}\) denote the output electricity and thermal energy of the MT in VPPj at time t, respectively; \(P_{j,t}^{gb}\) denotes the output of the GB; \(E_{al}\) is the carbon emission allowance.

Constraints.

During the market trading hours, VPPCO integrates the power status of each VPP, sells excess power to the upper grid when there exists a surplus, and purchases power when there is a shortage. The electricity market transaction is subject to the constraint (6) and (7).

$$ P_t^{co} = \sum_{j = 1}^N {(P_{j,t}^{vppeb} } - P_{j,t}^{vppes} ) $$
(6)
$$ \left\{ {\begin{array}{*{20}c} {P_t^{cogb} = \max (0,P_t^{co} )} \\ {P_t^{cogs} = \left| {\min (0,P_t^{co} )} \right|} \\ \end{array} } \right. $$
(7)

where \(P_t^{co}\) reflects the purchase and sale of electricity from the upper grid.

To better play the role of VPPCO, and avoid the direct trading between VPPs and the upper grid, it should be ensured that the buy (sell) price provided by VPPCO to VPP is higher (lower) than the market transaction price, and the pricing process is restricted by constraint (7).

$$ \left\{ {\begin{array}{*{20}l} {\lambda_t^{gs} \le \lambda_t^{coes} \le \lambda_t^{coeb} \le \lambda_t^{gb} } \hfill \\ {\lambda_{h,\min } \le \lambda_t^{cohs} \le \lambda_t^{cohb} \le \lambda_{h,\max } } \hfill \\ \end{array} } \right. $$
(8)

where \(\lambda_{h,\min }\) and \(\lambda_{h,\max }\) are the lower and upper price limits for thermal energy trading.

2.3 Energy Dispatch Model for the VPP

Objective Function. The VPP takes the minimum operating cost as the objective function, which is derived from the energy purchase, and the internal unit operation and maintenance. It can be calculated as follows.

$$ \min F_{vppj} = \sum_{t = 1}^T {(C_{j,t}^{vse} } + C_{j,t}^{vsh} + C_{j,t}^{mt} + C_{j,t}^{gb} + C_{j,t}^{ess} ) $$
(9)

where \(F_{vppj}\) is the operation cost of the jth VPP; \(C_{j,t}^{vse}\) and \(C_{j,t}^{vsh}\) denote the cost of purchasing electricity and heat for VPPj, respectively; \(C_{j,t}^{mt}\) and \(C_{j,t}^{gb}\) are the running cost of MT and GB; \(C_{j,t}^{ess}\) is the rental cost of ESS.

Constraints.

Equation (10) shows the power balance and thermal balance during the operation of VPP, which considers the electricity and heat trading with the VPPCO, energy generation, and power storage.

$$ \left\{ {\begin{array}{*{20}l} {P_{j,t}^{vppeb} - P_{j,t}^{vppes} + P_{j,t}^{mte} + P_{j,t}^{ess,dis} - P_{j,t}^{ess,ch} + P_{j,t}^{wt} = P_{j,t}^{el} } \hfill \\ {P_{j,t}^{vpphb} - P_{j,t}^{vpphs} + P_{j,t}^{mth} + P_{j,t}^{gb} = P_{j,t}^{hl} } \hfill \\ \end{array} } \right. $$
(10)

where \(P_{j,t}^{mth}\) denotes the output electricity and thermal energy of the MT in VPPj at time t; \(P_{j,t}^{ess,dis}\) and \(P_{j,t}^{ess,ch}\) represent the discharging and charging power of the ESS, respectively; \(P_{j,t}^{wt}\) is the output of the wind power; \(P_{j,t}^{gb}\) is the output of the GB; \(P_{j,t}^{el}\) and \(P_{j,t}^{hl}\) are the electricity load and heat load of users, respectively.

Constraint (11) restricts the hourly output, the ramping and descending rate, the start-stop action, and the running state of MT, respectively. Moreover, the electrothermal conversion mechanism of MT is revealed in the cost calculation.

$$ \left\{ {\begin{array}{*{20}l} {C_{j,t}^{mt} = \frac{{P_{j,t}^{mte} }}{{\eta_j^{mte} L_h }}\lambda_{gas} + u_{j,t}^{smt} \lambda_{smt} } \hfill \\ {P_{j,t}^{mth} = \frac{{P_{j,t}^{mte} \eta_j^{mth} (1 - \eta_j^{mte} )}}{{\eta_j^{mte} }}} \hfill \\ {u_{j,t}^{mte} P_{j,t}^{mte,\min } \le P_{j,t}^{mte} \le u_{j,t}^{mte} P_{j,t}^{mte,\max } } \hfill \\ { - k_j^{rdmt,\max } \le P_{j,t}^{mte} - P_{j,t - 1}^{mte} \le k_j^{rumt,\max } } \hfill \\ {u_{j,t}^{mte} - u_{j,t - 1}^{mte} \le u_{j,t}^{smt} } \hfill \\ \end{array} } \right. $$
(11)

where \(\eta_j^{mte}\) and \(\eta_j^{mth}\) represent the electrical and thermal efficiency of MT; \(u_{j,t}^{smt}\) and \(u_{j,t}^{mte}\) are the binary variables determining the start-stop and operation state of MT, respectively; \(P_{j,t}^{mte,\min }\) and \(P_{j,t}^{mte,\max }\) are the minimum and maximum power output; \(k_j^{rumt,\max }\) and \(k_j^{rdmt,\max }\) are the maximum ramping and descending rate; \(\lambda_{gas}\) and \(\lambda_{smt}\) denote the natural gas price and start-stop cost, respectively; \(L_h\) represents the low heating value of natural gas.

Constraint (12) restricts the hourly output, and the ramping and descending rate of the GB.

$$ \left\{ {\begin{array}{*{20}l} {C_{j,t}^{mt} = \frac{{P_{j,t}^{gb} }}{{\eta_j^{gb} L_h }}\lambda_{gas} } \hfill \\ {P_{j,t}^{gb,\min } \le P_{j,t}^{gb} \le P_{j,t}^{gb,\max } } \hfill \\ { - k_j^{rdgb,\max } \le P_{j,t}^{gb} - P_{j,t - 1}^{gb} \le k_j^{rugb,\max } } \hfill \\ \end{array} } \right. $$
(12)

where \(\eta_j^{gb}\) represents the thermal efficiency of GB; \(P_{j,t}^{mte,\min }\) and \(P_{j,t}^{mte,\max }\) are the minimum and maximum heat output; \(k_j^{rugb,\max }\) and \(k_j^{rdmt,\max }\) are the maximum ramping and descending rate.

The state of charge (SOC) of ESS at time t can be deduced by the function of SOC at the previous time \(t-1\), and the ESS cannot be charged and discharged at the same time. The hourly output and input of ESS are restricted as follows.

$$ \left\{ {\begin{array}{*{20}l} {C_{j,t}^{ess} = (P_{j,t}^{ess,dis} + P_{j,t}^{ess,ch} )\lambda_{rent} } \hfill \\ {P_{j,t}^{ess} = P_{j,t - 1}^{ess} - \frac{{P_{j,t - 1}^{ess,dis} }}{{\eta_{dis} }} + P_{j,t - 1}^{ess,ch} \eta_{ch} } \hfill \\ {P_{j,t = 0}^{ess} = P_{j,t = 24}^{ess} } \hfill \\ {0 \le P_{j,t}^{ess,dis} \le u_{j,t}^{dis} E_j^{rate} SOC_{\max } } \hfill \\ {0 \le P_{j,t}^{ess,ch} \le u_{j,t}^{ch} E_j^{rate} SOC_{\max } } \hfill \\ {u_{j,t}^{dis} + u_{j,t}^{ch} \le 1} \hfill \\ \end{array} } \right. $$
(13)

where \(\lambda_{rent}\) is the rental cost per unit of capacity; \(P_{j,t}^{ess}\) denotes the energy stored of ESS; \(\eta_{ch}\) and \(\eta_{dis}\) denote the charging and discharging efficiency of ESS, respectively; \(E_j^{rate}\) is the rated capacity of ESS; \(SOC_{\max }\) is the maximum storage state of ESS.

3 Stackelberg Game Model Solution

The Stackelberg game reaches equilibrium when all followers respond optimally to the leader’s signal, and the leader accepts the response at the same time. In the Stackelberg equilibrium solution, it is impossible for any participant to obtain greater benefits by unilaterally changing strategies. As a leader, the pricing strategy of VPPCO is a kind of large-scale nonlinear programming, and the genetic algorithm can be used to reduce the difficulty of solving. The optimal scheduling and energy trading strategy of multi-VPP, as followers, is solved by calling the CPLEX solver through YALMIP, and the game solving process is shown in Fig. 2.

Fig. 2.
figure 2

Flowchart of the solution method

4 Case Study

4.1 Basic Data

A typical energy consumption scenario in a certain region of northern China is selected in this paper, including three VPPs. The power prediction curves of electric and thermal loads are shown in Fig. 3 and Fig. 4. The relevant parameters of the VPP internal unit refer to reference [3]. The electricity purchase and sale price to the upper grid are 1.2 ¥/(kW·h) and 0.4 ¥/(kW·h), and the lower and upper price limits for thermal energy trading are 0.15 ¥/(kW·h) and 0.5 ¥/(kW·h). To verify the effectiveness of the Stackelberg game model proposed in this paper, the following two cases are set. Case 1: Both the carbon trading and Stackelberg game of VPPCO and VPPs are carried out. Case 2: Without the consideration of carbon trading, only the Stackelberg game between VPPCO and VPPs is implemented.

Fig. 3.
figure 3

Electricity loads of VPPs

Fig. 4.
figure 4

Heat loads of VPPs

4.2 Scheduling Results

Figure 5, 6 and 7 show the electrical scheduling of each VPP under Case 1. As shown in Fig. 5, 6 and 7, the wind power is the main source of power supply for VPP1 at night, and the ESS is charged centrally at night and released during the peak hours of electricity load to relieve the pressure of peak power supply. Due to the relatively small output of MT, the VPP1 is required to purchase power from the VPPCO during the period of less wind power consumption and peak power usage. For VPP2, the shortfall of the electricity usage during the daytime peak period is mainly met by the power purchase from the VPPCO. During the period when the wind power and MT output are sufficient, the surplus wind power is stored and sold to the VPPCO for profit. Due to the abundant wind power generation of VPP3 during the day, it is sufficient to meet the electricity demand in some time periods when the output potential of the aggregated units is fully exploited, and the purchase of electricity from VPPCO can be reduced.

Fig. 5.
figure 5

Optimal dispatch of electricity in VPP1

Fig. 6.
figure 6

Optimal dispatch of electricity in VPP2

Fig. 7.
figure 7

Optimal dispatch of electricity in VPP3

4.3 Economic Analysis

Table 1 a comparative analysis of case 1 and 2, which shows the costs for VPPs and the profit for VPPCO. For the cost of multi-VPP, decreases can be seen in Case 2 compared to Case 1, and the cost of VPP1, 2, and 3 are reduced by 8.02%, 5.29%, and 6.37%, respectively. Moreover, the profit for VPPCO in Case 2 increased by 7.25% over Case 1. The improvement in economic performance is mainly attributed to the optimal dispatch of energy within the VPP under the constraints of carbon emissions. Due to the consideration of carbon trading on the basis of the game between the VPPCO and VPPs, in order to make profits in the carbon market, each VPP is fully optimizing the output of internal units, and complementing the electricity and thermal energy through VPPCO, which effectively promotes the consumption of wind power, a renewable energy resource, and reduces the purchase and sale of electricity to the upper grid.

Table 1. Economic analysis of carbon trading (¥)

5 Conclusion

This paper proposes a multi-VPP Stackelberg game optimization scheduling strategy considering carbon trading. Through the case analysis, the conclusions can be drawn as follows.

  1. a)

    In the Stackelberg game between the multi-VPP and VPPCO, the energy interaction between VPPs is increased, and the operational flexibility of energy dispatch is increased, thereby greatly improving the economics of both the multi-VPP and VPPCO.

  2. b)

    The consideration of carbon trading can promote the flexible consumption of renewable energy in VPP, fully optimize the electrical and thermal energy dispatch of internal units, and reduce the power trading with the upper grid, thereby improving the low-carbon performance of the VPP.