欢迎访问陕西师范大学学报(自然科学版)官方网站!
仿生算法与应用专题

适应性引导的花朵授粉算法

  • 郭肇禄 , 1, 2, * ,
  • 石涛 1 ,
  • 杨火根 1 ,
  • 张文生 2
展开
  • 1 江西理工大学 理学院,江西 赣州 341000
  • 2 中国科学院 自动化研究所,北京 100190
* 郭肇禄,男,副教授,硕士生导师,主要研究方向为智能计算、机器学习。E-mail:

Copy editor: 宋轶文

收稿日期: 2023-03-17

  网络出版日期: 2025-02-27

基金资助

国家自然科学基金(12161043)

国家自然科学基金(61662029)

江西省自然科学基金(20192BAB201007)

江西省教育厅科技项目(GJJ160623)

江西省教育厅科技项目(GJJ170495)

江西理工大学青年英才支持计划项目(2018)

Adaptive guidance flower pollination algorithm

  • GUO Zhaolu , 1, 2, * ,
  • SHI Tao 1 ,
  • YANG Huogen 1 ,
  • ZHANG Wensheng 2
Expand
  • 1 School of Science, Jiangxi University of Science and Technology, Ganzhou 341000, Jiangxi, China
  • 2 Institute of Automation, Chinese Academy of Science, Beijing 100190, China

Received date: 2023-03-17

  Online published: 2025-02-27

摘要

针对传统花朵授粉算法在求解一些复杂优化问题时存在着开采能力不足的缺点,提出了一种适应性引导的花朵授粉算法(AGFPA)。所提算法设计了环优策略和向优策略相结合的适应性引导机制,适应性地控制最优个体对种群演化的引导作用,既增强算法的开采能力,又尽可能维持种群的多样性。适应性引导机制中的环优策略在最优个体的周围执行导向开采,使得种群集中搜索最优个体的邻域;而向优策略利用最优个体的引导进行定向搜索,使得搜索有向地覆盖较广的未知区域。此外,设计了适应性参数控制策略,根据不同演化阶段的需求,调整全局授粉转换概率和最优引导的步长因子,从而维持开采能力和勘探能力的平衡。为检验所提算法的性能,在群智能研究领域中常用的18个基准测试函数上进行了策略有效性分析,并将AGFPA分别与几种改进的FPA和PSO算法进行比较;同时,应用AGFPA估计发酵动力学参数。实验结果表明,在求解大多数单峰、多峰和复杂函数时,AGFPA均具有较为优秀的寻优能力;在发酵动力学参数估计应用中,AGFPA也具有一定的优势。

本文引用格式

郭肇禄 , 石涛 , 杨火根 , 张文生 . 适应性引导的花朵授粉算法[J]. 陕西师范大学学报(自然科学版), 2025 , 53(1) : 114 -130 . DOI: 10.15983/j.cnki.jsnu.2025011

Abstract

The traditional flower pollination algorithms tend to exhibit poor exploitation when facing some complex optimization problems. Aiming at this weakness of the traditional flower pollination algorithms, an adaptive guidance flower pollination algorithm (AGFPA) is proposed. In the proposed AGFPA, an adaptive guidance mechanism (AGM) is introduced, which combines the global best individual surrounding strategy and the global best approaching strategy.The introduced AGM adaptively utilizes the global best individual to guide the population evolution, enhancing the exploitation capabilities while preserving the population diversity as much as possible. Specifically, the global best individual surrounding strategy focuses on exploiting the neighborhoods around the global best individual. Meanwhile, the global best approaching strategy utilizes the global best individual to guide the search directions, enabling the algorithm to explore a wide unknown area. In addition, an adaptive parameter control strategy is presented in the proposed AGFPA. The two key parameters, global pollination transform probability and step size factor, are adjusted according to the needs of different evolution stages, maintaining a good balance between exploitation and exploration. To test the performance of AGFPA, 18 benchmark functions are utilized in the experiments, which are commonly used in the field of swarm intelligence. The effectiveness of the strategies is discussed. Moreover, AGFPA is compared with several existing flower pollination algorithms and particle swarm optimization algorithms. Additionally, AGFPA is also used to estimate the fermentation kinetic parameters in the biochemical engineering. The experimental results show that AGFPA can exhibit promising performance on the most unimodal, multimodal and complex functions. Moreover, AGFPA can yield excellent results in the biochemical engineering applications.

许多实际工程问题都可以归结为优化问题,而群智能优化算法在求解许多实际优化问题中取得了较好的效果。发酵动力学参数估计作为一个传统工程优化问题,受到相关研究人员的持续关注。发酵动力学是生物化学反应工程的重要内容之一,主要研究微生物代谢活动的变化规律[1]。发酵动力学模型根据发酵反应的原理逐步建立,它对研究工艺条件、控制发酵过程和优化发酵产物具有重大工程实用价值。传统优化方法[2]在求解发酵动力学模型参数时难以获得令人满意的结果。为了提升模型的精度,相关研究人员引入群智能优化算法如差分进化算法[1]、遗传算法[3]等求解发酵动力学模型参数,并取得了一定的成果。然而,群智能优化算法对发酵动力学模型的优化效果存在较大的上升空间。花朵授粉算法(flower pollination algorithm, FPA)是英国学者Yang[4]在2012年提出的一种新式群智能优化算法,它在求解发酵动力学模型参数方面具有一定的潜力。花朵授粉算法是受到自然界中生物演化规律的启发而产生的,它的参数少,结构简单,容易实现,在解决许多优化问题时获得了较满意的结果[5]。目前,花朵授粉算法已被广泛应用于诸多工程领域[6-8]
虽然花朵授粉算法在实际工程应用中取得了一定的成果,但在求解一些复杂的工程优化问题时容易出现开采能力不足的问题。为了提升花朵授粉算法在工程应用中的寻优性能,国内外众多研究人员针对花朵授粉算法的不足开展了一定的研究。目前,提出了许多改进花朵授粉算法,改进思路主要有以下两点:1)改进花朵授粉算法的搜索策略以提升寻优能力;2)引入其他优化思想来增强求解性能。
许多研究人员改进了花朵授粉算法的搜索策略以提升寻优能力。如Zhou等[9]设计了基于精英解的反向学习策略和局部自适应贪心策略,扩展了个体在解空间中的搜索区域,提升了算法的勘探能力。卞京红等[10]设计了参数自适应调整策略,提出了自适应花朵授粉算法,维持了算法开采能力和勘探能力的平衡,并成功利用提出的算法优化BP神经网络。Dhabal等[11]提出了最优驱动的花朵授粉算法,该算法设计了最优驱动策略,并按一定的概率执行最优驱动策略。实验结果表明最优驱动策略有效提升了算法的收敛速度。Yang等[12]将相邻两代最优解的演化信息融入花朵授粉算法的局部授粉阶段,为种群的搜索方向提供了有益指导,使得算法能更快收敛到全局最优解。Das等[13]将精英个体的信息融合到搜索策略中,从而提高花朵授粉算法的开采能力,实验结果表明精英个体的信息有助于提高搜索策略的开采能力,为了加快花朵授粉算法的收敛速度,Song等[14]利用高斯随机搜索策略对当前最优个体进行局部寻优,实验结果表明高斯随机搜索策略有效地提升了花朵授粉算法的收敛速度。章斌等[15]利用均匀变异策略来提升花朵授粉算法的种群多样性,从而减少陷入局部最优的概率。
此外,许多研究人员在花朵授粉算法中引入其他的优化思想来增强求解性能。如Nabil[16]将克隆选择算法的思想引入花朵授粉算法中,增强了种群的多样性,提升了算法的求解性能。肖辉辉等[17]受引力搜索算法的启发,将引力搜索机制引入花朵授粉算法中,提升了算法的寻优性能。Mahata等[18]引入粒子群优化思想,提出一种混合花朵授粉算法,并成功应用于数字积分器和微分器的优化。Abdel-Basset等[19]受到差分进化思想的启发,引入变异、交叉和选择操作以维持一定的种群多样性,使得算法不易陷入局部最优。实验结果表明,所提算法显著优于传统花朵授粉算法。Ozsoydan等[20]将具有不同特征的混沌映射引入花朵授粉算法的各个阶段,增强了算法的全局搜索能力,提升了算法的收敛速度。Li等[21]将递归优化的思想融合到花朵授粉算法中,从而实现肿瘤特征基因的优化选择。Hao等[22]将强化学习的思想与花朵授粉算法进行融合,实现了机器人运动的有效规划。Song等[23]将差分进化算法的思想融入花朵授粉算法中,在搜索过程中利用差分进化算法所获得的有益信息来提升花朵授粉算法的优化性能。
目前,研究者们提出了许多改进的花朵授粉算法,在一定程度上能够提升算法的性能。然而,在求解一些复杂优化问题时,花朵授粉算法容易出现开采能力不足的问题。针对该问题,本文提出一种适应性引导的花朵授粉算法(adaptive guidance flower pollination algorithm,AGFPA),设计环优策略和向优策略相结合的适应性引导机制,用于提升算法的开采能力。在适应性引导机制中,环优策略能使种群集中搜索最优个体的邻域;向优策略能使种群朝着优越的方向进行搜索;环优策略和向优策略在演化过程中适应性地执行,充分发挥最优个体的引导作用,在增强算法开采能力的同时尽可能保持种群的多样性。此外,设计适应性参数控制策略,利用种群演化过程中的反馈信息对算法的控制参数进行适应性调整,充分发挥算法的潜力,增强算法的优化性能。数值实验结果表明, AGFPA与多种改进FPA和PSO算法相比,具有较强的开采能力,寻优性能较为优秀。在发酵动力学参数估计问题上的实验结果表明,AGFPA优化的发酵动力学模型具有较高的精度。

1 花朵授粉算法

与其他群智能优化算法类似,花朵授粉算法也是一种基于种群的随机寻优算法。假设待优化问题的维度为D,种群的规模为np, X i G=(xi,1,xi,2,…,xi,D)表示种群中的第i个个体,即第i个可行解,其中i∈{1,2,…,np},G表示迭代计数器。在搜索过程中,花朵授粉算法首先在搜索空间中随机初始化np个个体,组成种群XP=( X 1 G, X 2 G,…, X n p G)。初始化后,算法迭代开始,根据转换全局授粉转换概率P交替执行全局寻优阶段和局部寻优阶段[4]
在全局寻优阶段,个体在搜索空间中进行远距离搜索,产生新一代子个体如公式(1)所示[4]:
$ U_{i}^{G+1}=X_{i}^{G}+L(\lambda)\left(X_{i}^{G}-X_{\text {best }}^{G}\right) 。$
式中: X i G表示种群中的第i个个体; U i G + 1表示种群中的第i个个体的子个体; X b e s t G表示种群中的最优个体;L(λ)表示Levy随机步长因子,服从Levy分布。花朵授粉算法利用Levy分布的特性,获取较大的Levy步长因子,使得子个体在解空间中能够跨越较远的距离,从而实现远距离搜索。
在局部寻优阶段,个体在可行解的邻域中进行近距离搜索,产生新一代子个体如公式(2)所示[4]:
$ U_{i}^{G+1}=X_{i}^{G}+\varepsilon\left(X_{j}^{G}-X_{k}^{G}\right) 。$
式中:ε∈[0,1]是一个随机实数; X j G X k G表示从种群中选择出2个随机个体,且jk。应用花朵授粉算法求解最小化优化问题时,FPA的伪代码如算法1所示。其中,全局寻优阶段和局部寻优阶段的转换由全局授粉转换概率P控制,f(·)是适应值函数。
算法1 FPA伪代码
输入:种群大小np,全局授粉转换概率P

输出:种群最优个体

1)设置当前代数G=0;

2)随机初始化np个个体组成初始种群{ X 1 G, X 2 G,…, X i G,…, X n p G};

3)计算种群中每个个体的适应值;

4)根据适应值,找出种群中最优个体,记为 X b e s t G;

5)while不满足终止条件then

6) for i=1 to np then

7) if rand<P then

8) 根据公式(1)产生一个子个体 U i G;

9) else

10) 根据公式(2)产生一个子个体 U i G;

11) end if

12) 计算子个体 U i G的适应值;

13) if f( U i G)≤f( X i G) then

14) 用子个体 U i G替换个体 X i G;

15) end if

16) end for

17) 更新最优个体 X b e s t G;

18) G=G+1;

19) end while

20) 输出最优个体 X b e s t G

2 本文提出的AGFPA算法

2.1 研究动机

传统花朵授粉算法在局部寻优阶段只利用随机个体引导种群搜索,使得搜索方向的盲目性较大,从而导致算法的开采能力不足[11-12]。为了提升花朵授粉算法的开采能力,一些研究人员利用最优个体引导种群的演化。Dhabal等[11]针对传统花朵授粉算法的不足,将最优个体引入局部寻优阶段,使得算法能够分配更多的资源用于开采最优个体的邻域,有助于提升算法的开采能力。然而,在面对一些多峰复杂优化问题时,容易出现最优个体引导过度的问题,使种群过早集中到最优个体周围,导致算法易陷入局部最优,优化效果有待提升。为了提升花朵授粉算法的性能,Yang等[12]提出了基于最优个体的双向学习策略,利用相邻两代的最优个体为种群提供双重搜索方向,使得种群既能朝着优越的方向进行搜索,又不会过度集中,减少算法陷入局部最优的可能性。然而,相邻两代最优个体之间的相似性较大,所提供的双重搜索方向对缓解算法陷入局部最优的作用有限。基于现有研究,本文提出适应性引导机制,该机制从两个不同的角度利用最优个体适应性地引导种群搜索,充分发挥最优个体的引导作用,进一步提升算法的开采能力,并降低算法陷入局部最优的可能性。此外,设计适应性参数控制策略,利用演化阶段的反馈信息,对所提出算法的重要控制参数进行适应性调整,实现开采能力和勘探能力的平衡。

2.2 适应性引导机制

最优个体蕴含了丰富的搜索经验,是当代种群中的核心个体。因此,使用最优个体来引导种群演化的方向,可以使得种群中的个体继承一部分最优个体的有益信息,从而较大幅度地提升可行解的质量,使得算法更快地收敛到最优解。然而,当最优个体对种群的引导过度时,将加快种群同一化的趋势,降低种群的多样性,导致算法难以充分地探索解空间中的未知区域。此外,当最优个体是解空间中的局部极值时,此时的引导可能导致算法陷入局部最优。因此,本文设计适应性引导机制,用于控制最优个体在种群中的引导作用,增强算法寻优性能。
适应性引导机制从2个不同的角度发挥最优个体的引导优势,以此来增强算法的开采能力并维持一定的种群多样性。具体地,为了提升算法的开采能力,需要最优个体提供较强的引导作用,能够驱动种群集中到最优个体的邻域内,在最优个体的附近区域展开精细化搜索;同时,为了使得算法不易陷入局部最优,并维持算法的开采能力,需要削弱最优个体的引导作用。此时的引导要能够为种群提供明确的搜索方向,保证种群朝着优越的方向进行搜索。为了控制最优个体的引导作用,提出两个新的搜索策略,其一为环优策略,如公式(3)所示:
$U_{i}^{G+1}=X_{\text {best }}^{G}+\varepsilon\left(X_{r 1}^{G}-X_{r 2}^{G}\right)+\eta_{i}\left(X_{\text {best }}^{G}-X_{i}^{G}\right) 。$
式中:G表示迭代计数器;ε∈[0,1]是一个随机实数; X i G是种群中的第i个个体; U i G + 1是种群中第i个个体的子个体; X r 1 G X r 2 G是从种群中随机选取的两个个体;ηi∈[0,1]是最优个体引导第i个个体的步长因子。
从环优策略中可以看出,种群中的个体集中在最优个体的周围,直接在最优个体的邻域内进行搜索,这对最优个体有较强的依赖性。当最优个体处在一个较好的区域时,种群跟随最优个体的引导,迅速朝着正确的方向展开搜索,有助于较快地趋近问题最优解。然而,当最优个体是局部极值时,种群也会直接集中在最优个体周围,这易使算法受局部极值吸引并难于逃离,导致搜索停滞,出现早熟现象。由此可见,在求解单峰问题时,环优策略能够提升算法的收敛速度,具有较强的开采能力。然而,在求解多峰复杂问题时,环优策略也增大了算法陷入局部最优的可能性。针对环优策略的缺点,提出向优策略如公式(4)所示:
$U_{i}^{G+1}=X_{i}^{G}+\varepsilon\left(X_{r 1}^{G}-X_{r 2}^{G}\right)+\eta_{i}\left(X_{\text {best }}^{G}-X_{i}^{G}\right) 。$
从向优策略中可以看出,种群中的个体将朝着优越的方向进行搜索,使得搜索过程能够覆盖到个体经过的区域,这能够维持算法的开采能力。与环优策略相比,向优策略降低了种群对最优个体的依赖性,它为种群提供一个优越的搜索方向。向优策略能够使得种群更密集地搜索未知区域,保持一定的多样性,从而减少算法陷入局部最优的可能性。
由于最优个体发挥引导作用的强弱不同,因此环优策略和向优策略分别具有各自的优势。环优策略具有较强的开采能力,而向优策略能够维持一定的种群多样性,减少陷入局部最优的概率。为了充分发挥最优个体的引导作用,将环优策略和向优策略相结合,提出适应性引导机制如公式(5)所示:
$U_{i}^{G+1}=\left\{\begin{array}{c}X_{i}^{G}+\varepsilon\left(X_{r 1}^{G}-X_{r 2}^{G}\right)+ \\\eta_{i}\left(X_{\text {best }}^{G}-X_{i}^{G}\right), \text { 当 } r_{p}<P_{\text {sI }} \text { 时, } \\X_{\text {best }}^{G}+\varepsilon\left(X_{r 1}^{G}-X_{r 2}^{G}\right)+ \\\eta_{i}\left(X_{\text {best }}^{G}-X_{i}^{G}\right), \text { 其他。 }\end{array}\right.$
式中:rp表示[0,1]范围内的随机实数;PSI是策略控制概率。
从适应性引导机制中可知,第一部分采用向优策略,在维持开采能力的同时降低陷入局部最优的可能性;第二部分采用环优策略,提升算法的开采能力,实现对已知最优区域的深度搜索。利用策略控制概率PSI将两部分进行有效结合,使得两部分优势互补,交替执行,能够增强算法开采能力并维持一定的种群多样性。通过实验得到PSI=0.9时能充分结合环优策略和向优策略的各自优势,使得适应性引导机制发挥出最佳的性能。

2.3 适应性参数控制策略

全局授粉转换概率是花朵授粉算法的重要控制参数之一,它会在很大程度上影响花朵授粉算法的优化性能。然而,如何为全局授粉转换概率设置合适的参数值是花朵授粉算法研究中的难点。Yang[4]于2012年提出当全局授粉转换概率设置0.8时,能够满足一些应用的需求。Draa[24]对全局授粉转换概率的取值进行了系统的研究,认为全局授粉转换概率设置为0.2比其他取值的效果更好。随着研究的深入,研究者们提出了一些动态调整全局授粉转换概率的方法来提升算法的性能。例如,Zhou等[9]认为算法在搜索前期应进行更多的全局搜索,而在搜索后期应进行更多的局部寻优,建议设置全局授粉转换概率在0.5~0.6之间动态调整。Yang等[12]提出动态转换概率策略,使得全局授粉转换概率由0.8递减至0.2,控制算法在搜索前期偏向于全局寻优而在后期偏向于局部寻优。从现有的研究中可知,在搜索前期需要为全局授粉转换概率设置较大的值,从而搜索更多的未知空间,保证算法的全局搜索能力;在搜索后期则需要为全局授粉转换概率设置较小的值,从而执行更多的局部寻优,加快算法的收敛速度。此外,每个个体所处的空间位置各不相同,它们蕴含的演化信息各不相同,所以每个个体都需要拥有属于自己的全局授粉转换概率。基于以上考虑,令Pi表示种群中第i个个体的全局授粉转换概率,提出Pi的适应性控制策略如公式(6)所示:
$P_{i}=\left\{\begin{array}{l}0.3+0.6 r_{n}, \\\text { 当 } G<0.6 \max G \text { 时, } \\0.1+0.2 r_{n}, \text { 其他。 }\end{array}\right.$
式中:rn是[0,1]之间的随机实数;G表示当前迭代数;max G表示最大迭代数。
Pi的控制策略中可知,算法在搜索前期(当前迭代数G<0.6max G)从范围[0.3,0.9]内随机获取一个相对较大的Pi,以更大的概率执行全局寻优阶段,保证算法在前期具有较强的勘探能力;而在搜索后期(当前迭代数G≥0.6max G)从范围[0.1,0.3]内随机获取一个相对较小的Pi,以更大的概率执行局部寻优阶段,利用适应性引导机制,提升算法在后期的开采能力。
此外,步长因子ηi是花朵授粉算法的另一个重要参数,它控制着最优个体对种群中个体的引导作用。当ηi较大时,表示当前个体朝着最优个体的搜索步长较大,有助于迅速靠近最优个体,从而增强算法的局部搜索能力。当ηi较小时,表示当前个体朝着最优个体的搜索步长小,能够使个体继承更多的自身信息和随机个体的信息,从而保证算法的全局搜索能力,有助于算法探索到更多的未知区域。因此,ηi在搜索前期应设为较小值,从而保证算法在前期的勘探能力;ηi在搜索后期应设为较大值,从而增强算法在后期的开采能力,加快算法收敛。基于以上考虑,提出ηi的适应性控制策略如公式(7)所示:
$\eta_{i}=\left\{\begin{array}{l}0.1+0.2 r_{n}, \\\text { 当 } G<0.6 \max G \text { 时, } \\0.3+0.7 r_{n}, \text { 其他。 }\end{array}\right.$
ηi的控制策略中可知,ηi在搜索前期从范围[0.1,0.3]内获得相对较小的随机值,维持种群的多样性,保证算法在前期的勘探能力;而在搜索后期ηi从[0.3,1]获得相对较大的随机值,使得种群中个体快速靠近最优个体,从而增强算法在后期的开采能力。所设置的ηi的范围是通过大量实验而确定的,本文实验结果也验证了ηi的范围的合理性。

2.4 算法描述

应用AGFPA求解D维最小化优化问题时,算法的伪代码如算法2所示。AGFPA与FPA的主要差别表现在:步骤7)对全局授粉转换概率Pi进行适应性调整;步骤11)对步长因子ηi进行适应性调整;步骤13)执行公式(3)生成子个体;步骤15)执行公式(4)生成子个体。
算法2 AGFPA伪代码
输入:种群大小np

输出:种群最优个体

1)设置当前代数G=0;

2)随机初始化np个个体组成初始种群{ X 1 G, X 2 G,…, X i G,…, X n p G};

3)计算种群中每个个体的适应值;

4)根据适应值,找出种群中最优个体,记为 X b e s t G;

5)while不满足终止条件then

6) for i=1 to np then

7) 根据公式(6)产生Pi;

8) if rand<Pi then

9) 根据公式(1)生成一个子个体 U i G;

10) else

11) 根据公式(7)产生ηi;

12) if rp<PSI then

13) 根据公式(3)生成一个子个体 U i G;

14) else

15) 根据公式(4)生成一个子个体 U i G;

16) end if

17) end if

18)计算子个体 U i G的适应值;

19)if f( U i G)≤f( X i G) then

20) 用子个体 U i G替换个体 X i G;

21)end if

22)end for

23)更新最优个体 X b e s t G;

24)G=G+1;

25)end while

26)输出最优个体 X b e s t G

2.5 复杂度分析

相比于传统FPA,AGFPA设计了环优策略和向优策略,并结合二者提出了适应性引导机制,以提升算法的开采能力;同时,设计了适应性参数控制策略来维持开采能力和勘探能力的平衡。传统FPA在每一代的时间复杂度[4]O(np·D)。不同于传统FPA,AGFPA在每一代的计算步骤多了以下两部分:在算法2中,第7)行对全局授粉转换概率Pi进行更新,时间复杂度为O(np);第11)行对最优引导的步长因子ηi进行更新,时间复杂度为O(np)。可知,AGFPA在每一代的总时间复杂度为O(np·D+np·2),即AGFPA在每一代的时间复杂度为O(np·D)。因此,AGFPA每一代的时间复杂度与传统FPA每一代的时间复杂度相当。

3 数值实验及分析

3.1 实验设计与测试函数

为了评估AGFPA的性能,在群智能研究领域内常用的18个基准测试函数[25-26]上进行数值实验,将AGFPA与多种智能优化算法进行比较。所使用的18个基准测试函数中包含单峰函数、多峰函数和旋转偏移函数,这些函数的函数名、函数维度D、搜索范围和理论最优解如表1所示。在所有实验中,设置AGFPA的种群规模为40,所有比较算法的参数设置均与原文献保持一致;在基本函数f1~f13上,算法的最大适应值评价次数设置为2 000D,在复杂函数f14~f18上,算法的最大适应值评价次数设置为10 000D。为了比较的公平性,各算法在18个测试函数上分别独立运行30次,记录下误差均值、误差标准差和最小误差,采用显著性水平α=0.05的Wilcoxon秩检验来分析AGFPA与比较算法之间的性能差异。
表1 基准测试函数

Tab.1 Benchmark function

函数 函数名 维度 搜索范围 理论最优解
f1 Sphere 30或50 [-100,100]D 0
f2 Schwefel's problem 2.22 30或50 [-10,10]D 0
f3 Schwefel's problem 1.2 30或50 [-100,100]D 0
f4 Schwefel's problem 2.21 30或50 [-100,100]D 0
f5 Rosenbrock's function 30或50 [-30,30]D 0
f6 Step's function 30或50 [-100,100]D 0
f7 Quartic with noise's function 30或50 [-1.28,1.28]D 0
f8 Schwefel's problem 2.26 30或50 [-500,500]D -12 569.5
f9 Rastrign's function 30或50 [-5.12,5.12]D 0
f10 Ackley's function 30或50 [-32,32]D 0
f11 Griewank's function 30或50 [-600,600]D 0
f12 Penalized function 1 30或50 [-50,50]D 0
f13 Penalized function 2 30或50 [-50,50]D 0
f14 Shifted sphere function 30或50 [-100,100]D -450
f15 Shifted schwefel's problem 1.2 30或50 [-100,100]D -450
f16 Shifted rosenbrock's function 30或50 [-100,100]D 390
f17 Shifted rotated ackley's function 30或50 [-32,32]D -140
f18 Shifted rotated rastrigin's function 30或50 [-5,5]D -330

3.2 策略有效性分析

与传统FPA相比,AGFPA的2个改进之处在于适应性引导机制和适应性参数控制策略。适应性引导机制旨在利用最优个体指导种群演化方向,提升算法的开采能力,同时尽可能保持种群的多样性;适应性参数控制策略旨在利用演化阶段的反馈信息,实现开采能力和勘探能力的平衡。为了检验策略有效性,针对AGFPA中的2个改进之处设计了3个AGFPA变体,分别称为AGFPA-1、AGFPA-2和AGFPA-3。具体地,AGFPA-1是在传统FPA的基础上执行适应性引导机制而得到的变体;AGFPA-2是在传统FPA的基础上执行向优策略(公式(4))和适应性参数控制策略而得到的变体;AGFPA-3是在传统FPA的基础执行环优策略(公式(3))和适应性参数控制策略而得到的变体。通过AGFPA与AGFPA-1的对比实验,能够体现出适应性参数控制策略的有效性;通过AGFPA与AGFPA-2、AGFPA-3的对比实验,能够体现出适应性引导机制的有效性。
在实验中,所有测试函数的维度均为30;设置AGFPA-1的全局授粉转换概率为0.8[4],最优引导的步长因子为0.25;设置AGFPA、AGFPA-1、AGFPA-2和AGFPA-3的种群规模均为40。表2给出了AGFPA与FPA、AGFPA-1、AGFPA-2、AGFPA-3的比较结果。表3给出了AGFPA与FPA、AGFPA-1、AGFPA-2、AGFPA-3的最小误差。表4给出了AGFPA分别与FPA、AGFPA-1、AGFPA-2、AGFPA-3之间进行Wilcoxon检验得出的P值。当P值小于显著性水平α=0.05时,AGFPA与比较算法之间存在显著性差异。
表2 AGFPA与FPA、AGFPA-1和AGFPA-2比较结果

Tab.2 Comparison results of AGFPA with FPA, AGFPA-1, AGFPA-2 and AGFPA-3

函数 FPA[4] AGFPA-1 AGFPA-2 AGFPA-3
f1 + + + +
f2 + + + +
f3 + + + +
f4 + +
f5 + + +
f6 +
f7 + + +
f8 - - + -
f9 -
f10 + + + +
f11 + + + +
f12 + + + +
f13 + + + +
f14 + +
f15 + + + +
f16 + + + +
f17
f18 +
统计 15(+);2(-);1(≈) 11(+);1(-);6(≈) 11(+);0(-);7(≈) 12(+);1(-);5(≈)

注:“+”表示AGFPA显著优于对比算法;“-”表示对比算法显著优于AGFPA;“≈”表示AGFPA与对比算法无显著性差异,“统计”给出了AGFPA优于、差于和相当于对比算法的函数个数。

表3 AGFPA、FPA、AGFPA-1、AGFPA-2和AGFPA-3的最小误差

Tab.3 Minimum error of AGFPA, FPA,AGFPA-1, AGFPA-2 and AGFPA-3

函数 FPA[4](最小误差) AGFPA-1(最小误差) AGFPA-2(最小误差) AGFPA-3(最小误差) AGFPA(最小误差)
f1 6.84×10-3 9.44×10-15 5.64×10-30 9.96×10-19 4.01×10-37
f2 6.75×10-2 5.29×10-8 1.28×10-12 1.16×10-11 7.23×10-18
f3 6.49×102 2.89×10 4.93×10-2 3.40×10-2 5.13×10-4
f4 3.53 1.12×10-1 1.48×10-1 5.75 8.85×10-2
f5 2.57×10 2.06×10 1.95×10 3.68×10-1 7.19
f6 0.00 0.00 0.00 0.00 0.00
f7 1.54×10-2 6.25×10-3 2.82×10-3 1.83×10-2 2.89×10-3
f8 3.27×103 4.70×103 5.55×103 4.05×103 4.19×103
f9 5.43×10 7.53×10 8.77×10 4.46×10 7.27×10
f10 1.90 5.90×10-8 7.11×10-15 1.50 3.55×10-15
f11 4.03×10-2 3.44×10-13 0.00 0.00 0.00
f12 4.02×10-1 9.16×10-14 1.04×10-26 1.68×10-15 1.57×10-32
f13 1.66×10-1 7.19×10-14 5.82×10-28 8.28×10-15 1.35×10-32
f14 2.77×10-26 0.00 0.00 3.03×10-28 0.00
f15 4.42×10-1 2.76×10-9 3.08×10-21 9.95×10-23 1.12×10-27
f16 1.69×10-1 3.95×10-5 1.34×10-5 9.08×10-9 4.24×10-15
f17 2.09×10 2.08×10 2.09×10 2.08×10 2.07×10
f18 1.51×102 8.09×10 1.02×102 4.93×10 1.00×102

注:各个函数上最优的最小误差以粗体标出。

表4 AGFPA与FPA、AGFPA-1、AGFPA-2进行Wilcoxon检验得出的P

Tab.4 P value of Wilcoxon Rank Sum test between AGFPA and FPA, AGFPA-1, AGFPA-2, AGFPA-3

FPA[4] AGFPA-1 AGFPA-2 AGFPA-3
1.42×10-38 1.17×10-10 2.18×10-4 7.58×10-13

注:显著性水平低于0.05的P值以粗体显示。

表2可以看出,由于引入了适应性引导机制和适应性参数控制策略,AGFPA获得了较优的性能。与传统FPA相比,AGFPA的结果在15个函数上优于FPA,在1个函数上与FPA相当,在2个函数上劣于FPA。在优于FPA的15个函数中,包含了单峰、多峰和复杂函数,这表明引入适应性引导机制和适应性参数控制策略后,AGFPA在大多数测试函数上都具有较优的求解性能。与AGFPA-1相比,AGFPA的结果在11个函数上优于AGFPA-1,在6个函数上与AGFPA-1相当,在1个函数上劣于AGFPA-1,这是因为适应性参数控制策略能够有效平衡算法演化过程中的开采能力和勘探能力,提升AGFPA的性能。与AGFPA-2相比,AGFPA优于、劣于、相当于AGFPA-2的函数个数分别为11、0、7,AGFPA在单峰函数f1f2f3上结果更优,表明了适应性引导机制有助于提升算法的开采能力,AGFPA在多峰函数f5f8f9f10f11f12f13和复杂函数f15f16上结果更优,表明了适应性引导机制在提升开采能力的同时能降低算法陷入局部极值的概率。AGFPA相比于AGFPA-3,在12个函数上的结果更优,在5个函数上的结果相当,在1个函数上结果较差。可以看出,AGFPA在单峰函数f1f2f3f4上的结果优于AGFPA-3,在多峰函数f10f12f13和复杂函数f14f15上的结果也取得了较大幅度的领先,这表明适应性引导机制不仅有助于提升算法的开采能力,并且有益于维持算法的稳定性。
表3可以看出,AGFPA在11个函数上的最小误差均优于FPA、AGFPA-1、AGFPA-2和AGFPA-3,在3个函数上的最小误差能够达到0;FPA在1个函数上最小误差最优;AGFPA-2在1个函数上最小误差最优;AGFPA-3在2个函数上最小误差最优;这表明AGFPA具有较高的寻优精度。表4结果表明,AGFPA显著优于FPA、AGFPA-1、AGFPA-2和AGFPA-3。综合以上分析,适应性引导机制能够充分利用最优个体的有益信息,有助于提升算法的开采能力;适应性参数控制策略能够根据演化阶段的反馈信息,维持算法开采能力和勘探能力的平衡。因此,适应性引导机制和适应性参数控制策略是有效的,将二者融入其中的AGFPA也具有较优的性能。

3.3 与改进FPA比较

为了进一步测试AGFPA的性能,将AGFPA与5种FPA算法进行比较,包括:FPA[4]、一种融合克隆思想的花朵授粉算法(a modified flower pollination algorithm for global optimization, MFPA)[16]、具有自适应策略的花朵授粉算法(self-adaptive flower pollination algorithm, SFPA)[10]、具有最优驱动的花朵授粉算法(an improved global-best-driven flower pollination algorithm, GFPA)[11]和多策略改进型花朵授粉算法(an improved flower pollination algorithm with three strategies, IFPA)[12]。MFPA是融入了克隆选择思想的改进花朵授粉算法;SFPA是引入自适应参数调整策略的改进花朵授粉算法;GFPA是利用最优驱动的改进花朵授粉算法;IFPA是利用最优个体为种群搜索方向提供双重引导的改进花朵授粉算法。将AGFPA和上述5种FPA算法在30维和50维测试函数上比较。
表5表6分别给出了AGFPA和5种现有FPA算法在30维测试函数上的比较结果。从表5中的结果可知,AGFPA在30维测试函数上的性能总体上优于其他5种算法。与MFPA相比,AGFPA在14个函数上结果更优,在2个函数上结果较差,在2个函数上与MFPA无显著性差异。MFPA的局部寻优阶段融入了克隆选择的优化思想,相比于传统FPA,提升了算法的局部搜索能力。然而,AGFPA在大部分单峰函数、多峰函数和复杂函数上都比MFPA显著更优,这表明AGFPA具有更优的局部搜索能力。在SFPA中,认为全局授粉转换概率对算法性能的影响较大,因此设计了自适应参数调整策略,在开采能力和勘探能力的平衡问题上取得了一定的效果。与SFPA相比,AGFPA在12个函数上更优,在2个函数上较差,在4个函数上与SFPA相当。AGFPA设计了参数适应性控制策略来维持算法开采能力和勘探能力的平衡,相比于SFPA,AGFPA在单峰、多峰、复杂函数上均取得了一定的优势,在单峰函数上的优势表明AGFPA的开采能力更强,在多峰复杂函数上的优势表明AGFPA具有更好的稳定性。与GFPA相比,AGFPA在9个函数上更优,在4个函数上较差,在5个函数上与GFPA相当。在GFPA中利用了基于最优个体的驱动策略,其开采能力较传统FPA有较大的提升。然而,AGFPA在单峰函数f1f3f7上显著优于GFPA,仅在单峰函数f4上略差于GPFA,这表明AGFPA的开采能力有了较大提升;特别地,AGFPA在大部分多峰复杂函数上均取得了一定的优势,这表明AGFPA的勘探能力和开采能力也得到了更好的平衡。IFPA中引入最优个体,设计了双向学习策略为算法提供双重搜索方向,提升了算法的局部搜索能力,并降低了算法陷入局部最优的概率。与IFPA相比,AGFPA优于、差于、相当于IFPA的函数个数分别为12、1、5,这表明AGFPA充分结合了向优策略和环优策略,适应性地利用最优个体,增强了开采能力的同时维持了全局搜索能力。从表6可以看出,AGFPA在8个函数上的最小误差要优于5种现有FPA,在3个函数上的最小误差达到了0,在其余7个函数上也取得了较优的结果。综合以上实验结果,AGFPA相比于5种FPA算法在30维测试函数上具有较高的求解精度,寻优性能显著。
表5 D=30时AGFPA与FPA、MFPA、SFPA、GFPA和IFPA比较结果

Tab.5 Comparison results of AGFPA with FPA,MFPA,SFPA,GFPA and IFPA when D=30

函数 FPA[4] MFPA[16] SFPA[10] GFPA[11] IFPA[12]
f1 + + + + +
f2 + + + +
f3 + + + + +
f4 + + + - -
f5 + + + - +
f6 + +
f7 + + + + +
f8 - - - -
f9 - - - +
f10 + + + + +
f11 + + - +
f12 + + + + +
f13 + + + + +
f14 + +
f15 + + + + +
f16 + + + + +
f17
f18 + + +
统计 15(+);2(-);1(≈) 14(+);2(-);2(≈) 12(+);2(-);4(≈) 9(+);4(-);5(≈) 12(+);1(-);5(≈)

注:“+”表示AGFPA显著优于对比算法;“-”表示对比算法显著优于AGFPA;“≈”表示AGFPA与对比算法无显著性差异,“统计”给出了AGFPA优于、差于和相当于对比算法的函数个数。

表6 D=30时AGFPA、FPA、MFPA、SFPA、GFPA和IFPA的最小误差

Tab.6 Minimum error of AGFPA, FPA, MFPA, SFPA, GFPA and IFPA when D=30

函数 FPA[4](最小误差) MFPA[16](最小误差) SFPA[10](最小误差) GFPA[11](最小误差) IFPA[12](最小误差) AGFPA(最小误差)
f1 6.84×10-3 8.43×10-9 3.63×10-18 1.96×10-31 2.34×10-24 4.01×10-37
f2 6.75×10-2 2.63×10-4 7.08×10-12 1.24×10-16 1.53×10-12 7.23×10-18
f3 6.49×102 6.73×10-1 4.04×10 1.59×10-2 2.38×10-1 5.13×10-4
f4 3.53 1.05×10 2.83×10-1 4.85×10-3 9.01×10-3 8.85×10-2
f5 2.57×10 2.84×10-1 1.19 1.60×10-3 2.36×10 7.19
f6 0.00 0.00 0.00 0.00 0.00 0.00
f7 1.54×10-2 4.88×10-2 8.67×10-3 4.84×10-3 2.72×10-3 2.89×10-3
f8 3.27×103 2.81×103 3.21×103 1.18×103 5.44×103 4.19×103
f9 5.43×10 2.69×10 8.10×10 3.18×10 9.85×10 7.27×10
f10 1.90 1.85×10-3 1.09×10-9 7.11×10-15 1.00×10-12 3.55×10-15
f11 4.03×10-2 1.03×10-9 0.00 0.00 0.00 0.00
f12 4.02×10-1 2.51×10-10 4.82×10-16 9.85×10-30 1.38×10-23 1.57×10-32
f13 1.66×10-1 2.62×10-9 6.73×10-16 4.08×10-31 8.89×10-24 1.35×10-32
f14 2.77×10-26 4.65×10-9 0.00 0.00 0.00 0.00
f15 4.42×10-1 1.97×10-6 1.63×10-4 1.25×10-23 6.04×10-20 1.12×10-27
f16 1.69×10-1 1.38×10-1 8.82×10-2 5.67×10-26 3.26 4.24×10-15
f17 2.09×10 2.05×10 2.08×10 2.00×10 2.08×10 2.07×10
f18 1.51×102 5.88×10 1.50×102 7.36×10 1.04×102 1.00×102

注:加粗表明最优。

表7表8分别给出了AGFPA与比较算法在50维测试函数上的比较结果。从表7中的结果可以看出,当函数维度从30增加到50时,AGFPA的整体性能不会受到较大影响。具体地,AGFPA在15个函数上结果优于FPA,在2个函数上结果差于FPA,在1个函数上结果与FPA相当。AGFPA优于、差于、相当于MFPA的函数个数分别为15、2、1。与SFPA相比,AGFPA在10个函数上结果更优,在4个函数上结果较差,在4个函数上结果相当。与GFPA相比,AGFPA在9个函数上结果更优,在6个函数上结果较差,在3个函数上结果相当。相比于IFPA,AGFPA在8个函数上结果更优,在4个函数上结果较差,在6个函数上结果相当。结合表8可以看出,AGFPA在求解多峰复杂函数时保持了一定的多样性,能够减少陷入局部最优的概率。总的来看,AGFPA相比于5种FPA算法在大多数测试函数上取得了更优的结果,维持了开采能力和勘探能力的平衡,具有更好的求解性能。
表7 D=50时AGFPA与FPA、MFPA、SFPA、GFPA和IFPA比较结果

Tab.7 Comparison results of AGFPA with FPA,MFPA,SFPA,GFPA and IFPA when D=50

函数 FPA[4] MFPA[16] SFPA[10] GFPA[11] IFPA[12]
f1 + + + - +
f2 + + - - -
f3 + + + + +
f4 + + +
f5 + + + - +
f6 + +
f7 + + + + -
f8 - - - -
f9 - - - -
f10 + + + + +
f11 + + - + -
f12 + + + + -
f13 + + + + +
f14 + + +
f15 + + + + +
f16 + + + - +
f17
f18 + + + +
统计 15(+);2(-);1(≈) 15(+);2(-);1(≈) 10(+);4(-);4(≈) 9(+);6(-);3(≈) 8(+);4(-);6(≈)

注:“+”表示AGFPA显著优于对比算法;“-”表示对比算法显著优于AGFPA;“≈”表示AGFPA与对比算法无显著性差异,“统计”给出了AGFPA优于、差于和相当于对比算法的函数个数。

表8 D=50时AGFPA、FPA、MFPA、SFPA、GFPA和IFPA的最小误差

Tab.8 Minimum error of AGFPA, FPA, MFPA, SFPA, GFPA and IFPA when D=50

函数 FPA[4](最小误差) MFPA[16](最小误差) SFPA[10](最小误差) GFPA[11](最小误差) IFPA[12](最小误差) AGFPA(最小误差)
f1 2.29×10-3 3.21×10-6 7.05×10-19 3.05×10-30 1.66×10-24 7.23×10-29
f2 4.41×10-2 1.06×10-2 1.16×10-12 1.46×10-15 8.96×10-14 8.64×10-15
f3 2.68×103 7.57×10 5.57×102 3.71 3.44×10 8.35×10-1
f4 9.20 2.02×10 1.06 8.41 9.62×10-1 1.20
f5 8.36×10 1.59×10 3.45×10 1.24 2.59×10 2.79×10
f6 0.00 0.00 0.00 0.00 0.00 0.00
f7 7.05×10-2 9.97×10-2 2.69×10-2 1.37×10-2 7.86×10-3 8.86×10-3
f8 5.99×103 5.08×103 8.50×103 5.17×103 9.32×103 1.07×104
f9 1.02×102 5.01×10 1.55×102 8.16×10 1.91×102 2.09×102
f10 2.49 1.65 3.92×10-10 2.13×10-14 5.12×10-13 1.21×10-13
f11 4.42×10-3 7.34×10-7 0.00 0.00 0.00 2.00×10-15
f12 6.92×10-1 5.52×10-8 3.17×10-16 5.21×10-24 1.04×10-24 3.41×10-28
f13 3.01 2.11×10-5 8.02×10-17 3.80×10-25 1.69×10-23 2.66×10-29
f14 1.01×10-27 7.31×10-7 0.00 0.00 0.00 0.00
f15 1.00×102 7.71×10-4 2.84 5.36×10-13 2.28×10-10 6.77×10-17
f16 8.11×10-3 1.98×10 4.64 2.47×10-25 1.22×10 1.40×10-8
f17 2.10×10 2.09×10 2.11×10 2.00×10 2.10×10 2.11×10
f18 4.05×102 2.05×102 2.84×102 1.53×102 2.27×102 2.03×102

注:加粗表明最优。

表9给出了AGFPA分别与5种改进FPA通过Wilcoxon检验得到的P值。当函数维度为30时,AGFPA性能要显著优于FPA、MFPA、SFPA、GFPA和IFPA;当函数维度为50时,AGFPA显著优于FPA、MFPA和SFPA,与GFPA、IFPA的性能相当。在GFPA和IFPA中均设计了基于最优个体的搜索策略,它们具有较为优秀的开采能力,这在一定程度上也表明AGFPA具有较强的开采能力。图1给出了维度为30时6种算法在函数f1f2f10f12f14f15上的收敛曲线。对于函数f1f2f10f12f14f15,AGFPA相比于其他5种改进FPA,具有较优的寻优精度;此外,AGFPA在演化前期保持了一定的收敛速度,随着迭代次数的增加,AGFPA的收敛速度表现出一定的优势。
表9 AGFPA与FPA、MFPA、SFPA、GFPA、IFPA进行Wilcoxon检验得出的P

Tab.9 P value of Wilcoxon Rank Sum test between AGFPA and FPA, MFPA, SFPA, GFPA, IFPA

D FPA[4] MFPA[16] SFPA[10] GFPA[11] IFPA[12]
30 1.42×10-38 1.49×10-25 1.10×10-10 3.85×10-4 6.58×10-4
50 5.84×10-30 7.71×10-31 5.05×10-5 1.64×10-1 5.66×10-2

注:显著性水平低于0.05的P值以粗体显示。

图1 D=30时AGFPA与改进FPA的收敛图

Fig.1 The convergence of AGFPA and improved FPA algorithms when D=30

综合以上结果,AGFPA提升了开采能力,维持了开采与勘探的相对平衡,具有较优的综合性能。

3.4 与PSO算法比较

粒子群优化 (particle swarm optimization, PSO)算法[27]是广泛应用于工程领域的群智能优化算法,它的优化性能得到了相关研究者们的普遍认同[28]。为了测试AGFPA相比于粒子群优化算法的性能优劣,将AGFPA与6种PSO算法在18个30维的测试函数上进行比较,包括PSO[27]、骨架粒子群(bare bones particle swarms, MBBPSO)算法[29]、基于历史最优信息的综合学习粒子群优化(comprehensive learning particle swarm optimization, CLPSO)算法[30]、具有自适应策略的粒子群优化(adaptive particle swarm optimization, APSO)算法[31]、具有杂交操作的粒子群优化(particle swarm optimizer with crossover operation, PSOCO)算法[32]和一种新型随机粒子群优化(a novel randomised particle swarm optimizer, RPSO)算法[33]表10表11给出了AGFPA与6种PSO算法的比较结果,表12给出了AGFPA与6种PSO算法的最小误差。表13给出了AGFPA分别与6种PSO算法进行Wilcoxon检验得到的P值。
表10 AGFPA与PSO、MBBPSO和APSO比较结果(D=30)

Tab.10 Comparison results of AGFPA with PSO, MBBPSO and CLPSO when D=30

函数 PSO[27] MBBPSO[29] CLPSO[30]
f1 + + +
f2 + + +
f3 + + +
f4 + - +
f5 + + +
f6
f7 + + +
f8 - - -
f9 - - -
f10 + + +
f11 + - +
f12 + + +
f13 + + +
f14 + +
f15 + + +
f16 + + +
f17
f18 - + -
统计 13(+);3(-);2(≈) 12(+);4(-);2(≈) 12(+);3(-);3(≈)

注:“+”表示AGFPA显著优于对比算法;“-”表示对比算法显著优于AGFPA;“≈”表示AGFPA与对比算法无显著性差异,“统计”给出了AGFPA优于、差于和相当于对比算法的函数个数。

表11 AGFPA与APSO、PSOCO和RPSO比较结果(D=30)

Tab.11 Comparison results of AGFPA with APSO, PSOCO and RPSO when D=30

函数 APSO[31] PSOCO[32] RPSO[33]
f1 - + +
f2 - + +
f3 + + +
f4 + +
f5 + + +
f6
f7 + + +
f8 - + -
f9 - - -
f10 + + +
f11 + + +
f12 + + +
f13 + + +
f14 + +
f15 + + +
f16 + + +
f17
f18 + + -
统计 12(+);4(-);2(≈) 14(+);1(-);3(≈) 12(+);3(-);3(≈)

注:“+”表示AGFPA显著优于对比算法;“-”表示对比算法显著优于AGFPA;“≈”表示AGFPA与对比算法无显著性差异,“统计”给出了AGFPA优于、差于和相当于对比算法的函数个数。

表12 AGFPA、PSO、MBBPSO、CLPSO、APSO、PSOCO和RPSO的最小误差

Tab.12 Minimum error of AGFPA, PSO, MBBPSO, CLPSO, APSO, PSOCO and RPSO

函数 PSO[27](最小误差) MBBPSO[29](最小误差) CLPSO[30](最小误差) APSO[31](最小误差) PSOCO[32](最小误差) RPSO[33](最小误差) AGFPA(最小误差)
f1 3.09×10-9 1.74×10-18 1.14×10-3 1.34×10-47 4.41×10-11 1.46×10-32 4.01×10-37
f2 4.38×10-7 2.31×10-13 4.08×10-3 7.23×10-28 7.79×10-7 7.87×10-13 7.23×10-18
f3 3.54×102 7.80×102 4.57×103 3.10×102 1.48×10 2.80×103 5.13×104
f4 4.58 6.62×10-2 1.91×10 1.74×10-1 1.76×10-1 5.24×10-2 8.85×10-2
f5 1.17×10 5.64 1.10×102 2.91×10-1 1.36×10 3.96×10-1 7.19
f6 0.00 0.00 0.00 0.00 0.00 0.00 0.00
f7 1.76×10-2 8.90×10-3 1.36×10-2 6.66×10-3 5.85×10-3 7.71×10-3 2.89×10-3
f8 2.73×103 1.18×102 5.35×10-1 8.22×10-3 4.69×103 4.22×103 4.19×103
f9 1.59×10 2.98 1.99 9.95×10-1 1.12×10 2.69×10 7.27×10
f10 2.13×10-5 4.68×10-10 2.15×10-2 7.11×10-15 1.21×10-6 7.11×10-15 3.55×10-15
f11 2.64×10-8 0.00 4.45×10-3 0.00 2.73×10-10 0.00 0.00
f12 2.99×10-8 9.91×10-19 3.53×10-5 1.57×10-32 1.76×10-13 1.28×10-27 1.57×10-32
f13 4.54×10-7 1.06×10-17 6.29×10-4 3.20×10-32 1.19×10-11 1.25×10-28 1.35×10-32
f14 0.00 0.00 0.00 5.81×10-28 0.00 0.00 0.00
f15 2.86×10-1 1.07×10-1 5.32×102 7.46×10-18 2.62×10-5 2.75×10-22 1.12×10-27
f16 4.12 2.14 6.20×10-1 2.58×10-3 2.95 3.84×10-7 4.24×10-15
f17 2.08×10 2.08×10 2.09×10 2.07×10 2.09×10 2.07×10 2.07×10
f18 4.39×10 7.73×10 6.89×10 9.55×10 1.64×102 3.18×10 1.00×102

注:加粗表明最优。

表13 AGFPA与PSO、MBBPSO、CLPSO、APSO、PSOCO、RPSO进行Wilcoxon检验得出的P

Tab.13 P value of Wilcoxon Rank Sum test between AGFPA and PSO, MBBPSO, CLPSO, APSO, PSOCO, RPSO

RPSO[33] PSO[27] MBBPSO[29] CLPSO[30] APSO[31] PSOCO[32]
1.29×10-20 3.70×10-10 2.76×10-20 2.04×10-3 1.35×10-13 4.45×10-7

注:显著性水平低于0.05的P值以粗体显示。

表10表11可以看出,AGFPA在大多数测试函数上的结果相比于6种PSO算法都更优。具体地,AGFPA相比于传统PSO只在3个函数上结果较差,而在13个函数上结果更优。与MBBPSO相比,AGFPA在4个函数上结果较差,在12个函数上结果更优。相比于CLPSO,AGFPA在12个函数上表现更优,在3个函数上较差。相比于APSO,AGFPA在12个函数上结果更优,在4个函数上结果较差。相比于PSOCO,AGFPA在14个函数上结果更优,在1个函数上结果较差。相比于RPSO,AGFPA在12个函数上结果更优,在3个函数上结果较差。总体来说,AGFPA在函数f3f5f7f10f12f13f15f16上的结果要显著优于传统PSO和其余5种PSO算法;在函数和上,AGFPA的结果要优于或相当于传统PSO和其余5种PSO算法。
表12可以看出,AGFPA在f3f7f10f12f13f15f16f17f18这9个函数上相比于6种PSO算法取得了最优的结果,在f6f11f14这3个函数上的最小误差达到了0,在函数f1f2f4f5f8f9上也具有较优的求解能力。表12的结果表明,AGFPA相比于6种PSO算法在大部分测试函数上取得了较为优秀的求解精度。根据表13列出的P值可知,AGFPA相比于6种PSO算法具有显著优势。综合表10~13的结果可以看出,AGFPA在求解大多数函数时相比于6种PSO算法具有更优的性能。

4 在发酵动力学参数估计中的应用

为了检验AGFPA在实际工程中的有效性,将AGFPA应用于发酵动力学模型参数估计。发酵动力学模型主要包括底物消耗动力学模型、菌体生长动力学模型和产物生成动力学模型,模型中的参数是影响模型精确程度的关键[2]。目前,已有相关研究人员建立了发酵动力学模型,并利用优化算法估计发酵动力学参数[1-3]
常用的发酵动力学模型根据Logistic模型和Luedeking-Piret模型而建立,具体的菌体生长、产物生成和底物消耗3个动力学模型如式(8)~(10)所示[2]:
$ \frac{\mathrm{d} X}{\mathrm{~d} t}=u_{m}\left(1-\frac{X}{X_{\max }}\right) X,$
$ \frac{\mathrm{d} P}{\mathrm{~d} t}=\alpha \frac{\mathrm{d} X}{\mathrm{~d} t}+\beta X$
$ -\frac{\mathrm{d} S}{\mathrm{~d} t}=k_{1} \frac{\mathrm{~d} X}{\mathrm{~d} t}+k_{2} \frac{\mathrm{~d} P}{\mathrm{~d} t}$
公式(8)为菌体生长动力学模型,公式(9)为产物生成动力学模型,公式(10)为底物消耗动力学模型。式中:umXmaxαβk1k2是6个待估计的参数;t表示培养时间,单位为h;X为菌体质量浓度,单位为g/L;P为产物质量浓度,单位为g/L;S为基质质量浓度,单位为g/L;αβ是2个比例系数;k1k2是两个得率系数。
在发酵动力学参数估计的应用中,融合差分进化算法的AEA算法(AEA combined with differential evolution, MAEA)[1]和自适应域多群体遗传算法(adaptive domain with multiple genetic algorithms, GA)[3]已经取得了较好的优化效果。因此,将AGFPA与FPA、GA和MAEA进行比较实验。实验中,基质质量浓度实验值,菌体质量浓度实验值和产物质量浓度实验值等实验数据均来自文献[2];设置最大迭代次数[3]为500;将实验值与模型拟合值之间的均方误差(MSE,记作EMS)作为种群中个体的适应值,具体如公式(11)所示:
$ \min E_{\mathrm{MS}}=\left\{\sum _ { i = 1 } ^ { n } \left\{[X(i)-\widehat{X}(i)]^{2}+\right.\right.\left.[P(i)-\widehat{P}(i)]^{2}+[S(i)-\hat{S}(i)]^{2}\right\} / 3 n_{0}$
式中:n表示实际监测点的数量; X (i)、 P (i)、 S (i)分别为公式(8)~(10)的模型拟合值;EMS表示均方误差。
在实验中,首先利用AGFPA求解发酵动力学参数,并根据Runge-Kutta法[34]求解微分方程组获得模型的拟合值,然后计算模型拟合值与实验值之间的MSE。为了比较的公平性,采用均方误差MSE作为评价指标,MSE值越小,说明对应模型的精度越高,对应算法的优化效果越好。表14给出了发酵动力学参数估计的实验结果。从表14可以看出,与FPA、GA、MAEA相比,AGFPA的模型均方误差MSE最小,仅为0.807 5,这表明经AGFPA优化后的菌体生长动力学模型、产物生成动力学模型和基质消耗动力学模型更精确。因此,AGFPA能够获得更高精度的发酵动力学模型参数,在解决该生化工程问题时具有较优的性能。
表14 AGFPA、FPA、GA和MAEA参数估计值及模型均方误差

Tab.14 Parameter estimation results and model mean square error comparison of AGFPA,FPA,GA and MAEA

算法 um Xmax α β k1 k2 EMS
FPA[4] 0.147 57 19.270 0.072 89 0.008 31 0.273 16 13.750 85 2.741 7
GA[3] 0.141 00 22.660 0.084 00 0.005 00 0.003 00 17.347 00 4.131 0
MAEA[1] 0.142 81 22.533 0.074 78 0.005 56 6.81×10-5 17.350 00 0.891 5
AGFPA 0.143 69 22.549 0.071 41 0.005 78 0.087 81 16.816 14 0.807 5

5 结论

传统花朵授粉算法在求解一些复杂优化问题时,容易出现开采能力不足的问题。为了提升传统花朵授粉算法的开采能力,提出了一种适应性引导的花朵授粉算法(AGFPA),并将该算法应用于发酵动力学参数估计。在AGFPA中,适应性引导机制结合了环优策略和向优策略的优势,增强了算法开采能力并维持一定的种群多样性。具体地,环优策略和向优策略通过控制最优个体的引导作用实现开采能力和勘探能力的平衡。此外,设计了适应性参数控制策略,根据演化阶段的不同,适应性地调整算法的全局授粉转换概率和最优引导的步长因子。本文设计了数值实验,对AGFPA的性能进行了分析。其中,策略有效性实验结果表明,所提出的适应性引导机制和适应性参数控制策略能够共同提升算法的优化性能;与改进FPA比较的结果表明,AGFPA具有较强的寻优性能,其收敛速度和搜索精度整体上优于比较算法;与PSO算法比较的结果表明,AGFPA取得了较好的优化效果,具有较优的综合性能。本文还将AGFAP应用于发酵动力学参数估计,并获得了精度更高的发酵动力学模型。因此,AGFPA具有较好的工程应用前景。此外,在每一代种群中有许多优秀个体,这些优秀个体所蕴含的有益信息对种群的演化具有引导意义。在未来研究中,将设计多优秀个体协同引导的方法,为种群的演化提供多样化的引导信息,提高种群的多样性,从而提升算法的性能。
[1]
何鹏飞, 李绍军. 融合差分进化算法的AEA算法及其在参数估计中的应用[J]. 化工学报, 2014, 65(12):4857-4865.

DOI

HE P F, LI S J. AEA combined with differential evolution and its application on parameter estimation[J]. CIESC Journal, 2014, 65(12):4857-4865.

[2]
宋文军, 陈宁, 王健, 等. L-色氨酸产生菌分批发酵动力学模型[J]. 食品与生物技术, 2002, 21(4):340-343,356.

SONG W J, CHEN N, WANG J, et al. The kinetics of batch fermentation of L-tryptophan-producing strain[J]. Journal of Food Science and Biotechnology, 2002, 21(4):340-343,356.

[3]
刘德玲, 谢盛嘉, 关晓颖. 自适应域多群体遗传算法求解发酵动力学模型参数[J]. 计算技术与自动化, 2010, 29(3):18-23.

LIU D L, XIE S J, GUAN X Y. Parameter estimation of fermentation dynamics models by adaptive domain with multiple genetic algorithms[J]. Computing Technology and Automation, 2010, 29(3):18-23.

[4]
YANG X S. Flower pollination algorithm for global optimization[C]//International Conference on Unconventional Computing and Natural Computation. Berlin,Heidelberg: Springer, 2012:240-249.

[5]
CAO H Q, NGUYEN H X, TRAN T N C, et al. A robot calibration method using a neural network based on a butterfly and flower pollination algorithm[J]. IEEE Transactions on Industrial Electronics, 2022, 69(4):3865-3875.

[6]
ZHANG H, GAO J Y, KANG L, et al. State of health estimation of lithium-ion batteries based on modified flower pollination algorithm-temporal convolutional network[J]. Energy, 2023, 283:128742.

[7]
梁靓, 魏亚星, 李义鑫, 等. 基于非线性跨代差分进化的花授粉优化算法及其应用研究[J]. 电子学报, 2023, 51(9):2445-2456.

LIANG L, WEI Y X, LI Y X, et al. A flower pollination algorithm based on nonlinear cross-generation differential evolution and its application study[J]. Acta Electronica Sinica, 2023, 51(9):2445-2456.

[8]
FENG L Y, ZHOU Y Q, LUO Q F. Binary hybrid artificial hummingbird with flower pollination algorithm for feature selection in Parkinson's disease diagnosis[J]. Journal of Bionic Engineering, 2024, 21(2):1003-1021.

[9]
ZHOU Y Q, WANG R, LUO Q F. Elite opposition-based flower pollination algorithm[J]. Neurocomputing, 2016, 188: 294-310.

[10]
卞京红, 贺兴时, 范钦伟, 等. 基于自适应花授粉算法的BP神经网络结构优化[J]. 计算机工程与应用, 2018, 54(3):50-56.

DOI

BIAN J H, HE X S, FAN Q W, et al. New BP neural network based on adaptive flower pollination algorithm[J]. Computer Engineering and Applications, 2018, 54(3):50-56.

DOI

[11]
DHABAL S, VENKATESWARAN P. An improved global-best-driven flower pollination algorithm for optimal design of two-dimensional FIR filter[J]. Soft Computing, 2019, 23(18):8855-8872.

[12]
YANG X, SHEN Y J. An improved flower pollination algorithm with three strategies and its applications[J]. Neural Processing Letters, 2020, 51(1):675-695.

[13]
DAS A, DHAL K G, RAY S, et al. Fitness based weighted flower pollination algorithm with mutation strategies for image enhancement[J]. Multimedia Tools and Applications, 2022, 81(20): 28955-28986.

[14]
SONG H H, ZHANG H Y, YANG J N, et al. Forecasting model for the number of breeding sows based on pig's months of age transfer and improved flower pollination algorithm-back propagation neural network[J]. Applied Intelligence, 2024, 54(7):5826-5858.

[15]
章斌, 卢洪义, 宋汉强, 等. 基于改进花授粉算法的航空发动机装配总体规划[J]. 航空动力学报, 2024, 39(7):139-150.

ZHANG B, LU H Y, SONG H Q, et al. Overall planning of aero-engine assembly based on improved flower pollination algorithm[J]. Journal of Aerospace Power, 2024, 39(7):139-150.

[16]
NABIL E. A modified flower pollination algorithm for global optimization[J]. Expert Systems with Applications, 2016, 57:192-203.

[17]
肖辉辉, 万常选, 段艳明, 等. 基于引力搜索机制的花朵授粉算法[J]. 自动化学报, 2017, 43(4):576-594.

XIAO H H, WAN C X, DUAN Y M, et al. Flower pollination algorithm based on gravity search mechanism[J]. Acta Automatica Sinica, 2017, 43(4):576-594.

[18]
MAHATA S, SAHA S K, KAR R, et al. Optimal design of wideband digital integrators and differentiators using hybrid flower pollination algorithm[J]. Soft Computing, 2018, 22(11):3757-3783.

[19]
ABDEL-BASSET M, MOHAMED R, SABER S, et al. Modified flower pollination algorithm for global optimization[J]. Mathematics, 2021, 9(14):1661.

[20]
OZSOYDAN F B, BAYKASOGLU A. Chaos and intensification enhanced flower pollination algorithm to solve mechanical design and unconstrained function optimization problems[J]. Expert Systems with Applications, 2021, 184:115496.

[21]
LI M, KE L, WANG L, et al. A novel hybrid gene selection for tumor identification by combining multifilter integration and a recursive flower pollination search algorithm[J]. Knowledge-Based Systems, 2023, 262:110250.

[22]
HAO B, ZHAO J S, DU H, et al. A search and rescue robot search method based on flower pollination algorithm and Q-learning fusion algorithm[J]. PLoS One, 2023, 18(3):e0283751.

[23]
SONG H H, BEI J L, ZHANG H Y, et al. Hybrid algorithm of differential evolution and flower pollination for global optimization problems[J]. Expert Systems with Applications, 2024, 237: 121402.

[24]
DRAA A. On the performances of the flower pollination algorithm-qualitative and quantitative analyses[J]. Applied Soft Computing, 2015, 34:349-371.

[25]
YAO X, LIU Y, LIN G M. Evolutionary programming made faster[J]. IEEE Transactions on Evolutionary Computation, 1999, 3(2):82-102.

[26]
SUGANTHAN P N, HANSEN N, LIANG J J, et al. Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization[R]. Singapore: Nanyang Technological University, 2005.

[27]
KENNEDY J, EBERHART R. Particle swarm optimization[C]//Proceedings of ICNN'95-International Conference on Neural Networks,Perth,WA,Australia. New York: IEEE, 1995:1942-1948.

[28]
程适, 史玉回. 基于L1范式的粒子群算法群体多样性研究[J]. 计算机科学, 2011, 38(7):190-193,239.

CHENG S, SHI Y H. Measurement of PSO diversity based on L1 norm[J]. Computer Science, 2011, 38(7):190-193,239.

[29]
KENNEDY J. Bare bones particle swarms[C]//Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03(Cat.No.03EX706),Indianapolis, IN,USA.New York: IEEE, 2003:80-87.

[30]
LIANG J J, QIN A K, SUGANTHAN P N, et al. Comprehensive learning particle swarm optimizer for global optimization of multimodal functions[J]. IEEE Transactions on Evolutionary Computation, 2006, 10(3):281-295.

[31]
ZHAN Z H, ZHANG J, LI Y, et al. Adaptive particle swarm optimization[J]. IEEE Transactions on Systems,Man,and Cybernetics,Part B (Cybernetics), 2009, 39(6):1362-1381.

[32]
CHEN Y G, LI L X, XIAO J H, et al. Particle swarm optimizer with crossover operation[J]. Engineering Applications of Artificial Intelligence, 2018, 70:159-169.

[33]
LIU W B, WANG Z D, ZENG N Y, et al. A novel randomised particle swarm optimizer[J]. International Journal of Machine Learning and Cybernetics, 2021, 12(2):529-540.

[34]
CITRO V, D'AMBROSIO R, DI GIOVACCHINO S.A stability preserving perturbation of Runge-Kutta methods for stochastic differential equations[J]. Applied Mathematics Letters, 2020, 102:106098.

文章导航

/