TSPが繰り返し都市の可能性を否定しているのは奇妙に思えます。この巡回セールスマンの目標は、できるだけ速く移動してすべての都市を訪問することですよね?では、すでに行った都市を旅する方が速い場合はどうでしょうか。
TSPが繰り返し都市の可能性を否定しているのは奇妙に思えます。この巡回セールスマンの目標は、できるだけ速く移動してすべての都市を訪問することですよね?では、すでに行った都市を旅する方が速い場合はどうでしょうか。
回答:
これは実際の問題をモデル化するための単なる方法であるため、どのように定義するかは問題ではありません。TSPでは、都市のセットと、都市の各ペアの間を移動するためのコストのみがあります。これは、モデル化している実際の状況で、BとCの間の最適なルートがAを通過する可能性を排除するものではありません。その場合、はい、TSPでABCAとしてモデル化されたルートは、 BからCへの途中で余分な時間Aをドライブすることが非常によく含まれていますが、そのような詳細はTSPモデルで抽象化されています。
制約が奇妙に見え、多くの実際的な状況では関係がないことに同意します。Davidが彼の回答で指摘したように、自分でモデリングを変更できる場合、それは実際には重要ではありません。ただし、変更不可能なインスタンスが与えられると、この制約のある一般的なTSPは定数係数内で近似できないため、違いが生じます。一方、単一訪問制約を緩和すると、係数2内で近似可能になるようです(ただし、メトリックではありません)。 )。私が何かを見落とさない限り、標準の引数では、最初に最小コストのスパニングツリー(コストは)を作成し、次にオイラーツアーテクニックでこのツリーにアクセスできます。明らかに、ツアーの合計費用は2 c (各エッジの2倍)になります。矛盾して、より少ないコストのツアーが存在した場合場合、このツアーを使用して、 c未満のコストのMSTを推測できます。これは矛盾です。
繰り返しのあるツアーを考えると、どの都市も繰り返さない、より短いツアーを考え出すことができます。たとえば、フォームのツアーを検討 訪問Aを二回。Aへの 2回目の訪問で、XからYに直行するショートカットを取ることができます: ⋯ → A → ⋯ → X → Y
からYへの最短経路はAを通過するかもしれませんが、それはすでにエッジX → Yでカプセル化されています。あなたはの言及を考えることができるAではない「通過」としてA「で停止する」のではなく、A。Aを数回通過する可能性がありますが、Aで一度停止するだけで済みます。
TSPの実際のアルゴリズムは、たとえばChristofidesのアルゴリズムのように、この「近道」のステップを持つことができます。たとえば、この説明またはその短いアカウントを参照してください。
「人は愚かではない」ということを除いて、これに対する一般的な答えはありません。彼らは彼らの状況に適したソリューションを適用します。巡回販売員の問題自体にかかわる人はめったにいません。古典的な場合のイブ、実際の営業担当者は、特定の一連の制約内で特定の期間にわたって収入を最大化するという問題にもっと関心を持つでしょう。この問題の例では、移動した距離の合計は、最適な答えを見つけるために使用するさまざまな要因の1つにすぎません。
繰り返しが許可されている場合は、すべての接続X-> A-> Yを調べ、X-> Yより短い場合は、X-> Yの長さをX-> A->の長さに置き換えます。 Y、そして標準アルゴリズムで結果として生じる問題を解決します。変更がなくなるまで交換プロセスを繰り返す必要があると思います。これは、X-> Yの接続が短い場合、X-> Y-> ZがX-> Yよりも短いことを意味する可能性があるためです。
変更した接続を追跡し、ソリューションの接続を確認します。ソリューションにX-> Yが含まれている場合は、X-> A-> Yに置き換えます。
PS。私の考えは素晴らしいと思いますが、現時点でそれが正しいかどうかはよくわかりません。X-> YではなくX-> A-> Yは単なるショートカットではないため、都市Aもカバーします。