戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2018年 秋期 05


問題文

機械XとYを使用する作業A、B、Cがあり、いずれの作業も機械X、機械Yの順に使用する必要がある。各作業における機械XとYの使用時間が表のとおりであるとき、三つの作業を完了するための総所要時間が最小となる作業の順番はどれか。ここで、図のように機械XとYは並行して使用できるが、それぞれの機械は二つ以上の作業を同時に行うことはできないものとする。
ITパスポート 2018年 秋期  問05の問題画像

選択肢

A → B → C
A → C → B
C → A → B(正解)
C → B → A

🔒 解説は解答すると表示されます

作業順序の最短化(機械X→機械Y)【ITパスポート 解説】

正解の理由

この問題は「2つの機械を順に使う複数の作業(フローショップ)」で、全作業を終えるまでの総所要時間(最大完了時刻=メイクスパン)を最小にする順番を問うものです。こうした問題はジョンソンのアルゴリズム(Johnsonの法則:2工程フローショップ向け)を使えば最適順序を簡単に求められます。
ジョンソンのルールの考え方は次の通りです。
  • 機械X(第1工程)の処理時間が機械Y(第2工程)より短い作業は前方に置く。
  • 機械Xの処理時間が機械Yより長い作業は後方に置く。
  • 前方グループは機械X時間の小さい順に、後方グループは機械Y時間の大きい順に並べる。
各作業の時間は:
  • 作業A:X=8分、Y=10分(X≤Y → 前)
  • 作業B:X=10分、Y=5分(X>Y → 後)
  • 作業C:X=6分、Y=8分(X≤Y → 前)
したがって前方グループは C(6分), A(8分)の順、後方グループは B のみ。これで最適順序は C → A → B、すなわち となります。

解法ステップ

  1. 各作業について「機械Xの時間」と「機械Yの時間」を比較する。
  2. Xの時間が小さい(X≤Y)作業は「前(先頭)グループ」へ、Xの時間が大きい(X>Y)作業は「後(末尾)グループ」へ振り分ける。
  3. 前グループはX時間の昇順(小さいものから先)に並べる。後グループはY時間の降順(大きいものから後ろ寄せ)に並べる。
  4. 前グループの順、次に後グループの順で結合したものが最短順序となる。
今回の適用例:
  • 前グループ:C(6,8), A(8,10) → X時間で昇順 → C, A
  • 後グループ:B(10,5) → 単独なので B
  • 結果:C → A → B(
さらに、実際のスケジュールで総所要時間を計算して確認します(簡単なガントチャート計算)。
機械Xの処理終了時刻の累計:(分) 機械Yは各作業がXで終わるまで待つ必要があるため、
  • C の Y 開始:X終了 6 → Y 6~14(8分)
  • A の Y 開始:X終了 14、Yは14時点で空く → Y 14~24(10分)
  • B の Y 開始:X終了 24 → Y 24~29(5分) ゆえに全体の終了時刻(メイクスパン)は 分になります。

選択肢別の誤答解説

  • ア: A → B → C
    機械Xの順序は A(8) → B(10) → C(6)。この順で計算するとメイクスパンは 分になります。ジョンソンの法則に従っていないため最短とはならない。
  • イ: A → C → B
    Xの順は 8 → 6 → 10。こちらもジョンソンの並べ方に反しており、メイクスパンは 分です。
  • : C → A → B
    ジョンソンの法則に合致する並びで、計算するとメイクスパンは 分となり最小になります。
  • エ: C → B → A
    こちらは前に置くべきもの(X時間が短いA)を後ろに回してしまっているため、メイクスパンは 分と最も長くなります。
(各値は前節の手順で個別に開始・終了時刻を追って計算した結果です。)

よくある誤解

  1. 「単純にXの短い順に並べればよい」と考える誤り
    → Xだけで昇順にすると、Yの時間が長い作業が後半に残り、Yで待ちが発生して総時間が増えます。ジョンソンのルールではXとYの比較で前後を振り分けます。
  2. 「処理時間の合計が小さい順にすれば良い」と勘違いする
    → 各作業のX+Yの合計が小さい順は常に最適ではありません。機械間の順序関係(X→Y)があるため、ジョンソンの考え方が必要です。
  3. 並列可能な機械だと勘違いする
    → 問題文のように機械XとYは並行で使える(同時に別作業を処理できる)点は重要ですが、それぞれの機械が同時に複数作業を処理できない点を忘れると誤ったスケジュールを作ってしまいます。

補足コラム

  • ジョンソンのアルゴリズムは「2工程(2台の機械)で順序が同じ(すべてX→Y)」という条件で最適性が保証されます。工程が3つ以上の場合や、処理の順序が作業ごとに異なると一般に難しくなり、別の手法や近似解法が必要になります。
  • 覚え方のコツ:小さい時間は「前へ」、大きい時間(ただしY側が大きい)を「後ろへ」──これをXとYの大小比較で分けるだけです。
  • 実務では「ガントチャート(棒グラフで工程を示す図)」を使って視覚的に確認するとミスが減ります。

FAQ

Q. ジョンソンの法則はなぜ成り立つのですか?
A. 直感的には、「先に終わる短い第1工程の作業を前に出すことで第2工程の空白を埋め、かつ第1工程が長く第2工程が短い作業は後ろに回して第2工程の競合を避ける」ためです。数学的には交換論法(隣接する2作業を入れ替えたときのメイクスパン差)で入れ替えの優劣を示し、最適性を証明します。
Q. もし同じ時間があったらどうする?
A. 同値の場合はどちらを先にしてもメイクスパンは同じになることが多いですが、安定したルール(例えば索引の若い方を先)を決めておくとよいです。
Q. 3台以上の機械や加工順が異なる場合は?
A. ジョンソンの法則は直接使えません。3工程以上では特殊な条件下で延長したアルゴリズムが使える場合がありますが、一般には数理最適化やヒューリスティック(近似)法が必要です。

関連キーワード: ジョンソンのアルゴリズム、フローショップ、メイクスパン最小化、スケジューリング、ガントチャート
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について