Share
Embed
Transcript
41 slides
-
従来の課題 l数理モデルの定式化には専門知識が必要 l 問題文からモデルへの変換は手作業 lモデル作成コストが高く,汎用化が難しい A fighter jet is a
crucial combat tool, but to make a fighter jet effective, enough pilots are required. Therefore, a portion of the produced fighter jets, besides those used directly in combat, must be allocated for training pilots. Given that the annual production of fighter jets is 𝑎! (𝑗 = 1,2), with 𝑎" = 10 and 𝑎# = 15, furthermore, each fighter jet can train 5 pilots per year. How should the annual production of fighter jets be allocated to maximize their contribution to air defense over 𝑛 years? , $∈& , '∈(! 𝑐' $𝑥' $ + , )∈* 𝑐) + 𝑦) + , ,∈- 𝑐, .𝑧, + , /∈0" 𝑐/ 𝑢/ , $∈& , '∈(! , )∈*# 𝑎)' $ 𝑥' $ − , )∈*$ 𝑦) + 𝑧, = 1 𝑦) − , $∈& , '∈(! 𝑎)' $ 𝑥' $ ≤ 0 6 -
従来の課題 l問題を自然言語で記述 l専門家が決定変数,目的関数,制約条件を抽出 l代数モデリング言語で記述 , $∈& , '∈(! 𝑐' $𝑥'
$ + , )∈* 𝑐) + 𝑦) + , ,∈- 𝑐, .𝑧, + , /∈0" 𝑐/ 𝑢/ , $∈& , '∈(! , )∈*# 𝑎)' $ 𝑥' $ − , )∈*$ 𝑦) + 𝑧, = 1 𝑦) − , $∈& , '∈(! 𝑎)' $ 𝑥' $ ≤ 0 set R; set P; param a {R,P} >= 0; param b {R} > 0; param c {P} > 0; param u {P} > 0; var x{j in P} >= 0, <= u[j]; maximize total_profit: sum{j in P} c[j] * x[j]; subject to supply {I in R}: sum {j in P} a[I,j] * x[j] <= b[i]; 7 -
定式化とは? 現実世界の課題を数学的な表現に変換するプロセス 1. 決定変数の特定と定義. 「何を決めるか?」 • 生産量を決めたい 2. 目的関数の特定と定義. 「どうしたいか?」
• 利益を最大化したい 3. 制約式の特定と定義. 「どんな条件があるか?」 • 使用可能な原材料は3トンまで 8 -
定式化とは? 現実世界の課題を数学的な表現に変換するプロセス 1. 決定変数の特定と定義 2. 目的関数の特定と定義 3. 制約式の特定と定義 最⼤化. ∑
!1" 2 𝑐! 𝑥! 𝑥! ∶ ルート j を採用するとき1,それ以外 0 , !1" 2 𝑎3! 𝑥! ≤ 𝑏3 (𝑖 = 1,2, … , 𝑚) 9 -
LLMによる支援の難しさ 1. 曖昧な用語 lvehicle と car, priceとcapacity, 𝑝と𝑐, 𝑥と𝑦 2.
暗黙の前提の省略 l人数は非負整数 3. 長いコンテクスト l50ページの問題記述をLLMに渡せるか? 4. 信頼性の低い出力 l不正確なモデル,実行できないコードを出力することがある 11 -
問題文を直にChatGPTに? • ある工場では、食品Iと食品IIの2種類を生産している。現在、熟練労働者が 50人いる。 • 熟練労働者1人あたり、食品Iは毎時10kg,食品IIは毎時6kg 生産できる。 • 各労働者は週に40時間働く。 •
予約により、今後8週間で両食品の需要が表1-11のように急増する。 • そのため、工場では8週目までに新たに50人の労働者を訓練して確保するこ とを決定した。 問題⽂(⾃然⾔語) IndustrialORの問題 12 -
問題文を直にChatGPTに? 訓練と労働条件 • 熟練労働者1人は2週間で最大3人の新人を訓練可能 (訓練期間中、訓練者・訓練生は生産に参加しない) • 熟練労働者の週給は360元、訓練中の新人は120元、訓練後の労働者は240元 • 熟練労働者のうち一部は60時間の時間外勤務も可能(週給540元) 遅延ペナルティ
• 食品Iが1kg/1週遅れるごとに0.5元 • 食品IIが1kg/1週遅れるごとに0.6元 問題⽂(⾃然⾔語) IndustrialORの問題 13 -
問題文を直にChatGPTに? l ChatGPTの出した定式化・プログラムの最適解: 158292 l 正解: 219816 l 各LLMは,数理モデル化の性能もどんどん良くなっている l
しかし,複雑な問題では間違えることがある 16 -
アプローチ分類 1. パイプライン型:エンティティ抽出 → モデル生成 2. マルチエージェント型:複数LLMで役割分担 3. プロンプト一括型:GPT-4等に一発指示 4.
特化型LLM:LLM自体を訓練 5. 質問応答型+ソルバー連携: ユーザとLLMが自然言語で対話, 実行はソルバー 17 -
実例: 輸送問題(transportation problem) 問題文: ある企業は3つの工場と4つの倉庫を持ち,各工場の供給能 力と倉庫の需要が決まっている。輸送コストを最小化するモデルを構 築せよ。 import pulp prob
= pulp.LpProblem("Transportation", pulp.LpMinimize) x = pulp.LpVariable.dicts("x", [(i, j) for i in plants for j in warehouses], lowBound=0) ……… LLM出力例(PuLPコード) 19 -
ベンチマークとは? l LLMを用いたアプローチを評価するための問題集 l 同じ問題を解くことで,各アプローチの性能が比較できる l 数理最適化では,混合整数最適化のMIPLIB, 半正定値最適化の SDPLIBなどが確立されている l
数理最適化向けLLMベンチマークの定め方は,まだ確立されていない 20 -
NL4OPT タスク1: エンティティの抽出 l ラベル: “制限”, テキスト:“60,000” (17字-23字目) l ラベル:
“制約方向”, テキスト:“available” (24字-33字目) l ラベル: “目的方向”, テキスト:“maximize” (400字-409字目) l ラベル: “目的名”, テキスト:“return” (413字-433字目) 23 -
NL4OPT タスク2: 定式化 最大化 0.07𝑥 + 0.02𝑦 条件 𝑥 +
𝑦 ≤ 60000 𝑥 ≥ 0.15(𝑥 + 𝑦) 𝑦 ≤ 0.6(𝑥 + 𝑦) 24 -
IndustryOR 問題の例(自然言語) (1/3) 元々は英語 レッドスター・プラスチック工場では、6種類の異なるプラスチック容器を製造して います。各容器の種類は、それぞれ特定の容量、市場需要、そして単位あたりの可 変製造コストによって特徴づけられており、その詳細は表5-11に示されています。 Type 1 2
3 4 5 6 Volume 1500 2500 4000 6000 9000 12000 Market Demand 500 550 700 900 400 300 Unit Variable Production Cost 5 8 10 12 16 18 25 -
IndustryOR 問題の例(自然言語) (2/3) いずれの容器タイプの生産にも、それ専用の特殊な設備の使用が必要です。特定の容器タイプの 生産設備を稼働させる(すなわち、その容器タイプの生産量がゼロを超える)場合、その設備に 対して固定のセットアップ費用として1,200元が発生します。 ある容器タイプの生産量が、そのタイプの直接需要を満たすには不十分な場合、工場は他の容量 が同等またはそれ以上の容器タイプを代替として使用し、不足分の需要を補うことができます。 たとえば、タイプ2の容器(容量2,500 cm³)は、タイプ1の容器(容量1,500
cm³)の需要を満た すために使用することができますが、タイプ1の容器をタイプ2の需要に使うことはできません。 本問題においては、容器タイプのコードは容量の昇順に並べられています。 26 -
OptiMUS l 前処理 l パラメータ,条項,背景 l 複数エージェントアプローチ l マネージャー :
作業の調整 l 定式化 : 変数・制約・目的の定式化と修正 l プログラマー : コード生成,デバッグ l 評価者 : コードの実行とエラー特定 30 -
OptiMUS l NLP4LP: 新たなベンチマーク l NP4Opt, ComplexORより複雑な問題 l より複雑で長い問題記述 l
54のLPと13のMILP l 工場配置,ネットワークフロー,スケジューリングなど 32 -
ベンチマーク比較 l NL4OPT (2022) l MAMO (2024) l NLP4LP (2024)
l OptiGuide (2023) l IndustryOR(2024) l OptiBench (2024) 36 -
名称 問題数 特徴 評価指標 アプローチ NL4OPT (2022) 289 (LP) •
自然言語記述から最適化問題 の意味抽出と定式化生成が目 的 • エンティティ認識 の精度(F1スコア) • 数学的表現への変 換精度 • パイプライン型 (エンティティ抽出 →モデル生成) MAMO (2024) 1059 (LP/MILP, ODE) • LLMの数理モデリング能力を評 価する目的 • 過程に焦点 • ソルバーによる最 適解の一致率 • ソルバー連携型 (モデル構築はLLM, 求解はソルバー) NLP4LP (2024) 67 (54LP/13MILP) • 記述が複雑で長い問題. • 工場配置,スケジューリング など • 解けた問題の割合 • OptiMUS (マルチエージェン ト型) 37 -
名称 問題数 特徴 評価指標 アプローチ OptiGuide (2023) 多数のQ&Aペア • MSでのサプライチェーン事
例に基づくLLMとソルバー の協調フレームワーク • What-ifシナリオ に対するコードの 正答率 • 汎用性や外挿能力 • 質問応答+ソル バー連携 IndustryOR (2024) 100 (実世界OR) • 実世界のオペレーション ズ・リサーチの問題 • ソルバーによる最 適解の一致率 • ORLM (特化型LLM) OptiBench (2024) 605 (実世界OR) • 非線形計画問題や表形式 データを含む • Pass@1精度(単一 呼び出しで解けた 問題の割合) • OptimAI(マルチ エージェント型) 38 -
ベンチマーク別性能比較での傾向 l マルチエージェント型アプローチの有効性 l 問題を複数の専門エージェントに分割し,今日調査させることで, 単一のLLMでは困難な複雑なタスクも高精度で解決できる可能性 l プロンプト設計の重要性 l デバッグ機能の統合
l コード生成後のデバッグプロセスをLLMに行わせることで,全体 の信頼性が向上 l LLMの汎化能力の向上 39