(小)グリッドグラフのTSPを解くことに興味があります。どんな種類の図書館が私のためにするのですが、これは予想以上に難しいようです。私はそこで見つけたいくつかのソルバー(コンコードを含む)を試しましたが、三角不等式が成り立たないときにはすべて問題があるようです。三角不等式のないTSPソルバ
例えば、私はツアーを出力するソルバを希望(0、1、2、1、4、3)以下(単位エッジ重みを持つ)グラフのこの特に
0-1-2
| |
3-4
私はconcordeにエッジ(2,4)のウェイトが1000であり、concordeがコスト1004のツアー(0,1,2,4,3)を速やかに作り出したと言った。これは私が探しているものではない。
理想的には、Javaで単純な(場合によってはブルートフォース)実装がありますが、実際には何かが実際に実行されます。誰かが私にいくつかのコードを教えてもらえますか、それとも私自身が実際に実装する必要がありますか?
編集:また、近似ではなく正確な解を得ることが重要です。
Edit2:確かに、これはTSPではないようです。私が見つけようとしているのは、すべての頂点を訪れる最短の閉じた散歩です。
Concordeを正しく適用してもよろしいですか?対称TSP問題のための正確なソルバーであるはずです。 –
@ Li-aungYip:Concordeは実際に最適なTSP解を与えています。問題は、OPが有効なTSPツアーではないソリューションを期待していることです。詳細は私の答えを見てください。 – NPE
私は参照してください。実際、グラフを考えると、すべてのノードを訪問する他の閉サイクルがないとは思わない。 (キーワード:closed。2-1-0-3-4は重み4で、すべてのノードにアクセスしますが、閉じていません) –