次の表の作業を3名で実施するとき,全ての作業を終わらせるのに必要な最短の日数は何日か。ここで,複数要員が必要な作業は全員がそろわないと着手できず,指定された要員数以上の要員を充てても所要日数は短縮できない。また,着手した作業は作業が完了するまで中断できないものとする。
| 作業名 | 前提作業 | 要員数 | 所要日数 |
|---|---|---|---|
| A | ― | 1名 | 3日 |
| B | A | 2名 | 3日 |
| C | A | 2名 | 3日 |
| D | B | 1名 | 3日 |
| E | C | 2名 | 3日 |
| F | D,E | 1名 | 3日 |
この問題の解説と、これまでの解答の記録です。
次の表の作業を3名で実施するとき,全ての作業を終わらせるのに必要な最短の日数は何日か。ここで,複数要員が必要な作業は全員がそろわないと着手できず,指定された要員数以上の要員を充てても所要日数は短縮できない。また,着手した作業は作業が完了するまで中断できないものとする。
| 作業名 | 前提作業 | 要員数 | 所要日数 |
|---|---|---|---|
| A | ― | 1名 | 3日 |
| B | A | 2名 | 3日 |
| C | A | 2名 | 3日 |
| D | B | 1名 | 3日 |
| E | C | 2名 | 3日 |
| F | D,E | 1名 | 3日 |
9日は3工程ぶん(3日×3)にすぎず、最長の依存連鎖 A→B→D→F(4作業=12日)を見落としています。要員制約以前に経路長だけで12日を要するため、9日では全作業を終えられません。
12日はクリティカルパス(A→B→D→F あるいは A→C→E→F)の長さで、要員が無制限なら達成できる値です。しかし実際は3名しかなく、B(2名)と C(2名)を同時に走らせられないため B・C を直列化せざるを得ず、12日では収まりません。要員(リソース)制約を無視した誤りです。
正解 依存関係は A→B→D→F と A→C→E→F の2系統で、各作業3日なので作業を「つなげるだけ」なら最長経路(クリティカルパス)は4作業×3日=12日です。しかし要員は全部で3名しかおらず、B と C はそれぞれ2名必要なため、同時に走らせると2名+2名=4名となり実行できません。そこで B と C を直列に並べる必要があり、次のように組むのが最短です。1〜3日: A(1名)/4〜6日: B(2名)/7〜9日: C(2名)+D(Bが済みなので残り1名でD)/10〜12日: E(Cが済み、2名)/13〜15日: F(D・Eが済み、1名)。これで全作業が完了し、必要な最短日数は15日。よって「ウ」が正解です。
18日は6作業すべてを一切並行させず直列に積み上げた値(3日×6)です。実際は7〜9日に C と D を同時に進められる(Bが完了しているため残り1名でDが可能)など並行できる箇所があり、18日より短く済みます。