以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1は、本発明の一実施の形態である保守作業計画システムの構成例を示した図である。保守作業計画システムは、保守作業計画端末1、保守作業計画サーバ5、ネットワーク4から構成される。保守作業計画端末1および保守作業計画サーバ5は、それぞれ複数台で構成することも可能である。
保守作業計画端末1は、コンピュータを用いて構成され、入力部2、表示部3を有する。ネットワーク4は、保守作業計画端末1と保守作業計画サーバ5との間の通信を可能とする。本実施の形態の保守作業計画システムで取り扱うデータの送受信が可能であれば接続形態は問わない。
保守作業計画サーバ5は、コンピュータを用いて構成され、入出力部6、処理部7、記憶部8を有する。処理部7は、列車ダイヤ登録・更新部9、作業禁止条件登録・更新部10、作業禁止範囲抽出部11、間合候補抽出部12、作業計画入力処理部13、作業計画登録部14を有する。各部での処理の詳細については後述する。また、記憶部8は、例えばハードディスクなどを用い、列車ダイヤDB15、作業計画DB16、作業禁止条件DB17、列車運行影響範囲DB21、作業禁止範囲グラフDB22を保持する。作業禁止条件DB17は、指定範囲DB18、作業禁止時分DB19、作業禁止指定範囲DB20から構成される。
以下に、保守作業計画サーバ5が記憶部8に保持する各DBのデータ構造およびデータの例について説明する。
図2は、列車ダイヤDB15のデータ構造およびデータの例を表した図である。作業計画の施行日ごとに、存在する各列車について列車番号や、線別、列車種別などの列車情報および当該列車が運行する各駅の通停区分、番線、発着時刻などの駅情報を列車ダイヤとして保持する。当該列車ダイヤは、列車間合チェック・算出に必須のデータである。
図3は、作業計画DB16のデータ構造およびデータの例を表した図である。作業計画の施行日ごとに、予定されている各作業計画について、作業計画番号や作業種別の作業計画基本情報、作業対象の各駅や指定範囲の作業範囲情報、列車間合や時間などの間合情報、列車ダイヤや他の作業計画との競合チェック結果などを作業計画として保持する。
図4は、作業禁止条件DB17を構成するDBの一つである指定範囲DB18のデータ構造およびデータの例を表した図である。各駅について、後述する作業計画入力処理の際に指定する作業範囲の最小単位を座標を用いて指定範囲として定義したものを保持する。これら指定範囲は線路図上に表すことができ、保守作業計画端末1に「線路図画面」として表示される。図4における駅2の指定範囲を線路図上に表した画面の例を図5に示す。
図6は、作業禁止条件DB17を構成するDBの一つである作業禁止時分DB19のデータ構造およびデータの例を表した図である。各駅について、各番線への列車到着/出発の際の作業禁止時間を算出するための係数を、列車種別ごとに到着・出発・通過に分けて余裕時分として定義したものを保持する。各余裕時分の定義と作業禁止時間との関係は、詳細は後述するが図10に示される通りとなる。
列車種別ごとに余裕時分を保持することにより、運行速度が速い列車の余裕時分を大きくするなど、より実際の運行形態に近い状態で余裕時分を定義することができる。また、本実施の形態では列車種別ごとに定義しているが、動力種別など他の項目も使用してさらに詳細に定義することも可能である。
図7は、作業禁止条件DB17を構成するDBの一つである作業禁止指定範囲DB20のデータ構造およびデータの例を表した図である。各駅について、各番線への列車到着/出発の際に列車運行のために使用される範囲を、前記指定範囲DB18に定義されている指定範囲を単位として、線別、到着/出発/長時間停車に分けて作業禁止指定範囲として定義したものを保持する。
図8は、列車運行影響範囲DB21のデータ構造およびデータの例を表した図である。作業計画の施行日ごとに、各駅の上り/下りの線別について、各列車の発着時刻等の列車ダイヤの情報や、それに伴う作業禁止時間・指定範囲の情報を列車運行影響範囲として保持する。当該列車運行影響範囲は、後述する処理により、列車ダイヤDB15の情報と作業禁止条件DB17の情報とから、列車ダイヤに基づく列車運行により影響を受ける範囲(作業範囲・時間帯)として抽出されるデータである。
図9は、作業禁止範囲グラフDB22のデータ構造およびデータの例を表した図である。日付ごとに、各駅の各指定範囲について、列車ダイヤに基づく列車運行により影響を受ける時間帯等の影響列車情報、登録済みの作業計画により影響を受ける時間帯等の影響作業計画情報を保持する。当該作業禁止範囲グラフデータは、作業禁止範囲の状況を後述するグラフ表示するために使用されるデータである。
次に、本実施の形態での保守作業計画システムにおける処理の流れの概要を、図11を用いて説明する。
図11は、保守作業計画システムにおける処理の流れを表したフロー図である。まず、ステップS100で、列車ダイヤの登録・更新処理を行う。内容は、ステップS110で、利用者が保守作業計画端末1から列車ダイヤの登録・更新入力を行い、ステップS120で、保守作業計画サーバ5の列車ダイヤ登録・更新部9により、入力された列車ダイヤを列車ダイヤDB15に登録・更新する。ステップS100の処理は、列車ダイヤに追加・変更がある毎に不定期に実行される。
次に、ステップS200で、列車の運行条件や各駅の設備条件等から定義される作業禁止条件の登録・更新処理を行う。内容は、ステップS210で、利用者が保守作業計画端末1から、作業禁止条件の定義データ(指定範囲、余裕時分、作業禁止指定範囲)の登録・更新入力を行い、ステップS220で、保守作業計画サーバ5の作業禁止条件登録・更新部10により、入力された定義データを作業禁止条件DB17を構成する各DB(指定範囲DB18、作業禁止時分DB19、作業禁止指定範囲DB20)にそれぞれ登録・更新する。ステップS200の処理は、作業禁止条件に追加・変更がある毎に不定期に実行される。
次に、ステップS300で、列車ダイヤに基づく列車運行に伴う作業禁止範囲の抽出処理を行い、保守作業計画端末1にグラフとして表示する。次に、ステップS400で、入力しようとしている作業計画を満足する間合候補の抽出処理を行う。ステップS300、ステップS400の詳細な処理の内容については後述する。
次に、ステップS500で、作業範囲・列車間合を含む作業計画の入力処理を行う。内容は、ステップS510で、利用者が保守作業計画端末1にステップS470により表示されている間合候補から列車間合を選択することにより作業計画を入力し、ステップS520で、保守作業計画サーバ5の作業計画入力処理部13により、入力された作業計画を一時的に記憶部8に記憶する。
作業計画の入力に際して、列車間合は利用者が任意に入力することも可能であるが、本実施の形態では、上述のように作業計画を満足する間合候補を抽出し、抽出された間合候補から列車間合を選択する手段を提供することにより、効率の良い列車間合の入力を支援している。
次に、ステップS600で、作業計画のDBへの登録処理を行う。内容は、まずステップS610で、利用者が保守作業計画端末1から、ステップS510にて入力された作業計画を指定して、作業計画DB16に登録する指示を入力する。当該指示は、動作タイミングや動作条件等の処理内容をあらかじめ保守作業計画サーバ5に定義しておき、保守作業計画サーバ5上で当該処理を自動起動することにより、利用者の入力による指示の代替とすることも可能である。
次に、ステップS620で、保守作業計画サーバ5の作業計画登録部14により、登録対象として指定された作業計画と列車ダイヤとの競合チェックを行う。登録対象の作業計画全件に対して、作業時間帯・作業範囲と、列車運行影響範囲DB21から取得した列車ダイヤに基づく作業禁止時間・作業禁止範囲との重複の有無をチェックする。重複がある場合は作業計画DB16への登録を行わず、競合している旨を保守作業計画端末1に表示して利用者へ作業計画の入力修正を促し、重複がない場合はステップS630に進む。
ステップS630では、保守作業計画サーバ5の作業計画登録部14により、登録対象の作業計画と登録済みの他の作業計画との競合チェックを行う。登録対象の作業計画全件に対して、作業時間帯・作業範囲と、登録済みの他の作業計画の作業時間帯・作業範囲との重複の有無をチェックする。
重複がある場合は作業計画DB16への登録を行わず、重複している作業計画と時間帯・作業範囲を、作業計画単位に作業計画競合チェック結果として保守作業計画サーバ5の記憶部8に一時的に記憶したうえで保守作業計画端末1に表示し、重複している作業計画の各責任者(利用者)に対して調整を行うことを促す。該当する作業計画責任者(利用者)が保守作業計画端末1に表示されている作業計画競合チェック結果を確認し、調整済みである旨の入力を行った後、利用者は再度ステップS610から作業計画の登録処理を行う。重複がない場合はステップS640に進む。
ステップS640では、保守作業計画サーバ5の作業計画登録部14により、前記競合チェックの結果登録が可能な作業計画を作業計画DB16に登録する。その後、ステップS650で、ステップS640での作業計画DB16への登録結果を保守作業計画端末1に表示して処理を終了する。
次に、前記ステップS300の作業禁止範囲抽出処理の詳細を、図12および図14〜図21を用いて説明する。作業禁止範囲抽出処理では、保守作業計画サーバ5の作業禁止範囲抽出部11により、列車ダイヤと、列車の運行条件や各駅の設備条件から定義される作業禁止条件とから、列車ダイヤに基づく列車運行に伴う作業禁止範囲の抽出を行う。抽出は列車ダイヤおよび作業計画の施行日単位に行うため、複数施行日の抽出を行う場合は施行日単位に処理を繰り返し実行する。
図12はステップS300の作業禁止範囲抽出処理の流れを表したフロー図である。まず、ステップS310の列車運行影響範囲抽出処理で、列車ダイヤDB15の列車ダイヤおよび作業禁止条件DB17の作業禁止条件の定義データを入力として、列車ダイヤに基づく列車運行により影響を受ける範囲(作業範囲・時間帯)を抽出し、列車運行影響範囲として列車運行影響範囲DB21に登録する。
ステップS310の詳細は、まずステップS311で、列車ダイヤDB15から該当施行日の列車ダイヤを抽出し、該当施行日の列車ダイヤとして一時的に記憶部8に記憶する。図14は列車ダイヤの具体的な例である。ここでは該当施行日を“2007/4/1”とし、“駅2”の“5:00〜6:00”の列車ダイヤを例示している。
次に、ステップS320で、該当施行日の列車ダイヤに含まれる各列車について駅毎に作業禁止時間を算出する。ステップS320の詳細は、まず、ステップS321で、該当施行日の列車ダイヤから列車番号・駅で特定されるデータを抽出し、列車番号・線別・列車種別・通停区分・番線・到着時刻・出発時刻を列車運行影響範囲DB21の各項目に格納してレコードとして登録する。
次に、ステップS322で、列車運行影響範囲DB21の該当レコードの通停区分を取得し、通停区分が“停車”の場合はステップS323へ進み、そうではない(通停区分が“通過”)場合はステップS328へ進む。なお、通停区分が”始発”、”終着”の場合は”停車”と同様に取り扱う。ステップS323では、作業禁止時分DB19から、該当の列車種別・駅・番線と一致するデータの各余裕時分(α1、α2、β1、β2)を取得し、列車運行影響範囲DB21の該当レコードの対応する各項目に格納する。
次に、ステップS324で、駅到着時および駅出発時の作業禁止時間をそれぞれ算出する。列車運行影響範囲DB21の該当レコードの到着時刻、出発時刻、各余裕時分から、図10に示すように、駅到着時の場合は開始時刻=到着時刻−α1、終了時刻=到着時刻+α2、駅出発時の場合は開始時刻=出発時刻−β1、終了時刻=出発時刻+β2をそれぞれ算出して、列車運行影響範囲DB21の該当レコードに到着時および出発時の作業禁止時間としてそれぞれ格納する。なお、通停区分が“始発”の場合は駅出発時の作業禁止時間のみ、“終着”の場合は駅到着時の作業禁止時間のみを算出する。
次に、ステップS325で、当該停車が長時間停車に該当するかどうかを判断する。ここで長時間停車とは、停車時間の中に到着時の作業禁止時間と出発時の作業禁止時間のどちらにも該当しない時間が存在する場合を指し、列車の到着・出発時に限らず、例えばホームに長時間停車する列車についても作業禁止範囲を定めるために定義する。停車時分=出発時刻−到着時刻として、停車時分>(α2+β1)を満たす場合は長時間停車と判断し、列車運行影響範囲DB21の該当レコードの長時間停車フラグをONに更新する。ステップS326で、長時間停車の場合はステップS327へ進み、長時間停車でない場合はステップS320の作業禁止時間算出処理を終了する。
ステップS327では、長時間停車時の作業禁止時間を算出する。列車運行影響範囲DB21の該当レコードの到着時刻、出発時刻、余裕時分(α2、β1)から、図10に示すように、開始時刻=到着時刻+α2、終了時刻=出発時刻−β1をそれぞれ算出して、列車運行影響範囲DB21の該当レコードに長時間停車時の作業禁止時間として格納し、ステップS320の作業禁止時間算出処理を終了してステップS330へ進む。
ステップS322において通停区分が“通過”の場合は、ステップS328で駅通過時の作業禁止時間を算出する。列車運行影響範囲DB21の該当レコードの出発時刻、余裕時分(γ1、γ2)から、図10に示すように、開始時刻=出発時刻−γ1、終了時刻=出発時刻+γ2をそれぞれ算出して、列車運行影響範囲DB21の該当レコードに到着時および出発時の作業禁止時間としてそれぞれ格納し、ステップS320の作業禁止時間算出処理を終了する。
図15は、ステップS320の作業禁止時間算出処理を図14の列車ダイヤの例について行った場合の具体的なデータの状態を例示した図である。図15の列車ダイヤDB15は、図14の列車ダイヤのうち“駅2”の列車番号“7F”のレコードを特定した状態を示している。ステップS321により、列車ダイヤDB15からデータを抽出して列車運行影響範囲DB21の各項目に格納し、レコードとして登録している。また、該当レコードの通停区分が”停車”なので、ステップS323により、作業禁止時分DB19から該当する駅“駅2”、列車種別“急行”、番線“1#”のデータの停車列車の各余裕時分(α1、α2、β1、β2)を読み込んで、列車運行影響範囲DB21の該当レコードに格納している。
さらに、ステップS324、ステップS327によって、駅到着時、駅出発時および長時間停車時の作業禁止時間を算出し、列車運行影響範囲DB21の該当レコードにそれぞれ格納している。当該例では、ステップS325において、算出される停車時分(5:44−5:30=“14分”)が、α2+β1の値(4+4=“8分”)よりも大きいため長時間停車と判断され、長時間停車フラグをONにし、ステップS327で長時間停車時の作業禁止時間を算出している。
次に、ステップS330で、ステップS320で対象とした列車および駅について作業禁止指定範囲を抽出する。ステップS330の詳細は、まず、ステップS331で、作業禁止指定範囲DB20から該当駅のデータを抽出し、さらに当該データから、列車運行影響範囲DB21の該当レコードの線別・番線と一致するデータを抽出し、これを該当駅・線別・番線の作業禁止指定範囲として一時的に記憶部8に格納する。
次に、ステップS332で、列車運行影響範囲DB21の該当レコードの通停区分を取得し、通停区分が“停車”の場合はステップS333へ進み、そうではない(通停区分が“通過”)場合はステップS336へ進む。なお、通停区分が”始発”、”終着”の場合は”停車”と同様に取り扱う。ステップS333では、停車列車の作業禁止指定範囲を抽出する。前記該当駅・線別・番線の作業禁止指定範囲から、到着時については着発=“到着”、出発時については着発=“出発”に該当するデータの作業禁止指定範囲をそれぞれ抽出し、列車運行影響範囲DB21の該当レコードの到着時、出発時の作業禁止指定範囲にそれぞれ格納する。なお、通停区分が“始発”の場合は駅出発時の作業禁止指定範囲のみ、“終着”の場合は駅到着時の作業禁止指定範囲のみを抽出する。
次に、ステップS334で、当該停車が長時間停車に該当するかどうかを判断する。列車運行影響範囲DB21の該当レコードの長時間停車フラグがONの場合は長時間停車であるとしてステップS335へ進み、ONではない場合はステップS330の作業禁止指定範囲抽出処理を終了する。ステップS335では、長時間停車列車の作業禁止指定範囲を抽出する。前記該当駅・線別・番線の作業禁止指定範囲から、着発=“長時間停車”に該当するデータの作業禁止指定範囲を抽出し、列車運行影響範囲DB21の該当レコードの長時間停車時の作業禁止指定範囲として格納してステップS330の作業禁止指定範囲抽出処理を終了する。
ステップS332において通停区分が“通過”の場合は、ステップS336で、通過列車の作業禁止指定範囲を抽出する。前記該当駅・線別・番線の作業禁止指定範囲から、着発=“到着”に該当するデータと着発=“出発”に該当するデータの両方の作業禁止指定範囲を抽出して、列車運行影響範囲DB21の該当データの到着時、出発時の作業禁止範囲としてそれぞれ格納し、ステップS330の作業禁止指定範囲抽出処理を終了する。
図16は、ステップS330の作業禁止指定範囲抽出処理を図15の列車運行影響範囲DB21の該当レコードについて行った場合の具体的なデータの状態を例示した図である。図16の作業禁止指定範囲DB20は、図15の列車運行影響範囲DB21の該当レコードの対象である“駅2”のデータを特定した状態を示しており、ステップS331によって、列車運行影響範囲DB21の該当レコードの対象である線別“下り”、番線“1#”に該当するデータを作業禁止指定範囲DB20から抽出して該当駅・線別・番線の作業禁止指定範囲として一時的に保持している。
ステップS332では、列車運行影響範囲DB21の該当レコードの通停区分が“停車”なのでステップS333に進み、前記該当駅・線別・番線の作業禁止指定範囲から、停車列車の作業禁止指定範囲として着発=“到着”と着発=“出発”の作業禁止指定範囲を抽出して、列車運行影響範囲DB21の該当レコードに格納している。また、ステップS334では、列車運行影響範囲DB21の該当レコードの長時間停車フラグがONなので、ステップS335によって、該当駅・線別・番線の作業禁止指定範囲から、長時間停車列車の作業禁止指定範囲として着発=“長時間停車”の作業禁止指定範囲を抽出し、列車運行影響範囲DB21の該当レコードに格納している。
上述のステップS320の作業禁止時間算出処理とステップS330の作業禁止指定範囲抽出処理とを駅数分・列車数分繰り返して実行し、各駅・各列車についての作業禁止時間と作業禁止指定範囲とを抽出することで、ステップS310の列車運行影響範囲抽出処理は終了する。図17は、図14の列車ダイヤに対してステップS310の列車運行影響範囲抽出処理を実行した結果の列車運行影響範囲DB21のデータを例示した図である。
次に、ステップS340で、作業禁止範囲グラフデータを作成する。ここでは列車運行影響範囲DB21から該当施行日の列車運行影響範囲を抽出して作業禁止範囲グラフDB22に登録し、また作業計画DB16から該当施行日に登録済みの他の作業計画により予約されている範囲(作業範囲・時間帯)を抽出して作業禁止範囲グラフDB22に登録する。ステップS340の詳細は、まず、ステップS350で、ステップS310の処理により得られた列車運行影響範囲DB21から該当施行日の列車運行影響範囲を抽出し、作業禁止範囲のグラフデータを作成する。
ステップS350の詳細は、まず、ステップS351で、列車運行影響範囲DB21から該当施行日の列車運行影響範囲データを抽出し、該当施行日の列車運行影響範囲データとして記憶部8に一時的に格納する。次に、前記該当施行日の列車運行影響範囲データの各駅・各列車について、ステップS352で作業禁止時間・作業禁止指定範囲を抽出し、指定範囲の順にソートする。ソート後のデータを作業禁止時間・作業禁止指定範囲データ(ソート後)として記憶部8に一時的に格納する。次に、ステップS353で、前記作業禁止時間・作業禁止指定範囲データ(ソート後)の指定範囲毎に、列車番号、到着時影響開始/終了時刻、出発時影響開始/終了時刻を、作業禁止範囲グラフDB22の影響列車情報の各項目にそれぞれ格納する。
図18は、図17の列車運行影響範囲DB21のデータについてステップS340の作業禁止範囲グラフ作成処理を行った場合の具体的データの状態を例示した図である。図18の列車運行影響範囲DB21は、図17の列車運行影響範囲のうち該当施行日“2007/4/1”、駅“駅2”の列車番号“1A”のレコードについて特定した例を示している。ステップS352によって、当該レコードから作業禁止時間と作業禁止指定範囲との組み合わせを抽出して指定範囲の順にソートして作業禁止時間・作業禁止範囲データ(ソート後)として一時的に保持している。また、ステップS353によって、前記作業禁止時間・作業禁止指定範囲データ(ソート後)の各作業禁止指定範囲のデータのうち、指定範囲“1”のデータを作業禁止範囲グラフDB22の影響列車情報の各項目に格納している。
上述のステップS352とステップS353の処理を駅数分・列車数分繰り返して実行し、各駅・各列車についての作業禁止指定範囲およびその作業禁止時間を作業禁止範囲グラフDB22に格納することで、ステップS350の列車運行影響範囲データ作成処理は終了する。
次に、ステップS360で、登録済みの他の作業計画で予約されている範囲(作業範囲・時間帯)のグラフデータを作成する。ステップS360の詳細は、まず、ステップS361で、作業計画DB16から該当施行日の登録済の作業計画データを抽出し、該当施行日の作業計画データとして記憶部8に一時的に格納する。次に、ステップS362で、前記該当施行日の作業計画データの各レコードにおける各駅・各指定範囲について、作業禁止範囲グラフDB22のレコードで駅・指定範囲が一致するレコードを検索し、一致するレコードがある場合は、前記該当施行日の作業計画データの該当レコードの作業計画番号、影響開始時刻/終了時刻を、作業禁止範囲グラフDB22の該当レコードの影響作業計画情報の各項目に格納する。
図18では、ステップS361にて抽出された該当施行日の作業計画データについて、“No.1”のレコードの作業範囲のうち“駅2”の指定範囲“2”のデータに作業禁止範囲グラフDB22のレコードに一致するものがあるとして、影響計画情報の各項目に該当データを格納した状態を例示している。
上述のステップS362の処理を指定範囲数分・駅数分・計画数分繰り返して実行し、登録済の他の作業計画で予約されている範囲を作業禁止範囲グラフDB22に格納することで、ステップS360の登録済作業計画予約範囲データ作成処理は終了する。
上述のステップS350の列車運行影響範囲データ作成処理とステップS360の登録済作業計画予約範囲データ作成処理の終了により、ステップS340の作業禁止範囲グラフデータ作成処理は終了する。
最後に、ステップS370で、作業禁止範囲グラフDB22の影響列車情報と影響作業計画情報とをもとに、作業禁止範囲グラフを保守作業計画端末1に表示する。作業禁止範囲グラフは、グラフ画面と線路図画面の2種類で表示することができ、施行日・時間帯、駅・指定範囲、列車、作業計画その他の条件を指定することにより、該当する列車運行による影響範囲もしくは登録済みの他の作業計画での予約範囲もしくはこれら両方を表示することができる。
図19は、作業禁止範囲グラフDB22のデータから、グラフ画面表示により作業禁止範囲グラフイメージを作成する例を示した図である。作業禁止範囲グラフDB22のデータのうち、駅“駅2”について、指定範囲“1”が列車番号“1A”の列車によって影響を受ける時間帯(“5:04〜5:10”)、および指定範囲“2”が作業計画番号“保車−2221”の作業計画によって影響を受ける時間帯(“5:50〜6:00”)が線により表されている。
図20は、グラフ画面表示により作業禁止範囲グラフイメージを表示した例であり、図21は、線路図画面表示により作業禁止範囲グラフイメージを表示した例である。図21の線路図画面表示では、指定範囲の図形を選択すると、その指定範囲に影響を与える列車運行および作業計画の内容を詳細表示することができる。いずれの表示方法においても、作業禁止範囲が視覚的に容易に把握できるように表示されている。
以上の処理により、ステップS300の作業禁止範囲抽出処理は終了する。
次に、前記ステップS400の間合候補抽出処理の詳細を、図13および図22〜図28を用いて説明する。間合候補抽出処理では、入力しようとしている作業計画を満足する列車間合の候補を、作業禁止範囲グラフDB22から抽出する処理を行う。
図13は、ステップS400の間合候補抽出処理の流れを表したフロー図である。まず、ステップS410の間合候補抽出条件入力処理では、間合候補を抽出するための条件を入力する。利用者が保守作業計画端末1から、入力しようとしている作業計画を満足する間合候補を抽出するための条件として、検索対象の時間帯および間合候補を抽出する対象の作業計画の条件を入力する。検索対象の時間帯としては、施行日、抽出開始時刻・終了時刻を指定し、作業計画の条件としては、作業計画・作業範囲毎の所要時間(作業時間の最小時間)、作業計画の開始条件(他の作業計画との順序関係)を指定する。抽出対象の作業計画は複数件指定することができる。
次に、ステップS420の間合候補抽出条件記憶処理では、保守作業計画サーバ5の間合候補抽出部12により、ステップS410で入力された条件を間合候補抽出条件データとして記憶部8に一時的に格納する。次に、ステップS430の間合候補抽出指示処理では、間合候補を抽出する対象の作業計画を指示する。利用者が保守作業計画端末1から、ステップS410で入力した間合候補抽出条件データのうち、実際に抽出対象とする作業計画を選択する。
次に、ステップS440の間合候補抽出処理では、ステップS430で指示された抽出条件に従い、作業禁止範囲グラフDB22のデータから抽出条件を満足する列車間合を間合候補として抽出する。ステップS440の詳細は、まずステップS441で、最新の列車ダイヤDB15、作業計画DB16、作業禁止条件DB17をもとに、ステップS310の列車運行影響範囲抽出処理とステップS340の作業禁止範囲グラフデータ作成処理を再度実行し、列車運行影響範囲DB21と作業禁止範囲グラフDB22を最新の状況に更新する。
次に、ステップS442で、前記間合候補抽出条件データのレコードを読み込み、各レコードで指定されている作業範囲をマージして、抽出対象作業範囲データとして記憶部8に一時的に格納する。ステップS442は抽出対象の作業計画数分繰り返す。次に、ステップS443で、前記間合候補抽出条件データの検索時間帯と、前記抽出対象作業範囲データの作業範囲とを条件として、作業禁止範囲グラフDB22から該当するデータを抽出し、作業禁止範囲グラフデータ(絞込後)として記憶部8に一時的に格納する。
図22は、図20の作業禁止範囲グラフDB22の例から、上述の処理により前記作業禁止範囲グラフデータ(絞込後)を作成する場合の具体的なデータの状態を例示した図である。ステップS410〜S430によって入力・指示された間合候補抽出条件データから、ステップS442によって作業範囲を取得してマージし、その結果(“駅2”の指定範囲“1”、“2”、“3”、“5”、“6”、“7”)を抽出対象作業範囲データとしている。また、ステップS443によって、図20の作業禁止範囲グラフDB22のデータから、検索時間帯(“5:10〜6:00)および前記抽出対象作業範囲データに該当するデータを絞り込み、作業禁止範囲グラフデータ(絞込後)としている。
次に、ステップS450で、間合候補の取得処理を行う。ステップS450の詳細は、まず、ステップS451で、間合候補抽出条件データの各レコードについて作業範囲の駅・指定範囲を読み込む。次に、ステップS452で、ステップS451で読み込んだ駅・指定範囲のデータ毎に、当該駅・指定範囲に合致するデータを前記作業禁止範囲グラフデータ(絞込後)から検索し、抽出された作業禁止範囲グラフデータの影響列車情報(到着時、長時間停車時、出発時)および影響計画情報それぞれの影響時間帯(開始時刻〜終了時刻)をOR演算して得られた時間帯を、予約済時間帯データとして記憶部8に一時的に格納する。
次に、ステップS453で、前記間合候補抽出条件データで指定されている検索時間帯と、ステップS452で算出された予約済時間帯との差分を算出し、得られたデータを空時間帯データとして記憶部8に一時的に格納する。ここで、空時間帯とは、列車運行により影響を受ける時間帯および登録済みの他の作業計画に予約されている時間帯のいずれにも属さない時間帯を指す。次に、ステップS454で、ステップS453で抽出された空時間帯データと、前記間合候補抽出条件データの該当レコードにおける作業計画の所要時間とを比較し、「空時間帯>=所要時間」の条件を満たす空時間帯のみを間合候補データとして記憶部8に一時的に格納する。
上記ステップS452〜ステップS454の処理を前記間合候補抽出条件データの各抽出対象の作業計画における各駅・各指定範囲数分繰り返し、さらに、ステップS451〜ステップS454の処理を前記間合候補抽出条件データの各抽出対象の作業計画について繰り返すことでステップS450の間合候補取得処理は終了する。
図23〜図25は、図22の間合候補抽出条件データにおける抽出対象作業計画の各レコードについて、ステップS450により間合候補を取得する場合の具体的なデータの状態を例示した図である。図23では、抽出対象作業計画“No.1”のレコードについて、ステップS452、ステップS453によって、検索時間帯(“5:10〜6:00”)における作業範囲(“駅2”の指定範囲“1”、“2”、“3”)についての空時間帯データを作成している。
また、ステップS454によって、抽出対象の作業計画の所要時間(“10分”)との比較により、所要時間が空時間よりも大きい“空時間1”を間合候補としている。ここでは、“空時間2”は所要時間よりも空時間が小さく、条件を満たさないため間合候補として採用されない。同様に、図24では抽出対象作業計画“No.2”、図25については抽出対象作業計画“No.3”のレコードについてそれぞれ間合候補を取得している状態を表している。
次に、ステップS460で、間合候補間における作業開始の順序関係による組合せを考慮した開始条件チェック処理を行う。ステップS460の詳細は、まずステップS461で、前記間合候補抽出条件データの各レコードについて開示条件を読み込む。次に、ステップS462で、読み込んだ開始条件に作業計画番号が設定されているかどうか判定する。開始条件として作業計画番号が設定されていない場合は次のレコードについて処理を行う。
開始条件として作業計画番号が設定されている場合はステップS463に進み、前記間合候補データから当該作業計画番号に該当する間合候補を検索する。次に、ステップS464で、ステップS463で抽出された各間合候補について、「前の間合候補の終了時刻=<後の間合候補の開始時刻」の条件を満たす間合候補をさらに検索し、抽出された結果を前記間合候補データの組合せ条件項目に格納する。ステップS464は、ステップS463で抽出された間合候補数分繰り返す。
上記ステップS461〜ステップS464の処理を、抽出対象作業計画数分繰り返してステップS460の処理は終了する。
図26は、図22の間合候補抽出条件データおよび図23〜図25の間合候補について、作業開始の順序関係の条件を考慮して間合候補を抽出した場合の具体的なデータの状態を例示した図である。図26において、抽出対象作業計画“No.3”のレコードのみ開始条件に作業計画番号が設定されているため、当該レコードに対してのみステップS463以下の処理が行われる。
ステップS463によって、抽出対象作業計画“No.3”のレコードの開始条件に指定されている作業計画番号“点検−0002”(抽出対象作業計画“No.2”)に該当する間合候補を取得している。また、ステップS464によって、抽出対象作業計画“No2.”の間合候補と抽出対象作業計画“No.3”の間合候補との間で開始時刻と終了時刻による順序関係の組合せをチェックし、条件を満たす間合候補の組合せ(図中の“○”印)を抽出して各間合候補の組合せ条件項目に格納している。
最後に、ステップS470で、ステップS410〜S464の処理で得られた間合候補を保守作業計画端末1に表示して、ステップS400の間合候補抽出処理は終了する。間合候補は、作業計画一覧画面と作業禁止範囲グラフ画面に表示することができる。作業計画一覧画面では、図26の間合候補を保守作業計画端末1に表示する。図27、図28は、図26の間合候補を作業禁止範囲グラフに強調表示した例を示した図である。ここでは間合候補とその組合せが視覚的に容易に把握できるように表示されており、利用者は表示された間合候補と組合せを確認し、必要に応じてステップS410の間合候補抽出条件入力処理に戻り、間合候補の抽出作業を繰り返し実行することができる。
以上に述べたように、本実施の形態によれば、実際の列車ダイヤの運行条件・各駅の設備条件を加味した上で、作業可能な時間帯・作業範囲をより細かい単位で可視化する手段を提供することができる。また、作業時間帯・作業範囲が異なる複数の作業計画の入力の際に、各作業計画の条件を満足する列車間合候補を抽出し、当該候補からの選択により作業計画を入力する手段を提供することができるため、過密な列車ダイヤで大量の保守作業計画を立案・施行する場合にも、業務効率を損なうことなく作業範囲・列車間合の算出・チェックを確実に行うことが可能となり、作業計画の立案業務の効率向上に寄与しうる。
また、本実施の形態によれば、列車間合候補の組合せを抽出する手段において、複数の作業計画の順序関係を指定した場合、順序関係を満足する列車間合候補の組合せを抽出して画面表示する手段を提供することができ、保守用車の進路計画のように対象の作業範囲(進路)・時間帯が連続する作業計画の入力においても業務効率向上に寄与しうる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1…保守作業計画端末、2…入力部、3…表示部、4…ネットワーク、5…保守作業計画サーバ、6…入出力部、7…処理部、8…記憶部、9…列車ダイヤ登録・更新部、10…作業禁止条件登録・更新部、11…作業禁止範囲抽出部、12…間合候補抽出部、13…作業計画入力処理部、14…作業計画登録部、15…列車ダイヤDB、16…作業計画DB、17…作業禁止条件DB、18…指定範囲DB、19…作業禁止時分DB、20…作業禁止指定範囲DB、21…列車運行影響範囲DB、22…作業禁止範囲グラフDB。