基于引力搜索机制的花朵授粉算法

news/2024/11/9 13:13:35

文章目录

  • 一、理论基础
    • 1、花朵授粉算法
    • 2、基于引力搜索策略的花朵授粉算法
      • 2.1 引力搜索算法
      • 2.2 引力机制的FPA
      • 2.3 算法的实现
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、花朵授粉算法

请参考这里。

2、基于引力搜索策略的花朵授粉算法

2.1 引力搜索算法

请参考这里。

2.2 引力机制的FPA

花朵授粉算法全局授粉(优化)部分的个体位置的更新不能单纯依靠莱维飞行来改变步长,这在一定程度上依然存在陷入局部极值的问题。
针对该问题在花朵授粉算法的全局授粉(优化)部分引入引力机制,在引力的作用下花朵个体向质量大的个体移动,而质量最大的个体占据着最优位置,个体间的相互引力促进个体进行优化信息的共享,从而引导个体向最优解区域展开搜索。因此,万有引力机制能使花朵利用自身与其他花朵间的万有引力来牵制本身不均匀的随机游走的莱维飞行机制,使花朵受莱维飞行和个体间的引力的双重影响,引导种群向最优解靠近。所有的花朵个体通过万有引力相互吸引,并通过引力使所有的花朵朝惯性质量较大的个体方向移动,惯性质量大的花朵(当前较好个体)比惯性质量小的花朵(当前较差个体)移动缓慢。通过这种引力作用,花朵个体间相互交流、相互协作,保证了算法的开采能力。另外,万有引力的加速度与物体所受外力的方向一致,也就说明加速度的方向与大小直接影响着花朵的移动方向和大小。在花朵授粉算法中,花朵间产生的加速度直接左右着花朵的迭代位置的改变,进而引导算法的全局授粉(优化)。因此,花朵授粉算法中的全局授粉公式修改为式(1): x i t + 1 = a i k + γ L ( λ ) ( g ∗ − a i k ) (1) x_i^{t+1}=a_i^k+\gamma L(\lambda)\left(g_*-a_i^k\right)\tag{1} xit+1=aik+γL(λ)(gaik)(1)其中, a i k a_i^k aik为花朵 i i i在第 t t t代受种群中其他花朵的万有合引力所产生的加速度, L ( λ ) L(\lambda) L(λ)是对应于花朵 i i i在第 t t t代的莱维飞行位移(步长)。
由式(1)可以看出,改进后的花朵位置的更新中既考虑到了花朵授粉算法中本身的莱维飞行机制,又考虑到了种群中个体受到的万有引力的作用。这样,在花朵授粉算法的全局授粉(优化)部分引入引力机制,使花朵个体的位置随迭代进化受莱维飞行和引力两种机制的共同作用:一方面,利用莱维飞行的随机性和不均匀性的跳跃动作使花朵个体跳离局部极值;另一方面,花朵个体间的引力机制使花朵间进行信息共享,朝着质量大(最优解)的花朵移动。

2.3 算法的实现

针对花朵授粉算法的局限性,以及花朵授粉算法中所特有的莱维飞行机制和引力搜索算法中的引力机制,提出了基于引力搜索机制的花朵授粉算法GSFPA,改进算法中利用引力搜索算法中的引力策略作用于花朵授粉中全局寻优(授粉)部分,与花朵授粉算法本身的莱维飞行机制共同指导种群的迭代优化。
GSFPA算法的具体实施步骤如下:
步骤1. 初始化GSFPA算法的参数:种群数 N N N,转换概率 p p p,最大迭代次数 N _ i t e r N\_iter N_iter,维数 D D D,万有引力初始系数 G 0 G_0 G0等参数;
步骤2. 随机初始化种群的位置,计算每个解的适应度值,并求解出当前的最优值、最优解和最差值;
步骤3. 根据相应公式计算个体的万有引力系数 G t G_t Gt
步骤4. 根据相应公式计算惯性质量 M i ( t ) M_i(t) Mi(t)
步骤5. 根据相应公式计算个体 i i i的引力之和 F i k ( t ) F_i^k(t) Fik(t)
步骤6. 根据相应公式计算个体 i i i的加速度 a i k a_i^k aik
步骤7. 若转换概率 p > r a n d p>rand p>rand,按式(1)对解进行更新,并进行越界处理;
步骤8. 若转换概率 p < r a n d p<rand p<rand,按FPA的局部授粉公式对解进行更新,并进行越界处理;
步骤9. 计算步骤7或步骤8的适应度值,并更新全局最优值、全局最优解和全局最差值;
步骤10. 判断结束条件,若满足,退出程序并输出最优值及最优解,否则,转步骤3。

二、仿真实验与结果分析

将GSFPA与PSO、ABC和FPA进行对比,以文献[1]中表1的F1、F2、F3(高维单峰函数/30维)、F8、F9、F10(高维多峰函数/30维)、F14、F15、F16(低维函数/2维、2维、2维)为例,实验设置种群规模为20,最大迭代次数为500,每种算法独立运算50次,结果显示如下:

  • 函数适应度值的收敛曲线对比及收敛结果
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
函数:F1
PSO:最差值: 136.7366, 最优值: 45.6954, 平均值: 78.5905, 标准差: 21.6733
ABC:最差值: 677.1412, 最优值: 88.0789, 平均值: 294.5426, 标准差: 150.4328
FPA:最差值: 3256.8588, 最优值: 798.4602, 平均值: 1493.4369, 标准差: 447.2057
GSFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F2
PSO:最差值: 14.8244, 最优值: 3.5029, 平均值: 7.019, 标准差: 2.2936
ABC:最差值: 71.7289, 最优值: 48.6301, 平均值: 59.2809, 标准差: 5.5993
FPA:最差值: 69.7187, 最优值: 31.5497, 平均值: 46.4325, 标准差: 9.2584
GSFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F3
PSO:最差值: 8538.8371, 最优值: 1151.5564, 平均值: 2446.0648, 标准差: 1470.9844
ABC:最差值: 53391.9577, 最优值: 27646.7587, 平均值: 44236.9952, 标准差: 5621.5928
FPA:最差值: 28306.6478, 最优值: 10549.7327, 平均值: 18242.0539, 标准差: 3909.3464
GSFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F8
PSO:最差值: 2.3514, 最优值: 1.4216, 平均值: 1.7379, 标准差: 0.19988
ABC:最差值: 8.8395, 最优值: 1.6597, 平均值: 3.6406, 标准差: 1.3294
FPA:最差值: 25.3684, 最优值: 8.3295, 平均值: 15.0171, 标准差: 3.4486
GSFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F9
PSO:最差值: 10.5425, 最优值: 1.937, 平均值: 6.1144, 标准差: 2.0772
ABC:最差值: 32.8877, 最优值: 18.4422, 平均值: 27.9057, 标准差: 2.971
FPA:最差值: 21.4866, 最优值: 12.2541, 平均值: 16.2842, 标准差: 1.9622
GSFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F10
PSO:最差值: 1.1591e-12, 最优值: 1.7872e-13, 平均值: 3.7239e-13, 标准差: 1.624e-13
ABC:最差值: 1.813e-10, 最优值: 2.1169e-11, 平均值: 8.7483e-11, 标准差: 3.6715e-11
FPA:最差值: 4.2554e-12, 最优值: 1.1178e-12, 平均值: 2.0711e-12, 标准差: 5.5589e-13
GSFPA:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0
函数:F14
PSO:最差值: -0.99975, 最优值: -1, 平均值: -0.99998, 标准差: 4.7284e-05
ABC:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0
FPA:最差值: -0.93625, 最优值: -0.9999, 平均值: -0.98288, 标准差: 0.019299
GSFPA:最差值: -1, 最优值: -1, 平均值: -1, 标准差: 0
函数:F15
PSO:最差值: 4.2723e-05, 最优值: 3.6898e-08, 平均值: 5.7442e-06, 标准差: 9.5186e-06
ABC:最差值: 1.2954e-09, 最优值: 1.7405e-17, 平均值: 6.1513e-11, 标准差: 2.5569e-10
FPA:最差值: 0.0064172, 最优值: 2.0504e-06, 平均值: 0.00049125, 标准差: 0.0009834
GSFPA:最差值: 0.015429, 最优值: 1.1192e-05, 平均值: 0.0014845, 标准差: 0.0027543
函数:F16
PSO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 5.2005e-06
ABC:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.9827e-15
FPA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 1.1054e-08
GSFPA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 3.6291e-07
  • 独立运行50次的函数最优适应度值比较特性图
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

实验结果表明:改进算法的寻优性能显著优于基本的花朵授粉算法,其收敛速度、收敛精度、鲁棒性均较对比算法有较大提升。

三、参考文献

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


http://www.niftyadmin.cn/n/2132484.html

相关文章

融合振幅随机补偿与步长演变机制的改进原子搜索优化算法

文章目录一、理论基础1、原子搜索优化算法(ASO)2、改进的原子搜索优化算法(IASO)&#xff08;1&#xff09;初始原子种群的混沌优化&#xff08;2&#xff09;振幅函数随机参数优化&#xff08;3&#xff09;步长演变搜索机制&#xff08;4&#xff09;IASO算法的实现二、仿真实…

JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

1.对整数进行格式化&#xff1a;%[index$][标识][最小宽度]转换方式 我们可以看到&#xff0c;格式化字符串由4部分组成&#xff0c;其中%[index$]的含义我们上面已经讲过&#xff0c;[最小宽度]的含义也很好理解&#xff0c;就是最终该整数转化的字符串最少包含多少位数…

采用混合搜索策略的阿奎拉优化算法

文章目录一、理论基础1、AO算法2、HAO算法&#xff08;1&#xff09;动态调整&#xff08;2&#xff09;混沌自适应权重&#xff08;3&#xff09;改进型差分变异策略&#xff08;4&#xff09;HAO算法流程二、仿真实验与结果分析三、参考文献一、理论基础 1、AO算法 请参考这…

说一说MVC的MenuCard(五)

1.数据库设计 1 2 create database BookShop3 go4 5 use bookshop6 go7 8 --模块表9 create table Module 10 ( 11 ModuleID int not null primary key identity(1,1), 12 ModuleName varchar(50) not null unique, 13 ModuleIcon varchar(20) not null defa…

基于战争策略优化算法的函数寻优算法

文章目录一、理论基础1、战争策略优化算法&#xff08;1&#xff09;攻击策略&#xff08;2&#xff09;排名(军衔)和权重更新&#xff08;3&#xff09;防御策略&#xff08;4&#xff09;弱势士兵的替换/重新安置2、WSO算法伪代码二、仿真实验与结果分析三、参考文献一、理论…

HTTP 缓存验证

缓存验证 坑&#xff1a;缓存验证的时机 在用户点击刷新按钮时浏览器会进行缓存验证被缓存的response头部包含"Cache-Control:must-revalidate"ETags 作为缓存的一种强校验器&#xff0c;ETag 响应头是一个对用户代理(User Agent, 下面简称UA)不透明&#xff08;译者…

基于非线性参数的海洋捕食者算法

文章目录一、理论基础1、海洋捕食者算法(MPA)2、非线性海洋捕食者算法(NMPA)二、仿真实验与结果分析三、参考文献一、理论基础 1、海洋捕食者算法(MPA) 请参考这里。 2、非线性海洋捕食者算法(NMPA) MPA算法根据各种研究的规则和要点以及自然界的实际行为模拟捕食者和猎物的…

基于北方苍鹰优化算法的函数寻优算法

文章目录一、理论基础1、北方苍鹰优化算法&#xff08;1&#xff09;初始化阶段&#xff08;2&#xff09;第一阶段&#xff1a;猎物识别(探索)&#xff08;3&#xff09;第二阶段&#xff1a;追逐和逃跑行为(开发)2、NGO算法伪代码二、仿真实验与结果分析三、参考文献一、理论…