(57)【特許請求の範囲】
【請求項１】
１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムに適用される生産スケジュールを、記憶手段と、ＣＰＵと、出力手段とを有するコンピュータにより生成する複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための方法であって、
前記１台の機械を品目用機械として当該品目用機械により生産されるべき品目、当該品目の属性、並びに、前記品目用機械及び前記品目の属性に依存する段取り作業を仮想的に処理する仮想機械の各機械に関するデータと、動的ロットサイズスケジューリング処理で適用される条件データとを含むスケジュール生成用データを、前記ＣＰＵが前記記憶手段の第１の領域に格納するステップと、
品目間及び属性間の同一機械における機械干渉に関する第１の制約に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、仕掛かり在庫の充足に関する第２の制約に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、品目と属性全体にわたって、任意の品目あるいは属性が段取り中の場合に他の品目あるいは属性が段取り中若しくは実処理中であってはならない第３の制約に対応する第３のペナルティコスト、及び任意の属性の累積実稼働時間が、当該属性を有する品目の累積実稼働時間と等しくなければならない第４の制約に対応する第４のペナルティコストのそれぞれ初期値を、前記記憶手段に格納されている条件データに基づいて、前記ＣＰＵが前記記憶手段の第２の領域に設定するステップと、
前記品目用機械により前記各作業で処理される各品目と前記属性別の仮想機械において仮想的に段取り作業が処理される各属性とについて、前記記憶手段にそれぞれ設定されている、前記第１の制約に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、前記第２の制約に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、前記第３の制約に対応する第３のペナルティコスト、及び前記第４の制約に対応する第４のペナルティコストを含む評価基準を最適化する品目別属性別スケジュールを、前記ＣＰＵが、前記記憶手段に格納されている前記スケジュール生成用データに基づいて、品目別属性別で且つタイムスロット毎に、他の品目・属性の品目別属性別スケジュールとは独立に取得するステップと、
前記取得された品目別属性別スケジュールにおいて前記第１、第２、第３及び第４の制約の違反が全て解消されているかを、前記第１、第２、第３及び第４の制約に関する違反の程度に基づいて前記ＣＰＵが判定するステップと、
前記第１、第２、第３及び第４の制約の違反の少なくとも１つが解消されていないと判定された結果、当該違反の解消が必要な場合、前記記憶手段に格納されている前記第１、第２、第３及び第４のペナルティコストのうち当該少なくとも１つの違反が解消されていない制約に対応するペナルティコストを、当該少なくとも１つの違反が解消されるように前記ＣＰＵが更新するステップと、
前記更新するステップが実行される都度、前記取得するステップを前記ＣＰＵが再実行させるステップと、
前記第１、第２、第３及び第４の制約の違反が全て解消されている場合、対応する前記取得された品目別属性別スケジュールを実行可能な前記生産スケジュールとして前記ＣＰＵが前記出力手段により出力させるステップと
を具備することを特徴とする動的ロットサイズスケジューリングのための方法。
【請求項２】
前記取得された品目別属性別スケジュールに基づいて、前記第１、第２、第３及び第４の制約に関する違反の程度を表す第１、第２、第３及び第４の制約違反量を前記ＣＰＵが算出するステップを更に具備し、
前記判定ステップでは、前記第１、第２、第３及び第４の制約の違反が全て解消されているかが前記第１、第２、第３及び第４の制約違反量に基づいて判定される
ことを特徴とする請求項１記載の動的ロットサイズスケジューリングのための方法。
【請求項３】
前記第１の制約違反量は、品目間及び属性間の同一機械における機械干渉の程度を表し、
前記第２の制約違反量は、仕掛かり在庫の不足の程度を表し、
前記第３の制約違反量は、任意の品目あるいは属性が段取り中に、段取り中若しくは実処理中となる他の品目あるいは属性が存在する程度を表し、
前記第４の制約違反量は、任意の属性の累積実稼働時間と、その属性を有する品目の累積実稼働時間とのずれの程度を表す
ことを特徴とする請求項２記載の動的ロットサイズスケジューリングのための方法。
【請求項４】
前記更新するステップにおいては、
前記第１の制約の違反が解消されていない場合、当該違反に該当する機械干渉の程度が小さくなるように前記第１のペナルティコストが更新され、
前記第２の制約の違反が解消されていない場合、当該違反に該当する仕掛かり在庫を充足させるように前記第２のペナルティコストが更新され、
前記第３の制約の違反が解消されていない場合、前記任意の品目あるいは属性の段取り中に他の品目あるいは属性が段取り中若しくは実処理中とならないように前記第３のペナルティコストが更新され、
前記第４の制約の違反が解消されていない場合、前記任意の属性の累積実稼働時間が、その属性を有する品目の累積実稼働時間と等しくなるように前記第４のペナルティコストが更新される
ことを特徴とする請求項３記載の動的ロットサイズスケジューリングのための方法。
【請求項５】
前記第１、第２、第３及び第４の制約の違反の少なくとも１つが解消されていないと判定された場合、前記第１、第２、第３及び第４の制約違反量のうち少なくとも違反が解消されていない制約に関する違反量が、当該違反が解消されていない制約に固有の、前記記憶手段に格納されている条件データの示す閾値以下であるかを前記ＣＰＵが判定するステップと、
前記第１、第２、第３及び第４の制約の違反が完全には解消されていなくても前記違反が解消されていない制約に関する違反量が前記閾値以下の場合には、対応する前記取得された品目別属性別スケジュールに基づいてヒューリスティックに実行可能な前記生産スケジュールを前記ＣＰＵが生成するステップと
を更に具備することを特徴とする請求項３記載の動的ロットサイズスケジューリングのための方法。
【請求項６】
１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムに適用される生産スケジュールを、記憶手段と、ＣＰＵと、出力手段とを有するコンピュータにより生成する複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのためのプログラムであって、
前記コンピュータに、
前記１台の機械を品目用機械として当該品目用機械により生産されるべき品目、当該品目の属性、並びに、前記品目用機械及び前記品目の属性に依存する段取り作業を仮想的に処理する仮想機械の各機械に関するデータと、動的ロットサイズスケジューリング処理で適用される条件データとを含むスケジュール生成用データを、前記ＣＰＵが前記記憶手段の第１の領域に格納するステップと、
品目間及び属性間の同一機械における機械干渉に関する第１の制約に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、仕掛かり在庫の充足に関する第２の制約に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、品目と属性全体にわたって、任意の品目あるいは属性が段取り中の場合に他の品目あるいは属性が段取り中若しくは実処理中であってはならない第３の制約に対応する第３のペナルティコスト、及び任意の属性の累積実稼働時間が、当該属性を有する品目の累積実稼働時間と等しくなければならない第４の制約に対応する第４のペナルティコストのそれぞれ初期値を、前記記憶手段に格納されている条件データに基づいて、前記ＣＰＵが前記記憶手段に設定するステップと、
前記品目用機械により前記各作業で処理される各品目と前記属性別の仮想機械において仮想的に段取り作業が処理される各属性とについて、前記記憶手段にそれぞれ設定されている、前記第１の制約に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、前記第２の制約に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、前記第３の制約に対応する第３のペナルティコスト、及び前記第４の制約に対応する第４のペナルティコストを含む評価基準を最適化する品目別属性別スケジュールを、前記ＣＰＵが、前記記憶手段に格納されている前記スケジュール生成用データに基づいて、品目別属性別で且つタイムスロット毎に、他の品目・属性の品目別属性別スケジュールとは独立に取得するステップと、
前記取得された品目別属性別スケジュールにおいて前記第１、第２、第３及び第４の制約の違反が全て解消されているかを、前記第１、第２、第３及び第４の制約に関する違反の程度に基づいて前記ＣＰＵが判定するステップと、
前記第１、第２、第３及び第４の制約の違反の少なくとも１つが解消されていないと判定された結果、当該違反の解消が必要な場合、前記記憶手段に格納されている前記第１、第２、第３及び第４のペナルティコストのうち当該少なくとも１つの違反が解消されていない制約に対応するペナルティコストを、当該少なくとも１つの違反が解消されるように前記ＣＰＵが更新するステップと、
前記更新するステップが実行される都度、前記取得するステップを前記ＣＰＵが再実行させるステップと、
前記第１、第２、第３及び第４の制約の違反が全て解消されている場合、対応する前記取得された品目別属性別スケジュールを実行可能な前記生産スケジュールとして前記ＣＰＵが前記出力手段により出力させるステップと
を実行させるためのプログラム。
【請求項７】
１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムに適用される生産スケジュールを生成する複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための装置であって、
第１の領域及び第２の領域を有し、前記第１の領域には、前記１台の機械を品目用機械として当該品目用機械により生産されるべき品目、当該品目の属性、並びに、前記品目用機械及び前記品目の属性に依存する段取り作業を仮想的に処理する仮想機械の各機械に関するデータと、動的ロットサイズスケジューリング処理で適用される条件データとを含むスケジュール生成用データが格納される記憶手段と、
品目間及び属性間の同一機械における機械干渉に関する第１の制約に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、仕掛かり在庫の充足に関する第２の制約に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、品目と属性全体にわたって、任意の品目あるいは属性が段取り中の場合に他の品目あるいは属性が段取り中若しくは実処理中であってはならない第３の制約に対応する第３のペナルティコスト、及び任意の属性の累積実稼働時間が、当該属性を有する品目の累積実稼働時間と等しくなければならない第４の制約に対応する第４のペナルティコストのそれぞれ初期値を、前記記憶手段に格納されている条件データに基づいて前記記憶手段の前記第２の領域に設定する初期化手段と、
前記品目用機械により前記各作業で処理される各品目と前記属性別の仮想機械において仮想的に段取り作業が処理される各属性とについて、前記記憶手段にそれぞれ設定されている、前記第１の制約に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、前記第２の制約に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、前記第３の制約に対応する第３のペナルティコスト、及び前記第４の制約に対応する第４のペナルティコストを含む評価基準を最適化する品目別属性別スケジュールを、前記記憶手段に格納されている前記スケジュール生成用データに基づいて、品目別属性別で且つタイムスロット毎に、他の品目・属性の品目別属性別スケジュールとは独立に生成するスケジュール生成手段と、
前記生成された品目別属性別スケジュールにおいて前記第１、第２、第３及び第４の制約の違反が全て解消されているかを、前記第１、第２、第３及び第４の制約に関する違反の程度に基づいて判定する制約違反判定手段と、
前記第１、第２、第３及び第４の制約の違反の少なくとも１つが解消されていないと判定された結果、当該違反の解消が必要な場合、前記記憶手段に格納されている前記第１、第２、第３及び第４のペナルティコストのうち当該少なくとも１つの違反が解消されていない制約に対応するペナルティコストを当該少なくとも１つの違反が解消されるように更新する更新手段と、
前記更新手段による更新後に前記スケジュール生成手段により前記品目別属性別スケジュールが新たに生成されるように当該スケジュール生成手段を制御する制御手段と、
前記第１、第２、第３及び第４の制約の違反が全て解消されている場合、対応する前記取得された品目別属性別スケジュールを実行可能な前記生産スケジュールとして出力する出力手段と
を具備することを特徴とする動的ロットサイズスケジューリングのための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムに適用される生産スケジュールを生成するのに好適な、複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための方法に関する。
【背景技術】
【０００２】
１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理する生産システムにおけるスケジューリングでは、生産する品目のロット順序の決定と各々のロットサイズの決定という全く異なる２つの決定の局面がある。この種のスケジューリングの問題は、従来から順序依存型の段取りを伴うスケジューリング問題として知られ、数学的には組合せ最適化問題として取り扱われてきている。
【０００３】
従来、スケジューリング問題は非対称巡回セールス員問題に帰着して取り扱われることが多い。しかし、それだけでは巡回の順序、すなわち生産の順序（ロット順序）のみしか決定することができず、ロットサイズの決定は別の手法に頼る必要がある。また、実用規模のスケジューリング問題を従来の技術で解こうとすると、組合せ爆発と呼ばれる計算上の問題、つまり膨大な量の計算を必要とする問題が発生する。このため従来は、極僅かな規模の問題しか対象にすることができないのが一般的である。
【０００４】
そこで近年は、ロットサイズの決定とロット順序の決定など異質の複数の決定局面を全体最適の視点から同時に最適化（決定）する技術（以下、先行技術と称する）が提案されている（例えば特許文献１または２参照）。
【特許文献１】特開２００２−２３６７２１号公報
【特許文献２】特開２００２−３２８９７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１または２に記載された先行技術は、あくまでも順序非依存型の段取りを持つスケジューリング問題に限定されている。
【０００６】
したがって、上記先行技術では、製造業その他の業種に広く見受けられる、複数の属性を持つ段取りを伴うスケジューリング問題に対しては適用することができない。また、仮に適用できたとしても、スケジューリング問題を解くことは非常に難かしい。
【０００７】
本発明は上記事情を考慮してなされたものでその目的は、順序依存型の段取りを持つ実用規模の問題に対しても、組合せ爆発を起こすことなく、極めて精緻なスケジュールを生成することを可能にする、複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の１つの観点によれば、１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムに適用される生産スケジュールをコンピュータにより生成する複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための方法が提供される。この方法は、生産する品目の属性別にその属性を仮想的に処理する仮想機械を想定することにより、前記１台の機械を品目用機械として、当該品目用機械から生産する品目の属性に関する段取り作業を分離させ、前記品目用機械により前記各作業で処理される各品目と前記仮想機械において仮想的に処理される各属性とについて、機械干渉禁止制約（第１の制約）に対応する機械別・タイムスロット別に割り当てられる第１のペナルティコスト、仕掛かり在庫非負制約（第２の制約）に対応する品目別・タイムスロット別に割り当てられる第２のペナルティコスト、同時段取り禁止制約（第３の制約）に対応する第３のペナルティコスト及び処理の整合性制約（第４の制約）に対応する第４のペナルティコストを含む評価基準を最適化する品目別属性別スケジュールを他の品目・属性とは独立に取得するステップと、取得された品目別属性別スケジュールにおいて前記第１、第２、第３及び第４の制約の違反が全て解消されているかを判定するステップと、前記第１、第２、第３及び第４の制約の違反の少なくとも１つが解消されていないと判定された結果、当該違反の解消が必要な場合、前記第１、第２、第３及び第４のペナルティコストのうち当該少なくとも１つの違反が解消されていない制約に対応するペナルティコストを当該少なくとも１つの違反が解消されるように更新するステップと、この更新するステップが実行される都度、前記取得するステップを再実行させるステップとを具備する。
【発明の効果】
【０００９】
本発明によれば、１つのスケジューリング問題を品目別に分解するだけでなく、対象とする生産物（品目）の持つ属性単位まで仮想的に拡張し、当該スケジューリング問題を属性別・品目別に分解して取り扱うことにより、順序依存型の段取りを持つ実用規模の問題に対しても、組合せ爆発を起こすことなく、極めて精緻なスケジュールを生成することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る動的ロットサイズスケジューリング装置の構成を示すブロック図である。この動的ロットサイズスケジューリング装置は、１台の機械により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムに適用される生産スケジュールを生成する。この生産スケジュールの生成のために、動的ロットサイズスケジューリング装置は、複数の属性を持つ段取りを伴う動的ロットサイズスケジューリング問題を処理する。
【００１１】
図１の動的ロットサイズスケジューリング装置は、例えば汎用のコンピュータを用いて実現される。動的ロットサイズスケジューリング装置は、主として、キーボード１１と、ディスプレイ１２と、ハードディスクドライブ（ＨＤＤ）１３と、ＣＤ−ＲＯＭドライブ１４と、主記憶装置１５と、ＣＰＵ１６とから構成される。キーボード１１、ディスプレイ１２、ＨＤＤ１３、ＣＤ−ＲＯＭドライブ１４、主記憶装置１５及びＣＰＵ１６はシステムバス１７により相互接続されている。
【００１２】
キーボード１１は、ユーザ（オペレータ）の操作によりデータ及び指示等を入力するための入力装置として用いられる。ディスプレイ１２は、後述する制約違反量、生成されたスケジュール等を表示するための表示装置として用いられる。
【００１３】
ＨＤＤ１３は補助記憶装置として用いられる。ＨＤＤ１３には、オペレーティング・システム（ＯＳ）２１、動的ロットサイズスケジューリングプログラム２２及びスケジュール生成用データ２３が格納されている。
【００１４】
動的ロットサイズスケジューリングプログラム２２は、例えばＣＤ−ＲＯＭドライブ１４を介して、ＣＤ−ＲＯＭ２０からＨＤＤ１３にインストールされたアプリケーションプログラムである。動的ロットサイズスケジューリングプログラム２２には、現実に存在する複数の異なる属性を持つ機械（製造装置）等を、仮想的に複数の機械に拡張し、属性と品目との関係を数理的に表現した数理モデルが反映されている。プログラム２２は、後述する再帰方程式４０、状態推移表４１及び状態推移表４２を含む。
【００１５】
スケジュール生成用データ２３は、品目−属性関係データ３０、機械−品目・属性関係データ３１、生産所要量データ３２、生産・段取データ３３、在庫管理データ３４、条件データ３５及び出荷要求量データ３６を含む。スケジュール生成用データ２３は、オペレータの操作によりキーボード２０から入力可能である。またデータ２３を、ＣＤ−ＲＯＭドライブ１４を介して、ＣＤ−ＲＯＭ２０から入力することも可能である。
【００１６】
品目−属性関係データ３０は、品目と属性との対応関係を表す。機械−品目・属性関係データ３１は、機械と属性・品目との対応関係を表す。生産所要量データ３２は、任意の品目を1単位生産するために必要となる部品または半製品の所要量を表す。生産・段取データ３３は、機械の単位時間当たりの属性別品目別の生産個数、段取り時間及び段取り費用を表す。
【００１７】
在庫管理データ３４は、属性別品目別の在庫保管費率、初期在庫量、在庫上限値及び在庫下限値を表す。条件データ３５は、後述する動的ロットサイズスケジューリング処理におけるループの最大繰り返し数（Ｎ）及び各種制約違反量の閾値を表す。出荷要求量データ３６は、顧客から要求された各タイムスロット（時点）末における品目別出荷要求量を表す。本実施形態では、生産計画の対象期間（計画対象期間）として７日、つまり１６８時間が設定される。タイムスロットは、この計画対象期間を一定の時間間隔、例えば３０分間隔で分割することにより得られる３３６個の時間刻みを指す。
【００１８】
主記憶装置１５は、動的ロットサイズスケジューリングプログラム２２の実行時に、スケジュール生成用データ２３を格納する記憶領域を提供する。また主記憶装置１５は、生成されたスケジュールを格納する記憶領域も提供する。
【００１９】
ＣＰＵ１６は動的ロットサイズスケジューリング装置の主コントローラをなす。ＣＰＵ１６は、動的ロットサイズスケジューリングプログラム２２を実行することにより、複数の属性を持つ段取りを伴う動的ロットサイズスケジューリング問題を処理する。
【００２０】
次に、本実施形態の特徴である、複数の属性を持つ段取りを伴う動的ロットサイズスケジューリング問題を処理するための前提となる概念について図２を参照して説明する。まず、図２（ａ）に、１台の機械（製造装置）２００により複数の作業で当該各作業に対応した品目をそれぞれ処理し、かつ当該各作業では前記品目の有する複数の属性に応じた段取り作業を伴う品目の切り換えが可能な生産システムの例を示す。図２（ａ）の生産システムの例では、３つの製品（品目）３，６及び９が生産される。製品（品目）３，６及び９には、それぞれ白抜きの矢印で示されるように、半製品（品目）２，５及び８が組み込まれる。半製品（品目）２，５及び８には、それぞれ白抜きの矢印で示されるように、部品（品目）１，４及び７が組み込まれる。図２（ａ）において、白抜きの矢印に付されている数字は、当該矢印によって指し示される品目（製品または半製品）に組み込まれる品目（半製品または部品）の個数を示す。
【００２１】
ここで、品目１〜９は、「色」と「形」との２種の属性を持つものとする。また、「色」の属性として「白・青・黒」の各属性値が、「形」の属性として「○・△・□」の各属性値があるものとする。今、品目１及び７が「白・○」の属性を持っているものとする。この場合、機械２００のセッティングが「白」と「○」のセッティングになってからでないと作業に入れない。セッティングの変更には時間が掛かり、これを段取り時間と呼ぶ。機械２００のセッティングには属性に依存するものの他に、品目に依存するセッティングもあり、全てのセッティングを変更する場合に最も時間が掛かる。品目１に続けて品目７を生産する場合には、品目７のみに依存するセッティングのみで生産を開始できる。その理由は、品目７が品目１と全く同一の属性を持っていることから、色と形に依存するセッティングを必要としないためである。
【００２２】
一方、品目４が「黒・△」の属性を持ち、品目１から当該品目４への生産に切り替えるものとする。この場合、品目４は品目１とは異なる「黒・△」の属性を持っていることから、色「黒」・形「△」・品目４に関する全てのセッティングの変更が必要になる。このため、品目１から品目４への変更には時間が掛かる。また、全てのセッティングを変更する場合でも、切り替える前後の属性の種類によって、時間が変化する。例えば「色」属性が淡色から濃色へ切り替えるよりも濃色から淡色へ切り替える方がより入念な洗浄作業などを必要とするため、セッティングには前者よりも後者の方がより長い時間を要する。
【００２３】
このように、どの品目からどの品目へ切り替えるかによって必要とする時間が変化する。このため、順序依存型の段取りを考慮し、全体最適の視点からハンドリングするための精緻なスケジューリング技術は、短納期を求められている現在の製造現場においては極めて重要な意味を持つ。
【００２４】
そこで本実施形態においては、生産する品目の属性別に仮想的な機械（仮想機械）を想定し、実際の品目の生産に、各属性が組み込まれるようにネットワークを構成する。このネットワークを図２（ｂ）に示す。図２（ｂ）では、図２（ａ）に示す機械２００が、当該機械２００に加えて、「形」属性のための仮想機械（形属性用機械）２０１及び「色」属性のための仮想機械（色属性用機械）２０２に、概念レベルで拡張される。形属性用機械２０１は、形属性を機械２００による品目の生産（処理）に利用可能とするために、主として「形」属性に依存するセッティングを扱う。つまり形属性用機械２０１は、形属性を処理する。一方、色属性用機械２０２は、色属性を機械２００による品目の生産に利用可能とするために、主として「色」属性に依存するセッティングを扱う。つまり色属性用機械２０２は、色属性を処理する。これにより機械２００から、「形」属性及び「色」属性に依存するセッティングが分離される。この点で、図２（ｂ）に示す機械２００は、図２（ａ）に示す機械２００とは異なり、品目用の一種の仮想機械（品目用機械）とみなすことができる。そこで以降の説明では、実機械を品目用機械と呼ぶこともある。
【００２５】
形属性用機械２０１は、図２（ｂ）の例では、「○・△・□」の各属性値を持つ形属性に依存するセッティングを扱う。一方、色属性用機械２０１は、「白・青・黒」の各属性値を持つ色属性に依存するセッティングを扱う。これに対し、品目用機械２００は、品目１〜９に依存するセッティングを含む当該品目１〜９のための作業を行う。図２（ｂ）には、属性用機械２０１内の形属性の属性値「○・△・□」及び色属性用機械２０２内の色属性の属性値「白・青・黒」の記号から、品目用機械２００内の品目の記号に向かう実線の矢印が描かれている。この矢印は、その先端により品目用機械２００によって生産される品目を、その基端により当該品目の属性の値（属性値）を示す。したがって図２（ｂ）からは、例えば品目１が「白・○」の属性を持つことが分かる。ここでは品目用機械２００は、品目１のための作業に、形属性用機械２０１及び色属性用機械２０２が、それぞれ「○」及び「白」のセッティングになってからでないと入れないことが分かる。
【００２６】
次に、図１の動的ロットサイズスケジューリング装置で適用される、複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための処理（動的ロットサイズスケジューリング処理）の手順について、図３のフローチャートを参照して説明する。
【００２７】
まず、オペレータはキーボード１１を用いて動的ロットサイズスケジューリングプログラム２２を起動させるための操作を行う。これによりＣＰＵ１６は、プログラム２２の実行を開始する。するとＨＤＤ１３に格納されているスケジュール生成用データ２３が主記憶装置１５に読み込まれる（ステップＳ１）。スケジュール生成用データ２３は、前記したように、品目−属性関係データ３０、機械−品目・属性関係データ３１、生産所要量データ３２、生産・段取データ３３、在庫管理データ３４、条件データ３５及び出荷要求量データ３６を含む。
【００２８】
図４は品目−属性関係データ３０の一例を示す。この品目−属性関係データ３０によれば、品目と属性との対応関係が０（対応なし）と１（対応あり）で表わされる。図５は機械−品目・属性関係データ３１の一例を示す。この機械−品目・属性関係データ３１によれば、機械と属性・品目との対応関係が０（対応なし）と１（対応あり）で表わされる。
【００２９】
図６は生産所要量データ３２の一例を示す。この生産所要量データ３２によれば、任意の品目を１単位生産するために必要となる部品・半製品の所要量がFrom Toチャートで表わされる。図７は生産・段取データ３３の一例を示す。この生産・段取データ３３によれば、機械の単位時間当たりの属性別品目別の生産個数（生産能力）、単位時間換算の段取り時間及び段取り費用が表わされる。
【００３０】
図８は在庫管理データ３４の一例を示す。この在庫管理データ３４によれば、属性別品目別の在庫保管費率、初期在庫量、在庫上限値及び在庫下限値が表される。図９は条件データ３５の一例を示す。この条件データ３５によれば、動的ロットサイズスケジューリング処理におけるループの最大繰り返し数Ｎ及び各種制約違反量の閾値が表わされる。図１０は出荷要求量データ３６の一例を示す。この出荷要求量データ３６によれば、部品展開後の各タイムスロット末における、顧客から要求された品目別出荷要求量が表される。
【００３１】
さて、スケジュール生成用データ２３が主記憶装置１５に読み込まれると、ＣＰＵ１６は初期設定手段として機能する。この場合、ＣＰＵ１６は、主記憶装置１５に読み込まれたスケジュール生成用データ２３に含まれている条件データ３５等に基づいて、主記憶装置１５の例えば所定領域内で、後述するラグランジュ乗数の初期化を行う（ステップＳ２）。またＣＰＵ１６は、主記憶装置１５の所定領域に、最大繰り返し数Ｎ及び各制約違反量の閾値を設定する（ステップＳ３，Ｓ４）。またＣＰＵ１６は、繰り返し数のカウント用の変数（繰り返しカウント変数）ｎとして１を初期設定する（Ｓ５）。
【００３２】
以上の初期設定処理を終了すると、ＣＰＵ１６はスケジュール生成手段として機能して、主記憶装置１５に読み込まれたスケジュール生成用データ２３に基づいて、品目別属性別に独立してタイムスロット毎にスケジュールを生成する（ステップＳ６）。このスケジュール作成は、従来の品目別に独立してタイムスロット毎にスケジュールを生成する場合と同様に動的計画法を用いて行うことができる。
【００３３】
本実施形態で適用される動的計画法においては、０−１決定変数δkitと在庫量ｘitとが用いられる。δkitは、タイムスロットｔにおいて機械ｋで属性・品目ｉの処理が行われているとき１を、その他のときに０を取る０−１決定変数である。ｘitは、属性・品目ｉのタイムスロットｔ末における在庫量を示す。また、この動的計画法においては、状態変数ｓkitと、前記４つの制約の各々に対応したラグランジュ乗数（制約ラグランジュ乗数）μk・t，μ・it，λit及びλjitとが用いられる。ｓkitは、機械ｋ、属性・品目ｉ、時点ｔにおける段取りの残り時間と処理待ちとを区別するための状態変数である。
【００３４】
本実施形態では、上記動的計画法を適用するために、最適コスト関数が次式（１）に示す再帰方程式４０で定義される。最適コスト関数は、属性・品目ｉのタイムスロットｔ末における、ラグランジュ乗数μk・t，μ・it，λit及びλjitを含む評価基準を最適化するのに用いられる。
【数１】
0004734604.tif 000002
【００３５】
式（１）の再帰方程式４０において、ラグランジュ乗数μk・tは品目間及び属性間の機械干渉（品目・属性による、機械の奪い合いの状態）に対応する機械別・タイムスロット別に割り当てられるペナルティコスト（第１のペナルティコスト）である。つまりラグランジュ乗数μk・tは、機械ｋ、タイムスロットｔの機械干渉禁止制約（第１の制約）に対応するペナルティコストを表す。ラグランジュ乗数μ・itは仕掛かり在庫の充足に対応する品目別・タイムスロット別に割り当てられるペナルティコスト（第２のペナルティコスト）である。つまりラグランジュ乗数μ・itは、品目ｉ、時点ｔにおける仕掛かり在庫非負制約（第２の制約）に対応するペナルティコストを表す。また、ラグランジュ乗数λitは、品目と属性全体にわたって、任意の品目ｉあるいは属性ｉが段取り中の場合に他の品目あるいは属性が段取り中若しくは実処理中であってはならないという制約（同時段取り禁止制約）を満たすために割り当てられるペナルティコスト（第３のペナルティコスト）である。つまりラグランジュ乗数λitは、属性・品目ｉ、時点ｔにおける同時段取り禁止制約（第３の制約）に対応するペナルティコストを表す。ラグランジュ乗数λjitは、任意の属性ｊの累積実稼働時間が、その属性ｊを有する品目ｉの累積実稼働時間と等しくなければならないという制約（処理の整合性制約）を満たすために割り当てられるペナルティコスト（第４のペナルティコスト）である。つまりラグランジュ乗数λjitは、属性ｊ、品目ｉの時点ｔにおける処理の整合性制約（第４の制約）に対応するペナルティコストを表す。
【００３６】
また、再帰方程式４０において、ｃkiは、生産・段取データ３３で示される、機械ｋ、属性・品目ｉの段取り費用データであり、ｈiは、条件データ３５で示される、属性・品目ｉの在庫保管費率である。再帰方程式４０において、ｂa(i)は、ｉが属性のとき１を、品目のときは０を取るインデックス関数であり、ｂr(i)はｂa(i)とは逆に、ｉが品目のとき１を、属性のときに０を取るインデックス関数である。
【００３７】
再帰方程式４０は、集合Ｋa，Ｋr，Ｓa(i)，Ｓr(i)，Ｐr(i)及びＭ(k)を含む。Ｋa及びＫrは、それぞれ、属性に対応する仮想機械の集合と品目に対応する機械（品目用機械）の集合である。Ｋ＝Ｋa∪Ｋrである。集合Ｋa及びＫrは機械−品目・属性関係データ３１から特定できる。また、Ｓa(i)は属性ｉを持つ品目の集合であり、Ｐa(i)は品目ｉの持つ属性の集合である。集合Ｓa(i)及びＰa(i)は品目−属性関係データ３０から特定できる。Ｓr(i)は品目ｉが組み込まれる後続直結品目の集合であり、Ｐr(i)は品目ｉに組み込まれる先行直結品目の集合である。集合Ｓr(i)及びＰr(i)は、生産所要量データ３２から特定できる。Ｍ(k)は機械ｋで処理することのできる属性・品目の集合である。集合Ｍ(k)は機械−品目・属性関係データ３１から特定できる。
【００３８】
再帰方程式４０において、Ｉ0，Ｉ0+及びＩ+はインデックス関数である。インデックス関数Ｉ0は、ｓkit＝０のときに１となり、その他のときに０となる。インデックス関数Ｉ0+は、ｓkit≧０のときに１となり、その他のときに０となる。インデックス関数Ｉ+は、ｓkit＞０のときに１となり、その他のときに０となる。ｎTは、スケジューリングにおける計画対象期間の最終タイムスロットｔ（ｔ＝ｎT＝３３６）を表す。
【００３９】
さて、上記ステップＳ６では、再帰方程式４０に従い、属性・品目ｉのタイムスロットｔ末における最適コスト関数がタイムスロット０〜最終タイムスロットｎT（ｔ＝０〜ｔ＝ｎT）まで計算される。ここでは、従来から知られている動的計画法の解法で行われるように、式（１）に示す初期時点（タイムスロット０）の状態における再帰式の値として０が代入される。また、初期時点以外の状態には、数値計算上利用可能な最大値（例えば∞）が代入される。最終時点（タイムスロットｎT）までの再帰方程式４０の計算は、状態推移表４１及び４２に従って行われる。状態推移表４１及び４２は、図１１に示すFrom Toチャートになっている。状態推移表４１は属性の推移を、状態推移表４２は品目の推移を、それぞれ表す。図１１の状態推移表４１及び４２は、当該表の左側の項目の示す状態、つまりタイムスロット（時点）ｔ−１における機械ｋ、属性・品目ｉの取り得る状態から、当該表の上側の項目の示す状態、つまりタイムスロット（時点）ｔにおける機械ｋ、属性・品目ｉの取り得る状態へ、○印が記入されている状態推移のみが許されていることを示す。
【００４０】
さて、再帰方程式４０に従って、計画対象期間の最終タイムスロットｎTまで全ての状態に対して最適コスト関数の計算が行われたものとする。するとＣＰＵ１６は、タイムスロットｎTにおける最適値を特定する。またＣＰＵ１６は、この最適値における状態として決定変数δkinTを、状態変数として在庫量ｘinT及びｓkinTを特定する。ＣＰＵ１６は、この３つの値δkinT，ｘinT及びｓkinTとタイムスロットｔ（＝ｎT）における出荷要求量を用いて、タイムスロットｔ−１末における在庫量ｘit-1を、次式
ｘit-1＝ｘit＋ｒit−Σk∈K(i)ｐiδkitＩ0(ｓkit)    （２）
に従って算出する。これによりＣＰＵ１６は、タイムスロットｔ−１におけるδkit-1とｓkit-1とを特定する。同様にして、ＣＰＵ１６はｔを１ずつデクリメント（ｔ＝ｔ−１）しながら、ｘit-1とδkit-1とｓkit-1とを取得する動作を、ｔ＝１となるまで時間を遡る方向に繰り返す。これによりＣＰＵ１６は、ｔ＝０からｔ＝ｎTまでの、ある１つの属性・品目ｉについてのスケジュール（即ちδkitとｘitとｓkitとのセット）を取得する。ＣＰＵ１６は、この動作を、全ての属性・品目ｉに対して行う。このようにして、ＣＰＵ１６は品目別属性別に独立してタイムスロット毎にスケジュールを生成する（ステップＳ６）。
【００４１】
次にＣＰＵ１６は制約違反量算出手段として機能して、品目別属性別にタイムスロット毎に作成されたスケジュールに基づき、各制約違反量を算出する（ステップＳ７）。
【００４２】
ここで、制約条件と制約違反量について説明する。本実施形態では、図２（ｂ）に示されているように、品目２の生産には品目１が１個用いられ、品目３の生産には品目２が２個用いられる。また、品目５の生産には品目４が２個用いられ、品目６の生産には品目５が２個用いられる。また、品目８の生産には品目７が１個用いられ、品目９の生産には品目８が１個用いられる。
【００４３】
したがって、品目３を作る前に品目２が、品目２を作る前に品目１が、それぞれ出来上がっていなければ、実際に必要な品目を生産することはできない。そこで、このような関係が制約条件として用いられる。この制約条件は仕掛かり在庫非負制約（第２の制約）と呼ばれる。仕掛かり在庫非負制約の違反量は、同一タイムスロットにおいて、生産する品目ｉの在庫量から、正味在庫量を差し引いた値として算出され、仕掛かり在庫の不足の程度を表す。この値が０を超えていれば、仕掛かり在庫量が負となるため、仕掛かり在庫非負制約に違反していると認識される。なお、正味在庫量は、品目ｉの生産に必要とされる品目ｊの在庫量から初期在庫量を差し引いた量として算出される。
【００４４】
本実施形態では、品目１〜９は１台の機械（ここでは機械２００）で生産される。ところが、１台の機械では、全ての品目を同時に処理することはできない。そこで、この関係が制約条件として用いられる。この制約条件は機械干渉禁止制約と呼ばれる。機械干渉禁止制約（第１の制約）の違反量は、同一タイムスロットにおいて機械を占有している品目の合計個数から１を減じた値として算出され、品目間及び属性間の同一機械における機械干渉の程度を表す。
【００４５】
また本実施形態では、属性の段取りを１台の機械では同時に処理できないものとする。この関係も制約条件として用いられる。この制約条件を同時段取り禁止制約（第３の制約）と呼ぶ。同時段取り禁止制約の違反量は、同一タイムスロットにおいて段取り作業を行っている属性と品目の合計個数から１を減じた値として算出される。同時段取り禁止制約の違反量は、任意の品目あるいは属性が段取り中に、段取り中若しくは実処理中となる他の品目あるいは属性が存在する程度を表す。
【００４６】
また、品目を処理するタイムスロットにおいては、当該品目が有する属性のセッティングがなされている状態で当該品目が処理されなければならない。このため、品目と属性との間で同期をとる必要がある。この関係も制約条件として用いられる。この制約条件を処理の整合性制約（第４の制約）と呼ぶ。処理の整合性制約の違反量は例えば次のように算出される。まず、あるタイムスロットにおいて、品目を処理中の場合に値１、それ以外の場合に値０が設定されるものとする。同様に、あるタイムスロットにおいて、属性の処理中の場合に値１、それ以外の場合に値０が設定されるものとする。この場合、処理の整合性制約の違反量は、各々タイムスロット別の累積値を計算し、品目の累積値から属性の累積値を減じることで算出される。処理の整合性制約の違反量は、任意の属性の累積実稼働時間と、その属性を有する品目の累積実稼働時間とのずれの程度を表す。
【００４７】
ＣＰＵ１６は、上記ステップＳ７において上記４つの制約にそれぞれ対応する制約違反量を算出すると、制約違反判定手段として機能する。この場合、ＣＰＵ１６は、算出された制約違反量に基づいて、ステップＳ６で最も最近に生成されたスケジュールが、上記４つの制約の違反を全て解消しているか否か、つまり上記４つの制約を全て満たしているか否かを判定する（ステップＳ８）。この判定は、算出された制約違反量が、全て０以下であるか否かに基づいて行われる。
【００４８】
もし、上記各制約違反量が全て０以下であれば、ＣＰＵ１６は上記生成されたスケジュールが上記４つの制約を全て満たしている（つまり４つの制約の違反は全て解消されている）と判定する。この場合、ステップＳ６で最も最近に生成されたスケジュールは制約違反箇所のない実行可能スケジュールを示す。そこでＣＰＵ１６はスケジュール結果出力手段として機能して、例えばディスプレイ２４にスケジュール結果（実行可能スケジュール）を表示する（Ｓ１４）。
【００４９】
このように本実施形態においては、複数の異なる属性を持つ機械を、仮想的に複数の機械（仮想機械）に拡張し、さらにこれらの仮想機械と元の機械との関係を数理モデルとして表現し、複数の属性と製品（品目）とを全く独立に分解して、ある一定時間間隔のタイムスロット毎に品目別属性別にスケジュールを求めるようにしている。そして本実施形態では、４つの制約条件（機械干渉禁止制約、仕掛かり在庫非負制約、同時段取り禁止制約及び処理の整合性制約）の全てが満たされるまで、その４つの制約条件に対応する４つのラグランジュ乗数（ペナルティコスト）のうち、条件が満たされていない制約に対応するラグランジュ乗数について、制約違反量の量に応じて更新し、スケジュール生成を繰り返すことにより、最終的に全ての制約を満たした実行可能スケジュールを得ることができる。これにより、順序依存型の段取りを持つ実用規模の問題に対しても、組合せ爆発を起こすことなく、極めて精緻なスケジュールを生成することができる。
【００５０】
情報通信技術のめざましい発展により、ビジネス環境が大きく変わっている中、企業は多種多様な製品を世に送り出す使命を負っている。ここでは、少ない設備投資により、稼働率を高めて、タイムリーに製品を顧客に供給することが求められている。このような状況下にある製造業は、いかに効率よく製造装置を運用するかという命題を有している。このため、順序依存型の段取りを伴うスケジューリング問題を、本実施形態のように従来の捉え方とは全く異なる視点でモデル化して解決することは、今日の製造ビジネス界のニーズに応え得るものである。
【００５１】
次に、各制約違反量の少なくとも１つが０を超えている場合について説明する。この場合、ＣＰＵ１６は上記生成されたスケジュールが上記４つの制約を完全には満たしていないと判定する（ステップＳ８）。すると、ＣＰＵ１６は制約違反レベル判定手段として機能する。この場合、少なくとも違反が解消されていない制約の違反量が、その制約に固有の閾値（図９の条件データ３５参照）以下であるか、つまり制約違反レベルが基準レベル以下であるか否かを判定する（ステップＳ９）。なお、上記４つの制約の違反量の全てについて、その制約に固有の閾値以下であるかが判定されるようにしても構わない。
【００５２】
もし、違反が解消されていない制約の違反量が閾値以下であれば、ＣＰＵ１６はヒューリスティックスケジュール生成手段として機能する。この場合、ＣＰＵ１６は、ステップＳ６で最も最近に生成されたスケジュール（非実行可能スケジュール）に基づいて、ヒューリスティックアルゴリズムにより実行可能スケジュールを生成する（ステップＳ１３）。そしてＣＰＵ１６はスケジュール結果出力手段として機能して、生成されたスケジュールをディスプレイ２４に表示する（ステップＳ１４）。
【００５３】
これに対し、違反が解消されていない制約の違反量が閾値を超えているならば、ＣＰＵ１６は繰り返し回数判定手段として機能する。この場合、ＣＰＵ１６は、繰り返しカウント変数（計算の繰り返し回数）ｎが予め定められている最大繰り返し数Ｎ（図９の条件データ３５参照）を超えているか否かを判定する（ステップＳ１０）。
【００５４】
もし、ｎがＮ以下であるならば、ＣＰＵ１６は更新手段として機能する。この場合、ＣＰＵ１６は、各ラグランジュ乗数を当該ラグランジュ乗数に対応する制約違反量に応じて、制約違反が解消されるように更新する（ステップＳ１１）。即ちＣＰＵ１６は、機械干渉禁止制約の違反が解消されていない場合、当該違反に該当する機械干渉の程度が小さくなるようにラグランジュ乗数μk・tを更新する。また、仕掛かり在庫非負制約の違反が解消されていない場合、ＣＰＵ１６は当該違反に該当する仕掛かり在庫を充足させるようにラグランジュ乗数μ・itを更新する。また、同時段取り禁止制約の違反が解消されていない場合、ＣＰＵ１６は品目ｉあるいは属性ｉの段取り中に他の品目あるいは属性が段取り中若しくは実処理中とならないようにラグランジュ乗数λitを更新する。また、処理の整合性制約の違反が解消されていない場合、ＣＰＵ１６は属性ｊの累積実稼働時間が、その属性ｊを有する品目ｉの累積実稼働時間と等しくなるようにラグランジュ乗数λjitを更新する。
【００５５】
ＣＰＵ１６は、ステップＳ１６を実行すると制御手段として機能して、繰り返しカウント変数ｎを１インクリメントした後（Ｓ１２）、ステップＳ６から始まる手順の繰り返しを制御する。やがて、ステップＳ１０において、繰り返しカウント変数（計算の繰り返し回数）ｎが最大繰り返し数Ｎを超えたと判定された場合、ＣＰＵ１６はステップＳ１３に移行して、ヒューリスティックアルゴリズムにより実行可能スケジュールを生成する。
【００５６】
次に、ヒューリスティックアルゴリズムにより実行可能スケジュールを生成する処理の手順について図１２のフローチャートを参照して説明する。
【００５７】
ＣＰＵ１６は、ステップＳ６で最も最近に生成された品目別属性別スケジュールに基づき、品目ｉ毎に全てのロットを特定し、当該ロットの生産開始・終了時点の情報を生成する（ステップＳ２１）。ここで、品目ｉのロットの生産開始時点（開始タイムスロット）は、０−１決定変数δkitが０から１に遷移する時点であり、生産終了時点（終了タイムスロット）は、δkitが１から０に遷移する時点である。
【００５８】
次にＣＰＵ１６は、仕掛かり在庫非負制約違反を解消するために、製品構造（品目構成）に基づいて、品目別属性別スケジュール上で各品目の処理順序を整列する（ステップＳ２２）。次にＣＰＵ１６は、機械干渉禁止制約違反を解消するために、品目ｉのロットを時間軸の後ろまたは前の方向に移動する（ステップＳ２３）。ここで、品目ｉのロットの開始・終了時点の相対位置は変更されないことに注意する。
【００５９】
次にＣＰＵ１６は、属性の段取り時間を確保して同時段取り禁止制約違反を解消するために、ロットを移動する（ステップＳ２４）。このステップＳ２４では、属性の処理状況も移動される。
【００６０】
次にＣＰＵ１６は、処理の整合性制約違反を解消するために、品目ｉが有する属性ｊの処理状況を時間軸方向に伸縮して、当該品目ｉの処理状況に同期させる。これにより、実行可能スケジュールがヒューリスティックに生成される。
【００６１】
このように本実施形態においては、上記４つの制約の違反が完全には解消されなくても制約違反量が一定レベル以下である場合、或いはステップＳ８から始まるループが一定回数（Ｎ回）繰り返された場合には、ヒューリスティックアルゴリズムによって、実行可能スケジュールを取得できる。
【００６２】
ここで、動的ロットサイズスケジューリングの最終結果として取得される、制約違反が解消された実行可能スケジュールの一例を図１３及び図１４に示す。また、動的ロットサイズスケジューリングの中間結果として取得される制約違反箇所を含む非実行可能スケジュールの一例を図１５及び図１６に示す。図１５において、枠１５１に代表される実線の枠は、在庫として現れる処理の整合性制約違反箇所を示す。図１５において、枠１５２に代表される波線の枠は、マイナス在庫として現れる仕掛かり在庫非負制約違反箇所を示す。図１６において、枠１６１に代表される実線の枠は処理の整合性制約違反箇所を、枠１６２に代表される波線の枠は在庫非負制約違反箇所を、それぞれ示す。図１６において、枠１６３に代表される一点鎖線の枠は処理の機械干渉禁止制約違反箇所を、枠１６４に代表される二点鎖線の枠は同時段取り禁止制約違反箇所を、それぞれ示す。
【００６３】
本発明は、複数の異なる属性を有する生産物を、それらの属性に対応する部分を変更または調整して生産を行う機械（製造装置）などに適用できる。例えば、様々な形を有し、様々な色の塗布が可能な製造ラインにおいて、「生産物に使用する塗料の色」と「生産物の形」という全く異なる属性を変更しながら生産する場面に用いる製造装置などに適用できる。具体的にはレトルト食品や液体洗剤の詰め替え容器、脱アルミ包装材、医薬品の包装材、医療器具の滅菌用包装材、半導体・精密機器用クリーンパックなど、様々な形状、性質の樹脂包装材料等の製造ラインその他に適用できる。製造以外の分野では、印刷業などの作業スケジュールに適用の可能性がある。印刷用プリンタは一般に「紙の大きさ」や「紙の色」、あるいは「インクの色」など様々な複数の属性を変更しながら印刷を行うためであり、上述の業種とは異なるものの、同一の考え方を適用することができる。
【００６４】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係る動的ロットサイズスケジューリング装置の全体構成を示す図。
【図２】同実施形態で対象とする複数の異なる属性を持つ機械と生産される製品・半製品・部品、原材料を仮想的に多工程モデルとして拡張した概念（複数の属性を持つ段取りを伴う動的ロットサイズスケジューリング問題を処理するための前提となる概念）を、当該機械と生産される製品・半製品・部品、原材料の処理の流れと対比して示す図。
【図３】複数の属性を持つ段取りを伴う動的ロットサイズスケジューリングのための処理の手順を示すフローチャート。
【図４】品目−属性関係データ３０の一例を示す図。
【図５】機械−品目・属性関係データ３１の一例を示す図。
【図６】生産所要量データ３２の一例を示す図。
【図７】生産・段取データ３３の一例を示す図。
【図８】在庫管理データ３４の一例を示す図。
【図９】条件データ３５の一例を示す図。
【図１０】出荷要求量データ３６の一例を示す図。
【図１１】状態推移表４１及び４２の一例を示す図。
【図１２】ヒューリスティックアルゴリズムにより実行可能スケジュールを生成する処理の手順を示すフローチャート。
【図１３】同実施形態において動的ロットサイズスケジューリングの最終結果として取得される実行可能スケジュールの一例の一部を示す図。
【図１４】上記実行可能スケジュールの一例の残りを示す図。
【図１５】同実施形態において動的ロットサイズスケジューリングの中間結果として取得される制約違反箇所を含む非実行可能スケジュールの一例の一部を示す図。
【図１６】上記非実行可能スケジュールの一例の残りを示す図。
【符号の説明】
【００６６】
１６…ＣＰＵ、２２…動的ロットサイズスケジューリングプログラム、２３…スケジュール生成用データ、３０…品目−属性関係データ、３１…機械−品目・属性関係データ、３２…生産所要量データ、３３…生産・段取データ、３４…在庫管理データ、３５…条件データ、３６…出荷要求量データ、４０…再帰方程式、４１，４２…状態推移表。
【図１】
0004734604.tif 000003
【図２】
0004734604.tif 000004
【図３】
0004734604.tif 000005
【図４】
0004734604.tif 000006
【図５】
0004734604.tif 000007
【図６】
0004734604.tif 000008
【図７】
0004734604.tif 000009
【図８】
0004734604.tif 000010
【図９】
0004734604.tif 000011
【図１０】
0004734604.tif 000012
【図１１】
0004734604.tif 000013
【図１２】
0004734604.tif 000014
【図１３】
0004734604.tif 000015
【図１４】
0004734604.tif 000016
【図１５】
0004734604.tif 000017
【図１６】
0004734604.tif 000018