説明

スケジューリング装置、スケジューリング方法、スケジューリングプログラム、及び該プログラムが記録された記録媒体

【課題】高精度な生産スケジューリングを行う。
【解決手段】複数の工程からなる生産対象物の生産スケジューリングを行うスケジューリング装置において、前記工程の接続順序関係を設定するための工程接続情報と、前記工程に含まれる各ブロックの移動経路を設定するブロックフロー情報と、各ブロックの各工程での工期を設定する作業工期情報と、各工程の制約条件とが蓄積された蓄積手段と、前記蓄積手段に蓄積された情報から前記工程を下流から上流に遡る順序に並べ替える解釈手段と、前記解釈手段により得られる並べ替え後の工程データに基づいてスケジューリングモデルを作成するモデル作成手段と、前記モデル作成手段により得られるスケジューリングモデル毎にスケジュールを最適化する日程計画作成手段と、前記日程計画作成手段により得られるスケジューリング結果を出力する出力手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スケジューリング装置、スケジューリング方法、スケジューリングプログラム、及び該プログラムが記録された記録媒体に関し、特に高精度な生産スケジューリングを実現するためのスケジューリング装置、スケジューリング方法、スケジューリングプログラム、及び該プログラムが記録された記録媒体に関する。
【背景技術】
【0002】
従来、造船所や工場等において受注生産品を生産する際に、作業場等における日程計画を最適化してスケジューリングするためのシステムがある(例えば、特許文献1参照。)。
【0003】
また、工場内の様々な制約条件を考慮に入れてスケジューリングを行うために、工場内の制約条件に基づいて、仮想工場を構成するシミュレーションモデルを稼働させることにより、物を製造するシミュレーションを行い、そのシミュレーション結果に基づいて日程表を出力する手法がある(例えば、特許文献2参照。)。
【特許文献1】特開2003−131721号公報
【特許文献2】特開2002−163012号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に示されている技術は、受注生産品の日程スケジューリングを行っているが、個々の工程に対する日程まで考慮したものではない。また、特許文献2に示されている技術は、シミュレーションを積極的に使用してスケジューリングを実施するものであるが、全体を一括してスケジューリングを行うものであり、作業場所(工程)群等の部分集合を基準にしたものではない。したがって、工場全体の中でもボトルネックになり易い、制約条件が複雑等、特に重要度の高い部分的な工程については、高精度なスケジューリングができていなかった。
【0005】
また、分枝限定法等を用いて厳密解を求める手法があるが、この手法は例えば大型一品受注生産品等を対象にしたものであって、大規模な生産スケジューリングに対しては現実的ではなかった。
【0006】
本発明は、上記の問題点に鑑みてなされたものであって、高精度な生産スケジューリングを行うためのスケジューリング装置、スケジューリング方法、スケジューリングプログラム、及び該プログラムが記録された記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述の目的を達成するために、本発明は、複数の工程からなる生産対象物の生産スケジューリングを行うスケジューリング装置において、前記工程の接続順序関係を設定するための工程接続情報と、前記工程に含まれる各ブロックの移動経路を設定するブロックフロー情報と、各ブロックの各工程での工期を設定する作業工期情報と、各工程の制約条件とが蓄積された蓄積手段と、前記蓄積手段に蓄積された情報から前記工程を下流から上流に遡る順序に並べ替える解釈手段と、前記解釈手段により得られる並べ替え後の工程データに基づいてスケジューリングモデルを作成するモデル作成手段と、前記モデル作成手段により得られるスケジューリングモデル毎にスケジュールを最適化する日程計画作成手段と、前記日程計画作成手段により得られるスケジューリング結果を出力する出力手段とを有することを特徴とする。これにより、高精度な生産スケジューリングを実現することができる。また、実用的な時間での高精度な大規模スケジューリングを実現することができる。
【0008】
更に、前記日程計画作成手段により得られたスケジューリング結果に基づいて、全工程又は予め設定された工程数単位でシミュレーションを行い、その結果を前記蓄積手段又は前記出力手段に出力するシミュレーション手段を有することが好ましい。これにより、スケジューリング内容を時間の変化と共に確認することができ、その正確性を使用者等に把握させやすくすることができる。したがって、使用者等は、今後の作業工程で予想されるボトルネック部分の工程等を正確に把握することができ、その内容から迅速かつ確実な修正(作業変更)を行うことができる。
【0009】
更に、前記シミュレーション手段により得られたシミュレーション結果に基づいて、前記日程計画作成手段により得られたスケジューリング結果を修正する計画データ修正手段を有することが好ましい。これにより、入力条件として記述しきれない専門家が有するノウハウ等を反映した形でのスケジューリング結果を得ることができる。
【0010】
更に、前記モデル作成手段は、前記解釈手段により得られる各作業の工期を丸めてスケジューリングを実行することが好ましい。これにより、計算の高速化、制約充足問題としての定式化を実現することができる。
【0011】
更に、前記モデル作成手段は、前記工期の丸め方として、前記スケジューリングモデル毎にゼロ時間作業を除く作業時間の平均値、最小値、最大値を算出し、その算出結果に基づいて最適な幅で工期を丸めることが好ましい。これにより、工期を大きく丸めてしまうことで、工期の差の情報を失うことがない。また、工期を細かく丸めてしまうことで、計算時間を膨大に費やすことがないような最適な幅で、工期を丸めることができる。
【0012】
更に、前記蓄積手段は、スケジューリングモデルの対象とする単位として工程又は工程群を指定する問題単位設定情報と、設定された問題単位を如何なる最適化問題として解くかを設定する問題設定情報と、各設定された問題に必要な情報を設定する問題情報とを有し、前記モデル作成手段は、前記問題単位設定情報と、前記問題設定情報と、前記問題情報とに基づいてスケジューリングモデルを作成し、前記日程計画作成手段は、前記モデル作成手段により得られるスケジューリングモデル毎にスケジュールを最適化し、その算出されたスケジュール結果に基づいて直前の上流側のスケジューリングモデルに対する納期を設定することが好ましい。これにより、実用的な時間での正確なスケジュール作成及び工数算定を実現することができる。また、ボトルネック工程のみを精密な最適化問題として設定することにより、高速な計算を実現することができる。更に、ボトルネック工程より下流側の工程を精密な最適化問題として設定すれば、後引き要求日が正確な条件のもとで最適化することができる。
【0013】
また、本発明は、複数の工程からなる生産対象物の生産スケジューリングを行うスケジューリング方法において、予め蓄積された前記工程の接続順序関係を設定するための工程接続情報と、前記工程に含まれる各ブロックの移動経路を設定するブロックフロー情報と、各ブロックの各工程での工期を設定する作業工期情報と、各工程の制約条件とを読み込む読込ステップと、前記読込ステップにより得られた情報から前記工程を下流から上流に遡る順序に並べ替える解釈ステップと、前記解釈ステップにより得られる並べ替え後の工程データに基づいてスケジューリングモデルを作成するモデル作成ステップと、前記モデル作成ステップにより得られるスケジューリングモデル毎にスケジュールを最適化する日程計画作成ステップと、前記日程計画作成ステップにより得られるスケジューリング結果を出力する出力ステップとを有することを特徴とする。これにより、高精度な生産スケジューリングを実現することができる。また、実用的な時間での高精度な大規模スケジューリングを実現することができる。
【0014】
更に、前記日程計画作成ステップにより得られたスケジューリング結果に基づいて、全工程又は予め設定された工程数単位でシミュレーションを行うシミュレーションステップを有することが好ましい。これにより、スケジューリング内容を時間の変化と共に確認することができ、その正確性を使用者等に把握させやすくすることができる。したがって、使用者等は、今後の作業工程で予想されるボトルネック部分の工程等を正確に把握することができ、その内容から迅速かつ確実な修正(作業変更)を行うことができる。
【0015】
更に、前記シミュレーションステップにより得られたシミュレーション結果に基づいて、前記日程計画作成ステップにより得られたスケジューリング結果を修正する計画データ修正ステップを有することが好ましい。これにより、入力条件として記述しきれない専門家が有するノウハウ等を反映した形でのスケジューリング結果を得ることができる。
【0016】
更に、前記モデル作成ステップは、前記解釈ステップにより得られる各作業の工期を丸めてスケジューリングを実行することが好ましい。これにより、計算の高速化、制約充足問題としての定式化を実現することができる。
【0017】
更に、前記モデル作成ステップは、前記工期の丸め方として、前記スケジューリングモデル毎にゼロ時間作業を除く作業時間の平均値、最小値、最大値を算出し、その算出結果に基づいて最適な幅で工期を丸めることが好ましい。これにより、工期を大きく丸めてしまうことで、工期の差の情報を失うことがない。また、工期を細かく丸めてしまうことで、計算時間を膨大に費やすことがないような最適な幅で、工期を丸めることができる。
【0018】
更に、前記読込ステップは、スケジューリングモデルの対象とする単位として工程又は工程群を指定する問題単位設定情報と、設定された問題単位を如何なる最適化問題として解くかを設定する問題設定情報と、各設定された問題に必要な情報を設定する問題情報とを読み込み、前記モデル作成ステップは、前記問題単位設定情報と、前記問題設定情報と、前記問題情報とに基づいてスケジューリングモデルを作成し、前記日程計画作成ステップは、前記モデル作成ステップにより得られるスケジューリングモデル毎にスケジュールを最適化し、その算出されたスケジュール結果に基づいて直前の上流側のスケジューリングモデルに対する納期を設定することが好ましい。これにより、実用的な時間での正確なスケジュール作成及び工数算定を実現することができる。また、ボトルネック工程のみを精密な最適化問題として設定することにより、高速な計算を実現することができる。更に、ボトルネック工程より下流側の工程を精密な最適化問題として設定すれば、後引き要求日が正確な条件のもとで最適化することができる。
【0019】
また、本発明は、請求項7乃至12の何れか1項に記載のスケジューリング方法をコンピュータにより実行させるためのスケジューリングプログラムによって提供することができる。これにより、高精度な生産スケジューリングを行うことができる。また、プログラムをインストールすることにより、容易に本発明におけるスケジューリング処理を実現することができる。
【0020】
更に、本発明は、請求項13に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体によっても提供することができる。これにより、記録媒体により他の複数のコンピュータに容易にスケジューリングプログラムをインストールすることができる。また、スケジューリングプログラムをインストールすることで、容易に本発明におけるスケジューリング処理を実現することができる。
【発明の効果】
【0021】
本発明によれば、実用的な時間での高精度な大規模スケジューリングを実現することができる。
【発明を実施するための最良の形態】
【0022】
<本発明の概略>
本発明は、対象となる全体工程群を一括でモデル化してスケジューリングするのではなく、各工程あるいは工程グループの重要性を勘案して、個別工程単位をモデル化又は2工程以上の工程を一つの纏まりでモデル化することとし、全体を部分問題の集合体としてモデル化を行う。また、納期から遡る方向にスケジューリングを実施することにより、納期遵守を実現する。そのため、下流側工程からその開始時刻を上流側工程に対する要求時刻として与えることで納期を指示していく。更に、各部分問題毎に、一機械問題、並列機械問題、割当問題、制約充足問題等、各種問題設定を行って様々な観点から工程スケジューリングを実現する。
【0023】
これにより、例えば大型一品受注生産品等を対象にした大規模な工程スケジューリング問題等を実用的な時間で実現する。また、工場全体の中でもボトルネックに成り易い、制約条件が複雑等、特に重要度の高い工程等は、精密なスケジューリングを可能にする。
【0024】
ここで、上述した内容の具体例について説明すると、例えば生産工程において工場全体の概略工程は、「資材の投入」→「加工」→「組立1」→「組立2」→「検査・調整」→「組立3」→「全体組立」である場合、スケジューリングの流れは、「全体組立」→「組立3」→「検査・調整」→「組立2」→「組立1」→「加工」→「資材の投入」となるようにする。つまり、全体組立から遡る方向で下流側工程の開始日を上流側工程の納期として、工程別にスケジュールを求める。これにより、例えば納期遵守を第一目的とするスケジューリングを行うことができる。
【0025】
<実施形態>
以下に、上述したような特徴を有するスケジューリング装置、スケジューリング方法、スケジューリングプログラム、及び該プログラムが記録された記録媒体を好適に実施した形態について、図面を用いて詳細に説明する。なお、以下の説明では、生産対象物としてタンカー等の大型船を用いて説明する。また、工場全体の概略工程は、「投入」→「加工」→「小組立」→「組立」→「艤装・塗装」→「結成」→「搭載」であるものとする。なお、本発明における生産対象物及び工場全体の概略工程についてはこれに限定されるものではない。
【0026】
また、以下の説明において、「工程」とは、特定の資源を使用して製造を実施する場所あるいは製造のある段階を示す。また、「作業」とは、工程において特定の資源を使用してできる製造過程の部分を示す。また、「ブロック」とは、工程における製造作業の対象となる資材や部品等を示す。
【0027】
<スケジューリング装置:ハードウェア構成>
ここで、本発明におけるスケジューリング装置は、汎用のパーソナルコンピュータ、サーバ等を用いることができる。また、汎用のPCに本発明を実現するための実行プログラムをインストールすることにより、スケジューリング処理を実現することができる。
【0028】
図1は、スケジューリング装置におけるハードウェアの概略構成の一例を示す図である。図1に示すスケジューリング装置10は、入力装置11と、出力装置12と、ドライブ装置13と、補助記憶装置14と、メモリ装置15と、各種制御を行うCPU(Central Processing Unit)16と、ネットワーク接続装置17とを有するよう構成されており、これらはバスBにより相互にデータの送受信が可能な状態で接続されている。
【0029】
入力装置11は、ユーザが操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラムの実行指示等、各種操作信号を入力する。出力装置12は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ、音声を出力するスピーカ等を有し、CPU16が有する制御プログラムにより実行経過や結果等を表示することができる。更に、出力装置12は、プリンタ等の機能を有していてもよく、その場合には、例えばスケジューリング結果等、取得可能な各種情報を紙等の印刷媒体に印刷して、ユーザ等に提供することができる。
【0030】
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、CD−ROM等の記録媒体18等により提供される。プログラムを記録した記録媒体18は、ドライブ装置13にセット可能であり、記録媒体18に含まれる実行プログラムが、記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。
【0031】
また、ドライブ装置13は、本発明に係る実行プログラムを記録媒体18に記録することができる。これにより、その記録媒体18を用いて、他の複数のコンピュータに容易にインストールすることができ、容易に本発明のスケジューリング処理における情報処理を実現することができる。
【0032】
補助記憶装置14は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラム等を蓄積し、必要に応じて入出力を行うことができる。また、メモリ装置15は、ROM(Read Only Memory)やRAM(Random Access Memory)等からなり、本発明における処理に必要となる各種データの保存等を行う。
【0033】
CPU16は、OS(Operating System)等の制御プログラム、及びメモリ装置15により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、スケジューリング処理における情報処理を実現することができる。また、CPU66は、プログラムの実行中に必要な各種情報等は、補助記憶装置14から取得することができ、また処理結果を補助記憶装置14に格納することもできる。
【0034】
ネットワーク接続装置17は、LAN(Local Area Network)ケーブル等により通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラムを他の端末等に提供することができる。
【0035】
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで本発明におけるスケジューリング処理を実現することができる。
【0036】
<スケジューリング装置:機能構成>
次に、スケジューリング装置における機能構成例について図を用いて説明する。
【0037】
<実施例1>
図2は、実施例1におけるスケジューリング装置の機能構成の一例を示す図である。図2に示すスケジューリング装置10は、入力手段21と、入力解釈手段22と、モデル作成手段23と、日程計画作成手段24と、データベース25と、出力手段26と、データ修正手段27と、制御手段28とを有するよう構成されている。
【0038】
入力手段21は、コンピュータを使用するユーザ(使用者等)が操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラムの実行等、各種操作信号を入力する。なお、本発明におけるスケジューリングを行うための入力されるデータとしては、例えば、工程の接続順序関係を設定するための工程接続情報、工程に含まれる各ブロックの移動経路を設定するブロックフロー情報、各ブロックの各工程での工期を設定する作業工期情報、各工程における作業者数を設定する作業者数情報等の制約条件等がある。
【0039】
具体的には、全体工程経路パターンデータ(フローパターン表)、ブロック別物量データ(物量表)、ブロック別フローパターンデータ(分岐結合表)、工程データ(処理速度表)、移送時間データ、搭載順データ(搭載ブロック入力表)、搭載開始可能日(搭載ブロック入力表)、及び工程データ(工程条件)等からなる。
【0040】
なお、上述の工程データは、工程別作業条件、最適化パターン等からなり、例えば、工程条件としては、工程ID、棟、ライン、ライン区分、ライン名称毎に、直列処理フラグ(フラグにより、複数の物量を直列処理する。)、定盤数、工期(単位は、例えば時間等、また1日は8時間とする。)、JIT(Just In Time)ペナルティ等から構成される。
【0041】
また、前工程における平準化の制約条件等も入力することができる。前工程平準化条件は、連続日数、最小ブロック数、最大ブロック数等から構成される。ここで、前工程平準化の制約とは、例えば「ある連続するX日について、前工程がYであるブロックの個数は必ずW個以上、Z個以下である」等のように設定を行うことをいう。つまり、前工程のライン別(Y)に、連続日数(X:標準化の評価対象期間)、最小ブロック数(W)、最大ブロック個数(Z)、ペナルティ値を指定する。
【0042】
また、JITペナルティとは、経過日数等に基づく所定の関数パターン等で記述することができ、また作業毎に設定することができるJITペナルティパターンデータである。また、JITの制約としては、例えば「ブロックXについて、そのブロックの後工程(ステージ)要求日YよりもZ日以前に完成させてはならない。また、Yよりも遅く完成させてはならない。ライン別に、5つのペナルティパターンを指定する。」等の設定が可能である。
【0043】
また、上述した制約条件の他にも、例えば組立工程における制約条件を入力することができ、この場合の制約としては、例えば、「建造ピッチや、非連続、連続制約、及び製作期間の制約」等を設定することができる。また、上述した非連続制約としては、例えば「ラインXにおいて2つの連続する日で、指定のシリーズ名(ほぼ同一仕様となるブロック群をシリーズとする)、ブロック名、2個1ロット名(1つの工程において、同一定盤上で同時に処理したい2ブロックの組み合わせを“2個1ロット”とする)を連続させない。」等の制約を設定することができる。また、連続制約としては、例えば「ラインXにおいて、2つの連続する日で、指定のシリーズ名、ブロック名、2個1ロット名を連続させる。」等の制約を設定することができる。更に、製作期間制約としては、例えば「ラインXにおいてシリーズ名Zは指定期間中に一定ピッチで製作する。ラインXにおいてシリーズ名Wは指定期間内に製作する。船別に、建造ピッチ(日)船別、ライン別、シリーズ別に、開始日、終了日、ペナルティレベル」等の制約を設定することができる。なお、開始日、終了日は建造ピッチに対する日であり、各シリーズのブロック数はブロック別フローデータより取得することができる。
【0044】
更に、入力手段21により入力可能なその他の制約条件としては、ブロック固定施工棟の制約(ブロックXの処理ラインは必ずYである。)として、例えば「スケジューリング及びシミュレーションでは工場全体に亘るブロックフローが必要なためブロック別フローパターンデータ(分岐結合表)によることとする。」等の制約を設定することができる。また、先行順序の制約として、例えば「組立内で工程を渡る場合、先行工程では後行工程の開始日のY日以上Z日以下で完了しなくてはならない。先行関係は、ブロック別フローパターンデータ(分岐結合表)によることとする。ライン別に、5つのペナルティパターンを指定する。」等の制約を設定することができる。更に、組立工程全体の作業量平準化の制約や同一番船の組立メイクスパンの制約等がある。なお、上述したブロック別フローパターンについては後述する。
【0045】
上述したように、入力手段21により入力される各種情報は、通信ネットワークを介して接続される外部装置等からテキストファイル形式で取得することもできる。これらのファイルは、データベース25に蓄積される。
【0046】
入力解釈手段22は、データベース25から上述した各種情報からスケジューリングに必要な所定のデータを読み込み、入力データのエラーチェックを行う。また、入力解釈手段22は、スケジューリングモデル作成に必要な所定のデータ構造に変換する。具体的には、入力解釈手段22は、入力された各工程を下流から上流に遡る順序に並べ替えを行う。このデータを用いてモデルの作成や日程計画を作成することで、納期遵守を第一目的とするスケジューリングを行うことができる。なお、入力解釈手段22は、エラーチェックの結果、入力データにエラーがある場合には、出力手段26にその旨のメッセージを出力させ、ユーザに再入力を促すこともできる。
【0047】
また、モデル作成手段23は、入力解釈手段22により作成された下流から上流に遡る順序に並べ替えられたデータに基づいて、少なくとも1つの工程(作業場所)又は工程群等からなる部分問題毎の問題記述形式に合わせてスケジューリングモデルを作成する。
【0048】
なお、モデル作成手段23は、データベース25に入力された各作業の工期を丸めてスケジューリングを実行する。これにより、計算の高速化、制約充足問題としての定式化が可能となる。
【0049】
また、モデル作成手段23は、工期の丸め方としては、スケジューリングモデル毎にゼロ時間作業を除く作業時間の平均値、最小値、最大値を算出し、その算出結果に基づいて最適な幅(例えば、15分等といった時間単位)で工期を丸める。これにより、工期を大きく丸めてしまうことで工期の差の情報を失うことがなく、また工期を細かく丸めてしまうことで計算時間を膨大に費やすことがないような最適な幅で、工期を丸めることができる。
【0050】
更に、モデル作成手段23は、データベース25等に蓄積されたスケジューリングモデルの対象とする単位として工程又は工程群を指定する問題単位設定情報と、設定された問題単位を如何なる最適化問題として解くかを設定する問題設定情報と、各設定された問題に必要な情報を設定する問題情報とに基づいて用いて、1以上のスケジューリングモデルを作成する。これにより、実用的な時間での正確なスケジュール作成及び工数算定を実現することができる。また、ボトルネック工程のみを精密な最適化問題として設定することにより、高速な計算を実現することができる。更に、ボトルネック工程より下流側の工程を精密な最適化問題として設定すれば、後引き要求日が正確な条件のもとでの最適化が可能となる。
【0051】
また、日程計画作成手段24は、一機械問題、並列機械問題、割当問題、制約充足問題等の各種問題別に求解部を有し、モデル作成手段23により作成されたスケジューリングモデル毎にスケジュールを最適化し、その算出されたスケジュール結果に基づいて直前の上流側のスケジューリングモデルに対する納期を設定する。つまり、日程計画作成手段24は、例えば各工程の作業開始日を各工程の後引き要求日に対して所定の日時になるようにスケジューリングを行う。
【0052】
ここで、一機械問題とは、工程作業が1台の機械(1つの作業場所)のみで行われる場合である。一機械問題としての条件としては、例えば「(a)1つの工程において、作業場所(定盤)は1ヶ所であり、1ブロックのみの処理が可能である。」、「(b)各ブロックの処理時間は異なる。工程別ブロック別の処理時間は、物量/処理速度にて計算する。」、「(c)各ブロックか下流側工程の要求する納期を持つ。」等がある。
【0053】
また、並列機械問題とは、例えば結成工程を対象とし、これらの工程においては1工程で複数のブロックを処理可能としたものであり、各工程別に定盤数を指定する。なお、結成の各工程は、それぞれ複数の定盤を持ち、「組立」と「搭載」の間にあって、スケジューリングの意味で重要な部分であることから、各工程を個別に並列機械問題として定式化する。
【0054】
つまり、並列機械問題として考慮すべき条件は、「(a)1つの工程において、複数の作業場所(定盤)で同時並列して複数のブロックが処理できる。」、「(b)各ブロックの処理時間は異なる。工程別ブロック別の処理時間は、物量/処理速度にて計算する。」、「(c)各ブロックは下流側工程の要求する納期を持つ。」等がある。
【0055】
また、制約充足問題とは、複数同時処理や納期等の一般的かつ単純な制約のみでなく、一定ピッチ投入、負荷平準化のための制約、複数工程を一括してスケジューリングしたいときの先行順序関係等、精密なスケジューリングを行うための各種の複雑な制約条件が付く問題に対する定式化を行うものである。なお、本実施例においては、最も重要かつ制約条件の多い組立工程を対象として、複数の組立工程全体を一括して制約充足問題によってモデル化している。
【0056】
つまり、制約充足問題の主な条件としては、「(a)1つの工程において、複数の作業場所(定盤)で同時並行して複数のブロックが処理できる。」、「(b)各ブロックの処理時間は一定(ブロックの大きさに因らない)。ただし、処理時間が一定とならず、物量/処理速度で決まる任意時間処理の工程も混在する。」、「(c)工程へのブロックの投入時間間隔は一定。各工程へのブロックの投入は、作業時間/定盤数で計算される一定ピッチで投入する。ただし、処理時間が一定でない場合は、投入ピッチも一定でなくなる。」、「(d)各ブロックは下流側工程の要求する納期を持つ。」等がある。
【0057】
また、日程計画作成手段24は、例えば以下に示す(A)〜(H)等の制約条件に基づいてスケジューリングを行う。
【0058】
「(A)ブロック処理工程及び、工程順序は固定(各ブロックは、ブロックフロー指定により処理する工程及び工程順序を固定とする。なお、組立工程内で複数工程を渡る場合には、工程処理の先行関係が存在することになる。)。」、「(B)複数ブロックの結合(複数のブロック同士が結合して一つのブロックとなる場合、全ての結合ブロックが揃って始めて工程処理開始可能となる。)。」、「(C)固定日数、固定スケジュールの存在(全工程において、船毎に一律で1船分のブロック群を処理する日数(建造ピッチ)が存在する。この建造ピッチに対して、ブロックシリーズ毎に相対的な製造期間が設定される。また、製造期間内での一定ピッチの固定スケジュールとなるシリーズが存在することもある。)。」、「(D)連続させたくないブロック(工程毎に、連続して処理したくないブロックの組合せが存在する。)。」、「(E)連続させたいブロック(工程毎に、連続して処理したいブロックの組合せが存在する。)。」、「(F)2個1ロットの存在(工程毎に、同一定盤上で同時に処理したい2ブロックの組合せが存在する。また、選択された2ブロックが揃って始めて工程処理開始可能となる。)。」、「(G)上流工程(小組立工程)平準化(組立工程の開始日を上流側工程(小組立)の納期として、上流側工程の各工程に各ブロックを引き当てることを考慮する。このとき、上流側工程の工程毎にブロック数の上下限が存在する。)。」、「(H)納期遵守(下流側工程(艤装・塗装、結成)で計算されたブロック別要求日を、組立工程におけるブロック別の最終工程の納期として遵守する。組立工程内の直列工程において、先行工程では後行工程の処理開始日を納期として遵守する。)。」
日程計画作成手段24は、上述した各種情報に基づいてスケジューリングを行い、その結果が出力手段26により出力される。
【0059】
また、データベース25は、入力手段21により入力される各種データや、モデル作成手段23により作成されたモデル、日程計画作成手段24により作成されたスケジューリング結果等の各種データを蓄積する蓄積手段であり、必要に応じてデータの入出力を行うことができる。また、データベース25は、上述した問題単位設定情報、問題設定情報、及び問題情報等が蓄積されている。なお、データベース25に蓄積される具体的なデータ構成例については後述する。
【0060】
出力手段26は、スケジューリング結果をガントチャート等の画面表示や、スケジューリング結果、稼働率等のスケジューリング処理結果をファイル形式等で出力する。なお、具体的には、出力手段26は、スケジューリング結果を表示するためのディスプレイや音声出力するためのスピーカ等からなる。また、出力手段26は、プリンタ等の印刷機能を有していてもよく、取得可能な各種情報を印刷媒体へ出力してもよい。また、出力手段26は、入力解釈手段22における入力データチェック等において、エラーが見つかった場合には、エラーメッセージ等を出力する。
【0061】
データ修正手段27は、日程計画作成手段24により作成されたスケジューリング結果等に基づいて、変更が必要と判断された場合に入力データの修正を行う。なお、データ修正手段27は、予め基準となるパラメータ等を設定しておき、そのパラメータとスケジューリング結果とを比較することで、修正が必要な項目の入力データを所定の値に変更させてもよく、また専門家等が出力手段26に表示されるスケジューリング結果を参照して入力データの修正を行ってもよい。
【0062】
また、制御手段28は、スケジューリング装置10における各構成全体の制御を行う。具体的には、制御手段28は、例えば入力手段21からのスケジューリング実行指示により、ベータベースから所定のデータを読み込み、入力データの解析、モデル作成、日程計画作成等の各処理を行わせるよう制御する。
【0063】
<データベース:データ構成>
ここで、上述したデータベース25について図を用いて説明する。
【0064】
図3は、工程の接続関係が設定された工程データの一例を示す図である。また、図3(a)は、工程関係を示すフローデータを示し、図3(b)は、図3(a)に対応するフローデータの内容を示している。また、図3に示す例では工程1〜8の各工程を有している。
【0065】
図3(b)におけるテーブルの1桁目は、「工程No.」を示している。なお、「工程No.」が0の場合は、物が投入されている人口工程を表している。また、2桁目以降は、「接続先工程No.(後工程No.)」を示している。ただし、自工程No.が記述されている場合は、その記述されている回数分の繰り返し(ループ)が可能となる。例えば図3(b)における工程No.7の場合は、自工程の繰り返しは2回可能であることを示している。
【0066】
また、図4は、各工程の処理能力が設定された工程処理速度データを示す一例の図である。工程処理速度データに含まれる項目としては、例えば、工程No.」、「物量」、「処理タイプ」、「一定工期」等がある。なお、図4に示す例では工程数をMとする。
【0067】
図4に示す工程処理速度データは、各工程での処理時間を計算するための基礎データが蓄積される。具体的には、例えば、図4において、工程1に物量1=10を有する生産対象物が投入された場合10/1=10時間の処理時間となる。つまり、作業時間(工程時間)は、物量/物量処理速度により作業時間を決定する。
【0068】
なお、「処理タイプ」とは、予め設定されるタイプが蓄積されるものであり、例えば、「処理タイプ」が1の場合は、生産対象物が複数の物量を有し、対応する処理速度を有する場合に、処理時間の最大値を工程での処理時間とする。また、「処理タイプ」が2の場合は、生産対象物が複数の物量を有し、対応する処理速度を有する場合、処理時間の和を工程での処理時間とするものである。また、「一定工期」とは、その工程が必要な工期である。一定工期の指定がある場合は、物量は無視し指定の一定工期が採用される。
【0069】
また、図5は、生産対象物の処理対象量が設定された生産対象物の物量データの一例を示す図である。図5に示す物量データの項目としては、「対象物No.」と、各対象物に対応する各物量(1〜N)データ数」とから構成されている。なお、図5に示す例では、生産対象物数をPとする。
【0070】
また、図6は、生産対象物の処理工程が設定された生産対象物の工程フローデータの一例を示す図である。図6では、各物量に対応する生産対象物の物量データを示している。具体的には、図6(a)は、「生産対象物No.」が1の場合の工程フローデータの一例を示し、図6(b)は、「生産対象物No.」が2の場合の工程フローデータの一例を示している。また、図6に示す生産対象物の工程フローデータは、1行目に、「生産対象物No.」を示し、2行目以降は、「工程No.」と、「接続先工程No.(後工程No.)」とを示している。ここで、1行目の「生産対象物No.」で参照される生産対象物は、図5に示した1〜Pまでの対象物No.に対応する。
【0071】
また、工程フローデータの2行目以降の「工程No.」において、「工程No.」が0の場合は、物が投入される人口工程を表している。また、「接続先工程No.(後工程No.)」において、自工程No.が記述されている場合は、その回数までの繰り返し(ループ)が可能である。また、工程フローデータの最終桁には、合体先の生産対象物No.が蓄積される。
【0072】
また、図7は、工程の資源数等が設定された工程資源制約データの一例を示す図である。図7に示す工程資源制約データの項目としては、「工程No.」、「機械数」、「人員数」、「追加可能人員数」、「単位物量当り必要人員数」等から構成される。
【0073】
例えば、「工程No.」が2の場合は、機械数=5、つまり同時並行処理可能な生産対象物の数は5つであることを示している。また、単位物量当りに必要な人員数から計算される必要人員数の制限は8人であり、どうしても処理しきれないような場合に追加可能な人員数は最大2人であることを示している。ただし、人員数、追加可能人員数は合計値を最大として制限される。
【0074】
また、図8は、生産物の納期が設定された納期データの一例を示す図である。図8に示す納期データの項目としては、例えば「最終生産物No.」と、「納期(年/月/日)」とを有するよう構成される。図8に示す納期データは、生産の対象となる複数の最終生産物に対する納期を設定する。
【0075】
また、図9は、部分問題が設定された問題設定データの一例を示す図である。図9に示す問題設定データは、「工程No.」と、「問題コード」とを有するよう構成されている。図9に示す問題設定データは、工場全体を部分問題に分割すること等を設定するものである。
【0076】
例えば、図9に示す例において、「問題コード」が1の場合は、最終生産物の形になる工程(納期の指定される工程)を設定する。また、「問題コード」が2の場合は、並列機械スケジューリング問題(一機械問題を含む)を設定する。これは、各工程単独でのスケジューリングとなる。
【0077】
また、「問題コード」が3の場合は、割当問題を設定する。これは、各工程単独でのスケジューリングとなる。また、「問題コード」が4−*(*は、整数)の場合は、制約充足問題を設定する。これは、同一コードの複数工程を纏めてのスケジューリングとなる。本発明では、上述したようなデータ例に基づいてスケジューリングが行われる。
【0078】
<実施例1におけるスケジューリング手順>
次に、上述した実施例1におけるスケジューリング手順について、フローチャートを用いて説明する。図10は、実施例1におけるスケジューリング手順の一例を示すフローチャートである。図10に示すフローチャートは、まず上述したデータベースの各項目を読み込み(S01)、入力データのエラーチェック、所定のデータ構造に変換する等の入力データの解釈を行う(S02)。次に、S02により解釈されたデータに基づいて、図9に示すような部分問題毎の問題記述形式に合わせて上述したようなスケジューリングモデルを作成する(S03)。
【0079】
次に、一機械問題、並列機械問題、割当問題、制約充足問題等の各種問題別に、S03において得られたスケジューリングモデル毎にスケジューリングを実施する(S04)。次に、作成したスケジュール結果を画面に表示出力し(S05)、データベース25にも結果を出力する(S06)。
【0080】
ここで、その結果がOKであるか否かを判断する(S07)。なお、結果がOKであるか否かの判断は、上述したように予め設定されたパラメータと出力結果とを比較して判断を行ってもよく、また専門家等が表示されたスケジューリング結果を参照して、OKか否かの判断を行ってもよい。また、データベース25に出力された結果を用いて上述と同様の判定を行ってもよい。
【0081】
次に、結果がOKでなかった場合(S07において、NO)、データベースの入力データを修正して(S08)、S01に戻り、上述した入力データの読込処理以降の処理を行う。また、S07の処理において、結果がOKであった場合(S07において、YES)、処理を終了する。
【0082】
<出力例>
ここで、出力される内容について図を用いて説明する。
【0083】
<ガントチャート>
図11は、本発明におけるスケジューリング結果の出力例を示す図である。図11に示す出力例は、ガントチャートによる出力結果を示している。なお、図11では、1つの工程におけるスケジュール結果(処理状況)を示したものである。
【0084】
ここで、図11は、縦軸にこの工程が持っている機械名を示し、また横軸に時間を示して、1つの生産対象物がどのような処理フローとなるかをグラフ化したものとなる。具体的には、図11に示すガントチャート表示画面30は、スケジュール対象表示領域31と、ボタン選択領域32と、ガントチャート表示領域33と、スクロールバー34とを有するよう構成されている。
【0085】
スケジュール対象表示領域31には、スケジュール計算の実行時刻と、所定の工程のジョブ数、ライン(機械)数が表示される。また、ボタン選択領域32には、ガントチャートの拡大・縮小や、設定の変更、ガントチャートの印刷等を行うための各ボタン群が表示されている。
【0086】
また、ガントチャート表示領域33には、各ライン毎に各ブロックのスケジュールと、サイズ(負荷)が表示されている。また、ガントチャートは、スクロールバー34により、所定の期間のガントチャートを表示することができる。
【0087】
なお、本発明におけるガントチャートは、図11以外のガントチャートでもよく、例えば工場全体の処理状況を表現するガントチャートも出力することもできる。更に、ガントチャート以外にも重要カーブや工程作業待ちブロック数グラフ等を表示させることができる。
【0088】
なお、ガントチャート表示領域33に表示されるライン上の各作業は、他の作業と識別するため、領域毎に色分けされて表示されたり、斜線や網線を用いて表示される。また、各作業の納期遵守度合を色や点滅等の強調表示により識別してもよい。これにより、使用者等は表示された内容から例えば工程毎の内容を正確に把握することができる。
【0089】
<ブロック別フローデータ>
図12は、ブロック別フローデータの一例を示す図である。図12に示すブロック別フローデータは、一例としてB1〜B420の各ブロックにおけるブロック別の関係を示している。図12に示すように、例えば造船における作業工程で、「加工」→「組立」→「結成」→「搭載」→「岸壁」の処理手順において出力されるブロックには、分岐や合流があり、複数のブロックが結合して1つのブロックとなる。
【0090】
なお、分岐とは1つのブロックがある工程作業終了後、複数の下流側工程での並列作業を必要とする場合、同一データを持つ分身を作成して複数の下流側工程へ送ることをいう。また、合流とは1つのブロックが分岐して複数に分かれた後、下流側の1つの工程で再度1つのブロックになることをいう。更に、結合とは異なる複数のブロック同士がある工程で1つのブロックに集約されることをいう。
【0091】
<データベース出力例>
次に、上述したスケジューリング処理において、データベースに出力されるスケジューリング結果の一例について図を用いて説明する。
【0092】
図13は、工程の稼働状況を表す処理時間に関する統計出力の一例を示す図である。図13に示す処理時間に関する統計出力の項目としては、例えば、「工程No.」、「処理数」、「処理時間」、「開始時間」、「終了時間」、及び「稼働率」等から構成されている。なお、処理時間は、各工程における処理数を基準とした「平均」、「最小」、「最大」、「σ(標準偏差)」値を示している。したがって、図13により工程毎の稼働状況を数値によって把握することができる。
【0093】
また、図14は、工程の稼働状況を表す使用資源に関する統計出力の一例を示す図である。図14に示す使用資源に関する統計出力の項目としては、例えば、「工程No.」、「使用機械数」、「使用人員数」、及び「工数」等から構成されている。更に、「使用機械数」、「使用人員数」については、平均、最小、最大、σ(標準偏差)値を出力する。これにより、資源の使用状況を数値によって把握することができる。なお、図14の「工数」は、特に工数算定における生産コストとして使用される。
【0094】
上述した実施例によれば、高精度な生産スケジューリングを実現することができる。具体的には、対象となる全体工程群を一括してモデル化してスケジューリングするのではなく、各工程あるいは工程グループの重要性を勘案して、個別工程単位をモデル化又は2工程以上の工程を1つの纏まりでモデル化することとし、全体を部分問題の集合体としてモデル化することで、大規模なスケジューリング問題を従来よりも短縮した時間(実用的な時間)で処理することができる。また、人手に頼っていたスケジューリングを自動化することができる。更に、人手では考慮することが困難な膨大な制約条件を組み込むことが可能となる。
【0095】
<実施例2>
次に、本発明に係る第2の実施例(実施例2)について説明する。実施例2では、計画日程作成手段24により得られるスケジューリング結果に基づいて、シミュレーションを行うことにより、スケジューリング内容を時間の変化と共に確認することができ、その正確性を使用者等に把握させやすくすることができる。ここで、実施例2を実現するためのスケジューリング装置10の機能構成例について図を用いて説明する。
【0096】
図15は、実施例2におけるスケジューリング装置の機能構成の一例を示す図である。なお、図15においては、上述した図2に示す実施例1の機能構成と同様の構成については同一符号を用いることとし、その説明は省略する。
【0097】
図15に示すスケジューリング装置10は、実施例1に示した機能構成の他にシミュレーション手段41を有している。シミュレーション手段41は、スケジューリング結果に基づいて、全工程又は予め設定された工程数単位でシミュレーションを行う。具体的には、シミュレーション手段41は、離散系シミュレーション手法等により工程等の各種資源及び生産対象物をモデル化してシミュレーションを実施する。
【0098】
ここで、離散系シミュレーションとは、一般的には事象駆動型の駆動原理で行われるシミュレーションをいい、シミュレーションのレベルに応じた各種ソフトが市販されている。したがって、本実施例においては、そのような市販ソフトを利用してもよく自作ソフトによってもよい。
【0099】
また、シミュレーション手段41は、シミュレーション結果をデータベース25や出力手段26に出力する。これにより、画面上でのアニメーション表示や、詳細な事象情報、滞留状態等、系の状況に関するファイル出力を行うことができる。
【0100】
次に、実施例2におけるスケジューリング処理手順について図を用いて説明する。図16は、実施例2におけるスケジューリング処理手順の一例を示すフローチャートである。
なお、S11〜S18までの処理手順は、上述したS01〜S08と同様であるため、ここでの説明を省略する。
【0101】
ここで、図16に示すスケジューリング処理では、S17の処理において結果がOKである場合(S17において、YES)、次に、スケジューリング結果に基づいてシミュレーションを行う(S19)、具体的には、離散系シミュレーション手法により、工程等の各種資源及び生産対象物をモデル化してシミュレーションを行う。これにより、画面上でのアニメーション表示や、詳細な事象情報、滞留状態等、系の状況に関するファイル出力を行う。
【0102】
また、S19の処理により得られたシミュレーション結果を画面に表示出力し(S20)、データベース25にも出力する(S21)。次に、シミュレーション結果がOKであるか否かを判断する(S22)、なお、OKであるか否かの判断は、上述したように予め設定されたパラメータにより判断されるか、表示された結果を専門家等が参照することにより判断される。
【0103】
ここで、シミュレーション結果がOKでない場合(S22において、NO)、入力データの修正を行い(S23)、S11に戻り、入力データの読込処理以降の処理を行う。また、S22の処理において、結果がOKである場合(S22において、YES)、処理を終了する。
【0104】
これにより、より高精度なスケジューリングを行うことができる。なお、シミュレーションプログラムは、画面上での作業の進み具合や各工程間での滞留状況を視認できるように、アニメーション表示を行う。また、シミュレーションによる図11に示すようなガントチャートも出力することができ、シミュレーションによる図13に示すような各種統計出力も可能である。
【0105】
なお、上述したようなシミュレーション処理を行うにあたり、日程計画作成手段24では、シミュレーション用のデータを作成しておく。また、図17は、シミュレーション用の処理順序データ出力の一例を示す図である。図17に示す処理順序データ出力の項目としては、例えば、処理開始からの「時刻」、「工程No.」、「生産対象物No.」、及び「最終生産物No.」等を有するよう構成されている。
【0106】
なお、図17はスケジューリング結果のうち各生産対象物の工程での処理開始時刻を出力するものである。この出力に基づいて、シミュレーションプログラムは、各工程での生産対象物の処理開始時刻を決定する。また、図17では、単に各工程での生産対象物の処理順序として実施例1においても出力することができる。
【0107】
<シミュレーション結果:アニメーション表示例>
次に、実施例2におけるシミュレーション結果としてアニメーション表示例について図を用いて説明する。図18は、実施例2におけるシミュレーション結果の一例を示す図である。なお、図18におけるシミュレーションによるアニメーション画面50は、時間表示領域51に表示される時刻における各作業場所での作業状況を表示するものである。
【0108】
例えば、図18に示す造船工程では、大別すると「出材」エリアと、加工エリアと、小組立エリアと、組立エリアと、結成・艤装エリアと、搭載(ドック)エリアと、岸壁エリア等が表示されている。また、表示されている各エリアの中で、時間表示領域の時間が経過する毎に作業中のエリアが点滅させたり、色分けや斜線等により識別されて強調表示される。
【0109】
また、図18に示すアニメーション画面50は、ブロック数表示領域52を有しており、ブロック数表示領域52には、その時点で例えば作業待ち、作業中、搬出待ちのブロック数が表示される。また、時間表示領域51に表示される時刻は、設定される速度情報により、実際の時間よりも速く進めることができる。
【0110】
これにより、スケジューリング内容を時間の変化と共に確認することができ、その正確性を使用者等に把握させやすくすることができる。したがって、使用者等は、今後の作業工程で予想されるボトルネック部分の工程等を正確に把握することができ、その内容から迅速かつ確実な修正(作業変更)を行うことができる。
【0111】
<実施例3>
次に、実施例3について説明する。実施例3では、実施例2に示すようにシミュレーション結果等から入力データを修正するだけでなく、出力されたスケジューリング結果を直接修正する機能も有する。ここで、実施例3におけるスケジューリング装置10の機能構成例について、図を用いて説明する。図19は、実施例3におけるスケジューリング装置の機能構成例を示す一例の図である。図19に示すスケジューリング装置10は、実施例2に示した機能構成の他に計画データ修正手段42を有している。
【0112】
計画データ修正手段42は、例えばシミュレーション結果を専門家等が参照し、スケジューリング結果を直接変更することが可能であると判断した場合に、入力データを修正するのではなく、スケジューリング結果のスケジューリングデータを直接修正して再度シミュレーションを実行する。これにより、日程計画作成手段24が求めたスケジュールに対して、入力条件として記述しきれない、専門家の持つノウハウを反映した形でのスケジューリング結果を得ることができる。
【0113】
ここで、実施例3におけるスケジューリング処理手順についてフローチャートを用いて説明する。図20は、実施例3におけるスケジューリング処理手順の一例を示す図である。図20において、S31〜S41の処理は、上述した実施例2におけるS11〜S21と同様の処理であるため、ここでの説明は省略する。
【0114】
ここで、図20に示すスケジューリング処理では、S42の処理においてシミュレーション結果がOKであるか否かを判断し(S42)、結果がOKでない場合(S42において、NO)、入力データの修正を行うか、又はスケジューリング結果(計画データ)の修正を行うかを判断する。例えば、図20に示す処理では入力データの修正を行うか否かを判断し(S43)、入データを修正しない場合(S43において、NO)、計画データの修正を行い(S44)、S39の処理に戻り、シミュレーション処理以降の処理を実行する。
【0115】
また、入力データを修正する場合(S43において、YES)、入力データを修正し(S45)、S31に戻り、入力データの読込処理以降の処理を行う。また、S42の処理において、結果がOKである場合(S42において、YES)、処理を終了する。
【0116】
上述したように実施例3によれば、入力条件として記述しきれない専門家が有するノウハウ等を反映した形でのスケジューリング結果を得ることができる。
【0117】
上述したように本発明によれば、高精度なスケジューリングを行うことができる。具体的には、対象となる全体工程群を一括してモデル化してスケジューリングするのではなく、各工程あるいは工程グループの重要性を勘案して、個別工程単位をモデル化又は2工程以上の工程を1つの纏まりでモデル化することとし、全体を部分問題の集合体としてモデル化することで、大規模なスケジューリング問題を従来よりも短縮した時間(実用的な時間)で処理することができる。また、人手に頼っていたスケジューリングを自動化することができる。更に、人手では考慮することが困難な膨大な制約条件を組み込むことが可能となる。
【0118】
なお、上述の発明は、多品種少量生産スケジューリングや、開発プロジェクト、建設計画等の計画問題全般に適用することができる。
【0119】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【0120】
【図1】スケジューリング装置におけるハードウェアの概略構成の一例を示す図である。
【図2】実施例1におけるスケジューリング装置の機能構成の一例を示す図である。
【図3】工程の接続関係が設定された工程データの一例を示す図である。
【図4】各工程の処理能力が設定された工程処理速度データを示す一例の図である。
【図5】生産対象物の処理対象量が設定された生産対象物の物量データの一例を示す図である。
【図6】生産対象物の処理工程が設定された生産対象物の工程フローデータの一例を示す図である。
【図7】工程の資源数等が設定された工程資源制約データの一例を示す図である。
【図8】生産物の納期が設定された納期データの一例を示す図である。
【図9】部分問題が設定された問題設定データの一例を示す図である。
【図10】実施例1におけるスケジューリング手順の一例を示すフローチャートである。
【図11】本発明におけるスケジューリング結果の出力例を示す図である。
【図12】ブロック別フローデータの一例を示す図である。
【図13】工程の稼働状況を表す処理時間に関する統計出力の一例を示す図である。
【図14】工程の稼働状況を表す使用資源に関する統計出力の一例を示す図である。
【図15】実施例2におけるスケジューリング装置の機能構成の一例を示す図である。
【図16】実施例2におけるスケジューリング処理手順の一例を示すフローチャートである。
【図17】シミュレーション用の処理順序データ出力の一例を示す図である。
【図18】実施例2におけるシミュレーション結果の一例を示す図である。
【図19】実施例3におけるスケジューリング装置の機能構成例を示す一例の図である。
【図20】実施例3におけるスケジューリング処理手順の一例を示す図である。
【符号の説明】
【0121】
10 スケジューリング装置
11 入力装置
12 出力装置
13 ドライブ装置
14 補助記憶装置
15 メモリ装置
16 CPU
17 ネットワーク接続装置
18 記録媒体
21 入力手段
22 入力解釈手段
23 モデル作成手段
24 日程計画作成手段
25 データベース
26 出力手段
27 データ修正手段
28 制御手段
30 ガントチャート表示画面
31 スケジュール対象表示領域
32 ボタン選択領域
33 ガントチャート表示領域
34 スクロールバー
41 シミュレーション手段
42 計画データ修正手段
50 アニメーション画面
51 時間表示領域
52 ブロック数表示領域

【特許請求の範囲】
【請求項1】
複数の工程からなる生産対象物の生産スケジューリングを行うスケジューリング装置において、
前記工程の接続順序関係を設定するための工程接続情報と、前記工程に含まれる各ブロックの移動経路を設定するブロックフロー情報と、各ブロックの各工程での工期を設定する作業工期情報と、各工程の制約条件とが蓄積された蓄積手段と、
前記蓄積手段に蓄積された情報から前記工程を下流から上流に遡る順序に並べ替える解釈手段と、
前記解釈手段により得られる並べ替え後の工程データに基づいてスケジューリングモデルを作成するモデル作成手段と、
前記モデル作成手段により得られるスケジューリングモデル毎にスケジュールを最適化する日程計画作成手段と、
前記日程計画作成手段により得られるスケジューリング結果を出力する出力手段とを有することを特徴とするスケジューリング装置。
【請求項2】
前記日程計画作成手段により得られたスケジューリング結果に基づいて、全工程又は予め設定された工程数単位でシミュレーションを行い、その結果を前記蓄積手段又は前記出力手段に出力するシミュレーション手段を有することを特徴とする請求項1に記載のスケジューリング装置。
【請求項3】
前記シミュレーション手段により得られたシミュレーション結果に基づいて、前記日程計画作成手段により得られたスケジューリング結果を修正する計画データ修正手段を有することを特徴とする請求項2に記載のスケジューリング装置。
【請求項4】
前記モデル作成手段は、
前記解釈手段により得られる各作業の工期を丸めてスケジューリングを実行することを特徴とする請求項1乃至3の何れか1項に記載のスケジューリング装置。
【請求項5】
前記モデル作成手段は、
前記工期の丸め方として、前記スケジューリングモデル毎にゼロ時間作業を除く作業時間の平均値、最小値、最大値を算出し、その算出結果に基づいて最適な幅で工期を丸めることを特徴とする請求項4に記載のスケジューリング装置。
【請求項6】
前記蓄積手段は、
スケジューリングモデルの対象とする単位として工程又は工程群を指定する問題単位設定情報と、設定された問題単位を如何なる最適化問題として解くかを設定する問題設定情報と、各設定された問題に必要な情報を設定する問題情報とを有し、
前記モデル作成手段は、前記問題単位設定情報と、前記問題設定情報と、前記問題情報とに基づいてスケジューリングモデルを作成し、
前記日程計画作成手段は、前記モデル作成手段により得られるスケジューリングモデル毎にスケジュールを最適化し、その算出されたスケジュール結果に基づいて直前の上流側のスケジューリングモデルに対する納期を設定することを特徴とする請求項1乃至5の何れか1項に記載のスケジューリング装置。
【請求項7】
複数の工程からなる生産対象物の生産スケジューリングを行うスケジューリング方法において、
予め蓄積された前記工程の接続順序関係を設定するための工程接続情報と、前記工程に含まれる各ブロックの移動経路を設定するブロックフロー情報と、各ブロックの各工程での工期を設定する作業工期情報と、各工程の制約条件とを読み込む読込ステップと、
前記読込ステップにより得られた情報から前記工程を下流から上流に遡る順序に並べ替える解釈ステップと、
前記解釈ステップにより得られる並べ替え後の工程データに基づいてスケジューリングモデルを作成するモデル作成ステップと、
前記モデル作成ステップにより得られるスケジューリングモデル毎にスケジュールを最適化する日程計画作成ステップと、
前記日程計画作成ステップにより得られるスケジューリング結果を出力する出力ステップとを有することを特徴とするスケジューリング方法。
【請求項8】
前記日程計画作成ステップにより得られたスケジューリング結果に基づいて、全工程又は予め設定された工程数単位でシミュレーションを行うシミュレーションステップを有することを特徴とする請求項7に記載のスケジューリング方法。
【請求項9】
前記シミュレーションステップにより得られたシミュレーション結果に基づいて、前記日程計画作成ステップにより得られたスケジューリング結果を修正する計画データ修正ステップを有することを特徴とする請求項8に記載のスケジューリング方法。
【請求項10】
前記モデル作成ステップは、
前記解釈ステップにより得られる各作業の工期を丸めてスケジューリングを実行することを特徴とする請求項7乃至9の何れか1項に記載のスケジューリング方法。
【請求項11】
前記モデル作成ステップは、
前記工期の丸め方として、前記スケジューリングモデル毎にゼロ時間作業を除く作業時間の平均値、最小値、最大値を算出し、その算出結果に基づいて最適な幅で工期を丸めることを特徴とする請求項10に記載のスケジューリング方法。
【請求項12】
前記読込ステップは、
スケジューリングモデルの対象とする単位として工程又は工程群を指定する問題単位設定情報と、設定された問題単位を如何なる最適化問題として解くかを設定する問題設定情報と、各設定された問題に必要な情報を設定する問題情報とを読み込み、
前記モデル作成ステップは、前記問題単位設定情報と、前記問題設定情報と、前記問題情報とに基づいてスケジューリングモデルを作成し、
前記日程計画作成ステップは、前記モデル作成ステップにより得られるスケジューリングモデル毎にスケジュールを最適化し、その算出されたスケジュール結果に基づいて直前の上流側のスケジューリングモデルに対する納期を設定することを特徴とする請求項7乃至11の何れか1項に記載のスケジューリング方法。
【請求項13】
請求項7乃至12の何れか1項に記載のスケジューリング方法をコンピュータにより実行させるためのスケジューリングプログラム。
【請求項14】
請求項13に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate