一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略
文章目录
- 前言
- 一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略
- 一、MFO飞蛾扑火算法基本原理
- 二、改进飞蛾扑火算法IMFO
- 改进1:种群初始化精英反向策略
- 改进2:柯西变异
- 程序内容
- 三、实验结果
- 主函数程序
- 获取
- 总结
前言
一种多策略改进飞蛾扑火智能优化算法IMFO 种群初始化精英反向策略+柯西变异策略
飞蛾扑火优化算法(MFO)基于飞蛾扑火的自然行为。其详细原理如下:
-
初始化:在搜索空间中随机生成一组初始解,代表飞蛾的初始位置。
-
光源定位:选择目标最优解或光源位置,模拟飞蛾被光源吸引的过程。
-
更新位置:
- 围绕光源:飞蛾围绕光源做螺旋状运动,通过改变飞蛾的位置更新公式,使其逐步靠近光源。
- 局部搜索:在飞蛾的位置附近进行局部搜索,模拟飞蛾在光源附近的探索行为。
-
更新光源:根据飞蛾的位置和目标的适应度,更新光源位置,以反映当前找到的最优解。
-
终止条件:重复更新过程,直到满足设定的停止条件,如达到最大迭代次数或解的改进幅度小于阈值。
MFO的核心在于模拟飞蛾的行为,通过这些行为来优化问题的解。
一、MFO飞蛾扑火算法基本原理
二、改进飞蛾扑火算法IMFO
改进1:种群初始化精英反向策略
function Positions=initializationNew(SearchAgents_no,dim,ub,lb,fun)
Boundary_no= size(ub,2); % numnber of boundaries
BackPositions = zeros(SearchAgents_no,dim);
% If each variable has a different lb and ub
if Boundary_no>1
for i=1:dim
ub_i=ub(i);
lb_i=lb(i);
PositionsF(:,i)=rand(SearchAgents_no,1).*(ub_i-lb_i)+lb_i;
%求取反向种群
BackPositions(:,i) = (ub_i+lb_i) - PositionsF(:,i);
end
end
%获取精英种群
index = zeros(size(PositionsF,1));
for i = 1:size(PositionsF,1)
if(fun(PositionsF(i,:))<fun(BackPositions(i,:)))%原始解比反向解更好,即为精英解
index(i) = 1;
else%反向解更好的付给原始解
PositionsF(i,:) = BackPositions(i,:);
end
end
XJY = PositionsF(index == 1,:);
end
改进2:柯西变异
b=2-0.4*(Iteration/Max_iteration); %0.6
k=6;
for c=1:k
V=zeros(c,dim);
d=randi([1,dim],1,1);
WW=cumsum(sorted_population,1);
W=WW(N,:)/N;
V(c,d)= Best_flame_pos(1,d)+W(1,d)*cauchyrnd(0,b,1);
Flag4ub=V(c,:)>ub;
Flag4lb=V(c,:)<lb;
V(c,:)=(V(c,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;
V_fitness(1,c)=fobj(V(c,:));
end
程序内容
三、实验结果
主函数程序
%% 参数设置
SearchAgents = 30; % population members
Max_iterations = 500; % maximum number of iteration
number = 'F23'; % 选定优化函数,自行替换:F1~F23
[lb,ub,dim,fobj] = CEC2005(number); % [lb,ub,D,y]:下界、上界、维度、目标函数表达式
%% 调用算法
[IGOOSE_pos,IGOOSE_score,IGOOSE_curve]=IGOOSE(SearchAgents,Max_iterations,ub,lb,dim,fobj); % 调用IGOOSE算法
[GOOSE_pos,GOOSE_score,GOOSE_Convergence_curve]=GOOSE(SearchAgents,Max_iterations,ub,lb,dim,fobj); % 调用GOOSE算法
获取
私信即可
总结
利用该优化算法对机器学习和深度学习进行优化
先用就是创新
包括但不限于
优化BP神经网络,深度神经网络DNN,极限学习机ELM,鲁棒极限学习机RELM,核极限学习机KELM,混合核极限学习机HKELM,支持向量机SVR,相关向量机RVM,最小二乘回归PLS,最小二乘支持向量机LSSVM,LightGBM,Xgboost,RBF径向基神经网络,概率神经网络PNN,GRNN,Elman,随机森林RF,卷积神经网络CNN,长短期记忆网络LSTM,BiLSTM,GRU,BiGRU,TCN,BiTCN,CNN-LSTM,TCN-LSTM,BiTCN-BiGRU,LSTM–Attention,VMD–LSTM,PCA–BP等等
用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出