1、第二章 工程网络图及有关排序问题,2.1 工程网络 2.2 工程网络图的要求及其检验方法 2.3 工程网络图的分析方法,2.1 工程网络,在实践中经常会遇到合理地安排工作次序、统筹使用各种资源,以便在最短时间内完成预定的任务的一类问题,统筹方法就是解决这类问题行之有效的一种数学方法。统筹方法利用工程网络图(也称统筹图)来表示组成任务的各个环节及其先后次序,并据此对工程网络作进一步的分析和计算,以帮助人们进行合理地安排任务的各个环节,科学地进行决策和管理,达到优化完成任务的目的。,在国内外许多科学技术和管理科学的文献中,统筹方法经常被称作CPM方法或PERT技术,这是因为在统筹方法形成的历史过程
2、中有两件事起了很大的作用。这两件事都发生在20世纪50年代;美国的兰德公司为杜邦公司改善内部管理而提出的关键路线法(Critical Path Method,简称CPM方法),使后者大大提高了效益;美国的特种技术规划局采用计划评估技术(Program Evaluation and Reciew Techniques,简称PERT技术),使美国提前两年完成了战略核武器北极星核潜艇的建造。这两件成功应用统筹方法的案例刺激了各种行业竞相采用PERT/CPM技术编制项目的计划,加快了统筹方法的普及过程,以致后来在有些国家,把是否使用CPM方法或PERT技术核验投标计划书法定为政府部门接受公司投标国家项
3、目的先决条件。与此几乎同时,在20世纪5060年代,在华罗庚先生的倡导和推动起来,总结为统筹方法。他的统筹方法评估及补充一书为在我国普及统筹方法起了很大的作用。,我们从一个最简单的例子来了解这种方法的思想,设想我们要以茶待客,为此要完成下面各项事情,并把各件事情所需时间列于其后(为简单计,时间取为整数): 洗茶杯,1分钟; 找茶叶并放入茶杯,1分钟; 烧开水,5分钟; 冲茶,1分钟。 我们如何把完成“以茶待客”这件任务用图表示?,从图中分析可以得到:我们可以先烧水,再去洗茶杯、放茶叶,等水开了后再为客人冲茶。这样的安排可以用最短的时间完成所有的事情。由此可知,客人最少要6分钟以后才能喝到茶,也
4、就是完成所有事情的最短“工期”是6分钟。 工程网络图还说明,为缩短客人的等待时间,可以考虑的办法是用更短的时间把水烧开,或者缩短冲茶的时间,而不是在缩短洗茶杯、放茶叶的时间上动脑筋。,例1 表2-1所示是某个机床要加工的5种零件的先后次序关系,试根据表格画出相应的工程网络图来。,例2 图2-3标出了自行车有关零件的名称。把自行车零件组装成一辆自行车,主要有以下几个工序: A组装车架,包括装前叉,车把和前后挡泥板; B安装并校正前轮; C安装并校正后轮(含飞轮); D安装中轴,包括装轮盘和脚蹬; E在轮盘和飞轮间连接链条; F安装左、右脚蹬; G安装前后车间和车座。,对于熟练的装配工,各工序所需
5、要的时间如表2-2所示。,如果由一个人完成全部组装工作至少需要45分钟。自行车组装过程中的有些工序的前后次序是确定的。例如,在后轮与中轴轮盘装好之前无法连接后轮上的飞轮与轮盘之间的链条等等。根据经验,如下的装配顺序是必须遵循的:(1)在安装并校正前后轮之前组装车架;(2)车闸的安装要在前后轮转好之后再进行;(3)连接飞轮和轮盘间的链条要在后轮和中轴装好之后再进行;(4)先装中轴,再装脚蹬。 现安排两个工人合作组装一辆自行车,每道工序只能由一个完成。请你为这两位工人安排一个组装的工序流程,使他们在最短的时间内装配好这辆自行车,并请算出最短时间。(北京市1999年决赛),例2 图2-3标出了自行车
6、有关零件的名称。把自行车零件组装成一辆自行车,主要有以下几个工序: A组装车架,包括装前叉,车把和前后挡泥板;B安装并校正前轮; C安装并校正后轮(含飞轮); D安装中轴,包括装轮盘和脚蹬; E在轮盘和飞轮间连接链条;F安装左、右脚蹬; G安装前后车间和车座。,(1)在安装并校正前后轮之前组装车架;(2)车闸的安装要在前后轮转好之后再进行;(3)连接飞轮和轮盘间的链条要在后轮和中轴装好之后再进行;(4)先装中轴,再装脚蹬。,2.2 工程网络图的要求及其检验方法,工程网络图的工作要正确地反映各工序之间的关系,但是作为整体来说,工程网络图还有其自身的要求。,首先,适应每件事情总有“一个”开始和“一
7、个”结束的思维习惯,我们要求整个工程网络图只有一个初始事项和一个最终事项。这个要求可以用适当添加虚工序和事项来达到。例如图2-5(a)中原有两个初始事项和,3个最终事项,可以添加一些虚工序,如图2-5(b)所示,使新的工程网络图上只有一个初始事项和一个最终事项。,其次,正确的工程网络图要求整个图内不含有“圈”。所谓“圈”是图中从某个事项出发经过若干个首尾相连的工序又回到起点的一个工序序列。如图2-6(a)中的B-C-D和图2-6(b)中的B-C-D与A-B-C-E都是圈的例子。,如何来检查一张工程网络图有没有圈呢?方法1:“穷竭法”,即“跟踪”每一个首尾相连的工序序列,看它是否回到起点。方法2
8、:“工序删去法”。,首先,从工程网络图中找寻初始事项,然后删去该事项和从该事项出发的所有工序。再在新的工程网络图中找寻初始事项,重复上述过程。如果图中没有圈的话,则在这个过程中可以把图中的所有工序全部删去。图2-7(a)图2-7(c)给出了按工序删去法检验图图2-7(a)的过程。从图2-7(c)再删一次,就可以把图中的所有工序全部删去。,如果遇到如图2-6(a)这样的含有圈的图,照上述步骤将删成如图2-8所示,此后就不可能再删去任何一道工序了。,请你按照制作工程网络图的要求及其检验方法,检查你自己绘制的工程网络图是否合理?,2.3 工程网络图的分析方法,2.3.1 最短工期 2.3.2 缩短工
9、期 2.3.3 等待时间,2.3.1 最短工期,工程网络图可以帮助我们分析整个工程的最短工期。 以图2-9为例,我们把初始事项到最终事项的一个首尾相连的工序序列称为路线,例如1-2-3-4是一条路线,1-3-4也是一条路线。一条路线中所有工序时间的总和称为该路线的长,例如,路线1-2-3-4的长为3,路线1-3-4的长为6。一张工程网络图中最长的路线称为关键路线。图2-9的关键路线是1-3-4,关键路线的长为6。从图2-9分析可知,完成所有事情的最短时间为6,也就是关键路线的长。这是一个普遍成立的规律:工程的最短工期等于工程网络图中关键路线的长。,关键路线如此重要,如何从工程网络图中找出关键路
10、线呢? 1、可以根据关键路线的定义,找出图中所有路线,计算各路线的长,通过比较后得到的最长的路线就是关键路线。 2、计算每个事项的“最早出发时间”和“最迟到达时间”的方法。这种算法也适合于计算机编程以处理复杂的情况。,最早出发时间,是指该事项后面的工序最早什么时间可以开工,规定初始事项的最早时间为0。,在一般情况下,设指向某事项i的工序有n个(见图2-12):A1,A2,An,完成这些工序分别需要时间t1,t2,tn,且这些工序的起点事项最早时间都已经计算得到,分别记为E1,E2,En,则事项i的最早时间Ei由下式计算:,最迟到达时间,是在规定事项后面各工序最迟完工时间的条件下,该事项后面的工
11、序最迟什么时候必须开工,能保证后面的所有工序能在规定的时间前完工。,一般地,若从某事项i出发的工序有n个: A1,A2,An(见图2-14),完成这些工序分别需要时间t1,t2,tn,且这些工序的终点事项的最迟时间都已经计算得到,分别记为L1,L2,Ln,则事项i的最迟时间Li由下式计算:,现在用这种方法对如下较复杂的工程网络图(图2-15)进行计算。,现在用这种方法对如下较复杂的工程网络图(图2-15)进行计算。,请你计算例2的最短工期?,我们现在来完成例2的解答。,例3 有一批产品的加工要经过10道工序,分别记为A,B,C,D,E,F,G,H,I,J。若加工工序X必须要在完成工序Y后才能开
12、工,我们就称Y是X的紧前工序,现将各工序的加工次序及所需时间(单位:小时)列表2-5。,(1)现有两台性能相同的机器可同时加工该批产品,问完成这批产品的最短加工时间是多少(假定每道工序只能安排在一台机器上,并且必须在整批产品完成前一道工序后才开始下道工序的加工)? (2)经过技术改造,其中一台机器已将其效率提高为原先的两倍(即加工时间缩短一半)。问:此时应如何安排两台机器的加工任务,才能使完工时间最短?(上海市2000年决赛),解(1)首先按工序关系,画出工程网络图(如图2-18所示)。并且求出关键路线B-C-E-I,最短工期为15小时。 然后,根据加工顺序要求安排加工任务,工期为15小时,可
13、以用图2-19表示两人的分工情况:图2-19下方的轴标出了时间尺度,两人的分工用依次相连的线段表示,线段的长等于工序的时间。从图中可以检验,两人的分工满足了各个工序的先后次序关系。例如,动手完成工序I时,其紧前工序E,F,G都已经完工。,(2)由全部工序完工总时间为27小时,如果第一台机器效率提高一倍,则至少需要9小时完工。分工时,应优先将关键路线上的工序分配给第一台机器,当出现第一台机器完成关键路线上的工序需要等待第二台机器完成某个相应的紧前工序时,适当安排第一台机器去完成原本安排第二台机器的任务。调整后的分工可以用图2-20表示,工期为9小时。,2.3.2 缩短工期,工程的最短工期是由关键
14、路线长决定的,由此可以推出:要缩短工期必须想法缩短关键路线上工序的时间。,这里应该注意两个问题: (1)能否缩短某个工序的时间要从实际出发。例如图2-21(a)中的工程似乎缩短工序1-3的时间为好。但是如果这个工序表示的是浇注水泥,工程师要求有一定的时间让水泥固化,因而不能缩短这个工序的时间。 (2)缩短了关键路线上的工序后,新的工程网络图的关键路线可能会改变。例如图2-21(a)中的关键路线是1-3-4,最短工期是15。设想我们要把总工期缩短为12。将关键路线上的工序等比例缩短后变成图2-21(b)的情况。虽然原先的关键路线缩短成了12,但是新的图上关键路线变成了1-2-3-4,关键路线的长
15、为13,并没有达到缩短工期为12的目标,此时应对新的工程网络图重新计算关键路线和讨论缩短有关工序的问题。,2.3.3 等待时间,我们用例子说明与等待时间有关的加工次序问题。 例4 现有9个工件(编号A-I)所需加工时间(小时)及前期要求完成的工件号如表2-6所示。,所有工件在一台机床上加工。由于机床故障,开始加工时离协议完成所有工件加工的时间只有40小时。按协议,每个工件比计划每拖延1小时完成,要付违约金10元。请安排一个合理地加工次序,可使所附违约金最少。请列出你安排的加工次序,并计算出违约金总数(上海市2006年决赛)。,解:根据加工次序画出下面的工程网络图(见图2-22)。取含工件最多(
16、不一定是关键路线)的工件次序:H-D-C-I-G-A- E,连同工件所需时间画出示意图,见图2-23。现在考虑在上述序列适当的位置插入工件B和F。,例5 某化学公司在定期检测时发现生产管道中共有9处阀门(A-I)发生有害气体泄漏。每处阀门在每小时内有害气体的泄漏量大体相等,约为0.01立方米。阀门的堵漏工作可在不停产的情况下实施。由于各阀门所处位置不同,因此堵漏所需时间不同,且堵漏时必须遵从一定的顺序关系,情况见表2-7(时间以小时表示)。,(1)现公司只有一台阀门堵漏设备。问:如何安排,可使有害气体的泄漏总量最少?要求计算出堵漏开始到结束期间有害气体的泄漏总量。 (2)如公司再增添一台性能相
17、同的阀门堵漏设备,问:此时应如何安排,可使有害气体的泄漏总量最少?同时要求计算出堵漏期间有害气体的泄漏总量(上海市2007年决赛),解:这是一个安排有序工作的问题。将检修一个阀门看作一道工序,可根据堵漏先后次序要求画出统筹图如图2-27所示。,(1)根据题意可知,用一台设备堵漏,用于堵漏的总时间与安排堵漏次序无关,但泄漏量依赖于等待时间,与堵漏次序有关。因此,要求泄漏量最少,就是要求安排适当地堵漏次序,使所有阀门等待的总时间最短。在图2-27中选择含工序最多(不一定是关键路线)的工序序列C-H-D-G-F,再将其他需检修的阀门按某种次序逐个插入到该工序序列中。,(2)对于有两台设备的情况,为在
18、最短时间内堵漏,第一台设备应依次堵漏关键路线上的各阀门C-H-D-G-F,第二台设备配合按一下顺序堵漏:I-B-A-E。堵漏工作时间为93小时,等待时间为169小时,期间共泄漏有害气体约2.62立方米。,作业: (上海市2005年决赛)周一甲公司委托乙工厂加工8个工件,每个工件加工费为1000元,双方约定于周五中午12:00前在乙工厂现场交货。各工件的加工时间如下表,表中工时单位为小时。另外,各工价的加工次序必须满足下列要求:(1)工件G必须在工件F、工件H后加工;(2)工件C必须在工件D、工件B后加工;(3)工件A必须在工件E后加工;(4)工件E必须在工件G、工件C后加工。 合同中还规定,每个工件每延迟1小时交货,乙工厂须支付10元误工费给甲公司。现乙工厂只有一台设备可加工这些工件。由于临时电力故障,该设备直到周五上午8:00才开始加工这些工件。设想你是该工厂工程师,试为该工厂安排各工件的加工次序,使得工厂损失最少。在你的安排中,工厂须支付给对方误工费总数为多少?,