SlideShare a Scribd company logo
東北⼤⼤学院 情報科学研究科 M1 鈴⽊貴⼤
ベンダーズの分解法
2つクラスが混合した最適化への処⽅箋
はじめに 2
• 本スライドは以下の2つの記事を⾃分なりに解釈し,
まとめたものです
1. 数理最適化・進化計算に関する雑記帳 | Benders分解法
2. NTTデータ数理システム 数理計画⽤語集 ベンダーズ分解法
• 上記の記事の裏にあるであろう“気持ち”の部分をできる限り
汲み取り,作成させて頂いたつもりです
• 何か(⾊んな意味で)まずい点がございましたらご指摘お願い
致します
ベンダーズの分解法 3
• 下のような構造を持つ最適化問題に対するアプローチの⼀つ
• 線形項の変数と⾮線形項の変数の間にクロスタームがない
• 問題を上位問題(⾮線形) と下位問題(線形) に分割し,
両者を解くことにより原問題の最適解を得る
ベンダーズの分解法 | 基本的な考え⽅ 4
• 出来るだけ線形計画問題を解きたい︕
ü⾮線形項に対し 𝒚 = #𝒚 のように 𝒚 を与えれば,取り敢えず
定数(ベクトル)になる
ü 𝒚 の値に対応する 𝒙∗は求まるが, 原問題の最適解か不明
ü上⼿い 𝒚 を与える必要がある
どうやって
定める?
ベンダーズの分解法 | アルゴリズムの流れ 5
上位問題
下位問題
解
#𝒚を得る
𝒙∗(#𝒚)を得る
⾃明
最適解かどうか不明
※(今は)実⾏可能かも不明
(今は)どんな問題を
解けば良いのか不明
ベンダーズの分解法 | 俯瞰図 6
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
ベンダーズの分解法 | 俯瞰図 7
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
ベンダーズの分解法 | 下位問題と双対問題 8
双対
下
位
問
題
双
対
問
題
ベンダーズの分解法 | 書き⽅のお約束 9
• 𝒙(𝒚) のように 𝒚 の関数(っぽく)表記
• 最適解のみ 𝝀∗(𝒚) のように表記
• 探索空間を 𝑿 と表記
• 探索空間を 𝚲 と表記
• 探索空間を 𝑿(𝒚) のように表記
• 探索空間を 𝚲 𝒚 のように表記しない
「っぽく」と濁しているのは、𝒚 の値によっては戻り値が複数の場合や無いことを危惧しているためです。
ベンダーズの分解法 | 双対定理 10
弱双対定理
下位問題とその双対問題の実⾏可能解について以下が成⽴
強双対定理
下位問題とその双対問題の最適解について以下が成⽴
𝒄 𝑻
𝒙 の最⼩値は (𝒃 − 𝒈(𝒚)) 𝑻
𝝀 の最⼤値で置き換え可能
ベンダーズの分解法 | 俯瞰図 11
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
12ベンダーズの分解法 | これ以降の仮定 12
• どのような 𝒚 を下位問題に渡しても, 𝑿 𝒚 ≠ ∅
→ 𝒚 の値によって実⾏不能の場合を考えるのは煩雑なので
→ [下の仮定と合わせて] 𝒄" 𝒙∗(𝒚) が定まって欲しいため
• 𝚲 = 𝝀 𝑨" 𝝀 ≤ 𝒄 ∧ 𝝀 ≥ 𝟎}について, 𝚲 ≠ ∅
→ (𝒃 − 𝒈(𝒚)) 𝑻 𝝀∗(𝒚) が定まって欲しいため
これらの仮定をおくと...
下位問題とその双対問題について, 常に強双対定理が適⽤可能
ベンダーズの分解法 | 上位問題の導出① 13
• 仮定から,(𝒙∗ 𝒚 , 𝒚) は原問題の実⾏可能解
→ ∀𝒚 . 𝒙∗ 𝒚 ∈ 𝑿 𝒚 であるから常に制約は満⾜される
• 原問題の⽬的関数に (𝒙∗ 𝒚 , 𝒚) を渡すと,𝒄" 𝒙∗ 𝒚 + 𝑓(𝒚)
→ この値を最⼩にする 𝒚 が原問題の ( 𝒚についての) 最適解︕
原問題 上位問題(候補)
(𝒙∗ 𝒚 , 𝒚)
ベンダーズの分解法 | 上位問題の導出② 14
𝒙∗ 𝒚 はあくまで「探す」値
強双対定理を⽤いて探索空間が
𝒚に依存しない等価な問題へ
上位問題
ベンダーズの分解法 | 振り返り 15
• 上位問題を解けば,原問題の最適解の組(𝒙∗, 𝒚∗)の𝒚∗が得られる
• 𝒚∗を渡して下位問題を解けば,𝒙∗が得られる
• 理論的には,ここまでで最適解を得ることが可能
現実的には︖
• 上位問題は上⼿く解けるのか︖という懸念
→下のように,⾮線形計画問題なので…..
ベンダーズの分解法 | 俯瞰図 16
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
ベンダーズの分解法 | 上位問題の書き換え 17
ちなみに、これらが本当に等価なのかどうか⻑いこと悩まされました。。。
• 以下のように上位問題を等価な形で書き換える
• 本当に等価なのか︖
• 𝛾 = max (𝒃 − 𝒈(𝒚)) 𝑻 𝝀 のとき,明らかに等価
→ 制約は任意の 𝝀 に対してなので,𝛾は左辺の最⼤値以上
→ 最⼩化の⽂脈では,𝛾 は出来る限り⼩さくしたいので,
最適解において必ず等価になる (実⾏可能解は必ずしも等価ではない︖)
ベンダーズの分解法 | 俯瞰図 18
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
ベンダーズの分解法 | 緩和問題 19
• Λ は⼀般に無限集合であり,全ての要素に対して制約が
満たされているかどうかを調べることは困難
→ 有限部分集合 𝜦 𝟎 を考え,最適解が求まるまで拡⼤していく
緩和
Λ
Λ(
ベンダーズの分解法 | 俯瞰図 20
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
ベンダーズの分解法 | 上位問題’の反復解法 21
1. 𝛬( ⊆ 𝛬 を適切に定め,𝑛 ← 0 とする
2. 𝛬) のもとで緩和問題を解き, (𝛾)
∗, 𝒚)
∗ ) を得る
3. 𝛬 のもとで 𝒚)
∗ をパラメタとして双対問題を解き,
𝝀 𝒏
∗ (𝒚)
∗ ) を得る
4. (𝛾)
∗, 𝒚)
∗ , 𝝀 𝒏
∗ (𝒚)
∗ )) を上位問題ʻの制約に代⼊する
5. 満たされれば, 𝒚)
∗ は最適解. アルゴリズム終了
6. 満たされなければ, 満たされるように探索空間を拡張する.
𝛬)+, ← 𝛬) ∪ 𝝀 𝒏
∗ 𝒚)
∗ , 𝑛 ← 𝑛 + 1 とし,2へ戻る.
ベンダーズの分解法 | 反復解法のイメージ 22
𝛬! ,𝑛 ← 0
𝒚"
∗
𝛾"
∗
𝒚"
∗ , 𝝀 𝒏
∗ (𝒚"
∗ )
𝛬"$% ← 𝛬" ∪ 𝝀 𝒏
∗ 𝒚"
∗
𝑛 ← 𝑛 + 1
𝒚"
∗
制約成⽴
制約不成⽴
緩和問題
双対問題 上位問題ʻ
ベンダーズの分解法 | 俯瞰図 23
下位問題上位問題
双対問題
原問題
上位問題ʼ
緩和問題
終

More Related Content

What's hot

指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー
KLab Inc. / Tech
 
劣微分
劣微分劣微分
劣微分
ShintaUrakami
 
EMアルゴリズム
EMアルゴリズムEMアルゴリズム
EMアルゴリズム
moritama1515
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
akira_11
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
Kosei ABE
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
Nagi Teramo
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
 
Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
Kohta Ishikawa
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
京都大学大学院情報学研究科数理工学専攻
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
Kei Nakagawa
 
指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端Yoichi Iwata
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
Deep Learning JP
 
2値分類・多クラス分類
2値分類・多クラス分類2値分類・多クラス分類
2値分類・多クラス分類
t dev
 
Chapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころChapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころ
itoyan110
 
Faster matroid intersection
Faster matroid intersectionFaster matroid intersection
Faster matroid intersection
ga sin
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節
Hakky St
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
matsuolab
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらい
Hideo Terada
 

What's hot (20)

指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー多目的強凸最適化のパレート集合のトポロジー
多目的強凸最適化のパレート集合のトポロジー
 
劣微分
劣微分劣微分
劣微分
 
EMアルゴリズム
EMアルゴリズムEMアルゴリズム
EMアルゴリズム
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
 
指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端指数時間アルゴリズムの最先端
指数時間アルゴリズムの最先端
 
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
[DL輪読会]QUASI-RECURRENT NEURAL NETWORKS
 
2値分類・多クラス分類
2値分類・多クラス分類2値分類・多クラス分類
2値分類・多クラス分類
 
Chapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころChapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころ
 
Faster matroid intersection
Faster matroid intersectionFaster matroid intersection
Faster matroid intersection
 
Jokyokai
JokyokaiJokyokai
Jokyokai
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節
 
PRML輪読#1
PRML輪読#1PRML輪読#1
PRML輪読#1
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらい
 

ベンダーズの分解法

  • 1. 東北⼤⼤学院 情報科学研究科 M1 鈴⽊貴⼤ ベンダーズの分解法 2つクラスが混合した最適化への処⽅箋
  • 2. はじめに 2 • 本スライドは以下の2つの記事を⾃分なりに解釈し, まとめたものです 1. 数理最適化・進化計算に関する雑記帳 | Benders分解法 2. NTTデータ数理システム 数理計画⽤語集 ベンダーズ分解法 • 上記の記事の裏にあるであろう“気持ち”の部分をできる限り 汲み取り,作成させて頂いたつもりです • 何か(⾊んな意味で)まずい点がございましたらご指摘お願い 致します
  • 3. ベンダーズの分解法 3 • 下のような構造を持つ最適化問題に対するアプローチの⼀つ • 線形項の変数と⾮線形項の変数の間にクロスタームがない • 問題を上位問題(⾮線形) と下位問題(線形) に分割し, 両者を解くことにより原問題の最適解を得る
  • 4. ベンダーズの分解法 | 基本的な考え⽅ 4 • 出来るだけ線形計画問題を解きたい︕ ü⾮線形項に対し 𝒚 = #𝒚 のように 𝒚 を与えれば,取り敢えず 定数(ベクトル)になる ü 𝒚 の値に対応する 𝒙∗は求まるが, 原問題の最適解か不明 ü上⼿い 𝒚 を与える必要がある どうやって 定める?
  • 5. ベンダーズの分解法 | アルゴリズムの流れ 5 上位問題 下位問題 解 #𝒚を得る 𝒙∗(#𝒚)を得る ⾃明 最適解かどうか不明 ※(今は)実⾏可能かも不明 (今は)どんな問題を 解けば良いのか不明
  • 6. ベンダーズの分解法 | 俯瞰図 6 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 7. ベンダーズの分解法 | 俯瞰図 7 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 8. ベンダーズの分解法 | 下位問題と双対問題 8 双対 下 位 問 題 双 対 問 題
  • 9. ベンダーズの分解法 | 書き⽅のお約束 9 • 𝒙(𝒚) のように 𝒚 の関数(っぽく)表記 • 最適解のみ 𝝀∗(𝒚) のように表記 • 探索空間を 𝑿 と表記 • 探索空間を 𝚲 と表記 • 探索空間を 𝑿(𝒚) のように表記 • 探索空間を 𝚲 𝒚 のように表記しない 「っぽく」と濁しているのは、𝒚 の値によっては戻り値が複数の場合や無いことを危惧しているためです。
  • 10. ベンダーズの分解法 | 双対定理 10 弱双対定理 下位問題とその双対問題の実⾏可能解について以下が成⽴ 強双対定理 下位問題とその双対問題の最適解について以下が成⽴ 𝒄 𝑻 𝒙 の最⼩値は (𝒃 − 𝒈(𝒚)) 𝑻 𝝀 の最⼤値で置き換え可能
  • 11. ベンダーズの分解法 | 俯瞰図 11 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 12. 12ベンダーズの分解法 | これ以降の仮定 12 • どのような 𝒚 を下位問題に渡しても, 𝑿 𝒚 ≠ ∅ → 𝒚 の値によって実⾏不能の場合を考えるのは煩雑なので → [下の仮定と合わせて] 𝒄" 𝒙∗(𝒚) が定まって欲しいため • 𝚲 = 𝝀 𝑨" 𝝀 ≤ 𝒄 ∧ 𝝀 ≥ 𝟎}について, 𝚲 ≠ ∅ → (𝒃 − 𝒈(𝒚)) 𝑻 𝝀∗(𝒚) が定まって欲しいため これらの仮定をおくと... 下位問題とその双対問題について, 常に強双対定理が適⽤可能
  • 13. ベンダーズの分解法 | 上位問題の導出① 13 • 仮定から,(𝒙∗ 𝒚 , 𝒚) は原問題の実⾏可能解 → ∀𝒚 . 𝒙∗ 𝒚 ∈ 𝑿 𝒚 であるから常に制約は満⾜される • 原問題の⽬的関数に (𝒙∗ 𝒚 , 𝒚) を渡すと,𝒄" 𝒙∗ 𝒚 + 𝑓(𝒚) → この値を最⼩にする 𝒚 が原問題の ( 𝒚についての) 最適解︕ 原問題 上位問題(候補) (𝒙∗ 𝒚 , 𝒚)
  • 14. ベンダーズの分解法 | 上位問題の導出② 14 𝒙∗ 𝒚 はあくまで「探す」値 強双対定理を⽤いて探索空間が 𝒚に依存しない等価な問題へ 上位問題
  • 15. ベンダーズの分解法 | 振り返り 15 • 上位問題を解けば,原問題の最適解の組(𝒙∗, 𝒚∗)の𝒚∗が得られる • 𝒚∗を渡して下位問題を解けば,𝒙∗が得られる • 理論的には,ここまでで最適解を得ることが可能 現実的には︖ • 上位問題は上⼿く解けるのか︖という懸念 →下のように,⾮線形計画問題なので…..
  • 16. ベンダーズの分解法 | 俯瞰図 16 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 17. ベンダーズの分解法 | 上位問題の書き換え 17 ちなみに、これらが本当に等価なのかどうか⻑いこと悩まされました。。。 • 以下のように上位問題を等価な形で書き換える • 本当に等価なのか︖ • 𝛾 = max (𝒃 − 𝒈(𝒚)) 𝑻 𝝀 のとき,明らかに等価 → 制約は任意の 𝝀 に対してなので,𝛾は左辺の最⼤値以上 → 最⼩化の⽂脈では,𝛾 は出来る限り⼩さくしたいので, 最適解において必ず等価になる (実⾏可能解は必ずしも等価ではない︖)
  • 18. ベンダーズの分解法 | 俯瞰図 18 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 19. ベンダーズの分解法 | 緩和問題 19 • Λ は⼀般に無限集合であり,全ての要素に対して制約が 満たされているかどうかを調べることは困難 → 有限部分集合 𝜦 𝟎 を考え,最適解が求まるまで拡⼤していく 緩和 Λ Λ(
  • 20. ベンダーズの分解法 | 俯瞰図 20 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 21. ベンダーズの分解法 | 上位問題’の反復解法 21 1. 𝛬( ⊆ 𝛬 を適切に定め,𝑛 ← 0 とする 2. 𝛬) のもとで緩和問題を解き, (𝛾) ∗, 𝒚) ∗ ) を得る 3. 𝛬 のもとで 𝒚) ∗ をパラメタとして双対問題を解き, 𝝀 𝒏 ∗ (𝒚) ∗ ) を得る 4. (𝛾) ∗, 𝒚) ∗ , 𝝀 𝒏 ∗ (𝒚) ∗ )) を上位問題ʻの制約に代⼊する 5. 満たされれば, 𝒚) ∗ は最適解. アルゴリズム終了 6. 満たされなければ, 満たされるように探索空間を拡張する. 𝛬)+, ← 𝛬) ∪ 𝝀 𝒏 ∗ 𝒚) ∗ , 𝑛 ← 𝑛 + 1 とし,2へ戻る.
  • 22. ベンダーズの分解法 | 反復解法のイメージ 22 𝛬! ,𝑛 ← 0 𝒚" ∗ 𝛾" ∗ 𝒚" ∗ , 𝝀 𝒏 ∗ (𝒚" ∗ ) 𝛬"$% ← 𝛬" ∪ 𝝀 𝒏 ∗ 𝒚" ∗ 𝑛 ← 𝑛 + 1 𝒚" ∗ 制約成⽴ 制約不成⽴ 緩和問題 双対問題 上位問題ʻ
  • 23. ベンダーズの分解法 | 俯瞰図 23 下位問題上位問題 双対問題 原問題 上位問題ʼ 緩和問題
  • 24.