一种多策略改进的鹦鹉优化算法IPO|效果不错!
策略:cat映射反向策略+自适应权重+混合柯西和高斯变异
一、基本原理
改进策略:
⭐改进1:基于cat映射 + 反向策略的种群初始化
⭐⭐改进2:自适应权重变换
⭐⭐⭐改进3:混合柯西和高斯变异
二、实验结果
实验参数:
种群30
迭代次数300
实验次数5
实验结果:
三、核心代码
代码用MSPO代替
%% 参数设置
SearchAgents = 30; % population members
Max_iterations = 200; % maximum number of iteration
number = 'F17'; % 选定优化函数,自行替换:F1~F23
[lb,ub,dim,fobj] = Get_Functions_details(number); % [lb,ub,dim,fobj]:下界、上界、维度、目标函数表达式
%% 循环实验
for i = 1:1
disp(['这是第:', num2str(i),'迭代'])
%% MSPO
[MSPO_Best_score,MSPO_Best_pos,MSPO_cg_curve]=MSPO(SearchAgents,Max_iterations,lb,ub,dim,fobj);
MSPO_fitness(i) = MSPO_Best_score;
%% PO
[PO_Best_score,PO_Best_pos,PO_cg_curve]=PO(SearchAgents,Max_iterations,lb,ub,dim,fobj);
PO_fitness(i)= PO_Best_score;
end
%% 算法的最佳适应度值
% MSPO
MSPO_min_value = min(MSPO_fitness);MSPO_max_value = max(MSPO_fitness);MSPO_mean_value = mean(MSPO_fitness);MSPO_std_value = std(MSPO_fitness);
MSPO_result = [MSPO_mean_value,MSPO_min_value,MSPO_std_value];
disp('---------------------------MSPO--------------------------------')
disp(['MSPO平均值:', num2str(MSPO_mean_value)])
disp(['MSPO最优值:', num2str(MSPO_min_value)])
disp(['MSPO标准差:', num2str(MSPO_std_value)])
% PO
PO_min_value = min(PO_fitness);PO_max_value = max(PO_fitness);PO_mean_value = mean(PO_fitness);PO_std_value = std(PO_fitness);
PO_result = [PO_mean_value,PO_min_value,PO_std_value];
disp('---------------------------PO--------------------------------')
disp(['PO平均值:', num2str(PO_mean_value)])
disp(['PO最优值:', num2str(PO_min_value)])
disp(['PO标准差:', num2str(PO_std_value)])
四、代码获取
五、总结
包括但不限于
优化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等等
用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出