More Related Content
Similar to 量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~ (20)
More from Fixstars Corporation (20)
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
- 2. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Agenda
• フィックスターズとFixstars Amplifyのご紹介
エグゼクティブエンジニア 松田 ・・・ 20分
• Fixstars Amplifyの製造業向け適用事例ご紹介
エグゼクティブエンジニア 松田 ・・・ 5分
• 製造業におけるAmplify活用デモ
ロットまとめ問題
AGVの渋滞回避
シニアディレクター 木下 ・・・ 30分
• Q&A
全員 ・・・ 5分
2
- 6. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
フィックスターズでの組合せ最適化の取り組み事例
シフト割り付け自動化
金融商品の最適価格付け
設備スケジューリング最適化
経路指示リアルタイム制御
倉庫を走行する多数の搬送ロボ
ット(AGV)が効率よく動作す
るよう、最適経路だけでなく迂
回や交差点での待機などリアル
タイムに指示します
複雑な金融商品の最適な価格付
けを、お客様のアルゴリズムと
プロトタイプソースコードをも
とに高速化・並列化し、100倍
程度の高速化を実現しました
人手の直観で時間をかけて行っ
ていた物流倉庫の業務シフト割
り付けを、勤務時間やスキルな
どの条件をもとに最適化した配
置を提示します
製造工場の設備の利用割り当て
(ジョブショップスケジューリ
ング)を、納期や段取り替えの
時間などを考慮して最適化しま
す
- 8. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
量子コンピュータとその周辺
1
量子コンピュータ
IBM/Google/Rigetti/IonQ
2
イジングマシン
富士通/日立/東芝/Fixstars
3
量子
アニーリング
D-Wave/NEC
1. 量子コンピュータ
量子ゲート方式
古典汎用コンピュータの上位互換
量子力学の重ね合わせ状態を制御
する量子ゲートを操作し、特定の
問題を汎用的かつ高速に処理する。
2. イジングマシン
二値二次多項式模型
二次の多変数多項式で表される目的
関数の最適化問題 (QUBO) を扱う
専用マシン。変数は0,1または±1
統計物理学におけるイジング模型
(磁性体の性質を表す模型) に由来
様々な実装により実現されている。
3. 量子アニーリング方式
量子焼きなまし法
イジングマシンの一種であり、量子焼きなまし法の原理に基づ
いて動作する。
量子イジング模型を物理的に搭載したプロセッサで実現する。
自然計算により低エネルギー状態が出力される。
Amplify AE
- 9. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Fixstars Amplify クラウドサービス
あらゆる量子アニーリング・イジングマシンに対応したアプリケーション開発を、実現するためのクラウドプラットフォ
ームです。多くのマシンを透過的に扱うことを可能にします。
・・・
適用分野 (一例)
金融 物流 ライフサイエンス
様々なマシンに対応
各社が提供する量子アニーリング・イジングマシンを
Fixstars Amplifyから利用することが出来ます。
シンプルで効率的なアプリ開発
複雑で専門性の高いプロセスを自動化し、効率的にマシ
ンを使うための学習コストを、圧倒的に低くします。
PoCから実問題まで対応
大規模問題の入力と高速実行が可能で、PoCや実問題を
視野に入れたアプリケーション開発が行えます。
すぐに開発を開始可能
開発環境と実行環境がセットで提供されるため、すぐに
開発を開始することが出来ます。
主な特長
サービス概要
- 10. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
二次計画問題
• 最適化問題の分類
• 組合せ最適化問題
• 決定変数が離散値 (整数など)
• 整数計画問題 (決定変数が整数)
• 0-1整数計画問題 (決定変数が二値)
• 連続最適化問題
• 決定変数が連続値 (実数など)
• 量子アニーリング・イジングマシン
Quadratic 二次形式
Unconstrained 制約条件なし
Binary 0-1整数 (二値)
Optimization 計画
𝑓 =
𝑖<𝑗
𝑄𝑖𝑗𝑞𝑖𝑞𝑗 +
𝑖
𝑄𝑖𝑖𝑞𝑖 𝑞𝑖 ∈ 0,1 or 𝑞𝑖 ∈ ±1
問題設定
(入力・定数)
決定変数
(出力・変数)
評価値
(目的関数)
• QUBO模型 (0-1整数二次計画問題)
- 11. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Fixstars Amplify の特長
– いつでも 開発環境と実行環境がセットのため
すぐにプログラミングと実行が出来る
– 誰でも ハードウェアや専門的な知識が不要
無料で開発がスタート可能
– 高速に 10万ビットクラスの大規模問題の
高速処理と高速実行が可能
– あらゆる 一般に公開されている全てのイジング
マシンを利用可能
- 13. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Fixstars Amplifyによる課題解決
◼ イジングマシンのための革新的な開発環境
簡単 多くのマシンに対応 始めやすい
✓ SDKをインストールするだけ
ですぐに使える (pip install
amplify)
✓ ハードウェアの専門知識不要
でアプリケーションが開発で
きる
✓ 進化の早いマシンの発展に追
従すべての量子アニーリング/
イジングマシンに対応
✓ 10万ビット級のアニーリング
マシン実行環境が利用可能
✓ 研究・開発用途には開発環境
と実行環境が無償で利用可能
✓ 多くのチュートリアル、サン
プルコードを整備・拡充
多くの人が始めやすい開発プラットフォームを無料で提供
https://amplify.fixstars.com
- 16. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Amplify SDKによるシンプルプログラミング
数独を解くサンプルアプリ 富士通・デジタルアニーラの設定用コード
SDKなし
最適化しても
200行以上
出典: Wikipdia
SDKなし
59行
SDKあり
30行程度
SDKあり
1行
日立CMOSアニーリングマシンの設定用コード
SDKなし
183行
SDKあり
1行
- 18. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Amplify Annealing Engine
• NVIDIA GPU V100/A100 で動作
• 独自の並列化シミュレーテッドアニーリングアルゴリズム
• WEB経由で計算機能を提供
• Amplify SDK の実装を直ぐに実行可能
• 社会課題への取り組み・PoC・検証が加速
• 商用マシンでは最大規模かつ最高速レベル
• 64Kビット (全結合) / 100Kビット超 (疎結合)
Amplify Cloud
- 19. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
• Fixstars Amplifyの標準マシンサービスとして
D-Wave Systemsの量子コンピュータを追加
• Fixstars Amplifyの利用者は個別にD-Wave Systems
と契約することなく Fixstars Amplify のサービスとし
て量子コンピュータが使えるようになりました
(毎月の利用時間制限あり)
• 10月から本格提供
詳細URL: https://www.fixstars.com/ja/news/2166/
- 22. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
最も効率的な生産スケジュールは?
22
Problem: 製品製造工程順序の効率化
• 段取り時間、納期、稼動率などを考慮
• 工程内の機械数、製造可能な製品の制約
• 従来技術の整数計画ソルバだと数時間かかることも
Solution: 実用化に向けて取組み中
• 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
Machine 1
Machine 2
Machine 3
Machine 4
Machine 5
Machine 6
Machine 7
Machine 8
Machine 9
Machine 10
- 24. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
最も効率的な部材や製品の搬送方法は?
24
Problem: 物流倉庫内AGVの走行制御
• 多数の搬送ロボット(AGV)の効率的動作
• ピッキング時間短縮、渋滞回避
Solution:
• Amplifyが他のAGVの行動を考慮し、次の
最適動作をリアルタイムに指示
• 最短経路だけでなく、迂回・交差点制御な
ども実現
- 26. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
製造業のDXにおける主な課題
26
顧客
見積り依頼
見積り回答
(納期)
顧客
発注
納品
製品
製品 製品
製造
装置 オペレータ
原料・
部材
生産
搬送
搬送・
設置
装置
サプライヤー
原料・部材
サプライヤー
設備発注
発注
納品
納品
勘と経験
紙とペン
過不足なく
適正化
少量多品種
製造
熟練者の
退職
業務プロセス 課題
納期回答・納品 過剰(日数)納期→失注
納期(日数)不足→納期遅れ
設備投資計画
過剰投資→ROIC悪化
設備不足→チャンスロス
原料・部材発注
過剰在庫→無駄な保管コスト
部材不足→減産
製造業のDXには、
生産工程の見える化、効率化が先決!
DX
- 27. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
生産工程管理における課題の例
27
顧客
見積り依頼
見積り回答
(納期)
顧客
発注
納品
装置
サプライヤー
原料・部材
サプライヤー
設備発注
発注
納品
納品
⚫ 最も効率的な生産スケジュールは?
⚫ なるべく同種のロットをまとめて生産し
たい。
⚫ なるべく製品在庫量を平滑化して生産し
たい。
⚫ 納期を守った上で、稼働装置の台数をな
るべく少なくしたい。
⚫ 作業員の能力や個人の希望を反映させた最も
効率的なシフトは?
⚫ 最も効率的な部材や製品の搬送方法は?
⚫ 効率的な部材発注のタイミングや発注量は?
Amplifyによる実装イメージとモデル
シナリオにおける活用デモをご紹介
製品
製品 製品
製造
装置
原料・
部材
生産
搬送
搬送・
設置
オペレータ
- 28. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
モデルシナリオ
28
顧客
見積り依頼
見積り回答
(納期)
顧客
発注
納品
装置
サプライヤー
原料・部材
サプライヤー
設備発注
発注
納品
納品
納期回答編
①過不足のない納期を10秒で求める
→迅速かつ適切な納期回答
納品(トラブル対応、運転コスト削減)編
②装置が1台故障、10秒で生産計画を立て直す
→迅速かつ適切なトラブル対応
③納期ギリギリまで装置稼働台数を落とす
→勘と経験に依存しない生産計画
設備投資計画編
④納期短縮に必要な装置台数を求める
→勘と経験に依存しない設備投資計画
製品
製品 製品
製造
装置
原料・
部材
生産
搬送
搬送・
設置
オペレータ
即時自動
納期回答
- 29. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
Amplify(量子コンピュータ)を使って問題を解くまでのステップ
29
モデル化
定式化
:20分
A :10分
問題 解
A, Bどちらの製品を何個ずつ
作ったほうがトータルの製造
時間が短い?
製造時間:
T(q) = 10×q0A+20×q0B
+10×q1A+20×q1B
+10×q2A+20×q2B
T = 30分
T(q)が最も小さくなる
(0,1)の組合せを探索
※T(q)→目的関数
制約条件:
一度に作れるのはAかBのどちらか
q = (0 or 1)
0 1 2
A q0A q1A q2A
B q0B q1B q2B
製品
処理順
0 1 2
A 1 1 1
B 0 0 0
製品
処理順
Amplifyがやっていること
B
or
AかBどちらかの製品を、合
計3個作る。
- 30. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
ロットまとめ問題の実装イメージ
30
問題)10台の製造装置を使い4種の製品を合計100ロット作る。
全ロットの生産が完了するまでの時間を最短にしたい。
ロットとは?
→(ここでは)ひとまとまりの生産単位
部材 生産(加工) 製品
製品:4個
製品:9個
1ロット
1ロット
装置0
装置1
装置9
製造装置
10台
A A A
B B B B
B C A D
A
- 31. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
ロットまとめ問題の実装イメージ
31
品種
ロット
数
処理
時間
A 30 2
B 10 3
C 40 1
D 20 1
製品:4品種 100個
1020通り (←10010)
の組合せ!
段取り時間
A→A 0
B→A 2
C→A 1
D→A 2
装置0
装置1
装置9
製造装置
10台
A A A
B B B B
B C A D
段取り
時間
段取り
時間
段取り
時間
A
→ なるべく同種のロットを
まとめて生産したい
問題)10台の製造装置を使い4種の製品を合計100ロット作る。
全ロットの生産が完了するまでの時間を最短にしたい。
- 32. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
0 1 2 3 ... 99
A (1,0) (1,0) (1,0) (1,0) (1,0)
B (1,0) (1,0) (1,0) (1,0) (1,0)
C (1,0) (1,0) (1,0) (1,0) (1,0)
D (1,0) (1,0) (1,0) (1,0) (1,0)
X (1,0) (1,0) (1,0) (1,0) (1,0)
A (1,0) (1,0) (1,0) (1,0) (1,0)
B (1,0) (1,0) (1,0) (1,0) (1,0)
C (1,0) (1,0) (1,0) (1,0) (1,0)
D (1,0) (1,0) (1,0) (1,0) (1,0)
X (1,0) (1,0) (1,0) (1,0) (1,0)
A (1,0) (1,0) (1,0) (1,0) (1,0)
B (1,0) (1,0) (1,0) (1,0) (1,0)
C (1,0) (1,0) (1,0) (1,0) (1,0)
D (1,0) (1,0) (1,0) (1,0) (1,0)
X (1,0) (1,0) (1,0) (1,0) (1,0)
...
装置ID 品種
.
.
.
...
9
ロット処理順
.
.
.
...
...
0
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Amplifyによる、問題のモデル化
32
装置:10台
(ID:0~9)
装置ごとに
品種5スロット
(ID:A~D+ダミー)
各装置が何ロット処
理するか不明なので、
最大数として100
BinaryPoly型
(10×5)×100
= 5,000[qbit]
装置0
装置1
装置9
A A A
B B B B
B C A D
段取り
時間
段取り
時間
段取り
時間
A
問題)10台の製造装置を使い4種の製品を合計100ロット作る。
全ロットの生産が完了するまでの時間を最短にしたい。
- 33. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
0 1 2 3 ... 99
A 1 1 1 1 0
B 0 0 0 0 0
C 0 0 0 0 0
D 0 0 0 0 0
X 0 0 0 0 1
A 0 0 0 0 0
B 1 1 1 1 0
C 0 0 0 0 0
D 0 0 0 0 0
X 0 0 0 0 1
A 0 0 1 0 0
B 1 0 0 0 0
C 0 1 0 0 0
D 0 0 0 1 0
X 0 0 0 0 1
...
.
.
.
9 ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 ...
装置ID 品種
ロット処理順
0 ...
Amplifyによる、問題のモデル化
33
モデルを使って問題を定式化 → 目的関数を最小とする(0,1)の組合せ(解)
装置0
装置1
装置9
A A A
B B B B
B C A D
段取り
時間
段取り
時間
段取り
時間
A
装置:10台
(ID:0~9)
装置ごとに
品種5スロット
(ID:A~D+ダミー)
各装置が何ロット処
理するか不明なので、
最大数として100
BinaryPoly型
(10×5)×100
= 5,000[qbit]
- 34. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
0 1 2 3 ... 99
A (1,0) (1,0) (1,0) (1,0) (1,0)
B (1,0) (1,0) (1,0) (1,0) (1,0)
C (1,0) (1,0) (1,0) (1,0) (1,0)
D (1,0) (1,0) (1,0) (1,0) (1,0)
X (1,0) (1,0) (1,0) (1,0) (1,0)
A (1,0) (1,0) (1,0) (1,0) (1,0)
B (1,0) (1,0) (1,0) (1,0) (1,0)
C (1,0) (1,0) (1,0) (1,0) (1,0)
D (1,0) (1,0) (1,0) (1,0) (1,0)
X (1,0) (1,0) (1,0) (1,0) (1,0)
A (1,0) (1,0) (1,0) (1,0) (1,0)
B (1,0) (1,0) (1,0) (1,0) (1,0)
C (1,0) (1,0) (1,0) (1,0) (1,0)
D (1,0) (1,0) (1,0) (1,0) (1,0)
X (1,0) (1,0) (1,0) (1,0) (1,0)
...
装置ID 品種
.
.
.
...
9
ロット処理順
.
.
.
...
...
0
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Amplifyによる、問題の定式化
34
定式化:
• 目的関数:最小にしたい関数
→ 処理時間+段取り時間の総和
• 制約条件:前提条件として守らなければならないルール
→ 各装置が同時に作れるのは1品種のみ
→ 各品種の合計生産数が予定数通り
問題)10台の製造装置を使い4種の製品を合計100ロット作る。
全ロットの生産が完了するまでの時間を最短にしたい。
- 35. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
0 1 2 3 ... 99
A 1 1 1 1 0
B 0 0 0 0 0
C 0 0 0 0 0
D 0 0 0 0 0
X 0 0 0 0 1
A 0 0 0 0 0
B 1 1 1 1 0
C 0 0 0 0 0
D 0 0 0 0 0
X 0 0 0 0 1
A 0 0 1 0 0
B 1 0 0 0 0
C 0 1 0 0 0
D 0 0 0 1 0
X 0 0 0 0 1
...
.
.
.
9 ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 ...
装置ID 品種
ロット処理順
0 ...
Amplifyによる、問題の定式化 :目的関数
35
• 目的関数:最小にしたい関数
→ (処理時間+段取り時間)の総和
装置ごと、処理順ごとに
処理時間を積算
B: 3 + C: 1
装置ごと、処理順ごと
に段取り時間を積算
B→C: 1
品種
処理
時間
A 2
B 3
C 1
D 1
段取り
前
A B C D
A 0 2 4 5
B 2 0 1 3
C 1 3 0 1
D 2 2 3 0
段取り時間
- 36. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
0 1 2 3 ... 99
A 1 1 1 1 0
B 0 0 0 0 0
C 0 0 0 0 0
D 0 0 0 0 0
X 0 0 0 0 1
A 0 0 0 0 0
B 1 1 1 1 0
C 0 0 0 0 0
D 0 0 0 0 0
X 0 0 0 0 1
A 0 0 1 0 0
B 1 0 0 0 0
C 0 1 0 0 0
D 0 0 0 1 0
X 0 0 0 0 1
...
.
.
.
9 ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 ...
装置ID 品種
ロット処理順
0 ...
• 制約条件:前提条件として守らなければならないルール
→ 各装置が同時に作れるのは1品種のみ
→ 各品種の合計生産数が予定数通り
Amplifyによる、問題の定式化 :制約条件
36
品種 生産数
A 30
B 10
C 40
D 20
- 37. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
37
Amplify による実装
#目的関数
for m in range(num_mac):
for l in range(lmax):
cost += coef * (lmax-l) * (t_proc*mac[m][l]).sum() # 処理時間
if (l>0):
for fr in range(num_type):
for to in range(num_type):
cost += coef * (lmax-l) * (
t_switch[fr][to] * mac[m][l-1][fr] * mac[m][l][to] # 段取り時間
)
# 品種の1hot制約
for m in range(num_mac):
for l in range(lmax):
model += one_hot(mac[m][l])
# 品種の合計数制約
for t in range(num_type-1): # dummy品種は除く
model += equal_to(sum_poly([mac[m][l][t] for m in range(num_mac) for l in range(lmax)]), num_lots[t])
- 38. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
ロットまとめ問題のモデルシナリオ
38
顧客
見積り依頼
見積り回答
(納期)
顧客
発注
納品
装置
サプライヤー
原料・部材
サプライヤー
設備発注
発注
納品
納品
納期回答編
①過不足のない納期を10秒で求める
→迅速かつ適切な納期回答
納品(トラブル対応、運転コスト削減)編
②装置が1台故障、10秒で生産計画を立て直す
→迅速かつ適切なトラブル対応
③納期ギリギリまで装置稼働台数を落とす
→勘と経験に依存しない生産計画
設備投資計画編
④納期短縮に必要な装置台数を求める
→勘と経験に依存しない設備投資計画
製品
製品 製品
製造
装置
原料・
部材
生産
搬送
搬送・
設置
即時自動
納期回答
- 39. Fixstars Group www.fixstars.com
Copyright © Fixstars Group
AGVの渋滞回避の実装イメージ
39
• 全AGVの合計移動距離の最大化:
− σ𝑖=1
𝑁
σ𝜇∈𝑀 𝑖,𝑠𝑖
𝑑𝜇𝑞𝑖,𝜇
• AGVが採る経路は1つ:
σ𝜇∈𝑀 𝑖,𝑠𝑖
𝑞𝑖,𝜇 = 1 ∀𝑖
• 1つの頂点にAGVは1つ以下:
σ𝑖=1
𝑁
σ𝜇∈𝑀(𝑖,𝑠𝑖) 𝐹𝜇,𝑡,𝑣𝑞𝑖,𝜇 ≤ 1 ∀𝑡 ∈ 𝑻, ∀𝑣 ∈ 𝑽
累積待ち時間
Amplify最適化 78s
場当たり的 86s
経過時間 [秒]
経過時間 [秒]
累積待ち時間 [秒] 完了タスク数 [個]
目的関数→
制約条件