(58)【調査した分野】(Int.Cl.,DB名)
鉄道会社の社員が輸送障害発生時の初動対処として行った初動整理で増減した第一方向および当該第一方向とは逆の第二方向の列車本数を区間毎に検出して、当該第一方向の列車増減本数と当該第二方向の列車増減本数との差分を算出する列車本数差分算出ステップと、
前記初動整理で増減した入区数および出区数を駅毎に検出して、入区増減数と出区増減数との差分を算出し、当該入区増減数よりも当該出区増減数の方が少なく、当該入区増減数が0より大きい場合には、当該差分を入区中止数として記憶し、当該入区増減数よりも当該出区増減数の方が多く、当該出区増減数が0より大きい場合には、当該差分を出区中止数として記憶する入出区数差分算出ステップと、
前記列車本数差分算出ステップにおける算出結果に基づいて前記第一方向の列車増減本数と前記第二方向の列車増減本数とに差があるか否か判定し、差があると判定した場合に、当該差がなくなるまで列車本数が多い方向の列車の運休を設定する列車本数合わせステップと、
前記入区中止数が記憶されている場合は、入区数が所定数よりも増えているため、入区数が当該所定数に近づくよう入区の中止を設定し、前記出区中止数が記憶されている場合は、出区数が所定数よりも増えているため、出区数が当該所定数に近づくよう出区の中止を設定する入出区数合わせステップと、を行い、
前記列車本数合わせステップおよび前記入出区数合わせステップの後に、前運用列車および後運用列車の少なくとも一方が未定の運用未定列車の存在を解消する運用未整理解消ステップを行って、運用未定列車の存在が解消された状態にしてから遅延回復のための運転計画変更案である運転整理案を作成することを特徴とする運転整理案作成方法。
【発明を実施するための形態】
【0018】
図面を参照しつつ、本発明にかかる運転整理案作成方法の実施形態について説明する。なお、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態および図示例に限定するものではない。
【0019】
図1は、本実施形態の運転整理案作成方法を実行する運転整理案作成装置1の一例を示すシステム構成図である。
運転整理案作成装置1は、処理実行部101、データ記憶部102、入力処理部104、表示処理部105、及びこれらを接続するバス106からなる。
処理実行部101は、CPU等の演算処理装置及びROM等の記憶装置で構成される。
データ記憶部102は、RAM等の記憶装置で構成される。
入力処理部104は、キーボード141やマウス142などによるユーザ入力を受け付ける。
表示処理部105は、列車ダイヤや運転整理結果をCRT等のモニタ装置151などに表示する。
【0020】
本実施形態では、こうした構成において、運転整理案作成処理部110による運転整理案を処理実行部101に読み込み、これを実行させる。この運転整理案作成処理部110は、予想ダイヤ作成処理部111、ダイヤ解析処理部112を経て、運転整理作成処理部113に至る機能部構成である。
【0021】
また、データ記憶部102では、運転整理案作成処理部110が利用するデータを管理しており、次のような管理部を備えている。すなわち、実施ダイヤ管理部120、実績情報管理部121、予想ダイヤ管理部123、ダイヤ解析情報管理部124、並びに所定ダイヤ管理部125である。
【0022】
予想ダイヤ作成処理部111は、実施ダイヤ管理部120、実績情報管理部121が管理する情報に基づき、予想ダイヤを作成し、それを予想ダイヤ管理部123に格納する。
【0023】
実施ダイヤ管理部120には、実施される計画の列車ダイヤが格納されている。実施ダイヤは、列車毎に、列車番号、列車種別、行き先、前運用の列車番号、後運用の列車番号と、当該列車の各駅毎の駅到着時間、駅出発時間、使用する番線などの情報からなる。
【0024】
実績情報管理部121では、各列車の在線位置の管理を行う。運行実績情報、すなわち各列車の駅出発実績時刻、駅到着実績時刻、利用実績番線を、列車毎に管理する。
【0025】
予想ダイヤ作成処理部111では、これらの情報を活用して、今後の運行予測を行い、予想ダイヤを作成して、予想ダイヤ管理部123に格納する。
【0026】
ダイヤ解析情報管理部124では、ダイヤ解析情報テーブルを管理する。このテーブルの情報を活用して、各エリアを解析し、解析結果を、またこのテーブルに格納する。
【0027】
所定ダイヤ管理部125には、所定ダイヤが格納されている。ここで、「所定ダイヤ」とは、運転整理が実施されていない状態の実施ダイヤ情報であり、「実施ダイヤ情報」とは、計画ダイヤに実行到着時刻や実行出発時刻などを付加したダイヤ情報である。
【0028】
次に、本実施形態の機能を実現する処理を説明する。
まず、運転整理導出処理を説明する。本処理は、運転整理案作成処理部110によって実行される。
【0029】
図2に示すように、運転整理導出処理では、予想ダイヤ作成処理部111が、実施ダイヤ管理部120、実績情報管理部121が管理する情報に基づき、予想ダイヤを作成し、それを予想ダイヤ管理部123に格納する予想ダイヤ作成処理を実行する(ステップS1)。
次いで、ダイヤ解析処理部112が、作成された予想ダイヤの解析を行い、解析結果をダイヤ解析情報管理部124に格納するダイヤ解析処理を実行する(ステップS2)。
次いで、運転整理作成処理部113が、遅延回復のための運転計画変更案である運転整理案を導出(作成)する運転整理案作成処理を実行する(ステップS3)。
【0030】
次いで、反映、出力処理を実行して(ステップS4)、運転整理導出処理を終了する。ステップS4は、運転整理案作成処理部110で行われる処理で、導出(作成)した運転整理案を実施ダイヤ管理部120に反映し、それに基づく予想ダイヤを作成する。また、この更新された予想ダイヤに対して、ダイヤ解析処理を実行し、運転整理案実施前の解析結果と比較する。予想ダイヤや運転整理の効果(運転整理前との解析結果の比較)は、表示処理部105を介してモニタ装置151などに表示する。
【0031】
次に、本実施形態の特徴である運用未整理解消処理を説明する。この運用未整理解消処理は、運転整理案作成処理(ステップS3)で実行される。具体的には、運転整理作成処理部113は、運転整理案作成処理(ステップS3)において、運用未整理解消処理を行って運用未整理のない状態にしてから、遅延回復処理を行い、運転整理案を作成する。
【0032】
運転整理作成処理部113は、運用未整理解消処理を実行する前に、前処理および順序保留解除処理を行う。
初動整理(社員が支障(輸送障害)発生時の初動対処として全面運転再開までに行う運転整理)の内容を把握するために、所定ダイヤと全面運転再開時のダイヤ(運転整理システムの動作開始時のダイヤ)を比較する必要があるため、所定ダイヤを所定ダイヤ管理部125に格納し、全面運転再開時のダイヤを実績情報管理部121に格納する。「運転整理システム」とは、ダイヤ乱れ発生時に、自動で運転整理提案を導出(運転整理案を作成)するシステム群の総称、あるいは、運転整理提案アルゴリズム自体が実装されている装置の名称であり、本実施形態の場合、運転整理案作成装置1が運転整理システムに相当する。
また、全面運転再開時、初動整理で設定した順序保留列車が残っていると、以降の処理の対象外となってしまうため、運転整理作成処理部113は、運用未整理解消処理を実行する前に順序保留解除処理を行う。ここで、「順序保留列車」とは、運転予定順序から外した列車のことであり、順序保留解除処理では、順序保留列車を抜かして次の列車を先に動かすことになる。
【0033】
以下、前処理で
図3に示す所定ダイヤを取得した場合を例に説明する。
図3に示すように、z駅側からa駅側へ向かう列車が走る線路を“A線”、a駅側からz駅側へ向かう列車が走る線路を“B線”と呼ぶ。また、a駅〜f駅の区間を“区間[1]”、f駅〜i駅の区間を“区間[2]”、i駅〜o駅の区間を“区間[3]”、o駅〜u駅の区間を“区間[4]”、u駅〜z駅の区間を“区間[5]”と呼ぶ。
【0034】
ここで、運用未整理解消処理の前提条件<1>〜<8>を示す。
なお、用語の意味は以下のとおりである。「運休」とは、列車の運転を取りやめることである。「折返変更」とは、終着駅または、途中駅で折返す際、所定ダイヤで予定されている列車番号とは違う列車番号として列車を運転することである。「運行変更」とは、遅延している場合などに、途中駅から列車番号を後続の列車のものに変更して列車を運転し、見た目上遅延がないようにすることである。「入区」とは、列車を車両基地等に入れることである。「出区」とは、列車を車両基地等から出すことである。「引上」とは、駅で回送列車をホームのない引上げ線路に移動することである。「据付」とは、回送列車をホームのない引上げ線路から駅のホームに移動することである。
<1>処理対象列車は、列車番号の末尾記号が「B」、「C」の列車(すなわち、対象路線のみを走る列車である。a駅やz駅より先の路線から対象路線に乗り入れた列車の列車番号は末尾記号が「B」、「C」以外になる。)とする。
<2>回送列車・貨物列車は、処理対象外とする。
<3>他線区との運用つながりは、削除しない。
<4>運用未整理解消のため実施する運転整理は、下記に限定する。
<ア>運休
<イ>折返変更(設定/中止)
<ウ>運行変更(設定/中止)
<エ>入区(設定/中止)
<オ>出区(設定/中止)
<5>社員が設定した「臨時列車」、「延長運転」は運休しない。
<6>社員が設定した「入区」、「出区」は中止しない。
<7>「引上」、「構内入区」は「入区」として扱う。入区設定は「構内入区」とする。
<8>「据付」、「構内出区」は「出区」として扱う。出区設定は「構内出区」とする。
【0035】
具体的には、
図4に示すように、運用未整理解消処理では、列車本数差分算出処理を実行する(ステップS11)。運用未整理を解消するためには、まずA線とB線の列車増減数を合わせる必要がある。よって、列車本数差分算出処理では、所定ダイヤと比較し、初動整理で増減した各線別の本数を区間毎に検出し、差分を算出する。
次いで、入出区数差分算出処理を実行する(ステップS12)。入出区可能駅では、入区と出区の増減数も合わせて運用未整理を解消する必要がある。よって、入出区数差分算出処理では、所定ダイヤと比較し、初動整理で増減した入出区数を駅毎に検出し、差分を算出する。
【0036】
次いで、運休による列車本数合わせ処理を実行する(ステップS13)。運休による列車本数合わせ処理では、ステップS11の結果、本数が多い線別の列車を、相手線別と一致するまで区間毎に運休し、区間内のA線とB線の列車本数を合わせる。
次いで、入出区中止による入出区数合わせ処理を実行する(ステップS14)。入出区中止による入出区数合わせ処理では、ステップS12の結果、所定ダイヤより多い入出区を所定の数まで中止する。
【0037】
次いで、運行変更による未整理解消処理を実行する(ステップS15)。折返可能な方向は、駅毎に限定される。よって、運行変更による未整理解消処理では、折返ができない運用未整理がある場合、輸送量確保のため、運休せずに運行変更設定による未整理解消を行う。
次いで、入出区設定による未整理解消処理を実行する(ステップS16)。入出区設定による未整理解消処理では、入区と出区の増減差分が一致するまで、入出区の設定による未整理解消を行う。
次いで、折返変更による未整理解消処理を実行して(ステップS17)、運用未整理解消処理を終了する。折返変更による未整理解消処理では、残った運用未定を折返変更でつなぎかえることにより、未整理解消を行う。
【0038】
次に、前述の列車本数差分算出処理(ステップS11)の詳細について説明する。
列車本数差分算出処理では、まず、運休処理区間毎に、A線とB線の当日始発列車から当日終電まで、順序ファイルを使用し所定ダイヤと比較する。次いで、臨時列車や延長運転の列車はプラス、運休にした列車はマイナスとカウントする。そして、A線とB線の差分を算出し、運休処理本数として記憶する。ここで、「順序ファイル」には、全面運転再開時のダイヤデータ(列車の到着、出発などのデータ)が記録されている。
【0039】
具体的には、
図5に示すように、列車本数差分算出処理では、区間[1]から[5]までの全区間に対して、区間毎にループAの処理を行う(ステップS101〜S114)。すなわち、ループAの処理とは、区間[1]について、ステップS102〜S113の処理を行った後に、区間[2]について、ステップS102〜S113の処理を行い、以後、区間[3]〜区間[5]まで同様に繰り返す処理のことである。
一の区間におけるループAの処理では、A線およびB線のそれぞれに対して、線別毎にループBの処理を行う(ステップS102〜S112)。すなわち、ループBの処理とは、A線について、ステップS103〜S111の処理を行った後、B線においても同様に繰り返す処理のことである。
一の線別におけるループBの処理では、当該一の線別の列車増減数をリセット(すなわち、当該一の線別の列車増減数として「0」を設定)した後に、当該一の区間の区間開始駅および区間終了駅での最新運済列車(当該駅を最後に出発した列車および当該駅に最後に到着した列車)を検出して(ステップS103)、当日始発列車から当日終電までの全列車に対して、列車毎にループCの処理を行う(ステップS104〜S110)。すなわち、ループCの処理とは、当日始発列車について、S105〜S109の処理を行った後、当該始発列車の次の列車について、ステップS105〜S109の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。また、例えば
図3に示すように、A線における区間[1]の区間開始駅は「f駅」、区間終了駅は「a駅」となり、B線における区間[1]の区間開始駅は「a駅」、区間終了駅は「f駅」となる。
【0040】
一の列車におけるループCの処理では、当該一の列車は、初動整理で臨時列車に設定された列車か判定する(ステップS105)。
初動整理で臨時列車に設定された列車である場合(ステップS105;YES)には、当該一の線別の列車増減数を+1更新して(ステップS109)、当該一の列車におけるループCの処理を終了する。
一方、初動整理で臨時列車に設定された列車でない場合(ステップS105;NO)には、当該一の列車は、初動整理で延長運転が設定された列車か判定する(ステップS106)。
【0041】
初動整理で延長運転が設定された列車である場合(ステップS106;YES)には、当該一の線別の列車増減数を+1更新して(ステップS109)、当該一の列車におけるループCの処理を終了する。
一方、初動整理で延長運転が設定された列車でない場合(ステップS106;NO)には、当該一の列車は、初動整理で運転から運休に変更された列車か判定する(ステップS107)。
初動整理で運転から運休に変更された列車である場合(ステップS107;YES)には、当該一の線別の列車増減数を−1更新して(ステップS108)、当該一の列車におけるループCの処理を終了する。
一方、初動整理で運転から運休に変更された列車でない場合(ステップS107;NO)には、当該一の線別の列車増減数を更新せずに、当該一の列車におけるループCの処理を終了する。
【0042】
そして、当日始発列車から当日終電までの全列車に対するループCの処理が終了すると(ステップS110)、当該一の線別の列車増減数を記憶して(ステップS111)、当該一の線別におけるループBの処理を終了する。
そして、A線およびB線のそれぞれに対するループBの処理が終了すると(ステップS112)、ステップS111で記憶した当該一の区間におけるA線の列車増減数と当該一の区間におけるB線の列車増減数との差分を算出し、当該算出結果を当該一の区間の運休処理本数として記憶して(ステップS113)、当該一の区間におけるループAの処理を終了する。
そして、区間[1]から[5]までの全区間に対するループAの処理が終了すると(ステップS114)、列車本数差分算出処理を終了する。
【0043】
例えば
図6に示すように、初動整理で運転から運休に変更された列車を示すスジ(ダイヤ図において列車の軌跡を示す1本の線)を破線で、初動整理で臨時列車に設定された列車を示すスジを一点鎖線で、初動整理で延長運転が設定された列車を示すスジを二点鎖線で示す。
図6に示す例の場合、区間[1]においては、A線の臨時列車が0本、延長運転が1本(列車増減数+1)、運休が1本(列車増減数−1)であるのでA線の列車増減数は±0となり、B線の臨時列車が1本(列車増減数+1)、延長運転が0本、運休が2本(列車増減数−2)であるのでB線の列車増減数は−1となる。よって、A線の方が1本多いので、区間[1]においてはA線1本の運休を設定する。
また、区間[4]においては、A線の臨時列車が0本、延長運転が0本、運休が3本(列車増減数−3)であるのでA線の列車増減数は−3となり、B線の臨時列車が0本、延長運転が0本、運休が3本(列車増減数−3)であるのでB線の列車増減数は−3となる。よって、A線の列車増減数とB線の列車増減数が一致するので、区間[4]においては運休を設定する必要がない。
【0044】
次に、前述の入出区数差分算出処理(ステップS12)の詳細について説明する。
基本的な入出区の線別は駅毎に決まるが、路線によっては早朝や深夜には反対方向の列車の入出区が存在する場合がある。よって、入出区数差分算出処理では、両線別の入出区をカウントする。
すなわち、入出区数差分算出処理では、まず、入出区設定可能駅毎に、当日始発列車から当日終電まで、順序ファイルを使用し所定ダイヤと比較する。次いで、入区設定した列車は入区増減数をプラス、入区中止した列車は入区増減数をマイナスとカウントする。入出区設定可能線別と異なる線別の列車の入区もカウントする。また、出区設定した列車は出区増減数をプラス、出区中止した列車は出区増減数をマイナスとカウントする。入出区設定可能線別と異なる線別の列車の出区もカウントする。そして、入区増減数と出区増減数の差分を算出し、入区設定数、入区中止数、出区設定数、出区中止数の何れかを記憶する。所定ダイヤの入出区数に近づけるため、所定ダイヤより増加している場合は中止とする。
【0045】
具体的には、
図7に示すように、入出区数差分算出処理では、入出区の設定が可能な全駅に対して、駅毎にループDの処理を行う(ステップS201〜S223)。すなわち、ループDの処理とは、入出区の設定が可能な1つの駅について、ステップS202〜S222の処理を行った後、以後、入出区の設定が可能なその他の駅について、ステップS202〜S222の処理を同様に繰り返す処理のことである。本実施形態の場合、例えば「f駅」と「u駅」と「z駅」が、入出区の設定が可能な駅である。
一の駅におけるループDの処理では、当該一の駅の入区増減数および出区増減数をリセット(すなわち、当該一の駅の入区増減数および出区増減数としてそれぞれ「0」を設定)した後に、当該一の駅での最新運済列車を検出して(ステップS202)、当日始発列車から当日終電までの全列車に対して、列車毎にループEの処理を行う(ステップS203〜S208)。すなわち、ループEの処理とは、当日始発列車について、S204〜S207の処理を行った後、当該始発列車の次の列車について、ステップS204〜S207の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【0046】
一の列車におけるループEの処理では、当該一の列車は、初動整理で入区設定された列車か判定する(ステップS204)。
初動整理で入区設定された列車である場合(ステップS204;YES)には、当該一の駅の入区増減数を+1更新して(ステップS207)、当該一の列車におけるループEの処理を終了する。
一方、初動整理で入区設定された列車でない場合(ステップS204;NO)には、当該一の列車は、初動整理で入区中止された列車か判定する(ステップS205)。
【0047】
初動整理で入区中止された列車である場合(ステップS205;YES)には、当該一の駅の入区増減数を−1更新して(ステップS206)、当該一の列車におけるループEの処理を終了する。
一方、初動整理で入区中止された列車でない場合(ステップS205;NO)には、当該一の駅の入区増減数を更新せずに、当該一の列車におけるループEの処理を終了する。
そして、当日始発列車から当日終電までの全列車に対するループEの処理が終了すると(ステップS208)、当日始発列車から当日終電までの全列車に対して、列車毎にループFの処理を行う(ステップS209〜S214)。すなわち、ループFの処理とは、当日始発列車について、S210〜S213の処理を行った後、当該始発列車の次の列車について、ステップS210〜S213の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【0048】
一の列車におけるループFの処理では、当該一の列車は、初動整理で出区設定された列車か判定する(ステップS210)。
初動整理で出区設定された列車である場合(ステップS210;YES)には、当該一の駅の出区増減数を+1更新して(ステップS213)、当該一の列車におけるループFの処理を終了する。
一方、初動整理で出区設定された列車でない場合(ステップS210;NO)には、当該一の列車は、初動整理で出区中止された列車か判定する(ステップS211)。
【0049】
初動整理で出区中止された列車である場合(ステップS211;YES)には、当該一の駅の出区増減数を−1更新して(ステップS212)、当該一の列車におけるループFの処理を終了する。
一方、初動整理で出区中止された列車でない場合(ステップS211;NO)には、当該一の駅の出区増減数を更新せずに、当該一の列車におけるループFの処理を終了する。
そして、当日始発列車から当日終電までの全列車に対するループFの処理が終了すると(ステップS214)、当該一の駅の入区増減数と当該一の駅の出区増減数とを比較する(ステップS215)。
【0050】
当該一の駅の入区増減数が当該一の駅の出区増減数よりも少ない場合(ステップS215;入区<出区)には、出区の中止または入区の設定が必要となるので、当該一の駅の出区増減数は所定ダイヤの出区数よりも増加しているか判定する(ステップS216)。
当該一の駅の出区増減数が所定ダイヤの出区数よりも増加している場合(ステップS216;YES)、すなわち出区増減数>0の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の出区中止数として記憶し(ステップS218)、当該一の駅におけるループDの処理を終了する。
一方、当該一の駅の出区増減数が所定ダイヤの出区数よりも増加していない場合(ステップS216;NO)、すなわち出区増減数≦0の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の入区設定数として記憶し(ステップS219)、当該一の駅におけるループDの処理を終了する。
【0051】
また、当該一の駅の入区増減数と当該一の駅の出区増減数とが同一である場合(ステップS215;入区=出区)には、入出区の設定または入出区の中止は必要ないので、入出区処理不要を記憶、具体的には当該一の駅の入区設定数、入区中止数、出区設定数、および出区中止数としてそれぞれ「0」を記憶して(ステップS220)、当該一の駅におけるループDの処理を終了する。
【0052】
また、当該一の駅の入区増減数が当該一の駅の出区増減数よりも多い場合(ステップS215;入区>出区)には、入区の中止または出区の設定が必要となるので、当該一の駅の入区増減数は所定ダイヤの入区数よりも増加しているか判定する(ステップS217)。
当該一の駅の入区増減数が所定ダイヤの入区数よりも増加していない場合(ステップS217;NO)、すなわち入区増減数≦0の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の出区設定数として記憶し(ステップS221)、当該一の駅におけるループDの処理を終了する。
一方、当該一の駅の入区増減数が所定ダイヤの入区数よりも増加している場合(ステップS217;YES)、すなわち入区増減数>0の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の入区中止数として記憶し(ステップS222)、当該一の駅におけるループDの処理を終了する。
そして、入出区の設定が可能な全駅に対するループDの処理が終了すると(ステップS223)、入出区数差分算出処理を終了する。
【0053】
例えば
図8に示すように、列車番号「3B」,「5B」,「32B」の列車が初動整理で入区設定され、列車番号「49B」の列車が初動整理で出区設定され、列車番号「14B」,「39B」の列車が初動整理で運転から運休に変更されたとする。したがって、「39B」は、初動整理で設定された運休により入区中止となった列車、すなわち初動整理で入区中止された列車となる。
入出区の設定が可能な「f駅」では、入区設定が1本(入区増減数+1)、入区中止が0本であり、出区設定が1本(出区増減数+1)、出区中止が0本である。よって、f駅の入区増減数は+1、f駅の出区増減数は+1となり、f駅の入区増減数とf駅の出区増減数とが一致するので、f駅の入区設定数、入区中止数、出区設定数、および出区中止数としてそれぞれ「0」が記憶される。
【0054】
また、入出区の設定が可能な「u駅」では、入区設定が0本、入区中止が1本(入区増減数−1)であり、出区設定が0本、出区中止が0本である。よって、u駅の入区増減数は−1、u駅の出区増減数は±0となり、u駅の出区増減数は所定ダイヤより増加していないので、u駅の入区設定数として「1」が記憶され、u駅の入区中止数、出区設定数、および出区中止数としてそれぞれ「0」が記憶される。
また、入出区の設定が可能な「z駅」では、入区設定が2本(入区増減数+2)、入区中止が0本であり、出区設定が0本、出区中止が0本である。よって、z駅の入区増減数は+2、z駅の出区増減数は±0となり、z駅の入区増減数は所定ダイヤより増加しているので、z駅の入区中止数として「2」が記憶され、z駅の入区設定数、出区設定数、および出区中止数としてそれぞれ「0」が記憶される。
【0055】
次に、前述の運休による列車本数合わせ処理(ステップS13)の詳細について説明する。
ダイヤの乱れを早期回復するためには、運休可能な列車のうち、できるだけ早い出発時刻の列車を運休対象とすることが必要となる。しかし、運転整理システムの動作開始時刻(全面運転再開時)から一定時間は、システムが提案した運転整理の確認作業等が必要となるため、一定時間を「運休不可能時間」としてシステム定数に定義する。本実施形態では、例えば“10分”を「運休不可能時間」として定義する。「運休不可能時間」は調整可能とする。全面運転再開時刻に「運休不可能時間」を加えた時刻を運休可能時刻とし、この運休可能時刻以降のダイヤに対し運休の処理を行う。
【0056】
運休処理は、折返駅で先頭の運用未定列車を検索し、それを基に処理を行う。運休対象列車が、折返駅で前運用か後運用かにより、運休対象列車の決定方法が異なる。折返設定の方向は、各駅の定義により限定されるため、区間によって前運用の線別、後運用の線別が決定する。本実施形態の場合、
図3に示すように、区間[1]において、折返設定の方向はA線→B線であるから、A線が前運用の線別、B線が後運用の線別となる。また、区間[5]において、折返設定の方向はB線→A線であるから、B線が前運用の線別、A線が後運用の線別となる。なお、折返設定の方向が両方向(A線→B線とB線→A線)ある区間の場合、「折返-前運用-運休」処理と「折返-後運用-運休」処理で検索した列車のうち、区間内出発時刻の早い方の列車を運休対象とする。
【0057】
運休による列車本数合わせ処理では、A線、B線の順に処理を行う。各線別の始発駅側から終着駅側まで区間毎に処理を繰り返す。すなわち、A線の場合は、区間[5]、[4]、[3]、[2]、[1]の順に、B線の場合は、区間[1]、[2]、[3]、[4]、[5]の順に区間毎に処理を繰り返す。各区間で運休が必要な場合、必要本数に達するまで、運休区間延長処理、「折返-後運用-運休」処理、または「折返-前運用-運休」処理を行う。各運休処理の中で、運休により、入区または出区が削除された場合は、入区設定処理数(入区設定数)または出区設定処理数(出区設定数)を更新し、後の入出区設定による数合わせ処理で追加する。
運休区間は、各運休処理区間の運休開始駅から運休終了駅までとする。すなわち、例えば
図3に示すように、A線における運休処理区間[1]の運休開始駅は「f駅」、運休終了駅は「a駅」となり、B線における運休処理区間[1]の運休開始駅は「a駅」、運休終了駅は「f駅」となる。
【0058】
具体的には、
図9に示すように、運休による列車本数合わせ処理では、運休可能時刻を算出する(ステップS301)。
次いで、A線の全区間に対して、始発駅側の区間から順に、区間毎にループGの処理を行う(ステップS302〜S310)。すなわち、ループGの処理は、A線用の処理であり、区間[5]について、S303〜S309の処理を行った後、区間[4]について、ステップS303〜309の処理を行い、以後、区間[3]〜区間[1]まで同様に繰り返す処理のことである。
一の区間におけるループGの処理では、当該一の区間のA線で運休が必要か判定する(ステップS303)。具体的には、列車本数差分算出処理(
図5)のステップS111で記憶した当該一の区間におけるA線の列車増減数と当該一の区間におけるB線の列車増減数とを比較し、A線の列車増減数がB線の列車増減数よりも多い場合に、当該一の区間のA線の運休が必要であると判定する。
【0059】
運休が必要でない場合(ステップS303;NO)には、当該一の区間におけるループGの処理を終了する。
一方、運休が必要である場合(ステップS303;YES)には、後述の運休区間延長処理(
図10)を実行して(ステップS304)、運休必要本数が終了か判定する(ステップS305)。具体的には、運休区間延長処理(
図10)で運休を設定した列車の本数が、列車本数差分算出処理(
図5)のステップS113で記憶した当該一の区間の運休処理本数に達した場合に、運休必要本数が終了であると判定する。
【0060】
運休必要本数が終了である場合(ステップS305;YES)には、当該一の区間におけるループGの処理を終了する。
一方、運休必要本数が終了でない場合(ステップS305;NO)には、後運用処理が必要か判定する(ステップS306)。具体的には、当該一の区間において、A線が後運用の線別である場合に、後運用処理が必要であると判定する。
【0061】
後運用処理が必要である場合(ステップS306;YES)には、後述の「折返-後運用-運休」処理(
図12)を実行して(ステップS307)、前運用処理が必要か判定する(ステップS308)。具体的には、当該一の区間において、A線が前運用の線別である場合に、前運用処理が必要であると判定する。
一方、後運用処理が必要でない場合(ステップS306;NO)には、「折返-後運用-運休」処理(
図12)を実行せずに、前運用処理が必要か判定する(ステップS308)。
前運用処理が必要である場合(ステップS308;YES)には、後述の「折返-前運用-運休」処理(
図14)を実行して(ステップS309)、当該一の区間におけるループGの処理を終了する。
一方、前運用処理が必要でない場合(ステップS308;NO)には、「折返-前運用-運休」処理(
図14)を実行せずに、当該一の区間におけるループGの処理を終了する。
【0062】
そして、A線の全区間に対するループGの処理が終了すると(ステップS310)、B線の全区間に対して、始発駅側の区間から順に、区間毎にループHの処理を行う(ステップS311〜S319)。すなわち、ループHの処理は、B線用の処理であり、区間[1]について、S312〜S318の処理を行った後、区間[2]について、ステップS312〜S318の処理を行い、以後、区間[3]〜区間[5]まで同様に繰り返す処理のことである。
一の区間におけるループHの処理では、当該一の区間のB線で運休が必要か判定する(ステップS312)。具体的には、列車本数差分算出処理(
図5)のステップS111で記憶した当該一の区間におけるA線の列車増減数と当該一の区間におけるB線の列車増減数とを比較し、B線の列車増減数がA線の列車増減数よりも多い場合に、当該一の区間のB線の運休が必要であると判定する。
【0063】
運休が必要でない場合(ステップS312;NO)には、当該一の区間におけるループHの処理を終了する。
一方、運休が必要である場合(ステップS312;YES)には、後述の運休区間延長処理(
図10)を実行して(ステップS313)、運休必要本数が終了か判定する(ステップS314)。
【0064】
運休必要本数が終了である場合(ステップS314;YES)には、当該一の区間におけるループHの処理を終了する。
一方、運休必要本数が終了でない場合(ステップS314;NO)には、後運用処理が必要か判定する(ステップS315)。具体的には、当該一の区間において、B線が後運用の線別である場合に、後運用処理が必要であると判定する。
【0065】
後運用処理が必要である場合(ステップS315;YES)には、後述の「折返-後運用-運休」処理(
図12)を実行して(ステップS316)、前運用処理が必要か判定する(ステップS317)。具体的には、当該一の区間において、B線が前運用の線別である場合に、前運用処理が必要であると判定する。
一方、後運用処理が必要でない場合(ステップS315;NO)には、「折返-後運用-運休」処理(
図12)を実行せずに、前運用処理が必要か判定する(ステップS317)。
前運用処理が必要である場合(ステップS317;YES)には、後述の「折返-前運用-運休」処理(
図14)を実行して(ステップS318)、当該一の区間におけるループHの処理を終了する。
一方、前運用処理が必要でない場合(ステップS317;NO)には、「折返-前運用-運休」処理(
図14)を実行せずに、当該一の区間におけるループHの処理を終了する。
そして、B線の全区間に対するループHの処理が終了すると(ステップS319)、運休による列車本数合わせ処理を終了する。
【0066】
次に、前述の運休区間延長処理(ステップS304、S313)の詳細について説明する。この運休区間延長処理は、A線、B線で共通である。
既に運休処理区間の開始駅まで運休し、途中駅で前運用未定の列車があれば、優先的に運休対象とし、運休区間を延長することで、区間運休の列車本数を増やさないことになる。最終的に全ての走行区間が運休となれば、全運休の列車となる。本実施形態の場合、a駅とz駅は途中駅とならないため、本処理は対象外となる。
【0067】
具体的には、
図10に示すように、運休区間延長処理では、運休可能時刻以降に出発する先頭の列車を検出する(ステップS321)。
次いで、運休可能時刻以降に出発する先頭の列車から当日終電までの全列車に対して、列車毎にループIの処理を行う(ステップS322〜S325)。すなわち、ループIの処理とは、運休可能時刻以降に出発する先頭の列車について、S323〜S324の処理を行った後、当該次の列車について、ステップS323〜S324の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
一の列車におけるループIの処理では、当該一の列車は、運休開始駅で途中駅前運用未定列車か判定する(ステップS323)。
途中駅前運用未定列車である場合(ステップS323;YES)には、運休開始駅から運休停止駅まで当該一の列車の運休を設定して(ステップS324)、当該一の列車におけるループIの処理を終了する。
一方、途中駅前運用未定列車でない場合(ステップS323;NO)には、当該一の列車の運休を設定せずに、当該一の列車におけるループIの処理を終了する。
そして、運休可能時刻以降に出発する先頭の列車から当日終電までの全列車に対するループIの処理が終了すると(ステップS325)、運休区間延長処理を終了する。
【0068】
例えば
図11に示すように、初動整理で、A線の「10C」が区間[5]〜[1]において運休に変更され、B線の「11B」が区間[1]において運休に変更されたとする。したがって、区間[2]〜[5]においてB線1本の運休を設定する必要がある。
図11に示す例の場合、B線の区間[2]に対する運休区間延長処理において、「11B」が運休開始駅(f駅)で途中駅前運用未定列車となっているので、運休開始駅(f駅)から運休終了駅(i駅)まで「11B」の運休を設定する。したがって、「11B」の運休区間が区間[1]から、区間[1]〜[2]に変更される。その結果、「11B」はi駅で途中駅前運用未定列車となる。
【0069】
次いで、B線の区間[3]に対する運休区間延長処理において、「11B」が運休開始駅(i駅)で途中駅前運用未定列車となっているので、運休開始駅(i駅)から運休終了駅(o駅)まで「11B」の運休を設定する。したがって、「11B」の運休区間が区間[1]〜[2]から、区間[1]〜[3]に変更される。その結果、「11B」はo駅で途中駅前運用未定列車となる。
次いで、B線の区間[4]に対する運休区間延長処理において、「11B」が運休開始駅(o駅)で途中駅前運用未定列車となっているので、運休開始駅(o駅)から運休終了駅(u駅)まで「11B」の運休を設定する。したがって、「11B」の運休区間が区間[1]〜[3]から、区間[1]〜[4]に変更される。その結果、「11B」はu駅で途中駅前運用未定列車となる。
そして、B線の区間[5]に対する運休区間延長処理において、「11B」が運休開始駅(u駅)で途中駅前運用未定列車となっているので、運休開始駅(u駅)から運休終了駅(z駅)まで「11B」の運休を設定する。したがって、「11B」の運休区間が区間[1]〜[4]から、区間[1]〜[5](すなわち全運休)に変更される。
【0070】
次に、前述の「折返-後運用-運休」処理(ステップS307、S316)の詳細について説明する。この「折返-後運用-運休」処理は、A線、B線で共通である。
折返-後運用側の線別を運休する場合、乱れたダイヤの早期回復に向けて、出来るだけ早い出発時刻の列車を運休対象とするため、×切運休の手法を採用する。連続した区間で、同一線別の運休が必要な場合は、運休区間を結合してから×切列車を決定する。ここで、「×切列車」とは、ダイヤ図上でスジがクロスする列車のことであり、「×切運休」とは、×切列車を運休することである。
【0071】
具体的には、
図12に示すように、「折返-後運用-運休」処理では、運休開始駅(折返駅)で先頭の運用未定列車を検出して(ステップS331)、当該先頭の運用未定列車を判断する(ステップS332)。
当該先頭の運用未定列車が前運用未定(折返-後運用列車)である場合(ステップS332;前運用未定)には、その列車を運休候補とする(ステップS333)。
また、当該先頭の運用未定列車が後運用未定(折返-前運用列車)である場合(ステップS332;後運用未定)には、直後に始発する列車を運休候補とする(ステップS334)。ただし、始発する列車が終電までない場合は、直後に出発する列車を運休候補とする。
また、先頭の運用未定列車がない場合(ステップS332;運用未整理なし)には、先頭の運休可能な始発列車を運休候補とする(ステップS335)。ただし、始発列車が終電までない場合は、先頭の運休可能な出発列車を運休候補とする。
【0072】
次いで、ステップS333〜S335で決定した運休候補以前に、結合した運休区間で×切となる運休可能な列車があるか判定する(ステップS336)。
×切となる運休可能な列車がない場合(ステップS336;NO)には、運休処理を実行する(ステップS338)。
一方、×切となる運休可能な列車がある場合(ステップS336;YES)には、ステップS333〜S335で決定した運休候補以前で先頭の×切列車、すなわち×切となる運休可能な列車の中で最も出発時刻の早い列車に運休候補を変更して(ステップS337)、運休処理を実行する(ステップS338)。
【0073】
次いで、運休必要本数が終了か判定する(ステップS339)。
運休必要本数が終了でない場合(ステップS339;NO)には、ステップS331の処理に戻る。
一方、運休必要本数が終了である場合(ステップS339;YES)には、「折返-後運用-運休」処理を終了する。
【0074】
例えば
図13に示すように、初動整理で、A線3本が区間[2]〜[4]において運休に変更され、B線2本が区間[2]〜[4]において運休に変更されたとする。したがって、区間[2]〜[4]においてB線1本の運休を設定する必要がある。
図13に示す例の場合、「32B」が先頭の運用未定列車であり、後運用未定であるため、直後に始発する「41B」が運休候補となる。
区間[2]〜[4]を結合し、運休候補である「41B」以前に、結合した区間で「32B」と×切となる運休可能な列車があるか判定する。「33B」、「35B」、「37B」が「32B」と×切となる運休可能な列車であるため、その中で最も出発時刻の早い「33B」に運休候補を変更して、運休処理を行う。当該運休処理では、区間[2]における「33B」の運休が設定され、区間[3]における「33B」の運休および区間[4]における「33B」の運休は、運休区間延長処理(
図10)で設定される。
【0075】
次に、前述の「折返-前運用-運休」処理(ステップS309、S318)の詳細について説明する。この「折返-前運用-運休」処理は、A線、B線で共通である。
図14に示すように、「折返-前運用-運休」処理では、運休終了駅(折返駅)で先頭の運用未定列車を検出して(ステップS341)、当該先頭の運用未定列車を判断する(ステップS342)。
当該先頭の運用未定列車が前運用未定(折返-後運用列車)である場合(ステップS342;前運用未定)には、直後に終着する列車を運休候補とする(ステップS343)。ただし、終着する列車が終電までない場合は、直後に到着する列車を運休候補とする。
また、当該先頭の運用未定列車が後運用未定(折返-前運用列車)である場合(ステップS342;後運用未定)には、その列車を運休候補とする(ステップS344)。
また、先頭の運用未定列車がない場合(ステップS342;運用未整理なし)には、先頭の運休可能な終着列車を運休候補とする(ステップS345)。ただし、終着列車が終電までない場合は、先頭の運休可能な到着列車を運休候補とする。
【0076】
次いで、ステップS343〜S345で決定した運休候補の運休開始駅は、運休可能か判定する(ステップS346)。
運休可能である場合(ステップS346;YES)、すなわちステップS343〜S345で決定した運休候補が運休開始駅を運休不可能時間に出発しない場合には、運休処理を実行する(ステップS348)。
一方、運休可能でない場合(ステップS346;NO)、すなわちステップS343〜S345で決定した運休候補が運休開始駅を運休不可能時間に出発する場合には、ステップS343〜S345で決定した運休候補以降で最初の運休可能な列車、すなわち先頭の運休可能な終着列車(終着列車がない場合には到着列車)に運休候補を変更して(ステップS347)、運休処理を実行する(ステップS348)。「運休可能な列車」とは、運休開始駅を運休不可能時間に出発しない列車のことである。
【0077】
次いで、運休必要本数が終了か判定する(ステップS349)。
運休必要本数が終了でない場合(ステップS349;NO)には、ステップS341の処理に戻る。
一方、運休必要本数が終了である場合(ステップS349;YES)には、「折返-前運用-運休」処理を終了する。
【0078】
例えば
図15(a)に示すように、初動整理で、A線1本、B線2本が運休に変更されたとする。したがって、A線1本の運休を設定する必要がある。
図15(a)に示す例の場合、A線の区間[1]に対する「折返-前運用-運休」処理において、「11B」が先頭の運用未定列車であり、前運用未定であるため、直後に終着する列車である「6B」が運休候補となる。しかし、「6B」は運休開始駅(f駅)を運休不可能時間に出発するので、先頭の運休可能な終着列車である「8B」に運休候補を変更し、運休処理を行って「8B」の運休を設定する。
【0079】
また、例えば
図15(b)に示すように、初動整理で、A線1本、B線2本が運休に変更されたとする。したがって、A線1本の運休を設定する必要がある。
図15(b)に示す例の場合、A線の区間[1]に対する「折返-前運用-運休」処理において、「51B」が先頭の運用未定列車であり、後運用未定であるため、「51B」が運休候補となる。しかし、「51B」は運休開始駅(f駅)を運休不可能時間に出発するので、運休の設定ができない。「51B」の次に終着する「52B」は運休開始駅(f駅)を運休不可能時間に出発し、「52B」の次に終着する「53B」は運休開始駅(f駅)を運休可能時間に出発するので、「51B」以降で最初の運休可能な列車は「53B」となる。よって、「53B」に運休候補を変更し、運休処理を行って「53B」の運休を設定する。
【0080】
次に、前述の入出区中止による入出区数合わせ処理(ステップS14)の詳細について説明する。
入出区数差分算出処理(
図7)で記憶した入区中止数または出区中止数がある(所定ダイヤより入区数または出区数が増えている)場合、所定ダイヤに近づけるため、中止による入出区数合わせを行う。入出区中止による入出区数合わせ処理は、入出区数差分算出と同様、両線別の入出区を対象とする。
中止可能な入区または出区を検索時、運転整理システムの動作開始時刻から一定時間は、システムが提案した運転整理の確認作業等が必要となるため、一定時間を「入区中止不可能時間」、「出区中止不可能時間」としてシステム定数に定義する。本実施形態では、例えば“10分”を「入区中止不可能時間」、例えば“15分”を「出区中止不可能時間」として定義する。「入区中止不可能時間」、「出区中止不可能時間」は個別に調整可能とする。全面運転再開時刻に「入区中止不可能時間」を加えた時刻を入区中止可能時刻、全面運転再開時刻に「出区中止不可能時間」を加えた時刻を出区中止可能時刻とし、この入区中止可能時刻または出区中止可能時刻以降のダイヤに対し入出区中止の処理を行う。
【0081】
具体的には、
図16に示すように、入出区中止による入出区数合わせ処理では、入出区の設定が可能な全駅に対して、駅毎にループJの処理を行う(ステップS401〜S406)。すなわち、ループJの処理とは、入出区の設定が可能な1つの駅について、ステップS402〜S405の処理を行った後、以後、入出区の設定が可能なその他の駅について、ステップS402〜S405の処理を同様に繰り返す処理のことである。
一の駅におけるループJの処理では、当該一の駅の入区中止数が記憶されているか判定する(ステップS402)。
当該一の駅の入区中止数が記憶されている場合(ステップS402;YES)には、後述の入区中止処理(
図17)を実行して(ステップS403)、当該一の駅の出区中止数が記憶されているか判定する(ステップS404)。
一方、当該一の駅の入区中止数が記憶されていない場合(ステップS402;NO)には、入区中止処理(
図17)を実行せずに、当該一の駅の出区中止数が記憶されているか判定する(ステップS404)。
【0082】
当該一の駅の出区中止数が記憶されている場合(ステップS404;YES)には、後述の出区中止処理(
図18)を実行して(ステップS405)、当該一の駅におけるループJの処理を終了する。
一方、当該一の駅の出区中止数が記憶されていない場合(ステップS404;NO)には、出区中止処理(
図18)を実行せずに、当該一の駅におけるループJの処理を終了する。
そして、入出区の設定が可能な全駅に対するループJの処理が終了すると(ステップS406)、入出区中止による入出区数合わせ処理を終了する。
【0083】
次に、前述の入区中止処理(ステップS403)の詳細について説明する。
図17に示すように、入区中止処理では、両線別を対象として、入区中止可能時刻以降に到着する先頭の列車を検出する(ステップS411)。
次いで、ステップS411で検出した列車から当日終電までの全列車に対して、列車毎にループKの処理を行う(ステップS412〜S417)。すなわち、ループKの処理とは、ステップS411で検出した先頭到着列車について、S413〜S416の処理を行った後、当該次の列車について、ステップS413〜S416の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【0084】
一の列車におけるループKの処理では、順序ファイルを使用し、当該一の列車は入区列車か判定する(ステップS413)。
入区列車でない場合(ステップS413;NO)には、当該一の列車におけるループKの処理を終了する。
一方、入区列車である場合(ステップS413;YES)には、当該一の列車は社員が設定した入区列車か判定する(ステップS414)。
社員が設定した入区列車である場合(ステップS414;YES)には、当該一の列車におけるループKの処理を終了する。
一方、社員が設定した入区列車でない場合(ステップS414;NO)には、当該一の列車の入区中止を設定して(ステップS415)、入区中止数が終了か判定する(ステップS416)。具体的には、ステップS415で入区中止を設定した列車の本数が、入出区数差分算出処理(
図7)のステップS222で記憶した当該一の駅の入区中止数に達した場合に、入区中止数が終了であると判定する。
【0085】
入区中止数が終了である場合(ステップS416;YES)には、入区中止処理を終了する。
一方、入区中止数が終了でない場合(ステップS416;NO)には、当該一の列車におけるループKの処理を終了する。
そして、ステップS411で検出した列車から当日終電までの全列車に対するループKの処理が終了すると(ステップS417)、残った入区中止数を出区設定数に加算して(ステップS418)、入区中止処理を終了する。残った入区中止数を出区設定数に加算することによって、後の出区設定処理で出区を追加する。
【0086】
次に、前述の出区中止処理(ステップS405)の詳細について説明する。
図18に示すように、出区中止処理では、両線別を対象として、出区中止可能時刻以降に出発する先頭の列車を検出する(ステップS421)。
次いで、ステップS421で検出した列車から当日終電までの全列車に対して、列車毎にループLの処理を行う(ステップS422〜S427)。すなわち、ループLの処理とは、ステップS421で検出した先頭到着列車について、S423〜S426の処理を行った後、当該次の列車について、ステップS423〜S26の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【0087】
一の列車におけるループLの処理では、順序ファイルを使用し、当該一の列車は出区列車か判定する(ステップS423)。
出区列車でない場合(ステップS423;NO)には、当該一の列車におけるループLの処理を終了する。
一方、出区列車である場合(ステップS423;YES)には、当該一の列車は社員が設定した出区列車か判定する(ステップS424)。
社員が設定した出区列車である場合(ステップS424;YES)には、当該一の列車におけるループLの処理を終了する。
一方、社員が設定した出区列車でない場合(ステップS424;NO)には、当該一の列車の出区中止を設定して(ステップS425)、出区中止数が終了か判定する(ステップS426)。具体的には、ステップS425で出区中止を設定した列車の本数が、入出区数差分算出処理(
図7)のステップS218で記憶した当該一の駅の出区中止数に達した場合に、出区中止数が終了であると判定する。
【0088】
出区中止数が終了である場合(ステップS426;YES)には、出区中止処理を終了する。
一方、出区中止数が終了でない場合(ステップS426;NO)には、当該一の列車におけるループLの処理を終了する。
そして、ステップS421で検出した列車から当日終電までの全列車に対するループLの処理が終了すると(ステップS427)、残った出区中止数を入区設定数に加算して(ステップS428)、出区中止処理を終了する。残った出区中止数を入区設定数に加算することによって、後の入区設定処理で入区を追加する。
【0089】
次に、前述の運行変更による未整理解消処理(ステップS15)の詳細について説明する。
折返設定の方向は駅毎に決まっているため、駅によっては、区間運休により折返変更で解消できない運用未整理が発生する場合がある。これを解消するために、運用未定の列車を運休してしまうと、列車本数が少ない区間では輸送力不足となる可能性がある。そこで、運行変更による未整理解消処理によって、運行変更が可能な場合は運行変更による運用未整理解消を行う。
運行変更が可能な場合でも、相手列車となる直前列車または直後列車が途中駅の場合は、更に運用未定が発生し運行変更を行うことになる。この連続する運行変更の許容列車本数をシステム定数に「連続運行変更許容数」として定義し、これを超える場合は運行変更による未整理解消をあきらめ、当初の運用未定列車を運休し、同時に本数合わせのため、対向の列車も×切運休する。本実施形態では、例えば“3本”を「連続運行変更許容数」として定義する。「連続運行変更許容数」は調整可能とする。
【0090】
具体的には、
図19に示すように、運行変更による未整理解消処理では、運行変更の対象となる全駅に対して、駅毎にループMの処理を行う(ステップS501〜S509)。すなわち、ループMの処理とは、運行変更の対象となる駅について、ステップS502〜S508の処理を行った後、以後、運行変更の対象となるその他の駅について、ステップS502〜S508の処理を同様に繰り返す処理のことである。
一の駅におけるループMの処理では、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対して、列車毎にループNの処理を行う(ステップS502〜S508)。すなわち、ループNの処理とは、最新運済列車の次の列車について、ステップS503〜S507の処理を行った後、以後、当日終電までの全列車について、ステップS503〜S507の処理を同様に繰り返す処理のことである。
【0091】
一の列車におけるループNの処理では、運行変更対象の運用未定列車を検出して(ステップS503)、当該一の列車は運行変更対象の運用未定列車か判定する(ステップS504)。
当該一の列車が運行変更対象の運用未定列車でない場合(ステップS504;NO)には、当該一の列車におけるループNの処理を終了する。
一方、当該一の列車が運行変更対象の運用未定列車である場合(ステップS504;YES)には、当該運用未定列車を判断する(ステップS505)。
【0092】
当該運用未定列車が前運用未定である場合(ステップS505;前運用未定)には、後述の前運用未定の運行変更処理(
図20)を実行して(ステップS506)、当該一の列車におけるループNの処理を終了する。
また、当該運用未定列車が後運用未定である場合(ステップS505;後運用未定)には、後述の後運用未定の運行変更処理(
図21)を実行して(ステップS507)、当該一の列車におけるループNの処理を終了する。
そして、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対するループNの処理が終了すると(ステップS508)、当該一の駅におけるループNの処理を終了する。
そして、運行変更の対象となる全駅に対するループMの処理が終了すると(ステップS509)、運行変更による未整理解消処理を終了する。
【0093】
次に、前述の前運用未定の運行変更処理(ステップS506)の詳細について説明する。
図20に示すように、前運用未定の運行変更処理では、連続運行変更許容数分、ループOの処理を行う(ステップS511〜S515)。
ループOの処理では、直前に到着する列車を前運用列車とする運行変更を仮設定して(ステップS512)、直前に到着する列車(相手列車)は当該一の駅を終着駅とする終着列車(当該一の駅以降で後運休の列車も含む)か判定する(ステップS513)。
終着列車でない場合(ステップS513;NO)には、前運用未定となるため、さらにその直前に到着する列車を前運用列車とする運行変更を仮設定して(ステップS514)、ステップS512の処理に戻る。
すなわち、ループOの処理においては、前運用列車に当該一の駅を終着駅とする終着列車が現われるまで、連続運行変更許容数を上限に、S512〜S514の処理を繰り返す。
【0094】
そして、ループOの処理で、前運用列車に当該一の駅を終着駅とする終着列車が現われなかった場合には、全ての運行変更を無効として、当初の運用未定列車の終着駅までの運休を設定し(ステップS516)、本数合わせのため対向列車の×切運休を設定して(ステップS517)、前運用未定の運行変更処理を終了する。
一方、ループOの処理で、前運用列車に当該一の駅を終着駅とする終着列車が現われた場合(ステップS513;YES)には、仮設定していた運行変更を本設定とし(ステップS518)、終着列車(前運用列車)が入区列車の場合、別列車に入区を設定する必要があるため、入区設定数を+1更新して(ステップS519)、前運用未定の運行変更処理を終了する。入区設定数を+1更新することによって、後の入出区設定による数合わせ処理で入区を追加する。
【0095】
次に、前述の後運用未定の運行変更処理(ステップS507)の詳細について説明する。
図21に示すように、後運用未定の運行変更処理では、連続運行変更許容数分、ループPの処理を行う(ステップS521〜S525)。
ループPの処理では、直後に出発する列車を後運用列車とする運行変更を仮設定して(ステップS522)、直後に出発する列車(相手列車)は当該一の駅を始発駅とする始発列車(当該一の駅まで前運休の列車も含む)か判定する(ステップS523)。
始発列車でない場合(ステップS523;NO)には、後運用未定となるため、さらにその直後に出発する列車を後運用列車とする運行変更を仮設定して(ステップS524)、ステップS522の処理に戻る。
すなわち、ループPの処理においては、後運用列車に当該一の駅を始発駅とする始発列車が現われるまで、連続運行変更許容数を上限に、S522〜S524の処理を繰り返す。
【0096】
そして、ループPの処理で、後運用列車に当該一の駅を始発駅とする始発列車が現われなかった場合には、全ての運行変更を無効として、当初の運用未定列車の始発駅からの運休を設定し(ステップS526)、本数合わせのため対向列車の×切運休を設定して(ステップS527)、後運用未定の運行変更処理を終了する。
一方、ループPの処理で、後運用列車に当該一の駅を始発駅とする始発列車が現われた場合(ステップS523;YES)には、仮設定していた運行変更を本設定とし(ステップS528)、始発列車(後運用列車)が出区列車の場合、別列車に出区を設定する必要があるため、出区設定数を+1更新して(ステップS529)、後運用未定の運行変更処理を終了する。出区設定数を+1更新することによって、後の入出区設定による数合わせ処理で出区を追加する。
【0097】
例えば
図22に示すように、初動整理で、区間[5]〜[2]における「63B」が運休に変更された場合、区間[1]における「63B」は前運用未定となる。したがって、運行変更対象駅であるf駅における「63B」に対する前運用未定の運行変更処理において、「63B」の直前にf駅に到着する「62B」を、区間[1]における「63B」の前運用列車とする運行変更を仮設定する。「62B」はf駅を終着駅とする終着列車ではなく、区間[1]における「62B」は前運用未定となるため、さらにその直前にf駅に到着する「61B」を、区間[1]における「62B」の前運用列車とする運行変更を仮設定する。「61B」はf駅を終着駅とする終着列車であるため、これらの仮設定を本設定とする。
【0098】
また、例えば
図22に示すように、初動整理で、区間[2]〜[5]における「65B」が運休に変更された場合、区間[1]における「65B」は後運用未定となる。したがって、運行変更対象駅であるf駅における「65B」に対する後運用未定の運行変更処理において、「65B」の直後にf駅を出発する「66B」を、区間[1]における「65B」の後運用列車とする運行変更を仮設定する。「66B」はf駅を始発駅とする始発列車ではなく、区間[1]における「66B」は後運用未定となるため、さらにその直後にf駅を出発する「67B」を、区間[1]における「66B」の後運用列車とする運行変更を仮設定する。「67B」はf駅を始発駅とする始発列車ではなく、区間[1]における「67B」は後運用未定となるため、さらにその直後にf駅を出発する「68B」を、区間[1]における「67B」の後運用列車とする運行変更を仮設定するが、「68B」はf駅を始発駅とする始発列車ではない。よって、連続運行変更許容数(本実施形態の場合「3回」)を上限にループPの処理を繰り返しても、後運用列車に当該一の駅を始発駅とする始発列車が現われなかったので、全ての運行変更を無効として、当初の運用未定列車(区間[1]における「65B」)の始発駅(a駅)からの運休を設定し、本数合わせのため対向列車である「64B(区間[1]のみ)」の×切運休を設定する。
【0099】
次に、前述の入出区設定による未整理解消処理(ステップS16)の詳細について説明する。
入出区設定による未整理解消処理では、これまでの処理で記憶した入区設定数または出区設定数がある(所定ダイヤより入区数または出区数が減っている)場合、所定ダイヤに近づけるため、設定による入出区数合わせを行う。入出区設定は、駅毎に定義した線別のみ対象とする。
入区中止処理と同様、入区または出区の設定時、運転整理システムの動作開始時刻から一定時間は、システムが提案した運転整理の確認作業等が必要となるため、一定時間を「入区設定不可能時間」、「出区設定不可能時間」としてシステム定数に定義する。本実施形態では、例えば“20分”を「入区設定不可能時間」、例えば“25分”を「出区設定不可能時間」として定義する。「入区設定不可能時間」、「出区設定不可能時間」は個別に調整可能とする。全面運転再開時刻に「入区設定不可能時間」を加えた時刻を入区設定可能時刻、全面運転再開時刻に「出区設定不可能時間」を加えた時刻を出区設定可能時刻とし、この入区設定可能時刻または出区設定可能時刻以降のダイヤに対し入出区設定の処理を行う。
【0100】
具体的には、
図23に示すように、入出区設定による未整理解消処理では、入出区の設定が可能な全駅に対して、駅毎にループQの処理を行う(ステップS601〜S606)。すなわち、ループQの処理とは、入出区の設定が可能な1つの駅について、ステップS602〜S605の処理を行った後、以後、入出区の設定が可能なその他の駅について、ステップS602〜S605の処理を同様に繰り返す処理のことである。
一の駅におけるループQの処理では、当該一の駅の入区設定数が記憶されているか判定する(ステップS602)。
当該一の駅の入区設定数が記憶されている場合(ステップS602;YES)には、後述の入区設定処理(
図24)を実行して(ステップS603)、当該一の駅の出区設定数が記憶されているか判定する(ステップS604)。
一方、当該一の駅の入区設定数が記憶されていない場合(ステップS602;NO)には、入区設定処理(
図24)を実行せずに、当該一の駅の出区設定数が記憶されているか判定する(ステップS604)。
【0101】
当該一の駅の出区設定数が記憶されている場合(ステップS604;YES)には、後述の出区設定処理(
図26)を実行して(ステップS605)、当該一の駅におけるループQの処理を終了する。
一方、当該一の駅の出区設定数が記憶されていない場合(ステップS604;NO)には、出区設定処理(
図26)を実行せずに、当該一の駅におけるループQの処理を終了する。
そして、入出区の設定が可能な全駅に対するループQの処理が終了すると(ステップS606)、入出区設定による未整理解消処理を終了する。
【0102】
次に、前述の入区設定処理(ステップS603)の詳細について説明する。
これまでの処理で記憶した入区設定数がある場合、入区設定処理を行う。入区設定は、仮に折返でつないだ時の停車時間が一定時間以上となる場合を優先とする。一定時間は、「入区設定停車時間」としてシステム定数に定義する。また、「入出区間隔」をシステム定数に定義し、前後の入出区との間隔が「入出区間隔」未満となる場合は、入区設定不可とする。本実施形態では、例えば“15分”を「入区設定停車時間」、例えば“5分”を「入出区間隔」として定義する。「入区設定停車時間」、「入出区間隔」は調整可能とする。
【0103】
具体的には、
図24に示すように、入区設定処理では、先頭の運用未定列車を検出して、折返となる相手列車を決定する(ステップS611)。
先頭の運用未定列車が後運用未定の場合、その列車を前運用、次に始発する列車(出区列車を除く)を後運用とする。
また、先頭の運用未定列車が前運用未定の場合、その列車を後運用、次に終着する列車(入区列車を除く)を前運用とする。
決定した前運用列車の到着時刻が入区設定可能時刻以前の場合は、順に折返設定した場合に前運用列車が入区設定可能となる先頭の折返列車を決定する。
【0104】
次いで、決定した折返列車の停車時間は入区設定停車時間以上か判定する(ステップS612)。
入区設定停車時間以上でない場合(ステップS612;NO)には、次の折返列車を決定する(ステップS616)。
一方、入区設定停車時間以上である場合(ステップS612;YES)には、前後の入出区列車との間隔は入出区間隔以上か判定する(ステップS613)。
【0105】
入出区間隔以上でない場合(ステップS613;NO)には、次の折返列車を決定する(ステップS616)。
一方、入出区間隔以上である場合(ステップS613;YES)には、前運用列車に入区を設定して(ステップS614)、入区設定数が終了か判定する(ステップS615)。具体的には、ステップS614で入区を設定した列車の本数が、これまでの処理で記憶した当該一の駅の入区設定数に達した場合に、入区設定数が終了であると判定する。
入区設定数が終了である場合(ステップS615;YES)には、入区設定処理を終了する。
一方、入区設定数が終了でない場合(ステップS615;NO)には、次の折返列車を決定する(ステップS616)。
【0106】
次いで、ステップS616にて次の折返列車を決定できなかったか判定する(ステップS617)。
次の折返列車を決定できた場合(ステップS617;NO)には、ステップS612の処理に戻る。
一方、次の折返列車を決定できなかった場合(ステップS617;YES)、すなわち次の折返列車が存在しない(終電まで処理終了)場合には、入区の設定が可能な先頭の終着列車から、前後の入出区列車との間隔が入出区間隔以上となる終着列車に順に入区を設定して(ステップS618)、入区設定処理を終了する。
【0107】
例えば、
図25に示すように、初動整理で、「72B」,「76B」,「78B」,「79B」が運休に変更されたとする。したがって、入出区設定可能駅であるf駅に対する入区設定処理において、先頭の運用未定列車として「71B」が検出され、「71B」は後運用未定であるので、折返となる相手列車として「71B」のf駅到着の次にf駅を始発する「74B」を決定する。「71B」のf駅到着から「74B」のf駅出発までの時間は入区設定停車時間以上ではないので、入区を設定せずに、次の折返列車を決定する。
その際、次の運用未定列車として「73B」が検出される。「73B」の当初の相手列車(後運用列車)は「74B」であるが、「74B」は「71B」の相手列車(後運用列車)になったため、「73B」が次の運用未定列車として検出される。そして、「73B」は後運用未定であるので、折返となる相手列車として「73B」のf駅到着の次にf駅を始発する「80B」を決定する。「73B」のf駅到着から「80B」のf駅出発までの時間は入区設定停車時間以上であり、「73B」は前後の入出区列車との間隔が入出区間隔以上であるので、前運用列車である「73B」に入区を設定する。
【0108】
次に、前述の出区設定処理(ステップS605)の詳細について説明する。
これまでの処理で記憶した出区設定数がある場合、出区設定処理を行う。出区設定は、仮に折返でつないだ時の停車時間が一定時間未満(着発時刻逆転はマイナス)となる場合を優先とする。一定時間は、「出区設定停車時間」としてシステム定数に定義する。また、「入出区間隔」をシステム定数に定義し、前後の入出区との間隔が「入出区間隔」未満となる場合は、出区設定不可とする。本実施形態では、例えば“10分”を「出区設定停車時間」、例えば“5分”を「入出区間隔」として定義する。「出区設定停車時間」、「入出区間隔」は調整可能とする。
【0109】
具体的には、
図26に示すように、出区設定処理では、先頭の運用未定列車を検出して、折返となる相手列車を決定する(ステップS621)。
先頭の運用未定列車が後運用未定の場合、その列車を前運用、次に始発する列車(出区列車を除く)を後運用とする。
また、先頭の運用未定列車が前運用未定の場合、その列車を後運用、次に終着する列車(入区列車を除く)を前運用とする。
決定した後運用列車の出発時刻が出区設定可能時刻以前の場合は、順に折返設定した場合に後運用列車が出区設定可能となる先頭の折返列車を決定する。
【0110】
次いで、決定した折返列車の停車時間は出区設定停車時間未満か判定する(ステップS622)。
出区設定停車時間未満でない場合(ステップS622;NO)には、次の折返列車を決定する(ステップS626)。
一方、出区設定停車時間未満である場合(ステップS622;YES)には、前後の入出区列車との間隔が入出区間隔以上か判定する(ステップS623)。
【0111】
入出区間隔以上でない場合(ステップS623;NO)には、次の折返列車を決定する(ステップS626)。
一方、入出区間隔以上である場合(ステップS623;YES)には、後運用列車に出区を設定して(ステップS624)、出区設定数が終了か判定する(ステップS625)。具体的には、ステップS624で出区を設定した列車の本数が、これまでの処理で記憶した当該一の駅の出区設定数に達した場合に、出区設定数が終了であると判定する。
出区設定数が終了である場合(ステップS625;YES)には、出区設定処理を終了する。
一方、出区設定数が終了でない場合(ステップS625;NO)には、次の折返列車を決定する(ステップS626)。
【0112】
次いで、ステップS626にて次の折返列車を決定できなかったか判定する(ステップS627)。
次の折返列車を決定できた場合(ステップS627;NO)には、ステップS622の処理に戻る。
一方、次の折返列車を決定できなかった場合(ステップS627;YES)、すなわち次の折返列車が存在しない(終電まで処理終了)場合には、出区の設定が可能な先頭の始発列車から、前後の入出区列車との間隔が入出区間隔以上となる始発列車に順に出区を設定して(ステップS628)、出区設定処理を終了する。
【0113】
例えば、
図27に示すように、初動整理で、「72B」,「73B」,「79B」が運休に変更されたとする。したがって、入出区設定可能駅であるf駅に対する出区設定処理において、先頭の運用未定列車として「71B」が検出され、「71B」は後運用未定であるので、折返となる相手列車として「71B」のf駅到着の次にf駅を始発する「74B」を決定する。「71B」のf駅到着から「74B」のf駅出発までの時間は出区設定停車時間未満ではないので、出区を設定せずに、次の折返列車を決定する。
その際、次の運用未定列車として「80B」が検出され、「80B」は前運用未定であるので、折返となる相手列車として「80B」のf駅出発の次にf駅に終着する「81B」を決定する。「81B」のf駅到着から「80B」のf駅出発までの時間は出区設定停車時間未満(発着時刻が逆転しているのでマイナス)であり、「80B」は前後の入出区列車との間隔が入出区間隔以上であるので、後運用列車である「80B」に出区を設定する。
【0114】
次に、前述の折返変更による未整理解消処理(ステップS17)の詳細について説明する。
折返変更による未整理解消処理では、折返可能駅で、これまでの処理で残った先頭の運用未定列車から順に折返変更でつなぎ変えを行う。入区または出区が設定されている列車は折返対象としない。
【0115】
具体的には、
図28に示すように、折返変更による未整理解消処理では、折返変更の対象となる全駅に対して、駅毎にループRの処理を行う(ステップS701〜S708)。すなわち、ループRの処理とは、折返変更の対象となる1つの駅について、ステップ702〜S707の処理を行った後、以後、折返変更の対象となるその他の駅について、ステップS702〜S707の処理を同様に繰り返す処理のことである。
一の駅におけるループRの処理では、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対して、列車毎にループTの処理を行う(ステップS702〜S707)。すなわち、ループTの処理とは、最新運済列車の次の列車について、ステップS703〜S706の処理を行った後、以後、当日終電までの全列車について、ステップS703〜S706の処理を同様に繰り返す処理のことである。
一の列車におけるループTの処理では、当該一の列車は運用未定列車か判定する(ステップS703)。
運用未定列車でない場合(ステップS703;NO)には、当該一の列車におけるループTの処理を終了する。
一方、運用未定列車である場合(ステップS703;YES)には、当該運用未定列車を判断する(ステップS704)。
【0116】
当該運用未定列車が後運用未定である場合(ステップS704;後運用未定)には、次に始発する列車を後運用にして折返変更を設定し(ステップS705)、当該一の列車におけるループTの処理を終了する。ただし、次に始発する列車の前運用が後運用未定列車以前に到着する列車である場合、その次に始発する列車を後運用とする。
また、当該運用未定列車が前運用未定である場合(ステップS704;前運用未定)には、次に終着する列車を前運用にして折返変更を設定し(ステップS706)、当該一の列車におけるループTの処理を終了する。なお、時刻逆転は考慮しない。
そして、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対するループTの処理が終了すると(ステップS707)、当該一の駅におけるループRの処理を終了する。
そして、折返変更の対象となる全駅に対するループRの処理が終了すると(ステップS708)、折返変更による未整理解消処理を終了する。
【0117】
例えば、
図29(a)に示すように、初動整理で、区間[1]における「6B」が運休に変更されたとする。したがって、折返変更対象駅であるf駅における「6B」に対するループTの処理において、「6B」は後運用未定であると判断される。「6B」のf駅到着の次にf駅を始発する「33B」は、前運用(「26B」)が「6B」以前にf駅に到着する列車であるので、「33B」の次にf駅を始発する「35B」を、「6B」の後運用列車とする。そして、運用未定列車がなくなるまで、当該処理を繰り返す。
また、例えば、
図29(b)に示すように、初動整理で、「34B」が運休に変更されたとする。したがって、折返変更対象駅であるf駅における「41B」に対するループTの処理において、「41B」は前運用未定であると判断され、「41B」のf駅出発の次にf駅に終着する「36B」を、「41B」の前運用列車とする。そして、運用未定列車がなくなるまで、当該処理を繰り返す。
【0118】
以上説明した本実施形態の運転整理案作成方法によれば、社員が輸送障害発生時の初動対処として行った初動整理で増減した第一方向(本実施形態の場合、A線)および当該第一方向とは逆の第二方向(本実施形態の場合、B線)の列車本数を区間毎に検出して、当該第一方向の列車増減本数と当該第二方向の列車増減本数との差分を算出する列車本数差分算出ステップ(ステップS11)と、初動整理で増減した入区数および出区数を駅毎に検出して、入区増減数と出区増減数との差分を算出し、当該入区増減数よりも当該出区増減数の方が少なく、当該入区増減数が0より大きい場合には、当該差分を入区中止数として記憶し、当該入区増減数よりも当該出区増減数の方が多く、当該出区増減数が0より大きい場合には、当該差分を出区中止数として記憶する入出区数差分算出ステップ(ステップS12)と、列車本数差分算出ステップ(ステップS11)における算出結果に基づいて第一方向の列車増減本数と第二方向の列車増減本数とに差があるか否か判定し、差があると判定した場合に、当該差がなくなるまで列車本数が多い方向の列車の運休を設定する列車本数合わせステップ(ステップS13)と、入区中止数が記憶されている場合は、入区数が所定数(本実施形態の場合、所定ダイヤの入区数)よりも増えているため、入区数が当該所定数に近づくよう入区の中止を設定し、出区中止数が記憶されている場合は、出区数が所定数(本実施形態の場合、所定ダイヤの出区数)よりも増えているため、出区数が当該所定数に近づくよう出区の中止を設定する入出区数合わせステップ(ステップS14)と、を行い、列車本数合わせステップ(ステップS13)および入出区数合わせステップ(ステップS14)の後に、前運用列車および後運用列車の少なくとも一方が未定の運用未定列車の存在を解消する運用未整理解消ステップ(ステップS15〜S17)を行って、運用未定列車の存在が解消された状態にしてから遅延回復のための運転計画変更案である運転整理案を作成するように構成されている。
【0119】
したがって、運用未整理のない運転整理案を作成することができる。
【0120】
また、本実施形態の運転整理案作成方法によれば、運用未整理解消ステップでは、前運用列車が未定の前運用未定列車の直前に到着する列車を、当該前運用未定列車の前運用列車とする運行変更を行い、後運用列車が未定の後運用未定列車の直後に出発する列車を、当該後運用未定列車の後運用列車とする運行変更を行う運行変更による未整理解消処理(ステップS15)を実行するように構成することが可能である。
【0121】
このように構成することによって、輸送力不足となることなく、運用未整理を解消することができる。
【0122】
また、本実施形態の運転整理案作成方法によれば、入出区数差分算出ステップ(ステップS12)では、さらに、入区増減数よりも出区増減数の方が少なく、入区増減数が0以下である場合には、入区増減数と出区増減数との差分を出区設定数として記憶し、入区増減数よりも出区増減数の方が多く、出区増減数が0以下である場合には、入区増減数と出区増減数との差分を入区設定数として記憶し、運用未整理解消ステップでは、入区設定数が記憶されている場合は、入区数が所定数(本実施形態の場合、所定ダイヤの入区数)よりも減っているため、入区数が当該所定数に近づくよう入区を設定し、出区設定数が記憶されている場合は、出区数が所定数(本実施形態の場合、所定ダイヤの出区数)よりも減っているため、出区数が当該所定数に近づくよう出区を設定する入出区設定による未整理解消処理(ステップS16)を実行するように構成することが可能である。
【0123】
このように構成することによって、運用未整理を解消しつつ、入出区数を所定数(本実施形態の場合、所定ダイヤの入出区数)に近づけることができる。
【0124】
また、本実施形態の運転整理案作成方法によれば、運用未整理解消ステップでは、先頭の運用未定列車が、後運用列車が未定の後運用未定列車である場合、次に始発する列車を当該後運用未定列車の後運用列車とする折返変更を行い、先頭の運用未定列車が、前運用列車が未定の前運用未定列車である場合、次に終着する列車を当該前運用未定列車の前運用列車とする折返変更を行う折返変更による未整理解消処理(ステップS17)を実行するように構成することが可能である。
【0125】
このように構成することによって、確実に運用未整理を解消することができる。
【0126】
なお、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。また、前述の実施形態の各構成を組み合わせて適用しても良い。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。