数理最適化と機械学習の
融合アプローチ
-分類と新しい枠組み-
Mikio Kubo
メニュー
略語と分類
略語と分類
• 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. ML ⊃ MO (ML assists MO: 機械学習が最適化をアシスト)
4. MO ⊃ ML(MO assists ML: 最適化が機械学習をアシスト)
5. 最適化の基礎理論で相互乗り入れ
6. RL/MPC中心の融合型(ML & MO assists RL/MPC)
パターン1
ML → MO
パターン1 ML → MO
• ML をした後で MO を適用する
• 最も古典的で自然なアプローチ
• MLで予測し関数近似 => 近似した制約や目的関数をMOで解く
 MLの予測モデルをそのままMOに数式として埋め込む(Gurobi 10.0+)
 MLの予測モデルを現実的な仮定でMOで解きやすい関数として近似
• MLで前処理(e.g., クラスタリング) → MO
• MLで解法を選択 → MO
ML MO
データ
解
MLで予測し関数近似 => (M)Oで解く
• たくさんのML手法 × たくさんの最適化手法 = たくさんある
• 限定されたML -> 非線形ソルバー・混合整数最適化ソルバー
• 任意のML -> オラクルを用いたブラックボックス最適化
• 任意のML -> 解きやすい関数に近似 -> 最適化ソルバー
• MLでシナリオ生成 -> 確率的最適化
ML (M)O
データ
解
限定された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
任意のML -> ブラックボックスO
• MLをオラクルとしてブラックボックス最適化
• 利点:任意のMLで動く
• 弱点:遅い
ML f(x)
x
min f(x)
s.t. x ∈X
ブラックボックス最適化
x
f(x)
オラクル
ML -> 解きやすい関数に近似 -> ソルバー
• 任意のMLモデルでたくさんの教師データを生成
• 解きやすい関数を仮定し,実務的な公理を満たすように関数近似
 例1:地点間と輸送手段別の輸送費用
 単調非減少(重くなると高くなるか同じ)
 連続(急に変化しない)
 凹関数(単位重量あたりの費用は,重量が大きくなると安くなる)
 原点を通る(運ばないときはタダ)
例2:需要関数
価格に対する減少関数,凸関数
=> MOによる区分的線形回帰
MLでシナリオ生成 -> 確率的最適化
• データ (Y,X) : Yは最適化で使うデータ,Xは補助(文脈)データ
• X(たとえばgoogle trend)は観測可能,Y(需要)を予測
• MLで予測モデルを作成し,観測されたXから予測値 Yと重み(確率)
wを生成
• Yとwから確率的(シナリオに対する重み付き)最適化
Dimitris Bertsimas, Nathan Kallus (2019) From Predictive to
Prescriptive Analytics. Management Science 66(3):1025-1044.
ML 確率的O
データ
(Y, X)
解
問題例
重み w
MLで前処理 → MO
• クラスタリングや次元削
減などの教師なしMLは,
一種の最適化
• 大規模最適化のための,
前処理は自然
• ロジスティクス・ネット
ワーク設計問題の例
• 1000点を50点にクラスタ
リングしてから最適化
MLで解法を選択 → MO
• 次の MO → ML で複数の最適化手法の性能学習した後の実行時
問題例 機械学習
最適化手法群 計算時間 vs 解 報酬予測
機械学習
𝑓(𝑎)
最適化の性能学習
問題例 最適化
ML → MO
MO → ML
パターン2 MO → ML
パターン2 MO → ML
• MO でたくさんのデータ(問題例と解の組)を生成し,MLで学習
• 似た問題例の系列に対して訓練
 解のヒントや満たすべき制約を返し,MOを高速化 (MIPlearn)
 新しい問題例に対して解を返す (End-to-End learning)
 近似(実行不能)解を返し,近い実行可能解に変換(optimization proxy)
• 最適化に時間がかかるときやリアルタイム最適化に有効
MO
問題例
解
ML
MIPLearnフレームワーク
問題例 数理最適化
予測
機械学習
𝐼(𝑖) (𝑖 = 1, … , 𝑚)
𝑂𝑃𝑇 𝐼
最適解
𝑆(𝑖) (𝑖 = 1, … , 𝑚)
問題例
解
訓練データ
問題例 最適解の分布
𝐼
x.Start (初期部分解)
x.VarHintVal (ヒント)
満たすべき等式
関連研究
• Á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への適用例(ただし枝費用のみ変化)
k-近傍法
• インスタンス I に近いインスタンスデータからk個選択
• 対応する解 の平均値を計算(0-1変数xのみ)
• が閾値 UB 以上なら 1 に,閾値 LB 以下なら0に固定
𝐼(𝑖)
(𝑖 = 1, … , 𝑘)
𝑆(𝑖) (𝑖 = 1, … , 𝑘)
𝑥𝑗 =
𝑖=1
𝑘
𝑥𝑗
𝑖
/𝑘
𝑥𝑗
(不)等式の追加
• 閾値以上の確率で解 が,ある式 を等
号で満たす => 式を追加して解く
• 変数の固定も,これの特殊形
例 施設配置
ある顧客1と2は同じ施設に割り当てられる x1j =x2j
施設 1 が選ばれたときには,必ず施設3も選ばれる y1 <= y3
𝑆(𝑖) (𝑖 = 1, … , 𝑚) 𝑎𝑥 = 𝑏
StartとVarHintValの違い
• 変数.Start は,指定した値から実行可能解を構築する
• 変数.VarHintVal は,指定した値をヒントにしてヒューリス
ティクス探索を行い,分枝の優先度を変える
• 両者とも,解の一部だけ与えることも可能
パターン3 ML ⊃ MO
パターン3 ML ⊃ MO
• MO のパラメータをMLで学習
• (多くのパラメータを含む)MOの高速化が主目的
• ベンチマーク問題例を与えて訓練
 RLで分枝ルールを改善
 RLで切除平面を改善
• MLがMOをアシスト (Learning to optimize)
MO
問題例
解
計算時間
ML/RL
関連研究
• Solving Mixed Integer Programs Using Neural Networks
(Deep Mind, Google Research)
• 一般のMIPへの適用(グラフ的深層学習利用)
パターン4 MO ⊃ ML
パターン4 MO ⊃ ML
• MLのタスク(分類,回帰)をMOで行う
• 特徴選択のためのMOモデルや最適決定木のためのMOモデル
• MLモデルの数学的な解釈のためのMOモデル(e.g., SVM,NN)
• 制約付きMLモデルのための最適化手法の適用(e.g., Lagrange緩和)
• MOがMLをアシスト
MO
データ
分類
回帰
ML
関連研究
• Dimitris Bertsimas, Romy Shioda, (2007) Classification and
Regression via Integer Optimization. Operations Research
55(2):252-271.
• 整数最適化による区分的線形回帰
関連研究
• Bertsimas D, Dunn J (2017) Optimal classification trees.
Mach Learn 106(7):1039–1082
• 最適な分類木
• 計算時間がかかる
• その後,データの部分集合の選択,2値分類に特化した定式化,
定式化の改良,近似最適化などの工夫による高速化の研究が提
案されている.
パターン 5
最適化の基礎理論レベ
ルでの相互乗入れ
パターン 6
最適化の基礎理論レベルでの相互乗入れ
• 異なる分野として研究されているが,本質的な目標は同じ
 深層学習(DL)の最適化(非凸最適解)->慣性項
Adamやfit-one cycleなどの実験に基づく改良
 微分不可能関数の最適化(劣勾配法) -> Nesterovの加速
理論的な収束性の証明
• 機械学習のモデルの数学的解釈としての数理最適化
 モデルに対する洞察 -> 改良や収束性の保証
 新しいモデルのヒント
パターン6 動的モデ
ルに対する融合型
パターン5 動的モデルに対する融合型
• オンラインでの最適化(未来の情報がないか不確定)
• 全体のフレームワークはRL /MPC (無限期間に対応)
• 新たに得られた情報でMLで予測
• 得られた情報をもとにMO
• パターン1,2の組み合わせ(関数近似,MIPlearnなど)
MO
問題例
解
ML
RL
MPC (Model Predictive Control)
• モデル予測制御 = 予測 (ML) + 最適化 (O)
• ローリング・ホライズン方式と類似
• 有限期間の最適化を繰り返し解くことによって制御
• 毎回,予測も更新
• 滑らかな制御や状態の安定性のための目的関数(凸2次最適化)
https://en.wikipedia.org/wiki/Model_predictive_control
関連研究
• Approximate Dynamic Programming: Solving the Curses of
Dimensionality (Wiley) W. B. Powell
• 近似動的計画の一連の研究
• 強化学習と最適化の融合
• 長距離輸送問題への適用
新しいフレームワーク
ML+(M)O+MPC+RL
実務的な枠組み ML+(M)O+MPC+RL
(M)O
予測
Solution
訓練データ
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
(𝐼𝑡
<𝑡>
, 𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
(𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇
<𝑡>
)
(𝐼𝑡+1, 𝐼𝑡+2 , … , 𝐼𝑇 , ⋯ )
ML
ML (MIPlearn)
ML (MIPlearn)
State
𝐼𝑖 (𝑖 = ⋯ , 𝑡 − 1, 𝑡)
(𝑋𝑖
<𝑖>
, 𝑋𝑖+1
<𝑖>
, 𝑋𝑖+2
<𝑖>
, ⋯ ) (𝑖 = ⋯ , 𝑡 − 1)
(𝐼𝑖
<𝑖>
, 𝐼𝑖+1
<𝑖>
, 𝐼𝑖+2
<𝑖>
, ⋯ )
固定制約
部分解
近似解
𝑆𝑡−1 𝑆𝑖
ML (RL)
V 𝑆𝑖
𝑆𝑇+1
𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆𝑇+1
𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇−1
<𝑡>
≈ 𝑋𝑡
<𝑡−1>
, 𝑋𝑡+1
<𝑡−1>
, 𝑋𝑡+2
<𝑡−1>
, … , 𝑋𝑇−1
<𝑡−1>
MPC
ML+(M)O+MPC+RL (予測ML)
• 現在の期を t ,期 t の問題例は発生していると仮定
• 期 t までの問題例 (instances)から未来( t+1 期)以降のデータを予測
(予測をした期は上添字)
• 不確実性も予測(チルダがついているものは確率変数)
• たとえば,過去の需要量から未来の需要量を予測する
• 各期の特徴や天気予報などの付帯情報も加味して予測する
予測
訓練データ
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
ML
𝐼𝑖 (𝑖 = ⋯ , 𝑡 − 1, 𝑡) (𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
ML+(M)O+MPC+RL (問題例生成ML)
• 特徴(文脈)F から問題例 I をランダムに生成
• k-近傍法:Fに近い特徴をもつ過去の問題例を適当な確率で返す
• 決定木:特徴 F をもとに何らかの評価尺度(e.g., 顧客数)を予測する決定木を
作り,同じ葉に含まれる過去の問題例を選んで返す.
• ランダム森:複数の決定木で同じ葉に含まれる過去の問題例に重みを与えて返
す.
• 期 t で生成された問題例の条件付き確率で期 t+1 の問題例が生成できるか?
(シナリオ生成)
予測
訓練データ
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
ML
𝐹𝑖, 𝐼𝑖 (𝑖 = ⋯ , 𝑡 − 1, 𝑡) 𝐹𝑖 から 𝐼𝑖 を生成
(𝑖 = 𝑡 + 1, … , 𝑇)
ML+(M)O+MPC+RL(最適化)
• 期 t の実現値と予測値から期 T までの最適化を行う
• 各期は独立ではない(たとえば,在庫は期をまたいで影響を与える)
ので,複数期を同時に最適化 (MPC)
• 問題例がシナリオで与えられているときには,確率的最適化
• 期 t 以前や期 T 以降の在庫は,後述する状態を用いて表現する
(M)O
Solution
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
(𝐼𝑡
<𝑡>
, 𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
(𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇
<𝑡>
)
ML+(M)O+MPC+RL (MIPlearn)
• 過去の問題例と解の組で訓練
• 期 t 以降の問題例を入力し,解の情報を得る
• 解の情報を用いて,最適化の手助け(高速化)をする
(M)O
Solution
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
(𝐼𝑡
<𝑡>
, 𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
(𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇
<𝑡>
)
ML (MIPlearn)
ML (MIPlearn)
(𝑋𝑖
<𝑖>
, 𝑋𝑖+1
<𝑖>
, 𝑋𝑖+2
<𝑖>
, ⋯ ) (𝑖 = ⋯ , 𝑡 − 1)
(𝐼𝑖
<𝑖>
, 𝐼𝑖+1
<𝑖>
, 𝐼𝑖+2
<𝑖>
, ⋯ )
固定制約
部分解
近似解
ML+(M)O+MPC+RL(状態の利用)
• 状態を入力とし,価値関数(それ以降の利益の期待値)V を学習
• 期 T 以降もシミュレーションする(最適化の計算時間が重い場合
には,学習済みのMIPlearnのMLを使っても良い)
• 初期状態と最終状態を考慮して最適化する
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
(𝐼𝑡
<𝑡>
, 𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
𝑆𝑡−1 𝑆𝑖
ML (RL)
V 𝑆𝑖 𝑆𝑇+1
𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆𝑇+1
State
ML+(M)O+MPC+RL(ローリング・ホライズン方式)
• 期 t から期 T までの最適化を期を順次ずらしながら行う
• 予測と状態も更新する
• 制御だとMPC,最適化だとローリング・ホライズン方式とよばれる
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
(𝐼𝑡
<𝑡>
, 𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
𝑆𝑡−1 𝑆𝑇+1
(𝐼𝑡+1
<𝑡+1>
, 𝐼𝑡+2
<𝑡+1>
, 𝐼𝑡+3
<𝑡+1>
, … , 𝐼𝑇+1
<𝑡+1>
)
𝑆𝑡
𝑆𝑇+2
Solution (𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇
<𝑡>
)
(M)O
予測更新
ML+(M)O+MPC+RL (解の変更を避ける)
• 期t-1の解からあまり離れないようなペナルティを付加して最適化
(M)O
Solution
Period
Instance
𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯
(𝐼𝑡
<𝑡>
, 𝐼𝑡+1
<𝑡>
, 𝐼𝑡+2
<𝑡>
, … , 𝐼𝑇
<𝑡>
)
(𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇
<𝑡>
)
𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆𝑇+1
𝑋𝑡
<𝑡>
, 𝑋𝑡+1
<𝑡>
, 𝑋𝑡+2
<𝑡>
, … , 𝑋𝑇−1
<𝑡>
≈ 𝑋𝑡
<𝑡−1>
, 𝑋𝑡+1
<𝑡−1>
, 𝑋𝑡+2
<𝑡−1>
, … , 𝑋𝑇−1
<𝑡−1>
問題例間の距離とその利用法
• 問題例(インスタンス)間の距離(類似度)を定義(次ページ)
• 特徴間の距離(類似度)を定義(ベクトルならcosine similarity)
• MIPlearnで解をMLで生成するときに利用
• 将来の問題例を文脈から生成するときに利用
問題例
特徴
文脈(コンテキスト)
問題例間の距離の計算法
• 構造が同じで重みだけの場合には相関やcosine類似度などの尺度
• ヒストグラムに変換して分布間の距離の尺度(Kullback-Leibler
DivergenceやEarth Mover距離)
• 構造が変わる場合
 1つの問題例の点(構成要素)ともう1つの問題例の点との距離を計算
 1つの問題例をもう1つの問題に変換する最大位数の費用最小マッチング(重み
付きの場合には輸送問題)を解くことによって対応付け
 対応付けができなかった点に対しては,ペナルティ
距離の利用法
• 距離(類似度)を用いてクラスタリング
• 特徴(文脈)からクラスタリングを当てる分類器を生成
(k-近傍法や決定木)
• 将来の既知の文脈から問題例を生成
K-近傍法の場合には,近いk個の文脈に対応する問題例を返す
決定木の場合には,葉に含まれるクラスターに含まれる問題例をラン
ダムに選択
おわりに
おわりに
• 提案したものは完全な分類ではない(あくまで便宜的)
• MO+MLの研究は急速に拡大
• 応用範囲は無限
• 動的最適化モデルに対する新しいフレームワークの提案
• 様々な分野で独立に研究
• 今後は,分野を超えた交流が必要

数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)

  • 1.
  • 2.
  • 3.
  • 4.
    略語と分類 • MO:数理最適化 (MathematicalOptimization) • 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. ML ⊃ MO (ML assists MO: 機械学習が最適化をアシスト) 4. MO ⊃ ML(MO assists ML: 最適化が機械学習をアシスト) 5. 最適化の基礎理論で相互乗り入れ 6. RL/MPC中心の融合型(ML & MO assists RL/MPC)
  • 5.
  • 6.
    パターン1 ML →MO • ML をした後で MO を適用する • 最も古典的で自然なアプローチ • MLで予測し関数近似 => 近似した制約や目的関数をMOで解く  MLの予測モデルをそのままMOに数式として埋め込む(Gurobi 10.0+)  MLの予測モデルを現実的な仮定でMOで解きやすい関数として近似 • MLで前処理(e.g., クラスタリング) → MO • MLで解法を選択 → MO ML MO データ 解
  • 7.
    MLで予測し関数近似 => (M)Oで解く •たくさんのML手法 × たくさんの最適化手法 = たくさんある • 限定されたML -> 非線形ソルバー・混合整数最適化ソルバー • 任意のML -> オラクルを用いたブラックボックス最適化 • 任意のML -> 解きやすい関数に近似 -> 最適化ソルバー • MLでシナリオ生成 -> 確率的最適化 ML (M)O データ 解
  • 8.
    限定された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
  • 9.
    任意のML -> ブラックボックスO •MLをオラクルとしてブラックボックス最適化 • 利点:任意のMLで動く • 弱点:遅い ML f(x) x min f(x) s.t. x ∈X ブラックボックス最適化 x f(x) オラクル
  • 10.
    ML -> 解きやすい関数に近似-> ソルバー • 任意のMLモデルでたくさんの教師データを生成 • 解きやすい関数を仮定し,実務的な公理を満たすように関数近似  例1:地点間と輸送手段別の輸送費用  単調非減少(重くなると高くなるか同じ)  連続(急に変化しない)  凹関数(単位重量あたりの費用は,重量が大きくなると安くなる)  原点を通る(運ばないときはタダ) 例2:需要関数 価格に対する減少関数,凸関数 => MOによる区分的線形回帰
  • 11.
    MLでシナリオ生成 -> 確率的最適化 •データ (Y,X) : Yは最適化で使うデータ,Xは補助(文脈)データ • X(たとえばgoogle trend)は観測可能,Y(需要)を予測 • MLで予測モデルを作成し,観測されたXから予測値 Yと重み(確率) wを生成 • Yとwから確率的(シナリオに対する重み付き)最適化 Dimitris Bertsimas, Nathan Kallus (2019) From Predictive to Prescriptive Analytics. Management Science 66(3):1025-1044. ML 確率的O データ (Y, X) 解 問題例 重み w
  • 12.
    MLで前処理 → MO •クラスタリングや次元削 減などの教師なしMLは, 一種の最適化 • 大規模最適化のための, 前処理は自然 • ロジスティクス・ネット ワーク設計問題の例 • 1000点を50点にクラスタ リングしてから最適化
  • 13.
    MLで解法を選択 → MO •次の MO → ML で複数の最適化手法の性能学習した後の実行時 問題例 機械学習 最適化手法群 計算時間 vs 解 報酬予測 機械学習 𝑓(𝑎) 最適化の性能学習 問題例 最適化 ML → MO MO → ML
  • 14.
  • 15.
    パターン2 MO →ML • MO でたくさんのデータ(問題例と解の組)を生成し,MLで学習 • 似た問題例の系列に対して訓練  解のヒントや満たすべき制約を返し,MOを高速化 (MIPlearn)  新しい問題例に対して解を返す (End-to-End learning)  近似(実行不能)解を返し,近い実行可能解に変換(optimization proxy) • 最適化に時間がかかるときやリアルタイム最適化に有効 MO 問題例 解 ML
  • 16.
    MIPLearnフレームワーク 問題例 数理最適化 予測 機械学習 𝐼(𝑖) (𝑖= 1, … , 𝑚) 𝑂𝑃𝑇 𝐼 最適解 𝑆(𝑖) (𝑖 = 1, … , 𝑚) 問題例 解 訓練データ 問題例 最適解の分布 𝐼 x.Start (初期部分解) x.VarHintVal (ヒント) 満たすべき等式
  • 17.
    関連研究 • Á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への適用例(ただし枝費用のみ変化)
  • 18.
    k-近傍法 • インスタンス Iに近いインスタンスデータからk個選択 • 対応する解 の平均値を計算(0-1変数xのみ) • が閾値 UB 以上なら 1 に,閾値 LB 以下なら0に固定 𝐼(𝑖) (𝑖 = 1, … , 𝑘) 𝑆(𝑖) (𝑖 = 1, … , 𝑘) 𝑥𝑗 = 𝑖=1 𝑘 𝑥𝑗 𝑖 /𝑘 𝑥𝑗
  • 19.
    (不)等式の追加 • 閾値以上の確率で解 が,ある式を等 号で満たす => 式を追加して解く • 変数の固定も,これの特殊形 例 施設配置 ある顧客1と2は同じ施設に割り当てられる x1j =x2j 施設 1 が選ばれたときには,必ず施設3も選ばれる y1 <= y3 𝑆(𝑖) (𝑖 = 1, … , 𝑚) 𝑎𝑥 = 𝑏
  • 20.
    StartとVarHintValの違い • 変数.Start は,指定した値から実行可能解を構築する •変数.VarHintVal は,指定した値をヒントにしてヒューリス ティクス探索を行い,分枝の優先度を変える • 両者とも,解の一部だけ与えることも可能
  • 21.
  • 22.
    パターン3 ML ⊃MO • MO のパラメータをMLで学習 • (多くのパラメータを含む)MOの高速化が主目的 • ベンチマーク問題例を与えて訓練  RLで分枝ルールを改善  RLで切除平面を改善 • MLがMOをアシスト (Learning to optimize) MO 問題例 解 計算時間 ML/RL
  • 23.
    関連研究 • Solving MixedInteger Programs Using Neural Networks (Deep Mind, Google Research) • 一般のMIPへの適用(グラフ的深層学習利用)
  • 24.
  • 25.
    パターン4 MO ⊃ML • MLのタスク(分類,回帰)をMOで行う • 特徴選択のためのMOモデルや最適決定木のためのMOモデル • MLモデルの数学的な解釈のためのMOモデル(e.g., SVM,NN) • 制約付きMLモデルのための最適化手法の適用(e.g., Lagrange緩和) • MOがMLをアシスト MO データ 分類 回帰 ML
  • 26.
    関連研究 • Dimitris Bertsimas,Romy Shioda, (2007) Classification and Regression via Integer Optimization. Operations Research 55(2):252-271. • 整数最適化による区分的線形回帰
  • 27.
    関連研究 • Bertsimas D,Dunn J (2017) Optimal classification trees. Mach Learn 106(7):1039–1082 • 最適な分類木 • 計算時間がかかる • その後,データの部分集合の選択,2値分類に特化した定式化, 定式化の改良,近似最適化などの工夫による高速化の研究が提 案されている.
  • 28.
  • 29.
    パターン 6 最適化の基礎理論レベルでの相互乗入れ • 異なる分野として研究されているが,本質的な目標は同じ 深層学習(DL)の最適化(非凸最適解)->慣性項 Adamやfit-one cycleなどの実験に基づく改良  微分不可能関数の最適化(劣勾配法) -> Nesterovの加速 理論的な収束性の証明 • 機械学習のモデルの数学的解釈としての数理最適化  モデルに対する洞察 -> 改良や収束性の保証  新しいモデルのヒント
  • 30.
  • 31.
    パターン5 動的モデルに対する融合型 • オンラインでの最適化(未来の情報がないか不確定) •全体のフレームワークはRL /MPC (無限期間に対応) • 新たに得られた情報でMLで予測 • 得られた情報をもとにMO • パターン1,2の組み合わせ(関数近似,MIPlearnなど) MO 問題例 解 ML RL
  • 32.
    MPC (Model PredictiveControl) • モデル予測制御 = 予測 (ML) + 最適化 (O) • ローリング・ホライズン方式と類似 • 有限期間の最適化を繰り返し解くことによって制御 • 毎回,予測も更新 • 滑らかな制御や状態の安定性のための目的関数(凸2次最適化) https://en.wikipedia.org/wiki/Model_predictive_control
  • 33.
    関連研究 • Approximate DynamicProgramming: Solving the Curses of Dimensionality (Wiley) W. B. Powell • 近似動的計画の一連の研究 • 強化学習と最適化の融合 • 長距離輸送問題への適用
  • 34.
  • 35.
    実務的な枠組み ML+(M)O+MPC+RL (M)O 予測 Solution 訓練データ Period Instance 𝑡 −1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼𝑡 <𝑡> , 𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> ) (𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇 <𝑡> ) (𝐼𝑡+1, 𝐼𝑡+2 , … , 𝐼𝑇 , ⋯ ) ML ML (MIPlearn) ML (MIPlearn) State 𝐼𝑖 (𝑖 = ⋯ , 𝑡 − 1, 𝑡) (𝑋𝑖 <𝑖> , 𝑋𝑖+1 <𝑖> , 𝑋𝑖+2 <𝑖> , ⋯ ) (𝑖 = ⋯ , 𝑡 − 1) (𝐼𝑖 <𝑖> , 𝐼𝑖+1 <𝑖> , 𝐼𝑖+2 <𝑖> , ⋯ ) 固定制約 部分解 近似解 𝑆𝑡−1 𝑆𝑖 ML (RL) V 𝑆𝑖 𝑆𝑇+1 𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆𝑇+1 𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇−1 <𝑡> ≈ 𝑋𝑡 <𝑡−1> , 𝑋𝑡+1 <𝑡−1> , 𝑋𝑡+2 <𝑡−1> , … , 𝑋𝑇−1 <𝑡−1> MPC
  • 36.
    ML+(M)O+MPC+RL (予測ML) • 現在の期をt ,期 t の問題例は発生していると仮定 • 期 t までの問題例 (instances)から未来( t+1 期)以降のデータを予測 (予測をした期は上添字) • 不確実性も予測(チルダがついているものは確率変数) • たとえば,過去の需要量から未来の需要量を予測する • 各期の特徴や天気予報などの付帯情報も加味して予測する 予測 訓練データ Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ ML 𝐼𝑖 (𝑖 = ⋯ , 𝑡 − 1, 𝑡) (𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> )
  • 37.
    ML+(M)O+MPC+RL (問題例生成ML) • 特徴(文脈)Fから問題例 I をランダムに生成 • k-近傍法:Fに近い特徴をもつ過去の問題例を適当な確率で返す • 決定木:特徴 F をもとに何らかの評価尺度(e.g., 顧客数)を予測する決定木を 作り,同じ葉に含まれる過去の問題例を選んで返す. • ランダム森:複数の決定木で同じ葉に含まれる過去の問題例に重みを与えて返 す. • 期 t で生成された問題例の条件付き確率で期 t+1 の問題例が生成できるか? (シナリオ生成) 予測 訓練データ Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ ML 𝐹𝑖, 𝐼𝑖 (𝑖 = ⋯ , 𝑡 − 1, 𝑡) 𝐹𝑖 から 𝐼𝑖 を生成 (𝑖 = 𝑡 + 1, … , 𝑇)
  • 38.
    ML+(M)O+MPC+RL(最適化) • 期 tの実現値と予測値から期 T までの最適化を行う • 各期は独立ではない(たとえば,在庫は期をまたいで影響を与える) ので,複数期を同時に最適化 (MPC) • 問題例がシナリオで与えられているときには,確率的最適化 • 期 t 以前や期 T 以降の在庫は,後述する状態を用いて表現する (M)O Solution Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼𝑡 <𝑡> , 𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> ) (𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇 <𝑡> )
  • 39.
    ML+(M)O+MPC+RL (MIPlearn) • 過去の問題例と解の組で訓練 •期 t 以降の問題例を入力し,解の情報を得る • 解の情報を用いて,最適化の手助け(高速化)をする (M)O Solution Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼𝑡 <𝑡> , 𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> ) (𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇 <𝑡> ) ML (MIPlearn) ML (MIPlearn) (𝑋𝑖 <𝑖> , 𝑋𝑖+1 <𝑖> , 𝑋𝑖+2 <𝑖> , ⋯ ) (𝑖 = ⋯ , 𝑡 − 1) (𝐼𝑖 <𝑖> , 𝐼𝑖+1 <𝑖> , 𝐼𝑖+2 <𝑖> , ⋯ ) 固定制約 部分解 近似解
  • 40.
    ML+(M)O+MPC+RL(状態の利用) • 状態を入力とし,価値関数(それ以降の利益の期待値)V を学習 •期 T 以降もシミュレーションする(最適化の計算時間が重い場合 には,学習済みのMIPlearnのMLを使っても良い) • 初期状態と最終状態を考慮して最適化する Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼𝑡 <𝑡> , 𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> ) 𝑆𝑡−1 𝑆𝑖 ML (RL) V 𝑆𝑖 𝑆𝑇+1 𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆𝑇+1 State
  • 41.
    ML+(M)O+MPC+RL(ローリング・ホライズン方式) • 期 tから期 T までの最適化を期を順次ずらしながら行う • 予測と状態も更新する • 制御だとMPC,最適化だとローリング・ホライズン方式とよばれる Period Instance 𝑡 − 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼𝑡 <𝑡> , 𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> ) 𝑆𝑡−1 𝑆𝑇+1 (𝐼𝑡+1 <𝑡+1> , 𝐼𝑡+2 <𝑡+1> , 𝐼𝑡+3 <𝑡+1> , … , 𝐼𝑇+1 <𝑡+1> ) 𝑆𝑡 𝑆𝑇+2 Solution (𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇 <𝑡> ) (M)O 予測更新
  • 42.
    ML+(M)O+MPC+RL (解の変更を避ける) • 期t-1の解からあまり離れないようなペナルティを付加して最適化 (M)O Solution Period Instance 𝑡− 1 𝑡 𝑡 + 1 𝑡 + 2 ⋯ 𝑇 𝑇 + 1 ⋯ (𝐼𝑡 <𝑡> , 𝐼𝑡+1 <𝑡> , 𝐼𝑡+2 <𝑡> , … , 𝐼𝑇 <𝑡> ) (𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇 <𝑡> ) 𝑚𝑎𝑥 𝑣 𝑥 + 𝑉 𝑆𝑇+1 𝑋𝑡 <𝑡> , 𝑋𝑡+1 <𝑡> , 𝑋𝑡+2 <𝑡> , … , 𝑋𝑇−1 <𝑡> ≈ 𝑋𝑡 <𝑡−1> , 𝑋𝑡+1 <𝑡−1> , 𝑋𝑡+2 <𝑡−1> , … , 𝑋𝑇−1 <𝑡−1>
  • 43.
    問題例間の距離とその利用法 • 問題例(インスタンス)間の距離(類似度)を定義(次ページ) • 特徴間の距離(類似度)を定義(ベクトルならcosinesimilarity) • MIPlearnで解をMLで生成するときに利用 • 将来の問題例を文脈から生成するときに利用 問題例 特徴 文脈(コンテキスト)
  • 44.
    問題例間の距離の計算法 • 構造が同じで重みだけの場合には相関やcosine類似度などの尺度 • ヒストグラムに変換して分布間の距離の尺度(Kullback-Leibler DivergenceやEarthMover距離) • 構造が変わる場合  1つの問題例の点(構成要素)ともう1つの問題例の点との距離を計算  1つの問題例をもう1つの問題に変換する最大位数の費用最小マッチング(重み 付きの場合には輸送問題)を解くことによって対応付け  対応付けができなかった点に対しては,ペナルティ
  • 45.
    距離の利用法 • 距離(類似度)を用いてクラスタリング • 特徴(文脈)からクラスタリングを当てる分類器を生成 (k-近傍法や決定木) •将来の既知の文脈から問題例を生成 K-近傍法の場合には,近いk個の文脈に対応する問題例を返す 決定木の場合には,葉に含まれるクラスターに含まれる問題例をラン ダムに選択
  • 46.
  • 47.
    おわりに • 提案したものは完全な分類ではない(あくまで便宜的) • MO+MLの研究は急速に拡大 •応用範囲は無限 • 動的最適化モデルに対する新しいフレームワークの提案 • 様々な分野で独立に研究 • 今後は,分野を超えた交流が必要