(57)【要約】      （修正有）【課題】遅延が発生した場合においても、遅延の回復と無駄な消費エネルギーの増加を防止することによる省エネを実現する。【解決手段】列車運行制御装置の運転曲線作成部１０６は、自列車が次の出発駅となるいずれかの駅に到着した時点において、自列車、自列車の直前を走行する列車である先行列車及び自列車の直後を走行する列車である後続列車のそれぞれの次の出発駅を予め設定された運転ダイヤ通りに出発することが可能な状態にあるか否かに基づいて、自列車が、次の出発駅を出発してから次に停車する駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する。【選択図】図１
2015107687.tif 000002
【特許請求の範囲】
【請求項１】
自列車が次の出発駅となるいずれかの駅に到着した時点において、前記自列車、前記自列車の直前を走行する列車である先行列車及び前記自列車の直後を走行する列車である後続列車のそれぞれの次の出発駅を予め設定された運転ダイヤ通りに出発することが可能な状態にあるか否かに基づいて、前記自列車が、前記次の出発駅を出発してから次に停車する前方駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する運転曲線作成部を備えた、
列車運行制御装置。
【請求項２】
前記運転ダイヤ通りに出発可能な状態とは、列車が前記次の出発駅に早着あるいは定刻に到着可能な状態である、
請求項１記載の列車運行制御装置。
【請求項３】
前記自列車の次の出発駅の予定出発時刻と次の到着駅である前方駅の予定到着時刻を算出する出発時刻・到着時刻算出部と、
前記先行列車による各閉塞進入位置における速度制限を算出する速度制限算出部と、をさらに備え、
前記運転曲線作成部は、前記速度制限算出部の算出結果を制約に用い、前記自列車が、前記次の出発駅を出発してから前記前方駅に到着するためのより累積消費エネルギーが小さい運転曲線を作成する、
請求項１又は請求項２記載の列車運行制御装置。
【請求項４】
前記出発時刻・到着時刻算出部は、前記先行列車の遅延時間、前記後続列車の遅延時間、前記先行列車の次の出発駅における予定出発時刻及び、前記後続列車の次の出発駅における予定出発時刻、自列車の余裕時分及び自列車の遅延時間に基づいて、前記自列車の次の出発駅の予定出発時刻と次の到着駅である前方駅の予定到着時刻を算出する、
請求項３記載の列車運行制御装置。
【請求項５】
前記運転曲線の作成対象の路線を走行する車両の乗車率に対する各ノッチの特性およびモータ・インバータの特性と、前記路線の位置に対する速度制限と、前記路線の位置に対する勾配と、前記路線の位置に対する曲率半径と、を格納した車両・路線データデータベースを備え、
前記運転曲線作成部は、前記車両・路線データデータベースを参照して前記運転曲線を作成する、
請求項１乃至請求項４のいずれかに記載の列車運行制御装置。
【請求項６】
前記運転ダイヤの情報を格納しているダイヤデータベースと、
前記運転ダイヤに対する過去の運転時隔、駅における停車時間の実績値を格納している時隔・停止時間データベースと、を備え、
前記運転曲線作成部は、前記ダイヤデータベース及び時隔・停止時間データベースを参照して、前記運転曲線を作成する、
請求項１乃至請求項５のいずれかに記載の列車運行制御装置。
【請求項７】
自列車が、次の出発駅を出発してから次に停車する前方駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する列車運行制御装置において実行される制御方法であって、
自列車が次の出発駅となるいずれかの駅に到着した時点において、前記自列車、前記自列車の直前を走行する列車である先行列車及び前記自列車の直後を走行する列車である後続列車のそれぞれの次の出発駅を予め設定された運転ダイヤ通りに出発することが可能な状態にあるか否かを判別する過程と、
前記判別の結果に基づいて、前記自列車が、前記次の出発駅を出発してから次に停車する前方駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する過程と、
を備えた制御方法。
【請求項８】
自列車が、次の出発駅を出発してから次に停車する前方駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する列車運行制御装置をコンピュータにより制御する制御プログラムであって、
前記コンピュータを、
自列車が次の出発駅となるいずれかの駅に到着した時点において、前記自列車、前記自列車の直前を走行する列車である先行列車及び前記自列車の直後を走行する列車である後続列車のそれぞれの次の出発駅を予め設定された運転ダイヤ通りに出発することが可能な状態にあるか否かに基づいて、前記自列車が、前記次の出発駅を出発してから次に停車する前方駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する運転曲線作成手段として機能させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、列車運行制御装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
近年の電力不足からエネルギー効率のよい鉄道に対しても更なる省エネが求められている。鉄道における省エネとは空調、照明等の補機をエネルギー効率のよい機器に変更することや、列車の走行時のエネルギーを削減することなどである。特に列車の走行時のエネルギーを削減するためには、力行に要するエネルギーを削減し、エネルギーの回収効率のよい状況を作って回生ブレーキをかけるなどの方法が提案されている。
【０００３】
これらを実現すると結果的に列車はゆっくり走ることになり、なるべく次の駅までゆっくり走ること自体がそのまま省エネルギー（以下、省エネという）につながる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０４５２２６号公報
【特許文献２】特開平０９−１０４３４７号公報
【非特許文献】
【０００５】
【非特許文献１】「宮武，高：動的計画法を用いた列車運転曲線最適化問題の求解法，電気学会（２００４）」
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、本来の鉄道は多くの利用者をなるべく早く、かつ、時間通りに運ぶことを目的とするため、省エネのためにゆっくり走らせるのには限界がある。
また実際の運行では、列車がダイヤで想定した通りに運行することはほとんどなく、利用者の乗降やドアにものが挟まることや列車自体の故障が発生することによって遅延が発生する。遅延を起こした列車が遅延を回復するためには、なるべく早く走るように運転するしかない。この時、ダイヤで想定している運転に比べて、走行時分が短いためにエネルギー消費量は増加することになる。
【０００７】
もし仮に、遅延が発生しても列車がダイヤを回復させない運転を行えば、その遅延は他列車へも伝播して、列車全体としてダイヤ通りに運行できない状況になる。
そのため、実運転時にはなるべくダイヤ通りの運行に回復させることも考慮しながら、列車全体を制御することが行われている。すると省エネで運転したくとも、遅延が発生している場合には遅延を回復させるためには消費エネルギーが増加する運転をしなくてはならない。
【０００８】
また、ある路線において複数の列車が計画したダイヤに基づいて運行するに際しては、乗降客が多いことによる停車時間の増加やドアに鞄が挟まるなどによる突発的な事象によって、当初計画したダイヤ通りに運行ができなくなることがある。
【０００９】
この計画したダイヤに比べて、駅への到着時刻・出発時刻が遅くなる遅延が発生した場合、なるべく遅延を回復するように各列車は運行することが行われている。
しかしながら、都市近郊路線の朝のラッシュ時のような場合には、先行列車が存在するために遅延も回復できず、かつ、遅延に適した運転を行わないことにより、信号で減速を強いられ、無駄な加減速を行って運行してしまい、消費エネルギーの増大を招く虞がある。
【００１０】
そこで、本発明は、遅延が発生した場合においても、遅延の回復と無駄な消費エネルギーの増加を防止することによる省エネを実現することが可能な列車運行制御装置、制御方法及び制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
実施形態の列車運行制御装置の運転曲線作成部は、自列車が次の出発駅となるいずれかの駅に到着した時点において、自列車、自列車の直前を走行する列車である先行列車及び自列車の直後を走行する列車である後続列車のそれぞれの次の出発駅を予め設定された運転ダイヤ通りに出発することが可能な状態にあるか否かに基づいて、自列車が、次の出発駅を出発してから次に停車する駅に到着するまでの運転曲線を、累積消費エネルギーを考慮して作成する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態の列車運行制御装置の概要構成図である。
【図２】図２は、列車と駅との関係説明図である。
【図３】図３は、自列車、先行列車及び後続列車の状態の説明図である。
【図４】図４は、先行列車による速度制限算出方法の説明図である。
【図５】図５は、図４に対応する状態における速度制限設定例の説明図である。
【図６】図６は、実施形態の省エネ運転曲線の作成処理フローチャートである。
【図７】図７は、最短時間運転曲線の作成処理フローチャートである。
【図８】図８は、最大加速度及び最大減速度の利用可能条件の説明図である。
【図９】図９は、加速限界曲線の作成処理の処理フローチャートである。
【図１０】図１０は、減速限界曲線の作成処理の処理フローチャートである。
【図１１】図１１は、最短時間運転曲線の作成処理の処理フローチャートである。
【図１２】図１２は、省エネ運転曲線の作成処理の処理フローチャートである。
【図１３】図１３は、横軸に時刻、縦軸に列車の位置をとった（ｘ−ｔ）グラフである。
【図１４】図１４は、速度条件の説明図である。
【図１５】図１５は、量子化処理の説明図である。
【図１６】図１６は、速度制限値の設定例の説明図である。
【発明を実施するための形態】
【００１３】
次に図面を参照して実施形態について説明する。
図１は、実施形態の列車運行制御装置の概要構成図である。
図２は、列車と駅との関係説明図である。
以下の説明においては、いずれかの駅（＝次に出発駅となる駅：現在駅）に停車している列車を自列車ＴＲ１とした場合に、自列車ＴＲ１の進行方向前方を進行している直前の列車を先行列車とし、自列車ＴＲ１の進行方向後方を進行している直後の列車を後続列車（後行列車）とし、自列車ＴＲ１、先行列車及び後続列車の運行状況に応じて、自列車ＴＲ１の運行制御を行うものとする。このような構成としているのは、自列車ＴＲ１の運行が直接的に影響を与えるのは先行列車と後続列車のみであるとの仮定からである。このため、本実施形態においては、自列車ＴＲ１の現在駅の出発時刻および次駅の到着時刻を決めるのに用いる列車の情報は、先行列車と後続列車のみの情報としている。
【００１４】
列車運行制御装置１００は、当日のダイヤ（ダイヤグラム：運行計画線図）に対する車両の割当を行った後の情報が格納されているダイヤデータベース（ＤＢ）１０１と、駅に到着した運行制御対象の列車を自列車ＴＲ１として、自列車ＴＲ１の進行方向前方に存在する先行列車ＴＲ０と自列車ＴＲ１の進行方向後方に存在する後続列車ＴＲ２の運行状況を表す遅延時間と先行列車ＴＲ０と後続列車ＴＲ２それぞれの予定出発時刻、予定到着時刻と自列車ＴＲ１の余裕時分および遅延時間から、自列車ＴＲ１の現在駅からの予定出発時刻と次の停車駅である前方駅の予定到着時刻とを算出する、出発時刻・到着時刻算出部１０２と、ダイヤに対する過去の運転時隔、駅での停車時間の実績値を保存している時隔・停止時間データベース（ＤＢ）１０３と、先行列車ＴＲ０による各時刻に対する各閉塞進入位置における速度制限を定める速度制限算出部１０４と、当該路線を走行する車両の乗車率に対する各ノッチの特性およびモータ・インバータの特性と当該路線の位置に対する速度制限と位置に対する勾配と当該路線の位置に対する曲率半径を保存した車両・路線データベース（ＤＢ）１０５と、速度制限算出部１０４の算出結果を制約条件として用い、自列車ＴＲ１の現在駅から前方駅への走行に関する最も累積消費エネルギーが小さい運転曲線を作成する運転曲線作成部１０６と、運転曲線作成部１０６の算出結果を用いて、各閉塞進入位置（閉塞区間進入位置）における速度制限を抽出する運転情報抽出部１０７と、を備えている。
【００１５】
列車運行制御装置１００は、運行制御対象の列車である自列車ＴＲ１が駅に停車している間に処理を行うように構成されており、自列車ＴＲ１が駅（＝次に出発駅となる駅：現在駅）に到着した直後に処理を開始するようにされている。
【００１６】
自列車ＴＲ１がある駅に到着すると、出発時刻・到着時刻算出部１０２は、到着した当該自列車ＴＲ１の到着した時刻、後続列車ＴＲ２の現在位置と後続列車ＴＲ２が出発した駅（後方駅ＳＴ２）とその出発時刻、後続列車ＴＲ２の次駅（現在駅ＳＴ１）の到着予定時刻、先行列車ＴＲ０の現在位置と先行列車ＴＲ０が出発した駅（前方駅ＳＴ０）とその出発時刻、先行列車ＴＲ０の次駅到着予定時刻を取得する（入力される）。
【００１７】
次に、出発時刻・到着時刻算出部１０２は、上述した情報（データ）を取得したならば、ダイヤＤＢ１０１を参照し、ダイヤで想定されている自列車ＴＲ１の予定到着時刻を取得する。そして、出発時刻・到着時刻算出部１０２は、ダイヤＤＢ１０１に登録してある予定到着時刻と実際の運行における到着時刻との差を算出し、自列車ＴＲ１が遅延しているか否かを判定する。
【００１８】
次に出発時刻・到着時刻算出部１０２は、現在駅ＳＴ１の予定出発時刻を算出する。ここで、現在駅ＳＴ１の予定出発時刻は、現在駅ＳＴ１の到着時刻に停車時間を加算した時刻である。また、停車時間は、予めダイヤＤＢ１０１に格納（設定）されている値を用いるか、過去の同じ予定到着時刻の列車の実績値の平均値を用いる。
【００１９】
次に自列車ＴＲ１が現在駅ＳＴ１を出発する予定出発時刻と自列車ＴＲ１が前方駅ＳＴ０に到着する予定到着時刻とを算出するために必要な自列車ＴＲ１の情報、先行列車ＴＲ０の情報及び後続列車ＴＲ２の情報について述べる。
【００２０】
自列車ＴＲ１の情報としては、以下に示す自列車ＴＲ１の遅延時間、自列車ＴＲ１の余裕時分及び自列車ＴＲ１の現在駅ＳＴ１における停車時間が必要となる。
（１）  自列車ＴＲ１の遅延時間＝
実際の自列車ＴＲ１が現在駅ＳＴ１への予定到着時刻
−自列車ＴＲ１がダイヤ上の現在駅ＳＴ１への予定到着時刻
（２）  自列車ＴＲ１の余裕時分＝
自列車ＴＲ１がダイヤ上で現在駅ＳＴ１から前方駅ＳＴ０まで走行する時間
−自列車ＴＲ１の現在駅ＳＴ１から前方駅ＳＴ０まで走行する最短の時間
（３）  自列車ＴＲ１の現在駅ＳＴ１における停車時間＝自列車ＴＲ１が現在駅ＳＴ１で乗客の乗降に要する時間と調整時間の合計
【００２１】
先行列車ＴＲ０の情報としては、先行列車ＴＲ０の遅延時間、先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻及び先行列車ＴＲ０の前方駅における停車時間が必要となる。
（４）  先行列車ＴＲ０の遅延時間＝実際の先行列車ＴＲ０が前方駅ＳＴ０への予定到着時刻−先行列車ＴＲ０がダイヤ上で前方駅ＳＴ０への予定到着時刻
（５）  先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻＝先行列車ＴＲ０が前方駅ＳＴ０位置における閉塞を通過する時刻
（６）  先行列車ＴＲ０の前方駅ＳＴ０における停車時間＝先行列車ＴＲ０が前方駅ＳＴ０で乗客の乗降に要する時間と調整時間の合計
【００２２】
後続列車ＴＲ２の情報としては、後続列車ＴＲ２の遅延時間及び後続列車ＴＲ２の後方駅ＳＴ２における停車時間が必要となる。
（７）  後続列車ＴＲ２の遅延時間＝実際の後続列車ＴＲ２が後方駅ＳＴ２への予定到着時刻−後続列車ＴＲ２がダイヤ上で後方駅ＳＴ２への予定到着時刻
（８）  後続列車ＴＲ２の後方駅ＳＴ２における停車時間＝後続列車ＴＲ２が後方駅ＳＴ２で乗客の乗降に要する時間と調整時間の合計
【００２３】
これらの情報に基づいて、列車運行制御装置１００は、自列車ＴＲ１が現在駅ＳＴ１に到着した時点で、自列車ＴＲ１が現在駅ＳＴ１を出発する予定出発時刻、自列車ＴＲ１が前方駅ＳＴ０に到着する予定到着時刻及び自列車ＴＲ１が現在駅ＳＴ１から前方駅ＳＴ０まで走行するのに要する時間（走行時分）を算出する。
【００２４】
ここで、自列車ＴＲ１が現在駅ＳＴ１から前方駅ＳＴ０まで走行するのに要する時間（走行時分）については、次式により算出する。
走行時分＝現在駅ＳＴ１の予定出発時刻−前方駅ＳＴ０の予定到着時刻
【００２５】
次に列車運行制御装置１００は、（１）〜（８）の情報を算出したら、以下の手順に従って、自列車ＴＲ１が現在駅ＳＴ１から前方駅ＳＴ０まで走行するための省エネ運転曲線を算出する。
自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻と自列車ＴＲ１の前方駅ＳＴ０の到着予定時刻は、先行列車ＴＲ０と後続列車ＴＲ２の運行状況を考慮して決められる。自列車ＴＲ１及び先行列車ＴＲ０・後続列車ＴＲ２の現在の状況は遅延時間によって評価する。
【００２６】
ここで自列車ＴＲ１、先行列車ＴＲ０あるいは後続列車ＴＲ２の遅延時間ｔｄ及び定刻許容時間α（α＞０）を用いてそれぞれの列車の運行状況を以下のように定義する。
定刻許容時間αは、定刻と見なして取り扱う時間範囲を表すパラメータである。
早着：遅延時間ｔｄ＜−α
定刻：−α≦遅延時間ｔｄ≦α
遅延：遅延時間ｔｄ＞α
【００２７】
本実施形態においては、早着の場合は、当該早着した停車駅で停車時間を延ばすことによって時間調整を行い、当該早着した停車駅からダイヤ上設定されている予定出発時刻で駅を出発するものとしている。
【００２８】
このようにすることにより、早着の場合及び定刻の場合は、ともに当該停車駅でダイヤ上設定された予定出発時刻で出発できるため、駅出発時点での状態は同じものとみなせる。よって、自列車ＴＲ１の状態、先行列車ＴＲ０の状態及び後続列車ＴＲ２の状態が、それぞれ早着または定刻の場合、及び遅延の場合の２通りに分けて処理することができる。
【００２９】
図３は、自列車、先行列車及び後続列車の状態の説明図である。
自列車ＴＲ１、先行列車ＴＲ０及び後続列車ＴＲ２のそれぞれについて２通りの状態が存在し、自列車ＴＲ１、先行列車ＴＲ０及び後続列車ＴＲ２の全てについて考慮する場合には、図３に示すように、全部で２３＝８通りの状態（状態ＩＤ＝１〜８）が存在する。
【００３０】
次に、これらの８通りの状態（状態ＩＤ＝１〜８）のそれぞれについて、
・自列車ＴＲ１の自列車ＴＲ１が現在駅ＳＴ１を出発する予定出発時刻
・自列車ＴＲ１が前方駅ＳＴ０に到着する予定到着時刻
・自列車ＴＲ１が現在駅ＳＴ１から前方駅ＳＴ０まで走行するのに要する時間（走行時分）
を設定する。
【００３１】
以下に図３に示した８通りの状態（状態ＩＤ＝１〜８）についてそれぞれ説明する。
［１］状態ＩＤ＝１：後続列車ＴＲ２、自列車ＴＲ１、先行列車ＴＲ０がすべて早着または定刻の場合。
【００３２】
後続列車ＴＲ２、自列車ＴＲ１及び先行列車ＴＲ０がすべて早着または定刻の場合、自列車ＴＲ１はダイヤ上設定されている現在駅ＳＴ１の予定出発時刻で出発し、前方駅ＳＴ０へはダイヤ上設定されている予定到着時刻で到着するように設定する。
これにより、自列車ＴＲ１の走行時分は、以下の通りとなる。
【００３３】
・自列車ＴＲ１の走行時分＝次駅の予定到着時刻−現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の次駅の予定到着時刻
−ダイヤ上の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の走行時分
したがって、状態ＩＤ＝１の場合には、自列車ＴＲ１は、ダイヤ上で設定された運転曲線に従って運転することとなる。
【００３４】
［２］状態ＩＤ＝２：後続列車ＴＲ２が遅延、自列車ＴＲ１及び先行列車ＴＲ０が早着または定刻の場合。
後続列車ＴＲ２のみが遅延している場合、自列車ＴＲ１は現在駅ＳＴ１をダイヤ上設定されている予定出発時刻で出発できるが、ダイヤ上設定されている予定出発時刻で出発すると後続列車ＴＲ２との時隔が大きくなってしまう。時隔が大きくなると、後続列車ＴＲ２が現在駅ＳＴ１に到着するまでに現在駅ＳＴ１にはダイヤ通りの運行時と比較して、多くの乗客が発生する可能性があり、後続列車ＴＲ２が現在駅ＳＴ１でさらに遅延を増大させる可能性がある。
そこで、本実施形態では、自列車ＴＲ１自身の遅延を増加させない範囲で後続列車ＴＲ２との時隔を調整するように現在駅ＳＴ１の予定出発時刻を定める。
【００３５】
［２．１］後続列車ＴＲ２の遅延時間≦自列車ＴＲ１の余裕時分の場合。
この場合には、自列車ＴＲ１は、ダイヤ上の現在駅ＳＴ１の予定出発時刻＋（自列車ＴＲ１の余裕時分−後続列車ＴＲ２の遅延時間）で出発し、ダイヤ上の次駅の予定到着時刻に到着するように計画する。
その際、自列車ＴＲ１の走行時分は、以下のように定める。
【００３６】
・自列車ＴＲ１の走行時分＝次駅の予定到着時刻−現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の次駅の予定到着時刻
−｛ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋（自列車ＴＲ１の余裕時分
−後続列車ＴＲ２の遅延時間）｝
＝ダイヤ上の走行時分
−（自列車ＴＲ１の余裕時分
−後続列車ＴＲ２の遅延時間）≧最短走行時分
【００３７】
つまり、ダイヤ上の走行時分に対して、（自列車ＴＲ１の余裕時分−後続列車ＴＲ２の遅延時間）だけ早く走行する。
したがって、予め残しておいた時間的な余裕を走行時分に転化することで消費エネルギー的には、増加を招くが、後続列車ＴＲ２との運転時隔を大きくし、後続列車ＴＲ２へ乗車する人の偏りを自列車ＴＲ１により吸収でき、後続列車ＴＲ２への乗車が集中することによる遅延増加の要因を小さくできる。
【００３８】
［２．２］後続列車ＴＲ２の遅延時間＞自列車ＴＲ１の余裕時分の場合。
自列車ＴＲ１は、（ダイヤ上の現在駅ＳＴ１の予定出発時刻＋自列車ＴＲ１の余裕時分）で出発し、ダイヤ上の前方駅ＳＴ０の予定到着時刻に到着するように計画する。したがって、自列車ＴＲ１の走行時分は現在駅ＳＴ１と前方駅ＳＴ０との間の最短走行時分と等しくなる。
したがって、この場合にも、後続列車ＴＲ２へ乗車する人の偏りを自列車ＴＲ１により吸収でき、後続列車ＴＲ２への乗車が集中することによる遅延増加の要因を小さくできる。
【００３９】
［３］状態ＩＤ＝３：自列車ＴＲ１が遅延、後続列車ＴＲ２・先行列車ＴＲ０が早着または定刻の場合。
自列車ＴＲ１のみが遅延している場合、自列車ＴＲ１は遅延を回復させるように運転を行う。
【００４０】
［３．１］自列車ＴＲ１の遅延時間≦自列車ＴＲ１の余裕時分の場合。
この場合には、以下のように計画する。
・自列車ＴＲ１の現在駅ＳＴ１の出発予定時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻＋遅延時間
・自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
＝ダイヤ上の前方駅ＳＴ０の予定到着時刻
この際に、自列車ＴＲ１の走行時分は、以下のように定める。
【００４１】
・自列車ＴＲ１の走行時分＝前方駅ＳＴ０の予定到着時刻
−現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の前方駅ＳＴ０の予定到着時刻
−｛ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋（自列車ＴＲ１の余裕時分
−自列車ＴＲ１の遅延時間）｝
＝ダイヤ上の走行時分
−（自列車ＴＲ１の余裕時分
−自列車ＴＲ１の遅延時間）
≧最短走行時分
【００４２】
つまり、（自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）だけ早く走行する。
したがって、予め残しておいた時間的な余裕を走行時分に転化することで消費エネルギー的には、増加を招くが、自列車ＴＲ１の遅延を後続列車ＴＲ２に影響を与えないで、前方駅ＳＴ０までに遅延を回復させることができる。
【００４３】
［３．２］自列車ＴＲ１の遅延時間＞自列車ＴＲ１の余裕時分の場合。
この場合には、自列車ＴＲ１は、出発時刻及び自列車ＴＲ１の前方駅ＳＴ０への予定到着時刻を以下のように定める。
・出発時刻＝ダイヤ上の現在駅ＳＴ１の予定出発時刻＋遅延時間
・自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
＝現在駅ＳＴ１の予定出発時刻
＋遅延時間＋前方駅ＳＴ０までの最短走行時分
【００４４】
この場合、次駅である前方駅ＳＴ０までには、ダイヤ通りの運行への回復はできないが、次駅以降でも遅延が検知されるために、再びダイヤ上の走行時分よりも短い走行時分で運行することとなり、ダイヤ上の走行時分よりも短い走行時分での運行を繰り返すことで遅延を徐々に回復させることができる。
【００４５】
［４］状態ＩＤ＝４：先行列車ＴＲ０が遅延、後続列車ＴＲ２及び自列車ＴＲ１が早着または定刻の場合。
先行列車ＴＲ０のみが遅延している場合、自列車ＴＲ１は先行列車ＴＲ０の遅延の程度によってはダイヤ上設定されている前方駅ＳＴ０への予定到着時刻で到着することができなくなる。そこで先行列車ＴＲ０が遅延を起こしている場合には先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻を考慮して、現在駅ＳＴ１の予定出発時刻を定める。
【００４６】
［４．１］先行列車ＴＲ０の前方駅ＳＴ０における閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻以前の場合。
先行列車ＴＲ０の前方駅ＳＴ０における閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻以前（先行列車ＴＲ０の前方駅ＳＴ０閉塞開通時刻≦自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻）の場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００４７】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
・自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
＝ダイヤ上の前方駅ＳＴ０の予定到着時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の現在駅ＳＴ１の予定到着時刻
−ダイヤ上の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の走行時分
【００４８】
［４．２］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻経過後の場合。
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻経過後（先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻＞自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻）の場合。
自列車ＴＲ１はダイヤ上で設定されている走行時分で運行することは不可能である。そのため、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００４９】
・自列車ＴＲ１の次駅の予定到着時刻＝先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻
・自列車ＴＲ１の走行時分＝次駅の予定到着時刻−現在駅ＳＴ１の予定出発時刻
＝先行列車ＴＲ０の次駅閉塞開通時刻
−ダイヤ上の現在駅ＳＴ１の予定出発時刻
≧ダイヤ上の走行時分
ダイヤ上の走行時分よりも長いことと、先行列車ＴＲ０の存在による閉塞区間における速度制限を考慮し、上述した自列車ＴＲ１の走行時分で省エネ運転曲線を作成する。
【００５０】
［５］状態ＩＤ＝５：先行列車ＴＲ０が早着または定刻、後続列車ＴＲ２及び自列車ＴＲ１が遅延の場合。
先行列車ＴＲ０が早着または定刻で、自列車ＴＲ１と後続列車ＴＲ２が遅延している場合、自列車ＴＲ１は自身の遅延を回復させるためにはなるべく前方駅ＳＴ０に着くまでの間に遅延を回復させたいが、遅延回復のために早く出発すると、後続列車ＴＲ２に対する運転時隔が大きくなり、後続列車ＴＲ２が現在駅ＳＴ１で遅延を増大させる原因を作ることになり得る。
そこで、本実施形態においては、自列車ＴＲ１は後続列車ＴＲ２との運転時隔を考慮しつつ、遅延を回復させるように現在駅ＳＴ１の予定出発時刻を定めている。
【００５１】
［５．１］自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分以下である場合。
［５．１．１］後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間以下である場合。
後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間以下［続列車の遅延時間≦（自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）］である場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋後続列車ＴＲ２の遅延時間
・自列車ＴＲ１の走行時分＝ダイヤ上の走行時分−後続列車ＴＲ２の遅延時間
【００５２】
［５．１．２］後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間を超える場合。
後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間を超える［後続列車ＴＲ２の遅延時間＞（自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）］場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００５３】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋（自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）
・自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
＝ダイヤ上の前方駅ＳＴ０の予定到着時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の次駅の予定到着時刻
−ダイヤ上の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の走行時分
−（自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）
【００５４】
［５．２］自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分を超える場合。
自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分を超える（自列車ＴＲ１の遅延時間＞自列車ＴＲ１の余裕時分）場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻及び自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻を以下の通りとする。
【００５５】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋自列車ＴＲ１の遅延時間
・自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
＝自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻＋最短走行時分
【００５６】
［６］状態ＩＤ＝６：自列車ＴＲ１が早着または定刻、後続列車ＴＲ２及び先行列車ＴＲ０が遅延の場合。
自列車ＴＲ１が早着または定刻で、先行列車ＴＲ０・後続列車ＴＲ２が遅延をしている場合、自列車ＴＲ１は先行列車ＴＲ０の遅延の程度によってはダイヤ上設定された前方駅ＳＴ０の予定到着時刻で到着することが不可能である。また、後続列車ＴＲ２に対してもダイヤ上設定された現在駅ＳＴ１の予定出発時刻で出発することで、後続列車ＴＲ２が現在駅ＳＴ１に到着した時に遅延を増大させる可能性もある。そこで自列車ＴＲ１は先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻を考慮して、現在駅ＳＴ１の予定出発時刻を定める。
【００５７】
［６．１］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻以前である場合。
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻以前（先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻≦自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻）である場合には、後続列車ＴＲ２の遅延時間及び自列車ＴＲ１の余裕時分に基づいて、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００５８】
［６．１．１］後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分以下である場合。
後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分以下（後続列車ＴＲ２の遅延時間≦自列車ＴＲ１の余裕時分）である場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００５９】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋後続列車ＴＲ２の遅延時間
・自列車ＴＲ１の次駅の予定到着時刻＝ダイヤ上の現在駅ＳＴ１の予定到着時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の走行時分−後続列車ＴＲ２の遅延時間
【００６０】
［６．１．２］後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分を超えている場合。
後続列車ＴＲ２の遅延時間が自列車ＴＲ１の余裕時分を超えている（後続列車ＴＲ２の遅延時間＞自列車ＴＲ１の余裕時分）場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００６１】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻＋余裕時分
・自列車ＴＲ１の次駅の予定到着時刻＝ダイヤ上の現在駅ＳＴ１の予定到着時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の最短走行時分
【００６２】
［６．２］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻を超えている場合。
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻を超えている（先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻＞自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻）場合には、後続列車ＴＲ２の遅延時間、先行列車ＴＲ０の次駅閉塞開通時刻及び自列車ＴＲ１のダイヤ上の次駅の予定到着時刻に基づいて、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００６３】
［６．２．１］後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻を差し引いた時間以下である場合。
後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻を差し引いた時間以下である［後続列車ＴＲ２の遅延時間≦（先行列車ＴＲ０の次駅閉塞開通時刻−自列車ＴＲ１のダイヤ上の次駅の予定到着時刻）］場合には、後続列車ＴＲ２の遅延時間、先行列車ＴＲ０の次駅閉塞開通時刻及び自列車ＴＲ１のダイヤ上の次駅の予定到着時刻に基づいて、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００６４】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋後続列車ＴＲ２の遅延時間
・自列車ＴＲ１の次駅の予定到着時刻＝先行列車ＴＲ０の次駅閉塞開通時刻
・自列車ＴＲ１の走行時分＝先行列車ＴＲ０の次駅閉塞時刻
−自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
【００６５】
［６．２．２］後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻を差し引いた時間を超えている場合。
後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻を差し引いた時間を超えている［後続列車ＴＲ２の遅延時間＞（先行列車ＴＲ０の次駅閉塞開通時刻−自列車ＴＲ１のダイヤ上の次駅の予定到着時刻）］である場合には、後続列車ＴＲ２の遅延時間、先行列車ＴＲ０の次駅閉塞開通時刻及び自列車ＴＲ１のダイヤ上の次駅の予定到着時刻に基づいて、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００６６】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝先行列車ＴＲ０の次駅閉塞開通時刻
−自列車ＴＲ１の現在駅ＳＴ１と前方駅ＳＴ０間の最短走行時分
・自列車ＴＲ１の次駅の予定到着時刻＝先行列車ＴＲ０の次駅閉塞開通時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の最短走行時分
【００６７】
［７］状態ＩＤ＝７：後続列車ＴＲ２が早着または定刻、自列車ＴＲ１及び先行列車ＴＲ０が遅延の場合。
後続列車ＴＲ２が早着または定刻、自列車ＴＲ１及び先行列車ＴＲ０が遅延している場合、自列車ＴＲ１は後続列車ＴＲ２の進行をふさがないようになるべく現在駅ＳＴ１を早く出発する必要がある。しかしながら、先行列車ＴＲ０の遅延の程度によっては、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻よりも遅い時刻にしか到着できないことがある。
そこで、後続列車ＴＲ２が早着または定刻、自列車ＴＲ１及び先行列車ＴＲ０が遅延の場合には、自列車ＴＲ１は先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻を考慮して、現在駅ＳＴ１の予定出発時刻を定める。
【００６８】
［７．１］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻に自列車ＴＲ１の遅延時間を加えるとともに、自列車ＴＲ１の余裕時分を差し引いた時刻以前である場合。
【００６９】
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻に自列車ＴＲ１の遅延時間を加えるとともに、自列車ＴＲ１の余裕時分を差し引いた時刻以前である［先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻≦（自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻＋自列車ＴＲ１の遅延時間−自列車ＴＲ１の余裕時分）］の場合には、自列車ＴＲ１の遅延時間及び自列車ＴＲ１の余裕時分に基づいて、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００７０】
［７．１．１］自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分以下である場合。
自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分以下（自列車ＴＲ１の遅延時間≦自列車ＴＲ１の余裕時分）である場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００７１】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋自列車ＴＲ１の遅延時間
・自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
＝ダイヤ上の前方駅ＳＴ０の予定到着時刻
・自列車ＴＲ１の走行時分
＝ダイヤ上の走行時分
−（自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）
≧最短走行時分
【００７２】
［７．１．２］自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分を超えている場合。
自列車ＴＲ１の遅延時間が自列車ＴＲ１の余裕時分を超えている（自列車ＴＲ１の遅延時間＞自列車ＴＲ１の余裕時分）場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００７３】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋自列車ＴＲ１の遅延時間
・自列車ＴＲ１の次駅の予定到着時刻
＝ダイヤ上の現在駅ＳＴ１の予定到着時刻
＋（自列車ＴＲ１の遅延時間−自列車ＴＲ１の余裕時分）
・自列車ＴＲ１の走行時分＝最短走行時分
【００７４】
［７．２］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の次駅の予定到着時刻に自列車ＴＲ１の遅延時間を加算し、自列車ＴＲ１の余裕時分を差し引いた時刻を越えている場合。
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の次駅の予定到着時刻に自列車ＴＲ１の遅延時間を加算し、自列車ＴＲ１の余裕時分を差し引いた時刻を越えている［先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻＞（自列車ＴＲ１のダイヤ上の次駅の予定到着時刻＋自列車ＴＲ１の遅延時間−自列車ＴＲ１の余裕時分）］場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００７５】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋自列車ＴＲ１の遅延時間
・自列車ＴＲ１の次駅の予定到着時刻
＝先行列車ＴＲ０の前方駅ＳＴ０の駅閉塞開通時刻
・自列車ＴＲ１の走行時分＝自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻
−自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
【００７６】
［８］状態ＩＤ＝８：後続列車ＴＲ２、自列車ＴＲ１及び先行列車ＴＲ０がすべて遅延の場合。
自列車ＴＲ１、先行列車ＴＲ０及び後続列車ＴＲ２のすべてが遅延している場合、自列車ＴＲ１は自身の遅延時間を含め、後続列車ＴＲ２と先行列車ＴＲ０の遅延まですべて考慮して現在駅ＳＴ１の予定出発時刻と前方駅ＳＴ０の予定到着時刻を定めなければならない。
【００７７】
そこで自列車ＴＲ１は、先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻を考慮して、現在駅ＳＴ１の予定出発時刻を定める。
【００７８】
［８．１］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻に自列車ＴＲ１の遅延時間を加算し、自列車ＴＲ１の余裕時分を差し引いた時刻以前の場合。
【００７９】
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻に自列車ＴＲ１の遅延時間を加算し、自列車ＴＲ１の余裕時分を差し引いた時刻以前である［先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻≦（自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻＋自列車ＴＲ１の遅延時間−自列車ＴＲ１の余裕時分）］場合には、後続列車ＴＲ２の遅延時間に基づいて以下の通りに設定する。
【００８０】
［８．１．１］後続列車ＴＲ２の遅延時間が、自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間以下である場合。
【００８１】
後続列車ＴＲ２の遅延時間が、自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間以下である［自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻＝ダイヤ上の現在駅ＳＴ１の予定出発時刻＋後続列車ＴＲ２の遅延時間≦自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間］場合には、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００８２】
・自列車ＴＲ１の次駅の予定到着時刻＝ダイヤ上の現在駅ＳＴ１の予定到着時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の走行時分−後続列車ＴＲ２の遅延時間
【００８３】
［８．１．２］後続列車ＴＲ２の遅延時間が、自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間を超えている場合。
後続列車ＴＲ２の遅延時間が、自列車ＴＲ１の余裕時分から自列車ＴＲ１の遅延時間を差し引いた時間を超えている（後続列車ＴＲ２の遅延時間＞自列車ＴＲ１の余裕時分−自列車ＴＲ１の遅延時間）場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００８４】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻＋余裕時分
・自列車ＴＲ１の次駅の予定到着時刻＝ダイヤ上の現在駅ＳＴ１の予定到着時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の最短走行時分
【００８５】
［８．２］先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻に自列車ＴＲ１の遅延時間を加算し、自列車ＴＲ１の余裕時分を差し引いた時刻を超えている場合。
【００８６】
先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻が、自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻に自列車ＴＲ１の遅延時間を加算し、自列車ＴＲ１の余裕時分を差し引いた時刻を超えている［先行列車ＴＲ０の前方駅ＳＴ０の閉塞開通時刻＞（自列車ＴＲ１のダイヤ上の前方駅ＳＴ０の予定到着時刻＋自列車ＴＲ１の遅延時間−自列車ＴＲ１の余裕時分）］場合には、後続列車ＴＲ２の遅延時間に基づいて以下の通りに設定する。
【００８７】
［８．２．１］後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻及び自列車ＴＲ１の遅延時間を差し引いた時間以下である場合。
【００８８】
後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻及び自列車ＴＲ１の遅延時間を差し引いた時間以下である［後続列車ＴＲ２の遅延時間≦（先行列車ＴＲ０の次駅閉塞開通時刻−自列車ＴＲ１のダイヤ上の次駅の予定到着時刻−自列車ＴＲ１の遅延時間）］である場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００８９】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝ダイヤ上の現在駅ＳＴ１の予定出発時刻
＋後続列車ＴＲ２の遅延時間
・自列車ＴＲ１の次駅の予定到着時刻＝先行列車ＴＲ０の次駅閉塞開通時刻
・自列車ＴＲ１の走行時分＝先行列車ＴＲ０の次駅閉塞時刻
−自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
【００９０】
［８．２．２］後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻及び自列車ＴＲ１の遅延時間を差し引いた時間を超えている場合。
【００９１】
後続列車ＴＲ２の遅延時間が、先行列車ＴＲ０の次駅閉塞開通時刻から自列車ＴＲ１のダイヤ上の次駅の予定到着時刻及び自列車ＴＲ１の遅延時間を差し引いた時間を超えている［後続列車ＴＲ２の遅延時間＞（先行列車ＴＲ０の次駅閉塞開通時刻−自列車ＴＲ１のダイヤ上の次駅の予定到着時刻−自列車ＴＲ１の遅延時間）］場合には、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の次駅の予定到着時刻及び自列車ＴＲ１の走行時分を以下の通りとする。
【００９２】
・自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻
＝先行列車ＴＲ０の次駅閉塞開通時刻
−自列車ＴＲ１の現在駅ＳＴ１と前方駅ＳＴ０間の最短走行時分
・自列車ＴＲ１の次駅の予定到着時刻＝先行列車ＴＲ０の次駅閉塞開通時刻
・自列車ＴＲ１の走行時分＝ダイヤ上の最短走行時分
【００９３】
出発時刻・到着時刻算出部１０２により、自列車ＴＲ１、先行列車ＴＲ０及び後続列車ＴＲ２の運行状態に関しての８通り（状態ＩＤ＝１〜８）について、自列車ＴＲ１の現在駅ＳＴ１の予定出発時刻、自列車ＴＲ１の前方駅ＳＴ０の予定到着時刻および自列車ＴＲ１の現在駅ＳＴ１と前方駅ＳＴ０間の走行時分が算出されると、速度制限算出部１０４は、自列車ＴＲ１の省エネ運転曲線作成に必要な時間に依存した速度制限を算出する。
先行列車ＴＲ０による速度制限は、先行列車ＴＲ０の運転曲線に基づいて算出される。その作成方法に関して図４を参照して、具体的に説明する。なお、ここでの運転曲線は列車先頭位置を基準にして作成されているものとする。
【００９４】
図４は、先行列車ＴＲ０による速度制限算出方法の説明図である。
ここで、先行列車ＴＲ０の運転曲線については、すでに決まっているものとする。
先行列車ＴＲ０が出発した駅（４７００［ｍ］地点）から到着駅（６７５０［ｍ］地点）の間に存在する閉塞区間が同時にわかる。現行の鉄道では保安のために１つの閉塞に複数の列車が存在できないことになっている。そこで先行列車ＴＲ０が駅を出発した時刻（ここでは２００秒を出発時刻とした）からの経過時間で、閉塞区間から列車が通過したかを算出する。それは各閉塞の切れ目から列車長だけ進んだ位置の通過時間を見ればよい。
【００９５】
図４においては、例えば、第１閉塞区間〜第３閉塞区間のそれぞれについて、以下の通りに算出される。
第１閉塞区間ＣＡ１を通過：２４５秒
第２閉塞区間ＣＡ２を通過：２６５秒
第３閉塞区間ＣＡ３を通過：２８４秒
【００９６】
図５は、図４に対応する状態における速度制限設定例の説明図である。
続いて、各閉塞区間の経過時間に対して、自列車ＴＲ１の速度制限を設定する。
ここで簡単化のため、速度制限は存在する列車に近い方から０、３０、６０、９０［ｋｍ／ｈ］で定められるものとする。なお、図５は、一例であり、速度制限の決め方は各鉄道事業者によっても異なるため、この限りではない。
図５の例の場合、時刻２００秒〜時刻２４５秒までは、先行列車ＴＲ０が第１閉塞区間ＣＡ１内に存在しているので、第１閉塞区間ＣＡ１における自列車ＴＲ１の速度制限は、０ｋｍ、すなわち、停車となり、進入が禁止される。
【００９７】
同様に時刻２４５秒〜時刻２６５秒までは、先行列車ＴＲ０が第２閉塞区間ＣＡ２内に存在しているので、第２閉塞区間ＣＡ２における自列車ＴＲ１の速度制限は、０ｋｍ、すなわち、停車となり、進入が禁止される。また、第２閉塞区間ＣＡ２の手前隣の第１閉塞区間ＣＡ１における自列車ＴＲ１の速度制限は、３０ｋｍとなる。
【００９８】
同様に時刻２６５秒〜時刻２８４秒までは、先行列車ＴＲ０が第３閉塞区間ＣＡ３内に存在しているので、第３閉塞区間ＣＡ３における自列車ＴＲ１の速度制限は、０ｋｍ、すなわち、停車となり、進入が禁止される。また、第３閉塞区間ＣＡ３の手前隣の第２閉塞区間ＣＡ２における自列車ＴＲ１の速度制限は、３０ｋｍとなる。さらに、第１閉塞区間ＣＡ１は、第３閉塞区間ＣＡ３に対して、第２閉塞区間ＣＡ２を介して設けられているので、自列車ＴＲ１の速度制限は、第２閉塞区間ＣＡ２より高い６０ｋｍとなる。
【００９９】
同様に時刻２８４秒以降は、先行列車ＴＲ０が第４閉塞区間ＣＡ４内に存在しているので、第４閉塞区間ＣＡ４における自列車ＴＲ１の速度制限は、０ｋｍ、すなわち、停車となり、進入が禁止される。また、第４閉塞区間ＣＡ４の手前隣の第３閉塞区間ＣＡ３における自列車ＴＲ１の速度制限は、３０ｋｍとなる。さらに、第２閉塞区間ＣＡ２は、第４閉塞区間ＣＡ４に対して、第３閉塞区間ＣＡ３を介して設けられているので、自列車ＴＲ１の速度制限は、第３閉塞区間ＣＡ３より高い６０ｋｍとなる。さらにまた、第１閉塞区間ＣＡ１は、第４閉塞区間ＣＡ４に対して、第３閉塞区間ＣＡ３及び第２閉塞区間ＣＡ２を介して設けられているので、自列車ＴＲ１の速度制限は、第２閉塞区間ＣＡ２より高い９０ｋｍとなる。
【０１００】
先行列車ＴＲ０の位置による各閉塞区間での速度制限が設定できたら、次に運転曲線作成部１０６は、自列車ＴＲ１が設定した走行時分で現在駅ＳＴ１と前方駅ＳＴ０間の省エネ運転曲線を作成する。
【０１０１】
ここで、省エネ運転曲線の作成について一例を説明する。
まず、省エネ運転曲線の作成の原理的な考え方について説明する。
列車の省エネ運転曲線は、制約として走行抵抗および勾配抵抗などを含んだ運動方程式と、出発してからの経過時間ｔ、速度ｖ及び出発駅からの距離ｘで表した、出発駅での状態（初期状態）を、（ｔ，ｖ，ｘ）＝（０，０，０）とし、到着駅での状態（終端状態）を（ｔ，ｖ，ｘ）＝（Ｔ，０，Ｘ）とした２点境界値を有する。
ここで、Ｔは、出発駅から到着駅に至るのに要した経過時間、Ｘは、出発駅と到着駅との間の距離である。
【０１０２】
一方、評価関数は、出発駅と到着駅との間で消費するエネルギーの総和Ｅ（累積消費エネルギー）とした最適制御問題を解くことによって求まる。この時、列車の運動を指定する制御変数は加速度、減速度を指定するノッチとなる。現在、広く普及している列車は複数あるノッチによって列車の加減速を実現するものであり、運転曲線は各時刻においてどのノッチを選択して運転するかの多段意思決定問題とみなすことができる。
【０１０３】
ところで、一般に多段意思決定問題を解く際に課題となるのが、解候補の組み合わせ爆発である。
以下、組み合わせ爆発について簡単に説明する。
例えば、ノッチの選択肢が１０個あり、走行時間が１００秒の運転曲線を最小制御時間単位１秒として作成する場合には、１０１００個の解候補の中から制約を満たす解を見つけ出さなければならない。この中からしらみつぶしに制約を満たす解を見つけることは現実的な時間の範囲では不可能である。
【０１０４】
そこで、この組み合わせ爆発の課題を解決する方法として、動的計画法を用いた最適解の探索法が提案されている。
動的計画法を用いた運転曲線の作成は列車の（時間、速度、位置）の状態を格子点上に定義し、その格子点を最も累積消費エネルギーが小さくなる経路を探索するものである。その際、ある状態（ｔ，ｖ，ｘ）に到達する複数の経路がある場合に、最も累積した消費エネルギーが小さい経路のみを記憶し、探索を続ける。動的計画法を用いる場合、予め状態空間を格子状に分割するが、一般に格子点から格子点へ移動するのはまれである。そのため、格子点に乗らない場合には何らかの補正を施し、格子点に移動したものとしている。この方法では格子点への補正が多くなると、最適解と比較して誤差が大きくなる問題点がある。
【０１０５】
そこで、本実施形態では、多段意思決定問題の解候補を全数列挙せずに、各段（時刻）において、許容解の候補となりえるかをチェック（枝刈り）しながら、段を進める毎に解候補を生成していく方法を提案している。
【０１０６】
ここで、枝刈りとは、オペレーションズ・リサーチの分野で知られている組み合わせ最適化問題を解くための汎用的な手法である。生成操作においては解候補を生成し、枝刈り操作においては最適解となりえない解候補を枝刈りし、解候補のリストから削除する方法である。生成操作、枝刈り操作を繰り返しながら、最適解を探索する。全数列挙に近い考えであるが、解候補になりえないものは探索を行わないところが全数列挙法よりも効率がよい。
【０１０７】
図６は、実施形態の省エネ運転曲線の作成処理フローチャートである。
運転曲線作成部１０６は、車両情報、駅間情報、走行時間情報等の各種データが入力されると、車両・路線ＤＢ１０５を参照し、入力された車両情報及び駅間情報に基づいて、運転曲線作成に必要なデータを取得する（ステップＳ１０１）。
続いて、運転曲線作成部１０６は、入力された駅間での最短時間の運転曲線を作成する（ステップＳ１０２）。
【０１０８】
図７は、最短時間運転曲線の作成処理フローチャートである。
最短時間運転極性作成処理は、大別すると、加速限界曲線作成処理（ステップＳ２０１）、減速限界曲線作成処理（ステップＳ２０２）及び枝刈りアルゴリズムによる最短時間運転曲線作成処理（ステップＳ２０３）を備えて構成されている。
【０１０９】
以下、具体的に説明する。
最短時間運転曲線を作成するには、初期条件と終端条件を持つ最短時間制御の解を求めることになる。一般に最短時間制御はｂａｎｇ−ｂａｎｇ制御と呼ばれる最大加速度または最大減速度によって制御されるものである。しかしながら、列車の運行時には主に位置による速度制限が加わるために必ずしも最大加速度と最大減速度のみで制御できるわけではない。そこで最大加速度と最大減速度で列車を動かすことができる範囲を求める。
【０１１０】
図８は、最大加速度及び最大減速度の利用可能条件の説明図である。
図９は、加速限界曲線の作成処理の処理フローチャートである。
図１０は、減速限界曲線の作成処理の処理フローチャートである。
列車の運行時において、最大加速度と最大減速度を用いることができるのは、図８に示すように、ケースＣａｓｅ１〜Ｃａｓｅ４の４通りの場合である。
Ｃａｓｅ１：出発駅を出発する時、最大加速度を用いる
Ｃａｓｅ２：到着駅に到着する時、最大減速度を用いる
Ｃａｓｅ３：制限速度が進行方向で増加する時、最大加速度を用いる
Ｃａｓｅ４：制限速度が進行方向で減少する時、最大減速度を用いる
【０１１１】
図８において、右上がりの線が最大加速度で列車を動かした場合のものであり、左下がりの線が最大減速度で列車を動かした場合のものである。
一つの駅間において、Ｃａｓｅ１の状態と、Ｃａｓｅ２の状態とは必ず一つずつしか存在しない。
【０１１２】
これに対し、Ｃａｓｅ３の状態と、Ｃａｓｅ４の状態とは、一つの駅間に複数存在する可能性があるので、それらの全てに対して、加速限界曲線と減速限界曲線を算出する必要がある。
【０１１３】
はじめに図８を用いて、図９と図１０に示す変数ＳＴについて説明する。まず、速度制限が次のような構造体配列で与えられているものとする。
ｓｔｒｕｃｔ  ｖｅｌｏｃｉｔｙ＿ｌｉｍｉｔａｔｉｏｎ｛
ｄｏｕｂｌｅ  ｐｏｓｉｔｉｏｎ；／／速度制限の開始位置
ｄｏｕｂｌｅ  ｖｅｌｏｃｉｔｙ；／／上記開始位置以降の制限速度
｝；
【０１１４】
図８では
ｓｔｒｕｃｔ  ｖｅｌｏｃｉｔｙ＿ｌｉｍｉｔａｔｉｏｎ  ＳＴ［３］
＝｛｛０，ｖｍａｘ｝，｛ｘ１，ｖ２｝，｛ｘ２，ｖｍａｘ｝｝；
となる。
ここでＳＴ［０］．ｐｏｓｉｔｉｏｎ＜  ＳＴ［１］．ｐｏｓｉｔｉｏｎ＜  ＳＴ［２］．ｐｏｓｉｔｉｏｎ＜  ＳＴ［３］．ｐｏｓｉｔｉｏｎのように、構造体のインデックスが小さいほど、開始位置は小さいものとする。
【０１１５】
次に加速限界曲線と減速限界曲線のターゲットとなる位置を検出する。デフォルトで
加速限界曲線のターゲット位置＝０；／／Ｃａｓｅ１
加速限界曲線のターゲット速度＝０；／／Ｃａｓｅ１
減速限界曲線のターゲット位置＝Ｘ；／／Ｃａｓｅ２（出発駅から到着駅までの距離）
減速限界曲線のターゲット速度＝０；／／Ｃａｓｅ２
とする。それ以外は以下の条件に一致する位置を加速限界曲線と減速限界曲線のターゲット位置に設定する。
【０１１６】
ｆｏｒ（ｉｎｔ  ｉ＝１；  ｉ＜  ｓｉｚｅｏｆ（ＳＴ）／ｓｉｚｅｏｆ（ＳＴ［０］）；ｉ＋＋）｛
ｉｆ（ＳＴ［ｉ−１］．ｖｅｌｏｃｉｔｙ  ＜  ＳＴ［ｉ］．ｖｅｌｏｃｉｔｙ）｛
加速限界曲線のターゲット位置
＝ＳＴ［ｉ］．ｐｏｓｉｔｉｏｎ；  ／／Ｃａｓｅ３
加速限界曲線のターゲット速度
＝ＳＴ［ｉ−１］．ｖｅｌｏｃｉｔｙ；  ／／Ｃａｓｅ３
｝ｅｌｓｅ｛
減速限界曲線のターゲット位置
＝  ＳＴ［ｉ］．ｐｏｓｉｔｉｏｎ；  ／／Ｃａｓｅ４
減速限界曲線のターゲット速度
＝ＳＴ［ｉ］．ｖｅｌｏｃｉｔｙ；  ／／Ｃａｓｅ３
｝
｝
【０１１７】
図９においては、加速限界曲線作成に必要なターゲット位置とターゲット速度をデフォルトの駅を出発する時点のＣａｓｅ１と複数の速度制限がある場合で上記条件を満たす、すべてのターゲット位置、ターゲット速度を配列ＳＴに設定してある。
【０１１８】
同様に図１０においては、減速限界曲線作成に必要なターゲット位置とターゲット速度をデフォルトの駅に到着する時点のＣａｓｅ２と複数の速度制限がある場合で上記条件を満たす、すべてのターゲット位置、ターゲット速度を配列ＳＴに設定してある。
【０１１９】
具体的には図８を例にすると、
加速限界曲線の場合は、
ｓｔｒｕｃｔ  ｖｅｌｏｃｉｔｙ＿ｌｉｍｉｔａｔｉｏｎ  ＳＴ［２］
＝｛｛０，０｝，｛ｘ２，ｖ２｝｝；
になり、減速限界曲線の場合は
ｓｔｒｕｃｔ  ｖｅｌｏｃｉｔｙ＿ｌｉｍｉｔａｔｉｏｎ  ＳＴ［２］
＝｛｛ｘ１，ｖ２｝，｛｛Ｘ，０｝｝；
になる。
【０１２０】
加速限界曲線作成処理（ステップＳ２０１）おいては、まず初めにこの最大加速度と最大減速度を用いた時の（速度、位置）を算出する。
【０１２１】
図８に示したケースｃａｓｅ１〜ｃａｓｅ４における各曲線を、それぞれ加速限界曲線、減速限界曲線と呼ぶことにする。
ところで、加速限界曲線は、最大加速を用いる速度と位置の初期条件を与えることで容易に求めることができる。
【０１２２】
まず、図９に示すように、運転曲線作成部１０６は、変数ｓを初期化し、初期値の０とする（ステップＳ４０１）。
次に加速限界曲線のターゲット位置、すなわち、加速経過時刻ｉ＝０、加速限界曲線における初期速度ｖ（０）＝ＳＴ［ｓ］．ｖｅｌｏｃｉｔｙ及び初期位置ｘ（０）＝ＳＴ［ｓ］．ｐｏｓｉｔｉｏｎを設定する（ステップＳ４０２）。
【０１２３】
次に運転曲線作成部１０６は、時刻ｉに１を加算する（ステップＳ４０３）。
続いて運転曲線作成部１０６は、時刻ｉにおける状態（ｖ（ｉ），ｘ（ｉ））を最大加速ノッチ（最大の加速度を得ることが可能なノッチ位置に相当）で運動方程式を解いて、算出する（ステップＳ４０４）。
【０１２４】
次に運転曲線作成部１０６は、時刻ｉにおける速度ｖ（ｉ）が制限速度ｖｍａｘを超えたか、すなわち、
ｖ（ｉ）＞ｖｍａｘ
あるいは、時刻ｉにおける位置ｘ（ｉ）がターゲット位置ＳＴ［ｓ］．ｐｏｓｉｔｉｏｎを超えたか否かを判別する（ステップＳ４０５）。
【０１２５】
ステップＳ４０５の判別において、時刻ｉにおける速度ｖ（ｉ）が制限速度ｖｍａｘを超えておらず、かつ、時刻ｉにおける位置ｘ（ｉ）がターゲット位置ＳＴ［ｓ］．ｐｏｓｉｔｉｏｎを超えていない場合には（ステップＳ４０５；Ｎｏ）、運転曲線作成部１０６は、処理を再びステップＳ４０３に移行して、以下、同様の処理を繰り返す。
【０１２６】
ステップＳ４０５の判別において、時刻ｉにおける速度ｖ（ｉ）が制限速度ｖｍａｘを超えている、あるいは、時刻ｉにおける位置ｘ（ｉ）がターゲット位置ＳＴ［ｓ］．ｐｏｓｉｔｉｏｎを超えている場合には（ステップＳ４０５；Ｙｅｓ）、運転曲線作成部１０６は、加速限界曲線のターゲット位置に至ったか否かを判別し、すなわち、
ｓ＝ｓｉｚｅｏｆ（ＳＴ［ｓ］）／ｓｉｚｅｏｆ（ＳＴ［０］）
となったか否かを判別する（ステップＳ４０６）。
【０１２７】
ステップＳ４０６の判別において、加速限界曲線のターゲット位置に至っていない場合には（ステップＳ４０６；Ｎｏ）、運転曲線作成部１０６は、変数ｓに１を加算し（ステップＳ４０７）、処理を再びステップＳ４０２に移行して、以下、同様の処理を繰り返す。
ステップＳ４０６の判別において、加速限界曲線のターゲット位置に至った場合には（ステップＳ４０６；Ｙｅｓ）、運転曲線作成部１０６は、加速限界曲線の作成処理を終了する。
【０１２８】
次に運転曲線作成部１０６は、加速限界曲線の算出と同様に減速限界曲線を算出する（ステップＳ２０２）。
本実施形態においては、減速限界曲線の場合、終端条件を満たす初期条件を反復法で探索する。一般には終端条件と正確に一致することがほぼ不可能なため、終端条件に許容範囲（ε及びδ）を与えて、その範囲を満たす初期条件を求めている。
【０１２９】
まず、運転曲線作成部１０６は、変数ｓを初期化して初期値の０とし、変数ａを初期化して初期値の０とし、変数ｂ＝ＳＴ［ｓ］．ｐｏｓｉｔｉｏｎとし、変数Ｄｉｓｔａｎｃｅ＝ＳＴ［ｓ］．ｐｏｓｉｔｉｏｎとする（ステップＳ５０１）。
次に運転曲線作成部１０６は、減速限界曲線のターゲット位置、すなわち、減速経過時刻ｉ＝０、減速限界曲線における初期速度ｖ（０）＝ｖｍａｘ及び初期位置ｘ（０）＝（ａ＋ｂ）／２．０を設定する（ステップＳ５０２）。
【０１３０】
次に運転曲線作成部１０６は、時刻ｉに１を加算する（ステップＳ５０３）。
そして、運転曲線作成部１０６は、時刻ｉにおける列車の状態を最大減速ノッチで運動方程式を解き、算出する（ステップＳ５０４）。
続いて運転曲線作成部１０６は、時刻ｉにおける速度ｖ（ｉ）が許容値εに対応する次式を満たしているか否かを判別する（ステップＳ５０５）。
０≦ｖ（ｉ）＜ε
【０１３１】
ステップＳ５０５の判別において、
ε≦ｖ（ｉ）
である場合には（ステップＳ５０５；Ｎｏ）、運転曲線作成部１０６は、再び処理をステップＳ５０３に移行して以下、同様の処理を行う。
【０１３２】
ステップＳ５０５の判別において、
０≦ｖ（ｉ）＜ε
である場合には（ステップＳ５０５；Ｙｅｓ）、運転曲線作成部１０６は、時刻ｉにおける位置ｘ（ｉ）が許容値δに対応する次式を満たしているか否かを判別する（ステップＳ５０６）。
｜ｘ（ｉ）−Ｄｉｓｔａｎｃｅ｜＜δ
【０１３３】
ステップＳ５０６の判別において、
｜ｘ（ｉ）−Ｄｉｓｔａｎｃｅ｜≧δ
である場合には（ステップＳ５０６；Ｎｏ）、運転曲線作成部１０６は、
ｘ（ｉ）＜Ｄｉｓｔａｎｃｅ
であるか否かを判別する（ステップＳ５０７）。
【０１３４】
ステップＳ５０７の判別において、
ｘ（ｉ）＜Ｄｉｓｔａｎｃｅ
である場合には（ステップＳ５０７；Ｙｅｓ）、運転曲線作成部１０６は、
ａ＝（ａ＋ｂ）／２．０
として処理を再びステップＳ５０２に移行して以下、同様の処理を行う（ステップＳ５０８）。
【０１３５】
ステップＳ５０７の判別において、
ｘ（ｉ）≧Ｄｉｓｔａｎｃｅ
である場合には（ステップＳ５０７；Ｎｏ）、運転曲線作成部１０６は、
ｂ＝（ａ＋ｂ）／２．０
として（ステップＳ５０９）、処理を再びステップＳ５０２に移行して以下、同様の処理を行う。
【０１３６】
一方、ステップＳ５０６の判別において、
｜ｘ（ｉ）−Ｄｉｓｔａｎｃｅ｜＜δ
である場合には（ステップＳ５０６；Ｙｅｓ）、運転曲線作成部１０６は、減速限界曲線のターゲット位置に至ったか否かを判別し、すなわち、
ｓ＝ｓｉｚｅｏｆ（ＳＴ［ｓ］）／ｓｉｚｅｏｆ（ＳＴ［０］）
となったか否かを判別する（ステップＳ５１０）。
【０１３７】
ステップＳ５１０の判別において、減速限界曲線のターゲット位置に至っていない場合には（ステップＳ５１０；Ｎｏ）、運転曲線作成部１０６は、変数ｓに１を加算し（ステップＳ５１１）、処理を再びステップＳ５０２に移行して、以下、同様の処理を繰り返す。
ステップＳ５１０の判別において、減速限界曲線のターゲット位置に至った場合には（ステップＳ５１０；Ｙｅｓ）、運転曲線作成部１０６は、減速限界曲線の作成処理を終了する。
【０１３８】
ところで、減速限界曲線を算出するために、時間を逆向きに進めながら運動方程式を解く、逆引きの方法が使われることがあるが、勾配が存在する場合には逆引きの方法では時間を順方向で解く一般的な微分方程式の数値解法と解がずれることがある。
これに対し、本実施形態の手法によれば、微分方程式をより正確に解くための方法を用いており、逆引きの方法に比べて精度がよい減速限界曲線が得られる。
【０１３９】
次に運転曲線作成部１０６は、枝刈りアルゴリズムに基づいて最短時間運転曲線を作成する（ステップＳ２０３）。
図１１は、最短時間運転曲線の作成処理の処理フローチャートである。
ここで、図１１に示す変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅ、変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅ及び変数ｍｉｄｄｌｅ＿ｓｔａｔｅについて説明する。
【０１４０】
本実施形態においては、運転曲線作成処理を実現する制御プログラムとしては、Ｃ＋＋やＪＡＶＡ（登録商標）などの高級言語によって開発された制御プログラムを想定している。
特にＣ＋＋やＪＡＶＡでは、要素数によって配列の大きさを変えられる可変長配列を使うことができる。このため、本実施形態では、各時刻での解候補を可変長配列を用いて表現するものとする。
【０１４１】
具体的には、Ｃ＋＋などで解候補を
ｓｔｒｕｃｔ  ｐｈａｓｅ｛
ｄｏｕｂｌｅ  ｐｏｓｉｔｉｏｎ；／／位置
ｄｏｕｂｌｅ  ｖｅｌｏｃｉｔｙ；／／速度
ｄｏｕｂｌｅ  ｅｎｅｒｇｙ；／／瞬時のエネルギー消費量
ｄｏｕｂｌｅ  ｔｏｔａｌ＿ｅｎｅｒｇｙ；／／累積のエネルギー消費量
ｉｎｔ  ｎｏｔｃｈ［５００］；／／各時刻でのノッチ番号
ｉｎｔ  ｃｈａｎｇｅ＿ｃｏｕｎｔ；／／ノッチ切替回数
ｉｎｔ  ｎｏｔｃｈ＿ｃｏｎｔｉｎｕｏｕｓ＿ｔｉｍｅ；／／現在のノッチの継続時間｝；
のような構造体で表現する。
【０１４２】
そして、
ｖｅｃｔｏｒ＜ｓｔｒｕｃｔ  ｐｈａｓｅ＞  ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅ；
ｖｅｃｔｏｒ＜ｓｔｒｕｃｔ  ｐｈａｓｅ＞ｃｕｒｒｅｎｔ＿ｓｔａｔｅ；
ｖｅｃｔｏｒ＜ｓｔｒｕｃｔ  ｐｈａｓｅ＞ｍｉｄｄｌｅ＿ｓｔａｔｅ；
として解候補を表現すればよい。
【０１４３】
まず、出発駅の初期条件として経過時間ｔ＝０、速度ｖ＝０、位置ｘ＝０を変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅに設定する（ステップＳ６０１）。
次に経過時間ｔ＋１の解候補それぞれに対して、すべてのノッチでの運動方程式（微分方程式）を解き経過時間ｔの解候補を（経過時間ｔの解候補個数）×（ノッチ選択数）個作成し、その解候補を変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅとして保存し、変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅをメモリから解放（クリア）する（ステップＳ６０２）。
【０１４４】
ここで、経過時間ｔ＋１における解候補の作り方を具体的に説明する。
まず、経過時間ｔにおいて解候補がＮ個あったものとする。
Ｎ個中の第ｎ番目の解候補の状態を（ｔ，ｖｎ（ｔ），ｘｎ（ｔ））と記述すれば、ｎ番目の状態（ｔ，ｖｎ（ｔ），ｘｎ（ｔ））を数値計算上の初期値として、ｋ番目のノッチＮＯＴＣＨ（ｋ）の与える加速度または減速度を用いて、４次のルンゲ・クッタ法などの数値計算によって経過時間ｔ＋１の状態を計算する。ここでは４次のルンゲ・クッタ法を数値計算例に挙げたが、運動方程式の数値解法はこの限りではない。
これにより、経過時間ｔ＋１の解候補はＮＫ個だけ生成される。
【０１４５】
続いて、運転曲線作成部１０６は、変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅのそれぞれの解候補の速度に対して、加速限界曲線と減速限界曲線および位置による速度制限より小さい値であるかをチェックし、小さいもののみ変数ｍｉｄｄｌｅ＿ｓｔａｔｅに保存し、変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅはメモリから解放（クリア）する（ステップＳ６０３）。
【０１４６】
運転曲線作成部１０６は、変数ｍｉｄｄｌｅ＿ｓｔａｔｅの位置に対して、降順（大きい順）でソートし、上位Ｋ個を変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅに保存し、変数ｍｉｄｄｌｅ＿ｓｔａｔｅをメモリから解放（クリア）する（ステップＳ６０４）。
【０１４７】
ここで、上位Ｋ個を残すのは、解候補がなくなることを防止するためである。Ｋの値は大きいほど、解候補がなくなる可能性が低くなる。しかしながらＫの値が、大きすぎると計算時間が大きくなるため、実用的にはＫ＝２０程度でよいと考えられる。
そこで、以下の説明においては、Ｋ＝２０として考える。
【０１４８】
さらに運転曲線作成部１０６は、減速限界曲線と同様に、終端条件に許容幅を持たせた条件が成り立つまで（ステップＳ６０５；Ｙｅｓ）繰り返し、その条件を満たす解候補が出た経過時間ｔに対してｔ＋１を最短走行時分とする（ステップＳ６０７）。
ステップＳ６０５の判別において条件を満たさない場合は（ステップＳ６０５；Ｎｏ）、経過時間ｔに１を加算して（インクリメントして）（ステップＳ６０６）、処理を再びステップＳ６０２に移行し、以下同様の処理を繰り返す。
【０１４９】
次に省エネ運転曲線の作成処理について説明する。
図１２は、省エネ運転曲線の作成処理の処理フローチャートである。
まず、運転曲線作成部１０６は、走行時間Ｔの省エネ運転曲線を作成する（ステップＳ１０３）。
このため、運転曲線作成部１０６は、上述した最短時間運転曲線の結果を上限値に、最短時間運転曲線の結果を時間方向に走行時間Ｔだけ移動したものを下限値としてセットする（ステップＳ７００）。
まず、運転曲線作成部１０６は、出発駅の初期条件として経過時間ｔ＝０、速度ｖ＝０、位置ｘ＝０を変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅに設定する（ステップＳ７０１）。
【０１５０】
次に運転曲線作成部１０６は、経過時間ｔ＋１の解候補それぞれに対して、すべてのノッチでの運動方程式（微分方程式）を解き経過時間ｔの解候補を（経過時間ｔの解候補個数）×（ノッチ選択数）個作成し、その解候補を変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅとして保存し、変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅをメモリから解放（クリア）する（ステップＳ７０２）。
【０１５１】
続いて、運転曲線作成部１０６は、変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅの中で解の条件（位置、速度、ノッチ切替回数、ノッチ継続時間）を満たすものを変数ｍｉｄｄｌｅ＿ｓｔａｔｅに保存し、変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅはメモリから解放（クリア）する（ステップＳ７０３）。
【０１５２】
運転曲線作成部１０６は、経過時間ｔ＋１における変数ｍｉｄｄｌｅ＿ｓｔａｔｅを状態（量子化した位置、量子化した速度、ノッチ切替回数）でソートする。そして同じ状態とみなしている状態で最も累積エネルギー消費量が小さいものを解候補の一つとして選択し、変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅに保存し、変数ｍｉｄｄｌｅ＿ｓｔａｔｅをメモリから解放（クリア）する（ステップＳ７０４）。
【０１５３】
次に運転曲線作成部１０６は、経過時間ｔ＝走行時間Ｔであるか否かを判別する（ステップＳ７０５）。
ステップＳ７０５の判別において、未だ経過時間ｔ＜走行時間Ｔである場合には（ステップＳ７０５；Ｎｏ）、運転曲線作成部１０６は、経過時間ｔに１を加算して（インクリメントして：ステップＳ７０６）、処理を再びステップＳ７０２に移行し、以下同様の処理を繰り返す。
【０１５４】
ステップＳ７０５の判別において、経過時間ｔ＝走行時間Ｔである場合には（ステップＳ７０５；Ｙｅｓ）、運転曲線作成部１０６は、変数ｐｒｅｖｉｏｕｓ＿ｓｔａｔｅに保存されている解候補のうち、最も累積エネルギー消費量が小さいものを最適解として選択する（ステップＳ７０７）。
【０１５５】
次に解候補をチェックする条件について詳細に説明する。
簡単化のため、ここではある駅間を走行時間Ｔｍｉｎ＋１０で走行した場合の運転曲線を算出することを例に挙げて、説明する。ここで最短走行時間Ｔｍｉｎは、その駅間を最短で走行した場合の走行時間（最短走行時間）である。
最短走行時間Ｔｍｉｎに対して１０秒長い走行時間Ｔｍｉｎ＋１０で駅間を走行することを考える。
【０１５６】
図１３は、横軸に時刻、縦軸に列車の位置をとった（ｘ−ｔ）グラフである。
上のグラフは、最短走行時間Ｔｍｉｎで走行した場合の位置ｘと経過時間ｔとの関係を表しており、下のグラフは、出発駅で１０秒待機してから最短走行時間Ｔｍｉｎで走行した場合の位置ｘと経過時間ｔとの関係を表している。
【０１５７】
ここで、最短走行時間Ｔｍｉｎは、車両の性能を最大限に活用して走行したものであり、同じ車両特性であるならば、それ以上は早く走れないことを表している。
つまり、車両特性が決まれば、最短走行時間Ｔｍｉｎが一意に求まる。
したがって、ある時刻において、下のグラフよりも位置ｘが出発駅に近い場合には、走行時間Ｔｍｉｎ＋１０では、到着駅（次駅）に到着できないことを表している。
【０１５８】
ゆえに、次のことが言える。
ある駅間を走行時間Ｔｍｉｎ＋１０で走行する時、その駅間で最短走行時間Ｔｍｉｎで走行する場合の経過時間ｔにおける位置をＵｐｐｅｒ［ｔ］、最短走行時間での（ｔ，Ｕｐｐｅｒ［ｔ］）を時間軸方向に１０秒だけ平行移動したグラフを（ｔ，Ｌｏｗｅｒ［ｔ］）とする。ただし、ｔ＜１０ではＬｏｗｅｒ［ｔ］＝０とする。
【０１５９】
走行時間Ｔｍｉｎ＋１０でのエネルギー消費量が最小になる解の軌道を（ｔ，ｖ（ｔ），ｘ（ｔ））とすれば、
Ｌｏｗｅｒ［ｔ］≦ｘ（ｔ）≦Ｕｐｐｅｒ［ｔ］
が成り立つ。
ここで、ｔ：０，１，２，…，Ｔｍｉｎ＋１０である。
【０１６０】
図１４は、速度条件の説明図である。
一般に鉄道業界においては、このグラフを運転曲線と呼ぶ。ここで（ｖ−ｘ）グラフにおいて、走行時間Ｔに対応する位置ｘにおける速度ＶをＶＴ［ｘ］と書くことにする。すると、先行研究の結果からは次の特性があることがわかっている。
０≦ＶＴ［ｘ］≦ＶＴｍｉｎ［ｘ］
ここで、０≦ｘ≦Ｘである。
【０１６１】
つまり、（ｖ−ｘ）グラフで見た場合には、走行時間Ｔの運転曲線は最短時間運転曲線よりも内側に存在する。
ただし、最短時間運転曲線の結果も離散経過時間ｔにおける列車の速度、位置しかわかっておらず、ＶＴｍｉｎ［ｘ］と同様に算出することは難しい。
【０１６２】
そこで上述したＶＴ［ｘ］とＶＴｍｉｎ［ｘ］との関係式の代わりに、次の式を用いる。まず、走行時間Ｔｍｉｎの最適運転曲線に対して、経過時間ｔにおける速度、および位置をそれぞれＶＴｍｉｎ（ｔ）  、ＸＴｍｉｎ（ｔ）とする。経過時間ｔにおける解候補（ｔ，ｖ（ｔ），ｘ（ｔ））に対して、ＸＴｍｉｎ（α−１）≦ｘ（ｔ）＜ＸＴｍｉｎ（α）を満たすα（自然数）を見つける。見つけたαに対して、以下の式が成り立つかを判定する。
【０１６３】
【数１】
2015107687.tif 000003
【０１６４】
これは位置による速度の上限を与える走行時間Ｔｍｉｎの結果を用いて、ＶＴｍｉｎ（ｘ）を線形補間して近似したものである。
【０１６５】
ところで、単純に上述した方法で運転曲線を求めた場合には、累積エネルギー消費量が少ない運転曲線を生成することとなるため、必ずしも運転手にとって操作性が良い運転曲線を生成するとは限らない。
例えば、生成される運転曲線に沿って車両の運転を行うためには、各時刻で細かくノッチを操作しなければならない可能性があり、実用的ではない可能性がある。
【０１６６】
そこで、本実施形態では、解候補の選択条件として、その時刻までのノッチ切替回数をカウントして、一定値以上ならば解候補から除くようにしている。例えば、ある駅間の走行に対して次の駅に到着するまではノッチの切替回数を１０回までとするならば、ノッチ切替回数を記憶する変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅ［ｉ］．ｃｈａｎｇｅ＿ｃｏｕｎｔ≦１０の条件を満たす変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅ［ｉ］のみ変数ｍｉｄｄｌｅ＿ｓｔａｔｅに保存する。
【０１６７】
また、ノッチ切替回数と同様、ノッチ継続条件は短い時間間隔でノッチを切り替えないための条件である。ノッチ継続条件を５秒以上とするならば、ノッチ継続時間を格納する変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅ［ｉ］．ｎｏｔｃｈ＿ｃｏｎｔｉｎｕｏｕｓ＿ｔｉｍｅ≦５の条件を満たす変数ｃｕｒｒｅｎｔ＿ｓｔａｔｅ［ｉ］のみ変数ｍｉｄｄｌｅ＿ｓｔａｔｅに保存する。
【０１６８】
このため、上述したステップＳ７０３では、すべての解候補に対して、位置条件、速度条件、ノッチ切替回数条件、ノッチ継続時間条件を用いて判定を行い、これら条件を満たすものだけを変数ｍｉｄｄｌｅ＿ｓｔａｔｅに保存するようにしているのである。
さらにステップＳ７０４では、ステップＳ７０３でそれぞれの条件を満たす解候補が保存してある変数ｍｉｄｄｌｅ＿ｓｔａｔｅの中で経過時間ｔ＋１における状態（ｔ，ｖ（ｔ），ｘ（ｔ））を速度と位置に関して量子化し、量子化された速度と位置、ノッチ切替回数、ノッチ継続時間が同じものをグルーピングし、グルーピングした中でその中で最も累積エネルギー消費量が小さいものだけを解候補として残していた。
また、本実施形態においては、瞬時のエネルギー消費量に関しても上限値を超えないようにノッチを選択するといった拡張も容易に行える。
【０１６９】
ここで、量子化処理についてより詳細に説明する。
図１５は、量子化処理の説明図である。
位置と速度は連続値のため、量子化をするためには、例えば位置に関しては１［ｍ］、速度に対しても０．１［ｍ／ｓｅｃ］といった一定幅によって値を量子化したり、位置に関しては時刻ｔにおける上限値Ｕｐｐｅｒ［ｔ］と下限値Ｌｏｗｅｒ［ｔ］が定まるため、Ｕｐｐｅｒ［ｔ］とＬｏｗｅｒ［ｔ］をＮ分割することで量子化したりする方法がある。ここでは位置と速度は一定幅に量子化することを前提にして、以降説明を行う。
【０１７０】
本実施形態においては、位置条件、速度条件、ノッチ切替回数条件、ノッチ継続時間条件の４つを使うため、４つの軸で解候補の状態を定義しているが、４次元以上の状態を図示しにくいため、ここでは位置条件、速度条件、ノッチ切替回数条件の３つで説明する。
【０１７１】
ある経過時間ｔにおける解候補を枝刈り操作した結果が図１５（ａ）に示すような状態であったとする。
量子化処理は（ｖ（ｔ），ｘ（ｔ），ｎ（ｔ））空間上を、図１５（ａ）に示すように、格子状（矩形状）に分割し、同じ領域内は同じ状態（条件）とみなす。ここでｎ（ｔ）は経過時間ｔにおけるノッチ切替回数とする。
【０１７２】
そして、同じ領域に複数の解候補が存在するならば、同一領域内で最も累積エネルギー消費量が小さいもの１つだけを解候補として残すのである。この結果、より多くを枝刈りすることが可能となり、より処理時間を短縮することができる。
図１５（ｂ）中、黒点は各領域内で解候補として残ったものを表す。
【０１７３】
ステップＳ７０５では、運転曲線作成部１０６は、経過時間ｔが走行時間Ｔに一致するかを判定し、一致しなければ（ステップＳ７０５；Ｎｏ）、ステップＳ７０６に進み、経過時間ｔをインクリメントし、再び処理をステップＳ７０２に移行している。
【０１７４】
ステップＳ７０５において、経過時間ｔと走行時間Ｔが一致したならば（ステップＳ７０５；Ｙｅｓ）、運転曲線作成部１０６は、解候補の中から最も累積エネルギー消費量が小さいものを最適解として選択する（ステップＳ７０７）。
【０１７５】
そして、ステップＳ７０７の処理において、最終的に累積エネルギー消費量が小さいものを選ぶには、累積エネルギー消費量を昇順（小さい順）にソートし、その中から選べばよい。
また、終了時点で解候補が複数ある場合には、運転曲線作成部１０６は、累積エネルギー消費量＋ｐｅｎａｌｔｙ（ｖ，ｘ）が最も小さい解を最適解とする。
【０１７６】
ここでｐｅｎａｌｔｙ（ｖ（Ｔ），ｘ（Ｔ））は、経過時間ｔおける状態（Ｔ，ｖ（Ｔ），ｘ（Ｔ））と終端状態（Ｔ，０，Ｘ）との誤差のペナルティを表す。一般に運動方程式で速度と位置を算出する場合には、浮動小数点型の変数を用いるために、速度と位置は完全に終端状態と一致することはほとんどない。そのため、関数ｐｅｎａｌｔｙ（ｖ（Ｔ），ｘ（Ｔ））を用意して、誤差を含めて累積エネルギー消費量を評価する。
【０１７７】
ｐｅｎａｌｔｙ（ｖ（Ｔ），ｘ（Ｔ））の決め方は非特許文献１と同様に次式を採用している。
【０１７８】
【数２】
2015107687.tif 000004
【０１７９】
上述した手順により、運転曲線作成部１０６で自列車ＴＲ１の省エネ運転曲線が作成できたならば、運転曲線作成部１０６は、走行時間Ｔの省エネ運転曲線の結果を運転曲線作成結果記憶部としての図示しないハードディスクドライブ、半導体メモリ装置等に記憶する（ステップＳ１０４）。
これにより、運転情報抽出部１０７は、作成した省エネ運転曲線を用いて各閉塞進入地点での速度制限値を抽出し、抽出した速度制限値を信号機に通信する。
【０１８０】
図１６は、速度制限値の設定例の説明図である。
図１６の例においては、２０００ｍ地点での速度制限値＝１１０ｋｍ／ｈ、３０００ｍ地点での速度制限値＝１００ｋｍ／ｈ、４０００ｍ地点での速度制限値＝９０ｋｍ／ｈとされ、前方駅ＳＴ０に向かうに従って、徐々に速度制限値が低くなるようにされており、安全かつ省エネで、よりダイヤに沿った運行が行える。
【０１８１】
以上の説明のように、本実施形態によれば、実運行時に発生する遅延に対して遅延を回復させる運行をすると同時に、先行列車の遅延に対しては、先行列車の位置によって決まる停止信号によって自列車ＴＲ１が停止する無駄な減速を行うことを防止することによる省エネが図れる。
【０１８２】
また、後続列車の遅延に対しては時隔が広がることによる後続列車の乗車人数が増加することによるさらなる遅延の増加の抑制及び出発時刻を遅らせることによる自列車ＴＲ１の遅延防止の両立が図れる。
【０１８３】
本実施形態の列車運行制御装置は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成とすることが可能である。
【０１８４】
本実施形態の列車運行制御装置で実行される制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１８５】
また、本実施形態の列車運行制御装置で実行される制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の列車運行制御装置で実行される制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施形態の列車運行制御装置の制御プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１８６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１８７】
１００  列車運行制御装置
１０１  ダイヤデータベース（ＤＢ）
１０２  出発時刻・到着時刻算出部
１０４  速度制限算出部
１０５  車両・路線データベース（ＤＢ）
１０６  運転曲線作成部
１０７  運転情報抽出部
ＣＡ１  第１閉塞区間
ＣＡ２  第２閉塞区間
ＣＡ３  第３閉塞区間
ＣＡ４  第４閉塞区間
ＳＴ０  前方駅（先行列車の次の出発駅）
ＳＴ１  現在駅（自列車の次の出発駅）
ＳＴ２  後方駅（後続列車の次の出発駅）
ＴＲ０  先行列車
ＴＲ１  自列車
ＴＲ２  後続列車
【図１】
2015107687.tif 000005
【図２】
2015107687.tif 000006
【図３】
2015107687.tif 000007
【図４】
2015107687.tif 000008
【図５】
2015107687.tif 000009
【図６】
2015107687.tif 000010
【図７】
2015107687.tif 000011
【図８】
2015107687.tif 000012
【図９】
2015107687.tif 000013
【図１０】
2015107687.tif 000014
【図１１】
2015107687.tif 000015
【図１２】
2015107687.tif 000016
【図１３】
2015107687.tif 000017
【図１４】
2015107687.tif 000018
【図１５】
2015107687.tif 000019
【図１６】
2015107687.tif 000020