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

数理最適化と機械学習の 融合アプローチ -分類と新しい枠組みと応用-

MIKIO KUBO
September 18, 2023

数理最適化と機械学習の 融合アプローチ -分類と新しい枠組みと応用-

MIKIO KUBO

September 18, 2023
Tweet

More Decks by MIKIO KUBO

Other Decks in Research

Transcript

  1. なぜMOAIか? • 実際問題 (NP-hard, Dynamic, Stochastic) をAIで解くという宣伝が多い • その中⾝は,機械学習で予測してから(数理)最適化がほとんど •

    失敗事例も多々ある(なぜ?) ü 機械学習の知識のなさ(e.g., 確率を予測するのに多項式回帰, overfit) ü (数理)最適化の知識のなさ(e.g., Big M, 数値誤差, … ) • ここ数年で融合の研究が進んでいる • たくさんの⼿法が提案されているが,どれを使うべきか分からない • 論⽂は我⽥引⽔の実験が多く,本当に実務に使えるのかは不明 => ⼿法の整理,サーベイ and/or 本の執筆 => 実際問題の収集と解決
  2. 略語と分類 • MO:数理最適化 (Mathematical Optimization) • O:より広い最適化(Optimization) • ML: 機械学習(Machine

    Learning) • RL:強化学習(Reinforcement Learning) = O + ML • MPC:モデル予測制御 (Model Predictive Control) = O + ML MOとRLの融合 Þ 6つのパターンに分類 1. ML -> MO (ML-first MO-second: ML先 MO後) 2. MO -> ML (MO-first ML-second: MO先 ML後) 3. MO ⊃ ML (ML assists MO, ML4MO: 機械学習が最適化をアシスト) 4. ML ⊃ MO(MO assists ML, MO4ML: 最適化が機械学習をアシスト) 5. 最適化の基礎理論で相互乗り⼊れ 6. RL/MPC中⼼の融合型(ML & MO assists RL/MPC)
  3. パターンの概念図 ML MO ML -> MO (ML-first MO-second: ML先 MO後)

    MO -> ML (MO-first ML-second: MO先 ML後) ML MO MO ⊃ ML (ML assists MO, ML4MO) ML ⊃ MO(MO assists ML,MO4ML) 最適化の基礎理論で相互乗り⼊れ RL/MPC中⼼の融合型 MO ML MO ML ML MO ML MO RL/MPC
  4. パターン1 ML → MO • ML をした後で MO を適⽤する •

    最も古典的で⾃然な(予測をしてから最適化)アプローチ • MLで予測し関数近似 => 近似した制約や⽬的関数をMOで解く ü MLの予測モデルをそのままMOに数式として埋め込む(Gurobi 10.0+) ü MLの予測モデルを現実的な仮定でMOで解きやすい関数として近似 • MLで前処理(e.g., クラスタリング) → MO • 注:データから始まらないものは,パターン3(ML4MO) ML MO データ 解
  5. MLで予測し関数近似 => (M)Oで解く • たくさんのML⼿法 × たくさんの最適化⼿法 = たくさんある •

    限定されたML -> ⾮線形ソルバー・混合整数最適化ソルバー • 任意のML -> オラクルを⽤いたブラックボックス最適化 • 任意のML -> 解きやすい関数に近似 -> 最適化ソルバー • MLでシナリオ⽣成 -> 確率的最適化 ML (M)O データ 解
  6. 限定されたML -> MO: Gurobi ML • https://github.com/Gurobi/gurobi-machinelearning • 線形回帰 •

    多項式回帰(2次) • ロジスティック回帰(⾮線形関数を区分的線形関数で近似) • ニューラルネット(完全結合層でLeLUのみ) • 決定⽊ • 勾配ブースティング • ランダム森 ML y x 特徴ベクトル(変数 or 定数) 予測制約 ターゲット min f(x,y) s.t. x => ML => y x ∈X
  7. ML -> 解きやすい関数に近似 -> ソルバー • 任意のMLモデルでたくさんの教師データを⽣成 • 解きやすい関数を仮定し,実務的な公理を満たすように関数近似 ü

    例1:地点間と輸送⼿段別の輸送費⽤ ü 単調⾮減少(重くなると⾼くなるか同じ) ü 連続(急に変化しない) ü 凹関数(単位重量あたりの費⽤は,重量が⼤きくなると安くなる) ü 原点を通る(運ばないときはタダ) ü例2:需要関数 価格に対する減少関数,凸関数 => MOによる区分的線形回帰
  8. MLで前処理 → MO • クラスタリングや次元削 減などの教師なしMLは, ⼀種の最適化 • ⼤規模最適化のための, 前処理は⾃然

    • ロジスティクス・ネット ワーク設計問題の例 • 1000点を50点にクラスタ リングしてから最適化
  9. ⽂脈付き確率最適化 (1) • 予測(後)最適化 • 線形最適化(変数 x ,費⽤ベクトル c )

    • ⽂脈(補助データ)F と⽂脈・費⽤の訓練データ {F,c} • ⽂脈 F の元でのcの条件付き確率分布 𝐷" 予測後最適化: ̂ 𝑐 = 𝑐 𝐹 ] を(最⼩2乗法などで)計算し, ̂ 𝑐#x を最⼩化 min !∈# 𝐸$∈%! 𝑐&𝑥 𝐹 ] = min !∈# 𝐸$∈%! 𝑐 𝐹 ]& 𝑥 予測値 ML 誤差最⼩化 (M)O 線形最適化 データ 解 F c
  10. ⽂脈付き確率最適化 (2) 予測・最適化: 費⽤の実現値をもとに最適化した場合との差をロス関数 (Smart Predict then Optimize,End-to-End Learning) 最適解オラクル

    実現値が既知のときの最適値 𝑧∗ 𝑐 = min !∈# 𝑐&𝑥 𝐿𝑂𝑆𝑆$ ̂ 𝑐, 𝑐 = max { %∈' 𝑐#𝑥 − 2 ̂ 𝑐#x } + 2 ̂ 𝑐#𝑥∗ 𝑐 − 𝑧∗ 𝑐 𝐿𝑂𝑆𝑆 ̂ 𝑐, 𝑐 = 𝑐#𝑥∗ 2 𝑐 − 𝑧∗ 𝑐 SPOロス(⾮凸) SPO+ロス(凸) 𝑥∗ SPOロスの上界 劣勾配が得られる => 最適化を内包したML (M)O 線形最適化 データ 解 ML SPO+ロス最⼩化 F
  11. MLでシナリオ⽣成 -> 確率的最適化 • ⽂脈付き確率的最適化に対するシナリオ⽣成アプローチ • データ (Y,F) : Yは最適化で使うデータ,Fは補助(⽂脈)データ

    • F(たとえばgoogle trend)は観測可能,Y(需要)を予測 • MLで予測モデルを作成し,観測された F から予測値 Yと重み(確 率)wを⽣成 • Yとwから確率的(シナリオに対する重み付き)最適化 Dimitris Bertsimas, Nathan Kallus (2019) From Predictive to Prescriptive Analytics. Management Science 66(3):1025-1044. ML 確率的O データ (Y, F) 解 問題例 重み w Bertsimas, D., Kallus, N., & Hussain, A. (2016). Inventory Management in the Era of Big Data. Production and Operations Management, 25, 2006-2009. F Y
  12. パターン3 MO ⊃ ML, ML4MO • MO でたくさんのデータ(問題例と解の組)を⽣成し,MLで学習 • MLで解法の選択,解法のパラメータの設定

    • 似た問題例の系列に対して訓練 ü MLが解のヒントや満たすべき制約を返し,MOを⾼速化 (MIPlearn) ü MLが新しい問題例に対して解を返す (End-to-End learning, Learning to optimize) ü MLが近似(実⾏不能)解を返し,近い実⾏可能解に変換(optimization proxy) => 最適化に時間がかかるときやリアルタイム最適化に有効 • ベンチマーク問題例を与えて訓練 ü RLで分枝ルールを改善 ü RLで切除平⾯を改善 • MLがMOをアシスト MO 問題例 解 計算時間 ML
  13. MOの性能を学習し解法(パラメータ)選択 • MO → ML で複数の最適化⼿法の性能を学習し,学習済みのMLモ デルで解法(パラメータ)選択 • オンラインでの運⽤を考えたものがAutoOpt 問題例

    機械学習 最適化⼿法群 計算時間 vs 解 報酬予測 学習済み機械学習 ) 𝑓(𝑎) 最適化の性能学習 問題例 最適化 ML → MO (実⾏時) MO → ML 解法 パラメータ
  14. ⼀般のMIPの⾼速化 • Solving Mixed Integer Programs Using Neural Networks (Deep

    Mind, Google Research) • ⼀般のMIPへの適⽤(グラフ的深層学習利⽤)
  15. 機械学習で⾼速化(MIPLearn) 問題例 数理最適化 予測 機械学習 𝐼()) (𝑖 = 1, …

    , 𝑚) 𝑂𝑃𝑇 𝐼 最適解 𝑋()) (𝑖 = 1, … , 𝑚) 問題例 解 訓練データ 問題例 最適解の分布 𝐼 x.Start (初期部分解) x.VarHintVal (ヒント) 満たすべき等式
  16. MIPlearn の関連研究 • Álinson S. Xavier, Feng Qiu, Shabbir Ahmed

    (2020) Learning to Solve Large-Scale Security-Constrained Unit Commitment Problems. INFORMS Journal on Computing 33(2):739-756 • 起動停⽌問題を例として機械学習で数理最適化の⾼速化 • 訓練データからk-近傍法とSVMで変数を固定 • ⼀般の最適化問題⽤のパッケージ https://anl-ceeesa.github.io/MIPLearn/0.1/ • TSPやナップサック問題への適⽤ (ただし枝費⽤のみ変化)
  17. Optimization Proxies • 電⼒の送電フロー最適化への応⽤ • End-to-end learning and repair •

    Lagrange緩和で制約を満たすようにする⼯夫もあり End-to-End Feasible Optimization Proxies for Large-Scale Economic Dispatch Wenbo Chen, Mathieu Tanneau, Pascal Van Hentenryck
  18. Optimization Voice • Bertsimas-Stellaato (2019) “Online Mixed-integer optimization in millseconds”

    • 最適決定⽊やNNで戦略(等号になる不等式制約や整数変数の 値)を学習 • 問題例のパラメータは狭い範囲で変化すると仮定 • 新たな問題例に対する⾼速な求解
  19. 強化学習でヒューリスティクスを学習 • Kool-van Hodd-Welling (2019) “Attention, Learn to solve routing

    problems!” • Attentionモデル+ REINFORCE(強化学習) • ⼩中規模なTSP(とその変形)で実験 • 他の類似研究も,⼩中規模実験が中⼼ • ⼤規模問題例にスケールできるかが課題
  20. パターン4 ML ⊃ MO, MO4ML • MLのタスク(分類,回帰)をMOで⾏う • 特徴選択のためのMOモデルや最適決定⽊のためのMOモデル •

    制約付きMLモデルのための最適化⼿法の適⽤(e.g., Lagrange緩和) • MOがMLをアシスト MO データ 分類 回帰 ML
  21. 区分的線形回帰 • Bertsimas-Shioda, (2007) Classification and Regression via Integer Optimization.

    Operations Research 55(2):252-271. • 整数最適化による区分的線形回帰
  22. 最適決定⽊ サーベイ論⽂ Carrizosa, E., Molero-Río, C. & Romero Morales, D.

    Mathematical optimization in classification and regression trees. TOP 29, 5‒33 (2021) • 古典的な貪欲法 (CART) • 連続(⾮線形)最適化によるランダム化決定⽊ • 混合整数最適化による決定⽊
  23. 混合整数最適化による最適決定⽊ • Bertsimas-Dunn (2017) Optimal classification trees. Mach. Learn. 106(7):1039‒1082

    • 最適な分類⽊ • 解釈可能性が⼤ • 計算時間がかかる • その後,データの部分集合の選択,2値分類に特化した定式化, フロー定式化,Benders分解法の適⽤,定式化の改良,制約最 適化の適⽤,近似最適化などの⼯夫,データマイニング⼿法の 適⽤,動的計画などによる⾼速化の研究が提案されている.
  24. 最適決定⽊のコード • https://github.com/LucasBoTang/Optimal_Classification_Trees OCT, BinaryOCT, flowOCTの⽐較 • MurTree https://bitbucket.org/EmirD/murtree/src/master/ 動的計画

    • DL8.5 https://dl85.readthedocs.io/en/latest/user_guide.html データマイニングベースの分枝限定法 • 上の実装の⼊⼒は2値ベクトルに変換しておく必要がある! • https://github.com/pan5431333/pyoptree OCTの⾃作(⾼速化のためのLocal Searchもあり)
  25. パターン 5 最適化の基礎理論レベルでの相互乗⼊れ • 異なる分野として研究されているが,本質的な⽬標は同じ ü 深層学習(DL)の最適化(⾮凸最適解)->慣性項 Adamやfit-one cycleなどの実験に基づく改良 ü

    微分不可能関数の最適化(劣勾配法) -> Nesterovの加速 理論的な収束性の証明 • 機械学習のモデルの数学的解釈としての数理最適化 ü 定式化から疎性を組み込んだMOモデル(e.g., 回帰,SVM,NN) ü モデルに対する洞察 -> 改良や収束性の保証 ü 新しいモデルのヒント
  26. MPC (Model Predictive Control) • モデル予測制御 = 予測 (ML) +

    最適化 (O) • ローリング・ホライズン⽅式と類似 • 有限期間の最適化を繰り返し解くことによって制御 • 毎回,予測も更新 • 滑らかな制御や状態の安定性のための⽬的関数(凸2次最適化) https://en.wikipedia.org/wiki/Model_predictive_control
  27. 近似動的計画 (ADP) • Approximate Dynamic Programming: Solving the Curses of

    Dimensionality (Wiley) W. B. Powell • 近似動的計画の⼀連の研究 • 強化学習と最適化の融合 • ⻑距離輸送問題への適⽤
  28. ⾏動後状態 状態 ⾏動 ⾏動後状態 次の期の状態 𝑠+ 𝑎+ 𝑠′+ 𝑠+,- ランダム要因

    𝜖+ 状態 ⾏動 次の期の状態 𝑠+ 𝑎+ 𝑠+,- ランダム要因 𝜖+ 通常の動的計画 (DP) :状態の数もしくは状態×⾏動の数が膨⼤ 近似動的計画 (ADP):⾏動後の状態の数は⼩さい:状態の特徴のみを抽出して近似
  29. (近似)動的計画/RL/MPCの⽐較 動的計画(DP) 近似DP (ADP) RL MPC モデル あり あり なくても良い

    あり 予測 なし なし なし(深層予測学 習だとあり) 過去の状態から 予測 価値関数 あり ⾏動後状態に対し て価値関数を定義 あり あり 最適化 基本は貪欲 1期の最適化 基本は貪欲 Tree Search, Beam Search, Rolloutを併⽤ 有限期間の最適化 をローリング・ホ ライズン 2次の⾮線形 価値関数の近似の ⼯夫 状態の特徴に対す る区分的線形関数 で近似
  30. (A)DP/RL/MPC/MOとの融合の⽐較 動的計画(DP) 近似DP (ADP) RL MPC MO Hybrid モデル あり

    あり なくても良い あり あり 予測 なし なし なし 過去の状態から 予測 過去の問題例と⽂ 脈(付加情報)か ら予測 価値関数 あり ⾏動後状態に対 して定義 あり あり ⾏動後状態と⾏動 前状態に対して定 義 最適化 基本は貪欲 1期の最適化 基本は貪欲 Tree Search, Beam Search, Rolloutを併⽤ 有限期間の最適 化をローリン グ・ホライズン 2次の⾮線形 有限期間の問題を (M)Oで最適化 即時決定とリコー ス変数で確率的最 適化 価値関数の近似 の⼯夫 状態の特徴に対 する区分的線形 関数で近似 区分的線形,NN, 決定⽊をMOに組み 込む
  31. 実務的な枠組み ML+(M)O+MPC+RL (M)O 予測 問題例⽣成 Solution 訓練データ Period Instance 𝑡

    − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼+ .+/, 8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/) (𝑋+ .+/, 𝑋+,- .+/, 𝑋+,0 .+/, … , 𝑋& .+/) (8 𝐼+,-, 8 𝐼+,0 , … , 8 𝐼& , ⋯ ) ML ML (MIPlearn) ML (MIPlearn) State 𝐼) (𝑖 = ⋯ , 𝑡 − 1, 𝑡) (𝑋) .)/, 𝑋),- .)/, 𝑋),0 .)/, ⋯ ) (𝑖 = ⋯ , 𝑡 − 1) (𝐼) .)/, 8 𝐼),- .)/, 8 𝐼),0 .)/, ⋯ ) 固定制約 部分解 近似解 𝑆+1- 𝑆) ML (RL) V 𝑆) 𝑆&,- 𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆&,- 𝑋! "!#, 𝑋!$% "!#, 𝑋!$& "!#, … , 𝑋'(% "!# ≈ 𝑋! "!(%#, 𝑋!$% "!(%#, 𝑋!$& "!(%#, … , 𝑋'(% "!(%# MPC 状態 価値関数
  32. ML+(M)O+MPC+RL (予測ML) • 現在の期を t ,期 t の問題例は発⽣していると仮定 • 期

    t までの問題例 (instances)から未来( t+1 期)以降のデータを予測 (予測をした期は上添字) • 不確実性も予測(チルダがついているものは確率変数) • たとえば,過去の需要量から未来の需要量を予測する • 各期の特徴や天気予報などの付帯情報(⽂脈)も加味して予測する 予測 訓練データ Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ ML 𝐼) (𝑖 = ⋯ , 𝑡 − 1, 𝑡) (8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/)
  33. ML+(M)O+MPC+RL (問題例⽣成ML) • ⽂脈(補助データ)F から問題例 I をランダムに⽣成 • k-近傍法:Fに近い特徴をもつ過去の問題例を適当な確率で返す •

    決定⽊:特徴 F をもとに何らかの評価尺度(e.g., 顧客数)もしくは問題例の分 類を予測する決定⽊を作り,同じ葉に含まれる過去の問題例を選んで返す. • ランダム森:複数の決定⽊で同じ葉に含まれる過去の問題例に重みを与えて返 す. • 期 t までに⽣成された問題例と期t+1の⽂脈の条件付き確率で期 t+1 の問題例 を⽣成(問題例間の距離が微分可能なら⽣成DLを利⽤できる) 予測 訓練データ Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ ML 𝐹), 𝐼) (𝑖 = ⋯ , 𝑡 − 1, 𝑡) 𝐹) から 𝐼) を⽣成 (𝑖 = 𝑡 + 1, … , 𝑇)
  34. 𝐹) から 𝐼) を⽣成 (𝑖 = 𝑡 + 1, …

    , 𝑇) 予測ML(1期間) 問題例(顧客) Period(⽇) 𝑡 − 1 𝑡 𝑡 + 1 ⋯ 訓練データ 𝐹) , 𝐼) (𝑖 = ⋯ , 𝑡 − 1, 𝑡) ⽂脈(補助データ) 曜⽇,天候など ML/DL 𝐹) (𝑖 = ⋯ , 𝑡 − 1, 𝑡) 𝐼) (𝑖 = ⋯ , 𝑡 − 1, 𝑡) 問題例(顧客) 損出関数 = 最適輸送距離 問題例をランダムに複数⽣成
  35. ML+(M)O+MPC+RL(最適化) • 期 t の実現値と予測値から期 T までの最適化を⾏う • 各期は独⽴ではない(たとえば,在庫は期をまたいで影響を与え る)ので,複数期を同時に最適化

    (MPC) • 問題例がシナリオで与えられているときには確率的最適化(即時決 定変数と待機決定(リコース)変数に分けて求解) • 期 t 以前や期 T 以降の在庫は,後述する状態を⽤いて表現する (M)O Solution Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼+ .+/, 8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/) (𝑋+ .+/, 𝑋+,- .+/, 𝑋+,0 .+/, … , 𝑋& .+/)
  36. ⾏動後状態と確率的最適化 状態 即時決定⾏動 ⾏動後状態 次の期の状態 𝑠+ 𝑎+ 𝑠′+ 𝑠+,- ランダム要因

    𝜖+ リコース⾏動 𝑎+ 2 (𝜖+) 即時決定変数のみの最適化 リコースも含めた確率的最適化 価値関数 価値関数 例:前⽇までにトラック台数を最適化(即時決定) 例:当⽇の顧客需要の変動を考慮した最適化
  37. ML+(M)O+MPC+RL (MIPlearn+) • 過去の問題例と解の組で訓練 • 期 t 以降の問題例を⼊⼒し,解の情報を得る • 解の情報を⽤いて,最適化の⼿助け(⾼速化)をする

    (M)O Solution Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼+ .+/, 8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/) (𝑋+ .+/, 𝑋+,- .+/, 𝑋+,0 .+/, … , 𝑋& .+/) ML (MIPlearn) ML (MIPlearn) (𝑋) .)/, 𝑋),- .)/, 𝑋),0 .)/, ⋯ ) (𝑖 = ⋯ , 𝑡 − 1) (𝐼) .)/, 8 𝐼),- .)/, 8 𝐼),0 .)/, ⋯ ) 固定制約 部分解 近似解
  38. MIPlearn+(1期間) • 過去の問題例と解の組で訓練 • 問題例を⼊⼒し,解の「情報」を得る • 情報を⽤いて,最適化の⼿助け(⾼速化)をする 機械学習 機械学習 𝐼())

    (𝑖 = 1, … , 𝑚) X()) (𝑖 = 1, … , 𝑚) 問題例 解 訓練データ 新しい問題例 情報 最適解 𝐼 Optimization Voice “Strategy”: 等式になる制約 固定される変数 => 解を簡単に⽣成可能 MIPlearn 満たされるべき制約 => 制約 部分解 => 解ヒントや初期解
  39. ML+(M)O+MPC+RL(状態の利⽤) • (⾏動後)状態を⼊⼒とし,価値関数(それ以降の利益の期待 値)V を学習 • 期 T 以降もシミュレーションする(最適化の計算時間が重い場合 には,学習済みのMIPlearnのMLを使っても良い)

    • 初期状態と最終状態を考慮して最適化する Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼+ .+/, 8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/) 𝑆+1- 𝑆) ML (RL) V 𝑆) 𝑆&,- 𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆&,- 状態
  40. ML+(M)O+MPC+RL(ローリング・ホライズン⽅式) • 期 t から期 T までの最適化を期を順次ずらしながら⾏う • 予測と状態も更新する •

    制御だとMPC,最適化だとローリング・ホライズン⽅式とよばれる Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼+ .+/, 8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/) 𝑆+1- 𝑆&,- (𝐼+,- .+,-/, 8 𝐼+,0 .+,-/, 8 𝐼+,3 .+,-/, … , 8 𝐼&,- .+,-/) 𝑆+ 𝑆&,0 Solution (𝑋+ .+/, 𝑋+,- .+/, 𝑋+,0 .+/, … , 𝑋& .+/) (M)O 予測更新 状態 状態
  41. ML+(M)O+MPC+RL (解の変更を避ける) • 期t-1の解からあまり離れないようなペナルティを付加して最適化 (M)O Solution Period Instance 𝑡 −

    1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼+ .+/, 8 𝐼+,- .+/, 8 𝐼+,0 .+/, … , 8 𝐼& .+/) (𝑋+ .+/, 𝑋+,- .+/, 𝑋+,0 .+/, … , 𝑋& .+/) 𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆&,- 𝑋+ .+/, 𝑋+,- .+/, 𝑋+,0 .+/, … , 𝑋&1- .+/ ≈ 𝑋+ .+1-/, 𝑋+,- .+1-/, 𝑋+,0 .+1-/, … , 𝑋&1- .+1-/
  42. 問題例(インスタンス)のデータ • 問題例の構成要素 ü 構造を表すデータ • グラフ • 座標(緯度・経度) •

    部分集合 ü 表形式データ(の組合せ) • 多次元ベクトル(同⼀構造上に定義された数値データ) • 多次元ベクトルに変換可能な表形式データ
  43. 集合に対する距離の計算法 2つの集合A,Bに対して: üJaccard類似度 üSorensen係数 üTverskyインデックス ü交差係数 𝐽 𝐴, 𝐵 =

    𝐴 ∩ 𝐵 /|𝐴 ∪ 𝐵| 𝑆𝐶 𝐴, 𝐵 = 2 𝐴 ∩ 𝐵 /( 𝐴 + 𝐵 ) 𝑇 𝐴, 𝐵 = 𝐴 ∩ 𝐵 /( 𝐴 ∪ 𝐵 + 𝛼 𝑋 − 𝑌 + 𝛽|𝑌 − 𝑋|) overlap 𝐴, 𝐵 = 𝐴 ∩ 𝐵 /min( 𝐴 , 𝐵 )
  44. 座標データに対する距離の計算法 • 問題例をヒストグラムに変換して分布間の距離の尺度(Kullback-Leibler DivergenceやEarth Mover(最適輸送)距離)を利⽤ • 直接法(最適輸送を利⽤) ü 1つの問題例の点(構成要素)ともう1つの問題例の点との距離を計算 ü

    1つの問題例をもう1つの問題に変換する最⼤位数の費⽤最⼩マッチング(重み付 きの場合には最適輸送問題)を解くことによって対応付け ü 対応付けができなかった点に対しては,ペナルティ ü DLで⽣成したいときには,微分値が必要( Sinkhorn 法: https://pythonot.github.io/を利⽤)
  45. 距離の利⽤法 • 距離(類似度)を⽤いてクラスタリング ü 多次元ベクトルならPCAやt-SNEやumapなど • 特徴(⽂脈)からクラスタリングを当てる分類器を⽣成 (k-近傍法や決定⽊) • 将来の既知の⽂脈から問題例を⽣成

    ü k-近傍法の場合には,近いk個の⽂脈に対応する問題例を返す ü 決定⽊の場合には,葉に含まれるクラスターに含まれる問題例をラン ダムに選択
  46. (⽂脈を⽤いた)問題例⽣成 • 合成表データ⽣成(Synthetic Tabular Data Generation) ü 問題例は表データ(連続とカテゴリー変数から成る) ü 決定⽊

    ü 空間的分割決定⽊(空間データの⽣成) ü Baysian Network ü GAN ü LLM (transformer) • ⽂脈もデータの⼀部とみなして⽣成できる ü データ間の関係を⽂脈として知識化(contexual knowledge) ü ⼀部データの条件付きでの⽣成(conditioning)
  47. 動的ロットサイズ決定問題 • 期ごとに問題例を定義し,期 t から T までの問題例をあわせたもの を1つ上位の階層の問題例と考えて(確率的)最適化 • 過去のデータ(需要量や資源量上限)から予測(シナリオ⽣成)

    • 問題例の類似度はパラメータ(需要量)間の距離 • 期末の在庫量や段取り状態を状態とし,価値関数を推定 • ローリング・ホライズン⽅式+解の変更のペナルティ t T 𝑑! 𝑑!"# 𝑑$ 𝐼!%# 𝐼$
  48. 起動停⽌問題 • 電⼒への応⽤ • 期は時間 • ⽂脈は天気予報など • 必要な電⼒を予測 •

    問題例の類似度は,構造が同⼀なのでパラメータ間の距離 • MIPlearnの適⽤ • ⽂脈から需要のシナリオを⽣成し,(確率的)最適化 • 状態は発電所の稼働情報(オン・オフ,カテゴリー(⾼温,低 ⾳),停⽌時間,カテゴリー開始時からの時間,etc.
  49. サービスネットワーク設計問題 • ネットワークは同じでOD間の需要量が変化 • 過去の問題例(需要量)をベクトル化して距離(類似度)を計算 • ⽂脈は曜⽇などの⽇付情報とAMAZONのセールなどの付加情報 • ⽂脈と過去の問題例から,期tの問題例を予測(シナリオ⽣成) •

    状態は次の期に持ち越す荷や運搬⾞の位置情報 • 可能なら多期間(複数⽇)で解く • ローリングホライズン⽅式でなるべく過去の決定通りの解とする • 過去の最適解における各地点への⼊⽊を保管して,それを利⽤し てMIPlearnや列⽣成法
  50. おわりに • 提案したものは完全な分類ではない(あくまで便宜的) • MO+MLの研究は急速に拡⼤ • 様々な分野で独⽴に研究 • 今後は,分野を超えた交流が必要 •

    動的最適化モデルに対する新しいフレームワークの提案 • 毎⽇,最適化問題を繰り返し解いている実務家の⽅は,問題例 と解の組をたくさん保管しておいてもらえると嬉しいです