一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【优化算法】杂草优化算法(IWO)【含Matlab源码 1076期】

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

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

二、杂草算法简介

1 IWO定义
IWO是2006年由A. R. Mehrabian等提出的一种从自然界杂草进化原理演化而来的随机搜索算法,模仿杂草入侵的种子空间扩散、生长、繁殖和竞争性消亡的基本过程,具有很强的鲁棒性和自适应性。

IWO算法是一种高效的随机智能优化算法,以群体中优秀个体来指导种群的进化,以正态分布动态改变标准差的方式将由优秀个体产生的子代个体叠加在父代个体周围,再经过个体之间的竞争,得到最优个体。算法兼顾了群体的多样性和选择力度。

2 IWO搜索与性能
IWO相比其他的进化算法拥有更大的搜索空间和更好的性能。
与GA相比,IWO算法简单,易于实现,不需要遗传操作算子,能简单有效地收敛问题的最优解,是一种强有力的智能优化工具。

3 IWO算法实现步骤
3.1 初始化种群
一定数据的杂草初始分布在搜索空间中,位置随机,个数根据实际情况调整;

3.2子代繁殖
分布在整个搜索空间的父代,根据父代的适应值产生下一代种子,种子的个数由适应度值决定,适应值高的产生的种子多,低的个体产生种子数少。

3.3 空间扩散
子代个体按照一定规律分布在父代个体周围,分布位置规律满足正态分布(父代为轴线(均值),标准差随着代数不断变化)。

3.4 竞争淘汰
当一次繁殖的个体数超过种群数量的上限时,将子代和父代一起排序,适应值低的个体将被清除。

三、部分源代码

clc;
clear;
close all;
tic;  %%% 记录程序运行时间 %%%
%%%%%%%%%%%%%% 1 初始化种群 %%%%%%%%%%%%%
M0=30;  %%% 初始种群个体数 %%%
Mmax=50;  %%%% 最大种群个体数 %%%%%
itmax=2000; %%%% 迭代次数 %%%%
dim=30; %%%%%%  问题维数  %%%%%
smax=5;  %%%%% 最大种子数 %%%%%
smin=2;    %%%%%% 最小种子数 %%%%
n=3;  %%% 调和指数 计算方差时要用的,是设好的固定值 %%%%%
delta_initial=10; %%% 方差最大值 %%%%
delta_final=0.001; %%% 方差最小值 %%%%
xmax=100;
xmin=-100; %%%% 问题解的最大最小 范围 %%%%%%%%
X=xmin+(xmax-xmin)*rand(M0,dim);  %%%%% 随机产生初始种群 %%%%%
fit=fitness(X);  %%% 计算种群的适应度函数值  %%%%%%
best=0;  %%% 定义一个数,用来存储最优解 %%%
evrybest=[]; %%% 定义一个空阵,用来存储每代的最优解 %%%
%%%%%%%%%%%%%%%%%%%%%%%%%主程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
iter=1;
while iter<=itmax   %%%%%% 循环迭代 %%%%%%%%%%%%%%%% 2 生长繁殖 产生种子 %%%%%%%%%%%%%
Nseed=round(-(smax-smin)/(max(fit)-min(fit))*(fit-min(fit))+smax);%%%%%%%%%%%% 3 空间扩散 以正态随机分布 %%%%%%%%%%%%%
delta_iter=(itmax-iter)^n/(itmax)^n*(delta_initial-delta_final)+delta_final;
%%%% 上面的式子求正态分布的方差 %%%%
l=size(X);
X1=[];
for i=1:l(1)  %%% 对于每个个体 %%%for j=1:Nseed(i)  %%% 对于每个个体产生的种子数 %%%%Xnew=normrnd(X(i,:),delta_iter^2); %%%% 产生正态分布随机数 %%%if Xnew(:)>xmaxXnew(:)=xmax;endif Xnew(:)<xminXnew(:)=xmin;end  %%%%% 限制解的范围 解决实际问题时,这步可有可无 %%%%%X1=[X1;Xnew];  %%% 将产生的所有子代存在X1中 %%%%end
end         %%%%%% 上面一段是 产生子代的过程 %%%%%%%%%

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.

【优化算法】杂草优化算法(IWO)【含Matlab源码 1076期】相关推荐

  1. 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]灰狼优化算法(GWO)[含Matlab源码 1305期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化 ...

  2. 【优化算法】改进的灰狼优化算法(IGWO)【含Matlab源码 1349期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]改进的灰狼优化算法(IGWO)[含Matlab源码 1349期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  3. 【优化算法】多目标灰狼优化算法(MOGWO)【含Matlab源码 099期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]多目标灰狼优化算法(MOGWO)[含Matlab源码 099期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  4. 【优化算法】改进的侏儒猫鼬优化算法(IDMO)【含Matlab源码 2314期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]改进的侏儒猫鼬优化算法(IDMO)[含Matlab源码 2314期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  5. 【优化算法】象群游牧优化算法(EHO)【含Matlab源码 1080期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]象群游牧优化算法(EHO)[含Matlab源码 1080期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专 ...

  6. 【优化算法】猫群优化算法(CSO)【含Matlab源码 1071期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]猫群优化算法(CSO)[含Matlab源码 1071期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏M ...

  7. 【优化算法】黑洞模拟算法(MVO)【含Matlab源码 479期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]黑洞模拟算法(MVO)[含Matlab源码 479期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏Ma ...

  8. 【优化算法】多目标蚁狮优化算法(MOALO)【含Matlab源码 1598期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]多目标蚁狮优化算法(MOALO)[含Matlab源码 1598期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  9. 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...

  10. 【图像增强】基于matlab萤火虫算法图像对比度增强【含Matlab源码 2142期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像增强]基于matlab萤火虫算法图像对比度增强[含Matlab源码 2142期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

最新文章

  1. python怎么安装pandas模块-python如何导入安装pandas模块并使用别名
  2. BZOJ4671: 异或图
  3. JAVA复习5(集合——ArrayList)
  4. js中的转译_JavaScript中的填充和转译
  5. ASP.NET操作Excel
  6. leetcode 1189 python
  7. Date类 和 Calendar类
  8. 在asp中实现自动缩放图片(推荐)
  9. 探索Spring异步代理循环依赖失败的问题
  10. Linux操作系统基础原理
  11. ELman神经网络matlab实现
  12. 520套电商行业响应式html5模板b2c商城购物网站模板HTML5化妆品电商网站模板IT类电子商务商城购物企业网站模板html5网页静态模板Bootstrap扁平化网站源码
  13. 【转存】游戏中常用术语
  14. 测试两张照片相似度对比软件,有没有一款软件能比对两张照片是否一样?
  15. linux 系统编程--标准IO-缓存
  16. Service Mesh 框架选型对比分析:Linkerd、Envoy、Istio、Conduit
  17. [企业管理]关于管理
  18. 优购小程序项目效果预览
  19. 短单词汇总(2-4个字母)
  20. AR可视化远程协助,医护诊疗,对讲指挥调度系统方案

热门文章

  1. jieba库初识与运用
  2. 2.matplotlib画散点图
  3. 页面中打开Word,在线浏览
  4. 中国iOS和Android设备激活量将超美国
  5. xml绑定省市,并实现二级联动
  6. [SPS2010] RC1 安装体验
  7. python中在一个脚本调用另一个脚本类中函数变量值
  8. 20191218每日一句
  9. 190812每日一句
  10. LaTeX 注释一行的某一部分