JPH08329155A - スケジューリングシステム - Google Patents

スケジューリングシステム

Info

Publication number
JPH08329155A
JPH08329155A JP13912495A JP13912495A JPH08329155A JP H08329155 A JPH08329155 A JP H08329155A JP 13912495 A JP13912495 A JP 13912495A JP 13912495 A JP13912495 A JP 13912495A JP H08329155 A JPH08329155 A JP H08329155A
Authority
JP
Japan
Prior art keywords
schedule
planner
correction
partial
constraint condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP13912495A
Other languages
English (en)
Inventor
Masaharu Akatsu
雅晴 赤津
Tomohiro Murata
智洋 村田
Nobuyuki Osaki
伸之 大崎
Kazuo Kurihara
和男 栗原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP13912495A priority Critical patent/JPH08329155A/ja
Publication of JPH08329155A publication Critical patent/JPH08329155A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Train Traffic Observation, Control, And Security (AREA)
  • Traffic Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【目的】 事前に立てたスケジュールに従えない状況が
発生したとき、効率的にスケジュールを修正する。 【構成】 全体スケジュール101を複数の部分スケジ
ュールに分割しておき、モニタ4、モニタ5及びモニタ
6を通じて与えられる全体スケジュール101の修正指
示に対して、プランナ2及びプランナ3で、できる限り
元のスケジュールを変更せず、新たな制約条件を満たす
様に、部分スケジュール201及び部分スケジュール3
01を修正し、コーディネータ1で、それによって生じ
る他の部分への制約伝播の発生を調べて、影響を受ける
部分を担当するプランナ2及びプランナ3に修正指示を
出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、事前に定められた車両
運用計画を修正するスケジューリングシステムに関し、
特に、事前に定められた全体スケジュールに従えない状
況が発生したときに、前記全体スケジュールを部分的に
修正するスケジューリングシステムに適用して有効な技
術に関するものである。
【0002】
【従来の技術】従来、交通、生産等のシステムにおい
て、OR(Operations Research)
やAI(Artificial Intelligen
ce)の手法を用いて、様々なスケジュール作成をコン
ピュータ化する研究開発は、従来から数多く行われてお
り、例えば、最近の動向については、「生産スケジュー
ルの動向」(計測と制御、第33巻、第7号、pp.533-540
(1994))などに解説されている。
【0003】これまでに、数理計画法に代表されるOR
による定式化や最適化、専門家の知識をルール化して推
論を行うエキスパートシステムに代表されるAIアプロ
ーチ、ニューラルネットワークや遺伝アルゴリズムの様
に、ルール化が困難であるとされているものをニューロ
ンや遺伝子等の形式で扱う最適化手法など、多種多様な
手法が提案されており、これらの手法は、基本的に実際
の運用を開始する前に計画を立てる際に利用されてき
た。
【0004】一方、事前にスケジュールを立てた後に、
実際に運用する段階で、突然のスケジュール内容の変更
によって、予め予期していたのとは異なる状況が発生し
た場合には、事前に立てたスケジュールの修正が必要に
なる。この様な動的な変化に対応したスケジュールの修
正を自動的に行うのに好適な方法はこれまで知られてい
なかった。
【0005】
【発明が解決しようとする課題】本発明者は、前記従来
技術を検討した結果、以下の問題点を見い出した。
【0006】すなわち、従来の技術では、事前に立てら
れた全体スケジュールを修正する場合に修正箇所の内容
を変更して全体スケジュールを再作成していた為、全体
スケジュールの修正に時間がかかるという問題があっ
た。
【0007】また、従来のスケジューリング方法では、
全体スケジュールを作成した後に専門家のノウハウを全
体スケジュールに付加し、前記全体スケジュールの内容
を変更していた為、前記全体スケジュールを途中まで実
施した後に、前記全体スケジュールを再作成すると、専
門家のノウハウが途中から失われて修正前の全体スケジ
ュールとの整合性が無くなるという問題があった。
【0008】本発明は、この様な事情に鑑みてなされた
もので、その目的とするところは、事前に立てられた全
体スケジュールに修正が必要になったときに、修正箇所
を局所化して、元の全体スケジュールの骨格を崩さない
様に前記全体スケジュールを修正するスケジューリング
システムを提供することにある。
【0009】本発明の目的は、修正量が少ない全体スケ
ジュールの修正を行うことが可能な技術を提供すること
にある。
【0010】本発明の他の目的は、修正量と制約伝播の
発生量が少ない全体スケジュールの修正を行うことが可
能な技術を提供することにある。
【0011】本発明の他の目的は、全体スケジュールを
修正する解が得られない場合に別解を求めて全体スケジ
ュールを修正することが可能な技術を提供することにあ
る。
【0012】本発明の他の目的は、全体スケジュールの
修正を行う複数の解から最良の解を選択することが可能
な技術を提供することにある。
【0013】本発明の他の目的は、制約条件として表現
されていない規則を満たす全体スケジュールの修正を行
うことが可能な技術を提供することにある。
【0014】本発明の前記並びにその他の目的と新規な
特徴は、本明細書の記述及び添付図面によって明かにな
るであろう。
【0015】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0016】(1)車両を運用する規則である制約条件
を満たす車両運用計画を定めた全体スケジュールを、新
たに発生または変更された制約条件である修正制約条件
によって修正するスケジューリングシステムであって、
前記全体スケジュールを修正するコーディネータと、前
記全体スケジュールを分割した部分スケジュールを修正
する複数のプランナを備え、前記コーディネータは、前
記全体スケジュールを分割して複数の部分スケジュール
を作成して前記複数のプランナに割り当て、前記修正制
約条件を満たしていない部分スケジュールを選択して当
該プランナに修正を指示し、前記プランナでの修正内容
を受け取って前記全体スケジュールを修正する手段を有
し、前記プランナは、前記修正制約条件を満たすと共に
修正量を最小とする部分スケジュールの修正を行い、そ
の修正結果を前記コーディネータに送る手段を有するも
のである。
【0017】(2)前記コーディネータは、前記修正制
約条件を満たしていない部分スケジュールを選択して当
該プランナに修正を指示する際に、他のプランナへの修
正の影響の伝播である制約伝播の発生を防止する希望制
約条件を前記修正指示と共に通知し、前記修正を指示さ
れたプランナは、前記修正制約条件を満たすと共に、修
正量及び前記希望制約条件に違反した場合のペナルティ
の数値を最小とする部分スケジュールの修正を行うもの
である。
【0018】(3)前記プランナによる部分スケジュー
ルの修正で、前記修正制約条件を満たす部分スケジュー
ルが得られなかったときに、部分スケジュールの修正が
既に終了しているプランナの1つを選択し、前記選択さ
れたプランナで前記希望制約条件のペナルティの数値を
変更した修正を行うことによって前記全体スケジュール
の修正を再度やり直すものである。
【0019】(4)前記プランナによる部分スケジュー
ルの修正及び前記コーディネータによる全体スケジュー
ルの修正によって、前記修正制約条件を満たす全体スケ
ジュールが得られたときに、前記希望制約条件のペナル
ティの数値を変更した複数の前記修正制約条件を満たす
全体スケジュールを求め、修正前の全体スケジュールの
制約条件に最も近い修正後の全体スケジュールを選択す
るものである。
【0020】(5)前記プランナによる部分スケジュー
ルの修正を行ったときに、前記修正された部分スケジュ
ールが前記修正制約条件以外の他の制約条件を満たして
いるかどうかを確認し、前記確認結果に応じて部分スケ
ジュールの修正箇所または制約条件を変更して前記部分
スケジュールの再修正を行うものである。
【0021】
【作用】上述した手段の項に記載されたスケジューリン
グシステムの作用を簡単に説明すれば、下記のとおりで
ある。
【0022】(1)前記手段の項に記載されたスケジュ
ーリングシステムは、車両を運用する規則である制約条
件を満たす車両運用計画として、運用車両と前記運用車
両の運用内容と前記運用車両の運用日時を定めた全体ス
ケジュールを、前記運用車両の故障等の新たに発生また
は変更された制約条件である修正制約条件によって修正
するスケジューリングシステムであって、まず、事前に
決定した前記全体スケジュールを外部記憶装置から前記
コーディネータの記憶装置に記憶し、また、前記全体ス
ケジュールを事前に作成したときの制約条件をグローバ
ルノウハウとして、前記コーディネータの記憶装置に記
憶する。
【0023】次に、前記コーディネータは、前記全体ス
ケジュールを前記複数のプランナの担当する範囲の複数
の部分スケジュールに分割すると共に、その分割したそ
れぞれの部分スケジュールの境界での制約条件をローカ
ルノウハウとして抽出し、前記複数の部分スケジュール
と前記複数のローカルノウハウを前記複数のプランナに
割り当てる。
【0024】前記全体スケジュールを複数の部分スケジ
ュールに分割するときには、スケジュール対象のグルー
プである運用車両か、スケジュール内容のグループであ
る運用車両の運用内容か、或いは、スケジュール期間の
グループである運用日時に対して分割が行われる。
【0025】例えば、複数の日にちのスケジュール期間
の各日にちごとに使用する運用車両と前記運用車両の出
発場所と終着場所を決定して全体スケジュールを作成し
た場合に、前記全体スケジュールを1日ごとの複数の部
分スケジュールに分割し、前記複数の部分スケジュール
を前記複数のプランナに割り当てる。
【0026】次に、前記コーディネータは、入力装置か
ら修正制約条件を入力し、前記修正制約条件によって修
正が必要となる部分スケジュールを選択して、前記部分
スケジュールが割り当てられたプランナに前記部分スケ
ジュールの修正を指示する。
【0027】例えば、故障の為、ある運用車両が使用で
きなくなった場合に、前記運用車両を使用している部分
スケジュールを選択し、前記部分スケジュールが割り当
てられているプランナに前記運用車両の入れ替えを指示
する。
【0028】前記プランナは、前記グローバルノウハウ
中の制約条件を満たすと共に前記全体スケジュールから
の修正量が最小になることを目的関数として再スケジュ
ーリングを行う。前記再スケジューリングを行う方法
は、従来から知られている線形計画法を始めとして、ど
の様な方法を用いても構わない。
【0029】前記修正指示によって影響を受ける部分ス
ケジュールが複数存在する場合には、前記複数の部分ス
ケジュールを担当する前記複数のプランナ間で互いに影
響を及ぼす関係を調べて、修正回数が最小となる修正指
示を行う。
【0030】すなわち、前記複数のプランナ間で互いに
影響を及ぼす関係を調べた結果、互いのプランナでの修
正結果が互いに部分スケジュールに影響を及ぼさない場
合には、並列に各プランナに修正を指示し、一方的に片
方のプランナでの修正結果が他方のプランナの部分スケ
ジュールに影響を与える場合には、影響を及ぼすプラン
ナでの修正を行った後に他方のプランナに修正を指示
し、相互のプランナでの修正結果が相互のプランナの部
分スケジュールに影響を及ぼし合う場合には、任意の1
つのプランナでの修正を行った後に前記修正済みのプラ
ンナへの制約伝播の発生を防止する制約条件を追加して
他のプランナの修正を指示する。
【0031】前記修正を指示されたプランナは、前記コ
ーディネータから通知された修正制約条件に対して、前
記修正制約条件を満たすと共に修正量を最小とする部分
スケジュールの修正を行い、その修正結果を前記コーデ
ィネータに送る。
【0032】前記コーディネータは、前記プランナから
部分スケジュールの修正結果を受け取った後に、前記修
正結果によって前記全体スケジュールを修正すると共
に、前記の修正された全体スケジュールの中に、前記修
正制約条件を満たしていなかったり、前記グローバルノ
ウハウに反している様な部分が残っていないかを調べ
る。
【0033】前記全体スケジュール中に修正を要する部
分が残っている場合には、その部分の部分スケジュール
を担当するプランナに対して前記部分スケジュールの修
正を行う様に指示する。
【0034】前記コーディネータからの修正の指示と、
前記プランナでの部分スケジュールの修正を繰り返し、
前記修正制約条件を満たす全体スケジュールを得る。
【0035】以上の様に、全体スケジュールを複数の部
分スケジュールに分割し、修正制約条件を満たしていな
い部分スケジュールを選択して修正を行うので、修正量
が少ない全体スケジュールの修正を行うことが可能であ
る。
【0036】(2)前記全体スケジュールの修正では、
前記全体スケジュールを複数の部分スケジュールに分割
し、修正の必要な部分スケジュールのみを修正すること
によって修正量を低く抑え、修正の局所化を図っている
が、ある部分スケジュールの内容を修正したことによ
り、他の部分スケジュールの修正が必要になることがあ
り、これを制約伝播と呼んでいる。
【0037】前記制約伝播が発生した場合には、(1)
では、修正の必要が無くなるまで部分スケジュールの修
正を繰り返し行うが、前記修正制約条件を満たしていな
い部分スケジュールの修正を当該プランナに指示する際
に、前記制約伝播の発生を防止する希望制約条件を前記
修正指示と共に通知し、当該プランナの部分スケジュー
ル中の前記制約伝播が発生する原因となる部分を変更し
ないこととすれば、前記制約伝播の発生量を低く抑える
ことが可能である。
【0038】しかし、部分スケジュールを修正する為
に、前記制約伝播が発生する部分の変更が必要であり前
記希望制約条件を満たせない場合には、予め設定された
前記希望制約条件に違反した場合のペナルティの数値を
計数し、前記の修正を指示されたプランナは、前記修正
制約条件を満たすと共に。修正量及び前記希望制約条件
に違反した場合のペナルティの計数値の合計を最小とす
る部分スケジュールの修正を行う。
【0039】前記制約伝播の発生量が少なければ、修正
が必要な部分スケジュールの数が減少するので、全体ス
ケジュールの修正量も減少する。
【0040】以上の様に、制約伝播の発生を防止する希
望制約条件を付加するので、修正量と制約伝播の発生量
が少ない全体スケジュールの修正を行うことが可能であ
る。
【0041】(3)前記プランナは、部分スケジュール
を修正する際に、前記グローバルノウハウ中の制約条件
を満たすと共に前記全体スケジュールからの修正量が最
小になることを目的関数として再スケジューリングを行
うが、前記プランナによる部分スケジュールの修正で、
前記修正制約条件を満たす部分スケジュールが得られな
い場合が有り得る。
【0042】この様な場合には、部分スケジュールの修
正が既に終了しているプランナの1つを選択し、前記選
択されたプランナで前記希望制約条件のペナルティの数
値を変更した部分スケジュールの修正を行うことによっ
て前記全体スケジュールの修正を再度やり直して、他の
解を求める。
【0043】以上の様に、希望制約条件を満たさなかっ
た場合のペナルティの数値を変更するので、全体スケジ
ュールを修正する解が得られない場合に別解を求めて全
体スケジュールを修正することが可能である。
【0044】(4)また、前記プランナによる部分スケ
ジュールの修正及び前記コーディネータによる全体スケ
ジュールの修正によって、前記修正制約条件を満たす全
体スケジュールが得られた場合には、更に前記希望制約
条件のペナルティの数値を変更した、前記修正制約条件
を満たす複数の全体スケジュールを求め、修正前の全体
スケジュールの制約条件に最も近い修正後の全体スケジ
ュールを選択する。
【0045】前記の(1)の全体スケジュールの修正で
は、修正量が少なくなる様に全体スケジュールの修正を
行っているが、修正量の少ない全体スケジュールが最良
の全体スケジュールであるとは限らないので、ここで
は、前記希望制約条件のペナルティの数値を変更した全
体スケジュールの修正についても考慮している。
【0046】以上の様に、希望制約条件のペナルティの
数値を変更して複数の解を求めるので、全体スケジュー
ルの修正を行う複数の解から最良の解を選択することが
可能である。
【0047】(5)また、前記部分スケジュールの修正
を行うプランナによっては、当該プランナ特有の制約条
件や、制約条件としてうまく表現できない規則も考慮し
て、前記部分スケジュールの修正を行う必要がある場合
がある。
【0048】そこで、前記プランナでの修正内容を表示
して、前記修正内容が前記修正制約条件以外の他の制約
条件や、制約条件に示されていない規則を満たしている
かどうかを確認し、前記確認結果に応じて前記部分スケ
ジュールの修正内容を変更して前記部分スケジュールの
再修正を行う。
【0049】以上の様に、部分スケジュールの各修正段
階で修正内容を確認し、場合によっては修正制約条件の
内容を変更して修正を行うので、修正制約条件以外の他
の制約条件や、制約条件として表現されていない規則を
満たす全体スケジュールの修正を行うことが可能であ
る。
【0050】
【実施例】以下、本発明について、一実施例とともに図
面を参照して詳細に説明する。
【0051】なお、実施例を説明する為の全図におい
て、同一機能を有するものは同一符号を付け、その繰り
返しの説明は省略する。
【0052】図1は、本発明のスケジューリングシステ
ムの一実施例の概略構成を示す図である。図1におい
て、1はコーディネータ、2及び3はプランナ、4はコ
ーディネータ1のモニタ、5及び6はプランナ2及びプ
ランナ3のモニタである。
【0053】また、図1において、11はコーディネー
タ1の部分分割及び制約条件抽出部、12はコーディネ
ータ1の下位修正の調整部、13はコーディネータ1の
修正部、14はコーディネータ1の通信部、001は事
前スケジュール、101は全体スケジュール、102は
グローバルノウハウであり、21はプランナ2の再スケ
ジューリング部、22はプランナ2の修正部、23はプ
ランナ2の通信部、201はプランナ2の部分スケジュ
ール、202はプランナ2のローカルノウハウ、31は
プランナ3の再スケジューリング部、32はプランナ3
の修正部、33はプランナ3の通信部、301はプラン
ナ3の部分スケジュール、302はプランナ3のローカ
ルノウハウである。
【0054】図1に示す様に、本実施例のスケジューリ
ングシステムは、全体スケジュール101を分割した部
分スケジュール201及び部分スケジュール301を修
正する複数のプランナ2及びプランナ3と、プランナ2
及びプランナ3に部分スケジュール201及び部分スケ
ジュール301の修正を指示して全体スケジュール10
1を修正するコーディネータ1を備えている。
【0055】本実施例のスケジューリングシステムのコ
ーディネータ1は、部分分割及び制約条件抽出部11と
下位修正の調整部12と修正部13を制御する制御装置
と、全体スケジュール101とグローバルノウハウ10
2を記憶する記憶装置と、プランナ2及びプランナ3と
の通信部14である通信装置を有している。
【0056】本実施例のスケジューリングシステムのプ
ランナ2は、再スケジューリング部21及び修正部22
を制御する制御装置と、部分スケジュール201とロー
カルノウハウ202を記憶する記憶装置と、コーディネ
ータ1との通信部23である通信装置を有している。
【0057】本実施例のスケジューリングシステムのプ
ランナ3は、再スケジューリング部31及び修正部32
を制御する制御装置と、部分スケジュール301とロー
カルノウハウ302を記憶する記憶装置と、コーディネ
ータ1との通信部33である通信装置を有している。
【0058】本実施例のスケジューリングシステムで
は、プランナ数が2であるが、このプランナ数には一切
の制約はない。また、本実施例のスケジューリングシス
テムでは、コーディネータ1、プランナ2及びプランナ
3のそれぞれに対応してモニタ4、モニタ5及びモニタ
6が存在しているが、このモニタの数にも一切の制約は
ない。例えば、スケジューリングシステムに、コーディ
ネータ1、プランナ2及びプランナ3の全てに共通のモ
ニタが1つだけある構成でも良い。
【0059】さらに、本実施例のスケジューリングシス
テムのコーディネータ1、プランナ2及びプランナ3を
実施するハードウェアに関しては、それぞれ独立したコ
ンピュータ(例えば、マイクロプロセッサ、パーソナル
コンピュータ、またはワークステーションのいずれか)
を割り当てても良いし、全ての機能を1つのコンピュー
タに組み込んでも構わない。
【0060】本実施例のスケジューリングシステムのコ
ーディネータ1、プランナ2及びプランナ3のそれぞれ
に独立したコンピュータを割り当てた場合には、図1に
示した構成に加え、コーディネータ1とプランナ2及び
プランナ3との間のデータのやり取りを行う為のバスや
LAN(Local Area Network)が必
要になる。
【0061】本実施例のスケジューリングシステムのコ
ーディネータ1の部分分割及び制約条件抽出部11は、
本実施例のスケジューリングシステム立ち上げ時に機能
するもので、まず、車両を運用する規則である制約条件
に従って、運用車両、運用車両の運用内容及び運用日時
を事前に決定した事前スケジュール001を外部記憶装
置からコーディネータの記憶装置に全体スケジュール1
01のデータとして記憶し、前記制約条件をグローバル
ノウハウ102として記憶する。
【0062】次に、部分分割及び制約条件抽出部11
で、全体スケジュール101をプランナ2及びプランナ
3の担当する範囲の部分スケジュール201及び部分ス
ケジュール301に分割すると共に、その分割したそれ
ぞれの部分スケジュールの境界での制約条件をローカル
ノウハウ202及びローカルノウハウ302として抽出
し、通信部14と通信部23及び通信部33を介してプ
ランナ2及びプランナ3に通知する。
【0063】部分分割及び制約条件抽出部11で全体ス
ケジュール101を部分スケジュール201及び部分ス
ケジュール301に分割するときには、スケジュール対
象のグループである運用車両か、スケジュール内容のグ
ループである運用車両の運用内容か、或いは、スケジュ
ール期間のグループである運用日時に対して分割が行わ
れる。
【0064】コーディネータ1の修正部13は、モニタ
4を通じて全体スケジュール101に関する修正指示を
受け取って、前記修正指示によって影響を受ける部分ス
ケジュールを調べ、前記部分スケジュールを担当するプ
ランナに対して通信部14を介して前記部分スケジュー
ルの修正を行う様に指示する。
【0065】本実施例のスケジューリングシステムで
は、前記修正指示によって影響を受ける部分スケジュー
ルが複数存在する場合には、前記複数の部分スケジュー
ルを担当する複数のプランナ間で互いに影響を及ぼす関
係を調べて、修正回数が最小となる修正指示を行う。
【0066】すなわち、互いのプランナでの修正結果が
互いに部分スケジュールに影響を及ぼさない場合には、
並列に各プランナに修正を指示し、一方的に片方のプラ
ンナでの修正結果が他方のプランナの部分スケジュール
に影響を与える場合には、影響を及ぼすプランナでの修
正を行った後に他方のプランナに修正を指示し、相互の
プランナでの修正結果が相互のプランナの部分スケジュ
ールに影響を及ぼし合う場合には、任意の1つのプラン
ナでの修正を行った後に前記修正済みのプランナへの制
約伝播の発生を防止する制約条件を追加して他のプラン
ナの修正を指示する。
【0067】プランナ2及びプランナ3の再スケジュー
リング部21及び再スケジューリング部31は、コーデ
ィネータ1またはモニタ5及びモニタ6から通知された
制約条件の変更に対して、前記制約条件を満たす様に、
部分スケジュール201及び部分スケジュール301の
修正を行う。
【0068】また、プランナ2及びプランナ3の修正部
22及び修正部32は、モニタ5及びモニタ6を通じ
て、各プランナが担当する部分スケジュールに関する修
正指示を受けて、前記修正指示を実行することも可能で
ある。モニタ5及びモニタ6による修正指示では、部分
スケジュールの修正箇所をモニタ上で指示することもで
きるし、優先する仕事や制約条件の変更等、スケジュー
ルを修正する際に必要な情報の追加、変更も指示でき
る。
【0069】コーディネータ1の下位修正の調整部12
は、プランナ2及びプランナ3から部分スケジュール2
01及び部分スケジュール301の修正が報告されたと
き、全体スケジュール101を更新すると共に、全体ス
ケジュール101の中で、新たに発生または変更された
制約条件である修正制約条件を満たしていなかったり、
グローバルノウハウ102に反している様な部分が残っ
ていないかを調べて、修正を要する部分が残っている場
合には、その部分の部分スケジュールを担当するプラン
ナに対して前記部分スケジュールの修正を行う様に指示
する。
【0070】(鉄道車両運用割付の修正処理)以下に、
本実施例のスケジューリングシステムにおいて、鉄道車
両運用割付のオンライン修正を行う処理手順について説
明する。
【0071】図2は、本実施例のスケジューリングシス
テムの鉄道車両運用形態のパターンを示す図である。図
2において、「運番」は鉄道車両運用形態の運用形態番
号、「出発場所」は前記運用形態番号に対応する鉄道車
両が出発する場所、「終着場所」は前記運用形態番号に
対応する鉄道車両が最終的に到着する場所、「検査」は
当該運用日に検査を受けるか否かを示しており、また
「予備」とは突発的な変更に備えて鉄道車両を待機させ
る鉄道車両運用形態を示している。
【0072】図2に示す様に、本実施例のスケジューリ
ングシステムの鉄道車両運用形態のパターンには、出発
場所、終着場所、及び、途中で検査を受けるか否かが定
められている(実際にはその他にも様々な情報がある
が、ここでは省略する)。これらの鉄道車両運用形態を
運用する鉄道車両に割り当てるのが鉄道車両運用割付で
ある。
【0073】本実施例のスケジューリングシステムの鉄
道車両運用割付においては、ある鉄道車両のある日の終
着場所が次の日の出発場所になること、各鉄道車両は3
日以内に1度以上検査を受けること、及び、鉄道車両運
用割付に使用する鉄道車両の数は20台であることをグ
ローバルノウハウ102に記憶された制約条件とする。
【0074】図3は、本実施例のスケジューリングシス
テムの事前スケジュールの一例である鉄道車両運用割付
を示す図である。図3において、縦軸の#1〜#20は
鉄道車両の車両番号、横軸の1日〜15日は鉄道車両に
運用形態番号が割り付けられた割付日、各欄内の数字は
鉄道車両運用形態のパターンを示す運用形態番号であ
る。
【0075】図3に示す様に、本実施例のスケジューリ
ングシステムの鉄道車両運用割付では、20台の鉄道車
両の15日間の鉄道車両運用形態が事前に定められてお
り、「−1」と書かれている部分は、対応する鉄道車両
が特別な検査中の為、割付の対象外であることを示す。
【0076】図4は、本実施例のスケジューリングシス
テムのコーディネータでの処理手順を示すフローチャー
トである。
【0077】図5は、本実施例のスケジューリングシス
テムのプランナでの処理手順を示すフローチャートであ
る。
【0078】以下に、本実施例のスケジューリングシス
テムにおいて、車両故障の発生により鉄道車両運用割付
を修正する処理手順を図4及び図5を参照して説明す
る。
【0079】本実施例のスケジューリングシステムで
は、全体スケジュールである鉄道車両運用計画をスケジ
ュール期間で分割して1日毎に各プランナに割り当て
て、前記割り当てられた1日の鉄道車両運用計画を部分
スケジュールとしている。
【0080】本実施例のスケジューリングシステムのコ
ーディネータ1は、図4に示す様に、まず、ステップ1
000の処理で、事前スケジュール001を読み込み、
全体スケジュール101に格納する。そして、ステップ
1010の処理で、その全体スケジュール101を、プ
ランナ2及びプランナ3の担当する範囲毎の部分スケジ
ュール201及び部分スケジュール301に分割すると
共に、その分割したそれぞれの境界での制約条件を抽出
して、ステップ1020の処理で、その情報をプランナ
2及びプランナ3に通知する。
【0081】具体的には、前記の15日間の鉄道車両運
用計画を1日毎に分割して、各鉄道車両の出発場所が変
更できない制約条件であること、及び、過去2日間に検
査がない鉄道車両があると、3日目のプランナに対し
て、当該鉄道車両の検査が必要であることを各プランナ
に通知する。その後、ステップ1030の処理で、全体
スケジュール101である鉄道車両運用計画をモニタ4
に表示する。
【0082】一方、プランナ2及びプランナ3は、ステ
ップ2000の処理で、コーディネータ1から送られた
データを部分スケジュール201及び部分スケジュール
301並びにローカルノウハウ202及びローカルノウ
ハウ302に格納する。なお、ローカルノウハウ202
及びローカルノウハウ302には、コーディネータ1か
ら送られた制約条件の他に、予め専門家の知識も蓄えら
れる。
【0083】ここでは、故障車両が発生したとき、前記
故障車両と予備の鉄道車両の運用形態の番号である運用
形態番号「19」が割り当てられている鉄道車両とを入
れ替えるということをローカルノウハウ202及びロー
カルノウハウ302として持っているものとする。次
に、プランナ2及びプランナ3は、ステップ2010の
処理で、部分スケジュール201及び部分スケジュール
301をモニタ5及びモニタ6に表示する。
【0084】次に、コーディネータ1は、ステップ10
40の処理で、故障車両の入力を待つ。故障車両が発生
したときには、コーディネータ1に対して、全体スケジ
ュール101である鉄道車両運用割付の故障が発生した
鉄道車両及び日にちに対応する部分が指し示される。
【0085】コーディネータ1は修正制約条件である前
記故障車両の入力を受けると、ステップ1050の処理
で、その部分スケジュールを担当しているプランナを選
択して、そして、ステップ1060の処理で、前記選択
したプランナに対して、故障した鉄道車両の車両番号を
通知して、ステップ1070の処理で、当該プランナか
らの修正報告を待つ。
【0086】前記部分スケジュールを担当しているプラ
ンナの選択で選択されたプランナが複数ある場合には、
お互いの影響を及ぼし合う関係を調べて、お互いに影響
を及ぼさないプランナについては、並列に修正を指示す
る。
【0087】一方的に片方から他方へ影響を及ぼすプラ
ンナについては、影響を及ぼすプランナを先に選択して
修正を指示する。相互に影響を及ぼし合うプランナにつ
いては、任意の1つを選択して修正を指示する。
【0088】本実施例のスケジューリングシステムの鉄
道車両運用割付の例では、修正を行った日の翌日以降に
修正内容による制約条件が伝播するので、各部分スケジ
ュールのプランナは一方的に片方から他方へ影響を及ぼ
すプランナであるとして、修正が必要な部分が複数ある
場合には、その中で一番若い日の部分スケジュールのプ
ランナを最初に選択して修正を指示する。
【0089】図5に示す様に、プランナ2及びプランナ
3は、ステップ2020の処理で、コーディネータ1か
らの通知を待ち、コーディネータ1からの通知を受ける
と、ステップ2030の処理で、前記故障車両が使用で
きなくなるという修正制約条件に関する、新たに生じた
制約条件の違反をなくす様に、部分スケジュール201
及び部分スケジュール301の再スケジューリングを行
う。
【0090】この際、前記制約条件を満たし、事前スケ
ジュール001との修正量が最小になることを目的関数
として再スケジューリングを行う。前記再スケジューリ
ングを行う方法は、従来から知られている線形計画法を
始めとして、どの様な方法を用いても構わない。
【0091】また、先に述べた様に、前記故障車両が発
生した場合には、当該プランナでは、当該プランナの部
分スケジュール中の前記故障車両と、予備の鉄道車両の
運用形態の番号である運用形態番号「19」が割り当て
られている鉄道車両との入れ替えを行う。
【0092】そして、ステップ2040の処理で、修正
した部分スケジュールを当該プランナのモニタに表示し
た後、ステップ2050の処理で、コーディネータ1に
修正結果を報告して、ステップ2020の処理に戻る。
【0093】コーディネータ1は、プランナ2及びプラ
ンナ3からの修正報告を受けると、ステップ1080の
処理で、全体スケジュール101の中の報告のあった部
分を修正する。
【0094】次に、ステップ1090の処理で、全体ス
ケジュール101の中でグローバルノウハウ102の制
約条件を満たしていない部分が存在しているかどうかを
調べる。そして、ステップ1100の処理で、全体スケ
ジュール101をモニタ4に表示する。この時、全体ス
ケジュール中の修正された部分や前記制約条件に違反し
ている部分は、色を変更して表示することにより、前記
各部分の識別を容易にする。
【0095】次に、コーディネータ1は、ステップ11
10の処理で、全体スケジュール101中の制約条件の
違反の有無で分岐して、全体スケジュール101中に制
約条件の違反が残っている場合は、ステップ1050の
処理に戻り、当該制約条件を充足させる為に、部分スケ
ジュールの修正を行うプランナを選択して修正を指示す
る。
【0096】前記の部分スケジュールの修正を行うプラ
ンナの選択では、基本的には、前記の全体スケジュール
101の修正によって新たに制約条件を満たさなくなっ
た部分スケジュールを担当するプランナを選択する。前
記選択されたプランナが複数ある場合には、お互いの影
響を及ぼし合う関係を調べて、お互いに影響を及ぼさな
いプランナについては、並列に修正を指示する。
【0097】以上の処理を繰り返し行い、制約条件の違
反がなくなった時点で、ステップ1110の処理からス
テップ1120の処理に進み、全体スケジュール101
を確定して、次回の修正に備えて、ステップ1010の
処理に戻る。
【0098】より具体的な例を1つ上げる。図3に示す
様に、本実施例のスケジューリングシステムの鉄道車両
運用割付において、5日に車両番号「#18」の鉄道車
両が故障した場合には、コーディネータ1からの報告を
受けた5日に対応するプランナは車両番号「#18」の
鉄道車両と車両番号「#19」の鉄道車両を入れ替えた
修正を行って、前記修正内容をコーディネータ1に送
る。
【0099】前記修正内容に対して、コーディネータ1
は、この時点での6日の部分スケジュールでは、車両番
号「#18」の鉄道車両と車両番号「#19」の鉄道車
両に関して、出発場所が前日の終着場所と等しいという
制約条件を満たしていないことを検出する。
【0100】そこで、コーディネータ1は、6日のプラ
ンナに対して、この制約条件の違反を通知して、当該部
分スケジュールの修正を指示する。前記修正指示によ
り、6日のプランナは、前記制約条件を満たし、かつ、
修正量が最小である解として、車両番号「#18」の鉄
道車両と車両番号「#19」の鉄道車両を入れ替えた修
正を行い、前記修正内容をコーディネータ1に送る。前
記の修正により、今度は7日で同様の制約条件の違反が
発生し、更に当該部分スケジュールの修正を再び行う。
【0101】図6は、本実施例のスケジューリングシス
テムの鉄道車両運用割付の修正内容を示す図である。図
6に示す様に、本実施例のスケジューリングシステムの
鉄道車両運用割付の修正では、5日から8日まで車両番
号「#18」の鉄道車両と車両番号「#19」の鉄道車
両の入れ替えを繰り返し行うと、制約条件の違反がなく
なるので、全体スケジュールの修正が終了する。
【0102】以上の様に、本実施例のスケジューリング
システムによれば、全体スケジュールを複数の部分スケ
ジュールに分割し、修正制約条件を満たしていない部分
スケジュールを選択して修正を行うので、修正量が少な
い全体スケジュールの修正を行うことが可能である。
【0103】(希望制約条件を使用した鉄道車両運用割
付の修正処理)以下に、本実施例のスケジューリングシ
ステムにおいて、他のプランナへの修正結果の影響の波
及である制約伝播の発生を防止する希望制約条件を付加
した鉄道車両運用割付の修正処理手順について説明す
る。
【0104】前記の鉄道車両運用割付の修正例では、プ
ランナ2及びプランナ3において、修正量が最小になる
ことを目的として、部分スケジュールの修正を行ってい
るが、これは他の部分への影響が少なくなることを狙い
としている。
【0105】この狙いをさらに確実にする為に、コーデ
ィネータ1が全体スケジュール101を見て、制約伝播
の発生を防止する条件を希望制約条件として求め、それ
に違反したときのペナルティを数値化して、プランナ2
及びプランナ3に与え、プランナ2及びプランナ3は、
事前スケジュール001からの修正量と前記ペナルティ
の数値の合計が最小になることを目的関数して、当該部
分スケジュールの修正を行う。
【0106】本実施例のスケジューリングシステムのコ
ーディネータ1は、ステップ1060の処理で、希望制
約条件とそのペナルティを通知する。
【0107】前記希望制約条件の具体例としては、例え
ば、仮に運用形態番号を入れ替えたとしても、それが前
の運用形態番号の終着場所と同じであれば、次の日の出
発場所に影響を与えないので、「できる限り終着場所を
事前スケジュールから変更しない」という希望制約条件
が考えられる。
【0108】図3に示す様に、本実施例のスケジューリ
ングシステムの鉄道車両運用割付において、5日に車両
番号「#10」の鉄道車両が故障した場合には、コーデ
ィネータ1からの報告を受けた5日の部分スケジュール
に対応するプランナは、車両番号「#10」の鉄道車両
と車両番号「#19」の鉄道車両を入れ替えた修正を行
い、前記修正内容をコーディネータ1に送る。
【0109】前記修正内容に対して、コーディネータ1
は、この時点での6日の部分スケジュールでは、車両番
号「#10」の鉄道車両と車両番号「#19」の鉄道車
両に関して、出発場所が前日の終着場所と等しいという
制約条件を満たしていないことを検出する。
【0110】そこで、コーディネータ1は、6日のプラ
ンナに対して、この制約条件の違反を通知して修正を指
示する。前記修正指示を受けた6日のプランナは、車両
番号「#10」の鉄道車両には、出発場所と当該鉄道車
両の検査が必要であるという制約条件を満たすには、運
用形態番号「3」か運用形態番号「16」しか割り当て
の可能性がないと判断する。どちらを割り当てても、修
正量という点では変わらないが、できる限り終着場所を
変更しないという希望制約条件も考慮すると、運用形態
番号「3」を割り当てることになる。
【0111】すなわち、6日のプランナは、車両番号
「#10」、車両番号「#19」、車両番号「#11」
の鉄道車両の間で運用形態番号を入れ替えるという部分
スケジュールを修正する解を出す。この解は、7日にお
いて車両番号「#10」の鉄道車両への制約伝播の発生
がないので、車両番号「#10」の鉄道車両に運用形態
番号「16」を割り当てる解に比べて、修正結果が他の
部分スケジュールに及ぼす影響の範囲が小さい。
【0112】以上の様に、本実施例のスケジューリング
システムによれば、制約伝播の発生を防止する希望制約
条件を付加するので、修正量と制約伝播の発生量が少な
い全体スケジュールの修正を行うことが可能である。
【0113】(ペナルティを変更した鉄道車両運用割付
の修正処理)以下に、本実施例のスケジューリングシス
テムにおいて、修正制約条件を満たす解が得られなかっ
た場合の処理手順について、図4及び図5を参照して説
明する。
【0114】本実施例のスケジューリングシステムのコ
ーディネータ1は、図4に示す様に、まず、ステップ1
000の処理で、事前スケジュール001を読み込み、
全体スケジュール101に格納する。そして、ステップ
1010の処理で、その全体スケジュール101を、プ
ランナ2及びプランナ3の担当する範囲毎の部分スケジ
ュール201及び部分スケジュール301に分割すると
共に、その分割したそれぞれの境界での制約条件を抽出
して、ステップ1020の処理で、その情報をプランナ
2及びプランナ3に通知する。
【0115】一方、プランナ2及びプランナ3は、ステ
ップ2000の処理で、コーディネータ1から送られた
データを部分スケジュール201及び部分スケジュール
301並びにローカルノウハウ202及びローカルノウ
ハウ302に格納する。
【0116】コーディネータ1は修正制約条件である故
障車両の入力を受けると、ステップ1050の処理で、
その部分スケジュールを担当しているプランナを選択
し、ステップ1060の処理で、前記選択したプランナ
に対して、故障した鉄道車両の車両番号を通知して、ス
テップ1070の処理で、当該プランナからの修正報告
を待つ。
【0117】図5に示す様に、プランナ2及びプランナ
3は、ステップ2020の処理で、コーディネータ1か
らの通知を待ち、コーディネータ1からの通知を受ける
と、ステップ2030の処理で、前記故障車両が使用で
きなくなるという修正制約条件に関する、新たに生じた
制約条件の違反をなくす様に、部分スケジュール201
及び部分スケジュール301の再スケジューリングを行
う。
【0118】この際、前記制約条件を満たし、事前スケ
ジュール001との修正量が最小になることを目的関数
として再スケジューリングを行うが、実際には、プラン
ナ2及びプランナ3が解く部分スケジュールを修正する
問題に、前記修正制約条件を満たす解が存在しないこと
もありうる。
【0119】この様な場合には、コーディネータ1はス
テップ1075の処理で、プランナ2及びプランナ3か
らの解が存在せず、修正なしという報告を受けた後、ま
だ制約条件の違反が残っているということで、ステップ
1050の処理のプランナ選択に戻り、そこで、既に部
分スケジュールの修正を終えたプランナの中から任意の
1つを選び、そのプランナに対して、先の部分スケジュ
ールの修正とは異なる解が出るまで、先の修正の際に設
定した希望制約条件に違反したときのペナルティの数値
を変更して、部分スケジュールの修正を指示して、修正
をやり直す。
【0120】本実施例のスケジューリングシステムで
は、前記の様に部分スケジュールを修正する別の解を求
めているので、別の修正内容が伝播されることになり、
今度は制約条件を満たす解が得られる可能性がある。こ
れを繰り返し行えば、それぞれのプランナ内で全ての可
能な解を調べることができるので、最終的には、全ての
組み合わせを全件探索するのと同等であるから、与えら
れたスケジュール修正の問題に始めから解が存在しない
ケースを除き、全ての制約条件を満足する解を得ること
ができる、すなわち、全体スケジュール101に関して
の最適性(解が存在するときには必ず見つけること)を
保証する。
【0121】以上の様に、本実施例のスケジューリング
システムによれば、希望制約条件を満たさなかった場合
のペナルティの数値を変更するので、全体スケジュール
を修正する解が得られない場合に別解を求めて全体スケ
ジュールを修正することが可能である。
【0122】(複数の解による鉄道車両運用割付の修正
処理)以下に、本実施例のスケジューリングシステムに
おいて、前記修正制約条件を満たす解が見つかった後
に、前記希望制約条件のペナルティの数値を変更して他
の解を求め、複数の解の中から最良な解を選択する処理
手順について説明する。
【0123】本実施例のスケジューリングシステムにお
いて、前記修正制約条件を満たす全体スケジュール10
1の修正を行う解が見つかった後も、終了の指示を出す
まで、前記希望制約条件のペナルティの数値を変更し
て、最初から修正をやり直して、別解を求めることを繰
り返し行う。
【0124】すなわち、図4に示す様に、本実施例のス
ケジューリングシステムにおいて、全体スケジュール1
01を修正する解が一度得られて、ステップ1010の
処理に戻った後、コーディネータ1は、ステップ101
0の処理及びステップ1020の処理で、修正前の部分
スケジュール201及び部分スケジュール301を改め
てプランナ2及びプランナ3へ通知して、ステップ10
40の処理で指示を待つ。ここで、リトライを指示した
後に、前記希望制約条件の新しいペナルティの数値を入
力すると、前記希望制約条件のペナルティの数値を前記
の新しい数値に変更して、全体スケジュール101の修
正を最初からやり直す。
【0125】前記の様にして、前記希望制約条件のペナ
ルティの数値が異なる全体スケジュールを修正する複数
の解を求め、前記の複数の解の中から最良の解を選択す
る。前記希望制約条件を設定し、制約伝播の発生を防止
したのは、修正量を減らす為であったが、修正量の少な
い全体スケジュールが、最良の全体スケジュールである
とは限らないので、前記希望制約条件を満たす量を変更
した全体スケジュールの修正を行って、得られた複数の
解の中から最良のものを選択する。これにより計算に消
費した時間が長くなればなる程、真に満足する解に近づ
くことができる。
【0126】例えば、図3に示す様に、本実施例のスケ
ジューリングシステムの鉄道車両運用割付において、5
日に車両番号「#10」の鉄道車両が故障した場合に
は、コーディネータ1からの報告を受けた5日の部分ス
ケジュールに対応するプランナは車両番号「#10」の
鉄道車両と車両番号「#19」の鉄道車両を入れ替えた
修正を行い、前記修正内容をコーディネータ1に送る。
【0127】前記修正内容に対して、コーディネータ1
は、この時点での6日の部分スケジュールでは、車両番
号「#10」の鉄道車両と車両番号「#19」の鉄道車
両に関して、出発場所が前日の終着場所と等しいという
制約条件を満たしていないことを検出する。
【0128】そこで、コーディネータ1は、6日のプラ
ンナに対して、この制約条件の違反を通知して修正を指
示する。前記修正指示を受けた6日のプランナは、車両
番号「#10」の鉄道車両には、出発場所と当該鉄道車
両の検査が必要であるという制約条件を満たすには、運
用形態番号「3」か運用形態番号「16」しか割り当て
の可能性がないと判断する。どちらを割り当てても、修
正量という点では変わらないが、できる限り終着場所を
変更しないという希望制約条件も考慮すると、運用形態
番号「3」を割り当てることになる。
【0129】そこで、車両番号「#10」の鉄道車両に
運用形態番号「3」を割り当てた場合と、車両番号「#
10」の鉄道車両に運用形態番号「16」を割り当てた
場合の2つの解を求め、当該鉄道車両の車両数と到着駅
の乗降客数を比較する等の条件によって、より良い解を
選択する。
【0130】以上の様に、本実施例のスケジューリング
システムによれば、希望制約条件のペナルティの数値を
変更して複数の解を求めるので、全体スケジュールの修
正を行う複数の解から最良の解を選択することが可能で
ある。
【0131】(修正段階ごとに確認を行う鉄道車両運用
割付の修正処理)以下に、本実施例のスケジューリング
システムにおいて、各部分スケジュールの修正段階の修
正内容を確認しながら全体スケジュールの修正を行う処
理手順について説明する。
【0132】本実施例のスケジューリングシステムで
は、コーディネータ1、プランナ2及びプランナ3は、
地理的に離れた場所に設置されている場合があり、各設
置場所に特有の制約条件を持つことがある。また、全体
スケジュール101を修正する際に、制約条件にうまく
表現できない規則を満たす修正が必要な場合がある。例
えば、鉄道車両運用割付の場合では、「普通」「準急」
「急行」或いは「客車」「貨物」等の鉄道車両の種類
や、「平日」「日曜」「祭日」等の運用日時によって停
車駅が制限されることがあるが、本実施例の制約条件に
は含まれていない。
【0133】前記の各プランナの設置場所に特有の制約
条件や、制約条件に記載されていない規則は、コーディ
ネータ1、プランナ2及びプランナ3のグローバルノウ
ハウ102やローカルノウハウ202及びローカルノウ
ハウ302に入力されていない場合があるので、ある部
分スケジュールを修正したときに、前記修正内容を表示
して確認し、前記のグローバルノウハウ102やローカ
ルノウハウ202及びローカルノウハウ302に入力さ
れていない制約条件を満たしているかどうかを確認する
必要がある。
【0134】図7は、本実施例のスケジューリングシス
テムのプランナが表示する部分スケジュールの一例を示
す図である。図7において、51は修正後部分スケジュ
ール表示部、52は修正前部分スケジュール表示部、5
3は部分スケジュール修正指示部、54は制約条件変更
用スクロールバー、55は部分スケジュール修正選択ボ
タン、56は全体スケジュール修正選択ボタン、57は
修正確認ボタンである。
【0135】図7に示す様に、本実施例のスケジューリ
ングシステムのプランナが表示する部分スケジュール
は、ある段階の修正を終了した部分スケジュールを表示
する修正後部分スケジュール表示部51、修正前の部分
スケジュールを表示する修正前部分スケジュール表示部
52、修正後部分スケジュール表示部51に更に修正を
指示する部分スケジュール修正指示部53、制約条件の
内容の変更を指示する制約条件変更用スクロールバー5
4、部分スケジュールの修正ごとに修正内容の確認を行
う処理を選択する部分スケジュール修正選択ボタン5
5、全体スケジュールの修正を1度に行う処理を選択す
る全体スケジュール修正選択ボタン56、修正指示の内
容の確認を行う修正指示確認ボタン57を有している。
【0136】図8は、本実施例のスケジューリングシス
テムの修正完了指示を入力する画面を示す図である。図
8において、61はOKボタン、62はNGボタンであ
る。
【0137】図8に示す様に、本実施例のスケジューリ
ングシステムのプランナは、部分スケジュールの再スケ
ジューリングを行った後に、修正完了であるかを確認す
るOKボタン61とNGボタン62を有している。
【0138】図9は、本実施例のスケジューリングシス
テムの各部分スケジュールの修正段階ごとに確認を行う
場合のコーディネータの処理手順を示すフローチャート
である。
【0139】図10は、本実施例のスケジューリングシ
ステムの各部分スケジュールの修正段階ごとに確認を行
う場合のプランナの処理手順を示すフローチャートであ
る。
【0140】以下に、本実施例のスケジューリングシス
テムにおいて、車両故障の発生により鉄道車両運用割付
を修正する処理手順を図9及び図10を参照して説明す
る。
【0141】本実施例のスケジューリングシステムのコ
ーディネータ1は、図9に示す様に、まず、ステップ3
000の処理で、事前スケジュール001を読み込み、
全体スケジュール101に格納する。そして、ステップ
3010の処理で、その全体スケジュール101を、プ
ランナ2及びプランナ3の担当する範囲毎の部分スケジ
ュール201及び部分スケジュール301に分割すると
共に、その分割したそれぞれの境界での制約条件を抽出
して、ステップ3020の処理で、その情報をプランナ
2及びプランナ3に通知する。
【0142】一方、プランナ2及びプランナ3は、ステ
ップ4000の処理で、コーディネータ1から送られた
データを部分スケジュール201及び部分スケジュール
301並びにローカルノウハウ202及びローカルノウ
ハウ302に格納する。なお、ローカルノウハウ202
及びローカルノウハウ302には、コーディネータ1か
ら送られた制約条件の他に、予め専門家の知識も蓄えら
れている。
【0143】ここでは、故障車両が発生したとき、その
鉄道車両と予備の鉄道車両の運用形態の番号である運用
形態番号「19」が割り当てられている鉄道車両とを入
れ替えるということをローカルノウハウ202及びロー
カルノウハウ302として持っているものとする。次
に、プランナ2及びプランナ3は、ステップ4010の
処理で、部分スケジュール201及び部分スケジュール
301をモニタ5及びモニタ6に表示する。
【0144】次に、コーディネータ1は、ステップ30
40の処理で、故障車両の入力を待つ。故障車両が発生
したときには、コーディネータ1に対して、全体スケジ
ュール101である鉄道車両運用割付の故障が発生した
鉄道車両及び日にちに対応する部分が指し示される。
【0145】コーディネータ1は修正制約条件である前
記故障車両の入力を受けると、ステップ3050の処理
で、その部分スケジュールを担当しているプランナを選
択して、そして、ステップ3060の処理で、前記選択
したプランナに対して、故障した鉄道車両番号を通知し
て、ステップ3040の処理で、当該プランナからの修
正報告を待つ。
【0146】これに対してプランナ2及びプランナ3
は、図10に示す様に、ステップ4000の処理で、コ
ーディネータ1からの通知を待ち、コーディネータ1か
らの通知を受けると、ステップ4010の処理で、部分
スケジュール201及び部分スケジュール301の再ス
ケジューリングを行い、図7に示す様に、プランナ2及
びプランナ3は、1日分の割り当ての最新スケジュール
を修正後部分スケジュール表示部51に、修正前の部分
スケジュールを修正前部分スケジュール表示部52に表
示する。
【0147】修正後部分スケジュール表示部51に、あ
る修正を行った部分スケジュールを表示しているのプラ
ンナ2及びプランナ3は、ステップ4020の処理で、
プランナでの修正指示の入力があるか否かを調べる。
【0148】前記のプランナでの修正指示には、大きく
分けて2種類ある。前記修正指示の1つは、直接、部分
スケジュールの修正箇所を指示するもので、具体的に
は、部分スケジュール修正指示部53に新しい運用形態
番号を入力する。部分スケジュール修正指示部53への
新しい運用形態番号の入力では、修正後部分スケジュー
ル表示部51の割り当ての一部を入れ替えた部分スケジ
ュールの車両番号「#1」の鉄道車両から車両番号「#
20」の鉄道車両までの全てを指示することもできる
し、修正箇所のみを指示するだけでも良い。例えば、故
障車両を指示したいときは、その鉄道車両に対応する部
分に運用形態番号「19」を入力すれば良い。
【0149】もう1つの種類の修正指示は、制約条件の
変更に関するものである。現時点で考慮している制約条
件は、制約条件変更用スクロールバー54に表示されて
いる。制約条件には、絶対に守らねばならない必須制約
条件と、守ることが望ましい希望制約条件がある。さら
に、希望制約条件の場合には、それに違反した場合のペ
ナルティが与えられる。制約条件変更用スクロールバー
54の各スクロールバーを操作することにより、これら
の変更を行うことができる。部分スケジュール修正指示
部53及び制約条件変更用スクロールバー54に修正箇
所を入力した後、修正指示を出す。
【0150】この際、部分スケジュールの修正を行った
後に前記修正内容を確認するモードか、或いは、全体ス
ケジュールの修正まで行うモードかを指定できる。これ
は、部分スケジュール修正選択ボタン55、または、全
体スケジュール修正選択ボタン56で指定する。前者の
場合は、部分スケジュール修正選択ボタン55、後者の
場合は全体スケジュール修正選択ボタン56を押す。
【0151】修正指示の入力があった場合、プランナ2
及びプランナ3は、次に、ステップ4030の処理で、
前記修正指示の内容通りに、部分スケジュール201及
び部分スケジュール301又はローカルノウハウ202
及びローカルノウハウ302を修正する。
【0152】さらに、ステップ4050の処理で、前記
修正で生じた制約条件の違反をなくす様に、部分スケジ
ュール201及び部分スケジュール301の再スケジュ
ーリングを行う。この再スケジューリングを行う方法
は、従来から知られている線形計画法を始めとして、ど
の様な方法を用いても構わない。
【0153】そして、ステップ4060の処理で、部分
スケジュール201及び部分スケジュール301の修正
結果を、モニタ5及びモニタ6に表示する。
【0154】その後、ステップ4070の処理で、前記
指示されたモードを調べて、部分スケジュールの修正だ
けを行うモードを指示する部分スケジュール修正選択ボ
タン55が押されていた場合には、ステップ4080の
処理で次の指示を待つ。
【0155】モニタ5及びモニタ6に表示された部分ス
ケジュール201及び部分スケジュール301の修正結
果を調べて、前記修正結果が、グローバルノウハウ10
2やローカルノウハウ202及びローカルノウハウ30
2に入力されていない制約条件や規則を満たしていない
場合は、改めて部分スケジュール修正指示部53、制約
条件変更用スクロールバー54に修正指示を設定して、
部分スケジュール修正選択ボタン55、或いは全体スケ
ジュール修正選択ボタン56を押すことによって、ステ
ップ4030の処理に戻る。
【0156】一方、前記修正結果がグローバルノウハウ
102やローカルノウハウ202及びローカルノウハウ
302に入力されていない制約条件や規則を満たしてい
る場合であれば、修正指示確認ボタン57を押す。
【0157】前記の様に修正指示確認ボタン57を押し
た場合、或いは、修正指示の際に全体スケジュール10
1の修正を自動的に行うモードが指定されていた(全体
スケジュール修正選択ボタン56が押されていた)場合
は、プランナ2及びプランナ3は、ステップ4090の
処理で、部分スケジュール201及び部分スケジュール
301の修正結果をコーディネータ1に報告した後、ス
テップ4020の処理に戻る。
【0158】コーディネータ1は、ステップ3040の
処理で、プランナ2及びプランナ3からの報告があるま
で待ち、プランナ2及びプランナ3からの報告がある
と、ステップ3050の処理で、全体スケジュール10
1の報告のあった部分を修正する。
【0159】次に、ステップ3060の処理で、全体ス
ケジュール101の中で、制約を満たしていない部分を
調べる。そして、ステップ3070の処理で、全体スケ
ジュール101をモニタ4に表示する。
【0160】次に、コーディネータ1は、ステップ30
80の処理で、制約条件の違反の有無で分岐して、制約
条件の違反が残っている場合は、ステップ3120の処
理で、次に部分スケジュールの修正を行うプランナを選
択する。
【0161】そして、ステップ3130の処理で、その
選択したプランナに対して、修正を指示する内容を通知
して、ステップ3040の処理に戻り、そのプランナか
らの修正報告を待つ。
【0162】プランナ2及びプランナ3は、ステップ4
040の処理で、コーディネータ1からの通知がないか
を調べており、通知があった場合には、ステップ405
0の処理で、新たな状況に合う様に再スケジューリング
を行う。以下の処理は、前述の修正指示があったときと
同じである。
【0163】以上の処理を繰り返した後、ステップ30
80の処理で、全体スケジュール101に制約条件の違
反がなくなった場合には、ステップ3090の処理に進
み、図8に示す様に、モニタ4に修正完了指示を入力す
る画面を表示し、修正完了指示の入力を待つ。
【0164】全体スケジュール101の修正結果を見
て、前記修正結果が、グローバルノウハウ102やロー
カルノウハウ202及びローカルノウハウ302に入力
されていない制約条件や規則を満たしている場合は、O
Kボタン61を押し、前記修正結果が、グローバルノウ
ハウ102やローカルノウハウ202及びローカルノウ
ハウ302に入力されていない制約条件や規則を満たし
ていない場合は、NGボタン62を押す。
【0165】NGボタン62が押された場合は、コーデ
ィネータ1は、ステップ3100の処理で、やり直しを
する部分の指示を待つ。これは、グローバルノウハウ1
02やローカルノウハウ202及びローカルノウハウ3
02に入力されていない制約条件や規則を満たしていな
い部分を指定すれば良い。そして、コーディネータ1
は、ステップ3110の処理で、前記の指定された部
分、及び、それ以降に修正した部分を全てリセットし
て、ステップ3120の処理へ進む。
【0166】OKボタン61が押された場合、コーディ
ネータ1は、ステップ3140の処理で、修正結果を最
新の全体スケジュール101として確定して、ステップ
3010の処理に戻る。
【0167】以上の様に、本実施例のスケジューリング
システムによれば、部分スケジュールの各修正段階で修
正内容を確認し、場合によっては修正制約条件の内容を
変更して修正を行うので、修正制約条件以外の他の制約
条件や、制約条件として表現されていない規則を満たす
全体スケジュールの修正を行うことが可能である。
【0168】以上、本発明を、前記実施例に基づき具体
的に説明したが、本発明は、前記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲において種々変
更可能であることは勿論である。
【0169】例えば、本実施例のスケジューリングシス
テムは、事前に定められた車両運用計画を修正する場合
に適用されているが、ある機械と作業内容と作業日時を
定めた工程計画を実行する生産システムで、ある機械で
事前に立てた前記工程計画に従えない状況が発生したと
きに、前記工程計画の修正を行うジョブステップスケジ
ューリングシステムに適用しても良い。
【0170】また、本実施例のスケジューリングシステ
ムでは、プランナにて満たすべき制約条件を指定して前
記制約条件の変更を行う例を示したが、許されないスケ
ジュール内容を指定することによって前記制約条件の内
容を示しても良い。
【0171】また、本実施例のスケジューリングシステ
ムでは、各部分スケジュールの修正段階ごとに確認を行
う処理手順について説明したが、ある特定の複数の部分
スケジュールの修正段階までを連続的に行った後に、残
りの部分スケジュールの各修正段階ごとに確認を行って
も良い。
【0172】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0173】(1)全体スケジュールを複数の部分スケ
ジュールに分割し、修正制約条件を満たしていない部分
スケジュールを選択して修正を行うので、修正量が少な
い全体スケジュールの修正を行うことが可能である。
【0174】(2)制約伝播の発生を防止する希望制約
条件を付加するので、修正量と制約伝播の発生量が少な
い全体スケジュールの修正を行うことが可能である。
【0175】(3)希望制約条件を満たさなかった場合
のペナルティの数値を変更するので、全体スケジュール
を修正する解が得られない場合に別解を求めて全体スケ
ジュールを修正することが可能である。
【0176】(4)希望制約条件のペナルティの数値を
変更して複数の解を求めるので、全体スケジュールの修
正を行う複数の解から最良の解を選択することが可能で
ある。
【0177】(5)部分スケジュールの各修正段階で修
正内容を確認し、場合によっては修正制約条件の内容を
変更して修正を行うので、修正制約条件以外の他の制約
条件や、制約条件として表現されていない規則を満たす
全体スケジュールの修正を行うことが可能である。
【図面の簡単な説明】
【図1】本発明のスケジューリングシステムの一実施例
の概略構成を示す図である。
【図2】本実施例のスケジューリングシステムの鉄道車
両運用形態のパターンを示す図である。
【図3】本実施例のスケジューリングシステムの事前ス
ケジュールの一例である鉄道車両運用割付を示す図であ
る。
【図4】本実施例のスケジューリングシステムのコーデ
ィネータでの処理手順を示すフローチャートである。
【図5】本実施例のスケジューリングシステムのプラン
ナでの処理手順を示すフローチャートである。
【図6】本実施例のスケジューリングシステムの鉄道車
両運用割付の修正内容を示す図である。
【図7】本実施例のスケジューリングシステムのプラン
ナが表示する部分スケジュールの一例を示す図である。
【図8】本実施例のスケジューリングシステムの修正完
了指示を入力する画面を示す図である。
【図9】本実施例のスケジューリングシステムの各部分
スケジュールの修正段階ごとに確認を行う場合のコーデ
ィネータの処理手順を示すフローチャートである。
【図10】本実施例のスケジューリングシステムの各部
分スケジュールの修正段階ごとに確認を行う場合のプラ
ンナの処理手順を示すフローチャートである。
【符号の説明】
1…コーディネータ、2…プランナ、3…プランナ、4
…モニタ、5…モニタ、6…モニタ、001…事前スケ
ジュール、101…全体スケジュール、102…グロー
バルノウハウ、201…部分スケジュール、301…部
分スケジュール、202…ローカルノウハウ、302…
ローカルノウハウ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 栗原 和男 茨城県ひたちなか市市毛1070番地 株式会 社日立製作所水戸工場内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 車両を運用する規則である制約条件を満
    たす車両運用計画を定めた全体スケジュールを、新たに
    発生または変更された制約条件である修正制約条件によ
    って修正するスケジューリングシステムであって、 前記全体スケジュールを修正するコーディネータと、前
    記全体スケジュールを分割した部分スケジュールを修正
    する複数のプランナを備え、 前記コーディネータは、前記全体スケジュールを分割し
    て複数の部分スケジュールを作成して前記複数のプラン
    ナに割り当て、前記修正制約条件を満たしていない部分
    スケジュールを選択して当該プランナに修正を指示し、
    前記プランナでの修正内容を受け取って前記全体スケジ
    ュールを修正する手段を有し、 前記プランナは、前記修正制約条件を満たすと共に修正
    量を最小とする部分スケジュールの修正を行い、その修
    正結果を前記コーディネータに送る手段を有することを
    特徴とするスケジューリングシステム。
  2. 【請求項2】 前記コーディネータは、前記修正制約条
    件を満たしていない部分スケジュールを選択して当該プ
    ランナに修正を指示する際に、他のプランナへの修正の
    影響の伝播である制約伝播の発生を防止する希望制約条
    件を前記修正指示と共に通知し、前記修正を指示された
    プランナは、前記修正制約条件を満たすと共に、修正量
    及び前記希望制約条件に違反した場合のペナルティの数
    値を最小とする部分スケジュールの修正を行うことを特
    徴とする請求項1に記載されたスケジューリングシステ
    ム。
  3. 【請求項3】 前記プランナによる部分スケジュールの
    修正で、前記修正制約条件を満たす部分スケジュールが
    得られなかったときに、部分スケジュールの修正が既に
    終了しているプランナの1つを選択し、前記選択された
    プランナで前記希望制約条件のペナルティの数値を変更
    した修正を行うことによって前記全体スケジュールの修
    正を再度やり直すことを特徴とする請求項2に記載され
    たスケジューリングシステム。
  4. 【請求項4】 前記プランナによる部分スケジュールの
    修正及び前記コーディネータによる全体スケジュールの
    修正によって、前記修正制約条件を満たす全体スケジュ
    ールが得られたときに、前記希望制約条件のペナルティ
    の数値を変更した複数の前記修正制約条件を満たす全体
    スケジュールを求め、修正前の全体スケジュールの制約
    条件に最も近い修正後の全体スケジュールを選択するこ
    とを特徴とする請求項2に記載されたスケジューリング
    システム。
  5. 【請求項5】 前記プランナによる部分スケジュールの
    修正を行ったときに、前記修正された部分スケジュール
    が前記修正制約条件以外の他の制約条件を満たしている
    かどうかを確認し、前記確認結果に応じて部分スケジュ
    ールの修正箇所または制約条件を変更して前記部分スケ
    ジュールの再修正を行うことを特徴とする請求項1乃至
    請求項4の何れか1項に記載されたスケジューリングシ
    ステム。
JP13912495A 1995-06-06 1995-06-06 スケジューリングシステム Pending JPH08329155A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13912495A JPH08329155A (ja) 1995-06-06 1995-06-06 スケジューリングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13912495A JPH08329155A (ja) 1995-06-06 1995-06-06 スケジューリングシステム

Publications (1)

Publication Number Publication Date
JPH08329155A true JPH08329155A (ja) 1996-12-13

Family

ID=15238075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13912495A Pending JPH08329155A (ja) 1995-06-06 1995-06-06 スケジューリングシステム

Country Status (1)

Country Link
JP (1) JPH08329155A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197402A (ja) * 2000-10-05 2002-07-12 Ns Solutions Corp シミュレーション装置、シミュレーションシステム、シミュレーション方法、記録媒体、及びプログラム
JP2009075631A (ja) * 2007-09-18 2009-04-09 Kobe Steel Ltd 生産スケジュール作成方法及びそのシステム
JP2009073623A (ja) * 2007-09-20 2009-04-09 Ns Solutions Corp 運用割当装置、運用割当方法及びプログラム
JP2009171160A (ja) * 2008-01-15 2009-07-30 Sharp Corp 利用者の行動を学習し、事前に知らせる携帯端末装置
JP2011240727A (ja) * 2010-05-14 2011-12-01 Mitsubishi Electric Corp 車両運用計画作成装置および車両運用計画修正方法
JP2021054305A (ja) * 2019-09-30 2021-04-08 小田急電鉄株式会社 車両運用計画生成方法、車両運用計画生成装置、及びプログラム
JP2022067990A (ja) * 2020-10-21 2022-05-09 トヨタ自動車株式会社 運行管理方法、サーバ、及びシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197402A (ja) * 2000-10-05 2002-07-12 Ns Solutions Corp シミュレーション装置、シミュレーションシステム、シミュレーション方法、記録媒体、及びプログラム
JP2009075631A (ja) * 2007-09-18 2009-04-09 Kobe Steel Ltd 生産スケジュール作成方法及びそのシステム
JP2009073623A (ja) * 2007-09-20 2009-04-09 Ns Solutions Corp 運用割当装置、運用割当方法及びプログラム
JP2009171160A (ja) * 2008-01-15 2009-07-30 Sharp Corp 利用者の行動を学習し、事前に知らせる携帯端末装置
JP2011240727A (ja) * 2010-05-14 2011-12-01 Mitsubishi Electric Corp 車両運用計画作成装置および車両運用計画修正方法
JP2021054305A (ja) * 2019-09-30 2021-04-08 小田急電鉄株式会社 車両運用計画生成方法、車両運用計画生成装置、及びプログラム
JP2022067990A (ja) * 2020-10-21 2022-05-09 トヨタ自動車株式会社 運行管理方法、サーバ、及びシステム

Similar Documents

Publication Publication Date Title
US4926343A (en) Transit schedule generating method and system
Holmberg et al. Improved empty freight car distribution
Moore Jr et al. The indispensable role of management science in centralizing freight operations at Reynolds Metals Company
EP1709582A1 (en) Method and system for rescheduling passengers
AU2013205954B2 (en) A system and method for vehicle movement modeling in a railway network
US7461008B2 (en) Planning and scheduling modification of a configuration
JPH052594A (ja) 自動作業編成装置
JPH08329155A (ja) スケジューリングシステム
CN113780588A (zh) 一种轨道交通车辆检修自动排程方法及***
Chiang et al. Protection against uncertainty in a deterministic schedule
EP3623257B1 (en) Vehicle allocation support system, method, and program
JPH08272402A (ja) 原料輸送配船計画用推論装置
Dožić et al. Heuristic approach to the airline schedule disturbances problem: single fleet case
KR102397566B1 (ko) 승무운영계획 시스템
JP3241714B2 (ja) 計画型推論方法及びその装置
JPH11129147A (ja) 多数の加工工程からなる加工システムのための作業管理システム
Fuentes et al. A novel approach to the tail assignment problem in airline planning
JPH09244706A (ja) 計画修正方法及び装置
JP2009042810A (ja) サプライチェーンの効率化支援方法
JPH10149347A (ja) 資源割り当て方法及び資源割り当て装置
Elhüseyni Preventive and corrective maintenance scheduling for vehicles at a single dead-end track under service level agreement
JP7222798B2 (ja) 車両運行支援装置および車両運行支援方法
JPH10244442A (ja) 大規模生産計画立案方式
KR20140058716A (ko) 재단공정에서 에스비씨 할당 계획 시스템 및 방법
JP7308090B2 (ja) 作業計画システムおよび作業計画方法