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

Approximation algorithms for combinatorial opti...

Shunji Umetani
February 08, 2021

Approximation algorithms for combinatorial optimization problems

整数計画問題を含むNP困難な組合せ最適化問題では,任意の問題例に対して少ない計算手間で最適解を求める効率的なアルゴリズムを開発することは非常に困難です.一方で,与えられた計算時間内に最適解を求められなくても,質の高い実行可能解が求まれば十分に満足できる事例も多いです.任意の問題例に対して近似性能の保証を持つ実行可能解を1つ出力するアルゴリズムを近似解法と呼びます.今回は,いくつかの問題を通じてNP困難な組合せ最適化問題に対する近似解法を設計するための基本的な手法を説明します.

Shunji Umetani

February 08, 2021
Tweet

More Decks by Shunji Umetani

Other Decks in Research

Transcript

  1. 組合せ最適化問題の難しさ • 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のコンピュータを⽤いて 巡回路を列挙したときの計算時間 ⼤規模な巡回セールスマン問題を 解く必要が⽣じることは少なくない 組合せ最適化問題の全ての解を列挙することは⾮常に困難
  2. 計算困難な組合せ最適化問題 • 厳密解法︓任意の⼊⼒データに対して最適解を1つ出⼒するアルゴリ ズム. • 近似解法︓任意の⼊⼒データに対して最適値に対する近似性能を保 証する実⾏可能解を1つ出⼒するアルゴリズム. • 発⾒的解法︓最適値に対する近似性能が保証されていない実⾏可能 解を1つ出⼒するアルゴリズム.

    4 離散最適化問題 (組合せ最適化問題) 整数計画問題 資源配分問題,最⼩全域⽊問題など 貪欲法 ナップサック問題,資源配分問題, 最⼩費⽤弾性マッチング問題など 動的計画法 最⼤流問題,最⼩費⽤流問題, 最⼤マッチング問題,割当問題など 増加路法,負閉路消去法,最短路繰り返し法, (ハンガリー法) 最短路問題 ダイクストラ法,ベルマン・フォード法, フロイド・ウォーシャル法 分枝限定法,切除平⾯法,(分枝カット法) ビンパッキング問題,最⼤カット問題, 巡回セールスマン問題,頂点被覆問題, ナップサック問題など 性能保証付き近似解法 さまざまなNP困難問題 発⾒的解法,局所探索法,メタヒューリスティクス, (分枝カット法) 効率的なアルゴリズム が期待できない
  3. 整数計画問題を解く • 計算困難な最適化問題では最適値が簡単に求まらない. • 最適値の上界と下界を求めて最適値の取り得る範囲を限定する. • 緩和問題︓原問題の⼀部の制約条件を緩めた問題 ü 整数変数の整数条件を外す →

    線形計画緩和計画問題 5 最 ⼩ 化 最適値 上界 下界 実⾏不可能 実⾏可能 整数計画問題 線形計画緩和問題 ⽬的関数値 線形計画緩和問題の実⾏可能領域 整数計画問題の実⾏可能領域
  4. 性能保証付き近似解法 • 同時に緩和問題を解いて下界も求めるアルゴリズムを設計できれば, 任意の⼊⼒データに対して性能を保証できる場合もある. • 最⼩化問題 の⼊⼒データ の最適値を ,アルゴリズ ム

    を適⽤して得られた解の⽬的関数の値を とする. • 近似⽐率︓最⼩化問題 の任意の⼊⼒データ に対して, が成り⽴つとき,アルゴリズム は近似⽐率 を持つと呼ぶ. • NP困難問題は以下の3つのクラスに分類できる. ü どんなに⼩さな正定数 に対しても -近似解法が存在する. ü ある正定数 に対して -近似解法は存在するが, に下限がある. ü 定数近似解法が存在しない*. 6 *正確には,定数近似アルゴリズムが存在すればNP完全問題が多項式時間で解けてしまう.
  5. ナップサック問題 • 最⼤で の重さまで荷物を詰め込める袋が1つと 個の荷物 が与えられる.重さの合計が を超えない範囲で荷物の価値の合 計が最⼤となる詰込み⽅は︖ 7 袋に詰め込める重さ合計の上限(定数)

    荷物iの重さ(定数) 荷物iの価値(定数) 荷物iを袋に詰め込む→ , つめ込まない→ (変数) c : wi : pi : xi : max n X i=1 pi xi s.t. n X i=1 wi xi  c, xi 2 {0, 1}, i = 1, ... , n.
  6. ナップサック問題に対する貪欲法 • 下記の2通りの解の⽬的関数の値が良い⽅を とする. ü LP緩和解から 番⽬の荷物を除いて得られる解 → 貪欲法 ü

    最も価値の⾼い荷物を1つだけ詰めて得られる解* • LP緩和解の最適値を とすると 9 以上より *袋に空きがあれば他の荷物を追加で詰め込んでも構わない.
  7. ビンパッキング問題 • ⼗分な数の箱と 個の荷物が与えられる.箱に詰め込める荷物の 重さ合計の上限を ,各荷物 の重さを とする. • 使⽤する箱の数が最⼩となる荷物の詰込みを求めたい.

    10 箱に詰め込める荷物の重さ合計の上限 (定数) 荷物 の重さ (定数) 箱 を使う→ , 使わない→ (変数) 荷物 を箱 に詰め込む→ , 詰め込まない→ (変数)
  8. ビンパッキング問題に対する近似解法 • NF法(next-fit algorithm) → 2-近似解法 ü 荷物を の順に箱に詰める.荷物 を詰めると箱に詰め込める

    荷物の重さ合計の上限 を超すならば,その箱を閉じて新たに⽤意 した箱に荷物 を詰め込む. • FF法(first-fit algorithm) → 2-近似解法* ü 荷物を の順に箱に詰める.荷物 を詰め込むことができる最 ⼩の添字の箱に詰め込む.荷物 をどの箱に詰め込んでも箱に詰め込 める荷物の重さ合計の上限 を超すならば,新たに⽤意した箱に荷 物 を詰め込む. • FFD法(first-fit decreasing algorithm) → 3/2-近似解法* ü あらかじめ荷物を重さの降順に整列してからFF法を適⽤する. 11 *詳細な解析によりFF法は近似⽐率7/4を持つことが知られている. FF法,FFD法についてはさらに詳細な解析の結果が知られている.
  9. ビンパッキング問題に対するNF法 NF法はビンパッキング問題に対する2-近似解法である. • 箱 に詰め込まれた荷物の重さ合計を とする. • NF法により求められる実⾏可能解では,隣り合う箱 と にお

    いて常に が成り⽴つ. • これを について加えると以下の式が成り⽴つ. • に注意すると以下の式が導ける. • この式を変形すると が得られる. 12
  10. 最⼤カット問題 • 無向グラフ と各辺 の重み が与えられる. • ある頂点集合 のカット に含まれる辺の重みの合計

    をカット の重みと呼ぶ. • カット重み が最⼤となる頂点集合 を求めたい. 14 最⼩カット 最⼤カット
  11. 最⼤カット問題に対する貪欲法 • もう1つ頂点集合 を⽤意する. • 頂点 を頂点集合 と に加えた際のカット重みの増加量の⼤き い⽅に加える.

    • 各辺 は貪欲法で各頂点 を頂点集合に加える際にちょ うど1回だけ評価されるので,カット重みの増加量の合計は全て の辺の重み合計 の1/2以上となる. 15
  12. 最⼤カット問題に対する局所探索法 • 任意の頂点集合 から始めて,カット重みが増加するなら頂点 を 頂点集合 から取り除く,頂点 を頂点集合 に加える⼿続きを繰 り返す.

    • 頂点 を頂点集合 から取り除いたときのカット重みの変化は • 局所探索法が終了した時点で,各頂点 は以下の式を満たし,カッ ト重みの合計は全ての辺の重み合計 の1/2以上となる. 16 *残念ながら,局所探索法は多項式時間アルゴリズムではない.
  13. 巡回セールスマン問題 • 都市の集合 と2都市 の距離 が与えられる. • 全ての都市をちょうど1回ずつ訪問した後に出発した都市に戻る 路を巡回路と呼ぶ. •

    距離が最⼩となる巡回路を求めたい. 17 2都市 の距離 (定数) 都市 の次に都市 を訪問する→ , 訪問しない→ (変数)
  14. 巡回セールスマン問題の近似困難性 • ⼀般の巡回セールスマン問題において「最適巡回路の 倍以下の巡 回路が存在するか︖」という問題はNP完全問題である. • 巡回セールスマン問題に対する -近似アルゴリズム が存在すると, アルゴリズム

    を⽤いてハミルトン閉路問題が解けてしまう︕ 18 ハミルトン閉路 問題の⼊⼒ 巡回セールスマン 問題の⼊⼒ ハミルトン閉路問題を 巡回セールスマン問題に 変換するアルゴリズム 巡回セールスマン問題の -近似アルゴリズム ハミルトン閉路問題を 解くアルゴリズム Yes / No
  15. 巡回セールスマン問題の近似困難性 • ハミルトン閉路問題を巡回セールスマン問題に変換する ü ハミルトン閉路が存在する ⇔ 最適解の巡回路⻑ ü ハミルトン閉路が存在しない ⇔

    最適解の巡回路⻑ どの巡回路も距離 の枝を少なくとも1本通るので,最適解の巡回路⻑ は となる. • ここで, -近似アルゴリズムを適⽤すると… ü ならば → より ü ならば → 巡回路の枝の距離は全て1なので 19 ハミルトン閉路問題 巡回セールスマン問題 がグラフの枝 otherwise 都市 間の距離
  16. 巡回セールスマン問題に対する⽊⼆重化法 • 貪欲法を⽤いて最⼩全域⽊を求める(クラスカル法,プリム法など). • 最⼩全域⽊に沿って全ての都市を巡回する*. • ⼀度訪れた都市は⾶ばして全ての都市を⼀度だけ訪問するように巡回 路を繋ぎ替える. 20 最⼩全域⽊

    最適巡回路 最⼩全域⽊に沿って 全ての都市を訪問 出⼒された巡回路 各都市を⼀度ずつ 訪問するように修正 MST(I) OPT(I) 2MST(I) A(I) < 2MST(I) < 2OPT(I) A(I) *同じ都市を複数回訪れても構わないので正確には巡回路ではない.
  17. 巡回セールスマン問題に対する最近追加法 • 部分巡回路 に都市を1つずつ追加する操作を繰り返す. • 部分巡回路 からの距離 が最⼩となる都市iを選ぶ. • 都市jと隣接する都市kの間の辺

    を繋ぎ替えて巡回路を更新する. • 部分巡回路 の距離は最⼩全域⽊に対する2倍以下となる. 21 部分巡回路T 枝 もしくは 枝 を繋ぎ替える 最近挿⼊法 が最⼩となる都市 の間に 都市 を挿⼊するように辺を繋ぎ替える.
  18. 頂点被覆問題 • 無向グラフ と各頂点 の重み が与えられる. • 辺 が頂点集合 に含まれる少なくとも1つの頂点

    に接続するとき,頂点集合 を頂点被覆と呼ぶ. • 頂点の重みの合計 が最⼩となる頂点被覆 を求めたい. 23 頂点 の重み (定数) 頂点 が集合 に含まれる→ , 含まれない→ (変数) 最⼩の頂点被覆 最⼩ではない頂点被覆
  19. 頂点被覆問題に対する貪欲法 • 各反復において頂点集合 に被覆されている辺集合を とする. • まだ選択されていない頂点 の費⽤効果を とする. •

    費⽤効果が最⼩となる頂点を全ての辺が被覆されるまで繰り返す. 頂点被覆問題に対する貪欲法は -近似解法である. • 頂点 により新たに被覆された辺 の価格を と定義すると貪欲法の解の⽬的関数値は と表せる. • ある反復において辺 が新たに被覆される直前では,最適解に含 まれ貪欲法に選ばれていない頂点集合 より,辺 を含む 被覆されていない 本の辺を⾼々 の重みで被 覆できるため,まだ選択されていない頂点の中に 以下の費⽤効果を持つ頂点が存在する. 24 * は調和級数と呼ぶ.
  20. ナップサック問題に対する動的計画法 • 最適値の上界 が極端に⼤きい場合は,動的計画法の計 算⼿間が増⼤して実⽤的ではなくなる. • 各荷物の価値 の価値 を定数 で割り整数値に切り

    下げた価値 に変更した問題例に動的計画法を適⽤する. • より が成り⽴つ.よって,任意の実⾏ 可能解 に対して以下の式が成り⽴つ. • 動的計画法で求めた解を とすると以下の式が成り⽴つ. 32
  21. 参考⽂献 • V.V.Vazirani, Approximation Algorithms, Springer, 2001. (浅野 孝夫 (訳),

    近似アルゴリズム, 丸善出版, 2012.) • D.P.Williamson, D.B.Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2011. (浅野孝夫 (訳), 近似アルゴリズムデザイン, 共⽴出版, 2015.) • 浅野孝夫, 近似アルゴリズム︓離散最適化問題への効果的アプロー チ, 共⽴出版, 2019. • B.Korte, J.Vygen, Combinatorial Optimization: Theory and Algorithms (5th ed), Springer, 2012. (浅野孝夫, 浅野泰仁, ⼩野 孝男, 平⽥富夫 (訳), 組合せ最適化︓理論とアルゴリズム (2版), 丸 善出版, 2012.) 33