(57)【特許請求の範囲】
【請求項１】
複数の交差点と交差点間を結ぶ道路からなる道路網における交通流をイベントスキャニング方式によりシミュレーションする交通流シミュレーション装置であって、
交差点間を結ぶ道路毎に、その道路についての、長さ、規制速度、車線数、単位時間当り流出可能な車両の台数、および、車両密度と車両速度の関係を示すＫＶ曲線の種類を対応付けた道路網データを記憶する道路網データ記憶部と、
道路網に対して、車両群を出発、到着およびその間の移動についての事象が起こる生起時刻順に管理する事象管理部と、
上記生起時刻が現在のシミュレーション時刻に対して最も近い未来である車両群を上記事象管理部から抽出し、上記シミュレーション時刻をこの生起時刻に更新するとともに、該抽出した車両群についての事象を処理し、さらに該事象を処理した車両群について、上記道路網データ記憶部が記憶する道路網データを用いて次の事象が起こる生起時刻を求め、ここで求めた生起時刻で該車両群を上記事象管理部に管理させる事象処理を繰り返し実行する事象処理部と、を備え、
上記事象処理部は、処理対象の車両群について、交差点を通過させ、移動元の道路から該交差点に接続されている移動先の道路に移動させる場合、該移動先の道路への車両群の移動が可能であるかどうかを判定し、移動可であれば該車両群を該移動先の道路に移動させ、反対に移動不可であれば該車両群を、移動元の道路の最下流に仮想的に設けた流出区間に停止させるとともに、この流出区間に停止させた車両群については、当該流出区間に存在している前方の車両の台数も用いて次の事象が起こる生起時刻を求める、交通流シミュレーション装置。
【請求項２】
上記事象処理部は、上記道路網データ記憶部が記憶する道路網データから得られる、単位時間当り流出可能な車両の台数である流出容量、および受入可能な車両の台数である受入可能台数を用いて、処理対象の車両群が移動先の道路への移動が可能であるかどうかを判定する、請求項１に記載の交通流シミュレーション装置。
【請求項３】
上記事象処理部は、移動元の道路の最下流に仮想的に設けた上記流出区間に停止させられている他の車両群があれば、処理対象の車両群について移動先の道路への移動が不可であると判定する請求項１または２に記載の交通流シミュレーション装置。
【請求項４】
上記事象処理部は、処理対象の車両群が存在できるスペースが移動先の道路になければ、該移動先の道路への移動が不可であると判定する請求項１〜３のいずれかに記載の交通流シミュレーション装置。
【請求項５】
上記事象処理部は、処理対象の車両群より先に交差点を通過して移動先の道路に移動する車両台数が予め決められている車両台数を超える場合に、処理対象の車両群について該移動先の道路への移動が不可であると判定する請求項１〜４のいずれかに記載の交通流シミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、イベントスキャニング方式により、道路網における車両の流れ（交通流）をシミュレーションする交通流シミュレーション装置に関する。
【０００２】
【従来の技術】
従来、道路網における車両の流れ（交通流）をシミュレーションし、該道路網における交通状況の変化を予測することが行われている。シミュレーション結果は、道路網における一部の道路の通行を規制したときに、周辺道路における渋滞の発生状況の予測や、渋滞緩和のための道路拡張や、新たな道路建設の方針決定の指針等に利用されている。
【０００３】
一般的な交通流シミュレーションは、時刻（シミュレーション時刻）を進行させながら道路網に存在する車両を移動させている。シミュレーション時刻の進行方法は、大きく分けてピリオディックスキャニング方式、とイベントスキャニング方式の２種類である。
【０００４】
ピリオデックスキャニング方式は、シミュレーション時刻を予め決めた単位時刻ずつ進行させる方式である。この方式は、この単位時間毎に全ての車両の挙動（事象）を処理していく方式である。
【０００５】
これに対して、イベントスキャニング方式は、道路網における事象の発生に応じてシミュレーション時刻を進行させる方式であり、シミュレーション時刻を不定期間隔で進行させる。この方式は、車両毎に次に事象が起こる時刻（生起時刻）を管理し、生起時刻が現在のシミュレーション時刻に対して最も近い未来である車両について事象を処理する。このときシミュレーション時刻を処理対象の車両の生起時刻に進める。また、事象を処理した車両について、次の事象が起こる生起時刻を予測し管理する。このイベントスキャニング方式は、全ての車両の挙動を処理する必要がないため、ピリオディックスキャニング方式に比べて交通流シミュレーションにかかる時間が短いというメリットがある。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の交通流シミュレーションは道路網を構成する各道路について、存在する車両台数を制限していなかった。このため、道路上に存在している車両台数が実際には存在できない車両台数となることがあった。例えば、交差点を通過させた車両を別の道路に流入させるとき、該別の道路にすでに存在している車両台数が実際に存在可能な車両台数を越えていても、この車両を該別の道路に流入させていた。
【０００７】
したがって、現実には渋滞が上流方向に延伸していくのに、従来の交通流シミュレーションでは渋滞が上流に延伸していく延伸現象を再現することができず、現実に即したシミュレーション結果を得ることができなかった。
【０００８】
この発明の目的は、交通流シミュレーションにかかる時間が短いイベントスキャニング方式により、渋滞の延伸現象を再現し、現実に即したシミュレーション結果を得ることができる交通流シミュレーション装置を提供することにある。
【０００９】
【課題を解決するための手段】
この発明の交通流シミュレーション装置は、上記課題を解決するために以下の構成を備えている。
【００１０】
（１）複数の交差点と交差点間を結ぶ道路からなる道路網における交通流をイベントスキャニング方式によりシミュレーションする交通流シミュレーション装置であって、
交差点間を結ぶ道路毎に、その道路についての、長さ、規制速度、車線数、単位時間当り流出可能な車両の台数、および、車両密度と車両速度の関係を示すＫＶ曲線の種類を対応付けた道路網データを記憶する道路網データ記憶部と、
道路網に対して、車両群を出発、到着およびその間の移動についての事象が起こる生起時刻順に管理する事象管理部と、
上記生起時刻が現在のシミュレーション時刻に対して最も近い未来である車両群を上記事象管理部から抽出し、上記シミュレーション時刻をこの生起時刻に更新するとともに、該抽出した車両群についての事象を処理し、さらに該事象を処理した車両群について、上記道路網データ記憶部が記憶する道路網データを用いて次の事象が起こる生起時刻を求め、ここで求めた生起時刻で該車両群を上記事象管理部に管理させる事象処理を繰り返し実行する事象処理部と、を備え、
上記事象処理部は、処理対象の車両群について、交差点を通過させ、移動元の道路から該交差点に接続されている移動先の道路に移動させる場合、該移動先の道路への車両群の移動が可能であるかどうかを判定し、移動可であれば該車両群を該移動先の道路に移動させ、反対に移動不可であれば該車両群を、移動元の道路の最下流に仮想的に設けた流出区間に停止させるとともに、この流出区間に停止させた車両群については、当該流出区間に存在している前方の車両の台数も用いて次の事象が起こる生起時刻を求める。
【００１１】
この構成では、事象管理部により道路網に対して出発、到着およびその間の移動についての事象が起こる生起時刻順に車両群が管理される。ここで言う、車両群とは、１台の車両であってもよいし、複数台の車両の集合であってもよい。
【００１２】
事象処理部は、生起時刻が現在のシミュレーション時刻に対して最も近い未来である車両群を上記事象管理部から抽出し、シミュレーション時刻を抽出した処理対象の車両群の生起時刻に更新する。また、抽出した処理対象の車両群について事象を処理する。事象処理は、車両群の出発地、目的地に関する交通需要情報や、道路網に関する道路網データに基づいて該車両群を道路網上で移動させる処理である。道路網データ記憶部が、交差点間を結ぶ道路毎に、その道路についての、長さ、規制速度、車線数、単位時間当り流出可能な車両の台数、および、車両密度と車両速度の関係を示すＫＶ曲線の種類を対応付けた道路網データを記憶する。また、交差点毎に、設置されている信号機によって生じる平均待ち時間等にかかるデータも、この道路網データとして道路網データ記憶部に記憶させてもよい。そして、事象処理部は、事象を処理した車両群について、道路網データを用いて次の事象が起こる生起時刻を求め、ここで求めた生起時刻で該車両群を上記事象管理部に管理させる。
【００１３】
また、事象処理部は、処理対象の車両群が交差点を通過し、該交差点に接続されている別の道路（移動先の道路）に移動する場合、この別の道路への該車両群の移動が可能であるかどうかを判定し、移動可能でなければ該別の道路に移動させずに、移動元の道路の最下流に仮想的に設けた流出区間に停止させる。さらに、事象処理部は、この流出区間に停止させた車両群については、当該流出区間に存在している前方の車両の台数も用いて次の事象が起こる生起時刻を求める。
この処理により、交差点に接続されている道路毎に、その道路に存在する車両台数を制限することができ、渋滞の延伸現象を再現した交通流シミュレーションが行える。したがって、現実に即したシミュレーション結果を得ることができる。また、事象処理を行った車両群に対して、次の事象が起こる生起時刻を適正に求めることができ、イベントスキャニング方式による交通流シミュレーションにおいて、処理対象の車両群に移動が生じない事象処理が無駄に行われるのを抑えられ、交通流シミュレーションにかかる時間の短縮が図れる。
また、事象処理部は、上記道路網データ記憶部が記憶する道路網データから得られる、単位時間当り流出可能な車両の台数である流出容量、および受入可能な車両の台数である受入可能台数を用いて、処理対象の車両群が移動先の道路への移動が可能であるかどうかを判定してもよい。
【００１４】
この処理により、交差点に接続されている道路毎に、その道路に存在する車両台数を制限することができ、渋滞の延伸現象を再現した交通流シミュレーションが行える。したがって、現実に即したシミュレーション結果を得ることができる。
【００１５】
（２）上記事象処理部は、上記道路網データ記憶部が記憶する道路網データから得られる、単位時間当り流出可能な車両の台数である流出容量、および受入可能な車両の台数である受入可能台数を用いて、処理対象の車両群が移動先の道路への移動が可能であるかどうかを判定する。
【００１６】
実際の道路網で考えると、別の道路に移動できなかった他の車両群が交差点の手前に停止している場合、処理対象の車両群はこの他の車両群が別の道路に移動するまで前方が詰まっているので別の道路に移動できない。この構成では、このような場合に、処理対象の車両群を、別の道路への移動が不可であると判定し、交差点の手前に停止させる。したがって、渋滞の延伸現象を再現し、現実に即したシミュレーション結果を得ることができる。
【００１７】
（３）上記事象処理部は、移動元の道路の最下流に仮想的に設けた上記流出区間に停止させられている他の車両群があれば、処理対象の車両群について移動先の道路への移動が不可であると判定する。
【００１８】
実際の道路網で考えると、別の道路に処理対象の車両群が存在できるスペースがない場合、処理対象の車両群は、該別の道路に存在できるスペースができるまで、前方が詰まっているので、該別の道路に移動できない。この構成では、このような場合に、処理対象の車両群を、別の道路への移動が不可であると判定し、交差点の手前に停止させる。したがって、渋滞の延伸現象を再現し、現実に即したシミュレーション結果を得ることができる。
【００１９】
（４）上記事象処理部は、処理対象の車両群より先に交差点を通過して移動先の道路に移動する車両台数が予め決められている車両台数を超える場合に、処理対象の車両群について該移動先の道路への移動が不可であると判定する。
【００２０】
この構成では、交差点を通過して別の道路に移動する車両台数について、信号機等による制限を加えたシミュレーションが行え、現実に即したシミュレーション結果を得ることができる。
【００２１】
【発明の実施の形態】
以下、この発明の実施形態である交通流シミュレーション装置について説明する。
【００２２】
図１は、この発明の実施形態である交通流シミュレーション装置の機能構成を示すブロック図である。この実施形態の交通流シミュレーション装置のハード構成は、ワークステーション、デスクトップ型のパーソナルコンピュータや、携帯型のノートパソコンである。
【００２３】
交通流シミュレーション装置１には、交通需要データ１１、信号制御データ１２、道路網データ１３が入力され、これらの入力データに基づく交通流シミュレーションの結果として交通状況データ１６、車両群結果データ１７が出力される。交通需要データ１１は、車両群毎に車両群を識別する車両群ＩＤに出発地、目的地、出発時刻、車種、車両台数を対応付けたデータである（図２参照）。出発地、および目的地はその住所であり、後述するノードＩＤなどで示される。出発時刻は、該車両群の出発時刻を示す時：分−秒である。車種は、大型車、普通車、小型車等、車両の種類である。車両台数は、車両群を構成する車両の台数である。この交通需要データは、幹線道路等で行った交通量調査で得た調査結果などに基づいて推定したデータである。また、交通需要データとして交通管制センタなどが保有するＯＤデータが利用できればより好ましい。
【００２４】
信号制御データ１２は、制御時刻毎（この例では５分毎）に、各信号機について信号機を識別する信号機ＩＤ、該信号機が通行を規制する道路を示すリンクＩＤ、該信号機による車両の平均待ち時間、青比率を対応付けたデータである。多くの信号機は、深夜、昼間、早朝等、交通量の変化に応じて青比率等を変化させている。このため、現実に即したシミュレーションが行えるように、各信号機について制御時刻毎に上記データを設けている。この信号制御データとして、交通管制センタで管理されている実際の信号機の制御データが利用できれば、最も好ましいシミュレーション環境が構築できる。
【００２５】
道路網データ１３は、現実の道路網を表現するためのデータである。現実の道路網は、例えば図４（Ａ）に示すように、各交差点に接続された複数の道路から構成される。この実施形態の交通流シミュレーション装置１は、実際の道路網における交差点をノード、各交差点に接続されている道路をリンクと定義し、シミュレーションする道路網を構築する（図４（Ｂ）参照）。各ノードには対応する交差点を識別するためのノードＩＤが付けられており、各リンクには対応する道路を識別するリンクＩＤが付けられている。
【００２６】
なお、図中に矢示する方向は、車両の通行方向である。また、各交差点には接続されている道路ごとに通行を制限する信号機が配置されている。図４に示す例では、各交差点に４つの信号機が配置されている。
【００２７】
また、この実施形態の交通流シミュレーション装置１は、各リンクを図５に示すように複数の道路区間に分割している。後述するシミュレーションでは、車両群をこの道路区間単位で移動させる。具体的には、上流側の道路区間から該道路区間に接続されている下流側の道路区間に順々に移動させる。このようにした理由は、リンクで示される道路が比較的長いため車両群の走行を表現するのに適していないからであり、この道路区間単位で車両群の走行を表現することにより、現実に即した車両群の走行を表現できるからである。道路区間の長さは、数百ｍであり、リンクの長さは数百ｍ〜数ｋｍである。さらに、道路区間の最前部に流出区間を設けている。この流出区間は、仮想的に設けた区間であり、交差点を通過して別の道路に流入できない車両群を交差点の手前に停止させるための区間として利用する。流出区間は、上記のように仮想的に設けた区間であるため、その長さは０である。
【００２８】
道路網データ１３は、道路（リンク）を識別するリンクＩＤに、上流側の交差点（ノード）を識別する上流ノードＩＤ、下流側交差点（ノード）を識別する下流ノードＩＤ、道路の長さ、該道路の規制速度、該道路の車線数、単位時間当りにリンクの断面を通過して該リンクから流出可能な車両の台数を示す断面容量、道路における車両密度と車両速度の関係を示すＫＶ曲線の種類、該道路を分割した道路区間数を対応付けたデータである（図６参照）。交通流シミュレーション装置１は、この道路網データ１３に基づいて、シミュレーションする道路網を構築する。
【００２９】
なお、上記断面容量は青比率が１００％である場合の車両の台数である。
【００３０】
次に、この実施形態の交通流シミュレーション装置の機能構成について説明する。シミュレーションする道路網に対して、出発、到着、その間（出発地から目的地まで）の移動についての事象が起こる生起時刻順に車両群を管理する事象管理部２と、事象を処理する事象処理部３と、交通需要データ１１に基づいて車両群毎に出発地から目的地までの経路を算出する経路算出部４と、事象処理部３における事象処理結果に基づいて交通状況データを作成する交通状況データ作成部５と、事象処理部３における事象処理結果に基づいて車両群結果データを作成する車両群結果データ作成部６と、を備えている。
【００３１】
交通状況データ作成部５で作成された交通状況データ、および車両群結果データ作成部６で作成された車両群結果データは、交通状況データ記憶部１６および車両群結果データ記憶部１７に記憶される。交通状況データおよび車両群結果データの詳細については後述する。
【００３２】
なお、交通状況データ記憶部１６および車両群結果データ記憶部１７はハードディスク等の記録媒体により構成される。また、上記交通需要データ１１、信号制御データ１２、および道路網データ１３もハードディスク等の記録媒体に記録されているデータである。
【００３３】
以下、この実施形態の交通流シミュレーション装置１の動作について説明する。図７は、この実施形態の交通流シミュレーション装置の動作を示すフローチャートである。交通流シミュレーション装置１は、交通需要データ１１、信号制御データ１２、および道路網データ１３を読み込み、シミュレーション環境を構築する（ｓ１）。このとき、交通流シミュレーション装置１には、図示していない入力部において、シミュレーションを開始するシミュレーション開始時刻やその他必要なデータの入力も行われる。
【００３４】
ｓ１では、交通需要データ１１に基づいて出発時刻順に車両群ＩＤを並べた事象データを作成する（図８参照）。このとき、入力されたシミュレーション開始時刻に対して出発時刻が同じ、もしくは最も近い未来の車両群ＩＤを先頭にする。ｓ１で作成される事象データは、図８に示すように生起時刻、車両群ＩＤ、事象種別を対応付けたデータである。事象管理部２は、この事象データを生起時刻順に並べて管理する。生起時刻とは、車両群について出発、到着、および移動のいずれかの事象が起こる時刻である。ここで作成された事象データは事象管理部２に登録される。事象管理部２は、ＲＡＭ等のメモリで構成される。
【００３５】
また、ｓ１では道路網データ１３に基づいてシミュレーションする対象の道路網を構築し、信号制御データ１２を、ここで構築した道路網を構成するリンクに関係付ける。
【００３６】
交通流シミュレーション装置は、上記ｓ１でシミュレーション環境を構築すると、シミュレーション要素を更新する（ｓ２）。具体的には、図９（Ａ）、（Ｂ）に示す判定関連データ、および交通状況関連データを作成する。判定関連データは、図９（Ａ）に示すように道路を識別するリンクＩＤに、該道路から単位時間（例えば１時間）あたりに流出可能な車両の台数を示す流出容量、該道路に受入可能な車両の台数を示す受入可能台数を対応付けたデータである。受入可能台数は、道路長さと車線数とにより算出される値である。受入可能台数は、
受入可能台数＝道路長さ／（平均車長＋車両間隔）×車線数
で表される。
【００３７】
また、流出容量は、リンクにおける断面容量と青比率とにより算出される。流出容量は、
流出容量＝断面容量×青比率
で表される。
【００３８】
また、これら流出容量、受入可能台数は、通行止めや車線規制の時間帯に合わせて変更される。
【００３９】
交通状況関連データは、図９（Ｂ）に示すように、道路を識別するリンクＩＤに、該道路における車両密度（台／ｋｍ）、該道路を走行する車両の平均速度である車両速度、該道路に存在する渋滞列の車両を並べた長さを車線数で除した値である渋滞長、該道路の流出区間に存在する車両台数を示す渋滞列、該道路を通行するのに要する平均時間を示すリンク旅行時間、および車種別の存在台数を対応付けたデータである。
【００４０】
渋滞長は、リンクの流出区間に存在する渋滞列から算出する。また、渋滞列はリンクの流出区間に存在する車種別の台数から普通車の台数に換算して算出する。具体的には、大型車の平均車長Ａ、普通車の平均車長Ｂ、小型車の平均車長Ｃが予め設定されている。渋滞長は、
渋滞長＝渋滞列×（普通車の平均車長Ｂ＋車両間隔）／車線数
であり、渋滞列は、
0004074084.tif 000002
で表される。また、車両密度（台／ｋｍ）は、
車両密度＝普通車の台数に換算したリンク中の存在台数／道路長さ
である。さらに、車両速度は
車両速度＝リンク長さ／リンク旅行時間
である。
【００４１】
リンク旅行時間は、車両がリンクを通過するのに要する時間であり、リンクを走行する時間として算出する。但し、該リンクに渋滞が存在する場合には、リンクを走行する時間と渋滞を通過するための時間との和がリンク旅行時間となる。具体的には、リンク旅行時間は該リンクを構成する各道路区間に対して後述する道路区間データから算出する各々の道路区間の走行時間の総和として算出する。渋滞を通過する時間はリンクに属する流出区間の渋滞列を流出容量で除して算出する。
リンク旅行時間＝（該リンクを構成する各道路区間の走行時間の総和）＋（該リンクに属する流出区間の渋滞列）／流出容量
で表される。
【００４２】
上記判定関連データ、および上記交通状況関連データは、シミュレーションの実行にともなう道路上の車両台数の変化、制御時刻の経過による信号制御データ１２の更新等に応じて更新される。
【００４３】
交通流シミュレーション装置１はｓ２でシミュレーション要素の更新を完了すると、事象管理部２を検索し、現在のシミュレーション時刻に対して生起時刻が最も近い未来の時刻である事象データを抽出する（ｓ３）。交通流シミュレーション装置１はｓ３で抽出された事象データの有無を判定し（ｓ４）、抽出された事象データが無ければ本処理を終了する。
【００４４】
事象処理部３は、ｓ３で抽出された事象データに基づいて、シミュレーション時刻を更新する（ｓ５）。ｓ５は、現在のシミュレーション時刻をｓ３で抽出した事象データの生起時刻に更新する処理である。事象処理部３は、シミュレーション時刻を更新すると、ｓ３で抽出した事象データを処理する事象処理を行い（ｓ６）、ｓ２に戻って上記処理を繰り返す。
【００４５】
なお、ｓ２では必要に応じて経路算出部４が指定された車両群の出発地または現在地と目的地とを結ぶ経路を算出する処理も行われる。
【００４６】
ｓ６にかかる事象処理について詳細に説明する。図１１は事象処理を示すフローチャートである。
【００４７】
事象処理部３は、ｓ３で抽出した事象データの事象種別が出発、到着、移動のいずれであるかを判断する（ｓ１１、ｓ１２）。出発であれば、処理対象の車両群に対して出発処理を実行する（ｓ１３）。ｓ１３にかかる出発処理は、処理対象の車両群の出発地に対応する道路区間に該車両群を存在させる処理である。ここで車両群を存在させた道路区間を含むリンクは道路上に存在する車両台数が増加したことになる。したがって、該道路区間データと、該リンクに対応する上記判定関連データおよび上記交通状況関連データに変化が生じる。この変化に対する判定関連データおよび交通状況関連データの更新は、この事象処理が完了し、上記ｓ２に戻ったときに実行される。
【００４８】
また、ｓ１３では、車両群を存在させた道路区間における該車両群の車両速度を該道路区間の車両密度を用いて算出し、さらに、ここで算出した車両速度を用いて該車両群について次に事象が起こる生起時刻を算出する。一般に車両密度が増大するにつれて、車両速度が低下する。車両密度と車両速度とは、図１０に示す速度−密度曲線（所謂ＫＶ曲線）による関係があると言われている。この実施形態では、この関係を利用しており、車両速度は
車両速度＝Ｖ0−ａ×（車両密度）b
で表される。
【００４９】
なお、Ｖ0は道路の制限速度であり、ａ、ｂは交通量調査等の調査結果に基づいて決定された値である。
【００５０】
但し、車両速度は、車両密度が図１０に示す最低速度となる値を超えても、この最低速度である。車両速度が、この最低速度未満になることはない。
【００５１】
この車両群について次の事象が起こる生起時刻は、
生起時刻＝現在時刻＋存在させた道路区間の長さ／車両速度
により算出される。
【００５２】
また、事象処理部３はｓ３で抽出した事象データの事象種別が到着であれば、処理対象の車両群について到着処理を行う（ｓ１４）。ｓ１４にかかる到着処理は、処理対象の車両群が存在している道路区間上から該車両群を抹消する処理である。この到着処理において、車両群を抹消させた道路区間を含むリンクでは道路上に存在する車両台数が減少したことになる。したがって、該道路区間データと、該リンクに対応する上記判定関連データおよび上記交通状況関連データに変化が生じる。この変化に対する判定関連データおよび交通状況関連データの更新は、本事象処理が完了し、上記ｓ２に戻ったときに行われる。
【００５３】
事象処理部３は、ｓ３で抽出した事象データの事象種別が移動であれば、処理対象の車両群を同じリンクに含まれる道路区間への移動であるか、交差点（ノード）を通過して別のリンクに含まれる道路区間への移動であるかを判定する（ｓ１５）。具体的には、処理対象の車両群がリンクの最下流の道路区間、または流出区間に存在しているかどうかにより判定する。
【００５４】
事象処理部３は、処理対象の車両群が存在している道路区間がリンクの最下流の道路区間および流出区間でない場合（同じリンク内での移動である場合）、処理対象の車両群を１つ下流の道路区間に移動させる移動処理を実行する（ｓ１６）。
【００５５】
また、ｓ１６では、車両群を移動させた道路区間における該車両群の車両速度を該道路区間の車両密度を用いて算出し、さらに、ここで算出した車両速度を用いて該車両群について次に事象が起こる生起時刻を算出する。ここでも、上記図１０に示す速度−密度曲線（所謂ＫＶ曲線）から車両速度を算出する。また、この車両群について次の事象が起こる生起時刻は、上記ｓ１３と同様に、
生起時刻＝現在時刻＋移動させた道路区間の長さ／車両速度
により算出される。
【００５６】
事象処理部３は、ｓ１５で処理対象の車両群が交差点（ノード）を通過して別のリンクに含まれる道路区間への移動であると判定すると、処理対象の車両群がリンクの最下流の道路区間に存在しているのか、または流出区間に存在しているのかを判定する（ｓ１７）。
【００５７】
事象処理部３は、ｓ１７で処理対象の車両群がリンクの最下流の道路区間に存在していると判定すると、現在のリンクに設けられている流出区間に車両群が存在しているかどうかを判定する（ｓ１８）。流出区間に存在している車両群は、交差点を通過して流入する別のリンクの車両密度が高く（流入する別の道路の渋滞により、）、該別の道路に流入できなかった車両群、または流出容量の制限ににより交差点を通過して該別の道路に流入できなかった車両群等である。
【００５８】
事象処理部３は、ｓ１８で流出区間に車両群が存在していないと判定した場合、およびｓ１７で処理対象の車両群が流出区間に存在していると判定した場合、処理対象の車両群の移動先であるリンク側が処理対象の車両群を受入可能であるかどうかを判定する（ｓ１９）。ｓ１９では、処理対象の車両群を移動先であるリンク側に移動させたとき、該リンクに存在している車両台数が該リンクの受入可能台数を超えるかどうかにより、受入可能であるかどうかを判定する。
【００５９】
なお、ｓ１７で処理対象の車両群がリンクの流出区間に存在していると判定した場合、ｓ１８の処理をジャンプしてｓ１９に進む。また、処理対象の車両群を流入させる別のリンクは、ｓ２で該車両群について算出した移動経路に基づいて選択される。
【００６０】
事象処理部３は、ｓ１９で受入可と判定すると、処理対象の車両群が現在存在しているリンクから流出できるかどうかを判定する（ｓ２０）。ｓ２０における判定は、処理対象の車両群を該リンクから流出させた場合、現在時刻（処理対象の車両群を該リンクから流出させた時刻）から所定時間（信号周期）前の間に、該リンクから流出した単位時間当りの車両台数が流出容量を超えるかどうかにより流出可否を判定する。該リンクから流出した単位時間当りの車両台数が流出容量を超える場合、流出不可と判定する。
【００６１】
事象処理部３は、ｓ２０で流出可と判定すると、処理対象の車両群をこの別のリンクの最上流の道路区間に移動させる移動処理を行う（ｓ２１）。このｓ２１にかかる移動処理において、車両群を流出したリンクでは道路上に存在する車両台数が減少し、該車両群が流入したリンクでは車両台数が増加したことになる。したがって、これら２つのリンクに対応する上記判定関連データおよび上記交通状況関連データに変化が生じる。この変化に対する判定関連データおよび交通状況関連データの更新は、本事象処理が完了し、上記ｓ２に戻ったときに行われる。
【００６２】
また、ｓ２１では車両群を移動させた道路区間における該車両群の車両速度を該道路区間の車両密度を用いて算出し、さらに、ここで算出した車両速度を用いて該車両群について次に事象が起こる生起時刻を算出する。ここでも、上記図１０に示す速度−密度曲線（所謂ＫＶ曲線）から車両速度を算出する。また、この車両群について次の事象が起こる生起時刻は、上記ｓ１３と略同様であるが、
生起時刻＝現在時刻＋移動させた道路区間の長さ／車両速度＋信号の平均待ち時間
により算出される。このように、リンク間を移動した車両群については、信号の平均待ち時間を用いて、次の事象が起こる生起時刻を算出する。
【００６３】
事象処理部３は、ｓ１８で流出区間に車両群が存在していると判定した場合、この流出区間に存在している車両群の後ろに処理対象の車両群を存在させる交差点渋滞処理Ａを行う（ｓ２２）。また、ｓ１９で別のリンクへの流入不可であると判定した場合、処理対象の車両群を流出区間に存在させる交差点渋滞処理Ｂを行う（ｓ２３）。さらに、ｓ２０で流出不可であると判定した場合、処理対象の車両群を流出区間に存在させる交差点渋滞処理Ｃを行う（ｓ２４）。現実には、単位時間内にリンクから流出できる車両台数、すなわち交差点を通過して別の道路に流入できる車両台数、が該交差点に設置されている信号により制限されるので、交差点渋滞処理Ｃにより処理対象の車両群の中で信号により交差点の手前に停止される車両を再現できる。
【００６４】
ｓ２２にかかる交差点渋滞処理Ａは、他の車両群がリンクの出口に詰まっているため、処理対象の車両群を別のリンクに移動させずに交差点の手前に停止させる処理である。また、ｓ２３にかかる交差点渋滞処理Ｂは、他の車両群がリンクの出口に詰まっていないが、処理対象の車両群が移動する別のリンクに該車両群が存在できるスペースがないため、処理対象の車両群を別のリンクに移動させずに交差点の手前に停止させる処理である。さらに、交差点渋滞処理Ｃは、上記のように単位時間内にリンクから流出できる車両台数が信号により制限されることを考慮して、処理対象の車両群を交差点の手前に停止させる処理である。
【００６５】
さらに、ｓ２２では処理対象の車両群に対して次の事象が起こる生起時刻を以下の式から算出し、
生起時刻＝現在のシミュレーション時刻＋流出区間に存在している前方の車両の台数／流出容量
ｓ２３では処理対象の車両群に対して次の事象が起こる生起時刻を以下の式から算出する。
【００６６】
生起時刻＝現在のシミュレーション時刻＋一定時間
この一定時間は、信号周期を用いればよい。信号周期は、青比率と平均待ち時間とから以下のようにして算出される。
【００６７】
信号周期＝２×平均待ち時間／（１００−青比率）×１００
ｓ２４では、処理対象の車両群に対して次の事象が起こる生起時刻を
生起時刻＝次の信号周期開始時刻
＋（流出区間に存在している前方の車両の台数／流出容量）
で算出する。
【００６８】
また、事象処理部３はｓ１３、ｓ１６、またはｓ２１で出発処理または移動処理を行った場合、処理対象の車両群を存在または移動させた道路区間が該車両群の目的地であるかどうかを判定する。事象処理部３は、この判定で目的地であると判定すると、この車両群について現在のシミュレーション時刻を生起時刻とし、事象種別を到着とした事象データを作成する。
【００６９】
以上のように各処理に対応して算出した生起時刻で、事象種別が移動、または到着である事象データを作成し、事象管理部２が管理している他の車両群の事象データに対して、生起時刻が時刻順になるようにソートする事象データの登録を行う（ｓ２５）。
【００７０】
また、上記ｓ１４で到着処理が行われた車両群については、ｓ２５にかかる事象データの登録が行われない。したがって、到着処理が行われた車両群については、これ以降事象管理部２で管理される事象データが無くなる。
【００７１】
交通状況データ作成部５は、事象処理部３における事象処理結果に基づいて、所定時間毎、例えば５分毎、に図１２に示す交通状況関連データを作成する。交通状況データは、リンク毎に平均密度、車種別の通過台数、平均速度、平均リンク旅行時間、渋滞長、および車種別の存在台数を対応付けたデータであり、情報作成時刻が付けられている。
【００７２】
また、車両群結果データ作成部６は、車両群毎に図１３に示す車両結果データを作成する。車両群結果データは、車両群ＩＤ、車種、出発地、目的地、出発時刻、到着時刻を対応付けたデータである。
【００７３】
このように、この実施形態の交通流シミュレーション装置１は、各リンクの最下流の道路区間の前方に流出区間を設け、交差点を通過して別の道路に車両群を移動させるときに、該別の道路への車両群の移動が可能であるかどうかを判定する。この判定結果が移動不可であった場合、流出区間に車両群を存在させることにより、各道路を流出できる車両台数や、各道路に存在できる車両台数を制限したので、渋滞が上流に延伸する現象を再現したシミュレーションが行える。したがって、現実に即したシミュレーション結果を得ることができる。
【００７４】
【発明の効果】
以上のように、この発明によれば、イベントスキャニング方式により、渋滞の延伸現象を再現できる交通流シミュレーションが行えるので、現実に即したシミュレーション結果を得ることができるとともに、交通流シミュレーションにかかる時間も抑えられる。
【図面の簡単な説明】
【図１】この発明の実施形態である交通流シミュレーション装置の機能構成を示す図である。
【図２】交通需要データを示す図である。
【図３】信号制御データを示す図である。
【図４】シミュレーションに用いる道路網の概念を説明する図である。
【図５】リンクの分割方法を説明する図である。
【図６】道路網データを示す図である。
【図７】この発明の実施形態である交通流シミュレーション装置の動作を示すフローチャートである。
【図８】事象データを説明する図である。
【図９】判定関連データおよび交通状況関連データを説明する図である。
【図１０】車両密度と車両速度との関係を説明する図である。
【図１１】事象処理を示すフローチャートである。
【図１２】シミュレーション結果から得られる交通状況データを示す図である。
【図１３】シミュレーション結果から得られる車両群結果データを示す図である。
【符号の説明】
１−交通流シミュレーション装置
２−事象管理部
３−事象処理部
【図１】
0004074084.tif 000003
【図２】
0004074084.tif 000004
【図３】
0004074084.tif 000005
【図４】
0004074084.tif 000006
【図５】
0004074084.tif 000007
【図６】
0004074084.tif 000008
【図７】
0004074084.tif 000009
【図８】
0004074084.tif 000010
【図９】
0004074084.tif 000011
【図１０】
0004074084.tif 000012
【図１１】
0004074084.tif 000013
【図１２】
0004074084.tif 000014
【図１３】
0004074084.tif 000015