作業フローを簡素化:miniwebtoolを検索。
追加
こちらもどうぞ
オンスからmlへの変換器L-Systemフラクタルジェネレーター迷路ジェネレータースピログラフジェネレーター
ホームページ > 数学 > 高度な数学操作 > 巡回セールスマン問題ソルバー TSP
 

巡回セールスマン問題ソルバー TSP

すべての都市を一度だけ訪問して出発点に戻る最短ルートを算出します。小規模なケースには厳密な動的計画法 (Held-Karp) を、大規模なケースには最近傍法 + 2-opt ヒューリスティックを使用します。座標入力または距離行列に対応し、アニメーション SVG ルートを表示します。

巡回セールスマン問題ソルバー TSP
座標行: A, 10, 20 または 10 20。行列行: 0 10 15 20 — 1行に1行ずつ、正方、非負。 最大 40 都市。
カンマまたはスペース区切りのラベル(行列の各行に1つ)。省略した場合は A, B, C… がデフォルトになります。

Embed 巡回セールスマン問題ソルバー TSP Widget

巡回セールスマン問題ソルバー TSP

巡回セールスマン問題ソルバー TSPは、古典的な巡回セールスマン問題 (TSP)のための実用的で教育的な電卓です。この問題は、都市の集合とそれらのペア間の距離が与えられたとき、すべての都市をちょうど一度だけ訪問して出発点に戻る最短の経路を見つけるものです。このソルバーは、平面座標またはカスタム距離行列のいずれかを受け入れ、問題の規模に基づいて最適なアルゴリズムを自動的に選択し、結果のルートをアニメーションSVGマップとしてレンダリングします。

巡回セールスマン問題とは?

形式的には、頂点集合 $V = \{1, 2, ..., n\}$ とエッジの重み $d(i, j)$ を持つ完全重み付きグラフ $G = (V, E)$ が与えられたとき、TSP は次を最小化する頂点の置換 $\pi$ を求めます:

最小化: Σi=1n-1 d(π(i), π(i+1)) + d(π(n), π(1))

最後の項がループを閉じます。TSP は組合せ最適化において最も古く、最も研究されている問題の一つです。一般的なケースでは NP 困難であり、すべてのインスタンスを多項式時間で解く既知のアルゴリズムは存在しません。それにもかかわらず、車両のルーティング、プリント基板の穴あけ、DNA シーケンシング、倉庫のピッキングルート、天体観測スケジュール、さらには地方の郵便配達など、数え切れないほどの現実世界のアプリケーションに登場します。

このソルバーの仕組み

Held–Karp 動的計画法 (厳密解)

小規模なインスタンス(12都市まで)の場合、ソルバーは1962年に Richard Bellman と Michael Held & Richard Karp によって独立して発表された Held–Karp アルゴリズムを使用して、証明可能な最適ルートを計算します。キーとなる漸化式(ここで $C(S, j)$ は、頂点 1 から頂点 $j$ まで、部分集合 $S$ を正確に訪問する最短パス)は次の通りです:

C(S, j) = mink ∈ S \ {j} [ C(S \ {j}, k) + d(k, j) ]

最適な巡回コストは、 $min_{j} [C(\{1,...,n\}, j) + d(j, 1)]$ となります。Held–Karp は O(2n · n²) の時間と O(2n · n) のメモリで動作します。これは総当たり($n!$)に比べて大幅な改善ですが、依然として指数関数的です。およそ 20 都市を超えると、メモリ使用量が非現実的になります。

最近傍法 + 2-opt (ヒューリスティック)

より大きなインスタンスの場合、ソルバーは2段階のヒューリスティックを使用します。まず、最近傍法が、各開始頂点から最も近い未訪問の都市へと貪欲に移動することで、素早い巡回ルートを構築します。ソルバーは多くの開始頂点を試し、最良のルートを保持します。次に、2-opt 局所探索が、2つのエッジを繰り返し削除し、結果として得られる2つのパスを他の唯一可能な方法で再接続することでルートを改善します:

適用前: ... a — b ... c — d ... 2-opt 入れ替え後: ... a — c ... b — d ... もし d(a,c) + d(b,d) < d(a,b) + d(c,d) ならば 入れ替えを承認し、部分経路 b..c を反転させる

幾何学的には、2-opt はルート内のすべての「交差」を取り除きます。交差している2つのセグメントは、常に交差を解消することで総距離を短縮できます。アルゴリズムは、単一の入れ替えでは改善されない局所最適解で停止し、これを 2-最適 な経路と呼びます。現実的なユークリッド距離のインスタンスでは、2-opt は通常、ミリ秒単位で真の最適解の 2〜5% 以内のルートを見つけます。

入力形式

座標モード (x, y)

1行に1つの都市を入力します。各行は「ラベル, x, y」の形式で、ラベルは任意です。ソルバーはユークリッド距離を自動的に計算し、都市を真の位置に視覚化します。

A, 10, 20 B, 40, 70 C, 75, 30 Paris: 2.35, 48.86 10 20 ← ラベルは自動的に C1 になります

距離行列モード

$n \times n$ の非負の距離の正方行列を、1行に1行ずつ、スペースまたはカンマで値を区切って入力します。行列は対称でも非対称でも構いません。非対称行列は、一方通行、空席状況によって変わる航空券の価格、風に依存する移動などをモデル化できます。必要に応じて「行列ラベル」フィールドにラベルを指定してください。

0 10 15 20 10 0 35 25 15 35 0 30 20 25 30 0

アルゴリズムの比較

アルゴリズム 時間計算量 メモリ 結果の質 実用的なサイズ
総当たり (Brute force) O(n!) O(n) 最適 n ≤ 10
Held–Karp DP O(2n · n²) O(2n · n) 最適 n ≤ 20
最近傍法 (Nearest-Neighbor) O(n²) O(n) 最適解より約25%劣る n ≤ 数千
NN + 2-opt O(n² · passes) O(n) 最適解より約2–5%劣る n ≤ 数百

このソルバーの使い方

  1. 入力モードを選択します。 都市が意味のある (x, y) 位置を持っている場合は「座標」を、コストが非ユークリッドまたは非対称である場合は「距離行列」を選択します。
  2. データを貼り付けるか入力します。 1行に1つの都市または行列の行を入力します。フォームの上にあるクイック例ボタンをクリックすると、有効な例が事前入力されます。
  3. アルゴリズムを選択します。 適切なデフォルト設定のために「自動」のままにしておくと、証明可能な最適性が得られる規模であれば Held–Karp が、そうでなければ NN + 2-opt が選択されます。比較したい場合は、特定のアルゴリズムを強制的に選択することもできます。
  4. 閉じた経路か開いた経路かを選択します。 閉じた経路は出発点に戻ります。これは伝統的な TSP です。開いた経路モードは、セールスマンが別の都市で終了する、関連するハミルトンパス問題を解決します。
  5. 「解決」をクリックします。 結果ページには、総巡回距離、ルートのアニメーションSVG(「アニメーション再生」で再試行可能)、完全な都市シーケンス、エッジごとの内訳、およびルートで使用されたエッジが強調表示された距離行列が表示されます。

具体例

5つの都市(長方形+頂点): A (0, 0), B (4, 0), C (4, 3), D (0, 3), E (2, 5) を考えます。ソルバーは以下を返します:

現実世界での応用

よくある質問

巡回セールスマン問題とは何ですか?

巡回セールスマン問題 (TSP) は、すべての都市を一度だけ訪問し、出発都市に戻る最短の経路を求める問題です。これは組合せ最適化における最も有名な問題の一つであり、一般的なケースでは NP 困難です。つまり、すべてのインスタンスを多項式時間で解決する既知のアルゴリズムは存在しません。

Held–Karp アルゴリズムとは何ですか?

Held–Karp は、TSP を厳密に解く動的計画法アルゴリズムで、時間計算量は O(2n · n²)、空間計算量は O(2n · n) です。総当たり($n$ 階乗)よりも劇的に高速ですが、依然として指数関数的であるため、実際には 20 都市程度までのインスタンスに使用されます。このソルバーでは、都市が 12 個以下のときに Held–Karp を使用します。

2-opt とは何ですか?なぜ使用されるのですか?

2-opt は、現在の経路から2つのエッジを繰り返し削除し、結果として生じる2つのパスを別の可能な方法で再接続する局所探索ヒューリスティックです。新しい経路が短い場合、その入れ替えが保持されます。2-opt は 1 回の反復につき多項式時間で動作し、一貫して最適解から数パーセント以内の経路を見つけるため、大規模な TSP インスタンスにおける古典的な手法として使用されます。

座標と距離行列のどちらを使うべきですか?

都市が平面上にあり、直線距離(例:地図上の地点、倉庫の場所、回路基板のドリル穴)である場合は「座標」を使用します。ペアのコストがユークリッド距離ではない場合(例:航空券の価格、渋滞を考慮した移動時間、一方通行の道路距離、非対称コスト)は「距離行列」を使用します。行列モードは、非対称なものも含め、あらゆる非負の距離を受け入れます。

2-opt の解は最適ですか?

いいえ、2-opt は「2-最適」な経路を返します。これは、1組のエッジを入れ替えてもより短いルートが作成できない状態を意味します。これは局所最適解であり、通常は最適解から数パーセント以内ですが、グローバルな最適解である保証はありません。小規模なインスタンスで証明可能な最適解を得るには、Held–Karp を選択してください。

このツールは非対称距離行列をサポートしていますか?

はい。距離行列モードでは、D[i][j] が D[j][i] と異なる非対称な行列を含む、任意の非負の正方行列を入力できます。Held–Karp と 2-opt はどちらも非対称行列を正しく処理します。これは、一方通行、交通状況、または風向きに依存する飛行コストなどの現実世界のルーティング問題に役立ちます。

参考文献

このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:

"巡回セールスマン問題ソルバー TSP"(https://MiniWebtool.com/ja/巡回セールスマン問題ソルバー-tsp/) MiniWebtool からの引用、https://MiniWebtool.com/

by miniwebtool チーム. 更新日: 2026年4月21日

また、AI 数学ソルバー GPT を使って、自然言語による質問と回答で数学の問題を解決することもできます。

高度な数学操作:

おすすめ:

InstagramユーザーID検索パーセンテージ減少電卓パーセント増加電卓弧長電卓ランダムカラージェネレーターwar電卓動画を結合MACアドレス検索画像分割ツールフィートとインチからセンチメートルへのコンバーター標準偏差電卓 - 高精度円錐展開図テンプレートジェネレーターエンジェルナンバー電卓ランダム誕生日ジェネレーター番号を並べ替える引用検索 (英語)動画を逆再生ランダム日付ジェネレーターランダムポーカーハンドジェネレーター合計電卓シグマ記法電卓 総和FPSコンバーターランダム超能力ジェネレーターパーセント誤差電卓平方完成電卓売上総利益率電卓相対標準偏差電卓YouTubeチャンネル統計モジュロ電卓英単語ランダム生成ツールランダムトーナメント表作成ツール外れ値電卓熱膨張計算機HEX電卓ASCIIコード表血糖値コンバーター動画を回転オンライン句読点削除ツールMP3ルーパーデシベル (dB) 電卓逆テキスト中央値電卓マスターナンバー電卓ai句読点追加kva計算機楕円円周電卓手数料電卓センチメートルからフィートとインチへのコンバーターボウリングスコア計算機表面積電卓CAGR電卓太陽位置計算機空の行を削除する労働時間計算ツール圧力電卓🖱️ クリックカウンターマン・ホイットニーのU検定計算機ビデオ速度を調整小数時間から普通の時間へのコンバーター筆算足し算・引き算計算機ボルト締付トルク計算機ビンゴカードジェネレーターt検定電卓比率電卓コラージュメーカー桁数電卓筆算割り算電卓四分位範囲電卓私のIPアドレスは何ですかHEXコンバーター中間日計算機加速度電卓土星回帰電卓ポアソン分布電卓配管流量電卓パーセント成長率電卓変化率電卓求人検索ランダムクレジットカードジェネレーター不可視文字除去ツール熱伝達計算機パレットジェネレーターランダム絵文字ジェネレーターオーディオ スプリッター画像回転ツール関数電卓TikTok収益計算ツール愛の相性電卓SRT 時間シフト 電卓指数電卓(高精度)斜面計算機身長パーセンタイル電卓動画から画像抽出ツール配当利回り電卓散布図作成ツールSHA256 ハッシュジェネレーター年の日電卓 - 今日は今年の何日目Twitch収益計算ツール正多角形電卓車両重量配分計算機週番号計算機底2の対数電卓パーセントからppmへのコンバーター分数電卓アンテナ長計算機階段電卓XMLバリデーター世界時計atan2電卓相関係数計算機ANC電卓CRC32チェックサム電卓fena電卓BUN対クレアチニン比電卓GIFメーカーヒストグラムメーカーサイコロローラータンジェント電卓飛行距離電卓ランダムトランプカードジェネレーター角度変換ツールジニ係数電卓平方根電卓CMYKからHEXへの変換ツール動画分割ツール小文字生成器 ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾沸点計算ツールAIテキストヒューマナイザーアナグラム生成器ランダム名前ジェネレーターFacebookユーザーID検索カラースキームジェネレータークロスワードパズルメーカーワイヤーゲージ電卓対数電卓💧 露点電卓PSIからbarへの変換器クーパー12分間走計算ツールサッカーxg期待ゴール電卓バーコードジェネレーターローマ数字のコンバーター三相電力計算機取り消し線テキスト生成ツールトルク電卓ランニングペース電卓三角関数グラフ作成ツール割り切れるテスト電卓周波数波長変換ツール直線の方程式電卓角速度計算機じゃんけんジェネレータービデオをループ再生ランダム時刻ジェネレーター服のサイズ変換猫カロリー電卓ベーカーズパーセント電卓SRTからTXTへの変換ツール動画圧縮積分電卓迷路ジェネレーターBCD?????psiからkPaへのコンバーターそろばんシミュレーター文字数による改行日割り家賃計算魔方陣ジェネレーター🔊 トーンジェネレーター点つなぎジェネレーターhba1c電卓タイル目地計算機バイナリ電卓平均寿命電卓ポンドからキログラム変換分圧器計算電卓素数ですかカレンダー電卓hcg倍加時間計算ツール変動係数電卓水星逆行カレンダー自転車サイズ電卓IPアドレスから16進数への変換慣性モーメント計算機斜辺電卓AIお礼状ジェネレーターダイスロール確率電卓ペース カロリー電卓分散電卓 高精度直角三角形電卓10進数から16進数へのコンバーターHTMLからテキストコンバータmcgからmgへの変換ツールVTTからtxtへのコンバーターボロノイ図ジェネレーターヴィジュネル暗号ツール外接円電卓平方数リスト直列抵抗計算機グロスアップ計算機ジェスチャーゲームジェネレーターレシピ栄養計算ツールTwitter (X)用動画変換ゲーマータグジェネレーターチーム名ジェネレーターニックネームジェネレーターラップネームジェネレーターバンド名ジェネレーターファンタジー名前ジェネレーターフォーチュンクッキージェネレーターお絵描きアイデアジェネレータージャーナルプロンプトジェネレーターデイリーアファメーションジェネレーター褒め言葉ジェネレーター口説き文句ジェネレーター親父ギャグジェネレーターランダムジョークジェネレーターランダム雑学ジェネレータートリビアクイズジェネレーターハングマン単語ジェネレーターピクショナリー単語ジェネレーターアイスブレイク質問ジェネレーターNever Have I Ever ジェネレーターどっちを選ぶジェネレーターランダム質問ジェネレーターAI夢占いAI結婚式スピーチジェネレーターAIプレスリリースジェネレーターAI商品説明ジェネレーターAI動画スクリプトジェネレーターAI YouTubeタイトル・概要欄ジェネレーターInstagramキャプションジェネレーターAI LinkedInヘッドライン・自己紹介ジェネレーターAI職務経歴書ブレットジェネレーターAIカバーレター作成ツールAIラップ歌詞ジェネレーターPDFフラット化ツールPDFロック解除(オーナーパスワード削除)PDFテキスト抽出PDFページ抽出PDF単語カウンターPDFにパスワードを設定PDFにページ番号を追加PDFページ並べ替えPDFページ削除PDF回転JPGをPDFに変換PDFをJPGに変換PDF圧縮PDF分割PDF結合PTからPXへの変換器PXからREMへの変換器トラからグラムへの変換器インドの土地単位変換器AI歌詞ジェネレーターAI詩ジェネレーターAIストーリージェネレーターAI翻訳AIテキスト要約ツールmgからmlへの変換器MPHからKMHへの変換器ノットからマイル毎時変換器立方メートルから立方フィート立方フィートから立方ヤード変換器平方フィートから平方メートル換算平方メートルから平方フィート変換器オンスからmlへの変換器mlからオンスへの変換器ガロンからリットル変換器リットルからガロン変換器キログラムからストーンへの変換器ストーンからキログラム変換器インチからミリメートルへの変換器ミリメートルからインチへの変換器マイルからキロメートル変換器キロメートルからマイル変換器華氏から摂氏への変換器摂氏から華氏への変換器バックパックサイズ電卓サーフボード容量電卓テニスグリップサイズ電卓ヘルメットサイズ電卓手袋サイズ電卓帽子サイズ変換スノーボードサイズ電卓スキーサイズ電卓スピードランスプリットタイマーステーブルフォード計算機ダーツチェックアウト電卓ボウリング・エコノミーレート電卓打撃ストライクレート電卓ネットランレート計算機KDレシオ計算機Eloレーティング計算機心拍数回復電卓ハイキング時間計算機ローイングペース計算機ランニング年齢グレード計算機FTP・パワーゾーン計算機Beepテスト電卓ACFTスコア電卓Wilks & DOTS 電卓ホイールオフセット電卓タイヤ負荷指数・速度レーティング検索マイルあたりコスト電卓リース買取電卓オクタン価ブレンド電卓2ストロークオイル混合電卓エンジン排気量計算ソファ搬入電卓薪コード計算機空気清浄機CADR電卓除湿機サイズ計算シーリングファンサイズ電卓カーテンサイズ計算機ラグサイズ電卓額縁の掛け高さ計算機テレビ取り付け高さ計算機テレビサイズ電卓池の容量・ライナー電卓プール塩量計算機プール容量計算給湯器サイズ電卓エポキシ樹脂計算機手すり子間隔電卓巾木とトリムの電卓サイディング計算機デッキ用ステインの計算芝生の種計算機芝生電卓アスファルト電卓立方ヤード電卓電線管充填率電卓直列並列コンデンサ電卓誘導リアクタンス計算機部屋の照明計算機ルクスからルーメン電卓ルーメンからワット変換器発電機サイズ計算機mAh Wh 変換器 電卓アンペアからワット電卓ワットからアンペア電卓摩擦計算機機械的倍率計算機音速計算機波の速度計算機浮力電卓終端速度計算機ド・ブロイ波長計算機光子エネルギー計算機emc2電卓時間の遅れ計算機ケプラーの第三法則計算機脱出速度計算機万有引力計算機ベール・ランベルトの法則電卓ネルンストの式計算機浸透圧計算機沸点上昇電卓凝固点降下計算パーセント組成計算機規定度計算機質量モル濃度計算機pKa→Ka変換器ヘンダーソン・ハッセルバルヒ電卓理論収量計算機制限反応物計算機電子配置計算機インタラクティブ周期表AI授業計画ジェネレーターAIクイズ作成ツール引用ジェネレーター (APA/MLA/Chicago)出席率計算APスコア計算機ACTスコア計算機SATスコア電卓youtube収益見積もりツールランダムRPGキャラクタージェネレーター