课程设计蜂群算法及其应用
人工蜂群算法理论与应用研究开题报告

人工蜂群算法理论与应用研究开题报告一、题目:人工蜂群算法理论与应用研究二、选题的背景及意义人工蜂群算法是基于蜜蜂采蜜行为研发出来的一种群体智能优化算法。
蜜蜂采蜜时,通过不断搜索和交流,最终找到花园的最佳路径。
这种搜索路径的方法被称为蜜蜂搜索策略,用于对应用问题中的参数优化问题。
随着大数据、云计算等新技术的不断发展,人工蜂群算法在机器学习、数据挖掘、优化问题等领域中得到了广泛的应用。
在实际应用中,通过人工蜂群算法求解目标函数可以取得很好的优化效果。
比如在无线传感器网络中,通过人工蜂群算法平衡传感器节点的能量,可以有效延长网络寿命。
在机器学习领域,人工蜂群算法可以通过最小化误差的方法来寻找最佳的模型参数。
在优化问题中,人工蜂群算法也能够求出最优解。
本文旨在深入研究人工蜂群算法的理论基础与应用,探索其优化效果及应用前景。
三、研究内容及方向1. 人工蜂群算法基础理论研究对人工蜂群算法的基础理论进行深入研究,包括算法原理、算法流程、参数设置等方面的内容。
2. 人工蜂群算法应用实例研究选取具有代表性的实际问题,探究人工蜂群算法在不同领域的应用情况及效果。
3. 人工蜂群算法改进研究针对人工蜂群算法中存在的问题进行改进研究。
通过算法的改进,提高算法的优化效果。
四、研究方法与技术路线1. 人工蜂群算法基础理论研究①查阅相关文献,深入了解人工蜂群算法的理论基础和原理。
②调查已有相关算法在实际问题中的应用情况。
③总结算法的特点、流程以及局限性等。
2. 人工蜂群算法应用实例研究①选取代表性的应用领域,收集实际问题及其解法。
②将问题抽象成适合人工蜂群算法求解的形式,并进行算法求解。
③分析求解结果,总结算法的优缺点及应用前景。
3. 人工蜂群算法改进研究①分析目前算法的局限性和问题。
②针对局限性和问题进行改进,提出改进算法。
③验证改进算法的有效性和稳定性。
五、预期成果1. 对人工蜂群算法的基础理论及应用进行深入研究。
2. 在一定领域内验证人工蜂群算法的优化效果,并比较其与其他算法的优缺点。
遗传 粒子群 蜂群算法

遗传粒子群蜂群算法
遗传算法(Genetic Algorithm),粒子群算法(Particle Swarm Optimization,PSO)和蜂群算法(Artificial Bee Colony,ABC)都是优化算法,它们分别从生物学和社会学中汲取灵感,以解决优化问题。
1. 遗传算法(Genetic Algorithm,GA):
-原理:模拟生物进化过程,通过选择、交叉和变异等操作,在候选解的空间中搜索最优解。
-应用:在函数优化、参数调整、组合优化等问题上应用广泛。
2. 粒子群算法(Particle Swarm Optimization,PSO):
-原理:模拟鸟群或鱼群中个体的协作行为,每个个体(粒子)根据自身经验和群体中其他粒子的经验来更新自己的位置。
-应用:用于连续优化、机器学习中的特征选择、神经网络训练等。
3. 蜂群算法(Artificial Bee Colony,ABC):
-原理:模拟蜜蜂群体在食物搜索过程中的行为,包括蜜蜂的招募、觅食和信息传递等。
-应用:主要应用于连续和离散优化问题,如机器学习中的特征选择、任务调度等。
这些算法都属于群体智能(Swarm Intelligence)范畴,通过模拟自然界中群体行为来解决问题。
它们具有全局搜索能力和较好的鲁棒性,适用于复杂问题和高维空间中的优化。
在应用这些算法时,通常需要根据具体问题的特点来选择适当的算法,并进行参数调整以提高性能。
算法的性能受到问题类型、问题维度、算法参数等多方面因素的影响。
优化算法——人工蜂群算法(ABC)

优化算法——人工蜂群算法(ABC)一、人工蜂群算法的介绍手机微信关注公众号ID:datadw 学习数据挖掘,研究大数据,关注你想了解的,分享你需要的。
人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。
人工蜂群算法属于群智能算法的一种。
二、人工蜂群算法的原理1、原理标准的ABC算法通过模拟实际蜜蜂的采蜜机制将人工蜂群分为3类: 采蜜蜂、观察蜂和侦察蜂。
整个蜂群的目标是寻找花蜜量最大的蜜源。
在标准的ABC算法中,采蜜蜂利用先前的蜜源信息寻找新的蜜源并与观察蜂分享蜜源信息;观察蜂在蜂房中等待并依据采蜜蜂分享的信息寻找新的蜜源;侦查蜂的任务是寻找一个新的有价值的蜜源,它们在蜂房附近随机地寻找蜜源。
假设问题的解空间是维的,采蜜蜂与观察蜂的个数都是,采蜜蜂的个数或观察蜂的个数与蜜源的数量相等。
则标准的ABC算法将优化问题的求解过程看成是在维搜索空间中进行搜索。
每个蜜源的位置代表问题的一个可能解,蜜源的花蜜量对应于相应的解的适应度。
一个采蜜蜂与一个蜜源是相对应的。
与第个蜜源相对应的采蜜蜂依据如下公式寻找新的蜜源:其中,,,是区间上的随机数,。
标准的ABC算法将新生成的可能解与原来的解作比较,并采用贪婪选择策略保留较好的解。
每一个观察蜂依据概率选择一个蜜源,概率公式为其中,是可能解的适应值。
对于被选择的蜜源,观察蜂根据上面概率公式搜寻新的可能解。
当所有的采蜜蜂和观察蜂都搜索完整个搜索空间时,如果一个蜜源的适应值在给定的步骤内(定义为控制参数“limit”) 没有被提高, 则丢弃该蜜源,而与该蜜源相对应的采蜜蜂变成侦查蜂,侦查蜂通过已下公式搜索新的可能解。
其中,是区间上的随机数,和是第维的下界和上界。
2、流程∙初始化;∙重复以下过程:o将采蜜蜂与蜜源一一对应,根据上面第一个公式更新蜜源信息,同时确定蜜源的花蜜量;o观察蜂根据采蜜蜂所提供的信息采用一定的选择策略选择蜜源,根据第一个公式更新蜜源信息,同时确定蜜源的花蜜量;o确定侦查蜂,并根据第三个公式寻找新的蜜源;o记忆迄今为止最好的蜜源;判断终止条件是否成立;三、人工蜂群算法用于求解函数优化问题对于函数其中。
一种高效的求解函数优化问题的人工蜂群算法

一种高效的求解函数优化问题的人工蜂群算法人工蜂群算法(Artificial Bee Colony Algorithm)是一种高效的优化算法,可以求解各种函数优化问题。
该算法模拟了蜜蜂群体中的觅食行为,通过尝试不同的解来寻找最优解。
本篇文章将介绍人工蜂群算法的基本原理以及如何使用该算法求解一个函数优化问题。
人工蜂群算法基本原理人工蜂群算法模拟了蜜蜂群体中3种不同的行为:员工蜂、观察蜂和侦查蜂。
员工蜂在蜂巢中搜索食物源,观察蜂观察员工蜂的行为并试图找到更优的解,而侦查蜂则在搜索空间中随机搜索未探索的区域。
算法的步骤如下:1. 初始化种群:随机生成一定数量的解,称为蜜蜂。
2. 员工蜂阶段:每个员工蜂根据当前的位置搜索周围的解,并更新其位置。
如果更新后的解比原来的解更优,员工蜂就将这个解带回蜂巢。
3. 观察蜂阶段:观察蜂在蜂巢中观察所有的员工蜂,并试图找到更优的解。
观察蜂通过跟踪最优的员工蜂来确定其所要访问的解的位置。
4. 侦查蜂阶段:侦查蜂在搜索空间中随机搜索未探索的区域,如果找到比当前最优解更优的解,则将其带回蜂巢。
5. 更新最优解:在每个周期的最后,根据目标函数的值更新当前最优解。
6. 重复步骤2-5,直到满足停止准则。
使用人工蜂群算法求解函数优化问题函数优化问题是指寻找一个函数的最小值或最大值。
例如,我们想要找到函数f(x)=x^2在区间[0,5]内的最小值。
这个问题可以使用人工蜂群算法来解决。
首先,我们需要确定目标函数,即要优化的函数。
在这个例子中,目标函数为f(x)=x^2。
接下来,我们需要确定搜索空间,也就是变量x可以取的范围。
在这个例子中,搜索空间为[0,5]。
然后,我们需要确定算法的参数。
这些参数包括种群大小、搜索周期、员工蜂和观察蜂访问解的邻域大小和侦查蜂随机搜索的概率等。
最后,我们使用人工蜂群算法求解函数优化问题。
算法会在搜索空间内不断寻找最优解,并在每个周期的最后更新最优解。
当算法满足停止准则时,我们就得到了最优解。
人工蜂群算法 算法步骤

人工蜂群算法算法步骤人工蜂群算法是一种基于群智能的优化算法,其灵感来源于蜜蜂群体的觅食行为。
该算法通过模拟蜜蜂之间的信息交流和合作,实现在解空间中的高效搜索。
人工蜂群算法的主要步骤包括初始化、搜索和跟随三个阶段。
首先,在初始化阶段,算法会在解空间中随机生成一组候选解,作为初始的蜜蜂群体。
然后,根据适应度函数计算每个候选解的适应度值,以便评价其优劣。
接下来,在搜索阶段,蜜蜂会根据一定的策略寻找新的解。
例如,有些蜜蜂会选择在已知最优位置附近进行搜索,以期找到更好的解;而另一些蜜蜂则会在整个解空间内随机搜索。
在新位置,会计算每个候选解的适应度值,以判断其优劣。
最后,在跟随阶段,蜜蜂通过信息共享来选择更好的解。
每个蜜蜂可以根据自身的适应度值和邻近蜜蜂的适应度值,来决定是否跟随其他蜜蜂转移到新的位置。
这样,优秀的解可以在群体中迅速传播,从而帮助其他蜜蜂更好地搜索解空间。
人工蜂群算法具有较强的全局搜索能力,能够快速收敛到最优解。
此外,该算法还具有易于实现、鲁棒性强等优点,因此在工程实践中得到了广泛应用。
例如,在人工智能、数据挖掘、优化算法等领域,都可以看到人工蜂群算法的成功应用。
人工蜂群算法的应用领域人工蜂群算法作为一种高效的优化算法,其在各个领域的应用前景广阔。
以下几个方面是人工蜂群算法发挥优势的主要领域。
1.工程优化:在工程领域,人工蜂群算法可以用于求解各种优化问题,如调度问题、路径问题、网络优化等。
通过人工蜂群算法的应用,可以大大提高工程优化问题的求解速度和准确性,从而为企业降低成本、提高效益提供支持。
2.信号处理:在信号处理领域,人工蜂群算法可以应用于信号调制识别、信号滤波等方面。
通过人工蜂群算法的优化,可以提高信号处理的性能,进一步提升信号质量。
3.金融投资:在金融投资领域,人工蜂群算法可以用于优化投资组合、预测金融市场走势等。
通过对海量金融数据进行智能分析,人工蜂群算法可以帮助投资者找到最佳的投资策略,实现资产增值。
蜜蜂算法

蜜蜂算法现代设计技术机自1005班任永武群体智能•自然界中的群居昆虫,如蚂蚁、蜜蜂、鱼群等,个体结构都十分简单。
个体之问通过合作表现出来的行为能力却十分复杂。
•群居昆虫个体无智能,但通过合作从一定程度上体现出较高的“智能”。
受社会性昆虫群体行为的启发,研究人员通过对它们的模拟产生了一系列解决传统优化问题的新方法,这些研究就是所谓的群体智能。
•群体智能指的是“简单智能的主体通过合作表现出复杂智能行为的特性”。
•特点:分布式控制、全局信息传播、非直接通讯模式和自组织突出了群体中个体之间通过协作而表现出复杂行为的涌现现象。
为寻找复杂的分布式问题的解决方案提供了新的思路。
群体智能算法•群体智能算法是模拟自然界生物的群体行为而构造的随机优化算法。
•群体智能算法是从某种由大量个体表现出来的群体行为出发,从它们的群体行为中提取模型,为这些行为建立一些规则,从而提出优化算法。
•群体智能算法将搜索和优化过程模拟成个体的进化或觅食过程,用搜索空间中的点•模拟自然界中的个体,将求解问题的目标函数度量成个体对环境的适应能力,将个体的•优胜劣汰过程或觅食过程类比为搜索和优化过程中用好的可行解取代较差可行解的迭•代过程。
从而,形成了一种具有“生成+检验’’特征的迭代搜索算法f2】o •群体智能算法本质上是一种概率搜索,它不需要问题的梯度信息,具有以下不同于•传统优化算法的特点f3】:①群体中相互作用的个体是分布式的,不存在直接的中心控制,•不会因为个别个体出现故障而影响群体对问题的求解,具有较强的鲁棒性;②每个个体•只能感知局部信息,个体的能力或遵循规则非常简单,所以群体智能的实现简单、方便;•③系统用于通信的丌销较少,以非直接的信息交流方式实现个体协作,易于扩充;④自•1常常见的群体智能算法•模拟蚂蚁行为的蚁群算法•模拟鸟类行为的微粒群算法•模拟青蛙觅食的混合蛙跳算法•模拟鱼类生存习性的人工鱼群算法•模拟蜜蜂觅食的人工蜂群算法•成功应用于很多领域,如函数优化、神经网络训练、寻找最优路径、调度问题、结构优化、机器人学习、图像处理等。
人工蜂群算法原理
人工蜂群算法原理人工蜂群算法(Artificial Bee Colony Algorithm,ABC算法)是一种基于蜜蜂群体行为特点而产生的一种全局优化算法,由Dervis Karaboga于2005年首次提出。
该算法模拟了蜜蜂在搜索优秀食源时的行为,具有较强的全局搜索能力和快速收敛的特点,已广泛应用于各种优化问题的求解。
ABC算法的原理基于自然界中蜜蜂群体行为的特点,其核心思想主要包括三个方面:蜜蜂个体的行为模式、信息的传递方式和种群动态的调整机制。
下面将结合这三方面对ABC算法的原理进行详细说明。
1. 蜜蜂个体的行为模式在ABC算法中,蜜蜂的行为主要分为三类:工蜂、观察蜂和侦查蜂。
其中,工蜂主要负责搜索和开发蜜源,观察蜂则负责跟踪和评估不同工蜂发现的蜜源的质量,侦查蜂则负责在整个蜜蜂群体中搜索并发现新蜜源。
具体而言,ABC算法初始化时随机生成一定数量的工蜂群体,每个工蜂代表了一个解向量,即求解问题的一个可行解。
每个工蜂根据自身当前位置的解向量附近进行局部搜索,并且把搜索到的新解向量周围的解向量称为邻居。
在搜索过程中,每个工蜂会计算邻居解向量的适应度值,并将搜索到的更优质的解向量更新为自己的“蜜源”。
2. 信息的传递方式ABC算法中信息的传递主要是通过观察蜂完成的。
观察蜂会不断跟踪和评估工蜂发现的蜜源的质量,并将信息传递给其他工蜂和侦查蜂。
具体而言,在每次迭代中,每个观察蜂会从当前工蜂中随机选择一个进行“观察”,并比较其“蜜源”与其他工蜂的“蜜源”之间的优劣。
如果发现当前工蜂的蜜源更优秀,则该观察蜂就会将该工蜂的蜜源更新到自己的邻居解向量中。
此外,ABC算法还引入了“跟随”的概念,即当某个观察蜂发现一个更优质的解向量时,它会通过一定的概率将该解向量定位为自己的“蜜源”,并使所有的工蜂跟随其所对应的观察蜂进行搜索。
这样一来,整个蜜蜂群体就能够全局地搜索最优解。
3. 种群动态的调整机制ABC算法中种群动态的调整机制主要包括两种方式:工蜂群体的更新和侦查蜂的发现新蜜源。
人工蜂群算法(ABC)算法
谢谢
在2005年由Karaboga小组为解决多变量函数优化问题提出 的人工蜂群算法(artificial bee colony algorithm)。
1算法原理——蜜蜂采蜜机理
蜂群的智能模型中有三个基本的组成要素:蜜源、被雇佣的蜜蜂和未被雇佣的蜜 蜂。 蜜源:相当于优化问题的可行解。 被雇佣的蜜蜂:引领蜂,模型中引领蜂的数量通常是与蜜源对应的。引领蜂具有 记忆功能,将自己借搜索到的蜜源相关信息(距离蜂巢的远近、方向、花蜜的丰 富程度等)存储起来,并以一定的概率分享给其他的蜜蜂。 非雇佣蜂:有两种非雇佣蜂。 侦察蜂:在蜂巢周围搜索附近的蜜源;根据观察,蜂群中的侦察蜂数量大约占整 个蜂群数量的5%一20%。 跟随蜂:蜂巢附近等待引领蜂共享蜜源信息的蜜蜂,他们观察引领蜂的舞蹈,选 择自己认为满意的蜜蜂进行跟随。蜂群中的跟随蜂和引领蜂的数量相等。
人工蜂群算法(ABC算法)
PPT下载:/xiazai/
目 录
1 2 3
算法简介 算法原理 算法流程
4 与其他群智能优化算法的比较 4
未来的研究方向
1
算法简介
人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集 群智能思想的一个具体应用。 主要特点是不需要了解问题的特殊信息,只需要对问题进 行优劣的比较,通过各个人工蜂个体的局部寻优行为,最终 在群体中使全局最优值突现出来,有着较快的收敛速度。
1
1.蜜源初始化
蜜源i(i=1,2, …,NP)的质量对应于解的适应度值 fiti,NP为 蜜源的数量。 设求解问题的维数为 D,在 t 次迭代时蜜源 i 的位置表示为 t t X it [ xit1 , x i 2 ,, xiD ] ,其中t 表示当前的迭代次数; xid ( Ld ,Ud ), Ld 和Ud 分别表示搜索空间的下限和上限, d=1,2, …,D。 蜜源i的初始位置按照(1)式在搜索空间随机产生。
人工蜂群算法简介与程序分析
⼈⼯蜂群算法简介与程序分析⽬前⼈⼯蜂群算法主要分为基于婚配⾏为与基于⾤蜜⾏为两⼤类,本⽂研究的是基于⾤蜜⾏为的⼈⼯蜂群算法。
蜜蜂采蜜⾃然界中的蜜蜂总能在任何环境下以极⾼的效率找到优质蜜源,且能适应环境的改变。
蜜蜂群的采蜜系统由蜜源、雇佣蜂、⾮雇佣蜂三部分组成,其中⼀个蜜源的优劣有很多要素,如蜜源花蜜量的⼤⼩、离蜂巢距离的远近、提取的难易程度等;雇佣蜂和特定的蜜源联系并将蜜源信息以⼀定概率形式告诉同伴;⾮雇佣蜂的职责是寻找待开采的蜜源,分为跟随蜂和侦查蜂两类,跟随峰是在蜂巢等待⽽侦查蜂是探测蜂巢周围的新蜜源。
蜜蜂采蜜时,蜂巢中的⼀部分蜜蜂作为侦查蜂,不断并随机地在蜂巢附近寻找蜜源,如果发现了花蜜量超过某个阈值的蜜源,则此侦査蜂变为雇佣蜂开始⾤蜜,采蜜完成后飞回蜂巢跳摇摆舞告知跟随峰。
摇摆舞是蜜蜂之间交流信息的⼀种基本形式,它传达了有关蜂巢周围蜜源的重要信息如蜜源⽅向及离巢距离等,跟随峰利⽤这些信息准确评价蜂巢周围的蜜源质量。
当雇佣蜂跳完摇摆舞之后,就与蜂巢中的⼀些跟随蜂⼀起返回原蜜源采蜜,跟随蜂数量取决于蜜源质量。
以这种⽅式,蜂群能快速且有效地找到花蜜量最⾼的蜜源。
蜜蜂采蜜的群体智能就是通过不同⾓⾊之间的交流转换及协作来实现的。
具体采蜜过程如图所⽰。
在最初阶段,蜜蜂是以侦查蜂的形式出现,且对蜂巢周闱的蜜源没有任何了解,由于蜜蜂内在动机和外在的条件不同侦查蜂有两种选择:①成为雇佣蜂,开始在蜂巢周围随机搜索蜜源,如图中路线②成为跟随峰,在观察完摇摆舞后开始搜索蜜源,如图中路线。
假设发现两个蜜源和,在发现蜜源后,该侦查蜂变成⼀只雇佣蜂,雇佣蜂利⽤其⾃⾝属性记住蜜源的位置,并⽴刻投⼊到采蜜中。
采蜜完成后蜜蜂带着满载花蜜返回蜂巢,将花蜜卸载到卸蜜房,卸载完成后雇佣蜂有三种可能的⾏为①放弃⾃⼰发现的花蜜量不⾼的蜜源,变成⼀个不受约束的⾮雇佣蜂,如图中的路线;②在招募区跳摇摆舞,招募⼀些待在蜂巢中跟随峰,带领其再次返回所发现的蜜源如图中的路线;③不招募其他蜜蜂,继续回到原来的蜜源采蜜如图中的路线。
人工蜂群算法研究及其应用
学校代码*****分类号TP18学号**********密级公开西安电子科技大学博士学位论文人工蜂群算法研究及其应用作者姓名:张松一级学科:数学二级学科:应用数学学位类别:理学博士指导教师姓名、职称:刘三阳教授学院:数学与统计学院提交日期:2019年9月On the artificial bee colony algorithms andapplicationsA dissertation submitted toXIDIAN UNIVERSITYin partial fulfillment of the requirementsfor the degree of Doctor of Philosophyin Applied MathematicsByZhang SongSupervisor:Liu Sanyang ProfessorSeptember2019摘要摘要在传统最优化方法不断发展的同时,最近20多年兴起的进化算法异军突起,发展迅速.进化算法以达尔文的进化论为基础,通过模拟生物进化过程与机制来求解问题.进化算法不要求优化函数满足一定的条件或者性质,易于求解,已经成为智能算法的研究热点.其中人工蜂群算法就是一类求解速度较快、精度较高的进化算法,因其结构简单、易于实现,一经提出便受到众多学者的关注和研究.人工蜂群算法已被广泛应用于求解各种优化问题,如线性逼近、工程优化、车间调度等.本文通过改进人工蜂群算法在雇佣蜂阶段和观察蜂阶段的搜索方程,增加和调整搜索的结构,较好地提高了算法性能.进而把改进的人工蜂群算法应用于求解0-1背包问题、基于条件风险价值的投资组合模型、流水车间调度问题等,得到了较好的求解结果.本文主要工作如下:1.为了提高人工蜂群算法的求解速度和搜索能力,对搜索方程进行改进,提出改进人工蜂群算法(IABC算法)和新奇人工蜂群算法(NABC算法).并进行大量数据实验,验证了改进搜索方程的优越性.对人工蜂群算法步骤中的雇佣蜂阶段、观察蜂阶段的搜索方程分别引入当前全局最优解,以当前全局最优解为中心,进行邻域搜索,进而用随机搜索策略跳出局部最优解,得到较好的求解结果,提高了算法随机搜索的能力.算法的局部搜索能力和全局搜索能力也得到有效平衡.用标准函数集进行测试,并通过反复数值实验,结果表明,从取得的最优值和求解速度上,改进的人工蜂群算法(IABC算法和NABC算法)都有较好的优越性.然后把改进的搜索方程应用于差分进化算法,数据结果显示,改进后的差分进化算法(IDE算法)收敛速度得到很大提高,也验证了差分进化算法在求解问题最优值过程中是一种比较稳定的进化算法.同时再一次证明改进的搜索方程是一种优秀的搜索方法.2.0-1背包问题是一种应用非常广泛的优化问题,本文尝试用IABC算法对0-1背包问题进行求解,得到了不错的数据结果.在改进的人工蜂群算法(IABC算法)基础上,通过对搜索方程进行取整和离散化处理,提出离散的人工蜂群算法(DIABC 算法),并应用于求解0-1背包问题.利用0-1背包问题的标准测试集进行数值实验,求得了较好的最优值,求解用时相对较短,验证了离散人工蜂群算法(DIABC算法)在求解0-1背包问题上具有很好的收敛性和有效性.3.近年来,投资组合模型在金融领域被深入研究和广泛应用,本文把IABC算法应用于求解基于条件风险价值(CVaR)的投资组合优化问题上,并用实际数据进行数值分析,结果表明该模型可合理地分散投资组合的市场风险.能有效提高投资者的投资收益率,计算速度较快.进一步说明了改进人工蜂群算法在求解实际问题中的可西安电子科技大学博士学位论文靠性和广泛性.4.流水车间调度问题在各行各业中都有应用,主要用来减少工作时间、降低工作成本和提高工作效率.在改进人工蜂群算法(IABC算法)框架的基础上,对初始化阶段、雇佣蜂阶段、观察蜂阶段分别调整了搜索方程,设计出适合求解混合流水车间调度问题的离散人工蜂群算法(HIABC算法).建立雇佣蜂、观察蜂和侦察蜂的搜索步骤,通过调度问题标准测试集进行数值实验,得到了较好的数值结果,验证了HIABC算法求解混合流水车间调度问题的有效性和稳定性.关键词:进化算法人工蜂群算法搜索方程离散化策略数据实验ABSTRACTABSTRACTThe traditional optimization method has been developing continuously.At the same time, evolutionary algorithm has sprung up and developed rapidly in the past20years.Based on Darwin’s evolutionary theory,evolutionary algorithm solves the problem by simulating the evolutionary process and mechanism of organisms.Evolutionary algorithm does not require optimization functions to satisfy certain condition or property and is easy to solve.It has become a research hot spot of the intelligence algorithms.Artificial bee colony algorithm is an evolutionary algorithm with higher speed and higher accuracy.The structure of the algorithm is simple and easy to implement.It has attracted the attention and research of many scholars.Artificial bee colony algorithm has been widely used to solve various optimization problems,such as linear approximation、engineering optimization、job shop scheduling and so on.In this paper,by improving the search equation of artificial bee colony algorithm on employed bees stage and onlooker bees stage,adding and adjusting the search structure, the performance of the algorithm is improved quickly.Artificial bee colony algorithm is applied to solve0-1knapsack problem,portfolio model based on conditional risk value,flow shop scheduling problem and so on,and good results are obtained.The main results are as follows:1.In order to increase the speed and search ability of the ABC algorithm,The search e-quations are improved.Improved artificial bee colony algorithm(IABC algorithm and NBC algorithm)are proposed.A large number of data experiments are carried out to verify the superiority of the improved search equation.In the search equations of the employed bees stage and the onlooker bees stage,the current search optimal solution is introduced into the search equations accordingly.Neighborhood Search Centers on the Current Global Optimal Solution.And using random search strategy to jump out of the local optimal solution,a better solution result is obtained.It improves the algorithm’s ability of random search,and balances the global search ability and the local search ability of the algorithm.The standard function set is used for testing,and a large number of numerical experiments are carried out. The results show that the improved artificial bee colony algorithms(IABC algorithm and NABC algorithm)have better advantages in terms of optimal value and solving speed.Then the improved search equation is applied to the differential evolution algorithm.The results show that the convergence speed of the improved differential evolution algorithm(IDE)is西安电子科技大学博士学位论文greatly improved.It is shown that the differential evolution algorithm is a relatively stable evolutionary algorithm in solving the optimal value of the problem.At the same time,it is shown again that the improved search equation is an excellent search method.2.The0-1knapsack problem is a widely used optimization problem.This paper tries to solve the0-1knapsack problem with IABC algorithm and get good data results.Based on the improved artificial bee colony algorithm(IABC algorithm),a discrete artificial bee colony algorithm(DIABC algorithm)is proposed by integrating and discretizing the search equa-tion.And it is used to solve the0-1knapsack problem.The standard test set of0-1knapsack problem is used to carry out numerical experiments,and a better optimal value is obtained. Solution time is relatively short.It is verified that the discrete artificial bee colony algorithm (DIABC algorithm)has good convergence and validity in solving0-1knapsack problem.3.In recent years,portfolio model has been deeply studied and widely applied in thefi-nancialfield.The improved artificial bee colony algorithm is applied to the CVaR portfolio optimization problem.And this paper analyzes the data with actual data.The results show that the model can reasonably diversify the market risk of portfolio.It can effectively im-prove the return on investment of investors.The calculation speed is better fast.It further illustrates the reliability and extensiveness of the improved artificial bee colony algorithm in solving practical problems.4.Flow shop scheduling problem is applied in all walks of life.It is mainly used to reduce working time,reduce working cost and improve working efficiency.On the basis of IABC algorithm framework,the search equation is adjusted for initialization stage,employed bees stage and onlooker bees stage respectively.A discrete artificial bee colony algorithm(HI-ABC algorithm)for solving hybridflow shop scheduling problem is designed.This paper stands establishing search procedures for employed bees,onlooker bees and scout bees. Through15classical examples,data experiments are carried out.And after repeated calcu-lations,good results are obtained.The effectiveness and stability of the improved discrete artificial bee colony algorithm(HIABC algorithm)for solving the hybridflow shop schedul-ing problem is demonstrated.Keywords:Evolutionary algorithm,Artificial bee colony algorithm,Search equation,Dis-cretization strategy,Data experiment插图索引1.1遗传算法基本流程图 (3)1.2分布估计算法基本流程 (10)2.1蜂群觅食过程图 (18)3.1f1−f4函数收敛曲线图(D=30) (28)3.2f5−f8函数收敛曲线图(D=30) (29)3.3f1−f4函数收敛曲线图(D=30) (37)3.4f5−f8函数收敛曲线图(D=30) (38)3.5f9−f10函数收敛曲线图(D=30) (42)3.6f1−f4函数收敛曲线图(D=30) (48)3.7f5−f8函数收敛曲线图(D=30) (49)3.8f9−f12函数收敛曲线图(D=30) (50)3.9f13−f16函数收敛曲线图(D=30) (51)4.1DIABC算法流程图 (62)5.1不同置信水平下算法搜索效果图 (74)表格索引3.1测试函数基本信息 (27)3.2ABC算法和IABC算法数据比较f1-f5 (31)3.3ABC算法和IABC算法数据比较f6-f10 (32)3.4GABC、EABC和IABC算法数据比较 (33)3.5DEs算法和IABC算法数据比较 (34)3.6PSOs算法和IABC算法数据比较 (34)3.7测试函数基本信息 (36)3.8ABC算法和NABC算法数据比较f1-f5 (39)3.9ABC和NABC算法数据比较f6-f11 (40)3.10GABC、EABC和NABC算法数据比较 (41)3.11ABC、EABC和NABC算法数据比较 (42)3.12ABC、IABC和NABC算法数据比较 (43)3.13DEs算法和NABC算法数据比较 (44)3.14PSOs算法和NABC算法数据比较 (44)3.15ABC算法和NABC算法求解用时比较 (45)3.16ABC算法和NABC算法求解用时比较 (45)3.17测试函数基本信息 (47)3.18DE算法和IDE算法数据比较f1-f4 (52)3.19DE和IDE算法数据比较f5-f8 (53)3.20DE和IDE算法数据比较f9-f12 (54)3.21DE和IDE算法数据比较f13-f16 (55)3.22ABC、EABC和IDE算法数据比较 (56)3.23IDE、IABC和NABC算法数据比较 (57)3.24DEs算法和IDE算法数据比较 (58)4.1测试函数基本信息表1 (63)4.2测试函数基本信息表2 (64)4.3测试函数基本信息表3 (64)4.4ABC算法和DIABC算法数据比较f1−f10 (65)4.5ABC算法和DIABC算法求得最优值数据比较f1−f10 (66)4.6ABC算法和DIABC算法数据比较f11−f18 (67)西安电子科技大学博士学位论文5.1所选股票期望收益率(R) (72)5.2PSO,GA,IABC算法搜索性能比较 (72)5.3最优个股权重 (73)6.1HIABC算法实验数据比较分析 (78)符号对照表符号符号名称min求解最小值s.t.约束条件D可行域R n实数域∥绝对值rand随机数⌈⌉取整Ω空间P概率分布∅空集X随机变量集∩交集∪并集∑求和∏求积lim求极限max取最大arg max取最大值点arg min取最小值点&且∈属于/∈不属于∃存在=不等于⊂包含于⊗and逻辑运算⊕xor逻辑运算缩略语对照表缩略语英文全称中文对照ABC算法Artificial bee colony algorithm人工蜂群算法ACO算法Ant Colony Optimization蚁群算法AFA算法Artificial Fish Algorithm人工鱼群算法AIS算法Artificial Immune System人工免疫算法BBO算法Biogeography-based Optimization生物地理学优化算法BFO算法Bacterial Foraging Optimization细菌觅食算法CRO算法Chemical Reaction Optimization化学反应优化算法CVaR Conditional Value at Risk条件风险价值DIABC算法Descreted improved artificial bee colony algorithm改进离散人工蜂群算法DE算法Differential evolution algorithm差分进化算法EDA算法Estimation of distribution algorithm分布估计算法GA算法Genetic algorithm遗传算法HFSP Hybridflow shop scheduling problem混合流水车间调度问题HIABC算法Hybrid improved artificial bee colony algorithm求解HFSP的人工蜂群算法HS算法Harmony Search Algorithm和声搜索算法IABC算法Improved artificial bee colony algorithm改进人工蜂群算法IDE算法Improved Differential evolution algorithm改进差分进化算法KHA算法Krill Herd Algorithm虾群算法NABC算法Novel artificial bee colony algorithm改进人工蜂群算法PMA算法Population Migration Algorithm人口迁移算法PSO算法Particle Swarm Optimization粒子群算法SFLA算法The shuffled frog leaping algorithm人工蛙跳算法VaR Value at Risk风险价值目录目录摘要 (I)ABSTRACT (III)插图索引 (VII)表格索引 (IX)符号对照表 (XI)缩略语对照表 (XIII)第一章绪论 (1)1.1研究背景 (1)1.2几种经典进化算法简介 (2)1.2.1遗传算法(GA) (2)1.2.2差分进化算法(DE) (7)1.2.3分布估计算法(EDA) (9)1.3进化算法的研究进展 (11)1.4主要内容与结构安排 (14)第二章人工蜂群算法概述 (17)2.1蜂群觅食行为 (17)2.2标准人工蜂群算法(ABC算法) (19)2.3人工蜂群算法的研究进展 (20)2.4本章小结 (23)第三章改进人工蜂群算法 (25)3.1IABC算法 (25)3.2数据实验 (26)3.2.1测试函数集 (26)3.2.2参数设置 (26)3.2.3实验结果 (26)3.3NABC算法 (30)3.4数据实验 (35)3.4.1测试函数集 (35)3.4.2参数设置 (36)3.4.3实验结果 (36)3.5IDE算法 (45)西安电子科技大学博士学位论文3.6数据实验 (46)3.6.1测试函数集 (46)3.6.2参数设置 (46)3.6.3实验结果 (46)3.7本章小结 (56)第四章改进人工蜂群算法求解0-1背包问题 (59)4.10-1背包问题 (59)4.2离散人工蜂群算法(DIABC算法) (60)4.3问题无约束转换 (61)4.4数据实验 (61)4.4.1测试函数集 (61)4.4.2参数设置 (62)4.4.3实验结果 (62)4.5本章小结 (64)第五章改进人工蜂群算法求解CVaR投资组合优化模型 (69)5.1条件风险价值(CVaR) (69)5.2改进人工蜂群算法(IABC算法) (71)5.3数据实验 (71)5.3.1数据选取 (71)5.3.2实验结果 (71)5.4本章小结 (73)第六章改进人工蜂群算法求解混合流水车间调度问题 (75)6.1混合流水车间调度问题(HFSP) (75)6.2离散人工蜂群算法(HIABC算法) (76)6.3数据实验 (77)6.3.1测试设置 (77)6.3.2实验结果 (77)6.4本章小结 (79)第七章结论与展望 (81)参考文献 (83)致谢 (96)作者简介 (98)第一章绪论第一章绪论1.1研究背景物流运输、生物医学、数据处理、投资组合等许多实际问题都涉及全局优化问题.一般地,全局优化问题可以描述为min f(x)s.t.x∈D⊂R n(1-1)其中f(x)为目标函数,x为决策变量,D为可行域.研究者们早期通过问题的性质(如:凸性、可微性、连续性等),用迭代搜索方法求得最优解(如:共轭梯度法、最速下降法、单纯形法等).但是我们知道全局最优问题一般都会有多个局部最优解,利用传统优化算法很容易陷入局部最优.怎样才能跳出局部最优,并快速有效地找到全局最优解,是很多学者一直关注的问题.如何判定找到的解为全局最优解,亦非易事.同时,随着问题维数的增加,在确保算法有效性的基础上,如何提高求解速度和效率也是一大难题.19世纪中后期,英国著名博物学家查尔斯·达尔文[1]在他的《进化论》中说,生物之间通过遗传、变异、竞争等,优胜略汰、适者生存.生物不断地进化着、发展着.种类由少到多,智力由低到高,结构从简单到复杂.在优胜略汰的自然选择中,适应环境的生物个体保留下来,并不断繁衍后代;同时生物个体也会随着环境的变化产生或多或少的优势变异来适应环境,逐渐改进,适者生存.因此,生物进化论的核心是优化,淘汰适应性差的个体,繁衍适应性强的个体.以上奠定了进化算法的理论基础.进化算法以达尔文的进化论为基础,通过模拟生物进化过程与机制来求解问题.近年来,进化算法已经成为人工智能的研究热点.在进化论的基础上,进化算法则相应地主要有选择、重组和变异三个操作步骤,进行逐步寻优,进而求出优化问题的最优解.进化算法主要包括遗传算法、遗传规划、进化规划和进化策略等.进化算法和传统优化算法都是迭代搜索算法,不同的是进化算法在寻优过程中,是从种群出发,一组一组的进行改进、优化,再通过交叉、变异等算子从改进的种群解出发再进行改进,适应值优的解被保留下来,适应值差的解被淘汰,进而求得最优解.进化计算可以根据不同条件、不同问题进行相应调整,具有很好的鲁棒性.在求解过程中,进化算法根据具体问题求解到比较满意的最优解.进化算法求解过程中用到的是目标函数值的信息,不考虑目标函数的具体性质(如:凸性、可微性、连续性等).进化算法的搜索过程中还会用到种群的随机信息,因此也是一种随机算法.进化西安电子科技大学博士学位论文算法为求解复杂优化问题和高维优化问题带来了崭新、有效的方法.相比传统优化算法,进化算法的应用比较广泛,求解问题可以是大规模、高维问题,并且求解过程具有较高的随机性和鲁棒性.随着进化算法队伍的壮大,算法研究的深入和创新,研究人员不断提出新的进化算法.并把算法运用到求解实际问题当中,产生了很大的影响,推动了工业、经济、社会的向前发展,加快了人工智能科学技术的发展.这些算法主要有:遗传算法(GA算法)[2]、差分进化算法(DE算法)[3]、蚁群算法(ACO算法)[4]、粒子群算法(PSO算法)[5]、分布式估计算法(EDA算法)[6]、和声搜索算法(HS算法)[7]、人工免疫算法(AIS算法)[8]、细菌觅食算法(BFO算法)[9]、人口迁移算法(PMA算法)[10]、人工鱼群算法(AFA算法)[11]、化学反应优化算法(CRO算法)[12]、生物地理学优化算法(BBO算法)[13][14]、人工蛙跳算法(SFLA算法)[15]、虾群算法(KHA算法)[16]、人工蜂群算法(ABC算法)[17]等.1.2几种经典进化算法简介本文第一章是进化算法的历史和基础,众多新型智能算法都是以遗传算法基本框架为基础的改进和提高,本文中的人工蜂群算法也不例外,作者学习进化算法就是以遗传算法为起点,然后把蚁群算法、粒子群算法、差分进化算法、和声搜索算法、生物地理优化算法、人工蜂群算法等进行了系统了解和学习的.了解遗传算法,对于读懂此篇论文的读者来说是一个基础和启发;最近几年,不管从应用还是算法改进,最广泛的就是差分进化算法,2019年有关差分进化算法的SCI发文量为智能算法之首,主要原因是算法搜索方程简单、高效,算法稳定性强,因此本文也简单介绍了此算法,并在第三章进行有效改进;分布估计算法一直以来是求解动态、多目标规划的有效方法,在实际应用当中发挥重要作用.作者博士第一年也尝试进行学习,并初步了解其基本知识点,希望把智能算法做得深一些,实用一些,不能只停留在连续函数、单目标、静态规划中,因此也是接下来要深度学习和进一步研究的重要内容.1.2.1遗传算法(GA)最早出现的进化算法是遗传算法[2],他是模拟生物进化过程的一种随机迭代搜索优化算法.遗传算法模仿生物的遗传、进化原理,并引入随机理论.在求解中,从初始变量种群出发,一代一代寻找问题最优解,直至满足收敛条件或终止迭代次数,它是一种迭代算法.与传统搜索算法不同,遗传算法从随机产生的初始种群解开始,在后续迭代中不断进化使得算法收敛于最好的解,它很可能就是问题的最优解或次优解.遗传算法主要通过交叉、变异、选择来实现的.遗传算法通过问题的适应度衡量各个个体的优劣程度,进而进行选择、淘汰.适应度对应于适应度函数,一般与具第一章绪论体求解问题有关.简单遗传算法的基本流程如图1.1.图1.1遗传算法基本流程图在实际计算过程中,遗传算法主要有下述几个步骤1.编码在确定了问题的目标函数和变量后,对变量进行编码,因为问题的解一般是用数字来表示的.编码方式可根据实际情况分为(1)二进制编码将一个二进制串(b0,b1,b2,···,b m)转化为区间[a,b]内对应的实数值xx=a+b−a2m+1·n∑i=1b i·2i(1-2)其中:m+1为二进制串的位数,x为对应的十进制实数.(2)实数编码二进制编码在对多维或者高精度函数问题求解最优值中,容易产生映射误差,因此用实数编码更加直接、便捷,且不存在解的精度问题.(3)格雷码编码格雷码编码的连续两个整数所对应的编码值之间仅仅只有一个码位是不同的,其余码位都完全相同.设一个二进制串(b m,b m−1,···,b2,b1),其对应的格雷码为G=(g m,g m−1,···,g2,g1),则{g m=b mg i=b i+1⊕b i,i=m−1,m−2,···,1(1-3)(4)符号编码在有些问题中,为了便于在遗传算法中利用所求问题的专门知识而产生了符号编码,符号可以是字符,也可以是数字,例如:旅行商问题,假设有n个城市分别记为: C1,C2,···,C n,则[C1,C2,···,C n]就可以构成一个旅行线路的个体.西安电子科技大学博士学位论文而具体使用哪种编码方式,要根据实际的优化问题来确定.2.遗传操作遗传操作是模拟生物基因进化的一种操作方法.遗传操作包括:选择,交叉,变异.(1)选择选择是从群体中选择优质个体并淘汰劣质个体的操作,是在适应值最优的基础上进行的,适应度越大,选择到的可能性越大.常用方法如下(i)轮盘赌选择法轮盘赌方法是目前最基本常用的根据适应值占比进行选取的选择方法.通过个体在种群中的适应值大小的占比,进行选择,一般是成正比的.即占比越大,被选取的概率就越大.个体被选概率p si为p si=f i∑Ni=1f i(1-4)其中N为种群个体数,个体适应度为f i.然后根据这个概率进行选择.(ii)最佳个体保留选择法把适应值最高的个体不进行交叉而直接保留到下一代中.这种方法容易导致局部最优,因此一般不单独使用.(iii)期望值选择法轮盘赌方法在选择个体时,容易把最优个体淘汰,为避免这种情况发生,引入了期望值法.1)M=f if =f i∑Ni=1f iN;2)通过M的整数部分决定个体被选中次数;3)M的小数部分则通过其它方法进行选择,选满为止.(iv)排序选择法根据个体适应值大小排序,基于排序号进行选择.(v)竞争选择法随机选择两个个体,选择适应度大的个体进入新一代,直至选满为止.f m=max(f i,f j)上述五种方法可以相互结合使用,以便提高搜索能力和避免局部最优的情况发生.为了提高GA性能,还有下述方法稳态繁殖:在迭代过程中,用部分优质个体(子代)更新目前群体中部分旧个体(父代)后,产生新一代群体.第一章绪论没有重串的稳态繁殖:在形成新一代群体时,使其中的个体均不重复.这样的好处是增大个体在群体中的分布区域,但增加了计算时间.(2)交叉交叉是指把两个父代个体的部分结构进行替换重组而生成新个体的操作,按照概率P c(0.6∼0.9)随机选取两个个体的操作.一般分为单点交叉:随机选定一个交叉点,两个个体在该点前后进行部分互换,产生新个体,如下000|11→000|01111|01→111|11两点交叉:与上述类似,只是随机地产生两个交叉点.多点交叉:上述两种交叉的推广.均匀交叉:由屏蔽字来决定是否进行交叉01011→0111000100→00001屏蔽字为:10101.屏蔽字为1的进行交叉,屏蔽字为0的不进行交叉.上述交叉方法可以结合使用来提高效果.(3)变异变异就是以很小的概率P m(P m<0.5)随机地改变群体中个体的某些值.对于种群中的个体的基因值,随机产生一个rand,若rand<P m,就进行变异操作,如下100101→100001变异操作是一种局部随机搜索,是一种防止算法早熟的措施.3.适应值函数一般来讲适应值函数视具体问题而定,在具体问题确定后,一般的适应值函数的确定原则为1)遗传算法搜索最大值要求;2)适应值非负的要求.确定适应值函数的方法有:一般方法、线性变换法、幂函数变换法和指数变换法.(1)一般方法最大化问题:F it(f(x))=f(x)最小化问题:F it(f(x))=−f(x)或:最大化问题:F it(f(x))=11+c+f(x),c≤0,c+f(x)≤0最小化问题:F it(f(x))=11+c−f(x),c≤0,c−f(x)≤0 c为目标函数的最大(小)估计.(2)线性变换法f′=α∗f+β其中:f avg=∑ni=1f iN,f max=C mult·f avg,C mult∈(1.2,2.0).则α=(C mult−1)·f avgf max−f avg ,β=(f max−C mult·f avg)·f avgf max−favg为了保证适应值的非负性,故α,β的调整如下α=f avgf avg−f min ,β=−f min·f avgf avg−fmin(3)幂函数变换法f′=f kk视具体问题而定,并经实验后才能确定.(4)指数变换法f′=e−αfα为复制强制指标,一般α越小,复制越趋向于最大适应度的个体.遗传算法的特点以及应用1)遗传算法利用变量的编码进行进化.2)遗传算法从多点出发寻找最优值.3)直接用适应度来进行最优判断.4)引用随机方法搜索和操作,提高搜索能力.5)并行性操作提高搜索区域.但是,遗传算法有两大缺点:欺骗问题、连锁问题.遗传算法表现优于传统优化设计.遗传算法打开了进化算法的大门,开启了进化算法的新篇章.其主要应用领域:优化求解、机器学习、模式识别、图像处理、优化控制、金融投资等,非常广泛.基本遗传算法描述如下Algorithm1遗传算法1:种群初始化;2:随机选取N个个体构成种群;3:从N个个体随机选择两个个体进行交叉;4:从N个个体随机选择一个个体进行变异;5:根据适应度满足终止条件,或者达到最大迭代次数为最终条件,终止.否则,转6;6:在新的个体中根据适应度,进行选择最优个体转入2.1.2.2差分进化算法(DE)美国Berkeley大学的Storn和Price于1997年受遗传算法的启发,提出了差分进化(differential evolution,DE)算法[3].差分进化算法的提出设想是为了求解切比雪夫多项式问题.DE算法通过群体内个体间的合作与竞争产生智能的搜索过程,它保留了遗传算法中基于种群的全局搜索策略,并采用实数编码,简化变异操作,降低算法复杂性.DE算法具有记忆功能,它可以通过动态跟踪当前的搜索状态进行相应的搜索策略的调整,因此有较好的随机性和鲁棒性.DE算法不需要问题的特征信息,结构简单,容易计算,通用性强.因此,它是一种高效的求解复杂优化问题的并行搜索随机优化算法.基本DE算法主要包含变异、交叉、选择三个算子步骤.在算法迭代过程中,三种算子分别对种群不断更新,直到满足迭代条件终止.DE算法的基本过程是:首先随机选取种群中的两个个体,再对两个个体进行差分和有限缩放,并与种群中的另一个个体相加得到新的个体;然后将新的个体与目标个体进行交叉操作产生一个新的个体;最后将得到的新个体与目标个体通过适应值进行比较,保留较优个体,并进入下一代种群中.接下来本文分别介绍差分进化算法中的三个算子:变异、交叉、选择.1.变异算子在每一代种群搜索过程中,变异算子为每一个个体x i产生一个变异个体t i,常见的几种变异操作如下•DE/rand/1t i=x r1+F∗(x r2−x r3)(1-5)•DE/best/1t i=x best+F∗(x r1−x r2)(1-6)•DE/rand/2t i=x r1+F∗(x r2−x r3)+F∗(x r4−x r5)(1-7)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 / 1
课 程 设 计 论 文 题 目 蜂群智能算法与应用 学 院 物理与信息科学学院 专 业 通信工程 班 级 通信工程04班 学生姓名 邹海洋 学 号 20
2013 年 9月 15 日至 2010 年 9 月 30 日 共 2 周 指导教师 江沸波 2013年 9月 27日 1 / 1
蜂群智能算法及其应用 1 研究背景。
伴随着当今社会、经济、文化和科技日新月异的发展,现实生活中面临着
许多复杂的非线性大系统和快速反应性系统,这使得我们传统的优化方法逐渐陷入困境。于是,人们开始寻找更快、更好的方法去解决这些复杂问题。在自然界中,那些不起眼的群居低智能的生物表现出来的令人叹为观止的复杂的群体智慧给予我们启迪,如:蚁群、鸟群、蜜蜂群、鱼群等。在群居生物中,单个个体的智能是简单的,但若干个个体组成的群体却表现出远远超出个体相加的智慧。在群体中,个体间相互合作、相互协调的自组织能力能够完成非常复杂的任务。这种现象引起众多学者的关注,人们开始研究现象背后存在的机理,并用计算机仿真其中可循的规律,用以解决传统优化方法难以解决的复杂问题。其中,较为典型且广泛应用的群体智能算法有:蚁群算法、微粒群算法以及蜂群算法等。 二十世纪初期以来,在优化领域中,传统的方法,如:线性规划、非线性规划、对策论、多目标规划、决策论排队论、随机规划、库存论等,不仅在理论上的研究有很大的发展,而且在军事、经济、城市建设规划、工厂生产规划、最优设计等各个方面的应用取得显著成就。但伴随着社会、经济和科学技术的飞速发展,在生产生活中出现的许多复杂的非线性系统和快速反应系统等不断的呈现在我们面前,使得传统的优化方法遇到了空前的挑战。 群体智能是指由大量数目的智能个体组成的具有智能的群体,这个群体体现出来的智能绝对不是个体智能的简单相加,而是超过这个和的智能现象。在进行目标搜索时,单个个体虽然也能够寻找到目标,但往往只是局限于局部,并不是全局最好的结果。个体在空间中随机搜寻,在没有得到整个群体的信息反馈时,它的搜索是随机的、低智能的、无规律的。只有群体问的个体相互合作、相互协调,进行信息共享时,才能表现出来在全局中针对目标的寻优特征。作为智能个体,就其大小和功能来说,又是相对的,要根据所要解决的具体问题而定。另外,群体智能中的个体,在整个群体寻优过程中也并不能时刻保证都具有寻优的特征,其智能寻优方式的实现足通过整个智能群体的优化特征而体现出来的。 人工蜂群算法作为典型的群体智能算法,是基于种群寻优的启发式搜索算法,充分发挥群体中个体问的信息传递,在蜂巢周围寻找到路径最短,食物最丰富的食物源。由于整个觅食过程与旅行商问题的相似性,该算法适合用来解决旅行商的最短路径问题,并取得较好的结果。 蜂群算法(BCO,Bee Colony Optimization)是受到自然界的蜜蜂行为启发而提出的一种新颖的元启发式优化算法。根据所受启发的生物机理的不同,蜂群算法可分为两大类: 基于蜜蜂繁殖机理的蜂群算法(BCO on propagating)。 基于蜜蜂采蜜机理的蜂群算法(BC0 on gathering)。 两种思想各有其独特的实现原理和发展轨迹。 对于基于繁殖的蜂群算法。Abbass发展出一种蜜蜂繁殖优化模型(BMO,Bee Mating Optimization)。 Bozorg Haddad和A.Afshar共同将其发展并应用基于离散变量的水库优化问题中。随后,Bozorg Haddad等将同一理论在三种数学问 1 / 1
题的测试平台上进行了应用。 蜜蜂的采蜜行为是一种典型的群体智慧行为。Yang发展出一种虚拟蜜蜂理论(VBA,virtual bee algorithm)来解决数值优化问题。VBA中,一群虚拟蜜蜂初始时随机分布在解空间中:这个蜜蜂根据判决函数计算的适应度来寻找附近的花蜜源。理论中,解的优化程度可以用蜜蜂之间交流的剧烈程度来衡量。对于多变量数值优化问题,Karaboga根据蜜蜂采集行为设计了虚拟蜜蜂种群模型(ABC,artificial bee colony algorithm),并和Basturk一起将ABC模型与GA进行了性能上的比较,并进一步与其他比较著名的元启发式理论如:差分进化(DE),粒子群(PSO)在非约束数值优化问题上进行了仿真比较。进而ABC理论被扩展应用到解决约束(CO,constraint optimization)问题,并在13种比较著名的约束优化问题上与DE,PSO进行了比较。目前,ABC模型的研究主要集中在人工神经网络的训练上。
2 蜂群算法的理论基础 Seely最早提出一种蜂群的群居行为为模型。模型中,群体中的各个角色蜜蜂,只是完成简单的、低智商的任务;但群体中的个体通过舞蹈、气味等信息交互方式使整个群体协同能够完成较为复杂的任务,如建筑蜂巢、繁衍后代和觅食等。 Karaboga D在2005年将蜂群算法应用到函数值优化问题上,并提出系统的ABC(Artificial Bee Colony Algorithm)算法,取得很好的效果。 在人工蜂群算法中,食物源的位置表示待优化问题的一个可行解,食物源的丰富程度代表解的质量,即适应度。在模型中,我们通常设:引领蜂的数量=跟随蜂的数量=群体中解的数量。算法中,初始化生成M个解,对于每个解都是一个D维向量。而后,蜜蜂开始对全部的食物源进行循环搜索,最大循环次数为MCN。其中,引领蜂会先对全局进行搜索,并比较搜索前后食物源的丰富程度,蜜蜂会选择食物源较为丰富的目标。当所有的引领蜂完成搜索后,他们会回到信息交流区(舞蹈区)把自己掌握的关于食物源的信息与其他蜜蜂进行信息共享。跟随蜂则会根据引领蜂提供的信息按照一定的概率选择引领蜂进行跟随。越丰富的食物源被选择的概率越大。然后,跟随蜂会和引领蜂一样进行邻域搜索,并选择较好的解。 人工蜂群算法中,蜜蜂的采蜜行为和函数优化问题的对应关系如表2.1所示:
表1 蜂群觅食行为与函数优化的对应关系
蜂群采蜜行为 可行解优化问题 蜜源位置 蜜源大小收益度 寻找及觅食的速度 最大收益度 可行解 可行解的质量 可行解优化速度 最优解
初始化时,随机生成Ns个可行解并计算函数值,将函数值从优到劣排名,前50%作为蜜源位置即引领蜂,后50%为跟随蜂。随机产生可行解的公式如 1 / 1
下: ))(1,0(minmaxminxxxxjjjjirand (1)
其中j∈{1,2,..,Q}为Q维解向量的某个分量。 蜜蜂记录自己到目前为止的最优值,并在当前蜜源附近展开邻域搜索,产生一个新位置替代前一位置的公式为:
)(xxxvkjijijijij (2)
其中j∈{1,2,...,Q},k∈(1,2,..,sn),k为随机生成且k≠i,
为[一1,1]之间的随机数。 蜜蜂采蜜时采用贪婪原则,将记忆中的最优解和邻域搜索到的解做比较,当搜索解优于记忆中的最优解时,替换记忆解;反之,保持不变。在所有的引领蜂完成邻域搜索后,引领蜂跳摆尾舞与跟随蜂共享蜜源信息。跟随蜂根据蜜源信息以一定概率选择引领蜂,收益度大的引领蜂吸引跟随蜂的概率大于收益度小的引领蜂。同样,跟随蜂在采蜜源附近邻域搜索,采用贪婪准则,比较跟随蜂搜索解与原引领蜂的解,当搜索解优于原引领蜂的解时,替换原引领蜂的解,完成角色互换;反之,保持不变。 ABC算法中,跟随蜂选择引领蜂的概率公式为:
snnnfitfitp1
11 (3)
按照如下公式计算适应值:
0),(10,11fffffitiiiiiabs
(4)
根据f是否大于零,
式(3)中,fiti为第f个解的适应值,对应食物源的丰富程度。食物源越丰富,被跟随蜂选择的概率越大。为防止算法陷入局部最优,算法1imit次迭代没有改进,放弃该解,由侦察蜂产生一个新的位置代替。 人工蜂群算法的算法流程: ABC算法的流程为:
1:初始化种群; 2:cycle=l: 3:repeat:
4:雇佣蜂根据公式(2)在解xij的邻域内产生新解(食物源位置)vij,其中,k是i邻域内的一个值,是[一1,1]之间的随机数; 1 / 1
5:应用贪婪原则选择在xij和vij之问做出选择; 6:根据公式(3)(4)计算转移概率pi; 7:根据转移概率pi,跟随蜂选择引领蜂进行跟随,并根据公式(2)产生一个新解;
8:跟随蜂应用贪婪原则选择在xij和vij之问做出选择; 9:放弃一个解,角色转变成侦查蜂,并根据公式(1)产生一个新解; 10:记录最好解; 11:cycle=cycle+1; 12:达到最大循环数,最Pcycle=mcn。, 从上述算法中我们不难看出,ABC算法的核心由三个部分构成: 1.引领蜂:进行邻域搜索; 2.跟随蜂:对目标进行“开采”; 3.侦察蜂:对目标进行“探索”。
3 蜂群算法解决函数优化问题 3.1函数优化问题的描述 目标优化问题可以描述为: Max f(x ) x∈S (5) 或:Min f( x) x∈S (6)
这里S→ 称为搜索空间,f(x):S→称为目标函数。 (5)式描述的优化问题称为极大化问题,(6)式描述的称为极小化问题。 当把f(x)看成是一序列的函数时上述的问题就转变为多目标优化问题。 对很多实际问题进行数学建模后。可将其抽象为一个数值函数的优化问题。由于问题种类的繁多、影响因素的复杂。这些数学函数会呈现出不同的数学特征,比如连续的、离散的、凸的、凹的、单峰值的、多峰值的函数等等,经常遇到的函数还有这些不同数学特征的组合。除了在函数是连续、可求导、低阶的简单情况下可解折地求出其最优解外。大部分情况需要通过数值计算方法来进行近似优化计算,尽管人们对这个问题研究了很多年。但至今仍无一种既能处理各种不同的复杂函数、又具有良好求解结果的数值计算方法。特别是当问题的规模比较大时,优化计算时的搜索空间急 剧扩大,人们认识到要严格地求出其最优解不太现实。所以需要研究出一种能够在可接受的时间和可接受的精度范围内求出数值函数近似最优解的方法或通用算法。蜂群算法提供了求解复杂系统优化问题的通用框架,函数优化正是其最成熟的应用域。也是对蜂群算法进行性能评价的常用算倒。在对各种复杂形式的测试函数的计算中。由于蜂群算法直接以目标函数值作为搜索信息。同时使用多个搜索点进行索,且这种概率搜索始终遍及整个解空间,都能找到几乎全局最优解。对于一些非线性、多模型、多目标的函数优化问题,在其他优化方法较难求解时.遗传算法也能方便地得到较好的结果。 实践表明,遗传算法求解函数优化问题的计算教率比较高、适用范围相当