「巡回セールスマン問題(TSP)」を、サクッと解いてくれる便利なツールです。
上の埋め込みページでも使えますが、拡大した状態で使いたい場合は元の巡回セールスマン問題自動解答ツールページへ(別タブで開きます)
巡回セールスマン問題を解くツールの使い方
巡回セールスマン問題は、都市と都市間の距離が与えられている状態で、最短で都市を一巡して戻ってくる経路を見つけ出す問題です。
この問題については、巡回セールスマン問題の解説記事を参考にしてください。
このツールでは、都市と都市間をクリックで置いていけば、自動で解を見つけてくれます。
では、早速使い方を見ていきましょう!
1. 都市を置こう!
まずは、画面上をクリックして都市(ノード)を配置していきます。好きな場所にポンポン置けるので、地図をイメージしたり、地図を見ながら並べても良いですね。
ドラッグで都市の位置を移動することもできます。
2. 都市同士を線でつなぎ、距離を入力
次に、都市と都市をクリックで選択して線でつなぎます。線を引くと、そこに「距離」を入力するダイアログが出てきますので、実際の距離や適当な値を入れていきます。
※距離は数字で入力します。長ければ長いほどコストがかかる、という感じですね。
3. 「Solve」で解こう!
すべての都市をつなぎ終わったら、「Solve」のボタンをクリック!
あっという間に、ツールがすべてのルートを試して、最短経路を自動で計算してくれます。
画面上に、最適なルートが赤線でハイライトされるので、最適なルートが一目でわかるのが嬉しいポイントです♪
注意点もチェック!
ツールを使う上で、ちょっとした注意点があります。
- 孤立している都市や、一本だけでつながっている都市は注意!
つながっていない都市や、一本だけでつながった「ぶら下がり構造」の場合、自動で都市の位置関係(ピクセルの距離)から距離が割り当てられます。これが意図しない動きになることもあるので、なるべくすべての都市を複数ルートでつないでおくと安心です。 - 都市の数が多いと重くなります。
このツールは力任せ(全通りを調べる)方式で解いているため、都市の数が増えると計算量が爆発的に増えます。
目安としては、都市は20個以下にするとスムーズです。
ただし、構造が単純ならもっと多くても問題ないこともあります!
巡回セールスマン問題ツールまとめ
このツールを使えば、難解な巡回セールスマン問題を、楽しく・視覚的に体験できます!
理論に詳しくなくても使えるのが最大の魅力。学習用や、アルゴリズムの直感的理解にも最適ですよ♪
おさらい
- 画面上に都市を配置していく
- 都市同士をつなぎ、距離を入力
- 「Solve by brute-force」で最短ルートを自動計算!
- 都市が孤立していないかを要チェック!
- 都市数は20個くらいまでが快適に動作する目安
気軽にアルゴリズムの世界へ一歩踏み出してみませんか?
まずはツールを開いて、ポチポチと都市を置いて遊んでみましょう!