1 简介

2 部分代码

%%
clc; clear; close all;
%% Problem Definition
% Objective Function
ANSWER=listdlg('PromptString','Choose Objective Function','SelectionMode','single', 'ListString', {'1. Sphere', '2. Rastrigin'});
if eq(ANSWER,1); ObjectiveFunction=@(x) Sphere(x); funcname='Sphere';
elseif eq(ANSWER,2); ObjectiveFunction=@(x) Rastrigin(x); funcname='Rastrigin';
else; disp('Terminated'); return
end
ProblemSize=[1 50];         % Decision Variables Size
LowerBound=-10;             % Decision Variables Lower Bound
UpperBound= 10;             % Decision Variables Upper Bound
%% Mayfly Parameters
methname='Mayfly Algorithm';
MaxIt=2000;                 % Maximum Number of Iterations
nPop=20; nPopf=20;          % Population Size (males and females)
g=0.8;                      % Inertia Weight
gdamp=1;                    % Inertia Weight Damping Ratio
a1=1.0;                     % Personal Learning Coefficient
a2=1.5; a3=1.5;             % Global Learning Coefficient
beta=2;                     % Distance sight Coefficient
dance=5;                    % Nuptial Dance
fl=1;                       % Random flight
dance_damp=0.8;             % Damping Ratio
fl_damp=0.99;
% Mating Parameters
nc=20;                      % Number of Offsprings (also Parnets)
nm=round(0.05*nPop);        % Number of Mutants
mu=0.01;                    % Mutation Rate
% Velocity Limits
VelMax=0.1*(UpperBound-LowerBound); VelMin=-VelMax;
%% Initialization
empty_mayfly.Position=[];
empty_mayfly.Cost=[];
empty_mayfly.Velocity=[];
empty_mayfly.Best.Position=[];
empty_mayfly.Best.Cost=[];
Mayfly=repmat(empty_mayfly,nPop,1);   % Males
Mayflyf=repmat(empty_mayfly,nPopf,1); % Females
GlobalBest.Cost=inf;
funccount=0;
for i=1:nPop% Initialize Position of MalesMayfly(i).Position=unifrnd(LowerBound,UpperBound,ProblemSize);% Initialize VelocityMayfly(i).Velocity=zeros(ProblemSize);% EvaluationMayfly(i).Cost=ObjectiveFunction(Mayfly(i).Position);% Update Personal BestMayfly(i).Best.Position=Mayfly(i).Position;Mayfly(i).Best.Cost=Mayfly(i).Cost;funccount=funccount+1;% Update Global Bestif Mayfly(i).Best.Cost<GlobalBest.CostGlobalBest=Mayfly(i).Best;end
end
for i=1:nPopf% Initialize Position of FemalesMayflyf(i).Position=unifrnd(LowerBound,UpperBound,ProblemSize);Mayflyf(i).Velocity=zeros(ProblemSize);Mayflyf(i).Cost=ObjectiveFunction(Mayflyf(i).Position);funccount=funccount+1;% Update Global Best (Uncomment if you use the PGB-IMA version)%if Mayflyf(i).Best.Cost<GlobalBest.Cost%   GlobalBest=Mayflyf(i).Best;%end
end
BestSolution=zeros(MaxIt,1);
%% Mayfly Main Loop
for it=1:MaxItfor i=1:nPopf% Update Femalese=unifrnd(-1,+1,ProblemSize);rmf=(Mayfly(i).Position-Mayflyf(i).Position);if Mayflyf(i).Cost>Mayfly(i).CostMayflyf(i).Velocity = g*Mayflyf(i).Velocity ...+a3*exp(-beta.*rmf.^2).*(Mayfly(i).Position-Mayflyf(i).Position);elseMayflyf(i).Velocity = g*Mayflyf(i).Velocity+fl*(e);disp([methname ' on the ' funcname  ' Function: Iteration = ' num2str(it)  ', ' funcname ', Evaluations = ' num2str(funccount)  '. Best Cost = ' num2str(BestSolution(it))]);g=g*gdamp;dance = dance*dance_damp;fl = fl*fl_damp;
end
%% Results
figure;
plot(BestSolution,'LineWidth',2); semilogy(BestSolution,'LineWidth',2);
xlabel('Iterations'); ylabel('Objective function'); grid on;
%%img =gcf;  %获取当前画图的句柄
print(img, '-dpng', '-r600', './img.png')         %即可得到对应格式和期望dpi的图像

3 仿真结果

4 参考文献

[1]陈伟超, and 符强. "基于倒位变异的蜉蝣优化算法." 计算机系统应用 30.8:7.

【优化求解】基于蜉蝣算法MA(mayfly algorithm)求解单目标问题matlab源码相关推荐

  1. 【优化求解-单目标求解】基于黑猩猩算法求解单目标问题matlab源码

    一.黑猩猩算法 This article proposes a novel metaheuristic algorithm called Chimp Optimization Algorithm (C ...

  2. 【优化求解】基于加权黑猩猩算法WCHoA求解单目标问题matlab源码

    一.黑猩猩算法 These days, there are a sizable number of meta-heuristic algorithms that are utilized to add ...

  3. 【优化求解】基于帝国主义竞争算法ICA求解单目标问题Matlab源码

    1 简介 2 部分代码 function Empires=UniteSimilarEmpires(Empires,AlgorithmParams,ProblemParams) %联合相似的帝国,距离相 ...

  4. 【优化求解】基于缎蓝园丁鸟优化 (SBO)求解单目标问题matlab源码

    1 简介 2 部分代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  5. 智能优化算法(源码)-蜉蝣算法(Mayfly Algorithm,MA)

    获取更多资讯,赶快关注上面的公众号吧! 文章目录 雄性蜉蝣的移动 雌性蜉蝣的移动 蜉蝣交配 伪代码 蜉蝣算法(Mayfly Algorithm,MA)是由Konstantinos Zervoudaki ...

  6. 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  7. 初勘数据处理之预测算法(随机森林random forest)附matlab源码

    初勘数据处理之预测算法(随机森林random forest)附matlab源码 集成学习方法 集成学习方法,是整合多个分类方法的预测结果,以提高分类准确率.集成学习方法先用训练数据构建一组基分类器,再 ...

  8. 基于ITD实现的轴承故障信号分解并附Matlab源码

    基于ITD实现的轴承故障信号分解并附Matlab源码 轴承是旋转机械中重要的支撑部件,其状态的健康程度对设备运行的性能和寿命有着至关重要的影响.因此,轴承状态监测和故障诊断成为了研究热点.本文基于IT ...

  9. 【优化求解】基于鸟群算法(Bird Swarm Algorithm)求解单目标最优matlab代码

    1 简介 鸟群算法( bird swarm alogrithm,BSA) 是由 Meng 等人于 2015 年提出的一种基于鸟群行为的群智能优化算法,其思想源于鸟群的飞行.觅食和警戒三个主要群体行为, ...

  10. 【优化求解】基于蝗虫算法(MOGOA)求解多目标问题matlab源码

    1 简介 蝗虫算法( Grasshopper Optimization Algorithm,GOA ) 是 由 Saremi 等[1]于2017 年提出的一种元启发式仿生优化算法.具体原理如下: 2 ...

最新文章

  1. 微信分享转发功能「PHP版」
  2. C语言BFS算法的实现(附完整源码)
  3. 深度特征提取方法_深度学习|三维重建:StereoDRNet
  4. css餐厅_餐厅的评分预测
  5. 机器学习常见基本概念笔记
  6. 阿里大神最佳总结Flutter进阶学习笔记,技术详细介绍
  7. SQL SERVER PIVOT 行转列、列传行
  8. python标准库的图像处理模块_PIL:Python Imaging Library(图像处理标准库)
  9. php python 混合_php-python
  10. 华三 h3c 单臂路由配置
  11. python前景如何调用带有event参数的方法_13、第七 - 网络编程基础 - Python中协程EVENT()函数-事件函数...
  12. java 日历类_java常用的类---日历类
  13. HMM和DNN语音合成必备基础知识:音素和拼音的基础知识及工具初学
  14. dell云存储服务器,dell云存储服务器(戴尔存储服务器)
  15. (转)高盛报告:人工智能、机器学习和数据将推动未来生产力的发展
  16. maximo数据库配置
  17. 《千万别学英语》总结
  18. 阶乘、排列、组合 公式计算
  19. 【Allegro_SPB_16.6安装详细教程】手把手搭建到Win10
  20. 使用在Photoshop上的30个纺织物纹理Ps笔刷

热门文章

  1. 看微服务核心技术如何演变——AI课工场
  2. [易飞]前任离开的时候把锁换了,咋办?
  3. 微信小程序的星级评价样式和处理逻辑
  4. 【研究生】像人一样编辑源代码,谷歌大脑提出神经网络也可以学「编程」
  5. RDVTabBarController iPhoneX适配
  6. ThinkPHP搭建手机版网站
  7. iOS 视频剪切、旋转,视频添加音频、添加水印,视频导出
  8. 印度18年首发一箭31星,包括遥感卫星Cartosat
  9. r语言中正定矩阵由于误差不正定_矩阵分解方式
  10. 解决layui二次/重新选择上传文件,渲染后回调函数失效的问题无效的问题