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

機械学習と最適化の融合 動的ロットサイズ決定問題を例として

機械学習と最適化の融合 動的ロットサイズ決定問題を例として

数理最適化のための機械学習という分類に属するアプローチを,簡単な例題で解説しました.

MIKIO KUBO

May 02, 2024
Tweet

More Decks by MIKIO KUBO

Other Decks in Research

Transcript

  1. ML4MO • 機械学習 (ML)を⽤いて数理最適化(MO)を⾼速化 ü MIPLearn:解のヒントを得る ü Optimization Proxies:近似解を得る ü

    Optimization Voice:整数変数と等式制約を得る 機械学習 問題例 デコーダー 解 解のエンコーディング エンコーディングを解に ⾼速に変換するアルゴリズム エンコーディング デコーダー MIPlearn 付加される制約 MIPソルバー Opt. Proxies (実⾏不能)解 修復層 Opt. Voice 等号制約,整数変数 連⽴⽅程式
  2. 動的ロットサイズ決定問題 期(⽇,週,⽉,時間):0, 1,2,3,4(5⽇分) 段取り ⽣産 段取り費⽤: 3万円 需要量 : 5,7,3,6,4

    (⽇あたりの必要量;トン) 在庫費⽤ : 1⽇あたり1万円 ⽣産費⽤ : 1,1,3,3,3 (1トンあたり) 0 1 2 3 4 計画期間 T = 5
  3. 機械学習の適⽤ 固定費⽤ 在庫費⽤ 変動費⽤ 需要データ 固定データ 変動データ array([[1., 6., 8.,

    ..., 8., 7., 5.], [1., 8., 4., ..., 1., 3., 3.], [5., 9., 5., ..., 3., 8., 7.], ..., [2., 9., 2., ..., 6., 2., 6.], [7., 4., 6., ..., 6., 7., 2.], [1., 2., 4., ..., 7., 6., 7.]]) サンプル数 × T 多出⼒ 分類 array([[1, 1, 1, ..., 0, 1, 1], [1, 1, 1, ..., 1, 0, 1], [1, 1, 0, ..., 0, 1, 0], ..., [1, 1, 1, ..., 0, 0, 1], [1, 0, 1, ..., 0, 1, 0], [1, 0, 1, ..., 1, 0, 1]]) 段取りデータ サンプル数 × T 各需要データに対する最適解 (容量制約なしの場合には, 段取り変数のみで表現できる) 機械学習
  4. 実験結果 • ランダム森を多出⼒に変換(MultiOutputClassifier) • 10000サンプルをランダムに⽣成し,90%で訓練,10%でテスト • T =10 で正解率0.953,近似解の幾何平均は 0.1%の誤差

    • T=20 で正解率 0.70 ,近似解の幾何平均は 0.5%の誤差 Þ実数変数を含む場合には,等号になる不等式制約をターゲットに追加 (Optimization Voice)
  5. MIPLearnの適⽤ 需要データ array([[1., 6., 8., ..., 8., 7., 5.], [1.,

    8., 4., ..., 1., 3., 3.], [5., 9., 5., ..., 3., 8., 7.], ..., [2., 9., 2., ..., 6., 2., 6.], [7., 4., 6., ..., 6., 7., 2.], [1., 2., 4., ..., 7., 6., 7.]]) サンプル数 × T k-近傍 array([[1, 1, 1, ..., 0, 1, 1], [1, 1, 1, ..., 1, 0, 1], [1, 1, 0, ..., 0, 1, 0], ..., [1, 1, 1, ..., 0, 0, 1], [1, 0, 1, ..., 0, 1, 0], [1, 0, 1, ..., 1, 0, 1]]) 段取りデータ サンプル数 × T 機械学習 訓練データ [6., 4., 6., ..., 6., 7., 2.] テストデータ [1, 0, 1, ..., 0, 0, 1], [1, 0, 1, ..., 1, 1, 0], [1, 0, 1, ..., 1, 0, 1] テストデータに近い k 個の サンプル需要に対する最適解 段取り頻度が⼤きいものは 1 に固定 ⼩さいものは0に固定 ソルバーで求解
  6. 実験結果 • 10000サンプルをランダムに⽣成し,90%で訓練,10%でテスト • T = 30 までで幾何平均は 0%の誤差 Þ

    他にも解のヒントや等式になる制約などを追加可能 Þ 容量制約付きの場合には,ランダム森で得た実⾏不能近似解を ヒントや探索範囲限定に使う