本程序代码参考EI期刊论文《基于多智能体系统一致性算法的电力系统分布式经济调度策略》,主要做的是电力系统分布式调度策略,一致性变量为发电机组的增量成本和柔性负荷的增量效益,程序中算例丰富,注释清晰,干货满满,下面对程序和文章作简要介绍!
运行平台:MATLAB!
集中式优化方法难以应对未来电网柔性负荷广泛渗透以及电力元件“即插即用”的技术要求。区别于集中式经济调度,提出一种电力系统分布式经济调度策略。应用多智能体系统中的一致性算法,以发电机组的增量成本和柔性负荷的增量效益作为一致性变量,设计一种用于电力系统经济调度的算法,通过分布式优化的方式求解经济调度问题。算例仿真与分析验证了所提调度策略的有效性。
测试算例是一个10机19负荷系统,系统数据来源可靠,代码运行稳定迅速,对研究一致性算法以及分布式优化的小伙伴很有帮助!
算例流程:
算例系统
算例结果
程序结果
部分程序
%发电机%
spg(1)=sum(pg);pgmax=2.5*pg;
pgmin=-2.5*pg;li=be+2.*ga.*pg;
%负荷%
spd(1)=sum(pd);pdmax=2.5*pd;
pdmin=-2.5*pd;lj=b+2.*c.*pd;
%迭代%
l=[li lj];ll=zeros(301,29);
ll(1,:)=l;dp=zeros(1,301);
dp(1)=spd(1)-spg(1);pgg=zeros(301,10);
pgg(1,:)=pg;pdd=zeros(301,19);
pdd(1,:)=pd;for t=1:1:300
for n=1:1:29 %更新lambda的值
ll(t+1,n)=sum(a(n,:).*ll(t,:));
for i=1:1:10 %判断pg是否越限并赋值
if (ll(t,i)-be(i))/(2*ga(i))>=pgmax(i)
pgg(t+1,i)=pgmax(i);
elseif (ll(t,i)-be(i))/(2*ga(i))<=pgmin(i)
pgg(t+1,i)=pgmin(i);
pgg(t+1,i)=(ll(t,i)-be(i))/(2*ga(i));
for j=1:1:19 %判断pd是否越限并赋值
if (ll(t,j+10)-b(j))/(2*c(j))>=pdmax(j)
pdd(t+1,j)=pdmax(j);
elseif (ll(t,j+10)-b(j))/(2*c(j))<=pdmin(j)
pdd(t+1,j)=pdmin(j);
pdd(t+1,j)=(ll(t,j+10)-b(j))/(2*c(j));
spg(t+1)=sum(pdd(t+1,:));
spd(t+1)=sum(pgg(t+1,:));
dp(t+1)=sum(pdd(t+1,:))-sum(pgg(t+1,:));
部分内容源自网络,侵权联系删除!
欢迎感兴趣的小伙伴点击文末阅读原文获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!
更多创新性预测及优化程序请点击公众号首页:《预测优化》|《综合能源》链接!