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

応用情報技術者 2019年 秋期 午前254


問題文

プログラム x, y, zの開発を2か月以内に完了したい。外部から調達可能な要員は A, B, Cの3名であり、開発生産性と単価が異なる。このプログラム群を開発する最小のコストは、何千円か。ここで、各プログラムの開発は、それぞれ1名が担当し、要員は開発生産性どおりの効率で開発できるものとする。また、それぞれの要員は、担当したプログラムの開発が完了する時点までの契約とする。
応用情報技術者 2019年 秋期 午前2 問54の問題画像

選択肢

3,200
3,400
3,600(正解)
3,700

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

作業割当の費用最小化【午前2解説】

正解の理由

各要員が担当するプログラムの所要月数は、プログラム規模を要員の生産性で割った値()です。Cは生産性1のためプログラムx(4キロステップ)を完了するのに4か月かかり、2か月以内の制約を満たせません。したがってxはAかBのどちらかに割り当てる必要があります。
最小コストになる組合せは、xをBに割り当て(所要2か月、費用900×2=1,800千円)、残りのy(2キロ)とz(2キロ)を1か月でこなせるAと2か月でこなせるCに分けて割り当てる(A:1か月で1,000千円、C:2か月で800千円)。合計費用は 千円となり、選択肢に一致します。

解法ステップ

  1. 各要員の各プログラムに対する所要月数を計算する。
    • A: x: 、y: 、z:
    • B: x: 、y: 、z:
    • C: x: (不適)、y: 、z:
  2. 「全プログラムを2か月以内に完了する」条件より、Cはxを担当できないことを確定する。
  3. xはAまたはBに割り当てる必要がある。xをAにする場合、Aは2か月を使い他の割当は不可。xをBにする場合も同様。
  4. それぞれの場合について残りのy,zの割当を考え、各要員の契約期間(月数)に単価を掛けて総コストを計算する。
  5. 全通りを比較して最小となる組合せ(x→B、y→A、z→C または y↔z交換)を選ぶ。

選択肢別の誤答解説

  • ア: 3,200千円
    この値は達成不可能です。最も安い月単価のC(400千円/月)を最大限活用しても、xをCに割り当てられないため総額はこれを下回れません。仮にxをB(1,800)として残りをCにするとCの時間超過で制約違反になります。
  • イ: 3,400千円
    3,400千円に相当する割当(例えばxをB、yとzを一人にまとめて低コストで処理)は、いずれの要員でも時間制約や生産性の観点で成り立ちません。y,zを同一要員にまとめられるのはAまたはBであり、その場合合計は3,800千円となります。
  • : 3,600千円
    x→B(2か月×900=1,800)、y→A(1か月×1,000=1,000)、z→C(2か月×400=800)で合計3,600千円。yとzを入れ替えても同額で達成可能。
  • エ: 3,700千円
    これは x→A(2か月×1,000=2,000)かつ片方をCに割り当てた場合(900+800等)で出る値ですが、xをBにするとより安くできるため最小にはなりません。

よくある誤解

  • Cを単価が安いからといってxも担当可能と誤認する。Cの生産性ではxは4か月かかり、2か月制約を満たさないため不可です。
  • 「残りをBに割り当てる」と表現してBに複数プログラムを割り当てる案をそのまま採ると、Bの作業時間が2か月を超えないか確認せず誤りになる(xを割り当てればBは他を担当できない)。
  • 月数を整数に丸めるかどうかで結論が変わると思い込む。今回のデータでは所要月が整数になっているが、一般には小数も扱える点を意識すること(本問は生産性の商で整数になるため問題は単純)。

補足コラム

この種の問題は「各作業の所要時間」と「要員ごとの単価」を用いて総コストを最小化する単純な割当問題です。要点は「ある要員が担当できるか(時間制約)」「同一要員が複数担当する場合は合計時間が2か月以内か」の両方を満たすかを検証すること。一般化すると整数計画や割当問題(assignment problem)として扱え、要素数が増えると線形計画で解くのが有効です。

FAQ

Q. 要員は複数のプログラムを順次担当してよいか?
A. はい。ただし全てのプログラムを2か月以内に完了する必要があるため、ある要員に割り当てるプログラムの合計所要月が2か月を超えてはいけません。
Q. 所要月は切り上げ(整数)すべきか?
A. 本問の数値では所要月は整数になっています。一般には生産性どおりに開発できるとあるため、小数月を認める場合もありますが、設問の意図に従って所要月を正確に計算してください。
Q. 単価が安い要員を優先すれば常に最適か?
A. 必ずしもそうではありません。生産性が低く時間制約を破る場合や、単価は安くても合計時間が増えてトータルコストが上がる場合があります。本問ではCは安価でもxには割り当てられません。

関連キーワード: リソース割当, 人件費最小化, 開発生産性, 作業時間計算, 割当問題
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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