"少なくとも、列車ダイヤデータ、列車の仕業検査の検査周期、検査時間、仕業検査可能駅を含む仕業検査条件データ、列車に割付けられる車両の出力性能データ、列車ダイヤに基づいて運行される各列車の各駅での発着数、発着時刻のデータを読込むデータ読込手段と、前記データ読込手段に読込まれた前記仕業検査条件データ、前記車両の出力性能データに基づいて設定される、仕業検査の検査周期、検査時間、仕業検査可能駅及び車両の出力性能による制約条件によって、前記列車ダイヤに対して割付け可能な列車の候補を絞り込み、更に、前記データ読込手段に読込まれた前記各駅での発着数、発着時刻のデータに基づいて、前記列車候補の絞り込みの結果を満足するようにして、列車の発着の少ない駅に発着する列車から順に選択して車両の割付けを行い、かつその車両が次に割付けられる列車を当該駅を発車する列車の中から選択する車両割付手段と、前記車両割付手段による車両の割付けによって得られた経路を車両運用計画として出力する出力手段とを備えたことを特徴とする車両運用計画作成装置。前記車両割付手段は、前記列車ダイヤに対して割付け可能な列車の候補を絞り込むにあたり、前記列車ダイヤデータを参照して列車の発着駅での停車時間の少ない列車を優先し、かつ仕業検査の前記検査周期データを参照して該発着駅で仕業検査を行なう必要があるかどうかも考慮することを特徴とする請求項1に記載の車両運用計画作成装置。前記車両割付手段は、前記その車両が次に割付けられる列車を当該駅を発車する列車の中から選択するにあたり、前記当該駅が仕業検査可能駅である場合には、仕業検査の前記検査周期データを参照して前記当該駅で仕業検査を実施する必要があれば、前記検査時間データを参照して、仕業検査の検査時間以上の停車時間が確保できるような次の列車を選択することを特徴とする請求項1に記載の車両運用計画作成装置。前記車両の割付けの選択肢がまだあるときに、割付けの失敗の累積回数が予め設定した上限値に達すると割付処理を停止し、基地駅への回帰日数を一日増やして再度割付処理を行うことを特徴とする請求項1乃至3のいずれか一項に記載の車両運用計画作成装置。前記車両の出力性能データには、貨車を牽引する機関車の牽引重量データが含まれており、前記車両割付手段は、前記機関車の牽引重量データに基づいて牽引重量に制限のある機関車が少なくとも1両以上含まれていると判断した場合に、前記牽引重量に制限のある機関車を優先して割付けられるような重み付けを行うことを特徴とする請求項1乃至4のいずれか一項に記載の車両運用計画作成装置。前記車両割付手段による車両の割付けによって得られた経路に対して、仕業検査が可能なつなぎの候補の中で検査周期の条件の違反が起きない範囲で検査の実施箇所を間引く処理を行うことを特徴とする請求項1乃至5のいずれか一項に記載の車両運用計画作成装置。ところで、例えば貨物列車のように、列車ダイヤが北海道から九州までの日本全国にまたがっている場合には運用計画の範囲が非常に広く、また、車両のタイプも牽引する列車の走行する線区の条件に応じて変更しなければならない。このため、貨物列車に関する運用計画においては、前記特許文献1のように全てのノードを一度だけ通過して初期点に戻る巡回路初期解を探索しようとしても、巡回路初期解が無数にあるため、高性能の演算能力を備えたコンピュータが存在する今日においても、総当り的な計算では実用的な時間で解を得ることが難しい。そこで、本発明は、例えば貨物列車のように、列車ダイヤが北海道から九州までの日本全国にまたがっていて運用計画の範囲が非常に広い場合でも、仕業検査等の検査などの制約条件を満足して、実用的な時間内で適切な解経路を効率よく算出することができる車両運用計画作成装置を提供することを目的とする。前記目的を達成するために、請求項1に記載の本発明に係る車両運用計画作成装置は、少なくとも、列車ダイヤデータ、列車の仕業検査の検査周期、検査時間、仕業検査可能駅を含む仕業検査条件データ、列車に割付けられる車両の出力性能データ、列車ダイヤに基づいて運行される各列車の各駅での発着数、発着時刻のデータを読込むデータ読込手段と、前記データ読込手段に読込まれた前記仕業検査条件データ、前記車両の出力性能データに基づいて設定される、仕業検査の検査周期、検査時間、仕業検査可能駅の制約条件及び車両の出力性能による制約条件によって、前記列車ダイヤに対して割付け可能な列車の候補を絞り込み、更に、前記データ読込手段に読込まれた前記各駅での発着数、発着時刻のデータに基づいて、前記列車候補の絞り込みの結果を満足するようにして、列車の発着の少ない駅に発着する列車から順に選択して車両の割付けを行い、かつその車両が次に割付けられる列車を当該駅を発車する列車の中から選択する車両割付手段と、前記車両割付手段による車両の割付けによって得られた経路を車両運用計画として出力する出力手段とを備えたことを特徴としている。請求項2に記載の本発明は、前記車両割付手段が、前記列車ダイヤに対して割付け可能な列車の候補を絞り込むにあたり、前記列車ダイヤデータを参照して列車の発着駅での停車時間の少ない列車を優先し、かつ仕業検査の前記検査周期データを参照して該発着駅で仕業検査を行なう必要があるかどうかも考慮することを特徴としている。請求項3に記載の本発明は、前記車両割付手段が、前記その車両が次に割付けられる列車を当該駅を発車する列車の中から選択するにあたり、前記当該駅が仕業検査可能駅である場合には、仕業検査の前記検査周期データを参照して前記当該駅で仕業検査を実施する必要があれば、前記検査時間データを参照して、仕業検査の検査時間以上の停車時間が確保できるような次の列車を選択することを特徴としている。請求項4に記載の本発明は、前記車両の割付けの選択肢がまだある場合に、割付けの失敗の累積回数が予め設定した上限値に達すると割付処理を停止し、基地駅への回帰日数を一日増やして再度割付処理を行うことを特徴としている。請求項5に記載の本発明は、前記車両の出力性能データに、貨車を牽引する機関車の牽引重量データが含まれており、前記車両割付手段が、前記機関車の牽引重量データに基づいて牽引重量に制限のある機関車が少なくとも1両以上含まれていると判断した場合に、前記牽引重量に制限のある機関車を優先して割付けられるような重み付けを行うことを特徴としている。請求項6に記載の本発明は、前記車両割付手段による車両の割付けによって得られた経路に対して、仕業検査が可能なつなぎの候補の中で検査周期の条件の違反が起きない範囲で検査の実施箇所を間引く処理を行うことを特徴としている。本発明に係る車両運用計画作成装置によれば、データ読込手段に読込まれた仕業検査条件データ、車両の出力性能データに基づいて設定される、仕業検査の検査周期、検査時間、仕業検査可能駅の制約条件及び車両の出力性能による制約条件によって、列車ダイヤに対して割付け可能な列車の候補を絞り込み、更に、データ読込手段に読込まれた各駅での発着数、発着時刻のデータに基づいて、列車候補の絞り込みの結果を満足するようにして、列車の発着の少ない駅に発着する列車から順に選択して車両の割付けを行い、かつその車両が次に割付けられる列車を当該駅を発車する列車の中から選択することにより、実用的な時間内で適切な解経路を効率よく算出することができる。以下、本発明を図示の実施形態に基づいて説明する。図1は、本発明の実施形態に係る車両運用計画作成装置の構成を示すブロック図である。なお、本実施形態の車両運用計画作成装置は、貨物列車の機関車の運用計画の作成に適用した例である。車両運用計画は、使用順序や保守管理等を含む車両の運用に関する計画を定めたものであり、与えられた所定の列車ダイヤを基に作成される。図2に、列車ダイヤの一例を示す。なお、図2において、横軸を時間、縦軸を駅A駅、B駅、C駅、D駅として、列車の運行を表す列車スジにより列車ダイヤが表現されている。各列車スジには、対応する列車番号列車1、列車2、列車3、列車4がそれぞれ表記されている。図2の列車ダイヤにおいて、例えば、列車1は、A駅を出発してC駅に終着する列車であり、A駅からB駅までの運行aと、B駅からC駅までの運行cという運行情報を有している。同様に、列車2は、D駅を出発してB駅に終着する列車であり、D駅からC駅までの運行bと、C駅からB駅までの運行dという運行情報を有している。なお、列車3、列車4についても、各運行情報運行e、運行f、運行g、運行hを有している。そして、車両運用計画においては、この列車ダイヤを実現するために、当該列車ダイヤを構成する全ての列車に対して、仕業検査等の検査などの制約条件を満足するようにして列車を割付け割当てて、運用スケジュールを作成する。ところで、機関車が貨車を牽引する貨物列車は、旅客列車に比べて列車の発着駅の多様性が大きく、駅ごとに見た場合に発着の本数のばらつきが大きいため、列車間の接続の制約が大きい。また、機関車の種類形式によって牽引重量に制限があるため、仕業検査の検査周期による制約以外にも、牽引重量制限による制約も考慮して、列車間の接続を行う必要がある。以下、このような制約条件を満足しながら、列車を割付けることができるようにした本実施形態に係る車両運用計画作成装置について説明する。図1に示すように、本実施形態の車両運用計画作成装置1は、処理装置2と、記憶装置3と、列車番号等を入力するためのキーボードやマウス等の入力装置4と、入力装置4により入力された入力情報や作成された列車運用計画等が表示される液晶ディスプレイLCD等の表示装置5とを主要構成部として備えたコンピュータによって構成されている。処理装置2、記憶装置3、入力装置4及び表示装置5は、バス6によって接続されている。処理装置2は、車両運用計画作成部20を有している。車両運用計画作成部20は、図1に示したように、記憶装置3に記憶されている各種データ後述する列車運行情報30、仕業検査条件データ31、機関車データ32などを読込むデータ読込部21と、データ読込部21で読み込んだ各データに基づいて設定される、後述する制約条件a1~a3、及びルールb1、b2を満たすように列車を選択して割付ける車両割付部22を有している。車両運用計画作成部20は、車両割付部22での列車の割付け処理によって得られた経路を、車両運用計画として表示装置5へ表示出力する。なお、この処理装置2は、CPU、一時記憶領域としてのRAMなどのハード部と、車両運用計画作成部20での処理を実行させるためにインストールされたコンピュータプログラムソフト部とを主要構成部として構成されている。記憶装置3には、列車運行情報30、仕業検査条件データ31、機関車データ車両の出力性能データ32などが予め記憶されている。記憶装置3は、ハードディスクやUSBメモリなどの記録媒体で構成されている。列車運行データ30には、列車ダイヤデータ列車ダイヤに基づいて運行される各列車貨物列車の列車番号に関する情報、駅名や経由等に関する運行情報など30a、各駅での発着データ運行される列車に対応した線区内における各駅での列車の到着数及び出発数、発着時刻、これらの各到着列車及び各出発列車の列車番号情報など30bが含まれている。仕業検査条件データ31には、仕業検査の検査周期検査間隔、検査時間、検査可能な駅などの情報が含まれている。機関車データ32には、貨車を牽引する機関車の種別例えば、牽引重量、直流電気機関車、交流電気機関車、交直流電気機関車など、機関車が所属する機関区などの情報が含まれている。車両運用計画を作成するために列車同士を接続する際の、主な制約条件としては、以下のようなa1~a3が挙げられる。更に、車両運用計画を作成するために列車同士を接続する際の、列車選択の優先度のルールとしては、以下のようなb1、b2が挙げられる。a1:列車同士を接続する際に接続する前後の列車において、前列車の到着駅と後列車の出発駅は同一駅でなければならない。a2:仕業検査の検査周期内に検査をしなければならない機関車の種別によって検査周期、検査時間が異なり、また検査可能駅も限定されている。a3:機関車は牽引重量以下の貨車を牽引しなければならいない機関車の牽引力制限。b1:列車を選択する場合において、列車の着駅に注目し、列車の発着の少ない駅に発着する列車から順に選択する。即ち、列車の発着の少ない駅から順に選択して列車を割付ける。b2:前列車到着から出発までの停車時間の少ない列車を優先して選択する。この際、仕業検査の検査周期データを参照してこの当該駅で仕業検査を行なう必要があるかどうかも考慮して選択する。車両運用計画作成部20の車両割付部22は、周知の制約プログラミングを適用した演算処理によって前記制約条件a1~a3、及びルールb1、b2を満たすような解経路を求める。制約プログラミングは、制約充足問題に対する解探索手法の一つであり、与えられた決定変数に対して前記制約条件を満たす解を、制約伝播の機能によって効率的に算出するものである。本実施形態における前記決定変数は、列車同士を接続する際に次の列車列車番号が入る変数と、当該列車につなぐ機関車車両の種別例えば、牽引重量などが入る変数である。次に、上記した本実施形態に係る車両運用計画作成装置1による列車の割付け処理を、図3に示すフローチャートを参照して説明する。最初に作成者が入力装置4を操作することにより、車両運用計画作成部20のデータ読込部21に、記憶装置3から各種データ上記した列車ダイヤデータ30a、各駅での発着データ30b、仕業検査条件データ31、機関車データ32などが読み込まれるステップS1。そして、前の列車の割付け処理の結果がクリアされていない場合には初期化を行いステップS2、その後、車両割付部22により前記制約条件a1~a3によって割付け接続可能な列車の候補を絞り込む処理を行うステップS3。ステップS3での制約よる候補の絞込み処理は、図4に示すように、最初に制約条件a1で列車候補を絞り込みステップS21、次に制約条件a2で列車候補を絞り込みステップS22、更に次に制約条件a3で列車候補を絞り込んでいくステップS23。制約条件a1により、前列車の到着駅と後列車の出発駅とが同一駅となるように制約される。また、制約条件a2により、仕業検査の検査周期を超過するような機関車はつなげない。更に、制約条件a3により、機関車は牽引重量を超えない貨車を牽引するように制約される。なお、割付け接続可能な列車の候補を絞り込む際において、当該駅が仕業検査可能駅である場合には、仕業検査の検査周期データを参照してこの当該駅で仕業検査を実施する必要があれば、検査時間データを参照して、仕業検査の検査時間以上の停車時間が確保できるような次の列車を選択する。そして、ステップS3で制約条件a1~a3による列車候補の絞込みを行った後、列車ダイヤに対して割付未決定の列車があるか否かを判定するステップS4。そして、未決定の列車があると判定した場合ステップS4:YESには、前記ルールb1、b2によって列車を選択する処理を行うステップS5。ステップS5でのルールb1、b2よる列車選択処理は、図5に示すように、最初にルールb1で列車を選択しステップS31、次にルールb2で列車を選択するステップS32。ルール1、b2によって列車を選択する際においては、例えば、図6において、ある着駅であるA駅から出発した列車R11、列車R21がそれぞれB駅、C駅へ到着する場合、B駅から2本の列車R11a、列車R11bが出発し、C駅から4本の列車R21a、列車R21b、列車R21c、列車R21dが出発するとする。なお、R11、R21、R11a、R11b、R21a、R21b、R21c、R21dは、それぞれ対応する列車の列車番号である。なお、B駅において、列車R11は13:00着、列車R11aは15:00発、列車R11bは20:00発とする。この場合、ルールb1により、候補数が少ない列車を優先して選択することにより、B駅に到着する列車R11が選択される。更に、ルールb2により、停車時間の少ない列車R11aが優先して選択される。この際、上記したように仕業検査の検査周期データを参照してこの当該駅で仕業検査を行なう必要があるかどうかも考慮して選択する。ところで、ステップS5の処理において、各駅にそれぞれ種別例えば、牽引重量、仕業検査の検査周期などの異なる機関車が複数配置されている場合に、何も制限なしに割付けを実施すると、発着列車数の多い駅、特定の機関車牽引重量や仕業検査の検査周期の制限が少ない最新の機関車に割付けが偏る傾向があり、割付バランスが悪くなる最悪の場合には、列車の割付け接続ができなくなる。そこで、ステップS5の処理において、発着列車数の少ない駅、牽引重量が小さく仕業検査の検査周期が短い機関車が優先して割付けられるような重み付けをして、割付バランスを考慮するようにしている。そして、ステップS5でルールb1、b2による列車の選択を行った後、再度制約条件a1~a3による列車候補の絞込み処理を行うステップS6。なお、このステップS6での列車候補の絞込み処理は、前記ステップS3での列車候補の絞込み処理と同様である。そして、上記した処理による解経路の探索パターン数が、予め設定した上限値例えば、10000回に達する前に列車の割付け接続が成功するとステップS7:YES、ステップS4に戻って未決定の列車があるか否かを判定する。そして、未決定の列車がないと判定した場合ステップS4:NOには、解経路が得られたことになるが、より効率的な列車の運用計画を得るために、仕業検査が可能なつなぎの候補の中で、検査周期の条件の違反が起きない範囲で検査の実施箇所を間引く処理検査回数の適正化処理を行うステップS8。そして、ステップS8で検査回数が適正化された解経路は、列車の運用計画として表示装置5に出力され、かつ記憶装置3に格納される。ここで、ステップS8での検査回数の適正化処理について、図7a~dを参照して簡単に説明する。上記のように解経路が得られた後に検査回数の適正化処理、即ち検査回数の最小化処理が実施される。例えば、図7aに示すような経路が作成された場合、全ての駅図では、A駅~F駅の6つの駅で仕業検査が可能であるときに、これらの全ての駅で仕業検査を順次実施すると効率的な列車の運用ができない。そこで、図7b,cに示すように、先ず、ある駅図では、A駅を起点駅として、この起点駅から経路順時計回りにたどって、できるだけ検査周期検査間隔が長くなるような駅を決定する処理を行う。なお、起点駅では仕業検査を実施するものとる。図7cの場合では、起点駅A駅で仕業検査を実施した後、次にD駅で仕業検査を実施する。よって、A駅を起点駅とした場合には、検査回数は2回である。次に、図7dに示すように、起点駅を経路順に沿って次のB駅に変更して、同様にこの起点駅から経路順にたどって、できるだけ検査周期が長くなるような駅を決定する処理を行う。図7dの場合では、起点駅B駅で仕業検査を実施した後、D駅とA駅で仕業検査を実施する。よって、B駅を起点駅とした場合には、検査回数は3回である。以下、経路順に沿って全ての駅を起点駅として、同様に各起点駅から経路順にたどって、できるだけ検査周期が長くなるような駅を決定する処理を行う。そして、これらの処理結果から検査回数が最小となるパターン例えば、図7cの場合におけるA駅とD駅の2駅で仕業検査を実施するパターンを選ぶことで、検査周期を満たすようにして検査回数の適正化、即ち検査回数の最小化を図ることができる。また、ステップS6での処理の結果、制約の違反がどこかに生じているためステップS5での列車選択が不適切であることが判明した場合、ステップS7において割付失敗と判定し、この場合ステップS7:NOは、列車割付けの選択肢がまだあるか否かを判定するステップS9。そして、列車割付けの選択肢がまだあると判定するとステップS9:YES、ステップS5に戻って再度以降の処理ステップS5,S6,S7,S9を繰り返す。なお、この場合のステップS9においては、割付失敗の累積回数の上限値が予め設定されており、この上限値例えば、10000回内に列車ダイヤに含まれる全ての列車の割付けができなかった場合は割付処理を停止してステップS10へ移行し、基地駅への回帰日数を一日増やしてステップS2に戻り、再度以降の処理を実行する。このように、割付失敗の累積回数の上限値を設定しておくことにより、この上限値に達すると選択肢を全て選択しつくすことなく以降の処理に移れる。よって、列車割付けの選択肢が膨大で全ての可能性を調べるのに時間がかかるような場合にも、実用上支障のない時間内で解経路を得ることができる。また、ステップS9で、列車割付けの選択肢がないと判定した場合ステップS9:NOにおいても、基地駅への回帰日数を一日増やしてステップS10、ステップS2に戻り再度以降の処理を実行する。このように、本実施形態の車両運用計画作成装置によれば、前記制約条件a1~a3を満たすようにして割付ける列車候補を絞込み、更に、前記ルールb1、b2によって列車を選択して割付けることにより、制約条件a1~a3を満足して、実用的な時間内で適切な解経路を効率よく算出することができる。更に、解制約条件a1~a3を満足する経路が算出された後に、仕業検査が可能なつなぎの候補の中で、検査周期の条件の違反が起きない範囲で検査の実施箇所を間引く処理を行うことによって、仕業検査の検査回数を最小化することができる。これにより、より効率的な列車の運用計画が可能となる。なお、前記実施形態では、貨物列車の運用計画の作成に適用した例であったが、旅客列車の場合においても同様に、機関車種別の選択を列車種別の選択に置き換えることにより、本発明を適用することができる。"