【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)

简介: 【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

💥1 概述

基于遗传算法的售电公司购售电策略优化模型构建

——考虑储能技术与可再生能源消纳责任制

摘 要:为了使售电公司能够更好地迎接可再生能源消纳权重指标发生改变带来的挑战,改变

了各个时段的可再生能源消纳权重指标,建立了考虑储能和可再生能源消纳责任制的售电公司

购售电模型。首先,构建了考虑可再生能源消纳责任制的售电公司购电侧模型;然后,建立了

考虑可再生能源消纳责任制、储能以及正态分布形式的自身风光出力误差的售电公司利润函

数,并以该利润函数最大化为目标函数;最后,通过在遗传算法中引入罚函数对其进行求解。

通过算例验证了储能、可再生能源消纳权重对售电公司收益的影响以及储能在消纳权重发生改

变时的作用。

关键词:可再生能源消纳责任制;储能;购售电策略;利润函数;遗传算法

image.gif 编辑

近年来,一方面,“碳中和”愿景加速了可再生能源的开发,但却因电网基础设施建设等因素发展滞后,加剧了弃风、弃光现象[1-3];另一方面,分布式储能等产消者大量出现在售电侧[4-5],但其充放电的不确定性致使售电公司迫切寻求符合自身利益的储能调度计划,因此同时研究可再生能源消纳和储能显得极其重要。在可再生能源消纳方面,售电公司作为新兴市场主体应该勇于承担可再生能源消纳的责任,这既响应了国家能源局发出的可再生能源消纳责任制[6-7]又能提升自身的社会竞争力。总之,同时考虑储能和可再生能源消纳责任制对售电公司利润及购售电策略的影响是一个重要的研究方向。

一、遗传算法在电力系统优化中的核心作用

  1. 算法优势与适应性
    遗传算法(GA)通过模拟生物进化中的自然选择、交叉和变异机制,能够有效处理多目标、非线性、高维度的优化问题。在电力系统中,其应用已覆盖无功优化、电源规划、调度决策等领域。例如,在含风电的电力调度中,GA通过预测可再生能源出力与负荷需求,动态调整火电、水电、风电的出力分配,实现成本与排放的双重优化。
  2. 改进策略提升性能
  • 自适应参数调整:如动态调整交叉概率和变异概率,避免传统GA易陷入局部最优的问题。
  • 多目标优化:结合Pareto前沿分析,同时优化经济性(购电成本)、环保性(碳排放)、可靠性(供电稳定性)等目标。

二、储能技术对购售电策略的影响机制

  1. 经济性驱动策略 储能系统通过“低储高放”参与电力市场,显著降低购电成本:
  • 峰谷价差套利:在日前市场中,储能可转移高电价时段购电量至低电价时段,降低总成本约2.246%。
  • 风险对冲:通过两阶段需求响应模型(价格型与激励型),储能平滑负荷曲线并降低可再生能源出力波动带来的风险。
  1. 市场机制与政策支持
  • 参与现货市场:如四川省明确独立储能电站放电时参照燃煤机组参与交易,美国FERC 841法案赋予储能公平市场地位。
  • 收益分成模式:用户侧储能允许电力用户与投资方约定充放电收益分配比例。

三、可再生能源消纳责任制的约束与激励

  1. 考核要求与完成方式
  • 责任主体:售电公司需完成总量与非水电消纳责任权重,考核未达标将面临约谈、罚款。
  • 履行途径:包括自建可再生能源项目、购买绿证、参与省间可再生能源交易等。
  1. 动态调整机制
  • 滚动优化:分月调整购电策略以应对市场电价波动,避免年度决策的僵化。
  • 惩罚成本建模:未完成消纳量的惩罚成本需纳入目标函数。

四、融合储能与消纳责任的遗传算法优化模型设计

  1. 目标函数构建
    综合经济性、合规性与风险控制:
    image.gif 编辑
  2. 约束条件
  • 电力平衡:购电量 + 储能放电量 = 售电量 + 储能充电量。
  • 储能运行限制:SOC(荷电状态)、充放电功率、循环寿命。
  • 消纳责任权重:月度/年度可再生能源消纳量 ≥ 政策要求。
  1. 遗传算法实现步骤
  • 编码设计:将购电组合(火电、风电、光伏比例)、储能充放电计划、绿证购买量编码为染色体。
  • 适应度函数:以目标函数值的倒数作为适应度,优先选择成本低、风险小的个体。
  • 交叉与变异:采用多点交叉和非均匀变异策略,增强全局搜索能力。

五、案例分析:模型应用与效益验证

以某地区含风电、光伏、储能的售电公司为例:

  1. 场景对比
  • 无储能策略:购电成本高,依赖火电补足可再生能源波动,消纳考核达标率仅75%。
  • 优化后策略:储能转移30%高电价时段负荷,消纳达标率提升至95%,总成本降低12%。
  1. 敏感性分析
  • 储能容量影响:容量与风/光购电量比达4:1时,需求响应效果边际递减。
  • 市场电价波动:峰谷价差扩大至689.9元/(MW·h)时,储能投资回收期缩短至5年。

六、政策建议与未来方向

  1. 机制创新
  • 动态配额分配:根据地区资源禀赋动态调整消纳责任权重。
  • 跨省交易支持:建立省间可再生能源交易平台,降低绿证购买成本。
  1. 技术融合
  • 多算法协同:结合粒子群优化(PSO)改进GA局部搜索能力。
  • 数字孪生技术:构建虚拟电厂模拟市场交易,预验证策略可行性。

通过上述模型与策略,售电公司可在满足可再生能源消纳责任的同时,最大化经济收益,推动新型电力系统的高效运行。

📚2 运行结果

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

部分代码:

##步骤2 惩罚项

def calc_e(X):

   SUMCOST = []  # 存储群体惩罚项

   for i in range(NP):  # 每一个个体

       # 计算1个个体的惩罚项 X的维度是3 * 24

       grid = X[i, 0, :]  # 主网出力

       xdcll = X[i, 1, :]  # 蓄电池出力,大于0放电

       cutpl = X[i, 2, :]  # 可削减负荷

       COST = []  # 存储个体惩罚项

       ##################对蓄电池进行惩罚  #############

       # XDCRL = 1200  # 蓄电池额定容量为 1200 kWh

       soc = np.zeros((25, 1))  # 初始化储能荷电状态

       soc[0] = 0.4  # 开始SOC=0.4

       for i in range(24):  # 遍历24个时刻

           soc[i + 1] = xdcll[i] / XDCRL + soc[i]  # 下一时刻的soc=上一时刻soc+充放电soc变化量

       # 对soc越限进行惩罚  #储能电池剩余电量下限240kwh soc=0.2,上下1080kwh soc=0.9.

       for i in range(25):  # 遍历soc

           if soc[i] < 0.2:

               cost = np.abs(soc[i] - 0.2)

               COST.append(np.abs(cost))

           if soc[i] > 0.9:

               cost = np.abs(soc[i] - 0.9)

               COST.append(cost)

       # 对储能单位时间充放电功率越限进行惩罚 储能单位时间充放电功率soc最大为0.2

       for i in range(24):  # 遍历24个时刻

           if np.abs(xdcll[i] / XDCRL) > 0.2:

               cost = np.abs(xdcll[i] / XDCRL) - 0.2

               COST.append(cost)

       # 对蓄电池首末进行惩罚

       if soc[-1] != 0.4:

           cost = 10

           COST.append(cost)

       ##################对可削减负荷进行惩罚  #############

       for i in range(24):

           if cutpl[i] > CUTPL[i]:  # 如果大于最大可削减负荷

               COST.append(cutpl[i] - CUTPL[i])

           if cutpl[i] < 0:

               COST.append(np.abs(cutpl[i]))

       ##################对功率平衡 进行惩罚  #############

       pf = PF * (1 + e1)  # PF预测值  pf真实值

       ps = PS * (1 + e2)  # =PS光伏预测值 ps真实值

       # 可削减负荷=初始负荷-储能-风-光-主网功率

       for i in range(24):

           if np.abs(PL[i] - xdcll[i] - pf[i] - ps[i] - grid[i] - cutpl[i]) > 0.01:  # 如果 初始负荷-储能-风-光-主网-可削减负荷>0.01

               cost = np.abs(PL[i] - xdcll[i] - pf[i] - ps[i] - grid[i] - cutpl[i]) - 0.01

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]陈名扬,刘敏,鲁杰.考虑储能和可再生能源消纳责任制的售电公司

相关文章
|
3月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
278 100
|
3月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
445 95
|
3月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
166 88
|
3月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
4月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
333 102
|
4月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
356 104
|
4月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
285 103
|
4月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
210 82
|
3月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
265 3
|
3月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
508 3

推荐镜像

更多