JP2004061292A - 経路探索方法及び経路探索プログラム - Google Patents

経路探索方法及び経路探索プログラム Download PDF

Info

Publication number
JP2004061292A
JP2004061292A JP2002219914A JP2002219914A JP2004061292A JP 2004061292 A JP2004061292 A JP 2004061292A JP 2002219914 A JP2002219914 A JP 2002219914A JP 2002219914 A JP2002219914 A JP 2002219914A JP 2004061292 A JP2004061292 A JP 2004061292A
Authority
JP
Japan
Prior art keywords
arc
route
point
shortest
station
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.)
Granted
Application number
JP2002219914A
Other languages
English (en)
Other versions
JP3811105B2 (ja
Inventor
Keiichi Handa
半田 恵一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002219914A priority Critical patent/JP3811105B2/ja
Publication of JP2004061292A publication Critical patent/JP2004061292A/ja
Application granted granted Critical
Publication of JP3811105B2 publication Critical patent/JP3811105B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークにおいて、キセルを含まない経路を求めることが可能な経路探索方法及び経路探索プログラムを提供する。
【解決手段】駅をノードに持ち、駅間の路線及び徒歩乗り換えをアークで表現するネットワークを作成し(S101)、検索条件を読み込み(S102)、検索に必要なデータを読み込む(S103)。次に、最短パス木の作成を行い(S104)、最短パス木をもとに複数の最短パスを探索する(S106)。その際、求められたそれぞれの最短パスの候補に対して、キセルが含まれているかどうか判定を行う(S105)。次に、複数の最短経路を求め(S107)、複数の最短経路に対して時間を割り当て(S108)、料金を計算する(S109)。そして、優先基準に基づき、上位複数の経路を選択して表示する(S110)。
【選択図】   図1

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 複数経路記憶装置

Claims (8)

  1. データ記憶装置に保存されている、複数の地点をそれぞれノードで、隣り合う前記地点間の路線を複数のアークで表現し、前記ノードの一部がクリーク化され、前記複数のアークの一部に、並走する別路線の地点をスキップするアークであるスキップアークが設定されたネットワークを読み込むステップと、
    入力された検索条件に基づき、前記ネットワーク上で出発地点から目的地点までの最短パスに関わる最短パス木の作成を行うステップと、
    前記最短パス木をもとに前記出発地点から前記目的地点までの複数の最短パスの検索を行い、前記スキップアークを利用して、前記複数の最短パスそれぞれにキセルが含まれるか否か判定するステップ
    とを含むことを特徴とする経路探索方法。
  2. 折り返しが許されている部分経路を検索し、折り返しが許されている部分経路を折り返しを含む部分経路に置き換え、新たな経路とするステップを更に含むことを特徴とする請求項1に記載の経路探索方法。
  3. 前記判定するステップは、
    前記最短パス上に現れる前記スキップアークを第1アークとする段階と、
    該第1アークの1つ前の路線アークを第2アークとする段階と、
    該第2アークがスキップアークでない場合、前記第2アークの始点に相当する地点と前記第1アークが最初にスキップする地点が一致するときに、前記最短パスはキセルを含むと判定する段階
    とを含むことを特徴とする請求項1又は2に記載の経路探索方法。
  4. 前記判定するステップは、
    前記最短パス上に現れる前記スキップアークを第1アークとする段階と、
    該第1アークの1つ後の路線アークを第3アークとする段階と、
    該第3アークがスキップアークの場合、前記第3アークが最初にスキップする地点を第1地点とする段階と
    該第1地点と前記第1アークが最後にスキップする地点が一致するときに、前記最短パスはキセルを含むと判定する段階
    とを含むことを特徴とする請求項1〜3のいずれか1項に記載の経路探索方法。
  5. 前記判定するステップは、
    前記最短パス上に現れる前記スキップアークを第1アークとする段階と、
    該第1アークの1つ後の路線アークを第3アークとする段階と、
    該第3アークがスキップアークでない場合、前記第3アークの終点に相当する地点を第1地点とする段階と、
    該第1地点と前記第1アークが最後にスキップする地点が一致するときに、前記最短パスはキセルを含むと判定する段階
    とを含むことを特徴とする請求項1〜4のいずれか1項に記載の経路探索方法。
  6. 前記複数の最短パスに対して、路線変更アークの除去及び連続した同一路線名のアークの短縮を行い、複数の最短経路を求めるステップと、
    優先基準に基づき、前記複数の最短経路の一部を選択して出力装置に出力するステップ
    とを更に含むことを特徴とする請求項1〜5のいずれか1項に記載の経路探索方法。
  7. データ記憶装置に保存されている、複数の地点をそれぞれノードで、隣り合う前記地点間の路線を複数のアークで表現し、前記複数の地点の一部のノードがクリーク化され、前記複数のアークの一部に、並走する別路線の地点をスキップするアークであるスキップアークが設定されたネットワークを読み込む命令と、
    入力された検索条件に基づき、前記ネットワーク上で出発地点から目的地点までの最短パスに関わる最短パス木の作成を行う命令と、
    前記最短パス木をもとに前記出発地点から前記目的地点までの複数の最短パスの検索を行い、前記スキップアークを利用して、前記複数の最短パスそれぞれにキセルが含まれるか否か判定する命令
    とを与えることを特徴とする経路探索プログラム。
  8. 前記複数の最短パスに対して、路線変更アークの除去及び連続した同一路線名のアークの短縮を行い、複数の最短経路を求める命令と、
    優先基準に基づき、前記複数の最短経路の一部を選択して出力装置に出力する命令
    とを更に与えることを特徴とする請求項7に記載の経路探索プログラム。
JP2002219914A 2002-07-29 2002-07-29 経路探索方法及び経路探索プログラム Expired - Fee Related JP3811105B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002219914A JP3811105B2 (ja) 2002-07-29 2002-07-29 経路探索方法及び経路探索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002219914A JP3811105B2 (ja) 2002-07-29 2002-07-29 経路探索方法及び経路探索プログラム

Publications (2)

Publication Number Publication Date
JP2004061292A true JP2004061292A (ja) 2004-02-26
JP3811105B2 JP3811105B2 (ja) 2006-08-16

Family

ID=31940700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002219914A Expired - Fee Related JP3811105B2 (ja) 2002-07-29 2002-07-29 経路探索方法及び経路探索プログラム

Country Status (1)

Country Link
JP (1) JP3811105B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1967988A1 (en) 2004-07-22 2008-09-10 NEC Corporation Image processing system
CN104680775A (zh) * 2013-11-28 2015-06-03 中国科学院深圳先进技术研究院 基于海量交通数据的路网实时最优路径的并行提取方法
CN104978472A (zh) * 2014-04-04 2015-10-14 北京南车时代信息技术有限公司 一种轨道长路径的生成方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1967988A1 (en) 2004-07-22 2008-09-10 NEC Corporation Image processing system
US7831071B2 (en) 2004-07-22 2010-11-09 Nec Corporation Image processing system
CN104680775A (zh) * 2013-11-28 2015-06-03 中国科学院深圳先进技术研究院 基于海量交通数据的路网实时最优路径的并行提取方法
CN104978472A (zh) * 2014-04-04 2015-10-14 北京南车时代信息技术有限公司 一种轨道长路径的生成方法及装置

Also Published As

Publication number Publication date
JP3811105B2 (ja) 2006-08-16

Similar Documents

Publication Publication Date Title
Liu et al. An adaptive large neighborhood search heuristic for the vehicle routing problem with time windows and synchronized visits
CN104978420B (zh) 行车路线匹配方法和装置
US8412660B2 (en) Multi-pairs shortest path finding method and system with sources selection
US8005612B2 (en) Map data distribution system
US9116007B2 (en) System and method for journey planning, finding K shortest paths through a time/space network
US8494771B2 (en) Journey planning in public transportation networks
US6980885B2 (en) Routing shipments according to criticality
CN107167152B (zh) 路径规划方法和装置
CN103134505A (zh) 路径规划系统及其方法
JP5547112B2 (ja) 経路探索システム
CN1673686A (zh) 导航系统
Khodadadian et al. Time dependent orienteering problem with time windows and service time dependent profits
JP5108956B2 (ja) 経路計算順決定方法、プログラムおよび計算装置
Kirchler et al. UniALT for regular language contrained shortest paths on a multi-modal transportation network
JP2009043252A (ja) 地図表示装置およびシステム
Wang et al. Online Ridesharing with Meeting Points [Technical Report]
JP2004061292A (ja) 経路探索方法及び経路探索プログラム
JP2004139584A (ja) 経路探索装置、経路探索方法及び経路探索プログラム
JP5294592B2 (ja) 経路検索サーバ及び経路検索プログラム
JP5132694B2 (ja) データ生成装置、データ生成方法及び経路探索装置
Hanafiah et al. Itinerary recommendation generation using enhanced simulated annealing algorithm
JP2017125869A (ja) 地図更新装置、地図更新方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体
JP3811106B2 (ja) 経路探索方法及び経路探索プログラム
JP2004061291A (ja) 経路探索方法及び経路探索プログラム
JP2010237487A (ja) 地図データ検査装置

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