2022年12月22日に開催した「量子コンピュータ時代のプログラミングセミナー~Fixstars Amplifyで実装する経路最適化~」の当日資料です。
Copyright© Fixstars Group量子コンピュータ時代のプログラミングセミナー~ Fixstars Amplify で実装する経路最適化 ~
View Slide
Copyright© Fixstars Group本日のAgenda第一部 14:00-14:45• はじめに• 会社紹介• 組合せ最適化問題・イジングマシン・事例のご紹介• Fixstars Amplifyの紹介• ワークショップ事前準備のご連絡第二部 14:50-16:00• Fixstars Amplifyを用いたワークショップ• 経路最適化• Q&A2
Copyright© Fixstars Groupはじめに
Copyright© Fixstars Group本セミナーのゴール⚫ 身の回りには組合せ最適化問題がたくさんあることを知る⚫ 組合せ最適化問題を解くための専用マシン(イジングマシン)があることを知り、イジングマシンを使って問題を解くための統一的なフレームワークや、問題設定の考え方、目的関数や制約条件の定式化のポイントを理解する⚫ ワークショップを通して、実際に量子アニーリング・イジングマシンを動かしてみることで、実問題への適用の足掛かりを得る4質問は随時ZoomのチャットかQ&Aでお願いします
Copyright© Fixstars Group会社紹介
Copyright© Fixstars Groupフィックスターズの基本情報6会社名 株式会社フィックスターズ本社所在地東京都港区芝浦3-1-1 msb Tamachi田町ステーションタワーN 28階設立 2002年8月上場区分 東証プライム(証券コード:3687)代表取締役社長 三木 聡資本金 5億5,446万円社員数(連結) 263名(2022年9月現在)主なお客様キオクシア株式会社ルネサスエレクトロニクス株式会社トヨタグループ(トヨタ自動車株式会社・豊田通商株式会社・株式会社デンソー)みずほ証券株式会社キヤノン株式会社グループ会社Fixstars Solutions, Inc.完全子会社米国での営業及び開発を担当(株)Fixstars Autonomous Technologies株式会社ネクスティ エレクトロニクスとのJV自動運転向けソフトウェアを開発(株)Fixstars Amplify完全子会社量子コンピューティングのクラウド事業を運営(株)Sider完全子会社開発支援SaaS「Sider」を運営(株)Smart Opinion連結子会社乳がんAI画像診断支援事業を運営オスカーテクノロジー(株)連結子会社ソフトウェア自動並列化サービスを提供2021/10/1 設立
Copyright© Fixstars Groupフィックスターズのサービス概要7お客様専任のエンジニアが直接ヒアリングを行い、高速化を実現するために乗り越えるべき課題や問題を明確にしていきます。コンサルティング先行技術調査性能評価・ボトルネックの特定高速化アルゴリズムの改良・開発ハードウェアへの最適化レポート作成サポートレポートやコードへのQ&A実製品への組込み支援高速化のワークフロー
Copyright© Fixstars Groupフィックスターズの強み8コンピュータの性能を最大限に引き出す、ソフトウェア高速化のエキスパート集団ハードウェアの知見 アルゴリズム実装力 各産業・研究分野の知見目的の製品に最適なハードウェアを見抜き、その性能をフル活用するソフトウェアを開発します。ハードウェアの特徴と製品要求仕様に合わせて、アルゴリズムを改良して高速化を実現します。開発したい製品に使える技術を見抜き、実際に動作する実装までトータルにサポートします。
Copyright© Fixstars Groupフィックスターズの量子技術への取り組み92017年日本で初めてD-Wave Systems社と提携2018年NEDOのプロジェクトに採択「イジングマシン共通ソフトウェア基盤の研究開発」2019年SIPの研究開発に参画「光・量子を活用したSociety 5.0実現化技術:光電子情報処理」2021年• 2月: 量子アニーリングクラウドサービス「FixstarsAmplify」提供開始• 10月: 子会社FixstarsAmplifyを設立• 11月: Q-STAR 量子技術による新産業創出協議会に特別会員として加入次世代技術を先取りし今ある課題の解決を目指す2022年• 5月: Fixstars Amplify がGurobi, IBM-Quantumをサポート• 6月: 東洋経済主催シンポジウム「ビジネスを劇的に変える量子コンピューティングの可能性」に登壇• 7月: 累計実行回数1,000万回突破
Copyright© Fixstars Group 10Q-STAR 量子技術による新産業創出協議会出展:一般社団法人 量子技術による新産業創出協議会 https://qstar.jp/代表取締役会長三木が参加代表取締役社長平岡が参加量子関連の産業・ビジネスの創出を目的として設立された協議会産業界との連携による社会実装の促進東洋経済主催シンポジウム「ビジネスを劇的に変える量子コンピューティングの可能性」にCEO平岡が登壇しましたロート製薬株式会社 代表取締役会長 山田邦雄氏株式会社東芝 代表執行役社長CEO 島田太郎氏株式会社Fixstars Amplify 代表取締役社長 平岡卓爾本セッションは、東洋経済オンライン並びに同社YouTubeで公開されています。東洋経済オンライン記事:https://toyokeizai.net/articles/-/583900画像:FixstarsCorporation youtubeチャンネルよりhttps://www.youtube.com/watch?v=uS-_BZqvqUo九州大学 藤澤克樹教授パネリストモデレーター
Copyright© Fixstars Groupコンサルティングセットアップ支援、処理の分割や変換等のコンサルクラウド実行環境のご提供クラウド経由での量子コンピュータ利用サービスを提供ソフトウェア高速化・開発支援サービス量子コンピュータを組み合わせてシステムの高速化を実現セミナー・トレーニング量子コンピュータの研究動向や活用事例、実際の利用方法等量子コンピューティング事業多様なハードウェアでのソフトウェア高速化サービスに加え、量子コンピュータ活用支援とシステム開発を提供しています。お客様の課題 ご支援内容量子コンピューティングが課題の解決に役立つか確信が持てない量子コンピューティングの検討をどう進めたら良いかわからない作りたいアプリケーションがあるが、開発が難しい11
Copyright© Fixstars Group組合せ最適化問題・イジングマシン・事例の紹介
Copyright© Fixstars Group量子アニーリング・イジングマシンと組合せ最適化問題13スケジューリング 配送計画 スマートシティー 集積回路設計膨大な選択肢から、制約条件を満たし、ベストな選択肢を探索する(組合せ最適化問題)参考: 慶應義塾大学 田中宗 准教授 「量子コンピュータ最前線とイジングマシンの可能性」量子アニーリング・イジングマシン ⇒ 組合せ最適化問題を解くための専用マシン
Copyright© Fixstars Group組合せ最適化問題を解く統一的なフレームワーク14目的関数:制約条件:解を取得定式化実装問題設定膨大な解候補(組合せ)から最適解を選ぶ・解候補一つ一つの計算は可能・候補数が膨大ですべての解候補を計算できないこれを最小化(最大化)する解が最適解が必ず満たすべき条件数式で表現数式をPythonのプログラムで記述Fixstars Amplifyが最適解を探索バイキングで最も安く必要な栄養が取れる組合せは?目的関数: 合計金額(最小化)制約条件:炭水化物:300g以上タンパク質:150g以上脂質:50g以上組合せ最適化問題の例ごはん:380g焼き魚:140g金 額:870円最適メニュー(10g単位) 炭水化物 タンパク質 脂質 金額ごはん 8g 1g 1g 10円パン 7g 1g 2g 12円ハンバーグ 1g 5g 4g 50円焼き魚 1g 8g 1g 35円
Copyright© Fixstars Group組合せ最適化の取り組み事例15シフト作成自動化 生産計画最適化 経路指示リアルタイム制御倉庫を走行する多数の搬送ロボット (AGV) が効率よく動作するよう、最適経路だけでなく迂回や交差点での待機などリアルタイムに指示します人の直観で時間をかけて行っていた生産ラインや物流倉庫の業務シフト作成を、スキルや勤務時間などの条件をもとに最適化します製造工場の設備の利用割り当て(ジョブショップスケジューリング) を、納期や段取り時間などを考慮して最適化します1/19のセミナーのテーマ 2/16のセミナーのテーマ 本日のテーマ
Copyright© Fixstars Group最適配置自動化サービス(物流梱包業務のDX)チーム3名梱包効率最大化勤務時間が近い相性Good/NG上流下流ローテーション公平感従来の方法:前日夕方に、翌日の予測出荷目標数と出勤予定に基づいて、3人程度のリーダーが相談し数時間をかけて決定業務内容:梱包業務担当者(1チーム3名)をコンベア前のブースに割り当て成果: → 2022年10月より実稼働開始!アニーリング技術を活用して自動化・デジタル化• 作業時間 → 15分程度に• 心理負担 → ほぼゼロに課題:公平になるよう、様々な配慮を行う必要があり、割り当て担当者に心理的負担がかかっていた自動配置(アニーリング)手動配置一部事前配置自動配置結果の微調整各種条件を満たす形で未配置のメンバーを一括割り当て割当業務の時間削減担当者の心理的負担低減配置情報のデジタル化SmileboardConnectと連携※Smileboard Connect: 住友商事様開発の物流業務可視化サービス国家プロジェクトSIP「光・量子を活用したSociety 5.0実現化技術」の一環として、住友商事、SCSK、ベルメゾンロジスコと、2019年より共同研究https://www.fixstars.com/ja/services/cases/amplify-bellemaison
Copyright© Fixstars Group生産計画最適化 (電気機器製造メーカー A社様)17課題生産する基板に応じて製造装置の部品や材料を交換する「段取り時間」が必要。段取り時間を考慮した効率的な生産スケジュールを作成したい従来は、専任者が、一日数回・毎回数十分かけて経験に基づいてスケジュールを作成。更なる生産性向上やノウハウ継承のため、生産スケジュール作成の自動化に着手次期フェーズでは、Amplifyの活用領域の拡大を検討中!最適化未経験のご担当者様1人がプログラム試作開始から約1~2ヵ月間取り組んでこの効果を実現現在は試作段階で、実運用に向けてモデルを改良中!効果 段取りのための製造装置の停止回数の削減!(10%以上削減)段取り時間EE DC装置1装置2装置xA B BB B B BA段取り時間段取り時間生産スケジュール作成の時間・コストの大幅な削減!(一日あたり数時間 → 数分)複数の製品事業部から様々なプリント基板の注文を受け、生産を行う部門
Copyright© Fixstars Group 18大学 研究室 論文タイトル量子アニーリング/イジングマシンに関する研究早稲田大学 戸川研究室 イジングマシンによる制約付きグラフ彩色問題の彩色数最小化手法 (リンク)東京大学 Prof. Codognet Modeling the Costas Array Problem in QUBO for Quantum Annealing (リンク)名古屋大学 片桐研究室 Amplifyを用いたCMOSアニーリングマシンの特性の分析 (リンク)東北大学 小松研究室 組み合わせクラスタリングによるアニーリングマシンの評価 (リンク)応用研究慶應大学 村松研究室 (材料工学) Phase-fieldモデルの量子アニーリングシミュレータ (リンク)東京大学 長谷川研究室 (量子ゲート) ISAAQ:イジングマシンを活用した量子コンパイラ (リンク)会津大学 小平研究室 (LSI設計) シミュレーテッド量子アニーリングを用いたマスク最適化手法 (リンク)山梨大学 鈴木研究室 (情報工学) 量子アニーリングによる疎行列直接解法向けフィルイン削減オーダリング (リンク)京都大学 野田研究室 (電子工学) 量子アニーリングを活用したフォトニック結晶レーザーの構造最適化 (リンク)東京大学 津田研究室 (MI) Designing metamaterials with quantum annealing and factorization machines (リンク)Amplify を活用した研究事例
Copyright© Fixstars Group慶應義塾大学 理工学部 機械工学科 村松研究室19https://amplify.fixstars.com/ja/news/interview/nextgen-analysis
Copyright© Fixstars GroupFixstars Amplify:メディア掲載20Software Design「はじめての量子プログラミング体験」(2021年6月号~2022年1月号まで連載)Interface「Pythonで体験!量子コンピュータ」(2022年6月号)https://amplify.fixstars.com/ja/news/media
Copyright© Fixstars GroupFixstars Amplify のご紹介
Copyright© Fixstars Group量子コンピュータとその周辺221. 量子コンピュータ量子ゲート方式古典汎用コンピュータの上位互換。量子力学の重ね合わせ状態を制御する量子ゲートを操作し、特定の問題を汎用的かつ高速に処理する。2.イジングマシン二値二次多項式模型二次の多変数多項式で表される目的関数の最適化問題 (QUBO) を扱う専用マシン。変数は0,1または±1。統計物理学におけるイジング模型 (磁性体の性質を表す模型) に由来。様々な実装により実現されている。3.量子アニーリング方式量子焼きなまし法イジングマシンの一種であり、量子焼きなまし法の原理に基づいて動作する。量子イジング模型を物理的に搭載したプロセッサで実現する。自然計算により低エネルギー状態が出力される。Amplify AE1量子コンピュータIBM/Google/Rigetti/IonQ2イジングマシン富士通/日立/東芝/Fixstars3量子アニーリングD-Wave/NEC
Copyright© Fixstars Groupクラウドサービス: Fixstars Amplify⚫ 量子コンピューティングを想定したシステム開発・運用のクラウドプラットフォーム⚫ 量子コンピュータや独自開発のGPUアニーリングマシンなど、組合せ最適化問題の専用マシンを効率的に実行できる・・・適用分野 (一例)金融 物流 ライフサイエンスサービス概要簡単ポータブル始めやすい⚫ SDKをインストールするだけですぐに使える (pip install amplify)⚫ ハードウェアの専門知識不要でアプリケーションが開発できる⚫ すべての量子アニーリング/イジングマシンに対応⚫ Fixstarsの26万ビット級のアニーリングマシン実行環境も利用可能⚫ 評価・検証用途には開発環境と実行環境が無償で利用可能⚫ 多くのチュートリアル、サンプルコードを整備・拡充23https://amplify.fixstars.com/ja/
Copyright© Fixstars Group二次計画問題24• 最適化問題の分類• 組合せ最適化問題• 決定変数が離散値 (整数など)• 整数計画問題 (決定変数が整数)• 0-1整数計画問題 (決定変数が二値)• 連続最適化問題• 決定変数が連続値 (実数など)• 量子アニーリング・イジングマシンQuadratic 二次形式Unconstrained 制約条件なしBinary 0-1整数 (二値)Optimization 計画• QUBO模型 (0-1整数二次計画問題)𝑓 = 𝑖<𝑗𝑄𝑖𝑗𝑞𝑖𝑞𝑗+ 𝑖𝑄𝑖𝑖𝑞𝑖𝑞𝑖∈ 0,1 or 𝑞𝑖∈ ±1問題設定(入力・定数)決定変数(出力・変数)評価値(目的関数)
Copyright© Fixstars Groupイジングマシンの実行手順251. 数理モデル検討 解きたい課題の「目的関数」「決定変数」「制約条件」を検討する2. QUBO定式化 (論理)「 2値決定変数+二次形式」で「目的関数」と「決定変数」を記述 (変換) する「制約条件」は直接扱えないので「ペナルティ関数」で表現する3. QUBO定式化 (物理)各マシンの仕様や制限に準拠した形式にQUBO模型を変換する(例: 二次項に制約がある場合は「グラフマイナー埋め込み」問題を解く)4. 入力データの準備 各マシンのSDKやAPI仕様に合わせてQUBO模型 (物理) をデータ化する5. マシンの実行 マシンを実行して出力の変数値やエネルギー値(コスト値)を解析する上記の逆の手順を辿り解きたい課題の「決定変数」を解釈するSWによる支援と自動化
Copyright© Fixstars GroupFixstars Amplify の特長26– いつでも 開発環境と実行環境がセットのためすぐにプログラミングと実行が出来る– 誰でも ハードウェアや専門的な知識が不要無料で開発がスタート可能– 高速に 26万ビットクラスの大規模問題の高速処理と高速実行が可能– あらゆる 一般に公開されている全てのイジングマシンを利用可能
Copyright© Fixstars GroupFixstars Amplify クラウドの構成27Amplify クラウドが量子アニーリングマシン・イジングマシンの大規模実行環境を提供Amplify SDK で書かれた最適化エンジンは他社製も含め全ての商用イジングマシンで実行可能量子アニーリング・イジングマシン (Amplify AE)組合せ最適化問題の定式化やマシンを高度に操るための最先端の技術や知見をライブラリ化したシンプルなインターフェースを提供専門知識が不要で量子アニーリングイジングマシンを用いた最適化エンジンの開発に取り組めるAmplify SDK組合せ最適化問題を含むアプリケーションはAmplify SDK を用いることで効率的かつ簡便に組合せ最適化の定式化が可能研究・開発ではAmplifyクラウドは無償提供されるため直ぐに開発をスタートできるアプリケーション
Copyright© Fixstars GroupFixstars Amplify の対応マシン28https://news.fixstars.com/2361/ : IBM Quantum対応 (6/14発表)https://news.fixstars.com/2199/ : Gurobi対応 (5/18発表)
Copyright© Fixstars Group 29◼ イジングマシンのための革新的な開発環境簡単 多くのマシンに対応 始めやすい✓ SDKをインストールするだけですぐに使える (pip installamplify)✓ ハードウェアの専門知識不要でアプリケーションが開発できる✓ 進化の早いマシンの発展に追従すべての量子アニーリング/イジングマシンに対応✓ 26万ビット級のアニーリングマシン実行環境が利用可能✓ 研究・開発用途には開発環境と実行環境が無償で利用可能✓ 多くのチュートリアル、サンプルコードを整備・拡充多くの人が始めやすい開発プラットフォームを無料で提供https://amplify.fixstars.comFixstars Amplify による課題解決
Copyright© Fixstars GroupFixstars Amplify の技術
Copyright© Fixstars Group 31実行方法Amplify SDK ならアニーリングのプログラミングが圧倒的に短縮されますAmplify SDK
Copyright© Fixstars GroupAmplify SDKによるシンプルプログラミング32富士通・デジタルアニーラの設定用コードSDKなし59行数独を解くサンプルアプリSDKなし最適化しても200行以上出典:WikipdiaSDKあり30行程度SDKあり1行日立CMOSアニーリングマシンの設定用コードSDKなし183行SDKあり1行
Copyright© Fixstars GroupFixstars Amplifyによる巡回セールスマン問題の実装例33
Copyright© Fixstars GroupAmplify Annealing Engine34⚫ NVIDIA GPU V100/A100 で動作• 独自の並列化シミュレーテッドアニーリングアルゴリズム⚫ WEB経由で計算機能を提供• 社会課題への取り組み・PoC・検証が加速• Amplify SDK の実装を直ぐに実行可能⚫ 商用マシンでは最大規模かつ最高速レベル• 128Kビット (全結合) / 256Kビット超 (疎結合)AmplifyCloudAmplify Cloud
Copyright© Fixstars Group 35※評価・検証用途では無償提供Fixstars Amplify AED-Wave AdvantageAmplify Annealing Engine
Copyright© Fixstars GroupAmplify SDK/AE パフォーマンス36SDK 定式化処理速度 AE 求解性能・速度Amplify AEGurobiTSP 10,000 vars MAX-CUT 2,000 varsAmplify は最速レベルの定式化・求解速度を達成していますx1000Faster
Copyright© Fixstars Group 37オンラインデモ & チュートリアル37https://amplify.fixstars.com/ja/demo
Copyright© Fixstars Group 38様々な分野で利用が拡大しています登録社・組織数: 約400累計実行回数:1,300万回超住友商事株式会社
Copyright© Fixstars Group料金のご紹介39Amplifyクラウド利用料 開発支援サービス(個別見積り)コンサル・システム開発等数百万円~数千万円月額利用料百万円~定式化や実装を手厚く支援します!https://amplify.fixstars.com/ja/pricing
Copyright© Fixstars Groupセミナー・トレーニングのご紹介無料セミナー・ワークショップ企業向けプライベートトレーニングお客様が抱える実際の課題やデータを使ったカスタムメイドのトレーニングです!ビジネス向け、エンジニア向けに分けて開催しています!お客様の実際の課題解決をご支援するために、無料セミナーや有償トレーニングを提供しています。40https://amplify.fixstars.com/ja/news/seminar
Copyright© Fixstars Groupワークショップ~事前準備~
Copyright© Fixstars Groupワークショップの事前準備 (1)⚫ ご自身のPC (ブラウザ上) でPythonプログラミングを行います。Googlecolaboratoryを使うので、事前にログイン出来ることを確認をお願いします(Googleアカウントが必要です)■ https://colab.research.google.com/⚫ Fixstars Amplifyホームページのサインアップよりユーザ登録の上、無料トークンの取得をお願いします (1分で終わります)■ https://amplify.fixstars.com/ja/register42
Copyright© Fixstars Group⚫ 入手いただいたAmplifyのトークンを用いて、以下のURLにあるサンプルコードが動くか確認をお願いします。サンプルコードは閲覧のみ可能ですので「ドライブにコピー」の上、ご自身のトークンを入力し、Shift+Enterで実行をしてください(警告が出る場合がありますが、「このまま実行」を選択下さい)◼ https://colab.research.google.com/drive/1evYBKqKfVrEzrQOa-SWwciROfvqjL8qm?usp=sharing43この部分に、ご自身のトークン番号(32桁)を入力の上、Shift+Enterで実行下さい。ご自身のトークン番号は、Amplify HPよりご確認いただけます• ご自身のトークンを入力の上、2つのセルをShift+Enterで実行し、以下の結果が出力されればOKですアクセストークンワークショップの事前準備 (2)
Copyright© Fixstars Groupワークショップの事前準備 (3)⚫ ワークショップで使うサンプルコードを以下のURLより取得して下さい⚫ それぞれのサンプルコードにご自身のトークンを入力いただく必要があります。それぞれのサンプルコードを「ドライブにコピー」の上、トークンを入力し実行して下さい44➢ サンプルコード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 でお願いします。対応可能なメンバーが対応致します。
Copyright© Fixstars Groupワークショップ~搬送経路最適化~
Copyright© Fixstars Group搬送経路最適化46一言に「経路最適化」と言っても、搬送ロボット (AGV) が運用されている環境や要件などは様々で、それぞれに対する問題設定や定式化は異なります状況や要件の例• AGVが通過できる経路が定められている• AGVごとに稼働時間に制限がある• AGVごとに積載量に制約がある• 配達地ごとに要求される到着時間がある• AVGの衝突回避の制御が必要• 運ぶ材料や部品によって各配達地で作業時間が異なる
Copyright© Fixstars Group 47【問題】工場内の4台のAGVを用いて、AGVの充電ステーションから20か所の搬送先に部品を届けるときの各搬送ロボットの走行距離の合計が最短になるような経路を求めます。尚、搬送ロボットをできるだけ平均的に利用したいため各AGVの搬送先は5か所とします充電ステーション搬送経路最適化
Copyright© Fixstars Group 48搬送経路最適化全てを一度にやるのは難しいので、3つのステップに分けてアルゴリズムを作成しますAGVを1台とし、制約を守るだけのアルゴリズムを作ります制約➀: 各順番で回れる訪問先 (充電ステーション+各搬送先) は1か所制約②: 各訪問先を回るのは1回のみStep1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作ります解の候補多数ありStep1Step2AGVを4台に増やします。具体的には、Step2に対して以下の2つの変更を加えます変更➀: 決定変数の一部を0/1で固定変更➁: 制約条件の対象範囲を微調整Step3【問題】工場内の4台のAGVを用いて、AGVの充電ステーションから20か所の搬送先に部品を届けるときの各搬送ロボットの走行距離の合計が最短になるような経路を求めます。尚、搬送ロボットをできるだけ平均的に利用したいため各AGVの搬送先は5か所とします
Copyright© Fixstars Group 49Step1のサンプルコードのレビュー(本ワークショップでは、最適化のコードにフォーカスするため、可視化のコードの詳細は割愛します)Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります
Copyright© Fixstars Group 50距離行列の作成各訪問先の座標充電ステーション充電ステーション実装各訪問先間の距離行列 訪問先 (0) は充電ステーション(km) 訪問先 (i)0 1 2 ・・・ 20訪問先 0 0 0.54 0.22 ・・・ 0.64(j) 1 0.54 0 0.32 ・・・ 1.172 0.22 0.32 0 ・・・ 0.86・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 0.64 1.17 0.86 ・・・ 0Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります
Copyright© Fixstars Group 51訪問先 (i)順番(n) 0 1 2 ・・・ 200 1 0 0 ・・・ 01 0 0 0 ・・・ 12 0 1 0 0・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 0 0 1 ・・・ 0充電ステーションの次は、訪問先 (20) に行く事を示す得られる解の例実装充電ステーションから出発を示す決定変数を準備イジングマシンで最適な(0,1)の組合せを探すBinaryPoly型 (21×21) = 441 [qbit]1は訪問する、0はしない事を示す訪問先 (i)順番(n) 0 1 2 ・・・ 200 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) q_422(0 or 1)・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 q_20(0 or 1) q_41(0 or 1) q_62(0 or 1) ・・・ q_440(0 or 1)Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります
Copyright© Fixstars Group訪問先 (i)順番(n) 0 1 2 ・・・ 200 1 0 0 ・・・ 01 0 0 0 ・・・ 12 0 1 0 0・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 0 0 1 ・・・ 052𝑖=020𝑞𝑛,𝑖= 1𝑛=020𝑞𝑛,𝑖= 1𝑛 ∈ 0,1, ⋯ , 20𝑖 ∈ 0,1, ⋯ , 20制約の定式化one_hotone_hotone_hotone_hotone_hot one_hotone_hotone_hotStep1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります制約1:各順番で回れる訪問先は1つ→ one hot 制約制約2: 各訪問先を回るのは1回のみ→ one hot 制約
Copyright© Fixstars Group 53制約1:各順番で回れる訪問先は1つ→ one hot 制約制約2: 各訪問先を回るのは1回のみ→ one hot 制約𝑖=020𝑞𝑛,𝑖= 1𝑛=020𝑞𝑛,𝑖= 1𝑛 ∈ 0,1, ⋯ , 20𝑖 ∈ 0,1, ⋯ , 20制約の定式化 実装Step1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります
Copyright© Fixstars Group 54Amplify AE求解• 先ほど作ったconstraints (制約)をmodelに格納して、マシンに投げます• 制約条件だけを与えた場合、制約条件を満たす解を探してきてくれますStep1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります無料版は1ジョブ10秒まで設定可有料版では1分 or 10分まで設定可能
Copyright© Fixstars Group 55可視化結果の取得各順番で回れる訪問先は1つ、各訪問先を回るのは1回のみ、という二つの制約を満たす経路を求めることができました。解の候補がたくさんある状況ですので、次のStepでは、目的を追加して解を絞りますStep1 AGVを1台とし、制約を守るだけのアルゴリズムを作ります
Copyright© Fixstars Group 56Step2のサンプルコードのレビューStep1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作りますStep2
Copyright© Fixstars Group 57決定変数 x 決定変数 (2次)𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 = 𝑛=020𝑖=020𝑗=020𝑑𝑖,𝑗∙ 𝑞𝑛,𝑖∙ 𝑞𝑛+1,𝑗総距離の最小化計算のイメージn=1のときi=20が1、n=2のときj=1が1なので、𝑑20,1である1.17がdistanceに加算される各訪問先間の距離行列 (𝑑𝑖,𝑗) 決定変数 (𝑞𝑛,𝑖, 𝑞𝑛+1,𝑗)目的関数の定式化𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 =訪問先 (i)順番(n) 0 1 2 ・・・ 200 1 0 0 ・・・ 01 0 0 0 ・・・ 12 0 1 0 0・ ・ ・ ・・ ・ ・ ・・・ ・・ ・ ・ ・20 0 0 1 ・・・ 0Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作りますStep2
Copyright© Fixstars Group 58実装イジングマシンは、制約を満たす中で、このdistance (目的) を最小にする組合せを探します【補足】制約条件には、目的関数の値を考慮して適切な値の重みを設定する必要があります。制約条件の取り扱いに関する詳細は、こちらのチュートリアルも合わせてご参照下さいhttps://amplify.fixstars.com/ja/demo: 追加 or 変更部分Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作りますStep2剰余を使って、最後の訪問先の次は0番目に戻るようにしています
Copyright© Fixstars Group 592つの制約を満たした上で、総距離を最小化する経路が求められるようになりました。次のStepでは、AGVを4台に増やします。Step1に「総距離の最小化」という目的を追加し、複数の解の候補から目的を実現する解を求めるアルゴリズムを作りますStep2
Copyright© Fixstars Group 60Step3のサンプルコードのレビューAGVを4台に増やします。具体的には、Step2に対して以下の2つの変更を加えます変更➀: 決定変数の一部を0/1で固定変更➁: 制約条件の対象範囲を微調整Step3
Copyright© Fixstars Group 61: 追加 or 変更部分実装決定変数これらの中で合計が最短となる経路を探します変更➀: 決定変数の一部を0/1で固定します。これにより、各AGVの搬送先を5か所に固定していますAGVを4台に増やします (n_vehicle = 4 → n_visits = 24)Step3充電ステーションには、0番目、6番目、12番目、18番目に訪問します (計4回訪問)
Copyright© Fixstars Group 62: 追加 or 変更部分実装訪問先 (i)順番(n) 0 1 2 ・・・ 200 1 0 0 ・・・ 01 0 q_22 q_23 ・・・ q_412 0 q_43 q_44 ・・・ q_623 0 q_64 q_65 ・・・ q_834 0 q_85 q_86 ・・・ q_1045 0 q_106 q_107 ・・・ q_1256 1 0 0 0 07 0 q_148 q_149 ・・・ q_1678 0 q_169 q_170 ・・・ q_1889 0 q_190 q_191 ・・・ q_20910 0 q_211 q_212 ・・・ q_23011 0 q_232 q_233 ・・・ q_25112 1 0 0 0 013 0 q_274 q_275 ・・・ q_293・ ・ ・ ・・ ・ ・ ・・ ・ ・ ・23 0 q_484 q_485 ・・・ q_503決定変数one_hot制約対象外AGVを4台に増やします (n_vehicle = 4 → n_visits = 24)Step3変更➁: 制約条件の対象範囲を微調整します。訪問先 (0) である充電ステーションを、one_hot制約の対象から外します
Copyright© Fixstars Group 634台のAGVそれぞれが5か所ずつ搬送し、総走行距離が最短になるような経路を求める事ができました!AGVを4台に増やします (n_vehicle = 4 → n_visits = 24)Step3
Copyright© Fixstars Groupワークショップ:おさらい64充電ステーション充電ステーションAGV1台の制約のみから始めて、目的を追加し、最終的には、4台のAGVそれぞれが5か所ずつ搬送し総走行距離が最短になるような経路を求めることができました!
Copyright© Fixstars Group発展課題65充電ステーション課題2工場内の作業の関係で、本日は左図のバツ印の2か所が通行できないとの事でした。「バツ印の2か所を通らずに」、ワークショップと同じ目的を実現するための最適経路を求めるためには、サンプルコードをどのように変更すればよいでしょうか?課題1各配達拠点の座標値を0~1ではなく、「0~100」とした場合に、ワークショップと同じ目的を実現するための最適化経路を求めて下さい。(単純に距離行列の値を変更するだけでは、解を求める事ができません)
Copyright© Fixstars Group今後について66⚫ 本日の「発展的課題」にチャレンジ!⚫ デモ・チュートリアルにチャレンジ!目的関数のみで定式化 制約のみで定式化 目的関数+制約で定式化https://amplify.fixstars.com/ja/docs/困った時はドキュメンテーションを!
Copyright© Fixstars Group今後のセミナーのご案内672022/12/23 (木)「搬送経路最適化」第一部 14:00 - 14:45• フィックスターズの紹介• 組合せ最適化問題・イジングマシンの紹介• Fixstars Amplifyの紹介第二部 14:50 - 16:00• Fixstars Amplifyを用いた「搬送経路最適化」のワークショップ• Q&A2023/1/19 (木)「シフト最適化」第一部 14:00 - 14:45• フィックスターズの紹介• 組合せ最適化問題・イジングマシンの紹介• Fixstars Amplifyの紹介第二部 14:50 - 16:00• Fixstars Amplifyを用いた「シフト最適化」のワークショップ• Q&Aご質問・ご不明点は問合せフォームでご連絡下さいhttps://amplify.fixstars.com/ja/contact2023/2/16 (木)「生産計画最適化」第一部 14:00 - 14:45• フィックスターズの紹介• 組合せ最適化問題・イジングマシンの紹介• Fixstars Amplifyの紹介第二部 14:50 - 16:00• Fixstars Amplifyを用いた「生産計画最適化」のワークショップ• Q&A1月、2月にも無料セミナーを開催します!第二部からの参加も可能です
Copyright© Fixstars Groupご清聴ありがとうございました!68