(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025006617
(43)【公開日】2025-01-17
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06Q 10/047 20230101AFI20250109BHJP
G06Q 10/083 20240101ALI20250109BHJP
【FI】
G06Q10/047
G06Q10/083
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023107518
(22)【出願日】2023-06-29
(71)【出願人】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】柴田 将
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA04
5L010AA16
5L049AA04
5L049AA16
(57)【要約】
【課題】 実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供する。
【解決手段】 情報処理装置は、配送拠点ごとに、移動体が配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する生成部と、配送拠点ごとに、当該配送拠点に設定された複数の第一の配送経路候補の中から、配送拠点から発着する移動体の数分だけ、第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する選択部と、選択した第二の配送経路候補ごとに、配送先を、第二の配送経路候補と配送先の近さに基づいて分類し、移動体ごとの配送先グループを生成する分類部と、配送先グループごとに、配送先グループ内の全ての配送先を漏れなく巡回する配送経路を決定する決定部と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
配送拠点ごとに、移動体が前記配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する生成手段と、
前記配送拠点ごとに、当該配送拠点に設定された複数の前記第一の配送経路候補の中から、前記配送拠点から発着する移動体の数分だけ、前記第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する選択手段と、
選択した前記第二の配送経路候補ごとに、前記配送先を、前記第二の配送経路候補と前記配送先の近さに基づいて分類し、前記移動体ごとの配送先グループを生成する分類手段と、
前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する配送経路を決定する決定手段と、
を有する情報処理装置。
【請求項2】
前記選択手段は、QUBO(Quadratic Unconstrained Binary Optimization)ソルバーを利用して、前記第二の配送経路候補を選択する、
請求項1に記載の情報処理装置。
【請求項3】
前記QUBOソルバーに入力するハミルトニアンは、複数の前記第一の配送経路候補の中から前記移動体の数分の前記第二の配送経路候補を選択するための制約条件と、なるべく多くの前記配送先に近い前記第一の配送経路候補を採用するための目的関数と、から構成されている、
請求項2に記載の情報処理装置。
【請求項4】
前記制約条件Constr
1は数1により表され、
【数1】
x
c :前記第一の配送経路候補それぞれを表す決定変数
c :前記第一の配送経路候補の番号
C
R :複数の前記第一の配送経路候補
N
V :前記移動体の数
前記目的関数obj1′は数2により表される、
【数2】
x
c1、x
c2:選択する前記第一の配送経路候補を表す決定変数
w
c、v
c,k:Factorization Machineの学習で決まるモデルパラメータ
K :Factorization size(ハイパーパラメータ)
請求項3に記載の情報処理装置。
【請求項5】
前記第一の配送経路候補は、前記移動体が前記配送拠点を出発し、所定位置に着くと、同じ経路で前記配送拠点に戻る直線型経路である、
請求項1に記載の情報処理装置。
【請求項6】
前記分類手段は、選択した前記第二の配送経路候補ごとに、前記配送先と前記第二の配送経路候補との距離を算出し、算出した前記距離が最も短い前記第二の配送経路候補と前記配送先とを関連付け、前記第二の配送経路候補ごとの前記配送先グループを生成する、
請求項1に記載の情報処理装置。
【請求項7】
前記決定手段は、前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する前記配送経路を、巡回セールスマン問題を用いて決定する、
請求項1に記載の情報処理装置。
【請求項8】
前記巡回セールスマン問題は、QUBOソルバーを利用して解く、
請求項7に記載の情報処理装置。
【請求項9】
情報処理装置が、
配送拠点ごとに、移動体が前記配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成し、
前記配送拠点ごとに、当該配送拠点に設定された複数の前記第一の配送経路候補の中から、前記配送拠点から発着する移動体の数分だけ、前記第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択し、
選択した前記第二の配送経路候補ごとに、前記配送先を、前記第二の配送経路候補と前記配送先の近さに基づいて分類し、前記移動体ごとの配送先グループを生成し、
前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する配送経路を決定する、
情報処理方法。
【請求項10】
コンピュータに、
配送拠点ごとに、移動体が前記配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成させ、
前記配送拠点ごとに、当該配送拠点に設定された複数の前記第一の配送経路候補の中から、前記配送拠点から発着する移動体の数分だけ、前記第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択させ、
選択した前記第二の配送経路候補ごとに、前記配送先を、前記第二の配送経路候補と前記配送先の近さに基づいて分類させ、前記移動体ごとの配送先グループを生成させる、
前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する配送経路を決定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、配送経路を生成する情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
MDVRP(Multi Depots Vehicle Routing Problem)の解法として、クラスタリング手法を用いて近似解法を求める方法が知られている。MDVRPとは、複数の配送拠点から複数の配送先へ、複数の車両で荷物を配送する経路を計画する問題である。
【0003】
関連する技術として特許文献1には、量子コンピュータを活用して、複数の移動体が手分けして複数の訪問地を辿る場合の各移動体の望ましい移動経路を導出する経路導出システムが開示されている。特許文献1の経路導出システムが有する古典コンピュータ部は、複数の移動体が手分けして複数の訪問地を辿る場合の各移動体の暫定的な移動経路を導出する。また、古典コンピュータ部は、複数の移動体の暫定的な移動経路のそれぞれを、各移動体の移動コストが最小になるよう最適化するための求解処理をイジングマシンに実行させる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のようなクラスタリング手法では、MDVRPで決定したい複数の要素のうちの一部の要素だけを考慮している。例えば、MDVRPで決定したい要素としては、(1)どの車両をどの配送センターから発着させるか、(2)どの車両でどの配送先へ配送するか、(3)各配送先を何番目に配送するのか、などである。
【0006】
したがって、従来のようなクラスタリング手法を用いて求めた解(配送経路)は、実際のMDVRPの最適解(最適な配送経路)から大きく乖離する。
【0007】
本開示の目的の一例は、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本開示の一側面における情報処理装置は、
配送拠点ごとに、移動体が前記配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する生成部と、
前記配送拠点ごとに、当該配送拠点に設定された複数の前記第一の配送経路候補の中から、前記配送拠点から発着する移動体の数分だけ、前記第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する選択部と、
選択した前記第二の配送経路候補ごとに、前記配送先を、前記第二の配送経路候補と前記配送先の近さに基づいて分類し、前記移動体ごとの配送先グループを生成する分類部と、
前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する配送経路を決定する決定部と、
を有することを特徴とする。
【0009】
また、上記目的を達成するため、本開示の一側面における情報処理方法は、
配送拠点ごとに、移動体が前記配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成し、
前記配送拠点ごとに、当該配送拠点に設定された複数の前記第一の配送経路候補の中から、前記配送拠点から発着する移動体の数分だけ、前記第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択し、
選択した前記第二の配送経路候補ごとに、前記配送先を、前記第二の配送経路候補と前記配送先の近さに基づいて分類し、前記移動体ごとの配送先グループを生成し、
前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する配送経路を決定する、
ことを特徴とする。
【0010】
さらに、上記目的を達成するため、本開示の一側面におけるプログラムは、
配送拠点ごとに、移動体が前記配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成させ、
前記配送拠点ごとに、当該配送拠点に設定された複数の前記第一の配送経路候補の中から、前記配送拠点から発着する移動体の数分だけ、前記第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択させ、
選択した前記第二の配送経路候補ごとに、前記配送先を、前記第二の配送経路候補と前記配送先の近さに基づいて分類させ、前記移動体ごとの配送先グループを生成させ、
前記配送先グループごとに、前記配送先グループ内の全ての前記配送先を漏れなく巡回する配送経路を決定させる、
ことを特徴とする。
【発明の効果】
【0011】
以上のように本開示によれば、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、配送経路の最適化の一例を説明するための図である。
【
図2】
図2は、情報処理装置の一例を説明するための図である。
【
図3】
図3は、情報処理装置を有するシステムの一例を説明するための図である。
【
図4】
図4は、第一の配送経路候補の一例を説明するための図である。
【
図5】
図5は、複数の配送拠点がある場合の第一の配送経路候補の一例を説明するための図である。
【
図6】
図6は、一つの第二の配送経路候補を選択する場合のスコアの一例を説明するための図である。
【
図7】
図7は、二つの第二の配送経路候補を選択する場合のスコアと目的関数の戻り値の一例を説明するための図である。
【
図8】
図8は、配送先グループの生成の一例を説明するための図である。
【
図9】
図9は、決定変数と演算結果の一例を説明するための図である。
【
図10】
図10は、情報処理装置の動作の一例を説明するための図である。
【
図11】
図11は、二つの第二の配送経路候補を選択する場合のスコアと目的関数の戻り値の一例を説明するための図である。
【
図12】
図12は、実施形態における情報処理装置を実現するコンピュータの一例を説明するための図である。
【発明を実施するための形態】
【0013】
はじめに、以降で説明する実施形態の理解を容易にするために概要を説明する。
図1は、配送経路の最適化の一例を説明するための図である。
図1の例では、四つのステップを用いて配送経路を最適化している。また、
図1における星印(★)は、配送のための配送拠点(デポ)を表し、黒丸(●)は、配送先を表している。さらに、破線は、配送拠点から発着する配送経路候補を表している。なお、
図1の例では、移動体が三つあるものとする。移動体は、例えば、車両、航空機、船舶などである。
【0014】
ステップ1(生成処理)では、
図1のAに示すように、配送拠点を出発して当該配送拠点に戻る移動体のおおまかな経路(第一の配送経路候補:破線)を生成する。
【0015】
ステップ2(選択処理)では、
図1のBに示すように、第一の配送経路候補の中から、配送拠点(又は移動体)ごとに対応する第二の配送経路候補を選択する。具体的には、三つの移動体それぞれについて、第二の配送経路候補(実線太線(1)(2)(3))を選択する。
【0016】
ステップ3(分類処理)では、
図1のCに示すように、第二の配送経路候補に基づいて配送先を分類する。具体的には、第二の配送経路候補を表す実線太線(1)(2)(3)に、最も近い配送先を割り当て、配送先を分類(グループ化)して配送先グループ(クラスタ:実線範囲)を生成する。
【0017】
ステップ4(決定処理)では、
図1のDに示すように、配送先グループ(クラスタ)ごとに、移動体が、配送先グループ内の全ての配送先を漏れなく巡回する配送経路を決定する。具体的には、配送先グループごとに、巡回セールスマン問題を解き、配送経路を決定する。
【0018】
上述したステップ1から4の処理により、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供することができる。
【0019】
次に、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0020】
(実施形態)
図2を用いて、実施形態における配送経路を生成する情報処理装置(経路生成装置)の構成について説明する。
図2は、情報処理装置の一例を説明するための図である。
【0021】
[装置構成]
図2に示す情報処理装置は、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供する装置である。また、
図2に示すように、情報処理装置10は、生成部11と、選択部12と、分類部13と、決定部14とを有する。
【0022】
生成部11は、配送拠点ごとに、移動体が配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する。
【0023】
選択部12は、配送拠点ごとに、当該配送拠点に設定された複数の第一の配送経路候補の中から、配送拠点から発着する移動体の数分だけ、第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する。
【0024】
分類部13は、選択した第二の配送経路候補ごとに、配送先を、第二の配送経路候補と配送先との近さに基づいて分類し、移動体ごとの配送先グループを生成する。
【0025】
決定部14は、配送先グループごとに、配送先グループ内の全ての配送先を漏れなく巡回する配送経路を決定する。
【0026】
このように、実施形態においては、配送拠点ごとに設定した複数の第一の配送経路候補の中から第二の配送経路候補を選択し、第二の配送経路候補を用いて配送先を分類し、分類した配送先グループごとに配送経路を決定するので、従来よりも、MDVRPで決定したい要素を考慮できる。その結果、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供することができる。
【0027】
[システム構成]
続いて、
図3を用いて、実施形態における情報処理装置10の構成をより具体的に説明する。
図3は、情報処理装置を有するシステムの一例を説明するための図である。
【0028】
図3に示すシステム100 は、情報処理装置10と、量子コンピュータ20と、端末装置30と、出力装置40とを有している。また、情報処理装置10と、量子コンピュータ20と、端末装置30と、出力装置40とは、ネットワークにより接続されている。
【0029】
ネットワークは、例えば、インターネット、LAN(Local Area Network)、専用回線、電話回線、企業内ネットワーク、移動体通信網、ブルートゥース(登録商標)、Wi-Fi(Wireless Fidelity)(登録商標)などの通信回線を用いて構築された一般的なネットワークである。
【0030】
情報処理装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又はGPU(Graphics Processing Unit)、又はそれらのうちのいずれか一つ以上を搭載した回路、サーバコンピュータなどの情報処理装置である。
【0031】
量子コンピュータ20は、組み合わせ最適化問題を解くためのハードウェアである。組み合わせ最適化問題は、例えば、QUBO(Quadratic Unconstrained Binary Optimization)ソルバーを利用して解く。QUBOソルバーには、例えば、量子アニーリング、疑似量子アニーリングなどがある。
【0032】
端末装置30は、例えば、CPU、又はFPGAなどのプログラマブルなデバイス、又はGPU、又はそれらのうちのいずれか一つ以上を搭載した回路、パーソナルコンピュータ、モバイル端末などの情報処理装置である。
【0033】
出力装置40は、出力可能な形式に変換された、後述する出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。出力装置40は、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。さらに、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力装置40は、プリンタなどの印刷装置でもよい。
【0034】
情報処理装置10の詳細について説明する。
情報処理装置10は、生成部11と、選択部12と、分類部13と、決定部14と、出力情報生成部15とを有する。
【0035】
生成部11(生成処理)は、まず、記憶装置(不図示)に記憶されている配送情報を取得する。配送情報は、少なくとも、配送拠点の位置座標を表す配送拠点位置座標情報と、配送先の位置座標を表す配送先位置座標情報と、移動体の数を表す移動体情報と有する。また、配送情報は、配送拠点と配送先との距離を表す配送拠点・配送先距離情報と、配送先間の距離を表す配送先間距離情報とを有してもよい。
【0036】
なお、配送拠点と配送先との距離は、配送拠点の位置座標と配送先の位置座標とを用いて算出してもよい。配送先間の距離は、配送先の位置座標を用いて算出してもよい。配送拠点・移動体関連情報には、例えば、配送拠点から発着する移動体の数を表す情報などが含まれている。また、配送情報には、配送拠点と移動体の関連付けを表す配送拠点・移動体関連情報を含めてもよい。
【0037】
次に、生成部11は、配送拠点位置座標情報と配送先位置座標情報とを用いて、配送拠点ごとに、あらかじめ設定した数の移動体が配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する。
【0038】
図1のAの例には、配送拠点(★)を中心に放射線状に複数の直線型経路(破線)を生成した例が示されている。直線型経路は、移動体が配送拠点(★)を出発し、所定位置に着くと、同じ経路で配送拠点(★)に戻るという経路である。
【0039】
また、第一の配送経路候補は、上述した直線型経路に限定されるものではない。なお、第一の配送経路候補の形状は、例えば、三角形、円形、楕円形などの形状でもよい。
図4は、第一の配送経路候補の一例を説明するための図である。
図4のAは、三角形型経路の第一の配送経路候補を表している。
図4のBは、円形型経路の第一の配送経路候補を表している。なお、第一の配送経路候補の経路長は、同程度の長さにすることが好適である。なお、
図4の例では、単純な図形を用いた例を示したが、実際の道路、地形、現在の状況を加味した経路を用いてもよい。
【0040】
また、
図5に示すように、複数の配送拠点(★)それぞれに対して、複数の第一の配送経路候補を設定してもよい。
図5は、複数の配送拠点がある場合の第一の配送経路候補の一例を説明するための図である。
図5の例では、二つの配送拠点(★)それぞれに、複数の第一の配送経路候補c1からc10が設定されている。なお、
図5の例では、第一の配送経路候補c1からc10を表す決定変数xc(x
1からx
10、x
11からx
20:破線)を示されている。
【0041】
選択部12(選択処理)は、まず、配送拠点・移動体関連情報を用いて、配送拠点から発着する移動体の数を検出する。次に、選択部12は、配送拠点ごとに、当該配送拠点の複数の第一の配送経路候補の中から、第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する。
【0042】
選択処理は、例えば、QUBOソルバーなどを利用して、第二の配送経路候補を選択する。QUBOソルバーとしては、量子アニーリング、疑似量子アニーリングなどを利用する。QUBOソルバーに入力するハミルトニアンH1を数1に示す。
【0043】
【0044】
数1に示したハミルトニアンH1を構成する、Constr1は制約条件を表し、obj1′は目的関数を表している。なお、αは重みパラメータ(正の定数)を表している。αは、例えば、実験、シミュレーションなどにより決定する。
【0045】
制約条件Constr1は、複数の第一の配送経路候補の中から移動体の数分の第二の配送経路候補を選択するための条件を表している。制約条件Constr1は、数2のように表すことができる。
【0046】
【0047】
xcは、第一の配送経路候補それぞれを表す決定変数である。cは、第一の配送経路候補の番号を表す正の整数を表している。決定変数xcは、第一の配送経路候補を選択する場合は「1」となり、選択しない場合は「0」となる二値変数である。CRは、複数の第一の配送経路候補(第一の配送経路候補集合)を表している。NVは、移動体の数を表している。
【0048】
目的関数obj1′は、なるべく多くの配送先に近い第一の配送経路候補を採用する関数である。また、目的関数obj1′は、なるべく多くの配送先のスコアを平均的に高くする関数ともいえる。なお、目的関数obj1′は、数3に示す目的関数obj1を、FM(Factorization Machine)と呼ばれる機械学習技術を用いて近似した代理関数である。
【0049】
【0050】
代理関数を用いる理由は、目的関数obj1は、決定変数xcのCR乗の項を含む高次式であり、一般的に最適化が困難な数式だからである。
【0051】
目的関数obj1のDは、配送先dの集合を表している。また、目的関数obj1のスコア関数S(c,d)は、選択された第一の配送経路候補cごとに、配送先dそれぞれに対して付与されるスコアを返す関数である。
【0052】
スコアは、第一の配送経路候補cと配送先dに対する0≦S(c,d)≦1を満たす関数である。また、第一の配送経路候補cと配送先dとの距離が近い程、スコアは1に近づく。
【0053】
図6は、一つの第二の配送経路候補を選択する場合のスコアの一例を説明するための図である。
図6のAでは、一つの配送拠点(★)と、三つの第一の配送経路候補(直線型経路)c1、c2、c3と、五つの配送先d1、d2、d3、d4、d5(●)が示されている。そして、第一の配送経路候補c1、c2、c3それぞれについて、配送先d1からd5のスコアを算出すると、
図6のBに示すような結果を得ることができる。
【0054】
図6のBでは、第一の配送経路候補c1、c2、c3それぞれに対する配送先のスコアが示されている。第一の配送経路候補c1の場合、配送先d2からd5のスコアは、あらかじめ設定されたスコアより高いので、配送先d2からd5は第一の配送経路候補c1の近くにあると判定できる。また、第一の配送経路候補c2の場合、配送先d1、d5のスコアは、あらかじめ設定されたスコアより高いので、配送先d1、d5は第一の配送経路候補c2の近くにあると判定できる。さらに、第一の配送経路候補c3の場合、配送先d1からd5のスコアは、あらかじめ設定されたスコアより低いので、配送先d1からd5は第一の配送経路候補c3の近くにないと判定できる。
【0055】
上述したように、スコア関数S(c,d)は、0≦S(c,d)≦1を満たす関数であるので、数4に示す目的関数obj1のF1も、0≦F1≦1を満たす関数となる。
【0056】
【0057】
次に、
図6のAの例において、目的関数obj
1を用いて、二つの第二の配送経路候補を選択する場合について説明する。
図7は、二つの第二の配送経路候補を選択する場合のスコアと目的関数の戻り値の一例を説明するための図である。
図7の例では、第一の配送経路候補(c1,c2)に対応する目的関数obj
1の戻り値(-4.50)が最も小さいので、第二の配送経路候補としてc1とc2を選択する。
【0058】
次に、目的関数obj1を目的関数obj1′にFMを用いて変換する方法について説明する。FMは、教師あり学習と呼ばれる学習アルゴリズムの一種である。なお、FMについては、次の参考文献[1]から[3]を参照されたい。
【0059】
[1] Steffen Rendle,“Factorization Machines”,[online],2010年12月13~17日,IEEE International Conference on Data Mining,[2023年06月09日検索],インターネット<URL:https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf>
【0060】
[2] Koki Kitai, Jiang Guo, Shenghong Ju, Shu Tanaka, Koji Tsuda, Junichiro Shiomi, and Ryo Tamura,“Designing metamaterials with quantum annealing and factorization machines”,[online],2020年03月16日,PHYSICAL REVIEW RESEARCH Volume 2, Issue 1,[2023年06月09日検索],インターネット<URL:https://journals.aps.org/prresearch/pdf/10.1103/PhysRevResearch.2.013319>
【0061】
[3] 田中 宗, 山下 将司, 関 優也,“アニーリングマシンによるブラックボックス最適化”,[online],2022年,日本神経回路学会誌 29巻 4号 p.164-173,[2023年06月09日検索],インターネット<URL:https://www.jstage.jst.go.jp/article/jnns/29/4/29_164/_pdf>
【0062】
複数の第一の配送経路候補から第二の配送経路候補を選択する場合の目的関数obj1′を、数5に示す。
【0063】
【0064】
なお、数5におけるwc、vc,kは、FMを用いた学習によって決定されるモデルパラメータである。Kは、Factorization size(ハイパーパラメータ)を表している。xc1、xc2は、選択する第一の配送経路候補を表す決定変数である。数3に示した目的関数obj1は、決定変数xcの高次式を含むが、数5では任意の二つの配送経路候補を表す変数の積の和に近似されており、最適化が可能な数式になっている。
【0065】
複数の第一の配送経路候補から第二の配送経路候補を選択する場合にQUBOソルバーに入力するハミルトニアンH1を、数6に示す。
【0066】
【0067】
選択部12は、ハミルトニアンH1をQUBOソルバーに入力すると、QUBOソルバーから量子コンピュータ20の演算結果を取得する。演算結果には、決定変数xcそれぞれに対する値(「0」又は「1」)が返される。その後、選択部12は、決定変数xcの値が「1」の第一の配送経路候補を第二の配送経路候補とする。
【0068】
図5の例では、決定変数x
2、x
16、x
17の値が「1」になり、
図1のBに示したように第二の配送経路候補(1)(2)(3)が選択される。
【0069】
分類部13(分類処理)は、選択した第二の配送経路候補ごとに、配送先と第二の配送経路候補との距離を算出し、算出した距離が最も短い第二の配送経路候補と配送先とを関連付けし、第二の配送経路候補ごとの配送先グループを生成する。
【0070】
図8は、配送先グループの生成の一例を説明するための図である。
図8の例では、
図8のAに示すように第二の配送経路候補(1)(2)(3)それぞれについて、第二の配送経路候補に近い配送先を選択し、
図8のBに示すような三つの配送先グループを生成する。
【0071】
なお、分類処理は上述した分類方法に限定されるものではなく、配送先を、第二の配送経路候補に基づいて分類できる処理であればよい。したがって、分類処理のためのハミルトニアンを構築し、QUBOソルバーなどを利用して分類してもよい。
【0072】
決定部14(決定処理)は、配送先グループごとに、配送先グループ内の全ての配送先を漏れなく巡回する配送経路を、例えば、TSP(巡回セールスマン問題)などを用いて決定する。具体的には、巡回セールスマン問題に対する解法は様々な方法が知られているため、基本的には既存手法を活用すればよい。
【0073】
ここでは、巡回セールスマン問題を、QUBOソルバーを用いて解く方法について説明する。具体的には、決定部14は、数7に示すハミルトニアンH2をQUBOソルバーへ入力して巡回セールスマン問題を解くものとする。
【0074】
【0075】
数7に示したハミルトニアンH2を構成する、Constr2、Constr3は制約条件を表し、obj2は目的関数を表している。なお、β、γは重みパラメータ(正の定数)を表している。β、γは、例えば、実験、シミュレーションなどにより決定する。
【0076】
数8に示した制約条件Constr2は、配送先dは一度だけ訪問できるという条件を表している。制約条件Constr2は、数8のように表すことができる。
【0077】
【0078】
xi,dは、i番目に配送先dを訪問する場合は「1」、訪問しない場合は「0」となる二値変数である。Dcは、配送先グループ(クラスタc)を表している。NDcは、クラスタcの配送先dの数を表している。
【0079】
数9に示した制約条件Constr3は、一度に訪問できる配送先dは一つだけという条件を表している。
【0080】
【0081】
目的関数obj2は、配送距離の短い経路を採用する関数である。目的関数obj2は、数10のように表すことができる。
【0082】
【0083】
目的関数obj2のF2は、配送拠点Pから一番目の配送先までの距離を表している。F3は、配送先間の距離(i番目とi+1番目の配送先間距離の総和)を表している。F4は、最後の配送先から配送拠点Pまでの距離を表している。d1、d2は任意の配送先を表している。
【0084】
決定部14は、ハミルトニアンH
2をQUBOソルバーに入力すると、QUBOソルバーから量子コンピュータ20の演算結果を取得する。
図9は、決定変数と演算結果の一例を説明するための図である。
【0085】
図9のAは、決定変数の一例を示している。
図9のAの例では、横軸(i)に配送先を訪問する順番を示す「1」「2」「3」「4」「5」・・・、縦軸(Dst=d)に配送先を表す「Dst
1」「Dst
2」「Dst
3」「Dst
4」「Dst
5」・・・が示されている。また、決定変数はx
i,dの形式で示されている。
【0086】
図9のBは、演算結果の一例を示している。
図9のBの例では、決定変数x
i,dが「1」の配送先を、Dst
2、Dst
1、Dst
4、Dst
5、Dst
3・・・の順番で訪問することが示されている。なお、横軸方向の決定変数x
i,dの総和、及び、縦軸方向の決定変数x
i,dの総和は「1」となる。
【0087】
上述したように訪問の順番を決定することで、
図8のB(
図1のC)における三つの配送先グループそれぞれについて、
図1のDに示すような、全ての配送先を漏れなく巡回する配送経路が決定できる。
【0088】
出力情報部15は、例えば、
図1のAに示した第一の配送経路候補の表示、
図1のBに示した第二の配送経路候補の表示、
図1のCに示した配送先グループの表示、
図1のDに示した配送先グループごとの配送経路の表示などを、出力装置40に出力させるための出力情報を生成する。
【0089】
また、出力情報部15は、配送拠点の数、移動体の数、配送先の数、ステップ1からステップ4の処理時間、移動体毎の配送先の数、配送先の訪問順序、配送経路の距離、配送の所要時間などを、出力装置40に出力させるための出力情報を生成してもよい。
【0090】
[装置動作]
次に、実施形態における情報処理装置の動作について
図10を用いて説明する。
図10は、情報処理装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参照する。また、実施形態では、情報処理装置を動作させることによって、情報処理方法が実施される。よって、実施形態における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【0091】
図10に示すように、まず、生成部11(生成処理)は、配送拠点ごとに、移動体が配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する(ステップA1)。
【0092】
具体的には、ステップA1において、生成部11は、まず、記憶装置(不図示)に記憶されている配送情報を取得する。次に、ステップA1において、生成部11は、配送拠点位置座標情報と配送先位置座標情報とを用いて、配送拠点ごとに、あらかじめ設定した数の移動体が配送拠点を出発して当該配送拠点に戻る複数の第一の配送経路候補を生成する。
【0093】
次に、選択部12(選択処理)は、配送拠点ごとに、当該配送拠点に設定された複数の第一の配送経路候補の中から、配送拠点から発着する移動体の数分だけ、第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する(ステップA2)。
【0094】
具体的には、ステップA2において、選択部12は、まず、配送拠点・移動体関連情報を用いて、配送拠点から発着する移動体の数を検出する。次に、ステップA2において、選択部12は、配送拠点ごとに、当該配送拠点の複数の第一の配送経路候補の中から、第一の配送経路候補の近くに多くの配送先がある第二の配送経路候補を選択する。
【0095】
例えば、選択部12は、上述したようにハミルトニアンH1をQUBOソルバーに入力し、QUBOソルバーから量子コンピュータ20の演算結果を取得し、決定変数xcの値が「1」の第一の配送経路候補を第二の配送経路候補とする。
【0096】
次に、分類部13(分類処理)は、選択した第二の配送経路候補ごとに、配送先を、第二の配送経路候補と配送先との近さに基づいて分類し、移動体ごとの配送先グループを生成する(ステップA3)。
【0097】
具体的には、ステップA3において、分類部13は、選択した第二の配送経路候補ごとに、配送先と第二の配送経路候補との距離を算出し、算出した距離が最も短い第二の配送経路候補に配送先を関連付ける分類処理を実行し、第二の配送経路候補(移動体)ごとの配送先グループを生成する。
【0098】
次に、決定部14(決定処理)は、配送先グループごとに、配送先グループ内の全ての配送先を漏れなく巡回する配送経路を決定する(ステップA4)。
【0099】
具体的には、ステップA4において、決定部14は、配送先グループごとに、配送先グループ内の全ての配送先を漏れなく巡回する配送経路を、例えば、TSP(巡回セールスマン問題)などを用いて決定する。具体的には、巡回セールスマン問題に対する解法は様々な方法が知られているため、基本的には既存手法を活用すればよい。
【0100】
次に、出力情報部15は、例えば、
図1のAに示した第一の配送経路候補の表示、
図1のBに示した第二の配送経路候補の表示、
図1のCに示した配送先グループの表示、
図1のDに示した配送先グループごとの配送経路の表示などを、出力装置40に出力させるための出力情報を生成する(ステップA5)。
【0101】
また、ステップA5において、出力情報部15は、配送拠点の数、移動体の数、配送先の数、ステップ1からステップ4の処理時間、移動体毎の配送先の数、配送先の訪問順序、配送経路の距離、配送の所要時間などを、出力装置40に出力させるための出力情報を生成してもよい。
【0102】
[実施形態の効果]
以上のように実施形態によれば、配送拠点ごとに設定した複数の第一の配送経路候補の中から第二の配送経路候補を選択し、第二の配送経路候補を用いて配送先を分類し、分類した配送先グループごとに配送経路を決定するので、従来よりも、MDVRPで決定したい要素を考慮できる。その結果、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供することができる。
【0103】
(変形例1)
変形例1では、配送拠点ごとに、移動体の数があらかじめ決まっている場合、ハミルトニアンH1の制約条件Constr1を、数11に置き換える。なお、Nv,pは、配送拠点pの移動体の数を表し、cr、pは、配送拠点p発着の第一の配送経路候補集合である。
【0104】
【0105】
(変形例2)
変形例2では、選択部12(選択処理)において、目的関数obj1を、数12に示す目的関数obj11に変更する。目的関数obj11は、すべての第一の配送経路候補cそれぞれについてスコア関数S(c,d)xcを算出し、その中の最大値を返却するmax関数である。
【0106】
【0107】
図11は、二つの第二の配送経路候補を選択する場合のスコアと目的関数の戻り値の一例を説明するための図である。
図11の例では、
図6のAにおいて、第一の配送経路候補(c1,c2)に対応する目的関数obj
11の戻り値(-4.15)が最も小さいので、第二の配送経路候補としてc1とc2を選択する。
【0108】
次に、ハミルトニアンには、数12に示した目的関数obj11を、Factorization Machine(FM)と呼ばれる機械学習技術を用いて近似した代理関数(目的関数)obj11′を用いる。
【0109】
また、選択部12は、変形例1においても、QUBOソルバーなどを利用して、第二の配送経路候補を選択する。QUBOソルバーとしては、量子アニーリング、疑似量子アニーリングなどを利用する。QUBOソルバーに入力するハミルトニアンH11を数13に示す。
【0110】
【0111】
複数の第一の配送経路候補から第二の配送経路候補を選択する場合の目的関数obj
11′を、数14に示す。
【数14】
【0112】
なお、数14におけるwc、vc,kは、FMを用いた学習によって決定されるモデルパラメータである。Kは、Factorization size(ハイパーパラメータ)を表している。xc1、xc2は、選択する第一の配送経路候補を表す決定変数である。
【0113】
選択部12は、ハミルトニアンH11をQUBOソルバーに入力すると、QUBOソルバーから量子コンピュータ20の演算結果を取得する。演算結果には、決定変数xcそれぞれに対する値(「0」又は「1」)が返される。その後、選択部12は、決定変数xcの値が「1」の第一の配送経路候補を第二の配送経路候補とする。
【0114】
[プログラム]
実施形態におけるプログラムは、コンピュータに、
図10に示すステップA1からA5を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態における情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、生成部11、選択部12、分類部13、決定部14、出力情報生成部15として機能し、処理を行なう。
【0115】
また、実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、生成部11、選択部12、分類部13、決定部14、出力情報生成部15のいずれかとして機能してもよい。
【0116】
[物理構成]
ここで、実施形態におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて
図12を用いて説明する。
図12は、実施形態における情報処理装置を実現するコンピュータの一例を説明するための図である。
【0117】
図12に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAを備えていてもよい。
【0118】
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。
【0119】
また、実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
【0120】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0121】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0122】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0123】
なお、実施形態における情報処理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア、例えば、電子回路を用いることによっても実現可能である。さらに、情報処理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。実施形態において、コンピュータは、
図12に示すコンピュータに限定されることはない。
【0124】
以上、実施形態を参照して発明を説明したが、発明は上述した実施形態に限定されるものではない。発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0125】
上述した記載によれば、実際のMDVRPの最適解(最適な配送経路)に近い配送経路を提供することができる。また、MDVRPが必要な分野において有用である。
【符号の説明】
【0126】
10 情報処理装置
11 生成部
12 選択部
13 分類部
14 決定部
15 出力情報生成部
20 量子コンピュータ
30 端末装置
40 出力装置
100 システム
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス