(57)【特許請求の範囲】
【請求項１】
コンピュータに、シミュレーション時刻を進めつつ、各列車を対象列車として当該対象列車について生成された所与の運転曲線に沿って仮想的に走行させることで複数の列車の同時運行を模擬する運行シミュレーションを実行させるためのプログラムであって、
前記対象列車の次駅停止位置および当該対象列車の先行列車の位置に応じて、当該対象列車の停止目標位置を設定する停止目標設定手段、
前記対象列車の位置から前記停止目標位置までの前記運転曲線を作成する運転曲線作成手段、
前記運転曲線作成手段により作成された運転曲線に基づいて、前記停止目標位置に停止するための所定の停止準備開始条件を満たす停止準備開始位置又は停止準備開始時点（以下代表して「停止準備開始位置」という）を判定する停止準備開始位置判定手段、
前記対象列車が前記停止準備開始位置に到達し、且つ、前記停止目標位置が変化するまでは、前記対象列車の運転曲線の更新を行わずに前記対象列車を当該運転曲線に沿って走行させ、前記対象列車が前記停止準備開始位置に到達し、且つ、前記停止目標位置が変化した場合に、前記運転曲線作成手段に再作成を行わせて運転曲線を更新して前記対象列車を当該更新された運転曲線に沿って走行させるシミュレーション進行制御手段、
として前記コンピュータを更に機能させるためのプログラム。
【請求項２】
前記運行シミュレーションは、移動閉そく方式で前記複数の列車の同時運行を模擬するシミュレーションであり、
前記シミュレーション進行制御手段は、前記対象列車が前記停止準備開始位置に到達した場合に、
前記停止目標設定手段に前記先行列車の位置に応じた前記停止目標位置の設定更新を行わせることと、
設定更新された停止目標位置が、前記対象列車が到達した前記停止準備開始位置に係る運転曲線の停止目標位置から変化したかを判定することと、
を繰り返し実行することで、前記対象列車が前記停止準備開始位置に到達し、且つ、前記先行列車の位置に応じた前記停止目標位置が変化したこと、の判定を行う、
請求項１に記載のプログラム。
【請求項３】
シミュレーション時刻を進めつつ、各列車を対象列車として当該対象列車について生成された所与の運転曲線に沿って走行させることで複数の列車の同時運行を模擬する運行シミュレーションを実行する運行シミュレーション装置であって、
前記対象列車の次駅停止位置および当該対象列車の先行列車の位置に応じて、当該対象列車の停止目標位置を設定する停止目標設定手段と、
前記対象列車の位置から前記停止目標位置までの前記運転曲線を作成する運転曲線作成手段、
前記運転曲線作成手段により作成された運転曲線に基づいて、前記停止目標位置に停止するための所定の停止準備開始条件を満たす停止準備開始位置を判定する停止準備開始位置判定手段と、
前記対象列車が前記停止準備開始位置に到達し、且つ、前記停止目標位置が変化するまでは、前記対象列車の運転曲線の更新を行わずに前記対象列車を当該運転曲線に沿って走行させ、前記対象列車が前記停止準備開始位置に到達し、且つ、前記停止目標位置が変化した場合に、前記運転曲線作成手段に再作成を行わせて運転曲線を更新して前記対象列車を当該更新された運転曲線に沿って走行させるシミュレーション進行制御手段と、
を備えた運行シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の列車が同時運行される運行シミュレーションを実行する運行シミュレーション装置等に関する。
【背景技術】
【０００２】
鉄道の技術分野では、列車ダイヤの評価や検証のために、コンピュータを用いて列車ダイヤに従った列車の運行を模擬する運行シミュレーションが行われている。運行シミュレーションとして、ある時刻における各列車の在線位置をもとに、信号現示による各列車の速度制限パターンを生成し、その制限速度の範囲内において運転曲線を作成する、といった手法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１９８８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
運行シミュレーションでは、例えば１秒といった微少時間間隔でシミュレーション時刻を進め、各シミュレーション時刻における各列車の位置や速度を更新してゆくことを繰り返す。このとき、固定閉そく方式であれば、各列車の速度制限パターン及び運転曲線の更新タイミングは、先行列車の在線閉そく位置が変化したタイミングとする方法が一般的であった。この方法では、例えば先行列車が比較的遠方に存在する場合には、先行列車の在線閉そく位置が変化しても後続列車の前方直近の速度制限や運転曲線が変化しない場合があるにも関わらず、速度制限パターン及び運転曲線を更新していたため、非効率な更新となっていた。また、移動閉そく方式の場合には、先行列車の在線位置が変化する毎に後続列車の速度制限パターン及び運転曲線の更新を行う必要があると考えられたため、この更新周期は、シミュレーション時刻を進める微少時間間隔が採用されていたため、演算負荷が大きかった。
【０００５】
固定閉そく方式であれ、移動閉そく方式であれ、速度制限パターンや運転曲線の更新に一定の演算量が必要であることに変わりはなく、この演算量を低減することができれば、運行シミュレーションにかかる時間を低減することが可能となる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、運行シミュレーションにかかる演算量を削減することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するための第１の発明は、
コンピュータに、シミュレーション時刻を進めつつ、各列車の仮想的な運行を繰り返し実行させることで複数の列車が同時運行される運行シミュレーションを実行させるためのプログラムであって、
対象列車の次駅停止位置および当該対象列車の先行列車の位置に応じて、当該対象列車の停止目標位置を設定する停止目標設定手段、
前記対象列車の位置から前記停止目標位置までの運転曲線を作成する運転曲線作成手段、
前記運転曲線作成手段により作成された運転曲線に従って走行した場合に、前記停止目標位置に停止するための所定の停止準備開始条件を満たす停止準備開始位置又は停止準備開始時点（以下代表して「停止準備開始位置」という）を判定する停止準備開始位置判定手段、
前記対象列車が前記停止準備開始位置に到達するまでは、前記対象列車の運転曲線の更新を行わずに前記対象列車に係る運行シミュレーションを実行し、前記停止準備開始位置に到達した場合には、前記運転曲線作成手段に再作成を行わせて運転曲線を更新して前記対象列車に係る運行シミュレーションを実行するシミュレーション進行制御手段、
として前記コンピュータを更に機能させるためのプログラムである。
【０００８】
また、他の発明として、
シミュレーション時刻を進めつつ、各列車の仮想的な運行を繰り返し実行することで、複数の列車が同時運行される運行シミュレーションを実行する運行シミュレーション装置であって、
対象列車の次駅停止位置および当該対象列車の先行列車の位置に応じて、当該対象列車の停止目標位置を設定する停止目標設定手段と、
前記対象列車の位置から前記停止目標位置までの運転曲線を作成する運転曲線作成手段、
前記運転曲線作成手段により作成された運転曲線に従って走行した場合に、前記停止目標位置に停止するための所定の停止準備開始条件を満たす停止準備開始位置を判定する停止準備開始位置判定手段と、
前記対象列車が前記停止準備開始位置に到達するまでは、前記対象列車の運転曲線の更新を行わずに前記対象列車に係る運行シミュレーションを実行し、前記停止準備開始位置に到達した場合には、前記運転曲線作成手段に再作成を行わせて運転曲線を更新して前記対象列車に係る運行シミュレーションを実行するシミュレーション進行制御手段と、
を備えた運行シミュレーション装置を構成しても良い。
【０００９】
この第１の発明等によれば、複数の列車が同時運行される運行シミュレーションとして、対象列車が停止準備開始位置に到達するまでは、運転曲線の変更を行わずに対象列車に係る運行シミュレーションを実行し、対象列車が停止準備開始位置に到達した場合には、対象列車の位置から停止目標位置までの運転曲線を更新して対象列車に係る運行シミュレーションを実行する。停止準備開始位置は、運転曲線に従って走行した場合に、停止目標位置に停止するための所定の停止準備開始条件を満たす位置又は時刻である。
【００１０】
先行列車の位置の変化などによって停止準備位置が変化すると、運転曲線が変化し、それに伴って停止準備開始位置も変化する。列車の進行方向は一定であるため、先行列車の位置の変化によって対象列車の運転曲線が変化したとしても、少なくとも、変化前の停止準備開始位置までの運転曲線部分は同じである。従って、対象列車が停止準備開始位置に到達するまでは、運転曲線を更新する必要は無い。これにより、従来のように、先行列車の位置が変化する毎に対象列車の運転曲線を更新する必要がないため、運転曲線の更新回数が減少し、運行シミュレーションに係る演算量の削減を図ることができる。
【００１１】
第２の発明として、第１の発明のプログラムであって、
前記停止目標設定手段は、シミュレーション時刻毎に各列車の前記停止目標位置を再算出し、
前記シミュレーション進行制御手段は、前記対象列車が前記停止準備開始位置に到達した場合には、前記対象列車の前記停止目標位置の変化をシミュレーション時刻毎に判定し、前記停止目標位置が変化していなければ、運転曲線の更新を行わずに前記対象列車に係る今回のシミュレーション時刻における運行シミュレーションを実行し、前記停止目標位置が変化していれば、前記運転曲線作成手段に再作成を行わせて運転曲線を更新して前記対象列車に係る運行シミュレーションを実行する、
プログラムを構成しても良い。
【００１２】
この第２の発明によれば、対象列車が停止準備開始位置に到達した場合には、停止目標位置が変化していなければ、運転曲線の更新を行わずに対象列車に係る運行シミュレーションを実行し、停止目標位置が変化していれば、対象列車の位置から停止目標位置までの運転曲線を更新して対象列車に係る運行シミュレーションを実行する。停止準備開始位置以降の運転曲線部分については、停止目標位置が変化していなければ、変更がないからである。これにより、運転曲線の更新回数を更に減少させ、運行シミュレーションに要する演算量の更なる削減を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】停止準備開始位置の設定の説明図。
【図２】運転曲線の更新タイミングの説明図。
【図３】シミュレーション装置の機能構成図。
【図４】シミュレーション処理のフローチャート。
【発明を実施するための形態】
【００１４】
［概要］
本実施形態の運行シミュレーションは、シミュレーション時刻を時々刻々と進めながら各列車の仮想的な運行を繰り返すことで、複数の列車の同時運行を模擬するものである。また、信号方式は移動閉そく方式とし、当該列車の先行列車の位置に応じて運転曲線を生成し、この運転曲線に従った運行を行う。「対象列車」とは、処理の対象となっている列車のことであり、同時運行する列車１本１本のことである。また、本実施形態の運行シミュレーションは移動閉そく方式としているが、固定閉そく方式に本実施形態を適用することも可能である。
【００１５】
図１は、運転曲線の作成を説明する図である。図１では、右方向を列車の進行方向とし、あるシミュレーション時刻（以下、単に「時刻」という）ｔにおいて、対象列車１０ａの運転曲線を生成する例を示している。先ず、対象列車１０ａの停止目標位置Ｍ１を、対象列車１０ａの先行列車１０ｂの位置Ｌｂ（先行列車であるため、この場合は後端位置）と、次駅の停止位置Ｌｃとに応じて設定する。具体的には、先行列車１０ｂの位置Ｌｂから所定の安全余裕距離Ｄだけ後方の位置と、対象列車１０ａの次の停車駅の停止位置Ｌｃとを比較し、後方（手前側。対象列車１０ａに近い方）の位置を停止目標位置として設定する。
【００１６】
次いで、対象列車１０ａの位置Ｌａ（対象列車であるため、この場合は先端位置）から停止目標位置Ｍ１までの区間について、線路に定められた制限速度の範囲内で、対象列車１０ａの現在の位置Ｌａ及び速度Ｖａから停止目標位置Ｍ１に停止するような運転曲線を生成する。運転曲線は、力行、だ行及びブレーキの運転操作の組み合わせで構成されるが、力行からブレーキに移行する場合であっても、最低限、所定距離（或いは所定時間でもよい）のだ行の後にブレーキに移行するように生成する。
【００１７】
列車の位置は時間経過とともに変化し、この変化に伴って運転曲線も変化する。従来の運行シミュレーションでは、時刻ｔを進める時間周期Δｔ毎に、各列車の位置の変化に応じて各列車の運転曲線の更新を行っていた。これに対して、本実施形態では、所与の更新条件を満たした列車についてのみ運転曲線を更新することを特徴としている。
【００１８】
更新条件とは、「列車が停止準備開始位置に到達し、且つ、停止目標位置が変化した」ことである。停止準備開始位置は、列車が停止目標位置に停止するための所定の停止準備開始条件を満たした位置である。停止準備開始条件は、「列車が停止目標位置に停止するために減速準備を開始したこと」であり、本実施形態では、図１に示した運転曲線における、停止目標位置Ｍ１に停止するための最初のブレーキの直前のだ行の開始位置Ｌｄを停止準備開始位置とする。別の言い方をすると、運転曲線を停止目標位置Ｍ１から逆に遡った場合に、力行に至る前の、ブレーキ又はだ行のみで遡れる最後のブレーキ部分の直前のだ行の開始位置Ｌｄが、停止準備開始位置となる。また、「停止目標位置が変化した」とは、停止目標位置（つまり、運転曲線の終端の位置）が、前回の運転曲線が更新されたときから変化したことを意味する。
【００１９】
図２は、運転曲線の更新タイミングを説明する図である。図２では、右方向を列車の進行方向とし、対象列車１０ａが駅１に停車していた時刻ｔ１から、次の停車駅である駅２に停車するまでの間に、対象列車１０ａの運転曲線が作成・更新された様子を示している。対象列車１０ａの前方には、先行列車である先行列車１０ｂが在線している。
【００２０】
先ず、図２（１）に示すように、対象列車１０ａの駅１における発車時刻ｔ１において、対象列車１０ａの運転曲線を作成する。すなわち、先行列車１０ｂの在線位置Ｌｂに応じて停止目標位置Ｍ１を設定する。次いで、対象列車１０ａの在線位置Ｌ１からこの停止目標位置Ｍ１までの区間について、停止目標位置Ｍ１に停止するような運転曲線を作成する。続いて、作成した運転曲線から、停止目標位置Ｍ１に停止するための停止準備開始位置Ｌ２を算出する。そして、運転曲線に従って走行した場合にこの停止準備開始位置Ｌ２に到達する時刻（停止準備開始時刻）ｔ２を算出する。その後、対象列車１０ａは駅１を発車し、運転曲線に従って駅２に向かって走行する。対象列車１０ａが停止準備開始位置Ｌ２に到達するまで、つまり、発車時刻ｔ１から停止準備開始時刻ｔ２までの期間は、運転曲線を更新しない。
【００２１】
そして、図２（２）に示すように、時刻ｔ２において、対象列車１０ａが停止準備開始位置Ｌ２に到達する。このとき、先行列車１０ｂは駅２に停車しており、先行列車１０ｂの位置が時刻ｔ１における位置Ｌｂから変化していることによって、停止目標位置は、前回運転曲線を作成した時刻ｔ１における位置Ｍ１から、その前方の位置Ｍ２に変化している。このため、対象列車１０ａの位置Ｌ２から新たな停止目標位置Ｍ２までの区間について、停止目標位置Ｍ２に停止するように運転曲線を更新する。そして、同様に、更新後の運転曲線から、停止目標位置Ｍ２に停止するための停止準備開始位置Ｌ３を算出し、この停止準備開始位置Ｌ３に到達する停止準備開始時刻ｔ３を算出する。その後、対象列車１０ａは、更新後の運転曲線に従って走行し、停止準備開始位置Ｌ３に到達するまで、つまり、時刻ｔ２から停止準備開始時刻ｔ３までの期間は、運転曲線を更新しない。
【００２２】
そして、図２（３）に示すように、時刻ｔ３において、対象列車１０ａが停止準備開始位置Ｌ３に到達する。このとき、先行列車１０ｂは駅２に停車しており、先行列車１０ｂの位置は、時刻ｔ２における位置から変化していないことによって、停止目標位置Ｍ２は、前回運転曲線を作成した時刻ｔ２から変化していない。このため、運転曲線は更新しない。
【００２３】
その後、図２（４）に示すように、時刻ｔ４において、先行列車１０ｂが駅２から発車したことによって停止目標位置が新たな位置Ｍ３に変化すると、対象列車１０ａの位置Ｌ４から停止目標位置Ｍ３までの区間について、停止目標位置Ｍ３に停止するように運転曲線を更新する。そして、同様に、更新後の運転曲線から停止準備開始位置Ｌ５を算出するとともに、この停止準備開始位置Ｌ５に到達する停止準備開始時刻ｔ５を算出する。
【００２４】
更にその後、図２（５）に示すように、時刻ｔ５において、対象列車１０ａが停止準備開始位置Ｌ５に到達する。このとき、停止目標位置が駅２の停止位置となる新たな停止目標位置Ｍ４となり、時刻ｔ４における停止目標位置Ｍ３から変化している。このため、対象列車１０ａの位置Ｌ５から停止目標位置Ｍ４までの区間について、停止目標位置Ｍ４に停止するように運転曲線を更新する。そして、対象列車１０ａは、更新後の運転曲線に従って走行し、駅２に停車する。
【００２５】
［機能構成］
図３は、本実施形態の運行シミュレーションを実行するシミュレーション装置１の機能構成図である。図３によれば、シミュレーション装置１は、操作部１０２と、表示部１０４と、通信部１０６と、処理部２００と、記憶部３００とを備えて構成されるコンピュータシステムである。
【００２６】
操作部１０２は、例えばキーボードやマウス、タッチパネル、各種スイッチ等で実現される入力装置であり、操作入力に応じた操作信号を処理部２００に出力する。表示部１０４は、例えばＬＣＤ（液晶ディスプレイ）やＥＬＤ（有機ＥＬディスプレイ）等で実現される表示装置であり、処理部２００からの表示信号に基づく各種表示を行う。通信部１０６は、例えば無線通信モジュール、ルータ、モデム、有線用の通信ケーブルのジャックや制御回路等で実現される通信装置であり、外部機器との間でデータ通信を行う。
【００２７】
処理部２００は、例えばＣＰＵなどの演算装置で実現され、記憶部３００に記憶されたプログラムやデータ、操作部１０２からの操作入力データ等に基づいて、シミュレーション装置１を構成する各部への指示やデータ転送を行い、シミュレーション装置１の全体制御を行う。また、処理部２００は、旅客流動推定部２０２と、列車運行推定部２０４と、停止目標設定部２０６と、運転曲線作成部２０８と、停止準備開始位置判定部２１０と、運転曲線更新判定部２１２とを有し、シミュレーションプログラム３０２に従ったシミュレーション処理（図４参照）を実行する。このシミュレーション処理では、仮想的な旅客それぞれの乗車行動を推定する旅客流動シミュレーションを行いつつ、所与の計画ダイヤに従った列車の運行シミュレーションを行う。
【００２８】
旅客流動推定部２０２は、旅客それぞれを管理し、その行動を推定する。具体的には、各駅での旅客を出現させる出現制御を行う。すなわち、出現駅と目的駅との組み合わせ毎に出現確率を定めた旅客出現確率テーブル３０６に従って、各駅に旅客を出現させる。そして、出現させた旅客について、出現駅から目的駅に至る列車の乗継経路を設定する。また、駅に到着した列車（着列車）の乗客のうち、当該駅で降車予定の乗客（当該駅を目的駅とする乗客、及び、当該駅が乗継経路で定められる乗換駅である乗客）を降車させる降車制御、駅から発車する列車（発列車）に、当該列車に乗車予定の旅客を乗車させる乗車制御を行う。
【００２９】
旅客それぞれは、旅客データ３１２として管理される。旅客データ３１２は、該当する旅客の出現駅や出現時刻、目的駅、出現駅から目的駅に至る乗継経路のほか、乗車中の列車やその駅間、或いは、滞留駅といった現在状況などを格納している。
【００３０】
列車運行推定部２０４は、列車それぞれを管理し、その運行を推定する。具体的には、列車それぞれについて、運転曲線作成部２０８によって作成された運転曲線に従って、位置及び速度を更新することで駅間の走行制御を行う。また、駅の到着時に、先行列車の当該駅の発車時刻からの経過時間をもとに、所定の発着時隔を満たすかどうかによって当該駅に到着可能かを判断し、到着可能ならば到着させ、到着不可能ならば、着時刻を遅らせて到着させる到着制御を行う。駅への到着は、列車の位置が停車駅の停車位置に到達したことで判定する。また、当該駅への着時刻に応じて定まる発時刻となると、対象列車を当該駅から発車させる発車制御を行う。この発車制御は、計画ダイヤで定められる停車時分と、当該駅における乗降人数に応じて定まる乗降時間とを比較し、乗降時間が停車時間を超える場合には、その超過時間を発車遅延時分として発車時刻を遅らせる遅延処理を含む。
【００３１】
列車それぞれは、列車データ３１４として管理される。列車データ３１４は、該当する列車の停止目標位置、この停止目標位置までの運転曲線、停止準備開始位置、停止準備開始時刻、走行情報、乗客データ、実績ダイヤデータなどを格納している。走行情報は、当該列車の現在の位置や速度のほか、駅に停車中であるか駅間を走行中であるかといった走行状況を含んでいる。乗客データは、当該列車に乗車している旅客（乗客）を示すデータである。実績ダイヤデータは、当該列車の現在までの各駅における着時刻及び発時刻でなる実績ダイヤのデータである。
【００３２】
停止目標設定部２０６は、各列車について、当該列車の停止目標位置を設定する。すなわち、当該列車の先行列車の位置から所定の安全余裕距離だけ後方の位置と、当該列車の次の停車駅における停車位置とを比較し、手前側（当該列車に近いほう）の位置を、当該列車の停止目標位置として設定する。
【００３３】
運転曲線作成部２０８は、各列車について、運転曲線更新判定部２１２によって更新すると判定された場合に、当該列車の現在の位置及び速度から、停止目標設定部２０６によって設定された停止目標位置に停止するための運転曲線を作成して、当該列車の現在の位置以降の運転曲線を更新する。
【００３４】
停止準備開始位置判定部２１０は、各列車について、運転曲線作成部２０８によって作成された運転曲線から、停止目標設定部２０６によって設定された停止目標位置に停止するためのブレーキの直前のだ行の開始位置を、当該列車の停止準備開始位置として算出する。また、運転曲線に従って走行した場合に、算出した停止準備開始位置に到達する時刻である減速開始時刻を算出する。
【００３５】
運転曲線更新判定部２１２は、列車それぞれについて、運転曲線を更新するかを判定する。具体的には、列車が駅間を走行中は、当該列車が停止準備開始位置に到達し、且つ、停止目標位置が変化した場合に、当該列車の運転曲線を更新すると判定し、それ以外の場合には、運転曲線を更新しないと判定する。また、列車が駅停車中は、運転曲線を更新しないと判定し、駅からの発車時に更新すると判定する。
【００３６】
記憶部３００は、処理部２００がシミュレーション装置１を統合的に制御するための諸機能を実現するためのシステムプログラムや、本実施形態を実現するための各種のプログラムやデータ等を記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や、操作部１０２からの操作入力データ等が一時的に格納される。本実施形態では、記憶部３００には、シミュレーションプログラム３０２と、計画ダイヤデータ３０４と、旅客出現確率テーブル３０６と、路線データ３０８と、シミュレーション時刻３１０と、旅客データ３１２と、列車データ３１４とが記憶される。
【００３７】
［処理の流れ］
図４は、シミュレーション処理を説明するフローチャートである。この処理は、処理部２００がシミュレーションプログラム３０２に従った処理を実行することで実現される。
【００３８】
図４によれば、先ず、処理部２００は、時刻ｔを、所定の初期時刻ｔ０に設定する（ステップＳ１）。また、各列車について、位置及び速度を、計画ダイヤで定められる初期時刻ｔ０における位置及び速度に初期設定する（ステップＳ３）。
【００３９】
その後、全ての列車を対象としたループＡの処理を行う。ループＡでは、停止目標設定部２０６が、先行列車の位置、及び、次の停車駅の停止位置から、対象列車の停止目標位置を設定する（ステップＳ５）。次いで、運転曲線作成部２０８が、対象列車の位置から設定した停止目標位置までの区間について、停止目標位置に停止するように、対象列車の運転曲線を作成する（ステップＳ７）。そして、停止準備開始位置判定部２１０が、作成された運転曲線から、停止準備開始位置、及び、この停止準備開始位置に到達する停止準備開始時刻を算出する（ステップＳ９）。ループＡはこのように行われる。
【００４０】
全ての列車を対象としたループＡの処理を終了すると、続いて、旅客出現処理を行う（ステップＡ１１）。この旅客出現処理では、旅客流動推定部２０２が、各駅に旅客を出現させ、出現させた各旅客について定められた目的駅に至る乗継経路を設定する。
【００４１】
次いで、列車着時処理を行う（ステップＳ１３）。この列車着時処理では、列車運行推定部２０４が、停車駅の停止位置に到達した列車のうち、到着可能と判断した列車を当該駅に到着させる。そして、旅客流動推定部２０２が、到着した列車（着列車）の乗客のうち、当該駅で降車予定の乗客を降車させる。
【００４２】
また、列車発時処理を行う（ステップＳ１５）。この列車発時処理では、列車運行推定部２０４が、各駅に停車中の列車のうちから、発時刻となった列車を、当該駅から発車させる列車（発列車）として選択する。このとき、計画ダイヤで定められる停車時分と、当該駅における乗降人数から決まる乗降時間とを比較して、必要に応じて発時刻を遅らせる遅延処理を行う。そして、旅客流動推定部２０２が、選択された発列車に、当該駅の滞留旅客のうち、当該列車に乗車予定の旅客を乗車させた後、列車運行推定部２０４が、発列車を発車させる。
【００４３】
その後、全ての列車を対象としたループＢの処理を行う。ループＢでは、先ず、対象列車が駅に停車中であるかを判断する。対象列車が駅に停車中でない、つまり駅間を走行中ならば（ステップＳ１７：ＮＯ）、続いて、対象列車が発列車であるかを判断する。対象列車が発列車であるならば（ステップＳ１９：ＹＥＳ）、停止目標設定部２０６が、対象列車の停止目標位置を設定し（ステップＳ２１）、運転曲線作成部２０８が、設定された停止目標位置に停止するように、対象列車の位置以降の運転曲線を作成して更新する（ステップＳ２９）。次いで、停止準備開始位置判定部２１０が、更新後の運転曲線から、停止準備開始位置、及び、停止準備開始時刻を算出する（ステップＳ３１）。
【００４４】
また、対象列車が発列車でないならば（ステップＳ１９：ＮＯ）、対象列車が停止準備開始位置に到達したかを判断する。停止準備開始位置に到達しているならば（ステップＳ２３：ＹＥＳ）、停止目標設定部２０６が、対象列車の停止目標位置を算出し（ステップＳ２５）、算出された停止目標位置が前回の運転曲線の作成時の停止目標位置から変化しているかを判断する。停止目標位置が変化しているならば（ステップＳ２７：ＹＥＳ）、運転曲線作成部２０８が、新たに算出した目標停止点に停止するように、対象列車の位置以降の運転曲線を作成して更新する（ステップＳ２９）。そして、停止準備開始位置判定部２１０が、更新後の運転曲線から、新たな停止準備開始位置、及び、停止準備開始時刻を算出する（ステップＳ３１）。
【００４５】
対象列車が駅に停車中である場合（ステップＳ１７；ＹＥＳ）や、駅間を走行中であるが停止準備開始位置に到達していない場合（ステップＳ２３：ＮＯ）、停止準備開始位置に到達しているが停止目標位置が変化していない場合（ステップＳ２７：ＮＯ）には、運転曲線の更新を行わない。ループＢはこのように行われる。
【００４６】
全ての列車を対象としたループＢの処理を行うと、処理部２００は、時刻ｔが所定の終了時刻ｔｅに達したかを判断する。終了時刻ｔｅに達していないならば（ステップＳ３３：ＮＯ）、時刻ｔを所定の時間Δｔだけ進める（ステップＳ３５）。そして、各列車について、運転曲線から時刻ｔにおける位置及び速度を算出する（ステップＳ３７）。その後、ステップＳ１１に戻る。一方、終了時刻ｔｅに達したならば（ステップＳ３３：ＹＥＳ）、シミュレーション結果として各列車の実績ダイヤや運転曲線を、例えば表示部１０４に表示出力した後、本処理を終了する。
【００４７】
［作用効果］
このように、本実施形態のシミュレーション装置１は、複数の列車を同時運行する運行シミュレーションとして、対象列車が停止準備開始位置に到達するまでは、運転曲線の変更を行わずに対象列車に係る運行シミュレーションを実行する。そして、対象列車が停止準備開始位置に到達した場合には、停止目標位置が変化していなければ、運転曲線の更新を行わずに対象列車に係る運行シミュレーションを実行し、停止目標位置が変化していれば、対象列車の位置から停止目標位置までの運転曲線を更新して対象列車に係る運行シミュレーションを実行する。
【００４８】
先行列車の位置の変化などによって停止準備開始位置が変化すると、運転曲線が変化するが、列車は一方向に進行するため、少なくとも、停止準備開始位置までの運転曲線部分は、運転曲線が変化したとしても同じである。従って、対象列車が停止準備開始位置に到達するまでは、運転曲線を更新する必要は無い。また、停止準備開始位置以降の運転曲線部分については、運転曲線は停止目標位置に停止するように作成されるため、停止目標位置が変化しなければ、運転曲線は変化しない。これにより、従来のように、先行列車の位置が変化する毎に対象列車の運転曲線を更新する必要がないため、運転曲線の更新回数が減少し、運行シミュレーションに係る演算量の削減を図ることができる。
【００４９】
なお、本発明の適用可能な実施形態は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【符号の説明】
【００５０】
１  シミュレーション装置
１０２  操作部、１０４  表示部、１０６  通信部
２００  処理部
２０２  旅客流動推定部、２０４  列車運行推定部
２０６  停止目標設定部、２０８  運転曲線作成部
２１０  停止準備開始位置判定部、２１２  運転曲線更新判定部
３００  記憶部
３０２  シミュレーションプログラム
３０４  計画ダイヤデータ、３０６  旅客出現確率テーブル
３０８  路線データ、３１０  シミュレーション時刻、
３１２  旅客データ、３１４  列車データ
【図１】
0006421030.tif 000002
【図２】
0006421030.tif 000003
【図３】
0006421030.tif 000004
【図４】
0006421030.tif 000005