首页 理论教育 BFO算法参数选取及优化效能

BFO算法参数选取及优化效能

时间:2023-11-01 理论教育 版权反馈
【摘要】:BFO算法的优化能力和收敛速度与这些参数值的选择紧密相关。但由于参数空间的大小不同,而且各参数间的相关性,在BFO算法的实际应用中并没有确定最佳参数的通用方法,只能凭经验选取。图6.3细菌觅食优化算法流程框图1.种群大小S种群规模S表示BFO算法中同时进行搜索的细菌数目,其大小影响算法效能的发挥。

BFO算法参数选取及优化效能

算法参数是影响算法性能和效率关键,如何确定最佳参数使得算法性能最优本身就是一个极其复杂的优化问题。细菌觅食优化算法的参数较多,包括:种群大小S,游动步长大小C,种群细菌之间传递信号的影响值中的4个参数(dattractant、wattractant、hrepellant和wrepellant),趋向、复制和迁徙操作的执行次数Nc、Nre、Ned,以及每次向前游动的最大步长数Ns和迁徙概率ped。BFO算法的优化能力和收敛速度与这些参数值的选择紧密相关。但由于参数空间的大小不同,而且各参数间的相关性,在BFO算法的实际应用中并没有确定最佳参数的通用方法,只能凭经验选取。本小节主要介绍一些在仿真中总结出来的经验和指导性原则。

图6.3 细菌觅食优化算法流程框图

1.种群大小S

种群规模S表示BFO算法中同时进行搜索的细菌数目,其大小影响算法效能的发挥。种群规模小,BFO算法的计算速度虽快,但种群的多样性降低,影响算法的优化性能;种群规模大,个体初始时分布的区域多,靠近最优解的机会就越高,越能避免算法陷入局部极小值。但是种群规模太大时,算法的计算量增大,导致算法的收敛速度变慢。

2.游动的步长大小C

步长大小C表示细菌觅食基本步骤的长度,C控制种群的多样性和收敛性。一般来说,C不应小于某一特定值,这样能够有效地避免细菌仅在有限的区域寻优,导致不易找到最优解。然而,C太大时虽使细菌迅速向目标区域移动,却也容易离开目标区域而找不到最优解或者陷入局部最优。比如,当最优解位于一个狭长的波谷中,步长过长时算法可能会跳过这个波谷进行搜索,从而丢失寻找到最优解的机会。

3.种群细菌之间传递信号的影响值中的4个参数

引力深度dattractant、引力宽度wattractant、斥力高度hrepellant和斥力宽度wrepellant代表了细菌间的相互影响的程度。引力的两个参数dattractant和wattractant的大小决定算法的群聚性。如果这两个值较大,则细菌个体会过多强调周围细菌个体对自己的影响,这样可能导致它们不按照自己的信息去搜寻食物丰富的区域,而是向群体中心靠拢产生“抱团”现象,影响单个细菌的正常寻优。在这种情况下,算法虽有能力达到新的搜索空间,但是碰到复杂问题时更容易陷入局部极值点。反之,如果这两个值太小,细菌个体将完全按照自己的信息搜索,而不会借鉴群体智慧。细菌群体的社会性降低,个体间的交互太少,使得一个规模为S的群体近似等价于S个单个细菌的寻优,导致找到最优解的概率减小。斥力的两个参数hrepellant和wrepellant与引力的两个参数作用相反。(www.xing528.com)

4.趋向性操作中的两个参数Nc和Ns

若趋向性操作的执行次数Nc的值过大,尽管可以使算法的搜索更细致、寻优能力增强,但是算法的计算量和复杂度也会随之增加;反之,若Nc的值过小,则算法的寻优能力减弱,更容易早熟收敛并陷入局部最小值,而算法的性能好坏就会更多地依赖于运气和复制操作。另一个参数Ns是每次在任意搜索方向上前进的最大步长数(Ns=0时不会有趋向性行为),Ns取决于Nc,取值时Nc>Ns

5.复制操作执行的次数Nre

Nre决定了算法能否避开食物缺乏或者有毒的区域而去食物丰富的区域搜索,这是因为只有在食物丰富的区域里的细菌才具有进行繁殖的能力。在Nc足够大时,Nre越大算法越易收敛于全局最优值。但是Nre太大,同样也会增加算法的计算量和复杂度;反之,如果Nre太小,算法会易早熟收敛。

6.迁徙操作中的两个参数Ned和ped

若迁徙操作执行的次数Ned的值太小,则算法没有发挥迁徙操作的随机搜索作用,算法易陷入局部最优;反之,若Ned的值越大,算法能搜索的区域越大,解的多样性增加,能够避免算法陷入早熟,当然算法的计算量和复杂度也会随之增加。迁徙概率ped选取适当的值能帮助算法跳出局部最优而得到全局最优,但是ped的值不能太大,否则BFO算法会陷于随机“疲劳”搜索。

上述参数与问题的类型有着直接的关系,问题的目标函数越复杂,参数选择就越困难。通过大量的仿真试验,文献[139]中得到BFO算法参数的取值范围为:Ns=3~8,ped=0.05~0.3,Ned=(0.15~0.25)Nre,dattractant=0.01~0.1,wattractant=0.01~0.2,hrepellant=dattractant,wrepellant=2~10。此外,趋向性操作的执行次数Nc、复制操作执行的次数Nre通常作为算法的终止条件,需要根据具体问题并兼顾算法的优化质量和搜索效率等多方面的性能来确定。实际上从理论上讲,不存在一组适用于所有问题的最佳参数值,文献[3]中也仅仅给出了参数的粗略取值范围,而且随着问题特征的变化,有效参数值的差异往往非常显著。因此,如何设定BFO算法的控制参数以使BFO算法的性能得到改善,还需要结合实际问题深入研究,且有赖于BFO算法理论研究的发展。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈