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))) #