316 Views
April 20, 22
スライド概要
量子コンピューティング時代を見据え、株式会社Fixstars Amplifyでは、量子アニーリング・イジングマシン向けクラウド基盤「Fixstars Amplify」を活用した、社会課題の解決と実業務への適用を進めています。
今回は製造業におけるDX推進の一例として、量子アニーリング・イジングマシンの力を「Fixstars Amplify」通じて活用し、工場内の搬送経路を最適化する手法についてワークショップ形式でご紹介します。
製造業界にお勤めのエンジニアの方、量子アニーリング・イジングマシンに興味がある方にオススメの内容となっております。
Fixstars Amplifyについてはウェブサイトをご覧ください。
https://amplify.fixstars.com/ja/
フィックスターズは、コンピュータの性能を最大限に引き出すソフトウェア開発のスペシャリストです。車載、産業機器、金融、医療など、幅広い分野での開発経験があります。また、ディープラーニングや機械学習などの最先端技術にも力を入れています。 並列化や最適化技術を駆使して、マルチコアCPU、GPU、FPGA、量子アニーリングマシンなど、さまざまなハードウェアでソフトウェアを高速化するサービスを提供しています。さらに、長年の経験から培ったハードウェアの知識と最適化ノウハウを活かし、高精度で高性能なアルゴリズムの開発も行っています。 ・開催セミナー一覧:https://www.fixstars.com/ja/seminar ・技術ブログ :https://proc-cpuinfo.fixstars.com/
Fixstars Corporation www.fixstars.com 量子コンピュータ時代の製造業におけるDXセミナー ~ 最適化の中身を覗いてみよう ~ 15:00 開始予定 マイク、カメラをOFFにしてしばらくお待ちください Zoomの表示名は、セミナー申し込み時の お名前としていただけますようお願いいたします Fixstarsではさまざまな専門性を持つエンジニアを募集しています 詳細は https://www.fixstars.com/ja/recruit/ まで Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com 【エンジニア向け】 製造業向け量子コンピュータ時代のDXセミナー ~最適化の中身を覗いてみよう: 経路最適化編~ Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 本日のAgenda 第一部 15:00-15:45 ➢ はじめに ➢ 会社紹介 ➢ 組合せ最適化・イジングマシン及び製造業における事例の紹介 ➢ Fixstars Amplifyの紹介 第二部 15:50-17:00 ➢ Amplify活用のワークショップ • 搬送経路最適化 Copyright © Fixstars Group 3
Fixstars Corporation www.fixstars.com はじめに Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 本セミナーの位置づけ 弊社では、Amplifyセミナーを「ビジネス向け」と「プログラマー向け」に分けて 定期的に開催しております(オンライン・無料) ビジネス向け プログラマー向け 組合せ最適化問題や量子アニーリング・イジングマシンの概要やビジネス上の効果を解説します 特定のテーマ・事例を用いて、問題設定、定式化、実装などのポイントを解説します セミナー紹介ページ: https://amplify.fixstars.com/ja/news/seminar 今後の予定 1/26 (1h) 5/25 (1h) ビジネス向け 2/24 (1.5h) 6/22 (1.5h) プログラマー向け (シフト最適化) 3/23 (1.5h) ビジネス向け プログラマー向け (生産計画最適化) 4/20 (1.5h) プログラマー向け (経路最適化) Copyright © Fixstars Group プログラマー向け (シフト最適化) 7/20 (1.5h) ← 本日 プログラマー向け (生産計画最適化) 8/24 (1.5h) プログラマー向け (経路最適化) 5
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 本セミナーのゴール ⮚ 製造業に組合せ最適化問題がたくさんあることを知る ⮚ 組合せ最適化問題を解くためのフレームワークや、問題設定の考え方、目的関 数や制約条件の定式化のポイントを理解する ⮚ 最適生産計画作成のサンプルコードを活用しながら、実際に量子アニーリン グ・イジングマシンを動かしてみることで、実問題への適用の足掛かりを得る 課題の抽出、問題の数式化、プログラムの実装などお客 様のステージやご要望に合わせて柔軟にお手伝いいたし ますので、お気軽にお声がけください! Copyright © Fixstars Group 6
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップの準備 (1) • ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Google colaboratoryを使うので、事前にログイン出来ることを確認をお願いします (Googleアカウントが必要です) • https://colab.research.google.com/ • Fixstars Amplify のトークンを取得済みか確認をお願いします。まだの人は Fixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トー クンの取得をお願いします (1分で終わります) • https://amplify.fixstars.com/ja/register Copyright © Fixstars Group 7
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップの準備 (2) • お持ちのAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認 をお願いします。サンプルコードは閲覧のみ可能ですので、「ドライブにコピー」の上、 ご自身のトークンを入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、「このまま 実行」を選択下さい) • https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharing この部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。 ご自身のトークン番号は、Amplify HPよりご確認いただけます • ご自身のトークンを入力の上、以下の結果が出力されればOKです Copyright © Fixstars Group 8
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップの準備 (3) • ワークショップで使うサンプルコードを以下のURLより取得して下さい • それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞ れのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行して下さい Step1 https://colab.research.google.com/drive/1nu_X8RufFbc4wzRlyxj8M5FlGorkcKIE?usp=sharing Step2 https://colab.research.google.com/drive/1ssgrvSQ7cZrLhGzmaLZUJRYu2JJeSOiv?usp=sharing Step3 https://colab.research.google.com/drive/1SlYCT_eS5abwzl_rldM-Vf9g2s-KihRp?usp=sharing 質問は随時ZoomのチャットかQ&Aでお願いします 対応可能なメンバーが対応いたします Copyright © Fixstars Group 9
Fixstars Corporation www.fixstars.com 会社紹介 Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com フィックスターズの概要 概要 グループ体制 株式会社フィックスターズ 会社名 株式会社フィックスターズ 本社所在地 東京都港区芝浦3-1-1 msb Tamachi 田町ステーションタワーN 28階 設立 2002年8月 上場区分 Fi xs tars Solutions, Inc. 当社完全子会社 米国での営業及び開発 株式会社Fi xs tars Autonomous Technologies 株式会社ネクスティ エレクトロニクスとのJV 自動運転向けソフトウェア開発 東証一部(証券コード:3687) 株式会社Fi xs tars Amplify 当社完全子会社 量子コンピューティングのクラウド事業を運営 代表取締役社長 三木 聡 資本金 5億5,446万円(2021年9月現在) 社員数(連結) 2021/10/1 設立 株式会社Si der 当社完全子会社 開発支援SaaS「Sider」を運営 258名(2021年9月現在) 株式会社Sma rt Opi nion キオクシア株式会社 主なお客様 株式会社ネクスティ エレクトロニクス 株式会社日立製作所 キヤノン株式会社 当社連結子会社 乳がんAI画像診断支援事業を運営 オスカーテクノロジー株式会社 当社連結子会社 ソフトウェア自動並列化サービスを提供 Copyright © Fixstars Group 11
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ソフトウェア高速化サービス (概要) • お客様にソースコードをご提供いただき、 • 最適化やアルゴリズムの改良を施して高速化してお返しします オリジナルソースコードのご提供 当社 高速化したソースコード コンサルティング 高速化 お客様 サポート 性能評価 アルゴリズムの改良・開発 レポートやコードへのQ&A ボトルネックの特定 ハードウェアへの最適化 実製品への組込み支援 レポート作成 Copyright © Fixstars Group 12
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com フィックスターズの強み フィックスターズは、コンピュータの性能を最大限に引き出し大量データの高速処理を実現する、 高速化のエキスパート集団です。 低レイヤ ソフトウェア技術 アルゴリズム 実装力 Copyright © Fixstars Group 各産業・研究 分野の知見 13
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com フィックスターズの量子技術への取り組み 2019年 SIPの研究開発に参画 「光・量子を活用した 2018年 Society 5.0実現化技 NEDOのプロジェクト 術:光電子情報処理」 に採択 「イジングマシン共通 2017年 ソフトウェア基盤の研 日本で初めて 究開発」 D-Wave Systems 社と提携 Copyright © Fixstars Group 14
Fixstars Corporation www.fixstars.com 組合せ最適化・イジングマシン及び 製造業における事例の紹介 Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 量子アニーリング・イジングマシンと組合せ最適化問題 量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシン 膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題) スケジューリング 配送計画 スマートシティー 集積回路設計 参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」 Copyright © Fixstars Group 16
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 組合せ最適化問題は統一的なフレームワークで解くことができる 問題設定 組合せ最適化問題の例 膨大な解候補(組合せ)から最適解を選ぶ ・解候補一つ一つの計算は可能 ・候補数が膨大ですべての解候補を計算できない バイキングで最も安く 必要な栄養が取れる組合せは? (10g単位) 定式化 解を取得 タンパク質 脂質 金額 目的関数: これを最小化(最大化)する解が最適 ごはん 8g 1g 1g 10円 制約条件: 解が必ず満たすべき条件 パン 7g 1g 2g 12円 ハンバーグ 1g 5g 4g 50円 焼き魚 1g 8g 1g 35円 数式で表現 実装 炭水化物 目的関数: 合計金額(最小化) 数式をPythonのプログラムで記述 Amplifyが最適解を探索 Copyright © Fixstars Group 制約条件: 炭水化物:300g以上 タンパク質:150g以上 脂質:50g以上 最適メニュー ごはん:380g 焼き魚:140g 金 額:870円 17
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 製造業における品質管理の4M Man Machine 4Mとは 本日の事例や ワークショッ プの対象 Method Material Copyright © Fixstars Group 18
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 組合せ最適化の取り組み事例 シフト作成自動化 生産計画最適化 経路指示リアルタイム制御 人の直観で時間をかけて行っ ていた生産ラインや物流倉庫 の業務シフト作成を、スキル や勤務時間などの条件をもと に最適化します 製造工場の設備の利用割り当て (ジョブショップスケジューリ ング) を、納期や段取り時間 などを考慮して最適化します 倉庫を走行する多数の搬送ロ ボット (AGV) が効率よく動 作するよう、最適経路だけで なく迂回や交差点での待機な どリアルタイムに指示します 2/24セミナーのテーマ 3/23セミナーのテーマ 4/20セミナーのテーマ Copyright © Fixstars Group 19
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 最も効率的な作業員のシフトは? 問題設定 定式化 チーム編成とタスク割り当て 目的関数:業務要求の満足度最適化 ・スキルや業務時間平滑化、個人の希望などの考慮 実装 解を取得 制約条件:チーム人数や一人1タスクなどの制約 ・従来、ホワイトボードを使い、朝・夕30分程度ずつかけて作成 ・Amplifyが10秒で推薦配置を提示 Copyright © Fixstars Group 20
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 最も効率的な生産スケジュールは? 問題設定 定式化 製品製造工程順序の最適化 目的関数:製造完了時間(最小化) ・段取り時間、納期、稼動率などを考慮 実装 解を取得 制約条件:機械数や製造可能な製品の制約 ・従来技術だと数時間かかることも ・Amplifyがより高速に妥当な解を提示 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 Ma chi ne 1 Ma chi ne 2 Ma chi ne 3 Ma chi ne 4 Ma chi ne 5 Ma chi ne 6 Ma chi ne 7 Ma chi ne 8 Ma chi ne 9 Ma chi ne 10 Copyright © Fixstars Group 21
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 電気機器製造メーカー A社様 複数の製品事業部から様々なプリント基板の注文を受け、生産を行う部門 段取り時間 課 題 生産する基板に応じて製造装置の部品や材料を交換する「段取り時間」 が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい 従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジ ュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュ ール作成の自動化に着手 装置1 A A 装置2 B B B B B 段取り時間 装置x C E B 段取り時間 E D 生産スケジュール作成の時間・コストの大幅な削減! 効 果 (一日あたり数時間 → 数分) 段取りのための製造装置の停止回数の削減! (10%以上削減) 最適化未経験のご担当者様1人がプログラム試作開始 から約1~2ヵ月間取り組んでこの効果を実現 現在は試作段階で、実運用に向けてモデルを改良中! 次期フェーズでは、Amplify の活用領域の拡大を検討中! Copyright © Fixstars Group 22
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 最も効率的な部材や製品の搬送方法は? 問題設定 定式化 実装 解を取得 AGV(無人搬送車)の待ち時間を最小化するリアルタイム経路選択 目的関数:各AGVの次の一定時間の待ち時間(最小化) 制約条件:各AGVが衝突しない、など ・Amplifyが他のAGVの行動を考慮し、次の最適動作をリアルタイムに指示 ・最短経路だけでなく、迂回・交差点制御なども実現 Copyright © Fixstars Group 23
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Fixstars Amplify: メディア掲載 https://amplify.fixstars.com/ja/news/media 「はじめての量子プログラミング体験」(2021年6月号~2022年1月号まで連載) Copyright © Fixstars Group 24
Fixstars Corporation www.fixstars.com Fixstars Amplify のご紹介 Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 量子コンピュータとその周辺 1. 量子コンピュータ 2. イジングマシン 量子ゲート方式 二値二次多項式模型 古典汎用コンピュータの上位互換。 量子力学の重ね合わせ状態を制御 する量子ゲートを操作し、特定の 問題を汎用的かつ高速に処理する。 二次の多変数多項式で表される目 的関数の最適化問題 (QUBO) を扱 う 専用マシン。変数は0,1または±1。 統計物理学におけるイジング模型 (磁性体の性質を表す模型) に由来。 様々な実装により実現されている。 1 2 量子コンピュータ イジングマシン IBM/Google/Rigetti/IonQ 3 富士通/日立/東芝/Fixstars 量子 アニーリング D-Wave/NEC 3. 量子アニーリング方式 量子焼きなまし法 イジングマシンの一種であり、量子焼 きなまし法の原理に基づいて動作する。 量子イジング模型を物理的に搭載した プロセッサで実現する。 自然計算により低エネルギー状態が 出力される。 Copyright © Fixstars Group Amplify AE 26
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com クラウドサービス :Fixstars Amplify 様々な量子コンピュータ・イジングマシンに対応したアプリケーションを開発出来る、クラウドプラットフォームです。 量子コンピューティング時代を見据え、シンプルで効率的な開発環境の提供を目指しています。 サービス概要 主な特長 様々なマシンに対応 各社が提供する量子アニーリング・イジングマシンを Fixstars Amplifyから利用することが出来ます。 シンプルで効率的なアプリ開発 複雑で専門性の高いプロセスを自動化し、効率的にマシ ンを使うための学習コストを、圧倒的に低くします。 PoCから実問題まで対応 大規模問題の入力と高速実行が可能で、PoCや実問題を視 野に入れたアプリケーション開発が行えます。 すぐに開発を開始可能 適用分野 (一例) ・・・ 金融 物流 開発環境と実行環境がセットで提供されるため、すぐに 開発を開始することが出来ます。 ライフサイエンス Copyright © Fixstars Group 27
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 二次計画問題 • 最適化問題の分類 • 組合せ最適化問題 • 決定変数が離散値 (整数など) • • • • • 整数計画問題 (決定変数が整数) 0-1整数計画問題 (決定変数が二値) 連続最適化問題 • 決定変数が連続値 (実数など) 量子アニーリング・イジングマシン Quadratic 二次形式 Unconstrained 制約条件なし Binary Optimization 0-1整数 (二値) 計画 QUBO模型 (0-1整数二次計画問題) 𝑓 = 𝑄𝑖𝑗 𝑞𝑖 𝑞𝑗 + 𝑄𝑖𝑖 𝑞𝑖 𝑖<𝑗 𝑞𝑖 ∈ 0,1 or 𝑞𝑖 ∈ ±1 𝑖 評価値 (目的関数) 決定変数 (出力・変数) 問題設定 (入力・定数) Copyright © Fixstars Group 28
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com イジングマシンの実行手順 1. 数理モデル検討 解きたい課題の「目的関数」「決定変数」「制約条件」を検討する 2. QUBO定式化 (論理) 「 2値決定変数+二次形式」で「目的関数」と「決定変数」を記述 (変換) する 「制約条件」は直接扱えないので「ペナルティ関数」で表現する 3. QUBO定式化 (物理) 各マシンの仕様や制限に準拠した形式にQUBO模型を変換する (例: 二次項に制約がある場合は「グラフマイナー埋め込み」問題を解く) SWによる 支援と自動化 4. 入力データの準備 各マシンのSDKやAPI仕様に合わせてQUBO模型 (物理) をデータ化する 5. マシンの実行 マシンを実行して出力の変数値やエネルギー値(コスト値)を解析する 上記の逆の手順を辿り解きたい課題の「決定変数」を解釈する Copyright © Fixstars Group 29
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Fixstars Amplify の特長 – いつでも 開発環境と実行環境がセットのため すぐにプログラミングと実行が出来る – 誰でも ハードウェアや専門的な知識が不要 無料で開発がスタート可能 – 高速に 10万ビットクラスの大規模問題の 高速処理と高速実行が可能 – あらゆる 一般に公開されている全てのイジング マシンを利用可能 Copyright © Fixstars Group 30
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Fixstars Amplify クラウドの構成 アプリケーション 組合せ最適化問題を含むアプリケーションは Amplify SDK を用いることで効率的かつ簡便に組合 せ最適化の定式化が可能 研究・開発ではAmplifyクラウドは無償提供されるた め直ぐに開発をスタートできる Amplify SDK 組合せ最適化問題の定式化やマシンを高度に操るた めの最先端の技術や知見をライブラリ化したシンプ ルなインターフェースを提供 専門知識が不要で量子アニーリングイジングマシン を用いた最適化エンジンの開発に取り組める 量子アニーリング・ イジングマシン (Amplify AE) Amplify クラウドが量子アニーリングマシン・イジ ングマシンの大規模実行環境を提供 Amplify SDK で書かれた最適化エンジンは 他社製も含め全ての商用イジングマシンで実行可能 Copyright © Fixstars Group 31
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify の対応マシン Copyright © Fixstars Group 32
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Fixstars Amplifyによる課題解決 ◼ イジングマシンのための革新的な開発環境 簡単 多くのマシンに対応 ✓ SDKをインストールするだけ ですぐに使える (pip install amplify) ✓ ハードウェアの専門知識不要 でアプリケーションが開発で きる ✓ 進化の早いマシンの発展に追 従すべての量子アニーリング/ イジングマシンに対応 ✓ 10万ビット級のアニーリング マシン実行環境が利用可能 始めやすい ✓ 研究・開発用途には開発環境 と実行環境が無償で利用可能 ✓ 多くのチュートリアル、サン プルコードを整備・拡充 多くの人が始めやすい開発プラットフォームを無料で提供 https://amplify.fixstars.com Copyright © Fixstars Group 33
Fixstars Corporation www.fixstars.com Fixstars Amplify の技術 Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify SDKのワークフロー ◼ 従来のプログラミングワークフローとの比較 実行方法 Copyright © Fixstars Group 35
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify SDKによるシンプルプログラミング 数独を解くサンプルアプリ SDKなし 最適化しても 200行以上 富士通・デジタルアニーラの設定用コード SDKあり 30行程度 SDKなし 59行 SDKあり 1行 日立CMOSアニーリングマシンの設定用コード SDKなし 183行 SDKあり 1行 出典: Wikipdia Copyright © Fixstars Group 36
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify による巡回セールスマン問題 (TSP) の実装例 Copyright © Fixstars Group 37
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify Annealing Engine • NVIDIA GPU V100/A100 で動作 • 独自の並列化シミュレーテッドアニーリングアルゴリズム • WEB経由で計算機能を提供 • Amplify SDK の実装を直ぐに実行可能 • 社会課題への取り組み・PoC・検証が加速 • 商用マシンでは最大規模かつ最高速レベル • 64Kビット (全結合) / 100Kビット超 (疎結合) Amplify Cloud Copyright © Fixstars Group 38
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify Annealing Engine ◼ 実問題やPoCを視野に入れたアプリケーション開発にも対応 Copyright © Fixstars Group 39
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Amplify 標準提供マシン 最先端の並列化技術 最先端の量子技術 出典:https://www.nvidia.com/ja-jp/data-center/dgx-2/ NVIDIA A100/V100 最大10万ビット以上 D-Wave Advantage 5000量子ビット Copyright © Fixstars Group 40
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 料金のご案内 Amplifyクラウド利用料 (アプリを自作される方向け) 利用料金 1ジョブの実行時間 サポート窓口 https://amplify.fixstars.com/ja/pricing Developerプラン Businessプラン 研究・開発用の無料プラン 実運用レベルで使いたい人は 無料 月額10万 10秒 1分 お問い合わせフォーム E-mail, Web会議 新料金プラン 準備中! いずれのプランも 実行回数・実行時間は 無制限! 研究・開発フェーズでの利用 実運用フェーズでの利用 開発支援サービス (個別見積り) コンサル・システム開発等 月額利用料 数百万円~数千万円 百万円~ Copyright © Fixstars Group 41
Fixstars Corporation www.fixstars.com ハンズオンワークショップ ・搬送経路最適化 Copyright © Fixstars Group Copyright © Fixstars Group
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップの準備 (1) • ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Google colaboratoryを使うので、事前にログイン出来ることを確認をお願いします (Googleアカウントが必要です) • https://colab.research.google.com/ • Fixstars Amplify のトークンを取得済みか確認をお願いします。まだの人は Fixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トー クンの取得をお願いします (1分で終わります) • https://amplify.fixstars.com/ja/register Copyright © Fixstars Group 43
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップの準備 (2) • お持ちのAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認 をお願いします。サンプルコードは閲覧のみ可能ですので、「ドライブにコピー」の上、 ご自身のトークンを入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、「このまま 実行」を選択下さい) • https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharing この部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。 ご自身のトークン番号は、Amplify HPよりご確認いただけます • ご自身のトークンを入力の上、以下の結果が出力されればOKです Copyright © Fixstars Group 44
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップの準備 (3) • ワークショップで使うサンプルコードを以下のURLより取得して下さい • それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞ れのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行して下さい Step1 https://colab.research.google.com/drive/1nu_X8RufFbc4wzRlyxj8M5FlGorkcKIE?usp=sharing Step2 https://colab.research.google.com/drive/1ssgrvSQ7cZrLhGzmaLZUJRYu2JJeSOiv?usp=sharing Step3 https://colab.research.google.com/drive/1SlYCT_eS5abwzl_rldM-Vf9g2s-KihRp?usp=sharing Copyright © Fixstars Group 45
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 搬送経路最適化 一言に「経路最適化」と言っても、搬送ロボット (AGV) が運用されている環境や要件など は様々で、それぞれに対する問題設定や定式化は異なります 状況や要件の例 • AGVが通過できる経路が定められている • AGVごとに稼働時間に制限がある • AGVごとに積載量に制約がある • 配達地ごとに要求される到着時間がある • AVGの衝突回避の制御が必要 • 運ぶ材料や部品によって各配達地で作業時間が異なる Copyright © Fixstars Group 46
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 搬送経路最適化 【問題】工場内の4台のAGVを用いて、AGVの充電ステーションから20か所の搬送先に部品を届けると きの各搬送ロボットの走行距離の合計が最短になるような経路を求めます。尚、搬送ロボットをできる だけ平均的に利用したいため各AGVの搬送先は5か所とします 充電ステーション Copyright © Fixstars Group 47
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 搬送経路最適化 【問題】工場内の4台のAGVを用いて、AGVの充電ステーションから20か所の搬送先に部品を届けると きの各搬送ロボットの走行距離の合計が最短になるような経路を求めます。尚、搬送ロボットをできる だけ平均的に利用したいため各AGVの搬送先は5か所とします 全てを一度にやるのは難しいので、3つのステップに分けてアルゴリズムを作成します Step1 Step2 Step3 AGVを1台とし、制約を守るだけのアルゴリズムを作ります 制約➀: 各順番で回れる訪問先 (充電ステーション+各搬送先) は1か所 制約②: 各訪問先を回るのは1回のみ 解の候補多数あり Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を 実現する解を求めるアルゴリズムを作ります AGVを4台に増やします。具体的には、Step2に対して以下の2つの変更を加えます 変更➀: 決定変数の一部を0/1で固定 変更➁: 制約条件の対象範囲を微調整 Copyright © Fixstars Group 48
Fixstars Fixstars Corporation Corporation Step1 www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります Step1のサンプルコードのレビュー (尚、本ワークショップでは、最適化のコードにフォー カスするため、可視化のコードの詳細は割愛します) Copyright © Fixstars Group 49
Fixstars Fixstars Corporation Corporation Step1 www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります 距離行列の作成 実装 各訪問先の座標 充電ステーション 各訪問先間の距離行列 (km) 充電ステーション 訪問先 (0) は充電ステーション 訪問先 (i) 0 1 2 ・・・ 20 訪問先 0 0 0.54 0.22 ・・・ 0.64 (j) 1 0.54 0 0.32 ・・・ 1.17 2 0.22 0.32 0 ・・・ 0.86 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・ ・ ・ 20 0.64 1.17 ・・・ 0 Copyright © Fixstars Group 0.86 50
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります Step1 決定変数を準備 計算して得られる解の例 訪問先 (i) 順番(n) 訪問先 (i) 0 1 2 ・・・ 20 0 1 q_21(0 or 1) q_42(0 or 1) ・・・ q_420(0 or 1) 1 q_1(0 or 1) q_22(0 or 1) q_43(0 or 1) ・・・ q_421(0 or 1) 2 q_2(0 or 1) q_23(0 or 1) q_44(0 or 1) ・ ・ ・ ・ ・ ・ ・ ・ ・ 20 q_20(0 or 1) q_41(0 or 1) 実装 q_62(0 or 1) イジングマシン で最適な(0,1)の 組合せを探す q_422(0 or 1) ・・・ ・ ・ ・ ・・・ q_440(0 or 1) BinaryPoly型 (21×21) = 441 [qbit] 1は訪問する、0はしないことを示す Copyright © Fixstars Group 順番(n) 0 1 2 ・・・ 20 0 1 0 0 ・・・ 0 1 0 0 0 ・・・ 1 0 2 0 1 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・ ・ ・ 20 0 0 1 ・・・ 0 充電ステーション から出発を示す 0 充電ステーションの次は、 訪問先 (20) に行くこと を示す 51
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります Step1 制約の定式化 制約➀: 各順番で回れる訪問先は1つ → one_hot制約 20 𝑞𝑛,𝑖 = 1 訪問先 (i) 順番(n) 𝑛 ∈ 0,1, ⋯ , 20 𝑖=0 制約②: 各訪問先を回るのは1回のみ → one_hot制約 0 1 2 ・・・ 20 0 1 0 0 ・・・ 0 one_hot 1 0 0 0 ・・・ 1 one_hot 0 0 one_hot 2 0 1 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・ ・ ・ 20 0 0 1 ・・・ 0 one_hot 20 𝑞𝑛,𝑖 = 1 𝑖 ∈ 0,1, ⋯ , 20 one_hot one_hot one_hot one_hot 𝑛=0 Copyright © Fixstars Group 52
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります Step1 実装 制約の定式化 制約1:各順番で回れる訪問先は1つ → one_hot制約 20 𝑞𝑛,𝑖 = 1 𝑛 ∈ 0,1, ⋯ , 20 𝑖=0 制約2: 各訪問先を回るのは1回のみ → one_hot制約 20 𝑞𝑛,𝑖 = 1 𝑖 ∈ 0,1, ⋯ , 20 𝑛=0 Copyright © Fixstars Group 53
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります Step1 求解 Amplify AE • 先ほど作った constraints (制約) をmodelに格納して マシンに投げます • 制約条件だけを与え た場合、制約条件を 満たす解を探してき てくれます 無料版は1ジョブ10秒まで設定可。 有料版では1分まで設定可能 Copyright © Fixstars Group 54
Fixstars Fixstars Corporation Corporation Step1 www.fixstars.com www.fixstars.com AGVを1台とし、制約を守るだけのアルゴリズムを作ります 結果の取得 可 視 化 充電ステーション 各順番で回れる訪問先は1つ、各訪問先を回るのは1回のみ、という二つの制約を満たす経路を求めること ができました。解の候補がたくさんある状況ですので、次のStepでは、目的を追加して解を絞ります Copyright © Fixstars Group 55
Fixstars Fixstars Corporation Corporation Step2 www.fixstars.com www.fixstars.com Step1に「総距離の最小化」という目的を追加し、複数の解の候補から 目的を実現する解を求めるアルゴリズムを作ります Step2のサンプルコードのレビュー Copyright © Fixstars Group 56
Fixstars Fixstars Corporation Corporation Step2 www.fixstars.com www.fixstars.com Step1に「総距離の最小化」という目的を追加し、複数の解の候補から 目的を実現する解を求めるアルゴリズムを作ります 目的関数の定式化 20 20 20 総距離の最小化 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 = 𝑑𝑖,𝑗 ∙ 𝑞𝑛,𝑖 ∙ 𝑞𝑛+1,𝑗 𝑛=0 𝑖=0 𝑗=0 決定変数 x 決定変数 (2次) 計算のイメージ n=1のときi=20が1、n=2のときj=1が1なので、𝑑20,1 である1.17がdistanceに加算される 各訪問先間の距離行列 (𝑑𝑖,𝑗 ) 決定変数 (𝑞𝑛,𝑖 , 𝑞𝑛+1,𝑗) 訪問先 (i) 順番(n) 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 = Copyright © Fixstars Group 0 1 2 ・・・ 20 0 1 0 0 ・・・ 0 1 0 0 0 ・・・ 1 2 0 1 0 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・ ・ ・ 20 0 0 1 ・・・ 0 0 57
Fixstars Fixstars Corporation Corporation Step2 www.fixstars.com www.fixstars.com Step1に「総距離の最小化」という目的を追加し、複数の解の候補から 目的を実現する解を求めるアルゴリズムを作ります 実装 : 追加 or 変更部分 剰余を使って、最後の 訪問先の次は0番目に 戻るようにしています イジングマシンは、制約 を満たす中で、この distance (目的) を最小 にする組合せを探します ・ ・ ・ 【補足】制約条件には、目的関数の値を考慮して 適切な値の重みを設定する必要があります。制約 条件の取り扱いに関する詳細は、こちらのチュー トリアルも合わせてご参照下さい https://amplify.fixstars.com/ja/demo Copyright © Fixstars Group 58
Fixstars Fixstars Corporation Corporation Step2 www.fixstars.com www.fixstars.com Step1に「総距離の最小化」という目的を追加し、複数の解の候補から 目的を実現する解を求めるアルゴリズムを作ります 充電ステーション 2つの制約を満たした上で、総距離を最小化する経路が求められるようになりました。次のStepでは、 AGVを4台に増やします Copyright © Fixstars Group 59
Fixstars Fixstars Corporation Corporation Step3 www.fixstars.com www.fixstars.com AGVを4台に増やします。Step2に対して以下の2つの変更を加えます 変更➀: 決定変数の一部を0/1で固定 変更➁: 制約条件の対象範囲を微調整 Step3のサンプルコードのレビュー Copyright © Fixstars Group 60
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com AGVを4台に増やします Step3 変更➀: 決定変数の一部を0/1で固定します。これにより、各AGVの搬送先を5か所に固定しています 充電ステーションには、0番目、6番目、 12番目、18番目に訪問します (計4回訪問) 決定変数 実装 : 追加 or 変更部分 訪問先 (i) 順番(n) 0 1 2 ・・・ 0 1 0 0 ・・・ 20 0 1 0 q_22 q_23 ・・・ q_41 2 0 q_43 q_44 ・・・ q_62 3 0 q_64 q_65 ・・・ q_83 4 0 q_85 q_86 ・・・ q_104 5 0 q_106 q_107 ・・・ q_125 6 1 0 0 7 0 q_148 q_149 ・・・ q_167 8 0 q_169 q_170 ・・・ q_188 0 0 9 0 q_190 q_191 ・・・ q_209 10 0 q_211 q_212 ・・・ q_230 11 0 q_232 q_233 ・・・ 12 1 0 0 q_274 ・ q_275 ・ ・・・ ・ q_485 ・・・ 13 23 ・ ・ ・ 0 ・ ・ ・ 0 ・ ・ ・ ・ ・ ・ q_484 ・ ・ ・ ・ q_251 0 ・ ・ これらの中で 合計が最短と なる経路を探 します 0 ・ ・ ・ q_293 ・ ・ ・ q_503 Copyright © Fixstars Group 61
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com AGVを4台に増やします Step3 変更➁: 制約条件の対象範囲を微調整します。訪問先 (0) である充電ステーションを、one_hot制約の 対象から外します 決定変数 one_hot制約対象外 実装 : 追加 or 変更部分 訪問先 (i) 順番(n) 0 1 2 ・・・ 0 1 0 0 ・・・ 20 0 1 0 q_22 q_23 ・・・ q_41 2 0 q_43 q_44 ・・・ q_62 3 0 q_64 q_65 ・・・ q_83 4 0 q_85 q_86 ・・・ q_104 5 0 q_106 q_107 ・・・ q_125 6 1 0 0 7 0 q_148 q_149 ・・・ q_167 8 0 q_169 q_170 ・・・ q_188 0 0 9 0 q_190 q_191 ・・・ q_209 10 0 q_211 q_212 ・・・ q_230 11 0 q_232 q_233 ・・・ 12 1 0 0 13 0 q_274 q_275 ・ ・ ・ ・ ・ ・ ・ ・ ・ 0 q_484 q_485 23 q_251 0 ・・・ 0 q_293 ・ ・ ・ ・・・ q_503 Copyright © Fixstars Group 62
Fixstars Fixstars Corporation Corporation Step3 www.fixstars.com www.fixstars.com AGVを4台に増やします 充電ステーション 4台のAGVそれぞれが5か所ずつ搬送し総走行距離が最短になるような経路を求めることができました! Copyright © Fixstars Group 63
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com ワークショップ: おさらい AGV1台の制約のみから始めて、目的を追加し、最終的には、4台のAGVそれぞれが5か所ずつ搬送し総走 行距離が最短になるような経路を求めることができました! 充電ステーション 充電ステーション Copyright © Fixstars Group 64
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Fixstars Amplify: オンラインデモ & チュートリアル https://amplify.fixstars.com/ja/demo Copyright © Fixstars Group 65
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com 次回のセミナーのご案内 弊社では、Amplifyセミナーを「ビジネス向け」と「プログラマー向け」に分けて定 期的に開催しております(オンライン・無料) ビジネス向け プログラマー向け 組合せ最適化問題や量子アニーリング・イジングマシンの概要やビジネス上の効果を解説します 特定のテーマ・事例を用いて、問題設定、定式化、実装などのポイントを解説します セミナー紹介ページ: https://amplify.fixstars.com/ja/news/seminar 今後の予定 1/26 (1h) 5/25 (1h) ビジネス向け 2/24 (1.5h) 6/22 (1.5h) プログラマー向け (シフト最適化) 3/23 (1.5h) ビジネス向け プログラマー向け (生産計画最適化) 4/20 (1.5h) プログラマー向け (経路最適化) Copyright © Fixstars Group ← 次回 プログラマー向け (シフト最適化) 7/20 (1.5h) プログラマー向け (生産計画最適化) 8/24 (1.5h) プログラマー向け (経路最適化) 66
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com アンケートのお願い 今後のセミナー内容改善のため、是非、参加者アンケートにご協力ください。 https://share.hsforms.com/1BRZfctd_T_exqol9Wt9wtg59ukj Copyright © Fixstars Group 67
Fixstars Fixstars Corporation Corporation www.fixstars.com www.fixstars.com Fixstars Amplifyでは仲間を募集しています! さまざまな専門性を持つエンジニアを募集しています。 詳細は https://www.fixstars.com/ja/recruit/joining-reward/まで Copyright © Fixstars Group 68
Fixstars Corporation www.fixstars.com Thank You お問い合わせ窓口 : [email protected] Copyright © Fixstars Group