细菌觅食算法BFOA
细菌觅食算法(Bacterial foraging Optimization algorithm,BFOA)是模拟大肠杆菌在人体肠道内觅食时所表现出来的智能行为而提出的一类智能优化算法,由K.M.Passino于2002年提出。细菌觅食算法追寻最优解以种群为单位,有很高的搜索效率且具备概率性、随机性,搜索幅度广,具有较强的延展性,进化空间较大。它具有三个典型的行为模式,即趋化行为、复制行为和驱散行为。
趋化操作
趋化行为指细菌向食物丰富的区域聚集的行为,包括翻转和游动两种模式。前者指细菌朝任意的方向移动一定距离;后者通过判断翻转后细菌的适应度函数值是否得到改善,来决定细菌是否要沿当前方向继续移动。细菌沿着上一步的运动放向移动单位步长称为游动运动。通过这一行为,细菌可获得连续局部寻优的能力。
群集操作
实际上每个细菌个体除按照自己的方式搜索食物外,还收到种群中其他个体发出的吸引力信号,即个体会游向种群中心。
复制操作
复制行为是根据细菌的适应度函数值,选择让较差的细菌继承较好细菌的位置及步长。经过复制操作后算法的种群大小不变。设淘汰掉的细菌个数为Sr=S/2,计算细菌个体的适应度值,首先按照细菌适应度的优劣排序,然后把排在后面的Sr个细菌淘汰掉,剩余的Sr个细菌进行自我复制,各自生成一个与自己完全相同的新个体通过该行为可加快细菌的寻优速度。
消除-扩散操作
细菌个体生活的局部区域可能会突然发生变化这样可能会导致生活在这个局部区域的细菌种群集体死亡,或者集体迁徙到一个新的局部区域。在细菌觅食优化算法中将这种现象称为迁徙(驱散)行为。
驱散行为是让细菌以一定概率被驱散到搜索空间中的任意位置,通过该行为可以避免细菌陷人局部极值。迁徙操作以一定概率发生,给定概率ped,如果种群中的某个细菌个体满足迁徙发生的概率,则这个细菌个体灭亡,并随机地在解空间的任意位置生成一个新个体,这个新个体与灭亡的个体可能具有不同的位置,即不同的觅食能力。这样更有利于趋向性操作跳出局部最优解和寻找全局最优解。
初始时设i=0,rand()是[0,1]区间上均匀分布的随机数,迁徙操作流程如图3所示。
改进BFOA-基于激素调节机制的情绪化细菌觅食
基于韦伯-费克纳情绪化突变操作
当细菌个体完成趋化操作,细菌个体会对比历史感知及全局感知进行基于韦伯费克纳情绪化突变操作。
激素调节(Hill函数)
在细菌个体运行速度更新过程中采用激素调节细菌个体的情绪,并以此实现对惯性因子的调节;
————————————————
版权声明:本文为CSDN博主「松间沙路hba」的原创文章,原文链接:https://blog.csdn.net/hba646333407/article/details/103086793
细菌觅食算法BFOA相关推荐
- 基于matlab的捕食算法,【优化求解】基于matlab细菌觅食算法的函数优化分析【含Matlab源码 217期】...
一.简介 实际生活需求促进了最优化方法的发展.近半个多世纪以来,由于传统优化方法的不足,一些具有全局优化性能且通用性强的进化算法,因其高效的优化性能.无需问题精确描述信息等优点,受到各领域广泛的关注和 ...
- 细菌觅食算法(Bacteria Foraging Algorithm,BFA)
细菌觅食算法是仿生优化算法的一种,它由K.M.Passino于2002年提出.算法模拟Ecoli大肠杆菌在人体肠道内搜寻营养丰富区域的行为.该算法的优点是易于跳出局部最小点,缺点是收敛速度不够快. 细 ...
- 细菌觅食算法(Bacterial Foraging Optimization)
文章目录 细菌觅食算法 1.简介 2.思想 总结 细菌觅食算法 1.简介 细菌觅食算法(Bacterial Foraging Optimization,BFO)在2002年,被K.M.Passino在 ...
- Java实现细菌觅食算法_细菌觅食算法-python实现
1 importnumpy as np2 from BFOIndividual importBFOIndividual3 importrandom4 importcopy5 importmatplot ...
- 群体智能优化算法之细菌觅食优化算法(Bacterial Foraging Optimization Algorithm,BFOA)
获取更多资讯,赶快关注上面的公众号吧! 文章目录 第十四章 细菌觅食优化算法 14.1 介绍 14.2 BFOA的基本原理与流程 14.2.1 趋向性操作 14.2.2 复制操作 14.2.3 迁徙操 ...
- 种群优化算法:细菌觅食优化
细菌觅食优化(BFO)算法是一种引人入胜的优化技术,可在极其复杂或不可能的数值函数里找到最大化/最小化问题得近似解. 该算法被广泛认为应对分布式优化和控制的全局优化算法. BFO 的灵感来自大肠杆菌的 ...
- 在SIMULINK实现各类优化类算法的仿真——粒子群算法、细菌觅食、
粒子群优化算法,这里采用MPPT智能优化模型为例进行仿真 其中,通过PSO粒子群优化算法实现PWM最优输出,PSO则采用S函数实现,S函数的核心代码如下: function [sys,x0,str,t ...
- MATLAB算法实战应用案例精讲-【智能优化算法】细菌觅食优化-BFO(附MATLAB源码)
目录 前言 算法原理 算法步骤 算法流程编辑 趋向性操作( Chemotaxis) <
- 【优化算法】细菌粒子群优化算法【含Matlab源码 1195期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]细菌粒子群优化算法[含Matlab源码 1195期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏Mat ...
最新文章
- 【组队学习】【32期】SQL编程语言
- CPU使用率的几个重要指标含义列举
- 理解和配置Out of memory: Kill process
- Verilog RTL 代码设计示例
- 音视频技术开发周刊 | 150
- java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal res
- spring 组件扫描_避免不必要的Spring配置组件扫描
- 电脑音频服务未运行怎么解决_电脑故障维修技巧教程:新手必看的修电脑技巧!...
- 让安全威胁无所遁形,全方位掌握攻击“前世今生”的黑科技来了
- Raspberry Config.txt 介绍
- 用SqlConnectionStringBuilder修改连接超时时间
- shell死循环(whilefor)
- 使用HDR Efex Pro 2 mac版如何合并图像?
- 在 Android Studio 里面运行标准 Java 工程
- 【DBC专题】-4-DBC文件中的Signal信号字节顺序Motorola和Intel介绍
- 电机控制系统php,步进电机调速控制系统资料(原理图+单片机源码)
- 关于谷歌浏览器74以上无法自动加载flash问题的解决
- CacheCloud管理平台
- 安卓手机被抓包了怎么办?如何防止?
- 分分钟实现梦想 —— 两种快速打造App的方法