(57)【要約】【課題】操業制約の多い多品種工程においても実用的な生産計画を作成する。【解決手段】工程情報メモリ２１と製品情報メモリ２２は、工程情報１１と製品情報１２を読み込む。また、工程間リードタイム設定部３１と単位負荷量計算部３２は工程情報から工程間リードタイムと単位負荷量を計算する。負荷山積み部３３は、作業割付テーブル２３に対して工程情報と製品情報に基づいて負荷を山積みする。負荷山崩し部３４は、工程間リードタイム判断部３４ａにより工程間リードタイムを確保しつつ負荷の移動を行う。以上により得られた長期計画について、処理優先度設定部３５により優先された製品順に、セグメント内終了条件判断部３８で判断しつつ、負荷集約部３６による負荷集約及び負荷拡散部３７による負荷拡散を行うことにより日程計画を作成する。【選択図】　　　図１
2004046308.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程を経て製造される複数品種の製品について製造すべき数量を品種ごとに記憶するための製品情報記憶手段と、
前記品種ごとに、当該品種を製造するために通過する工程の順序、各工程での単位作業に対応した負荷量、及び、各工程に係る作業を割り付けることが可能な期間を所定の時間幅に区切られたセグメントの数で表した作業割付可能期間を含んだ工程情報を記憶するための工程情報記憶手段と、
複数のセグメントのそれぞれについて、セグメントでの作業能力及びセグメントでの負荷量が工程ごとに登録される作業割付テーブルを記憶するための作業割付テーブル記憶手段と、
前記工程情報記憶手段に記憶された単位作業に対応した負荷量及び作業割付可能期間に基づいて、品種及び工程ごとに作業割付可能期間内の１セグメント当たりに割り当てられる単位作業に対応した負荷量である単位負荷量を計算するための単位負荷量計算手段と、
前記作業割付可能期間内の各セグメントに割り当てられた単位負荷量を前記製品情報記憶手段に記憶された製造すべき数量を考慮してすべての品種について工程ごとに加算した負荷量を前記作業割付テーブルに登録する負荷山積みを行うための負荷山積み手段と、
前記負荷山積み手段によって前記作業割付テーブルのセグメントに登録された負荷量が前記作業割付テーブル記憶手段に記憶された当該セグメントの作業能力以下となるまで、前記作業割付テーブルに記憶された作業能力に対する負荷量の比が大きいセグメントから優先的に、前記作業割付テーブルに登録されている負荷量を単位負荷量を単位として他のセグメントに移動させる負荷山崩しを行うための負荷山崩し手段とを備えていることを特徴とする工程負荷調整装置。
【請求項２】
前記単位負荷量を、
単位負荷量＝各工程での単位作業に対応した負荷量／作業割付可能期間
として計算することを特徴とする請求項１に記載の工程負荷調整装置。
【請求項３】
前記作業割付可能期間は、前記工程情報又は前記品種により定められることを特徴とする請求項１又は２に記載の工程負荷調整装置。
【請求項４】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させる際に、後方向に移動させる場合は、納期に余裕のある製品に対応する負荷量を優先し、また、前方向に移動させる場合は、再早投入時刻に余裕のある製品に対応する負荷量を優先することを特徴とする請求項１〜３のいずれか１項に記載の工程負荷調整装置。
【請求項５】
前記工程情報記憶手段は、品種ごとに、前記工程間のリードタイムである工程間リードタイムをさらに記憶し、
前記負荷山積み手段は、前記工程情報記憶手段に記憶された前記工程間リードタイムに基づいて単位負荷量を前記作業割付可能期間内の各セグメントに割り当てることを特徴とする請求項１〜４のいずれか１項に記載の工程負荷調整装置。
【請求項６】
前記工程間リードタイムを計算する工程間リードタイム設定手段をさらに備え、
前記工程間リードタイム設定手段は、前記各工程について、計画期間内における工程の負荷度合いを判断する指標である工程負荷指数を、
工程負荷指数＝工程での負荷量の合計／計画期間内における当該工程での作業能力の合計
として計算し、前記工程間リードタイムを、
工程間リードタイム＝前後工程間の移動時間＋後工程での余裕時間
として計算し、当該後工程での余裕時間は前記工程負荷指数が大きいほど長く設定することを特徴とする請求項５に記載の工程負荷調整装置。
【請求項７】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させた際に、前方向に移動させた場合に直前工程とのリードタイムを、また、後方向に移動させた場合に直後工程とのリードタイムを計算して、前記工程間リードタイムを確保しているかどうかを判断する工程間リードタイム判断手段をさらに備え、
前記工程間リードタイム判断手段により、前記工程間リードタイムを確保していないと判断された場合は、前方向に移動させた場合には、直前工程での負荷量を前方向に移動させ、また、後方向に移動させた場合には、直後工程での負荷量を後工程に移動させることを特徴とする請求項５又は６に記載の工程負荷調整装置。
【請求項８】
前記工程間リードタイムを確保していないと判断された場合は、前方向又は後方向に負荷量を移動させる際に、移動させるべきセグメント数が小さい負荷量を優先することを特徴とする請求項７に記載の工程負荷調整装置。
【請求項９】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を移動させる際に、負荷量を移動させた後での作業能力に対する負荷量の比が小さくなるセグメントに対して優先して負荷量を移動させることを特徴とする請求項１〜８のいずれか１項に記載の工程負荷調整装置。
【請求項１０】
セグメントごとに、製品の処理優先度を設定するための処理優先度設定手段と、
任意の１つのセグメントについて前記処理優先度に基づいて１つの製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントに移動させる負荷集約を行うための負荷集約手段と、
前記処理優先度に基づいて前記負荷集約手段によって選択された製品以外の製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントから他のセグメントに移動させる負荷拡散を行うための負荷拡散手段と、
当該セグメントをＮ番目としたとき、Ｎ−１番目のセグメントとＮ番目のセグメントにまたがって負荷量が登録された製品数が１以下であり、かつ、Ｎ番目のセグメントとＮ＋１番目のセグメントにまたがって負荷量が登録された製品数が１以下であるという条件を満たした時点で、前記負荷集約手段及び前記負荷拡散手段による負荷量の移動の終了を決定するためのセグメント内終了条件判断手段とをさらに備えていることを特徴とする請求項１〜９のいずれか１項に記載の工程負荷調整装置。
【請求項１１】
前記負荷拡散において、前記負荷集約を行う前に前記作業割付テーブルに登録されていた前記任意の１つのセグメントに係る負荷量の全製品についての合計と、負荷量を当該セグメントから他のセグメントに移動させた後の当該セグメントに係る負荷量の全製品についての合計とが等しくなるように、移動させる負荷量を決定することを特徴とする請求項１０に記載の工程負荷調整装置。
【請求項１２】
前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、負荷量の登録されたセグメント数が少ない製品ほど高く設定されることを特徴とする請求項１０又は１１に記載の工程負荷調整装置。
【請求項１３】
前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、さらに、段取り替え時間が短い製品ほど高く設定されることを特徴とする請求項１２に記載の工程負荷調整装置。
【請求項１４】
複数の工程を経て製造される複数品種の製品について製造すべき数量を品種ごとに記憶する製品情報記憶ステップと、
前記品種ごとに、当該品種を製造するために通過する工程の順序、各工程での単位作業に対応した負荷量、及び、各工程に係る作業を割り付けることが可能な期間を所定の時間幅に区切られたセグメントの数で表した作業割付可能期間を含んだ工程情報を記憶する工程情報記憶ステップと、
複数のセグメントのそれぞれについて、セグメントでの作業能力及びセグメントでの負荷量が工程ごとに登録される作業割付テーブルを記憶する作業割付テーブル記憶ステップと、
前記工程情報記憶ステップで記憶された単位作業に対応した負荷量及び作業割付可能期間に基づいて、品種及び工程ごとに作業割付可能期間内の１セグメント当たりに割り当てられる単位作業に対応した負荷量である単位負荷量を計算する単位負荷量計算ステップと、
前記作業割付可能期間内の各セグメントに割り当てられた単位負荷量を前記製品情報記憶ステップで記憶された製造すべき数量を考慮してすべての品種について工程ごとに加算した負荷量を前記作業割付テーブルに登録する負荷山積みを行う負荷山積みステップと、
前記負荷山積みステップで前記作業割付テーブルのセグメントに登録された負荷量が前記作業割付テーブル記憶ステップで記憶された当該セグメントの作業能力以下となるまで、前記作業割付テーブルに記憶された作業能力に対する負荷量の比が大きいセグメントから優先的に、前記作業割付テーブルに登録されている負荷量を単位負荷量を単位として他のセグメントに移動させる負荷山崩しを行う負荷山崩しステップとを備えていることを特徴とする工程負荷調整方法。
【請求項１５】
前記単位負荷量を、
単位負荷量＝各工程での単位作業に対応した負荷量／作業割付可能期間
として計算することを特徴とする請求項１４に記載の工程負荷調整方法。
【請求項１６】
前記作業割付可能期間は、前記工程情報又は前記品種により定められることを特徴とする請求項１４又は１５に記載の工程負荷調整方法。
【請求項１７】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させる際に、後方向に移動させる場合は、納期に余裕のある製品に対応する負荷量を優先し、また、前方向に移動させる場合は、再早投入時刻に余裕のある製品に対応する負荷量を優先することを特徴とする請求項１４〜１６のいずれか１項に記載の工程負荷調整方法。
【請求項１８】
前記工程情報記憶ステップでは、品種ごとに、前記工程間のリードタイムである工程間リードタイムをさらに記憶し、
前記負荷山積みステップでは、前記工程情報記憶ステップで記憶された前記工程間リードタイムに基づいて単位負荷量を前記作業割付可能期間内の各セグメントに割り当てることを特徴とする請求項１４〜１７のいずれか１項に記載の工程負荷調整方法。
【請求項１９】
前記工程間リードタイムを計算する工程間リードタイム設定ステップをさらに備え、
前記工程間リードタイム設定ステップでは、前記各工程について、計画期間内における工程の負荷度合いを判断する指標である工程負荷指数を、
工程負荷指数＝工程での負荷量の合計／計画期間内における当該工程での作業能力の合計
として計算し、前記工程間リードタイムを、
工程間リードタイム＝前後工程間の移動時間＋後工程での余裕時間
として計算し、当該後工程での余裕時間は前記工程負荷指数が大きいほど長く設定することを特徴とする請求項１８に記載の工程負荷調整方法。
【請求項２０】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させた際に、前方向に移動させた場合に直前工程とのリードタイムを、また、後方向に移動させた場合に直後工程とのリードタイムを計算して、前記工程間リードタイムを確保しているかどうかを判断する工程間リードタイム判断ステップをさらに備え、
前記工程間リードタイム判断ステップにより、前記工程間リードタイムを確保していないと判断された場合は、前方向に移動させた場合には、直前工程での負荷量を前方向に移動させ、また、後方向に移動させた場合には、直後工程での負荷量を後工程に移動させることを特徴とする請求項１８又は１９に記載の工程負荷調整方法。
【請求項２１】
前記工程間リードタイムを確保していないと判断された場合は、前方向又は後方向に負荷量を移動させる際に、移動させるべきセグメント数が小さい負荷量を優先することを特徴とする請求項２０に記載の工程負荷調整方法。
【請求項２２】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を移動させる際に、負荷量を移動させた後での作業能力に対する負荷量の比が小さくなるセグメントに対して優先して負荷量を移動させることを特徴とする請求項１４〜２１のいずれか１項に記載の工程負荷調整方法。
【請求項２３】
セグメントごとに、製品の処理優先度を設定する処理優先度設定ステップと、
任意の１つのセグメントについて前記処理優先度に基づいて１つの製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントに移動させる負荷集約を行う負荷集約ステップと、
前記処理優先度に基づいて前記負荷集約手段によって選択された製品以外の製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントから他のセグメントに移動させる負荷拡散を行う負荷拡散ステップと、
当該セグメントをＮ番目としたとき、Ｎ−１番目のセグメントとＮ番目のセグメントにまたがって負荷量が登録された製品数が１以下であり、かつ、Ｎ番目のセグメントとＮ＋１番目のセグメントにまたがって負荷量が登録された製品数が１以下であるという条件を満たした時点で、前記負荷集約ステップ及び前記負荷拡散ステップによる負荷量の移動の終了を決定するセグメント内終了条件判断ステップとをさらに備えていることを特徴とする請求項１４〜２２のいずれか１項に記載の工程負荷調整方法。
【請求項２４】
前記負荷拡散において、前記負荷集約を行う前に前記作業割付テーブルに登録されていた前記任意の１つのセグメントに係る負荷量の全製品についての合計と、負荷量を当該セグメントから他のセグメントに移動させた後の当該セグメントに係る負荷量の全製品についての合計とが等しくなるように、移動させる負荷量を決定することを特徴とする請求項２３に記載の工程負荷調整方法。
【請求項２５】
前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、負荷量の登録されたセグメント数が少ない製品ほど高く設定されることを特徴とする請求項２３又は２４に記載の工程負荷調整方法。
【請求項２６】
前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、さらに、段取り替え時間が短い製品ほど高く設定されることを特徴とする請求項２５に記載の工程負荷調整方法。
【請求項２７】
複数の工程を経て製造される複数品種の製品について製造すべき数量を品種ごとに記憶するための製品情報記憶手段、
前記品種ごとに、当該品種を製造するために通過する工程の順序、各工程での単位作業に対応した負荷量、及び、各工程に係る作業を割り付けることが可能な期間を所定の時間幅に区切られたセグメントの数で表した作業割付可能期間を含んだ工程情報を記憶するための工程情報記憶手段、
複数のセグメントのそれぞれについて、セグメントでの作業能力及びセグメントでの負荷量が工程ごとに登録される作業割付テーブルを記憶するための作業割付テーブル記憶手段、
前記工程情報記憶手段に記憶された単位作業に対応した負荷量及び作業割付可能期間に基づいて、品種及び工程ごとに作業割付可能期間内の１セグメント当たりに割り当てられる単位作業に対応した負荷量である単位負荷量を計算するための単位負荷量計算手段、
前記作業割付可能期間内の各セグメントに割り当てられた単位負荷量を前記製品情報記憶手段に記憶された製造すべき数量を考慮してすべての品種について工程ごとに加算した負荷量を前記作業割付テーブルに登録する負荷山積みを行うための負荷山積み手段、及び、
前記負荷山積み手段によって前記作業割付テーブルのセグメントに登録された負荷量が前記作業割付テーブル記憶手段に記憶された当該セグメントの作業能力以下となるまで、前記作業割付テーブルに記憶された作業能力に対する負荷量の比が大きいセグメントから優先的に、前記作業割付テーブルに登録されている負荷量を単位負荷量を単位として他のセグメントに移動させる負荷山崩しを行うための負荷山崩し手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項２８】
前記単位負荷量を、
単位負荷量＝各工程での単位作業に対応した負荷量／作業割付可能期間
として計算することを特徴とする請求項２７に記載のプログラム。
【請求項２９】
前記作業割付可能期間は、前記工程情報又は前記品種により定められることを特徴とする請求項２７又は２８に記載のプログラム。
【請求項３０】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させる際に、後方向に移動させる場合は、納期に余裕のある製品に対応する負荷量を優先し、また、前方向に移動させる場合は、再早投入時刻に余裕のある製品に対応する負荷量を優先することを特徴とする請求項２７〜２９のいずれか１項に記載のプログラム。
【請求項３１】
前記工程情報記憶手段は、品種ごとに、前記工程間のリードタイムである工程間リードタイムをさらに記憶し、
前記負荷山積み手段は、前記工程情報記憶手段に記憶された前記工程間リードタイムに基づいて単位負荷量を前記作業割付可能期間内の各セグメントに割り当てることを特徴とする請求項２７〜３０のいずれか１項に記載のプログラム。
【請求項３２】
前記工程間リードタイムを計算する工程間リードタイム設定手段としてコンピュータをさらに機能させ、
前記工程間リードタイム設定手段は、前記各工程について、計画期間内における工程の負荷度合いを判断する指標である工程負荷指数を、
工程負荷指数＝工程での負荷量の合計／計画期間内における当該工程での作業能力の合計
として計算し、前記工程間リードタイムを、
工程間リードタイム＝前後工程間の移動時間＋後工程での余裕時間
として計算し、当該後工程での余裕時間は前記工程負荷指数が大きいほど長く設定することを特徴とする請求項３１に記載のプログラム。
【請求項３３】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させた際に、前方向に移動させた場合に直前工程とのリードタイムを、また、後方向に移動させた場合に直後工程とのリードタイムを計算して、前記工程間リードタイムを確保しているかどうかを判断する工程間リードタイム判断手段としてコンピュータをさらに機能させ、
前記工程間リードタイム判断手段により、前記工程間リードタイムを確保していないと判断された場合は、前方向に移動させた場合には、直前工程での負荷量を前方向に移動させ、また、後方向に移動させた場合には、直後工程での負荷量を後工程に移動させることを特徴とする請求項３１又は３２に記載のプログラム。
【請求項３４】
前記工程間リードタイムを確保していないと判断された場合は、前方向又は後方向に負荷量を移動させる際に、移動させるべきセグメント数が小さい負荷量を優先することを特徴とする請求項３３に記載のプログラム。
【請求項３５】
前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を移動させる際に、負荷量を移動させた後での作業能力に対する負荷量の比が小さくなるセグメントに対して優先して負荷量を移動させることを特徴とする請求項２７〜３４のいずれか１項に記載のプログラム。
【請求項３６】
セグメントごとに、製品の処理優先度を設定するための処理優先度設定手段、
任意の１つのセグメントについて前記処理優先度に基づいて１つの製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントに移動させる負荷集約を行うための負荷集約手段、
前記処理優先度に基づいて前記負荷集約手段によって選択された製品以外の製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントから他のセグメントに移動させる負荷拡散を行うための負荷拡散手段、及び、
当該セグメントをＮ番目としたとき、Ｎ−１番目のセグメントとＮ番目のセグメントにまたがって負荷量が登録された製品数が１以下であり、かつ、Ｎ番目のセグメントとＮ＋１番目のセグメントにまたがって負荷量が登録された製品数が１以下であるという条件を満たした時点で、前記負荷集約手段及び前記負荷拡散手段による負荷量の移動の終了を決定するためのセグメント内終了条件判断手段としてコンピュータをさらに機能させることを特徴とする請求項２７〜３５のいずれか１項に記載のプログラム。
【請求項３７】
前記負荷拡散において、前記負荷集約を行う前に前記作業割付テーブルに登録されていた前記任意の１つのセグメントに係る負荷量の全製品についての合計と、負荷量を当該セグメントから他のセグメントに移動させた後の当該セグメントに係る負荷量の全製品についての合計とが等しくなるように、移動させる負荷量を決定することを特徴とする請求項３６に記載のプログラム。
【請求項３８】
前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、負荷量の登録されたセグメント数が少ない製品ほど高く設定されることを特徴とする請求項３６又は３７に記載のプログラム。
【請求項３９】
前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、さらに、段取り替え時間が短い製品ほど高く設定されることを特徴とする請求項３８に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多工程から成る生産ラインで、多種多様の製品を生産する場合の生産計画作成における、工程負荷調整装置及び方法、並びにプログラムに関するものである。特に、時間軸を離散的な区間（セグメント）に区切った上で、工程ごとの各セグメント内の負荷を工程能力の範囲内に調整することにより、比較的長期的な期間を対象にした工程負荷調整装置及び方法、並びにプログラムに関する。
【０００２】
【従来の技術】
従来から、多品種を多工程から成る生産ラインで製造する場合の長期的な生産計画の作成においては、時間軸を離散的な区間（セグメント）に区切った上で、工程ごとに各セグメントの負荷を調整する方法（負荷山積み、負荷山崩し）が用いられている。
【０００３】
例えば、特開平９−２６９９４号公報では、セグメントを１日とし、以下の工程負荷予測方法およびそれを実施するための装置が開示されている。
（１）　注文を製造するのに必要な工程順序と、各工程での負荷時間をもとに、工程×セグメント別の負荷の山積みを行う。
（２）　負荷がセグメントに設定された時間（能力）を超える場合は、納期の遅い注文から順に直前の処理日に山崩しを行う。
（３）　あらかじめ、日別に工程で処理可能な処理仕様を設定しておき、その仕様を満足しない場合には、（２）と同様に負荷の山崩しを行う。
これにより、詳細なスケジュールを作成することなく、工程能力や特定の操業方法を考慮した負荷調整が可能となる。
【０００４】
上述の従来の方法では、長期計画（負荷山積み、負荷山崩し）の計算結果として、それぞれの製品の製造に必要な工程の作業可能時間帯は、セグメントの幅で与えられる。これをもとに日程計画を作成する場合、同一セグメント内の作業を対象に、実行可能なスケジュールを作成することになる。つまり、セグメントが１日単位であれば、長期計画では１日きざみの計画を作成することとなり、日程計画では長期計画で得られた１日という枠の中に割り当てられた作業をもとに、１日の作業順序を決定する。作業順序に関する制約が弱い場合は、この方法で実用的な計画を得ることができる。
【０００５】
【発明の解決しようとする課題】
しかしながら、多品種を扱うラインでは、工程固有の操業条件により、同一処理仕様のまとめ（ロットまとめ）や、段取り作業を考慮した処理順序の調整（並び順制御）を行う必要がある。このような場合、同一セグメントに含まれる作業だけを対象に、ロットまとめや並び順制御を行ったとしても、実用的なスケジュールが得られるとは限らない。従って、当初作業予定となっていたセグメントを変更して、実際のスケジュールを作成することになるため、納期遅れやネック工程での材欠による機会損失が発生しやすくなる。セグメントの幅を広く設定すれば、ロットまとめや並び順制御の自由度は増えるが、長期計画としての精度が劣化する。例えば、ある製品の所要工程が１０工程である場合、セグメント幅を１日に設定すると、製造リードタイムは最短１０日であるが、セグメントを３日に設定すると、製造リードタイムは最短でも３０日となる。このように、従来の方法では、操業制約の強い多品種工程においては、長期計画の精度と日程計画の精度を両立させることが困難であった。
【０００６】
そこで、本発明の一つの目的は、操業制約の多い多品種工程においても、日程計画に繋げた際の精度を高めることが可能な長期計画を作成することができる工程負荷調整装置及び方法、並びにプログラムを提供することである。
【０００７】
また、本発明のさらなる目的は、長期計画を日程計画に移す際、修正が少なく、日程計画作成に要する計算負荷を軽減することができる長期計画を作成することができる工程負荷調整装置及び方法、並びにプログラムを提供することである。
【０００８】
また、本発明のさらなる目的は、長期計画と整合性のとれた日程計画を作成することができる工程負荷調整装置及び方法、並びにプログラムを提供することである。
【０００９】
【課題を解決するための手段】
前記課題を解決するために本発明の請求項１に記載の工程負荷調整装置は、複数の工程を経て製造される複数品種の製品について製造すべき数量を品種ごとに記憶するための製品情報記憶手段と、前記品種ごとに、当該品種を製造するために通過する工程の順序、各工程での単位作業に対応した負荷量、及び、各工程に係る作業を割り付けることが可能な期間を所定の時間幅に区切られたセグメントの数で表した作業割付可能期間を含んだ工程情報を記憶するための工程情報記憶手段と、複数のセグメントのそれぞれについて、セグメントでの作業能力及びセグメントでの負荷量が工程ごとに登録される作業割付テーブルを記憶するための作業割付テーブル記憶手段と、前記工程情報記憶手段に記憶された単位作業に対応した負荷量及び作業割付可能期間に基づいて、品種及び工程ごとに作業割付可能期間内の１セグメント当たりに割り当てられる単位作業に対応した負荷量である単位負荷量を計算するための単位負荷量計算手段と、前記作業割付可能期間内の各セグメントに割り当てられた単位負荷量を前記製品情報記憶手段に記憶された製造すべき数量を考慮してすべての品種について工程ごとに加算した負荷量を前記作業割付テーブルに登録する負荷山積みを行うための負荷山積み手段と、前記負荷山積み手段によって前記作業割付テーブルの各セグメントに登録された負荷量が前記作業割付テーブル記憶手段に記憶された当該セグメントの作業能力以下となるまで、前記作業割付テーブルに記憶された作業能力に対する負荷量の比が大きいセグメントから優先的に、前記作業割付テーブルに登録されている負荷量を単位負荷量を単位として他のセグメントに移動させる負荷山崩しを行うための負荷山崩し手段とを備えている。
【００１０】
本発明の請求項１４に記載の工程負荷調整方法は、複数の工程を経て製造される複数品種の製品について製造すべき数量を品種ごとに記憶する製品情報記憶ステップと、前記品種ごとに、当該品種を製造するために通過する工程の順序、各工程での単位作業に対応した負荷量、及び、各工程に係る作業を割り付けることが可能な期間を所定の時間幅に区切られたセグメントの数で表した作業割付可能期間を含んだ工程情報を記憶する工程情報記憶ステップと、複数のセグメントのそれぞれについて、セグメントでの作業能力及びセグメントでの負荷量が工程ごとに登録される作業割付テーブルを記憶する作業割付テーブル記憶ステップと、前記工程情報記憶ステップで記憶された単位作業に対応した負荷量及び作業割付可能期間に基づいて、品種及び工程ごとに作業割付可能期間内の１セグメント当たりに割り当てられる単位作業に対応した負荷量である単位負荷量を計算する単位負荷量計算ステップと、前記作業割付可能期間内の各セグメントに割り当てられた単位負荷量を前記製品情報記憶ステップで記憶された製造すべき数量を考慮してすべての品種について工程ごとに加算した負荷量を前記作業割付テーブルに登録する負荷山積みを行う負荷山積みステップと、前記負荷山積みステップで前記作業割付テーブルのセグメントに登録された負荷量が前記作業割付テーブル記憶ステップで記憶された当該セグメントの作業能力以下となるまで、前記作業割付テーブルに記憶された作業能力に対する負荷量の比が大きいセグメントから優先的に、前記作業割付テーブルに登録されている負荷量を単位負荷量を単位として他のセグメントに移動させる負荷山崩しを行う負荷山崩しステップとを備えている。
【００１１】
本発明の請求項２７に記載のプログラムは、コンピュータを請求項１のような工程負荷調整装置として機能させるためのプログラムである。
【００１２】
これらの構成によると、製品ごとの通過工程それぞれに対し、セグメント単位の負荷調整が行われる。また、作業割付可能期間に対応した複数のセグメントに対して作業の割り付けが行われる。従って、セグメントの時間幅で設定された負荷調整を行いながら、セグメントの時間幅以上に、作業割り付けの自由度を与えることができる。そのため、実行系（日程計画）での計画時にロットまとめや並び順制御を行いやすくなり、生産コストの低減や品質の安定化を図ることができる。さらに、一旦全ての作業をセグメントに割り付けた後、負荷の高いセグメントから優先的に単位負荷量を単位として負荷の移動（山崩し）が行われる。そのため、効率的に負荷の調整を行うことができる。
【００１３】
つまり、本発明によると、操業制約の多い多品種工程においても、日程計画に繋げた際の精度を高めることが可能な長期計画を効率的に作成することができるようになる。また、このようにして作成された長期計画を日程計画に移す際、修正が少なくて済むので、日程計画作成に要する計算負荷を軽減することが可能となる。
【００１４】
本発明において、前記単位負荷量を、単位負荷量＝各工程での単位作業に対応した負荷量／作業割付可能期間、として計算してよい（請求項２、１５、２８）。
【００１５】
この構成によると、製品ごとの通過工程それぞれに対し、割付可能期間に対応するセグメントに均等な負荷量が加算される。また、各セグメントに加算される負荷の総量は、工程での負荷量に等しくなる。これにより、割付可能期間内のセグメントに等確率で作業を割り付けた際の工程負荷を評価することができる。
【００１６】
本発明において、前記作業割付可能期間は、前記工程情報又は前記品種により定めてよい（請求項３、１６、２９）。
【００１７】
この構成によると、工程情報や製品の品種により、異なった作業の割付可能期間が設定される。これにより、ロットまとめや並び順調整を行う工程は、割付可能期間を長めに設定する、又は、汎用的な品種はロットにまとまり易いので、割付可能期間を短めに設定し、特殊な品種は割付可能期間を長めに設定する、といった、工程情報や品種の特徴に応じた実用的な設定が可能となる。
【００１８】
また、本発明では、前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させる際に、後方向に移動させる場合は、納期に余裕のある製品に対応する負荷量を優先し、また、前方向に移動させる場合は、再早投入時刻に余裕のある製品に対応する負荷量を優先してよい（請求項４、１７、３０）。
【００１９】
この構成によると、ある工程の、あるセグメントでの負荷の山崩しを行う際、負荷量の移動について、移動後状態での作業開始セグメントと終了セグメント間の時間間隔を移動ペナルティーとして計算する。このとき、移動ペナルティーが小さい負荷量の移動が優先される。これにより、負荷山崩しにより同一製品の作業可能セグメントが散在することを防止することができる。つまり、当該工程での滞留時間を極力増大させずに、負荷の山崩しを行うことができる。
【００２０】
本発明において、前記工程情報記憶手段は、品種ごとに、前記工程間のリードタイムである工程間リードタイムをさらに記憶してよい。そのとき、前記負荷山積み手段は、前記工程情報記憶手段に記憶された前記工程間リードタイムに基づいて単位負荷量を前記作業割付可能期間内の各セグメントに割り当ててよい（請求項５、１８、３１）。
【００２１】
これにより、工程間リードタイムを考慮して負荷量を山積みすることができるので、より実状に即した負荷調整を行うことが可能となる。
【００２２】
また、本発明において、前記工程間リードタイムを計算する工程間リードタイム設定手段をさらに備えていてよい。このとき、前記工程間リードタイム設定手段は、前記各工程について、計画期間内における工程の負荷度合いを判断する指標である工程負荷指数を、工程負荷指数＝工程での負荷量の合計／計画期間内における当該工程での作業能力の合計、として計算し、前記工程間リードタイムを、工程間リードタイム＝前後工程間の移動時間＋後工程での余裕時間、として計算し、当該後工程での余裕時間は前記工程負荷指数が大きいほど長く設定してよい（請求項６、１９、３２）。
【００２３】
この構成によると、工程負荷指数により、計画期間内における工程ごとの負荷量の大小が定量化される。一方、工程間リードタイムは前後工程の移動時間と後工程での余裕時間により設定される。この時、後工程での余裕時間は、工程負荷指数が大きいほど長く設定される。これにより、能力に余裕のない工程では、当該工程到着から当該工程開始までの時間が長くなる。即ち、能力に余裕のない工程では仕掛かり在庫を多く持ち、能力に余裕のある工程では仕掛かり在庫を持たない計画となる。そのため、生産開始から完了までの全体の工期を増大させず、上工程での操業トラブルや進捗遅れによるネック工程での機会損失を防止することができる。
【００２４】
本発明では、前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を他のセグメントに移動させた際に、前方向に移動させた場合に直前工程とのリードタイムを、また、後方向に移動させた場合に直後工程とのリードタイムを計算して、前記工程間リードタイムを確保しているかどうかを判断する工程間リードタイム判断手段をさらに備えていてよい。このとき、前記工程間リードタイム判断手段により、前記工程間リードタイムを確保していないと判断された場合は、前方向に移動させた場合には、直前工程での負荷量を前方向に移動させ、また、後方向に移動させた場合には、直後工程での負荷量を後工程に移動させることが好ましい（請求項７、２０、３３）。
【００２５】
この構成によると、ある工程での負荷山崩しの結果、その前後工程とのリードタイムが確保できなくなった場合、前後工程での作業時間帯が修正される。これにより、工程間リードタイムが確保された計画作成が可能となる。
【００２６】
また、前記工程間リードタイムを確保していないと判断された場合は、前方向又は後方向に負荷量を移動させる際に、移動させるべきセグメント数が小さい負荷量を優先してよい（請求項８、２１、３４）。
【００２７】
この構成によると、ある工程での負荷山崩しを行う際、前後工程への影響が極力小さくなるように単位作業の移動が行うことができる。
【００２８】
また、前記負荷山崩しにおいて、前記作業割付テーブルに登録されている負荷量を移動させる際に、負荷量を移動させた後での作業能力に対する負荷量の比が小さくなるセグメントに対して優先して負荷量を移動させることが好ましい（請求項９、２２、３５）。
【００２９】
この構成によると、ある工程での負荷山崩しを行う際、負荷量の移動先として、工程能力に対して余裕のあるセグメントが優先して選択される。これにより、負荷の平準化を効率的に行うことができる。
【００３０】
また、本発明の工程負荷調整装置は、セグメントごとに、製品の処理優先度を設定するための処理優先度設定手段と、任意の１つのセグメントについて前記処理優先度に基づいて１つの製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントに移動させる負荷集約を行うための負荷集約手段と、前記処理優先度に基づいて前記負荷集約手段によって選択された製品以外の製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントから他のセグメントに移動させる負荷拡散を行うための負荷拡散手段と、当該セグメントをＮ番目としたとき、Ｎ−１番目のセグメントとＮ番目のセグメントにまたがって負荷量が登録された製品数が１以下であり、かつ、Ｎ番目のセグメントとＮ＋１番目のセグメントにまたがって負荷量が登録された製品数が１以下であるという条件を満たした時点で、前記負荷集約手段及び前記負荷拡散手段による負荷量の移動の終了を決定するためのセグメント内終了条件判断手段とをさらに備えていてよい（請求項１０）。
【００３１】
本発明の工程負荷調整方法は、セグメントごとに、製品の処理優先度を設定する処理優先度設定ステップと、任意の１つのセグメントについて前記処理優先度に基づいて１つの製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントに移動させる負荷集約を行う負荷集約ステップと、前記処理優先度に基づいて前記負荷集約手段によって選択された製品以外の製品を選択し、当該選択された製品について前記作業割付テーブルに登録されている負荷量の少なくとも一部を当該セグメントから他のセグメントに移動させる負荷拡散を行う負荷拡散ステップと、当該セグメントをＮ番目としたとき、Ｎ−１番目のセグメントとＮ番目のセグメントにまたがって負荷量が登録された製品数が１以下であり、かつ、Ｎ番目のセグメントとＮ＋１番目のセグメントにまたがって負荷量が登録された製品数が１以下であるという条件を満たした時点で、前記負荷集約ステップ及び前記負荷拡散ステップによる負荷量の移動の終了を決定するセグメント内終了条件判断ステップとをさらに備えていてよい（請求項２３）。
【００３２】
本発明の請求項３６に記載のプログラムは、コンピュータを請求項１０のような工程負荷調整装置として機能させるためのプログラムである。
【００３３】
これらの構成によると、負荷山崩しの結果得られた長期計画をもとにし、そこで設定した作業割り付けの自由度の範囲内で、負荷量の再調整が行われる。その結果、各工程のセグメントごとの処理製品が決定される。これにより、長期計画と整合性のとれた日程計画を作成することが可能になる。
【００３４】
本発明では、前記負荷拡散において、前記負荷集約を行う前に前記作業割付テーブルに登録されていた前記任意の１つのセグメントに係る負荷量の全製品についての合計と、負荷量を当該セグメントから他のセグメントに移動させた後の当該セグメントに係る負荷量の全製品についての合計とが等しくなるように、移動させる負荷量を決定することが好ましい（請求項１１、２４、３７）。
【００３５】
この構成によると、負荷量の再調整を負荷山崩し後の合計負荷量を維持しながら行う。従って、負荷量の再調整の結果、負荷オーバーが生じることを防ぐことができる。
【００３６】
本発明において、前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、負荷量の登録されたセグメント数が少ない製品ほど高く設定されてよい（請求項１２、２５、３８）。
【００３７】
この構成によると、作業が割り付けられた期間が小さい製品の処理が優先される。従って、長期計画で設定した工程ごとの作業割付可能期間内で、日程計画を組むことが容易になる。
【００３８】
本発明において、前記処理優先度が、前記任意の１つのセグメントを含む複数のセグメントにまたがって負荷量が登録された製品のうち、さらに、段取り替え時間が短い製品ほど高く設定されてよい（請求項１３、２６、３９）。
【００３９】
この構成によると、段取り替え時間が小さい順序に製品が選択されやすくなる。従って、実用的な日程計画の作成が容易となる。
【００４０】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の好適な実施の形態を説明する。
【００４１】
［工程負荷調整装置の説明］
まず、本発明の実施の形態による工程負荷調整装置について、図１に基づいて説明する。図１は、工程負荷調整装置のブロック図である。
【００４２】
図１に示すように、工程負荷調整装置１は、ハードディスク１０と、メモリ２０と、ＣＰＵ３０とから構成されている。
【００４３】
ハードディスク１０には、工程情報１１と、製品情報１２と、負荷調整結果１３とが格納されている。
【００４４】
工程情報１１には、本実施の形態における品種ごとの通過工程に関する工程情報が格納されている。工程情報１１は、後述する工程情報メモリ（工程情報記憶手段）２１に対して工程情報を転送する。
【００４５】
製品情報１２には、本実施の形態で計画対象とする製品情報が格納されている。製品情報１２は、後述する製品情報メモリ（製品情報記憶手段）２２に対して製品情報を転送する。
【００４６】
負荷調整結果１３は、後述する負荷調整結果出力インタフェース３５から入力された負荷調整結果を格納する。
【００４７】
メモリ２０には、工程情報メモリ２１と、製品情報メモリ２２と、作業割付テーブル２３と、が備えられている。
【００４８】
工程情報メモリ２１は、前述した工程情報１１から転送された工程情報を一時的に保存する。工程情報メモリ２１は、後述する工程間リードタイム設定部（工程間リードタイム設定手段）３１間又は単位負荷量計算部３２間でデータの入出力を行う。また、工程情報メモリ２１は、後述する負荷山積み部（負荷山積み手段）３３に対して工程情報を出力する。さらに、工程情報メモリ２１は、後述する工程間リードタイム判断部（工程間リードタイム判断手段）３４ａに対して工程間リードタイムを出力する。
【００４９】
製品情報メモリ２２は、前述した製品情報１２から転送された製品情報を一時的に保存する。製品情報メモリ２２は、後述する負荷山積み部３３に対して工程情報を出力する。
【００５０】
作業割付テーブル２３は、それぞれの工程について、セグメントごとに設備能力及び負荷量が登録される。
【００５１】
ＣＰＵ３０には、工程間リードタイム設定部３１と、単位負荷量計算部３２と、負荷山積み部３３と、負荷山崩し部（負荷山崩し手段）３４と、負荷調整結果出力インタフェース３５とが備えられている。
【００５２】
工程間リードタイム設定部３１は、まず、前述の工程情報メモリ２１に記憶された工程情報に基づいて、製品を生産するのに要する工程の負荷の総量が、計画期間内の工程能力に対してどの程度の比率かを判断する基準として、工程負荷指数を計算する。工程負荷指数は、以下のようにして計算される。
工程負荷指数＝工程の総負荷量／計画期間内の工程能力
【００５３】
ここで、各工程についての工程の総負荷量は、工程情報に示された品種×工程の負荷に、製品情報に示された品種別の個数をかけた値となる。そして、計算された工程負荷指数が最も大きいネック工程について、前工程の操業変動から材欠による機会損失を防ぐため、一定の余裕期間（工程間リードタイム）を設ける。
【００５４】
ここで、工程間リードタイムは、以下のようにして設定される。
工程間リードタイム＝前後工程の移動時間＋後工程での余裕時間
【００５５】
工程間リードタイム設定部３１は、設定された工程間リードタイムを工程情報メモリ２１に出力する。
【００５６】
単位負荷量計算部３２は、各作業の単位負荷量を計算する。すなわち、単位負荷量計算部３２では、まず、前述の工程情報メモリ２１に記憶された工程情報に基づいて、工程情報に登録された品種×工程別の単位作業に対応した負荷量と、作業割付可能期間をもとに各作業の１セグメント当たりの負荷量である単位負荷量を計算する。ここでは、以下のようにして各作業の単位負荷量を計算する。
単位負荷量＝工程負荷量／割付可能期間のセグメント数
【００５７】
単位負荷量計算部３２は、計算した単位負荷量を工程情報メモリ２１に出力する。
【００５８】
負荷山積み部３３は、工程情報メモリ２１から入力された工程情報と、製品情報メモリ２２から入力された製品情報と、作業割付テーブル２３から入力された作業割付テーブルとに基づいて、すべての製品について、各作業の負荷山積みを行う。負荷山積み部３３は、負荷山積みを行った結果を、作業割付テーブル２３に対して出力する。
【００５９】
負荷山崩し部３４は、負荷山積み部３３により負荷山積みを行われた後に、作業割付テーブル２３から入力された作業割付テーブルにおける全セグメントの負荷が登録された工程能力以下になるまで単位負荷量を単位として負荷山崩しを行う。負荷山崩し部３４は、負荷山崩しを行った結果を、作業割付テーブル２３に対して出力する。
【００６０】
また、負荷山崩し部３４には、工程間リードタイム判断部（工程間リードタイム判断手段）３４ａを有している。工程間リードタイム判断部３４ａは、負荷山崩しを行った際に、前後の工程間リードタイムを計算し、工程情報メモリ２１に格納された工程間リードタイムを確保しているかを判断する。
【００６１】
処理優先度設定部３５は、負荷山崩し部３４で負荷山崩しが行われた作業割付テーブル２３に対して、セグメントごとに製品の処理優先度を決定する。ここで、処理優先度は、当該セグメントに割り付けられた製品のうち、作業割付期間が短い製品ほど優先度が高くなるように設定されてもよいが、当該セグメントに割り付けられた製品のうち、作業割付期間が短い製品ほど優先度が高くなり、かつ、段取り替え時間が短い製品ほど優先度が高くなるように設定されるのが望ましい。処理優先度設定部３５は、設定した製品の処理優先度を後述する負荷集約部３６及び負荷拡散部３７に対して出力する。
【００６２】
負荷集約部３６は、処理優先度設定部３５により処理優先度が決定された作業割付テーブル２３に対して、処理優先度設定部３５で設定された製品の処理優先度に基づき製品を選択し、その製品の負荷を当該セグメントに集約する。そして、負荷集約部３６は、負荷が集約した結果を、作業割付テーブル２３に対して出力する。
【００６３】
負荷拡散部３７は、負荷集約部３６により負荷が集約された作業割付テーブル２３に対して、処理優先度設定部３５で設定された製品の処理優先度に基づき、負荷集約部３６で選択された製品以外の製品を選択し、その製品の負荷を当該セグメントから他のセグメントに拡散する。ここで、他のセグメントに拡散する負荷の量は、負荷山崩し部３４による負荷山崩しにより得られた作業割付テーブル２３のセグメント単位の合計負荷量と負荷拡散後のセグメント単位の合計負荷量が等しくなるように決定する。そして、負荷拡散部３７は、負荷を拡散した結果を、作業テーブル２３に対して出力する。
【００６４】
セグメント内終了条件判断部３８は、当該セグメントにおける負荷集約部３６による負荷集約及び負荷拡散部３７による負荷拡散の終了を決定する。ここで、終了の決定は、当該セグメントをＮセグメント（Ｎ番目のセグメント）としたとき、作業割付期間がＮ−１セグメントとＮセグメントにまたがる製品数が１以下であり、かつ、ＮセグメントとＮ＋１セグメントにまたがる製品数が１以下であるという条件を満たした時点でなされる。
【００６５】
負荷調整結果出力インタフェース３９は、負荷調整が行われた後に、作業割付テーブル２３から入力された作業割付テーブルを負荷調整結果記憶部１３に対して出力し、また、プリンタ４０やモニタ４１などに出力する。
【００６６】
［長期計画作成の処理フローの説明］
次に、本実施の形態による工程負荷調整方法により作成される長期計画の処理フロー、即ち、セグメントごとに設定された工程能力に対する負荷調整を行う処理方法を、図２に基づいて説明する。
【００６７】
まず、製品情報及び工程情報が上位の生産管理システム（製品情報１２及び工程情報１１）より転送され、それらをプログラムに読み込む（ステップＳ１）。読み込まれた情報は、それぞれメモリ上の製品情報メモリ２２及び工程情報メモリ２１に格納される。
【００６８】
ここで、本実施の形態における品種ごとの通過工程に関する工程情報には、図３に示すように、通過工程順序、各工程での製品１個当たりの負荷量（処理時間）、及び各工程での作業割付可能期間が登録される。なお、図３に示す単位負荷量は、後述するステップＳ２において、単位負荷量計算部（単位負荷計算手段）３２により後から追加されるものである。通過工程順序は、図４に示すように、工程１に投入された原料が、工程２から工程５の各工程を矢印で示されたルートに従って加工された後、最終製品として出荷されるものとする。工程２については、品種により通るものと通らないものが存在する。
【００６９】
作業割付可能期間は、セグメントの数で示されている。また、本実施の形態では、図４に示すように、１つのセグメントを８時間として設定するものとする。従って、品種Ｂの工程４では、８×２＝１６時間の割付可能期間が設定されていることになる。
【００７０】
ここで、工程４の作業割付可能期間は品種により異なっている。つまり、品種Ａが最も長く、品種Ｃが最も短い。これは、工程４での段取り替え条件を以下のように設定したことにある。
段取り替えが不要なケース：品種Ａ→品種Ａ，品種Ｂ→品種Ｂ，品種Ｃ→品種Ｂ，品種Ａ→品種Ｃ，品種Ｂ→品種Ｃ，品種Ｃ→品種Ｃ
段取り替えが必要なケース：品種Ｂ→品種Ａ，品種Ｃ→品種Ａ，品種Ａ→品種Ｂ
【００７１】
つまり、品種Ａは、段取り替えをなくすような処理タイミングが限られており、品種Ｃは直前の品種に関係なく、段取り替えが発生しないことが示されている。従って、品種Ａは作業割付可能期間を長く設定することにより、実行系（日程計画）のスケジュールを作成する際に、適切な処理タイミングを決定することができる可能性を高めている。
【００７２】
また、本実施の形態で計画対象とする製品情報は、図５に示すように、品種はＡ，Ｂ，Ｃの３種類あり、品種Ａは４個、品種Ｂは８個、品種Ｃは１６個製造する必要がある。
【００７３】
次に、単位負荷量計算部３２において、工程情報に登録された品種×工程別の負荷量と、作業割付可能期間をもとに各単位作業の１セグメント当たりの負荷量である単位負荷量を計算する（ステップＳ２）。なお、図３の工程情報の右端の列に、本実施の形態における各工程での単位負荷量を示す。
【００７４】
また、工程間リードタイム設定部３１において、工程負荷指数に基づいた工程間リードタイムを設定する（ステップＳ３）。
本実施の形態では計画期間を３日とし、図６に、本実施の形態における工程負荷指数の計算結果を示す。
【００７５】
図６に示すように、各工程についての計画期間内の工程能力は、夜勤に稼動停止する工程５のみが３６時間で、その他の工程は５４時間である。一方、各工程についての工程の総負荷量は、工程情報（図３参照）に示された品種×工程の負荷に、製品情報（図５参照）に示された品種別の個数をかけた値となる。
計算された工程負荷指数を見ると、工程３の指数が最も大きく、ネック工程となっていることがわかる。そこで、工程３については、前工程の操業変動から材欠による機会損失を防ぐため、一定の余裕期間を設ける。本実施の形態では、セグメント２つ分（１６時間）の余裕時間を設けた。
【００７６】
ここで、本実施の形態では、工程間の移動時間は無視できるものとして、工程間リードタイムを以下のように設定した。
工程間リードタイム＝後工程での余裕時間
【００７７】
なお、図７に、本実施の形態における各品種についての作業割付可能期間、作業割付可能期間内の各セグメントに割り当てられた単位負荷量、工程間リードタイムの関係を示す。
【００７８】
そして、作業割付テーブル２３の初期化を行う（ステップＳ４）。
本実施の形態では、作業割付テーブル２３は、図８に示すように、設備能力として、各セグメント内の稼働時間を設定する。本実施の形態では、ほぼ全ての工程で１セグメント（８時間）当たり６時間として設定しているが、工程５のみは設備が稼動しない時間帯（夜勤休止）が設定されている。
【００７９】
また、初期化では、負荷量の初期値を設定する。本実施の形態では、図８に示すように、全ての負荷量初期値を０に設定したが、あらかじめ処理が決定している作業があれば、その作業に対応する負荷を登録する。
【００８０】
そして、工程情報メモリ２１、製品情報メモリ２２に格納させた数量を用いて、負荷山積み部３３により、全ての製品について、工程ごとに負荷山積みを行う（ステップＳ５）。より詳細には、作業割付可能期間内の各セグメントに割り当てられた単位負荷量を、その品種の製造数量を考慮してすべての品種について工程ごとに加算する。その結果は、作業割付テーブル２３に登録される。本実施の形態では、スケジューリングの開始時点（９月１日）から全ての製品を生産開始したとして、負荷の山積みを行う。図９（ａ）に、全作業を負荷山積みした直後の作業割付テーブルの状態を示す。
【００８１】
次に、負荷山崩しの終了条件の判断を行う（ステップＳ６）。負荷山崩しの終了条件を満たしていれば、即ち、作業割付テーブル２３における全セグメントの負荷量が登録された工程能力以下であれば（ステップＳ６：ＹＥＳ）、以降の負荷山崩しを行わず、処理を終了する。
【００８２】
一方、負荷山崩しの終了条件を満たしていなければ、即ち、作業割付テーブル２３における全セグメントの負荷量が登録された工程能力以下でなければ（ステップＳ６：ＮＯ）、負荷山崩し部３４により、以降の負荷山崩し（ステップＳ７〜ステップＳ１０）を行う。
【００８３】
負荷山崩しでは、まず、山崩し対象セグメントを選択する（ステップＳ７）。本実施の形態では、作業割付テーブル２３に記憶された各セグメントの中で、最も負荷の大きいセグメントを山崩し対象として選択する。図９（ａ）では、工程３の第５セグメントの負荷が最も大きいので、これを山崩し対象として選択する。
【００８４】
そして、ステップＳ７で選択した山崩し対象セグメントにおいて、移動作業の選択と移動先セグメントの決定を行う（ステップＳ８）。本実施の形態では、ステップＳ７で選択したセグメント（工程３の第５セグメント）には、品種Ａ（４単位作業）と品種Ｃ（１６単位作業）が割り付けられている。
【００８５】
まず、この中から負荷山崩しのために他のセグメントに移動させる単位作業を選択する。ここでは、品種Ｃから１つの単位作業を選択した。単位作業を選択する基準としては、例えば、納期に対する余裕が考えられる。全ての製品の納期が９月５日とすれば、この時点で最も納期に対して余裕がある品種Ｃが選択される。
【００８６】
次に、以上により選択した品種Ｃの１つの単位作業を移動する移動先セグメントの決定を行う。本実施の形態では、全製品をスケジューリングの開始時点から山積みしたので、この時点での作業の移動可能な方向は後方向（未来方向）となる。そこで、移動先セグメントを第６セグメントとする。なお、図９（ａ）に対応する品種Ｃの単位作業を図１０（ａ）に示す。
【００８７】
そして、ステップＳ８で選択した移動作業と決定した移動先セグメントに基づいて、単位作業を単位負荷量を単位として移動させる（ステップＳ９）。本実施の形態では、ステップＳ８で選択した工程３の第５セグメントにおける品種Ｃの１単位作業を単位負荷量を単位として１セグメント後（工程３の第６セグメント）に移動させる。この移動により、工程間リードタイム判断部３４ａで次工程である工程４とのリードタイムが確保できなくなると判断されるので、品種Ｃの工程４の第６セグメントの１単位作業を単位負荷量を単位として１セグメント後（工程４の第７セグメント）に移動させる。同様に、工程５のリードタイムを確保するために、品種Ｃの工程５の第７セグメントの１単位作業も単位負荷量を単位として１セグメント後（工程５の第８セグメント）に移動させる。
【００８８】
そして、ステップＳ８の作業移動にともなう負荷量の変化分を計算し、作業割付テーブル２３の値を変更する（ステップＳ１０）。本実施の形態では、移動後の作業割付テーブルの状態を図９（ｂ）に示す。また、図９（ｂ）に対応する品種Ｃの単位作業の移動の様子を図１０（ｂ）に示す。
【００８９】
以上のステップＳ７〜ステップＳ１０の負荷山崩しを終えると、ステップＳ６に戻り、再度負荷山崩しの終了確認条件（作業割付テーブル２３における全セグメントの負荷が登録された工程能力以下かどうか）を判断する。負荷山崩しの終了確認条件を満たしていないと判断されると（ステップＳ６：ＮＯ）、上述のステップＳ７〜ステップＳ１０を繰り返すことで、逐次負荷の山崩しが実行される。
【００９０】
本実施の形態では、これ以降の負荷山崩しに伴う作業割付テーブルの負荷量の変化を、図９（ｃ）〜図９（ｈ）に示す。また、図９（ｃ）〜図９（ｈ）に対応する品種Ｃの単位作業の移動の様子を図１０（ｃ）〜図１０（ｈ）に示す。図９（ｆ）及び図９（ｈ）に対応する図１０（ｆ）及び図１０（ｈ）では、品種Ｃの工程２の単位作業のみが移動しており、下工程での作業移動は発生していない。これは、図９（ａ）〜図９（ｃ）に対応する図１０（ａ）〜図１０（ｃ）において、すでに工程３〜工程５の移動が起こったためである。
【００９１】
上述の実施の形態においては、ステップＳ７〜ステップＳ１０の負荷山崩しでの山崩しの方向が後方向（未来方向）のみであった。ここでは、上述の実施の形態と別の実施の形態を一例として、負荷山崩しの山崩しの方向が前方向（過去方向）である場合について説明する。ただし、製品情報及び工程情報は上述の実施の形態と同様とする。
【００９２】
図１１は、別の実施の形態における工程４での負荷山崩しの途中の状態を示したものである。なお、図１１中のＡ１，Ｂ１，Ｃ１などは品種Ａ，Ｂ，Ｃの１つめの製品であることを示している。また、図１１中のｓ，ｓ＋１等はセグメントを表している。
【００９３】
まず、図１１（ａ）に示すように、負荷合計が最大であるセグメントｓ＋４の負荷山崩しを行う。Ａ１やＡ２のように作業割付可能期間の途中に山崩し対象セグメントがある製品は、単位作業移動後の作業割付可能期間が短くなるため、当該セグメントが作業割付期間の端に該当する製品の作業を優先して移動させる。ここでは、例えばＢ１が選択される。製品Ｂ１のｓ＋４セグメントの単位作業の移動先として、ｓ＋２とｓ＋５が考えられるが、ｓ＋２の負荷合計（５．５）の方が、ｓ＋５の負荷合計（８）に比べて小さいので、ｓ＋２に前移動させる。
【００９４】
次に、図１１（ｂ）に示すように、負荷合計が最大であるセグメントｓ＋５の負荷山崩しを行う。ｓ＋５が作業割付可能期間の端に該当する製品として、例えばＡ１が選択される。製品Ａ１のｓ＋５セグメントの単位作業の移動先として、ｓ＋１とｓ＋６が考えられるが、ｓ＋１の負荷合計（５）の方が、ｓ＋６の負荷合計（５．５）に比べて小さいので、ｓ＋１に前移動させる。
【００９５】
そして、上述と同様に、図１１（ｃ）に示すように、負荷合計が最大であるセグメントｓ＋４の山崩しを行う。ｓ＋４が作業割付可能期間の端に該当する製品として、例えば、Ａ１が選択される。製品Ａ１のｓ＋４セグメントの単位作業の移動先としてｓとｓ＋５が考えられるが、ｓの負荷合計（５）の方が、ｓ＋５の負荷合計（７．５）に比べて小さいので、ｓに前移動させる。
【００９６】
さらに、図１１（ｄ）に示すように、負荷合計が最大であるセグメントｓ＋５の負荷山崩しを行う。ｓ＋５が作業割付可能期間の端に該当する製品として、例えば、Ｃ２が選択される。製品Ｃ２のｓ＋５セグメントの単位作業の移動先として、ｓ＋４とｓ＋６が考えられるが、ｓ＋６の負荷合計（５．５）の方が、ｓ＋４の負荷合計（７．５）に比べて小さいので、ｓ＋６に後移動させる。
以上により、負荷山崩しを行った結果を図１１（ｅ）に示す。
【００９７】
このように、前後方向への移動を組み合わせて、負荷の山崩しを行うこともできる。
【００９８】
［日程計画作成の処理フローの説明］
次に、本実施の形態による工程負荷調整方法により作成される日程計画の処理フロー、即ち、前述のとおり作成された長期計画に基づいて日程計画の作成を行う処理方法を、図１２に基づいて説明する。また、図１３及び図１４には、上述の長期計画の処理フローで用いられていた実施の形態とは別の実施の形態であり、日程計画作成の処理フローで扱う負荷山崩し後の、ある工程での作業割付テーブルの一例を示す。ここでは、製品ａ〜製品ｉまで９個の製品の負荷が、セグメント１〜セグメント６の間に割り付けられている。また、各製品はタイプ１かタイプ２のいずれかであり、連続して処理する場合、タイプが異なる際に段取り替えが発生するものとする。なお、本実施の形態では、１セグメントを１日として、負荷量の単位を日としている。また、各セグメントの最大負荷を１日としている。以下、図１３及び図１４を参照しながら、本実施の形態による工程負荷調整方法により作成される日程計画の処理フローを図１２に基づいて説明する。
【００９９】
前述の長期計画の処理フローにおいて、負荷山崩し部３４で得られた作業割付テーブル２３を読み込む（ステップＳ１０１）。読み込まれた作業割付テーブル２３は、図１３（ａ）に示すとおりである。
【０１００】
・セグメント１の負荷の再調整（１回目）
まず、セグメントＳの負荷の再調整を行う（ステップＳ１０２）。本実施の形態では、セグメントＳ＝１の負荷の再調整（１回目）を行う。セグメントＳの負荷の再調整を行うにあたり、まず、処理優先度設定部３５において、セグメントＳに割り付けられた製品の処理優先順を決定する（ステップＳ１０３）。本実施の形態では、セグメント１に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短いほど、製品の処理優先度が高いものとして決定する。
【０１０１】
次に、負荷集約部３６により、セグメントＳに負荷を集約するセグメントを１つ決定する（ステップＳ１０４）。本実施の形態では、図１３（ａ）に示すとおり、セグメント１に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短い（前のセグメントは存在しないので関係なし）製品ｂが負荷集約対象製品として優先される。そして、ステップＳ１０４で選択した製品について、セグメントＳへの負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ｂはセグメント２に０．２の負荷量が割り付けられているため、これをセグメント１に集約する。
【０１０２】
一方、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、ステップＳ１０４で選択された製品ｂはタイプ１であるため、セグメント１に割り付けられた製品のうち、製品ｂとタイプが異なり、負荷割付期間の長い製品ａを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ａはセグメント１に０．１の負荷が割り付けられているため、これをセグメント２に加算する。
【０１０３】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時点でのセグメント１の合計負荷は１．１であり、セグメント２の合計負荷は０．９であるため、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と一致していない（ステップＳ１０８：ＮＯ）。
【０１０４】
従って、ステップＳ１０６に戻り、負荷拡散部３７により、さらにセグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、タイプがｂと異なる製品ｃを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ｃはセグメント１に０．３の負荷が割り付けられているが、調整すべき負荷量は０．１であるため、０．３のうち０．１の負荷量をセグメント２に加算する。
【０１０５】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント２の合計負荷は、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。また、セグメント１の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる（ステップＳ１０８：ＹＥＳ）。なお、セグメント１の負荷の再調整（１回目）を行った結果の作業割付テーブル２３を、図１３（ｂ）に示す。
【０１０６】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。ここで、セグメントＳの調整を終了条件は、セグメントＳ−１とセグメントＳに作業割付期間がまたがる製品が１以下であること、かつ、セグメントＳとセグメントＳ＋１に作業割付期間がまたがる製品が１以下であることである。
【０１０７】
本実施の形態では、図１３（ｂ）に示すとおり、上述のセグメント１の負荷の再調整（１回目）が終了した時点で、セグメント１とセグメント２に作業割付期間がまたがる製品がｃ，ｄ，ｅの３種類あるので（ステップＳ１０９：ＮＯ）、さらにセグメント１の負荷再調整（２回目）を行う（ステップＳ１０４〜ステップＳ１０８）。
【０１０８】
・セグメント１の負荷の再調整（２回目）
まず、負荷集約部３６により、セグメントＳに負荷を集約する製品を１つ決定する（ステップＳ１０４）。本実施の形態では、すでに集約した製品ｂ以外（ｃ，ｄ，ｅ）で、段取り替え時間が短くなる製品ｂと同じタイプの製品であるｄとｅが負荷集約対象として優先される。ただし、ｄとｅは作業割付期間が同じ３セグメントであるため、処理優先度は同じであり、ここではｄを選択する。
【０１０９】
そして、ステップＳ１０４で選択した製品について、セグメントＳへ負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ｄはセグメント２に０．１、セグメント３に０．１の負荷量が割り付けられているため、これらをセグメント１に集約する。
【０１１０】
次に、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、ステップＳ１０４で選択した製品ｄがタイプ１であるため、タイプが異なる製品ｃを負荷拡散対象製品として選択する。
【０１１１】
そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動させる（ステップＳ１０７）。本実施の形態では、製品ｃはセグメント１に０．２の負荷が割り付けられているため、これをセグメント２に０．１、セグメント３に０．１ずつ加算する。
【０１１２】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント１の合計負荷は、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。また、セグメント２及び３の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。なお、セグメント１の負荷の再調整（２回目）を行った結果の作業割付テーブル２３を、図１３（ｃ）に示す。
【０１１３】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。本実施の形態では、図１３（ｃ）に示すとおり、上述のセグメント１の負荷の再調整（２回目）が終了した時点で、セグメント１とセグメント２に作業割付期間がまたがる製品は製品ｅの１つだけなので、セグメント１の負荷再調整を終了する（セグメントＳ１０９：ＹＥＳ）。
【０１１４】
セグメントＳの調整を終了すると判断した場合（セグメントＳ１０９：ＹＥＳ）、Ｓ＝Ｓ＋１とする（ステップＳ１１０）。そして、全体の調整を終了するかどうかのチェックを行う（ステップＳ１１１）。ここで、全体の調整を終了するための条件は、次に負荷を調整するセグメントＳ＝Ｓ＋１が存在しないことである。本実施の形態では、全体の調整を終了するための条件を満たしていないため（ステップＳ１１１：ＮＯ）、ステップＳ１０３に戻り、セグメントＳの再調整を行う。
【０１１５】
・セグメント２の負荷の再調整
セグメントＳの負荷の再調整を行うにあたり、まず、処理優先度設定部３５により、セグメントＳに割り付けられた製品の処理優先順を決定する（ステップＳ１０３）。本実施の形態では、セグメント２に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短いほど、製品の処理優先度が高いものとして決定する。
【０１１６】
次に、負荷集約部３６により、セグメントＳに負荷を集約するセグメントを１つ決定する（ステップＳ１０４）。本実施の形態では、図１３（ｃ）に示すとおり、セグメント２に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短い製品ｅが負荷集約対象製品として優先される。そして、ステップＳ１０４で選択した製品について、セグメントＳへの負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ｅはセグメント３に０．２の負荷量が割り付けられているため、これをセグメント２に集約する。
【０１１７】
一方、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、ステップＳ１０４で選択された製品ｅはタイプ１であるため、セグメント２に割り付けられた製品のうち、製品ｅとタイプが異なる製品ａ，ｃのうち、負荷割付期間の長い製品ａを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ａはセグメント２に０．２の負荷が割り付けられているため、これをセグメント３に加算する。
【０１１８】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時点でのセグメント２の合計負荷は１．１であるため、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と一致していない（ステップＳ１０８：ＮＯ）。
【０１１９】
従って、負荷拡散部３７により、ステップＳ１０６に戻り、さらにセグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、タイプがｅと異なる製品ｃを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ｃはセグメント２に０．５の負荷が割り付けられているが、調整すべき負荷量は０．１であるため、０．５のうち０．１の負荷量をセグメント３に加算する。
【０１２０】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント３の合計負荷は、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。また、セグメント２の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる（ステップＳ１０８：ＹＥＳ）。なお、セグメント２の負荷の再調整を行った結果の作業割付テーブル２３を、図１３（ｄ）に示す。
【０１２１】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。
【０１２２】
本実施の形態では、図１３（ｄ）に示すとおり、上述のセグメント２の負荷の再調整が終了した時点で、セグメント１とセグメント２に作業割付期間がまたがる製品は製品ｅの１つだけであり、また、セグメント２とセグメント３に作業割付期間画またがる製品は製品ｃの１つだけなので、セグメント２の負荷再調整を終了する（セグメントＳ１０９：ＹＥＳ）。
【０１２３】
セグメントＳの調整を終了すると判断した場合（セグメントＳ１０９：ＹＥＳ）、Ｓ＝Ｓ＋１とする（ステップＳ１１０）。そして、全体の調整を終了するかどうかのチェックを行う（ステップＳ１１１）。ここで、全体の調整を終了するための条件は、全てのセグメントにおいて、前後のセグメントに作業割付期間がまたがる製品が１以下であることである。本実施の形態では、全体の調整を終了するための条件を満たしていないため（ステップＳ１１１：ＮＯ）、ステップＳ１０３に戻り、セグメントＳの再調整を行う。
【０１２４】
・セグメント３の負荷の調整
セグメントＳの負荷の再調整を行うにあたり、まず、処理優先度設定部３５により、セグメントＳに割り付けられた製品の処理優先順を決定する（ステップＳ１０３）。本実施の形態では、セグメント３に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短いほど、製品の処理優先度が高いものとして決定する。ここで、製品ｃはセグメント４以降に集約するべき負荷量が存在しないため、負荷量の集約対象からは除かれる。すなわち、製品ｃはセグメント４での処理を確定する。
【０１２５】
次に、負荷集約部３６により、セグメントＳに負荷を集約するセグメントを１つ決定する（ステップＳ１０４）。本実施の形態では、図１３（ｄ）に示すとおり、セグメント３に割り付けられた製品ａ，ｆのうち、作業割付可能期間が短く、かつ、段取り替え時間が短い製品ａが負荷集約対象製品として優先される。そして、ステップＳ１０４で選択した製品について、セグメントＳへの負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ａはセグメント４に０．１の負荷量が割り付けられているため、これをセグメント３に集約する。
【０１２６】
一方、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、残った製品ｆを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ｆはセグメント３に０．２の負荷が割り付けられているが、調整すべき負荷量は０．１であるため、０．２のうち０．１の負荷量をセグメント４に加算する。
【０１２７】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント４の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ０．９となる（ステップＳ１０８：ＹＥＳ）。なお、セグメント２の負荷の再調整を行った結果の作業割付テーブル２３を、図１４（ａ）に示す。
【０１２８】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。本実施の形態では、図１４（ａ）に示すとおり、上述のセグメント２の負荷の再調整が終了した時点で、セグメント２とセグメント３に作業割付期間がまたがる製品は製品ｃの１つだけであり、また、セグメント３とセグメント４に作業割付期間画またがる製品は製品ｆの１つだけなので、セグメント３の負荷再調整を終了する（セグメントＳ１０９：ＹＥＳ）。
【０１２９】
セグメントＳの調整を終了すると判断した場合（セグメントＳ１０９：ＹＥＳ）、Ｓ＝Ｓ＋１とする（ステップＳ１１０）。そして、全体の調整を終了するかどうかのチェックを行う（ステップＳ１１１）。本実施の形態では、全体の調整を終了するための条件を満たしていないため（ステップＳ１１１：ＮＯ）、ステップＳ１０３に戻り、セグメントＳの再調整を行う。
【０１３０】
・セグメント４の負荷の再調整（１回目）
セグメントＳの負荷の再調整を行うにあたり、まず、処理優先度設定部３５により、セグメントＳに割り付けられた製品の処理優先順を決定する（ステップＳ１０３）。本実施の形態では、セグメント４に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短いほど、製品の処理優先度が高いものとして決定する。
【０１３１】
次に、負荷集約部３６により、セグメントＳに負荷を集約するセグメントを１つ決定する（ステップＳ１０４）。本実施の形態では、図１４（ａ）に示すとおり、セグメント４に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短い製品ｆが負荷集約対象製品として優先される。そして、ステップＳ１０４で選択した製品について、セグメントＳへの負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ｆはセグメント５に０．２の負荷量が割り付けられているため、これをセグメント４に集約する。
【０１３２】
一方、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、セグメント４に割り付けられた残りの製品ｇ，ｈのうち、負荷割付期間の長い製品ｇを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ｇはセグメント４に０．４の負荷が割り付けられているが、調整すべき負荷量は０．２であるため、０．４のうち０．２の負荷量をセグメント５に加算する。
【０１３３】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント５の合計負荷は、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。また、セグメント４の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ０．９となる（ステップＳ１０８：ＹＥＳ）。なお、セグメント４の負荷の再調整（１回目）を行った結果の作業割付テーブル２３を、図１４（ｂ）に示す。
【０１３４】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。本実施の形態では、図１４（ｂ）に示すとおり、上述のセグメント４の負荷の再調整（１回目）が終了した時点で、セグメント４とセグメント５に作業割付期間がまたがる製品がｇ，ｈの２種類あるので（ステップＳ１０９：ＮＯ）、さらにセグメント４の負荷再調整（２回目）を行う（ステップＳ１０４〜ステップＳ１０８）。
【０１３５】
・セグメント４の負荷の再調整（２回目）
まず、負荷集約部３６により、セグメントＳに負荷を集約する製品を１つ決定する（ステップＳ１０４）。本実施の形態では、すでに集約した製品ｆ以外（ｇ，ｈ）で、作業割付期間が短い製品ｈの処理優先度が高く、負荷集約対象製品として選択する。そして、ステップＳ１０４で選択した製品について、セグメントＳへ負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ｈはセグメント５に０．２の負荷量が割り付けられているため、これをセグメント４に集約する。
【０１３６】
次に、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、残った製品ｇを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動させる（ステップＳ１０７）。本実施の形態では、製品ｇはセグメント４に０．２の負荷が割り付けられているため、これをセグメント５に加算する。
【０１３７】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント５の合計負荷は、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。また、セグメント４の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ０．９となる。なお、セグメント４の負荷の再調整（２回目）を行った結果の作業割付テーブル２３を、図１４（ｃ）に示す。
【０１３８】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。
【０１３９】
本実施の形態では、図１４（ｃ）に示すとおり、上述のセグメント４の負荷の再調整（２回目）が終了した時点で、セグメント４とセグメント５に作業割付期間がまたがる製品はないので、セグメント４の負荷再調整を終了する（セグメントＳ１０９：ＹＥＳ）。
【０１４０】
セグメントＳの調整を終了すると判断した場合（セグメントＳ１０９：ＹＥＳ）、Ｓ＝Ｓ＋１とする（ステップＳ１１０）。そして、全体の調整を終了するかどうかのチェックを行う（ステップＳ１１１）。ここで、全体の調整を終了するための条件は、全てのセグメントにおいて、前後のセグメントに作業割付期間がまたがる製品が１以下であることである。本実施の形態では、全体の調整を終了するための条件を満たしていないため（ステップＳ１１１：ＮＯ）、ステップＳ１０３に戻り、セグメントＳの再調整を行う。
【０１４１】
・セグメント５の負荷の調整
セグメントＳの負荷の再調整を行うにあたり、まず、処理優先度設定部３５により、セグメントＳに割り付けられた製品の処理優先順を決定する（ステップＳ１０３）。本実施の形態では、セグメント５に割り付けられた製品のうち、作業割付可能期間が短く、かつ、段取り替え時間が短いほど、製品の処理優先度が高いものとして決定する。
【０１４２】
次に、負荷集約部３６により、セグメントＳに負荷を集約するセグメントを１つ決定する（ステップＳ１０４）。本実施の形態では、図１４（ｃ）に示すとおり、セグメント５に割り付けられた製品ｇ，ｉは、作業割付可能期間が同じであり、かつ、段取り替え時間も等しいので、製品ｇを負荷集約対象製品として優先する。そして、ステップＳ１０４で選択した製品について、セグメントＳへの負荷の集約を実行する（ステップＳ１０５）。本実施の形態では、製品ｇはセグメント６に０．４の負荷量が割り付けられているが、このうち０．２の負荷量をセグメント５に集約する。
【０１４３】
一方、負荷拡散部３７により、セグメントＳから負荷を移動させる製品を１つ選択する（ステップＳ１０６）。本実施の形態では、残った製品ｉを負荷拡散対象製品として選択する。そして、ステップＳ１０６で選択した製品について、セグメントＳから負荷を移動する（ステップＳ１０７）。本実施の形態では、製品ｉはセグメント５に０．２の負荷が割り付けられているため、これをセグメント６に加算する。
【０１４４】
そして、セグメント内終了条件判断部３８により、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致しているかをチェックする（ステップＳ１０８）。本実施の形態では、この時、セグメント６の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ０．６となる。また、セグメント５の合計負荷も、負荷山崩し部３４で得られた作業割付テーブル２３（図１３（ａ）参照）と同じ１となる。（ステップＳ１０８：ＹＥＳ）。なお、セグメント５の負荷の再調整を行った結果の作業割付テーブル２３を、図１４（ｄ）に示す。
【０１４５】
ステップＳ１０８で、各セグメントの合計負荷が負荷山崩し部３４で得られた作業割付テーブル２３と一致していると判断された場合は（ステップＳ１０８：ＹＥＳ）、セグメントＳの調整を終了するかどうかのチェックを行う（ステップＳ１０９）。本実施の形態では、図１４（ａ）に示すとおり、上述のセグメント２の負荷の再調整が終了した時点で、セグメント５とセグメント６に作業割付期間がまたがる製品は製品ｇの１つだけなので、セグメント５の負荷再調整を終了する（セグメントＳ１０９：ＹＥＳ）。
【０１４６】
セグメントＳの調整を終了すると判断した場合（セグメントＳ１０９：ＹＥＳ）、Ｓ＝Ｓ＋１とする（ステップＳ１１０）。そして、全体の調整を終了するかどうかのチェックを行う（ステップＳ１１１）。本実施の形態では、全体の調整を終了するための条件を満たしており（ステップＳ１１１：ＹＥＳ）、セグメントＳの再調整を終了する。
【０１４７】
このようにして、セグメント１からセグメント５までの負荷の再調整が行われ、それぞれのセグメントで作業を行う製品を決定することができる（日程計画）。なお、図１５に上述した負荷の再調整の結果得られた作業割付テーブルをもとに作成した日程計画の１例をガントチャート図で示す。
【０１４８】
以上に説明したように、本実施の形態は、セグメント単位の負荷調整を行い、また、工程情報や品種の特徴に応じたスケジューリングの自由度を両立させた工程負荷調整装置１を用いることにより、従来技術にはない下記の利点を有している。
【０１４９】
所定の時間幅（８時間）により区切られた複数のセグメントを設定した作業割付テーブル２３を用いて、製品ごとの通過工程それぞれに対し、セグメント単位の負荷調整を行っている。また、工程情報メモリ２０に記憶された製品の品種ごとに作業割付可能期間に対応した複数のセグメントに対して作業の割り付けが行われる。従って、セグメントの時間幅（８時間）で設定された負荷調整を行いながら、セグメントの時間幅以上に、作業割り付けの自由度を与えることができる。そのため、実行系（日程計画）での計画時にロットまとめや並び順制御を行いやすくなり、生産コストの低減や品質の安定化を図ることができる。さらに、一旦全ての作業をセグメントに割り付けた後、負荷の高いセグメントから優先的に単位負荷量を単位として負荷の移動（山崩し）が行われる。そのため、効率的に負荷の調整を行うことができる。
【０１５０】
つまり、操業制約の多い多品種工程においても、日程計画に繋げた際の精度を高めることが可能な長期計画を作成することができる。また、このようにして作成された長期計画を日程計画に移す際、修正が少なくて済むので、日程計画作成に要する計算負荷を軽減することが可能となる。
【０１５１】
単位負荷量計算部３２により、製品ごとの通過工程それぞれに対し、割付可能期間に対応するセグメントに均等な負荷量が加算される。また、各セグメントに加算される負荷の総量は、工程での負荷量に等しくなる。これにより、割付可能期間内のセグメントに等確率で作業を割り付けた際の工程負荷を評価することができる。
【０１５２】
工程情報メモリ２１に記憶される作業割付期間が、工程情報や製品の品種により、異なった作業の割付可能期間が設定される。これにより、ロットまとめや並び順調整を行う工程は、割付可能期間を長めに設定する、又は、汎用的な品種はロットにまとまり易いので、割付可能期間を短めに設定し、特殊な品種は割付可能期間を長めに設定する、といった、工程情報や品種の特徴に応じた実用的な設定が可能となる。
【０１５３】
また、工程間リードタイムに基づいて単位負荷量が作業割付可能期間内の各セグメントに割り当てられるために、工程間リードタイムを考慮して負荷量を山積みすることができるので、より実状に即した負荷調整を行うことが可能となっている。
【０１５４】
工程間リードタイム設定部３１で計算された工程負荷指数により、計画期間内における工程ごとの負荷の大小が定量化される。一方、工程間リードタイム設定部３１で計算された工程間リードタイムは前後工程の移動時間と後工程での余裕時間により設定される。この時、後工程での余裕時間は、工程負荷指数が大きいほど長く設定される。これにより、能力に余裕のない工程では、当該工程到着から当該工程開始までの時間が長くなる。即ち、能力に余裕のない工程では仕掛かり在庫を多く持ち、能力に余裕のある工程では仕掛かり在庫を持たない計画となる。そのため、生産開始から完了までの全体の工期を増大させず、上工程での操業トラブルや進捗遅れによるネック工程での機会損失を防止することができる。
【０１５５】
負荷山崩し部３４において、ある工程の、あるセグメントでの負荷の山崩しを行う際、各単位作業の移動について、移動後状態での作業開始セグメントと終了セグメント間の時間間隔を移動ペナルティーとして計算する。このとき、移動ペナルティーが小さい単位作業の移動が優先される。これにより、山崩しにより同一製品の作業可能セグメントが散在することを防止することができる。つまり、当該工程での滞留時間を極力増大させずに、負荷の山崩しを行うことができる。
【０１５６】
工程間リードタイム判断部３４ａにより、ある工程での負荷山崩しの結果、その前後工程とのリードタイムが確保できなくなった場合、前後工程での作業時間帯が修正される。これにより、工程間リードタイムが確保された計画作成が可能となる。
【０１５７】
負荷山崩し部３４において、ある工程での負荷山崩しを行う際、前後工程への影響が極力小さくなるように単位作業の移動が行うことができる。
【０１５８】
負荷山崩し部３４において、ある工程での負荷山崩しを行う際、単位作業の移動先として、工程能力に対して余裕のあるセグメントが優先して選択される。これにより、負荷の平準化を効率的に行うことができる。
【０１５９】
処理優先度設定部３５、負荷集約部３６、負荷拡散部３７及びセグメント内終了条件判断部３８により、負荷山崩しの結果得られた長期計画をもとにし、そこで設定した作業割り付けの自由度の範囲内で、負荷量の再調整が行われる。その結果、各工程のセグメントごとの処理製品が決定される。これにより、長期計画と整合性のとれた日程計画を作成することが可能になる。
【０１６０】
負荷拡散部３７において、負荷量の再調整を負荷山崩し後の合計負荷量を維持しながら行う。従って、負荷量の再調整の結果、負荷オーバーが生じることを防ぐことができる。
【０１６１】
処理優先度設定部３５により、作業が割り付けられた期間が小さく、かつ、段取り替え時間が小さい製品の処理が優先される。従って、長期計画で設定した工程ごとの作業割付可能期間内で、日程計画を組むことが容易になり、長期計画と整合性のとれた実用的な日程計画の作成が容易となる。
【０１６２】
以上、本発明の好適な実施の形態について説明したが、本発明は、前記実施の形態に限定されるものではなく、特許請求の範囲に記載した限りにおいてさまざまな設計変更が可能なものである。
【０１６３】
本実施の形態では、日程計画の作成にあたり、各セグメントの最大負荷を一律１日として設定しているが、それに限られない。例えば、セグメントごとに最大負荷を設定してもよい。
【０１６４】
また、本実施の形態では、日程計画の作成にあたり、本実施形態の長期計画により作成された作業割付テーブル２３を用いているが、それに限られず、本実施形態の長期計画により作成された作業割付テーブル２３以外の作業割付テーブル（上述の作業割付テーブル２３と同様に、負荷量が分布したもの）の処理にも用いてもよい。
【０１６５】
【発明の効果】
以上に説明したように、本発明によれば、操業制約の多い多品種工程においても、日程計画に繋げた際の精度を高めることが可能な長期計画を作成することができる。また、このようにして作成された長期計画を日程計画に移す際、修正が少なくて済むので、日程計画作成に要する計算負荷を軽減することが可能となる。
【図面の簡単な説明】
【図１】工程負荷調整装置を示すブロック図。
【図２】長期計画作成の処理フローを示すフローチャート。
【図３】品種ごとの通過工程に関する工程情報を示す図。
【図４】対象とする工程を示す図。
【図５】計画対象とする製品情報を示す図。
【図６】工程負荷指数の計算結果を示す図。
【図７】各品種についての作業割付可能期間、単位負荷量、工程間リードタイムの関係を示す図。
【図８】作業割付テーブルを示す図。
【図９】負荷山崩しの一例を示す作業割付テーブルの図。
【図１０】負荷山崩しの一例を示す特定品種の単位作業の移動の図。
【図１１】負荷山崩しの別の一例を示す特定工程での単位作業の移動の図。
【図１２】日程計画作成の処理フローを示すフローチャート。
【図１３】負荷の集約と調整を行う一例を示す特定工程での単位作業の移動の図。
【図１４】負荷の集約と調整を行う一例を示す特定工程での単位作業の移動の図。
【図１５】負荷の再調整の結果得られた作業割付テーブルをもとに作成した日程計画の一例を示すガントチャート。
【符号の説明】
１　工程負荷調整装置
２１　工程情報メモリ（工程情報記憶手段）
２２　製品情報メモリ（製品情報記憶手段）
２３　作業割付テーブル
３１　工程間リードタイム設定部（工程間リードタイム設定手段）
３２　単位負荷量計算部（単位負荷量計算手段）
３３　負荷山積み部（負荷山積み手段）
３４　負荷山崩し部（負荷山崩し手段）
【図１】
2004046308.tif 000003
【図２】
2004046308.tif 000004
【図３】
2004046308.tif 000005
【図４】
2004046308.tif 000006
【図５】
2004046308.tif 000007
【図６】
2004046308.tif 000008
【図７】
2004046308.tif 000009
【図８】
2004046308.tif 000010
【図９】
2004046308.tif 000011
【図１０】
2004046308.tif 000012
【図１１】
2004046308.tif 000013
【図１２】
2004046308.tif 000014
【図１３】
2004046308.tif 000015
【図１４】
2004046308.tif 000016
【図１５】
2004046308.tif 000017