2024年 电工杯 (A题)大学生数学建模挑战赛 | 园区微电网风光储协调优化配置 | 数学建模完整代码解析

DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享,与你一起了解前沿科技知识!

本次DeepVisionary带来的是电工杯的详细解读:

完整内容可以在文章末尾全文免费领取&阅读!
在这里插入图片描述

问题重述及方法概述

问题 1:各园区独立运营储能配置方案及其经济性分析
经济性分析采用成本-效益分析方法,计算购电量、弃风弃光电量、总供电成本和单位电量平均供电成本等指标。

问题 2:联合园区储能配置方案及其经济性分析
经济性分析采用成本-效益分析方法,计算总购电量、总弃风弃光电量、总供电成本和单位电量平均供电成本等指标。

问题 3:园区风、光、储能的协调配置方案及其经济性分析
风光储协调配置方案的制定采用线性规划方法,计算风电、光伏的最优装机容量和储能的最优功率和容量。

问题一

第一个问题是:各园区独立运营储能配置方案及其经济性分析。

设园区A、B、C的光伏发电功率分别为Ppv.A、Ppv.B、Ppv.C,风电功率分别为Pw.B、Pw.C,最大负荷分别为PLmax.A、PLmax.B、PLmax.C。根据题目中的假设和条件,可以得出以下公式:

  1. 未配置储能时各园区的供电成本为:

园区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

  1. 各园区配置 50kW/100kWh 储能后的运行策略为:尽量利用储能电量弥补负荷与风光发电之间的时序不匹配,降低弃风弃光的情况,具体可采取的运行策略为:
  • 当园区A的光伏发电功率大于最大负荷时,将多余的电量存入储能电池中。

  • 当园区A的光伏发电功率小于最大负荷时,从储能电池中补充电量。

  • 当园区B的风电功率大于最大负荷时,将多余的电量存入储能电池中。

  • 当园区B的风电功率小于最大负荷时,从储能电池中补充电量。

  • 当园区C的光伏和风电功率总和大于最大负荷时,将多余的电量存入储能电池中。

  • 当园区C的光伏和风电功率总和小于最大负荷时,从储能电池中补充电量。

  1. 各园区配置 50kW/100kWh 储能后的购电计划为:当园区的光伏和风电发电不足以满足负荷时,从主电网购买电量,购买电量的计算公式为:

园区A:购电量 = PLmax.A - Ppv.A - 储能电量 - 主电网出售电量

园区B:购电量 = PLmax.B - Pw.B - 储能电量 - 主电网出售电量

园区C:购电量 = PLmax.C - Ppv.C - Pw.C - 储能电量 - 主电网出售电量

  1. 各园区配置 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年

  1. 各园区配置 50kW/100kWh 储能后的单位电量平均供电成本为:总供电成本 / (园区A的总用电量 + 园区B的总用电量 + 园区C的总用电量)

  2. 经济性分析:

(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+(447750)×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+(5061000)×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+(506600)×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.05
        else:
            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.9
        soc_A[i] = 0.9
    if 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.05
        else:
            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.9
        soc_B[i] = 0.9
    if 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=124piL=i=124piPw+i=124piPpvi=124piPLmax
其中, 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=124piPwi=124piPLmax,0)+max(i=124piPpvi=124piPLmax,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 0
    elif P <= Ppv + Pw: #若发电量大于光伏装机容量但小于光伏+风电装机容量,则需要购电
        return P - Ppv
    else:
        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]

为了实现园区风、光、储能的协调配置,需要制定以下决策变量:

  1. 各园区风、光、负荷的购电量,分别为 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
  2. 各园区储能的充电量和放电量,分别为 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
  3. 各园区的剩余电量,分别为 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

接着,制定以下约束条件:

  1. 各园区的风电、光伏发电量满足约束:
    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} 0Pwp,APw,A0Pwp,BPw,B0Pwp,CPw,C0Ppv,APpv,A0Ppv,BPpv,B0Ppv,CPpv,C
  2. 各园区的负荷满足约束:
    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} 0PL,APLmax,A0PL,BPLmax,B0PL,CPLmax,C
  3. 各园区储能充/放电量满足约束:
    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} 0Pes,charge,APes0Pes,charge,BPes0Pes,charge,CPes0Pes,discharge,APes0Pes,discharge,BPes0Pes,discharge,CPes
  4. 各园区的剩余电量满足约束:
    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} 0Esurplus,AEes0Esurplus,BEes0Esurplus,CEes
  5. 系统的电力平衡约束:
    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
  6. 系统的储能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.1PesEsurplus,A+Esurplus,B+Esurplus,C0.9Pes
  7. 系统的运行时间约束:
    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,CT

另外,根据题目要求,需要最小化系统的总成本,即:
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+1800Ees0Pwp,APw,A0Pwp,BPw,B0Pwp,CPw,C0Ppv,APpv,A0Ppv,BPpv,B0Ppv,CPpv,C0PL,APLmax,A0PL,BPLmax,B0PL,CPLmax,C0Pes,charge,APes0Pes,charge,BPes0Pes,charge,CPes0Pes,discharge,APes0Pes,discharge,BPes0Pes,discharge,CPes0Esurplus,AEes0Esurplus,BEes0Esurplus,CEes
根据题目中的条件,我们可以将园区风、光、储能的协调优化配置问题转化为一个经济性优化问题。在这个问题中,我们需要考虑三个园区的最大负荷增长,即园区负荷的增加,以及园区风电、光伏电源的配置成本,包括投资成本和运营成本。另外,我们还需要考虑风光发电与负荷之间的时序不匹配问题,以及储能的成本和运行策略。

针对这个问题,我们可以使用经济性指标来衡量各种配置方案的优劣,如总供电成本、单位电量平均供电成本等。在制定风光储协调配置方案时,我们应该考虑到以下几个因素:

  1. 园区独立运营与联合运营的比较:在园区独立运营的情况下,每个园区都会单独购电和出售电力,因此存在一定的成本。而在联合运营的情况下,园区可以共享风光发电和储能资源,从而减少购电成本和弃风弃光的情况。因此,联合运营的配置方案往往比独立运营更具经济性。

  2. 储能容量和功率的配置:储能的配置对于解决风光发电与负荷时序不匹配问题至关重要。储能容量和功率的大小会直接影响到储能的充放电效率和运行寿命,因此需要在经济性和可靠性之间进行权衡。

  3. 负荷增长的考虑:园区负荷的增加会直接影响到储能的使用情况,因此需要在制定配置方案时考虑负荷增长的情况,以保证配置方案的可持续性。
    在这里插入图片描述

基于以上考虑,我们可以提出以下建议:

  1. 对于园区独立运营的情况,可以采用园区内部的储能系统来解决风光发电与负荷时序不匹配问题。储能系统的容量和功率可以根据园区的实际情况来决定,以最小化总供电成本为目标。

  2. 对于园区联合运营的情况,可以采用集中式储能系统来解决风光发电与负荷时序不匹配问题。集中式储能系统可以对园区内部的风光发电和负荷进行整合和优化,从而减少储能系统的容量和功率,进而降低总供电成本。

  3. 针对园区负荷增长的情况,可以考虑采用分布式储能系统,以满足不同园区的负荷需求。分布式储能系统可以根据负荷增长的情况来灵活调节储能容量和功率,从而保证系统的可靠性和经济性。

总的来说,园区微电网风光储协调优化配置问题需要综合考虑经济性、可靠性和可持续性等多个因素,采用不同的储能配置方案来解决风光发电与负荷时序不匹配问题。同时,随着技术的发展和成本的降低,储能系统的应用将会越来越广泛,为园区微电网的发展提供更多的选择。

问题 3:

根据园区经理的要求,我们制定的风光储协调配置方案分为两种情况:各园区独立运营和联合运营。

  1. 各园区独立运营的风光储协调配置方案:

设园区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=ηwBPmaxBPwB+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=ηpvBPmaxBPpvB,其中, 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=ηwCPmaxCPwC+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=ηpvCPmaxCPpvC,其中, 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为储能的充放电效率。
在这里插入图片描述

  1. 联合运营的风光储协调配置方案:

设联合园区的光伏装机容量为 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=ηwPmaxPw+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=ηpvPmaxPpv,其中, 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=ηpvBPmaxBPpvB+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(PmaxBPpvB)+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=ηpvCPmaxCPpvC+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['

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637118.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MVS net笔记和理解

文章目录 传统的方法有什么缺陷吗&#xff1f;MVSnet深度的预估 传统的方法有什么缺陷吗&#xff1f; 传统的mvs算法它对图像的光照要求相对较高&#xff0c;但是在实际中要保证照片的光照效果很好是很难的。所以传统算法对镜面反射&#xff0c;白墙这种的重建效果就比较差。 …

【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 &#x1f525;前言&#x1f680;unittest编写测试用例&#x1f680;unittest测…

【408精华知识】Cache类题目解题套路大揭秘

有关Cache的题目&#xff0c;需要理解Cache的工作原理&#xff0c;也即给出一个地址&#xff0c;要知道如何在Cache中寻找或者如何将其从主存中复制入Cache&#xff0c;同时理解Cache中具体是如何存储的&#xff0c;包含三种存储方式&#xff0c;分别是直接映射、全相联映射、组…

clion/pycharm 安装中文

楼主版本 2024.1 mac 操作系统&#xff0c;理论上不同版本和不同操作系统操作应该大同小异 首先找到插件的位置 方式一 1、进入工程&#xff0c;右上角找到设置 2、找到插件&#xff08;欢迎界面也能找到这个&#xff09; 方式二 在欢迎界面找到插件 最后 插件商店搜索 l…

矩阵乘法不满足交换律-反证法

假定有2个矩阵A和B A*B 不等于 B*A 手写证明&#xff1a; A*B为 B*A为 由此可以看出&#xff0c;矩阵乘法不满足交换律&#xff01;&#xff01;

Python | Leetcode Python题解之第100题相同的树

题目&#xff1a; 题解&#xff1a; class Solution:def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:if not p and not q:return Trueif not p or not q:return Falsequeue1 collections.deque([p])queue2 collections.deque([q])while queue1 and queue2:node…

centos7和centos8安装mysql5.6 5.7 8.0

https://dev.mysql.com/downloads/repo/yum/ 注意构造下http://repo.mysql.com/mysql-community-release-el*-*.noarch.rpm 【以centos7为例】 安装mysql5.6 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5…

初识Qt:从Hello world到对象树的深度解析

Qt中的对象树深度解析 Hello world1.图形化界面创建命令行式创建在栈上创建在堆上创建为什么传文本需要QString&#xff0c;std::string不行吗&#xff1f;那为什么要传入this指针&#xff1f;为什么new后不用显示调用delete函数呢&#xff0c;不会造成内存泄漏问题吗&#xff…

国产操作系统上使用SQLynx连接数据库 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;国产操作系统上使用SQLynx连接数据库 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天我们将探讨如何在国产操作系统上使用SQLynx。这是一款功能强大的数据库管理工具&#xff0c;可以帮助用户高效地管理和操作数据库。本文将详细介绍…

2024 电工杯高校数学建模竞赛(A题)数学建模完整思路+完整代码全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024电工杯数学建模竞赛&#xff08;B题&#xff09;的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有详尽的建模过程和解…

Docker搭建mysql性能测试环境

OpenEuler使用Docker搭建mysql性能测试环境 一、安装Docker二、docker安装mysql三、测试mysql连接 一、安装Docker 建立源文件vim /etc/yum.repos.d/docker-ce.repo增加内容[docker-ce-stable] nameDocker CE Stable - $basearch baseurlhttps://repo.huaweicloud.com/docker…

NLP(18)--大模型发展(2)

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 Transformer结构&#xff1a; LLM的结构变化&#xff1a; Muti-head 共享&#xff1a; Q继续切割为muti-head,但是K,V少切&#xff0c;比如切为2个&#xff0c;然后复制到n个muti-head减少参数量&#xff0c;加速训练 atte…

STM32-串口通信波特率计算以及寄存器的配置详解

您好&#xff0c;我们一些喜欢嵌入式的朋友一起建立的一个技术交流平台&#xff0c;本着大家一起互相学习的心态而建立&#xff0c;不太成熟&#xff0c;希望志同道合的朋友一起来&#xff0c;抱歉打扰您了QQ群372991598 串口通信基本原理 处理器与外部设备通信的两种方式 并行…

flume使用实例

1、监听端口a1.sources.r1.type netcat 配置文件nc-flume-console.conf # Name the components on this agent a1 表示jvm进程名 a1.sources r1 a1.sinks k1 a1.channels c1 # Describe/configure the source a1.sources.r1.type netcat a1.sources.r1.bind node…

《王者荣耀》4月狂揽2.34亿美元 单日流水1亿美元 全球销量第二

易采游戏网5月24日消息&#xff0c;在刚刚过去的四月&#xff0c;全球手游市场迎来了一场收益的盛宴&#xff0c;其中《王者荣耀》以其惊人的吸金能力&#xff0c;以2.34亿美元的月收入在全球手游排行榜上位列第二。4月5日&#xff0c;这款由腾讯游戏开发的多人在线战斗竞技游戏…

软考考前前怎么复习?

有一些经验&#xff0c;可以和大家分享一下。 软考的考试内容 软考包含许多科目&#xff0c;共分为五大类&#xff0c;27个专业。 软考的等级不同&#xff0c;考试内容也有所不同。初级和中级考试只包括两门科目&#xff0c;而高级则需要考三门科目。每门科目满分75分&#x…

knife4j-swagger

文章目录 knife4j-swagger第 1 步&#xff1a;引入 jar 包第 2 步&#xff1a;添加注释来开启 knife4j第 3 步&#xff1a;验证问题解决新增功能&#xff1a;ApiOperationSupport 注解新增功能&#xff1a;DynamicParameters 注解忽略参数属性 knife4j-swagger knife4j 是 Swa…

W801 实现获取天气情况

看了小安派&#xff08;AiPi-Eyes 天气站&#xff09;的源码&#xff0c;感觉用W801也可以实现。 一、部分源码 main.c #include "wm_include.h" #include "Lcd_Driver.h"void UserMain(void) {printf("\n user task \n");Lcd_Init();Lcd_Clea…

Qt官方示例---opengl

文件相对路径&#xff1a;Examples\Qt-5.9.1\opengl 2dpainting cube computegles31 contextinfo hellogl2 hellowindow paintedwindow qopenglwidget qopenglwindow textures threadedqopenglwidget

VirtualBox设置共享文件夹,用于在Window11 和 Ubuntu22 中共享文件,2024亲测可用

VirtualBox设置共享文件夹&#xff0c;用于在Window11 和 Ubuntu22 中共享文件&#xff0c;2024亲测可用 Windows操作 1、新建文件夹&#xff0c;用于共享 Linux操作 1、添加共享文件夹 共享文件夹路径&#xff1a;选择Windows系统中你需要共享的文件夹 共享文件夹名称&am…