【优化求解】基于蜉蝣算法MA(mayfly algorithm)求解单目标问题matlab源码
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源码相关推荐
- 【优化求解-单目标求解】基于黑猩猩算法求解单目标问题matlab源码
一.黑猩猩算法 This article proposes a novel metaheuristic algorithm called Chimp Optimization Algorithm (C ...
- 【优化求解】基于加权黑猩猩算法WCHoA求解单目标问题matlab源码
一.黑猩猩算法 These days, there are a sizable number of meta-heuristic algorithms that are utilized to add ...
- 【优化求解】基于帝国主义竞争算法ICA求解单目标问题Matlab源码
1 简介 2 部分代码 function Empires=UniteSimilarEmpires(Empires,AlgorithmParams,ProblemParams) %联合相似的帝国,距离相 ...
- 【优化求解】基于缎蓝园丁鸟优化 (SBO)求解单目标问题matlab源码
1 简介 2 部分代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- 智能优化算法(源码)-蜉蝣算法(Mayfly Algorithm,MA)
获取更多资讯,赶快关注上面的公众号吧! 文章目录 雄性蜉蝣的移动 雌性蜉蝣的移动 蜉蝣交配 伪代码 蜉蝣算法(Mayfly Algorithm,MA)是由Konstantinos Zervoudaki ...
- 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...
- 初勘数据处理之预测算法(随机森林random forest)附matlab源码
初勘数据处理之预测算法(随机森林random forest)附matlab源码 集成学习方法 集成学习方法,是整合多个分类方法的预测结果,以提高分类准确率.集成学习方法先用训练数据构建一组基分类器,再 ...
- 基于ITD实现的轴承故障信号分解并附Matlab源码
基于ITD实现的轴承故障信号分解并附Matlab源码 轴承是旋转机械中重要的支撑部件,其状态的健康程度对设备运行的性能和寿命有着至关重要的影响.因此,轴承状态监测和故障诊断成为了研究热点.本文基于IT ...
- 【优化求解】基于鸟群算法(Bird Swarm Algorithm)求解单目标最优matlab代码
1 简介 鸟群算法( bird swarm alogrithm,BSA) 是由 Meng 等人于 2015 年提出的一种基于鸟群行为的群智能优化算法,其思想源于鸟群的飞行.觅食和警戒三个主要群体行为, ...
- 【优化求解】基于蝗虫算法(MOGOA)求解多目标问题matlab源码
1 简介 蝗虫算法( Grasshopper Optimization Algorithm,GOA ) 是 由 Saremi 等[1]于2017 年提出的一种元启发式仿生优化算法.具体原理如下: 2 ...
最新文章
- 微信分享转发功能「PHP版」
- C语言BFS算法的实现(附完整源码)
- 深度特征提取方法_深度学习|三维重建:StereoDRNet
- css餐厅_餐厅的评分预测
- 机器学习常见基本概念笔记
- 阿里大神最佳总结Flutter进阶学习笔记,技术详细介绍
- SQL SERVER PIVOT 行转列、列传行
- python标准库的图像处理模块_PIL:Python Imaging Library(图像处理标准库)
- php python 混合_php-python
- 华三 h3c 单臂路由配置
- python前景如何调用带有event参数的方法_13、第七 - 网络编程基础 - Python中协程EVENT()函数-事件函数...
- java 日历类_java常用的类---日历类
- HMM和DNN语音合成必备基础知识:音素和拼音的基础知识及工具初学
- dell云存储服务器,dell云存储服务器(戴尔存储服务器)
- (转)高盛报告:人工智能、机器学习和数据将推动未来生产力的发展
- maximo数据库配置
- 《千万别学英语》总结
- 阶乘、排列、组合 公式计算
- 【Allegro_SPB_16.6安装详细教程】手把手搭建到Win10
- 使用在Photoshop上的30个纺织物纹理Ps笔刷