運行計画のダイヤデータを格納するダイヤデータテーブル、列車運行に関する制約条件として考慮すべき2つの着発時刻間の時隔差を定義するリンク定義テーブル、列車の運行状況を表すグラフデータを格納するグラフデータテーブルを有するデータベースと、格納された該ダイヤデータに対応したダイヤ図を表示装置に表示するダイヤ図表示部と、該ダイヤデータテーブルに格納された該列車ダイヤデータを用いて、該リンク定義テーブルにより規定される定義に従って、列車ダイヤの着発時刻をノード、2つの着発時刻間の時隔差をリンクとしたグラフデータを生成するグラフデータ生成部と、該ダイヤデータテーブル内のダイヤデータ又はユーザーによる入力装置からの運転整理入力結果から、デッドロックとなる箇所を検出するデッドロック判定部と、デッドロックの解消や遅延回復のためのユーザーによる入力装置からの運転整理入力前後のダイヤデータを用いて該グラフデータ生成部により生成され格納された該グラフデータから、条件節をデッドロックや遅延の原因及び遅延状況、実行節をダイヤ変更内容とするIFTHEN形式のルールを抽出する運転整理ルール生成部と、運転整理案の自動生成及び現在時刻以降の列車運行予測のシミュレーション演算を実行する列車運行シミュレーション実行部と、前記列車運行シミュレーション実行部により算出したダイヤデータに対し、前記運転整理ルール生成部にて生成した運転整理ルールを適用し、条件節を満たす列車に対して実行節に示す列車ダイヤデータの変更を実行する運転整理ルール実行部を有し、該運転整理ルール実行部により変更された、前記ダイヤデータテーブル内の該列車ダイヤデータに対応するダイヤ図を、該ダイヤ図表示部の制御により表示装置に表示することを特徴とする運転整理支援システム。前記運転整理ルール生成部は、デッドロック解消のための該入力装置からのユーザーによる運転整理入力から解消したデッドロックの構造を抽出して運転整理ルールの条件節とするか、あるいは遅延回復のための該入力装置からのユーザーによる運転整理入力から遅延回復した列車の遅延原因となる列車と遅延原因となる運行条件を抽出して運転整理ルールの条件節とすることを特徴とする、請求項1に記載の運転整理支援システム。前記運転整理ルール生成部は、条件節をデッドロックや遅延の原因及び遅延状況、実行節をダイヤ変更内容とするIFTHEN形式のルールを自動抽出し、ユーザーによる該入力装置からの入力により、抽出内容、条件節の列車種別、駅、実行節の内容を追加、削除可能とすることを特徴とする、請求項1に記載の運転整理支援システム。前記運転整理ルール実行部は、前記運転整理ルール生成部により生成した駅や列車番号を特定しないIFTHEN形式の運転整理ルールについて、条件節に合致する列車に実行節のダイヤ変更を実行したときにデッドロックとならない箇所についてダイヤ変更を適用することを特徴とする、請求項1に記載の運転整理支援システム。請求項1に記載の運転整理支援システムであって、前記データベースは、デッドロックや遅延の原因を含む運転整理ルールを採用率、実行有無と共に格納する運転整理ルールテーブルを有し、更に、該運転整理ルールテーブルを参照して、該表示装置に表示された変更後のダイヤに対するユーザーによる該入力装置から入力された運転整理ルールの採用率を算出し、実行する運転整理ルールを分析する運転整理ルール分析部を有し、運転整理ルール分析部によって算出した採用率に基づいて決められた該運転整理ルールについて、前記運転整理ルール実行部により運転整理ルール実行処理を行い、運転整理案の自動提案を行うことを特徴とする運転整理支援システム。列車の運転計画のダイヤデータ又はユーザーによる入力装置からの運転整理入力結果から、デッドロックとなる箇所を検出するデッドロック判定ステップと、列車運行に関する制約条件として考慮すべき2つの着発時刻間の時隔差を定義するリンク定義テーブルによる定義に従って、列車ダイヤの着発時刻をノード、2つの着発時刻間の時隔差をリンクとしたグラフデータを生成するグラフデータ生成ステップと、デッドロックの解消や遅延回復のためのユーザーによる入力装置からの運転整理入力前後のダイヤデータを用いて該グラフデータ生成ステップにより生成されたグラフデータから、条件節をデッドロックや遅延の原因及び遅延状況、実行節をダイヤ変更内容とするIFTHEN形式のルールを抽出する運転整理ルール生成ステップと、運転整理案の自動生成及び現在時刻以降の列車運行予測のシミュレーション演算を実行する列車運行シミュレーション実行ステップと、該列車運行シミュレーション実行ステップにより算出したダイヤデータに対し、前記運転整理ルール生成部にて生成した運転整理ルールを適用し、条件節を満たす列車に対して実行節に示す列車ダイヤデータの変更を実行する運転整理ルール実行ステップを有し、該運転整理ルール実行ステップにより変更された列車ダイヤデータに対応するダイヤ図を、表示装置に表示するステップを有することを特徴とする運転整理支援方法。更に、デッドロックや遅延の原因を含む運転整理ルールを採用率、実行有無と共に格納する運転整理ルールテーブルを参照して、該表示装置に表示された変更後のダイヤに対するユーザーによる該入力装置から入力された運転整理ルールの採用率を算出し、実行する運転整理ルールを分析する運転整理ルール分析ステップを有し、運転整理ルール分析ステップによって算出した採用率に基づいて決められた該運転整理ルールについて、前記運転整理ルール実行ステップにより運転整理ルール実行処理を行い、運転整理案の自動提案を行うことを特徴とする請求項6に記載の運転整理支援方法。特許文献1に記載の技術は、遅延の原因をルールとして抽出することができないため、異なる原因で遅延している列車や運転整理の必要のない列車に対してまで運転整理ルールを適用し、ユーザーの意図と異なる運転整理案を自動提案する可能性がある。また特許文献2に記載の技術は、遅延原因列車の遅延を加味しているが、ルールが固定されているため、指令員の新たな意図に柔軟に対応できない。また、これらの技術は何れもデッドロックのないダイヤを想定しているため、列車運行が不可能であるデッドロックを解消させるというユーザーにとって必須の運転整理に対応していない。運転整理後にデッドロックとなる場合も加味していないため、デッドロックとなる運転整理案を提案する可能性がある。適用時に必ずデッドロックとならないようなルールでは、ルールの条件が多く、ルールとしての汎用性がなくなってしまうことも考えられる。本発明は、上記の課題に鑑み、ユーザー指令員によるデッドロックの解消や遅延回復のための運転整理入力から、デッドロックや遅延の原因を含む運転整理ルールを抽出する運転整理支援システム及びその方法を実現することにある。本発明はまた、運転整理ルールの条件節に合致する列車に実行節の運転整理を実施した場合にデッドロックとならないものに対して自動的に運転整理を実施することにある。本発明はまた、抽出した運転整理ルールや自動で実施した運転整理内容をユーザーが編集取り消し可能であり、ユーザーの編集結果を運転整理の自動提案に適用することにある。本発明による運転整理支援システムは、好ましくは、運行計画のダイヤデータを格納するダイヤデータテーブル、列車運行に関する制約条件として考慮すべき2つの着発時刻間の時隔差を定義するリンク定義テーブル、列車の運行状況を表すグラフデータを格納するグラフデータテーブル、および、デッドロックや遅延の原因を含む運転整理ルールを格納する運転整理ルールテーブルを有するデータベースと、格納された該ダイヤデータに対応したダイヤ図を表示装置に表示するダイヤ図表示部と、該ダイヤデータテーブルに格納された該列車ダイヤデータを用いて、該リンク定義テーブルにより規定される定義に従って、列車ダイヤの着発時刻をノード、2つの着発時刻間の時隔差をリンクとしたグラフデータを生成するグラフデータ生成部と、該ダイヤデータテーブル内のダイヤデータ又はユーザーによる入力装置からの運転整理入力結果から、デッドロックとなる箇所を検出するデッドロック判定部と、デッドロックの解消や遅延回復のためのユーザーによる入力装置からの運転整理入力前後のダイヤデータを用いて該グラフデータ生成部により生成され格納された該グラフデータから、条件節をデッドロックや遅延の原因及び遅延状況、実行節をダイヤ変更内容とするIFTHEN形式のルールを抽出する運転整理ルール生成部と、運転整理案の自動生成及び現在時刻以降の列車運行予測のシミュレーション演算を実行する列車運行シミュレーション実行部と、前記列車運行シミュレーション実行部により算出したダイヤデータに対し、前記運転整理ルール生成部にて生成され格納された該運転整理ルールテーブル内の運転整理ルールを適用し、条件節を満たす列車に対して実行節に示す列車ダイヤデータの変更を実行する運転整理ルール実行部を有し、該運転整理ルール実行部により変更された、前記ダイヤデータテーブル内の該列車ダイヤデータに対応するダイヤ図を、該ダイヤ図表示部の制御により表示装置に表示することを特徴とする運転整理支援システムとして構成される。また、本発明に係る運転整理支援方法は、好ましくは、列車の運転計画のダイヤデータ又はユーザーによる入力装置からの運転整理入力結果から、デッドロックとなる箇所を検出するデッドロック判定ステップと、列車運行に関する制約条件として考慮すべき2つの着発時刻間の時隔差を定義するリンク定義テーブルによる定義に従って、列車ダイヤの着発時刻をノード、2つの着発時刻間の時隔差をリンクとしたグラフデータを生成するグラフデータ生成ステップと、デッドロックの解消や遅延回復のためのユーザーによる入力装置からの運転整理入力前後のダイヤデータを用いて該グラフデータ生成ステップにより生成されたグラフデータから、条件節をデッドロックや遅延の原因及び遅延状況、実行節をダイヤ変更内容とするIFTHEN形式のルールを抽出する運転整理ルール生成ステップと、運転整理案の自動生成及び現在時刻以降の列車運行予測のシミュレーション演算を実行する列車運行シミュレーション実行ステップと、該列車運行シミュレーション実行ステップにより算出したダイヤデータに対し、前記運転整理ルール生成部にて生成した運転整理ルールを適用し、条件節を満たす列車に対して実行節に示す列車ダイヤデータの変更を実行する運転整理ルール実行ステップを有し、該運転整理ルール実行ステップにより変更された列車ダイヤデータに対応するダイヤ図を、表示装置に表示するステップを有することを特徴とする運転整理支援方法として構成される。本発明によれば、デッドロックの解消や遅延回復のための指令員による運転整理入力前後の列車運行状況を示すダイヤデータを基に、運転整理ルールをデッドロックや遅延の原因と共に抽出し、ルールを計算機の中で活用することで、ユーザーのダイヤ変更の手動入力操作を補助し、運転整理案作成支援を実現することができる。以下、本発明に係る一実施形態について図面を参照して説明する。図1は、一実施形態による、鉄道運行システムに適用した場合の運転整理支援システムの構成を示す。運転整理支援システムは計算機システムとして構成され、プログラムを実行する処理装置1100、記憶装置内に形成され種々のデータを記憶するデータベースDB1200、ユーザーによるデータ入力を受ける入力装置1300、システムの処理結果を含む種々のデータを表示する表示装置1400を有して構成される。処理装置1100は、所定のアプリケーションプログラムを実行することで、以下の処理機能を実現する。即ち、処理装置1100は、処理機能として、列車の運行状況を表すダイヤデータテーブル図4に格納された列車ダイヤデータをダイヤ図として表示装置1400に表示するダイヤ図表示部1110、列車ダイヤデータを用いて、列車ダイヤの着発時刻をノード、2つの着発時刻間の時隔差をリンクとしたグラフデータを生成し、グラフデータテーブル図5に格納するグラフデータ生成部1120、ダイヤデータテーブル内のダイヤデータ又はユーザーによる入力装置からの運転整理入力結果からデッドロックとなる箇所を検出するデッドロック判定部1130、デッドロックの解消や遅延回復のためにユーザーによって入力装置1300から入力される運転整理入力から、条件節をデッドロックや遅延の原因及び遅延状況、実行節をダイヤ変更内容とするIFTHEN形式のルールを抽出する運転整理ルール生成部1140、運転整理案の自動生成や現在時刻以降の列車運行予測のシミュレーション演算を実行する列車運行シミュレーション実行部1150、列車運行シミュレーション実行部1150により算出されたダイヤデータに対し、運転整理ルール生成部1140にて生成された運転整理ルールを適用して、条件節を満たす列車に対して実行節に示すダイヤ変更を実行してダイヤ図を表示装置に表示する運転整理ルール実行部1160、表示装置に表示されたダイヤ図に対して、ユーザーにより入力装置1300から入力されるダイヤ変更に関するデータ入力に対する運転整理ルールの採用率を算出し、実行する運転整理ルールを分析する運転整理ルール分析部1170を有する。なおここで、デッドロックとは、列車の運行条件が矛盾していることをいい、例えば複数の列車が同じ番線を共有して、列車が正常に運行できない状態に陥るこという。データベース1200は、運行計画のダイヤデータを格納するダイヤデータテーブル1210と、列車運行に関する制約条件として考慮すべき2つの着発時刻間の時隔差を定義するリンク定義テーブル1220と、グラフデータ生成部1110にて生成されるグラフデータを格納するグラフデータテーブル1230と、運転整理ルール生成部1140で生成される運転整理ルールを、運転整理ルール分析部にて算出された採用率、実行有無と共に格納する運転整理ルールテーブル1240を有する。後述するが、この運転整理ルールにはデッドロック解消ルールも含まれる。入力装置1300は、計算機システムで用いられるマウスやキーボードなど入力デバイスであり、表示装置1400はディスプレイなどの出力デバイスである。図2は、図1に示した運転整理支援システムにおける処理フローを示す。ステップS2100では、グラフデータ生成部1120を用いて、ダイヤデータテーブル1210に格納された列車ダイヤデータより、列車ダイヤの着発時刻をノードとし、2つの着発時刻間の時隔差をリンクとするグラフデータを生成し、ノード情報を格納したテーブルとリンク情報を格納したテーブルをグラフデータテーブル1230に格納する。S2200では、ダイヤデータテーブル1210に格納された列車ダイヤデータを、横軸を時刻、縦軸を走行位置として2次元座標上に直線集合、すなわちダイヤ図形式で表示装置1400に表示する。ここで、図3乃至図7を参照して、ダイヤ図及び各種テーブルの構成について説明する。なお、S2300以降の処理については、各種テーブルの説明をした後で、図8以降の図面を参照して述べる。図3はダイヤ図例及び、ダイヤ図例に示すダイヤデータに対するグラフを示す。ダイヤ図3100は列車bレがK駅の1番線に到着し、列車cレとして出発した後、列車aレが異方向からK駅の1番線に到着し、列車cレと同じ方向に出発するという運行状況を表している。線分3101、線分3102、線分3103はそれぞれ列車bレ、列車cレ、列車aレの走行を表している。列車aレのK駅到着前の線分の傾きが著しく小さいのは、遅延している列車bレの到着、列車cレの出発を待ち、K駅の1番線到着前に駅間で停車している、または徐行していることを表している。ダイヤ図3100の運行状況をグラフとして表したものを3200に示す。ノードは、列車aレの到着を示すノード3201、列車aレの出発を示すノード3202、列車bレの到着を示すノード3203、列車cレの出発を示すノード3204が存在し、ノード間のリンクとして、列車aレの停車を表すリンク3301、列車bレから列車cレへの折り返しを表すリンク3302、K駅を列車cレの出発後列車aレが出発するという出発順序を表すリンク3303、1番線を列車cレが使用後に列車aレが使用する、すなわち、1番線を列車cレが出発した後列車aレが進入するという番線使用順序を表すリンク3304が存在する。なお、ここでは時刻を示す値の表記を省略している。図4はダイヤデータテーブル1210のテーブル構成を示す。ダイヤデータテーブル1210は1本の列車を1レコードとして管理する。各レコードは、列車の固有IDを示す列車番号4100、列車が走行する駅の名称や着発時刻に関する項目を持つ駅情報部の項目を有する。駅情報部は1駅分の情報を1つのブロックとして管理し、駅情報を走行順に並べて有している。従って、レコードの最初のブロックが始発駅に関する駅情報を示し、レコードの最後のブロックが終着駅に関する駅情報を示しており、始発から終着に至るまでの全ての駅の駅情報が1つのレコードに記憶されている。駅情報には、駅の名前を示す駅名4210、計画時における到着時刻、出発時刻、使用番線を示す計画到着時刻4220、計画出発時刻4230、計画使用番線4240、列車運行シミュレーション実行部1150にて算出した到着時刻、出発時刻、使用番線を示す運転整理到着時刻4250、運転整理出発時刻4260、運転整理使用番線4270の項目が含まれる。なお、列車が駅を通過する場合は、計画到着時刻4220、運転整理到着時刻4250には無効値が格納される。レコード4201はaレのK駅走行時の走行情報を示し、計画到着時刻4220が1020、計画出発時刻4230が1021であるが、運転整理到着時刻は20分遅延し、運転整理到着時刻4250が1040、運転整理出発時刻4260が1041であることを示している。図5はグラフデータテーブル1230にて示すノード情報のデータ構成を示す。このテーブルは1つのノードを1レコードとして管理する。各レコードは、ノード固有のIDを示すID5110、列車番号5120、駅名5130、ノードの着発区別を示す着発5140、ノードを始点とするリンクのリストである流出リンクリスト5150、ノードを終点とするリンクのリストである流入リンクリスト5160、計画時刻を格納し、列車運行シミュレーション演算に利用する初期値5170、列車運行シミュレーション演算結果を格納する演算値5180の項目を有する。レコード5210は図3のノード3201のデータを示しており、ID5110が1、列車番号5120がaレ、駅名5130がK駅、着発5140が着、流出リンク5150は図3のIDがAのリンク3301、流入リンク5160は図3中のIDがDのリンク3304であることを示している。なお、図3のグラフ3200では省略しているが、初期値5170が図4におけるaレK駅の計画到着時刻1020、演算値5180が図4におけるaレK駅の運転整理到着時刻1040であることを示している。また、レコード5220は図3中のノード3203のデータを示しており、ID5110が3、列車番号5120がbレ、駅名5130がK駅、着発5140が着、流出リンク5150は図3のIDがBのリンク3302、流入リンク5160はなし、初期値5170が図4におけるbレK駅の計画到着時刻1000、演算値5180が図4におけるbレK駅の運転整理到着時刻1040であることを示している。図6はグラフデータテーブル1230にて示すリンク情報のデータ構成を示す。このテーブルは1つのリンクを1レコードとして管理する。各レコードは、リンク固有のIDを示すID6110、リンクの始点となるノードのIDを示す元ノードID6120、終点となるノードのIDを示す先ノードID6130、始点、終点のノードにおける時隔の発生種別を示す運行条件6140、時隔の最小値を示す重み6150、列車運行シミュレーション演算結果の元ノードと先ノードの演算値5180の差を示す演算値6160の項目を有する。図7はリンク定義テーブル1220のテーブル構成を示す。このテーブルは、列車運行に関する制約条件として考慮すべき2つの着発時刻間の時隔差を定義するものである。リンク定義テーブル1220は、リンクで結ばれる始点と終点のノードの関係、リンクの表す運行条件を定義したデータを格納する。運行条件7110はリンクの表す運行条件、始点ノード7120はリンクの始点にあたるノードの定義となる着発時刻、終点ノード7130はリンクの終点にあたるノードの定義となる着発時刻、重み定義7140は重み決定の際の定義を表す。この例では3つの運行条件を記述しているが、2つのノード間の条件を定義する運行条件であれば、適宜その運行条件を追加することで、このテーブルによって定義することができる。このテーブルは、図6に示すリンク情報を生成する際に用いるものである。図6に戻り、グラフデータテーブル1230にて示すリンク情報のデータ構成の説明を続ける。レコード6210は図3のリンク3301のデータを示し、ID6110がA、元ノードID6120が列車aレのK駅到着時刻を示すID1のノード3201、先ノードID6130が列車aレのK駅出発時刻を示すID2のノード3202、運行条件6140は図7のレコード7220で示す停車条件、重み6150と演算値6160は列車aレのK駅停車時分の1であることを示す。重み6150と演算値6160が同じ値であることは、ID2である先ノード3202の演算値5180が本IDAのリンク、すなわち停車条件によって決定したことを示している。レコード6220は図3中のリンク3304のデータを示し、ID6110がD、元ノードID6120が列車cレのK駅出発時刻を示すID4のノード3204、先ノードID6130が列車aレのK駅到着時刻を示すID1のノード3201、運行条件6140は図7のレコード7230で示す番線使用順序、重み6150と演算値6160はK駅1番線における列車cレと列車aレ間の番線使用時隔の5であることを示す。重み6150と演算値6160が同じ値であることは、ID1である先ノード3201の演算値5180が本IDDのリンク、すなわち番線使用順序によって決定したことを示している。ここで、図2に戻り、本運転整理支援システムにおける処理フローの説明を続ける。S2200にてダイヤ図を表示した後、S2300にて運転整理処理を実行する。図8は図2に示すS2300の運転整理処理の流れを示す。S8100ではユーザーによる運転整理入力例えば番線変更や出発順序変更が存在するかどうか判定し、存在する場合はS8200へ進み、存在しない場合はS8110へ進む。S8200では図1に示す運転整理ルール生成部1140を用いてユーザーによる入力装置からの運転整理入力から運転整理ルールを生成する。図9は、図1の運転整理ルール生成部1140の処理の流れを示す。S9100では、ユーザーによる運転整理入力により変更となった列車ダイヤデータに対してグラフデータテーブル1230を更新する。S9200では、更新後のグラフデータテーブルに対してデッドロック判定部1130において、ユーザーによる入力装置1300からの運転整理入力によりデッドロック箇所が増加したかどうかを判定する。デッドロック箇所が増加しなかった場合はS9300へ進む。デッドロック箇所が増加した場合はS9210へ進み、運転整理ルールを抽出しないとして運転整理ルール生成部1140の処理を終了する。デッドロックとなる箇所を検出するデッドロック判定部1130の処理については、一般的にグラフの強連結成分分解を用いるアルゴリズムが存在するため、ここではそのアルゴリズムを用いることとする。S9300では、前述の更新後のグラフデータテーブルに対してデッドロック判定部1130においてデッドロック箇所が減少したかどうかを判定する。デッドロック箇所が減少しなかった場合はS9400へ進む。デッドロック箇所が減少した場合はS9310へ進み、運転整理入力により解消したデッドロックの構造を条件節、実行したダイヤ変更内容を実行節としたIFTHEN形式のデッドロック解消ルールを運転整理ルールとして抽出し、運転整理ルール生成部1140の処理を終了する。図9におけるS9310のデッドロック解消ルール抽出例を、図10に示す。ダイヤ図10100は、デッドロックとなる例を示している。列車aレの運行を表す線分は、aレがP駅の1番線に到着し、P駅にしばらく停車した後に出発することを表している。列車bレの運行を表す線分は、bレがaレよりも早くP駅の1番線に到着し、しばらく停車した後、aレよりも遅くP駅を出発することを表している。本例は、同じ番線を共有し、デッドロックとなっていることを表している。グラフ10110は、本例の運行状況を表したグラフのうち、デッドロックの構造を表す部分を示す。なお、ここでは列車番号と着発、運行条件以外の表記を省略している。本例のデッドロックは、aレの着発間を結ぶ停車リンクと、aレとbレの出発順序を表すリンクと、aレとbレの番線使用順序を表すリンクがデッドロックを起こしているという構造である。ダイヤ図10200は、ダイヤ図10100の示す列車運行に運転整理入力を行い、aレの使用番線を変更した後の運行状況を示す。使用番線が変更となったためデッドロックは解消し、運行可能となっている。番線が変更されたため、グラフにおける番線使用順序リンクが変更となり、グラフ10210に示すように番線使用順序リンクが消え、デッドロックが解消されていることがわかる。本例では番線使用順序から始まり、番線使用順序、停車、出発順序の順に構成されるデッドロックであるならば、番線変更を行うというデッドロック解消ルールを抽出する。図11は、図1に示す運転整理ルールテーブル1240にて示す運転整理ルール情報のうちのデッドロック解消ルールについてのデータ構成を示す。このテーブルは1つのデッドロック解消ルールを1レコードとして管理する。各レコードは、ルールの固有のIDを示すルールID11100、ルールの条件節を示す条件11200、ルールの実行節となるダイヤ変更内容を示す実行内容11300、ルール実行時に条件に合致する列車に対して実行節のダイヤ変更を実施可能であったものの累積数を示す該当数11400、条件節に合致し実施可能であった変更箇所のうちユーザーの確認により実際に採用された箇所の累積数を示す採用数11500、採用数11500を該当数11400で割ることで算出した値を示す採用率11600、ルールを実行するかどうかを示す実行11700の項目を有する。条件11200は、変更対象を示すリンクの条件を示す基準リンク条件11210とデッドロックを構成するリンクの集合を示すデッドロックリンク集合11220からなる。デッドロックリンク集合は1つのリンクを1レコードとして管理するテーブルであり、各レコードはデッドロックの構成を示すリンクの接続の順序を示す接続順序11221、リンクの運行条件を示すリンク条件11222の項目を有する。該当数11400、採用数11500、採用率11600はルールが適用されるたびに更新される値であり、新規にルールを生成する際は初期値として0を格納する。レコード11001は図10にて抽出されるデッドロック解消ルールを示し、ルールID11100が1、条件11200の基準リンク条件11210が、実行内容11300が番線変更であることから抽出する番線使用順序、デッドロックリンク集合11220は、接続順序11221の順にリンク条件11222が番線使用順序、停車、出発順序であるリンク、実行内容11300が番線変更、該当数11400が20、採用数11500が18、採用率11600が09、実行11700が○、すなわち実行するであることを示している。図9に戻り、図1に示す運転整理ルール生成部1140の処理の流れの説明を続ける。S9400では、ユーザーによる運転整理入力前後のグラフデータテーブルを比較し、運転整理入力前に存在した遅延が運転整理入力後に回復しているかどうか判定し、回復している場合はS9500へ進む。回復していない場合はS9210へ進み、運転整理ルールは抽出しないとして運転整理ルール生成部1140の処理を終了する。S9500では、運転整理入力前に存在し入力後に回復した遅延の原因となる列車を特定する。原因列車の特定は、運転整理入力前後のグラフデータテーブルを比較し、次の6条件を満たす運転整理入力前のリンクの元ノードの示す列車と特定する。すなわち、ある駅において計画から規定の時間だけ遅延しており、かつ、その遅延が影響して他の列車にも遅延を発生させている列車のうち、遅延の連鎖の出発点となっている列車を原因列車と特定する。6条件を満たすリンクが存在しない場合は原因列車を特定不可能とする。1運転整理入力前後で向きや順序が変更されている。2運転整理入力前の先ノードが、運転整理入力によりダイヤ変更が実施された列車、駅に対するノードである。3運転整理入力前の重み6150と演算値6160が同じ値、すなわち、ノードの演算値を決定している。4運転整理入力前の先ノードの当該リンク以外の流入リンクの重み6150と演算値6160が運転整理入力前後で差が小さくなっている。5運転整理入力前後で先ノードの演算値5180と初期値5170の差が小さくなっている。6運転整理入力前の元ノードの演算値5180が初期値5170よりも一定量だけ大きい。ここで、一定量とは遅延として事前に定める定数とする。なお、原因列車は当該リンクの示す運行条件6140とともに抽出することとする。S9600では、S9500にて原因列車が特定できたかどうかを判定する。特定できた場合はS9700へ進み、特定できた原因列車を抽出した運行条件とともにルールの条件としてS9900へ進む。S9600にて原因列車を特定できなかった場合はS9800へ進み、条件をユーザーにより手動で設定し、S9900へ進む。S9900では、S9700またはS9800で定めた条件を条件節、運転整理入力により実行したダイヤ変更内容を実行節としたIFTHEN形式の遅延回復ルールを運転整理ルールとして抽出し、運転整理ルール生成部1140の処理を終了する。図12は、図9におけるS9900の遅延回復ルール抽出例を示す。ダイヤ図12100は、図3に示すダイヤ図3100と同じであり、同様の例を用いて抽出例を示す。グラフ12110はダイヤ図12100の運行状況をグラフで表したものである。ノード値表12120はダイヤ図12100の運行状況を示すグラフデータテーブル1230のノード情報の一部である。リンク値表12130はダイヤ図12100の運行状況を示すグラフデータテーブル1230のリンク情報の一部である。ダイヤ図12200は、ダイヤ図12100に示す運行状況にて、K駅1番線到着が遅れている列車aレの番線使用順序と出発順序を変更した後のダイヤ図を示す。グラフ12210はダイヤ図12200の運行状況をグラフで表したものである。ノード値表12220はダイヤ図12200の運行状況を示すグラフデータテーブル1230のノード情報の一部である。リンク値表12230はダイヤ図12200の運行状況を示すグラフデータテーブル1230のリンク情報の一部である。グラフ12110と12210を比較すると、条件に該当するリンクは番線使用順序と出発順序である。運転整理入力によりダイヤ変更が実施された列車、駅はaレ、K駅であるので、この2つのリンクは条件も満たしているが、リンク値表12130より、条件を満たしているのは重み6150と演算値6160が同じ値である番線使用順序である。この番線使用順序については、遅延として事前に定める定数を10分とすると、ノード値表12120、12220、リンク値表12130、12230から、条件も満たしている。本図では、他のノードに対するノード、リンクを表記していないため条件については示されていないが、aレの到着を示すノードへの番線使用順序以外の流入リンクは条件を満たしているとすると、原因列車をcレ、共に抽出する運行条件を番線使用順序と特定できる。実際、本例では列車cレの出発が遅延したことにより列車aレの到着が遅れているため、番線使用順序の変更、出発順序の変更を行っている例であると考えると、原因列車はcレである。本例では番線使用順序が1本前の列車が遅延し、かつ、その遅延が原因で到着時間が20分以上遅延するならば、番線使用順序、出発順序の変更を行うという遅延回復ルールを抽出する。図13は、図1に示す運転整理ルールテーブル1240にて示す運転整理ルール情報のうちの遅延回復ルールについてのデータ構成を示す。このテーブルは1つの遅延回復ルールを1レコードとして管理する。各レコードは、ルールの固有のIDを示すルールID13100、ルールの条件節を示す条件13200、ルールの実行節となるダイヤ変更内容を示す実行内容13300、ルール実行時に条件に合致する列車に対して実行節のダイヤ変更を実施可能であったものの累積数を示す該当数13400、条件節に合致し実施可能であった変更箇所のうちユーザーの確認により実際に採用された箇所の累積数を示す採用数13500、採用数13500を該当数13400で割ることで算出した値を示す採用率13600、ルールを実行するかどうかを示す実行13700の項目を有する。条件13200は、ダイヤ変更対象列車を示すノードの着発を示す着発13210、遅延原因となっている運行条件を示す遅延原因条件13220、ダイヤ変更対象列車の遅延を判定する基準時間を示す遅延判定時間13230、原因列車の遅延判定時間を示す原因列車遅延時間13240、ダイヤ変更対象駅を示す駅13250、ダイヤ変更対象列車の列車種別を示す13260、原因列車の列車種別を示す13270からなる。この条件のうち、図9に示すS9500にて特定するのは遅延原因条件13220と原因列車遅延時間13240である。その他の項目は、S9800や後に示すS8400にてユーザーが手動で設定する項目である。該当数13400、採用数13500、採用率13600はルールが適用されるたびに更新される値であり、新規にルールを生成する際は初期値として0を格納する。レコード13001は、図12にて抽出される遅延回復ルールを示し、ルールID13100が1、条件13200の着発13210が着、遅延原因条件13220が番線使用順序、遅延判定時間13230が10分、原因列車遅延時間13240が30分、実行内容13300が番線使用順序変更と出発順序変更、該当数13400が20、採用数13500が10、採用率13600が50、実行13700が○、すなわち実行するであることを示している。図8に戻り、図2に示すS2300の運転整理処理の流れの説明を続ける。S8200にて運転整理ルール生成処理を行い、S8300へ進む。S8300ではS8200にて運転整理ルールを抽出したか判定する。抽出した場合はS8400へ進み、抽出しなかった場合はS8100へと戻り、新たな運転整理入力が存在する場合は新たな運転整理入力に対して同様の処理を繰り返す。S8400では、S8200にて抽出した運転整理ルールを図1に示す表示装置1400に表示し、ユーザーが内容を確認する。図11に示す条件11200や実行内容11300、図13に示す条件13200や実行内容13300について、ユーザーの意図と異なる箇所、追加したい項目がある場合は、編集を行う。もし運転整理ルールの作成を取り消す場合も本ステップにて取り消し作業を行い、取り消し作業が行われた場合は、運転整理ルールテーブル1240に格納されている該当データを削除する。ユーザーが意図通りに編集、もしくは運転整理ルールの削除を実施したのち、S8500へ進む。S8500では、S8400にて運転整理ルールが決定したかどうか判定する。運転整理ルールが決定していたらS8600へ進み、決定しなかった場合はS8100へと戻り、新たな運転整理入力が存在する場合は新たな運転整理入力に対して同様の処理を繰り返す。S8600では、運転整理ルールテーブル1240に格納された運転整理ルールを実行する。図14は、図8に示すS8600の運転整理ルール実行処理の流れを示す。S14100では、運転整理ルール実行の対象となるグラフデータテーブルに対して図1に示すデッドロック判定部1130を用いて、デッドロックが存在するかどうかを判定する。存在しない場合はS14300へ進み、存在する場合はS14200へ進む。S14200ではデッドロック解消ルールを実行する。図15は、図14に示すS14200のデッドロック解消ルール実行処理の流れを示す。S15100では、図14に示すS14100にて検出されたデッドロックのうち、未調査のデッドロックが存在するかどうか判定する。存在するならばS15200へ進み、存在しないならば本デッドロック解消ルール実行処理を終了する。S15200では、図14に示すS14100にて検出されたデッドロックのうち、未調査のデッドロック1つをAとし、S15300へ進む。S15300では、図1に示す運転整理ルールテーブル1240のうちデッドロック解消ルールテーブルに格納されているルールについて、図11に示す実行11700が○であるもののうちAに対して未判定のデッドロック解消ルールが存在するかどうか判定する。存在する場合はS15400へ進み、存在しない場合はS15800へ進む。S15400では、未判定のデッドロック解消ルール1つについて、条件節のリンク集合がAに含まれるかどうか判定する。この判定は、まず図11に示す条件11200のうち基準リンク条件11210の示す条件に該当するリンクがAに存在するか判定し、存在しない場合は条件節のリンク集合が含まれないと判断し、S15300へと戻る。存在する場合はそのリンクの向きの方向にリンクを調べ、デッドロックリンク集合11220に示す接続順序11221の順番にリンク条件11222に示す条件に該当するリンクがAに存在するかどうか判定する。存在する場合はS15500へ進み、存在しない場合はS15300へと戻り、未判定のデッドロック解消ルールがなくなるまで本処理を繰り返す。S15500では、判定したデッドロック解消ルールの実行内容11300に示すダイヤ変更を実施し、S15600へ進む。S15600では、S15500の処理によりデッドロックAが解消したかどうか図1に示すデッドロック判定部1130を用いて判定する。解消した場合はS15800へ進み、解消しなかった場合はS15700へ進む。S15700では、S15500にて実施した変更を元に戻し、S15800へ進む。S15800にてデッドロックAについて調査済みとし、S15100へと戻り、未調査のデッドロックがなくなるまで同様の処理を繰り返す。図14に戻り、図8に示すS8600の運転整理ルール実行処理の流れの説明を続ける。S14200にてデッドロック解消ルールを実行したのち、S14300へ進む。S14300では、遅延回復ルールを実行する。図16は、図14に示すS14300の遅延回復ルール実行処理の流れを示す。S16100では、図1に示すグラフデータテーブル1240に含まれるノードのうち、未調査のノードが存在するかどうか判定する。存在するならばS16200へ進み、存在しないならば本遅延回復ルール実行処理を終了する。S16200では、存在する未調査のノードの1つをAとし、S16300へ進む。S16300では、図1に示す運転整理ルールテーブル1240のうち遅延回復ルールテーブルに格納されているルールについて、図13に示す実行13700が○であるもののうちAに対して未判定の遅延回復ルールが存在するかどうか判定する。存在する場合はS16400へ進み、存在しない場合はS16900へ進む。S16400では、未判定の遅延回復ルール1つについて、条件に合致するかどうか判定する。この判定は、まず図13に示す条件13200のうち着発13210がAの着発と合致しているかどうか判定し、合致しない場合は条件に合致しないと判定する。合致する場合はノードAの初期値5170と演算値5180の差が遅延判定時間13230以上であるかどうか判定し、遅延判定時間13230以上である場合はノードAの流入リンクに遅延原因条件13220に示す条件のリンクが存在するか判定する。存在する場合は該当リンクの元ノードが示す列車を原因列車とし、その元ノードの初期値5170と演算値5180の差が原因列車遅延時間13240以上であるかどうかを判定する。駅13250、列車種別13260、原因列車種別13270についても条件が存在するならば判定する。すべての条件が合致しているならば、S16400は合致していると判定し、S16500へ進む。1つでも合致していない場合はS16400では条件に合致していないと判定し、S16300へと戻り、未判定の遅延回復ルールがなくなるまで本処理を繰り返す。S16500では、判定した遅延回復ルールの実行内容13300に示すダイヤ変更を実施し、S16600へ進む。S16600では、S16500の処理によりデッドロックが発生していないかどうか、図1に示すデッドロック判定部1130を用いて判定する。デッドロックとなっていない場合はS16700へ進み、図1に示す列車運行シミュレーション実行部1150を用いて列車運行シミュレーションを実行し、S16900へ進む。デッドロックとなっていた場合はS16800へ進み、S16500にて実施した変更を元に戻し、S16900へ進む。S16900にてノードAについて調査済みとし、S16100へと戻り、未調査のノードがなくなるまで同様の処理を繰り返す。図14に戻り、図8に示すS8600の運転整理ルール実行処理の流れの説明を続ける。S14300にて遅延回復ルールを実行したのち、S14400へ進む。S14400では、S14200、14300にてダイヤデータが変更された箇所について、図1に示す表示装置1400に表示されたダイヤ図図3上にマーク変更部分が分かるような、○印や色分け等の表示子を表示し、本S8600の運転整理ルール実行処理を終了する。図8に戻り、図2に示すS2300の運転整理処理の流れの説明を続ける。S8600にて運転整理ルールを実行したのち、S8700へ進む。S8700では、図1に示す表示装置1400に表示されたダイヤ図上のマークをユーザーが確認し、変更を取り消したい箇所があれば変更を取り消す作業を実施し、S8800へ進む。S8800では、図1に示す運転整理ルール分析部1170を用いて運転整理ルールを分析する。運転整理ルール分析部1170は、図1に示す運転整理ルールテーブル1240に格納された運転整理ルールそれぞれについて、マークの数、すなわちルール該当数を図11に示す該当数11400、図13に示す該当数13400に、ユーザーによって取り消されることのなかった変更数、すなわちルール採用数を図11に示す該当数11500、図13に示す該当数13500に追加登録し、これらの値から採用率を算出し、図11に示す採用率11600、図13に示す採用率13600に登録、更新する。更新したのち、図11に示す採用率11600、図13に示す採用率13600のうち、ある事前に決められた一定値以上の割合のものを実行ルールとして図11に示す実行11700、図13に示す実行13700に○と登録する。S8800にて運転整理ルールを分析したのち、S8100へ進み、運転整理入力がなくなるまで本処理を繰り返す。S8110では、運転整理ルールテーブル1240に格納された運転整理ルールのうち、図11に示す実行11700、図13に示す実行13700が○のものに対し、S8600と同様の運転整理ルール実行処理を行い、運転整理案の自動提案を行い、本S2300の運転整理処理を終了する。図2に戻り、本運転整理支援システムにおける処理フローの説明を続ける。S2300にて運転整理処理を実行したのち、S2400へ進む。S2400では、図1に示す表示装置1400にS14400にて表示されたダイヤ図上のマークをユーザーが確認し、変更を取り消したい箇所があれば変更を取り消す作業を実施したのち、S2500へ進む。S2500では、図1に示す運転整理ルール分析部1170を用いて図8に示すS8800と同様の処理を行い、図1に示す運転整理ルールテーブル1240を更新する。更新後、S2600へ進み、ユーザーが運転整理案全体を確認し、運転整理処理を続けたい場合は運転整理案作成が完了していないとしてS2300へと戻り、ユーザーが運転整理案作成完了と判断するまで運転整理処理を繰り返す。ユーザーが運転整理案作成完了と判断した場合は本運転整理支援システムにおける処理を終了する。以上の処理で一連の流れが終了する。