柔性作业车间调度问题的一种启发式算法
2020-11-18
来源:小奈知识网
第28卷第6期 2011年6月 计算机应用研究 Application Research of Computers Vo1.28 No.6 Jun.2011 柔性作业车间调度问题的一种启发式算法 苏子林 ,车忠志 ,苑金梁 (1.鲁东大学交通学院,山东烟台264025;2.中国农业大学烟台研究院,山东烟台264670) 摘要:为了研究多目标柔性作业车间调度问题,基于甘特图和搭积木经验进行了分析,提出了一种组合优先 规则和基于此优先规则的启发式算法。组合优先规则面向完工时间、关键机床负荷和总负荷三个指标,改变规 则中各数据项的比例可调整三个指标所占的比例;算法采用随机方式调整三个指标的比例,并微调最优解对应 的比例,能随机产生多个高质量调度解。算法对比测试表明,该算法求解质量高、运行速度快且稳定,可直接用 于在其他调度算法中产生初始解或者用于动态调度。 关键词:柔性作业车间调度;优先规则;启发式算法 中图分类号:TP301 文献标志码:A 文章编号:1001—3695(2011)06—2060—04 doi:10.3969/j.issn.1001—3695.2011.06.016 Heuristic algorithm for flexible Job—Shop scheduling SU Zi—lin ,CHE Zhong—zhi ,YUAN Jin—liang (1.School ofTraffic,Ludong University,Yantai Shandong 264025,China;2.Research Institute in Yantai,ChinaAgricultural University,Yah- tai Shandong 264670,China) Abstract:To study multi—objective lfexible Job・Shop scheduling problem,this paper analyzed it based on Gantt graph and ex— pefience from building block,presented a composite priority rule and heuristic algorithm based on this priority rule.This con— posite priority rule was for three scheduling targets including makespan,critical machine workload and total workload,chan— ~ 一1 2 一ging the ratio of data items in the ulre could adjust the ratio of the three scheduling targets.The algorithm randomly adjusted the ratio of this three scheduling targets,and slightly adjusted the ratio corresponding to the best solution,could randomly gen— erate many excellent scheduling solutions.The algorithm’S comparison and test show that the result of this algorithm is more excellent,the algorithm runs rapidly and steadily,and can directly be used in generating initial solution in other scheduling al— gorithms or dynamic scheduling. Key words:flexible Job—Shop scheduling;priority rule;heuristic algorithm O引言 在车间调度领域,基于优先规则的启发式算法能够在有限 的时间里产生可接受的调度结果,运行时间不随问题规模的增 大而迅速增加,易于实施,得到了重视和应用。目前的研究多 所有机床和工件在时间0可以开始加工。每个工件的工序顺 序确定,不同工件的工序无先后顺序;每个工序0 在一个或多 个机床Mr上加工,而且在不同机床上的加工时间P ,(P > 0)不一定相同,如表1所示。 表1 4×5柔性作业车间调度问题实例 工件 MI ^一 3 5 集中在传统作业车间调度问题,已经证实组合规则比单一调度 规则效果更好…。在柔性作业车间调度问题(FJsP)的研究方 M2 。一 M3 4 M4 _一 M5 。一 2 5 4 5 5 I 7 4 2 5 4 2 5 5 4 5 5 8 面,已有采用遗传编程方式研究简单优先规则的组合方式 ; 目前的研究中,优先规则组合的加权值对所有调度实例都采用 定值。在此基础上,本文在研究遗传算法的初始种群生成过程 中,基于甘特图分析了多目标FJSP,提出了一种基于优先规则 7 的启发式算法,动态修正组合规则的加权值,以下简称HABP 算法。实验表明算法求解质量相对较高,运行速度快且稳定。 1 柔性作业车间调度问题的数学模型 FJSP比传统的作业车问调度问题更加复杂,也更加接近 调度实际情况,其数学模型描述如下 :n个工件{., , ,…, }在m个机床{M。,ME,…,M }上加工,每个工件, 包含多 个工序{Ou,O啦,…,O }。其中每台机床在某一时刻只能 加工一个工序,每个工序一旦开始加工不得中断,直到结束。 收稿日期:2010-11—21;修回日期:2010 01.14  ̄E:J1表示工件1;013表示工件1的工序3;Ta g表示工序在各机床的平均加工 ,时间。 调度过程是合理安排工序到适当的机床上,使得一个或多 个性能指标最优,现有文献较多考虑完工时间 ,本文考虑下 列三个调度目标 : 作者简介:苏子林(1970一),男,山东聊城人,副教授,硕士,主要研究方向为计算机集成制造、汽车故障诊断(suzilinyt@yahoo.corn.cn);车忠志 (1973。),男,讲师,硕士,主要研究方向为信息技术;苑金梁(1968-),男,讲师,主要研究方向为信息技术、汽车技术. 第6期 a)完工时间(C )最短,即 arin CM=rain(max(C^))苏子林,等:柔性作业车间调度问题的一种启发式算法 ・2061・ 加 上加工时间最短的工序,也是优选工序加工时间最短的机床。 0< </71 (1) 几¨U¨ ¨ 圈从调度结果甘特图可知,第一和第二数据项都利于使C 最 一 短;第二数据项利于使机床负荷均匀分布,使 最小;第三数 据项利于使 最小。因此改变系数Ol和 的值便可调整三 个调度目标的比例,得到不同的调度结果。大量算例数据测试 b)关键机床负荷( )最小,即 airn =min(max( ))0< <m (2) n¨ , c)总负荷(F/T)最小,即 m min =rain∑. .(3) 表明,当OL∈[1.0,10.0], ∈[1.0,10.0],且卢≤ 时,效果 最好。 2柔性作业车间调度分析 柔性作业车间调度包括工序选择和机床选择两个方面,最 终生成最优或近优的工序排序和机床排序。基于优先规则的 在图1、2所示的格局下,可用工序集合是{O。 O:,, 03.2,O . }。当 =3,卢=2.5时,各工序的优先度如表2所 示。其中h(4,2,4)=一3.5最大,O :应优先排在机床 上 加工;当 =3,卢=1时,h(3,2,4)=2最大,0 应优先排在机 启发式算法就是根据某种优先规则,从所有工件的可加工工序 中合理选择一个,并安排在合适的机床上加工,最后得到可以 接受的调度结果,即从图1所示的可用工序中,选择一个安排 在图2所示的合适机床上加工,最终生成图3所示的调度结 果。图1表示表1实例的各个工件及其工序的平均加工时间, 填充矩形表示的工序尚未排到图2中,图2表示调度排序过 程。图1和2都采用矩形表示工序,把工序看做积木,把机床 看做盒子,基于优先规则的启发式算法调度过程很像搭积 木 ,即从图1最上方四块积木中,根据某种优先规则不断取 出积木排在图2中,最后产生图3的积木排列。同一积木排在 不同的盒子里长度不同;排列目标考虑积木的高度最低、盒子 里积木总长度最小以及所有积木的总长度最小。根据搭积木 的经验,综合考虑三个目标,图1中剩余积木高度最大的应该 先搭,尽量搭在图2中最靠左处,并且优先选择在盒子里长度 最小的积木。由此,剩余工序总加工时间最长的工件应该优 选,尽量排在最早完工的机床上,并且优选在机床上加工时间 最短的工序。因此,工序0 排在机床 上的优先度为 ni ^(i√,r)=P .Z 一dc,一卢P + ()4 J 其中:P 表示工件i的第 个工序在可加工机床的平均加工 时问,c 表示机床M 的完工时间;系数O/调整机床完工时间 在优先度中所占的比例;系数卢是调整0 在机床M,加工时 间在优先度中所占的比例。 M仁 M 工件 加工时间t/s 图1工件平均加工时间 图2调度过程 ML 丑二] 021 041 , 鸠 0 意M t===============]E 亚 0 . .尬 r][]r——————————[] 0 z 0. .. M 。 。。。 。 。 。 。 。‘一 亨— —l_— — 1 加工时间f/s ,、 图3调度结果甘特图 式(4)包括减号分割的三个数据项,第一数据项反映了应 优选剩余工序总加工时间最长的工件,第二数据项反映了工序 应尽量排在最早完工的机床上,第三数据项反映了优选在机床 床 上加工。 表2各工序的优先度(O/=3,口=2.5) 从图3的调度结果甘特图可见, 的三个工序的加工时 间都取最小值,而且第一个工序从时间0开始连续加工,没有 空闲,第三个工序最后完成加工,因此图3调度结果的c 达 到下限。图3的所有工序都取最小加工时间,因此图3调度结 果的 达到下限。所以,图3调度结果的完工时间最短和总 负荷最小,两个调度目标都得到最优。 3基于优先规则的启发式算法 基于以上分析,得到HABP算法如下: a)计算所有工序在各机床的平均加工时间;构造调度结 果集合D:{d I1≤ ≤300};构造可加工工序集合X={J l1≤ ≤n,l≤ ≤n }。 ‘ b)while(k< ̄300),循环体如下: (a)设置 的各数据项为l。如果前五次循环内更新了性 能指标加权和的最小值,则o/和卢都在最优解对应的o/和卢基 础上,随机增减[0.01,2.0]内的随机数;否则生成[1.0,10. 0]内的随机数赋给d,生成[1.0, ]内的随机数赋给卢。 (b)循环执行下列任务,循环次数为所有工序的数量之 和。设置h…为一个足够小的实数;以随机顺序从集合 中取 一个可加工工序,并以随机顺序对所有机床根据式(4)计算其 优先度h 如果h , >h…,则h…=h ,,,并记录当前的 、 和r;排列0 在机床 上加工,更新集合 。 (c)排列所有工序后,得到一个调度结果d 。 (d)d 与集合D的已有调度结果比较,如果不同,则保存 d 为d ,计算d 的三个性能指标C 、 和 ,并求其加权 和,如果达到加权和的最小值则更新加权和的最小值, = + 1,返回b);如果与已有调度结果相同,则将重复次数加1,如果 重复次数超过50则退出循环b),如果不超过50则返回b)。 c)输出最优调度结果及其性能指标。 HABP算法采用随机生成 和 的方式,调整机床完工时 间和工序在机床上加工时间在优先度中的比例,并对最优解对 应的O/和口在[0.01,2.0]内微调。在调度结果生成中,以随 机顺序从集合 中取工序,以随机顺序对可加工机床计算其 优先度,从而随机选择最大优先度值相同的不同工序和机床排 列,便得到不同的调度结果。 ・2062・ 计算机应用研究 第28卷 21.8,平均为8.0。HA的运算结果达到最优时,HABP也达到 4计算结果与对比分析 HABP算法采用c语言实现,编译环境为WinTC2.0。运 行微机的主频为P4 2.4 GHz,内存为5t2 MB,操作系统为Win- dows XP。 最优;HABP对问题la01、1a08和la32的运算结果达到最优,但 HA没有。因此,HABP比HA更优,主要原因是HABP在组合 优先规则的各数据项之间采用非定值比例参数,并自动寻优, 而且合理增加了数据项。 根据本文的分析,HABP算法的优先度计算考虑优选剩余 工序加工时间最长的工件,工序应尽量排在最早完工的机床 上,优选在机床上加工时间最短的工序,是一种组合优先规则 (CDR)。分别采用随机选择(RND)、最短加工时间(SPT)、最 早交货期(EDD)和最长剩余加工时间(MWR)规则修改优先 度计算公式,便可得到不同的启发式算法。这些算法对不同规 为了对比HABP算法对不同规模和不同可用机床数量的 性能,对129个HU实例 进行了运算,运算结果如表5所示。 表5 HABP对不同HU实例运算结果的比较 模的Kaeem" 实例进行运算,多次运算结果的波动很小,五 次运算的平均结果如表3所示。可见采用CDR的HABP算 法,三个性能指标最优,更接近目前已知的最优解,对4×5实 例达到了最优解。 表3不同优先规则的对比 柔性作业车间调度问题,当所有工序的可加工机床数量变 为1后,便成为传统作业车间调度问题(JSP)。HABP算法对 JSP的40个经典实例进行了运算,与文献[6]算法(HA)的运 算结果进行比较,如表4所示。其中,LB表示完工时间下限, dev表示与LB的相对偏差。 表4 HABP与HA的比较 HA HABP HA HABP 。 ~ C^f dev cM dev 。 C^f dev C dev la01 666 671 0.7 666 0 l l 1 046 1 183 l1.6 1 151 9.1 1胡2 655 838 21.8 694 5.6 1日22 927 1 068 l3.2 990 6.4 lao3 597 696 14.2 650 8.2 1日23 1 032 l 1l8 7.7 1 059 2.5 lao4 590 696 15.2 637 7.4 la24 935 l 022 8.5 1 022 8.5 la05 593 593 0 593 0 la25 977 1 073 8.9 1 037 5.8 la06 926 926 0 926 0 la26 1 218 l 318 7.6 1 280 4.8 laO7 890 960 7.3 917 2.9 la27 l 235 l 449 14.8 1 379 10.4 la08 863 896 3.7 863 0 la28 l 216 l 490 18.4 1 366 10.9 la09 951 951 0 951 0 la29 1 157 1 312 l1.8 1 291 10.4 1alO 958 958 0 958 0 la3O 1 355 1 506 10.0 1 387 2.3 la11 l 222 1 222 0 1 222 0 la31 1 784 1 895 5.9 1 852 3.7 la12 l 039 1 050 1.0 1 O4O 0.1 la32 1 850 1 9OO 2.6 1 850 0 la13 1 15O 1 150 0 l 150 0 la33 l 719 l 792 4.1 1 734 0.8 la14 1 292 1 292 0 l 292 0 la34 l 721 l 829 5.9 1 733 0.7 lal5 l 207 l 386 12 9 1 26l 4.3 la35 1 888 l 958 3.6 1 901 0.7 la16 945 l 052 10.2 979 3.5 Ia36 1 268 l 395 9.1 1 367 7.2 la17 784 847 7.4 810 3.2 la37 1 397 1 581 l1.6 1 490 6.2 lal8 848 948 10.5 882 3.9 1a38 1 196 1 361 12.1 l 344 l1.0 la19 842 927 9.2 868 2.9 la39 1 233 1 428 13.7 l 397 l1.7 la20 902 1 000 9.8 962 6.2 la40 l 222 l 414 13.6 l 302 6.1 表4中HABP运算结果与最优解的相对偏差最大为11.7, 平均为4.2;而HA运算结果与最优解的相对偏差最大为 表5的实例集edata中,运算结果与LB的相对偏差平均 值为8.2,最大为22.9;实例集rdata中,运算结果与LB的相对 偏差平均值为5.8,最大为14;实例集vdata中,运算结果与LB 的相对偏差平均值为0.8,最大为5.3。实例集edata的可用机 床数量均值为1.15,最大为2(m≤6)或3(m≥10);实例集 rdata的可用机床数量均值为2,最大为3;实例集vdata的可用 机床数量均值为0.5m,最大为0.8m。因此从表5数据可知, 随着可用机床数量所占比例的增加,HABP算法更优,运算结 第6期 苏子林,等:柔性作业车间调度问题的一种启发式算法 ・2063・ 果与LB的相对偏差不随问题规模的增大而增加。另外, HABP的运行时间随着问题规模的增大而增加,但趋势平缓。 在上述算法测试中,运行时间都不超过1 s。由于HABP算法 主要通过改变 和口的值来得到不同的调度结果,不同的随机 数序列影响较小,多次运行结果稳定。 Journal of Operational Research,2004,157(2):307—321. TAY J C,HO N B.Evolving dispatching rules using genetic program— ming for solving multi—objective flexible Job—Shop problems[j]. Computers&Industrial Engineering,2008,54(3):453—473. YIAZDANI M.AMIRI M,ZANDIEH M.Flexible Job—Shop schedu- ling with parallel variable neighborhood search algorithm[J],Expert Systems with Applications,2010,37(1):678—687. BAGHERI A,ZANDIEH M,MAHDAVIA I,et a1.An artiifcial im- 5结束语 a)从搭积木的经验和甘特图分析可知,对于多目标柔性 作业车间调度问题,式(4)表达的优先规则利于c 、 和 三个指标优化,改变式中ot和口的值便可调整三个指标在调度 结果中所占的比例。 mune algorithm orf the flexible Job—Shop scheduling problem[J].Fu。 ture Generation Computer Systems,2010,26(4):533-541. HMIDA A B,HAOUARI M,HUGUET M,et a1.Discrepancy search orf the flexible Job—Shop scheduling problem[J].Computers& Operations Research,2010,37(12):2192—2201, b)HABP采用随机方式调整机床完工时间和工序在机床 上加工时间在优先规则中的比例,并对最优解对应的比例在小 范围内微调;随机选择优先度相同的工序和机床,便于得到不 同调度结果。 张德富,李新.求解作业车间调度问题的快速启发式算法[J]. 计算机集成制造系统,2005,11(2):237—242. KACEM I,HAMMADI S,BORNE P.Pareto-optimality approach for lfexible Job—Shop scheduling problems:hybridization of evolutionary c)HABP的运算结果更接近最优解,而且随着可用机床数 量所占比例的增加,效果更好;HABP属于基于优先规则的启 】 ] ] ] ] ] algorithms and fuzzy logic[J].Mathematics and Computers in Simulation,2002,60(3):245—276. XIA Wei-jun,wu Zhi・ming.An effective hybrid optimization ap— ] 】 发式算法,运行速度快、稳定可靠。 d)HABP不仅由于运算结果更优、速度快,可直接用于动 pruaeh or mulfti—objective flexible Job—Shop scheduling problem[J]. Computer&Industrial Engineering,2005,48(2):409—425. HURINK E,JURISCH B,THOLE M.Tabu search for the Job—Shop 态调度,而且由于能够产生多个调度结果,可用于其他算法产 生初始解,如遗传算法、模拟退火算法或离子群算法等。 参考文献: [1]JAYAMOHAN M S,RAJENDRAN C.Development and analysis of cost-based dispatching rules for Job—Shop scheduling[J].European scheduling problem with multi—purpose machine[J].Operations Research Spektrum,1994,15(5):205—215. (上接第2048页) 3 3 步的研究,如RBF神经网络算法的选择。 参考文献: [1]国蓉,何镇安,王伟.被动声探测技术与弹着点定位方法综述[J]. 电声技术,2010,34(11):48—52. ; 剁 咄2 ; 2 [2]陆文骏,童利标,朱烨,等.基于BP神经网络的四元声定位的距 丑 z坐标值/m 置 z坐标值/m 图8多级神经网络输出 坐标绝对误差 图9常规算法输出 坐标绝对误差 离估计研究[J].声学与电子工程,2009,93(1):l2—13. [3]HOWELL B P,WOOD S,KOKSAL S.Passive sonar recognition and analysis using hybrid neural networks[c]//Proe of IEEE Oceans Conferenee and Exhibition.『S.1.]:IEEE Press,2003:1917—1924. 表2各算法仿真结果 [4]WEDGE D,INGRAM D,McLEAN D,et a1.On global—local artiif- eila neurla networks for function approximation[J].IEEE Trans on Neural Networks,2006,17(4):942—952. [5]XU Ken-jun,LI Qiao—li,TAO Mei,et a1.Estimation of wrist force/ torque using data fusion of finger force sensors[J].Measurement, 4结束语 基于多级神经网络的被动声探测定位算法能够有效解决 2004,36(5):11—19. [6]王成,李少洪,王鑫全,等.测时差被动定位算法的研究[J].系统 工程与电子技术,2001,23(11):9-12. 因测量误差、复杂传播环境等多重因素影响而导致的精确数学 模型难以建立以及解位置方程时的非线性问题,与基于单RBF 神经网络的被动声定位算法和常规算法相比,其定位精度更 [7]BIANCHINI M,FRASCONI P,GORI M.Learning without local minima in radial basis function networks[J].IEEE Trans on Neural Networks,1995,6(3):749—755. 高、速度更快、鲁棒性更好,更加适合于实时定位。甚至在个别 传感器失效时,基于单RBF神经网络的被动声定位算法失去 定位功能,而本文算法获得的定位精度比正常情况下常规算法 [8]JIA Ming-xing,ZHAO Chun—hui,WANG Fu—li,et a1.A new method orf decision on the structure of RBF neural network[c]//Proc of IEEE International Conference on Computational Intelligence and Se— curity.[s.1.]:IEEE Press,2006:147—150. 获得的定位精度高;同时,还能够为快速定位故障点提供依据, 这在一定程度上说明本系统更加智能化、自动化。 虽然本文的算法取得了较好的定位效果,具有较大的优 势,但还处于理论研究阶段,要实现实际工程设计还需要进一 [9]王怡,付丽琴,韩焱.基于双BP神经网络数据融合的水声定位研 究[J].核电子学与探测技术,2009,29(3):676—679. [1O]庄严.数据融合在测控技术中的运用[J].计量技术,2002,184 (12):6—9.