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

Local search and metaheuristics for combinatorial optimization problems

Local search and metaheuristics for combinatorial optimization problems

多くの組合せ最適化問題では厳密な最適解を効率良く求めることが困難なことが知られています.局所探索法はそのような問題に対する発見的解法の一つであり,局所探索法にさまざまなアイデアを加えて拡張したものをメタヒューリスティクスと位置付けることができます.本スライドでは,局所探索法とメタヒューリスティクスの基本的な概念と効率的なアルゴリズムを実現するためのアイデアを紹介します.

Shunji Umetani

June 30, 2022
Tweet

More Decks by Shunji Umetani

Other Decks in Research

Transcript

  1. 局所探索法とメタヒューリスティクス
    ⼤阪⼤学 ⼤学院情報科学研究科
    梅⾕ 俊治
    2022年6⽉30⽇

    View Slide

  2. 組合せ最適化問題とその応⽤事例
    • 組合せ最適化問題︓変数が整数値や{0,1}の2値のような離散的な値
    を取る最適化問題や,最適解を含む解の集合が順列やネットワークな
    ど組合せ的な構造を持つ最適化問題.
    2
    多くの現実問題が組合せ最適化問題に定式化できる

    View Slide

  3. 組合せ最適化問題の難しさ
    • NP困難問題︓厳密な最適解を求めるのに必要な計算時間が最悪で
    ⼊⼒サイズの指数関数になると多くの研究者が考えている問題*.
    • 都市をちょうど1回ずつ訪問する最短の巡回路を求める巡回セールス
    マン問題の解候補を列挙すると 通り.
    3
    Newsweek, July 26, 1954
    PCB3038
    D15112
    都市数 巡回路の総数 計算時間(秒)
    6 60 4.32×10-10
    8 2520 3.23×10-8
    10 1.81×105 3.63×10-6
    15 4.36×1010 1.96
    20 6.08×1016 4.87×106 約56⽇
    25 3.10×1023 3.88×1013 約122万年
    30 4.42×1030 7.96×1020 約25233億年
    100TFlopsのコンピュータを⽤いて
    巡回路を列挙したときの計算時間
    ⼤規模な巡回セールスマン問題を
    解く必要が⽣じることは少なくない
    全ての解を列挙することは現実的には不可能
    *多項式時間アルゴリズムが存在しないことの証明は⾮常に難しく数学の有名な未解決問題の⼀つです.

    View Slide

  4. 効率的に解ける組合せ最適化問題
    • 巡回セールスマン問題や整数計画問題など,多くの組合せ最適化
    問題はNP困難で効率的なアルゴリズムは期待できない.
    • 特徴的な構造を持つ⼀部の組合せ最適化問題には効率的なアルゴ
    リズムが存在する.
    4
    離散最適化問題
    (組合せ最適化問題)
    整数計画問題
    資源配分問題,最⼩全域⽊問題など 貪欲法
    ナップサック問題*,資源配分問題,
    最⼩費⽤弾性マッチング問題など
    動的計画法
    最⼤流問題,最⼩費⽤流問題,
    最⼤マッチング問題,割当問題など
    増加路法,負閉路消去法,最短路繰り返し法,
    (ハンガリー法)
    最短路問題
    ダイクストラ法,ベルマン・フォード法,
    フロイド・ウォーシャル法
    分枝限定法,切除平⾯法,(分枝カット法)
    ビンパッキング問題,最⼤カット問題,
    巡回セールスマン問題,頂点被覆問題,
    ナップサック問題など
    性能保証付き近似解法
    さまざまなNP困難問題
    発⾒的解法,局所探索法,メタヒューリスティクス,
    (分枝カット法)
    効率的なアルゴリズム
    が存在する
    *⼊⼒データの各要素(荷物の重さ および袋の容量 )が定数⻑の⽂字列で表現できるという仮定が必要.

    View Slide

  5. 計算困難な組合せ最適化問題
    • 厳密解法︓任意の⼊⼒データに対して最適解を1つ出⼒するアルゴリ
    ズム.ただし,多項式時間アルゴリズムではない.
    • 近似解法︓任意の⼊⼒データに対して最適値に対する近似性能を保
    証する実⾏可能解を1つ出⼒する多項式時間アルゴリズム.
    • 発⾒的解法︓最適値に対する近似性能が保証されていない実⾏可能
    解を1つ出⼒するアルゴリズム.
    5
    離散最適化問題
    (組合せ最適化問題)
    整数計画問題
    資源配分問題,最⼩全域⽊問題など 貪欲法
    ナップサック問題,資源配分問題,
    最⼩費⽤弾性マッチング問題など
    動的計画法
    最⼤流問題,最⼩費⽤流問題,
    最⼤マッチング問題,割当問題など
    増加路法,負閉路消去法,最短路繰り返し法,
    (ハンガリー法)
    最短路問題
    ダイクストラ法,ベルマン・フォード法,
    フロイド・ウォーシャル法
    分枝限定法,切除平⾯法,(分枝カット法)
    ビンパッキング問題,最⼤カット問題,
    巡回セールスマン問題,頂点被覆問題,
    ナップサック問題など
    性能保証付き近似解法
    さまざまなNP困難問題
    発⾒的解法,局所探索法,メタヒューリスティクス,
    (分枝カット法)
    効率的なアルゴリズム
    が期待できない

    View Slide

  6. 発⾒的解法
    • ヒューリスティクス(発⾒的解法)
    üもともとは発⾒的法則,経験則に基づく問題解決の⽅法を指
    す.それが転じて,最適化問題における最適性の保証のない
    アルゴリズムの総称として呼ばれる.
    • メタヒューリスティクス
    ü最適化問題に対する実⽤的なアルゴリズムを設計するための
    ⼀般的な枠組み(レシピ集),もしくはそのような考え⽅に
    従って設計された様々なアルゴリズムの総称として呼ばれる.
    ü貪欲法や局所探索法などの基本的な⼿法に様々な⼿法を組み
    合わせて,探索の集中化と多様化をバランス良く実現する.
    üアニーリング法,タブー探索法,遺伝的アルゴリズムを始め
    として多くの探索戦略が提案されている.
    6
    ⾃然現象にアナロジーを持つ⼿法が多いが,
    ⾃然現象を模倣すればアルゴリズムの性能が
    良くなるというわけではない.

    View Slide

  7. 局所探索法
    • 適当な初期解 から始めて,現在の解 の近傍 に改善解
    があれば移動する(近傍探索).
    • 勾配法では微分 を⽤いるが,局所探索法では差分
    を⽤いて探索⽅向を決定する*.
    • 0-1整数計画問題の近傍の例
    ü 1-flip近傍︓
    ü 2-flip近傍︓
    7
    初期解
    局所最適解
    近傍
    初期解の⽣成
    近傍解の⽣成と評価
    近傍内に改善解あり︖
    改善解に移動
    局所最適解
    yes
    no
    *局所探索法は少数の変数のみ変更するので勾配法よりは座標降下法に近いとも考えられる.

    View Slide

  8. 局所探索法
    • 組合せ最適化問題の構造に合わせた近傍が設計できる.
    • 巡回セールスマン問題では,巡回路の辺を 本⼊れ替える -opt近傍
    が良く知られる.
    • 解が順列で表される場合は挿⼊近傍や交換近傍が良く使われる.
    8
    AAADFnichVE7S8RAEJ7E1xlfpzaCTfBQrGSj54OrBBtLX6eC0SOJe+dyeSyb3MEZ7g/4BxSsFCzE/2AjolhpYeFPEEsFGwsnuYioqJPM7uy3881+u2Nym/kBIQ+S3NTc0tqWalc6Oru6e9K9fau+VxEWzVue7Yl10/CpzVyaD1hg03UuqOGYNl0zy3PR/lqVCp957kpQ43TTMUouKzLLCBAqpMu6SUvMDQ0hjFo9tERsdUXnLKeOqBr6OPoEehZ9En1K15Xo52wr1LlgDq1/pE5+S59SFZ2620n1QjpDxkhs6s9AS4IMJLbgpW9Ah23wwIIKOEDBhQBjGwzw8dsADQhwxDYhRExgxOJ9CnVQkFvBLIoZBqJlHEu42khQF9dRTT9mW3iKjS6QqcIwuSen5JlckzPySN5+rRXGNSItNZzNBpfyQs/ewPLrvywH5wB2Pll/ag6gCDOxVobaeYxEt7Aa/Oru/vNybmk4HCHH5An1H5EHcoE3cKsv1skiXTr8Q4+JWn5/sRCx4qdabKP2vWk/g9XxMQ3jxWxmNps0NAWDMASj2LVpmIV5WIA8nnIHrxJIknwgn8uX8lUjVZYSTj98Mfn2HeDquEE= AAADFnichVE7S8RAEJ7Ed3yd2gg2wUOxks15PrASbCx9nQpGjyTuncvlsWxyB2e4P+AfULBSsBD/g42IYqWFhT9BLBVsLJzkIr5QJ5nd2W/nm/12x+Q28wNC7iW5obGpuaW1TWnv6OzqTvX0rvheWVg0Z3m2J9ZMw6c2c2kuYIFN17ighmPadNUszUb7qxUqfOa5y0GV0w3HKLqswCwjQCifKukmLTI3NIQwqrXQErHVFJ2zaXVY1dAz6GPoWfRx9AldV6Kfs81Q54I5tPaeOv4pNaJNqIpO3a2kej6VJqMkNvVnoCVBGhKb91LXoMMWeGBBGRyg4EKAsQ0G+PitgwYEOGIbECImMGLxPoUaKMgtYxbFDAPREo5FXK0nqIvrqKYfsy08xUYXyFRhiNyRE/JErsgpeSCvv9YK4xqRlirOZp1Leb57t3/p5V+Wg3MA2x+sPzUHUICpWCtD7TxGoltYdX5lZ+9paXpxKBwmR+QR9R+Se3KON3Arz9bxAl08+EOPiVp+f7EQscKHWmyj9r1pP4OVzKiG8UI2PZNNGtoKAzAII9i1SZiBOZiHHJ5yCy8SSJK8L5/JF/JlPVWWEk4ffDH55g3g9rhB
    挿⼊近傍 交換近傍
    挿⼊ 交換
    2-opt近傍 3-opt近傍

    View Slide

  9. メタヒューリスティクスの戦略
    • 多くの最適化問題は近接最適性(良い解の近くに良い解がある)と
    多峰性(局所最適解が多数存在する)を持つ*.
    • 近似解法の基本戦略は貪欲法(構築法)と局所探索法(改善法).
    • 局所探索法を1回適⽤しただけでは精度の悪い局所最適解しか得
    られないので,探索の集中化と多様化を実現する⼿法を導⼊する.
    • 集中化︓過去の探索で得られた良い解に似通った構造を持つ解を
    集中的に探索する.
    • 多様化︓探索が狭い領域で停滞するのを避けるために,過去の探
    索で得られた解と異なる構造を持つ解を積極的に探索する.
    9
    解空間





    ⼤域最適解
    局所最適解
    *近接最適性はリプシッツ連続に近い性質と考えられる.

    View Slide

  10. メタヒューリスティクスの実現
    • メタヒューリスティクスが向いている場合
    ü厳密な最適解を求めるのが困難である
    効率的な解法が知られている or 問題規模が⼗分に⼩さい場合は向かない.
    ü解の評価が⾼速にできる
    評価関数がブラックボックスで評価にシミュレーションや実験を要する場
    合は向かない.
    ü近接最適性が成り⽴つ
    微⼩な変形で評価関数の値が⼤きく変わる場合は向かない.
    • メタヒューリスティクスの多くは局所探索法の⼀般化なので,まずは
    ⾼性能な局所探索法を設計することが重要.
    • 局所探索法では,探索空間,解の評価,近傍の定義,移動戦略などの
    各要素を注意深く設計することで⾼性能なアルゴリズムを実現できる.
    10

    View Slide

  11. 探索空間
    • 問題によっては実⾏可能領域とは異なる探索空間を定義する⽅が有効
    な場合も多い.
    • 探索空間の定義は⼤きく以下の3通りに分類できる.
    a. 実⾏可能解のみ探索する.
    b. 実⾏不可能解も含めて探索する →実⾏不可能解の評価が必要
    c. 解空間とは異なる探索空間を導⼊して,探索空間から解空間へ
    の写像を⽤いて探索する.
    11
    a. 実⾏可能解のみ探索 b. 実⾏不可能解も探索 c. 解空間と異なる探索空間を導⼊
    実⾏可能領域
    実⾏不可能領域
    実⾏可能領域
    探索空間
    解空間

    View Slide

  12. 実⾏不可能領域の探索
    • 実⾏可能解を1つ⾒つけることも⾮常に難しい問題も少なくない.
    • 制約条件を緩和して実⾏不可能解も探索空間に含める.
    • 各制約iに対する違反度に重みwi
    を掛けた値をペナルティとして⽬的関数に加
    える.
    • ペナルティ重みwi
    の設定は容易ではないので適応的に調整する.(実⾏可能領
    域の境界近辺を集中的に探索できると嬉しい)
    12
    実⾏不可能領域
    実⾏不可能領域 実⾏不可能領域









    ペナルティ重みが⼤きい ペナルティ重みが⼩さい ペナルティ重みがちょうど良い
    違反度
    ペナルティ重み

    View Slide

  13. 実⾏不可能領域の探索
    • 実⾏可能解を1つ⾒つけることも⾮常に難しい問題も少なくない.
    • 制約条件を緩和して実⾏不可能解も探索空間に含める.
    • 各制約iに対する違反度に重みwi
    を掛けた値をペナルティとして⽬的関数に加
    える.
    • ペナルティ重みwi
    の設定は容易ではないので適応的に調整する.(実⾏可能領
    域の境界近辺を集中的に探索できると嬉しい)
    13
    各制約式の重みパラメータ
    を適応的に増減しつつ探索
    違反度
    実⾏不可能領域
    実⾏可能領域
    有望な解が含まれる領域

    View Slide

  14. 解空間と異なる探索空間
    • ⻑⽅形詰込み問題の例
    ü BL法(Bottom-Left Algorithm)︓順列σの順にBL点に⻑⽅形を配置する.
    ü BL点︓配置可能な最も低い位置の中で最も左の位置.
    ü 順列σ全ての集合を探索空間として,対応する配置の⽬的関数でσを評価
    する.
    14
    1 2 3 4 5
    6
    7 8
    1 2 3
    4 5
    6
    7
    8
    s : 1 2 3 4 5 6 7 8 の場合
    1
    2
    3
    4
    5
    6
    7
    8
    s : 8 7 6 5 4 3 2 1 の場合
    1
    2
    3
    4
    5
    6
    7
    8

    View Slide

  15. 移動戦略
    • 近傍内に改善解は複数存在するので,近傍の探索順序や改善解の選択
    で局所探索法の振る舞いは⼤きく変わる.
    • 即時移動戦略
    ü 近傍内の解をランダムあるいは⼀定の順序で調べて,最初に⾒つかった
    改善解に移動する.
    • 最良移動戦略
    ü 近傍内の全ての解を調べた上で最良の改善解に移動する.
    • 適当な初期解から始めて局所最適解にたどり着くまでの時間は即時移
    動戦略の⽅が短い.
    • 即時移動戦略では,近傍内の解の探索順序が局所探索法の性能に影響
    をあたえるので,近傍内の探索に極端な偏りが⽣じないように実装す
    る必要がある.
    15

    View Slide

  16. 評価関数の計算の効率化
    • 近傍操作ではごく少数の変数のみ値が変化するため,現在の解xと近
    傍解 xʼ ∈NB(x) の間で値が変化した変数に関わる部分のみ再計算す
    れば,評価関数値の変化量 Δz(x) = z(xʼ) – z(x) を⾼速に計算でき
    る場合が多い.
    • 局所探索法では,近傍内の解を評価する回数に⽐べて,現在の解が移
    動する回数ははるかに少ないので,補助記憶の更新に多少時間がか
    かっても,全体では⼗分な⾼速化が実現できる.
    16
    評価関数の変化量 補助記憶 係数⾏列
    補助記憶を利⽤すれば
    定数時間で計算できる
    疎な⾏列だと効率良く
    補助記憶が更新できる
    本来は⽬的関数と制約条
    件の評価に⼊⼒サイズの
    計算量が必要
    A b
    c

    View Slide

  17. 隣接リストを⽤いた局所探索法の⾼速化
    • 巡回セールスマン問題の最適巡回路は近隣の都市間を繋ぐ辺を含む
    ことが多い.
    • 各都市に対して近隣にある都市を隣接リストに保持し,探索を隣接
    リストに含まれる辺のみを含む巡回路に制限する.
    • 平⾯上の巡回セールスマン問題であれば,k-d⽊などのデータ構造
    を⽤いて近隣にある都市を⾼速に検索できる.
    17
    1
    2
    3
    4 5
    6 7
    8
    9
    10
    11
    12
    13
    15
    16
    14
    領域分割を繰返して都市をクラスタに分割
    1,2,4,5 3,16,15,14 6,7,10,11 8,9,13,12
    cutdim=x
    cutval=x[14]
    cutdim=y
    cutval=y[2]
    cutdim=y
    cutval=y[6]
    ⽣成されたk-d⽊
    2,3,5,16

    View Slide

  18. メタヒューリスティクスの枠組み
    • 局所探索法を1回適⽤しただけでは精度の悪い局所最適解しか得られ
    ないので,探索の集中化と多様化を実現する⼿法を導⼊する.
    • 集中化︓過去の探索で得られた良い解に似通った構造を持つ解を集中
    的に探索する.
    • 多様化︓探索が狭い領域で停滞するのを避けるために,未探索の領域
    を強制的に探索する.
    18
    ① 複数の初期解に対して局所探索法を適⽤する.
    a. ランダムに初期解を⽣成する.
    b. 貪欲法を適⽤する.
    c. 過去の探索で得られた良い解に変形を加える.
    ② 改悪解への移動を許容して局所最適解から探索を再開する.
    ③ ⽬的関数 f と異なる評価関数を解の評価に⽤いて探索を制御する.

    View Slide

  19. ランダム多スタート局所探索法
    • ランダムに⽣成した複数の初期解から局所探索法を実⾏し,得られた
    解の中で最良のものを出⼒する.
    • 各試⾏が独⽴なため,局所探索法の適⽤回数を増やしてもより良い解
    が得られる効果は急速に⼩さくなる.
    • ランダム性を加えた貪欲法を⽤いて初期解を⽣成する⼿法は
    GRASP(Greedy Randomized Adaptive Search Procedure)と呼ぶ.
    19
    複数の初期解に
    局所探索法を適⽤
    解空間





    View Slide

  20. 反復局所探索法
    • 過去の探索で得られた良い解にランダムな変形を加えたものを初期
    解として局所探索法を適⽤する⼿続きを繰り返す.
    • 逆戻りを防ぐために,局所探索法とは異なる近傍操作を⽤いて解に
    変形を加えることが望ましい.
    • 変形時に⽤いる近傍の⼤きさを適応的に変化させる可変近傍探索法
    も知られる.
    20
    複数の初期解に局所探索法を適⽤
    過去の探索で得られた良い解に変形を加える
    解空間





    局所探索では2-opt近傍
    変形にdouble bridge近傍

    View Slide

  21. 遺伝的アルゴリズム
    • 複数の解を集団として保持することで探索の多様化を実現する.
    • 交叉や突然変異などの操作を適⽤して新たな解を⽣成し,選択により
    次世代の集団を決定する⼀連の⼿続きを繰り返し適⽤する.
    • より⾃由な枠組みに基づいて複数の解から新たな解を⽣成する散布局
    所探索法やパス再結合法などが知られる.
    21
    複数の初期解に局所探索法を適⽤
    過去の探索で得られた良い解に変形を加える
    集団
    新たな集団
    次世代の集団
    交叉 突然変異
    選択
    新しい個体を局所探索法で改
    善する⽅法は,遺伝的局所探
    索法もしくはミームアルゴリ
    ズムと呼ばれる.

    View Slide

  22. アニーリング法
    • 現在の解の近傍からランダムに選んだ解が改善解ならば移動し,改悪
    解ならば⽬的関数の値の変化量に応じた確率で移動することで,質の
    悪い局所最適解から脱出し,より良い解を探索する.
    • 物理現象の焼きなましにアイデアを借りて,温度と呼ばれるパラメー
    タ により改悪解に移動する確率を適応的に調整する.
    • 探索の開始時にはランダムな移動が⽣じ易いように温度を⾼めに設定
    し,探索が進むにつれて徐々に温度を低くする.
    22
    改悪解への移動を許容して局所探索法を再開
    解空間





    アニーリング法の解の移動確率

    View Slide

  23. タブー探索法
    • 現在の解を除く近傍内の最良解に移動する⼿続きを繰り返すことで局
    所最適解から脱出する.
    • 最近に探索した解に戻る巡回を防ぐために,タブーリストと呼ばれる
    移動を禁⽌する解の集合を⽤意し,現在の解とタブーリストTを除く
    近傍内の最良解に移動する.
    • 最近に探索した解そのものではなく,近傍操作により変化した変数
    (とその値の組)をタブーリストに記憶することが多い.
    23
    改悪解への移動を許容して局所探索法を再開
    探索の履歴に応じて探索⽅向を制御
    解空間





    T[1]={}
    T[2]={1}
    T[3]={1,2}
    T[4]={1,2,3}
    T[5]={2,3,4}
    T[6]={3,4,5}
    tenure=3
    tabu list
    t=1
    t=6

    View Slide

  24. 誘導局所探索法
    • ⽬的関数とは異なる評価関数を適応的に変化させつつ局所探索法を
    繰り返し適⽤する.
    • 直前の局所探索法で得られた局所最適解の構成要素の中でコストが
    ⼤きな要素にペナルティを加えて評価関数を更新することで,局所
    最適解から脱出する.
    • ⽬的関数に制約条件に対するペナルティ関数を加えた評価関数を⽤
    いて,制約条件のペナルティ重みの更新と局所探索法の適⽤を交互
    に適⽤する重み付け法も知られる.
    24
    ⽬的関数と異なる評価関数の下で局所探索法を実⾏
    探索の履歴に応じて評価関数を適応的に変形
    解空間










    解空間

    View Slide

  25. 参考⽂献
    • 柳浦睦憲,茨⽊俊秀,組合せ最適化―メタ戦略を中⼼として―,朝倉書店,
    2001.
    • 久保幹雄,J.P.ペドロソ,メタヒューリスティクスの数理,共⽴出版,
    2012.
    • 梅⾕俊治,メタヒューリスティクス事始め︓まずは局所探索法から,オペ
    レーションズ・
    リサーチ,58 (2013),689-694.
    • 今堀慎治,柳浦睦憲,概説メタヒューリスティクス,オペレーションズ・
    リサーチ,58(2013),695-702.
    • E.Aarts, K.Lenstra (eds.), Local Search in combinatorial
    optimization, Princeton University Press, 1997.
    • M.Gendreau, J.-Y.Potvin(eds.), Handbook of Metaheuristics (3rd ed.),
    Springer, 2019.
    25

    View Slide