(57)【要約】【課題】交通流シミュレーションにおいて、必要な精度を確保しつつ、処理効率を向上させる。【解決手段】道路上を移動する移動体の各時刻における位置を管理し、所定タイムステップ後の各移動体の位置を算出する処理を繰り返すことによって、移動体の動きをシミュレーションする交通流シミュレーション方法であって、シミュレーション対象となる領域が複数の領域に分割されており、領域ごとに前記タイムステップの値が異ならせる。ここで、タイムステップ後に移動体がタイムステップの異なる領域に進入する場合には、進入した領域のタイムステップに合致する時刻およびその時の位置を算出して、シミュレーションを続けることが好適である。【選択図】図３
2009093425.tif 000002
【特許請求の範囲】
【請求項１】
道路上を移動する移動体の各時刻における位置を管理し、所定タイムステップ後の各移動体の位置を算出する処理を繰り返すことによって、移動体の動きをシミュレーションする交通流シミュレーション方法であって、
シミュレーション対象となる領域が複数の領域に分割されており、
領域ごとに前記タイムステップの値が異なる、
ことを特徴とする交通流シミュレーション方法。
【請求項２】
請求項１に記載の交通流シミュレーション方法であって、
ある領域に位置する移動体について該領域に対応するタイムステップ後の位置を算出したときに、該移動体が元々位置していた領域よりもタイムステップが短い領域に進入する場合には、
該移動体がタイムステップが短い領域に進入した時刻であって該短いタイムステップに合致する時刻と、その時の位置とを求め、該時刻以降は進入した領域のタイムステップごとに次の位置を算出する、
ことを特徴とする交通流シミュレーション方法。
【請求項３】
請求項１又は２に記載の交通流シミュレーション方法であって、
ある領域に位置する移動体について該領域に対応するタイムステップ後の位置を算出したときに、該移動体が元々位置していた領域よりもタイムステップが長い領域に進入する場合には、
該移動体がタイムステップが長い領域に進入した時刻であって該長いタイムステップに合致する時刻と、その時の位置とを求め、該時刻以降は進入した領域のタイムステップごとに次の位置を算出する、
ことを特徴とする交通流シミュレーション方法。
【請求項４】
道路上を移動する移動体の各時刻における位置を管理する位置管理手段と、
所定タイムステップ後の各移動体の位置を算出する運動模擬手段と、
を備え、前記運動模擬手段が各移動体の位置の算出を繰り返すことで、移動体の動きをシミュレーションする交通流シミュレーション装置であって、
シミュレーション対象となる領域が複数の領域に分割され、各領域に対応するタイムステップの値は異なっており、
前記運動模擬手段は、各移動体について、移動体が位置する領域に応じたタイムステップ後の位置を算出する、
ことを特徴とする交通流シミュレーション装置。
【請求項５】
請求項４に記載の交通流シミュレーション装置であって、
ある領域に位置する移動体について該領域に対応するタイムステップ後の位置を算出したときに、該移動体が元々位置していた領域よりもタイムステップが短い領域に進入する場合には、
前記運動模擬手段は、該移動体がタイムステップが短い領域に進入した時刻であって該短いタイムステップに合致する時刻と、その時の位置とを求め、該時刻以降は進入した領域のタイムステップごとに次の位置を算出する、
ことを特徴とする交通流シミュレーション装置。
【請求項６】
請求項４又は５に記載の交通流シミュレーション装置であって、
ある領域に位置する移動体について該領域に対応するタイムステップ後の位置を算出したときに、該移動体が元々位置していた領域よりもタイムステップが長い領域に進入する場合には、
前記運動模擬手段は、該移動体がタイムステップが長い領域に進入した時刻であって該長いタイムステップに合致する時刻と、その時の位置とを求め、該時刻以降は進入した領域のタイムステップごとに次の位置を算出する、
ことを特徴とする交通流シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、道路上を移動する移動体の動きをシミュレーションする技術に関する。
【背景技術】
【０００２】
従来、コンピュータ（情報処理装置）を用いて、車両の動きをシミュレーションする交通流シミュレーションの技術が研究されている。交通流のシミュレーション方法にはいくつかの方法があるが、一台一台の車両についてその運動を模擬し、微小タイムステップ後の位置等を計算していく方法がある。このように各車両の動きをそれぞれ模擬するシミュレーション方法は、分子動力学等の一般の粒子系シミュレーションと同様に、各時点での車両（粒子）の動きを規定する方程式にしたがって微小タイムステップ後の位置や状態を求めている。
【０００３】
このような車両一台ごとの動きを模擬する交通流シミュレーションにおいては、タイムステップを細かくすることで精度の良いシミュレーションを実行することができる。ただし、タイムステップの微小化は、計算量の増加をもたらし、多大の計算時間を要することとなる。
【特許文献１】特開２００４−２５８８８９号公報
【特許文献２】特開２００５−２９２９４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のような交通流シミュレーションを、事故の発生をシミュレートするために用いる場合がある。このような場合、事故発生箇所として着目したいエリア（例えば、交差点）などにおいては、できるだけ細かい（短い）タイムステップでシミュレーションを行い、ミクロな動作を再現する必要がある。一方で、着目エリアに進入してくる車両については、それほど細かいタイムステップでシミュレーションを行う必要はなく、どの道路へどの程度の量の車両が走行するかといったマクロな動きを再現できればよい。
【０００５】
上記のように、特定の領域での車両の動きに着目するためにシミュレーションを行う場合、この領域以外の車両についてもその動きをシミュレーションを行う必要がある。しかしながら、全ての車両に対して細かいタイムステップで動きをシミュレーションしていては、計算量が膨大になってしまうという問題がある。
【０００６】
本発明は上記実情に鑑みてなされたものであって、その目的とするところは、交通流シミュレーションにおいて、必要な精度を確保しつつ、処理効率を向上させることにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る交通流シミュレーション方法は、シミュレーション対象となる領域に応じて、異なるタイムステップ値を用いて移動体の動きをシミュレーションすることを特徴とする。
【０００８】
より具体的には、本発明に係る交通流シミュレーション方法は、道路上を移動する移動体の各時刻における位置を管理し、所定タイムステップ後の各移動体の位置を算出する処理を繰り返すことによって、移動体の動きをシミュレーションする交通流シミュレーション方法であって、シミュレーション対象となる領域が複数の領域に分割されており、領域ごとにタイムステップの値が異なることを特徴とする。
【０００９】
このように領域に応じてタイムステップの値を変え、動作を詳しく模擬する必要のある領域ではタイムステップの値を小さくし、大まかな動きを模擬すればよい領域ではタイムステップの値を大きくする。この方法によれば、詳しい動作を模擬する必要のある領域においてはタイムステップの値を小さくすることで細かな動作を模擬すると共に、その周囲の領域に関する大域的な状況も考慮して動作の模擬が可能であるため、精度良くシミュレーションを行うことが可能である。それと共に、着目する領域の周囲の領域については、タイムステップ値を大きく取って計算量を減らすことで、処理時間の短縮が可能となる。
【００１０】
上記のような方法でシミュレーションを行う場合、タイムステップが異なる領域での接合部で不整合が生じる可能性がある。そこで、本発明に係る交通流シミュレーション方法では、ある領域に位置する移動体についてその領域に対応するタイムステップ後の位置を算出したときに、該移動体が元々位置していた領域よりもタイムステップの短い領域に進入する場合には、次のような処理を行うことが好適である。すなわち、この移動体がタイムステップの短い領域に進入した時刻であって、この短いタイムステップに合致する時刻と、その時の位置を求める。ここで、「タイムステップに合致する時刻」というのは、シミュレーション上での経過時間が、タイムステップ値の整数倍である時刻を指す。
【００１１】
なお、このタイムステップに合致する時刻とその時の位置の求め方については、種々の方法が考えられる。例えば、タイムステップの短い領域に進入することが判明したら、元の位置から改めてその短いタイムステップで動作を模擬しても良い。また、元の位置と長いタイムステップ後の位置とから、補間によって短いタイムステップ刻みでの位置を求めていき、隣の領域に進入した時刻を求めても良い。
【００１２】
そして、タイムステップの短い領域に進入した時刻と位置が求まったら、それ以降については、この短いタイムステップ刻みで次の位置を求めていくことが好適である。
【００１３】
このようにすることで、移動体がタイムステップの長い領域からタイムステップの短い領域に進入する場合にも、不整合を生じることなくその動作をシミュレーションすることが可能となる。
【００１４】
また、本発明に係る交通流シミュレーション方法は、ある領域に位置する移動体についてその領域に対応するタイムステップ後の位置を算出したときに、該移動体が元々位置していた領域よりもタイムステップの短い領域に進入する場合には、次のような処理を行うことが好適である。すなわち、この移動体がタイムステップの長い領域に進入した時刻であって、この長いタイムステップに合致する時刻と、その時の位置を求める。
【００１５】
なお、この場合のタイムステップに合致する時刻とその時の位置の求め方についても、種々の方法が考えられる。例えば、短いタイムステップ刻みで、経過時刻が長いタイムステップと合致するまで動作の模擬を続行しても良い。あるいは、タイムステップの長い領域に進入した場合に、長いタイムステップに合致する時刻までの時間を求め、領域を移動したときの動作がその時間の間継続するものとして、次のタイムステップに合致する時刻における移動体の位置を求めても良い。
【００１６】
そして、タイムステップの長い領域に進入した場合に、長いタイムステップに合致する時刻とその時の位置が求まったら、それ以降については、この長いタイムステップ刻みで次の位置を求めていく。
【００１７】
このようにすることで、移動体がタイムステップの短い領域からタイムステップの長い領域に進入する場合にも、不整合を生じることなくその動作をシミュレーションすることが可能となる。
【００１８】
なお、本発明は、上記処理の少なくとも一部を含む交通流シミュレーション方法、または、かかる方法を実現するためのプログラムとして捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。また、本発明は、上記の交通流シミュレーション方法を実行する情報処理装置（交通流シミュレーション装置）として捉えることができる。
【発明の効果】
【００１９】
本発明によれば、必要な精度を確保しつつ処理効率を向上させた交通流シミュレーションが実現可能となる。
【発明を実施するための最良の形態】
【００２０】
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
【００２１】
本実施形態に係る交通流シミュレーション装置は、車両一台一台について、各時刻における位置を個別に算出して車両の交通をシミュレーションする。ここで、シミュレーションの対象となるエリアは、いくつかのエリアに分けられており、特に精度の高いシミュレーションが必要なエリアではタイムステップを細かく（短く）してシミュレーションを行い、その周辺のエリアではそれよりも粗い（長い）タイムステップでシミュレーションを行う。
【００２２】
本実施形態に係る交通流シミュレーション装置１は、ハードウェア構成としては通常のコンピュータ（情報処理装置）から構成され、ＣＰＵ（中央演算装置）、メモリ等の主記憶装置、ハードディスク装置等の補助記憶装置、キーボード等の入力装置およびディスプレイ等の表示装置を備える。
【００２３】
図１に、本実施形態に係る交通流シミュレーション装置１の機能ブロック図を示す。交通流シミュレーション装置１は、メモリに格納されたプログラムをＣＰＵが実行することで、条件入力部２、シミュレーション実行部３、結果記憶部４および結果表示部５として機能する。なお、これらのうち一部または全部の機能部が、専用のチップによって実現されても構わない。
【００２４】
交通流シミュレーション装置１は、条件入力部２に条件が入力されると、その設定条件に基づいてシミュレーション実行部３がシミュレーションする車両の移動速度、位置、移動方向等の車両の挙動を演算する。シミュレーション実行部３によって演算された各時刻における位置や速度等の車両の状態は、結果記憶部４に格納される。そして、結果記憶部４に格納された各時刻に基づいて、さらにシミュレーション実行部３が所定タイムステップ後の車両の状態を演算する。このように、所定タイムステップ後の位置や速度等の状態が繰り返し演算されて、車両の動きがシミュレーションされる。なお、結果記憶部４に格納されたシミュレーション結果は、結果表示部５によって表示装置などに表示される。
【００２５】
条件入力部２には、シミュレーションの対象となる道路の道路長、幅、車線数、登板度といった道路の形状に関する情報が入力される。また、条件入力部２には、シミュレーションの対象となる車両の台数、移動経路などの車両に関する情報が入力される。また、条件入力部２には、シミュレーションを行うタイムステップ（時間刻み）も入力される。
【００２６】
ここで、図２を参照して、シミュレーションの対象となる道路の各エリアにおけるタイムステップについて説明する。エリアＡ３はシミュレーションの対象となる道路の全体エリアである（図２（ａ））。本交通流シミュレーション装置１では、この全体エリアＡ３の中の１つの交差点での事故発生をシミュレーションすることを目的としている。した
がって、着目している交差点を着目エリアＡ１と定義する（図２（ｃ））。そして、その周辺の一部を、周辺エリアＡ２と定義する（図２（ｂ））。ここで、着目エリアＡ１では、１０ミリ秒刻みでシミュレーションを行う。周辺エリアＡ２では、１００ミリ秒刻みでシミュレーションを行う。そして、全体エリアＡ３では、１秒（１０００ミリ秒）刻みでシミュレーションを行う。このように、任意のエリアＡｊに対して、それぞれタイムステップΔｔｊが定められている。なお、上記の各タイムステップの値は例示であるが、Δｔｊ＋１がΔｔｊで割り切れるように定める。ここでは、タイムステップを３つ用意し、それに対応して３つのエリアを定義しているが、タイムステップおよびエリアの数は２以上の任意の数とすることができる。
【００２７】
次に、本交通流シミュレーション装置１が行う、シミュレーション処理の詳細について、図３、図４および表１の擬似プログラムコードを参照して説明する。図３はシミュレーション実行部３が行うシミュレーション処理全体の流れを示したフローチャートであり、図４は図３における位置更新処理（Ｓ１４）の詳細を示したフローチャートである。表１はこれらの処理を擬似的なプログラムコードで表したものである。
【００２８】
【表１】
2009093425.tif 000003
【００２９】
まず、図３を参照して全体の流れを説明する。シミュレーション実行部３は、初期処理として、全ての車両の初期状態Ｃｉを結果記憶部４に格納する（Ｓ２，コード１行目）。すなわち、シミュレーション開始時刻ＴＳにおける、車両の位置や移動方向、速度などといった車両状態Ｃｉを条件入力部２から受け取り記憶する。なお、図では車両状態Ｃｉとして、時刻と位置のみを示しており、その他の状態については記載を省略している。
【００３０】
シミュレーション実行部３は、初期化処理の後、最も細かいタイムステップ（Δｔ１）刻みで、各車両の状態（位置）を更新していく（Ｓ４、コード３〜４６行のループ）。各時刻（ｔ＝ｋ×Δｔ１）において、各車両（ｉ＝１〜Ｎ）について以下の処理を繰り返す（Ｓ６、コード５〜４５行のループ）。
【００３１】
まず、結果記憶部４に格納されている車両状態データＣｉの時刻Ｔｃｕｒが現在時刻ｔよりも後であるか判断する（Ｓ８、コード６行目）。車両状態データＣｉの時刻Ｔｃｕｒが現在時刻ｔよりも後である場合（Ｓ８−ＹＥＳ）には、その車両については処理を行わず次の車両の処理を行う（コード８行目）。一方、車両状態データＣｉの時刻Ｔｃｕｒが現在時刻ｔよりも後でない場合（Ｓ８−ＮＯ），すなわちＴｃｕｒがｔと等しい場合には、車両ｉが位置するエリアを取得する（Ｓ１０，コード１３行目）。車両ｉが位置するエリアをＡａとすると、そのエリアに対応するタイムステップΔｔａが得られる。そして、現在時刻ｔからΔｔａ後の車両ｉの位置を算出する（Ｓ１２，コード１４行目）。なお、車両の動きを模擬して微小時間後の位置を算出する方法は、交通流シミュレーションにおいて公知の手法を採用すればよい。そして、算出された時刻ｔ＋Δｔａにおける位置に基づいて、車両ｉの位置Ｃｉの更新を行う（Ｓ１４、コード１６〜４３行目）。この位置更新処理の詳細については後述するが、Δｔａ後に異なるエリアに進入するか否かによって異なる処理を行っている。
【００３２】
時刻ｔにおいて全ての車両について処理をしたか判断し（Ｓ１６）、未処理の車両があればステップＳ６へ戻る。一方、全ての車両について処理が終了していればステップＳ４へ戻り、Δｔ１後の時刻について、上記の処理を繰り返す。このように、Δｔ１刻みでシミュレーションを実行し、終了時刻ＴＥに到達したら処理を終了する。
【００３３】
ステップＳ１４の位置更新処理の詳細について説明する前に、ここまでの処理の具体例を図５を参照して説明する。なお、図５ではエリアをまたがる移動については考えない。図５（ａ）はｔ＝１００ミリ秒における車両の位置を表している。ここでは、エリアとして２つのエリアＡ１とＡ２があるものとする。エリアＡ１のタイムステップΔｔ１は１０ミリ秒であり、エリアＡ２のタイムステップΔｔ２は１００ミリ秒とする。また、２台の車両Ｘ，Ｙがそれぞれ、エリアＡ２，Ａ１に位置している。図中において、白丸は現在時刻（ｔ＝１００）での車両の位置を表している。
【００３４】
まず、ｔ＝１００について、ステップＳ６〜Ｓ１６の処理を行う。
【００３５】
時刻ｔ＝１００において、車両Ｘの最新データの時刻はｔ＝１００であるので、ステップＳ８では否定判定され、次のタイムステップにおける位置が算出される。車両ＸはエリアＡ２に位置しているので、タイムステップΔｔ２（＝１００ミリ秒後）すなわちｔ＝２００ミリ秒における位置が算出される。算出された位置は黒丸で示されている。
【００３６】
また、時刻ｔ＝１００において、車両Ｙの最新データの時刻はｔ＝１００であるので、ステップＳ８では否定判定され、車両Ｙについても同様に次のタイムステップにおける位置が算出される。車両ＹはエリアＡ１に位置しているので、タイムステップΔｔ１（＝１０ミリ秒後）すなわちｔ＝１１０における位置が算出される。
【００３７】
このようにして、ｔ＝１００秒における処理は終了する。次に、Δｔ１後すなわち、ｔ＝１１０においてステップＳ６〜Ｓ１６の処理を行う。ｔ＝１１０における各車両の位置関係は図５（ｂ）に示している。
【００３８】
ｔ＝１１０において、車両Ｘの最新データの時刻はｔ＝２００であるので、ステップＳ８では肯定判定されて、車両Ｘについては次の時刻における位置の算出は行われない。それに対して、車両Ｙの最新データの時刻はｔ＝１１０であるため、ステップＳ８では否定判定され、次のタイムステップｔ＝１２０における位置が算出される。
【００３９】
同様に、ｔ＝１２０〜１９０においては、車両Ｙのみが次のタイムステップにおける位置が算出・更新される。そして、車両Ｘの最新データの時刻と等しくなるｔ＝２００（図５（ｃ））では、車両Ｘ，Ｙの双方について次のタイムステップにおける位置が算出される。
【００４０】
なお、各時刻において、ある車両のタイムステップ後の位置は、その時刻における周囲の車両の状態（位置や走行方向、速度など）に基づいて求められる。ここで、例えば、ｔ＝１１０などのように、エリアＡ１内の車両（Ｙ）についてはその時刻における状態情報があるものの、それよりもタイムステップの粗いエリアＡ２内の車両（Ｘ）についてはその時刻における状態情報が存在しない。このような場合に、エリアＡ１内の車両について、タイムステップ後の位置を算出する方法としては、以下のような方法が考えられる。
【００４１】
第１の方法は、あるエリア内の車両について次時刻の位置を算出する際に、該エリアよりもタイムステップの粗いエリア内の車両の影響を無視する方法である。すなわち、同じエリアおよび該エリアよりもタイムステップの細かいエリア（エリアＡｊに対しては、エリアＡ１〜Ａｊ）内の車両の影響のみを考慮する。この手法によれば、上記問題点を解消できる。
【００４２】
第２の方法は、あるエリア内の車両について次時刻の位置を算出する際に、該エリアよりもタイムステップの粗いエリア内の車両については、補間（内挿）によってその時刻における状態を算出し、これを用いる方法である。例えば、図５（ｂ）に示すｔ＝１１０において、車両Ｘについては該時刻における位置等が求められていない。しかし、車両Ｘについてはｔ＝１１０の前後の時刻（ｔ＝１００と２００）について位置等が求められている。そこで、ｔ＝１００及び２００における位置等から、ｔ＝１１０における位置等を補間によって推測して、これを用いればよい。計算処理は上記第１の方法よりも増えるものの、タイムステップの粗いエリア内の車両による影響も考慮できるため精度良くシミュレーション可能である。また、補間による推測は、実際にシミュレーションするよりも格段に計算量が少ないので、全てのエリアについて細かいタイムステップでシミュレーションするよりも処理効率が向上する。
【００４３】
このように、エリア毎に位置情報を更新するタイムステップを変えることで、計算量の省略に伴う効率化が望めるが、タイムステップの異なるエリアの接合部で不整合が生じるおそれがある。図６を参照して説明する。図６では、車両Ｘは時刻ｔ＝２００において、エリアＡ２に位置している。エリアＡ２のタイムステップはΔｔ２＝１００ミリ秒であるため、車両Ｘはｔ＝２００の次にｔ＝３００における位置が算出される。ここで、ｔ＝３００における位置は、時刻ｔ＝２００における状況のみに基づいて算出される。図６に示すように、ｔ＝３００では車両Ｘがタイムステップのより細かいエリアＡ１に進入する場合、車両Ｘの位置はｔ＝２１０〜２９０での、エリアＡ１内の車両Ｙによる影響が考慮されずに、その位置が求められてしまう。これは、エリアＡ１内では、細かいタイムステップでシミュレーションを実行するという目的に反するものであり、タイムステップの異な
るエリアに進入する際の対処を行う必要がある。なお、図６はタイムステップが粗いエリアからタイムステップが細かいエリアに進入する場合を示しているが、タイムステップが細かいエリアからタイムステップが粗いエリアに移行する場合も対処が必要である。
【００４４】
図３のフローチャートのステップＳ１４では、所定タイムステップ後の算出位置が、同じエリア内であるか異なるエリア内であるかによって、位置更新処理を変えている。図４は、ステップＳ１４の位置更新処理の詳細を表すフローチャートである。
【００４５】
まず、ステップＳ１４００で、ステップＳ１２において算出したｔ＋Δｔａの時の算出位置がどのエリアに位置するか判定する（コード１７，２１，３２行目）。移動後のエリアが、元のエリアＡａと同一である場合は、ステップＳ１４０２に進み、算出した位置をそのまま更新する（コード１９行目）。
【００４６】
ｔ＋Δｔａにおいて、タイムステップの細かいエリアＡａ−１に進入した場合は、ステップＳ１４０４へ進む。ステップＳ１４０４からＳ１４１０（コード２１〜３０行目）では、時刻ｔからｔ＋Δｔａまでの間の時間を、タイムステップΔｔａ−１ごとに（Δｔａ）／（Δｔａ−１）分割して、車両ｉがエリアＡａ−１に進入した時刻のうち、ｔ＋ｊ×Δｔａ−１（ここで、ｊ＝１，・・・，Δｔａ／Δｔａ−１）を満たす時刻を求める（このような時刻を、タイムステップΔｔａ−１に合致した時刻という）。時刻ｔ＋ｊ×（Δｔａ／Δｔａ−１）における車両の位置は、時刻ｔおよびｔ＋Δｔａにおける位置から補間（内挿）によって求めればよい。そして、車両ｉの位置情報を、Ｃｉ（Ｔｃｕｒ＝ｔ＋ｊ×Δｔａ−１，Ｐｃｕｒ＝算出位置）として更新する。
【００４７】
図７を参照して具体的に説明する。車両Ｘは時刻ｔ＝２００においてエリアＡ２に位置している。時刻ｔ＝２００において次のタイムステップ、すなわちｔ＝３００における位置が算出される。ｔ＝３００での位置は、エリアＡ２よりもタイムステップの細かなエリアＡ１である。そこで、ｔ＝２００での位置とｔ＝３００での位置とを、Δｔ２／Δｔ１＝１００／１０＝１０分割して、エリアＡ１に進入した時刻を求める。すると、４つ目、すなわちｔ＝２４０にてエリアＡ１に進入したことが分かる。そこで、車両Ｘの位置情報はｔ＝２４０における位置情報が更新される。なお、ｔ＝２４０以降は、車両ＸについてもタイムステップΔｔ１＝１０ミリ秒ごとに更新されることになる。
【００４８】
次に、ステップＳ１４００で、ステップＳ１２において算出したｔ＋Δｔａの時の算出位置が、タイムステップの粗いエリアＡａ＋１に進入した場合を説明する。この場合、処理はステップＳ１４００からステップＳ１４１４に進む。ステップＳ１４１４では、移行後のエリアＡａ＋１のタイムステップに合致する時刻ｔ＋Δｔａ＋１における位置等を求める（コード３３〜４１行目）。具体的には、時刻ｔ＋Δｔａから時刻ｔ＋Δｔａ＋１まで、同じ速度で移動すると仮定し、時刻ｔからｔ＋Δｔａまでの移動距離を、そのままΔｔａ＋１／Δｔａ倍すれば、時刻ｔ＋Δｔａ＋１における位置を求めることができる。そして、車両ｉの位置情報をＣｉ（Ｔｃｕｒ＝ｔ＋Δｔａ＋１，Ｐｃｕｒ＝算出位置）として更新する（Ｓ１４１６）。
【００４９】
図８を参照して具体的に説明する。車両Ｘは時刻ｔ＝３４０においてエリアＡ１に位置している。時刻ｔ＝３４０において次のタイムステップ、すなわちｔ＝３５０における位置が算出される。ｔ＝３５０での位置は、エリアＡ１よりもタイムステップの粗いエリアＡ２である。そこで、ｔ＝３５０以降の時刻であってタイムステップΔｔ２＝１００ミリ秒に合致するであるｔ＝４００での車両Ｘの位置を算出する。ここでは、ｔ＝３４０から３５０までの移動がその後の５０ミリ秒間も継続するとして、移動距離をさらに５倍してｔ＝４００における位置を算出する。
【００５０】
以上のようにして、ステップＳ１４における位置情報更新処理が行われる。このように、タイムステップの値が異なるエリアに移行する場合にも、移行後のエリアに対応するタイムステップに合致する時刻での位置情報を算出しているので、エリア移行時においても不整合を起こすことなくシミュレーションを続行することが可能となる。
【００５１】
このように、本実施形態に係る交通流シミュレーション装置１は、着目するエリアの周辺のエリアではタイムステップを大きく取って計算量を減らすことが可能となる。又、着目するエリアの周辺エリアにおける車両の動きもシミュレーションしているため、着目するエリア内での車両の動作も精度良く実行することができる。
【図面の簡単な説明】
【００５２】
【図１】本実施形態に係る交通流シミュレーション装置の機能ブロックを示す図である。
【図２】シミュレーションの対象となる領域、および各領域におけるタイムステップを説明する図である。
【図３】交通流シミュレーション処理の流れを示すフローチャートである。
【図４】位置更新処理の詳細な処理の流れを示すフローチャートである。
【図５】交通流シミュレーション処理の基本的な制御を説明する図である。
【図６】タイムステップの異なるエリアの接合部における問題点を説明する図である。
【図７】タイムステップが粗いエリアからタイムステップが細かいエリアに進入した際の、位置更新処理を説明する図である。
【図８】タイムステップが細かいエリアからタイムステップが粗いエリアに進入した際の、位置更新処理を説明する図である。
【符号の説明】
【００５３】
１  交通流シミュレーション装置
２  条件入力部
３  シミュレーション実行部
４  結果記憶部
５  結果表示部
【図１】
2009093425.tif 000004
【図２】
2009093425.tif 000005
【図３】
2009093425.tif 000006
【図４】
2009093425.tif 000007
【図５】
2009093425.tif 000008
【図６】
2009093425.tif 000009
【図７】
2009093425.tif 000010
【図８】
2009093425.tif 000011