(57)【特許請求の範囲】
【請求項１】
交通分野において、運行機材に対して一日の保守予定と運転予定を含む運用を構成して一定期間分を割り当てる運用計画を作成するための、計算機による運行機材の運用計画作成方法において、
前記計算機の探索部が、運行ダイヤとその予備に基づいて、車両に対する運用の基本割当順序として定義される運用ローテーションパターンを遺伝的アルゴリズムを用いて探索して出力するステップと、
前記計算機の第１の修正部が、前記運用ローテーションパターンを表示装置に表示し、前記表示装置に表示された前記運用ローテーションパターンに対する計画作成者からの修正入力に応じて前記運用ローテーションパターンを修正するステップと、
前記計算機の運用割り当て部が、前記運用ローテーションパターンを部分的に調整しながら車両の運用を割り当てて、その結果を計画案として出力するステップと、
前記計算機の第２の修正部が、前記計画案を表示装置に表示し、前記表示装置に表示された前記計画案に対する計画作成者からの修正入力に応じて前記計画案を修正して最終案を作成するステップを有し、
前記運用ローテーションパターンを探索して出力するステップは、前記探索部が、
運行ダイヤと予備を並べたシーケンスＳ１を用意し、並べ替えの結果を格納するための空のシーケンスＳ２を生成し、Ｎ個（Ｎは運行ダイヤと予備の合計）の数値の一次元配列として与えられる染色体からインデックスを用いて要素の値を得、さらにそれをインデックスとして前記シーケンスＳ１から前記要素を取り出し、取り出した前記要素の値を前記シーケンスＳ２に付加していき、その結果として得られた前記シーケンスＳ２を前記運行ダイヤと予備の並びとし、
前記運行ダイヤと予備の並びにおける着目位置を示す位置変数の値を開始位置として前記運行ダイヤと予備の並びに対して回帰日数の間隔で列車検査を設定していき、前記列車検査を設定できない場合には前記位置変数の値を開始位置として前記運行ダイヤと予備を後ろ向きに巡り、前記列車検査を設定可能な運行ダイヤ又は予備を検索し、その結果見つかった要素に対して列車検査を設定し、その結果前記列車検査が設定された前記運行ダイヤと予備の並びを前記運行ローテーションパターンのデータ形式へ変換して出力し、
前記計画案として出力するステップは、前記運用割り当て部が、
第ｉ日目について、前日に割り当てられた運用ローテーションパターン内での位置を調べ、その次に位置する運用を順次割り当て、当日に運用予約がある車両に対しては、運用ローテーションに従って運用割り当てをおこなった後に、前記当日に運用予約がある車両に対して割り当てられた運用と本来設定すべき運用を振り替えて、該当日の計画の雛型を作成し、
車両リストを作成し、前記車両リストから車両を取り出し、取り出した前記車両の第ｉ日目の割り当て運用を取得し、前記運用に関わる制約条件を検出し、その検出結果の中に接続条件違反又は回帰条件違反が含まれているか否かを判定し、前記接続条件違反及び前記回帰条件違反がない場合は前記車両リストから前記車両を削除し、前記接続条件違反又は前記回帰条件違反がある場合は他の運用との振り替えを行って前記接続条件違反及び前記回帰条件違反を解消し、前記車両リストから前記接続条件違反及び前記回帰条件違反を解消した車両を削除して、前記計画案を調整することを特徴とする運行機材の運用計画作成方法。
【請求項２】
前記運用は、少なくとも実施運行ダイヤ、予定作業、作業時間帯と作業場所の情報を含み、
前記運用ローテーションパターンは、車両数と同数の互いに異なる運行ダイヤを含む運用の系列であることを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項３】
前記運用ローテーションパターンを探索して出力するステップは、前記探索部が、各作業実施場所における、作業の同時実施最大数、所要時間、実施可能時間帯の情報を少なくとも含む作業容量を利用して、運用ローテーションパターンが含む運用を全て同日に実施することを仮定して、作業本数が各実施場所及び時間帯の同時実施最大数を越えないように運用への作業情報の設定をおこなうことを特徴とする請求項１又は２に記載の運行機材の運用計画作成方法。
【請求項４】
パターン評価指標は、複数の評価項目に関する情報のリストであり、
リスト中の評価項目に対応する各要素は、運用ローテーションパターンの該当評価項目に対する充足度を出力する評価関数への参照と、該当評価項目の重みに関する情報を少なくとも含み、
前記複数の評価項目に関する情報のリストは、運用ローテーションパターンを車両に対して日々割り当てていくことを仮定した場合の連続する運用間の接続条件と、短期作業の実施間隔に関する回帰条件の遵守を評価項目とするふたつの要素を少なくとも持ち、
前記運用ローテーションパターンを探索して出力するステップは、前記探索部が、各評価項目に対応する評価関数を適用して得た充足度の線形加重和を、運用ローテーションパターンの評価値として算出することを特徴とする請求項１又は２に記載の運行機材の運用計画作成方法。
【請求項５】
前記運用ローテーションパターンを修正するステップは、前記第１の修正部が、運用ローテーションパターンおよび評価指標の充足程度をイメージ画像、文字情報、数値情報を用いて表示装置に表示し、評価項目の追加と削除および重みの変更を受け付けて前記計画案の再探索を進めることを特徴とする請求項４に記載の運行機材の運用計画作成方法。
【請求項６】
前記接続条件違反は、単一車両における連続した運用間の接続条件に関する違反であり、
前記回帰条件違反は、単一車両における回帰日数を厳守すべき短期作業の実施間隔に関する回帰条件の違反であることを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項７】
前記計画案として出力するステップは、前記運用割り当て部が、第ｉ日目の運用を交換する操作と第ｉ日目の運用を追加及び削除する操作を施しても前記接続条件違反を解消できない場合には、第ｉ日以前の日付を第ｊ日とすると、そこから１日づつ後ろへ戻りながら、他の車両の現在日付から第ｊ日目までの運用割り当ての部分系列の中で接続条件を満たす部分系列を検索していき、前記接続条件を満たす部分系列が見つかった場合に前記接続条件を満たす部分系列と前記接続条件違反のある車両の部分系列を交換することを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項８】
前記最終案を作成するステップは、前記第２の修正部が、前記計画案の概要を表示装置に表示し、マウス等のポインティングデバイスを介して前記計画案上の任意の運用に対する指定を受け付けた場合に、該当運用の詳細内容を表示装置に表示することを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項９】
前記最終案を作成するステップは、前記第２の修正部が、前記計画案における作業の実施日、実施量、実施場所、実施時間帯の内訳を集計して、作成期間全体の集計結果及び計画作成者が指定した特定の日付けについての集計結果を、グラフ、数値、文字情報を用いて表示装置に表示することを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項１０】
前記最終案を作成するステップは、前記第２の修正部が、前記計画案における特定の運用に対して作業を追加及び削除する操作を受け付けて、運用計画の最終案の作成を進めることを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項１１】
前記最終案を作成するステップは、前記第２の修正部が、前記計画案における特定の運用と実施日が同じである計画案上の他の運用と交換する操作を受け付けて、運用計画の最終案の作成を進めることを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項１２】
前記最終案を作成するステップは、前記第２の修正部が、交換対象に指定した運用の特徴から交換相手の運用の特徴を算出し、含まれる運行ダイヤ、出発及び到着場所、出発及び到着時間、作業可能時間帯、作業可能場所、特定作業の設定有無、を少なくとも検索項目として含む検索条件を作成し、前記検索条件を用いて交換候補の運用を検索して、検索結果の運用を表示装置に表示することを特徴とする請求項１１に記載の運行機材の運用計画作成方法。
【請求項１３】
前記最終案を作成するステップは、前記第２の修正部が、計画作成者から少なくとも作業容量、運用予約、調整ロジック、検索条件を変更する操作を受け付けることを特徴とする請求項１に記載の運行機材の運用計画作成方法。
【請求項１４】
交通分野において、運行機材に対して一日の保守予定と運転予定を含む運用を構成して一定期間分を割り当てる運用計画を作成するための運行機材の運用計画作成システムにおいて、
運行ダイヤとその予備に基づいて、車両に対する運用の基本割当順序として定義される運用ローテーションパターンを遺伝的アルゴリズムを用いて探索して出力する探索部と、
前記運用ローテーションパターンを表示装置に表示し、前記表示装置に表示された前記運用ローテーションパターンに対する計画作成者からの修正入力に応じて前記運用ローテーションパターンを修正する第１の修正部と、
前記運用ローテーションパターンを部分的に調整しながら車両の運用を割り当てて、その結果を計画案として出力する運用割り当て部と、
前記計画案を表示装置に表示し、前記表示装置に表示された前記計画案に対する計画作成者からの修正入力に応じて前記計画案を修正して最終案を作成する第２の修正部を有し、
前記探索部は、
運行ダイヤと予備を並べたシーケンスＳ１を用意し、並べ替えの結果を格納するための空のシーケンスＳ２を生成し、Ｎ個（Ｎは運行ダイヤと予備の合計）の数値の一次元配列として与えられる染色体からインデックスを用いて要素の値を得、さらにそれをインデックスとして前記シーケンスＳ１から前記要素を取り出し、取り出した前記要素の値を前記シーケンスＳ２に付加していき、その結果として得られた前記シーケンスＳ２を前記運行ダイヤと予備の並びとし、
前記運行ダイヤと予備の並びにおける着目位置を示す位置変数の値を開始位置として前記運行ダイヤと予備の並びに対して回帰日数の間隔で列車検査を設定していき、前記列車検査を設定できない場合には前記位置変数の値を開始位置として前記運行ダイヤと予備を後ろ向きに巡り、前記列車検査を設定可能な運行ダイヤ又は予備を検索し、その結果見つかった要素に対して列車検査を設定し、その結果前記列車検査が設定された前記運行ダイヤと予備の並びを前記運行ローテーションパターンのデータ形式へ変換して出力し、
前記運用割り当て部は、
第ｉ日目について、前日に割り当てられた運用ローテーションパターン内での位置を調べ、その次に位置する運用を順次割り当て、当日に運用予約がある車両に対しては、運用ローテーションに従って運用割り当てをおこなった後に、前記当日に運用予約がある車両に対して割り当てられた運用と本来設定すべき運用を振り替えて、該当日の計画の雛型を作成し、
車両リストを作成し、前記車両リストから車両を取り出し、取り出した前記車両の第ｉ日目の割り当て運用を取得し、前記運用に関わる制約条件を検出し、その検出結果の中に接続条件違反又は回帰条件違反が含まれているか否かを判定し、前記接続条件違反及び前記回帰条件違反がない場合は前記車両リストから前記車両を削除し、前記接続条件違反又は前記回帰条件違反がある場合は他の運用との振り替えを行って前記接続条件違反及び前記回帰条件違反を解消し、前記車両リストから前記接続条件違反及び前記回帰条件違反を解消した車両を削除して、前記計画案を調整することを特徴とする運行機材の運用計画作成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、生産・交通分野におけるスケジューリング業務を計算機で支援する方法及び装置に関するものであり、具体的には計算機を利用した計画の立案方法、立案結果の表示方法、立案結果の修正方法、立案結果の検証方法に関するものである。
【０００２】
【従来の技術】
運行機材に対する日々の運用方法を計画する手法もしくはシステムについては、鉄道分野における車両の運用計画業務の計算機化に関して、車両に運行ダイヤと検査・修理等の作業予定を日々割り当てていく際の基準となる基本割当順序（運用ローテーションパターンと呼ぶ）を確率的な探索技法とＡＩ的な探索技法を組み合わせて立案するもの（（１）特願平８−１３１８７０号出願参照）、前記運用ローテーションパターンに基づいて確率的な探索技法を用いて全車両に対する一定期間の運用割り当てをおこない運用計画を立案するもの（（２）特願平８−１０９７１３号出願参照及び（３）「鉄道における車両割り当てスケジューリング」，土屋  他，人工知能，１９９３．８）が公知である。
【０００３】
（１）及び（２）については、上記の計画案の自動立案機能に加えて、計画作成者が立案途中に計画作成の制約条件・評価指標を変更したり、計画案の一部を修正するための各種のインターフェース（情報提供機能と手動介入機能）を備えている。
【０００４】
【発明が解決しようとする課題】
運行機材の運用計画は、機材の日々の保守・管理に関わる運用業務を安全・確実に実施すると共に、機材・人員・設備の利用効率の向上を目的として作成される。近年、生産・交通分野においては、利用者に対するサービス向上や利用範囲の拡大等に伴い計画立案作業が複雑化し、計画作成者の負担がますます大きくなると共に、計画立案に携わる担当者の養成も次第に困難になっていることから、従来の人手による計画立案作業を計算機化したいという要求が高まっている。
【０００５】
従来の運用計画作成に関する主流の考え方は、まず機材に運用を日々割り当てていく際の基準となる理想的な運用の割り当てパターン（運用ローテーションパターン）を作成し、それを基に特別作業や運用予約といった例外部分との整合性をとるためにパターンを調整しながら運用割り当てを施して実際の計画を得るというものである。
【０００６】
このように、運用計画をパターンの作成とパターンの調整の２段階に分けて作成することにより、得られた計画は理想的なパターンに沿ったきわめて品質の高いものになるとともに、常にパターンに相似した計画となるため運用業務を定型化することが可能となる。日々の業務内容がある一定のパターンに沿っていれば、運用業務に携わる現場作業者が業務内容を毎日苦労して一から覚える必要がなくなり、記憶違いによるミスを大幅に減らすことができる。またたとえ完全なパターン化が無理であっても、業務の大部分がパターンに沿っていればパターンからの相違点に着目するだけで業務内容を容易に理解することができる。計算機内部のタスクスケジューリングといった人間が全く介在しないシステムのスケジューリングとは異なり、人間の利用を前提とする生産・交通分野の各種の業務スケジューリングにおいては、計画内容のパターン化は効率化と並ぶ重要な概念である。
【０００７】
鉄道分野においては、パターン化の概念を計画作成の制約条件として利用することで、可能な組合せの数を大幅に削減でき、計画作成手法を簡素化できるといった利点もあるため、多くの、特に大規模路線を擁する鉄道会社では、パターン化の概念を積極的に取り込んで計画作成をおこなっている。
【０００８】
一般的に、各社における実際の計画作成においては、運用ローテーションパターンを作成する部署と運用割り当てをおこなう部署は、同じ場合もあれば異なっている場合もあり、明確な切りわけがなされていないのが現状である。作成部署が異なっている場合、運用ローテーションパターンは通常本社のダイヤ作成部署でダイヤ改正時に一度作成され、運用割り当ては車両の保守・管理を司る路線上の個々の車両基地において作成されるのが普通であり、作成部署が同じ場合には、両者は一括して各車両基地で作成される。
【０００９】
今後鉄道会社が利用者サービスの向上や路線規模の拡大等を積極的に推進するにあたっては、車両基地の設備条件や車両の運用形態といった様々な条件の変動に合わせて柔軟かつ効率的に運用業務を実施することが求められる。そのためには、基準となる運用ローテーションパターンをダイヤ改正時に限らず運用割り当てを実際におこなう各車両基地の実情を反映して、頻繁に再作成する必要が生じることが考えられる。そのため、今後は鉄道各社ともに車両基地内で両者を一括して作成することが主流になると考えられ、そのような作成形態に基づいて計画作成を担当する作成者の立案作業を効果的に支援するための、計算機システムの実現がきわめて重要な課題となっているが、前記公知例のいずれもどちらかの計画作成のみを計算機化するための手法もしくはシステムであった。
【００１０】
加えて前記公知例（３）は約４週間分の運用計画の立案に要する時間が、実施可能な最低限の条件を満たしているもので約３時間、多くの評価指標を高いレベルで満足した高品質の運用計画を得るのに約１６時間と、運用ローテーションパターンがあらかじめ与えられているにもかかわらず、計画作成に長時間を要しており、立案までに計画作成者をあまりにも無為に待たせてしまうという問題点があった。一般的に人間が介在する多くの業務計画の立案においては、曖昧性が高いために計算機化・システム化の範疇として捉えることが困難な計画作成に関わる条件が数多く存在する。そのため、計画システムが自動作成した計画案に対する計画作成担当者による最終チェックと手動による微調整が必須であり、この実現には計画作成に関するシステムの応答性の高さが求められる。
【００１１】
また、前記公知例（１）及び（２）は計画案の自動作成機能を備えるほかに、計画作成者が計画の立案途中に計画作成の制約条件・評価指標を変更したり計画案の一部を修正するための基本的なインターフェース（情報提供機能と手動介入機能）を備えているが、路線の拡大等のために車両数が大幅増化したり、複数の車両基地で車両を分散管理するなどして計画が大規模・複雑化した場合、計画作成者が計画案を検証したり、自身の意図を正確に反映させつつ計画案の修正を効果的に施すといったことがきわめて困難になるという問題があり、大規模車両数・複数車両基地に対応した運用計画を計画作成現場の実情に合わせて効果的に作成支援するための情報提供機能や手動介入機能の実現が求められている。
【００１２】
本発明の目的は、運用計画作成における段階的な作成処理を包括的に扱うことができ、なおかつ大規模・複雑な計画作成現場の実情に柔軟に適合した品質の高い運用計画を効率的に立案可能な運行機材の運用計画作成支援システムを提供することにある。
【００１３】
【課題を解決するための手段】
上記目的は、運行ダイヤを入力として車両に対する運用の基本割当順序として定義される運用ローテーションパターンを探索して出力するステップと、計画作成者との対話的なやりとりによって運用ローテーションパターンを修正するステップと、運用ローテーションパターンを部分的に調整しながら車両に運用を割り当てて、その結果を計画案として出力するステップと、計画作成者との対話的なやりとりによって計画案を修正して最終案を作成するステップを作成することにより達成される。
【００１４】
【発明の実施の形態】
以下、本発明の一実施例として、鉄道車両基地における車両運用計画作成支援システムについて説明する。
【００１５】
本実施例は、鉄道車両基地における車両運用業務を支援するシステムであり、各車両が本線上で営業運転をおこなうか否か、営業運転をする場合はどの運行ダイヤを担当するか、また修理、点検、清掃といった保守作業をいつ、どこでおこなうかといった車両の日々の運用予定を数週間分表す車両運用計画を作成するものである。
【００１６】
まず計画作成の前提条件を説明する。図２は計画作成の入力データとなる運行ダイヤの一例である。図では６通りのダイヤが示されており、それぞれに対して数字０２０１のように重複しない番号がつけられている。横軸０２０２は路線の運行時間帯を表している。各ダイヤにおける黒い棒線は、本線上で営業運転をすることを意味しており、丸記号０２０３はラベル０２０４が表す車両基地もしくは駅からの出発を、三角記号０２０５はラベル０２０６が表す車両基地もしくは駅への到着を表す。また、ラベル０２０７は運行ダイヤを構成する部分ダイヤの名称を表す。例えば番号２のダイヤは、朝６時過ぎに駅Ａを出発して、その後お昼頃まで本線上で営業運転をおこない基地Ｘに入庫する（部分ダイヤＤ２）、その後は夕方に再び本線へ戻り営業運転を再開し、一日の運転を終えて最終的に基地Ｙへ入庫する（部分ダイヤＤ３）。この例のように、ダイヤの中には営業運転の途中で車両基地に一旦入庫したのちに再び営業運転をおこなうものもあれば、番号１のダイヤのように本線上で終日営業運転をおこなうものもある。以降の記述では、運行ダイヤを指定するために、ダイヤ２といったダイヤ番号かＤ２−Ｄ３といった部分ダイヤの名前の組合せのいずれかを用いることとする（図２においてはダイヤ２とＤ２−Ｄ３は同一の運行ダイヤを指す）。
【００１７】
これらの運行ダイヤを実施するために、各ダイヤに対して車両が重複なく（１対１）、もれなく毎日割り当てられる。また、車両基地に終日在線しておこなわなければならない特別作業があることと、車両故障といった突発的事態に対応するための待機車両を用意する必要から、（車両総数−ダイヤ総数）分の車両は営業運転をおこなわない、すなわちダイヤが割り当てられない予備車両として車両基地に終日在線することになる。また、各車両基地への予備車両の配分はあらかじめ決まっているものとする。
【００１８】
図３は車両基地に終日在線して実施する作業（以降では長期作業とよぶ）の予定を示す作業計画の一例である。項目０３０１は作業対象の車両につけられた他と重複しない識別用番号である。項目０３０２は実施する作業の種類を表す。項目０３０３は作業を実施する車両基地である。項目０３０４と項目０３０５はそれぞれ作業の開始日と終了日であり、該当車両はこの期間を通して同一車両基地に在線したまま所定の作業を受けることになる。この長期作業に関する作業計画は、運用計画を作成する前の段階で既に作成されており、この予定を遵守して運用計画を作成する必要がある。
【００１９】
あらかじめ作業予定を立案しておく長期作業に加えて、清掃やある種の点検といった、数十分〜数時間程度の比較的短い時間で実施する短期の作業がいくつかある。それらの短期作業は営業運転の合間の車両基地に在線している時間を利用して実施することもできるため、あらかじめ予定を作成することはせずに、実施場所・時間帯・同時実施可能な本数等を考慮しつつ運用計画作成の一環として設定をおこなう。これらの短期作業のうち、列車検査（または仕業検査）とよばれる作業に関しては、各車両に対して一定期間（現在は３日）以内の間隔で定期的に実施するという実施の回帰条件が法律で明確に規定されており、鉄道各社とも運用計画を作成するにあたっては、列車検査の実施間隔が絶対に回帰日数を超過しないように細心の注意を払っている。
【００２０】
他の短期作業についても回帰日数についての規定があるが、それらはあくまでも設定の目安として用いられており、運用計画作成上の厳密な条件ではない。そこで本実施例においては、説明をわかりやすくする都合上、短期作業は列車検査ひとつのみとする。回帰条件が緩い他の短期作業がある場合には、上記のダイヤ、予備、長期検査、列車検査の割り当てを全ておこない、運用計画の大枠が完成した後で回帰日数を考慮しながら手動もしくは自動で設定をおこなうことにすれば良く、このような単純化をおこなっても問題の本質は変わらない。
【００２１】
次に、車両運用計画作成問題を下記のように形式的に定義する。
【００２２】
車両数をn、ダイヤ数をｍ(ｎ＞ｍ)とし、ｃi(ｉ＝１,・・・，ｎ)を車両、ｄj(ｊ＝１,・・・，ｍ）をダイヤとする。また車両基地に終日在線すること（予備）を特別なダイヤの実施と考えて、それらをｄm+1,・・・，ｄnとする。さらに作業がｋ種類あり、そのうち列車検査をｗ1、長期作業をｗ2,・・・，ｗkとする。ただし、ｗkはいわゆる空の作業を意味し、これが設定されても何もおこなう必要がないとする。
【００２３】
さらに、車両の集合をＣ、予備を含めたダイヤの集合をＤ、作業の集合をＷとすると、車両の運用割り当てとは、下記に示す割り当て関数ｆを構成することである。
【００２４】
【数１】
ｆ：Ｃ→Ｄ×Ｗ
ただし、∀ｃj∀ｃj(ｉ,ｊ＝１,・・・，ｎ，ｃi≠ｃj)：ｆ(ｃi)＝{ｄ,ｗ}，ｆ(ｃj)＝{ｄ′，ｗ′}→ｄ≠ｄ′である。関数ｆの出力であるダイヤ（予備）と作業の対を運用と呼ぶ。
【００２５】
この割り当て関数により、予備を含めた全てのダイヤが車両に対してもれなく、重複なく割り当てられるとともに、空作業を含めた作業のいずれかひとつが割り当てられる。また、この割り当て関数は全車両の一日分の運用を決定するものであり、１週間分の運用内容を表す週間運用計画の作成は、下記に示すように作成期間の各日付に対応する１４個の要素からなる割り当て関数の集合Ｆを構成することと捉えることができる。
【００２６】
【数２】
Ｆ＝｛ｆ1,ｆ2,・・・,ｆ7｝
図４に関数ｆの出力である運用｛ｄ，ｗ｝の、計画立案に実際に用いる具体的なデータ形式を示す。項目０４０１は運用対象の車両の識別番号を表す。項目０４０２は運用を実施する日付を表す。項目０４０３は実施する運行ダイヤもしくは予備の識別記号を表し、例では図２の運行ダイヤ一覧における上から２番目のダイヤ（Ｄ２−Ｄ３）が車両０３に対して割り当てられていることを示す。項目０４０４は実施する作業を表す。作業の実施予定がない場合には、空の作業に対応するヌル文字列「―」を設定する。項目０４０５は該当作業の実施時間帯である。本実施例では説明をわかり易くするために、作業実施時間帯を昼間と夜間の二つに大きくわけ、この項目には「昼間」もしくは「夜間」のいずれかの情報を設定することにする。項目０４０６は作業の実施場所である。ちなみに図２のダイヤ２は昼間に一旦基地Ｙに入庫して、その後夕方再び出庫して営業運転をおこなう運行形態をとっているため、この運用データに組み込まれた列車検査を実際に実施可能であることがわかる。
【００２７】
列車検査以外の短期作業が存在して、それらを複数実施可能な場合には、項目０４０４，０４０５，０４０６の各項目を作業数に応じて増加することで対応する。
【００２８】
図５は運用データのイメージ形式である。運用イメージ０５０１は、図４の運用データを視覚化したものである。ラベル０５０３は作業内容を表し、ラベルが位置する時間帯において該当作業を実施することを表す。運用イメージ０５０２は、予備運用を視覚化したものである。ラベル０５０４は該当運用が予備であることと、その在線場所を示し、例では基地Ｙで終日在線することを表している。また、作業ラベルから要部検査を当日実施する予定であることが読みとれる。
【００２９】
このイメージ形式は、以降で説明する計画案の表示・修正部において、計画作成者に対する運用内容の詳細表示に利用される。
【００３０】
図６は、本実施例の車両運用計画作成支援システムが作成対象とする車両運用計画のデータ形式である。日付と車両番号をインデックスとする２次元配列の構造を持ち、配列要素は運用データへのポインタである。例えばポインタ０６０１は運用データ０６０２を指しており、「車両０３の４月１２日における運用内容は、ダイヤＤ２−Ｄ３（図２のダイヤ番号２）の運行及び列車検査を基地Ｙにおいて昼間実施することである」と読みとることができる。
【００３１】
図７は車両運用計画のイメージ形式である。データ形式と同様に日付と車両番号をインデックスとする２次元配列構造であり、配列中の各要素は一車両の一日当たりの運用内容を表す。例えば運用内容０７０１においては、上段のラベル０７０２は該当車両の担当ダイヤがＤ２−Ｄ３（図２のダイヤ２）であることを表し、下段のラベル０７０３は列車検査を車両基地Ｙにおいて実施することを意味する。車両に対して予備が割り当てられた場合には、ダイヤ名の代りに予備を意味するラベル「予」が表示される。また、運用内容０７０４は長期作業である要部検査を実施予定であることを表す。
【００３２】
このイメージ形式は、以降で説明する計画案の表示・修正部において、計画作成者に運用計画全体の概要を提示するために利用される。複数の作業を同日に実施することを許す場合に、その種類に対応するラベルを全て表示したり、車両基地を記号で表す代りに作業ラベルを基地に応じて異なる色で表示するといった、このイメージ形式を基本として、計画作成者に対して適切な情報をわかり易く提示するようための様々な工夫を施して良い。
【００３３】
実行可能な運用計画を作成するにあたっては以下に示す制約条件を遵守することが求められる。
【００３４】
１．前日実施ダイヤの最終入庫場所(前日予備ならばその在線場所)から出発するダイヤ(もしくは在線する予備)を当日割り当てる(接続条件)。
【００３５】
２．列車検査を法律で定められた規定の回帰日数以内に設定する(回帰条件)。
【００３６】
３．長期作業の計画等から得られる運用予約を遵守する。(予約条件)
予約条件における運用予約とは、運用計画の一部分を前もって指定すること、もしくはその指定された内容のことである。形式的には、ある車両ｃに対して長期作業ｗの予定が運用計画作成期間に存在する場合には、その作業を実施予定の車両基地に在線するある予備ｄを用意して、全ての作業予定日ｉに対して割り当て関数ｆiの出力を
【００３７】
【数３】
ｆi(ｃ)＝{ｄ,ｗ}
と前もって固定することである。
【００３８】
このような長期作業の作業計画から得られる運用予約以外にも、作業実施環境の変化や計画作成者の嗜好といった様々な要因から、実施ダイヤや列車検査をはじめとする短期作業の実施内容・実施場所を固定するといった運用予約も考えられる。計画立案に際しては、図の運用データを予約部分のみにつていてあらかじめ作成したものを利用する。
【００３９】
実際の車両運用業務での利用に耐え得る質の高い車両運用計画を作成するためには、前記制約条件に加えて複数の評価指標を高いレベルで充足することが求められる。評価指標の例としては以下に示すものが考えられる。
【００４０】
１．作業量が少ない
２．作業量が各車両基地毎に規定される作業容量を超えない
３．作業量の場所・日付・時間帯毎の偏りがない
４．各車両に対する予備の割り当て間隔が均等である
５．同じ入庫場所が連続しない
６．前日駅留置した車両は当日車両基地に入庫する
７．長期作業終了の翌日は営業運転をおこなう
８．全車両の走行距離が均一である
作業容量とは、実施可能な全作業の各車両基地における実施可能時間帯と同時実施可能本数を定めたものである。長期作業に関しては、運用計画作成の前段階で作業計画が作成されており、運用計画作成時に考慮すべき作業は列車検査のみであるので、前記評価指標の例における作業とは短期作業（本実施例においては列車検査のみ）を指す。
【００４１】
図８に短期作業の作業容量の例を示す。本実施例では時間帯を大きく二つに区切り、各車両基地毎にその詳細な時刻、作業所要時間、同時実施本数の設定をおこなうが、作業可能時間帯の区切りをさらに増やしてもよい。
【００４２】
項目０８０１は作業の種類を表し、例では列車検査に関する作業容量であることを示している。列車検査以外に各種清掃等を運用計画作成時に設定する必要がある場合には、図の列車検査に関する作業容量と同様な作業容量をあらかじめ作成しておき、それを利用しつつ容量条件を満たすように作業設定をおこなう。項目０８０２は、該当作業を実施する車両基地を表す。項目０８０３および項目０８０４は、それぞれ昼間と夜間の同時実施可能本数を表し、ここに示された本数を超えて作業を設定した場合に容量条件違反を生じることとなる。項目０８０５及び項目０８０６は各作業時間帯における作業の所要時間を表す。項目０８０７及び項目０８０８は、それぞれ昼間作業の最早開始時刻と最遅終了時刻を、同じく項目０８０９及び項目０８１０は夜間作業の最早開始時刻と最遅終了時刻を表す。
【００４３】
評価指標のいくつかは互いにトレードオフの関係にあるため、優先順位を考慮しながら両者を巧みにバランスさせつつ計画を作成しなければならない。また評価指標とその重みは各車両基地の車両運用の方針や計画作成者が異なればそれに応じて様々に変化するため、固定的な評価指標を前提としない柔軟な計画作成アルゴリズムの実現が不可欠である。
【００４４】
以下では本発明における車両運用計画作成の基本的考え方を説明する。
【００４５】
車両運用計画の作成目的の中で最も重要なものは運用業務の効率化であることはいうまでもないが、運用業務のパターン化も計画作成上の重要な観点のひとつである。日々の業務内容がある一定のパターンに沿っていれば、運用業務に携わる現場作業者が業務内容を苦労して一から覚える必要がなくなり、貴奥地街によるミスを大幅に減らすことができる。また例え完全なパターンかが無理であっても、業務の大部分がパターンに沿っていればパターンからの相違点に着目するだけで、業務内容を容易に理解することができる。計算機内部のタスクスケジューリングや生産分野のＦＭＳ(Ｆlexible Ｍanufacturing Ｓystem)スケジューリングといった人間が介在しないシステムのスケジューリングとは異なり、一般的に人間の利用を前提とする各種の業務スケジューリングや交通機関のダイヤ作成といったサービススケジューリングにおいては、パターン化は効率化と並ぶ重要な概念である。
【００４６】
そこで本発明においては、運用計画の作成処理を、（１）運用業務の理想的なパターンを表す運用ローテーションパターンの作成部、（２）パターンを調整しながら実際に車両に対して運用を割り付ける運用割当部、の２段階に分割して計画立案をおこなうことにより業務のパターン化を実現する。
【００４７】
図９に本実施例における運用ローテーションパターンの一例を示す。本実施例における運用ローテーションとは長期作業等の運用予約が全く存在しないと仮定した場合の１車両に対する運用のサイクリックな割り当て順序のことである。図９において、ある車両が計画作成期間の初日に運用０９０１が割り当てられたと仮定する。翌日以降において、該当車両に対して運用の割り当て順序を表す矢印に沿って、運用０９０２，０９０３，０９０４，０９０５，０９０６，０９０７，０９０８、再び戻って０９０１・・・と順次割当をおこなっていくことにより、先に挙げた制約条件のうちの接続条件と回帰条件を完全に充足することが可能となる。さらには全車両に対してこの順序に沿った運用割り当てをおこなうことで走行距離の均一化が図れるといったメリット等もあり、車両運用計画に要求される様々な評価指標を高いレベルで満足することができる。
【００４８】
運用ローテーションパターンのデータ形式を図１０に示す。一次元配列の構造を持っており、配列要素は運用データへのポインタである。要素の並びの順番が運用を割り当てていく順序に対応する。図では配列中の２番目のポインタ１００１が運用１００２を指している。各運用データは、車両番号と日付の部分にはデータを設定せず、代りに空のデータであることを意味するヌル文字列「―」等を設定する。要素数は予備を含めたダイヤの総数に等しく、それぞれの運用に含まれるダイヤ（予備）は互いに異なる。
【００４９】
パターン内部に全てのダイヤと予備が重複なく含まれていることから、運用ローテーションパターンは１車両に対する理想的な割り当て順序を表すと同時に、全車両に対する１日の運用内容をも同時に表している。従って図１１に示すように、長期作業の予定が全く無いという理想的な状況を仮定するならば、全ての車両に対して、割り当て開始位置をずらして運用ローテーションパターンを適用するだけで、高品質の車両運用計画を得ることができる。
【００５０】
当然ながら２週間にわたって長期作業の予定が全く存在しない、などという状況はほとんどなく、通常はいくつかの車両に対して、長期作業を施す必要がある。また特定の車両に対して実施ダイヤがあらかじめ指定されるといった状況もある。そうした様々な運用予約に関連する前記予約条件を満足することが求められるため、実際には運用予約との兼ね合いをとるために、運用ローテーションパターンを部分的に崩して運用割当をおこなう必要がでてくる。この処理をおこなうのが前記ローテーションパターンの調整であり、まず運用予約のある車両に対して、該当運用を強制的に割り当ててしまい、残りの車両に対しては、ローテーションパターンをなるべく崩さないように、なおかつ制約条件に違反しないように調整を施しながら運用割当をおこなう。このようにして得られた車両運用計画は、理想的な運用ローテーションパターンに相似した高品質な計画案となる。
【００５１】
以下では、図１を用いて本発明の構成各部を計画立案の流れに沿って説明する。
【００５２】
まず運用ローテーションパターン探索部０１１１の概要を図のフローチャートを用いて説明する。本実施例においては、遺伝的アルゴリズム（Ｇenetic Ａlgorith、以下ＧＡ）の枠組を用いて探索アルゴリズムを構成するが、線形計画法（ＬＰ）、局所探索法、局所探索法の改良アルゴリズムであるタブー探索法やアニーリング法といった、外部変更可能な評価指標を利用する他の反復改良型アルゴリズムを利用しても良い。
【００５３】
ステップ１２０１では世代数カウンタｉを１に初期化する。ステップ１２０２ではＧＡの遺伝的操作の対象となる染色体群の生成をおこなう。染色体構造は、運用ローテーションパターンにおける運行ダイヤと予備の並び（順序）を直接的に反映する順序表現を用いる。図１３に染色体のデータ形式を示す。運行ダイヤと予備の合計数をＮとすると、染色体はＮ個の数値から構成される一次元配列である。ただし配列中のｉ番目の要素ｑiは、１＜＝ｑi＜＝Ｎ−ｉ＋１を満たす整数値である。
【００５４】
各ダイヤもしくは予備に対して１〜Ｎの番号を重複なく与え、ｄi(１＜＝ｉ＜＝Ｎ）は番号ｉのダイヤもしくは予備を表すものとすると、図１４にフローチャートを示す順序表現変換手続きを用いて、染色体（順序表現）から運行ダイヤと予備の並びを得ることができる。
【００５５】
まずステップ１４０１において、並べ替えの対象となる運行ダイヤと予備を番号順に並べたシーケンスＳ１を用意する。ステップ１４０２では、並べ替えの結果を格納するための空のシーケンスＳ２を生成する。ステップ１４０３では、染色体から要素を取り出すためのインデックスｉの値を１に初期化する。このステップ１４０１から１４０３までは並べ替えの前処理である。
【００５６】
次にステップ１４０４において、染色体（順序表現）からインデックスｉを用いて要素qiの値を得、さらにそれをインデックスとしてシーケンスＳ１の先頭からqi番目の要素を取り出す（取り出した要素はＳ１から削除）。そしてその値をシーケンスＳ２の最後尾に付加する。ステップ１４０５ではインデックスｉの値を１増やし、ステップ１４０６において処理の終了判定をおこなう。ｉが全要素数Ｎを超えた場合には処理を終了する。最終的に得られたシーケンスＳ２が運用ローテーションパターンにおけるダイヤと予備の並びである。ｉがＮ以下の場合にはステップ１４０４に再び戻り処理を繰り返す。
【００５７】
図１２に戻り説明を続ける。ステップ１２０２において生成する染色体の数は図１５にデータ形式を示す探索パラメータにおける項目１５０１により規定される。
【００５８】
次にステップ１２０３では、生成した各染色体から運用ローテーションパターンの構成をおこなう（デコード処理）。処理の概要は、（１）図１４の順序表現変換手続きを用いてダイヤと予備の並びを得、（２）その順序に従って並べたダイヤと予備に対して、回帰条件を満足するように列車検査を設定していく、というものである。
【００５９】
図１６のフローチャートを用いてデコード処理の流れをさらに詳しく説明する。ステップ１６０１では、各染色体毎に図で示した順序表現変換手続きを用いてダイヤと予備の並びを構成する。ステップ１６０２ではダイヤと予備の並びにおける着目位置を示す位置変数ｉを１に初期化する。ステップ１６０３では、変数ｉを開始位置としてダイヤと予備の並びに対して回帰日数（３日）の間隔で列車検査を設定していく。ｉを１づつ増やしていき、途中で列車検査を設定できないダイヤもしくは予備に遭遇した場合には処理を終了してステップ１６０４へ進む。ｉがダイヤと予備の総数を超えた場合には、列車検査が設定されたダイヤと予備の並びを図の運用ローテーションパターンのデータ形式に変換して最終結果として出力し全体の処理を終了する。
【００６０】
これ以降のステップではステップ１６０３で回帰日数の間隔で列車検査を設定できなかった際の代替策として、列車検査を設定可能なダイヤもしくは予備を後ろ向きに検索し、その結果見つかった要素に対して検査を設定する（バックトラック処理）。ステップ１６０４では、位置保存用の変数ｘにｉの値を格納する。ステップ１６０５では、変数ｉの値を開始位置として並びを後ろに辿り、列車検査を設定可能なダイヤもしくは予備を探していく。そのような要素が見つかるか、既に列車検査を設定済みの要素にまで戻るか、並びの先頭まで戻った場合に処理を終了する。ステップ１６０６では、先のステップで列車検査を設定可能な要素を見つけたかどうかを判定する。見つかった場合にはその要素に列車検査を実際に設定し、ステップ１６０９に進みｉの値を１増やしてステップ１６０３へ戻る。設定可能な要素が見つからなかった場合にはステップ１６０７に進み、位置変数の値をバックトラック処理の開始地点の次に設定しステップ１６０３へ戻る。
【００６１】
列車検査が設定可能かどうかの判定は、該当ダイヤもしくは予備における在線車庫、在線時間帯を調べ、該当車庫の作業容量とそれまでの検査設定本数を比較することによりおこなう。
【００６２】
この処理では、回帰日数の間隔で列車検査を設定できない場合にはバックトラックをおこない回帰日数以内での設定を試みるが、それが失敗して回帰日数をオーバー(不正な運用ローテーションパターンが発生）してしまうこともあり得る。  図１２に戻り運用ローテーションパターン探索部の説明を続ける。ステップ１２０４ではステップ１２０３で得られた運用ローテーションパターンに対して、接続条件と回帰条件のふたつの制約条件とあらかじめ設定した様々な評価指標の充足度のチェックをおこなう。各制約条件及び評価指標に対してあらかじめ評価関数を設定しておき、評価の際にそれらを運用ローテーションパターンに適用して関数値を得て、それらの全ての加重和をとり評価値を算出する。
【００６３】
【数４】
0003928268.tif 000002
【００６４】
各制約条件と評価指標の評価関数は、完全に充足している場合には値が０で、充足度合が低くなるにつれて値が増加するペナルティ関数であること唯一の条件とする。例えば、評価指標「検査設定本数が少ない」に対しては下記に示す関数を与えることができる。
【００６５】
【数５】
Ｆ検査本数(ｒ)＝（ｒの検査設定本数）−（最低検査本数）
ここで最低検査本数＝車両総数／回帰日数
評価値算出用の評価関数とその重みは、図１７に示すパターン評価指標としてまとめられる。項目１７０１は制約条件を含む評価指標の名前である。項目１７０２は評価指標が有効かどうかを示す論理値であり、Ｔrueであれば有効、Ｆalseであれば無効をそれぞれ意味する。項目１７０３は各指標の重みを表しており、有効な評価指標全ての重みの総和が１になるように設定される。無効な評価指標に対しては、値がないことを示す特別なヌル文字「―」等を設定する。項目１７０４は評価関数に対応する処理ルーチンへのポインタである。運用ローテーションパターンの評価時にはこのパターン評価指標を参照し、有効な指標を全て用いて数式に対応した処理をおこない評価値を算出する。
【００６６】
図１２に戻り運用ローテーションパターン探索部の説明を続ける。ステップ１２０５では、世代数カウンタｉの値を１増やす。ステップ１２０６では処理の終了判定をおこなう。世代数カウンタｉが図１５の探索パラメータにおける項目１５０４の世代数を超えた場合には、最終世代で得られた運用ローテーションパターンを出力して処理を終了する。そうでない場合には、ステップ１２０７へ進み染色体群に自然淘汰処理を施す。本実施例においては各染色体の評価値を参照し、全ての染色体の中で評価値の低いものから順に、図１５の探索パラメータにおける項目１５０２の淘汰率に示した割合で染色体を削除する。
【００６７】
ステップ１２０８では、染色体群に対して交叉処理を施す。本実施例においては、自然淘汰で残った優秀な染色体からランダムに２個の染色体を選択し、両者を親としてオーソドックスな一点交叉により新たな染色体を生成する。一点交叉とは、親染色体をシーケンス上の任意の一点で切断して後方のシーケンスを互いに交換する処理である。
【００６８】
ステップ１２０９では、染色体群に対して突然変異処理を施す。図１５の探索パラメータにおける項目１５０３の変異率に従って、染色体の遺伝子を確率的に変化させる。染色体の遺伝子長（ダイヤと予備の総数）をＮとすると、致死遺伝子をの出現を防ぐために、染色体を表すシーケンスのｉ番目の遺伝子ｑiを変更する場合には、その範囲を１＜＝ｑi＜＝Ｎ−ｉ＋１に制限する。
【００６９】
以下再びステップ１２０３に戻り処理を繰り返す。
【００７０】
図１に戻り本発明の全体構成の説明を続ける。運用ローテーションパターン探索部０１１１の実行結果として得られる運用ローテーションパターン０１０５は、運用ローテーションパターン評価・修正部０１１２に入力されて計画作成者によるチェックを受ける。処理開始時点では、得られた運用ローテーションパターンの中で最も評価値の高い（すなわち最も質の高い）ものに対して、パターン中の各運用を図の運用データのイメージ形式に変換し、パターンの順序通りに表示装置に出力する。マウスなどのポインティングデバイスやキーボード等の入力装置を用いて他の運用ローテーションパターン指定して表示装置に出力することもできる。
【００７１】
この処理ブロックは、計画作成者によるパターンの評価・修正のための様々な情報提供機能と手動介入機能を備える。まず、表示装置に出力されている運用ローテーションパターンの制約条件と評価指標の充足程度を評価情報として数値化して表示装置に出力することができる。図１８に評価情報の一例を示す。各項目は図のパターン評価指標における評価項目に対応しており、項目１８０１は接続条件違反がないことを、項目１８０２は回帰条件違反が１件あることを、項目１８０３は設定した検査の数が３回であることを、項目１８０４はパターン中の運用の並びにおける予備運用の出現間隔のばらつき具合が標準偏差で２.０日であることを、項目１８０５は昼入庫をおこなう運用の同じく出現間隔のばらつき具合が０.７１日であることを、項目１８０６は車庫・時間帯についてバランス良く列車検査が設定されているかどうかを示す指数が５.４１％(小さいほどバランスが良い）であることを、それぞれ表す。
【００７２】
計画作成者は運用ローテーションパターンと共に、上記評価情報を合わせて用いることにより、探索結果検証を迅速かつ的確におこなうことが可能となる。また、本処理ブロックは評価項目の追加・削除や重みの変更といった各種調整をおこなう機能を備えており、これにより評価指標を変更して後にあらためて運用ローテーションパターンの探索をやりなおすといったことも可能である。
【００７３】
図１９は評価指標調整機能のインターフェース例である。チェックマーク１９０１は、対応する評価項目が有効であることを示している。チェックマークが表示されている領域を囲む四角形の任意の位置をマウス等のポインティングデバイスで押下することにより、チェックマークの表示・非表示を切り替えることができる。ある評価項目をはずして運用ローテーションパターンを評価する場合には、該当評価項目に対応するチェックマークを非表示に設定すると、図のパターン評価指標中の該当項目の有効フラグがＦalseに変化する。ゲージ１９０２は、対応する評価項目の重みを視覚的にわかり易く表示する。三角マーク１９０３の位置で現在の重みの大きさを表す。マウスなどのポインティングデバイスを用いて三角マークをスライドさせることにより重みを変化させることができる。そのスライドの度合に応じて図のパターン評価指標中の重みの値が変化する。
【００７４】
上記の評価指標調整機能に加えて、探索パラメータを計画作成者が調整する機能も備えている。これは図１５の探索パラメータを表示装置に出力し、計画作成者がマウスやキーボード等の各種入力装置を利用してダイレクトに値を変更するインターフェースを提供することで実現する。
【００７５】
評価指標や探索パラメータを調整して何度も探索をやりなおすことにより、計画作成者が試行錯誤を繰り返しつつ作成者自身の意図に合った運用ローテーションパターンを作成することができる。最終的に作成者の承認を受けたパターンは、以降の運用ローテーションパターン調整部(計画作成部)で利用するデータとしてシステム内に登録される。場合によっては計画作成者の指示を受けてプリンタ等に帳票形式で印刷される。
【００７６】
図１に戻り本発明の全体構成の説明を続ける。運用割当部０１１３では、運用ローテーションパターン評価・修正部０１１２を経て計画作成者の承認を受けた運用ローテーションパターンを利用して一定期間分の車両運用計画を作成する。
【００７７】
図２０に本ブロックの処理概要を示す。作成初日を開始地点として各車両に対する運用割当を日付に沿って順次おこなっていく。各日ごとの計画作成は、該当日の計画の雛型を作成する処理Ａと、その結果に対して調整を施す処理Ｂの２段階の処理からなる。
【００７８】
処理Ａの概要は以下の通りである。
【００７９】
１．ローテーション順の運用割当
各車両に対して、前日に割り当てられた運用のローテーションパターン内での位置を調べ、その次に位置する運用を順次割り当てる。
【００８０】
２．運用振り替えによる運用予約との整合性確保
当日に運用予約がある車両は、単純にローテーションに従って運用を割り付けると予定の運用とは全く異なる運用が割り付けられることになる。そこで一旦ローテーションどおりの割当をおこなった後に、運用予約がある車両に対して割り当てられた運用と本来設定すべき運用を振り替える。これにより運用予約との整合性を確保する。
【００８１】
上記処理により、理想的な運用ローテーションパターンをできるだけ崩さずに運用予約との整合性がとれた車両運用計画を作成することができる。しかしながら、部分的にでもローテーションパターン順の運用割り当てを崩した結果、ローテーションパターンが満たしていた制約条件や評価指標の一部が未充足になってしまうため、このままでは実際の運用業務に使用することができないものとなる。
【００８２】
そこで上記処理Ａに加えて、各日ごとの運用割り当てにおいて、制約違反の解消や評価指標の充足度向上を目的とする様々な調整ロジックを適用することにより、実運用での使用に耐えうる高レベルの車両運用計画の作成を実現する（処理Ｂ）。図２１に調整ロジックのデータ形式を示す。項目２１０１はロジックの名称を表す。項目２１０２はロジックの適用順序を設定するフィールドであり、数値の小さいものから順番に処理を実行する。接続違反解消及び回帰違反解消のふたつの調整ロジックは必須のロジックであり、他のロジックを適用する前に処理を実行する。それらに対応する適用順序の項目には、空のデータを表すヌル文字「―」等を設定する。項目２１０３は、調整ロジックの処理ルーチンへのポインタである。
【００８３】
処理Ｂは、まず必須の制約充足用ロジックにより制約違反の解消をおこなった後に、適用順序に従って品質向上用ロジックを順次適用していく。調整ロジックによっては、当日のみの調整では目的を達成できない場合に前日以前に戻って割り当て済みの部分を再作成するものもある。
【００８４】
図２２のフローチャートを用いて運用割当部の処理の概要を説明する。まずステップ２２０１では日付変数ｉの値を０に初期化する。ステップ２２０２では、第ｉ日目のローテーション割り当て及び運用振り替え、すなわち上記処理Ａを実施する。次にステップ２２０３において計画案の第ｉ日目の調整処理、すなわち上記処理Ｂを実施する。本実施例では、制約違反解消用のふたつの調整ロジックに加えて、品質向上用の検査間隔均等化ロジックを適用するものとして以降の説明を進める。
【００８５】
処理Ｂでは、まずステップ２２３１において接続違反解消ロジックを適用するが、その処理の概要を図２３のフローチャートを用いて説明する。まずステップ２３０１では、前処理として全ての車両を含むリストを作成する。ステップ２３０２では処理の終了判定をおこない、車両リストの要素数が０であれば、処理を終了する。そうでない場合にはステップ２３０３に進み、リストの先頭要素の車両（hu）を取りだし、なおかつその車両の第ｉ日目の割り当て運用（ocio）を取得する。ステップ２３０4では運用ocioに関わる制約条件の検出をおこない、ステップ２３０５において検出結果の中に接続条件違反が含まれるかどうかを判定する。接続違反がない場合にはステップ２３１０に進み、車両リストから車両huを削除してステップ２３０２へ再び戻る。接続違反がある場合には他の運用との振り替えにより違反の解消をこころみるため、まずステップ２３０６へ進み同じ日の他の運用から振り替え候補を検索する。
【００８６】
接続違反が生じるのは、翌日運用予約があり、その朝出庫場所（予備運用の場合は在線場所）と運用ocioの夜入庫場所（予備運用の場合は在線場所）が異なる場合である。したがって検索条件は、
１．朝出庫場所が運用ocioと等しい
２．翌日に予約された運用の朝出庫場所と夜入庫場所が等しい
上記２点である。
【００８７】
これらの条件を満たす運用と運用ocioを交換することにより、車両huの接続違反が解消される。これによりあらたな接続条件違反は生じない。そこでステップ２３０７で候補の存在の有無を判定し、候補がある場合にはステップ２３０８に進み候補運用と運用ocioを交換して接続条件違反を解消する。その後はステップ２３１０に進み車両リストから車両huを削除してステップ２３０２へ再び戻る。
【００８８】
運用検索により候補が見つからなかった場合はステップ２３０９へ進む。ここでは計画案に対して前日以前に戻って修正を施すことにより接続条件違反の解消を試みる。この処理をバックトラック処理と呼ぶことにする。
【００８９】
図２４はバックトラック処理の作成イメージである。一日単位の運用振り替えでは、接続違反を解消できない場合には、連続する数日分の運用をまとめて交換することにより違反の解消を実現する。着目する日付を第ｉ日とすると、そこから一日づつ後ろへ戻りながら、下記の条件を満たす交換可能な運用の部分系列を探していく。
【００９０】
１．部分系列の先頭の運用の朝出庫場所（予備運用ならば在線場所、以下同様）が、違反を生じた車両の部分系列における先頭運用の朝出庫場所と等しい
２．部分系列の最後の運用の夜入庫場所（予備運用ならば在線場所）が、翌日の予約運用の朝出庫場所（予備運用ならば在線場所）と等しい
これらの条件を満たす運用の部分系列と違反を生じた車両の同じ期間の部分系列をそっくり交換することにより、接続違反を解消することができる。またこれによりあらたな接続違反が生じることはない。
【００９１】
このバックトラック処理の概要を図２５のフローチャートを用いて説明する。車両carの第i日目の運用ocioが接続違反をおこし、振り替え候補が存在しない場合を想定する。まずステップ２５０１において日付カウンタｊの値をｉ−１に初期化する。ステップ２５０２では車両carの第ｊ日目の運用（これをop1とする）を取得し、さらに車両carを除く全ての車両から第ｊ日目の運用を取得してリストを作成する（ＯpList）。次にステップ２５０３においてＯpＬistから交換候補の運用を検索し、その結果を集めてリスト（ＲesultＬist）を構成する。検索条件は、（１）朝出庫場所がop1と等しい運用、である。
【００９２】
この検索結果の判定をステップ２５０４でおこなう。候補がひとつもない場合には、さらに前日に戻って違反解消処理をおこなうためにステップ２５０５へ進みｊ＝ｊ−１とする。そしてステップ２５０６で処理の終了判定をおこなう。ｊ＜０（すなわち作成初日を下回る）ならば処理を終了する。そうでなければ、再びステップ２５０２へ戻り処理を繰り返す。交換候補が存在する場合にはステップ２５０７へ進む。ここでは交換候補に対応する車両をそれぞれ取得し、さらにそれらの車両の第ｉ日目の運用を取得してリストを作成する（ＯpＬist2）。
【００９３】
次にステップ２５０８においてＯpＬist2を対象として交換候補の運用を検索する。この場合の検索条件は、（２）夜入庫場所（予備運用ならば在線場所）が、車両carの第ｉ＋１日目の予約運用の朝出庫場所（在線場所）と等しい、である。検索の結果得られた候補運用をリスト化し、ステップ２５０９においてその先頭要素に対応する車両と車両carのそれぞれｊ日〜ｉ日の間の全ての運用を互いに交換する。これにより接続違反が解消され処理が終了する。
【００９４】
図２３のフローチャートに戻り接続違反解消ロジックの説明を続ける。ステップ２３０９においてバックトラック処理により接続違反を解消した後に、ステップ２３１０で車両リストから車両huを削除して再びステップ２３０２へ戻り処理を繰り返す。
【００９５】
図２２のフローチャートに戻り運用割当部の処理Ｂの説明を続ける。次にサブステップ２２３２において回帰違反解消ロジックを計画の第ｉ日目に適用する。この処理の概要を図２６のフローチャートを用いて説明する。
【００９６】
まずステップ２６０１では、前処理として全ての車両を含むリスト（ＣarＣopyＬist）を作成する。ステップ２６０２では処理の終了判定をおこない、車両リストの要素数が０であれば処理を終了する。そうでない場合にはステップ２６０３に進み、リストの先頭要素の車両（hu）を取りだし、なおかつその車両の第ｉ日目の割り当て運用（ocio）を取得する。ステップ２６０４では運用ocioに関わる制約条件の検出をおこない、ステップ２６０５において検出結果の中に回帰違反が含まれるかどうかを判定する。回帰違反がない場合にはステップ２６０６に進み車両リストから車両huを削除してから、再びステップ２６０２に戻り処理を繰り返す。回帰違反が存在する場合には他の運用との振り替えにより違反の解消をこころみるため、まずステップ２６０７へ進み同じ日の他の運用から振り替え候補を検索する。
【００９７】
運用振り替えの候補となる運用の条件は下記の４点である。
【００９８】
１．朝出庫場所が運用ocioと等しい
２．運用ocioの翌日に運用予約が設定されている場合はその朝出庫場所（在線場所）と夜入庫場所が等しい。
【００９９】
３．翌日に運用予約が設定されていない
４．回帰日数を下回る間隔で列車検査が設定済みである
条件（４）は、例えばある車両が最後に列車検査を受けたのが２日前で、当日列車検査が設定されているといった、設定間隔が回帰日数（３日）ちょうどではない場合が該当する。これらの条件を満たす運用と運用ocioを交換することにより、車両huの回帰違反が解消される。またあらたな接続条件違反が生じることはない。
【０１００】
そこでステップ２６０８で候補の存在の有無を判定し、候補がある場合にはステップ２６０９に進み、候補運用の中で一つ前の列車検査の実施からの経過日数が最も少ないものと運用ocioを交換する。その後はステップ２６０６に進み車両リストから車両huを削除してステップ２６０２へ再び戻る。
【０１０１】
ステップ２６０８において振り替え候補の運用が存在しない場合は、まずステップ２６１０で現在の運用ocioに列車検査を直接設定可能かどうかを判定する。列車検査が設定可能かどうかの判定は、運用ocioにおける在線車庫、在線時間帯を調べ、該当車庫の作業容量とそれまでの検査設定本数を比較することによりおこなう。
【０１０２】
このステップで列車検査を設定可能と判定された場合にはステップ２６１１に進み、運用ocioに対して実際に列車検査を追加設定して回帰違反を解消する。その後はステップ２６０６に進み車両リストから車両huを削除してステップ２６０２へ再び戻る。
【０１０３】
列車検査を設定することができない場合には、列車検査を設定可能な運用を他の車両から探し、その運用と運用ocioを振り替えて列車検査を設定することにより回帰違反の解消を図る。そこでまずステップ２６１２に進み、振り替え候補の運用の検索をおこなう。その際の検索条件は４点あり、そのうちの３点はステップ２６０７における条件（１）から（３）までと同じである。残りのひとつは、（４）列車検査が未設定でなおかつ設定可能、というものである。
【０１０４】
ステップ２６１３は検索結果の判定をおこなう。候補が見つかった場合にはステップ２６１４に進み候補と運用ocioを交換し、さらに列車検査を追加設定することで回帰違反を解消する。その後はステップ２６０６に進み車両リストから車両huを削除してステップ２６０２へ再び戻り処理を繰り返す。候補が存在しない場合には回帰違反の解消をあきらめ、ステップ２６０６に進み車両リストから車両huを削除してステップ２６０２へ再び戻り処理を繰り返す。ここで前日以前に戻って計画を修正するといった、回帰違反を解消するための別の処理を加えても良い。
【０１０５】
図２２のフローチャートに戻り運用割当部の処理Ｂの説明を続ける。次にサブステップ２２３３において列車検査間隔均等化ロジックを計画の第ｉ日目に適用する。この処理は、各車両に対する列車検査の実施間隔をできるだけ均等にするための調整ロジックである。具体的には、ｉ日目において、経過日数が少ないのに列車検査が設定されている車両の運用と、それより経過日数が多いが列車検査が設定されていない車両の運用を交換することにより、列車検査の実施間隔の均等化を図る。
【０１０６】
列車検査間隔均等化ロジックの処理の概要を図27のフローチャートを用いて説明する。まずステップ２７０１において経過日数カウンタｊと車両カウンタｋの値をそれぞれ０に初期化する。次にステップ２７０２において第ｉ日目における車両ｋの運用（ocioとする）を取得し、さらに前回列車検査を実施してから当日までの経過日数（after_days）を算出する。ステップ２７０３では先に算出した経過日数がカウンタｊに等しく運用ocioが列車検査が設定されているかどうかを判定する。
【０１０７】
この結果がＮoの場合は、まずステップ２７０４に進み車両数カウンタｋの値を１増やす。次にステップ２７０５においてｋの値と車両総数を比較し、ｋが車両総数を超えていないならば、ステップ２７０２に再び戻り処理を繰り返す。ｋが車両総数以上ならばステップ２７０６に進み経過日数カウンタｊの値を１増やす。ステップ２７０７ではｊの値と列車検査の回帰日数を比較し、ｊが回帰日数を超えていないならばステップ２７０２に再び戻り処理を繰り返す。ｊが回帰日数以上であれば列車検査間隔均等化ロジックの処理を終了する。
【０１０８】
ステップ２７０３の条件判定処理に戻り説明を続ける。この判定結果がＹesの場合には、まずステップ２７０８に進み車両カウンタｌの値を０に初期化する。次にステップ２７０９において、第ｉ日目の車両ｋ(ｋ＜＞ｌとする）の運用（dest）を取得し、さらに前回列車検査を実施してから当日までの経過日数（after_days2）を算出する。ステップ２７１０において、運用ocioとdestの振り替え可能性を判定する。判定条件は、
１．after_daysよりafter_days2の方が大きい
２．運用ocioと運用destは朝出庫場所（在線場所）が等しい
３．運用ocioと運用destの少なくともどちらかが翌日運用予約ありならば、夜入庫場所（在線場所）が等しい
４．運用destは列車検査未設定
である。
【０１０９】
この判定結果が偽（すなわち振り替え不可能）となった場合には、ステップ２７１１に進み車両カウンタｌの値を１増やし、ステップ２７１２でループの終了判定をおこなう。ｌの値が車両総数を超えていないならば再びステップ２７０９へ戻りループを繰り返す。ｌの値が車両総数以上であればステップ２７０４に進む。それ以降の処理の流れは前記したとおりである。ステップ２７１０の判定結果が真となった場合には、ステップ２７１３に進み実際に運用ocioと運用destを振り替える。その後はステップ２７０４に進み、前記したとおりに処理を繰り返す。
【０１１０】
本実施例においては、列車検査間隔均等化ロジックを適用して処理Ｂを終える。処理Ｂは接続違反解消と回帰違反解消のふたつのロジックを含むことが最低限要求されるが、それ以外に関しては計画作成対象の鉄道路線の実情に応じた調整ロジックを自由に組み込めるものとする。その数や適用順序に関しても同様に計画作成状況に応じて柔軟に設定する。
【０１１１】
図２２のフローチャートに戻り運用割当部の処理の説明を続ける。ステップ２２０４では日付変数ｉの値を１増やし、次のステップ２２０５で処理の終了判定をおこなう。ｉの値が作成日数を下回る場合には翌日部分の運用割当をおこなうために再びステップ２２０２へ戻り処理を繰り返す。ｉの値が作成日数以上となった場合には、それまでに運用割当をおこなって得られた車両運用計画を最終結果として出力して処理を終了する。
【０１１２】
図１に戻り本発明の全体構成の説明を続ける。運用割当部０１１３の実行結果として得られる車両運用計画案は、計画案評価・修正部０１１４に入力されて計画作成者によるチェックを受ける。計画案は図７の車両運用計画のイメージ形式に変換されて表示装置に出力される。車両数が多い、作成期間が長いなどといった原因のために標準サイズでは計画案の一部分しか表示できない場合には、表示倍率を変更することにより、任意の大きさで計画案全体を表示することができる。また、逆に計画案の特定の部分のみを拡大して表示することも可能である。
【０１１３】
本処理ブロックは、この計画案全体を表示する機能に加えて、計画作成者が計画案を様々な角度から検証するための各種情報を提供する（１）運用詳細表示、（２）作業量表示、（３）運用検索、の３つの情報提供機能を備えている。さらには、自動作成された計画案に対して計画作成者が修正を加えるための（１）作業設定、（２）運用交換、（３）運用変更、の３つの手動介入機能を備えている。
【０１１４】
まず、情報提供機能のひとつである運用詳細表示機能について図２８の例を用いて説明する。この機能は、計画案が表示装置に出力されている状態で、マウス等のポインティングデバイスを用いて特定の運用のマス目を指定することにより、該当運用の詳細な内容を表示するものである。図２８の表示部分２８０１は、該当運用の日付および担当する車両番号を示す。表示部分２８０２は図５の運用データのイメージ形式であり、該当運用の視覚的イメージを計画作成者に提示する。表示部分２８０３は該当運用において実施する作業を示すものであり、例では「列車検査を基地Ｙにおいて昼間実施する」と読みとることができる。
【０１１５】
一日の中で複数の作業（各種清掃等）を組み合わせて実施する場合には、全ての予定作業をリスト形式で表示する。表示部分２８０４は各作業の前回実施日からの経過日数を示す。例では「要部検査は１８４日、列車検査は３日、それぞれ経過した」と読みとることができる。表示部分２８０５は、計画案の該当運用に関係する制約条件違反を示す。例では、車両０１は前日の運用で基地Ｘに入庫したにも関わらず、当日基地Ａから出庫するダイヤＤ２が割り当てられているために、接続条件違反をおこしているということが読みとれる。違反が複数ある場合には、それらをリスト化して表示するものとする。計画案全体を表示させて全体の概要を掴むと同時に本機能を用いて各運用の詳細を確認することができるため、計画案の把握を容易にできる。
【０１１６】
次に、作業量表示機能について図２９の例を用いて説明する。本機能は表示装置に計画案全体が表示されている状態で、任意の日付部分をマウス等のポインティングデバイスを用いて指定することにより起動される。ボタン２９０１を押下することにより、表示部分２９０２は該当日における全作業の実施予定総本数が表示される。この中の特定の作業を指定してボタン２９０３を押下することによって、該当作業の各車両基地毎の内訳を表示することができる。例では列車検査の内訳が表示部分２９０５に示されており、「基地Ｘでは昼間１本夜間０本、基地Ｙでは昼間１本夜間１本実施予定」と読みとることができる。ボタン２９０６もしくはボタン２９０７をマウス等で押下することにより、それぞれの車両基地毎の作業予定数が表示部分２９０２に全体本数の場合と同様に表示される。
【０１１７】
図３０は作業量表示機能の別の例であり、先の例がある特定の日における作業情報を計画作成者に提示するのに対して、本機能では計画作成期間全体にわたる各作業の実施量・場所・時間帯の推移をグラフとして示すものである。
【０１１８】
ラベル３００１は情報を表示する作業名を示す。図３０の例では列車検査の情報を表示することが読みとれる。この部分に他の作業名を直接入力したり、リストから選択するなどして表示する情報を切替えることができる。作業情報はグラフ３００２に表示される。これは横軸が日付、縦軸は実施本数の棒グラフであり、実施場所と時間帯が異なる作業を異なる記号（●×等）で表示する。
【０１１９】
作業量表示機能を用いることにより、複数の車両基地で分散して実施される各種作業の内容を包括的に捉えることができると共に、特定の作業に関してその実施場所、時間帯、日付のばらつき具合を視覚的に把握することができるため、作業量・作業内容の側面からの計画案の検証を容易に進めることが可能となる。
【０１２０】
次に、運用検索機能について説明する。本機能は計画作成者による手動修正を支援するための情報提供機能である。後述する運用検索機能や運用変更機能を用いて計画案の修正をする際には、計画作成者はある車両に対して、設定したいと思う運用の理想形を頭の中に描き、それに合うものを計画案の中から探して修正を進めることとなるが、車両数が非常に多くなると適切な運用を効率的に探し出すことが著しく困難になり、作成者にとって相当な負担となる。そこで運用検索機能を用いることにより、求める運用の検索を自動的かつ高速におこなうことで、計画作成者による修正作業の効率を大幅に向上することができる。
【０１２１】
図３１は検索機能の実行結果の一例である。表示部分３１０１には検索の結果、条件にマッチした運用がリストとして表示される。例では４個の運用が表示されている。結果のひとつをマウス等のポインティングデバイスで指定してから、ボタン３１０２を押下することにより前記運用詳細表示機能が起動し、該当運用の内容が計画作成者に提示される。
【０１２２】
計画作成者は運用検索時の検索条件を設定することができる。その条件としては、
１．運転種別（ダイヤ運行か予備か）
２．朝入庫・夜出庫の場所とその時間帯
３．昼入庫の有無とその時間帯
４．特定作業の可能・不可能の指定
５．特定作業の設定・未設定の指定
等が考えられる。検索条件設定用インターフェースの例として、図３２に示す入出庫条件設定インターフェースについて説明する。
【０１２３】
設定項目３２０１は目的運用の昼入庫の有無を設定する部分である。（１）昼入庫がある、（２）昼入庫がない、（３）どちらでもよい、という３種類の指定が可能であり、マウス等のポインティングデバイスを用いてどれかひとつを指定する。例では「昼入庫あり」を検索条件として指定しいることが読みとれる。設定項目３２０２は、朝出庫場所を設定する部分である。特定の場所から出庫する運用を探したい場合には、例に示すようにマウス等を用いてチェックマークを表示し、その名前を直接入力するかリストから選択するなどして表示させる。
【０１２４】
例では、基地Ｙから出庫する運用を指定していることが読みとれる。この項目を設定しない（すなわち朝出庫場所がどんな運用でも良い）場合には、チェックマークを非表示にする。設定項目３２０３及び設定項目３２０４は、それぞれ昼在線場所と夜入庫場所の設定部分であり、操作方法は朝出庫の設定と同じである。例では、昼在線場所は特定せず駅Ｂに入庫する運用を指定していることがわかる。
【０１２５】
こうした設定用インターフェースを各検索条件毎に提供する。これらを用いて条件のカスタマイズをおこない、再検索を繰り返し実行することにより、計画作成者が意図する理想的な運用を計画案の中から効率的に見つけることが可能となる。
【０１２６】
以下では、計画案を修正するための３つの手動介入機能についてそれぞれ説明する。まず、運用の作業予定を変更するための作業設定機能を図３３を用いて説明する。本機能は、計画案において任意の運用を指定した後に起動される。ボタン３３０１とボタン３３０２はそれぞれ設定対象の時間帯を切替えるために用いられる。図３３ではボタン３３０１を押下して昼間の作業時間帯を設定している。運用によっては作業時間帯のどちらか（もしくはどちらも）が存在しない場合があるが、そうした場合には存在しない作業時間帯に対応するボタンは表示されないものとする。
【０１２７】
ラベル３３０３は設定場所を表し、図３３では基地Ｘでの作業設定であることが読みとれる。ラベル３３０４は該当作業時間帯の時刻とその時間間隔を表す。図３３では、１０時１０分から１７時４０分までの４５０分間であることが読みとれる。作業リスト３３０５は該当作業時間帯に追加設定可能な作業をリスト化して表示する。作業リスト３３０６は、該当作業時間帯に既に設定済みの作業をリスト化して表示する。
【０１２８】
作業を追加設定する場合には、作業リスト３３０５から目的の作業を選択し、追加ボタン３３０７を押下することによりその作業が作業リスト３３０５から作業リスト３３０６へ移動する。逆に設定済の作業を運用から削除する場合には、作業リスト３３０６から目的の作業を選択した後に削除ボタン３３０８を押下することにより、該当作業が作業リスト３３０６から作業リスト３３０５へ移動する。
【０１２９】
作業を追加設定したことにより、作業容量や作業時間をオーバーしたり、作業を削除したことにより回帰違反をおこすといった作業設定による状況変化が生じた場合には、ラベル３３０９にその旨のメッセージを表示する。図３３では列車検査を追加設定したことにより、作業容量をオーバーしたことが読みとれる。本機能による作業設定の変更は、計画データに即座に反映され、それに応じて計画案全体の表示や運用の詳細表示等が即座に更新される。制約条件違反が生じた場合には、計画案の該当部分に対する色付け等による通知がおこなわれる。
【０１３０】
次に計画案の任意の日付におけるふたつの運用を交換する運用交換機能について説明する。計画作成者による計画案の修正方法としては様々なものが考えられるが、現在最も一般的で頻繁におこなわれるのは、２つの編成の運用を交換する操作である。例えば車両Ａに対してある特定の日に列車検査を実施したいと作成者が考えた場合、現在の編成Ａの運用に列車検査を追加設定できなければ、Ａの運用と交換可能であり、なおかつ列車検査を設定できる（もしくは設定済みの）ものを選択して交換することで計画を修正しようとする。本機能はこの修正操作の効率的な実行を目的とするものである。
【０１３１】
図３４は運用交換機能のインターフェース例である。本機能は交換したい運用を計画案の中からひとつ選択した後に起動される。予備運用、午前のみ営業運転する運用やダイヤが午前と午後の２つからなる複合型の運用に対しては運用全体の交換の他に午前のみもしくは午後のみといった半日単位の交換も可能であり、図３４のインターフェースを表示する前にあらかじめそうした指定もおこなっておくものとする。本機能の起動時に該当運用とその交換部分から候補の条件を自動的に設定して運用検索機能を実行し、その結果が表示部分３４０１に図３１の運用検索機能の表示フォーマットで示される。自動設定される条件として、交換により制約違反を生じないということが最低限求められる。その他の部分についてはシステム化対象の車両基地や路線の状況等に応じて決定する。本機能の実行時に作成者が検索条件を逐次変更することもできるため、検索を繰り返しながら相手の運用を絞り込んでいくことが可能である。
【０１３２】
表示部分３４０２には指定した交換元運用の内容が、表示部分３４０３には、検索結果の運用をひとつ選択して表示ボタンを押下することにより、該当運用の内容がそれぞれ図２８の運用詳細表示のフォーマットで示される。ふたつの運用を表示した状態で、交換ボタン３４０４を押下することにより運用交換が実施され計画データに即座に反映され、計画案全体表示や運用詳細表示が更新される。制約条件違反が生じた場合には該当部分の色づけやコメント表示により警告が発せられる。一旦交換した運用を元に戻したい場合には、取消ボタン３４０５を押下することにより、即座に修正内容がクリアされ表示も修正前に復帰する。このように本機能を用いることにより修正内容を視覚的に把握しつつ運用交換を試行錯誤的に実行することが可能である。
【０１３３】
次に手動介入機能の３番目として運用変更機能について説明する。本機能は、前述の運用交換機能と類似の機能である。運用交換機能が運用を丸ごと、もしくは車庫に在線している時間帯を境に午前・午後単位で交換するのに対して、運用変更機能を用いれば車両が車庫に在線中か本線上で営業運転中かに一切関係なく、任意の時刻で運用を切断して他の編成の運用と交換することが可能となる。本機能は、営業運転中の車両に故障などが発生して運行が続けられなくなった場合に、車両基地で待機中の予備車両に運行を切替えるといった突発事態に対応するための機能である。操作インターフェースは前記運用交換機能と同じであり、変更相手を絞り込むために運用検索機能も利用することができる。本機能は変更したい運用を計画案の中からひとつ選択した後に起動されるが、その前に運用変更の時刻を指定する操作を必要とする。
【０１３４】
図１に戻り本発明の全体構成の説明を続ける。処理ブロック０１１４の計画案評価・修正部は、上記の情報提供機能と手動介入機能に加えて、計画案の自動作成に必要とされる作業容量、運用予約、調整ロジックの各データを変更するインターフェースを備えており、それらを用いることにより作成者が計画作成の条件を自由に変更可能である。作成者は条件の変更をおこなった後に運用割当部に対して再計画を指示して新たな計画案を得ることができる。このように何度も計画作成を繰り返しながら作成者自身の意図に合った車両運用計画を作成することができる。最終的に作成者の承認を受けた計画案は、正式な車両運用計画としてシステム内に登録されるとともに、計画作成者の指示を受けてプリンタ等の出力装置に帳票形式で印刷される。
【０１３５】
【発明の効果】
本発明によれば、運用計画作成における段階的な作成業務を包括的に扱い運行ダイヤから直接的に運用計画の素案を自動提案でき、また計画作成者が素案に対して多角的な評価お施して効果的な修正をおこなうことができるため、計画作成現場の実情に柔軟に適合した品質の高い運用計画を効率的に作成することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態である車両運用計画作成支援のシステム構成図である。
【図２】図１の計画運行ダイヤの説明図である。
【図３】本発明の作業計画のデータ構造を示す図である。
【図４】本発明の運用のデータ構造を示す図である。
【図５】本発明の運用データのイメージ形式を示す図である。
【図６】本発明の車両運用計画のデータ構造を示す図である。
【図７】本発明の車両運用計画のイメージ形式を示す図である。
【図８】本発明の作業容量のデータ構造を示す図である。
【図９】本発明の運用ローテーションパターンの説明図である。
【図１０】本発明の運用ローテーションパターンのデータ構造を示す図である。
【図１１】本発明の運用ローテーションパターンを用いた運用割当の説明図である。
【図１２】本発明の運用ローテーションパターン探索部の処理の流れを示すフローチャートである。
【図１３】本発明の染色体のデータ構造を示す図である。
【図１４】本発明の順序表現変換手続きの処理の流れを示すフローチャートである。
【図１５】本発明の探索パラメータのデータ構造を示す図である。
【図１６】本発明のデコード処理の流れを示すフローチャートである。
【図１７】本発明のパターン評価指標のデータ構造を示す図である。
【図１８】本発明の実施形態の評価情報の表示画面である。
【図１９】本発明の評価指標調整機能のインターフェースを示す図である。
【図２０】本発明の運用割当部の処理概要の説明図である。
【図２１】本発明の調整ロジックのデータ構造を示す図である。
【図２２】本発明の運用割当部の処理の流れを示すフローチャートである。
【図２３】本発明の接続違反解消ロジックの処理の流れを示すフローチャートである。
【図２４】本発明のバックトラック処理の処理概要の説明図である。
【図２５】本発明のバックトラック処理の流れを示すフローチャートである。
【図２６】本発明の回帰違反解消ロジックの処理の流れを示すフローチャートである。
【図２７】本発明の列車検査間隔均等化ロジックの処理の流れを示すフローチャートである。
【図２８】本発明の運用詳細表示機能の起動画面である。
【図２９】本発明の作業量表示機能(日別)の起動画面である。
【図３０】本発明の作業量表示機能(期間全体)の起動画面である。
【図３１】本発明の運用検索機能の起動画面である。
【図３２】本発明の検索条件設定用インターフェースを示す図である。
【図３３】本発明の作業設定機能の起動画面である。
【図３４】本発明の運用交換機能の起動画面である。
【符号の説明】
０１０１…運行ダイヤ、０１０２…作業容量、  ０１０３…探索パラメータ、
０１０４…パターン評価指標、０１０５…運用ローテーションパターン、
０１０６…運用予約、  ０１０７…車両履歴、  ０１０８…調整ロジック、
０１０９…車両運用計画案、  ０１１１…運用ローテーションパターン探索部、
０１１２…運用ローテーションパターン評価・修正部、
０１１３…運用割当部、      ０１１４…計画案評価・修正部、
０１２１…表示装置、  ０１２２…入力装置、  ０１２３…プリンタ。
【図１】
0003928268.tif 000003
【図２】
0003928268.tif 000004
【図３】
0003928268.tif 000005
【図４】
0003928268.tif 000006
【図５】
0003928268.tif 000007
【図６】
0003928268.tif 000008
【図７】
0003928268.tif 000009
【図８】
0003928268.tif 000010
【図９】
0003928268.tif 000011
【図１０】
0003928268.tif 000012
【図１１】
0003928268.tif 000013
【図１２】
0003928268.tif 000014
【図１３】
0003928268.tif 000015
【図１４】
0003928268.tif 000016
【図１５】
0003928268.tif 000017
【図１６】
0003928268.tif 000018
【図１７】
0003928268.tif 000019
【図１８】
0003928268.tif 000020
【図１９】
0003928268.tif 000021
【図２０】
0003928268.tif 000022
【図２１】
0003928268.tif 000023
【図２２】
0003928268.tif 000024
【図２３】
0003928268.tif 000025
【図２４】
0003928268.tif 000026
【図２５】
0003928268.tif 000027
【図２６】
0003928268.tif 000028
【図２７】
0003928268.tif 000029
【図２８】
0003928268.tif 000030
【図２９】
0003928268.tif 000031
【図３０】
0003928268.tif 000032
【図３１】
0003928268.tif 000033
【図３２】
0003928268.tif 000034
【図３３】
0003928268.tif 000035
【図３４】
0003928268.tif 000036