第38卷第6期 2008年11月 东南大学学报(自然科学版) JOURNAL OF SOUTHEAST UNIVERSITY(Natural Science Edition) Vo1.38 NO.6 NOV.2008 最小化总完工时间的流水作业调度混合算法 齐学梅 ’ 李小平 王 茜 (’东南大学计算机科学与工程学院,南京210096) ( 安徽师范大学数学计算机科学学院,芜湖241003) ( 东南大学计算机网络和信息集成教育部重点实验室,南京210096) 摘要:针对有效求解NP难的总完工时间最小流水作业调度问题,提出了一个有效的混合启发式 算法产生初始解,并使用禁忌搜索算法对初始解邻域进行搜索的算法框架.基于不同的启发式 算法,获得了3个混合禁忌搜索算法HA1,HA2和HA3.使用Taillard’S基准程序随机产生的大 量实例,进行模拟实验,结果表明,所提出的3个算法通过扩大搜索范围提高了解的质量,在性能 上均优于目前最有效的启发式算法.与目前最有效的算法相比,产生最好解的平均百分比偏差 均下降至少30%,最优解所占比例皆有显著提高. 关键词:流水作业调度;启发式算法;禁忌搜索;总完工时间 中图分类号:TP301.6 文献标识码:A 文章编号:1001—0505(2008)06-0960-05 Hybrid tabu search algorithms for permutation flow shops to minimize total flowtime Qi Xuemei ’。Li Xiaoping ' Wang Qian ' (‘School of Computer Science and Engineering,Southeast University,Nanjing 210096,China) ( School of Mathematics and Computer Science,Anhui Normal University,Wuhu 241003,China) ( Key Laboratory of Computer Network and Information Integration of Ministry of Education,Southeast University,Nanjing 210096,China) Abstract:The well known NP—hard permutauon flow shops problem with total flowtime minimiza— tion is considered in this paper.An algorithm framework is presented in which an initial solution is generated by an eficient hybrifd heuristic algorithm and improved by a tabu search algorithm.Based on characteristics of different heuristics,three hybrid tabu search algorithms HA1,HA2,and HA3 re proposed.Taillard’S benchmark program is used to generate a large number of arandom instances. Experiment results show that the quality of solutions is improved using three algorithms with fl bigger searching scope.The performance of three proposed methods are all superior to the most eficifent heuristics currently used.Comparing with the result rom tfhe best existing heuristics,the average rel— ative percentage deviation from the best—known solution is reduced about 30%and the percent of op— timal solutions increases obviously. Key words:permutation flow shops;heuristic algorithm;tabu search;total flowtime 流水作业调度广泛存在于工业环境中,该问题 可描述为:n个任务在m台机器上执行,且每个任 务的加工顺序相同,任务i在机器 上的加工时间 应的流水作业调度问题分别记为F J prmu lc 和 F Jprmu f∑ (pmu表示所有作业的每一工序的 r加工顺序都相同),两者都是NP难问题….启发式 是给定的,调度的目标是求解r/个任务的最优加工 顺序,使总完工时间最小.Makespan和Total 和元启发式算法是用来求解NP难问题较常用的 方法.迄今为止,已经提出了许多解决流水作业调 Flowtime是流水作业调度的2个重要性能指标,相 收稿日期:2008-06-17. 作者简介:齐学梅(1963~),女,副教授,qxmhj@mail.ahnu.edu.cn. 基金项目:国家自然科学基金资助项目(60672092,60504029)、国家高技术研究发展计划(863计划)资助项目(2008AA04Z103). 引文格式:齐学梅,李小平,王茜.最小化总完工时间的流水作业调度混合算法[J]东南大学学报:自然科学版,2008,38(6):960—964 第6期 齐学梅,等:最小化总完工时间的流水作业调度混合算法 961 度问题的启发式算法,NEH是目前解决F lprmu I C 的最好启发式算法 J,但对 2混合算法 混合算法主要思想是:提出一个有效的混合启 发式算法产生初始解,使用禁忌搜索算法对初始解 邻域进行搜索,有意识地避开已找到的局部最优 F I prmu l∑cf问题NEH不十分有效 ].构造启 发式算法FLl ,wY[ 和RZ[ 是求解 FIprmu J c,的有效算法,实验证明FL是最好 的构造启发式方法,FL优于wY和RZ;目前,比 构造式算法更有效的是复合启发式算法,如IH1~ IH7 ,IH7一FL ,FLR1和FLl 等,其中后3 个算法是最有效的算法.传统的搜索方法易陷入 局部最优解,元启发式算法通常以一定的时间开销 克服该缺陷以得到较好解,禁忌搜索算法就是其中 一种具有很强搜索能力的全局逐步优化算法l9 J. 禁忌搜索通过记忆近期操作,尽量避免相同问题的 重复计算,实现全局快速搜索.但不足的是,它对 初始解有较强的依赖性,单独使用通常难以达到令 人满意的结果. 结合启发式算法的快速性和禁忌搜索算法的有 效性,本文改进FLR2算法,结合禁忌搜索算法,提 出3种混合算法,有效地解决F lprmu l∑c,问题. 1 问题描述 流水作业调度问题描述为n个任务要在m台 机器上加工,每个任务需通过m道工序,每道工序 要求在不同机器上加工, 个任务在m台机器上加 工顺序相同,且满足如下的约束条件: 1)每个任务在机器上加工顺序相同,且给定. 2)每台机器同时只能加工一个任务. 3)一个任务不能同时在不同的机器上加工. 4)工序的准备时间与顺序无关,且包含在加 工时间内. 5)允许任务在工序之间等待,允许机器在任 务未到达时闲置. 最小化总完工时间的流水调度问题 (F1prmu I∑cJ)的优化目标是要找出这 个任务 的一个加工顺序,使其总完工时间最小.下面给出 计算总完工时间的计算方法: Cf0=0,CoJ=0 ,Cf,』=maxt CfJ-l,C , }+tf, i=1,2,…,n; =1,2,…,m =∑C i=1 式中,t √为第f个任务在第 台机器上的加工时问; C 为任务f在机器 上的完工时间; 为总完工 时间,即所有任务完工时间之和. 解.不同的初始解产生策略对算法的性能产生不同 的影响,本文采用3种不同初始解产生策略生成初 始解,相应地提出3个混合算法HA1,HA2和 HA3. 本文提出的初始解生成算法步骤如下: ①调用LR( )算法¨。。产生一个初始序列s. ②利用FL插入方法对初始序列 进行构造, 最后形成序列R. ③利用RZ插入方法对序列R进行改善,得到 当前较优的序列Q. 序列Q作为初始解序列.LR( )算法取不同 参数时,其计算性能不同,HA1,HA2,HA3初始解 算法中的X参数分别为X=I,n/m和n. 由于禁忌搜索算法是局部邻域搜索算法的推 广,参数设置很重要,通过大量仿真实验,选择参数 如下:①邻域结构.采用FPE 操作产生邻域.② 候选解选择.采用动态方式,设C为候选解的数量. 当0<n≤50时,C=n;当50<n≤100时,C= 10n.③禁忌表长度.设L为禁忌长度,采用动态获 取方式,L= ,z/3,若L<3,则L=3.④采用特 赦准则.若某个状态的性能优于当前最好的状态, 则无视禁忌属性,直接选取它作为当前状态.⑤ 终止条件.采用某个对象的禁忌次数,一旦某个对 象的禁忌次数大于给定禁忌次数的最大值,那么算 法停止.设最大禁忌次数为m,即禁忌搜索迭代到 的最大步数为m. 在进行禁忌搜索之前,先定义禁忌表I,(),初 始为空,表上半三角存储禁忌对象( ,Y)的禁忌长 度,用J( ,Y)的值表示,在下半三角(Y, )位置 上存储禁忌对象的禁忌次数,即禁忌对象每禁忌一 次禁忌次数加1,用J(y,X)的值表示,当禁忌次数 达到m时,算法结束.算法在求解过程中解的质量 具有不确定性,因此设一个表 。 来存储执行算 法过程中取得的最优解即当前最好解. 基于以上分析,所提出的3个混合算法步骤: ①调用初始解生成算法产生初始解 . ②将 作为当前解,利用FPE方法产生 的 邻域. ③将所有邻域解按式(1)计算出对应的目标 函数值,并将其从小到大排序,然后选取前c个邻 域解作为候选解. 962 东南大学学报(自然科学版) 第38卷 一帆 ④从第1个解开始,若满足特赦准则,则将其 帆 列 与序列B。所对应的目标函数值,选取目标函 作为当前序列T.,否则在候选解中选非禁忌的最 佳状态序列作为当前序列 . 如 昌昌罟8 ●2 3 4 5 6 7 8 9 m¨数值小的序列作为算法得到的近优解,算法停止; 若不满足终止条件,则7"0= ,转向②. 为说明提出的混合算法的计算过程,给出一个 掩 12个任务、8个机器的实例(n=12,m=8)在HA2 ⑤保存当前序列 及其目标函数,并找出其 中最优的目标函数值及对应的序列B ∞ ⑥若满足终止条件,比较最后得到的当前序 加 加 J4 Js 6 算法上的执行过程,其加工时间矩阵见表1. S j9 J n ju jI2 3, Js 表1 不同任务在不同机器上的加工时间 勰 O 0 0 O O 0 O O 2 2 0O 0 O O 0 0 O O O O 0%8 加% 矾 注:J 为第i个任务;M 为第i台机器. 盯 :2 K—O O 0 0 O O 0 2 3 0●钉 鳃帅 选择候选解集的个数C=12,最大禁忌次数 序列为(J,,J ,J ,J J ,J ,J ,J 。, ,J ,J ), m=8,禁忌长度L=3,HA2的计算过程如下: 首先调用LR(n/m)产生初始序列为(JlJ , 鲫盯m 2,, , ,目标函数值为9 001,调用RZ插入方法改进,得到 目标函数值为8 961.将其作为初始解 ,然后进 ¨一0 O 0 O O O O O 0 0 O序列为(J,,J。 ,J4,J2,J。,J , ,J ,J J6, ), 一0 0 O 0 O O 0 O 0 O% 行禁忌搜索.算法执行到l9步时的情况见表2. 8 9 6 9m ¨¨ 厶, , , ̄, , ,J6),目标函数值即 鼹“ 拍 总完工时间为9 199.利用FL插入方法构造,得到 行号 禁忌表 表2 1次搜索的禁忌表与候选解集 m 5 m 5 9 8 J m候选解集 骺 舛 互换对 目标值 8 8 8 8 8 9 9 9 9 9 93 4 3 4 6 5 8 5 8 5 3卯 叭叭 ∞晒嘶∞ 铝" ” 据一 ∞ " ∞此时 表中存储的最优目标值为8 954,在 的近优解,算法结束.本实例的近优解为( , , , , , ,候选解集中最优解为8 923,此时不论禁忌表中(5, 10)禁忌长度为多少,最佳互换对为(5,10),因为 目标值8 923优于8 954,选择它为下一个状态,互 换(5,l0)后,得到当前解为( .,, , , , ,I, I,。, , , ,, 。, ),目标值为8 916. 3 实验结果 将HA1,HA2和HA3算法与IH7.FL,FLR1 和FLR2算法的性能基于同一测试实例组进行比 较,所有算法均用VB6.0进行实现,并在Pentium I,,, , , , , ).继续执行,第43步时,当前解 为(Jl2, , ,J2,J4,J11,Jl,J6,Jlo, , ,J9),目标 值为8 973.在候选解集非禁忌的最佳候选对为 (12,3),互换(12,3)后,得当前解为(,3, , , , , ,2.4 GHz×2,2 GB内存的机器上执行.实验平台 的任务数为l0,20,…,100;机器数为5,l0,l5, 20.每一个任务数与机器数的组合均随机产生100 ‘, , ,I,。。, , , ),并将(3,12)加入 禁忌表,此时互换对(12,3)禁忌次数已达8次,满 个实例,总共有4 000个实例.每个任务在各台机 器上的加工时问使用著名的Taillard’S基准程 序… 随机产生并均匀分布在1~99之间. 足终止条件,退出循环.将 表中存储的最优值 与当前解比较,取较小目标值对应的解作为得到 第6期 齐学梅,等:最小化总完工时间的流水作业调度混合算法 963 从相对于最好解的平均百分比偏差(average relative percentage deviation,ARPD)和给定问题获 OPT:墼 ×100% 得最好解次数的百分比(the percent of optimal SO— 其中,N=100,为任务数和机器数的组合所运行的 lutions,OPT)比较和分析了6个算法.ARPD表明 实例个数;F (H)表示算法HA1~HA3在第i个实 算法所得调度的平均质量,最好解G是6个算法 例中所得调度的总完工时间;G 表示第i个实例在 所求得调度中总完工时间 最小的调度.算法 6个算法中所得调度总完工时间的最小值;B( ) ARPDl】 和OPT的定义如下: 表示算法HA1~HA3在JV个实例中得到最好解的 ∑N f 一 ) 个数. ARPD: =—————— ——一0— ×1×00% % 表3为6个算法在测试实例上的计算结果. 表3 6个算法性能比较 % 964 东南大学学报(自然科学版) 解的比例趋于稳定. 第38卷 从表3可以看出:①在ARPD方面,除60×5 踟组实例FLR2(ARPD为0.401%)比HA2(ARPD 为0.466%)和HA3(ARPD为0.423%)略好外, 对其他所有实例组,所提出的3个算法都优于 IH7.FL,FLR1和FLR2;平均而言,IH7一FL,FLR1 和FLR2的ARPD分别为0.791%,1.191 4%和 0.622%,而HA1,HA2和HA3的ARPD分别为 0.38%,0.43%和0.461 8%,故所提出的3个算法 在平均性能上比其他3个算法有较大的改进,其中 HA1是平均性能最好的算法.②在OPT方面,对 于所有测试实例组,所提出的HA1,HA2和HA3 都能比IH7一FL,FLR1和FLR2找到更多的最优 解;平均而言,HA1,HA2和HA3的OPT分别为 4l%(实例4 000个),35%和33%,而IH7一FL, FLRI和FLR2的OPT则分别为16%;3%和9%, 可见所提出的3个算法显著超过其他3个算法,甚 至超过3个启发式算法最优解所占比例之和,其中 HA1找到的最优解最多. 同时,表3也表明:性能指标ARPD和OPT随 任务数,z的变化而变化.图1给出了当m=20时, ARPD和OPT随任务数n的变化情况. \ 删 堡 任务数,v (a)ARPD lO 2o 3O 4o 5o 6o 7O 80 9o 10o 任务数Ⅳ (b)OPT 图1 ARPT和OPT随任务数的变化曲线(m=20) 由网1(a)可以看出ARPD在相同机器数时随 任务数的增加呈上升趋势,当任务数超过3O时,性 能几乎不再随任务数的增加而变化;同样,由图1 (b)可以看出,OPT在相同机器数时随任务数的增 加呈下降趋势,即找到最优解的比例随任务数的增 加而下降;当任务数超过20时,不同算法找到最优 4 结语 本文针对流水作业调度问题最小化总完工时 间,提出了3个性能较好的混合算法HA1,HA2 和HA3,将它们与目前较好的算法IH7-FL,FLRI 和FLR2按ARPD和OPT性能进行了比较,结果 表明HA1,HA2和HA3在性能上都要优于目前最 好的启发式算法,可有效地求解以总完工时间最小 化的流水作业调度问题. 参考文献(References) [1]Garey M R,Johnson D S,Sethi R.The complexity of lfowshop and jobshop scheduling[J].Mathematics of Operations Research,1976,l(2):l17—129. [2]Kalczynski P J,Kamburowski J.On the NEH heuristic for minimizing the makespan in permutation flow shops [J].Omega,2007,35(1):53—60. 1 3 l Framinan J M,Leisten R,Rajendran C.Different initial sequences for the heuristic of Nawaz,Enscore and Ham to minimize makespan,idle time or flowtime in the stat— ic permutation flowshop sequencing problem[J].Inter- national Journal ofproduction Research,2003,41(1): l21—148. [4]Framinan J M,Leisten R.An efifcient constructive heu— ristic for flowtime minimisation in permutation flow shops[J].Omega,2003,31(4):31l一3l7. 15 1 WOO H S,Yim D S.A heuristic algorithm for mean flowtime objective in lfowshop scheduling[J].Comput- ers&Operations Research,l998,25(3):175一l82. [6]Rajendran C,Ziegler H.An efifcient heuristic for scheduling in a flowshop to minimize total weighted lfowtime ofjobs[J].European Journal ofOperational Research,1997,103(1):l29—138. [7]Allahverdi A,Aldowaisan T.New heuristics to mini— mize total completion in m—machine flowshops[J]. 一 ternational Journal of Production Economics。2002.77 (1):71—83. [8]Framinan J M,Leisten R,Ruiz-Usano R.Comparison’ of heuristics for flowtime minimisation in permutation lfowshops[J].Computers&Operations Research, 2oo5,32(5):1237一l254. [9]Ben—Daya M,AI—Fawzan M.A tabu search approach for hte lfow sh0p scheduling problem[J].European Journal ofOperationalResearch,1998,109(1):88—95. 10 I Liu J,Reeves C R.Constmctive and composite heuris— tic solutions to the P//∑C scheduling problem[J]. European Journal ofOperational Research.2001,132 (2):439—452. [11]Taillard E.Benchmarks for basic scheduling programs [J].European Journal of Operational Research, 1993,64(2):278—285. [12]Li X P,Wang Q,wu C.Efifcient composite heuris. tics for total flowtime minimization in permutation flow shops[J].Omega,2009,37(1):155—164.(to Idp— pear)