含高比例新能源接入的主/辅电力市场联合出清程序代码!

适用平台:Matlab+Yalmip+Cplex

程序主要由考虑安全约束的机组组合模型(SCUC)和经济调度模型(SCED)组成,算例以IEEE30节点为基础框架,在节点1、2、3、6、7出接入风电机组,备用市场作为辅助服务市场。程序算例丰富、注释清晰、干货满满,可扩展性和创新性很高!码超所值!下面对文章和程序做简要介绍!

程序创新点:

1)基于原始对偶方法,推导所提市场出清模型的对偶问题,构造火电机组成本回收约束,保证中标机组收益非负,并通过模型重构建立本文市场出清的实际应用模型。。

2)建立日前随机规划市场出清模型。该日前市场出清模型考虑了实时新能源波动可能带来的影响,从而获得更稳健的发电计划。

主要工作:

当前电力现货市场主要基于运行经验调整出清边界以应对该随机波动特性,难以准确、解析反映新能源接入引起的源荷平衡特性变化,无法有效发挥电力现货市场在激发系统运行灵活性方面的调节作用。对此,程序分析了新能源随机波动特性对多重市场出清边界及成本特性的影响,并探讨了其在出清模型中的表征思路。容量市场是保障电力系统发电容量充裕度的有效途径,因此提出一种面向新能源电力系统的容量市场出清模型,所提模型在考虑传统机组的基础上,增加储能资源参与市场,以解决新型电力系统的容量充裕性问题,出清后可得多种结果,包括机组计划,风机出力,线路功率等。同时模型考虑了可靠性约束,求解时在可靠性和经济性之间不断迭代寻优,使系统以最经济的形式满足可靠性要求。

主要框架:

程序结果:

部分程序:

%% 负荷平衡约束​
st=st+[sum(p(:,t))+sum(Pw(:,t))==PL(1,t)​
%% 风电机组出力约束​
%% 启停成本约束
for t=1:T   %启停成本零限约束​
for i=1:gen_num  %启停成本条件约束​
 %% 机组出力上下限约束​ 
  st=st+[Pmin(:,t)<=p(:,t)<=Pmax(:,t)];%106,107,108​
%% 机组出力上限​
st=st+[Pmax(:,t)>=0,Pmax(:,t)<=u(:,t).*limit(:,1)];%109,110,111​
 %% 机组出力下限​
  st=st+[Pmin(:,t)>=0];%119,121,123
  st=st+[Pmin(:,t)>=u(:,t).*limit(:,2)];%120,122,124​
%% 热备用约束
hpo=0.05;%负荷正热备用系数
hpn=0.04;%负荷负热备用系数
%两台风机
Pw_N=1;
hwo=[0;0];%风电正热备用系数hwn=[0;0];%风电负热备用系数​
% 机组出力上下限约束
% for t=1:T
% st=st+[sum(Pmax(:,t))>=(hpo+1)*PL(1,t)+sum((hwo-1).*Pw(:,t))];  %正旋转备用约束
​;%负旋转备用约束             
%% 机组所能提供的旋转备用​
st=st+[sum(USR(:,t))>=hpo*PL(1,t)+sum(hwo.*Pw(:,t))];  %正旋转备用约束​
%% 直流潮流下的导纳矩阵节点参数初始化​
b=1./netpara(:,4);%电抗求倒数成电纳
Bbus=zeros(bus_num,bus_num);​
%% 直流潮流的B矩阵计算​
Bbus = Cft' * Bf; %  numnodes x numnodes %导纳矩阵​
st=st+[-Pline(:,t)<=-PL_min(:,1)]; %线路潮流约​
 %% 节点和支路各时段的直流潮流​
xlswrite('E0R经济调度问题求解结果PTDF',Pinj,'节点各时段的直流潮流');​
%% 风电利用率
 Pwsum=0;Pwfsum=0;​Pwsum=Pwsum+sum(Pw(:,t));
 Pwfsum=Pwfsum+sum(Pwf(:,t));​pn=value(Pwsum)/Pwfsum;
%% 风电渗透率
PLsum=sum(PL(1,:));​
%% 对偶乘子​
     branch_pinj(:,t)=dual(st(1219+3*t))/baseMVA;
     branch_up(:,t)=dual(st(1220+3*t))/baseMVA;​
%% 节点电价
for t=1:T
balance(t)=-dual(st(t))/baseMVA;%负荷平衡的约束是对偶乘子是负值,公式推导中取相反数​
price_W(i,t)=price_0(power_wind(i),t)-hwo(i)*reser_up_docz(t)-hwn(i)*reser_down_docz(t);​
%% 市场盈余​
    revenue1(t)=price_L(i,t)*Pd(i,t)*baseMVA+revenue1(t);%收用户的钱,计及备用约束分量​
%% 机组收益
fuel_cost=zeros(gen_num,1);​SC_cost=zeros(gen_num,1);
R_cost=zeros(gen_num,1);​revenue_R=zeros(gen_num,1);
revenue_G=zeros(gen_num,1);

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴私信小编获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值