オペレーションズ・リサーチの問題
4 人の作業員 に 4 つの仕事 を 1 つずつ割り当てる。各作業員はちょうど 1 つの仕事を担当し、各仕事はちょうど 1 人が担当する。作業員 が仕事 を行うのにかかる時間(単位:時間) は次の表のとおりである。
4 人の作業時間の合計が最小になるように割り当てるとき、作業時間の合計の最小値を求めよ。
この問題で使うもの
- 割当問題(ハンガリー法)(説明と入口の問題)
この問題を解けるようになるまで(10 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
割当問題はハンガリー法で解ける。各行・各列から同じ数を引いても最適な割当は変わらないことを利用する。
ヒント 2
各行からその行の最小値を引き、続いて各列からその列の最小値を引く。そのあと、 の成分だけを使って各行・各列から 1 つずつ選べるかを調べる。
ヒント 3
行の最小値は 、その後の列の最小値は である。縮約後の は第 1 行が 、第 2 行が だけにあることに注目する。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
ハンガリー法で解く。費用行列のある行(または列)の全成分から同じ数を引いても、どの割当も合計がその数だけ減るだけなので、最適な割当は変わらない。
行の縮約 各行の最小値 をそれぞれの行から引く。
列の縮約 各列の最小値は なので、第 1 列から を引く。
ここまでに引いた数の合計は である。
0 による割当 縮約後の行列の成分はすべて 以上である。 の位置は
- 第 1 行:
- 第 2 行:
- 第 3 行:
- 第 4 行:
である。, と決めると、 は が使えないので 、 は となり、すべて の位置で互いに異なる列を選ぶ割当
が得られる。縮約後の行列で合計 (最小)なので、この割当は元の問題でも最適である。
元の表で合計を確かめると
であり、引いた数の合計 と一致する。
よって作業時間の合計の最小値は 時間である。
別解
ハンガリー法で解く。各行から行の最小値(4, 3, 6, 5、合計 18)を引くと
, , , 。
各列の最小値は なので第 1 列から 1 を引くと
, , , 。
0 の位置は , , , で、, , , という 0 だけの完全割り当てが存在する。したがって最適で、最小値は引いた量の合計 。
検算: 。下界も なので一致し、これより小さい割り当てはない。