【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
欢迎来到本博客❤️❤️博主优势博客内容尽量做到思维缜密逻辑清晰为了方便读者。⛳️座右铭行百里者半于九十。1 概述基于遗传算法的售电公司购售电策略优化模型构建——考虑储能技术与可再生能源消纳责任制摘 要为了使售电公司能够更好地迎接可再生能源消纳权重指标发生改变带来的挑战改变了各个时段的可再生能源消纳权重指标建立了考虑储能和可再生能源消纳责任制的售电公司购售电模型。首先构建了考虑可再生能源消纳责任制的售电公司购电侧模型然后建立了考虑可再生能源消纳责任制、储能以及正态分布形式的自身风光出力误差的售电公司利润函数并以该利润函数最大化为目标函数最后通过在遗传算法中引入罚函数对其进行求解。通过算例验证了储能、可再生能源消纳权重对售电公司收益的影响以及储能在消纳权重发生改变时的作用。关键词可再生能源消纳责任制储能购售电策略利润函数遗传算法近年来一方面“碳中和”愿景加速了可再生能源的开发但却因电网基础设施建设等因素发展滞后加剧了弃风、弃光现象[1-3]另一方面分布式储能等产消者大量出现在售电侧[4-5]但其充放电的不确定性致使售电公司迫切寻求符合自身利益的储能调度计划因此同时研究可再生能源消纳和储能显得极其重要。在可再生能源消纳方面售电公司作为新兴市场主体应该勇于承担可再生能源消纳的责任这既响应了国家能源局发出的可再生能源消纳责任制[6-7]又能提升自身的社会竞争力。总之同时考虑储能和可再生能源消纳责任制对售电公司利润及购售电策略的影响是一个重要的研究方向。一、遗传算法在电力系统优化中的核心作用算法优势与适应性遗传算法GA通过模拟生物进化中的自然选择、交叉和变异机制能够有效处理多目标、非线性、高维度的优化问题。在电力系统中其应用已覆盖无功优化、电源规划、调度决策等领域。例如在含风电的电力调度中GA通过预测可再生能源出力与负荷需求动态调整火电、水电、风电的出力分配实现成本与排放的双重优化。改进策略提升性能自适应参数调整如动态调整交叉概率和变异概率避免传统GA易陷入局部最优的问题。多目标优化结合Pareto前沿分析同时优化经济性购电成本、环保性碳排放、可靠性供电稳定性等目标。二、储能技术对购售电策略的影响机制经济性驱动策略储能系统通过“低储高放”参与电力市场显著降低购电成本峰谷价差套利在日前市场中储能可转移高电价时段购电量至低电价时段降低总成本约2.246%。风险对冲通过两阶段需求响应模型价格型与激励型储能平滑负荷曲线并降低可再生能源出力波动带来的风险。市场机制与政策支持参与现货市场如四川省明确独立储能电站放电时参照燃煤机组参与交易美国FERC 841法案赋予储能公平市场地位。收益分成模式用户侧储能允许电力用户与投资方约定充放电收益分配比例。三、可再生能源消纳责任制的约束与激励考核要求与完成方式责任主体售电公司需完成总量与非水电消纳责任权重考核未达标将面临约谈、罚款。履行途径包括自建可再生能源项目、购买绿证、参与省间可再生能源交易等。动态调整机制滚动优化分月调整购电策略以应对市场电价波动避免年度决策的僵化。惩罚成本建模未完成消纳量的惩罚成本需纳入目标函数。四、融合储能与消纳责任的遗传算法优化模型设计目标函数构建综合经济性、合规性与风险控制约束条件电力平衡购电量 储能放电量 售电量 储能充电量。储能运行限制SOC荷电状态、充放电功率、循环寿命。消纳责任权重月度/年度可再生能源消纳量 ≥ 政策要求。遗传算法实现步骤编码设计将购电组合火电、风电、光伏比例、储能充放电计划、绿证购买量编码为染色体。适应度函数以目标函数值的倒数作为适应度优先选择成本低、风险小的个体。交叉与变异采用多点交叉和非均匀变异策略增强全局搜索能力。五、案例分析模型应用与效益验证以某地区含风电、光伏、储能的售电公司为例场景对比无储能策略购电成本高依赖火电补足可再生能源波动消纳考核达标率仅75%。优化后策略储能转移30%高电价时段负荷消纳达标率提升至95%总成本降低12%。敏感性分析储能容量影响容量与风/光购电量比达4:1时需求响应效果边际递减。市场电价波动峰谷价差扩大至689.9元/(MW·h)时储能投资回收期缩短至5年。六、政策建议与未来方向机制创新动态配额分配根据地区资源禀赋动态调整消纳责任权重。跨省交易支持建立省间可再生能源交易平台降低绿证购买成本。技术融合多算法协同结合粒子群优化PSO改进GA局部搜索能力。数字孪生技术构建虚拟电厂模拟市场交易预验证策略可行性。通过上述模型与策略售电公司可在满足可再生能源消纳责任的同时最大化经济收益推动新型电力系统的高效运行。2 运行结果部分代码##步骤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 # 开始SOC0.4 for i in range(24): # 遍历24个时刻 soc[i 1] xdcll[i] / XDCRL soc[i] # 下一时刻的soc上一时刻soc充放电soc变化量 # 对soc越限进行惩罚 #储能电池剩余电量下限240kwh soc0.2,上下1080kwh soc0.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.013参考文献文章中一些内容引自网络会注明出处或引用为参考文献难免有未尽之处如有不妥请随时联系删除。[1]陈名扬,刘敏,鲁杰.考虑储能和可再生能源消纳责任制的售电公司购售电策略[J].电力科学与工程,2021,37(10):18-27.4 Python代码、数据、文章