巡回セールスマン問題入門 Introduction to Traveling Salesman Problems

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム.
情報基盤アルゴリズムとして のメタヒューリスティクスの 研究 茨木俊秀、巳波弘佳、藤原洋志、 千葉英史、関口良行(関西学院大 学)、 藤重悟(京都大学)、 柳浦睦憲(名古屋大学)、 野々部宏司(法政大学)、 梅谷俊治(電気通信大学)
ACM/ICPC と アルゴリズム 「実践的プログラミング」 稲葉 一浩. 自己紹介 ﻪ 理Ⅰ → 理学部情報科学科 → 情報理工学系研究科コンピュータ科学専攻 ﻩ 博士課程1年 ﻩXML を扱う専用言語の研究など ﻪ 個人的には ﻩ ﻯD.
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
最適化アルゴリズムの動向 ーメタヒューリスティックスを中心としてー (基礎編)
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
極小集合被覆を列挙する 実用的高速アルゴリズム
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
組合せ最適化問題と厳密解法 最小木、ナップサック問題、ビンパッキング、巡回セールスマン問題 LPによる上界・下界 分枝限定法
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
近似解法からメタ戦略へ ー巡回セールスマン問題を例としてー 東京商船大学 久保 幹雄
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
整数計画法を用いた スリザーリンクの解法 杉村 由花 (東京大学)
An Algorithm for Enumerating Maximal Matchings of a Graph
計算の理論 II NP完全 月曜4校時 大月美佳.
組合せ最適化 輪講 第1回 ERATO研究員 川原 純.
Approximation of k-Set Cover by Semi-Local Optimization
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
整数計画法を用いた ペグソリティアの解法 ver. 2.1
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
9.NP完全問題とNP困難問題.
データ構造と アルゴリズム 知能情報学部 新田直也.
算法数理工学 第12回 定兼 邦彦.
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
7.時間限定チューリングマシンと   クラスP.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
二分探索木によるサーチ.
制約充足と反復改良 (Constraint Satisfaction and Iterative Improvement)
MPIを用いた並列処理 ~GAによるTSPの解法~
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
決定木とランダムフォレスト 和田 俊和.
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
巡回セールスマン問題への招待 東京商船大学 久保 幹雄.
第3回 アルゴリズムと計算量 2019/2/24.
Introduction to Soft Computing (第11回目)
早わかりアントコロニー最適化 (Ant Colony Optimization)
計算量理論輪講 chap5-3 M1 高井唯史.
分子生物情報学(2) 配列のマルチプルアライメント法
First Course in Combinatorial Optimization
A Simple Algorithm for Generating Unordered Rooted Trees
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
算法数理工学 第10回 定兼 邦彦.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
最短ネットワーク問題:シュタイナー問題 3-G 023145 長谷川 和弘.
適応的近傍を持つ シミュレーテッドアニーリングの性能
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
配送計画最適化システム WebMETROのご紹介
補講:アルゴリズムと漸近的評価.
サプライ・チェイン最適化について 研究者・実務家が知っておくべきこと
第16章 動的計画法 アルゴリズムイントロダクション.
A02 計算理論的設計による知識抽出モデルに関する研究
情報工学概論 (アルゴリズムとデータ構造)
分枝カット法に基づいた線形符号の復号法に関する一考察
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
13.近似アルゴリズム.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

巡回セールスマン問題入門 Introduction to Traveling Salesman Problems 東京大学工学部計数工学科 松井知己

巡回セールスマン問題 (Traveling Salesman Problem) ●定式化が困難な問題 ●新聞記事等で有名な問題 ●様々な解法の試金石

セールスマンが全ての都市を1回ずつ通過して, 出発地に戻って来る経路で最も短いものを捜す. 6都市ならば, 巡回セールスマン問題 セールスマンが全ての都市を1回ずつ通過して, 出発地に戻って来る経路で最も短いものを捜す. 6都市ならば, 5!/2= 5×4×3×2 / 2 =60通り. n 都市ならば, (n - 1)! /2 通り. 近年, 新聞や科学雑誌でも 取り上げられて有名になった. TSP(Traveling Salesman Problem) 原型:ハミルトン閉路問題

電子基盤に穴をあける (部品を埋め込む)順序を決定する問題. 総移動距離を最小化する = 単位時間当たりの生産量最大化. ドリル穴あけ計画問題 電子基盤に穴をあける (部品を埋め込む)順序を決定する問題. 総移動距離を最小化する = 単位時間当たりの生産量最大化.

全ての都市を1回ずつ通過して,出発地に戻って来る経路で最も短いものを捜す. ただし,都市間の移動時間は, 移動方向に依存して異なる. 非対称巡回セールスマン問題 全ての都市を1回ずつ通過して,出発地に戻って来る経路で最も短いものを捜す. ただし,都市間の移動時間は, 移動方向に依存して異なる. (移動時間の非対称性) 実際の道路網では, 良く見かける状況. 3 5 6 2 7 8 9 1 4

鉄板の圧延計画 部品によってブレード位置を 設定する必要がある. ブレードの設定変更の費用は, 変更前後の部品種類によって異なる, 一機械スケジューリング問題 鉄板の圧延計画 部品によってブレード位置を 設定する必要がある. ブレードの設定変更の費用は, 変更前後の部品種類によって異なる, (幅を狭めるのは難しい). ブレード設定変更の総費用最小化. 非対称TSPへの帰着 都市 = 生産する部品 セールスマン = 圧延機械 距離 = ブレード設定変更費用

非対称TSP 都市間の距離が向きにより異なる 一般 対称TSP 都市間の距離が向きに寄らない 平面TSP 都市が平面上の点, 巡回セールスマン問題のヴァリエーション 都市間距離 非対称TSP 都市間の距離が向きにより異なる 一般 対称TSP 都市間の距離が向きに寄らない 平面TSP 都市が平面上の点, 都市間距離は2点間の直線距離 特殊 他の制約 m人TSP 出発点から出たm人で都市全体を回る 各都市を丁度1回ずつ通過→1回以上通過 各枝を1回以上通過=中国人郵便配達人問題 (Chinese Postman Problem)

Hamilton 閉路問題 ●セールスマン問題の原型 ●難しさの原点

グラフ:頂点とそれを結ぶ枝からなるもの 頂点:①, ②, ③, ④, ⑤ 枝:a, b, c, d, e, f 1 4 f d a c 5 e 2 3 b

Hamilton 閉路:すべての頂点を丁度1回づつ通過して, 出発点に戻る路(閉路). 与えられたグラフにHamilton閉路がありますか? YES:Hamilton 閉路有り NO:Hamilton 閉路無し

William Rowan Hamilton (1805-1865) Icosian Game: 正12面体の頂点全て(20個)を, 1人目: 最初の4歩 (5個の頂点)を指定. 2人目: 5歩目以降を探索. 正12面体の頂点全てを, 丁度1回ずつ通過して戻る道を, 見つければ,勝利. ? 6 7 5 20 4 2 1 3

参考図書

The Traveling Salesman Problem, 参考図書 The Traveling Salesman Problem, E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, and D. B. Shmoys, Wiley, 1985.

参考図書 「巡回セールスマン問題への招待」, 山本芳嗣, 久保幹雄, 朝倉書店.

参考図書 「整数計画法と組合せ最適化」, 今野浩, 鈴木久敏, 日科技連.

組合せ的爆発 ●セールスマン問題の難しさ ●計算量

(対称)TSP:都市n個のとき, (n‐1)!/2通り. 組合せの数は有限だが, 沢山あるので,最適解を見つけるのが難しい. 組合せ最適化の難しさ (対称)TSP:都市n個のとき, (n‐1)!/2通り. 組合せの数は有限だが, 沢山あるので,最適解を見つけるのが難しい. 組合せ錠 (Combination Lock): 組合せは有限だが, 最適を見つける(錠を開ける) のは難しい. 錠の性質を知って, 効率的に開ける. 有限時間で解ける事は分かっているので, 解くのにかかる時間の議論は本質的な議論. 9 1 2 3 4 5 6 7 1

5つの基本演算はすべて1stepで実行できる. Q1. a1, ...,an の2倍の和を求める. 計算量 +,-,×,÷, 比較: 5つの基本演算はすべて1stepで実行できる. (実際は,×は+より時間がかかる.) Q1. a1, ...,an の2倍の和を求める. (1) 2×a1+・・・+ 2×an , 2n-1 steps→ O(n)算法. (2) 2×(a1+・・・+an) , n steps→ O(n)算法. Q2. a1b1+・・・+anbnの計算. 2n-1 steps → O(n)算法. Q3.n×n行列2つの掛け算. 定義通りの計算 n2(2n-1) steps → O(n3)算法. 注: Strassen の算法は O(n2.7).

最悪値評価: 最悪のケースの時間を算定する. : O(n) O(n log n ) 多項式時間算法 アルゴリズムの速さ アルゴリズムの実行時間は, 入力に依存する事が多い. 最悪値評価: 最悪のケースの時間を算定する. : O(n) O(n log n ) 多項式時間算法 O(n2) polynomial time algorithm O(n3) O(2n) 指数時間算法 O(n!) exponential time algorithm O(n log2 n ) = O(n log10 n )

(対称)TSP:都市n個のとき, (n‐1)!/2通り. 100MIPS (mega instructions per second) 組合せ的爆発 (対称)TSP:都市n個のとき, (n‐1)!/2通り. 100MIPS (mega instructions per second) 1秒間に100万回の計算=1回 に 10-6秒 光速 3.0×1010cm/秒 (10-6秒 に 300m進む) n 10 100 1,000 10,000 n 10-5秒 10-4秒 10-4秒 0.001秒 n2 10-4秒 0.01秒 1秒 100秒 n3 0.001秒 1秒 16.6分 277時間 2n 0.001秒 1014世紀 10284世紀 ‐‐‐‐‐‐‐ n! 0.036秒 10141世紀 102551世紀 ‐‐‐‐‐‐‐ 実感しよう! 宇宙の年齢 1.5×108 世紀 (150億年)

5mm四方のチップ:1.7×10‐11 秒に光は0.5cm進む. 計算機スピードと組合せ的爆発 計算機が速くなれば,むしろ差は広がる! 10秒間にできる計算量は? 100MIPS 10倍 100倍 1000倍 n 107 108 109 1010 n2 3千 1万 3万 10万 n3 215 462 1千 2千 2n 23 27 30 33 n! 10 11 12 13 1000倍⇒ 1step に 10-9秒 ⇒ 10-9秒 に光は30cm進む 5mm四方のチップ:1.7×10‐11 秒に光は0.5cm進む.

100MIPSの計算機に比べ,どのくらい速いか? n 100 1,000 . 並列計算機ならば 5 mm 四方 のチップ: 光が5mmを動くには 1.7×10‐11 秒より, 1stepには1.7×10‐11 秒かかる. 地球表面を全て上記チップで覆う: 2.0×1019個. 100MIPSの計算機に比べ,どのくらい速いか? n 100 1,000 . 2n 1014世紀 → 0.85 秒 10284世紀 → 10263世紀 n! 10141世紀 → 10120世紀 102551世紀 → 102530世紀 有限で解けるのだから, 「計算の速さ」の議論は本質的.

計算の複雑さ (Computational Complexity )

答がYESとNOで,納得させる難しさが異なる. 「すべてのカラスは黒い」 =「黒くないカラスがいるか?」 存在の判定問題の難しさ 何かが存在する事を判定する問題: 答がYESとNOで,納得させる難しさが異なる. 「すべてのカラスは黒い」 =「黒くないカラスがいるか?」 YES:(簡単)そのカラスを連れてくる.(反例を挙げる) NO:(困難)すべてのカラスをチェックしてみせる? 「宇宙人はいるか?」 YES :(簡単)宇宙人を連れてくる. NO:(困難)宇宙中をすべて探索してみせる? 計算可能性や反証可能性とも関連

YES:Hamilton 閉路有り NO:Hamilton 閉路無し Hamiton 閉路問題 Hamilton 閉路: すべての頂点を丁度1回ずつ通過して, 出発点に戻る路(閉路). Hamilton閉路が存在するか? YES:Hamilton 閉路有り NO:Hamilton 閉路無し 証拠は?

割当問題 4っの仕事を4台の機械に割り当てる. YES

割当ては存在しない(NO!) → 存在しない証拠は? 2n頂点: O(n2.5)時間で存在をチェックできる.

クラスNP :YESの時に証拠のある問題のクラス クラスco-NP:NOの時に証拠のある問題のクラス NP‐完全 (NP-complete) 決定問題:YES-NO を答える問題 クラスNP :YESの時に証拠のある問題のクラス クラスco-NP:NOの時に証拠のある問題のクラス クラスP:多項式時間算法の存在する問題のクラス クラスNP‐完全:多項式時間算法の存在が 絶望視されている問題のクラス クラスco-NP クラスNP クラスNP-完全 Hamilton閉路問題 クラスP 割当問題

最小包囲円問題 最小包囲円問題:与えられた点集合を含む, 半径最小の円を求める. 最適でない 最適である n点:O(n)時間解法が存在.

与えられた巡回路は最適解(最も短い)か? 最適でない 最適? 最適でないときは,より短い解を証拠とできる. 平面TSP 与えられた巡回路は最適解(最も短い)か? 最適でない 最適? 最適でないときは,より短い解を証拠とできる. 最適である証拠は?

TSPを解く算法 ●厳密解法 ●近似解法 ●発見的解法

厳密解法 (exact algorithm): 最適解を1つ求める解法 近似解法 (approximation algorithm): TSPの解法の種類 厳密解法 (exact algorithm): 最適解を1つ求める解法 近似解法 (approximation algorithm): 求められる解の精度に(何らかの)保証のあるもの. 発見的解法 (heuristic algorithm): 良いと思われる解を探索する解法.解の精度に保証は無い.

●分枝カット法 =分枝限定法+組合せ的多面体論 厳密解法 ●分枝カット法 =分枝限定法+組合せ的多面体論

1954: 49都市: 切除平面法 1971: 65都市: ラグランジュ双対法 1980: 318都市: 分枝カット法 厳密解法の歴史(平面TSP) 厳密解法について,今日は話しません! 1954: 49都市: 切除平面法 Dantzig, Fulkerson and Johnson 1971: 65都市: ラグランジュ双対法 Held and Karp 1980: 318都市: 分枝カット法 Christofides and Padberg 1991: 666都市: 分枝カット法 Grotschel and Holland 1991: 2,392都市: 分枝カット法 Padberg and Rinaldi 1993: 4,461都市: 並列計算機+分枝カット法 Applegate, Bixby, Chvatal and Cook 1994: 7,397都市: 並列計算機+分枝カット法

近似解法 ●近似の困難さ ●簡単な2近似解法

「与えられた(対称)TSPにおいて,最短巡回路の長さのM倍以下の巡回路が存在するか?」 という問題はNP‐完全である. 近似の難しさ 定理: 任意の正の数 Mに対し,以下が成り立つ. 「与えられた(対称)TSPにおいて,最短巡回路の長さのM倍以下の巡回路が存在するか?」 という問題はNP‐完全である. 最適解のM倍以内の近似解を求める問題も,元の問題(TSP)と同程度に難しい. 三角不等式が成り立つときは,近似算法がある.

枝の短いものから順に(サイクルが出来ない限り)取り入れて行く. 巡回セールスマン問題の2‐近似解法 全域木:頂点全体を連結にする枝集合 最短全域木:貪欲算法で求められる. 枝の短いものから順に(サイクルが出来ない限り)取り入れて行く. 最短全域木の長さ≦最短巡回路 1 2 4 5 7 8

三角不等式が成り立つときは,近似算法がある: 2重全域木法 三角不等式が成り立つときは,近似算法がある: 最短全域木にそって, 一度通過した頂点は, 全ての頂点を回る. スキップする. 2×最短巡回路の長さ ≧2×最短全域木の長さ≧得られた巡回路の長さ

●局所探索 ● Simulated Annealing ● Tabu Search 発見的解法(平面TSP) ●局所探索 ● Simulated Annealing ● Tabu Search

構築法 (construction method) nearest neighbor 法 nearest addition 法 発見的解法 構築法 (construction method) nearest neighbor 法 nearest addition 法 farthest insertion 法 改善法 (improvement method) 局所探索法 (local search method) 模擬焼き鈍し法 (simulated annealing method) 禁断探索法 (tabu search method) 遺伝的アルゴリズム(genetic algorithm) ニューラルネットワーク (neural network): (TSPに向かない.最近は使われていない)

● nearest neighbor 法 ● nearest addition 法 ● farthest insertion 法 構築法 ● nearest neighbor 法 ● nearest addition 法 ● farthest insertion 法

nearest neighbor 法:(最適値との誤差 15% 程度) 構築法 nearest neighbor 法:(最適値との誤差 15% 程度) nearest addition 法: (最適値との誤差 20% 程度) farthest insertion 法: (最適値との誤差 5% 程度)

改善法 ●局所探索法 (local search method) ●模擬焼き鈍し法 (simulated annealing method) ●禁断探索法 (tabu search method)

●最も簡単な改善法 ●改善法の基礎 ●最も強力な改善法となることも多い 局所探索法 (Local Search) ●最も簡単な改善法 ●改善法の基礎 ●最も強力な改善法となることも多い

局所探索法 (local search method) 最も基本的な改善法 山登り法 (hill climbing method) とも呼ばれる. 現在の解の近傍(良く似ている解の集合)で,目的関数値がより良いものがあれば,現在の解をそれに更新する. (大域的)最適解 局所的最適解 良い 目的関数値

現在の巡回路から2本枝を付け替えて, より短かくなる巡回路が有るならば, (1つとは限らない),巡回路をそのうちのどれかに更新する. 2-opt近傍を用いた局所探索法 2-opt近傍:2本の枝の付け替えで 得られる巡回路の集合 現在の巡回路から2本枝を付け替えて, より短かくなる巡回路が有るならば, (1つとは限らない),巡回路をそのうちのどれかに更新する. Nearest Neighbor + 2-opt =(最適値から2.5%程度) etc.

一般的な局所探索法(図) 目的関数値 局所的最適解 局所的最適解 良い (大域的)最適解 近傍

2-opt 近傍:枝を2本付替えて得られる巡回路. 3-opt 近傍:枝を3本付替えて得られる巡回路. 近傍の決定 巡回セールスマン問題の近傍 2-opt 近傍:枝を2本付替えて得られる巡回路. 3-opt 近傍:枝を3本付替えて得られる巡回路. 4-opt 近傍:枝を4本付替えて得られる巡回路.

得られる解:悪い局所最適解⇔良い局所最適解 近傍の決定は,得られる解の良さと,使用できる計算時間の釣り合いに依存. 例 : 2-opt 3-opt 4-opt ‥‥ . 近傍の広さ: 狭い ⇔ 広い 近傍探索 : 短時間 ⇔ 長時間 得られる解:悪い局所最適解⇔良い局所最適解 近傍の決定は,得られる解の良さと,使用できる計算時間の釣り合いに依存. Nearest neighbor =(最適値から15%程度) Nearest neighbor + 2-opt =(2.5%程度) Nearest neighbor + 2,3-opt =(0.3%程度)

探索する解空間を,許容領域から少し広げる事により,性能の良い探索法を構築する. 探索空間の設定 Lin and Kernighan の解法 探索する解空間を,許容領域から少し広げる事により,性能の良い探索法を構築する. 擬似許容解解:許容解に近い解集合を,擬似許容解として定義し,擬似許容解中を探索. δパス (e パス,のパス‥?):

探索する領域を,許容解集合(巡回路集合)から,少し広げる.対応する巡回路 Lin and Kernighan の算法 探索する領域を,許容解集合(巡回路集合)から,少し広げる.対応する巡回路 擬似許容解 許容解

局所最適解からの脱出

(multiple start local search) ●広い近傍の一時的な導入 (iterated local search) 局所最適解の脱出 局所探索法は,局所最適解で停止する. ⇒局所最適解からの脱出法が必要 ●初期解を変えて,局所探索法を再適用 (multiple start local search) ●広い近傍の一時的な導入 (iterated local search) ●ランダム性の導入 模擬焼き鈍し法 (simulated annealing method) ●最急降下‐最緩上昇 タブー探索法 (tabu search method)

●一時的に広い近傍を用いて, 局所最適解から脱出する. (1ページ) Iterated Local Search ●一時的に広い近傍を用いて, 局所最適解から脱出する. (1ページ)

iterated local search:一時的に広い近傍を用いて, 現在いる局所最適解から脱出する. 例:巡回セールスマン問題の Lin and Kernighan探索法において,局所最適解が得られた際,(無作為に) 4-opt 操作を行って,局所最適解から脱出する.

模擬焼き鈍し法 (Simulated Annealing) ●ランダム性を用いて 局所最適解を脱出する. ●解の改善量を導入して, ランダム性に偏向を与える. (3ページ)

金属やガラスの内部の歪みを除くため,ある程度まで熱してから徐々に冷ますこと. 以下の方法で山を登る: simulated annealing annealing: 焼き鈍し: 金属やガラスの内部の歪みを除くため,ある程度まで熱してから徐々に冷ますこと. 以下の方法で山を登る: 現在地 x の近傍内から適当に1点y を選ぶ. if (x より y が高い), then (x から y に移動). else (ある確率 pで x から y に移動). x と y の標高差が小 ⇒ 移動する確率 pが大. 気温が高い(熱い) ⇒ 移動する確率 pが大. 気温は時間と共に徐々に下がって行く.

各反復で以下を行う.(目的関数 f (x) ) 現在の解を x,現在の温度をTとする. x の近傍内から適当に1点y を選ぶ. simulated annealing 各反復で以下を行う.(目的関数 f (x) ) 現在の解を x,現在の温度をTとする. x の近傍内から適当に1点y を選ぶ. if (x より y が良い解), then (x を y で更新). else (確率 exp{-| f(x)-f(y)| / T}で x を yで更新). 変化量|f(x)-f(y)|が小 ⇒ 更新する確率が大. 温度Tが高い ⇒ 更新する確率が大. (温度が高いと,局所最適解を脱出する可能性が有る.) 温度は反復と共に下がって行く. 例:対数冷却:第k反復の温度Tk∝1/log(k+1)

simulated annealing の特徴 近傍より1点を選んで計算する. 近傍全域を探索しない. 局所探索に比べ広い近傍を用いる事ができる. 2~4opt 近傍を用いる事が可能. 定理[Hajek] simulated annealing の挙動を表現するMarkov chainが既約で弱可逆ならば,対数冷却を用いた simulated annealing で生成される解の列は,確率1で最適解に収束する. 注:上の定理が保証する収束時間は,O(n !)より長い.

●最急降下最緩上昇で 局所最適解を脱出する. ●タブーリストを用いて,循環を避ける. (4ページ) 禁断探索法 (Tabu Search) ●最急降下最緩上昇で 局所最適解を脱出する. ●タブーリストを用いて,循環を避ける. (4ページ)

最急降下:下がれる時は最も下がる方向へ. 最緩上昇:下がれないときは,最も緩やかな登りの方向へ. 最急降下最緩上昇 (最小化問題の)局所最適を脱出する: 最急降下:下がれる時は最も下がる方向へ. 最緩上昇:下がれないときは,最も緩やかな登りの方向へ. これだけでは, いくつかの解を巡回するだけ. タブーリストを用いて, 後戻りを「しばらくの間」禁止する. (次ページで例示)

e または f を使った 2-opt 交換を禁止する. tabu list:交換に用いる事が禁止されている枝リスト. tabu search 2‐opt 近傍:2つの枝を交換 tabu:ある反復で 枝 eと枝 f の交換を行ったら, その後数回の反復では, e または f を使った 2-opt 交換を禁止する. tabu list:交換に用いる事が禁止されている枝リスト. tabu search: 可能な 2-opt 交換の中で, 最急降下最緩上昇の交換を選ぶ. tabu length:tabu の状態に留める期間. 要素毎に 5~11 の値を無作為に選ぶ.

頻度メモリ:解の更新方法それぞれにつき, それが実行された頻度(回数)を記憶しておく. 頻度の大きな更新は,余り行わないようにする. 頻度メモリ(長期メモリ)の導入 解の一部分での局所的な交換で, 目的関数値をあまり変えない物があれば, 多数回起こる可能性がある. 頻度メモリ:解の更新方法それぞれにつき, それが実行された頻度(回数)を記憶しておく. 頻度の大きな更新は,余り行わないようにする.

近傍内の全探査をする: あまり広い近傍は取れない. 解法の枠組みが単純: 問題依存の規則を多数加える事が出来る. tabu search の特徴 近傍内の全探査をする: あまり広い近傍は取れない. 解法の枠組みが単純: 問題依存の規則を多数加える事が出来る. ヴァリエーションが広い(広すぎる). 良い解法の構築の「定石」が少ない.

おわり