§4.巡回セールスマン問題
郵便配達問題によく似た(本質的には異なる)問題で、現在もうまい方法が見いだされず、研究がすすめられている問題に、巡回セ−ルスマン問題というのがある。
巡回セ−ルスマン問題 K氏はセ−ルスマンとして世界中の都市を飛び回って仕事をしている。 ある時、仕事で東京を出発して、シンガポ−ル、パリ、ロンドン、ニュ−ヨ−クの4都市を回って戻ってこなければならなくなった。どの2都市間にも必ず飛行機の直航便があり、運賃は図18に示すとおりである。最も安く回ってくるにはどのような順で回ればよいか。 ただし、各2都市間の直航便の運賃は、第3の都市を経由していった場合の運賃よりも必ず安いものとする。 |
![]() |
図18は、5都市を点で表し、各都市間の直航便を2点を結ぶ線で表した完全グラフK5である。また、その線のわきに示した数字がその直航便の運賃を表している。 この場合、運賃を別としてまず考えると、東京を出発点として、4通りの飛行機への乗り方があり、その降りた都市で次の都市への行き方が各3通り、同様に次の降りた都市で2通り、そして東京へ戻るコ−スがある。したがって、 4×3×2×1=24 (通り) のコ−スがある。 ところが、この24通りのコ−スの中では、たとえば、東京→シンガポ−ル→パリ→ロンドン→ニュ−ヨ−ク→東京と回るコ−スとその逆コ−スの東京→ニュ−ヨ−ク→ロンドン→パリ→シンガポ−ル→東京と回るコ−スを、それぞれ1通りと数えているので、実際はその1/2の12通りのコ−スがある。したがって、12コ−スそれぞれの運賃を求め、最も安い運賃となるコ−スをとればよい。 |
もちろんこれは巡回セ−ルスマン問題の解法であるが、実はこの解法には大きな問題点がある。それは、ここでは巡る都市の個数が東京を含め、たった5都市であるが、10都市になれば
9×8×7×6×5×4×3×2×1÷2=181440 (通り)
1000都市になれば、102567通りという数になり、全コ−スを上の総当たり法で比較し解決しようとすると、現在かなり高性能のス−パ−コンピュ−タを宇宙の年齢といわれている150億年間フルに動かしても計算できないそうである。
真の解をすばやく求めるうまい方法は現在も発見されていない。しかし、近似解を求める方法がいくつか発見されている。
近似解の説明に入る前に、図18に示されている各都市間の航空運賃を下の表19のように整理してみることにする。
東京 | シンガポ−ル | パリ | ロンドン | ニュ−ヨ−ク | ![]() |
|
東京 | 0 | 5 | 12 | 13 | 8 | |
シンガポ−ル | 5 | 0 | 9 | 10 | 11 | |
パリ | 12 | 9 | 0 | 3 | 7 | |
ロンドン | 13 | 10 | 3 | 0 | 6 | |
ニュ−ヨ−ク | 8 | 11 | 7 | 6 | 0 | |
表19 | 図20 |
パリ、ニュ−ヨ−ク間の運賃は図18より、7万円 であるから、表19では赤字7 であらわす。また、同じ都市 間の運賃を表す部分には0を入れる。
さらに、東京=v1,シンガポ−ル=v2,パリ=v3,ロンドン=v4, ニュ−ヨ−ク=v5 で表し、表19をさらに簡単に図20のような行列であらわすことにする。例えば、図20の行列では v2−v4 間(シンガポ-ル−ロンドン間)の運賃を表している。ここでは、v2→v4 の運賃と v4→v2の運賃は同一であるから2行4列の数と4行2列の数は同一になる。
(近似解法)
各都市間の運賃を距離に置き換えて考えても同じことなので、ここでは行列の数字を各都市間の距離と見なし、最短距離で5都市を回るコ−ス捜しの問題として考えてみることにする。
まず、5点 v1,v2,v3,v4,v5より1点を任意に選ぶ。
@ v1を選んだ場合
次にv1から最も近い点を選ぶ。図20の行列の第1行を見ると、2列の数字が最も小さいので、v2を選ぶ。そして、今、
v1−v2−v1
というコ−スを考える。
次に、このコ−ス上の点から最も近い、コ−ス上にない点を1つ選ぶ。行 列より、v1に最も近い、コ−ス上にない点はv5であり、距離は8である。また、v2に最も近い、コ−ス上にない点はv3であり、距離は9である。したがっ て、選ぶ点はv5である。そこで、v1の前にv5を置き、
v1−v2−v5−v1
というコ−スを考える。
さらに、今と同様に、このコ−ス上の点から最も近い、コ−ス上にない点を選ぶ。選ぶ点は、行列よりv4となり、v4はコ−ス上の点v5に最も近い点であるから、v5の前に置き、
v1−v2−v4−v5−v1
という新コ−スを考える。
残るはv3のみであり、v3はコ−ス上の点v4に最も近いので、v4の前にv3を置き、求めるコ−スは、
v1−v2−v3−v4−v5−v1
となる。
A v5を選んだ場合
上と同様の方法をとると、v5に最も近い点はv4であるから、
v5−v4−v5
というコ−スを考える。
このコ−ス上の点から最も近い、コ−ス上にない点はv3であり、コ−ス上の点v4に最も近い点なので、v4の前にv3を置き、
v5−v3−v4−v5
というコ−スを考える。
以下同様に、つぎのようにコ−スを求めていく。
v5−v3−v4−v1−v5
v5−v3−v4−v2−v1−v5
最初にv1を選んだ場合求まるコ−スは
v1−v2−v3−v4−v5−v1で、
総距離は
5+9+3+6+8=31
である。
最初にv5を選んだ場合求まるコ−スは
v5−v3−v4−v2−v1−v5で、
総距離は
7+3+10+5+8=33
である。
このように、最初に選ぶ点の違いによって求まるコ−スが変わり、当然、最短コ−スがもとまるわけではない。しかし、この方法で求めたコ−スは最短のコ−スの2倍の長さよりも常に短いことがわかっており、最初の6通りの点の選び方に対してそれぞれ求まったコ−スの内、最短コ−スをとれば、真の最短コ−スにより近いコ−スを求めることができる。
この場合、真の最短コ−スは、
v1−v2−v3−v4−v5−v1
であり、総距離は31である。したがって、この方法で求めた解が、たまたま真の解に一致した。
現在、この方法以外にもっと精度の高い近似法がいくつか発見されている。 1993年9月には、日本IBM東京基礎研究所の岩野和夫、味園真司両氏が「グランド・ツア−(GT)法」を独自に開発している。これにより、IC回路のプリント基盤に穴をあけるためのドリルの移動時間が平均70%短縮され、全行程所要時間も15%短縮された。これは大きな経費節減、生産量の拡大へとつながる。
![]() |
また、ごく最近では、1994年6月頃、神奈川大学工学部物理学教室の宇佐見義之助手らにより、新しい方法が開発された。この方法は、これまでの解法よりも精度は劣るものの、解く時間がきわめて短いのが利点である。 解法を、「米国532都市を最短距離で回る」問題を例題に、簡単に説明する。途中経過を左図に示す。 初めに平面を4つの正方形に分け、その中に都市があれば、正方形の中心(図の●の点)に1つ都市があるとみて、最短コ−スを表す線で結ぶ。これは4つ以下の都市を結ぶ最短コ−スなので簡単にわかる。さらに、この最短コ−スと4つの正方形の境目との交点に点(図の○の点)を置く。次に4つの正方形の中をさらに4つの正方形に分け、その中に都市があれば、中心に1つの都市があるとして●の点を置き、先の●点を消去する。新しく置いた●点と境目の○点を結ぶ最短コ−スを作る。この最短コ−スと正方形の境目にさらに○点を置く。そして、さらに1つの正方形の中を4つの正方形に分け、その中に都市があれば、中心に1つの都市があるとして●の点を置き、先の●点を消去する。新しく置いた●点と境目の○点を結ぶ最短コ−スを作る。この最短コ−スと正方形の境目にさらに○点を置く。以下同じことを繰り返す。そして、ます目の数が都市数を超えると、精度が上がらなくなるので計算を止める。500都市なら、この手続きを5段階ほど繰り返すだけですむ。パソコンを使うと、作業は1秒以内に終わるようだ。 この方法は、部分を拡大すると全体と同じ構造が現れるフラクタルの考えや、量子電磁力学で故朝永振一郎博士らが使った「くり込み」の考え方の応用でもあるという。簡単にいえば、細部にとらわれずに、全体をおおずかみにする方法である。 これ以外にも、「最近接点選択(NN)法」や、米国ベル研究所の「複数断片(MF)法」などがある。 |
巡回セ−ルスマン問題は、完全グラフの各線に数が対応し、グラフの全ての点をちょうど1回ずつ通り、元に戻るコ−スの、各線上に対応する数の和が最小になるコ−スを考える問題である。
グラフ理論では、グラフの全ての点をちょうど1回ずつ通り、元に戻るコ−スをハミルトン閉路と呼んでいる。完全グラフにはハミルトン閉路は必ず存在するが、完全グラフでない一般のグラフには、存在する場合と存在しない場合がある。ハミルトン閉路が存在するグラフをハミルトングラフと呼ぶ。
定理3・1で述べたように、グラフにオイラ−回路が存在するかどうか判定する方法は比較的簡単であるが、実は、グラフにハミルトン閉路が存在するかどうかをきちんと判定する方法は、未だ発見されていない未解決問題なのである。