5.6K Views
January 12, 24
スライド概要
株式会社 Fixstars Amplify では、量子コンピュータ時代を見据え、量子アニーリング・イジングマシンのクラウドプラットフォーム「Fixstars Amplify」を活用した、社会課題の解決と実業務への適用を進めています。
本セミナーでは、組合せ最適化問題の概要や、組合せ最適化問題を解くための専用マシンである量子アニーリング・イジングマシン及びその活用事例をご紹介した後、生産計画最適化をテーマとしたワークショップを行います。
ワークショップでは、無料版の Fixstars Amplify とサンプルプログラムを活用して、ご自身の PC より実際に生産計画最適化問題を解いていただきます。
企業の事業部やIT部門でDX・業務効率化に取り組まれている方や、Fixstars Amplify を使った目的関数や制約条件の実装方法などをお知りになりたい企業や大学の研究者の方におすすめの内容となっています。
また、本セミナーの中で、先日リリースしたスケジューリング問題に特化した新製品であるFixstars Amplify Scheduling Engineについても簡単に紹介いたします。
【量子コンピューティングクラウド「Fixstars Amplify」とは】
Fixstars Amplifyはユーザー登録無料で、すぐにお使い頂けるクラウドサービスです。
実社会のあらゆる場面・場所に存在している、組合せ最適化問題を解決してみましょう。
・量子コンピューティングクラウドサービス「Fixstars Amplify」 無料ユーザー登録:
https://amplify.fixstars.com/ja/register
・Fixstars Amplify デモ&チュートリアル:
https://amplify.fixstars.com/ja/demo
・Fixstars Amplify 導入事例(お客様事例・研究事例):
https://amplify.fixstars.com/ja/customers
・Fixstars Amplify 量子コンピュータセミナー 一覧:
https://amplify.fixstars.com/ja/news/seminar
※テーマを変えて毎月開催しています。
・フィックスターズグループ/セミナー一覧:
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
フィックスターズの強み コンピュータの性能を最大限に引き出す、ソフトウェア高速化のエキスパート集団 ハードウェアの知見 プログラム実装力 各産業・研究分野の知見 目的の製品に最適なハードウェアを見抜き、 その性能をフル活用するソフトウェアを開 発します。 ハードウェアの特徴と製品要求仕様に合わ せて、プログラムを改良して高速化を実現 します。 開発したい製品に使える技術を見抜き、実 際に動作する実装までトータルにサポート します。 Copyright© Fixstars Group 8
フィックスターズの量子技術への取り組み 次世代技術を先取りし 今ある課題の解決を目指す 2018年 NEDOのプロジェクトに採択 「イジングマシン共通ソフトウェア 基盤の研究開発」 2023年 2022年 9月: 新製品 Fixstars Amplify Scheduling Engine リリース 11月: Toshiba SQBM+を標準マシンに追加 12月: 累計実行回数3,000万回突破 5月: Fixstars Amplify がGurobi、IBM-Quantumをサポート 7月: 累計実行回数1,000万回突破 2021年 2月: 量子アニーリングクラウドサービス「Fixstars Amplify」提供開始 10月: 子会社Fixstars Amplifyを設立 11月: Q-STAR 量子技術による新産業創出協議会に特別会員として加入 2017年 日本で初めて D-Wave Systems社と提携 2019年 SIPの研究開発に参画 「光・量子を活用したSociety 5.0実現化技術:光電子情報処理」 Copyright© Fixstars Group 9
Fixstars Amplify 製品ポートフォリオ New! Fixstars Amplify (2021/2~) • Fixstars Amplify Scheduling Engine (2023/9~) • 汎用的な問題に対応するSDKと実行環境 (Annealing Engine) • • スケジューリング問題に特化したSDKと実行環境 (Scheduling Engine) • 2次のQUBO問題が得意 最適化の目的を Makespan の最小化に絞り、複雑 自分で定式化した目的関数や制約条件の中で一番 な制約条件を通常のプログラミングの延長で実装 良い組み合わせを高速・高精度に探索 可能 (定式化不要) 本日のセミナーはこちら 製品紹介のウェブサイトを開設し、お試しのための無料 トークンの配布も開始しています。無料セミナーの準備 も進めています! Copyright© Fixstars Group 10
組合せ最適化問題・イジングマ シン・事例の紹介 Copyright© Fixstars Group
量子アニーリング・イジングマシンと組合せ最適化問題 量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシン 膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題) スケジューリング 配送計画 スマートシティー 集積回路設計 参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」 Copyright© Fixstars Group 12
組合せ最適化問題を解く統一的なフレームワーク 問題設定 膨大な解候補(組合せ)から最適解を選ぶ ・解候補一つ一つの計算は可能 ・候補数が膨大ですべての解候補を計算できない 目的関数: これを最小化(最大化)する解が最適 定式化 組合せ最適化問題の例 制約条件: 解が必ず満たすべき条件 数式で表現 バイキングで最も安く 必要な栄養が取れる組合せは? (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円 13
組合せ最適化の取り組み事例 シフト最適化 生産計画最適化 経路最適化 人の直観で時間をかけて行っ ていた生産ラインや物流倉庫 の業務シフト作成を、スキル や勤務時間などの条件をもと に最適化します 製造工場の設備の利用割り当て (ジョブショップスケジューリ ング) を、納期や段取り時間 などを考慮して最適化します 倉庫を走行する多数の搬送ロ ボット (AGV) が効率よく動 作するよう、最適経路だけで なく迂回や交差点での待機な どリアルタイムに指示します 本日のセミナーのテーマ Copyright© Fixstars Group 14
最適配置自動化サービス(物流梱包業務の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 16
生産計画最適化 (機器製造メーカー B社様) 各製品の生産数に応じて製造人員数の計画をする部門 効 果 必要人員数と日毎の人員数の増減の最小化! 計画立案の業務負荷削減・属人化解消! 人員数 課 題 少量多品種の機器を製造している。それぞれの製品は生産が開始できる 時期や納期が決まっていて、各製品をどの生産ラインでいつ製造するか によって日々の必要人員数が変化する。人員数と日毎の人員数の増減を 最小化したい。 従来は、専任者が2名で日々計画を立案・修正していたが、効率的な生 産計画の立案、業務負荷削減、属人化解消のため自動化に着手。 製品 A 調整▼納期 調整 1000台 ▼納期 製品 B 2000台 納期▼ 製品 C 7000台 順番入れ替え 製品 D 納期▼ 200台 人員数の増減を 最小化! 時間(日) Copyright© Fixstars Group 17
Fixstars Amplify を活用した研究事例 大学 研究室 論文タイトル 量子ア ニーリ ング/イ ジング マシン に関す る研究 早稲田大学 戸川研究室 イジングマシンによる制約付きグラフ彩色問題の彩色数最小化手法 (リンク) 東京大学 Prof. Codognet Modeling the Costas Array Problem in QUBO for Quantum Annealing (リンク) 名古屋大学 片桐研究室 Amplifyを用いたCMOSアニーリングマシンの特性の分析 (リンク) 東北大学 小松研究室 組み合わせクラスタリングによるアニーリングマシンの評価 (リンク) 応用 研究 慶應大学 村松研究室 東京大学 長谷川研究室 山梨大学 鈴木研究室 東京大学 津田研究室 (MI) Designing metamaterials with quantum annealing and factorization machines (リンク) 京都大学 野田研究室 (電子工学) 量子アニーリングを活用したフォトニック結晶レーザーの構造最適化 (リンク) 東京大学 津田研究室 (MI) Chemical Design with GPU-based Ising Machines (リンク) (材料工学) (量子ゲート) (情報工学) Phase-fieldモデルの量子アニーリングシミュレータ (リンク) ISAAQ:イジングマシンを活用した量子コンパイラ (リンク) 量子アニーリングによる疎行列直接解法向けフィルイン削減オーダリング (リンク) Copyright© Fixstars Group BBO 18
アカデミアにおける応用事例: インタビュー記事 https://amplify.fixstars.com/ja/customers#interview Copyright© Fixstars Group 19
Fixstars Amplify:メディア掲載 https://amplify.fixstars.com/ja/news/media Software Design Interface 「はじめての量子プログラミング体験」 「Pythonで体験!量子コンピュータ」 (2021年6月号~2022年1月号まで連載) (2022年6月号) Copyright© Fixstars Group 20
Fixstars Amplify のご紹介 Copyright© Fixstars Group
クラウドサービス: Fixstars Amplify ⚫ 量子コンピューティングを想定したシステム開発・運用のクラウドプラットフォーム ⚫ 量子コンピュータや独自開発のGPUアニーリングマシンなど、組合せ最適化問題の専用マシンを効率的に実行できる https://amplify.fixstars.com/ja/ サービス概要 ⚫ SDKをインストールするだけです 簡単 ぐに使える (pip install amplify) ⚫ ハードウェアの専門知識不要でア プリケーションが開発できる ⚫ すべての量子アニーリング/イジン ポータブル ⚫ グマシンに対応 Fixstarsの26万ビット級のアニー リングマシン実行環境も利用可能 ⚫ 評価・検証用途には開発環境と実行 適用分野 (一例) ・・・ 金融 物流 始めやすい ライフサイエンス Copyright© Fixstars Group 環境が無償で利用可能 ⚫ 多くのチュートリアル、サンプルコ ードを整備・拡充 22
量子技術とFixstars Amplifyの対応領域 1. 量子コンピュータ 3. イジングマシン 量子ゲート方式 二値二次多項式模型 古典汎用コンピュータの上位互換。 量子力学の重ね合わせ状態を制御 する量子ゲートを操作し、特定の 問題を汎用的かつ高速に処理する。 二次の多変数多項式で表される目的 関数の組合せ最適化問題 (QUBO) を扱う専用マシン。 QAOA に よ り 組 合 せ 最 適 化 問 題 (QUBO) を取り扱うことが可能。 1 3 量子コンピュータ IBM/Google/Rigetti/IonQ 2 量子 アニーリング イジングマシン 富士通/日立/東芝/Fixstars 変数は0,1または±1。統計物理学に おけるイジング模型 (磁性体の性質 を表す模型) に由来。様々な実装に より実現されている。 D-Wave/NEC 2. 量子アニーリング方式 量子焼きなまし法 イジングマシンの一種であり、量子焼きなまし法の原理に基 づいて動作する。量子イジング模型を物理的に搭載したプロ セッサで実現する。自然計算により低エネルギー状態が出力 される。組合せ最適化問題 (QUBO) を扱う専用マシン。 Copyright© Fixstars Group Amplify AE 23
二次計画問題 組合せ最適化問題 量子アニーリング・イジングマシン ⚫ 決定変数が離散値 (整数など) • 整数計画問題 (決定変数が整数) • 0-1整数計画問題 (決定変数が二値) ⚫ 連続最適化問題 • 決定変数が連続値(実数など) Quadratic 二次形 Unconstrained 制約条件なし Binary 0-1整数 (二値) Optimization 計画(最適化) QUBO模型 (0-1整数二次計画問題) 𝒇 𝒒 = 𝑄𝑖𝑗 𝑞𝑖 𝑞𝑗 + 𝑄𝑖𝑖 𝑞𝑖 𝑖<𝑗 目的関数 𝒇 𝒒 を最小化するような 𝒒 を求める 𝑖 決定変数 係数 Copyright© Fixstars Group 24
Fixstars Amplify の特長 – いつでも 開発環境と実行環境がセットのため すぐにプログラミングと実行が出来る – 誰でも ハードウェアや専門的な知識が不要 無料で開発がスタート可能 多くの解説、サンプルコード – 高速に 26万ビットクラスの大規模問題の 高速処理と高速実行が可能 – あらゆる 一般に公開されている全てのイジング マシンを利用可能 Copyright© Fixstars Group 25
Fixstars Amplify の対応マシン New https://news.fixstars.com/4025/ : SQBM+を標準マシンとして追加 Copyright© Fixstars Group 26
Fixstars Amplify の技術 ⚫ Fixstars Amplify SDK(開発環境) ⚫ Fixstars Amplify Annealing Engine(実行環境の1つ) Copyright© Fixstars Group
Amplify SDK Amplify SDK ならアニーリングのプログラミングが圧倒的に短縮されます 実行方法 Copyright© Fixstars Group 28
Fixstars Amplify SDKによるシンプルプログラミング 数独を解くサンプルアプリ SDKなし 最適化しても 200行以上 SDKあり 30行程度 富士通・デジタルアニーラの設定用コード SDKなし 59行 SDKあり 1行 日立CMOSアニーリングマシンの設定用コード SDKなし 183行 出典: Wikipdia SDKあり 1行 SDKが、各マシンに対して最適な 形式に実装式を多段変換! Copyright© Fixstars Group 29
Amplify Annealing Engine ⚫ NVIDIA GPU V100/A100 で動作 • 独自の並列化シミュレーテッドアニーリングプログラム ⚫ WEB経由で計算機能を提供 • 社会課題への取り組み・PoC・検証が加速 • Amplify SDK の実装を直ぐに実行可能 ⚫ 商用マシンでは最大規模かつ最高速レベル • 128Kビット (全結合) / 256Kビット超 (疎結合) Amplify Amplify Cloud Cloud Copyright© Fixstars Group 30
Fixstars Amplify Annealing Engine (Amplify AE) NVIDIA GPU V100/A100 で動作 • 独自の並列化シミュレーテッド アニーリングプログラム WEB経由で計算機能を提供 • 社会実装・PoC・検証が加速 • Amplify SDK の実装を直ぐに実行可能 商用マシンでは最大規模・最高速レベル • 120,000 ビット(全結合) • 260,000 ビット超(疎結合) Copyright© Fixstars Group ※標準マシンは評価・検証用途では無償提供 31
Amplify SDK/AE パフォーマンス Amplify は最速レベルの定式化・求解速度を達成しています TSP 10,000 vars MAX-CUT 2,000 vars Gurobi Amplify AE x1000 Faster SDK 定式化処理速度 AE 求解性能・速度 Copyright© Fixstars Group 32
オンラインデモ & チュートリアル Copyright© Fixstars Group Amplify デモ 検索 https://amplify.fixstars.com/ja/demo 33
様々な分野で利用が拡大しています 住友商事株式会社 登録社・組織数: 約 累計実行回数: 600 3,000万回超 Copyright© Fixstars Group 34
Fixstars Amplify ご利用プラン Copyright© Fixstars Group
料金のご紹介 https://amplify.fixstars.com/ja/pricing Fixstars Amplifyクラウド利用料 開発支援サービス(個別見積り) コンサル・システム開発等 数百万円~数千万円 月額利用料 百万円~ 定式化や実装を 手厚く 支援します! Copyright© Fixstars Group 36
セミナー・トレーニングのご紹介 https://amplify.fixstars.com/ja/news/seminar お客様の実際の課題解決をご支援するために、無料セミナーや有償トレーニングを提供しています。 無料セミナー・ワークショップ ビジネス向け、エンジニア向けに分けて 開催しています! 企業向けプライベートトレーニング お客様が抱える実際の課題やデータを使った カスタムメイドのトレーニングです! Copyright© Fixstars Group 37
ワークショップ ~事前準備~ Copyright© Fixstars Group
ワークショップの事前準備 (1) • ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Google Colaboratoryを使うので、事 前にログイン出来ることを確認をお願いします(要Googleアカウント) Google Colab 検索 https://colab.research.google.com/ • Fixstars Amplify ホームページよりユーザ登録の上、 無料トークンの取得をお願いします(1分で終わります) Fixstars Amplify 検索 https://amplify.fixstars.com/ Copyright© Fixstars Group 39
ワークショップの事前準備 (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 40
ワークショップの事前準備 (3) ⚫ ⚫ ワークショップで使うサンプルコードを以下のURLより取得して下さい それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞれのサンプ ルコードを「ドライブにコピー」の上、トークンを入力し実行して下さい ➢ サンプルコード Step1 https://colab.research.google.com/drive/1oAaEPnj5F71jnQ3_ELOI4NCe6im6luw#scrollTo=ubFqJ2XEL76u Step2 https://colab.research.google.com/drive/171migOXlXlhXWhZ4uAhCW2WjJ5Vmaqn9#scrollTo= seeNN5uEK52D Step3 https://colab.research.google.com/drive/1fqZn0Jz8JdzgCmpml2DWguUIuZOwNxEm#scrollTo= dNtZPM-jJetC 質問は随時、Zoomの チャット か Q&A でお願いします。 対応可能なメンバーが対応致します。 Copyright© Fixstars Group 41
ワークショップ ~生産計画最適化~ Copyright© Fixstars Group
生産計画最適化 【問題】10台の製造装置を使い4種の製品を合計100個作りたい。製造する品種を変更するには、部品の 交換するための段取り時間が必要。全数の生産が完了するまでの時間を最短にするには、どの製品を、ど の製造装置で、どういう順番で製造するのが最適か 装置0 装置1 A B A B A B A B 製造装置 10台 段取り 時間 装置9 B 段取り 時間 段取り 時間 C D A 4品種、合計100個 品種 製品数 処理時間 (時間/ロット) A 30 2時間 B 10 3時間 C 40 1時間 D 20 1時間 段取り時間 A→A 0時間 B→A 2時間 C→A 1時間 D→A 2時間 段取り時間がかかるから、同じ品種の製品をできるだけ まとめて生産したら良さそうだけど、全部はできないし、 どうするのが一番いいんだろう・・・ Copyright© Fixstars Group 43
生産計画最適化 問題設定 定式化 実装 段取り時間を含めた総生産時間を最小化する 目的関数: 生産時間と段取りの総生産時間の最小化 制約条件: ① 各装置が同時に作れるのは1品種のみ ② 各品種の合計生産数が予定数通り 18時間で 生産完了 マシン10台、4品種、合計製品数100個 解を取得 Amplifyが 10秒で計算 Copyright© Fixstars Group 44
ワークショップ: 問題設定 【問題】 3台の製造装置で3品種、合計45個の生産計画を作成します。各品種の生産台数、生産時間、及 び、生産する品種を交換する際に生じる段取り時間は以下の通りです。全ての製品の生産ができるだけ早 く完了するよう、生産にかかる総所要時間 (各製品の生産完了までにかかる所要時間の合計) が少なく、総段取り時間 も少ない、バランスの取れた生産計画の作成を目指します。全てを一度にやるのは難しいので3つのステ ップに分けてプログラムを作成します A: ?個 B: ?個 C: ?個 A: ?個 B: ?個 C: ?個 装置1 装置2 A: ?個 B: ?個 C: ?個 装置3 Copyright© Fixstars Group 45
ワークショップ: 3 Step 【問題】 3台の製造装置で3品種、合計45個の生産計画を作成します。各品種の生産台数、生産時間、及 び、生産する品種を交換する際に生じる段取り時間は以下の通りです。全ての製品の生産ができるだけ早 く完了するよう、生産にかかる総所要時間 (各製品の生産完了までにかかる所要時間の合計) が少なく、総段取り時間 も少ない、バランスの取れた生産計画の作成を目指します。全てを一度にやるのは難しいので3つのステ ップに分けてプログラムを作成します Step1 まず、2つの制約を守るだけのプログラムを作ります 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り 解の候補多数あり Step2 Step1に「総所要時間の最小化」という目的➀を追加し、複数の解の候補から目的➀を実 現する解を求めるプログラムを作ります Step3 Step2に「総段取り時間の最小化」という目的②を追加して、目的➀と目的②を同時に実 現するプログラムを作ります Copyright© Fixstars Group 46
Step1 まず、2つの制約を守るだけのプログラムを作ります 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り Step1のサンプルコードのレビュー (尚、本ワークショップでは、最適化のコードにフォー カスし、下準備や可視化のコードの詳細は割愛します) Copyright© Fixstars Group 47
まず、2つの制約を守るだけのプログラムを作ります Step1 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り 決定変数の準備 1つの装置で全製品を生産する可能性が あるので最大45個のスロットを用意 得られる解の例 イジングマシン で最適な(0,1)の 組合せを探す あ 装置ごとに4品種 (A~C+ダミー) BinaryPoly型 (3×45×4) = 540 [qbit] 1は割当、0は非割当を表す 実装 装置#2では最初 に製品Cを作る ※ 説明の都合上、ダミー製品が後ろに 並ぶような図となっていますが、実際 は前に並ぶよう定式化しています。 決定変数 Copyright© Fixstars Group 48
Step1 まず、2つの制約を守るだけのプログラムを作ります 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り 定式化 equal_to one_hot one_hot one_hot one_hot 制約➀: 各装置が同時に作れるのは1品種のみ → one_hot制約 合計 4 𝑞𝑚,𝑖,𝑡 = 1 𝑡=1 制約②: 各品種の合計生産数が予定数通り → equal_to制約 (等式制約) 3 45 𝑝𝑟𝑜𝑑_𝑛𝑢𝑚𝑡 = 𝑞𝑚,𝑖,𝑡 𝑚=1 𝑖=1 Copyright© Fixstars Group 49
Step1 まず、2つの制約を守るだけのプログラムを作ります 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り 実装 【補足】 制約条件の取り扱いに関する詳細は、こちらにある チュートリアルも合わせてご参照下さい https://amplify.fixstars.com/ja/demo Copyright© Fixstars Group 50
Step1 まず、2つの制約を守るだけのプログラムを作ります 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り 求解 Amplify AE • modelに格納して マシンに投げます • 制約条件だけを与 えた場合、制約条 件を満たす解を探 してきてくれます 無料版は1ジョブ10秒まで設定可。 有料版では1分まで設定可能 Copyright© Fixstars Group 51
Step1 まず、2つの制約を守るだけのプログラムを作ります 制約➀: 各装置が同時に作れるのは1品種のみ 制約②: 各品種の合計生産数が予定数通り 結果の取得 可 視 化 一つ目の制約 (各装置が同時に作れるのは1品種のみ)と二つ目の制約 (各品種の合計生産数が予定数通り) を満たす計画を 作ることができました。但し、解の候補はたくさんある状況です。 Copyright© Fixstars Group 52
Step2 Step1に「総所要時間の最小化」という目的➀を追加し、複数の解の候補から目的➀を実現 する解を求めるプログラムを作ります Step2のサンプルコードのレビュー Copyright© Fixstars Group 53
Step2 Step1に「総所要時間の最小化」という目的➀を追加し、複数の解の候補から目的➀を実現 する解を求めるプログラムを作ります このステップでは、各製品の生産時間のみに着目し、総所要時間の最小化を目指します (目的➀)。総所要時間は、各 製品の生産完了までにかかる所要時間の合計としていますので、同じ製品を作る場合でも、生産する順番によって総 所要時間の合計は変わります (完成品をできるだけ早く製造する計画を作る前提です) 。 各製品の生産時間 定式化 総所要時間 (各製品の生産完了までにかかる 例1 3 2 1 所要時間の合計) = 1番目の所要時間 + 2番目の所要時間 + 3番目の所要時間 = 3 + (3+2) + (3+2+1) = 3*3 + 2*2 + 1*1 = 14 1番目の製品の生産完了までにかかる所要時間 2番目の製品の生産完了までにかかる所要時間 総所要時間の最小化 3 総所要時間 = 1 + (1+2) + (1+2+3) = 1*3 + 2*2 + 3*1 = 10 今回のワークショッ プではこちらを目指 します 1 2 4 𝑝𝑟𝑜𝑐𝑒𝑠𝑠 = 𝑎𝑖 ∙ 𝑝𝑟𝑜𝑐_𝑡𝑖𝑚𝑒𝑡 ∙ 𝑞𝑚,𝑖,𝑡 𝑚=1 𝑖=1 𝑡=1 3番目の製品の生産完了までにかかる所要時間 例2 45 ( 𝑎𝑖 は順序係数を表す (N+1-i, N=45)) 決定変数 3 1番目の製品の生産完了までにかかる所要時間 2番目の製品の生産完了までにかかる所要時間 3番目の製品の生産完了までにかかる所要時間 Copyright© Fixstars Group 赤字部分を順序係数と呼んでいます 54
Step2 Step1に「総所要時間の最小化」という目的➀を追加し、複数の解の候補から目的➀を実現 する解を求めるプログラムを作ります 実装 : 追加コード ・ ・ ・ イジングマシンは、この objectiveの値が最小にな る組合せを探します 制約条件には適切な値の重みを設定す る必要があります。 【補足】 制約条件の取り扱いに関する詳細は、こちらにあ るチュートリアルも合わせてご参照下さい https://amplify.fixstars.com/ja/demo Copyright© Fixstars Group 55
Step2 Step1に「総所要時間の最小化」という目的➀を追加し、複数の解の候補から目的➀を実現 する解を求めるプログラムを作ります 2つの制約を満たした上で、総所要時間の最小化する計画を作ることができました。次のステップでは、段取り時間に着目 し、段取り時間の最小化のコードを追加します Copyright© Fixstars Group 56
Step2に「総段取り時間の最小化」という目的②を追加して、目的➀と目的②を同時に実現 するプログラムを作ります Step3 段取り時間 例1 例2 総段取り時間 = 1 + (1 + 4) = 1*2+4*1 =6 1 4 4 今回のワークショッ プではこちらを目指 します 定式化 3 45 4 総段取り時間 = 4 + (4 + 1) = 4*2+1*1 =9 1 赤字部分を順序係数と呼びます 4 𝑠𝑤𝑖𝑡𝑐ℎ = 𝑎𝑖 ∙ 𝑠𝑤_𝑡𝑖𝑚𝑒𝑓𝑟,𝑡𝑜 ∙ 𝑞𝑚,𝑖−1,𝑓𝑟 ∙ 𝑞𝑚,𝑖,𝑡𝑜 𝑚=1 𝑖=2 𝑓𝑟=1 𝑡𝑜=1 ( 𝑎𝑖 は順序係数を表す (N-i, N=45)) 決定変数同士の積 (二次の項) Copyright© Fixstars Group 57
Step3 Step2に「総段取り時間の最小化」という目的②を追加して、目的➀と目的②を同時に実現 するプログラムを作ります 実装 : 追加コード Copyright© Fixstars Group 58
Step3 Step2に「総段取り時間の最小化」という目的②を追加して、目的➀と目的②を同時に実現 するプログラムを作ります 2つの制約を満たした上で、総所要時間を最小化しながら、総段取り時間を最小化する計画を作ることができました! Copyright© Fixstars Group 59
ワークショップ: おさらい 制約のみからはじめ、複数の目的を加え、最適なバランスの計画が作れるようになりました Step1 Step2 Step3 処理完了時間: 74 処理完了時間: 39 処理完了時間: 37 制約 制約 制約 総所要時間の最小化 総所要時間の最小化 総段取り時間の最小化 Copyright© Fixstars Group 60
Wrap Up Copyright© Fixstars Group
発展的課題 課題1 各品種の生産時間と段取り時間をそれぞれ10倍の値とした場合に、ワークショップと同じ目的を実現する 最適な生産計画を作成して下さい (生産時間と段取り時間の値を変えるだけだと解は求まりません) 課題2 追加! 工場の生産能力向上のため、新しい製造装置を1台導入すること になりましたが、その製造装置は、特殊な加工器具を要する品種 Bを製造することはできません。この状況を考慮し、ワークショ A: ?個 B: 0個 C: ?個 ップと同じ目的を実現する最適な生産計画を作成して下さい 製造装置4 ご質問・ご不明点は問合せフォームでご連絡下さい https://amplify.fixstars.com/ja/contact Copyright© Fixstars Group 62
今後について ⚫ 本日の「発展的課題」にチャレンジ! ⚫ デモ・チュートリアルにチャレンジ! 目的関数のみで定式化 制約のみで定式化 目的関数+制約で定式化 困った時は ドキュメンテーションを! https://amplify.fixstars.com/ja/docs/ Copyright© Fixstars Group 63
今後のセミナーのご案内 今後も無料セミナーを開催します!第二部からの参加も可能です 2023/2/7 (水) 「ブラックボックス最適化」 2023/3 (TBD) 「シフト最適化」(TBD) 2023/4 (TBD) 「生産計画最適化」(TBD) 第一部 14:00 - 14:35 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシンの 紹介 • Fixstars Amplifyの紹介 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシンの 紹介 • Fixstars Amplifyの紹介 第一部 14:00 - 14:45 • フィックスターズの紹介 • 組合せ最適化問題・イジングマシンの 紹介 • Fixstars Amplifyの紹介 第二部 14:40 - 16:00 • Fixstars Amplifyを用いた「ブラッ クボックス最適化」のワークショップ • Q&A 第二部 14:50 - 16:00 • Fixstars Amplifyを用いた「シフト 最適化」のワークショップ • Q&A 第二部 14:50 - 16:00 • Fixstars Amplify SE を用いた「生 産計画最適化」のワークショップ • Q&A ご質問・ご不明点は問合せフォームでご連絡下さい https://amplify.fixstars.com/ja/contact Copyright© Fixstars Group 64
本セミナーのゴール ⚫ 身の回りには組合せ最適化問題がたくさんあることを知る ⚫ 組合せ最適化問題を解くための専用マシン(イジングマシン)があることを知り、イジ ングマシンを使って問題を解くための統一的なフレームワークや、問題設定の考え方、 目的関数や制約条件の定式化のポイントを理解する ⚫ ワークショップを通して、実際に量子アニーリング・イジングマシンを動かしてみるこ とで、実問題への適用の足掛かりを得る Copyright© Fixstars Group 65
Fixstars Amplify Scheduling Engine のご紹介 https://amplify.fixstars.com/ja/scheduling • • 無料トークンの配布も 開始しています! スケジューリング問題に特化したSDKと実行環境 最適化の目的をMakespanの最小化に絞り、複雑な制約条件を通常のプログラミングの延長で実装可能 (定式化不要) Copyright© Fixstars Group 66
ご清聴ありがとうございました アンケートへのご協力お願いします! Copyright© Fixstars Group