(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-27
(45)【発行日】2022-01-19
(54)【発明の名称】最適経路決定装置及び最適経路決定プログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20220112BHJP
G06Q 10/08 20120101ALI20220112BHJP
【FI】
G06Q10/04 310
G06Q10/08 300
(21)【出願番号】P 2020104058
(22)【出願日】2020-06-16
(62)【分割の表示】P 2019162852の分割
【原出願日】2019-09-06
【審査請求日】2020-06-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】518064374
【氏名又は名称】株式会社オプティマインド
(74)【代理人】
【識別番号】100177895
【氏名又は名称】山田 一範
(72)【発明者】
【氏名】斉東 志一
(72)【発明者】
【氏名】高田 陽介
【審査官】竹下 翔平
(56)【参考文献】
【文献】特開2000-331293(JP,A)
【文献】特開平06-290193(JP,A)
【文献】特表2008-536778(JP,A)
【文献】特開2003-221120(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
それぞれが異なる地点で実行される複数のサービスを連続的に処理する際の移動の最適経路を決定するための最適経路決定装置であって、
前記複数のサービスそれぞれについて実行地点の情報を含むサービス特定情報を取得するサービス特定情報取得部と、
関連する少なくとも1以上の前記サービスで構成されたジョブの状態を管理するための状態管理テーブルをジョブの状態の変化に応じて更新するジョブ状態管理部と、
前記複数のサービスについての実行順序を組み合わせ最適化問題として演算して実行順序を決定する実行順序決定部とを備え、
前記実行順序決定部は、前記状態管理テーブルを参照して前記ジョブの状態情報を取得し、前記ジョブの状態情報から実行が必要な前記サービスを特定し、特定した前記サービスについてサービス特定情報を取得し、取得したサービス特定情報に基づいて実行順序を決定するようにし、
また、前記実行順序決定部は、組み合わせ最適化問題を解く際の所定条件を異ならせた複数の前記実行順序の解を演算するものとし、採用した前記実行順序についての前記所定条件が他の所定条件に変化した場合に、当該他の所定条件に対応した前記実行順序に切り替えるものとし、その時点での前記ジョブの状態情報及びその時点での車両の位置情報に基づいて、切り替えた前記実行順序
を初期解として再計算を実行して実行順序を決定するようにした
最適経路決定装置。
【請求項2】
前記状態管理テーブルは、車両によってピックアップした対象を所定位置までデリバリーする業務を1つのジョブの単位として扱うものとし、ジョブの状態として、(A)車両に載せる前(本計画で載せる予定あり)、(B)車両に載せる前(本計画で載せる予定なし)、(C)車両から降ろす前(本計画で降ろす予定あり)、(D)車両から降ろす前(本計画で降ろす予定なし)、(E)車両から降ろした後、の5つの対象の状態と、(F)割当先車両あり、(G)割当先車両なし、の2つの計画における状態とを有し、これらの組み合わせでジョブの状態を管理する
請求項1に記載の最適経路決定装置。
【請求項3】
前記実行順序決定部は、所定の再計算条件を満たした場合に、前記状態管理テーブルを参照して前記ジョブの状態情報を取得し、再計算前の計画とは異なる前記ジョブの状態情報に基づいて実行が必要な前記サービスを特定し、特定した前記サービスについて実行順序を決定するようにした
請求項1又は請求項2に記載の最適経路決定装置。
【請求項4】
それぞれが異なる地点で実行される複数のサービスを連続的に処理する際の移動の最適経路を決定する処理をコンピュータに実現させるための最適経路決定プログラムであって、
前記コンピュータに、
前記複数のサービスそれぞれについて実行地点の情報を含むサービス特定情報を取得するサービス特定情報取得機能と、
関連する少なくとも1以上の前記サービスで構成されたジョブの状態を管理するための状態管理テーブルをジョブの状態の変化に応じて更新するジョブ状態管理機能と、
前記複数のサービスについての実行順序を組み合わせ最適化問題として演算して実行順序を決定する実行順序決定機能とを実現させ、
前記実行順序決定機能は、前記状態管理テーブルを参照して前記ジョブの状態情報を取得し、前記ジョブの状態情報から実行が必要な前記サービスを特定し、特定した前記サービスについてサービス特定情報を取得し、取得したサービス特定情報に基づいて実行順序を決定するようにし、
また、前記実行順序決定機能は、組み合わせ最適化問題を解く際の所定条件を異ならせた複数の前記実行順序の解を演算するものとし、採用した前記実行順序についての前記所定条件が他の所定条件に変化した場合に、当該他の所定条件に対応した前記実行順序に切り替えるものとし、その時点での前記ジョブの状態情報及びその時点での車両の位置情報に基づいて、切り替えた前記実行順序
を初期解として再計算を実行して実行順序を決定するようにした
最適経路決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複雑な業務の状態管理を実現して配送計画の再計算を容易にし、かつ、配送先の実際の環境を考慮して次の配送先への移動を容易に行える最適経路を決定することが可能な最適経路決定装置及び最適経路決定プログラムに関するものである。
【背景技術】
【0002】
従来、「組合せ最適化」という分野において、主に「現実社会の問題を組合せ最適化問題にモデル化する」「ある組合せ最適化問題に対する解法を考案する」ということが研究されている。そして、組合せ最適化問題の中に「配送計画問題(VRP:vehicle routing problem)」という問題がある。これは複数の車両と複数の訪問先が入力されたとき、すべての訪問先がいずれかの車両によりちょうど一度ずつ訪問されるような車両のルート(訪問先の順序)の中でルートの長さの総和が最小となるものを求める問題である。何十年も前からVRPに対して現実で現れる制約条件を取り込んだ問題がいくつも提案され、それらに対する近似解法も同時に研究されてきた。
またVRPを一般化した問題として「PDP:pickup and delivery problem」という問題がある。これは荷物を積む訪問先とその荷物を降ろす訪問先の組が複数入力されたとき、各組に対して各訪問先を同じ車両が訪れ、さらに積んだあとに降ろすという順序を守った上ですべての訪問先がいずれかの車両によりちょうど一度ずつ訪問されるような車両のルートの中でルートの長さの総和が最小となるものを求める問題である。PDPもVRP同様に現実で現れる制約条件を取り込んだ問題がいくつも提案され、それらに対する近似解法も同時に研究されてきた。
【0003】
例えば、特許文献1には、配送先を各車両に振り分けるグルーピング処理とグルーピングで決められた配送先グループを車両がどの順序で巡るかというルートの最適化処理とで決定される配送計画について、複数のグルーピング戦略を用いて複数の配送計画を生成し、その中で最適な配送計画を選択するようにした技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、VRPおよびPDPにおける訪問先の地点情報は目的地を代表する1箇所のみが考慮されることが一般的である。複数の訪問先を訪問する最短経路を求める場合には、各訪問先を代表する地点同士を結ぶ最短経路を単純に繋ぐ前提で全体の最短経路を演算するため、ある訪問先に到着する向きとその訪問先を出発する向きが異なることでUターンが生じることがある。その道路が非常にUターンのしづらい道路であり時間を要する場合、最短経路を求めたはずが時間を要してしまう経路となってしまうおそれがある。また、訪問先における停車位置としてもっと適した位置があるにも関わらず、最短経路演算の際には考慮されないという問題があった。
【0006】
また、荷物を集荷してから配送完了するまでを1台の車両によって実行するような複雑な業務を担う場合もあり、このような複雑な業務を複数実行するように計画している状況において、急な割り込み業務が発生したり業務のキャンセルが発生したりすると、車両の配送計画が大きく崩れてしまうという問題があった。特に複数のタスクで構成された複雑な業務の何れのタスクまで完了しているかを管理することが容易ではなく、配送計画の再計算を困難にしているという問題があった。結果、ドライバーは当初の配送計画からの変更をそのまま受け入れて対応しているため、車両のドライバーの負担が増大しているという問題があった。
【0007】
本発明は、上記問題点に鑑みなされたものであり、複雑な業務の状態管理を実現して配送計画の再計算を容易にし、かつ、配送先の実際の環境を考慮して次の配送先への移動を容易に行える最適経路を決定することが可能な最適経路決定装置及び最適経路決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る最適経路決定装置は、それぞれが異なる地点で実行される複数のサービスを連続的に処理する際の移動の最適経路を決定するための最適経路決定装置であって、前記複数のサービスそれぞれについて実行地点の情報を含むサービス特定情報を取得するサービス特定情報取得部と、前記複数のサービスについての実行順序を組み合わせ最適化問題として演算して実行順序を決定する実行順序決定部と、前記複数のサービスそれぞれについて各サービスの実行地点における少なくとも1以上の停車位置候補の情報を含む実行地点特有情報を取得する実行地点特有情報取得部と、前記実行順序と前記実行地点特有情報とを用いて、各実行地点における最適停車位置及び/又は最適停車方向の情報を含む最適経路を決定する最適経路決定部とを備えることを特徴とする。
【0009】
また、本発明に係る最適経路決定装置は、さらに、前記実行地点特有情報は、各サービスの実行地点におけるUターンのコスト値を含む周辺コスト情報を含むものとし、前記最適経路決定部は、各経路での移動に要する合計コスト値を算出するために前記周辺コスト情報を用いるものとし、複数の経路それぞれの合計コスト値を最適経路の決定に利用することを特徴とする。
【0010】
また、本発明に係る最適経路決定装置は、関連する少なくとも1以上の前記サービスで構成されたジョブの状態を管理するための状態管理テーブルをジョブの状態の変化に応じて更新するジョブ状態管理部をさらに備え、前記実行順序決定部は、前記状態管理テーブルを参照して前記ジョブの状態情報を取得し、前記ジョブの状態情報から実行が必要な前記サービスを特定し、特定した前記サービスについてサービス特定情報を取得し、取得したサービス特定情報に基づいて実行順序を決定するようにしたことを特徴とする。
【0011】
また、本発明に係る最適経路決定装置は、前記状態管理テーブルは、車両によってピックアップした対象を所定位置までデリバリーする業務を1つのジョブの単位として扱うものとし、ジョブの状態として、(A)車両に載せる前(本計画で載せる予定あり)、(B)車両に載せる前(本計画で載せる予定なし)、(C)車両から降ろす前(本計画で降ろす予定あり)、(D)車両から降ろす前(本計画で降ろす予定なし)、(E)車両から降ろした後、の5つの対象の状態と、(F)割当先車両あり、(G)割当先車両なし、の2つの計画における状態とを有し、これらの組み合わせでジョブの状態を管理するものとし、前記実行順序決定部は、所定の再計算実行指示を受け付けた場合に、前記状態管理テーブルを参照して前記ジョブの状態情報を取得し、再計算前の計画とは異なる前記ジョブの状態情報に基づいて実行が必要な前記サービスを特定し、特定した前記サービスについて実行順序を決定するようにしたことを特徴とする。
【0012】
本発明に係る最適経路決定プログラムは、それぞれが異なる地点で実行される複数のサービスを連続的に処理する際の移動の最適経路を決定する処理をコンピュータに実現させるための最適経路決定プログラムであって、前記コンピュータに、前記複数のサービスそれぞれについて実行地点の情報を含むサービス特定情報を取得するサービス特定情報取得機能と、前記複数のサービスについての実行順序を組み合わせ最適化問題として演算して実行順序を決定する実行順序決定機能と、前記複数のサービスそれぞれについて各サービスの実行地点における少なくとも1以上の停車位置候補の情報を含む実行地点特有情報を取得する実行地点特有情報取得機能と、前記実行順序と前記実行地点特有情報とを用いて、各実行地点における最適停車位置及び/又は最適停車方向の情報を含む最適経路を決定する最適経路決定機能とを実現させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、最適経路決定に際して複数の停車位置候補を考慮することで停車位置及び停車向きも考慮した最適経路を決定することが可能となる。また、実行順序決定に際してジョブの状態情報を状態管理テーブルによって確認して、実行が必要なサービスを抽出した上で実行順序を決定することが可能となる。すなわち、車両が既に移動を開始した計画実行中であってもその時点でのジョブの状態情報を取得して実行順序について再計算を行うことが可能となる。
【図面の簡単な説明】
【0014】
【
図1】本発明に係る最適経路決定装置を実現するためのシステム全体の構成を表したブロック図である。
【
図2】本発明に係る最適経路決定装置(サーバ装置)10の構成の一例を表した説明図である。
【
図3】本発明に係る最適経路決定装置10で管理する状態管理テーブルにおけるジョブの状態の一例を表した説明図である。
【
図4】本発明に係る最適経路決定装置10における処理全体の流れを表したフローチャート図である。
【
図5】本発明に係る最適経路決定装置10における実行順序決定処理の流れを表したフローチャート図である。
【
図6】本発明に係る最適経路決定装置10における最適経路決定処理の流れを表したフローチャート図である。
【
図7】ジョブの状態管理と再計算の流れを説明するための説明図である。
【
図8】ジョブの状態管理と再計算の流れを説明するための説明図である。
【
図9】ジョブの状態管理と再計算の流れを説明するための説明図である。
【
図10】ジョブの状態管理と再計算の流れを説明するための説明図である。
【
図11】ジョブの状態管理と再計算の流れを説明するための説明図である。
【
図12】最適経路決定の様子を説明するための説明図である。
【
図13】最適経路決定の様子を説明するための説明図である。
【
図14】最適経路決定の様子を説明するための説明図である。
【発明を実施するための形態】
【0015】
[第1の実施の形態]
以下、図面を参照しながら、第1の実施の形態に係る最適経路決定装置の例について説明する。
図1は、本発明に係る最適経路決定装置を実現するためのシステム全体の構成を表したブロック図である。なお、最適経路決定装置10は、専用マシンとして設計した装置であってもよいが、一般的なコンピュータやサーバ装置によって実現可能なものであるものとする。この場合に、最適経路決定装置10は、一般的なコンピュータやサーバ装置が通常備えているであろうCPU(Central Processing Unit:中央演算処理装置)、GPU(Graphics Processing Unit:画像処理装置)、メモリ、ハードディスクドライブ等のストレージを具備しているものとする(図示省略)。また、これらの一般的なコンピュータやサーバ装置を本例の最適経路決定装置10として機能させるためにプログラムよって各種処理が実行されることは言うまでもない。
【0016】
図1に示すように、最適経路決定装置を実現するためのシステム全体の構成は、サーバ装置10と、サービス実行者端末201~20n(以下、これら総称してサービス実行者端末20と表現する場合を含む)と、本部端末30とが、通信ネットワーク40を介して相互に接続可能に構成されている。このうち、サーバ装置10が本例の最適経路決定装置10として機能する場合を例として説明を行う。
【0017】
図2は、本発明に係る最適経路決定装置(サーバ装置)10の構成の一例を表した説明図である。この
図2に示すように、最適経路決定装置10は、ジョブ状態管理部11と、サービス特定情報取得部12と、車両位置情報取得部13と、実行順序決定部14と、実行地点特有情報取得部15と、最適経路決定部16と、記憶部17とを少なくとも備えている。
【0018】
ジョブ状態管理部11は、関連する少なくとも1以上のサービスで構成されたジョブの状態を管理するための状態管理テーブルをジョブの状態の変化に応じて更新する機能を有する。ここで、本例においてジョブとは、関連する少なくとも1以上のサービスで構成された業務のことをいう。また、本例においてサービスとは、車両等の移動体を停車(停止)して作業を行う必要のある業務の切り分け単位のことをいう。一例として、荷物をある地点で集荷して他の地点まで配送する業務をジョブとすると、当該ジョブは、集荷サービス(ピックアップサービス)と配送サービス(デリバリーサービス)とで構成されていることになる。状態管理テーブルは、ジョブの状態を管理するためのテーブルである。
【0019】
図3は、本発明に係る最適経路決定装置10で管理する状態管理テーブルにおけるジョブの状態の一例を表した説明図である。この
図3に示すように、前述の配送業務をジョブと考える場合を例とすると、ジョブの状態として、(A)車両に載せる前(本計画で載せる予定あり)、(B)車両に載せる前(本計画で載せる予定なし)、(C)車両から降ろす前(本計画で降ろす予定あり)、(D)車両から降ろす前(本計画で降ろす予定なし)、(E)車両から降ろした後、の5つの現実における対象(荷物)の状態と、(F)割当先車両あり、(G)割当先車両なし、の2つの計画における状態とを有し、これらの組み合わせでジョブの状態を管理するものとする。ここで、本計画とは、車両が出発する前に事前に計画された当初計画のことをいう。これに対して、計画は途中で変更される場合があり変更後の計画を現在の計画と表現するものとする。状態管理テーブルは、ジョブの状態を管理可能であればどのような手段で更新されるものであってもよいが、例えば、ジョブの状態に変化が生じる度にサービス実行者自身が所持するサービス実行者端末20に対して入力したジョブの状態の情報を通信ネットワーク40を介して最適経路決定装置(サーバ装置)10に送信するようにすることで、状態管理テーブルを更新するという構成が考えられる。
【0020】
サービス特定情報取得部12は、複数のサービスそれぞれについて実行地点の情報を含むサービス特定情報を取得する取得する機能を有する。サービス特定情報とは、実行すべきサービスの内容を特定するために必要な情報のことをいう。また、実行地点とは、サービスを実行する位置のことをいう。ジョブを構成する少なくとも1以上のサービスにはそれぞれ実行地点が存在し、その実行地点の情報は、サービス特定情報の1つであるといえる。また、サービス特定情報としては、依頼主の個人情報、サービスの具体的内容情報など様々な情報が考えられる。
【0021】
車両位置情報取得部13は、サービス実行者が利用する車両の現在位置を示す車両位置情報を取得する機能を有する。車両位置情報を取得することができればどのような手段であっても構わないが、例えば、車両のGPS情報を取得するようにしてもよい。
【0022】
実行順序決定部14は、複数のサービスについての実行順序を組み合わせ最適化問題として演算して実行順序を決定する機能を有する。より詳しくは、実行順序決定部14は、状態管理テーブルを参照してジョブの状態情報を取得し、ジョブの状態情報から実行が必要な前記サービスを特定し、特定したサービスについてサービス特定情報を取得し、取得したサービス特定情報に基づいて実行順序を決定する機能を備える。状態管理テーブルを参照することでジョブの状態を把握することが可能となり、結果、そのジョブを構成するサービスのうち、何れのサービスについて実行の必要があるかを特定することができる。実行が必要なサービスを特定した後は、特定したサービスについてサービス特定情報を取得し、取得したサービス特定情報に基づいて実行順序を決定する。実行順序の決定は、VRPおよびPDPなどの既知の組み合わせ最適化問題に関するアルゴリズムに基づいて決定するものとする。
【0023】
また、実行順序決定部14において実行順序を決定する前提として、車両位置情報取得部13によってサービス実行者が利用する車両の車両位置情報を取得し、車両位置を出発地点として実行順序を決定する機能を備える。すなわち、車両が出発する前に事前に計画を立てる場合の実行順序は、車両を待機させる場所(本社位置、駐車場位置など)を出発地点かつ帰還地点として設定することになるが、車両がサービスを実行する途中において計画の変更の必要が生じた場合などには、車両がどの位置に存在するかによって実行順序が変化することになるので、車両位置情報は重要な情報である。
【0024】
すなわち、車両位置情報を取得して実行順序を決定できるということは、任意のタイミングで実行順序に関する再計算が可能であるということである。よって、ジョブについてキャンセルが発生したり追加のジョブが発生したりした場合に、本計画とは異なる状態において実行順序を計算する必要が生じる。再計算は、サービス実行者又は本部からの指示に基づいて行うものであってもよいし、ジョブの状態に変化が生じたタイミングもしくは定期的に自動で行うものであってもよい。
【0025】
また、実行順序決定部14においては、パラメータを変更するなどした複数の状況においてそれぞれ実行順序決定処理を実行して、複数パターンの実行順序の解を保持するようにしてもよい。ここで、複数パターンの解を生成する一例としては、移動に要する所要時間をパラメータとして短時間に設定したパターン、標準時間に設定したパターン、長時間に設定したパターンというように複数パターン生成することが挙げられる。実際の交通事情によって移動に要する時間が標準時間よりも短かったり長かったりするので、複数のパターンを保持することで、途中で予定を変更することが可能となる。また、実行順序の解を生成した後に計画が進行してジョブの状態に変化が生じたとき、以前に作った解がそのまま使えなくなる。その場合は以下の変換を行うことで利用可能となる。ジョブの状態に着目し、現在の状態がB、D、Eのジョブについては、ピックアップサービスとデリバリーサービスを解から取り除く。元の解でAだったものがCに変化していた場合、ピックアップサービスを解から取り除く。そして、出発地点を車両の現在位置に置き換える。以上により現在における解への変換が可能となる。ただし、ルートが非効率となりうる。また実行可能とも限らない。このような複数パターンの解の保持と、解の復元とを組み合わせることで、状況の変化に対応することが可能となる。例えば、移動が速いパターンと遅いパターンを持ち、速いパターンで運行していたら遅れが生じてきたという場合に、遅いパターンに切り替えることが考えられる。以前の解は効率的な解となっているので、実行済みのサービスを抜いた解もある程度良い解である(部分的に良いルートとなっているものの組み合わせになっている)ことが期待できる。しかし、現在位置を考えると無駄がある可能性があるので、復元した解を初期解として再計算することで、遅いパターンの解をゼロから計算するよりも速くより良い解が得られることが期待される。
【0026】
実行地点特有情報取得部15は、複数のサービスそれぞれについて各サービスの実行地点における少なくとも1以上の停車位置候補の情報を含む実行地点特有情報を取得する機能を有する。ここで、実行地点特有情報とは、最適経路を決定するために利用可能なサービスの実行地点周辺における特有の情報のことをいう。また、停車位置候補の情報とは、実行地点周辺において車両を停車する候補となる位置の情報をいう。なお、実行地点特有情報は、予め情報の作成者が実行地点と関連付けて記憶させておくものであってもよいし、実行地点との関連する可能性のある情報を自動で関連付けて記憶させる構成であってもよい。
【0027】
また、実行地点特有情報は、各サービスの実行地点におけるUターンのコスト値を含む周辺コスト情報を含むものであってもよい。ここで、周辺コスト情報とは、サービスの実行地点のコスト情報を算出するために必要な情報のことをいう。周辺コスト情報の一例として、Uターンのコスト値が挙げられる。実行地点周辺の停車位置候補に対する到着向きと出発向きが異なる場合、その停車位置候補地点においてUターンを行う必要がある。Uターンを簡単に行える場所である場合にはコスト値を小さく設定しておき、Uターンを行うことが簡単ではない場所である場合にはコスト値を大きく設定しておく。このような周辺コスト情報は、各経路の合計コスト値を算出してコスト値が小さい経路を最適経路として決定するために用いられる。例えば、移動距離が最短であることのみで決定する手法ではUターンが必要になるが、そのUターンが非常に難しい場所である場合には、距離的には最短ではあるが所要時間は長くかかってしまうおそれがある。このように、周辺コスト情報を用いることにより、距離以外の情報を利用して最適な経路を決定することが可能となる。また、周辺コスト情報として、経路として利用する道路に対してコスト値を設定するものであってもよい。すなわち、道幅が狭く速度も出せないために移動に時間の掛かる道路についてはコスト値を高く設定するなど、道路の選択に関してもコスト値で調整することが考えられる。
【0028】
最適経路決定部16は、実行順序と実行地点特有情報とを用いて、各実行地点における最適停車位置及び/又は最適停車方向の情報を含む最適経路を決定する機能を有する。また、最適経路決定部16は、各経路での移動に要する合計コスト値を算出するために周辺コスト情報を用いるものとし、複数の経路それぞれの合計コスト値を最適経路の決定に利用する機能を有する。具体的には、例えば、各実行地点における停車位置候補の数と、それぞれの停車位置候補に対する到着向きの情報と、それぞれの停車位置候補からの出発向きの情報とから、各実行地点における選択肢が決定される。そして、決定された選択肢の場合に適した経路がそれぞれ選択される。全ての経路について移動距離の算出と、コスト値の算出を行う。移動距離が短くかつコスト値が小さい経路を最適経路として決定する。移動距離の評価とコスト値の評価をどのように採用して最適経路の決定を行うかは適宜設定可能である。決定された最適経路は、通信ネットワーク40を介してサービス実行者端末20及び/又は本部端末30に対して送信される。
【0029】
記憶部17は、最適経路決定装置10において行われる様々な処理で必要なデータ及び処理の結果として得られたデータを記憶させる機能を有する。
【0030】
次に、本発明に係る最適経路決定装置10における処理全体の流れについて説明を行う。
図4は、本発明に係る最適経路決定装置10における処理全体の流れを表したフローチャート図である。この
図4に示すように、最適経路決定装置10における処理は、扱うジョブの情報を取得する処理(ステップS101)と、ジョブを分割したサービス単位での実行順序決定処理(ステップS102)と、サービスの実行地点ごとの最適停車位置の情報を含む最適経路決定処理(ステップS103)とを実行する構成となっている。以下において、実行順序決定処理と最適経路決定処理について詳細に説明を行う。
【0031】
図5は、本発明に係る最適経路決定装置10における実行順序決定処理の流れを表したフローチャート図である。この
図5に示すように、実行順序決定処理は、最適経路決定装置10において扱うジョブの情報を取得することによって開始される(ステップS201)。最適経路決定装置10は、各ジョブについて構成要素のサービスに分割(ジョブを構成するサービスを抽出)する(ステップS202)。最適経路決定装置10は、全ジョブの全サービスについてジョブの状態情報と照合して実行の必要のあるサービスを決定する(ステップS203)。次に、最適経路決定装置10は、車両の現在位置情報を取得する(ステップS204)。最適経路決定装置10は、取得した車両の現在位置を出発地点として、実行する必要のあるサービスについて組み合わせ最適化問題(VRPおよびPDP)を演算する(ステップS205)。そして、最適経路決定装置10は、組み合わせ最適化問題(VRPおよびPDP)を解くことで得られた実行順序を出力して(ステップS206)、処理を終了する。
【0032】
図6は、本発明に係る最適経路決定装置10における最適経路決定処理の流れを表したフローチャート図である。この
図6に示すように、最適経路決定処理は、最適経路決定装置10においてサービスの実行順序の情報を取得することによって開始される(ステップS301)。次に、最適経路決定装置10は、各サービスの実行地点における少なくとも1以上の停車位置候補の情報、周辺コスト情報を含む実行地点特有情報を取得する(ステップS302)。そして、最適経路決定装置10は、実行地点特有情報を用いて、最適停車位置、最適停車方向を含む最適経路を決定して出力して(ステップS303)、処理を終了する。
【0033】
次に、ジョブの状態管理と再計算の流れについて、図面に基づいてより詳しく説明を行う。
図7乃至
図11は、ジョブの状態管理と再計算の流れを説明するための説明図である。
図7(a)は、4つのジョブのそれぞれを構成するサービスの実行地点を地図上に表しており、この状況において実行順序を決定した様子を表している。ジョブ1はピックアップサービスP1とデリバリーサービスD1で構成され、同様に、ジョブ2はP2とD2、ジョブ3はP3とD3、ジョブ4はP4とD4でそれぞれ構成されている。各ジョブのピックアップとデリバリーは連続で実行する必要がないという前提であるものとする。また、各ジョブは、車両拠点に車両が待機した状態であるので、全てのジョブが(A)車両に載せる前(本計画で載せる予定あり)であり、かつ、(F)割当先車両ありの状態であるものとする。車両は車両拠点(depot)から出発して全てのサービスを実行してから再度車両拠点(depot)に戻ってくる場合の実行順序を決定する。組み合わせ最適化問題として演算して決定した結果、depot、P1、P2、D1、D2、P3、D3、P4、D4、depotの順番で実行するように実行順序が決定されたものとする。
図7(a)のように決定された実行順序を本計画として車両がサービスの実行を開始する。
【0034】
図7(b)は、ジョブ1のピックアップサービスP1が完了した状態を表している。ジョブ1についてのP1が完了したことをサービス実行者端末20によって入力すると、状態管理テーブルが更新されて、
図7(b)に示すように、ジョブ1に関する状態が、(C)車両から降ろす前(本計画で降ろす予定あり)に更新される。
【0035】
図8(a)は、P1完了後に次のP2の実行のために車両(vehicle)が移動している途中において、ジョブ4がキャンセルになった状態を表している。
図8(a)に示すように、状態管理テーブルが更新されて、ジョブ4の状態が、(B)車両に載せる前(本計画で載せる予定なし)、に更新される。
図8(b)は、その後、ジョブ2のピックアップサービスP2が完了した状態を表している。ジョブ2についてのP2が完了したことをサービス実行者端末20によって入力すると、状態管理テーブルが更新されて、
図8(b)に示すように、ジョブ2に関する状態が、(C)車両から降ろす前(本計画で降ろす予定あり)に更新される。
【0036】
図9(a)は、P2完了後に次のD1の実行のために車両(vehicle)が移動している途中において、ジョブ1がキャンセルになった状態を表している。
図9(a)に示すように、状態管理テーブルが更新されて、ジョブ1の状態が、(D)車両から降ろす前(本計画で降ろす予定なし)に更新される。
図9(b)は、P2完了後に次のD1の実行のために車両(vehicle)が移動している途中において、ジョブ1がキャンセルになった状態を表している。この
図9(b)の状況において、実行順序決定についての再計算を行うものとする。
【0037】
図10(a)は、実行順序決定についての再計算結果を表している。
車両の現在地を出発地点として出発して実行が必要な残りのサービスを実行してから車両拠点(depot)に戻る場合の実行順序を決定する。このとき、状態がB、Dであるジョブ1及びジョブ4については実行不要なサービスであるとして除外する。組み合わせ最適化問題として演算して決定した結果、現在地、P3、D3、D2、depotの順番で実行するように実行順序が決定されたものとする。
【0038】
図10(b)は、
図10(a)で得られた再計算結果に基づいて、出発前に保持していた当初の計画を復元する前段階を表している。
図10(b)に示す当初の計画を、
図10(b)に示す現在のジョブの状態及び車両の現在位置に基づいて復元するものとする。
【0039】
図11は、
図10(a)で得られた再計算結果に基づいて、出発前に保持していた当初の計画を復元した結果を表している。状態管理テーブルを参照すると、当初の計画の出発地が車両拠点(depot)から車両の現在地に変更され、到着地が車両拠点(depot)のまま維持され、ジョブ1は状態DであるためP1及びD1を除外し、ジョブ2は状態AからCに変化したためP2を除外し、ジョブ3は状態Aであるためそのまま維持し、ジョブ4は状態BであるためP4及びD4を除外する。結果、当初の計画を復元すると、現在地、D2、P3、D3、depotの順番で実行するように計画が復元される。このように、元の計画についても復元して保持しておくことで、再計算で得られた現在の計画が何らかの問題で利用できなくなった場合に、代替の計画として即座に利用できる可能性があり有用である。
【0040】
図12乃至
図14は、最適経路決定の様子を説明するための説明図である。
図12(a)に示すように、車両拠点から配送先A、B、Cの順にサービスを実行するという実行順序が決定されているものとする。
【0041】
図12(b)は、
図12(a)の状況において従来の最短経路探索処理を行った場合を説明している。すなわち、各サービス実行地点における停車位置候補を1つだけ採用して、かつ最短経路を採用する構成である場合、
図12(b)に示すように、配送先Bのように到着向きと出発向きが異なる場合は道路上でUターンを行う必要が生じる。これは安全上の理由や所要時間、さらにドライバーの精神的負担という面においても大きなコストとなる。実際の業務においては訪問先でUターンが起きないようにルート作成が行われているが、既存のVRP及びPDPに対する解法ではUターンを抑えた解を出力するということはできなかった。
【0042】
図13は、従来のVRP及びPDPの課題を解決するためにアプローチ手法を説明している。例えば、Uターン以外のルートを探索することができれば、
図13(a)に示すように、迂回ルートでBからCに移動することができるようになる。或いは、
図13(b)に示すように、停車位置候補として複数地点を考慮して最適経路を探索することができれば、配送先Bにおける停車位置を他の候補とすることでUターンをせずに移動することが可能となる。
【0043】
図14は、上記アプローチを採用するために、各サービス実行地点に複数の停車位置候補を採用した状態を表している。また、Uターンを完全に禁止にするのではなく、Uターンに対してコスト値を高く設定することで、結果として他の経路が採用され易くする。すなわち、到着向きと出発向きが異なる移動はコスト値が高く算出されるように、周辺コスト情報を設定しておく。
【0044】
なお、実行順序決定処理における処理内容は以下の通りである。ジョブと車両の状態からそれらをVRPおよびPDPの入力へと変換する。先ず、各車両の現在位置または現在の計画におけるn点先の訪問先をその車両の出発デポとする(nはパラメータ)。現在向かっている訪問先や直近の計画を崩したくないというニーズがあるためnというパラメータを考慮する。n点先まで完了したと仮定したときのn点先での作業完了時刻をデポの出発時刻とする。到着デポは計画における到着デポと同一とする。次にジョブの状態を考える。先ず、n点先までを固定する場合はn点先まで完了したと仮定して「現実における状態」と「現在の計画における状態」をそれぞれ更新する。次に「現実における状態」がBまたはDの荷物は計画に入れる必要が無いため除外する.Cの荷物は現在積まれている車両が配る必要があるため、配るというサービスの車両への割り当てを固定し、その車両が最初からその荷物を積んでいると設定する。以上の設定をした上でVRPおよびPDPを解くことで、現実の状態を加味した再計算を行うことができる。
【0045】
また、最適経路決定処理における処理内容は以下の通りである。先ず、各訪問先に対して停車位置の候補を入力する。そして、各訪問先間の任意の2つの停車位置間に対して、出発向き・到着向きの組み合わせごとに最短経路を取得する。ある解のある車両に着目し、その車両のルート(訪問先の順序)が固定したものと考える。すべての訪問先に対して停車位置候補と発着向きを決めることでルート全体のコストを算出可能でありコスト最小となる組合せを決める組合せ最適化問題とみなすことができる。この問題に対し既知の貪欲法や局所探索法といった手法を用いることでコストの低いルートを得ることができる。例えば貪欲法を使う場合、まずルートの先頭から訪問先を見て行き、ある訪問先iとその1つ前の訪問先jを考える。jからiへの経路のコストとjにおけるUターンコストの和が最も小さくなるようなjの出発向きおよびiの停車位置およびiの到着向きを選択する。これをルートの最後まで繰り返すことである程度コストの低い経路が得られることが期待される。局所探索法を使う場合、まずすべての訪問先に対してランダムに停車位置と発着向きを決定する。次にランダムに訪問先を選び、その点における停車位置と発着向きを最もコストが小さくなるように選ぶ。これを一定回数および一定時間繰り返すことである程度コストの低い経路が得られることが期待される。
【0046】
以上のように、本例による最適経路決定装置によれば、複数のサービスそれぞれについて実行地点の情報を含むサービス特定情報を取得するサービス特定情報取得部と、複数のサービスについての実行順序を組み合わせ最適化問題として演算して実行順序を決定する実行順序決定部と、複数のサービスそれぞれについて各サービスの実行地点における少なくとも1以上の停車位置候補の情報を含む実行地点特有情報を取得する実行地点特有情報取得部と、実行順序と実行地点特有情報とを用いて、各実行地点における最適停車位置及び/又は最適停車方向の情報を含む最適経路を決定する最適経路決定部とを備えるようにしたので、最適経路決定に際して複数の停車位置候補を考慮することで停車位置及び停車向きも考慮した最適経路を決定することが可能となる。
【0047】
また、関連する少なくとも1以上の前記サービスで構成されたジョブの状態を管理するための状態管理テーブルをジョブの状態の変化に応じて更新するジョブ状態管理部をさらに備え、実行順序決定部は、状態管理テーブルを参照してジョブの状態情報を取得し、ジョブの状態情報から実行が必要なサービスを特定し、特定したサービスについてサービス特定情報を取得し、取得したサービス特定情報に基づいて実行順序を決定するようにしたので、実行順序決定に際してジョブの状態情報を状態管理テーブルによって確認して実行が必要なサービスを抽出した上で実行順序を決定することが可能となる。すなわち、車両が既に移動を開始した計画実行中であってもその時点でのジョブの状態情報を取得して実行順序について再計算を行うことが可能となる。
【0048】
なお、本発明は、上記の実施の形態に限定されるものではない。宅配サービスだけではなく、店舗への卸業、自動販売機のメンテナンス、訪問医療/訪問介護、乗合いタクシーなど、複数の拠点を1台または複数台の車両で回るという形態の業種であれば同様に適用可能である。また、人間が運転する車両でなくとも、自動運転ロボットにも応用可能である。例えば、自動宅配ロボットが道端でUターンする時間を加味してルートの最適化をする、工場内でのAGV(Automated guided vehicle:無人搬送車)のルート最適化、家庭での自動掃除ロボットなど、幅広く応用が可能である。さらに、ユーザーが訪問先を入力するだけでその周辺から停車可能な位置を過去の実績や道路の特性から自動で判断して、本アルゴリズムで最適な停車位置を決めるようにすることも可能である。さらに、ユーザーが訪問先を入力するだけで、その訪問先の敷地へ入る場所と出る場所が複数ある中でどこから入ってどこへ出るかを本アルゴリズムで最適化することも可能である。
【0049】
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【0050】
10 最適経路決定装置
11 ジョブ状態管理部
12 サービス特定情報取得部
13 車両位置情報取得部
14 実行順序決定部
15 実行地点特有情報取得部
16 最適経路決定部
17 記憶部
20 サービス実行者端末
30 本部端末
40 通信ネットワーク