(57)【要約】【課題】計算途中で一時使用されるデータ量が少なく、処理能力の低い計算機を使用する場合でも、複数列車の運転シミュレーションを高速に実施すること。【解決手段】本発明によれば、各列車と駅間区間との組合せからなる複数のノードを設定し、各ノード同士の依存関係に基づいて各ノードのシミュレーション（ＳＭ）計算を行う計算順序を決定する計算順序策定部４と、第１番目の計算順序のノードのＳＭ計算を行い、計算結果である運転状態データを運転結果ＤＢ１１に保持させる運転計算部５と、運転結果ＤＢ１１に保持された運転状態データを用いて、次の計算順序のノードのＳＭ計算を行い、運転状態ＤＢ１１に保持されている運転状態データを更新する運転計算部５とを備え、運転結果ＤＢ１１に保持された運転状態データを用いて、更に次の計算順序のノードのＳＭ計算を運転計算部５に行わせることを繰り返すことによって、全ノードにおけるＳＭ計算を行う。【選択図】　　図１
2004106691.tif 000002
【特許請求の範囲】
【請求項１】
複数の列車の運転状態を、列車に課せされる制約条件情報に基づいてシミュレーション計算により求める列車運転シミュレーション方法において、
前記制約条件情報、および各列車の各駅における出発順序情報に基づいて、各列車と駅間区間との組み合わせからなる複数の計算ノードを設定し、
前記設定した計算ノード同士の依存関係に基づいて、前記計算ノードのシミュレーション計算を行う計算順序を決定し、
前記決定された計算順序にしたがって第１番目の計算順序の計算ノードのシミュレーション計算を行い、計算結果である運転状態データを保持し、
この保持された運転状態データを用いて、次の計算順序の計算ノードのシミュレーション計算を行い、前記保持されている運転状態データを前記次の計算順序の計算ノードの計算結果である運転状態データに更新して保持することを繰り返すことによって全ての計算ノードの前記シミュレーション計算を行うようにした列車運転シミュレーション方法。
【請求項２】
複数の列車の運転状態を、列車に課せされる制約条件情報に基づいてシミュレーション計算により求める列車運転シミュレーション装置において、
前記制約条件情報、および各列車の各駅における出発順序情報に基づいて、各列車と駅間区間との組み合わせからなる複数の計算ノードを設定する計算ノード設定手段と、
前記計算ノード設定手段によって設定された計算ノード同士の依存関係に基づいて、前記計算ノードのシミュレーション計算を行う計算順序を決定する計算順序決定手段と、
前記計算順序決定手段によって決定された計算順序にしたがって第１番目の計算順序の計算ノードのシミュレーション計算を行う第１のシミュレーション計算手段と、
前記第１のシミュレーション計算手段によってシミュレーション計算された結果である運転状態データを運転状態データベースに保持させる第１の運転状態保持手段と、
前記第１の運転状態保持手段によって保持された運転状態データを用いて、この運転状態データの対応する計算ノードの計算順序の次の計算順序の計算ノードのシミュレーション計算を行う第２のシミュレーション計算手段と、
前記運転状態データベースに保持されている運転状態データを、前記第２のシミュレーション計算手段によってシミュレーション計算された結果である運転状態データに更新して保持させる第２の運転状態保持手段と、
前記第２の運転状態保持手段によって前記運転状態データベースに保持された運転状態データを用いて、この運転状態データの対応する計算ノードの計算順序の計算ノードの次の計算順序の計算ノードの前記シミュレーション計算を前記第２のシミュレーション計算手段に行わせる繰返計算手段と
を備えた列車運転シミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の列車の運転状態を同時にシミュレーションする列車運転シミュレーション方法および列車運転シミュレーション装置に関するものである。
【０００２】
【従来の技術】
従来、複数の列車の運転状態を同時にシミュレーションする場合には、各時刻における各列車の位置および速度をおのおのの列車の相対位置を同時に考慮して計算処理を行うような列車運転シミュレーション装置が用いられている。
【０００３】
この種の列車運転シミュレーション装置では、各列車の計算時刻における位置情報、速度情報、加速度情報を全て保持し、時刻を一斉に少しずつ進め、該時刻における各列車の状態がシミュレーション計算により求められている。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の列車運転シミュレーション方法では、以下のような問題がある。
【０００５】
すなわち、上述したような計算処理を行うためには、計算途中で一時的に使用されるデータ量が極めて多くなるために、大量の主記憶容量や、並列処理能力、および高速処理能力のある計算機を必要とする。
【０００６】
したがって、複数の列車の運転状態を同時にシミュレーションするためには、計算機設備に多大なコストを必要とするという問題がある。あるいは、大量の主記憶容量、並列処理能力、および高速処理能力を備えていない計算機を用いた場合には、計算時間が極めて膨大になり、結果を迅速に得ることができないという問題がある。
【０００７】
本発明はこのような事情に鑑みてなされたものであり、計算途中で一時的に使用されるデータ量が少なく、処理能力の低い計算機を使用する場合でも、複数列車の運転シミュレーションを高速に実施することができる列車運転シミュレーション方法および列車運転シミュレーション装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成するために、本発明では、以下のような手段を講じる。
【０００９】
すなわち、請求項１の発明は、複数の列車の運転状態を、列車に課せされる制約条件情報に基づいてシミュレーション計算により求める列車運転シミュレーション方法において、まず、制約条件情報、および各列車の各駅における出発順序情報に基づいて、各列車と駅間区間との組み合わせからなる複数の計算ノードを設定する。次に、設定した各計算ノード同士の依存関係に基づいて、各計算ノードのシミュレーション計算を行う計算順序を決定する。そして、決定された計算順序にしたがって第１番目の計算順序の計算ノードのシミュレーション計算を行い、計算結果である運転状態データを保持する。
【００１０】
この保持された運転状態データを用いて、次の計算順序の計算ノードのシミュレーション計算を行い、保持されている運転状態データを次の計算順序の計算ノードの計算結果である運転状態データに更新して保持することを繰り返すことによって全ての計算ノードのシミュレーション計算を行うようにしている。
【００１１】
また、請求項２の発明は、複数の列車の運転状態を、列車に課せされる制約条件情報に基づいてシミュレーション計算により求める列車運転シミュレーション装置において、計算ノード設定手段と、計算順序決定手段と、第１のシミュレーション計算手段と、第１の運転状態保持手段と、第２のシミュレーション計算手段と、第２の運転状態保持手段と、繰返計算手段とを備えている。
【００１２】
計算ノード設定手段は、制約条件情報、および各列車の各駅における出発順序情報に基づいて、各列車と駅間区間との組み合わせからなる複数の計算ノードを設定する。計算順序決定手段は、計算ノード設定手段によって設定された各計算ノード同士の依存関係に基づいて、各計算ノードのシミュレーション計算を行う計算順序を決定する。第１のシミュレーション計算手段は、計算順序決定手段によって決定された計算順序にしたがって第１番目の計算順序の計算ノードの前記シミュレーション計算を行う。第１の運転状態保持手段は、第１のシミュレーション計算手段によってシミュレーション計算された結果である運転状態データを運転状態データベースに保持させる。第２のシミュレーション計算手段は、第１の運転状態保持手段によって保持された運転状態データを用いて、この運転状態データの対応する計算ノードの計算順序の次の計算順序の計算ノードの前記シミュレーション計算を行う。第２の運転状態保持手段は、運転状態データベースに保持されている運転状態データを、第２のシミュレーション計算手段によってシミュレーション計算された結果である運転状態データに更新して保持させる。繰返計算手段は、第２の運転状態保持手段によって運転状態データベースに保持された運転状態データを用いて、この運転状態データの対応する計算ノードの計算順序の計算ノードの次の計算順序の計算ノードのシミュレーション計算を第２のシミュレーション計算手段に行わせる。
【００１３】
従って、本願の発明の列車運転シミュレーション方法および列車運転シミュレーション装置においては、以上のような手段を講じることにより、部分的に運転シミュレーションを行うことができる列車と区間との組み合わせからなる計算ノードを設定し、更に各計算ノードの計算順序を策定し、策定された計算順序に従って各計算ノード毎に運転シミュレーションを行うことができる。この場合、各計算ノードにおける運転シミュレーションは、直前の計算順序の計算ノードにおける運転シミュレーションによって得られた運転状態データを用いて行われることから、計算機側は、必要最低限のデータ量を保持するだけでよい。
【００１４】
以上により、記憶容量の少ない計算機でも複数列車の運転シミュレーションを行うことができ、かつ処理能力の低い計算機でも複数列車の運転シミュレーションを高速に処理することができる。
【００１５】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照しながら説明する。
【００１６】
本発明の実施の形態を図１から図１０を用いて説明する。
【００１７】
図１は、本発明の実施の形態に係る列車運転シミュレーション方法を適用した列車運転シミュレーション装置の一例を示す機能構成図である。
【００１８】
すなわち、本発明の実施の形態に係る列車運転シミュレーション方法を適用した列車運転シミュレーション装置は、入出力装置１と、データ管理部２と、機能制御部３と、計算順序策定部４と、運転計算部５とを備えている。
【００１９】
入出力装置１は、マウス、キーボード、およびディスプレイ等の入出力デバイスを備えており、これらマウスおよびキーボード等を用いてユーザが入力した列車運転シミュレーションに必要な入力データを受け付け、この入力された入力データを、機能制御部３に入力する。また、列車運転シミュレーションの実行を指示する指示入力をユーザから受け付ける。更に、機能制御部３から出力された列車運転シミュレーションの結果データを、ディスプレイから表示する。
【００２０】
データ管理部２は、列車運転シミュレーションに必要な計算条件や、列車運転シミュレーションによって得られた計算結果を保持する部位であって、保持するデータ毎に設けられた６つのデータベースを備えている。６つのデータベースとは、車両条件データベース６、走行条件データベース７、関係条件データベース８、出発順序条件データベース９、計算順序データベース１０、運転結果データベース１１である。
【００２１】
車両条件データベース６は、例えば列車の重量、加速性能、および減速性能等、列車の物理的な走行性能を示すの車両条件データを格納している。図２は、車両条件データベース６に格納されている車両条件データの一例を示すデータテーブルであって、車両Ｘ、Ｙ、Ｚ毎に重量、加速性能、減速性能を書き込んでいる。なお、図２においてＶは列車の速度、ａ１、ａ２、ｂ１、ｂ２、ｃ１、ｃ２、ｄ１、ｄ２、ｅ１、ｅ２、ｆ１、ｆ２は、それぞれ定数を示している。
【００２２】
走行条件データベース７は、列車が走行する線路の勾配位置、勾配度合、および抵抗等の走行条件データを格納している。図３は、走行条件データベース７に格納されている走行条件データの一例を示すデータテーブルであって、始端と終端とが線路の勾配位置に対応しており、テーブル内の数値は、予め定めた勾配位置に対応するパラメータである。また、勾配度合に対応するテーブル内の数値は、予め定めた勾配に対応するパラメータであり、＋は上り勾配、−は下り勾配を意味している。
【００２３】
関係条件データベース８は、列車運転における他の列車からの制約条件に関するデータ、すなわち信号情報のように先行列車と後続列車との位置関係により代わる関係条件データを格納している。図４は、関係条件データベース８に格納されている関係条件データの一例を示すデータテーブルであって、例えば図４に示す２行目のデータは、計算対象列車の列車位置が「０〜５」（数字は、位置に対応するパラメータ）の範囲内の位置にあり、かつ先行列車の列車位置が「５〜１０」（数字は、位置に対応するパラメータ）の範囲内の位置にある場合、速度制限として「２０」（数字は、速度に対応するパラメータ）の制約を受けることを意味している。
【００２４】
出発順序条件データベース９は、列車の位置関係を表すデータ、すなわち追い越しによって列車の順序関係が変わる地点と順序に関する出発順序条件データを格納している。図５は、出発順序条件データベース９に格納されている出発順序条件データの一例を示すデータテーブルである。図５に示す例は、駅が５つ（Ａ駅、Ｂ駅、Ｃ駅、Ｄ駅、Ｅ駅）があり、列車が６本（００１，００２，００３，００４，００５，００６）ある場合の、各駅を出発または通過する順序を表している。なお、Ａ駅〜Ｅ駅の他に終着駅であるＦ駅もあるが、終着駅については出発順序条件には含まれないために、図５には表していない。つまり、出発順序条件データとは、複数の列車がある駅を出発する順序を定めたデータのことである。
【００２５】
出発順序条件データでは、列車の順序が変わる状態、すなわち追い越しは、必ず駅で起こることを前提とする。また、その際、追い越される列車は駅で停車していることを前提とする。これは、駅間で走行中にある列車が別の列車を追い越すような線路の場合、追い越す列車は追い越される列車からの制約を受けないため、特に２つの列車の相互の位置関係を考慮する必要がないためである。
【００２６】
車両条件データ、走行条件データ、関係条件データ、出発順序条件データは、いずれも静的な条件データであり、ユーザは、列車運転シミュレーションを行うに先立って、入出力装置１からこれらデータを入力し、機能制御部３を介して、車両条件データベース６、走行条件データベース７、関係条件データベース８、出発順序条件データベース９にそれぞれ格納しておく。
【００２７】
計算順序データベース１０は、区間と列車との組み合わせに対する計算順序を定めた計算順序データを格納している。
【００２８】
運転結果データベース１１は、運転計算部５によってシミュレーション計算された列車の運転状態データを格納している。
【００２９】
機能制御部３は、入出力装置１によって入力された入力データをデータ管理部２の所定のデータベースに格納する。また、入出力装置１を介してなされたユーザからの列車運転シミュレーション開始指示を受けると、まず、計算順序策定部４に対して計算順序策定指示を行い、更に、計算順序策定部４によってなされた策定結果に基づいて運転計算部５に対して列車運転シミュレーションの実行指示を行う。また、運転計算部５によってなされた列車運転シミュレーションの結果データを入出力装置１に出力する。
【００３０】
計算順序策定部４は、図６に示すように、計算範囲設定部１４と、計算順序決定部１６とを備えている。計算範囲設定部１４は、機能制御部３から計算順序策定の指示を受けると、関係条件データベース８に格納されている関係条件データ、および出発順序条件データベース９に格納されている出発順序条件データに基づいて、列車および駅間の区間からなる組み合わせ（以下、＜列車、区間＞と表す）である計算範囲を設定する。計算順序決定部１６は、計算範囲設定部１４によって設定された各計算範囲である各＜列車、区間＞毎の計算順序を策定し、策定された計算順序データを計算順序データベース１０に格納する。
【００３１】
このような構成をなす計算順序策定部４は、具体的には、以下に示す（１）から（３）までの３つの制約条件を考慮しつつ、図７のフローチャートに示すように動作する。
（１）出発順序条件データを満足すること。
（２）一つの列車の計算は、必ず始発駅側から終着駅側の区間の順番に行うこと。
（３）ある列車のある区間の計算を行う場合、その列車に先行する列車の該区間が計算済であること。
【００３２】
以上のような制約条件を考慮しつつ、計算順序策定部４は、図７のフローチャートに示すように、まず、計算範囲設定部１４は、出発順序条件データベース９に格納されている出発順序条件データに基づいて、その一例を図８に示すような依存関係リストを作成する（Ｓ１）。図８に示す依存関係リストは、図５に示す出発順序条件データに対する＜列車、区間＞に対して、直後に計算可能な＜列車、区間＞をリスト化したものであって、具体的には、以下に示す（１）から（３）までの処理を行うことによって作成する。
（１）全ての＜列車、区間＞に対して以下の処理を行う。
（２）選択した＜列車、区間＞の同一区間の直後の後続列車をリストに加える。
（３）選択した＜列車、区間＞の同一列車の一つ後の区間をリストに加える。
【００３３】
次に、計算順序決定部１６は、ステップＳ１で作成された依存関係リストに基づいて、最終区間の最終列車の計算順序を最終とすることによって、最終の計算順序の＜列車、区間＞を決定する（Ｓ２）。図８に示す依存関係リストの例では、依存関係のない＜列車、区間＞＝＜００５、Ｅ−Ｆ＞を最終（３０番目）の計算順序として決定する。
【００３４】
ステップＳ３では、決定された＜列車、区間＞の計算順序を確定し（Ｓ３）、全ての＜列車、区間＞の計算順序が確定されている場合（Ｓ４：Ｙｅｓ）には、処理を終了し、計算順序の未確定の＜列車、区間＞がある場合（Ｓ４：Ｎｏ）には、ステップＳ２と同様に依存関係リストに基づいて、計算順序の未確定の＜列車、区間＞を対象に、最終側から計算順序を決定する（Ｓ５）。
【００３５】
図８に示す依存関係リストの例では、まず、ステップＳ２において、＜列車、区間＞＝＜００５、Ｅ−Ｆ＞を最終（３０番目）の計算順序として決定されているので、ステップＳ３では、＜列車、区間＞＝＜００５、Ｅ−Ｆ＞が３０番目の計算順序として確定される。次に、ステップＳ４では、その他の２９個の依存関係の計算順序が未確定であるので、ステップＳ５に進む。そして、ステップＳ５では、＜列車、区間＞＝＜００５、Ｅ−Ｆ＞の計算順序が３０番目で既に確定しているので、＜列車、区間＞＝＜００５、Ｅ−Ｆ＞と依存関係を持つ＜列車、区間＞＝＜００５、Ｄ−Ｅ＞が２９番目の計算順序として決定される。
【００３６】
このように決定された＜列車、区間＞＝＜００５、Ｄ−Ｅ＞の計算順序（２９番目）は、ステップＳ３にて確定され、次のステップＳ５では、計算順序が２９番目の＜列車、区間＞＝＜００５、Ｄ−Ｅ＞と依存関係を持つ＜列車、区間＞＝＜００５、Ｃ−Ｄ＞が２８番目の計算順序として決定される。なお、計算順序が確定している依存関係を複数もつ＜列車、区間＞の場合、区間が始発駅に近い＜列車、区間＞から優先的に、すなわち計算順序が後ろ側になるように計算順序を確定するようにする。
【００３７】
このように、ステップＳ３からステップＳ５までの処理を全ての＜列車、区間＞の計算順序が確定するまで繰り返すことによって、全ての＜列車、区間＞についての計算順序を最終側から確定して行き、図９にその一例を示すような計算順序データを作成する。計算順序策定部４は、このようにして計算順序データを作成すると、作成した計算順序データを計算順序データベース１０に格納する。
【００３８】
また、機能制御部３は、このようにして計算順序データが計算順序データベース１０に格納されると、計算順序データで定められた計算順序にしたがって、運転計算部５に対して、各列車および区間に対する列車運転シミュレーションの実行指示を行う。
【００３９】
運転計算部５は、図１０に示すように、シミュレーション部２０と、運転状態データ更新部２２と、繰返判定部２４とを備えている。
【００４０】
運転計算部５は、機能制御部３から列車運転シミュレーションの実行指示を受けると、シミュレーション部２０は、計算順序データベース１０に格納された計算順序データにしたがって、計算順序毎に、車両条件データベース６に格納されている車両条件データ、および走行条件データベース７に格納されている走行条件データを用いて列車の運転状態のシミュレーション計算を行い、シミュレーション計算の結果得られた運転状態データを運転状態データ更新部２２に出力する。
【００４１】
運転状態データ更新部２２は、シミュレーション部２０から出力された運転状態データを運転結果データベース１１に書き込むことによって、運転結果データベース１１に格納されていた運転状態データを更新する。
【００４２】
繰返判定部２４は、計算順序データベース１０に格納されている計算順序データと、運転結果データベース１１に格納されている運転状態データを参照し、全ての計算順序の＜列車、区間＞についてのシミュレーション計算が行われたか否かを判定する。そして、全ての計算順序の＜列車、区間＞についてのシミュレーション計算が行われている場合には、処理を終了し、そうでない場合には、シミュレーション部２０に対して、次の計算順序の＜列車、区間＞のシミュレーション計算を行わせる。
【００４３】
なお、シミュレーション部２０は、先行する計算順序のシミュレーション計算を行っている場合には、車両条件データ、および走行条件データに加えて、関係条件データベース８に格納されている関係条件データ、および運転結果データベース１１に格納されている直前の計算順序の運転状態データを用いてシミュレーション計算を行う。このシミュレーション計算の結果得られた運転状態データもまた、運転状態データ更新部２２によって更新され、運転結果データベース１１に格納されるようにしている。
【００４４】
本発明の実施の形態に係る列車運転シミュレーション方法を適用した列車運転シミュレーション装置は、上述したように、まず、関係条件データベース８に格納されている関係条件データに基づいて、部分的に列車運転シミュレーションの計算を行う＜列車、区間＞への細分化が行われる。更に、この細分化された各＜列車、区間＞では、各列車の位置の順序関係が不変であるものとして、各＜列車、区間＞の列車運転シミュレーションを行うために計算順序が確定され、この確定した計算順序の順に、列車運転シミュレーションが行われる。
【００４５】
列車運転シミュレーションの結果得られた運転状態データは、運転結果データベース１１に格納され、次の計算順序の＜列車、区間＞の列車運転シミュレーションを行う場合には、直前の計算順序の＜列車、区間＞の運転状態データが用いて行われる。
【００４６】
これによって、各＜列車、区間＞の列車運転シミュレーションを行う場合には、必要最低限のデータ量のみを使用して行うことができるようになるために、記憶容量の少ない計算機でも複数列車の列車運転シミュレーションを行うことが可能となる。また、処理能力の低い計算機でも複数列車の列車運転シミュレーションを高速に処理することが可能となる。
【００４７】
以上、本発明の好適な実施の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
【００４８】
【発明の効果】
以上説明したように、本発明によれば、部分的に列車運転シミュレーションを行うことができる列車と区間との組み合わせからなる計算範囲への細分化を行い、各計算範囲における区間内では各列車の位置の順序関係が一定であるという仮定の下で、各計算範囲の計算順序を策定し、策定された計算順序に従って各計算範囲毎に列車運転シミュレーションの計算を行うことができる。
【００４９】
各計算範囲における列車運転シミュレーションは、直前の計算順序の計算範囲における列車運転シミュレーションによって得られた運転状態データを用いて行われることから、必要最低限のデータ量のみを使用して行うことができる。
【００５０】
以上により、記憶容量の少ない計算機でも複数列車の列車運転シミュレーションを行うことができ、かつ処理能力の低い計算機でも複数列車の列車運転シミュレーションを高速に処理することができる列車運転シミュレーション方法および列車運転シミュレーション装置を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る列車運転シミュレーション方法を適用した列車運転シミュレーション装置の一例を示す機能構成図
【図２】車両条件データベースに格納されている車両条件データの一例を示すデータテーブル
【図３】走行条件データベースに格納されている走行条件データの一例を示すデータテーブル
【図４】関係条件データベースに格納されている関係条件データの一例を示すデータテーブル
【図５】出発順序条件データベースに格納されている出発順序条件データの一例を示すデータテーブル
【図６】計算順序策定部の一例を示す機能ブロック図
【図７】計算順序策定部の動作を示すフローチャート
【図８】依存関係リストの一例を示すデータテーブル
【図９】計算順序データの一例を示すデータテーブル
【図１０】運転計算部の一例を示す機能ブロック図
【符号の説明】
１…入出力装置
２…データ管理部
３…機能制御部
４…計算順序策定部
５…運転計算部
６…車両条件データベース
７…走行条件データベース
８…関係条件データベース
９…出発順序条件データベース
１０…計算順序データベース
１１…運転結果データベース
１４…計算範囲設定部
１６…計算順序決定部
２０…シミュレーション部
２２…運転状態データ更新部
２４…繰返判定部
【図１】
2004106691.tif 000003
【図２】
2004106691.tif 000004
【図３】
2004106691.tif 000005
【図４】
2004106691.tif 000006
【図５】
2004106691.tif 000007
【図６】
2004106691.tif 000008
【図７】
2004106691.tif 000009
【図８】
2004106691.tif 000010
【図９】
2004106691.tif 000011
【図１０】
2004106691.tif 000012