一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
完整代码已上传我的资源:【优化算法】自适应对抗粘菌优化算法 (AOSMA)【含Matlab源码 1425期】

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、部分源代码

%% The Adative Opposition Slime Mould Algorithm (AOSMA) function
function [Destination_fitness,bestPositions,Convergence_curve]=AOSMA(N,Max_iter,lb,ub,dim,fobj)bestPositions=zeros(1,dim);
Destination_fitness=inf;%change this to -inf for maximization problems
AllFitness = inf*ones(N,1);%record the fitness of all slime mold
weight = ones(N,dim);%fitness weight of each slime mold
%Initialize the set of random solutionsX=initialization(N,dim,ub,lb);
Convergence_curve=zeros(1,Max_iter);it=1;  %Number of iterations
lb=ones(1,dim).*lb; % lower boundary
ub=ones(1,dim).*ub; % upper boundary
del=0.03; % parameterfor i=1:N% Check if solutions go outside the search space and bring them backFlag4ub=X(i,:)>ub;Flag4lb=X(i,:)<lb;X(i,:)=(X(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;AllFitness(i) = fobj(X(i,:));end
% Main loop
while  it <= Max_iteroldfitness=AllFitness;[SmellOrder,SmellIndex] = sort(oldfitness);  %Eq.(7)worstFitness = SmellOrder(N);bestFitness = SmellOrder(1);S=bestFitness-worstFitness+eps;  % plus eps to avoid denominator zero%calculate the fitness weight of each slime moldfor i=1:Nfor j=1:dimif i<=(N/2)  %Eq.(6)weight(SmellIndex(i),j) = 1+rand()*log10((bestFitness-SmellOrder(i))/(S)+1);elseweight(SmellIndex(i),j) = 1-rand()*log10((bestFitness-SmellOrder(i))/(S)+1);endendend%update the best fitness value and best positionif bestFitness < Destination_fitnessbestPositions=X(SmellIndex(1),:);Destination_fitness = bestFitness;enda = atanh(-(it/Max_iter)+1);   %Eq.(11)b = 1-it/Max_iter;             %Eq.(12)% Update the Position of search agentsfor i=1:N       %Eq.(13)if rand<del     X(i,:) = (ub-lb)*rand+lb;   %Eq.(13c)elsep =tanh(abs(oldfitness(i)-Destination_fitness));  %Eq.(4)vb = unifrnd(-a,a,1,dim);  vc = unifrnd(-b,b,1,dim);A = randi([1,N]);  % one positions randomly selected from populationr2 = rand();for j=1:dimif r2<p    %Eq.(13a)X(i,j) = bestPositions(j)+ vb(j)*(weight(i,j)*bestPositions(j)-X(A,j));else       %Eq.(13b)X(i,j) = vc(j)*X(i,j);endendendendfor i=1:N% Check if solutions go outside the search space and bring them backFlag4ub=X(i,:)>ub;Flag4lb=X(i,:)<lb;X(i,:)=(X(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;AllFitness(i) = fobj(X(i,:));endfor i=1:Nif AllFitness(i)>oldfitness(i)              %Eq.(16)D(i,:)=min(X(i,:))+max(X(i,:))-X(i,:);  %Eq.(14)Flag4ub=D(i,:)>ub;Flag4lb=D(i,:)<lb;D(i,:)=(D(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;if fobj(D(i,:))<AllFitness(i)           %Eq.(15)X(i,:)=D(i,:);endendendConvergence_curve(it)=Destination_fitness;it=it+1;
end
end

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

【优化算法】自适应对抗粘菌优化算法 (AOSMA)【含Matlab源码 1425期】相关推荐

  1. 【优化布局】基于matlab免疫算法求解充电站最优布局【含Matlab源码 2539期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  2. 【数字信号去噪】基于matlab粒子群算法优化VMD分解分量选择数字信号降噪【含Matlab源码 1979期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号去噪]基于matlab粒子群算法优化VMD分解分量选择数字信号降噪[含Matlab源码 1979期] 点击上面蓝色字体,直接付费 ...

  3. 【微电网优化】基于matlab粒子群算法求解综合能源系统优化问题【含Matlab源码 1969期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab粒子群算法求解综合能源系统优化问题[含Matlab源码 1969期] 点击上面蓝色字体,直接付费下载,即可. ...

  4. 【优化布局】免疫算法求解充电站最优布局【含Matlab源码 2539期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  5. 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  6. 【配送路径规划】蚁群算法求解配送路径最短问题【含Matlab源码 2222期】

    ⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...

  7. 【配送路径规划】基于matlab蚁群算法求解配送路径最短问题【含Matlab源码 2222期】

    ⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...

  8. 【PSO三维路径规划】基于matlab粒子群算法融合鸡群算法多无人机三维路径规划【含Matlab源码 1792期】

    一.无人机简介 无人机的航迹规划是指在综合考虑无人机飞行油耗.威胁.飞行区域以及自身物理条件限制等因素的前提下, 为飞行器在飞行区域内规划出从初始点到目标点最优或者满意的飞行航迹, 其本质是一个多约束 ...

  9. 【路径规划】基于matlab GUI蚁群算法机器人栅格地图最短路径规划【含Matlab源码 927期】

    ⛄一.蚁群算法简介 1 引言 在自然界中各种生物群体显现出来的智能近几十年来得到了学者们的广泛关注,学者们通过对简单生物体的群体行为进行模拟,进而提出了群智能算法.其中, 模拟蚁群觅食过程的蚁群优化算 ...

  10. 【栅格地图路径规划】基于matlab D星和D星_Lite算法机器人栅格地图路径规划【含Matlab源码 2530期】

    ⛄一.简介 "D*算法"的名称源自 Dynamic A Star,最初由Anthony Stentz于"Optimal and Efficient Path Planni ...

最新文章

  1. Android——应用图标微技巧,系统中应用图标的适配
  2. vue 兄弟组件之间的传值
  3. 自定义oracle异常,Oracle自定义异常
  4. 一、vi/vim编辑器
  5. sqlachemy入门基础手册
  6. jquery回显select标签
  7. 设置 git/npm/bower/gem 镜像或代理的方法
  8. 为全力发展AIOT,小米把松果电子分拆重组了
  9. Pyinstaller将外部数据文件打包到可执行文件中(onefolder or onefile)教程
  10. 《深入浅出MFC》 第二版中文
  11. Anaconda使用conda连接网络时,出现网络错误CondaHTTPError(包括Anaconda安装与入门)
  12. Ubuntu 16.04 LTS 下Nginx的编译安装与启动
  13. Mac用brew安装mysql
  14. ISO14443 PICC 与 PCD 调制解调方式
  15. linux的mysql数据配置文件
  16. 消息摘要(Message Digest)及其算法
  17. poodle attack
  18. 服务器网站出现403 forbidden,谷歌浏览器出现403 forbidden怎么回事_谷歌浏览器出现403 forbidden如何解决...
  19. 汉字动图动态图gif格式,无水印 4500个汉字
  20. ctf-STEGA-图穷匕见

热门文章

  1. 怎样搞研究的一套思路
  2. C#生成Guid,SqlServer生成Guid
  3. SpringMVC 配置式开发-BeanNameUrlHandlerMapping(七)
  4. 20155207 2016-2017-2 《Java程序设计》第七周学习总结
  5. VS注释和取消注释快捷键自定义
  6. python opencv 找到圆点标定板所有点后通过距离找四个角点2
  7. 每日一句20191019
  8. 已知直角三角形的周长,求可以构成三角形的情况
  9. excel 绘制突显的饼图
  10. Atitit 数据表 资料整理 常见希腊罗马北欧神话神仙与中国对照表 目录1. 神仙体系 12. 神仙分类 13. 印度大神top10 23.1. 神仙列表约70个大神 21.神仙体