10  不確実性を考慮したPERT/CPM

10.1 学習目標

  • 3点見積もりにより,作業時間の平均と分散を推定できる.
  • パスの所要時間の平均と分散を求めることができる.
  • 指定された期日までにプロジェクトが完了する確率を求めることができる.

10.2 3 点見積もり

以上の方法では,作業の所要時間が確定していることを前提としている.しかし,実際には,所要時間の推定は難しい場合が多い.そこで,作業の所要時間を確率変数として扱い,3 点見積もり(Three-Point Estimation)という方法でその作業時間の平均と分散を推定する.

3 点見積もりでは,次の 3 つの所要時間を事前に与えられたとする.

  • 楽観値(Optimistic Time, a):予想される最短の所要時間.
  • 最頻値(Most Likely Time, m):最も可能性が高い所要時間.
  • 悲観値(Pessimistic Time, b):予想される最長の所要時間.

一般に,a \leq m \leq b である.

この amb に基づいて,所要時間の平均 \hat{\mu} と分散 \hat{\sigma}^2 を次のように推定する.

ノート推定式の根拠

作業の所要時間がベータ分布に従うと仮定した場合は,式 10.1\mu\sigma^2 の良い推定量となる.これらの式の詳細な導出は省略する.興味のある読者は,Pleguezuelo ほか (2003年) を参照されたい.

\hat{\mu} = \frac{a + 4m + b}{6}, \quad \hat{\sigma}^2 = \left(\frac{b - a}{6}\right)^2 \tag{10.1}

そこで,\mu(v)\sigma^2(v) をそれぞれ作業点 v の所要時間の平均と分散とする.a(v)m(v)b(v) をそれぞれ作業点 v の楽観値,最頻値,悲観値とする.このとき,すべての作業点 v \in V に対して,

\mu(v) = \frac{a(v) + 4m(v) + b(v)}{6}, \quad \sigma^2(v) = \left(\frac{b(v) - a(v)}{6}\right)^2

\mu(v)\sigma^2(v) を計算する.

例 9.2 のプロジェクト・ネットワークに対して,各作業点の楽観値,最頻値,悲観値が次のように与えられたとするとき,平均と分散を求めると,次の表のようになる.

v a m b \mu \sigma^2
s 0 0 0 0 0
A 0.5 2 3.5 2 0.25
B 1.5 3 4.5 3 0.25
C 1.5 3 4.5 3 0.25
D 0.5 2 3.5 2 0.25
E 1 5.5 7 5 1
F 5 8 17 9 4
G 0.5 2 3.5 2 0.25
t 0 0 0 0 0

10.3 不確実性を考慮したPERT/CPM

3 点見積もりを用いて,各作業点 v \in V の所要時間の平均 \mu(v) と分散 \sigma^2(v) を求めたとする.このとき,与えられた時間までにプロジェクトが完了する確率を求めたい.例えば,「プロジェクトが 30 日以内に完了する確率はどれくらいか?」という問いである.

プロジェクト・ネットワークにおけるパス P = (s, v_{i_1}, v_{i_2}, \ldots, v_{i_k}, t) の所要時間の平均 \mu(P) と分散 \sigma^2(P) は,それぞれ次のように推定できる.

\mu(P) = \sum_{v \in P} \mu(v), \quad \sigma^2(P) = \sum_{v \in P} \sigma^2(v)

パス P の所要時間の標準偏差 \sigma(P) は,

\sigma(P) = \sqrt{\sigma^2(P)}

で与えられる.求められたパスの中で,所要時間の平均 \mu(P) が最大のパスをクリティカルパス P^* とする.セクション 9.5 で述べた方法でクリティカルパスを求めることができる.

クリティカルパス P^* の所要時間を X とし,与えられた時間 d までにプロジェクトが完了する確率を \mathbb{P}(X \leq d) と表す.

ノートクリティカルパスによる近似の注意

ここでは,計算を簡単にするために,クリティカルパスが最も時間がかかるパスであると仮定している.しかし,実際には,平均値から計算されたクリティカルパスが,最も時間がかかるパスであるとは限らない.これにより,クリティカルパスを用いて計算された確率は,実際の確率よりも過大評価される可能性がある.

ここで述べる方法をすべてのパスに適用し,各パスの確率を計算すれば,より正確な確率を得ることができる.

\mathbb{P}(X \leq d) = \Phi\left(\frac{d - \mu(P^*)}{\sigma(P^*)}\right)

ここで,\Phi(z) は標準正規分布の累積分布関数である.z は次のように計算し,標準正規分布表を用いて \Phi(z) を調べる.

z = \frac{d - \mu(P^*)}{\sigma(P^*)}

例 9.2 では,クリティカルパスは s \to B \to E \to F \to t であり,このパスの所要時間の平均,分散,標準偏差は次のように計算できる.

\mu(P^*) = 3 + 5 + 9 = 17

\sigma^2(P^*) = 0.25 + 1 + 4 = 5.25

\sigma(P^*) = \sqrt{5.25} \approx 2.29

与えられた時間 d = 20 日までにプロジェクトが完了する確率を求めるには,次のように計算する.

z を計算すると,

z = \frac{20 - 17}{2.29} \approx 1.31

標準正規分布表を用いて,\Phi(1.31) \approx 0.9049 である.したがって,与えられた時間 d = 20 日までにプロジェクトが完了する確率は約 90.49% である.

10.4 まとめ

  • 3点見積もりでは,楽観値 a,最頻値 m,悲観値 b から,\hat{\mu} = (a + 4m + b)/6\hat{\sigma}^2 = ((b - a)/6)^2 と推定する.
  • パス P の所要時間の平均と分散は,パス上の作業の平均と分散の和 \mu(P) = \sum_{v \in P} \mu(v)\sigma^2(P) = \sum_{v \in P} \sigma^2(v) で与えられる.
  • 平均 \mu(P) が最大のパスをクリティカルパス P^* とし,z = (d - \mu(P^*))/\sigma(P^*) を標準正規分布表で調べることで,期日 d までに完了する確率を求める.
  • 平均から求めたクリティカルパスが最も時間のかかるパスであるとは限らないため,この方法で求めた確率は過大評価になりうる.