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

より良い解に辿り着くカギ-近傍設定の重要性

 より良い解に辿り着くカギ-近傍設定の重要性

数理最適化でより良い解を見つけるための近傍設定の重要性を解説。巡回セールスマン問題を例に、構築法・改善法、2-optなどの近傍操作を紹介します。 #数理最適化 #組合せ最適化

More Decks by NearMeの技術発表資料です

Other Decks in Programming

Transcript

  1. 1 ⽬次 1. ⾃⼰紹介: 初めまして、若林瑞樹です 2. 数理最適化? 必要? AI? 機械学習

    3. 数理最適化が必要となる難しい問題とは 4. より良い解へ辿り着くために...近傍設定の重要性
  2. 2 1. ⾃⼰紹介: 初めまして、若林瑞樹です  所属: 東京農⼯⼤学⼤学院修⼠⼀年 ⼯学府 知能情報システム⼯学専攻 研究室: 数理最適化がメイン.

    特に、組合せ最適化(離散最適化) 私の研究内容: 学部: 機械学習の損失関数, 現在: 組合せ最適化 私の趣味: プログラミング, 筋トレ, 友⼈の研究室の⽅々とのスマブラ(スイッチ)  他の⽅々の研究内容(⼀部): ダイナミックプライシング, 相乗りタクシー , チームスポーツにおける個⼈の能⼒の推定, 移動距離や体⼒負荷を考慮したスポーツスケ ジューリング最適化等...  ゼミでは進捗報告を全員で⾏う→ ⾃分の研究分野外の知識や⼿法も学んでいます
  3. 3  ‧数理最適化と調べると... 数理最適化は、問題の最適化を実現するための「最適解」を、問題の構造や数 学的な性質に基づいて発⾒するという「決定論的な⼿法」 ‧意思決定や、⼿法を求めるための技術であり、学習をして予測精度をあげるという分野ではない    ‧個々の問題設定ごとに、制約条件や⽬的関数は異なる ‧より良い解を学習していくことは困難      ‧

    その分野に対する知⾒や知識、最適化技術が必要 ‧数理最適化が使⽤される分野: 物流, 配送, スケジューリング ⽣産ライン, 機械学習のハイパーパラメータ等... 参考⽂ 献:https://www.brainpad.co.jp/doors/contents/about_mathematical_optimization/#%E3%80%8C%E6%95%B0%E7%90%86%E6%9C%80%E9%81%A9%E5%8C%96%E3%80%8D%E3%81%A8%E3%80%8CAI%E3%80%8 D%E3%80%8C%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%80%8D%E3%81%A8%E3%81%AE%E9%81%95%E3%81%84%E3%81%AF%EF%BC%9F 2. 数理最適化? 必要? AI?
  4. 5  ‧数理最適化における難しい問題: 計算量, 計算時間, 組合せ数が膨⼤であるため難しいという意味   ‧52都市の訪れるパターン→ 52! = 8.07* 10^67通り

    ‧現在の計算機をもってしても果てしない時間かかる   ‧よって、全通りは試すことはできない!   ‧しかし、研究者によって 数万都市レベルの最⼩距離ルートは算出     ‧右はスウェーデン24978都市の最適解   ‧数理最適化技術や、巡回セールスマン問題に対する知⾒や知識が深く関与 出典: https://www.math.uwaterloo.ca/tsp/sweden/tours/swtour_small.htm 3. 数理最適化が必要となる難しい問題とは
  5. 8  ‧構築法   ‧貪欲法: なんらかの基準に貪欲に従って解を構築   ‧ビームサーチ: 構築するごとに、解の評価を⾏って上位BEAM_WIDTH数だけを残していく ‧改善法: 近傍と呼ばれる解の変更ルールを設定して⾏う(⼩さな変更の範囲)   ‧近傍設定の例:     ‧insert(a,

    b )a都市の後ろにb都市を訪れる     ‧swap(a, b) a都市とb都市の訪れる順番を逆に     ‧swap(a,b,c) a,b,c都市の訪れる順番をc,b,aに     ‧変更範囲が⼤きければ良いというわけではない      ‧局所探索法: 近傍操作で、現在の解より良くなった→解の更新→その解に近傍操作          を繰り返していく   ‧焼きなまし法: 序盤: 現在の解より悪くなった解を⾼い確率で受け⼊れて更新 終盤: 現在の解より良い解のみを基本的に受け⼊れて更新         3. 数理最適化が必要となる難しい問題とは
  6. 11 ‧近傍設定の例:     ‧insert(a, b )a都市の後ろにb都市を訪れる     ‧swap(a, b) a都市とb都市の訪れる順番を逆に  ‧巡回セールスマン問題に対しては、上記のような近傍操作では より良い解を算出するのはかなり困難

     ‧swapやinsertをしてもそこまで良くなりそうにも思えない    ‧スケジューリング問題や⼀定の問題に対してはswap(...)がかなり有効な場合も  ‧巡回セールスマン問題に対しては有効ではない             4. より良い解へ辿り着くために...近傍設定の重要性
  7. 12 ‧巡回セールスマン問題における有効な近傍設定     ‧2-opt(a, b ): a->a1->,.... an -> bという順番を丸ごと逆順にする       ‧例:

    都市番号: 7->5->4->3->6>1->2->7 に対する2-opt(7,1)        →7->6->3->4->5->1->2->7となる ‧同様に3-optや4-optのように、範囲内の順番を丸ごと逆順という近傍操作が有効             4. より良い解へ辿り着くために...近傍設定の重要性
  8. 13 ‧改善法: 近傍と呼ばれる解の変更ルールを設定して⾏う(⼩さな変更の範囲)      ‧局所探索法: 近傍操作で、現在の解より良くなった→解の更新→その解に近傍操作          を繰り返していく   ‧焼きなまし法: 序盤:

    現在の解より悪くなった解を⾼い確率で受け⼊れて更新 終盤: 現在の解より良い解のみを基本的に受け⼊れて更新             そのほかにも様々な⼿法がありま↓    遺伝的アルゴリズム(GA), 粒⼦群最適化(PSO), アリコロニー最適化(ACO), タブーサーチ (TS), ⼈⼯⿂群アルゴリズム, ハーモニーサーチ, 差分進化, Emperor Penguin Algorithm,... ⾃然現象や⽣物の様⼦から着想を得た 新しい?アルゴリズムは多々ありますが...          4. より良い解へ辿り着くために...近傍設定の重要性