二次割当問題

二次割当問題（にじわりあてもんだい、、略称：QAP）とは、数学の数理最適化やオペレーションズ・リサーチにおける組合せ最適化問題の一種である。クープマンスおよびベックマンにより初めて考案されたに由来する問題であるKoopmans TC, Beckmann M (1957). Assignment problems and the location of economic activities. Econometrica 25(1):53-76。

二次割当問題は以下のような事例に対するモデルを扱う:
今、個の建設予定の施設および個の候補地がある。各二つの候補地間にはそれぞれ距離が設定され、各施設間にはそれぞれフロー（重み）が設定されている（フローの例は各施設間どうしで運ばなければならない物資の量など）。二次割当問題は各施設間のフローが候補地間どうしの距離に応じた費用がかかるとしたときに、それらの費用の合計が最小に抑えられるようなそれぞれ異なった候補地に各施設を建設する割当を決定する問題である。

直感的には、ある施設間でのフローが大きいものは距離の近い候補地にそれぞれ配置することが求められる。

二次割当問題はと類似した問題のように思われるが、二次割当問題は目的関数（最適にしたい事柄）が二次の項で表現されることが割当問題とは異なった問題として扱われる。このことは二次割当問題の名称に二次が入っていることにも表れている。

 厳密な定義 

二次割当問題の定義は以下の通りである:

今、同じサイズの二つの集合 （施設）および （候補地）が与えられたとする。ここに 、および距離関数  が与えらえる。二次割当問題は次の式を最小とするような全単射  を求める問題である:
最小化: 

重みや距離は通常実数値の行列として与えられるため、その場合、上記の式は以下の通りに書き表される:

行列表記にすると:

ただし、 は  の置換行列であり、 は重み行列であり、 は距離行列である。

 計算複雑性 
二次割当問題はNP困難として知られているため、現時点では時間計算量の観点から最適解を効率よく求めるようなアルゴリズムは発見されておらず、規模が小さな問題でさえ最適解を求めるのに時間がかかることが多い。またP=NPでない限り、任意の（定数）係数に対して多項式時間の近似アルゴリズムが存在しないことも証明されている。巡回セールスマン問題（TSP）は二次割当問題において施設間のフローをある一つのサイクル上のみフロー1と設定し、それ以外のフローは0として与え、各候補地間の距離を巡回セールスマン問題での各都市間の距離として設定した特殊な問題としてみなすことができる。このように多くの組合せ最適化問題は二次割当問題の形式として扱うことができる。

 応用 
二次割当問題は元々考えられた工場の割当を決定するような問題に加えて、エレクトロニクス産業のCADにおけるの部分に相当するプリント基板や集積回路状における最適な電子部品の配置を決定する数理モデルとして活用することができる。

また、二次割当問題はキーボード上での最適な文字の配置をモデル化するためにも用いられている。この場合、位置はキーボード上のキーに相当し、各キーの組ごとの距離はそれらのキーを打鍵するのに必要な時間に対応する。一方で施設に対応するのは文字であり、各文字の重みはテキストコーパスにおいて各二組の文字の出現頻度に比例した値となる。最適キーボード設計問題における二次割当問題によるモデル化はフランスのキーボード標準（NF Z71-300）の設計において用いられた。

 脚注 

 参考文献 
  A2.5: ND43, pg.218.

 関連項目 



 外部リンク 
 QAPLIB - 二次割当問題のライブラリ
 MAOS-QAP - Javaベースの二次割当問題ソルバ
 R package qap: 二次割当問題に対する発見的解法
 QAPソルバ - Windows10,11で使用できるメタヒューリスティックQAPソルバ

Category:組合せ最適化
Category:数学に関する記事
Category:オペレーションズリサーチ