629 Views
April 13, 23
スライド概要
量子コンピュータ時代を見据え、株式会社Fixstars Amplifyでは、量子アニーリング・イジングマシン向けクラウド基盤「Fixstars Amplify」を活用した、社会課題の解決と実業務への適用を進めています。
本セミナーはワークショップの形式で、量子アニーリング・イジングマシンの力を無料版「Fixstars Amplify」を通じて体験していただきます。 今回は人員シフト計画の最適化を、テーマとして取り扱います。
量子アニーリング・イジングマシンに興味があるエンジニアの方におすすめの内容です。pythonの基礎知識をお持ちであれば、理解できる内容となっております。
Fixstars Amplifyについてはウェブサイトをご覧ください。: https://amplify.fixstars.com/ja/
フィックスターズグループ/セミナー一覧: https://www.fixstars.com/ja/seminar
フィックスターズは、コンピュータの性能を最大限に引き出すソフトウェア開発のスペシャリストです。車載、産業機器、金融、医療など、幅広い分野での開発経験があります。また、ディープラーニングや機械学習などの最先端技術にも力を入れています。 並列化や最適化技術を駆使して、マルチコアCPU、GPU、FPGA、量子アニーリングマシンなど、さまざまなハードウェアでソフトウェアを高速化するサービスを提供しています。さらに、長年の経験から培ったハードウェアの知識と最適化ノウハウを活かし、高精度で高性能なアルゴリズムの開発も行っています。 ・開催セミナー一覧:https://www.fixstars.com/ja/seminar ・技術ブログ :https://proc-cpuinfo.fixstars.com/
量子コンピュータ時代のプログラミングセミナー ~ Fixstars Amplifyで実装するシフト最適化 ~ 14:00 開始予定 マイク、カメラをOFFにしてしばらくお待ちください Zoomの表示名は、セミナー申し込み時の お名前としていただけますようご協力お願いいたします Fixstars Amplify ではさまざまな専門性を持つエンジニアを募集しています 詳細は https://amplify.fixstars.com/ja/careers まで Copyright© Fixstars Group
量子コンピュータ時代のプログラミングセミナー ~ Fixstars Amplify で実装するシフト最適化 ~ Copyright© Fixstars Group
本日のAgenda 第一部 14:00-14:45 • はじめに • 会社紹介 • 組合せ最適化問題・イジングマシン・事例のご紹介 • Fixstars Amplifyの紹介 • ワークショップ事前準備のご連絡 第二部 14:50-16:00 • Fixstars Amplifyを用いたワークショップ • シフト最適化 • Wrap Up 及び Q&A Copyright© Fixstars Group 3
はじめに Copyright© Fixstars Group
本セミナーのゴール ⚫ 身の回りには組合せ最適化問題がたくさんあることを知る ⚫ 組合せ最適化問題を解くための専用マシン(イジングマシン)があることを知り、イジ ングマシンを使って問題を解くための統一的なフレームワークや、問題設定の考え方、 目的関数や制約条件の定式化のポイントを理解する ⚫ ワークショップを通して、実際に量子アニーリング・イジングマシンを動かしてみるこ とで、実問題への適用の足掛かりを得る 質問は随時ZoomのチャットかQ&Aでお願いします Copyright© Fixstars Group 5
会社紹介 Copyright© Fixstars Group
フィックスターズの基本情報 会社名 株式会社フィックスターズ 本社所在地 東京都港区芝浦3-1-1 msb Tamachi 田町ステーションタワーN 28階 設立 2002年8月 資本金 5億5,446万円 社員数(連結) 263名(2022年9月現在) キオクシア株式会社 ルネサスエレクトロニクス株式会社 上場区分 東証プライム(証券コード:3687) 代表取締役社長 三木 主なお客様 トヨタグループ(トヨタ自動車株式会社・ 豊田通商株式会社・株式会社デンソー) みずほ証券株式会社 聡 キヤノン株式会社 グループ会社 Fixstars Solutions, Inc. 2021/10/1 設立 (株)Fixstars Autonomous Technologies 株式会社ネクスティ エレクトロニクスとのJV 自動運転向けソフトウェアを開発 (株)Fixstars Amplify 完全子会社 米国での営業及び開発を担当 (株)Sider (株)Smart Opinion オスカーテクノロジー(株) 完全子会社 開発支援SaaS「Sider」を運営 連結子会社 乳がんAI画像診断支援事業を運営 連結子会社 ソフトウェア自動並列化サービスを提供 Copyright© Fixstars Group 完全子会社 量子コンピューティングのクラウド事業を運営 7
フィックスターズのサービス概要 お客様専任のエンジニアが直接ヒアリングを行い、高速化を実現するために乗り越えるべき 課題や問題を明確にしていきます。 高速化のワークフロー コンサルティング 高速化 サポート 先行技術調査 アルゴリズムの改良・開発 レポートやコードへのQ&A 性能評価・ボトルネックの特定 ハードウェアへの最適化 実製品への組込み支援 レポート作成 Copyright© Fixstars Group 8
フィックスターズの強み コンピュータの性能を最大限に引き出す、ソフトウェア高速化のエキスパート集団 ハードウェアの知見 目的の製品に最適なハードウェアを見抜き、 その性能をフル活用するソフトウェアを開 発します。 アルゴリズム実装力 ハードウェアの特徴と製品要求仕様に合わ せて、アルゴリズムを改良して高速化を実 現します。 Copyright© Fixstars Group 各産業・研究分野の知見 開発したい製品に使える技術を見抜き、実 際に動作する実装までトータルにサポート します。 9
フィックスターズの量子技術への取り組み 次世代技術を先取りし 今ある課題の解決を目指す 2022年 • 2021年 • 2018年 NEDOのプロジェクト に採択「イジングマシ ン共通ソフトウェア基 盤の研究開発」 2019年 SIPの研究開発に参画 「光・量子を活用した Society 5.0実現化技 術:光電子情報処理」 • • 2月: 量子アニーリングク ラウドサービス「Fixstars Amplify」提供開始 10月: 子会社Fixstars Amplifyを設立 11月: Q-STAR 量子技術 による新産業創出協議会 に特別会員として加入 • • 5月: Fixstars Amplify が Gurobi, IBM-Quantumを サポート 6月: 東洋経済主催シンポジ ウム「ビジネスを劇的に変 える量子コンピューティン グの可能性」に登壇 7月: 累計実行回数1,000万 回突破 2017年 日本で初めて D-Wave Systems 社と提携 Copyright© Fixstars Group 10
産業界との連携による社会実装の促進 Q-STAR 量子技術による新産業創出協議会 量子関連の産業・ビジネスの創出を目的として設立された協議会 代表取締役会長 三木が参加 東洋経済主催シンポジウム 「ビジネスを劇的に変える量子コンピューティングの 可能性」にCEO平岡が登壇しました 代表取締役社長 平岡が参加 モデレーター 九州大学 画像:FixstarsCorporation youtubeチャンネルより https://www.youtube.com/watch?v=uS-_BZqvqUo 藤澤克樹教授 パネリスト ロート製薬株式会社 代表取締役会長 山田邦雄氏 株式会社東芝 代表執行役社長CEO 島田太郎氏 株式会社Fixstars Amplify 代表取締役社長 平岡卓爾 出展:一般社団法人 量子技術による新産業創出協議会 https://qstar.jp/ 本セッションは、東洋経済オンライン並びに同社YouTubeで公開されています。 東洋経済オンライン記事:https://toyokeizai.net/articles/-/583900 Copyright© Fixstars Group 11
量子コンピューティング事業 多様なハードウェアでのソフトウェア高速化サービスに加え、 量子コンピュータ活用支援とシステム開発を提供しています。 お客様の課題 ご支援内容 量子コンピューティングが課題の解決に役立つ か確信が持てない セミナー・トレーニング 量子コンピュータの研究動向や活用事例、実際の利用方法等 クラウド実行環境のご提供 量子コンピューティングの検討をどう進めたら クラウド経由での量子コンピュータ利用サービスを提供 良いかわからない コンサルティング セットアップ支援、処理の分割や変換等のコンサル 作りたいアプリケーションがあるが、開発が ソフトウェア高速化・開発支援サービス 難しい 量子コンピュータを組み合わせてシステムの高速化を実現 Copyright© Fixstars Group 12
組合せ最適化問題・イジングマ シン・事例の紹介 Copyright© Fixstars Group
量子アニーリング・イジングマシンと組合せ最適化問題 量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシン 膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題) スケジューリング 配送計画 スマートシティー 集積回路設計 参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」 Copyright© Fixstars Group 14
組合せ最適化問題を解く統一的なフレームワーク 問題設定 定式化 膨大な解候補(組合せ)から最適解を選ぶ 組合せ最適化問題の例 ・解候補一つ一つの計算は可能 ・候補数が膨大ですべての解候補を計算できない バイキングで最も安く 必要な栄養が取れる組合せは? (10g単位) 炭水化物 タンパク質 脂質 金額 目的関数: これを最小化(最大化)する解が最適 ごはん 8g 1g 1g 10円 制約条件: 解が必ず満たすべき条件 パン 7g 1g 2g 12円 ハンバーグ 1g 5g 4g 50円 焼き魚 1g 8g 1g 35円 数式で表現 目的関数: 合計金額(最小化) 実装 解を取得 数式をPythonのプログラムで記述 制約条件: Fixstars Amplifyが最適解を探索 最適メニュー Copyright© Fixstars Group 炭水化物:300g以上 タンパク質:150g以上 脂質:50g以上 ごはん:380g 焼き魚:140g 金 額:870円 15
組合せ最適化の取り組み事例 シフト作成自動化 生産計画最適化 経路指示リアルタイム制御 人の直観で時間をかけて行っ ていた生産ラインや物流倉庫 の業務シフト作成を、スキル や勤務時間などの条件をもと に最適化します 製造工場の設備の利用割り当て (ジョブショップスケジューリ ング) を、納期や段取り時間 などを考慮して最適化します 倉庫を走行する多数の搬送ロ ボット (AGV) が効率よく動 作するよう、最適経路だけで なく迂回や交差点での待機な どリアルタイムに指示します 本日のセミナーのテーマ 5/18のセミナーのテーマ 6/15のセミナーのテーマ Copyright© Fixstars Group 16
最適配置自動化サービス(物流梱包業務のDX) https://www.fixstars.com/ja/services/cases/amplify-bellemaison 業務内容: 梱包業務担当者(1チーム3名)を コンベア前のブースに割り当て 従来の方法: 前日夕方に、翌日の予測出荷目標数と 出勤予定に基づいて、3人程度のリー ダーが相談し数時間をかけて決定 課題: 公平になるよう、様々な配慮を行う必 要があり、割り当て担当者に心理的負 担がかかっていた 成果: → 2022年10月より実稼働開始! アニーリング技術を活用して自動化・デジタル化 • 作業時間 → 15分程度に • 心理負担 → ほぼゼロに 梱包 効率 最大化 チーム 3名 上流下流 ローテーシ ョン 公平 感 勤務時間が 近い 相性 Good /NG 国家プロジェクトSIP「光・量子を活用し たSociety 5.0実現化技術」の一環として、 住友商事、SCSK、ベルメゾンロジスコと、 2019年より共同研究 Copyright© Fixstars Group 手動配置 一部事前配置 自動配置結果の微調整 自動配置 (アニーリング) 各種条件を満たす形で 未配置のメンバーを一 括割り当て 割当業務の 時間削減 担当者の 心理的負担低減 配置情報の デジタル化 Smileboard Connectと連携 ※Smileboard Connect: 住友商事様開発の物流業務可視化サービス
生産計画最適化 (電気機器製造メーカー A社様) 複数の製品事業部から様々なプリント基板の注文を受け、生産を行う部門 課 題 生産する基板に応じて製造装置の部品や材料を交換する「段取り時間」 が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい 従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジ ュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュ ール作成の自動化に着手 段取り時間 装置1 A A 装置2 B B B B B 段取り時間 装置x C E B 段取り時間 E D 生産スケジュール作成の時間・コストの大幅な削減! 効 果 (一日あたり数時間 → 数分) 段取りのための製造装置の停止回数の削減! (10%以上削減) 最適化未経験のご担当者様1人がプログラム試作開始 から約1~2ヵ月間取り組んでこの効果を実現 現在は試作段階で、実運用に向けてモデルを改良中! 次期フェーズでは、Amplify の活用領域の拡大を検討中! Copyright© Fixstars Group 18
Amplify を活用した研究事例 大学 研究室 論文タイトル 量子ア ニーリ ング/イ ジング マシン に関す る研究 早稲田大学 戸川研究室 イジングマシンによる制約付きグラフ彩色問題の彩色数最小化手法 (リンク) 東京大学 Prof. Codognet Modeling the Costas Array Problem in QUBO for Quantum Annealing (リンク) 名古屋大学 片桐研究室 Amplifyを用いたCMOSアニーリングマシンの特性の分析 (リンク) 東北大学 小松研究室 組み合わせクラスタリングによるアニーリングマシンの評価 (リンク) 応用 研究 慶應大学 村松研究室 東京大学 長谷川研究室 会津大学 小平研究室 (LSI設計) シミュレーテッド量子アニーリングを用いたマスク最適化手法 (リンク) 山梨大学 鈴木研究室 (情報工学) 量子アニーリングによる疎行列直接解法向けフィルイン削減オーダリング (リンク) 京都大学 野田研究室 (電子工学) 量子アニーリングを活用したフォトニック結晶レーザーの構造最適化 (リンク) 東京大学 津田研究室 (MI) Designing metamaterials with quantum annealing and factorization machines (リンク) (材料工学) (量子ゲート) Phase-fieldモデルの量子アニーリングシミュレータ (リンク) ISAAQ:イジングマシンを活用した量子コンパイラ (リンク) Copyright© Fixstars Group 19
慶應義塾大学 理工学部 機械工学科 村松研究室 https://amplify.fixstars.com/ja/news/interview/nextgen-analysis Copyright© Fixstars Group 20
Fixstars Amplify:メディア掲載 https://amplify.fixstars.com/ja/news/media Software Design Interface 「はじめての量子プログラミング体験」 「Pythonで体験!量子コンピュータ」 (2021年6月号~2022年1月号まで連載) (2022年6月号) Copyright© Fixstars Group 21
Fixstars Amplify のご紹介 Copyright© Fixstars Group
量子コンピュータとその周辺 1. 量子コンピュータ 2.イジングマシン 量子ゲート方式 二値二次多項式模型 古典汎用コンピュータの上位互換。 量子力学の重ね合わせ状態を制御 する量子ゲートを操作し、特定の 問題を汎用的かつ高速に処理する。 二次の多変数多項式で表される目 的関数の最適化問題 (QUBO) を扱 う専用マシン。変数は0,1または ±1。統計物理学におけるイジング 模型 (磁性体の性質を表す模型) に 由来。様々な実装により実現され ている。 1 2 量子コンピュータ イジングマシン IBM/Google/Rigetti/IonQ 富士通/日立/東芝/Fixstars 3 量子 アニーリング D-Wave/NEC 3.量子アニーリング方式 量子焼きなまし法 イジングマシンの一種であり、量子焼 きなまし法の原理に基づいて動作する。 量子イジング模型を物理的に搭載した プロセッサで実現する。 自然計算により低エネルギー状態が 出力される。 Copyright© Fixstars Group Amplify AE 23
クラウドサービス: Fixstars Amplify ⚫ 量子コンピューティングを想定したシステム開発・運用のクラウドプラットフォーム ⚫ 量子コンピュータや独自開発のGPUアニーリングマシンなど、組合せ最適化問題の専用マシンを効率的に実行できる https://amplify.fixstars.com/ja/ サービス概要 ⚫ SDKをインストールするだけです 簡単 ぐに使える (pip install amplify) ⚫ ハードウェアの専門知識不要でア プリケーションが開発できる ⚫ すべての量子アニーリング/イジン ポータブル グマシンに対応 ⚫ Fixstarsの26万ビット級のアニー リングマシン実行環境も利用可能 ⚫ 評価・検証用途には開発環境と実行 適用分野 (一例) ・・・ 金融 物流 始めやすい ライフサイエンス Copyright© Fixstars Group 環境が無償で利用可能 ⚫ 多くのチュートリアル、サンプルコ ードを整備・拡充 24
二次計画問題 • 最適化問題の分類 • 組合せ最適化問題 • 決定変数が離散値 (整数など) • • • • • 整数計画問題 (決定変数が整数) 0-1整数計画問題 (決定変数が二値) 連続最適化問題 • 決定変数が連続値 (実数など) 量子アニーリング・イジングマシン Quadratic 二次形式 Unconstrained 制約条件なし Binary Optimization 0-1整数 (二値) 計画 QUBO模型 (0-1整数二次計画問題) 𝑓 = 𝑄𝑖𝑗 𝑞𝑖 𝑞𝑗 + 𝑄𝑖𝑖 𝑞𝑖 𝑖<𝑗 𝑖 評価値 (目的関数) 𝑞𝑖 ∈ 0,1 or 𝑞𝑖 ∈ ±1 決定変数 (出力・変数) 問題設定 (入力・定数) Copyright© Fixstars Group 25
イジングマシンの実行手順 1. 数理モデル検討 解きたい課題の「目的関数」「決定変数」「制約条件」を検討する 2. QUBO定式化 (論理) 「 2値決定変数+二次形式」で「目的関数」と「決定変数」を記述 (変換) する 「制約条件」は直接扱えないので「ペナルティ関数」で表現する 3. QUBO定式化 (物理) 各マシンの仕様や制限に準拠した形式にQUBO模型を変換する (例: 二次項に制約がある場合は「グラフマイナー埋め込み」問題を解く) SWによる 支援と自動化 4. 入力データの準備 各マシンのSDKやAPI仕様に合わせてQUBO模型 (物理) をデータ化する 5. マシンの実行 マシンを実行して出力の変数値やエネルギー値(コスト値)を解析する 上記の逆の手順を辿り解きたい課題の「決定変数」を解釈する Copyright© Fixstars Group 26
Fixstars Amplify の特長 – いつでも 開発環境と実行環境がセットのため すぐにプログラミングと実行が出来る – 誰でも ハードウェアや専門的な知識が不要 無料で開発がスタート可能 – 高速に 26万ビットクラスの大規模問題の 高速処理と高速実行が可能 – あらゆる 一般に公開されている全てのイジング マシンを利用可能 Copyright© Fixstars Group 27
Fixstars Amplify クラウドの構成 アプリケーション 組合せ最適化問題を含むアプリケーションは Amplify SDK を用いることで効率的かつ簡便に組合 せ最適化の定式化が可能 評価・検証ではAmplifyクラウドは無償提供されるた め直ぐに開発をスタートできる Amplify SDK 組合せ最適化問題の定式化やマシンを高度に操るた めの最先端の技術や知見をライブラリ化したシンプ ルなインターフェースを提供 専門知識が不要で量子アニーリングイジングマシン を用いた最適化エンジンの開発に取り組める 量子アニーリング・ イジングマシン (Amplify AE) Amplify クラウドが量子アニーリングマシン・イジ ングマシンの大規模実行環境を提供 Amplify SDK で書かれた最適化エンジンは 他社製も含め全ての商用イジングマシンで実行可能 Copyright© Fixstars Group 28
Fixstars Amplify の対応マシン https://news.fixstars.com/2361/ : IBM Quantum対応 https://news.fixstars.com/2199/ : Gurobi対応 Copyright© Fixstars Group 29
Fixstars Amplify による課題解決 ◼ イジングマシンのための革新的な開発環境 簡単 ✓ SDKをインストールするだけ ですぐに使える (pip install amplify) ✓ ハードウェアの専門知識不要 でアプリケーションが開発で きる 多くのマシンに対応 ✓ 進化の早いマシンの発展に追 従すべての量子アニーリング/ イジングマシンに対応 ✓ 26万ビット級のアニーリング マシン実行環境が利用可能 始めやすい ✓ 評価・検証用途には開発環境 と実行環境が無償で利用可能 ✓ 多くのチュートリアル、サン プルコードを整備・拡充 多くの人が始めやすい開発プラットフォームを無料で提供 https://amplify.fixstars.com Copyright© Fixstars Group 30
Fixstars Amplify の技術 Copyright© Fixstars Group
Amplify SDK Amplify SDK ならアニーリングのプログラミングが圧倒的に短縮されます 実行方法 Copyright© Fixstars Group 32
Amplify SDKによるシンプルプログラミング 数独を解くサンプルアプリ SDKなし 最適化しても 200行以上 富士通・デジタルアニーラの設定用コード SDKあり 30行程度 SDKなし 59行 SDKあり 1行 日立CMOSアニーリングマシンの設定用コード SDKなし 183行 SDKあり 1行 出典: Wikipdia Copyright© Fixstars Group 33
Fixstars Amplifyによる巡回セールスマン問題の実装例 Copyright© Fixstars Group 34
Amplify Annealing Engine ⚫ NVIDIA GPU V100/A100 で動作 • 独自の並列化シミュレーテッドアニーリングアルゴリズム ⚫ WEB経由で計算機能を提供 • 社会課題への取り組み・PoC・検証が加速 • Amplify SDK の実装を直ぐに実行可能 ⚫ 商用マシンでは最大規模かつ最高速レベル • 128Kビット (全結合) / 256Kビット超 (疎結合) Amplify Amplify Cloud Cloud Copyright© Fixstars Group 35
Amplify Annealing Engine Fixstars Amplify AE D-Wave Advantage ※評価・検証用途では無償提供 Copyright© Fixstars Group 36
Amplify SDK/AE パフォーマンス Amplify は最速レベルの定式化・求解速度を達成しています TSP 10,000 vars MAX-CUT 2,000 vars Gurobi Amplify AE x1000 Faster SDK 定式化処理速度 AE 求解性能・速度 Copyright© Fixstars Group 37
オンラインデモ & チュートリアル https://amplify.fixstars.com/ja/demo Copyright© Fixstars Group 38
様々な分野で利用が拡大しています 住友商事株式会社 450 登録社・組織数: 約 累計実行回数: 1,800万回超 Copyright© Fixstars Group 39
料金のご紹介 https://amplify.fixstars.com/ja/pricing Amplifyクラウド利用料 開発支援サービス(個別見積り) コンサル・システム開発等 数百万円~数千万円 月額利用料 百万円~ 定式化や実装を 手厚く 支援します! Copyright© Fixstars Group 40
セミナー・トレーニングのご紹介 https://amplify.fixstars.com/ja/news/seminar お客様の実際の課題解決をご支援するために、無料セミナーや有償トレーニングを提供しています。 無料セミナー・ワークショップ ビジネス向け、エンジニア向けに分けて 開催しています! 企業向けプライベートトレーニング お客様が抱える実際の課題やデータを使った カスタムメイドのトレーニングです! Copyright© Fixstars Group 41
ワークショップ ~事前準備~ Copyright© Fixstars Group
ワークショップの事前準備 (1) ⚫ ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Google colaboratoryを使うので、事前にログイン出来ることを確認をお願いします (Googleアカウントが必要です) ■ https://colab.research.google.com/ ⚫ Fixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トー クンの取得をお願いします (1分で終わります) ■ https://amplify.fixstars.com/ja/register Copyright© Fixstars Group 43
ワークショップの事前準備 (2) ⚫ 入手いただいたAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認をお願 いします。サンプルコードは閲覧のみ可能ですので「ドライブにコピー」の上、ご自身のトークン を入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、「このまま実行」を選択下さい) ◼ https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharing この部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。 ご自身のトークン番号は、Amplify HPよりご確認いただけます アクセストークン ◼ ご自身のトークンを入力の上、2つのセルをShift+Enterで実行し、以下の結果が出力されればOKです Copyright© Fixstars Group 44
ワークショップの事前準備 (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 質問は随時、Zoomの チャット か Q&A でお願いします。 対応可能なメンバーが対応致します。 Copyright© Fixstars Group 45
ワークショップ ~シフト最適化~ Copyright© Fixstars Group
最適シフト作成 【問題】業務で求められる役割・役職・スキルと個人の能力や要求を考慮した最適シフトとは 業務要求 要求管理者数 要求スキル量(各従業員が持つスキル値の合計) 要求配置(0=NG, 1=OK, 2=要求) ライン 責任者 主任技師 合計 前工程 後工程 組立て 合計 従業員ID LineA LineB LineC LineA 1 1 2 8 4 5 17 0 1 0 0 LineB 1 1 2 6 9 3 18 1 1 1 1 LineC 1 1 2 7 6 5 18 2 1 3 3 6 21 19 13 53 23 1 2 ・ ・ ・ 1 0 合計 24 1 1 0 1 マッチング 各従業員情報 担当可能役職 スキル値(1=初級, 2=中級, 3=上級) 従業員ID 責任者 主任技師 技師 前工程 後工程 組立て 0 1 1 1 3 3 3 1 0 1 1 3 3 2 2 0 0 1 2 1 23 0 24 0 0 ・ ・ ・ 1 Copyright© 0 Fixstars Group 1 0 0 1 0 0 ・ ・ ・ 2 1 47 47
最適シフト作成 問題設定 各ラインの要求を満たすシフトの作成 定式化 目的関数: 複数の要求のバランス(充足率の平均の最大化、 分散の最小化、配置要求とのマッチングの最大化) 実装 制約条件: ① 従業員は同時に1ラインのみに配置可 ② 各ラインが要求する管理職を配置する事など 解を取得 LineA LineB Copyright© Fixstars Group LineC 充足率 48
事例紹介: 人員配置の効率化・自動最適化 関連インタビュー動画(4:00~): https://www.youtube.com/watch?v=UyvomUej2Xw 充足率の平均の最大化、充足率の分散の最小化を 最適化する問題をイジングマシンで実行 手動配置 一部事前配置 自動配置結果の微調整 Copyright© Fixstars Group 自動配置 (アニーリング) 各種条件を満たすように、 未配置のメンバーを一括 割り当て 49
ワークショップ: 問題設定 15名の従業員を5名ずつ、3つの生産ラインへ振り分けます。各従業員は、各ラインに対するスキル値を持 ちます。各ラインに配置された従業員のスキル値 (ラインスキル値) の合計がなるべく高く、また、各ライ ンのラインスキル値のばらつきが少ない、という2つの目的のバランスの取れた シフトの作成 を目指しま す。全てを一度にやるのは難しいので、4つのステップに分けて、アルゴリズムの完成を目指します。 組合せは 約1400万通り! Aライン (5名) Bライン (5名) Cライン (5名) Copyright© Fixstars Group 50
ワークショップ: 試しに人の手でやってみましょう Copyright© Fixstars Group 51
ワークショップ: 4 Step 15名の従業員を5名ずつ3つの生産ラインへ振り分けます。各従業員は、各ラインに対するスキル値を持 ちます。各ラインに配置された従業員のスキル値 (ラインスキル値) の合計がなるべく高く、また、各ラ インのラインスキル値のばらつきが少ない、という2つの目的のバランスの取れたシフトの作成を目指し ます。全てを一度にやるのは難しいので4つのステップに分けてアルゴリズムの完成を目指します Step1 まず、2つの制約だけを考慮して配置シフトを求めます 制約➀: 従業員は同時に1つの製造ラインのみに配置が可能 制約②: 各ラインの配置人数が5名ずつになること 解の候補多数あり Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を 同時に実現するシフトを求めます Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスの シフトを作成します Copyright© Fixstars Group 52
Step1 まず、2つの制約だけを考慮して配置シフトを求めます Step1のサンプルコードのレビュー (尚、本ワークショップでは、最適化のコードにフォー カスし、下準備や可視化のコードの詳細は割愛します) Copyright© Fixstars Group 53
Step1 まず、2つの制約だけを考慮して配置シフトを求めます 決定変数の準備 BinaryPoly型 (15×3) = 45 [qbit] イジングマシン による計算で最 適な(0,1)の組 合せを探す 従業員3は line_Cに 配置 1: 配置 0: 非配置 実装 決定変数 Copyright© Fixstars Group 54
Step1 まず、2つの制約だけを考慮して配置シフトを求めます 定式化 制約➀: 従業員は同時に1つの製造ラインのみに 配置が可能 → one_hot制約 3 𝑞𝑖,𝑙 = 1 𝑙 制約②: 各ラインの配置人数が要求人数(5名) と一致する事 → equal_to制約 (等式制約) 15 𝑞𝑖,𝑙 = 5 𝑖 Copyright© Fixstars Group 55
Step1 まず、2つの制約だけを考慮して配置シフトを求めます 実装 【補足】 制約条件の取り扱いに関する詳細は、 こちらにあるチュートリアルも合わせ てご参照下さい https://amplify.fixstars.com/ja/demo Copyright© Fixstars Group 56
Step1 まず、2つの制約だけを考慮して配置シフトを求めます 求解 Amplify AE • • 無料版は1ジョブ10秒まで設定可 有料版では1分まで設定可能 modelに格納してマ シンに投げます。 制約条件だけを与え た場合、制約条件を 満たす解を探してき てくれます。 Copyright© Fixstars Group 57
Step1 まず、2つの制約だけを考慮して配置シフトを求めます 結果の取得 確 認 同じ人が複数のラインに配置される事無く、各ラインに5人ずつ配置するという、2つの制約を満たすシフトを作るこ とができました。ただし、解の候補はたくさん有り、最適化の余地も大きそうです。 Copyright© Fixstars Group 58
Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます ここでは、工場全体のアウトプットの最大化を目指し、各従業員をできるだけ高いスキル値を持つラインへ配置すること を目指します Aライン(5名) ラインスキル値 ラインスキル値 全ラインのスキル 値の合計 これを最大化 したい! ラインスキル値 Copyright© Fixstars Group 59
Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます Step2のサンプルコードのレビュー Copyright© Fixstars Group 60
Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます 定式化 目的➀: 全ラインの合計スキル値の最大化 3 15 𝑠𝑘𝑖𝑙𝑙_𝑠𝑐𝑜𝑟𝑒 = 𝑞𝑖,𝑙 ∙ 𝑠𝑖,𝑙 𝑙 𝑖 決定変数 各列の要素同士の掛け算の和 ⇒ 各ラインのラインスキル値 Copyright© Fixstars Group 61
Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます 実装 : 追加コード イジングマシンは、このobjectiveの値が最小になる組合せを探し ます (全ラインの合計スキル値は大きいものを選びたいので、 skill_scoreにマイナスをつけたものをobjectiveとしています) 制約条件には適切な値の重みを設定する必要があります。典型的 なスキル値より大きくしておく必要があるため 150 としました Copyright© Fixstars Group 62
Step2 Step1に「ラインスキル値の合計 (= 全ラインの合計スキル値) を最大化」という目的➀を 追加し、複数の解の候補から目的を実現するシフトを求めます 結果の取得 ばらつき大 可視化 確 認 二つの制約を満しながら、全ラインの合計スキル値が最大化されたシフトを作ることができました (Step1の全ラインの合 計スキル値は1,265) 。但し、ライン間のスキル値のばらつきが大きいので、更なる最適化をかけたい状況です Copyright© Fixstars Group 63
Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を 同時に実現するシフトを求めます 定式化 実装 : 追加コード 目的②: ラインスキル値のばらつき (分散) を最小化 σ3𝑙 σ15 𝑖 𝑞𝑖,𝑙 ∙ 𝑠𝑖,𝑙 𝑣𝑎𝑟𝑖𝑎𝑛𝑐𝑒 = 3 2 σ3𝑙 σ15 𝑖 𝑞𝑖,𝑙 ∙ 𝑠𝑖,𝑙 − 3 2 ばらつきは小さい方が選ばれるようにしたいのでプラスで足します Copyright© Fixstars Group 64
Step3 Step2に「ラインスキル値のばらつきを最小化」という目的②を追加して、2つの目的を 同時に実現するシフトを求めます 結果の取得 可視化 ばらつき全くなし! 確 認 二つの制約を満しながら、全ラインの合計スキルが高く、各ライン間のばらつきが全くないシフトを作ることができました (Step1の全ラインの合計スキル値は1,265で、Step2は1,475)。最後に、目的➀と目的②のバランスをチューニングし て最適なシフトの作成を目指します。 Copyright© Fixstars Group 65
Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスの シフトを作成します 実装 : 追加コード Copyright© Fixstars Group 66
Step4 Step3に目的➀と目的②の重みを調整する「パラメーター」を追加し、最適なバランスの シフトを作成します 結果の取得 ばらつき極小! 可視化 確 認 最適なバランスのシフトが完成しました! Copyright© Fixstars Group 67
ワークショップ:おさらい 制約のみからスタートして、複数の目的を加え、重みを調整する事で、最適なバランスのシフトを作りました。 Step1 Step2 Step3 Step4 スキル値合計: 1,265 スキル値合計: 1,475 スキル値合計: 1,440 スキル値合計: 1,460 制約 制約 制約 制約 スキル値最大化 スキル値最大化 スキル値最大化 スキル値ばらつき調整 スキル値ばらつき調整 重みを調整 Copyright© Fixstars Group 68
類似の実アプリの紹介 Copyright© Fixstars Group 69
Wrap Up Copyright© Fixstars Group
発展課題 課題1 各従業員の各ラインのスキル値を10倍の値とした場合に、ワークショップと同じ目的を実現するための最 適シフトを求めて下さい (スキル値の値を変えるだけだと解は求まりません) 課題2 最近、従業員番号0の田中さんと従業員番号1の佐藤さんの間 にトラブルが発生して、この二人を同じラインに配属できな くなりました。この二人を同じチームには入れないという条 件を加えて、ワークショップと同じ目的を実現するための最 適シフトを求めるためには、サンプルコードをどのように変 えればよいでしょうか Copyright© Fixstars Group 71
本セミナーのゴール ⚫ 身の回りには組合せ最適化問題がたくさんあることを知る ⚫ 組合せ最適化問題を解くための専用マシン(イジングマシン)があることを知り、イジ ングマシンを使って問題を解くための統一的なフレームワークや、問題設定の考え方、 目的関数や制約条件の定式化のポイントを理解する ⚫ ワークショップを通して、実際に量子アニーリング・イジングマシンを動かしてみるこ とで、実問題への適用の足掛かりを得る Copyright© Fixstars Group 72
今後について ⚫ 本日の「発展的課題」にチャレンジ! ⚫ デモ・チュートリアルにチャレンジ! 目的関数のみで定式化 制約のみで定式化 目的関数+制約で定式化 困った時は ドキュメンテーションを! https://amplify.fixstars.com/ja/docs/ Copyright© Fixstars Group 73
今後のセミナーのご案内 今後も無料セミナーを開催します!第二部からの参加も可能です 2023/4/13 (木) 「シフト最適化」 2023/5/18 (木) 「生産計画最適化」 2023/6/15 (木) 「搬送経路最適化」 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシン の紹介 • Fixstars Amplifyの紹介 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシン の紹介 • Fixstars Amplifyの紹介 第一部 14:00 - 14:45 第二部 14:50 - 16:00 • Fixstars Amplifyを用いた「シフ ト最適化」のワークショップ • Q&A 第二部 14:50 - 16:00 • Fixstars Amplifyを用いた「生産 計画最適化」のワークショップ • Q&A 第二部 14:50 - 16:00 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシン の紹介 • Fixstars Amplifyの紹介 • Fixstars Amplifyを用いた「搬送 経路最適化」のワークショップ • Q&A ご質問・ご不明点は問合せフォームでご連絡下さい https://amplify.fixstars.com/ja/contact Copyright© Fixstars Group 74
ご清聴ありがとうございました! Copyright© Fixstars Group