批量流水线调度问题的混合离散蛙跳算法
【计算机应用研究】_蛙跳算法_期刊发文热词逐年推荐_20140723

2012年 序号 1 2 3 4 5
科研热词 选择和变异机制 蛙跳算法 聚类分析 模糊c-均值聚类 数据挖掘
推荐指数 1 1 1 1 1
2013年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2013年 科研热词 混合蛙跳算法 逆转变异 蛙跳策略 生存周期 混洗蛙跳算法 混沌优化策略 无线传感器网络 收敛性 多样性 反向学习 分簇路由协议 函数优化 作业调度 人工智能 matlab map-reduce 推荐指数 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2009年 序号
科研热词 1 混合蛙跳算法 2 智能优化 3 复杂函数
推荐指数 1 1 1
2010年 序号 1 2 3 4 5 6
科研热词 蛙跳算法 混合蛙跳算法 模糊c均值 批量无等待流水线调度 快速局部搜索 交通状态判别
推荐指数 1 1 1 1 1 1
2011年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
科研热词 蛙跳算法 混合蛙跳算法 车辆路径问题 自适应差分扰动 自适应变异 混沌序列 混沌局部搜索 混沌变异 混沌 无约束连续优化问题 数字水印 改进型蛙跳算法 批量无等待流水线调度问题 微粒群优化算法 图像置乱 全局收敛性
推荐指数 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1
改进的混合蛙跳算法及其多目标优化的应用研究

改进的混合蛙跳算法及其多目标优化的应用研究改进的混合蛙跳算法及其多目标优化的应用研究摘要:蛙跳算法(Frog Leap Algorithm, FLA)作为一种基于群体智能的优化算法,在解决单目标优化问题上具有较好的效果。
然而,传统的FLA在处理多目标优化问题时存在一些不足之处,如过早收敛和缺乏全局搜索能力。
为了克服这些问题,本文提出了一种改进的混合蛙跳算法(Improved Hybrid Frog Leap Algorithm, IHFLA),并通过实验证明其在多目标优化问题上的应用效果。
引言:随着计算机技术的迅猛发展,多目标优化问题在各个领域中得到越来越广泛的关注。
多目标优化问题是指在多个目标函数的约束下,寻找最优解空间中的非劣解集合。
针对多目标优化问题,传统的单目标优化算法效果不佳,因此需要开发新的算法来解决这一问题。
本文将基于群体智能的优化算法——蛙跳算法,进行改进,以提高其在多目标优化问题上的性能。
1.蛙跳算法的原理及不足蛙跳算法是一种基于仿生学的启发式优化算法,模拟了青蛙在寻找食物过程中的行为。
其基本思想是通过模拟蛙类的跳跃行为来搜索最优解。
每个蛙个体都含有一组决策变量,通过不断迭代调整这些变量,以达到最优解。
然而,传统的FLA在多目标优化问题中存在一些问题:(1)易陷入局部最优解,过早收敛;(2)缺乏全局搜索能力。
2.改进的混合蛙跳算法(IHFLA)为了克服传统FLA中的问题,本文提出了一种改进的混合蛙跳算法(IHFLA)。
该算法在传统FLA的基础上引入了局部搜索和全局搜索的策略,以提高其多目标优化问题的能力。
具体步骤如下:(1)初始化种群:根据问题的约束条件,随机生成一定数量的蛙个体作为初始种群。
(2)目标函数计算:计算种群中每个蛙个体的目标函数值。
(3)更新个体位置:根据当前种群中每个蛙个体的目标函数值,更新其位置。
(4)局部搜索:对每个个体进行局部搜索,以增加探索空间。
(5)全局搜索:通过引入全局搜索策略,使蛙个体具有更好的全局搜索能力。
蛙跳算法

(三)混洗蛙跳算法研究许多研究人员致力于研究模拟生物群体活动,并且取得很多研究成果。如鸟群算法、鱼群算法都是模拟生物在群体活动中表现出的行为。在寻找食物过程中,群体中个体可以从其他个体上获得经验;但是在资源难以预测分布时,这种群体行为就具有决定性意义。正是基于种群间信息互享这一思想,使混洗蛙跳算法具有理论基础。这一理论的发展方向主要有:(1)个体研究小组采用不同的方法解决相同问题;(2)一些研究人员提出新的方法,并且与其他的方法进行对比;(3)大型的团队可能改变一些规范标准。但是这些研究人员有共同的研究特点都是从其他的设计中获得更好信息,反复逐步提高技术。
2.模因与基因的比较。Meme和Gene之间也具有很有相似的特点,如建立可能解,通过某种策略选择可能解,与其他的解相结合产生后代等。Meme和Gene的最根本的区别是在群体中采用不同的传播机制。在种群中通过选择Meme增强种群间的交流能力(如混合蛙跳算法中的青蛙个体)。而选择gene是为了繁殖后代。(1)Meme进化更具有灵活性,能在种群中任意个体之间进行传播策略;Gene仅可以在具有亲缘关系的个体之间进行信息传递。(2)进化速度不同。由于Gene在N代中传递,所以需要更多的时间进行传播。而meme仅需要分级速度传播。(3)变异率不同。在神经网络系统中,Meme更容易产生变异。而以双螺旋稳定结构为基础的染色体中,Gene的变异率会很低。综合以上的分析,得出结论是以Meme为传播单元比以Gene的传播速度快。
蛙跳步长更新:Si=rand()×(Pb-Pw)(1)位置更新:Pw(k+1)=Pw(k)+Si(2)Smax≥Si≥-Smax,其中rand()∈[0,1](k=1,2,?,n),S是最大步长。如果计算后新的解较优,则用其替代最差个体。并且通过求全局最优解Pg。如果得到的解没有改进,那么随机生成新解取代所求个体的解,算法继续迭代直至迭代次数完毕。混洗蛙跳算法的参数:青蛙群体数P,族群数m,混合操作前族群内更新代数和混合迭代次数。3.算法流程随机产生P solutions(individuals);For each individuali E P:Sort the whole population P in descending order of theirfitness;根据每个个体的适应度按降序排列Divide the population P into m memeplexes;For each memeplex;Determine the best and worst individuals;Improve the worst individual position using Eqs.1 and2;Repeat for a specific number of iterations;End;Combine the evolved memeplexes;Sort the population P in descending order of theirfitness;Check if termination=true;End;
混洗蛙跳算法的研究

混洗蛙跳算法的研究作者:王晓笛,何灿来源:《电脑知识与技术》2011年第19期摘要:混洗蛙跳算法是一种基于启发式搜索的算法,通过启发函数进行搜索,从而找到组合优化问题的解。
该文介绍了混洗蛙跳算法的产生发展以及基本原理和流程,并对以后做了展望。
关键词:混洗蛙跳算法;局部搜索;全局信息交换中图分类号:TP18 文献标识码:A文章编号:1009-3044(2011)19-4661-04智能优化算法通过模拟或揭示某种自然现象或者过程发展而来,具有鲁棒性、通用性强,全局的、并行高效的优化性能这些鲜明的特点[1]。
群体智能优化算法是如今在优化计算领域中的一个研究热点。
人们研究不同的群体智能算法如蚁群算法、粒子群算法等等,通过改善这些算法的不同参数如蚁群算法中的信息素挥发度、蚁群数量、启发因子;粒子群算法中的惯性权重、领域拓扑结构、学习因子等等不同的方法来改进这些算法,或者探索新的群体智能算法,以求能更好地求解优化问题尤其是多目标约束下的优化问题。
混洗蛙跳算法就是近年来人们探索新算法的成果之一。
2000年,Eusuff以及Lansay最初不过是设想模拟青蛙的觅食过程,但在后来的研究中发现,这一过程可以作为一种不错的优化工具,并将其最初应用于水资源网络分配问题。
此后,经过不断的探索,2003年,Eusuff和Lansay在文献[2]中正式提出混洗蛙跳算法,成为智能优化算法家族和模因算法家族的一名新成员。
混洗蛙跳算法是一种基于启发式搜索的算法,通过启发函数进行搜索,从而找到组合优化问题的解。
这个算法受以遗传算法为基础的自然模因算法的启示,结合了以社会行为为基础的粒子群优化算法的优点。
1 模因算法Moscato于1989年第一次系统地使用计算机语言提出模因算法(Memetic Algorithm,MA)。
“memetic”来自于单词“meme”[3],meme就是寄存在人或动物的大脑中,能指导他们行为并且能够传播的信息。
批量流水线调度问题的混合离散蛙跳算法

批量流水线调度问题的混合离散蛙跳算法潘玉霞;潘全科;桑红燕【摘要】研究了以提前/拖后惩罚指标为目标的批量流水线调度问题,给出了该问题的数学模型以及小批量的调整策略.根据蛙跳算法的原理,采用基于工序的编码方式并利用两点交叉操作设计了新的位置生成公式,提出了解决该问题的离散蛙跳算法.为进一步增强算法的开发能力和效率,结合扰动策略、模拟退火概率接受准则和插入邻域搜索对该算法进行改进.对随机生成的实例进行了广泛的试验,结果表明了所提算法的高效性.【期刊名称】《计算机集成制造系统》【年(卷),期】2010(016)006【总页数】7页(P1265-1271)【关键词】批量流水线;调度;蛙跳算法;模拟退火;插入邻域搜索;数学模型【作者】潘玉霞;潘全科;桑红燕【作者单位】海南大学三亚学院,公共基础部,海南,三亚,572022;聊城大学计算机学院,山东,聊城,252059;聊城大学计算机学院,山东,聊城,252059【正文语种】中文【中图分类】TP180 引言批量流水线调度问题(Lot-streaming Flowshop Scheduling Problem,LFSP)是许多工业生产的简化模型[1],已被证明属于NP完全问题。
精确求解方法如穷举法、整数规划法和分支定界法只能解决很小的问题。
由于组合的复杂性和时间的约束,多数大型问题只能用试探法来求解。
近年来提出的构造式启发算法[2]和智能优化算法[3]成为求解调度问题的主要方法。
文献[4]的离散微粒群优化(Discrete Particle Swarm Optimization,DPSO)算法和文献[5]中的混合遗传算法(Hybrid Genetic Algorithm,HGA)取得了至今最好的研究结果。
蛙跳算法(Shuffled Frog-Leaping Algorithm,SFLA)是一种模拟群体青蛙觅食特性产生的智能算法。
该算法结合了以遗传为基础的Memetic算法和以社会行为为基础的微粒群优化算法的优点[6],具有概念简单、参数少、计算速度快、全局寻优能力强和易于实现的特点。
混合蛙跳算法 基本原理

混合蛙跳算法基本原理
嘿,朋友们!今天咱们来聊聊超有意思的混合蛙跳算法的基本原理!
你想想啊,就好比一群青蛙在一个大大的池塘里蹦跶(这就像算法中各种可能的解)。
它们有的蹦得远,有的蹦得近,但是它们都在努力寻找最好的位置。
混合蛙跳算法呢,就是让这些青蛙们分成小组(可以类比为不同的解集群)。
每个小组里的青蛙们会一起交流,互相学习,然后各自根据学到的东西蹦一蹦(调整解)。
比如说,有一只青蛙发现旁边那只蹦得挺不错,它就会跟人家学学,也试着往那个方向多蹦一点。
然后呢,各个小组之间还会交换信息(这就像是不同解集群之间的交互)!哎呀,这多棒啊!这样就可以让大家都能知道其他小组找到的好地方,都朝着更好的方向去努力。
就好像一群小伙伴一起玩游戏,互相分享经验,然后一起进步!
那这个算法到底有啥用呢?这么说吧,假如你要规划一条最优的物流路线,那它就能帮你找到最合适的那条路,能省好多时间和成本呢!这不就像你找路的时候有人给你指了一条明路一样吗?
再比如,在设计一个复杂的系统时,它能让你快速找到最佳的参数组合。
这不就相当于有个超级聪明的助手帮你把一切都安排得妥妥当当嘛!
我觉得混合蛙跳算法真的太神奇了,就像给我们打开了一扇通往高效解决问题的大门。
它让我们能在各种复杂的情况下都能找到最好的办法,难道不是很了不起吗?朋友们,你们说呢!
观点结论:混合蛙跳算法是一种非常有创意和实用的算法,能帮助我们高效地解决各种问题,具有很大的价值和潜力。
基于离散蛙跳算法的零空闲流水线调度问题求解

第36卷第1期2010年1月北京工业大学学报J OURN AL OF BE IJI NG UNI VERS I TY OF TEC HNOLOG YVo.l 36No .1Jan .2010基于离散蛙跳算法的零空闲流水线调度问题求解王亚敏1,2,冀俊忠1,潘全科2(11北京工业大学多媒体与智能软件技术北京市重点实验室,北京 100124;21聊城大学计算机学院,山东聊城 252059)摘 要:针对零空闲流水线调度问题,提出了一种新的离散化蛙跳求解算法.该算法借助蛙跳算法优化机理,采用基于工件序列的编码方式和新的个体产生方法扩展了传统蛙跳算法的求解模型,并结合简化邻域搜索算法给出了3种改进策略.仿真实验表明了所提算法及策略的有效性.关键词:零空闲流水线调度;离散蛙跳算法;邻域搜索中图分类号:TP 18文献标志码:A文章编号:0254-0037(2010)01-0124-07收稿日期:2008205226.基金项目:北京市自然科学基金资助项目(4083034),北京市教育委员会科技发展资助项目(KM 200610005020).作者简介:王亚敏(1979)),女,山东菏泽人,讲师.车间调度问题的求解及其优化技术是制造业实现生产过程合理化、自动化、集成化的基础和关键.其中,零空闲流水线调度(no -idle fl o w shop ,记为N I FS)是一类组合优化问题[1];Baptiste 等[2]提出了解决N I FS 问题的分枝限界法;K alcz ynski 等[3]提出了解决N I FS 问题的构造式启发方法;Bzraz 等[4]提出了有效的改进贪心算法;一些基于离散粒子群优化算法[5]、差分进化算法[6]等相继被提出;Eusu f f 等[7]首次提出了蛙跳算法(shu f fled frog leap i n g algorith m,记为SFL A ),并应用于水管网络扩充中管道尺寸最小化问题的求解.由于蛙跳算法能结合生物种群的遗传行为和群落间信息交流的社会行为,是解决组合优化问题的有效工具[8].本文提出了基于离散蛙跳算法的N I FS 问题的求解方法.采用基于工件序列的编码方式和新的个体产生方法扩展了传统蛙跳算法的求解模型,提出了解决N I FS 问题的蛙跳算法,并给出了3种提高性能的改进策略.1 N IFS 问题描述及邻域搜索算法111 N IFS 问题描述n 个工件在m 台机器上流水加工,每个工件在机器上的加工顺序相同,同时,约定每个工件在每台机器上只加工1次,而在同一机器上加工的相邻工件之间没有等待时间,且机器之间存在无限缓冲区.在已知各工件在各台机器上所需加工时间的前提下,问题的求解目标是得到满足上述约束条件的可行调度,使得最大完工时间最短.文献[5]提出了通过完工时间差或开工时间差来计算最大完工时间的方法.给定单个工件的排序P ={P 1,P 2,,,P n },而P e (i)={P 1,P 2,,,P i }和P j(i)={P i ,P i +1,,,P n }表示其中的2个部分排序.令F (P e(i),j ,j +1)表示排序P e(i)中机器j 和j +1的完工时间差,E (P f(i),j ,j +1)表示排序P f(i)中机器j 和j +1的开工时间差,而p(P i ,j)表示工件P i 在机器j 上的加工时间.如图1(a )所示,当从前往后依次增加工件时最大完工时间F (P e(1),j ,j +1)=p(P 1,j +1),j =1,2,,,m -1(1)第1期王亚敏,等:基于离散蛙跳算法的零空闲流水线调度问题求解F (P e(i),j ,j +1)=max {F (P e(i -1),j ,j +1)-p (P i ,j),0}+p (P i ,j +1) i =2,3,,,n,j =1,2,,,m -1(2)从前往后计算方式排列P 的最大完工时间为C m ax (P )=Em-1j=1F (P ,j ,j +1)+Eni=1p (P i ,1)(3)如图1(b )所示,当从后往前依次增加工件时最大完工时间E (P f(n),j ,j +1)=p(P n ,j), j =1,2,,,m -1(4)E (P f(i),j ,j +1)=max {E (P f(i +1),j ,j +1)-p (P i ,j +1),0}+p(P i ,j) i =n -1,n -2,,,1,j =1,2,,,m -1(5)图1 最大完工时间计算方法示意F ig .1 Sketch m ap of co mputi ng the m ax i m u m co mp l etio n ti m e for bot h cases从后往前计算方式排列P 的最大完工时间C m ax (P )=Em-1j=1E (P ,j ,j +1)+Eni=1p (P i ,m )(6)求最大完工时间的复杂度为O (mn).如图1(b )所示,在一个排列之前增加工件时完工时间差F (P f(n),j ,j +1)=p(P n ,j +1),j =1,2,,,m -1(7)F (P f(i),j ,j +1)=max {p(P i ,j +1)-E (P f(i +1),j ,j +1),0}+F (P f(i +1),j ,j +1)i =n -1,n -2,,,1,j =1,2,,,m -1(8)112 邻域搜索算法在排列P 中,随机选择不同的2个位置k 、j ,将j 处的零件移动到k 处,称为插入移动v(j ,k),其中j ,k I {1,2,,,n }.由移动可以得到原排列的一个邻居.所有这样的邻居构成插入邻域,则该邻域的规模为n (n -1),评价该邻域的时间复杂度为O (mn 3).如果将排列P 看作是2个排列P 1和P 2合并在一起得到的排列,其中P 2在P 1之后,如图2所示.则图2 2个排列合并在一起的最大完工时间计算方法示意F ig .2 Sketch m ap of co mputi ng the m axi m u m co m pletio n ti m e for co m bi natio n t w o per muta ti onsF (P ,j ,j +1)=max {F (P 1,j ,j +1)-E (P 2,j ,j +1),0}+F (P 2,j ,j +1) j =1,2,,,m -1(9)125北京工业大学学报2010年若记排列P进行插入移动v(j,k)之后的新排列为P c,对比P c和P可得到邻域搜索算法.第1步,按照式(1)和(2)从前往后依次求出每个P e(i)的完工时间差,按照式(4)、(5)和(7)、(8)从后往前依次求出每个P f(i)的完工时间差和开工时间差,进而得到排列P的C m ax(P).第2步,取出P中的第j个工件,将其依次插入P的k处,其中k=1,2,,,n,且k X j.得到新P c,则此时P c可以看作由k之前的P e(k-1)、k之后的P f(k+1)和k处的工件j3部分组成.第3步,在P e(k-1)后面增加工件j得到P c的P c e(k),由式(2)可以求出P c e(k)的完工时间差;P c的另一部分P c j(k+1)与P f(k+1)相同.由式(9)可求出P c的完工时间差F(P c,j,j+1),由式(3)得P c的C max(P c).第4步,重复第2和第3步,直到将排列P的插入邻域搜索一遍.上述算法中,第2步和第3步的时间复杂度为O(mn).所以整个算法的时间复杂度为O(mn2).2蛙跳算法SFLA蛙跳算法是一种新的元启发式的搜索算法[6],通过模拟青蛙群体在觅食过程中所体现出的协同行为来完成对问题的求解.这种算法按照族群分类进行信息传递,并将全局信息的交换与局部进化搜索相结合.在蛙跳算法中,种群由很多青蛙组成,每只青蛙代表1个解.种群被分成了多个子群,每个子群包括一定数量的青蛙,称为1个me meplex.在每个子群内分别执行局部搜索.每只青蛙都受自己和其他青蛙想法的影响,并通过m e m etic进化来调整位置.经过一定数量的进化后,不同子群间的青蛙通过跳跃过程来传递信息.这种局部进化和跳跃过程相间进行,直到满足收敛的条件为止.首先,由随机初始化一组解组成青蛙的初始种群,然后,将所有青蛙按照它们的适配值降序排列,并分别放入各个me mep lex中,用P b和P w分别表示该子群中位置(适应值)最好和最坏的青蛙.另外,用P g表示整个种群中最好的青蛙.在每一轮的进化中,通过与PS O算法近似的方法改善最坏青蛙P w的位置.青蛙移动的距离D i=rand()*(P b-P w)(10)新的位置P w=P w(当前位置)+D i,(D m ax\D i\-D m ax)(11)式中,rand()为0到1之间的随机数;D max为允许青蛙移动的最大距离.如果这个过程能产生一个较好解,那么就用新位置的青蛙取代原来的青蛙P w;否则,用P g代替P b,重复上述过程.如果上述方法仍不能生成更好的青蛙,那么就随机生成一个新解取代原来最坏的青蛙P w.按照这种方法执行一定次数的进化.最后,将所有的青蛙重新排序、子群划分,继续进化、跳跃,重复上述过程直到收敛为止.3N IFS问题的离散蛙跳求解算法DSFLA311个体矢量编码建立个体矢量与调度方案之间的映射关系.对于零空闲流水线编码方案就的个体矢量的每一维表示1个工件.这样,个体本身就表示所有工件的一个排列.表1为个体矢量与调度方案之间的对应关系.表1个体矢量及对应的工件排列Tab le1Ind ivi dua l vector and cor r espond i ng job perm u ta tions个体矢量维数个体矢量工件序列133211个体矢量维数个体矢量工件序列322444个体矢量维数个体矢量工件序列566655126第1期王亚敏,等:基于离散蛙跳算法的零空闲流水线调度问题求解127 312个体矢量的更新青蛙所代表的解向量在连续解空间跟踪其局部极值或全局极值的向量运算.换句话说,式(10)、(11)表示P w向P b学习逼近的过程,其中rand()表示学习的程度,将式(10)、(11)合并可知P w=P w(当前位置)+rand()*(P b-P w(当前位置))(12)式中,rand()代表青蛙P w从局部极值P b的信息继承度,反映了对P b信息的置信指标.当rand()=1时,P w=P b,当rand()=0时,P w=P w(当前位置).定义f(P w,P b)为P w向P b的学习过程,该过程可以通过交叉操作实现.1)在P b中随机选择1个交叉区域,其中rand()决定着交叉区域的大小.2)将P b的交叉区域加到P w的前面或后面,并删除P w中已在P b的交叉区中出现过的数字.采用这种更新策略,子串能继承父串的有效模式,实现了从局部极值P b获得更新信息的目的.313工序编码的DSLFA调度算法Step0初始化.选择M和N,M表示me meplex的数量,即子群的数量,N表示每个m e m eplex中青蛙的个数.那么,整个种群的数量F=M@N.Step1生成初始种群.在可行解空间8<R n,生成F个青蛙U(1),U(2),,,U(F),其中n为工件数量.每个青蛙(Fr og)原本代表青蛙的当前位置,对于N I FS问题则表示解空间的1个候选解.第i个青蛙可以表示为U(i)=(U1i,U2i,,,U n i).计算出工件序列U(i)的最大完工时间makespan,用f(i)表示.则f(i)的值越小,表示该解的适应度越高.Step2对青蛙划分等级.将F只青蛙按照适应度的降序排列,生成数组X={U(i),f(i),i=1,2, ,,F},这样的话,i=1表示这只青蛙的位置(适应度)最好,记录下种群中位置最好青蛙P g=U(1).Step3将青蛙分组,放入不同的me mep lex.将数组X分成M个me m eplex:Y1,Y2,,,Y M.每个me meplex中包含N只青蛙,即:Y k={U(j)k,f(j)k|U(j)k=U(k+M(j-1)),f(j)k=f(k+M(j-1)),j=1, ,,N},其中k=1,2,,,M;比如M=3,那么第1只青蛙属于子群me m eplex1,第2只青蛙属于子群me meplex2,第3只青蛙属于子群me mep lex3,第4只青蛙属于子群me mep lex1,等等.Step4在每个me mep l e x中执行me metic进化.在每个me meplex中,每只青蛙受到其他青蛙想法的影响,通过me metic进化,使得各个青蛙朝目标位置逼近.Step4-0设i M=0,i M表示对me mep lex的计数,在0到M之间变化,与m e m eplex的数量M比较.设i N=0,i N表示进化次数,与每个m e m eplex中允许的最大进化次数N max比较.用P b和P w分别表示每个me meplex中位置(适应度)最好的和最坏的青蛙,用P g表示整个种群中最好的青蛙.在每轮的进化中,改善最坏青蛙P w的位置,注意,并非对所有的青蛙都优化.Step4-1i M=i M+1.Step4-2i N=i N+1.Step4-3采用式(12)调整最坏青蛙的位置.Step4-4如果Step4-3能使得青蛙有一个更好的位置,即能产生一个更好的解,那么就用新位置的青蛙取代原来的青蛙,执行step4-6;否则,用P g代替P b,利用式(12)计算f(P w,P g),如果能产生一个更好的解,取代原来的青蛙,执行step4-6.Step4-5随机生成一个新解取代原来最坏的青蛙P w.Step4-6如果i N<N max,那么执行4-2.Step4-7如果i M<M,那么执行4-1,否则执行Step5.Step5青蛙在me mep l e x之间跳跃移动.在每个me m eplex中执行了一定次数的m e m etic进化之后,将各个子群Y1,Y2,,,Y M合并到X,即X={Y k,k=1,2,,,M}.将X重新按降序排列,并更新种群中最好的青蛙P g.Step6检查终止条件.如果迭代终止条件满足,则停止.否则,重新执行step3.一般情况下,当执北 京 工 业 大 学 学 报2010年行了一定次数的循环进化,代表最好解的青蛙不再改变的时候,算法停止.有时也定义最大进化次数作为停止标准.314 蛙跳算法的改进31411 引入邻域搜索算法的改进策略蛙跳算法中青蛙从局部极值或全局极值中获得更新信息,其信息共享机制中信息的流动是单向的,信息流动的目的性更强,效率更高.同时,搜索过程受局部极值P b 以及全局极值P g 的影响较大.加强P b 和P g 的局部探测能力可提高算法性能.改进SFL A 的方法是在每组me mep lex 进化过程中,对P b 执行简化插入邻域搜索算法,如果搜索之后发现更好的解,则用该解代替原来的P b ,如果新得到的P b 优于P g ,更新P g .并且在整个种群的每次迭代中,对P g 也执行简化邻域搜索算法.通过对P b 和P g 的细搜索,使得整个种群能更快的向最优解移动,有利于增加算法的收敛速度,记为DSFL A1.31412 增加随机扰动的改进策略DSFL A 1虽然增强了局部搜索能力,但细搜索范围仅限于P b 和P g 的最近邻居,范围较小,有可能使P b 和P g 长时间/徘徊0在若干旧状态上,容易陷入局部最优.为了增强算法跳出局部最优的能力,可以在1次邻域搜索之后,对P b 和P g 执行1次随机插入移动,对所得结果再执行邻域搜索算法,如此将随机插入和邻域搜索过程重复几次,即通过增加扰动来扩大细搜索的范围.虽然细搜索的时间有所增加,有利于优化过程中状态的局部小范围趋化性移动,从而增强了算法在解空间的探索能力和效率.记为DS FL A2.31413 结合模拟退火机理的改进策略正是因为种群进化受P b 和P g 影响,一旦为局部最优,青蛙将难以摆脱局部极值,其信息将覆盖整个邻域种群,导致该种群以较大概率陷入局部收敛.由此,还可以借鉴模拟退火中的概率接收[9]准则优化P b 和P g ,即在DSFL A2的基础上,在对P b 和P g 进行多次邻域搜索后,如果找到更好的解,那么就接受这个解,如果找不到更好的解,就以一定概率接受次优解.这种在DSFL A2中S A 的嵌入,赋予优化过程在各状态具有可控的概率突跳特性,尤其在高温时使得算法具有较大的突跳性,是避免P b 和P g 陷入局部极小和算法/早熟收敛0的有力手段,记为DSFL A 3.4 仿真试验采用包含120个流水线调度的Ta ill a rd Benchmar k 问题作为实例,每个实例计算5次,求算法所得解的平均相对偏差(PRD)和平均方差(SD).设种群规模为20,因算法受初始解情况的影响,如果初始解先通过某种智能优化算法优化生成,算法的收敛性及其他性能会有所提高.但是,为了检验该算法的鲁棒性,初始解采用随机生成的方法.对局部极值P b 和全局极值P g 执行3次随机插入移动和邻域搜索,模拟退火接受标准的温度系数t =0105E ni=1Emj=1P ij /(mn ).并与基于离散粒子群优化DPS O 算法进行了比较.实验的运行环境为:操作系统W i n dows XP ,CP U 为P Ô115G H z ,内存为256MB ,算法用C++语言编程.各算法采用相同的终止条件,即最大运行时间为10ms .结果如表2所示.DSFL A 算法所得的平均相对偏差和平均方差近似于DPSO 算法,由此表明具有信息共享、协同进化机制的DSFL A 能在较短时间内较快得向最优解逼近,是一种有效的解决N I FS 问题的方法.由DSFL A 和DSFL A 1、DSFL A2和DSFL A3各个算法的对比分析可以看出,通过简化邻域搜索算法提高局部极值和全局极值之后,平均偏差减少,解的质量有所提高,尤其是加入随机扰动对算法性能提高有很大作用.并可以看出,DSFL A2和DSFL A3的平均方差明显减少,表明这2种改进策略使得算法的稳定性有所提高.原因在于P b 和P g 对种群的进化搜索过程起着引导作用,其性能对算法结果影响很大,所以DS FL A 和DS FL A1算法性能对P b 和P g 的依赖性较大,而对于改进策略DS FL A2和DSFL A3,由于在对P b 和P g 邻域搜索时增加了扰动,扩大了搜索范围,从而使得算法在每一代进化过程中对P b 和P g 的初始性能的依赖性降低,进而使得算法的稳定性提高.128第1期王亚敏,等:基于离散蛙跳算法的零空闲流水线调度问题求解表2 不同算法的比较Tab le 2 C o m pa r ison of d iffer ent a lgor ithm sInstance DPSODSFL A DSFL A1DSFL A2DSFLA3n @m PRD SD PRD SD PRD S D PRD SD PRD SD 20@59171151915611919166212514111215136114820@102319221712316421962313521441513811615168117120@2048149211749132183491163133371352157381411950@561941169713211445199113331701953153111650@1022182212423185211920195212917104210916161119650@20551243134551931245012131534117231614016312100@54115110141751112301881195018911810174100@102010521292110121111612611451317116413121166100@204616921634818521640107310335152197341452187200@10151131111161031129111311146101091121101241122200@2038116115540132118301312176291831195281572112500@202612511092719111252312111323169113723131113分别选取一个50@20的中等规模和大规模的N I FS 问题进行分析,各算法的进化过程如图3所示.图3(a )为50@20的中等规模N I FS 问题Ta051的各算法进化曲线.对于中等规模的问题,DSFL A 具有较好的计算性能和较强的全局搜索能力.与DSFL A 相比较,DSFL A1明显加快了简化邻域搜索的收敛速度,由于P b 和P g 搜索范围不大,易陷入局部最优,进而整个种群也更易陷入局部极值.加入随机扰动后的DSFL A2和DSFL A3,扩大了P b 和P g 的搜索范围,不仅收敛速度更快,而且易于跳出局部极值,并且融合了模拟退火机理的改进策略对于跳出局部最优也有一定作用.由此可以看出,DS FL A2和DSFL A3在搜索广度和深度上能达到较好的均衡,是解决N I FS 这类组合优化问题的有效工具.图3(b )为500@20的大规模N I FS 问题Ta111的各算法进化曲线.对于大规模问题,虽然DSFL A 收敛速度比DPSO 稍慢一些,但是从试验中看出相对不易陷入局部极值,依然是一种解决N I FS 问题的有效工具.这是由于DSFL A 中对于较差解可能有变异操作,这对保持种群多样性可以起到一定的作用,能在一定程度上减少陷入局部极值的可能.而对于3种改进策略,尽管较大规模问题的邻域搜索算法本身需要占用较多的时间,对整体的收敛进度依然起到了极大的促进作用,使得收敛速度有较大提高.图3 各算法进化曲线比较F i g .3 Evol utio n curves of different algorith m s129130北京工业大学学报2010年5结论蛙跳算法结合了粒子群优化算法的社会特性和m e m etic算法的遗传特性,具有连续性和较强的全局搜索能力.本文基于该算法的优化机理,提出了适合于解决零空闲流水线调度问题的离散蛙跳算法,并研究了几种改进策略,仿真试验表明,离散蛙跳算法是解决零空闲流水线调度问题的有效方法,几种改进策略都有助于改善解的质量和提高算法的收敛速度.参考文献:idle/cmax proble m[J].[1]S AADA N I N E I,GUI NET A,MOAL A M.A trave li ng sa les m an approach to sol ve the f/no-European Journa l of Ope ratio n R esearch,2005,161:11220.[2]S AADA N I N E H,BAPTIS ETE P,MOALL A M.The si m p le F2M C m ax w ith forb i ddden tasks i n first or last positi on:Aproble m more co mp l ex t han i t see m s[J].Eur J Oper R es,2005,161:21231.[3]KALCZ YNS K I P J,KA MBURO WSKI J.A heuristic f or m i n i m i zing the m akespan i n no2idle pe r muta tion flo w s hop[J].Co mput Ind Eng,2005,49:1462154.[4]BZ RAZ D,MOS HEIO V G.A note on a greedy heuristi c for t he fl o w2shop makespan m i n i m izati on with no m achi ne idle2ti m e[J].Eur J Ope r R es,2008,184(2):8102813.[5]PA N Quan2ke,WANG L i ng.No2i dle per muta ti on fl o w shop schedu li ng based on a hybr i d d i scre te particle s war m o pti m izati ona l gor it hm[J].The Inte rnati onal Journa l of Advanced M anu fact ur i ng Technol ogy,2008,39(728):7962807.[6]PA N Quan2ke,WAN G L i ng.A novel diff e renti a l evol utio n a l gor it hm for no2i dle per m utatio n flo w2shop scheduli ng prob l em s[J].European J.of Industrial Engi nee ri ng,2008,2(3):2792297.[7]EUS UFF M M,LA NSEY K E.Opti m i zati on ofwate r distributi on net work desig n usi ng t he shu ffl ed fro g leap i ng algor i th m[J].W ater R esour P lan M anage,2003,129(3):2102225.[8]EL BELT AG I E,HEGAZ Y T,GR IER S ON D.Co m parison among fi ve evol utio nary2based opti m izati on algorith m[J].AdvancedEngineer i ng In f or m atics,2005,19(1):43253.[9]王凌.智能优化算法及其应用[M].北京:清华大学出版社,2001,10.An Algor ithm Based on Discrete Shuffled Frog L eap i ng forNo-Id le Per m uta ti on F lo w Shop Sc hedu li ng Proble mWANG Y a2m in1,2,JI Jun2zhong1,P AN Quan2ke2(11Be iji ng Munic i pal Key Laboratory ofM ulti m edia and Intelli gent Soft w are Technol ogy,Be iji ng Un i versity of Technol ogy,B eiji ng100124;21College of Co mpu ter Sc i ence,L i aocheng Un i versity,Liaocheng,252059,Ch i na)Abstr act:A D iscrete Shuffled Frog Leap i n g A l g orit h m(DS FL A)is proposed to solve the No-Idle per m utati o n F l o w Shop schedu ling proble ms(N I FS).I n the li g ht of the opti m ization m echan is m of genera l SFL A,the algorithm adopts an encoding sche me based on job per m utation and a ne w method of indivi d ual producti o n to extend the trad itionalmodel of SFL A,and e mp l o ys the si m ple neighbor hood search to present t h ree i m pr ove ment strategi e s.The experi m en tal resu lts sho w that the proposed algorithm and its stra tegies are eff ective and e f ficient i n d iff erent scale bench m ar ks ofN I FS.K ey w ord s:no-idle flo w shop;discrete shu f fled frog leapi n g a l g orit h m;neighbor hood search(责任编辑张士瑛)。
蛙跳算法与批量无等待流水线调度问题的优化

蛙跳算法与批量无等待流水线调度问题的优化
谢圣献;潘全科;潘玉霞;贾保先
【期刊名称】《计算机应用研究》
【年(卷),期】2010(027)008
【摘要】针对以makespan为指标的批量无等待流水线调度问题,提出了一种有效的离散蛙跳算法.首先采用基于工序的编码方式使蛙跳算法直接应用于调度问题;其次采用基于NEH与改进NEH和随机产生相结合的初始化方法,保证了初始解的高质量和分布性;再次采用交叉或变异方法产生新解,保持了种群的优越性和多样性;最后对全局最优解执行快速局部搜索,有效地降低了算法的时间复杂度,平衡算法的全局和局部开发能力.对随机生成不同规模的实例进行广泛的实验,通过仿真实验结果的比较,表明所得蛙跳算法的有效性和高效性.
【总页数】4页(P2909-2912)
【作者】谢圣献;潘全科;潘玉霞;贾保先
【作者单位】聊城大学,计算机学院,山东,聊城,252059;聊城大学,计算机学院,山东,聊城,252059;海南大学,三亚学院,海南,三亚,572022;聊城大学,计算机学院,山东,聊城,252059
【正文语种】中文
【中图分类】TP18
【相关文献】
1.无等待流水线调度问题的混合优化算法 [J], 刘敏
2.批量流水线调度问题的混合离散蛙跳算法 [J], 潘玉霞;潘全科;桑红燕
3.批量无等待调度问题的微粒群蛙跳混合优化算法 [J], 潘玉霞;谢光;潘全科
4.蛙跳优化算法求解多目标无等待流水线调度 [J], 潘玉霞;潘全科;李俊青
5.求解无等待Flow shop调度问题的改进蛙跳算法 [J], 吴永明;王亚昆;张晗;赵旭东;陈琳升;史海鹏
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假设工件按机床 1 到 m 的顺序加工 , 给定一个 δ δ 工序 π = (δ 1 , 2 , …, n ) , 工件 j 被划分成 s j 个小批 量 , lt ij 是工件 j 的小批量在机床 i 上的加工时间 , d j 是工件 j 的交货期 , ct ij k 为工件 j 第 k 个小批量在 机床 i 上的完成时间 , cj 为工件 j 的完成时间 , Ej 和 T j 分别是工件 j 的提前完成时间和拖后完成时间 , α j 和β j 分别是提前惩罚因子和拖后惩罚因子 。则 L FSP 的数学模型为 : ( 1) ct 1 ,δ1 , 1 = lt 1 ,δ1 ; ( 2) ct i ,δ1 , 1 = ct i- 1 ,δ1 , 1 + lt i ,δ1 , i = 2 , …, n; ( 3) ct 1 ,δ = ct 1 ,δ + lt 1 ,δ1 , k = 2 , …, sδj ; 1 ,k 1 , k- 1
潘玉霞1 ,潘全科2 ,桑红燕2
(1. 海南大学三亚学院 公共基础部 ,海南 三亚 572022 ; 2. 聊城大学 计算机学院 ,山东 聊城 252059)
摘 要 : 研究了以提前/ 拖后惩罚指标为目标的批量流水线调度问题 ,给出了该问题的数学模型以及小批量的 调整策略 。根据蛙跳算法的原理 ,采用基于工序的编码方式并利用两点交叉操作设计了新的位置生成公式 , 提出 了解决该问题的离散蛙跳算法 。为进一步增强算法的开发能力和效率 , 结合扰动策略 、 模拟退火概率接受准则和 插入邻域搜索对该算法进行改进 。对随机生成的实例进行了广泛的试验 ,结果表明了所提算法的高效性 。 关键词 : 批量流水线 ; 调度 ; 蛙跳算法 ; 模拟退火 ; 插入邻域搜索 ; 数学模型 中图分类号 : TP18 文献标志码 :A
60874075 ,70871065) , t he State Key Laboratory of Digital Manufact uring Equip ment & Technology of Huazhong Universit y of Sci2 ence & Technology ,China ,and t he China Po st doctoral Science Foundation ,China ( No . 20070410791) .
式 ( 1) 代表第一个工件第一个小批量在第一台 机床上的完成时间 ; 式 ( 2) 代表第一个工件第一个小 批量在第 i 台机床上的完成时间 ; 式 ( 3 ) 代表第一个 工件第 k 个小批量在第一台机床上的完成时间 ; 式 ( 4 ) 代表第 j 个工件第一个小批量在第一台机床上 的完成时间 ; 式 ( 5) 代表第 j 个工件第 k 个小批量在 第一台机床上的完成时间 ; 式 ( 6) 代表第 j 个工件第 一个小批量在第 i 台机床上的完成时间 ; 式 ( 7 ) 代表 第 j 个工件第 k 个小批量在第 i 台机床上的完成时 间 ; 式 ( 8) 求出工件的提前和拖后完成时间 。调度的 目标是求最小 E/ T 指标 ,即
j- 1
ct i ,δj , k = max{ ct i- 1 ,δj , k , ct i ,δj , k- 1 } + lt i ,δj ,
( 7) ( 8)
Ej = max ( 0 , d j - cj ) ; T j = max ( 0 , cj - d j ) 。
1 批量流水线调度数学模型
传统流水线调度要求每个工件加工完成后 , 才 能被传送到下一台机床上加工 。而 L FSP 还要把每 个工件分成若干个小批量 , 使得各个工件的小批量 加工完成后 ,就能被传送到下一台机床上加工 。这 样能有效地减小调度的提前/ 拖后惩罚 ( Earliness/ Tardiness Penalties , E/ T ) 指标 。批量的分配原则 对调度的性能有重要影响 , 常见的批量分配原则有 等量分配 、 一致分配和可变分配 。调查表明 [ 4 ] ,等量 分配原则在应用中取得了较好效果 , 故采用小批量 的等量分配原则 。所有小批量的加工顺序都相同 , 在不影响各工件最后一个小批量在最后一台机器上 开始加工时间的条件下 , 推迟加工各台机床上的各 个小批量 ,使得同一机床上同一工件的相邻两个小 批量之 间 没 有 等 待 时 间 。最 终 调 度 模 型 如 图 1 所示 。
Hybrid discrete shuffled frog2leaping algorithm f or lot2streaming flowshop schedul ing problem
PA N Y u2x i a , PA N Quan2ke , S A N G Hon g2y an
1 2 2
) = min f (π
j =1
6
n
(α j E j +β j T j) 。
( 9)
为了使目标函数值最小 , 用批量移动受益 ( Net Benefit of Movement , NBM ) [ 4 ] 算法决定每个小批 量的开始加工时间和完成时间 。其中当第 k 个工件 的最后一个小批量被移动一个时间单元时 , 净受益 目标函数值计算如下 : α ( K) , E( k) > 0 ; ( 10) UB ( K) = -β ( K) , 其他 。 式中 r 代表当小批量移动时连续影响的工件的 个数 ,则所有受影响工件的单元净受益目标函数值 计算如下 :
1266
计算机集成制造系统
第 16 卷
特点 。SFL A 在成品油管网设计[ 7 ] 、 贴片机贴装顺 [8 ] [9 ] 序 、 含风电场电力系统动态优化 等方面得到成 功应用 。鉴于 SFL A 的优点 ,本文采用 SFL A 来解 决此类调度问题 。首先根据该算法的优化原理 , 提 出了离散蛙跳算法 ,使 SFL A 能够解决 L FSP ,进而 结合扰动策略 、 模拟退火概率接受准则和插入邻域 搜索算法提出了三种改进的混合算法 。实验研究表 明 ,所提算法优于文献 [ 4 ] 的D PSO 和文献 [ 5 ] 的 H GA ,尤其是改进的算法更具有良好的寻优特性和 较高的运算效率 。
第 16 卷第 6 期 2 0 1 0 年6月
计算机集成制造系统
Computer Integrated Manufact uring Systems
Vol. 16 No. 6 J une 2 0 1 0
文章编号 :1006 - 5911 ( 2010) 06 - 1265 - 07
批量流水线调度问题的混合离散蛙跳算法
的主要方法 。文献 [ 4 ] 的离散微粒群优化 ( Discrete Particle Swarm Optimizatio n , DPSO ) 算 法 和 文 献 [ 5 ] 中的混合遗传算法 ( Hybrid Genetic Algo rit hm , H GA ) 取 得 了 至 今 最 好 的 研 究 结 果 。蛙 跳 算 法 ( Shuffled Frog2Leaping Algorit hm , SFL A ) 是一种 模拟群体青蛙觅食特性产生的智能算法 。该算法结 合了以遗传为基础的 Memetic 算法和以社会行为 为基础的微粒群优化算法的优点 [ 6 ] ,具有概念简单 、 参数少 、 计算速度快 、 全局寻优能力强和易于实现的
收稿日期 :2009207227 ; 修订日期 :2009209217 。Received 27 J uly 2009 ;accepted 17 Sep1 2009. 基金项目 : 国家自然科学基金资助项目 (60874075 ,70871065) ; 华中科技大学数字制造装备与技术国家重点实验室开放课题资助项目 ; 博士后 科学基金资助项目 ( 20070410791) 。Foundation items : Project supported by t he National Nat ural Science Foundation , China ( No .
( 1. Depart ment of Elementary Co urses , Hainan U niversity Sanya College ,Sanya 572022 ,China ; 2. School of Co mp uter Science , Liaocheng U niversity , Liaocheng 252059 ,China) Abstract : The lot2st reaming flow shop scheduling p ro blem to minimize t he total Earliness / Tardiness ( E/ T) penalty was st udied. Acco rding to t he p rinciple of f rog2leaping algorit hm , a novel allocation f unction was designed by adop2 ting sequence2based coding met hod and two2point cro ssover operator. Then , a novel discrete Shuffled Frog2Leaping Algo rit hm ( SFL A ) was p ut forward to solve t he p roblem. To f urt her enhance develop ment capability and efficiency of t he algorit hm , t he p ropo sed SFL A was imp roved wit h pert urbatio n tactic , simulated annealing acceptance criteria and inserting neighbo rhood search. Extensive experiment s based on t he rando mly generated instances were conduc2 ted. Co mp utational result s and comparison verified t he effectiveness of t he p ropo sed algo rit hm. Key words : lot2st reaming flow shop ; scheduling ; shuffled f rog2leaping algo rit hm ; simulated annealing ; insert neigh2 bo rhood search ; mat hematical models