关键路径法(中文)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键路径法
关键路径法是使用最广的计划编制方法,也被称为关键路径计划。这种方法能推算出项目的最短完成时间和项目各项活动的可能开始和结束时间。确实,很多教材和管理人员把关键路径法看作最实用的计划编制程序。关键路径法的计算机程序和运算法则已经被广泛应用,可以有效地处理包含数千活动的项目。
关键路径本身代表了一系列前继后续的活动,这些活动将会持续最长的时间,关键路径的持续时间等于关键线路上全部活动持续时间的总和。因此,关键路径就像在第九章描述的那样,被定义为项目活动网络中最长的可能路径。关键路径的时间就代表了完成项目所需的最短时间。关键路径上的任何活动推迟都将导致项目完成时间的增加。
在全部的项目活动中,可能会有多条关键路径。所以,整个工程的完成时间会因任何一条关键路径上活动的推迟而延后。例如,一个项目有两个并列进行活动组成,每个活动都需3天完成,那么就要求每个关键工作在3天内完成。
关键路径法在形式上假设项目已被分成具有固定持续时间和明确前后顺序关系的活动。前后顺序关系在计划中意味着一个活动必须在另一个活动前开始。除了这种时间上前后顺序关系外,没有资源限制的关键路径计划被认为是最简单的形式。
在实际运用关键路径法时,工程计划者经常通过优先关系描述资源的限制。限制是对管理人员可能选择的一种约束,资源的限制来源于有限的可用资源,如设备、材料、空间或劳动力。例如,如果两个活动需要同样的设备,就可能假设任意一个活动优先于另一个。人为划分的优先限制确保两个需要同一资源的活动不被安排在同一时间。大部分关键路径的运算方法也利用了活动关系或所使用的网络几何学原则加以限制。
这些限制条件表明,工程计划能够用网络计划法表示。在网络计划中,用两个节点表示活动,节点要进行编号,两个节点不能用相同的号码,引入的两个节点表示一项工作的起始和终止。
工程进度计划的现行计算机表示法一般由一张表示工作以及这些工作相应的持续时间、所需的资源和紧前工作等内容的一览表组成。图解网络表示法不需要一览表,但提高了计划的可视性,也确保了满足数学条件。目前,计算机程序的数据输入可在屏幕菜单上填表完成,或读入现有数据文件,或将所需提供的信息以标识符形式直接向程序键入。
在一个有分支的网络图中,虚工作被用来提供特殊的工作安排和保持工作的正确顺序。一项虚工作的持续时间被假设为零,并且在作图时用网络中的一条虚线描述。使用虚工作的几种情况如图1所示。在图1(a)中,如果去掉活动C就意味着活动B和D将位于节点1和3之间。但是,如果加入一个虚工作X,如图(b)所示,特殊的工作B(节点1到2)和(节点1到3)的特殊安排就能被保存下来。如果图(a)中的问题改变,活动C和D不完成,活动E便不能开始;只有活动D单独完成之后,F才能开始。这种新顺序的安排可以通过增加虚工作
Y来表示,如图(c)所示。通常必须用虚工作来满足具体的计算机进度算法的要求,但是在一定程度上尽可能限制插入虚工作的数量也同样是非常重要的。
图1 工程网络图中的虚拟工作
网络图分为双代号网络图和单代号网络图两种,许多计算机进度程序只支持其中的一种。一个成功的项目经理都要熟悉这两种表示方法。
例网络图的表述
假设要根据下列逻辑关系绘制一个含有7项工作的双代号网络图:
工作代号紧前工作
A …
B …
C A,B
D C
E C
F D
G D,E
对上图一系列工作绘制双代号网络图,首先从工作A、B、C开始,如图2(a)所示。这里,我们发现A和B两个工作位于两个相同的节点之间,为此我们需要增加一个虚拟工作X,然后再依次绘制其余工作,如图2(b)所示。但这时会出现一个问题:如何安排G工作?因为要使它满足紧前工作为D和E的要求。解决这个问题就需要我们在G工作之前插入一个
虚工作Y,如图2(c)所示。
图2双代号网络图关键路径表示法
同样地,我们可以绘制包括开始与结束节点的单代号网络图,如图3所示。注意在单代号网络图中并不需要添加虚工作来表示工作之间的逻辑关系。
图3单代号网络图关键路径表示法
关键路径进度计划的计算
根据前面几部分所提供的背景,我们可以用数学公式描述关键路径进度计划。对一个假定项目的双代号网络图,我们应该制定一套关键路径进度计划的运算规则或说明。同时,还假定所有的工作顺序关系都是结束—开始型,所以只有当前导活动结束后,后续活动才能开始。在下面部分,我们将对具有多种前导工作类型的单代号网络图表示法也提出一套相应的运算规则。
介绍一套类似的针对有多种事件联系关系的双代号网络图的计算规则系统。
假设项目网络图中有n+1个节点,起始节点为0而终止节点为n。令各个节点的时间
分别为X1,X2,…,X n。项目的开始节点为X0定义为时间的0点,节点时间必须与工作的持续时间相符合,故一项工作的终止节点时间必须大于其起始时间与该工作持续时间之和。对于一个开始节点为i而终止节点为j的活动,这种关系可以通过一个不等式约束条件表示出来:X j>X i+D ij。这里,D ij为工作(i,j)的持续时间。每个工作都能够写出同样的表达式,并在任何可行的进度计划中都必须遵守这种约束。那么,从数学上看,关键路径进度计划要解决的问题就是在遵守每个节点事件只在其前导工作完成后才能发生的约束条件下,使项目的完成时间x n最小。
最小化,即
z=x n(1) 约束条件为
x0=0
x j-x i- D ij≥0 [对任何工作(i,j)]
这是一个线性规划问题,因为目标值要求最小化,而每个约束条件都是线性方程。
除了运用线性规划算法(如单纯型法)解决关键路径进度外,还可以利用网络结构技术更有效的解决该问题。这种解法对于所需计算很有效,因而即使是很大型的网络也可以用个人电脑运算,同时也对可行的工作进度计划提供了一些非常有用的信息。在保证项目最短可能时间内完成条件下,计算每项工作的最早开始和最迟开始时间,这对于非关键路线上的工作尤为重要,因为这些活动可以按项目管理者的要求进行一定的推迟或随时调整,却不会影响整个项目的工期。
表1给出了以节点为标识求关键路径进度计划的解题过程。在表中有三种运算法则。按节点编号法为项目的每个节点(或事件)进行编号,以保证每项工作开始节点的编号总是小于终止节点的编号。从技术上说,这个规则实现了对工作的“拓扑排序”。项目的起始节点编号为0。只要项目的工作符合双代号网络图的条件,这种编号系统就可以实施。一些针对关键路径进度计划的软件没有这样的程序自动编号规则,那么工程项目的计划人员就必须进行合理的编号。
表1关键路径进度计划计算规则(以双代号网络图为例) 节点编号规则
第一步:令起始节点编号为0
第二步:将下一个号码赋予任何一个前一节点已编号,而自身未编号的节点。重复第二步直到所有的节点都完成编号
节点最早时间计算规则
第一步:令E(0) = 0.
第二步:对j = 1,2,3,...,n (n为最后一个节点),令
E(j) = max{ E(i) +D ij },