本文主要是介绍【核心完整复现】基于目标级联法的微网群多主体分布式优化调度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 主要内容
之前发布了华电学报的复现程序《基于目标级联法的微网群多主体分布式优化调度》,具体链接为【防骗版】基于目标级联法的微网群多主体分布式优化调度,虽然对模型及结果进行了复现,但是部分模型细节和参数并没有完全实现,本次发布该程序的完整复现版本,主要实现的内容如下:
1.考虑多源异质分布式电源的出力随机性,增加风光出力的鲁棒约束;
2.完全复现基于目标级联法的分布式求解流程;
3.参数基本完全按照文献所列;
4.程序目标函数和约束条件和文献一致。
-
程序主要内容
建立微网群系统的两级递阶优化调度模型: 上层是微网群能量调度中心优化调度模型,下层是子微网优化调度模型,然后对所建递阶优化调度模型耦合性和分布性进行分析,采用一种新型的协同优化方法———目标级联法,实现上下层模型的解耦独立优化,以3微网为算例进行验证,证明方法的可行性。
-
上层微网群模型
-
下层微网模型
-
模型流程图
2 部分程序
%最终迭代后结果图 figure; wwz=max(gPpcc1,0); wwf=min(gPpcc1,0); yyf=[-x_P_ch1;wwf]'; bar(yyf,' stack '); hold on yyz=[x_P_dis1;x_P_g1;PV1;x_c_ld1;wwz]' ;bar(yyz,'stack'); plot(Pload1+Pkk1,'r','LineWidth',1.5) xlabel('时间/h'); ylabel('功率/MW'); title('微网1功率'); sy=legend('储能充电','接受微网群电功率','储能放电','柴油发电','光伏','负荷响应','供给其他微网','微网1负荷'); sy.NumColumns = 3; figure; wwz=max(gPpcc2,0); wwf=min(gPpcc2,0); yyf=[-x_P_ch2;wwf]'; bar(yyf,' stack '); hold on yyz=[x_P_dis2;x_P_g2;PW2;x_c_ld2;wwz]' ;bar(yyz,'stack'); plot(Pload2+Pkk2,'r','LineWidth',1.5) xlabel('时间/h'); ylabel('功率/MW'); title('微网2功率'); sy=legend('储能充电','接受微网群电功率','储能放电','柴油发电','风电','负荷响应','供给其他微网','微网2负荷'); sy.NumColumns = 3; figure; wwz=max(gPpcc3,0); wwf=min(gPpcc3,0); yyf=[-x_P_ch3;wwf]'; bar(yyf,' stack '); hold on yyz=[x_P_dis3;sum(x_P_g3);PW3;PV3;x_c_ld3;wwz]' ;bar(yyz,'stack'); plot(Pload3+Pkk3,'r','LineWidth',1.5) xlabel('时间/h'); ylabel('功率/MW'); title('微网3功率'); sy=legend('储能充电','接受微网群电功率','储能放电','柴油发电','风电','光伏','负荷响应','供给其他微网','微网3负荷'); sy.NumColumns = 3; figure; plot(pv13,'r-o','LineWidth',1) hold on plot(pw2,'b-*','LineWidth',1) plot(pw3,'m-s','LineWidth',1) legend('MG1/MG3光伏','MG2风电','MG3风电'); xlabel('预测时段/h'); ylabel('可再生能源预测出力/p.u.'); grid on figure; plot(ploadz,'r-o','LineWidth',1) hold on plot(pload1,'b-*','LineWidth',1) plot(pload2,'m-s','LineWidth',1) plot(pload3,'c-^','LineWidth',1) legend('微网群负荷','子微网1负荷','子微网2负荷','子微网3负荷'); xlabel('预测时段/h'); ylabel('预测负荷功率/p.u.'); grid on figure; title_name = '独立优化模型惩罚项'; title(title_name); %%关键 plot(faz,'b-o','LineWidth',1.5); hold on plot(fa1,'b-o','LineWidth',1.5); plot(fa2,'r-*','LineWidth',1.5); plot(fa3,'k-^','LineWidth',1.5); xlabel('迭代次数'); ylabel('独立优化模型惩罚项/元'); grid on figure; title_name = '最大连接变量偏差'; title(title_name); %%关键 plot(detamax,'m-o','LineWidth',1.5); xlabel('迭代次数'); ylabel('最大连接变量偏差/kW'); grid on figure; title_name = '整体经济性'; title(title_name); %%关键 plot(y4,'b-o','LineWidth',1.5); xlabel('迭代次数'); ylabel('整体经济性/元'); grid on figure; subplot(311) plot(gPpcc1c,'--','LineWidth',1.5) hold on plot(gPMGc(1,:),'-','LineWidth',1.5) grid on legend('下层连接变量值','上层连接变量值'); xlabel('迭代次数'); ylabel('子微网1联络功率'); % ylim([0 200]); subplot(312) plot(gPpcc2c,'--','LineWidth',1.5) hold on plot(gPMGc(2,:),'-','LineWidth',1.5) grid on xlabel('迭代次数'); ylabel('子微网2联络功率'); % ylim([0 500]); subplot(313) plot(gPpcc3c,'--','LineWidth',1.5) hold on plot(gPMGc(3,:),'-','LineWidth',1.5) grid on xlabel('迭代次数'); ylabel('子微网3联络功率');
3 程序结果
4 下载链接
这篇关于【核心完整复现】基于目标级联法的微网群多主体分布式优化调度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!