大规模优化问题的改进花朵授粉算法
文章目录
- 一、理论基础
- 1、花朵授粉算法
- 2、改进的花朵授粉算法
- (1)基于反向学习的种群初始化
- (2)逐维随机扰动的局部开发
- (3)IFPA算法流程
- 二、数值实验与分析
- 三、参考文献
一、理论基础
1、花朵授粉算法
请参考这里。
2、改进的花朵授粉算法
(1)基于反向学习的种群初始化
本文采用反向学习策略初始化花粉种群,在原花粉位置 X i j = L b i j + ( U b i j − L b i j ) × r a n d ( 0 , 1 ) X_i^j=Lb_i^j+(Ub_i^j-Lb_i^j)\times rand(0,1) Xij=Lbij+(Ubij−Lbij)×rand(0,1)和其对立花粉位置 O X i j = L b i j + U b i j − X i j OX_i^j=Lb_i^j+Ub_i^j-X_i^j OXij=Lbij+Ubij−Xij的 2 n 2n 2n个个体中选取适应度值最优的 n n n个花粉个体作为算法的初始种群,充分提取搜索空间的有用信息,保留更多的优良个体,为算法迭代更新奠定较好的基础,增加找到更高质量解的机率。
为说明反向学习初始化对种群多样性和种群质量的影响,图1(a)和图1(b)分别给出了IFPA求解Sphere函数时反向学习前后种群个体分布情况。其中,绿色圆圈代表花粉位置,红色圆点代表全局最优点。问题维度为3维,变量搜索空间为 [ − 100 , 100 ] [-100,100] [−100,100],种群数为5。
(a) 随机初始化分布
(b) 反向学习分布 图1 花粉初始化分布图
图1清楚地显示,反向学习使花粉个体探索了更多的位置,增加了种群多样性,反向学习后有更多的花粉接近全局最优点,提高了初始种群质量,为算法奠定了更好的迭代基础。
(2)逐维随机扰动的局部开发
本文为打破维间干扰问题,提出局部开发的逐维随机扰动策略,借鉴萤火虫算法相对荧光亮度公式 I = I 0 × e − γ r i , j I=I_0\times e^{-\gamma r_{i,j}} I=I0×e−γri,j,设计逐维随机相对继承程度 m m m和逐维随机相对受扰动程度 2 − m 2-m 2−m, m m m的公式表达为: m = k × e − ∣ 2 π L ( j ) ∣ (1) m=k\times e^{-|2\pi L(j)|}\tag{1} m=k×e−∣2πL(j)∣(1)其中, k k k为花粉配子的最大继承程度,与原花朵授粉算法保持一致取值为1,表示对上代花粉位置完全继承; 2 π 2\pi 2π是花粉粒子继承系数; ∣ L ( j ) ∣ |L( j)| ∣L(j)∣是花粉粒子在第 j j j维上的Lévy飞行距离。
由于每一维的Lévy飞行距离不同,使得花粉个体的每一维不同程度地继承上代信息,受到不同程度的扰动,解决了维间干扰问题,增加了种群多样性,在当代最优位置的牵引作用下,最终提出的第 j j j维的更新公式为: x n e w i , j t + 1 = m × x i , j t + ( 2 − m ) × ε ( g ∗ , j − x i , j t ) (2) xnew_{i,j}^{t+1}=m\times x_{i,j}^t+(2-m)\times\varepsilon(g_{*,j}-x_{i,j}^t)\tag{2} xnewi,jt+1=m×xi,jt+(2−m)×ε(g∗,j−xi,jt)(2)该更新方式不仅解决了维间干扰问题,而且使得算法不会错失Lévy飞行的良好机制,如果较大跳跃配合全局搜索执行,自然可以提升算法全局寻优能力,如果较大跳跃配合局部开发执行,就可以使花粉个体受到更大的扰动影响(Lévy飞行距离越长, 2 − m 2-m 2−m的值越大)。在迭代初期种群差异较大时,花粉个体能受到更大的扰动影响,遍历更大的范围,因此不管进行全局搜索还是局部搜索,都能保证算法初期花粉个体的跳跃能力,提高算法初期的迭代质量和全局寻优能力,有效解决算法易陷入局部最优的问题。
被更新的花粉个体如果更优,就接受它并将它作为下代更新的基础,否则就舍弃该更新解,保持之
前的迭代基础。局部开发的逐维随机扰动策略具体如图2所示。
图2 逐维随机扰动策略
(3)IFPA算法流程
IFPA优化流程如图3所示。
图3 IFPA流程图
二、数值实验与分析
将IFPA与FPA、PSO和BA进行对比,以文献[1]中表1的f1、f2、f3、f6(单峰函数/100维)、f10、f11、f12、f13(多峰函数/100维)为例,实验设置种群规模为30,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
函数:F1
IFPA:最差值: 7.122e-124, 最优值: 3.2436e-126, 平均值: 7.9334e-125, 标准差: 1.3782e-124
FPA:最差值: 2406.6852, 最优值: 802.2952, 平均值: 1378.0983, 标准差: 365.2696
PSO:最差值: 4476.977, 最优值: 2116.2016, 平均值: 3168.3097, 标准差: 674.94
BA:最差值: 273598.0898, 最优值: 164320.1154, 平均值: 245162.0614, 标准差: 22426.762
函数:F2
IFPA:最差值: 6.4045e-53, 最优值: 3.829e-54, 平均值: 2.3284e-53, 标准差: 1.3519e-53
FPA:最差值: 32.1118, 最优值: 19.8908, 平均值: 26.1115, 标准差: 3.0715
PSO:最差值: 39.4614, 最优值: 28.0278, 平均值: 32.9453, 标准差: 3.0777
BA:最差值: 93.6034, 最优值: 81.0963, 平均值: 89.7498, 标准差: 2.9488
函数:F3
IFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
FPA:最差值: 2399, 最优值: 803, 平均值: 1540.4333, 标准差: 357.9382
PSO:最差值: 7821, 最优值: 3230, 平均值: 4655.4667, 标准差: 1115.9652
BA:最差值: 295527, 最优值: 136323, 平均值: 246268.9, 标准差: 40221.2873
函数:F6
IFPA:最差值: 2.7836e-64, 最优值: 3.9036e-65, 平均值: 1.0279e-64, 标准差: 5.5534e-65
FPA:最差值: 32.9231, 最优值: 21.6976, 平均值: 27.3862, 标准差: 2.9475
PSO:最差值: 158.5132, 最优值: 56.1433, 平均值: 71.5735, 标准差: 18.2229
BA:最差值: 3.539311621185401e+35, 最优值: 13327094426292.14, 平均值: 1.179991827054246e+34, 标准差: 6.461827617977305e+34
函数:F10
IFPA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
FPA:最差值: 16.0066, 最优值: 6.0153, 平均值: 12.112, 标准差: 2.2884
PSO:最差值: 46.7969, 最优值: 20.2491, 平均值: 30.954, 标准差: 6.6282
BA:最差值: 2627.7552, 最优值: 1581.8446, 平均值: 2367.6073, 标准差: 183.4229
函数:F11
IFPA:最差值: 2.931e-14, 最优值: 2.2204e-14, 平均值: 2.3152e-14, 标准差: 2.4567e-15
FPA:最差值: 19.3268, 最优值: 11.7422, 平均值: 15.5977, 标准差: 2.2718
PSO:最差值: 13.4702, 最优值: 9.9699, 平均值: 11.3497, 标准差: 0.87818
BA:最差值: 19.9668, 最优值: 19.9648, 平均值: 19.9658, 标准差: 0.00049952
函数:F12
IFPA:最差值: 3.1306e-65, 最优值: 3.8976e-66, 平均值: 1.5012e-65, 标准差: 6.2511e-66
FPA:最差值: 58.362, 最优值: 30.7001, 平均值: 42.9229, 标准差: 7.8601
PSO:最差值: 61.0827, 最优值: 38.97, 平均值: 47.5868, 标准差: 5.604
BA:最差值: 97.8901, 最优值: 45.0267, 平均值: 72.8083, 标准差: 11.0739
函数:F13
IFPA:最差值: 1.1369e-13, 最优值: 0, 平均值: 1.5158e-14, 标准差: 3.9307e-14
FPA:最差值: 705.8955, 最优值: 616.5702, 平均值: 652.7033, 标准差: 22.1828
PSO:最差值: 553.7418, 最优值: 387.9361, 平均值: 458.1253, 标准差: 39.8597
BA:最差值: 856.654, 最优值: 510.4119, 平均值: 724.4586, 标准差: 85.3306
实验结果表明:IFPA的求解精度、收敛速度、鲁棒性、对不同类型测试函数的适应性等都明显优于FPA、PSO和BA。
三、参考文献
[1] 李煜, 郑娟, 刘景森. 大规模优化问题的改进花朵授粉算法[J]. 计算机科学与探索, 2020, 14(8): 1427-1440.
大规模优化问题的改进花朵授粉算法相关推荐
- 改进花朵授粉算法的无线传感器网络部署优化(Matlab代码实现)
- 【智能优化算法】基于花朵授粉算法求解单标目优化问题附matlab代码
1 简介 花朵授粉算法( Flower Pollination Algorithm,FPA)是由英国剑桥大学学者Yang 于2012年提出的,其基本思想来源于对自然界花朵自花授粉.异花授粉的模拟,是一 ...
- 【优化求解】基于花朵授粉FPA算法求解最优目标matlab代码
1 简介 花朵授粉算法( Flower Pollination Algorithm,FPA)是由英国剑桥大学学者Yang 于2012年提出的,其基本思想来源于对自然界花朵自花授粉.异花授粉的模拟,是一 ...
- 【智能优化算法】基于花朵授粉算法求解多目标目优化问题附matlab代码
1 简介 花朵授粉算法( Flower Pollination Algorithm,FPA)是由英国剑桥大学学者Yang 于2012年提出的,其基本思想来源于对自然界花朵自花授粉.异花授粉的模拟,是一 ...
- 【lssvm预测】基于花朵授粉算法优化最小二乘支持向量机lssvm实现预测附matlab代码
1 简介 短时交通流预测是实现智能交通控制与管理,交通流状态辨识和实时交通流诱导的前提及关键,也是智能化交通管理的客观需要.到目前为止,它的研究结果都不尽如人意.现有的以精确数学模型为基础的传统预测方 ...
- 【优化算法】基于变异策略的改进型花朵授粉算法matlab源码
一.简介 介绍了一种新的元启发式群智能算法--花朵授粉算法(flower pollinate algorithm,FPA)和一种新型的差分进化变异策略--定向变异(targeted mutation, ...
- 花朵授粉算法(FPA)文章复现(动态调整p值+动态全局改进异花授粉+增强局部改进自花授粉+动态边界处理)
花朵授粉算法(FPA)文章复现(动态调整p值+动态全局改进异花授粉+增强局部改进自花授粉+动态边界处理)--HSFPA 复现内容包括:文章改进FPA算法实现.23个基准测试函数.文中相关因子分析.与F ...
- 基于混合策略改进的花朵授粉算法
文章目录 一.理论基础 1.花朵授粉算法(FPA) 2.基于混合策略改进的花朵授粉算法 (1)自适应转换概率策略 (2)动态全局搜索策略 (3)局部搜索增强策略 (4)花粉越界修正策略 (5)HSFP ...
- 基于多策略的改进花授粉算法
文章目录 一.理论基础 1.基本花授粉算法 2.基于多策略改进的花授粉算法 (1)新全局搜索策略 (2)引入精英变异策略的局部搜索策略 (3)对劣解的改进策略 (4)自适应调整转换概率 二.实验仿真及 ...
最新文章
- Spring-data-redis 反序列化异常
- intellij中出現org.apache.hadoop.fs.FSDataInputStream解決方案
- java 检查目录是否存在_如何检查Java目录是否存在?
- Java支持IPv6研究
- python 保留顺序去重_Python数据分析入门教程(二):数据预处理
- (转)Awk使用案例总结(运维必会)
- mysql如何查看表的大小_mysql 如何查看表的大小
- innodb 删除隐藏列_MySQL进阶之InnoDB事务原子性实现原理
- Mac可以把html做成壁纸吗,「iWall」Mac动态桌面软件就用这款,还可使用网页作为桌面背景...
- 微信公众号注册认证流程
- 百度地图3D地球接入
- Codeforces Gym 100339B Diversion 树形DP + LCA
- Linux·字符设备和杂项设备
- linux下的串口编程
- Redis基础进阶--Sentinel 机制与用法(二)
- 【Flutter】使用高德地图实现地图选点以及地图搜索
- 伽马校正(gamma correction)学习笔记
- logAB = logA + logB; A,B0
- 数据大屏:聊聊常见可视化大屏的产品实现
- CM阿里云安装Cloudera Mananger
热门文章
- windows10删除休眠文件
- DataGrid中DataGridComboBoxColumn列SelectedValueBinding注意Mode设置
- 命令行基础、目录及文件管理 、 文本内容操作
- Ucloud之us3不同区域文件同步
- matlab函数式里虚数i怎么表示,matlab虚数_matlab 中复数如何表示?
- Request请求消息数据格式
- WCF--提示:异常消息为“传入消息的消息格式不应为“Raw”。此操作的消息格式应为 'Xml', 'Json'。...
- 测试人员如何快速熟悉产品业务
- C语言学生管理系统(结构体数组)
- 使用CRM来规范审批流程