(57)【要約】【課題】解探索に要する時間を大幅に短縮する。【解決手段】運用グループ割当部１０１、運用割当部１０３は、各割当対象項目に対して変数がとり得る値を割り当てる。変数絞込部１０８は、各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する。値割当部１０２、制約充足解導出部１０４は、変数の値が削除された後に各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす割当対象項目毎の変数の値の組み合わせを解として導出する。【選択図】図１
2011138345.tif 000002
【特許請求の範囲】
【請求項１】
各割当対象項目に対して変数がとり得る値を割り当てる割当手段と、
前記各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する削除手段と、
前記削除手段により変数の値が削除された後に前記各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす前記割当対象項目毎の変数の値の組み合わせを解として導出する解導出手段とを有することを特徴とする解探索装置。
【請求項２】
所定の期間毎及び輸送手段毎に区分される各割当対象項目に対して、前記輸送手段がとり得る運用の識別情報を割り当てる運用割当手段と、
前記各割当対象項目に割り当てられた運用の識別情報のうち、前記輸送手段の運用に係る第１の制約条件を満たさない運用の識別情報を削除する削除手段と、
前記削除手段により運用の識別情報が削除された後に前記各割当対象項目に割り当てられている運用の識別情報のうち、前記輸送手段の運用に係る第２の制約条件を満たす前記割当対象項目毎の運用の識別情報の組み合わせを解として導出する解導出手段とを有することを特徴とする運用割当装置。
【請求項３】
前記第１の制約条件は、所定の期間内における前記運用手段の走行距離に上限を設けるための制約条件を含むことを特徴とする請求項２に記載の運用割当装置。
【請求項４】
解探索装置による解探索方法であって、
各割当対象項目に対して変数がとり得る値を割り当てる割当ステップと、
前記各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する削除ステップと、
前記削除ステップにより変数の値が削除された後に前記各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす前記割当対象項目毎の変数の値の組み合わせを解として導出する解導出ステップとを含むことを特徴とする解探索方法。
【請求項５】
運用割当装置による運用割当方法であって、
所定の期間毎及び輸送手段毎に区分される各割当対象項目に対して、前記輸送手段がとり得る運用の識別情報を割り当てる運用割当ステップと、
前記各割当対象項目に割り当てられた運用の識別情報のうち、前記輸送手段の運用に係る第１の制約条件を満たさない運用の識別情報を削除する削除ステップと、
前記削除ステップにより運用の識別情報が削除された後に前記各割当対象項目に割り当てられている運用の識別情報のうち、前記輸送手段の運用に係る第２の制約条件を満たす前記割当対象項目毎の運用の識別情報の組み合わせを解として導出する解導出ステップとを含むことを特徴とする運用割当方法。
【請求項６】
各割当対象項目に対して変数がとり得る値を割り当てる割当ステップと、
前記各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する削除ステップと、
前記削除ステップにより変数の値が削除された後に前記各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす前記割当対象項目毎の変数の値の組み合わせを解として導出する解導出ステップとをコンピュータに実行させるためのプログラム。
【請求項７】
所定の期間毎及び輸送手段毎に区分される各割当対象項目に対して、前記輸送手段がとり得る運用の識別情報を割り当てる運用割当ステップと、
前記各割当対象項目に割り当てられた運用の識別情報のうち、前記輸送手段の運用に係る第１の制約条件を満たさない運用の識別情報を削除する削除ステップと、
前記削除ステップにより運用の識別情報が削除された後に前記各割当対象項目に割り当てられている運用の識別情報のうち、前記輸送手段の運用に係る第２の制約条件を満たす前記割当対象項目毎の運用の識別情報の組み合わせを解として導出する解導出ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の期間及び輸送手段毎に運用を決定するための技術に関する。
【背景技術】
【０００２】
従来、車両運用計画の作成は、担当者の経験と勘に基づいて行われていた。しかし、人の手による計画の作成では時間もかかり、特に近年では、より多くの車両が導入されてきていることから限界があった。そうした中、最近では、車両運用計画の作成に必要な列車編成、ダイヤ、点検計画等のデータを入力し、所望の制約条件に従って計算機によって車両運用計画を作成するものが提案されている。
【０００３】
例えば、特許文献１には、運行機材の制約条件を入力して、運用接続コードを作成し、運用接続コードの運用接続行列への変換、及び、運用接続行列の評価を繰り返すことにより最適解を探索するものが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−８５４５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示される発明は、運用接続コードの確率的な組み替え、運用接続コードの運用接続行列への変換、及び、運用接続行列の評価の３つの処理を繰り返し行う必要があるため、最適解を求めるまでの求解時間が長くなってしまう。
【０００６】
そこで、本発明の目的は、解探索に要する時間を大幅に短縮することにある。
【課題を解決するための手段】
【０００７】
本発明の解探索装置は、各割当対象項目に対して変数がとり得る値を割り当てる割当手段と、前記各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する削除手段と、前記削除手段により変数の値が削除された後に前記各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす前記割当対象項目毎の変数の値の組み合わせを解として導出する解導出手段とを有することを特徴とする。
本発明の運用割当装置は、所定の期間毎及び輸送手段毎に区分される各割当対象項目に対して、前記輸送手段がとり得る運用の識別情報を割り当てる運用割当手段と、前記各割当対象項目に割り当てられた運用の識別情報のうち、前記輸送手段の運用に係る第１の制約条件を満たさない運用の識別情報を削除する削除手段と、前記削除手段により運用の識別情報が削除された後に前記各割当対象項目に割り当てられている運用の識別情報のうち、前記輸送手段の運用に係る第２の制約条件を満たす前記割当対象項目毎の運用の識別情報の組み合わせを解として導出する解導出手段とを有することを特徴とする。
本発明の解探索方法は、解探索装置による解探索方法であって、各割当対象項目に対して変数がとり得る値を割り当てる割当ステップと、前記各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する削除ステップと、前記削除ステップにより変数の値が削除された後に前記各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす前記割当対象項目毎の変数の値の組み合わせを解として導出する解導出ステップとを含むことを特徴とする。
本発明の運用割当方法は、運用割当装置による運用割当方法であって、所定の期間毎及び輸送手段毎に区分される各割当対象項目に対して、前記輸送手段がとり得る運用の識別情報を割り当てる運用割当ステップと、前記各割当対象項目に割り当てられた運用の識別情報のうち、前記輸送手段の運用に係る第１の制約条件を満たさない運用の識別情報を削除する削除ステップと、前記削除ステップにより運用の識別情報が削除された後に前記各割当対象項目に割り当てられている運用の識別情報のうち、前記輸送手段の運用に係る第２の制約条件を満たす前記割当対象項目毎の運用の識別情報の組み合わせを解として導出する解導出ステップとを含むことを特徴とする。
本発明のプログラムの第１の態様は、各割当対象項目に対して変数がとり得る値を割り当てる割当ステップと、前記各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除する削除ステップと、前記削除ステップにより変数の値が削除された後に前記各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす前記割当対象項目毎の変数の値の組み合わせを解として導出する解導出ステップとをコンピュータに実行させることを特徴とする。
本発明のプログラムの第２の態様は、所定の期間毎及び輸送手段毎に区分される各割当対象項目に対して、前記輸送手段がとり得る運用の識別情報を割り当てる運用割当ステップと、前記各割当対象項目に割り当てられた運用の識別情報のうち、前記輸送手段の運用に係る第１の制約条件を満たさない運用の識別情報を削除する削除ステップと、前記削除ステップにより運用の識別情報が削除された後に前記各割当対象項目に割り当てられている運用の識別情報のうち、前記輸送手段の運用に係る第２の制約条件を満たす前記割当対象項目毎の運用の識別情報の組み合わせを解として導出する解導出ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００８】
本発明においては、各割当対象項目に割り当てられた変数の値のうち、変数がとる値に係る第１の制約条件を満たさない変数の値を削除し、変数の値が削除された後に各割当対象項目に割り当てられている変数の値のうち、変数がとる値に係る第２の制約条件を満たす割当対象項目毎の変数の値の組み合わせを解として導出するように構成している。このように本発明によれば、解空間を縮小させた後で解探索を行うようにしているため、解探索に要する時間を大幅に短縮することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る運用割当装置の機能的な構成を示すブロック図である。
【図２Ａ】運用グループ割当部及び運用割当部によって運用グループ識別情報及び運用識別情報が各割当対象項目に割り当てられた状態の探索木を示す図である。
【図２Ｂ】初期制約伝播によって制約を違反する値が決定された状態の探索木を示す図である。
【図２Ｃ】０／１変数割当部によって０／１変数が各枝に対して割り当てられた状態の探索木を示す図である。
【図２Ｄ】制約条件を満たす各枝の０／１変数の組み合わせを示す図である。
【図３】本発明の実施形態に係る運用割当装置のハードウェア構成を示すブロック図である。
【図４】本発明の実施形態に係る運用割当装置の動作の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の実施形態に係る運用割当装置１００の機能的な構成を示すブロック図である。運用割当装置１００は、例えばＰＣ等の情報処理装置等によって構成することができる。なお、運用割当装置１００は、本発明の解探索装置及び運用割当装置の適用例となる構成である。
【００１２】
本実施形態に係る運用割当装置１００は、図１に示すように、運用グループ割当部１０１、変数絞込部１０８、運用割当部１０３、０／１変数割当部１０９、値割当部１０２、制約充足解導出部１０４、出力制御部１０５及び制約条件ＤＢ（データベース）１０６により構成される。
【００１３】
運用グループ割当部１０１は、日毎及び編成毎に区別される各割当対象項目に対して、変数としてとり得る全ての運用グループ識別情報を割り当てる。つまり、表１に示す日毎編成毎運用グループテーブル内の、日毎及び編成毎に区別される各割当対象項目に対して、変数としてとり得る全ての運用グループ識別情報が割り当てられることになる。
【００１４】
【表１】
2011138345.tif 000003
【００１５】
ここでいう運用グループ識別情報とは、運用グループを識別するための情報であり、運用グループを一意に特定可能な例えば値等によって示される情報である。また、編成とは、後述する運用の決定対象となる単位車両のことをいう。運用グループとは、各日毎に、次の表２に示す全ての属性値が一致する運用を同一グループとしてまとめたものである。即ち、運用の内容を表す運用情報は、その属性値として、編成種別、始端駅、終端駅、始端番線、終端番線、始端接続、終端接続、始端位置及び終端位置を含む。その他に、運用の属性値として、走行キロ数（運用距離）等が含まれる。なお、表２は飽くまでも一例であって、特定の属性値が一致する運用であれば同一の運用グループとしてもよい。
【００１６】
【表２】
2011138345.tif 000004
【００１７】
なお、編成種別とは、当該運用が割り当てられる編成の種別のことであり、本実施形態においては、２種類の編成種別"Ａ"、"Ｂ"を想定する。始端駅とは、当該運用が割り当てられる編成が始端時において停車している駅や基地、終端駅とは、当該運用が割り当てられる編成が終端時において停車している駅や基地のことをいう。始端番線とは、当該運用が割り当てられる編成が始端時において停車している番線、終端番線とは、当該運用が割り当てられる編成が終端時において停車している番線のことをいう。始端接続とは、当該運用が割り当てられる編成の始端時における接続状態、終端接続とは、当該運用が割り当てられる編成の終端時における接続状態のことをいう。始端位置、終端位置とは、当該運用が割り当てられる編成が始端時、終端時においてどの方向の位置に停止しているかを示すものであり、例えば北側に位置しているのか、南側に位置しているのかを示す。北側とは、当該運用が割り当てられる編成が始端時又は終端時に線路上において北側に位置し、南側とは、当該運用が割り当てられる編成が始端時又は終端時に線路上において南側に位置することを意味する。
【００１８】
同一グループ内の運用は、運用の連続性の観点から同一視することができる。ここで、運用グループ識別情報は、１〜最大運用グループ数までの値をとり得る。即ち、変数である運用グループ識別情報のドメインには、１〜最大運用グループ数までの値が含まれる。最大運用グループ数とは、日毎の運用グループの個数である。
【００１９】
運用割当部１０３は、日毎及び編成毎に区別される各割当対象項目に対して、変数としてとり得る全ての運用識別情報を割り当てる。つまり、表３に示す運用割当対象テーブル内の、日毎及び編成毎に区別される各割当対象項目に対して、運用識別情報が割り当てられることになる。このように、本実施形態においては、日毎及び編成毎に区別される各割当対象項目に対して運用識別情報を割り当てることにより、各編成が日毎にどのような運用を行うのかを決定することができる。
【００２０】
【表３】
2011138345.tif 000005
【００２１】
ここでいう運用識別情報とは、運用を識別するための情報であり、運用を一意に特定可能な値等によって示される情報である。運用識別情報は、１〜運用数までの値をとり得る。即ち、変数である運用識別情報のドメインには、１〜運用数までの値が含まれる。運用数とは、日毎に想定している運用の数である。
【００２２】
なお、表１、表３に対応するデータは、例えばＣＰＵ３０１のワークエリアであるＲＡＭ３０２の一部記憶領域に格納されており、ここに、運用グループ割当部１０１、運用割当部１０３によって値が書き込まれる。
【００２３】
変数絞込部１０８は、制約条件ＤＢ１０６から、後述する（１）運用に対する排他制約条件、（２）編成種別制約条件、（３）位置連続性制約条件、（４）運用ロック制約条件及び（５）検査取り込みキロ数制約条件を読み込む。そして、変数絞込部１０８は、制約条件（１）〜（５）を用いた初期制約伝播により、日毎及び編成毎に運用グループ割当部１０１が割り当てた運用グループ識別情報を絞り込むとともに、日毎及び編成毎に運用割当部１０３が割り当てた運用識別情報を絞り込む。
【００２４】
ここで、（１）運用に対する排他制約条件について説明する。この制約条件の対象は、運用識別情報である。この制約条件は、ある日に着目すると、運用識別情報は編成毎に異なることを実現するための制約条件である。これは、同一の運用識別情報が複数の編成に紐つくことはないためである。
【００２５】
次に、（２）編成種別制約条件について説明する。この制約条件の対象は、運用グループ識別情報である。この制約条件は、運用グループの一属性値である編成種別と編成の一属性値である編成種別とが一致していなければならないことを表現するための制約条件である。日毎、編成毎に次の式で表現される。
編成種別［日、運用グループ識別情報［日、編成］］＝編成種別［編成］
ここでは、編成毎に、その編成種別を表す、表４に示すような定数配列が予め用意されているものとする。
【００２６】
なお、上記の制約条件中に現れる変数は、運用グループ識別情報の変数のみであるが、以下に説明する運用グループ識別情報の変数と運用識別情報の変数との関係から、運用識別情報の変数に対して同様の制約を課す必要がないことは明らかである。本実施形態においては、運用グループ制約条件という制約条件を別に設けることによって運用グループ識別情報の変数と運用識別情報の変数との関係を定めている。運用グループ制約条件の対象は、運用識別情報及び運用グループ識別情報である。この制約条件は、運用識別情報と運用グループ識別情報とを関連付けるための制約条件である。日毎、編成毎に次の式で表現される。
運用グループ識別情報［日、編成］＝運用グループ識別情報［日、運用識別情報［日、編成］］
【００２７】
この制約条件は、運用グループの定義から、運用グループの属性値としての編成種別と、運用の属性値としての編成種別とが一致している必要があるために設けられた制約条件である。また、上記式の左辺の変数"運用グループ識別情報［日、編成］"は、日毎、編成毎に割り当てられる運用グループ識別情報の変数であり、表１の各項目に割り当てられる値である。さらに、上記式の右辺の定数"運用グループ識別情報［日、運用識別情報［日、編成］］"のインデックスにおける"運用識別情報［日、編成］は、日毎、編成毎に割り当てられる運用識別情報の変数であり、表３の各項目に割り当てられる値である。即ち、本制約条件は、表１の割当対象項目に割り当てられた運用グループ識別情報と、表３の割当対象項目に割り当てられる運用識別情報に示される運用が属する運用グループ識別情報とが、任意の日及び任意の編成毎に夫々一致しているか否かを検査するための制約条件である。
【００２８】
【表４】
2011138345.tif 000006
【００２９】
また、日毎、運用グループ毎に、その運用グループの編成種別を表す、表５に示すような定数配列が予め用意されているものとする。
【００３０】
【表５】
2011138345.tif 000007
【００３１】
なお、上記式の左辺の変数"運用グループ識別情報［日、編成］"は、日毎、編成毎に割り当てられる運用グループ識別情報の変数であり、表６の各項目に割り当てられる値である。
【００３２】
【表６】
2011138345.tif 000008
【００３３】
次に、（３）位置連続性制約条件について説明する。この制約条件の対象は、運用識別情報である。また、制約条件の内容は、日毎、編成毎に次の式で表現される。
終端位置［日−１、運用識別情報［日−１、編成］］＝０・・・（式１）
又は、
始端位置［日、運用識別情報［日、編成］］＝０・・・（式２）
又は、終端位置［日−１、運用識別情報［日−１、編成］］＝始端位置［日、運用識別情報［日、編成］］・・・（式３）
本制約条件では、日毎、運用識別情報毎に次の表７から該当するコードを選択し、上記式に適用する。
【００３４】
【表７】
2011138345.tif 000009
【００３５】
なお、上記式のインデックスにおける"運用識別情報［日−１、編成］"及び"運用識別情報［日、編成］"は、上記表３の各項目に割り当てられる値である。
【００３６】
即ち、本制約条件では、次の制約を課している。ある日のある編成に割り当てられる運用の終端駅が基地又は駅、当該運用の編成種別が"Ａ"、そして、その終端接続が"Ａ＋Ａ´"である場合、式１、式３の左辺は"１"となる。ここで、"Ａ´"とは、当該運用以外の運用の編成種別"Ａ"と同じ編成種別である。従って、式１は満たさない。但し、次の日における当該編成に割り当てられる運用の始端駅が基地又は駅、当該運用の編成種別が"Ａ"、そして、その始端接続が"Ａ＋Ａ´"である場合、式２の左辺、式３の右辺は"１"となる。従って、式２は満たさないが、式３を満たし、本制約条件を満たすことになる。
【００３７】
なお、ある日のある編成に割り当てられる運用の編成種別が"Ａ"であって、前記ある日のある編成に割り当てられる運用の終端接続が"その他（Ａ単独、Ａ＋Ｂ）"である場合や、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、前記次の日に当該編成に割り当てられる運用の始端接続が"その他"である場合には、終端駅又は始端駅が基地であるか駅であるかに関わらず、式１又は式２を満たすので、本制約条件を満たすことになる。
【００３８】
また、ある日にある編成に割り当てられる運用の編成種別が"Ｂ"であって、当該運用の終端接続が"Ｂ"単独又は"Ａ＋Ｂ"である場合や、次の日に当該編成に割り当てられる運用の編成種別が"Ｂ"であって、当該運用の始端接続が"Ｂ"単独又は"Ａ＋Ｂ"である場合には、終端駅又は始端駅が基地であるか駅であるかに関わらず、式１又は式２を満たすので、本制約条件を満たすことになる。
【００３９】
表７中、接続状態として"Ａ＋Ａ´"と"Ａ´＋Ａ"の表記の違いは、"Ａ＋Ａ´"は当該運用が例えば北側に位置し、他の運用が南側に位置することを意味し、"Ａ´＋Ａ"はその反対を意味する。例えば、接続状態"Ａ＋Ａ´"は、編成種別"Ａ"である当該運用の編成が北側、編成種別"Ａ´"である運用の編成が南側の位置で互いに接続された状態である。
【００４０】
ある日に当該運用の編成種別が"Ａ"である場合について、制約条件を満たすか否かの結果の一部を以下に示す。
・ある日のある編成に割り当てられる運用の終端接続が"Ａ＋Ａ´"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、且つ当該次の日に当該編成に割り当てられる運用の始端接続が"Ａ＋Ａ´"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件（式３）を満たす。
・ある日にある編成に割り当てられる運用の終端接続が"Ａ＋Ａ´"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、且つ当該次の日に当該編成に割り当てられる運用の接続が"Ａ´＋Ａ"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件に違反する。
・ある日にある編成に割り当てられる運用の終端接続が"Ａ＋Ａ´"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、且つ当該次の日に当該編成に割り当てられる運用の始端接続が"その他"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件（式２）を満たす。
【００４１】
次に、ある日にある編成に割り当てられる運用の編成種別が"Ｂ"である場合について、制約条件を満たすか否かの結果を以下に示す。
・ある日にある編成に割り当てられる運用の終端接続が"Ｂ"単独又は"Ａ＋Ｂ"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、且つ当該次の日に当該編成割り当てられる運用の始端接続が"Ａ＋Ａ´"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件（式１）を満たす。
・ある日にある編成に割り当てられる運用の終端接続が"Ｂ"単独又は"Ａ＋Ｂ"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、且つ当該次の日に当該編成に割り当てられる運用の始端接続が"Ａ´＋Ａ"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件（式１）を満たす。
・ある日にある編成に割り当てられる運用の終端接続が"Ｂ"単独又は"Ａ＋Ｂ"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ａ"であって、且つ当該次の日に当該編成に割り当てられる運用の始端接続が"その他"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件（式１）を満たす。
・ある日にある編成に割り当てられる運用の終端接続が"Ｂ"単独又は"Ａ＋Ｂ"であり、また、次の日に当該編成に割り当てられる運用の編成種別が"Ｂ"であって、且つ当該次の日に当該編成に割り当てられる運用の始端接続が"Ｂ"単独又は"Ａ＋Ｂ"であれば、始端駅が基地であるか駅であるかに関わらず、制約条件（式１）を満たす。
【００４２】
ここで、次の接続の関係に着目する。ある日にある編成に割り当てられる運用の終端駅が基地、当該運用の編成種別が"Ａ"、そして、その終端接続が"Ａ＋Ａ´"であり、また、次の日に当該編成に割り当てられる運用の始端駅が基地、当該運用の編成種別が"Ａ"、そして、その始端接続が"Ａ´＋Ａ"である場合、制約違反になる。その反対に、ある日にある編成に割り当てられる運用の終端駅が基地、当該運用の編成種別が"Ａ"、そして、その終端接続が"Ａ´＋Ａ"であり、また、次の日に当該編成に割り当てられる運用の始端駅が基地、当該運用の編成種別が"Ａ"、そして、その始端接続が"Ａ＋Ａ´"である場合、制約違反になる。終端駅及び始端駅が駅である場合も同様である。
【００４３】
即ち、本制約条件においては、基地及び駅内では、連続する２日間において、ある日の終端接続が"Ａ＋Ａ´"であるが、次の日に始端接続が"Ａ´＋Ａ"となることは制約違反であることを規定している。反対に、基地及び駅内において、ある日の終端接続が"Ａ´＋Ａ"であるが、次の日に始端接続が"Ａ＋Ａ´"となることも制約違反であることを規定している。つまり、本制約条件においては、基地又は駅内において、日を跨いで、"Ａ"と"Ａ´"との編成位置を入れ換えることを禁止している（編成位置制約）。
【００４４】
次の接続の関係についても着目する。ある日にある編成に割り当てられる運用の終端駅が基地、当該運用の編成種別が"Ａ"、そして、当該運用の終端接続が"Ａ＋Ａ´"や"Ａ´＋Ａ"であり、また、次の日に当該編成に割り当てられる運用の始端駅が基地、当該運用の編成種別が"Ａ"、そして、当該運用の始端接続が"その他"である場合、制約違反となる。反対に、ある日のある編成に割り当てられる運用の終端駅が基地、当該運用の編成種別が"Ａ"、そして、その終端接続が"その他"であり、また、次の日に当該編成に割り当てられる運用の始端駅が基地、当該運用の編成種別が"Ａ＋Ａ´"や"Ａ´＋Ａ"である場合、制約違反となる。
【００４５】
即ち、本制約条件においては、基地内では、連続する２日間において、ある日の終端接続が"Ａ＋Ａ´"や"Ａ´＋Ａ"であり、次の日の始端接続が"その他"となることは制約違反であることを規定している。反対に、基地内において、ある日の終端接続が"その他"であり、次の日の始端接続が"Ａ＋Ａ´"や"Ａ´＋Ａ"となることは制約違反であることを規定している。つまり、本制約条件においては、基地内において、日を跨いで、接続状態が"Ａ＋Ａ´"や"Ａ´＋Ａ"の編成を分けて他の接続状態にすることを禁止している（基地内分併不可パターン制約）。なお、本制約条件の内容は、日毎、編成毎に次の式で表現される。
終端接続［日−１、運用識別情報［日−１、編成］］＝始端接続［日、運用識別情報［日、編成］］・・・（式４）
本制約条件では、日毎、運用識別情報毎に次の表８から該当するコードを選択し、上記式に適用する。
【００４６】
【表８】
2011138345.tif 000010
【００４７】
次に、（４）運用ロック制約条件について説明する。この制約条件の対象は、運用識別情報及び運用グループ識別情報である。この制約条件は、ある日のある編成に対し、運用が固定されていることを表現するための制約条件である。ここでは、広義の運用ロックを対象とする。広義の運用ロックとは、ある日のある編成に対して運用が予め決まっている、いわゆる運用ロック（狭義の運用ロック）だけではなく、事実上、ある日のある編成に対して運用が決まっているために、狭義の運用ロックと同等に扱うことができる場合も対象とする。また、運用が決まっているということは、運用グループも決まることになり、運用識別情報の変数だけでなく、運用グループ識別情報の変数に対しても、この制約が課せられていることになる。表９は、運用ロックが課せられた日及び編成の組み合わせを○で示している。
【００４８】
【表９】
2011138345.tif 000011
【００４９】
次に、（５）検査取り込みキロ数制約条件について説明する。この制約条件の対象は、運用識別情報である。本制約条件の内容は、編成毎に、検査日（或いは０日）から次の検査日に挟まれた期間毎に、次の式で表現される。
期間の初期走行キロ＋Σ走行キロ［日、運用［日、編成］］≦上限値
ここで、Σは、検査日（或いは０日）と次の検査日とに挟まれた期間中の各日の和をとることを表現している。検査日（或いは０日）は、表１０の○で示されている。即ち、本制約条件は、上述した運用ロック制約条件に応じて、表１０に示すように、検査日（或いは０日）と次の検査日とに挟まれた期間に対して割り当てられる各運用の属性値である走行キロ数の和に対して、予め設定された上限値を超えないようにするための制約条件である。即ち、この制約条件は、次の検査日までの総走行キロ数に上限を設けるための制約条件である。
【００５０】
【表１０】
2011138345.tif 000012
【００５１】
変数絞込部１０８は、以上説明した制約条件（１）〜（５）を用いた初期制約伝播を行うことにより、運用グループ割当部１０１及び運用割当部１０３によって各割当対象項目２０１、２０３に割り当てられた運用グループ識別情報及び運用識別情報のうち、制約条件（１）〜（５）を明らかに満たさない運用グループ識別情報及び運用識別情報を削除する。
【００５２】
０／１変数割当部１０９は、変数絞込部１０８によって絞り込まれた日毎及び編成毎の各運用グループ識別情報と各運用識別情報とに対して０又は１を値として取る変数を割り当てる。値０は、対応する運用グループ識別情報又は運用識別情報が採用されないことを意味し、値１は、対応する運用グループ識別情報又は運用識別情報が採用されることを意味する。
【００５３】
値割当部１０２は、制約条件ＤＢ１０６から、上述した（５）検査取り込みキロ数制約条件と、（６）０／１変数合計値制約条件とを読み込む。ここで、（６）０／１変数合計値制約条件とは、ある割当対象項目の各運用グループ識別情報又は各運用識別情報に対して、０／１変数割当部１０９によって割り当てられた０／１変数の合計が１に等しいことを課す制約条件である。そして、値割当部１０２は、０／１変数に対して、あるパターンで値を割り当て、制約条件（５）、（６）を満たすか否かを検査する。ここでは、０／１変数の値を決定する方法について説明したが、０／１変数を用いた線形モデルを求解エンジンを用いて値を決定してもよい。
【００５４】
成約充足解導出部１０４は、値割当部１０２によって制約条件（５）、（６）について制約違反が検知されることなく、表１、表３の全ての割当対象項目内の各運用グループ識別情報又は運用識別情報に対応する０／１変数に対して値が割り当てられた場合、そのときの表３の運用識別情報に対する０／１変数への値の割り当て結果に基づいて制約充足解を決定する。
【００５５】
出力制御部１０５は、制約充足解導出部１０４によって決定された制約充足解の内容を出力制御装置１０７によって出力させる。
【００５６】
図２Ａ〜図２Ｄは、本実施形態における変数の絞り込み方法及び制約充足解の導出方法を説明するための図であり、解空間である探索木を模式的に示している。
【００５７】
図２Ａは、運用グループ割当部１０１及び運用割当部１０３によって運用グループ識別情報及び運用識別情報が各割当対象項目に割り当てられた状態の探索木を示す図である。
【００５８】
図２Ａにおいて、２０１は、運用グループ識別情報の割当対象、即ち、表１の各割当対象項目である。２０２は、探索木の枝であり、割り当てられる運用グループ識別情報、即ち、運用グループ識別情報のドメインに含まれる、１〜最大運用グループ数の値を示している。つまり、図２では簡略化して示しているが、同じ割当対象項目２０１に繋がる探索木の枝２０２（運用グループ識別情報）の数は、その割当対象項目２０１に対して割り当て可能な運用グループ識別情報の数（最大運用グループ数）だけ存在する。
【００５９】
また、図２Ａにおいて、２０３は、運用識別情報の割当対象、即ち、表３の各割当対象項目である。２０４は、探索木の枝であり、割り当てる運用識別情報、即ち、運用識別情報のドメインに含まれる、１〜最大運用数の値を示している。図２では簡略化して示しているが、同じ割当対象項目２０３に繋がる探索木の枝２０４（運用識別情報）の数は、その割当対象項目２０３に対して割り当て可能な運用識別情報の数（最大運用数）だけ存在する。
【００６０】
また、図２Ａでは、割当対象項目２０１は２階層しか示していないが、実際には表１の割当対象項目の数と同じ数の階層が存在する。同じく割当対象項目２０３も２階層しか示していないが、実際には表３の割当対象項目の数と同じ数の階層が存在する。
【００６１】
変数絞込部１０８は、制約条件（１）〜（５）を用いた初期制約伝播によって制約条件に違反する値（割り当て不可能な値）を決定し、削除する（枝（解候補）を削除する）。図２Ｂは、初期制約伝播によって制約条件に違反する値が決定された状態の探索木を示す図である。図２Ｂにおいて、×印が付された枝が制約条件に違反すると決定された値であり、×印が付された枝及びその枝に繋がる枝が変数絞込部１０８によって削除される。その結果、探索木（解空間）が縮小される。
【００６２】
０／１変数割当部１０９は、変数絞込部１０８により枝が削除された後の探索木の各枝に対して０／１変数を割り当てる。図２Ｃは、０／１変数割当部１０９によって０／１変数が各枝に対して割り当てられた状態の探索木を示す図である。
【００６３】
値割当部１０２は、０／１変数割当部１０９によって各枝に対して割り当てられた０／１変数への値の割当て方のうち、制約条件（５）、（６）を満たす各枝の０／１変数への値の割り当て方を求める。図２Ｄは、制約条件（５）、（６）を満たす各枝の０／１変数への値の割り当て方を示す図である。
【００６４】
制約充足解導出部１０４は、図２Ｄに示す探索木から値１が付された枝の組み合わせを制約充足解として導出する。即ち、図２Ｄにおいて破線で示される枝の組み合わせが制約充足解として導出される。
【００６５】
図３は、本実施形態に係る運用割当装置１００のハードウェア構成を示すブロック図である。
【００６６】
ＣＰＵ３０１は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ＲＯＭ３０３又はＨＤ（ハードディスク）３０９には、ＣＰＵ３０１の制御プログラムであるＢＩＯＳ（BasicInput/OutputSystem）やオペレーティングシステムプログラム、運用割当装置１００が実行する例えば図４に示す処理のプログラム等が記憶されている。
【００６７】
なお、図３の例では、ＨＤ３０９は運用割当装置１００の内部に配置された構成としているが、他の実施形態としてＨＤ３０９に相当する構成が運用割当装置１００の外部に配置された構成としてもよい。また、本実施形態に係る例えば図４に示す処理を行うためのプログラムは、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ等、コンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。
【００６８】
ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。ＣＰＵ３０１は、処理の実行に際して必要なプログラム等をＲＡＭ３０２にロードして、プログラムを実行することで各種動作を実現するものである。
【００６９】
ＨＤ３０９やＦＤ３０８は、外部メモリとして機能する。ＣＰＵ３０１は、処理の実行に際して必要なプログラム等をＲＡＭ３０２にロードして、プログラムを実行することで各種動作を実現するものである。
【００７０】
ディスクコントローラ３０７は、ＨＤ３０９やＦＤ３０８等の外部メモリへのアクセスを制御する。通信Ｉ／Ｆコントローラ３０６は、インターネットやＬＡＮと接続し、例えばＴＣＰ／ＩＰによって外部との通信を制御するものである。
【００７１】
ディスプレイコントローラ３１０は、ディスプレイ３１１における画像表示を制御する。
【００７２】
ＫＢコントローラ３０４は、ＫＢ（キーボード）３０５からの操作入力を受け付け、ＣＰＵ３０１に対して送信する。なお、図示していないが、ＫＢ３０５の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係る運用割当装置１００に適用可能である。
【００７３】
図１に示す、運用グループ割当部１０１、値割当部１０２、運用割当部１０３、制約充足解導出部１０４、変数絞込部１０８及び０／１変数割当部１０９は、例えばＨＤ３０９内に記憶され、必要に応じてＲＡＭ３０２にロードされるプログラム及びそれを実行するＣＰＵ３０１によって実現される構成である。
【００７４】
また、出力制御部１０５は、例えば、必要に応じてＲＡＭ３０２にロードされるプログラム、それを実行するＣＰＵ３０１及びディスプレイコントローラ３１０によって実現される構成である。出力装置１０７は、例えばディスプレイ３１１に相当する構成である。制約条件ＤＢ１０６は、ＨＤ３０９又はＲＡＭ３０２の一部記憶領域に格納されるものである。
【００７５】
次に、本実施形態に係る運用割当装置１００の動作を、図４のフローチャートを参照しながら説明する。
【００７６】
先ず、運用グループ割当部１０１は、表１の各割当対象項目に対して、割り当て可能な全ての運用グループ識別情報を割り当てる（ステップＳ４０１）。
【００７７】
続いて、運用割当部１０３は、表３の各割当対象項目に対して、割り当て可能な全ての運用識別情報を割り当てる（ステップＳ４０２）。
【００７８】
続いて、変数絞込部１０８は、上記制約条件（１）〜（５）を用いた初期制約伝播により、運用グループ割当部１０１及び運用割当部１０３によって各割当対象項目に割り当てられた変数（運用グループ識別情報、運用識別情報）のうち、上記制約条件（１）〜（５）を違反する変数を決定し、探索木の枝（運用グループ識別情報、運用識別情報）を削除する（ステップＳ４０３）。
【００７９】
続いて、０／１変数割当部１０９は、探索木の各枝に対応して０／１変数を割り当てる（ステップＳ４０４）。続いて、値割当部１０２は、各０／１変数に対して、あるパターンで値を割り当てる。
【００８０】
続いて、値割当部１０２は、０／１変数への値の割り当て方が制約条件（５）、（６）に違反するか否かを判定する（ステップＳ４０５）。違反すると判定された場合、処理はステップＳ４０４に戻り、値割当部１０２は、各０／１変数に対して異なるパターンで値の割り当てを行う。一方、違反しない場合（制約条件（５）、（６）を満たす場合）、制約充足解導出部１０４は、値１が割り当てられた０／１変数に対応する運用識別情報の各枝の組み合わせを制約充足解として導出する（ステップＳ４０６）。ここでは、０／１変数の値を決定する方法について説明したが、０／１変数を用いた線形モデルを求解エンジンを用いて値を決定してもよい。
【００８１】
続いて、出力制御部１０５は、制約充足解導出部１０４によって導出された制約充足解を出力装置１０７に出力させる（ステップＳ４０７）。
【００８２】
以上のように、本実施形態においては、表１、表３に示すテーブルの各割当対象項目に割り当てられた変数である運用グループ識別情報、運用識別情報の値のうち、運用グループ識別情報、運用識別情報がとる値に係る制約条件（１）〜（５）（編成の運用に係る制約条件（１）〜（５））を満たさない値を削除する。そして、値が削除された後に運用グループ識別情報や運用識別情報の取り得る値に割り当てられている０／１変数の値のうち、０／１変数がとる値に係る制約条件（５）、（６）（編成の運用に係る制約条件）を満たすような０／１変数への値の割り当て方を求め、１が割り当てられた０／１変数に対する運用グループ識別情報、運用識別情報の値を解として導出するように構成している。このように本実施形態によれば、解空間（探索木）を縮小させた後で解探索を行うようにしているため、解探索に要する時間を大幅に短縮することが可能となる。
【００８３】
なお、他の実施形態として、値割当部１０２が目的関数を最小化或いは最大化するような、０／１変数への値の割り当て方を求めるようにしてもよい。目的関数としては、例えば、各編成の初日から最後の検査の日までの各日に割り当てられる運用の走行キロ数を足し合わせたものを、さらに各編成について足し合わせたものなどが挙げられる。
【符号の説明】
【００８４】
１００：運用割当装置
１０１：運用グループ割当部
１０２：値割当部
１０３：運用割当部
１０４：制約充足解導出部
１０５：出力制御部
１０６：制約条件ＤＢ
１０７：出力装置
１０８：変数絞込部
１０９：０／１変数割当部
【図１】
2011138345.tif 000013
【図２Ａ】
2011138345.tif 000014
【図２Ｂ】
2011138345.tif 000015
【図２Ｃ】
2011138345.tif 000016
【図２Ｄ】
2011138345.tif 000017
【図３】
2011138345.tif 000018
【図４】
2011138345.tif 000019