IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2022-173947経路探索プログラム、経路探索装置、及び、経路探索方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022173947
(43)【公開日】2022-11-22
(54)【発明の名称】経路探索プログラム、経路探索装置、及び、経路探索方法
(51)【国際特許分類】
   G01C 21/34 20060101AFI20221115BHJP
   G08G 1/00 20060101ALI20221115BHJP
【FI】
G01C21/34
G08G1/00 C
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021080023
(22)【出願日】2021-05-10
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】川下 光也
【テーマコード(参考)】
2F129
5H181
【Fターム(参考)】
2F129AA03
2F129DD03
2F129DD20
2F129DD63
2F129FF11
2F129FF12
2F129FF15
2F129HH20
2F129HH21
5H181AA01
5H181BB05
5H181EE03
(57)【要約】
【課題】複数の車両グループのそれぞれの最適な経路を探索する際の処理時間を削減する。
【解決手段】コンピュータ2が、各車両グループに1以上の地点を共有する複数の経路のいずれかを割り当てる処理において、各車両グループに設定される優先順位と、各経路に含まれる地点の各々を車列グループが通過する時刻と、第1の時間間隔ごとに各経路に含まれる各地点を通過することが許容される車両グループの許容数とに基づき、各車両グループと前記第1の時間間隔ごとに区別される複数の第1の経路の各々との第1の組み合わせを特定し、前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループの各々と、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路の各々との第2の組み合わせを特定する。
【選択図】図4
【特許請求の範囲】
【請求項1】
複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行し、
前記経路探索処理において、
前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定し、
前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する、
処理をコンピュータに実行させる、経路探索プログラム。
【請求項2】
前記許容数は、前記第1の時間間隔と前記第2の時間間隔とに基づき算出され、
前記第2の組み合わせを特定する処理は、前記許容数が2以上である場合に実行される、
請求項1に記載の経路探索プログラム。
【請求項3】
前記第2の組み合わせを特定する処理は、
前記第2の時間間隔に同一の地点を通過する車両グループが重複する場合、前記重複する車両グループのうちの前記優先順位の高い第1の車両グループの経路と、前記複数の車両グループのうちの前記第1の車両グループよりも前記優先順位の高い第2の車列グループの経路と、を前記複数の第2の経路のうちの前記優先順位を満たす経路にそれぞれ確定する、処理を含む
請求項1又は請求項2に記載の経路探索プログラム。
【請求項4】
前記第2の組み合わせを特定する処理は、
前記複数の第2の経路のうちの前記確定した経路を除外した経路の中から、前記複数の車両グループのうちの経路が未確定の車両グループの経路を、前記優先順位に基づき確定する、処理を含む
請求項3に記載の経路探索プログラム。
【請求項5】
前記第1の組み合わせを特定する処理及び前記第2の組み合わせを特定する処理のそれぞれは、前記複数の車両グループの少なくとも1つの出発時刻及び到着時刻の一方又は双方を含む、
請求項1~請求項4のいずれか1項に記載の経路探索プログラム。
【請求項6】
前記複数の第1の経路及び前記複数の第2の経路のそれぞれは、前記第1の経路又は前記第2の経路に含まれる地点を示す情報と、前記地点を車両グループが出発、通過又は到着する時刻と、が対応付けられた複数の地点情報を含む、
請求項1~請求項5のいずれか1項に記載の経路探索プログラム。
【請求項7】
複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行する制御部を備え、
前記制御部は、前記経路探索処理において、
前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定し、
前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する
経路探索装置。
【請求項8】
複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行し、
前記経路探索処理において、
前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定し、
前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する、
処理をコンピュータが実行する、経路探索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路探索プログラム、経路探索装置、及び、経路探索方法に関する。
【背景技術】
【0002】
複数の車列を複数の出発地から複数の目的地に移動させるための移動計画を生成する技術が知られている。車列は、1以上の車両により形成される車両グループの一例である。車両は、例えば、トラック及び車等の移動体であってよい。
【0003】
移動計画を生成する手法として、例えば、組み合わせ最適化問題を解くことによって交通量の最適化及び渋滞回避を行なう第1の手法が知られている。
【0004】
第1の手法では、例えば、全ての車列にそれぞれの車列の出発地から目的地への最短経路の移動を設定すると、各最短経路に車列が集中して渋滞が発生し、車列の目的地への到着時刻が渋滞による移動速度の低下分遅延することがある、というケースを想定する。
【0005】
例えば、第1の手法は、車列の出発地及び目的地の組み合わせごとに複数の経路を求め、複数の組み合わせの中から、他の出発地及び目的地の組み合わせを有する車列と経路が重ならない組み合わせを求める。第1の手法では、複数の出発地から複数の目的地に向かう車両の経路を分散させることで交通量を分散させ、目的地に最も早く到着できる経路を求めることで、遅延時間の平滑化を行なうことができる。
【0006】
また、移動計画を生成する手法として、交通量を分散させることで渋滞を回避する、トラフィックフローの最適化を行なう第2の手法が知られている。
【0007】
第2の手法では、例えば、コンピュータは、地図データに基づき、地図データに含まれる各地点の名称(地点名)と、地点間の距離とを含むグラフを抽出する。地点としては、例えば、交差点、高速道路のIC(Interchange)等の、経路決定に影響を与える場所、一例として経路の分岐又は合流に関わる場所が挙げられる。
【0008】
次いで、コンピュータは、車列の出発地及び目的地の情報と、抽出したグラフとに基づき、車列ごとに複数の経路候補を求める。複数の経路候補には、例えば、移動距離が最短となる経路、移動時間が最短となる経路、高速道路及び一般道路の一方を優先する経路、等が含まれてよい。そして、コンピュータは、求めた経路候補から、各車列の出発地から目的地への経路どうしが同じ道路をなるべく通行しない組み合わせとなる最適経路を求める。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許公開第2020/0082711号
【特許文献2】特開2010-44528号公報
【特許文献3】米国特許公開第2010/0057346号
【発明の概要】
【発明が解決しようとする課題】
【0010】
第1の手法では、各経路における車列(或いは車両)の通行量を抑制することで交通量を分散させる手法であるため、例えば、優先させたい車列に個別に優先順位を設定し、優先順位に従って経路を設定するといった詳細な経路設定を行なうことは困難である。
【0011】
また、車列の通行時刻をずらすことで複数の車列に同一の経路を設定するといった時間軸上で交通量を分散させることが想定されておらず、例えば、同一の経路について、優先順位の高い車列の後に優先順位の低い車列を設定することが困難である。
【0012】
第2の手法では、個別の車列(或いは車両)の渋滞を回避するためのスケジュールを作成する場合、コンピュータの処理が煩雑となり得る。例えば、コンピュータは、出発地から目的地までの各車列の通行経路と地点ごとの時刻(例えば通過時刻)とを計算し、他の車列の経路との間で重複しないようにスケジュールを作成することになる。
【0013】
このように、第1及び第2の手法では、全ての車列に対して移動時間が最短となる経路、換言すれば適切な経路を設定することが困難である。また、全ての車列に対して適切な経路を設定する場合には、計算量が多いため、コンピュータの処理負荷が増加し、経路の設定(経路探索)の処理時間が増加することになる。
【0014】
1つの側面では、本発明は、複数の車両グループのそれぞれの最適な経路を探索する際の処理時間を削減することを目的の1つとする。
【課題を解決するための手段】
【0015】
1つの側面では、経路探索プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行する、処理を含んでよい。また、前記処理は、前記経路探索処理において、前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定する処理を含んでよい。さらに、前記処理は、前記経路探索処理において、前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する処理を含んでよい。
【発明の効果】
【0016】
1つの側面では、本発明は、複数の車両グループのそれぞれの最適な経路を探索する際の処理時間を削減できる。
【図面の簡単な説明】
【0017】
図1】一実施形態に係るシステムの機能構成例を示すブロック図である。
図2】車列及び車列間の間隔の一例を説明するための図である。
図3】渋滞の発生例を説明するための図である。
図4】一実施形態に係るサーバの機能構成例を示すブロック図である。
図5】グラフ抽出処理の一例を説明するための図である。
図6】始点終点情報の一例を示す図である。
図7】経路候補情報の一例を示す図である。
図8】経路情報の一例を示す図である。
図9】一実施形態に係るサーバの動作例を説明するフローチャートである。
図10図9に示す時刻情報設定処理の動作例を説明するフローチャートである。
図11図9に示す組み合わせ最適化処理の動作例を説明するフローチャートである。
図12図9に示す経路重複判定処理の動作例を説明するフローチャートである。
図13図9に示す重複リカバリ処理の動作例を説明するフローチャートである。
図14】第1適用例の時刻情報設定処理例を示す図である。
図15】第1適用例の最適解判定例を示す図である。
図16】第1適用例の組み合わせ最適化処理例を示す図である。
図17】第2適用例のグラフ及び経路例を示す図である。
図18】第2適用例の車列ごとの経路例を示す図である。
図19】第2適用例の車列ごとの通過時刻例を示す図である。
図20】第2適用例の経路候補例を示す図である。
図21】第2適用例の経路候補例を示す図である。
図22】第2適用例の組み合わせ最適化処理例を示す図である。
図23】第2適用例の経路候補(詳細)例を示す図である。
図24】第2適用例の経路重複判定処理例を示す図である。
図25】第2適用例の経路一部確定処理例を示す図である。
図26】第2適用例の重複リカバリ処理例を示す図である。
図27】第2適用例の組み合わせ最適化再処理例を示す図である。
図28】第2適用例の確定した経路情報の一例を示す図である。
図29】第3適用例の複数経路の一例を示す図である。
図30】第3適用例の複数出発地、複数目的地の一例を示す図である。
図31】サーバの機能を実現するコンピュータのハードウェア(HW)構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0019】
〔1〕一実施形態
〔1-1〕一実施形態に係るシステムの説明
(システムの構成例)
図1は、一実施形態に係るシステム1の機能構成例を示すブロック図である。図1に示すように、システム1は、例示的に、サーバ2、地図データ提供元3、及び、経路情報提供先4を備えてよい。以下の説明では、一実施形態に係るシステム1は、便宜上、経路探索の対象となる車両(車列)が経路を優先的に利用でき、経路探索の対象外の車両が少数である場合を想定するが、これに限定されるものではない。
【0020】
サーバ2は、複数の車列を複数の出発地から複数の目的地に移動させるための移動計画を生成する装置又はシステムである。例えば、サーバ2は、複数の車列のそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行する経路探索装置の一例である。サーバ2は、移動計画として、例えば、車列ごとの経路情報を生成してよい。経路情報には、例えば、車列が通過する経路と、各経路の時刻(例えば通過時刻;一例として、到着時刻及び出発時刻の一方又は双方)とが含まれてよい。
【0021】
地図データ提供元3は、サーバ2に対して地図データを提供するサービスを実現する装置又はシステムであり、例えば、既知の種々の地図情報提供サービスであってよい。地図データ提供元3は、例えば、API(Application Programming Interface)を介してサーバ2に地図データを送信してもよい。APIは、サーバ2からの地図データの取得要求を受け付け、取得要求に含まれる出発地及び目的地を示す情報、又は、地域(エリア)を示す情報等に基づき、出発地及び目的地、又は、地域を範囲に含む地図データをサーバ2に送信(応答)する。
【0022】
経路情報提供先4は、サーバ2により生成される経路情報(移動計画)が提供される装置又はシステムである。経路情報提供先4としては、例えば、複数の車列(複数の車両)の移動を管理する管理装置、複数の車両のうちの少なくとも1つの車両、及び、複数の車両のうちの少なくとも1つの車両の運転手が有する端末装置、のうちの少なくとも1つが挙げられる。
【0023】
管理装置としては、例えば、複数の車両の移動を管理するオペレータが利用するPC(Personal Computer)等のコンピュータが挙げられる。経路情報提供先4が車両である場合、経路情報は、例えば、サーバ2から、当該車両に搭載されるナビゲーションシステム等の通信機器に提供(送信)されてもよい。運転手が有する端末装置としては、例えば、PC、スマートフォン、携帯電話等の種々のコンピュータが挙げられる。
【0024】
サーバ2と地図データ提供元3との間、及び、サーバ2と経路情報提供先4との間は、それぞれ、種々のネットワークを介して相互に通信可能に接続されてよい。ネットワークは、例えば、インターネット、及び、セルラ網等のモバイルネットワークの一方又は双方であってもよい。また、ネットワークは、LAN(Local Area Network)等のイントラネットを含んでもよい。
【0025】
(車列について)
次に、一実施形態に係るシステム1における処理の前提となる車列について説明する。例えば、一実施形態では、複数の出発地から複数の目的地に全ての車列を移動する経路を、車列ごとに算出する。一実施形態に係るシステム1は、種々の組織、例えば、企業又は省庁等における種々の移動計画の立案に適用されてよい。
【0026】
図2は、車列及び車列間の間隔の一例を説明するための図である。図2に例示するように、車列は、車両グループの一例であり、複数(所定数)台、例えば10台程度の車両により形成されてよい。車列を形成する複数の車両は、出発地及び目的地を共通とするグループに属するといえる。車列の走行(移動)は、複数の車両が一定の車両間距離を空けて列になって走行するものとする。一実施形態において、経路探索の対象となる車両の台数は、数台~数万台、或いはそれ以上の台数であってもよい。
【0027】
車両間距離は、例えば、組織ごとに決定されてよい。一実施形態では、車両間間隔が200mであるものとする。車列の長さは、車列を形成する車両の台数と車両間間隔とを乗じた長さXm(Xは1~数万程度の実数又は整数)であり、図2の例では、一例として10台×200m=2000m(2km)程度の長さでよい。
【0028】
なお、10台を超える車両、例えば20台の車両が出発地及び目的地を共通とするグループに属する場合、当該グループは、1つのグループを形成する車両が所定数程度となるように複数、例えば2つのグループ(車列)に分割されてもよい。
【0029】
図2に示すように、車列間は、例えばそれぞれ2kmの車列による渋滞の発生を回避するために、十分な車列間の間隔が確保されてよい。車列間の間隔は、例えば、組織ごとに決定されてよい。一例として、車列間の間隔は、各車列の先頭に位置する車両が或る地点を通過する際の時間差によって表現されてよい。図2の例では、車列間の間隔がY分(Yは0~数百程度の実数)、一例として、10分程度の時間間隔であってよい。
【0030】
ここで、図3に例示するように、複数の出発地A及びBから出発した車列がそれぞれ共通の目的地Cに移動する場合、車列が合流する際に渋滞が発生する場合がある。渋滞が発生する可能性及び渋滞の度合いは、例えば、それぞれの車列の目的に近づくほど高まる。
【0031】
例えば、上述したように、第1及び第2の手法では、全ての車列に対して移動時間が最短となる経路、換言すれば適切な経路を設定することが困難である。また、全ての車列に対して適切な経路を設定する場合には、計算量が多いため、コンピュータの処理負荷が増加し、経路の設定(経路探索)の処理時間が増加することになる。
【0032】
そこで、一実施形態に係るシステム1は、車列ごとに通行時刻を考慮に入れたスケジュールを作成する。例えば、システム1は、上述した車列及び車列間間隔等の条件に基づき、各車列について最短経路の交通量が多い場合には迂回路を設定する、時刻を遅らせて最短経路を移動する、等により、全ての車列が最短で移動を完了するスケジュールを車列ごとに求める。
【0033】
一例として、システム1は、車列ごとに、経路の各頂点に時刻情報を付与した経路候補を作成し、各頂点における渋滞度を測定して各車列の通過時刻を考慮した最適化を行なうことで、経路候補から車列ごとの経路情報を取得してよい。各頂点とは、例えば、経路における車列の通過点又は分岐点であってよい。これにより、一実施形態に係るシステム1によれば、複数の車列のそれぞれの最適な経路を探索する際の処理時間を削減することができる。
【0034】
〔1-2〕サーバの機能構成例
図4は、一実施形態に係るサーバ2の機能構成例を示すブロック図である。図4に示すように、サーバ2は、例示的に、メモリ部21、地図データ取得部22、グラフ抽出部23、始点終点設定部24、経路候補算出部25、条件設定部26、組み合わせ最適化部27、及び、出力部28を備えてよい。地図データ取得部22、グラフ抽出部23、始点終点設定部24、経路候補算出部25、条件設定部26、組み合わせ最適化部27、及び、出力部28は、制御部20の一例である。
【0035】
メモリ部21は、記憶領域の一例であり、サーバ2が利用する種々のデータを記憶する。図4に示すように、メモリ部21は、例示的に、地図データ21a、グラフ情報21b、始点終点情報21c、経路候補情報21d、条件情報21e、及び、経路情報21fを記憶可能であってよい。以下、便宜上、これらの情報21a~21fのそれぞれをテーブル形式で表記するが、これに限定されるものではなく、情報21a~21fのうちの少なくとも1つは、DB(Database)形式又は配列等の種々の形式でメモリ部21に格納されてよい。
【0036】
地図データ取得部22は、地図データ提供元3から地図データを取得し、取得した地図データを地図データ21aとしてメモリ部21に格納する。例えば、地図データ取得部22は、地図データ提供元3のAPIに対して、出発地及び目的地を示す情報、又は、地域(エリア)を示す情報等を含む取得要求を送信し、APIから地図データを受信(取得)してよい。
【0037】
グラフ抽出部23は、地図データ取得部22が取得した地図データ21aからグラフ情報を抽出するグラフ抽出処理を行ない、抽出したグラフ情報をグラフ情報21bとしてメモリ部21に格納する。
【0038】
図5は、グラフ抽出処理の一例を説明するための図である。図5に示すように、グラフ抽出部23は、グラフ抽出処理において、地図データ21aから地点(頂点)間の距離と接続情報とを取得する。「地点」とは、例えば、交差点、高速道路のIC等の、経路決定に影響を与える場所、一例として経路の分岐又は合流に関わる場所が挙げられる。
【0039】
例えば、グラフ抽出部23は、地図データ21aからグラフを抽出する。グラフには、例えば、地点名と地点間の距離情報とが含まれてよい。図5の例では、グラフ抽出部23は、地図データ21aに含まれる抽出対象の頂点、例えば交差点に、名称として“1”~“11”の符号を付して、地図データ21aにおける各交差点を頂点とし道路を辺としたグラフを作成してよい。なお、「辺」には、例えば、m又はkmを単位とした距離情報が設定されてよい。そして、グラフ抽出部23は、グラフの頂点及び辺をグラフ情報21bに変換してよい。換言すれば、グラフ抽出部23は、図5に例示するように、地図データ21aに基づきグラフ情報21bを生成するグラフ情報生成処理を行なう。
【0040】
図5に示すように、グラフ情報21bは、例示的に、複数の頂点として「頂点A」及び「頂点B」、並びに、「辺」の項目を含んでよい。「頂点A」及び「頂点B」は、地点の接続情報の一例である。例えば、「頂点A」及び「頂点B」には、それぞれ、グラフに含まれる辺(線分)を形成する頂点のペア、例えば、2つの交差点の識別情報(例えば名称“1”~“11”)が設定されてよい。「辺」は、地点間の距離の一例である。例えば、「辺」には、「頂点A」及び「頂点B」の2つの交差点間の距離が設定されてよい。
【0041】
始点終点設定部24は、車列ごとに、車列の出発地(始点)及び目的地(終点)を始点終点情報21cに設定し、メモリ部21に格納してよい。
【0042】
図6は、始点終点情報21cの一例を示す図である。図6に示すように、始点終点情報21cは、例示的に、「車列No.」、「出発地」及び「目的地」の項目を含んでよい。「車列No.」は車列の識別情報の一例である。「出発地」及び「目的地」は、それぞれ、車列の出発地及び目的地を示す情報であり、例えば、地点(頂点)の緯度経度等の位置情報、名称等の識別情報であってよい。
【0043】
例えば、始点終点設定部24は、サーバ2のオペレータにより入力装置を介して入力された、又は、ネットワークを介して受信した情報に基づき、始点終点情報21cを生成してもよい。或いは、始点終点設定部24は、入力装置又はネットワーク等から始点終点情報21cそのものを取得してもよい。なお、地図データ取得部22は、例えば、始点終点情報21cに基づき地図データ提供元3から出発地及び目的地に対応する地図データ21aを取得してもよい。
【0044】
経路候補算出部25は、経路の各頂点に通過時刻を付与した経路候補を車列ごとに生成し、経路候補情報21dとしてメモリ部21に格納する。
【0045】
例えば、経路候補算出部25は、グラフ情報21b及び始点終点情報21cに基づき、ダイクストラ法等の種々の経路探索手法を利用して、車列ごとに、出発地から目的地までの複数の経路候補を求めてよい。
【0046】
また、経路候補算出部25は、経路候補に含まれる地点間の距離と、地点間の車列(車両)の移動速度とに基づき、車列(例えば車列の先頭車両)が各地点を通過する時刻を算出し、算出した時刻情報を経路候補に対応付けてよい。移動速度は、例えば、当該地点間の道路種別に応じた車列(車両)の移動速度であり、既知の種々の手法により取得されてよい。
【0047】
さらに、経路候補算出部25は、経路候補における出発地の時刻(出発時刻)を互いにずらした経路候補を生成することで、1つの車列について、出発地から目的地までの経路が共通であり、且つ、時刻が互いに異なる複数の経路候補を取得してよい。経路候補をずらす量(ずらす時間)は、例えば、車列間の間隔(時間間隔)と一致してよい。なお、経路候補をずらす量は、後述する条件設定部26による制約条件の変更に応じて変化する場合がある。
【0048】
経路候補算出部25は、例えば、各車列の出発地、経由地及び目的地の少なくとも1つに、出発時刻及び到着時刻の一方又は双方が定められている場合には、当該定められた時刻に応じて、経路に時刻情報を設定してよい。出発時刻及び到着時刻の一方又は双方は、例えば、始点終点情報21cにおいて指定されてもよいし、経路候補算出部25が入力装置又はネットワーク等から取得してもよい。
【0049】
図7は、経路候補情報21dの一例を示す図である。図7に示すように、経路候補情報21dは、複数の経路(経路候補)のそれぞれについて、各経路に含まれる地点を示す情報と、当該地点を車列が出発、通過又は到着する時刻と、が対応付けられた複数の地点情報を含む。図7に示すように、経路候補情報21dは、例示的に、「車列No.」、「経路候補No.」、「地点」、「時刻」、「出発地FLG」、及び、「目的地FLG」の項目を含んでよい。
【0050】
「車列No.」は車列の識別情報の一例であり、「経路候補No.」は経路候補の識別情報の一例である。「地点」は経路候補において車列が通過する頂点を示す情報であり、例えば、地点の識別情報であってよい。「時刻」は「地点」を車列が通過する時刻である。「出発地FLG」及び「目的地FLG」は、それぞれ、「地点」が出発地である場合及び目的地である場合に有効(例えば“1”)に設定され、「地点」が出発地及び目的地ではない場合に無効(例えば“0”)に設定されるフラグ(FLAG)情報であってよい。
【0051】
図7に例示するように、経路候補算出部25は、車列No.1の車列について、経路候補No.1及び2の2つの経路候補を生成してよい。経路候補No.1は、地点a(出発地)、地点1、地点2及び地点b(目的地)の経路に対して、時刻“8:00”、“10:00”、“15:00”及び“17:00”を対応付けた経路候補である。経路候補No.2は、経路候補No.1と共通の経路に対して、経路候補No.1の時刻をずらした(例えば1時間遅らせた)時刻“9:00”、“11:00”、“16:00”及び“18:00”を対応付けた経路候補である。
【0052】
なお、出発地及び目的地の地点は、車列ごとに、始点終点情報21cに基づき判別可能であるため、経路候補情報21dにおいて、「出発地FLG」及び「目的地FLG」が省略されてもよい。或いは、経路候補情報21dには、「出発地FLG」及び「目的地FLG」に代えて、各地点の通過順序を示す情報が設定されてもよい。
【0053】
また、経路候補算出部25は、出発時刻及び目的時刻の一方又は双方が指定されている車列については、生成する当該車列の経路候補を、指定された出発時刻及び目的時刻の一方又は双方と一致する経路候補に制限してもよい。
【0054】
条件設定部26は、経路候補情報21dに基づき車列間の経路の組み合わせを最適化するための条件情報21eを設定し、メモリ部21に格納してよい。条件情報21eには、例えば、目的及び制約条件が含まれてよい。「目的」とは、例えば、組み合わせ最適化において達成するための目的関数であってよく、一例として、「総移動時間の最小化」、「総流入車両の最大化」等が挙げられる。「制約条件」とは、組み合わせ最適化において制約となる条件であり、一例として、「1台の車両には1つの経路しか割り当てられないこと」、「1つの頂点を(同時刻に)通過できる車両の台数」、「目的地への車列の到着順序」等が挙げられる。
【0055】
例えば、条件設定部26は、サーバ2のオペレータにより入力装置を介して入力された、又は、ネットワークを介して受信した情報に基づき、条件情報21eを生成してもよい。或いは、条件設定部26は、入力装置又はネットワーク等から条件情報21eそのものを取得してもよい。条件情報21eは、経路探索を要求する組織ごとに異なってもよく、また、組織における経路の探索用途ごとに異なってもよい。
【0056】
組み合わせ最適化部27は、経路候補情報21d及び条件情報21eに基づき、経路探索対象の全ての車列が条件情報21eに含まれる制約条件を満たし、且つ、目的を達成できる最適な経路の組み合わせを、経路情報21fとしてメモリ部21に格納する。
【0057】
図8は、経路情報21fの一例を示す図である。図8に示すように、経路情報21fは、例示的に、「車列No.」、「地点」及び「時刻」の項目を含んでよい。「車列No.」、「地点」及び「時刻」は、それぞれ、経路候補情報21dに含まれる項目「車列No.」、「地点」及び「時刻」と同様である。経路情報21fは、車列ごとに、当該車列が通行する地点と、各地点を通行する時刻とを対応付けたスケジュールの一例である。
【0058】
組み合わせ最適化部27は、一例として、全ての出発地から目的地に向かう車列が、同じ時刻に同じ場所(地点)に居らず、且つ、全ての車列の移動時間が最短となる経路の組み合わせを求めてよい。例えば、組み合わせ最適化部27は、出発地から目的地までに各車列が通行する経路と、経路の地点ごとの時刻とに基づき、条件情報21eを満たすように、各車列(車両)が他の車列との経路上で重複しないようなスケジュールを作成することができる。換言すれば、組み合わせ最適化部27は、個々の車列(車両)が渋滞を回避するためのスケジュールを作成することができる。
【0059】
なお、組み合わせ最適化部27は、条件情報21eに複数の目的が含まれる場合、多目的最適化計算等の手法によって、目的間に優先順位を設定して、経路の組み合わせを最適化してよい。
【0060】
出力部28は、経路情報21fを出力する。例えば、出力部28は、経路情報21fを経路情報提供先4に送信してよい。
【0061】
〔1-3〕組み合わせ最適化部の説明
次に、組み合わせ最適化部27の詳細について説明する。上述したように、一実施形態に係る経路候補算出部25が生成する経路候補情報21dには、車列ごとに、車列が同じ道路を通行する経路候補として、互いに時刻をずらした複数の経路候補が含まれる。
【0062】
このため、組み合わせ最適化部27が組み合わせ最適解を求める際に、経路候補が増えることによって組み合わせの計算規模が指数的に増大することになる。例えば、車列(又は車両)が2つであり、経路候補数を増加させるケースを想定する。それぞれの車列の経路候補数が2つの場合、経路候補の組み合わせ数は2^2=4となる。経路候補数が3つの場合の組み合わせ数は3^2=9となり、経路候補数が4つの場合の組み合わせ数は4^2=16となる。
【0063】
また、図8に示す経路情報21fでは、1時間に1つの車列が各地点を通過する例を示すが、例えば、1時間に6つの車列(又は車両)が各地点を通過する場合、上述した経路候補の組み合わせ数は、10分ごとの経路候補の組み合わせ数となる。この場合、経路候補数が2であっても、1時間あたり6^2=36の組み合わせ数となる。
【0064】
そこで、一実施形態に係る組み合わせ最適化部27は、経路候補数を増やすことにより組み合わせ数が指数的に増加する場合において、当該組み合わせ数(経路候補数)を削減する。以下、組み合わせ最適化部27による組み合わせ数(経路候補数)の削減手法の一例を説明する。
【0065】
例えば、一実施形態では、組み合わせ最適化部27は、制約条件を変更した条件情報21eを用いて、組み合わせ最適化処理を行なう。一例として、条件設定部26は、「1つの頂点を“1以下”の車列が同時刻(10分間)に通過できる」という制約条件を、「1つの頂点を“所定数”以下の車列が同時刻(1時間)に通過できる」という制約条件とした条件情報21eを生成又は取得し、メモリ部21に格納する。これにより、同時刻に同じ頂点を通過する車列の数を指定できるようになる。
【0066】
所定数は、1時間等の基準時間の時間間隔ごとに複数の経路候補に含まれる複数の地点のそれぞれを通過することが許容される車列の許容数の一例であり、例えば、車列間の間隔及び1時間等の基準時間に基づき算出されてよい。一例として、所定数は、「基準時間(例えば1時間)」/「車列間の間隔(例えば10分間)」により算出されてよい。所定数は、「頂点許容車列数」と称されてもよい。
【0067】
例えば、車列が2つであり、車列間の間隔が10分である場合、経路候補は、1つの車両について1時間あたり6つ生成されることになる。この場合、制約条件として、「1つの頂点を“所定数”以下の車列が同時刻(1時間)に通過できる」という条件情報21eに基づき経路候補を生成する場合、所定数を6とすることで、経路候補を1時間あたり1つに削減することができる。このとき、条件設定部26は、同時刻として扱う所定時間(時間区間)を、10分間から1時間等の基準時間に変更(増加)してよい。
【0068】
基準時間(例えば1時間)は、第1の時間間隔の一例である。基準時間未満の車列間の間隔(例えば10分間)は、第1の時間間隔よりも短い第2の時間間隔の一例である。
【0069】
なお、上述した制約条件の生成(変更)は、条件設定部26が行なってもよいし、サーバ2のオペレータ等により、変更後の条件として指定されてもよい。経路候補算出部25は、上述のように条件設定部26等により、車列間の間隔(時間間隔)としての所定時間を基準時間に変更された制約条件に基づき、経路候補を生成してよい。
【0070】
各頂点を「所定数以下の車列」が通過するという制約条件で経路候補の組み合わせを算出すると、頂点には、同じ時刻に所定数の最大値の車列が存在することになる。そこで、組み合わせ最適化部27は、組み合わせ最適化処理後に、経路候補に対して、詳細時刻(詳細時間)を設定する。例えば、車列の間隔が10分の場合において、経路候補算出部25が1時間あたり1つの経路候補を求めた場合、同じ時刻に6つの車列が同じ頂点を通過することになる。この場合、組み合わせ最適化部27は、組み合わせ最適化処理後に、当該6つの車列のそれぞれに10分間隔で時刻を付与し直す。
【0071】
組み合わせ最適化部27は、詳細時刻を付与した車列について、他の車列と経路が重複していないか否かを判定する。そして、組み合わせ最適化部27は、重複を検出した場合、重複した車列の経路の再計算を行ない、経路情報21fを更新する。
【0072】
他の例として、条件設定部26は、1分に1つの車列(車両)の通過が可能な経路であれば、当該経路を1時間の間に通過できる車列(車両)を60以下に設定する。この場合、組み合わせ最適化部27は、60車列/1時間により最適化した組み合わせ(経路情報21f)について、優先順位、到着時刻に基づく調整を行なう。例えば、組み合わせ最適化部27は、1時間以内に60の車列を割り当てた場合、該当する60の車列の経路候補全てに0分から59分までの時間を優先順位に応じて付与することで複数の経路候補を作成し、作成した経路候補の組み合わせを最適化する。
【0073】
以上のように、一実施形態に係るサーバ2は、複数の車列のそれぞれに設定される優先順位と、複数の経路に含まれる複数の地点のそれぞれを車列が通過する時刻と、頂点許容車列数とに基づき、第1の組み合わせを特定する。第1の組み合わせは、複数の車列のそれぞれと基準時間ごとに区別される複数の第1の経路候補(図7参照)のそれぞれとの組み合わせであり、例えば、1つの頂点を複数の車列が同時刻に通過できるという条件情報21eに基づき特定される経路情報21fであってよい。
【0074】
また、一実施形態に係るサーバ2は、第1の組み合わせにおいて、第1の時間間隔に2以上の車列が同一の地点を通過する場合(換言すれば、所定数が2以上である場合)、優先順位に応じて、第2の組み合わせを特定する。第2の組み合わせは、2以上の車列のそれぞれと、第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの組み合わせであり、例えば、組み合わせ最適化部27により詳細時刻(詳細時間)が設定された経路候補に基づき特定される(更新される)経路情報21fであってよい。
【0075】
〔1-4〕動作例
以下、上述したシステム1(サーバ2)の動作例を、フローチャートを参照しながら説明する。図9は、一実施形態に係るサーバ2の動作例を説明するフローチャートである。図10図13は、それぞれ、図9に示す時刻情報設定処理、組み合わせ最適化処理、経路重複判定処理及び重複リカバリ処理の動作例を説明するフローチャートである。
【0076】
(サーバ2の動作例)
図9に例示するように、サーバ2のグラフ抽出部23は、地図データ取得部22が地図データ提供元3から取得した地図データ21aに基づきグラフ情報21bを取得し(ステップS1)、メモリ部21に格納する。
【0077】
経路候補算出部25は、グラフ情報21bと、始点終点設定部24が取得した始点終点情報21cとに基づき、複数の経路候補を車列ごとに含む経路候補情報21dを算出し(ステップS2)、メモリ部21に格納する。
【0078】
経路候補算出部25は、始点終点情報21c等に基づき全車列分の経路候補を算出したか否かを判定し(ステップS3)、全車列分の経路候補を算出していない場合(ステップS3でNO)、処理がステップS2に移行する。
【0079】
全車列分の経路候補を算出した場合(ステップS3でYES)、経路候補算出部25は、時刻情報設定処理を行なう(ステップS4)。例えば、経路候補算出部25は、各経路候補について、グラフ情報21bから得られる頂点間の距離と移動速度とに基づき、各頂点を車列が通過する時刻を算出し、算出した時刻を経路候補に対応付けて経路候補情報21dに格納してよい。
【0080】
組み合わせ最適化部27は、経路候補情報21dと条件設定部26が取得した条件情報21eとに基づき、組み合わせ最適化処理を行なう(ステップS5)。組み合わせ最適化処理により最適化された経路候補の組み合わせは、経路情報21fとしてメモリ部21に格納される。ステップS5の組み合わせ最適化処理では、第1の組み合わせを特定する処理が行なわれる。
【0081】
組み合わせ最適化部27は、経路情報21fにおいて、同時刻に同じ頂点を通過する車列が複数存在するか否かを判定する(ステップS6)。なお、ステップS6における「同時刻」とは、例えば、1時間等の所定時間(時間区分)を意味してよい。所定時間は、例えば、車列間の間隔(時間間隔)と同じであってもよいし、異なってもよい。同時刻に同じ頂点を通過する車列が複数存在しない場合(ステップS6でNO)、処理がステップS10に移行する。
【0082】
同時刻に同じ頂点を通過する車列が複数存在する場合(ステップS6でYES)、組み合わせ最適化部27は、同じ時刻に同じ頂点を通過する車列の経路候補に時刻を付与し直す(ステップS7)。例えば、組み合わせ最適化部27は、同じ時刻に同じ頂点を通過する複数の車列のそれぞれの経路候補について、“所定時間/重複車列数”の時間ずつ互いに時刻をずらした詳細な時刻情報(詳細情報)を対応付けてよい。例えば、同時刻(例えば1時間あたり)に同じ頂点を通過する車列が6つである場合、組み合わせ最適化部27は、当該6つの車列のそれぞれの当該地点の通過時刻を10分ずつずらした時刻情報を対応付けてよい。詳細な時刻情報を対応付ける車列の経路候補は、例えば、制約条件として設定される車列の到着順序等の優先順位に応じた順序で選択されてもよい。
【0083】
組み合わせ最適化部27は、経路重複判定処理(ステップS8)、重複リカバリ処理(ステップS9)を行なう。
【0084】
出力部28は、経路情報21fを経路情報提供先4に出力し(ステップS10)、処理が終了する。
【0085】
(時刻情報設定処理)
次に、図10を参照して、図9のステップS4における時刻情報設定処理の動作例を説明する。図10に例示するように、時刻情報設定処理は、経路候補に時刻情報を設定する処理(ステップS12及びS13)、並びに、設定した経路候補ごとに、経路は共通で時刻情報を変更した1以上の経路候補を生成する処理(ステップS14及びS15)を含んでよい。
【0086】
例えば、経路候補算出部25は、経路候補情報21dから時刻情報未設定(未割り当て)の経路候補を取得する(ステップS11)。
【0087】
経路候補算出部25は、取得した経路候補に含まれる頂点間について、グラフ情報21bから得られる頂点間の距離と移動速度とに基づき、車列の移動時間を算出する(ステップS12)。そして、経路候補算出部25は、各頂点間の移動時間を出発時刻に加算していく、又は、到着時刻から減算していくことで、経路候補の頂点ごとに車列が通過する時刻を算出し、算出した時刻情報を経路候補に対応付けて経路候補情報21dに設定する(ステップS13)。
【0088】
また、経路候補算出部25は、車列の間隔に応じた時間を時刻情報に加算する(ステップS14)。車列の間隔に応じた時間とは、例えば、図2に示すY[分]等の時間であってよい。この時間は、例えば、車列の先頭の車両間の移動時間であってよい。なお、車列の間隔に応じた時間は、例えば、制約条件が「1つの頂点を“所定数”以下の車列が同時刻に通過できる」のように変更されている場合には、1時間等の所定時間(時間区分)であってもよい。
【0089】
そして、経路候補算出部25は、加算した時刻情報を設定した1以上の経路候補を生成し(ステップS15)、処理が終了する。これにより、1つの車列の1つの経路候補について、車列が通行する道路(経路)が共通、且つ、通過時刻が互いに異なる(車列間の距離に応じた時間だけずらした)複数の経路候補が生成される。
【0090】
(組み合わせ最適化処理)
次に、図11を参照して、図9のステップS5における組み合わせ最適化処理の動作例を説明する。図11に例示するように、組み合わせ最適化部27は、経路候補情報21dの経路候補と車列の数とに基づき、経路候補の組み合わせを算出する(ステップS21)。当該組み合わせは、全ての車列について、経路候補が1つずつ選択される組み合わせである。
【0091】
組み合わせ最適化部27は、1つの組み合わせを選択し、当該組み合わせ内の頂点ごとの車列数をカウントし(ステップS22)、全ての車列の移動時間を算出する(ステップS23)。
【0092】
組み合わせ最適化部27は、条件情報21eを取得し(ステップS24)、当該組み合わせにおける頂点ごとの車列数及び全ての車列の移動時間が条件情報21eの制約条件を満たすか否かを判定する(ステップS25)。
【0093】
例えば、制約条件として、各頂点には同時刻に所定数以下の車列が通行すること、及び、最短で移動が完了すること、優先度が高い車列が先着となること、が設定されている場合を想定する。
【0094】
条件を満たさない場合(ステップS25でNO)、処理がステップS29に移行する。一方、条件を満たす場合(ステップS25でYES)、組み合わせ最適化部27は、頂点ごとの車列数及び全ての車列の移動時間を、過去の最適解と比較し(ステップS26)、今回が最適解であるか否かを判定する(ステップS27)。今回が最適解か否かの判定は、例えば、条件情報21eの目的の達成度合いの観点で行なわれてもよいし、他の手法が用いられてもよい。なお、最適解は、例えば、メモリ部21等の記憶領域に格納されてよい。
【0095】
ステップS25及びステップS27の一方又は双方の判定では、例えば、複数の制約条件又は目的が存在する場合、多目的最適化計算により、複数の制約条件又は目的を総合的に評価して判定が行なわれてもよい。このとき、例えば、車列が最短で移動しているか、優先順位の高い車列が先着しているか、等の複数の制約条件又は目的の評価結果に重み(優先度)を持たせてもよい。
【0096】
今回が最適解ではない場合(ステップS27でNO)、処理がステップS29に移行する。一方、今回が最適化である場合(ステップS27でYES)、組み合わせ最適化部27は、最適解を更新し(ステップS28)、ステップS21で算出した全ての組み合わせの処理が終了したかを判定する(ステップS29)。
【0097】
全ての組み合わせの処理が終了していない場合(ステップS29でNO)、処理がステップS22に移行する。全ての組み合わせの処理が終了した場合(ステップS29でYES)、組み合わせ最適化部27は、最適解となる経路候補の組み合わせを経路情報21fに格納し(ステップS30)、処理が終了する。
【0098】
以上により、組み合わせ最適化部27は、最適解として、各頂点には同時刻に所定数以下の車列が通行し、最短で移動が完了し、且つ、優先度が高い車列が先着となる経路候補の組み合わせを求めることができる。
【0099】
なお、図11では、経路候補の組み合わせの総当たりによって最適解を算出する手法を例示するが、これに限定されるものではなく、量子コンピュータを利用した最適化問題の解決手法等の種々の手法により、より簡素なロジックで最適解が算出されてもよい。
【0100】
(経路重複判定処理)
次に、図12を参照して、図9のステップS8における経路重複判定処理の動作例を説明する。図12に例示するように、組み合わせ最適化部27は、経路情報21fに含まれる全ての頂点にカウンタを設定する(ステップS31)。このカウンタは、地点、及び、時刻ごとに、当該地点を通過する車列数をカウントするものである。
【0101】
組み合わせ最適化部27は、経路情報21fから各車列の経路(経路候補)を取得し(ステップS32)、経路で使用される(車列が通過する)頂点に対応するカウンタを更新する(ステップS33)。
【0102】
組み合わせ最適化部27は、全ての車列の経路について処理を行なったか否かを判定し(ステップS34)、全ての車列の経路について処理を行なっていない場合(ステップS34でNO)、処理がステップS32に移行する。
【0103】
全ての車列の経路について処理を行なった場合(ステップS34でYES)、組み合わせ最適化部27は、カウンタの値が全て“1”以下であるか否かを判定する(ステップS35)。カウンタの値が全て“1”以下である場合(ステップS35でYES)、換言すれば、同じ時刻に同じ頂点を複数の車列が通過しない場合、組み合わせ最適化部27は、判定結果としてOK(例えば“1”)を設定し(ステップS36)、処理が終了する。
【0104】
カウンタの値に“1”よりも大きい値が含まれる場合(ステップS35でNO)、換言すれば、同じ時刻に同じ頂点を複数の車列が通過する場合(車列が重複する場合)、組み合わせ最適化部27は、判定結果としてNG(例えば“0”)を設定し(ステップS37)、処理が終了する。
【0105】
(重複リカバリ処理)
次に、図13を参照して、図9のステップS9における重複リカバリ処理の動作例を説明する。図13に例示するように、組み合わせ最適化部27は、経路重複判定処理の判定結果を取得し(ステップS41)、判定結果がNGであるか否かを判定する(ステップS42)。
【0106】
判定結果がNGではない(OKである)場合(ステップS42でNO)、処理が終了する。すなわち、経路の重複が存在しないため、サーバ2は、経路情報21fを経路情報提供先4に出力する(図9のステップS10参照)。
【0107】
判定結果がNGである場合(ステップS42でYES)、組み合わせ最適化部27は、重複する車列の経路候補を1つ選択し(ステップS43)、選択した車列の優先順位が重複する他の車列よりも上位であるか否かを判定する(ステップS44)。優先順位とは、例えば、車列の到着順序が挙げられる。
【0108】
選択した車列の優先順位が重複する他の車列よりも上位である場合(ステップS44でYES)、組み合わせ最適化部27は、選択した経路候補を経路情報21fに確定し(ステップS45)、処理がステップS49に移行する。
【0109】
選択した車列の優先順位が重複する他の車列よりも上位ではない場合(ステップS44でNO)、組み合わせ最適化部27は、選択した経路候補が確定した経路と同一か否かを判定する(ステップS46)。
【0110】
選択した経路候補が確定した経路と同一である場合(ステップS46でYES)、組み合わせ最適化部27は、選択した経路情報を破棄し(ステップS47)、処理がステップS49に移行する。
【0111】
選択した経路候補が確定した経路と同一ではない場合(ステップS46でNO)、組み合わせ最適化部27は、選択した経路候補を新たな経路候補情報21dに格納し(ステップS48)、重複する経路候補を全て処理したか否かを判定する(ステップS49)。
【0112】
重複する経路候補を全て処理していない場合(ステップS49でNO)、処理がステップS43に移行する。
【0113】
重複する経路候補を全て処理した場合(ステップS49でYES)、組み合わせ最適化部27は、経路候補が重複しない車列のうち、ステップS45で確定した重複する車列よりも優先順位が上位の車列の経路候補を経路情報21fに確定する(ステップS50)。
【0114】
また、組み合わせ最適化部27は、経路候補が重複しない車列のうち、未確定の車列よりも優先順位が下位の車列の経路候補を上述した新たな経路候補情報21dに格納する(ステップS51)。
【0115】
さらに、組み合わせ最適化部27は、確定した全ての車列の経路をまとめて1つの経路候補として固定し、上述した新たな経路候補情報21dに格納する(ステップS52)。
【0116】
そして、組み合わせ最適化部27は、ステップS48、S51及びS52で生成した新たな経路候補情報21dを用いて、図11に例示する組み合わせ最適化処理を実行し(ステップS53)、処理が終了する。ステップS53の組み合わせ最適化処理では、第2の組み合わせを特定する処理が行なわれ、図9のステップS5の組み合わせ最適化処理で得られた経路情報21fが更新されてよい。
【0117】
このように、組み合わせ最適化部27は、第2の時間間隔に同一の地点を通過する車列が重複する場合、ステップS45及びS50において、一部の車列の経路を確定するのである。例えば、組み合わせ最適化部27は、重複する車列のうちの優先順位の高い第1の車列の経路と、複数の車列のうちの第1の車列よりも優先順位の高い第2の車列の経路と、を複数の第2の経路のうちの優先順位を満たす経路にそれぞれ確定する。
【0118】
また、組み合わせ最適化部27は、複数の第2の経路のうちの確定した経路を除外(ステップS47)した経路の中から、複数の車列のうちの経路が未確定の車列の経路を、優先順位に基づき確定するのである(ステップS51~S53)。
【0119】
〔1-5〕適用例
次に、一実施形態に係るシステム1の適用例を説明する。
【0120】
〔1-5-1〕第1適用例
以下、図14図16を参照して第1適用例を説明する。第1適用例では、サーバ2は、以下の「目的」及び「移動条件」に従うものとする。移動条件は、グラフ情報21b、始点終点情報21c及び条件情報21e(制約条件)の少なくとも1つから得られてよい。
目的:移動条件に従い、全ての車列が最も早く目的地に到着するスケジュールを作成する。
移動条件
・移動速度:高速道路80Km/h、一般道30Km/h
・車列の数:2
・車列の優先順位:車列1>車列2
・車列の間隔:1時間
・グラフの情報
頂点数:4(出発地、地点1、地点2、目的地)
頂点間距離:出発地~地点1:60Km(一般道)、地点1~地点2:240Km(高速道路)、地点2~目的地:60Km(一般道)
・目的地からの移動開始時刻:8:00
【0121】
経路候補算出部25は、図14の符号Aで示すグラフ(グラフ情報21b)に基づき、経路候補情報21dを生成する。なお、図14の例では1つの「経路候補1」を図示するが、車列ごとに、複数の経路候補が生成されてよい。
【0122】
経路候補算出部25は、時刻情報設定処理において、頂点間の移動時間(符号B参照)を算出し、始点終点情報21cの出発地の出発時刻に基づき、各頂点の通過時刻(符号Cを参照)を算出して、経路候補情報21dに対応付ける(符号D参照)。また、経路候補算出部25は、車列ごとに出発時刻をずらした経路候補を複数作成する(符号E及びF参照)。
【0123】
組み合わせ最適化部27は、図15に例示するように、車列別の複数の経路候補(符号A参照)を用いて、組み合わせ最適化問題を解くことで、同じ時刻に同じ場所に複数の車列が存在しない組み合わせを求める。図15の例では、説明の簡略化のために、車列1及び車列2の2つの車列が同一の経路候補を使用するものとする。
【0124】
図15の符号Bで示すように、組み合わせ最適化部27は、各車列が取り得る経路の組み合わせのそれぞれに対して、所要時間と制約条件とを満たしていることを確認する。符号Bの例では、組み合わせ1及び4では同じ頂点に同時刻に2つの車列が存在するため、制約条件の判定(制約判定)でNGとなる。
【0125】
組み合わせ2及び3は、いずれも制約判定でOKとなる(最適解となる)。この場合、いずれの組み合わせを選択しても同様の効果が得られるが、車列の優先順位が車列1>車列2である。従って、組み合わせ最適化部27は、車列1が先着する組み合わせ2を最適解と判定する。このように、車列ごとに目的地への到着の優先順位、例えば到着の順番又は到着時刻を指定することで、優先順位を考慮したスケジュールを作成することが可能となる。
【0126】
図16は、第1適用例の組み合わせ最適化処理例を示す図である。図16に例示するように、組み合わせ最適化部27は、車列ごとの経路候補(符号A参照)から組み合わせを求め(符号B参照)、それぞれの組み合わせから、頂点ごとの車列数をカウントし、移動時間を算出する(符号C参照)。そして、組み合わせ最適化部27は、符号Cでのカウント、算出結果が頂点許容車列数等の制約条件(符号D参照)を満たしているかを確認し(符号E参照)、確認の結果と過去の最適値とを比較する(符号F参照)。算出結果が過去の最適値よりも最適な数値である場合(最初の組み合わせの場合は無条件に)、組み合わせ最適化部27は、メモリ部21等に算出結果を最適値として保持し(符号G参照)、符号E~Gの処理を組み合わせ数の分だけ繰り返し実施する。
【0127】
以上の第1適用例に示すように、一実施形態に係るサーバ2は、各頂点(通過点、分岐点)に時刻情報を付与した経路候補情報21dを作成し、各頂点における渋滞度(例えばあ車列数)を測定し、各車列の通過時刻を考慮して経路を最適化する。これにより、個別の車列に対して、渋滞度を考慮した出発地から目的地までのスケジュールを設定することができる。
【0128】
また、サーバ2は、車列ごとに優先順位を設けることで、経路が重複した場合に、各頂点をどの車列を優先して通行させるかを決定し、優先順位に従った順序で車列を目的地に到着させることができる。
【0129】
さらに、サーバ2は、始点終点情報21cにおいて、各車列の出発時刻及び到着時刻の一方又は双方が指定されている場合、出発時刻及び到着時刻の一方又は双方に近いスケジュールを有する経路候補を求めることができる。これにより、予め設定された出発時刻及び到着時刻の一方又は双方を満たす経路候補を求めることができる。
【0130】
以上のように、一実施形態に係るサーバ2によれば、全ての車列にとって、最短時間で出発地から目的地に到着するための経路、出発時刻、到着時刻等を算出し、車列ごとに個別に、車列間で最適化されたスケジュールを生成することができる。
【0131】
〔1-5-2〕第2適用例
次に、図17図28を参照して第2適用例を説明する。第2適用例では、サーバ2は、以下の「目的」及び「移動条件」に従うものとする。
目的:移動条件に従い、全ての車列が最も早く目的地に到着するスケジュールを作成する。
移動条件
・移動速度:高速道路80Km/h、一般道30Km/h
・車列の数:7
・車列の優先順位:車列1>車列2>車列3>車列4>車列5>車列6>車列7
・車列の間隔:20分
・グラフの情報
頂点数:8(出発地(10、20)、経由地(11、12、21、22)、目的地(13、23))
頂点間距離:10~11:60Km(一般道)、11~12:240Km(高速道路)、12~13:60Km(一般道)、20~21:60Km(一般道)、21~22:240Km(高速道路)、22~23:60Km(一般道)、11~22:240Km(高速道路)、21~12:240Km(高速道路)
・目的地からの移動開始時刻:8:00
・各車列の出発地及び目的地
車列1、車列2:出発地10、目的地13
車列4、車列6、車列7:出発地20、目的地23
車列3:出発地10、目的地23
車列5:出発地20、目的地13
【0132】
図17は、第2適用例のグラフ及び経路例を示す図である。サーバ2は、図17に示すように、車列1~車列7のそれぞれが出発地10又は20から目的地13又は23に移動する際に、どの車列が、いつ、どの経路を通過すればよいかを算出する。なお、図17では、1つの車両(トラック)の図が1つの車列を示すものとし、白抜きの車両は頂点10を出発地とするトラックであり、黒塗りの車両は頂点20を出発地とするトラックであるものとする。
【0133】
経路候補算出部25は、図17のグラフ(グラフ情報21b)に基づき、図18に例示するように、上記移動条件に従った経路候補情報21dを生成する。
【0134】
経路候補算出部25は、時刻情報設定処理において、図19に例示するように、車列ごとに、頂点間の移動時間を算出し、始点終点情報21cの出発地の出発時刻に基づき、各頂点の通過時刻を算出して、経路候補情報21dに対応付ける。
【0135】
また、経路候補算出部25は、図20に例示するように、車列ごとに出発時刻をずらした経路候補を複数作成する。符号Aは、移動条件における車列間の間隔(20分)に従い、20分ごとに経路候補を作成する例を示す。
【0136】
しかし、符号Aの例では車列間の間隔が短くなるにつれて経路候補数が増加し、経路候補数が増加することで組み合わせ数が指数的に増加するため、計算規模が増大する。そこで、経路候補算出部25は、符号Bに例示するように、車列間の間隔を基準時間にまとめるように修正された移動条件に基づき、複数の経路候補を基準時間(例えば1時間)ごとに1つの経路候補にまとめるように経路候補を作成する。これにより、図21に例示するような1時間単位での経路候補情報21dが生成される。
【0137】
組み合わせ最適化部27は、図22に例示するように、経路候補情報21dの経路候補の組み合わせのうちの制約条件を満たす組み合わせの中で、総移動時間が短く、且つ、車列の優先順位を満たす解を最適解に決定する。制約条件は、「同じ頂点(地点及び時間)を通過する車列が“3”以下」である。図22の例では、経路候補情報21dの経路候補の組み合わせ1~12のうちの制約条件を満たす(「制約確認」“OK”である)組み合わせは組み合わせ2及び3である。組み合わせ2及び3は、いずれも、制約条件を満たす総移動時間が“50”で最短時間である。図21に示すように、組み合わせ2では、車列1~車列7の優先順位が遵守されているが、組み合わせ3では、車列6が車列7よりも後に目的地に到着する。そこで、組み合わせ最適化部27は、車列の優先順位が遵守されている組み合わせ2を最適解と判定する。最適解の組み合わせは、経路情報21fに格納されてよい。
【0138】
組み合わせ最適化部27は、組み合わせ最適化で求めた車列ごとの経路を抽出する(図23の符号A参照)。最適解には、同時刻に同じ頂点を通過する車列が複数存在する(図22図23の符号A参照)。経路候補算出部25は、1時間以内に頂点を通過できる車列は3つとして経路候補を作成しているため、組み合わせ最適化部27は、移動条件に基づき、経路候補に20分ずつ間を空けるように詳細時刻を設定する。例えば、組み合わせ最適化部27は、図23の符号Bで例示するように、優先順位に基づき、経路候補に20分ずつ時刻を加算することで詳細な時刻情報を付与する。図23の符号Bの例では、「経路候補1’」に変更した網掛けの時刻部分について、符号Aから20分の時間が加算されている。図23の符号Bの例では、組み合わせ最適化部27は、出発時刻を基準に時刻をずらすものとするが、これに限定されるものではなく、他の頂点(地点及び時間)を基準に時刻をずらしてもよい。
【0139】
組み合わせ最適化部27は、経路重複判定処理において、図24に例示するように、図23の符号Bで示す経路候補の重複を頂点(地点及び時間)ごとに判定する。図24の例では、「重複確認」の行において車列数が“2”以上である頂点(頂点12:時刻“15:20”、頂点13:時刻“17:20”、頂点22:時刻“15:40”、頂点23:時刻“17:40”)が重複すると判定される。実線の丸で車列数を囲んだ頂点12(時刻“15:20”)及び頂点13(時刻“17:20”)は、車列2及び車列5が重複する経路であり、破線の丸で車列数を囲んだ頂点22(時刻“15:40”)及び頂点23(時刻“17:40”)は、車列3及び車列6が重複する経路である。
【0140】
組み合わせ最適化部27は、重複リカバリ処理において、図25に例示するように、重複していない車列の経路を確定する。
【0141】
例えば、組み合わせ最適化部27は、図24の例において重複していない車列1及び車列4の経路を確定する(図25の符号A参照)。また、組み合わせ最適化部27は、重複している車列2及び車列5、並びに、車列3及び車列6のそれぞれについて、優先順位の高い車列2及び車列3の経路をそれぞれ確定させる(図25の符号A参照)。さらに、組み合わせ最適化部27は、重複しており経路が未確定である車列5及び車列6のうちの、優先順位が高い車列5以下の優先順位の車列を未確定とする(図25の符号B参照)。車列7は重複していないが、車列7よりも優先順位の高い車列5及び車列6が未確定であるため、組み合わせ最適化部27は、車列7についても未確定とするのである。
【0142】
組み合わせ最適化部27は、図26に例示するように、図25の符号Bに示す重複した車列(経路が未確定な車列)に新たな経路候補を作成する。例えば、組み合わせ最適化部27は、経路が確定している車列1~車列4については、それぞれの確定した経路を固定し、経路が未確定である車列5~車列7のそれぞれの経路については車列間の間隔(20分)ずつずらした複数の経路候補を生成する。このとき、組み合わせ最適化部27は、車列5~車列7の経路候補の生成の際に、既に確定した車列1~車列4の経路と重複する経路を生成対象から除外する。図26の例では、車列5の経路候補1及び2、車列6の経路候補1及び3、車列7の経路候補1が生成対象から除外される。
【0143】
組み合わせ最適化部27は、図27に例示するように、車列1~車列4(まとめて1通り)、車列5(2通り)、車列6(2通り)、車列7(3通り)の全ての組み合わせ(1×2×2×3=12通り)を生成し、組み合わせ最適化処理(再処理)を行なう。
【0144】
図27の例では、組み合わせ3及び組み合わせ4が制約条件(全ての頂点(場所及び時間)は1つの車列以下)を満たしている。組み合わせ最適化部27は、車列の優先順位を遵守する組み合わせ3を最適解として判定し、図28の符号Aに例示するように、組み合わせ3の各車列の経路を経路情報21fに保存する。これにより、図28の符号Bに例示するように、車列1~車列7の移動モデルが取得される。なお、図28の例からわかるように、互いに目的地が異なる車列(例えば車列2及び車列4)間では、車列間の優先順位が考慮されなくてもよい。換言すれば、目的地が共通する車列間において、優先順位に基づくスケジュールが生成されればよい。
【0145】
以上の第2適用例に示すように、一実施形態に係るサーバ2は、第1適用例と同様の手法によって経路情報21fを生成することができる。また、その際に、サーバ2は、組み合わせ最適化処理の対象となる組み合わせ数を削減することができる。
【0146】
例えば、第2適用例において、最初から20分ごとの経路の組み合わせを生成する場合、組み合わせ数は、7の4乗=2401通りとなる。一方、一実施形態に係る手法によれば、1時間ごとの経路の組み合わせを求める際に、7の2乗=49通りの組み合わせ数となり、重複部分の再計算(重複リカバリ処理を経た組み合わせ最適化処理)では2×2×3=12通りの組み合わせ数となる。このように、一実施形態に係る手法によれば、第2適用例において合計で61通りの組み合わせ数でスケジュールを求めることができ、最初から20分ごとの経路の組み合わせを生成する場合と比較して、組み合わせ数を大幅に削減する(例えば約40分の1に低減する)ことができる。従って、サーバ2の処理負荷の軽減を図ることができ、処理時間を短縮できる、換言すればスケジュール生成の高速化を実現できる。
【0147】
このように、一実施形態に係るサーバ2は、制約条件として組み合わせ数が増大する場合、出発時刻をずらす差分時間を、車列間の間隔よりも大きい単位時間に設定し、さらに当該単位時間内に頂点を通過できる車列の数を増加させる。これにより、経路候補を削減し、組み合わせ数を減らすことで、計算時間を削減することができる。
【0148】
以上のように、一実施形態に係るサーバ2によれば、制約条件として組み合わせ数が増大する場合であっても、同時刻に1つの頂点に複数の車列が存在することを許容する(複数の車列に制限する)ことで、時刻ごとに生成される経路候補数を削減できる。
【0149】
また、サーバ2は、経路候補の組み合わせの最適解算出後、同時刻に1つの頂点に存在する複数の車列のそれぞれに対して詳細時刻を加算した経路候補を生成することで、車列ごとに詳細な経路候補の最適な組み合わせを導出できる。これにより、個別に車列のスケジュールを調整することができる。
【0150】
さらに、サーバ2は、車列に優先順位が与えられる場合、詳細な経路候補の組み合わせについて、優先順位に基づき、優先順位の高い車列が先着するような組み合わせの経路を選択することができる。
【0151】
〔1-5-3〕第3適用例
次に、図29及び図30を参照して第3適用例を説明する。第3適用例では、一実施形態に係るシステム1の他の利用形態について説明する。なお、第3適用例は、第1適用例又は第2適用例と適宜組み合わせて実施されてもよい。
【0152】
(複数経路に優先度を設ける例)
図29の符号Aに示すように、出発地から目的地までの経路として、所要時間が最短となる最短経路(出発地、地点1、地点2、目的地)と、最短経路よりも所要時間の長い迂回路(出発地、地点3、地点4、目的地)とが存在する場合を想定する。
【0153】
サーバ2は、上述した手法により、全ての車列の移動時間が最短となる組み合わせを算出するが、迂回路については、所要時刻を考慮し、迂回路を使用するか否かを判定することで、車列ごとに効率的な経路を算出することができる。
【0154】
一例として、サーバ2は、符号Bで示すように、経路候補として、出発時刻“8:00”の最短経路である経路候補1-1、出発時刻を“9:00”に遅延させた最短経路である経路候補1-2、及び、出発時刻“8:00”の迂回路である経路候補2を生成してよい。例えば、サーバ2は、経路候補の優先度として、最短経路1-1>最短経路1-2>迂回路2の順となるような値を設定してよい。これにより、車列には、経路候補1-1及び1-2が全て先行する(例えば優先順位の高い)他の車列に使用される場合に限り、迂回路が割り当てられる。
【0155】
従って、例えば、優先順位が1番目の車列に経路候補1-1が割り当てられた場合、優先順位が2番目の車列に、出発時刻の早い経路候補2を割り当てる場合と比較して、優先順位が2番目の車列の到着時刻を早めることができる場合がある。図29の例では、優先順位が2番目の車列に経路候補1-2を割り当てることで、優先順位が2番目の車列の到着時刻を、迂回路の到着時刻“19:00”よりも1時間早い“18:00”とすることができる。
【0156】
(複数出発地、複数目的地において経路の一部が共有される場合)
図30に例示するように、出発地1及び2、並びに、目的地1及び2のように、出発地及び目的地の一方又は双方が複数存在する場合において、経路の一部、例えば経由地(地点3及び4)が異なる経路間で共有される場合がある。
【0157】
サーバ2は、この場合において、各頂点で車列の台数に制限を設けることで、共有される地点3及び4を通過する経路の渋滞を回避することができる。
【0158】
〔1-6〕ハードウェア構成例
一実施形態に係るサーバ2を実現する装置は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ2の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、サーバ2の機能のうちの少なくとも一部は、クラウド環境により提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
【0159】
図31は、一実施形態に係るサーバ2の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。サーバ2の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図31に例示するHW構成を備えてよい。
【0160】
図31に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O(Input / Output)部10e、及び読取部10fを備えてよい。
【0161】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0162】
プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0163】
メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
【0164】
記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0165】
なお、図4に示すメモリ部21が記憶する情報21a~21fは、メモリ10b及び記憶部10cの一方又は双方が有する記憶領域に格納されてよい。
【0166】
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(経路探索プログラム)を格納してよい。例えば、サーバ2のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、図4に例示するサーバ2としての機能を実現できる。
【0167】
IF部10dは、ネットワークの一方又は双方との間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、イーサネット(登録商標)等のLAN、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、サーバ2は、IF部10dを介して、地図データ提供元3、経路情報提供先4、及び、図示しないオペレータの操作端末の各々と相互に通信可能に接続されてよい。また、例えば、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
【0168】
I/O部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。
【0169】
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
【0170】
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0171】
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、サーバ2において、I/O部10e及び読取部10fの少なくとも一方は、省略されてもよい。
【0172】
なお、地図データ提供元3のコンピュータ、経路情報提供先4のコンピュータ、及び、オペレータの操作端末のそれぞれは、上述したコンピュータ10と同様のHW構成により実現されてもよい。
【0173】
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0174】
例えば、図4に示すサーバ2が備える地図データ取得部22、グラフ抽出部23、始点終点設定部24、経路候補算出部25、条件設定部26、組み合わせ最適化部27及び出力部28は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
【0175】
また、図4に示すサーバ2は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。例えば、図4に示す複数の機能ブロックのそれぞれは、Webサーバ、アプリケーションサーバ、DBサーバ等のサーバに分散して配置されてよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ2としての各処理機能を実現してもよい。
【0176】
一実施形態では、車両がトラックであるものとして説明したが、これに限定されるものではなく、車両としては、例えば、乗用車、二輪車(オートバイ)、自転車が用いられてもよい。
【0177】
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0178】
(付記1)
複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行し、
前記経路探索処理において、
前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定し、
前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する、
処理をコンピュータに実行させる、経路探索プログラム。
【0179】
(付記2)
前記許容数は、前記第1の時間間隔と前記第2の時間間隔とに基づき算出され、
前記第2の組み合わせを特定する処理は、前記許容数が2以上である場合に実行される、
付記1に記載の経路探索プログラム。
【0180】
(付記3)
前記第2の組み合わせを特定する処理は、
前記第2の時間間隔に同一の地点を通過する車両グループが重複する場合、前記重複する車両グループのうちの前記優先順位の高い第1の車両グループの経路と、前記複数の車両グループのうちの前記第1の車両グループよりも前記優先順位の高い第2の車列グループの経路と、を前記複数の第2の経路のうちの前記優先順位を満たす経路にそれぞれ確定する、処理を含む
付記1又は付記2に記載の経路探索プログラム。
【0181】
(付記4)
前記第2の組み合わせを特定する処理は、
前記複数の第2の経路のうちの前記確定した経路を除外した経路の中から、前記複数の車両グループのうちの経路が未確定の車両グループの経路を、前記優先順位に基づき確定する、処理を含む
付記3に記載の経路探索プログラム。
【0182】
(付記5)
前記第1の組み合わせを特定する処理及び前記第2の組み合わせを特定する処理のそれぞれは、前記複数の車両グループの少なくとも1つの出発時刻及び到着時刻の一方又は双方を含む、
付記1~付記4のいずれか1項に記載の経路探索プログラム。
【0183】
(付記6)
前記複数の第1の経路及び前記複数の第2の経路のそれぞれは、前記第1の経路又は前記第2の経路に含まれる地点を示す情報と、前記地点を車両グループが出発、通過又は到着する時刻と、が対応付けられた複数の地点情報を含む、
付記1~付記5のいずれか1項に記載の経路探索プログラム。
【0184】
(付記7)
複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行する制御部を備え、
前記制御部は、前記経路探索処理において、
前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定し、
前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する
経路探索装置。
【0185】
(付記8)
前記許容数は、前記第1の時間間隔と前記第2の時間間隔とに基づき算出され、
前記制御部は、前記許容数が2以上である場合に前記第2の組み合わせを特定する処理を実行する、
付記7に記載の経路探索装置。
【0186】
(付記9)
前記制御部は、前記第2の組み合わせを特定する処理において、前記第2の時間間隔に同一の地点を通過する車両グループが重複する場合、前記重複する車両グループのうちの前記優先順位の高い第1の車両グループの経路と、前記複数の車両グループのうちの前記第1の車両グループよりも前記優先順位の高い第2の車列グループの経路と、を前記複数の第2の経路のうちの前記優先順位を満たす経路にそれぞれ確定する、
付記7又は付記8に記載の経路探索装置。
【0187】
(付記10)
前記制御部は、前記第2の組み合わせを特定する処理において、前記複数の第2の経路のうちの前記確定した経路を除外した経路の中から、前記複数の車両グループのうちの経路が未確定の車両グループの経路を、前記優先順位に基づき確定する、
付記9に記載の経路探索装置。
【0188】
(付記11)
前記第1の組み合わせを特定する処理及び前記第2の組み合わせを特定する処理のそれぞれは、前記複数の車両グループの少なくとも1つの出発時刻及び到着時刻の一方又は双方を含む、
付記7~付記10のいずれか1項に記載の経路探索装置。
【0189】
(付記12)
前記複数の第1の経路及び前記複数の第2の経路のそれぞれは、前記第1の経路又は前記第2の経路に含まれる地点を示す情報と、前記地点を車両グループが出発、通過又は到着する時刻と、が対応付けられた複数の地点情報を含む、
付記7~付記11のいずれか1項に記載の経路探索装置。
【0190】
(付記13)
複数の車両グループのそれぞれに、少なくとも1つの地点を共有する複数の経路のうちのいずれかを割り当てる経路探索処理を実行し、
前記経路探索処理において、
前記複数の車両グループのそれぞれに設定される優先順位と、前記複数の経路に含まれる複数の地点のそれぞれを車列グループが通過する時刻と、第1の時間間隔ごとに前記複数の経路に含まれる複数の地点のそれぞれを通過することが許容される車両グループの許容数とに基づき、前記複数の車両グループのそれぞれと前記第1の時間間隔ごとに区別される複数の第1の経路のそれぞれとの第1の組み合わせを特定し、
前記第1の組み合わせにおいて、前記第1の時間間隔に2以上の車両グループが同一の地点を通過する場合、前記優先順位に応じて、前記2以上の車両グループのそれぞれと、前記第1の時間間隔よりも短い第2の時間間隔ごとに区別される複数の第2の経路のそれぞれとの第2の組み合わせを特定する、
処理をコンピュータが実行する、経路探索方法。
【0191】
(付記14)
前記許容数は、前記第1の時間間隔と前記第2の時間間隔とに基づき算出され、
前記第2の組み合わせを特定する処理は、前記許容数が2以上である場合に実行される、
付記13に記載の経路探索方法。
【0192】
(付記15)
前記第2の組み合わせを特定する処理は、
前記第2の時間間隔に同一の地点を通過する車両グループが重複する場合、前記重複する車両グループのうちの前記優先順位の高い第1の車両グループの経路と、前記複数の車両グループのうちの前記第1の車両グループよりも前記優先順位の高い第2の車列グループの経路と、を前記複数の第2の経路のうちの前記優先順位を満たす経路にそれぞれ確定する、処理を含む
付記13又は付記14に記載の経路探索方法。
【0193】
(付記16)
前記第2の組み合わせを特定する処理は、
前記複数の第2の経路のうちの前記確定した経路を除外した経路の中から、前記複数の車両グループのうちの経路が未確定の車両グループの経路を、前記優先順位に基づき確定する、処理を含む
付記15に記載の経路探索方法。
【0194】
(付記17)
前記第1の組み合わせを特定する処理及び前記第2の組み合わせを特定する処理のそれぞれは、前記複数の車両グループの少なくとも1つの出発時刻及び到着時刻の一方又は双方を含む、
付記13~付記16のいずれか1項に記載の経路探索方法。
【0195】
(付記18)
前記複数の第1の経路及び前記複数の第2の経路のそれぞれは、前記第1の経路又は前記第2の経路に含まれる地点を示す情報と、前記地点を車両グループが出発、通過又は到着する時刻と、が対応付けられた複数の地点情報を含む、
付記13~付記17のいずれか1項に記載の経路探索方法。
【符号の説明】
【0196】
1 システム
2 サーバ
20 制御部
21 メモリ部
21a 地図データ
21b グラフ情報
21c 始点終点情報
21d 経路候補情報
21e 条件情報
21f 経路情報
22 地図データ取得部
23 グラフ抽出部
24 始点終点設定部
25 経路候補算出部
26 条件設定部
27 組み合わせ最適化部
28 出力部
3 地図データ提供元
4 経路情報提供先
図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