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

白金鉱業Meetup Vol.16_【初学者向け発表】 数理最適化のはじめの一歩 〜身近な問題...

BrainPad
December 11, 2024

白金鉱業Meetup Vol.16_【初学者向け発表】 数理最適化のはじめの一歩 〜身近な問題で学ぶ最適化の面白さ〜

2024年12月11日に実施した、白金鉱業 Meetup Vol.16@六本木(数理最適化)でのブレインパッド田口の登壇スライドです。

イベントURL
https://brainpad-meetup.connpass.com/event/335599/

BrainPad

December 11, 2024
Tweet

More Decks by BrainPad

Other Decks in Science

Transcript

  1. 2 ©BrainPad Inc. Strictly Confidential 自己紹介 入社 田口 雅也 Taguchi

    Masaya 2024年新卒入社 職種 データサイエンティスト 専攻 数学(最適化アルゴリズム) # DC計画問題 # 逆凸計画問題 趣味 • ドラム • 温泉 • 旅行 案件 • 2024年7月〜:配送計画問題
  2. 3 ©BrainPad Inc. Strictly Confidential はじめに 本セッションでは、数理最適化の大体のイメージを理解してもらい、身近な問題を通して最適化の面白さを 感じてもらうことが目標です。 ⚫ 数理最適化ってなに?って人

    ⚫ 数理最適化でどんなことができるか知りたい人 対象となる人 ⚫ 数理最適化の大体のイメージを理解してもらい、今後ご自身で学習を進める際にスムーズに取り 組めるようになる ⚫ 身近な問題を通して最適化の面白さを感じてもらう ゴール
  3. 4 ©BrainPad Inc. Strictly Confidential アジェンダ 1. 数理最適化イントロダクション 2. 線形計画問題

    • お店の売上を最大化 3. 混合整数計画問題 • 新卒研修チーム組合せ最適化
  4. 6 ©BrainPad Inc. Strictly Confidential 数理最適化とは 数理最適化とは現実の問題を定式化し、守るべき条件(制約条件)を満たしつつコストの最小化や利益が最 大化されるような最適な解を求める手法です。 遠足に持っていくお菓子(ナップサック問題) 最適化問題1

    遠足にもっていくお菓子の候補がある。ただし、遠足に持っていくお菓子の金額は1,000円以内に抑える必要がある。また、 お菓子によってもたらされる「美味しさ」は金額とは別に与えられている。「美味しさ」を最大化するにはどのお菓子を 遠足に持っていけば良いか。 価格:300円 美味しさ:3 価格:400円 美味しさ:5 価格:900円 美味しさ:10 価格:200円 美味しさ:1 • 目的関数:「美味しさ」を最大化 • 制約条件:1,000円以内(予算) 現実問題 定式化 アルゴリズムやソルバーによる求解 • 汎用ソルバーによる解法 • フルスクラッチアルゴリズムによる 解法
  5. 7 ©BrainPad Inc. Strictly Confidential 数理最適化とは 配送計画問題 最適化問題2 スケジューリング問題 最適化問題3

    配送経路や配送スケジュールを最適化 目的関数 ➢ 移動コストを最小化 ➢ 人件費を最小化 など 制約条件 ➢ 車両台数 ➢ 時間指定 ➢ 稼働時間 など 工場の作業スケジュールや人員シフトの管理を最適化 目的関数 ➢ 作業完了時間の最小化 ➢ 収益の最大化 など 制約条件 ➢ 作業順序 ➢ 期日 ➢ 勤務時間 など 配送先A 配送先B 拠点 配送先C スタッフA スタッフB スタッフC 食品加工・調理 休憩 在庫管理 レジ対応 休憩 清掃 清掃 休憩 レジ対応 9:00 22:00 他にも最適化問題として定式化できるものは沢山あります。 ナップサック問題や配送計画問題、スケジューリング問題は最適化問題の典型問題として扱われています。
  6. 9 ©BrainPad Inc. Strictly Confidential 数理最適化と機械学習の違い 機械学習は膨大なデータを学習して予測を行い、数理最適化は明確に定義された目的関数と制約条件のもと で最適な意思決定を行います。 引用元:株式会社ブレインパッド DOORS「数理最適化とは?」

    機械学習 数理最適化 データから学習し、予測する。 目的関数、制約条件のもとで最適な意思決定を行う 目的関数:満足度の期待値を最大化 制約条件:傘を持って歩く or 車を利用する 過去のデータ 明日、60%の確率で雨が降ります(予測) その先の行動は人の判断になる 明日、60%の確率で雨が降ります 車を利用すべき(意思決定)
  7. 10 ©BrainPad Inc. Strictly Confidential 最適化問題を解くまでの一連の流れ 1. 最適化問題の定式化、2. アルゴリズムによる求解、3. 計算結果の分析・検証、4.

    最適化問題とアルゴリズ ムの再検討という一連の流れで最適化問題を解きます。 引用元:梅谷俊治「しっかり学ぶ数理最適化」 現 実 問 題 最 適 化 問 題 計 算 結 果 解 決 策 定式化 アルゴリズム やソルバー による求解 分析・検証 最適化問題とアルゴリズムの再検討
  8. 12 ©BrainPad Inc. Strictly Confidential 代表的な最適化問題 数理最適化といっても様々な最適化問題が存在します。 変数、目的関数、制約条件の性質によって以下のように分類する場合が多いです。 引用元:梅谷俊治「しっかり学ぶ数理最適化」 連続最適化

    変数が実数値のような連続的な値を取る最適化問題 離散最適化(組合せ最適化) 変数が整数値や{0, 1}の2値のような離散的な値をとる最適化問 題や、最適解を含む解の集合が順列やネットワークなど組合せ 的な構造を持つ最適化問題 非線形計画問題 2次計画問題 線形計画問題 整数計画問題 混合整数計画問題 ネットワーク最適化問題
  9. 13 ©BrainPad Inc. Strictly Confidential 代表的な最適化問題 今回は線形計画問題と混合整数計画問題の例を用いてご説明します。 引用元:梅谷俊治「しっかり学ぶ数理最適化」 連続最適化 変数が実数値のような連続的な値を取る最適化問題

    離散最適化(組合せ最適化) 変数が整数値や{0, 1}の2値のような離散的な値をとる最適化問 題や、最適解を含む解の集合が順列やネットワークなど組合せ 的な構造を持つ最適化問題 線形計画問題 混合整数計画問題
  10. 15 ©BrainPad Inc. Strictly Confidential 線形計画問題(LP:Linear Programming)とは 線形計画問題とは目的関数が線形関数で、すべての制約条件が線形の等式もしくは不等式で表された最適化 問題です。 線形計画問題1

    線形計画問題2 5𝑥1 + 4𝑥2 𝑥1 + 2𝑥2 ≤ 80, maximize subject to 4𝑥1 + 4𝑥2 ≤ 180, 𝑥1 ≥ 0, 𝑥2 ≥ 0. 3𝑥1 + 𝑥2 ≤ 90, −3𝑥1 − 5𝑥2 2𝑥1 + 𝑥2 ≤ 4, maximize subject to 𝑥1 + 3𝑥2 = 6, 𝑥1 ≥ 0, 𝑥2 ≥ 0.
  11. 16 ©BrainPad Inc. Strictly Confidential お店の売上を最大化|1/5 簡易的なビジネス課題を最適化問題として定式化します。 問題文 あるお店では、クッキーとケーキの2種類を製造・販売しています。 クッキーは500円、ケーキは1,200円で販売しています。

    売上を最大化するには、クッキーとケーキはいくつ作ればいいですか? ただし、以下の条件を満たす必要があります。 • 各商品は、小麦粉と砂糖を材料とする • 各商品を1つ作るのに必要な材料の量は、下表の通り • 使える材料の量は、下表の使用可能量の通り 商品 材料 クッキー ケーキ 材料の使用可能量 小麦粉 0.4 Kg 1.5 Kg 50 Kg 砂糖 0.2 Kg 1.0 Kg 30 Kg
  12. 17 ©BrainPad Inc. Strictly Confidential お店の売上を最大化|2/5 まず最初に決定変数を定義します。 問題文 考え方 •

    本問で決めたいことは「クッキーとケーキを何個ずつ作る か」である。 • よって、作る個数を以下のように定める。 • クッキーを作る個数:𝑥1 • ケーキを作る個数:𝑥2 • このように、目的を達成するために操作する変数のことを決 定変数と呼ぶ。 あるお店では、クッキーとケーキの2種類を製造・販売していま す。クッキーは500円、ケーキは1,200円で販売しています。 売上を最大化するには、クッキーとケーキはいくつ作ればいい ですか? ただし、以下の条件を満たす必要があります。 • 各商品は、小麦粉と砂糖を材料とする • 各商品を1つ作るのに必要な材料の量は、下表の通り • 使える材料の量は、下表の使用可能量の通り 商品 材料 クッキー ケーキ 材料の使用可能量 小麦粉 0.4 Kg 1.5 Kg 50 Kg 砂糖 0.2 Kg 1.0 Kg 30 Kg
  13. 18 ©BrainPad Inc. Strictly Confidential お店の売上を最大化|3/5 続いて決定変数を用いて目的関数を表します。 問題文 考え方 •

    本問の目的は「売上を最大化すること」である。 • 売上はクッキーの売上とケーキの売上の合計 • 売上 =クッキーの売上 + ケーキの売上 = 500𝑥1 + 1200𝑥2 • 最適化では以下のように表記する maximize 500𝑥1 + 1200𝑥2 あるお店では、クッキーとケーキの2種類を製造・販売していま す。クッキーは500円、ケーキは1,200円で販売しています。 売上を最大化するには、クッキーとケーキはいくつ作ればいい ですか? ただし、以下の条件を満たす必要があります。 • 各商品は、小麦粉と砂糖を材料とする • 各商品を1つ作るのに必要な材料の量は、下表の通り • 使える材料の量は、下表の使用可能量の通り 商品 材料 クッキー ケーキ 材料の使用可能量 小麦粉 0.4 Kg 1.5 Kg 50 Kg 砂糖 0.2 Kg 1.0 Kg 30 Kg
  14. 19 ©BrainPad Inc. Strictly Confidential お店の売上を最大化|4/5 最後に決定変数を用いて制約条件を表します。 問題文 あるお店では、クッキーとケーキの2種類を製造・販売していま す。クッキーは500円、ケーキは1,200円で販売しています。

    売上を最大化するには、クッキーとケーキはいくつ作ればいい ですか? ただし、以下の条件を満たす必要があります。 • 各商品は、小麦粉と砂糖を材料とする • 各商品を1つ作るのに必要な材料の量は、下表の通り • 使える材料の量は、下表の使用可能量の通り 商品 材料 クッキー ケーキ 材料の使用可能量 小麦粉 0.4 Kg 1.5 Kg 50 Kg 砂糖 0.2 Kg 1.0 Kg 30 Kg 考え方 • 本問の制約条件は材料の使用可能量 • 小麦粉は50Kgまで使用でき、クッキーが0.4Kg、ケーキが 1.5Kg必要である。よって、 0.4𝑥1 + 1.5𝑥2 ≤ 50 • 同様に砂糖の材料の制約は 0.2𝑥1 + 1.0𝑥2 ≤ 30 • 最適化では以下のように表記する。 subject to 0.4𝑥1 + 1.5𝑥2 ≤ 50 0.2𝑥1 + 1.0𝑥2 ≤ 30
  15. 20 ©BrainPad Inc. Strictly Confidential お店の売上を最大化|5/5 得られた決定変数、目的関数、制約条件は下記の通りになります。 問題文 定式化 500𝑥1

    + 1200𝑥2 0.4𝑥1 + 1.5𝑥2 ≤ 50, maximize subject to 0.2𝑥1 + 1.0𝑥2 ≤ 30, あるお店では、クッキーとケーキの2種類を製造・販売していま す。クッキーは500円、ケーキは1,200円で販売しています。 売上を最大化するには、クッキーとケーキはいくつ作ればいい ですか? ただし、以下の条件を満たす必要があります。 • 各商品は、小麦粉と砂糖を材料とする • 各商品を1つ作るのに必要な材料の量は、下表の通り • 使える材料の量は、下表の使用可能量の通り 商品 材料 クッキー ケーキ 材料の使用可能量 小麦粉 0.4 Kg 1.5 Kg 50 Kg 砂糖 0.2 Kg 1.0 Kg 30 Kg 𝑥1 ≥ 0, 𝑥2 ≥ 0.
  16. 22 ©BrainPad Inc. Strictly Confidential 混合整数計画問題(MIP:Mixed Integer Programming)とは 決定変数に対して実数と整数の両方が含まれるような問題のことを混合整数計画問題と呼びます。 混合整数計画問題1

    混合整数計画問題2 −2𝑥1 + 𝑥2 −2𝑥1 − 3𝑥2 ≥ −6, maximize subject to 𝑥1 − 2𝑥2 ≥ −2, 𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥1 ∈ ℤ, 𝑥2 ∈ ℝ. −3𝑥1 − 5𝑥2 2𝑥1 + 𝑥2 ≤ 4, maximize subject to 𝑥1 + 3𝑥2 = 6, 𝑥1 ≥ 0, 𝑥2 ∈ 0, 1 .
  17. 24 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|1/9 実際に新卒1年目の同期で集まり取り組んだ課題です。 新卒研修のチーム決めを最適化問題として定式化します。 問題文 あなたはミニプロジェクトのチーム決めを任されました。

    新卒1年目の方々と話し合った結果、4つの条件を考慮したチームの組合せを考えることにしました。 • 17名を5つのいずれかのチームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3カテゴリに分けて、それぞればらけるようにする チーム1 チーム2 ・・・
  18. 25 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|2/9 まず最初に集合・定数を定義します。 問題文 考え方 あなたはミニプロジェクトのチーム決めを任されました。新卒1

    年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする チーム1 チーム2 ・・・ • 集合は以下のように定める。 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 • 定数は以下のように定める。 𝑆𝑐𝑜𝑟𝑒𝑖 :人𝑖の分析演習スコア 𝑆𝑐𝑜𝑟𝑒_𝑎𝑣𝑒𝑟𝑎𝑔𝑒:1チームあたりのスコア平均 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 ∈ 0, 1 , 𝑖 ∈ 𝐼, 𝑘 ∈ 𝐾:人𝑖が専攻𝑘出身かどうか
  19. 26 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|3/9 続いて決定変数を定義します。 問題文 考え方 •

    今回の最適化問題は特定の最大化ないし最小化したい目的関 数があるわけではありません。 • 制約を満たす実行可能解を見つける問題として定式化します。 • 決定変数は 𝑥𝑖,𝑗 = ቐ 1 人𝑖がチーム𝑗に割り当てられる 0 人𝑖がチーム𝑗に割り当てられない チーム2 人1 𝑥1,1 = 0 𝑥1,2 = 1 𝑥1,3 = 0 ⋮ 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする
  20. 27 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|4/9 決定変数を用いて制約条件を表します。 問題文 考え方 •

    メンバーをそれぞれ1つのチームに割り当てることを考える。 𝑥1,1 + 𝑥1,2 + 𝑥1,3 + 𝑥1,4 + 𝑥1,5 = 1 𝑥2,1 + 𝑥2,2 + 𝑥2,3 + 𝑥2,4 + 𝑥2,5 = 1 ⋮ 𝑥17,1 + 𝑥17,2 + 𝑥17,3 + 𝑥17,4 + 𝑥17,5 = 1 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 ෍ 𝑗∈𝐽 𝑥𝑖,𝑗 = 1 ∀𝑖 ∈ 𝐼 人1 人2 人17 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする
  21. 28 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|5/9 同様に決定変数を用いて制約条件を表します。 問題文 考え方 •

    17名を5チームに割り当てるので、各チームは3人か4人とな る 3 ≤ ෍ 𝑖∈𝐼 𝑥𝑖,𝑗 ≤ 4 ∀𝑗 ∈ 𝐽 • 各チームにリーダー気質のメンバーを1人以上割り当てる ෍ 𝑖∈𝐼𝑙𝑒𝑎𝑑𝑒𝑟 𝑥𝑖,𝑗 ≥ 1 ∀𝑗 ∈ 𝐽 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする
  22. 29 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|6/9 制約条件は必ず守らなければいけないハード制約と、できるだけ守って欲しいソフト制約があります。 問題文 考え方 •

    すべてのチームの分析演習スコアが均一になるようにする ෍ 𝑖∈𝐼 𝑆𝑐𝑜𝑟𝑒𝑖 𝑥𝑖,𝑗 − 𝑆𝑐𝑜𝑟𝑒_𝑎𝑣𝑒𝑟𝑎𝑔𝑒 = 0 ∀𝑗 ∈ 𝐽 上記を制約条件に入れてしまうと最適解が存在しない(実行不 可能になる)可能性がある。 そのため、”できるだけ”均一になるように条件を緩くする。 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 ハード制約 ソフト制約 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする
  23. 30 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|7/9 違反量の変数を用いてソフト制約を表現します。 目的関数は違反量の最小化を行います。 問題文 考え方

    • すべてのチームの分析演習スコアが均一になるようにする ෍ 𝑖∈𝐼 𝑆𝑐𝑜𝑟𝑒𝑖 𝑥𝑖,𝑗 − 𝑆𝑐𝑜𝑟𝑒_𝑎𝑣𝑒𝑟𝑎𝑔𝑒 = 0 ∀𝑗 ∈ 𝐽 • 違反量を𝑧𝑗 +, 𝑧𝑗 − ≥ 0 𝑗 ∈ 𝐽としたとき、 −𝑧𝑗 − ≤ ෍ 𝑖∈𝐼 𝑆𝑐𝑜𝑟𝑒𝑖 𝑥𝑖,𝑗 − 𝑆𝑐𝑜𝑟𝑒_𝑎𝑣𝑒𝑟𝑎𝑔𝑒 ∀𝑗 ∈ 𝐽 ෍ 𝑖∈𝐼 𝑆𝑐𝑜𝑟𝑒𝑖 𝑥𝑖,𝑗 − 𝑆𝑐𝑜𝑟𝑒_𝑎𝑣𝑒𝑟𝑎𝑔𝑒 ≤ 𝑧𝑗 + ∀𝑗 ∈ 𝐽 • この条件で超過分+不足分の最小化を行う minimize ෍ 𝑗∈𝐽 (𝑧𝑗 + + 𝑧𝑗 −) 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 ハード制約 ソフト制約 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする
  24. 31 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|8/9 同様に残りのソフト制約を決定変数、違反量を表す変数で表します。 問題文 考え方 •

    大学時代の専攻がばらけるようにする ෍ 𝑖∈𝐼 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 𝑥𝑖,𝑗 − σ𝑖∈𝐼 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 5 = 0 ∀𝑗 ∈ 𝐽, 𝑘 ∈ 𝐾 • 違反量を𝑧𝑘 ≥ 0 𝑘 ∈ 𝐾としたとき、 ෍ 𝑖∈𝐼 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 𝑥𝑖,𝑗 − σ𝑖∈𝐼 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 5 ≤ 𝑧𝑘 ∀𝑗 ∈ 𝐽, 𝑘 ∈ 𝐾 • この条件で違反量の最小化を行う minimize ෍ 𝑘∈𝐾 𝑧𝑘 𝐼 = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする ハード制約 ソフト制約
  25. 32 ©BrainPad Inc. Strictly Confidential 新卒研修チーム組合せ最適化|9/9 得られた決定変数、目的関数、制約条件は下記の通りになります。 問題文 定式化 𝐼

    = 1, 2, …, 17 :人の集合 𝐽 = {1, 2, …, 5}:チームの集合 𝐼𝑙𝑒𝑎𝑑𝑒𝑟 = 1, 3, 6, 10, 14, 16 :リーダー気質の人の集合 𝐾 = {Science, Information, Social}:専攻の種別の集合 あなたはミニプロジェクトのチーム決めを任されました。新卒1 年目の方々と話し合った結果、4つの条件を考慮したチームの組 合せを考えることにしました。 • 17名を5チームに割り当てる • 各チームにリーダー気質のメンバーを1人以上割り当てる • すべてのチームの分析演習スコアが均一になるようにする • 大学時代の専攻を「理学系」「情報系」「社会科学系」の3 カテゴリに分けて、それぞればらけるようにする ෍ 𝑗∈𝐽 (𝑧𝑗 + + 𝑧𝑗 −) + ෍ 𝑘∈𝐾 𝑧𝑘 ෍ 𝑗∈𝐽 𝑥𝑖,𝑗 = 1 , 3 ≤ ෍ 𝑖∈𝐼 𝑥𝑖,𝑗 ≤ 4 , ෍ 𝑖∈𝐼𝑙𝑒𝑎𝑑𝑒𝑟 𝑥𝑖,𝑗 ≥ 1 , −𝑧𝑗 − ≤ ෍ 𝑖∈𝐼 𝑆𝑐𝑜𝑟𝑒𝑖 𝑥𝑖,𝑗 − 𝑆𝑐𝑜𝑟𝑒_𝑎𝑣𝑒𝑟𝑎𝑔𝑒 ≤ 𝑧𝑗 + , ෍ 𝑖∈𝐼 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 𝑥𝑖,𝑗 − σ𝑖∈𝐼 𝑀𝑎𝑗𝑜𝑟𝑖,𝑘 5 ≤ 𝑧𝑘 , minimize subject to 𝑧𝑗 +, 𝑧𝑗 − ≥ 0, 𝑥𝑖,𝑗 ∈ 0, 1 . ∀𝑖 ∈ 𝐼 ∀𝑗 ∈ 𝐽 ∀𝑗 ∈ 𝐽 ∀𝑗 ∈ 𝐽 ∀𝑗 ∈ 𝐽, 𝑘 ∈ 𝐾 ∀𝑗 ∈ 𝐽 ∀𝑖 ∈ 𝐼, 𝑗 ∈ 𝐽
  26. 34 ©BrainPad Inc. Strictly Confidential BrainPad Advent Calendar 2024 新卒研修チーム組合せ最適化はQiita

    Advent Calendar 2024にも書きました。 最適化以外にも様々なテーマの記事があるので是非ご覧ください! BrainPad Advent Calendar 2024