プログラムx,y,zの開発を2か月以内に完了したい。
外部から調達可能な要員はA,B,Cの3名であり,開発生産性と単価が異なる。
このプログラム群を開発する最小のコストは,何千円か。
ここで,各プログラムの開発は,それぞれ1名が担当し,要員は開発生産性どおりの効率で開発できるものとする。
また,それぞれの要員は,担当したプログラムの開発が完了する時点までの契約とする。
〔プログラムの規模〕
プログラム|規模(キロステップ)/x|4/y|2/z|2
〔要員の開発生産性と単価〕
要員|開発生産性(キロステップ/月)|単価(千円/月)/A|2|1,000/B|2|900/C|1|400
正答3
解説
正解は3です。
各要員が各プログラムを2か月以内に開発できるか、そのときの費用はいくらかを求めて、最も安い割当てを探します。
各プログラムは1名が担当し、契約は開発が終わるまでなので、費用は単価×開発期間です。
【計算】
開発期間は、規模÷開発生産性で求めます。
xは4キロステップなので、AとBは2か月、Cは4か月です。
Cは2か月を超えるので、xを担当できません。
yとzは2キロステップなので、AとBは1か月、Cは2か月です。
費用はxをAが担当すると2,000千円、Bが担当すると1,800千円です。
yまたはzの費用は、Aが1,000千円、Bが900千円、Cが800千円です。
xにBを割り当て、yとzをAとCで分担すると1,800+1,000+800=3,600千円です。
xにAを割り当て、yとzをBとCで分担すると2,000+900+800=3,700千円です。
Bがyとzを続けて2か月で担当し、xをAが担当すると2,000+900+900=3,800千円です。
最小は3,600千円です。
【選択肢別解説】
1:× 3,200千円にするには、xの費用を減らすか、yとzを安く済ませる必要があります。
しかしCはxを2か月で開発できず、実現できる割当てはありません。
2:× 3,400千円となる割当ては存在しません。
Cが担当できるのはyかzのどちらか1本までで、ほかの割当ては3,600千円以上になります。
3:○ xをB(1,800千円)、yとzをAとC(1,000千円と800千円)に割り当てると3,600千円です。
これが最小のコストです。
4:× 3,700千円は、xをAが担当した場合の費用です。
xをより単価の安いBが担当すれば、3,600千円に下げられます。
【ポイント】
この種の問題では、まず期限を守れない割当てを除き、残った組合せの費用を比べます。
同じ人が複数のプログラムを順番に担当する可能性も、期限内なら候補に含めます。