基本情報技術者 2009年 春期 午前(科目A) 問51
問題文
アローダイアグラムのクリティカルパスと,Hの最早開始日の適切な組合せはどれか。ここで、矢線の数字は作業所要日数を示し,Aの作業開始時を0日とする。


選択肢
ア:
イ:
ウ:
エ:(正解)
🔒 解説は解答すると表示されます
アローダイアグラムのクリティカルパス【午前解説】
正解の理由
正解: エ
フォワードパスで各ノードの最早時刻(イベント時刻)を計算すると,A=0, B=3, C=1, F=2, D=7, G=5, E=8, H=8, I=13 となります。I の最早時刻が 13 日で,I に至る各経路長を計算すると A−C−D−E−I が 日で最大になり,これがクリティカルパスです。H の最早開始日はノード H の最早時刻で 日となるため,選択肢「A−C−D−E−I, H=8」が正しいです。
フォワードパスで各ノードの最早時刻(イベント時刻)を計算すると,A=0, B=3, C=1, F=2, D=7, G=5, E=8, H=8, I=13 となります。I の最早時刻が 13 日で,I に至る各経路長を計算すると A−C−D−E−I が 日で最大になり,これがクリティカルパスです。H の最早開始日はノード H の最早時刻で 日となるため,選択肢「A−C−D−E−I, H=8」が正しいです。
解法ステップ
- フォワードパスで各ノードの最早時刻を計算する(前駆の最早時刻+作業所要日数の最大を取る)。
- 最終ノード I の最早時刻(プロジェクト所要日数)を求める。
- 各 A→I 経路の合計日数と最終ノード時刻を比較し,最大値と一致する経路をクリティカルパスとする。
- ノード H の最早開始日はフォワードパスで求めたノード H の値を採る(複数前駆があれば最大値)。
フォワードパスの実際の計算(抜粋):
- E[A]=0
- E[B]=0+3=3
- E[C]=0+1=1
- E[F]=0+2=2
- E[D]=E[C]+6=1+6=7
- E[G]=E[F]+3=2+3=5
- E[E]=max(E[B]+4, E[D]+1)=max(3+4, 7+1)=max(7,8)=8
- E[H]=max(E[D]+1, E[G]+2)=max(7+1,5+2)=max(8,7)=8
- E[I]=max(E[E]+5, E[H]+4)=max(8+5,8+4)=13
よってプロジェクト所要日数は 13 日,クリティカルパスは A−C−D−E−I,H の最早開始日は 8 日です。
選択肢別の誤答解説
- ア(A−B−E−I, H=7):A−B−E−I の合計は 日であり,プロジェクト所要日数 13 日と一致しないためクリティカルではありません。H=7 は前駆の最大を取るルールを無視した計算ミスです。
- イ(A−B−E−I, H=8):経路 A−B−E−I は 12 日でプロジェクト最長ではないため誤り。ただし H=8 は正しい最早時刻なので部分的に正しい認識です。
- ウ(A−C−D−E−I, H=7):クリティカルパスの指定は正しいが,H の最早開始日を 7 とするのは誤りです。H は D→H(1 日)と G→H(2 日)の両方を考慮し,最遅の到達(=8)を取る必要があります。
- エ(A−C−D−E−I, H=8):クリティカルパスの合計が 13 日で最終ノード時刻 13 に一致し,H の最早開始日もフォワードパスの結果 8 日なので正解です。
よくある誤解
- 「最短の分岐を選んで H の時刻を決める」:H は複数前駆(D と G)があるため,より遅い方(大きい方)を採る必要があり,単に D 経路を見ればよいわけではありません。
- 「経路の和を単純に足して比較するだけで良い」:経路ごとの所要日数計算は必要ですが,ノードの最早時刻は前駆の最大を取るというルールを忘れると誤答になります。
- 「A−B−E−I を見て I=12 としてしまう」:この経路は 12 日で I に達しますが,プロジェクト全体の最長経路(クリティカル)を見落とすと誤りになります。
補足コラム
- フォワードパス(最早時刻算出)とバックワードパス(最遅時刻算出)を両方使うと,各作業の余裕(スラック)を計算でき,リスクの高い作業に注意できます。
- 本問は AOA(矢線図)形式で示されていますが,考え方は AON(アクティビティオンノード)でも同じ:前駆の完了時刻の最大値を取る点が本質です。
- 実務ではクリティカルパス上の遅延がプロジェクト全体に直結するため,資源の重点配分や代替策(並行作業の検討)が重要です。
FAQ
Q1: H の最早開始日が前駆の和でなく「最大」を取る理由は?
A1: H は複数の前駆作業が全て完了して初めて開始できるため,最も遅く終わる前駆の終了時刻(=最大値)を採ります。
A1: H は複数の前駆作業が全て完了して初めて開始できるため,最も遅く終わる前駆の終了時刻(=最大値)を採ります。
Q2: クリティカルパスが複数あることはあるか?
A2: はい。最終ノード到達の合計が同じ最大値の経路が複数あれば複数のクリティカルパスが存在します。今回は一つだけです。
A2: はい。最終ノード到達の合計が同じ最大値の経路が複数あれば複数のクリティカルパスが存在します。今回は一つだけです。
Q3: 最早時刻と最遅時刻の差がスラック(余裕)になるのか?
A3: その通りです。スラックが 0 の作業やノードがクリティカルパス上にあります。
A3: その通りです。スラックが 0 の作業やノードがクリティカルパス上にあります。
関連キーワード: クリティカルパス、アローダイアグラム、最早開始日、フォワードパス、バックワードパス、スラック、プロジェクトスケジューリング、経路解析

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

