(57)【要約】【課題】  ダイヤ予想では、番線変更や出発順序変更といった計画変更を行うことはなく、計画に沿った着発時刻を求める処理であるので、予想結果通りの運行を行うことは、特に大乱れが生じた場合に不可能である場合が多く、ユーザーは予想結果をみながら計画変更をせねばならなかった。【解決手段】  列車ダイヤに乱れが発生した際に、優先して走行させる優先列車の設定と優先列車の遅延量の限界値の設定を、GUI表示部１１３０を介して入力し、運転整理部１１１０で、優先列車の遅延時分が遅延量の限界値以下となるような整理案を作成するとともに、整理案通りに走行させた場合の列車の到着・出発時刻を算出して、その結果をダイヤ図表示部１１２０によりダイヤ図として表示する。【選択図】図1
2008189272.tif 000002
【特許請求の範囲】
【請求項１】
列車運転の整理案を生成する運転整理部と、列車ダイヤをダイヤ図として表示するダイヤ図表示部と、ユーザーからのパラメータの入力を受け付けるGUI表示部と、線形式や論理式、集合演算などで記述される数理モデルを解くための数理計画実行部を有する運転整理支援システムにおいて、
前記GUI表示部は、優先して走行させる優先列車の設定と、優先列車の遅延量の限界値の設定を受け、
前記運転整理部は、優先列車の遅延時分が遅延量の限界値以下となるような整理案を作成し、作成した整理案通りに列車を運行させた場合の列車の到着・出発時刻を算出し、
前記ダイヤ図表示部は、算出された前記列車の到着・出発時刻をダイヤ図として表示することを特徴とする運転整理支援システム。
【請求項２】
前記運転整理部は、制約条件を線形式と論理式からなる制約式として表現し、前記制約式より構築した数理モデルに対し、前記数理計画実行部による演算を実行することにより前記整理案を生成することを特徴とする請求項1に記載の運転整理支援システム。
【請求項３】
前記運転整理部は、前記制約条件のうち、線形式として表現できるものについては、制約式通りの形式にて数理モデルへ組み込み、論理式として表現できるものについては、論理式のままでは数理モデルへ組み込まず、制約式を線形式に変換して数理モデルへ組み込むことを特徴とする請求項２に記載の運転整理支援システム。
【請求項４】
前記運転整理部は、前記制約条件のうち、線形式として表現できるものを対象として、数理モデルの構築と前記数理計画実行部による演算を実行することにより、変数の値として取りうるドメインを求め、変数の値が決定していない変数の中で、ドメインの下限値が最も小さい変数を選択し、変数の値としてドメイン下限値を設定し、変数に関連した論理式として表現される制約式を、線形式に変換して数理モデルへ組み込み、数理モデルに対して前記数理計画実行部による演算を実行し、変数のドメインを更新することを、全ての変数について値が決定するまで繰り返すことを特徴とする請求項３に記載の運転整理支援システム。
【請求項５】
前記運転整理部は、変数の値が決定していない変数の中で、ドメインの下限値が最も小さい変数を選択し、変数の値としてドメイン下限値を設定し、変数に関連した論理式として表現される制約式を、線形式に変換して数理モデルへ組み込み、数理モデルに対して前記数理計画実行部による演算を実行し、変数のドメインを更新することを、全ての変数について値が決定するまで繰り返す過程で、選択した変数が優先列車の到着時刻または出発時刻を示す変数であり、かつ前記優先列車の終着時刻を示す変数のドメイン最小値が、前記優先列車の計画における終着時刻の値より、前記GUI表示部を介して入力した遅延量以上大きくなった場合には、前記優先列車の終着時刻が遅延する要因となった変数を選択する前まで処理を戻すと共に、遅延する要因となった変数が遅延の要因とならないような制約条件を定義し、その制約式を数理モデルへ組み込むことを特徴とする請求項４に記載の運転整理支援システム。
【請求項６】
列車運転の整理案を生成する運転整理部と、列車ダイヤをダイヤ図として表示するダイヤ図表示部と、ユーザーからのパラメータの入力を受け付けるGUI表示部と、線形式や論理式、集合演算などで記述される数理モデルを解くための数理計画実行部を有する運転整理支援システムにおける運転整理支援方法において、
前記GUI表示部が、優先して走行させる優先列車の設定と、優先列車の遅延量の限界値の設定を受け、
前記運転整理部が、優先列車の遅延時分が遅延量の限界値以下となるような整理案を作成し、作成した整理案通りに列車を運行させた場合の列車の到着・出発時刻を算出し、
前記ダイヤ図表示部が、算出された前記列車の到着・出発時刻をダイヤ図として表示することを特徴とする運転整理支援方法。
【請求項７】
処理装置と記憶装置とを備え、列車運転の整理案を生成する運転整理支援システムにおいて、
前記記憶装置は、列車の識別子と列車の種別と列車の線区と列車が運行する駅情報を含むダイヤデータを記憶し、
前記処理装置は、
優先すべき列車の種別又は優先すべき線区の少なくとも１つと前記優先すべき列車又は前記優先すべき線区の列車の終着時刻に対する遅延量の限界値を入力装置から受け付けた場合に、前記優先すべき列車又は前記優先すべき線区の列車の優先度を他の列車の優先度よりも高くし、前記ダイヤデータに前記優先度を挿入し、
前記記憶装置から前記ダイヤデータを読み込み、
制約条件を数式化した数理モデルを構築し、
制約論理プログラミングにより前記数理モデルを展開して、列車の到着時刻変数と出発時刻変数の取り得る値を算出し、
前記到着時刻変数又は出発時刻変数のうち、値が未だ決まっていない変数であって前記取り得る値の最小値が小さい変数を選択し、
選択した前記変数に対応する制約式を前記数理モデルに組み込み、
前記数理モデルを解いて、前記変数を決定し、
前記変数が終着時刻である場合に、前記終着時刻に対する遅延量の限界値以上であるか否かを判定し、
前記終着時刻に対する遅延量の限界値以上である場合に、遅延要因を検出し、前記遅延要因を解消するための制約式を前記数理モデルに組み込み、前記数理モデルの展開からやり直すことを特徴とする運転整理支援システム。
【請求項８】
処理装置と記憶装置とを備えたコンピュータによる、列車運転の整理案を生成する運転整理支援方法において、
前記記憶装置が、列車の識別子と列車の種別と列車の線区と列車が運行する駅情報を含むダイヤデータを記憶しており、
前記処理装置が、
優先すべき列車の種別又は優先すべき線区の少なくとも１つと前記優先すべき列車又は前記優先すべき線区の列車の終着時刻に対する遅延量の限界値を入力装置から受け付けた場合に、前記優先すべき列車又は前記優先すべき線区の列車の優先度を他の列車の優先度よりも高くし、前記ダイヤデータに前記優先度を挿入し、
前記記憶装置から前記ダイヤデータを読み込み、
制約条件を数式化した数理モデルを構築し、
制約論理プログラミングにより前記数理モデルを展開して、列車の到着時刻変数と出発時刻変数の取り得る値を算出し、
前記到着時刻変数又は出発時刻変数のうち、値が未だ決まっていない変数であって前記取り得る値の最小値が小さい変数を選択し、
選択した前記変数に対応する制約式を前記数理モデルに組み込み、
前記数理モデルを解いて、前記変数を決定し、
前記変数が終着時刻である場合に、前記終着時刻に対する遅延量の限界値以上であるか否かを判定し、
前記終着時刻に対する遅延量の限界値以上である場合に、遅延要因を検出し、前記遅延要因を解消するための制約式を前記数理モデルに組み込み、前記数理モデルの展開からやり直すことを特徴とする運転整理支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転整理業務において、運行乱れを復旧するための整理案自動生成を実行する運転整理支援システムおよびその方法に関するものである。
【背景技術】
【０００２】
天候や地震、事故などによる交通ダイヤグラム(以下、単に「ダイヤ」ともいう)の乱れを正常な状態へと戻す運転整理業務においては、近年、列車の高密度化、運行路線区の拡張による整理案作成業務の複雑さと、整理案作成の迅速化による顧客サービス向上のため、計算機による業務支援のニーズが高まっている。運転整理、特に鉄道の運転整理業務に用いられる計算機支援機能の一つとして、ダイヤ予想機能がある。これは、駅設備から取得した列車の走行実績を基に、現在時刻以降の列車の着発時刻を算出するものである。
【０００３】
しかしながら、ダイヤ予想では、番線変更や出発順序変更といった計画変更を行うことはなく、計画に沿った着発時刻を求める処理であるので、予想結果通りの運行を行うことは、特に大乱れが生じた場合に不可能である場合が多く、ユーザーは予想結果をみながら計画変更をせねばならなかった。  
このような問題を解決する技術として、以下の特許文献1がある。この特許文献は列車実績ダイヤと計画ダイヤとから予測ダイヤを作成し、予測ダイヤの中から計画ダイヤに対する所定の遅延時間以上遅れた部分に対して、遅延回復のためのダイヤ変更案（整理案）を作成し、これを表示することより、運行乱れが発生した場合自動的に整理案作成を実行する技術である。
【０００４】
【特許文献１】特開2001-1904号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、この特許文献1に記載した技術においては、以下の3つの課題がある。
・特許文献1で用いているアルゴリズムは各駅への列車の到着間隔を一定化させるための整理案作成を実行するものであるため、環状線のような周期性のあるダイヤであれば良いが、新幹線や長距離列車のような目的地が多様な路線には不適である。
・列車を全て同一の優先度で処理しているため、特急列車など優先すべき列車であっても遅延が発生してしまう。
・予想ダイヤの完成⇒運転整理アルゴリズム実行を繰り返す仕掛けとなっているので、処理時間がかかる。
【０００６】
本発明の目的は、優先すべき列車が所定時間以上遅延することがない運転整理案を作成するシステムおよび方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明においては、運転整理案の自動作成において、優先して走行させるべき列車を、ユーザーのパラメータ入力により優先列車と指定し、列車の到着時刻、出発時刻を決定変数とする制約式として数理モデルを構築し、数理計画エンジンによる解算出処理を利用しつつ、変数の値を算出する。その際、変数が優先列車のものである場合には、同列車における終着時刻の値を予測し、終着時刻がユーザーの指定した規定値以上に遅延するのであれば、遅延の要因となった列車を抽出し、優先列車が遅延要因となった列車に影響を受けないような制約条件を定義して、その制約式を数理モデルへと組み込むとともに、処理を特定のフェーズまで巻き戻して再度実行する。
【０００８】
そこで、本発明の運転整理支援システムは、整理案の自動生成を実行する運転整理部と、列車ダイヤをダイヤ図として表示するダイヤ図表示部と、ユーザーからのパラメータ入力を受け付けるGUI表示部と、線形式や論理式、集合演算などで記述される数理モデルを解くための汎用ライブラリである数理計画実行部を有する運転整理支援システムにおいて、列車ダイヤに乱れが発生した際に、優先して走行させる優先列車の設定と優先列車の遅延量の限界値の設定を、GUI表示部を介して実行し、優先列車の遅延時分が遅延量の限界値以下となるような整理案を作成するとともに、整理案通りに走行させた場合の列車の到着・出発時刻を算出して、結果をダイヤ図表示部によりダイヤ図として表示することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、運転整理案作成において、ユーザーが指定する列車が、ユーザーの指定する値以上遅延することがないような運転整理案を自動作成することを可能とするものである。
【発明を実施するための最良の形態】
【００１０】
以下、本発明に係る一実施形態を、図1から図23を用いて説明する。なお、本実施形態では、鉄道運行システムにおける運転整理支援システムを適用対象として説明するものとするが、本発明の技術的思想は、鉄道運行システムに限定されない。
【００１１】
先ず、図1を用いて本発明の一実施形態に係る運転整理支援システムのシステム構成について説明する。
【００１２】
図1は本発明の一実施形態に係る運転整理支援システムのシステム構成図である。
本実施形態の運転整理システムは計算機システムとしての構成をとるもので、プログラムを実行する中央処理装置1100 、列車ダイヤや基礎情報を蓄積するデータベース1200、ユーザーからの入力を受け付ける入力装置1300、ダイヤ図をはじめとする各種GUIを表示するGUI表示部1400からなる。
【００１３】
中央処理装置1100では、列車ダイヤの乱れを回復するための整理案を自動生成する運転整理部1110 、列車ダイヤをグラフィカル表示するダイヤ図表示部1120、運転整理部1110の処理に対する制御パラメータをユーザーより受け付けるためのGUI表示部1130、線形式や論理式、集合演算などで記述される数理モデルを解くための汎用ライブラリである数理計画実行部1140をプログラムとして実行する。
【００１４】
データベース1200では、列車ダイヤの情報を管理する列車ダイヤテーブル1201、列車の走行時分や駅レイアウト、時隔の情報を管理する基礎データテーブル1202、運転整理部1110の処理過程にて定義される制約式を保存する制約式リスト1203を保有する。データベースは、記憶装置によって実現される。
【００１５】
入力装置1300はマウスやキーボードなど汎用的な計算機への入力デバイスである。
【００１６】
表示装置1400はディスプレイなどの計算機で用いられる出力デバイスである。
【００１７】
次に、本運転整理支援システムにおける運転整理案の自動生成時の処理の流れについて説明する。図1に示す表示装置1400は現時刻において運行している列車ダイヤをダイヤ図として常時、表示するのが好ましい。
【００１８】
図2はダイヤ図の一例を示す図である。
【００１９】
ダイヤ図は縦軸2100に列車の走行する駅、横軸2200に時間をとり、列車ダイヤを2次元のクラフとして表示するものである。グラフ上で斜線として表示される箇所は列車が駅間を走行していることを示し、水平線として示す箇所は列車が駅において停車していることを示す。また、列車は端末駅まで走行した後に折返し運転を実施する。また、列車は1本ごとに列車番号という固有の名前を持ち、一意な識別がなされる。本図における列車2310は列車番号eを持ち、A駅まで走行した後、列車番号e’と列車番号を変えてA駅を出発したことを示す。A駅において列車eと列車e’をつなぐ水平線として表示される箇所は折返しを行うための待機時間であることを示す。なお、本説明において折返し後の列車を列車Xに対する「折返し列車」と呼称して説明をする。また、列車の進行方向にある駅を「列車Xにおける前方駅」、反対方向、つまりすでに走行が終わった方向にある駅を「列車Xにおける後方駅」として説明をする。
【００２０】
運転整理案の自動生成時の処理の流れについての説明を続ける。整理案の自動生成を実行に移す前に、ユーザーは図1に示すGUI表示部1130を用いて自動生成処理の制御パラメータである運転整理パラメータの設定を行う。
【００２１】
図3は運転整理パラメータ入力画面を示す図である。
【００２２】
運転整理パラメータ入力画面は、整理案生成時に優先して走行させる列車の選択を受け付ける優先列車設定パネル3100と、優先列車設定パネル3100にて選択した列車の終着時刻の遅延時分量を制御する終着時刻遅延限界量設定パネル3200と、整理案自動生成を実行移すための実行ボタン3300を持つ。優先列車設定パネル3100には優先列車の選択方法として、列車の種別により優先すべきか否かを判断する項目と、線区と呼ばれる走行区間に応じて優先すべきかを判断する項目をもつ。本例においては、列車種別による優先選択の例として特急列車を優先するかを判断する項目、線区による優先選択の例として2線区分を示している。なお、本例には示さなかったがその他、列車を優先すべきか否かを判断することができるような項目であれば優先列車設定パネル3100に示す項目として取り入れることとしてよい。また、優先項目を組み合わせることで優先度に階層をもたせてもよい。本例においては列車種別による項目としては特急列車を優先、線区による選択項目としてはAAA線区が優先としているので、優先度に階層を持たせると、優先度の一番高い列車はAAA線区の特急列車、次にBBB線区の特急列車、以下、AAA線区の普通列車、BBB線区の普通列車の順として処理を行うことができる。また、列車種別選択の優先度よりも線区選択による優先度が高いとするならば、先の優先度はAAA線区の特急列車、AAA線区の普通列車、BBB線区の特急列車、BBB線区の在来列車となる。終着時刻遅延限界量設定パネル3200で入力されている値は、本例においては15分であるので、優先すべき列車(本例ではAAA線区の特急列車)の終着時刻の遅延を15分以下とするような整理案を生成することをパラメータとして指定したことを示している。パラメータ指定後、ユーザは実行ボタン3300を押下することにより、図1に示す運転整理部1110が起動し、整理案の自動生成を実行する。
【００２３】
図4は運転整理部1110における処理フローを示す図である。
【００２４】
ステップ4010では図1に示すデータベース1200よりダイヤデータテーブル1201、基礎データテーブル1202に保存しているデータを呼び出すと共に、GUI表示部1130を介してユーザーが入力した運転整理パラメータの値を読み込む。
【００２５】
図5はダイヤデータテーブル1201のテーブル構成を示す図である。ダイヤデータテーブル1201は1本の列車を1レコードとして管理しており、レコード内の項目は列車の基本属性を示す基本情報部と、列車が走行する駅の名称や着発時刻に関する項目を持つ駅情報部に分かれる。基本情報部は列車の固有IDを示す列車番号5110、特急列車or回送列車or普通列車などの列車の種別を示す列車種別5120、列車の走行する区域を示す線区5130、列車の走行が上り方向か下り方向かを示す方向5140、図1に示す運転整理部1110の処理における列車の優先度を示す優先度5150、端末駅で折り返した際の折返し列車番号を示す折返し列車番号5160の項目を持つ。駅情報部は1駅分の情報(以下「駅情報」)を1つのブロックとして管理し、走行順に並べて保有している。従って、駅情報部の最初にある駅情報は始発駅に関する駅情報、最後にある駅情報は終着駅に関する駅情報となる。駅情報は、列車が同駅を何番目に走行するかを示す走行順序5210、駅の名前を示す駅名5220、使用する番線名称を示す番線5230、計画として予定されている到着時刻を示す計画到着時刻5240、計画として予定されている出発時刻を示す計画出発時刻5250、運転整理部1110の生成した整理案に応じて計画を修正した際の到着時刻を示す運転整理到着時刻5260、出発時刻を示す運転整理出発時刻5270の項目を持つ。レコード5310の例は列車番号が「bレ」、列車種別が「特急」、線区が「AAA」、方向が「上り」、優先度が「3」、折返し列車が「b’レ」の基本情報部を持つことを示しており、レコード5320の例は列車bレが走行順序「2番目」において、「C駅」を走行し、番線は「x番線」を使用し、計画到着時刻「16:03」、計画出発時刻「16:05」であることを示している。なお、優先度5150については、図1に示すGUI表示部1130を介して入力された運転整理パラメータを元に計算されるものである。図3に示す例において優先すべき列車種別は特急列車、走行区間はAAA線区であったので、レコード5310で示すbレは優先度が高く3と計算され、レコード5330で示すcレは優先度が1と低く計算される。運転整理到着時刻5260、及び運転整理出発時刻5270については運転整理部1110の処理の過程で随時入力されるものである。
【００２６】
図4に戻り運転整理部1110における処理フローの説明を続ける。ステップ4010で読み込む基礎データテーブル1202には列車の走行速度や、各駅における停車時分、折返しに要する時間、駅出発/到着時における後続列車との走行間隔などのデータが管理されている。なお、本実施例の説明においては基礎データの詳細説明は省略することとする。
【００２７】
ステップ4020では数理モデルの構築を行う。数理モデルは整理案を作るうえで守らねばならない要件(以下、制約条件とする)を数式として表現するものである。本実施例においては以下を制約条件として定義している。
(1)早発禁止制約:計画出発時刻より早く出発してはならない。
(2)駅間走行時分制約:駅間走行時分は最小停車時分以上でなければならない。
(3)停車時分制約:停車時分は最小停車時分以上でなければならない。
(4)折返し時分制約:折返し時分は最小折返時分以上でなければならない。
(5)出発続行時隔:同一方向へ向けて駅を出発する列車は、出発の間隔を出発続行時隔以上に保たねばならない。
(6)到着続行時隔:同一方向より駅に到着する列車は、到着の間隔を到着続行時隔以上に保たねばならない。
(7)番線競合制約:同一番線を使用する列車においては番線使用時間に番線競合時隔以上の間隔を持たねばならない。
(8)駅間順序同一制約:駅間で同一線路上を走行する列車は順序が入れ替わってはならない。
【００２８】
これらの制約条件を数理的に記述するために、以下ではその準備として各種記号の定義を行う。
(1)集合
R:列車の集合
S:駅の集合
T(r):列車rが走行する駅の集合
U(s):駅sを走行する列車の集合
＊T(r)、U(s)はそれぞれR、Sの部分集合となる。
(2)定数
s( r , i ) :列車rがi番目に走行する駅
planedArvTime( r , s ):列車rの駅sにおける計画到着時刻
planedDptTime( r , s ):列車rの駅sにおける計画出発時刻
RT:駅間走行時分
ST:最小停車時分
TT:最小折返し時分
DIT:出発続行時隔
AIT:到着続行時隔
TIT:番線競合時隔
(3)決定変数
ArvTime(r,s):列車rの駅sにおける到着時刻
DptTime(r,s):列車rの駅sにおける出発時刻
Sot(r,s):列車rの駅sにおける出発順序
Aot(r,s):列車rの駅sにおける到着順序
ToT(r,s,t):列車ｒの駅sにおける番線tの使用順序
本来、整理案を生成する上で、Aot(r,s)、ToT(r,s,t)を決定する必要はないが本手法においては数理モデルを解くために必要となるため、決定変数として処理することとしている。
【００２９】
上記の記号の定義の元で制約条件は下記の通り数式化される。
(1)早発禁止制約
【００３０】
【数１】
2008189272.tif 000003
【００３１】
(2)駅間走行時分制約
【００３２】
【数２】
2008189272.tif 000004
【００３３】
(3)停車時分制約
【００３４】
【数３】
2008189272.tif 000005
【００３５】
(4)折返し時分制約
【００３６】
【数４】
2008189272.tif 000006
【００３７】
(5)出発続行時隔制約
【００３８】
【数５】
2008189272.tif 000007
【００３９】
(6)到着続行時隔制約
【００４０】
【数６】
2008189272.tif 000008
【００４１】
(7)番線競合制約
【００４２】
【数７】
2008189272.tif 000009
【００４３】
(8)駅間順序同一制約
【００４４】
【数８】
2008189272.tif 000010
【００４５】
このうち単純な線形式として表現される(1)(2)(3)(4)については本ステップ(ステップ4200)にて全列車、全駅に関わる制約式を一括で数理モデルへと組込む。if文形式で表現される(5)(6)(7)(8)について後述の処理過程を通して、線形式の形に落とし込むことが可能となった段階で1列車、1駅分ずつ随時、数理モデルへと組込み。
【００４６】
ステップ4030ではステップ4020で構築した数理モデルに対する演算を実行する。本発明においては演算の実行手法に制約論理プログラミングを適用する。制約論理プログラミングは制約充足問題に対する解探索手法の一種であり、(1)決定変数の取り得る値(ドメイン)の変化を、関連する制約を介して他の変数に伝えることにより探索領域を絞り込む「制約伝播」手法に基づく効率的な解探索メカニズムを持ち、(2)論理制約、記号制約や非線形制約等、幅広い制約条件を含むモデルの解探索に対応可能、であることを特徴とする。制約論理プログラミングは線形計画法(LP)等と同様に汎用ライブラリが広く流通しており、本問題の数理モデルはそれらのライブラリが扱うことができる一般的な形式である。従って、本ステップ(ステップ4030)の演算においては、制約論理の実行メカニズムを独自に実装してもよいし、汎用ライブラリをコールすることにより演算を実行することとしても良い。
【００４７】
本ステップの演算にて到着時刻変数、出発時刻変数の解を算出してしまうと数理モデルに組み込んでいない制約式(5)(6)(7)(8)の要件を満たさない解となってしまう。従って、本ステップでの演算においては、到着時刻変数・出発時刻変数の値を1つに決定するところまでの処理には進まず、数理モデルに組み込んだ制約式(1)(2)(3)(4)を基に各変数のドメインを限定するところまでに処理を留めることとし、以降のステップ4040〜4110により変数の値を決定してゆく。
【００４８】
図6は本ステップが終了した時の各変数の状態を示したときの例を示す図である。変数の初期状態としては初期値として与えられた最小値・最大値間全ての範囲をドメインとして持っているが、制約伝播によりドメインの範囲が縮小し、図中の黒い塗りつぶし箇所のみがドメインとして有効な値となる。以後の説明において変数におけるドメインとして有効な範囲のうち最小となる値を「ドメイン最小値」、最大となる値を「ドメイン最大値」として説明を続ける。本図において変数名A01 6210のドメイン最小値は6110、ドメイン最大値は6120となる。
【００４９】
図4に戻り運転整理部1100の処理フローの説明を続ける。ステップ4040では到着時刻変数、または出発時刻変数より変数を１つ選択する。選択の条件となるのは「値がまだ決定していない変数の中で、ドメイン最小値が最も小さいもの」である。図6の例では変数A03 6230が該当することとなる。
【００５０】
ステップ4050では変数選択の有無を判定する。選択した変数が存在しない場合、つまり全ての到着時刻変数、出発時刻変数の値が決定した場合であり、その場合には運転整理部1100の処理を終了する。変数が存在する場合には処理をステップ4060へと進める。
【００５１】
ステップ4060ではステップ4020で構築した数理モデルに対し、ステップ4040で選択した変数に関連する制約式の組込みを実行する。
【００５２】
図7はステップ4060の処理フローを示す図である。
【００５３】
ステップ7010では選択した変数が到着時刻変数であるか、出発時刻変数であるかを判定し、到着時刻変数であればステップ7020へと処理を進め、出発時刻変数であればステップ7050へと処理を進める。ステップ7020では選択した変数に関連する到着続行時隔制約を示す制約式を数理モデルへと組込む。
【００５４】
図8はステップ7020 の到着続行時隔設定の処理フローを示す図である。ここで、選択した到着時刻変数を列車r0の駅s0における到着時刻変数ArvTime( r0 , s0)として説明を続ける。ステップ8010では列車r0と同方向から駅s0に到着する列車のうち、駅s0での運転整理着時刻が未決定な列車を選択し、列車の集合Sを作成する。運転整理着時刻は図5で示すダイヤデータテーブル上の項目であり、同じレコードが持つ列車番号並びに同駅情報内の駅名に対応する到着時刻変数ArvTimeの値が決定した時に、変数の値をコピーして決定するものである。従って運転整理着時刻が未決ということは、対応する着時刻変数の値が未決であることと同意である。
【００５５】
図9は図8の処理フローを説明するための図である。図中において○印が着時刻変数のドメイン最小値、△印が発時刻変数のドメイン最小値で、黒い塗りつぶしとなるのは値が決定している変数、白抜きとなるのは値が未決な変数を表し、斜線の塗りつぶし9110は選択中の変数ArvTime(r0,s0)である。図中の4本の列車のうち列車r0 9100と同方向から駅s0 へ到着する列車r1 9200、r2 9300が集合Sとなる。
【００５６】
図8に戻り到着続行時隔制約設定の処理フローの説明を続ける。ステップ8020では集合Sの有無を判定し、集合Sが空であれば処理を終了し、空でなければステップ8030へと処理を進める。ステップ8030では集合Sより列車を1つ抽出する。ステップ8040では集合Sより抽出した列車(以後、列車ts)の駅s0における到着時刻変数ArvTime(ts ,s0)のドメイン最小値が、選択中の変数ArvTime(r0,s0)のドメイン最小値と到着続行時隔を示す一定時分αを加算した値より大きいかどうかを判定し、ArvTime(ts,s0)が大きい場合には処理をステップ8020へと戻し、値が小さくなる場合には処理をステップ8050へと進める。ステップ8050では列車r0と列車tsの間に到着続行時隔制約を示す制約式を定義し、数理モデルへと組み込む。図9においては、列車r1の駅s0における到着時刻変数9210 は制約式定義の対象の変数、つまり制約を定義しなければ到着時刻変数9210の値が到着続行時隔に違反することになりうる変数であり、列車r2の駅s0における到着時刻変数9310は制約対象外の変数、制約を定義しなくても到着時刻変数9310は到着続行時隔制約を違反する値とならない変数として図8のステップ8040にて判定される。ステップ8050にて到着続行時隔制約として数理モデルへと組み込まれる制約式は以下の式となる。
【００５７】
【数９】
2008189272.tif 000011
【００５８】
また、図9中においては「到着時刻変数9210 - 到着時刻変数9110 > α」として示される。
図8に戻り到着時刻制約設定処理の処理フローの説明を続ける。ステップ8050では制約式を数理モデルへと組み込んだ後、制約式を図1に示す制約式リスト1203へと登録する。
【００５９】
図10は制約式リスト1203を示す図である。
【００６０】
制約式リストは制約式の組込み処理を実行したときに図4のステップ4040で示す変数選択処理にて選択された変数を示す変数ID10010と、組込みを実行した制約式の定義を示す制約式10020の項目を持つ。レコード10110は変数としてaレのC駅における到着時刻変数を選択した時に、選択した変数の値を決定する制約「ArvTime(aレ、C駅)==4230」と、他の変数との関連より生成される制約式「ArvTime(bレ、C駅)  ArvTime(bレ、C駅)＞180」の2本の制約式を数理モデルへと組み込んだことを示している。
【００６１】
図8に戻り到着続行時隔制約設定の処理フローの説明を続ける。図8のステップ8050を実行後、到着時刻制約設定処理を終了し、図7のステップ7030へと処理を移す。
【００６２】
図7に戻り数理モデル組込処理の説明を続ける。ステップ7030では選択した到着時刻変数が終着駅のものかを判定し、終着駅である場合には処理をステップ7040へとうつし、終着駅でなければ数理モデル組込処理を終了する。ステップ7040では選択した変数に関連する折返し列車向け番線競合制約を示す制約式を数理モデルへと組込む。
【００６３】
図11はステップ7040の処理フローを示す図である。ここで、選択した到着時刻変数を列車r0の駅s0における到着時刻変数ArvTime( r0 , s0)として説明を続ける。ステップ11010は駅s0で列車r0の到着番線と同じ番線より出発する列車のうち、駅s0での運転整理到着時刻が未決定な列車を選択し、列車の集合Sを作成する。
【００６４】
図12は図11の処理フローを説明するための図である。図中において○印が着時刻変数のドメイン最小値、△印が発時刻変数のドメイン最小値で黒い塗りつぶしとなるのは値が決定している変数、白抜きとなるのは値が未決な変数を表し、斜線の塗りつぶし12110は選択中の変数ArvTime(r0,s0)である。駅S0内のd1 12010、d2 12020、d3 12030、d4 12040はそれぞれD駅における番線を示している。図中の4本の列車のうち列車r0 12100と駅s0 において同一番線を使用する列車r3レ 12400が集合Sとなる。
【００６５】
図11に番線競合制約設定の処理フローの説明を続ける。ステップ11020では集合Sの有無を判定し、集合Sが空であれば処理を終了し、空でなければステップ11030へと処理を進める。ステップ11030では集合Sより列車を1つ抽出する。ステップ11040では集合Sより抽出した列車(以後、列車ts)の駅s0における到着時刻変数ArvTime(ts ,s0)のドメイン最小値が、列車r0の折返し列車である列車r0’の駅s0における出発時刻変数DptTime(r0’,s0)のドメイン最小値と一定時分αを加算した値より大きいかどうかを判定し、ArvTime(ts,s0)が大きい場合には処理をステップ11020へと戻し、値が小さくなる場合には処理をステップ11050へと進める。ステップ11050では列車r0’と列車tsの間に番線競合時隔制約を示す制約式を定義し、数理モデルへと組み込む。図12においては、列車r3の駅s0における到着時刻変数12410 は制約式定義の対象の変数であると、図11のステップ11040にて判定される。ステップ11050にて番線競合制約として数理モデルへと組み込まれる制約式は以下の式となる。
【００６６】
【数１０】
2008189272.tif 000012
【００６７】
また、図12中においては「到着時刻変数12410  出発時刻変数12120 > TIT」として示される。
【００６８】
図11に戻り折返し列車向け番線競合制約設定の処理フローの説明を続ける。ステップ11050では制約式を数理モデルへと組み込んだ後、制約式を図1に示す制約式リスト1203へと登録し、処理を終了する。
【００６９】
図7に戻り数理モデル組込処理の説明を続ける。ステップ7050では選択した変数に関連する出発続行時隔制約を示す制約式を数理モデルへと組込む。
【００７０】
図13はステップ7050の処理フローを示す図である。ここで、選択した出発時刻変数を列車r0の駅s0における出発時刻変数DptTime( r0 , s0)として説明を続ける。ステップ13010では列車r0と同方向へ駅s0を出発する列車のうち、駅s0での運転整理出発時刻が未決定な列車を選択し、列車の集合Sを作成する。
【００７１】
図14は図13の処理フローを説明するための図である。図中において○印が着時刻変数のドメイン最小値、△印が発時刻変数のドメイン最小値で黒い塗りつぶしとなるのは値が決定している変数、白抜きとなるのは値が未決な変数を表し、斜線の塗りつぶし14110は選択中の変数DptTime(r0,s0)である。図中の4本の列車のうち列車r0 14100と駅s0 において同一方向へ出発する列車r1レ 14200と列車r2レ 14300が集合Sとなる。
【００７２】
図13に戻り出発続行時隔制約設定の処理フローの説明を続ける。ステップ13020では集合Sの有無を判定し、集合Sが空であれば処理を終了し、空でなければステップ13030へと処理を進める。ステップ13030では集合Sより列車を1つ抽出する。ステップ13040では集合Sより抽出した列車(以後、列車ts)の駅s0における出発時刻変数DptTime(ts ,s0)のドメイン最小値が、列車r0の駅s0における出発時刻変数DptTime(r0,s0)のドメイン最小値と一定時分αを加算した値より大きいかどうかを判定し、DptTime(ts,s0)が大きい場合には処理をステップ13020へと戻し、値が小さくなる場合には処理をステップ13050へと進める。ステップ13050では列車r0と列車tsの間に出発続行時隔制約を示す制約式を定義し、数理モデルへと組み込む。図14においては、列車r1の駅s0における出発時刻変数14210 は制約式定義の対象の変数であると、図13のステップ13040にて判定される。ステップ13050にて出発続行時隔制約として数理モデルへと組み込まれる制約式は以下の式となる。
【００７３】
【数１１】
2008189272.tif 000013
【００７４】
また、図14中においては「出発時刻変数14210  出発時刻変数14110 > α」として示される。
【００７５】
図13に戻り出発続行時隔制約設定の処理フローの説明を続ける。ステップ13050では制約式を数理モデルへと組み込んだ後、制約式を図1に示す制約式リスト1203へと登録し、処理を終了する。
【００７６】
図7に戻り数理モデル組込処理の説明を続ける。ステップ7060では図4に示すステップ4040にて選択した変数に関連する駅間順序同一制約を示す制約式を数理モデルへと組込む。
【００７７】
図15はステップ7060の処理フローを示す図である。ここで、選択した出発時刻変数を列車r0の駅s0における出発時刻変数DptTime( r0 , s0)として説明を続ける。ステップ15010では駅s0を出発し、かつ次駅(=s1駅)も列車r0と等しい列車のうち、駅s1での運転整理発時刻が未決定な列車を選択し、列車の集合Sを作成する。
【００７８】
図16は図15の処理フローを説明するための図である。図中において○印が着時刻変数のドメイン最小値、△印が発時刻変数のドメイン最小値で黒い塗りつぶしとなるのは値が決定している変数、白抜きとなるのは値が未決な変数を表し、斜線の塗りつぶし16110は選択中の変数DptTime(r0,s0)である。図中の4本の列車のうち列車r0 16100と次駅が等しい列車r1 16200、列車r2 16300が集合Sとなる。
【００７９】
図15に戻り駅間順序同一制約の処理フローの説明を続ける。ステップ15020では集合Sの有無を判定し、集合Sが空であれば処理を終了し、空でなければステップ15030へと処理を進める。ステップ15030では集合Sより列車を1つ抽出する。ステップ15040では集合Sより抽出した列車(以後、列車ts)の駅s1における到着時刻変数ArvTime(ts ,s1)のドメイン最小値が、列車r0の駅s1における到着時刻変数ArvTime(r0,s1)のドメイン最小値と一定時分αを加算した値より大きいかどうかを判定し、ArvTime(ts,s1)が大きい場合には処理をステップ15020へと戻し、値が小さくなる場合には処理をステップ15050へと進める。ステップ15050では列車r0と列車tsの間に駅間順序同一制約を示す制約式を定義し、数理モデルへと組み込む。図16においては、列車r1の駅s1における到着時刻変数16210 は制約式定義の対象の変数であると、図15のステップ15040にて判定される。ステップ15050にて駅間順序同一制約として数理モデルへと組み込まれる制約式は以下の式となる。
【００８０】
【数１２】
2008189272.tif 000014
【００８１】
また、図16中においては「到着時刻変数16210  到着時刻変数16120 > 0」として示される。
【００８２】
図15に戻り駅間順序同一制約設定の処理フローの説明を続ける。ステップ15050では制約式を数理モデルへと組み込んだ後、制約式を図1に示す制約式リスト1203へと登録し、処理を終了する。
【００８３】
図7に戻り数理モデル加算処理の説明を続ける。ステップ7070では図4に示すステップ4040にて選択した変数に関連する番線競合制約を示す制約式を数理モデルへと組込む。
【００８４】
図17はステップ7070の処理フローを示す図である。ここで、選択した出発時刻変数を列車r0の駅s0における出発時刻変数DptTime( r0 , s0)として説明を続ける。ステップ17010は駅s0で列車r0の出発番線と同じ番線より出発する列車のうち、駅s0での運転整理到着時刻が未決定な列車を選択し、列車の集合Sを作成する。
【００８５】
図18は図17の処理フローを説明するための図である。図中において○印が着時刻変数のドメイン最小値、△印が発時刻変数のドメイン最小値で黒い塗りつぶしとなるのは値が決定している変数、白抜きとなるのは値が未決な変数を表し、斜線の塗りつぶし18110は選択中の変数DptTime(r0,s0)である。駅S0内のd1 18010、d2 18020、d3 18030、d4 18040はそれぞれ駅S0における番線を示している。図中の4本の列車のうち列車r0 18100と駅s0 において同一番線を使用する列車r1レ 18200、r3レ 18400が集合Sとなる。
【００８６】
図17に戻り番線競合制約設定の処理フローの説明を続ける。ステップ17020では集合Sの有無を判定し、集合Sが空であれば処理を終了し、空でなければステップ17030へと処理を進める。ステップ17030では集合Sより列車を1つ抽出する。ステップ17040では集合Sより抽出した列車(以後、列車ts)の駅s0における到着時刻変数ArvTime(ts ,s0)のドメイン最小値が、列車r0の駅S0における出発時刻変数DptTime(r0,s0)のドメイン最小値と一定時分αを加算した値より大きいかどうかを判定し、ArvTime(ts,s0)が大きい場合には処理をステップ17020へと戻し、値が小さくなる場合には処理をステップ17050へと進める。ステップ17050では列車r0と列車tsの間に番線競合時隔制約を示す制約式を定義し、数理モデルへと組み込む。図18においては、列車r1の駅s0における到着時刻変数18210 と、列車r3の駅s0における到着時刻変数18410は制約式定義の対象の変数であると、図17のステップ17040にて判定される。ステップ17050にて番線競合制約として数理モデルへと組み込まれる制約式は以下の式となる。
【００８７】
【数１３】
2008189272.tif 000015
【００８８】
また、図18中においては「到着時刻変数18210  出発時刻変数18110 > TIT」、「到着時刻変数18410  出発時刻変数18110 > TIT」として示される。
【００８９】
図17に戻り番線競合処理の処理フローの説明を続ける。ステップ17050では制約式を数理モデルへと組み込んだ後、制約式を図1に示す制約式リスト1203へと登録し、処理を終了する。
図4に戻り運転整理部1110の処理フローについての説明を続ける。ステップ4070ではステップ4040にて選択した変数に対する値の割当てを行う。割り当てる値は変数のドメイン最小値とする。また、選択した変数に値を割り当てたことを示す制約式
【００９０】
【数１４】
2008189272.tif 000016
【００９１】
を図1に示す制約式リスト1203へと登録する。
【００９２】
ステップ4080ではステップ4040にて選択した変数の示す列車について、列車の優先度が高い場合には終着時刻についての遅延時分に応じて処理を分岐させる。遅延時分は終着の計画時刻と終着時刻を示す到着時刻変数のドメイン最小値を比較し、ドメイン最小値 から終着の計画時刻を引いた差が、図3の終着時刻遅延限界量設定パネル3200で入力した値(以下、遅延限界量)より大きい場合にはステップ4100へと処理を進め、遅延限界量以下である場合にはステップ4110へ処理を進める。ステップ4110では選択した変数に割り当てられた値を、変数が示す運転整理到着/出発時刻の値にコピーを行い、ステップ4030へと処理を戻す。ステップ4030ではステップ4020で組み込まれた制約式と、それ以降の処理において組み込まれた制約式より構築される数理モデルに対する演算を実行し、各変数のドメインの範囲を更新する。ステップ4100では遅延限界量を超えて遅延してしまった優先列車について、遅延量を短縮するためのフィードバック処理を実行する。フィードバック処理4100では優先列車を遅延させる要因となっている優先列車の前方を走行する列車を検出し、同列車を優先列車の後方となるように特定の駅で退避させるための処理である。処理としては退避関係を設定するための制約式の生成と、運転整理部1110の処理を退避関係を反映させるために必要な箇所への巻き戻し処理を実行する。
【００９３】
図19は図4のステップ4100に示すフィードバック処理の処理フローを示す図である。ステップ19010では図1に示す運転整理部1110の処理を巻き戻す際の戻り位置を算出する。
【００９４】
図20は図19に示す戻り位置算出処理19010の処理フローを示す図である。ここで、図4のステップ4040で選択した変数の示す列車を列車r0、終着駅をslとして説明を続ける。ステップ20010では列車r0と同方向から駅slに到着する列車のうち、駅slでの運転整理着時刻が既に決定している列車を選択し、列車集合Sを作成する。ステップ20020では列車r0と等しい優先度で、かつ駅slでの運転整理着時刻が最大となる列車をSより選択し、列車rpとする。ステップ20030では駅slの運転整理着時刻が列車rpの駅slにおける運転整理着時刻以上となる列車を集合Sより抽出し、集合Tを作成する。
【００９５】
図21は図19〜図22を説明する図である。図21中の4本の列車、列車r0 21100 、列車r1 21200、列車r2 21300 、列車r3  21400  のうち、終着時刻の遅延量が遅延限界時分以上となった列車r0を図中の列車r0 21100、その他3本は列車r0の終着駅slを走行する列車を示す。また、列車r1  21200は優先度が列車r021100と同等な列車、図4のステップ4040で選択した変数を、図中の丸印としている列車r0の駅slにおける終着時刻変数21110として示す。図中で四角印は出発または到着変数を示しており、中の数字は図4のステップ4040の変数選択処理で選択された順番を示している。本処理においては変数選択の順番は、変数の値が小さい順と同意となる。よって選択中の変数を示す変数21110の数値が19であることから、図中に示す変数は21110で示す変数の値より小さい変数にて、値が決定済みのものとなる。本図において図20のステップ20010にて作成される集合Sに含まれる列車は  列車r1 21200、列車r2 21300、列車r3 21400の3本、ステップ20020にて列車rpとなるのは列車r1、ステップ20030にて作成される集合Tに含まれるのは列車r2 21300、r3 21400となる。
【００９６】
図20に戻り処理の説明を続ける。ステップ20040では集合Tが空であるかを判定し、空である場合には処理をステップ20100へ進め、空でなければ処理をステップ20050へと進める。ステップ20050ではステップ20030で作成した集合Tより任意の列車を１つ抽出する(=列車rxとする)。ステップ20060では駅sl以外において列車r0と列車rxが共に走行する駅を取得し、駅集合Kとする。図21においては、駅Sl以外において列車r0の走行する駅は駅S1、駅S2、駅S3、駅S4であるので、列車r2 21300を列車rxとして選択した場合、駅集合Kは駅S3、駅S4の2つ、列車r3 21400を列車rxとして選択した場合、駅集合Kは駅S2、駅S3、駅S4の3つとなる。
【００９７】
図20に戻り処理の説明を通けるステップ20070では駅集合Kが空であるかを判定し、空である場合には処理をステップ20040へと戻し、空でなければ処理をステップ20080へと処理を進める。ステップ20080では駅集合Kより駅を１つ選択する(=駅ksとする)。ステップ20090では列車r0の終着駅での遅延を短縮するために、列車r0と列車rxとの間で列車r0を列車rxの前に走行させるための順序入換え処理(=退避処理)を実行する駅の候補を算出し、退避箇所リストとして登録する。
【００９８】
図22は図20のステップ20090で示す退避箇所算出処理の、処理の流れを示す図である。ステップ22010では列車rxが駅ksの次に走行する駅を取得し、駅ksnとする。ステップ22020では列車rxにおける駅ksnの運転整理着時刻+到着続行時隔の値とするrxTimeと、列車r0における駅ksの運転整理着時刻+駅ksと駅ksn間の駅間走行時分の値とするr0Timeの2つを算出する。図21において列車rxを列車r3 21400、駅ksを駅S3とした場合、駅ksnは駅S4となる。また、rxTimeは番号が13で示す変数の値と到着続行時隔を加算した値、r0Timeは番号が15で示す変数の値と列車r0 21100における駅S3、駅S4間での駅間走行時分を加算した値となる。ここでr0Timeは列車rxが存在しない場合に、列車r0が駅ksnへと到着する時刻を示しており、r0TimeよりもrxTimeが小さい時には列車r0の駅ksnへの走行に対して、列車rxは影響を及ぼしていないことを示しており、r0TimeよりもrxTimeが大きい時には、列車rxの影響により列車r0の駅ksnへの到着が遅延していることを示している。ステップ22030ではrxTimeとr0Timeの値を比較し、rxTimeの値が小さい時には、列車rxは駅ksにおいて列車r0の遅延に対する影響はないと判断して処理を終了とし、rxTImeの値が大きい場合には、遅延に影響を与えていると判断し、列車rxを列車r0の後発となるように退避を設定する箇所(駅)を決定するために、処理をステップ22040へと移す。ステップ22040では制御パラメータnを定義し、nの値を0と設定する。ステップ22050では列車rxにおいて駅ksをnの値分さかのぼった駅（=駅ksr）を取得する。図21において列車rxを列車r3 21400、駅ksを駅S3とした場合、nが0のときは駅ksrは駅ks同様に駅S3、nが1のときには駅ksより1だけ走行順をさかのぼった駅S2が駅ksrとなる。ステップ22060では駅ksrにおいて列車rxと列車r0が同一方向から駅ksrに到着したのか否か、つまり列車rx、列車r0ともに駅ksrを１つさかのぼった駅が等しいのかを判定し、等しい場合には処理をステップ22090へと移し、異なる場合には処理をステップ22070へと移す。ステップ22070では駅ksrにおいて列車rxと列車r0が同一番線を使用しているのかを判定し、同一番線の場合には処理をステップ22100へと移し、異なる場合には処理をステップ22080へと移す。22080では制御パラメータnを1加算し、処理をステップ22050へと移す。ステップ22090では駅ksrにおける到着順序を列車r0と列車rxの退避箇所として退避箇所リストへ登録する。
【００９９】
退避箇所リストのテーブル構成を図23に示す。退避リストは変数ID23010、運転整理着/発時刻23020の項目をもつ。列車rxをr3、駅ksrをS3とし、到着時刻を退避させるためには、変数ID23010をArvTime(rx,ksr)、運転整理着/発時刻23040を列車r3の駅S3における運転整理到着時刻として登録する。
【０１００】
図22に戻り処理の説明を続ける。ステップ22100では駅ksrにおける出発順序を列車r0と列車rxの退避箇所として退避箇所リストへ登録する。
【０１０１】
ステップ22090または、ステップ22100終了後、退避処理を終了し、処理を図20のステップ20070へと移す。    
図20に戻り処理の流れの説明を続ける。ステップ20100では退避箇所リストより、リストの中で運転整理着/発時刻23020が最も早いレコードが示す箇所を退避箇所として選択し、戻り点と設定して、処理を図19のステップ19020へと移す。
【０１０２】
図19に戻りフィードバックの処理の流れの説明を続ける。ステップ19020〜19050を通して実行するフィードバック処理では、ステップ19010で設定したポイントへ図1の運転整理部1100の処理に対する巻き戻しと、遅延要因を解消するための制約式の組込みを実行する。図21においては、列車r0レ 21100の終着駅における遅延の要因として出発時刻変数21410が検出された場合を示しており、その場合、フィードバック処理においては、出発時刻変数21410を列車r0の駅S3における出発時刻変数21120の後になるような制約式の組込みと、到着時刻変数21110の値決定まで進行していた処理を、出発変数21410を決める手前まで巻き戻す処理を実行する。
【０１０３】
図19に戻りフィードバックの処理の流れの説明を続ける。ステップ19020では、図20のステップ20100にて戻り位置として算出した変数と同じ変数IDを持つレコードを、制約リスト1203より検出し、検出したレコード以下に記録されたレコードを削除する。ステップ19030ではこれまでの処理にて構築した数理モデルをクリアし、図4のステップ4020で構築した数理モデルの状態へと戻す。ステップ19040ではステップ19010で検出した退避関係をモデルに反映させるための制約を生成し、数理モデルへと組み込む。ステップ19050では制約リスト内にある制約式を全て数理モデルへと組み込みフィードバック処理を終了する。以上の処理により、図21の到着変数21310の値決定後から到着変数21110の値選択までにモデルに組み込んだ制約は削除され、着変数21310を選択する前の状態に戻ることとなる。図4の数理モデル展開処理4030へと処理を戻す。
【０１０４】
図4に戻り図1に示す運転整理部1110の処理の流れの説明を続ける。ステップ4050にて選択する変数がなくなったとき、つまり全ての変数に値が割りあたったときに運転整理部1110の処理を終了する。
【０１０５】
運転整理部1110の処理終了後、図1に示すダイヤ図表示部1120では、ダイヤデータテーブル1201のダイヤデータのうち、運転整理着時刻と運転整理発時刻をもとに、ダイヤ図を作成し、表示部1400へとダイヤ図を描画する。
【０１０６】
以上の処理にて、運転整理案の自動生成時の処理の一連の流れが終了する。
【産業上の利用可能性】
【０１０７】
本発明は、列車の運転整理案を作成するシステムに利用可能である。
【図面の簡単な説明】
【０１０８】
【図１】運転整理支援システムのシステム構成図である。
【図２】ダイヤ図を示す図である。
【図３】GUI表示部1130が表示するユーザー入力画面の図である。
【図４】運転整理部1110の処理フローを示す図である。
【図５】ダイヤデータテーブル120のテーブル構成を示す図である。
【図６】到着/出発変数の状態を示す図である。
【図７】数理モデル組込み処理4060の処理フローを示す図である。
【図８】到着続行時隔制約設定処理7020の処理フローを示す図である。
【図９】到着続行時隔制約設定処理7020を説明する図である。
【図１０】制約式リスト1203の構成を示す図である。
【図１１】折返し列車向け番線競合制約設定処理7040の処理フローを示す図である。
【図１２】折返し列車向け番線競合制約設定処理7040を説明する図である。
【図１３】出発続行時隔制約設定処理7050の処理フローを示す図である。
【図１４】出発続行時隔制約設定処理7050を説明する図である。
【図１５】駅間順序同一制約設定処理7060の処理フローを説明する図である。
【図１６】駅間順序同一制約設定処理7060を説明する図である。
【図１７】番線競合制約設定処理7070の処理フローを説明する図である。
【図１８】番選挙号制約設定処理7070を説明する図である。
【図１９】フィードバック処理4100の処理フローを説明する図である。
【図２０】戻り位置算出処理19010の処理フローを説明する図である。
【図２１】フィードバック処理4100を説明する図である。
【図２２】退避箇所算出処理20090の処理フローを説明する図である。
【図２３】退避箇所リストの構成を示す図である。
【符号の説明】
【０１０９】
1100・・中央処理装置、1200・・データベース、1300・・入力装置、1400・・表示装置、1110・・運転整理部、1120・・ダイヤ図表示部、1130・・GUI表示部、1140・・数理計画実行部、1201・・ダイヤデータテーブル、1202・・基礎データテーブル、1203・・制約式リスト
【図１】
2008189272.tif 000017
【図２】
2008189272.tif 000018
【図３】
2008189272.tif 000019
【図４】
2008189272.tif 000020
【図５】
2008189272.tif 000021
【図６】
2008189272.tif 000022
【図７】
2008189272.tif 000023
【図８】
2008189272.tif 000024
【図９】
2008189272.tif 000025
【図１０】
2008189272.tif 000026
【図１１】
2008189272.tif 000027
【図１２】
2008189272.tif 000028
【図１３】
2008189272.tif 000029
【図１４】
2008189272.tif 000030
【図１５】
2008189272.tif 000031
【図１６】
2008189272.tif 000032
【図１７】
2008189272.tif 000033
【図１８】
2008189272.tif 000034
【図１９】
2008189272.tif 000035
【図２０】
2008189272.tif 000036
【図２１】
2008189272.tif 000037
【図２２】
2008189272.tif 000038
【図２３】
2008189272.tif 000039