主要内容
该模型以环境保护成本和运行成本为双目标构建了微电网优化调度模型,模型目标函数和约束条件复现文献《基于改进粒子群算法的微电网多目标优化调度》,程序的特点是采用非支配排序的蜣螂优化算法NSDBO,实现了柴油发电机、蓄电池、微燃机和主网交互等出力情况,程序实现了四种模式下的求解方案,分别指权值折衷解、总成本最低、运行成本最低和环境保护成本最低,程序采用matlab编写,出图效果较好,注释清楚,方便学习!
但是,程序仍然存在两个问题,主要是约束引起的,在下一章节进行分析。
模型研究
1.约束设置引发的问题
在模型中需要引入功率平衡约束,具体公式如下:
该程序在实现这个约束采用的是设定可行标志c,c=0时是可行的,c=1是不可行的,该部分代码如下:
%% 电功率平衡约束处理 ele_sum=0; for i=1:24 ele_temp(i)=abs(x(i)+x(i+24)+x(i+48)+x(i+72)+x(i+96)+x(i+120)-P_load(i)); ele_sum=ele_sum+ele_temp(i); end f_ele=0; %电平衡阶梯惩罚系数(未满足电平衡约束惩罚) if(ele_sum==0) f_ele=0.0; elseif(ele_sum>0&&ele_sum<=100) f_ele=1; elseif(ele_sum>100&&ele_sum<=500) f_ele=5; elseif(ele_sum>500&&ele_sum<=800) f_ele=10; else f_ele=50; end %% 判断是否为可行解 if ele_sum>4500 c=1; else c=0; end
可以看一下22行处的可行阈值为4500,这种阈值的设置必然会导致难以找到完全满足条件的解,阈值太大,平衡约束宽泛失去意义,阈值太小,难以找到有效解。在这种情况下,以折衷解为例得到如下系统出力平衡图。
本来应该是柱状图和折线图呈现平衡状态,但是目前得到的解导致了功率失衡,之前文章【勘误】基于多目标粒子群算法的微电网优化调度【风光、储能、柴油、燃气、电网交互】勘误过这个问题,实质上这个程序就是在源程序的基础上替换了一种求解方法,改善了一下运行效果图,最近的B站视频讲解(改进粒子群算法在分布式电源选址定容中的应用)也提到改正方法,大家可以自行修改一下。
储能约束因为采用罚函数(一般单目标算法使用)方式也有问题,大家可以鉴别一下。
结果一览
篇幅所限,只展示一种情况下的出图结果