巡回セールスマン問題
巡回セールスマン問題(じゅんかいセールスマンもんだい、テンプレート:Lang-en-short、TSP)は、都市の集合と各2都市間の移動コスト(たとえば距離)が与えられたとき、全ての都市をちょうど一度ずつ巡り出発地に戻る巡回路の総移動コストが最小のものを求める(セールスマンが所定の複数の都市を1回だけ巡回する場合の最短経路を求める)組合せ最適化問題である。
問題例の大きさは、都市の数で表される。この問題は、計算複雑性理論においてNP困難と呼ばれる問題のクラスに属する。すなわち、問題例の大きさに関する決定性の多項式時間アルゴリズムが見つかりそうにない、計算量的に困難な問題である。なお、この問題の特殊ケースとして考えられるハミルトン閉路問題は、NP困難であると共にNP完全と呼ばれるクラスにも属するので、扱いが異なる。
都市間の移動コストが三角不等式を満たす、すなわち移動コストを距離と呼べる部分問題(あるいは制約つき問題)も、NP困難である。都市を平面上の点、都市間の距離を平面上のユークリッド距離とする部分問題は最も直感的で理解しやすいが、これも NP困難である。この部分問題は平面TSPなどと呼ばれ、実用上の応用も多く、またベンチマークの問題例としても距離関数の定義が自明なため頻繁に現れる。 都市の間の移動コストを 1 または 2 に制限しても、この問題は NP困難である。ハミルトン閉路問題は、移動コストを 1 または無限大に制限した TSP とみなすことができる。
一方で制約のない巡回セールスマン問題の直接の応用事例は無いと言ってもよい。逆に実際の応用事例では、より複雑な定義で配送計画や表面実装ロボットの動作計画などに適用される。
よく誤解されているが、NP困難な問題は、任意の大きさの任意の問題例に対しての多項式時間アルゴリズムが存在しないと考えられているのであって、巡回セールスマン問題の場合、約2000都市以内の比較的小さい問題例に対して、あるいは問題例によっては解が得られないことがあってもよいのであれば、(線形計画法と論理木を組み合わせた)分枝限定法や、(線形計画法と巡回群を組み合わせた)切除平面法により、パーソナルコンピュータでおよそ1日以内で厳密解を得られることが多い。
厳密に最適解を求めることを放棄して計算時間を短くする方法は、リン・カーニハン・アルゴリズムなどの局所探索アルゴリズム、焼きなまし法、ホップフィールドネットワークあるいはボルツマン機械などのヒューリスティックアルゴリズムと、出力される解のコストと最適解のコストとの差をなんらかの形で保証する多項式時間近似アルゴリズムの二つに大別できる。
より複雑な定義の問題をあつかう解法としては、欧州では前述した分枝限定法、切除平面法、(前者2つをミックスした)分枝カット法といった厳密解法を用いることが多く、アメリカ合衆国では遺伝的アルゴリズム、タブー探索といった厳密に最適な解を保証しないヒューリスティックアルゴリズムを用いることが多い。
三角不等式が成り立つ TSP については多項式時間近似アルゴリズムが数多く存在する。 たとえば近似率 2 (最悪でも最適解の長さの 2 倍以内の解を得ることができる)のアルゴリズム(最近追加法他)や近似度 1.5 のアルゴリズム(クリストフィードのアルゴリズム w:Christofides_algorithm N. Christofides)が知られている。 近年、平面TSP には、近似率を任意に 1 に近づけることができるアルゴリズム、多項式時間近似戦略 PTAS が Arora によって与えられた。 ハミルトン閉路問題を考えれば、三角不等式が成り立たない移動コストを持つ TSP の問題には、近似率を定数倍以内に保証できる多項式時間アルゴリズムが存在しないことは明らかである。
関連項目
- ハミルトン閉路問題
- 中国人郵便配達問題 - すべての辺(頂点ではなく)を少なくとも1回ずつ通る巡回路でコスト最小のものを求める。こちらは多項式時間で解けることが知られている。
- DNAコンピュータ
- 粘菌コンピュータ
- 最近傍法
- P≠NP予想
外部リンク
- TSPLIB - TSPのベンチマーク問題集その1
- Traveling Salesman Problem - TSPのベンチマーク問題集その2 (World TSP,National TSPs, VLSI)
- TSPのソースコードへのリンク集