9 不確実性を考慮したPERT/CPM
9.1 3 点見積もり
以上の方法では、作業の所要時間が確定していることを前提としている。しかし、実際には、所要時間の推定は難しい場合が多い。そこで、作業の所要時間を確率変数として扱い、3 点見積もり(Three-Point Estimation)という方法でその作業時間の平均と分散を推定する。
3 点見積もりでは、次の 3 つの所要時間を事前に与えられたとする。
- 楽観値(Optimistic Time, \(a\)):予想される最短の所要時間。
- 最頻値(Most Likely Time, \(m\)):最も可能性が高い所要時間。
- 悲観値(Pessimistic Time, \(b\)):予想される最長の所要時間。
一般に、\(a \leq m \leq b\) である。
この \(a\)、\(m\)、\(b\) に基づいて、所要時間の平均 \(\hat{\mu}\) と分散 \(\hat{\sigma}^2\) を次のように推定する。
\[ \hat{\mu} = \frac{a + 4m + b}{6}, \quad \hat{\sigma}^2 = \left(\frac{b - a}{6}\right)^2 \tag{9.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)\) を計算する。
例 8.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 |
9.2 不確実性を考慮した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^*\) とする。セクション 8.3 で述べた方法でクリティカルパスを求めることができる。
クリティカルパス \(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^*)} \]
例 8.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% である。