応用情報技術者 2012年 秋期 午前2 問52
問題文
図のアローダイアグラムから読み取れることのうち、適切なものはどれか。ここで、プロジェクトの開始日は0日目とする。

選択肢
ア:作業Cを最も早く開始できるのは5日目である。
イ:作業Dはクリティカルパス上の作業である。
ウ:作業Eの余裕日数は30日である。(正解)
エ:作業Fを最も遅く開始できるのは10日目である。
🔒 解説は解答すると表示されます
余裕日数の読み取り【午前2解説】
正解の理由
選択肢 ウ は、作業Eの余裕日数(全余裕)が30日である、という記述です。アローダイアグラムの順方向(フォワード)・逆方向(バックワード)解析を行うと、作業Eの最早開始 ES = 5、最遅開始 LS = 35 となり、余裕日数は であるため、記述は正しいと判断できます。ここで「余裕日数」は全余裕(Total Float)を指します。
解法ステップ
- 日付表現の前提を明確にする。設問は「開始日は0日目」とあるため、時間を「時刻(単位:日)」で扱う。各作業の所要日数は加算していき、ノードの時刻はそのノードに到達するために必要な先行作業の完了時刻の最大値で求める(AOA の通常ルール)。
- フォワードパス(最早時刻の計算)
- 開始時刻 = 0
- A: ES_A = 0, EF_A = 0 + 5 = 5
- B: ES_B = 0, EF_B = 0 + 10 = 10
- C: ES_C = EF_A = 5, EF_C = 5 + 20 = 25
- D: ES_D = EF_A = 5, EF_D = 5 + 30 = 35
- E: ES_E = EF_A = 5, EF_E = 5 + 10 = 15
- F: ES_F = EF_B (ただし中段左→下段左のダミーがあるが EF_A=5 < EF_B=10 のため実効は B に依存) = 10, EF_F = 10 + 10 = 20
- N5(下段右ノード)は E と F の到達の最大値 → 時刻 20
- G: ES_G = EF_C = 25, EF_G = 25 + 20 = 45
- N4(中段右ノード)は D, G, ダミー(下段右→中段右) の最大値 → max(35,45,20)=45
- H: ES_H = 45, EF_H = 45 + 10 = 55(これがプロジェクト所要時間)
- バックワードパス(最遅時刻の計算)
- 終点 LF = 55
- H: LF_H = 55 → LS_H = 55 - 10 = 45
- N4 の LF = LS_H = 45
- G: LF_G = 45 → LS_G = 45 - 20 = 25
- D: LF_D = 45 → LS_D = 45 - 30 = 15
- ダミー(下段右→中段右)から N5 の LF = 45
- N5 の LF = 45 → E の LF_E = 45 → LS_E = 45 - 10 = 35
- F の LF_F = 45 → LS_F = 45 - 10 = 35
- N2 の LF = LS_F = 35 → B の LF_B = 35 → LS_B = 35 - 10 = 25
- N1 の LF = min(LS_C=5, LS_D=15, LS_E=35, LS_dummy_to_N2=35) = 5 → A の LF_A = 5 → LS_A = 5 - 5 = 0
- 作業Eの余裕日数 = LS_E - ES_E = 35 - 5 = 30(よって ウ が正しい)。
選択肢別の誤答解説
- ア: 「作業Cを最も早く開始できるのは5日目である。」
- 計算上は作業Cの ES = 5(時刻5)であり、「時刻5に開始可能」であるのは事実です。ただし「〜日目」という表現は解釈のぶれを生じやすいため次のように整理します。設問は「開始日は0日目」と明示していますが、一般的な日目の言い方では「1日目」が開始直後から1日未満の期間を指すことが多く、この解釈では「5日目」は時刻4〜5の区間を指します。一方、ES = 5 は「時刻5(開始から5日経過した瞬間)=5日目の開始時点ではなく6日目の開始時点に相当する」と解釈されるため、設問の語句どおりに「5日目である」と読むと誤りになります。したがって、日目表現を「k日目=開始から k−1 日経過後から k 日経過までの期間」と解釈すると、アは不正確(誤答)になります。問題文が「0日目」表記を用いている以上、この日目解釈を明確にして判断する必要があります。
- イ: 「作業Dはクリティカルパス上の作業である。」
- D の余裕は LS_D - ES_D = 15 - 5 = 10 日であり、余裕が 0 ではないためクリティカル(余裕0)ではありません。従って誤りです。
- ウ: 先述の通り、ES_E=5、LS_E=35 で余裕30日なので正しい。
- エ: 「作業Fを最も遅く開始できるのは10日目である。」
- フォワード・バックワード解析より LS_F = 35(時刻35)であり、「最も遅く開始できるのは10日目」という記述は誤りです。なお ES_F = 10(時刻10)であるため「最も遅く」ではありません。
よくある誤解
- 「日目」の表現のあいまいさに注意する。設問で「開始日は0日目」とある場合でも、「5日目」が時刻5を指すのか時刻4〜5の区間を指すのかで判断が変わることがあるため、問題文の意図(時刻表示か日区間表示か)を明確にしてから答えること。
- 破線(ダミー)は所要日数が 0 の依存関係であり、所要日数を持たないが依存関係には影響するためフォワード/バックワードの計算に必ず反映させること。
- ノードの時刻は「そのノードに到達するための先行作業の完了時刻の最大値」を取る(最遅評価もノードの LF は後続作業の最早開始の最小値を取る)。
補足コラム
- 全余裕(Total Float)と自由余裕(Free Float)の違い:
- 全余裕 (TF) = LS - ES = LF - EF:その作業全体が遅れてもプロジェクト完了に影響しない許容日数。
- 自由余裕 (FF):その作業が遅れても直ちに次の作業の最早開始を遅らせない範囲(後続ノードの最早時刻との差)。
- ダミー(所要0)作業はネットワークの論理的依存(先行・後続関係)を表すため、ノード時刻や最遅時刻の計算で必須の要素です。見落とすと誤答につながります。
FAQ
Q. 「0日目」「5日目」という表現が混乱するときはどう判断すればよいですか?
A. 問題文で「開始日は0日目」と明示されている場合は、内部計算は時刻(t=0,1,2…)で行い、設問の記述が「〜日目」で示されているときはその語句が時刻とどう対応するか(時刻 n を「n日目の開始時点」と見るか「(n+1)日目」扱いにするか)を問題の文脈で明確化してから答えてください。試験上は多くの場合「n日目=開始から n 日経過した時点(時刻 n)」と扱うか、設問の意図に従う運用が求められます。
Q. 破線(ダミー)に所要日数はあるのですか?
A. いいえ。ダミーは所要日数0の依存関係を表します。ただしフォワード/バックワード計算には影響するため、依存関係として必ず含めます。
Q. クリティカルパス判定はどうすればよいですか?
A. 各作業の余裕が 0 であればクリティカルパス上にあると判定します(複数のクリティカルパスがある場合もあります)。
A. 問題文で「開始日は0日目」と明示されている場合は、内部計算は時刻(t=0,1,2…)で行い、設問の記述が「〜日目」で示されているときはその語句が時刻とどう対応するか(時刻 n を「n日目の開始時点」と見るか「(n+1)日目」扱いにするか)を問題の文脈で明確化してから答えてください。試験上は多くの場合「n日目=開始から n 日経過した時点(時刻 n)」と扱うか、設問の意図に従う運用が求められます。
Q. 破線(ダミー)に所要日数はあるのですか?
A. いいえ。ダミーは所要日数0の依存関係を表します。ただしフォワード/バックワード計算には影響するため、依存関係として必ず含めます。
Q. クリティカルパス判定はどうすればよいですか?
A. 各作業の余裕が 0 であればクリティカルパス上にあると判定します(複数のクリティカルパスがある場合もあります)。
関連キーワード: PERT、アローダイアグラム、フォワードバックワード解析、余裕日数、クリティカルパス

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

