(58)【調査した分野】(Int.Cl.,DB名)
車、バス、鉄道、及び徒歩を含む複数の交通手段に対して、複数のノード間を結ぶ複数のリンクで表される、バスネットワーク、鉄道ネットワーク、徒歩ネットワーク、及び道路ネットワークを含む複数のネットワークを表わし、前記複数のネットワークの各々の複数のリンクは乗換ノードを含み、前記複数のネットワークにおける対応する前記乗換ノード間がリンクで結ばれた階層ネットワークデータを記憶したネットワーク記憶手段と、
出発時間又は到着時間、出発地、目的地、及び公共交通の時刻表データを入力として、前記階層ネットワークデータに基づいて、目的地までの経路の各リンクにおける、前記交通手段毎に算出されるリンクコストの合計値を最小にする、目的地までの経路のリンクを表わす経路情報を探索する経路探索手段と、
を含む経路探索装置であって、
前記経路探索手段は、車の利用可否を含む個人属性を更に入力とし、前記個人属性に基づいて車に対するリンクコストを算出して、前記経路情報を探索する経路探索装置。
前記交通流計算手段により計算された前記交通流の各個人の挙動に基づいて、各個人について、目的地までの各リンクのリンク旅行時間、公共交通の混雑度又は待ち時間を含む経験情報を生成する経験情報生成手段と、
各個人について、前記経験情報に基づいて算出される前記リンクコストの合計値に対する、前記経路探索手段によって探索された前記経路情報について算出された前記リンクコストの合計値の差分又は比が、所定値以上である場合、前記経路情報を変更する変更手段とを更に含み、
前記交通流計算手段は、前記変更手段により変更された前記経路情報を更に用いて前記複数のネットワークにおける前記交通流を計算する請求項3記載の経路探索装置。
車、バス、鉄道、及び徒歩を含む複数の交通手段に対して、複数のノード間を結ぶ複数のリンクで表される、バスネットワーク、鉄道ネットワーク、徒歩ネットワーク、及び道路ネットワークを含む複数のネットワークを表わし、前記複数のネットワークの各々の複数のリンクは乗換ノードを含み、前記複数のネットワークの各々の前記乗換ノードがリンクで接続された階層ネットワークデータを記憶したネットワーク記憶手段を含むコンピュータを、
出発時間又は到着時間、出発地、目的地、及び公共交通の時刻表データを入力として、前記階層ネットワークデータに基づいて、目的地までの経路の各リンクにおける、前記交通手段毎に算出されるリンクコストの合計値を最小にする、目的地までの経路のリンクを表わす経路情報を探索する経路探索手段
として機能させるためのプログラムであって、
前記経路探索手段は、車の利用可否を含む個人属性を更に入力とし、前記個人属性に基づいて車に対するリンクコストを算出して、前記経路情報を探索するプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の特許文献1に記載の技術では、交通手段が、歩行と公共交通機関の組み合わせに限定されている、という問題がある。
【0005】
本発明は、上記の問題点を解決するためになされたもので、様々な交通手段の組み合わせを用いたときの経路を探索することができる交通流計算装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の目的を達成するために第1の発明に係る経路探索装置は、
車、バス、鉄道、及び徒歩を含む複数の交通手段に対して、複数のノード間を結ぶ複数のリンクで表される、
バスネットワーク
、鉄道ネットワーク、徒歩ネットワーク、及び道路ネットワークを含む複数のネットワークを表わし、前記複数のネットワークの各々の複数のリンクは乗換ノードを含み、前記複数のネットワークにおける対応する前記乗換ノード間がリンクで結ばれた階層ネットワークデータを記憶したネットワーク記憶手段と、出発時間又は到着時間、出発地、目的地、及び公共交通の時刻表データを入力として、前記階層ネットワークデータに基づいて、目的地までの経路の各リンクにおける、前記交通手段毎に算出されるリンクコストの合計値を最小にする、目的地までの経路のリンクを表わす経路情報を探索する経路探索手段と、を含んで構成されている。
【0007】
第2の発明に係るプログラムは、
車、バス、鉄道、及び徒歩を含む複数の交通手段に対して、複数のノード間を結ぶ複数のリンクで表される、
バスネットワーク
、鉄道ネットワーク、徒歩ネットワーク、及び道路ネットワークを含む複数のネットワークを表わし、前記複数のネットワークの各々の複数のリンクは乗換ノードを含み、前記複数のネットワークにおける対応する前記乗換ノード間がリンクで結ばれた階層ネットワークデータを記憶したネットワーク記憶手段を含むコンピュータを、出発時間又は到着時間、出発地、目的地、及び公共交通の時刻表データを入力として、前記階層ネットワークデータに基づいて、目的地までの経路の各リンクにおける、前記交通手段毎に算出されるリンクコストの合計値を最小にする、目的地までの経路のリンクを表わす経路情報を探索する経路探索手段として機能させるためのプログラムである。
【0008】
第1の発明及び第2の発明によれば、
車、バス、鉄道、及び徒歩を含む複数の交通手段に対して、複数のノード間を結ぶ複数のリンクで表される、
バスネットワーク
、鉄道ネットワーク、徒歩ネットワーク、及び道路ネットワークを含む複数のネットワークを表わし、前記複数のネットワークの各々の複数のリンクは乗換ノードを含み、前記複数のネットワークにおける対応する前記乗換ノード間がリンクで結ばれた階層ネットワークデータを、ネットワーク記憶手段に記憶している。
【0009】
そして、経路探索手段によって、出発時間又は到着時間、出発地、目的地、及び公共交通の時刻表データを入力として、階層ネットワークデータに基づいて、目的地までの経路の各リンクにおける、交通手段毎に算出されるリンクコストの合計値を最小にする、目的地までの経路のリンクを表わす経路情報を探索する。
【0010】
このように、対応する乗換ノード間がリンクで結ばれた、複数の交通手段に対する複数のネットワークを表わす階層ネットワークデータを用いて、様々な交通手段の組み合わせを用いたときの経路を探索することができる。
【0016】
上記の複数の交通手段は、車、バス、鉄道、
及び徒歩を含
む。このように、交通手段として、車、バス、鉄道、
及び徒歩の組み合わせを用いたときの経路を探索することができる。
【0017】
上記
の経路探索手段は、車の利用可否を含む個人属性を更に入力とし、個人属性に基づいて車に対するリンクコストを算出して、経路情報を探索す
る。これによって、個人属性として車の利用可否を考慮して、様々な交通手段の組み合わせを用いたときの経路を探索することができる。
【0018】
上記の複数の交通手段は、徒歩を含み、経路探索手段は、年齢を含む個人属性を更に入力とし、個人属性に基づいて徒歩に対するリンクコストを算出して、経路情報を探索するようにすることができる。これによって、年齢に応じた徒歩のコストを考慮して、様々な交通手段の組み合わせを用いたときの経路を探索することができる。
【0019】
上記の経路探索手段は、複数の個人に対する、出発時間又は到着時間、出発地、及び目的地を表わす個人データに基づいて、複数の個人に対して経路情報を探索し、上記の経路探索装置は、複数の個人に対する個人データ、及び経路探索手段によって探索された複数の個人に対する経路情報を入力として、複数のネットワークにおける、複数の個人の各々の挙動を含む交通流を計算する交通流計算手段を更に含むようにすることができる。
【0020】
上記の交通流計算手段を含む経路探索装置は、交通流計算手段により計算された交通流の各個人の挙動に基づいて、各個人について、目的地までの各リンクのリンク旅行時間、公共交通の混雑度又は待ち時間を含む経験情報を生成する経験情報生成手段と、各個人について、経験情報に基づいて算出されるリンクコストの合計値に対する、経路探索手段によって探索された経路情報について算出されたリンクコストの合計値の差分又は比が、所定値以上である場合、経路情報を変更する変更手段とを更に含み、交通流計算手段は、変更手段により変更された経路情報を更に用いて複数のネットワークにおける交通流を計算するようにすることができる。
【0021】
上記の交通流計算手段を含む経路探索装置は、交通流計算手段により計算された交通流の各個人の挙動に基づいて、各個人について、目的地への到着時間を含む経験情報を生成する経験情報生成手段と、各個人について、経験情報の到着時間に対する、個人データの到着時間の差分が、所定値以上である場合、経路情報又は出発時間を変更する変更手段とを更に含み、交通流計算手段は、変更手段により変更された経路情報又は出発時間を更に用いて複数のネットワークにおける交通流を計算するようにすることができる。
【0022】
上記の変更手段は、個人の経路情報を、経路探索手段によって個人に対する経験情報を用いて再度探索された経路情報に変更するようにすることができる。
【発明の効果】
【0023】
以上説明したように、本発明の経路探索装置及びプログラムによれば、対応する乗換ノード間がリンクで結ばれた、複数の交通手段に対する複数のネットワークを表わす階層ネットワークデータを用いて、様々な交通手段の組み合わせを用いたときの経路を探索することができる、という効果が得られる。
【発明を実施するための形態】
【0025】
以下、図面を参照して、本発明の好適な実施の形態について説明する。なお、本発明に係る実施の形態では、交通流をシミュレーションする交通流計算装置に、本発明を適用した場合について説明する。
【0026】
図1に示すように、第1の実施の形態に係る交通流計算装置10は、CPU、ROM、RAM、HDDを備えたコンピュータで構成され、各個人について作成された個人データを記憶する個人データ記憶部12と、後述する階層ネットワークデータを記憶するネットワークデータ記憶部14と、鉄道やバスなどの公共交通の時刻表データを記憶する時刻表データ記憶部16と、各個人について、交通手段と経路とを同時に探索する手段経路探索部18と、探索された交通手段と経路との組み合わせを表わす経路データを記憶する経路データ記憶部20と、交通流をシミュレートする交通流シミュレーション部22と、を備えている。
【0027】
個人データ記憶部12は、各個人について、
図2に示すように、個人ID、出発時間、発生ノード(出発地)、集中ノード(目的地)、個人属性(年齢、免許保有、車保有)、発生ノードから集中ノードまでの経路を識別する経路IDより構成される個人データを記憶している。ここで、免許保有及び車保有の各々については、保有していれば、1とし、保有していなければ、0としている。
【0028】
ネットワークデータ記憶部14は、
図3に示すように、たとえば、車、鉄道、徒歩、及びバスを含む複数の交通手段に対して、複数のノード間を結ぶ複数のリンクで表される、道路ネットワーク、バスネットワーク、鉄道ネットワーク、及び徒歩ネットワークを階層化した多階層ネットワークデータを記憶している。
【0029】
各階層のネットワークのリンクには、手段変更の基点となる乗換ノードが含まれ、複数の階層で対応する乗換ノード間が乗換リンクで結ばれて、各階層のネットワークが接続されている。
【0030】
交通手段ごとに階層化されているため、同じ地点を表すノードでも階層が異なる場合、異なるノードとして定義される。例えば、
図3のST1とN1は地図上では同じ地点であるが、ST1は鉄道駅を、N1は鉄道駅前の道路の端末ノードを表している。発生ノード及び集中ノードについては、同じ地点を表わす全ての階層のノードを表わしている。
【0031】
全てのネットワークをノードとリンクで表現するため、探索時にどの階層のネットワークにいるのかは関係なく経路探索ができる。また、ノードIDによって、ネットワークの階層が識別可能であるため、経路探索の結果として得られた、目的地までの経路のリンクを表わすノードIDの列から、どの交通手段を用いたか、どこで乗換をしたかを判別することができる。
【0032】
道路ネットワークは、交差点又は道路の端末をノード、交差点間又は道路の端末と交差点との間の接続をリンクとするように構成されたネットワークである。鉄道ネットワークは、鉄道駅をノード、鉄道駅間の接続をリンクとするように構成されたネットワークである。徒歩ネットワークは、徒歩ノード間の接続をリンクとするように構成されたネットワークである。
【0033】
バスネットワークについては、経路探索用のネットワークと交通流計算用のネットワークとを別々に用意する。これは、バスが道路ネットワーク上を走り他の自動車交通と干渉する車という側面と、規定されたルートのみを通り、バス停で停止するという軌道交通に似た側面を持つ特殊な車両であるためである。従って、経路探索用のバスネットワークとして、バス停をノード、バス停間の接続をリンクとするように構成されたネットワークを用意する。
【0034】
交通流計算用のバスネットワークは、道路ネットワーク上に示され、かつ、バス停をノード、バス停間の接続をリンクとするように構成されたネットワークである。また、交通流計算によって得られた各リンクコストは、経路探索用のバスネットワークのリンクに反映されることになる。なお、上記
図3の例では、交通流計算用のバスネットワークを示している。
【0035】
なお、バスネットワークは、公共交通ネットワークの一例であり、鉄道ネットワークは、公共交通ネットワーク、軌道交通ネットワークの一例である。
【0036】
また、ネットワークデータ記憶部14は、信号の有無・現示などを表わす信号データ、交通環境データ(各リンクのリンク長、道路種別、ガソリン代、通行料金)、及び公共交通データ(例えば、鉄道やバスの利用料金)を更に記憶している。
【0037】
時刻表データ記憶部16には、バス及び鉄道の時刻表データを記憶しており、鉄道の時刻表データは、鉄道ネットワークの各ノードの到着時間を表わし、バスの時刻表データは、バスネットワークの各ノードの到着時間を表わす。
【0038】
手段経路探索部18は、多階層ネットワークデータを用いて、各個人について経路探索を行う。具体的には、ダイクストラ法を用いて目的地(集中ノード)までの経路における各リンクのリンクコストの合計値が最小となる経路を探索する。リンクコストは以下の(1)式により求められる。
【0040】
ただし、Cはリンクコスト、Tはリンク旅行時間、Lはリンク長、R
kは道路種別、Fは料金(通行料金、利用料金、ガソリン代)を表わす。また、Jは混雑率、Sは待ち時間、Eは疲労、eは年齢、N
wはネットワークの階層を表わす。また、Hは、免許か車が無い場合、十分大きな数を返す関数であり、w0〜w6は、予め定められた重み係数である。
【0041】
経路探索時には、各リンクに対して、ネットワークの階層に依らず、リンク旅行時間、リンク長、道路種別、料金、混雑率、及び待ち時間の情報が与えられる。ただし、道路ネットワークでは、リンク旅行時間、リンク長、道路種別、及び料金の情報以外については、各リンクに0が与えられる。また、バスネットワーク及び鉄道ネットワークでは、リンク旅行時間、リンク長、料金、及び混雑率以外の情報については、各リンクに0が与えられる。また、徒歩ネットワークでは、リンク旅行時間及びリンク長以外の情報については、各リンクに0が与えられる。また、乗換リンクでは、待ち時間以外の情報について、0が与えられる。
【0042】
各個人は、経験した経路に含まれるリンク以外のリンクに関してはリンク旅行時間を知りえないはずであるため、初期経路探索時や、後述する時間帯別のコストデータが得られない場合には、各リンクのリンク旅行時間として、リンク長をある指定した速度(道路ネットワークであれば、たとえば30km/h)で割ったものが与えられる。徒歩ネットワークの場合は、リンク長とその個人の属性に応じた速度より算出されるリンク旅行時間が、リンクに与えられる。
【0043】
また、初期経路探索時や、後述する時間帯別のコストデータが得られない場合には、鉄道やバスの混雑状況、待ち時間は分からないので、各リンクの混雑率及び待ち時間として、予め定められた仮の値が与えられる。
【0044】
また、各リンクのリンク長、道路種別、料金として、ネットワークデータ記憶部14に記憶された交通環境データや公共交通データから得られる値が与えられる。
【0045】
個人データからは、個人の属性として、発生ノード(出発地)、集中ノード(目的地)、年齢、免許の有無、及び車の有無の情報が、経路探索時の入力データとなる。
【0046】
また、手段経路探索部18は、上述した種々の情報と自身が持つ重み係数を使って、上記(1)式に従ってリンクコストを計算する。このとき、疲労を表す関数E(・)は、年齢とリンク旅行時間とネットワーク階層との関数となっている。従って、リンク旅行時間が同じであっても、徒歩ネットワークを移動するときの方が、他の階層のネットワークを移動するときよりも疲労が大きくなる。さらに、座位より立位の方が、疲労度が大きいことを考慮すると、疲労の計算に混雑率を考慮しても良い。このとき、乗車人員が座席定員より少なければ座位、座席定員より多ければ立位となるように決めることができる。関数Hは、車利用不可かつネットワークの階層が道路ネットワークであるときにのみ、十分大きな数を返す関数である。すなわち、以下の(2)式で表される。
【0048】
ただし、L
Nは、予め定められた十分大きな数である。δ
l,cは、車利用可否関数であり、免許保有ありかつ車保有ありのときのみ1、それ以外は0を返す関数である。N
wは、ネットワーク階層を表わし、道路ネットワークであれば、roadである。
【0049】
各々のリンクコストに対してダイクストラ法を用いることで、目的地までの経路のリンクを表わす経路データ(ノードIDの列)が、例えば、(1)G1→N2→N6→N8→N9→N12→G2、(2)G1→W2→W1→ST1→ST2→ST3→W6→W7→G2、(3)G1→W2→W3→BS1→BS2→W5→W7→G2のように求められる。これらの経路データについて、(1)であれば、交通手段を車のみとした複数のノードIDの列を表わし、(2)であれば、交通手段を徒歩→鉄道→徒歩と乗り換えた、複数のノードIDの列を表わし、(3)であれば、交通手段を、徒歩→バス→徒歩と乗り換えた、複数のノードIDの列を表わす。この方法を用いることで、パークアンドライドなどの交通手段も容易に表現できる。例えば、(4)G1→N2→N4→N3→N1→ST1→ST2→ST3→W6→W7→G2という経路が探索された場合、交通手段は車→鉄道→徒歩となる。
【0050】
手段経路探索部18は、各個人について、探索した経路データを経路データ記憶部20に記憶すると共に、記憶した経路データの経路IDを、当該個人の個人データに登録する。また、手段経路探索部18は、各個人について、探索された経路データについて算出されたリンクコストの合計値(合計値の最小値)を基準コストC
0としてメモリに記憶しておく。
【0051】
交通流シミュレーション部22は、個人データ記憶部12に記憶された各個人の個人データと、経路データ記憶部20に記憶された各個人の経路データと、ネットワークデータ記憶部14に記憶された多階層ネットワークデータ及び信号データと、時刻表データ記憶部16に記憶された時刻表データとに基づいて、起点(発生ノード)から終点(集中ノード)まで、時間の経過に伴う各階層のネットワーク上の、各個人の挙動を含む交通流を、1秒毎に計算し、所定時間分(例えば、1日の所定時間帯の時間分)になるまで繰り返し計算する。また、交通流シミュレーション部22は、所定時間分について、計算された各個人の挙動に基づいて、各個人のリンク旅行時間、公共交通の混雑率、及び公共交通の待ち時間を算出する。
【0052】
シミュレーションモデルは、出発時間によってソートされた個人を順番に発生させ、スキャニングインターバル(=1秒)ごとに、車両、人(徒歩)、鉄道、バスを移動させる交通流モデルで構成される。交通流モデルは、時刻表データに基づいて、バスや鉄道を、対応する階層のネットワーク上で移動させると共に、各個人の経路データに従って、各車両を道路ネットワークデータ上で移動させ、人を、鉄道ネットワーク、バスネットワーク、徒歩ネットワーク上で移動させ、各個人が経験した、各リンクの旅行時間を計算し出力する。
【0053】
また、交通流計算装置10は、更に、交通流シミュレーション部22によって計算された交通流に基づいて、各個人の経験情報を生成すると共に、時間帯別のコストデータを算出する経験情報生成部24と、時間帯別のコストデータを記憶するコストデータ記憶部26と、経験情報に基づいて、経路データを変更するか否かを判断する変更判断部28と、を備えている。
【0054】
経験情報生成部24は、交通流シミュレーション部22によって出力された、各個人のリンク旅行時間、公共交通の混雑率、及び公共交通の待ち時間を収集し、各個人について、経路上の各リンク旅行時間、各リンクのバス又は鉄道の混雑率、及び各乗換リンクのバス又は鉄道の待ち時間を含む経験情報を生成する。
【0055】
また、経験情報生成部24は、全ての個人の経験情報に基づいて、時間帯別の各リンクの平均旅行時間(
図4参照)、平均混雑率(
図5参照)、及び平均待ち時間(
図6参照)を表わす時間帯別コストデータを生成して、コストデータ記憶部26に格納する。
【0056】
上記
図4〜
図6の例ではネットワーク種別を明示しているが、リンクIDが一意に決まっていれば、ネットワーク種別を明示する必要はない。また、時間帯幅は任意に決められるようにする。平均混雑率は、公共交通のネットワークデータのみに関係するコストであるため、上記
図5に示すように、公共交通のネットワークデータ以外を0としてもよいし、そもそも公共交通ネットワークデータのみを、コストデータとして出力するようにしてもよい。
【0057】
また、平均待ち時間は、乗換リンクのみに関係するコストであるため、上記
図6に示すように、乗換リンク以外を0としてもよいし、そもそも乗換リンクのみの平均待ち時間を、コストデータとして出力するようにしてもよい。
【0058】
また、経験情報生成部24は、各個人について、
図7に示すように、生成した経験情報を用いて、上記(1)式に従って、実際のリンクコストを算出し、
図8に示すように、時間帯別の各リンクのリンクコストとして、コストデータ記憶部26に格納する。
【0059】
変更判断部28は、各個人について、メモリに記憶された基準コストと、実際のリンクコストの合計値とを比較して、当該個人の経路データを変更するか否かを判断する。
【0060】
ここで、繰り返し計算によって得られるn回目の交通流計算(対象個人の一番新しい探索からの繰り返し回数)によって得られる実際のリンクコストの合計値をC
nとすると、経路データが変更される条件は、以下のように定義される。
【0061】
1.実コストC
nと基準コストC
0の比率が閾値T
hlを超えた場合
【0063】
2.同一経路をd日連続使用していて、かつそのコスト比率の平均値が閾値T
h2を超えた場合
【0065】
ただし、T
h2<T
h1である。上記の1又は2の条件を満たした場合、当該個人の経験情報を考慮して再探索された経路データに、経路データを変更するように判断する。
【0066】
上記のように経路データを変更すると判断された場合、対象の個人について、手段経路探索部18によって、以下のように、経路データを再探索する。
【0067】
まず、コストデータ記憶部26に記憶された、時間帯別の各リンクの平均旅行時間、平均混雑率、平均待ち時間を表わす時間帯別のコストデータと、当該個人の経験情報とを用いて、新しい経路データを探索する。すなわち、時間帯別のコストデータの内容に優先して、経験情報に含まれるリンクのリンク旅行時間、混雑率、待ち時間を用いて、リンクコストを算出し、経路探索を行なう。
【0068】
ここで、
図9に示すネットワークにおける経路データが変更される例について説明する。上記
図9におけるN1〜N5はノードを示す。また、図には示していないが2つのノード間を結ぶリンクを、ノードの起点と終点の番号からL12(N1→N2のリンク)のように表記することにする。上記
図9において各リンクの横に記されている数字はリンクコストを表している。ここでは、簡単のために所要時間や混雑率などのリンクコストを構成する要素は考えないことにする。
【0069】
上記
図9は、交通流計算をする前の初期のリンクコスト(経路探索時に算出されたリンクコスト)を示している。このネットワークにおいてリンクコストの合計値を最小にする経路を探索すると、L12→L23→L34を通る経路が探索され、またそのときの基準コストC
0は10である。
【0070】
次に、交通流計算をすると、リンクを通過した経験情報から、各リンクの実際のリンクコストが求められる。
【0071】
ある個人Aの実コストC
1に対する基準コストC
0の比が閾値を超えており、経路データを変更すると判断されたとする。このとき、個人Aの経験情報から、L12、L23、L34のリンク旅行時間、混雑率、待ち時間が、交通流計算によって出力された時間帯別コストデータの値に置き換わる。経験情報を反映した新しいリンクコストを
図10に示した。このリンクコストを用いて、リンクコストを最小とする経路を探索すると、L15→L54の新しい経路が探索され、探索された経路に変更される。
【0072】
次に、第1の実施の形態に係る交通流計算装置10の動作について説明する。
【0073】
オペレータによって、シミュレーションの開始指示が入力されると、交通流計算装置10において、
図11に示すシミュレーション処理ルーチンが実行される。
【0074】
まず、ステップ100において、個人データ記憶部12に記憶された各個人の個人データと、ネットワークデータ記憶部14に記憶された多階層ネットワークデータと、時刻表データ記憶部16に記憶された時刻表データとを読み込む。
【0075】
そして、ステップ102において、各個人について、目的地までの交通手段及び経路を表わす経路データを探索し、探索された経路データを経路データ記憶部20に格納する。次のステップ104では、個人データ記憶部12に記憶された各個人の個人データと、経路データ記憶部20に記憶された各個人の経路データと、ネットワークデータ記憶部14に記憶された多階層ネットワークデータ及び信号データと、時刻表データ記憶部16に記憶された時刻表データとに基づいて、1日の所定時間帯の交通流を計算する。
【0076】
そして、ステップ106において、上記ステップ104で計算された交通流における各個人の挙動に基づいて、各個人について、目的地までの各リンクのリンク旅行時間、混雑率、待ち時間を含む経験情報を生成する。
【0077】
次のステップ108では、各個人について、上記ステップ106で生成された当該個人の経験情報に基づいて、目的地までの各リンクの実際のリンクコストを算出して、コストデータ記憶部26に記憶する。
【0078】
そして、ステップ110において、上記ステップ106で生成された全ての個人の経験情報に基づいて、時間帯別の各リンクの平均リンク旅行時間、混雑率、及び待ち時間の平均値を算出して、コストデータ記憶部26に記憶されている時間帯別のコストデータを更新する。
【0079】
そして、ステップ112において、上記ステップ108で算出された実際のリンクコストに基づいて、各個人について、経路データを変更するか否かを判断する。次のステップ114では、繰り返しの終了条件を満たしたか否かを判定し、終了条件を満たしていない場合には、上記ステップ102へ戻って、次の日の交通流を計算するが、一方、終了条件を満たした場合には、シミュレーション処理ルーチンを終了する。ここで、終了条件は、繰り返し回数として設定してもよいし、経路変更者の割合が閾値以下になった場合等の条件として設定しても良い。以下では、繰り返し回数rが閾値以上となったことを終了条件とし、全体として均衡状態となったときに終了する場合を例に説明する。
【0080】
上記のシミュレーション処理ルーチンにより、交通流の計算と、手段・経路の変更判断及び手段・経路の同時探索とを繰り返し行うことによって、各個人の経路データがある値に収束し、全体として均衡が起こる交通状況が再現される。
【0081】
上記ステップ102は、
図12に示す手段・経路同時探索処理ルーチンによって実現される。
【0082】
ステップ120では、処理対象の個人を決定し、ステップ122において、初期経路の探索であるか否かを判定する。初期経路の探索である場合には、ステップ126へ移行するが、一方、2回目以降の経路探索である場合には、ステップ124において、処理対象の個人について、上記ステップ112において経路データを変更すると判断されたか否かを判定する。経路データを変更すると判断されていた場合には、ステップ126へ移行するが、一方、経路データを変更すると判断されていなかった場合には、後述するステップ134へ移行する。
【0083】
ステップ126では、経路変更せずに処理を繰り返した回数を示す変数rを0に設定する。そして、ステップ128において、処理対象の個人について、個人データと、時間帯別のコストデータと、多階層ネットワークデータとに基づいて、目的地までの交通手段及び経路を同時に探索する。なお、対象の個人について、経路データを変更するように判断されていた場合には、記憶された経験情報を、時間帯別のコストデータより優先して用いて、目的地までの交通手段及び経路を同時に探索する。
【0084】
次のステップ130では、上記ステップ128で探索された経路について算出されたリンクコストの合計値を、基準コストとしてメモリに記憶させる。そして、ステップ132において、上記ステップ128で探索された経路データを、処理対象の個人の経路データとして、経路データ記憶部20に記憶させる。
【0085】
ステップ134では、変数rをインクリメントし、ステップ136において、全ての個人について、上記ステップ120〜ステップ134の処理を終了したか否かを判定し、全ての個人について終了したと判定された場合には、手段・経路同時探索処理ルーチンを終了する。一方、上記ステップ120〜ステップ134の処理が終了していない個人が存在する場合には、ステップ120へ戻り、当該個人を、処理対象の個人として設定する。
【0086】
また、上記ステップ112は、
図13に示す手段・経路変更判断処理ルーチンによって実現される。
【0087】
ステップ140において、処理対象の個人を決定し、ステップ142で、処理対象の個人について、実際のリンクコストの合計値から実コストを算出し、上記(3)式に従って、実コストに対する基準コストの比率が閾値以上であるか否かを判定する。コストの比率が閾値以上である場合には、後述するステップ146へ移行するが、一方、コストの比率が閾値未満である場合には、ステップ144において、上記(4)式に従って、d日分の実コストに対する基準コストの比率の平均値が閾値以上であるか否かを判定する。コストの比率の平均値が閾値以上である場合には、ステップ146へ移行するが、一方、コストの比率の平均値が閾値未満である場合には、後述するステップ150へ移行する。
【0088】
ステップ146では、処理対象の個人について、判断結果として、経路データを変更することを設定し、ステップ148において、処理対象の個人について上記ステップ106で生成された経験情報を、経路探索のためにコストデータ記憶部26に記憶させる。
【0089】
ステップ150では、全ての個人について、上記ステップ140〜ステップ148の処理を終了したか否かを判定し、全ての個人について終了したと判定された場合には、手段・経路変更判断処理ルーチンを終了する。一方、上記ステップ140〜ステップ148の処理が終了していない個人が存在する場合には、ステップ140へ戻り、当該個人を、処理対象の個人として設定する。
【0090】
以上説明したように、第1の実施の形態に係る交通流計算装置によれば、対応する乗換ノード間が乗換リンクで結ばれた、複数の交通手段に対する複数のネットワークを表わす多階層ネットワークデータを用いて、リンクコストによる経路探索を行なうことにより、車、バス、鉄道、及び徒歩という交通手段の組み合わせを用いたときの経路を探索することができる。
【0091】
また、交通流計算の結果を個人にフィードバックするために交通流計算の出力結果(旅行時間や交通機関の混雑率など)を経験情報として蓄積できる。そのため、目的地までの経路コストが大きくなったために交通手段や経路を変更する、といった行動の変化を扱うことができる。
【0092】
また、交通流計算と交通手段・経路の変更判断とを繰り返し行うことで、各個人の交通手段・経路がある値に収束し、また全体として均衡状態となった交通状況を再現することができる。
【0093】
また、最小コスト経路を探索した結果として、交通手段が含まれているので、交通手段の組み合わせを限定しておらず、交通手段の様々な組み合わせが、経路と共に同時に探索される。
【0094】
また、車両一台一台を発生させ、時間毎の挙動を計算する機能を有しているため、時間毎のリンク旅行時間の表現が可能であり、また、時間毎の公共交通の待ち時間、混雑率、移動主体の疲労度などを算出することができる。また、コストを用いた手段・経路の同時探索機能を有しているので、選択行動も模擬できる。
【0095】
次に、第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【0096】
第2の実施の形態では、個人データの到着時間に基づいて、経路探索を行なっている点が、第1の実施の形態と異なっている。
【0097】
図14に示すように、第2の実施の形態に係る交通流計算装置210は、個人データ記憶部12と、ネットワークデータ記憶部14と、時刻表データ記憶部16と、手段経路探索部18と、経路データ記憶部20と、探索された経路データに基づいて、出発時間を決定する出発時間決定部212と、交通流シミュレーション部22と、経験情報生成部24と、コストデータ記憶部26と、到着時間データを記憶する到着時間データ記憶部214と、変更判断部28と、を備えている。
【0098】
個人データ記憶部12は、各個人について、
図15に示すように、個人ID、到着時間、出発時間、発生ノード(出発地)、集中ノード(目的地)、個人属性(年齢、免許保有、車保有)、及び経路IDより構成される個人データを記憶している。出発時間については、予め与えられないが、到着時間については、予め与えられている。
【0099】
手段経路探索部18は、各個人について、目的地のノードから逆に出発地のノードまで辿るようにして、上記第1の実施の形態と同様の手法により、交通手段及び経路を同時に探索する。また、経路探索では、到着時間から時間を逆算しながら、時間帯別のコストデータを参照して、リンクコストを算出する。
【0100】
出発時間決定部212は、各個人について、探索された経路データに基づいて、到着時間から、出発時間を逆算して、出発時間を決定し、当該個人の個人データに、決定された出発時間を登録する。
【0101】
経験情報生成部24は、各個人について、計算された交通流の各個人の挙動に基づいて、目的地(集中ノード)の到着時間を取得し、各個人について到着時間を記録した到着時間データを、到着時間データ記憶部214に記憶させる。
【0102】
変更判断部28は、上記(3)式、(4)式の条件に基づいて、各個人について、経路データの変更を行うか否かを判断する。また、変更判断部28は、個人データの到着時間と到着時間データの到着時間とから算出される遅れ時間が、閾値以上である場合に、出発時間を、遅れ時間分だけ早くするように変更する。
【0103】
次に、第2の実施の形態に係る手段・経路探索処理ルーチンについて、
図16を用いて説明する。なお、第1の実施の形態と同様の処理については、同一符号を付して詳細な説明を省略する。
【0104】
ステップ120では、処理対象の個人を決定し、ステップ122において、初期経路の探索であるか否かを判定し、初期経路の探索である場合には、ステップ126へ移行するが、一方、2回目以降の経路探索である場合には、ステップ124において、処理対象の個人について、上記ステップ122において経路データを変更すると判断されたか否かを判定する。経路データを変更すると判断されていた場合には、ステップ126へ移行するが、一方、経路データを変更すると判断されていなかった場合には、ステップ134へ移行する。
【0105】
ステップ126では、変数rを0に設定し、ステップ128において、処理対象の個人について、個人データと、時間帯別のコストデータと、多階層ネットワークデータとに基づいて、目的地までの交通手段及び経路を同時に探索して、経路データを求める
次のステップ130では、上記ステップ128で探索された経路について算出されたリンクコストの合計値を、基準コストとしてメモリに記憶させる。そして、ステップ250において、上記ステップ128で探索された経路データと、処理対象の個人の個人データの到着時間とに基づいて、出発時間を逆算し、個人データ記憶部12の個人データに、出発時間を記憶させる。
【0106】
そして、ステップ132において、上記ステップ128で探索された経路データを、経路データ記憶部20に記憶させる。
【0107】
ステップ134では、変数rをインクリメントし、ステップ136において、全ての個人について、上記ステップ120〜ステップ134の処理を終了したか否かを判定し、全ての個人について終了したと判定された場合には、手段・経路同時探索処理ルーチンを終了する。
【0108】
また、第2の実施の形態に係る手段・経路変更判断処理ルーチンについて
図17を用いて説明する。
【0109】
ステップ140において、処理対象の個人を決定し、ステップ142で、実コストに対する基準コストの比率が閾値以上であるか否かを判定する。コストの比率が閾値以上である場合には、ステップ146へ移行するが、一方、コストの比率が閾値未満である場合には、ステップ144において、d日分の実コストに対する基準コストの比率の平均値が閾値以上であるか否かを判定する。コストの比率の平均値が閾値以上である場合には、ステップ146へ移行するが、一方、コストの比率の平均値が閾値未満である場合には、ステップ260へ移行する。
【0110】
ステップ260では、交通流の計算に基づいて生成された到着時間データに基づいて、処理対象の個人について、個人データの到着時間に対する、交通流の計算結果における到着時間の遅れ時間が、閾値以上であるか否かを判定する。遅れ時間が閾値未満である場合には、ステップ150へ移行するが、一方、遅れ時間が閾値以上である場合には、ステップ262において、処理対象の個人の個人データの出発時間を、遅れ時間分だけ早めるように変更して、ステップ150へ移行する。
【0111】
ステップ146では、処理対象の個人について、判断結果として、経路データを変更することを設定し、ステップ148において、処理対象の個人について上記ステップ106で生成された経験情報を、経路探索のためにコストデータ記憶部26に記憶させる。
【0112】
ステップ150では、全ての個人について、上記ステップ140〜148、260、262の処理を終了したか否かを判定し、全ての個人について終了したと判定された場合には、手段・経路変更判断処理ルーチンを終了する。一方、上記ステップステップ140〜148、260、262の処理が終了していない個人が存在する場合には、ステップ140へ戻り、当該個人を、処理対象の個人として設定する。
【0113】
なお、第2の実施の形態に係る交通流計算装置の他の構成及び作用は、第1の実施の形態と同様であるため、説明を省略する。
【0114】
以上説明したように、第2の実施の形態に係る交通流計算装置によれば、交通流計算で求められた旅行時間や公共交通機関の混雑率などの経験情報を用いて、出発時間を再計算することによって、出発時間の変更を表現することができる。
【0115】
また、交通流計算の結果を個人にフィードバックするために交通流計算の出力結果を経験情報として蓄積できる。そのため、個人が予定する到着時間に大幅に遅れたために、出発時間を変更する、といった行動の変化を扱うことができる。
【0116】
なお、上記の実施の形態では、到着時間の遅れ時間が閾値以上であった場合に、出発時間を変更する場合を例に説明したが、これに限定されるものではなく、到着時間の遅れ時間が閾値以上であった場合に、経験情報を用いて、経路を再探索するようにしてもよい。また、出発時間を変更すると共に、経路を再探索するようにしてもよい。
【0117】
また、上記の第1の実施の形態及び第2の実施の形態では、各個人について、経路データを探索し、経路データに基づいて、交通流を計算する場合を例に説明したが、これに限定されるものではなく、各個人について、経路探索時に経路データの候補を複数作成しておいて、交通流の計算において、出発時に動的に各個人の経路データを選択するようにしてもよい。経路データの候補を複数作成する手法としては、ダイクストラ法により経路コストが最小の経路からk番目までの経路を選定する方法を用いればよい。さらに、交通流の計算において、交通状況によって、移動中に経路探索を行い経路変更するようにしてもよい。
【0118】
また、実コストと基準コストとの比が、閾値以上であるときに、経路を変更するように判断する場合を例に説明したが、これに限定されるものではなく、実コストと基準コストとの差分が、閾値以上であるときに、経路を変更するように判断してもよい。また、経路を変更すると判断された場合、経験情報を用いずに、時間帯別のコストデータに基づいて、経路データを再探索するようにしてもよい。
【0119】
また、複数の交通手段を、車、バス、鉄道、及び徒歩とした場合を例に説明したが、これに限定されるものではなく、車、バス、鉄道、及び徒歩の任意の組み合わせを、複数の交通手段としてもよく、また、他の交通手段を組み合わせてもよい。