改进的人工蜂群优化算法

文档序号:137239 发布日期:2021-10-22 浏览:19次 >En<

阅读说明:本技术 改进的人工蜂群优化算法 (Improved artificial bee colony optimization algorithm ) 是由 罗红梅 王长江 赵铭海 谷玉田 郑文召 陈攀峰 杨培杰 屈冰 张娟 王庆华 于 2020-04-17 设计创作,主要内容包括:本发明提供一种改进的人工蜂群优化算法,该改进的人工蜂群优化算法包括:步骤1:初始化种群及蜜源位置,设定采蜜蜂、观察蜂种群数量;步骤2,开展蜜源位置评价;步骤3,采蜜蜂结合粒子群算法和遗传算法开展蜜源邻域搜索;步骤4,若邻域搜索次数超过设定值,则采蜜蜂保留搜索到的最佳蜜源,观察蜂以一定概率跟随采蜜蜂,根据蜜源质量决定要放弃的蜜源并随机产生一个新蜜源代替;步骤5,当达到最大迭代次数或最小精度要求时,确定适应度最大的蜜源为最优解。该改进的人工蜂群优化算法通过交叉系数协调算法的探索能力和开发能力,提供一种稳定性和准确性大大提高的改进的人工蜂群优化算法,为解决复杂问题最优解提供了技术手段。(The invention provides an improved artificial bee colony optimization algorithm, which comprises the following steps: step 1: initializing the population and the honey source position, setting the number of bee swarms and observing the number of the bee colonies; step 2, carrying out honey source position evaluation; step 3, honey bee gathering is combined with a particle swarm algorithm and a genetic algorithm to carry out honey source neighborhood search; step 4, if the neighborhood searching frequency exceeds a set value, the honey-gathering bees reserve the searched optimal honey source, the observation bees follow the honey-gathering bees with a certain probability, the honey source to be abandoned is determined according to the quality of the honey source, and a new honey source is randomly generated to replace the honey source; and 5, when the maximum iteration times or the minimum precision requirement is met, determining the honey source with the maximum fitness as the optimal solution. The improved artificial bee colony optimization algorithm greatly improves stability and accuracy through exploration capacity and development capacity of a cross coefficient coordination algorithm, and provides a technical means for solving an optimal solution of a complex problem.)

改进的人工蜂群优化算法

技术领域

本发明涉及群体智能优化算法技术领域,特别是涉及到一种改进的人工蜂群优化算法。

背景技术

人工蜂群算法的优点在于通过模拟蜂群的智能采蜜行为,蜜蜂根据各自的分工进行不同的采蜜活动,并实现蜜源信息的共享和交流,从而找到问题的最优解,算法具有结构简单、易于实现、无需梯度信息、参数较少等特点。但是通常的人工蜂群算法也存在易于过早陷入局部最优点,进化后期收敛速度慢,对过于复杂的问题搜索不到最优解,计算精度不高等问题。为此将人工蜂群算法与粒子群算法、遗传算法相结合,对人工蜂群算法的邻域搜索公式进行改进,协调算法的探索和开发能力,避免传统人工蜂群算法因全局探测能力不足而陷入局部最优解的问题。

蜂群算法属于群体智能优化算法的一种。群体智能指的是许多简单个体通过相互协作表现出复杂智能行为的特性,其利用群体优势,在没有集中控制并且不提供全局模型的前提下,为解决复杂问题提供了一种新的思路。群体智能优化算法是群体智能研究的一个重要分支,通过模拟自然界中鸟群、蜂群、蚁群、鱼群等的进化或觅食行为,建立解决最优化问题的新方法,常用的有遗传算法、粒子群算法、蜂群算法、蚁群算法、人工鱼群算法等。群体智能算法将搜索和优化过程模拟成个体的进化或觅食过程,用搜索空间中的点模拟自然界中的个体,将求解问题的目标函数对应为个体对环境的适应能力,将个体的觅食过程或优胜略汰过程,类比为搜索和优化过程中用好的可行解替换较差可行解的迭代过程。与大多数基于梯度的应用优化算法不同,群体智能优化算法依靠的是概率搜索算法,虽然概率搜索算法通常要采用较多的评价函数,但是与梯度方法及传统的演化算法相比其优点还是比较显著的。群体智能优化算法有这样几个明显的特征:实现简单、鲁棒性强、易于扩充和自组织性。群体智能优化算法通用性强,易于与其他算法相结合,算法中仅涉及各种基本的数学操作,计算相对简单。另外,其数据处理过程对计算机CPU和内存的要求也不高。而且,这种方法只需目标函数的输出值,而无需其梯度信息。更为重要的是,群体智能优化算法具有并行性和分布式特点,为处理大量的以数据库形式存在的数据提供了技术保证。当然,群体智能优化算法也存在早熟、收敛速度慢、优化效果对算法参数有一定的依赖性和理论分析深度不够等不足。

蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,其主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。蜂群算法主要分为基于繁殖行为与基于采蜜行为两大类。基于蜜蜂繁殖行为的蜂群算法将蜂群分为蜂王、雄蜂和工蜂三种群体,新蜂王的产生类似于进化计算中的一个优化过程,蜂王是优化过程中待求解问题的最优解,蜂群繁殖进化过程也是蜂王不断更新的过程。最常见的基于蜜蜂繁殖行为的蜂群算法是Abbass于2001年提出的蜜蜂交配优化算法(honey beemating optimization,简称HBMO),其模拟由一只蜂王进化为一个包含一只或多只蜂王的蜂群的整个过程,并被用于解决可满足性问题。Amiri等(2007)基于K-均值聚类算法将自组织映射神经网络与HBMO结合用于细分网上书店市场;Niknam(2011)将HBMO分别与混沌局部搜索、模糊聚类技术结合以解决多目标配电网重构问题;Yang等(2009)用改进婚配的HBMO优化武器组网系统的军事布阵;Marinakis等(2010)将HBMO与多级邻域搜索——贪婪自适应搜索过程、扩展邻域搜索算法结合以解决车辆路径问题;Horng(2009,2010,2011)将HBMO分别与最大熵值技术、多级最小交叉熵值法、Linde-Buzo-Gray算法结合用于寻找图像边界及构造矢量量化的码本。除HBMO外,基于蜜蜂繁殖行为的蜂群算法还有蜜蜂进化型遗传算法和蜂王算法等。基于蜜蜂繁殖行为的蜂群算法本质上是对遗传算法(geneticalgorithm,简称GA)的改进。最常见的基于蜜蜂采蜜行为的蜂群算法是Karaboga于2005年提出的人工蜂群算法(artificial bee colony algorithm,简称ABC)。Karaboga(2005)用ABC训练神经网络、聚类分析和解决约束优化问题;Kang等(2009)将ABC与Nelder-Mead单纯形法结合以解决逆分析问题;Pulikanti等(2009)将ABC与贪婪启发法、局域搜索结合以求解二次方程渐缩问题;Rebreyend等(2010)将ABC与贪婪法结合以优化多处理机调度;Omkar等(2011)用并行向量估计ABC优化多目标复合件设计;Jeya等(2010)用三种蜜蜂并行搜索的ABC优化软件测试定位。

在一种多规则人工蜂群改进算法专利中,提出根据编码操作方法生成初始解;进行解码操作,选取制造资源,计算目标函数值。该算法后期迭代寻优过程中未有全局最优值记忆和参与算法过程,致使该算法因全局探测能力不足而陷入局部最优解。同时根据规则选取初始解在一定程度上不利于增加进化群体的物种多样性和提高全局搜索能力。增加多样性的同时易导致进化系统后期的振荡,不能快速收敛于全局最优点。人工蜂群算法在接近全局最优时,仍旧存在搜索速度变慢、过早收敛、个体多样性减少,以致陷入局部最优解的问题。人工蜂群算法收敛速度较慢,究其原因就是其搜索公式式决定了其精于探索、疏于开发的特性。除ABC外,基于蜜蜂采蜜行为的蜂群算法还有虚拟蜜蜂算法、蜂群优化算法、自适应混沌量子蜜蜂算法、蜜蜂群优化算法、蜜蜂算法、蜜蜂采蜜算法及蜜蜂选巢算法等。目前,蜜蜂的采蜜行为、学习、记忆和信息分享的特性已成为群智能的研究热点之一。蜂群算法是一种新兴的群智能优化技术,其应用前景十分广阔。对蜂群算法的理论及应用进行深入研究将会在很大程度上拓展群智能和相关技术的研究与应用领域,使它们获得更大发展和广泛融合,从而能有效解决更多的实际问题。

为此我们发明了一种新的改进的人工蜂群优化算法,解决了以上技术问题。

发明内容

本发明的目的是提供一种克服了传统人工蜂群算法因全局探测能力不足而陷入局部最优解问题的改进的人工蜂群优化算法。

本发明的目的可通过如下的技术措施来实现:改进的人工蜂群优化算法,该改进的人工蜂群优化算法包括:步骤1:初始化种群及蜜源位置,设定采蜜蜂、观察蜂种群数量;步骤2,开展蜜源位置评价;步骤3,采蜜蜂结合粒子群算法和遗传算法开展蜜源邻域搜索;步骤4,若邻域搜索次数超过设定值,则采蜜蜂保留搜索到的最佳蜜源,观察蜂以一定概率跟随采蜜蜂,根据蜜源质量决定要放弃的蜜源并随机产生一个新蜜源代替;步骤5,当达到最大迭代次数或最小精度要求时,确定适应度最大的蜜源为最优解。

本发明的目的还可通过如下的技术措施来实现:

在步骤1中,初始化蜜源,随机产生初始群体P,即SN个初始解;设置采蜜蜂、观察蜂数量,设置蜂群算法中参数,包括蜂群大小、蜜蜂最大搜索次数、蜜蜂搜索空间的上界和下界、迭代终止条件。

在步骤2中,蜜源评价,每个蜜源代表算法优化问题中的一个可能解,蜜源的质量对应着解的质量,用目标函数值或适应度值表示,以此评估蜜源质量。

在步骤3中,在采蜜蜂搜索邻近蜜源时,应用粒子群算法改进邻域搜索路径,使用全局最优解引导的人工蜂群算法较好地增强算法的开发能力,其搜索公式如下式所示:

其中,xi,j为蜜源搜索的当前记忆位置,vi,j为搜索产生的新的候选位置,φi,j为[-1,1]之间的随机数,XGlobal=[XGlobal,1,XGlobal,2,…,XGlobal,D]为全局最优解,通过调节β的值平衡算法的探索与开发能力;在邻域搜索更新蜜源位置时应用遗传算法中二项交叉,建立交叉操作的公式如下式所示:

其中,rand为0到1之间均匀分布的随机值,cr表示交叉系数,通过交叉系数cr来协调算法的探索能力和开发能力,优化采蜜蜂寻找最佳蜜源能力。

在步骤4中,当采蜜蜂邻域搜索次数没有超过限定值事,流程返回到步骤2。

在步骤5中,当没有达到最大迭代次数或满足最小精度误差时,流程返回到步骤2。

本发明的改进的人工蜂群优化算法,将粒子群和遗传算法思想引入融合到人工蜂群算法中,使用全局最优解的引导的人工蜂群算法较好地增强算法的开发能力,将二项交叉与人工蜂群算法结合,通过交叉系数协调算法的探索能力和开发能力,提供一种稳定性和准确性大大提高的改进的人工蜂群优化算法,为解决复杂问题最优解提供了技术手段。

附图说明

图1为本发明的改进的人工蜂群优化算法的一具体实施例的流程图。

具体实施方式

为使本发明的上述和其他目的、特征和优点能更明显易懂,下文配合附图所示作详细说明如下。

蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。但人工蜂群算法在接近全局最优时,存在搜索速度变慢、过早收敛、个体多样性减少,以致陷入局部最优解的问题,因此将人工蜂群算法与粒子群算法、遗传算法相结合,对人工蜂群算法的邻域搜索公式进行改进。

具体的计算步骤如下:

1、(步骤101)初始化蜜源,随机产生初始群体P,即SN个初始解(),其中SN为采蜜蜂的数量,也等于蜜源数目。每个解Xi(i=1,2,3,...,SN)是一个D维的向量,D为优化参数的个数。

2、(步骤102)根据适应度函数对蜜源进行评价。对最大迭代次数、蜜蜂最大搜索次数以及蜂群总数(一般定义采蜜蜂和观察蜂各占一半)进行设置。通过以上过程蜂群进行搜索,算法中的每个蜜源代表优化问题中的一个可能解,蜜源的质量对应着解的质量,用适应度值表示。

3、(步骤103)采蜜蜂开始搜索邻近蜜源,基本的人工蜂群算法在邻域搜索时,从当前记忆位置Xi,通过下式产生新的候选位置Vi

其中k,j是随机选择的下标,满足k∈{1,2,…,SN},j∈{1,2,…,D},k≠i,φi,j为[-1,1]之间的随机数。

改进邻域搜索中参照粒子群算法,使用全局最优解引导的人工蜂群算法增强原算法的开发能力,其搜索公式如下式所示:

其中XGlobal=[xGlobal,1,xGlobal,2,…,xGlobal,D]为全局最优解,通过调节β的值可以很好地平衡算法的探索与开发能力,β取0到1.5之间的随机值时优化效果较好。

在采蜜蜂邻域搜索中引入遗传算法,在D维解空间中对每次蜜源位置的更新采用二项交叉,交叉的项一是当前个体的对应位置分量,二是结合个体历史最优和群体历史最优的复合位置分量。采蜜蜂邻域搜索后与这两个分量进行交叉操作,首先对每一个分量都生成一个0到1之间均匀分布的随机值rand,使用cr表示交叉系数,若rand≤cr,则接受目标分量,否则保留当前个体的对应分量。具体如下式所示:

其中通过交叉系数cr来协调算法的探索能力和开发能力,当cr越大时越有利于开发,但是会降低探索能力;cr越小时越有利于增强算法的探索能力,但是会降低算法的开发能力。这里β取-1到1之间的随机值,以避免过多的降低算法的探索能力,出现提前收敛的情况。

4、(步骤104)所有的采蜜蜂若未达到邻域搜索次数则返回步骤102,否则完成搜索过程后,它们将记忆中的蜜源信息与观察蜂共享,观察蜂根据从采蜜蜂处得到的信息,根据蜂源的花蜜量,观察蜂以轮盘赌的方式选择某个蜜源的概率为:

pi=0.9fiti/max(fit)+0.1

其中

式中fiti为蜜源i的适应度值,di为蜜源i处对应的目标函数值,i=1,2,3,...,SN。

观察蜂像采蜜蜂那样对记忆中的位置做一定的改变,按照步骤103中进行邻域搜索,并检查新候选位置的花蜜量,如果新位置优于记忆中的位置,则用新位置替换原来的蜜源位置;否则保留原位置。如果采蜜蜂和观察蜂在其邻域范围内的搜索次数超过限定次数,仍然没有发现更高花蜜量的蜜源,则放弃该蜜源,同时采蜜蜂和观察蜂的角色转换为侦察蜂,并在全局范围内随机产生一个新蜜源。侦察蜂按下式产生新位置:

xi,j=xmin,j+rand(0,1)(xmax,j-xmin,j)

其中Xmax和Xmin为搜索空间的上界和下界,rand(0,1)为[0,1]范围内的随机实数。

6、(步骤106)判断当前最优解是否满足收敛条件,即达到最大迭代次数或优化误差小于限定值等,如果满足则结束任务,否则,保存当前的最优蜜源并跳转至步骤102。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于灰狼算法CSTR周期操作参数的优化方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!