华中科技大学管理学院)生产作业排序一、基本概念二、最长流程时间三、n/2/F/Fmax问题的算法四、一般n/m/P/Fmax问题的启发式算法五、单件车间排序问题华中科技大学管理学院)一、基本概念1、排序•排序就是要将不同的工作任务安排一个执行的顺序,使预定的目标最优化。•实际上就是要解决如何按时间的先后,将有限的人力、物力资源分配给不同工作任务,使预定目标最优化的问题。华中科技大学管理学院)一、基本概念排序中常用的几个概念•工件(Job):服务对象;•机器(Machine、Processor):服务者。如:•n个零件在机器上加工,则零件是工件,设备是机器;•工人维修设备,出故障的设备是工件,工人是机器。华中科技大学管理学院)一、基本概念所以,作业排序也就是要确定工件在机器上的加工顺序,可用一组工件代号的一种排列来表示。如可用(1,6,5,4,3,2)表示加工顺序:J1—J6—J5—J4—J3—J2。华中科技大学管理学院)一、基本概念2、作业计划(Scheduling)•作业计划与排序不是一回事,它不仅要确定工件的加工顺序,而且还要确定每台机器加工每个工件的开工时间和完工时间。•如果按最早可能开(完)工时间来编排作业计划,则排序完后,作业计划也就确定了。华中科技大学管理学院)一、基本概念3、排序问题的分类与表示1)单台机器与多台机器的排序问题。2)流水车间与单件车间排序问题。华中科技大学管理学院)一、基本概念流水车间排序问题的基本特征:•每个工件的加工路线都一样。如车—铣—磨。这里指的是工件的加工流向一致,并不要求每个工件必须在每台机器上加工。如有的工件为车—磨,有的为铣—磨。•不仅加工路线一致,而且所有工件在各台机器上的加工顺序也一样,这种排序称为排列排序(同顺序排序)。如工件排序为:J1—J3—J2,则表示所有机器都是先加工J1,然后加工J3,最后加工J2。华中科技大学管理学院)一、基本概念单件车间排序问题的基本特征:•每个工件都有其独特的加工路线,工件没有一定的流向。华中科技大学管理学院)一、基本概念3)表示方法一般正规的表示方法为:n/m/A/Bn:工件数;m:机器数;A:车间类型(F、P、G);B:目标函数华中科技大学管理学院)一、基本概念4)一般来说,排列排序问题的最优解不一定是相应流水车间排序问题的最优解,但一般是比较好的解。而对于仅有2台或3台机器的情况,则排列排序问题的最优解一定是相应流水车间排序问题的最优解。华中科技大学管理学院)一、基本概念4、排序问题的假设条件•一个工件不能同时在几台不同的机器上加工。•工件在加工过程中采取平行移动方式。•不允许中断。•每道工序只在一台机器上完成。•每台机器同时只能加工一个工件。•工件数、机器数和加工时间已知,加工时间与加工顺序无关。华中科技大学管理学院)二、最长流程时间•最长流程时间(加工周期):从第一个工件在第一台机器上加工起到最后一个工件在最后一台机器上加工完毕为止所经过的时间。•假定所有工件的到达时间都为0,则Fmax等于排在末位加工的工件在车间的停留时间。华中科技大学管理学院)二、最长流程时间计算Fmax的几个假定条件:•机器M1不会发生空闲;•对其它机器,能对某一工件加工必须具备2个条件:机器必须完成排前一位的工件的加工;要加工的工件的上道工序已经完工。华中科技大学管理学院)二、最长流程时间表6-1加工时间矩阵i123456Pi1423142Pi2456745Pi3587555Pi4424331华中科技大学管理学院)二、最长流程时间ipi1pi2pi3pi4615243255144544453258217533674261012131671115202733121722303542132125323846华中科技大学管理学院)三、n/2/F/Fmax问题的算法Johnson算法:•假定:ai为工件Ji在机器M1上的加工时间,bi为工件Ji在机器M2上的加工时间,每个工件按M1—M2的路线加工。华中科技大学管理学院)三、n/2/F/Fmax问题的算法Johnson算法的步骤:•从加工时间矩阵中找出最短的加工时间。•若最短时间出现在M1上,则对应的工件尽可能往前排。•若最短时间出现在M2上,则对应的工件尽可能往后排。•若最短时间有多个,则任选一个。•划去已排序的工件。•若所有工件都已排序,则停止,否则重复上述步骤。华中科技大学管理学院)四、一般n/m/P/Fmax问题的启发式算法对于一般的n/m/P/Fmax问题,可以用分支定界法求得最优解,但计算量很大。实际中,可以用启发式算法求近优解。华中科技大学管理学院)四、一般n/m/P/Fmax问题的启发式算法1、Palmer法•计算工件斜度指标i:m:机器数pik:工件i在机器k上的加工时间。i=1,2,,n•排序方法:按i从大到小的顺序排列。•按排序的顺序计算Fmaxm1kikip]2/)1m(k[华中科技大学管理学院)四、一般n/m/P/Fmax问题的启发式算法2、关键工件法:•计算Pi=Pij,找出Pi最长的工件,将之作为关键工件C。•对其余工件,若Pi1≤Pim,则按Pi1由小到大排成序列SA。若Pi1Pim,则按Pim由大到小排成序列SB。•顺序(SA,C,SB)即为近优解。华中科技大学管理学院)四、一般n/m/P/Fmax问题的启发式算法用关键工件法求解i1234Pi11263Pi28429Pi34582pi13111614得到的加工顺序为(1,2,3,4)华中科技大学管理学院)四、一般n/m/P/Fmax问题的启发式算法3、CDS法:•CDS法是Johnson算法的扩展方法,从M-1个排序中找出近优解。加工顺序A加工时间B加工时间1t1tm2t1+t2tm-1+tm3t1+t2+t3tm-2+tm-1+tm……………m-1t1+t2+…+tm-1t2+…+tm-1+tm华中科技大学管理学院)四、一般n/m/P/Fmax问题的启发式算法•L=1,按Johnson算法得到加工顺序(1,2,3,4),Fmax=28•L=2,按Johnson算法得到加工顺序(2,3,1,4),Fmax=29•取顺序(1,2,3,4)为最优顺序。用CDS法求解i1234Pi11263L=1Pi34582Pi1+pi296812L=2Pi2+pi31291011华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)1、问题描述•(i,j,k):表示工件i的第j道工序是在机器k上进行。•加工描述矩阵D:每一行描述一个工件的加工,每一列的工序序号相同。D=1,1,11,2,31,3,22,1,32,2,12,3,2华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)•加工时间矩阵T:与D相对应。D=1,1,11,2,31,3,22,1,32,2,12,3,2T=463574华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)•加工顺序矩阵S:每一行与机器相对应,每一列与工件相对应。D=1,1,11,2,31,3,22,1,32,2,12,3,2S=1,1,12,2,11,3,22,3,22,1,31,2,3华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)•用方块图表示:D=1,1,11,2,31,3,22,1,32,2,12,3,2S=1,1,12,2,11,3,22,3,22,1,31,2,3T=4635741,1,12,1,31,2,32,2,11,3,22,3,2M1M2M3华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)2、能动作业计划的构成•各工序都按最早可能开(完)工时间安排且任何一台机器的每段空闲时间都不足以加工一道可加工工序。•符号说明:–{Ot}第t步可以排序的工序的集合–{St}t步之前已排序的工序构成的部分作业计划–Tk{Ot}中工序Ok的最早可能开工时间–T’k{Ot}中工序Ok的最早可能完工时间华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)能动作业计划的构成步骤:①设t=1,{St}为空,{Ot}为各工件第一道工序的集合。②求最小的最早完工时间T*=min{T’k},并找到出现T*的机器M*,若有多台,任选一台。③从{Ot}中跳出满足以下两条件的工序Oj–需要机器M*加工;–TjT*④将确定的Oj放入{St},从{Ot}中消去Oj并将Oj的紧后工序放入{Ot}中,使t=t+1。⑤若还有未安排的工序,转步骤②;否则,停止。华中科技大学管理学院)一个实例:D=1,1,11,2,31,3,22,1,32,2,12,3,2T=241345i1{Ot}TkT’kT*M*Oj1,1,1022M11,1,12,1,30321,2,3263M32,1,32,1,30331,2,3377M31,2,32,2,13741,3,2787M12,2,12,2,13751,3,2788M21,3,22,3,2712613M22,3,22,3,2813华中科技大学管理学院)得到加工顺序矩阵:S=1,1,12,2,11,3,22,3,22,1,31,2,31,1,12,1,31,2,32,2,11,3,22,3,2M1M2M323773813华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)3、无延迟作业计划的构成•没有任何延迟出现的能动作业计划。所谓“延迟”,指有工件等待加工时,机器出现空闲,即使这段空闲时间不足以完成一道工序。•构成步骤:华中科技大学管理学院)五、单件车间排序问题(n/m/G/Fmax)无延迟作业计划的构成步骤:①设t=1,{St}为空,{Ot}为各工件第一道工序的集合。②求最小的最早完工时间T*=min{Tk},并找到出现T*的机器M*,若有多台,任选一台。③从{Ot}中跳出满足以下两条件的工序Oj–需要机器M*加工;–Tj=T*④将确定的Oj放入{St},从{Ot}中消去Oj并将Oj的紧后工序放入{Ot}中,使t=t+1。⑤若还有未安排的工序,转步骤②;否则,停止。华中科技大学管理学院)一个实例:D=1,1,11,2,31,3,22,1,32,2,12,3,2T=241345i1{Ot}TkT’kT*M*Oj1,1,1020M11,1,12,1,30321,2,3260M32,1,32,1,30331,2,3373M31,2,32,2,13741,3,2783M12,2,12,2,13751,3,2787M22,3,22,3,2712612M21,3,22,3,212130M33M17M2华中科技大学管理学院)得到加工顺序矩阵:S=1,1,12,2,12,3,21,3,22,1,31,2,31,1,12,1,31,2,32,2,11,3,22,3,2M1M2M3237731213华中科技大学管理学院)4、启发式算法:•能动作业计划和无延迟作业计划尽管不一定是最优作业计划,但一般是较好的作业计划,特别是无延迟作业计划能提供令人满意的解。•一般能动作业计划和无延迟作业计划都有多个,可用启发式方法从中选择结果较好的作业计划。•一般来说,以构成无延迟作业计划的步骤为基础的启发式算法比以构成能动作业计划的步骤为基础的启发算法的效果要好。五、单件车间排序问题(n/m/G/Fmax)华中科技大学管理学院)优选调度法则:•SPT(ShortestProcessingTime)法则:优先选择加工时间最短的工序。•FCFS(FirstComeFirstServed)法则:优先选择最早进入可排工序集合的工件。•EDD(EarliestDueDate)法则:优先选择完工期限紧的工件。•MWKR(MostWorkRemaining)法则:优先选择余下加工时间最长的工件。•LWKR(LeastWorkRemaining)法则:优先选择余下加工时间最短的工件。•MOPNR(MostOperationsRemaining)法则:优先选择余下工序数最多的工件。五、单件车间排序问题(n/m/G/Fmax