一种多策略改进小龙虾智能优化算法MSCOA 改进策略:种群混沌映射初始化+透 ...

一给  金牌会员 | 2024-9-13 15:46:14 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 648|帖子 648|积分 1944

一种多策略改进小龙虾智能优化算法MSCOA 改进策略:种群初始化精英反向+透镜成像反向学习+黄金正弦变异策略
  
  
一、小龙虾COA基本原理

小龙虾优化算法(Lobster Optimization Algorithm,LOA)是一种模拟小龙虾觅食举动的优化算法。其基本原理和步骤如下:

  • 初始化

    • 随机天生小龙虾种群的位置(解)和速率。

  • 适应度评估

    • 盘算每只小龙虾的适应度值(目标函数值)。

  • 更新位置

    • 小龙虾通过两种重要举动来更新位置:

      • 觅食举动:小龙虾在其当前位置附近搜索更好的解。
      • 社会举动:小龙虾根据邻近个体的位置调整自己的位置,以利用群体的知识。


  • 选择最优解

    • 通过比力适应度值,选择当前最优的小龙虾解作为全局最优解。

  • 迭代

    • 重复步骤2-4,直到到达最大迭代次数或满足停止准则。

  • 输出结果

    • 输出最优解及其适应度值。

小龙虾优化算法的优点包括较强的全局搜索能力和较快的收敛速率,但其效率和结果依赖于具体题目和参数设置。
二、改进策略

2.1种群初始化 映射

六种映射可供选择
tent
chebyshev
Singer
Logistic
Sine
Circle
2.2 透镜成像反向学习


2.3 黄金正弦变异策略


三、实行结果






















四、核心代码

  1. %%  清空环境变量
  2. warning off             % 关闭报警信息
  3. close all               % 关闭开启的图窗
  4. clear                   % 清空变量
  5. clc                     % 清空命令行
  6. % rng(24,'twister');      % 随机种子
  7. %%  参数设置
  8. SearchAgents = 30;                                % COApulation members
  9. Max_iterations = 500;                             % maximum number of iteration
  10. number = 'F10';                                    % 选定优化函数,自行替换:F1~F23   
  11. [lb,ub,dim,fobj] = Get_Functions_details(number); % [lb,ub,dim,fobj]:下界、上界、维度、目标函数表达式
  12. %% 循环实验
  13. for i = 1:2
  14. %% MSCOA
  15. [MSCOA_Best_score,MSCOA_Best_pos,MSCOA_cg_curve]=MSCOA(SearchAgents,Max_iterations,lb,ub,dim,fobj);
  16. MSCOA_fitness(i) = MSCOA_Best_score;
  17. %% COA
  18. [COA_Best_score,COA_Best_pos,COA_cg_curve]=COA(SearchAgents,Max_iterations,lb,ub,dim,fobj);
  19. COA_fitness(i)= COA_Best_score;
  20. end
  21. %% 算法的最佳适应度值
  22. % MSCOA
  23. MSCOA_min_value = min(MSCOA_fitness);MSCOA_max_value = max(MSCOA_fitness);MSCOA_mean_value = mean(MSCOA_fitness);MSCOA_std_value = std(MSCOA_fitness);
  24. MSCOA_result = [MSCOA_mean_value,MSCOA_min_value,MSCOA_std_value];
  25. disp('---------------------------MSCOA--------------------------------')
  26. disp(['MSCOA平均值:', num2str(MSCOA_mean_value)])
  27. disp(['MSCOA最优值:', num2str(MSCOA_min_value)])
  28. disp(['MSCOA标准差:', num2str(MSCOA_std_value)])
  29. % COA
  30. COA_min_value = min(COA_fitness);COA_max_value = max(COA_fitness);COA_mean_value = mean(COA_fitness);COA_std_value = std(COA_fitness);
  31. COA_result =  [COA_mean_value,COA_min_value,COA_std_value];
  32. disp('---------------------------COA--------------------------------')
  33. disp(['COA平均值:', num2str(COA_mean_value)])
  34. disp(['COA最优值:', num2str(COA_min_value)])
  35. disp(['COA标准差:', num2str(COA_std_value)])
  36. %% 把结果保存
  37. columnNames = {'平均值', '最优值', '标准差'};
  38. RowNames = {'MSCOA', 'COA'};
  39. result = [MSCOA_result',COA_result'];
  40. %% 保存适应度函数
  41. curve = [MSCOA_cg_curve' COA_cg_curve'];
  42. %% 绘图
  43. figure1 = figure('Color',[1 1 1]);
  44. G1=subplot(1,2,1,'Parent',figure1);
  45. func_plot(number)
  46. title(number)
  47. xlabel('x')
  48. ylabel('y')
  49. zlabel('z')
  50. subplot(1,2,2)
  51. G2=subplot(1,2,2,'Parent',figure1);
  52. CNT=20;
  53. k=round(linspace(1,Max_iterations,CNT)); %随机选CNT个点
  54. % 注意:如果收敛曲线画出来的点很少,随机点很稀疏,说明点取少了,这时应增加取点的数量,100、200、300等,逐渐增加
  55. % 相反,如果收敛曲线上的随机点非常密集,说明点取多了,此时要减少取点数量
  56. iter=1:1:Max_iterations;
  57. if ~strcmp(number,'F16')&&~strcmp(number,'F9')&&~strcmp(number,'F11')  %这里是因为这几个函数收敛太快,不适用于semilogy,直接plot
  58.     semilogy(iter(k),MSCOA_cg_curve(k),'r-','linewidth',1);
  59.     hold on
  60.     semilogy(iter(k),COA_cg_curve(k),'g-','linewidth',1);
  61. else
  62.     plot(iter(k),MSCOA_cg_curve(k),'r-','linewidth',1);
  63.     hold on
  64.     plot(iter(k),COA_cg_curve(k),'g-','linewidth',1);
  65. end
  66. grid on;
  67. title('收敛曲线')
  68. xlabel('迭代次数');
  69. ylabel('适应度值');
  70. box on
  71. legend('MSCOA','COA')
  72. set (gcf,'position', [300,300,800,330])
复制代码
五、代码获取

99
六、总结

包括但不限于
优化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等等
用于数据的分类,时序,回归预测。
多特征输入,单输出,多输出

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表