人工蜂群算法的改进
- 格式:pdf
- 大小:1.47 MB
- 文档页数:6
分析Technology AnalysisI G I T C W 技术118DIGITCW2020.070 引言人工蜂群算法(ABC )是仿照蜜蜂的采蜜过程提出的仿生智能算法,Karaboga 在2005年首次提出了这个概念,主要目的是解决函数优化的相关问题,蜂群算法充分体现了群体智能思想,利用单只蜜蜂具有的局部寻优能力,从而让全局最优在整个群体里快速的凸显出来,该算法不仅具有良好的全局收敛性能,而且具有算法简单,适用范围广的特点。
许多专家学者对此予以关注,并成为计算机领域的重点研究的智能算法。
目前,人工蜂群算法可应用在函数优化问题、作业调度、路径及参数选择等工程领域,均取得了良好的效果。
然而,蜂群算法采用的群体进化搜索策略以及基于轮盘赌概率的适应度选择方式,容易使算法产生局部最优解,而无法快速搜寻到全局最优解。
而且算法在迭代过程中,邻域搜索策略的不同也会影响算法的收敛性能,本文提出新的改进蜂群算法,通过改进领域搜索策略,提高智能算法的全局寻优能力。
1 人工蜂群算法群体智能算法(SIA )是一种智能算法,旨在模仿社会生物种群的行为。
它是随着现代化AI 行业的迅速成长而产生的一种较为新颖的计算智能模型。
SIA 根据生物群体的个体间相互配合、共同协作的一系列行为从而构建行为规则模型,并根据模型中的行为规则演算出群体智能算法。
人工蜂群算法也是属于这类算法。
蜂群算法是一种基于蜂群智能的优化算法。
它模拟蜂群根据各自的分工来收集不同的蜂蜜,并交换蜂蜜来源的信息以找到最佳的蜂蜜来源。
蜂群通过舞蹈进行消息传递,确定局部区域最佳蜜源的正确位置,通过此种搜索方式调整正反馈机制,快速找寻全局区域的最佳蜜源位置。
ABC 算法一般由引领蜂和跟随蜂(观察蜂和侦查蜂)组成:一是引领蜂负责在局部区域搜索最佳蜜源,如果搜寻过程中发现花蜜质量较好的蜜源,引领蜂通过舞蹈的方式将蜜源的相关信息传递给后面的跟随蜂,并继续搜寻蜜源,如若发现新的蜜源比之前的蜜源质量较好,则马上将新的蜜源信息传递给跟随蜂。
基于参数优化的改进人工蜂群算法及其应用摘要:针对基本人工蜂群算法(ABC)收敛速度较慢、容易陷入局部极值等不足,本文通过引入一个自适应控制参数,将基本ABC算法和一种改进的人工蜂群算法(EABC)进行混合,从而得出一种性能更加优良的改进人工蜂群算法——EFABC。
将本文所提算法与混合前的两种算法应用于三维点云配准实验中,通過对点云库中的多个模型进行配准,结果表明本文所提算法不仅能提高收敛速度和精度,也可在一定程度上提高算法跳脱局部极值的性能。
关键词:群智能优化;人工蜂群算法;自适应控制参数;三维点云配准1 引言人工蜂群算法(Artificial bee colony algorithm, ABC)[1]是由Karaboga、Basturk等,于20xx年提出的一种群体智能优化算法,该算法通过模拟蜜蜂采蜜的行为对问题进行优化求解,具有参数较少、优化精度高等优点。
其与粒子群算法(Particle swarm optimization, PSO)[2]、差分进化算法(Differential evolution, DE)[3]等相比具有更好的优化求解性能[4]。
人工蜂群算法能够在不需要知道问题的特殊信息情况下,对问题进行优劣的比较,通过蜜蜂个体的寻优行为,在整个群体中体现出全局的最优值,故该算法一经提出就受到了极大的关注。
近年来吸引了国内外众多学者对其进行了研究、改进[5-8]以及应用,主要在于函数优化问题[9]、车辆路径问题[10]、经济负荷分配[11]、无线传感器网络动态部署[12]及人工神经网络[13]等领域。
但不可避免的是,人工蜂群算法在其具有较多优点的同时,也存在着一定的缺陷。
它所具有的优良全局搜索能力,也导致了算法在寻优过程中开发能力较差,耗时较长等。
为此,许多学者提出了一些相关的改进措施[14-18],也取得了较好的效果。
但由于多数学者过多的注重开发能力,致使改进后的人工蜂群算法容易陷入局部极值。
一种改进的人工蜂群算法研究
人工蜂群算法是一种计算机科学领域常用的优化算法,该算法模拟了蜜蜂在寻找食物过程中的信息共享和协同作业行为。
然而,传统的人工蜂群算法存在着多种问题,如收敛速度较慢、易陷入局部最优解等。
为此,本文提出了一种改进的人工蜂群算法。
改进的人工蜂群算法通过引入动态适应度权重和精英蜜蜂策略来提高算法的全局搜索能力和收敛速度,具体步骤如下:
1. 初始化种群:在算法开始阶段,需要随机生成一定数量的蜜蜂个体,并对其进行初始化位置和速度。
2. 适应度计算:为了评估每个个体的适应度,需要将问题转化为目标函数,然后计算每个个体在该函数下的实际函数值。
在本算法中,我们采用动态适应度权重的方法来计算适应度值,即通过不断更新权重系数来平衡全局搜索和局部搜索之间的权衡。
3. 轮盘赌选择算子:为了筛选出更优的个体,需要进行选择操作,该算法采用轮盘赌选择算子进行个体选择,并将选择后的个体复制一份以备用。
4. 信息共享:为了更好地利用种群中的信息,改进的人工蜂群算法采用了信息共享机制,即通过在个体之间传递信息来帮助种群更快地收敛到全局最优解。
5. 精英蜜蜂策略:为了强化算法的全局搜索能力,本算法引入了精英蜜蜂策略,在每次迭代中选择适应度值最好的个体作为精英蜜蜂,并以一定的概率来更新其他个体的位置和速度。
6. 收敛检测:为了保证算法的收敛性,需在一定迭代次数内检测种群是否已经趋于稳定,如果已经稳定则停止迭代。
人工蜂群算法算法步骤人工蜂群算法是一种基于群智能的优化算法,其灵感来源于蜜蜂群体的觅食行为。
该算法通过模拟蜜蜂之间的信息交流和合作,实现在解空间中的高效搜索。
人工蜂群算法的主要步骤包括初始化、搜索和跟随三个阶段。
首先,在初始化阶段,算法会在解空间中随机生成一组候选解,作为初始的蜜蜂群体。
然后,根据适应度函数计算每个候选解的适应度值,以便评价其优劣。
接下来,在搜索阶段,蜜蜂会根据一定的策略寻找新的解。
例如,有些蜜蜂会选择在已知最优位置附近进行搜索,以期找到更好的解;而另一些蜜蜂则会在整个解空间内随机搜索。
在新位置,会计算每个候选解的适应度值,以判断其优劣。
最后,在跟随阶段,蜜蜂通过信息共享来选择更好的解。
每个蜜蜂可以根据自身的适应度值和邻近蜜蜂的适应度值,来决定是否跟随其他蜜蜂转移到新的位置。
这样,优秀的解可以在群体中迅速传播,从而帮助其他蜜蜂更好地搜索解空间。
人工蜂群算法具有较强的全局搜索能力,能够快速收敛到最优解。
此外,该算法还具有易于实现、鲁棒性强等优点,因此在工程实践中得到了广泛应用。
例如,在人工智能、数据挖掘、优化算法等领域,都可以看到人工蜂群算法的成功应用。
人工蜂群算法的应用领域人工蜂群算法作为一种高效的优化算法,其在各个领域的应用前景广阔。
以下几个方面是人工蜂群算法发挥优势的主要领域。
1.工程优化:在工程领域,人工蜂群算法可以用于求解各种优化问题,如调度问题、路径问题、网络优化等。
通过人工蜂群算法的应用,可以大大提高工程优化问题的求解速度和准确性,从而为企业降低成本、提高效益提供支持。
2.信号处理:在信号处理领域,人工蜂群算法可以应用于信号调制识别、信号滤波等方面。
通过人工蜂群算法的优化,可以提高信号处理的性能,进一步提升信号质量。
3.金融投资:在金融投资领域,人工蜂群算法可以用于优化投资组合、预测金融市场走势等。
通过对海量金融数据进行智能分析,人工蜂群算法可以帮助投资者找到最佳的投资策略,实现资产增值。
基于差分变异算子的改进人工蜂群算法人工蜂群算法(ABC)是一种基于蜜蜂族群行为和现象的全局优化算法,具有良好的全局搜索能力和鲁棒性。
ABC算法将问题空间视为一个蜜蜂群,在空间中随机生成若干蜜蜂,并利用信息交流的方式,逐步寻找最优解。
然而,ABC算法存在一些不足,例如易陷入局部最优、搜索速度慢等问题。
为了提高ABC算法的优化效率和精度,本文提出一种基于差分变异算子的改进ABC算法。
具体来说,本算法通过引入差分变异算子,将参与局部搜索和全局搜索的策略统一起来,以增强搜索的能力。
同时,采用自适应权重的机制,避免算子参数的手动设置。
改进ABC算法的流程如下:1.初始化:随机生成初始种群,包含若干个蜜蜂。
2.自适应权重设置:根据历史最优解和群体当前适应度值的情况,设置变异率和交叉率的自适应参数。
3.基于差分变异的搜索:采用差分变异算子对当前种群进行局部和全局搜索,得到子代个体。
4.更新蜜蜂群体:根据适应度值的高低,更新种群状态和最优解。
5.停止条件:如果满足停止条件(如达到最大迭代次数或达到精度要求),则输出最优解;否则,返回第2步继续迭代搜索。
差分变异算子是一种常用的进化算法,其思想是对种群中的不同个体进行差分运算,以获得新的进化个体。
具体来说,差分变异算子包括三个关键参数:变异率、交叉率和差分因子。
其中,差分因子用于控制差分计算的大小,变异率和交叉率分别用于控制变异和交叉的概率。
改进ABC算法中,差分变异算子被用于实现全局和局部搜索。
对于全局搜索,差分变异算子将当前最优个体和随机选择的两个个体进行差分计算,得到新的进化个体。
对于局部搜索,差分变异算子将当前个体和邻域内最优个体进行差分计算,得到新的进化个体。
通过差分变异算子,全局搜索和局部搜索的策略被统一起来,从而增强了搜索的能力和精度。
自适应权重的设置是改进ABC算法的另一个重要组成部分。
自适应权重能够根据不同的搜索状态和需求,自动调整变异率和交叉率的大小,从而避免了手动选择参数的繁琐和不准确。
基于差分变异算子的改进人工蜂群算法引言人工蜂群算法(Artificial Bee Colony,ABC)是一种模拟蜜蜂觅食的行为而提出的算法,最早由Karaboga在2005年提出。
它模拟了蜜蜂在寻找蜜源和储存蜜的过程,通过蜜蜂在蜜源周围的觅食、舞蹈和传递信息等活动,来完成全局最优解的搜索。
ABC算法在处理复杂问题时存在一些不足,比如收敛速度较慢、易陷入局部最优等问题。
为了克服这些不足,本文将介绍一种基于差分变异算子的改进人工蜂群算法。
1. 算法原理改进人工蜂群算法基于原始ABC算法,引入了差分进化算法中的差分变异操作。
差分进化算法是一种进化算法,它通过差分变异操作在种群中搜索新的个体,以更好地发现全局最优解。
通过引入差分变异操作,改进人工蜂群算法可以加快收敛速度,并提高算法的全局搜索能力。
改进人工蜂群算法的主要步骤如下:(1) 初始化蜜蜂群和蜜源位置。
(2) 根据蜜蜂个体的位置,计算其适应度值。
(3) 通过觅食行为和舞蹈行为,更新蜜蜂群的位置。
(4) 引入差分变异操作,产生新的个体。
(6) 重复步骤(3)~(5),直到满足停止条件。
2. 差分变异操作差分变异操作是差分进化算法的核心操作之一,其主要思想是从当前种群中选择三个个体,并对其进行线性组合,产生新的个体。
具体而言,差分变异操作可以分为以下几个步骤:(1) 随机选择三个不同的个体a、b和c。
(2) 通过线性组合计算新个体d,即d = a + F * (b - c),其中F是变异因子,一般取值为[0, 1]。
(3) 对新个体d进行适应度评估。
差分变异操作的引入可以帮助算法跳出局部最优,加快收敛速度,并提高全局搜索能力。
3. 实验结果与分析为了验证基于差分变异算子的改进人工蜂群算法的有效性,本文设计了一系列实验,并与原始ABC算法进行了对比。
实验结果表明,基于差分变异算子的改进人工蜂群算法在收敛速度和搜索能力上都有显著提高。
与原始ABC算法相比,改进的算法在相同迭代次数下,能够更快地找到全局最优解,并且更容易避免陷入局部最优。
一种改进的人工蜂群算法研究人工蜂群算法是一种模拟自然蜜蜂觅食行为的优化算法。
在这种算法中,一群“蜜蜂”通过随机飞行来探索整个搜索空间,并将找到的食物源信息传递给其他蜜蜂。
在迭代过程中,蜜蜂们不断地更新搜索策略,最终找到最优解。
然而,原始的人工蜂群算法存在一些问题,例如搜索精度低、易陷入局部最优等。
因此,本文提出了一个改进的人工蜂群算法,以解决这些问题。
(1)初始化:随机生成一群蜜蜂,并将它们分成三个子群:工蜂、侦查蜂和观察蜂。
每个子群的数量可以根据实际情况进行调整。
(2)工蜂阶段:工蜂通过随机飞行在搜索空间中探索,并将找到的食源信息传递给其他工蜂。
工蜂挑选出最好的食源并在其周围进行精细搜索。
(3)侦查蜂阶段:侦查蜂通过在搜索空间中随机飞行来探索未被发现的食源。
侦查蜂会在一定时间内返回到其所在子群,如果找到更好的食源,就会与其他蜜蜂交换信息,以便其他蜜蜂能够使用这些信息进行搜索。
(4)观察蜂阶段:观察蜂通过观察工蜂和侦查蜂的行为来优化搜索策略。
观察蜂会根据其他蜜蜂探索的食源信息选择更好的搜索路径,并将其传递给工蜂和侦查蜂。
(5)更新策略:根据蜜蜂们发现的最优食源,更新搜索策略。
如果时间充裕,可以通过增加蜜蜂数量和迭代次数来提高搜索精度。
此外,为了避免算法陷入局部最优解,本文还加入了惯性因子和随机因素。
惯性因子用于控制搜索过程中的跳出局部最优的能力。
随机因素用于在搜索过程中引入随机性,增加算法的探索能力。
最后,本文将改进的人工蜂群算法与其他优化算法在测试函数上进行对比。
结果表明,改进的算法具有较高的搜索精度和收敛速度,且能够避免陷入局部最优解。
因此,改进的人工蜂群算法具有很好的应用前景。
基于差分变异算子的改进人工蜂群算法
人工蜂群算法是一种新的优化算法,它模拟蜜蜂采蜜的行为进行优化。
人工蜂群算法已经成功应用于多个领域。
基于差分变异算子的改进人工蜂群算法具有更高的收敛速度和更好的全局搜索能力,可以更准确地解决实际问题。
差分变异算子是一种用于优化算法的关键组成部分。
它基于差分算法和变异算法,用于产生新的解。
在差分变异算子中,差分算法用于产生新的解向量,变异算法用于产生扰动向量。
这两个向量组合起来得到新的解向量。
通过这种方式,产生了更多的解向量,增加了搜索空间,提高了优化算法的性能。
改进的人工蜂群算法使用差分变异算子来提高搜索性能。
在基本的人工蜂群算法中,优势个体和劣势个体之间的差异很小,导致搜索空间较小,易受到局部最优解的影响。
通过引入差分变异算子,改进的人工蜂群算法可以更好地发现全局最优解。
具体来说,差分算法和变异算法替换了原有的随机搜索和邻域搜索。
同时,算法中的主要参数和算法模型需要进行适当的调整,以适应新的搜索机制。
通过这些改进,算法的性能得到提高,能够更准确地解决实际问题。
我们还可以将差分变异算子与其他优化方法相结合,以进一步提高搜索性能。
例如,我们可以将其与粒子群算法相结合,以产生更好的搜索方向。
此外,我们还可以使用多种差分变异算法,以产生更多的解向量。
每个差分变异算法都具有不同的特点,因此我们可以将它们结合起来,以产生更全面的搜索结果。
《人工蜂群算法及其在语音识别中的应用研究》摘要:随着科技的不断发展,语音识别技术在各个领域得到了广泛的应用。
为了提高语音识别的准确性和效率,本文提出了一种基于人工蜂群算法的优化方法。
本文首先介绍了人工蜂群算法的基本原理和特点,然后详细阐述了其在语音识别中的应用过程及优势,并通过实验结果证明了该方法的有效性。
一、引言随着人工智能技术的不断发展,语音识别技术作为一项关键技术,在智能家居、智能驾驶、医疗诊断等领域得到了广泛的应用。
然而,由于语音信号的复杂性和不确定性,传统的语音识别方法往往难以满足实际需求。
为了提高语音识别的准确性和效率,本文提出了一种基于人工蜂群算法的优化方法。
二、人工蜂群算法基本原理与特点人工蜂群算法是一种模拟自然界中蜜蜂觅食行为的优化算法。
它通过模拟蜜蜂在寻找食物过程中的信息交流和协同行为,实现对问题的寻优。
该算法具有以下特点:1. 群体智能:人工蜂群算法通过模拟蜜蜂群体的协同行为,实现问题的寻优,具有较强的群体智能。
2. 快速收敛:该算法通过信息交流和反馈机制,快速找到问题的最优解。
3. 鲁棒性强:人工蜂群算法对初始解的要求不高,能够在复杂的搜索空间中快速找到最优解。
三、人工蜂群算法在语音识别中的应用1. 语音特征提取在语音识别中,首先需要对语音信号进行特征提取。
人工蜂群算法可以用于优化特征提取过程,通过寻找最优的特征参数,提高语音识别的准确性。
2. 声学模型训练声学模型是语音识别系统的重要组成部分,其性能直接影响到语音识别的准确率。
人工蜂群算法可以用于优化声学模型的参数训练过程,通过寻找最优的参数组合,提高声学模型的性能。
3. 语言模型优化语言模型是语音识别系统中的另一个关键部分,它负责将声学模型的输出转化为具体的文字信息。
人工蜂群算法可以用于优化语言模型的规则和参数,提高语言模型的准确性和效率。
四、实验结果与分析为了验证人工蜂群算法在语音识别中的应用效果,本文进行了多组实验。
2018年1月计算机工程与设计Ja n.2018第 39 卷第1 期 C O M P U T E R E N G IN E E R IN G A N D D E S I G N V o l.39 N o.1人工蜂群算法的改进赵红星12 !常小刚2(1.兰州交通大学交通运输学院,甘肃兰州730070#2.兰州交通大学现代信息技术与教育中心,甘肃兰州730070)摘要:为改善人工蜂群算法(A B C)的深度搜索能力,提出一种改进的人工蜂群算法(S A B C)。
借鉴混合蛙跳算法(S F L A)的进化机制,将蜂群划分为多个模因组,使每个新个体与自身所在模因组的最坏个体进行优劣比较,能够更加容易保存群体中的“新生”个体,改善群体的整体质量,增加算法的深度搜索能力。
通过7个测试函数进行实验,统计结果表明了 S A B C算法在求解函数优化问题时具有较好的算法性能。
关键词:人工蜂群算法#混合蛙跳算法#深度搜索#寻优速度#函数优化中图法分类号:T P301.6 文献标识号:A文章编号%1000-7024 (2018)01-0260-06d o i: 10. 16208/1. is s n l000-7024. 2018. 01. 045Im provem ent of artificial bee colony algorithmZ H A O H o n g-x i n g1,2,C H A N G X ia o-g a n g2(1.S ch o o l o f T r a f f ic an d T r a n s p o r ta tio n,L a n z h o u J ia o to n g U n iv e r s ity,L a n z h o u 730070, C h in a#2.M o d e rn In fo rm a tio n T e c h n o lo g y an d E d u c a tio n C e n te r,L a n z h o u J ia o to n g U n iv e r s ity,L a n z h o u730070, C h in a)A b s tra c t:T o im p ro v e th e a r tific ia l bee c o lo n y a lg o rith m(AB C)search c a p a b ilitie s,an im p ro v e d a r tific ia l(S A B C)w as p ropose d.T h e e v o lu tio n a ry m e ch a n ism o f th e s h u ffle d fro g le a p in g a lg o rith m(S F L A)w as re fe re n ce d.T h e c o lo n yw as d iv id e d in to m u ltip le m em e g ro u p s and each n e w in d iv id u a l w as com pare d w it h th e w o r t t m e m o g ro u p.T h is m e th o d can e a s ily save th e n e w in d iv id u ll and th e q u a lity o f th e c o lo n y isw e re co n d u cte d o n a set o f7 b e n c h m a rk fu n c tio n s.T h e s ta tis tic a l re s u lts d e m o n s tra te g o od p e rfo rm m e r ic ll o p tim iz a tio n p ro b le m s.K e y w o rd s:a r t if ic ill bee c o lo n y a lg o r ith m;s h u ffle d fro g le a p in g a lg o r ith m;d e p th s e a rc h za tio n#引言人工蜂群算法(A B C)w由于其搜索性能好、控制参数 少、算法简单等优点得到了众多学者的关注,其中,文 献*+利用自由搜索算法中的信息素、灵敏度模型代替传 统的轮盘赌选择模型,并引人O B L策略产生新蜜源取代每 次迭代的最差蜜源,提出了一种改进的人工蜂群算法,提 高了算法的搜索深度;文献[3]分析了蜂群算法的进化过 程,提出了一种带共享因子的A B C算法,通过动态协调算 法的广度搜索和深度搜索机会,从而使A B C算法性能得到 改善;文献[4]将蚁群算法(A C O)与A B C算法相结合 并成功应用于医疗数据的分类模型;文献[5]提出了一种收稿日期:2016-10-31#修订日期:2017-01-05基金项目:兰州交通大学青年科学基金项目(2014027)局部搜索机制,通过对群体中最优个体邻域的开发,增加 算法的深度搜索能力;文献[6, 7]利用差分进化策略改 进了 A B C算法的进化机制,提高了 A B C算法的收敛精度 和收敛速度;文献*]根据P S O算法思想,提出了一种 多精英的A B C算法,通过不同精英个体和全局最优个体的 启发,加快了进化策略的搜索速度,提高了个体的深度搜 索能力;而文献[9]基于极值优化策略高效率的寻优机制 重新设计了人工蜂群算法的跟随蜂局部搜索方案,并具体 给出了新方案的组元变异算子和最差组元判定规则,使算 法的寻优精度和收敛速度均有提高。
不同于以上A B C算法的改进机制,本文依据混合蛙跳 算法(S F L A)的进化思想,提出了一种A B C算法作者简介:赵红星(1989 -)男,甘肃合水人,博士研究生,工程师,研究方向为智能计算、系统分析;常小刚(1979-)男,陕西宝鸡人,硕士,高级工程师,研究方向为计算机软件及算法、网络安全。
E-mail: zhaohx@m 第39卷第1期赵红星,常小刚:人工蜂群算法的改进-261 -(S A B C)。
在S F L A算法中,进化而来的新个体是与当前模 因组中的最坏个体进行 较,个体 汰 符合生物种群的“弱肉强食”思想。
而在A B C算法中,进‘来 体是 生该个体 体进行 较,这样便 会丢失一些 其 体 当前群体中的最坏个体的良,而这些 将有助 高群体的整体质量。
将S F L A算法与A B C算法相结合,将能够使A B C算法的所有 个体质量 快速改善,高算 深度和搜索速度。
对7个测试函数的实验结果统计分析,表明了 S A B C 算法具有比A B C算 好 性能。
1算法介绍1.1人工蜂群算法A B C算法是模 群觅食行为提出的一种元启发式算法,蜂群的进化是由雇佣蜂、观察蜂和侦察蜂3种蜜蜂共 成的。
雇佣 食物源进行 ,并将 食物源观 共享,观 以较大的概率 食物源雇佣 食物源 方式进行食物源 ,侦食物源丢弃并产生一个新的食物源。
在蜂群进 程中,雇佣蜂和观 数量与食物源的数量 ,并始终保持不变,数量只有一只,3种蜜蜂,内食物源。
在A B C算法中,雇佣蜂是在食物源 内随机搜索,每一个食物源只能被一个雇佣蜂进行开采,所有食物源都能 雇佣蜂所开采,加大 群的广度 能力;在观察蜂阶段,每一个观察蜂都倾向于选择优秀食物源并 其 进行开采,食物源因为能 引观获 开会,高 群的深度 能力;群中 进 食物源丢弃,并在内生 食物源,群跳 部最点的能力有所 。
A B C算 3种蜜蜂实现对广度 和 深度 ,以较 大 会食物源。
A B C算 流程如下所述:()在食物源的搜索范围内按式()随机初始化食物 源信息久 0U 0 1,2,# 0 1,2,…,Xy 0r-(m a x,-—m in;)2m in,-(1)式中"w为食物源个数,d为食物源的维度,)为(,1) 之间的随机数,m a x、m i n为食物源第y维的取值上下限。
()雇佣蜂按式()食物源x r 0 (X1X2,…,X* +1(X* —X片),…,X d)(2)式中:x r w表示在X,邻域内 食物源,1为食物源的产生算式,々为d维 内维度,然后根据X,~x,的优劣决定是否利用X r代替X,。
()计算所有食物源 概率。
()观察蜂按式(3)搜索新的食物源X= 0 (X…1,X…2,…,X* +1(X* —X M),…,X d)(3)式中"X=表示在X w邻域内搜索到的新的食物源,X w是按 照轮盘赌规则选择的食物源,代表 体将有可能被多次进化,其它 数意义与雇佣蜂的参数意义相同,同样根据X=和X w的优劣决定是否利用X;T代替X w。
()滞次数最大的食物源,并按照丢弃条件决定是 生 食物源 当前停滞次数最大的食物源。
()判断搜索条件是否结束,否则转步骤()。
1.2混合蛙跳算法混合蛙跳算法(S F L A)是由E u s u f f等在P S O算法的 基础上 。
S F L A是一 合了确定性方法和 性方 群 体 启 式 算 ,具 算 ,群 体 性 ,容易实现等特点。
S F L A算法思想是:将青蛙群体划分为 干规模 模因组,模 立完成一定次数部 ,模 部 模 中最 青 蛙不 模 中青 蛙 群 体所 表 数 质 量 获高 ,进 将所 模 合 ,并 划 规 模的模 ,促使青蛙群体全局交流。
S F L A算法流 程 下 :()随机初始化包含P只青蛙的蛙群,P=M X N,M 为模 数,N为每一个模 中青蛙个数#⑵将P只青蛙降序排序,并逐一分配至M个模因组中;()对每个模因组中的最坏个体按照图1方式进化,待一次进 成后,所有模 最 体,并重最坏个体按照图1方式进化,使模因组的局部进化次 数达到T1次;()将所有模因组混合,使青蛙群体实现信息的全局 交流,如果算法结束条件不,转步骤()。
图1S F L A的个体进化方式•262 -计算机工程与设计2018 年在S F L A中,通过模因组中的最坏个体进化迭代,使 最坏个体的解的质量得到改善,如果最坏个体并没有得到 改善,则在搜索范围内随机搜索替代当前的最坏个体,提 高了算法的全局搜索能力,在该模因组的下一次循环中,新的最坏个体有可能是上一次循环的非最坏个体,也有可 能是上一次最坏个体的小幅度进化,多次迭代之后,将会 使模因组中的个体整体质量得到提高。
在局部搜索完成后,将所有模因组进行混合,并重新划分新的模因组,可以增 强蛙群的全局信息交流能力,从而使得每个模因组中具有 更多的优秀信息,提高算法的收敛精度和收敛速度。