【优化求解】基于蜘蛛猴算法求解单目标优化问题matlab代码
【优化求解】基于蜘蛛猴算法求解单目标优化问题matlab代码
TT_Matlab
每天分享一点Matlab资料,一起成长进步。需要定制程序添加qq1575304183
1 简介
蜘蛛猴算法 ( SMO ) 是 2014 年由 Jagdish Chand Bansal 等 学者提出的 , 是一种建立在对蜘蛛猴群 觅食行为建模基础上产生的新型解决优化问题的数值优化方法 . 根据原始 SMO 算法多种改进算法 被研发用来解决优化问题 .
2 部分代码
clc;
clear;
close all;
%% TARGET EQUATION
% ((ABS(X)-20)^2+(Y)^2) -100<X<100 -100<Y<100
%% MONKEY DEFINITION
empty_particle.Position=[];
empty_particle.Cost=[];
empty_particle.LimitCount=[];
%% GENERAL CONFIGURATION
config;
confg = repmat(empty_config,1,1);
confg.VarMin = [-100,-100];
confg.VarMax=[100,100];
confg.nVar = 2;
confg.nPop = 50;
confg.nGrp = 1;
confg.MaxGrps = 5;
confg.MaxIt=50;
confg.LocalLimitCount = 50;
confg.GlobalLimitCount = 150;
%confg.LocalLimitCount = 30;
%confg.GlobalLimitCount = 50;
confg.PR = 0.1;
confg.grpSize=ceil(confg.nPop/confg.nGrp);
%% SMO
SM = repmat(empty_particle,confg.nPop,1);
LL = repmat(empty_particle,confg.nPop,1);
GL = repmat(empty_particle,1,1);
SM = Initialize(SM,confg);
GL.Cost=Inf;
[LL,GL] = SetInitialLeaders(SM,GL,LL,confg);
for run=1:1
for it=1:confg.MaxIt
SM = LocalLeaderPhase(SM,LL,confg);
SM = GlobalLeaderPhase(SM,GL,confg);
LL = LocalLeaderLearningPhase(SM,LL,confg);
GL = GlobalLeaderLearningPhase(GL,LL,confg);
[SM,LL] = LocalLeaderDecisionPhase(SM,GL,LL,confg);
[GL,LL,confg] = GlobalLeaderDecisionPhase(SM,GL,LL,confg);
yy(it)=GL.Cost;
fprintf(’Iteration=%d Cost=%f Position=(%f %f) ’,it,GL.Cost,GL.Position(1),GL.Position(2));
% plotData(SM,GL,LL,confg);
end
end
figure(1)
plot(yy)
xlabel(’迭代次数’)
ylabel(’适应度值’)
3 仿真结果
4 参考文献
[1]徐小平, 杨转, & 刘龙. (2020). 求解物流配送中心选址问题的蜘蛛猴算法. 计算机工程与应用.
微信扫一扫赞赏作者
赞赏
发送给作者
人赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03