第十一章制造业作业计划与控制第一节作业计划与排序问题的概念第二节流水作业排序问题第三节单件作业排序问题本章作业第一节作业计划与排序问题的概念一、生产作业计划1.生产作业计划的涵义2.生产计划的内容3.生产作业计划工作的目标二、排序编制生产作业计划工作的关键:确定工件的加工顺序;确定机器加工每个工件的开始时间和完成时间。1.排序定义:排序是确定工件在机器上的加工顺序。2.排序问题的分类⑴按机器的种类和数量不同分类;⑵按工件到达车间的情况不同分类。3.排序问题的四参数表示法1.生产作业计划含义生产作业计划是企业年度生产计划的延续和具体化,是为了实施生产计划组织企业日常生产活动而编制的执行性计划。2.生产计划的内容⑴将计划期内的生产任务分配给车间、工段、以及生产者。⑵将全年任务细化为每月、每周直至每天每班的具体任务。⑶在生产计划的具体化过程中,通过科学计划使生产过程环节相互衔接、协调地工作。3.生产作业计划工作的目标⑴合理利用企业的生产资源,按品种、数量、质量和交货期的要求,全面完成生产任务。⑵建立良好的生产秩序,实现均衡生产。⑶缩短产品的生命周期,减少在制品的数量,加速资金周转。生产作业计划的涵义、内容和目标按机器的种类和数量不同分类⑴单台机器的排序问题。⑵多台机器的排序问题。对于多台机器的排序问题,按工件加工路线的特征,可以分成:①流水作业(Flow-shop)排序问题。所有工件的加工路线完全相同,是流水作业排序问题的基本特征。②单件作业(Job-shop)排序问题。工件的加工路线不同,是单件作业排序问题的基本特征。按工件到达车间的情况不同分类⑴静态的排序问题。当进行排序时,所有工件都已到达,可以一次对它们进行排序,这是静态的排序问题。⑵动态的排序问题。若工件是陆续到达,要随时安排它们的加工顺序,这是动态的排序问题。3.排序问题的四参数表示法其中:n工件数;m机器数;A车间类型:B目标函数,通常B=Fmax(使最长流程时间最短)。时在空白单件作业排序流水作业排列排序流水作业1:::,::mGPFABAmn///第二节流水作业排序问题一、流水作业排序问题的有关约定二、最长流程时间Fmax的计算三、n/2/F/Fmax问题的最优算法四、一般n/m/P/Fmax问题的启发式算法一、流水作业排序问题的有关约定1.流水作业的排列排序所有工件在各台机器上的加工顺序完全相同。2.重要约定⑴每台机器同时只能加工一个工件。⑵每道工序只在一台机器上完成。⑶工件在加工过程中采取平行移动方式,即当上一道工序完工后,立即送下道工序加工。⑷工件数、机器数和工件的加工时间已知,加工时间与加工顺序无关。⑸不允许中断。二、最长流程时间Fmax的计算(1/2)最长流程时间又称作加工周期,它是从第一个工件在第一台机器开始加工时算起,到最后一个工件在最后一台机器上完成加工时为止所经过的时间。设n个工件的加工顺序为S=(S1,S2,…,Sn),其中Si为排第i位加工的工件的代号。以表示工件Si在机器Mk上的完工时间,表示工件Si在Mk上的加工时间,k=1,2,---,m;i=1,2,……,n,则可按以下公式计算:(递推公式)其中:k=1,2,……,m;i=1,2,……,n(某工件在机器Mk上的完工时间等于紧前工件的完工时间与本工件的加工时间之和)iSkCkSipiSkC1111iiSiSSpCCkSkkkiiSiSiSpCCC1,max1二、最长流程时间Fmax的计算(2/2)由于假设所有工件的到达时间都为零(ri=0,i=1,2,…,n),所以Fmax等于排在末位加工的工件在车间的停留时间,也等于一批工件的最长完工时间Cmax。即在熟悉以上计算公式之后,可直接在加工时间矩阵上从左向右计算完工时间。SnmCFmax例11.1有一个6/4/P/Fmax问题,其加工时间如表11-1所示。当按顺序S=(6,1,5,2,4,3)加工时,求Fmax。i123456pi1423142pi2456745pi3587555pi4424331表11-1加工时间拒阵求解i615243pi12246410212113316pi257411415520727633pi3512517522830535742pi4113421325232338446例11.1求解:由上表可得出Fmax=46。移动方式图表11-2顺序S下的加工时间矩阵移动方式图:Fmax=46工序时间244213M1M4M3M2567544575855143234三、n/2/F/Fmax问题的最优算法对于n/2/F/Fmax问题S.M.Johnson(约翰森)于1954年提出了一个有效算法,这就是著名的Johnson算法。Johnson法则:设:ai表示Ji在M1上的加工时间,aj表示Jj在M1上的加工时间;bi表示Ji在M2上的加工时间,bj表示Jj在M2上的加工时间;每个工件都按M1→M2的路线加工。(ai、aj分别表示两个工件Ji、Jj在M1上的加工时间;bi、bj分别表示两个工件Ji、Jj在M2上的加工时间;)①如果min(ai,bj)<min(aj,bi)(公式11.3)则Ji应该排在Jj之前。②如果min(ai,bj)=min(aj,bi),则工件Ji既可排在工件Jj之前,也可以排在它之后。图示Johnson法则Johnson算法例题JiJjM1aiajM2bibjJohnson算法:⑴从加工时间矩阵中找出最短的加工时间。⑵法则:——若最短的加工时间出现在M1上,则对应的工件尽可能往前排;——若最短加工时间出现在M2上,则对应工件尽可能往后排;然后,从加工时间矩阵中划去已排序工件的加工时间;——若最短加工时间有多个,则任挑一个。——若所有工件都已排序,停止。否则,转步骤⑴。例11.2求表11-3所示的6/2/F/Fmax问题的最优解。123456ai518534bi722474表11-3加工时间矩阵求解过程解:按S=(1,2,3,4,5,6),Fmax=34根据Johnson算法,列表解答如下。步骤61154446635,523,312,2M1――――――→长长←――――――M2最优加工顺序为S=(2,5,6,1,4,3)或S=(2,5,1,4,6,3)?按S=(2,5,6,1,4,3)顺序,Fmax=28。按S=(2,5,1,4,6,3)顺序,Fmax=?,同学自己课下求。?答:28123456ai518534bi722474将工件2排在第1位:2将工件3排在第6位:23将工件5排在第2位:253将工件6排在第3位:2563将工件4排在第5位:25643将工件1排在第4位:256143四、一般n/m/P/Fmax问题的启发式算法(一)Palmer法(二)关键工件法(三)CDS法(一)Palmer法1965年D.S.Palmer(帕尔玛)提出按斜度指标排列工件的启发式算法,称之为Palmer法。工件的斜度指标可按下式计算:k=1,2,……,mm:表示机器数;:表示工件i在Mk上的加工时间。按照各工件不增的顺序排列工件,可得出令人满意的顺序。Palmer法可以结合下例来理解:ikmkipmk121ikpiPalmer法的理解例11.3i按不增的顺序排列工件,得到加工顺序(1,2,3,4)或(2,1,3,4),恰好,这两个顺序都是最优顺序。如不是这样,则从中挑选较优者。在最优顺序下,Fmax=28。例11.3:有一个4/3/F/Fmax问题,其加工时间如表11-5所示,用Palmer法求解。i1234pi11263pi28429pi34582332-1表11-5加工时间矩阵i3131311221321iiikkikkikmkipppkpkpmk(二)关键工件法关键工件法是一个启发式算法,其步骤如下:(1)计算每个工件的总加工时间,找出加工时间最长的工件C(j=m),将其作为关键工件。(2)对于余下的工件,若≤,则按不减的顺序排成一个序列Sa;若,则按不增的顺序排列成一个序列Sb。(3)顺序(Sa,C,Sb)即为所求顺序。例题下面用关键工件法求例11.3的近优解。求Pi,i=1,2,3,4,Pi如表11-6所示。求解如下。mjijipP11ipimp1ip1ipimpimp解:表11-6用关键工序法求解1234pi11263pi28429pi34582Pi13111614总加工时间最长的为3号工件;≤的工件为1和2,按不减的顺序排成Sa=(1,2)的工件为4号工件,Sb=(4);这样得到的加工顺序为(1,2,3,4),对本例,它为最优顺序。1ip3ip1ip1ip3ip(三)CDS法Campbell,Dudek,Smith(康坎贝尔、杜得克、史密斯)三人提出了一个启发式算法,简称CDS法。CDS法把Johnson算法用于一般的n/m/P/Fmax问题,得到(m-1)个加工顺序,取其中优者。具体做法是,对加工时间和,=1,2,…,m-1,用Johnson算法求(m-1)次加工顺序,取其中最好的结果。lkikp1mlmkikp1l例题:对例11.3用CDS法求解。加工时间矩阵见表11-5。求解如下:1234pi11263pi28429pi34582表11-5加工时间矩阵(例11.3)当=1时,按Johnson算法得到加工顺序(1,2,3,4);Fmax=28当=2时,得到加工顺序(2,3,1,4)。对于顺序(2,3,1,4),相应的Fmax=29所以,取顺序(1,2,3,4)。顺序(1,2,3,4)为最优顺序。解:表11-7用CDS法求解和,=1,2,结果如表11-7。lkikp1mlmkikp1ll1234=1pi11263pi34582=2pi1+pi296812Pi2+pi31291011lll第三节单件作业排序问题单件作业(Job-shop)排序问题的基本特征,是工件的加工路线不同。对于一般单件作业的排序问题,每个工件都有其独特的加工路线,工件没有一定的流向。对于流水作业的排序问题,第k道工序永远在Mk上加工,没有必要将工序号与机器号分开。一、单件作业排序问题的描述二、一般称n/m/G/Fmax问题的启发式算法一、单件作业排序问题的描述对于一般单件作业排序问题,要描述一道工序,要用3个参数:i,j和k。i表示工件代号,j表示工序号,k表示完成工件i的第j道工序的机器的代号。因此,可以用(i,j,k)来表示工件i的第j道工序是在机器k上进行的事件。于是,可以用加工描述矩阵的形式来描述所有工件的加工。加工描述矩阵D的每一行描述一个工件的加工,每一列的工序序号相同。例如,两个零件三道工序加工问题的加工描述矩阵:每道工序的加工时间用加工时间矩阵表示。例如与上述加工描述矩阵对应的时间矩阵为:2,3,21,2,23,1,22,3,13,2,11,1,1D543142T二、一般称n/m/G/Fmax问题的启发式算法㈠、两种作业计划的构成①半能动作业计划。②能动作业计划。③无延迟作业计划。1.能动作业计划的构成步骤2.无延迟作业计划的构成步骤㈡、三类启发式算法1.优先调度法则2.随机抽样法3.概率调度法①半能动作业计划:各工序都按最早可能开(完)工时间安排的作业计划称为半能动作业计划(Semi-activeschedule)。②能动作业计划:任何一台机器的每段空闲时间都不足以加工一道可加工工序的半能动作业计划,称为能动作业计划(Activeschedule)。③无延迟作业计划:无延迟作业计划(Non-delayschedule)是没有任何延迟出现的能动作业计划。所谓“延迟”,指有工件等待加工时,机器出现空闲,即使这段空闲时间不足以完成一道工序。能动作业计划和无延迟作业计划在研究一般单件作业排序问题时有重要作用。符号说明:将每安排一道工序称作一“步”,设①{St}——t步之前已排序工序构成的部分作业计划;②{Ot}——第t步