Upgrade to Pro — share decks privately, control downloads, hide ads and more …

主専攻実験S-3 メタヒューリスティクスと巡回セールスマン問題 最終発表

主専攻実験S-3 メタヒューリスティクスと巡回セールスマン問題 最終発表

koyamaso

July 15, 2020
Tweet

More Decks by koyamaso

Other Decks in Programming

Transcript

  1. 今から話さないこと - クリストフィード(Christofides)のアルゴリズム(奇数次の頂点の完全マッチングを2-optの近似解にしたもの) - 以下の構築法、改善法を組み合わせた16パターンの比較 (見やすい形でまとめていません... ログ -> http://ur2.link/SbBK )

    - 構築法: 最近隣接法、最遠挿入法、最近挿入法、貪欲法 - 改善法: 2-opt法、comb-opt法(2-optと1.5-optをまぜたもの) 、焼きなまし法(SA)、禁断探索法(TL=20) # やっていないこと - 禁断探索法の上手なパラメータ調整 - 焼きなまし法の上手なパラメータ調整 - 保存しておく近傍の頂点の個数の上手な調整 - etc
  2. アルゴリズムの概要(1) 探索中の状態は主に以下の3つの集合からなる - 必ず使用する辺の集合A - 使用を禁止する辺の集合B - それ以外の集合C 初期状態: A={},B={},C={e1,e2…}

    状態遷移:集合Cに属するある辺eを集合AまたはBにうつす どの辺を選ぶかは後述 状態数は頂点数をNとして、枝刈りしなければ3^{(N-1)*N/2} となる A={},B={},C={e1,e2…} A={e1},B={},C={e2…} A={},B={e1},C={e2…}
  3. 状態(A,B,C)から最小一木を求める(1) クラスカル法を元にしたアルゴリズムで、 - 集合Aに含まれる全ての辺と、 - 集合Cに含まれる辺の一部 を使った一木のうちの、最小一木を求める x := Aに含まれる辺のうち、頂点1に接続するものの個数

    とすると、アルゴリズムは、xによって場合分けされる 前準備として、Cに含まれる辺はコストの昇順にソートしておく (頂点2...Nからなる部分誘導グラフは木になる必要があるので、頂点1が関節点にならないように注意する)
  4. 頂点 数 10 11 12 13 14 15 16 17

    18 19 20 21 22 分枝 限定 法 0.003 0.008 0.008 0.009 0.006 0.016 0.016 0.016 0.04 0.049 0.049 0.43 0.528 動的 計画 法 0.003 0.008 0.018 0.007 0.014 0.026 0.057 0.092 0.19 0.457 0.869 2.053 4.16 頂点 数 23 24 25 26 27 28 29 30 31 32 33 34 35 36 分枝 限定 法 0.712 1.466 0.925 1.602 11.24 6 10.30 4 1.092 3.18 2.732 1.347 17.51 8 120.0 5 203.4 47 914.3 24 動的 計画 法 9.208 20.87 51.18 5 100.7 4 比較結果