APP下载

改进的人工蜂群智能算法

2020-08-05刘伉伉

数字通信世界 2020年7期
关键词:智能算法蜜源邻域

刘伉伉

(山东理工职业学院软件工程学院,济宁 272000)

0 引言

人工蜂群算法(ABC)是仿照蜜蜂的采蜜过程提出的仿生智能算法,Karaboga 在2005年首次提出了这个概念,主要目的是解决函数优化的相关问题,蜂群算法充分体现了群体智能思想,利用单只蜜蜂具有的局部寻优能力,从而让全局最优在整个群体里快速的凸显出来,该算法不仅具有良好的全局收敛性能,而且具有算法简单,适用范围广的特点。许多专家学者对此予以关注,并成为计算机领域的重点研究的智能算法。

目前,人工蜂群算法可应用在函数优化问题、作业调度、路径及参数选择等工程领域,均取得了良好的效果。然而,蜂群算法采用的群体进化搜索策略以及基于轮盘赌概率的适应度选择方式,容易使算法产生局部最优解,而无法快速搜寻到全局最优解。而且算法在迭代过程中,邻域搜索策略的不同也会影响算法的收敛性能,本文提出新的改进蜂群算法,通过改进领域搜索策略,提高智能算法的全局寻优能力。

1 人工蜂群算法

群体智能算法(SIA)是一种智能算法,旨在模仿社会生物种群的行为。它是随着现代化AI 行业的迅速成长而产生的一种较为新颖的计算智能模型。SIA 根据生物群体的个体间相互配合、共同协作的一系列行为从而构建行为规则模型,并根据模型中的行为规则演算出群体智能算法。人工蜂群算法也是属于这类算法。蜂群算法是一种基于蜂群智能的优化算法。它模拟蜂群根据各自的分工来收集不同的蜂蜜,并交换蜂蜜来源的信息以找到最佳的蜂蜜来源。蜂群通过舞蹈进行消息传递,确定局部区域最佳蜜源的正确位置,通过此种搜索方式调整正反馈机制,快速找寻全局区域的最佳蜜源位置。

ABC 算法一般由引领蜂和跟随蜂(观察蜂和侦查蜂)组成:一是引领蜂负责在局部区域搜索最佳蜜源,如果搜寻过程中发现花蜜质量较好的蜜源,引领蜂通过舞蹈的方式将蜜源的相关信息传递给后面的跟随蜂,并继续搜寻蜜源,如若发现新的蜜源比之前的蜜源质量较好,则马上将新的蜜源信息传递给跟随蜂。二是跟随蜂收到各个局部区域引领蜂传递来的蜜源信息,并不会直接选择蜜源。而是采用概率选择方式从中选择蜜源,以防止陷入到局部区域无法搜寻到最佳蜜源。确定食物来源位置信息后,跟随蜜蜂将继续搜寻周围的环境找寻优质蜜源。三是如若陷落到局部区域时,侦查蜂会随机搜索新的蜂蜜源帮助蜂群跳出局部范围,重新搜索。通过蜜蜂之间的相互协作找寻最佳蜜源。人工蜂群算法其实本质上就是针对存在可行解的问题通过一系列搜索算法快速找寻最优解。

图1 蜂群智能模型

当采用ABC 算法解决函数求解问题时,寻找全局最优解的过程实际上就是蜜蜂之间相互协作采集蜂蜜的过程。引领蜜蜂根据公式(1)进行寻找优质蜜源。

式中,参数k,j是随机的,k的取值在(1,2,3…SN),j的取值范围为(1,2,3…,d);参数对邻域搜索的范围非常关键。当算法逐渐寻得最优解时。

作者简介: 刘伉伉(1990-),男,汉族,助理讲师,硕士研究生,研究方向为云计算、智能计算。此时邻域搜索范围也会慢慢缩小,以快速寻得最优解。引领蜂确定蜜源后,观察蜂将会通过轮盘赌选择食物来源。

当ABC 算法正在搜寻最佳蜜源(全局最优解)时,引导蜂需要负责找寻优质蜜源。跟随来的观察蜂对该区域根据公式(1)进行搜索。该方法加快了优化算法的收敛速度。侦察蜂可以在任何地方搜索高质量蜂蜜源,以帮助蜂群算法跳出局部最优。该算法通过蜂群之间的相互配合、相互协作快速的解决函数优化问题及其他应用领域难题。

2 改进的蜂群算法

2.1 邻域搜索策略的改进

在ABC 算法寻优期间,不同的进化时期对局部搜索与全局搜索能力的要求是不同的。本文通过自适应调整步长rij来动态调节局部领域搜索与全局搜索之间的平衡以快速找寻最优值。

首先,引领蜂在局部区域内搜索到优质蜜源时,通知跟随蜂进行采蜜,跟随蜂根据公式(5)进行局部区域的领域搜索。而步长rij对领域搜索非常关键,在算法初期,我们可以通过扩大步长扩大局部区域范围的搜索,另外也可以防止算法陷入局部最优的可能性。而在算法后期,算法逐渐接近最优解时,此时应该需要缩小步长rij执行精细的局部邻域搜寻,通过动态调整关键参数 可以提高算法的收敛速度,以便可以高效,快速地找到最佳解

公式(5)为邻域搜索算法,公式(6)则是自适应调整步长rij算法,Max_Gen 为蜂群算法设置的最大迭代次数;Gen 表示算法目前执行的次数;λ设置为一个恒定参数。

2.2 算法性能验证

本文将优化两个经典的复杂数值函数,通过比较两个不同蜂群算法优化数值函数的结果来测试改进的蜂群智能算法的性能。

Rosenbrock 函数(公式3.4)经常称之为Rosenbroc香蕉函数,是一个可测试优化算法性能的非凸函数,在存在全局极小值0。表达式为:

本文测试两个数值函数的维度设置为30维,算法的最大迭代次数MAX_Gen 为1,000次,邻域搜索限定值算法的蜂群数量N 为80.表1则是两个不同的算法通过执行30次优化后求得的平均寻优精度以方差。从表1可以看出,在函数优化过程中改进的ABC 算法在优化精度上要优于基本的人工蜂群算法。

表1 算法函数优化

3 结束语

本文主要介绍了人工蜂群算法,并针对蜂群算法在函数优化过程中存在收敛速度过慢、易陷入局部最优的问题,对蜂群算法的领域搜索策略进行改进,通过自适应调整步长加快蜂群算法的收敛速度,提高了快速寻优能力。并通过函数优化实验证明了改进的人工蜂群智能算法的可行性及高效性。

猜你喜欢

智能算法蜜源邻域
基于混合变邻域的自动化滴灌轮灌分组算法
林下拓蜜源 蜂业上台阶
含例邻域逻辑的萨奎斯特对应理论
尖锐特征曲面点云模型各向异性邻域搜索
指示蜜源的导蜜鸟
从鸡群算法看群体智能算法的发展趋势
改进的多目标快速群搜索算法的应用
烟草香级智能集成分类方法
蜜蜂采花蜜
基于Robocode的智能机器人的设计与实现