JP3811105B2 - Route search method and route search program - Google Patents

Route search method and route search program Download PDF

Info

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
Application number
JP2002219914A
Other languages
Japanese (ja)
Other versions
JP2004061292A (en
Inventor
恵一 半田
Original Assignee
株式会社駅前探険倶楽部
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社駅前探険倶楽部 filed Critical 株式会社駅前探険倶楽部
Priority to JP2002219914A priority Critical patent/JP3811105B2/en
Publication of JP2004061292A publication Critical patent/JP2004061292A/en
Application granted granted Critical
Publication of JP3811105B2 publication Critical patent/JP3811105B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 position 13 minutes on foot.
[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 input device 11, an output device 12, a data storage device 13, a temporary storage device 14, a program, and a processing control device (CPU) 5. A storage device 15, a shortest path tree storage device 20, a multiple path storage device 21, and a multiple path storage device 22 are connected. The CPU 5 includes a network creation module 5a for creating a network, a data reading module 5b for reading search conditions and data necessary for search, a shortest path tree creation module 5c for creating a shortest path tree, and a plurality of shortest path trees based on the shortest path tree. Multiple path search module 5d for searching for the shortest path, xell check module 5e for determining whether or not a xel is included for each of the plurality of shortest paths, removal of route change arcs for the plurality of shortest paths, and continuous identicalness A path shortening module 5f that shortens the arc of the route name and obtains a plurality of shortest paths, a time allocation module 5g that assigns time to a plurality of shortest paths, and a charge calculation module 5h that calculates charges for a plurality of shortest paths A display module that selects and displays the top multiple routes based on priority criteria. Including Le 5i. In the following description of the route search, it is assumed that K shortest routes are obtained.
[0025]
The network creation module 5 a creates the above-described clique network based on data such as a route map and required time between stations, and stores the network in the data storage device 13. At this time, a skip arc is set in the network to be created. “Skip arc” refers to an arc of a route that passes through a station of another route running in parallel. For the skip arc a, the original station through which a passes is called “a skip station” of a. For example, in FIG. 6, the arc from the node on the F route at the T station to the node on the F route at the W station is a skip arc, and the U station and the V station are the skip stations. Only the first and last skip stations for the skip arc are used as the skip stations for determining whether or not the xels are included. Since FIG. 6 shows just two examples of the skip station, the U station is the first skip station and the V station is the last skip station. If there is one skip station, it is considered to be the first skip station and the last skip station. Each skip arc on the network has the original station number of the first and last skip station.
[0026]
The data reading module 5b reads the search condition input from the input device 11, and reads necessary data such as network, timetable data, and fee data from the data storage device 13. At this time, the original station numbers are obtained for the boarding station name and the getting-off station name as search conditions. When the boarding station or the getting-off station is creeked, the number of the representative creek station in the creek station is obtained. It is assumed that the numbers of the other creek stations in the creek are serial numbers following the number of the representative creek station. When the boarding station or the getting-off station is not creeked, the station is regarded as a representative creek station.
The shortest path tree creation module 5c creates a shortest path tree using the Dijkstra method or the like. The created shortest path tree is stored in the shortest path tree storage device 20. The multi-path search module 5d obtains the first to K shortest paths from the representative creek station of the boarding station to the representative creek station of the disembarking station using a Martin algorithm or the like. The searched plural shortest paths are stored in the plural path storage device 21.
[0027]
The xell check module 5e determines whether or not xels are included for each of the first to K shortest paths. A detailed determination method will be described later.
[0028]
The path shortening module 5f removes all the route change arcs from the first to K shortest paths obtained as described above, and further shortens all the arcs having the same route name. For example, when searching from station J to station N, as the i-th shortest path, “J station; H route; K station; H route; L station (transfer); I route; M station; I route; N station” Is searched. By shortening the arc of the same route name continuous with the route change arc, “J station; H route; L station; I route; N station” is obtained. The path thus obtained is called a “route”. In the following description, the one corresponding to the i-th shortest path is called the i-th route. The determined shortest path is stored in the multi-path storage device 22.
The time allocation module 5g allocates the time at the boarding station, the getting-off station, the transfer station, and the like to the obtained first to K routes based on the timetable data. The fee calculation module 5h calculates a fee for the obtained first to K routes based on fee data or the like. The display module 5i selects a plurality of higher-order routes from routes assigned with time and fee based on priority criteria such as required time and displays them on the output device 12 or a Web page on the Internet.
[0029]
The input device 11 refers to a device such as a keyboard and a mouse. When an input operation is performed from the input device 11, corresponding key information is transmitted to the CPU 5. The output device 12 indicates a screen such as a monitor, and a liquid crystal display (LCD), a light emitting diode (LED) panel, an electroluminescence (EL) panel, or the like can be used. The data storage device 13 stores a network, timetable data, fee data, and the like. The temporary storage device 14 temporarily stores data being calculated or being analyzed in the calculation by the CPU 5. The program storage device 15 stores a program for causing the CPU 5 to execute check of a xel, creation of a shortest path, search, and the like. The shortest path tree storage device 20 stores the shortest path tree created by the shortest path tree creation module 5c. The multiple path storage device 21 stores the multiple paths searched by the multiple path search module 5d. The multiple path storage device 22 stores the multiple paths obtained by the path shortening module 5f.
[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 data storage device 13. The network may be created in advance by another device and stored in the data storage storage device 13. Next, in step S102, the retrieval conditions such as the boarding station, the getting-off station, the departure / arrival time, etc. input using the input device 11 or the like are read. In step S103, necessary data such as a network, timetable data, and fee data is read from the data storage device 13.
[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 tree storage device 20.
[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 tree storage device 20 using the Martin algorithm or the like. Search for the first to K shortest paths to reach. Then, using the skip arc, it is determined whether or not a xel is included in each of the obtained first to K shortest paths. Details of this determination method will be described later. This xelsel check is performed every time the shortest path is obtained. That is, when a candidate for the i-th shortest path is found, a xell check is performed on that path, and if no xel is included, it is adopted as the i-th shortest path. In step S106, the first to K shortest paths are obtained as a result. The obtained first to K shortest paths are stored in the multi-path storage device 21.
[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 path storage device 22.
[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 output device 12 in step S110.
[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 input device 11, an output device 12, a data storage device 13, a temporary storage device 14, a program, and a processing control device (CPU) 5. A storage device 15, a shortest path tree storage device 20, a multiple path storage device 21, and a multiple path storage device 22 are connected. The CPU 5 includes a network creation module 5a for creating a network, a data reading module 5b for reading search conditions and data necessary for search, a shortest path tree creation module 5c for creating a shortest path tree, and a plurality of shortest path trees based on the shortest path tree. A multiple path search module 5d for searching for the shortest path, a xell check module 5e for determining whether or not a xel is included in each of the plurality of shortest paths, removal of route change arcs for a plurality of shortest paths, and consecutive identical route names A path shortening module 5f for obtaining a plurality of shortest paths, a time allocation module 5g for allocating time to a plurality of shortest paths, a charge calculation module 5h for calculating charges for a plurality of shortest paths, priority Display module that selects and displays multiple top routes based on criteria i, for the path folding is allowed provided the path replacement module 5j replace path. In the following description, K shortest paths are obtained.
[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 route replacement module 5j performs replacement processing for such routes that are allowed to be turned back. For example, when a partial route “route 1; E station; route 2” is transferred from route 1 to route 2, it is assumed that turn-back is permitted at station F. At this time, for each of the first to K routes obtained by the path shortening module 5f, a partial route “route 1; E station; route 2” that is permitted to be turned back is detected, and the partial route is turned back. Is added to the original route group as the (K + 1) -th route. When there are a plurality of routes to be replaced, they are added as the K + 2 route, the K + 3 route,.
[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]
Network creation module 5a, data reading module 5b, shortest path tree creation module 5c, multi-path search module 5d, xell check module 5e, path shortening module 5f, time allocation module 5g, fee calculation module 5h, display module 5i, input device 11 The output device 12, the data storage device 13, the temporary storage device 14, the program storage device 15, the shortest path tree storage device 20, the multiple path storage device 21, and the multiple path storage device 22 are the same as those in the first embodiment. The description is omitted here.
[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 route storage device 22.
(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 input device 11 are read. Not only the input but also the route search device according to the present invention may be connected to the Internet and the search condition may be input from the terminal device of the Internet user. Similarly, it has been described that a plurality of higher-order routes are selected from the obtained first to K routes and output to the output device 12 of the route search device. However, the route search device according to the present invention is connected to the Internet and searched. The route of the result may be displayed on a web page or the like.
[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 data storage device 13, a temporary storage device 14, a program storage device 15, a shortest path tree storage device 20, a multiple path storage device 21, and a plurality of storage devices. Although it has been described that the path storage device 22 is provided separately, these storage devices may be substituted with one storage device. Similarly, each module in the CPU 5 has been described as being in one CPU 5, but may be provided separately for a plurality of CPUs 5. At that time, the devices are connected by a bus or the like so that data can be exchanged between the plurality of CPUs 5.
[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に記載の経路探索方法。  The route according to claim 1, further comprising a step of searching for a partial route that is permitted to be turned back, replacing the partial route that is allowed to be turned back with a partial route including the turned-back, and forming a new route. Search method. 前記判定するステップは、
前記最短パス上に現れる前記スキップアークを第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.
JP2002219914A 2002-07-29 2002-07-29 Route search method and route search program Expired - Fee Related JP3811105B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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