Bootstrap

【双层鲸鱼算法求解】基于非合作博弈的居民负荷分层调度模型(Matlab代码实现)

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

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

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

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

参考文献:

在需求侧资源中,居民用户用电量占社会总用电量的36.6%[47,该领域用电具有如下特点:
①用户基数大,需求响应的潜力较大;2单个用户负荷弹性水平较低,达不到参与需求响应的最低水平[;3用户用电效率低下,浪费严重[6。鉴于上述特点,可以通过负荷聚合商(load aggregator,LA)聚合居民用户柔性负荷资源以达到参与需求响应的最低水平,从而参与电网调度[7-10]。作为新兴的独立售电组织,负荷聚合商通过整合需求响应资源售卖给电力公司调度部门,并从中获得一定的利润。负荷聚合商的出现不仅可以将居民用户侧需求响应资源引入市场交易,提高需求响应的效益,还可以帮助用户形成高效的用电方式,提高终端用电效率[8]。

基于非合作博弈的居民负荷分层调度模型旨在有效促进居民用户柔性负荷资源参与需求响应。这一模型可以借助负荷聚合商的平台来整合用户的负荷资源,从而更好地参与电网调度。通过对居民用户的柔性负荷进行分类,我们可以建立电网公司、负荷聚合商和居民用户之间的分层调度模型。

在日前投标环节,我们构建了一个以聚合商利润最大化为目标的日前投标博弈模型。利用非合作博弈的思想对聚合商在日前投标市场的行为进行了深入分析,并证明了博弈纳什均衡解的存在性。这一模型的建立为聚合商在市场中的行为提供了理论支持,有助于更好地理解和预测其行为。

在实时调度环节,聚合商以分类柔性负荷各自用电物理特性作为约束条件,以实时调度和日前投标量之间的偏差最小作为目标函数对用户分类柔性负荷进行实时调度。这样的安排不仅可以在不影响用户舒适度的前提下提高聚合商的利润,同时也有助于优化电网的整体运行效率。

为了解决这一模型,我们采用了双层鲸鱼算法进行求解,以期达到更好的效果。这一方法的采用为我们提供了一种有效的工具,有助于优化模型的求解过程,从而更好地指导实际操作。

总的来说,这一模型的建立和求解方法为促进居民用户柔性负荷资源的参与提供了有力的支持,有望在实际应用中取得显著的成效。

📚2 运行结果

部分代码:

%1类负荷
%电动汽车
Lev1=Pev1.*Uev1-PowerEVDiso;
Lev2=Pev2.*Uev2-PowerEVDiso;
Lev3=Pev3.*Uev3-PowerEVDiso;
%热水器
Lrs1=Prs1.*Urs1-[zeros(1,20),P,zeros(1,44),P1];
Lrs2=Prs2.*Urs2-[zeros(1,20),P,zeros(1,44),P1];
Lrs3=Prs3.*Urs3-[zeros(1,20),P,zeros(1,44),P1];
%2类负荷
%洗衣机
Lxy1=Pxy1-[zeros(1,72),P2];
Lxy2=Pxy2-[zeros(1,72),P2];
Lxy3=Pxy3-[zeros(1,72),P2];
%洗碗机
Lxw1=Pxw1-[zeros(1,72),P3];
Lxw2=Pxw2-[zeros(1,72),P3];
Lxw3=Pxw3-[zeros(1,72),P3];
%3类负荷
Lkt1=sum(Ukt1).*[P4,zeros(1,52),P5]-[P4,zeros(1,52),P5];
Lkt2=sum(Ukt2).*[P4,zeros(1,52),P5]-[P4,zeros(1,52),P5];
Lkt3=sum(Ukt3).*[P4,zeros(1,52),P5]-[P4,zeros(1,52),P5];
Lev=Lev1+Lev2+Lev3;
Lrs=Lrs1+Lrs2+Lrs3;
Lxy=Lxy1+Lxy2+Lxy3;
Lxw=Lxw1+Lxw2+Lxw3;
Lkt=Lkt1+Lkt2+Lkt3;
L1=(Lev+Lrs)/1000;
L2=(Lxy+Lxw)/1000;
L3=Lkt/1000;


figure(2)
plot(Pload','-','linewidth',1);
hold on
plot(Pload'+L1,'-','linewidth',1);
hold on
plot(Pload'+L2,'-','linewidth',1);
hold on
plot(Pload'+L3,'-','linewidth',1);
hold on
plot(Pload'+L3+L1+L2,'-','linewidth',1);
hold on
plot(Pload'+Pess,'-','linewidth',1);
hold on
% axis([1,96,0,200]);
axis tight
grid on
xlabel('时刻');
ylabel('负荷(MW)');
legend('原始负荷','一级负荷','二级负荷','三级负荷','优化负荷','储能削减后');

🎉3 参考文献

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

[1]刘晓峰,高丙团,罗京等.基于非合作博弈的居民负荷分层调度模型[J].电力系统自动化,2017,41(14):54-60.

🌈4 Matlab代码、数据

;