(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-28
(45)【発行日】2023-05-11
(54)【発明の名称】経路探索システム
(51)【国際特許分類】
G06Q 10/047 20230101AFI20230501BHJP
【FI】
G06Q10/047
(21)【出願番号】P 2019046797
(22)【出願日】2019-03-14
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(73)【特許権者】
【識別番号】000241485
【氏名又は名称】豊田通商株式会社
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(72)【発明者】
【氏名】入江 広隆
(72)【発明者】
【氏名】三木 彰
(72)【発明者】
【氏名】寺部 雅能
(72)【発明者】
【氏名】粟島 亨
(72)【発明者】
【氏名】高橋 俊輔
(72)【発明者】
【氏名】ゴラゴット ウォンパイサンシン
(72)【発明者】
【氏名】ダンジェード シャオワッタナー
【審査官】宮地 匡人
(56)【参考文献】
【文献】竹原 康太,SAベースのイジングマシンにより巡回セールスマン問題を高速解法するための多種軽量係数試行法,情報処理学会研究報告,2019年03月12日,Vol.2019-ARC-235 No.53,pp.1-6
【文献】金丸 翔,実イジング計算機による制約付きスロット配置問題の解法,情報処理学会研究報告,2019年03月12日,Vol.2019-ARC-235 No.52,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
JSTPlus(JDreamIII)
JST7580(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
各々が複数の場所を移動する複数の車と、
ハミルトニアンを用いてイジングソルバを実行することにより、前記車の最適経路を計算するようにプログラムされたコンピュータと、
を含む経路探索システムであって、
前記ハミルトニアンは、QUBOの複数の変数間の相互作用を表す複数の相互作用項を含み、
前記相互作用は、出発地点と到着地点との都市間の関係に依存し、
前記ハミルトニアンは、(a)前記イジングソルバにおける前記車の累積移動時間に対応する都市間移動ステップ数の概念、または(b)前記イジングソルバの容量変数、を含み、
前記容量変数は、QUBOの変数の1つに対応し、かつ、変数制約を含み、
前記コンピュータは、
計算された前記最適経路に基づき、移動スケジュールを生成するステップと、
生成された前記移動スケジュールを提示し、または、生成された前記移動スケジュールに基づいて、前記車の各々の移動を制御するステップと、
を行うことを特徴とする、
経路探索システム。
【請求項2】
前記イジングソルバの都市間移動ステップ数は、所要時間を記述するための時刻を含む、請求項1に記載の
経路探索システム。
【請求項3】
前記イジングソルバの都市間移動ステップ数は、単調増加又は単調減少の容量変数を含む、請求項1に記載の
経路探索システム。
【請求項4】
前記イジングソルバの容量変数は、到達都市に付随して正負に変化可能な容量変数を含む、請求項1に記載の
経路探索システム。
【請求項5】
前記イジングソルバの正負増減が許される容量変数は、状態変数を含む、請求項1に記載の
経路探索システム。
【請求項6】
前記イジングソルバの都市間移動ステップ数は、時刻を含み、かつ、前記イジングソルバの容量変数は、到達都市に付随する正負の容量変数変化の加算及び状態変数を含む、請求項1に記載の
経路探索システム。
【請求項7】
前記イジングソルバの都市間移動ステップ数は、単調増加又は単調減少の容量変数を含み、かつ、前記イジングソルバの正負増減可能な容量変数は、状態変数を含む、請求項1に記載の
経路探索システム。
【請求項8】
前記相互作用の導入によって、到達不可能都市を設定する、請求項1に記載の
経路探索システム。
【請求項9】
前記相互作用の導入によって、基本的制約及びパラメータを設定する、請求項1に記載の
経路探索システム。
【請求項10】
前記イジングソルバのコストが時刻又は単調増加もしくは単調減少の容量変数に依存する、請求項1、2、3、6、7のいずれか一項に記載の
経路探索システム。
【請求項11】
前記イジングソルバの時刻表におけるスケジュール時間単位が時刻依存性を持つ、請求項1、2、6のいずれか一項に記載の
経路探索システム。
【請求項12】
前記イジングソルバの時刻表におけるスケジュール時間単位が、車種依存を持つ、請求項1、2、6のいずれか一項に記載の
経路探索システム。
【請求項13】
前記イジングソルバの都市間移動ステップ数とコストが異なる、請求項1、2、3、6、7のいずれか一項に記載の
経路探索システム。
【請求項14】
前記イジングソルバの時刻又は単調増加もしくは単調減少の容量変数に応じて都市への到達許可を設定する、請求項1、2、3、6、7のいずれか一項に記載の
経路探索システム。
【請求項15】
前記イジングソルバの時刻又は単調増加もしくは単調減少の容量の範囲が車ごとに異なる、請求項1、2、3、6、7のいずれか一項に記載の
経路探索システム。
【請求項16】
前記イジングソルバの時刻又は単調増加もしくは単調減少の容量変数が同一範囲にある場合に、異なる車が同一の都市を訪れない、請求項1、2、3、6、7のいずれか一項に記載の
経路探索システム。
【請求項17】
前記イジングソルバにおいて特定の車のいくつかの都市への到達許可又は到達拒否を設定する、請求項1、2、3、5、6、7のいずれか一項に記載の
経路探索システム。
【請求項18】
前記相互作用は、前記イジングソルバにおいて都市に付随する変数を各車均等に振り分ける傾向を作る相互作用を含む、請求項1ないし7のいずれか一項に記載の
経路探索システム。
【請求項19】
請求項1に記載の経路探索システムであって、
前記コンピュータは、
入力ユニットであって、
(1)前記車の各々が前記複数の地点を移動することによって生じるコストを示すコストデータ、または、
(2)前記車ごとの移動時間を示す移動時間データ、
(3)荷物のサイズまたは重量を示す荷物データ、
(4)前記車ごとの容量、重量、又は車種のうち少なくとも1つを示す車データ、
(5)前記車ごとの配送時間制限、容量制限、重量制限のうち少なくとも1つを示す制限データ、
(6)前記車ごとの運転手の作業時間を示す運転手データ、
のうちの少なくともの1つを含む入力データを受信するように構成された入力ユニットと、
前記入力データを前記イジングソルバに入力することで、イジングソルバを実行するようにプログラムされたプロセッサと、
算出された最適経路を出力するように構成された出力ユニットと、
を含む、経路探索システム。
【請求項20】
前記コンピュータは、生成された前記スケジュールを表示するように構成された表示画面を含む、請求項1に記載の経路探索システム。
【請求項21】
請求項1に記載の経路探索システムであって、
前記QUBOの複数の変数は、
(1)各車が通過する地点を表す変数、および、
(2-1)各車の累積移動ステップ数を表す変数、または、
(2-2)前記車ごとの積荷量の累計を表す変数、
に少なくとも依存し、
前記ハミルトニアンの複数の相互作用項は、
前記QUBOの複数の変数のうちの各々が出発地点または到着地点をそれぞれ表す2つのQUBO変数の間の相互作用項と、
前記QUBOの複数の変数のうちの各々が前記都市間移動ステップ数に応じて各都市における累積移動ステップ数を表す2つのQUBO変数の間の相互作用項、または、前記QUBOの複数の変数のうちの各々が前記地点のうちの1つと前記地点と別の地点との間の移動による積載量変更に応じて各拠点における累積積載量を表す2つのQUBO変数の間の相互作用項と、
を含むことを特徴とする、経路探索システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イジングソルバを用いて最適解を取り出すイジングソルバシステムに関するものである。
【背景技術】
【0002】
巡回セールスマン問題(Traveling Salesman Problem:TSP)や配車計画問題(Vehicle Routing Problem:VRP)は最短ルート(最小コストのルート)を算出する数理モデルである。これらは、NP困難な問題である一方で、「計画」、「物流」、「マイクロチップ設計」等、様々な応用の可能性をもつ基礎的問題である。TSPやVRPを断熱量子計算機等のイジング系ソルバで解くためには、QUBO形式の定式化(Quantum Algorithm)が必要となる。このQUBO形式の定式化として、非特許文献1に記載された方法が知られている。
【0003】
一方で、TSPやVRPの応用において、単純な最短ルート算出だけではなく、複数の制約を同時に含んだ上での最適化問題も多く知られており、応用範囲を広げるためにも、それを解く方法の開発も重要となっている。ここで、VRPは、複数の同時巡回ルートを探索する多重巡回セールスマン問題(multiple-TSP)ということもできる。従って、本明細書では、多重巡回セールスマン問題も含む上位概念としてVRPという用語を用いることがあり、また、複数の各巡回探索を区別するためにVRP一般に使われる「車(vehicle)」という用語を用いる。
【先行技術文献】
【非特許文献】
【0004】
【文献】Lucas, “Ising formulation of many NP problems”, Front.Phys.2,A5(2014)
【文献】Itoh-Ohta-Yamasaki-Tanaka, “Quantum annealing for combinatorial optimization problems with multiple constraints”, Adiabatic Quantum Computing Conference 2017, June 26-29, 2017, GranTokyo South Tower, Tokyo, Japan
【発明の概要】
【発明が解決しようとする課題】
【0005】
これらのTSPやVRPを従来のイジング系ソルバで解く上での問題点の一つは、それらがTSPないしVRPに関する単純な最短ルートの算出に特化しており、より現実的な制約を含んだTSPやVRPを取り扱うことができないことである。応用上特に重要なTSPやVRPの制約として、例えば、各都市を訪れる時間帯に制限がある場合がある(TSP/VRP with Time-Window)。あるいは、各車に定量変数及びその限界が備わっており、各都市に訪問するごとに、訪れる都市に依存してその定量変数が増減する場合において、定量変数限界の範囲内に収まる最短ルートを探索するという制約問題もある(Capacitated TSP/VRP (CTSP/CVRP))。以下では、この容量制約を持つ定量変数のことを「容量変数(Capacitated Variable)」とも言う。また容量制約を持つ問題を単に「容量(Capacity)を持つ」と言い、更に容量変数のことを単に「容量(Capacity)」と言うこともある。
【0006】
従来のイジング系ソルバを用いたシステムでは、1回の移動が1ステップと捉えることを前提としたQUBO定式化を用いており、それが一因となって、単純な最短ルートを求めるTSPやVRP以外の、時間や容量を加味した最適ルート探索問題を解くことができなかった。
【0007】
本発明は、新規な種類の相互作用を付加することで時間や容量を加味した最適ルート探索問題を扱うことができるTSPやVRPのソルバシステムを提供することを目的とするものである。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、本発明は、都市間の移動に応じた消費ステップ数の概念や容量ないし状態を表すQUBO変数を導入し、都市間移動を制御するQUBO変数間の斥力相互作用を導入することで、消費ステップ数の累積や容量変数ないしその変化を記述することを可能としたものである。
【0009】
本発明の一態様の経路探索システムは、各々が複数の場所を移動する複数の車と、ハミルトニアンを用いてイジングソルバを実行することにより、前記車の最適経路を計算するようにプログラムされたコンピュータと、を含む経路探索システムであって、前記ハミルトニアンは、QUBOの複数の変数間の相互作用を表す複数の相互作用項を含み、前記相互作用は、出発地点と到着地点との都市間の関係に依存し、前記ハミルトニアンは、(a)前記イジングソルバにおける前記車の累積移動時間に対応する都市間移動ステップ数の概念、または(b)前記イジングソルバの容量変数、を含み、前記容量変数は、QUBOの変数の1つに対応し、かつ、変数制約を含み、前記コンピュータは、計算された前記最適経路に基づき、移動スケジュールを生成するステップと、生成された前記移動スケジュールを提示し、または、生成された前記移動スケジュールに基づいて、前記車の各々の移動を制御するステップと、を行うことを特徴とする、経路探索システムである。
【0010】
即ち、出発地点と到達地点に依存する斥力相互作用、即ち相互作用(斥力相互作用)として都市間の関係に基づいた動的ペナルティ項を導入することで、VRP及びTSPにおける時間や容量の概念をイジングQUBO形式に導入する定式化の方法が提供される。
【0011】
上記の経路探索システムにおいて、前記イジングソルバの都市間移動ステップ数は、時刻を含んでいてよい。即ち、各都市間の関係に基づいた動的ペナルティ項により、所要時間を記述する時刻表(time-table)を備えたTSPやVRPとしての定式化が可能となる。
【0012】
上記の経路探索システムにおいて、前記イジングソルバの都市間移動ステップ数は、単調増加又は単調減少の容量変数を含でいてよい。即ち、各都市間の関係に基づいた動的ペナルティ項により、単調増加又は単調減少する容量変数の変化を記述する表を備えたTSPやVRPとしての定式化が可能となる。
【0013】
上記の経路探索システムにおいて、前記イジングソルバの容量変数は、到達都市に付随して正負に変化可能な容量変数を含んでいてよい。即ち、時刻表又は単調増加もしくは単調減少の容量変数の表を持ち、かつ、新しく容量変数を記述する容量キュービッツ(Capacity-qubits)を導入した上で、都市間の関係に基づいた動的ペナルティ項により、正負の増減を許した1つ又は複数の容量変数の累積制限を備えたCTSPやCVRPの定式化が可能となる。これにより、例えば、厳密に容量の範囲に入る制約内で、配達と集荷とを同時にこなす1つ又は複数の容量を持つCTSPやCVRPの定式化が可能となる。
【0014】
上記の経路探索システムにおいて、前記イジングソルバの正負増減が許される容量変数は、状態変数を含んでいてよい。即ち、容量キュービッツ(Capacity-qubits)の一つを状態キュービットと解釈した上で、都市間の関係に基づいた動的ペナルティ項により、状態変数が都市間移動ごとに変化するCTSPやCVRPの定式化が可能となる。これにより、例えば、各状態に依存して次の移動規則が変化するCTSPやCVRPの定式化が可能となる。
【0015】
上記の経路探索システムにおいて、前記イジングソルバの都市間移動ステップ数は、時刻を含んでいてよく、かつ、前記イジングソルバの容量変数は、到達都市に付随する正負の容量変数変化の加算及び状態変数を含んでいてよい。
【0016】
上記の経路探索システムにおいて、前記イジングソルバの都市間移動ステップ数は、単調増加又は単調減少の容量変数を含んでいてよく、かつ、前記イジングソルバの正負増減可能な容量変数は、状態変数を含んでいてよい。
【0017】
上記の経路探索システムにおいて、前記相互作用の導入によって、到達不可能都市を設定してよい。即ち、都市(b)から都市(a)への到達が不可能な場合に、各都市間の関係に基づいた動的ペナルティ項の導入により、到達の禁止を設定することができる。これにより、例えば、バスの運行ルートの最適化のように、他の都市を経由しないと到達できない都市間では、直接の移動を禁止することができる。
【0018】
上記の経路探索システムにおいて、前記相互作用の導入によって、基本的制約及びパラメータを設定してよい。即ち、QUBOハミルトニアンの相互作用を導入し、解取得効率を最適化する海岸線条件を満たすパラメータを設定してよい。
【0019】
上記の経路探索システムにおいて、前記イジングソルバのコストが時刻又は単調増加もしくは単調減少の容量変数に依存してよい。即ち、各出発時刻又は単調増加もしくは単調減少の容量変数の現在の量に応じて必要コスト及び消費コマ数が変化する定式化をすることができる。これにより、例えば、フレキシブルな休憩時間の設定、滞在時間の設定、各出発時刻によって異なる所要時間の設定が可能となる。
【0020】
上記の経路探索システムにおいて、前記イジングソルバの時刻表におけるスケジュール時間単位が時刻依存性を持っていてよい。
【0021】
上記の経路探索システムにおいて、前記イジングソルバの時刻表におけるスケジュール時間単位が、車種依存を持っていてよい。
【0022】
上記の経路探索システムにおいて、前記イジングソルバの都市間移動ステップ数とコストが異なっていてよい。即ち、都市間コストと消費コマとは互いに独立に設定できる。これにより、例えば、クール便、生もの等の配達において、実際の移動距離とは別にルート距離を短く入力して優先配達する設定が可能となる。
【0023】
上記の経路探索システムにおいて、前記イジングソルバの時刻又は単調増加もしくは単調減少の容量変数に応じて都市への到達許可を設定してよい。即ち、各到達時刻又は単調増加もしくは単調減少する容量変数の到達後の量に応じて、都市への到達を許可又は拒否してよい。これにより、例えば、配達における時間帯指定をすることができ、1つの顧客に対して複数で飛び飛びの配達可能時間帯を設定できる。
【0024】
上記の経路探索システムにおいて、前記イジングソルバの時刻又は単調増加もしくは単調減少の容量変数の範囲が車ごとに異なっていてよい。これにより、例えば、ドライバーごとの勤務時間制約を設定できる。
【0025】
上記の経路探索システムにおいて、前記イジングソルバの時刻又は単調増加もしくは単調減少の容量変数が同一範囲にある場合に、異なる車が同一の都市を訪れないようにしてよい。即ち、任意の2台の車が同一時刻又は同一容量変数の範囲内に同じ都市を訪れないが、異なる時間帯又は容量変数域には到達を許す相互排他的な設定をしてよい。これにより、例えば各車がすべての都市を訪れるが、同じ時間帯には同時に訪れないCVRPが記述可能となる。
【0026】
上記の経路探索システムにおいて、前記イジングソルバにおいて特定の車のいくつかの都市への到達許可又は到達拒否を設定してよい。即ち、特定の車について選択的に都市への到達を許可又は拒否してよい。これにより、例えば、道幅や配達容量限界を超える等によって配達車種に制限がある場合に、配達先への車種選定が可能となる。
【0027】
上記の経路探索システムにおいて、前記相互作用は、前記イジングソルバにおいて都市に付随する変数を各車均等に振り分ける傾向を作る相互作用を含んでいてよい。即ち、都市に振り分けられる任意の1つ又は複数の定量変数に対して、各車均等に振り分ける傾向を作る相互作用を導入してよい。これにより、例えば、厳密に容量の範囲に入れられるわけではないが均等に配分する傾向を作ることで、疑似的に容量や重量に関する制限を設けることができる。
【0028】
上記の経路探索システムにおいて、前記コンピュータは、入力ユニットであって、(1)前記車の各々が前記複数の地点を移動することによって生じるコストを示すコストデータ、または、(2)前記車ごとの移動時間を示す移動時間データ、(3)荷物のサイズまたは重量を示す荷物データ、(4)前記車ごとの容量、重量、又は車種のうち少なくとも1つを示す車データ、(5)前記車ごとの配送時間制限、容量制限、重量制限のうち少なくとも1つを示す制限データ、(6)前記車ごとの運転手の作業時間を示す運転手データ、のうちの少なくともの1つを含む入力データを受信するように構成された入力ユニットと、前記入力データを前記イジングソルバに入力することで、イジングソルバを実行するようにプログラムされたプロセッサと、算出された最適経路を出力するように構成された出力ユニットと、を含んでいてよい。
【0029】
上記の経路探索システムにおいて、前記コンピュータは、生成された前記スケジュールを表示するように構成された表示画面を含んでいてよい。
【0030】
上記の経路探索システムにおいて、前記QUBOの複数の変数は、(1)各車が通過する地点を表す変数、および、(2-1)各車の累積移動ステップ数を表す変数、または、(2-2)前記車ごとの積荷量の累計を表す変数、に少なくとも依存し、前記ハミルトニアンの複数の相互作用項は、前記QUBOの複数の変数のうちの各々が出発地点または到着地点をそれぞれ表す2つの第1の変数の間の第1の相互作用項と、前記QUBOの複数の変数のうちの各々が前記都市間移動ステップ数の合計に対応する2つの第2の変数の間の第2の相互作用項、または、前記QUBOの複数の変数のうちの各々が前記地点のうちの1つと前記地点と別の地点との間の移動による積載量変更に対応する2つの第3変数の間の第3相互作用項と、を含むことを特徴としてもよい。
【図面の簡単な説明】
【0031】
【
図1】
図1は、従来(非特許文献1)のイジング系ソルバシステムの処理の例を示す図である。
【
図2】
図2は、本発明の実施の形態の第1のポイントを説明する図である。
【
図3】
図3は、本発明の実施の形態の第2のポイントを説明する図である。
【
図4】
図4は、本発明の実施の形態の第3のポイントを説明する図である。
【
図5】
図5は、本発明の実施の形態のQUBO変数の導入の第1の例を示す図である。
【
図6】
図6は、本発明の実施の形態のQUBO変数の導入の第2の例を示す図である。
【
図7】
図7は、本発明の実施の形態におけるコストを行列で表現した例を示す図である。
【
図8】
図8は、本発明の実施の形態の消費コマ数制約を説明する図である。
【
図9】
図9は、本発明の実施の形態の到達許否を説明する図である。
【
図10】
図10は、本発明の実施の形態の実施例1を説明する図である。
【
図11】
図11は、本発明の実施の形態の実施例1を説明する図である。
【
図12】
図12は、本発明の実施の形態の実施例2を説明する図である。
【
図13】
図13は、本発明の実施の形態の実施例3を説明する図である。
【
図14】
図14は、本発明の実施の形態の実施例4を説明する図である。
【
図15】
図15は、本発明の実施の形態の実施例6を説明する図である。
【
図16】
図16は、本発明の実施の形態の実施例7を説明する図である。
【
図17】
図17は、本発明の実施の形態の実施例8を説明する図である。
【
図18】
図18は、本発明の実施の形態の実施例9を説明する図である。
【
図19】
図19は、本発明の実施の形態の実施例11を説明する図である。
【
図20】
図20は、本発明の実施の形態の実施例12を説明する図である。
【
図21】
図21は、本発明の実施の形態の実施例13を説明する図である。
【発明を実施するための形態】
【0032】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【0033】
以下では、まず、従来技術の問題点を説明しつつ、本実施の形態のシステムの概要を説明する。
【0034】
図1は、従来(非特許文献1)のイジング系ソルバシステムの処理の例を示す図である。この例では、都市(b)から都市(a)までの相対移動距離をd
abとして、N都市を必ず1回ずつ訪れる最短ルートを求める。なお、d
abは移動に伴うコストであり、一般に距離でないものも自明に考えられている。まず、
図1(a)に示すような都市の巡回順路を表す変数として
図1(b)に示すQUBO変数(以下、「キュービッツ」(qubits)ともいう。)を用意する。そして、式(1)のように、都市(a)をステップ(s)に訪れるか否かをQUBO変数の0/1で表す。
【数1】
【0035】
このようにすると、式(2)の変数制約の下でコスト関数であるハミルトニアン(Hamiltonian)を最小にすることで最適解を求めることができる。
【数2】
【0036】
更に、式(3)に示すように、制約項を二乗の形で一つのハミルトニアンにまとめる。
【数3】
なお、ここで、二乗にするのは、制約項を満たさない場合に二乗によるペナルティが発生するようにするためである。
【0037】
この従来の方式では、以下の問題がある。第1の問題は、移動時間や時間変化に関する時刻(time)の概念を記述できないことである。即ち、タイムウィンドウ(Time-Window)を持つTSPやVRPを考える場合には、時刻の概念が必要となるが、上記の従来技術では、それができない。ステップ数(s)を時間として扱うことも考えられるが、移動には所要時間が発生し、1ステップで移動した都市での時刻は一般的に異なるため、ステップ数(s)では時刻を表すことはできない。そうすると、TSPやVRPの都市間コストdabの時間変化等の記述もできないことになる。
【0038】
そこで、本実施の形態では、新規な種類の相互作用の導入によって、時刻の概念を導入する新規の手法を提案する。本実施の形態のシステムにより、時間に関わる様々な制約の定式化が可能となる。また、本実施の形態のシステムによれば、時刻を単調増加又は単調減少する容量変数とみなすことで、CTSP又はCVRPの定式化も可能となる。
【0039】
第2の問題は、容量を持ったCTSP(Capacitated TSP)又はCVRP(Capacitated VRP)を記述する手法がないということである。非特許文献1の拡張として、非特許文献2は、不等式制約の二乗定式化の形で単調増加する容量を持たせる試みを行っているが、相互作用が非常に複雑で汎用性に乏しいという問題がある。また、定式化が成功していれば焼きなまし(Simulated Annealing:SA)法を用いることで、大きなサイズでの実行が可能となるが、実際にはSAを用いても4都市1depo(車2台)のCVRPでしか成功していない。また、従来技術では、巡回ルートの中で容量の増減を許すCTSPやCVRPについては、まったく記述できない。
【0040】
そこで、本実施の形態では、新規の相互作用の手法を応用することで、多数の容量制限を同時に課して、更に巡回ルート中での増減も許したCTSP又はCVRPの定式化に関する新規の手法を提案する。
【0041】
第3の問題は、多重の二乗制約項によって確率が低下するということである。即ち、従来のTSPやVRPの定式化では、一般に二乗制約項を多数導入するが、従来手法では項を増加させるほど、最適解を求める確率が低下することが知られている。
【0042】
そこで、本実施の形態では、上記のような確率低下を回避する制約項の導入に関する新規な手法、即ち、多数の制約項があるTSPやVRPにおける確率を上昇させるパラメータ設定方法に関する新規の手法を提案する。
【0043】
第4の問題は、行動スケジュールに多様性がないということである。実際の応用においては、都市間移動だけではなく、都市での滞在等の多様な記述も要求されることがある。しかしながら、従来技術では、移動のみが着目され、移動を行うのか、都市での滞在に時間を使うのかが記述できない。
【0044】
そこで、本実施の形態では、新規な相互作用の手法を応用することで、車に複数の状態を付加し、状態に応じたコストや移動規則を記述するCTSPやCVRPの定式化の新規な手法を提案する。
【0045】
以下、本発明の実施の形態のシステムについて、具体的に説明する。本実施の形態では、以下の3つの特徴的なポイントを説明する。
【0046】
(第1のポイント)
第1のポイントは、都市間の関係に基づいた動的ペナルティ項を導入することで、CTSPやCVRPの新規のQUBO定式化を行う手法である。
図2は、本発明の実施の形態の第1のポイントを説明する図である。本実施の形態では、従来のTSP定式化が
図2(a)に示すものであるとき、
図2(b)に示すように距離に応じて異なる所要時間を付加して、
図2(c)に示すようなタイムテーブルを作成して、式(4)によって定式化をする。
【数4】
【0047】
このように新規の相互作用の方式を導入することで、
図2(c)における1個跳び21や2個跳び22のように、都市間の状況に応じてコマ跳びする表現が可能となり、TSP又はVRPのQUBO定式化において時刻表(Time Table)を導入することが可能になる。
【0048】
これにより、従来の定式化では不可能であった制約が可能になる。具体的には、タイムウィンドウの記述が可能となり、都市間コストの時間変化の記述が可能となり、時刻に関する様々な制約が可能となり、また、時間の概念を一般的な容量の概念に置き換えることで、CTSP又はCVRPの記述も可能となる。
【0049】
(第2のポイント)
第2のポイントは、都市間の関係に基づいた動的ペナルティ項を応用することによる、多重容量(Multiple Capacity)を記述する手法である。
図3は、本発明の実施の形態の第2のポイントを説明する図である。本実施の形態では、第1のポイントに加えて、
図3(a)に示すように、更に各都市に容量(Capacity)変数の増減を付加する。なお、
図3(a)では、車の積載制限を0~4としている。本実施の形態では、
図3(b)のように定式化し、
図3(c)に示すように新たに容量QUBO(Capacity-QUBO)変数を導入する。
【0050】
これにより、第1のポイントと同様のアイデアを応用し、都市間の状況に応じた相互作用を導入することで、容量QUBO変数間での跳びを表現することができる。即ち、新規な相互作用方式を新たに導入した容量QUBO変数に応用することで、新規なCTSP又はCVRPの定式化が可能となり、これにより、従来不可能であった移動中の増減を許すとともに、複数の容量(Capacity)制限を満たすCTSP又はCVRPの記述が可能となる。
【0051】
(第3のポイント)
第3のポイントは、都市間の関係に基づいた動的ペナルティ項の応用による状態依存の移動制限を導入したことである。
図4は、本発明の実施の形態の第3のポイントを説明する図である。本実施の形態では、状態の付加によって滞在時間を記述する。
図4の例では、
図4(a)に示すように、各都市での滞在時間を20分単位で入力している。QUBO変数は、
図4(b)に示すように、到着(Arrival)状態と出発(departure)状態の2状態を定義することで、到着状態から出発状態に遷移する滞在動作と、出発状態から到着状態に遷移する移動動作とを記述することができる。
【0052】
即ち、第1のポイントと同様のアイデアを応用し、都市間の状況に応じた相互作用を導入することで、異なる状態間での独立した遷移コストを表現する。これにより、状態間遷移に応じて移動規制を設定することが可能となる。このように、新規な相互作用方式を新しく導入した状態変数に応用し、新規なCTSP又はCVRPの定式化が可能となり、これにより、従来不可能であった複雑な時間スケジュールの組み合わせを考慮するCTSP又はCVRPの記述が可能となる。
【0053】
以下、上記の第1~第3のポイントを含む本実施の形態の定式化において必要となる事項につい説明する。
図5は、本発明の実施の形態のQUBO変数の導入の第1の例を示す図である。このQUBO変数では、移動(Travel)の最中に単調増加をする定量変数tを導入している。定量変数tは、1≦t≦Tで増加範囲が制限されるものとする。この定量変数tは、例えば、単位時間(例えば20分)刻みの時間スケジュールとみなすことができる。これにより、特に、移動に伴う所要時間が定式化され、また、時刻に応じて休憩時間等の加味できる。別の例として、定量変数tは、例えば、配達積載量又は集荷積載量(即ち、CVRP)とすることもできる。なお、配達及び集荷を同時に行う際には、単調増加に反するので、後述する定式化を行うべきである。
【0054】
次に、訪れる場所としてN都市を考える。これは、場合によっては配達先等の顧客としてもよい。また、配送を行う車をk台導入する。一般的には、定量変数の上限Tも都市数Nも、下式(5)に示すように、各車(i)に依存してよい。
【数5】
【0055】
図6は、本発明の実施の形態のQUBO変数の導入の第2の例を示す図である。
図6におけるc
1,c
2,・・・,c
Mは、多重容量(Multiple-Capacity)変数である。このQUBO変数では、各車(i)のVRP-QUBO変数61に容量QUBO(Capacity-QUBO)変数が備わっている。総キュービッツ(qubits)数は、下式(6)のとおりとなる。
【数6】
【0056】
容量変数(c
1,c
2,・・・,c
M)は、それぞれ、各車で定まる最大及び最小の容量(整数digits Qm及びqm)によって、下式(7)のように制限される。
【数7】
この変数は、上記の容量限界の範囲内で、移動の間中、増減が許される。これによって、上述の配達及び集荷を同時に探索することが可能になる。
【0057】
次に、時刻(t)からの移動に伴うコストを行列で与える。例えば、各時刻(t)に都市(b)から出発し、都市(a)に至るまでのコストは、下式(8)に示すように、行列にまとめることができる。
【数8】
【0058】
図7は、本発明の実施の形態におけるコストを行列で表現した例を示す図である。コストを行列で表すと、以下が成り立つ。まず、下式(9)に示すように、一般にコスト行列は対称行列ではない。即ち、上りと下りとではコストが異なる。
【数9】
【0059】
次に、下式(10)に示すように、一般に時刻によって異なる値をとる。例えば、時刻によって道路の混雑具合も変わる。
【数10】
また、都市間コストは、都市間移動に伴うTSPやVRPのコストであり、その具体的な内容は制限されない。例えば、所要料金と所要時間とを組み合わせたコストでもよいし、移動時間や距離でもよい。なお、式(8)~(10)は、時刻のみならず、一般的な単調増加容量(t)についても成り立つ。以下でも同様である。
【0060】
次に、各時刻(t)からの移動に伴う所要コマ数を行列で与える。即ち、下式(11)に示すように、各時刻(t)に都市(b)から出発し、都市(a)に至るまでに消費する所要コマ数を正の整数値の行列で与える。
【数11】
【0061】
このように消費する所要コマ数を正の整数値の行列で表すと、以下が成り立つ。まず、下式(12)に示すように、一般に消費コマ数行列は対称行列ではない。
【数12】
例えば、所要時間を消費コマとすれば、上りと下りで一般に消費コマが異なる。到達先のみで決定される容量と解釈すれば一般に非対称となる。
【0062】
また、一般に車の種類(i)に依存してもよい。さらに、所要コマ数を常に1-コマとすれば、下式(13)に示すように、通常のTSPないしVRPに帰着する。即ち、標準的TSP又はVRPの一般化ができたことになる。
【数13】
【0063】
次に、各時刻(t)からの移動に伴う容量(Capacity)増減行列を与える。まず、各時刻(t)に都市(b)から出発し、都市(a)に至るまでに増減するM個の容量(Capacity)の増減(例えば、配達と集荷)は、下式(14)に示すように、M個の行列で与えられる。
【数14】
【0064】
これは、次の移動までに増減する容量を与えるため、一般に正負零のいずれも取りえる整数である。また、下式(15)に示すように、一般にコスト行列は対称行列ではない。
【数15】
更に、容量の増減は車ごとに変えてもよい。
【0065】
また、この容量(Capacity)は、状態(State)とも読むことができる。その際は、都市(a)、(b)を状態まで含めて(a|c)、(b|c’)の間の行列
【数16】
を用意して、同様な相互作用を導入する。これにより、各車の状態に対して、都市間で決まる、車の次の状態に関する選別を与えることとなる。
【0066】
次に、定式化方法(QUBO-Hamiltonian)について説明する。まず、標準制約項の設定の第1の例を説明する。この例では、制約項はペナルティ(penalty)項として導入する。係数はλとする。イジングマシンにおいて係数λは無限大にできないので、通常は取りえる最大の値を入れる。例えば、D-WaveマシンではJ=1が最大であり、それに対応する値をとればよい。
【0067】
各車(i)は、各時刻(t)において、2つの都市を同時に訪れないので、下式(16)の制約が設定される。
【数17】
【0068】
また、都市(a)に、車(i)が時刻(t)に訪れたならば、その車は他の時刻(t’)には都市(a)を訪れないので、下式(17)の制約が設定される。
【数18】
【0069】
また、都市(a)に、車(i)が時刻(t)に訪れたならば、その他の車(j)はどの時刻にも都市(a)を訪れないので、下式(18)の制約が設定される。
【数19】
【0070】
次に、標準制約項の設定の第2の例として、容量(Capacity)がある場合を説明する。容量がある場合(Capacity-qubitsが存在するときも同様)は、以下の制約が課される。まず、各車(i)は、各時刻(t)、各都市(a)に対して、容量QUBO(Capacity-QUBO)変数は1つだけ立ち上がるので、下式(19)の制約が設定される。
【数20】
【0071】
また、各車(i)は、各時刻(t)において、2つの都市に同時に訪れないので、下式(20)の制約が設定される。
【数21】
【0072】
また、都市(a)に、車(i)が時刻(t)に訪れたならば、その車は他の時刻(t’)には都市(a)を訪れないので、下式(21)の制約が設定される。
【数22】
【0073】
さらに、都市(a)に、車(i)が時刻(t)に訪れたならば、その他の車(j)はどの時刻にも都市(a)を訪れないので、下式(22)の制約が設定される。
【数23】
【0074】
図8は、本発明の実施の形態の消費コマ数制約を説明する図である。まず、消費コマ数制約項及びコスト項の設定の第1の例を説明する。移動に必要な消費コマ数に満たない配位は、下式(23)の制約項をペナルティ(penalty)項で禁止する。係数はλとする。
【数24】
いくつかのイジングマシンにおいて係数λは無限大とはできないので、通常は取り得る最大の値を入れる。例えば、D-WaveマシンではJ=1が最大であり、それに対応する値をとればよい。
【0075】
その延長として、消費コマ数に対応するキュービッツ(qubits)に、コストを下式(24)のように導入する。
【数25】
ここで、一般に導入が許されるパラメータとして、μ(>0)とρ(>0)を導入している。
【0076】
次に、消費コマ数制約項及びコスト項の設定の第2の例として、容量(Capacity)がある場合を説明する。移動に伴う消費コマ数に満たない場合は、下式(25)で示すように、ペナルティ(penalty)項で禁止をする。
【数26】
【0077】
その延長として、コスト及び容量(Capacity)制約を以下のように導入する。コスト項(容量制約を満たす配位)として、下式(26)を設定する。
【数27】
また、ペナルティ(Penalty)項(容量制約を満たさない配位)として、下式(27)を設定する。
【数28】
【0078】
次に、全QUBOハミルトニアン(QUBO-Hamiltonian)を説明する。全ハミルトニアンは、下式(28)で与えられる。
【数29】
ここで、式(28)において、右辺第1項のシグマの内部が本実施の形態において新たに導入される動的ペナルティ項の部分である。
【0079】
パラメータμ、ρ、λは、下式(29)の関係を満たすことが望ましい。
【数30】
これを海岸線条件という。λは全体のスケールに対応するので、係数が収まる機械限界の最大値を与えればよい。
【0080】
容量(Capacity)がある場合の全QUBOハミルトニアン(QUBO-Hamiltonian)は次のようになる。この場合、全ハミルトニアンは、下式(30)で与えられる。
【数31】
パラメータμ、ρ、λの海岸線条件は、式(29)の関係を満たすことが望ましい。ここでも、λは全体のスケールに対応するので、係数が収まる機械限界の最大値を与えればよい。
【0081】
上記の第3のポイントに関して、ペナルティによる制約項の係数設定に関する新規の主導原理である海岸線条件について説明する。最新の従来方式による定式化では、以下の海岸線条件を満たさない。一方、海岸線条件を用いたTSPですでに解の出現確率が従来より大幅に上昇することを確認できている。本実施の形態で提案したQUBO定式化のハミルトン(Hamilton)は一般に下式(31)のように書ける。
【数32】
ここで、
【数33】
である。
【0082】
式(31)の右辺第一項の<A,B>∈Pbは、制約を満たす配位であり、右辺第二項の<A,B>∈Pnは、制約を満たさない配位である。一体ハミルトニアン(One-body Hamiltonian)の段階で次の条件を課す。このときPb内の制約を満たす配位は、積極的に立ち上がる必要があり、したがって負のエネルギーであるべきである。
【数34】
【0083】
制約を満たさない配位の出現は、ペナルティ(Penalty)項を受けて抑えられる必要があり、正のエネルギーであるべきである。
【数35】
【0084】
以上より、すべてのコストに対して、式(32)及び式(33)の2条件が成り立つためには、エネルギー(ε
ab)の範囲を下式(34)と選べばよい。
【数36】
海岸線(エネルギー0)を境に、PbとPnとを分離するこの主導原理を海外線条件という。
【0085】
次に、本発明の第4のポイントとして、本実施の形態のCTSP又はCVRPのQUBO定式化に伴う各種制約項の設定方法を説明する。消費コマを時刻とみなしたとき、出発時刻に依存したコスト変化の導入方法は以下のようになる。まず、制約を満たす配位に対するコストは、下式(35)の項のコスト行列
【数37】
で与えられる。
【数38】
【0086】
下式(36)の従来技術による定式化では、最近接ステップでコストが導入されている。
【数39】
その中でステップ数(s)に依存させて、
【数40】
とすることもできる。ただし、従来技術では時刻の概念が存在しないので、滞在回数による劣化等のみを表現できる。即ち、従来技術ではコストの時間変化を表すことができない。したがって、本実施の形態により時刻表の概念が発生することで初めてコストの時間変化等の幅広い記述が可能になる。
【0087】
そして、コストの概念は任意に設定することが可能であり、距離、時間、コスト、優先等の問題に応じて選択することができる。
【0088】
出発時刻に依存した消費コマ数の変化の導入方法は以下のとおりである。移動に伴う消費コマ数は、消費コマ数行列
【数41】
で与えられる。
【0089】
ここで、消費コマ数行列は、コスト行列と独立に設定することができる。例えば、所要時間を表す場合は、出発時刻に依存して所要時間を変更することができる。また、この導入方法の応用として、ある時刻を跨ぐときは、その分の消費コマ数を足すことで休憩時間を記述することができる。また、実際の移動に伴う所要時間に加えて消費コマを追加すれば、滞在時間を記述することができる。ただし、厳密に指定時間内に滞在時間を設定するには、状態を用いるべきである。
【0090】
次に、出発時刻に依存した容量(Capacity)増減の変化の導入方法について説明する。移動に伴う容量(Capacity)増減は、容量(Capacity)増減行列
【数42】
で与えられる。
【0091】
ここで、容量(Capacity)増減行列は、消費コマ数行列やコスト行列と独立に設定することができる。この増減行列も、出発時刻に依存して変更することができる。
【0092】
図9は、本発明の実施の形態の到達許否を説明する図である。以下では、各都市への到達時刻に伴った到達許可及び拒否、並びに車種別に対する到達許可及び拒否について説明する。本実施の形態の時刻を伴ったTSP又はVRPの定式化を用いると、ある時間帯における都市への到達許可及び拒否を定式化することができる。
【0093】
図9の円で示した部分のように、到達許可が許される時間帯以外には、対応するキュービッツを強制的に0と定める。この設定は、各車(i)に対して個別に設定可能であり、都市における車種選別も実現する。この定式化の利点は、(1)複数の時間帯に到達許可を出せること(複数の時間帯指定が可能であること)、及び(2)使用するキュービッツの数を削減できることである。
【0094】
次に、容量に関する分散積載傾向を作る相互作用について説明する。容量キュービッツ(Capacity-qubits)ほど厳密に積載容量限界を設定はできないものの、簡易的に分散積載傾向を作り出せる方法を説明する。実際にはそれで十分な場合があるため、本方法は有用である。
【0095】
まず、各車(i)に対して、容量傾向を作りたい容量(m)に関する新しいキュービッツ
【数43】
を導入する。
【0096】
これに対して、下式(37)の相互作用を追加する。
【数44】
ここで、容量
【数45】
は、各都市(a)に付随する(m)種の容量を表す。
【0097】
また、容量は正であり、下式(38)が成り立つ。
【数46】
各車(i)の(m)種の容量に関する容量限界を
【数47】
とする。
【0098】
この相互作用の効能は以下のとおりである。まず、容量限界以内において追加したキュービッツが立ち上がり、全体のエネルギーを下げる。そして、容量限界に達すると、キュービッツの立ち上がりコストに正のエネルギーが必要となり、追加したキュービッツが立ち下がる。したがって、容量限界において相対的なコストがかかり、分散積載の傾向を作ることができる。
【0099】
以上説明したように、本実施の形態では、都市間の関係に基づいた新しいペナルティ(Penalty)項の導入による、TSP及びVRPにおける時刻、容量等の概念をイジングQUBO形式に導入する定式化の方法を提案した。以下では、本実施の形態の定式化の実施例を説明する。
【0100】
(実施例1)
図10及び
図11は、実施例1を説明する図である。実施例1は、時間帯によって道路状況が変化する問題、即ち移動コストの時間変化の例である。本実施例は、イジングソルバのコストが時間又は単調増加もしくは単調減少の容量変数に依存する例である。VRPの各車共通の時間が定義されているので、コストの時間変化を入れた問題を定式化できる。これにより、混雑の状況によって到達時間が変化する状況を定式化できる。
【0101】
図10に示すように、2時間後には混雑によって移動時間が伸びたり縮んだりする。例えば、
図11(a)に示すように、幹線道路の下りが混雑して都市3への時間がかかる。また、
図11(b)に示すように、2時間後は幹線道路の上りが混雑し、都市5への時間がかかる。このように、交通状況を考慮した上でどの時間帯にどこへ配達するかを考慮して最適化を考えることができる。
【0102】
(実施例2)
図12は、実施例2を説明する図である。実施例2は、スケジュールの時間単位の時刻変化の例である。本実施例は、イジングソルバの時刻表におけるスケジュール時間単位が時刻依存性を持つ例である。交通網の混雑状況等の変化に応じて、ある特定の所要時間が全体として延びることが分かっている場合(即ち、最短移動時間が延びる場合)、その時間帯における時間間隔の変更も可能である。
図12に示すように、最小移動時間が延びる時間帯に対してスケジュール間隔の変更が可能である。これによって、キュービッツ数の節約が可能になる。
【0103】
(実施例3)
図13は、実施例3を説明する図である。実施例3は、スケジュール間隔の車種依存性の例である。本実施例は、イジングソルバの時刻表におけるスケジュール時間単位が車種依存性を持つ例である。異なる移動速度の車種を混在させてVRPを解く場合は、車種ごとにスケジュール間隔を変えることができる。
図13に示すように、車種1は例えば自転車便等であり、この場合は小回りが利き、交通事情等の影響を受けないため、10分間隔のスケジューリングを行う。一方、車種2は例えば普通車配達便であり、この場合は交通事情等により時間がかかるので30分間隔でスケジューリングを行う。このように、車種の配達速度に従って各車種に応じてスケジュール間隔を変更することができる。
【0104】
(実施例4)
図14は、実施例4を説明する図である。実施例4は、優先配達の例である。本実施例は、イジングソルバの移動ステップ数とコストとが一般に異なる例である。優先配達を扱うためには、下式(39)優先配達を希望する顧客(都市a)に至るコストを小さく設定すればよい。
【数48】
【0105】
図14(a)は優先配達設定がない場合を示しており、
図14(b)は優先配達設定がある場合を示している。
図14(a)に示すように、優先配達設定がない場合には、近い方が優先される。一方、
図14(b)に示すように、優先配達設定がある場合には、多少遠い顧客(都市)であっても優先的に配達されることがある。矢印141は、優先配達設定によって実際に入力された距離である。式(39)においてパラメータφを選ぶことによって、全体の最適化に対して優先配達をどの程度優先するかを決定することができる。
【0106】
(実施例5)
実施例5は、積載容量及び重量限界の設定の例である。本実施の形態は、イジングソルバの容量変数が到達都市に付随する容量変化の加算される例である。まず、配達する荷物の最低容量又は重量を単位として設定する。例えば、容量に関してはサイズ指定として縦横高を足した数字で得られる60サイズから120サイズがある。ここで、例えば120サイズの容積を0.08m3単位として設定して、2tトラックでの最大容量を16m3とする。レターパック(登録商標)等の極端に小さなものに関しては0サイズとして換算する。これから、Qvol=180と定まる。
【0107】
これらの設定は、下式(40)に示すように、各車ごとに行う。
【数49】
【0108】
実際、容量制限をそれほど考慮に入れなくてもよい場合も多い。これらに対して、次の多段階解法を用いてもよい。即ち、極端に容量制限に引っかかる配達を先に選別しておく。このために、先に単純CVRPの問題を解き、運べない車を選別し、配達車種を決定しておく。その後、車種指定を入れた上で、容量制限なしのTS-SVRPを解けば、キュービッツの消費を抑えて計算が可能になる。このように、本実施例によれば、容量制限内の問題を考えるので配達及び集荷を同時に行うことが可能になる。
【0109】
(実施例6)
図15は、実施例6を説明する図である。実施例6は、配達の時間指定の例である。本実施例は、イジングソルバの時刻又は単調増加もしくは単調減少の容量に応じて都市への到達許可を設定する手法の例である。顧客(都市)への配達時間をスケジュールの時間単位で設定できる。
図15に示すようにある顧客への配達可能時間帯が指定されている場合には、配達不可能な時間帯のキュービッツを0と置けばよい。本実施例によって、多重ウィンドウ(Multi-Window)の定式化が容易となる。
【0110】
(実施例7)
図16は、実施例7を説明する図である。実施例7は、配達の車種指定の例である。本実施例は、イジングソルバにおいて特定の車について幾つかの都市に到達許可又は到達拒否を設定する例である。本実施例より、顧客(都市)への配達車種を限定できる。
図17に示すように、大型車(i)について、顧客(b)は道が狭くて進入不可であり、小型車(j)について、顧客(a)は配達物が大きすぎて配達不可であり、このように配達不可能な車種のキュービッツを手動で0と置けばよい。本実施例により、タイプウィンドウ(type-window)の定式化が可能となる。
【0111】
(実施例8)
図17は、実施例8を説明する図である。実施例8は、配達ドライバの勤務時間設定の例である。本実施例は、イジングソルバの時刻又は単調増加もしくは単調減少の容量の範囲が、各車ごとに異なる例である。各ドライバの勤務時間内にすべての仕事を終えるべきである。この設定も上記と同様にして、
図17に示すように、ドライバ(i)が午前勤務である場合には、勤務時間外のキュービッツを手動で0と置けばよい。これにより、ドライバのタイムウィンドウ(time-window)の定式化が可能となる。
【0112】
(実施例9)
図18は、実施例9を説明する図である。実施例9は、滞在時間設定の例である。本実施例は、イジングソルバの容量変数が状態変数からなる例である。各顧客への配達及び積み下ろしや組み立て等の滞在作業は、各顧客の指定時間内に行われるべきである。これらは状態によって記述できる。
図18に示すように、到着(Arrival)及び出発(Departure)の2状態を導入することで実現できる。
図18の例では、時間帯181において、この顧客が搬送及び販売広告告知のみなので20分の滞在を見込んでおり、時間帯182では、エアコン設置等の作業を伴うため、40分の滞在を見込んでいる。このように、本実施例により、状態間遷移に応じて移動規制を設定可能である。
【0113】
(実施例10)
実施例10は、上記の実施例を複合的に扱う例である。本実施例は、イジングソルバのコストが時間又は単調増加もしくは単調減少の容量変数に依存する例である。また、本実施例は、イジングソルバの移動ステップ数とコストとが一般に異なる例でもある。また、本実施例は、イジングソルバの時刻又は単調増加もしくは単調減少の容量変数に応じて都市への到達許可を設定する手法の例でもある。また、本実施例は、イジングソルバの時刻又は単調増加もしくは単調減少の容量変数の範囲が、各車ごとに異なる例でもある。さらに、本実施例は、イジングソルバにおいて都市に付随する変数を各車均等に振り分ける傾向を作る相互作用の例でもある。
【0114】
本実施の形態の定式化を採用することで、複数台の車やトラックによる荷物の配達について、例えば、以下の制約(1)~(12)を同時に満たす配達の定式化が可能となる。
(1)午前9時~12時の3時間を20分間隔でスケジューリングして最適化すること(総9コマ)。
(2)平均50km/hで配達し、平均所要時間40分(最大4コマ、最低1コマ使用)の配達先分布。
(3)配達時刻に応じて、道路の混雑具合が異なり、出発時刻に応じて到達時間が異なる。
(4)各滞在先では、荷卸に伴う10分の滞在時間を設けなければならない。
(5)1日合わせて20個所への配達を5台の車(例えば、2台の車と3台のトラック)で行う。
(6)配達先には、複数の時間帯を跨る時間帯指定(スケジュール単位20分刻みによる指定)がある。
【0115】
(7)車とトラックには積載容量及び重量限界があり、車種によってその限界値が異なる。
(8)配達先の一部は、道が狭くトラックは進入不可であるため、車でないと配達できない。また、一部の荷物は積載重量又は容量限界を超えており、トラックでないと配達できない。
(9)一部のトラックに関しては、配達と同時に集荷も行う。特に集荷は適度な配達によって、集荷のスペースを確保した上で積載限界を超えないようにしなければならない。
(10)一部のドライバの勤務時間は通常勤務と異なり短い(例えば、午前10時からのみ等)。
(11)午前中3時間の間に任意の20分で休憩をとる。何時に休憩を取りたいかは、ドライバの申告制であり、各ドライバによって異なる。これは、申告された時間帯を跨ぐ移動時間に休憩時間分を加えて消費コマ数として入力すればよい。
(12)一部の荷物はクール便であるので、ある程度遠回りになっても比較的優先的に配達すべきである。
本実施の形態によって、これらの制約を同時にQUBO形式で定式化することが可能である。
【0116】
(実施例11)
図19は、実施例11を説明する図である。実施例11は、大規模問題に対する多段階解法の例である。
図19に示すように、各大都市で配達する荷物をまとめて1つの荷物とすることで、CVRPの多段解法を行うことができる。
【0117】
(実施例12)
図20は、実施例12を説明する図である。実施例12は、複数台のバスが重複を許して複数のバス停を巡回するが同時刻到着を許さない最短経路の探索の例である。本実施例は、イジングソルバの時刻又は単調増加もしくは単調減少の容量変数が同一範囲にある場合に、異なる車が同一の都市を訪れない例である。また、本実施例は、イジングソルバの都市間依存相互作用の入れ方として、到達不可能都市の設定方法の例でもある。
【0118】
まず、30分以内に巡回するスケジュールを2分間隔で最適化する(総15コマ)。そして、平均36km/hで巡回し、平均所要時間が4分(最大4コマ、最低1コマ使用)の巡回をする。7個所を3台で巡回するが、複数のバスが1つのバス停に同時刻に到達することは許されない。また、道なりにあるバス停はすべて停止する。即ち、あるバス停からいけるバス停は限られている。
【0119】
この事例は、標準制約式(18)の替わりに、以下の相互作用を与えることで同時に定式化が可能となる。即ち、下式(50)に示すように、都市(a)に、車(i)が時刻(t)に訪れたなら、その他の車(j)は同一時刻に都市(a)を訪れない。
【数50】
また、所要コマ数のペナルティ項で一律排除することで到達不可能な都市間の移動を禁止できる。
【0120】
(実施例13)
図21は、実施例13を説明する図である。実施例13は、TS-mCSVRP最適化ソルバシステムの例である。制約付き最小コストのマルチルート問題に情報を入力することで、本実施の形態の時間スケジュール(Time-scheduled)CSVRPのQUBO定式化が実現され、各種最適ルートを算出することができる。この情報入力としては、上記で説明した各種の情報であり、例えば以下を含む。
(1)各時刻における配達先(都市)を移動した際の算出コスト情報
【数51】
(2)各時刻における配達先(都市)を移動した際の消費時間(コマ)情報
【数52】
(3)配達又は集荷する荷物の容量及び重量の情報
【数53】
(4)配達車の容量及び重量の制限情報
【数54】
(5)配達先時間指定情報、ドライバ勤務時間情報、配達車種や車両の情報
【数55】
【0121】
また、本実施の形態の時間スケジュール(Time-scheduled)CSVRPのQUBO定式化におけるQUBO行列の係数をQUBO/イジングソルバに入力することで、イジング模型の量子物理マシンや古典イジングソルバによる高速最適化して最適解(イジングスピン配列)を得ることができる。このように、実施例13は、マルチルート問題の情報をQUBO問題の係数に入力し、イジング系ソルバで最適解を算出するシステムである。
【産業上の利用可能性】
【0122】
以上のように、本発明は、複数の移動体の経路について、迂回経路も含む最適な経路を推定できるという効果を有し、経路推定システム等として有用である。
【符号の説明】
【0123】
21 1個跳び
22 2個跳び
141 距離