?關(guān)鍵路徑法是在不考慮任何約束和假設(shè)條件的情況之下,根據(jù)項(xiàng)目進(jìn)度網(wǎng)絡(luò)圖進(jìn)行推演所得到項(xiàng)目進(jìn)度結(jié)果的一種方法。
我們知道,項(xiàng)目中的所有活動(dòng),都有四個(gè)時(shí)間:活動(dòng)的最早開始時(shí)間(ES)、活動(dòng)的最早結(jié)束時(shí)間(EF)、活動(dòng)的最晚開始時(shí)間(LS)和活動(dòng)的最晚結(jié)束時(shí)間(LF),如下圖:
使用關(guān)鍵路徑法的要領(lǐng)就是采用順推法和逆推法分別計(jì)算出項(xiàng)目中每一個(gè)活動(dòng)的最早開始時(shí)間(ES)、最早結(jié)束時(shí)間(EF)、最晚開始時(shí)間(LS)和最晚結(jié)束時(shí)間(LF)。
首先,采用順推法,按活動(dòng)之間的邏輯順序,從前往后推算出每一個(gè)活動(dòng)的最早開始時(shí)間(ES)和最早結(jié)束時(shí)間(EF);如果第一個(gè)活動(dòng)從第0天開始計(jì)算,那么活動(dòng)的最早結(jié)束時(shí)間 = 最早開始時(shí)間 + 工期,緊后活動(dòng)的最早開始時(shí)間 = 緊前活動(dòng)的最早結(jié)束時(shí)間(如果一個(gè)緊后活動(dòng)有多個(gè)緊前活動(dòng),則緊后活動(dòng)的最早開始時(shí)間 = 所有緊前活動(dòng)的最早結(jié)束時(shí)間最大的那個(gè)值)(針對(duì)FS——完成到開始的邏輯關(guān)系);如果第一個(gè)活動(dòng)從第1天開始計(jì)算,那么活動(dòng)的最早結(jié)束時(shí)間 = 最早開始時(shí)間 + 工期 - 1(即活動(dòng)的最早開始時(shí)間表示是當(dāng)天上班,活動(dòng)的最早結(jié)束時(shí)間表示是當(dāng)天下班),緊后活動(dòng)的最早開始時(shí)間 = 緊前活動(dòng)的最早結(jié)束時(shí)間 + 1(如果一個(gè)緊后活動(dòng)有多個(gè)緊前活動(dòng),則緊后活動(dòng)的最早開始時(shí)間 = 所有緊前活動(dòng)的最早結(jié)束時(shí)間最大的那個(gè)值 + 1)(針對(duì)FS——完成到開始的邏輯關(guān)系)。
利用順推法,在沒有推錯(cuò)的情況之下,最后一個(gè)活動(dòng)的最早結(jié)束時(shí)間就代表著本項(xiàng)目的工期(因?yàn)轫?xiàng)目進(jìn)度網(wǎng)絡(luò)圖中第一個(gè)活動(dòng)和最后一個(gè)活動(dòng)一定在關(guān)鍵路徑上。如果項(xiàng)目的最后一個(gè)活動(dòng)有并列多個(gè),則項(xiàng)目工期自然就是這些任務(wù)中最早結(jié)束時(shí)間最大的那個(gè)值)。
如下的這個(gè)項(xiàng)目進(jìn)度網(wǎng)絡(luò)圖,如果第一個(gè)活動(dòng)從第0天開始,則順推之后的結(jié)果如下:
如果第一個(gè)活動(dòng)從第1天開始,則順推之后的結(jié)果如下:
然后再逆推,逆推法是從項(xiàng)目最后一個(gè)活動(dòng)開始,反向?qū)⒚總€(gè)活動(dòng)的最晚結(jié)束時(shí)間和最晚開始時(shí)間一一找出來;如果第一個(gè)活動(dòng)取的是從第0天開始計(jì)算,那么最晚開始時(shí)間 = 最晚結(jié)束時(shí)間–工期,緊前活動(dòng)的最晚結(jié)束時(shí)間 = 緊后活動(dòng)的最晚開始時(shí)間(如果一個(gè)緊前活動(dòng)有多個(gè)緊后活動(dòng),則緊前活動(dòng)的最晚結(jié)束時(shí)間 = 所有緊后活動(dòng)的最晚結(jié)束時(shí)間最小的那個(gè)值)(針對(duì)FS——完成到開始的邏輯關(guān)系);如果第一個(gè)活動(dòng)取的是從第1天開始計(jì)算,那么最晚開始時(shí)間 = 最晚結(jié)束時(shí)間–工期 + 1(即活動(dòng)的最晚結(jié)束時(shí)間表示是當(dāng)天下班,活動(dòng)的最晚開始時(shí)間表示是當(dāng)天上班),緊前活動(dòng)的最晚結(jié)束時(shí)間 = 緊后活動(dòng)的最晚開始時(shí)間 - 1(如果一個(gè)緊前活動(dòng)有多個(gè)緊后活動(dòng),則緊前活動(dòng)的最晚結(jié)束時(shí)間 = 所有緊后活動(dòng)的最晚結(jié)束時(shí)間最小的那個(gè)值 - 1)(針對(duì)FS——完成到開始的邏輯關(guān)系)。
采用逆推法時(shí)最后一個(gè)活動(dòng)的最晚結(jié)束時(shí)間等于該活動(dòng)的最早結(jié)束時(shí)間(如果項(xiàng)目的最后一個(gè)活動(dòng)有并列多個(gè),則并列為最后一個(gè)活動(dòng)的所有活動(dòng)的最晚結(jié)束時(shí)間自然就是這些活動(dòng)中最早結(jié)束時(shí)間最大的那個(gè)值,即項(xiàng)目的工期)。
如下的這個(gè)項(xiàng)目進(jìn)度網(wǎng)絡(luò)圖,如果第一個(gè)活動(dòng)從第0天開始,則逆推之后的結(jié)果如下:
如果第一個(gè)活動(dòng)從第1天開始,則逆推之后的結(jié)果如下:
關(guān)鍵路徑即為活動(dòng)總時(shí)差(活動(dòng)總時(shí)差 = 活動(dòng)最晚開始時(shí)間–活動(dòng)最早開始時(shí)間 = 活動(dòng)最晚結(jié)束時(shí)間–活動(dòng)最早結(jié)束時(shí)間)全為“0”的那(幾)條路徑(如上圖,關(guān)鍵路徑為ACDE)。