需要予測

割り当て問題(assignment problem)
n種類の資源(資材、人、設備など)を、
これと同数のn種類の用途(需要、仕事など)
に一つずつ割り当て、
全体としての計画を最適化(最大化・最少化)
する問題。
有効さ行列 ・・・ n×nの行列
©ATSUTO NISHIO
解法の基本
ハンガリー法
有効さ行列において、損失などを最少にす
る問題の固有の解法。
行列の各行、または各列に関して、任意の
定数を引いても、各行、各列の値の関係は
変わらず、適当な割り当て方も変わらない。
©ATSUTO NISHIO
最小化問題の手順
① 各行の最小値を各行のそれぞれの数値から引く。
② 各列の最小値を各列のそれぞれの数値から引く。
→ 各行、各列に少なくとも1個の0が存在する。
③ 出来る限り少ない本数の直線で全ての0を引く。
④ 列(行)の数(n)=直線の本数ならば、最適割り当てを求める。
⑤ 列(行)の数(n)≠直線の本数ならば、修正行列をつくる。
直線の引かれていない数値の中の最小値(α)とすると、
・直線の引かれていない全ての値からαを引く。
・直線が交差している数値にはαを加える。
・その他の数値はそのまま。
⑥ ③~⑤を、最適割り当てが見つかるまで繰り返す。
©ATSUTO NISHIO
最大化問題の手順
最小化問題に直してから解く。
最大化問題 → 最小化問題
① 有効さ行列の数値の中の最大値(β)を見つける。
② 有効さ行列の各数値をβから引く。
③ 最小化問題を解く。
©ATSUTO NISHIO
m×nの割り当て問題
ダミー(dummy)の行(あるいは列)を加えて、
n×nの有効さ行列にする。
ダミー行(あるいは列)に割り当てがあった場合
は、その割り当ては無視する。
©ATSUTO NISHIO
最小化問題の例
3人の作業員を3種類の仕事に就業させる。
作業員の各仕事に対する作業時間は表の通りで
ある。総作業時間を最少にするような割り当てを
考えよ。
仕事
Ⅰ
Ⅱ
Ⅲ
作業員
A
X11
X12
X13
B
X21
X22
X23
X31
C©ATSUTO NISHIO
X32
X33
最大化問題の例
3人の営業マンを3地域に営業に出す。
各営業マンの各地域に対する過去の成果は表の
通りである。3人の成果合計を最大にするような割
り当てを考えよ。
地域
Ⅰ
Ⅱ
Ⅲ
営業マン
A
X11
X12
X13
B
X21
X22
X23
X31
C©ATSUTO NISHIO
X32
X33
LPの割り当て問題への適用
割り当て問題はLPで解くことも出来る。
3×3の最小化問題の場合
A : a11+a12+a13=1
B : a21+a22+a23=1
C : a31+a32+a33=1
Ⅰ : a11+a21+a31=1
Ⅱ : a12+a22+a32=1
Ⅲ : a13+a23+a33=1
aij は 0 or 1 (割り当てがあれば1、割り当てがなければ0)
a11X11+a12X12+a13X13+a21X21+a22X22+a23X23+a31X31+a32X32+a33X33=Z
Zを最少にするような aij を求める。
©ATSUTO NISHIO