花授粉优化算法及代码实现
花授粉优化算法及代码实现
- 1、算法简介
- 2、植物授粉机理
- 3、算法基本思想
- Levy飞行
- 4、具体实现
- 1)自花授粉 - 局部搜索过程
- 2)异花授粉 - 全局搜索过程
- 3)流程图
- 4)主要代码及运行结果
1、算法简介
花授粉算法( FPA )是英国剑桥大学学者 X.S. Yang 于 2012 年提出的一种新型的群智能算法;
根据对大自然界中有花植物的授粉行为的观察及研究而提出的一种新型启发式优化算法;
FPA算法具有构简单、参数少、鲁棒性较强,且性能稳定等特点;
是目前计算智能领域研究热点之一,被成功的应用到解决各种优化问题中,如求解各种工程实例的解决方案、用于无限传感网络的优化等。
2、植物授粉机理
大自然界中有花植物的繁殖方式是通过其花朵传粉与授粉的行为进行的,而基于其传粉与授粉方式的差异,将有花植物的授粉过程分为两种方式,即:异花授粉行为(有性授粉)与自花授粉行为(无性授粉)
其中:
- 异花授粉:该种授粉行为的有花植物其雄蕊和雌蕊不长在同一朵花里,甚至不长在同一株植物上,两者往往相距较远,它们的花粉传播方式主要靠昆虫、鸟类等生物进行;
- 自花授粉:一株植物的花粉对同一个体的雌蕊进行授粉或一株植物的不同花之间进行授粉的现象,其传播借助风力和水媒等完成
3、算法基本思想
算法模仿自然界花授粉的两种机制。对于异花授粉 由于其依靠传粉者远距离传播花粉,将其对应为全局搜索过程;对于自花授粉 由于其授粉物理位置上距离较近,将其对应为局部搜索过程。
引入一个切换概率P(p ∈ [0,1]),权衡全局搜索过程与局部搜索过程间的比重关系。
算法遵循以下4个标准化准则:
- 异花授粉时,传粉者通过 levy 飞行进行花粉的传播,该过程映射为全局搜索过程
- 自花授粉映射为局部搜索过程
- 花恒常性可视为授粉过程中两朵花的繁殖概率与相似度的比例(有些传粉者习惯性的为某些特定种类的花朵传粉而绕过其它种类的花朵,这种现象叫做花的恒常性)
- 授粉方式的改变通过切换概率p(p ∈ [0,1])来控制,即当随机数 rand<p 时,执行自花授粉,否则执行异花授粉
Levy飞行
Levy飞行指的是步长的概率分布为重尾分布的随机行走,也就是说在随机行走的过程中有相对较高的概率出现大跨步。与步长分布没有重尾的随机行走相比,莱维飞行的运动轨迹就像时不时可以飞行一样,故名。
主要特点:
长步长与短步长相间
4、具体实现
随机生成一个规模为 R 的种群,种群中的第i个花粉用向量Xi= (Xi1,Xi2,⋯,Xiϑ,⋯,XiD)表示,其中Xiϑ(ϑ = 1,⋯,D)是第i个花粉第ϑ维的位置,D是求解问题的维数
1)自花授粉 - 局部搜索过程
2)异花授粉 - 全局搜索过程
3)流程图
4)主要代码及运行结果
主要代码:
for i=1:nSol(i,:)=Lb+(Ub-Lb).*rand(1,d); %初始化花粉Fitness(i)=Fun(Sol(i,:));
end
% Find the current best among the initial population
[fmin,I]=min(Fitness);
best=Sol(I,:);
S=Sol; for t=1:N_iterfor i=1:nif rand>p L=Levy(d); dS=L.*(Sol(i,:)-best); S(i,:)=Sol(i,:)+dS; S(i,:)=simplebounds(S(i,:),Lb,Ub);elseepsilon=rand;JK=randperm(n); %随机打乱一个数字序列S(i,:)=S(i,:)+epsilon*(Sol(JK(1),:)-Sol(JK(2),:));S(i,:)=simplebounds(S(i,:),Lb,Ub);endFnew=Fun(S(i,:)); %计算新的适应度值if (Fnew<=Fitness(i))Sol(i,:)=S(i,:);Fitness(i)=Fnew;endif Fnew<=fminbest=S(i,:);fmin=Fnew;endend
end
花授粉优化算法及代码实现相关推荐
- 【优化选址】基于入侵杂草和花授粉混合算法实现无线传感器网络布局优化matlab代码
1 简介 无线传感器网络(Wireless Sensor Network,WSN)是由部署在目标区域内一定数量的传感器节点组成的无线通信网络,可实现对目标区域中物理信号的采集.监测.传输等功能.与传统 ...
- 入侵杂草与花授粉混合算法优化的无线传感器覆盖问题
入侵杂草与花授粉混合算法优化的无线传感器覆盖问题 无线传感器网络(Wireless Sensor Networks,WSNs)在农业监测和环境监测等领域具有广泛应用.其中,对于农业环境来说,及时探测和 ...
- 智能优化算法:多元宇宙优化算法-附代码
智能优化算法:多元宇宙优化算法-附代码 文章目录 智能优化算法:多元宇宙优化算法-附代码 1.算法原理 2.算法流程图 3.算法结果 4.参考文献 5.MATLAB代码 6.python代码 摘要:多 ...
- 智能优化算法:正余弦优化算法-附代码
智能优化算法:正余弦优化算法-附代码 文章目录 智能优化算法:正余弦优化算法-附代码 1.算法原理 2.算法流程 3.算法结果 4.参考文献 5.MATLAB代码 6.Python代码 摘要:正 余 ...
- 智能优化算法:蚁狮优化算法-附代码
智能优化算法:蚁狮优化算法-附代码 文章目录 智能优化算法:蚁狮优化算法-附代码 1.算法原理 1.1 蚂蚁的随机游走 1.2蚁狮对蚂蚁随机游走的影响 1.3自适应机制 1.4 精英策略 2.算法步骤 ...
- 基于入侵杂草和花授粉混合算法的WSN节点部署优化
文章目录 一.理论基础 1.节点与覆盖模型 2.入侵杂草算法 3.花授粉算法 二.仿真分析 三.参考文献 一.理论基础 1.节点与覆盖模型 请参考这里. 2.入侵杂草算法 请参考这里. 3.花授粉算法 ...
- 【优化覆盖】基于matlab入侵杂草和花授粉混合算法无线传感器覆盖优化问题【含Matlab源码 1328期】
⛄一.杂草算法简介 1 IWO定义 IWO是2006年由A. R. Mehrabian等提出的一种从自然界杂草进化原理演化而来的随机搜索算法,模仿杂草入侵的种子空间扩散.生长.繁殖和竞争性消亡的基本过 ...
- 融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法-附代码
融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法 文章目录 融合正弦余弦和无限折叠迭代混沌映射的蝴蝶优化算法 1.蝴蝶优化算法 2. 改进蝴蝶优化算法 2.1 无限折叠迭代混沌映射的种群初始化 2.2 ...
- 智能优化算法:白鲸优化算法-附代码
智能优化算法:白鲸优化算法 摘要:白鲸优化算法([Beluga whale optimization,BWO)是由是由 Changting Zhong 等于2022 年提出的一种群体智能优化算法.其灵 ...
最新文章
- python将一个数组纵向切割_python – 对如何切割numpy数组感到困惑
- C++案例-员工分组
- 缩放浏览器时 背景图片固定
- 多重信号辅助音频分离,让你在嘈杂环境也能指哪听哪儿
- 局域网内文件传输速度_详解蒲公英路由器组网 实现文件共享
- arcengine动态显示所需字段值
- 周庄不买门票攻略_广东佛山旅游攻略好玩的地方景点推荐
- C语言以科学计数法的格式打印
- 小管家进销存_管家婆物联宝微订货V2.3发版公告
- 易语言 html做ui,易语言皮冯 易语言DirectUI界面库你的硬件也可美化超漂亮!
- CDH6.2配置spark.yarn.jars目录
- 千古奇才---埃舍尔
- 2021年广州市学历入户全流程(持续更新)
- 获取客户端真实ip的方法
- 学术数据库 文献检索
- 宝塔Linux面板安装SSL证书
- QNX SLM 学习笔记
- CS、DS、SS、ES
- 第十一届“认证杯”数学中国数学建模国际赛 (D题)
- linux卸载socat,linux rinetd、socat端口转发部署