PROJECT SCHEDULING · NETWORK ANALYSIS
工程ネットワークを図解で理解する
PERT・クリティカルパス・工程短縮
「作業の順番」から「納期を決める経路」まで、矢印とノードで考える。最早・最遅時刻の計算、PDM、リードとラグ、ファストトラッキング、クラッシング、クリティカルチェーンを一つの例でつなぐ。
1. 納期は仕事の合計日数だけでは決まらない
展示会ブースを作るとする。企画と機材手配は別々の人が同時に進められる。一方、施工はデザインができてから、最終確認は施工と搬入の両方が済んでから行う。この依存関係こそ、日程計画の核心だ。
全作業を直列に足すと過大な見積りになる。かといって全部並行できると考えると、現場で「前の作業が終わっていない」という待ちが生まれる。ネットワーク図は、進められる枝と、待たなければならない合流点を明確にする。
2. WBS・活動一覧・ネットワーク図・ガントチャート
| 道具 | 主に答える問い |
|---|---|
| WBS | 成果物と必要な仕事を階層的に分解する。原則として依存関係・日付は示さない。 |
| アクティビティ・リスト | 実行する作業を明確にする。所要時間・担当・先行条件の分析につながる。 |
| ネットワーク図 | 作業の依存関係と、どの経路が完了を制約するかを示す。 |
| ガントチャート | 作業を時間軸の横棒として示し、いつ何を行うか把握する。 |
WBSの最下層はワークパッケージ。それを実行する具体的なアクティビティを明らかにして、所要時間と先行条件を設定する。WBSとネットワーク図は同じものではない。
3. アローダイアグラム(AOA)の読み方
AOA(Activity on Arrow)では、矢印が作業、丸が結合点(イベント)を表す。枝分かれは並行できる作業、合流は全ての先行作業の完了を意味する。次の架空のネットワークを全章で使おう。
経路の比較
上側:A(2)+C(4)+E(3)+G(2)= 11日。下側:B(3)+D(2)+F(1)+G(2)= 8日。
分岐した二つの経路を単純加算せず、合流する点6では両方が完了するまで待つ。そのため全体は11日となる。
4. PERTとCPMを整理する
PERT(Program Evaluation and Review Technique)は作業ネットワークを使って日程や不確実性を分析する技法。古典的なPERTでは所要時間を楽観値 a、最可能値 m、悲観値 b の3点で見積もり、期待値 (a + 4m + b) / 6 を求める。分散の近似は ((b - a) / 6)² だ。
CPM(Critical Path Method)は、依存関係と所要時間からクリティカルパスやフロートを計算する。PERT・CPMは関連するネットワーク分析技法だが、AOAやPDMは図の表記法。手法と図の形式を同一視しない。
5. 最早結合点時刻:前向きに計算する
最早結合点時刻 E(j) は、結合点jに最も早く到達できる時刻。開始点は0。矢印 i→j の所要日数を d(i,j) とすると、E(j) = max[E(i) + d(i,j)] を先行する矢印すべてについて計算する。
| 結合点 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 最早 E | 0 | 2 | 3 | 6 | 5 | 9 | 11 |
| 最遅 L | 0 | 2 | 6 | 6 | 8 | 9 | 11 |
点6なら上経路は E(4)+3=9、下経路は E(5)+1=6。よって E(6)=max(9,6)=9。
6. 最遅結合点時刻:後ろ向きに計算する
最遅結合点時刻 L(i) は、所定のプロジェクト完了時刻を守りながら、点iに最も遅く到達できる時刻。完了期限を最早完了時刻11日に置くと、終点L(7)=11。逆に L(i)=min[L(j)-d(i,j)] をすべての後続矢印について計算する。
点1なら上側は L(2)-2=0、下側は L(3)-3=3。したがって L(1)=min(0,3)=0。なお納期を11日より遅く設定すると、最遅時刻も変わる。
7. フロートとクリティカルパス
結合点の余裕は L(i)-E(i)。作業 i→j のトータルフロート(TF)は L(j)-E(i)-d(i,j)、フリーフロート(FF)は E(j)-E(i)-d(i,j)。全体の完了を遅らせずに許容できる余裕と、後続の最早開始を遅らせない余裕は異なる。
この例では A→C→E→G に余裕がなく、長さ11日のクリティカルパスとなる。クリティカルパスは最長経路であり、複数ある場合もある。短くする対象は「なんとなく長い作業」ではなく、完了日を実際に制約する作業だ。
各作業のトータルフロート
8. ダミー作業:時間0でも意味がある矢印
AOAでは依存関係を正確に表現するため、実際の作業を伴わないダミー作業(所要時間0)を使うことがある。「XはAとBの両方を待つが、YはAだけを待つ」場合、単純に結合点を一緒にするとYがBも待つことになってしまう。
概念図。オレンジの点線は時間を消費しない制約を表す。PDMでは通常、依存矢印で表す。
9. ファストトラッキング:工程を重ねる
本来は順番に進める作業の一部を並行化して期間を短縮するのがファストトラッキング。デザインが完全に確定するのを待たず、確定済み部分から製作する場合などが典型例。人を増やすことが本質ではない。
通常:設計後に製作
合計 13 日
短縮:設計後半から製作
合計 11 日
上の例は設計5日+製作8日=13日を、製作開始を2日前倒しして11日にする。ただし設計変更が先行着手部分に及べば手戻りが生じる。依存関係を無視してすべてを重ねられるわけではない。
10. クラッシング:資源を追加して時間を縮める
クラッシング(crashing)は主にクリティカルパス上の作業に人員・設備・外注などを追加投入し、その作業の所要時間を短くする方法。コスト上昇、追加要員の調整負荷、作業の分割可能性に注意する。
例えば所要4日の作業Cを2日にできれば、上経路は11日から9日に短縮される。しかし9日になったあと、下経路が8日のままなら次の短縮で両経路がクリティカルになる可能性がある。短縮のたびにクリティカルパスを再計算する。
| 観点 | ファストトラッキング | クラッシング |
|---|---|---|
| 変更するもの | 作業の重なり・依存条件 | 作業の所要時間(資源追加) |
| 典型的な代償 | 手戻り・品質リスク | 追加費用・連携負荷 |
| 短縮の限界 | 安全に並行できる範囲 | 作業の分割可能性と別経路 |
| 注意 | 設計未確定部分への着手は慎重に | 非クリティカル作業だけ縮めても納期は変わらない |
11. PDM:今度はノードが作業になる
PDM(Precedence Diagramming Method)は、作業を箱(ノード)で、依存関係を矢印で表すAON(Activity on Node)形式のネットワーク図。AOAの「矢印=作業」と混同しない。
12. FS・SS・FF・SF の4関係
FS — Finish to Start
先行作業が終わってから後続作業を始める。設計完了→製作開始。
SS — Start to Start
先行作業の開始を基準に後続作業の開始を制約する。設計開始→一定期間後に資料準備開始。
FF — Finish to Finish
先行作業の終了を基準に後続作業の終了を制約する。検査記録は検査が終わるより前に完了できない。
SF — Start to Finish
先行作業が始まるまで後続作業を終了できない。引継ぎ完了を要する交代勤務などの特殊な関係。
13. リード・ラグを数値でつかむ
ラグ(lag)は依存関係に設ける待ち時間。例えば「塗装終了後2日乾燥してから組立」はFS+2日。リード(lead)は後続の前倒しを許す量。「設計終了の2日前に製作開始」はFS−2日と表現できる。
先行作業の開始時刻S、期間A、後続作業の期間B、オフセットkを使うと、後続の最早開始条件は次の通り。FS:S+A+k、SS:S+k、FF:S+A+k−B、SF:S+k−B。ここで k が正ならラグ、負ならリード相当。実施可否や現実の制約を別途確認する。
14. クリティカルチェーン法:人や設備も制約になる
CCPM(Critical Chain Project Management)では、作業の技術的な先行関係だけでなく、同じ担当者や設備を同時に使えない資源制約を考える。ネットワーク上では並列でも、担当者が1人なら実際には重ねられない。
資源制約があると並列のはずが直列になる
作業P:4日 / 作業Q:3日
同時進行 → 4日で両方完了
PとQを同時には担当できない
順番に実行 → 7日で両方完了
クリティカルチェーン法は、個々の作業が抱える安全余裕を整理し、全体の不確実性をバッファで管理する。プロジェクトバッファは完了日前、フィーディングバッファは非クリティカルチェーンからの合流前、リソースバッファは重要な資源の準備・確保を助ける仕掛け(通常は時間を単純加算する保護日数とは限らない)。
15. ほかの重要概念
所要時間0の重要な節目。承認完了・引渡しなど。
承認済みの計画。実績との差を比較し、変更は適切に管理する。
休日・勤務時間・設備競合を考慮する。平準化でクリティカルパスや完了日が変わり得る。
(短縮時の費用−通常費用)÷(通常期間−短縮後期間)。1日短縮する費用を比較する目安。
EV・PV・ACは作業の進み具合とコストを数値化する別の視点。ネットワーク分析だけでは実績は分からない。
不確実な期間を楽観・最可能・悲観で捉える。期待値は確約された納期ではない。
16. 4つの操作ラボで工程を動かす
最初は上のAOAと同じ日数に設定済み。数字を変えるたびに最早・最遅時刻、トータルフロート、クリティカル作業を再計算する。その後、PDMの関係・リード/ラグ、短縮案と手戻り、資源競合を順に試そう。
ラボ① AOA・最早/最遅時刻・クリティカルパス
各矢印の所要日数を変更。前向き計算(max)と後ろ向き計算(min)を自動実行します。作業の依存関係は固定です。
クリティカル作業:A・C・E・G
| 作業 | 期間 | ES | EF | LS | LF | TF | FF |
|---|---|---|---|---|---|---|---|
| A | 2 | 0 | 2 | 0 | 2 | 0 | 0 |
| B | 3 | 0 | 3 | 3 | 6 | 3 | 0 |
| C | 4 | 2 | 6 | 2 | 6 | 0 | 0 |
| D | 2 | 3 | 5 | 6 | 8 | 3 | 0 |
| E | 3 | 6 | 9 | 6 | 9 | 0 | 0 |
| F | 1 | 5 | 6 | 8 | 9 | 3 | 3 |
| G | 2 | 9 | 11 | 9 | 11 | 0 | 0 |
ES:最早開始 / EF:最早終了 / LS:最遅開始 / LF:最遅終了 / TF:トータルフロート / FF:フリーフロート。締切は最早完了時刻と等しいものとして計算。
ラボ② PDMの4関係とリード/ラグ
箱が作業、矢印が依存関係です。先行作業は時刻0に開始し、後続作業が制約上もっとも早く開始できる時刻を計算します。負のオフセットは前倒し(リード相当)、正はラグです。
先行作業0〜5日、後続作業5〜13日。全作業の完了:13日。
SF・FFでは、後続の「終了」が基準となるため、後続の最早開始が負になる設定もあります。これは抽象的な制約式の結果であり、実計画では開始時刻の下限やほかの制約を加えます。
ラボ③ 通常・ファストトラッキング・クラッシング
設計5日と製作8日の例。期間の重複・手戻り・追加資源の効果を独立に調整して比較します。簡易モデルであり実績予測ではありません。
通常
13日
資源追加・前倒しなし
ファストトラッキング
11日
重複2日/手戻り0日
クラッシング
11日
製作を6日に短縮
クラッシングは追加資源1単位につき製作を2日短縮(最低2日)、費用や実現性は別途評価。並行化の手戻りは製作期間の加算として表現しています。
ラボ④ 資源競合とクリティカルチェーン
作業PとQには技術的な依存関係がありません。しかし両方を1人の担当者が行うなら同時実行できません。
バッファ前の完了:7日
バッファ込みの保護期限:9日
バッファは安全余裕であり、作業時間に必ず加わる実働日数ではありません。
ここでは資源競合とプロジェクトバッファの基本概念だけを模擬します。実際のCCPMでは複数資源の優先順序、フィーディングバッファ、資源バッファ、バッファ消費の監視も考慮します。
17. 図を読むための実践的な手順
- 作業を洗い出し、前後関係を確認する。
- 作業日数と依存関係でネットワーク図を描く。
- 左から右へ最早時刻をmaxで計算する。
- 終点から開始点へ最遅時刻をminで計算する。
- フロート0の経路を調べ、クリティカルパスを確定する。
- 並行化できる範囲、短縮可能な作業、追加費用、手戻りリスクを比較する。
- 担当者・設備・休日を確認し、資源制約を反映して計画を更新する。
18. まとめ:順序・時間・資源の3層で考える
作業を「何から何へつながるか」で捉えるのがネットワーク図。そこに時間を入れると最早・最遅時刻とクリティカルパスが求まり、資源を加えると実行可能な工程に近づく。ファストトラッキングは順序を重ね、クラッシングは資源を加えて作業時間を縮める。 両者の違いを、図で納期の変化として理解できれば、用語に振り回されない。