收藏 分享(赏)

论文 模拟退火遗传算法及其在混流装配线设计中的应用.doc

上传人:cjc2202537 文档编号:1198749 上传时间:2018-06-17 格式:DOC 页数:6 大小:820.50KB
下载 相关 举报
论文 模拟退火遗传算法及其在混流装配线设计中的应用.doc_第1页
第1页 / 共6页
论文 模拟退火遗传算法及其在混流装配线设计中的应用.doc_第2页
第2页 / 共6页
论文 模拟退火遗传算法及其在混流装配线设计中的应用.doc_第3页
第3页 / 共6页
论文 模拟退火遗传算法及其在混流装配线设计中的应用.doc_第4页
第4页 / 共6页
论文 模拟退火遗传算法及其在混流装配线设计中的应用.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、模拟退火遗传算法及其在混流装配线设计中的应用摘 要:为克服简单遗传算法局部搜索能力差,容易产生早熟收敛的缺点,将遗传算法和局部搜索能力较强的模拟退火算法相结合,形成模拟退火遗传算法。通过 Shaffers F6和 Rosenbrock 两种常用测试函数的测试,表明了模拟退火遗传算法在收敛速度和收敛质量上均优于简单遗传算法。最后将模拟退火遗传算法应用于一个混流装配线的平衡和排序设计的实际问题中,求解结果再次表明模拟退火遗传算法优于简单遗传算法,为求解混流装配线的设计问题提供了一种新的算法途径。关键词:遗传算法;模拟退火算法;混流装配线;平衡和排序Simulated annealing genet

2、ic algorithm and its application in mixed-model assembly line designAbstract: Simple genetic algorithm has the shortcomings of poor local search ability and premature convergence. To overcome these disadvantages, simulated annealing algorithm which has good local search ability was combined with gen

3、etic algorithm to form simulated annealing genetic algorithm. The tests by Shaffers F6 and Rosenbrock two commonly used test functions show that simulated annealing genetic algorithm is better than the simple genetic algorithm both in convergence rate and convergence quality. Finally, the simulated

4、annealing genetic algorithm was applied in a practical problem of balancing and sequencing design of mixed-model assembly line, once again, the solution results show that simulated annealing genetic algorithm is better than the simple genetic algorithm. Meanwhile, it provides a new algorithm for sol

5、ving the problem of mixed-model assembly line design.Key words: genetic algorithm; simulated annealing algorithm; mixed-model assembly line; balancing and sequencing0 引言遗传算法最早由美国 Michigan 大学的John Holland 教授提出 1,是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。它不依赖问题的具体模型,把握搜索过程的能力较强。但经验数据表明,简单遗传算法(SGA)局部搜索能力较

6、差,存在早熟收敛和后期收敛速度慢的缺点 2。模拟退火算法最早由 Kirkpatrick 等人提出 3,具有较强的局部搜索能力,能够使搜索过程免于陷入局部最优解。但它不适合搜索整个空间,不能使搜索过程进入最有希望的搜索区域,从而使算法的运行效率不高。如果将遗传算法和模拟退火算法相结合,进行优势互补,则有可能开发出全局和局部搜索能力均较强的模拟退火遗传算法(GSA) 。本文首先将遗传算法和模拟退火算法相结合,形成模拟退火遗传算法;然后,利用 Shaffers F6 和 Rosenbrock 两种权威测试函数对其进行性能测试,并与简单遗传算法作比较;最后,将模拟退火遗传算法应用于混流装配线的平衡和排

7、序设计这一NP-hard 问题中,以最小化闲置与超载时间之和为目标,成功地以较少的代数搜索出较优的平衡和排序结果。1 模拟退火遗传算法本文以保留最佳个体的简单遗传算法为框架,融入模拟退火算法形成模拟退火遗传算法。整个算法过程由两部分组成,首先通过遗传算法操作产生较优的一代种群,再利用模拟退火操作,对种群中各个个体进行模拟退火,以达到局部寻优的效果。如此循环进行,直至满足收敛准则。具体步骤如下:Step1: 设置遗传算法各参数值,即种群大小 pop_Size,遗传代数 gen,交叉概率Pc,变异概率 Pm,当前运行代数 g=0,及模拟退火初始温度 T。Step2: 随机产生初始种群 P(g),并

8、计算种群中各个体的适应值 f(Pi (g)(i=1,2,pop_Size)。Step3: 保留适应值最大的个体。Step4: 对种群中其余个体进行轮盘赌选择操作;Step5: 以交叉概率 Pc 对选择后的种群进行成对交叉操作。Step6: 以变异概率 Pm 对交叉后的种群进行变异操作。Step7: 在变异后的种群中加入 Step3中保留的最佳个体,形成新的一代种群,设置 g=g+1。Step8: 计算新一代种群中各个体的适应值 f(Pi (g)(i=1,2,pop_Size)。Step9: 对新种群中各个体进行模拟退火操作。第 i 个个体的操作流程为:( 1)设置当前接受次数 y=0,总接受次

9、数为Y;(2)对个体 Pi (g)产生扰动,生成新个体 Pi (g);(3)计算新个体的适应值 f(Pi (g);( 4)利用 Metropolis 接受准则判断是否接受新个体,即:若 f(Pi (g)f(P i (g),则接受新个体,进行个体替换 Pi (g)= Pi (g),f(Pi (g)= f(Pi (g),y =y+1;否则,产生 0,1)区间内的随机数 rnd,若 rndexp(f(Pi (g)- f(Pi (g)/T,则接受新个体,进行个体替换Pi (g)= Pi (g),f( Pi (g)= f(Pi (g),y=y+1;( 5)判断接受次数 y 是否不小于Y,若是,个体退火结

10、束,否则转(2) 。Step10: 判断终止准则是否满足,即 g是否不小于 gen,若是,算法结束;否则,进行降温操作,T =0.9T,再转 Step3。实验表明,初温越大,获得高质量解的几率越大,但花费的计算时间将增加。因此,初温的确定应折衷考虑优化质量和优化效率。本文取初始种群各个体适应值的方差作为初温。2 算法测试本文选取 Shaffers F6 和 Rosenbrock 两种常用测试函数在 Matlab 平台上对模拟退火遗传算法与简单遗传算法进行性能对比测试,它们的函数表达式见表 1。Shaffers F6 函数有无限个局部极大点围成一圈,取值均为 0.990283,但是只有一个全局最

11、大值 f1(0,0)=1;Rosenbrock 函数是 De Jong 测试平台中的一个典型的测试函数,但是它很难极大化,其特点是有一局部最大值f2(2.048,-2.048)=3897.73,全局最大值为 f2(-2.048,-2.048)=3905.93。表 1 测试函数表达式函数名 表达式Shaffers F6221sin0.5max0.5,(.1()4,xyfyRosenbrock222),.08,.048fxyx2.1 测试过程由于算法中初始化种群的随机性以及很多其他随机操作,所以本文对模拟退火遗传算法(GSA)和简单遗传算法(SGA )(算法流程如同模拟退火遗传算法,只是没有 St

12、ep9 的模拟退火过程)均进行了 50次运行测试,每次测试记录下各代目标函数的最大值,最后绘制 50 次测试的平均最大值随遗传代数变化的曲线图。测试过程所用各参数确定如下:(1)遗传算法个体编码方式为二进制级联编码。首先分别对各自变量进行二进制编码,然后将它们按顺序连接在一起。由于 Shaffers F6 函数最优解的精度比Rosenbrock 函数最优解的精度高,所以测试 Shaffers F6 函数时,各自变量的编码长度为 30,而测试 Rosenbrock 函数时,各自变量的编码长度为 20。(2)由于两测试函数均要求最大函数值,所以遗传算法的适应值均取为目标函数值。(3)测试过程中交叉

13、算子均为单点交叉 4,交叉概率均为 0.8;变异算子均为离散变异 4,变异概率均为 0.08;种群规模均为 70;遗传代数均为 180。(4)退火过程中个体的扰动借鉴了变异的思想,具体过程为:随机取一基因位,若该位为 1,将其变为 0,否则变为 1。(5)各个个体模拟退火接受次数均为10。测试中所用MATLAB版本为 7.1,计算机配置为:CPU T2250 ,1.73GHz主频,1.25GB内存。2.2 测试结果图 1(a)显示了所用测试函数为Shaffers F6 时,目标函数平均最大值的收敛情况。从图中可以看出 GSA 在 72 代左右已经收敛到全局最优解,而 SGA 在 144代左右陷

14、入局部最优解,直到 180 代都没能跳出局部最优解。图 1(b)显示了所用测试函数为 Rosenbrock 时,目标函数平均最大值的收敛情况。从图中可以看出 GSA在 100 代左右已收敛到全局最优解,而SGA 在 115 代左右陷入局部最优解,直到180 代都没能跳出局部最优解。可见模拟退火算法的融入,使得遗传算法的局部寻优能力大大增强,弥补了简单遗传算法的缺陷,使其搜索效率和质量均得到了提高。0183654729018261462180.980.9120.9340.9560.9781.0 目标函数平均最大值遗 传 代 数 GSA(a)测试函数为 Shaffers F6 0183654729

15、018261462180295.346.31.927.43.9428.35.961.437.9810.4395. 目标函数最大值遗 传 代 数 GSA(b)测试函数为 Rosenbrock图 1 目标函数平均最大值的收敛情况3 算法应用混流装配线是指一条可以实现多种产品混合连续生产的装配流水线,能够在不增加库存的前提下,快速响应市场对各种产品需求的变化。混流装配线的有效利用涉及到两个方面:(1)装配线的负荷平衡问题, (2)不同品种产品的投产排序问题 5,而单方面的平衡或排序问题均为NP-hard问题,这使得混流装配线的设计对求解算法的性能要求苛刻。本文采用GSA 和SGA 两种算法对混流装配

16、线进行平衡和排序的并行设计,以达到各产品在各工作站上引起的闲置与超载时间总和最小,并对比其设计结果。3.1 问题描述在计划期内,生产M个品种的系列产品,市场的总需求为D个产品单位,每个品种的预测需求为D m(m = 1,2,M),。假设q为D 1 , D2 , DM的最大1m公约数,令d m= Dm/ q, 。为简化1mRd起见,在混流装配线的平衡与排序设计中,只针对R 个单位的产品进行,在实际操作中可将上述的平衡和排序过程循环进行q次,就得到D个单位产品的平衡和排序结果 6。假定在混流装配线上,有K个工作站用传送带连接,各种产品以一定的节拍时间C被投放到流水线上,产品以一个恒定的速度v通过各

17、个工作站。流水线上的工作站是封闭的,操作工的工作范围不能超过工作站的给定长度L k(k =1,2,K),当操作工不能完成其规定的工作时,不能进入邻近的工作站,剩余的工作将由线外工人及时帮助完成,此时便产生了超载现象。当一个单位产品加工结束之后,操作工立刻移动到下一个产品的位置,开始下一单位产品的加工,操作工的移动时间忽略不计。如果下一个单位的产品还未进入工作站,操作工在工作站的起点处等待,此时便产生了操作工的闲置现象。则最小化装配流水线的闲置与超载时间的数学模型可表示为(令传送带的运转速度为单位速度):Min 1()KRrkrkkrfidtovs.t. (2)1max0,()Mrkrkmrkr

18、ovtSxtE,rkrkidtC(3) (1)ax0,23rkrkSR1min(),MrkrkmrkEtL10kS1in(),max0, ,MRkRkmRkkkExtLSCk(7)1,Mmrx(8) 1,Rmrd(9) 其中 idtrk 和 ovtrk 分别表示第 r 个产品在第 k 个工作站上引起的闲置时间与超载时间,S rk 和 Erk 分别为第 r 个产品在第 k 个工作站上装配的起点位置和结束位置。xmr=1 如果排序序列中第 r 个产品是品种m,否则为 0;t mk 为品种 m 在工作站 k 上的装配时间。图2为A、B、C三种产品的作业先行关系约束图,其中圆圈中的数字表示作业编号,旁

19、边的数字表示作业所需的时间单位,虚线部分表示该产品装配时不需要的作业。已知各产品的需求比例依次为2 11,现有11个工作站,各工作站的长度均为30个长度单位,寻求使装配线闲置与超载时间之和最小的平衡和排序结果。1 31 81 71 61 51 41 21 11 09876543212 72 62 52 42 32 22 12 01 93 33 23 13 02 92 831 5765669271 41 5431 441 01 51 0131 41 163337(a)产品 A1 31 81 71 61 51 41 21 11 09876543212 72 62 52 42 32 22 12 01

20、 93 33 23 13 02 92 81 381 377771 4111 11 01 59731 01 2611 21 31 01 131 491 0576(b)产品 B1 31 81 71 61 51 41 21 11 09876543212 72 62 52 42 32 22 12 01 93 33 23 13 02 92 8491 461 061 01 161 367991 181 281 581 06391 31 171 11 31 1(c)产品 C图 2 产品作业优先关系约束图3.2 问题求解本文利用 Java 语言编写了混流装配线计划调度系统程序,实现了 GSA 和 SGA两种算

21、法流程。各算法均分为平衡和排序(4)(5)(6)(1)两个种群,各种群均在各自的空间内独立地进化,又在另外一个种群的最新一代的指导下进行评价,两种群的演化形成既相互独立又相互影响的协同进化过程。所用各参数确定如下:(1)平衡种群采用序列编码方式。将E 中的作业元素按分配到工作站的先后顺序排成一列,每个作业元素对应一个基因位。译码过程在文献7针对第二类和第三类装配线平衡问题的译码过程的基础上作了改进,改进后的译码过程防止了在分配作业元素时,出现单个作业的平均作业时间大于可能节拍的情况,在这种情况下分配任务是无法继续的。具体做法如下:Step1:计算理论最小节拍 ;1/NtiCKStep2:求 ,

22、max(,2)itt如果 ,令可能节拍 C*=Ct,否则axttC;*maStep3:根据“贪婪”原则,按序列中作业的顺序,在平均负荷不超过 C*的约束下将尽可能多的作业分配到当前工作站中。到第 K 个工作站时,如果还有作业,则全部分配到该工作站中;Step4:判断第 K 个工作站的平均负荷是否小于 C*,是则节拍时间 C= C*,否则转 Step5;Step5:计算可能节拍和实际节拍*1-minkkKST,其中 为工作站 k 的平axkCk均负荷, 为第 k+1 个工(1,2-)k作站的第 1 个作业元素的时间;Step6:判断 是否成立,是则*aCC=Ca,搜索停止;否则转 Step3。排

23、序种群采用字符编码方式,按产品投产顺序将代表各产品的字符排成一列,每个产品对应一个基因位。(2)平衡种群大小 Nb=100,排序种群大小 Ns=20。平衡种群交叉算子同文献8,排序种群交叉算子为直接后继关系交叉算子(ISRX) 9。平衡种群和排序种群的交叉概率均为 0.85。平衡种群采用移位插入变异法。变异时,任意选中染色体上的一个基因(作业元素)将其插入到该染色体上不违反先后关系的任意一个位置。排序种群采用逆转算子进行变异。变异时,随机产生两个变异点,然后将这两点间的基因进行逆转操作。平衡种群和排序种群的变异概率均为 0.08,遗传代数为 10;(3)平衡种群各个体的适应值为和排序种群最新一

24、代各个体相结合计算出的最小闲置与超载时间之和的倒数。即fb=minf(b,Si)-1(i=1,2,N s) ,f (b,Si)为平衡种群染色体 b 和排序种群第 i 个染色体相结合计算出的闲置与超载时间之和。排序种群个体适应值的计算方法和平衡种群类似,即 fs=minf(Bi,s)-1(i=1,2,N b) 。(4)平衡种群和排序种群各个体退火过程的扰动采取各种群的个体变异的方式。(5)平衡种群和排序种群模拟退火过程中接受次数均为 5 次。3.3 结果讨论图 3 显示了利用 GSA 和 SGA 两种算法求得的目标函数最小值随遗传代数变化的情况。表 2 显示了求得的混流装配线的平衡和排序结果。从

25、图 3 可以看出,利用SGA 进行求解时,在第 4 代陷入局部最优解,直到第 10 代都没能跳出局部最优解;而利用 GSA 进行求解时,在第 4 代搜索到的目标函数值远小于 SGA,并且在第 9 代时收敛到更小值。说明了,模拟退火遗传算法在混流装配线的设计应用中对简单遗传算法的局部寻优能力的改进效果仍然显著,是一种很好的求解混流装配线设计问题的算法。0123456789105670890101230目标函数最小值遗 传 代 数SGA图 3 目标函数最小值的收敛情况表 2 混流装配线的平衡和排序结果算法 SGA GSA1 20-5-4 18-122 9-21-12-7 25-26-63 27-1

26、6-6-22 2-34 24-18-1 9-1-21-5-75 23-10-15 4-8-176 29-25-2 23-16-307 11-26-32 13-24-27-158 3-19 10-11-22-299 14-8-17 19-1410 31-13-30 31-20-3211 28-33 28-33平衡结果节拍/单位时间 23.75 22.75排序结果 C-A-B-A C-A-B-A目标函数值/单位时间 103.5 54.54 结论本文以保留最佳个体的简单遗传算法为框架,融入了模拟退火算法,形成模拟退火遗传算法。通过 Shaffers F6 和Rosenbrock 两种常用测试函数的测

27、试,与保留最佳个体的简单遗传算法进行比较,得出模拟退火算法的融入,使得遗传算法的局部寻优能力大大增强,弥补了简单遗传算法的缺陷,使其搜索效率和质量均得到了提高。采用这种模拟退火遗传算法对一个混流装配线的平衡和排序问题进行求解,给出了混流装配线的平衡和排序设计结果和目标函数的收敛情况。计算表明,模拟退火遗传算法在混流装配线的平衡和排序设计这一实际问题中的应用,仍然保留着较强的局部搜索能力,不易陷入局部最优,最终能够搜索到比简单遗传算法优秀得多的解,为求解混流装配线设计问题提供了一种新的算法途径。参考文献1 Holland J H. Adaptation in nature and artific

28、ial systemsM. Ann Arbor: The University of Michigan Press, 1975.2 Godberg D E. Genetic algorithms in search, Optimization and Machine LearningM. Addison-Wesley, New York, 1989.3 Kirkpatrick S, Gellatt C D, Vechi M R. Optimization by simulated annealingJ. Science, 1983, 220:671-680.4 雷英杰, 张善文, 李续武等.

29、MATLAB遗传算法工具箱及应用M. 西安: 西安电子科技大学出版社, 2005.5 A R Rahimi-Vahed,M Rabbani,R Tavakkoli-Moghaddam,et al. A multi-objective scatter search for mixed-model assembly line sequencing problemJ. Advanced Engineering Informatics,2007,21:85-99.6 Moden Y. Toyota Production Systems:An Integrated Approach to Just-In

30、-Time. 2nd ed. Georgia:Industrial Engineering and Management PressM,1993.7 Yeo Keun Kim, Yong Ju Kim, Yeongho Kim. Genetic algorithms for assembly line balancing with various objectivesJ. Computers & Industrial Engineering, 1996,30(3): 397-409.8 宋华明,韩玉启,李如俊. 基于遗传算法的装配线负荷平衡J.机械设计与制造, 2002,(4): 28-30.9 Yeo Keun Kim, Chul Ju Hyun, Yeongho Kim. Sequencing in mixed model assembly lines: A genetic algorithm approachJ. Comput. Ops. Res., 1996,23(12):1131-1145.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报