(57)【要約】【課題】複合生産システムにおいて一括して最適な生産計画を立案できるプッシュ・プル混在型最適複合生産計画法を提供する。【解決手段】主制御部１１と、前処理部１２と、多品目多工程ロットサイズスケジューリング部１３とを備える。主制御部１１は、入出力制御部１１１と、生産計画制御部１１２と、スケジューリング制御部１１３とを備える。前処理部１２は、生産計画（フェーズ１サイクル）毎に、その生産計画のための前処理を、スケジューリング（フェーズ２サイクル）毎に、そのスケジューリングのための前処理を行う。多品目多工程ロットサイズスケジューリング部１３は、生産計画（フェーズ１サイクル）毎に、最適化スケジューリングアルゴリズムを用いて最適生産計画を、スケジューリング（フェーズ２サイクル）毎に、最適化スケジューリングアルゴリズムを用いて最適生産スケジュールを生成する。【選択図】      図１
2005092726.tif 000002
【特許請求の範囲】
【請求項１】
同一工程により注文品と見込み品との複合生産が可能な複合生産方式において最適生産計画を作成するためのプッシュ・プル混在型最適複合生産計画法であって、
第１の計画期間の生産計画を作成し、各時点における仕掛在庫水準の推移データを出力する第１のステップと、
前記第１のステップから出力された仕掛在庫水準の推移データに基づいて第１の計画期間より短い第２の計画期間のスケジューリングを行い、計画期間末の工程別目標仕掛在庫水準を決定する第２のステップとを具備し、
最新の生産計画における生産計画データから、スケジュールの計画対象期間末にあたるタイムスロットの在庫水準データを取り出して、これを新たに立てるスケジュールの期間末在庫水準データとし、
最新のスケジュールにおける品目別在庫水準の推移データから、生産計画の期首にあたるタイムスロットの在庫水準データを取り出して、これを生産計画の期首在庫水準データとし、
最新のスケジュールにおける品目別在庫水準の推移データから、次期スケジューリングの期首にあたるタイムスロットの在庫水準データを取り出して、これを次期スケジューリングの期首在庫水準データとするプッシュ・プル混在型最適複合生産計画法。
【請求項２】
前記第１ステップは、
計画対象期間、計画リードタイム、計画サイクルタイム、タイムスロットを決定するサブステップと、
生産技術データ、在庫保管費データ、期首在庫データ、目標期間末在庫データ、需要予測データ、確定注文データを入力するサブステップと、
需要予測データをタイムスロット別に分解し、分解後の需要予測データに確定注文データを反映し、反映結果を生産技術データに基づいて部品展開し、部品展開後の需要予測データを得るサブステップと、
部品展開後の需要予測データと、生産技術データとに基づいて生産計画を立案するサブステップとを具備する請求項１記載のプッシュ・プル混在型最適複合生産計画法。
【請求項３】
前記第２ステップは、
生産技術データ、在庫保管費データ、期首在庫データ、目標期間末在庫データ、確定注文データを入力するサブステップと、
確定注文データを品目別、タイムスロット別に分解し、受注データを得るサブステップと、
生産技術データと受注データとに基づいてスケジューリングを行なうサブステップとを具備する請求項１または請求項２記載のプッシュ・プル混在型最適複合生産計画法。
【請求項４】
前記第２ステップはスケジューリングの期間末時点が次の生産計画の期首時点以降になるまで繰り返し実行され、前記第１ステップは所定の期間を経過するまで繰り返し実行される請求項１乃至請求項３のいずれか一項記載のプッシュ・プル混在型最適複合生産計画法。
【請求項５】
同一工程により注文品と見込み品との複合生産が可能な複合生産方式において最適生産計画を作成するためのプッシュ・プル混在型最適複合生産計画法を実現するためのプログラムであって、
コンピュータに、
第１の計画期間の生産計画を作成し、各時点における仕掛在庫水準の推移データを出力する第１のステップと、
前記第１のステップで出力された仕掛在庫水準の推移データに基づいて第１の計画期間より短い第２の計画期間のスケジューリングを行い、計画期間末の工程別目標仕掛在庫水準を決定する第２のステップとを実行させ、
最新の生産計画における生産計画データ内のスケジュールの計画対象期間末にあたるタイムスロットの在庫水準データが新たに立てるスケジュールの期間末在庫水準データであり、
最新のスケジュールにおける品目別在庫水準の推移データ内の生産計画の期首にあたるタイムスロットの在庫水準データが生産計画の期首在庫水準データであり、
最新のスケジュールにおける品目別在庫水準の推移データ内の次期スケジューリングの期首にあたるタイムスロットの在庫水準データが次期スケジューリングの期首在庫水準データであるプログラム。
【請求項６】
前記第２ステップはスケジューリングの期間末時点が次の生産計画の期首時点以降になるまで繰り返し実行され、前記第１ステップは所定の期間を経過するまで繰り返し実行される請求項５記載のプログラム。
【請求項７】
同一工程により注文品と見込み品との複合生産が可能な複合生産方式において最適生産計画を作成するためのプッシュ・プル混在型最適複合生産計画装置であって、
第１の計画期間の生産計画を作成し、各時点における仕掛在庫水準の推移データを出力する第１の手段と、
前記第１の手段から出力された仕掛在庫水準の推移データに基づいて第１の計画期間より短い第２の計画期間のスケジューリングを行い、計画期間末の工程別目標仕掛在庫水準を決定する第２の手段とを具備し、
最新の生産計画における生産計画データ内のスケジュールの計画対象期間末にあたるタイムスロットの在庫水準データが新たに立てるスケジュールの期間末在庫水準データであり、
最新のスケジュールにおける品目別在庫水準の推移データ内の生産計画の期首にあたるタイムスロットの在庫水準データが生産計画の期首在庫水準データであり、
最新のスケジュールにおける品目別在庫水準の推移データ内の次期スケジューリングの期首にあたるタイムスロットの在庫水準データが次期スケジューリングの期首在庫水準データであるプッシュ・プル混在型最適複合生産計画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一工程により注文品と見込み品との複合生産が可能な複合生産方式において最適生産計画を作成するためのプッシュ・プル混在型最適複合生産計画法、プッシュ・プル混在型最適複合生産計画装置、及びプログラムに関する。
【背景技術】
【０００２】
一般に、多工程、多機械から成る生産システムでは、多様な注文を複数の品目に分類して切り換え生産をするのが一般的である。この種の生産システム、つまり多品目多工程生産システムでは、どの工程及びどの機械設備においても処理する品目が切り替わる度に段取が伴う。この段取には、段取時間（セットアップタイム）と段取り費がかかる。この段取時間と段取り費は、いずれも処理する品目に依存する。一方、品目の在庫には期間に比例して保管費がかかり、これは品目に依存する。
【０００３】
そこで、品目の品切れあるいは納期遅れを起こさないで、計画対象期間に亙る総費用ができるだけ少なくて済むように、システム全体のスケジュール（最適スケジュール）を求める多品目多工程生産システムのロットサイズスケジューリング方法（多品目多工程ロットサイズスケジューリング方法）が提案されている（例えば、特許文献１または非特許文献１参照）。この多品目多工程ロットサイズスケジューリング方法では、各品目及び各機械別に、かつ計画対象期間が一定の時間間隔で分割された各タイムスロット毎に、そのタイムスロットが当該品目の生産のために当該機械により使用されているか否かを示す決定変数（プリミティブオブジェクト）を用い、全体最適化問題を部分最適化問題に分解することで、計算時間の短縮を図っている。また多品目多工程ロットサイズスケジューリング方法では、部分最適化問題を結合して全体を１つの問題として構成するために、多様な相互関係制約（例えば、品目間の機械干渉に関する制約及び仕掛品在庫量を非負とする制約）が設定される。また、目的関数の最適化と同時に相互関係制約を充足させるために、ラグランジュ分解・調整法が適用される。この多品目多工程ロットサイズスケジューリング方法によれば、多品目多工程のスケジューリングの問題に含まれる、ロットサイズ、ロット順序、差し立てなどの多様な異質の決定の諸局面を一つ一つ列挙することも意識することもなく、また人為的な制約を必要とすることなく、当該諸局面を全体最適化の視点から解決して経済的かつ合理的な実行可能スケジュールを生成することができる。
【０００４】
上記文献に記載のスケジューリングはＯ２Ｏ(Object oriented Optimization)−テクノロジと呼ばれるアルゴリズムを用いている。Ｏ２Ｏ−テクノロジはオブジェクト指向技術と、最適化技術を融合させて、リアルタイム性、高い解像能、全体最適化を追求するテクノロジであり、以下の特徴を有する。
【０００５】
１．複数の添字付の０−１変数をプリミティブオブジェクトとして多用して、人為的制約を置かないで正確に時間最適化問題を高い解像能の混合整数計画法に定式化する。
【０００６】
２．プリミティブオブジェクト自体は単独では意味を持たないが、複数がまとまって計画における状態および決定の局面を表す。
【０００７】
３．問題の加算分離可能性に注目し全体最適化問題を部分最適化問題に分解して、部分最適化問題の数学的次元を落とし、計算時間の大幅な短縮を図る。
【０００８】
４．部分最適化問題を結合して全体を一つの問題として構成するために、多様な相互関係制約を置く。
【０００９】
５．目的関数の最適化と同時に相互関係制約を充足させるために、ラグランジュ分解・調整法を使う。
【特許文献１】特開２００２−３２８９７７号公報（００１１段落）
【非特許文献１】アディティア・ワルマン、村松健児，「段取時間のある多品目多段工程動的ロットサイズスケジューリング：ラグランジュ分解調整法」，日本経営工学会論文誌，2002年，Vol.53，No.5，p.385-396
【発明の開示】
【発明が解決しようとする課題】
【００１０】
最近、顧客需要や製品の多様化、ライフサイクルの短縮などの傾向がますます加速している。これに伴い、多品目多工程生産システムにおいて、注文品と見込み品（つまり注文が確定してから手配したのでは間に合わないため、見込みで発注または見越し生産をする品目、例えば製造リードタイムの長いキーデバイス）とを区別して処理することが難しくなってきている。このような多品目多工程生産システムでは、注文品及び見込み品の２つのタイプを含む２品目以上の品目が、共通して同一工程を使用して生産される。また、この種の多品目多工程生産システムでは、注文品及び見込み品に共通して使用される品目（例えば共通部品や色塗り前の半製品など）が前工程で生産されこともある。このような生産システムを複合生産システムと称する。この複合生産システムでは、注文品及び見込み品の区別をしないで、当該注文品及び見込み品とそれらに必要な品目も併せて一括して最適な処理の計画（生産計画）を立案する方法、つまり全体最適化指向で生産計画を立案する方法が望まれる。
【００１１】
一方、上記文献（特許文献１または非特許文献１）に記載された多品目多工程ロットサイズスケジューリング方法は、ロットサイズ、ロット順序、差し立てなどの多様な異質の決定の諸局面を計画対象期間に亘って同時に最適化できることで知られている。
【００１２】
そこで、注文品及び見込み品とそれらに必要な品目も併せて一括して最適な処理の計画
を立案するのに、上記多品目多工程ロットサイズスケジューリング方法（を実現するアルゴリズム）を適用することが考えられる。最適な処理の計画を立案することにより、注文品及び見込み品の２つのタイプを含む２品目以上の品目を、共通して同一工程を使用して効果的に生産するためには、計画対象期間における当該各品目の期首在庫水準と期間末在庫水準とがそれぞれ予め適切に決められていなくてはならない。例えば、製造リードタイムの長い品目が品切れをきたせば、製品も売り損じ、或いは納期遅れをきたすから、適切な水準の仕掛品、或いは製品在庫を持つことは避けられない。したがって、各時点で各品目ががそれぞれ適切な在庫水準にあることが望まれる。
【００１３】
しかし、上記した従来の多品目多工程ロットサイズスケジューリング方法では、注文品及び見込み品を含む各品目を同一工程で混合して生産する複合生産システムへの適用は考慮されておらず、計画対象期間における当該各品目の初期在庫水準と期間末在庫水準とを全体最適化の視点から決定することについても考慮されていない。特に、注文品の生産には、注文（出荷要求）に応じて生産するプル型生産方式を適用するのが一般的であるのに対し、見込み品の生産には、出荷計画に基づいて生産するプッシュ型生産方式を適用するのが一般的であり、プッシュ・プル混在型の生産を許すスケジューリングについては考慮されていない。
【００１４】
本発明は上記事情を考慮してなされたものでその目的は、注文品と見込み品とを含む品目を同一工程を使用して生産する複合生産システムにおいて一括して最適な生産計画を立案できるプッシュ・プル混在型最適複合生産計画法及びプッシュ・プル混在型複合生産管理システムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の１つの観点は、同一工程による注文品と見込み品との複合生産方式に対して、最適生産計画を立案するための２段階生産計画法（プッシュ・プル混在型最適複合生産計画法と称する）を提案する。１段目では、長い計画期間の計画をＯ２Ｏ−テクノロジのアルゴリズムを用いて作成して、その結果から２段目の計画の計画期間末における品目別在庫水準を決定し、２段目の計画では、計画期間にわたる出荷要求と期間末の品目別目標仕掛在庫水準に対して、同じくＯ２Ｏ−テクノロジのアルゴリズムを用いて最適スケジューリングを行う。
【発明の効果】
【００１６】
複合生産システムにおいて注文品及び見込み品の区別をしないで、当該注文品及び見込み品とそれらに必要な品目も併せて一括して最適な処理の計画（生産計画）を立案する、つまり全体最適化指向で生産計画を立案することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係るプッシュ・プル混在型複合生産管理システム（以下、複合生産管理システムと称する）の構成を示すブロック図である。この複合生産管理システムは、複合生産システムにおける最適生産計画を立案するための２段階生産計画法（以下、プッシュ・プル混在型最適複合生産計画法と称する）を適用する。複合生産システムは、多工程、多機械から成り、注文品及び見込み品の２つのタイプを含む複数品目を、同一工程を使用して生産するシステムである。プッシュ・プル混在型最適複合生産計画法は、フェーズ１（第１段）の計画（以下、生産計画と称する）と、フェーズ２（第２段）の計画（以下、スケジューリングと称する）とから構成される。生産計画では、Ｏ２Ｏ−テクノロジのアルゴリズムを用いて長い計画対象期間に亘る生産在庫計画が立案される。スケジューリングでは、Ｏ２Ｏ−テクノロジのアルゴリズムを用いて生産計画に比べて比較的短期間の計画対象期間（スケジューリング対象期間）が設定される。生産計画及びスケジューリングの何れにも、上記特許文献１または非特許文献１に記載された多品目多工程ロットサイズスケジューリング方法を実現する多品目多工程ロットサイズスケジューリングアルゴリズムが適用される。本実施形態では、１回の生産計画につき、スケジューリングのサイクルの終了条件が成立するまで、スケジューリングが繰り返される。また、生産計画は、生産計画のサイクルの終了条件が成立するまで繰り返される。生産計画で用いられる品目別の期首の在庫水準（期首在庫水準）には、当該生産計画の計画対象期間の期首に対応する、最新の生産スケジュールにおけるタイムスロットの在庫水準が用いられる。一方、スケジューリングで用いられる品目別の期末の在庫水準（目標期間末在庫水準）には、当該スケジューリングの計画対象期間の期末に対応する、最新の生産計画におけるタイムスロットの在庫水準が用いられる。また、スケジューリングで用いられる品目別の期首の在庫水準（期首在庫水準）には、当該スケジューリングの計画対象期間の期首に対応する、先行するスケジューリングにおけるタイムスロットの在庫水準が用いられる。スケジューリングでは、計画対象期間における出荷要求量（確定出荷データ）と、対応する生産計画から決定される期間末における目標在庫水準の両者に対して、多品目多工程ロットサイズスケジューリングアルゴリズム（以下、最適化スケジューリングアルゴリズムと称する）を用いた最適スケジューリングが行われる。
【００１８】
図１の複合生産管理システムは、例えば図２に示すブロック構成のパーソナルコンピュータ等の計算機によって実現される。図２の計算機は、ＣＰＵ２１と、主メモリ２２と、磁気ディスク装置（以下、ＨＤＤと称する）２３と、ＣＤ−ＲＯＭ装置２４と、キーボード２５と、ディスプレイ２６とを備えている。これら、ＣＰＵ２１、主メモリ２２、ＨＤＤ２３、ＣＤ−ＲＯＭ装置２４、キーボード２５及びディスプレイ２６は、システムバス２７により相互接続されている。ＣＰＵ２１は、計算機の主制御装置である。主メモリ２２は、ＣＰＵ２１によって実行される各種プログラム、及びデータ等を格納する。ＨＤＤ２３は上記計算機の外部記憶装置である。ＣＤ−ＲＯＭ装置２４は、記録媒体としての例えばＣＤ−ＲＯＭ２４２に予め格納されている情報を計算機内に読み込む機能を有する。ＣＤ−ＲＯＭ２４２には、プッシュ・プル混在型最適複合生産計画法による最適生産計画を実現するためのプッシュ・プル混在型最適複合生産計画プログラム２４１が予め格納されている。このプログラム２４１は、ＣＤ−ＲＯＭ装置２４によりＣＤ−ＲＯＭ２４２から計算機内に読み込まれて、ＨＤＤ２３に格納（インストール）されているものとする。なお、プログラム２４１を、図示せぬ通信回線を介してＨＤＤ２３にダウンロードすることも可能である。キーボード２５は最適スケジュールの生成に必要な生産データ等を入力するための入力装置であり、ディスプレイ２６は表示用の出力装置である。本実施形態において、図１の複合生産管理システムの機能構成は、ＨＤＤ２３にインストールされたプッシュ・プル混在型最適複合生産計画プログラム２４１をＣＰＵ２１が主メモリ２２上に読み込んで当該プログラム２４１を実行することにより実現される。
【００１９】
図３は、図１の複合生産管理システムによる管理の対象となるプッシュ・プル混在型の生産を許す複合生産システム（プッシュ・プル混在型複合生産システム）の一例を示す。図３において、丸数字は品目を表す。但し、品目０は市場（システム外）を示す。品目１１乃至２３のうち品目１６，１７，１８は注文品の最終品目である。また、品目２２，２３は見込み品の最終品目である。なお、品目１６，１７，１８が注文品を一括して処理するための、或いは計画に組み込むための架空の品目であっても良い。図３の複合生産システムは、品目１乃至２３を機械１乃至１２で処理する多品目多工程生産システムであり、プル型のプロセス（工程）である注文品組立プロセス３０１と、プッシュ型のプロセスである見込み品組立プロセス３０２と、プッシュ型のプロセスであるキーデバイス生産プロセス３０３と、プル型のプロセスである一般部品調達プロセス３０４とから構成される。キーデバイスとはその会社でしか作れない会社の特長のある商品、ビジネスのキーになる製品であり、計画的に生産するものである。一般部品は注文が来てから用意しても間に合うものである。品目２は機械１、機械２の両方により生産され、品目１４は機械７、機械８の両方により生産され、品目２０は機械１０、機械１１の両方により生産される。ただし、同時期に両方の機械により生産される訳ではなく、一時期にはいずれか一方の機械にのみにより生産される。
【００２０】
さて、上記最適化スケジューリングアルゴリズムは、上記特許文献１または非特許文献１に記載されている。しかし、このアルゴリズムは、プッシュ・プル混在型最適複合生産計画法による最適生産計画を実現するのに用いられる重要なアルゴリズムである。そこで、最適化スケジューリングアルゴリズムについて以下に説明する。  
（用いる記号）
まず、上記最適化スケジューリングアルゴリズムで用いられる記号（上記特許文献１または非特許文献１に記載された記号）について、以下に整理して示す。  
（１）添字とその集合
まず、本実施形態で適用される添字とその集合を、次のように定義する。  
ｉ：品目またはその処理番号，ｉ∈Ｉ(１,２,…,ｎi)
但しｉ＝０は市場（システムの外）を表す
ｋ：機械番号，ｋ∈Ｋ(１,２,…,ｎk)を表す
ｔ：タイムスロット番号，ｔ∈Ｔ(１,２,…,ｎt)を表す
Ａ：仕掛品目の集合
Ｓ(i)：品目ｉの後続直結点の集合
Ｋ(i)：品目ｉの処理に利用できる機械の集合
Ｍ(i)：機械ｋが処理できる品目の集合
Ｐ(i)：品目ｉの先行直結点の集合
（２）入力データ
次に、本実施形態で適用される、予め設定される入力データ（生産データ及び出荷要求量データ）を、次のように定義する。  
ｐik：機械ｋにおけるタイムスロット当りの品目ｉの処理量
ｓimaxk：機械ｋの品目ｉに対する段取時間
ｓi0k：機械ｋ，品目ｉのタイムスロットｔ＝０における段取りの残り時間、即ち初期値
ｘi0：品目ｉのタイムスロットｔ＝０における実際の在庫量，在庫を持たない問題に対しては０とする
δi0k：機械ｋにおける品目ｉのタイムスロットｔ＝０における処理の状態、即ち初期値
ｒi0t：タイムスロットｔにおける品目ｉの外部需要を示す出荷要求量データであり、システムの外へ例えば補修部品などとして引かれる分（本実施形態では説明の簡略化のために、最終品目（製品）以外の品目ｉについてｒi0t＝０とする）
ρij：品目ｊに組み込まれる品目ｉの、品目ｊ １単位あたりの所要量
ｃik：機械ｋにおける品目ｉの段取費用
ｈi：品目ｉの処理によって新たに付加される価値に対する、タイムスロット当たりの在庫保管費（エシェロン在庫保管費）
ｒijt：タイムスロットｔにおいて品目ｊを生産するために使用される品目ｉの所要量
ｒi・t：品目ｉのタイムスロットｔにおける所要量
τij：品目jに組み込まれるまでの品目iのリードタイム
（３）決定変数と状態変数
次に決定変数と状態変数を次のように定義する。  
δitk：タイムスロットｔにおける機械ｋの品目ｉの処理（“処理するか、しないか”を）表す決定変数（プリミティブオブジェクト）。決定変数（プリミティブオブジェクト）は、複数の添字付きの０または１の変数（０−１変数）であり、それ自体は単独では意味を持たないが、複数がまとまって計画における状態及び決定の局面を表す。例えば、ある品目と機械設備に対して連続するタイムスロットが値１を取れば、それはロットのサイズを表すことになる。  
δitkは品目ｉがタイムスロットｔにおいて機械ｋにより処理されるとき１、それ以外のとき０
ここに、δitはδitl，ｌ∈Ｋ(i)を要素とするベクトル，
δi＝(δi1,…,δit,…δint)
δ ＝(δ1,…,δi,…δni)
ｓitk：品目ｉのタイムスロットｔにおける機械ｋの段取りの残り時間
０≦ｓitk≦ｓimaxk
ここに、
ｓitはｓtil，ｌ∈Ｋ(i)を要素とするベクトル
ｓi＝(ｓi1,…,ｓit,…ｓint)
ｓ ＝(ｓ1,…,ｓi,…ｓni)
ｘit：品目ｉのタイムスロットｔ末における見かけ上の在庫量で、定義式は次のように表される。
【数１】
2005092726.tif 000003
【００２１】
なお、ｘi0は仕掛品ｉ∈Ａに対しては、見かけの在庫量ｘitのタイムスロットｔ＝０における値、即ち初期値である。しかし、式（１）では、ｘi0は実際の初期在庫を表す。
【００２２】
〈制約条件〉
次に、上記最適化スケジューリングアルゴリズムで用いられる制約条件について説明する。上記文献（特許文献１または非特許文献１）に記載されているように、部分最適化問題を結合して全体を一つの問題として構成するために、多様な相互関係制約が用意される。  
（１）各種所要量の関係
品目ｊの所要量は、当該品目ｊに品目ｉが組み込まれるまでの品目ｉのリードタイムτijを考慮して品目ｉに展開される。ここに品目ｉは仕掛品である。したがって、ｒijtはρijとリードタイムτijが反映されたｒj・(t-τij)とを用いて下記式（２）のように表される。また、ｒj・tはｒijtとｒi0tを用いて下記式（３）のように表される。
【数２】
2005092726.tif 000004
【００２３】
上記式（３）では、ｒj・tは、右辺第１項で示される累積量と、右辺第２項で示される、タイムスロットｔにおいてシステムの外へ引かれる量との和により表されている。右辺第１項は、Ｓ(i)に含まれる全品目ｊについての、タイムスロットｔにおいて品目ｊを生産するために使用される品目ｉの所要量ｒijtの総和、つまり後工程（後続直結点）の品目ｊに組み込まれる量を表す。
【００２４】
（２）状態推移
機械の段取時間の残り時間（残り段取時間）の推移方程式：
ｓitkは、上述のように、タイムスロットｔにおける各品目ｉの段取時間の残り時間（残り段取時間）を表す。ｓitkは、機械（生産ライン）の遊休中はｓitk＝０で、品目を切り換えたとき、即ち処理状態がδit-1k＝０からδitk＝１へ変わったときにｓimaxkとなる。以後ｓitkは、時間が１タイムスロット経過する毎に１づつ０になるまで減少し、それ以後は再び切り換えが起こるまでその状態を維持する。したがってｓitkは次式に従う。
【数３】
2005092726.tif 000005
【００２５】
在庫の推移方程式：
タイムスロットｔにおける各品目ｉの実処理は、δitk＝１かつｓitk＝０の状態のときに限られる。したがって、在庫推移は以下の式に従う。
【数４】
2005092726.tif 000006
【００２６】
上記式（５）中のｘitは、品目ｉのタイムスロットｔ−１末における見かけの在庫量（右辺第１項）とタイムスロットｔにおける処理量（右辺第２項）との和から所要量ｒi・t（右辺第３項）を引いたものとして表されている。ｒi・tは、外部需要を展開して得られるタイムスロットｔの所要量である。したがって、ｘitは仕掛品ｉ∈Ａに対しては、タイムスロットｔ末における見かけの在庫量を表す。しかしｘitは、ｔ＝０に対しては実在庫を表す。またｘitは、最終品に対しても実在庫を表す。
【００２７】
機械干渉に関する制約：
どのタイムスロットｔにおいても、機械ｋは高々１品目しか処理できない。ある品目の段取り中または処理中に、別の品目の段取りを行うこともできない。この制約を機械干渉に関する制約と呼び、次式が成立する必要がある。
【数５】
2005092726.tif 000007
【００２８】
品切れを生じないための条件（品切れ禁止制約）：
どのタイムスロットｔにおけるどの品目ｉに対しても品切れは許されない。これを在庫の非負条件と呼ぶ。最終品目については、見かけの在庫が同時に実在庫を表す。このため、在庫の非負条件は、部分最適化問題の中で陽に取り扱われる。ところが、仕掛品については実際の仕掛品を定式化して、これの非負条件を設定しなくてはならない。
【００２９】
タイムスロットｔにおける品目ｉの仕掛品在庫量は、初期在庫量ｘi0と累積生産量との和から累積払い出し量を除いた量である。但し、直接外部へ出荷された量ｒi0tは予め差し引いておかなくてはならない。したがって、タイムスロットｔにおける品目ｉの仕掛品在庫量の非負条件は次式のように表される。
【数６】
2005092726.tif 000008
【００３０】
上記式（７）の左辺第２項は、各タイムスロットにおいて品目ｉの処理量から直接外部へ出荷された量を予め差し引いた処理量のタイムスロットｔ末までの累積量、つまり累積生産量を表す。左辺第３項はタイムスロットｔ末までの累積払い出し量を表す。
【００３１】
ところが品目が最終品の場合には、式（７）左辺の第１項及び第２項の部分のみとなる。上記式（７）の制約式に見かけの在庫量の定義式（１）を代入して整理すると、次式を得る。
【数７】
2005092726.tif 000009
【００３２】
ここに、左辺第２項は、リードタイムτij＝０の場合には式（２），（３）から値０となって消える。
【００３３】
使用できる機械台数の制約：
同時に使用できる機械は高々ｃ台に限られる。したがって次式が成立する必要がある。
【数８】
2005092726.tif 000010
【００３４】
〈コスト〉
スケジューリング問題で関連する費用には２種ある。１つは、機械ｋが品目ｉへの切り換え時に発生する段取費ｃikである。もう１つは、各タイムスロットｔ末毎に見かけの在庫量ｘitに比例して発生するエシェロン在庫保管費ｈiである。これらは、それぞれｃik（１−δit-1k)δitk，ｈiｘitにより表される。したがって品目ｉのタイムスロットｔにおけるコストをｆi（δi，si，ｘi）で表すと、このコストｆi（δi，si，ｘi）、即ち品目ｉにおけるコスト関数は次式（１０）で表される。
【数９】
2005092726.tif 000011
【００３５】
ここで、タイムスロットｔにおけるコストは、タイムスロットｔ−１における決定変数δit-1kにも依存する。
【００３６】
〈問題〉
以上により、結局、取り扱うべき最適化問題は、式（１０）のコストｆi（δi，si，ｘi）の全品目についての総和を表す関数の値、つまり目的関数の値を、一定の制約のもとで最小とすることである。よって、最適化問題は次式に定式化される。
【数１０】
2005092726.tif 000012
【００３７】
なお、式（１１）中のs.t.（４），（５），（６），（８），（９）は、取り扱うべき問題が式（４），（５），（６），（８），（９）の制約を受けることを示す。
【００３８】
《ラグランジュ分解調整法に基づく解法》
〈制約条件の取り扱い〉
この問題には、制約条件として、式（２），（３），（４），（５），（６），（８），（９）が関係している。ここに提案する解法ではこれらの制約条件の取り扱い方が大きく２通りに分かれる。第１は部分問題の中に取り込まれて、個々の問題を解く際に陽に取り扱われるものである。第２は相互関係制約として複数の部分問題に亙って関係するものである。
【００３９】
式（２），（３）は入力データ間の関係を表すもので決定変数を含まないから、上記のいずれにも入らない。式（４）及び（５）は推移方程式であり、品目に固有である。このため、式（４）及び（５）は、品目別の部分問題を動的計画法で解くときに欠かすことができない。したがってこれらは第１の種類に属する。同時（一度）に使用できる機械の制約式（９）についても品目に固有である。よって、式（９）も第１の種類に属し、やはり部分問題の中で取り扱うことにする。
【００４０】
ところが、機械干渉に関する式（６）は複数の品目に関係している。このため式（６）は、第２の種類である相互関係制約に属する。次に、品切れを避けるための制約式（８）については注意が必要である。即ち、品目が最終品目の場合には、式（７）において左辺第３項が関係しないから、初めから処理の独立性が成り立っている。この場合、在庫の非負制約は、部分問題の中で陽に取り扱うことができる。これに反して品目が仕掛品の場合には、上記第３項が関係して、処理の独立性が犯される。この場合、在庫の非負制約は、部分問題の中で取り扱うことはできない。そこで本実施形態では、処理の整合性を保証するために、式（８）を第２の種類である相互関係制約として取り扱う。
【００４１】
〈ラグランジュ関数〉
相互関係制約、即ち、機械干渉の制約（６）と仕掛品在庫に対する非負制約（８）とを緩和して、次式に示すラグランジュ関数を導く。
【数１１】
2005092726.tif 000013
【００４２】
ここに、μtkとλitとは、それぞれ、機械干渉制約条件（６）と仕掛品在庫の非負条件（８）に対するペナルティコスト（ラインの使用料）を表すラグランジュ乗数である。但し、μtはμtl，ｌ∈Ｋ(i)を要素とするベクトルであり、μ＝(μ1,μt,…,μnt)とする。同様に、λiもベクトルであり、λi＝（λi1,…,λit,…,λint)，λ＝（λ1,…,λi,…,λnt)とする。
【００４３】
〈ラグランジュ問題〉
結局、制約条件として式（２），（３），（４），（５），（６），（８），（９）が関係している上記式（１１）の問題は、次式（１３）に示すラグランジュ問題と同値になる。この式（１３）は、式（１１）と関係している制約式（２），（３），（４），（５），（６），（８），（９）中の式（４），（５），（９）を制約条件とする。
【数１２】
2005092726.tif 000014
【００４４】
ここで、問題を品目別に分解するために、式（１２）をまず品目ｉについて整理して、以下のラグランジュ関数を導く。
【数１３】
2005092726.tif 000015
【００４５】
ここで、ａ(i)を、品目ｉが後続直結点を持つとき（つまり仕掛品となり得るとき）１、それ以外のとき０と表現すれば、上記式（１４）は次式のように表すことができる。
【数１４】
2005092726.tif 000016
【００４６】
〈部分最適化問題〉
上記式（１５）から、式（１１）で示される問題は、所与のμ，λに対して、以下の部分問題（部分最適化問題）に分解することができる。つまり、問題の加算分離可能性に注目することにより全体最適化問題を部分最適化問題に分解することができる。これによりる、部分最適化問題の数学的次元を落とし、計算時間の短縮を図ることが可能となる。
【数１５】
2005092726.tif 000017
【００４７】
品目ｉに対する、式（１６）で示される部分最適化問題は、所与のμ，λに対して、他と独立に解くことができる。この解法については後述する。
【００４８】
〈ラグランジュ乗数の調整〉
本実施形態では、ラグランジュ乗数として、μtkとλitとの２種が用いられる。このため、繰返し計算の第ν回目でのラグランジュ乗数の更新には、機械干渉に用いるラグランジュ乗数の更新ルールと、仕掛品の在庫充足に用いるラグランジュ乗数の更新ルールとの２つが必要となる。
【００４９】
機械干渉に用いるラグランジュ乗数の更新ルール：
まず、機械干渉に用いるラグランジュ乗数の更新ルールは次式に示される通りである。
【数１６】
2005092726.tif 000018
【００５０】
仕掛品の在庫充足に用いるラグランジュ乗数の更新ルール：
次に、仕掛品の在庫充足に用いるラグランジュ乗数の更新ルールは次式に示される通りである。
【数１７】
2005092726.tif 000019
【００５１】
なお、上記式（１８）においてα，βはスカラーステップサイズである。このα，βの値は数値計算で試行錯誤的に決められる。ここで、α，βをそれぞれｋ（機械），ｉ（品目）に依存させることも可能である。
【００５２】
《部分最適化問題の動的計画法》
次に、式（１６）で示される部分最適化問題を動的計画法に再定式化して解く方法について説明する。
【００５３】
〈取り得る状態〉
タイムスロットｔにおいて取り得る決定δitkは、先行するタイムスロットｔ−１における在庫状態ｘに依存するばかりでない。即ち決定δitkは、先行するタイムスロットｔ−１における利用可能なすべての機械の状態、及び同じタイムスロットｔにおける残り段取時間ｓit-1kにも依存する。(δitk，ｓitk)が(０，０)の状態（第１の状態）が次のタイムスロットで取り得る状態は、同じ第１の状態または(１，ｓimaxk)の状態（第２の状態）のいずれかである。第１の状態は、機械ｋの遊休中を示す。また、第２の状態は、品目を切り換えたとき、つまりセットアップの開始時を示す。この第２の状態、即ち(１，ｓimaxk)の状態が次のタイムスロットに取り得る状態は、(１，ｓimaxk−１)の状態（第３の状態）のみである。第３の状態は、セットアップ開始時から時間が１タイムスロットだけ経過し、残り段取時間がｓimaxk−１となったことを示す。以下、同様にして、時間が１タイムスロット経過する毎に、(δitk,ｓitk）のうちのδitkが１のままの状態で、ｓitkだけが１ずつ減少していく。やがて(δitk,ｓitk）は、（１，１）の状態（第４の状態）に遷移する。第４の状態は残り段取時間が１（１タイムスロット分）であり、セットアップ終了直前の状態となったことを示す。第２の状態から第４の状態までの期間がセットアップ中（生産中）の期間となる。第４の状態、即ち（１，１）の状態が、次のタイムスロットに取り得る状態は、（１，０）の状態（第５の状態）のみである。第５の状態、即ち（１，０）の状態が、次のタイムスロットに取り得る状態は、同じ第５の状態または(０，０）の状態（第１の状態）のいずれかである。
【００５４】
〈最適コスト関数とその計算〉
次に、最適コスト関数とその計算について説明する。本実施形態では、所与のラグランジュ乗数μ，λiに対して、最適コスト関数を
Ｖt（δit，ｓit，ｘit，μ，λi）
で表す。この最適コスト関数Ｖtを、タイムスロット０からタイムスロットｔまでの各タイムスロットにおいて採られた最適決定に伴って発生するコストの和であると定義する。但し、タイムスロットｔにおいて、品目ｉの決定変数（機械のセッティングの状態）、残り段取時間、在庫状態（タイムスロット末の在庫量）を、それぞれδit，ｓit，ｘitであるとする。
【００５５】
ここで重要なことは、上記最適コスト関数に、状態変数のベクトルとして、ベクトルｓitと変数ｘitの他に、決定変数のベクトルδitが入っている点である。つまり、決定変数δitが状態変数の役割も担っている点である。これはタイムスロットｔにおいて発生する段取りコストが、タイムスロットｔ−１の決定にも依存することに起因している。言い換えるならば、タイムスロットｔにおいて発生するコストを計算するために、先行タイムスロットｔ−１におけるの情報が必要になるからである。この場合、最適コスト関数は動的計画法による次の再帰関係式で表すことができる。
【数１８】
2005092726.tif 000020
【００５６】
ここでｘit-1が許容範囲にないときは、任意のδit-1k，ｓit-1kに対して、Ｖt（δit，ｓit，ｘit，μ，λi）は常に＋∞である。このとき、δit-1*（δit，ｓit，ｘit，μ，λi）は上記式（２０）の最適決定を表すものとする。
【００５７】
ｓitl＝０（ｌ∈Ｋ(i)）の場合には、所与のδitl，ｓitl（ｌ∈Ｋ(i)），ｘit，μ，λiと選択された決定δit-1l（ｌ∈Ｋ(i)）に対して、前記式（４），（５）からｓit-1k，ｘit-1を求めれば、タイムスロットｔ−１における最適コスト関数の値が決まる。ところが、ｓitl＝０の場合、そのｓitl＝０の状態に推移するタイムスロットｔ−１におけるｓit-1lの状態は、ｓit-1l＝０とｓit-1l＝１のいずれをとるか、特定できない。そこで、これに対処するために、上記式（２０）で示される最小値（ｍｉｎ）が、δit-1の他に、ｓit-1に対してもとられている。一方、タイムスロットｔにおいて発生するすべてのコストは確定している。したがって上記式（２０）が計算できる。
【００５８】
〈最適解の決定〉
今、品目ｉについて、上記式（２０）の最適コスト関数値Ｖt（δit，ｓit，ｘit，μ，λi）と、最適決定即ちδit-1*（δit，ｓit，ｘit，μ，λi）とが、各タイムスロットｔ（ｔ＝１，…，ｎt）に対してすべて求められているものとする。また、品目ｉの各タイムスロット毎のＶt（δit，ｓit，ｘit，μ，λi）及びδit-1*（δit，ｓit，ｘit，μ，λi）とが、例えば表の形でメモリ（ここではコスト記憶エリア２２３）内に格納されているものとする。さらに、ｓitl＝０（ｌ∈Ｋ(i)）に対しては、最適な残り段取時間ｓit-1*（δit，ｓit，ｘit，μ，λi）についても、メモリに同様に格納されているものとする。このときの、品目の最適解、即ちスケジュールと状態推移とを確定するための手続きについてを図１４（その説明は後述する）に示す。
【００５９】
以上、本実施形態で適用する最適化スケジューリングアルゴリズムについて説明した。
【００６０】
次に、図１のシステムの構成について説明する。図１の複合生産管理システムは、上記した最適化スケジューリングアルゴリズムを適用してプッシュ・プル混在型最適複合生産計画法による最適生産計画を実行するために、主制御部１１と、前処理部１２と、多品目多工程ロットサイズスケジューリング部１３とを備えている。これら各部１１〜１３は、図２の計算機内のＣＰＵ２１がプッシュ・プル混在型最適複合生産計画プログラム２４１を実行することにより実現される機能要素である。
【００６１】
主制御部１１は、入出力制御部１１１と、生産計画制御部１１２と、スケジューリング制御部１１３とを備えている。入出力制御部１１１は、最適生産計画に必要な各種システムパラメータ、生産計画（フェーズ１の計画）に必要な各種データ、及びスケジューリング（フェーズ２の計画）に必要な各種データをユーザの操作により入力するための制御を行う。生産計画制御部１１２は、生産計画（フェーズ１の計画）を立案するための生産計画モードを設定して、前処理部１２及び多品目多工程ロットサイズスケジューリング部１３を用いて最適生産計画を生成するための制御を行う。スケジューリング制御部１１３は、スケジューリング（フェーズ２の計画）を立案するためのスケジューリングモードを設定して、前処理部１２及び多品目多工程ロットサイズスケジューリング部１３を用いて最適生産スケジュールを生成するための制御を行う。前処理部１２は、生産計画（フェーズ１サイクル）毎に、その生産計画のための前処理を行う。また前処理部１２は、スケジューリング（フェーズ２サイクル）毎に、そのスケジューリングのための前処理を行う。多品目多工程ロットサイズスケジューリング部１３は、生産計画（フェーズ１サイクル）毎に、最適化スケジューリングアルゴリズムを用いて最適生産計画を生成する。同様に多品目多工程ロットサイズスケジューリング部１３は、スケジューリング（フェーズ２サイクル）毎に、最適化スケジューリングアルゴリズムを用いて最適生産スケジュールを生成する。
【００６２】
多品目多工程ロットサイズスケジューリング部１３は、最適化部１３１と、在庫量抽出部１３２と、残り段取時間抽出部１３３と、機械干渉判定部１３４と、機械干渉制御部１３５と、最適生産計画／スケジュール生成部１３６と、充足判定部１３７と、在庫制御部１３８とを備えている。最適化部１３１は、各品目ｉについて、式（１６）の部分最適化問題を、他の品目とは独立に解き、その解を求める動作を実行する。この際、最適化部１３１は、上記部分最適化問題を、在庫推移と残り段取時間推移の制約のもとで、式（２０）の最適コスト関数を用いて解く。在庫量抽出部１３２は、最適化部１３１での動作に必要な在庫量を抽出する。残り段取時間抽出部１３３は、最適化部１３１での動作に必要な残り段取時間を抽出する。
【００６３】
機械干渉判定部１３４は、最適化部１３１により求められた品目ｉ毎の解から、機械干渉が解消されていると見なせるか否かを判定する。機械干渉制御部１３５は、機械干渉が解消されていない場合に、機械干渉が減少するように最適化部１３１を制御する。具体的には、最適化部１３１により用いられる最適コスト関数中の、機械干渉の制御（調整）に必要なラグランジュ乗数（μtk）を更新する。
【００６４】
充足判定部１３７は、最適化部１３１により求められた品目ｉ毎の解から、仕掛品在庫が充足しているか否かを判定する。在庫制御部１３８は、仕掛品在庫が充足していない場合、つまり仕掛品在庫の品切れを起こしている場合に、仕掛品在庫が充足するように最適化部１３１を制御する。具体的には、最適化部１３１により用いられる最適コスト関数中の、仕掛品の充足の制御（調整）に必要なラグランジュ乗数（λit）を更新する。最適生産計画／スケジュール生成部１３６は機械干渉及び仕掛品在庫の品切れが解消されたものと判定された場合、その際に求められている解を用いて生産計画または生産スケジュールを生成する。
【００６５】
主メモリ２２には、システムパラメータ記憶エリア２２０と、生産データ記憶エリア２２１と、スケジューリングデータ記憶エリア２２２と、コスト記憶エリア２２３とが確保されている。エリア２２０は、後述する各種システムパラメータを格納するのに用いられる。エリア２２１は、生産技術データを格納するのに用いられる。この生産技術データは、品目ｉ及び機械ｋ別のｐik，ｓimaxk，ｃik（第２の生産技術データ）の各データと、品目ｉ及び機械ｋ別のｓi0k，δi0k，ｃikの各データと、品目ｉ別のｘi0，，ρij（第１の生産技術データ）の各データと、品目ｉ別のｈi，τijの各データと、品目ｉ毎の各タイムスロットｔにおけるｒijt，ｒi・tの各データとを含む。エリア２２２は、生産計画（フェーズ１の計画）で必要なデータ（在庫保管費データ、期首在庫データ、目標期間末在庫データ、需要予測データ及び確定注文データ）を格納するのに用いられる。エリア２２３は、最適化部１３１で算出されたタイムスロットｔまでのコストの和Ｖt（δit，ｓit，ｘit，μ，λi）及び当該和Ｖt（δit，ｓit，ｘit，μ，λi）に対応するδit*，ｓit*，ｘit*を表形式で格納するのに用いられる。ここで、δit*，ｓit*，ｘit*を格納するエリアを別に確保することも可能である。
【００６６】
主メモリ２２には更に、中間結果記憶エリア２２４と、最終結果記憶エリア２２５と、生産計画／スケジュール記憶エリア２２６とが確保されている。エリア２２５は、最適化部１３１で最適部分問題を解くことにより求められた解の中間結果を格納するのに用いられる。エリア２２６は、最適化部１３１で最適部分問題を解くことにより求められた解の最終結果を格納するのに用いられる。エリア２２７は、最適生産計画／スケジュール生成部１３６により生成された生産計画または生産スケジュールを格納するのに用いられる。
【００６７】
次に、図１の複合生産管理システムにおいて、プッシュ・プル混在型最適複合生産計画法（２段階生産計画法）により、図３に示したような複合生産システムに適用される最適生産計画及び最適生産スケジュールを立案する場合の動作の概要について説明する。図４を参照して説明する。
【００６８】
まず、第１段の計画（フェーズ１の計画）である生産計画４０１では、最適生産計画が多品目多工程ロットサイズスケジューリング部１３により生成される。生産計画４０１は、当該生産計画４０１の終了条件が成立するまで繰り返される。生産計画４０１の対象期間（計画対象期間）４０２は比較的長期間（例えば１年）に設定される。生産計画４０１の立案時点（計画立案時点）４０３から当該生産計画４０１の計画対象期間４０２の開始時点（期首）までの期間を計画リードタイム４０４と呼ぶ。また、生産計画４０１の繰り返しにおいて、ある生産計画４０１の立案時点４０３から次の生産計画４０１の立案時点４０３までの期間を計画サイクルタイム４０５と呼ぶ。
【００６９】
一方、第２段の計画（フェーズ２の計画）であるスケジューリング４１１では、最適生産スケジュールが多品目多工程ロットサイズスケジューリング部１３により生成される。スケジューリング４１１は、１回の生産計画４０１が実行される毎に、当該スケジューリング４１１の終了条件が成立するまで繰り返される。スケジューリング４１１の対象期間（計画対象期間）４１２は生産計画４０１の計画対象期間４０２に比べて短期間（例えば２週間）に設定される。スケジューリング４１１の立案時点（計画立案時点）４１３から当該スケジューリング４１１の計画対象期間４１２の開始時点（期首）までの期間を計画リードタイム４１４と呼ぶ。また、スケジューリング４１１の繰り返しにおいて、あるスケジューリング４１１の立案時点４１３から次のスケジューリング４１１の立案時点４１３までの期間を計画サイクルタイム４１５と呼ぶ。
【００７０】
生産計画４０１の実行により得られるタイムスロット毎の品目別在庫水準の推移データのうち、スケジューリング４１１における計画対象期間４１２の期末（計画対象期間末）に対応するタイムスロットの品目別在庫水準のデータ４０６は、当該スケジューリング４１１における期間末の目標となる在庫水準（目標期間末在庫水準）を与える。生産計画４０１の計画対象期間４０２における期首の品目別在庫水準は、最新のスケジューリング４１１の実行により得られるタイムスロット毎の品目別在庫水準の推移データのうち、計画対象期間４０２の期首に対応するタイムスロットの品目別在庫水準のデータ４１６により与えられる。
【００７１】
スケジューリング４１１では、スケジューリングの計画対象期間４１２における出荷要求量（確定出荷データ）とデータ４０６により与えられる品目別目標期間末在庫水準の両者に対して、多品目多工程ロットサイズスケジューリング部１３を用いて最適スケジューリングが行われる。ここでは、スケジューリング４１１の計画対象期間４１２の期首の品目別在庫水準（品目別の期首在庫水準）が、先行するスケジューリング４１１の実行により得られるタイムスロット毎の品目別在庫水準の推移データのうち、当該計画対象期間４１２の期首に対応するタイムスロットの品目別在庫水準のデータ４１７により与えられる。
【００７２】
複合生産方式は、注文品と見込み品の２つのタイプを含む二品目以上の品目を、共通して同一工程を使用して生産する方式であって、少なくとも見込み品の需要には季節変動、傾向変動、新・旧製品の切換えなどの時間変動があるとする。
【００７３】
複合生産方式は、前工程で生産されて注文品と見込み品に共通して使用される品目（たとえば共通部品や色塗り前の半製品など）を持った構成であり、少なくとも１つの品目の需要が季節変動等の時間変動があるとする。
【００７４】
複合生産方式は、注文品と見込み品の２つのタイプを含む二品目以上の品目を、共通して同一工程を使用して生産する方式であって、見込み品には季節変動等の時間変動があり、前工程で生産されて見込み品と注文品の両タイプに共通して使用される品目（たとえば共通部品や色塗り前の半製品など）を持った構成であり、少なくとも１つの品目の需要に季節変動等の時間変動があるとする。
【００７５】
上述したプッシュ・プル混在型最適複合生産計画法（２段階生産計画法）の特徴を以下に整理して示す。まず、最適複合生産計画法では、スケジューリングのみでなく、生産計画においても多品目多工程ロットサイズスケジューリング部１３が用いられる。この計画法によれば、（１）生産計画自体の解像能をスケジューリング並に上げることができる、（２）解像能を上げたにも拘わらず、計算時間を合理的時間（スケジューリングの計算時間×生産計画の計画対象期間／スケジューリングの計画対象期間）に抑えることができる、（３）解像能を上げて、予め人為的な制約を殆ど置かないで定式化して問題を解くので、多様な異質の決定局面を多品目多工程ロットサイズスケジューリングアルゴリズムによって最適化できる、という効果が期待できる。これにより、生産計画にシミュレーション機能と最適化機能とを同時に組み込むことが可能になるという格別な効果を得ることができる。例えば、既存の生産在庫計画では、タイムバケットを基準にして、予め登録された固定標準リードタイムや固定ロットサイズによって立案され、しかも、計画の実行可能性を事前に保証するために、これらの品目の固定標準リードタイムは長めに設定されている。したがって実際には処理の仕方次第で短縮できるはずの各品目の累積リードタイムが、既に所要量展開の段階で実際よりも長く設定される欠陥がある。その上、計画は名称こそ生産在庫計画であるが、負荷の水準を調整するところまでが限界で、工程間に亙る処理の状況を取扱うことには成功していない。これに対して本実施形態では、タイムバケットの概念は存在しないし、固定リードタイムも固定ロットサイズも予め登録することはしないで計画を立てることができる。したがって、品目リードタイムも品目ロットサイズも、共に、最適化スケジューリングアルゴリズムによって問題を解いたときに、初めて状況に応じてタイムヴァリアントに決まってくる。この計画が実際と異なるのは需要データが確定でなく予測データであることである。このような意味で、提案法はシミュレーション機能と最適化機能を持つといえる。
【００７６】
また、季節の繁忙期に向かって、生産のピークを前倒しして仕掛品や在庫や製品在庫を積み上げ、季節的変動を平準化することができる。２段階の計画のうち、計画対象期間が第２段の生産計画（フェーズ１の計画）より長期間の第１段のスケジューリング（フェーズ２の計画）で、第２段に対する与件となる計画期末在庫を最適にすることによって、より最適で頑健性の高い生産管理システムを実現することができる。第２段の最適な生産スケジューリングを得るための境界条件を第１段の生産計画で最適に求めておくことで、より全体最適性を確保することができる。
【００７７】
次に、図１の複合生産管理システムで適用されるシステムパラメータについて説明する。システムパラメータは、生産計画（フェーズ１の計画）のパラメータとスケジューリング（フェーズ２の計画）のパラメータとに大別される。生産計画のパラメータは、生産計画のタイムスロットと、図４に示す、計画対象期間４０２、計画リードタイム４０４及び計画サイクルタイム４０５とを含む。スケジューリングのパラメータは、スケジューリングのタイムスロットと、図４に示す、計画対象期間４１２、計画リードタイム４１４及び計画サイクルタイム４１５とを含む。ここでは管理を容易にするために、生産計画のタイムスロット及びスケジューリングのタイムスロットの時間幅は等しい値に設定される。
【００７８】
次に、プッシュ・プル混在型最適複合生産計画法の手順について、図５のフローチャートを参照して説明する。まず、図１の複合生産管理システムにより最適生産計画及び最適生産スケジュールを立案するには、ユーザに各種システムパラメータを決定させる必要がある。主制御部１１内の入出力制御部１１１は、図１の複合生産管理システムのユーザ（生産管理者）に対し、生産計画及びスケジューリングの各々について、予め定められた種類のシステムパラメータを決定（定義）するように要求する画面を、例えばディスプレイ２６に表示して、当該画面を通して対応するシステムパラメータを決定（定義）させる（ステップＳ１）。ここでは、ユーザがキーボード２５を操作することで、システムパラメータが入力されるものとするが、システムパラメータのファイルが、記憶媒体、或いはネットワーク等を介して入力されるものであっても構わない。
【００７９】
ステップＳ１では、生産計画に固有のシステムパラメータとして、生産計画の計画対象期間、計画リードタイム、計画サイクルタイム及びタイムスロットが定義され、スケジューリングに固有のシステムパラメータとして、スケジューリングの計画対象期間、計画リードタイム、計画サイクルタイム及びタイムスロットが定義される。ここでは、生産計画の計画対象期間として１年が定義される。但し、説明を簡略化するために、１ヶ月を４週間として、１年が４８週であるとする。また、スケジューリングの計画対象期間として２週間が定義される。つまり、スケジューリングの計画対象期間は、生産計画の計画対象期間の２４分の１の長さである。生産計画及びスケジューリングのタイムスロットの時間幅として、生産計画の計画対象期間／２６４０＝スケジューリングの計画対象期間／１１０が定義される。つまり、生産計画及びスケジューリングの各々の計画対象期間のタイムスロット数として、それぞれ２６４０及び１１０が定義される。各システムパラメータは、入出力制御部１１１により主メモリ２２のシステムパラメータ記憶エリア２２０に格納される。
【００８０】
ステップＳ１が実行されると、主制御部１１内の生産計画制御部１１２は、図１のシステムを生産計画モード（フェーズ１）に設定する。主制御部１１内の入出力制御部１１１は、生産計画モードにおいて、生産計画のためのデータの準備を行う（ステップＳ２）。ここでは、生産計画のためのデータとして、第１及び第２の生産技術データと、在庫保管費データと、期首在庫データと、目標期間末在庫データと、需要予測データと、確定注文データとが用意される。
【００８１】
第１の生産技術データは、各品目ｊに組み込まれる品目ｉの、品目ｊ １単位あたりの所要量ρijを示すデータであり、例えば図６に示す表形式で用意される。第２の生産技術データは、各機械ｋにおけるタイムスロット当りの品目ｉの処理量ｐikを示すデータと、機械ｋの品目ｉに対する段取時間ｓimaxkを示すデータと、機械ｋにおける品目ｉの段取費用ｃikを示すデータを含み、例えば図７に示す表形式で用意される。
【００８２】
在庫保管費データは各品目ｉの在庫保管費ｈiを示すデータ、期首在庫データは各品目ｉの生産計画のタイムスロットｔ＝０（生産計画の計画対象期間の期首）における在庫量（在庫水準）ｘi0を示すデータである。目標期間末在庫データは各品目ｉの生産計画のタイムスロットｔ＝ｎt（生産計画の計画対象期間の期末）における目標とする在庫量（目標期間末在庫）ｚintを示すデータ、需要予測データは各最終品目ｉの季節変動を考慮した月別の需要予測値Ｄimである。在庫保管費データ、期首在庫データ、目標期間末在庫データ及び需要予測データは例えば図８に示す表形式で用意される。
【００８３】
１回目の生産計画では、図６乃至図８の表形式のデータが、例えばユーザがキーボード２５を操作することで入出力制御部１１１により入力される。そして、図６及び図７の表形式のデータは生産データ記憶エリア２２１に、図８の表形式のデータはスケジューリングデータ記憶エリア２２２に、それぞれ格納される。図６乃至図８の表形式のデータがファイルとして管理され、そのファイルが、記憶媒体、或いはネットワーク等を介して入力されるものであっても構わない。２回目以降の生産計画の場合、期首在庫データには、最新の生産スケジュールにおける対応するタイムスロットｔの品目別在庫水準のデータ（図４中のデータ４１７）が用いられる。
【００８４】
需要予測データは、例えば図９に示す各最終品目（製品）ｉについての年間に亙って用いられる月別の需要予測値（月次需要予測値）と、図１０に示す見込み品と注文品それぞれの製品の季節指数（つまり製品別季節指数）とを掛け合わせることで作成される。この需要予測データが、ユーザの操作によって用意される構成としても、図９に示す表形式で用意される月次需要予測値と図１０に示す表形式で用意される製品別季節指数とをもとに、前処理部１２によって生成される構成としても良い。また、確定注文データは、確定された注文品目ｉについて、タイムスロット別に与えられる注文数量を示す。例えば図１１に示す表形式で用意される。ここでは、確定注文データは、確定された注文品目（ここでは品目１６，１７，１８）について、タイムスロット別に与えられる注文数量を示す。なお、図１１の表形式データは、確定注文データの他に、スケジューリングにおける品目別期首在庫水準を示すデータ、即ち各品目ｉのスケジューリングのタイムスロットｔ＝０（スケジューリングの計画対象期間の期首）における在庫量ｘi0を示すデータ（期首在庫データ）を含む。図１１の表形式データは更に、スケジューリングにおける品目別目標期間末在庫水準を示すデータ、即ち各品目ｉのスケジューリングのタイムスロットｔ＝ｎt（生産計画の計画対象期間の期末）における目標とする在庫量（目標期間末在庫）ｚintを示すデータ（目標期間末在庫データ）を含む。
【００８５】
ステップＳ２が実行されると、主制御部１１内の生産計画制御部１１２は、図１のシステムを生産計画モード（フェーズ１）に設定する。そして、生産計画制御部１１２は前処理部１２を起動する。前処理部１２は生産計画モードにおいて、生産計画立案のための前処理を次のように実行する（ステップＳ３）。まず前処理部１２は、図８に示す表形式のデータに含まれている需要予測データ、即ち品目別でかつ月別の需要予測値をタイムスロット別に分解する（ステップＳ３ａ）。次に前処理部１２は、図１１に示す表形式のデータに含まれている確定注文データ、即ち確定された注文品目についてタイムスロット別に与えられる注文数量を、対応する品目でかつタイムスロットの需要予測値に加算する（ステップＳ３ｂ）。次に前処理部１２は、確定注文データが反映された需要予測データ、即ち注文数量が反映された品目別でかつタイムスロット別の需要予測値を、図６に示す表形式の第１の生産技術データに基づいて部品展開する（ステップＳ３ｃ）。需要予測データの部品展開とは、品目別でかつタイムスロット別の需要予測値を、部品を含めた品目別でかつタイムスロット別の需要予測値を示す、例えば表形式のデータに変換することである。図１２は、この部品展開後のタイムスロット別に分解された需要予測データの一例を示す。部品展開後のタイムスロット別に分解された需要予測データは主メモリ２２のスケジューリングデータ記憶エリア２２２に格納される。
【００８６】
このように、前処理部１２による生産計画立案のための前処理が行われて、部品展開後のタイムスロット別に分解された需要予測データが主メモリ２２のスケジューリングデータ記憶エリア２２２に格納されたものとする。すると、生産計画制御部１１２は、主メモリ２２の生産データ記憶エリア２２１に格納されている図６及び図７に示した第１及び第２の生産技術データと、主メモリ２２のスケジューリングデータ記憶エリア２２２に格納されている図１２に示した部品展開後のタイムスロット別に分解された需要予測データとを用いて、多品目多工程ロットサイズスケジューリング部１３により最適生産計画を生成させる（ステップＳ４）。
【００８７】
以下、生産計画制御部１１２及び多品目多工程ロットサイズスケジューリング部１３の動作について、図１３のフローチャートを参照して説明する。この図１３のフローチャートは、特許文献１の図３のフローチャートに相当する。
【００８８】
まず生産計画制御部１１２は、繰り返し数（繰り返し番号）νを初期値０に設定する（ステップＳ１１）。また生産計画制御部１１２は、中間結果記憶エリア２２４上の品目ｉ（ｉ∈Ｉ(１,２,…,ｎi)）別、タイムスロットｔ（ｔ∈Ｔ(１,２,…,ｎt)）別及び機械ｋ（ｋ∈Ｋ(１,２,…,ｎk)）別の、それぞれ決定変数δitkν及びｓitkνを初期値０に設定する（ステップＳ１２）。また生産計画制御部１１２は、タイムスロットｔ（ｔ∈Ｔ(１,２,…,ｎt)）別及び機械ｋ（ｋ∈Ｋ(１,２,…,ｎk)）別のラグランジュ乗数μtkνを、初期値０に設定する（ステップＳ１３）。このステップＳ１３では、タイムスロットｔ（ｔ∈Ｔ(１,２,…,ｎt)）別のラグランジュ乗数λtνも初期値０に設定される。
【００８９】
生産計画制御部１１２はステップＳ１１〜Ｓ１３を実行すると、最適化部１３１を起動する。最適化部１３１はまず、品目ｉを１に初期設定する（ステップＳ１４）。次に最適化部１３１は、品目ｉの式（１６）に示す部分最適化問題を、残り段取時間推移方程式（４）及び在庫推移方程式（５）の制約のもとで解く（ステップＳ１５）。ここでは、上記部分最適化問題を解くのに、式（２０）の最適コスト関数が用いられる。また、部分最適化問題を解いた結果、品目ｉについて、当該品目ｉの処理に利用可能な各機械ｋ別に、各タイムスロット毎の解δitkν（∀ｔ∈Ｔ，ｋ∈Ｋ(i)）が求められる。
【００９０】
図１４は、このステップＳ１５の詳細な手順を示したものである。ここでは最適化部１３１は、品目ｉの部分最適化問題を解くために、以下に述べる最適コスト関数値Ｖt（δit，ｓit，ｘit，μ，λi）と最適決定δit-1*（δit，ｓit，ｘit）とを求める。そのため最適化部１３１は、まずタイムスロットｔを１に設定する（ステップＳ３１）。そして最適化部１３１は、品目ｉについて、取り得る（実行し得る）すべての組み合わせの（δit，ｓit，ｘit）に対し、最適コスト関数値Ｖt（δit，ｓit，ｘit，μ，λi）を算出する（ステップＳ３２）。この最適コスト関数値の算出は、品目ｉの処理（生産）に使用可能な機械ｋの範囲（ｋ∈Ｋ(i)）で前記式（２０）の最適コスト関数を用いて実行される。上記ステップＳ３２では、上記算出された最適コスト関数値Ｖt（δit，ｓit，ｘit，μ，λi）が、そのときの最適決定δit-1*（δit，ｓit，ｘit）と共に、コスト記憶エリア２２３に表形式で格納される。
【００９１】
次に最適化部１３１は、ｔを１だけインクリメントする（ステップＳ３３）。もし、インクリメント後のｔがｎtより大きくなければ（ステップＳ３４）、最適化部１３１は、そのインクリメント後のｔに対して上記ステップＳ３２，Ｓ３３の処理を行う。このステップＳ３２，Ｓ３３の処理は、ｔ＝ｎtまで繰り返される（ステップＳ３４）。
【００９２】
やがて、インクリメント後のｔがｎtより大きくなると、最適化部１３１はｔをｎtに設定する（ステップＳ３５）。そして最適化部１３１は、コスト記憶エリア２２３上の最適コストＶt（δit，ｘit，ｓit）をｔ＝ｎtから逆に辿る。即ち最適化部１３１は、先に説明したように、まず、ｔ＝ｎtのタイムスロットに対して取り得るすべてのδit，ｓit，ｘitの組み合わせ（δit，ｓit，ｘit）の中からＶt（δit，ｓit，ｘit，μ，λi）の最小値（最適コスト）を探し、その際のδit，ｓit，ｘitを最適解δit*，ｓit*，ｘit*とする（ステップＳ３６）。
【００９３】
次に最適化部１３１は、δit*，ｓit*，ｘit*に対し最適な決定δit-1*（δit*，ｓit*，ｘit*）を特定する（ステップＳ３７）。最適化部１３１は、このδit*，ｓit*，ｘit*を用いて、最適コストＶtに至った直前のタイムスロットt−１でのｓit-1*，ｘit-1*を求める（ステップＳ３８）。ここでは、δit*，ｓit*，ｘit*を前記式（４），（５）に代入することで、ｓit-1*，ｘit-1*を求めるものとする。しかし、先に述べたように、コスト記憶エリア２２３に表形式で格納されている、品目ｉの各タイムスロット毎のδit-1*（δit，ｓit，ｘit，μ，λi）をもとにｓit-1*，ｘit-1*を求めることも可能である。最適化部１３１は、上記ステップＳ３６〜Ｓ３８を、ｔを１ずつデクリメントしながら（ステップＳ３９）、ｔ＝１まで繰り返す（ステップＳ４０）。
【００９４】
以上のようにして、品目ｉについて最適コストを与えるδitkν（ｔ＝１，…，ｎt，ｋ∈Ｋ(i)）が最適化部１３１により求められる（ステップＳ１５）。すると最適化部１３１は、中間結果記憶エリア２２４上のδitkνを、求めた最新のδitkνに更新する（ステップＳ１６）。
【００９５】
次に最適化部１３１はｉを１だけインクリメントする（ステップＳ１７）。このインクリメント後のｉがｎiより大きくないならば（ステップＳ１８）、最適化部１３１は未処理の品目が存在するものと判定する。この場合、最適化部１３１は、インクリメント後のｉで示される品目ｉについて、上記ステップＳ１５〜Ｓ１７を実行する。
【００９６】
やがて、インクリメント後のｉがｎiより大きくなると、最適化部１３１は、ｉ＝１，…，ｎiのすべての品目について解δitkν（∀ｉ∈Ｉ，ｔ∈Ｔ，ｋ∈Ｋ(i)）が求められれたと判断する。この場合、最適化部１３１は、機械干渉判定部１３４及び充足判定部１３７を起動する。
【００９７】
機械干渉判定部１３４は、機械ｋ毎に、その機械ｋで処理（生産）されるすべての品目ｉ（ｉ∈Ｍ(i)）の解δitkνから、各品目ｉ間のδitk＝１のタイムスロットの重なりの回数を表す機械干渉数を算出する。ここでは、平均機械干渉数が算出される。この平均機械干渉数は、全機械についての繰り返し数νにおける全品目、全期間（全計画対象期間）に亙る機械干渉数の総和を、ｎt×ｎk（全タイムスロット数×全機械数）で除することで算出される。判定部１４は、算出した機械干渉数（平均機械干渉数）が予め定められた閾値より小さいかにより、機械干渉が解消されていると見なせるかを判定する（ステップＳ１９）。
【００９８】
一方、充足判定部１３７は、全品目ｉ（ｉ∈Ｉ(１,２,…,ｎi)）について、仕掛品在庫量がマイナスとなる（つまり非負条件を満たさなかった）タイムスロットの総数を求める。判定部１８は、求めたタイムスロットの総数から、仕掛品在庫が充足しているか否かを、上記ステップＳ１９において判定する。具体的には、全品目について、仕掛品在庫量がマイナスとなるタイムスロットの総数が求められる。このタイムスロットの総数をｎi×ｎt（全品目数×全タイムスロット数）で除することで、平均的な仕掛品在庫の不足の割合が求められる。そこで、この割合が予め定められた閾値より小さいかにより、仕掛品在庫が充足しているかが判定される。ここで、各仕掛品在庫量は、ステップＳ１５で求められた対応する解δitkνと組をなすｘitを用いて、前記式（８）に従って算出される。
【００９９】
もし、機械干渉が解消されているという条件及び仕掛品在庫量が充足しているととう条件の少なくとも一方の条件を満たさない場合、繰り返し数（反復回数）νが１だけインクリメントされる（ステップＳ２０）。すると、機械干渉制御部１３５及び在庫制御部１３８の少なくとも一方が起動される。ここでは、機械干渉が解消されていないときは機械干渉制御部１３５が、仕掛品在庫量が充足していないときは充足判定部１３７が、それぞれ起動される。上記両条件が成立していないときは、機械干渉制御部１３５及び充足判定部１３７の両方が起動される。
【０１００】
機械干渉制御部１３５は、自身が起動された場合、機械干渉に用いるラグランジュ乗数μtkνを前記式（１７）により更新（調整）して、最適化部１３１に通知する（ステップＳ２１）。一方、充足判定部１３７は、自身が起動された場合、上記ステップＳ２１において、仕掛品の在庫充足に用いるラグランジュ乗数λtνを前記式（１８）により更新（調整）して、最適化部１３１に通知する。
【０１０１】
すると最適化部１３１は、更新後のラグランジュ乗数μtkν及び／またはλtνを用いて、ステップＳ１５〜Ｓ１７を品目数分繰り返し実行する（ステップＳ１８）。これにより、品目別、機械別の解δitkνがタイムスロット毎に求められる。やがて、上記ステップＳ１９において、機械干渉判定部１３４により、機械干渉が解消されていると見なせると判定されたものとする。また、ステップＳ１９において、充足判定部１３７により、仕掛品在庫量が充足していると判定されたものとする。すると、そのときの品目別、機械別の解δitkνが最終結果記憶エリア２２５に格納され、最適生産計画／スケジュール生成部１３６が起動される（ステップＳ２２）。
【０１０２】
最適生産計画／スケジュール生成部１３６は、最終結果記憶エリア２２５に格納されている品目別、機械別の解δitkνをもとに最適生産計画を生成して、生産計画／スケジュール記憶エリア２２６に格納する（ステップＳ２３）。前記したように品目別、機械別の解δitkνは０−１変数により表される。そこで解δitkνは、生産計画上では、時間軸上に刻まれたタイムスロットｔ毎に、品目ｉ別、機械ｋ別に、当該スロットで機械ｋにより品目ｉを処理（セットアップまたは生産）すれば１で、そうでなければ０で表される。したがって最適生産計画／スケジュール生成部１３６は、解δitkνにおける１の並びとその時間的位置により、品目別及び機械別にロットサイズとそれらのロットの時間的位置を表す生産計画を生成することができる。ロットの時間的位置は実行可能な生産計画においてロットの順序を決定するための情報を与える。つまり本実施形態においては、品目間の解（生産計画）の機械干渉が解消されていると見なせ、かつ仕掛品在庫量が充足していると判定される解δitkνが求まった時点で、ロットサイズとロット順序を同時に生成することができる。ここでは、タイムスロットｔ毎の品目別、機械別の解δitkνを用いて、生産計画対象期間に亙る品目別のガントチャートを示すデータが生成される。また、各品目ｉのタイムスロット別の実在庫ｙitが、前記式（８）に従って次式のように求められ、生産計画対象期間に亙る品目別の在庫推移を示すデータが生成される。
【数１９】
2005092726.tif 000021
【０１０３】
生産計画／スケジュール記憶エリア２２６に格納された生産計画を表すデータ、即ち生産計画対象期間に亙る品目別の在庫推移を示すデータ、及び生産計画対象期間に亙る品目別のガントチャートを示すデータは、入出力制御部１１１によって、図２中のディスプレイ２６に表示されると共に、キーボード２５からの印刷指示入力に応じて、または自動的に、プリンタ装置（図示せず）から印刷出力される（ステップＳ５）。図１５は品目別の在庫推移を示すデータの一例を示す。
【０１０４】
生産計画制御部１１２はステップＳ５が終了すると、スケジューリング制御部１１３に制御を渡す。するとスケジューリング制御部１１３は図１のシステムをスケジューリングモード（フェーズ２）に設定する。入出力制御部１１１は、スケジューリングモードにおいて、先の生産計画モードの場合と同様に、スケジューリングのためのデータを準備する（ステップＳ６）。ここでは、スケジューリングのためのデータとして、図６及び図７に示した第１及び第２の生産技術データと、図１１に示した確定注文データとに加えて、図８に示した在庫保管費データ、期首在庫データ、目標期間末在庫データが用意される。期首在庫データは、品目別（または工程別）の期首在庫水準を示すデータである。２回目以降のスケジューリングの場合、この期首在庫データには、当該スケジューリングの開始時点に対応する、前回のスケジューリングで生成された最新の生産スケジュールの在庫水準を示すデータ（図４中のデータ３１８）が用いられる。目標期間末在庫データは、スケジューリングの計画対象期間末の品目別（または工程別）の在庫水準を示すデータである。この目標期間末在庫データには、最新の生産計画の対応する時点における品目別（または工程別）の在庫水準を示すデータ（図４中のデータ４０７）が用いられる。期首在庫データ及び目標期間末在庫データは、例えば、確定注文データと共に、図１１に示す表形式で与えられる。
【０１０５】
ユーザによって用意されたスケジューリングのためのデータ（つまり第１及び第２の生産技術データと、在庫保管費データと、期首在庫データと、目標期間末在庫データと、確定注文データ）は、入出力制御部１１１により主メモリ２２の生産データ記憶エリア２２１、スケジューリングデータ記憶エリア２２２に（ユーザによって用意された生産計画のためのデータのうち第１及び第２の生産技術データは主メモリ２２の生産データ記憶エリア２２１に、期首在庫データと、目標期間末在庫データと、確定注文データは主メモリ２２のスケジューリングデータ記憶エリア２２２に、それぞれ）格納される。
【０１０６】
すると、スケジューリング制御部１１３は前処理部１２を起動する。前処理部１２はスケジューリングモードにおいて、生産スケジュール立案のための前処理を次のように実行する（ステップＳ７）。即ち前処理部１２は、図１１に示す確定注文データ（つまり確定された注文品目についてタイムスロット別に与えられる注文数量）を、図６に示す表形式の第１の生産技術データに基づいて部品展開する。確定注文データの部品展開とは、品目別でかつタイムスロット別の注文数量を、部品を含めた品目別でかつタイムスロット別の注文数量を示すデータに変換し、例えば表形式の注文データ（受注データ）を得ることである。図１６は、この部品展開後の受注データの一例を示す。部品展開後の受注データは主メモリ２２の中間結果記憶エリア２２４に格納される。
【０１０７】
このように、前処理部１２による生産スケジュール立案のための前処理が行われて、部品展開後の受注データが主メモリ２２の中間結果記憶エリア２２４に格納されたものとする。すると、スケジューリング制御部１１３は、主メモリ２２の生産データ記憶エリア２２１に格納されている図６及び図７に示した第１及び第２の生産技術データと、主メモリ２２の中間結果記憶エリア２２４に格納されている図１６に示した部品展開後の受注データとを用いて、先の生産計画制御部１１２の制御による最適生産計画の作成の場合と同様に、多品目多工程ロットサイズスケジューリング部１３により図１３のフローチャートに従って最適生産スケジュールを生成させる（ステップＳ８）。ここでは、品目別、機械別の解δitkνがタイムスロット毎に求められ、機械干渉が解消され、かつ仕掛品在庫量が充足していると判定された際の品目別、機械別の解δitkνが最終結果記憶エリア２２５に格納される。そして、最終結果記憶エリア２２５に格納されている品目別、機械別の解δitkνをもとに、多品目多工程ロットサイズスケジューリング部１３内の最適生産計画／スケジュール生成部１３６によって生産スケジュールが生成される。この生産スケジュールは、主メモリ２２の生産計画／スケジュール記憶エリア２２６に格納される。
【０１０８】
生産計画／スケジュール記憶エリア２２６に格納された生産スケジュールを表すデータ、即ちスケジューリング対象期間に亙る品目別（またはファミリ別）の在庫推移（図１７）を示すデータ、及びスケジューリング対象期間に亙る品目別（またはファミリ別）のガントチャート（図１８）を示すデータは、入出力制御部１１１によって、ディスプレイ２６に表示されると共に、キーボード２５からの印刷指示入力に応じて、または自動的に、プリンタ装置（図示せず）から印刷出力される（ステップＳ９）。
【０１０９】
ステップＳ１０でフェーズ２サイクル終了条件が成立するか否かを判定する。フェーズ２はスケジューリングの期間末時点が次の生産計画の期首時点以降になるまで繰り返し実行される。
【０１１０】
ステップＳ１１でフェーズ１サイクル終了条件が成立するか否かを判定する。フェーズ１サイクル終了条件は今ある計画立案時点にいて向こう（例えば）１年間を超えたか否かで判定し、１年間を超えるまで継続して繰り返し実行される。
【０１１１】
図５から分かるように、本実施形態はスケジューリングのプロセスをある一定の回数だけ実行する毎に生産計画のプロセスを１回実行するループを繰り返すことになる。これは、逐次的に、各品目の期間末在庫水準のみならず初期在庫水準をも最適化する方法と言える。ただし、制約違反件数の減少状況に応じて途中で計算を打ち切ることも可能である。
【０１１２】
本実施形態によれば、計画立案のために、スケジューリングのみでなく、生産計画においてもＯ２Ｏ−テクノロジのアルゴリズムを使用する。これによって、第一に、生産計画自体の解像能をスケジューリング並に上げることができる。第二に、解像能を上げたにもかかわらず、計算時間を合理的時間（スケジューリングの計算時間×両者の計画対象期間の比）に抑えることができる。第三に、解像能を上げて、予め人為的な制約をほとんど置かないで定式化して問題を解くので、多様な異質の決定局面をアルゴリズムによって最適化できる。
【０１１３】
その結果、生産計画にシミュレーション機能と最適化機能とを同時に組み込むことが可能になる。例えば、既存の生産在庫計画では、タイムバケットを基準にして、予め登録された固定標準リードタイムや固定ロットサイズによって立案され、しかも、計画の実行可能性を事前に保証するために、これらの品目の固定標準リードタイムは長めに設定されている。したがって実際には処理の仕方次第で短縮できるはずの各品目の累積リードタイムが、既に所要量展開の段階で実際よりも長く設定される欠陥がある。その上、計画は名称こそ生産在庫計画であるが、負荷の水準を調整するところまでが限界で、工程間にわたる処理の状況を取扱うことには成功していない。これに対して、本発明の提案法では、タイムバケットの概念は存在しないし、固定リードタイムも固定ロットサイズも予め登録することはしないで計画を立てることができる。したがって、品目リードタイムも品目ロットサイズも、共に、Ｏ２Ｏ−テクノロジの最適化アルゴリズムによって問題を解いたときに、初めて状況に応じてタイムヴァリアントに決まってくる。この計画が実際と異なるのは需要データが確定でなく予測データであることである。このような意味で、提案法はシミュレーション機能と最適化機能をもつといえる。
【０１１４】
季節の繁忙期に向かって、仕掛品や在庫や製品在庫を積み上げ、季節的変動を平準化することもできる。
【０１１５】
２段目より長期期間の１段目の計画で、２段目に与件となる計画期末在庫を最適にすることによって、より最適で頑健性の高い生産管理方式を得ることもできる。
【０１１６】
２段目の最適な計画を得るための境界条件を１段目で最適に求めておくことで、より全体最適性を確保することもできる。
【０１１７】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【０１１８】
また、本発明は、コンピュータに所定の手段を実行させるための、コンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムを記録したコンピュータ読取り可能な記録媒体としても実施することもできる。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施形態に係るプッシュ・プル混在型複合生産管理システムの構成を示すブロック図。
【図２】図１に示す複合生産管理システムの実現例を示す図。
【図３】図１の複合生産管理システムによる管理の対象となるプッシュ・プル混在型の生産を許す複合生産システム（プッシュ・プル混在型複合生産システム）の一例を示す図。
【図４】図３に示す複合生産システムに適用される最適生産計画及び最適生産スケジュールを立案する場合の動作の概要を示す図。
【図５】プッシュ・プル混在型最適複合生産計画法の手順を示すフローチャート。
【図６】第１の生産技術データを示す図。
【図７】第２の生産技術データを示す図。
【図８】在庫保管費データ、期首在庫データ、目標期間末在庫データ及び需要予測データを示す図。
【図９】製品の月次需要予測値を示す図。
【図１０】製品別季節指数を示す図。
【図１１】確定注文データを示す図。
【図１２】タイムスロット毎に分解した需要予測データを示す図。
【図１３】生産計画制御部及び多品目多工程ロットサイズスケジューリング部の動作を示すフローチャート。
【図１４】図１３の部分最適化問題の解決ステップの詳細なフローチャート。
【図１５】品目別の在庫推移を示すデータの一例を示す図。
【図１６】部品展開後の受注データの一例を示す図。
【図１７】スケジューリング対象期間に亙る品目別（またはファミリ別）の在庫推移を示すデータの一例を示す図。
【図１８】スケジューリング対象期間に亙る品目別（またはファミリ別）のガントチャートを示すデータの一例を示す図。
【符号の説明】
【０１２０】
１１…主制御部、１２…前処理部、１３…多品目多工程ロットサイズスケジューリング部、２２…主メモリ、１１１…入出力制御部、１１２…生産計画制御部、１１３…スケジューリング制御部、１３１…最適化部、１３５…機械干渉制御部、１３８…在庫制御部、２２０…システムパラメータ記憶エリア、２２１…生産データ記憶エリア、２２２…スケジューリングデータ記憶エリア、２４１…プッシュ・プル混合型最適複合生産計画プログラム。
【図１】
2005092726.tif 000022
【図２】
2005092726.tif 000023
【図３】
2005092726.tif 000024
【図４】
2005092726.tif 000025
【図５】
2005092726.tif 000026
【図６】
2005092726.tif 000027
【図７】
2005092726.tif 000028
【図８】
2005092726.tif 000029
【図９】
2005092726.tif 000030
【図１０】
2005092726.tif 000031
【図１１】
2005092726.tif 000032
【図１２】
2005092726.tif 000033
【図１３】
2005092726.tif 000034
【図１４】
2005092726.tif 000035
【図１５】
2005092726.tif 000036
【図１６】
2005092726.tif 000037
【図１７】
2005092726.tif 000038
【図１８】
2005092726.tif 000039