(57)【要約】【課題】異なる鉄道会社の車両や線区を利用して相互直通運転を行う場合に、適切な運転整理業務を支援する。【解決手段】運転整理業務支援装置は、複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を予測する運行予測手段と、複数の鉄道会社が相互直通運転する列車の各線区において、前記運行予測手段に予測された前記列車ダイヤの列車走行距離を平準化した列車ダイヤを求める列車走行距離平準化手段と、前記列車走行距離平準化手段により求められた前記列車ダイヤを操作者に提案する提案手段と、を備える。【選択図】図２
2015202731.tif 000002
【特許請求の範囲】
【請求項１】
複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を予測する運行予測手段と、
複数の鉄道会社が相互直通運転する列車の各線区において、前記運行予測手段に予測された前記列車ダイヤの列車走行距離を平準化した列車ダイヤを求める列車走行距離平準化手段と、
前記列車走行距離平準化手段により求められた前記列車ダイヤを操作者に提案する提案手段と、
を備えることを特徴とする、運転整理業務支援装置。
【請求項２】
前記列車走行距離平準化手段は、
前記運行予測手段により予測された相互直通運転における列車ダイヤにおいて、車両を保有する鉄道会社と線区を保有する鉄道会社とが異なる場合に、線区を保有する鉄道会社単位、かつ、車両を保有する鉄道会社単位で線区を走行する列車の列車走行距離を算出し、前記算出された列車走行距離が鉄道会社間で平準化するように列車ダイヤを求める
ことを特徴とする、請求項１に記載の運転整理業務支援装置。
【請求項３】
第１の鉄道会社が保有する第１の線区を、第２の鉄道会社が保有する第２の車両が走行し、第２の鉄道会社が保有する第２の線区を、第１の鉄道会社が保有する第１の車両が走行する場合に、
前記列車走行距離平準化手段は、前記第１の線区を走行する前記第２の車両の列車走行距離と、前記第２の線区を走行する前記第１の車両の列車走行距離との列車走行距離差を算出し、前記算出された列車走行距離差が前記第１の鉄道会社と前記第２の鉄道会社との間で平準化するように列車ダイヤを求める
ことを特徴とする、請求項２に記載の運転整理業務支援装置。
【請求項４】
前記列車走行距離平準化手段は、
前記第１の線区を走行する前記第２の車両の列車走行距離と、前記第２の線区を走行する前記第１の車両の列車走行距離との第１の列車走行距離差を算出し、
前記第１の車両に含まれる列車ダイヤ変更可能な第１の列車の走行距離と、前記第２の車両に含まれる列車ダイヤ変更可能な第２の列車の走行距離との第２の列車走行距離差を算出し、
前記第１の列車走行距離差と前記第２の列車走行距離差とが同符号であり、かつ、前記第１の列車走行距離差の絶対値が前記第２の列車走行距離差の絶対値の２倍よりも大きい場合に、列車走行距離差が改善すると判断する
ことを特徴とする、請求項３に記載の運転整理業務支援装置。
【請求項５】
前記提案手段は、
提案内容設定画面を備え、
前記提案内容設定画面に前記操作者の入力により前記提案した列車ダイヤを実行するかを選択させる選択画面を表示する
ことを特徴とする、請求項１〜４のいずれかに記載の運転整理業務支援装置。
【請求項６】
前記列車走行距離平準化手段は、
前記列車の走行可能な線区を示す車両運用条件情報をもとに、一の鉄道会社が保有する車両が、他の鉄道会社が保有する線区上を走行可能か判断して、前記列車ダイヤの列車走行距離を平準化した列車ダイヤを求める
ことを特徴とする、請求項１〜５のいずれかに記載の運転整理業務支援装置。
【請求項７】
前記提案手段は、
前記提案内容設定画面に前記操作者の入力により前記車両運用状況情報を考慮して列車走行距離を平準化するかを選択させる選択画面を表示する
ことを特徴とする、請求項６に記載の運転整理業務支援装置。
【請求項８】
列車走行距離平準化手段は、
前記運行予測手段に予測された前記列車ダイヤの列車走行距離を平準化して列車ダイヤを求める際に、列車の遅延量が低減するように該列車ダイヤを求める
ことを特徴とする、請求項１〜７のいずれかに記載の運転整理業務支援装置。
【請求項９】
前記提案手段は、
前記提案内容設定画面に前記操作者の入力により前記列車の遅延量を考慮して列車走行距離を平準化するかを選択させる選択画面を表示する
ことを特徴とする、請求項８に記載の運転整理業務支援装置。
【請求項１０】
複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を支援する運転整理業務支援装置における運転整理業務支援方法であって、
複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を予測する第１のステップと、
前記運行予測手段により予測された相互直通運転における列車ダイヤにおいて、車両を保有する鉄道会社と線区を保有する鉄道会社とが異なる場合に、線区を保有する鉄道会社単位、かつ、車両を保有する鉄道会社単位で線区を走行する列車の列車走行距離を算出する第２のステップと、
前記算出された列車走行距離が鉄道会社間で平準化するように列車ダイヤを求める第３のステップと、
を含むことを特徴とする、運転整理業務支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転整理業務支援装置及び運転整理業務支援方法に関し、列車走行距離を平準化して運転整理を実行する運転整理業務支援装置及び運転整理業務支援方法に適用して好適なるものである。
【背景技術】
【０００２】
特許文献１には、「大規模な列車運行の乱れが発生した場合に、当日ダイヤへの復旧を速やかに行う」ことを目的とする列車運行管理システムとして、「当日ダイヤ及び最新の在線状況データに基づいて各列車に対してシミュレーションし、この仮シミュレーション結果と予め入力されたダイヤ作成判断ルールに基づいて列車運用を決定し、登録された列車のすべてが終着駅に到着するまでシミュレーションを繰り返し実行して復旧ダイヤを作成して、終着駅で復旧ダイヤと当日ダイヤとを接続する。また、終着駅で復旧ダイヤの列車を割り当てた後に到着する列車がある場合に、終着駅から車庫までの回送ダイヤを作成して車庫に回送する。」ことが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１３２８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ある鉄道会社が保有する車両が別の鉄道会社が保有する線区を走行する、相互直通運転を実施する際には、線区保有会社が車両保有会社に対して列車走行距離に応じた車両使用料を支払う必要があり、各社はこの車両使用料支払いを低減すべく、列車走行距離の平準化を実施する必要がある。この場合、列車走行距離を考慮せずに列車運用を変更すると、各社の列車走行距離が平準化されなくなる可能性がある。
【０００５】
しかし、上記した特許文献１では、列車走行距離の平準化について演算し判断する手段が用意されていない。また、相互直通運転では、列車運用を変更する際に、どの車両がどの線区を走行可能かを示す車両運用条件を考慮して運用変更を実施しなければならないが、上記特許文献１では、この車両運用条件について判断する手段が用意されていない。また、列車の遅延量を低減することを目的として運転整理が実施される場合があるが、上記特許文献１では、この遅延量低減について演算し判断する手段が用意されていない。運転整理業務に不慣れな指令員が、上記した運転整理を実行するのは困難であり、異なる鉄道会社の車両や線区を利用して相互直通運転を行う場合に、適切に運転整理が行われないという問題があった。
【０００６】
本発明は以上の点を考慮してなされたもので、異なる鉄道会社の車両や線区を利用して相互直通運転を行う場合に、適切な運転整理業務を支援することが可能な運転整理業務支援装置運転整理業務支援方法を提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために本発明においては、複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を予測する運行予測手段と、複数の鉄道会社が相互直通運転する列車の各線区において、前記運行予測手段に予測された前記列車ダイヤの列車走行距離を平準化した列車ダイヤを求める列車走行距離平準化手段と、前記列車走行距離平準化手段により求められた前記列車ダイヤを操作者に提案する提案手段と、を備えることを特徴とする、運転整理業務支援装置が提供される。
【０００８】
また、かかる課題を解決するために本発明においては、複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を支援する運転整理業務支援装置における運転整理業務支援方法であって、複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を予測する第１のステップと、前記運行予測手段により予測された相互直通運転における列車ダイヤにおいて、車両を保有する鉄道会社と線区を保有する鉄道会社とが異なる場合に、線区を保有する鉄道会社単位、かつ、車両を保有する鉄道会社単位で線区を走行する列車の列車走行距離を算出する第２のステップと、前記算出された列車走行距離が鉄道会社間で平準化するように列車ダイヤを求める第３のステップと、を含むことを特徴とする、運転整理業務支援方法が提供される。
【発明の効果】
【０００９】
本発明によれば、異なる鉄道会社の車両や線区を利用して相互直通運転を行う場合に、適切な運転整理業務を支援して、指令員による運転整理業務を省力化することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態にかかる鉄道運行管理システムの構成を示すブロック図である。
【図２】同実施形態にかかる運転整理支援装置の構成を示すブロック図である。
【図３】一般的なＰＣの構成を示すブロック図である。
【図４】同実施形態にかかるダイヤ一覧データの一例を示す図表である。
【図５】同実施形態にかかるダイヤデータの一例を示す図表である。
【図６】同実施形態にかかる編成データの一例を示す図表である。
【図７】同実施形態にかかる編成運用データの一例を示す図表である。
【図８】同実施形態にかかる最小停車時分データの一例を示す図表である。
【図９】同実施形態にかかる基準運転時分データの一例を示す図表である。
【図１０】同実施形態にかかる線区データの一例を示す図表である。
【図１１】同実施形態にかかる番線定義データの一例を示す図表である。
【図１２】同実施形態にかかる運転整理装置の処理の概要を示すフローチャートである。
【図１３】同実施形態にかかる予測処理の詳細を示すフローチャートである。
【図１４Ａ】同実施形態にかかる列車走行距離平準化提案処理の概要を示すフローチャートである。
【図１４Ｂ】同実施形態にかかる列車走行距離平準化提案処理の概要を示すフローチャートである。
【図１５】同実施形態にかかる各社全列車走行距離計算処理の概要を示すフローチャートである。
【図１６】同実施形態にかかる変更可能前運用列車選択処理の概要を示すフローチャートである。
【図１７】同実施形態にかかる列車走行距離差改善判断処理の概要を示すフローチャートである。
【図１８】同実施形態にかかる提案内容設定画面の一例である。
【図１９】同実施形態にかかる手動ダイヤ変更画面の一例である。
【図２０】同実施形態にかかる提案採否入力画面の一例である。
【図２１】本発明の第２の実施形態にかかる運転整理支援装置の構成を示すブロック図である。
【図２２】同実施形態にかかる車両運用条件情報データの一例を示す図表である。
【図２３】同実施形態にかかる変更可能前運用列車選択処理の概要を示すフローチャートである。
【図２４】同実施形態にかかる車両運用条件合致判断処理の概要を示すフローチャートである。
【図２５】同実施形態にかかる遅延低減を考慮した列車走行距離平準化提案処理の概要を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下図面について、本発明の一実施の形態を詳述する。
【００１２】
（１）第１の実施の形態
（１−１）本実施の形態の概要
まず、本実施の形態の概要について説明する。上記したように、ある鉄道会社が保有する車両が別の鉄道会社が保有する線区を走行する、相互直通運転を実施する際には、線区保有会社が車両保有会社に対して列車走行距離に応じた車両使用料を支払う必要があり、各社はこの車両使用料支払いを低減すべく、列車走行距離の平準化を実施する必要がある。
【００１３】
そこで、本実施の形態では、列車走行距離を考慮して列車運用を変更することにより、各社の列車走行距離を平準化している。
【００１４】
本実施の形態によれば、各鉄道会社が相互直通運転する線区において、列車走行距離を平準化した列車ダイヤを、列車スジ（列車ダイヤ上の列車を表現する線）を用いて指令員に提案することができる。これにより、指令員が列車走行距離を平準化した列車ダイヤを作成することを省力化し、短時間で列車走行距離を平準化する運転整理を実行することが可能となる。
【００１５】
（１−２）鉄道運行管理システムの構成
次に、図１を参照して、鉄道運行管理システムの構成について説明する。図１は、ダイヤ管理装置１０１及び運転整理装置１０３を備える鉄道運行管理システムの構成を示すブロック図である。なお、ダイヤ管理装置１０１及び運転整理装置１０３は、本発明の運転整理業務支援装置の一例である。
【００１６】
図１に示す鉄道運行管理システムは、列車１１１の進路を制御するためのシステムである。すなわち、鉄道管理システムは、列車１１１の在線位置、ならびに、信号機１０９及び転轍機１１０などの設備状態を監視し、監視結果と列車運行計画を含む情報に基づいて列車１１１の運行を管理するシステムである。
【００１７】
また、鉄道運行管理システムは、ダイヤ管理装置１０１、運転整理装置１０３、進路制御装置１０５、地上装置１０７、ダイヤ管理装置１０１と運転整理装置１０３を接続するネットワーク１０２、運転整理装置１０３と進路制御装置１０５を接続するネットワーク１０４、進路制御装置１０５と地上装置１０７を接続するネットワーク１０６とを備える。また、地上装置１０７は、軌道回路１０８、信号機１０９及び転轍機１１０を含む。
【００１８】
なお、図１ではダイヤ管理装置１０１に１つの運転整理装置１０３が接続されているが、かかる例に限定されず、運転整理装置１０３に複数の運転整理装置１０３が接続されていてもよい。また、本実施の形態の運転整理装置１０３は、複数の進路制御装置１０５と接続されていてもよい。
【００１９】
ダイヤ管理装置１０１は、後述する、列車ダイヤ、車両運用計画、及び点検及び保守計画など列車の運行に関連する計画を含む情報を管理するシステムである。また、これらの計画を支援する機能を備えてもよい。
【００２０】
図１に示すように、ダイヤ管理装置１０１は、運転整理装置１０３とネットワーク１０２を介して接続され、ネットワーク１０２を介して当日の列車運行計画を含む情報を運転整理装置１０３に送信する。なお、ダイヤ管理装置１０１がネットワーク１０２を介して運転整理装置１０３に送信する情報は、例えば、後述する図２に示す実施ダイヤ（列車計画）２０７及び実施ダイヤ（運用計画）２０８などである。
【００２１】
また、ダイヤ管理装置１０１は、ネットワーク１０２を介して列車の在線位置情報を含む情報を、運転整理装置１０３より受信する。なお、運転整理装置１０３から受信する情報は、例えば、後述する図２に示す実績ダイヤ（列車計画）２１１及びの実績ダイヤ（運用計画）２１２などである。
【００２２】
なお、ダイヤ管理装置１０１と進路制御装置１０５とがネットワークで接続されていてもよい。ダイヤ管理装置１０１と進路制御装置１０５を直接接続したネットワークを介して、ダイヤ管理装置１０１は列車の在線位置情報を含む情報を進路制御装置１０５より受信してもよい。なお、進路制御装置１０５から受信する情報は、例えば、実績ダイヤ（列車計画）２１１及び実績ダイヤ（運用計画）２１２などである。
【００２３】
なお、ダイヤ管理装置１０１は、運転整理装置１０３とネットワーク１０２を介して接続せず、着脱可能な記憶媒体、例えばハードディスク、光ディスク（ＣＤ、ＤＶＤ等）、フラッシュメモリなど、によって情報をやり取りしてもよい。なお、この場合、ネットワーク１０２は不要である。
【００２４】
運転整理装置１０３は、ネットワークを介してダイヤ管理装置１０１から受信する当日の列車運行計画を含む情報と、ネットワーク１０４を介して進路制御装置１０５から受信する列車の在線位置などのデータを含む情報をもとに、指令員が列車運行計画（ダイヤ）の変更などの運転整理を実施するための装置である。
【００２５】
運転整理装置１０３は、進路制御装置１０５とネットワーク１０４を介して接続される。運転整理装置１０３は、進路制御装置１０５から受信した情報を、ダイヤ管理装置１０１にネットワーク１０２を介して送信する。
【００２６】
なお、運転整理装置１０３は、進路制御装置１０５とネットワーク１０４を介して接続せず、着脱可能な記憶媒体、例えばハードディスク、光ディスク（ＣＤ、ＤＶＤ等）、フラッシュメモリなど、によって情報をやり取りしてもよい。なお、この場合、ネットワーク１０４は不要である。
【００２７】
進路制御装置１０５は、運転整理装置１０３によって決定された列車運行計画を含む情報を、ネットワーク１０４を介して受信し、地上装置１０７によって収集された地上設備群の状態を含む情報を、ネットワーク１０６を介して受信し、受信した情報を記憶装置に保持する。地上装置１０７によって収集された地上設備群の状態には、列車１１１の在線位置が含まれる。
【００２８】
進路制御装置１０５は、軌道回路１０８から取得される列車１１１の在線位置と、列車ダイヤ情報が示す出発時刻及び計画進路とを、受信した情報を含む情報から特定する。そして、列車１１１の進路に設置される信号機１０９及び転轍機１１０を、特定された情報に基づいて、地上装置１０７を介して制御する。
【００２９】
進路制御装置１０５は、地上装置１０７によって収集された地上設備群の状態を含む情報を、ネットワーク１０６を介して受信し、当該情報を、ネットワーク１０４を介して運転整理装置１０３へ送信する。
【００３０】
なお、進路制御装置１０５がダイヤ管理装置１０１とネットワークを介して接続されている場合には、進路制御装置１０５は該ネットワークを介してダイヤ管理装置１０１に、直接受信情報を送信してもよい。なお、これら進路制御装置１０５が送信する情報は、例えば、実績ダイヤ（列車計画）２１１及び実績ダイヤ（運用計画）２１２などである。
【００３１】
なお、進路制御装置１０５は地上装置１０７とネットワーク１０６を介して接続せず、着脱可能な記憶媒体、例えばハードディスク、光ディスク（ＣＤ、ＤＶＤ等）、フラッシュメモリなど、によって情報をやり取りしてもよい。この場合、ネットワーク１０６は不要である。
【００３２】
地上装置１０７は、進路制御装置１０５とネットワーク１０６を介して接続される。地上装置１０７は、進路制御装置１０５から制御要求を受信し、受信した制御要求に従って、例えば、信号機１０９、及び転轍機１１０の反位制御を行う。
【００３３】
また、地上装置１０７は、例えば、信号機１０９及び転轍機１１０の状態（定位／反位）、ならびに、軌道回路１０８の状態（落下／扛上）を監視し、監視結果を含む情報を進路制御装置１０５に送信する。
【００３４】
列車１１１は、ＡＴＳ（ＡＵＴＯＭＡＴＩＣ  ＴＲＡＩＮ  ＳＴＯＰ）またはＡＴＣ（ＡＵＴＯＭＡＴＩＣ  ＴＲＡＩＮ  ＣＯＮＴＲＯＬ）などの、列車１１１の自動停止または自動制御を行うための安全装置を有してもよい。
【００３５】
また、列車１１１は、列車１１１における詳細な動作状態、及び、故障情報を、収集、表示、及び、記録する情報管理システムなどの車上装置を有してもよい。列車１１１は、車上装置が有する情報を、デジタル無線を介して地上装置１０７に送信してもよい。
【００３６】
また、地上装置１０７は、列車１１１の在線位置を軌道回路１０８の状態に基づいて判定する。例えば、列車１１１が有する車上装置が、自らが搭載される列車１１１の位置を示す位置情報を算出または測定し、デジタル無線を介して地上装置１０７に送信してもよい。そして、地上装置１０７は、列車１１１が有する車上装置から送信される位置情報に基づいて、列車１１１の在線位置を判定してもよい。
【００３７】
（１−３）運転整理支援装置の構成
次に、図２を参照して、運転整理支援装置の構成について説明する。図２に示すように、運転整理支援装置は、ダイヤ管理装置１０１及び運転整理装置１０３から構成される。
【００３８】
ダイヤ管理装置１０１は、列車ダイヤの元データとなるダイヤマスタを管理する装置である。ダイヤ管理装置１０１には、ダイヤマスタを管理するデータベースとして、実施ダイヤマスタ（列車計画）２０３、実施ダイヤマスタ（運用計画）２０４、実績ダイヤマスタ（列車計画）２０５及び実績ダイヤマスタ（運用計画）２０６が含まれる。
【００３９】
運転整理装置１０３は、列車運行を予測したり、運転整理案を提案したりすることにより運転整理業務を支援する装置である。運転整理装置１０３には、実施ダイヤ（列車計画）２０７、実施ダイヤ（運用計画）２０８、実行ダイヤ（列車計画）２０９、実行ダイヤ（運用計画）２１０、実績ダイヤ（列車計画）２１１、実績ダイヤ（運用計画）２１２、予測ダイヤ（列車計画）２１３、予測ダイヤ（運用計画）２１４、列車走行距離平準化提案ダイヤ（列車計画）２１５、列車走行距離平準化提案ダイヤ（運用計画）２１６、基礎情報２１７、列車運行予測エンジン２１８、列車走行距離平準化提案エンジン２１９、制約プログラミング実行エンジン２２０が含まれる。
【００４０】
実施ダイヤマスタ（列車計画）２０３は、実施ダイヤ（列車計画）２０７のマスタ（原本）である。実施ダイヤマスタ（運用計画）２０４は、実施ダイヤ（運用計画）２０８のマスタ（原本）である。実績ダイヤマスタ（列車計画）２０５は実績ダイヤ（列車計画）２１１のマスタ（原本）である。実績ダイヤマスタ（運用計画）２０６は実績ダイヤ（運用計画）２１２のマスタ（原本）である。
【００４１】
実施ダイヤ（列車計画）２０７は、実施ダイヤマスタ（列車計画）２０３のコピーであり、もともと計画されていたダイヤ（列車計画）が格納されている。実施ダイヤ（運用計画）２０８は、実施ダイヤマスタ（運用計画）２０４のコピーであり、もともと計画されていた運用計画（車両割当計画）が格納されている。
【００４２】
実行ダイヤ（列車計画）２０９は、実施ダイヤ（列車計画）２０７に対し行われたダイヤ変更を適用した、実行すべきダイヤである。実行ダイヤ（運用計画）２１０は、実施ダイヤ（運用計画）２０８に対し行われたダイヤ変更を適用した、実行すべきダイヤである。
【００４３】
実績ダイヤ（列車計画）２１１及び実績ダイヤ（運用計画）２１２は運転の実績を記録したダイヤである。
【００４４】
予測ダイヤ（列車計画）２１３は、実績ダイヤ（列車計画）２１１、実績ダイヤ（運用計画）２１２、実行ダイヤ（列車計画）２０９及び実行ダイヤ（運用計画）２１０を元に、将来の列車運行を予測したダイヤである。予測ダイヤ（運用計画）２１４は、実績ダイヤ（列車計画）２１１、実績ダイヤ（運用計画）２１２、実行ダイヤ（列車計画）２０９及び実行ダイヤ（運用計画）２１０を元に、将来の車両の運用計画を予測したダイヤである。
【００４５】
以後、実施ダイヤマスタ（列車計画）２０３と実施ダイヤマスタ（運用計画）２０４とをまとめて実施ダイヤマスタと称し、実績ダイヤマスタ（列車計画）２０５と実績ダイヤマスタ（運用計画）２０６とをまとめて実績ダイヤマスタと称し、実施ダイヤ（列車計画）２０７と実施ダイヤ（運用計画）２０８とをまとめて実施ダイヤと称し、実行ダイヤ（列車計画）２０９と実行ダイヤ（運用計画）２１０をまとめて実行ダイヤと称し、実績ダイヤ（列車計画）２１１と実績ダイヤ（運用計画）２１２とをまとめて実績ダイヤと称し、予測ダイヤ（列車計画）２１３と予測ダイヤ（運用計画）２１４とをまとめて予測ダイヤと称し、列車走行距離平準化提案ダイヤ（列車計画）２１５と列車走行距離平準化提案ダイヤ（運用計画）２１６とをまとめて列車走行距離平準化提案ダイヤと称して説明する場合がある。
【００４６】
列車運行予測エンジン２１８は、実行ダイヤ２０９、２１０、実績ダイヤ２１１、２１２及び基礎情報２１７をもとに、将来の列車運行を予測するプログラムである。列車運行予測エンジン２１８は、本発明の運行予測手段の一例である。
【００４７】
列車走行距離平準化提案エンジン２１９は、列車走行距離平準化提案ダイヤ２１５、２１６をもとに、編成保有会社、線区保有会社の各会社の列車走行距離を平準化するよう、列車計画と運用計画の変更を提案するプログラムである。列車走行距離平準化提案エンジン２１９は、本発明の列車走行距離平準化手段及び提案手段の一例である。
【００４８】
制約プログラミング実行エンジン１１３は、制約プログラミングという一般的なプログラミングパラダイムで記述されたプログラムを実行するための、一般的な実行プログラムである。
【００４９】
なお、ダイヤ管理装置１０１や運転整理装置１０３は、それぞれ専用の装置として実現してもよいし、一般的なＰＣと専用のソフトウェアを用いて実現してもよい。本実施の形態では、一般的なＰＣと専用のソフトウェアを用いて実現する例を示す。
【００５０】
（１−４）装置のハードウェア構成
次に、図３を参照して、一般的なＰＣの構成について説明する。図３は一般的なＰＣの内部構成を示した図である。
【００５１】
一般的なＰＣは、図３に示すように、ＣＰＵ３０１、メモリ３０２、バス３０３、ネットワークインタフェース３０４、キーボード３０５、マウス３０６、画面３０７、時計３０８及びハードディスク３０９などを備える。
【００５２】
ＣＰＵ３０１は中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、メモリ３０２に記録されている、またはあらかじめハードディスク３０９からメモリ３０２に転送されたプログラムを実行する装置である。なお、プログラムは、必要に応じて、ＰＣが利用可能であり、着脱可能な記憶媒体によって導入されてもよい。この場合、記憶媒体を読み取るための装置をバス３０３に接続する。なお、このような前記記憶媒体及びそれを読み取るための装置としては、光ディスク（ＣＤ，ＤＶＤ等）を用いるものや、フラッシュメモリを用いるものが一般に知られており、これを用いることができる。
【００５３】
また、プログラムは、必要に応じて、ネットワークインタフェース３０４によって、通信媒体（通信回線又は通信回線上の搬送波）を介して、ＰＣに導入されてもよい。メモリ３０２は、プログラムやデータを一時的に記録しておくものである。バス３０３は、ＰＣシステム内の装置を接続するためのものであり、ＰＣ内の各装置と接続されている。ネットワークインタフェース３０４は、ＰＣシステム外のＰＣ等と通信をするための装置である。キーボード３０５は、ＰＣシステムへの指令やデータ入力を行うために、ＰＣシステムの操作者が操作する装置である。
【００５４】
マウス３０６は、画面上に表示されるポインタを動かすための装置である。なお、マウスは一般にポインティングデバイスと呼ばれる装置の一種であり、本実施の形態ではマウスを利用しているが、他のポインティングデバイスでもよく、例えばトラックボールやポインティング・スティック、タッチパッド、タッチパネル、ペンタブレット等が挙げられる。
【００５５】
画面３０７は、処理結果等を表示するための装置である。時計３０８はＣＰＵ３０１が現在のおよその時間を知るための装置である。ハードディスク３０９はプログラム及びデータを格納する装置であり、例えば、磁気ディスクや不揮発性メモリ等によって構成することができる。この場合、ハードディスク３０９に格納されたプログラム及びデータは、ハードディスク３０９の電源がＯＦＦとなった後にＯＮになった場合でも、通常保持される。なお、ハードディスク３０９には、予めオペレーティングシステム（ＯＳ）が導入することにより、ファイル名を用いてプログラムを指定して実行させるようにしてもよい。ここで、ＯＳとは、計算機の基本ソフトウェアのことであり、一般に広く知られたＯＳを用いることができる。
【００５６】
以下では、特に区別する必要がない場合は、以降メモリ３０２とハードディスク３０９を合わせて記憶装置と称する。この場合、記憶装置はメモリ３０２とハードディスク３０９のどちらかを指すものとする。
【００５７】
なお、ハードディスク３０９に保存されたデータ等は、読み出すことによりメモリ３０２に複製を作成することができる。また、メモリ３０２に保存されたデータ等は、書き出すことによりハードディスク３０９に複製を作成することができる。よって、記憶装置にデータ等を保存した場合、以降、メモリ３０２、ハードディスク３０９のどちらからも読み出せるとする。また、記憶装置からデータ等を読み出す場合、メモリ３０２、ハードディスク３０９のどちらかに保存されているデータ等を読み出すものとする。
【００５８】
本実施の形態では、ダイヤ管理装置１０１や運転整理装置１０３をＰＣと、専用のソフトウェアを用いて実現する例を示す。ここで、専用のソフトウェアとは、各装置が行う処理（後述）をＣＰＵ３０１に行わせるためのプログラムである。また、ＣＰＵ３０１は、ソフトウェアを記憶装置に格納することができ、必要に応じて記憶装置よりソフトウェアを呼び出すことができる。
【００５９】
また、本実施の形態では、各装置をそれぞれ別個のＰＣにて実現する例を示す。各装置間でのデータのやり取りは、ネットワークインタフェース３０４を通じて行われる。なお、各装置を単一のＰＣで実現してもよい。この場合、ネットワークインタフェース３０４を介さずに記憶装置上の共通ファイルを用いる等の方法でデータのやり取りを行ってもよい。
【００６０】
（１−５）各種データ構造
次に、運転整理支援装置内のデータ構造について説明する。
【００６１】
（１−５−１）列車計画ダイヤのデータ構造
まず、図４及び図５を用いて列車計画ダイヤのデータ構造について説明する。
【００６２】
図４は、列車計画ダイヤのうち、ダイヤ一覧データ１３００の構造を示した図である。図４に示すダイヤ一覧データ１３００は、実施ダイヤ（列車計画）２０７、実行ダイヤ（列車計画）２０９、実績ダイヤ（列車計画）２１１、予測ダイヤ（列車計画）２１３、列車走行距離平準化提案ダイヤ（列車計画）２１５のうち、ダイヤ一覧データ１３００の構造を示した図であり、これらのダイヤはすべて同じデータ構造を含んでいる。
【００６３】
図４に示すように、ダイヤ一覧データ１３００は、列車番号１３０１、走行線区１３０２、速度種別１３０３、ダイヤへのポインタ１３０４、前運用列車１３０５及び後運用列車１３０６から構成される。
【００６４】
列車番号１３０１には、対象列車の列車番号が記載される。例えば、行１３０７は、列車番号１３０１が「０００１Ａ」であるものに関する記述であり、行１３０８は、列車番号１３０１が「０００３Ｂ」であるものに関する記述であり、行１３０９は、列車番号１３０１が「０１０１Ａ」であるものに関する記述である。以降、同様に少なくとも対象列車分、行が追加される。
【００６５】
走行線区１３０２には、対象列車の走行線区が記載される。速度種別１３０３には、対象列車の速度種別が記載される。ここで、速度種別とは列車の速度の種類をコード化したものであり、たとえば列車番号０００１Ａの列車の速度種別はＡ１３０である。
【００６６】
ダイヤへのポインタ１３０４には、駅発着時刻等、対象列車のダイヤが格納されているデータへのポインタが記載される。例えば、列車番号１３０１が「０００１Ａ」の「ダイヤへのポインタ」は「ｄｉａ_０００１Ａ」である。このポインタを用いてＤＢにクエリを出すことにより、駅発着時刻等、対象列車のダイヤを取得することができる。当該データについては後で詳細に説明する。
【００６７】
前運用列車１３０５には、対象列車の前運用となる列車の列車番号が記載される。なお、前運用とは、当該列車に充当されている車両が、当該列車として走行する前に走行した列車のことを指している。また、出庫直後等で前運用がない場合は例えば「＊」など、前運用がないことを示すマークが記載される。例えば、列車番号１３０１が「０００１Ａ」の前運用列車１３０５に「＊」が記載されているので、列車番号１３０１が「０００１Ａ」の前運用列車はないことを意味している。
【００６８】
後運用列車１３０６には、対象列車の後運用となる列車の列車番号が記載される。なお、後運用とは、当該列車に充当されている車両が、当該列車として走行した後に走行する列車のことを指している。なお、当該列車として走行した後に入庫する等で後運用がない場合は、例えば「＊」など、後運用がないことを示すマークが記載される。例えば、列車番号１３０１が「０１０１Ａ」の後運用列車１３０６に「＊」が記載されているので、列車番号１３０１が「０１０１Ａ」の後運用列車はないことを意味している。
【００６９】
次に、図５を参照して、ダイヤへのポインタ１３０４にて指示されているダイヤデータ１４００のデータ構造例について説明する。図５は、実施ダイヤ（列車計画）２０７、実行ダイヤ（列車計画）２０９、実績ダイヤ（列車計画）２１１、予測ダイヤ（列車計画）２１３、列車走行距離平準化提案ダイヤ（列車計画）２１５のうち、各列車のダイヤデータ１４００のデータ構造を示した図であり、これらのダイヤはすべて同じデータ構造を含んでいる。図５は、ある１つの列車についてのダイヤデータの構造例である。データベース上には、このダイヤデータが少なくとも列車数分存在することとなる。
【００７０】
図５に示すように、ダイヤデータ１４００は、駅名１４０１、到着時刻１４０２、発車時刻１４０３及び使用番線１４０１から構成される。
【００７１】
駅名１４０１は、当該列車の到着・出発・通過等に関わる駅名である。例えば、行１４０５は、駅名１４０１が「Ａ駅」であるものに関する記述である。図５では「・・・」として省略しているが、実際には当該列車の到着・出発・通過等に関わる駅分、行が存在している。
【００７２】
到着時刻１４０２は、当該列車が当該駅に到着する時刻である。なお、通過等で到着時刻がない場合、例えば「＊」等、データがないことを示すマークが入力される。例えば、駅名１４０１が「Ａ駅」の到着時刻１４０２は「＊」であり、データがないことが示されている。
【００７３】
発車時刻１４０３は、当該列車が当該駅を発車する時刻が記載される。発車時刻には通過時刻を含んでもよい。なお、図５には設けていないが、発車時刻とは別に通過時刻のデータを有してもよい。
【００７４】
使用番線１４０４は、当該列車が当該駅で使用される番線が記載される。
【００７５】
（１−５−２）運用計画ダイヤのデータ構造
次に、図６及び図７を用いて運用計画ダイヤのデータ構造について説明する。
【００７６】
図６は、運用計画ダイヤのうち、編成データ１８００のデータ構造を示した図である。図６に示す編成データ１８００は、実施ダイヤ（運用計画）２０８、実行ダイヤ（運用計画）２１０、実績ダイヤ（運用計画）２１１、予測ダイヤ（運用計画）２１４、列車走行距離平準化提案ダイヤ（運用計画）２１６のうち、編成データのデータ構造を示した図であり、これらのダイヤはすべて同じデータ構造を含んでいる。
【００７７】
図６に示すように、編成データ１８００は、編成番号１８０１、編成種別１８０２、編成量数１８０３及び編成保有会社１８０４から構成される。
【００７８】
編成番号１８０１には、対象編成の編成番号が記載される。例えば、行１８０５は、編成番号１８０１が「ＶＡ００１」であるものに関する記述であり、行１８０６は、編成番号１８０１が「ＶＡ００２」であるものに関する記述であり、行１８０７は、編成番号１８０１が「ＶＢ００１」であるものに関する記述である。以降、同様に少なくとも対象編成分、行が追加される。
【００７９】
編成種別１８０２には、対象編成の編成種別が記載される。編成両数１８０３には、対象編成の編成両数が記載される。編成保有会社１８０４には、対象編成を保有する会社名が記載される。
【００８０】
次に、図７を参照して、編成運用データ１９００のデータ構造例について説明する。図７は、実施ダイヤ（列車計画）２０７、実行ダイヤ（列車計画）２０９、実績ダイヤ（列車計画）２１１、予測ダイヤ（列車計画）２１３、列車走行距離平準化提案ダイヤ（列車計画）２１５のうち、編成運用データ１９００のデータ構造を示した図であり、これらのダイヤはすべて同じデータ構造を含んでいる。
【００８１】
図７に示すように、編成運用データ１９００は、編成番号１９０１、列車番号１９０２、前運用選択フラグ１９０３、後運用選択フラグ１９０４、予備車駅１９０５及び予備車前運用列車番号１９０６から構成される。
【００８２】
編成番号１９０１には、対象列車の編成番号が記載される。列車番号１９０２には、対象列車の列車番号が記載される。なお、予備車など列車番号がない場合は、例えば「＊」など、列車番号がないことを示すマークが記載される。例えば、編成番号１９０１が「ＶＡ００３」、「ＶＢ００３」の列車番号１９０２に「＊」が記載されているので、編成番号１９０１が「ＶＡ００３」、「ＶＢ００３」の列車番号はないことを意味している。
【００８３】
例えば、行１９０７は、編成番号１９０１が「ＶＡ００１」、列車番号１９０２が「０００１Ａ」であるものに関する記述である。以降、同様に少なくとも編成番号と列車番号のペアの数分、行が追加される。なお、編成番号１９０１と列車番号１９０２のペアとしては、同一の編成番号に対し一つもしくは複数の列車番号を持つペアが存在してもよい。例えば、前運用列車と後運用列車の列車番号が異なるが、前運用列車と後運用列車で同一の編成番号の編成を使用するとき、ペアが少なくとも二つ存在する。
【００８４】
前運用選択フラグ１９０３には、対象列車の前運用選択フラグが記載される。このフラグは、後述する変更可能前運用列車選択処理で使用される。前運用選択フラグは、前運用選択フラグから前運用変更が実施されたかどうかを判断するためのフラグであって、例えば、前運用変更が実施されていない場合は０、前運用変更が実施された場合は１などとする。
【００８５】
後運用選択フラグ１９０４には、対象列車の後運用選択フラグが記載される。このフラグは、後述する列車走行距離平準化提案処理で使用される。後運用選択フラグは、後運用選択が実施されたかどうかを判断するためのフラグであって、例えば、後運用変更が実施されていない場合は０、後運用変更が実施された場合は１などとする。
【００８６】
予備車駅１９０５には、対象列車が予備車として存在している駅名が記載される。なお、列車番号が与えられている列車の場合は、例えば「＊」など、予備車駅がないことを示すマークが記載される。例えば、編成番号１９０１が「ＶＡ００１」である予備車駅１９０５に「＊」が記載されているので、編成番号１９０１が「ＶＡ００１」の予備車駅はないことを意味している。
【００８７】
「予備車前運用列車番号」１９０６には予備車の前運用列車番号が記載される。予備車の前運用列車番号とは、当該予備車が、予備車として存在している駅に到着する直前に当該車両に割り振られていた列車番号のことである。なお、予備車として存在している駅に到着する直前に当該車両に割り振られていた列車番号が存在しなければ、例えば「＊」など、当該列車番号がないというマークが記載される。例えば、編成番号が「ＶＡ００３」の列車の当該列車番号はないことを意味している。
【００８８】
（１−５−３）基礎データの構造
次に、図８〜図１１を参照して、基礎データの構造について説明する。
【００８９】
図８は、基礎データのうち、最小停車時分データ１５００の構造例を示した図である。図８に示すように、最小停車時分データ１５００は、速度種別１５０１、駅名１５０２及び最小停車時分１５０３から構成される。
【００９０】
速度種別１５０１には、列車の速度種別を識別する情報が記載される。駅名１５０２には駅名が記載される。最小停車時分１５０３には、当該列車の当該駅における最小停車時分が記載される。すなわち、最小停車時分データ１５００を参照することにより、ある速度種別の列車のある駅における最小停車時分がわかる。
【００９１】
例えば、図８では、速度種別１５０１がＡ１３０のある列車のＢ駅における最小停車時分は、３０秒であることが分かる。なお、最小停車時分データ１５００の行は、少なくとも各速度種別、各駅分追加される。
【００９２】
図９は、基礎データのうち、基準運転時分データ１６００の構造例を示した図である。図９に示すように、基準運転時分データ１６００は、速度種別１６０１、前駅名１６０２、次駅名１６０３及び基準運転時分１６０４から構成される。
【００９３】
速度種別１６０１には、列車の速度種別を識別する情報が記載される。前駅名１６０２及び次駅名１６０３には、データの対象となる区間の端駅が記載される。基準運転時分１６０４には、当該列車の当該区間における基準運転時分が記載される。
【００９４】
例えば、図９では、速度種別１６０１がＡ１３０である列車のＡ駅−Ｂ駅間における基準運転時分は１２０秒であることが分かる。なお、行は少なくとも各速度種別、各走行区間分追加される。
【００９５】
図１０は、基礎データのうち、線区データ１７００のデータ構造を示した図である。図１０に示すように、線区データ１７００は、線区１７０１、線区保有会社１７０２及び走行距離１７０３から構成される。
【００９６】
線区１７０１には、線区を識別する情報が記載される。線区保有会社１７０２には、線区保有会社、すなわちデータの対象となる線区を保有する会社の名称等が記載される。走行距離１７０３には、データの対象となる線区の走行距離が記載される。
【００９７】
例えば、図１０では、線区ＬＡ１の保有会社はＡ社であり、その走行距離は１０ｋｍであることがわかる。なお、行は少なくとも各線区分追加される。
【００９８】
図１１は、基礎データのうち番線定義データ２４００の構造を示した図である。図１１に示すように、番線定義データ２４００は、駅名２４０１、番線２０４２及び番線グループ２４０３から構成される。
【００９９】
駅名２４０１には駅名が記載される。番線２４０２には、番線が記載される。番線グループ２４０３には、当該番線の所属する番線グループが記載される。
【０１００】
ここで、番線グループとは、番線変更可能な番線を同じグループで表したものである。すなわち、番線定義データ２４００により、ある駅のある番線が、どのような番線グループに属しているかがわかることとなる。
【０１０１】
例えば、図１１では、Ａ駅の１番線と２番線が同じ番線グループ１に属していることがわかる。このため、例えば実施ダイヤ（列車計画）上でＡ駅の１番線を使用している列車は、当日の運転整理により、Ａ駅の２番線に変更しても、基礎データ上は問題がないことがわかる。
【０１０２】
（１−６）運転整理業務支援処理の詳細
（１−６−１）ダイヤ管理装置の処理の詳細
運転整理業務支援処理は、ダイヤ管理装置１０１及び運転整理装置１０３が連携して実現される処理である。ただし、ダイヤ管理装置１０１は、単にデータを保持し、運転整理装置１０３とデータを受け渡しする役目を持っているに過ぎず、これは一般のＤＢ（データベース）によって実現可能である。このため、本実施の形態におけるダイヤ管理装置１０１については、詳細な処理の説明を省略する。
【０１０３】
（１−６−２）運転整理装置の処理の詳細
次に、本実施の形態における運転整理装置１０３の処理の詳細について説明する。まず、図１２を参照して、運転整理装置１０３における処理の概要について説明する。
【０１０４】
図１２に示すように、まず、運転整理装置１０３のＣＰＵ３０１は、指令員に提案の内容を入力させる（Ｓ４０１）。ステップＳ４０１における提案内容の入力はＧＵＩを用いて行わせることができるが、ＧＵＩの詳細については後述する。
【０１０５】
続いて、運転整理装置１０３のＣＰＵ３０１は、ダイヤ管理装置１０１から実施ダイヤマスタ（列車計画）２０３、実施ダイヤマスタ（運用計画）２０４、実績ダイヤマスタ（列車計画）２０５及び実績ダイヤマスタ（運用計画）２０６を取得し、それらを運転整理装置１０３内の記憶装置に、実施ダイヤ（列車計画）２０７、実施ダイヤ（運用計画）２０８、実績ダイヤ（列車計画）２１１、実績ダイヤ（運用計画）２１２として保存する（Ｓ４０２）。
【０１０６】
なお、実施ダイヤマスタ（列車計画）２０３、実施ダイヤマスタ（運用計画）２０４、実績ダイヤマスタ（列車計画）２０５、実績ダイヤマスタ（運用計画）２０６の取得は、運転整理装置１０３のＣＰＵ３０１が、一般的なＤＢを用いて実現されているダイヤ管理装置１０１に対し、ネットワークインタフェース３０４を通じて送信要求を行い、ダイヤ管理装置１０１がそれに対応するという一般的な方法で行われる。このため、取得処理自体については詳細な説明を省略する。
【０１０７】
運転整理装置１０３のＣＰＵ３０１は、指令員に手動ダイヤ変更を入力させ、実行ダイヤを作成する（Ｓ４０３）。手動ダイヤの変更は、ＧＵＩを用いて指令員に行わせることができる。手動ダイヤの変更については後で詳細に説明する。
【０１０８】
続いて、運転整理装置１０３のＣＰＵ３０１は、予測処理を実行し、予測ダイヤを作成する（Ｓ４０４）。ステップＳ４０４の予測処理の詳細について後で詳細に説明する。
【０１０９】
そして、運転整理装置１０３のＣＰＵ３０１は、列車走行距離平準化提案処理を実行し、列車走行距離平準化提案ダイヤを作成する（Ｓ４０５）。なお、ステップＳ４０３において、指令員が、列車走行距離平準化提案処理を実行しないことを選択した場合には、ステップＳ４０５の列車走行距離平準化提案処理は実行されず、ステップＳ４０６に進む。ステップＳ４０５の列車走行距離平準化提案処理の詳細については、後で詳細に説明する。
【０１１０】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ４０５において、列車走行距離平準化の提案があったかを判定する（Ｓ４０６）。ステップＳ４０６において、列車走行距離平準化の提案があった場合には、指令員に提案の採否を入力させる。一方、ステップＳ４０６において、列車走行距離平準化の提案がなかった場合には、ＣＰＵ３０１は、処理を終了する。
【０１１１】
そして、ステップＳ４０８において、指令員により提案が採用されたと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、実行ダイヤを変更する（Ｓ４０９）。ステップＳ４０９における実行ダイヤの変更処理については、後で詳細に説明する。一方、ステップＳ４０８において、指令員により提案が採用されなかった場合には、処理を終了する。
【０１１２】
以上、本実施の形態の運転整理装置１０３の処理の概略について説明した。なお、運転整理装置１０３が稼働している間中、ＣＰＵ３０１は、更新タイミングかどうかを判断し、更新タイミングであると判断した場合に上記処理を繰り返すようにしてもよい。ここで、更新タイミングとは、例えば、指令員から手動ダイヤ変更の入力があった場合や、列車１１１の在線情報が変化した場合や、設備情報が変更された場合や、所定の時間経過した場合などである。指令員からの手動ダイヤ変更の入力がない場合に、更新タイミングと判断された場合には、ステップＳ４０３の指令員からの手動ダイヤ変更入力処理をスキップしてもよい。なお、更新タイミングの時間は、例えば運転整理装置１０３の時計３０８で計測される。
【０１１３】
以降、図１２の各処理の詳細について説明する。
【０１１４】
（１−６−３）ステップＳ４０１：提案内容選択入力
次に、上記したステップＳ４０１における処理の詳細について説明する。ステップＳ４０１における提案内容選択入力は、ＧＵＩを用いて指令員に行わせることができる。図１８に提案内容選択画面の一例を示す。
【０１１５】
図１８に示すように、ポインタ２１０２は、指令員の操作に応じて選択対象を指し示す。列車走行距離平準化提案内容設定画面２２００には、列車走行距離平準化提案実行承認ボタン２２０１、列車走行距離平準化提案実行却下ボタン２２０２、列車走行距離平準化関連会社入力ウィンドウ２２０３、列車走行距離平準化基準入力ウィンドウ２２０４、車両運用条件考慮承認ボタン２２０５、車両運用条件考慮却下ボタン２２０６、遅延低減考慮承認ボタン２２０７、遅延低減考慮却下ボタン２２０８、提案内容設定決定ボタン２２０９が含まれる。
【０１１６】
指令員の操作によって、列車走行距離平準化提案実行承認ボタン２２０１がポインタ２１０２を用いて選択され、キーボード３０５を用いて、列車走行距離を考慮する会社が、列車走行距離平準化関連会社入力ウィンドウ２２０３に入力される。さらに、提案内容設定決定ボタン２２０９がポインタ２１０２を用いてクリックされると、運転整理装置１０３は、ステップＳ４０５の列車走行距離平準化提案処理を実行する。
【０１１７】
なお、指令員によって、列車走行距離平準化提案実行却下ボタン２２０２がポインタ２１０２を用いて選択され、提案内容設定決定ボタン２２０９がポインタ２１０２を用いてクリックされると、運転整理装置１０３は、ステップＳ４０５の列車走行距離平準化提案処理をスキップする。
【０１１８】
また、列車走行距離平準化関連会社入力ウィンドウ２２０３に何も入力されなかった場合には、例えば、運転整理装置１０３は、ステップＳ４０５の列車走行距離平準化提案処理を実行せず、ステップＳ４０５の列車走行距離平準化提案処理をスキップしてもよい。
【０１１９】
また、例えば、運転整理装置１０３が、実施ダイヤ（運用計画）または実行ダイヤ（運用計画）に含まれる編成の保有会社と基礎データに含まれる線区保有会社を検索し、すべての会社をステップＳ４０５の列車走行距離平準化提案処理の対象会社として登録し、運転整理装置１０３がステップＳ４０５の列車走行距離平準化提案処理を実行してもよい。
【０１２０】
なお、指令員によって、ポインタ２１０２を用いて、車両運用条件考慮承認ボタン２２０５が選択された場合の運転整理装置１０３の処理、車両運用条件考慮却下ボタン２２０６が選択された場合の運転整理装置１０３の処理、遅延低減考慮承認ボタン２２０５が選択された場合の運転整理装置１０３の処理、遅延低減考慮却下ボタン２２０５が選択された場合の運転整理装置１０３の処理については、第２の実施の形態で説明する。
【０１２１】
（１−６−４）ステップＳ４０３：手動ダイヤ変更入力
次に、ステップＳ４０３における処理の詳細について説明する。ステップＳ４０３における手動ダイヤ変更入力は、ＧＵＩを用いて指令員に行わせることができる。図１９に手動ダイヤ変更画面の一例を示す。
【０１２２】
図２１に示すように、手動ダイヤ変更画面には列車スジ表示ウィンドウ２１０１及び提案ウィンドウ２１０３が含まれる。列車スジ表示ウィンドウ２１０１には、実施ダイヤスジ２１０４、２１０５、手動ダイヤ変更後スジ２１０６が含まれる。また、ポインタ２１０２は、指令員の操作に応じて選択対象を指し示す。
【０１２３】
列車スジ表示ウィンドウ２１０１は列車スジを表示するウィンドウである。ここで、列車スジとは、例えば、列車ダイヤ上の列車を表現する線のことであり、横軸を時間、縦軸を駅とした二次元平面上の線として表示される。実施ダイヤスジ２１０４、２１０５は、実施ダイヤを模式的に表示する線である。手動ダイヤ変更後スジ２１０６は、実施ダイヤスジ２１０５を手動で変更したあとのダイヤを模式的に示した線である。提案ウィンドウ２１０６は、後述する提案内容が表示される領域である。
【０１２４】
図１９では、実施ダイヤは、点線で表示した実施ダイヤスジ２１０４及び２１０５であるとしている。ここで、指令員が手動変更を行い、実施ダイヤスジ２１０５をポインタ２１０２で指示して少し横にスライドする等の入力を行うことにより、実施ダイヤスジ２１０５を手動ダイヤ変更後スジ２１０６に変更している。この結果、実行ダイヤ（列車計画）２０９は、変更がなかった実施ダイヤスジ２１０４と、手動で変更された変更後スジ２１０６が含まれることになる。なお、この処理により遅延見込みを入力することも可能である。
【０１２５】
（１−６−５）ステップＳ４０４：予測処理の詳細
次に、図１３を参照して、ステップＳ４０４における予測処理の詳細について説明する。予測処理は、各列車の各駅における発車時刻、到着時刻を求める処理である。これは、本実施の形態では、一般的な制約プログラミングの技法を利用して実現する。すなわち、各列車の各駅における発車時刻と到着時刻を制約プログラミングにおける制約変数とし、この制約変数に関する制約式を、ステップＳ５０１からステップＳ５０６で設定する。その後、制約式を満たす解を求めていくという処理を行っている。この一連の処理は、運転整理装置１０３の記憶装置に保存されている列車運行予測エンジン２１８を、運転整理装置１０３のＣＰＵ３０１が実行することにより行われる。
【０１２６】
図１３に示すように、運転整理装置１０３のＣＰＵ３０１は、順序制約を作成する（Ｓ５０１）。ここで、順序制約とは、駅の発車順序のことである。これは、実行ダイヤにおいて各駅の番線ごとに、列車番号を発車時刻順にソートすることで作成できる。そして、ＣＰＵ３０１は、各駅の番線ごとに、発車時刻順にＡ列車の発車時刻＜Ｂ列車の到着時刻＜Ｂ列車の発車時刻＜Ｃ列車の到着時刻＜Ｃ列車の発車時刻＜・・・と並べた制約を作成する。
【０１２７】
続いて、運転整理装置１０３のＣＰＵ３０１は、早発禁止制約を作成する（Ｓ５０２）。具体的に、ＣＰＵ３０１は、実行ダイヤを読み出して、Ａ列車のａ駅の発車時刻、実行ダイヤにおけるＡ列車のａ駅の発車時刻という制約を作成する。
【０１２８】
そして、運転整理装置１０３のＣＰＵ３０１は、番線使用制約を作成する（Ｓ５０３）。具体的に、ＣＰＵ３０１は、各列車の駅ごとに、Ａ列車の使用番線＝実行ダイヤにおけるＡ列車の使用番線という制約を作成する。
【０１２９】
そして、運転整理装置１０３のＣＰＵ３０１は、車両運用制約を作成する（Ｓ５０４）。具体的に、ＣＰＵ３０１は、実行ダイヤを用いて列車ごとに、Ａ列車の後運用＝Ｂ列車、Ｂ列車の前運用＝Ａ列車という制約を作成することによって実行される。
【０１３０】
そして運転整理装置１０３のＣＰＵ３０１は、最小停車時分制約を作成する（Ｓ５０５）。具体的に、ＣＰＵ３０１は、基礎データのうち最小停車時分データを元に、各列車の駅ごとに、Ａ列車のａ駅の発車時刻−Ａ列車のａ駅の到着時刻≧基礎データにおけるＡ列車の速度種別のａ駅における最小停車時分という制約を作成する。
【０１３１】
運転整理装置１０３のＣＰＵ３０１は、基準運転時分制約を作成する（Ｓ５０６）。具体的に、ＣＰＵ３０１は、基礎データのうち基準運転時分データを元に、各列車の駅間ごとに、Ａ列車のｂ駅の到着時刻−Ａ列車のａ駅の発車時刻≧基礎データにおけるＡ列車の速度種別のａ駅−ｂ駅間基準運転時分という制約を作成する。
【０１３２】
運転整理装置１０３のＣＰＵ３０１は、最も早い値を取得するようにして、実行可能解を求める（Ｓ５０７）。実行可能解とは、制約をすべて満たす解のことである。求解は一般的な制約プログラミングの技法を用いて行う。なお、運転整理装置１０３の記憶装置には、制約プログラミングエンジンとして、制約プログラミング実行エンジン２２０が保存されており、これをＣＰＵ３０１が実行することによって解を求める。なお、制約プログラミング実行エンジン２２０としては、一般的に入手可能な制約プログラミングエンジンを適用可能である。
【０１３３】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ５０７求められた解を予測ダイヤとして出力する（Ｓ５０８）。なお、この予測ダイヤでは番線を変更しないため、番線は実行ダイヤのデータをそのまま転記する。
【０１３４】
（１−６−６）ステップＳ４０５：列車走行距離平準化提案処理）
次に、図１４Ａ及び図１４Ｂを参照して、ステップＳ４０５における列車走行距離平準化提案処理の概要について説明する。
【０１３５】
図１４Ａに示すように、運転整理装置１０３のＣＰＵ３０１は、実行ダイヤ（列車計画）２０９を列車走行距離平準化提案ダイヤ（列車計画）２１５にコピーし、実行ダイヤ（運用計画）２１０を列車走行距離平準化提案ダイヤ（運用計画）２１６にコピーする（Ｓ６０１）。なお、運転整理装置１０３のＣＰＵ３０１が当該処理を実行したのち、運転整理装置１０３のＣＰＵ３０１が、図７に示した列車走行距離平準化提案ダイヤ（列車計画）の前運用選択フラグ１９０３及び後運用選択フラグ１９０４をすべて０に初期化する。
【０１３６】
そして、運転整理装置１０３のＣＰＵ３０１は、列車走行距離平準化提案ダイヤ（列車計画）２１５と列車走行距離平準化提案ダイヤ（運用計画）２１６をもとに、各会社全列車走行距離計算処理を実行する（Ｓ６０２）。なお、ステップＳ６０２における各会社全列車走行距離計算処理は後で詳細に説明する。
【０１３７】
そして、運転整理装置１０３のＣＰＵ３０１は、各会社の列車走行距離が平準化されているかを判定する（Ｓ６０３）。ステップＳ６０３において、各会社の列車走行距離が平準化されていると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６１１の処理を実行する。ステップＳ６０３において、各会社の列車走行距離が平準化されていないと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０４の処理を実行する。
【０１３８】
運転整理装置１０３のＣＰＵ３０１は、列車走行距離平準化提案ダイヤにおいて、現在時刻以後で運用計画変更を試行していない後運用列車があるかを判定する（Ｓ６０４）。
【０１３９】
ステップＳ６０４において、現在時刻以後で運用計画変更を試行していない後運用列車があると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、変更可能前の運用列車選択処理を実行する（Ｓ６０５）。ステップＳ６０５における変更可能前の運用列車選択処理については、後で詳細に説明する。
【０１４０】
一方、ステップＳ６０４において、現在時刻以後で運用計画変更を試行していない後運用列車がないと判定された場合、すなわち、各要素に対して処理が実行された場合には、運転整理装置１０３のＣＰＵ３０１は、処理を終了する。
【０１４１】
例えば、運転整理装置１０３のＣＰＵ３０１が、運転整理装置１０３の実績ダイヤ（列車計画）の列車番号を検索して、列車の列車番号が存在しなければ、運転整理装置１０３のＣＰＵ３０１が当該列車は現在時刻以後の後運用列車であると判断してもよい。また、例えば、運転整理装置１０３のＣＰＵ３０１が、運転整理装置１０３の時計３０８から現在時刻を読み取り、実行ダイヤ（列車計画）の列車番号を探索して、列車の始発駅出発時刻が現在時刻よりも後になっている場合、運転整理装置のＣＰＵ３０１が当該列車を現在時刻以後の後運用列車であると判断してもよい。
【０１４２】
また、運転整理装置１０３のＣＰＵ３０１が、後運用列車について運用計画変更を試行したか否かは、例えば、図１９に示した列車走行距離平準化提案ダイヤ（運用計画）の後運用選択フラグで判断してもよい。ステップＳ６０４で、現在時刻以後で運用計画変更を試行していない後運用列車を抽出した場合、運転整理装置１０３のＣＰＵ３０１が、当該後運用列車の後運用変更を試行したことを記憶装置に書き込む。例えば、運転整理装置１０３のＣＰＵ３０１が、図１９に示した列車走行距離平準化委提案ダイヤ（運用計画）において、当該列車番号に該当する行の後運用選択フラグを１に変更する、としてもよい。
【０１４３】
また、運転整理装置１０３のＣＰＵ３０１が、現在時刻以後で運用計画変更を試行していない後運用列車を抽出する順番は、例えば、現在時刻以後で最も早い後運用列車から始発駅出発時刻の早い順に抽出することとしてもよい。また、現在時刻以後で最も遅い後運用列車から始発駅出発時刻の遅い順に抽出してもよい。また、列車の優等度の高い後運用列車から抽出してもよいし、列車の優等度の低い後運用列車から抽出してもよい。
【０１４４】
運転整理装置１０３のＣＰＵ３０１は、列車走行距離平準化提案ダイヤ（運用計画）において、変更可能前運用列車選択処理を実行する（Ｓ６０５）。ステップＳ６０５における変更可能前運用列車選択処理については、後で詳細に説明する。
【０１４５】
そして、運転整理装置１０３のＣＰＵ３０１は、変更可能前運用列車が選択可能かを判定する（Ｓ６０６）。ステップＳ６０６において、変更可能前運用列車が選択可能であると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０７の処理を実行する。一方、ステップＳ６０６において、変更可能前運用列車が選択可能でないと判断した場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０４以降の処理を繰り返す。
【０１４６】
そして、運転整理装置１０３のＣＰＵ３０１は、列車走行距離差改善判断処理を実行する（Ｓ６０７）。ステップＳ６０７における列車走行距離差改善判断処理については、後で詳細に説明する。
【０１４７】
ステップＳ６０７における列車走行距離差改善判断処理を実行した結果、運転整理装置１０３のＣＰＵ３０１は、列車走行距離差が改善するかを判定する（Ｓ６０８）。ステップＳ６０８において、列車走行距離差が改善すると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０９の処理を実行する。一方、ステップＳ６０８において、列車走行距離さが改善しないと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０４以降の処理を繰り返す。
【０１４８】
そして、運転整理装置１０３のＣＰＵ３０１は、当該後運用列車と、変更可能前運用列車をつなぐよう、列車走行距離平準化提案ダイヤを更新する（Ｓ６０９）。なお、ステップＳ６０８の処理を運用更新処理と称して説明する場合もある。
【０１４９】
ステップＳ６０９の処理を説明するため、運用変更を実施する駅をＡとする。また、変更可能前運用列車の列車番号をａ、更新前の列車走行距離平準化ダイヤにおける前変更可能前運用列車の後運用列車の列車番号をｂ、当該後運用列車の列車番号をｄ、更新前の列車走行距離平準化ダイヤにおける当該後運用列車の前運用列車の列車番号をｃとする。
【０１５０】
また、変更可能前運用列車の編成番号と更新前の列車走行距離平準化ダイヤにおける前変更可能前運用列車の後運用列車の編成番号をＶａ、当該後運用列車の列車番号と、更新前の列車走行距離平準化ダイヤにおける当該後運用列車の前運用列車の編成番号をＶｃとする。更新前の列車走行距離平準化ダイヤにおいて、列車番号ａと列車番号ｂの列車は当該運用を実施する駅において番線ｘを使用するとする。更新前の列車走行距離平準化ダイヤにおいて、列車番号ｃと列車番号ｄの列車は当該運用を実施する駅において番線ｙを使用するとする。
【０１５１】
ステップＳ６０９の運用更新処理では、運転整理装置１０３のＣＰＵ３０１が、まず図１３に示した列車走行距離平準化提案ダイヤ（列車計画）において、列車番号１３０１の列からａと合致する行を検索し、その行の後運用列車の列車番号をｄに書き換える。
【０１５２】
運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）において、列車番号１３０１の列から列車番号ｂと合致する行を検索し、その行の前運用列車の列車番号をｃに書き換える。次に、運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）において、列車番号１３０１の列から列車番号ｃと合致する行を検索し、その行の後運用列車の列車番号をｂに書き換える。次に、運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）において、列車番号１３０１の列から列車番号ｄと合致する行を検索し、その行の前運用列車の列車番号をａに書き換える。
【０１５３】
次に、運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）において、列車番号１３０１の列から列車番号ｂと合致する行を検索し、その行のダイヤへのポインタを参照して、駅Ａの使用番線をｙに書き換える。次に、運転整理装置１０３のＣＰＵ３０１は、図１３に示した列車走行距離平準化提案ダイヤ（列車計画）において、列車番号１３０１の列から列車番号ｄと合致する行を検索し、その行のダイヤへのポインタを参照して、駅Ａの使用番線をｘに書き換える。なお、これらの処理の実行順番は変更してもよい。
【０１５４】
なお、上記処理において、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案ダイヤ（運用計画）において、列車番号ｂの後運用列車の編成番号、および後運用列車に続くすべての運用列車の編成番号を、編成番号Ｖｃに書き換えてもよい。また、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案ダイヤ（運用計画）において、列車番号ｄの後運用列車の編成番号、および後運用列車に続くすべての運用列車の編成番号を、編成番号Ｖａに書き換えてもよい。なお、運転整理装置１０３のＣＰＵ３０は、後運用列車および後運用列車に続くすべての運用列車の編成番号を、図４に示した列車走行距離平準化提案ダイヤ（列車計画）における前運用列車１３０５および後運用列車１３０６と、図７に示した列車走行距離平準化提案ダイヤ（運用計画）から検索可能である。
【０１５５】
運転整理装置１０３のＣＰＵ３０１がステップＳ６０５の変更可能前運用列車選択処理を実行し、変更可能前運用列車として予備車を選択した場合における、ステップＳ６０８の運用更新処理の詳細を説明するため、運用変更を実施する駅をＡとする。当該後運用列車の列車番号をｄ、更新前の列車走行距離平準化ダイヤにおける当該後運用列車の前運用列車の列車番号をｃとする。予備車の編成番号をＶａ、当該後運用列車の列車番号と、更新前の列車走行距離平準化ダイヤにおける当該後運用列車の前運用列車の編成番号をＶｃとする。
【０１５６】
運転整理装置１０３のＣＰＵ３０１がステップＳ６０５の変更可能前運用列車選択処理を実行し、変更可能前運用列車として予備車を選択した場合における、ステップＳ６０９の運用更新処理ではまず、運転整理装置１０３のＣＰＵ３０１が、図７に示した列車走行距離平準化提案ダイヤ（運用計画）において、編成番号がＶａであり、予備車駅がＡ駅となっている行を検索し、その予備車駅を「＊」に書き換え、その列車番号をｄに書き換え、予備車前運用列車番号を「＊」に書き換える。
【０１５７】
次に、運転整理装置１０３のＣＰＵ３０１が、図７に示した列車走行距離平準化提案ダイヤ（運用計画）において、編成番号がＶｃ、列車番号がｄである行を検索し、その列車番号を「＊」で書き換え、予備車駅をＡ駅で書き換え、予備車前運用列車番号を「ｃ」に書き換える。なお、これらの処理の実行順番は変更してもよい。
【０１５８】
なお、上記処理において、運転整理装置１０３のＣＰＵ３０１が、図７に示した列車走行距離平準化提案ダイヤ（運用計画）において、列車番号ｄの後運用列車の編成番号、および後運用列車に続くすべての運用列車の編成番号を、編成番号Ｖａに書き換えてもよい。また、後運用列車および後運用列車に続くすべての運用列車の編成番号は、運転整理装置１０３のＣＰＵ３０１が、図４に示した列車走行距離平準化提案ダイヤ（列車計画）における前運用列車１３０５および後運用列車１３０６と、図７に示した列車走行距離平準化提案ダイヤ（運用計画）から検索可能である。
【０１５９】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０９の運用更新処理を実行し、更新された列車走行距離平準化提案ダイヤをもとに、図１３に示した予測処理を実行し、予測処理の実行結果で列車走行距離平準化提案ダイヤを上書きする（Ｓ６１０）。
【０１６０】
続いて、運転整理装置１０３のＣＰＵ３０１は、列車走行距離平準化提案ダイヤと実行ダイヤに差があるかを判定する（Ｓ６１１）。具体的に、運転整理装置１０３のＣＰＵ３０１は、図７に示す列車走行距離平準化提案ダイヤ（運用計画）の前運用選択フラグと後運用選択フラグを０に初期化したのち、列車走行距離平準化提案ダイヤと実行ダイヤの差分をとり、その差があるかを判定する。ステップＳ６１１において、差があると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６１２の処理を実行する。一方、ステップＳ６１１において、差がないと判定された場合には、処理を終了する。
【０１６１】
ステップＳ６１２では、運転整理装置１０３のＣＰＵ３０１は、更新された列車走行距離平準化提案ダイヤをもとにステップＳ４０４の予測処理を実行し、予測結果を列車走行距離平準化ダイヤとして出力する（Ｓ６１２）。
【０１６２】
（１−６−６−１）ステップＳ６０２：各社全列車走行距離計算処理
次に、図１５を参照して、ステップＳ６０２における各社全列車走行距離計算処理の概要について説明する。
【０１６３】
図１５に示すように、運転整理装置１０３のＣＰＵ３０１は、図１０に示した線区データ１７００より線区保有会社をすべて列挙し、さらに図６に示した列車走行距離平準化提案ダイヤデータ（運用計画）の編成データ１８００より編成保有会社をすべて列挙し、それらを重複しない会社を関連会社として列挙する（Ｓ７０１）。
【０１６４】
続いて、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７０１の処理で列挙した関連会社のすべてのペアについて列車走行距離Ｒ（会社１→会社２）を作成し、０に初期化する（Ｓ７０２）。なお、例えば、ステップＳ７０１の処理で列挙した関連会社がＡ、Ｂ、Ｃの場合、運転整理装置１０３のＣＰＵ３０１が、Ｒ（Ａ→Ｂ）、Ｒ（Ｂ→Ａ）、Ｒ（Ａ→Ｃ）、Ｒ（Ｃ→Ａ）、Ｒ（Ｂ→Ｃ）、Ｒ（Ｃ→Ｂ）の６つの列車走行距離を作成し、すべて０に初期化する。
【０１６５】
そして、運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化ダイヤ（列車計画）に記載されている列車番号の総数を読み取る（Ｓ７０３）。以後、ステップＳ７０３で運転整理装置１０３のＣＰＵ３０１が読み取った列車番号の総数をＮとする。
【０１６６】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７０５からステップＳ７１３までの処理を繰り返す（Ｓ７０４）。
【０１６７】
繰り返し処理において、まず、運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化ダイヤ（列車計画）の中でｉ番目に記載されている列車番号１３０１を読み取る（Ｓ７０５）。なお、ｉ番目の列車番号は、例えば、列車走行距離平準化ダイヤ（列車計画）の中で上からｉ番目の列車番号でもよく、例えば、下からｉ番目の列車番号でもよい。
【０１６８】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７０５で読み取った列車番号をもとに、図７に示した列車走行距離平準化ダイヤ（運用計画）から、当該列車番号の編成の編成番号を読み取る（Ｓ７０６）。
【０１６９】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７０６で読み取った編成番号をもとに、図６に示した列車走行距離平準化ダイヤ（運用計画）から、当該編成番号の編成の保有会社を読み取る（Ｓ７０７）。なお、運転整理装置１０３のＣＰＵ３０１は、図６に示した列車走行距離平準化ダイヤ（運用計画）から、ステップＳ７０６で読み取った編成番号の編成両数を読み取ってもよい。以後、図１５の説明において、ステップＳ７０７で運転整理装置１０３のＣＰＵ３０１が読み取った保有会社をＸ、編成両数をａとする。
【０１７０】
運転整理装置１０３のＣＰＵ３０１は、ステップＳ７０３で読み取った列車番号をもとに、図４に示した列車走行距離平準化ダイヤ（列車計画）に記載されている当該列車番号の列車の走行線区を読み取る（Ｓ７０８）。以後、ステップＳ７０８で運転整理装置１０３のＣＰＵ３０１が読み取った走行線区の総数をＭとする。
【０１７１】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７１０からステップＳ７１２までの処理を、ステップＳ７０８で運転整理装置１０３のＣＰＵ３０１が読み取った走行線区総数の数だけ繰り返す（Ｓ７０９）。
【０１７２】
繰り返し処理において、運転整理装置１０３のＣＰＵ３０１は、図１０に示した線区データ１７００より、ステップＳ７０８で読み取った走行線区でｊ番目の走行線区の保有会社と走行距離を読み取る（Ｓ７１０）。以後、図１５の説明において、ステップＳ７１０で運転整理装置１０３のＣＰＵ３０１が読み取った保有会社をＹ、走行距離をｚとする。
【０１７３】
運転整理装置１０３のＣＰＵ３０１は、ＸとＹが一致しているかを判定する（Ｓ７１１）。ステップＳ７１１において、ＸとＹが一致していると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７１３に進む。一方、ステップＳ７１１において、ＸとＹが一致していないと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ７１２の処理を実行する。
【０１７４】
運転整理装置１０３のＣＰＵ３０１は、Ｒ（Ｙ→Ｘ）にｚを加える（Ｓ７１２）。なお、列車走行距離を走行距離×編成両数と定義する場合は、Ｒ（Ｙ→Ｘ）にｚ×ａを加えてもよい。これは、例えば、編成保有会社がＸ、線区保有会社がＹである場合、Ｘの編成をＹの線区上で走行させるとＹがＸに対して車両使用料を支払うことがある、という状況を踏まえており、この場合、Ｒ（Ｙ→Ｘ）を車両使用料としてもよい。
【０１７５】
ステップＳ７１３は、ステップＳ７０９に戻る処理である。また、ステップＳ７１４は、ステップＳ７０４に戻る処理である。
【０１７６】
（１−６−６−２）ステップＳ６０５：変更可能前運用列車選択処理
次に、図１６を参照して、ステップＳ６０５における変更可能前運用列車選択処理の概要について説明する。
【０１７７】
図１６に示すように、運転整理装置１０３のＣＰＵ３０１は、列車走行距離平準化提案ダイヤにおいて、現在時刻以後で運用計画変更を試行していない前運用列車があるかを判定する（Ｓ８０１）。
【０１７８】
ステップＳ８０１において、現在時刻以後で運用計画変更を試行していない前運用列車があると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０２の処理を実行する。一方、ステップＳ８０１において、現在時刻以後で運用計画変更を試行していない前運用列車がないと判定された場合、すなわち、各要素に対して処理が実行された場合には、運転整理装置１０３のＣＰＵ３０１は、処理を終了する。
【０１７９】
ステップＳ８０１では、例えば、運転整理装置１０３のＣＰＵ３０１が、運転整理装置１０３の実績ダイヤ（列車計画）の列車番号を検索して、列車の列車番号が存在しなければ、運転整理装置のＣＰＵ３０１が当該列車は現在時刻以後の前運用列車であると判断してもよい。また、例えば、運転整理装置１０３のＣＰＵ３０１が、運転整理装置１０３の時計３０８から現在時刻を読み取り、実行ダイヤ（列車計画）の列車番号を探索して、列車の始発駅出発時刻が現在時刻よりも後になっている場合、運転整理装置のＣＰＵ３０１が当該列車を現在時刻以後の前運用列車であると判断してもよい。
【０１８０】
また、運転整理装置１０３のＣＰＵ３０１が、前運用列車について運用計画変更を試行したか否かは、例えば、図７に示した列車走行距離平準化提案ダイヤ（運用計画）の前運用選択フラグ１９０３で判断してもよい。ステップＳ８０１において、現在時刻以後で運用計画変更を試行していない前運用列車を抽出した場合、運転整理装置１０３のＣＰＵ３０１は、当該前運用列車の後運用変更を試行したことを記憶装置に書き込む。例えば、運転整理装置１０３のＣＰＵ３０１は、図７に示した列車走行距離平準化提案ダイヤ（運用計画）において、当該列車番号に該当する行の前運用選択フラグを１に変更してもよい。
【０１８１】
なお、運転整理装置１０３のＣＰＵ３０１が、現在時刻以後で運用計画変更を試行していない前運用列車を抽出する順番は、例えば、現在時刻以後で最も早い前運用列車から始発駅出発時刻の早い順に抽出してもよいし、現在時刻以後で最も遅い前運用列車から始発駅出発時刻の遅い順に抽出してもよいし、列車の優等度の高い前運用列車から抽出してもよいし、列車の優等度の低い前運用列車から抽出してもよい。
【０１８２】
また、ステップＳ８０１において、運転整理装置１０３のＣＰＵ３０１は、現在時刻以後で運用計画変更を試行していない前運用列車として予備車を抽出してもよい。
【０１８３】
ステップＳ８０２では、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０１において抽出した前運用列車が、ステップＳ６０４で抽出した後運用列車と同一駅で運用を実施するかを判定する。
【０１８４】
ステップＳ８０２において、ステップＳ８０１で抽出した前運用列車が、ステップＳ６０４で抽出した後運用列車と同一駅で運用を実施すると判定された場合に、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０３の処理を実行する。
【０１８５】
一方、ステップＳ８０２において、ステップＳ８０１で抽出した前運用列車が、ステップＳ６０４で抽出した後運用列車と同一駅で運用を実施しないと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０１以降の処理を繰り返す。
【０１８６】
例えば、運転整理装置１０３のＣＰＵ３０１が、ステップＳ８０１で抽出した前運用列車の列車番号から図４に示した列車走行距離平準化提案ダイヤ（列車計画）のダイヤへのポインタ１３０４を参照して、図５に示した列車走行距離平準化提案ダイヤデータ（列車計画）から終着駅を読み取る。また、ステップＳ６０４で抽出した後運用列車の列車番号から図４に示した列車走行距離平準化提案ダイヤ（列車計画）のダイヤへのポインタを参照して、図５に示した列車走行距離平準化提案ダイヤデータ（列車計画）から始発駅を読み取る。そして、読み取った終着駅と読み取った始発駅が一致していれば、ステップＳ８０１の処理で抽出した前運用列車が、ステップＳ６０４で抽出した後運用列車と同一駅で運用を実施すると判断してもよい。
【０１８７】
ステップＳ８０３では、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０１で抽出した前運用列車が、ステップＳ６０４で抽出した後運用列車の前運用列車と異なるかを判定する。
【０１８８】
ステップＳ８０１の処理で抽出した前運用列車が、ステップＳ６０４の処理で抽出した後運用列車の前運用列車と異なると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０４の処理を実行する。一方、ステップＳ８０１の処理で抽出した前運用列車が、ステップＳ６０４の処理で抽出した後運用列車の前運用列車と一致したと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０１以降の処理を繰り返す。
【０１８９】
例えば、ステップＳ８０３において、運転整理装置１０３のＣＰＵ３０１が、ステップＳ８０１の処理で抽出した前運用列車の列車番号をもとに、図４に示した列車走行距離平準化提案ダイヤ（列車計画）から後運用列車の列車番号を読み取り、その列車番号が、ステップＳ６０４の処理で抽出した後運用列車の列車番号と一致した場合、ステップＳ８０１の処理で抽出した前運用列車が、ステップＳ６０４の処理で抽出した後運用列車の前運用列車であると判断してもよい。
【０１９０】
ステップＳ８０４では、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０４で抽出した後運用列車が、物理的に走行可能かを判定する。ステップＳ８０４において、ステップＳ６０４の処理で抽出した後運用列車が物理的に走行可能であると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、当該列車を前運用列車として選択する（Ｓ８０５）。
【０１９１】
一方、ステップＳ８０４において、テップ６０４の処理で抽出した後運用列車が物理的に走行可能でないと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０１以降の処理を繰り返す。
【０１９２】
ステップＳ６０４の処理で抽出した後運用列車の始発駅と、ステップＳ８０１の処理で抽出した前運用列車の終着駅は、ステップＳ８０２で同一駅であるため、以後、ステップＳ８０４の説明において、前記同一駅を運用駅と称して説明する。
【０１９３】
なお、ステップＳ６０４で抽出した後運用列車が物理的に走行可能であるとは、例えば、ステップＳ６０４で抽出した後運用列車の運用駅（始発駅）出発時刻が、ステップＳ８０１で抽出した前運用列車の運用駅（終着駅）到着時刻よりも遅い、としてもよい。また、ステップＳ８０１で抽出した前運用列車が予備車であった場合、前運用列車の終着駅到着時刻として、予備車の前運用列車の終着駅到着時刻を選択してもよい。
【０１９４】
予備車の前運用列車の終着駅到着時刻は、例えば、運転整理装置１０３のＣＰＵ３０１が、図７に示した列車走行距離平準化提案ダイヤ（運用計画）において、当該予備車の編成番号から予備車前運用列車番号を読み取り、読み取った列車番号を基に図４に示した列車走行距離平準化提案ダイヤ（列車計画）より当該列車番号のダイヤへのポインタをたどり、図５に示した列車走行距離平準化提案ダイヤ（列車計画）の終着駅到着時刻を読み取ることによって取得できる。
【０１９５】
なお、ステップＳ６０４の処理で抽出した後運用列車が物理的に走行可能であるとは、例えば、ステップＳ８０１の処理で抽出した前運用列車の運用駅到着時刻から、ステップＳ６０４の処理で抽出した後運用列車の運用駅出発時刻の間で、運用駅を使用する列車数よりも当該駅の番線数が少ない時間帯が一度も存在しないとしてもよい。
【０１９６】
なお、ステップＳ６０４の処理で抽出した後運用列車が物理的に走行可能であるとは、例えば、ステップＳ６０４の処理で抽出した後運用列車の運用駅使用番線と、ステップＳ８０１の処理で抽出した前運用列車の運用駅使用番線が、図１１に示した番線定義データの構造例において、運用駅での同じ番線グループに属しているとしてもよい。これは、運用駅で、前運用列車の運用駅使用番線と、後運用列車の運用駅使用番線が同じ番線グループに属していないと、後運用列車が運用駅を出発後に、列車走行距離平準化提案ダイヤ（列車計画）に記載されている運用駅の次駅および次駅番線に到着できないからである。
【０１９７】
なお、ステップＳ６０４の処理で抽出した後運用列車が物理的に走行可能であるとは、例えば、以下の手順で列車運行ネットワークを作成し、運転整理装置１０３のＣＰＵ３０１が、当該ネットワーク上で強連結成分分解を実行して強連結成分が存在しないと判断してもよい。
【０１９８】
すなわち、運転整理装置１０３のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）において、各列車の各駅各番線到着、各駅各番線出発をそれぞれグラフにおけるノードとし、図１３のステップＳ５０１で述べた順序制約に基づいて、時刻の早いノードから遅いノードに向けてエッジを張る。そして、図１３に示したステップＳ４０４の予測処理の概要のステップＳ５０４で述べた車両運用制約に基づいて、運用ごとに前運用列車の到着ノードから後運用列車の出発ノードにエッジを張る。そして、図１３のステップＳ５０５で述べた最小停車時分制約に基づいて、列車駅ごとに到着ノードから出発ノードにエッジを張る。さらに、図１３のステップＳ５０６で述べた基準運転時分制約に基づいて、各列車の駅間ごとに、後方駅出発ノードから前方駅到着ノードにエッジを張ることによって列車運行ネットワークを作成する。
【０１９９】
なお、ステップＳ６０４で抽出した後運用列車が物理的に走行可能であるとは、例えば、上記例の複数を組み合わせたものでもよい。
【０２００】
そして、運転整理装置１０３のＣＰＵ３０１は、ステップＳ８０１で抽出した前運用列車を、ステップＳ６０５の処理における変更可能前運用列車として選択する（Ｓ８０５）。ステップＳ８０５において、運転整理装置１０３のＣＰＵ３０１が、図７に示した列車走行距離平準化提案ダイヤ（運用計画）のうち、前運用選択フラグをすべて０に初期化する。なお、この処理はどちらを先に実行してもよい。
【０２０１】
（１−６−６−３）ステップＳ６０７：列車走行距離差改善判断処理
次に、図１７を参照して、ステップＳ６０７における列車走行距離差改善判断処理の概要について説明する。
【０２０２】
図１７に示すように、運転整理装置１０３のＣＰＵ３０１は、当該後運用列車の編成を保有する会社をＸ、変更可能前運用列車の編成を保有する会社をＹとして記憶装置の一時領域に書き込む（Ｓ９０１）。ここで、当該後運用列車とは、ステップＳ６０４で抽出された後運用列車であり、変更可能前運用列車とは、ステップＳ６０６で選択された変更可能前運用列車である。
【０２０３】
ステップＳ９０１において、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０４で抽出した後運用列車の列車番号を基に、図７に示した列車走行距離平準化提案ダイヤ（運用計画）の編成番号を読み取る。そして、その読み取った編成番号を基に、図６に示した編成データから当該編成の編成保有会社を読み取ることによってＸを特定する。
【０２０４】
また、運転整理装置１０３のＣＰＵ３０１は、ステップＳ６０６で選択した前運用列車の列車番号を基に、図７に示した列車走行距離平準化提案ダイヤ（運用計画）の編成番号を読み取る。そして、その読み取った編成番号を基に、図６に示した編成データから当該編成の編成保有会社を読み取ることによってＹを特定する。
【０２０５】
続いて、運転整理装置１０３のＣＰＵ３０１は、ステップＳ９０１で特定したＸとＹが異なるかを判定する（Ｓ９０２）。ステップＳ９０２において、ＸとＹが異なると判定された場合には、ステップＳ９０３の処理を実行する。一方、ステップＳ９０２において、ＸとＹが一致すると判定された場合には、ステップＳ９０９の処理を実行する。
【０２０６】
なお、図１５のステップＳ７１２において、Ｒ（Ｙ→Ｘ）に走行距離×編成両数が加えられた場合、ステップＳ９０２では、運転整理装置１０３のＣＰＵ３０１は、ＸとＹが異なるかどうか、かつ、ステップＳ６０４の処理で抽出した後運用列車の編成両数が、ステップＳ６０６の処理を実行して選択した変更可能前運用列車の編成両数と異なるかを判定する。
【０２０７】
この場合、ＸとＹが一致し、かつステップＳ６０４の処理で抽出した後運用列車の編成両数が、ステップＳ６０６の処理を実行して選択した変更可能前運用列車の編成両数と一致していた場合のみ、ステップＳ９０９の処理へ進む。上記以外の場合は、ステップＳ９０３の処理を実行する。これは、列車走行距離として走行距離×編成両数を考えた場合、ステップＳ６０４の処理で抽出した後運用列車の編成保有会社と、ステップＳ６０６の処理を実行し選択した変更可能前運用列車の編成保有会社が同一であっても、編成両数が異なれば、列車走行距離を変化させる可能性があるためである。
【０２０８】
ステップＳ９０３では、運転整理装置１０３のＣＰＵ３０１は、ＸとＹがともに列車走行距離平準化対象会社となっているかを判定する。ステップＳ９０３において、ＸとＹがともに列車走行距離平準化対象会社となっていると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ９０４の処理を実行する。一方、ステップＳ９０３において、ＸとＹがともに列車走行距離平準化対象会社となっていないと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、ステップＳ９０９の処理を実行する。
【０２０９】
ここで、列車走行距離平準化対象会社とは、図１２に示したステップＳ４０１の処理において、指令員がキーボード３０５を用いて、図１８で示した列車走行距離平準化関連会社入力ウィンドウ２２０３に入力した会社を意味する。
【０２１０】
ステップＳ９０４では、運転整理装置１０３のＣＰＵ３０１は、Ｘの全列車走行距離からＹの全列車走行距離を減算し、その値をＤとして記憶装置の一時領域に書き込む。なお、ステップＳ９０４において、Ｘの全列車走行距離およびＹの全列車走行距離を計算する処理は、図１５に示した各社全列車走行距離計算処理と同様である。図１５の各社全列車走行距離計算処理での記号を利用して、ステップＳ９０４の処理を説明すると、運転整理装置１０３のＣＰＵ３０１は、Ｒ（Ｙ→Ｘ）−Ｒ（Ｘ→Ｙ）を計算し、その値をＤとして記憶装置の一時領域に書き込む。
【０２１１】
そして、運転整理装置１０３のＣＰＵ３０１は、当該後運用列車の走行距離と、列車走行距離平準化提案ダイヤにおいて、変更可能前運用列車の後運用列車の走行距離を計算し、その差をｄとして記憶装置の一時領域に書き込む（Ｓ９０５）。ここで、当該後運用列車とは、ステップＳ６０４で抽出された後運用列車を指し、変更可能前運用列車とは、ステップＳ６０６で選択された変更可能前運用列車を指す。
【０２１２】
なお、ステップＳ６０６で、運転整理装置１０３のＣＰＵ３０１が、変更可能前運用列車として予備車を選択した場合には、列車走行距離平準化提案ダイヤにおいて、変更可能前運用列車の後運用列車の走行距離は０とする。
【０２１３】
そして、運転整理装置１０３のＣＰＵ３０１は、上記算出したＤとｄの符号が同符号であるかを判定する（Ｓ９０６）。ステップＳ９０６において、Ｄとｄの符号が同符号であると判定された場合にはい、運転整理装置１０３のＣＰＵ３０１は、ステップＳ９０７の処理を実行する。一方、ステップＳ９０６において、Ｄとｄの符号が同符号でないと判定された場合には、ステップＳ９０９の処理を実行する。
【０２１４】
ステップＳ９０７において、運転整理装置１０３のＣＰＵ３０１は、ｄの絶対値｜ｄ｜がＤの絶対値｜Ｄ｜の二倍よりも小さいかを判定する。ステップＳ９０７において、ｄの絶対値がＤの絶対値の二倍よりも小さいと判定された場合には、運転整理装置１０３のＣＰＵ３０１は、列車走行距離差が改善すると判断する（Ｓ９０８）。
【０２１５】
一方、ステップＳ９０７において、ｄの絶対値がＤの絶対値の二倍以上であると判定された場合には、運転整理装置１０３のＣＰＵ３０１は、運転整理装置１０３のＣＰＵ３０１が、列車走行距離差が改善すると判断する（Ｓ９０９）。
【０２１６】
なお、ステップＳ９０６とステップＳ９０７の判定処理によって、列車走行距離差が改善する理由については後で詳細に説明する。
【０２１７】
ここで、ステップＳ９０４からステップＳ９０７において、ＸとＹ以外に列車走行距離平準化対象となっている会社（Ｚとする）が存在し、当該後運用列車、または、列車走行距離平準化提案ダイヤにおいて変更可能前運用列車の後運用列車、またはその両方が、Ｚが保有する線区を走行する場合について説明する。
【０２１８】
ステップＳ９０４では、上記したように、運転整理装置１０３のＣＰＵ３０１は、Ｒ（Ｙ→Ｘ）−Ｒ（Ｘ→Ｙ）を計算し、その値をＤとして記憶装置の一時領域に書き込む。さらに、Ｒ（Ｚ→Ｘ）−Ｒ（Ｘ→Ｚ）を計算しその値をＤＸとして記憶装置の一時領域に書き込み、Ｒ（Ｚ→Ｙ）−Ｒ（Ｙ→Ｚ）を計算しその値をＤＹとして記憶装置の一時領域に書き込む。
【０２１９】
また、ステップＳ９０５では、上記したように、運転整理装置１０３のＣＰＵ３０１は、当該後運用列車の走行距離と、列車走行距離平準化提案ダイヤにおいて、変更可能前運用列車の後運用列車の走行距離を計算し、その差をｄとして記憶装置の一時領域に書き込む。さらに、当該後運用列車がＺの保有する線区を走行する走行距離から、列車走行距離平準化提案ダイヤにおいて変更可能前運用列車の後運用列車がＺの保有する線区を走行する走行距離を引いた値を計算し、その値をｄＸとして記憶装置の一時領域に書き込み、列車走行距離平準化提案ダイヤにおいて変更可能前運用列車の後運用列車がＺの保有する線区を走行する走行距離から、当該後運用列車がＺの保有する線区を走行する走行距離を引いた値を計算し、その値をｄＹとして記憶装置の一時領域に書き込む。
【０２２０】
また、ステップＳ９０６では、運転整理装置１０３のＣＰＵ３０１は、Ｄとｄの符号が同符号、かつ、ＤＸとｄＸが同符号、かつ、ＤＹとｄＹが同符号かを判定する。Ｄとｄの符号が同符号、かつ、ＤＸとｄｘが同符号、かつ、ＤＹとｄＹが同符号の場合、ステップＳ９０７の処理へ進む。これ以外の場合は、ステップＳ９０９へ進む。
【０２２１】
また、ステップＳ９０７では、運転整理装置１０３のＣＰＵ３０１は、ｄの絶対値｜ｄ｜がＤの絶対値｜Ｄ｜の二倍よりも小さい、かつ、ｄＸの絶対値｜ｄＸ｜がＤＸの絶対値｜ＤＸ｜の二倍よりも小さい、かつ、ｄＹの絶対値｜ｄＹ｜がＤＹの絶対値｜ＤＹ｜の二倍よりも小さいかを判定する。
【０２２２】
ステップＳ９０７において、ｄの絶対値｜ｄ｜がＤの絶対値｜Ｄ｜の二倍よりも小さい、かつ、ｄＸの絶対値｜ｄＸ｜がＤＸの絶対値｜ＤＸ｜の二倍よりも小さい、かつ、ｄＹの絶対値｜ｄＹ｜がＤＹの絶対値｜ＤＹ｜の二倍よりも小さい場合、ステップＳ９０８へ進む。これ以外の場合は、ステップＳ９０９へ進む。
【０２２３】
なお、Ｚに相当する会社が複数存在した場合は、上記処理をＺの数分だけ追加すればよい。
【０２２４】
（１−６−６−４）ステップＳ９０６及びＳ９０７の処理の詳細
次に、図１７に示した列車走行距離差改善判断処理において、ステップＳ９０６及びステップＳ９０７の処理によって列車走行距離差が改善すると判断できる理由について、以下に例を挙げて説明する。
【０２２５】
例えば、ステップＳ９０５の処理において、当該後運用列車の列車番号をａ、列車走行距離平準化提案ダイヤにおいて、変更可能前運用列車の後運用列車の列車番号をｂとする。また、当該後運用列車の前運用列車の編成番号をＶＸ（編成保有会社がＸ）、変更可能前運用列車の編成番号をＶＹ（編成保有会社がＹ）とする。また、列車番号ａが走行する線区について、Ｘが保有する線区の走行距離をｘ_ａ、Ｙが保有する線区の走行距離をｙ_ａ、列車番号ｂが走行する線区について、Ｘが保有する線区の走行距離をｘ_ｂ、Ｙが保有する線区の走行距離をｙ_ｂとする。
【０２２６】
これらから、ステップＳ９０５の処理で計算されるｄは以下の式となる。
【０２２７】
ｄ＝（ｘ_ａ＋ｙ_ａ）−（ｘ_ｂ＋ｙ_ｂ）
【０２２８】
ステップＳ９０４の処理において、Ｄが正であるとする。すなわち、Ｒ（Ｙ→Ｘ）＞Ｒ（Ｘ→Ｙ）の状況を考える。これは例えば、ＸとＹの間で、ＸがＹよりも車両使用料を多く得ている状況であると考えてもよい。
【０２２９】
また、以後、ステップＳ９０６、Ｓ９０７の説明において、ｒ（Ｙ→Ｘ）を、Ｙが保有する線区をＸが保有する編成が走行した時の走行距離とする。なお、ｒ（Ｘ→Ｙ）＝−ｒ（Ｙ→Ｘ）が成立するものとする。これは、ｒ（Ｙ→Ｘ）を車両使用料と考えた場合、ｒ（Ｙ→Ｘ）＞０の場合、ＹがＸに対して車両使用料をｒ（Ｙ→Ｘ）だけ支払うが、これはＸがＹに対して車両使用料ｒ（Ｘ→Ｙ）を支払うと考えた場合と同様であり、ここからｒ（Ｘ→Ｙ）＝−ｒ（Ｙ→Ｘ）と定義するのが自然と考えるからである。なお、Ｒ（Ｘ→Ｙ）は、ｒ（Ｘ→Ｙ）が正の値をとる場合についてのみ和をとった値となっている。
【０２３０】
列車走行距離平準化提案ダイヤ通りに列車が走行した場合、列車番号ａの線区は編成番号ＶＸの編成が走行し、列車番号ｂの線区は編成番号ＶＹの編成が走行する。このため、列車番号ａの走行からｒ_ａ（Ｙ→Ｘ）＝ｙ_ａ、列車番号ｂの走行からｒ_ｂ（Ｘ→Ｙ）＝ｘ_ｂの走行距離が計算される。よって、列車走行距離平準化提案ダイヤ通りに、列車番号ａと列車番号ｂの列車が走行する場合、この二列車の正味の走行距離差は、Ｙ→Ｘを基準として、以下の式となる。
【０２３１】
ｒ_ａ（Ｙ→Ｘ）−ｒ_ｂ（Ｘ→Ｙ）＝ｙ_ａ−ｘ_ｂ
【０２３２】
次に、車両運用計画を変更し、列車番号ａの線区を編成番号ＶＹの編成が走行し、列車番号ｂの線区を編成番号ＶＸの編成が走行した場合を考えると、列車番号ａの走行から、ｒ_ａ’（Ｘ→Ｙ）＝ｘ_ａ、列車番号ｂの走行から、ｒ_ｂ’（Ｙ→Ｘ）＝ｙ_ｂ、の走行距離が計算される。よって、車両運用計画を変更した場合、列車番号ａと列車番号ｂの列車の正味の走行距離差は、Ｙ→Ｘを基準として、以下の式となる。
【０２３３】
ｒ_ｂ’（Ｙ→Ｘ）−ｒ_ａ’（Ｘ→Ｙ）＝ｙ_ｂ−ｘ_ａ
【０２３４】
上記では、Ｒ（Ｙ→Ｘ）＞Ｒ（Ｘ→Ｙ）であるため、車両運用計画変更によって列車走行距離が平準化されるためには、Ｒ（Ｙ→Ｘ）が減少することが必要条件である。よって、Ｙ→Ｘを基準として、車両運用計画変更後の走行距離から車両運用計画変更前の走行距離を引いた値が負となる必要がある。
【０２３５】
｛ｒ_ｂ’（Ｙ→Ｘ）−ｒ_ａ’（Ｘ→Ｙ）｝−｛ｒ_ａ（Ｙ→Ｘ）−ｒ_ｂ（Ｘ→Ｙ）｝＜０
【０２３６】
上記式はすなわち、以下の式を満たすことを意味している。
【０２３７】
０＞｛ｘ_ｂ−ｙ_ａ｝−｛ｘ_ａ−ｙ_ｂ｝＝（ｘ_ｂ＋ｙ_ｂ）−（ｘ_ａ＋ｙ_ａ）＝−ｄ
【０２３８】
なお、Ｄが負の場合には、ＸとＹを入れ替えればよい。以上から、Ｄとｄが同符号であれば、Ｒ（Ｙ→Ｘ）が減少し、列車走行距離が平準化されるための必要条件を満たしていることが示された。
【０２３９】
次に、ｄの範囲について考える。車両運用計画変更によって、全列車走行距離の差はＹ→Ｘを基準として、Ｄ−ｄとなることがわかる。ここでｄが２×Ｄ以上であった場合、Ｙ→Ｘを基準とした全列車走行距離の差がＤ−ｄ≦Ｄ−２×Ｄ＝−Ｄとなり、車両運用計画変更以前の差の絶対値｜Ｄ｜よりも、変更後の差の絶対値のほうが大きくなる。これは列車走行距離の差が増大する結果となることを意味する。
【０２４０】
したがって、列車走行距離の差が小さくなるようなｄの範囲はｄ＜２×Ｄである。なお、Ｄが負の場合には、ステップＳ９０６での判断処理よりステップＳ９０７ではｄも負であるため、結局、以下の式がｄの範囲となる。
【０２４１】
｜ｄ｜＜２×｜Ｄ｜
【０２４２】
（１−６−７）ステップＳ４０７：指令員による提案の採否入力
次に、図２０を参照して、ステップＳ４０７において利用される、指令員に提案の採否を入力させる画面について説明する。
【０２４３】
図２０に示す列車スジ表示ウィンドウ２１０１には、列車走行距離平準化提案ダイヤ２３０１及び２１０２が含まれ、提案ウィンドウ２１０３には、提案承認ボタン２３０３、提案却下ボタン２３０４が含まれる。
【０２４４】
図２０に示すように、列車スジ表示ウィンドウ２１０１に提案内容が表示され、指令員は実施ダイヤと列車走行距離平準化提案ダイヤを比較しつつ、提案の承認および却下を選択することができる。指令員が提案を承認する場合は、提案ウィンドウ２１０３内に表示された提案承認ボタン２３０３をクリックする。また、提案を却下する場合は、提案ウィンドウ２１０３内に表示された提案却下ボタン２３０４をクリックする。これにより、提案の採否を運転整理装置１０３に入力することができる。
【０２４５】
（１−６−８）ステップＳ４０９：実行ダイヤ変更
次に、ステップＳ４０９における実行ダイヤ変更処理の詳細について説明する。運転整理装置１０３のＣＰＵ３０１が実行するステップＳ４０９の処理は、例えば、実行ダイヤを列車走行距離平準化提案ダイヤで上書きする処理としてもよい。
【０２４６】
また、図４に示す列車走行距離平準化提案ダイヤ（列車計画）と図４に示す実行ダイヤ（列車計画）の間の、前運用列車１３０５と後運用列車１３０６のデータの差分と、図４に示す列車走行距離平準化提案ダイヤ（列車計画）の列車番号の各駅使用番線のデータの差分と、図７に示す列車走行距離平準化提案ダイヤ（運用計画）と図７に示す実行ダイヤ（運用計画）の間のデータの差分を取得し、その差分のみ実行ダイヤを列車走行距離平準化提案ダイヤで上書きする処理としてもよい。
【０２４７】
また、運転整理装置１０３のＣＰＵ３０１は、上記処理によって実行ダイヤを変更したのち、図７に示した実行ダイヤ（運用計画）の前運用選択フラグ１９０３および後運用選択フラグ１９０４を０に初期化する。
【０２４８】
（１−７）本実施の形態の効果
上記したように、本実施の形態では、複数の鉄道会社が保有する車両が、複数の鉄道会社が保有する線区上を相互に走行する相互直通運転における列車ダイヤの運行を予測し、複数の鉄道会社が相互直通運転する列車の各線区において、運行予測手段に予測された列車ダイヤの列車走行距離を平準化した列車ダイヤを求める列車走行距離平準化し、列車走行距離平準化手段により求められた前記列車ダイヤを操作者に提案する。これにより、各鉄道会社が相互直通運転する線区において、列車走行距離を平準化した列車ダイヤを、列車スジを用いて指令員に提案し、指令員が列車走行距離を平準化した列車ダイヤを作成することを省力化し、短時間で列車走行距離を平準化する運転整理を実行することが可能となる。
【０２４９】
（２）第２の実施の形態
（２−１）本実施の形態の概要
本実施の形態では、第１の実施の形態に加え、さらに、車両運用条件を考慮した列車走行距離平準化提案処理を実施する。なお、以下では、第１の実施の形態と同様の構成については詳細な説明を省略し、異なる構成について特に詳細に説明する。第１の実施の形態と異なる構成は、運転整理装置１０３の構成、車両運用条件情報のデータ構造、第１の実施の形態における図１２で示したステップＳ４０１の指令員に提案内容を選択させる処理、第１の実施の形態における図１６で示した変更可能前運用列車選択処理であるため、以下ではこれらの異なる構成について特に詳細に説明する。
【０２５０】
（２−２）運転整理支援装置の構成
まず、図２１を参照して、本実施の形態における運転整理支援装置の構成について説明する。図２１では、図２とは、運転整理装置１０３’に車両運用条件情報１００１を含んで構成している点で異なっている。車両運用条件情報１００１については、後で詳細に説明する。
【０２５１】
（２−３）車両運用条件情報のデータ構造
次に、本実施の形態にかかるデータ構造例について説明する。特に、本実施の形態における車両運用条件情報１００１のデータ構造例について説明する。なお、本実施の形態における列車計画ダイヤのデータ構造、列車運用計画のデータ構造、基礎データの構造については第１の実施の形態と同様のため、詳細な説明は省略する。
【０２５２】
図２２に示すように、車両運用条件情報データ２０００は、編成種別２００１及び走行可能線区２００２から構成される。行２００３は、編成種別がＳＡ１であるものに関する記述であり、行２００４は編成種別がＳＡ２であるものに関する記述であり、行２００５は編成種別がＳＢ１であるものに関する記述である。以降、同様に、少なくとも編成種別分記載される。例えば、図２２からは、編成種別がＳＡ１である編成の走行可能線区はＬＡ１線とＬＡ２線であることがわかる。
【０２５３】
この編成種別による走行可能線区の限定は、例えば、編成種別によって、保安装置、ホーム長、電源（架線、ディーゼル車両など）、車両限界、軌間などが対応しておらず、物理的に走行不可能な線区が存在することや、鉄道会社間で車両運用を実施していないこと等、によるものである。
【０２５４】
（２−４）運転整理業務支援処理の詳細
（２−４−１）運転整理装置の処理の詳細
次に、本実施の形態における運転整理装置１０３’の処理について説明する。なお、本実施の形態における運転整理装置１０３’の処理の概略は、図１２に示した第１の実施の形態における処理の概略と同様であるため、ステップＳ４０１の処理以外の説明は省略する。
【０２５５】
ステップＳ４０１は、運転整理装置１０３’のＣＰＵ３０１が、指令員に提案の内容を入力させる処理である。提案内容の入力は、図１８に示したＧＵＩを用いて行わせることができる。なお、図１８における各符号の説明は、第１の実施の形態で説明したため、詳細な説明は省略する。
【０２５６】
指令員によって、列車走行距離平準化提案実行承認ボタン２２０１がポインタ２１０１を用いて選択され、キーボード３０５を用いて、列車走行距離を考慮する会社が、列車走行距離平準化関連会社入力ウィンドウ２２０３に入力される。さらに、キーボード３０５を用いて平準化基準が列車走行距離平準化基準入力ウィンドウ２２０４に入力され、ポインタ２１０２によって車両運用条件考慮承認ボタン２２０５が選択される。
【０２５７】
さらに、提案内容設定決定ボタン２２０９がポインタ２１０２によってクリックされると、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ４０５の車両運用条件を考慮した列車走行距離平準化提案処理を実行する。
【０２５８】
なお、ポインタ２１０２を用いて車両運用条件考慮却下ボタン２２０５が選択され、提案内容設定決定ボタン２２０９がポインタ２１０２を用いて選択された場合は、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ４０５の列車走行距離平準化提案処理実行時に車両運用条件を考慮しない。車両運用条件を考慮した列車走行距離平準化提案処理については、後で詳細に説明する。
【０２５９】
（２−４−２）変更可能前運用選択処理
次に、車両運用条件を考慮した列車走行距離平準化提案処理の概要を説明する。なお、本実施の形態における車両運用条件を考慮した列車走行距離平準化提案処理の概要は、第１の実施の形態のステップＳ６０５における変更可能前運用列車選択処理のみが異なるため、以下では、第１の実施の形態と異なる処理について特に詳細に説明する。
【０２６０】
図２３に、本実施形態における、変更可能前運用列車選択処理を示す。ステップＳ８０１からステップＳ８０５は、第１の実施の形態の図１６に示したステップと同様であるため、詳細な説明は省略する。
【０２６１】
ステップＳ１１０１において、運転整理装置１０３’のＣＰＵ３０１は、車両運用条件合致判断処理を実行し、車両運用条件が合致するかを判定する。図２４を参照して、ステップＳ１１０１の処理の詳細を説明する。
【０２６２】
図２４に示す車両運用条件合致判断処理は、運転整理装置１０３’のＣＰＵ３０１が、ステップＳ８０１で選択した前運用列車の編成が、ステップＳ６０４で抽出した後運用列車の走行線区を走行可能かどうか、を判定し、さらに、ステップＳ６０４で抽出した後運用列車の編成が、ステップＳ８０１で選択した前運用列車の走行線区を走行可能かどうか、を判定する処理である。
【０２６３】
図２４に示すように、運転整理装置１０３’のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）から、ステップＳ８０１で選択した前運用列車の後運用列車の列車番号を読み取る（Ｓ２５０１）。なお、当該後運用列車の列車番号をｂとする。
【０２６４】
次に、運転整理装置１０３’のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）から、列車番号ｂの走行線区を読み取る（Ｓ２５０２）。
【０２６５】
続いて、運転整理装置１０３’のＣＰＵ３０１は、図４に示した列車走行距離平準化提案ダイヤ（列車計画）から、ステップＳ６０４で抽出した後運用列車の走行線区を読み取る（Ｓ２５０３）。なお、ステップＳ６０４で抽出した後運用列車の列車番号をｄとする。
【０２６６】
そして、運転整理装置１０３’のＣＰＵ３０１は、図７に示した列車走行距離平準化提案ダイヤ（運用計画）から、ｄの編成番号を読み取る（Ｓ２５０４）。
【０２６７】
そして、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５０４で読み取った編成番号をもとに、図６に示した列車走行距離平準化提案ダイヤ（運用計画）からｄの編成種別を読み取る（Ｓ２５０５）。
【０２６８】
そして、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５０５で読み取った編成種別をもとに、図２２に示した車両運用条件情報から、ｄの編成の走行可能線区を読み取る（Ｓ２５０６）。
【０２６９】
運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５０６で読み取ったｄの編成の走行可能線区に、ステップＳ２５０２で読み取ったｂの走行線区が含まれているかを判定する（Ｓ２５０７）。
【０２７０】
ステップＳ２５０７において、ｄの編成の走行可能線区にｂの走行線区が含まれていると判定された場合には、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５０８の処理を実行する。一方、ステップＳ２５０７において、ｄの編成の走行可能線区にｂの走行線区が含まれていないと判定された場合には、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５１３の処理を実行する。
【０２７１】
そして、運転整理装置１０３’のＣＰＵ３０１は、図７に示した列車走行距離平準化提案ダイヤ（運用計画）から、列車番号ｂの編成番号を読み取る（Ｓ２５０８）。
【０２７２】
そして、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５０８で読み取った編成番号をもとに、図６に示した列車走行距離平準化提案ダイヤ（運用計画）からｂの編成種別を読み取る（Ｓ２５０９）。
【０２７３】
そして、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５０９で読み取った編成種別をもとに、図２２に示した車両運用条件情報から、ｂの編成の走行可能線区を読み取る（Ｓ２５１０）。
【０２７４】
続いて、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５１０で読み取った、列車番号ｂの編成の走行可能線区に、ステップＳ２５０３で読み取った、列車番号ｄの走行線区が含まれているかを判定する（Ｓ２５１１）。ステップＳ２５１１において、ｂの編成の走行可能線区にｄの走行線区が含まれていると判定された場合には、運転整理装置１０３’のＣＰＵ３０１は、ステップＳ２５１２の処理を実行する。一方、ステップＳ２５１１において、ｂの編成の走行可能線区にｄの走行線区が含まれていないと判定された場合には、ステップＳ２５１３の処理を実行する。
【０２７５】
ステップＳ２５１２において、運転整理装置１０３’のＣＰＵ３０１は、車両運用条件が合致すると判断する。また、ステップＳ２５１３において、運転整理装置１０３’のＣＰＵ３０１は、車両運用条件が合致しないと判断する。
【０２７６】
なお、ステップＳ２５０１、ステップＳ２５０１及びステップＳ２５０３の処理はいずれの順番で処理を実施してもよい。また、ステップＳ２５０４からステップＳ２５０７の一連の処理と、ステップＳ２５０８からステップＳ２５１１の一連の処理は、実施する順番を変えてもよい。
【０２７７】
（２−５）本実施の形態の効果
上記したように、本実施の形態では、相互直通運転において、どの車両がどの線区を走行可能かという車両運用条件を判断して列車運用を変更している。これにより、車両運用条件を遵守しつつ列車走行距離を平準化した列車ダイヤを、列車スジを用いて指令員に提案することができ、指令員の車両運用条件を考慮した運転整理業務を省力化し、短時間で運転整理業務を実行することが可能となる。
【０２７８】
（３）第３の実施の形態
（３−１）本実施の形態の概要
本実施の形態では、第１の実施の形態に加え、さらに遅延低減を考慮した列車走行距離平準化提案処理を実施する。なお、以下では、第１の実施の形態と同様の構成については詳細な説明を省略し、異なる構成について特に詳細に説明する。第１の実施の形態と異なる構成は、第１の実施の形態において図１２で示したステップＳ４０１において指令員に提案内容を選択させる処理と、図１２のステップＳ４０５の列車走行距離平準化提案処理であるため、以下ではこれらの異なる構成について特に詳細に説明する。
【０２７９】
（３−２）運転整理装置の処理
本実施の形態における運転整理装置１０３の処理の概略は、図１２に示した第１の実施の形態における処理の概略と同様であるため、ステップＳ４０１の処理以外の説明は省略する。
【０２８０】
ステップＳ４０１は、運転整理装置１０３のＣＰＵ３０１が、指令員に提案の内容を入力させる処理である。提案内容の入力及び選択は、図１８に示したＧＵＩを用いて行わせることができる。なお、図１８における各符号の説明は、第１の実施の形態で説明したため、詳細な説明は省略する。
【０２８１】
指令員によって、列車走行距離平準化提案実行承認ボタン２２０１がポインタ２１０２を用いて選択され、キーボード３０５を用いて、列車走行距離を考慮する会社が、列車走行距離平準化関連会社入力ウィンドウ２２０３に入力される。さらに、キーボード３０５を用いて平準化基準が列車走行距離平準化基準入力ウィンドウ２２０４に入力され、ポインタ２１０２を用いて遅延低減考慮承認ボタン２２０７が選択される。さらに、提案内容設定決定ボタン２２０９がポインタ２１０２によってクリックされると、運転整理装置１０３のＣＰＵ３０１は、ステップＳ４０５の遅延低減を考慮した列車走行距離平準化提案処理を実行する。なお、遅延低減を考慮した列車走行距離平準化提案処理の詳細は後述する。
【０２８２】
指令員によって、ポインタ２１０２を用いて遅延低減考慮却下ボタン２２０５が選択され、提案内容設定決定ボタン２２０９がポインタを用いてクリックされた場合は、運転整理装置１０３のＣＰＵ３０１は、ステップＳ４０５の列車走行距離平準化提案処理を実行する。なお、運転整理装置１０３のＣＰＵ３０１は、上記処理で遅延低減を考慮した列車走行距離平準化提案処理を実行しない。
【０２８３】
指令員によって、列車走行距離平準化提案実行承認ボタン２２０１がポインタ２１０２によって選択され、キーボード３０５を用いて、列車走行距離を考慮する会社が、列車走行距離平準化関連会社入力ウィンドウ２２０３に入力される。さらに、キーボード３０５を用いて平準化基準が列車走行距離平準化基準入力ウィンドウ２２０４に入力され、ポインタ２１０２によって車両運用条件考慮承認ボタン２２０５が選択され、ポインタ２１０２を用いて遅延低減考慮承認ボタン２２０７が選択される。さらに、提案内容設定決定ボタン２２０９がポインタ２１０２によって選択されると、運転整理装置１０３のＣＰＵ３０１は、ステップＳ４０５において遅延低減を考慮し車両運用条件を考慮した列車走行距離平準化提案処理を実行する。なお、遅延低減を考慮し車両運用条件を考慮した列車走行距離平準化提案処理については、後で詳細に説明する。
【０２８４】
（３−３）遅延低減を考慮した列車走行距離平準化提案処理
次に、本実施の形態では、運転整理装置１０３のＣＰＵ３０１が、第１の実施の形態の図１２に示したステップＳ４０５における処理において、遅延低減を考慮した列車走行距離平準化提案処理を実施する。図２５に、遅延低減を考慮した列車走行距離平準化提案処理の概要を示す。
【０２８５】
図２５では、ステップＳ６０１からステップＳ６０８、及び、ステップＳ６１０、ステップＳ６１１は、図１４Ａ及び図１４Ｂと同様の処理のため、説明を省略する。
【０２８６】
ステップＳ１２０１において、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案ダイヤを、記憶装置の一時領域に保存し、その一時領域に保存した列車走行距離平準化ダイヤにおいて、ステップＳ６０４で抽出した後運用列車と、ステップＳ６０６で選択した変更可能前運用列車をつなぐよう、列車走行距離平準化提案ダイヤを更新する。
【０２８７】
なお、上記処理を運用更新処理と呼ぶことがある。また、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案ダイヤを更新する処理は、ステップＳ６０８の処理と同様であるため、詳細な説明は省略する。
【０２８８】
続いて、運転整理装置１０３のＣＰＵ３０１は、ステップＳ１２０１の運用更新処理を実行して更新された、一時領域に保存された列車走行距離平準化提案ダイヤを基に、図１３に示した予測処理を実行し、当該予測処理の予測結果で記憶装置の一時領域に保存された列車走行距離平準化提案ダイヤを上書きする（Ｓ１２０２）。
【０２８９】
そして、運転整理装置１０３のＣＰＵ３０１は、列車の遅延量が低減されているかを判定する（Ｓ１２０３）。ステップＳ１２０３において、列車の遅延量が低減されていると判定された場合には、ステップＳ１２０４の処理を実行する。一方、ステップＳ１２０４において、列車の遅延量が低減されていないと判定された場合には、ステップＳ６０４以降の処理を繰り返す。
【０２９０】
なお、遅延量の計算については、例えば、運転整理装置１０３のＣＰＵ３０１が、図４に示した、一時領域に保存されている列車走行距離平準化提案ダイヤ（列車計画）の全列車について、各列車番号からダイヤへのポインタを参照して、各駅の到着時刻を読み取り、前記列車番号の列車すべてについて、図４に示した実施ダイヤ（列車計画）へのポインタを参照して各駅到着時刻を読み取る。
【０２９１】
そして、一時領域に保存されている列車走行距離平準化提案ダイヤ（列車計画）の各列車各駅到着時刻から実施ダイヤ（列車計画）の各列車各駅到着時刻を引き算し、その和を遅延量としてもよい。また、例えば、上記処理において各駅到着時刻ではなく各駅発車時刻としてもよい。また、例えば、上記処理において優等列車のみについて各駅到着時刻の差の和を遅延量としてもよい。
【０２９２】
そして、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案ダイヤを、ステップＳ１２０１で作成し、ステップＳ１２０２で更新した、一時領域に保存した列車走行距離平準化提案ダイヤで上書きする（Ｓ１２０４）。なお、この処理の後、列車走行距離平準化提案ダイヤを保存していた記憶装置の一時領域は解放してもよい。
【０２９３】
（３−４）本実施の形態の効果
上記したように、本実施の形態では、運転整理を行う際に、列車の遅延量低減について演算し判断して、遅延の低減を目的として運転整理を行う場合についても、遅延低減しつつ列車走行距離を平準化した列車ダイヤを、列車スジを用いて指令員に提示することができる。これにより、指令員の運転整理による遅延低減業務を省力化し、短時間で遅延量を低減しつつ列車走行距離を平準化する運転整理を実行することが可能である。
【０２９４】
（４）他の実施の形態
なお、本発明は、上記した実施の形態に限定されず、様々の変形も可能である。例えば、上記した実施の形態で説明した全ての構成を備えるものに限定されない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能である。また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【０２９５】
具体的には、第２の実施の形態と第３の実施の形態とを組み合わせて、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案時に車両運用条件と遅延低減を両方考慮した処理を実施するようにしてもよい。
【０２９６】
この処理によって、運転整理装置１０３のＣＰＵ３０１が、車両運用条件と遅延低減を両方考慮した列車走行距離平準化提案ダイヤを作成することが可能となり、指令員がそのダイヤに従って実行ダイヤを変更することで、指令員の省力化が図れたり、列車走行距離が平準化されたり、車両運用条件が合わせられたり、遅延が低減されたり、という効果を同時に満たすことができる。
【０２９７】
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に記録することができる。
【０２９８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０２９９】
また、上記実施の形態では、運転整理装置１０３のＣＰＵ３０１が、列車走行距離平準化提案ダイヤを作成する処理の際に、現在時刻以後の全運用列車を対象とし、平準化基準を満たすまで列車走行距離平準化提案ダイヤを変更し続ける処理としたが、例えば、この一部のみを使用して、ある一つもしくは複数の運用変更列車の組について変更提案を出すようにしてもよい。これにより、指令員は一つ一つ提案の採否を判断し、より指令員の意図に即した運転整理が実施可能となる。
【０３００】
また、上記実施の形態では、列車走行距離平準化基準として、走行距離を例としたが、例えば、編成両数×走行距離でもよい。
【０３０１】
また、上記実施の形態では、列車走行距離平準化基準として、走行距離を例としたが、例えば、優等列車のみについての走行距離でもよい。この場合、第１の実施の形態のステップＳ７０３の処理において、優等列車の列車番号のみを読み取ればよい。
【０３０２】
また、上記実施の形態では、列車走行距離平準化基準として、走行距離を例としたが、例えば、平準化基準として、ステップＳ６０２の処理で導入した記号Ｒ（Ｘ→Ｙ）を用いて、例えば関連会社がＡ、Ｂ、Ｃの三社の場合には、
【０３０３】
ｍａｘ（｜Ｒ（Ａ→Ｂ）−Ｒ（Ｂ→Ａ）｜，  ｜Ｒ（Ａ→Ｃ）−Ｒ（Ｃ→Ａ）｜，  ｜Ｒ（Ｂ→Ｃ）−Ｒ（Ｃ→Ｂ）｜）／（｜Ｒ（Ａ→Ｂ）｜＋｜Ｒ（Ｂ→Ａ）｜＋｜Ｒ（Ａ→Ｃ）｜＋｜Ｒ（Ｃ→Ａ）｜＋｜Ｒ（Ｂ→Ｃ）｜＋｜Ｒ（Ｃ→Ｂ）｜）
【０３０４】
としてもよい。なお、ｍａｘ（ａ，ｂ，ｃ）とは、ａ、ｂ、ｃのうちで最大のもの、という意味である。関連会社が四社以上となった場合でも同様である。この基準は実際の走行距離でなく無次元量であり、相互直通運転を実施している距離と比較してどの程度列車走行距離が平準化されているかを判断できる基準となっており、他の相互直通運転区間との平準化度合の比較が可能となる。
【０３０５】
また、上記実施例では、当日の運転整理装置の処理として、列車走行距離平準化提案処理を実施しているが、例えば、実施ダイヤを作成する段階において、実施ダイヤ案を作成したのち、この列車走行距離平準化提案処理を実行することにより、実施ダイヤ案における列車走行距離平準化が可能となる。
【０３０６】
また、上記実施の形態では、列車走行距離を平準化する処理としたが、例えば、図１０の走行距離１７０３を、編成当たりの車両使用料とすれば、車両使用料を平準化する処理を実施することが可能である。
【０３０７】
また、上記実施の形態では、複数の関連会社の間の、列車走行距離を平準化する処理としたが、例えば、関連会社間ではなく一つの会社でもよい。この場合、図１０の線区保有会社１７０２と図６の編成保有会社１８０４を、例えば、一つの会社の中で部署などを区別する際のインデックスとしてもよい。また、例えば、線区保有会社はすべて一つの会社とし、編成保有会社１８０４に、車両優等度別のインデックスを記載してもよい。これにより、車両優等度を考慮した列車走行距離平準化が可能となる。なお、車両優等度とは、例えば、車両の省エネ度や、車両内装の豪奢度や、車両の最高時速などを例示できる。
【符号の説明】
【０３０８】
１０１    ダイヤ管理装置
１０３    運転整理装置
１０５    進路制御装置
１０７    地上装置
１０８    軌道回路
１０９    信号機
１１０    転轍機
１１１    列車
２０３    実施ダイヤマスタ（列車計画）
２０４    実施ダイヤマスタ（運用計画）
２０５    実績ダイヤマスタ（列車計画）
２０６    実績ダイヤマスタ（運用計画）
２０７    実施ダイヤ（列車計画）
２０８    実施ダイヤ（運用計画）
２０９    実行ダイヤ（列車計画）
２１０    実行ダイヤ（運用計画）
２１１    実績ダイヤ（列車計画）
２１２    実績ダイヤ（運用計画）
２１３    予測ダイヤ（列車計画）
２１４    予測ダイヤ（運用計画）
２１５    列車走行距離平準化提案ダイヤ（列車計画）
２１６    列車走行距離平準化提案ダイヤ（運用計画）
２１７    基礎情報
２１８    列車運行予測エンジン
２１９    列車走行距離平準化提案エンジン
２２０    制約プログラミング実行エンジン
【図１】
2015202731.tif 000003
【図２】
2015202731.tif 000004
【図３】
2015202731.tif 000005
【図４】
2015202731.tif 000006
【図５】
2015202731.tif 000007
【図６】
2015202731.tif 000008
【図７】
2015202731.tif 000009
【図８】
2015202731.tif 000010
【図９】
2015202731.tif 000011
【図１０】
2015202731.tif 000012
【図１１】
2015202731.tif 000013
【図１２】
2015202731.tif 000014
【図１３】
2015202731.tif 000015
【図１４Ａ】
2015202731.tif 000016
【図１４Ｂ】
2015202731.tif 000017
【図１５】
2015202731.tif 000018
【図１６】
2015202731.tif 000019
【図１７】
2015202731.tif 000020
【図１８】
2015202731.tif 000021
【図１９】
2015202731.tif 000022
【図２０】
2015202731.tif 000023
【図２１】
2015202731.tif 000024
【図２２】
2015202731.tif 000025
【図２３】
2015202731.tif 000026
【図２４】
2015202731.tif 000027
【図２５】
2015202731.tif 000028