アローダイアグラムで日程を組み、工期を縮める
アローダイアグラムを左から順にたどって最長経路(クリティカルパス)を求め、プロジェクトの最短所要日数を計算できるようになる。依存関係 FS/SS/FF/SF、ダミー作業、クラッシングとファストトラッキングの違いも見分けられるようになる。
日程の計算問題は、公開過去問で本試験系19回・免除51回観測されている頻出テーマ。解き方は「全経路の最大値をとる」の1つだけなので、手順を覚えれば得点源になる。実務でも「どの作業が遅れると納期がずれるか」が分かれば、人を足す場所を外さずに済む。
このレッスンで稽古する(用語チェック・過去問)結論:工期は「いちばん長い経路」で決まる
プロジェクトの最短所要日数は、開始から終了までの経路のうち合計日数が最長の経路で決まる。この最長経路をクリティカルパスと呼び、その上の作業が1日遅れると全体も1日遅れる。
たとえるなら、家族で外出するときの出発時刻。着替え・弁当づくり・戸締まりを並行して進めても、出発できるのはいちばん時間のかかる準備が終わったときになる。
問われる「最少所要日数」「最短所要日数」は、どちらも最長経路の日数のこと。「最短」という言葉につられて短い経路を選ばない。
PERT とアローダイアグラムの読み方
PERT(Program Evaluation and Review Technique)は、作業の順序と所要時間から日程を組む技法。試験では「日程計画に適した技法」として出る。回帰分析・時系列分析・線形計画法は日程計画の技法ではない。
アローダイアグラムは、作業を矢印で、作業の区切り(開始・終了の時点)を○の結合点で描く図。矢印の上に作業名、下に日数が書かれる。
flowchart LR
n0(("開始")) -->|"A 2"| n1(("n1"))
n1 -->|"B 2"| n2(("n2"))
n2 -->|"E 2"| n3(("n3"))
n3 -->|"H 2"| n6(("n6"))
n1 -->|"C 1"| n4(("n4"))
n4 -->|"F 3"| n5(("n5"))
n5 -->|"I 1"| n6
n1 -->|"D 4"| n7(("n7"))
n7 -->|"G 3"| n8(("終了"))
n6 -->|"J 4"| n8
上の図(2019h31h_am#53)は、各結合点に「そこまでに最短で何日かかるか」を左から書き込めば解ける。
- n1 = 2
- n2 = 2+2 = 4、n3 = 4+2 = 6
- n4 = 2+1 = 3、n5 = 3+3 = 6
- n6 = max(6+2, 6+1) = 8(H 経由が8、I 経由が7)
- n7 = 2+4 = 6
- 終了 = max(8+4, 6+3) = max(12, 9) = 12日(正解:エ)
最長経路は A→B→E→H→J。G 経由(9日)や n6 の時点の値で止めると、9〜11日を選んでしまう。
計算のルール:合流点では「最大値」をとる
結合点に書き込む値を最早結合点時刻(その時点の作業を最も早く始められる日)という。手順は次のとおり。
- 開始の結合点を 0 とする
- 矢印の根元の値+作業日数を、矢印の先の候補にする
- 矢印が複数入ってくる結合点は、候補のうち最大値をとる(全部終わらないと次に進めないため)
- 終了の結合点の値が、最短所要日数になる
クリティカルパスに乗っていない作業には**余裕(フロート)**がある。余裕は、その作業が遅れても全体工期が延びない日数のこと。
ダミー作業と、プレシデンスダイアグラムからの変換
ダミー作業は破線の矢印で描く、日数0の「順序だけを表す矢印」。計算でも日数0の矢印として扱う。矢印の先の結合点の値は、ダミーの根元の値+0を含めた入ってくる全矢印の最大値になる。ダミーを見落とすと、最長経路を取り逃がす。
**プレシデンスダイアグラム法(PDM)**は、作業を箱で描いて箱どうしを矢印でつなぐ図。アローダイアグラムに書き直すとき、1つの作業が2系統の作業を待つ場合にダミーが必要になる。
例(menjo_20221211#53):先行関係は A→C、A→F、B→D、D→F。上段を A→C→E→G、下段を B→D→F→H と並べると、F は D の後なので D の終点から始まる。ただし F は A も待つ必要がある。そこで A の終点(C の始点)から D の終点(F の始点)へ、ダミーを1本引く(正解:イ)。
- ア(ダミーなし)とエ(A の終点→F の終点)は、F が A の終了を待たなくなる。必要な先行関係が欠けるので誤り
- ウは正しいダミーに加えて A の終点→H の始点も引いている。A→F→H は既に表されているので、この1本は冗長で誤り
ダミーは、少なすぎても引き先を誤っても、本来ある先行関係が欠ける。逆に、図にない作業どうしを結ぶと、本来ない先行関係ができてしまう。
依存関係 FS/SS/FF/SF
PDM では、2つの作業の関係を「先行の開始か終了」と「後続の開始か終了」の組合せ4種類で表す。名前は先行側→後続側の順に、Start/Finish の頭文字を並べたもの。
| 関係 | 正式名 | 条件 | 例 |
|---|---|---|---|
| FS | Finish-to-Start(終了-開始) | 先行が終わったら後続を始められる | 要件定義が完了したら方式設計を開始(最も普通の関係) |
| SS | Start-to-Start(開始-開始) | 先行が始まったら後続を始められる | 受付の開始から30分後に試験を開始 |
| FF | Finish-to-Finish(終了-終了) | 先行が終わったら後続を終えられる | 受付の終了から45分後に試験を終了 |
| SF | Start-to-Finish(開始-終了) | 先行が始まったら後続を終えられる | 試験の開始から20分後に受付を終了 |
見分け方は、文中の「〇〇の開始/終了から」が先行側、「△△を開始/終了する」が後続側。2019h31h_am#52 では、エが「試験の開始」→「受付を終了」なので SF(開始-終了)。イは FS、アは SS、ウは FF。
工期を縮める:クラッシングとファストトラッキング
遅れを取り戻す技法は2つあり、試験ではこの2つの取り違えを狙ってくる。
| 技法 | やること | 代償 | 覚え方 |
|---|---|---|---|
| クラッシング | 作業に資源(人・残業)を追加して期間を縮める | 費用が増える | 人を足す |
| ファストトラッキング | 本来は順番に行う作業を並行して進める | 手戻りのリスクが増える | 重ねる |
クラッシングで資源を足すのはクリティカルパス上の作業だけ。余裕のある作業を縮めても全体工期は1日も縮まない(2016h28h_am#53 の正解:イ)。
どの作業を縮めるかは CPM(Critical Path Method)の考え方で選ぶ。クリティカルパス上の作業のうち、費用増加率(1日縮めるのに増える費用)が最も小さい作業を選ぶ。
選択肢に並ぶコーチング・メンタリングは人材育成の手法。クリティカルチェーン法はバッファを使った別の日程管理手法、モンテカルロ法は乱数を使ったシミュレーションで、どれも「資源を足して縮める」技法ではない。
ダミー作業を含む最短所要日数
ア 27
イ 28
ウ 29
エ 31
出典:令和7年度 基本情報技術者試験 科目A 公開問題 問14
解き方と答えを見る
- 開始 = 0。A(3) より n1 = 0+3 = 3
- n2 に入る矢印は B と、E の終点 e からのダミー。B 経由 = 3+6 = 9。E 経由 = 3+5 = 8 で、ダミー(0日)を足しても 8。n2 = max(9, 8) = 9
- n3 に入る矢印は3本。C 経由 = 9+8 = 17。G 経由 = 9+11 = 20 で、ダミー(0日)を足しても 20。F 経由 = 3+14 = 17。n3 = max(17, 20, 17) = 20
- n4 に入る矢印は2本。D 経由 = 20+6 = 26。H 経由 = 9+15 = 24。n4 = max(26, 24) = 26
- 終了 = 26 + I(5) = 31
- 最長経路は A→B→G→(ダミー)→D→I で、3+6+11+0+6+5 = 31
答え:31日(エ)。G の後のダミーを無視すると n3 = max(17, 17) = 17、n4 = max(17+6, 9+15) = max(23, 24) = 24、終了 = 24+5 = 29 となり、29日と誤答する。
ダミーが2本ある場合の最少日数
ア 105
イ 115
ウ 120
エ 125
出典:令和6年度 基本情報技術者試験 科目A 公開問題 問13
解き方と答えを見る
- 開始 = 0。A(30) より n1 = 30
- n2 = 30 + B(5) = 35
- n3 に入るのは C とダミー n2→n3。C 経由 = 30+30 = 60。ダミー経由 = 35+0 = 35。n3 = max(60, 35) = 60
- n4 に入るのは D とダミー n3→n4。D 経由 = 30+20 = 50。ダミー経由 = 60+0 = 60。n4 = max(50, 60) = 60
- n5 に入るのは E・F・G。E 経由 = 35+40 = 75。F 経由 = 60+25 = 85。G 経由 = 60+30 = 90。n5 = max(75, 85, 90) = 90
- 終了 = 90 + H(30) = 120。最長経路は A→C→(ダミー)→G→H
答え:120日(ウ)。ダミーを見落とすと n4 = 50、n5 = max(75, 85, 80) = 85 となり、115日(イ)と誤答する。
遅れを最小の費用で取り戻す作業を選ぶ
| 作業名 | 費用増加率 |
|---|---|
| A | 4 |
| B | 6 |
| C | 3 |
| D | 2 |
| E | 2.5 |
| F | 2.5 |
| G | 5 |
ア B
イ C
ウ D
エ E
出典:令和5年度 基本情報技術者試験 科目A 公開問題 問13
解き方と答えを見る
- 各経路の日数を出す。A→B→E→G = 4+6+5+5 = 20。A→C→G = 4+8+5 = 17。A→D→F→G = 4+4+4+5 = 17
- 最長は A→B→E→G の20日。これがクリティカルパスで、C・D・F には 20−17 = 3日の余裕がある
- A が1日遅れると、クリティカルパスは 21日になる。20日に戻すには、クリティカルパス上の作業を1日縮める必要がある
- 選択肢のうちクリティカルパス上にあるのは B(費用増加率6)と E(2.5)。C(3)と D(2)は余裕のある経路なので、縮めても工期は縮まない
- 安いほうの E を1日縮める。縮めた後も A→B→E→G = 20日で、他の経路は 18日なので、クリティカルパスは入れ替わらない
答え:E(エ)。費用増加率が最小の D(2)は、クリティカルパス外なので効果がない。
プレシデンスダイアグラムをアローダイアグラムに直す
ア [図] A→C→E→G(上段),B→D→F→H(下段),ダミー作業なし。
イ [図] A→C→E→G(上段),B→D→F→H(下段)。A の終点(C の始点)から D の終点(F の始点)へダミー作業 1 本。
ウ [図] A→C→E→G(上段),B→D→F→H(下段)。A の終点(C の始点)から D の終点(F の始点)へのダミー作業と,A の終点から F の終点(H の始点)へのダミー作業の 2 本。
エ [図] A→C→E→G(上段),B→D→F→H(下段)。A の終点(C の始点)から F の終点(H の始点)へダミー作業 1 本。
出典:基本情報技術者試験 科目A免除 修了試験 20221211 実施分 問53
解き方と答えを見る
- 先行関係を書き出す:A→C、A→F、B→D、D→F、C→E→G、F→H
- 上段に A→C→E→G、下段に B→D→F→H を並べる。この時点で、F の始点は D の終点と同じ結合点になる
- 矢印だけで表せていない関係を探す。A→F が未表現(F が A を待っていない)
- A の終点(C の始点)から F の始点(D の終点)へダミーを1本引く
- 余計なダミーがないか確認する。A の終点→H の始点は A→F→H で既に表されているので不要
答え:ダミーは A の終点→D の終点の1本(イ)。
要点(試験直前に読む)
- 最短(最少)所要日数=最長経路(クリティカルパス)の日数。
- 結合点は左から埋め、矢印が合流したら最大値をとる。ダミーは0日の矢印として必ず計算に入れる。
- 依存関係の名前は「先行の○○→後続の○○」の順。開始から開始=SS、終了から開始=FS、終了から終了=FF、開始から終了=SF。
- 資源を足す=クラッシング、並行させる=ファストトラッキング。
- 工期を縮めるなら、クリティカルパス上で費用増加率が最小の作業を選ぶ。
ひっかけ
- 「最短所要日数」を見て最短の経路を選ぶ。答えは最長経路の日数。
- ダミーを無視する。2025年度の問題では、G 後のダミーを落とすと 29日、2024年度の問題では 115日と誤答する。
- 費用増加率が最小の作業に飛びつく。クリティカルパス外の作業(余裕あり)は、縮めても工期が変わらない。
- クラッシングとファストトラッキングを入れ替えた選択肢。コーチング・メンタリング・クリティカルチェーン法・モンテカルロ法は工期短縮の技法として選ばない。
- FS/SF の文字順の取り違え。文中の「〇〇の開始/終了から」が先行側の1文字目、「△△を開始/終了」が後続側の2文字目。
用語(15)
作業の順序と所要時間をアローダイアグラムで表し、日程を計画・管理する技法。
⚠ 回帰分析・時系列分析・線形計画法は、データ分析や最適化の手法で日程計画の技法ではない。
クリティカルパスを求め、工期短縮に掛かる費用が最小になる作業を選ぶ技法。
⚠ PERT は日程を組むことが中心で、CPM は日数と費用のトレードオフまで扱う。
作業を矢印、作業の区切りを結合点で描き、順序と日数を表した図。
⚠ プレシデンスダイアグラムは作業を箱で描く。矢印が作業ならアロー、箱が作業ならプレシデンス。
作業を箱で描き、箱どうしの依存関係を FS・SS・FF・SF で表す図法。
⚠ アローダイアグラムと違ってダミー作業が要らない。
アローダイアグラムで作業の開始・終了の時点を表す○。
順序関係だけを表す日数0の破線の矢印。計算では日数0の矢印として扱い、矢印の先の結合点は入ってくる全矢印の最大値をとる。
⚠ 普通の作業と違って日数も資源も持たないが、計算から外してはいけない。
開始から終了までで所要日数の合計が最長の経路。この上の作業が遅れると全体工期が延びる。
⚠ 最短の経路ではない。「最少所要日数」はクリティカルパスの日数。
その作業が遅れても、全体工期が延びない日数。クリティカルパス上の作業は余裕0。
先行作業が終了したら、後続作業を開始できる関係。
⚠ SF(開始-終了)と文字が逆。名前は先行側→後続側の順に読む。
先行作業が開始したら、後続作業を開始できる関係。
⚠ FS と違い、先行が終わるのを待たない。
先行作業が終了したら、後続作業を終了できる関係。
⚠ SF(先行の開始→後続の終了)と取り違えやすい。FF は先行も後続も「終了」が条件。
先行作業が開始したら、後続作業を終了できる関係。
⚠ FS と文字が逆。「〇〇の開始から…△△を終了」なら SF。
クリティカルパス上の作業に人員や残業などの資源を追加し、所要期間を縮める技法。
⚠ ファストトラッキングは資源を足さず、作業を並行させて縮める。
本来は順番に行う作業を並行して進め、期間を縮める技法。
⚠ クラッシングは資源を足す。並行化なら FT、増員なら クラッシング。
作業を1日短縮するために増える費用。
⚠ 最小の作業を選ぶのは、クリティカルパス上の作業に限ってから。
このレッスンの過去問
- PERTによる日程計画平成25年度 春期 基本情報技術者試験 午前 問52
- アクティビティ間の依存関係(FS/SS/FF/SF)平成31年度 春期 基本情報技術者試験 午前 問52
- プレシデンスダイアグラムからアローダイアグラムへの変換(ダミー作業)基本情報技術者試験 科目A免除 修了試験 20221211 実施分 問53
- アローダイアグラムの最長経路(クリティカルパス)計算令和7年度 基本情報技術者試験 科目A 公開問題 問14
- 工期短縮技法(クラッシング・ファストトラッキング)令和8年度 基本情報技術者試験 科目A 公開問題 問13
- CPMによる最小費用での工期短縮作業選定令和5年度 基本情報技術者試験 科目A 公開問題 問13