求解批量流水线调度问题的蜂群算法
分布式装配阻塞流水车间调度问题求解算法研究

分布式装配阻塞流水车间调度问题求解算法研究分布式装配阻塞流水车间调度问题是指通过合理的算法,对分布式装配车间中的多个工作站进行调度,以优化整个工作流程,提高生产效率和产品质量。
随着制造业的发展,车间生产过程中可能出现许多问题,如工作站的阻塞、任务延迟等,这些问题对生产效率造成了很大的影响。
因此,如何解决分布式装配阻塞流水车间调度问题成为了制造业中的重要问题。
在分布式装配车间中,通常包含多个工作站,每个工作站负责不同的任务。
这些任务可能需要按照一定的先后顺序进行,而且不同的工作站之间也存在一定的依赖关系。
如果没有合理调度,工作站之间的阻塞和延迟将会导致整个生产流程的延误。
目前,已经有很多不同的算法被提出来用于解决分布式装配阻塞流水车间调度问题。
其中,常用的算法包括遗传算法、模拟退火算法、蚁群算法等。
这些算法通过优化工作站之间的任务分配和调度顺序,来达到最优的生产效果。
在遗传算法中,通过模拟生物进化过程,将问题转化为一个求解最优解的优化问题。
该算法通过对种群的基因序列进行交叉和变异操作,生成新的个体,并根据适应度函数评估每个个体的适应度,从而选择出最优的个体作为当前种群的父代,进而形成新的种群。
通过迭代的过程,逐渐逼近最优解。
模拟退火算法则模拟了材料退火的过程,通过随机搜索的方式,以接受不太好的解,并在温度逐渐降低的过程中,逐渐收敛到最优解。
在求解分布式装配阻塞流水车间调度问题中,通过模拟退火算法可以在局部最优解中跳出来,以期望找到更优的全局最优解。
蚁群算法则是通过模拟蚂蚁找到食物的行为,在分布式装配车间调度问题中,可以将每个工作站看作是食物,通过模拟蚂蚁在搜索过程中释放信息素的过程,来寻找最优解。
除了以上三种算法,还有其他一些算法,如禁忌搜索算法、粒子群算法等,这些算法各有优劣,可以根据具体问题的特点选择最适合的算法。
在实际应用中,如何选择合适的算法以及算法参数的设置,会对分布式装配阻塞流水车间调度问题的求解产生重要影响。
蜂群算法在数据挖掘中的应用

蜂群算法在数据挖掘中的应用一、引言随着数据量的急剧增长和信息资源的爆炸式扩展,数据挖掘技术逐渐成为现代科学研究和商业决策中不可或缺的工具。
数据挖掘的主要任务是从大量的数据中找到有价值的信息,揭示数据中的潜在规律和关联,用于指导商业决策、科学研究和社会管理。
因此,近年来,在数据挖掘领域中涌现了许多新的算法和模型。
其中,蜂群算法(Bee Algorithm, BA)作为一种群智能优化算法,具有自适应性强、搜索范围广、全局优化能力强、易于实现等优点。
因此,在数据挖掘中也被广泛应用和研究。
本文将详细介绍蜂群算法在数据挖掘中的应用。
二、蜂群算法简介蜂群算法是一类基于群体智慧的优化算法,其灵感源自于蜜蜂群体的生活行为,是一种模拟自然界群体智能行为的优化方法。
它将优化问题转化为蜜蜂在不同信息质量的食物源之间进行搜索和选择的行为,以此模拟群体算法的搜索过程。
蜂群算法的基本思想是通过不断搜索和更新蜜蜂种群中的最佳解,以达到全局最优解的目的。
它通过引入三类蜜蜂,即蜜蜂工人、蜜蜂侦查兵和蜜蜂观察员来模拟一个蜜蜂群体。
其中,蜜蜂工人通过随机搜索邻域来更新当前最优解,蜜蜂侦查兵通过在搜索空间中随机搜索来发现新的可能最优解,蜜蜂观察员则通过观察当前最优解的质量来判断是否需要更新当前最优解。
三、蜂群算法在数据挖掘中的应用1、聚类分析聚类分析是数据挖掘中常用的数据分析技术。
聚类分析的目的是将相似样本聚为一类,并将不相似的样本分为不同的类别。
在聚类分析中,蜂群算法被应用于寻找最佳的聚类中心和半径,以最大化聚类效果。
通过使用蜂群算法,在数据挖掘中聚类分析迅速得到了广泛应用,并取得了一定的研究成果。
在聚类分析中,蜂群算法能够有效地降低数据挖掘过程中的计算复杂度和困难性。
2、关联规则挖掘关联规则挖掘是数据挖掘中的一种重要技术,用于发现数据集中的关联规则,即元素集合之间的相关性。
关联规则挖掘可以被应用于很多领域,如市场营销、网络安全、电子商务等。
优化算法——人工蜂群算法(ABC)

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

基于改进人工蜂群算法的柔性作业车间调度研究
张浩楠;田心平;孙孟珂
【期刊名称】《机电工程技术》
【年(卷),期】2024(53)1
【摘要】为了提高制造业利润和用户满意度,提出了一种改进的人工蜂群算法,解决以加工成本和能耗成本之和为目标的单目标柔性作业车间调度问题。
该算法采用一种有效的双层编码方式并结合随机方式和策略选择初始化雇佣蜂的蜜源用以生成质量更好的初始种群,提高了算法寻优能力。
在寻优过程中,雇佣蜂阶段采用多父代交叉以及变异,保留优秀个体增加了雇佣蜂阶段种群的多样性;在跟随蜂阶段,采用了两种邻域搜索方式用以解决算法陷入局部最优。
最后利用求解柔性作业车间的数据集进行对比实验研究,包括对传统人工蜂群算法的对比,以及对传统遗传算法的对比。
对比表明:改进的人工蜂群算法不仅可以求解单目标柔性作业车间调度问题,而且收敛性好,迭代速度较快。
【总页数】5页(P106-109)
【作者】张浩楠;田心平;孙孟珂
【作者单位】长安大学工程机械学院
【正文语种】中文
【中图分类】TP277
【相关文献】
1.改进人工蜂群算法求解柔性作业车间调度问题
2.基于混合人工蜂群算法的多目标柔性作业车间调度问题研究
3.基于改进人工蜂群算法的多目标绿色柔性作业车间调度研究
4.改进人工蜂群算法求解模糊柔性作业车间调度问题
5.基于改进人工蜂群算法的柔性作业车间调度
因版权原因,仅展示原文概要,查看原文内容请购买。
一种高效的求解函数优化问题的人工蜂群算法

一种高效的求解函数优化问题的人工蜂群算法人工蜂群算法(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]。
然后,我们需要确定算法的参数。
这些参数包括种群大小、搜索周期、员工蜂和观察蜂访问解的邻域大小和侦查蜂随机搜索的概率等。
最后,我们使用人工蜂群算法求解函数优化问题。
算法会在搜索空间内不断寻找最优解,并在每个周期的最后更新最优解。
当算法满足停止准则时,我们就得到了最优解。
人工蜂群算法基本原理

人工蜂群算法基本原理
人工蜂群算法(Artificial Bee Colony Algorithm,简称ABC算法)是一种模拟蜜蜂觅食行为的优化算法,通过模拟蜜蜂在搜索过程中的策略和行为来寻找最优解。
ABC算法的基本原理如下:
1. 初始化蜜蜂群体:随机生成一定数量的“雇员蜜蜂”,它们代表搜索空间中的候选解。
2. 雇佣阶段:每个雇员蜜蜂在当前位置周围随机选择一个相邻位置进行搜索,并计算该位置的目标函数值。
如果新的位置比当前位置更优,则蜜蜂将更新自己的位置和目标函数值,否则保持不变。
3. 观察阶段:每个雇员蜜蜂将自己的位置和目标函数值发送给“观察蜜蜂”,观察蜜蜂根据接收到的信息选择最优的解。
4. 搜索阶段:每个观察蜜蜂随机选择一个雇员蜜蜂的位置,并在其周围进行搜索。
如果搜索得到的新位置比当前位置更优,则观察蜜蜂更新自己的位置和目标函数值;否则保持不变。
5. 跟随阶段:每个观察蜜蜂将自己的位置和目标函数值发送给“跟随蜜蜂”,跟随蜜蜂选择最优的解作为当前最优解。
6. 蜜蜂进化阶段:随机选择一个雇员蜜蜂的位置,并随机扰动其位置。
如果扰动后的新位置比原位置更优,则更新雇员蜜蜂的位置和目标函数值。
这一步骤可以增强算法的局部搜索能力。
7. 终止条件检查:检查是否满足终止条件,如达到最大迭代次数或已经找到满意的解。
8. 返回最优解:返回当前找到的最优解作为算法的输出。
通过不断地重复以上步骤,ABC算法能够逐渐收敛到最优解附近的区域,并找到全局最优解。
其特点是简单、易于实现,并且对于大规模和复杂的优化问题有较好的适应性。
《基于蜂群与遗传混合算法的多目标云工作流任务调度机制研究》范文

《基于蜂群与遗传混合算法的多目标云工作流任务调度机制研究》篇一一、引言随着云计算的迅猛发展,工作流任务调度机制的研究日益重要。
为了提高工作流调度的效率和稳定性,基于智能优化算法的任务调度技术成为当前研究的热点。
本文提出了一种基于蜂群与遗传混合算法的多目标云工作流任务调度机制,旨在通过混合算法的优化,提高任务调度的效率和资源利用率。
二、研究背景及意义随着云计算的普及,云工作流中任务调度的复杂性逐渐增加。
传统的任务调度方法往往无法满足多目标、高效率、低时延等要求。
因此,研究一种高效、智能的任务调度机制具有重要意义。
蜂群算法和遗传算法作为两种优秀的智能优化算法,分别具有不同的优势和特点。
本文将这两种算法进行混合,形成一种新的多目标云工作流任务调度机制,以实现更高的效率和资源利用率。
三、混合算法的提出与实现3.1 蜂群算法蜂群算法是一种模拟蜜蜂觅食行为的优化算法,具有较好的全局搜索能力和鲁棒性。
在任务调度中,我们可以将任务看作食物源,通过模拟蜜蜂的觅食行为来优化任务调度。
3.2 遗传算法遗传算法是一种模拟生物进化过程的优化算法,具有强大的全局寻优能力和较好的局部搜索能力。
在任务调度中,我们可以将任务和资源看作染色体,通过遗传操作来优化任务调度。
3.3 混合算法的实现本文将蜂群算法和遗传算法进行混合,形成一种新的多目标云工作流任务调度机制。
具体实现过程包括:首先,利用蜂群算法的全局搜索能力,对任务进行初步的分配和调度;然后,利用遗传算法的局部搜索能力,对调度结果进行优化;最后,通过多次迭代,得到最优的任务调度方案。
四、实验与分析4.1 实验环境与数据集本实验采用云工作流模拟器进行实验,并使用真实的工作流数据集进行验证。
实验环境包括多台虚拟机,模拟不同的云资源环境。
4.2 实验结果与分析通过实验,我们发现基于蜂群与遗传混合算法的任务调度机制在多目标优化、高效率和低时延等方面均表现出较好的性能。
与传统的任务调度方法相比,该机制能够更好地平衡任务负载、提高资源利用率、降低任务执行时延。
人工蜂群算法原理

人工蜂群算法原理人工蜂群算法(Artificial Bee Colony Algorithm,ABC算法)是一种基于蜜蜂群体行为特点而产生的一种全局优化算法,由Dervis Karaboga于2005年首次提出。
该算法模拟了蜜蜂在搜索优秀食源时的行为,具有较强的全局搜索能力和快速收敛的特点,已广泛应用于各种优化问题的求解。
ABC算法的原理基于自然界中蜜蜂群体行为的特点,其核心思想主要包括三个方面:蜜蜂个体的行为模式、信息的传递方式和种群动态的调整机制。
下面将结合这三方面对ABC算法的原理进行详细说明。
1. 蜜蜂个体的行为模式在ABC算法中,蜜蜂的行为主要分为三类:工蜂、观察蜂和侦查蜂。
其中,工蜂主要负责搜索和开发蜜源,观察蜂则负责跟踪和评估不同工蜂发现的蜜源的质量,侦查蜂则负责在整个蜜蜂群体中搜索并发现新蜜源。
具体而言,ABC算法初始化时随机生成一定数量的工蜂群体,每个工蜂代表了一个解向量,即求解问题的一个可行解。
每个工蜂根据自身当前位置的解向量附近进行局部搜索,并且把搜索到的新解向量周围的解向量称为邻居。
在搜索过程中,每个工蜂会计算邻居解向量的适应度值,并将搜索到的更优质的解向量更新为自己的“蜜源”。
2. 信息的传递方式ABC算法中信息的传递主要是通过观察蜂完成的。
观察蜂会不断跟踪和评估工蜂发现的蜜源的质量,并将信息传递给其他工蜂和侦查蜂。
具体而言,在每次迭代中,每个观察蜂会从当前工蜂中随机选择一个进行“观察”,并比较其“蜜源”与其他工蜂的“蜜源”之间的优劣。
如果发现当前工蜂的蜜源更优秀,则该观察蜂就会将该工蜂的蜜源更新到自己的邻居解向量中。
此外,ABC算法还引入了“跟随”的概念,即当某个观察蜂发现一个更优质的解向量时,它会通过一定的概率将该解向量定位为自己的“蜜源”,并使所有的工蜂跟随其所对应的观察蜂进行搜索。
这样一来,整个蜜蜂群体就能够全局地搜索最优解。
3. 种群动态的调整机制ABC算法中种群动态的调整机制主要包括两种方式:工蜂群体的更新和侦查蜂的发现新蜜源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Computer Engineering andApplications计算机工程与应用 求解批量流水线调度问题的蜂群算法 桑红燕 ,潘全科 ,任立群 SANG Hongyan ,PAN Quanke ,REN Liqun 1.聊城大学数学科学学院,山东聊城252059 2.聊城大学计算机学院,山东聊城252059 3.聊城市人民医院,山东聊城252000 1.School of Mathematics Science,Liaocheng University,Liaocheng,Shandong 252059,China 2.School of Computer Science,Liaocheng University,Liaocheng,Shandong 252059,China 3.Liaocheng Hospital,Liaocheng,Shandong 252000,China
SANG Hongyan。PAN Quanke,REN Liqun.Artificial bee colony algorithm for lot—streaming flow shop scheduHng prob- lem.Computer Engineering and AppHcafions,2011,47(21):35-38.
Abstract:An Improved Artificial Bee Colony(IABC)algorithm is presented for solving the Lot-streaming Flow Shop Sched- uling Problem(LFSP)with the objective of minimizing the maximum completion time,i.e.,makespan.In the proposed IABC algorithm,the famous NEH heuristic is used to produce al1 initial solution,and the chaos is employed to generate a new Call- didate.In order to avoid trapping into local optima,the solution not improved in a number of generations in the population is replaced by the perturbation of the best solution found SO far.In addition,a self-adaptive local search is presented and im- bedded in the IABC algorithm to balance the exploitation and exploration.The computational results show that the IABC al— gorithm is effective and efficient for the LFSP. Key words:lot・streaming flow shop scheduling;maximum completion time;artificial bee colony algorithm;particle swarm Op- timization:local search
摘要:针对批量流水线调度问题,提出了一种改进的人工蜂群算法来优化最大完成时间。该算法运用NEH方法产生初始解, 采用混沌遍历的方法生成新的邻域解。为了跳出局部最优,使用最优解的插入扰动来替换一些连续若干步不能改进的解来提高 算法的全局搜索能力。采用自适应的局部搜索加强算法的局部搜索能力。仿真试验表明了所得算法的可行性和高效性。 关键词:批量流水线调度;最大完成时间;人工蜂群算法;微粒群优化;局部搜索 DOI:10.3778/j.issn.1002-8331.2011.21.009 文章编号:1002-8331(2011)21.0035.04 文献标识码:A 中图分类号:TP278
批量流水线调度问题(Lot.streaming Flow Shop Schedu1. ing Problem,LFSP)“ 是一类典型的调度问题,对其研究具有 重要的理论意义和工程价值。在大多数LFSP中,随着工件数 量的增加,计算时间呈指数增长,因此,能在合理时间内求得 满意解的现代优化方法就成为解决LFSP的主要方法。人工蜂 群(Artificial Bee Colony,ABc)算法m是D.Karaboga在2005 年提出的一种新的群智能算法。该算法已被成功地应用于函 数的数值优化和限制性数值优化问题[43。鉴于该算法具有结 构简单、鲁棒性强和收敛性好等优点,本文用其解决LFSP。 将ABC算法和局部搜索算法合理结合,提出了一种解决LFSP 的混合算法,仿真试验和比较结果表明所得算法的可行性和 伐.越性。 1 LFSP调度模型 1.1问题定义 LFSP可描述为:有m台机床和n个工件,每个工件可分 成若干小批量,每个小批量在各机床上加工顺序相同,但加工 时间可能不同。同时约定:(1)同一机床上一个工件的所有小 批量完成后另一工件的小批量方可开始加工;(2)在任何时 刻,一台机床只能够加工一个小批量,一个小批量只能够在一 台机床上加工;(3)机床准备时间和小批量运输时间包含在加 工时间内。工件在机床上被等分成若干小批量,已知小批量 数和各批量在各台机器上所需的加工时间,问题是得到一个 满足上述约束条件的.--f ̄调度,使工件的最大完成时间最短。 1.2批量调度策略 按照传统流水线调度,若一个工件没有加工完成,就不能
基金项目:国家自然科学基金项目(the National Natural Science Foundation of China under Grant No.60874075,No.70871065,No.60774082, No.60834004);数字制造装备与技术国家重点实验室开放课题(华中科技大学);中国博士后科学基金项目(No.20070410791 o 作者简介:桑红燕(1981一),通讯作者,女,讲师,主要研究方向为智能计算及其应用研究;潘全科(197l一),博士后,教授。 E—mail:sanghongyanlcu@163.com 收稿日期:2010.01.25;修回11期:2010.05—31 Computer Engineering andApplications计算机工程与应用 被传送到下一台机床,这样机床的等待时间较长。而LFSP则 把一个工件分成若干小批量,当一个小批量加工完成后即可 传送到下一台机床上,因此可减少机床的空闲时间和工件的 完成时间。 令 为工件i的小批量数,It 为工件i在机床.,上的加工
时间,c 为工件i的加工完毕时间,c 为工件的最大完成 时间。 两个工件在两台机床上加工,各数据如表I所示,调度序 列为(1,2),则传统的调度如图l,批量调度如图2所示。图】、 图2中横轴为时间轴。 表l数据表 Machine1 Machine2 工件 1 5 Itv 10 /t 12 O l0 l5 l6 22 32 图1传统调度 Machine2 固田囤团田[二口[二 =二二] 0 5 1011 16 22 27 图2批量调度 表2数据比较表 传统调度 批量调度 c 经比较,工件最大完成时间从32减少到了27,下降了 15.7%。机床的空闲时间从17减少到了12,下降了29.4%。因 此,引入批量调度可以更好地改进算法的性能。 2人工蜂群算法 人工蜂群算法(Artificial Bee Colony,ABC)是Karaboga 为了解决多变量函数优化问题,提出的一种群智能算法。该 算法模拟蜂群采蜜,通过不同角色蜜蜂间的交流、转换和协作来 实现优化。ABC算法包含三个群体:雇佣蜂(employed bee)、 观察蜂(onlookers)和侦查蜂(scouts),引入了食物源(source) 代表各种可能的解,花蜜数代表解的适应值。算法中每个个 体包含两种行为:为食物源招募(recruit)和放弃(abandon)某 个食物源。 (1)雇佣蜂:与当前正在采集的食物源一一对应。 (2)观察蜂:在蜂巢中等待,通过与雇佣蜂的信息共享选 择食物源。 (3)侦查蜂:随机搜索蜂巢附近新的食物源。 ABC算法随机生成含有Ps个解(食物源)的初始种群,雇 佣蜂对相应的食物源进行邻域搜索,并将新的食物源和原食 物源进行比较,选择适应度高的解作为候选解。所有雇佣蜂 搜索完毕后,将食物源的信息与观察蜂共享,观察蜂按照概率 P 选择食物源,食物源的适应值越高,选择的概率就越大。其 中P 根据表达式(1)计算。 一 pi一—曩- ∑ 1 1 式中 为第i个解 的适应值即目标函数值。随后观察蜂也 进行一次邻域搜索,并选择较好的解。对 邻域搜索得到新 解的过程如表达式(2): new,= +r(x盯一 ) (2) 式中,k E{1,2,…,PS)hk ̄i,,e{1,2,…,n}是 维向量中 随机选择的一个。,为[0,】】之间的随机数。 如果一个解连续NC次循环没有得到改善就要被抛弃,由 侦查蜂随机生成一个新的解代替。
3解决LFSP的改进ABC算法 3.1个体矢量编码 ABC算法具有连续性本质,为了解决LFSP问题,采用最 小位置值法(the Smallest Position Value,sPv)将一个用浮点 数表达的个体序列转换成工件序列(记为7/"),这样每个个体 可以通过它对应的工件序列计算适应值。 与7/"的映射关系 如表3所示。
表3个体值转化成工件排列的示例表 位置 1 2 3 4 5 6 X 1.20 0.80 —0.90 2 5O 一1.20 0-3O 5 3 6 2 1 4
根据SPV原则,将最小变量一1.20的位置5放在7/"的第1个 位置作为工件序列中要加工的第i个工件,将次小变量一0.9 的位置3作为工件序列中要加工的第2个工件,依次可得到整 个排列 。 3.2初始化 初始种群是算法搜索的起点,好的初始解群能有效提高 算法的性能和求解质量。在ABC算法中,初始种群随机产生, 若随机生成的初始种群不够合理,则影响算法的求解性能。因 此,改进ABC算法(Improved ABC,IABC)采用NEH初始化。 (1)根据NEH方法产生一个初始解。 ①根据各工件的总加工时间,由NEH方法产生一个序 列 。 ②采用下式将7/"转换为解向量: