JP3811105B2 - Route search method and route search program - Google Patents
Route search method and route search program Download PDFInfo
- Publication number
- JP3811105B2 JP3811105B2 JP2002219914A JP2002219914A JP3811105B2 JP 3811105 B2 JP3811105 B2 JP 3811105B2 JP 2002219914 A JP2002219914 A JP 2002219914A JP 2002219914 A JP2002219914 A JP 2002219914A JP 3811105 B2 JP3811105 B2 JP 3811105B2
- Authority
- JP
- Japan
- Prior art keywords
- arc
- route
- point
- station
- skip
- 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
- Traffic Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータを用いて出発地と目的地間の経路を1つ又は複数検索できる経路探索方法及び経路探索プログラムに関する。
【0002】
【従来の技術】
従来、コンピュータを用いて出発地、目的地、出発希望時刻等を入力すると、出発地から目的地に至る1つ又は複数の経路を表示(案内)するソフトウェアが存在する。例えば、列車の乗り換え案内の場合、表示される経路は、出発駅、乗換駅、目的駅、利用路線又は利用列車等からなり、更に、出発駅での発時刻、乗換駅での発/着時刻、目的駅での着時刻や、所要時間、料金等も表示されることが多い。このような検索サービスは、パッケージソフトあるいはサービス提供会社のWebページ上で行われている。
【0003】
この経路探索は、通常、各ノード間をアークで接続し、各アークに重み(コスト)が割り振られたグラフであるネットワークをもとに考える。ネットワークにおいて、出発ノードsから目的ノードtへのパスを考えるとき、sからtへの第i番目に短いパスをsからtへの第i最短パスと言う。第1最短パスがいわゆる最短パスである。最短パスは、良く知られているようにダイクストラ法によって高速に求められる。第2最短パス以降の最短パスを求めるアルゴリズムについても古くから研究され、種々の効率良いアルゴリズムが提案されている。
【0004】
第1〜K最短パスを求めるアルゴリズムとしては、例えば、マーチンのアルゴリズム(「複数のループレスパスを短い順に列挙するためのアルゴリズム(An algorithm for ranking loopless paths)」, イー・キュー・ブイ・マーチン他(E.Q.V.Martins et al.,)、コインブラ大学研究レポート(Research Report, Univ. de Coimbra)、1999など)が知られている。第1〜K最短パスを求める場合、ループ(閉路)を許す場合と許さない場合とがある。ループを許すというのは、同じノードを2度以上通るような冗長なパスも第i最短パスとして採用しようというものである。ループを許した方が問題としては扱いやすいが、一般にはループを許さない場合の方が実用的である。マーチンのアルゴリズムは、ループを許さない場合のアルゴリズムの1つである。
【0005】
各アークの重みが非負の連結なネットワークにおいて、各ノードから目的ノードtへの最短パスは、同一のノードを2度通ることのないパスとなる。そして、全てのノードからtへの最短パスはtを根とする根付き木で表現できる。この根付き木を最短パス木という(「情報の構造(下)」、浅野孝夫著、日本評論社、p.241参照)。 又、条件「根以外の各節点vに対して、親の要素の方が子の要素よりも小さいか等しい」を満すように、木の各節点vに順序集合Sの要素が割り当てられた根付き木をヒープという(「情報の構造(上)」、浅野孝夫著、日本評論社、p.45参照)。
【0006】
マーチンのアルゴリズムにおいては、出発ノードsから目的ノードtへのパスがヒープの節点に相当し、パスのコスト(パス上のアークの重みの和)が順序集合Sの要素に相当する。マーチンのアルゴリズムの概要を説明すると、まずダイクストラ法で目的ノードtを根に持つ最短パス木を作り、最短パスをヒープに蓄える。次に、k=0として次の処理(i)、(ii) を繰り返す。
【0007】
(i) ヒープからコスト最小のパスpを抜き出す。もしpがループを含まないならば、pを第k+1最短パスとして登録し、kに1を加算する。k=Kなら終了。
【0008】
(ii)pがループを含む/含まないに関わらず、pに対する派生パス(1歩横にそれて、そこから最短パス木上のアークを一気に進むパス)をp上の各ノードにつき高々1つずつ求め、ヒープに蓄える。(i) に戻る。
【0009】
派生パスを作る際のアーク、つまり元のパスpから1歩横にそれる際のアークの選び方がポイントである。
【0010】
【発明が解決しようとする課題】
ところで、探索された経路に、同一路線あるいは同一会社の並走する別路線を利用することによって実質的な往復部分が生じる場合、それを「キセル」という。従来の第1〜K最短パスを求めるアルゴリズムは一般のネットワークに対して考案されたものであり、列車等におけるキセルは考慮されていない。同一路線で往復部分が生じるというケースはループに相当するため、マーチンのアルゴリズム等でも、同一路線で往復部分が生じないような経路を求めることは可能である。しかし、同一会社の停車駅の異なる並走する別路線を利用することによって実質的な往復部分が生じるようなケースは除外できない。例えば、図6において、乗車駅がS駅、下車駅がV駅の場合、「S駅;F路線;W駅;G路線;V駅」のようなパスが求まってしまうことがある。
【0011】
よって、上記の問題を鑑み、本発明は、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることが可能な経路探索方法及び経路探索プログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の特徴は、コンピュータが経路を検索する経路探索方法であって、(イ)データ記憶装置に保存されている、複数の地点をそれぞれノードで、隣り合う地点間の路線を複数のアークで表現し、ノードの一部がクリーク化され、複数のアークの一部に、並走する別路線の地点をスキップするアークであるスキップアークが設定されたネットワークを読み込むステップと、(ロ)入力された検索条件に基づき、ネットワーク上で出発地点から目的地点までの最短パスに関わる最短パス木の作成を行うステップと、(ハ)最短パス木をもとに出発地点から目的地点までの複数の最短パスの検索を行い、スキップアークを利用して、複数の最短パスそれぞれにキセルが含まれるか否か判定するステップとを含む経路探索方法であることを要旨とする。ここで、「地点」とは、列車の駅、空港、バス停、あるいは道路などの特定の地点を指す。「クリーク化」とは、一つの地点を、その地点に接続する路線数に相当する複数のノードとして表し、それらのノード間に路線変更のためのアークを設けることである。それらのノード間に路線変更のためのアークを設けることである。この路線変更のためのアークを、「路線変更アーク」という。これに対して、路線を表現する通常のアークを「路線アーク」という。
【0013】
第1の特徴に係る経路探索方法によると、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることができる。
【0014】
又、第1の特徴に係る経路探索方法は、(ニ)折り返しが許されている部分経路を検索し、折り返しが許されている部分経路を折り返しを含む部分経路に置き換え、新たな経路とするステップを更に含んでも良い。この経路探索方法によると、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることができ、折り返しが許されている経路については、後処理としての特殊な置き換え操作によって対応することができる。
【0015】
又、第1の特徴に係る経路探索方法の判定するステップは、最短パス上に現れるスキップアークを第1アークとする段階と、第1アークの1つ前の路線アークを第2アークとする段階と、第2アークがスキップアークでない場合、第2アークの始点に相当する地点と第1アークが最初にスキップする地点が一致するときに、最短パスはキセルを含むと判定する段階を含んでも良い。又、この判定するステップは、最短パス上に現れるスキップアークを第1アークとする段階と、第1アークの1つ後の路線アークを第3アークとする段階と、第3アークがスキップアークの場合、第3アークが最初にスキップする地点を第1地点とする段階と、第1地点と第1アークが最後にスキップする地点が一致するときに、最短パスはキセルを含むと判定する段階とを含んでも良い。又、この判定するステップは、最短パス上に現れるスキップアークを第1アークとする段階と、第1アークの1つ後の路線アークを第3アークとする段階と、第3アークがスキップアークでない場合、第3アークの終点に相当する地点を第1地点とする段階と、第1地点と第1アークが最後にスキップする地点が一致するときに、最短パスはキセルを含むと判定する段階とを含んでも良い。
【0016】
又、第1の特徴に係る経路探索方法は、(ホ)複数の最短パスに対して、路線変更アークの除去及び連続した同一路線名のアークの短縮を行い、複数の最短経路を求めるステップと、(へ)優先基準に基づき、複数の最短経路の一部を選択して出力装置に出力するステップとを更に含んでいても良い。この経路探索方法によると、出発地点から目的地点への複数の最短経路を効率的に表示することができる。
【0017】
本発明の第2の特徴は、(イ)データ記憶装置に保存されている、複数の地点をそれぞれノードで、隣り合う地点間の路線を複数のアークで表現し、複数の地点の一部のノードがクリーク化され、複数のアークの一部に、並走する別路線の地点をスキップするアークであるスキップアークが設定されたネットワークを読み込む命令と、(ロ)入力された検索条件に基づき、ネットワーク上で出発地点から目的地点までの最短パスに関わる最短パス木の作成を行う命令と、(ハ)最短パス木をもとに出発地点から目的地点までの複数の最短パスの検索を行いスキップアークを利用して、複数の最短パスそれぞれにキセルが含まれるか否か判定する命令とをコンピュータに与える経路探索プログラムであることを要旨とする。第2の特徴に係る経路探索プログラムは、(ニ)複数の最短パスに対して、路線変更アークの除去及び連続した同一路線名のアークの短縮を行い、複数の最短経路を求める命令と、(ホ)優先基準に基づき、複数の最短経路の一部を選択して出力装置に出力する命令とを更にコンピュータに与えても良い。
【0018】
上記の命令を実現させる経路探索プログラムは、経路探索装置の処理制御装置(CPU)に接続されているプログラム記憶装置に保存される。本発明の第2の特徴に係る経路探索プログラムを読み出すことにより、経路探索装置に上記の命令を実現させることが可能となる。
【0019】
【発明の実施の形態】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。但し、図面は模式的なものであることに留意すべきである。
【0020】
本発明の実施の形態に係る経路探索方法として、まず、複数の「ノード」とノード間を接続する「アーク」からなるネットワークについて説明する。経路探索で用いるネットワークは、基本的には、駅を「ノード」とみなし、線路上で隣り合う駅間に「アーク」を設けて作成する。この例として、X駅とY駅のネットワークを図4に示す。ここでは、X駅、Y駅がノードとなり、記号A、B、C、D、Eを付した実線で示す両端矢印がアークを表す(上り/下りの2本のアークを1本にまとめて表している)。アークに付された記号A、B、C、D、Eは路線名を表す。この他に、路線の各アークには、上り/下りのフラグ、平均所要時間等が付されている。又、図4では、X駅とY駅の間を破線のアークで示し、徒歩13分の位置にあるとしている。
【0021】
路線間の乗り換えには、同じ駅で乗り換える場合と、異なる駅間を移動して乗り換える場合とがある。同じ駅での乗り換えについては、駅をクリーク化する。「クリーク」とは、与えられたグラフに含まれる複数の点(ノード)からなる完全部分グラフのことである。「クリーク化」とは、一つの駅を、その駅に接続する路線数に相当するノードで表すことである。クリーク化された複数のノード間にはアークを張って乗り換え時間を付す。図5は、X駅、Y駅をクリーク化した例である。X駅は、A路線のX駅(A)、B路線のX駅(B)、C路線のX駅(C)からなる3点完全グラフ(三角形)にクリーク化されており、ノード間の乗り換え時間はすべて3分となっている。又、Y駅は、D路線のY駅(D)、E路線のY駅(E)からなる2点完全グラフにクリーク化されており、ノード間の乗り換え時間は2分となっている。クリーク内のノードを「クリーク駅」と呼び、クリーク駅間のアークを「路線変更アーク」と呼ぶ。異なる駅間での徒歩による乗り換えについては、新たに「徒歩アーク」を設ける。路線変更アークも徒歩アークも徒歩による移動であるが、便宜上、区別して用いる。図5において、太線は路線変更アークを、破線は徒歩アークを表す。徒歩アークは、X駅とY駅のクリーク駅のすべてのペアに対して張られる。徒歩アーク又は路線変更アークには、それを識別するためのフラグや、移動又は乗り換え時間等が付されている。
【0022】
又、本来の駅とクリーク駅を区別するために、本来の駅を本来駅と呼ぶことにする。例えば、X駅やY駅は本来駅であり、X駅(A)、X駅(B)、X駅(C)はクリーク駅である。X駅は複数のクリーク駅としてネットワークに残る。
【0023】
(第1の実施の形態)
第1の実施の形態では、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることが可能な経路探索方法について説明する。
【0024】
本発明の第1の実施の形態に係る経路探索装置は、図3に示すように、処理制御装置(CPU)5に入力装置11、出力装置12、データ記憶装置13、一時記憶装置14、プログラム記憶装置15、最短パス木記憶装置20、複数パス記憶装置21、複数経路記憶装置22が接続されている。CPU5は、ネットワークを作成するネットワーク作成モジュール5a、検索条件及び検索に必要なデータを読み込むデータ読み込みモジュール5b、最短パス木の作成を行う最短パス木作成モジュール5c、最短パス木をもとに複数の最短パスを探索する複数パス探索モジュール5d、複数の最短パスそれぞれに対してキセルが含まれているか否か判定するキセルチェックモジュール5e、複数の最短パスに対して路線変更アークの除去及び連続した同一路線名のアークの短縮を行い、複数の最短経路を求めるパス短縮モジュール5f、複数の最短経路に対して時間を割り当てる時間割当モジュール5g、複数の最短経路に対して料金を計算する料金計算モジュール5h、優先基準に基づき、上位複数の経路を選択して表示する表示モジュール5iを備える。以下の経路探索の説明においては、K通りの最短経路を求めることを前提とする。
【0025】
ネットワーク作成モジュール5aは、路線図や駅間の所要時間等のデータをもとに上述したクリーク化したネットワークを作成し、ネットワークをデータ記憶装置13に保存する。このとき、作成するネットワークには、スキップアークが設定されている。「スキップアーク」とは、並走する別路線の駅を通過するような路線のアークを指す。スキップアークaに対して、aが通過する本来駅をaの「スキップ駅」と呼ぶ。例えば、図6において、T駅のF路線のノードからW駅のF路線のノードへのアークはスキップアークであり、U駅とV駅がそのスキップ駅である。キセルが含まれているか否かの判定で使用するスキップ駅は、スキップアークに対する最初と最後のスキップ駅のみである。図6はスキップ駅がちょうど2つの例なので、U駅が最初のスキップ駅であり、V駅が最後のスキップ駅である。スキップ駅が1つの場合は、それ自体が最初のスキップ駅であり且つ最後のスキップ駅でもあるとみなす。ネットワーク上の各スキップアークには、その最初と最後のスキップ駅の本来駅の番号を持たせておく。
【0026】
データ読み込みモジュール5bは、入力装置11から入力された検索条件を読み込み、ネットワーク、時刻表データ、料金データ等の必要なデータをデータ記憶装置13から読み込む。このとき、検索条件である乗車駅名と下車駅名に対して、それらの本来駅番号をそれぞれ求める。乗車駅あるいは下車駅がクリーク化されている場合は、クリーク駅の中の代表クリーク駅の番号を求める。クリーク内の他のクリーク駅の番号は、代表クリーク駅の番号に続く連番であるとする。乗車駅あるいは下車駅がクリーク化されていない場合は、本来駅を代表クリーク駅とみなす。
最短パス木作成モジュール5cは、ダイクストラ(Dijkstra)法等を用いて、最短パス木の作成を行う。そして、作成した最短パス木を最短パス木記憶装置20に保存する。複数パス探索モジュール5dは、マーチンのアルゴリズム等を用いて、乗車駅の代表クリーク駅から下車駅の代表クリーク駅に至る第1〜K最短パスを求める。そして、探索した複数最短パスを複数パス記憶装置21に保存する。
【0027】
キセルチェックモジュール5eは、第1〜K最短パスそれぞれに対して、キセルが含まれているか否か判定する。詳細な判定方法については後述する。
【0028】
パス短縮モジュール5fは、上記のようにして得られた第1〜K最短パスに対して、路線変更アークをすべて除去し、更に連続する同一路線名のアークをすべて短縮する。例えば、J駅からN駅までを検索した際、第i最短パスとして、「J駅;H路線;K駅;H路線;L駅(乗り換え);I路線;M駅;I路線;N駅」が検索されたとする。路線変更アークと連続する同一路線名のアークを短縮して、「J駅;H路線;L駅;I路線;N駅」が求められる。このように得られたパスを「経路」と呼ぶ。又、以下の説明において、第i最短パスに対応するものを第i経路と呼ぶ。求められた最短経路は、複数経路記憶装置22に保存される。
時間割当モジュール5gは、求められた第1〜K経路に対して、時刻表データ等により、乗車駅、下車駅、乗換駅等における時間を割り当てる。料金計算モジュール5hは、求められた第1〜K経路に対して、料金データ等により、料金を計算する。表示モジュール5iは、時刻と料金が割り当てられた経路の中から、所要時間等の優先基準に基づき、上位複数の経路を選択して、出力装置12あるいはインターネット上のWebページ等に表示する。
【0029】
入力装置11は、キーボード、マウス等の機器を指す。入力装置11から入力操作が行われると対応するキー情報がCPU5に伝達される。出力装置12は、モニタなどの画面を指し、液晶表示装置(LCD)、発光ダイオード(LED)パネル、エレクトロルミネッセンス(EL)パネル等が使用可能である。データ記憶装置13は、ネットワークや時刻表データ、料金データ等を保存する。一時記憶装置14は、CPU5における演算において、計算途中や解析途中のデータを一時的に保存する。プログラム記憶装置15は、キセルのチェックや最短パスの作成、検索などをCPU5に実行させるためのプログラムを保存する。最短パス木記憶装置20は、最短パス木作成モジュール5cが作成した最短パス木を保存する。複数パス記憶装置21は、複数パス探索モジュール5dが探索した複数パスを保存する。複数経路記憶装置22は、パス短縮モジュール5fが求めた複数経路を保存する。
【0030】
次に、本発明の第1の実施の形態に係る経路探索方法について、図1及び図3を用いて説明する。
(イ)まず、経路探索を行う前提として、ステップS101において、複数の駅をそれぞれノードで、複数の駅間の接続を複数のアークで表現し、複数の駅の一部のノードがクリーク化されたネットワークの作成を行う。このネットワークのアークの一部にはスキップアークが設定されている。ネットワーク上の各スキップアークは、その最初と最後のスキップ駅の本来駅の番号を有している。作成されたネットワークはデータ記憶装置13に保存される。ネットワークは、別の装置で予め作成され、データ記憶保存装置13に保存されていても良い。次に、ステップS102において、入力装置11等を用いて入力された乗車駅、下車駅、出発・到着時刻等の検索条件を読み込む。ステップS103において、ネットワークや時刻表データ、料金データ等の必要なデータをデータ記憶装置13から読み込む。
【0031】
(ロ)次に、ステップS104において、ダイクストラ法等を用いて、入力された検索条件に基づき、ネットワーク上で乗車駅から下車駅までの経路の最短パス木の作成を行う。作成された最短パス木は、最短パス木記憶装置20に保存される。
【0032】
(ハ)次に、ステップS105において、マーチンのアルゴリズム等を用いて、最短パス木記憶装置20から読み出された最短パス木をもとに乗車駅の代表クリーク駅から下車駅の代表クリーク駅に至る第1〜K最短パスの検索を行う。そして、スキップアークを利用して、求められた第1〜K最短パスそれぞれにキセルが含まれるか否か判定する。この判定方法の詳細については後述する。このキセルチェックは、最短パスが求められるたびに行う。即ち、第i最短パスの候補が求まったら、そのパスに対してキセルチェックを行い、もしキセルを含まなければそれを第i最短パスとして採用する。そして、ステップS106において、結果的に第1〜K最短パスが求まる。得られた第1〜K最短パスは、複数パス記憶装置21に保存される。
【0033】
(ニ)次に、ステップS107において、第1〜K最短パスを短縮して第1〜K経路を得る。具体的には、第1〜K最短パスそれぞれに対して、路線変更アークをすべて除去し、更に連続する同一路線名のアークをすべて短縮する。求められた複数経路は、複数経路記憶装置22に保存される。
【0034】
(ホ)次に、ステップS108において、第1〜K経路それぞれに対して時刻表を照らしあわせながら時間割り当てを行い、ステップS109において、料金を計算する。時刻と料金が割り当てられた第1〜K経路の中から、所要時間等の優先基準に基づき、ステップS110において、上位複数の経路を選択して出力装置12に出力(表示)する。
【0035】
図1のステップS105に示すキセルチェックの詳細について、図2を参照して説明する。
(イ)まず、ステップS201において、パス上にスキップアークが存在するか判断する。存在しない場合は、ステップS213に進み、キセルを含まないと判定する。スキップアークが存在する場合は、ステップS202に進み、パス上に最初に現れるスキップアークを第1アークとする。
【0036】
(ロ)次に、ステップS203において、第1アークの前にアークがあるか判断する。ない場合はステップS207へ進む。ある場合は、ステップS204に進み、第1アークの1つ前のアークを第2アークとする。
【0037】
(ハ)次に、ステップS205において、第2アークがスキップアークであるか判断する。スキップアークである場合、ステップS207に進む。スキップアークでない場合、ステップS206に進み、第2アークの始点の本来駅と第1アークの最初のスキップ駅が一致するか判断する。一致する場合は、ステップS214に進み、キセルを含んでいると判定する。このときの状態を図7(a)に示す。第2アークの始点の本来駅はB駅であり、スキップアークである第1アークの最初のスキップ駅はB駅である。これらは一致するので、キセルを含んでいることが分かる。
【0038】
(ニ)ステップS206において、一致しない場合は、ステップS207に進み、第1アークの後にアークがあるか判断する。ない場合は、ステップS213に進み、キセルを含まないと判定する。ある場合は、ステップS208に進み、第1アークの1つ後のアークを第3アークとする。
【0039】
(ホ)次に、ステップS209において、第3アークがスキップアークの場合は、第3アークの最初のスキップ駅を、異なる場合は、第3アークの終点の本来駅を第1駅とする。そして、ステップS210において、第1駅と第1アークの最後のスキップ駅が一致するか判断する。一致する場合は、ステップS214に進み、キセルを含んでいると判定する。第3アークがスキップアークでキセルを含んでいると判定されるときの状態を図7(b)に、第3アークがスキップアークでなく、キセルを含んでいると判定されるときの状態を図7(c)に示す。図7(b)では、スキップアークである第3アークの最初のスキップ駅はC駅(第1駅)であり、スキップアークである第1アークの最後のスキップ駅はC駅である。これらは一致するので、キセルを含んでいることが分かる。図7(c)では、第3アークの終点の本来駅はC駅(第1駅)であり、スキップアークである第1アークの最後のスキップ駅はC駅である。これらは一致するので、キセルを含んでいることが分かる。
【0040】
(へ)ステップS210において、一致しない場合は、ステップS211に進み、パス上で第1アークの次のアーク以降にスキップアークが存在するか判断する。存在する場合は、ステップS212に進み、そのスキップアークを新たな第1アークとし、ステップS203〜ステップS211の処理を繰り返す。存在しない場合は、ステップS213に進み、キセルを含まないと判定する。
【0041】
第1の実施の経路探索方法によると、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることができる。
【0042】
(第2の実施の形態)
第2の実施の形態では、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることができ、折り返しが許されている経路については、置き換え操作によって対応することができる経路探索方法について説明する。
【0043】
本発明の第2の実施の形態に係る経路探索装置は、図8に示すように、処理制御装置(CPU)5に入力装置11、出力装置12、データ記憶装置13、一時記憶装置14、プログラム記憶装置15、最短パス木記憶装置20、複数パス記憶装置21、複数経路記憶装置22が接続されている。CPU5は、ネットワークを作成するネットワーク作成モジュール5a、検索条件及び検索に必要なデータを読み込むデータ読み込みモジュール5b、最短パス木の作成を行う最短パス木作成モジュール5c、最短パス木をもとに複数の最短パスを探索する複数パス探索モジュール5d、複数の最短パスそれぞれに対してキセルが含まれているか判定するキセルチェックモジュール5e、複数の最短パスに対して路線変更アークの除去及び連続した同一路線名のアークの短縮を行い、複数の最短経路を求めるパス短縮モジュール5f、複数の最短経路に対して時間を割り当てる時間割当モジュール5g、複数の最短経路に対して料金を計算する料金計算モジュール5h、優先基準に基づき、上位複数の経路を選択して表示する表示モジュール5i、折り返しが許されている経路については経路を置き換える経路置き換えモジュール5jを備える。以下の説明においては、K通りの最短経路を求めることとする。
【0044】
全国の路線には、一部折り返しが許されている路線がある。例えば、図10に示すように、J路線の急行や特急はE駅で停車しないため、K路線との間で乗り換えを行う場合は、F駅で乗り換えることになる。その場合、E駅とF駅間で折り返しが生じるが、この折り返しは認められている。
【0045】
経路置き換えモジュール5jは、このような折り返しが許されている経路について、置き換え処理を行う。例えば、ある部分経路「路線1;E駅;路線2」について、路線1から路線2に乗り換えるとき、F駅で折り返しを許されているとする。このとき、パス短縮モジュール5fで得られた第1〜K経路のそれぞれに対して、折り返しが許されている部分経路「路線1;E駅;路線2」を検出し、その部分経路を、折り返しを含む部分経路「路線1;F駅;路線2」に置き換え、第K+1経路として、元の経路群に追加する。置き換える経路が複数ある場合は、それぞれ第K+2経路、第K+3経路、…、として追加される。
【0046】
例えば、図10の例の場合は、以下の置き換えにより新たな経路が追加される。
(1)経路上に区間「J路線(下り);E駅;K路線(下り)」があれば、それを区間「J路線(下り);F駅;K路線(下り)」に置き換えた経路も追加する。
(2)経路上に区間「K路線(上り);E駅;J路線(上り)」があれば、それを区間「K路線(上り);F駅;J路線(上り)」に置き換えた経路に追加する。
【0047】
ネットワーク作成モジュール5a、データ読み込みモジュール5b、最短パス木作成モジュール5c、複数パス探索モジュール5d、キセルチェックモジュール5e、パス短縮モジュール5f、時間割当モジュール5g、料金計算モジュール5h、表示モジュール5i、入力装置11、出力装置12、データ記憶装置13、一時記憶装置14、プログラム記憶装置15、最短パス木記憶装置20、複数パス記憶装置21、複数経路記憶装置22は第1の実施の形態と同様であるので、ここでは説明を省略する。
【0048】
次に、本発明の第2の実施の形態に係る経路探索方法について、図9を用いて説明する。
(イ)まず、ステップS301〜S307は、図1のステップS101〜S107と同様であるのでここでは説明を省略する。
(ロ)次に、ステップS308において、折り返しが許されている最短経路を検索する。そして、折り返しが許されている経路を折り返しを含む経路に置き換える。折り返しを含む経路は、新たな経路として元の経路群に追加され、複数経路記憶装置22に保存される。
(ハ)次に、ステップS309〜S311は、図1のステップS108〜S110と同様であるのでここでは説明を省略する。
【0049】
第2の実施の経路探索方法によると、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることができ、折り返しが許されている経路については、後処理としての特殊な置き換え操作によって対応することができる。
【0050】
(その他の実施の形態)
本発明は上記の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【0051】
例えば、本発明の第1〜第2の実施の形態において、電車路線の駅を例として説明したが、これに限らず、空港やバス停を出発地、目的地として経路探索を行っても構わない。
【0052】
又、本発明の第1〜第2の実施の形態において、入力装置11等から入力された乗車駅、下車駅、出発・到着時刻等の検索条件を読み込むと説明したが、入力装置11からの入力に限らず、本発明に係る経路探索装置をインターネットに接続し、インターネット利用者の端末装置から検索条件を入力しても構わない。同様に、求められた第1〜K経路の中から上位複数の経路を選択して経路探索装置の出力装置12に出力すると説明したが、本発明に係る経路探索装置をインターネットに接続し、検索結果の経路をWebページ等に表示しても構わない。
【0053】
又、図9において、経路の置き換え(S308)は、最短パスの短縮(S307)の後であると説明したが、複数最短パスの検索(S306)の後でも構わない。
【0054】
又、本発明の第1〜第2の実施の形態に係る経路探索装置は、データ記憶装置13、一時記憶装置14、プログラム記憶装置15、最短パス木記憶装置20、複数パス記憶装置21、複数経路記憶装置22を分けて備えると記述したが、これらの記憶装置を一つの記憶装置で代用しても構わない。同様に、CPU5内の各モジュールは、一つのCPU5内にあると記述したが、複数のCPU5に分けて備えられていても良い。その際、複数のCPU5間でデータのやりとりが行えるようにバスなどで装置間を接続する。
【0055】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【0056】
【発明の効果】
本発明によれば、駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることが可能な経路探索方法及び経路探索プログラムを提供することができる。
【図面の簡単な説明】
【図1】第1の実施の形態に係る経路検索方法のフローチャートである。
【図2】第1〜第2の実施に形態に係るキセルチェック方法のフローチャートである。
【図3】第1の実施の形態に係る経路探索装置のブロック図である。
【図4】第1〜第2の実施の形態に係る経路探索方法のネットワークの一例である。
【図5】第1〜第2の実施の形態に係る経路探索方法のクリーク化されたネットワークの一例である。
【図6】第1〜第2の実施の形態に係るキセルの一例である。
【図7】図2のフローチャートにおけるキセルの状態図である。
【図8】第2の実施の形態に係る経路探索装置のブロック図である。
【図9】第2の実施の形態に係る経路探索方法のフローチャートである。
【図10】第2の実施の形態に係る折り返しが許されている経路の一例である。
【符号の説明】
5 CPU(処理制御装置)
5a ネットワーク作成モジュール
5b データ読み込みモジュール
5c 最短パス木作成モジュール
5d 複数パス探索モジュール
5e キセルチェックモジュール
5f パス短縮モジュール
5g 時間割当モジュール
5h 料金計算モジュール
5i 表示モジュール
5j 経路置き換えモジュール
11 入力装置
12 出力装置
13 データ記憶装置
14 一時記憶装置
15 プログラム記憶装置
20 最短パス木記憶装置
21 複数パス記憶装置
22 複数経路記憶装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a route search method and a route search program capable of searching for one or a plurality of routes between a departure place and a destination using a computer.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, there is software that displays (guides) one or more routes from a departure point to a destination when a departure point, a destination, a desired departure time, and the like are input using a computer. For example, in the case of train transfer guidance, the displayed route is composed of a departure station, a transfer station, a destination station, a use route or a use train, and the departure time at the departure station and the departure / arrival time at the transfer station. In many cases, the arrival time at the destination station, the required time, and the charge are also displayed. Such a search service is performed on the web page of package software or a service provider.
[0003]
This route search is usually considered based on a network that is a graph in which nodes are connected by arcs and weights (costs) are assigned to the arcs. When considering a path from the departure node s to the destination node t in the network, the i-th shortest path from s to t is referred to as the i-th shortest path from s to t. The first shortest path is a so-called shortest path. As is well known, the shortest path is obtained at high speed by the Dijkstra method. Algorithms for obtaining the shortest path after the second shortest path have also been studied for a long time, and various efficient algorithms have been proposed.
[0004]
As an algorithm for obtaining the first to K shortest paths, for example, Martin's algorithm (“An algorithm for ranking loopless paths”, e-queue buoy martin et al. ( EQVMartins et al.,), Coimbra University research report (Research Report, Univ. De Coimbra), 1999, etc.) are known. When obtaining the first to K shortest paths, there are cases where a loop (closed circuit) is allowed and cases where it is not allowed. The reason for allowing a loop is to adopt a redundant path that passes through the same node twice or more as the i-th shortest path. Allowing loops is easier to handle as a problem, but is generally more practical when loops are not allowed. Martin's algorithm is one of the algorithms when loops are not allowed.
[0005]
In a connected network in which the weight of each arc is non-negative, the shortest path from each node to the target node t is a path that does not pass through the same node twice. The shortest path from all nodes to t can be expressed by a rooted tree with t as the root. This rooted tree is called the shortest path tree ("Information structure (below)", Takao Asano, Nippon Critics, p.241). In addition, an element of the ordered set S is assigned to each node v of the tree so as to satisfy the condition “for each node v other than the root, the parent element is smaller than or equal to the child element”. A rooted tree is called a heap (see “Structure of Information (above)”, Takao Asano, Nippon Critics, p. 45).
[0006]
In the Martin algorithm, the path from the start node s to the target node t corresponds to a node of the heap, and the path cost (the sum of arc weights on the path) corresponds to an element of the ordered set S. The outline of Martin's algorithm will be described. First, a shortest path tree having a target node t as a root is created by Dijkstra method, and the shortest path is stored in a heap. Next, the following processes (i) and (ii) are repeated with k = 0.
[0007]
(i) Extract the path p with the lowest cost from the heap. If p does not include a loop, p is registered as the (k + 1) -th shortest path, and 1 is added to k. End if k = K.
[0008]
(ii) Regardless of whether or not p includes a loop, at most one derivative path for p (a path that deviates sideways and then travels through an arc on the shortest path tree at a time) for each node on p. Find it one by one and store it in the heap. Return to (i).
[0009]
The point is how to select an arc when making a derived path, that is, an arc when moving one step aside from the original path p.
[0010]
[Problems to be solved by the invention]
By the way, when a substantial reciprocal part is generated in the searched route by using the same route or another route of the same company running in parallel, it is referred to as “xell”. The conventional algorithm for obtaining the first to K shortest paths has been devised for a general network, and does not take into account xels in trains and the like. Since a case where a round trip occurs on the same route corresponds to a loop, it is possible to obtain a route where no round trip occurs on the same route, even with the Martin algorithm. However, a case where a substantial reciprocal part is generated by using different parallel lines of different stations of the same company cannot be excluded. For example, in FIG. 6, when the boarding station is S station and the stop station is V station, a path such as “S station; F route; W station; G route; V station” may be obtained.
[0011]
Therefore, in view of the above problems, the present invention provides a route search method and route search that can obtain a route that does not include a xel in a network that has stations as nodes and expresses routes between stations and walking transfers using arcs. The purpose is to provide a program.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, the first feature of the present invention is: A route search method in which a computer searches for a route, (A) A plurality of points stored in the data storage device are represented by nodes, routes between adjacent points are represented by a plurality of arcs, a part of the nodes are cliqued, and a part of the plurality of arcs , A step of reading a network in which a skip arc, which is an arc that skips a point on a parallel route, and (b) the shortest path from the departure point to the destination point on the network based on the input search condition A step of creating the shortest path tree involved, and (c) searching for a plurality of shortest paths from the starting point to the destination point based on the shortest path tree, and using a skip arc to each of the plurality of shortest paths. The gist of the present invention is a route search method including a step of determining whether or not xels are included. Here, “point” refers to a specific point such as a train station, an airport, a bus stop, or a road. “Clique” refers to representing a single point as a plurality of nodes corresponding to the number of routes connected to the point, and providing arcs for route change between these nodes. An arc for changing the route is provided between the nodes. This arc for route change is referred to as “route change arc”. On the other hand, a normal arc representing a route is called a “route arc”.
[0013]
According to the route search method according to the first feature, it is possible to obtain a route that does not include a xel in a network that has stations as nodes and expresses routes between stations and walking transfers with arcs.
[0014]
In the route search method according to the first feature, (d) a partial route that is allowed to be returned is searched, the partial route that is allowed to be returned is replaced with a partial route that includes the return, and a new route is obtained. A step may be further included. According to this route search method, in a network that has stations as nodes and expresses routes between stations and transfers between trains by arcs, routes that do not contain xels can be obtained. This can be dealt with by a special replacement operation as a process.
[0015]
The step of determining the route search method according to the first feature includes a step of setting a skip arc appearing on the shortest path as a first arc, and a step of setting a route arc immediately before the first arc as a second arc. When the second arc is not a skip arc, a step of determining that the shortest path includes a xell when the point corresponding to the start point of the second arc coincides with the point where the first arc skips first may be included. . The determining step includes a step of setting a skip arc appearing on the shortest path as a first arc, a step of setting a route arc immediately after the first arc as a third arc, and a step where the third arc is a skip arc. The first point is the point where the third arc skips first, and the first point and the point where the first arc skips last match when determining that the shortest path contains xels. May be included. In addition, this determination step includes a stage in which the skip arc appearing on the shortest path is the first arc, a stage in which the route arc immediately after the first arc is the third arc, and the third arc is not a skip arc. A point corresponding to the end point of the third arc as the first point, and a step of determining that the shortest path includes xels when the first point and the point where the first arc skips last match, May be included.
[0016]
The route search method according to the first feature includes the steps of (e) removing a route change arc and shortening consecutive arcs of the same route name for a plurality of shortest paths to obtain a plurality of shortest routes. And (f) selecting a part of the plurality of shortest paths based on the priority criteria and outputting the selected part to the output device. According to this route search method, a plurality of shortest routes from the departure point to the destination point can be efficiently displayed.
[0017]
The second feature of the present invention is that (a) a plurality of points stored in the data storage device are represented by nodes, routes between adjacent points are represented by a plurality of arcs, and a part of the plurality of points is represented. Based on the command that reads the network in which the skip arc that is the arc that skips the point of another route that runs parallel to a part of multiple arcs, the node is cliqued, and (b) the input search condition, A command to create the shortest path tree related to the shortest path from the departure point to the destination point on the network, and (c) search for multiple shortest paths from the departure point to the destination point based on the shortest path tree and skip An instruction that uses arcs to determine whether or not each of the plurality of shortest paths contains a xel. On the computer The gist is that it is a route search program to be given. The route search program according to the second feature includes (d) a command for removing a route change arc and shortening arcs of consecutive identical route names for a plurality of shortest paths and obtaining a plurality of shortest routes; E) A command for selecting a part of a plurality of shortest paths based on the priority criteria and outputting the selected part to the output device. On the computer May be given.
[0018]
The route search program for realizing the above instructions is stored in a program storage device connected to the processing control device (CPU) of the route search device. By reading the route search program according to the second feature of the present invention, it is possible to cause the route search device to realize the above command.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, it should be noted that the drawings are schematic.
[0020]
As a route search method according to an embodiment of the present invention, first, a network composed of a plurality of “nodes” and “arcs” connecting the nodes will be described. A network used for route search is basically created by regarding stations as “nodes” and providing “arcs” between adjacent stations on the track. As an example of this, a network of X station and Y station is shown in FIG. Here, X station and Y station are nodes, and double-ended arrows indicated by solid lines with symbols A, B, C, D, and E represent arcs (up / down two arcs are collectively represented as one). ing). Symbols A, B, C, D, and E attached to the arc represent route names. In addition, an up / down flag, an average required time, and the like are attached to each arc of the route. Further, in FIG. 4, the area between the X station and the Y station is indicated by a broken-line arc, and is located at a
[0021]
There are two types of transfer between routes: changing at the same station and transferring between different stations. When changing at the same station, the station is creeked. A “clique” is a complete subgraph composed of a plurality of points (nodes) included in a given graph. “Clique” means that one station is represented by a node corresponding to the number of routes connected to the station. An arc is set between multiple creeked nodes to provide transfer time. FIG. 5 shows an example in which the X and Y stations are creeked. X station is creeked into a three-point complete graph (triangle) consisting of X station (A) on route A, X station (B) on route B, and X station (C) on route C. Transfer between nodes The time is all 3 minutes. Y station is creeked into a two-point complete graph consisting of Y station (D) on D route and Y station (E) on E route, and the transfer time between nodes is 2 minutes. Nodes in the creek are called “creek stations”, and arcs between creek stations are called “route change arcs”. A new “walking arc” will be provided for transfers between different stations by foot. The route change arc and the walking arc are both moved by walking, but are used separately for convenience. In FIG. 5, a thick line represents a route change arc, and a broken line represents a walking arc. A walking arc is applied to every pair of creek stations at X and Y stations. The walking arc or the route change arc has a flag for identifying it, a movement or transfer time, and the like.
[0022]
In addition, in order to distinguish the original station from the creek station, the original station will be referred to as the original station. For example, X station and Y station are originally stations, and X station (A), X station (B), and X station (C) are creek stations. X station remains on the network as multiple creek stations.
[0023]
(First embodiment)
In the first embodiment, a route search method capable of obtaining a route that does not include a xell in a network that has stations as nodes and expresses routes between stations and walking transfers using arcs will be described.
[0024]
As shown in FIG. 3, the route search device according to the first embodiment of the present invention includes an
[0025]
The
[0026]
The
The shortest path
[0027]
The
[0028]
The
The
[0029]
The
[0030]
Next, a route search method according to the first embodiment of the present invention will be described with reference to FIGS.
(A) First, as a premise for route search, in step S101, a plurality of stations are represented by nodes, and a connection between the plurality of stations is represented by a plurality of arcs, and some nodes of the plurality of stations are cliqued. Create a new network. A skip arc is set in a part of the arc of this network. Each skip arc on the network has the original station number of its first and last skip station. The created network is stored in the
[0031]
(B) Next, in step S104, the shortest path tree of the route from the boarding station to the getting-off station is created on the network based on the input search condition using the Dijkstra method or the like. The created shortest path tree is stored in the shortest path
[0032]
(C) Next, in step S105, from the representative creek station of the boarding station to the representative creek station of the disembarking station based on the shortest path tree read from the shortest path
[0033]
(D) Next, in step S107, the first to K shortest paths are shortened to obtain first to K paths. Specifically, all the route change arcs are removed for each of the first to K shortest paths, and all the arcs having the same route name are shortened. The obtained multiple paths are stored in the multiple
[0034]
(E) Next, in step S108, time allocation is performed for each of the first to K routes while checking the timetable, and in step S109, a fee is calculated. In step S110, a plurality of higher-order routes are selected from the first to K routes to which the time and fee are assigned, and output (displayed) to the
[0035]
Details of the xels check shown in step S105 of FIG. 1 will be described with reference to FIG.
(A) First, in step S201, it is determined whether a skip arc exists on the path. If it does not exist, the process proceeds to step S213, and it is determined that no xels are included. When the skip arc exists, the process proceeds to step S202, and the skip arc that first appears on the path is set as the first arc.
[0036]
(B) Next, in step S203, it is determined whether there is an arc before the first arc. If not, the process proceeds to step S207. If there is, the process proceeds to step S204, and the arc immediately before the first arc is set as the second arc.
[0037]
(C) Next, in step S205, it is determined whether the second arc is a skip arc. If it is a skip arc, the process proceeds to step S207. If it is not a skip arc, the process proceeds to step S206, and it is determined whether the original station of the start point of the second arc matches the first skip station of the first arc. If they match, the process proceeds to step S214, and it is determined that xels are included. The state at this time is shown in FIG. The original station of the starting point of the second arc is B station, and the first skip station of the first arc which is a skip arc is B station. Since they match, it can be seen that they contain xels.
[0038]
(D) If they do not match in step S206, the process proceeds to step S207 to determine whether there is an arc after the first arc. If not, the process proceeds to step S213, and it is determined that no xels are included. If there is, the process proceeds to step S208, and the arc immediately after the first arc is set as the third arc.
[0039]
(E) Next, in step S209, if the third arc is a skip arc, the first skip station of the third arc is set as the first station. In step S210, it is determined whether the first station and the last skip station of the first arc match. If they match, the process proceeds to step S214, and it is determined that xels are included. FIG. 7 (b) shows the state when the third arc is determined to be a skip arc and includes xels, and FIG. 7 (b) illustrates the state when the third arc is determined not to be a skip arc and includes xels. 7 (c). In FIG. 7B, the first skip station of the third arc, which is a skip arc, is C station (first station), and the last skip station of the first arc, which is a skip arc, is C station. Since they match, it can be seen that they contain xels. In FIG.7 (c), the original station of the end point of 3rd arc is C station (1st station), and the last skip station of 1st arc which is a skip arc is C station. Since they match, it can be seen that they contain xels.
[0040]
(F) If they do not match in step S210, the process proceeds to step S211 to determine whether a skip arc exists after the first arc on the path. When it exists, it progresses to step S212, the skip arc is made into a new 1st arc, and the process of step S203-step S211 is repeated. If it does not exist, the process proceeds to step S213, and it is determined that no xels are included.
[0041]
According to the route search method of the first embodiment, it is possible to obtain a route that does not include a xel in a network that has a station as a node and expresses a route between stations and a transfer on foot by an arc.
[0042]
(Second Embodiment)
In the second embodiment, in a network that has a station as a node and expresses a route between stations and a transfer by walking with an arc, a route that does not include a xell can be obtained, and for a route that is allowed to return, A route search method that can be handled by the replacement operation will be described.
[0043]
As shown in FIG. 8, the route search device according to the second embodiment of the present invention includes an
[0044]
Some routes in Japan are allowed to be partially folded. For example, as shown in FIG. 10, since the express and limited express on the J route do not stop at the E station, when changing to the K route, the change is made at the F station. In that case, a turnaround occurs between the E station and the F station, but this turnaround is permitted.
[0045]
The
[0046]
For example, in the example of FIG. 10, a new route is added by the following replacement.
(1) If there is a section "J route (down); E station; K route (down)" on the route, the route is replaced with the section "J route (down); F station; K route (down)" Also add.
(2) If there is a section "K route (up); E station; J route (up)" on the route, the route is replaced with the section "K route (up); F station; J route (up)" Add to
[0047]
[0048]
Next, a route search method according to the second embodiment of the present invention will be described with reference to FIG.
(A) First, steps S301 to S307 are the same as steps S101 to S107 in FIG.
(B) Next, in step S308, the shortest path permitted to be turned back is searched. Then, the path that is permitted to be turned back is replaced with a path that includes the turn back. The route including the return is added to the original route group as a new route and is stored in the multiple
(C) Next, steps S309 to S311 are the same as steps S108 to S110 in FIG.
[0049]
According to the route search method of the second embodiment, in a network that has stations as nodes and expresses routes between stations and walking transfers by arcs, routes that do not contain xels can be obtained, and routes that are allowed to return Can be dealt with by a special replacement operation as post-processing.
[0050]
(Other embodiments)
Although the present invention has been described according to the above-described embodiments, it should not be understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.
[0051]
For example, in the first to second embodiments of the present invention, the train line station has been described as an example. However, the present invention is not limited to this, and a route search may be performed using an airport or a bus stop as a departure point or destination. .
[0052]
Further, in the first to second embodiments of the present invention, it has been described that the retrieval conditions such as the boarding station, the getting-off station, the departure / arrival time, etc. inputted from the
[0053]
In FIG. 9, the route replacement (S308) has been described after the shortest path shortening (S307). However, it may be performed after a plurality of shortest path searches (S306).
[0054]
In addition, the route search device according to the first to second embodiments of the present invention includes a
[0055]
As described above, the present invention naturally includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.
[0056]
【The invention's effect】
According to the present invention, it is possible to provide a route search method and a route search program capable of obtaining a route that does not include a xel in a network that has a station as a node and expresses a route between stations and a transfer on foot by an arc. it can.
[Brief description of the drawings]
FIG. 1 is a flowchart of a route search method according to a first embodiment.
FIG. 2 is a flowchart of a xell check method according to the first to second embodiments.
FIG. 3 is a block diagram of a route search apparatus according to the first embodiment.
FIG. 4 is an example of a network for a route search method according to the first to second embodiments.
FIG. 5 is an example of a clique network of the route search method according to the first to second embodiments.
FIG. 6 is an example of a xel according to the first to second embodiments.
7 is a state diagram of xels in the flowchart of FIG. 2;
FIG. 8 is a block diagram of a route search apparatus according to a second embodiment.
FIG. 9 is a flowchart of a route search method according to the second embodiment.
FIG. 10 is an example of a path that is allowed to be turned back according to the second embodiment;
[Explanation of symbols]
5 CPU (Processing control device)
5a Network creation module
5b Data reading module
5c Shortest path tree creation module
5d multiple path search module
5e Xel Check Module
5f path shortening module
5g time allocation module
5h Charge calculation module
5i display module
5j Path replacement module
11 Input device
12 Output device
13 Data storage device
14 Temporary storage
15 Program storage device
20 Shortest path tree storage device
21 Multi-pass storage device
22 Multi-path storage device
Claims (8)
入力された検索条件に基づき、前記ネットワーク上で出発地点から目的地点までの最短パスに関わる最短パス木の作成を行うステップと、
前記最短パス木をもとに前記出発地点から前記目的地点までの複数の最短パスの検索を行い、前記スキップアークを利用して、前記複数の最短パスそれぞれにキセルが含まれるか否か判定するステップ
とを含むことを特徴とする経路探索方法。 A route search method in which a computer searches for a route, wherein a plurality of points stored in a data storage device are each represented by a node, and a route between adjacent points is represented by a plurality of arcs, and a part of the node And a step of reading a network in which a skip arc that is an arc that skips a point of another route that runs parallel to a part of the plurality of arcs is set,
Creating a shortest path tree related to the shortest path from the starting point to the destination point on the network based on the input search condition;
Based on the shortest path tree, a plurality of shortest paths from the starting point to the destination point are searched, and the skip arc is used to determine whether each of the plurality of shortest paths includes xels. A route search method comprising the steps of:
前記最短パス上に現れる前記スキップアークを第1アークとする段階と、
該第1アークの1つ前の路線アークを第2アークとする段階と、
該第2アークがスキップアークでない場合、前記第2アークの始点に相当する地点と前記第1アークが最初にスキップする地点が一致するときに、前記最短パスはキセルを含むと判定する段階
とを含むことを特徴とする請求項1又は2に記載の経路探索方法。The step of determining includes
Making the skip arc appearing on the shortest path a first arc;
A line arc preceding the first arc is a second arc;
If the second arc is not a skip arc, and the point corresponding to the start point of the second arc coincides with the point where the first arc skips first, the step of determining that the shortest path includes a xel The route search method according to claim 1, further comprising:
前記最短パス上に現れる前記スキップアークを第1アークとする段階と、
該第1アークの1つ後の路線アークを第3アークとする段階と、
該第3アークがスキップアークの場合、前記第3アークが最初にスキップする地点を第1地点とする段階と
該第1地点と前記第1アークが最後にスキップする地点が一致するときに、前記最短パスはキセルを含むと判定する段階
とを含むことを特徴とする請求項1〜3のいずれか1項に記載の経路探索方法。The step of determining includes
Making the skip arc appearing on the shortest path a first arc;
A line arc after the first arc as a third arc;
When the third arc is a skip arc, when the point where the third arc skips first is the first point, and when the first point and the point where the first arc skips last match, The route search method according to claim 1, further comprising: determining that the shortest path includes xels.
前記最短パス上に現れる前記スキップアークを第1アークとする段階と、
該第1アークの1つ後の路線アークを第3アークとする段階と、
該第3アークがスキップアークでない場合、前記第3アークの終点に相当する地点を第1地点とする段階と、
該第1地点と前記第1アークが最後にスキップする地点が一致するときに、前記最短パスはキセルを含むと判定する段階
とを含むことを特徴とする請求項1〜4のいずれか1項に記載の経路探索方法。The step of determining includes
Making the skip arc appearing on the shortest path a first arc;
A line arc after the first arc as a third arc;
When the third arc is not a skip arc, a step corresponding to the end point of the third arc is set as the first point;
5. The method according to claim 1, further comprising: determining that the shortest path includes a xel when the first point coincides with a point where the first arc is skipped last. The route search method described in 1.
優先基準に基づき、前記複数の最短経路の一部を選択して出力装置に出力するステップ
とを更に含むことを特徴とする請求項1〜5のいずれか1項に記載の経路探索方法。For the plurality of shortest paths, removing route change arcs and shortening arcs of consecutive identical route names to obtain a plurality of shortest paths;
The route search method according to claim 1, further comprising: selecting a part of the plurality of shortest paths based on a priority criterion and outputting the selected part to an output device.
入力された検索条件に基づき、前記ネットワーク上で出発地点から目的地点までの最短パスに関わる最短パス木の作成を行う命令と、
前記最短パス木をもとに前記出発地点から前記目的地点までの複数の最短パスの検索を行い、前記スキップアークを利用して、前記複数の最短パスそれぞれにキセルが含まれるか否か判定する命令
とをコンピュータに与えることを特徴とする経路探索プログラム。A plurality of points stored in the data storage device are represented by nodes, routes between adjacent points are represented by a plurality of arcs, and some nodes of the plurality of points are cliqued, and the plurality of arcs A command to read a network in which a skip arc that is an arc that skips a point on another route that runs parallel to a part of
Based on the input search condition, an instruction to create a shortest path tree related to the shortest path from the starting point to the destination point on the network;
Based on the shortest path tree, a plurality of shortest paths from the starting point to the destination point are searched, and the skip arc is used to determine whether or not each of the plurality of shortest paths includes xels. A route search program characterized by giving instructions to a computer .
優先基準に基づき、前記複数の最短経路の一部を選択して出力装置に出力する命令
とを更にコンピュータに与えることを特徴とする請求項7に記載の経路探索プログラム。For the plurality of shortest paths, a command for obtaining a plurality of shortest paths by removing route change arcs and shortening arcs of consecutive identical route names;
The route search program according to claim 7, further comprising: giving a computer a command to select a part of the plurality of shortest routes and output to the output device based on a priority criterion.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002219914A JP3811105B2 (en) | 2002-07-29 | 2002-07-29 | Route search method and route search program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002219914A JP3811105B2 (en) | 2002-07-29 | 2002-07-29 | Route search method and route search program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004061292A JP2004061292A (en) | 2004-02-26 |
JP3811105B2 true JP3811105B2 (en) | 2006-08-16 |
Family
ID=31940700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002219914A Expired - Fee Related JP3811105B2 (en) | 2002-07-29 | 2002-07-29 | Route search method and route search program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3811105B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4569781B2 (en) | 2004-07-22 | 2010-10-27 | 日本電気株式会社 | Image processing system |
CN104680775B (en) * | 2013-11-28 | 2018-06-22 | 中国科学院深圳先进技术研究院 | The parallel extraction method of the real-time optimal path of road network based on huge traffic data |
CN104978472B (en) * | 2014-04-04 | 2017-12-12 | 湖南中车时代通信信号有限公司 | A kind of generation method and device in the long path of track |
-
2002
- 2002-07-29 JP JP2002219914A patent/JP3811105B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004061292A (en) | 2004-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10655975B2 (en) | System and method for routing optimization | |
CN111460068B (en) | Interest point searching method, readable storage medium and electronic device | |
CN104978420B (en) | Traffic route matching process and device | |
US8249810B2 (en) | Method of and apparatus for generating routes | |
US8494771B2 (en) | Journey planning in public transportation networks | |
CN107167152B (en) | Paths planning method and device | |
CN103134505A (en) | Route planning system and method thereof | |
US6885937B1 (en) | Shortcut generator | |
JP2007114030A (en) | Navigation system, mobile terminal device, and route search server | |
CN111831766A (en) | Interest point searching method, readable storage medium and electronic device | |
WO2010058785A1 (en) | Path calculation order deciding method, program and calculating apparatus | |
JP3811105B2 (en) | Route search method and route search program | |
JP2004139584A (en) | Route search device, route search method and route search program | |
Wang et al. | Online Ridesharing with Meeting Points [Technical Report] | |
JP5294592B2 (en) | Route search server and route search program | |
JP5114254B2 (en) | Map display system, route search server, route search method, and terminal device | |
JP2008286596A (en) | Navigation system, route searching server, route searching method, and terminal device | |
JP5132694B2 (en) | DATA GENERATION DEVICE, DATA GENERATION METHOD, AND ROUTE SEARCH DEVICE | |
JP3811106B2 (en) | Route search method and route search program | |
JP6912859B2 (en) | Map update device, map update method, computer program, and recording medium on which the computer program is recorded. | |
Hanafiah et al. | Itinerary recommendation generation using enhanced simulated annealing algorithm | |
JP2004061291A (en) | Route search method and route search program | |
KR20190143251A (en) | Recommended route guidance system and method for reducing tolerance time | |
CN114580796A (en) | Tour attribute path planning method | |
JP2010054754A (en) | Data structure of map data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060525 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090602 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090602 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100602 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100602 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100602 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100602 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110602 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120602 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130602 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |