一、简介

\ 1 GOA数学模型\ \ \ \ 2 GOA迭代模型\ \ \ 3 GOA算法的基本流程\ \ \ 4 GOA缺点\ \

二、源代码

``` clc; clear; close all;

% Change these details with respect to your problem%%%%%%%%%%%%%% ObjectiveFunction=@ZDT1; dim=5; lb=0; ub=1; obj_no=2;

if size(ub,2)==1 ub=ones(1,dim)ub; lb=ones(1,dim)lb; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% flag=0; if (rem(dim,2)~=0) dim = dim+1; ub = [ub, 1]; lb = [lb, 0]; flag=1; end

max_iter=100; N=200; ArchiveMaxSize=100;

ArchiveX=zeros(100,dim); ArchiveF=ones(100,obj_no)*inf;

Archivememberno=0;

%Initialize the positions of artificial whales GrassHopperPositions=initialization(N,dim,ub,lb);

TargetPosition=zeros(dim,1); TargetFitness=inf*ones(1,obj_no);

cMax=1; cMin=0.00004; %calculate the fitness of initial grasshoppers

for iter=1:max_iter for i=1:N

Flag4ub=GrassHopperPositions(:,i)>ub';Flag4lb=GrassHopperPositions(:,i)<lb';GrassHopperPositions(:,i)=(GrassHopperPositions(:,i).*(~(Flag4ub+Flag4lb)))+ub'.*Flag4ub+lb'.*Flag4lb;GrassHopperFitness(i,:)=ObjectiveFunction(GrassHopperPositions(:,i)');if dominates(GrassHopperFitness(i,:),TargetFitness)TargetFitness=GrassHopperFitness(i,:);TargetPosition=GrassHopperPositions(:,i);endend[Archive_X, Archive_F, Archive_member_no]=UpdateArchive(Archive_X, Archive_F, GrassHopperPositions, GrassHopperFitness, Archive_member_no);if Archive_member_no>ArchiveMaxSizeArchive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);[Archive_X, Archive_F, Archive_mem_ranks, Archive_member_no]=HandleFullArchive(Archive_X, Archive_F, Archive_member_no, Archive_mem_ranks, ArchiveMaxSize);
elseArchive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
endArchive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
index=RouletteWheelSelection(1./Archive_mem_ranks);
if index==-1index=1;
end
TargetFitness=Archive_F(index,:);
TargetPosition=Archive_X(index,:)';c=cMax-iter*((cMax-cMin)/max_iter); % Eq. (3.8) in the paperfor i=1:Ntemp= GrassHopperPositions;for k=1:2:dimS_i=zeros(2,1);for j=1:Nif i~=jDist=distance(temp(k:k+1,j), temp(k:k+1,i));r_ij_vec=(temp(k:k+1,j)-temp(k:k+1,i))/(Dist+eps);xj_xi=2+rem(Dist,2);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Eq. (3.2) in the paper s_ij=((ub(k:k+1)' - lb(k:k+1)') .*c/2)*S_func(xj_xi).*r_ij_vec;S_i=S_i+s_ij;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%endendS_i_total(k:k+1, :) = S_i;endX_new=c*S_i_total'+(TargetPosition)'; % Eq. (3.7) in the paperGrassHopperPositions_temp(i,:)=X_new';
end
% GrassHopperPositions
GrassHopperPositions=GrassHopperPositions_temp';display(['At the iteration ', num2str(iter), ' there are ', num2str(Archive_member_no), ' non-dominated solutions in the archive']);

end

if (flag==1) TargetPosition = TargetPosition(1:dim-1); end

figure

Draw_ZDT1();

hold on

plot(ArchiveF(:,1),ArchiveF(:,2),'ro','MarkerSize',8,'markerfacecolor','k');

legend('True PF','Obtained PF'); title('MOGOA');

set(gcf, 'pos', [403 466 230 200])

```

三、运行结果

四、备注

版本:2014a

【优化算法】多目标蝗虫优化算法(MOGOA)相关推荐

  1. 韩老师多目标优化:多目标粒子群算法

    一. 内容简介 韩老师多目标优化:多目标粒子群算法 视频: [2022.2.5韩老师十七课时(中)多目标优化:多目标粒子群算法] https://www.bilibili.com/video/BV1e ...

  2. 约束多目标优化 约束多目标进化/演化算法入门论文文献推荐 大部分论文代码已开源

      在实际生活中常常会碰到需要同时优化多个目标的应用问题,这些问题又往往包含许多个约束条件,这样的问题通常被称为约束多目标优化问题,它的数学表达式为: minimizeF(x)=(f1(x),f2(x ...

  3. CEC2015:动态多目标野狗优化算法求解CEC2015(提供完整MATLAB代码,含GD、IGD、HV和SP评价指标)

    一.动态多目标优化问题简介 现实世界中,许多优化问题不仅具有多属性,而且与时间相关,即随着时间的变化,优化问题本身也发生改变,这类问题称为动态多目标优化问题(dynamic multi-objecti ...

  4. CEC2015:(一)动态多目标野狗优化算法(Dynamic Multi-objective Dingo Optimization Algorithm,DMODOA)求解FDA4与FDA5

    一.cec2015中测试函数FDA4.FDA5.FDA5_iso.FDA5_dec详细信息 CEC2015:动态多目标测试函数之FDA4.FDA5.FDA5_iso.FDA5_dec 二.动态多目标野 ...

  5. 【智能优化算法】基于曲线自适应和模拟退火的蝗虫优化算法求解单目标优化问题附matlab代码

    1 简介 针对蝗虫优化算法容易陷入局部极值点,收敛速度慢,精度较差等缺点,提出曲线自适应和模拟退火蝗虫优化算法.首先,引入曲线自适应代替蝗虫优化算法关键参数的线性自适应,提高了算法的全局搜索能力;其次 ...

  6. 【蝗虫算法】基于混合柯西变异和均匀分布改进蝗虫优化算法求解单目标优化问题matlab代码

    1 简介 传统蝗虫优化算法在处理优化问题时依然存在收敛速度慢,易陷入局部最优的不足.为此,提出了融合混沌映射和柯西变异机制的非线性蝗虫优化算法CCGOA.通过融合混沌Tent映射与反向学习机制,对种群 ...

  7. 多目标遗传优化算法nsga2求解复杂约束问题【python源码实现,实数编码】

    效果图如下: 提示:专栏解锁后,可以查看该专栏所有文章. 文章目录 一.必备知识 二.nsga2(遗传算法为实数编码) 2.1 有规则的例子 2.2 没有规则的例子 总结 一.必备知识 十分钟了解完多 ...

  8. 多目标遗传优化算法nsga2求解复杂约束问题【python源码实现,二进制编码】

    前言 本文讲解多个输入情况下,多目标复杂约束问题.示例问题.Pareto解分布.代码量见下图 提示:专栏解锁后,可以查看该专栏所有文章.划算. 文章目录 前言 一.必备知识 二.多目标遗传优化算法求解 ...

  9. 蝗虫算法java代码_蝗虫搜索算法 蝗虫算法:蝗虫优化算法是模拟自然界蝗虫种群捕食行为而提出的一 联合开发网 - pudn.com...

    蝗虫搜索算法 所属分类:其他 开发工具:matlab 文件大小:347KB 下载次数:5 上传日期:2020-07-26 16:31:25 上 传 者:西柚不加冰 说明:  蝗虫算法:蝗虫优化算法是模 ...

最新文章

  1. 设置centos默认启动命令行(不启动图形界面)
  2. 【C++】C++11 STL算法(四):二分查找法(Binary search operations)、合并操作
  3. 2020大部分知名公司Java面试题(一)
  4. 03JavaScript中的数据类型
  5. html and js 的隔行换背景色表格实例详解
  6. Linux manjaro安装搜狗输入法命令整理
  7. springboot mysql事物_在Spring Boot中使用数据库事务
  8. AngularJS学习(二)
  9. BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊(LCT)
  10. jQuery 3D圆盘旋转焦点图 支持鼠标滚轮
  11. MapJoin的原理及案例
  12. 防止IE不支持console.log报错
  13. SEH in ASM研究
  14. [python] 正则
  15. Lab: Username enumeration via subtly different responses 通过细微的差别的响应来甄别用户名靶场复盘
  16. python+appium在使用swipe滑动时,报错The swipe did not complete successfully的解决办法
  17. windows上配置深度学习(李沐-动手学深度学习)
  18. 频率、周期、角频率的概念
  19. stm32f407探索者开发板(一)——资源介绍(顺便说下无人机的进度状况)
  20. 会玩会生活!兴趣标签体系的背后方案是......

热门文章

  1. 美学心得(第二百二十九集)罗国正
  2. 二值图像开闭运算matlab,【数字图像处理】图像开运算与闭运算
  3. SMTP邮件格式、SMTP 协议,SMTP的MIME写法,SMTP发送HTML邮件
  4. 你好,你的小程序涉及收集、使用和存储用户信息,请增加《用户服务协议》及《隐私政策》最新解决方法
  5. 水泵smart200编程_水泵一用一备怎么写程序
  6. 2、mysql存储引擎
  7. 创意设计:40幅唯美的卡通插画作品欣赏
  8. 这10款App安全测试工具应该能帮到你很多
  9. 不到3岁宝宝说“我要杀了你”(转)
  10. 小程序界面渲染数据计算 小程序界面渲染保留小数