(57)【特許請求の範囲】
【請求項１】
鉄道会社の社員が輸送障害発生時の初動対処として行った初動整理で増減した第一方向および当該第一方向とは逆の第二方向の列車本数を区間毎に検出して、当該第一方向の列車増減本数と当該第二方向の列車増減本数との差分を算出する列車本数差分算出ステップと、
前記初動整理で増減した入区数および出区数を駅毎に検出して、入区増減数と出区増減数との差分を算出し、当該入区増減数よりも当該出区増減数の方が少なく、当該入区増減数が０より大きい場合には、当該差分を入区中止数として記憶し、当該入区増減数よりも当該出区増減数の方が多く、当該出区増減数が０より大きい場合には、当該差分を出区中止数として記憶する入出区数差分算出ステップと、
前記列車本数差分算出ステップにおける算出結果に基づいて前記第一方向の列車増減本数と前記第二方向の列車増減本数とに差があるか否か判定し、差があると判定した場合に、当該差がなくなるまで列車本数が多い方向の列車の運休を設定する列車本数合わせステップと、
前記入区中止数が記憶されている場合は、入区数が所定数よりも増えているため、入区数が当該所定数に近づくよう入区の中止を設定し、前記出区中止数が記憶されている場合は、出区数が所定数よりも増えているため、出区数が当該所定数に近づくよう出区の中止を設定する入出区数合わせステップと、を行い、
前記列車本数合わせステップおよび前記入出区数合わせステップの後に、前運用列車および後運用列車の少なくとも一方が未定の運用未定列車の存在を解消する運用未整理解消ステップを行って、運用未定列車の存在が解消された状態にしてから遅延回復のための運転計画変更案である運転整理案を作成することを特徴とする運転整理案作成方法。
【請求項２】
前記運用未整理解消ステップでは、
前運用列車が未定の前運用未定列車の直前に到着する列車を、当該前運用未定列車の前運用列車とする運行変更を行い、後運用列車が未定の後運用未定列車の直後に出発する列車を、当該後運用未定列車の後運用列車とする運行変更を行う運行変更による未整理解消処理を実行することを特徴とする請求項１に記載の運転整理案作成方法。
【請求項３】
前記入出区数差分算出ステップでは、さらに、
前記入区増減数よりも前記出区増減数の方が少なく、前記入区増減数が０以下である場合には、前記入区増減数と前記出区増減数との差分を出区設定数として記憶し、前記入区増減数よりも前記出区増減数の方が多く、前記出区増減数が０以下である場合には、前記入区増減数と前記出区増減数との差分を入区設定数として記憶し、
前記運用未整理解消ステップでは、
前記入区設定数が記憶されている場合は、入区数が所定数よりも減っているため、入区数が当該所定数に近づくよう入区を設定し、前記出区設定数が記憶されている場合は、出区数が所定数よりも減っているため、出区数が当該所定数に近づくよう出区を設定する入出区設定による未整理解消処理を実行することを特徴とする請求項１または２に記載の運転整理案作成方法。
【請求項４】
前記運用未整理解消ステップでは、
先頭の運用未定列車が、後運用列車が未定の後運用未定列車である場合、次に始発する列車を当該後運用未定列車の後運用列車とする折返変更を行い、先頭の運用未定列車が、前運用列車が未定の前運用未定列車である場合、次に終着する列車を当該前運用未定列車の前運用列車とする折返変更を行う折返変更による未整理解消処理を実行することを特徴とする請求項１から３の何れか一項に記載の運転整理案作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輸送障害が発生した際の全面運転再開時点で、遅延回復のための運転計画変更案である運転整理案を作成する運転整理案作成方法に関する。
【背景技術】
【０００２】
事故や災害などによって輸送障害が発生すると、乱れたダイヤを平常状態に戻すために運転整理（運転計画の変更作業）が行われる。運転整理は、大きく分けて３つのフェーズに分けることができる。
輸送障害が発生してから部分運転が開始されるまでの“フェーズ１”では、初動整理（鉄道会社の社員（以下、単に「社員」という。）が輸送障害発生時の初動対処として行う運転整理）が行われる。初動整理では、主に列車抑止、先行列車延発などが手配される。
部分運転を開始してから全面運転が再開されるまでの“フェーズ２”では、障害発生中の運転整理が行われる。障害発生中の運転整理では、部分的に運転させるため、折返し駅の変更、運休、着発線変更などが手配される。
そして、全面運転が再開してからダイヤが平復するまでの“フェーズ３”では、遅延回復のための運転整理が行われる。遅延回復では、ダイヤ平復に向けた、運休、折返変更などが手配される。
【０００３】
従来、運転整理は社員の経験と勘によって行われているが、社員の負担を軽減するために運転整理の自動化が望まれている。輸送障害が発生してから全面運転が再開されるまで（フェーズ１および２）は、乗客や駅などに影響されて状況に規則性がないため、運転整理の自動化が難しい。一方、全面運転が再開されてからダイヤが平復するまで（フェーズ３）は、状況に比較的規則性があるため、運転整理の自動化が可能である。
【０００４】
そこで、全面運転再開時点で運転整理案を作成する運転整理案作成装置の開発が進められている。
そして、これまでに、運転整理案作成装置によって管理され、多数の駅を縦軸に採り、時間を横軸に採ったダイヤ図上において、実施ダイヤと実績ダイヤに基づき予想ダイヤを作成する予想ダイヤ作成手段と、ダイヤ図上を、所定の時間帯と複数駅からなる所定の走行区間で規定される多数のエリアに区分し、これらのエリア毎に、前の時間帯からの積み残し乗客数を含めた輸送需要を算出するエリア毎の輸送需要算出手段と、算出されたエリア毎の輸送需要に基づいて、当該エリアにて必要とされる列車の本数を算出するエリア毎の必要列車本数算出手段と、エリア毎に、当該エリアに含まれる駅における列車の発車時刻を予想ダイヤ上で求め、この発車時刻に基づき当該エリアを走行すると予想される列車の本数を算出するエリア毎の予想列車本数算出手段と、エリア毎に、算出した予想列車本数と必要列車本数とに基づいて、当該エリアにおけるダイヤの改善目標を設定するエリア毎の改善目標設定手段と、エリア毎に、この改善目標を達成するための運転整理案を作成するエリア毎の運転整理案作成手段とを備えた運転整理案作成装置等が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４６７００８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１記載の運転整理案作成装置によって作成される運転整理案は、初動整理からダイヤ平復まで一括での提案であり実際の運転整理と乖離があるため、全面運転再開以降について提案するシステムへ変更した。しかしながら、変更したシステムでは、全面運転再開までの社員による運転整理を引き継ぎダイヤ平復に向けたものであるため、当該運転整理案には、運用未整理が残ったままであるという問題がある。ここで、「運用未整理」とは、運転整理によって発生した、前運用列車が決定していない「前運用未定列車」や後運用列車が決定していない「後運用未定列車」が存在するダイヤ状態のことである。ここで、「前運用列車」とは、当該列車の折返等の前の列車のことを指す。例えば、Ａ駅〜Ｂ駅まで運転した後、折返してＢ駅〜Ａ駅まで運転する予定の列車の場合、Ａ駅〜Ｂ駅まで運転する列車を、折返後Ｂ駅〜Ａ駅を運転する列車の前運用列車という。また、「後運用列車」とは、当該列車の折返等の後の列車のことを指す。先述の例では、折返後Ｂ駅〜Ａ駅を運転する列車は、Ａ駅〜Ｂ駅まで運転する列車に対する後運用列車となる。
【０００７】
本発明は、以上のような事情に鑑みてなされたものであり、運用未整理のない運転整理案を作成することが可能な運転整理案作成方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明の運転整理案作成方法は、
鉄道会社の社員が輸送障害発生時の初動対処として行った初動整理で増減した第一方向および当該第一方向とは逆の第二方向の列車本数を区間毎に検出して、当該第一方向の列車増減本数と当該第二方向の列車増減本数との差分を算出する列車本数差分算出ステップと、
前記初動整理で増減した入区数および出区数を駅毎に検出して、入区増減数と出区増減数との差分を算出し、当該入区増減数よりも当該出区増減数の方が少なく、当該入区増減数が０より大きい場合には、当該差分を入区中止数として記憶し、当該入区増減数よりも当該出区増減数の方が多く、当該出区増減数が０より大きい場合には、当該差分を出区中止数として記憶する入出区数差分算出ステップと、
前記列車本数差分算出ステップにおける算出結果に基づいて前記第一方向の列車増減本数と前記第二方向の列車増減本数とに差があるか否か判定し、差があると判定した場合に、当該差がなくなるまで列車本数が多い方向の列車の運休を設定する列車本数合わせステップと、
前記入区中止数が記憶されている場合は、入区数が所定数よりも増えているため、入区数が当該所定数に近づくよう入区の中止を設定し、前記出区中止数が記憶されている場合は、出区数が所定数よりも増えているため、出区数が当該所定数に近づくよう出区の中止を設定する入出区数合わせステップと、を行い、
前記列車本数合わせステップおよび前記入出区数合わせステップの後に、前運用列車および後運用列車の少なくとも一方が未定の運用未定列車の存在を解消する運用未整理解消ステップを行って、運用未定列車の存在が解消された状態にしてから遅延回復のための運転計画変更案である運転整理案を作成するように構成されている。
【０００９】
したがって、運用未整理のない運転整理案を作成することができる。
【００１０】
好ましくは、
前記運用未整理解消ステップでは、
前運用列車が未定の前運用未定列車の直前に到着する列車を、当該前運用未定列車の前運用列車とする運行変更を行い、後運用列車が未定の後運用未定列車の直後に出発する列車を、当該後運用未定列車の後運用列車とする運行変更を行う運行変更による未整理解消処理を実行するように構成することが可能である。
【００１１】
かかる構成によれば、輸送力不足となることなく、運用未整理を解消することができる。
【００１２】
好ましくは、
前記入出区数差分算出ステップでは、さらに、
前記入区増減数よりも前記出区増減数の方が少なく、前記入区増減数が０以下である場合には、前記入区増減数と前記出区増減数との差分を出区設定数として記憶し、前記入区増減数よりも前記出区増減数の方が多く、前記出区増減数が０以下である場合には、前記入区増減数と前記出区増減数との差分を入区設定数として記憶し、
前記運用未整理解消ステップでは、
前記入区設定数が記憶されている場合は、入区数が所定数よりも減っているため、入区数が当該所定数に近づくよう入区を設定し、前記出区設定数が記憶されている場合は、出区数が所定数よりも減っているため、出区数が当該所定数に近づくよう出区を設定する入出区設定による未整理解消処理を実行するように構成することが可能である。
【００１３】
かかる構成によれば、運用未整理を解消しつつ、入出区数を所定数に近づけることができる。
【００１４】
好ましくは、
前記運用未整理解消ステップでは、
先頭の運用未定列車が、後運用列車が未定の後運用未定列車である場合、次に始発する列車を当該後運用未定列車の後運用列車とする折返変更を行い、先頭の運用未定列車が、前運用列車が未定の前運用未定列車である場合、次に終着する列車を当該前運用未定列車の前運用列車とする折返変更を行う折返変更による未整理解消処理を実行するように構成することが可能である。
【００１５】
かかる構成によれば、確実に運用未整理を解消することができる。
【発明の効果】
【００１６】
本発明によれば、運用未整理のない運転整理案を作成することが可能な運転整理案作成方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の運転整理案作成方法を実行する運転整理案作成装置の一例を示すシステム構成図である。
【図２】運転整理導出処理の一例を示すフローチャートである。
【図３】所定ダイヤの一例を示す図である。
【図４】運用未整理解消処理の一例を示すフローチャートである。
【図５】列車本数差分算出処理の一例を示すフローチャートである。
【図６】列車本数差分算出処理の具体例を説明するための図である。
【図７】入出区数差分算出処理の一例を示すフローチャートである。
【図８】入出区数差分算出処理の具体例を説明するための図である。
【図９】運休による列車本数合わせ処理の一例を示すフローチャートである。
【図１０】運休区間延長処理の一例を示すフローチャートである。
【図１１】運休区間延長処理の具体例を説明するための図である。
【図１２】「折返-後運用-運休」処理の一例を示すフローチャートである。
【図１３】「折返-後運用-運休」処理の具体例を説明するための図である。
【図１４】「折返-前運用-運休」処理の一例を示すフローチャートである。
【図１５】「折返-前運用-運休」処理の具体例を説明するための図である。
【図１６】入出区中止による入出区数合わせ処理の一例を示すフローチャートである。
【図１７】入区中止処理の一例を示すフローチャートである。
【図１８】出区中止処理の一例を示すフローチャートである。
【図１９】運行変更による未整理解消処理の一例を示すフローチャートである。
【図２０】前運用未定の運行変更処理の一例を示すフローチャートである。
【図２１】後運用未定の運行変更処理の一例を示すフローチャートである。
【図２２】前運用未定の運行変更処理および後運用未定の運行変更処理の具体例を説明するための図である。
【図２３】入出区設定による未整理解消処理の一例を示すフローチャートである。
【図２４】入区設定処理の一例を示すフローチャートである。
【図２５】入区設定処理の具体例を説明するための図である。
【図２６】出区設定処理の一例を示すフローチャートである。
【図２７】出区設定処理の具体例を説明するための図である。
【図２８】折返変更による未整理解消処理の一例を示すフローチャートである。
【図２９】折返変更による未整理解消処理の具体例を説明するための図である。
【発明を実施するための形態】
【００１８】
図面を参照しつつ、本発明にかかる運転整理案作成方法の実施形態について説明する。なお、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態および図示例に限定するものではない。
【００１９】
図１は、本実施形態の運転整理案作成方法を実行する運転整理案作成装置１の一例を示すシステム構成図である。
運転整理案作成装置１は、処理実行部１０１、データ記憶部１０２、入力処理部１０４、表示処理部１０５、及びこれらを接続するバス１０６からなる。
処理実行部１０１は、ＣＰＵ等の演算処理装置及びＲＯＭ等の記憶装置で構成される。
データ記憶部１０２は、ＲＡＭ等の記憶装置で構成される。
入力処理部１０４は、キーボード１４１やマウス１４２などによるユーザ入力を受け付ける。
表示処理部１０５は、列車ダイヤや運転整理結果をＣＲＴ等のモニタ装置１５１などに表示する。
【００２０】
本実施形態では、こうした構成において、運転整理案作成処理部１１０による運転整理案を処理実行部１０１に読み込み、これを実行させる。この運転整理案作成処理部１１０は、予想ダイヤ作成処理部１１１、ダイヤ解析処理部１１２を経て、運転整理作成処理部１１３に至る機能部構成である。
【００２１】
また、データ記憶部１０２では、運転整理案作成処理部１１０が利用するデータを管理しており、次のような管理部を備えている。すなわち、実施ダイヤ管理部１２０、実績情報管理部１２１、予想ダイヤ管理部１２３、ダイヤ解析情報管理部１２４、並びに所定ダイヤ管理部１２５である。
【００２２】
予想ダイヤ作成処理部１１１は、実施ダイヤ管理部１２０、実績情報管理部１２１が管理する情報に基づき、予想ダイヤを作成し、それを予想ダイヤ管理部１２３に格納する。
【００２３】
実施ダイヤ管理部１２０には、実施される計画の列車ダイヤが格納されている。実施ダイヤは、列車毎に、列車番号、列車種別、行き先、前運用の列車番号、後運用の列車番号と、当該列車の各駅毎の駅到着時間、駅出発時間、使用する番線などの情報からなる。
【００２４】
実績情報管理部１２１では、各列車の在線位置の管理を行う。運行実績情報、すなわち各列車の駅出発実績時刻、駅到着実績時刻、利用実績番線を、列車毎に管理する。
【００２５】
予想ダイヤ作成処理部１１１では、これらの情報を活用して、今後の運行予測を行い、予想ダイヤを作成して、予想ダイヤ管理部１２３に格納する。
【００２６】
ダイヤ解析情報管理部１２４では、ダイヤ解析情報テーブルを管理する。このテーブルの情報を活用して、各エリアを解析し、解析結果を、またこのテーブルに格納する。
【００２７】
所定ダイヤ管理部１２５には、所定ダイヤが格納されている。ここで、「所定ダイヤ」とは、運転整理が実施されていない状態の実施ダイヤ情報であり、「実施ダイヤ情報」とは、計画ダイヤに実行到着時刻や実行出発時刻などを付加したダイヤ情報である。
【００２８】
次に、本実施形態の機能を実現する処理を説明する。
まず、運転整理導出処理を説明する。本処理は、運転整理案作成処理部１１０によって実行される。
【００２９】
図２に示すように、運転整理導出処理では、予想ダイヤ作成処理部１１１が、実施ダイヤ管理部１２０、実績情報管理部１２１が管理する情報に基づき、予想ダイヤを作成し、それを予想ダイヤ管理部１２３に格納する予想ダイヤ作成処理を実行する（ステップＳ１）。
次いで、ダイヤ解析処理部１１２が、作成された予想ダイヤの解析を行い、解析結果をダイヤ解析情報管理部１２４に格納するダイヤ解析処理を実行する（ステップＳ２）。
次いで、運転整理作成処理部１１３が、遅延回復のための運転計画変更案である運転整理案を導出（作成）する運転整理案作成処理を実行する（ステップＳ３）。
【００３０】
次いで、反映、出力処理を実行して（ステップＳ４）、運転整理導出処理を終了する。ステップＳ４は、運転整理案作成処理部１１０で行われる処理で、導出（作成）した運転整理案を実施ダイヤ管理部１２０に反映し、それに基づく予想ダイヤを作成する。また、この更新された予想ダイヤに対して、ダイヤ解析処理を実行し、運転整理案実施前の解析結果と比較する。予想ダイヤや運転整理の効果（運転整理前との解析結果の比較）は、表示処理部１０５を介してモニタ装置１５１などに表示する。
【００３１】
次に、本実施形態の特徴である運用未整理解消処理を説明する。この運用未整理解消処理は、運転整理案作成処理（ステップＳ３）で実行される。具体的には、運転整理作成処理部１１３は、運転整理案作成処理（ステップＳ３）において、運用未整理解消処理を行って運用未整理のない状態にしてから、遅延回復処理を行い、運転整理案を作成する。
【００３２】
運転整理作成処理部１１３は、運用未整理解消処理を実行する前に、前処理および順序保留解除処理を行う。
初動整理（社員が支障（輸送障害）発生時の初動対処として全面運転再開までに行う運転整理）の内容を把握するために、所定ダイヤと全面運転再開時のダイヤ（運転整理システムの動作開始時のダイヤ）を比較する必要があるため、所定ダイヤを所定ダイヤ管理部１２５に格納し、全面運転再開時のダイヤを実績情報管理部１２１に格納する。「運転整理システム」とは、ダイヤ乱れ発生時に、自動で運転整理提案を導出（運転整理案を作成）するシステム群の総称、あるいは、運転整理提案アルゴリズム自体が実装されている装置の名称であり、本実施形態の場合、運転整理案作成装置１が運転整理システムに相当する。
また、全面運転再開時、初動整理で設定した順序保留列車が残っていると、以降の処理の対象外となってしまうため、運転整理作成処理部１１３は、運用未整理解消処理を実行する前に順序保留解除処理を行う。ここで、「順序保留列車」とは、運転予定順序から外した列車のことであり、順序保留解除処理では、順序保留列車を抜かして次の列車を先に動かすことになる。
【００３３】
以下、前処理で図３に示す所定ダイヤを取得した場合を例に説明する。
図３に示すように、ｚ駅側からａ駅側へ向かう列車が走る線路を“Ａ線”、ａ駅側からｚ駅側へ向かう列車が走る線路を“Ｂ線”と呼ぶ。また、ａ駅〜ｆ駅の区間を“区間［１］”、ｆ駅〜ｉ駅の区間を“区間［２］”、ｉ駅〜ｏ駅の区間を“区間［３］”、ｏ駅〜ｕ駅の区間を“区間［４］”、ｕ駅〜ｚ駅の区間を“区間［５］”と呼ぶ。
【００３４】
ここで、運用未整理解消処理の前提条件＜１＞〜＜８＞を示す。
なお、用語の意味は以下のとおりである。「運休」とは、列車の運転を取りやめることである。「折返変更」とは、終着駅または、途中駅で折返す際、所定ダイヤで予定されている列車番号とは違う列車番号として列車を運転することである。「運行変更」とは、遅延している場合などに、途中駅から列車番号を後続の列車のものに変更して列車を運転し、見た目上遅延がないようにすることである。「入区」とは、列車を車両基地等に入れることである。「出区」とは、列車を車両基地等から出すことである。「引上」とは、駅で回送列車をホームのない引上げ線路に移動することである。「据付」とは、回送列車をホームのない引上げ線路から駅のホームに移動することである。
＜１＞処理対象列車は、列車番号の末尾記号が「Ｂ」、「Ｃ」の列車（すなわち、対象路線のみを走る列車である。ａ駅やｚ駅より先の路線から対象路線に乗り入れた列車の列車番号は末尾記号が「Ｂ」、「Ｃ」以外になる。）とする。
＜２＞回送列車・貨物列車は、処理対象外とする。
＜３＞他線区との運用つながりは、削除しない。
＜４＞運用未整理解消のため実施する運転整理は、下記に限定する。
＜ア＞運休
＜イ＞折返変更（設定／中止）
＜ウ＞運行変更（設定／中止）
＜エ＞入区（設定／中止）
＜オ＞出区（設定／中止）
＜５＞社員が設定した「臨時列車」、「延長運転」は運休しない。
＜６＞社員が設定した「入区」、「出区」は中止しない。
＜７＞「引上」、「構内入区」は「入区」として扱う。入区設定は「構内入区」とする。
＜８＞「据付」、「構内出区」は「出区」として扱う。出区設定は「構内出区」とする。
【００３５】
具体的には、図４に示すように、運用未整理解消処理では、列車本数差分算出処理を実行する（ステップＳ１１）。運用未整理を解消するためには、まずＡ線とＢ線の列車増減数を合わせる必要がある。よって、列車本数差分算出処理では、所定ダイヤと比較し、初動整理で増減した各線別の本数を区間毎に検出し、差分を算出する。
次いで、入出区数差分算出処理を実行する（ステップＳ１２）。入出区可能駅では、入区と出区の増減数も合わせて運用未整理を解消する必要がある。よって、入出区数差分算出処理では、所定ダイヤと比較し、初動整理で増減した入出区数を駅毎に検出し、差分を算出する。
【００３６】
次いで、運休による列車本数合わせ処理を実行する（ステップＳ１３）。運休による列車本数合わせ処理では、ステップＳ１１の結果、本数が多い線別の列車を、相手線別と一致するまで区間毎に運休し、区間内のＡ線とＢ線の列車本数を合わせる。
次いで、入出区中止による入出区数合わせ処理を実行する（ステップＳ１４）。入出区中止による入出区数合わせ処理では、ステップＳ１２の結果、所定ダイヤより多い入出区を所定の数まで中止する。
【００３７】
次いで、運行変更による未整理解消処理を実行する（ステップＳ１５）。折返可能な方向は、駅毎に限定される。よって、運行変更による未整理解消処理では、折返ができない運用未整理がある場合、輸送量確保のため、運休せずに運行変更設定による未整理解消を行う。
次いで、入出区設定による未整理解消処理を実行する（ステップＳ１６）。入出区設定による未整理解消処理では、入区と出区の増減差分が一致するまで、入出区の設定による未整理解消を行う。
次いで、折返変更による未整理解消処理を実行して（ステップＳ１７）、運用未整理解消処理を終了する。折返変更による未整理解消処理では、残った運用未定を折返変更でつなぎかえることにより、未整理解消を行う。
【００３８】
次に、前述の列車本数差分算出処理（ステップＳ１１）の詳細について説明する。
列車本数差分算出処理では、まず、運休処理区間毎に、Ａ線とＢ線の当日始発列車から当日終電まで、順序ファイルを使用し所定ダイヤと比較する。次いで、臨時列車や延長運転の列車はプラス、運休にした列車はマイナスとカウントする。そして、Ａ線とＢ線の差分を算出し、運休処理本数として記憶する。ここで、「順序ファイル」には、全面運転再開時のダイヤデータ（列車の到着、出発などのデータ）が記録されている。
【００３９】
具体的には、図５に示すように、列車本数差分算出処理では、区間［１］から［５］までの全区間に対して、区間毎にループＡの処理を行う（ステップＳ１０１〜Ｓ１１４）。すなわち、ループＡの処理とは、区間［１］について、ステップＳ１０２〜Ｓ１１３の処理を行った後に、区間[２]について、ステップＳ１０２〜Ｓ１１３の処理を行い、以後、区間[３]〜区間[５]まで同様に繰り返す処理のことである。
一の区間におけるループＡの処理では、Ａ線およびＢ線のそれぞれに対して、線別毎にループＢの処理を行う（ステップＳ１０２〜Ｓ１１２）。すなわち、ループＢの処理とは、Ａ線について、ステップＳ１０３〜Ｓ１１１の処理を行った後、Ｂ線においても同様に繰り返す処理のことである。
一の線別におけるループＢの処理では、当該一の線別の列車増減数をリセット（すなわち、当該一の線別の列車増減数として「０」を設定）した後に、当該一の区間の区間開始駅および区間終了駅での最新運済列車（当該駅を最後に出発した列車および当該駅に最後に到着した列車）を検出して（ステップＳ１０３）、当日始発列車から当日終電までの全列車に対して、列車毎にループＣの処理を行う（ステップＳ１０４〜Ｓ１１０）。すなわち、ループＣの処理とは、当日始発列車について、Ｓ１０５〜Ｓ１０９の処理を行った後、当該始発列車の次の列車について、ステップＳ１０５〜Ｓ１０９の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。また、例えば図３に示すように、Ａ線における区間［１］の区間開始駅は「ｆ駅」、区間終了駅は「ａ駅」となり、Ｂ線における区間［１］の区間開始駅は「ａ駅」、区間終了駅は「ｆ駅」となる。
【００４０】
一の列車におけるループＣの処理では、当該一の列車は、初動整理で臨時列車に設定された列車か判定する（ステップＳ１０５）。
初動整理で臨時列車に設定された列車である場合（ステップＳ１０５；ＹＥＳ）には、当該一の線別の列車増減数を＋１更新して（ステップＳ１０９）、当該一の列車におけるループＣの処理を終了する。
一方、初動整理で臨時列車に設定された列車でない場合（ステップＳ１０５；ＮＯ）には、当該一の列車は、初動整理で延長運転が設定された列車か判定する（ステップＳ１０６）。
【００４１】
初動整理で延長運転が設定された列車である場合（ステップＳ１０６；ＹＥＳ）には、当該一の線別の列車増減数を＋１更新して（ステップＳ１０９）、当該一の列車におけるループＣの処理を終了する。
一方、初動整理で延長運転が設定された列車でない場合（ステップＳ１０６；ＮＯ）には、当該一の列車は、初動整理で運転から運休に変更された列車か判定する（ステップＳ１０７）。
初動整理で運転から運休に変更された列車である場合（ステップＳ１０７；ＹＥＳ）には、当該一の線別の列車増減数を−１更新して（ステップＳ１０８）、当該一の列車におけるループＣの処理を終了する。
一方、初動整理で運転から運休に変更された列車でない場合（ステップＳ１０７；ＮＯ）には、当該一の線別の列車増減数を更新せずに、当該一の列車におけるループＣの処理を終了する。
【００４２】
そして、当日始発列車から当日終電までの全列車に対するループＣの処理が終了すると（ステップＳ１１０）、当該一の線別の列車増減数を記憶して（ステップＳ１１１）、当該一の線別におけるループＢの処理を終了する。
そして、Ａ線およびＢ線のそれぞれに対するループＢの処理が終了すると（ステップＳ１１２）、ステップＳ１１１で記憶した当該一の区間におけるＡ線の列車増減数と当該一の区間におけるＢ線の列車増減数との差分を算出し、当該算出結果を当該一の区間の運休処理本数として記憶して（ステップＳ１１３）、当該一の区間におけるループＡの処理を終了する。
そして、区間［１］から［５］までの全区間に対するループＡの処理が終了すると（ステップＳ１１４）、列車本数差分算出処理を終了する。
【００４３】
例えば図６に示すように、初動整理で運転から運休に変更された列車を示すスジ（ダイヤ図において列車の軌跡を示す１本の線）を破線で、初動整理で臨時列車に設定された列車を示すスジを一点鎖線で、初動整理で延長運転が設定された列車を示すスジを二点鎖線で示す。
図６に示す例の場合、区間［１］においては、Ａ線の臨時列車が０本、延長運転が１本（列車増減数＋１）、運休が１本（列車増減数−１）であるのでＡ線の列車増減数は±０となり、Ｂ線の臨時列車が１本（列車増減数＋１）、延長運転が０本、運休が２本（列車増減数−２）であるのでＢ線の列車増減数は−１となる。よって、Ａ線の方が１本多いので、区間［１］においてはＡ線１本の運休を設定する。
また、区間［４］においては、Ａ線の臨時列車が０本、延長運転が０本、運休が３本（列車増減数−３）であるのでＡ線の列車増減数は−３となり、Ｂ線の臨時列車が０本、延長運転が０本、運休が３本（列車増減数−３）であるのでＢ線の列車増減数は−３となる。よって、Ａ線の列車増減数とＢ線の列車増減数が一致するので、区間［４］においては運休を設定する必要がない。
【００４４】
次に、前述の入出区数差分算出処理（ステップＳ１２）の詳細について説明する。
基本的な入出区の線別は駅毎に決まるが、路線によっては早朝や深夜には反対方向の列車の入出区が存在する場合がある。よって、入出区数差分算出処理では、両線別の入出区をカウントする。
すなわち、入出区数差分算出処理では、まず、入出区設定可能駅毎に、当日始発列車から当日終電まで、順序ファイルを使用し所定ダイヤと比較する。次いで、入区設定した列車は入区増減数をプラス、入区中止した列車は入区増減数をマイナスとカウントする。入出区設定可能線別と異なる線別の列車の入区もカウントする。また、出区設定した列車は出区増減数をプラス、出区中止した列車は出区増減数をマイナスとカウントする。入出区設定可能線別と異なる線別の列車の出区もカウントする。そして、入区増減数と出区増減数の差分を算出し、入区設定数、入区中止数、出区設定数、出区中止数の何れかを記憶する。所定ダイヤの入出区数に近づけるため、所定ダイヤより増加している場合は中止とする。
【００４５】
具体的には、図７に示すように、入出区数差分算出処理では、入出区の設定が可能な全駅に対して、駅毎にループＤの処理を行う（ステップＳ２０１〜Ｓ２２３）。すなわち、ループＤの処理とは、入出区の設定が可能な１つの駅について、ステップＳ２０２〜Ｓ２２２の処理を行った後、以後、入出区の設定が可能なその他の駅について、ステップＳ２０２〜Ｓ２２２の処理を同様に繰り返す処理のことである。本実施形態の場合、例えば「ｆ駅」と「ｕ駅」と「ｚ駅」が、入出区の設定が可能な駅である。
一の駅におけるループＤの処理では、当該一の駅の入区増減数および出区増減数をリセット（すなわち、当該一の駅の入区増減数および出区増減数としてそれぞれ「０」を設定）した後に、当該一の駅での最新運済列車を検出して（ステップＳ２０２）、当日始発列車から当日終電までの全列車に対して、列車毎にループＥの処理を行う（ステップＳ２０３〜Ｓ２０８）。すなわち、ループＥの処理とは、当日始発列車について、Ｓ２０４〜Ｓ２０７の処理を行った後、当該始発列車の次の列車について、ステップＳ２０４〜Ｓ２０７の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【００４６】
一の列車におけるループＥの処理では、当該一の列車は、初動整理で入区設定された列車か判定する（ステップＳ２０４）。
初動整理で入区設定された列車である場合（ステップＳ２０４；ＹＥＳ）には、当該一の駅の入区増減数を＋１更新して（ステップＳ２０７）、当該一の列車におけるループＥの処理を終了する。
一方、初動整理で入区設定された列車でない場合（ステップＳ２０４；ＮＯ）には、当該一の列車は、初動整理で入区中止された列車か判定する（ステップＳ２０５）。
【００４７】
初動整理で入区中止された列車である場合（ステップＳ２０５；ＹＥＳ）には、当該一の駅の入区増減数を−１更新して（ステップＳ２０６）、当該一の列車におけるループＥの処理を終了する。
一方、初動整理で入区中止された列車でない場合（ステップＳ２０５；ＮＯ）には、当該一の駅の入区増減数を更新せずに、当該一の列車におけるループＥの処理を終了する。
そして、当日始発列車から当日終電までの全列車に対するループＥの処理が終了すると（ステップＳ２０８）、当日始発列車から当日終電までの全列車に対して、列車毎にループＦの処理を行う（ステップＳ２０９〜Ｓ２１４）。すなわち、ループＦの処理とは、当日始発列車について、Ｓ２１０〜Ｓ２１３の処理を行った後、当該始発列車の次の列車について、ステップＳ２１０〜Ｓ２１３の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【００４８】
一の列車におけるループＦの処理では、当該一の列車は、初動整理で出区設定された列車か判定する（ステップＳ２１０）。
初動整理で出区設定された列車である場合（ステップＳ２１０；ＹＥＳ）には、当該一の駅の出区増減数を＋１更新して（ステップＳ２１３）、当該一の列車におけるループＦの処理を終了する。
一方、初動整理で出区設定された列車でない場合（ステップＳ２１０；ＮＯ）には、当該一の列車は、初動整理で出区中止された列車か判定する（ステップＳ２１１）。
【００４９】
初動整理で出区中止された列車である場合（ステップＳ２１１；ＹＥＳ）には、当該一の駅の出区増減数を−１更新して（ステップＳ２１２）、当該一の列車におけるループＦの処理を終了する。
一方、初動整理で出区中止された列車でない場合（ステップＳ２１１；ＮＯ）には、当該一の駅の出区増減数を更新せずに、当該一の列車におけるループＦの処理を終了する。
そして、当日始発列車から当日終電までの全列車に対するループＦの処理が終了すると（ステップＳ２１４）、当該一の駅の入区増減数と当該一の駅の出区増減数とを比較する（ステップＳ２１５）。
【００５０】
当該一の駅の入区増減数が当該一の駅の出区増減数よりも少ない場合（ステップＳ２１５；入区＜出区）には、出区の中止または入区の設定が必要となるので、当該一の駅の出区増減数は所定ダイヤの出区数よりも増加しているか判定する（ステップＳ２１６）。
当該一の駅の出区増減数が所定ダイヤの出区数よりも増加している場合（ステップＳ２１６；ＹＥＳ）、すなわち出区増減数＞０の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の出区中止数として記憶し（ステップＳ２１８）、当該一の駅におけるループＤの処理を終了する。
一方、当該一の駅の出区増減数が所定ダイヤの出区数よりも増加していない場合（ステップＳ２１６；ＮＯ）、すなわち出区増減数≦０の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の入区設定数として記憶し（ステップＳ２１９）、当該一の駅におけるループＤの処理を終了する。
【００５１】
また、当該一の駅の入区増減数と当該一の駅の出区増減数とが同一である場合（ステップＳ２１５；入区＝出区）には、入出区の設定または入出区の中止は必要ないので、入出区処理不要を記憶、具体的には当該一の駅の入区設定数、入区中止数、出区設定数、および出区中止数としてそれぞれ「０」を記憶して（ステップＳ２２０）、当該一の駅におけるループＤの処理を終了する。
【００５２】
また、当該一の駅の入区増減数が当該一の駅の出区増減数よりも多い場合（ステップＳ２１５；入区＞出区）には、入区の中止または出区の設定が必要となるので、当該一の駅の入区増減数は所定ダイヤの入区数よりも増加しているか判定する（ステップＳ２１７）。
当該一の駅の入区増減数が所定ダイヤの入区数よりも増加していない場合（ステップＳ２１７；ＮＯ）、すなわち入区増減数≦０の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の出区設定数として記憶し（ステップＳ２２１）、当該一の駅におけるループＤの処理を終了する。
一方、当該一の駅の入区増減数が所定ダイヤの入区数よりも増加している場合（ステップＳ２１７；ＹＥＳ）、すなわち入区増減数＞０の場合には、当該一の駅の入区増減数と当該一の駅の出区増減数との差分を当該一の駅の入区中止数として記憶し（ステップＳ２２２）、当該一の駅におけるループＤの処理を終了する。
そして、入出区の設定が可能な全駅に対するループＤの処理が終了すると（ステップＳ２２３）、入出区数差分算出処理を終了する。
【００５３】
例えば図８に示すように、列車番号「３Ｂ」，「５Ｂ」，「３２Ｂ」の列車が初動整理で入区設定され、列車番号「４９Ｂ」の列車が初動整理で出区設定され、列車番号「１４Ｂ」，「３９Ｂ」の列車が初動整理で運転から運休に変更されたとする。したがって、「３９Ｂ」は、初動整理で設定された運休により入区中止となった列車、すなわち初動整理で入区中止された列車となる。
入出区の設定が可能な「ｆ駅」では、入区設定が１本（入区増減数＋１）、入区中止が０本であり、出区設定が１本（出区増減数＋１）、出区中止が０本である。よって、ｆ駅の入区増減数は＋１、ｆ駅の出区増減数は＋１となり、ｆ駅の入区増減数とｆ駅の出区増減数とが一致するので、ｆ駅の入区設定数、入区中止数、出区設定数、および出区中止数としてそれぞれ「０」が記憶される。
【００５４】
また、入出区の設定が可能な「ｕ駅」では、入区設定が０本、入区中止が１本（入区増減数−１）であり、出区設定が０本、出区中止が０本である。よって、ｕ駅の入区増減数は−１、ｕ駅の出区増減数は±０となり、ｕ駅の出区増減数は所定ダイヤより増加していないので、ｕ駅の入区設定数として「１」が記憶され、ｕ駅の入区中止数、出区設定数、および出区中止数としてそれぞれ「０」が記憶される。
また、入出区の設定が可能な「ｚ駅」では、入区設定が２本（入区増減数＋２）、入区中止が０本であり、出区設定が０本、出区中止が０本である。よって、ｚ駅の入区増減数は＋２、ｚ駅の出区増減数は±０となり、ｚ駅の入区増減数は所定ダイヤより増加しているので、ｚ駅の入区中止数として「２」が記憶され、ｚ駅の入区設定数、出区設定数、および出区中止数としてそれぞれ「０」が記憶される。
【００５５】
次に、前述の運休による列車本数合わせ処理（ステップＳ１３）の詳細について説明する。
ダイヤの乱れを早期回復するためには、運休可能な列車のうち、できるだけ早い出発時刻の列車を運休対象とすることが必要となる。しかし、運転整理システムの動作開始時刻（全面運転再開時）から一定時間は、システムが提案した運転整理の確認作業等が必要となるため、一定時間を「運休不可能時間」としてシステム定数に定義する。本実施形態では、例えば“１０分”を「運休不可能時間」として定義する。「運休不可能時間」は調整可能とする。全面運転再開時刻に「運休不可能時間」を加えた時刻を運休可能時刻とし、この運休可能時刻以降のダイヤに対し運休の処理を行う。
【００５６】
運休処理は、折返駅で先頭の運用未定列車を検索し、それを基に処理を行う。運休対象列車が、折返駅で前運用か後運用かにより、運休対象列車の決定方法が異なる。折返設定の方向は、各駅の定義により限定されるため、区間によって前運用の線別、後運用の線別が決定する。本実施形態の場合、図３に示すように、区間［１］において、折返設定の方向はＡ線→Ｂ線であるから、Ａ線が前運用の線別、Ｂ線が後運用の線別となる。また、区間［５］において、折返設定の方向はＢ線→Ａ線であるから、Ｂ線が前運用の線別、Ａ線が後運用の線別となる。なお、折返設定の方向が両方向（Ａ線→Ｂ線とＢ線→Ａ線）ある区間の場合、「折返-前運用-運休」処理と「折返-後運用-運休」処理で検索した列車のうち、区間内出発時刻の早い方の列車を運休対象とする。
【００５７】
運休による列車本数合わせ処理では、Ａ線、Ｂ線の順に処理を行う。各線別の始発駅側から終着駅側まで区間毎に処理を繰り返す。すなわち、Ａ線の場合は、区間［５］、［４］、［３］、［２］、［１］の順に、Ｂ線の場合は、区間［１］、［２］、［３］、［４］、［５］の順に区間毎に処理を繰り返す。各区間で運休が必要な場合、必要本数に達するまで、運休区間延長処理、「折返-後運用-運休」処理、または「折返-前運用-運休」処理を行う。各運休処理の中で、運休により、入区または出区が削除された場合は、入区設定処理数（入区設定数）または出区設定処理数（出区設定数）を更新し、後の入出区設定による数合わせ処理で追加する。
運休区間は、各運休処理区間の運休開始駅から運休終了駅までとする。すなわち、例えば図３に示すように、Ａ線における運休処理区間［１］の運休開始駅は「ｆ駅」、運休終了駅は「ａ駅」となり、Ｂ線における運休処理区間［１］の運休開始駅は「ａ駅」、運休終了駅は「ｆ駅」となる。
【００５８】
具体的には、図９に示すように、運休による列車本数合わせ処理では、運休可能時刻を算出する（ステップＳ３０１）。
次いで、Ａ線の全区間に対して、始発駅側の区間から順に、区間毎にループＧの処理を行う（ステップＳ３０２〜Ｓ３１０）。すなわち、ループＧの処理は、Ａ線用の処理であり、区間［５］について、Ｓ３０３〜Ｓ３０９の処理を行った後、区間[４]について、ステップＳ３０３〜３０９の処理を行い、以後、区間[３]〜区間[１]まで同様に繰り返す処理のことである。
一の区間におけるループＧの処理では、当該一の区間のＡ線で運休が必要か判定する（ステップＳ３０３）。具体的には、列車本数差分算出処理（図５）のステップＳ１１１で記憶した当該一の区間におけるＡ線の列車増減数と当該一の区間におけるＢ線の列車増減数とを比較し、Ａ線の列車増減数がＢ線の列車増減数よりも多い場合に、当該一の区間のＡ線の運休が必要であると判定する。
【００５９】
運休が必要でない場合（ステップＳ３０３；ＮＯ）には、当該一の区間におけるループＧの処理を終了する。
一方、運休が必要である場合（ステップＳ３０３；ＹＥＳ）には、後述の運休区間延長処理（図１０）を実行して（ステップＳ３０４）、運休必要本数が終了か判定する（ステップＳ３０５）。具体的には、運休区間延長処理（図１０）で運休を設定した列車の本数が、列車本数差分算出処理（図５）のステップＳ１１３で記憶した当該一の区間の運休処理本数に達した場合に、運休必要本数が終了であると判定する。
【００６０】
運休必要本数が終了である場合（ステップＳ３０５；ＹＥＳ）には、当該一の区間におけるループＧの処理を終了する。
一方、運休必要本数が終了でない場合（ステップＳ３０５；ＮＯ）には、後運用処理が必要か判定する（ステップＳ３０６）。具体的には、当該一の区間において、Ａ線が後運用の線別である場合に、後運用処理が必要であると判定する。
【００６１】
後運用処理が必要である場合（ステップＳ３０６；ＹＥＳ）には、後述の「折返-後運用-運休」処理（図１２）を実行して（ステップＳ３０７）、前運用処理が必要か判定する（ステップＳ３０８）。具体的には、当該一の区間において、Ａ線が前運用の線別である場合に、前運用処理が必要であると判定する。
一方、後運用処理が必要でない場合（ステップＳ３０６；ＮＯ）には、「折返-後運用-運休」処理（図１２）を実行せずに、前運用処理が必要か判定する（ステップＳ３０８）。
前運用処理が必要である場合（ステップＳ３０８；ＹＥＳ）には、後述の「折返-前運用-運休」処理（図１４）を実行して（ステップＳ３０９）、当該一の区間におけるループＧの処理を終了する。
一方、前運用処理が必要でない場合（ステップＳ３０８；ＮＯ）には、「折返-前運用-運休」処理（図１４）を実行せずに、当該一の区間におけるループＧの処理を終了する。
【００６２】
そして、Ａ線の全区間に対するループＧの処理が終了すると（ステップＳ３１０）、Ｂ線の全区間に対して、始発駅側の区間から順に、区間毎にループＨの処理を行う（ステップＳ３１１〜Ｓ３１９）。すなわち、ループＨの処理は、Ｂ線用の処理であり、区間［１］について、Ｓ３１２〜Ｓ３１８の処理を行った後、区間[２]について、ステップＳ３１２〜Ｓ３１８の処理を行い、以後、区間[３]〜区間[５]まで同様に繰り返す処理のことである。
一の区間におけるループＨの処理では、当該一の区間のＢ線で運休が必要か判定する（ステップＳ３１２）。具体的には、列車本数差分算出処理（図５）のステップＳ１１１で記憶した当該一の区間におけるＡ線の列車増減数と当該一の区間におけるＢ線の列車増減数とを比較し、Ｂ線の列車増減数がＡ線の列車増減数よりも多い場合に、当該一の区間のＢ線の運休が必要であると判定する。
【００６３】
運休が必要でない場合（ステップＳ３１２；ＮＯ）には、当該一の区間におけるループＨの処理を終了する。
一方、運休が必要である場合（ステップＳ３１２；ＹＥＳ）には、後述の運休区間延長処理（図１０）を実行して（ステップＳ３１３）、運休必要本数が終了か判定する（ステップＳ３１４）。
【００６４】
運休必要本数が終了である場合（ステップＳ３１４；ＹＥＳ）には、当該一の区間におけるループＨの処理を終了する。
一方、運休必要本数が終了でない場合（ステップＳ３１４；ＮＯ）には、後運用処理が必要か判定する（ステップＳ３１５）。具体的には、当該一の区間において、Ｂ線が後運用の線別である場合に、後運用処理が必要であると判定する。
【００６５】
後運用処理が必要である場合（ステップＳ３１５；ＹＥＳ）には、後述の「折返-後運用-運休」処理（図１２）を実行して（ステップＳ３１６）、前運用処理が必要か判定する（ステップＳ３１７）。具体的には、当該一の区間において、Ｂ線が前運用の線別である場合に、前運用処理が必要であると判定する。
一方、後運用処理が必要でない場合（ステップＳ３１５；ＮＯ）には、「折返-後運用-運休」処理（図１２）を実行せずに、前運用処理が必要か判定する（ステップＳ３１７）。
前運用処理が必要である場合（ステップＳ３１７；ＹＥＳ）には、後述の「折返-前運用-運休」処理（図１４）を実行して（ステップＳ３１８）、当該一の区間におけるループＨの処理を終了する。
一方、前運用処理が必要でない場合（ステップＳ３１７；ＮＯ）には、「折返-前運用-運休」処理（図１４）を実行せずに、当該一の区間におけるループＨの処理を終了する。
そして、Ｂ線の全区間に対するループＨの処理が終了すると（ステップＳ３１９）、運休による列車本数合わせ処理を終了する。
【００６６】
次に、前述の運休区間延長処理（ステップＳ３０４、Ｓ３１３）の詳細について説明する。この運休区間延長処理は、Ａ線、Ｂ線で共通である。
既に運休処理区間の開始駅まで運休し、途中駅で前運用未定の列車があれば、優先的に運休対象とし、運休区間を延長することで、区間運休の列車本数を増やさないことになる。最終的に全ての走行区間が運休となれば、全運休の列車となる。本実施形態の場合、ａ駅とｚ駅は途中駅とならないため、本処理は対象外となる。
【００６７】
具体的には、図１０に示すように、運休区間延長処理では、運休可能時刻以降に出発する先頭の列車を検出する（ステップＳ３２１）。
次いで、運休可能時刻以降に出発する先頭の列車から当日終電までの全列車に対して、列車毎にループＩの処理を行う（ステップＳ３２２〜Ｓ３２５）。すなわち、ループＩの処理とは、運休可能時刻以降に出発する先頭の列車について、Ｓ３２３〜Ｓ３２４の処理を行った後、当該次の列車について、ステップＳ３２３〜Ｓ３２４の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
一の列車におけるループＩの処理では、当該一の列車は、運休開始駅で途中駅前運用未定列車か判定する（ステップＳ３２３）。
途中駅前運用未定列車である場合（ステップＳ３２３；ＹＥＳ）には、運休開始駅から運休停止駅まで当該一の列車の運休を設定して（ステップＳ３２４）、当該一の列車におけるループＩの処理を終了する。
一方、途中駅前運用未定列車でない場合（ステップＳ３２３；ＮＯ）には、当該一の列車の運休を設定せずに、当該一の列車におけるループＩの処理を終了する。
そして、運休可能時刻以降に出発する先頭の列車から当日終電までの全列車に対するループＩの処理が終了すると（ステップＳ３２５）、運休区間延長処理を終了する。
【００６８】
例えば図１１に示すように、初動整理で、Ａ線の「１０Ｃ」が区間［５］〜［１］において運休に変更され、Ｂ線の「１１Ｂ」が区間［１］において運休に変更されたとする。したがって、区間［２］〜［５］においてＢ線１本の運休を設定する必要がある。
図１１に示す例の場合、Ｂ線の区間［２］に対する運休区間延長処理において、「１１Ｂ」が運休開始駅（ｆ駅）で途中駅前運用未定列車となっているので、運休開始駅（ｆ駅）から運休終了駅（ｉ駅）まで「１１Ｂ」の運休を設定する。したがって、「１１Ｂ」の運休区間が区間［１］から、区間［１］〜［２］に変更される。その結果、「１１Ｂ」はｉ駅で途中駅前運用未定列車となる。
【００６９】
次いで、Ｂ線の区間［３］に対する運休区間延長処理において、「１１Ｂ」が運休開始駅（ｉ駅）で途中駅前運用未定列車となっているので、運休開始駅（ｉ駅）から運休終了駅（ｏ駅）まで「１１Ｂ」の運休を設定する。したがって、「１１Ｂ」の運休区間が区間［１］〜［２］から、区間［１］〜［３］に変更される。その結果、「１１Ｂ」はｏ駅で途中駅前運用未定列車となる。
次いで、Ｂ線の区間［４］に対する運休区間延長処理において、「１１Ｂ」が運休開始駅（ｏ駅）で途中駅前運用未定列車となっているので、運休開始駅（ｏ駅）から運休終了駅（ｕ駅）まで「１１Ｂ」の運休を設定する。したがって、「１１Ｂ」の運休区間が区間［１］〜［３］から、区間［１］〜［４］に変更される。その結果、「１１Ｂ」はｕ駅で途中駅前運用未定列車となる。
そして、Ｂ線の区間［５］に対する運休区間延長処理において、「１１Ｂ」が運休開始駅（ｕ駅）で途中駅前運用未定列車となっているので、運休開始駅（ｕ駅）から運休終了駅（ｚ駅）まで「１１Ｂ」の運休を設定する。したがって、「１１Ｂ」の運休区間が区間［１］〜［４］から、区間［１］〜［５］（すなわち全運休）に変更される。
【００７０】
次に、前述の「折返-後運用-運休」処理（ステップＳ３０７、Ｓ３１６）の詳細について説明する。この「折返-後運用-運休」処理は、Ａ線、Ｂ線で共通である。
折返-後運用側の線別を運休する場合、乱れたダイヤの早期回復に向けて、出来るだけ早い出発時刻の列車を運休対象とするため、×切運休の手法を採用する。連続した区間で、同一線別の運休が必要な場合は、運休区間を結合してから×切列車を決定する。ここで、「×切列車」とは、ダイヤ図上でスジがクロスする列車のことであり、「×切運休」とは、×切列車を運休することである。
【００７１】
具体的には、図１２に示すように、「折返-後運用-運休」処理では、運休開始駅（折返駅）で先頭の運用未定列車を検出して（ステップＳ３３１）、当該先頭の運用未定列車を判断する（ステップＳ３３２）。
当該先頭の運用未定列車が前運用未定（折返-後運用列車）である場合（ステップＳ３３２；前運用未定）には、その列車を運休候補とする（ステップＳ３３３）。
また、当該先頭の運用未定列車が後運用未定（折返-前運用列車）である場合（ステップＳ３３２；後運用未定）には、直後に始発する列車を運休候補とする（ステップＳ３３４）。ただし、始発する列車が終電までない場合は、直後に出発する列車を運休候補とする。
また、先頭の運用未定列車がない場合（ステップＳ３３２；運用未整理なし）には、先頭の運休可能な始発列車を運休候補とする（ステップＳ３３５）。ただし、始発列車が終電までない場合は、先頭の運休可能な出発列車を運休候補とする。
【００７２】
次いで、ステップＳ３３３〜Ｓ３３５で決定した運休候補以前に、結合した運休区間で×切となる運休可能な列車があるか判定する（ステップＳ３３６）。
×切となる運休可能な列車がない場合（ステップＳ３３６；ＮＯ）には、運休処理を実行する（ステップＳ３３８）。
一方、×切となる運休可能な列車がある場合（ステップＳ３３６；ＹＥＳ）には、ステップＳ３３３〜Ｓ３３５で決定した運休候補以前で先頭の×切列車、すなわち×切となる運休可能な列車の中で最も出発時刻の早い列車に運休候補を変更して（ステップＳ３３７）、運休処理を実行する（ステップＳ３３８）。
【００７３】
次いで、運休必要本数が終了か判定する（ステップＳ３３９）。
運休必要本数が終了でない場合（ステップＳ３３９；ＮＯ）には、ステップＳ３３１の処理に戻る。
一方、運休必要本数が終了である場合（ステップＳ３３９；ＹＥＳ）には、「折返-後運用-運休」処理を終了する。
【００７４】
例えば図１３に示すように、初動整理で、Ａ線３本が区間［２］〜［４］において運休に変更され、Ｂ線２本が区間［２］〜［４］において運休に変更されたとする。したがって、区間［２］〜［４］においてＢ線１本の運休を設定する必要がある。
図１３に示す例の場合、「３２Ｂ」が先頭の運用未定列車であり、後運用未定であるため、直後に始発する「４１Ｂ」が運休候補となる。
区間［２］〜［４］を結合し、運休候補である「４１Ｂ」以前に、結合した区間で「３２Ｂ」と×切となる運休可能な列車があるか判定する。「３３Ｂ」、「３５Ｂ」、「３７Ｂ」が「３２Ｂ」と×切となる運休可能な列車であるため、その中で最も出発時刻の早い「３３Ｂ」に運休候補を変更して、運休処理を行う。当該運休処理では、区間［２］における「３３Ｂ」の運休が設定され、区間［３］における「３３Ｂ」の運休および区間［４］における「３３Ｂ」の運休は、運休区間延長処理（図１０）で設定される。
【００７５】
次に、前述の「折返-前運用-運休」処理（ステップＳ３０９、Ｓ３１８）の詳細について説明する。この「折返-前運用-運休」処理は、Ａ線、Ｂ線で共通である。
図１４に示すように、「折返-前運用-運休」処理では、運休終了駅（折返駅）で先頭の運用未定列車を検出して（ステップＳ３４１）、当該先頭の運用未定列車を判断する（ステップＳ３４２）。
当該先頭の運用未定列車が前運用未定（折返-後運用列車）である場合（ステップＳ３４２；前運用未定）には、直後に終着する列車を運休候補とする（ステップＳ３４３）。ただし、終着する列車が終電までない場合は、直後に到着する列車を運休候補とする。
また、当該先頭の運用未定列車が後運用未定（折返-前運用列車）である場合（ステップＳ３４２；後運用未定）には、その列車を運休候補とする（ステップＳ３４４）。
また、先頭の運用未定列車がない場合（ステップＳ３４２；運用未整理なし）には、先頭の運休可能な終着列車を運休候補とする（ステップＳ３４５）。ただし、終着列車が終電までない場合は、先頭の運休可能な到着列車を運休候補とする。
【００７６】
次いで、ステップＳ３４３〜Ｓ３４５で決定した運休候補の運休開始駅は、運休可能か判定する（ステップＳ３４６）。
運休可能である場合（ステップＳ３４６；ＹＥＳ）、すなわちステップＳ３４３〜Ｓ３４５で決定した運休候補が運休開始駅を運休不可能時間に出発しない場合には、運休処理を実行する（ステップＳ３４８）。
一方、運休可能でない場合（ステップＳ３４６；ＮＯ）、すなわちステップＳ３４３〜Ｓ３４５で決定した運休候補が運休開始駅を運休不可能時間に出発する場合には、ステップＳ３４３〜Ｓ３４５で決定した運休候補以降で最初の運休可能な列車、すなわち先頭の運休可能な終着列車（終着列車がない場合には到着列車）に運休候補を変更して（ステップＳ３４７）、運休処理を実行する（ステップＳ３４８）。「運休可能な列車」とは、運休開始駅を運休不可能時間に出発しない列車のことである。
【００７７】
次いで、運休必要本数が終了か判定する（ステップＳ３４９）。
運休必要本数が終了でない場合（ステップＳ３４９；ＮＯ）には、ステップＳ３４１の処理に戻る。
一方、運休必要本数が終了である場合（ステップＳ３４９；ＹＥＳ）には、「折返-前運用-運休」処理を終了する。
【００７８】
例えば図１５（ａ）に示すように、初動整理で、Ａ線１本、Ｂ線２本が運休に変更されたとする。したがって、Ａ線１本の運休を設定する必要がある。
図１５（ａ）に示す例の場合、Ａ線の区間［１］に対する「折返-前運用-運休」処理において、「１１Ｂ」が先頭の運用未定列車であり、前運用未定であるため、直後に終着する列車である「６Ｂ」が運休候補となる。しかし、「６Ｂ」は運休開始駅（ｆ駅）を運休不可能時間に出発するので、先頭の運休可能な終着列車である「８Ｂ」に運休候補を変更し、運休処理を行って「８Ｂ」の運休を設定する。
【００７９】
また、例えば図１５（ｂ）に示すように、初動整理で、Ａ線１本、Ｂ線２本が運休に変更されたとする。したがって、Ａ線１本の運休を設定する必要がある。
図１５（ｂ）に示す例の場合、Ａ線の区間［１］に対する「折返-前運用-運休」処理において、「５１Ｂ」が先頭の運用未定列車であり、後運用未定であるため、「５１Ｂ」が運休候補となる。しかし、「５１Ｂ」は運休開始駅（ｆ駅）を運休不可能時間に出発するので、運休の設定ができない。「５１Ｂ」の次に終着する「５２Ｂ」は運休開始駅（ｆ駅）を運休不可能時間に出発し、「５２Ｂ」の次に終着する「５３Ｂ」は運休開始駅（ｆ駅）を運休可能時間に出発するので、「５１Ｂ」以降で最初の運休可能な列車は「５３Ｂ」となる。よって、「５３Ｂ」に運休候補を変更し、運休処理を行って「５３Ｂ」の運休を設定する。
【００８０】
次に、前述の入出区中止による入出区数合わせ処理（ステップＳ１４）の詳細について説明する。
入出区数差分算出処理（図７）で記憶した入区中止数または出区中止数がある（所定ダイヤより入区数または出区数が増えている）場合、所定ダイヤに近づけるため、中止による入出区数合わせを行う。入出区中止による入出区数合わせ処理は、入出区数差分算出と同様、両線別の入出区を対象とする。
中止可能な入区または出区を検索時、運転整理システムの動作開始時刻から一定時間は、システムが提案した運転整理の確認作業等が必要となるため、一定時間を「入区中止不可能時間」、「出区中止不可能時間」としてシステム定数に定義する。本実施形態では、例えば“１０分”を「入区中止不可能時間」、例えば“１５分”を「出区中止不可能時間」として定義する。「入区中止不可能時間」、「出区中止不可能時間」は個別に調整可能とする。全面運転再開時刻に「入区中止不可能時間」を加えた時刻を入区中止可能時刻、全面運転再開時刻に「出区中止不可能時間」を加えた時刻を出区中止可能時刻とし、この入区中止可能時刻または出区中止可能時刻以降のダイヤに対し入出区中止の処理を行う。
【００８１】
具体的には、図１６に示すように、入出区中止による入出区数合わせ処理では、入出区の設定が可能な全駅に対して、駅毎にループＪの処理を行う（ステップＳ４０１〜Ｓ４０６）。すなわち、ループＪの処理とは、入出区の設定が可能な１つの駅について、ステップＳ４０２〜Ｓ４０５の処理を行った後、以後、入出区の設定が可能なその他の駅について、ステップＳ４０２〜Ｓ４０５の処理を同様に繰り返す処理のことである。
一の駅におけるループＪの処理では、当該一の駅の入区中止数が記憶されているか判定する（ステップＳ４０２）。
当該一の駅の入区中止数が記憶されている場合（ステップＳ４０２；ＹＥＳ）には、後述の入区中止処理（図１７）を実行して（ステップＳ４０３）、当該一の駅の出区中止数が記憶されているか判定する（ステップＳ４０４）。
一方、当該一の駅の入区中止数が記憶されていない場合（ステップＳ４０２；ＮＯ）には、入区中止処理（図１７）を実行せずに、当該一の駅の出区中止数が記憶されているか判定する（ステップＳ４０４）。
【００８２】
当該一の駅の出区中止数が記憶されている場合（ステップＳ４０４；ＹＥＳ）には、後述の出区中止処理（図１８）を実行して（ステップＳ４０５）、当該一の駅におけるループＪの処理を終了する。
一方、当該一の駅の出区中止数が記憶されていない場合（ステップＳ４０４；ＮＯ）には、出区中止処理（図１８）を実行せずに、当該一の駅におけるループＪの処理を終了する。
そして、入出区の設定が可能な全駅に対するループＪの処理が終了すると（ステップＳ４０６）、入出区中止による入出区数合わせ処理を終了する。
【００８３】
次に、前述の入区中止処理（ステップＳ４０３）の詳細について説明する。
図１７に示すように、入区中止処理では、両線別を対象として、入区中止可能時刻以降に到着する先頭の列車を検出する（ステップＳ４１１）。
次いで、ステップＳ４１１で検出した列車から当日終電までの全列車に対して、列車毎にループＫの処理を行う（ステップＳ４１２〜Ｓ４１７）。すなわち、ループＫの処理とは、ステップＳ４１１で検出した先頭到着列車について、Ｓ４１３〜Ｓ４１６の処理を行った後、当該次の列車について、ステップＳ４１３〜Ｓ４１６の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【００８４】
一の列車におけるループＫの処理では、順序ファイルを使用し、当該一の列車は入区列車か判定する（ステップＳ４１３）。
入区列車でない場合（ステップＳ４１３；ＮＯ）には、当該一の列車におけるループＫの処理を終了する。
一方、入区列車である場合（ステップＳ４１３；ＹＥＳ）には、当該一の列車は社員が設定した入区列車か判定する（ステップＳ４１４）。
社員が設定した入区列車である場合（ステップＳ４１４；ＹＥＳ）には、当該一の列車におけるループＫの処理を終了する。
一方、社員が設定した入区列車でない場合（ステップＳ４１４；ＮＯ）には、当該一の列車の入区中止を設定して（ステップＳ４１５）、入区中止数が終了か判定する（ステップＳ４１６）。具体的には、ステップＳ４１５で入区中止を設定した列車の本数が、入出区数差分算出処理（図７）のステップＳ２２２で記憶した当該一の駅の入区中止数に達した場合に、入区中止数が終了であると判定する。
【００８５】
入区中止数が終了である場合（ステップＳ４１６；ＹＥＳ）には、入区中止処理を終了する。
一方、入区中止数が終了でない場合（ステップＳ４１６；ＮＯ）には、当該一の列車におけるループＫの処理を終了する。
そして、ステップＳ４１１で検出した列車から当日終電までの全列車に対するループＫの処理が終了すると（ステップＳ４１７）、残った入区中止数を出区設定数に加算して（ステップＳ４１８）、入区中止処理を終了する。残った入区中止数を出区設定数に加算することによって、後の出区設定処理で出区を追加する。
【００８６】
次に、前述の出区中止処理（ステップＳ４０５）の詳細について説明する。
図１８に示すように、出区中止処理では、両線別を対象として、出区中止可能時刻以降に出発する先頭の列車を検出する（ステップＳ４２１）。
次いで、ステップＳ４２１で検出した列車から当日終電までの全列車に対して、列車毎にループＬの処理を行う（ステップＳ４２２〜Ｓ４２７）。すなわち、ループＬの処理とは、ステップＳ４２１で検出した先頭到着列車について、Ｓ４２３〜Ｓ４２６の処理を行った後、当該次の列車について、ステップＳ４２３〜Ｓ２６の処理を行い、以後、これを当日終電の列車まで同様に繰り返す処理のことである。
【００８７】
一の列車におけるループＬの処理では、順序ファイルを使用し、当該一の列車は出区列車か判定する（ステップＳ４２３）。
出区列車でない場合（ステップＳ４２３；ＮＯ）には、当該一の列車におけるループＬの処理を終了する。
一方、出区列車である場合（ステップＳ４２３；ＹＥＳ）には、当該一の列車は社員が設定した出区列車か判定する（ステップＳ４２４）。
社員が設定した出区列車である場合（ステップＳ４２４；ＹＥＳ）には、当該一の列車におけるループＬの処理を終了する。
一方、社員が設定した出区列車でない場合（ステップＳ４２４；ＮＯ）には、当該一の列車の出区中止を設定して（ステップＳ４２５）、出区中止数が終了か判定する（ステップＳ４２６）。具体的には、ステップＳ４２５で出区中止を設定した列車の本数が、入出区数差分算出処理（図７）のステップＳ２１８で記憶した当該一の駅の出区中止数に達した場合に、出区中止数が終了であると判定する。
【００８８】
出区中止数が終了である場合（ステップＳ４２６；ＹＥＳ）には、出区中止処理を終了する。
一方、出区中止数が終了でない場合（ステップＳ４２６；ＮＯ）には、当該一の列車におけるループＬの処理を終了する。
そして、ステップＳ４２１で検出した列車から当日終電までの全列車に対するループＬの処理が終了すると（ステップＳ４２７）、残った出区中止数を入区設定数に加算して（ステップＳ４２８）、出区中止処理を終了する。残った出区中止数を入区設定数に加算することによって、後の入区設定処理で入区を追加する。
【００８９】
次に、前述の運行変更による未整理解消処理（ステップＳ１５）の詳細について説明する。
折返設定の方向は駅毎に決まっているため、駅によっては、区間運休により折返変更で解消できない運用未整理が発生する場合がある。これを解消するために、運用未定の列車を運休してしまうと、列車本数が少ない区間では輸送力不足となる可能性がある。そこで、運行変更による未整理解消処理によって、運行変更が可能な場合は運行変更による運用未整理解消を行う。
運行変更が可能な場合でも、相手列車となる直前列車または直後列車が途中駅の場合は、更に運用未定が発生し運行変更を行うことになる。この連続する運行変更の許容列車本数をシステム定数に「連続運行変更許容数」として定義し、これを超える場合は運行変更による未整理解消をあきらめ、当初の運用未定列車を運休し、同時に本数合わせのため、対向の列車も×切運休する。本実施形態では、例えば“３本”を「連続運行変更許容数」として定義する。「連続運行変更許容数」は調整可能とする。
【００９０】
具体的には、図１９に示すように、運行変更による未整理解消処理では、運行変更の対象となる全駅に対して、駅毎にループＭの処理を行う（ステップＳ５０１〜Ｓ５０９）。すなわち、ループＭの処理とは、運行変更の対象となる駅について、ステップＳ５０２〜Ｓ５０８の処理を行った後、以後、運行変更の対象となるその他の駅について、ステップＳ５０２〜Ｓ５０８の処理を同様に繰り返す処理のことである。
一の駅におけるループＭの処理では、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対して、列車毎にループＮの処理を行う（ステップＳ５０２〜Ｓ５０８）。すなわち、ループＮの処理とは、最新運済列車の次の列車について、ステップＳ５０３〜Ｓ５０７の処理を行った後、以後、当日終電までの全列車について、ステップＳ５０３〜Ｓ５０７の処理を同様に繰り返す処理のことである。
【００９１】
一の列車におけるループＮの処理では、運行変更対象の運用未定列車を検出して（ステップＳ５０３）、当該一の列車は運行変更対象の運用未定列車か判定する（ステップＳ５０４）。
当該一の列車が運行変更対象の運用未定列車でない場合（ステップＳ５０４；ＮＯ）には、当該一の列車におけるループＮの処理を終了する。
一方、当該一の列車が運行変更対象の運用未定列車である場合（ステップＳ５０４；ＹＥＳ）には、当該運用未定列車を判断する（ステップＳ５０５）。
【００９２】
当該運用未定列車が前運用未定である場合（ステップＳ５０５；前運用未定）には、後述の前運用未定の運行変更処理（図２０）を実行して（ステップＳ５０６）、当該一の列車におけるループＮの処理を終了する。
また、当該運用未定列車が後運用未定である場合（ステップＳ５０５；後運用未定）には、後述の後運用未定の運行変更処理（図２１）を実行して（ステップＳ５０７）、当該一の列車におけるループＮの処理を終了する。
そして、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対するループＮの処理が終了すると（ステップＳ５０８）、当該一の駅におけるループＮの処理を終了する。
そして、運行変更の対象となる全駅に対するループＭの処理が終了すると（ステップＳ５０９）、運行変更による未整理解消処理を終了する。
【００９３】
次に、前述の前運用未定の運行変更処理（ステップＳ５０６）の詳細について説明する。
図２０に示すように、前運用未定の運行変更処理では、連続運行変更許容数分、ループＯの処理を行う（ステップＳ５１１〜Ｓ５１５）。
ループＯの処理では、直前に到着する列車を前運用列車とする運行変更を仮設定して（ステップＳ５１２）、直前に到着する列車（相手列車）は当該一の駅を終着駅とする終着列車（当該一の駅以降で後運休の列車も含む）か判定する（ステップＳ５１３）。
終着列車でない場合（ステップＳ５１３；ＮＯ）には、前運用未定となるため、さらにその直前に到着する列車を前運用列車とする運行変更を仮設定して（ステップＳ５１４）、ステップＳ５１２の処理に戻る。
すなわち、ループＯの処理においては、前運用列車に当該一の駅を終着駅とする終着列車が現われるまで、連続運行変更許容数を上限に、Ｓ５１２〜Ｓ５１４の処理を繰り返す。
【００９４】
そして、ループＯの処理で、前運用列車に当該一の駅を終着駅とする終着列車が現われなかった場合には、全ての運行変更を無効として、当初の運用未定列車の終着駅までの運休を設定し（ステップＳ５１６）、本数合わせのため対向列車の×切運休を設定して（ステップＳ５１７）、前運用未定の運行変更処理を終了する。
一方、ループＯの処理で、前運用列車に当該一の駅を終着駅とする終着列車が現われた場合（ステップＳ５１３；ＹＥＳ）には、仮設定していた運行変更を本設定とし（ステップＳ５１８）、終着列車（前運用列車）が入区列車の場合、別列車に入区を設定する必要があるため、入区設定数を＋１更新して（ステップＳ５１９）、前運用未定の運行変更処理を終了する。入区設定数を＋１更新することによって、後の入出区設定による数合わせ処理で入区を追加する。
【００９５】
次に、前述の後運用未定の運行変更処理（ステップＳ５０７）の詳細について説明する。
図２１に示すように、後運用未定の運行変更処理では、連続運行変更許容数分、ループＰの処理を行う（ステップＳ５２１〜Ｓ５２５）。
ループＰの処理では、直後に出発する列車を後運用列車とする運行変更を仮設定して（ステップＳ５２２）、直後に出発する列車（相手列車）は当該一の駅を始発駅とする始発列車（当該一の駅まで前運休の列車も含む）か判定する（ステップＳ５２３）。
始発列車でない場合（ステップＳ５２３；ＮＯ）には、後運用未定となるため、さらにその直後に出発する列車を後運用列車とする運行変更を仮設定して（ステップＳ５２４）、ステップＳ５２２の処理に戻る。
すなわち、ループＰの処理においては、後運用列車に当該一の駅を始発駅とする始発列車が現われるまで、連続運行変更許容数を上限に、Ｓ５２２〜Ｓ５２４の処理を繰り返す。
【００９６】
そして、ループＰの処理で、後運用列車に当該一の駅を始発駅とする始発列車が現われなかった場合には、全ての運行変更を無効として、当初の運用未定列車の始発駅からの運休を設定し（ステップＳ５２６）、本数合わせのため対向列車の×切運休を設定して（ステップＳ５２７）、後運用未定の運行変更処理を終了する。
一方、ループＰの処理で、後運用列車に当該一の駅を始発駅とする始発列車が現われた場合（ステップＳ５２３；ＹＥＳ）には、仮設定していた運行変更を本設定とし（ステップＳ５２８）、始発列車（後運用列車）が出区列車の場合、別列車に出区を設定する必要があるため、出区設定数を＋１更新して（ステップＳ５２９）、後運用未定の運行変更処理を終了する。出区設定数を＋１更新することによって、後の入出区設定による数合わせ処理で出区を追加する。
【００９７】
例えば図２２に示すように、初動整理で、区間［５］〜［２］における「６３Ｂ」が運休に変更された場合、区間［１］における「６３Ｂ」は前運用未定となる。したがって、運行変更対象駅であるｆ駅における「６３Ｂ」に対する前運用未定の運行変更処理において、「６３Ｂ」の直前にｆ駅に到着する「６２Ｂ」を、区間［１］における「６３Ｂ」の前運用列車とする運行変更を仮設定する。「６２Ｂ」はｆ駅を終着駅とする終着列車ではなく、区間［１］における「６２Ｂ」は前運用未定となるため、さらにその直前にｆ駅に到着する「６１Ｂ」を、区間［１］における「６２Ｂ」の前運用列車とする運行変更を仮設定する。「６１Ｂ」はｆ駅を終着駅とする終着列車であるため、これらの仮設定を本設定とする。
【００９８】
また、例えば図２２に示すように、初動整理で、区間［２］〜［５］における「６５Ｂ」が運休に変更された場合、区間［１］における「６５Ｂ」は後運用未定となる。したがって、運行変更対象駅であるｆ駅における「６５Ｂ」に対する後運用未定の運行変更処理において、「６５Ｂ」の直後にｆ駅を出発する「６６Ｂ」を、区間［１］における「６５Ｂ」の後運用列車とする運行変更を仮設定する。「６６Ｂ」はｆ駅を始発駅とする始発列車ではなく、区間［１］における「６６Ｂ」は後運用未定となるため、さらにその直後にｆ駅を出発する「６７Ｂ」を、区間［１］における「６６Ｂ」の後運用列車とする運行変更を仮設定する。「６７Ｂ」はｆ駅を始発駅とする始発列車ではなく、区間［１］における「６７Ｂ」は後運用未定となるため、さらにその直後にｆ駅を出発する「６８Ｂ」を、区間［１］における「６７Ｂ」の後運用列車とする運行変更を仮設定するが、「６８Ｂ」はｆ駅を始発駅とする始発列車ではない。よって、連続運行変更許容数（本実施形態の場合「３回」）を上限にループＰの処理を繰り返しても、後運用列車に当該一の駅を始発駅とする始発列車が現われなかったので、全ての運行変更を無効として、当初の運用未定列車（区間［１］における「６５Ｂ」）の始発駅（ａ駅）からの運休を設定し、本数合わせのため対向列車である「６４Ｂ（区間［１］のみ）」の×切運休を設定する。
【００９９】
次に、前述の入出区設定による未整理解消処理（ステップＳ１６）の詳細について説明する。
入出区設定による未整理解消処理では、これまでの処理で記憶した入区設定数または出区設定数がある（所定ダイヤより入区数または出区数が減っている）場合、所定ダイヤに近づけるため、設定による入出区数合わせを行う。入出区設定は、駅毎に定義した線別のみ対象とする。
入区中止処理と同様、入区または出区の設定時、運転整理システムの動作開始時刻から一定時間は、システムが提案した運転整理の確認作業等が必要となるため、一定時間を「入区設定不可能時間」、「出区設定不可能時間」としてシステム定数に定義する。本実施形態では、例えば“２０分”を「入区設定不可能時間」、例えば“２５分”を「出区設定不可能時間」として定義する。「入区設定不可能時間」、「出区設定不可能時間」は個別に調整可能とする。全面運転再開時刻に「入区設定不可能時間」を加えた時刻を入区設定可能時刻、全面運転再開時刻に「出区設定不可能時間」を加えた時刻を出区設定可能時刻とし、この入区設定可能時刻または出区設定可能時刻以降のダイヤに対し入出区設定の処理を行う。
【０１００】
具体的には、図２３に示すように、入出区設定による未整理解消処理では、入出区の設定が可能な全駅に対して、駅毎にループＱの処理を行う（ステップＳ６０１〜Ｓ６０６）。すなわち、ループＱの処理とは、入出区の設定が可能な１つの駅について、ステップＳ６０２〜Ｓ６０５の処理を行った後、以後、入出区の設定が可能なその他の駅について、ステップＳ６０２〜Ｓ６０５の処理を同様に繰り返す処理のことである。
一の駅におけるループＱの処理では、当該一の駅の入区設定数が記憶されているか判定する（ステップＳ６０２）。
当該一の駅の入区設定数が記憶されている場合（ステップＳ６０２；ＹＥＳ）には、後述の入区設定処理（図２４）を実行して（ステップＳ６０３）、当該一の駅の出区設定数が記憶されているか判定する（ステップＳ６０４）。
一方、当該一の駅の入区設定数が記憶されていない場合（ステップＳ６０２；ＮＯ）には、入区設定処理（図２４）を実行せずに、当該一の駅の出区設定数が記憶されているか判定する（ステップＳ６０４）。
【０１０１】
当該一の駅の出区設定数が記憶されている場合（ステップＳ６０４；ＹＥＳ）には、後述の出区設定処理（図２６）を実行して（ステップＳ６０５）、当該一の駅におけるループＱの処理を終了する。
一方、当該一の駅の出区設定数が記憶されていない場合（ステップＳ６０４；ＮＯ）には、出区設定処理（図２６）を実行せずに、当該一の駅におけるループＱの処理を終了する。
そして、入出区の設定が可能な全駅に対するループＱの処理が終了すると（ステップＳ６０６）、入出区設定による未整理解消処理を終了する。
【０１０２】
次に、前述の入区設定処理（ステップＳ６０３）の詳細について説明する。
これまでの処理で記憶した入区設定数がある場合、入区設定処理を行う。入区設定は、仮に折返でつないだ時の停車時間が一定時間以上となる場合を優先とする。一定時間は、「入区設定停車時間」としてシステム定数に定義する。また、「入出区間隔」をシステム定数に定義し、前後の入出区との間隔が「入出区間隔」未満となる場合は、入区設定不可とする。本実施形態では、例えば“１５分”を「入区設定停車時間」、例えば“５分”を「入出区間隔」として定義する。「入区設定停車時間」、「入出区間隔」は調整可能とする。
【０１０３】
具体的には、図２４に示すように、入区設定処理では、先頭の運用未定列車を検出して、折返となる相手列車を決定する（ステップＳ６１１）。
先頭の運用未定列車が後運用未定の場合、その列車を前運用、次に始発する列車（出区列車を除く）を後運用とする。
また、先頭の運用未定列車が前運用未定の場合、その列車を後運用、次に終着する列車（入区列車を除く）を前運用とする。
決定した前運用列車の到着時刻が入区設定可能時刻以前の場合は、順に折返設定した場合に前運用列車が入区設定可能となる先頭の折返列車を決定する。
【０１０４】
次いで、決定した折返列車の停車時間は入区設定停車時間以上か判定する（ステップＳ６１２）。
入区設定停車時間以上でない場合（ステップＳ６１２；ＮＯ）には、次の折返列車を決定する（ステップＳ６１６）。
一方、入区設定停車時間以上である場合（ステップＳ６１２；ＹＥＳ）には、前後の入出区列車との間隔は入出区間隔以上か判定する（ステップＳ６１３）。
【０１０５】
入出区間隔以上でない場合（ステップＳ６１３；ＮＯ）には、次の折返列車を決定する（ステップＳ６１６）。
一方、入出区間隔以上である場合（ステップＳ６１３；ＹＥＳ）には、前運用列車に入区を設定して（ステップＳ６１４）、入区設定数が終了か判定する（ステップＳ６１５）。具体的には、ステップＳ６１４で入区を設定した列車の本数が、これまでの処理で記憶した当該一の駅の入区設定数に達した場合に、入区設定数が終了であると判定する。
入区設定数が終了である場合（ステップＳ６１５；ＹＥＳ）には、入区設定処理を終了する。
一方、入区設定数が終了でない場合（ステップＳ６１５；ＮＯ）には、次の折返列車を決定する（ステップＳ６１６）。
【０１０６】
次いで、ステップＳ６１６にて次の折返列車を決定できなかったか判定する（ステップＳ６１７）。
次の折返列車を決定できた場合（ステップＳ６１７；ＮＯ）には、ステップＳ６１２の処理に戻る。
一方、次の折返列車を決定できなかった場合（ステップＳ６１７；ＹＥＳ）、すなわち次の折返列車が存在しない（終電まで処理終了）場合には、入区の設定が可能な先頭の終着列車から、前後の入出区列車との間隔が入出区間隔以上となる終着列車に順に入区を設定して（ステップＳ６１８）、入区設定処理を終了する。
【０１０７】
例えば、図２５に示すように、初動整理で、「７２Ｂ」，「７６Ｂ」，「７８Ｂ」，「７９Ｂ」が運休に変更されたとする。したがって、入出区設定可能駅であるｆ駅に対する入区設定処理において、先頭の運用未定列車として「７１Ｂ」が検出され、「７１Ｂ」は後運用未定であるので、折返となる相手列車として「７１Ｂ」のｆ駅到着の次にｆ駅を始発する「７４Ｂ」を決定する。「７１Ｂ」のｆ駅到着から「７４Ｂ」のｆ駅出発までの時間は入区設定停車時間以上ではないので、入区を設定せずに、次の折返列車を決定する。
その際、次の運用未定列車として「７３Ｂ」が検出される。「７３Ｂ」の当初の相手列車（後運用列車）は「７４Ｂ」であるが、「７４Ｂ」は「７１Ｂ」の相手列車（後運用列車）になったため、「７３Ｂ」が次の運用未定列車として検出される。そして、「７３Ｂ」は後運用未定であるので、折返となる相手列車として「７３Ｂ」のｆ駅到着の次にｆ駅を始発する「８０Ｂ」を決定する。「７３Ｂ」のｆ駅到着から「８０Ｂ」のｆ駅出発までの時間は入区設定停車時間以上であり、「７３Ｂ」は前後の入出区列車との間隔が入出区間隔以上であるので、前運用列車である「７３Ｂ」に入区を設定する。
【０１０８】
次に、前述の出区設定処理（ステップＳ６０５）の詳細について説明する。
これまでの処理で記憶した出区設定数がある場合、出区設定処理を行う。出区設定は、仮に折返でつないだ時の停車時間が一定時間未満（着発時刻逆転はマイナス）となる場合を優先とする。一定時間は、「出区設定停車時間」としてシステム定数に定義する。また、「入出区間隔」をシステム定数に定義し、前後の入出区との間隔が「入出区間隔」未満となる場合は、出区設定不可とする。本実施形態では、例えば“１０分”を「出区設定停車時間」、例えば“５分”を「入出区間隔」として定義する。「出区設定停車時間」、「入出区間隔」は調整可能とする。
【０１０９】
具体的には、図２６に示すように、出区設定処理では、先頭の運用未定列車を検出して、折返となる相手列車を決定する（ステップＳ６２１）。
先頭の運用未定列車が後運用未定の場合、その列車を前運用、次に始発する列車（出区列車を除く）を後運用とする。
また、先頭の運用未定列車が前運用未定の場合、その列車を後運用、次に終着する列車（入区列車を除く）を前運用とする。
決定した後運用列車の出発時刻が出区設定可能時刻以前の場合は、順に折返設定した場合に後運用列車が出区設定可能となる先頭の折返列車を決定する。
【０１１０】
次いで、決定した折返列車の停車時間は出区設定停車時間未満か判定する（ステップＳ６２２）。
出区設定停車時間未満でない場合（ステップＳ６２２；ＮＯ）には、次の折返列車を決定する（ステップＳ６２６）。
一方、出区設定停車時間未満である場合（ステップＳ６２２；ＹＥＳ）には、前後の入出区列車との間隔が入出区間隔以上か判定する（ステップＳ６２３）。
【０１１１】
入出区間隔以上でない場合（ステップＳ６２３；ＮＯ）には、次の折返列車を決定する（ステップＳ６２６）。
一方、入出区間隔以上である場合（ステップＳ６２３；ＹＥＳ）には、後運用列車に出区を設定して（ステップＳ６２４）、出区設定数が終了か判定する（ステップＳ６２５）。具体的には、ステップＳ６２４で出区を設定した列車の本数が、これまでの処理で記憶した当該一の駅の出区設定数に達した場合に、出区設定数が終了であると判定する。
出区設定数が終了である場合（ステップＳ６２５；ＹＥＳ）には、出区設定処理を終了する。
一方、出区設定数が終了でない場合（ステップＳ６２５；ＮＯ）には、次の折返列車を決定する（ステップＳ６２６）。
【０１１２】
次いで、ステップＳ６２６にて次の折返列車を決定できなかったか判定する（ステップＳ６２７）。
次の折返列車を決定できた場合（ステップＳ６２７；ＮＯ）には、ステップＳ６２２の処理に戻る。
一方、次の折返列車を決定できなかった場合（ステップＳ６２７；ＹＥＳ）、すなわち次の折返列車が存在しない（終電まで処理終了）場合には、出区の設定が可能な先頭の始発列車から、前後の入出区列車との間隔が入出区間隔以上となる始発列車に順に出区を設定して（ステップＳ６２８）、出区設定処理を終了する。
【０１１３】
例えば、図２７に示すように、初動整理で、「７２Ｂ」，「７３Ｂ」，「７９Ｂ」が運休に変更されたとする。したがって、入出区設定可能駅であるｆ駅に対する出区設定処理において、先頭の運用未定列車として「７１Ｂ」が検出され、「７１Ｂ」は後運用未定であるので、折返となる相手列車として「７１Ｂ」のｆ駅到着の次にｆ駅を始発する「７４Ｂ」を決定する。「７１Ｂ」のｆ駅到着から「７４Ｂ」のｆ駅出発までの時間は出区設定停車時間未満ではないので、出区を設定せずに、次の折返列車を決定する。
その際、次の運用未定列車として「８０Ｂ」が検出され、「８０Ｂ」は前運用未定であるので、折返となる相手列車として「８０Ｂ」のｆ駅出発の次にｆ駅に終着する「８１Ｂ」を決定する。「８１Ｂ」のｆ駅到着から「８０Ｂ」のｆ駅出発までの時間は出区設定停車時間未満（発着時刻が逆転しているのでマイナス）であり、「８０Ｂ」は前後の入出区列車との間隔が入出区間隔以上であるので、後運用列車である「８０Ｂ」に出区を設定する。
【０１１４】
次に、前述の折返変更による未整理解消処理（ステップＳ１７）の詳細について説明する。
折返変更による未整理解消処理では、折返可能駅で、これまでの処理で残った先頭の運用未定列車から順に折返変更でつなぎ変えを行う。入区または出区が設定されている列車は折返対象としない。
【０１１５】
具体的には、図２８に示すように、折返変更による未整理解消処理では、折返変更の対象となる全駅に対して、駅毎にループＲの処理を行う（ステップＳ７０１〜Ｓ７０８）。すなわち、ループＲの処理とは、折返変更の対象となる１つの駅について、ステップ７０２〜Ｓ７０７の処理を行った後、以後、折返変更の対象となるその他の駅について、ステップＳ７０２〜Ｓ７０７の処理を同様に繰り返す処理のことである。
一の駅におけるループＲの処理では、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対して、列車毎にループＴの処理を行う（ステップＳ７０２〜Ｓ７０７）。すなわち、ループＴの処理とは、最新運済列車の次の列車について、ステップＳ７０３〜Ｓ７０６の処理を行った後、以後、当日終電までの全列車について、ステップＳ７０３〜Ｓ７０６の処理を同様に繰り返す処理のことである。
一の列車におけるループＴの処理では、当該一の列車は運用未定列車か判定する（ステップＳ７０３）。
運用未定列車でない場合（ステップＳ７０３；ＮＯ）には、当該一の列車におけるループＴの処理を終了する。
一方、運用未定列車である場合（ステップＳ７０３；ＹＥＳ）には、当該運用未定列車を判断する（ステップＳ７０４）。
【０１１６】
当該運用未定列車が後運用未定である場合（ステップＳ７０４；後運用未定）には、次に始発する列車を後運用にして折返変更を設定し（ステップＳ７０５）、当該一の列車におけるループＴの処理を終了する。ただし、次に始発する列車の前運用が後運用未定列車以前に到着する列車である場合、その次に始発する列車を後運用とする。
また、当該運用未定列車が前運用未定である場合（ステップＳ７０４；前運用未定）には、次に終着する列車を前運用にして折返変更を設定し（ステップＳ７０６）、当該一の列車におけるループＴの処理を終了する。なお、時刻逆転は考慮しない。
そして、当該一の駅での最新運済列車の次の列車から当日終電までの全列車に対するループＴの処理が終了すると（ステップＳ７０７）、当該一の駅におけるループＲの処理を終了する。
そして、折返変更の対象となる全駅に対するループＲの処理が終了すると（ステップＳ７０８）、折返変更による未整理解消処理を終了する。
【０１１７】
例えば、図２９（ａ）に示すように、初動整理で、区間［１］における「６Ｂ」が運休に変更されたとする。したがって、折返変更対象駅であるｆ駅における「６Ｂ」に対するループＴの処理において、「６Ｂ」は後運用未定であると判断される。「６Ｂ」のｆ駅到着の次にｆ駅を始発する「３３Ｂ」は、前運用（「２６Ｂ」）が「６Ｂ」以前にｆ駅に到着する列車であるので、「３３Ｂ」の次にｆ駅を始発する「３５Ｂ」を、「６Ｂ」の後運用列車とする。そして、運用未定列車がなくなるまで、当該処理を繰り返す。
また、例えば、図２９（ｂ）に示すように、初動整理で、「３４Ｂ」が運休に変更されたとする。したがって、折返変更対象駅であるｆ駅における「４１Ｂ」に対するループＴの処理において、「４１Ｂ」は前運用未定であると判断され、「４１Ｂ」のｆ駅出発の次にｆ駅に終着する「３６Ｂ」を、「４１Ｂ」の前運用列車とする。そして、運用未定列車がなくなるまで、当該処理を繰り返す。
【０１１８】
以上説明した本実施形態の運転整理案作成方法によれば、社員が輸送障害発生時の初動対処として行った初動整理で増減した第一方向（本実施形態の場合、Ａ線）および当該第一方向とは逆の第二方向（本実施形態の場合、Ｂ線）の列車本数を区間毎に検出して、当該第一方向の列車増減本数と当該第二方向の列車増減本数との差分を算出する列車本数差分算出ステップ（ステップＳ１１）と、初動整理で増減した入区数および出区数を駅毎に検出して、入区増減数と出区増減数との差分を算出し、当該入区増減数よりも当該出区増減数の方が少なく、当該入区増減数が０より大きい場合には、当該差分を入区中止数として記憶し、当該入区増減数よりも当該出区増減数の方が多く、当該出区増減数が０より大きい場合には、当該差分を出区中止数として記憶する入出区数差分算出ステップ（ステップＳ１２）と、列車本数差分算出ステップ（ステップＳ１１）における算出結果に基づいて第一方向の列車増減本数と第二方向の列車増減本数とに差があるか否か判定し、差があると判定した場合に、当該差がなくなるまで列車本数が多い方向の列車の運休を設定する列車本数合わせステップ（ステップＳ１３）と、入区中止数が記憶されている場合は、入区数が所定数（本実施形態の場合、所定ダイヤの入区数）よりも増えているため、入区数が当該所定数に近づくよう入区の中止を設定し、出区中止数が記憶されている場合は、出区数が所定数（本実施形態の場合、所定ダイヤの出区数）よりも増えているため、出区数が当該所定数に近づくよう出区の中止を設定する入出区数合わせステップ（ステップＳ１４）と、を行い、列車本数合わせステップ（ステップＳ１３）および入出区数合わせステップ（ステップＳ１４）の後に、前運用列車および後運用列車の少なくとも一方が未定の運用未定列車の存在を解消する運用未整理解消ステップ（ステップＳ１５〜Ｓ１７）を行って、運用未定列車の存在が解消された状態にしてから遅延回復のための運転計画変更案である運転整理案を作成するように構成されている。
【０１１９】
したがって、運用未整理のない運転整理案を作成することができる。
【０１２０】
また、本実施形態の運転整理案作成方法によれば、運用未整理解消ステップでは、前運用列車が未定の前運用未定列車の直前に到着する列車を、当該前運用未定列車の前運用列車とする運行変更を行い、後運用列車が未定の後運用未定列車の直後に出発する列車を、当該後運用未定列車の後運用列車とする運行変更を行う運行変更による未整理解消処理（ステップＳ１５）を実行するように構成することが可能である。
【０１２１】
このように構成することによって、輸送力不足となることなく、運用未整理を解消することができる。
【０１２２】
また、本実施形態の運転整理案作成方法によれば、入出区数差分算出ステップ（ステップＳ１２）では、さらに、入区増減数よりも出区増減数の方が少なく、入区増減数が０以下である場合には、入区増減数と出区増減数との差分を出区設定数として記憶し、入区増減数よりも出区増減数の方が多く、出区増減数が０以下である場合には、入区増減数と出区増減数との差分を入区設定数として記憶し、運用未整理解消ステップでは、入区設定数が記憶されている場合は、入区数が所定数（本実施形態の場合、所定ダイヤの入区数）よりも減っているため、入区数が当該所定数に近づくよう入区を設定し、出区設定数が記憶されている場合は、出区数が所定数（本実施形態の場合、所定ダイヤの出区数）よりも減っているため、出区数が当該所定数に近づくよう出区を設定する入出区設定による未整理解消処理（ステップＳ１６）を実行するように構成することが可能である。
【０１２３】
このように構成することによって、運用未整理を解消しつつ、入出区数を所定数（本実施形態の場合、所定ダイヤの入出区数）に近づけることができる。
【０１２４】
また、本実施形態の運転整理案作成方法によれば、運用未整理解消ステップでは、先頭の運用未定列車が、後運用列車が未定の後運用未定列車である場合、次に始発する列車を当該後運用未定列車の後運用列車とする折返変更を行い、先頭の運用未定列車が、前運用列車が未定の前運用未定列車である場合、次に終着する列車を当該前運用未定列車の前運用列車とする折返変更を行う折返変更による未整理解消処理（ステップＳ１７）を実行するように構成することが可能である。
【０１２５】
このように構成することによって、確実に運用未整理を解消することができる。
【０１２６】
なお、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。また、前述の実施形態の各構成を組み合わせて適用しても良い。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２７】
１  運転整理案作成装置
【図１】
0006514913.tif 000002
【図２】
0006514913.tif 000003
【図３】
0006514913.tif 000004
【図４】
0006514913.tif 000005
【図５】
0006514913.tif 000006
【図６】
0006514913.tif 000007
【図７】
0006514913.tif 000008
【図８】
0006514913.tif 000009
【図９】
0006514913.tif 000010
【図１０】
0006514913.tif 000011
【図１１】
0006514913.tif 000012
【図１２】
0006514913.tif 000013
【図１３】
0006514913.tif 000014
【図１４】
0006514913.tif 000015
【図１５】
0006514913.tif 000016
【図１６】
0006514913.tif 000017
【図１７】
0006514913.tif 000018
【図１８】
0006514913.tif 000019
【図１９】
0006514913.tif 000020
【図２０】
0006514913.tif 000021
【図２１】
0006514913.tif 000022
【図２２】
0006514913.tif 000023
【図２３】
0006514913.tif 000024
【図２４】
0006514913.tif 000025
【図２５】
0006514913.tif 000026
【図２６】
0006514913.tif 000027
【図２７】
0006514913.tif 000028
【図２８】
0006514913.tif 000029
【図２９】
0006514913.tif 000030