matlab代码:储能参与电能量—辅助服务调频市场联合出清代码。 本代码是电力市场出清的一个重要方向,由于储能的诸多特性,使其适合于辅助服务市场的调频市场,储能的参与也能获利。 首先利用SCUC模型确定机组出力计划和储能充放电计划,然后利用SCED模型进行市场出清,确定节点电价,调频容量电价和调频里程电价。 最后得到出清和收益结果。 本程序在IEEE39节点系统中测试,结果正确,注释清晰。 有参考文档
模型概述
本代码实现了一个完整的电力市场联合出清模型,采用SCUC-SCED两阶段优化方法,研究储能系统同时参与电能量市场和辅助服务调频市场的出清机制。模型基于IEEE 39节点系统构建,包含10台火电机组和4座储能电站。
核心模型架构
第一阶段:SCUC(安全约束机组组合)
文件:main_SCUC.m
功能:确定96时段的机组启停计划和储能充放电状态计划

主要决策变量:
u:火电机组启停状态(二进制变量)uch,udis:储能充放电状态(二进制变量)P,P_cap:机组出力和调频容量Pch,Pdis,Pes_cap:储能充放电功率和调频容量
关键约束:
% 机组最小启停时间约束
for i=1:gen_num
for t=2:T
indicator=u(i,t)-u(i,t-1); %启动标识
range=t:min(T,t+genunit.time(i)-1);
cons=[cons, u(i,range)>=indicator];
end
end
第二阶段:SCED(安全约束经济调度)
文件:main_SCED.m
功能:在SCUC确定的计划基础上,进行精细化出清计算

输入数据:
- SCUC阶段的机组启停计划(
u_scuc.mat) - 储能状态计划(
uchscuc.mat,udisscuc.mat) - 启停成本(
costH.mat,costJ.mat)
市场机制设计
调频市场特殊处理
根据说明文件,代码采用独特的调频价格计算方式:
% 调整报价 - 考虑调频性能
genunit.price_mil=genunit.price_mil./genunit.fm_perfor;
genunit.price_cap=genunit.price_cap./genunit.fm_perfor;
重要说明:
- 调频里程通过
调频容量 × 历史里程-容量比计算 - 调频容量电价实际包含了容量电价和里程电价两部分
- 调频里程约束的对偶变量为0
价格形成机制
节点电价计算:
for t=1:T
price_node(:,t)=balance(t)*ones(bus_num,1)-(HT*(branch_up(:,t)-branch_down(:,t)));
end
调频价格获取:
for t=1:T
price_cap(:,t)=dual(cons(5370+2*t))/baseMVA; %调频容量出清价格
price_mil(:,t)=dual(cons(5371+2*t))/baseMVA; %调频里程出清价格
end
技术特色
1. 储能建模精细化
% 储能状态互斥约束
cons=[cons, u_ch(i,t)+u_dis(i,t)>=0, u_ch(i,t)+u_dis(i,t)<=1];
% 容量动态约束
cons=[cons, S_es(i,t)==S_es(i,t-1)+P_ch(i,t)*storage.eff(i)-P_dis(i,t)/storage.eff(i)];
% 调频容量申报约束
cons=[cons, P_ch(i,t)+Pes_cap(i,t)<=storage.power(i)];
cons=[cons, P_dis(i,t)+Pes_cap(i,t)<=storage.power(i)];
2. 网络约束完整
采用功率转移分布因子(PTDF) 法计算支路潮流:
H(:,noslack)= full(Bf(:,noref) / Bbus(noslack,noref)); %PTDF矩阵
Pline(:,t)==H*(Ag*P(:,t)+Ae*P_dis(:,t)-P_load(:,t)-Ae*P_ch(:,t));
3. 调频需求保障
% 调频容量需求(8%负荷)
cons=[cons, sum(P_cap(:,t))+sum(Pes_cap(:,t))>=load_all(t)*0.08];
% 调频里程需求(80%负荷)
cons=[cons, sum(P_cap(:,t))*genunit.mil_cap(1)+sum(Pes_cap(:,t))*storage.mil_cap(1)>=load_all(t)*0.8];
经济性分析
市场盈余计算
% 收入:负荷支付
revenue(t)=revenue(t)+(price_node(i,t)+price_cap(t)+price_mil(t))*P_load(i,t)*baseMVA;
% 支出:支付给发电商和储能
pay_gen(t)=pay_gen(t)+price_node(i,t)*P(i,t)*baseMVA+(price_cap(t)+price_mil(t))*P_cap(i,t)*baseMVA;
参与者收益计算
火电机组收益 = 电能量收益 + 调频收益 - 燃料成本 - 启停成本
储能收益 = 电能量收益 + 调频收益 - 充放电成本
运行说明
环境要求
- MATLAB + YALMIP
- CPLEX或Gurobi求解器
数据文件
参数输入2.xlsx:包含机组、储能、负荷、网络参数- 四个工作表:火电机组、储能电站、负荷曲线、网络参数
输出结果
SCED求解结果.xlsx:完整的出清结果- 支路潮流、市场中标、节点电价、调频价格等
- 可视化图表:电能量市场和调频市场中标情况
应用价值
本模型为研究储能参与电力市场提供了完整的技术框架,特别在:
- 储能商业化模式:探索储能通过调频服务获利的可行性
- 市场机制设计:验证联合出清机制的有效性
- 系统运行优化:协调电能量与辅助服务市场的关系
- 投资决策支持:为储能投资提供经济性分析工具
该代码具有良好的扩展性,可根据实际需求调整市场规则、网络结构和参与者类型。

616

被折叠的 条评论
为什么被折叠?



