オペレーションズ・リサーチの問題
タクシー会社が、4 台のタクシー を 4 人の客 のもとへ配車する。各タクシーはちょうど 1 人の客を担当し、各客にはちょうど 1 台のタクシーが向かう。タクシー が客 のもとに着くまでの時間(分)は次の表のとおりである。
4 台の到着時間の合計を最小にするとき、その最小値(分)を求めよ。
この問題で使うもの
- 割当問題(ハンガリー法)(説明と入口の問題)
この問題を解けるようになるまで(10 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
割当問題なので、ハンガリー法(各行・各列の最小値を引き、0 を最少の線で覆う操作)を使う。
ヒント 2
行の最小値、列の最小値を順に引いたあと、0 を覆う線の最少本数が 4 本未満なら、覆われていない数の最小値を引き、線の交点に足して表を調整する。
ヒント 3
行・列の削減後、0 は列 、行 、行 の 3 本で覆え、覆われていない数の最小値は になる。調整後の表で が決まる。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
ハンガリー法で解く。
手順 1(行の最小値を引く) 各行の最小値は である。各行からそれぞれ引くと
手順 2(列の最小値を引く) 各列の最小値は なので、 の列から を引くと
手順 3(0 を最少の線で覆う) 0 は にある。列 、行 、行 の 3 本ですべて覆える( の 0 はどちらも 列にあるので、0 だけで 4 組を割り当てることはできず、最少本数は 3 本)。 なので、まだ最適な割当は読み取れない。
手順 4(表の調整) 線で覆われていない数( 行の 列)は で、最小値は 。覆われていない数から を引き、2 本の線が交わる位置 に を足すと
手順 5(0 の位置で割当) 列の 0 は だけなので 。残りは例えば とすれば、異なる行・異なる列の 0 が 4 つ選べる(4 本の線が必要になった)。
手順 6(元の表で合計) 元の表で
( でも となり、最小値は同じ。)
よって最小値は 分である。
別解
これは割当問題なので、4! = 24 通りの割当をすべて調べる。 がどの客に向かうかで場合分けし、残り 3 台の最小合計を求める。
- (9):残りの最小は (3)、(4)、(7)の 14。合計 23。
- (4):残りの最小は (5)、(6)、(5)の 16。合計 20。
- (7):残りの最小は (3)、(6)、(5)の 14。合計 21。
- (8):残りの最小は (3)、(4)、(5)の 12。合計 20。
各場合の残り 3 台の割当は 6 通りずつすべて計算して最小を確認した。よって全体の最小値は 20 分である。
検算:、、、 では 。、、、 では 。どちらも 20 になる。