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

製造業向け量子コンピュータ時代のDXセミナー~最適化の中身を覗いてみよう~【勤務シフト最適化】

 製造業向け量子コンピュータ時代のDXセミナー~最適化の中身を覗いてみよう~【勤務シフト最適化】

2022年2月24日に開催された「製造業向け量子コンピュータ時代のDXセミナー~最適化の中身を覗いてみよう~」にて勤務シフトの最適化についてお話しした当日資料です。

More Decks by 株式会社フィックスターズ

Other Decks in Programming

Transcript

  1. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Copyright © Fixstars

    Group 【エンジニア向け】 製造業向け量子コンピュータ時代のDXセミナー ~最適化の中身を覗いてみよう~
  2. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 本セミナーの位置づけ  弊社では、Amplifyセミナーを「ビジネス向け」と「プログラマー向け」に分けて定

    期的に開催しております(オンライン・無料) ビジネス向け プログラマー向け (シフト最適化) 1/26 (1h) プログラマー向け (生産計画最適化) 2/24 (1.5h) プログラマー向け (経路最適化) 3/23 (1.5h) 4/20 (1.5h) ビジネス向け プログラマー向け (シフト最適化) 5/25 (1h) プログラマー向け (生産計画最適化) 6/22 (1.5h) プログラマー向け (経路最適化) 7/20 (1.5h) 8/24 (1.5h) ビジネス向け プログラマー向け 組合せ最適化問題や量子アニーリング・イジングマシンの概要やビジネス上の効果を解説します 特定のテーマ・事例を用いて、問題設定、定式化、実装などのポイントを解説します  今後の予定  セミナー紹介ページ: https://amplify.fixstars.com/ja/news/seminar ← 本日 2
  3. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 本セミナーのゴール ⮚ 製造業に組合せ最適化問題がたくさんあることを知る

    ⮚ 組合せ最適化問題を解くためのフレームワークや、問題設定の考え方、目的関 数や制約条件の定式化のポイントを理解する ⮚ 最適シフト作成のサンプルコードを活用しながら、実際に量子アニーリング・ イジングマシンを動かしてみることで、実問題への適用の足掛かりを得る 3 課題の抽出、問題の数式化、プログラムの実装などお客 様のステージやご要望に合わせて柔軟にお手伝いいたし ますので、お気軽にお声がけください!
  4. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 4 ワークショップの準備 (1)

    • ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Google colaboratory を使うので、事前にログイン出来ることを確認をお願いします (Googleアカウントが必要です) • https://colab.research.google.com/ • Fixstars Amplify のトークンを取得済みか確認をお願いします。まだの人はFixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トークンの取得をお願 いします (1分で終わります) • https://amplify.fixstars.com/ja/register
  5. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 5 ワークショップの準備 (2)

    • お持ちのAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認 をお願いします。サンプルコードは閲覧のみ可能ですので、「ドライブにコピー」の上、 ご自身のトークンを入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、 「このまま実行」を選択下さい) • https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharing この部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。 ご自身のトークン番号は、Amplify HPよりご確認いただけます • ご自身のトークンを入力の上、以下の結果が出力されればOKです
  6. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 6 ワークショップの準備 (3)

    • ワークショップで使うサンプルコードを以下のURLより取得して下さい • それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。 それぞれのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行 して下さい Step1 https://colab.research.google.com/drive/1M9_fty7GQ4gPVa87lkLA9jdJR2OEqvvC?usp=sharing Step2 https://colab.research.google.com/drive/1ZSgLMVgZTjIGODDy_YIJy29zr827OI6Y?usp=sharing Step3 https://colab.research.google.com/drive/100KyhLplCh9oZ854BEXY0aadeE3IkSWl?usp=sharing Step4 https://colab.research.google.com/drive/1wzffv95TAr1cx7j_WiYnXEWzU1z3uIZE?usp=sharing
  7. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 本日のAgenda ➢ 会社紹介

    (2分) ➢ 組合せ最適化・イジングマシン及び製造業における事例の紹介 (15分) ➢ Fixstars Amplifyの紹介 (15分) ➢ Amplify活用のワークショップ (40~50分) • 最適シフト作成 7 質問は随時ZoomのチャットかQ&Aでお願いします 対応可能なメンバーが対応いたします
  8. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group フィックスターズの概要 会社名 株式会社フィックスターズ

    本社所在地 東京都港区芝浦3-1-1 msb Tamachi 田町ステーションタワーN 28階 設立 2002年8月 上場区分 東証一部(証券コード:3687) 代表取締役社長 三木 聡 資本金 5億5,446万円(2021年9月現在) 社員数(連結) 258名(2021年9月現在) 主なお客様 キオクシア株式会社 株式会社ネクスティ エレクトロニクス 株式会社日立製作所 キヤノン株式会社 グループ体制 株式会社フィックスターズ 株式会社Fixstars Autonomous Technologies 株式会社ネクスティ エレクトロニクスとのJV 自動運転向けソフトウェア開発 当社完全子会社 米国での営業及び開発 概要 株式会社Sider 株式会社Smart Opinion 当社完全子会社 開発支援SaaS「Sider」を運営 当社連結子会社 乳がんAI画像診断支援事業を運営 Fixstars Solutions, Inc. オスカーテクノロジー株式会社 当社連結子会社 ソフトウェア自動並列化サービスを提供 株式会社Fixstars Amplify 当社完全子会社 量子コンピューティングのクラウド事業を運営 2021/10/1 設立 9 9
  9. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Copyright © Fixstars

    Group 組合せ最適化・イジングマシン及び 製造業における事例の紹介
  10. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 量子アニーリング・イジングマシンと組合せ最適化問題 量子アニーリング・イジングマシン ⇒

    組合せ最適化問題を解くための専用マシン スケジューリング 配送計画 スマートシティー 集積回路設計 膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題) 参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」 12
  11. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 13 目的関数: 制約条件:

    解を取得 定式化 実装 問題設定 膨大な解候補(組合せ)から最適解を選ぶ ・解候補一つ一つの計算は可能 ・候補数が膨大ですべての解候補を計算できない これを最小化(最大化)する解が最適 解が必ず満たすべき条件 数式で表現 数式をPythonのプログラムで記述 Amplifyが最適解を探索 バイキングで最も安く 必要な栄養が取れる組合せは? 目的関数: 合計金額(最小化) 制約条件: 炭水化物:300g以上 タンパク質:150g以上 脂質:50g以上 (10g単位) 炭水化物 タンパク質 脂質 金額 ごはん 8g 1g 1g 10円 パン 7g 1g 2g 12円 ハンバーグ 1g 5g 4g 50円 焼き魚 1g 8g 1g 35円 組合せ最適化問題の例 ごはん:380g 焼き魚:140g 金 額:870円 最適メニュー 組合せ最適化問題は統一的なフレームワークで解くことができる
  12. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 組合せ最適化の取り組み事例 シフト作成自動化 生産計画最適化

    経路指示リアルタイム制御 倉庫を走行する多数の搬送ロ ボット (AGV) が効率よく動 作するよう、最適経路だけで なく迂回や交差点での待機な どリアルタイムに指示します 人の直観で時間をかけて行っ ていた生産ラインや物流倉庫 の業務シフト作成を、スキル や勤務時間などの条件をもと に最適化します 製造工場の設備の利用割り当て (ジョブショップスケジューリ ング) を、納期や段取り時間 などを考慮して最適化します 2/24セミナーのテーマ 3/23セミナーのテーマ 4/20セミナーのテーマ ← 本日 15
  13. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 最も効率的な作業員のシフトは? 16 チーム編成とタスク割り当て

    解を取得 定式化 実装 問題設定 目的関数:業務要求の満足度最適化 ・スキルや業務時間平滑化、個人の希望などの考慮 制約条件:チーム人数や一人1タスクなどの制約 ・従来、ホワイトボードを使い、朝・夕30分程度ずつかけて作成 ・Amplifyが10秒で推薦配置を提示
  14. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 最も効率的な生産スケジュールは? 17 製品製造工程順序の最適化

    October 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Machine 6 Machine 7 Machine 8 Machine 9 Machine 10 解を取得 定式化 実装 問題設定 目的関数:製造完了時間(最小化) ・段取り時間、納期、稼動率などを考慮 制約条件:機械数や製造可能な製品の制約 ・従来技術だと数時間かかることも ・Amplifyがより高速に妥当な解を提示
  15. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 18 装置1 装置2

    装置x A B B B B B B C E E D A 電気機器製造メーカー A社様 複数の製品事業部から様々なプリント基盤の注文を受け、生産を行う部門 生産する基盤に応じて製造装置の部品や材料を交換する「段取り時間」 が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい 従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジ ュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュ ール作成の自動化に着手 課 題 次期フェーズでは、Amplify の活用領域の拡大を検討中! 最適化未経験のご担当者様1人がプログラム試作開始 から約1~2ヵ月間取り組んでこの効果を実現 現在は試作段階で、実運用に向けてモデルを改良中! 効 果 段取りのための製造装置の停止回数の削減! (10%以上削減) 段取り時間 段取り時間 段取り時間 生産スケジュール作成の時間・コストの大幅な削減! (一日あたり数時間 → 数分)
  16. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 最も効率的な部材や製品の搬送方法は? 19 AGV(無人搬送車)の待ち時間を最小化するリアルタイム経路選択

    解を取得 定式化 実装 問題設定 目的関数:各AGVの次の一定時間の待ち時間(最小化) 制約条件:各AGVが衝突しない、など ・Amplifyが他のAGVの行動を考慮し、次の最適動作をリアルタイムに指示 ・最短経路だけでなく、迂回・交差点制御なども実現
  17. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 20 Fixstars Amplify:

    メディア掲載 https://amplify.fixstars.com/ja/news/media 「はじめての量子プログラミング体験」(2021年6月号~2022年1月号まで連載)
  18. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 量子コンピュータとその周辺 1 量子コンピュータ

    IBM/Google/Rigetti/IonQ 2 イジングマシン 富士通/日立/東芝/Fixstars 3 量子 アニーリング D-Wave/NEC 1. 量子コンピュータ 量子ゲート方式 古典汎用コンピュータの上位互換。 量子力学の重ね合わせ状態を制御 する量子ゲートを操作し、特定の 問題を汎用的かつ高速に処理する。 2. イジングマシン 二値二次多項式模型 二次の多変数多項式で表される目 的関数の最適化問題 (QUBO) を扱 う 専用マシン。変数は0,1または±1。 統計物理学におけるイジング模型 (磁性体の性質を表す模型) に由来。 様々な実装により実現されている。 3. 量子アニーリング方式 量子焼きなまし法 イジングマシンの一種であり、量子 焼きなまし法の原理に基づいて動作 する。 量子イジング模型を物理的に搭載し たプロセッサで実現する。 自然計算により低エネルギー状態が 出力される。 Amplify AE 22
  19. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group クラウドサービス :Fixstars Amplify

    様々な量子コンピュータ・イジングマシンに対応したアプリケーションを開発出来る、クラウドプラットフォームです。 量子コンピューティング時代を見据え、シンプルで効率的な開発環境の提供を目指しています。 ・・・ 適用分野 (一例) 金融 物流 ライフサイエンス 様々なマシンに対応 各社が提供する量子アニーリング・イジングマシンを Fixstars Amplifyから利用することが出来ます。 シンプルで効率的なアプリ開発 複雑で専門性の高いプロセスを自動化し、効率的にマシ ンを使うための学習コストを、圧倒的に低くします。 PoCから実問題まで対応 大規模問題の入力と高速実行が可能で、PoCや実問題を視 野に入れたアプリケーション開発が行えます。 すぐに開発を開始可能 開発環境と実行環境がセットで提供されるため、すぐに 開発を開始することが出来ます。 主な特長 サービス概要 23 23
  20. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 二次計画問題 • 最適化問題の分類

    • 組合せ最適化問題 • 決定変数が離散値 (整数など) • 整数計画問題 (決定変数が整数) • 0-1整数計画問題 (決定変数が二値) • 連続最適化問題 • 決定変数が連続値 (実数など) • 量子アニーリング・イジングマシン Quadratic 二次形式 Unconstrained 制約条件なし Binary 0-1整数 (二値) Optimization 計画 𝑓 = ෍ 𝑖<𝑗 𝑄𝑖𝑗 𝑞𝑖 𝑞𝑗 + ෍ 𝑖 𝑄𝑖𝑖 𝑞𝑖 𝑞𝑖 ∈ 0,1 or 𝑞𝑖 ∈ ±1 問題設定 (入力・定数) 決定変数 (出力・変数) 評価値 (目的関数) • QUBO模型 (0-1整数二次計画問題) 24
  21. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group イジングマシンの実行手順 1. 数理モデル検討

    解きたい課題の「目的関数」「決定変数」「制約条件」を検討する 2. QUBO定式化 (論理) 「 2値決定変数+二次形式」で「目的関数」と「決定変数」を記述 (変換) する 「制約条件」は直接扱えないので「ペナルティ関数」で表現する 3. QUBO定式化 (物理) 各マシンの仕様や制限に準拠した形式にQUBO模型を変換する (例: 二次項に制約がある場合は「グラフマイナー埋め込み」問題を解く) 4. 入力データの準備 各マシンのSDKやAPI仕様に合わせてQUBO模型 (物理) をデータ化する 5. マシンの実行 マシンを実行して出力の変数値やエネルギー値(コスト値)を解析する 上記の逆の手順を辿り解きたい課題の「決定変数」を解釈する SWによる 支援と自動化 25
  22. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Amplify の特長

    – いつでも 開発環境と実行環境がセットのため すぐにプログラミングと実行が出来る – 誰でも ハードウェアや専門的な知識が不要 無料で開発がスタート可能 – 高速に 10万ビットクラスの大規模問題の 高速処理と高速実行が可能 – あらゆる 一般に公開されている全てのイジング マシンを利用可能 26
  23. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Amplify クラウドの構成

    Amplify クラウドが量子アニーリングマシン・イジ ングマシンの大規模実行環境を提供 Amplify SDK で書かれた最適化エンジンは 他社製も含め全ての商用イジングマシンで実行可能 量子アニーリング・ イジングマシン (Amplify AE) 組合せ最適化問題の定式化やマシンを高度に操るた めの最先端の技術や知見をライブラリ化したシンプ ルなインターフェースを提供 専門知識が不要で量子アニーリングイジングマシン を用いた最適化エンジンの開発に取り組める Amplify SDK 組合せ最適化問題を含むアプリケーションは Amplify SDK を用いることで効率的かつ簡便に組合 せ最適化の定式化が可能 研究・開発ではAmplifyクラウドは無償提供されるた め直ぐに開発をスタートできる アプリケーション 27
  24. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Amplifyによる課題解決 ◼

    イジングマシンのための革新的な開発環境 簡単 多くのマシンに対応 始めやすい ✓ SDKをインストールするだけ ですぐに使える (pip install amplify) ✓ ハードウェアの専門知識不要 でアプリケーションが開発で きる ✓ 進化の早いマシンの発展に追 従すべての量子アニーリング/ イジングマシンに対応 ✓ 10万ビット級のアニーリング マシン実行環境が利用可能 ✓ 研究・開発用途には開発環境 と実行環境が無償で利用可能 ✓ 多くのチュートリアル、サン プルコードを整備・拡充 多くの人が始めやすい開発プラットフォームを無料で提供 https://amplify.fixstars.com 29
  25. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Amplify SDKのワークフロー ◼

    従来のプログラミングワークフローとの比較 実行方法 31
  26. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Amplify SDKによるシンプルプログラミング 数独を解くサンプルアプリ

    富士通・デジタルアニーラの設定用コード SDKなし 最適化しても 200行以上 出典: Wikipdia SDKなし 59行 SDKあり 30行程度 SDKあり 1行 日立CMOSアニーリングマシンの設定用コード SDKなし 183行 SDKあり 1行 32
  27. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Amplify Annealing Engine

    • NVIDIA GPU V100/A100 で動作 • 独自の並列化シミュレーテッドアニーリングアルゴリズム • WEB経由で計算機能を提供 • Amplify SDK の実装を直ぐに実行可能 • 社会課題への取り組み・PoC・検証が加速 • 商用マシンでは最大規模かつ最高速レベル • 64Kビット (全結合) / 100Kビット超 (疎結合) Amplify Cloud 34
  28. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Amplify Annealing Engine

    ◼ 実問題やPoCを視野に入れたアプリケーション開発にも対応 研究・開発利用において無償提供 35
  29. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Amplify 標準提供マシン 最先端の量子技術

    最先端の並列化技術 NVIDIA A100/V100 最大10万ビット以上 D-Wave Advantage 5000量子ビット 出典:https://www.nvidia.com/ja-jp/data-center/dgx-2/ 36
  30. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Copyright © Fixstars

    Group Amplify活用のワークショップ ・最適シフト作成
  31. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 最適シフト作成 【問題】業務で求められる役割・役職・スキルと個人の能力や要求を考慮した最適シフトとは 業務要求

    各従業員情報 ・ ・ ・ 要求管理者数 要求スキル量(各従業員が持つスキル値の合計) ライン 責任者 主任技師 合計 前工程 後工程 組立て 合計 LineA 1 1 2 8 4 5 17 LineB 1 1 2 6 9 3 18 LineC 1 1 2 7 6 5 18 合計 3 3 6 21 19 13 53 要求配置(0=NG, 1=OK, 2=要求) 従業員ID LineA LineB LineC 0 1 0 0 1 1 1 1 2 1 2 0 23 1 1 1 24 1 1 0 担当可能役職 スキル値(1=初級, 2=中級, 3=上級) 従業員ID 責任者 主任技師 技師 前工程 後工程 組立て 0 1 1 1 3 3 3 1 0 1 1 3 3 2 2 0 0 1 2 1 0 ・ ・ ・ ・ ・ ・ 23 0 0 1 0 0 2 24 0 0 1 1 0 1 マッチング 38
  32. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group ① 従業員は同時に1ラインのみに配置可 ②

    各ラインが要求する管理職を配置することなど 目的関数: 制約条件: 最適シフト作成 解を取得 定式化 実装 問題設定 各ラインの要求を満たすシフトの作成 複数の要求のバランス(充足率の平均の最大化、 分散の最小化、配置要求とのマッチングの最大化) 39 LineA LineB LineC 充足率
  33. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 40 自動配置 (アニーリング)

    手動配置 一部事前配置 自動配置結果の微調整 各種条件を満たすよう に、未配置のメンバー を一括割り当て 事例紹介: 人員配置の効率化・自動最適化 関連インタビュー動画(4:00~): https://www.youtube.com/watch?v=UyvomUej2Xw 充足率の平均の最大化、充足率の分散の最小化を 最適化する問題をイジングマシンで実行
  34. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group ワークショップ: 問題設定 41

    15名の従業員を5名ずつ3つの生産ラインへ振り分けます。各従業員は、各ラインに対するスキル値を持 ちます。各ラインに配置された従業員のスキル値 (ラインスキル値) の合計がなるべく高く、また、各ラ インのラインスキル値のばらつきが少ない、という2つの目的のバランスの取れたシフトの作成を目指し ます。全てを一度にやるのは難しいので4つのステップに分けてアルゴリズムの完成を目指します Aライン (5名) Bライン (5名) Cライン (5名) 組合せは 約1400万通り!
  35. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group ワークショップ: 4 Step

    43 まず、2つの制約だけを考慮して配置シフトを求めます 制約➀: 従業員は同時に1つの製造ラインのみに配置が可能 制約②: 各ラインの配置人数が5名ずつになること Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます 解の候補多数あり Step1 Step2 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を 同時に実現するシフトを求めます Step3 Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスの シフトを作成します 15名の従業員を5名ずつ3つの生産ラインへ振り分けます。各従業員は、各ラインに対するスキル値を持 ちます。各ラインに配置された従業員のスキル値 (ラインスキル値) の合計がなるべく高く、また、各ラ インのラインスキル値のばらつきが少ない、という2つの目的のバランスの取れたシフトの作成を目指し ます。全てを一度にやるのは難しいので4つのステップに分けてアルゴリズムの完成を目指します
  36. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 44 まず、2つの制約だけを考慮して配置シフトを求めます Step1

    Step1のサンプルコードのレビュー (尚、本ワークショップでは、最適化のコードにフォー カスし、下準備や可視化のコードの詳細は割愛します)
  37. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 45 まず、2つの制約だけを考慮して配置シフトを求めます Step1

    決定変数の準備 実装 イジングマシン による計算で最 適な(0,1)の組合 せを探す 従業員3は line_Cに 配置 BinaryPoly型 (15×3) = 45 [qbit] 1: 配置 0: 非配置 決定変数
  38. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 46 定式化 ෍

    𝑙 3 𝑞𝑖,𝑙 = 1 ෍ 𝑖 15 𝑞𝑖,𝑙 = 5 制約②: 各ラインの配置人数が要求人数(5名) と一致すること → equal_to制約 (等式制約) Step1 制約➀: 従業員は同時に1つの製造ラインのみに 配置が可能 → one_hot制約 まず、2つの制約だけを考慮して配置シフトを求めます
  39. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 47 Step1 実装

    まず、2つの制約だけを考慮して配置シフトを求めます https://amplify.fixstars.com/ja/demo 【補足】 制約条件の取り扱いに関する詳細は、 こちらにあるチュートリアルも合わ せてご参照下さい
  40. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 48 Step1 求解

    無料版は1ジョブ10秒まで設定可有 料版では1分まで設定可能 Amplify AE まず、2つの制約だけを考慮して配置シフトを求めます • modelに格納してマ シンに投げます • 制約条件だけを与え た場合、制約条件を 満たす解を探してき てくれます
  41. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 49 Step1 結果の取得

    同じ人が複数のラインに配置されることなく、各ラインに5人ずつ配置するという二つの制約を満たすシフトを作ることが できました。但し、解の候補はたくさんあり、最適化の余地も大きいそうです 可視化 確 認 まず、2つの制約だけを考慮して配置シフトを求めます
  42. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 50 Step2 Step1に「ラインスキル値の合計

    (= 全ラインの合計スキル値) を最大化」と いう目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます ここでは、工場全体のアウトプットの最大化を目指し、各従業員をできるだけ高いスキル値を持つラインへ配置する ことを目指します Aライン(5名) ラインスキル値 Bライン(5名) Cライン(5名) 全ラインのスキ ル値の合計 これを最大化 したい! ラインスキル値 ラインスキル値
  43. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 51 Step2のサンプルコードのレビュー Step2

    Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」と いう目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます
  44. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 52 Step2 定式化

    各列の要素同士の掛け算の和 ⇒ 各ラインのラインスキル値 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」と いう目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます 𝑠𝑘𝑖𝑙𝑙_𝑠𝑐𝑜𝑟𝑒 = ෍ 𝑙 3 ෍ 𝑖 15 𝑞𝑖,𝑙 ∙ 𝑠𝑖,𝑙 決定変数 目的➀: 全ラインの合計スキル値の最大化
  45. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 53 Step2 実装

    Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」と いう目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます 制約条件には適切な値の重みを設定する必要があります。典型的 なスキル値より大きくしておく必要があるため 150 としました : 追加コード イジングマシンは、このobjectiveの値が最小になる組合せを探し ます (全ラインの合計スキル値は大きいものを選びたいので、 skill_scoreにマイナスをつけたものをobjectiveとしています)
  46. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 54 Step2 結果の取得

    二つの制約を満しながら、全ラインの合計スキル値が最大化されたシフトを作ることができました (Step1の全ラインの合 計スキル値は1,265) 。但し、ライン間のスキル値のばらつきが大きいので、更なる最適化をかけたい状況です 可視化 確 認 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」と いう目的➀を追加し、複数の解の候補から目的を実現するシフトを求めます ばらつき大
  47. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 55 Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、

    2つの目的を同時に実現するシフトを求めます 目的②: ラインスキル値のばらつき (分散) を最小化 定式化 実装 𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 = σ𝑙 3 σ 𝑖 15 𝑞𝑖,𝑙 ∙ 𝑠𝑖,𝑙 2 3 − σ𝑙 3 σ 𝑖 15 𝑞𝑖,𝑙 ∙ 𝑠𝑖,𝑙 3 2 : 追加コード ばらつきは小さい方が選ばれるようにしたいのでプラスで足します
  48. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 56 結果の取得 二つの制約を満しながら、全ラインの合計スキルが高く、各ライン間のばらつきが全くないシフトを作ることができました

    (Step1の全ラインの合計スキル値は1,265で、Step2は1,475)。最後に、目的➀と目的②のバランスをチューニングし て最適なシフトの作成を目指します。 可視化 確 認 Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、 2つの目的を同時に実現するシフトを求めます ばらつきなし!
  49. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 58 結果の取得 最適なバランスのシフトが完成しました!

    可視化 確 認 Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、 最適なバランスのシフトを作成します ばらつき極小!
  50. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Step1 59 スキル値合計:

    1,265 ワークショップ: おさらい 制約のみからスタートして、複数の目的を加え、重みを調整することで最適なバランスのシフトを作りました スキル値最大化 スキル値ばらつき調整 重みを調整 制約 Step2 スキル値合計: 1,475 Step3 スキル値合計: 1,440 Step4 スキル値合計: 1,460 制約 スキル値最大化 制約 スキル値最大化 スキル値ばらつき調整 制約
  51. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 61 Fixstars Amplify:

    オンラインデモ & チュートリアルページ https://amplify.fixstars.com/ja/demo
  52. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group 次回のセミナーのご案内  弊社では、Amplifyセミナーを「ビジネス向け」と「プログラマー向け」に分けて定

    期的に開催しております(オンライン・無料) ビジネス向け プログラマー向け (シフト最適化) 1/26 (1h) プログラマー向け (生産計画最適化) 2/24 (1.5h) プログラマー向け (経路最適化) 3/23 (1.5h) 4/20 (1.5h) ビジネス向け プログラマー向け (シフト最適化) 5/25 (1h) プログラマー向け (生産計画最適化) 6/22 (1.5h) プログラマー向け (経路最適化) 7/20 (1.5h) 8/24 (1.5h) ビジネス向け プログラマー向け 組合せ最適化問題や量子アニーリング・イジングマシンの概要やビジネス上の効果を解説します 特定のテーマ・事例を用いて、問題設定、定式化、実装などのポイントを解説します  今後の予定  セミナー紹介ページ: https://amplify.fixstars.com/ja/news/seminar ← 次回 62