(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024067321
(43)【公開日】2024-05-17
(54)【発明の名称】組合せ最適化装置、組合せ最適化計算方法、及び、コンピュータプログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20240510BHJP
【FI】
G06Q10/04
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022177300
(22)【出願日】2022-11-04
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】山口 晃一郎
(72)【発明者】
【氏名】阿部 英宗
(72)【発明者】
【氏名】大湊 浩明
(72)【発明者】
【氏名】大山 貴博
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA04
5L049AA04
(57)【要約】
【課題】量子コンピュータを用いてより現実で利用可能な配送計画を生成する。
【解決手段】組合せ最適化装置は、量子コンピュータと通信可能に接続される制御部を有し、制御部は、複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、各車両の作業量の平準化する第2制約項とを追加し、第1制約項と第2制約項とを追加したコスト関数を量子コンピュータに量子計算させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
量子コンピュータと通信可能に接続される制御部を有し、
前記制御部は、複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、前記各車両の作業量の平準化する第2制約項とを追加し、前記第1制約項と前記第2制約項とを追加したコスト関数を前記量子コンピュータに量子計算させる、
組合せ最適化装置。
【請求項2】
前記制御部は、前記第1制約項と前記第2制約項とのうち、前記量子コンピュータが前記量子計算する際に満たさなければならない項目であるハード制約と、制約の逸脱度合いの指定可能な項目であるソフト制約と、を選択する、
請求項1に記載の組合せ最適化装置。
【請求項3】
前記第1制約項は、指定された時刻での配送を指定する制約に係る項目である、
請求項1に記載の組合せ最適化装置。
【請求項4】
前記第1制約項は、
【数1】
であり、Vは前記車両の台数、Nは配送件数、Tは時間スロット数、F
stは配送先sの配送可能時刻に関する関数、x
v
stは車両vが時刻tで前記配送先sを訪問する場合に1を示すバイナリ変数、F
maxはペナルティの総和の許容限界、b
v,k
(F)は前記車両vにおける前記ペナルティの総和と上限F
maxとの差を吸収するスラック変数、D
Fはb
v,k
(F)のビット数、およびkはビットインデックスである、
請求項3に記載の組合せ最適化装置。
【請求項5】
前記第1制約項は、配送作業が終わる時刻以降の配送を制限する制約に係る項目である、
請求項1に記載の組合せ最適化装置。
【請求項6】
前記第1制約項は、
【数2】
であり、Vは前記車両の台数、Nは配送件数、Tは時間スロット数、T
tは配送時刻に関する関数、x
v
stは車両vが時刻tで配送先sを訪問する場合に1を示すバイナリ変数、T
maxは上限時間を超えたペナルティの総和の許容限界、b
v,k
(T)は前記車両vにおける前記ペナルティの総和と上限T
maxとの差を吸収するスラック関数、D
Tはb
v,k
(T)のビット数、およびkはビットインデックスである、
請求項5に記載の組合せ最適化装置。
【請求項7】
前記第2制約項は、前記車両の配送件数を、全配送件数を全車両の数で割った値である平均値に指定する制約に係る項目である、
請求項1に記載の組合せ最適化装置。
【請求項8】
前記第2制約項は、
【数3】
であり、Vは前記車両の台数、Nは前記配送件数、Tは時間スロット数、V
vは車両vの配送件数における平均配送件数N/Vからのずれに対する許容範囲、x
v
stは前記車両vが時刻tで配送先sを訪問する場合に1を示すバイナリ変数、b
v,k
(nl)は前記車両vにおける実際の配送件数と下限(N/V-V
v)との差を吸収するスラック変数、D
nlはb
v,k
(nl)のビット数、およびkはビットインデックスである、
請求項7に記載の組合せ最適化装置。
【請求項9】
前記第2制約項は、異なる車両間で最終配送先に訪問した時刻の差をゼロに指定する制約に係る項目である、
請求項1に記載の組合せ最適化装置。
【請求項10】
前記第2制約項は、
【数4】
であり、Vは前記車両の台数、Nは配送件数、Tは時間スロット数、iは配送先、x
v
iτは車両vが時刻τで配送先iを訪問する場合に1を示すバイナリ変数、τは時刻の変数、z
τ
vは前記車両vが時刻τで最後の配送先に到着するとき1を示すバイナリ変数、z
τ
uは車両uが時刻τで最後の配送先に到着するとき1を示すバイナリ変数、εは2つの車両間での配送件数の差の上限であるおよびkはビットインデックス、D
εはbε
vu,kのビット数である、
請求項9に記載の組合せ最適化装置。
【請求項11】
量子コンピュータと通信可能に接続される組合せ最適化装置によって組合せ最適化を計算する方法であって、
複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、前記各車両の作業量の平準化する第2制約項とを追加し、
前記第1制約項と前記第2制約項とを追加したコスト関数を前記量子コンピュータに量子計算させる、
組合せ最適化方法。
【請求項12】
複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、前記各車両の作業量の平準化する第2制約項とを追加する処理と、
前記第1制約項と前記第2制約項とを追加したコスト関数を量子コンピュータに量子計算させる処理と、
前記量子コンピュータと通信可能に接続される組合せ最適化装置に実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、組合せ最適化装置、組合せ最適化計算方法、及び、コンピュータプログラムに関する。
【背景技術】
【0002】
処理対象材の処理順序を巡回セールスマン問題として定式化し、量子コンピュータで利用可能なイジングモデルへと変換することにより、処理順序決定問題を解決する技術が知られている(特許文献1)。
【0003】
また、スタッフ、車両、駐車場に関する各種制約のもと、車両が不足している駐車場に車両を配送する配送計画問題を解くための、量子状態を表す変数に関する最適化関数を生成する技術が知られている(特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6954245号公報
【特許文献2】国際公開第2021/176632号
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の量子コンピュータを用いて配送計画問題を解く際の制約は、現実で利用可能な配送計画を生成するためには不十分である。
【0006】
本開示は、上述した従来の状況に鑑みて案出され、量子コンピュータを用いてより現実で利用可能な配送計画を生成することを目的とする。
【課題を解決するための手段】
【0007】
本開示は、量子コンピュータと通信可能に接続される制御部を有し、前記制御部は、複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、前記各車両の作業量の平準化する第2制約項とを追加し、前記第1制約項と前記第2制約項とを追加したコスト関数を前記量子コンピュータに量子計算させる、組合せ最適化装置を提供する。
【0008】
また、本開示は、量子コンピュータと通信可能に接続される組合せ最適化装置によって組合せ最適化を計算する方法であって、複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、前記各車両の作業量の平準化する第2制約項とを追加し、前記第1制約項と前記第2制約項とを追加したコスト関数を前記量子コンピュータに量子計算させる、組合せ最適化方法を提供する。
【0009】
また、本開示は、複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、前記各車両の作業量の平準化する第2制約項とを追加する処理と、前記第1制約項と前記第2制約項とを追加したコスト関数を量子コンピュータに量子計算させる処理と、前記量子コンピュータと通信可能に接続される組合せ最適化装置に実行させる、コンピュータプログラムを提供する。
【0010】
なお、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、または、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0011】
本開示によれば、量子コンピュータを用いてより現実で利用可能な配送計画を生成することができる。
【図面の簡単な説明】
【0012】
【
図1】本実施の形態に係る配送に関する業務フローの一例を示す図
【
図2】本実施の形態に係る組合せ最適化システムの構成例を示すブロック図
【
図3】本実施の形態に係る(式18)の第1項を説明した図
【
図4】本実施の形態に係る組合せ最適化装置の処理を示すフローチャート
【
図6】本実施の形態に係る配送時刻指定の第1例を示す図
【
図7】本実施の形態に係る配送時刻指定の第2例を示す図
【
図8】本実施の形態に係る配送経路の第1例を示す図
【
図9】本実施の形態に係る配送経路の第2例を示す図
【発明を実施するための形態】
【0013】
以下、図面を適宜参照して、本開示に係る組合せ最適化装置、組合せ最適化計算方法、及び、コンピュータプログラムを具体的に開示した実施の形態について、詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、すでによく知られた事項の詳細説明および実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の記載の主題を限定することは意図されていない。
【0014】
<背景>
近年、カーボンニュートラルへの貢献としてサプライチェーン全体の無駄を削除し、使用エネルギーの削減を目指した取り組みが行われている。サプライチェーンを最適化する問題には、例えば、複数の車両が複数の配送先を訪問する際の効率的なルートを探索する配送計画問題(VRP:Vehicle Routing Problem)がある。配送計画問題は、現在利用しているコンピュータ(例えば、古典コンピュータ)では解くことが難しい組合せ最適化問題である。そのため、新たな計算技術として量子コンピューティングを用いる方法が注目されている。
【0015】
古典コンピュータで用いる古典ビットは0または1の値のみをとる。一方、量子コンピュータで用いる量子ビットは,0と1の両方を組み合わせた値を同時に表現することができる。そのため、N個の量子ビットがあれば、N個の古典ビットが取り得る全ての状態を同時に扱うことが可能となり、指数関数的に大きな計算問題を扱える。このような特徴を活かし、量子コンピュータは特定の問題を非常に高速に解くことができる。組合せ最適化問題は、膨大な組合せ数を量子ビットで表すことにより、量子コンピューティングで効率的な計算が期待される問題の一つである。
【0016】
量子コンピューティングにより組合せ最適化問題を解く方法に量子アニーリングがある。量子アニーリングを用いることにより組合せ最適化問題の解を高速に求めることができると期待される。
【0017】
しかしながら、現実の問題に応用するためには、各配送先の配送時刻の指定など様々な制約に対応する必要がある。また、全ての制約を満たす解が存在しないような場合に、制約の遵守度合を調整しながら利用可能な解を生成する必要がある。以下で、具体的な例を用いて配送計画の作成に関する課題とその課題を解決する技術について説明する。
【0018】
(本実施の形態)
図1を参照して、配送に関する業務フローの一例を説明する。
図1は、本実施の形態に係る配送に関する業務フローの一例を示す図である。
【0019】
例えば、顧客は、インターネットを介してWEBから商品を注文したり、店に来店して商品を注文したりする。注文された商品は、顧客の指定した場所(例えば、顧客の家等)に配送される。なお、配送される荷物(商品)は、顧客が購入した商品に限られない。
【0020】
配送を管理する管理コンピュータは、注文に関する情報(以下、注文情報と称する)を受信する(オーダ)。注文情報は、例えば、注文された商品の配送先の住所、配送される荷物の情報(例えば、荷物の名前、荷物に紐づけられた識別番号等)、配送される荷物の量(例えば、荷物の大きさまたは重さ等)、顧客が注文した時刻、荷物が配送される予定の時刻等を含む。また、管理コンピュータは、荷物を配送する車両に関する情報(以下、車両情報と称する)を取得する。車両情報は、例えば、車両の数、各車両の荷物の積載上限、各車両の稼動可能時間等を含む。
【0021】
管理コンピュータは、配送される荷物の注文情報と、荷物を配送する車両の車両情報とを用いて配送計画を作成する(配送計画策定)。
【0022】
各車両は、管理コンピュータが作成した配送計画に基づき各荷物を配送先へ配送する(運転)。
【0023】
各車両の配達員は、配送先に到着すると荷物を顧客に受け渡す(受け渡し)。
【0024】
このように、管理コンピュータは、荷物を効率良く配送するために配送計画を作成する。しかしながら、古典コンピュータである管理コンピュータを用いて、配送を行う車両の総移動距離および総移動時間を効率化し、配送条件(例えば、各車両の積載上限または配送時刻の期限等)を遵守し、かつ、各配送員の作業量の偏りがあまり出ないような作業計画を作成することは難しい。
【0025】
上述した従来の状況に鑑みて、本開示では、より現実的な制約を含む配送計画問題を、量子コンピューティングを利用して解くための定式化方法について説明する。
【0026】
<システム構成の説明>
次に、
図2を参照して、組合せ最適化システムの構成例について説明する。
図2は、本実施の形態に係る組合せ最適化システムの構成例を示すブロック図である。
【0027】
組合せ最適化システム1は、入出力装置20、組合せ最適化装置10および量子コンピュータ40を含む。
【0028】
組合せ最適化装置10は、古典コンピュータである。組合せ最適化装置10は、通信I/F11、メモリ12およびプロセッサ13を有する。I/Fは、インターフェースを表す。組合せ最適化装置10は、入出力装置20と通信可能に接続されている。組合せ最適化装置10は、ネットワークNWを介して量子コンピュータ40と通信可能に接続されている。なお、組合せ最適化装置10は、量子コンピュータ40と直接通信可能に接続されてもよく、この場合、ネットワークNWは組合せ最適化システム1から省略されてもよい。
【0029】
通信I/F11は、組合せ最適化装置10が他の装置と無線または有線で通信を行うためのネットワークインターフェース回路である。
図2の例において、他の装置は、入出力装置20である。通信I/F11は、ネットワークNWに接続し、量子コンピュータ40と通信を行う。ネットワークNWの例として、インターネット網、有線LAN(Local Area Network)、無線LAN、LTE(Long Term Evolution)、4G、5G等が挙げられる。また、通信I/F11には、入出力装置20が有線又は無線にて接続される。当該接続方式の例として、有線ケーブル、有線LAN、無線LAN、近距離無線通信(例えばBluetooth(登録商標))等が挙げられる。
【0030】
メモリ12は、例えばプロセッサ13が行う各種の処理を規定したコンピュータプログラムとそのコンピュータプログラムの実行中に使用するデータとを格納するROM(Read Only Memory)と、プロセッサ13が行う各種の処理を実行する際に用いるワークメモリとしてのRAM(Random Access Memory)と、を少なくとも有する。ROMには、プロセッサ13が行う各種の処理を規定したコンピュータプログラムとそのコンピュータプログラムの実行中に使用するデータとが書き込まれている。RAMには、プロセッサ13により生成あるいは取得されたデータもしくは情報(例えば、定式化部13Bにより生成された式等)が一時的に保存される。メモリ12は、配送対象物の情報(例えば、配送対象物の識別番号、重さ、大きさ、配送先または配送期限時刻等)が一時的に保存される。なお、情報の保存先は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、あるいはSSD(Solid State Drive)などの記憶媒体であってもよい。また、情報の保存先は、組合せ最適化装置10の外部のサーバ装置であってもよく、組合せ最適化装置10は、装置起動時にその外部のサーバ装置からデータを読み込むように処理してもよい。
【0031】
プロセッサ13は、機能として、入出力制御部13A、定式化部13B、制約条件選択部13Cおよびイジングモデル変換部13Dを実行する。プロセッサ13は、例えばCPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphical Processing Unit)、FPGA(Field Programmable Gate Array)等の電子デバイスのうち少なくとも1つが実装された半導体チップによって構成される。プロセッサ13は、組合せ最適化装置10の全体的な動作を司るコントローラとして機能し、組合せ最適化装置10の各部の動作を統括するための制御処理、組合せ最適化装置10の各部との間のデータの入出力処理、データの演算処理および、データの記憶処理を行う。
【0032】
プロセッサ13は、メモリ12のROMに記憶されたプログラムおよびデータを用いることで、入出力制御部13A、定式化部13B、制約条件選択部13Cおよびイジングモデル変換部13Dのそれぞれの機能を実現する。プロセッサ13は、動作中にメモリ12のRAMを使用し、プロセッサ13および各部が生成あるいは取得したデータもしくは情報をメモリ12のRAMに一時的に保存する。
【0033】
入出力制御部13Aは、定式化部13Bによって生成された定式化された式または式に含まれる係数の情報(具体的には式1の相互作用や局所磁場の値)を量子コンピュータ40に出力する指示を通信I/F11に出力する。入出力制御部13Aは、量子コンピュータ40によって導出された結果を表示装置30に出力させる指示を通信I/F11に出力する。
【0034】
定式化部13Bは、量子コンピュータ40を用いて組合せ最適化問題を解く際に、解きたい問題に応じたイジングモデル式またはQUBO(Quadratic Unconstrained Binary Optimization)式を定式化する。定式化部13Bが行う具体的な定式化の処理に関しては後述する。
【0035】
制約条件選択部13Cは、組合せ最適化問題を解く際に必要な少なくとも1つ(つまり複数)の各制約条件を、ハード制約として扱うかソフト制約として扱うかを選択する。なお、ハード制約およびソフト制約については後述する。
【0036】
イジングモデル変換部13Dは、定式化部13Bにおいて定式化された組合せ最適化問題を量子コンピュータ40が利用可能なイジングモデルへと変換する。なお、この機能は、量子コンピュータ40に含まれていてもよい。
【0037】
量子コンピュータ40は、量子アニーリング方式により量子コンピューティングを実行する量子コンピュータである。量子コンピュータ40は、クラウド上に配置されておりネットワークNWを介して組合せ最適化装置10と通信可能に接続される。なお、量子コンピュータ40は、クラウド上に配置されなくてもよく、ローカル環境下に配置され組合せ最適化装置10と直接接続されてもよい。量子コンピュータ40は、量子コンピュータのふるまいを模擬した処理を実行するCPU、GPU、DSP、FPGAまたは光等を使用したイジングマシンなどであってもよい。また、量子コンピュータ40は、組合せ最適化を実現する量子アルゴリズムを実装した汎用的な量子コンピュータであってもよい。
【0038】
入出力装置20は、管理者(例えば、量子コンピュータ40を用いて最適な配送計画を得ようとする人等)からの入力を受け付ける装置である。入出力装置20は、例えば、携帯端末、タブレットまたはPC(Personal Computer)等である。入出力装置20は、管理者から、配送予定の荷物に関する情報の入力を受け付ける。入出力装置20は、ネットワークに接続されており、ユーザの商品の購入に係る情報を取得し組合せ最適化装置10に自動で入力してもよい。
【0039】
入出力装置20は、量子コンピュータ40が算出した配送計画を出力する。表示装置30は、例えば、ディスプレイ等である。表示装置30は、量子コンピュータ40によって配送計画の導出ができなかった際等のエラーを表示してもよい。
【0040】
<組合せ最適化問題の概要>
以下、量子コンピューティングを用いた組合せ最適化について説明する。
【0041】
量子コンピューティングにより組合せ最適化問題を解く場合、解きたい問題に応じたイジングモデル式またはQUBO式を定式化する必要がある。以下に、一般的なイジングモデル式を示す。
【0042】
【0043】
ここで、σ∈{+1,-1}はスピンの向きを示し、Jijはσiとσjの間の相互作用の大きさ、hiはσiに働く局所磁場を示す。Hは全スピンが存在する場のエネルギーを示しており、ハミルトニアンと呼ばれる。上式において、σをスピンからビットσ∈{+1,-1}に置き換えたものがQUBO式であり、イジングモデルとQUBOは本質的に等しい。
【0044】
量子コンピューティングによる組合せ最適化では、ハミルトニアンHが最小となるような各σの状態、すなわち基底状態を探索することになる。そのため、対象とする問題における最適解が基底状態となるように定式化を行う必要がある。定式化後の相互作用や局所磁場の情報を、量子アニーリングマシンまたは汎用量子コンピュータ上で動作する組合せ最適化アルゴリズムに入力することで、最適化の結果が得られる。
【0045】
本開示に係るVRPは、全ての配送先をちょうど一回ずつ訪問するような経路集合の中で、移動距離の総和が最短のものを求める問題である。
【0046】
以下に、車両台数が指定されたVRPに対して以下のようなQUBO式を示す。
【0047】
【0048】
以下、(式2)をコスト関数と称する。ここで、vは車両、xv
s,tは車両vが配送先sへ時刻tに訪問することを示す変数、yv
s,nは車両vが配送先sをn番目に訪問することを示す変数、Vは車両の数、sおよびs’は配送先、nおよびn’は配送順、tおよびt’は配送時刻、Tはタイムスロット数およびNは配送先の数を表す。ここで、ds,s’は配送先s,s’間の移動距離である。第1項は、配送先s,s’間の移動に係る距離コストに係る項である。第2項は、x,y配送順序を一致させるための項である。
【0049】
次に、VRPの解として妥当な結果x,yを得るための制約を以下に示す。ここで、nt
ss’は、時刻tに配送先sを出発した際のs,s’間の最短移動時間を表す。(式3)はnt
ss’未満の所要時間でのsからs’への移動禁止を示す式である。
【0050】
【0051】
(式4)および(式5)は、車両が別の配送先に同時に存在できないことを示す式である。
【0052】
【0053】
【0054】
(式6)および(式7)は、全ての車両は拠点(s=0)から出発することを示す式である。
【0055】
【0056】
【0057】
(式8)および(式9)は、全ての配送先に1回ずつ訪問することを示す式である。
【0058】
【0059】
【0060】
(式10)および(式11)は、配送順は連番のみを許容することを示す式である。
【0061】
【0062】
ここで、bv
nは配送順を連番にするために追加した変数である。
【0063】
【0064】
(式12)は、各車両の配送先をx,yで一致させることを示す式である。
【0065】
【0066】
(式3)から(式12)の制約をすべてみたすような解を実行可能解と呼ぶ。(式3)、(式4)、(式5)、(式10)、(式11)および(式12)の左辺の最小値が0(ゼロ)となっている場合には、左辺の形をそのままコスト関数である(式2)に加えることで制約項とする。一方、(式6)、(式7)、(式8)および(式9)のように左辺の最小値が0(ゼロ)でない場合には左辺を二乗したものをコスト関数である(式2)に加えて制約項とする。
【0067】
このように構成した制約項は全制約を満たすような解に対してのみ最小値をとる。そのため、コスト関数に制約項を加えたハミルトニアンを用いて量子アニーリングを行うことで、全制約を満たした解を優先的に探索することができる。
【0068】
次に、より現実的な配送計画問題の要件を満たすための追加制約を以下に示す。(式13)は、指定した時間
【数13】
でのみ配送を許すことを示す式である。以下、(式13)に係る制約を「配送時刻指定」と称する。
【0069】
【0070】
(式14)は、配送作業を終える時刻
【数15】
以降の配送を禁止することを示す式である。以下、(式14)に係る制約を「全体時刻指定」と称する。
【0071】
【0072】
(式15)は、車両vの配送件数
【数17】
を平均値N/Vに固定することを示す式である。以下、(式15)に係る制約を「配送件数平準化」と称する。
【0073】
【0074】
(式16)は、積載上限を超える荷物量の配送を禁止することを示す式である。以下、(式16)に係る制約を「荷物量指定」と称する。
【0075】
【0076】
ここで、wsは、配送先sへの荷物量に係る変数である。Cvは、車両vの荷物量の上限である。
【0077】
(式17)は、異なる車両u,v間で最終配送先に訪問した時刻の差を0(ゼロ)にすることを示す式である。以下、(式17)に係る制約を「最終配送時刻平準化」と称する。
【0078】
【0079】
ここで、zv
t∈{0,1}は、車両vが最後の配送先に訪問した時刻tでのみ1となる変数である。xとzの関係を保つため、以下の(式18)の制約項をハミルトニアンに加える。
【0080】
【0081】
ここで、iは配送先、xv
iτは車両vが時刻τで配送先iを訪問する場合に1を示すバイナリ変数である。
【0082】
ここで、
図3を用いて(式18)を説明する。
図3は、(式18)の第1項を説明した図である。
【0083】
図3に示す表は、(式18)の第1項を説明する表である。係数tは最後の配送先で最大となるため、その時刻でz
v
tも1となる。第2項は、最後の配送先に訪問する時刻は1つだけであるという制約に係る項である。
【0084】
上述した、(式13)、(式14)、(式15)、(式16)および(式17)は、制約項としてハミルトニアンに加えることで効果を発揮する。(式13)の全体時刻指定、(式14)の配送時刻指定は(左辺の最小値)=0(ゼロ)となっているため、左辺をハミルトニアンに加えて制約項とすればよい。
【0085】
(式15)の配送件数平準化、(式17)の最終配送時刻平準化は(左辺の最小値)が0(ゼロ)でないとなっているため、左辺を二乗したものをハミルトニアンに加えて制約項とする。(式16)の荷物量指定に示される不等式制約の場合は、スラック変数bv,k∈{0,1}を加えて以下のような制約項を用いる。
【0086】
【0087】
ここで、w
sは配送先sの荷物量、Dはスラック変数のビット数で
【数23】
となるような変数である。これにより、積載上限C
vが制裁量
【数24】
以上のときにその差を吸収し、量子コンピュータ40は意図しない罰則を回避することができる。
【0088】
近年、全ての制約を満たす実行可能解の中からコストが最小となる解を探索するCQM(Constrained Quadratic Models)ソルバが登場している。CQMソルバは、全ての制約を完全に満たす解を探索する。つまり、CQMソルバを用いると、量子コンピュータ40は、全制約をハード制約として扱う。ハード制約とは、量子コンピュータ40が満たすべき制約として扱う制約条件のことである。そのため、量子コンピュータ40は、全制約を満たす実行可能解がそもそも存在しない状況において、実運用上は利用できる解を意図的に出力することができない。このような場合でも、量子コンピュータ40は、追加制約の条件を緩めることでなるべく違反の少ない解を出力できれば、現場でその解を参考に車両台数等のパラメータを変更して計画を再作成することができる。また、量子コンピュータ40は、追加制約によって非効率的な経路を選択せざるを得ない状況においても、条件を緩めることで非常に効率的な解が得られるようになる可能性がある。このような状況を考慮し、CQMソルバを用いて制約条件を外れた解も探索できるよう、追加制約の条件を緩める。つまり、組合せ最適化装置10は、制約条件をソフト制約として扱うか否かを選択する。ソフト制約とは、量子コンピュータ40が制約の逸脱を許容し、その逸脱度合いを制御して扱う制約条件のことである。
【0089】
組合せ最適化装置10は、ソフト制約を実現するために追加制約の条件から少し外れた場合でも許容するように制約を変更する。以下、配送時刻指定を例にソフト制約化について説明する。
【0090】
配送時刻指定のハード制約である(式13)は、等式であるが、これを許容上限Fmaxによって不等式制約の形に書き換えられる。つまり、組合せ最適化装置10は、全ての車両の配送先に関する「指定時刻からの逸脱の合計」に対し、許容の上限を設けることを意味する。
【0091】
【0092】
このように、車両の配送先に関する指定時刻からの逸脱を合計値にすることにより、違反合計は抑えつつ一部の要素が制約を大きく逸脱することで、量子コンピュータ40は、効率的な解を導出する可能性が得られる。(式19)と同様にスラック変数bv,k
(F)を用いて以下のような制約項をハミルトニアンに加えることで、量子コンピュータ40は、効率的な解を導出することができる。
【0093】
(配送時刻指定のソフト制約項)
【0094】
【0095】
ここで、D
Fは
【数27】
となるような数である。ここで、F
maxは罰則の総和の許容限界である。b
v,k
(F)は車両vにおける罰則の総和と、上限F
maxとの差を吸収するスラック変数であり、kはビットインデックスである。(式21)のように、同様の手続きを他のハード制約にも当てはめることで、以下に示すようにハード制約をソフト制約化することができる。
【0096】
(全体時刻指定のソフト制約項)
【0097】
【0098】
ここで、Tmaxは配送の上限時間を超えた罰則の総和の許容限界である。bv,k
(T)は、車両vにおける罰則の総和と、上限Tmaxとの差を吸収するスラック変数である。DTはbv,k
(T)のビット数である。kはビットインデックスである。
【0099】
(配送件数平準化のソフト制約項)
【0100】
【0101】
ここで、Vvは車両vの配送件数における、平均配送件数N/Vからのずれに対する許容範囲である。bv,k
(nl)は、車両vにおける実際の配送件数と、下限(N/V-Vv)との差を吸収するスラック変数である。Dnlはbv,k
(nl)のビット数である。
【0102】
(荷物量指定のソフト制約項)
【0103】
【0104】
ここで、wsは配送先sの荷物の重量である。bv,kは、車両vにおける実際の積載量と、上限Cvとの差を吸収するスラック変数である。Dvはbv,kのビット数である。μvは、車両vにおいて、積載可能上限Cvを超える積載を許容する範囲である。
【0105】
(最終配送時刻平準化のソフト制約項)
【0106】
【0107】
ここで、τは時刻の変数である。z
τ
vは、車両vが時刻τで最後の配送先に到着するとき1を示すバイナリ変数である。z
τ
uは車両uが時刻τで最後の配送先に到着するとき1を示すバイナリ変数である。εは、2つの車両間での最終配送時刻の差の上限である。D
εは、bε
vu,kのビット数である。
【数32】
となるように設定することで、
【数33】
を実現する。これにより、スラック変数を削減する。
【0108】
ここで、配送時刻指定の制約と、全体時刻指定の制約とは、配送に係る時刻を指定する第1制約項である。配送件数平準化の制約と、最終配送時刻平準化の制約とは、車両の作業量を平準化する第2制約項である。
【0109】
組合せ最適化装置10は、コスト関数に第1制約項と第2制約項とを追加したハミルトニアンを量子コンピュータ40に量子計算させる。なお、組合せ最適化装置10は、第1制約項と第2制約項とを追加したハミルトニアンにさらに荷物量指定の制約項を加えて量子コンピュータ40に量子計算させてもよい。
【0110】
(組合せ最適化装置10の処理)
次に、
図4を参照して、組合せ最適化装置の処理を説明する。
図4は、組合せ最適化装置10の処理を示すフローチャートである。
図4のフローチャートに係る各処理は、組合せ最適化装置10によって実行される。
【0111】
組合せ最適化装置10の定式化部13Bは、メモリ12からコスト関数を読み込む(ステップSt100)。
【0112】
組合せ最適化装置10の定式化部13Bは、メモリ12から制約を読み込む(ステップSt101)。
【0113】
組合せ最適化装置10の定式化部13Bは、メモリ12から少なくとも1つの追加制約を読み込む(ステップSt102)。
【0114】
組合せ最適化装置10の制約条件選択部13Cは、定式化部13Bが読み込んだ追加制約がそれぞれハード制約かソフト制約かを選択する(ステップSt103)。制約条件選択部13Cは、ステップSt103の処理で選択した結果を定式化部13Bに出力する。
【0115】
組合せ最適化装置10の定式化部13Bは、ステップSt100の処理で読み込んだコスト関数と、ステップSt101の処理で読み込んだ制約と、ステップSt102の処理で読み込みステップSt103の処理で読み込んだ追加制約と、ステップSt103の処理で制約条件選択部13Cから取得した選択結果とを用いて定式化する(ステップSt104)。定式化部13Bは、ステップSt104の処理で定式化した式をイジングモデル変換部13Dに出力する。
【0116】
組合せ最適化装置10のイジングモデル変換部13Dは、ステップSt104の処理で定式化された式を量子コンピュータ40が利用可能なイジングモデルへと変換する(ステップSt106)。
【0117】
組合せ最適化装置10は、ステップSt106の処理でイジングモデルに変換された式または式に含まれる係数の情報を量子コンピュータ40に出力する。量子コンピュータ40は、組合せ最適化装置10から取得したイジングモデルに変換された式またはその情報を用いて量子計算を実行し、最適解を探索する。量子コンピュータ40は、量子計算の結果を組合せ最適化装置10に出力する(ステップSt106)。
【0118】
組合せ最適化装置10は、ステップSt106の処理で取得した量子計算の結果を表示装置30に出力し表示させる(ステップSt107)。
【0119】
以上の一連の処理により、組合せ最適化装置10は、組合せ最適化問題に対する解を量子コンピュータ40を用いることで導出することができる。
【0120】
<出力例>
次に
図5を参照して、配送先の配置例について説明する。
図5は、配送先の配置例を示す図である。
【0121】
場所STは、配送を開始する拠点である。車両は場所STから配送を開始する。
【0122】
場所D1、場所D2および場所D3は配送先の位置を示す。管理者は、車両が場所STから出発して場所D1、場所D2および場所D3の全てを通って荷物を配送する配送計画を、量子コンピュータ40を用いて作成するというテストケースを考える。以下、場所D1は配送先1、場所D2は配送先2および場所D3は配送先3と称する。
【0123】
次に、
図6および
図7参照して、配送時刻指定の一例を説明する。
図6は、配送時刻指定の第1例を示す図である。
図7は、配送時刻指定の第2例を示す図である。
【0124】
図6および
図7に、配送に係る合計時間を所定の時間間隔で6つのタイムスロットに分割した図を示す。
【0125】
図6に示す配送時刻指定例では、配送先1および配送先2は4番目のタイムスロットでの配送を許容し、配送先3は6番目のタイムスロットでの配送を許容すると仮定する。
図6に示す配送時刻指定では、同時に2か所へ配送する必要があるため、組合せ最適化装置10は、ハード制約を満たす解を量子コンピュータ40から得られない。
図6に示す配送時刻指定例で、追加制約をソフト制約とした場合、組合せ最適化装置10は量子コンピュータから解を得られる。
【0126】
図7に示す配送時刻指定例では、配送先2は3番目と4番目とのタイムスロットでの配送を許容し、配送先1は4番目と5番目とのタイムスロットでの配送を許容し、配送先3は6番目のタイムスロットでの配送を許容するとする。
【0127】
次に、
図8および
図9を参照して、配送経路の一例を説明する。
図8は、配送経路の第1例を示す図である。
図9は、配送経路の第2例を示す図である。
図8および
図9に示す図の縦軸は、位置を示す任意の数値である。
図8および
図9に示す図の横軸は、位置を示す任意の数値である。
【0128】
図8に示すグラフは、
図6,
図7に示した場所ST,D1,D2,D3の位置情報に対応する経路図である。
図8は、
図7に示す配送時刻指定で配送し追加制約をハード制約とする場合に、組合せ最適化装置10が量子コンピュータ40から得られる配送経路の図である。
【0129】
図9に示すグラフは、
図6,
図7に示した場所ST,D1,D2,D3の位置情報に対応する経路図である。
図9は、
図7に示す配送時刻指定で配送し追加制約をソフト制約とする場合、組合せ最適化装置10が量子コンピュータ40から得られる配送経路の図である。
図9に示す配送経路は隣接して配置された場所D2と場所D3とを結ぶ経路が配送経路に含まれ、組合せ最適化装置10は、車両の総移動距離が削減された効率的な経路を量子コンピュータ40から得られる。
【0130】
このように、全制約を満たす解が存在しない場合と、制約のために非効率な経路を量子コンピュータ40が導出してしまう場合において、組合せ最適化装置10が追加制約をソフト制約とすることにより、より効率的な経路を量子コンピュータ40から得られる場合がある。
【0131】
以上、添付図面を参照しながら実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した実施の形態における各構成要素を任意に組み合わせてもよい。
【0132】
(本開示のまとめ)
以上の実施の形態の記載により、下記の技術が開示される。
【0133】
<技術1>
本実施の形態に係る組合せ最適化装置(例えば、組合せ最適化装置10)は、量子コンピュータ(例えば、量子コンピュータ409と通信可能に接続される制御部(例えば、プロセッサ13)を有し、制御部は、複数の車両が複数の配送先を訪問する際のルートを探索するために用いるコスト関数に、配送に係る時刻を指定する第1制約項と、各車両の作業量の平準化する第2制約項とを追加し、第1制約項と第2制約項とを追加したコスト関数を量子コンピュータに量子計算させる。
これにより、本実施の形態に係る組合せ最適化装置は、第1制約項と第2制約項との追加することで全制約を満たした現実的な配送計画問題の要件を満たした解を導出することができる。つまり、組合せ最適化装置は、量子コンピュータを用いてより現実で利用可能な配送計画を生成することができる。
【0134】
<技術2>
技術1に記載の組合せ最適化装置において、制御部は、第1制約項と第2制約項とのうち、量子コンピュータが量子計算する際に満たさなければならない項目であるハード制約と、制約の逸脱度合いの指定可能な項目であるソフト制約と、を選択する。
これにより、本実施の形態に係る組合せ最適化装置は、ハード制約とソフト制約とを選択可能とすることで全制約を満たす実行可能解が存在しない場合でも効率的な解を導出することができる。
【0135】
<技術3>
技術1または技術2に記載の組合せ最適化装置において、第1制約項は、指定された時刻での配送を指定する制約に係る項目である。
これにより、本実施の形態に係る組合せ最適化装置は、指定された時刻での配送を指定する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0136】
<技術4>
技術1から技術3のいずれか1つに記載の組合せ最適化装置において、第1制約項は、
【数34】
であり、Vは車両の台数、Nは配送件数、Tは時間スロット数、F
stは配送先sの配送可能時刻に関する関数、x
v
stは車両vが時刻tで配送先sを訪問する場合に1を示すバイナリ変数、F
maxはペナルティの総和の許容限界、b
v,k
(F)は車両vにおけるペナルティの総和と上限F
maxとの差を吸収するスラック変数、D
Fはb
v,k
(F)のビット数、およびkはビットインデックスである。
これにより、本実施の形態に係る組合せ最適化装置は、指定された時刻での配送を指定する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0137】
<技術5>
技術1から技術4のいずれか1つに記載の組合せ最適化装置において、第1制約項は、配送作業が終わる時刻以降の配送を制限する制約に係る項目である。
これにより、本実施の形態に係る組合せ最適化装置は、配送作業が終わる時刻以降の配送を制限する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0138】
<技術6>
技術1から技術5のいずれか1つに記載の組合せ最適化装置において、第1制約項は、
【数35】
であり、Vは車両の台数、Nは配送件数、Tは時間スロット数、T
tは配送時刻に関する関数、x
v
stは車両vが時刻tで配送先sを訪問する場合に1を示すバイナリ変数、T
maxは上限時間を超えたペナルティの総和の許容限界、b
v,k
(T)は車両vにおけるペナルティの総和と上限T
maxとの差を吸収するスラック関数、D
Tはb
v,k
(T)のビット数、およびkはビットインデックスである。
これにより、本実施の形態に係る組合せ最適化装置は、配送作業が終わる時刻以降の配送を制限する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0139】
<技術7>
技術1から技術6のいずれか1つに記載の組合せ最適化装置において、第2制約項は、車両の配送件数を、全配送件数を全車両の数で割った値である平均値に指定する制約に係る項目である。
これにより、本実施の形態に係る組合せ最適化装置は、車両の配送件数を、全配送件数を全車両の数で割った値である平均値に指定する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0140】
<技術8>
技術1から技術7のいずれか1つに記載の組合せ最適化装置において、第2制約項は、
【数36】
であり、Vは車両の台数、Nは配送件数、Tは時間スロット数、V
vは車両vの配送件数における平均配送件数N/Vからのずれに対する許容範囲、x
v
stは車両vが時刻tで配送先sを訪問する場合に1を示すバイナリ変数、b
v,k
(nl)は車両vにおける実際の配送件数と下限(N/V-V
v)との差を吸収するスラック変数、D
nlはb
v,k
(nl)のビット数、およびkはビットインデックスである。
これにより、本実施の形態に係る組合せ最適化装置は、車両の配送件数を、全配送件数を全車両の数で割った値である平均値に指定する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0141】
<技術9>
技術1から技術8のいずれか1つに記載の組合せ最適化装置において、第2制約項は、異なる車両間で最終配送先に訪問した時刻の差をゼロに指定する制約に係る項目である。
これにより、本実施の形態に係る組合せ最適化装置は、異なる車両間で最終配送先に訪問した時刻の差をゼロに指定する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【0142】
<技術10>
技術1から技術9のいずれか1つに記載の組合せ最適化装置において、第2制約項は、
【数37】
であり、Vは車両の台数、Nは配送件数、Tは時間スロット数、iは配送先、x
v
iτは車両vが時刻τで配送先iを訪問する場合に1を示すバイナリ変数、τは時刻の変数、z
τ
vは車両vが時刻τで最後の配送先に到着するとき1を示すバイナリ変数、z
τ
uは車両uが時刻τで最後の配送先に到着するとき1を示すバイナリ変数、εは2つの車両間での配送件数の差の上限であるおよびkはビットインデックス、D
εはbε
vu,kのビット数である。
これにより、本実施の形態に係る組合せ最適化装置は、異なる車両間で最終配送先に訪問した時刻の差をゼロに指定する制約を追加してより現実的な状況に即した配送計画問題の解を導出することができる。
【産業上の利用可能性】
【0143】
本開示の技術は、量子コンピュータを用いてより現実で利用可能な配送計画を生成する組合せ最適化装置、組合せ最適化計算方法、コンピュータプログラムとして有用である。
【符号の説明】
【0144】
10 組合せ最適化装置
11 通信I/F
12 メモリ
13 プロセッサ
13A 入出力制御部
13B 定式化部
13C 制約条件選択部
13D イジングモデル変換部
20 入出力装置
40 量子コンピュータ
NW ネットワーク
ST,D1,D2,D3 場所