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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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

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

Avatar for MIKIO KUBO

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%の誤差 Þ

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