(57)【要約】【課題】実際の生産の進捗状況を更に適切に管理する。【解決手段】複数の素材をそれぞれジョブとして所定の複数工程において所定の順番で処理することにより複数の異なる製品を並行して生産する工場における複数のジョブの進捗状況を管理する工程管理装置であって、限界工程納期を算出する第１工程納期計算部と、先行負荷時間を算出する先行負荷時間計算部と、ボトルネック工程基準での工程納期を算出する第２工程納期計算部と、先行負荷基準時刻を算出する先行負荷基準時刻計算部と、ジョブ毎に、所定の判定日時にジョブが到着している工程において、先行負荷基準時刻とボトルネック工程基準での工程納期と限界工程納期とに対する、時間軸上における判定日時の相対位置を算出し、相対位置に応じた進捗レベルを算出する進捗レベル計算部と、を備える。【選択図】図１
2019040345.tif 000002
【特許請求の範囲】
【請求項１】
複数の素材をそれぞれジョブとして所定の複数工程において所定の順番で処理することにより複数の異なる製品を並行して生産する工場における複数の前記ジョブの進捗状況を管理する工程管理装置であって、
前記ジョブ毎に、最終工程での出荷納期を起点とし、上流工程に対して第１工程まで順に標準工程間リードタイムずつ遡った時刻を、それぞれ、前記出荷納期に間に合うために最も遅く処理完了可能な限界工程納期として算出する第１工程納期計算部と、
前記ジョブ毎に、各工程において計算対象ジョブの前記限界工程納期よりも早い前記限界工程納期を持つ前記計算対象ジョブ以外の他ジョブの前記工程における標準処理時間に関連する関連時間の合計を先行負荷時間として算出する先行負荷時間計算部と、
前記ジョブ毎に、前記計算対象ジョブの各工程において、所定の基準日時に前記先行負荷時間を加算した時刻と前記限界工程納期との時間差をそれぞれ算出し、前記時間差のうち最小値を抽出し、前記計算対象ジョブの各工程において、前記限界工程納期から前記最小値遡った時刻をそれぞれボトルネック工程基準での工程納期として算出する第２工程納期計算部と、
前記ジョブ毎に、第１工程においては、前記基準日時に前記先行負荷時間を加算した時刻を先行負荷基準時刻として算出し、第Ｎ（Ｎは２以上かつ前記計算対象ジョブの工程数以下の整数）工程においては、第（Ｎ−１）工程の先行負荷基準時刻に第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを加算した時刻と、前記基準日時に第Ｎ工程における前記先行負荷時間を加算した時刻とのうち遅い方を先行負荷基準時刻として算出する先行負荷基準時刻計算部と、
前記ジョブ毎に、所定の判定日時に前記ジョブが到着している工程において、前記先行負荷基準時刻と前記ボトルネック工程基準での工程納期と前記限界工程納期とに対する、時間軸上における前記判定日時の相対位置を算出し、前記相対位置に応じた進捗レベルを算出する進捗レベル計算部と、
を備える工程管理装置。
【請求項２】
前記進捗レベル計算部は、処理の緊急度を表す指標である複数のレベルに区分して前記進捗レベルを算出し、
前記複数のレベルは、前記処理の緊急度が高くなる順に、第１レベルから第４レベルを含み、
前記進捗レベル計算部は、算出する前記進捗レベルを、前記判定日時が前記先行負荷基準時刻以前のときは、前記第１レベルとし、前記判定日時が前記先行負荷基準時刻以降であって、かつ前記ボトルネック工程基準での工程納期以前のときは、前記第２レベルとし、前記判定日時が前記ボトルネック工程基準での工程納期以降であって、かつ前記限界工程納期以前のときは、前記第３レベルとし、前記判定日時が前記限界工程納期以降のときは、前記第４レベルとする、
請求項１に記載の工程管理装置。
【請求項３】
前記ジョブ毎に、前記判定日時に前記ジョブが到着している工程である到着工程を記憶する進捗データ記憶部と、
前記ジョブ毎に、前記限界工程納期と、前記ボトルネック工程基準での工程納期と、前記先行負荷基準時刻とを記憶する管理基準記憶部と、をさらに備え、
前記第１工程納期計算部は、前記ジョブ毎に、算出した前記限界工程納期を前記管理基準記憶部に保存し、
前記第２工程納期計算部は、前記ジョブ毎に、算出した前記ボトルネック工程基準での工程納期を前記管理基準記憶部に保存し、
前記先行負荷基準時刻計算部は、前記ジョブ毎に、算出した前記先行負荷基準時刻を前記管理基準記憶部に保存し、
前記進捗レベル計算部は、前記ジョブ毎に、前記到着工程を前記進捗データ記憶部から読み出し、読み出した前記到着工程に対応する前記限界工程納期と、前記ボトルネック工程基準での工程納期と、前記先行負荷基準時刻とを前記管理基準記憶部から読み出して、前記到着工程における前記進捗レベルを算出する、
請求項１又は２に記載の工程管理装置。
【請求項４】
前記ジョブ毎に、前記ジョブが第１工程に到着した到着日時を起点とし、下流工程に対して最終工程まで順に前記標準工程間リードタイムずつ経過した時刻を、それぞれ、最も早く処理が完了可能な最早完成基準時刻として算出する最早完成基準時刻計算部を更に備え、
前記複数のレベルは、前記処理の緊急度が前記第１レベルより低い第０レベルを更に含み、
前記進捗レベル計算部は、前記ジョブ毎に、前記判定日時に前記ジョブが到着している工程において、更に、前記最早完成基準時刻に対する、時間軸上における前記判定日時の相対位置を算出し、前記相対位置に応じた前記進捗レベルを算出し、
前記進捗レベル計算部は、前記進捗レベルを、前記判定日時が、前記先行負荷基準時刻以前のうちで、前記最早完成基準時刻以降のときを前記第１レベルとし、前記最早完成基準時刻以前のときを前記第０レベルとする、
請求項２に記載の工程管理装置。
【請求項５】
前記ジョブ毎に、前記判定日時に前記ジョブが到着している工程において、進捗度合いを表す進捗指数を算出する進捗指数計算部を更に備え、
前記進捗指数計算部は、
前記判定日時が前記最早完成基準時刻のときは、前記進捗指数を所定の第１基準指数とし、
前記判定日時が前記先行負荷基準時刻のときは、前記進捗指数を前記第１基準指数より大きい所定の第２基準指数とし、
前記判定日時が前記ボトルネック工程基準での工程納期のときは、前記進捗指数を前記第２基準指数より大きい所定の第３基準指数とし、
前記判定日時が前記限界工程納期のときは、前記進捗指数を前記第３基準指数より大きい所定の第４基準指数とし、
前記判定日時が前記最早完成基準時刻と前記先行負荷基準時刻との間のときは、前記進捗指数を前記第１基準指数と前記第２基準指数とで線形補間した第１補間値とし、
前記判定日時が前記先行負荷基準時刻と前記ボトルネック工程基準での工程納期との間のときは、前記進捗指数を前記第２基準指数と前記第３基準指数とで線形補間した第２補間値とし、
前記判定日時が前記ボトルネック工程基準での工程納期と前記限界工程納期との間のときは、前記進捗指数を前記第３基準指数と前記第４基準指数とで線形補間した第３補間値とする、
請求項４に記載の工程管理装置。
【請求項６】
情報を表示する表示部と、
前記ジョブ毎に、前記進捗レベルを前記表示部に表示する表示制御部と、
をさらに備える請求項１〜５のいずれか１項に記載の工程管理装置。
【請求項７】
予め設定された、前記工程で用いられる設備の稼働率を前記工程毎に記憶する稼働率記憶部と、
前記ジョブ毎に、前記各工程での処理に要する標準処理時間を記憶するジョブデータ記憶部と、をさらに備え、
前記先行負荷時間計算部は、計算対象工程で用いられる設備の稼働率を前記稼働率記憶部から読み出し、計算対象工程での処理に要する前記標準処理時間を前記ジョブデータ記憶部から読み出し、前記標準処理時間を前記稼働率で除算した時間を前記関連時間として用いる、
請求項１〜６のいずれか１項に記載の工程管理装置。
【請求項８】
複数の素材をそれぞれジョブとして所定の複数工程において所定の順番で処理することにより複数の異なる製品を並行して生産する工場における複数の前記ジョブの進捗状況を管理する工程管理方法であって、
前記ジョブ毎に、最終工程での出荷納期を起点とし、上流工程に対して第１工程まで順に標準工程間リードタイムずつ遡った時刻を、それぞれ、前記出荷納期に間に合うために最も遅く処理完了可能な限界工程納期として算出する第１工程納期計算ステップと、
前記ジョブ毎に、各工程において計算対象ジョブの前記限界工程納期よりも早い前記限界工程納期を持つ前記計算対象ジョブ以外の他ジョブの前記工程における標準処理時間に関連する関連時間の合計を先行負荷時間として算出する先行負荷時間計算ステップと、
前記ジョブ毎に、前記計算対象ジョブの各工程において、所定の基準日時に前記先行負荷時間を加算した時刻と前記限界工程納期との時間差をそれぞれ算出し、前記時間差のうち最小値を抽出し、前記計算対象ジョブの各工程において、前記限界工程納期から前記最小値遡った時刻をそれぞれボトルネック工程基準での工程納期として算出する第２工程納期計算ステップと、
前記ジョブ毎に、第１工程においては、前記基準日時に前記先行負荷時間を加算した時刻を先行負荷基準時刻として算出し、第Ｎ（Ｎは２以上かつ前記ジョブの工程数以下の整数）工程においては、第（Ｎ−１）工程の先行負荷基準時刻に第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを加算した時刻と、前記基準日時に第Ｎ工程における前記先行負荷時間を加算した時刻とのうち遅い方を先行負荷基準時刻として算出する先行負荷基準時刻計算ステップと、
前記ジョブ毎に、所定の判定日時に前記ジョブが到着している工程において、前記先行負荷基準時刻と前記ボトルネック工程基準での工程納期と前記限界工程納期とに対する、時間軸上における前記判定日時の相対位置を算出し、前記相対位置に応じた進捗レベルを算出する進捗レベル計算ステップと、
を備える工程管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品の製造工程における進捗状況を管理する工程管理装置および方法に関する。
【背景技術】
【０００２】
従来、金属素材の生産工場等において、複数の設備で素材を処理する工程を経て納期及び製造手順の異なる多品種の製品が並行して生産される多品種生産システムが普及している。多品種生産システムにおいて、ある工程における複数の素材に対する処理における各進捗状況にムラがあると、素材毎のリードタイムにばらつきが出るため、製造する製品の納期管理が難しくなる。また、素材に対する処理の進捗状況のムラにより全体的なリードタイムが延びると、設備の稼働率低下にも繋がる。このため、多品種生産システムでは、それぞれの素材に対する処理の進捗状況を好適に管理する工程管理装置の構築が重要となっている。
【０００３】
特許文献１に記載の技術では、製品を生産するための複数の工程の進捗情報または進捗予定情報を記憶し、進捗情報または進捗予定情報を表示装置にて表示し、進捗情報または進捗予定情報を入力情報によって更新している。これによって、製品の生産計画の適正化が可能となり、かつ実際の製品の生産作業の進捗を適切に管理することが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−９０５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術に対し、実際の生産の進捗状況を更に適切に管理することができるように、改善が求められている。
【０００６】
本発明は、上記問題を解決するもので、実際の生産の進捗状況を更に適切に管理することができる工程管理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様は、
複数の素材をそれぞれジョブとして所定の複数工程において所定の順番で処理することにより複数の異なる製品を並行して生産する工場における複数の前記ジョブの進捗状況を管理する工程管理装置であって、
前記ジョブ毎に、最終工程での出荷納期を起点とし、上流工程に対して第１工程まで順に標準工程間リードタイムずつ遡った時刻を、それぞれ、前記出荷納期に間に合うために最も遅く処理完了可能な限界工程納期として算出する第１工程納期計算部と、
前記ジョブ毎に、各工程において計算対象ジョブの前記限界工程納期よりも早い前記限界工程納期を持つ前記計算対象ジョブ以外の他ジョブの前記工程における標準処理時間に関連する関連時間の合計を先行負荷時間として算出する先行負荷時間計算部と、
前記ジョブ毎に、前記計算対象ジョブの各工程において、所定の基準日時に前記先行負荷時間を加算した時刻と前記限界工程納期との時間差をそれぞれ算出し、前記時間差のうち最小値を抽出し、前記計算対象ジョブの各工程において、前記限界工程納期から前記最小値遡った時刻をそれぞれボトルネック工程基準での工程納期として算出する第２工程納期計算部と、
前記ジョブ毎に、第１工程においては、前記基準日時に前記先行負荷時間を加算した時刻を先行負荷基準時刻として算出し、第Ｎ（Ｎは２以上かつ前記計算対象ジョブの工程数以下の整数）工程においては、第（Ｎ−１）工程の先行負荷基準時刻に第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを加算した時刻と、前記基準日時に第Ｎ工程における前記先行負荷時間を加算した時刻とのうち遅い方を先行負荷基準時刻として算出する先行負荷基準時刻計算部と、
前記ジョブ毎に、所定の判定日時に前記ジョブが到着している工程において、前記先行負荷基準時刻と前記ボトルネック工程基準での工程納期と前記限界工程納期とに対する、時間軸上における前記判定日時の相対位置を算出し、前記相対位置に応じた進捗レベルを算出する進捗レベル計算部と、
を備えるものである。
【０００８】
本発明の第２態様は、
複数の素材をそれぞれジョブとして所定の複数工程において所定の順番で処理することにより複数の異なる製品を並行して生産する工場における複数の前記ジョブの進捗状況を管理する工程管理方法であって、
前記ジョブ毎に、最終工程での出荷納期を起点とし、上流工程に対して第１工程まで順に標準工程間リードタイムずつ遡った時刻を、それぞれ、前記出荷納期に間に合うために最も遅く処理完了可能な限界工程納期として算出する第１工程納期計算ステップと、
前記ジョブ毎に、各工程において計算対象ジョブの前記限界工程納期よりも早い前記限界工程納期を持つ前記計算対象ジョブ以外の他ジョブの前記工程における標準処理時間に関連する関連時間の合計を先行負荷時間として算出する先行負荷時間計算ステップと、
前記ジョブ毎に、前記計算対象ジョブの各工程において、所定の基準日時に前記先行負荷時間を加算した時刻と前記限界工程納期との時間差をそれぞれ算出し、前記時間差のうち最小値を抽出し、前記計算対象ジョブの各工程において、前記限界工程納期から前記最小値遡った時刻をそれぞれボトルネック工程基準での工程納期として算出する第２工程納期計算ステップと、
前記ジョブ毎に、第１工程においては、前記基準日時に前記先行負荷時間を加算した時刻を先行負荷基準時刻として算出し、第Ｎ（Ｎは２以上かつ前記ジョブの工程数以下の整数）工程においては、第（Ｎ−１）工程の先行負荷基準時刻に第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを加算した時刻と、前記基準日時に第Ｎ工程における前記先行負荷時間を加算した時刻とのうち遅い方を先行負荷基準時刻として算出する先行負荷基準時刻計算ステップと、
前記ジョブ毎に、所定の判定日時に前記ジョブが到着している工程において、前記先行負荷基準時刻と前記ボトルネック工程基準での工程納期と前記限界工程納期とに対する、時間軸上における前記判定日時の相対位置を算出し、前記相対位置に応じた進捗レベルを算出する進捗レベル計算ステップと、
を備えるものである。
【０００９】
上記第１態様又は上記第２態様では、ジョブ毎に、各工程において計算対象ジョブの限界工程納期よりも早い限界工程納期を持つ計算対象ジョブ以外の他ジョブの工程における処理時間に関連する関連時間の合計が、先行負荷時間として算出される。ジョブ毎に、計算対象ジョブの各工程において、基準日時に先行負荷時間を加算した時刻と限界工程納期との時間差がそれぞれ算出され、算出された時間差のうち最小値が抽出され、計算対象ジョブの各工程において、限界工程納期から最小値遡った時刻が、それぞれボトルネック工程基準での工程納期として算出される。
【００１０】
基準日時に先行負荷時間を加算した時刻と限界工程納期との時間差が最小値の工程ということは、計算対象ジョブの限界工程納期よりも早い限界工程納期を持つ計算対象ジョブ以外の他ジョブの処理が完了した時点から、計算対象ジョブの限界工程納期までの余裕時間が、最も少ない工程ということを意味する。よって、上記時間差が最小値の工程は、限界工程納期を遵守するのが最も困難な工程であるということができる。そこで、上記時間差が最小値の工程は、ボトルネック工程と称される。
【００１１】
このボトルネック工程基準での工程納期は、標準工程間リードタイムでジョブが全工程を流れた場合に、ボトルネック工程において、計算対象ジョブより限界工程納期が早い他のジョブが全て処理された直後に、計算対象ジョブに対する処理を開始できる最も遅いタイミングとなる。したがって、ジョブに対する処理をボトルネック工程基準での工程納期より早く開始した場合には、その後、標準工程間リードタイムで処理した時に、ボトルネック工程において、限界工程納期が計算対象ジョブより早い他のジョブに対する処理が終了するのを待つ可能性が高くなる。一般に、納期の早いジョブに対する処理を優先して開始するからである。その結果、上記第１態様又は上記第２態様によれば、他のジョブとの関係で決まるボトルネック工程の負荷状況を考慮した上で、どのタイミングまでに各ジョブを処理するべきかの目安を得ることができる。
【００１２】
また、上記第１態様又は上記第２態様では、ジョブ毎に、第１工程においては、所定の基準日時に先行負荷時間を加算した時刻が先行負荷基準時刻として算出される。第Ｎ（Ｎは２以上かつジョブの工程数以下の整数）工程においては、第（Ｎ−１）工程の先行負荷基準時刻に第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを加算した時刻と、基準日時に第Ｎ工程における先行負荷時間を加算した時刻とのうち遅い方が、先行負荷基準時刻として算出される。
【００１３】
この先行負荷基準時刻は、全工程において、計算対象ジョブより限界工程納期が早い他のジョブに対する処理が全て完了した後に、計算対象ジョブに対する処理を開始するとした場合の最も早いタイミングである。すなわち、先行負荷基準時刻より早く計算対象ジョブに対する処理を開始した場合には、計算対象ジョブより限界工程納期が早い他のジョブが後回しになる可能性がある。その結果、他のジョブの納期遅れを引き起こす可能性がある。
【００１４】
また、上記第１態様又は上記第２態様では、ジョブ毎に、所定の判定日時に計算対象ジョブが到着している工程において、先行負荷基準時刻とボトルネック工程基準での工程納期と限界工程納期とに対する、時間軸上における判定日時の相対位置が算出され、相対位置に応じた進捗レベルが算出される。したがって、上記第１態様又は上記第２態様によれば、限界工程納期のみを用いて進捗レベルを算出するのに比べて、より細かい区分で進捗レベルを算出することができる。その結果、実際の生産の進捗状況を更に適切に管理することができる。
【００１５】
上記第１態様において、例えば、前記進捗レベル計算部は、処理の緊急度を表す指標である複数のレベルに区分して前記進捗レベルを算出してもよい。前記複数のレベルは、前記処理の緊急度が高くなる順に、第１レベルから第４レベルを含んでもよい。前記進捗レベル計算部は、算出する前記進捗レベルを、前記判定日時が前記先行負荷基準時刻以前のときは、前記第１レベルとし、前記判定日時が前記先行負荷基準時刻以降であって、かつ前記ボトルネック工程基準での工程納期以前のときは、前記第２レベルとし、前記判定日時が前記ボトルネック工程基準での工程納期以降であって、かつ前記限界工程納期以前のときは、前記第３レベルとし、前記判定日時が前記限界工程納期以降のときは、前記第４レベルとしてもよい。
【００１６】
先行負荷基準時刻より早く計算対象ジョブに対する処理を開始した場合には、計算対象ジョブより限界工程納期が早い他のジョブが後回しになる可能性がある。その結果、他のジョブの納期遅れを引き起こす可能性がある。そこで、本態様では、算出する進捗レベルは、判定日時が先行負荷基準時刻以前のときは、処理の緊急度が最も低い第１レベルとされる。したがって、本態様によれば、処理の緊急度が最も低いため、処理の開始が最も弱く促されることになり、計算対象ジョブより限界工程納期が早い他のジョブの納期遅れを引き起こす可能性を低くすることができる。
【００１７】
ジョブに対する処理をボトルネック工程基準での工程納期より早く開始した場合には、その後、標準工程間リードタイムで処理した時に、ボトルネック工程において、限界工程納期が計算対象ジョブより早い他のジョブに対する処理が終了するのを待つ可能性が高くなる。そこで、本態様では、算出する進捗レベルは、判定日時が先行負荷基準時刻以降であって、かつボトルネック工程基準での工程納期以前のときは、処理の緊急度が第１レベルより高いが第３レベルより低い第２レベルとされる。したがって、本態様によれば、処理の緊急度が比較的低いため、処理の開始が比較的弱く促されることになり、ボトルネック工程において、限界工程納期が計算対象ジョブより早い他のジョブに対する処理が終了するのを待つ可能性が高くなるのを抑制することができる。
【００１８】
ボトルネック工程基準での工程納期は、標準工程間リードタイムでジョブが全工程を流れた場合に、ボトルネック工程において、計算対象ジョブより限界工程納期が早い他のジョブが全て処理された直後に、つまり不要な空き時間を発生させずに、計算対象ジョブに対する処理を開始できる最も遅いタイミングとなる。そこで、本態様では、算出する進捗レベルは、判定日時がボトルネック工程基準での工程納期以降であって、かつ限界工程納期以前のときは、処理の緊急度が第２レベルより高いが第４レベルより低い第３レベルとされる。したがって、本態様によれば、処理の緊急度が比較的高いため、処理の開始が比較的強く促されることになり、ボトルネック工程において、計算対象ジョブより限界工程納期が早い他のジョブが全て処理された後、あまり大きな空き時間を発生させることなく、計算対象ジョブに対する処理を開始することができる。
【００１９】
限界工程納期以降に処理を開始すると、標準工程間リードタイムでジョブが全工程を流れた場合に、出荷納期に遅れることになる。そこで、本態様では、算出する進捗レベルは、判定日時が限界工程納期以降のときは、処理の緊急度が最も高い第４レベルとされる。したがって、本態様によれば、処理の緊急度が最も高いため、処理の開始が最も強く促されることになり、出荷納期に対する遅れを少なくすることが可能になる。
【００２０】
上記第１態様において、例えば、前記ジョブ毎に、前記判定日時に前記ジョブが到着している工程である到着工程を記憶する進捗データ記憶部と、前記ジョブ毎に、前記限界工程納期と、前記ボトルネック工程基準での工程納期と、前記先行負荷基準時刻とを記憶する管理基準記憶部と、をさらに備えてもよい。前記第１工程納期計算部は、前記ジョブ毎に、算出した前記限界工程納期を前記管理基準記憶部に保存してもよい。前記第２工程納期計算部は、前記ジョブ毎に、算出した前記ボトルネック工程基準での工程納期を前記管理基準記憶部に保存してもよい。前記先行負荷基準時刻計算部は、前記ジョブ毎に、算出した前記先行負荷基準時刻を前記管理基準記憶部に保存してもよい。前記進捗レベル計算部は、前記ジョブ毎に、前記到着工程を前記進捗データ記憶部から読み出し、読み出した前記到着工程に対応する前記限界工程納期と、前記ボトルネック工程基準での工程納期と、前記先行負荷基準時刻とを前記管理基準記憶部から読み出して、前記到着工程における前記進捗レベルを算出してもよい。
【００２１】
本態様では、ジョブ毎に、到着工程が読み出され、読み出された到着工程に対応する限界工程納期と、ボトルネック工程基準での工程納期と、先行負荷基準時刻とが読み出されて、到着工程における進捗レベルが算出される。したがって、本態様によれば、判定日時にジョブに対する処理中の工程における進捗レベルを算出することが可能になる。
【００２２】
上記第１態様において、例えば、前記ジョブ毎に、前記ジョブが第１工程に到着した到着日時を起点とし、下流工程に対して最終工程まで順に前記標準工程間リードタイムずつ経過した時刻を、それぞれ、最も早く処理が完了可能な最早完成基準時刻として算出する最早完成基準時刻計算部を更に備えてもよい。前記複数のレベルは、前記処理の緊急度が前記第１レベルより低い第０レベルを更に含んでもよい。前記進捗レベル計算部は、前記ジョブ毎に、前記判定日時に前記ジョブが到着している工程において、更に、前記最早完成基準時刻に対する、時間軸上における前記判定日時の相対位置を算出し、前記相対位置に応じた前記進捗レベルを算出してもよい。前記進捗レベル計算部は、前記進捗レベルを、前記判定日時が、前記先行負荷基準時刻以前のうちで、前記最早完成基準時刻以降のときを前記第１レベルとし、前記最早完成基準時刻以前のときを前記第０レベルとしてもよい。
【００２３】
最早完成基準時刻は、ジョブの第１工程への到着時期を起点とし、下流工程に対して最終工程まで順に標準工程間リードタイムずつ経過した時刻である。このため、最早完成基準時刻より早く計算対象ジョブに対する処理を開始する必要性は全く無い。そこで、本態様では、算出する進捗レベルは、判定日時が最早完成基準時刻以前のときは、処理の緊急度が第１レベルより低い第０レベルとされる。したがって、本態様によれば、最早完成基準時刻以前のときは処理の緊急度が最も低いため、処理の開始が最も弱く促されることになり、計算対象ジョブより限界工程納期が早い他のジョブの納期遅れを引き起こす可能性を低くすることができる。
【００２４】
上記第１態様において、例えば、前記ジョブ毎に、前記判定日時に前記ジョブが到着している工程において、進捗度合いを表す進捗指数を算出する進捗指数計算部を更に備えてもよい。前記進捗指数計算部は、前記判定日時が前記最早完成基準時刻のときは、前記進捗指数を所定の第１基準指数とし、前記判定日時が前記先行負荷基準時刻のときは、前記進捗指数を前記第１基準指数より大きい所定の第２基準指数とし、前記判定日時が前記ボトルネック工程基準での工程納期のときは、前記進捗指数を前記第２基準指数より大きい所定の第３基準指数とし、前記判定日時が前記限界工程納期のときは、前記進捗指数を前記第３基準指数より大きい所定の第４基準指数とし、前記判定日時が前記最早完成基準時刻と前記先行負荷基準時刻との間のときは、前記進捗指数を前記第１基準指数と前記第２基準指数とで線形補間した第１補間値とし、前記判定日時が前記先行負荷基準時刻と前記ボトルネック工程基準での工程納期との間のときは、前記進捗指数を前記第２基準指数と前記第３基準指数とで線形補間した第２補間値とし、前記判定日時が前記ボトルネック工程基準での工程納期と前記限界工程納期との間のときは、前記進捗指数を前記第３基準指数と前記第４基準指数とで線形補間した第３補間値としてもよい。
【００２５】
本態様では、進捗レベルが第１レベルのときの進捗指数は、第１補間値とされ、進捗レベルが第２レベルのときの進捗指数は、第２補間値とされ、進捗レベルが第３レベルのときの進捗指数は、第３補間値とされる。このため、同じ進捗レベルであっても、判定日時の基準指数に対する相対位置に依存して、進捗指数が異なる値となる。したがって、本態様によれば、より詳細に、進捗度合いを把握することができる。
【００２６】
上記第１態様において、例えば、情報を表示する表示部と、前記ジョブ毎に、前記進捗レベルを前記表示部に表示する表示制御部と、をさらに備えてもよい。
【００２７】
本態様では、ジョブ毎に、進捗レベルが表示部に表示される。したがって、本態様によれば、ジョブ毎の進捗レベルを容易に把握することができる。
【００２８】
上記第１態様において、例えば、予め設定された、前記工程で用いられる設備の稼働率を前記工程毎に記憶する稼働率記憶部と、前記ジョブ毎に、前記各工程での処理に要する標準処理時間を記憶するジョブデータ記憶部と、をさらに備えてもよい。前記先行負荷時間計算部は、計算対象工程で用いられる設備の稼働率を前記稼働率記憶部から読み出し、計算対象工程での処理に要する前記標準処理時間を前記ジョブデータ記憶部から読み出し、前記標準処理時間を前記稼働率で除算した時間を前記関連時間として用いてもよい。
【００２９】
本態様では、計算対象工程で用いられる設備の稼働率が読み出され、計算対象工程での処理に要する標準処理時間が読み出されて、標準処理時間を稼働率で除算した時間が関連時間として用いられる。したがって、本態様によれば、設備の稼働率を考慮することによって、実際の稼働状況に適合する先行負荷時間を算出することができる。
【発明の効果】
【００３０】
本発明によれば、ジョブ毎に、所定の判定日時に計算対象ジョブが到着している工程において、先行負荷基準時刻とボトルネック工程基準での工程納期と限界工程納期とに対する、時間軸上における判定日時の相対位置が算出され、相対位置に応じた進捗レベルが算出されるため、限界工程納期のみを用いて進捗レベルを算出するのに比べて、より細かい区分で進捗レベルを算出することができる。その結果、実際の生産の進捗状況を更に適切に管理することができる。
【図面の簡単な説明】
【００３１】
【図１】第１実施形態の工程管理装置の構成例を概略的に示すブロック図である。
【図２】限界工程納期を概略的に示すタイミングチャートである。
【図３】先行負荷時間を概略的に示すタイミングチャートである。
【図４】工程納期余裕時間を概略的に示すタイミングチャートである。
【図５】ボトルネック工程基準での工程納期を概略的に示すタイミングチャートである。
【図６】先行負荷基準時刻を概略的に示すタイミングチャートである。
【図７】第１実施形態における進捗レベルの表示例を概略的に示す図である。
【図８】第１工程納期計算部、先行負荷時間計算部、第２工程納期計算部、先行負荷基準時刻計算部による第１実施形態の動作を概略的に示すフローチャートである。
【図９】第１工程納期計算部、先行負荷時間計算部、第２工程納期計算部、先行負荷基準時刻計算部による第１実施形態の動作を概略的に示すフローチャートである。
【図１０】第１工程納期計算部、先行負荷時間計算部、第２工程納期計算部、先行負荷基準時刻計算部による第１実施形態の動作を概略的に示すフローチャートである。
【図１１】進捗レベル計算部、表示制御部の動作を概略的に示すフローチャートである。
【図１２】ジョブにおける限界工程納期、ボトルネック工程基準での工程納期、先行負荷基準時刻を概略的に示すタイミングチャートである。
【図１３】図１２と異なるジョブにおける限界工程納期、ボトルネック工程基準での工程納期、先行負荷基準時刻を概略的に示すタイミングチャートである。
【図１４】図１２のジョブと図１３のジョブとの進捗レベルを概略的に示すタイミングチャートである。
【図１５】第２実施形態の工程管理装置の構成例を概略的に示すブロック図である。
【図１６】最早完成基準時刻を概略的に示すタイミングチャートである。
【図１７】第２実施形態における進捗レベルの表示例を概略的に示す図である。
【図１８】第２実施形態における進捗指数の表示例を概略的に示す図である。
【図１９】進捗レベルが同じである２つのジョブの進捗指数を概略的に示すタイミングチャートである。
【図２０】第１工程納期計算部、先行負荷時間計算部、第２工程納期計算部、先行負荷基準時刻計算部、最早完成基準時刻計算部による第２実施形態の動作を概略的に示すフローチャートである。
【図２１】第１工程納期計算部、先行負荷時間計算部、第２工程納期計算部、先行負荷基準時刻計算部、最早完成基準時刻計算部による第２実施形態の動作を概略的に示すフローチャートである。
【図２２】進捗レベル計算部、表示制御部、進捗指数計算部による第２実施形態の動作を概略的に示すフローチャートである。
【発明を実施するための形態】
【００３２】
（本発明の基礎となった知見）
図２は、本発明の第１実施形態における第１工程納期計算部１５１（後述の図１）によって算出されるジョブＪＢの限界工程納期を概略的に示すタイミングチャートである。図２を用いて、まず、本発明の基礎となった知見が説明される。
【００３３】
金属素材の生産工場等においては、複数の素材をそれぞれジョブとして所定の複数工程において所定の順番で処理することにより複数の異なる製品が並行して生産される。本実施形態では、第１工程納期計算部１５１は、例えば図２に示されるように、ジョブＪＢの出荷納期ＤＴを起点として、最終工程（図２では設備８）から標準工程間リードタイムＳＬＴずつ上流工程に向かって遡ることによって、各工程（設備７〜設備１）において処理を完了すべき期限を表す限界工程納期ＰＤＴを、限界工程納期ＰＤ７〜ＰＤ１として算出する。本実施形態では、第１工程納期計算部１５１は、ジョブ毎に、限界工程納期ＰＤＴを算出する。
【００３４】
工程間リードタイムは、連続する２つの工程における処理終了時刻の時間差である。すなわち、工程間リードタイムは、前工程の処理終了時刻から次工程の処理終了時刻までの時間である。標準工程間リードタイムＳＬＴは、前後の工程の組合せ単位で、過去の工程間リードタイムの実績値から予め算出された平均値又は中央値である。標準工程間リードタイムＳＬＴは、工程間リードタイム記憶部１４２（後述の図１）に記憶されている。
【００３５】
各工程における処理終了時刻が限界工程納期より遅れると、ジョブが標準工程間リードタイムＳＬＴで流れる場合には、そのジョブは出荷納期に間に合わないことになる。そこで、従来、この限界工程納期ＰＤ１〜ＰＤ７までに、設備１〜７での処理がそれぞれ完了するように、進捗状況が管理されていた。例えば、限界工程納期までの余裕日数を指標としておき、余裕日数が一定値以下になると、対象となるジョブに警告を出力するようにして、途中工程で生産の遅れが発生しないように管理する方法が一般に知られている。あるいは、工程納期までの余裕日数が短い作業から優先的に処理するように製造手順を指示する方法も、よく知られている。しかしながら、限界工程納期のみによる管理では、以下の問題がある。
【００３６】
（Ｘ）工程における処理を開始すべき目安がない：
限界工程納期に対して遅れないという安全面を考慮し過ぎると、各工程の処理開始時刻を早くし過ぎることになるため、仕掛品が増えてしまう。逆に、工程納期に処理が終了するように、ぎりぎりに処理開始時刻を設定すると、特に上流工程における遅延が下流工程に伝搬して、出荷納期に遅れる可能性が生じる。
【００３７】
（Ｙ）他のジョブへの影響が分からない：
限界工程納期に対して遅れないという安全面を考慮して、各工程の処理開始時刻を早くし過ぎると、限界工程納期が早い他のジョブの処理が後回しになる。その結果、後回しになったジョブが出荷納期に遅れる可能性が高くなる。しかし、この可能性の度合いを考慮するのが困難である。
【００３８】
（Ｚ）設備負荷を考慮した管理が困難である：
設備負荷の高いボトルネック設備が途中にある場合、ボトルネック設備より上流工程ではジョブを限界工程納期より早く処理できたとしても、そのジョブがボトルネック設備の前で待機することになると、仕掛量が増える原因となる。ジョブにより工程の順序が異なるジョブショップ型の場合、負荷の高い設備を通るジョブと、負荷の低い設備しか通らないジョブとでは、限界工程納期が同じでも限界工程納期に対する余裕時間が異なるはずである。ところが、この余裕時間の差異を判断することが困難である。
【００３９】
そこで、本発明者は、上述の問題点を解決する以下の項目を狙いとして、本開示の技術を想到した。すなわち、
（Ａ）工程での処理を開始するタイミングの目安となる指標を提供する。
（Ｂ）進捗管理において管理対象として着目している対象ジョブの処理タイミングが、納期遵守という観点から、他のジョブに影響する可能性の高低を判断可能にする。
（Ｃ）設備の負荷状況に応じて、進捗管理の目安となる基準を修正可能にする。
（Ｄ）ジョブによって利用する設備及び順序が異なるジョブショップ型の場合でも、ジョブによって異なる設備の負荷状況を考慮した進捗管理を可能にする。
【００４０】
（実施の形態）
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、各図面において、同じ構成要素には同じ符号が用いられ、詳細な説明は、適宜、省略される。
【００４１】
（構成）
図１は、第１実施形態における工程管理装置１００の構成例を概略的に示すブロック図である。図１に示されるように、第１実施形態における工程管理装置１００は、ディスプレイ１１０、入力部１２０、メモリ１３０、記憶装置１４０、及び中央演算処理装置（ＣＰＵ）１５０を備える。
【００４２】
第１実施形態における工程管理装置１００は、複数の素材をジョブとして複数の工程（設備）で処理して複数の受注製品を並行して生産する、例えばジョブショップ型で多品種生産の工場において、各素材に対する処理の進捗状況を管理する。各受注製品は、受注製品ごとに予め定められた工程の順で素材が工程に対応する設備により処理されることによって生産される。
【００４３】
ディスプレイ１１０（表示部の一例に相当）は、例えば液晶ディスプレイパネルを含む。ディスプレイ１１０は、ＣＰＵ１５０により制御されて、後述のように、ジョブ毎に、工程における進捗レベルを表示する。なお、ディスプレイ１１０は、液晶ディスプレイパネルに限られない。ディスプレイ１１０は、有機ＥＬ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）パネルなどの他のパネルを含んでもよい。
【００４４】
入力部１２０は、例えばマウス又はキーボードを含む。入力部１２０は、ユーザにより操作されると、その操作内容を示す操作信号をＣＰＵ１５０に出力する。なお、ディスプレイ１１０がタッチパネル式ディスプレイの場合には、マウス又はキーボードに代えて、タッチパネル式ディスプレイが入力部１２０を兼用してもよい。
【００４５】
メモリ１３０は、例えば半導体メモリ等により構成される。メモリ１３０は、例えばリードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的に消去書き換え可能なＲＯＭ（ＥＥＰＲＯＭ）などを含む。メモリ１３０のＲＯＭは、ＣＰＵ１５０を動作させる本実施形態の制御プログラムを記憶する。
【００４６】
ＣＰＵ１５０は、年月日時をカウントする時計機能を有する。ＣＰＵ１５０は、メモリ１３０に記憶された本実施形態の制御プログラムにしたがって動作することによって、第１工程納期計算部１５１、先行負荷時間計算部１５２、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４、進捗レベル計算部１５５、表示制御部１５６の機能を有する。ＣＰＵ１５０の各機能は、後述される。
【００４７】
記憶装置１４０は、例えばハードディスク又は半導体メモリ等により構成される。記憶装置１４０は、ジョブデータ記憶部１４１、工程間リードタイム記憶部１４２、稼働率記憶部１４３、管理基準記憶部１４４、進捗データ記憶部１４５を含む。各記憶部１４１〜１４５は、互いに別の媒体で構成されてもよい。代替的に、各記憶部１４１〜１４５は、記憶領域が分けられた一つの媒体で構成されてもよい。
【００４８】
ジョブデータ記憶部１４１は、ジョブ毎に、使用する設備の順番（つまり通過する工程の順番）、各設備での標準処理時間、出荷納期、現時点での進捗状況（どの工程まで進んでいるか）を予め記憶している。各設備での標準処理時間は、過去の同じ製品を同じ工程で処理したときの実績値の平均値又は中央値を用いてもよい。現時点の進捗状況は、各工程の処理終了時刻で表してもよい。すなわち、各工程の処理終了時刻が記載されていれば、その工程は処理済みであることを表し、処理終了時刻が記載されていなければ、その工程は未処理であることを表す。
【００４９】
工程間リードタイム記憶部１４２は、ジョブ毎に、前後の工程の組合せにおける標準工程間リードタイムＳＬＴ（図２）を予め記憶する。工程間リードタイム記憶部１４２は、例えば図２に示されるジョブについては、設備１から設備２、設備２から設備３、・・・、設備６から設備７の、それぞれの標準工程間リードタイムＳＬＴを予め記憶する。例えば、設備１で処理された後、次に設備２で処理されたときの工程間リードタイムの過去の実績値が集積され、その実績値の平均値又は中央値が予め算出されている。そして、実績値の平均値又は中央値が、設備１から設備２への標準工程間リードタイムＳＬＴとして、工程間リードタイム記憶部１４２に格納される。
【００５０】
稼働率記憶部１４３は、設備毎に、標準的な稼働率を予め記憶する。稼働率は、１日２４時間のなかで、ジョブの処理に費やすことができる最大時間の比率である。例えばメンテナンスの時間及び作業者の休憩時間には設備を動かせないため、稼働率は１００％未満である。稼働率記憶部１４３は、例えば図２では、設備１の稼働率が５０％、設備２の稼働率が８０％等のように、設備毎に標準的に設定された稼働率を記憶する。
【００５１】
管理基準記憶部１４４は、後述のように、第１工程納期計算部１５１、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４の計算結果を記憶する。進捗データ記憶部１４５は、現在日時における各ジョブの進捗状況、つまり各ジョブがどの設備で処理中であるかを記憶する。
【００５２】
第１工程納期計算部１５１は、上述のように、ジョブ毎に、その出荷納期を起点として、最終工程から標準工程間リードタイムずつ上流工程に向かって遡ることによって、各工程において処理を完了すべき期限を表す工程納期を算出する。ある工程においてジョブに対する処理終了時刻が上記算出された工程納期より遅れると、そのジョブは、出荷納期に間に合わなくなる。したがって、上記算出された工程納期は、限界工程納期と称される。第１工程納期計算部１５１は、ジョブ毎に、算出した各工程の限界工程納期を管理基準記憶部１４４に保存する。
【００５３】
図３は、先行負荷時間計算部１５２によって算出される先行負荷時間を概略的に示すタイミングチャートである。先行負荷時間計算部１５２は、ジョブ毎に、各工程の先行負荷時間を算出する。先行負荷時間は、計算対象工程において、計算対象ジョブの限界工程納期よりも早い限界工程納期を持つ他のジョブの計算対象工程における標準処理時間を稼働率で除算した実働処理時間（関連時間の一例に相当）の合計時間である。
【００５４】
例えば図３において、ジョブＪＢの設備４における限界工程納期ＰＤ４は、３月１４日である。先行負荷時間計算部１５２は、設備４における限界工程納期が３月１４日より早いジョブＪＢ以外の他ジョブであって、設備４で未処理のジョブに対する設備４における標準処理時間をジョブデータ記憶部１４１から読み出す。先行負荷時間計算部１５２は、設備４の稼働率を稼働率記憶部１４３から読み出す。先行負荷時間計算部１５２は、設備４における各ジョブに対する標準処理時間をそれぞれ設備４の稼働率で除算した実働処理時間の合計時間を算出する。この合計時間（図３の例では９．８日）が、設備４の先行負荷時間ＰＬＴである。
【００５５】
先行負荷時間計算部１５２は、ジョブＪＢの各工程（図３では設備１〜８）について、先行負荷時間を算出する。先行負荷時間計算部１５２は、さらに、ジョブＪＢ以外の他のジョブを計算対象ジョブとして、各工程における先行負荷時間を算出する。その結果、先行負荷時間計算部１５２は、全ジョブ毎に、かつジョブが通過する工程毎に、先行負荷時間を算出する。
【００５６】
例えば設備４の先行負荷時間ＰＬＴは、計算対象ジョブ（図３ではジョブＪＢ）より先に設備４で処理すべきジョブに対する標準処理時間／稼働率の合計時間である。したがって、先行負荷時間ＰＬＴより後でジョブＪＢに対する処理を開始すれば、他のジョブに対する処理を妨害しないであろうと考えられる。
【００５７】
図４は、第２工程納期計算部１５３によって算出される工程納期余裕時間を概略的に示すタイミングチャートである。図５は、第２工程納期計算部１５３によって算出されるボトルネック工程基準での工程納期を概略的に示すタイミングチャートである。
【００５８】
第２工程納期計算部１５３は、基準日時ＳＤＴに先行負荷時間ＰＬＴを加算した時刻と限界工程納期との時間差を工程納期余裕時間ＤＭＴとして算出する。例えば図４において、上述のように、設備４の先行負荷時間ＰＬＴは９．８日であり、限界工程納期ＰＤ４は、３月１４日である。また、基準日時ＳＤＴは、例えば、現在日時であり、図４では３月１日０時０分である。したがって、設備４の工程納期余裕時間ＤＭＴは、３．２日である。この工程納期余裕時間ＤＭＴの間に処理を開始すれば、自分自身のジョブ（計算対象ジョブ、図４ではジョブＪＢ）より限界工程納期が早い他のジョブに対する処理に悪影響を与えず、しかも、自分自身のジョブ（計算対象ジョブ、図４ではジョブＪＢ）も限界工程納期に遅れることがないという利点がある。
【００５９】
第２工程納期計算部１５３は、設備１〜８の工程納期余裕時間ＤＭＴを比較して、最小値である最小工程納期余裕時間ＤＭＴｍｉｎを抽出する。図４の例では、設備６の工程納期余裕時間ＤＭＴは２．２日であり、これが最小工程納期余裕時間ＤＭＴｍｉｎになっている。この最小工程納期余裕時間ＤＭＴｍｉｎとなる工程（図４では設備６）は、以下、「ボトルネック工程」と称される。
【００６０】
第２工程納期計算部１５３は、全ての工程（図５では、設備１〜８）において、限界工程納期ＰＤＴから最小工程納期余裕時間ＤＭＴｍｉｎを減算した納期を、ボトルネック工程基準での工程納期ＢＮＴとして算出する。第２工程納期計算部１５３は、ジョブ毎に、各工程におけるボトルネック工程基準での工程納期ＢＮＴを算出する。第２工程納期計算部１５３は、算出したボトルネック工程基準での工程納期ＢＮＴを管理基準記憶部１４４に保存する。
【００６１】
ボトルネック工程基準での工程納期ＢＮＴは、自分自身のジョブ（計算対象ジョブ、図５ではジョブＪＢ）より限界工程納期ＰＤＴが早い全ての工程（ボトルネック工程を含む）におけるジョブに対する処理に悪影響を与えず、かつ、全工程をジョブが標準工程間リードタイムで処理される場合に、ボトルネック工程でジョブの待ち時間（不要な設備の空き時間）を生じさせない最も遅いタイミングと言うことができる。すなわち、ボトルネック工程より上流工程において、ボトルネック工程基準での工程納期ＢＮＴより遅くジョブに対する処理が開始されると、ボトルネック工程において、ジョブの到着を待つために設備に空き時間が発生する可能性が高くなるとともに、限界工程納期ＰＤＴに対する余裕時間が短くなる。
【００６２】
図６は、先行負荷基準時刻計算部１５４によって算出される先行負荷基準時刻を概略的に示すタイミングチャートである。例えば図６において、先行負荷基準時刻計算部１５４は、第１工程（設備１）では、基準日時ＳＤＴに先行負荷時間ＰＬＴを加算した時刻ＴＰ１を第１工程の先行負荷基準時刻ＴＰとして算出する。
【００６３】
第２工程（設備２）では、先行負荷基準時刻計算部１５４は、第１工程の先行負荷基準時刻ＴＰに標準工程間リードタイムＳＬＴを加算した時刻ＴＰ２１と、基準日時ＳＤＴに第２工程の先行負荷時間ＰＬＴを加算した時刻ＴＰ２２とを比較して、遅い方の時刻ＴＰ２２を第２工程の先行負荷基準時刻ＴＰとして算出する。
【００６４】
第Ｎ工程（Ｎは２以上かつ計算対象ジョブの工程数以下の整数）では、先行負荷基準時刻計算部１５４は、第（Ｎ−１）工程の先行負荷基準時刻に標準工程間リードタイムＳＬＴを加算した時刻と、基準日時ＳＤＴに第Ｎ工程での先行負荷時間ＰＬＴを加算した時刻とを比較して、遅い方の時刻を第Ｎ工程の先行負荷基準時刻ＴＰとして算出する。
【００６５】
先行負荷基準時刻計算部１５４は、ジョブ毎に、各工程における先行負荷基準時刻を算出する。先行負荷基準時刻計算部１５４は、算出した先行負荷基準時刻ＴＰを管理基準記憶部１４４に保存する。この先行負荷基準時刻ＴＰは、自分自身のジョブより限界工程納期が早い他の全てのジョブに対して悪影響を与えない、最も早い処理タイミングと言うことができる。
【００６６】
なお、先行負荷基準時刻計算部１５４は、この時刻の比較を、第Ｎ工程が最終工程（図６では設備８）になるまで行ってもよいが、第Ｎ工程がボトルネック工程になるまでで終了してもよい。なぜなら、ボトルネック工程以降は、一律に、第（Ｎ−１）工程の先行負荷基準時刻に標準工程間リードタイムＳＬＴを加算した時刻の方が、基準日時ＳＤＴに第Ｎ工程での先行負荷時間ＰＬＴを加算した時刻より遅いからである。なお、この先行負荷基準時刻ＴＰは、ボトルネック工程以降では、図６に示されるように、ボトルネック工程基準での工程納期ＢＮＴに一致する。
【００６７】
上述の第１工程納期計算部１５１、先行負荷時間計算部１５２、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４による計算は、事前に、例えば現在（計算開始日）から１箇月先までの受注製品について行われる。一方、次に説明される進捗レベル計算部１５５、表示制御部１５６の動作は、受注製品の製造中に、進捗状況を調べるために行われる。
【００６８】
図７は、進捗レベル計算部１５５によって算出され、表示制御部１５６によってディスプレイ１１０に表示される、進捗レベルの表示例を概略的に示す図である。
【００６９】
進捗レベル計算部１５５は、例えば、入力部１２０を用いて進捗レベルの評価をユーザにより指示されると、ＣＰＵ１５０から判定日時として現在日時を取得する。進捗レベル計算部１５５は、進捗データ記憶部１４５から、現在日時において各ジョブがどの工程（設備）に到着しているかという各ジョブの進捗状況を読み出す。進捗レベル計算部１５５は、読み出した各ジョブについて、到着している到着工程の限界工程納期ＰＤＴ、ボトルネック工程基準での工程納期ＢＮＴ、先行負荷基準時刻ＴＰを管理基準記憶部１４４から読み出す。
【００７０】
進捗レベル計算部１５５は、限界工程納期ＰＤＴと、ボトルネック工程基準での工程納期ＢＮＴと、先行負荷基準時刻ＴＰとに対する、時間軸上における現在日時（判定日時）の相対位置を算出する。進捗レベル計算部１５５は、算出した相対位置に応じて、以下のように４段階として進捗レベルを算出する。
【００７１】
すなわち、進捗レベル計算部１５５は、現在日時が先行負荷基準時刻ＴＰ以前であれば、進捗レベルを、急ぐ必要が無いことを表すレベルＬＶ１（第１レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が、先行負荷基準時刻ＴＰ以降であってボトルネック工程基準での工程納期ＢＮＴ以前であれば、進捗レベルを、処理可能であることを表すレベルＬＶ２（第２レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が、ボトルネック工程基準での工程納期ＢＮＴ以降であって限界工程納期ＰＤＴ以前であれば、進捗レベルを、早目に処理すべきであることを表すレベルＬＶ３（第３レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が限界工程納期ＰＤＴ以降であれば、進捗レベルを、急いで処理すべきであることを表すレベルＬＶ４（第４レベルの一例に相当）とする。
【００７２】
図７は、計算対象ジョブＪＢが設備３に到着しており、現在日時が３月１０日である例を示す。図７では、現在日時が先行負荷基準時刻ＴＰ以降であってボトルネック工程基準での工程納期ＢＮＴ以前である。したがって、進捗レベル計算部１５５は、ジョブＪＢの設備３における進捗レベルを、処理可能であることを表すレベルＬＶ２とする。
【００７３】
表示制御部１５６は、ジョブ毎に、進捗レベル計算部１５５によって算出された進捗レベルをディスプレイ１１０に表示する。表示制御部１５６は、例えば図７をディスプレイ１１０に表示する。ディスプレイ１１０に表示された図７の画面を見ることによって、ユーザは、ジョブＪＢの設備３における進捗レベルが、レベルＬＶ２であると理解する。
【００７４】
（動作）
図８〜図１０は、図１に示される工程管理装置１００の第１工程納期計算部１５１、先行負荷時間計算部１５２、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４による第１実施形態の動作を概略的に示すフローチャートである。例えば、入力部１２０を用いてユーザにより指示されると、図８の動作が開始される。
【００７５】
図８のステップＳ８００において、第１工程納期計算部１５１は、計算対象ジョブとして、最初のジョブを設定する。ステップＳ８０５において、第１工程納期計算部１５１は、設定されたジョブの出荷納期をジョブデータ記憶部１４１から取得し、設定されたジョブにおける全ての工程間における標準工程間リードタイムを工程間リードタイム記憶部１４２から取得する。ステップＳ８１０において、第１工程納期計算部１５１は、設定されたジョブにおける全ての工程の限界工程納期ＰＤＴを算出する。第１工程納期計算部１５１は、算出した全ての工程の限界工程納期ＰＤＴを、設定されたジョブに対応付けて、管理基準記憶部１４４に保存する。
【００７６】
ステップＳ８１５において、第１工程納期計算部１５１は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ８１５でＮＯ）、処理は、ステップＳ８２０に進む。ステップＳ８２０において、第１工程納期計算部１５１は、計算対象ジョブとして、次のジョブを設定する。その後、処理はステップＳ８０５に戻って、以上のステップが繰り返される。一方、全てのジョブについて終了していれば（ステップＳ８１５でＹＥＳ）、処理はステップＳ８２５に進む。
【００７７】
ステップＳ８２５において、先行負荷時間計算部１５２は、計算対象ジョブとして、最初のジョブを設定する。ステップＳ８３０において、先行負荷時間計算部１５２は、設定されたジョブにおける、計算対象工程として最初の工程を設定する。ステップＳ８３５において、先行負荷時間計算部１５２は、設定された工程（計算対象工程）において、設定されたジョブ（計算対象ジョブ）の限界工程納期より早い限界工程納期を持つ他のジョブを、管理基準記憶部１４４から取得する。
【００７８】
ステップＳ８４０において、先行負荷時間計算部１５２は、設定された工程に用いられる設備の稼働率を稼働率記憶部１４３から取得する。先行負荷時間計算部１５２は、ステップＳ８３５で取得した他のジョブの、設定された工程における各標準処理時間をジョブデータ記憶部１４１から取得する。先行負荷時間計算部１５２は、各標準処理時間／稼働率の合計時間を先行負荷時間として算出する。先行負荷時間計算部１５２は、算出した先行負荷時間を、計算対象ジョブ及び計算対象工程に対応付けて、管理基準記憶部１４４に保存する。
【００７９】
ステップＳ８４５において、先行負荷時間計算部１５２は、全ての工程について終了したか否かを判定する。全ての工程について終了していなければ（ステップＳ８４５でＮＯ）、処理は、ステップＳ８５０に進む。ステップＳ８５０において、先行負荷時間計算部１５２は、計算対象工程として、次の工程を設定する。その後、処理はステップＳ８３５に戻って、以上のステップが繰り返される。
【００８０】
一方、全ての工程について終了していれば（ステップＳ８４５でＹＥＳ）、処理はステップＳ８５５に進む。ステップＳ８５５において、先行負荷時間計算部１５２は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ８５５でＮＯ）、処理は、ステップＳ８６０に進む。ステップＳ８６０において、先行負荷時間計算部１５２は、計算対象ジョブとして、次のジョブを設定する。その後、処理はステップＳ８３０に戻って、以上のステップが繰り返される。一方、全てのジョブについて終了していれば（ステップＳ８５５でＹＥＳ）、処理は、図９のステップＳ９００に進む。
【００８１】
ステップＳ９００において、第２工程納期計算部１５３は、基準日時を設定する。基準日時は、上述のように、現在日時でもよい。第２工程納期計算部１５３は、例えば入力部１２０を用いてユーザによって指示された基準日時を設定してもよい。ステップＳ９０５において、第２工程納期計算部１５３は、計算対象ジョブとして、最初のジョブを設定する。ステップＳ９１０において、第２工程納期計算部１５３は、全工程について、基準日時に先行負荷時間を加算した時刻と限界工程納期との時間差を算出する。第２工程納期計算部１５３は、算出した時間差のうち最小値をメモリ１３０のＲＡＭに保存する。ステップＳ９１５において、第２工程納期計算部１５３は、全工程について、メモリ１３０のＲＡＭに保存した最小値を用いて、ボトルネック工程基準での工程納期を算出する。第２工程納期計算部１５３は、ボトルネック工程基準での工程納期を、計算対象ジョブに対応付けて、管理基準記憶部１４４に保存する。
【００８２】
ステップＳ９２０において、第２工程納期計算部１５３は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ９２０でＮＯ）、処理は、ステップＳ９２５に進む。ステップＳ９２５において、第２工程納期計算部１５３は、計算対象ジョブとして、次のジョブを設定する。その後、処理はステップＳ９１０に戻って、以上のステップが繰り返される。一方、全てのジョブについて終了していれば（ステップＳ９２０でＹＥＳ）、処理は図１０のステップＳ１００５に進む。
【００８３】
ステップＳ１００５において、先行負荷基準時刻計算部１５４は、計算対象ジョブＪとして、最初のジョブを設定する。ステップＳ１０１０において、先行負荷基準時刻計算部１５４は、計算対象ジョブの第１工程の先行負荷時間を管理基準記憶部１４４から取得する。先行負荷基準時刻計算部１５４は、基準日時に第１工程の先行負荷時間を加算した時刻を、第１工程の先行負荷基準時刻として、計算対象ジョブに対応付けて、管理基準記憶部１４４に保存する。ステップＳ１０２０において、先行負荷基準時刻計算部１５４は、第Ｎ工程として工程の順番をカウントするカウント値Ｎに「２」を設定する。
【００８４】
ステップＳ１０２５において、先行負荷基準時刻計算部１５４は、計算対象ジョブＪの第（Ｎ−１）工程の先行負荷基準時刻を管理基準記憶部１４４から取得する。先行負荷基準時刻計算部１５４は、第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを工程間リードタイム記憶部１４２から取得する。先行負荷基準時刻計算部１５４は、第（Ｎ−１）工程の先行負荷基準時刻に第（Ｎ−１）工程から第Ｎ工程までの標準工程間リードタイムを加算した時刻を算出し、算出した時刻を第１時刻としてメモリ１３０のＲＡＭに保存する。
【００８５】
ステップＳ１０３０において、先行負荷基準時刻計算部１５４は、計算対象ジョブの第Ｎ工程の先行負荷時間を管理基準記憶部１４４から取得する。先行負荷基準時刻計算部１５４は、基準日時に第Ｎ工程の先行負荷時間を加算した時刻を算出し、算出した時刻を第２時刻としてメモリ１３０のＲＡＭに保存する。ステップＳ１０３５において、先行負荷基準時刻計算部１５４は、メモリ１３０のＲＡＭに保存された第１時刻と第２時刻とを比較し、遅い方を第Ｎ工程の先行負荷基準時刻として、計算対象ジョブＪに対応付けて、管理基準記憶部１４４に保存する。
【００８６】
ステップＳ１０４０において、先行負荷基準時刻計算部１５４は、工程の順番のカウント値Ｎが計算対象ジョブＪの最終工程Ｍ（Ｊ）になったか否かを判定する。カウント値Ｎが計算対象ジョブＪの最終工程Ｍ（Ｊ）になっていなければ（ステップＳ１０４０でＮＯ）、処理はステップＳ１０４５に進む。一方、カウント値Ｎが計算対象ジョブＪの最終工程Ｍ（Ｊ）になっていれば（ステップＳ１０４０でＹＥＳ）、処理はステップＳ１０５０に進む。
【００８７】
ステップＳ１０４５において、先行負荷基準時刻計算部１５４は、工程の順番のカウント値Ｎを１だけインクリメントする。その後、処理はステップＳ１０２５に進み、以上のステップが繰り返される。ステップＳ１０５０において、先行負荷基準時刻計算部１５４は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ１０５０でＮＯ）、処理は、ステップＳ１０５５に進む。ステップＳ１０５５において、先行負荷基準時刻計算部１５４は、計算対象ジョブＪとして、次のジョブを設定する。その後、処理はステップＳ１０１０に戻って、以上のステップが繰り返される。一方、全てのジョブについて終了していれば（ステップＳ１０５０でＹＥＳ）、図１０の処理は終了する。
【００８８】
本実施形態において、ステップＳ８００〜Ｓ８２０は、第１工程納期計算ステップの一例に相当し、ステップＳ８２５〜Ｓ８６０は、先行負荷時間計算ステップの一例に相当し、ステップＳ９００〜Ｓ９２５は、第２工程納期計算ステップの一例に相当し、ステップＳ１００５〜Ｓ１０５５は、先行負荷基準時刻計算ステップの一例に相当する。
【００８９】
図１１は、図１に示される工程管理装置１００の進捗レベル計算部１５５、表示制御部１５６の動作を概略的に示すフローチャートである。例えば、入力部１２０を用いて進捗レベルの表示が指示されると、図１１の動作が開始される。
【００９０】
ステップＳ１１００において、進捗レベル計算部１５５は、判定日時を設定する。進捗レベル計算部１５５は、現在日時をＣＰＵ１５０から取得して、判定日時として現在日時を設定してもよい。代替的に、進捗レベル計算部１５５は、判定日時として将来の日時を設定してもよい。ステップＳ１１０５において、進捗レベル計算部１５５は、計算対象ジョブとして、最初のジョブを設定する。ステップＳ１１１０において、進捗レベル計算部１５５は、設定されたジョブの進捗状況、つまり設定されたジョブが到着している工程（設備）を進捗データ記憶部１４５から取得する。
【００９１】
ステップＳ１１１５において、進捗レベル計算部１５５は、設定されたジョブが到着している工程（設備）の先行負荷基準時刻と、ボトルネック工程基準での工程納期と、限界工程納期とを、管理基準記憶部１４４から取得する。ステップＳ１１２０において、進捗レベル計算部１５５は、先行負荷基準時刻と、ボトルネック工程基準での工程納期と、限界工程納期とに対する、時間軸上における判定日時の相対位置を算出する。ステップＳ１１２５において、進捗レベル計算部１５５は、算出した相対位置に基づき進捗レベルを算出し、算出した進捗レベルをメモリ１３０のＲＡＭに保存する。
【００９２】
ステップＳ１１３０において、進捗レベル計算部１５５は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ１１３０でＮＯ）、処理は、ステップＳ１１３５に進む。ステップＳ１１３５において、進捗レベル計算部１５５は、計算対象ジョブとして、次のジョブを設定する。その後、処理はステップＳ１１１０に戻って、以上のステップが繰り返される。
【００９３】
一方、全てのジョブについて終了していれば（ステップＳ１１３０でＹＥＳ）、処理はステップＳ１１４０に進む。ステップＳ１１４０において、表示制御部１５６は、ジョブ毎に進捗レベルをディスプレイ１１０に表示する。その後、図１１の処理は終了する。本実施形態において、ステップＳ１１００〜Ｓ１１３５は、進捗レベル計算ステップの一例に相当する。
【００９４】
（進捗レベルの具体例）
２つのジョブのある工程における限界工程納期が同じであっても、その後の通過工程が異なると、進捗レベル計算部１５５によって算出される進捗レベルの異なるケースが、図１２〜図１４を用いて説明される。
【００９５】
図１２は、設備１，３，４，６，８を通過するジョブＪＢ１における限界工程納期ＰＤＴ、ボトルネック工程基準での工程納期ＢＮＴ、先行負荷基準時刻ＴＰを概略的に示すタイミングチャートである。図１３は、設備１，２，３，５，７，８を通過するジョブＪＢ２における限界工程納期ＰＤＴ、ボトルネック工程基準での工程納期ＢＮＴ、先行負荷基準時刻ＴＰを概略的に示すタイミングチャートである。図１４は、ジョブＪＢ１（図１２）とジョブＪＢ２（図１３）との進捗レベルを概略的に示すタイミングチャートである。
【００９６】
図１２、図１３に示されるように、ジョブＪＢ１とジョブＪＢ２とは、通過する工程が互いに異なるため、ジョブショップ型の生産工程になっている。また、図１２、図１３から分かるように、設備３における限界工程納期ＰＤＴは、ジョブＪＢ１及びジョブＪＢ２ともに３月１３日で、同じになっている。なお、基準日時ＳＤＴは、ジョブＪＢ１（図１２）及びジョブＪＢ２（図１３）の両方とも、３月１日０時０分になっている。
【００９７】
図１２において、基準日時ＳＤＴに先行負荷時間ＰＬＴを加算した時刻と限界工程納期ＰＤＴとの時間差である工程納期余裕時間のうち最小値の最小工程納期余裕時間ＤＭＴｍｉｎを持つ工程は、先行負荷時間ＰＬＴが最も長い設備６である。したがって、設備６がボトルネック工程となる。
【００９８】
一方、図１３に示されるジョブＪＢ２は、設備６を通過しない。図１３において、基準日時ＳＤＴに先行負荷時間ＰＬＴを加算した時刻と限界工程納期ＰＤＴとの時間差である工程納期余裕時間のうち最小値の最小工程納期余裕時間ＤＭＴｍｉｎを持つ工程は、設備７である。したがって、設備７がボトルネック工程となる。
【００９９】
図１２、図１３から分かるように、最小工程納期余裕時間ＤＭＴｍｉｎは、ジョブＪＢ１（図１２）より、ジョブＪＢ２（図１３）の方が長い。したがって、ジョブＪＢ１（図１２）における設備３のボトルネック工程基準での工程納期ＢＮＴは、３月１１日であるのに対して、ジョブＪＢ２（図１３）における設備３のボトルネック工程基準での工程納期ＢＮＴは、３月９日であり、ジョブＪＢ１に対して２日早くなっている。
【０１００】
図１４において、判定日時は、３月１０日に設定されている。ジョブＪＢ１のボトルネック工程基準での工程納期ＢＮＴは、３月１１日である。このため、判定日時（３月１０日）の時点で、ジョブＪＢ１が設備３まで進捗していた場合には、進捗レベル計算部１５５は、算出する進捗レベルを、処理可能であることを表すレベルＬＶ２とする。よって、判定日時の時点（つまりボトルネック工程基準での工程納期ＢＮＴより早い時点）でジョブＪＢ１に対する設備３における処理が開始されると、標準工程間リードタイムで処理が進んだ場合、ボトルネック工程（設備６）で待機する可能性があることが分かる。
【０１０１】
一方、ジョブＪＢ２のボトルネック工程基準での工程納期ＢＮＴは、３月９日である。このため、判定日時（３月１０日）の時点で、ジョブＪＢ２が設備３まで進捗していた場合には、進捗レベル計算部１５５は、算出する進捗レベルを、早目に処理すべきであることを表すレベルＬＶ３とする。よって、判定日時の時点（つまりボトルネック工程基準での工程納期ＢＮＴより遅い時点）でジョブＪＢ２に対する設備３における処理が開始されると、標準工程間リードタイムで処理が進んだ場合、ボトルネック工程（設備７）で待機する可能性が低く、早目に処理して出荷できる可能性があることが分かる。
【０１０２】
このように、本実施形態によれば、限界工程納期が同じであっても、進捗レベルに対して、異なる評価を行うことが可能になっている。
【０１０３】
（効果）
以上説明されたように、第１実施形態では、限界工程納期による自分自身のジョブの出荷納期のみを考慮した工程管理ではなくて、それに加えて、設備に対する負荷、他のジョブへの影響を総合的に考慮した工程管理が可能となっている。すなわち、進捗レベル計算部１５５は、ジョブの進捗状況を、限界工程納期のみによる２段階ではなくて、４段階で評価している。
【０１０４】
第１実施形態では、ジョブ毎に、通過する全ての工程において、自分自身のジョブ（計算対象ジョブ）よりも限界工程納期が早い他のジョブの当該工程での標準処理時間／稼働率を合計して先行負荷時間が算出される。基準日時に先行負荷時間を加算した時刻と、限界工程納期との時間差が最小値の工程が各ジョブのボトルネック工程と称される。この最小値の時間差が全ての工程で確保されるように、ボトルネック工程基準での工程納期が算出される。
【０１０５】
このボトルネック工程基準での工程納期は、標準工程間リードタイムでジョブが全工程を流れた場合に、ボトルネック工程において、自分自身のジョブ（計算対象ジョブ）より限界工程納期が早い他のジョブが全て処理された直後に（つまり不要な空き時間を発生させずに）、自分自身のジョブに対する処理を開始できる最も遅いタイミングとなる。
【０１０６】
したがって、ボトルネック工程の上流工程において、ジョブに対する処理をボトルネック工程基準での工程納期より早く開始した場合には、その後、標準工程間リードタイムで処理した時に、ボトルネック工程において、限界工程納期が自分自身のジョブ（計算対象ジョブ）より早い他のジョブに対する処理が終了するのを待つ可能性が高くなる。一般に、納期の早いジョブに対する処理を優先して開始するからである。その結果、ボトルネック工程基準での工程納期を用いることによって、他のジョブとの関係で決まるボトルネック工程の負荷状況を考慮した上で、どのタイミングまでに各ジョブを処理するべきかの目安を得ることができる。
【０１０７】
また、第１実施形態では、ジョブの第１工程では、基準時刻に先行負荷時間を加算した時刻が先行負荷基準時刻として算出される。また、その後の第Ｎ工程（Ｎは２以上かつジョブの工程数以下の整数）では、標準工程間リードタイムで決まる時刻と、先行負荷時間の終了時刻とのうち、遅い方の時刻が先行負荷基準時刻として算出される。
【０１０８】
この先行負荷基準時刻は、全工程において、自分自身のジョブ（計算対象ジョブ）より限界工程納期が早い他のジョブに対する処理が全て完了した後に、自分自身のジョブ（計算対象ジョブ）に対する処理を開始するとした場合の最も早いタイミングである。すなわち、先行負荷基準時刻より早く自分自身のジョブ（計算対象ジョブ）に対する処理を開始した場合には、自分自身のジョブ（計算対象ジョブ）より限界工程納期が早い他のジョブが後回しになって、他のジョブの納期遅れを引き起こす可能性がある。このように、先行負荷基準時刻を用いることによって、他のジョブに対する影響を考慮することができる。
【０１０９】
また、第１実施形態では、ジョブに対する処理を開始して、受注製品の製造を開始した後に、判定日時の時点でジョブに対する処理中の工程において、先行負荷基準時刻と、ボトルネック工程基準での工程納期と、限界工程納期とに対する、判定日時の時間軸上における相対的な位置関係によって進捗レベルが区別され、その進捗レベルがジョブ毎にディスプレイ１１０に表示される。
【０１１０】
そして、第１実施形態では、判定日時が、
（Ａ）先行負荷基準時刻以前、
（Ｂ）先行負荷基準時刻からボトルネック工程基準での工程納期までの間、
（Ｃ）ボトルネック工程基準での工程納期から限界工程納期までの間、
（Ｄ）限界工程納期以降、
の４段階で区別されている。これによって、同じ設備まで進捗したジョブごとの優先度を限界工程納期のみで設定された基準よりも細かい区分で評価できる。
【０１１１】
さらに、ジョブによって異なるボトルネック工程又はボトルネック工程以外の他の工程の負荷状況が、上記（Ａ）〜（Ｄ）の基準に反映されている。このため、製品の種類によって、利用する設備又は順序が異なるジョブショップ型の生産工程に対しても、第１実施形態を容易に適用することができる。
【０１１２】
次に、第２実施形態における工程管理装置が、第１実施形態と異なる点を中心に説明される。第２実施形態の工程管理装置は、第１実施形態と同様に、複数の素材をジョブとして複数の工程（設備）で処理して複数の受注製品を並行して生産する、例えばジョブショップ型で多品種生産の工場において、各素材に対する処理の進捗状況を管理する。各受注製品は、受注製品ごとに予め定められた工程の順で素材が工程に対応する設備により処理されることによって生産される。
【０１１３】
（構成）
図１５は、第２実施形態における工程管理装置１００の構成例を概略的に示すブロック図である。図１５に示されるように、第２実施形態における工程管理装置１００は、ディスプレイ１１０、入力部１２０、メモリ１３０、記憶装置１４０、及びＣＰＵ１５０を備える。
【０１１４】
メモリ１３０のＲＯＭは、ＣＰＵ１５０を動作させる第２実施形態の制御プログラムを記憶する。ＣＰＵ１５０は、年月日時をカウントする時計機能を有する。ＣＰＵ１５０は、メモリ１３０に記憶された第２実施形態の制御プログラムにしたがって動作することによって、第１工程納期計算部１５１、先行負荷時間計算部１５２、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４、進捗レベル計算部１５５、表示制御部１５６、最早完成基準時刻計算部１５７、進捗指数計算部１５８の機能を有する。最早完成基準時刻計算部１５７、進捗指数計算部１５８の各機能は、後述される。
【０１１５】
ジョブデータ記憶部１４１は、更に、ジョブ毎に、最初の工程（つまり第１工程）に素材（ジョブ）が到着した到着日時（つまり第１工程にジョブが投入された投入日時）を予め記憶している。管理基準記憶部１４４は、更に、最早完成基準時刻計算部１５７の計算結果を記憶する。
【０１１６】
図１６は、最早完成基準時刻計算部１５７によって算出される最早完成基準時刻を概略的に示すタイミングチャートである。最早完成基準時刻計算部１５７は、ジョブ毎に、最初の工程（つまり第１工程）に素材（ジョブ）が到着した到着日時ＡＴを起点とし、下流工程に対して最終工程まで順に標準工程間リードタイムＳＬＴずつ経過した時刻を、それぞれ、最も早く処理が完了可能な最早完成基準時刻ＦＴとして算出する。言い換えると、最早完成基準時刻計算部１５７は、工程納期とは関係なく、ジョブの第１工程への到着日時ＡＴから直ぐに処理を開始し、以降の工程を標準工程間リードタイムＳＬＴで処理した場合の各工程の処理終了時刻を、それぞれ、最早完成基準時刻ＦＴとして算出する。最早完成基準時刻計算部１５７は、算出した最早完成基準時刻ＦＴを管理基準記憶部１４４に保存する。
【０１１７】
図１６において、一番右に示される限界工程納期ＰＤＴと、一番左に示される最早完成基準時刻ＦＴとは、両方とも工程毎に標準工程間リードタイムＳＬＴずつ経過しているので、互いに同じ形状のラインになっている。
【０１１８】
第１工程納期計算部１５１、先行負荷時間計算部１５２、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４、最早完成基準時刻計算部１５７による計算は、事前に、例えば現在（計算開始日）から１箇月先までの受注製品について行われる。一方、進捗レベル計算部１５５、表示制御部１５６、進捗指数計算部１５８の動作は、受注製品の製造中に、進捗状況を調べるために行われる。
【０１１９】
図１７は、第２実施形態において、進捗レベル計算部１５５によって算出され、表示制御部１５６によってディスプレイ１１０に表示される、進捗レベルの表示例を概略的に示す図である。
【０１２０】
第２実施形態の進捗レベル計算部１５５は、例えば、入力部１２０を用いて進捗レベルの評価をユーザにより指示されると、ＣＰＵ１５０から判定日時として現在日時を取得する。進捗レベル計算部１５５は、進捗データ記憶部１４５から、現在日時において各ジョブがどの工程（設備）に到着しているかという各ジョブの進捗状況を読み出す。進捗レベル計算部１５５は、読み出した各ジョブについて、到着している到着工程の限界工程納期ＰＤＴ、ボトルネック工程基準での工程納期ＢＮＴ、先行負荷基準時刻ＴＰ、最早完成基準時刻ＦＴを管理基準記憶部１４４から読み出す。
【０１２１】
進捗レベル計算部１５５は、限界工程納期ＰＤＴと、ボトルネック工程基準での工程納期ＢＮＴと、先行負荷基準時刻ＴＰと、最早完成基準時刻ＦＴとに対する、時間軸上における現在日時（判定日時）の相対位置を算出する。進捗レベル計算部１５５は、算出した相対位置に応じて、第２実施形態では以下のように５段階として進捗レベルを算出する。
【０１２２】
すなわち、進捗レベル計算部１５５は、現在日時が最早完成基準時刻ＦＴ以前であれば、処理を停止すべきことを表すレベルＬＶ０（第０レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が、最早完成基準時刻ＦＴ以降であって先行負荷基準時刻ＴＰ以前であれば、進捗レベルを、急ぐ必要が無いことを表すレベルＬＶ１（第１レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が、先行負荷基準時刻ＴＰ以降であってボトルネック工程基準での工程納期ＢＮＴ以前であれば、進捗レベルを、処理可能であることを表すレベルＬＶ２（第２レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が、ボトルネック工程基準での工程納期ＢＮＴ以降であって限界工程納期ＰＤＴ以前であれば、進捗レベルを、早目に処理すべきであることを表すレベルＬＶ３（第３レベルの一例に相当）とする。進捗レベル計算部１５５は、現在日時が限界工程納期ＰＤＴ以降であれば、進捗レベルを、急いで処理すべきであることを表すレベルＬＶ４（第４レベルの一例に相当）とする。
【０１２３】
図１７は、第１実施形態の図７と同様に、計算対象ジョブＪＢが設備３に到着しており、現在日時が３月１０日である例を示す。図１７では、現在日時が先行負荷基準時刻ＴＰ以降であってボトルネック工程基準での工程納期ＢＮＴ以前である。したがって、進捗レベル計算部１５５は、ジョブＪＢの設備３における進捗レベルを、処理可能であることを表すレベルＬＶ２とする。
【０１２４】
表示制御部１５６は、ジョブ毎に、進捗レベル計算部１５５によって算出された進捗レベルをディスプレイ１１０に表示する。表示制御部１５６は、例えば図１７をディスプレイ１１０に表示する。ディスプレイ１１０に表示された図１７の画面を見ることによって、ユーザは、ジョブＪＢの設備３における進捗レベルが、レベルＬＶ２であると理解する。
【０１２５】
図１８は、進捗指数計算部１５８によって算出され、表示制御部１５６によってディスプレイ１１０に表示される、進捗指数の表示例を概略的に示す図である。
【０１２６】
進捗指数の算出に用いられる基準指数は、予め定められた、進捗レベルの境界における進捗指数である。言い換えると、基準指数は、それぞれ予め定められた、最早完成基準時刻ＦＴ、先行負荷基準時刻ＴＰ、ボトルネック工程基準での工程納期ＢＮＴ、限界工程納期ＰＤＴにおける進捗指数である。これらの予め定められた各基準指数は、例えば第２実施形態の制御プログラムの一部として、メモリ１３０のＲＯＭに保存されている。
【０１２７】
図１８の例では、レベルＬＶ０とレベルＬＶ１との境界（最早完成基準時刻ＦＴ）の基準指数は「０」に定められている（第１基準指数の一例に相当）。また、レベルＬＶ１とレベルＬＶ２との境界（先行負荷基準時刻ＴＰ）の基準指数は「１０」に定められている（第２基準指数の一例に相当）。また、レベルＬＶ２とレベルＬＶ３との境界（ボトルネック工程基準での工程納期ＢＮＴ）の基準指数は「２０」に定められている（第３基準指数の一例に相当）。また、レベルＬＶ３とレベルＬＶ４との境界（限界工程納期ＰＤＴ）の基準指数は「３０」に定められている（第４基準指数の一例に相当）。
【０１２８】
進捗指数計算部１５８は、基準指数と基準指数との間の進捗指数を、２つの基準指数の線形補間によって算出する。進捗指数計算部１５８は、算出した基準指数をメモリ１３０のＲＡＭに保存する。図１８の例では、基準指数が「２０」であるレベルＬＶ２とレベルＬＶ３との境界は４月１０日になっており、基準指数が「３０」であるレベルＬＶ３とレベルＬＶ４との境界は４月２０になっている。したがって、進捗指数計算部１５８は、判定日時（現在日時）である４月１６日の進捗指数を、基準指数「２０」と基準指数「３０」との線形補間によって、進捗指数「２６」と算出する。
【０１２９】
なお、基準指数は、図１８の例に限られない。基準指数と基準指数との間の進捗指数が線形補間によって適切に算出されるように、２つの基準指数の間に差異が設けられていればよい。
【０１３０】
（進捗指数の具体例）
２つのジョブのある工程における進捗レベルが同じであっても、進捗指数計算部１５８によって算出される進捗指数の異なるケースが、図１９を用いて説明される。
【０１３１】
図１９は、進捗レベルが同じレベルＬＶ３であるジョブＪＢ３，ＪＢ４の進捗指数を概略的に示すタイミングチャートである。図１９において、最早完成基準時刻ＦＴは、ジョブＪＢ３，ＪＢ４ともに同じ３月３日であり、限界工程納期ＰＤＴは、ジョブＪＢ３，ＪＢ４ともに同じ３月１３日である。また、判定日時である３月１０日には、ジョブＪＢ３，ＪＢ４ともに設備３まで進捗しており、進捗レベルは、同じレベルＬＶ３である。
【０１３２】
一方、ジョブＪＢ３の進捗指数は「２２」、ジョブＪＢ４の進捗指数は「２５」になっている。すなわち、限界工程納期ＰＤＴ及び進捗レベルが同じであっても、ジョブＪＢ４の方を優先すべきであることが分かる。これは，ジョブＪＢ４の方が、ボトルネック工程基準での工程納期ＢＮＴからの遅れが相対的に大きく，ボトルネック工程に対する処理を早く進める必要性が高いためである。
【０１３３】
（動作）
図２０、図２１は、図１５に示される工程管理装置１００の第１工程納期計算部１５１、先行負荷時間計算部１５２、第２工程納期計算部１５３、先行負荷基準時刻計算部１５４、最早完成基準時刻計算部１５７による第２実施形態の動作を概略的に示すフローチャートである。なお、第２実施形態でも、第１実施形態と同様に、第１工程納期計算部１５１、先行負荷時間計算部１５２により図８の動作が行われ、第２工程納期計算部１５３により図９の動作が行われる。第２実施形態でも、第１実施形態と同様に、例えば、入力部１２０を用いてユーザにより指示されると、図８の動作が開始される。
【０１３４】
第２実施形態において、図９のステップＳ９２０でＹＥＳになると、処理は、図２０のステップＳ１００５に進む。図２０のステップＳ１００５〜Ｓ１０５５は、図１０のステップＳ１００５〜Ｓ１０５５と同じである。図２０のステップＳ１０５０において、全てのジョブについて終了すると（ステップＳ１０５０でＹＥＳ）、処理は図２１のステップＳ２１００に進む。
【０１３５】
図２１のステップＳ２１００において、最早完成基準時刻計算部１５７は、計算対象ジョブとして、最初のジョブを設定する。ステップＳ２１０５において、最早完成基準時刻計算部１５７は、設定されたジョブの第１工程への到着日時をジョブデータ記憶部１４１から取得する。ステップＳ２１１０において、最早完成基準時刻計算部１５７は、設定されたジョブにおける全ての工程間における標準工程間リードタイムを工程間リードタイム記憶部１４２から取得する。
【０１３６】
ステップＳ２１１５において、最早完成基準時刻計算部１５７は、設定されたジョブにおける第２工程以降の全ての工程について最早完成基準時刻ＦＴを算出する。最早完成基準時刻計算部１５７は、算出した全ての工程の最早完成基準時刻ＦＴを、設定されたジョブに対応付けて、管理基準記憶部１４４に保存する。
【０１３７】
ステップＳ２１２０において、最早完成基準時刻計算部１５７は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ２１２０でＮＯ）、処理は、ステップＳ２１２５に進む。ステップＳ２１２５において、最早完成基準時刻計算部１５７は、計算対象ジョブとして、次のジョブを設定する。その後、処理はステップＳ２１０５に戻って、以上のステップが繰り返される。一方、全てのジョブについて終了していれば（ステップＳ２１２０でＹＥＳ）、処理は終了する。
【０１３８】
図２２は、図１５に示される工程管理装置１００の進捗レベル計算部１５５、表示制御部１５６、進捗指数計算部１５８による第２実施形態の動作を概略的に示すフローチャートである。例えば、入力部１２０を用いて進捗レベル及び進捗指数の表示が指示されると、図２２の動作が開始される。
【０１３９】
図２２のステップＳ１１００〜Ｓ１１１０は、図１１のステップＳ１１００〜Ｓ１１１０と同じである。ステップＳ１１１０に続くステップＳ２２００において、進捗レベル計算部１５５は、設定されたジョブが到着している工程（設備）の最早完成基準時刻と、先行負荷基準時刻と、ボトルネック工程基準での工程納期と、限界工程納期とを、管理基準記憶部１４４から取得する。
【０１４０】
ステップＳ２２０５において、進捗レベル計算部１５５は、最早完成基準時刻と、先行負荷基準時刻と、ボトルネック工程基準での工程納期と、限界工程納期とに対する、時間軸上における判定日時の相対位置を算出する。ステップＳ２２１０において、進捗レベル計算部１５５は、算出した相対位置に基づき進捗レベルを算出し、算出した進捗レベルをメモリ１３０のＲＡＭに保存する。ステップＳ２２１５において、進捗指数計算部１５８は、進捗指数を算出し、算出した進捗指数をメモリ１３０のＲＡＭに保存する。
【０１４１】
ステップＳ２２２０において、進捗レベル計算部１５５は、全てのジョブについて終了したか否かを判定する。全てのジョブについて終了していなければ（ステップＳ２２２０でＮＯ）、処理は、ステップＳ２２２５に進む。ステップＳ２２２５において、進捗レベル計算部１５５は、計算対象ジョブとして、次のジョブを設定する。その後、処理はステップＳ１１１０に戻って、以上のステップが繰り返される。
【０１４２】
一方、全てのジョブについて終了していれば（ステップＳ２２２０でＹＥＳ）、処理はステップＳ２２１０に進む。ステップＳ２２１０において、表示制御部１５６は、ジョブ毎に、進捗レベル及び進捗指数をディスプレイ１１０に表示する。その後、図２２の処理は終了する。
【０１４３】
（効果）
以上説明されたように、第２実施形態では、最早完成基準時刻計算部１５７は、第１工程へのジョブの到着日時（投入日時）を起点とし、標準工程間リードタイムＳＬＴを加算した時刻を第２工程の処理終了時刻として算出し、これを最終工程まで繰り返すことによって決まる各工程の処理終了時刻を、最早完成基準時刻ＦＴとして算出する。
【０１４４】
言い換えると、最早完成基準時刻は、到着日時（投入日時）から直ぐに処理を開始し、その後は、工程納期とは関係なく標準工程間リードタイムで生産を進めた場合（つまり最早で完成させて出荷する場合）の基準時刻となる。この場合において、標準工程間リードタイムも最短時間に設定すると、最早完成基準時刻は、特急で生産する場合の基準時刻を意味することになる。
【０１４５】
このように、第２実施形態によれば、工程納期とは関係なく、優先的に処理を進めた場合の処理のタイミング（基準時刻）に対して，工程納期を守るための処理のタイミング（基準時刻）の余裕度合を判断することができる。このため、工程納期を順守することの難しさを把握することができる。
【０１４６】
（変形された実施形態）
（１）上記第１、第２実施形態では、先行負荷時間計算部１５２は、標準処理時間を稼働率で除算した実働処理時間の合計時間を先行負荷時間としているが、これに限られない。先行負荷時間計算部１５２は、稼働率で除算せずに、標準処理時間の合計時間を先行負荷時間としてもよい。この場合には、稼働率記憶部１４３（図１）を備えなくてもよい。
【０１４７】
（２）上記第１実施形態では、表示制御部１５６は、進捗レベル計算部１５５によって算出された進捗レベルを、図７に示されるような表示形態でディスプレイ１１０に表示しているが、これに限られない。表示制御部１５６は、例えば、計算対象のジョブ及び工程（設備）と、進捗レベルとが対応づけられた表形式でディスプレイ１１０に表示してもよい。
【０１４８】
同様に、上記第２実施形態では、表示制御部１５６は、進捗レベル計算部１５５によって算出された進捗レベルと、進捗指数計算部１５８によって算出された進捗指数とを、図１８に示されるような表示形態でディスプレイ１１０に表示しているが、これに限られない。表示制御部１５６は、例えば、計算対象のジョブ及び工程（設備）と、進捗レベルと、進捗指数とが対応づけられた表形式でディスプレイ１１０に表示してもよい。
【符号の説明】
【０１４９】
１００  工程管理装置
１１０  ディスプレイ
１４１  ジョブデータ記憶部
１４３  稼働率記憶部
１４４  管理基準記憶部
１４５  進捗データ記憶部
１５０  ＣＰＵ
１５１  第１工程納期計算部
１５２  先行負荷時間計算部
１５３  第２工程納期計算部
１５４  先行負荷基準時刻計算部
１５５  進捗レベル計算部
１５６  表示制御部
１５７  最早完成基準時刻計算部
１５８  進捗指数計算部
【図１】
2019040345.tif 000003
【図２】
2019040345.tif 000004
【図３】
2019040345.tif 000005
【図４】
2019040345.tif 000006
【図５】
2019040345.tif 000007
【図６】
2019040345.tif 000008
【図７】
2019040345.tif 000009
【図８】
2019040345.tif 000010
【図９】
2019040345.tif 000011
【図１０】
2019040345.tif 000012
【図１１】
2019040345.tif 000013
【図１２】
2019040345.tif 000014
【図１３】
2019040345.tif 000015
【図１４】
2019040345.tif 000016
【図１５】
2019040345.tif 000017
【図１６】
2019040345.tif 000018
【図１７】
2019040345.tif 000019
【図１８】
2019040345.tif 000020
【図１９】
2019040345.tif 000021
【図２０】
2019040345.tif 000022
【図２１】
2019040345.tif 000023
【図２２】
2019040345.tif 000024