DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享,与你一起了解前沿科技知识!
本次DeepVisionary带来的是电工杯的详细解读:
完整内容可以在文章末尾全文免费领取&阅读!
问题重述及方法概述
问题 1:各园区独立运营储能配置方案及其经济性分析
经济性分析采用成本-效益分析方法,计算购电量、弃风弃光电量、总供电成本和单位电量平均供电成本等指标。
问题 2:联合园区储能配置方案及其经济性分析
经济性分析采用成本-效益分析方法,计算总购电量、总弃风弃光电量、总供电成本和单位电量平均供电成本等指标。
问题 3:园区风、光、储能的协调配置方案及其经济性分析
风光储协调配置方案的制定采用线性规划方法,计算风电、光伏的最优装机容量和储能的最优功率和容量。
问题一
第一个问题是:各园区独立运营储能配置方案及其经济性分析。
设园区A、B、C的光伏发电功率分别为Ppv.A、Ppv.B、Ppv.C,风电功率分别为Pw.B、Pw.C,最大负荷分别为PLmax.A、PLmax.B、PLmax.C。根据题目中的假设和条件,可以得出以下公式:
- 未配置储能时各园区的供电成本为:
园区A:Ppv.A*0.4 + (PLmax.A - Ppv.A)*0.5
园区B:Pw.B*0.5 + (PLmax.B - Pw.B)*0.5
园区C:Ppv.C0.4 + Pw.C0.5 + (PLmax.C - Ppv.C - Pw.C)*0.5
- 各园区配置 50kW/100kWh 储能后的运行策略为:尽量利用储能电量弥补负荷与风光发电之间的时序不匹配,降低弃风弃光的情况,具体可采取的运行策略为:
-
当园区A的光伏发电功率大于最大负荷时,将多余的电量存入储能电池中。
-
当园区A的光伏发电功率小于最大负荷时,从储能电池中补充电量。
-
当园区B的风电功率大于最大负荷时,将多余的电量存入储能电池中。
-
当园区B的风电功率小于最大负荷时,从储能电池中补充电量。
-
当园区C的光伏和风电功率总和大于最大负荷时,将多余的电量存入储能电池中。
-
当园区C的光伏和风电功率总和小于最大负荷时,从储能电池中补充电量。
- 各园区配置 50kW/100kWh 储能后的购电计划为:当园区的光伏和风电发电不足以满足负荷时,从主电网购买电量,购买电量的计算公式为:
园区A:购电量 = PLmax.A - Ppv.A - 储能电量 - 主电网出售电量
园区B:购电量 = PLmax.B - Pw.B - 储能电量 - 主电网出售电量
园区C:购电量 = PLmax.C - Ppv.C - Pw.C - 储能电量 - 主电网出售电量
- 各园区配置 50kW/100kWh 储能后的总供电成本为:
园区A:购电量*1元 + 800元/kW * 50kW * 10年 / 10年 + 1800元/kWh * 100kWh * 10年 * 0.95 * 0.95 / 10年
园区B:购电量*1元 + 800元/kW * 50kW * 10年 / 10年 + 1800元/kWh * 100kWh * 10年 * 0.95 * 0.95 / 10年
园区C:购电量*1元 + 800元/kW * 50kW * 10年 / 10年 + 1800元/kWh * 100kWh * 10年 * 0.95 * 0.95 / 10年
-
各园区配置 50kW/100kWh 储能后的单位电量平均供电成本为:总供电成本 / (园区A的总用电量 + 园区B的总用电量 + 园区C的总用电量)
-
经济性分析:
(1)未配置储能时,经济性受影响的主要因素为园区的光伏和风电发电量、最大负荷和购电成本。
(2)各园区配置 50kW/100kWh 储能后,经济性改善的原因是储能电池可以缓解负荷与风光发电之间的时序不匹配,降低弃风弃光的情况,从而减少了购电量和总供电成本。
(3)50kW/100kWh 的方案不一定是最优的,可以通过建立优化模型进行求解,得出最优的储能功率和容量配置方案。最优方案的经济性将更加优越。
首先,分析未配置储能时各园区运行的经济性。根据题目给出的数据,各园区的购电成本分别为0.5元/kWh和0.4元/kWh,而网购电的价格为1元/kWh。因此,未配置储能时,各园区的总供电成本为:
C t o t a l = P w × 0.5 + P p v × 0.4 + P b u y × 1 C_{total} = P_{w} \times 0.5 + P_{pv} \times 0.4 + P_{buy} \times 1 Ctotal=Pw×0.5+Ppv×0.4+Pbuy×1
其中, P w P_{w} Pw为风电发电量, P p v P_{pv} Ppv为光伏发电量, P b u y P_{buy} Pbuy为购电量。根据题目中的数据,可以得到各园区的总供电成本为:
C t o t a l , A = 750 × 0.5 + 0 × 0.4 + ( 447 − 750 ) × 1 = 323.5 元 C_{total,A} = 750 \times 0.5 + 0 \times 0.4 + (447-750) \times 1 = 323.5 元 Ctotal,A=750×0.5+0×0.4+(447−750)×1=323.5元
C t o t a l , B = 419 × 0.5 + 1000 × 0.4 + ( 506 − 1000 ) × 1 = 263.5 元 C_{total,B} = 419 \times 0.5 + 1000 \times 0.4 + (506-1000) \times 1 = 263.5 元 Ctotal,B=419×0.5+1000×0.4+(506−1000)×1=263.5元
C t o t a l , C = 600 × 0.5 + 500 × 0.4 + ( 506 − 600 ) × 1 = 430 元 C_{total,C} = 600 \times 0.5 + 500 \times 0.4 + (506-600) \times 1 = 430 元 Ctotal,C=600×0.5+500×0.4+(506−600)×1=430元
因此,各园区的单位电量平均供电成本为:
C a v g , A = C t o t a l , A 447 = 0.72 元 / k W h C_{avg,A} = \frac{C_{total,A}}{447} = 0.72 元/kWh Cavg,A=447Ctotal,A=0.72元/kWh
C a v g , B = C t o t a l , B 506 = 0.52 元 / k W h C_{avg,B} = \frac{C_{total,B}}{506} = 0.52 元/kWh Cavg,B=506Ctotal,B=0.52元/kWh
C a v g , C = C t o t a l , C 506 = 0.85 元 / k W h C_{avg,C} = \frac{C_{total,C}}{506} = 0.85 元/kWh Cavg,C=506Ctotal,C=0.85元/kWh
从中可以看出,园区B的单位电量平均供电成本最低,园区A的最高,这是由于园区A的风电发电量较少,需要更多的购电。
接下来,分析影响其经济性的关键因素。从上述的计算过程中可以看出,影响各园区经济性的主要因素有:风光发电量、购电量以及购电价格。其中,风光发电量与园区的风光装机容量有关,而购电量与园区的负荷最大值有关。购电价格则主要受到主电网电价和网购电价格的影响。
综上所述,未配置储能时,各园区的经济性主要受到风光发电量的影响,而风光装机容量和负荷最大值是影响风光发电量的关键因素。因此,为了提高各园区的运行经济性,需要合理配置风光装机容量和负荷最大值。
(1)未配置储能时各园区运行的经济性分析:
首先,根据题目给出的光伏和风电的购电成本,可以计算出各园区的购电成本为:
园区A: C p u r c h a s e , A C_{purchase,A} Cpurchase,A = 0.4 × \times × P p v , A P_{pv,A} Ppv,A + 0.5 × \times × P w , A P_{w,A} Pw,A = 0.4 × \times × 750 + 0.5 × \times × 0 = 300元
园区B: C p u r c h a s e , B C_{purchase,B} Cpurchase,B = 0.4 × \times × 0 + 0.5 × \times × 1000 = 500元
园区C: C p u r c h a s e , C C_{purchase,C} Cpurchase,C = 0.4 × \times × 600 + 0.5 × \times × 500 = 410元
其次,根据题目给出的典型日负荷曲线和归一化数据,可以计算出各园区的弃风弃光电量为:
园区A: P w , A w a s t e P_{w,A}^{waste} Pw,Awaste = 0, P p v , A w a s t e P_{pv,A}^{waste} Ppv,Awaste = 0
园区B: P w , B w a s t e P_{w,B}^{waste} Pw,Bwaste = 0, P p v , B w a s t e P_{pv,B}^{waste} Ppv,Bwaste = 1000 × \times × (1 - 0.096) = 904kW
园区C: P w , C w a s t e P_{w,C}^{waste} Pw,Cwaste = 500 × \times × (1 - 0.08) = 460kW, P p v , C w a s t e P_{pv,C}^{waste} Ppv,Cwaste = 600 × \times × (1 - 0.13) = 522kW
然后,根据题目给出的运行规则,可以计算出各园区的总供电成本为:
园区A: C t o t a l , A C_{total,A} Ctotal,A = C p u r c h a s e , A C_{purchase,A} Cpurchase,A + 1 × \times × P w , A w a s t e P_{w,A}^{waste} Pw,Awaste = 300元 + 0 = 300元
园区B: C t o t a l , B C_{total,B} Ctotal,B = C p u r c h a s e , B C_{purchase,B} Cpurchase,B + 1 × \times × P p v , B w a s t e P_{pv,B}^{waste} Ppv,Bwaste = 500元 + 904元 = 1404元
园区C: C t o t a l , C C_{total,C} Ctotal,C = C p u r c h a s e , C C_{purchase,C} Cpurchase,C + 1 × \times × ( P w , C w a s t e P_{w,C}^{waste} Pw,Cwaste + P p v , C w a s t e P_{pv,C}^{waste} Ppv,Cwaste) = 410元 + (460元 + 522元) = 1392元
最后,根据题目给出的典型日负荷曲线,可以计算出各园区的单位电量平均供电成本为:
园区A: C a v e r a g e , A C_{average,A} Caverage,A = C t o t a l , A C_{total,A} Ctotal,A / P L m a x , A P_{Lmax,A} PLmax,A = 300元 / 447kW = 0.671元/kW
园区B: C a v e r a g e , B C_{average,B} Caverage,B = C t o t a l , B C_{total,B} Ctotal,B / P L m a x , B P_{Lmax,B} PLmax,B = 1404元 / 419kW = 3.35元/kW
园区C: C a v e r a g e , C C_{average,C} Caverage,C = C t o t a l , C C_{total,C} Ctotal,C / P L m a x , C P_{Lmax,C} PLmax,C = 1392元 / 506kW = 2.75元/kW
综上所述,未配置储能时各园区运行的经济性为:园区A最优,园区B次优,园区C最差。影响其经济性的关键因素是光伏和风电的购电成本,以及各园区的负荷波动特性。
(2)各园区分别配置50kW/100kWh储能后的经济性分析:
根据题目给出的储能条件,可以计算出各园区的储能总投资为:
园区A: C t o t a l , A s t o r a g e C_{total,A}^{storage} Ctotal,Astorage = 50kW × \times × 800元/kW + 100kWh × \times × 1800元/kWh = 190000元
园区B: C t o t a l , B s t o r a g e C_{total,B}^{storage} Ctotal,Bstorage = 50kW × \times × 800元/kW + 100kWh × \times × 1800元/kWh = 190000元
园区C: C t o t a l , C s t o r a g e C_{total,C}^{storage} Ctotal,Cstorage = 50kW × \times × 800元/kW + 100kWh × \times × 1800元/kWh = 190000元
根据题目给出的运行规则,可以制定储能最优运行策略:
园区A:储能优先满足本区域负荷,不足部分再从主电网购电。多余电量不允许向主电网出售。
园区B:储能优先满足本区域负荷,不足部分再从主电网购电。多余电量不允许向主电网出售。
园区C:储能优先满足本区域负荷,不足部分再从主电网购电。多余电量不允许向主电网出售。
根据题目给出的典型日负荷曲线,可以制定购电计划为:
园区A:0 ∼ \sim ∼ 7时和22 ∼ \sim ∼ 24时:购电量为447kW - 750kW = 0kW;7 ∼ \sim ∼ 22时:购电量为447kW - 750kW = 0kW。
园区B:0 ∼ \sim ∼ 7时和22 ∼ \sim ∼ 24时:购电量为419kW - 1000kW = 0kW;7 ∼ \sim ∼ 22时:购电量为419kW - 1000kW = 0kW。
园区C:0 ∼ \sim ∼ 7时和22 ∼ \sim ∼ 24时:购电量为506kW - 600kW = 0kW;7 ∼ \sim ∼ 22时:购电量为506kW - 600kW = 0kW。
根据题目给出的典型日负荷曲线和购电计划,可以计算出各园区的总供电成本为:
园区A: C t o t a l , A C_{total,A} Ctotal,A = C p u r c h a s e , A C_{purchase,A} Cpurchase,A + 1 × \times × P w , A w a s t e P_{w,A}^{waste} Pw,Awaste + 1 × \times × P p u r c h a s e , A P_{purchase,A} Ppurchase,A = 300元 + 0 + 0元 = 300元
园区B: C t o t a l , B C_{total,B} Ctotal,B = C p u r c h a s e , B C_{purchase,B} Cpurchase,B + 1 × \times × P p v , B w a s t e P_{pv,B}^{waste} Ppv,Bwaste + 1 × \times × P p u r c h a s e , B P_{purchase,B} Ppurchase,B = 500元 + 904元 + 0元 = 1404元
园区C: C t o t a l , C C_{total,C} Ctotal,C = C p u r c h a s e , C C_{purchase,C} Cpurchase,C + 1 × \times × ( P w , C w a s t e P_{w,C}^{waste} Pw,Cwaste + P p v , C w a s t e P_{pv,C}^{waste} Ppv,Cwaste) + 1 × \times × P p u r c h a s e , C P_{purchase,C} Ppurchase,C = 410元 + (460元 + 522元) + 0元 = 1392元
最后,根据题目给出的典型日负荷曲线,可以计算出各园区的单位电量平均供电成本为:
园区A: C a v e r a g e , A C_{average,A} Caverage,A = C t o t a l , A C_{total,A} Ctotal,A / P L m a x , A P_{Lmax,A} PLmax,A = 300元 / 447kW = 0.671元/kW
import pandas as pd
import numpy as np# 读取数据
load_A = pd.read_csv('load_A.csv', header=None) # 园区A负荷数据
load_B = pd.read_csv('load_B.csv', header=None) # 园区B负荷数据
load_C = pd.read_csv('load_C.csv', header=None) # 园区C负荷数据pv_A = pd.read_csv('pv_A.csv', header=None) # 园区A光伏发电数据
pv_C = pd.read_csv('pv_C.csv', header=None) # 园区C光伏发电数据w_B = pd.read_csv('w_B.csv', header=None) # 园区B风电数据
w_C = pd.read_csv('w_C.csv', header=None) # 园区C风电数据# 归一化数据
pv_A_norm = pv_A / max(pv_A.values) # 光伏发电归一化数据
w_B_norm = w_B / max(w_B.values) # 风电归一化数据
pv_C_norm = pv_C / max(pv_C.values)
w_C_norm = w_C / max(w_C.values)# 参数设置
Ppv_A = 750 # 园区A光伏装机容量
Ppv_C = 600 # 园区C光伏装机容量
Pw_B = 1000 # 园区B风电装机容量
Pw_C = 500 # 园区C风电装机容量
PLmax_A = 447 # 园区A负荷最大值
PLmax_B = 419 # 园区B负荷最大值
PLmax_C = 506 # 园区C负荷最大值# 计算各园区未配置储能时的经济性
# 计算购电量
buy_A = pd.Series(np.maximum(load_A.values - pv_A.values, np.zeros(load_A.shape))) # 园区A购电量
buy_B = pd.Series(np.maximum(load_B.values - w_B.values, np.zeros(load_B.shape))) # 园区B购电量
buy_C = pd.Series(np.maximum(load_C.values - pv_C.values - w_C.values, np.zeros(load_C.shape))) # 园区C购电量# 计算弃风弃光电量
wind_cut_B = pd.Series(np.maximum(w_B.values - load_B.values, np.zeros(load_B.shape))) # 园区B弃风电量
pv_cut_A = pd.Series(np.maximum(pv_A.values - load_A.values, np.zeros(load_A.shape))) # 园区A弃光电量
pv_cut_C = pd.Series(np.maximum(pv_C.values - load_C.values, np.zeros(load_C.shape))) # 园区C弃光电量# 计算总供电成本
total_cost_A = buy_A.values * 0.5 + buy_C.values * 0.4 # 园区A总供电成本
total_cost_B = buy_B.values * 0.5 + wind_cut_B.values * 0.5 # 园区B总供电成本
total_cost_C = buy_C.values * 0.5 + pv_cut_C.values * 0.5 # 园区C总供电成本# 计算单位电量平均供电成本
average_cost_A = total_cost_A / load_A.shape[0] # 园区A单位电量平均供电成本
average_cost_B = total_cost_B / load_B.shape[0] # 园区B单位电量平均供电成本
average_cost_C = total_cost_C / load_C.shape[0] # 园区C单位电量平均供电成本# 输出各园区未配置储能时的经济性
print('园区A购电量为:', sum(buy_A))
print('园区B购电量为:', sum(buy_B))
print('园区C购电量为:', sum(buy_C))
print('园区B弃风电量为:', sum(wind_cut_B))
print('园区A弃光电量为:', sum(pv_cut_A))
print('园区C弃光电量为:', sum(pv_cut_C))
print('园区A总供电成本为:', sum(total_cost_A))
print('园区B总供电成本为:', sum(total_cost_B))
print('园区C总供电成本为:', sum(total_cost_C))
print('园区A单位电量平均供电成本为:', average_cost_A)
print('园区B单位电量平均供电成本为:', average_cost_B)
print('园区C单位电量平均供电成本为:', average_cost_C)# 计算各园区配置50kW/100kWh储能的经济性
# 计算储能运行策略
# 园区A储能运行策略
soc_A = np.zeros(load_A.shape) # 储能SOC
buy_A_new = np.zeros(load_A.shape) # 新的购电量
pv_cut_A_new = np.zeros(load_A.shape) # 新的弃光电量
for i in range(load_A.shape[0]):if pv_A_norm.values[i] > 0:if soc_A[i-1] > 0.1:soc_A[i] = soc_A[i-1] + 0.05else:soc_A[i] = soc_A[i-1] + 0.1 * pv_A_norm.values[i]if pv_A_norm.values[i] < 0:buy_A_new[i] = pv_A_norm.values[i] * soc_A[i-1]soc_A[i] = soc_A[i-1] + 0.9 * pv_A_norm.values[i]if soc_A[i] > 0.9:buy_A_new[i] = soc_A[i] - 0.9soc_A[i] = 0.9if soc_A[i] < 0.1:pv_cut_A_new[i] = 0.1 - soc_A[i]soc_A[i] = 0.1# 园区B储能运行策略
soc_B = np.zeros(load_B.shape) # 储能SOC
buy_B_new = np.zeros(load_B.shape) # 新的购电量
wind_cut_B_new = np.zeros(load_B.shape) # 新的弃风电量
for i in range(load_B.shape[0]):if w_B_norm.values[i] > 0:if soc_B[i-1] > 0.1:soc_B[i] = soc_B[i-1] + 0.05else:soc_B[i] = soc_B[i-1] + 0.1 * w_B_norm.values[i]if w_B_norm.values[i] < 0:buy_B_new[i] = w_B_norm.values[i] * soc_B[i-1]soc_B[i] = soc_B[i-1] + 0.9 * w_B_norm.values[i]if soc_B[i] > 0.9:buy_B_new[i] = soc_B[i] - 0.9soc_B[i] = 0.9if soc_B[i] < 0.1:wind_cut_B_new[i] = 0.1 - soc_B[i]soc_B[i] = 0.1# 园区C储能运行策略
soc_C = np.zeros(load_C.shape) # 储能SOC
buy_C_new = np.zeros(load_C.shape) #
问题二
第二个问题是联合园区储能配置方案及其经济性分析。
问题 2:联合园区储能配置方案及其经济性分析
假设联合园区中的三个园区为园区A、园区B和园区C,分别具有光伏装机容量Ppv、风电装机容量Pw和最大负荷PLmax。联合园区的总光伏装机容量为Ppv=1350kW,总风电装机容量为Pw=1500kW,总负荷最大值为PLmax=1328kW。联合园区的运行规则与单个园区相同。
为了优化储能配置方案,需要考虑以下因素:
(1)风光发电与负荷之间的时序不匹配性:由于风光发电的波动性,可能导致园区的负荷与发电功率不匹配,从而导致弃电问题。
(2)储能的充放电效率:在使用储能时,需要考虑其充放电效率,以充分利用储能装置的能量。
(3)储能的运行寿命:储能装置的运行寿命可以影响其投资收益。
(4)购电成本:当园区的风光发电不足以满足负荷时,需要从主电网购电,购电成本将影响园区的总供电成本。
为了优化联合园区的储能配置方案,可以使用数学建模的方法,建立数学模型来求解最优的储能功率和容量配置方案。
假设园区A、园区B和园区C的储能功率为Pa、Pb和Pc,储能容量为Ea、Eb和Ec,储能装置的运行寿命为T=10年。储能装置的充放电效率为η=0.95,储能装置的能量单价为ce=1800元/kWh,功率单价为cp=800元/kW。园区A、园区B和园区C的风光发电功率分别为Pa、Pb和Pc,负荷为La、Lb和Lc。
根据上述假设,可以建立如下数学模型:
目标函数:最小化联合园区总供电成本
min F = cp(Pa+Ea) + cp(Pb+Eb) + cp(Pc+Ec) + cp(La+Lb+Lc)
约束条件:
(1)联合园区总发电量等于总负荷量:
Pa+Pb+Pc = La+Lb+Lc
(2)储能装置的充放电量不能超过其容量:
|Pa-Pc| ≤ Ea
|Pb-Pa| ≤ Eb
|Pc-Pb| ≤ Ec
(3)联合园区总发电量不能超过总负荷量:
Pa+Pb+Pc ≤ La+Lb+Lc
(4)储能的SOC允许范围为10%-90%:
0.1Ea ≤ Pa ≤ 0.9Ea
0.1Eb ≤ Pb ≤ 0.9Eb
0.1Ec ≤ Pc ≤ 0.9Ec
(5)储能装置的运行寿命为T=10年:
Pa+Pb+Pc ≤ T×(Ea+Eb+Ec)
(6)园区A、园区B和园区C的风光发电与负荷之间的时序不匹配性:
Pa+La = Pb+Lb = Pc+Lc
(7)购电量等于各园区的不足部分:
Pa+Pb+Pc - La-Lb-Lc = La+Lb+Lc - Pa-Pb-Pc
(8)联合园区不能出售多余电量:
Pa+Pb+Pc ≤ La+Lb+Lc
通过求解上述数学模型,就可以得到联合园区最优的储能功率和容量配置方案,从而实现最小化总供电成本的目标。
联合园区的储能配置方案应该是各园区独立运营方案中各园区储能配置方案的简单叠加,即各园区分别配置的储能功率和容量相加。
首先,联合运营园区的总储能容量为各园区独立运营方案中各园区储能容量的简单叠加,即:
P s t o r a g e , t o t a l = P s t o r a g e , A + P s t o r a g e , B + P s t o r a g e , C P_{storage,total} = P_{storage,A} + P_{storage,B} + P_{storage,C} Pstorage,total=Pstorage,A+Pstorage,B+Pstorage,C
其中, P s t o r a g e , A P_{storage,A} Pstorage,A、 P s t o r a g e , B P_{storage,B} Pstorage,B和 P s t o r a g e , C P_{storage,C} Pstorage,C分别为园区A、B和C的储能功率配置。
其次,联合运营园区的总储能功率为各园区独立运营方案中各园区储能功率的简单叠加,即:
C s t o r a g e , t o t a l = C s t o r a g e , A + C s t o r a g e , B + C s t o r a g e , C C_{storage,total} = C_{storage,A} + C_{storage,B} + C_{storage,C} Cstorage,total=Cstorage,A+Cstorage,B+Cstorage,C
其中, C s t o r a g e , A C_{storage,A} Cstorage,A、 C s t o r a g e , B C_{storage,B} Cstorage,B和 C s t o r a g e , C C_{storage,C} Cstorage,C分别为园区A、B和C的储能容量配置。
根据储能运行策略,联合运营园区的总购电量为各园区独立运营方案中各园区购电量的简单叠加,即:
E p u r c h a s e , t o t a l = E p u r c h a s e , A + E p u r c h a s e , B + E p u r c h a s e , C E_{purchase,total} = E_{purchase,A} + E_{purchase,B} + E_{purchase,C} Epurchase,total=Epurchase,A+Epurchase,B+Epurchase,C
其中, E p u r c h a s e , A E_{purchase,A} Epurchase,A、 E p u r c h a s e , B E_{purchase,B} Epurchase,B和 E p u r c h a s e , C E_{purchase,C} Epurchase,C分别为园区A、B和C的购电量。
总弃风弃光电量为各园区独立运营方案中各园区弃风弃光电量的简单叠加,即:
E w a s t e , t o t a l = E w a s t e , A + E w a s t e , B + E w a s t e , C E_{waste,total} = E_{waste,A} + E_{waste,B} + E_{waste,C} Ewaste,total=Ewaste,A+Ewaste,B+Ewaste,C
其中, E w a s t e , A E_{waste,A} Ewaste,A、 E w a s t e , B E_{waste,B} Ewaste,B和 E w a s t e , C E_{waste,C} Ewaste,C分别为园区A、B和C的弃风弃光电量。
联合运营园区的总供电成本为各园区独立运营方案中各园区供电成本的简单叠加,即:
C t o t a l = C A + C B + C C C_{total} = C_{A} + C_{B} + C_{C} Ctotal=CA+CB+CC
其中, C A C_{A} CA、 C B C_{B} CB和 C C C_{C} CC分别为园区A、B和C的供电成本。
最后,单位电量平均供电成本为总供电成本除以总购电量,即:
C a v e r a g e = C t o t a l E p u r c h a s e , t o t a l C_{average} = \frac{C_{total}}{E_{purchase,total}} Caverage=Epurchase,totalCtotal
综上所述,联合园区的运行经济性与各园区独立运营方案中的运行经济性相同,只是各项指标的值为各园区独立运营方案中各项指标的简单叠加。因此,联合园区的储能配置方案与各园区独立运营方案中的储能配置方案相同,只是各园区储能功率和容量的值为各园区独立运营方案中储能功率和容量的简单叠加。
(1) 联合园区未配置储能时,总购电量为:
E p = ∑ i = 1 24 p i L = ∑ i = 1 24 p i P w + ∑ i = 1 24 p i P p v − ∑ i = 1 24 p i P L m a x E_{p}=\sum_{i=1}^{24}p_{i}^{L}=\sum_{i=1}^{24}p_{i}^{Pw}+\sum_{i=1}^{24}p_{i}^{Ppv}-\sum_{i=1}^{24}p_{i}^{PLmax} Ep=i=1∑24piL=i=1∑24piPw+i=1∑24piPpv−i=1∑24piPLmax
其中, p i L p_{i}^{L} piL为联合园区负荷功率, p i P w p_{i}^{Pw} piPw为联合园区风电功率, p i P p v p_{i}^{Ppv} piPpv为联合园区光伏功率, p i P L m a x p_{i}^{PLmax} piPLmax为联合园区负荷最大值。总弃风弃光电量为:
E d = m a x ( ∑ i = 1 24 p i P w − ∑ i = 1 24 p i P L m a x , 0 ) + m a x ( ∑ i = 1 24 p i P p v − ∑ i = 1 24 p i P L m a x , 0 ) E_{d}=max(\sum_{i=1}^{24}p_{i}^{Pw}-\sum_{i=1}^{24}p_{i}^{PLmax},0)+max(\sum_{i=1}^{24}p_{i}^{Ppv}-\sum_{i=1}^{24}p_{i}^{PLmax},0) Ed=max(i=1∑24piPw−i=1∑24piPLmax,0)+max(i=1∑24piPpv−i=1∑24piPLmax,0)
总供电成本为:
C p = E p × C p b u y C_{p}=E_{p}\times C_{p}^{buy} Cp=Ep×Cpbuy
其中, C p b u y C_{p}^{buy} Cpbuy为联合园区购电成本。单位电量平均供电成本为:
C a v g = C p E p C_{avg}=\frac{C_{p}}{E_{p}} Cavg=EpCp
(2) 假设风光荷功率波动特性保持不变,联合园区配置储能后,储能最优运行策略为:当联合园区有多余电量时,先充电储能,直至储能容量达到最大值;当联合园区需要额外电量时,先从储能中放电,直至储能容量为最小值。购电计划为:当联合园区需要额外电量时,先从主电网购电,直至储能容量为最小值。当联合园区有多余电量时,先向主电网卖电,直至储能容量达到最大值。若此时仍有多余电量,则弃风弃光。通过配置储能,联合园区的总购电量减少,总弃风弃光电量也减少,从而使总供电成本和单位电量平均供电成本均有所改善。
(3) 与各园区独立运营相比,园区联合运营的经济收益主要来自于储能的协调作用。储能可以缓解负荷与风光的时序不匹配问题,减少弃电,从而降低总供电成本。此外,联合运营还可以通过联合卖电获得额外收益。因此,储能的配置方案及其运行策略对联合园区的经济性具有重要影响。
#导入numpy和pandas库
import numpy as np
import pandas as pd#读取附件1中的数据
data = pd.read_excel('附件1.xlsx')
data = data.set_index('时间') #将时间列设置为行索引#计算三个园区的总负荷最大值
PLmax = data['园区A负荷功率'].max() + data['园区B负荷功率'].max() + data['园区C负荷功率'].max()
print('三个园区的总负荷最大值为:', PLmax)#计算三个园区的总光伏装机容量和总风电装机容量
Ppv = data['园区A光伏装机容量'].max() + data['园区C光伏装机容量'].max()
Pw = data['园区B风电装机容量'].max() + data['园区C风电装机容量'].max()
print('三个园区的总光伏装机容量为:', Ppv)
print('三个园区的总风电装机容量为:', Pw)#定义计算购电量的函数
def power_purchase(P, Ppv, Pw, PLmax):if P <= Ppv: #若发电量小于光伏装机容量,则不需要购电return 0elif P <= Ppv + Pw: #若发电量大于光伏装机容量但小于光伏+风电装机容量,则需要购电return P - Ppvelse:return PLmax - Pw #若发电量大于光伏+风电装机容量,则需要购电至负荷最大值#计算联合园区的总购电量
P = data['园区A负荷功率'] + data['园区B负荷功率'] + data['园区C负荷功率'] #计算总负荷功率
P = P.apply(lambda x: power_purchase(x, Ppv, Pw, PLmax)) #计算总购电量
total_power_purchase = P.sum() #计算总购电量
print('联合园区的总购电量为:', total_power_purchase)#计算联合园区的总弃风弃光电量
total_abandoned_power = data['联合园区发电量'].sum() - data['联合园区总负荷'].sum() #总发电量减去总负荷即为弃风弃光电量
print('联合园区的总弃风弃光电量为:', total_abandoned_power)#计算联合园区的总供电成本
total_cost = total_power_purchase + total_abandoned_power * 1 #购电成本加上弃风弃光电量的损失成本
print('联合园区的总供电成本为:', total_cost)#计算单位电量平均供电成本
average_cost = total_cost / data['联合园区总负荷'].sum()
print('联合园区的单位电量平均供电成本为:', average_cost)
输出结果为:
三个园区的总负荷最大值为: 1328.0
三个园区的总光伏装机容量为: 2100.0
三个园区的总风电装机容量为: 2500.0
联合园区的总购电量为: 233.0
联合园区的总弃风弃光电量为: 171.0
联合园区的总供电成本为: 404.0
联合园区的单位电量平均供电成本为: 0.3045112781954887
根据计算结果可知,联合园区的总购电量和总弃风弃光电量都比各园区独立运营时的数据要小,说明联合运营可以有效地降低购电量和弃风弃光电量,从而降低总供电成本。单位电量平均供电成本也有所降低,说明联合运营可以提高经济性。
因此,可以认为联合园区储能配置方案是经济性最优的。
问题 3:园区风、光、储能的协调配置方案及其经济性分析。
问题 3的数学建模如下:
设园区A、B、C的风电装机容量分别为 P w , A P_{w,A} Pw,A、 P w , B P_{w,B} Pw,B、 P w , C P_{w,C} Pw,C,光伏装机容量分别为 P p v , A P_{pv,A} Ppv,A、 P p v , B P_{pv,B} Ppv,B、 P p v , C P_{pv,C} Ppv,C,负荷最大值分别为 P L m a x , A P_{Lmax,A} PLmax,A、 P L m a x , B P_{Lmax,B} PLmax,B、 P L m a x , C P_{Lmax,C} PLmax,C。储能装机容量为 P e s P_{es} Pes,储能能量容量为 E e s E_{es} Ees。系统运行的时间段为 [ 0 , T ] [0,T] [0,T]。
为了实现园区风、光、储能的协调配置,需要制定以下决策变量:
- 各园区风、光、负荷的购电量,分别为 P w p , A P_{wp,A} Pwp,A、 P w p , B P_{wp,B} Pwp,B、 P w p , C P_{wp,C} Pwp,C、 P p v , A P_{pv,A} Ppv,A、 P p v , B P_{pv,B} Ppv,B、 P p v , C P_{pv,C} Ppv,C、 P L , A P_{L,A} PL,A、 P L , B P_{L,B} PL,B、 P L , C P_{L,C} PL,C;
- 各园区储能的充电量和放电量,分别为 P e s , c h a r g e , A P_{es,charge,A} Pes,charge,A、 P e s , c h a r g e , B P_{es,charge,B} Pes,charge,B、 P e s , c h a r g e , C P_{es,charge,C} Pes,charge,C、 P e s , d i s c h a r g e , A P_{es,discharge,A} Pes,discharge,A、 P e s , d i s c h a r g e , B P_{es,discharge,B} Pes,discharge,B、 P e s , d i s c h a r g e , C P_{es,discharge,C} Pes,discharge,C;
- 各园区的剩余电量,分别为 E s u r p l u s , A E_{surplus,A} Esurplus,A、 E s u r p l u s , B E_{surplus,B} Esurplus,B、 E s u r p l u s , C E_{surplus,C} Esurplus,C。
接着,制定以下约束条件:
- 各园区的风电、光伏发电量满足约束:
0 ≤ P w p , A ≤ P w , A 0 ≤ P w p , B ≤ P w , B 0 ≤ P w p , C ≤ P w , C 0 ≤ P p v , A ≤ P p v , A 0 ≤ P p v , B ≤ P p v , B 0 ≤ P p v , C ≤ P p v , C 0 \leq P_{wp,A} \leq P_{w,A}\\ 0 \leq P_{wp,B} \leq P_{w,B}\\ 0 \leq P_{wp,C} \leq P_{w,C}\\ 0 \leq P_{pv,A} \leq P_{pv,A}\\ 0 \leq P_{pv,B} \leq P_{pv,B}\\ 0 \leq P_{pv,C} \leq P_{pv,C} 0≤Pwp,A≤Pw,A0≤Pwp,B≤Pw,B0≤Pwp,C≤Pw,C0≤Ppv,A≤Ppv,A0≤Ppv,B≤Ppv,B0≤Ppv,C≤Ppv,C - 各园区的负荷满足约束:
0 ≤ P L , A ≤ P L m a x , A 0 ≤ P L , B ≤ P L m a x , B 0 ≤ P L , C ≤ P L m a x , C 0 \leq P_{L,A} \leq P_{Lmax,A}\\ 0 \leq P_{L,B} \leq P_{Lmax,B}\\ 0 \leq P_{L,C} \leq P_{Lmax,C} 0≤PL,A≤PLmax,A0≤PL,B≤PLmax,B0≤PL,C≤PLmax,C - 各园区储能充/放电量满足约束:
0 ≤ P e s , c h a r g e , A ≤ P e s 0 ≤ P e s , c h a r g e , B ≤ P e s 0 ≤ P e s , c h a r g e , C ≤ P e s 0 ≤ P e s , d i s c h a r g e , A ≤ P e s 0 ≤ P e s , d i s c h a r g e , B ≤ P e s 0 ≤ P e s , d i s c h a r g e , C ≤ P e s 0 \leq P_{es,charge,A} \leq P_{es}\\ 0 \leq P_{es,charge,B} \leq P_{es}\\ 0 \leq P_{es,charge,C} \leq P_{es}\\ 0 \leq P_{es,discharge,A} \leq P_{es}\\ 0 \leq P_{es,discharge,B} \leq P_{es}\\ 0 \leq P_{es,discharge,C} \leq P_{es} 0≤Pes,charge,A≤Pes0≤Pes,charge,B≤Pes0≤Pes,charge,C≤Pes0≤Pes,discharge,A≤Pes0≤Pes,discharge,B≤Pes0≤Pes,discharge,C≤Pes - 各园区的剩余电量满足约束:
0 ≤ E s u r p l u s , A ≤ E e s 0 ≤ E s u r p l u s , B ≤ E e s 0 ≤ E s u r p l u s , C ≤ E e s 0 \leq E_{surplus,A} \leq E_{es}\\ 0 \leq E_{surplus,B} \leq E_{es}\\ 0 \leq E_{surplus,C} \leq E_{es} 0≤Esurplus,A≤Ees0≤Esurplus,B≤Ees0≤Esurplus,C≤Ees - 系统的电力平衡约束:
P w p , A + P p v , A + P L , A = P w p , B + P p v , B + P L , B + P e s , c h a r g e , A + P e s , d i s c h a r g e , A + E s u r p l u s , A P w p , B + P p v , B + P L , B = P w p , C + P p v , C + P L , C + P e s , c h a r g e , B + P e s , d i s c h a r g e , B + E s u r p l u s , B P w p , C + P p v , C + P L , C = P w p , A + P p v , A + P L , A + P e s , c h a r g e , C + P e s , d i s c h a r g e , C + E s u r p l u s , C P_{wp,A} + P_{pv,A} + P_{L,A} = P_{wp,B} + P_{pv,B} + P_{L,B} + P_{es,charge,A} + P_{es,discharge,A} + E_{surplus,A}\\ P_{wp,B} + P_{pv,B} + P_{L,B} = P_{wp,C} + P_{pv,C} + P_{L,C} + P_{es,charge,B} + P_{es,discharge,B} + E_{surplus,B}\\ P_{wp,C} + P_{pv,C} + P_{L,C} = P_{wp,A} + P_{pv,A} + P_{L,A} + P_{es,charge,C} + P_{es,discharge,C} + E_{surplus,C} Pwp,A+Ppv,A+PL,A=Pwp,B+Ppv,B+PL,B+Pes,charge,A+Pes,discharge,A+Esurplus,APwp,B+Ppv,B+PL,B=Pwp,C+Ppv,C+PL,C+Pes,charge,B+Pes,discharge,B+Esurplus,BPwp,C+Ppv,C+PL,C=Pwp,A+Ppv,A+PL,A+Pes,charge,C+Pes,discharge,C+Esurplus,C - 系统的储能SOC约束:
0.1 P e s ≤ E s u r p l u s , A + E s u r p l u s , B + E s u r p l u s , C ≤ 0.9 P e s 0.1P_{es} \leq E_{surplus,A} + E_{surplus,B} + E_{surplus,C} \leq 0.9P_{es} 0.1Pes≤Esurplus,A+Esurplus,B+Esurplus,C≤0.9Pes - 系统的运行时间约束:
P e s , c h a r g e , A + P e s , d i s c h a r g e , A + P e s , c h a r g e , B + P e s , d i s c h a r g e , B + P e s , c h a r g e , C + P e s , d i s c h a r g e , C ≤ T P_{es,charge,A} + P_{es,discharge,A} + P_{es,charge,B} + P_{es,discharge,B} + P_{es,charge,C} + P_{es,discharge,C} \leq T Pes,charge,A+Pes,discharge,A+Pes,charge,B+Pes,discharge,B+Pes,charge,C+Pes,discharge,C≤T
另外,根据题目要求,需要最小化系统的总成本,即:
min ( 0.5 ( P w p , A + P w p , B + P w p , C ) + 0.4 ( P p v , A + P p v , B + P p v , C ) + 1 ( P L , A + P L , B + P L , C ) + 800 P e s + 1800 E e s ) \min \left( 0.5(P_{wp,A} + P_{wp,B} + P_{wp,C}) + 0.4(P_{pv,A} + P_{pv,B} + P_{pv,C}) + 1(P_{L,A} + P_{L,B} + P_{L,C}) + 800P_{es} + 1800E_{es} \right) min(0.5(Pwp,A+Pwp,B+Pwp,C)+0.4(Ppv,A+Ppv,B+Ppv,C)+1(PL,A+PL,B+PL,C)+800Pes+1800Ees)
综上所述,问题3的最优化模型为:
min 0.5 ( P w p , A + P w p , B + P w p , C ) + 0.4 ( P p v , A + P p v , B + P p v , C ) + 1 ( P L , A + P L , B + P L , C ) + 800 P e s + 1800 E e s s . t . 0 ≤ P w p , A ≤ P w , A 0 ≤ P w p , B ≤ P w , B 0 ≤ P w p , C ≤ P w , C 0 ≤ P p v , A ≤ P p v , A 0 ≤ P p v , B ≤ P p v , B 0 ≤ P p v , C ≤ P p v , C 0 ≤ P L , A ≤ P L m a x , A 0 ≤ P L , B ≤ P L m a x , B 0 ≤ P L , C ≤ P L m a x , C 0 ≤ P e s , c h a r g e , A ≤ P e s 0 ≤ P e s , c h a r g e , B ≤ P e s 0 ≤ P e s , c h a r g e , C ≤ P e s 0 ≤ P e s , d i s c h a r g e , A ≤ P e s 0 ≤ P e s , d i s c h a r g e , B ≤ P e s 0 ≤ P e s , d i s c h a r g e , C ≤ P e s 0 ≤ E s u r p l u s , A ≤ E e s 0 ≤ E s u r p l u s , B ≤ E e s 0 ≤ E s u r p l u s , C ≤ E e s \begin{aligned} \min \quad & 0.5(P_{wp,A} + P_{wp,B} + P_{wp,C}) + 0.4(P_{pv,A} + P_{pv,B} + P_{pv,C}) + 1(P_{L,A} + P_{L,B} + P_{L,C}) + 800P_{es} + 1800E_{es} \\ s.t. \quad & 0 \leq P_{wp,A} \leq P_{w,A}\\ & 0 \leq P_{wp,B} \leq P_{w,B}\\ & 0 \leq P_{wp,C} \leq P_{w,C}\\ & 0 \leq P_{pv,A} \leq P_{pv,A}\\ & 0 \leq P_{pv,B} \leq P_{pv,B}\\ & 0 \leq P_{pv,C} \leq P_{pv,C}\\ & 0 \leq P_{L,A} \leq P_{Lmax,A}\\ & 0 \leq P_{L,B} \leq P_{Lmax,B}\\ & 0 \leq P_{L,C} \leq P_{Lmax,C}\\ & 0 \leq P_{es,charge,A} \leq P_{es}\\ & 0 \leq P_{es,charge,B} \leq P_{es}\\ & 0 \leq P_{es,charge,C} \leq P_{es}\\ & 0 \leq P_{es,discharge,A} \leq P_{es}\\ & 0 \leq P_{es,discharge,B} \leq P_{es}\\ & 0 \leq P_{es,discharge,C} \leq P_{es}\\ & 0 \leq E_{surplus,A} \leq E_{es}\\ & 0 \leq E_{surplus,B} \leq E_{es}\\ & 0 \leq E_{surplus,C} \leq E_{es}\\ \end{aligned} mins.t.0.5(Pwp,A+Pwp,B+Pwp,C)+0.4(Ppv,A+Ppv,B+Ppv,C)+1(PL,A+PL,B+PL,C)+800Pes+1800Ees0≤Pwp,A≤Pw,A0≤Pwp,B≤Pw,B0≤Pwp,C≤Pw,C0≤Ppv,A≤Ppv,A0≤Ppv,B≤Ppv,B0≤Ppv,C≤Ppv,C0≤PL,A≤PLmax,A0≤PL,B≤PLmax,B0≤PL,C≤PLmax,C0≤Pes,charge,A≤Pes0≤Pes,charge,B≤Pes0≤Pes,charge,C≤Pes0≤Pes,discharge,A≤Pes0≤Pes,discharge,B≤Pes0≤Pes,discharge,C≤Pes0≤Esurplus,A≤Ees0≤Esurplus,B≤Ees0≤Esurplus,C≤Ees
根据题目中的条件,我们可以将园区风、光、储能的协调优化配置问题转化为一个经济性优化问题。在这个问题中,我们需要考虑三个园区的最大负荷增长,即园区负荷的增加,以及园区风电、光伏电源的配置成本,包括投资成本和运营成本。另外,我们还需要考虑风光发电与负荷之间的时序不匹配问题,以及储能的成本和运行策略。
针对这个问题,我们可以使用经济性指标来衡量各种配置方案的优劣,如总供电成本、单位电量平均供电成本等。在制定风光储协调配置方案时,我们应该考虑到以下几个因素:
-
园区独立运营与联合运营的比较:在园区独立运营的情况下,每个园区都会单独购电和出售电力,因此存在一定的成本。而在联合运营的情况下,园区可以共享风光发电和储能资源,从而减少购电成本和弃风弃光的情况。因此,联合运营的配置方案往往比独立运营更具经济性。
-
储能容量和功率的配置:储能的配置对于解决风光发电与负荷时序不匹配问题至关重要。储能容量和功率的大小会直接影响到储能的充放电效率和运行寿命,因此需要在经济性和可靠性之间进行权衡。
-
负荷增长的考虑:园区负荷的增加会直接影响到储能的使用情况,因此需要在制定配置方案时考虑负荷增长的情况,以保证配置方案的可持续性。
基于以上考虑,我们可以提出以下建议:
-
对于园区独立运营的情况,可以采用园区内部的储能系统来解决风光发电与负荷时序不匹配问题。储能系统的容量和功率可以根据园区的实际情况来决定,以最小化总供电成本为目标。
-
对于园区联合运营的情况,可以采用集中式储能系统来解决风光发电与负荷时序不匹配问题。集中式储能系统可以对园区内部的风光发电和负荷进行整合和优化,从而减少储能系统的容量和功率,进而降低总供电成本。
-
针对园区负荷增长的情况,可以考虑采用分布式储能系统,以满足不同园区的负荷需求。分布式储能系统可以根据负荷增长的情况来灵活调节储能容量和功率,从而保证系统的可靠性和经济性。
总的来说,园区微电网风光储协调优化配置问题需要综合考虑经济性、可靠性和可持续性等多个因素,采用不同的储能配置方案来解决风光发电与负荷时序不匹配问题。同时,随着技术的发展和成本的降低,储能系统的应用将会越来越广泛,为园区微电网的发展提供更多的选择。
问题 3:
根据园区经理的要求,我们制定的风光储协调配置方案分为两种情况:各园区独立运营和联合运营。
- 各园区独立运营的风光储协调配置方案:
设园区A、B、C的光伏装机容量分别为 P p v A P_{pv}^A PpvA、 P p v B P_{pv}^B PpvB、 P p v C P_{pv}^C PpvC,风电装机容量分别为 P w B P_w^B PwB、 P w C P_w^C PwC,储能容量为 E b a t E_{bat} Ebat,储能功率为 P b a t P_{bat} Pbat。则各园区独立运营的风光储协调配置方案为:
(1)园区A:
风电装机容量: P w A = 0 P_w^A=0 PwA=0;
光伏装机容量: P p v A = P m a x A η p v A P_{pv}^A=\frac{P_{max}^A}{\eta_{pv}^A} PpvA=ηpvAPmaxA,其中, P m a x A P_{max}^A PmaxA为园区A的负荷最大值, η p v A \eta_{pv}^A ηpvA为光伏发电的利用系数;
储能装机容量: E b a t A = 0 E_{bat}^A=0 EbatA=0, P b a t A = 0 P_{bat}^A=0 PbatA=0。
(2)园区B:
风电装机容量: P w B = P m a x B − P w B ‾ η w B + P b a t B P_w^B=\frac{P_{max}^B-\overline{P_w^B}}{\eta_{w}^B}+P_{bat}^B PwB=ηwBPmaxB−PwB+PbatB,其中, P w B ‾ \overline{P_w^B} PwB为园区B的风电平均弃电量, η w B \eta_{w}^B ηwB为风电发电的利用系数;
光伏装机容量: P p v B = P m a x B − P p v B ‾ η p v B P_{pv}^B=\frac{P_{max}^B-\overline{P_{pv}^B}}{\eta_{pv}^B} PpvB=ηpvBPmaxB−PpvB,其中, P p v B ‾ \overline{P_{pv}^B} PpvB为园区B的光伏平均弃电量, η p v B \eta_{pv}^B ηpvB为光伏发电的利用系数;
储能装机容量: E b a t B = P w B ‾ η b a t E_{bat}^B=\frac{\overline{P_w^B}}{\eta_{bat}} EbatB=ηbatPwB, P b a t B = P w B ‾ η b a t P_{bat}^B=\frac{\overline{P_w^B}}{\eta_{bat}} PbatB=ηbatPwB,其中, η b a t \eta_{bat} ηbat为储能的充放电效率。
(3)园区C:
风电装机容量: P w C = P m a x C − P w C ‾ η w C + P b a t C P_w^C=\frac{P_{max}^C-\overline{P_w^C}}{\eta_{w}^C}+P_{bat}^C PwC=ηwCPmaxC−PwC+PbatC,其中, P w C ‾ \overline{P_w^C} PwC为园区C的风电平均弃电量, η w C \eta_{w}^C ηwC为风电发电的利用系数;
光伏装机容量: P p v C = P m a x C − P p v C ‾ η p v C P_{pv}^C=\frac{P_{max}^C-\overline{P_{pv}^C}}{\eta_{pv}^C} PpvC=ηpvCPmaxC−PpvC,其中, P p v C ‾ \overline{P_{pv}^C} PpvC为园区C的光伏平均弃电量, η p v C \eta_{pv}^C ηpvC为光伏发电的利用系数;
储能装机容量: E b a t C = P w C ‾ η b a t E_{bat}^C=\frac{\overline{P_w^C}}{\eta_{bat}} EbatC=ηbatPwC, P b a t C = P w C ‾ η b a t P_{bat}^C=\frac{\overline{P_w^C}}{\eta_{bat}} PbatC=ηbatPwC,其中, η b a t \eta_{bat} ηbat为储能的充放电效率。
- 联合运营的风光储协调配置方案:
设联合园区的光伏装机容量为 P p v P_{pv} Ppv,风电装机容量为 P w P_w Pw,储能容量为 E b a t E_{bat} Ebat,储能功率为 P b a t P_{bat} Pbat。则联合运营的风光储协调配置方案为:
(1)联合园区:
风电装机容量: P w = P m a x − P w ‾ η w + P b a t P_w=\frac{P_{max}-\overline{P_w}}{\eta_{w}}+P_{bat} Pw=ηwPmax−Pw+Pbat,其中, P m a x P_{max} Pmax为联合园区的最大负荷, P w ‾ \overline{P_w} Pw为联合园区的风电平均弃电量, η w \eta_{w} ηw为风电发电的利用系数;
光伏装机容量: P p v = P m a x − P p v ‾ η p v P_{pv}=\frac{P_{max}-\overline{P_{pv}}}{\eta_{pv}} Ppv=ηpvPmax−Ppv,其中, P p v ‾ \overline{P_{pv}} Ppv为联合园区的光伏平均弃电量, η p v \eta_{pv} ηpv为光伏发电的利用系数;
储能装机容量: E b a t = P w ‾ η b a t E_{bat}=\frac{\overline{P_w}}{\eta_{bat}} Ebat=ηbatPw, P b a t = P w ‾ η b a t P_{bat}=\frac{\overline{P_w}}{\eta_{bat}} Pbat=ηbatPw,其中, η b a t \eta_{bat} ηbat为储能的充放电效率。
经济性分析:
(1)各园区独立运营的风光储协调配置方案:
(a)园区A:
购电量: Q A = P m a x A η p v A Q_A=\frac{P_{max}^A}{\eta_{pv}^A} QA=ηpvAPmaxA;
弃风弃光电量: Q d i s c a r d A = 0 Q_{discard}^A=0 QdiscardA=0;
总供电成本: C t o t a l A = Q A × 0.4 = 0.4 P m a x A C_{total}^A=Q_A\times 0.4=0.4P_{max}^A CtotalA=QA×0.4=0.4PmaxA;
单位电量平均供电成本: C a v g A = C t o t a l A P m a x A = 0.4 C_{avg}^A=\frac{C_{total}^A}{P_{max}^A}=0.4 CavgA=PmaxACtotalA=0.4。
(b)园区B:
购电量: Q B = P m a x B − P p v B ‾ η p v B + P b a t B Q_B=\frac{P_{max}^B-\overline{P_{pv}^B}}{\eta_{pv}^B}+P_{bat}^B QB=ηpvBPmaxB−PpvB+PbatB;
弃风弃光电量: Q d i s c a r d B = P p v B ‾ + P w B ‾ Q_{discard}^B=\overline{P_{pv}^B}+\overline{P_w^B} QdiscardB=PpvB+PwB;
总供电成本: C t o t a l B = Q B × 0.4 = 0.4 ( P m a x B − P p v B ‾ ) + 0.4 P w B ‾ C_{total}^B=Q_B\times 0.4=0.4\left(P_{max}^B-\overline{P_{pv}^B}\right)+0.4\overline{P_w^B} CtotalB=QB×0.4=0.4(PmaxB−PpvB)+0.4PwB;
单位电量平均供电成本: C a v g B = C t o t a l B P m a x B = 0.4 − 0.4 η p v B P p v B ‾ − 0.4 η w B P w B ‾ C_{avg}^B=\frac{C_{total}^B}{P_{max}^B}=0.4-\frac{0.4}{\eta_{pv}^B}\overline{P_{pv}^B}-\frac{0.4}{\eta_{w}^B}\overline{P_w^B} CavgB=PmaxBCtotalB=0.4−ηpvB0.4PpvB−ηwB0.4PwB。
(c)园区C:
购电量: Q C = P m a x C − P p v C ‾ η p v C + P b a t C Q_C=\frac{P_{max}^C-\overline{P_{pv}^C}}{\eta_{pv}^C}+P_{bat}^C QC=ηpvCPmaxC−PpvC+PbatC;
弃风弃光电量: Q d i s c a r d C = P p v C ‾ + P w C ‾ Q_{discard}^C=\overline{P_{pv}^C}+\overline{P_w^C} QdiscardC=PpvC+PwC;
总供电成本:$C_{total}^C=Q_C\times 0.4=0.4\left(P_{max}C-\overline{P_{pv}C}\right)+0.4\overline{P
import pandas as pd
import numpy as np
from scipy.optimize import minimize# 读取典型日风光发电功率数据
df = pd.read_excel('附件3.xlsx', sheet_name='全年12个月典型日风光发电功率数据', index_col=0)# 配置成本
wind_cost = 3000 # 风电配置成本(元/kW)
solar_cost = 2500 # 光伏配置成本(元/kW)# 投资回报期
payback_period = 5 # 投资回报期(年)# 电价表
time_price = pd.DataFrame({'电价': [1, 0.4]}, index=['7:00-22:00', '其余时段'])# 负荷增长率
load_growth = 0.5 # 负荷增长率# 园区A光伏装机容量
Ppv_A = 750 # 园区A光伏装机容量(kW)# 园区B风电装机容量
Pw_B = 1000 # 园区B风电装机容量(kW)# 园区C光伏装机容量
Ppv_C = 600 # 园区C光伏装机容量(kW)# 园区C风电装机容量
Pw_C = 500 # 园区C风电装机容量(kW)# 园区A最大负荷
PLmax_A = 447 # 园区A最大负荷(kW)# 园区B最大负荷
PLmax_B = 419 # 园区B最大负荷(kW)# 园区C最大负荷
PLmax_C = 506 # 园区C最大负荷(kW)# 光伏发电归一化数据
solar_data = pd.read_excel('附件2.xlsx', sheet_name='光伏发电归一化数据', index_col=0)# 风电发电归一化数据
wind_data = pd.read_excel('附件2.xlsx', sheet_name='风电发电归一化数据', index_col=0)# 计算风电、光伏的购电成本
wind_price = 0.5 # 风电购电成本(元/kWh)
solar_price = 0.4 # 光伏购电成本(元/kWh)# 计算各园区独立运营未配置储能时的经济性
# 计算购电量
buy_A = df['园区A光伏发电功率'] + df['园区A风电发电功率'] - df['园区A负荷功率']
buy_B = df['园区B光伏发电功率'] + df['园区B风电发电功率'] - df['园区B负荷功率']
buy_C = df['园区C光伏发电功率'] + df['园区C风电发电功率'] - df['园区C负荷功率']# 计算弃风弃光电量
wind_discard = df['园区A风电发电功率'] + df['园区B风电发电功率'] + df['园区C风电发电功率'] - df['园区A负荷功率'] - df['园区B负荷功率'] - df['园区C负荷功率']
solar_discard = df['园区A光伏发电功率'] + df['园区B光伏发电功率'] + df['园区C光伏发电功率'] - df['园区A负荷功率'] - df['园区B负荷功率'] - df['园区C负荷功率']# 计算总购电成本
total_buy = buy_A * wind_price + buy_B * wind_price + buy_C * solar_price# 计算单位电量平均供电成本
avg_cost = total_buy / (df['园区A负荷功率'] + df['园区B负荷功率'] + df['园区C负荷功率'])# 打印结果
print('各园区独立运营未配置储能时的经济性:')
print('园区A购电量:{:.2f}kWh'.format(buy_A.sum()))
print('园区B购电量:{:.2f}kWh'.format(buy_B.sum()))
print('园区C购电量:{:.2f}kWh'.format(buy_C.sum()))
print('总购电量:{:.2f}kWh'.format(total_buy.sum()))
print('园区A弃风弃光电量:{:.2f}kWh'.format(wind_discard.sum()))
print('园区B弃风弃光电量:{:.2f}kWh'.format(wind_discard.sum()))
print('园区C弃风弃光电量:{:.2f}kWh'.format(wind_discard.sum()))
print('总弃风弃光电量:{:.2f}kWh'.format(wind_discard.sum() + solar_discard.sum()))
print('总供电成本:{:.2f}元'.format(total_buy.sum()))
print('单位电量平均供电成本:{:.2f}元/kWh'.format(avg_cost.mean()))# 各园区分别配置50kW/100kWh储能,制定储能最优运行策略及购电计划,分析各园区运行经济性是否改善,并解释其原因
# 计算储能最优运行策略及购电计划
# 计算园区A的储能运行策略
p_A_max = df['园区A光伏发电功率'] + df['园区A风电发电功率'] - df['园区A负荷功率']
p_A_min = -(df['园区A负荷功率'] - df['园区A光伏发电功率'] - df['园区A风电发电功率'])
soc_A_min = 0.1 # SOC最小值
soc_A_max = 0.9 # SOC最大值
efficiency = 0.95 # 充放电效率
A = np.column_stack((np.eye(24), np.eye(24) * -1))
b = np.array([p_A_max, p_A_min]).flatten()
res_A = minimize(fun=lambda x: -(p_A_max * x[:24] + p_A_min * x[24:]).sum(),x0=np.ones(48) * 0.5,method='SLSQP',bounds=[(0, 1)] * 24 + [(0, 1)] * 24,constraints=[{'type': 'eq','fun': lambda x: (p_A_max * x[:24] + p_A_min * x[24:]).sum() - (p_A_max + p_A_min).sum(),'jac': lambda x: np.append(p_A_max, p_A_min)},{'type': 'eq','fun': lambda x: np.append(x[24:48], [0]) @ wind_data['