ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

ADM(アロー・ダイアグラム法)及びPDM (プレシデンス・ダイアグラム法)におけるタイミングとフロートの計算方法

本エントリではADM(アロー・ダイアグラム法)とPDM (プレシデンス・ダイアグラム法)で章を分けて、タイミングとフロートの計算方法について説明します。

共通

Duration(所要期間)

アクティビティを完了させるために必要な作業量です。
このエントリの計算式では"d"で表記します。

カレンダーの考慮

このエントリのスケジュール計算ではカレンダーを考慮しませんが、実際のプロジェクトではカレンダーを考慮することになります。

ADM (Arrow Diagramming Method、アロー・ダイアグラム法)

ここでは"Calculating and Using Float"の図に従って説明します。

f:id:pato_taityo:20160522093146p:plain

http://www.mosaicprojects.com.au/PDF/Schedule_Float.pdf

この図ではイベントiがアクティビティの開始、イベントjがアクティビティの終了を表現しています。以降、この図に従ってイベントのタイミングとフロートを説明します。
計算式の中でイベントiは[i]、イベントjは[j]で示します。

イベントのタイミング

EET (Earliest Event Time、最早結合点時刻)

別名:
・EE (Event Early)

イベントの全ての先行アクティビティが終了する最早のタイミングです。このタイミング以降、後続のアクティビティを開始できます。
EETはフォワード・パスの計算で求められます。

以降でEET[i]はイベントiのEETを意味します。他同様です。

LET (Latest Event Time、最遅結合点時刻)

別名:
・EL (Event Late)

全体のスケジュールを遅延させずにイベントの全ての後続アクティビティを開始できる最遅のタイミングです。
LETはバックワード・パスの計算で求められます。

以降でLET[i]はイベントiのLETを意味します。他同様です。

アクティビティのタイミング

EST (Earliest Start time、最早開始時刻)

アクティビティを開始できる最早のタイミングです。

EST = EET[i]

LST (Latest Start time、最遅開始時刻)

アクティビティを開始できる最遅のタイミングです。

LST = LFT - d
LST = LET[j] - d

EFT (Earliest Finish time、最早終了時刻)

アクティビティを終了できる最早のタイミングです。

EFT = EST + d
EFT = EET[i] + d

LFT (Latest Finish time、最遅終了時刻)

アクティビティを終了できる最遅のタイミングです。

LFT = LET[j]

ADMのフロート計算

Start Event Slack

全体のスケジュールを遅延させずにイベントの開始を遅らせることが可能な余裕時間です。イベントのLET/EETから計算します。

Start Event Slack = LET[i] - EET[i]

End Event Slack

全体のスケジュールを遅延させずにイベントの終了を遅らせることが可能な余裕時間です。イベントのLET/EETから計算します。

End Event Slack = LET[j] - EET[j]

TF (Total Float、トータル・フロート)

制約に違反することなく全体のスケジュールを遅延させずにアクティビティの開始を遅らせることが可能な余裕時間です。

TF = LFT - EST - d

FFE (Free Float Early)

別名:
・FF (Free Float)

フォワード・パスで計算した時、後続のアクティビティ開始を遅らせることなく、アクティビティを遅らせることができる余裕時間です。

このエントリでは参照した資料"Calculating and Using Float"に倣い、 Free Float を Free Float Early, Free Float Late に分けていますが、一般的に Free Float は Free Float Earlyを指しています。

FFE = EET[j] - EET[i] - d

FFL (Free Float Late)

バックワード・パスで計算した時、後続のアクティビティ開始を遅らせることなく、アクティビティを遅らせることができる余裕時間です。

FFL = LET[j] - LET[i] - d

IF (Independent Float、独自余裕)

アクティビティが単独で持つ余裕時間です。このアクティビティがIFの範囲で遅れても他には影響しません。

FF = EET[j] - LET[i] - d

IF (Interfering Float、干渉余裕)

別名:
・Interference Float

End Event Slackと同じ値です。

IF = TF - FFE

IFの値がEnd Event Slackと同じになることを以下に示します。
IF = TF - FFE
= LFT - EST - d - (EET[j] - EET[i] - d) (※ TF = LFT - EST - d, FFE = EET[j] - EET[i] - d)
= LFT - EST - d - EET[j] + EET[i] + d
= LFT - EST - EET[j] + EET[i]
= LFT[j] - EET[i] - EET[j] + EET[i] (※ LFT = LET[j], EST = EET[i])
= LFT[j] - EET[j]
= End Event Slack

IFを計算する理由について以下の説明がありました。

The reason Interfering Float was calculated was so that it was part of the activity record (with punch cards, etc it was very difficult to include data from different record types in a report).

http://www.mosaicprojects.com.au/PDF/Schedule_Float.pdf

PDM (Precedence Diagramming Method、プレシデンス・ダイアグラム法)

Lead(リード) / Lag(ラグ)

リードは関係のある先行アクティビティに対して後続アクティビティの開始を前倒しする時間の事です。FS-3という表記はFS関係に3日間のリードがある(つまり前倒しする)ことを意味しています。
これに対し、ラグは関係のある先行アクティビティに対して後続アクティビティの開始を遅らせる時間の事です。FS+3という表記はFS関係に3日間のラグがある(つまり遅らせる)ことを意味しています。

アクティビティのタイミング

EST (Earliest Start Time、最早開始時刻)

別名:
・ESD (Earliest Start Date、最早開始日)
・ES (Earliest Start)

先行アクティビティとの関係と制約に従って、アクティビティを最早で開始できるタイミングです。
フォワード・パスで計算します。

EST = EFT - (d - 1)

先行アクティビティとの関係によって、以下の式でも計算できます。
FS関係:後続EST = 先行EFT + (Lag + 1)
SS関係:後続EST = 先行EST + Lag

EFT (Earliest Finish Time、最早終了時刻)

別名:
・EFD (Earliest Finish Date、最早終了日)
・EF (Earliest Finish)

先行アクティビティとの関係と制約に従って、アクティビティを最早で完了できるタイミングです。
フォワード・パスで計算します。

EFT = EST + (d - 1)

先行アクティビティとの関係によって、以下の式でも計算できます。
FF関係:後続EFT = 先行EFT + Lag
SF関係:後続EFT = 先行EST + (Lag - 1)

LST (Latest Start Time、最遅開始時刻)

別名:
LSD (Latest Start Date、最遅開始日)
・LS (Latest Start)

プロジェクトの完了日と制約に従って、アクティビティを最遅で開始できるタイミングです。
バックワード・パスで計算します。

LST = LFT - (d - 1)

後続アクティビティとの関係によって、以下の式でも計算できます。
SS関係:先行LST = 後続LST - Lag
SF関係:先行LST = 後続LFT - (Lag - 1)

LFT (Latest Finish Time、最遅終了時刻)

別名:
・LFD (Latest Finish Date、最遅終了日)
・LF (Latest Finish)

プロジェクトの完了日と制約に従って、アクティビティを最遅で完了できるタイミングです。
バックワード・パスで計算します。

LFT = LST + (d - 1)

後続アクティビティとの関係によって、以下の式でも計算できます。
FS関係:先行LFT = 後続LST - (Lag + 1)
FF関係:先行LFT = 後続LFT - Lag

PDMのフロート計算

FF (Free Float、フリー・フロート)

後続アクティビティのESTとスケジュールの制約へ影響せずにアクティビティを遅らせることができる余裕時間です。

後続アクティビティ毎に以下の計算を行い、最小の値がFFとなります。
FS関係:後続EST - (Lag + 1) - EFT
SS関係:後続EST - Lag - EST
FF関係:後続EFT - Lag - EFT
SF関係:後続EFT - (Lag - 1) - EST

TFE (Total Float Early)

別名:
・SF (Start Float、開始余裕)
・Start Event Slack

プロジェクトの完了日と制約へ影響せずにアクティビティの開始を遅らせることができる余裕時間です。

TFE = LST - EST

TFL (Total Float Late)

別名:
・TF (Total Float、トータル・フロート)
・EF (End Float、終了余裕)
・Finish Float (FF)
・End Event Slack

プロジェクトの完了日と制約へ影響せずにアクティビティの完了を遅らせることができる余裕時間です。

このエントリでは参照した資料"Basic CPM Calculations"に倣い、 Total Float を Total Float Early, Total Float Late に分けていますが、一般的にトータル・フロート(Total Float)は Total Float Lateを指しています。

TFL = LFT - EFT

参考文献・資料

プロジェクトマネジメント知識体系ガイド(PMBOKガイド)第5版

プロジェクトマネジメント知識体系ガイド(PMBOKガイド)第5版 (A Guide to the Project Management Body of Knowledge)

プロジェクトマネジメント知識体系ガイド(PMBOKガイド)第5版 (A Guide to the Project Management Body of Knowledge)

建設エンジニアのためのPMSによるプロジェクト計画入門―基礎からリスクスケジューリングまで

建設エンジニアのためのPMSによるプロジェクト計画入門―基礎からリスクスケジューリングまで

建設エンジニアのためのPMSによるプロジェクト計画入門―基礎からリスクスケジューリングまで

Construction Project Management

Planning Construction Projects: Planning, Scheduling and Controlling

Planning Construction Projects: Planning, Scheduling and Controlling

Operations Management

Operations Management

Operations Management

更新情報

2016/05/27

  • 別名の一部で日本語名称を追加しました。
  • PDMのフリー・フロート計算の説明を見直しました。