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

【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX

Avatar for BrainPad BrainPad
August 08, 2025

 【OptimizationNight】数理最適化のラストワンマイルとしてのUIUX

2025年8月6日に開催された「数理最適化: Optimization Night #10」での、
株式会社 ブレインパッド魚井の登壇スライドです。

イベントURL
https://optimization.connpass.com/event/362132/

※ 本資料の公開は、ブレインパッドをもっとオープンにする取り組みOpenBPの活動です。
[OpenBrainPad Project]
https://brainpad.github.io/OpenBrainPad/

Avatar for BrainPad

BrainPad

August 08, 2025
Tweet

More Decks by BrainPad

Other Decks in Technology

Transcript

  1. 3 ©BrainPad Inc. Strictly Confidential はじめに:「解く」以外の数理最適化の話がもっと合ってよいのでは? 2. 解く 混合整数計画法 量子コンピュータ

    ヒューリスティックアルゴリズム 多目的最適化 厳密解法 NP困難 1. 見つける 課題ヒアリング 要件整理 3. 使わせる UI/UX 結果の可視化 重要な割にニュースに ならない 本日の話 いつか話したい
  2. 5 ©BrainPad Inc. Strictly Confidential 1. 現実問題と結果の違和感、数理最適化の限界? 2. 生産計画プロジェクトの例 3.

    投資計画プロジェクトの例 4. 数理最適化に有用なUIコンポーネントのオープンソース化について 目次
  3. 7 ©BrainPad Inc. Strictly Confidential 人の意思決定を自動化、省力化するのが目的であって、「数理最適化」をやってほしいわけではない。 数理最適化「だけ」のプロジェクトは存在しない 1. 現場見学 2.

    入力データ設計 3. アルゴリズム開発 4. アプリケーション開発 5. 現場活用 2月1週目 作業指示書 ラインA: 10時 ラインB:12時 ・Bラインは使わずに実行したい。 ・この品目はもっと前倒しであるべき。 ・間が空きすぎるのは良くない。 ライン名 製品 生産能力 AA X 20 BB Y 40 製品名 成分1 成分2 X 0.3 0.7 Y 0.5 0.5 :ラインlの生産順序 :ラインlの生産開始列 メイクスパン最小化 ラインA ラインB 品目A-1 品目A-2 品目B-2 品目B-1 実行 現場課題 もはや、総合格闘技。。
  4. 8 ©BrainPad Inc. Strictly Confidential 現実には、必ずしもモデルを改良しなくても、入力データ側で対応できることや、結果の修正で対応できることがある。 裏を返せば、数理最適化だけで解決する必要はない 2. 入力データ設計 3.

    アルゴリズム開発 4. アプリケーション開発 ライン名 製品 生産能力 AA X 20 BB Y 0 :ラインlの生産順序 :ラインlの生産開始列 メイクスパン最小化 ラインA ラインB 品目A-1 品目A-2 品目B-2 品目B-1 入れ替え 入力データを0にしてし まえば、制約がないの と同じ。 少しの意思入れはしたい
  5. 10 ©BrainPad Inc. Strictly Confidential クリティカルでない、違和感解消のための制約はON/OFFできるようにしておくことで、ユーザーの意思に委ねることが できる。 【あるべき姿?】クリティカルでない制約は実行時にON/OFFできるようにする 【クリティカルな制約】 •

    品目の開始と終了時刻は被らない。 • 1日の生産は9時から始まって17時に終わる。 【違和感解消、突発的な制約】 ・品目Aの後に、品目Cは生産しない。 ・停止期間の直後には、品目Dは生産しない。 品目C 品目A 品目A 品目C × ハードコードでOK モデリングの段階で分岐する
  6. 11 ©BrainPad Inc. Strictly Confidential 目的関数値が悪化するがそれでも、それが良いことを受け入れてもらう必要がある。 【あるべき姿?】修正することで、目的関数値の変化を見せて、最終決定はユーザーに委ねる 品目C 品目A 品目B

    品目A 品目B 品目C 生産量 200 品目A 品目B 品目C 納期達成 18/20 • 生産量が落ちたとしても、それを受け入れても らう • 稀に、ユーザーの直感が目的関数を良くするこ ともある!(ローカルミニマムを抜ける!)
  7. 12 ©BrainPad Inc. Strictly Confidential Aの後にBというような分岐が発生する制約は、定式化できるにはできるが、数理最適化のパフォーマンスを失う場合が多 い。 【数理最適化の限界?】順序制約と、解の質 順序に関する制約条件 品目A

    品目B 休憩 品目A Aの後にBが来る。 休憩の後にAが来る。 分岐する発生する制約条件は、どの解法であっても解の質が大きく落ちる(気がする)。 【整数計画ソルバー】 • 分岐を判定するための0-1変数(Indicator変 数)が必要。 【ヒューリスティックソルバー】 • 分岐を判定するための演算子(if-else演算子) が必要。 12時を過ぎたら休憩をとる。 休憩 12時
  8. 13 ©BrainPad Inc. Strictly Confidential 順序スコアは、他の目的関数とバッティングしがち。 【数理最適化の限界?】順序スコアと多目的最適化 順序に関する目的関数 計画終了期 品目A

    品目B 品目C 品目C 品目A 品目B 品目A 品目B 品目C スコア:70 スコア合計 245 【目的関数の優先順位】 ・スコア合計の最大化 > 計画終了期の最小化 ・計画終了期の最小化 > スコア合計の最大化 スコア:20 スコア:40 目的関数の優先度の変化で結果が大きく変わる。
  9. 14 ©BrainPad Inc. Strictly Confidential 辞書式最適化は、強力な手法ではあるが、人間の頭はそうはなっていないように思います。 【数理最適化の限界?】辞書式最適化は、一見良さそうだが、人間の頭と異なる 辞書式最適化 人間の頭 ・第1目的関数が変わらない→第2目的関数を最適化

    ・第2目的関数が変わらない→第3目的関数を最適化 目的関数のスケールの違いを気にしなくてよい。 (重みづけしなくてよい) 目的関数に暗黙的な重みがあるように見える。 生産量 200 切替スコア 321 生産量が変わらないなら、切り替えスコアを最大化 生産量 180 切替スコア 341 互いの良さを複合的に考える ・明確な良さが明文化できない。
  10. 16 ©BrainPad Inc. Strictly Confidential リアルタイムに制約や目的関数を評価するためには、数理最適化問題を一度解く必要があり、そこが課題。 【課題】目的関数と制約判定のリアルタイム評価 品目C 品目A 品目B

    品目B 品目C 生産 不可枠 ・目的関数の計算 ・全ての制約条件の判定 品目A 修正 生産量 200 切替スコア 321 0秒で最適化を解く or 非同期で再計算 制約違反 再評価
  11. 18 ©BrainPad Inc. Strictly Confidential 生産スケジューリングとは「何をいつからいつまで生産するか」を決めるため、順序と量の双方に関して違和感が出やす いテーマと言えます。 生産計画(スケジューリング)と違和感 ライン1 ライン2

    ラインN ・ ・ ・ 生産量 200 切替スコア 321 納期達成 18/20 時間軸 品目C 品目A 品目B 品目B 品目C 生産 不可枠 品目A 【ありがちな違和感】 • 在庫量が足りないものから作るのが普通 • 生産不可枠の後は、品目Aは作らない • 製品の切替は、スコアが高いもの同士が 隣りになるべき。 • 1日の生産量は平準化されるべき。 • 12時を過ぎたら休憩を挟む。 品目A ・ ・ ・ ・ ・ ・ 品目B 品目C 在庫量 A C B
  12. 19 ©BrainPad Inc. Strictly Confidential 以下のような5つが主に必要。しかし、それによる目的と制約の判定をどこまで真面目にやるかは悩みどころ。 どのような修正が必要か? ライン1 ライン2 ラインN

    ・ ・ ・ 生産量 200 切替スコア 321 納期達成 18/20 時間軸 品目C 品目A 品目B 品目B 品目C 生産 不可枠 品目A 品目A ・ ・ ・ ・ ・ ・ 品目B 品目C 在庫量 A C B 伸ばす (生産量を多くしたい。) × 消す (生産を取り消したい) 品目D 追加する (急な注文に対応したい) 品目C 品目C ちぎる (細切れに生産したい) 入れ替える (先に生産したい)
  13. 21 ©BrainPad Inc. Strictly Confidential 投資計画は、「何をいつどれだけ投資するか」を決めるため、全体に占める割合に対する違和感が出やすいテーマと言え ます。 投資計画と違和感 年月日 2025/2/1

    2025/2/7 2025/2/13 2025/2/19 費目A 300 230 180 300 費目B 250 200 100 260 費目C 120 240 120 210 天気予報 晴れ 雨 曇り 雨 キャンペーン あり なし なし あり 獲得の合計 220,000 売上の合計 56,000 獲得数 【ありがちな違和感】 • 予測値が大きすぎる。 • 費目が特定のものに偏りすぎている。 • 週ごとの差が偏りすぎている。 時間軸 機械学習による 予測等 制約:足して2000になる。
  14. 22 ©BrainPad Inc. Strictly Confidential 以下のような3つが必要と思っています。同じく、目的と制約の判定をどこまで真面目にやるかは悩みどころ。 どのような修正が必要か? 年月日 2025/2/1 2025/2/7

    2025/2/13 2025/2/19 費目A 300 230 180 300→340 費目B 250 200 100 260 費目C 120 240 120 210 天気予報 晴れ 雨 曇り 雨 キャンペーン あり なし なし あり→なし 獲得の合計 220,000 売上の合計 56,000 獲得数 時間軸 数値を修正 (人の仮説を試したい。) カテゴリを修正 (イベントの変化を見たい。) 行の追加 (費目を追加したい。) 費目D