(57)【要約】【課題】  ユーザが指定する任意の範囲の全区間のダイヤについて、車両や乗務員の割り当てがくまなく、且つ適切に行われているかをチェックすることができる運行ダイヤの割り当て支援装置を提供する。【解決手段】  １運行単位或は１設備単位で列車駅順序を含んだダイヤ情報と、車両・設備・乗務員などに関する情報と、仕業情報とを格納し、ユーザからの要求に応じて、指定された範囲の運行について、列車駅順序に基づいて駅毎の属性値等を抽出し、列車番号に対応する仕業が全て割り当てられているか、適切に割り当てられているかどうかをチェックする。【選択図】  図１
2006123750.tif 000002
【特許請求の範囲】
【請求項１】
輸送機関の運行ダイヤに対して運送機材や人員の割り当てに関する処理を支援する為の運行ダイヤの割り当て支援装置において、
運行ダイヤ情報を１運行単位の１設備毎に当該運行単位の識別子情報を含んだ運行設備情報として格納した運行設備情報格納手段と、
１仕業単位毎に当該仕業単位に対応する前記識別子情報を含む仕業情報を格納した仕業情報格納手段と、
前記運行設備情報と前記仕業情報を基に割り当て状況を識別する充当状況識別手段とを備え、
前記充当状況識別手段は、予め定められた運行ダイヤに関する条件についての割り当て状況を、前記運行設備情報と仕業情報とを比較することによって識別することを特徴とする運行ダイヤの割り当て支援装置。
【請求項２】
運送機材、設備或は人員等に関する資源情報を格納した資源情報格納手段を更に備え、
前記充当状況識別手段は、前記資源情報格納手段に格納された資源情報に対して、前記仕業情報格納部に格納されている各仕業情報が条件を満たすかどうかを識別することを特徴とする請求項１に記載の運行ダイヤの割り当て支援装置。
【請求項３】
前記運行設備情報は、前記１運行単位毎に当該運行単位で使用される設備について使用される順番が昇順或は降順で識別できる設備順番情報を含むことを特徴とする請求項１または２に記載の運行ダイヤの割り当て支援装置。
【請求項４】
運送機関の運行ダイヤの割り当て支援装置に用いられるダイヤデータであって、
運行ダイヤ情報に基づいて１運行単位の１設備毎に当該運行単位の識別子情報および該運行単位で使用される設備について使用される順番が昇順或は降順で識別できる設備順番に関する情報を含んで１レコードとして構成した運行設備情報と、
１仕業単位毎に当該仕業単位に対応する前記識別子情報を含んで１レコードとして構成した仕業情報とが、
互いに前記識別子情報に基づいて関連付けされて登録されることを特徴とするダイヤデータ。
【請求項５】
請求項１に記載の各手段の処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス・航空機・列車などの運行ダイヤを管理するためのシステムに関し、特に、作成された運行ダイヤ情報に対する運送機材や乗務員などの割り当てを管理する際に好適な運行ダイヤの割り当て支援装置及びプログラムに関するものである。
【背景技術】
【０００２】
従来よりバス・航空機・列車などの運送機材を運行する輸送機関では、運行ダイヤを作成し当該運行ダイヤに沿って運送機材を運行している。近年は運行ダイヤを作成したり管理したりする際にはコンピュータ資源の支援を受けた運行ダイヤ作成装置や運行ダイヤ管理装置が用いられ、作成時・運用時の効率化が図られている。以下、列車の運行を例に説明する。
【０００３】
列車ダイヤは一般的にスジと呼ばれる単位で１つの運行が定義された運行ダイヤで表現されている。これは横軸を時刻、縦軸を各駅として、１つの列車が各駅を着発する時刻を折れ線状に表現したものである。図２（ａ）、（ｂ）は運行ダイヤの例を示す図である。また、図２（ｃ）はこの運行ダイヤで運行される線区のモデル図である。このモデルでは、Ｂ駅で路線が分岐しており、Ｃ駅Ｄ駅を経てＥ駅へつながる路線と、Ｂ駅からＦ駅へとつながる路線とがある。Ａ駅〜Ｅ駅は１０両編成の車両編成に対応するが、Ｆ駅は４両編成までの車両編成にしか対応出来ないものとする。
【０００４】
図２（ａ）の運行ダイヤはＡ駅〜Ｅ駅を示し、図２（ａ）はＡ駅〜Ｆ駅を示している。この運行ダイヤの中で、‘３０３３Ｍ’や‘７５８Ｍ’などと記載されている文字列は列車番号と呼ばれるもので、１つの運行に対して１つ付与されるコードである。例えば図２（ａ）で列車番号３０３３Ｍの列車はＡ駅を出発し、Ｂ駅とＣ駅を経てＤ駅に終着する。
【０００５】
ところで運行ダイヤだけでは、列車が何両編成で運行されているかであるとか、車両の切離しをしているのかいないのか等の情報は読みとれない。そこでこの運行ダイヤを元に箱ダイヤと呼ばれるダイヤも別途作成される。箱ダイヤは、車両や乗務員の運用を表現するものであって、車両の箱ダイヤであれば編成毎に作成される。１つの編成に対する１つの箱ダイヤを１仕業と読んでおり、列車番号と同様に仕業毎に仕業番号が付与されて区別される。
【０００６】
例えば図２（ａ）、（ｂ）において、列車番号３００１Ｍは１０両編成でＡ駅からＢ駅まで運行され、Ｂ駅で４両を切り離して６両編成でＢ駅を出発して最終的にはＤ駅まで運行するものとする。一方のＢ駅で切り離された４両編成の列車は、列車番号３００２ＭとしてＢ駅からＡ駅に折り返し運行し、その後再度Ａ駅で折り返して列車番号１０５１Ｍと１０５２Ｍとして運行され、最終的にはＡ駅まで運行するという仕業を考える。
【０００７】
この仕業を箱ダイヤで表したのが図３（ａ）、（ｂ）である。仕業番号２００１は、列車番号３０３３Ｍ、７５８Ｍ、７５６Ｍ、３００１Ｍ、７７３Ｍとして運行される６両編成部分の車両に関する仕業である。仕業番号２００２は、列車番号３００１Ｍ、３００２Ｍ、１０５１Ｍ、１０５２Ｍとして運行される４両編成部分の車両に関する仕業である。列車番号３００１Ｍは、仕業番号２００１と２００２両方に設定されているため、６両＋４両の計１０両編成で運行されることが分る。
【０００８】
このような箱ダイヤを使うことで個々の車両（編成）がどの運行に割り当てられているかを明確に表現する事が出来る。また、１つの運行は必ずしも１つの編成だけで実現するのではなく、複数の編成を連結する事により必要両数を確保したり、あるいは全運行区間のうちの一部区間だけ編成両数を増やす（増結）等、運行ダイヤに対する編成の割り当ての仕方には非常に多くの組合せが考えられる。熟練者は運行ダイヤを１つ１つ塗りつぶしながら箱ダイヤとして作成していくのであるが、上記の様な繁雑な作業を行うために、塗りつぶしの状態が判らなくなり、結果として運行ダイヤに対する割り当てが漏れていたり、逆に過剰に編成を割り当ててしまう様な問題も、時には発生する。このため、最終的に、運行ダイヤに対する編成の割り当て状況を棚卸し的に検証するという作業が不可欠となる。
【０００９】
そこで、人手に代わって遺伝的アルゴリズムなどの支援をもつコンピュータシステムで箱ダイヤを作成する技術が生まれてきた（例えば、特許文献１参照。）。これは、運行ダイヤを構成するスジに対して無作為に優先度を付与して優先度の並びである記号列を染色体と見立てる。そして仕業ダイヤに乗務員を配置する際に、優先度に応じてスジが重ならないように仕業を配置する。この配置された仕業つまり染色体毎の評価値を算出し、この評価値に基づいて遺伝的アルゴリズムで最適な仕業を残すというものである。例えば、未割り当てとなったスジの総時間数などを元に評価値が算出されるので、未割り当てが少ない遺伝子ほど良い評価値が算出される。
【００１０】
【特許文献１】特開平８−３１０３９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このように輸送会社では、運行ダイヤを元に箱ダイヤを作成して実際の車両や乗務員の運用に関する情報を手動或は自動で作成しているが、完成したこの箱ダイヤと運行ダイヤの間で総合的に正当性チェックする仕組みが無かった。つまり、特許文献１のようにスジデータを元に自動的に乗務員を適当に割り当てて箱ダイヤを作成する仕組み自体は存在していたが、これは時間的に見て重複して割り当てが成されていないかなどを確認しただけである。
【００１２】
例えば、列車ダイヤの車両仕業を考えると、仕業毎に車両編成数が異なるため、駅のホーム長が足りているか、架線の敷設されていない線区に電気駆動車を走らせていないかなど、車両、設備や乗務員の属性に応じた割り当てが成されているかが非常に重要な事項となる。
【００１３】
また、実際に運行に用いられる実施ダイヤは臨時列車が追加されていたり、工事などの影響により駅で使用する番線を変更したりなど、日常的に変更が加えられる。特許文献１では、ダイヤに変更が発生した場合には全てのスジに対して最初から優先度の付与・割り当て・評価を行う必要があり、所謂実施ダイヤ作成や管理には向いていない。
【００１４】
本発明は、上記のような問題に基づくものであり、その目的は、全運行ダイヤ情報に対する車両や乗務員の充当が適切に行われているかどうかを任意のタイミングでくまなくチェックすることができる運行ダイヤの割り当て支援装置及びプログラムを提供することである。
【課題を解決するための手段】
【００１５】
上記の課題を解決するための請求項１に記載の発明は、輸送機関の運行ダイヤに対して運送機材や人員の割り当てに関する処理を支援する為の運行ダイヤの割り当て支援装置において、運行ダイヤ情報を１運行単位の１設備毎に当該運行単位の識別子情報を含んだ運行設備情報として格納した運行設備情報格納手段と、１仕業単位毎に当該仕業単位に対応する前記識別子情報を含む仕業情報を格納した仕業情報格納手段と、前記運行設備情報と前記仕業情報を基に割り当て状況を識別する充当状況識別手段とを備え、前記充当状況識別手段は、予め定められた運行ダイヤに関する条件についての割り当て状況を、前記運行設備情報と仕業情報とを比較することによって識別することを特徴とするものである。
【００１６】
上記の課題を解決するための請求項２に記載の発明は、請求項１において運送機材、設備或は人員等に関する資源情報を格納した資源情報格納手段を更に備え、前記充当状況識別手段は、前記資源情報格納手段に格納された資源情報に対して、前記仕業情報格納部に格納されている各仕業情報が条件を満たすかどうかを識別することを特徴とするものである。
【００１７】
上記の課題を解決するための請求項３に記載の発明は、請求項１または２において前記運行設備情報は、前記１運行単位毎に当該運行単位で使用される設備について使用される順番が昇順或は降順で識別できる設備順番情報を含むことを特徴とするものである。
【００１８】
上記の課題を解決するための請求項４に記載の発明に係るダイヤデータは運送機関の運行ダイヤの割り当て支援装置に用いられるダイヤデータであって、運行ダイヤ情報に基づいて１運行単位の１設備毎に当該運行単位の識別子情報および該運行単位で使用される設備について使用される順番が昇順或は降順で識別できる設備順番に関する情報を含んで１レコードとして構成した運行設備情報と、１仕業単位毎に当該仕業単位に対応する前記識別子情報を含んで１レコードとして構成した仕業情報とが、互いに前記識別子情報に基づいて関連付けされて登録されることを特徴とするものである。
【００１９】
上記の課題を解決するための請求項５に記載の発明に係るプログラムは請求項１に記載の各手段の処理をコンピュータに実行させるためのものである。
【発明の効果】
【００２０】
本発明によれば、ユーザが指定する任意の範囲の全運行ダイヤ情報に対して車両や乗務員がもれなく割り当てられているかどうかを、ユーザが任意のタイミングでチェックすることができるようになる。
【００２１】
また、本発明によれば、ユーザが指定する任意の範囲の全運行ダイヤ情報に対して割り当てられた車両や乗務員の属性が、適切であるかどうかをユーザが任意のタイミングでチェックすることができるようになる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。本実施の形態でも列車ダイヤを例に説明するが、列車に限らずバスや航空機など、運行ダイヤを用いて運送機材や設備の運用管理がなされるものに適用できる。
【００２３】
図１は、本発明の第一の実施形態に係る運行ダイヤの割り当て支援装置の構成を概略的に示した図である。図１において、運行ダイヤの割り当て支援装置１０は、列車駅順序情報管理部１１と、ダイヤ情報格納部１２と、ユーザ要求管理部１３、有効期限管理部１４、日跨り値管理部１５と、出力部２０と、入力部３０、ネットワークインターフェイス４０等から構成される。運行ダイヤ管理装置１０は、ワークステーションやパーソナルコンピュータなどのコンピュータで構成されるものであって、出力部２０は画面表示を行うＣＲＴ、ＬＣＤ、印刷用のプリンターなどの機器であり、入力部３０はキーボードやマウスなどの機器である。
【００２４】
列車駅順序情報管理部１１は本願発明の特徴部の１つであり、コンピュータのメモリ上で機能する。そしてダイヤ情報格納部１２は、ハードディスクドライブなどの記憶装置であり、物理的に運行ダイヤ管理装置１０の内部に備わっていてもよく、或いはネットワーク５０上で接続されている記憶装置であっても良いもので、いわゆるデータベースシステムとして構築されたものである。ダイヤ情報格納部１２には、列車駅情報１２０、車両情報１３０、駅設備情報１４０、乗務員情報１５０、仕業情報１６０等の情報が格納されている。
【００２５】
本発明では、１つの列車番号の１つの駅毎に列車駅情報１２０が設定され、ダイヤ情報格納部１２に格納されている。列車駅情報１２０の１レコードには、「列車番号」「有効期限」「列車日付」「日跨り値」「列車駅順序」「駅名」「番線」「到着時刻」「発車時刻」などが設定登録されている。
【００２６】
「列車番号」は１つのスジ（運行）に対して１つの番号が対応付けられている。例えば１運行で５つの駅を発着する場合、列車駅情報１２０のレコードが５つ格納される。この５つの列車駅情報１２０は、「列車番号」によって関連づけされ、連続的な情報として扱うことができる。「有効期限」は、この各列車駅情報１２０自体が有効である期間を示すデータである。例えば、今後予定されているダイヤ改正の為に作成する列車ダイヤのスジであれば、その改正日を開始日としてから任意の終了日までを設定する。また、夏休みや冬休み期間だけ運行するような臨時列車であれば、その期間が設定される。列車駅情報１２０が有効であるかどうかは、有効期限管理部１４が「有効期限」情報を参照して判断する。なお、この「有効期限」を情報として持っているため、古い運行ダイヤの情報などもダイヤ情報格納部１２に残しておくことが出来るため、過去のダイヤを参照することなども容易に行なえる。
【００２７】
なお、実際の運行では、運転されている区間が全く異なっている場合には、複数の列車に同じ列車番号を使用する事があり得るため、必要に応じて列車番号の代わりに列車を一意に特定出来るＩＤ（列車番号ＩＤ）を使用する事も可能である。
【００２８】
「列車日付」は各列車が実際に運行される日付情報が代入される。原則的には、始発駅を出発する日の情報が代入される。この「列車日付」情報は、列車番号が終着駅に到着するまで一意で変わらない。なお、「列車日付」は列車ダイヤを作成するときに固定的に付与されるものではなく、図示しないカレンダー情報や運行日パターン情報などにリンクして代入されるものである。
【００２９】
「日跨り値」は、列車が日を跨った回数を示す値である。仮に列車が日を１回跨って運行される場合、その列車駅情報１２０には、「日跨り値」として‘１’が設定される。「日跨り値」は、列車ダイヤを作成するときに設定される。
【００３０】
「列車日付」と「日跨り値」は主として連携して機能する情報である。例えば平日深夜に運行される列車は、日を跨って土曜日に終着駅に到着することが考えられる。この場合、終着駅の平日（月曜日の０：００〜金曜日の２４：００）の列車を単純に切り出すと、日を跨って運行してきたこの列車は抽出されないおそれがある。そこで本発明では、２００４年１月９日（金）に列車が始発駅を出発し、翌１月１０日（土）に終着駅に到着したということが容易に識別できるようになっている。具体的には、終着駅の列車駅情報１２０には、「列車日付：２００４年１月９日」「日跨り値：１」などの情報が格納される。つまり、この駅でのダイヤでは１月１０日に到着しているが、本当は前日の１月９日の運行であり、日を１日跨っているという情報が容易に識別できる。
【００３１】
日を跨って運行されているか否かを判断するのは日跨り値管理部１５であり、ユーザの要求に応じて運行ダイヤ情報を抽出するときに機能する。
【００３２】
「列車駅順序」は、本発明で新たに導入された情報である。列車番号毎に、その列車が着発する駅の順序を番号で表現したものである。例えば図２において、列車番号３０３３Ｍと３００１Ｍは、それぞれ順にＡ駅Ｂ駅Ｃ駅Ｄ駅を着発する。この場合、列車番号３０３３Ｍでは、「列車駅順序」としてＡ駅に‘１００’、Ｂ駅に‘２００’、Ｃ駅に‘３００’などの昇順（又は降順）の番号を付与する。同様に列車番号３００１Ｍでも各駅に昇順（又は降順）の番号を付与するが、この番号は列車番号３０３３Ｍと同じでも良いし、別でも良い。つまり、その列車番号において、使用する駅の順番が特定されるものであれば任意に付与して良いものである。
【００３３】
「駅名」は駅の名称であり、「番線」はこの列車番号１２０の列車が使用する駅の番線に関する情報である。「到着時刻」「発車時刻」は文字通り、その列車が当該駅に到着する時刻及び当駅を出発する時刻が格納される。そして、「連結両数」は、その駅での車両の編成車両の数量に関する情報が格納される。
【００３４】
以上のような定義で列車駅情報１２０の一例を示したのが、図４である。図４は列車番号３００１Ｍに関するＡ駅からＤ駅までの各列車駅情報１２０と、列車番号３００２Ｍに関する列車駅情報１２０である。この様な列車駅情報１２０が全てのスジに関してダイヤ情報格納部１２に格納されている。なお、ここでは簡単のために、どの列車番号の列車も、始発駅の「列車駅順序」を‘１００’として、１駅毎に‘１００’を加算した値とする。つまり、列車番号３００１ＭではＡ駅の「列車駅順序」は‘１００’であるが、Ａ駅は列車番号３００２Ｍでは終着駅となるので列車番号３００２Ｍでの「列車駅順序」は‘２００’となっている。この列車駅情報１２０は、とりもなおさずスジを反映したものであるので、運行ダイヤを表す情報でもある。
【００３５】
なお、図４では、簡略化の為に列車駅情報１２０は、１つのテーブルで表現しているが、幾つかのテーブルに分割してリンクさせる、所謂リレーショナルデータベースの形式で登録することが好ましい。なお、図４のテーブルでは、列方向が１つのレコードとしてダイヤ情報格納部１２に列車駅情報１２０として格納される。また、後述する仕業情報１６０も同様にリレーショナルデータベースの形式で登録され、例えば列車番号などをキーにリンク付けされる。
【００３６】
ダイヤ情報格納部１２には更に、仕業情報１６０が格納されている。仕業情報１６０は、車両に関する仕業情報、運転手や車掌など乗務員に関する仕業情報があるが、ここでは代表的な例として車両に関する仕業情報を用いて説明することとする。その一例として図３（ａ）、（ｂ）の箱ダイヤに対応する仕業情報１６０として図５を用いる。
【００３７】
図５には仕業情報１６０として２つ示されている。１つは仕業番号２００１の仕業情報１６０で、もう１つは仕業番号２００２の仕業情報１６０である。仕業情報１６０は、車両１編成に対して１つ設定されるもので、「仕業番号」「列車番号」「開始駅名」「開始列車駅順序」「終了駅名」「終了列車駅順序」「連結両数」等が設定されている。「仕業番号」は１つの仕業に対して一意に１つ付与される番号である。「列車番号」はその仕業で使用される列車番号を特定する情報であり、１つの仕業が複数のスジで構成されているときには、そのスジに対応する数だけ「列車番号」の情報が格納される。また、１つの列車番号の運行が複数の仕業に跨っているときには、複数の仕業情報１６０に同じ列車番号が設定される。
【００３８】
なお、図５では、仕業番号２００１と２００２とを２つのテーブルに分けて表示しているが、これは便宜上そうしているものであり、同じテーブルにそれぞれレコードとして登録しても良い。
【００３９】
「開始列車駅順序」と「終了列車駅順序」は、列車駅情報１２０として格納されている各列車駅情報の「列車駅順序」にリンクする情報であり、各「列車番号」で特定されるスジの始発駅の「列車駅順序」と終着駅の「列車駅順序」が格納されているものである。何れの駅も始発駅は「列車駅順序」を‘１００’としているので、図５でも全ての「開始列車駅順序」は‘１００’となっている。この「開始列車駅順序」と「終了列車駅順序」は、本発明で取り入れられた概念であり、従来は用いられていないものである。
【００４０】
「連結両数」はこの列車番号での運行上設定されている車両の編成車両数に関する情報が格納されている。
【００４１】
仕業情報１６０は「開始列車駅順序」と「終了列車駅順序」を除いて従来から採用されている情報から構成されるものであるので、特許文献１で示したようなコンピュータ支援により作成された箱ダイヤや、伝統的に使用されてきた箱ダイヤの情報を用いて登録しても良い。いずれにしても、所謂箱ダイヤに対応する情報と、今回導入した「開始列車駅順序」と「終了列車駅順序」とが組み合わされてダイヤ情報格納部１２に仕業情報１６０として格納されているものである。
【００４２】
ダイヤ情報格納部１２内の列車駅情報１２０と仕業情報１６０とは、互いに「列車番号」等の情報を基にリンクが張られているものとなっている。従って相互にデータを参照することが可能となっている。
【００４３】
更にダイヤ情報格納部１２には、車両情報１３０や駅設備情報１４０等の情報が格納されている。車両情報１３０には、車両の形式（動力源）、車両長、定員数、ドアの数など、車両の属性に拘る情報が、車両毎に登録されている。また、駅設備情報１４０には、駅のホーム長、略駅名など駅の属性に拘る情報や駅間距離、線区最高速度、勾配などの線区の属性に拘る情報など、設備に関する属性情報が登録されている。これら車両情報１３０や駅設備情報１４０も任意のキーを元に列車駅情報１２０や仕業情報１６０とリンクが張られている。
【００４４】
さて、このように構成された各情報に基づいて車両や乗務員が不整合なく、且つ抜けなく割り当てられているかどうかをチェックする仕組みについて以下説明する。
【００４５】
１．車両の割り当てチェック
まず最初に、車両の割り当てに関するチェックについて図６と図７のフローチャートを用いて説明する。車両の割り当てにおいては、ダイヤの全区間に対して対応する仕業が存在するか、そして、その仕業は適切であるかがチェックされる。このチェック処理はユーザからの要求に応じて、ユーザ要求管理部１３がダイヤ情報格納部１２に格納された情報を用いて行う。つまり、ユーザ要求管理部１３は、コンピュータメモリ上で動作するソフトウェアの処理でもよく、また専用のハードウェアで構成しても良い。
【００４６】
図６のステップ２０１では、チェックを行いたい区間が特定される。このチェックを行いたい区間は、ユーザが入力部２０等から入力した要求を、ユーザ要求管理部１３が受信して特定する。区間の特定の方法は特に問わないが、例えば、線区で特定したり、日時を組み合わせたりしてユーザは任意に指定して良い。勿論登録されているダイヤ情報全体を指定しても良い。
【００４７】
次いでステップ２０１で特定された区間で運行される列車について、ユーザ要求管理部１３は、ダイヤ情報格納部１２に格納された列車駅情報１２０から、何れかの列車番号の一連の列車駅情報１２０を抽出する。例えば列車番号３００１Ｍの列車駅情報１２０であれば、Ａ駅Ｂ駅Ｃ駅Ｄ駅の各駅に対応する５つのレコードを抽出する（ステップ２０２）。
【００４８】
ステップ２０３では、抽出された列車番号を含む仕業情報１６０が少なくとも１つダイヤ情報格納部１２に存在するかどうかが判断される。列車番号３００１Ｍであれば、仕業番号２００１と仕業番号２００２の中に登録されているため、ステップ２０３では‘Ｙｅｓ’と判断される。
【００４９】
一方、抽出された列車番号を含む仕業情報１６０が１つも存在しない場合、割り当てがされていないという判断がなされ、ステップ２０６のエラー処理が成される。エラー処理では、ユーザに対して当該列車番号には仕業が充当されていない旨のメッセージを出力部３０に表示したり、エラーログなどの記録等が行われる。
【００５０】
ステップ２０３で‘Ｙｅｓ’と判断されると、次にステップ２０４において、車両属性が当該運行に満足しているかどうかが判断される。ステップ２０４では、具体的には列車の編成両数、駅のホーム長、番線長、列車の動力源などの属性がチェックされる。このステップ２０４の処理について、図７のフローチャートを用いてより詳細に説明する。
【００５１】
図７のステップ３０１では、まず初期化の処理が行われる。ここでは、図６のステップ２０２で抽出された列車駅情報１２０の全ての駅について整合性をチェックする為、例えば列車駅順序などの駅を特定する情報を用いて網羅的に処理する。そこで、変数Ｎに列車駅順序を代入するための初期化として対象列車について抽出した列車駅情報の中で、列車駅順序の最小値を設定する。
【００５２】
ステップ３０２では、列車駅順序‘Ｎ’の列車駅情報１２０のレコードが抽出される。最初は対象列車の始発駅、あるいはチェック区間内の一番最初の駅の列車駅情報１２０が抽出される。列車番号３００１Ｍの場合、図４に示した駅名‘Ａ’（列車駅順序＝１００とする）のレコードが抽出されることになる。
【００５３】
次いでステップ３０３で、当該列車の当該列車駅に対して割り当てられている仕業を抽出する。ここでは、列車駅情報１２０に持つ列車駅順序と、仕業情報１６０の開始列車駅順序、終了列車駅順序を用いる事で、数値比較による高速な抽出が行われる。もし、この時に条件に合致する仕業が全く抽出出来なかった場合は、「当該駅において」仕業が充当されていないという事になり、エラー処理３１０へ進む（ステップ３０４）。このエラー処理は図６のステップ２０６と同様に画面表示やログとして記録する処理である。以降に説明する処理においても各エラー処理（ステップ３１０、３１１、３１２、３１３）は同様であるので、以降は説明を省略する。列車番号３００１Ｍの場合は、上述した様に仕業番号２００１と仕業番号２００２に列車番号が含まれ、かつどちらの仕業も列車駅順序の条件を満たしているので、図５に示す２つの仕業情報１６０が抽出される。
【００５４】
この抽出された列車駅情報１２０と仕業情報１６０とを用いてステップ３０５では、編成車両数の整合性をチェックする。まず、列車駅順序‘１００’の列車駅情報１２０から「連結両数」を参照し、ステップ３０３で抽出された全仕業情報１６０の車両数の合計値と一致するかどうかが計算される。つまり、列車番号３００１Ｍの場合、列車駅順序‘１００’のＡ駅では「連結両数」は‘１０’である。これに対して、抽出された仕業番号２００１と仕業番号２００２は、それぞれ‘６’と‘４’であり、合計すると‘１０’となるため、一致する（Ｙｅｓ）と判断される。
【００５５】
仮に、ステップ３０５で一致しない（Ｎｏ）と判断された場合、編成される車両数が多すぎるか、不足しているということになるため、ステップ３１１としてエラー処理が成される。つまり、必要な仕業が過不足なく充当されているかどうかは、この編成車両のチェックで行われることになる。なお、本実施の形態では列車駅情報１２０内の「連結両数」と、仕業情報１６０の全車両数の合計値に基づいて編成車両数の整合性をチェックしたが、例えば、列車駅情報１２０内に、必要な仕業数として「必要仕業数」などの情報を設定し、ステップ３０３で抽出された仕業の数が、この「必要仕業数」に合致しているかどうかで、仕業が充当されているかどうかをチェックしたり、あるいは仕業情報１６０の方に「必要仕業数」などの情報を設けて、列車駅に対応して抽出した仕業の数が「必要仕業数」とあっているかをチェックするようにしても良い。
【００５６】
編成車両数が正しければ、次に車両から求められる列車長に対して駅のホームの長さ、及び番線の長さが足りているかどうかがチェックされる。駅設備を示す情報として、ホーム長と番線長とが使われる。ホーム長は、駅で乗客が乗降できるプラットホームの（有効な）長さを示し、番線長はホーム長にかかわらず番線として使用できる長さを示す。例えば、機関車で牽引された列車の場合、駅において乗客が乗降するのは客車だけであって、機関車自体は駅のホームからはみ出して停車しても問題ない場合がある。また、貨物列車などでは、乗客の乗降は考える必要が無いため、当該駅において他の列車の運行に影響を与えさえしなければ、ホーム長をはみ出した長さでその番線を使って停車することが許される。そこで、列車が停車する駅については、少なくとも停車出来るかどうか番線長をチェックする必要があり、乗客の乗降を予定した駅についてはホーム長もチェックする必要がある（ステップ３０６）。以下ではホーム長チェックを例に説明する。
【００５７】
本発明では車両情報１３０に車両の様々な属性が登録されており、この中に各車両の車両長の情報も含まれている。また、駅設備情報１４０には、駅のホーム長に関する情報が登録されている。そこで、これら各車両長の情報を元に、当該列車の全長を求め、更に、列車駅情報１２０の駅名情報と番線情報とから駅で使用する番線を特定した上で、駅設備情報１４０のホーム情報を参照する。
【００５８】
当該仕業の車両数に対してホーム長が足りていれば、ステップ３０６で‘Ｙｅｓ’と判断され、足りていなければ‘Ｎｏ’と判断される。なお、ダイヤによっては、ホーム長を超過した列車の場合、使用するドアを限定してホーム長に収まる範囲だけで乗降を行うようにするなどの工夫もある。このような対応についての一例としては、列車駅情報１２０内に、「使用ドア数」「使用ドア位置」などの情報を登録しておくことでステップ３０６で‘Ｙｅｓ’と判断されるように制御しても良い。
【００５９】
次にステップ３０７では、列車の動力源をチェックする。列車にはディーゼル・電気・蒸気機関など、幾つかの動力に種別出来る。例えば、電気を動力源とする列車の場合は架線が必要となり、かつ同じ電気でも直流、交流５０Ｈｚ、交流６０Ｈｚ等の違いがある。従って、当該仕業の列車がどのような動力源かを確認し、駅番線や線路の設備がその動力源に対応されているかどうかなどをチェックする必要がある。
【００６０】
そこで、車両情報１３０の車両の属性情報に基づいて当該仕業で使用する列車の動力源に関する情報を抽出し、駅設備情報１４０に格納されている駅番線や線路の属性情報がこの動力源に対応されているかどうかを判断する。対応されていれば‘Ｙｅｓ’、対応されていなければ‘Ｎｏ’と判断される。
【００６１】
ステップ３０４〜３０７で１つの駅に対する当該仕業情報１６０のチェックを終えるので、当該列車番号１２０に他のチェックすべき駅があるかどうかをステップ３０８で判断する。他にチェックすべき駅があれば、‘Ｎ’に一定値を加算してステップ３０２からステップ３０７を繰り返す。今回は、列車駅順序が１００刻みで設定されていると仮定しているので、ここでは‘１００’を加算している。他にチェックすべき列車駅情報が無ければ、図７のフローは終了し、図６のステップ２０４は終了する。
【００６２】
なお、図７に示すフローの様に、エラーが検出されたらその時点でフォローを抜けて処理を終わってしまうのではなく、全ての列車駅情報に関する整合性を抜けなくチェックするために、各エラー状態に対応したエラー処理を経由して次のチェック処理を引き続き行う様になっている。
【００６３】
再び図６に戻り、ステップ２０４において列車の編成両数、駅ホーム長、駅番線長、列車の動力源などの属性チェックが終了した場合には、ステップ２０１で特定した範囲に別の列車番号があるかどうかを判断し（ステップ２０５）、別の列車番号があれば、ステップ２０２に戻ってステップ２０４までを繰り返す。なお、本実施の形態では、列車の編成両数、番線長、ホーム長、及び列車の動力源の属性をチェックしたが、チェックする項目と、各項目のチェックの順番はこの例に限らない。本発明が利用される状況に応じて適宜設定できるものである。
【００６４】
２．乗務員の割り当てチェック
次に、乗務員の割り当てに関するチェックについて説明する。乗務員についても車両と同様にダイヤの全区間に対して対応する仕業が存在するか、そして、その仕業は適切であるかがチェックされる。
【００６５】
乗務員については、運転士と車掌とに分けて仕業を設定し、それぞれについてチェックを行うようにする。ダイヤの全区間に対して対応する仕業が存在するか、というチェックについては、車両の仕業と同様に行う。
【００６６】
まず、運転士については、「運転士が１名割り当てられているか」という点をチェックする。一方、車掌については、ワンマン運行でない限り「車掌が１名以上割り当てられているか」がチェックされる。これらの情報のチェックについては、ダイヤ情報格納部１２の乗務員情報１５０を参照して行う。
【００６７】
仕業が適切であるかどうかについては、上述した図７のフローチャートと同様にチェックを行う。チェック項目は限定しないが、例えば以下のようなチェックが必要になる。先の列車番号３００１Ｍでは、Ａ駅を出発するときには１０両編成であるが、Ｂ駅で６両と４両とに切り離す為、この連結部分には双方の乗務員室（運転室）が存在して車両間を行き来出来ないものとする。
【００６８】
仮に、列車運行中は車掌がどの車両にも行き来できるように運行したいという場合、上記列車番号３００１Ｍの車両編成ではこの条件をクリアできない。このような条件に適合しているかどうかをチェックするために、車両情報１３０に、「貫通」という情報を設けておき、各編成のどの車両間を乗務員が行き来できるかを格納しておく。
【００６９】
そして、列車番号と仕業番号から特定される車両について、１名の車掌がどの車両にも行き来できるか、つまり「貫通」情報がすべて満たされているかどうかを判断する。もし、貫通していない編成である場合、それぞれの編成部分に対応する為の複数の車掌が乗務しているかどうかを判断する。列車番号３００１Ｍでこの条件を満たすには、４両と６両のそれぞれに車掌を配置するように仕業情報を登録しておけば良い。
【００７０】
以上説明したように、本発明では１つの列車番号の１つの駅毎に列車駅情報１２０を設けたことで、全区間のダイヤについて、仕業が正しく割り当てられているかどうかをくまなくチェックすることが出来るようになった。特に、列車駅情報１２０内に「列車駅順序」情報を、仕業情報１６０内に「開始列車駅順序」「終了列車駅順序」をそれぞれ設けたことで、任意の区間（駅）について任意のタイミングで高速に割当状況のチェックを行なえるようになった。
【００７１】
つまり、従来はダイヤ作成時にこそ重複した割り当て等が起こらないようにチェックすることはあったが、本発明ではいつでも指定した区間について割り当ての整合性と適格性がチェックできるようになったものである。
【００７２】
「列車駅順序」を設けたことによる更なる効果をより詳細に説明する。「列車駅順序」が無いと列車の運転区間を特定するには、駅名や駅に一意に付与されるＩＤなどでどこの駅からどこの駅までというような指定をすることになる。例えばＡＡ駅を出発した列車がＢＢ駅、ＣＣ駅、・・・と運行し、ＡＡ駅に戻って１運行が終わるような環状に運行される列車番号５００１Ｍがある場合に、１つの列車番号５００１Ｍで特定される運行の始発駅と終着駅が同一になる。
【００７３】
「列車駅順序」を設けたことによる効果をより詳細に説明する。列車の運転区間は、駅名あるいは駅に一意に付与されるＩＤなどで○○駅から△△駅までという指定がなされる。仕業の割り当て区間も、同様の指定となる。このため、運行ダイヤの区間に対して仕業が割り当てられている区間を判断するためには、運行ダイヤの始発駅から終着駅までの全ての駅（列車駅情報）を一旦抽出し、その中から、駅名あるいは駅ＩＤを条件に対応する区間を探すという処理を行う必要がある。また、今回の処理の様に、列車のある駅（列車駅情報）において割り当てられている仕業を求めたい場合には、仕業情報中の開始駅と終了駅の間に含まれる駅を運行ダイヤ情報から抽出し、その中に当該駅が含まれているかどうかを探す、という手順になるため、非常に処理量が多くなる。
【００７４】
また、ＡＡ駅を出発した列車がＢＢ駅、ＣＣ駅、・・・と運行し、最後にＡＡ駅に戻って１運行が終わるような、環状に運行される列車番号５００１Ｍがある場合には、‘ＡＡ駅’の駅名や駅ＩＤだけではどちらの‘ＡＡ駅’なのかが判らず、必要な情報が抽出出来なくなる可能性がある。
【００７５】
しかし、列車駅情報の「列車駅順序」、仕業情報の「開始列車駅順序」「終了列車駅順序」を設ける事により、上述の処理は全て数値比較処理のみにより実現出来るため、処理量は格段に削減出来る。今回の発明内容の様に、ある駅（列車駅）で割り当てられている仕業を抽出するという場合も、非常に容易となる。更に環状列車の場合も、始発の‘ＡＡ駅’と終着の‘ＡＡ駅’は列車駅順序が異なるため、明確に区別を付ける事が出来る。
【００７６】
また、始発駅から順に数値表現された情報であるため、１つの運行内の駅に関する情報を任意に抽出したとしても、どの駅がどの駅より先に着発するのかが容易に把握できるという利点もある。
【００７７】
以上、詳細に説明したように、本発明の運行ダイヤの割り当て支援装置は、ユーザが指定する任意の範囲のダイヤについて、車両や乗務員の割り当てがくまなく行われているかをチェックすることが出来るようになった。
【産業上の利用可能性】
【００７８】
以上説明したように、本発明の運行ダイヤの割り当て支援装置は、ユーザが指定する任意の範囲の全運行ダイヤ情報に対して車両や乗務員がもれなく割り当てられているかどうかを、ユーザが任意のタイミングでチェックすることができるようになる。したがって、本発明の運行ダイヤの割り当て支援装置は、バス・航空機・列車などの運行ダイヤを管理するためのシステムに適用することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態に係る運行ダイヤの割り当て支援装置の構成を概略的に示した図である。
【図２】スジデータの一例と線区のモデルを示した図である。
【図３】箱ダイヤの一例を示した図である。
【図４】列車駅情報の一例を示した図である。
【図５】仕業情報の一例を示した図である。
【図６】割り当てチェックの処理手順を示すフローチャートである。
【図７】割り当てチェックの処理手順を示すフローチャートである。
【符号の説明】
【００８０】
１０    運行ダイヤの割り当て支援装置
１１    列車駅順序情報管理部
１２    ダイヤ情報格納部
１３    ユーザ要求管理部
１４    有効期限管理部
１５    日跨り値管理部
２０    出力部
３０    入力部
４０    ネットワークインターフェイス
５０    ネットワーク
１２０    列車駅情報
１３０    車両情報
１４０    駅設備情報
１５０    乗務員情報
１６０    仕業情報
【図１】
2006123750.tif 000003
【図２】
2006123750.tif 000004
【図３】
2006123750.tif 000005
【図４】
2006123750.tif 000006
【図５】
2006123750.tif 000007
【図６】
2006123750.tif 000008
【図７】
2006123750.tif 000009