(57)【要約】【課題】より精度の高いシミュレーションを実現すること。【解決手段】シミュレーション装置１では、旅客管理部１１０が、行動属性毎に出現駅と目的駅との組合せ毎の旅客の出現確率を定義した旅客出現確率テーブル５２２に従って、行動属性及び目的駅が設定された旅客を各駅に出現させる。そして、出現させた旅客それぞれの行動を当該旅客に設定した乗継計画に従って制御するとともに、各旅客に設定されている乗継計画を、各駅間の最適な列車乗継を格納した列車乗継データ６１４を基に逐次更新する。また、運行制御部１２０が、予め定められた計画ダイヤに従い、各駅における旅客それぞれの列車の乗降によって生じる遅延等を算出して各列車の運行を制御する。そして、列車乗継作成部１３０が、列車の運行に伴い、その時点での各駅間の最適な列車乗継を算出して列車乗継データ６１４を更新する。【選択図】図１
2008062729.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーション時刻を時々刻々と計時する計時手段、
各列車の各駅の着発時刻を少なくとも含む運転時刻が定義された所与のダイヤデータに基づき、前記計時手段の計時開始時刻において所定の最適乗継条件を満足する各駅間の列車乗継を算出する計時開始時点列車乗継算出手段、
前記算出された各駅間の列車乗継を最新の列車乗継として記憶する最新列車乗継記憶手段、
前記計時手段により計時されるシミュレーション時刻に従って、前記ダイヤデータに沿った各列車の仮想的な運行を制御する列車仮想運行制御手段、
前記計時手段により計時されている現在のシミュレーション時刻において、前記列車仮想運行制御手段により運行された何れかの列車が何れかの駅へ到着又は発車したことを検出する着発発生検出手段、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅を起点とし他の駅を目的駅とする前記最適乗継条件を満足する列車乗継を当該駅間の最新の列車乗継として算出し、前記最新列車乗継記憶手段に記憶されている該当する駅間の列車乗継を更新する最新列車乗継更新手段、
出発駅と目的駅とを設定した仮想旅客を当該出発駅に逐次出現させる旅客出現手段、
前記旅客出現手段により新たな仮想旅客が出現された場合に、当該仮想旅客の列車乗継として、当該出現時点において前記最新列車乗継記憶手段に記憶されている当該仮想旅客の出発駅と目的駅間の列車乗継を設定する旅客別列車乗継設定手段、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅に滞留している仮想旅客及び着発した当該列車に乗車している仮想旅客それぞれに設定されている列車乗継のうち、当該駅を起点とした当該仮想旅客の目的駅までの列車乗継を、前記最新列車乗継に記憶されている当該駅間の列車乗継に更新する旅客別列車乗継更新手段、
前記着発発生検出手段による検出がなされた場合に、前記旅客別列車乗継更新手段により更新された列車乗継に従って、当該検出された着発駅に滞留している仮想旅客の着発した当該列車への乗車適否、及び、当該列車に乗車していた仮想旅客の降車適否を判定して、当該仮想旅客の当該列車に対する乗降を制御する仮想旅客乗降制御手段、
前記仮想旅客乗降制御手段の乗降制御に従って、各列車に乗車している仮想旅客を管理する乗客管理手段、
としてコンピュータを機能させるためのプログラム。
【請求項２】
前記仮想旅客乗降制御手段による当該列車への仮想旅客の乗降にかかる仮想乗降時間を算出する仮想乗降時間算出手段として前記コンピュータを機能させ、
前記列車仮想運行制御手段が、前記仮想乗降時間算出手段により算出された仮想乗降時間に基づいて、前記ダイヤデータに定義されている当該列車の発車時刻を遅らせる乗降時間順応化手段を有するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記列車仮想運行制御手段が、所定の列車運行制約条件を満たすように前記ダイヤデータに定義されている各列車の各駅の着発時刻を可変して列車の運行を制御する運行制約順応化手段を有するように前記コンピュータを機能させるための請求項１又は２に記載のプログラム。
【請求項４】
前記旅客出現手段により出現された各仮想旅客の乗車位置を設定する乗車位置設定手段として前記コンピュータを機能させ、
前記乗客管理手段が、前記仮想旅客乗降制御手段により仮想旅客が列車に乗車する場合に前記乗車位置設定手段により設定された乗車位置に乗車させることで、各列車の各乗車位置毎の仮想旅客を管理するように前記コンピュータを機能させる、
ための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記最適乗継条件が異なる複数の行動属性のうちの何れかの行動属性を、前記旅客出現手段により出現された各仮想旅客それぞれに設定する行動属性設定手段として前記コンピュータを機能させ、
前記計時開始時点列車乗継算出手段及び前記最新列車乗継変更手段が、前記行動属性毎に、対応する最適乗継条件を満足する列車乗継を算出するように前記コンピュータを機能させ、
前記旅客別列車乗継設定手段及び前記旅客別列車乗継更新手段が、当該仮想旅客に設定されている行動属性に対応する列車乗継を当該仮想旅客の列車乗継に設定するように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記ダイヤデータに基づくダイヤ図と、前記列車仮想運行制御手段により運行された各列車の運行実績に基づく実績ダイヤ図とを重畳的に表示制御するとともに、前記計時手段により計時されているシミュレーション時刻の進行に合わせて当該実績ダイヤ図を逐次更新表示していくダイヤ図表示制御手段として前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
ユーザの選択操作に従って、前記ダイヤ図表示制御手段により表示制御されたダイヤ図及び実績ダイヤ図中の列車を選択する列車選択手段、
前記乗客管理手段の管理内容に基づいて、前記選択された列車に乗車している仮想乗客の一覧及び／又は人数を表示制御するとともに、その表示内容を前記計時手段により計時されているシミュレーション時刻の進行に合わせて逐次更新する乗客表示制御手段、
として前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
各仮想旅客それぞれの移動履歴に基づいて、前記ダイヤデータに対する不効用値を算出する不効用値算出手段として前記コンピュータを機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
シミュレーション時刻を時々刻々と計時する計時手段と、
各列車の各駅の着発時刻を少なくとも含む運転時刻が定義された所与のダイヤデータに基づき、前記計時手段の計時開始時刻において所定の最適乗継条件を満足する各駅間の列車乗継を算出する計時開始時点列車乗継算出手段と、
前記算出された各駅間の列車乗継を最新の列車乗継として記憶する最新列車乗継記憶手段と、
前記計時手段により計時されるシミュレーション時刻に従って、前記ダイヤデータに沿った各列車の仮想的な運行を制御する列車仮想運行制御手段と、
前記計時手段により計時されている現在のシミュレーション時刻において、前記列車仮想運行制御手段により運行された何れかの列車が何れかの駅へ到着又は発車したことを検出する着発発生検出手段と、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅を起点とし他の駅を目的駅とする前記最適乗継条件を満足する列車乗継を当該駅間の最新の列車乗継として算出し、前記最新列車乗継記憶手段に記憶されている該当する駅間の列車乗継を更新する最新列車乗継更新手段と、
出発駅と目的駅とを設定した仮想旅客を当該出発駅に逐次出現させる旅客出現手段と、
前記旅客出現手段により新たな仮想旅客が出現された場合に、当該仮想旅客の列車乗継として、当該出現時点において前記最新列車乗継記憶手段に記憶されている当該仮想旅客の出発駅と目的駅間の列車乗継を設定する旅客別列車乗継設定手段と、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅に滞留している仮想旅客及び着発した当該列車に乗車している仮想旅客それぞれに設定されている列車乗継のうち、当該駅を起点とした当該仮想旅客の目的駅までの列車乗継を、前記最新列車乗継に記憶されている当該駅間の列車乗継に更新する旅客別列車乗継更新手段と、
前記着発発生検出手段による検出がなされた場合に、前記旅客別列車乗継更新手段により更新された列車乗継に従って、当該検出された着発駅に滞留している仮想旅客の着発した当該列車への乗車適否、及び、当該列車に乗車していた仮想旅客の降車適否を判定して、当該仮想旅客の当該列車に対する乗降を制御する仮想旅客乗降制御手段と、
前記仮想旅客乗降制御手段の乗降制御に従って、各列車に乗車している仮想旅客を管理する乗客管理手段と、
を備えたシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置等に関する。
【背景技術】
【０００２】
列車のダイヤ編成や運行管理等をシミュレーションするもととなるデータとして、自動改札機で収集されたデータを集計した改札口別人員データ及び駅間相互乗客数データを用いることで、旅客に関する精度の高いデータを利用した精度の良いシミュレーションを行い得るとする発明が特許文献１に開示されている。
【特許文献１】特開２００２−１８７５５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に開示された発明はシミュレーションのもととなるデータに関する発明である。このため、特許文献１に開示されているシミュレーションは、集計した改札口別人員データ及び駅間相互乗客数データをもとに、全旅客のうちの所定割合の旅客の通勤／通学時間をシフトさせたり、旅客の全体数を所定割合増減させるといった、集計されたデータの全体の値を用いたシミュレーション方法の概要であり、具体的な処理方法は開示されていない。即ち、シミュレーションのもととなるデータは自動改札機で収集された精確なデータではあるが、シミュレーションそのものは集計されたデータの全体値を用いたシミュレーションに過ぎなかった。つまり、シミュレーションに用いるデータが精確であったとしても、シミュレーションの処理自体の精度が良いものでなければ結果的な精度は悪くなるため、精度の高いシミュレーションが求められる。
【０００４】
本発明は、上述の事情に鑑みてなされたものであり、より精度の高いシミュレーションを実現することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するための第１の発明は、
シミュレーション時刻を時々刻々と計時する計時手段（例えば、図１のＣＰＵ１００；図２６のステップＡ１，Ａ２１）、
各列車の各駅の着発時刻を少なくとも含む運転時刻が定義された所与のダイヤデータに基づき、前記計時手段の計時開始時刻において所定の最適乗継条件を満足する各駅間の列車乗継を算出する計時開始時点列車乗継算出手段（例えば、図１の列車乗継作成部１３０；図２６のステップＡ７）、
前記算出された各駅間の列車乗継を最新の列車乗継（例えば、図６の列車乗継データ６１４）として記憶する最新列車乗継記憶手段（例えば、図１のＲＡＭ６００）、
前記計時手段により計時されるシミュレーション時刻に従って、前記ダイヤデータに沿った各列車の仮想的な運行を制御する列車仮想運行制御手段（例えば、図１の運行制御部１２０；図２９のステップＤ５、図３０のステップＥ２１）、
前記計時手段により計時されている現在のシミュレーション時刻において、前記列車仮想運行制御手段により運行された何れかの列車が何れかの駅へ到着又は発車したことを検出する着発発生検出手段（例えば、図１の運行制御部１２０；図２９のステップＤ１、図３０のステップＥ１）、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅を起点とし他の駅を目的駅とする前記最適乗継条件を満足する列車乗継を当該駅間の最新の列車乗継として算出し、前記最新列車乗継記憶手段に記憶されている該当する駅間の列車乗継を更新する最新列車乗継更新手段（例えば、図１の列車乗継作成部１３０；図２９のステップＤ９、図３のステップＥ７）、
出発駅と目的駅とを設定した仮想旅客を当該出発駅に逐次出現させる旅客出現手段（例えば、図１の旅客管理部１１０；図２６のステップＡ１１）、
前記旅客出現手段により新たな仮想旅客が出現された場合に、当該仮想旅客の列車乗継として、当該出現時点において前記最新列車乗継記憶手段に記憶されている当該仮想旅客の出発駅と目的駅間の列車乗継を設定する旅客別列車乗継設定手段（例えば、図１の旅客管理部１１０；図２８のステップＣ５）、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅に滞留している仮想旅客及び着発した当該列車に乗車している仮想旅客それぞれに設定されている列車乗継のうち、当該駅を起点とした当該仮想旅客の目的駅までの列車乗継を、前記最新列車乗継に記憶されている当該駅間の列車乗継に更新する旅客別列車乗継更新手段（例えば、図１の旅客管理部１１０；図２９のステップＤ１１、図３０のステップＥ９）、
前記着発発生検出手段による検出がなされた場合に、前記旅客別列車乗継更新手段により更新された列車乗継に従って、当該検出された着発駅に滞留している仮想旅客の着発した当該列車への乗車適否、及び、当該列車に乗車していた仮想旅客の降車適否を判定して、当該仮想旅客の当該列車に対する乗降を制御する仮想旅客乗降制御手段（例えば、図１の旅客管理部１１０；図３０のステップＥ１１）、
前記仮想旅客乗降制御手段の乗降制御に従って、各列車に乗車している仮想旅客を管理する乗客管理手段（例えば、図１の旅客管理部１１０）、
としてコンピュータを機能させるためのプログラム（例えば、図１のシミュレーションプログラム５１０）である。
【０００６】
また、第９の発明は、
シミュレーション時刻を時々刻々と計時する計時手段と、
各列車の各駅の着発時刻を少なくとも含む運転時刻が定義された所与のダイヤデータに基づき、前記計時手段の計時開始時刻において所定の最適乗継条件を満足する各駅間の列車乗継を算出する計時開始時点列車乗継算出手段と、
前記算出された各駅間の列車乗継を最新の列車乗継として記憶する最新列車乗継記憶手段と、
前記計時手段により計時されるシミュレーション時刻に従って、前記ダイヤデータに沿った各列車の仮想的な運行を制御する列車仮想運行制御手段と、
前記計時手段により計時されている現在のシミュレーション時刻において、前記列車仮想運行制御手段により運行された何れかの列車が何れかの駅へ到着又は発車したことを検出する着発発生検出手段と、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅を起点とし他の駅を目的駅とする前記最適乗継条件を満足する列車乗継を当該駅間の最新の列車乗継として算出し、前記最新列車乗継記憶手段に記憶されている該当する駅間の列車乗継を更新する最新列車乗継更新手段と、
出発駅と目的駅とを設定した仮想旅客を当該出発駅に逐次出現させる旅客出現手段と、
前記旅客出現手段により新たな仮想旅客が出現された場合に、当該仮想旅客の列車乗継として、当該出現時点において前記最新列車乗継記憶手段に記憶されている当該仮想旅客の出発駅と目的駅間の列車乗継を設定する旅客別列車乗継設定手段と、
前記着発発生検出手段による検出がなされた場合に、当該検出された着発駅に滞留している仮想旅客及び着発した当該列車に乗車している仮想旅客それぞれに設定されている列車乗継のうち、当該駅を起点とした当該仮想旅客の目的駅までの列車乗継を、前記最新列車乗継に記憶されている当該駅間の列車乗継に更新する旅客別列車乗継更新手段と、
前記着発発生検出手段による検出がなされた場合に、前記旅客別列車乗継更新手段により更新された列車乗継に従って、当該検出された着発駅に滞留している仮想旅客の着発した当該列車への乗車適否、及び、当該列車に乗車していた仮想旅客の降車適否を判定して、当該仮想旅客の当該列車に対する乗降を制御する仮想旅客乗降制御手段と、
前記仮想旅客乗降制御手段の乗降制御に従って、各列車に乗車している仮想旅客を管理する乗客管理手段と、
を備えたシミュレーション装置（例えば、図１のシミュレーション装置１）である。
【０００７】
この第１又は第９の発明によれば、時々刻々計時されている現在のシミュレーション時刻において、ダイヤデータに沿った仮想的な列車運行により何れかの列車が何れかの駅へ到着又は発車したことが検出されると、当該検出された着発駅を起点とし他の駅を目的駅とする最適乗継条件を満足する列車乗継が算出され、最新列車乗継記憶手段に記憶されている当該駅間の最新の列車乗継として更新される。従って、最新列車乗継記憶手段に記憶されている列車乗継は、時々刻々計時されている現在のシミュレーション時刻において、最適な列車乗継であるといえる。
【０００８】
そして、旅客出現手段により出発駅と目的駅とが設定された仮想旅客１人１人が当該出発駅に逐次出現され、旅客別列車乗継設定手段、旅客別列車乗継更新手段及び仮想旅客乗降制御手段によって仮想旅客１人１人が制御されることとなる。即ち、仮想旅客の出現時においてはその出現時点において最新列車乗継記憶手段に記憶されている当該仮想旅客の出発駅と目的駅間の列車乗継が当該仮想旅客に設定され、着発発生検出手段による検出がなされた場合には、当該検出された着発駅に滞留している仮想旅客及び着発した当該列車に乗車している仮想旅客それぞれに設定されている列車乗継のうち、当該駅を起点とした当該仮想旅客の目的駅までの列車乗継が、最新列車乗継記憶手段に記憶されている当該駅間の列車乗継に更新される。
【０００９】
この結果、仮想旅客１人１人の列車乗継は、当該仮想旅客の出現時、当該仮想旅客が滞留していた駅への列車の着発、当該仮想旅客が乗車していた列車の各駅への着発に応じて、最新の列車乗継に更新・設定されることとなり、時々刻々計時される現在のシミュレーション時刻における最適な列車乗継となる。そして、仮想旅客乗降制御手段によって、各仮想旅客１人１人の乗降が、現在のシミュレーション時刻における最新・最適な列車乗継に従って制御されることとなる。
【００１０】
よって、時々刻々計時されていくシミュレーション時刻や列車の仮想的な運行によって変化する各駅間の最適な列車乗継を忠実に計算し、各仮想旅客１人１人に適用することで、極めて精度の良いシミュレーションを実現できる。
【００１１】
また、第２の発明として、第１の発明のプログラムであって、
前記仮想旅客乗降制御手段による当該列車への仮想旅客の乗降にかかる仮想乗降時間を算出する仮想乗降時間算出手段（例えば、図１の運行制御部１２０；図３０のステップＥ１５）として前記コンピュータを機能させ、
前記列車仮想運行制御手段が、前記仮想乗降時間算出手段により算出された仮想乗降時間に基づいて、前記ダイヤデータに定義されている当該列車の発車時刻を遅らせる乗降時間順応化手段（例えば、図１の運行制御部１２０；図３０のステップＥ２５）を有するように前記コンピュータを機能させるためのプログラムとしても良い。
【００１２】
この第２の発明によれば、列車への仮想旅客の乗降にかかる仮想乗降時間が算出され、算出された仮想乗降時間に基づいて、ダイヤデータに定義されている列車の発車時刻を遅らせる制御がなされる。従って、旅客の乗降時間を忠実に反映した列車の仮想的な運行制御を実現できる。
【００１３】
また、第３の発明として、第１又は第２の発明のプログラムであって、
前記列車仮想運行制御手段が、所定の列車運行制約条件を満たすように前記ダイヤデータに定義されている各列車の各駅の着発時刻を可変して列車の運行を制御する運行制約順応化手段（例えば、図１の運行制御部１２０；図３０のステップＥ２５）を有するように前記コンピュータを機能させるためのプログラムとしても良い。
【００１４】
ここで、列車運行制約条件とは、例えば、列車の発着時間間隔の確保や所定時分の折り返し時分の確保といった列車運行上の制約条件のことである。第３の発明によれば、所定の列車運行制約条件を満たすように、ダイヤデータに定義されている各列車の各駅の着発時刻を可変して列車の運行が制御される。従って、列車運行上の制約を忠実に再現・反映した仮想的な列車の運行制御が実現され、その結果、精度の良いシミュレーションが実現される。
【００１５】
また、第４の発明として、第１〜第３の何れかの発明のプログラムであって、
前記旅客出現手段により出現された各仮想旅客の乗車位置を設定する乗車位置設定手段（例えば、図１の旅客管理部１１０；図２８のステップＣ３）として前記コンピュータを機能させ、
前記乗客管理手段が、前記仮想旅客乗降制御手段により仮想旅客が列車に乗車する場合に前記乗車位置設定手段により設定された乗車位置に乗車させることで、各列車の各乗車位置毎の仮想旅客を管理するように前記コンピュータを機能させる、
ためのプログラムとしても良い。
【００１６】
この第４の発明によれば、出現された各仮想旅客の乗車位置が設定され、仮想旅客が列車に乗車する場合、設定された乗車位置に乗車させることで、各列車の乗車位置毎の仮想旅客が管理される。即ち、仮想旅客を単に出発駅に出現させるだけでなく、乗車位置を設定可能であるため、例えば、出発駅や目的駅の改札口付近といった適切な位置での仮想旅客の乗車をシミュレートすることができる。そして、各列車に乗車している仮想旅客は乗車位置毎に管理されるため、各列車の位置毎に乗車人数等を計算することができる。
【００１７】
また、第５の発明として、第１〜第４の何れかの発明のプログラムであって、
前記最適乗継条件が異なる複数の行動属性のうちの何れかの行動属性を、前記旅客出現手段により出現された各仮想旅客それぞれに設定する行動属性設定手段（例えば、図１の旅客管理部１１０；図２８のステップＣ１）として前記コンピュータを機能させ、
前記計時開始時点列車乗継算出手段及び前記最新列車乗継変更手段が、前記行動属性毎に、対応する最適乗継条件を満足する列車乗継を算出するように前記コンピュータを機能させ、
前記旅客別列車乗継設定手段及び前記旅客別列車乗継更新手段が、当該仮想旅客に設定されている行動属性に対応する列車乗継を当該仮想旅客の列車乗継に設定するように前記コンピュータを機能させるためのプログラムとしても良い。
【００１８】
この第５の発明によれば、最適乗継条件が異なる複数の行動属性のうちの何れかの行動属性が出現された各仮想旅客それぞれに設定され、行動属性毎に対応する最適乗継条件を満足する列車乗継が算出され、仮想旅客に設定されている行動属性に対応する列車乗継が当該仮想旅客の列車乗継に設定される。この結果、例えば、乗換回避型（乗換回数が最小となるような列車乗継を最適とする型）や最早到着型（最も早く目的駅に到着する列車乗継を最適とする型）といった異なる最適乗継条件の複数種類の行動属性に応じた旅客をシミュレートすることが可能となり、シミュレーションの精度を一層高めることができる。
【００１９】
また、第６の発明として、第１〜第５の何れかの発明のプログラムであって、
前記ダイヤデータに基づくダイヤ図と、前記列車仮想運行制御手段により運行された各列車の運行実績に基づく実績ダイヤ図とを重畳的に表示制御するとともに、前記計時手段により計時されているシミュレーション時刻の進行に合わせて当該実績ダイヤ図を逐次更新表示していくダイヤ図表示制御手段（例えば、図１の画面表示制御部１５０；図２６のステップＡ５、図３２のステップＧ１）として前記コンピュータを機能させるためのプログラムとしても良い。
【００２０】
この第６の発明によれば、ダイヤデータに基づくダイヤ図と、運行された各列車の運行実績に基づく実績ダイヤ図とが重畳的に表示制御されるとともに、計時されているシミュレーション時刻の進行に合わせて、実績ダイヤ図が逐次更新表示されていく。従って、ダイヤ図上、シミュレーション時刻が現在どの位置にあるのか、シミュレーションが終了した実績ダイヤ図ではどのような列車運行がなされたのかを分かり易く表示することができる。
【００２１】
また、第７の発明として、第１〜第６の何れかの発明のプログラムであって、
ユーザの選択操作に従って、前記ダイヤ図表示制御手段により表示制御されたダイヤ図及び実績ダイヤ図中の列車を選択する列車選択手段（例えば、図１の入力部２００；図３２のステップＧ１９）、
前記乗客管理手段の管理内容に基づいて、前記選択された列車に乗車している仮想乗客の一覧及び／又は人数を表示制御するとともに、その表示内容を前記計時手段により計時されているシミュレーション時刻の進行に合わせて逐次更新する乗客表示制御手段（例えば、図１の画面表示制御部１５０；図３２のステップＧ２１，Ｇ５）、
として前記コンピュータを機能させるためのプログラムとしても良い。
【００２２】
この第７の発明によれば、ユーザの選択操作に従って、表示制御されたダイヤ図及び実績ダイヤ図中の選択された列車に乗車している仮想旅客の一覧及び／又は人数が表示制御されるとともに、その表示内容が、計時されているシミュレーション時刻の進行に合わせて逐次更新される。従って、乗車している仮想旅客の一覧及び／又は人数が知りたい列車の選択を簡単に行うことができ、選択し、表示された仮想旅客の一覧及び／又は人数も、シミュレーション時刻の進行に合わせて適切に更新されるため、使い勝手のよいシミュレーションを実現できる。
【００２３】
また、第８の発明として、第１〜第７の何れかの発明のプログラムであって、
各仮想旅客それぞれの移動履歴に基づいて、前記ダイヤデータに対する不効用値を算出する不効用値算出手段（例えば、図１の不効用値算出部１４０；図２６のステップＡ２５）として前記コンピュータを機能させるためのプログラムとしても良い。
【００２４】
この第８の発明によれば、各仮想旅客それぞれの移動履歴に基づいて、ダイヤデータに対する不効用値が算出される。即ち、シミュレーションした１人１人の仮想旅客の移動履歴からダイヤデータの不効用値を算出できるため、ダイヤに対する評価として精度の良い評価を行うことができる。
【発明の効果】
【００２５】
本発明によれば、時々刻々計時されている現在のシミュレーション時刻において、ダイヤデータに沿った仮想的な列車運行により、何れかの列車が何れかの駅へ到着又は発車したことが検出されると、当該検出された着発駅を起点とし他の駅を目的駅とする最適乗継条件を満足する列車乗継が算出され、最新列車乗継記憶手段に記憶されている当該駅間の最新の列車乗継として更新される。従って、最新列車乗継記憶手段に記憶されている列車乗継は、時々刻々計時されている現在のシミュレーション時刻において、最適な列車乗継であるといえる。
【００２６】
そして、旅客出現手段により出発駅と目的駅とが設定された仮想旅客１人１人が当該出発駅に逐次出現され、旅客別列車乗継設定手段及び旅客別列車乗継更新手段、仮想旅客乗降制御手段によって、仮想旅客１人１人が制御されることとなる。即ち、仮想旅客の出現時においてはその出現時点において最新列車乗継記憶手段に記憶されている当該仮想旅客の出発駅と目的駅間の列車乗継が当該仮想旅客に設定され、着発発生検出手段による検出がなされた場合には、当該検出された着発駅に滞留している仮想旅客及び着発した当該列車に乗車している仮想旅客それぞれに設定されている列車乗継のうち、当該駅を起点とした当該仮想旅客の目的駅までの列車乗継が、最新列車乗継記憶手段に記憶されている当該駅間の列車乗継に更新される。
【００２７】
この結果、仮想旅客１人１人の列車乗継は、当該仮想旅客の出現時、当該仮想旅客が滞留していた駅への列車の着発、当該仮想旅客が乗車していた列車の各駅への着発に応じて、最新の列車乗継に更新・設定されることとなり、時々刻々計時される現在のシミュレーション時刻における最適な列車乗継となる。そして、仮想旅客乗降制御手段によって、各仮想旅客１人１人の乗降が、現在のシミュレーション時刻における最新・最適な列車乗継に従って制御されることとなる。
【００２８】
よって、時々刻々計時されていくシミュレーション時刻や列車の仮想的な運行によって変化する各駅間の最適な列車乗継を忠実に計算し、各仮想旅客１人１人に適用することで、極めて精度の良いシミュレーションを実現できる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して本発明の好適な実施形態を説明する。
【００３０】
［構成］
図１は、本実施形態におけるシミュレーション装置１の内部構成を示すブロック図である。同図によれば、シミュレーション装置１は、ＣＰＵ１００と、入力部２００と、表示部３００と、通信部４００と、ハードディスク（記憶装置）５００と、ＲＡＭ６００とが、バス１０により互いにデータ通信可能に接続されて構成された公知のコンピュータシステムを用いて実現される。
【００３１】
ＣＰＵ１００は、ハードディスク５００やＲＡＭ６００に記憶されるプログラムやデータ、入力部２００から入力されたデータ等に基づいて、シミュレーション装置１を構成する各部への指示やデータの転送を行い、シミュレーション装置１の全体制御等を行う。
【００３２】
入力部２００は、例えばキーボードやマウス、タッチパネル及び各種スイッチ等によって実現される入力装置であり、操作入力に応じた入力信号をＣＰＵ１００に出力する。表示部３００は、例えばＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic Luminescent Display）等によって実現される表示装置であり、ＣＰＵ１００から入力される表示信号に基づく各種画面を表示する。通信部４００は、例えば、無線通信モジュールやルータ、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路等によって実現される通信装置であり、外部機器との間でデータ通信を行う。
【００３３】
ハードディスク５００は、ＣＰＵ１００がシミュレーション装置１を統合的に制御するための諸機能を実現するためのシステムプログラムや、シミュレーションを実現するためのプログラムやデータ等を記憶している。本実施形態では、プログラムとしてシミュレーションプログラム５１０を記憶しているとともに、データとして、計画ダイヤデータ５２１と、旅客出現確率テーブル５２２と、乗車位置選択確率テーブル５２３と、定員データ５２４と、上限乗車率データ５２５とを記憶している。
【００３４】
ＲＡＭ６００は、ＣＰＵ１００の作業領域として用いられ、ハードディスク５００から読み出されたプログラムやデータ、各種プログラムに従って実行した演算結果、入力部２００からの入力信号等が一時的に格納される。本実施形態では、運用ダイヤデータ６１１と、実績ダイヤデータ６１２と、旅客データ６１３と、列車乗継データ６１４と、列車データ６１５と、乗降人数データ６２１と、乗降実績データ６２２と、乗降時間データ６２３と、滞留旅客データ６２４と、不効用値データ６２５とが格納される。
【００３５】
また、本実施形態において、ＣＰＵ１００は、機能部として、旅客管理部１１０と、運行制御部１２０と、列車乗継作成部１３０と、不効用値算出部１４０と、画面表示制御部１５０とを備えている。
【００３６】
旅客管理部１１０は、仮想旅客（以下、単に「旅客」という）それぞれを管理し、その行動を制御する。具体的には、シミュレーションの実行中、旅客の出現確率を定義した旅客出現確率テーブル５２２に従って、対象線区内の各駅での旅客の出現を制御する。
【００３７】
図２は、旅客出現確率テーブル５２２のデータ構成の一例を示す図である。同図によれば、旅客出現確率テーブル５２２は、行動属性５２２ａ毎に用意され、時間帯５２２ｂ毎に、出現駅５２２ｃと目的駅５２２ｄとの組合せそれぞれについて旅客の出現確率（単位時間あたりの旅客の出現人数に相当）を格納している。即ち、出現駅毎に、他の各駅を目的駅とする旅客の出現確率を定義している。この出現確率は、例えば、各駅に設置されている自動改札機等で収集された旅客の駅構内への入退場時刻のデータ、乗車駅及び降車駅のデータ等から決定されたり、各旅客の利用列車や時間帯毎の各駅間の乗車人数といった調査データを基に決定される値である。
【００３８】
行動属性５２２ａとは、旅客の出発駅から目的駅までの列車の乗継条件を定めるパラメータである。ここでは、最も早く目的駅に到達できる列車を選ぶ「最早列車選択型」、ある程度の時間を要しても乗換回数が少ない列車を選ぶ「乗換回避型」の何れかであるとする。時間帯５２２ｂは、対象線区内の運行の始発から終着までを含むシミュレーションの対象となり得る全時間帯を、例えば３０分といった所定の単位時間で区切った時間帯である。また、出現駅５２２ｃ及び目的駅５２２ｄは、シミュレーションの対象線区内の全ての駅それぞれである。
【００３９】
旅客管理部１１０は、行動属性毎に、該当する旅客出現確率テーブル５２２において定義された出現駅と目的駅との組合せ毎の出現確率に従って、当該出現駅に旅客を出現させる。具体的には、例えば、出現確率に基づいてポアソン分布に従った乱数を発生させ、発生させた乱数に従って旅客の仮想的な出現時刻の分布を生成し、生成した出現時刻の分布に従って旅客を出現させる。
【００４０】
図３は、旅客出現確率テーブル５２２に基づく旅客の出現時刻の分布の一例を示す図である。同図では、横軸を時刻として、分単位での旅客の出現時刻の分布を示している。同図（ａ）は、Ａ駅を出現駅としＢ駅を目的駅とする旅客、即ちＡ駅におけるＢ駅を目的駅とする旅客の出現時刻の分布を示し、同図（ｂ）は、Ａ駅を出現駅としＣ駅を目的駅とする旅客、即ちＡ駅におけるＣ駅を目的駅とする旅客の出現時刻の分布を示している。尚、同図では、各出現時刻に一人の旅客が出現しているが、同一の出現時刻に複数の旅客が出現しても良い。
【００４１】
旅客管理部１１０により出現された旅客それぞれについてのデータは、旅客データ６１３に格納される。図４は、旅客データ６１３のデータ構成の一例を示す図である。同図によれば、旅客データ６１３は、旅客毎に生成され、該当する旅客ＩＤ６１３ａと、行動属性６１３ｂと、出現駅６１３ｃと、出現時刻６１３ｄと、目的駅６１３ｅと、乗車位置６１３ｆと、現在状況６１３ｇと、乗継計画６１３ｈとを格納している。
【００４２】
乗車位置６１３ｆは、当該旅客が列車に乗車する際の位置であり、車両の扉単位で表現される。この乗車位置６１３ｆは、当該旅客の出現時に、乗車位置選択確率テーブル５２３に基づいて決定される。
【００４３】
図５（ａ）は、乗車位置選択確率テーブル５２３のデータ構成の一例を示す図である。同図（ａ）によれば、乗車位置選択確率テーブル５２３は、駅５２３ａ毎に用意され、乗車位置５２３ｂ毎に選択確率５２３ｃを対応付けて格納している。また、同図（ｂ）は、選択確率の決定原理を説明する図である。同図（ｂ）では、横軸を乗車位置、縦軸を選択確率としたグラフを示している。また、横軸方向に沿ってホームに停車している列車の模式図を示し、乗車位置と編成の各車両の扉の位置との対応関係を示している。一般的に、旅客が列車に乗車する際には、降車駅の改札口や階段に近い位置を選んで乗車する傾向がある。このため、選択確率は、駅のホーム上の階段等に近い位置ほど高くなるように定められている。
【００４４】
また、階段等の位置といったホームの構造は駅毎に異なる。このため、乗車位置選択確率テーブル５２３は、駅毎に用意されている。
【００４５】
旅客管理部１１０は、当該旅客の目的駅に該当する乗車位置選択確率テーブル５２３に基づいて、当該旅客の乗車位置を確率的に決定する。
【００４６】
旅客データ６１３において、現在状況６１３ｇは、該当する旅客の現在の行動状況であり、列車に乗車中か否か、乗車中ならば当該列車の列車番号、乗車中でないならば現在いる駅の名称（駅名）が格納される。
【００４７】
乗継計画６１３ｈは、出現駅６１３ｃから目的駅６１３ｅに至る列車の乗り継ぎの計画（予定）であり、具体的には、乗車すべき列車の列車番号や乗換駅の駅名が時系列に従って格納される。旅客は、この乗継計画６１３ｈに従って行動が制御される。また、乗継計画６１３ｈは、当該旅客の出現時に、列車乗継作成部１３０により作成・更新される列車乗継データ６１４に基づいて決定される。そして、後述のように列車の運行状況に応じて適宜更新され、最終的には当該旅客の列車の乗り継ぎの実績（行動実績）そのものとなる。
【００４８】
図６は、列車乗継データ６１４のデータ構成の一例を示す図である。同図によれば、列車乗継データ６１４は、行動属性６１４ａ毎に作成され、出発駅６１４ｂと、目的駅６１４ｃと、列車乗継６１４ｄとを対応付けて格納している。列車乗継６１４ｄは、対応する出発駅６１４ｂから目的駅６１４ｃに至る列車の乗り継ぎであって、該当する行動属性に応じた最適乗継条件を満足する乗り継ぎが格納される。この列車乗継６１４ｄは、後述のように列車乗継作成部１３０により適宜更新され、常に最新のデータとなっている。
【００４９】
旅客管理部１１０は、当該旅客の行動属性に該当する列車乗継データ６１４において当該旅客の出現駅（出発駅）と目的駅との組合せに対応付けられている列車乗継を、当該旅客の乗継計画とする。
【００５０】
また、旅客管理部１１０は、駅に列車が到着する毎、即ち運行制御部１２０により駅への列車の到着が判断される毎に、到着した列車（以下、「着列車」という）の乗客、及び、当該着列車が到着した駅（以下、「着駅」という）の滞留旅客（当該駅のホームにいる旅客）それぞれについて、列車乗継データ６１４を参照し、当該着駅以降の乗継計画を更新する。例えば、“Ｂ駅”に“２１列車”が到着した場合、この“２１列車”の乗客及び“Ｂ駅”の滞留旅客それぞれについて、設定されている乗継計画の“Ｂ駅”以降の部分を更新する。
【００５１】
ここで、各列車の乗客については列車データ６１５を参照して判断され、各駅の滞留旅客については滞留旅客データ６２４を参照して判断される。
【００５２】
図７は、列車データ６１５のデータ構成の一例を示す図である。同図によれば、列車データ６１５は、列車毎に用意され、該当する列車番号６１５ａと、運行区間６１５ｂと、現在の運行状況６１５ｃと、乗客データ６１５ｄとを格納している。運行状況６１５ｃは、現在走行中か停車中か、走行中ならば走行している駅間の名称、停車中ならば停車駅の駅名が格納される。乗客データ６１５ｄは、当該列車の現在の乗客に関するデータであり、車両６１５ｅ毎に、乗車位置６１５ｆと、乗客６１５ｇと、乗客の合計人数である車内人数６１５ｈと、乗車率６１５ｉとを対応付けて格納している。乗客６１５ｇは、該当する旅客ＩＤを格納している。また、乗車率６１５ｉは、次式（１）で与えられる。
乗車率＝車内人数／定員×１００［％］    ・・（１）
【００５３】
ここで、列車の定員は定員データ５２４に格納されている。図８は、定員データ５２４のデータ構成の一例である。同図によれば、定員データ５２４は、乗車位置５２４ａ毎に、定員５２４ｂを対応付けて格納している。
【００５４】
図９は、滞留旅客データ６２４のデータ構成の一例を示す図である。同図によれば、滞留旅客データ６２４は、駅６２４ａ毎に、滞留旅客６２４ｂと、滞留旅客の合計人数である滞留人数６２４ｃとを対応付けて格納している。滞留旅客６２４ｂは、該当する旅客ＩＤを格納している。尚、この滞留旅客には、駅に停車中の列車の乗客は含まれない。
【００５５】
また、旅客管理部１１０は、列車が発車する毎、即ち運行制御部１２０により列車の発車が判断される毎に、発車する列車（以下、「発列車」という）の乗客、及び、当該発列車が発車する駅（以下、「発駅」という）の滞留旅客のそれぞれについて、到着時と同様に、列車乗継データ６１４を参照して、当該発駅以降の乗継計画を更新する。
【００５６】
次いで、旅客データ６１３を参照し、発列車の乗客それぞれについて発駅で降車させるかを判断し、降車させると判断した乗客を当該発駅で降車させる。即ち、乗継計画において発駅が乗換駅として設定されている乗客を当該発駅で降車させると判断する。そして、発列車から降車させた乗客の人数（降車人数）を乗車位置毎に算出する。
【００５７】
また、旅客管理部１１０は、旅客データ６１３を参照し、発駅の滞留旅客それぞれについて発列車に乗車させるか否かを判定する。即ち、乗継計画において発列車が乗車すべき列車として設定されている旅客を当該発列車に乗車させると判断する。次いで、乗車位置毎に、発列車に乗車させると判断した旅客の人数（乗車予定人数)を算出し、乗車させると判断した旅客を全て乗車させたと仮定した場合の仮想乗車率を算出する。仮想乗車率は、次式（２）で与えられる。
仮想乗車率＝（着時の車内人数−降車人数＋乗車予定人数）／定員数    ・・（２）
【００５８】
その後、乗車位置毎に、算出した仮想乗車率と所定の上限乗車率とを比較する。その結果、算出した仮想乗車率が上限乗車率を超える場合、仮想乗車率が上限乗車率以下となる乗車予定人数、即ち乗車可能な人数を算出し、当該乗車位置から乗車させると判断した旅客のうちから、算出した乗車可能な人数だけ、実際に乗車させる旅客として選択する。そして、選択した旅客のみを発列車に乗車させる。一方、算出した仮想乗車率が上限乗車率を超えない場合には、乗車させると判断した旅客の全てを、発列車に乗車させる。
【００５９】
ここで、上限乗車率は、上限乗車率データ５２５に格納されている。図１０は、上限乗車率データ５２５のデータ構成の一例を示す図である。同図によれば、上限乗車率データ５２５は、上限乗車率の値を格納している。
【００６０】
また、発列車に対する降車人数及び乗車人数は乗降人数データ６２１に格納される。図１１は、乗降人数データ６２１のデータ構成の一例を示す図である。同図によれば、乗降人数データ６２１は、乗車位置６２１ａ毎に、着時車内人数６２１ｂと、降車人数６２１ｃと、乗車人数６２１ｄとを対応付けて格納している。着時車内人数６２１ｂは、当該発列車の到着時（即ち、旅客の乗車及び降車が行われる前）の車内人数である。
【００６１】
更に、発列車からの降車人数及び乗車人数は、乗降実績として乗降実績データ６２２に格納される。図１２は、乗降実績データ６２２のデータ構成の一例を示す図である。同図によれば、乗降実績データ６２２は、列車毎に用意され、該当する列車番号６２２ａを格納しているとともに、運行区間内の全ての駅６２２ｂ毎に、降車人数６２２ｃと、乗車人数６２２ｄと、発車時の車内人数６２２ｅと、発時車内人数に対する乗車率６２２ｆとを対応付けて格納している。降車人数６２２ｃ、乗車人数６２２ｄ及び発時車内人数６２２ｅは、編成全体についての人数、即ち乗車位置毎の人数の総和である。
【００６２】
運行制御部１２０は、予め定められた計画ダイヤに従って列車の仮想的な運行を制御する。ここで、計画ダイヤは、計画ダイヤデータ５２１として記憶されている。図１３は、計画ダイヤデータ５２１のデータ構成の一例を示す図である。同図によれば、計画ダイヤデータ５２１は、列車毎に用意され、該当する列車番号５２１ａと、列車種別５２１ｂとを格納しているとともに、運行区間内の駅５２１ｃ毎に、着時刻５２１ｄと、発時刻５２１ｅとを対応付けて格納している。列車種別５２１ｂとは、各駅停車や快速といった停車駅による分類、及び、上り／下りといった進行方向の別である。
【００６３】
運行制御部１２０は、シミュレーションに先立ち、各列車の計画ダイヤを運用ダイヤとし、この運用ダイヤに基づいて当該列車の運行を制御する。運用ダイヤは、運用ダイヤデータ６１１として記憶される。図１４は、運用ダイヤデータ６１１のデータ構成の一例を示す図である。同図によれば、運用ダイヤデータ６１１は、列車毎に用意され、該当する列車番号６１１ａと、列車種別６１１ｂとを格納しているとともに、運行区間内での駅６１１ｃ毎に、着時刻６１１ｄと、発時刻６１１ｅと、発時更新６１１ｆの有無とを対応付けて格納している。
【００６４】
発時更新６１１ｆとは、対応する駅からの列車の発車時に旅客管理部１１０による所定の処理が行われたか否かを表すパラメータである。つまり、駅から列車が発車する毎、即ち運行制御部１２０により列車の発車が判断される毎に、旅客管理部１１０により該当する旅客の乗継計画の更新や発列車に対する旅客の乗降といった処理が行われるが、発時更新６１１ｆは、この処理が行われたか否かを示すものである。即ち、当該処理が行われたならば「済み」が、行われていないならば「未だ」が、それぞれ格納される。尚、この発時更新６１１ｆは、運用ダイヤデータ６１１の生成時には全てが「未だ」に設定される。
【００６５】
運行制御部１２０は、シミュレーションの実行中、運用ダイヤに基づく列車の着時刻となると、当該列車が該当する駅に到着可能か否かを判断する。具体的には、実績ダイヤを基に、当該駅における先行列車が発車済みであり、且つ発車から所定時分が経過しているならば、到着可能と判断する。到着可能ならば、当該列車を到着させると判断して、現在時刻を実績の着時刻として実績ダイヤを更新する。一方、到着可能でないならば、当該列車の着時刻を、所定時分（例えば、１分）遅らせた時刻として運用ダイヤを更新する。
【００６６】
実績ダイヤは、実績ダイヤデータ６１２として記憶されている。図１５は、実績ダイヤデータ６１２のデータ構成の一例を示す図である。同図によれば、実績ダイヤデータ６１２は、列車毎に用意され、該当する列車番号６１２ａと、列車種別６１２ｂとを格納しているとともに、運行区間内の駅６１２ｃ毎に、実績の着時刻６１２ｄと、発時刻６１２ｅとを対応付けて格納している。
【００６７】
また、運行制御部１２０は、運用ダイヤに基づく列車の発時刻となると、当該列車を発車させるか否かを判断する。具体的には、旅客管理部１１０による当該列車に対する旅客の乗降の結果を基に、当該列車への旅客の乗降に要する時間（乗降時間）を算出し、算出した乗降時間から当該発列車を発車させるか否かを判断する。即ち、旅客管理部１１０により生成された乗降人数データ６２１を参照し、乗車位置毎に、着時車内人数ｙ、降車人数ｘ１及び乗車人数ｘ２から、式（３）に従って乗降時間Ｔｎを算出する。
Ｔｎ＝Ａ（ｘ１＋ｘ２）２＋Ｂ（ｘ１＋ｘ２）＋Ｃｙ    ・・（３）
上式（３）において、Ａ，Ｂ，Ｃは定数であり、例えば、Ａ＝−０．００３１，Ｂ＝０．７９０８，Ｃ＝０．００３、である。
【００６８】
算出された乗降時間Ｔｎは、乗降時間データ６２３に格納される。図１６は、乗降時間データ６２３のデータ構成の一例を示す図である。同図によれば、乗降時間データ６２３は、乗車位置６２３ａ毎に、算出された乗降時間６２３ｂを対応付けて格納している。
【００６９】
旅客管理部１１０は、算出した乗車位置毎の乗降時間Ｔｎのうち、最も長い時間Ｔｎを当該発列車の乗降時間Ｔとする。そして、算出した乗降時間Ｔを運用ダイヤ上の停車時分と比較し、乗降時間が停車時分より短い或いは等しいならば、停車時間内に旅客の乗降が終了して列車を発車させると判断し、現在時刻を発列車の実績の発時刻として実績ダイヤを更新する。一方、算出した乗降時間Ｔが停車時分より長いならば、停車時間内に乗降が終了せずに遅延が発生したと判断し、発生した遅延に合わせて運用ダイヤを修正する。
【００７０】
図１７は、遅延の発生による運用ダイヤの修正を説明するための図であり、運用ダイヤの一例を示している。同図（ａ）に示すように、運用ダイヤ上のＡ駅における列車の発時刻ｔ１において遅延が発生したと判断した場合、算出した乗降時間Ｔと運用ダイヤ上の停車時分との差分Δｔを、発生した遅延時間とする。そして、当該列車のＡ駅の発時刻を、時刻ｔ１から遅延時間Δｔだけ遅らせた時刻ｔ２とするとともに、当該列車の次の停車駅であるＢ駅における着時刻ｔ３を、遅延時間Δｔだけ遅らせた時刻ｔ４として運用ダイヤを修正する。その結果、同図（ｂ）に示すように、次の停車駅であるＢ駅における修正後の着時刻ｔ４が、修正前の当該駅における発時刻ｔ５より遅くなる場合には、当該列車のこのＢ駅以降の運用ダイヤ全体を、遅延時間Δｔだけ遅れる方向へシフトさせて修正する。
【００７１】
列車乗継作成部１３０は、計画ダイヤや運行ダイヤといった各種のダイヤを基に、行動属性に応じた最適乗継条件を満足する各駅間の列車乗継を作成する。
【００７２】
図１８は、ダイヤの一例を示す図である。同図によれば、横軸を時刻、縦軸を駅として、各列車の駅間の運転時分や各駅での停車時分等を定めたダイヤが傾斜線の“列車スジ”により表現されている。また、各列車スジには、該当する列車番号が付記されている。
【００７３】
図１９，２０は、ＰＥＲＴ（Program Evaluation and Review Technique）ネットワークで表現されたダイヤネットワークの一例を示す図である。ダイヤネットワークは、ダイヤを基に行動属性毎に生成され、図１９は、行動属性が「最早列車選択型」のダイヤネットワークであり、図２０は、行動属性が「乗換回避型」のダイヤネットワークである。また、ダイヤネットワークは、ダイヤ中の何れかの駅を出発駅とし、他の各駅を目的駅として生成される。図１９，２０は、何れもＡ駅を出発駅とし、他のＢ駅及びＣ駅を目的駅とするダイヤネットワークである。また、ダイヤネットワークは、所定の時間範囲のダイヤを基に生成される。図１９，２０は、何れも、「９：００〜９：３０」の時間範囲のダイヤに基づくダイヤネットワークである。
【００７４】
図１９，２０によれば、ダイヤネットワークは、出発駅を表す出発駅ノードと、目的駅を表す目的駅ノードと、各列車の各駅への到着を表す着事象ノードと、各列車の各駅からの発車を表す発事象ノードと、ノード間の時間的依存関係を表すアークとによって構成される。
【００７５】
出発駅ノードから当該出発駅における発事象ノードを結ぶアークには、該当する発時刻の時間間隔に応じた重み付けがされている。例えば、図１９では、出発駅を表すノードＮ１から当該出発駅であるＡ駅発の１列車を表すノードＮ２までを結ぶアークには「０」が重み付けされ、ノードＮ１からＡ駅発の３１列車を表すノードＮ６までを結ぶアークには、Ａ駅における１列車の発時刻から３１列車の発時刻までの時間間隔である「１５」が重み付けされている。
【００７６】
また、事象ノード間を結ぶアークには、アークの始点側の事象ノードが表す事象の発生時刻と、アークの終点側の事象ノードが表す事象の発生時刻との時間間隔に応じた重み付けがされている。即ち、同一列車の異なる駅における発事象ノードから着事象ノードのアーク（走行アーク）には、当該列車の該当する駅間の運転時分が重み付けされている。例えば、図１９では、１列車のＡ駅発を表すノードＮ２からＢ駅着を表すノードＮ３までを結ぶアークには、１列車のＡ駅−Ｂ駅間の運転時分である「１０」が重み付けされている。
【００７７】
また、同一列車の同一駅における着事象ノードから発事象ノードを結ぶアーク（停車アーク）には、当該列車の当該駅での停車時分が重み付けされている。例えば、図１９では、３１列車のＢ駅着を表すノードＮ７からＢ駅発を表すノードＮ８までを結ぶアークには、３１列車のＢ駅での停車時分である「２」が重み付けされている。
【００７８】
また、異なる列車の同一駅における発事象ノードから着事象ノードを結ぶアーク（乗換アーク）には、該当する列車の当該駅での発時刻或いは着時刻の時間間隔が重み付けされている。例えば、図１９では、１列車のＢ駅着を表すノードＮ３から２１列車のＢ駅発を表すノードＮ４までを結ぶアークには、Ｂ駅における１列車の着時刻と２１列車の発時刻との時間間隔の時分である「１５」が重み付けされている。
【００７９】
また、図２０によれば、行動属性が「乗換回避型」のダイヤネットワークの構成は、図１９に示す「最早列車選択型」と同じであるが、各アークの重み付けが異なる。具体的には、異なる列車の同一駅における着事象ノードから発事象ノードを結ぶアーク（乗換アーク）、即ち列車の乗換に相当するアークに、更に所定の重み「１５」が重み付けされている。例えば、図２０では、Ａ駅における１列車から３１列車への乗り換えを表すノードＮ１からノードＮ６を結ぶアーク、Ｂ駅における１列車から２１列車への乗り換えを表すノードＮ３からノードＮ４を結ぶアーク、Ｂ駅における１列車から３１列車への乗り換えを表すノードＮ３からノードＮ８を結ぶアーク、そして、Ｂ駅における２１列車から３１列車への乗り換えを表すノードＮ４からノードＮ８を結ぶアークのそれぞれに、更に「１５」の重み付けがされている。これは、“乗換回数が少ない列車の乗り継ぎを選ぶ”といった、行動属性「乗換回避型」に応じた最適乗換条件を満足するようにするためである。
【００８０】
列車乗継作成部１３０は、これらのダイヤネットワークを基に、最適乗継条件を満足する列車乗継を作成する。即ち、ダイヤネットワークにおいて、出発駅ノードから各目的駅ノードそれぞれに至るクリティカルパス（合計が最小の重みとなるパス）を算出し、算出したパス（経路）を当該出発駅から当該目的駅までの最適条件を満足する列車乗継とする。つまり、図１９に示すダイヤネットワークを基に、行動属性が「最早列車選択型」の列車乗継を作成し、図２０に示すダイヤネットワークを基に、行動属性が「乗換回避型」の列車乗継を作成する。
【００８１】
具体的には、列車乗継作成部１３０は、シミュレーションの開始に先立ち、対象線区内の全ての駅それぞれを出発駅及び目的駅とした出発駅と目的駅との組合せそれぞれについて、行動属性に応じた最適乗継条件を満足する列車乗継を算出し、行動属性毎の列車乗継データ６１４を作成する。即ち、計画ダイヤを基に、対象線区内の全ての駅それぞれについて、当該駅を出発駅とし他の各駅を目的駅としたダイヤネットワークを行動属性毎に生成する。そして、生成した出発駅毎及び行動属性毎のダイヤネットワークを基に、該当する出発駅と各目的駅との間の列車乗継を算出し、行動属性毎の列車乗継データ６１４を作成する。
【００８２】
また、列車乗継作成部１３０は、シミュレーションの実行中、各駅における列車の発着毎に、当該発着が発生した駅を出発駅とする列車乗継を更新する。即ち、運行制御部１２０により列車の到着が判断されると、運用ダイヤを基に、当該到着が判断された駅を出発駅とするダイヤネットワークを行動属性毎に生成する。そして、生成した行動属性毎のダイヤネットワークを基に、当該出発駅から他の各目的駅までの列車乗継を算出して列車乗継データ６１４を更新する。例えば、Ｄ駅への列車の到着が判断された場合、その時点での運用ダイヤを基に、Ｄ駅を出発駅とするダイヤネットワークを行動属性毎に生成する。そして、Ｄ駅から他の各駅までの列車乗継を算出し、列車乗継データ６１４において、Ｄ駅を出発駅とする列車乗継を更新する。
【００８３】
また、運行制御部１２０により何れかの駅からの列車の発車が判断されると、到着時と同様に、運用ダイヤを基に、当該出発が判断された駅を出発駅とするダイヤネットワークを行動属性毎に生成する。そして、生成した行動属性毎のダイヤネットワークを基に、当該出発駅から他の各目的駅までの列車乗継を算出して列車乗継データ６１４を更新する。
【００８４】
不効用値算出部１４０は、シミュレーションが終了した後、シミュレーションに用いた計画ダイヤ及び生成された実績ダイヤそれぞれに対する旅客の不効用値を算出する。ダイヤに対する旅客の不効用値Ｕは、次式（４）により与えられる。
【数１】
2008062729.tif 000003
【００８５】
上式（４）において、α，β，γ，δは、定数であり、例えば、α＝０．０１９，β＝４．５２，γ＝５．６３，δ＝１．２０２、である。また、ｊは、旅客の出現駅から目的駅に至る実際の移動経路中の、列車で通過した駅間の集合である。尚、旅客の実際の移動経路（行動履歴）は、該当する旅客データ６１３の乗継計画６１３ｈとして格納されている。ｔｊは、該当する駅間の走行時間（即ち、乗車時間）であり、Ｃｊは、該当する駅間の乗車率である。Ｎは、旅客の移動経路中の乗換回数である。Ｔｗは、旅客の待ち時間であり、移動経路中の各乗り換えの際の待ち時間の総和である。Ｔｒは、旅客の乗車時間であり、移動経路中に乗車した各列車の乗車時間の総和である。
【００８６】
算出された不効用値は、不効用値データ６２５に格納される。図２１は、不効用値データ６２５のデータ構成の一例を示す図である。同図によれば、不効用値データ６２５は、全ての旅客それぞれについて、旅客ＩＤ６２５ａと、出発駅６２５ｂと、到着駅６２５ｃと、算出された不効用値６２５ｄとを対応付けて格納している。不効用値６２５ｄは、実績ダイヤ及び計画ダイヤそれぞれに対する値を格納している。
【００８７】
画面表示制御部１５０は、シミュレーションの実行中、現時点までのシミュレーション結果を示した表示画面を表示部３００に表示させるとともに、シミュレーションの進行に伴って、逐次その表示内容を更新する。
【００８８】
具体的には、計画ダイヤ及び実績ダイヤを表示したダイヤ画面を表示させる。図２２は、ダイヤ画面の一例を示す図である。同図によれば、ダイヤ画面には、横軸を時刻、縦軸を駅として、計画ダイヤを表した計画ダイヤ図（図中、点線で示している）と、実績ダイヤを表した実績ダイヤ図（図中、実線で示している）とが重畳表示されている。また、各ダイヤの列車スジには、該当する列車番号が付記されている。
【００８９】
計画ダイヤ図は、シミュレーションの対象となっている時間帯の全てのダイヤが表示され、シミュレーションの実行中に更新されない。実績ダイヤ図は、現在のシミュレーション時刻までに運行（シミュレーション）されたダイヤが表示され、シミュレーションの進行に伴って逐次更新される。また、実績ダイヤの列車スジは、該当列車の混雑度（乗車率）や遅延の程度に応じた色や太さ（線種）で表示される。具体的には、例えば、乗車率が２００％を超える駅間の列車スジについては“太い赤”で表示され、乗車率が１００％以上２００％未満の駅間の列車スジについては“細い赤”で表示される。また、３分以上の遅延が発生した駅間の列車スジについては“太い青”で表示され、その他の駅間については“細い青”で表示されるといった具合である。
【００９０】
画面表示制御部１５０は、シミュレーションの開始に先立ち、計画ダイヤデータ５２１に基づく計画ダイヤ図を表示したダイヤ画面を表示部３００に表示させる。そして、シミュレーションの実行中は、実績ダイヤデータ６１２に基づく実績ダイヤ図を計画ダイヤ図に重ねて表示させるとともに、駅への列車の到着／発車毎、即ち運行制御部１２０により駅への列車の到着／発車が判断される毎に、実績ダイヤ図を更新してダイヤ画面の表示内容を更新する。
【００９１】
また、画面表示制御部１５０は、ダイヤ画面において、ダイヤ図中の列車が選択されると、図２３に示すように、選択された列車に関する列車画面をダイヤ画面に重ねて表示させる。図２４は、列車画面の一例を示す図である。同図によれば、列車画面には、該当する列車のダイヤ１０と、乗降実績２０と、乗客一覧３０と、位置別乗車状況４０とが表示されている。
【００９２】
ダイヤ１０は、該当する列車の計画ダイヤ及び実績ダイヤであり、具体的には、運行区間内の全ての駅それぞれについての、計画ダイヤ上の発時刻（計画発時刻）及び着時刻（計画着時刻）と、実績ダイヤ上の発時刻（実績発時刻）及び着時刻（実績着時刻）と、計画発時刻に対する実績発時刻の遅延時分と、計画着時刻に対する実績発時刻の遅延時分との一覧である。乗降実績２０は、当該列車の運行区間内の全ての駅それぞれについての、降車人数及び乗車人数の実績の一覧である。乗客一覧３０は、当該列車の乗客の一覧であり、具体的には、該当する旅客それぞれの旅客ＩＤや出現時刻、出発駅、目的駅、現在位置、乗継計画の一覧である。位置別乗車状況４０は、該当する列車の現在の乗車状況であり、具体的には、編成中の車両それぞれの車内人数及び乗車率を一覧表示しているとともに、これらの車両のうちから選択された一の車両について、更に扉毎の車内人数及び乗車率を表示している。これらのダイヤ１０、乗降実績２０、乗客一覧３０及び位置別乗車状況４０は、該当する列車の駅への到着／発車毎に更新される。
【００９３】
画面表示制御部１５０は、ダイヤ画面においてダイヤ図中の１つの列車スジが選択されると、選択された列車スジに該当する列車についての列車画面を生成し、表示中のグラフ画面に重ねて表示させる。即ち、当該列車の計画ダイヤデータ５２１及び実績ダイヤデータ６１２に基づくダイヤ１０と、当該列車の乗降実績データ６２２に基づく乗降実績２０と、当該列車の列車データ６１５及び旅客データ６１３に基づく乗客一覧３０と、当該列車の列車データ６１５に基づく位置別乗車状況４０と、を表示させた列車画面を生成する。そして、運行制御部１２０により当該列車の各駅への到着／発車が判断される毎に、この列車画面の表示内容を更新する。
【００９４】
また、画面表示制御部１５０は、ダイヤ画面において、駅画面の表示が指示されると、図２５に示すように、駅画面をダイヤ画面に重ねて表示させる。駅画面には、対象線区内の各駅について現在の滞留旅客の人数を棒グラフで表現した滞留人数グラフが表示されている。この滞留人数グラフは、各駅への列車の到着／発車毎に更新される。
【００９５】
画面表示制御部１５０は、駅画面の表示が指示されると、滞留旅客データ６２４に基づく滞留人数グラフを表示させた駅画面を生成し、表示中のグラフ画面に重ねて表示させる。そして、各列車の各駅への到着／発車毎、即ち運行制御部１２０により何れかの駅への何れかの列車の到着／発車が判断される毎に、この駅画面の表示内容を更新する。
【００９６】
［処理の流れ］
図２６は、シミュレーション装置１により実行されるシミュレーション処理の流れを説明するためのフローチャートである。この処理は、ＣＰＵ１００がシミュレーションプログラム５１０を実行することで実現される。同図によれば、ＣＰＵ１００は、先ず、初期設定として、シミュレーション時刻である現在時刻ｔを、所定のシミュレーションの開始時刻ｔ０に設定する（ステップＡ１）。また、運行制御部１２０が、各列車の計画ダイヤを運用ダイヤに設定する（ステップＡ３）。次いで、画面表示制御部１５０が、各列車の計画ダイヤを表示したダイヤ画面を表示部３００に表示させる（ステップＡ５）。続いて、列車乗継作成部１３０が、列車乗継作成処理を行って、行動属性毎の列車乗継データ６１４を作成する（ステップＡ７）。
【００９７】
図２７は、列車乗継作成処理の流れを説明するためのフローチャートである。同図によれば、列車乗継作成部１３０は、対象線区内の全ての駅毎に、ループＢの処理を行う。ループＢでは、運用ダイヤを基に、当該駅を出発駅とし他の各駅を目的駅としたダイヤネットワークを、行動属性毎に生成する（ステップＢ１）。そして、生成した行動属性毎のダイヤネットワークを基に、出発駅から他の各目的駅までの列車乗継を算出し、該当する行動属性の列車乗継データ６１４に格納する（ステップＢ３）。ループＢの処理はこのように行われる。全ての駅それぞれを対象としたループＢが終了すると、列車乗継作成部１３０は、列車乗継作成処理を終了する。
【００９８】
列車乗継作成処理が終了すると、シミュレーションが開始される（ステップＡ９）。即ち、旅客管理部１１０が旅客出現処理を行い、各駅に旅客を出現させる（ステップＡ１１）。
【００９９】
図２８は、旅客出現処理の流れを説明するためのフローチャートである。同図によれば、旅客管理部１１０は、対象線区内の全ての駅毎に、ループＣの処理を行う。ループＣでは、旅客管理部１１０は、旅客出現確率テーブル５２２に従って、行動属性毎に、当該駅を出現駅とし他の各駅を目的駅とする旅客の出現人数を決定する（ステップＣ１）。次いで、出現させると決定した旅客毎に、ループＤの処理を行う。
【０１００】
ループＤでは、当該旅客の乗車位置を、目的駅に該当する乗車位置選択確率テーブル５２３に従って確率的に決定する（ステップＣ３）。また、当該旅客の行動属性に該当する列車乗継データ６１４を参照し、当該駅（出現駅）と目的駅との組合せに対応する列車乗継を、当該旅客の乗継計画とする（ステップＣ５）。そして、当該旅客を当該駅に出現させる（ステップＣ７）。ループＤの処理はこのように行われる。出現させる旅客それぞれを対象としたループＤの処理を終了し、全ての駅それぞれを対象とするループＣの処理が終了すると、旅客管理部１１０は旅客出現処理を終了する。
【０１０１】
旅客出現処理が終了すると、ＣＰＵ１００は、対象線区内の全ての駅毎にループＡの処理を行う。ループＡでは、先ず、着時処理を行う（ステップＡ１３）。
【０１０２】
図２９は、着時処理の流れを説明するためのフローチャートである。同図によれば、運行制御部１２０が、シミュレーション中の現在時刻（シミュレーション時刻）が運用ダイヤに基づく何れかの列車の何れかの駅への着時刻であるかを判断し、着時刻ならば（ステップＤ１：ＹＥＳ）、実績ダイヤ等を参照して、当該列車（着列車）が到着可能か否かを判断する。到着可能でないと判断したならば（ステップＤ３：ＮＯ）、当該着列車の当該駅への到着時刻を所定時分（例えば、１分）遅らせて、運用ダイヤを更新する（ステップＤ１３）。
【０１０３】
一方、到着可能と判断したならば（ステップＤ３：ＹＥＳ）、現在時刻を当該列車の実績の着時刻として実績ダイヤを更新する（ステップＤ５）。次いで、列車乗継作成部１３０が、列車乗継データ６１４の更新を行う。即ち、運用ダイヤを基に、着列車が到着する駅（着駅）を出発駅としたダイヤネットワークを、行動属性毎に生成する（ステップＤ７）。そして、生成した行動属性毎のダイヤネットワークを基に、当該着駅からの他の各目的駅までの列車乗継を算出し、列車乗継データ６１４を更新する（ステップＤ９）。その後、旅客管理部１１０が、更新後の列車乗継データ６１４を基に、着列車の乗客及び着駅の滞留旅客それぞれについて、当該着駅以降の乗継計画を更新する（ステップＤ１１）。
以上の処理を行うと、着時処理を終了する。
【０１０４】
着時処理が終了すると、続いて発時処理を行う（ステップＡ１５）。
図３０は、発時処理の流れを説明するためのフローチャートである。同図によれば、運行制御部１２０が、シミュレーション中の現在時刻が運用ダイヤに基づく何れかの列車の何れかの駅からの発時刻であるかを判断し、発時刻ならば（ステップＥ１：ＹＥＳ）、当該列車について当該駅での発時更新済みであるか否かを判断する。発時更新済みならば（ステップＥ３：ＹＥＳ）、現在時刻を発列車の実績の発時刻として実績ダイヤを更新する（ステップＥ２１）。
【０１０５】
一方、発時更新済みでないならば（ステップＥ３：ＮＯ）、続いて、列車乗継作成部１３０が列車乗継データ６１４の更新を行う。即ち、運用ダイヤを基に、発列車が発車する駅（発駅）を出発駅としたダイヤネットワークを、行動属性毎に生成する（ステップＥ５）。そして、生成した行動属性毎のダイヤネットワークを基に、当該発駅からの他の各駅までの列車乗継を算出し、列車乗継データ６１４を更新する（ステップＥ７）。
【０１０６】
その後、旅客管理部１１０が、更新後の列車乗継データ６１４を基に、発列車の乗客及び発駅の滞留旅客それぞれについて、当該発駅以降の列車乗継を更新する（ステップＥ９）。続いて、旅客管理部１１０が、発列車の乗客及び発駅の滞留旅客を対象とした乗降処理を行う（ステップＥ１１）。
【０１０７】
図３１は、乗降処理の流れを説明するためのフローチャートである。同図によれば、旅客管理部１１０は、発列車の乗車位置毎にループＥの処理を行う。ループＥでは、当該発列車の当該乗車位置の乗客のうちから、当該発駅で降車する乗客を判断し（ステップＦ１）、判断した乗客を発列車から降車させる（ステップＦ３）。そして、当該乗車位置から降車させた乗客の人数を算出する（ステップＦ５）。
【０１０８】
また、旅客管理部１１０は、当該発駅の滞留旅客のうちから、発列車に当該乗車位置から乗車する旅客を判断し（ステップＦ７）、乗車すると判断した旅客の人数（乗車予定人数）を算出する（ステップＦ９）。次いで、乗車すると判断した旅客を乗車させたと仮定した場合の、当該乗車位置での仮想乗車率を算出し（ステップＦ１１）、算出した仮想乗車率が所定の上限乗車率を超えるかを判定する。
【０１０９】
仮想乗車率が上限乗車率を超えないならば（ステップＦ１３：ＮＯ）、乗車すると判定した旅客の全てを、当該発列車に乗車させる（ステップＦ２３）。一方、算出した仮想乗車率が上限乗車率を超えるならば（ステップＦ１３：ＹＥＳ）、仮想乗車率が上限乗車率を超えない乗車可能な乗客の人数（乗車可能人数）を算出する（ステップＦ１５）。そして、乗車すると判断した旅客のうちから、算出した乗車可能人数だけの旅客を選択し（ステップＦ１７）、選択した旅客を発列車に乗車させる（ステップＦ１９）。そして、当該乗車位置から乗車させた旅客の数（乗車人数）を算出する（ステップＦ２１）。
ループＥの処理はこのように行われる。全ての乗車位置それぞれを対象としたループＥの処理を終了すると、旅客管理部１１０は乗降処理を終了する。
【０１１０】
乗降処理が終了すると、運行制御部１２０が、発列車の乗車位置毎（各車両の扉毎）に乗降時間を算出し（ステップＥ１３）、算出した乗降時間のうち、最長の時間を発列車の乗降時間とする（ステップＥ１５）。そして、算出した乗降時間を基に、発列車に遅延が生じるかを判断する（ステップＥ１７）。遅延が生じないと判断したならば（ステップＥ１９：ＮＯ）、現在時刻を発列車の実績の発時刻として実績ダイヤを更新する（ステップＥ２１）。
【０１１１】
一方、遅延が生じると判断したならば（ステップＥ１９：ＹＥＳ）、運行制御部１２０は、算出した乗降時間と運用ダイヤ上の停車時分との差分を遅延時分Δｔとして算出し（ステップＥ２３）、発列車の当該発駅での発時刻を、算出した遅延時分Δｔだけ遅らせた時刻として運用ダイヤを更新する（ステップＥ２５）。このとき、この運用ダイヤの更新に伴い、必要に応じて他の列車の運用ダイヤを修正する。そして、当該発列車の当該駅における発時更新を“済み”とする（ステップＥ２７）。
以上の処理を行うと、発時処理を終了する。
【０１１２】
発時処理が終了すると、ＣＰＵ１００は、ループＡを終了する。そして、全ての駅それぞれを対象としたループＡが終了すると、続いて画面表示制御部１５０が表示画面変更処理を行う（ステップＡ１７）。
【０１１３】
図３２は、表示画面変更処理の流れを説明するためのフローチャートである。同図によれば、画面表示制御部１５０は、先ず、実績ダイヤを基に、ダイヤ画面の実績ダイヤ図を更新する（ステップＧ１）。次いで、ダイヤ画面に重ねて列車画面を表示中であるかを判断し、表示中ならば（ステップＧ３：ＹＥＳ）、該当する列車の列車データ６１５や実績ダイヤデータ６１２、乗降実績データ６２２等を基に、列車画面の表示内容を更新する（ステップＧ５）。そして、列車画面の表示終了の指示が入力されたかを判断し、入力されたならば（ステップＧ７：ＹＥＳ）、表示中の列車画面の表示を終了する（ステップＧ９）。
【０１１４】
また、列車画面を表示中でないならば（ステップＧ３：ＮＯ）、画面表示制御部１５０は、続いて、ダイヤ画面に重ねて駅画面を表示中であるか否かを判断する。駅画面を表示中ならば（ステップＧ１１：ＹＥＳ）、滞留旅客データ６２４を基に、駅画面の表示内容を更新する（ステップＧ１３）。そして、駅画面の表示終了の指示が入力されたか否かを判断し、入力されたならば（ステップＧ１５：ＹＥＳ）、表示中の駅画面の表示を終了する（ステップＧ１７）。
【０１１５】
また、駅画面が表示中でないならば（ステップＧ１１：ＮＯ）、ダイヤ画面におけるダイヤ図中の何れかの列車が選択されたか否かを判断する。列車が選択されたならば（ステップＧ１９：ＹＥＳ）、当該選択された列車の列車データ６１５や計画ダイヤデータ５２１、実績ダイヤデータ６１２、乗降実績データ６２２等を基に、当該列車の列車画面を表示させる（ステップＧ２１）。また、列車が選択されていないならば（ステップＧ１９：ＮＯ）、駅画面の表示指示が入力されたか否かを判断し、入力されたならば（ステップＧ２３：ＹＥＳ）、滞留旅客データ６２４を基に駅画面をダイヤ画面に重ねて表示させる（ステップＧ２５）。
以上の処理を行うと、画面表示制御部１５０は表示画面変更処理を終了する。
【０１１６】
表示画面変更処理が終了すると、ＣＰＵ１００は、現在時刻ｔが予め定められたシミュレーションの終了時刻に達しているか否かを判断し、達していないならば（ステップＡ１９：ＮＯ）、現在時刻ｔを所定時分だけ進め（ステップＡ２１）、ステップＡ１１に戻る。一方、現在時刻ｔが終了時刻に達しているならば（ステップＡ１９：ＹＥＳ）、シミュレーションは終了となる（ステップＡ２３）。そして、不効用値算出部１４０が、計画ダイヤ及び実績ダイヤそれぞれに対する各旅客の不効用値を算出する（ステップＡ２５）。
以上の処理を行うと、シミュレーション処理は終了となる。
【０１１７】
［作用・効果］
このように、本実施形態のシミュレーションでは、行動属性毎に出現駅と目的駅との組合せ毎の旅客の出現確率を定義した旅客出現確率テーブル５２２に従って、行動属性及び目的駅が設定された旅客が各駅に出現され、出現された旅客それぞれは、当該旅客に設定された乗継計画に従ってその行動（列車への乗降等）が制御される。また、予め定められた計画ダイヤに従い、各駅における旅客それぞれの列車の乗降によって生じる遅延等が算出されて列車の運行が制御される。また、各旅客に設定されている乗継計画は、随時、各駅間の最適な列車乗継を格納した列車乗継データ６１４を基に更新され、この列車乗継データ６１４は、列車の運行に伴って随時更新されており、その時点での最適な列車乗継を格納している。つまり、シミュレーションの進行に伴って変化する列車の運行を基に算出された、その時点での最適な列車乗継が乗継計画として各旅客に適用され、旅客それぞれは、その時点で最適な乗継計画に基づいて制御される。従って、旅客それぞれの行動を忠実に再現することができ、これにより、極めて精度の良いシミュレーションが実現できる。
【０１１８】
尚、本発明の適用可能な実施形態は上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【図面の簡単な説明】
【０１１９】
【図１】シミュレーション装置の内部構成図。
【図２】旅客出現確率テーブルのデータ構成例。
【図３】旅客の出現の説明図。
【図４】旅客データのデータ構成例。
【図５】（ａ）乗車位置選択確率テーブルのデータ構成例、（ｂ）選択確率の決定の説明図。
【図６】列車乗継データのデータ構成例。
【図７】列車データのデータ構成例。
【図８】定員データのデータ構成例。
【図９】滞留旅客データのデータ構成例。
【図１０】上限乗車率データのデータ構成例。
【図１１】乗降人数データのデータ構成例。
【図１２】乗降実績データのデータ構成例。
【図１３】計画ダイヤデータのデータ構成例。
【図１４】運用ダイヤデータのデータ構成例。
【図１５】実績ダイヤデータのデータ構成例。
【図１６】乗降時間データのデータ構成例。
【図１７】遅延の発生による運用ダイヤ修正の説明図。
【図１８】ダイヤの一例。
【図１９】行動属性「最早列車選択型」の場合のダイヤネットワークの一例。
【図２０】行動属性「乗換回避型」の場合のダイヤネットワークの一例。
【図２１】不効用値データのデータ構成例。
【図２２】ダイヤ画面の一例。
【図２３】ダイヤ画面に列車画面が重ねて表示された場合の一例。
【図２４】列車画面の一例。
【図２５】駅画面の一例。
【図２６】シミュレーション処理の流れ図。
【図２７】シミュレーション処理中に実行される列車乗継作成処理の流れ図。
【図２８】シミュレーション処理中に実行される旅客出現処理の流れ図。
【図２９】シミュレーション処理中に実行される着時処理の流れ図。
【図３０】シミュレーション処理中に実行される発時処理の流れ図。
【図３１】発時処理中に実行される乗降処理の流れ図。
【図３２】シミュレーション処理中に実行される表示画面変更処理の流れ図。
【符号の説明】
【０１２０】
１  シミュレーション装置
１００  ＣＰＵ
１１０旅客管理部
１２０  運行制御部
１３０  列車乗継作成部
１４０  不効用値算出部
１５０  画面表示制御部
２００  入力部
３００  表示部
４００  通信部
５００  ハードディスク（記憶装置）
５１０  シミュレーションプログラム
５２１  計画ダイヤデータ
５２２  旅客出現確率テーブル
５２３  乗車位置選択確率テーブル
５２４  定員データ
５２５  上限乗車率データ
６００  ＲＡＭ
６１１  運用ダイヤデータ
６１２  実績ダイヤデータ
６１３  旅客データ
６１４  列車乗継データ
６１５  列車データ
６２１  乗降人数データ
６２２  乗降実績データ
６２３  乗降時間データ
６２４  滞留旅客データ
６２５  不効用値データ
【図１】
2008062729.tif 000004
【図２】
2008062729.tif 000005
【図３】
2008062729.tif 000006
【図４】
2008062729.tif 000007
【図５】
2008062729.tif 000008
【図６】
2008062729.tif 000009
【図７】
2008062729.tif 000010
【図８】
2008062729.tif 000011
【図９】
2008062729.tif 000012
【図１０】
2008062729.tif 000013
【図１１】
2008062729.tif 000014
【図１２】
2008062729.tif 000015
【図１３】
2008062729.tif 000016
【図１４】
2008062729.tif 000017
【図１５】
2008062729.tif 000018
【図１６】
2008062729.tif 000019
【図１７】
2008062729.tif 000020
【図１８】
2008062729.tif 000021
【図１９】
2008062729.tif 000022
【図２０】
2008062729.tif 000023
【図２１】
2008062729.tif 000024
【図２２】
2008062729.tif 000025
【図２３】
2008062729.tif 000026
【図２４】
2008062729.tif 000027
【図２５】
2008062729.tif 000028
【図２６】
2008062729.tif 000029
【図２７】
2008062729.tif 000030
【図２８】
2008062729.tif 000031
【図２９】
2008062729.tif 000032
【図３０】
2008062729.tif 000033
【図３１】
2008062729.tif 000034
【図３２】
2008062729.tif 000035