(57)【特許請求の範囲】
【請求項１】
メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールを、中間結果記憶エリア、最終結果記憶エリア及び生産スケジュール記憶エリアが確保された記憶手段と、ＣＰＵと、出力手段とを有するコンピュータにより生成するヴァーチャルファブ向け生産スケジュール生成方法であって、
前記ＣＰＵが、各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示すための決定変数の初期値を、前記中間結果記憶エリアに設定する第１の初期設定ステップと、
前記ＣＰＵが、品目間機械干渉に対応する、機械別の、各タイムスロットにおける第１のペナルティコストの初期値、及び仕掛品在庫の充足に対応する、品目別の、前記各タイムスロットにおける第２のペナルティコストの初期値を前記中間結果記憶エリアに設定する第２の初期設定ステップと、
前記ＣＰＵが、前記各工程で処理される各品目について、前記中間結果記憶エリアに格納されている前記第１のペナルティコスト及び前記第２のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ各タイムスロット毎に、前記決定変数を解として取得する解法ステップと、
前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を、前記解法ステップで取得された解に前記ＣＰＵが更新する第１の更新ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、当該各品目間の同一機械における機械干渉の程度の大小を前記ＣＰＵが判定する機械干渉判定ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、仕掛品在庫の充足の有無を前記ＣＰＵが判定する仕掛品在庫充足判定ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように、前記中間結果記憶エリアに格納されている前記第１のペナルティコストを前記ＣＰＵが更新し、前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように、前記中間結果記憶エリアに格納されている前記第２のペナルティコストを前記ＣＰＵが更新し、その都度前記解法ステップを再実行させる第２の更新ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が小さいと判定され、且つ前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していると判定された場合、その際に前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を前記ＣＰＵが前記最終結果記憶エリアに格納するステップと、
前記最終結果記憶エリアに格納された品目別機械別の各タイムスロット毎の前記決定変数に基づいて前記ＣＰＵが生産スケジュールを生成し、当該生成された生産スケジュールを前記生産スケジュール記憶エリアに格納するステップと、
前記生産スケジュール記憶エリアに格納された前記生産スケジュールを前記ＣＰＵが前記出力手段により出力させるステップと
を具備することを特徴とするヴァーチャルファブ向け生産スケジュール生成方法。
【請求項２】
前記第２の初期設定ステップでは、前記ＣＰＵが、前記第１及び第２のペナルティコストに加えて、前記各工程で処理される各品目のうち、処理が完了しないと後続の品目の処理に取り掛かれないない第１の品目について、そのことを表す同時処理禁止制約の充足に対応する、第１の品目別、当該第１の品目の処理に利用可能な機械別、且つ当該第１の品目の後続の品目である第２の品目の処理に利用可能な機械別の、各タイムスロットにおける第３のペナルティコストの初期値を前記中間結果記憶エリアに設定し、
前記解法ステップでは、前記ＣＰＵが、前記第１及び第２のペナルティコストに加えて、前記第３のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を他の品目とは独立に解き、
前記ヴァーチャルファブ向け生産スケジュール生成方法は、前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、同時処理禁止制約の充足の有無を前記ＣＰＵが判定する同時処理禁止制約充足判定ステップを更に具備し、
前記第２の更新ステップでは、前記同時処理禁止制約充足判定ステップで前記同時処理禁止制約を充足していないと判定された場合には、当該同時処理禁止制約を充足させるように、前記中間結果記憶エリアに格納されている前記第３のペナルティコストを前記ＣＰＵが更新し、その都度前記解法ステップを再実行させる
ことを特徴とする請求項１記載のヴァーチャルファブ向け生産スケジュール生成方法。
【請求項３】
メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールを、中間結果記憶エリア、最終結果記憶エリア及び生産スケジュール記憶エリアが確保された記憶手段と、ＣＰＵと、出力手段とを有するコンピュータにより生成するヴァーチャルファブ向け生産スケジュール生成方法であって、
前記ＣＰＵが、各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示すための決定変数の初期値を、前記中間結果記憶エリアに設定する第１の初期設定ステップと、
前記ＣＰＵが、品目間機械干渉に対応する、機械別の、各タイムスロットにおける第１のラグランジュ乗数の初期値、及び仕掛品在庫の充足に対応する、品目別の、前記各タイムスロットにおける第２のラグランジュ乗数の初期値を前記中間結果記憶エリアに設定する第２の初期設定ステップと、
前記ＣＰＵが、前記各工程で処理される各品目について、品目間の機械干渉に関する制約が前記中間結果記憶エリアに格納されている第１のラグランジュ乗数による重み付けにより緩和されると共に仕掛品在庫の充足に関する制約が前記中間結果記憶エリアに格納されている第２のラグランジュ乗数による重み付けにより緩和された１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ各タイムスロット毎に、前記決定変数を解として取得する解法ステップと、
前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を、前記解法ステップで取得された解に前記ＣＰＵが更新する第１の更新ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、当該各品目間の同一機械における機械干渉の程度の大小を前記ＣＰＵが判定する機械干渉判定ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、仕掛品在庫の充足の有無を前記ＣＰＵが判定する仕掛品在庫充足判定ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように、前記中間結果記憶エリアに格納されている前記第１のラグランジュ乗数を前記ＣＰＵが更新し、前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように、前記中間結果記憶エリアに格納されている前記第２のラグランジュ乗数を前記ＣＰＵが更新し、その都度前記解法ステップを再実行させる第２の更新ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が小さいと判定され、且つ前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していると判定された場合、その際に前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を前記ＣＰＵが前記最終結果記憶エリアに格納するステップと、
前記最終結果記憶エリアに格納された品目別機械別の各タイムスロット毎の前記決定変数に基づいて前記ＣＰＵが生産スケジュールを生成し、当該生成された生産スケジュールを前記生産スケジュール記憶エリアに格納するステップと、
前記生産スケジュール記憶エリアに格納された前記生産スケジュールを前記ＣＰＵが前記出力手段により出力させるステップと
を具備することを特徴とするヴァーチャルファブ向け生産スケジュール生成方法。
【請求項４】
前記品目間の機械干渉に関する制約が、任意のタイムスロットにおける品目別及び機械別の決定変数のうち、同一機械について高々１品目の決定変数のみが生産のために使用されていることを示すことができるという相互関係制約であることを特徴とする請求項３記載のヴァーチャルファブ向け生産スケジュール生成方法。
【請求項５】
前記解法ステップでは、前記ＣＰＵが、前記１次元の部分最適化問題を、前記中間結果記憶エリアに格納されている、任意のタイムスロットｔにおける品目ｉ及び機械ｋの前記決定変数をδitk、前記第１のラグランジュ乗数をμtk、前記第２のラグランジュ乗数をμit、当該両ラグランジュ乗数を含むラグランジュ乗数を要素に持つベクトルをμとすると共に、当該タイムスロットｔの終了時の、当該品目ｉの次工程へ実際に渡される累積出荷量に代えて、前記コンピュータが有する入力手段によって入力されて前記記憶手段に確保された生産データ記憶エリアに格納されている、品目毎の各タイムスロットにおける顧客からの出荷要求量データの示す出荷要求量のうち、当該品目ｉの当該タイムスロットtまでの各タイムスロットにおける顧客からの出荷要求量を当該タイムスロットｔにおける品目ｉに展開した累積量を用いて算出される見かけの在庫の状態、及び品目ｉへのセットアップに必要な段取時間の残り時間を、それぞれ状態変数ｘit,ｓitとして、当該タイムスロットtまでの各タイムスロットにおいて採られた最適決定に伴って発生するコストの和を表す最適コスト関数Ｖt(δit,ｘit,ｓit,μ)により解くことを特徴とする請求項４記載のヴァーチャルファブ向け生産スケジュール生成方法。
【請求項６】
前記最適コスト関数で算出されるコストは、前記第１のラグランジュ乗数μtkに基づいて算出される機械の使用料に相当する第１のペナルティコストと、前記第２のラグランジュ乗数μitに基づいて算出される機械の使用料に相当する第２のペナルティコストと、前記品目ｉの処理によって新たに付加される価値に対するタイムスロット当たりのエシェロン在庫保管費ｈiと前記状態変数ｘitとで決まるコストとを含むことを特徴とする請求項５記載のヴァーチャルファブ向け生産スケジュール生成方法。
【請求項７】
前記第２の初期設定ステップでは、前記ＣＰＵが、前記第１及び第２のラグランジュ乗数に加えて、前記各工程で処理される各品目のうち、処理が完了しないと後続の品目の処理に取り掛かれないない第１の品目について、そのことを表す同時処理禁止制約の充足に対応する、第１の品目別、当該第１の品目の処理に利用可能な機械別、且つ当該第１の品目の後続の品目である第２の品目の処理に利用可能な機械別の、各タイムスロットにおける第３のラグランジュ乗数の初期値を前記中間結果記憶エリアに設定し、
前記解法ステップでは、前記ＣＰＵが、前記第１及び第２のラグランジュ乗数による重み付けによる緩和に加えて、前記第３のラグランジュ乗数による重み付けにより緩和された１次元の部分最適化問題を他の品目とは独立に解き、
前記ヴァーチャルファブ向け生産スケジュール生成方法は、前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、同時処理禁止制約の充足の有無を前記ＣＰＵが判定する同時処理禁止制約充足判定ステップを更に具備し、
前記第２の更新ステップでは、前記同時処理禁止制約充足判定ステップで前記同時処理禁止制約を充足していないと判定された場合には、当該同時処理禁止制約を充足させるように、前記中間結果記憶エリアに格納されている前記第３のラグランジュ乗数を前記ＣＰＵが更新し、その都度前記解法ステップを再実行させる
ことを特徴とする請求項３記載のヴァーチャルファブ向け生産スケジュール生成方法。
【請求項８】
メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールを、中間結果記憶エリア、最終結果記憶エリア及び生産スケジュール記憶エリアが確保された記憶手段と、ＣＰＵと、出力手段とを有するコンピュータにより生成するためのプログラムであって、
前記コンピュータに、
前記ＣＰＵが、各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示すための決定変数の初期値を、前記中間結果記憶エリアに設定する第１の初期設定ステップと、
前記ＣＰＵが、品目間機械干渉に対応する、機械別の、各タイムスロットにおける第１のペナルティコストの初期値、及び仕掛品在庫の充足に対応する、品目別の、前記各タイムスロットにおける第２のペナルティコストの初期値を前記中間結果記憶エリアに設定する第２の初期設定ステップと、
前記ＣＰＵが、前記各工程で処理される各品目について、前記中間結果記憶エリアに格納されている前記第１のペナルティコスト及び前記第２のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ各タイムスロット毎に、前記決定変数を解として取得する解法ステップと、
前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を、前記解法ステップで取得された解に前記ＣＰＵが更新する第１の更新ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、当該各品目間の同一機械における機械干渉の程度の大小を前記ＣＰＵが判定する機械干渉判定ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、仕掛品在庫の充足の有無を前記ＣＰＵが判定する仕掛品在庫充足判定ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように、前記中間結果記憶エリアに格納されている前記第１のペナルティコストを前記ＣＰＵが更新し、前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように、前記中間結果記憶エリアに格納されている前記第２のペナルティコストを前記ＣＰＵが更新し、その都度前記解法ステップを再実行させる第２の更新ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が小さいと判定され、且つ前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していると判定された場合、その際に前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を前記ＣＰＵが前記最終結果記憶エリアに格納するステップと、
前記最終結果記憶エリアに格納された品目別機械別の各タイムスロット毎の前記決定変数に基づいて前記ＣＰＵが生産スケジュールを生成し、当該生成された生産スケジュールを前記生産スケジュール記憶エリアに格納するステップと、
前記生産スケジュール記憶エリアに格納された前記生産スケジュールを前記ＣＰＵが前記出力手段により出力させるステップと
を実行させるためのプログラム。
【請求項９】
メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールを、中間結果記憶エリア、最終結果記憶エリア及び生産スケジュール記憶エリアが確保された記憶手段と、ＣＰＵと、出力手段とを有するコンピュータにより生成するためのプログラムであって、
前記コンピュータに、
前記ＣＰＵが、各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示すための決定変数の初期値を、前記中間結果記憶エリアに設定する第１の初期設定ステップと、
前記ＣＰＵが、品目間機械干渉に対応する、機械別の、各タイムスロットにおける第１のラグランジュ乗数の初期値、及び仕掛品在庫の充足に対応する、品目別の、前記各タイムスロットにおける第２のラグランジュ乗数の初期値を前記中間結果記憶エリアに設定する第２の初期設定ステップと、
前記ＣＰＵが、前記各工程で処理される各品目について、品目間の機械干渉に関する制約が前記中間結果記憶エリアに格納されている第１のラグランジュ乗数による重み付けにより緩和されると共に仕掛品在庫の充足に関する制約が前記中間結果記憶エリアに格納されている第２のラグランジュ乗数による重み付けにより緩和された１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ各タイムスロット毎に、前記決定変数を解として取得する解法ステップと、
前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を、前記解法ステップで取得された解に前記ＣＰＵが更新する第１の更新ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、当該各品目間の同一機械における機械干渉の程度の大小を前記ＣＰＵが判定する機械干渉判定ステップと、
前記第１の更新ステップで更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、仕掛品在庫の充足の有無を前記ＣＰＵが判定する仕掛品在庫充足判定ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように、前記中間結果記憶エリアに格納されている前記第１のラグランジュ乗数を前記ＣＰＵが更新し、前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように、前記中間結果記憶エリアに格納されている前記第２のラグランジュ乗数を前記ＣＰＵが更新し、その都度前記解法ステップを再実行させる第２の更新ステップと、
前記機械干渉判定ステップで前記各品目間の機械干渉の程度が小さいと判定され、且つ前記仕掛品在庫充足判定ステップで前記仕掛品在庫が充足していると判定された場合、その際に前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を前記ＣＰＵが前記最終結果記憶エリアに格納するステップと、
前記最終結果記憶エリアに格納された品目別機械別の各タイムスロット毎の前記決定変数に基づいて前記ＣＰＵが生産スケジュールを生成し、当該生成された生産スケジュールを前記生産スケジュール記憶エリアに格納するステップと、
前記生産スケジュール記憶エリアに格納された前記生産スケジュールを前記ＣＰＵが前記出力手段により出力させるステップと
を実行させるためのプログラム。
【請求項１０】
メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールを生成するヴァーチャルファブ向け生産スケジュール生成装置であって、
中間結果記憶エリア、最終結果記憶エリア及び生産スケジュール記憶エリアが確保された記憶手段と、
各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示すための決定変数の初期値を、前記中間結果記憶エリアに設定すると共に、品目間機械干渉に対応する、機械別の、各タイムスロットにおける第１のペナルティコストの初期値、及び仕掛品在庫の充足に対応する、品目別の、前記各タイムスロットにおける第２のペナルティコストの初期値を前記中間結果記憶エリアに設定する初期設定手段と、
前記各工程で処理される各品目について、前記中間結果記憶エリアに格納されている前記第１のペナルティコスト及び前記第２のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ各タイムスロット毎に、前記決定変数を解として取得し、前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を、当該取得された解に更新する品目別最適化手段と、
前記品目別最適化手段により更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、当該各品目間の同一機械における機械干渉の程度の大小を判定する機械干渉判定手段と、
前記品目別最適化手段により更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、仕掛品在庫の充足の有無を判定する仕掛品在庫充足判定手段と、
前記機械干渉判定手段により前記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように、前記中間結果記憶エリアに格納されている前記第１のペナルティコストを更新して前記品目別最適化手段を制御する機械干渉制御手段と、
前記仕掛品在庫充足判定手段により前記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように、前記中間結果記憶エリアに格納されている前記第２のペナルティコストを更新して前記品目別最適化手段を制御する仕掛品在庫制御部手段と、
前記機械干渉判定手段により前記各品目間の機械干渉の程度が小さいと判定され、且つ前記仕掛品在庫充足判定手段により前記仕掛品在庫が充足していると判定された場合、その際に前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の決定変数を前記最終結果記憶エリアに格納する最終結果取得手段と、
前記最終結果取得手段によって前記最終結果記憶エリアに格納された品目別機械別の各タイムスロット毎の前記決定変数に基づいて最適生産スケジュールを生成し、当該生成された生産スケジュールを前記生産スケジュール記憶エリアに格納する最適生産スケジュール生成手段と、
前記生産スケジュール記憶エリアに格納された前記生産スケジュールを出力する出力手段と
を具備することを特徴とするヴァーチャルファブ向け生産スケジュール生成装置。
【請求項１１】
メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールを生成するヴァーチャルファブ向け生産スケジュール生成装置であって、
中間結果記憶エリア、最終結果記憶エリア及び生産スケジュール記憶エリアが確保された記憶手段と、
各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示すための決定変数の初期値を、前記中間結果記憶エリアに設定すると共に、品目間機械干渉に対応する、機械別の、各タイムスロットにおける第１のラグランジュ乗数の初期値、及び仕掛品在庫の充足に対応する、品目別の、前記各タイムスロットにおける第２のラグランジュ乗数の初期値を前記中間結果記憶エリアに設定する初期設定手段と、
前記各工程で処理される各品目について、品目間の機械干渉に関する制約が前記中間結果記憶エリアに格納されている第１のラグランジュ乗数による重み付けにより緩和されると共に仕掛品在庫の充足に関する制約が前記中間結果記憶エリアに格納されている第２のラグランジュ乗数による重み付けにより緩和された１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ各タイムスロット毎に、前記決定変数を解として取得し、前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の前記決定変数を、当該取得された解に更新する品目別最適化手段と、
前記品目別最適化手段により更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、当該各品目間の同一機械における機械干渉の程度の大小を判定する機械干渉判定手段と、
前記品目別最適化手段により更新された前記中間結果記憶エリア上の品目別機械別の各タイムスロット毎の前記決定変数に基づき、仕掛品在庫の充足の有無を判定する仕掛品在庫充足判定手段と、
前記機械干渉判定手段により前記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように、前記中間結果記憶エリアに格納されている前記第１のラグランジュ乗数を更新して前記品目別最適化手段を制御する機械干渉制御手段と、
前記仕掛品在庫充足判定手段により前記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように、前記中間結果記憶エリアに格納されている前記第２のラグランジュ乗数を更新して前記品目別最適化手段を制御する仕掛品在庫制御部手段と、
前記機械干渉判定手段により前記各品目間の機械干渉の程度が小さいと判定され、且つ前記仕掛品在庫充足判定手段により前記仕掛品在庫が充足していると判定された場合、その際に前記中間結果記憶エリアに格納されている品目別機械別の各タイムスロット毎の決定変数を前記最終結果記憶エリアに格納する最終結果取得手段と、
前記最終結果取得手段によって前記最終結果記憶エリアに格納された品目別機械別の各タイムスロット毎の前記決定変数に基づいて最適生産スケジュールを生成し、当該生成された生産スケジュールを前記生産スケジュール記憶エリアに格納する最適生産スケジュール生成手段と、
前記生産スケジュール記憶エリアに格納された前記生産スケジュールを出力する出力手段と
を具備することを特徴とするヴァーチャルファブ向け生産スケジュール生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理する多品目多工程生産システムを構成するヴァーチャルファブに係り、特に機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とを図ることが可能な最適生産スケジュールを生成するのに好適なヴァーチャルファブ向け生産スケジュール生成方法に関する。
【０００２】
【従来の技術】
最近、メンバー（メンバー企業）がコア技術とその余剰能力とを持ち寄って高度な生産システムからなるヴァーチャルファブ（以下、ＶＦと称する）を構成することが考えられている。このＶＦでは、共同して、多様な顧客からの注文に、高い品質、合理的な価格、短納期で応えられるようにして、メンバー全体から成る製造業の振興を図ることが期待されている。このようなＶＦでは、各メンバー企業がそれぞれ所有する機械を用い、図８に示すような多工程、多機械から成る多品目多工程生産システムが構築される。多品目多工程生産システムでは、多様な注文を複数の品目に分類して切り換え生産をすることになる。
【０００３】
【発明が解決しようとする課題】
ところが、ＶＦを実現しようとすると、オペレーションの調整が単に機械間・工程間のみならず企業間にも及ぶことから、オペレーションの調整の規模が膨大になると共に、企業間の利害を調整する局面を新たに加えることが必要になる。したがってＶＦの実現には、これらの機械間・工程間・企業間に亙るオペレーションの調整と企業間に亙る利害の調整とを可能にする機構が必要となる。
【０００４】
製造に関する問題をオペレーションのレベルで取り扱おうとすれば、それぞれの処理と仕掛品の状態の時間的推移とを数式モデルの中で陽に取り扱わなくてはならず、問題はオペレーションの数と同じ次元を持つ時間最適化問題になる。したがって、上記の課題解決には、既存モデルの分解能とは比較にならない高い分解能と全く新しい解法の原理とを必要とする。
【０００５】
しかしながら従来は、ＶＦにおいて、それぞれの処理と仕掛品の状態の時間的推移とを数式モデルの中で陽に取り扱って、機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とを可能とする合理的な機構は知られていなかった。
【０００６】
本発明は上記事情を考慮してなされたものでその目的は、機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とを図った最適な生産スケジュールを生成できるヴァーチャルファブ向け生産スケジュール生成方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の１つの観点によれば、メンバーが所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理するヴァーチャルファブの多品目多工程生産システムに適用される生産スケジュールをコンピュータにより生成するヴァーチャルファブ向け生産スケジュール生成方法が提供される。この方法は、各工程で処理される各品目について、品目間機械干渉に対応する第１のペナルティコスト及び仕掛品在庫の充足に対応する第２のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を他の品目とは独立に解き、各品目及び各機械別に、且つ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示す決定変数を解として取得する解法ステップと、この解法ステップで求められた品目別機械別の各タイムスロット毎の解に対する当該各品目間の同一機械における機械干渉の程度の大小を判定する機械干渉判定ステップと、上記解法ステップで求められた品目別機械別の各タイムスロット毎の解に対する仕掛品在庫の充足の有無を判定する仕掛品在庫充足判定ステップと、上記各品目間の機械干渉の程度が大きいと判定された場合には、当該機械干渉の程度を小さくするように上記第１のペナルティコストを更新し、上記仕掛品在庫が充足していないと判定された場合には、当該仕掛品在庫を充足させるように第２のペナルティコストを更新し、その都度上記解法ステップを再実行させる更新ステップと、上記各品目間の機械干渉の程度が小さいと判定され、且つ上記仕掛品在庫が充足していると判定された場合、その際に上記解法ステップで求められている品目別機械別の各タイムスロット毎の解に基づいて生産スケジュールを生成するステップとを備えたことを特徴とする。
【０００８】
本発明においては、機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とが要求される、ＶＦにおける多品目多工程のスケジューリングの問題、つまり企業間に亙る制約条件を含む各種制約のもとで各企業の利益を最大にする問題の最適解を求めることは、ＶＦ全体の利益を最大化する問題（全体最適化問題）の最適値を求めることと同値であることに着目している。また、ＶＦ全体の利益を最大化する問題、つまり全品目数分の次元の最適化問題は、品目別の１次元の部分最適化問題に置き換えられることに着目し、問題把握の視点を、企業別機械別品目別把握から品目別機械別把握へ切り換え、各企業の利益を最大にする問題を解く代わりに、ＶＦの多品目多工程生産システムにおける各工程で処理される各品目について、品目間機械干渉に対応する第１のペナルティコスト及び仕掛品在庫の充足に対応する第２のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を解くようにしている。この１次元の部分最適化問題には、品目別スケジュール（品目別解)の間の機械干渉を解消する問題と、仕掛品在庫を充足する問題とが含まれている。
【０００９】
そこで、１次元の部分最適化問題を解く動作と、ここで求められた品目別機械別の各タイムスロット毎の解から、各品目間の機械干渉の程度が大きいと判定された場合には当該機械干渉の程度を小さくするように第１のペナルティコストを更新する動作、或いは仕掛品在庫が充足していないと判定された場合には当該仕掛品在庫を充足させるように第２のペナルティコストを更新する動作とを交互に繰り返すことで、機械干渉が解消されたと判定され、且つ仕掛品在庫を充足していると判定される解を得ることができる。この解は、各品目及び各機械別に、且つ各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示す決定変数である。
【００１０】
したがって、機械干渉が解消されたと判定され、且つ仕掛品在庫を充足していると判定された際の解である、品目別、機械別、タイムスロット別の決定変数から、機械干渉制約及び仕掛品在庫充足制約（仕掛品目の品切れ禁止制約）の各条件（相互関係制約条件）を全て満たした、品目別及び機械別にロットサイズとそれらのロットの時間的位置を表す生産スケジュールを生成することが可能となる。明らかなように、このスケジュールは、多品目多工程のスケジューリングの問題に含まれる多様な決定の諸局面をすべて同時に解決したものとなっている。また、このスケジュールを、各メンバー（メンバー企業）の所有する機械に着目すると、当該機械が品目の生産（オペレーション）に使われていることが、対応する決定変数で示されている場合には、そのメンバーは、その品目のオペレーションを落札したことになる。つまり生成された生産スケジュールでは、機械間・工程間・企業間のオペレーションの調整が図られている。上記の部分最適化問題を解くことは、各企業の利益を最大にする問題を解くことと同値であり、しかも部分最適化問題の最適解は品目別機械別に調整されていることから、上述の制約のもとで機械間・工程間・企業間のオペレーションの調整を図りながら、企業間の利害の調整が図られることになる。
【００１１】
ここで、相互関係制約として、上記機械干渉制約及び仕掛品在庫充足制約に加えて、各工程で処理される各品目（ｉ）のうち、当該品目（ｉ）の処理が完了しないと後続の品目（ｊ）の処理に取り掛かれない品目（ｉ）について、そのことを表す同時処理禁止制約を導入して、上記品目別の１次元の部分最適化問題を、上記第１及び第２のペナルティコストに加えて、当該同時処理禁止制約の充足に対応する第３のペナルティコストを含む総コストを最適化する部分最適化問題とするとよい。この場合、部分最適化問題を解く動作が行われる都度、求められた品目別機械別の各タイムスロット毎の解に対する同時処理禁止制約の充足の有無を判定し、同時処理禁止制約を充足していないと判定された場合には、当該同時処理禁止制約を充足させるように第３のペナルティコストを更新する動作を、同時処理禁止制約を充足するまで繰り返す。これにより、機械干渉制約及び仕掛品在庫充足制約だけでなく、同時処理禁止制約をも含む各条件を全て満たした、品目別及び機械別にロットサイズとそれらのロットの時間的位置を表す生産スケジュールを生成することが可能となる。
【００１２】
ここで、上記第１及び第２のペナルティコスト（更には第３のペナルティコスト）に第１及び第２のラグランジュ乗数（更には第３のラグランジュ乗数）を適用し、上記品目別の１次元の部分最適化問題を、例えば各工程で処理される各品目について、品目間の機械干渉に関する制約が第１のラグランジュ乗数による重み付けにより緩和され、且つ仕掛品在庫の充足に関する制約が第２のラグランジュ乗数による重み付けにより緩和され（ると共に、同時処理禁止制約が第３のラグランジュ乗数による重み付けにより緩和され）た１次元の部分最適化問題とするならば、品目別解の間の機械干渉を解消する問題及び仕掛品在庫を充足する問題（更には同時処理禁止制約を充足する問題）を、それぞれ機械の使用料に相当する固有の第１及び第２のラグランジュ乗数（更には第３のラグランジュ乗数）を個々に更新することで簡単に解決できるようになる。
【００１３】
また、１次元の部分最適化問題を扱うことで、各品目及び各機械別に、且つ各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示す決定変数、在庫状態（在庫の推移）、及び段取時間の残り時間を陽に取り扱うことができる。このため、この１次元の部分最適化問題を次に述べる最適コスト関数Ｖt(δit,ｘit,ｓit,μ)により解くこと、即ち任意のタイムスロットｔにおける品目ｉ及び機械ｋの決定変数をδitk、第１のラグランジュ乗数をμtk、第２のラグランジュ乗数をμit（更には第３のラグランジュ乗数をμijtkl）、これらのラグランジュ乗数を要素に持つベクトルをμとすると共に、当該タイムスロットｔの終了時の、当該品目ｉの次工程へ実際に渡される累積出荷量に代えて当該品目ｉの当該タイムスロットtまでの各タイムスロットにおける顧客からの出荷要求量を当該タイムスロットｔにおける品目ｉに展開した累積量を用いて算出される見かけの在庫の状態、及び品目ｉへのセットアップに必要な段取時間の残り時間を、それぞれ状態変数ｘit,ｓitとして、当該タイムスロットtまでの各タイムスロットにおいて採られた最適決定に伴って発生するコストの和を表す最適コスト関数Ｖt(δit,ｘit,ｓit,μ)により解くくことが可能となる。
【００１４】
ここで、上記最適コスト関数で算出されるコストが、第１のラグランジュ乗数μtkに基づいて算出される機械の使用料に相当する第１のペナルティコストと、第２のラグランジュ乗数μitに基づいて算出される機械の使用料に相当する第２のペナルティコストと（更には第３のラグランジュ乗数μijtklに基づいて算出される機械の使用料に相当する第３のペナルティコストと）、品目ｉの処理によって新たに付加される価値に対するタイムスロット当たりのエシェロン在庫保管費ｈiと状態変数ｘitとで決まるコストとを含むようにするとよい。
【００１５】
なお、以上のヴァーチャルファブ向け生産スケジュール生成方法に係る本発明は、装置（ヴァーチャルファブ向け生産スケジュール生成装置）に係る発明としても成立する。
【００１６】
また、本発明は、コンピュータに当該発明に相当する手順を実行させるための（或いはコンピュータを当該発明に相当する各手段として機能させるための、或いはコンピュータに当該発明に相当する機能を実現させるための）プログラムに係る発明としても成立する。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
図１は本発明の一実施形態に係るＶＦ（ヴァーチャルファブ）向け生産スケジュール生成装置の機能ブロック構成を示す。
【００１８】
この図１の生産スケジュール生成装置は、メンバー企業が所有する複数の機械により複数の工程で当該各工程に対応した品目をそれぞれ処理する多品目多工程生産システムを構成するＶＦに要求される生産スケジュール、即ち機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とを図ることが可能な最適生産スケジュールを生成（決定）するものである。
【００１９】
この生産スケジュール生成装置は、図２に示すブロック構成のパーソナルコンピュータ等の計算機によって実現される。図２の計算機は、当該計算機全体を制御するＣＰＵ２１、当該ＣＰＵ２１が実行する最適化スケジューリングプログラム２４１を含む各種プログラム及びデータ等が記憶される主メモリ２２とを備えている。
【００２０】
図２の計算機はまた、外部記憶装置としての例えば磁気ディスク装置（以下、ＨＤＤと称する）２３と、記録媒体としての例えばＣＤ−ＲＯＭ２４２に予め格納されている情報を計算機内に読み込むことが可能なＣＤ−ＲＯＭ装置２４とを有している。図２の例では、ＣＤ−ＲＯＭ２４２には、複数の工程（多工程）、多機械（多設備）で複数の品目を生産する多品目多工程生産システムにおける生産スケジュールを生成するための最適化スケジューリングプログラム２４１が予め格納されている。この最適化スケジューリングプログラム２４１は、ＣＤ−ＲＯＭ装置２４によりＣＤ−ＲＯＭ２４２から計算機内に読み込まれて、ＨＤＤ２３に格納（インストール）されているものとする。ＣＰＵ２１がＨＤＤ２３から最適化スケジューリングプログラム２４１を主メモリ２２上に読み込んで当該プログラム２４１を実行することにより、図１の生産スケジュール生成装置の機能ブロック構成が実現される。
【００２１】
図２の計算機は更に、入力装置としてのキーボード２５と、表示用の出力装置としてのディスプレイ２６とを有している。ＣＰＵ２１、主メモリ２２、ＨＤＤ２３、ＣＤ−ＲＯＭ装置２４、キーボード２５及びディスプレイ２６は、システムバス２７により相互接続されている。
【００２２】
《最適化スケジューリングの基本原理》
次に、図１の生産スケジュール生成装置の構成を説明する前に、本実施形態で適用する、機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とを図ることが可能な最適化スケジューリングの基本原理について説明する。
【００２３】
〈オークションの原理を導入〉
本実施形態では、機械間・工程間・企業間に亙るオペレーションの調整と企業間に亙る利害の調整のすべてを市場原理に基づいてリアルタイムで行うための合理的なアルゴリズムを適用する。ここでは、一旦受注した注文に対してはＶＦが責任をもって納期までに処理するものとし、更にメンバーは自身の利益の最大化を図るものとする。そして、ＶＦ全体と企業或いは企業間の相反する利害を調整する機構に、市場原理に基づくオークションのメカニズムを導入する。
【００２４】
但し、本実施形態で適用されるオークションは通常のオークションとは異なり、メンバー企業により競り落される対象は、それぞれの注文を構成するオペレーションである。更に、競り落されたすべてのオペレーションはＶＦによって実行可能性が保証されていることが前提になる。換言すれば、納期までに注文のすべてが処理を終えているように、すべてのオペレーションが競り落されなくてはならない。したがって、本オークションにおいては、処理の過程で発生する仕掛品の品切れを防いだり、機械干渉を解消させる等の制約条件を充足させるための機構を内包させることが不可欠である。そのためには企業間或いは機械間・品目間にわたって様々な調整を必要とする。これらの調整の合理性を保証するために、制約からの摂動或いは偏差に対して、その量に応じてペナルティコスト或いは報奨金をかけることにする。本実施形態では、この機構をオークションと称することにする。
【００２５】
本実施形態で適用されるオークションのメカニズムは数理的には後述するようにラグランジュ乗数法によって記述できる。したがって、オペレーションと利害に関するすべてを調整する役割をラグランジュ乗数法が担う。
【００２６】
更に、実際の大規模問題の計算には問題の次元を下げることが不可欠であり、これはラグランジュ分解調整法に委ねる。
【００２７】
《問題の記述と提案するモデルの説明》
〈問題の記述〉
ＶＦでは、どのメンバー企業も、各品目を処理して得られる金額から処理の原価を引いて得られる利益の全品目・全機械に亙る総額を最大にしたい。
【００２８】
このとき、機械間、工程間、企業間に亙って幾つかの制約がある。第１に、注文を充足するために必要な各々の品目の所要量を、１つ或いは複数の企業が必ず引き受けなくてはならない。どの企業も儲けにつながらないオペレーションはしたくないし、その逆の傾向も起きるから、これを調整する必要がある。第２に、どの機械に関しても品目間の機械干渉を解消しなくてはならない。第３に、仕掛品在庫の品切れ禁止制約がある。第４に、同時処理禁止制約がある。これはジョブショップタイプの処理においてしばしば起こる制約で、前工程の処理が完了してからでないと次の処理にかかれないことを指す。
【００２９】
これらのすべてを満たさなくてはならないという条件のもとで、上記の企業別総利益を最大にするように、すべての企業のすべての工程のすべての機械のオペレーションに亙るスケジュールを自動的に決定する。これが本実施形態で解決しようとする問題である。
【００３０】
〈問題の品目別への分解〉
多品目多工程生産システムにおける最適スケジューリングの高次元最適化問題には、文献「村松健児:“拡張ラグランジュ分解調整法による同時最適スケジューリング”，オペレーションズ・リサーチ vol. 45, no. 6, pp.270-275. (2000)」に記載されている多品目単一機械ロットサイズスケジューリング問題と同様に、分離可能性が成り立ち、更に制約式が存在する。そこで、問題を品目別に分解する。この分解が可能であれば、対象とする生産システムの構造は特に多工程であるために極めて複雑であるにも拘わらず、問題の解法は品目別の部分最適化問題の解法と部分問題間の相互関係制約を充足するための調整とに帰着する。
【００３１】
但し、このままでは部分最適化問題を他と独立に解くことができない。それは次の理由による。多工程のスケジューリング問題においては仕掛かり品目が関係する。実際の仕掛品については、処理が前工程において成されれば在庫が増え、後工程において成されれば減るから、１つの品目に２つの系列の処理が関係する。言い換えると、１つの系列の処理によって増減する品目が処理の前後に少なくとも２つあるということである。したがって、一方の部分問題の最適化を図ると、他方の部分問題の最適化が崩れることになる。このように、１つの品目に２つの処理の系列が関係することが、後述するラグランジュ分解調整法における分解と調整にとって最大の障害になる。
【００３２】
上記した１つの品目に２つの処理の系列が関係することに起因する問題の所在を明確にするために、「処理の独立性」という概念を導入し、次のように定義する。
問題を部分最適化問題に分解したとき、同一の処理或いは処理の系列が複数の部分最適化問題に亙って現れないことを、「処理の独立性」と呼ぶことにする。
【００３３】
この処理の独立性を確保するためには、問題の本質を変えないで、１つの品目からいずれか一方の処理の系列を消去する必要がある。そのための手段が次に述べる「見かけの在庫」という概念である。
【００３４】
〈見かけの在庫〉
一般に仕掛品在庫とは、工程間に発生する実際の在庫であって、初期在庫と累積生産量の和から次工程への実際の累積出荷量或いは累積処理量を引いたものと定義できる。ところが本実施形態では、ある品目の次工程へ実際に渡される累積出荷量の代わりに、後述する式（１）に示されるように、ＶＦ外（顧客）からの各タイムスロット（計画対象期間を等分した時間間隔）における出荷要求（外部需要）をその品目に展開してこれの累積量を用いて上記仕掛品在庫に相当する量を計算する。したがって、これは実際の仕掛品在庫ではなく、架空の在庫或いは見かけ上の在庫である。以後、これを「見かけの在庫」と呼ぶ。
【００３５】
このように、仕掛品在庫の代わりに見かけの在庫という概念を新たに導入することにより、１つの品目に１つの系列の処理を対応させることが可能になる。ところが、見かけの在庫に基づいて処理を計画した結果、実際の仕掛品在庫が品切れを起こす危険がある。そこで、この危険を回避する手段が必要となる。そのために本実施形態では、以下に定義する「処理の整合性」という概念を導入する。
【００３６】
仕掛品の実際の在庫は、仕掛品及びその後続直結点の品目の処理によって増減する。処理の独立性のもとに、見かけの在庫に基づいてなされるこれらの処理が、実際の仕掛品在庫の品切れを起こさないという意味で、実行可能であるとき、「処理の整合性」が成立していると呼ぶことにする。このことは逆に、「処理の整合性」が成立している限りは処理の独立性が認められるが、「処理の整合性」が成立しなくなったなら処理の独立性が認められなくなるため、実際の仕掛品在庫が品切れとならないように（つまり充足するように）調整が必要となることを示す。なお、後続直結点の品目とは、ある品目ｘを処理（生産）する直後の工程（後続直結点）で当該品目ｘを組み込んで処理（生産）される品目ｙのことであり、図８の例における、品目１に対する品目ｉ及び品目ｉ−１などである。一方、品目ｘは品目ｙの直前の工程で処理される品目、つまり先行直結点の品目である。
【００３７】
〈処理の整合性を達成するために〉
本実施形態では、上記のように定義した処理の整合性を達成するために、実際の仕掛品在庫が品切れとならない制約（仕掛品在庫の品切れ禁止制約）が適用される。この制約は、後述する式（７）で表される。
【００３８】
〈エシェロン在庫保管費〉
ところが、実際の仕掛品在庫でなく見かけの在庫に注目して部分問題を解くために、通常の在庫保管費を適用すると計算に矛盾が生じる。そこで在庫保管費についても見かけの在庫に合わせて把握をする必要が生じる。そのようにすることによって実態を反映した在庫保管費の計算ができる。これには既に知られている方法が利用できる。それが「エシェロン在庫保管費」という考え方である。
【００３９】
以下、エシェロン在庫保管費について述べる。
まず、どの品目に対しても、処理がなされて新たに価値が付加されたとき、処理により生まれた品目の全体の価値に対してでなく、新たに付加された部分の価値に対して在庫保管費を見積もることができる。更にその価値は、品目がシステム内に存続する限り、その品目が別の品目に組み込まれた場合にも不変であると考えることができる。その場合には同様の考え方に基づいて、新たに生産される品目の価値のうち、新たに付加された価値に対してのみ在庫保管費を見積もることにする。このようにして定義される在庫保管費を「エシェロン在庫保管費」と呼ぶ。
【００４０】
このエシェロン在庫保管費の詳細を、時刻τ1で生産された品目１と時刻τ2で生産された品目２とを組み込んだ品目３を時刻τ3で生産して当該品目３を時刻τ4で出荷した場合を例に図７を参照して説明する。ここでは、品目１，２の価値に対して見積もられる在庫管理費がｈ1,ｈ2であり、品目３の生産により新たに付加された価値に対して見積もられる在庫管理費がｈ3であるものとする。
【００４１】
この場合、一般には図７（ａ）に示すように、品目１の在庫保管費ｈ1は時刻τ1〜τ3の期間、品目２の在庫保管費ｈ2は時刻τ2〜τ3の期間、それぞれ発生する。また、品目３の保管在庫費は、当該品目の生産により新たに付加された価値に対して見積もられる在庫保管費ｈ3に、品目１及び２の保管在庫費ｈ1,ｈ2の和ｈ1＋ｈ2を加えたものｈ1＋ｈ2＋ｈ3となり、時刻τ3〜τ4の期間発生する。
【００４２】
これに対してエシェロン在庫保管費では、図７（ｂ）に示すように、品目１及び２が品目３に組み込まれた時刻τ3以後も、その品目１及び２の在庫保管費ｈ1,ｈ2は不変であり、品目３の出荷時刻τ4まで継続するものとして扱われる。また、品目３の在庫保管費は、新たに付加された価値に対してのみ見積もられるｈ3となり、時刻τ3〜τ4の期間発生するものとして扱われる。これにより、在庫保管費を各品目１，２，３毎に独立して扱うことができ、在庫保管費を見かけの在庫に合わせることが可能となる。
【００４３】
〈オークションの方法〉
（センターの役割）
ＶＦには、センターが存在する。センターは、顧客からの注文引き合いに対して技術的な分析をする。まず、注文をオペレーション（処理）またはその結果としての品目に分解して、仕事量、価格を見積もる。オペレーションとは、顧客からの注文を、オークションに基づいて、分解して各企業が分担するために好都合な処理（或いは工程）の単位である。処理されるものが品目である。例えば、ある１つ或いは複数の品目にオペレーションが加えられることにより別の品目が生産される。各品目は完成品とは限らない。オークションに必要なデータはオペレーション(品目)別に与えられる。
【００４４】
次にセンターは、負荷等の様々な情報を勘案して、注文の諾否を決定する。
【００４５】
センターは、顧客に対しては、契約した品質、価格、納期を保証する。
【００４６】
センターは、受諾した注文に対しては、処理に必要な仕様書を起こし、メンバーに公開する。仕様書には、オペレーション毎に、仕事量、価格、納期の他に必要な生産技術データが明示される。
【００４７】
センターが、オークションを取り仕切る。
【００４８】
オークションの対象は各々のオペレーションであり、通常は単一のオペレーションが単一の企業によって落札される。しかし、大口のオペレーションに対しては複数の企業が落札することもあり、その場合には予めそのことがメンバーに知らされるものとする。
【００４９】
本実施形態の特徴は、上述のオークションのメカニズムを、最適化スケジューリングプログラム２４１により提供されるコンピュータアルゴリズムに置き換えて代行する。具体的には、後述するラグランジュ乗数の更新をすることに尽きる。
【００５０】
センターは、オークションの結果をメンバーに返す。
センターは、調整のために発生したペナルティコストを含む企業別精算をする。このペナルティコストは、数学的には、ラグランジュ乗数の値（双対コスト）を指す。ペナルティコストは、各企業にとっては、通常は追加費用であるが、符号が逆の場合には報奨金となる。
【００５１】
（メンバーの権利と責任）
各メンバーは各自のビジネスを優先することが保証されている。
【００５２】
各メンバーは、毎日、ＶＦのオペレーションに割くことができる機械の余力をある期間に亙ってタイムスロット別に申告する。
【００５３】
各メンバーは、公開されたオペレーション情報を得て、市場原理に従って行動する。即ち、自身の利益から見てエントリしたいオペレーションがあれば、エントリし、そうでなければエントリしない。しかし、エントリしたからといって必ずしもオペレーションが手中に納まる訳ではないし、納まったからといって必ずしも望むタイミングで処理できるわけではない。これらの調整は上記のアルゴリズムによってなされる。
【００５４】
《問題のモデルへの定式化》
〈用いる記号〉
（１）添字とその集合
まず、本実施形態で適用される添字とその集合を、
ｔ：計画対象期間を刻むタイムスロット番号，ｔ∈Ｔ＝(１,２,…,ｎt)
ｉ：オペレーション（処理）或いは当該オペレーションの結果生ずる品目の番号，ｉ∈Ｉ＝(１,２,…,ｎi)
但しｉ＝０は顧客（ＶＦの外）を表す（記号ｉは移動を表す際に使われる添字だから、同一の添字がオペレーション或いは品目と顧客のように異種のものを表すことが許される）。
ｍ：メンバー企業の番号，ｍ∈Ｆ＝(１,２,…,ｎm)
ｋ：機械番号，ｋ∈Ｋ＝(１,２,…,ｎk)
Ｅ(m)：メンバー企業ｍに属する機械の集合で、次の関係Ｋ＝Σm∈FＥ(m)が成り立つ。
Ａ：仕掛品目（後続の品目を有する品目）の集合
Ａ~：後続直結点に属する品目との間に同時処理禁止制約を有する品目の集合
Ｓ(i)：品目ｉの後続直結点の集合
Ｐ(i)：品目ｉの先行直結点の集合
Ｐ~(i)：Ｐ(i)とＡ~との積集合、即ちＰ(i)∩Ａ~
Ｋ(i)：品目ｉの処理に利用できる機械の集合
Ｍ(k)：機械ｋが処理できる品目の集合
ａ(i)：品目ｉが仕掛品集合Ａに属する場合に１、その他の場合０をとるインデックス関数
ａ~(i)：品目ｉが集合Ａ~に属するとき値１をとり、その他のとき０をとるインデックス関数
のように定義する。
【００５５】
（２）第１の入力データ（メンバー企業から提供されるデータ）
次に、本実施形態で適用される、メンバー企業から提供されて予め設定される入力データ（生産データ）を、
ｐitk：機械ｋにおけるタイムスロットｔでの品目ｉの処理量、即ち処理能力（処理ができないときは０とおく）
ｂitk：品目ｉの機械ｋ、タイムスロットｔにおける処理費
ｃitk：機械ｋ、タイムスロットｔにおける品目ｉの段取り費用
ｓimaxk：機械ｋの品目ｉに対する段取時間
ｓi0k：機械ｋ，品目ｉのタイムスロットｔ＝０における段取りの残り時間、即ち初期値
ｘi0：品目ｉのタイムスロットｔ＝０における実際の仕掛品在庫量、仕掛品在庫を持たない問題に対しては０とする
δi0k：機械ｋにおける品目ｉのタイムスロットｔ＝０における処理の状態、即ち決定変数の境界値
この他に上記の集合に関するデータ
のように定義する。
【００５６】
（３）第２の入力データ（顧客から提供されるデータ）
次に、本実施形態で適用される、顧客から提供されて予め設定される入力データ（出荷要求量データ）を、
ｒi0t：タイムスロットｔにおける品目ｉの、顧客からの要求量
のように定義する。
【００５７】
（４）第３の入力データ（メンバー企業間の協議或いはセンター主導によって確定されるデータ）
次に、本実施形態で適用される、メンバー企業間の協議或いはセンター主導によって確定されて予め設定される入力データを、
ａi：品目ｉの単位数量当たり価格
τij：品目ｊに組み込まれるまでの品目ｉのリードタイム（処理を先行させる時間）
ρij：品目ｊに組み込まれる品目ｉの品目ｊ１単位当たりの所要量
ｈi：品目ｉの処理によって新たに付加される価値に対するタイムスロット当たり在庫保管費（エシェロン在庫保管費）
前処理を施すことによって導かれるデータ（式（１）,（２）を参照）
ｒijt：タイムスロットｔにおいて品目ｊを生産するために使用される品目ｉの所要量
ｒi・t：品目ｉのタイムスロットｔにおける所要量
のように定義する。
【００５８】
（４）決定変数
次に、本実施形態で適用される決定変数を次のように定義する。
【００５９】
δitk：タイムスロットｔにおける機械ｋの品目ｉの処理を表す決定変数，
δitkは品目ｉがタイムスロットｔにおいて機械ｋにより処理されるとき１、それ以外のとき０
δit：δitk,ｋ∈Ｋ(i)を要素とするベクトル，
δi＝(δi1,…,δit,…δint)
δ ＝(δ1,…,δi,…δni)
δk：δitkを要素とする行列δk＝(δitk)
δitkは、本実施形態で適用されるモデルにおける唯一の決定変数である。この変数によって品目ｉの処理の局面と同時に、どの機械、したがってどの企業が品目ｉを落札したかに関する決定の局面が取り扱われることに注意されたい。
【００６０】
（５）状態変数
次に、本実施形態で適用される状態変数を次のように定義する。
【００６１】
ｓitk：品目ｉのタイムスロットｔにおける機械ｋの段取りの残り時間
０≦ｓitk≦ｓimaxk
ここに、
ｓitはｓtik,ｋ∈Ｋ(i)を要素とするベクトル，
ｓi＝(ｓi1,…,ｓit,…ｓint)
ｓ ＝(ｓ1,…,ｓi,…ｓni)
ｘit：品目ｉのタイムスロットｔ末における見かけ上の仕掛品在庫量で、定義式は後述する式（３）のように表される。
【００６２】
このように、実在庫でなく見かけの在庫に注目することによって、次工程への払出し量を決定変数として取り扱うことを避けることができるため、初めて問題を解くことが可能になる。但し、処理の整合性が取れなくて、仕掛品の品切れなどの不都合が生ずるが、これらは制約条件（仕掛品目の品切れ禁止制約）において陽に取り扱われる。処理の機械が複数にのぼる場合にも、在庫点即ち機械の違いを考慮しないで、システム内にある品目の在庫に注目する。この見かけの在庫の詳細については後述する。
【００６３】
（６）ラグランジュ乗数
次に、本実施形態で適用されるラグランジュ乗数を
μ・・tk・：タイムスロットｔにおける機械ｋの機械干渉を解消するためのラグランジュ乗数（機械の使用料に相当する）
μi・t・・：仕掛品目ｉのタイムスロットｔにおける品切れ禁止制約を充足させるためのラグランジュ乗数（品目ｉの処理をタイムスロットｔよりも前に繰り上げ、同時に品目ｊ,ｊ∈Ｓ(i)の処理をｔ以降に遅らせる働きをする）
μijtkl：タイムスロットｔにおける品目ｉと後続品目ｊとの同時処理禁止条件を充足させるためのラグランジュ乗数
μ：すべてのラグランジュ乗数を要素に持つベクトル
のように定義する。
【００６４】
〈制約式と目的関数〉
上述の問題を定式化すると以下のようになる。
【００６５】
（各種所要量の関係）
品目ｊの所要量はリードタイムτijを伴って品目に展開される。ここに品目ｉは仕掛品である。したがって、ｒijt：及びｒi・tは次式（１）,（２）のように表すことができる。
【００６６】
【数１】
0004185970.tif 000002
【００６７】
（見かけの仕掛品在庫の定義式）
品目ｉのタイムスロットｔ末における見かけ上の仕掛品在庫量ｘitは次式（３）で定義される。
【００６８】
【数２】
0004185970.tif 000003
【００６９】
上記式（３）では、ｘitが、右辺の第１項で示される初期在庫ｘi0と、第２項で示されるタイムスロットｔ'における品目ｉの処理量のｔ'＝１からｔ'＝ｔまでの総和、つまりタイムスロットｔ末までの品目ｉの処理量の累積量（累積生産量）との和から、第３項で示されるタイムスロットｔ'における品目ｉの所要量のｔ'＝１からｔ'＝ｔまでの総和、つまり顧客（ＶＦ外）からのタイムスロットｔ末までの各タイムスロットにおける出荷要求をその品目ｉに展開してこれの累積量を取ったものを引いたものとして定義されている。なお、品目ｉが最終品目の場合には、見かけの仕掛品在庫は実在庫と一致する。
【００７０】
（見かけの仕掛品在庫の推移方程式）
タイムスロットｔにおける各品目ｉの実処理は、δitk＝１で且つｓitk＝０の状態のときに限られる。したがって、見かけの仕掛品在庫の推移は次式（４）に従う。
【００７１】
【数３】
0004185970.tif 000004
【００７２】
上記式（４）のｘitは、品目ｉのタイムスロットｔ−１末における見かけの在庫量（右辺第１項）とタイムスロットｔにおける処理量（右辺第２項）との和から顧客からの要求量を展開して得られるタイムスロットｔまでの所要量ｒi・t（右辺第３項）を引いたものとして表されている。
【００７３】
（機械の段取時間の残り時間の推移方程式）
タイムスロットｔにおける各品目ｉの段取時間の残り時間（残り段取時間）ｓitkは、機械ｋが遊休中の期間（δitk＝０の期間）はｓitk＝０である。このｓitkは、品目を切り換えたとき、即ち機械ｋの処理状態がδit-1k＝０からδitk＝１へ変わったときに、ｓimaxkとなる。以後時間が１タイムスロット経過する毎に１ずつ０になるまで減少し、以後は再び品目の切り換えが起こるまでその状態を維持する。したがって、タイムスロットｔにおける各品目ｉの段取時間の残り時間ｓitkは、次式（５）で表される。
【００７４】
【数４】
0004185970.tif 000005
【００７５】
上記式（５）の右辺第１項は、δit-1k＝０からδitk＝１へ変わったときにｓimaxkとなる残り段取時間の状態遷移を示し、第２項中の(ｓit-1k−１)は１タイムスロット経過する毎にｓitkが１ずつ減少する状態を示している。
【００７６】
（機械干渉制約）
どのタイムスロットｔにおいても機械ｋは高々１品目しか処理できない。つまり、どの機械ｋにおいても、同時には異なる品目を処理できない。この制約を機械干渉制約と呼び、次式（６）が成立する必要がある。
【００７７】
【数５】
0004185970.tif 000006
【００７８】
（仕掛品目の品切れ禁止制約）
品目ｉのタイムスロットｔにおけるＶＦ（の多品目多工程生産システム）内の実在庫を、見かけの仕掛品在庫の定義式（３）及び見かけの仕掛品在庫の推移方程式（４）を用いて再定式化して、次式（７）を得る。
【００７９】
【数６】
0004185970.tif 000007
【００８０】
（同時処理禁止制約）
同時処理禁止制約とは、品目ｉの処理が完了してからでないと後続の処理に取り掛かれないことを表す。同時処理禁止制約は、この条件が必要となる場合に適用され、次式（８）で表される。
【００８１】
【数７】
0004185970.tif 000008
【００８２】
（目的関数）
本実施形態で取り上げる目的関数は、企業別利益、即ち各品目を処理して得られる総額から処理の原価を差し引いて得られる利益の全品目・全機械に亙る総額を算出する関数である。この目的関数は、任意の企業ｍ∈Ｆに対して、次式（９）で表される。
【００８３】
【数８】
0004185970.tif 000009
【００８４】
式（９）の第１項は、品目ｉを機械ｋでタイムスロットｔにおいて処理することで得られる売上である。また、第２乃至第４項は処理の原価であり、第２項は、品目ｉを機械ｋでタイムスロットｔにおいて処理する際の段取り費用、第３項は、品目ｉを機械ｋでタイムスロットｔにおいて処理するのに要する処理費、第３項は、タイムスロットｔ末における品目ｉの見かけの在庫量ｘitに対応した在庫保管費である。第１項の売上から第２乃至第４項の処理の原価を差し引いた値が、品目ｉを機械ｋでタイムスロットｔにおいて処理することで得られる利益である。
【００８５】
（問題Ｐ０）
以上により、取り扱うべき最適化問題は、式（８）で示される企業別利益を最大とする問題Ｐ０となり、次式の目的関数で表される。
【００８６】
【数９】
0004185970.tif 000010
【００８７】
なお、問題Ｐ０の目的関数に付されている、s.t.（４）,（５）,（６）,（７）,（８）は、取り扱うべき問題が式（４）,（５）,（６）,（７）,（８）の制約、即ち見かけの仕掛品在庫の推移方程式に従う制約、機械の段取時間の残り時間の推移方程式に従う制約、機械干渉制約、仕掛品目の品切れ禁止制約、及び同時処理禁止制約を受けることを示す。
【００８８】
ここで、品目ｉの落札の情報は決定変数ベクトルδiが担っている。後述の解法においては、この決定変数ベクトルの値を決定するときに落札の条件を満足させることができる。したがって、落札条件の充足制約については、上述の制約式の集合には加えなくてよい。処理量を充足する条件についても同様である。
【００８９】
《理論》
〈補助問題Ｐ１の導入〉
各企業の利益最大化問題Ｐ０の目的関数は企業別に分解されているが、制約式が企業間に及んでいるので、独立に扱うことはできない。更に問題の次元が高すぎる。したがって問題Ｐ０を直接解くことは期待できない。
【００９０】
本実施形態では、問題Ｐ０の代わりに、ＶＦ全体の利益を最大化する補助問題Ｐ１を導入して、これを解き、その解を手がかりにする方法をとる。そこで、問題Ｐ０の制約条件はそのままにして、Ｐ０の目的関数を、すべての企業のすべての機械に亙って加え合わせて目的関数とする問題を考え、これを問題Ｐ１とする。
【００９１】
（問題Ｐ１）
問題Ｐ１、つまりＶＦ全体の利益最大化問題は次式（１０）の目的関数で表される。
【００９２】
【数１０】
0004185970.tif 000011
【００９３】
ここで、問題Ｐ１の目的関数は、企業別に加算分離可能であることに注目する。即ち、決定変数δ＝(…,δk,…)に対して、企業ｍに属する機械グループ別の決定変数δk,ｋ∈Ｅ(m)を１つの部分集合とする分割を施すと、Ｐ１の目的関数を、次式に示すように、これらの互いに他と独立な決定変数に関する関数の和の形に表すことができる。
【００９４】
【数１１】
0004185970.tif 000012
【００９５】
以上の結果は次の定理にまとめることができる。
定理１
問題Ｐ０、つまり企業間に亙る制約条件を含む式（４）乃至（８）のもとで各企業の利益を最大にする問題の最適解を求めることは、ＶＦ全体の利益最大化問題（ＶＦ全体の最適化問題）Ｐ１の最適解を求めることと同値である。
【００９６】
この問題Ｐ１には、制約条件として、式（４）,（５）,（６）,（７）,（８）が関係している。ここに提案する解法ではこれらの制約条件の取り扱い方が大きく２通りに分かれることに注意されたい。第１の種類は部分問題の中に取り込まれて、個々の問題を解く際に陽に取り扱われるものであり、第２の種類は相互関係制約として複数の部分問題に亙って関係するものである。
【００９７】
式（４）及び（５）は推移方程式であり、品目に固有である。したがってこれらは第１の種類に属する。
【００９８】
ところが、機械干渉制約に関する式（６）及び同時処理禁止制約に関する式（８）は複数の品目に関係しており、第２の種類である相互関係制約に属する。また、仕掛品目の品切れ禁止制約に関する式（７）についても、品目が仕掛品の場合には、処理の独立性が犯されるために、部分問題の中で取り扱うことはできない。そこで、処理の整合性を保証するために式（７）を第２の種類である相互関係制約に属するものとして取り扱う。なお、品目が最終品目の場合には、初めから処理の独立性が成立する。
【００９９】
〈問題Ｐ１の解法〉
そこで、まず問題Ｐ１の目的関数に関し、相互関係制約として取り扱う必要のある式（６）の機械干渉制約、式（７）の仕掛品目の品切れ禁止制約、及び式（８）の同時処理禁止制約を緩和した、式（１１）に示すラグランジュ関数Ｌ(δ・,μ)を定義する。そして、問題Ｐ１のラグランジュ緩和問題を問題Ｐ２として、式（１２）を解く。
【０１００】
【数１２】
0004185970.tif 000013
【０１０１】
式（１１）において、μ・・tk・,μi・t・・,μijtklは、それぞれ機械干渉制約条件（６），仕掛品目の品切れ禁止制約条件（７），同時処理禁止制約条件（７）に対するペナルティコストを表すラグランジュ乗数である。つまり、μ・・tk・,μi・t・・,μijtklは、それぞれ機械干渉制約の充足，仕掛品在庫の充足，同時処理禁止制約の充足に用いるラグランジュ乗数である。
【０１０２】
問題Ｐ２の解法には、各品目の仕掛品在庫の推移方程式（４）をモデルの中で陽に取り扱うことが必要である。したがってこの問題は、数学的には、時間最適化問題（最適制御問題）となり、次元が品目数ｎiによって決まる。問題の次元を落とさない限り、合理的な時間とメモリ要領の範囲内で解を求めることは期待できない。
【０１０３】
そこで、本実施形態では、次のような分解によって時間最適化問題の次元を１次元に落として解く方法を適用する。
【０１０４】
まず、式（１１）のラグランジュ関数Ｌ(δ・,μ)の右辺第１項は、和の順序を入れ替えると次式になることに注目する。
【０１０５】
【数１３】
0004185970.tif 000014
【０１０６】
この結果と関数Ｌ(δ・,μ)が品目ｉを処理することに関する決定変数ベクトルδiに関して加算分離可能であることに注目して、これを品目ｉ別に分解する。即ち、式（１１）を品目別に分解した後整理して、所与のμに対して、δiに依存する項を式（１３）のようにおけば、関数Ｌ(δ・,μ)は式（１４）のように表される。
【０１０７】
【数１４】
0004185970.tif 000015
【０１０８】
これは問題の把握の視点を、企業別機械別品目別把握から品目別機械別把握へ切り換えることに他ならない。
こうすることによってｎi次元の時間最適化問題であるラグランジュ緩和問題Ｐ２は、更に、部分問題Ｌiへ分解された緩和問題（１次元の部分最適化問題）Ｐ３に変換することが可能になる。
【０１０９】
（問題Ｐ３）
問題Ｐ３は次式（１５）のように表される。
【０１１０】
【数１５】
0004185970.tif 000016
【０１１１】
式（１５）で示される、所与のラグランジュ乗数の値に対して、関数の最大化問題は、明らかに、1次元の時間最大化問題である。したがって、問題Ｐ３はラグランジュ分解調整法によって解くことができる。
【０１１２】
結局、問題Ｐ０は、問題Ｐ１、問題Ｐ２、そして問題Ｐ３へと順に同値変換されたことになる。したがって、次の定理２，３が成り立つ。
【０１１３】
定理２
問題Ｐ０の最適解は問題Ｐ３の最適解を求めることによって得られる。
【０１１４】
定理３
ラグランジュ緩和問題の解法において、ラグランジュ関数Ｌ値と目的関数値とが一致すれば、それが最適値である。更に、それを可能にする主変数の値及びラグランジュ乗数(双対変数)の値が、それぞれ、問題の最適解と最適ラグランジュ乗数値である。この定理３は広く知られている。
【０１１５】
本実施形態において、対象となるラグランジュ緩和問題は問題Ｐ３である。
【０１１６】
《解法》
〈ラグランジュ乗数の更新ルール〉
後述する最適化アルゴリズムにおいて、ラグランジュ乗数μ・・tk・,μi・t・・,μijtklの更新に適用されるルールを次式（１６）,（１７）,（１８）で表す。
【０１１７】
【数１６】
0004185970.tif 000017
【０１１８】
式（１６）,（１７）,（１８）中のα・・tk・,αi・t・・,αijtklは、当該式（１６）,（１７）,（１８）におけるラグランジュ乗数μ・・tk・,μi・t・・,μijtklの更新に用いられるステップサイズを示し、すべて非負の値である。このステップサイズには、数値解法の結果から、これらのラグランジュ乗数の効果を判断して調整を繰り返して試行錯誤的に問題のデータに適した値を定めればよい。
【０１１９】
〈部分最適化問題の動的計画法〉
次に、式（１５）で示される部分最適化問題Ｐ３を動的計画法に再定式化して解く方法について説明する。
【０１２０】
（決定の許容集合）
タイムスロットｔにおいて機械ｋ∈Ｋ(i)の決定（決定変数）δitkの取り得る値は、先行するタイムスロットｔ−１における在庫状態ｘit-1に依存するばかりでなく、先行するタイムスロットｔ−１における状態（決定変数）δit-1k、及び残り段取時間ｓit-1kにも依存する。例えば、残り段取時間ｓit-1kが正であれば、決定変数δitkは値１を取らなければならないし、(δit-1k,ｓit-1k)＝(１,０)または(０,０)のときでない限り値０は取れない。したがって、(δit-1k,ｓit-1k)から(δitk,ｓitk)への状態推移の関係を整理すれば、図５に示すようになる。図中の○印はタイムスロットｔ−１の状態に対して許される決定が存在することを、×印はそうでないことを表している。
【０１２１】
図６は、この(δitk,ｓitk)の状態遷移を示す。例えば、図６（ａ）において、（０,０）の状態６１が次のタイムスロットに取り得る状態は、同じ状態６１または(１,ｓimaxk)の状態６２のいずれかである。状態６１は、機械ｋの遊休中を示す。また、状態６２は、品目を切り換えたとき、つまりセットアップの開始時を示す。この状態６２、即ち(１,ｓimaxk)の状態６２が次のタイムスロットに取り得る状態は(１,ｓimaxk−１)の状態６３のみである。
【０１２２】
状態６３は、セットアップ開始時から時間が１タイムスロットだけ経過し、残り段取時間がｓimaxk−１となったことを示す。以下、同様にして、時間が１タイムスロット経過する毎に、(δitk,ｓitk)のうちのδitkが１のままの状態で、ｓitkだけが１ずつ減少していき、やがて（１.１）の状態６４に遷移する。状態６４は残り段取時間が１（１タイムスロット分）であり、セットアップ終了直前の状態となったことを示す。状態６２から状態６４までの期間がセットアップ中の期間６５となる。状態６４、即ち（１,１）の状態６４が次のタイムスロットに取り得る状態は（１,０）の状態６６のみである。状態６６は生産中を示す。この状態６６、即ち（１,０）の状態６６が次のタイムスロットに取り得る状態は、同じ状態６６または(０,０）の状態６１のいずれかである。
【０１２３】
（部分問題の最適コスト関数とその計算）
次に、最適コスト関数とその計算について説明する。
本実施形態では、所与のラグランジュ乗数ベクトルμに対して、部分問題の最適コスト関数を
Ｖt(δit,ｓit,ｘit,μ)
で表し、その値は、タイムスロットｔにおいて品目ｉに関する決定変数ベクトル（機械のセッティングの状態）、残り段取時間ベクトル、及び在庫状態（タイムスロットｔ末の在庫量）が、それぞれδit,ｓit,ｘitであるとき、タイムスロット０からタイムスロットｔまでの各タイムスロットにおいて採られた最適決定に伴って発生するコストの和であると定義する。
【０１２４】
ここで重要なことは、上記最適コスト関数に、状態変数のベクトルとして、ベクトルｓitと変数ｘitの他に、決定変数のベクトルδitが入っている点である。また、δit,ｓitは、それぞれδitkとｓitk,ｋ∈Ｋ(i)を要素に持つベクトルであることに注意したい。通常の最適コスト関数の場合と異なって、独立変数に決定変数δitkが現れるのは、タイムスロットｔにおいて発生する段取コストがタイムスロットｔ−１の決定にも依存することに起因している。言い換えるならば、タイムスロットｔにおいて発生するコストを計算するために、タイムスロットｔ−１におけるδit-1の情報が必要になるからである。
【０１２５】
上記最適コスト関数Ｖt(δit,ｓit,ｘit,μ)は動的計画法による次の再帰関係式（１９）,（２０）で表すことができる。
【０１２６】
【数１７】
0004185970.tif 000018
【０１２７】
ここでｘit-1が許容範囲にないときは、任意のδit-1k,ｓit-1kに対して、Ｖt(δit,ｓit,ｘit,μ)は常に−∞である。このとき、δit-1*(δit,ｓit,ｘit,μ)は上記式（２０）の最適決定を表すものとする。
【０１２８】
所与のδitk,ｓitk,ｋ∈Ｋ(i)と前記式（５）,（４）から、選択された決定δit-1k,ｋ∈Ｋ(i)に対してｓit-1k,ｘit-1を求めれば、タイムスロットｔ−１における最適コスト関数の値が決まる。勿論、タイムスロットｔにおいて発生するすべてのコストも確定している。したがって上記式（２０）が計算できる。
【０１２９】
（部分最適化問題における最適解の決定）
品目ｉの、タイムスロットｔ＝１,…,ｎtに対して、上記式（２０）の最適コスト関数値Ｖt(δit,ｓit,ｘit,μ)、及び最適決定δit-1*(δit,ｓit,ｘit,μ)がすべて求まり表の形でメモリ（ここではコスト記憶エリア２２３）内に格納されているものとする。このとき品目の最適解即ちスケジュールと状態推移を確定するための手続きについて、図４のフローチャートを参照して説明する。
【０１３０】
まず、ｔ＝ｎtのタイムスロットに対して取り得るすべてのδit,ｓit,ｘitの組み合わせ(δit,ｓit,ｘit)の中からＶt(δit,ｓit,ｘit,μ)の値が最大となるδit,ｓit,ｘitを求めて、最適な解として確定し、これらの値をそれぞれδit*,ｓit*,ｘit*とする（ステップ４０５，４０６）。
【０１３１】
次に、δit*,ｓit*,ｘit*に対し最適な決定δit-1*(δit*,ｓit*,ｘit*)を特定する（ステップ４０７）。このδit*,ｓit*,ｘit*を前記式（５）,（４）に代入してｓit-1*,ｘit-1*を求める（ステップ４０８）。
【０１３２】
次に、ｔを１だけデクリメントし（ステップ４０９）、このデクリメント後のｔが１より小さくならなければ（ステップ４１０）、そのデクリメント後のｔに対して上記ステップ４０６以降の処理を行う。これをｔ＝１まで繰り返す（ステップ４１０）。
【０１３３】
以上、本実施形態で適用する最適化スケジューリングの基本原理と、当該基本原理で扱われる問題と、問題のモデルへの定式化と、ラグランジュ分解調整法に基づく解法（特に、部分最適化問題の動的計画法）とについて説明した。
【０１３４】
《最適化スケジューリングの実現例》
次に、上記した最適化スケジューリングの実現例について説明する。
図１の生産スケジュール生成装置は、上記した最適化スケジューリングの基本原理を適用して最適化スケジューリングを行うもので、品目別最適化部１０と、在庫量抽出部１１と、残り段取時間抽出部１２と、品目間機械干渉判定部１３と、品目間機械干渉制御部１４と、仕掛品在庫充足判定部１５と、仕掛品在庫制御部１６と、同時処理禁止制約充足判定部１７と、同時処理禁止制約制御部１８と、最適生産スケジュール生成部１９と、主制御部２０とを備えている。これら各部１０〜２０は、図２の計算機内のＣＰＵ２１が最適化スケジューリングプログラム２４１を実行することにより実現される機能要素である。
【０１３５】
品目別最適化部１０は、各品目ｉについて、式（１５）の部分最適化問題を、在庫推移と残り段取時間推移の制約のもとで、式（２０）の最適コスト関数を用いて、他の品目とは独立に解き、その解を求める動作を実行する。在庫量抽出部１１は、品目別最適化部１０での動作に必要な在庫量を抽出する。残り段取時間抽出部１２は、品目別最適化部１０での動作に必要な残り段取時間を抽出する。
【０１３６】
品目間機械干渉判定部１３は、品目別最適化部１０により求められた品目ｉ毎の解から、機械干渉が解消されていると見なせるか否かを判定する。品目間機械干渉制御部１４は、機械干渉が解消されていない場合に、機械干渉が減少するように品目別最適化部１０を制御する。具体的には、品目別最適化部１０が用いる最適コスト関数中の機械干渉制約の充足に用いるラグランジュ乗数（μ・・tk・）を更新する。
【０１３７】
仕掛品在庫充足判定部１５は、品目別最適化部１０により求められた品目ｉ毎の解から、仕掛品在庫が充足しているか否かを判定する。仕掛品在庫制御部１６は、仕掛品在庫が充足していない場合、つまり仕掛品在庫の品切れを起こしている場合に、仕掛品在庫が充足するように品目別最適化部１０を制御する。具体的には、品目別最適化部１０が用いる最適コスト関数中の仕掛品の充足に用いるラグランジュ乗数（μi・t・・）を更新する。
【０１３８】
同時処理禁止制約充足判定部１７は、品目別最適化部１０により求められた品目ｉ毎の解から、同時処理禁止制約（同時処理禁止条件）が充足されているか否かを判定する。同時処理禁止制約充足判定部１７は、同時処理禁止制約が充足されていない場合、同時処理禁止制約が充足されるように品目別最適化部１０を制御する。具体的には、品目別最適化部１０が用いる最適コスト関数中の同時処理禁止制約の充足に用いるラグランジュ乗数（μijtkl）を更新する。
【０１３９】
最適生産スケジュール生成部１９は機械干渉、仕掛品在庫の品切れ禁止及び同時処理禁止の各制約（条件）がすべて充足されたものと判定された場合、その際に求められた解を用いて生産スケジュールを生成する。主制御部２０は生産スケジュール生成装置全体を制御する。
【０１４０】
また、主メモリ２２には、品目ｉ及び機械ｋ別の各タイムスロットｔにおけるｐitk,ｂitk,ｃitkの各データと、品目ｉ及び機械ｋ別のｓimaxk,ｓi0k,δi0kの各データと、品目ｉ毎のｘi0,ａi,τij,ρij,ｈiの各データとから成る生産データを格納するための生産データ記憶エリア２２１と、品目ｉ毎の各タイムスロットｔにおけるｒi0tから成る出荷要求量データを格納するための出荷要求量記憶エリア２２２と、品目別最適化部１０で算出されたタイムスロットｔまでのコストの和Ｖt(δit,ｓit,ｘit,μ)及び当該和Ｖt(δit,ｓit,ｘit,μ)に対応するδit*,ｓit*,ｘit*を格納するためのコスト記憶エリア２２３とが確保されている。ここで、δit*,ｓit*,ｘit*を格納するエリアを別に確保することも可能である。生産データ記憶エリア２２１には、前記式（１）,（２）に従って予め算出される、品目ｉ毎の各タイムスロットｔにおけるｒijt,ｒi・tの各データも格納される。
【０１４１】
主メモリ２２には更に、品目別最適化部１０で最適部分問題を解くことにより求められた解の中間結果を格納するための中間結果記憶エリア２２４と、同じく最終結果を格納するための最終結果記憶エリア２２５と、最適生産スケジュール生成部１９により生成された生産スケジュールを格納するための生産スケジュール記憶エリア２２６とが確保されている。
【０１４２】
次に図１の構成の動作を、図３のフローチャートを参照して説明する。
まず、図１の生産スケジュール生成装置を用いて最適生産スケジュールを作成するには、品目ｉ及び機械ｋ別の各タイムスロットｔにおけるｐitk,ｂitk,ｃitkの各データと、品目ｉ及び機械ｋ別のｓimaxk,ｓi0k,δi0kの各データと、品目ｉ毎のｘi0,ａi,τij,ρij,ｈiの各データとから成る生産データを予め入力しておく必要がある。ここでは、この生産データをキーボード２５を用いて例えば表形式で入力するものとする。
【０１４３】
入力された生産データは、主制御部２０の制御により主メモリ２２内の生産データ記憶エリア２２１に格納される。また、この生産データ記憶エリア２２１に格納された生産データをＨＤＤ２３に保存するならば、生産データの変更が必要ない場合には、当該データを再利用することができる。
【０１４４】
また、生産スケジュールの生成が必要となる毎に、品目ｉ毎の指定タイムスロットｔにおけるｒi0tから成る出荷要求量データが入力されて、主メモリ２２内の出荷要求量記憶エリア２２２に格納される。また、このｒi0tを用いて、品目ｉ毎の各タイムスロットｔにおけるｒijt,ｒi・tの各データを、前記式（１）,（２）に従って算出する処理が主制御部２０により行われる。ｒijt,ｒi・tの各データは、生産データ記憶エリア２２１に記憶される。
【０１４５】
この状態で、キーボード２５からスケジューリングの開始指示が入力されると、主制御部２０により初期化処理が行われ、繰り返し数（繰り返し番号）νが０に初期設定される（ステップ３０１）。また、中間結果記憶エリア２２４上の品目ｉ（ｉ∈Ｉ）別、及び機械ｋ（ｋ∈Ｋ）別の、タイムスロットｔ＝０における決定変数δitkν,ｓitkν（即ち境界値δi0kν,ｓi0kν）が初期値に設定される（ステップ３０２）。また、機械ｋ（ｋ∈Ｋ）別の、各タイムスロットｔ（ｔ∈Ｔ）におけるラグランジュ乗数μ・・tk・νと、仕掛品目ｉ（ｉ∈Ａ）別の、各タイムスロットｔ（ｔ∈Ｔ）におけるラグランジュ乗数μi・t・・νと、後続直結点に属する品目ｊとの間に同時処理禁止制約を有する品目ｉ（ｉ∈Ａ~）別、品目ｉの処理に利用できる機械ｋ（ｋ∈Ｋ(i)）別、且つ品目ｊの処理に利用できる機械ｌ（ｌ∈Ｋ(j)）別の、各タイムスロットｔ（ｔ∈Ｔ）におけるラグランジュ乗数μijtklνとが、いずれも０に初期設定される（ステップ３０３）。
【０１４６】
すると主制御部２０は品目別最適化部１０を起動する。品目別最適化部１０はまず、品目ｉを１に初期設定する（ステップ３０４）。次に品目別最適化部１０は、品目ｉに関する式（１５）に示す部分最適化問題を、仕掛品在庫推移方程式（４）及び残り段取時間推移方程式（５）の制約のもとで、式（２０）の最適コスト関数を用いて解き、その解δitkνを求める（ステップ３０５）。ここでは、品目ｉについて、当該品目ｉの処理に利用可能な各機械ｋ別に、各タイムスロットｔ毎の解δitkν（∀ｔ∈Ｔ,ｋ∈Ｋ(i)）が求められる。
【０１４７】
このステップ３０５の詳細手順を図４のフローチャートに示す。ここでは品目別最適化部１０は、品目ｉの部分最適化問題を解くために、以下に述べる最適コスト関数値Ｖt(δit,ｓit,ｘit,μ)と最適決定δit-1*(δit,ｓit,ｘit)とを求める。
【０１４８】
そのため品目別最適化部１０は、まずタイムスロットｔを１に設定する（ステップ４０１）。そして品目別最適化部１０は、品目ｉについて、取り得る（実行し得る）すべての組み合わせの(δit,ｓit,ｘit）に対し、当該品目ｉの処理（生産）に使用可能な機械ｋの範囲（ｋ∈Ｋ(i)）で前記式（２０）の最適コスト関数を用いて最適コスト関数値Ｖt(δit,ｓit,ｘit,μ)を算出し、その時の最適決定δit-1*(δit,ｓit,ｘit)と共に、コスト記憶エリア２２３に格納する（ステップ４０２）。
【０１４９】
次に品目別最適化部１０は、ｔを１だけインクリメントし（ステップ４０３）、そのインクリメント後のｔがｎtより大きくなければ（ステップ４０４）、そのインクリメント後のｔに対して上記ステップ４０２以降の処理を行う。これをｔ＝ｎtまで繰り返す（ステップ４０４）。
【０１５０】
この状態で品目別最適化部１０は、コスト記憶エリア２２３上の最適コストＶt(δit,ｘit,ｓit)をｔ＝ｎtから逆に辿る。即ち品目別最適化部１０は、先に説明したように、まず、ｔ＝ｎtのタイムスロットに対して取り得るすべてのδit,ｓit,ｘitの組み合わせ(δit,ｓit,ｘit)の中からＶt(δit,ｓit,ｘit,μ)の最大値（最適コスト）を探して、その際のδit,ｓit,ｘitを最適解δit*,ｓit*,ｘit*とする（ステップ４０５，４０６）。
【０１５１】
次に品目別最適化部１０は、δit*,ｓit*,ｘit*に対し最適な決定δit-1*(δit*,ｓit*,ｘit*)を特定し（ステップ４０７）、このδit*,ｓit*,ｘit*を前記式（５）,（４）に代入して、最適コストＶtに至った直前のタイムスロットt−１でのｓit-1*,ｘit-1*を求める（ステップ４０８）。これをｔを１ずつデクリメントしながら（ステップ４０９）、ｔ＝１まで繰り返す（ステップ４１０）。
【０１５２】
以上のようにして、品目ｉについて最適コストを与えるδitkν（ｔ＝１,…,ｎt,ｋ∈Ｋ(i)）が品目別最適化部１０により求められる（ステップ３０５）。すると品目別最適化部１０は、中間結果記憶エリア２２４上のδitkνを、求めた最新のδitkνに更新する（ステップ３０６）。
【０１５３】
次に品目別最適化部１０はｉを１だけインクリメントし（ステップ３０７）、そのインクリメント後のｉがｎiを超えていないならば（ステップ３０８）、未処理の品目が存在するものと判定し、そのインクリメント後のｉで示される品目ｉについて、上記ステップ３０５以降の処理を実行する。そして、ｉ＝１,…,ｎiのすべての品目について解δitkν（∀ｉ∈Ｉ,ｔ∈Ｔ,ｋ∈Ｋ(i)）を求めると、品目間機械干渉判定部１３、仕掛品在庫充足判定部１５及び同時処理禁止制約充足判定部１７が起動される。
【０１５４】
品目間機械干渉判定部１３は、機械ｋ毎に、その機械ｋで処理（生産）されるすべての品目ｉ（ｉ∈Ｍ(ｋ)）の解δitkνから、各品目ｉ間のδitk＝１のタイムスロットの重なりの回数を表す機械干渉数を算出し、その数から機械干渉が解消されていると見なせるか否かを判定する（ステップ３０９）。具体的には、全機械についての繰り返し数νにおける全品目、全期間（全計画対象期間）に亙る機械干渉数の総和をｎt×ｎk（全タイムスロット数×全機械数）で除して得られる平均機械干渉数を算出し、その値が閾値以下であるか否かにより、機械干渉が解消されていると見なせるか否かを判定する。
【０１５５】
次に、仕掛品在庫充足判定部１５は、上記ステップ３０９において、全仕掛品目ｉ（ｉ∈Ａ）について、仕掛品在庫量がマイナスとなる（つまり仕掛品在庫の充足条件を満たさなかった）タイムスロットの総数を求め、その数から仕掛品在庫が充足しているか否かを判定する。具体的には、全仕掛品目について、仕掛品在庫量がマイナスとなるタイムスロットの総数を求め、それを全仕掛品目数×全タイムスロット数で除して得られる平均仕掛品在庫不足割合を算出し、その値が閾値以下であるか否かにより、仕掛品在庫が充足しているか否かを判定する。ここで、各仕掛品在庫量は、ステップ３０５で求められた対応する解δitkνと組をなすｘitを用いて、前記式（７）に従って算出される。
【０１５６】
次に、同時処理禁止制約充足判定部１７は、上記ステップ３０９において、後続直結点に属する品目ｊとの間に同時処理禁止制約を有する全品目ｉ（ｉ∈Ａ~）について、各タイムスロットｔにおける当該品目ｉ,ｊを生産する機械ｋ.ｌでの当該品目ｉ,ｊについての解（決定変数）δitkν,δitlνから、前記式（８）の同時処理禁止制約を満たさなかったタイムスロットの総数を求め、その数から同時処理禁止制約が充足しているか否かを判定する。具体的には、全品目ｉ（ｉ∈Ａ~）について、同時処理禁止制約を満たしていないタイムスロットの総数を求め、それを全品目ｉ（ｉ∈Ａ~）×全タイムスロット数で除して得られる平均同時処理禁止制約違反割合を算出し、その値が閾値以下であるか否かにより、同時処理禁止制約が充足しているか否かを判定する。
【０１５７】
もし、機械干渉が解消されているという条件、仕掛品在庫量が充足しているという条件、及び同時処理禁止制約が充足しているという条件の少なくとも一方の条件を満たさない場合、繰り返し数（反復回数）νが１だけインクリメントされ（ステップ３１０）、品目間機械干渉制御部１４、仕掛品在庫制御部１６、及び同時処理禁止制約制御部１８のうちの対応する制御部が起動される。ここでは、機械干渉が解消されていないときは品目間機械干渉制御部１４が、仕掛品在庫量が充足していないときは仕掛品在庫制御部１６が、そして同時処理禁止制約が充足していないときは同時処理禁止制約制御部１８が、それぞれ起動される。上記３条件がいずれも成立していないときは、品目間機械干渉制御部１４、仕掛品在庫制御部１６及び同時処理禁止制約制御部１８がすべて起動される。
【０１５８】
品目間機械干渉制御部１４は、自身が起動された場合、機械干渉に用いるラグランジュ乗数μ・・tk・νを前記式（１５）に従って更新（調整）して、品目別最適化部１０に通知する（ステップ３１１）。
【０１５９】
一方、仕掛品在庫制御部１６は、自身が起動された場合、上記ステップ３１１において、仕掛品の在庫充足に用いるラグランジュ乗数μi・t・・νを前記式（１６）に従って更新（調整）して、品目別最適化部１０に通知する。
【０１６０】
また、同時処理禁止制約制御部１８は、自身が起動された場合、上記ステップ３１１において、同時処理禁止制約の充足に用いるラグランジュ乗数μijtklνを前記式（１８）に従って更新（調整）して、品目別最適化部１０に通知する。
【０１６１】
これにより、更新されたラグランジュ乗数、即ちラグランジュ乗数μ・・tk・ν及びまたはμi・t・・ν及びまたはμijtklνを用いてステップ３０５が品目数分繰り返し実行され、品目別、機械別の解δitkνがタイムスロット毎に求められる。
【０１６２】
やがて、上記ステップ３０９において、品目間機械干渉判定部１３により機械干渉が解消されていると見なせると判定され、且つ仕掛品在庫充足判定部１５により仕掛品在庫量が充足していると判定され、同時処理禁止制約充足判定部１７により同時処理禁止制約が充足していると判定されると、そのときの品目別、機械別の解δitkνが最終結果記憶エリア２２５に格納され（ステップ３１２）、最適生産スケジュール生成部１９が起動される。
【０１６３】
最適生産スケジュール生成部１９は、最終結果記憶エリア２２５に格納されている品目別、機械別の解δitkνをもとに、生産スケジュールを生成して、生産スケジュール記憶エリア２２６に格納する（ステップ３１３）。前記したように品目別、機械別の解δitkνは０−１変数により表される。そして、時間軸上に刻まれたタイムスロットｔに、当該スロットで機械ｋにより品目ｉを処理（セットアップまたは生産）すれば１で、そうでなければ０で表される（図６（ｂ）参照）。したがって、解δitkνにおける１の並びとその時間的位置により品目別及び機械別にロットサイズとそれらのロットの時間的位置を生成することができる。また、全機械は、ＶＦのメンバー企業別の機械の集合に分けられる。明らかなように、メンバー企業ｍが所有する機械ｋの品目ｉの解δitkνが１であるタイムスロットが存在すれば、その企業ｍは、機械ｋでの品目ｉに関するオペレーションを（単位数量当たり価格ａiで）落札したことになる。つまり、本実施形態では、市場原理に基づくオークションが、最適化アルゴリズムに従って自動的に行われる。
【０１６４】
ロットの時間的位置は実行可能なスケジュールにおいてロットの順序を決定するための情報を与える。つまり本実施形態においては、品目間の解（スケジュール）の機械干渉が解消されていると見なせ、且つ仕掛品在庫量が充足していると判定され、且つ同時処理禁止制約が充足していると判定される解δitkνが求まった時点で、ロットサイズとロット順序を同時に生成することができる。
【０１６５】
生産スケジュール記憶エリア２２６に格納された生産スケジュールは、図２中のディスプレイ２６に表示されると共に、キーボード２５からの印刷指示入力に応じて、または自動的に、プリンタ装置（図示せず）から印刷出力される。また、この生産スケジュールをそのままの形で、または所定のデータ変換により、生産ラインでの制御情報として用いることができる。この生産スケジュールでは、例えば機械ｋ別に、各品目ｉの解δitk（更には対応するｓitk）を用いて、各タイムスロットｔ毎の当該機械ｋの稼動（生産または段取り）／非稼働（遊休）、仕掛品在庫量等を表すことができる。また、δitkを用いることで、各（機械ｋを所有する）企業の品目ｉ（オペレーション）、機械ｋ毎の利益、各（機械ｋを所有する）企業の全品目（オペレーション）、全機械に亙る利益の総額を算出することもできる。
【０１６６】
なお、以上に述べた実施形態では、相互関係制約の１つとして同時処理禁止制約を考慮しているが、取り扱う製品によっては、いずれの品目間においても同時処理禁止制約を有さないことがあり得る。この場合、Ａ~を空集合とすればよいが、ＶＦによっては、同時処理禁止制約自体を考慮の対象外とすることも可能である。
【０１６７】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１６８】
【発明の効果】
以上詳述したように本発明によれば、機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とが要求される、ＶＦにおける多品目多工程のスケジューリングの問題、つまり企業間に亙る制約条件を含む各種制約のもとで各企業の利益を最大にする問題の最適解を求めることは、ＶＦ全体の利益を最大化する問題（全体最適化問題）の最適値を求めることと同値であることに着目し、且つＶＦ全体の利益を最大化する問題、つまり品目数分の次元の最適化問題は、品目別の１次元の部分最適化問題に置き換えられることに着目し、問題把握の視点を、企業別機械別品目別把握から品目別機械別把握へ切り換え、各企業の利益を最大にする問題を解く代わりに、ＶＦの多品目多工程生産システムにおける各工程で処理される各品目について、品目間機械干渉に対応する第１のペナルティコスト及び仕掛品在庫の充足に対応する第２のペナルティコストを含む総コストを最適化する品目別の１次元の部分最適化問題を解くようにしたので、ヴァーチャルファブにおいて、機械間・工程間・企業間のオペレーションの調整とそれに伴う企業間の利害の調整とを図った経済的且つ合理的な実行可能な最適な生産スケジュールを生成できる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るヴァーチャルファブ向け生産スケジュール生成装置の機能ブロック構成を示す図。
【図２】図１の生産スケジュール生成装置を実現する計算機のブロック構成図。
【図３】図１の構成の動作を説明するためのフローチャート。
【図４】図３中のステップ３０５の詳細手順を説明するためのフローチャート。
【図５】  (δit-1k,ｓit-1k)から(δitk,ｓitk)への状態推移の関係を説明するための図。
【図６】  (δitk,ｓitk)の状態推移図。
【図７】エシェロン在庫保管費を説明するための図。
【図８】多品目多工程の生産システムを説明するための図。
【符号の説明】
１０…品目別最適化部
１１…在庫量抽出部
１２…残り段取時間抽出部
１３…品目間機械干渉判定部
１４…品目間機械干渉制御部
１５…仕掛品在庫充足判定部
１６…仕掛品在庫制御部
１７…同時処理禁止制約充足判定部
１８…同時処理禁止制約制御部
１９…最適生産スケジュール生成部
２０…主制御部
２１…ＣＰＵ
２２…主メモリ
２２１…生産データ記憶エリア
２２２…出荷要求量記憶エリア
２２３…コスト記憶エリア
２２４…中間結果記憶エリア
２２５…最終結果記憶エリア
２２６…生産スケジュール記憶エリア
２４１…最適化スケジューリングプログラム
２４２…ＣＤ−ＲＯＭ
【図１】
0004185970.tif 000019
【図２】
0004185970.tif 000020
【図３】
0004185970.tif 000021
【図４】
0004185970.tif 000022
【図５】
0004185970.tif 000023
【図６】
0004185970.tif 000024
【図７】
0004185970.tif 000025
【図８】
0004185970.tif 000026