オペレーションズ・リサーチの問題
ある工場に 4 台の機械 があり、4 種類の製品 を 1 種類ずつ加工させる。各機械はちょうど 1 種類の製品を担当し、各製品はちょうど 1 台の機械が担当する。機械 が製品 を加工するのにかかる時間(単位:時間)は、次の表の第 行・第 列の値である。
4 台の加工時間の合計が最小になるように割り当てるとき、その合計時間の最小値を求めよ。
この問題で使うもの
- 割当問題(ハンガリー法)(説明と入口の問題)
この問題を解けるようになるまで(10 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
ハンガリー法を使う。まず各行・各列からその最小値を引いて、0 をつくる。
ヒント 2
0 をすべて覆う線の最少本数が 4 本未満なら、覆われていない数の最小値を覆われていない数から引き、線の交点に足す。
ヒント 3
行の最小値を引くと、 行と 行の 0 はどちらも 列だけにあり、0 は 列・ 行・ 行の 3 本の線で覆える。覆われていない数の最小値は である。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
ハンガリー法を使う。
手順 1(行の最小値を引く) 各行の最小値は である。各行からその最小値を引くと
ここまでで引いた量の合計は である。
手順 2(列の最小値を引く) どの列にもすでに があるので、列の最小値はすべて で、表は変わらない。
手順 3(0 を最少の線で覆う) の位置は 。 と の はどちらも 列にしかないので、 だけで 4 組の割当は作れない。実際、 列・ 行・ 行の 3 本の線ですべての を覆える。線の本数 が より少ないので、表を変形する。
手順 4(表の変形) 線で覆われていない数は 行と 行の 列の で、その最小値は 。覆われていない数から を引き、2 本の線が交わる位置 に を足すと
手順 5(割当を読み取る) 行の は だけなので 。 行の は だけなので 。 は が使われたので 。残る 。これで の位置だけを使う割当が完成した(0 を覆うには 4 本の線が必要になっている)。
手順 6(もとの表で合計を計算)
より合計は 。
(確認:行の最小値の和 を実現するには と がともに を担当する必要があり不可能なので、合計は 以上。よって が最小。)
答えは 時間。
別解
これは割り当て問題なので、 通りの割り当てを、 が担当する製品で場合分けして調べる。
(1) (3 時間)のとき、残り を に割り当てる。
-
-
-
-
-
-
最小は 16 なので、合計は 。
(2) (4 時間)のとき、残り を に割り当てる。最小は 18 なので、合計は 。
(3) (5 時間)のとき、残りの最小は 20 なので、合計は 25。
(4) (6 時間)のとき、残りの最小は 18 なので、合計は 24。
以上より最小値は 19。最適な割り当ては で、 となる。
検算として、各行の最小値の和は で、これは下界である。この下界 18 を達成するには かつ が必要となり、同じ製品を 2 台が担当してしまうので不可能である。したがって 19 は妥当である。