2022年8月24日に開催した「製造業向け量子コンピュータ時代のDXセミナー~最適化の中身を覗いてみよう: 経路最適化編~」の当日資料です。
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group【エンジニア向け】製造業向け量子コンピュータ時代のDXセミナー~最適化の中身を覗いてみよう: 経路最適化編~
View Slide
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com2本日のAgenda第一部 15:00-15:45⮚ はじめに⮚ 会社紹介⮚ 組合せ最適化・イジングマシン及び製造業における事例の紹介⮚ Fixstars Amplifyの紹介第二部 15:50-17:00⮚ Amplify活用のワークショップ• 経路最適化編
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Groupはじめに
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com4本セミナーのゴール⮚ 製造業に組合せ最適化問題がたくさんあることを知る⮚ 組合せ最適化問題を解くためのフレームワークや、問題設定の考え方、目的関数や制約条件の定式化のポイントを理解する⮚ 最適生産計画作成のサンプルコードを活用しながら、実際に量子アニーリング・イジングマシンを動かしてみることで、実問題への適用の足掛かりを得る課題の抽出、問題の数式化、プログラムの実装などお客様のステージやご要望に合わせて柔軟にお手伝いいたしますので、お気軽にお声がけください!
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com5ワークショップの準備 (1)• ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Googlecolaboratoryを使うので、事前にログイン出来ることを確認をお願いします(Googleアカウントが必要です)• https://colab.research.google.com/• Fixstars Amplify のトークンを取得済みか確認をお願いします。まだの人はFixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トークンの取得をお願いします (1分で終わります)• https://amplify.fixstars.com/ja/register
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com6ワークショップの準備 (2)• お持ちのAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認をお願いします。サンプルコードは閲覧のみ可能ですので、「ドライブにコピー」の上、ご自身のトークンを入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、「このまま実行」を選択下さい)• https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharingこの部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。ご自身のトークン番号は、Amplify HPよりご確認いただけます• ご自身のトークンを入力の上、以下の結果が出力されればOKです
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com7ワークショップの準備 (3)• ワークショップで使うサンプルコードを以下のURLより取得して下さい• それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞれのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行して下さいStep1 https://colab.research.google.com/drive/1nu_X8RufFbc4wzRlyxj8M5FlGorkcKIE?usp=sharingStep2 https://colab.research.google.com/drive/1ssgrvSQ7cZrLhGzmaLZUJRYu2JJeSOiv?usp=sharingStep3 https://colab.research.google.com/drive/1SlYCT_eS5abwzl_rldM-Vf9g2s-KihRp?usp=sharing質問は随時ZoomのチャットかQ&Aでお願いします対応可能なメンバーが対応いたします
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group会社紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com9フィックスターズの概要会社名 株式会社フィックスターズ本社所在地東京都港区芝浦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 設立
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com10ソフトウェア高速化サービス (概要)• お客様にソースコードをご提供いただき、• 最適化やアルゴリズムの改良を施して高速化してお返しします当社 お客様オリジナルソースコードのご提供高速化したソースコードコンサルティング 高速化 サポート性能評価ボトルネックの特定アルゴリズムの改良・開発ハードウェアへの最適化レポート作成レポートやコードへのQ&A実製品への組込み支援
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com11フィックスターズの強みフィックスターズは、コンピュータの性能を最大限に引き出し大量データの高速処理を実現する、高速化のエキスパート集団です。低レイヤソフトウェア技術アルゴリズム実装力各産業・研究分野の知見
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comフィックスターズの量子技術への取り組み122017年日本で初めてD-Wave Systems社と提携2018年NEDOのプロジェクトに採択「イジングマシン共通ソフトウェア基盤の研究開発」2019年SIPの研究開発に参画「光・量子を活用したSociety 5.0実現化技術:光電子情報処理」2021年• 2月:量子アニーリングクラウドサービス「Fixstars Amplify」提供開始• 10月:子会社Fixstars Amplifyを設立• 11月:Q-STAR 量子技術による新産業創出協議会に特別会員として加入次世代技術を先取りし今ある課題の解決を目指す
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Group組合せ最適化・イジングマシン及び製造業における事例の紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com14量子アニーリング・イジングマシンと組合せ最適化問題量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシンスケジューリング 配送計画 スマートシティー 集積回路設計膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題)参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com15目的関数:制約条件:解を取得定式化実装問題設定膨大な解候補(組合せ)から最適解を選ぶ・解候補一つ一つの計算は可能・候補数が膨大ですべての解候補を計算できないこれを最小化(最大化)する解が最適解が必ず満たすべき条件数式で表現数式をPythonのプログラムで記述Amplifyが最適解を探索バイキングで最も安く必要な栄養が取れる組合せは?目的関数: 合計金額(最小化)制約条件:炭水化物:300g以上タンパク質:150g以上脂質:50g以上組合せ最適化問題の例ごはん:380g焼き魚:140g金 額:870円最適メニュー組合せ最適化問題は統一的なフレームワークで解くことができる(10g単位) 炭水化物 タンパク質 脂質 金額ごはん 8g 1g 1g 10円パン 7g 1g 2g 12円ハンバーグ 1g 5g 4g 50円焼き魚 1g 8g 1g 35円
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com16製造業における品質管理の4M本日の事例やワークショップの対象ManMachineMethodMaterial4Mとは
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com17組合せ最適化の取り組み事例シフト作成自動化 生産計画最適化 経路指示リアルタイム制御倉庫を走行する多数の搬送ロボット (AGV) が効率よく動作するよう、最適経路だけでなく迂回や交差点での待機などリアルタイムに指示します人の直観で時間をかけて行っていた生産ラインや物流倉庫の業務シフト作成を、スキルや勤務時間などの条件をもとに最適化します製造工場の設備の利用割り当て(ジョブショップスケジューリング) を、納期や段取り時間などを考慮して最適化します9/22, 10/20のセミナーのテーマ1/26, 2/16のセミナーのテーマ11/17, 12/15のセミナーのテーマ
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com18最も効率的な作業員のシフトは?チーム編成とタスク割り当て解を取得定式化実装問題設定目的関数:業務要求の満足度最適化・スキルや業務時間平滑化、個人の希望などの考慮制約条件:チーム人数や一人1タスクなどの制約・従来、ホワイトボードを使い、朝・夕30分程度ずつかけて作成・Amplifyが10秒で推薦配置を提示
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com19最も効率的な生産スケジュールは?製品製造工程順序の最適化解を取得定式化実装問題設定目的関数:製造完了時間(最小化)・段取り時間、納期、稼動率などを考慮制約条件:機械数や製造可能な製品の制約・従来技術だと数時間かかることも・Amplifyがより高速に妥当な解を提示
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com20装置1装置2装置xA B BB B B BC E E DA電気機器製造メーカー A社様複数の製品事業部から様々なプリント基板の注文を受け、生産を行う部門生産する基板に応じて製造装置の部品や材料を交換する「段取り時間」が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュール作成の自動化に着手課題次期フェーズでは、Amplifyの活用領域の拡大を検討中!最適化未経験のご担当者様1人がプログラム試作開始から約1~2ヵ月間取り組んでこの効果を実現現在は試作段階で、実運用に向けてモデルを改良中!効果 段取りのための製造装置の停止回数の削減!(10%以上削減)段取り時間段取り時間 段取り時間生産スケジュール作成の時間・コストの大幅な削減!(一日あたり数時間 → 数分)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com21最も効率的な部材や製品の搬送方法は?AGV(無人搬送車)の待ち時間を最小化するリアルタイム経路選択解を取得定式化実装問題設定目的関数:各AGVの次の一定時間の待ち時間(最小化)制約条件:各AGVが衝突しない、など・Amplifyが他のAGVの行動を考慮し、次の最適動作をリアルタイムに指示・最短経路だけでなく、迂回・交差点制御なども実現
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com22Fixstars Amplify: メディア掲載https://amplify.fixstars.com/ja/news/mediaSoftware Design「はじめての量子プログラミング体験」(2021年6月号~2022年1月号まで連載)Interface「Pythonで体験!量子コンピュータ」(2022年6月号)
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars GroupFixstars Amplify のご紹介
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com24量子コンピュータとその周辺1量子コンピュータIBM/Google/Rigetti/IonQ2イジングマシン富士通/日立/東芝/Fixstars3量子アニーリングD-Wave/NEC1. 量子コンピュータ量子ゲート方式古典汎用コンピュータの上位互換。量子力学の重ね合わせ状態を制御する量子ゲートを操作し、特定の問題を汎用的かつ高速に処理する。2. イジングマシン二値二次多項式模型二次の多変数多項式で表される目的関数の最適化問題 (QUBO) を扱う専用マシン。変数は0,1または±1。統計物理学におけるイジング模型(磁性体の性質を表す模型) に由来。様々な実装により実現されている。3. 量子アニーリング方式量子焼きなまし法イジングマシンの一種であり、量子焼きなまし法の原理に基づいて動作する。量子イジング模型を物理的に搭載したプロセッサで実現する。自然計算により低エネルギー状態が出力される。Amplify AE
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com25クラウドサービス :Fixstars Amplify様々な量子コンピュータ・イジングマシンに対応したアプリケーションを開発出来る、クラウドプラットフォームです。量子コンピューティング時代を見据え、シンプルで効率的な開発環境の提供を目指しています。・・・適用分野 (一例)金融 物流 ライフサイエンス様々なマシンに対応各社が提供する量子アニーリング・イジングマシンをFixstars Amplifyから利用することが出来ます。シンプルで効率的なアプリ開発複雑で専門性の高いプロセスを自動化し、効率的にマシンを使うための学習コストを、圧倒的に低くします。PoCから実問題まで対応大規模問題の入力と高速実行が可能で、PoCや実問題を視野に入れたアプリケーション開発が行えます。すぐに開発を開始可能開発環境と実行環境がセットで提供されるため、すぐに開発を開始することが出来ます。主な特長サービス概要
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com26二次計画問題• 最適化問題の分類• 組合せ最適化問題• 決定変数が離散値 (整数など)• 整数計画問題 (決定変数が整数)• 0-1整数計画問題 (決定変数が二値)• 連続最適化問題• 決定変数が連続値 (実数など)• 量子アニーリング・イジングマシンQuadratic 二次形式Unconstrained 制約条件なしBinary 0-1整数 (二値)Optimization 計画𝑓 = 𝑖<𝑗𝑄𝑖𝑗𝑞𝑖𝑞𝑗+ 𝑖𝑄𝑖𝑖𝑞𝑖𝑞𝑖∈ 0,1 or 𝑞𝑖∈ ±1問題設定(入力・定数)決定変数(出力・変数)評価値(目的関数)• QUBO模型 (0-1整数二次計画問題)
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com27イジングマシンの実行手順1. 数理モデル検討 解きたい課題の「目的関数」「決定変数」「制約条件」を検討する2. QUBO定式化 (論理)「 2値決定変数+二次形式」で「目的関数」と「決定変数」を記述 (変換) する「制約条件」は直接扱えないので「ペナルティ関数」で表現する3. QUBO定式化 (物理)各マシンの仕様や制限に準拠した形式にQUBO模型を変換する(例: 二次項に制約がある場合は「グラフマイナー埋め込み」問題を解く)4. 入力データの準備 各マシンのSDKやAPI仕様に合わせてQUBO模型 (物理) をデータ化する5. マシンの実行 マシンを実行して出力の変数値やエネルギー値(コスト値)を解析する上記の逆の手順を辿り解きたい課題の「決定変数」を解釈するSWによる支援と自動化
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com28Fixstars Amplify の特長– いつでも 開発環境と実行環境がセットのためすぐにプログラミングと実行が出来る– 誰でも ハードウェアや専門的な知識が不要無料で開発がスタート可能– 高速に 26万ビットクラスの大規模問題の高速処理と高速実行が可能– あらゆる 一般に公開されている全てのイジングマシンを利用可能
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com29Fixstars Amplify クラウドの構成Amplify クラウドが量子アニーリングマシン・イジングマシンの大規模実行環境を提供Amplify SDK で書かれた最適化エンジンは他社製も含め全ての商用イジングマシンで実行可能量子アニーリング・イジングマシン (Amplify AE)組合せ最適化問題の定式化やマシンを高度に操るための最先端の技術や知見をライブラリ化したシンプルなインターフェースを提供専門知識が不要で量子アニーリングイジングマシンを用いた最適化エンジンの開発に取り組めるAmplify SDK組合せ最適化問題を含むアプリケーションはAmplify SDK を用いることで効率的かつ簡便に組合せ最適化の定式化が可能研究・開発ではAmplifyクラウドは無償提供されるため直ぐに開発をスタートできるアプリケーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupAmplify の対応マシンhttps://news.fixstars.com/2361/ : IBM Quantum対応 (6/14発表)https://news.fixstars.com/2199/ : Gurobi対応 (5/18発表)30
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com31Fixstars Amplifyによる課題解決■ イジングマシンのための革新的な開発環境簡単 多くのマシンに対応 始めやすい✔SDKをインストールするだけですぐに使える (pip installamplify)✔ハードウェアの専門知識不要でアプリケーションが開発できる✔進化の早いマシンの発展に追従すべての量子アニーリング/イジングマシンに対応✔26万ビット級のアニーリングマシン実行環境が利用可能✔研究・開発用途には開発環境と実行環境が無償で利用可能✔多くのチュートリアル、サンプルコードを整備・拡充多くの人が始めやすい開発プラットフォームを無料で提供https://amplify.fixstars.com
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars GroupFixstars Amplify の技術
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com33Amplify SDKのワークフロー■ 従来のプログラミングワークフローとの比較実行方法
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com34Amplify SDKによるシンプルプログラミング数独を解くサンプルアプリ 富士通・デジタルアニーラの設定用コードSDKなし最適化しても200行以上出典: WikipdiaSDKなし59行SDKあり30行程度SDKあり1行日立CMOSアニーリングマシンの設定用コードSDKなし183行SDKあり1行
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com35Amplify による巡回セールスマン問題の実装例
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com36Amplify Annealing Engine• NVIDIA GPU V100/A100 で動作• 独自の並列化シミュレーテッドアニーリングアルゴリズム• WEB経由で計算機能を提供• Amplify SDK の実装を直ぐに実行可能• 社会課題への取り組み・PoC・検証が加速• 商用マシンでは最大規模かつ最高速レベル• 128Kビット (全結合) / 256Kビット超 (疎結合)Amplify Cloud
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com37Amplify Annealing Engine■ 実問題やPoCを視野に入れたアプリケーション開発にも対応研究・開発利用において無償提供
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com38Amplify 標準提供マシン最先端の量子技術最先端の並列化技術NVIDIA A100/V100最大26万ビット以上D-Wave Advantage5000量子ビット出典:https://www.nvidia.com/ja-jp/data-center/dgx-2/
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com39研究・開発フェーズでの利用実運用フェーズでの利用サポート ベーシック スタンダード利用料金 無料 / 1ユーザー 月額10万円 / 1ユーザー計算環境 スモール ミディアム ラージAmplifyクラウド利用料料金のご案内開発支援サービス(個別見積り)コンサル・システム開発等数百万円~数千万円月額利用料百万円~定式化や実装を手厚く支援します!https://amplify.fixstars.com/ja/pricingNew
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.comセミナー・トレーニングのご案内無料セミナー・ワークショップ企業向けプライベートトレーニングお客様が抱える実際の課題やデータを使ったカスタムメイドのトレーニングです!ビジネス向け、エンジニア向けに分けて毎月開催しています!お客様の実際に課題解決をご支援するために、無料セミナーや有償トレーニングを提供していますhttps://amplify.fixstars.com/ja/news/seminar本日40
Fixstars Corporation www.fixstars.comCopyright © Fixstars Group Copyright © Fixstars Groupハンズオンワークショップ・経路最適化
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com42ワークショップの準備 (1)• ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Googlecolaboratoryを使うので、事前にログイン出来ることを確認をお願いします(Googleアカウントが必要です)• https://colab.research.google.com/• Fixstars Amplify のトークンを取得済みか確認をお願いします。まだの人はFixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トークンの取得をお願いします (1分で終わります)• https://amplify.fixstars.com/ja/register
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com43ワークショップの準備 (2)• お持ちのAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認をお願いします。サンプルコードは閲覧のみ可能ですので、「ドライブにコピー」の上、ご自身のトークンを入力し、Shift+Enterで実行をしてください (警告が出る場合がありますが、「このまま実行」を選択下さい)• https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharingこの部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。ご自身のトークン番号は、Amplify HPよりご確認いただけます• ご自身のトークンを入力の上、以下の結果が出力されればOKです
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com44ワークショップの準備 (3)• ワークショップで使うサンプルコードを以下のURLより取得して下さい• それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞれのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行して下さいStep1 https://colab.research.google.com/drive/1nu_X8RufFbc4wzRlyxj8M5FlGorkcKIE?usp=sharingStep2 https://colab.research.google.com/drive/1ssgrvSQ7cZrLhGzmaLZUJRYu2JJeSOiv?usp=sharingStep3 https://colab.research.google.com/drive/1SlYCT_eS5abwzl_rldM-Vf9g2s-KihRp?usp=sharing質問は随時ZoomのチャットかQ&Aでお願いします対応可能なメンバーが対応いたします
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com45搬送経路最適化一言に「経路最適化」と言っても、搬送ロボット (AGV) が運用されている環境や要件などは様々で、それぞれに対する問題設定や定式化は異なります状況や要件の例• AGVが通過できる経路が定められている• AGVごとに稼働時間に制限がある• AGVごとに積載量に制約がある• 配達地ごとに要求される到着時間がある• AVGの衝突回避の制御が必要• 運ぶ材料や部品によって各配達地で作業時間が異なる
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com46【問題】工場内の4台のAGVを用いて、AGVの充電ステーションから20か所の搬送先に部品を届けるときの各搬送ロボットの走行距離の合計が最短になるような経路を求めます。尚、搬送ロボットをできるだけ平均的に利用したいため各AGVの搬送先は5か所とします搬送経路最適化充電ステーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com47搬送経路最適化全てを一度にやるのは難しいので、3つのステップに分けてアルゴリズムを作成しますAGVを1台とし、制約を守るだけのアルゴリズムを作ります制約➀: 各順番で回れる訪問先 (充電ステーション+各搬送先) は1か所制約②: 各訪問先を回るのは1回のみStep1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作ります解の候補多数ありStep1Step2AGVを4台に増やします。具体的には、Step2に対して以下の2つの変更を加えます変更➀: 決定変数の一部を0/1で固定変更➁: 制約条件の対象範囲を微調整Step3【問題】工場内の4台のAGVを用いて、AGVの充電ステーションから20か所の搬送先に部品を届けるときの各搬送ロボットの走行距離の合計が最短になるような経路を求めます。尚、搬送ロボットをできるだけ平均的に利用したいため各AGVの搬送先は5か所とします
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com48Step1のサンプルコードのレビュー(尚、本ワークショップでは、最適化のコードにフォーカスするため、可視化のコードの詳細は割愛します)Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com49Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります距離行列の作成各訪問先の座標充電ステーション充電ステーション実装各訪問先間の距離行列 訪問先 (0) は充電ステーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com50充電ステーションの次は、訪問先 (20) に行くことを示す計算して得られる解の例実装Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります充電ステーションから出発を示す決定変数を準備イジングマシンで最適な(0,1)の組合せを探すBinaryPoly型 (21×21) = 441 [qbit]1は訪問する、0はしないことを示す
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com訪問先 (i)順番(n) 0 1 2 ・・・ 200 1 0 0 ・・・ 01 0 0 0 ・・・ 12 0 1 0 0・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 0 0 1 ・・・ 051制約1: 各順番で回れる訪問先は1つ→ one_hot制約制約2: 各訪問先を回るのは1回のみ→ one_hot制約one_hot𝑖=020𝑞𝑛,𝑖= 1𝑛=020𝑞𝑛,𝑖= 1𝑛 ∈ 0,1, ⋯ , 20𝑖 ∈ 0,1, ⋯ , 20one_hotone_hotone_hotone_hot one_hotStep1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります制約の定式化one_hotone_hot
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com52制約1:各順番で回れる訪問先は1つ→ one_hot制約制約2: 各訪問先を回るのは1回のみ→ one_hot制約𝑖=020𝑞𝑛,𝑖= 1𝑛=020𝑞𝑛,𝑖= 1𝑛 ∈ 0,1, ⋯ , 20𝑖 ∈ 0,1, ⋯ , 20Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります制約の定式化 実装
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com53無料版は1ジョブ10秒まで設定可。有料版では1分まで設定可能Amplify AE• 先ほど作ったconstraints (制約)をmodelに格納してマシンに投げます• 制約条件だけを与えた場合、制約条件を満たす解を探してきてくれますStep1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります求解
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com54可視化Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります各順番で回れる訪問先は1つ、各訪問先を回るのは1回のみ、という二つの制約を満たす経路を求めることができました。解の候補がたくさんある状況ですので、次のStepでは、目的を追加して解を絞ります結果の取得充電ステーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com55Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作りますStep2のサンプルコードのレビューStep2
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 = 𝑛=020𝑖=020𝑗=020𝑑𝑖,𝑗∙ 𝑞𝑛,𝑖∙ 𝑞𝑛+1,𝑗総距離の最小化決定変数 x 決定変数 (2次)計算のイメージn=1のときi=20が1、n=2のときj=1が1なので、𝑑20,1である1.17がdistanceに加算される各訪問先間の距離行列 (𝑑𝑖,𝑗) 決定変数 (𝑞𝑛,𝑖, 𝑞𝑛+1,𝑗)56目的関数の定式化𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 =Step2 Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作ります訪問先 (i)順番(n) 0 1 2 ・・・ 200 1 0 0 ・・・ 01 0 0 0 ・・・ 12 0 1 0 0・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 0 0 1 ・・・ 0
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com57Step2実装イジングマシンは、制約を満たす中で、このdistance (目的) を最小にする組合せを探しますStep1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作ります【補足】制約条件には、目的関数の値を考慮して適切な値の重みを設定する必要があります。制約条件の取り扱いに関する詳細は、こちらのチュートリアルも合わせてご参照下さいhttps://amplify.fixstars.com/ja/demo・・・剰余を使って、最後の訪問先の次は0番目に戻るようにしています: 追加 or 変更部分
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com58Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作りますStep22つの制約を満たした上で、総距離を最小化する経路が求められるようになりました。次のStepでは、AGVを4台に増やします充電ステーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com59AGVを4台に増やします。Step2に対して以下の2つの変更を加えます変更➀: 決定変数の一部を0/1で固定変更➁: 制約条件の対象範囲を微調整Step3Step3のサンプルコードのレビュー
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com60: 追加 or 変更部分実装決定変数・・・・・・・・・・・・・・・これらの中で合計が最短となる経路を探します変更➀: 決定変数の一部を0/1で固定します。これにより、各AGVの搬送先を5か所に固定しています充電ステーションには、0番目、6番目、12番目、18番目に訪問します (計4回訪問)AGVを4台に増やしますStep3
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com61: 追加 or 変更部分実装AGVを4台に増やしますStep3変更➁: 制約条件の対象範囲を微調整します。訪問先 (0) である充電ステーションを、one_hot制約の対象から外します決定変数 one_hot制約対象外
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com62Step3 AGVを4台に増やします4台のAGVそれぞれが5か所ずつ搬送し総走行距離が最短になるような経路を求めることができました!充電ステーション
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com充電ステーション63AGV1台の制約のみから始めて、目的を追加し、最終的には、4台のAGVそれぞれが5か所ずつ搬送し総走行距離が最短になるような経路を求めることができました!充電ステーションワークショップ: おさらい
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com64Fixstars Amplify: オンラインデモ & チュートリアルhttps://amplify.fixstars.com/ja/demo
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupFixstars Corporation www.fixstars.com65フィックスターズでは仲間を募集しています!
Fixstars Corporation www.fixstars.comCopyright © Fixstars GroupThank Youお問い合わせ窓口 : [email protected]