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