割当問題

割当問題

執筆済 最適化組合せ最適化

n 人の作業者を n 個の仕事に 1 対 1 で割り当て、総コストを最小にする問題。 Assignment Problem。

mini,jcijxijs.t.jxij=1,ixij=1,xij{0,1}

多項式時間で解ける#

n! 通りの割当があるのに、この問題は簡単。 Kuhn のハンガリアン法が 𝒪(n3) で最適解を与える。

理由は制約行列が完全単模 (totally unimodular) であること。 このとき整数条件を外したLP 緩和の 頂点が自動的に整数になるので、 整数計画でありながら LP として解ける。

見た目が似ていても難易度が違う#

問題 計算量
割当問題(線形) 𝒪(n3)
二次割当問題 (QAP) NP 困難
TSP NP 困難

コストが cij の和(線形)なら簡単、 組の相互作用 cijkl が入る(二次)と一気に難しくなる。 組合せ最適化で「どの問題に帰着するか」を先に確かめるべき理由がここにある。

参考文献#

ノート一覧を閉じる