(57)【要約】【課題】スケジュールを修正する場合に、或る製造工程の時間帯の変更が、他の製造工程に及ぼす影響を、できるだけ小さくするようにスケジュールを修正する技術を提供することを目的とする。【解決手段】スケジュール作成装置は、複数の製造工程によって生産する製品の各製造工程を処理する時間帯を示す所定画像それぞれを、時間軸上に割り当てたチャート画像を表示し、製造工程間の時間に関する制約条件として、製造工程間の取り得る時間間隔を、製造工程間ごとに記憶しており、所定画像を変更することによって処理の開始時刻又は終了時刻が変更された製造工程である変更製造工程と、変更後の時刻とを取得し、製造工程間の時間間隔とその製造工程の制約条件とに基づいて製造工程間の余裕時間を求め、余裕時間が最大となる製造工程のうち変更製造工程に近い方から、変更製造工程までの製造工程を、変更製造工程と連鎖して移動する製造工程として選択し移動する。【選択図】図１
2014099075.tif 000002
【特許請求の範囲】
【請求項１】
複数の製造工程によって生産する製品の各製造工程を処理する時間帯を示す所定画像それぞれを、時間軸上に割り当てたチャート画像を表示し、前記製品の生産スケジュールを作成するスケジュール作成装置であって、
前記所定画像を変更することによって処理の開始時刻又は終了時刻が変更された製造工程である変更製造工程と、変更後の開始時刻又は終了時刻とを取得する取得手段と、
製造工程間の時間に関する制約条件として、製造工程間の取り得る時間間隔を、製造工程間ごとに記憶する記憶手段と、
前記変更製造工程の変更後における前記製品の各製造工程間の時間間隔それぞれと、前記記憶手段に記憶されている製造工程間ごとの制約条件とに基づいて、前記製品の各製造工程間の余裕時間を算出する余裕時間算出手段と、
前記余裕時間算出手段が算出した製造工程間の余裕時間が最大となる２つの製造工程のうちの前記変更製造工程に近い方の製造工程、及び、当該近い方の製造工程と前記変更製造工程との間にある製造工程を連鎖移動工程として選択する選択手段と、
前記選択手段で選択した連鎖移動工程を処理する開始時刻及び終了時刻を、前記変更製造工程の変更後の開始時刻又は終了時刻に応じて変更する変更手段と
を備えることを特徴とするスケジュール作成装置。
【請求項２】
前記記憶手段は、前記時間間隔として最小時間及び最大時間を記憶しており、
前記余裕時間算出手段は、前記変更製造工程の開始時刻が変更された場合には、変更製造工程より先に行われる製造工程である上流側の製造工程間の余裕時間を求め、前記変更製造工程の終了時刻が変更された場合には、変更製造工程より後に行われる製造工程である下流側の製造工程間の余裕時間を求め、前記変更製造工程の開始時刻が早くなるように、又は、前記変更製造工程の終了時刻が遅くなるように変更された場合は、製造工程間の時間間隔から当該製造工程の前記最小時間を減算して、当該製造工程間の余裕時間を算出し、前記変更製造工程の開始時刻が遅くなるように、又は、前記変更製造工程の終了時刻が早くなるように変更された場合は、製造工程間の時間間隔を当該製造工程の前記最大時間から減算して、当該製造工程間の余裕時間を算出し、
前記選択手段は、前記変更製造工程の開始時刻が変更された場合には、変更製造工程の上流側の製造工程から連鎖移動工程を選択し、前記変更製造工程の終了時刻が変更された場合には、変更製造工程の下流側の製造工程から連鎖移動工程を選択する
ことを特徴とする請求項１に記載のスケジュール作成装置。
【請求項３】
前記変更手段は、前記変更製造工程の開始時刻又は終了時刻が早くなるように変更された場合には、その変更時間分、前記選択手段が選択した連鎖移動工程の開始時刻及び終了時刻を早くするように変更し、前記変更製造工程の開始時刻又は終了時刻が遅くなるように変更された場合には、その変更時間分、前記選択手段が選択した連鎖移動工程の開始時刻及び終了時刻を遅くするように変更する
ことを特徴とする請求項１又は２に記載のスケジュール作成装置。
【請求項４】
複数の製造工程によって生産する製品の各製造工程を処理する時間帯を示す所定画像それぞれを、時間軸上に割り当てたチャート画像を表示し、前記製品の生産スケジュールを作成するスケジュール作成装置であって、製造工程間それぞれの時間に関する制約条件として、製造工程間の取り得る最小時間及び最大時間とを、製造工程間ごとに記憶する記憶手段を備えるスケジュール作成装置で用いられるスケジュール作成方法であって、
前記所定画像を変更することによって処理する時間帯が変更された製造工程である変更製造工程と、変更後の時間帯とを取得する取得ステップと、
前記変更製造工程の変更後における前記製品の各製造工程間の時間間隔それぞれと、前記記憶手段に記憶されている製造工程間ごとの制約条件とに基づいて、前記製品の各製造工程間の余裕時間を算出する余裕時間算出ステップと、
前記余裕時間算出ステップで算出した製造工程間の余裕時間が最大となる２つの製造工程のうちの前記変更製造工程に近い方の製造工程、及び、当該近い方の製造工程と前記変更製造工程との間にある工程を連鎖移動工程として選択する選択ステップと、
前記選択ステップで選択した連鎖移動工程を処理する開始時刻及び終了時刻を、前記変更製造工程の変更後の開始時刻又は終了時刻に応じて変更する変更ステップと
を備えることを特徴とするスケジュール作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数工程を経て製造される製品の生産管理技術に関し、特に、スケジュールを修正する技術に関する。
【背景技術】
【０００２】
通常、複数工程で生産する製品のスケジュール管理は、いわゆるガントチャートを用いて行われている。このガントチャートは、時間を横軸に取るとともに、各工程で用いる設備を縦軸に取り、各工程（設備）での１回の処理（ジョブ）を、その開始時刻から終了時刻で示される時間帯に対応する長方形枠（ジョブ枠、タイル）で表したものである。
【０００３】
スケジュールは、様々な要因によって修正（変更）されることがあり、この場合に、ユーザ（オペレータ）は、ディスプレイ上に表示されたガントチャートにおける複数のタイルのうち、修正を要するタイルをマウスやキーボード等の入力手段で指定し、そのタイルをガントチャート上で時間軸方向や設備軸方向に移動させることによって、または、タイルの時間軸方向の幅（長さ、設備の占有時間）を変更することによって、スケジュールの修正（変更）を行っている。
【０００４】
このスケジュールの修正の際には、修正後のスケジュールが様々な所定の制約を満たすように修正を行う必要がある。例えば、製品の各工程の処理が重ならないことや工程の順序が逆転しないこと、工程の処理と工程の処理の間を一定時間あけるなどである。このような所定の制約を満たしつつ、スケジュールの修正を行う技術が提案されている。
【０００５】
例えば、画面上で、或るタイルを移動させてタイルが示すジョブの処理時間を変更すると、その移動させたタイル（以下「変更タイル」という。）とリンクする他のタイルは、変更タイルとの相対位置関係を保持したまま変更タイルの移動と連鎖して移動する（特許技術文献１等参照）。具体例を、図１６を用いて説明する。図１６では、５つの工程を経て製造される製品のガントチャートを示しており、工程１〜５のそれぞれで用いる設備１〜５で処理するジョブを「Ｊ１」〜「Ｊ５」と記載されたタイルで表している（以下、「Ｊ１タイル」等という。）。実線のタイルで表した初期スケジュールを修正して、破線のタイルで表したスケジュールを作成する。図１６（ａ）では、Ｊ４タイルを白抜き矢印で示す将来時刻の方向に移動して、Ｊ４タイル１の位置まで移動すると、他のＪ１タイル、Ｊ２タイル、Ｊ３タイル、及び、Ｊ５タイルは、Ｊ４タイルとの相対位置関係を崩さないまま移動する。また、図１６（ｂ）では、時間帯の長さを長くすべくＪ３タイルの右辺（太線で示す）を白抜き矢印の方向に移動してタイルの長さを延ばして、Ｊ３タイル２の長さとすると、Ｊ４タイル、及び、Ｊ５タイルは、Ｊ３タイルとの相対位置関係を崩さないように移動する。１つのタイルを修正したとしても、タイル間の時間間隔が初期スケジュールのまま保持された、すなわち、修正後も時間的な制約を満たしているスケジュールとなっているので、効率的なスケジュールの修正操作が可能になる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２５１５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、実際には、タイル間の時間間隔は厳密なものではない場合が多く、或る程度の幅が許される場合が多い。また、タイルが示すジョブで用いる設備の運用側にとっては、初期のスケジュールからの変更が少ない方が運用効率等の観点からも好ましい。
【０００８】
そこで、本発明は、スケジュールを修正する場合に、或るタイル（ジョブ）の時間帯の変更が、他のタイル（ジョブ）に及ぼす影響を、できるだけ小さくするようにスケジュールを修正する技術を提供することを目的とする。タイルの時間帯の変更とは、タイルを移動する場合、あるいは、ジョブの開始時刻又は終了時刻を変更してタイルの幅を変更する場合をいう。タイルを移動するとは、ジョブの開始時刻と終了時刻と間の時間を変えずにジョブの開始時刻又は終了時刻を変更する場合をいう。
【課題を解決するための手段】
【０００９】
本発明にかかる一態様では、複数の製造工程によって生産する製品の各製造工程を処理する時間帯を示す所定画像それぞれを、時間軸上に割り当てたチャート画像を表示し、前記製品の生産スケジュールを作成するスケジュール作成装置であって、前記所定画像を変更することによって処理の開始時刻又は終了時刻が変更された製造工程である変更製造工程と、変更後の開始時刻又は終了時刻とを取得する取得手段と、製造工程間の時間に関する制約条件として、製造工程間の取り得る時間間隔を、製造工程間ごとに記憶する記憶手段と、前記変更製造工程の変更後における前記製品の各製造工程間の時間間隔それぞれと、前記記憶手段に記憶されている製造工程間ごとの制約条件とに基づいて、前記製品の各製造工程間の余裕時間を算出する余裕時間算出手段と、前記余裕時間算出手段が算出した製造工程間の余裕時間が最大となる２つの製造工程のうちの前記変更製造工程に近い方の製造工程、及び、当該近い方の製造工程と前記変更製造工程との間にある製造工程を連鎖移動工程として選択する選択手段と、前記選択手段で選択した連鎖移動工程を処理する開始時刻及び終了時刻を、前記変更製造工程の変更後の開始時刻又は終了時刻に応じて変更する変更手段とを備えることを特徴とする。
【００１０】
そして、本発明の他の一態様に係るスケジュール作成方法は、複数の製造工程によって生産する製品の各製造工程を処理する時間帯を示す所定画像それぞれを、時間軸上に割り当てたチャート画像を表示し、前記製品の生産スケジュールを作成するスケジュール作成装置であって、製造工程間それぞれの時間に関する制約条件として、製造工程間の取り得る最小時間及び最大時間とを、製造工程間ごとに記憶する記憶手段を備えるスケジュール作成装置で用いられるスケジュール作成方法であって、前記所定画像を変更することによって処理する時間帯が変更された製造工程である変更製造工程と、変更後の時間帯とを取得する取得ステップと、前記変更製造工程の変更後における前記製品の各製造工程間の時間間隔それぞれと、前記記憶手段に記憶されている製造工程間ごとの制約条件とに基づいて、前記製品の各製造工程間の余裕時間を算出する余裕時間算出ステップと、前記余裕時間算出ステップで算出した製造工程間の余裕時間が最大となる２つの製造工程のうちの前記変更製造工程に近い方の製造工程、及び、当該近い方の製造工程と前記変更製造工程との間にある工程を連鎖移動工程として選択する選択ステップと、前記選択ステップで選択した連鎖移動工程を処理する開始時刻及び終了時刻を、前記変更製造工程の変更後の開始時刻又は終了時刻に応じて変更する変更ステップとを備えることを特徴とする。
【００１１】
このような構成のスケジュール作成装置及びスケジュール作成方法によれば、製造工程の開始時刻又は終了時刻（時間帯）が変更された場合に、製造工程間の余裕時間が最も長い、すなわち、最も余裕がある製造工程間と、変更製造工程の間にある連鎖移動工程のみを、変更製造工程の変更に連動して移動する。つまり、変更製造工程の変更時間を、最も余裕がある製造工程間が吸収することになるので、他の製造工程への影響をできるだけ少なくしたスケジュール修正が可能となる。製造工程間の余裕時間は、製造工程間の制約条件である最小時間及び最大時間と、製造工程間の時間間隔とに基づいて、算出する。
【００１２】
製造工程が変更される都度、製造工程間の余裕時間を算出して連鎖移動工程を選択するので、スケジュール全体における製造工程間の余裕時間に偏りが生じ難くなり、製造工程間時間の余裕を極力確保するようなスケジュール修正が可能となる。実際にスケジュールに従って操業を行った場合には、スケジュールとの「ずれ」が生じ得る。すなわち、製造工程間の余裕時間を確保することで、この「ずれ」による制約違反を招くリスクや、下流の製造工程への「ずれ」の伝搬を極力小さくすることができるスケジュールを作成することが可能となる。
【００１３】
また、上述のスケジュール作成装置において、前記記憶手段は、前記時間間隔として最小時間及び最大時間を記憶しており、前記余裕時間算出手段は、前記変更製造工程の開始時刻が変更された場合には、変更製造工程より先に行われる製造工程である上流側の製造工程間の余裕時間を求め、前記変更製造工程の終了時刻が変更された場合には、変更製造工程より後に行われる製造工程である下流側の製造工程間の余裕時間を求め、前記変更製造工程の開始時刻が早くなるように、又は、前記変更製造工程の終了時刻が遅くなるように変更された場合は、製造工程間の時間間隔から当該製造工程の前記最小時間を減算して、当該製造工程間の余裕時間を算出し、前記変更製造工程の開始時刻が遅くなるように、又は、前記変更製造工程の終了時刻が早くなるように変更された場合は、製造工程間の時間間隔を当該製造工程の前記最大時間から減算して、当該製造工程間の余裕時間を算出し、前記選択手段は、前記変更製造工程の開始時刻が変更された場合には、変更製造工程の上流側の製造工程から連鎖移動工程を選択し、前記変更製造工程の終了時刻が変更された場合には、変更製造工程の下流側の製造工程から連鎖移動工程を選択することが好ましい。
【００１４】
この構成によれば、変更製造工程がどのように変更されたかにより、製造工程間の余裕時間の算出方法が異なるので、より適切な余裕時間を算出することが可能となる。具体的には、変更製造工程の開始時刻が変更されたか終了時刻が変更されたかによって、余裕時間を算出する製造工程間の製造工程が上流の製造工程か下流の製造工程かが決まる。また、変更の方向、すなわち、早くなるように変更されたか、遅くなるように変更されたかによって、余裕時間を算出する際に、製造工程間の時間制約の最大時間を利用するか、最小時間を利用するかが決定される。そして、これに基づいて算出された余裕時間によって、連鎖移動タスクが選択される。
【００１５】
従って、製造工程間時間の制約として最大時間と最小時間の両方の制約がある場合でも、変更製造工程の選び方や製造工程の変更方向によらず適切な余裕時間を算出することができるので、製造工程間の時間間隔の余裕を極力確保する柔軟なスケジュール修正が可能となる。
【００１６】
また、上述のスケジュール作成装置において、前記変更手段は、前記変更製造工程の開始時刻又は終了時刻が早くなるように変更された場合には、その変更時間分、前記選択手段が選択した連鎖移動工程の開始時刻及び終了時刻を早くするように変更し、前記変更製造工程の開始時刻又は終了時刻が遅くなるように変更された場合には、その変更時間分、前記選択手段が選択した連鎖移動工程の開始時刻及び終了時刻を遅くするように変更することが好ましい。
【００１７】
この構成によれば、連鎖移動工程と変更製造工程との相対関係が変更されずに、すなわち、製造工程間の時間間隔が変更しなうようなスケジュール修正が可能となる。
【発明の効果】
【００１８】
本発明にかかるスケジュール作成装置は、或る製造工程（タイル）の時間帯の変更が、他の製造工程（タイル）に及ぼす影響を、できるだけ小さくするようにスケジュールを修正することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態におけるスケジュール作成装置の機能ブロック図である。
【図２】図１に示すスケジュール作成装置の工程情報テーブルの構成及び内容の例を示す図である。
【図３】図１に示すスケジュール作成装置のスケジュール情報テーブルの構成及び内容の例を示す図である。
【図４】図１に示すスケジュール作成装置の工程間条件情報テーブルの構成及び内容の例を示す図である。
【図５】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図６】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図７】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図８】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図９】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図１０】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図１１】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図１２】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図１３】図１に示すスケジュール作成装置のスケジュール修正方法を説明するための図である。
【図１４】図１に示すスケジュール作成装置の余裕時間の求め方を説明するための図である。
【図１５】図１に示すスケジュール作成装置のスケジュール修正処理のフローチャートである。
【図１６】従来のスケジュール修正方法の例を説明するための図である。
【発明を実施するための形態】
【００２０】
＜実施形態＞
＜概要＞
例えば鉄鋼製品の生産スケジュールにおいては、ガントチャートのタイル（ジョブ）間、言いかえれば、工程間の間隔には、一般に、少なくとも必要な搬送時間や、焼鈍後のコイルの冷却時間などの「最小時間」と、温度低下で品質が劣化する限界の時間や在庫管理上の滞留時間の上限などの「最大時間」の制約が存在する。従って、タイルの移動やタイルの長さの変更等を行うスケジュール修正時には、これらの制約の範囲であれば、すなわち、変更後のタイル間の時間間隔が最小時間と最大時間の間であれば、自由にタイルの変更を行うこととしても構わない。他のジョブや設備への影響は発生しないからである。
【００２１】
しかし、タイル間の時間間隔は、制約の限界ギリギリの時間間隔ではなく、余裕を持った時間間隔であることが望まれる。スケジュールに従って操業を実行する場合、スケジュールと操業とのずれが生じ得る。この際、生じたずれにより、制約違反を招くリスクや、ずれの下工程への伝搬を小さくするためである。
【００２２】
タイル間の時間間隔は、最小時間と最大時間の間である場合であっても、全ての時間間隔が、その時間間隔の制約に対して等しい余裕を保っているわけではない。他の製品の生産スケジュールの都合や、スケジュールの修正などによって、タイル間の時間間隔は変動するからである。
【００２３】
本実施形態のスケジュール作成装置では、タイルを変更した場合に、その変更の影響を、時間間隔が制約に対して最も余裕があるタイル間で吸収し、他のタイル間の時間間隔の制約に対する余裕を極力確保するように、スケジュール修正を行う。
【００２４】
ここで、本実施形態のスケジュール作成装置の機能ブロックの構成を説明する前に、スケジュール作成装置におけるスケジュール修正方法について、図５〜図１６を用いて説明する。
【００２５】
＜スケジュール修正方法＞
図５〜図１３は、６つの工程を経て製造される或る製品のガントチャートを示す図である。この製品は、工程１〜工程６までの６つの工程を経て生産され、工程１〜６それぞれで設備１〜６を用いる。ガントチャート上では、それぞれの設備でのジョブを「Ｊ１」〜「Ｊ６」と記載されたタイルで表す（以下、「Ｊ１タイル」等という。）。タイルは、ジョブを処理する時間帯、すなわち、ジョブの処理の開始時刻と終了時刻とを示す。従って、タイルの横幅は、設備の占有時間に応じた長さとなっている。また、両端が矢印の太線は、上述の「最大時間」を示し、両端が矢印の白抜き線は、「最小時間」を示す。また、破線で示すタイルは、修正前又は変更前のタイルを示す。
【００２６】
図５は、初期スケジュールのガントチャートを示す。初期スケジュールは、各タイル間の時間間隔が、制約の範囲内、すなわち、最小時間以上、最大時間以下となるように作成される。以下、ガントチャート上でタイル間を連結する線分をリンクということとする。実施形態では、リンクはタイルの依存関係を示すと共に、タイル間の時間的な関係も示すものとする。
【００２７】
図５の初期スケジュールにおいて、Ｊ１タイルとＪ２タイルとの間のリンクをリンクＰ１、Ｊ２タイルとＪ３タイルとの間のリンクをリンクＰ２、Ｊ３タイルとＪ４タイルとの間のリンクをリンクＰ３、Ｊ４タイルとＪ５タイルとの間のリンクをリンクＰ４、Ｊ５タイルとＪ６タイルとの間のリンクをリンクＰ５ということとする。このリンクの時間的な制約である最小時間及び最大時間は、各タイルが示すジョブの処理内容及び用いられる設備に応じて異なり、図５のガントチャートで、リンクＰ１の最小時間１１及び最大時間２１、リンクＰ２の最小時間１２及び最大時間２２、リンクＰ３の最小時間１３及び最大時間２３、リンクＰ４の最小時間１４及び最大時間２４を、リンクＰ５の最小時間１５及び最大時間２５を、それぞれ矢印で示す。また、最大時間２０は、原材料が工場に到着してから、設備１での処理を開始するまでの最大時間を示す。
【００２８】
次に、図５に示すスケジュールにおいて、Ｊ４タイルを、図６で示すように白抜き矢印の方向、すなわち、将来方向に移動する修正を行う場合を説明する。以下、図６のＪ４タイルのように、ユーザが位置や長さを変更したタイルを「変更タイル」といい、変更タイルの移動に連鎖して移動するタイルを「連鎖移動タイル」ということとする。図では、連鎖移動タイルは、タイルにハッチングを行っている。
【００２９】
実施形態では、変更タイルの変更に際して、タイル間の時間制約に対して最も余裕があるリンクの時間のみを変更するように、他のタイルの移動を行う。最も余裕があるリンクの時間のみを変更することで、他のリンクの余裕を確保できることになり、余裕が全くないリンクの発生を減らすことができる。
【００３０】
図６のＪ４タイルは、白抜き矢印方向に、時間Δｔ移動した場合を示す。Ｊ２タイル、Ｊ３タイル、及び、Ｊ５タイルが連鎖移動タイルである。連鎖移動タイルは、図７で示すように、変更タイルであるＪ４タイルの変更量と同じ時間Δｔ移動する。
【００３１】
実施形態では、変更タイルであるＪ４タイルと、最も余裕があるリンクとの間にあるタイルを連鎖移動タイルとする。すなわち、最も余裕があるリンクの時刻と、変更タイルの時刻との間にあるタイルを連鎖移動タイルとする。
【００３２】
図６では、リンクＰ１及びリンクＰ５が、最も余裕があるリンク（以下、「工程間時間余裕最大リンク」という。）である。図では、太線で記載している。また、各リンクの余裕時間を、両端が黒丸の線分で示す。リンクＰ１の余裕時間は余裕時間３１であり、リンクＰ２の余裕時間は余裕時間３２であり、リンクＰ３の余裕時間は余裕時間３３であり、リンクＰ４の余裕時間は余裕時間３４であり、リンクＰ５の余裕時間は余裕時間３５である。尚、余裕時間３３は、余裕時間が０（ゼロ）である事を示す。図６で示すように、変更タイルが移動された場合には、工程間時間余裕最大リンクは、変更タイルの上流側のタイル、及び、下流側のタイルで求められる。
【００３３】
＜余裕時間の求め方＞
ここで、工程間の余裕時間の求め方について説明する。
【００３４】
変更タイルと関連する（リンクする）全てのタイルの開始時刻と終了時刻とから、タイル間の工程間時間を、後工程（タイル）の開始時刻から前工程（タイル）の終了時刻を減算することにより計算する。そして、工程間ごとの時間制約から、各工程間の余裕時間を計算する。詳細には、変更タイルの上流側と下流側、及び、変更タスクの移動方向（過去方向か未来方向か）により、以下の方法で工程間時間余裕を計算する。
【００３５】
図１４に、変更タイルと余裕時間の関係を示す。図において、前タイルは、変更タイルの前の工程のタイル（上流のタイル）を示し、後タイルは、変更タイルの後の工程のタイル（下流のタイル）を示す。図では、変更タイルの１つ上流のタイルと変更タイルとの間の余裕時間を算出する例を示しているが、上流側の全タイル間の余裕時間も同様に、工程間時間とその工程間の時間制約とから算出する。また、変更タイルの１つ下流のタイルと変更タイルとの間の余裕時間を算出する例を示しているが、下流側の全タイル間の余裕時間も同様に算出する。
【００３６】
図１４（ａ）、（ｂ）は、変更タイルの上流側のタイルの、工程間の余裕時間の算出例を示す。図５（ａ）は、変更タスクの開始時刻が早くなった、すなわち、過去方向に変更になった場合を示す。この方向は、リンクＰ９１の時間が短くなる方向である為、最小時間を用いて、以下の式で算出する。
工程間の余裕時間＝工程間時間−工程間時間の最小時間
また、図５（ｂ）は、変更タスクの開始時刻が遅くなった、すなわち、未来方向に変更になった場合を示す。この方向は、リンクＰ９１の時間が長くなる方向である為、最大時間を用いて、以下の式で算出する。
工程間の余裕時間＝工程間時間の最大時間−工程間時間
図１４（ｃ）、（ｄ）は、変更タイルの下流側のタイルの、工程間の余裕時間の算出例を示す。図５（ｃ）は、変更タスクの開始時刻が早まった、すなわち、過去方向に変更になった場合を示す。この方向は、リンクＰ９３の時間が長くなる方向である為、最大時間を用いて、以下の式で算出する。
工程間の余裕時間＝工程間時間の最大時間−工程間時間
また、図５（ｄ）は、変更タスクの開始時刻が遅くなった、すなわち、未来方向に変更になった場合を示す。この方向は、リンクＰ９４の時間が短くなる方向である為、最小時間を用いて、以下の式で算出する。
工程間の余裕時間＝工程間時間−工程間時間の最小時間
図１４（ｅ）、（ｆ）は、変更タイルを移動した場合、すなわち、処理時間を変えずに処理時刻と終了時刻を変更した場合を示す。図１４（ｅ）は、変更タスクを未来方向に移動した場合を示す。この場合は、変更タスクの上流側のタスク間の余裕時間は、図１４（ｂ）で示したように、リンクＰ９５の最大時間を用いて算出し、変更タスクの下流側のタスク間の余裕時間は、図１４（ｄ）で示したように、リンクＰ９６の最小時間を用いて算出する。
【００３７】
図１４（ｆ）は、変更タスクを過去方向に移動した場合を示す。この場合は、変更タスクの上流側のタスク間の余裕時間は、図１４（ａ）で示したように、リンクＰ９７の最小時間を用いて算出し、変更タスクの下流側のタスク間の余裕時間は、図１４（ｃ）で示したように、リンクＰ９８の最大時間を用いて算出する。尚、リンクＰ９７の例で示すように、算出される余裕時間が負である場合もある。この場合は、余裕時間はマイナスで示す。
【００３８】
工程間の余裕時間は、図１４（ａ）〜（ｄ）で示すように、変更タイルの開始時刻又は終了時刻の一方のみが変更された場合は、変更された側のタイル間の余裕時間が算出され、最も大きい余裕時間のリンクが、工程間時間余裕最大リンクとされる。また、図１４（ｅ）、（ｆ）で示すように、変更タイルが移動、すなわち、開始時刻及び終了時刻の双方が変更された場合は、上流側及び下流側それぞれのタイル間の余裕時間が算出され、それぞれ最も大きい余裕時間のリンクが、それぞれの工程間時間余裕最大リンクとされる。
【００３９】
図８は、図７で示すスケジュールから、更に、Ｊ４タイルを白抜き矢印の方向に移動した場合を示す。図８では、Ｊ４タイルの移動に応じて求めた工程間時間余裕最大リンクは、リンクＰ１及びリンクＰ５であり、Ｊ２タイル、Ｊ３タイル、Ｊ５タイルが連鎖移動タイルとなり、Ｊ４タイルの移動時間分、Ｊ４タイルの移動方向に移動することになる。
【００４０】
更に、図８で示すスケジュールのＪ４タイルを、白抜き矢印の方向に移動した場合を、図９に示す。図９では、Ｊ４タイルの上流側におけるリンクＰ１の余裕時間３１、リンクＰ２の余裕時間３２、リンクＰ３の余裕時間３３のうち、余裕時間が最も長いのはリンクＰ３であるので、リンクＰ３が工程間時間余裕最大リンクとなる。また、Ｊ４タイルの下流側におけるリンクＰ４の余裕時間３４、リンクＰ５の余裕時間３５のうち、余裕時間が最も長いのはリンクＰ４であるので、リンクＰ４が工程間時間余裕最大リンクとなる。従って、この場合は、連鎖移動タスクはないことになり、Ｊ４タイルのみが移動する。
【００４１】
更に、図９で示すスケジュールのＪ４タイルを、白抜き矢印の方向に時間Δｔ移動した場合を、図１０に示す。図１０では、Ｊ４タイルの上流側におけるリンクＰ１の余裕時間３１、リンクＰ２の余裕時間３２、リンクＰ３の余裕時間３３のうち、余裕時間が最も長いのはリンクＰ１であるので、リンクＰ１が工程間時間余裕最大リンクとなる。また、Ｊ４タイルの下流側におけるリンクＰ４の余裕時間３４、リンクＰ５の余裕時間３５のうち、余裕時間が最も長いのはリンクＰ５であるので、リンクＰ５が工程間時間余裕最大リンクとなる。従って、この場合の連鎖移動タスクは、Ｊ２タイル、Ｊ３タイル、及び、Ｊ５タイルとなる。図１１に、連鎖移動タイルが時間Δｔ移動したスケジュールを示す。
【００４２】
すなわち、変更タイルの移動に従い、工程間時間余裕最大リンクが変わり、連鎖移動タイルも変わることになる。このように、変更タイルの移動にしたがって、工程間の時間的な余裕の大きいタイル間の工程間時間を優先的に調整することで、工程間時間の余裕が無くなってタイルの移動範囲が限定されることや、スケジュールと操業のずれにより制約違反が発生する危険性を減らしたスケジュールを作成することが可能となる。
【００４３】
図６〜図１１では、変更タイルであるＪ４タイルが将来方向に移動した場合を説明したが、過去方向に移動した場合は、図１４（ｆ）で示すように余裕時間を算出し、連鎖移動タイルを選択して、連鎖移動タイルを過去方向に、変更タイルの変更時間分移動する。
【００４４】
次に、図１２、１３を用いて、図５に示すスケジュールにおけるＪ３タイルの終了時刻を、矢印の方向に遅らせる、すなわち、将来方向に変更する修正を行う場合を説明する。
【００４５】
Ｊ３タイルの終了時刻を、時間Δｓ遅らせた場合、すなわち、将来方向に変更した場合には、変更タイルであるＪ３タイルの下流側の全タイル間の余裕時間を算出する。具体的には、図１４（ｄ）において説明したように、各タイル間の余裕時間を、工程間時間から工程間時間の最小時間を引いて求める。図１２に示す例では、リンクＰ５が、工程間時間余裕最大リンクとなり、Ｊ４タイル、及び、Ｊ５タイルが連鎖移動タイルとなる。図１３に、連鎖移動タイルが、Ｊ３タイルの変更時間Δｓ分、将来方向に移したスケジュールを示す。
【００４６】
以下、本発明にかかる実施の一形態を図面に基づいて説明する。
【００４７】
＜構成＞
図１は、スケジュール作成装置１０００の機能ブロック図である。
【００４８】
スケジュール作成装置１０００は、例えば、マイクロプロセッサおよびその周辺回路等を備えて構成されたパソコン等であり、スケジュール作成制御部１００１、操作部１００２、及び、ディスプレイ１００３で構成される。
【００４９】
操作部１００２は、スケジュールを作成するプログラム等を起動するコマンド等の各種コマンド、スケジュールの作成を行う上で必要な各種データ、及び、ディスプレイ１００３に表示されたガントチャート上のタイルの移動等の変更指示をスケジュール作成装置１０００に入力する機器である。例えば、キーボード、マウス、タッチパネル等である。
【００５０】
ディスプレイ１００３は、操作部１００２から入力されたコマンドやデータ、及び、スケジュール作成装置１０００において作成されたスケジュールをガントチャートとして出力（提示）する機器である。例えばＣＲＴ（Cathode Ray Tube）ディスプレイ、ＬＣＤ（Liquid Crystal Display）、有機ＥＬ（Electro Luminescence）ディスプレイ、及び、プラズマディスプレイ等の表示装置である。
【００５１】
スケジュール作成制御部１００１は、操作情報入力部１１００、スケジュール表示部１２００、変更タイル検出部１３００、変更タイルスケジュール更新部１４００、連鎖移動タイル選択部１５００、余裕時間算出部１６００、連鎖移動タイルスケジュール更新部１７００、スケジュール作成部１８００、スケジュール記憶部２０００、工程間条件情報記憶部２１００、及び、工程情報記憶部２２００を備え、スケジュール作成装置１０００が備える各機能部を制御し、スケジュール作成処理等を行わせる機能を有する。
【００５２】
操作情報入力部１１００は、操作部１００２から入力されたユーザ操作を、一定周期で監視し、画面上のガントチャートに対する操作を検出し、タイル変更取得部１３００に通知する機能を有する。
【００５３】
変更タイル検出部１３００は、操作情報入力部１１００から通知されたガントチャート上への操作に基づいて、タイルに対する操作を識別し、変更指示されたタイル（変更タイル）と、変更内容とを検出する機能を有する。変更内容とは、例えば、変更タイルが移動された場合は、移動前のタイルの開始時刻と移動後の開始時刻、変更タイルの長さが変更された場合は、その変更前後のタイルの開始時刻及び終了時刻である。
【００５４】
変更タイルスケジュール更新部１４００は、変更タイル検出部１３００が検出した変更タイルの変更後の情報に、スケジュール記憶部２０００に記憶されているスケジュールを更新する機能を有する。
【００５５】
連鎖移動タイル選択部１５００は、変更タイルの変更に応じて、工程間時間余裕最大リンクを決定して、連鎖移動タイルを決定する機能を有する。工程間時間余裕最大リンクは、余裕時間算出部１６００に、上流及び下流のうちの何れか、又は、双方の各リンクの余裕時間を算出させ、その結果に応じて決定する。
【００５６】
余裕時間算出部１６００は、連鎖移動タイル選択部１５００からの依頼に応じて、リンクの余裕時間を算出する機能を有する。算出方法は、上記＜余裕時間の求め方＞の項で説明した方法である。余裕時間算出部１６００は、連鎖移動タイル選択部１５００から、変更タイルと、上流及び下流のうちの何れか、又は、双方を指定されて、各タイル間の余裕時間を求め、各タイル間の余裕時間を連鎖移動タイル選択部１５００に通知する。
【００５７】
連鎖移動タイルスケジュール更新部１７００は、連鎖移動タイル選択部１５００が決定した連鎖移動タイルの移動後の情報に、スケジュール記憶部２０００に記憶されているスケジュールを更新する機能を有する。
【００５８】
スケジュール作成部１８００は、初期スケジュール（図５参照）を作成し、スケジュール記憶部２０００に記憶させる機能を有する。スケジュール作成部１８００は、工程間条件情報記憶部２１００が記憶している工程間条件を満たした初期スケジュールを作成する。
【００５９】
スケジュール表示部１２００は、スケジュール記憶部２０００に記憶されているスケジュールから、ガントチャートの表示データを作成し、ディスプレイ１００３に表示させる機能を有する。
【００６０】
スケジュール記憶部２０００は、スケジュールを記憶する機能を有する。スケジュール記憶部２０００は、最初はスケジュールとしてスケジュール作成部１８００が作成した初期スケジュールを記憶しており、その後、ユーザによるガントチャートの修正に応じて、変更タイルスケジュール更新部１４００、及び、連鎖移動タイルスケジュール更新部１７００によってスケジュールが更新される。
【００６１】
工程間条件情報記憶部２１００は、リンク毎の工程間条件を記憶しておく機能を有する。
【００６２】
工程情報記憶部２２００は、スケジュール作成部１８００が初期スケジュールを作成するために必要な情報を記憶しておく機能を有する。
【００６３】
実施形態のスケジュール作成装置１０００は、上述のように、例えば、パーソナルコンピュータ等のコンピュータを用いて構成可能であり、ハードディスク等の記憶部に格納されているスケジュール作成方法等をプログラムしたソフトウェアを実行することによって上述のスケジュール作成部１８００等がコンピュータに機能的に構成される。
【００６４】
尚、各機能部は、複数の装置に分散していてもよい。例えば、スケジュール作成部１８００、工程情報記憶部２２００が、別の装置でスケジュールを作成し、スケジュール記憶部２０００に送信するなどである。
【００６５】
＜データ＞
以下、スケジュール作成装置１０００で用いるデータについて説明する。
【００６６】
図２は、工程情報テーブル２２１０の構成例及びその内容例を示す図である。工程情報テーブル２２１０は、実施形態で製造する製品の製造工程、設備等を示すものであり、工程情報記憶部２２００に記憶されている。工程情報記憶部２２００には、工程情報テーブル２２１０の他にも、初期スケジュールを作成する際にスケジュール作成部１８００によって参照されるデータが記憶されていることとする。
【００６７】
工程情報テーブル２２１０は、工程番号２２１１、設備ＩＤ２２１２、及び、処理時間２２１３を含んで構成される。
【００６８】
工程番号２２１１は、工程の処理を示す識別子である。詳細には、工程情報テーブル２２１０には、１工程につき１レコードが登録されており、１番目のレコードが最初に実行される第１工程のレコード、２番目のレコードが第１工程の次に実行される第２工程のレコードというようにレコードが登録されている。また、工程番号２２１１として、例えば、鋳造工程、圧延工程、梱包工程などの工程の処理を示す識別子が設定されている。図２では、「工程１」、「工程２」等と記載している。
【００６９】
設備ＩＤ２２１２は、工程番号２２１１が示す工程で用いられる設備を特定する識別子を示す。
【００７０】
処理時間２２１３は、工程番号２２１１で示す工程を、設備ＩＤ２２１２で示す設備で処理したときに要する基本時間を示す。基本時間は、初期スケジュールを作成する場合に用いられる。
【００７１】
図３は、スケジュール情報テーブル２０１０の構成例及びその内容例を示す図である。スケジュール情報テーブル２０１０は、工程１〜５での１回の処理を示す。通常は、時間差をつけて、並行して同じ工程の処理が行われるので、スケジュール情報テーブル２０１０が複数個、スケジュール記憶部２０００に記憶されていることになる。スケジュール情報テーブル２０１０は、ユーザがガントチャート上で行うスケジュールの修正に応じて、適時更新される。また、スケジュール表示部１２００は、このスケジュール情報テーブル２０１０を参照してガントチャートの表示データを作成する。
【００７２】
スケジュール情報テーブル２０１０は、工程番号２０１１、設備ＩＤ２０１２、処理時間２０１３、開始時刻２０１４、終了時刻２０１５、及び、タイルＩＤ２０１６で構成される。
【００７３】
工程番号２０１１は、工程の処理を示す識別子である。スケジュール情報テーブル２０１０には工程情報テーブル２２１０と同様に、工程の順番に１工程につき１レコードが登録されており、工程番号２０１１として工程の処理を示す識別子が設定されている。１レコードの１工程につき、ガントチャート上に１タイルが表示される。
【００７４】
設備ＩＤ２０１２は、工程番号２２１１が示す工程で用いられる設備を特定する識別子を示す。
【００７５】
処理時間２０１３は、工程番号２０１１で示す工程を、設備ＩＤ２０１２で示す設備で処理する時間を示す。ユーザがタイルを移動、又は、タイルの長さを変更すると、そのタイルのレコードの処理時間２０１３として設定されている処理時間がユーザの指示に応じて変更される。
【００７６】
開始時刻２０１４は、工程番号２０１１で示される工程の処理を開始する時刻を示し、終了時刻２０１５は、工程番号２０１１で示される工程の処理を終了する時刻を示す。ユーザがタイルを移動、又は、タイルの長さを変更すると、そのタイルのレコードの開始時刻２０１４、又は、終了時刻２０１５として設定されている時刻がユーザの指示に応じて変更される。
【００７７】
タイルＩＤ２０１６は、ガントチャート上の複数のタイルから、工程番号２０１１で示される工程の処理（ジョブ）を示すタイルを特定するための識別子を示す。
【００７８】
尚、スケジュール情報テーブル２０１０が複数記憶されている場合、開始時刻２０１４〜タイルＩＤ２０１６は、テーブルごとに異なることになる。
【００７９】
図４は、工程間条件情報テーブル２１１０の構成例及びその内容例を示す図である。工程間条件情報テーブル２１１０には、工程間で守るべき条件が記憶されており、詳細には、工程間（リンク）毎の最小時間及び最大時間が記憶されており、その最小時間及び最大時間は、工程で用いられる設備によって異なる場合がある。この工程間条件情報テーブル２１１０は、工程間条件情報記憶部２１００に記憶されており、スケジュール作成部１８００が初期スケジュールを作成する際、及び、余裕時間算出部１６００が、リンク毎の余裕時間を算出する際に参照される。
【００８０】
工程間条件情報テーブル２１１０は、マトリックス上のテーブル形式であり、縦方向の先工程２１１１、横方向の後工程２１１２とで構成される。
【００８１】
先工程２１１１は、先の工程で用いられる設備の識別子を示し、後工程２１１２は、後の工程で用いられる設備の識別子を示す。先工程２１１１の設備識別子と、後工程２１１２の設備識別子との交差箇所に、工程間条件として、最小時間及び最大時間が「‐」を挟んで記載されている。例えば、先工程２１１１「設備１」と後工程２１１２「設備２」との工程間条件として「３０−１８０」が設定されているので、「設備１」で示される設備を用いて行う工程と、「設備２」で示される設備を用いて行う工程との間の最小時間は「３０」分であり、最大時間は「１８０」分となる。
【００８２】
＜動作＞
以下、スケジュール作成装置１０００の動作について、図１５を用いて説明する。
【００８３】
図１５は、スケジュール作成装置１０００のスケジュール修正処理のフローチャートである。
【００８４】
まず、ユーザは、操作部１００２を操作して、初期スケジュール（図５参照）の作成及び表示を指示するコマンドを入力する。尚、事前に、工程間条件情報テーブル２１１０（図４参照）は工程間条件情報記憶部２１００に記憶されており、また、工程情報テーブル２２１０（図２参照）及びスケジュールの作成に必要なデータは工程情報記憶部２２００に記憶されていることとする。
【００８５】
スケジュール作成制御部１００１は、一定周期で操作部１００２からの入力信号を監視し、操作部１００２を介して初期スケジュールの作成及び表示を指示するコマンドが入力されたことを検出すると、スケジュール作成部１８００に初期スケジュールの作成を依頼する。
【００８６】
依頼を受けたスケジュール作成部１８００は、工程情報記憶部２２００から工程情報テーブル２２１０及びスケジュール作成に必要なデータを読み出し、更に、工程間条件情報記憶部２１００から工程間条件情報テーブル２１１０を読み出して、初期スケジュールを作成する。この際、スケジュール作成部１８００は、工程間条件情報テーブル２１１０に記憶されている工程間条件、すなわち、工程間の時間間隔がその工程間の最小時間以上で最大時間以下となるように、初期スケジュールを作成する。初期スケジュールを作成した１８００は、その旨をスケジュール作成制御部１００１に通知し、通知を受けたスケジュール作成制御部１００１は、スケジュール表示部１２００にガントチャートを表示するよう依頼する。
【００８７】
依頼を受けたスケジュール表示部１２００は、スケジュール記憶部２０００に記憶されているスケジュール情報テーブル２０１０（図３参照）を読み出し、１工程（１レコード）を１タイルとしたガントチャートの表示データを作成してディスプレイ１００３に表示させる（ステップＳ１０、図５）。
【００８８】
ユーザは、ディスプレイ１００３に表示されたガントチャートを見ながら、操作部１００２を操作して、表示されたスケジュールを修正する。ユーザが、タイルを変更する操作、例えば、タイルの移動又はタイルの長さの変更を行う操作を行う。具体的には、タイルをカーソル等で選択して時間軸上を左右に、すなわち、過去方向又は将来方向に移動させる。または、タイルの左辺又は右辺を選択して時間軸上を左右に移動させてタイルの長さを変更する。
【００８９】
操作情報入力部１１００は、操作部１００２を介して入力されたユーザ操作が、ガントチャートに対する操作であることを検出すると、検出した操作の情報を変更タイル検出部１３００に通知する。例えば、マウスがクリックされた場合は、その座標値を変更タイル検出部１３００に通知し、タイルが移動された場合は、ガントチャート上で移動されたタイルの図形識別番号と移動前後の座標値を変更タイル検出部１３００に通知するなどである。
【００９０】
通知を受けた変更タイル検出部１３００は、操作情報入力部１１００から通知された操作情報に基づいて、タイルへの変更操作であるか否かを判断する（ステップＳ１１：Ｙｅｓ）。
【００９１】
変更タイル検出部１３００は、操作情報入力部１１００から通知された操作情報が、タイルの変更操作ではないと判断すると（ステップＳ１１：Ｎｏ）、その旨及び操作情報をスケジュール作成制御部１００１に通知し、通知を受けたスケジュール作成制御部１００１は、操作情報に応じた操作を行う。
【００９２】
一方、操作情報入力部１１００から通知された操作情報が、タイルの変更操作であると判断すると（ステップＳ１１：Ｙｅｓ）、変更タイル検出部１３００は、操作情報入力部１１００から通知された操作情報に基づいて、変更指示されたタイル（変更タイル）と、変更内容とを検出する。例えば、操作情報入力部１１００から通知された図形の識別番号から、変更タイルが、例えば、図６の「Ｊ４タイル」であることを検出する。また、変更内容として、操作情報入力部１１００から通知された移動前後の座標値から、「Ｊ４タイル」が破線で示す位置から実線で示す位置まで移動されたこと、詳細には、変更タイルの変更前後の開始時刻及び終了時刻を検出する。
【００９３】
変更タイル及び変更内容を検出した変更タイル検出部１３００は、検出した変更タイルの識別子と、変更後の開始時刻及び終了時刻を変更タイルスケジュール更新部１４００に渡して、変更タイルの時間（位置）の更新を依頼する。
【００９４】
依頼を受けた変更タイルスケジュール更新部１４００は、渡された変更タイルの識別子が示すタイルの開始時刻と終了時刻を更新する（ステップＳ１２）。具体的には、変更タイルスケジュール更新部１４００は、スケジュール記憶部２０００に記憶されているスケジュール情報テーブル２０１０（図３参照）の、変更タイルの識別子がタイルＩＤ２０１６として設定されているレコードに、渡された開始時刻を開始時刻２０１４として設定し、渡された終了時刻を終了時刻２０１５として設定する。また、渡された開始時刻と終了時刻とから処理時間を算出し、処理時間２０１３として設定する。
【００９５】
変更タイルスケジュール更新部１４００に更新を依頼した変更タイル検出部１３００は、次に、変更タイルの識別子と、変更前後の開始時刻及び終了時刻を、連鎖移動タイル選択部１５００に渡して、連鎖移動タイルの選択及び移動を依頼する。
【００９６】
依頼を受けた連鎖移動タイル選択部１５００は、渡された変更前後の開始時刻及び終了時刻から、変更タイルが移動されたのか、長さが変更されたのかを判断し、上述の＜余裕時間の求め方＞で図１４を用いて説明したように、変更タイルが移動されたと判断した場合は、変更タイルの識別子と余裕時間を求める側（上流側及び下流側）と変更方向（過去方向又は将来方向）とを余裕時間算出部１６００に渡して、上流側及び下流側のタイル間の余裕時間の算出を余裕時間算出部１６００に依頼する。また、変更タイルの長さが変更されたと判断した場合は、変更側（開始時刻又は終了時刻）から余裕時間を求める側（上流側又は下流側）を判断し、変更タイルの識別子と余裕時間を求める側（上流側又は下流側）と変更方向（過去方向又は将来方向）とを余裕時間算出部１６００に渡して、変更された側のタイル間の余裕時間の算出を余裕時間算出部１６００に依頼する。
【００９７】
依頼を受けた余裕時間算出部１６００は、まず、スケジュール情報テーブル２０１０を参照し、＜余裕時間の求め方＞の項で説明したように、連鎖移動タイル選択部１５００から指示された側のタイルの間隔時間（以下、「リンクの時間」という。）を求め、余裕時間を算出する（ステップＳ１３）。
【００９８】
例えば、図６のＪ４タイルが将来方向にΔｔ移動された場合、連鎖移動タイル選択部１５００は、余裕時間算出部１６００に、変更タイルの識別子「Ｊ４」と変更方向「将来方向」とを渡して、上流側及び下流側のタイル間の余裕時間の算出を依頼する。
【００９９】
依頼を受けた余裕時間算出部１６００は、まず、スケジュール情報テーブル２０１０（図３参照）を参照して、下流側の各リンクの時間を算出する。具体的には、Ｊ４タイルとＪ５タイル間のリンクＰ４の時間を求める場合は、タイルＩＤ２０１６として「Ｊ４」が設定されているレコードの終了時刻２０１５として設定されている「２１：３０」と、タイルＩＤ２０１６として「Ｊ５」が設定されているレコードの開始時刻２０１４として設定されている「２２：３０」との間の時間、すなわち、「６０分」をリンクＰ４の時間として算出する。このように、変更タイルの下流側の全てのタイルの間隔時間を算出する。次に、上流側の全てのリンクの時間を算出する。例えば、タイルＩＤ２０１６として「Ｊ４」が設定されているレコードの開始時刻２０１４として設定されている「１７：３０」と、タイルＩＤ２０１６として「Ｊ３」が設定されているレコードの終了時刻２０１５として設定されている「１５：００」との間の時間、すなわち、「１５０分」をリンクＰ３の時間として算出する。
【０１００】
次に、余裕時間算出部１６００は、算出したリンクの時間と各リンクの時間制約とから、＜余裕時間の求め方＞の項で説明したように、変更方向（過去方向又は将来方向）を参照して、各リンク（タイル間）の余裕時間を算出する。例えば、Ｊ４タイルとＪ５タイルの間のリンクＰ４の余裕時間を算出する場合は、図１４（ｄ）で説明したように余裕時間を算出する。具体的には、工程間条件情報テーブル２１１０（図４参照）を参照し、先工程２１１１が「設備４」、後工程２１１２が「設備５」の欄「３０−３２０」を参照し、このリンクの制約としての最小時間「３０」、すなわち、３０分を読み出す。そして、Ｊ４タイルとＪ５タイルの間隔時間「６０分」から、最小時間「３０分」を減算して、余裕時間「３０分」を求める。
【０１０１】
連鎖移動タイル選択部１５００から指定された側の全リンクの余裕時間を算出した余裕時間算出部１６００は、算出した余裕時間を連鎖移動タイル選択部１５００に渡す。
【０１０２】
全リンクの余裕時間を受け取った連鎖移動タイル選択部１５００は、工程間時間余裕最大リンクを決定する（ステップＳ１４）。具体的には、変更タイルが移動した場合には、余裕時間算出部１６００から受け取った下流側及び上流側のリンクの余裕時間から、上流側及び下流側それぞれにおける余裕時間が最大のリンクをそれぞれの工程間時間余裕最大リンクとして決定する。また、変更タイルの長さが変更された場合は、変更側（開始時刻又は終了時刻）における余裕時間が最大のリンクを工程間時間余裕最大リンクとして決定する。尚、全ての余裕時間がマイナスの場合、すなわち、変更タイルを変更した場合に、全リンクが制約条件を満たさなくなる場合には、ユーザに対してエラーメッセージを出力し、処理を中止する等の処理を行う。
【０１０３】
工程間時間余裕最大リンクを決定した連鎖移動タイル選択部１５００は、次に、連鎖移動タイルを選択する（ステップＳ１５）。具体的には、連鎖移動タイル選択部１５００は、決定した工程間時間余裕最大リンクと変更タイルとの間にあるタイルを連鎖移動タイルとして決定する。例えば、図６のように、変更タイルがＪ４タイルであって、上流側の工程間時間余裕最大リンクが、Ｊ１タイルとＪ２タイツの間のリンクＰ１である場合、連鎖移動タイル選択部１５００は、スケジュール情報テーブル２０１０（図３参照）のタイルＩＤ２０１６として「Ｊ４」が設定されているレコードと、タイルＩＤ２０１６として「Ｊ１」が設定されているレコードの間の２レコードを読み出す。読み出した２レコードのタイルＩＤ２０１６としてそれぞれ設定されているタイル識別子「Ｊ２」、「Ｊ３」のタイルを連鎖移動タイルとして選択する。
【０１０４】
連鎖移動タイルを選択した連鎖移動タイル選択部１５００は、連鎖移動タイルのタイル識別子と、変更タイルの変更時間Δｔとを連鎖移動タイルスケジュール更新部１７００渡して、連鎖移動タイルの時間（位置）の更新を依頼する。
【０１０５】
依頼を受けた連鎖移動タイルスケジュール更新部１７００は、渡された連鎖移動タイルの識別子が示すタイルの開始時刻と終了時刻を更新する（ステップＳ１６）。具体的には、連鎖移動タイルスケジュール更新部１７００は、スケジュール記憶部２０００に記憶されているスケジュール情報テーブル２０１０（図３）の、連鎖タイルの識別子がタイルＩＤ２０１６として設定されているレコードに、開始時刻２０１４として設定されている時刻及び終了時刻２０１５として設定されている時刻のそれぞれに、変更時間Δｔを加算する。渡された連鎖移動タイルの開始時刻と終了時刻とを変更した連鎖移動タイルスケジュール更新部１７００は、終了した旨を連鎖移動タイル選択部１５００に通知する。
【０１０６】
連鎖移動タイルの更新がなされた旨の通知を受けた連鎖移動タイル選択部１５００は、スケジュール作成制御部１００１にスケジュールの表示を依頼する。依頼を受けたスケジュール作成制御部１００１は、スケジュール表示部１２００にスケジュールを表示するよう依頼し、依頼を受けたスケジュール表示部１２００は、スケジュール記憶部２０００に記憶されているスケジュール情報テーブル２０１０（図３参照）を読み出し、ガントチャートの表示データを作成してディスプレイ１００３に表示させる（ステップＳ１７）。ここで表示されるガントチャートは、例えば、図６のようにＪ４タイルを移動した場合に、Ｊ２タイル、Ｊ３タイル、及び、Ｊ５タイルが連鎖移動した図７で示すようなガントチャートである。
【０１０７】
スケジュール表示部１２００にスケジュールの表示依頼をしたスケジュール作成制御部１００１は、ユーザが操作部１００２を操作して終了指示を入力したこと検出すると（ステップＳ１８：Ｙｅｓ）、スケジュール作成処理を終了し、ユーザが終了指示以外の指示を入力した場合（ステップＳ１８：Ｎｏ）は、ステップＳ１１からの処理を繰り返す。
【０１０８】
このようにスケジュールを修正することで、工程の時間帯の変更が、他の工程に及ぼす影響を、できるだけ小さくするようにスケジュールを修正することが可能となる。
【０１０９】
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および／または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
【符号の説明】
【０１１０】
１０００  スケジュール作成装置
１２００  スケジュール表示部
１３００  変更タイル検出部
１４００  変更タイルスケジュール更新部
１５００  連鎖移動タイル選択部
１６００  余裕時間算出部
１７００  連鎖移動タイルスケジュール更新部
１８００  スケジュール作成部
２０００  スケジュール記憶部
２１００  工程間条件情報記憶部
２２００  工程情報記憶部
【図１】
2014099075.tif 000003
【図２】
2014099075.tif 000004
【図３】
2014099075.tif 000005
【図４】
2014099075.tif 000006
【図５】
2014099075.tif 000007
【図６】
2014099075.tif 000008
【図７】
2014099075.tif 000009
【図８】
2014099075.tif 000010
【図９】
2014099075.tif 000011
【図１０】
2014099075.tif 000012
【図１１】
2014099075.tif 000013
【図１２】
2014099075.tif 000014
【図１３】
2014099075.tif 000015
【図１４】
2014099075.tif 000016
【図１５】
2014099075.tif 000017
【図１６】
2014099075.tif 000018