JP5413894B2 - 経由最小コスト経路探索装置及び経由最小コスト経路探索方法 - Google Patents
経由最小コスト経路探索装置及び経由最小コスト経路探索方法 Download PDFInfo
- Publication number
- JP5413894B2 JP5413894B2 JP2009234275A JP2009234275A JP5413894B2 JP 5413894 B2 JP5413894 B2 JP 5413894B2 JP 2009234275 A JP2009234275 A JP 2009234275A JP 2009234275 A JP2009234275 A JP 2009234275A JP 5413894 B2 JP5413894 B2 JP 5413894B2
- Authority
- JP
- Japan
- Prior art keywords
- route
- node
- minimum cost
- cost
- minimum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Navigation (AREA)
Description
本発明は、複数のノードをアークで接続し各アークにコストを設定した経路探索ネットワークを用いて、経路を重複せずに、始点から指定した経由点を通り終点に至る経路(以下、経由経路とする)の中でコストが最小となる経由最小コスト経路を探索する経由最小コスト経路探索装置及び経由最小コスト経路探索方法に関する。
この種の経由最小コスト経路探索の一例としては、例えば、乗継駅を指定して出発駅と到着駅間の鉄道運賃を計算する鉄道運賃計算がある。鉄道運賃計算は、例えば、駅をノード、駅間を結ぶ線路をアーク、アークのコストを距離とした経路探索ネットワークを用い、出発駅を始点ノード、到着駅を終点ノード、乗継駅を経由点ノードとして設定し、始点ノードと終点ノード間で経路を重複することなく経由点ノードを通る経由経路の中でコストが最小となる経路を探索し、探索した経由経路の距離を運賃に換算して運賃を算出する。このような重複経路なしに指定した経由点ノードを通り且つコストが最小となる経由最小コスト経路を探索する従来手法としては、例えば特許文献1に記載されたものがある。
特許文献1に記載された手法は、始点ノードと終点ノード間を、始点ノードと経由点ノードまでの区間と経由点ノードと終点ノードまでの区間に分割し、各区間で最小コスト経路を探索する。次に、各区間の探索経路を結合し、結合経路に重複する経路が存在する場合に、始点ノードから経由点ノードまでの区間と経由点ノードから終点ノードまでの区間についてそれぞれ複数の経路を算出し、各区間毎に算出した複数の経路同士を重複経路がないように組合わせて始点ノードから経由点ノードを通り終点ノードに至る経由経路を生成し、生成した複数の経由経路の中でコストが最小となる経路を経由最小コスト経路として選択するようにしている。
しかしながら、特許文献1に記載された従来手法では、経由最小コスト経路として最終的に選択した経由経路が、確実にコスト最小の経由経路であるという保証が得られるのは、分割したそれぞれの区間において2つのノード間に存在する経路を全て算出する場合である。しかも、各区間で算出した全経路同士を、重複する経路がないよう組み合わせなければならない。このため、各区間の2つのノード間に存在する経路数が多い場合には、最終的な経由最小コスト経路を探索するには処理時間がかかるという問題がある。
本発明は上記問題点に着目してなされたもので、経路の重複なしに始点から指定した経由点を通り終点に至る最小コストの経由経路の探索処理時間を大幅に短縮できる経由最小コスト経路探索装置及び経由最小コスト経路探索方法を提供することを目的とする。
このため、請求項1に記載の発明は、経路探索ネットワークを用いて、始点から指定した経由点を通り終点に至る経由経路の中でコストが最小となる経由最小コスト経路を探索する経由最小コスト経路探索装置であって、複数のノードをアークで接続し、各アークにコストを設定した本来の経路探索ネットワークを構築するネットワークデータを格納するデータ格納部と、前記始点、終点及び経由点の各ノード情報を入力する入力部と、前記本来の経路探索ネットワークに基づいて、入力された始点ノードから経由点ノードまでの第1区間の最小コスト経路と前記経由点ノードから終点ノードまでの第2区間の最小コスト経路を探索して結合し当該結合経路で重複するノードが存在する時、前記本来の経路探索ネットワークにおいて前記第1区間の最小コスト経路で経由点ノードに最も近い前記重複ノードへ入るアークをカット処理して構築した第1アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成すると共に、前記本来の経路探索ネットワークにおいて前記第2区間の最小コスト経路の経由ノードに最も近い重複ノードから出るアークをカット処理して構築した第2アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成する経由最小コスト経路候補生成部と、該経由最小コスト経路候補生成部で生成した経由最小コスト経路候補を記憶する経由最小コスト経路候補記憶部と、該経由最小コスト経路候補記憶部に記憶されたコストが最小の経由最小コスト経路候補を経由最小コスト経路情報として出力する出力部と、を備えて構成したことを特徴とする。
かかる構成では、入力部で始点、終点及び経由点の各ノード情報を入力すると、経由最小コスト経路候補生成部は、データ格納部に格納されたネットワークデータを用いて構築される本来の経路探索ネットワークに基づいて、入力された始点ノードから経由点ノードまでの第1区間の最小コスト経路と経由点ノードから終点ノードまでの第2区間の最小コスト経路を探索して結合し、この結合経路で重複するノードが存在する時、本来の経路探索ネットワークにおいて第1区間の最小コスト経路で経由点ノードに最も近い重複ノードへ入るアークをカット処理して構築した第1アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成すると共に、本来の経路探索ネットワークにおいて第2区間の最小コスト経路の経由ノードに最も近い重複ノードから出るアークをカット処理して構築した第2アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成する。経由最小コスト経路候補生成部で生成した経由最小コスト経路候補は、経由最小コスト経路候補記憶部で記憶し、出力部から経由最小コスト経路候補記憶部で記憶されたコストが最小の経由最小コスト経路候補を経由最小コスト経路として出力する。
前記経由最小コスト経路候補生成部は、具体的には、請求項2のように、前記入力部で始点、終点及び経由点の各ノード情報が入力されると、前記データ格納部のネットワークデータを基に前記本来の経路探索ネットワークを構築し、前記本来の経路探索ネットワークを基に前記第1区間の最小コスト経路と、前記第2区間の最小コスト経路とをそれぞれ探索すると共に、前記アークカット処理によって構築される前記第1及び第2アークカット経路探索ネットワークに基づいて、前記第1及び第2区間の最小コスト経路をそれぞれ探索する区間最小コスト経路探索手段と、前記第1区間の最小コスト経路と前記第2区間の最小コスト経路とを結合して前記結合経路を生成する最小コスト経路結合手段と、前記結合経路に重複するノードが存在するか否かを探索する重複ノード探索手段と、重複ノードが存在する時に、前記本来の経路探索ネットワークにおいて、前記第1区間の最小コスト経路の経由点ノードに最も近い重複ノードへ入るアークをカット処理し、前記第2区間の最小コスト経路の経由点ノードに最も近い重複ノードから出るアークをカット処理するアークカット処理手段と、を備え、前記重複ノード探索手段の探索結果に基づいて、ノードが重複しない結合経路が生成されたときに当該結合経路を前記経由最小コスト経路候補として生成する構成とするとよい。
前記アークカット処理手段は、請求項3のように、前記本来の経路探索ネットワークを構築するネットワークデータからカット対象のアークデータを削除して前記第1及び第2アークカット経路探索ネットワークを構築する構成でもよく、請求項4のように、前記本来の経路探索ネットワークを構築するネットワークデータにおけるカット対象のアークのコストデータを、最小コスト経路探索動作で当該アークを通る経路が選択されないよう大きい値に設定して前記第1及び第2アークカット経路探索ネットワークを構築する構成でもよい。
請求項5のように、前記経由最小コスト経路候補記憶部に、前記経由最小コスト経路候補生成部で生成した全ての経由最小コスト経路候補を記憶し、前記経由最小コスト経路候補記憶部に記憶された全ての経由最小コスト経路候補の中でコストが最小の経由最小コスト経路候補を前記経由最小コスト経路として選択する経由最小コスト経路選択部を設け、該経由最小コスト経路選択部で選択した経由最小コスト経路情報を前記出力部から出力する構成とするとよい。
また、請求項6のように、前記経由最小コスト経路候補生成部で経由最小コスト経路候補が生成されたとき、当該生成された経由最小コスト経路候補のコストと前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補のコストとを比較しコストの小さい経由最小コスト経路候補のみを前記経由最小コスト経路候補記憶部に記憶すると共に、前記経由最小コスト経路候補生成部で生成される前記結合経路のコストと前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補のコストとの比較結果に基づいて、前記経由最小コスト経路候補よりコストの小さい結合経路が存在しないとき、前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補を前記経由最小コスト経路情報として前記出力部により出力する構成とするとよい。
請求項7に記載の発明は、経路探索ネットワークを用いて、始点から指定した経由点を通り終点に至る経由経路の中でコストが最小となる経由最小コスト経路を探索する経由最小コスト経路探索方法であって、前記始点、終点及び経由点の各ノード情報を入力する入力ステップと、予め格納されたネットワークデータに基づいて構築される、複数のノードをアークで接続し、各アークにコストを設定した本来の経路探索ネットワークに基づいて、入力された始点ノードから経由点ノードまでの第1区間の最小コスト経路と前記経由点ノードから終点ノードまでの第2区間の最小コスト経路を結合し当該結合経路で重複するノードが存在する時、前記本来の経路探索ネットワークにおいて前記第1区間の最小コスト経路で経由点ノードに最も近い前記重複ノードへ入るアークをカット処理して構築した第1アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成すると共に、前記本来の経路探索ネットワークにおいて前記第2区間の最小コスト経路の経由ノードに最も近い重複ノードから出るアークをカット処理して構築した第2アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成する経由最小コスト経路候補生成ステップと、該経由最小コスト経路候補生成ステップで生成した経由最小コスト経路候補を記憶する経由最小コスト経路候補記憶ステップと、該経由最小コスト経路候補記憶ステップで記憶したコストが最小の経由最小コスト経路候補を経由最小コスト経路情報として出力する出力ステップと、を備えて構成したことを特徴とする。
前記経由最小コスト経路候補生成ステップは、具体的には請求項8のように、前記入力ステップで始点、終点及び経由点の各ノード情報が入力されると、前記本来の経路探索ネットワークに基づいて、前記第1区間の最小コスト経路と前記第2区間の最小コスト経路とをそれぞれ探索すると共に、前記アークカット処理によって構築される前記第1及び第2アークカット経路探索ネットワークに基づいて、前記第1及び第2区間の最小コスト経路をそれぞれ探索する区間最小コスト経路探索ステップと、前記第1区間の最小コスト経路と前記第2区間の最小コスト経路とを結合して前記結合経路を生成する最小コスト経路結合ステップと、前記結合経路に重複するノードが存在するか否かを探索する重複ノード探索ステップと、重複ノードが存在する時に、前記第1区間の最小コスト経路の経由点ノードに最も近い重複ノードへ入るアークをカット処理し、前記第2区間の最小コスト経路の経由点ノードに最も近い重複ノードから出るアークをカット処理するアークカット処理ステップと、を備え、前記重複ノード探索ステップの探索結果に基づいて、ノードが重複しない結合経路が生成されたときに当該結合経路を前記経由最小コスト経路候補として生成する構成とするとよい。
請求項9のように、前記経由最小コスト経路候補記憶ステップは、前記経由最小コスト経路候補生成ステップで生成した全ての経由最小コスト経路候補を記憶し、経由最小コスト経路候補記憶ステップで記憶された全ての経由最小コスト経路候補の中でコストが最小の経由最小コスト経路候補を前記経由最小コスト経路として選択する経由最小コスト経路選択ステップを設け、該経由最小コスト経路選択ステップで選択した経由最小コスト経路情報を前記出力ステップで出力する構成とするとよい。
請求項10のように、前記経由最小コスト経路候補記憶ステップは、前記経由最小コスト経路候補生成ステップで経由最小コスト経路候補が生成される度に、当該生成された経由最小コスト経路候補のコストと既に記憶されている経由最小コスト経路候補のコストとを比較してコストの小さい経由最小コスト経路候補のみを記憶する構成であり、前記出力ステップは、前記経由最小コスト経路候補生成部で生成される前記結合経路のコストと前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補のコストとの比較結果に基づいて前記経由最小コスト経路候補よりコストの小さい結合経路が存在しないとき、前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補を前記経由最小コスト経路情報として出力する構成とするとよい。
本発明によれば、始点から終点までを、始点から経由点までの区間(第1区間)と経由点から終点までの区間(第2区間)に分割し、それぞれの区間で最小コスト経路を探索して結合し、結合した経路において重複経路が存在する場合に、重複経路のない経由経路が求まるまで、重複経路を除外するように予め定めたアークカット条件に従って所定のアークのカット処理を繰返し行うことにより、重複経路のない経由最小コスト経路を探索する構成としたので、従来の経由最小コスト経路探索装置に比べて、重複経路のない経由最小コスト経路の探索処理時間を短縮することができる。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明に係る経由最小コスト経路探索装置の一実施形態の構成を示すブロック図である。
図1は、本発明に係る経由最小コスト経路探索装置の一実施形態の構成を示すブロック図である。
図1において、本実施形態の経由最小コスト経路探索装置1は、入力部2と、データストレージ装置3と、経由経路データ生成部4と、経由最小コスト経路データ選択部5と、出力部6と、を備えて構成される。ここで、経由最小コスト経路探索装置1は、例えばコンピュータで構成され、前記経由経路データ生成部4及び経由最小コスト経路データ選択部5の機能はソフトウエア的に備えられるものである。
前記入力部2は、始点となる出発点、終点となる到着点及び経由点等のノード情報を入力するものである。
前記データストレージ装置3は、複数のノードをアークで接続し、各アークにコスト(例えば距離、運賃等)を設定した本来の経路探索ネットワークを構築するためのネットワークデータを格納するネットワークデータ格納部3Aと、後述するカット対象アークデータ生成手段4Dによって生成されるカット対象のアークデータを格納するアークデータ格納部3Bと、経由経路データ生成部4において生成される経由最小コスト経路候補の経由経路データを格納する経由経路データ格納部3Cとを備える。ここで、前記ネットワークデータ格納部3Aがデータ格納部に相当し、経由経路データ格納部3Cが経由最小コスト経路候補記憶部に相当する。
前記経由経路データ生成部4は、データストレージ装置3内のネットワークデータ格納部3Aに格納されたネットワークデータにより構築される本来の経路探索ネットワークに基づいて、入力された出発点ノードから経由点ノードまでの第1区間の最小コスト経路と経由点ノードから到着点ノードまでの第2区間の最小コスト経路を探索して結合し当該結合経路で重複するノードが存在する時、本来の経路探索ネットワークにおいて第1区間の最小コスト経路で経由点ノードに最も近い重複ノードへ入るアークをカット処理して構築した第1アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成すると共に、本来の経路探索ネットワークにおいて第2区間の最小コスト経路の経由ノードに最も近い重複ノードから出るアークをカット処理して構築した第2アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成するもので、2ノード間最小コスト経路データ生成手段4Aと、最小コスト経路データ結合手段4Bと、重複ノード探索手段4Cと、カット対象アークデータ生成手段4Dと、アークカット手段4Eとを備える。ここで、経由経路データ生成部4が経由最小コスト経路候補生成部に相当する。
前記2ノード間最小コスト経路データ生成手段4Aは、入力部2で出発点、到着点及び経由点の各ノード情報が入力されると、ネットワークデータ格納部3Aのネットワークデータを基に本来の経路探索ネットワークを構築し、この本来の経路探索ネットワークを基に第1区間の最小コスト経路と、第2区間の最小コスト経路とをそれぞれ探索して各区間の最小コスト経路データを生成すると共に、アークカット処理によって構築される第1及び第2アークカット経路探索ネットワークに基づいて、第1及び第2区間の最小コスト経路をそれぞれ探索してアークカット処理後の各区間における最小コスト経路データを生成するもので、区間最小コスト経路探索手段に相当する。各区間における最小コスト経路の算出方法は、例えばダイクストラ法等の最短経路探索アルゴリズムを用いることができる。
前記最小コスト経路データ結合手段4Bは、2ノード間最小コスト経路データ生成手段4Aで生成される第1区間の最小コスト経路データと第2区間の最小コスト経路データとを結合して結合経路データを生成するもので、最小コスト経路結合手段に相当する。
前記重複ノード探索手段4Cは、最小コスト経路データ結合手段4Bの結合経路データに重複するノードが存在するか否かを探索するものである。
カット対象アークデータ生成手段4Dは、重複ノード探索手段4Cの探索処理において重複ノードが存在する時に、本来の経路探索ネットワークにおいて、第1区間の最小コスト経路の経由点ノードに最も近い重複ノードへ入るアークと、第2区間の最小コスト経路の経由点ノードに最も近い重複ノードから出るアークとを、それぞれカット対象のアークデータとして生成するものである。
前記アークカット手段4Eは、前記カット対象アークデータ生成手段4Dによって生成されたカット対象アークデータに基づいて、本来の経路探索ネットワークにおいてカット対象のアークをカットして第1及び第2アークカット経路探索ネットワークを構築するためのネットワークデータとするものである。アークカット手段4Eによるアークカット方法としては、例えば、本来の経路探索ネットワーク構築用データにおいて、カット対象のアークデータを削除して第1及び第2アークカット経路探索ネットワーク構築用データとしてもよく、また、カット対象のアークのコストデータを、最小コスト経路探索動作でカット対象のアークを通る経路が選択されないよう極端に大きい値に設定して第1及び第2アークカット経路探索ネットワーク構築用データとするようにしてもよい。ここで、前記カット対象アークデータ生成手段4Dとアークカット手段4Eとでアークカット処理手段が構成される。
前記経由最小コスト経路データ選択部5は、経由経路データ格納部3Cに記憶された重複ノードの存在しない複数の経由最小コスト経路候補の中でコストが最小の経由最小コスト経路候補を経由最小コスト経路として選択するもので、経由最小コスト経路選択部に相当する。尚、経由経路データ格納部3Cに記憶された重複ノードの存在しない経由最小コスト経路候補が1つの場合は、その経由最小コスト経路候補を経由最小コスト経路として選択する。また、経由経路データ格納部3Cに記憶された重複ノードの存在しない経由最小コスト経路候補がない場合には、選択する経由最小コスト経路なしとする。
前記出力部6は、経由最小コスト経路データ選択部5で選択された経由最小コスト経路のデータ(ノード、アーク及びコスト等のデータ)を出力するものである。尚、経由最小コスト経路データ選択部5で選択される経由最小コスト経路が存在しないときには、例えば、出力部6からは、該当経由最小コスト経路なしの情報を出力するか、或いは、既に探索済みの重複ノードを考慮しない経由最小コスト経路の情報を出力するようにする。
次に、本実施形態の経由最小コスト経路探索装置1による経由最小コスト経路探索動作を、図2のフローチャートと図3に示す経路探索ネットワークを参照して説明する。
ステップS1で、入力部2において、出発点、到着点及び経由点の各データを入力する。このステップS1が入力ステップに相当する。
ステップS2では、ネットワークデータ格納部3A内のネットワークデータで構築される図3に示す本来の経路探索ネットワークに基づいて、経由経路データ生成部4の2ノード間最小コスト経路データ生成部4Aにより、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索する。探索の結果、前記第1区間における最小コスト経路はノードs→ノード2→ノードvの経路でコストは3であり、前記第2区間における最小コスト経路はノードv→ノード2→ノードtの経路でコストは3である。
ステップS2では、ネットワークデータ格納部3A内のネットワークデータで構築される図3に示す本来の経路探索ネットワークに基づいて、経由経路データ生成部4の2ノード間最小コスト経路データ生成部4Aにより、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索する。探索の結果、前記第1区間における最小コスト経路はノードs→ノード2→ノードvの経路でコストは3であり、前記第2区間における最小コスト経路はノードv→ノード2→ノードtの経路でコストは3である。
ステップS3では、最小コスト経路データ結合手段4Bにより、ステップS2で探索された各区間の最小コスト経路を結合する。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図4に点線矢印で示すノードs→ノード2→ノードv→ノード2→ノードtという結合経路が得られる。
ステップS4で、重複ノード探索手段4Cにより、ステップS3で生成された結合経路ノードs→ノード2→ノードv→ノード2→ノードtに重複するノードが存在するか否かを探索する。この場合、前記結合経路ノードs→ノード2→ノードv→ノード2→ノードtではノード2が重複しており、重複ノードありとしてステップS5に進む。尚、図3の経路探索ネットワークの例では、ステップS2で得られる最小コスト経路は各区間でそれぞれ1つであるが、経路探索ネットワークによっては各区間で複数得られる場合がある。この場合、ステップS3で得られる結合経路が複数存在し、結合経路が複数存在する場合、ステップS4では、重複ノードを含まない結合経路が少なくとも1つ存在する場合に重複ノードなしと判定し後述するステップS7に進み、全ての結合経路が重複ノードを含む場合に重複ノードありと判定しステップS5に進む。
ステップS5では、カット対象アークデータ生成手段4Dにより、カットするアークデータを生成する。ここで、アークのカット条件としては、下記に示すA)とB)の2つの条件とする。
A)始点ノードから経由点ノードまで(第1区間)の最小コスト経路を構成するアーク
の中で、経由点ノードに一番近い重複ノードへ入るアーク。
B)経由点ノードから終点ノードまで(第2区間)の最小コスト経路を構成するアーク
の中で、経由点ノードに一番近い重複ノードから出るアーク。
条件A)から、図4の結合経路における重複ノード2に入るアークをカット対象アークデータとして生成し、条件B)から、図4の結合経路における重複ノード2から出るアークをカット対象アークデータとして生成する。これら生成したカット対象のアークデータをアークデータ格納部3Bに格納する。
A)始点ノードから経由点ノードまで(第1区間)の最小コスト経路を構成するアーク
の中で、経由点ノードに一番近い重複ノードへ入るアーク。
B)経由点ノードから終点ノードまで(第2区間)の最小コスト経路を構成するアーク
の中で、経由点ノードに一番近い重複ノードから出るアーク。
条件A)から、図4の結合経路における重複ノード2に入るアークをカット対象アークデータとして生成し、条件B)から、図4の結合経路における重複ノード2から出るアークをカット対象アークデータとして生成する。これら生成したカット対象のアークデータをアークデータ格納部3Bに格納する。
ステップS6では、アークカット手段4Eにより、アークデータ格納部3Bのカット対象アークデータに従ってこれらアークのカット処理を行う。具体的には、例えば、第1区間のカット対象アークを本来の経路探索ネットワークから取除いて図5に示すような第1アークカット経路探索ネットワークを構築するためのネットワークデータとすると共に、第2区間のカット対象アークを本来の経路探索ネットワークから取除いて図6に示すような第2アークカット経路探索ネットワークを構築するためのネットワークデータとする。図5及び図6において、カット対象のアークを点線で示してある。この点線で示したアークは、実際にはネットワーク上では存在しない。
尚、アークのカット処理手法として、例えば、カット対象のアークのコストを極端に大きい値に設定することにより、最小コスト経路探索動作でカット対象のアークを通る経路が選択されないようにしてもよい。
次に、ステップS2に戻り、図5の第1アークカット経路探索ネットワークと図6の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路と第2区間の最小コスト経路をそれぞれ探索する。探索の結果、図5の第1アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路はノードs→ノード1→ノード4→ノード5→ノードvでコスト7の経路が得られ、第2区間の最小コスト経路は前述した本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードv→ノード2→ノードt)でコスト3の経路が得られる。また、図6の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路は前述した本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードs→ノード2→ノードv)でコスト3の経路が得られ、第2区間の最小コスト経路はノードv→ノード5→ノード7→ノード3→ノードtの経路でコスト8の経路が得られる。
次に、ステップS3で、前述と同様に、最小コスト経路データ結合手段4Bにより、ステップS2で探索された各区間の最小コスト経路を結合する。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図5の第1アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード1→ノード4→ノード5→ノードv→ノード2→ノードtでコスト10の結合経路が得られる。また、図6の第2アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード2→ノードv→ノード5→ノード7→ノード3→ノードtでコスト11の結合経路が得られる。
次に、ステップS4で、ステップS3で得られた結合経路に重複するノードが存在するか否かをそれぞれ探索する。この場合、結合経路ノードs→ノード1→ノード4→ノード5→ノードv→ノード2→ノードtと結合経路ノードs→ノード2→ノードv→ノード5→ノード7→ノード3→ノードtのいずれにも重複ノードが存在しない。従って、このように重複ノードが存在しない結合経路が探索された場合、重複ノードなしとしてステップS7に進む。
このように、重複経路のない経由経路が求まるまで、予め定めたアークカット条件に従って所定のアークのカット処理を繰返し行って重複経路のない経由最小コスト経路候補を求めることで、無駄のない経由最小コスト経路の探索を行う。
ステップS7では、これら両結合経路を経由最小コスト経路候補として経由経路データ格納部3Cに格納する。このステップS7が経由最小コスト経路候補記憶ステップに相当する。
ステップS8では、重複ノードを含む結合経路の有無を判定し、重複ノードを含む結合経路が1つでもあれば判定が経路有りとなりステップS5に進み、重複ノードを含む結合経路が存在しなければステップS9に進む。図5及び図6の例では、両結合経路がどちらも重複ノードを含んでいないため、ステップS8の判定が経路無しとなりステップS9に進むことになる。従って、前述のステップS2〜ステップS6とステップS8が経由最小コスト経路候補生成ステップに相当する。
ステップS9では、経路最小コスト経路データ選択部5により、経由経路データ格納部3Cに格納された経由最小コスト経路候補の中でコスト最小のものを経由最小コスト経路として選択する。この場合、ノードs→ノード1→ノード4→ノード5→ノードv→ノード2→ノードtの経路のコストは10であり、結合経路ノードs→ノード2→ノードv→ノード5→ノード7→ノード3→ノードtのコストは11である。従って、経由最小コスト経路として図5の経路ノードs→ノード1→ノード4→ノード5→ノードv→ノード2→ノードtが選択される。このステップS9が経由最小コスト経路選択ステップに相当する。
ステップS10では、選択した経由最小コスト経路ノードs→ノード1→ノード4→ノード5→ノードv→ノード2→ノードtの経路データ(コスト10のコストデータも含む)を出力部6から出力する。このステップS10が出力ステップに相当する。
次に、図7に示す別の経路探索ネットワークを用いて、アークカット処理後の結合経路でも重複経路が存在する場合の経由最小コスト経路探索動作について図2のフローチャートを参照して説明する。
図7に示す本来の経路探索ネットワークに基づいて、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索する(ステップS2)。探索の結果、前記第1区間における最小コスト経路はノードs→ノード10→ノード11→ノード1→ノード4→ノードvの経路でコストは7であり、前記第2区間における最小コスト経路はノードv→ノード4→ノード1→ノード2→ノードtの経路でコストは4である。
次に、上記の第1区間と第2区間のそれぞれの最小コスト経路を結合する(ステップS3)。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図8に点線で示すノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード4→ノード1→ノード2→ノードtという結合経路が得られる。
次に、生成された結合経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード4→ノード1→ノード2→ノードtに重複するノードが存在するか否かを探索する(ステップS4)。この場合、ノード4とノード1が重複する。
前述のアークカット条件A)により、図8の結合経路における経由点ノードvに一番近い重複ノード4に入るアークをカット対象アークデータとして生成する。また、アークカット条件B)により、図8の結合経路における経由点ノードvに一番近い重複ノード4から出るアークをカット対象アークデータとして生成し、アークデータ格納部3Bに格納する(ステップS5)。
次に、アークデータ格納部3Bのカット対象アークデータに従ってアークのカット処理を行う。例えば、第1区間のカット対象アークを本来の経路探索ネットワークから取除いて図9に示すような第1アークカット経路探索ネットワークを構築するためのネットワークデータとすると共に、第2区間のカット対象アークを本来の経路探索ネットワークから取除いて図10に示すような第2アークカット経路探索ネットワークを構築するためのネットワークデータとする(ステップS6)。図9及び図10において、カット対象のアークを点線で示してある。この点線で示したアークは、実際にはネットワーク上では存在しない。
次に、図9の第1アークカット経路探索ネットワークと図10の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路と第2区間の最小コスト経路をそれぞれ探索する(ステップS2)。探索の結果、図9の第1アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路はノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードvでコスト8の経路が得られる。また、第2区間の最小コスト経路は前述した本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードv→ノード4→ノード1→ノード2→ノードt)でコスト4の経路が得られる。また、図10の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路は前述した本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードs→ノード10→ノード11→ノード1→ノード4→ノードv)でコスト7の経路が得られ、第2区間の最小コスト経路はノードv→ノード8→ノード5→ノード2→ノードtの経路でコスト5の経路が得られる。
次に、第1及び第2アークカット経路探索ネットワーク上で探索された各区間の最小コスト経路を結合する(ステップS3)。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図9の第1アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード4→ノード1→ノード2→ノードtでコスト12の結合経路が得られる。また、図10の第2アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード8→ノード5→ノード2→ノードtでコスト12の結合経路が得られる。
次に、それぞれの結合経路について重複するノードが存在するか否かを探索する(ステップS4)。ここで、図10の第2アークカット経路探索ネットワーク上で得られた結合経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード8→ノード5→ノード2→ノードtは重複するノードが存在しない。従って、経由最小コスト経路候補としてその経由経路データを経由経路データ格納部3Cに格納する(ステップS7)。一方、図9の第1アークカット経路探索ネットワーク上で得られた結合経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード4→ノード1→ノード2→ノードtでは、ノード2が重複している。従って、ステップ8の判定が経路有りとなり、この結合経路について、再度、アークカット処理を行う(ステップS5,6)。
アークカット条件A)により、図9の結合経路における重複ノード2に入るアークをカット対象アークデータとして生成し、アークカット条件B)により、図9の結合経路における重複ノード2から出るアークをカット対象アークデータとして生成し、アークデータ格納部3Bに格納する(ステップS5)。
次に、アークデータ格納部3Bのカット対象アークデータに従って、図9の第1アークカット経路探索ネットワークにおいて重複ノード2に入るアークを取除いて図11に示すような第1アークカット経路探索ネットワークを構築するためのネットワークデータを生成すると共に、重複ノード2から出るアークを取除いて図12に示すような第2アークカット経路探索ネットワークを構築するためのネットワークデータとする(ステップS6)。
次に、図11の第1アークカット経路探索ネットワークと図12の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路と第2区間の最小コスト経路をそれぞれ探索する(ステップS2)。探索の結果、図11の第1アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路はノードs→ノード3→ノード7→ノードvでコスト9の経路が得られ、第2区間の最小コスト経路は前述した本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードv→ノード4→ノード1→ノード2→ノードt)でコスト4の経路が得られる。また、図12の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路は図11の第1アークカット経路探索ネットワークと同じ経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードvでコスト8の経路が得られ、第2区間の最小コスト経路はノードv→ノード15→ノード16→ノード17→ノード9→ノード6→ノードtの経路でコスト10の経路が得られる。
次に、図11と図12の第1及び第2アークカット経路探索ネットワーク上で探索された各区間の最小コスト経路を結合する(ステップS3)。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図11の第1アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード3→ノード7→ノードv→ノード4→ノード1→ノード2→ノードtでコスト13の結合経路が得られる。また、図12の第2アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード15→ノード16→ノード17→ノード9→ノード6→ノードtでコスト18の結合経路が得られる。
それぞれの結合経路について、再度、重複する経路が存在するか否かを探索する(ステップS4)。ここで、いずれの経由経路も重複するノードがないことから、これら経由経路を経由最小コスト経路候補としてその経由経路データを経由経路データ格納部3Cに格納する(ステップS7)。
そして、これ以上重複ノードが存在する経由経路が存在しないことからステップS8で判定が経路無しとなり、これまでに経由経路データ格納部3Cに格納された経由最小コスト経路候補の中から最小コストの経由経路を選択する(ステップS9)。この例では、経由経路データ格納部3Cには3つの経由最小コスト経路候補が格納されている。即ち、図10に点線矢印で示した経由経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード8→ノード5→ノード2→ノードtと、図11に点線矢印で示した経由経路ノードs→ノード3→ノード7→ノードv→ノード4→ノード1→ノード2→ノードtと、図12に点線矢印で示した経由経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード15→ノード16→ノード17→ノード9→ノード6→ノードtである。そして、これら3つの経由経路の中でコストが最小のものを経由最小コスト経路として選択する。図10に示した経由経路のコストは12であり、図11に示した経由経路のコストは13であり、図12に示した経由経路のコストは18である。従って、経由最小コスト経路として図10の経由経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード8→ノード5→ノード2→ノードtを選択し、この経由経路データを出力部6から出力することになる(ステップS10)。
上記の各実施形態は、第1及び第2アークカット経路探索ネットワークにおいて、ノードの重複しない経由最小コスト経路候補がそれぞれ存在する例を示したが、必ずしも第1及び第2アークカット経路探索ネットワーク上に経由最小コスト経路候補が存在するとは限らない。以下にそのような例について説明する。
図13に示す経路探索ネットワークを用いて、第1及び第2アークカット経路探索ネットワークのいずれにも経由最小コスト経路候補が存在しない場合の例について図2のフローチャートを参照して説明する。
図13に示す本来の経路探索ネットワークに基づいて、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索し(ステップS2)、探索したそれぞれの最小コスト経路を結合すると(ステップS3)、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図14に点線で示すノードs→ノード4→ノードv→ノード4→ノードtという結合経路が得られる。
生成された結合経路ノードs→ノード4→ノードv→ノード4→ノードtには、重複ノードとしてノード4が存在するのでステップS4の判定が重複ノードありとなり、前述と同様にしてアークカット処理を実行し、アークカット条件A)から第1アークカット経路探索ネットワークデータを生成し、アークカット条件B)から第2アークカット経路探索ネットワークデータを生成する(ステップS5、S6)。生成されたネットワークデータから得られる第1アークカット経路探索ネットワークを図15に示し、第2アークカット経路探索ネットワークを図16に示す。尚、カット対象のアークを図中に点線で示してある。この点線で示したアークは、実際にはネットワーク上では存在しない。
図15の第1アークカット経路探索ネットワークと図16の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路と第2区間の最小コスト経路をそれぞれ探索する(ステップS2)。探索の結果、図15の第1アークカット経路探索ネットワークでは出発点ノードsから経由点ノードvに至る経路が存在しない。また、図16の第2アークカット経路探索ネットワークでは経由点ノードvから到着点ノードtに至る経路が存在しない。このため、第1及び第2アークカット経路探索ネットワークそれぞれにおいて第1区間と第2区間の最小コスト経路の結合経路として得られる、重複ノードの存在しない経由最小コスト経路候補は、第1及び第2アークカット経路探索ネットワークのいずれにも存在しない。
尚、この場合、経由経路データ格納部3Cに記憶される経由最小コスト経路候補の経路データがないので、経由最小コスト経路データ選択部5では経由最小コスト経路存在なしと判断し、例えば、出力部6からは、該当経由最小コスト経路なしの情報を出力するか、或いは、既に探索済みの重複ノードを考慮しない経由最小コスト経路の情報を出力するようにする(ステップS10)。
次に、図17に示す経路探索ネットワークを用いて、経由最小コスト経路候補が1つしか存在しない場合の例について説明する。
図17に示す本来の経路探索ネットワークに基づいて、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索し(ステップS2)、探索したそれぞれの最小コスト経路を結合すると(ステップS3)、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図18に点線で示すノードs→ノード4→ノードv→ノード4→ノードtという結合経路が得られる。
生成された結合経路ノードs→ノード4→ノードv→ノード4→ノードtには、重複ノードとしてノード4が存在するのでステップS4の判定が重複ノードありとなり、前述と同様にしてアークカット処理を実行し、アークカット条件A)から第1アークカット経路探索ネットワークデータを生成し、アークカット条件B)から第2アークカット経路探索ネットワークデータを生成する(ステップS5、S6)。生成されたネットワークデータから得られる第1アークカット経路探索ネットワークを図19に示し、第2アークカット経路探索ネットワークを図20に示す。尚、カット対象のアークを図中に点線で示してある。この点線で示したアークは、実際にはネットワーク上では存在しない。
図19の第1アークカット経路探索ネットワークと図20の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路と第2区間の最小コスト経路をそれぞれ探索する(ステップS2)。探索の結果、図19の第1アークカット経路探索ネットワークでは出発点ノードsから経由点ノードvに至る経路が存在しない。一方、図20の第2アークカット経路探索ネットワークでは、第1区間の最小コスト経路は本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードs→ノード4→ノードv)の経路が得られ、経由点ノードvから到着点ノードtに至る第2区間の最小コスト経路としてノードv→ノード6→ノードtの経路が得られる。
これにより、出発点sから経由点vを通り到着点tに至る経由最小コスト経路として、図20の第2アークカット経路探索ネットワークにおいて、図中点線矢印で示す経路ノードs→ノード4→ノードv→ノード6→ノードtの結合経路が経由最小コスト経路候補として1つだけ存在する(ステップS3、S4)。従って、この経路データが経由経路データ格納部3Cに記憶され(ステップS7)、経由最小コスト経路データ選択部5によって選択され(ステップS9)、出力部6から経由最小コスト経路情報として出力される(ステップS10)。
かかる構成によれば、始点から終点までを、始点から経由点までの区間(第1区間)と経由点から終点までの区間(第2区間)に分割し、それぞれの区間で最小コスト経路を探索して結合し、結合した経路において重複経路が存在する場合に、重複経路のない経由経路が求まるまで、重複経路を除外するように予め定めたアークカット条件に従って所定のアークのカット処理を繰返し行うことにより、重複経路のない経由最小コスト経路を探索する構成としたので、従来の経由最小コスト経路探索装置に比べて、重複経路のない経由最小コスト経路の探索処理時間を短縮することができる。
図21は、本発明に係る経由最小コスト経路探索装置の別の実施形態の構成を示すブロック図である。尚、図1の実施形態と同一要素には同一符号を付して説明を省略する。
図21に示す経由最小コスト経路探索装置1は、より効率的に経由最小コスト経路を求めるもので、その構成は経由最小コスト経路選択部5がない点が図1の実施形態と異なり、その他の構成は同じである。本実施形態の経由最小コスト経路探索装置1では、経由経路データ格納部3Cに格納する経由最小コスト経路候補は常に1つとし、複数の候補の中から1つの経路を選択する必要がないため、経由最小コスト経路選択部5を必要としない。そして、経由最小コスト経路記憶部5に格納されている経由最小コスト経路候補のコストより小さいコストの結合経路が生成されなくなったとき、経由最小コスト経路記憶部5に格納されている経由最小コスト経路候補を経由最小コスト経路情報として出力部6から出力する構成である。
図21に示す経由最小コスト経路探索装置1は、より効率的に経由最小コスト経路を求めるもので、その構成は経由最小コスト経路選択部5がない点が図1の実施形態と異なり、その他の構成は同じである。本実施形態の経由最小コスト経路探索装置1では、経由経路データ格納部3Cに格納する経由最小コスト経路候補は常に1つとし、複数の候補の中から1つの経路を選択する必要がないため、経由最小コスト経路選択部5を必要としない。そして、経由最小コスト経路記憶部5に格納されている経由最小コスト経路候補のコストより小さいコストの結合経路が生成されなくなったとき、経由最小コスト経路記憶部5に格納されている経由最小コスト経路候補を経由最小コスト経路情報として出力部6から出力する構成である。
次に、図7に示す経路探索ネットワークを用いて、図21の経由最小コスト経路探索装置1による経由最小コスト経路探索動作を、図22のフローチャートを参照しながら説明する。
ステップS21〜S23の動作は、図2のフローチャートと同様である。
ステップS21において、入力部2から出発点、到着点及び経由点の各データを入力し、ステップS22において、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索する。探索の結果、第1区間における最小コスト経路はノードs→ノード10→ノード11→ノード1→ノード4→ノードvの経路でコストは7であり、第2区間における最小コスト経路はノードv→ノード4→ノード1→ノード2→ノードtの経路でコストは4である。ステップS23において、上記の第1区間と第2区間のそれぞれの最小コスト経路を結合する。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図8に点線で示すノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード4→ノード1→ノード2→ノードtというコスト11の結合経路が得られる。
ステップS21において、入力部2から出発点、到着点及び経由点の各データを入力し、ステップS22において、出発点ノードsから経由点ノードvまでの第1区間及び経由点ノードvから到着点ノードtまでの第2区間における最小コスト経路をそれぞれ探索する。探索の結果、第1区間における最小コスト経路はノードs→ノード10→ノード11→ノード1→ノード4→ノードvの経路でコストは7であり、第2区間における最小コスト経路はノードv→ノード4→ノード1→ノード2→ノードtの経路でコストは4である。ステップS23において、上記の第1区間と第2区間のそれぞれの最小コスト経路を結合する。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図8に点線で示すノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード4→ノード1→ノード2→ノードtというコスト11の結合経路が得られる。
ステップS24において、ステップS23で得られた結合経路のコストと、経由経路データ格納部3C内の経由最小コスト経路候補のコストとを比較し、コストの小さい結合経路があるか否かを判定する。経由経路データ格納部3C内の経由最小コスト経路候補よりコストの小さい結合経路が有れば判定が経路有りとなってステップS25に進む。経由経路データ格納部3C内の経由最小コスト経路候補よりコストの小さい結合経路が無ければ判定が経路無しとなって後述するステップS31に進む。尚、経路探索動作開始初期は、経由経路データ格納部3C内に経由最小コスト経路候補が格納されていない。そのため、経由経路データ格納部3C内に経由最小コスト経路候補が格納されていない探索動作開示時の比較用コストデータとして極端に大きな値に設定したコストデータを予め経由経路データ格納部3C内に格納しておく。こうすることにより、初回では必ず結合経路のコストの方が小さくなるため、ステップS24の判定は経路有りとなりステップS25に進むことになる。
ステップS25において、重複ノード探索手段4Cにより、生成された結合経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード4→ノード1→ノード2→ノードtに重複するノードが存在するか否かを探索する。この場合、ノード4とノード1が重複し、ステップS25の判定は重複ノードありとなりステップS26に進む。
ステップS26において、重複ノードが存在する結合経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード4→ノード1→ノード2→ノードtのコストが経由経路データ格納部3C内の経由最小コスト経路候補のコストより小さいか否かを判定する。経由経路データ格納部3C内の経由最小コスト経路候補よりコストの小さい結合経路が有れば判定が経路有りとなってステップS27に進み、経由経路データ格納部3C内の経由最小コスト経路候補よりコストの小さい結合経路が無ければ判定が経路無しとなってステップS31に進む。前述したように経路探索動作開始初期は、経由経路データ格納部3C内に経由最小コスト経路候補は格納されていないので、ステップS26についても、初回は極端に大きな値に設定した比較用コストデータと比較することになり、必ずステップS26の判定が経路有りとなりステップS27に進むことになる。
ステップS27において、前述のアークカット条件A)により、図8の結合経路における経由点ノードvに一番近い重複ノード4に入るアークをカット対象アークデータとして生成する。また、アークカット条件B)により、図8の結合経路における経由点ノードvに一番近い重複ノード4から出るアークをカット対象アークデータとして生成し、アークデータ格納部3Bに格納する。
ステップS28において、アークデータ格納部3Bのカット対象アークデータに従ってアークのカット処理を行う。例えば、第1区間のカット対象アークを本来の経路探索ネットワークから取除いて図9に示すような第1アークカット経路探索ネットワークを構築するためのネットワークデータとすると共に、第2区間のカット対象アークを本来の経路探索ネットワークから取除いて図10に示すような第2アークカット経路探索ネットワークを構築するためのネットワークデータとする。図9及び図10において、点線で示したカット対象のアークは、実際にはネットワーク上では存在しない。
ステップS22に戻り、図9の第1アークカット経路探索ネットワークと図10の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路と第2区間の最小コスト経路をそれぞれ探索する。探索の結果、図9の第1アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路はノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードvでコスト8の経路が得られる。また、第2区間の最小コスト経路は本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードv→ノード4→ノード1→ノード2→ノードt)でコスト4の経路が得られる。また、図10の第2アークカット経路探索ネットワークにおいて、第1区間の最小コスト経路は本来の経路探索ネットワーク上で得られた経路と同じ経路(ノードs→ノード10→ノード11→ノード1→ノード4→ノードv)でコスト7の経路が得られ、第2区間の最小コスト経路はノードv→ノード8→ノード5→ノード2→ノードtの経路でコスト5の経路が得られる。
ステップS23において、第1及び第2アークカット経路探索ネットワーク上で探索された各区間の最小コスト経路を結合する。これにより、出発点sから経由点vを通り到着点tまでの経由最小コスト経路として、図9の第1アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード4→ノード1→ノード2→ノードtでコスト12の結合経路が得られる。また、図10の第2アークカット経路探索ネットワークにおいては、点線矢印で示す経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード8→ノード5→ノード2→ノードtでコスト12の結合経路が得られる。
ステップS24において、ステップS23で得られたそれぞれの結合経路のコストが、経由経路データ格納部3C内の経由最小コスト経路候補のコストより小さいか否かを判定する。この場合も、経由経路データ格納部3C内には経由最小コスト経路候補は格納されておらず、コストが極端に大きな値に設定したコストデータとの比較となり、判定は経路有りとなりステップS25に進むことになる。
ステップS25において、それぞれの結合経路について重複するノードが存在するか否かを探索する。ここで、図10の第2アークカット経路探索ネットワーク上で得られた結合経路ノードs→ノード10→ノード11→ノード1→ノード4→ノードv→ノード8→ノード5→ノード2→ノードtは重複するノードが存在しない。従って、ステップS29に進み、経由最小コスト経路候補としてその経由経路データを経由経路データ格納部3Cに格納する。一方、図9の第1アークカット経路探索ネットワーク上で得られた結合経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード4→ノード1→ノード2→ノードtでは、ノード2が重複している。従って、ステップS30の判定が経路有りとなってステップS26に進む。
ステップS26において、重複ノードが存在する図9の結合経路ノードs→ノード10→ノード11→ノード12→ノード2→ノード5→ノード8→ノードv→ノード4→ノード1→ノード2→ノードtのコストが経由経路データ格納部3C内の経由最小コスト経路候補のコストより小さいか否かを判定する。この場合、重複ノードが存在する図9の結合経路のコストは12であり、経由経路データ格納部3Cに格納されている経由最小コスト経路候補のコストも12である。このため、判定は経路無しとなりステップS31に進む。
ステップS31において、経由経路データ格納部3Cに格納されている図10の経由最小コスト経路候補を経由最小コスト経路データとして出力部6から出力する。
かかる実施形態装置によれば、経由経路データ格納部3Cに格納される経由最小コスト経路は常に1つであるので、複数の経由最小コスト経路から選択する必要がなく、経由最小コスト経路選択部5が不要となる。また、経由経路データ格納部3Cに格納されている経由最小コスト経路候補のコストよりコストの大きい結合経路についてはアークカット処理を省略でき、その後の経路探索処理も省略できるので、経由最小コスト経路の探索動作の効率を向上できる。
1 経由最小コスト経路探索装置
2 入力部
3 データストレージ装置
3A ネットワークデータ格納部
3B アークデータ格納部
3C 経由経路データ格納部
4 経由経路データ生成部
4A 2ノード間最小コスト経路データ生成手段
4B 最小コスト経路データ結合手段
4C 重複ノード探索手段
4D カット対象アークデータ生成手段
4E アークカット手段
5 経由最小コスト経路データ選択部
6 出力部
2 入力部
3 データストレージ装置
3A ネットワークデータ格納部
3B アークデータ格納部
3C 経由経路データ格納部
4 経由経路データ生成部
4A 2ノード間最小コスト経路データ生成手段
4B 最小コスト経路データ結合手段
4C 重複ノード探索手段
4D カット対象アークデータ生成手段
4E アークカット手段
5 経由最小コスト経路データ選択部
6 出力部
Claims (10)
- 経路探索ネットワークを用いて、始点から指定した経由点を通り終点に至る経由経路の中でコストが最小となる経由最小コスト経路を探索する経由最小コスト経路探索装置であって、
複数のノードをアークで接続し、各アークにコストを設定した本来の経路探索ネットワークを構築するネットワークデータを格納するデータ格納部と、
前記始点、終点及び経由点の各ノード情報を入力する入力部と、
前記本来の経路探索ネットワークに基づいて、入力された始点ノードから経由点ノードまでの第1区間の最小コスト経路と前記経由点ノードから終点ノードまでの第2区間の最小コスト経路を探索して結合し当該結合経路で重複するノードが存在する時、前記本来の経路探索ネットワークにおいて前記第1区間の最小コスト経路で経由点ノードに最も近い前記重複ノードへ入るアークをカット処理して構築した第1アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成すると共に、前記本来の経路探索ネットワークにおいて前記第2区間の最小コスト経路の経由ノードに最も近い重複ノードから出るアークをカット処理して構築した第2アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成する経由最小コスト経路候補生成部と、
該経由最小コスト経路候補生成部で生成した経由最小コスト経路候補を記憶する経由最小コスト経路候補記憶部と、
該経由最小コスト経路候補記憶部に記憶されたコストが最小の経由最小コスト経路候補を経由最小コスト経路情報として出力する出力部と、
を備えて構成したことを特徴とする経由最小コスト経路探索装置。 - 前記経由最小コスト経路候補生成部は、
前記入力部で始点、終点及び経由点の各ノード情報が入力されると、前記データ格納部のネットワークデータを基に前記本来の経路探索ネットワークを構築し、前記本来の経路探索ネットワークを基に前記第1区間の最小コスト経路と、前記第2区間の最小コスト経路とをそれぞれ探索すると共に、前記アークカット処理によって構築される前記第1及び第2アークカット経路探索ネットワークに基づいて、前記第1及び第2区間の最小コスト経路をそれぞれ探索する区間最小コスト経路探索手段と、
前記第1区間の最小コスト経路と前記第2区間の最小コスト経路とを結合して前記結合経路を生成する最小コスト経路結合手段と、
前記結合経路に重複するノードが存在するか否かを探索する重複ノード探索手段と、
重複ノードが存在する時に、前記本来の経路探索ネットワークにおいて、前記第1区間の最小コスト経路の経由点ノードに最も近い重複ノードへ入るアークをカット処理し、前記第2区間の最小コスト経路の経由点ノードに最も近い重複ノードから出るアークをカット処理するアークカット処理手段と、
を備え、
前記重複ノード探索手段の探索結果に基づいて、ノードが重複しない結合経路が生成されたときに当該結合経路を前記経由最小コスト経路候補として生成する構成である請求項1に記載の経由最小コスト経路探索装置。 - 前記アークカット処理手段は、前記本来の経路探索ネットワークを構築するネットワークデータからカット対象のアークデータを削除して前記第1及び第2アークカット経路探索ネットワークを構築する請求項2に記載の経由最小コスト経路探索装置。
- 前記アークカット処理手段は、前記本来の経路探索ネットワークを構築するネットワークデータにおけるカット対象のアークのコストデータを、最小コスト経路探索動作で当該アークを通る経路が選択されないよう大きい値に設定して前記第1及び第2アークカット経路探索ネットワークを構築する請求項2に記載の経由最小コスト経路探索装置。
- 前記経由最小コスト経路候補記憶部に、前記経由最小コスト経路候補生成部で生成した全ての経由最小コスト経路候補を記憶し、前記経由最小コスト経路候補記憶部に記憶された全ての経由最小コスト経路候補の中でコストが最小の経由最小コスト経路候補を前記経由最小コスト経路として選択する経由最小コスト経路選択部を設け、該経由最小コスト経路選択部で選択した経由最小コスト経路情報を前記出力部から出力する構成とした請求項1〜4のいずれか1つに記載の経由最小コスト経路探索装置。
- 前記経由最小コスト経路候補生成部で経由最小コスト経路候補が生成されたとき、当該生成された経由最小コスト経路候補のコストと前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補のコストとを比較しコストの小さい経由最小コスト経路候補のみを前記経由最小コスト経路候補記憶部に記憶すると共に、前記経由最小コスト経路候補生成部で生成される前記結合経路のコストと前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補のコストとの比較結果に基づいて、前記経由最小コスト経路候補よりコストの小さい結合経路が存在しないとき、前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補を前記経由最小コスト経路情報として前記出力部により出力する構成とした請求項1〜4のいずれか1つに記載の経由最小コスト経路探索装置。
- 経路探索ネットワークを用いて、始点から指定した経由点を通り終点に至る経由経路の中でコストが最小となる経由最小コスト経路を探索する経由最小コスト経路探索方法であって、
前記始点、終点及び経由点の各ノード情報を入力する入力ステップと、
予め格納されたネットワークデータに基づいて構築される、複数のノードをアークで接続し、各アークにコストを設定した本来の経路探索ネットワークに基づいて、入力された始点ノードから経由点ノードまでの第1区間の最小コスト経路と前記経由点ノードから終点ノードまでの第2区間の最小コスト経路を結合し当該結合経路で重複するノードが存在する時、前記本来の経路探索ネットワークにおいて前記第1区間の最小コスト経路で経由点ノードに最も近い前記重複ノードへ入るアークをカット処理して構築した第1アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成すると共に、前記本来の経路探索ネットワークにおいて前記第2区間の最小コスト経路の経由ノードに最も近い重複ノードから出るアークをカット処理して構築した第2アークカット経路探索ネットワークに基づいて、ノードが重複しない結合経路を経由最小コスト経路候補として生成する経由最小コスト経路候補生成ステップと、
該経由最小コスト経路候補生成ステップで生成した経由最小コスト経路候補を記憶する経由最小コスト経路候補記憶ステップと、
該経由最小コスト経路候補記憶ステップで記憶したコストが最小の経由最小コスト経路候補を経由最小コスト経路情報として出力する出力ステップと、
を備えて構成したことを特徴とする経由最小コスト経路探索方法。 - 前記経由最小コスト経路候補生成ステップは、
前記入力ステップで始点、終点及び経由点の各ノード情報が入力されると、前記本来の経路探索ネットワークに基づいて、前記第1区間の最小コスト経路と前記第2区間の最小コスト経路とをそれぞれ探索すると共に、前記アークカット処理によって構築される前記第1及び第2アークカット経路探索ネットワークに基づいて、前記第1及び第2区間の最小コスト経路をそれぞれ探索する区間最小コスト経路探索ステップと、
前記第1区間の最小コスト経路と前記第2区間の最小コスト経路とを結合して前記結合経路を生成する最小コスト経路結合ステップと、
前記結合経路に重複するノードが存在するか否かを探索する重複ノード探索ステップと、
重複ノードが存在する時に、前記第1区間の最小コスト経路の経由点ノードに最も近い重複ノードへ入るアークをカット処理し、前記第2区間の最小コスト経路の経由点ノードに最も近い重複ノードから出るアークをカット処理するアークカット処理ステップと、
を備え、
前記重複ノード探索ステップの探索結果に基づいて、ノードが重複しない結合経路が生成されたときに当該結合経路を前記経由最小コスト経路候補として生成する構成である請求項7に記載の経由最小コスト経路探索方法。 - 前記経由最小コスト経路候補記憶ステップは、前記経由最小コスト経路候補生成ステップで生成した全ての経由最小コスト経路候補を記憶し、経由最小コスト経路候補記憶ステップで記憶された全ての経由最小コスト経路候補の中でコストが最小の経由最小コスト経路候補を前記経由最小コスト経路として選択する経由最小コスト経路選択ステップを設け、該経由最小コスト経路選択ステップで選択した経由最小コスト経路情報を前記出力ステップで出力する構成とした請求項7又は8に記載の経由最小コスト経路探索方法。
- 前記経由最小コスト経路候補記憶ステップは、前記経由最小コスト経路候補生成ステップで経由最小コスト経路候補が生成される度に、当該生成された経由最小コスト経路候補のコストと既に記憶されている経由最小コスト経路候補のコストとを比較してコストの小さい経由最小コスト経路候補のみを記憶する構成であり、前記出力ステップは、前記経由最小コスト経路候補生成部で生成される前記結合経路のコストと前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補のコストとの比較結果に基づいて前記経由最小コスト経路候補よりコストの小さい結合経路が存在しないとき、前記経由最小コスト経路候補記憶部に記憶されている経由最小コスト経路候補を前記経由最小コスト経路情報として出力する構成である請求項7又は8に記載の経由最小コスト経路探索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009234275A JP5413894B2 (ja) | 2009-10-08 | 2009-10-08 | 経由最小コスト経路探索装置及び経由最小コスト経路探索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009234275A JP5413894B2 (ja) | 2009-10-08 | 2009-10-08 | 経由最小コスト経路探索装置及び経由最小コスト経路探索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011080899A JP2011080899A (ja) | 2011-04-21 |
JP5413894B2 true JP5413894B2 (ja) | 2014-02-12 |
Family
ID=44075087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009234275A Expired - Fee Related JP5413894B2 (ja) | 2009-10-08 | 2009-10-08 | 経由最小コスト経路探索装置及び経由最小コスト経路探索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5413894B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4533354B2 (ja) * | 2006-08-28 | 2010-09-01 | 日本電信電話株式会社 | 経路計算方法、経路計算プログラムおよび経路計算装置 |
CN101483539B (zh) * | 2008-01-07 | 2011-04-13 | 华为技术有限公司 | 一种获取路径的方法、路径计算单元和*** |
-
2009
- 2009-10-08 JP JP2009234275A patent/JP5413894B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011080899A (ja) | 2011-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002133351A (ja) | 最小コスト経路探索装置及びそれに用いる最小コスト経路探索方法 | |
EP2880826B1 (en) | Label distribution and route installation in a loop-free routing topology using routing arcs | |
US11558259B2 (en) | System and method for generating and using physical roadmaps in network synthesis | |
US10164867B2 (en) | Generating non-congruent paths having minimal latency difference in a loop-free routing topology having routing arcs | |
CN103493441A (zh) | 使用路由轨迹生成无回路路由拓扑 | |
JP4533354B2 (ja) | 経路計算方法、経路計算プログラムおよび経路計算装置 | |
JP2005086460A (ja) | 経路設計装置及びその方法並びにプログラム | |
WO2004088918A2 (en) | Data networking | |
JP3945656B2 (ja) | 管理ノード装置、ノード装置、ネットワーク構成管理システム、ネットワーク構成管理方法、ノード装置の制御方法、管理ノード装置の制御方法 | |
JP5108956B2 (ja) | 経路計算順決定方法、プログラムおよび計算装置 | |
JP4358806B2 (ja) | 経路探索方法および経路探索プログラムおよび経路探索システム | |
JP5391322B2 (ja) | 経路計算方法、プログラムおよび計算装置 | |
KR20130087535A (ko) | 라우팅 정보의 룩헤드 계산 | |
US8724457B2 (en) | Communication apparatus and method of determining route | |
JP4536690B2 (ja) | 経路計算方法及び装置及びプログラム | |
JP5413894B2 (ja) | 経由最小コスト経路探索装置及び経由最小コスト経路探索方法 | |
JP5271817B2 (ja) | 経路探索方法、装置及びプログラム | |
JP2005259052A (ja) | プログラム及び車両運用計画作成装置 | |
JP6547575B2 (ja) | 経路探索装置及び経路探索方法 | |
JP4499067B2 (ja) | マルチキャスト経路計算方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体 | |
CN103763191B (zh) | 基于生成树的域内多路径生成方法 | |
JP6587518B2 (ja) | 経路探索装置及び経路探索方法 | |
US8498842B2 (en) | System and method for chaining graphical curves | |
JP5036573B2 (ja) | 全最小コスト経路探索用ネットワーク生成装置、生成方法及びこのネットワークを用いた経路探索装置 | |
JP5502802B2 (ja) | 経路決定装置および経路決定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121009 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130321 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131106 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |