(57)【要約】【課題】設備割付の並列化によりＭＲＰを短期間に実行すること。【解決手段】生産計画装置１は、分割期間データ１３の分割期間ごとに、ある品目群と別の品目群とで重複する品目がないように、かつ、ある設備群と別の設備群とで重複する設備がないように、品目設備データ１４の各分割期間において生産可能な品目群と、その品目群を生産可能な設備群とを期間グループとして対応付けて抽出し、期間グループと、０個以上の注文とを注文グループとして対応付けて抽出し、抽出された注文グループを複数の処理部のいずれかへ分配することで、分配された各処理部に対して注文グループに含まれる注文を設備に割り付けさせる制御部を有する。【選択図】図２
2014099101.tif 000002
【特許請求の範囲】
【請求項１】
生産計画の立案期間が複数の分割期間へと分割された分割期間データと、品目ごとの生産完了期間を示す注文を複数個格納する注文データと、設備ごとに生産可能な品目を、期間ごとに示す品目設備データと、を記憶する記憶部と、
前記分割期間データの分割期間ごとに、ある品目群と別の品目群とで重複する品目がないように、かつ、ある設備群と別の設備群とで重複する設備がないように、前記品目設備データの各分割期間において生産可能な品目群と、その品目群を生産可能な設備群とを期間グループとして対応付けて抽出し、
前記注文データの生産完了期間と期間グループの分割期間とを照合し、かつ、前記注文データの品目と期間グループの品目群とを照合することで、期間グループと、０個以上の注文とを注文グループとして対応付けて抽出し、
抽出された注文グループを複数の処理部のいずれかへ分配することで、分配された各前記処理部に対して注文グループに含まれる注文を設備に割り付けさせる制御部とを有することを特徴とする
生産計画装置。
【請求項２】
前記制御部は、さらに、ある期間の注文グループと、次期間の注文グループとの間で、互いの注文グループで生産させる品目群に重複する品目があるときには、互いの注文グループ間を重複する品目とともに関連づけ、
前記処理部がある期間の注文グループの注文のうち設備に割り付けられなかった残存注文を、ある期間の注文グループに関連づけられる次期間の注文グループへと引き継がせることを特徴とする
請求項１に記載の生産計画装置。
【請求項３】
生産計画装置は、記憶部と制御部とを有し、
前記記憶部には、生産計画の立案期間が複数の分割期間へと分割された分割期間データと、品目ごとの生産完了期間を示す注文を複数個格納する注文データと、設備ごとに生産可能な品目を、期間ごとに示す品目設備データと、が記憶されており、
前記制御部は、
前記分割期間データの分割期間ごとに、ある品目群と別の品目群とで重複する品目がないように、かつ、ある設備群と別の設備群とで重複する設備がないように、前記品目設備データの各分割期間において生産可能な品目群と、その品目群を生産可能な設備群とを期間グループとして対応付けて抽出し、
前記注文データの生産完了期間と期間グループの分割期間とを照合し、かつ、前記注文データの品目と期間グループの品目群とを照合することで、期間グループと、０個以上の注文とを注文グループとして対応付けて抽出し、
抽出された注文グループを複数の処理部のいずれかへ分配することで、分配された各前記処理部に対して注文グループに含まれる注文を設備に割り付けさせることを特徴とする
生産計画方法。
【請求項４】
請求項３に記載の生産計画方法を、コンピュータである前記生産計画装置に実行させるための生産計画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産計画装置、生産計画方法、および、生産計画プログラムに関する。
【背景技術】
【０００２】
Production（生産）、Sales（販売計画）、Inventory（在庫）をグローバル化（多国籍展開）し、それぞれの工程を全体最適化することで、生産システムが大幅に効率化する。ＭＲＰ（material requirements planning）と呼ばれる生産計画の計算量は、生産取り扱いのデータ量などが増えることによって、大きく増えている。一方、グルーバル市場において需要や供給の急激な変化に対応するために、ＭＲＰの計算を最新のデータに併せて短期間に計算するニーズが増えている。
【０００３】
特許文献１には、複数の品目の部品展開計算を同時に行う場合、各データ処理部間の負荷のバランスが崩れたときに、各データ処理部間で負荷を送信し合う旨が記載されている。
特許文献２には、調整期間毎に設備の生産作業と並行して、設備の負荷調整を行うように計画データを更新する旨が記載されている。
特許文献３には、計算された各時間区間の生産量を工程能力とみなして、負荷を再割り当てする負荷山崩しステップが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１７２６５９号公報
【特許文献２】特開２００１−１８４１１５号公報
【特許文献３】特開２０１２−１０４０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＭＲＰでは、レベル(最終製品からの階層の深さ)毎に所要量計算（注文を生成する）と、設備割付（注文を割付する）とが、順に処理されている。しかし、前記した各特許文献では、所要量計算の高速化については工夫されていたが、設備割付の並列化については工夫されていない。所要量計算は並列化されているものの、注文の設備割付の処理は逐次になっているため、部品展開処理の高速化の妨げとなる。
【０００６】
そこで、本発明は、設備割付の並列化によりＭＲＰを短期間に実行することを、主な目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明の生産計画装置は、
生産計画の立案期間が複数の分割期間へと分割された分割期間データと、品目ごとの生産完了期間を示す注文を複数個格納する注文データと、設備ごとに生産可能な品目を、期間ごとに示す品目設備データと、を記憶する記憶部と、
前記分割期間データの分割期間ごとに、ある品目群と別の品目群とで重複する品目がないように、かつ、ある設備群と別の設備群とで重複する設備がないように、前記品目設備データの各分割期間において生産可能な品目群と、その品目群を生産可能な設備群とを期間グループとして対応付けて抽出し、
前記注文データの生産完了期間と期間グループの分割期間とを照合し、かつ、前記注文データの品目と期間グループの品目群とを照合することで、期間グループと、０個以上の注文とを注文グループとして対応付けて抽出し、
抽出された注文グループを複数の処理部のいずれかへ分配することで、分配された各前記処理部に対して注文グループに含まれる注文を設備に割り付けさせる制御部とを有することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【０００８】
本発明によれば、設備割付の並列化によりＭＲＰを短期間に実行することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に関する生産計画装置のハードウェアを示す構成図である。
【図２】本発明の一実施形態に関する生産計画装置のソフトウェアを示す構成図である。
【図３】本発明の一実施形態に関する期間分割部の処理内容を示す説明図である。
【図４】本発明の一実施形態に関する品目設備データを示す構成図である。
【図５】本発明の一実施形態に関する期間グループデータを示す構成図である。
【図６】本発明の一実施形態に関する期間グループ化部の処理内容を示す説明図である。
【図７】本発明の一実施形態に関する注文データを示す構成図である。
【図８】本発明の一実施形態に関する注文グループデータを示す構成図である。
【図９】本発明の一実施形態に関する注文関係データを示す構成図である。
【図１０】本発明の一実施形態に関する設備日程データおよび注文割付データを示す構成図である。
【図１１】本発明の一実施形態に関する割付タスク実行部を示す説明図である。
【図１２】本発明の一実施形態に関する割付タスク実行部を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
【００１１】
図１は、生産計画装置のハードウェアを示す構成図である。生産計画装置１は、複数のＣＰＵ（Central Processing Unit）９１〜９４として構成される制御部と、メモリやハードディスクなどにより構成され、各ＣＰＵ９１〜９４から共有アクセスされる共有データベース９５と、ネットワークインタフェースなどにより構成され、設備などの他装置との通信を行うための通信部とを備えるコンピュータとして構成される。
【００１２】
以下、本実施形態で使用する用語を説明する。
「品目」とは、生産計画における生産の成果物である。以下、本実施形態では、７つの品目（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ）を説明用に例示する。
「設備」とは、品目の生産をする主体であり、機械設備（加工プレス機など）でも、人的設備（組み立て作業をする作業員など）でもよい。以下、本実施形態では、１０個の設備（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ）を説明用に例示する。
「注文」とは、設備に対して日時を指定して、品目を作成するための作業をさせるためのオーダである。
「割付」とは、設備に対して注文を与えることである。
「ロック」とは、各設備に期間を指定してその設備の使用を排他的に予約する処理である。排他的とは、複数の注文で同時期に同設備をロックすることができないことである。ある注文によって、設備がロックされた後、その設備に対して、ある注文が割り付けられる。
【００１３】
図１の生産計画装置１は、４つのＣＰＵ９１〜９４による並列度「４」のシステムを例示している。各ＣＰＵ９１〜９４（の割付タスク実行部２８）は、それぞれ自身に割り当てられる割付タスクを他のＣＰＵと並列に実行する。なお、割付タスクとは、後記の図１１などで詳細に示すが、設備に対して注文を割り付けるタスクである。
一方、ＣＰＵ９１は、割付タスク実行部２８の前処理（期間分割部１２、期間グループ化部１５、注文グループ化部２２、注文関係生成部２４、割付タスク分配部２６。これらの各処理部の詳細は、図２以降で説明）を実行するとともに、各ＣＰＵ９１〜９４の割付タスク実行部２８の実行結果をまとめる中央制御を行うＣＰＵである。
【００１４】
図２は、生産計画装置のソフトウェアを示す構成図である。以下、ＣＰＵ９１内部のデータおよびプログラムを説明する。
生産計画装置１は、プログラムを実行することで構成される各処理部（期間分割部１２、期間グループ化部１５、注文グループ化部２２、注文関係生成部２４、割付タスク分配部２６）と、各処理部がアクセスする各データとを含めて構成される。
各データのうちの入力データは、立案期間データ１１、品目設備データ１４、注文データ２１、設備日程データ２７であり、これらの入力データは、あらかじめ外部（管理者など）によって入力されている。
各データのうちの中間処理データは、分割期間データ１３、期間グループデータ１６、注文グループデータ２３、注文関係データ２５であり、これらの中間処理データは各処理部が生成する。
各データのうちの出力データは、注文割付データ３１であり、この出力データの出力先は、注文を処理する設備でもよいし、注文を確認する管理者端末でもよい。
【００１５】
以下に示すように、図２に示した構成要素間の矢印のようにデータが各処理部を伝搬する。
期間分割部１２は、立案期間データ１１をもとに立案期間を分割し、その結果を分割期間データ１３に出力する（詳細は、図３参照）。
期間グループ化部１５は、分割期間データ１３で示される分割期間に沿って、品目設備データ１４をグループ化し、その結果を期間グループデータ１６に出力する（詳細は、図４〜図６参照）。
注文グループ化部２２は、期間グループデータ１６をもとに、注文データ２１に記載される複数の注文をグループ化し、その結果を注文グループデータ２３に出力する（詳細は、図７，図８参照）。
注文関係生成部２４は、注文グループデータ２３に記載される各注文グループのうちの２つの注文グループ間の関係を生成し、その結果を注文関係データ２５に出力する（詳細は、図９参照）。
割付タスク分配部２６は、注文グループデータ２３や注文関係データ２５に記載される各注文グループをタスクの単位として、その各注文グループを割付タスクとして、複数の割付タスク実行部２８に分配する（詳細は、図９参照）。
割付タスク実行部２８は、割付タスク分配部２６から分配された割付タスクをもとに、設備日程データ２７に記載される設備の日程の制約に従って、各設備に割り付ける注文を生成し、その結果を注文割付データ３１に出力する（詳細は、図１０〜図１２参照）。
ここで、図２に示した生産計画装置１の他の構成として、前記した生産計画装置１の一部を省略したり、一部を別の装置に搭載してもよい。
例えば、図９で説明する残存した注文リストの引き継ぎ処理を行わないのであれば、引き継ぎ先を決定するための構成（注文関係生成部２４、注文関係データ２５）を省略してもよい。
また、生産計画装置１に割付タスク実行部２８を搭載する代わりに、生産計画装置１と通信可能な別の装置内に割付タスク実行部２８を搭載する構成としてもよい。
さらに、立案期間データ１１と期間分割部１２とを有する代わりに、分割期間データ１３を直接管理者などにより入力させる構成としてもよい。
【００１６】
図３は、期間分割部の処理内容を示す説明図である。
期間分割部１２は、図３（ａ）に示す立案期間データ１１をもとに立案期間を分割し、その結果を図３（ｂ）に示す分割期間データ１３に出力する。
【００１７】
図３（ａ）の立案期間データ１１は、立案期間と、期間分割ポリシとを含めて構成される。
立案期間は、生産計画の対象となる期間である。本実施形態では、１０月１日から１０月９日までの９日間を立案期間とする。以下、日付表記として１０月１日を「１０／１」とする。なお、本実施形態では、期間を示す単位（バケットとも呼ぶ）を１日ごとの日単位にして説明したが、分単位などの別の単位を用いてもよい。
期間分割ポリシは、１つの立案期間を複数の分割期間へと分割するときのポリシ（分割基準）である。本実施形態では、立案期間を３等分に分割する旨の期間分割ポリシを用いる。その結果、期間分割部１２は、図３（ｂ）に示すように、期間コード１（１０／１〜１０／３）の分割期間、期間コード２（１０／４〜１０／６）の分割期間、期間コード３（１０／７〜１０／９）の分割期間という３つの分割期間を生成する。
【００１８】
なお、期間分割部１２は、３等分に分割するポリシの他の期間分割ポリシを用いて、複数の分割期間が互いに等間隔または不等間隔になるように分割してもよい。その他の期間分割ポリシとは、例えば、品目設備データ１４の有効開始日や有効終了日（図４参照）を分割期間の区切りとするポリシや、設備の能力や優先度を考慮して分割するポリシや、組み合わせ最適技法を用いて分割するポリシなどが、挙げられる。
【００１９】
図４は、品目設備データを示す構成図である。
図４（ａ）は、品目設備データ１４を表形式で示すものであり、図４（ｂ）は、図４（ａ）の品目設備データ１４の一部（左側の品目コード列〜有効終了日列）を、みやすいようにガントチャート形式で示すものである。
品目設備データ１４は、品目コードと、設備コードと、有効終了日と、有効終了日と、割付優先度と、生産能力係数とを対応付けるデータである。
例えば、品目設備データ１４の１行目には、設備コード「ａ」の設備は、１０／１〜１０／８の有効期間（有効開始日〜有効終了日）において、品目コード「Ａ」を１日５０個の生産能力（１／５０と表記）で生産可能であり、その生産のための注文の割付を最優先（優先度「１」、数値が少ないほど優先される）で受け付ける旨が記載されている。
【００２０】
図５は、期間グループデータを示す構成図である。
期間グループ化部１５は、図３（ｂ）の分割期間データ１３で示される３つの分割期間に沿って、図４の品目設備データ１４をグループ化し、その結果を図５（ｂ）に示すように、期間グループデータ１６に出力する。
そのため、まず、期間グループ化部１５は、図５（ａ）に示すように、各品目Ａ〜Ｇについて、期間ごとの生産可能設備のデータを生成する。
例えば、期間グループ化部１５は、品目設備データ１４の１行目に示される品目コード「Ａ」の生産可能設備「ａ」を読み取る。その有効期間である１０／１〜１０／８が一部（１日）でも含まれる分割期間を特定する（この場合は、３つの分割期間全部が特定される）。そして、図５（ａ）の表の品目コード「Ａ」の行について、特定したそれぞれの分割期間１〜３の列内のセルに、生産可能設備「ａ」を書き出す。
同様に、期間グループ化部１５は、品目設備データ１４の２行目に示される品目コード「Ａ」の生産可能設備「ｂ」についても、その有効期間である１０／２〜１０／８から３つの分割期間全部を特定し、特定したそれぞれの分割期間１〜３の列内のセルに、生産可能設備「ｂ」を書き出す（既に「ａ」が記載されているので、その「ａ」に「ｂ」を追加する）。
このように、期間グループ化部１５は、品目設備データ１４の各行のデータから、図５（ａ）の表を生成する。
【００２１】
次に、期間グループ化部１５は、図５（ａ）の表を入力として、図６で説明するように、分割期間ごとに生産可能設備の重複の有無によって品目をグルーピングし、図５（ｂ）に示す期間グループデータ１６を出力する。期間グループデータ１６は、期間グループコードと、期間コードと、品目リストと、設備リストとを対応付けるデータである。
例えば、期間グループデータ１６の１行目には、分割期間「１」において、品目コードのリスト「Ａ，Ｂ，Ｃ」と、設備コードのリスト「ａ，ｂ，ｃ，ｄ」とを対応付けるグループを、新たに期間グループコード「ＰＧ１」とする旨が記載されている。
【００２２】
図６は、期間グループ化部の処理内容を示す説明図である。この図６では、図５（ｂ）に示す期間グループデータ１６の第１行〜第３行の生成処理を説明するが、第４行以降も同じ処理でデータ内容が変わるだけである。
期間グループ化部１５は、同じ分割期間「１」の期間グループ（例えば、期間コード「１」の第１行〜第３行）について、各行の品目リスト（例えば、１行目の「Ａ，Ｂ，Ｃ」）と他行の品目リスト（例えば、２，３行目の「Ｄ，Ｅ，Ｆ，Ｇ」）との重複がなく、かつ、各行の設備リスト（例えば、１行目の「ａ，ｂ，ｃ，ｄ」）と他行の設備リスト（例えば、２，３行目の「ｅ，ｆ，ｇ，ｈ，ｉ，ｊ」）との重複がないように、期間グループを生成する。
【００２３】
そのため、期間グループ化部１５は、図５（ａ）の表の品目「Ａ」期間「１」のセル「ａ，ｂ」を読み取り、１つめの品目群−設備群対応データを作成する（図６（ａ））。
次に、期間グループ化部１５は、図５（ａ）の表の品目「Ｂ」期間「１」のセル「ｂ，ｃ」を読み取り、その「ｂ，ｃ」と、既に作成された品目群−設備群対応データの設備群「ａ，ｂ」と比較する。ここでは、一部の設備「ｂ」が重複するという比較結果であるので、今回読み取った品目「Ｂ」期間「１」のセル「ｂ，ｃ」を、重複する品目群−設備群対応データに追加する。つまり、品目群の品目「Ａ」に品目「Ｂ」を追加し、設備群「ａ，ｂ」に「ｃ」を追加する（図６（ｂ））。なお、設備「ｂ」は既に図６（ａ）の段階で設備群に存在するので、今回は追加しない。
【００２４】
このようにして、期間グループ化部１５は、重複設備が存在しないときは、品目群−設備群対応データを新規作成し、重複設備が存在するときは、既存の品目群−設備群対応データにエントリ追加する処理を、図５（ａ）の期間「１」の各品目「Ａ〜Ｇ」に対して実行することで、図６（ｃ）に示すように、３つの品目群−設備群対応データを作成する。
そして、期間グループ化部１５は、作成した３つの品目群−設備群対応データそれぞれの識別子として、期間グループコードＰＧ１〜ＰＧ３を付してから、図５（ｂ）に示す期間グループデータ１６の第１行〜第３行として出力する。
【００２５】
図７は、注文データを示す構成図である。
注文データ２１は、品目コードと、品目数量と、最早日（ＥＦＴ：Earliest Finish Time）と、最遅日（ＬＦＴ：Latest Finish Time）とを対応付けるデータである。
最早日とは、注文によって品目の生産が完了する日（完了日）のうちの最も早い日である。例えば、最早日は、出荷日の４日前であり、出荷日の前日は品目の運送に要する日である。
最遅日とは、注文によって品目の生産が完了する日（完了日）のうちの最も遅い日である。例えば、最遅日は、出荷日の前日であり、前日は品目の運送に要する日である。なお、注文データ２１の最早日や最遅日を直接入力する代わりに、入力された出荷日から逆算して最早日や最遅日を求めてもよい。
注文データ２１の第１行は、品目「Ａ」を数量「１００」個分、１０／２〜１０／５の間のいずれかの日に生産が完了するようにする注文に対して、注文コード「Ｔ１」が付されている例である。
【００２６】
図８は、注文グループデータを示す構成図である。
注文グループ化部２２は、図５（ｂ）の期間グループデータ１６をもとに、図７の注文データ２１に記載される複数の注文をグループ化し、その結果を図８の注文グループデータ２３に出力する。
注文グループデータ２３は、０個以上の注文コードから構成される注文リストが、１つの注文グループコードで識別される注文グループへとグループ化されている旨を示し、期間グループコードは、そのグループ化処理のために参照される。なお、注文グループデータ２３の残存リスト列や、割付状態列は、後記する割付タスク実行部２８の実行経過を保存するための列であり、その詳細は図１１，図１２の説明で明らかにする。
【００２７】
まず、注文グループ化部２２は、期間グループデータ１６の各期間グループコードを読み出し、図８の注文グループデータ２３内に読み出した各期間グループコードの行を作成する。なお、期間グループデータ１６を参照することで、期間グループコードを検索キーとして、その期間コードと、品目リストと、設備リストとが検索可能である。
次に、注文グループ化部２２は、各期間グループコードに対応する注文グループコード「ＰｉＭｊ」（ｉ，ｊは１以上の整数）を作成する。ｉは、期間グループコードの期間コードであり、ｊは、期間グループコード「ｉ」におけるｊ番目の品目リストである。
例えば、注文グループ化部２２は、期間グループコード「PG1」が記載されている第１行について、期間グループコード「PG1」の期間コード「１」をｉとし、期間グループデータ１６の期間コード「１」に該当する第１行〜第３行のうちの「１」行目をｊとして、注文グループコード「Ｐ１Ｍ１」を作成する。
【００２８】
さらに、注文グループ化部２２は、注文データ２１内の各注文（注文コード）を、以下の手順１〜３により注文グループデータ２３内の注文リストへと書き出す。
（手順１）着目する注文データ２１の最早日が含まれる分割期間を分割期間データ１３から特定し、その特定した期間コードが注文グループコード「ＰｉＭｊ」の期間コード「ｉ」と一致する行を抽出する。例えば、注文コードＴ１の最早日は１０／２なので、期間コード「１」である。
（手順２）前記（手順１）で抽出した行のうち、期間グループコードから特定される品目リストに、着目する注文データ２１の品目コードが含まれる行を特定する。例えば、注文コードＴ１の品目コード「Ａ」は、期間グループコードＰＧ１の品目リスト「Ａ，Ｂ，Ｃ」に含まれる。
（手順３）前記（手順２）で特定した行の注文リスト列に、着目する注文データ２１の注文コードを追加する。例えば、注文コードＴ１は、注文グループコード「Ｐ１Ｍ１」内の注文リストに追加される。
【００２９】
図９は、注文関係データを示す構成図である。
注文関係生成部２４は、図８の注文グループデータ２３に記載される各注文グループのうちの２つの注文グループ間の関係を有向グラフとして生成し、その結果を注文関係データ２５に出力する。
有向グラフのノードは注文グループデータ２３の注文グループコードに対応する。有向グラフの親ノードから子ノードへのリンクは、そのリンクの方向に従って、親ノードで割付しきれなかった注文を子ノードへと引き継がせる（換言すると、子ノードは、親ノードの未割付注文の受け皿となる）旨を示す。各リンクには、１つ以上の品目コードが近接に記載されており、この品目コードは、引き継ぎ可能な品目を示す。
例えば、親ノード「Ｐ１Ｍ１」で割付しきれなかった注文のうち、品目コード「Ａ」や「Ｂ」の注文は、子ノード「Ｐ２Ｍ１」へと引き継ぎ、品目コード「Ｃ」の注文は、子ノード「Ｐ２Ｍ２」へと引き継ぐ。
【００３０】
以下、注文関係データ２５の生成処理を説明する。
（手順１）注文関係生成部２４は、注文グループデータ２３の期間コード（ＰｉＭｊのｉ）の番号の小さいものほど上にして、期間コードの番号の大きいものほど下にして、各注文グループコードのノードを配置する。同じ期間コードどうしの注文グループコードを同じ世代として、互いに横に配置する。
（手順２）注文関係生成部２４は、親世代から順に、その親世代の中で１つの注文グループコード（例えば、Ｐ１Ｍ１）を親ノードとして着目する。
（手順３）注文関係生成部２４は、（手順２）で着目した親ノードの注文グループコードから、注文グループデータ２３の期間グループコード→期間グループデータ１６の品目リストの順にたどることで、親ノードの品目リストを取得する。
（手順４）注文関係生成部２４は、親ノードからみた各子ノード（１世代後のノードであり、親ノードの分割期間の次の分割期間のノード）を抽出し（例えば、Ｐ２Ｍ１〜Ｐ２Ｍ４）、それらの抽出した各子ノードの品目リストを、（手順３）と同様に取得する。
（手順５）注文関係生成部２４は、（手順３）の親ノードの品目リストと、（手順４）の子ノードの品目リストを構成する各品目コードを照合し、重複する品目コードが見つかったときには、その親ノードから子ノードへのリンクを新規生成するとともに、重複する品目コードを新規生成したリンクに付加する。例えば、親ノード「Ｐ１Ｍ１」の品目リスト「Ａ，Ｂ，Ｃ」と、子ノード「Ｐ２Ｍ１」の品目リスト「Ａ，Ｂ」とでは、重複する品目コード「Ａ，Ｂ」が存在するので、親ノード「Ｐ１Ｍ１」から子ノード「Ｐ２Ｍ１」へのリンクが新規生成される。
【００３１】
図１０は、設備日程データおよび注文割付データを示す構成図である。
図１０（ａ）の設備日程データ２７は、日付ごとに、ある品目がある設備でいくつ生産できるかを示すデータである。例えば、第１行は、１０／１に、品目Ａが設備ａで５０個生産できる旨を示す。
図１０（ｂ）の注文割付データ３１は、割付日ごとに、ある注文で示される品目（注文データ２１から特定可能）をある設備でいくつ割り付けるかを示すデータである。例えば、第１行は、１０／２に、注文コードＴ１で示される品目Ａを、設備ａで５０個生産するように割り付ける旨を示す。
割付タスク実行部２８は、新たに注文を作成すると、その注文内容を注文割付データ３１に書き出すとともに、その注文によって消費される設備能力を、図１０（ａ）の設備日程データ２７に反映する。
例えば、割付タスク実行部２８は、注文割付データ３１の第１行（１０／２に、品目Ａを、設備ａで５０個生産）が書き出されたときに、設備日程データ２７の対応する設備能力（１０／２、品目Ａ、設備ａに該当する第２行の設備能力）を、割り付けた個数分（ここでは、５０個）だけ減算する（設備能力＝５０−５０＝０）。
【００３２】
割付タスク実行部２８は、自身の処理中の割付タスクが空になっているときに、割付タスク分配部２６に対して、新たに処理する割付タスクを要求し、要求により分配された割付タスクを実行した結果を、割付タスク分配部２６に返却する。１つの割付タスクは、注文グループデータ２３の１つの行に対応する。つまり、注文グループデータ２３の注文グループコードは、割付タスクの識別子でもある。
【００３３】
割付タスク分配部２６は、複数の（図１では、４つの）割付タスク実行部２８からそれぞれ割付タスクの要求を受け、または、割付タスクが実行可能な（処理空きの）割付タスク実行部２８を割付タスク分配部２６が探して、以下のルール１〜３によって注文グループデータ２３から割付タスクを選択して、各割付タスク実行部２８に割付タスクを分配する。
（ルール１）１つの割付タスクは、１つの割付タスク実行部２８により１回実行される。割付タスクが実行前（割付可能）か実行後（割付済み）かは、注文グループデータ２３内の「割付状態」列から特定できる。
【００３４】
（ルール２）第ｉ世代（ｉ＝分割期間の期間コード）の割付タスクを全て実行してから、第ｉ＋１世代の割付タスクの実行を開始する。例えば、４つの割付タスク実行部２８（それぞれＣＰＵ９１〜９４のいずれか１つにより実行される）があらかじめ用意され、３つの第１世代の割付タスクが、３つの割付タスク実行部２８に分配されたときには、残り１つの割付タスク実行部２８は割付タスクが無い状態（遊休状態）となる（図１１（ａ）参照）。しかし、残り１つの割付タスク実行部２８（ＣＰＵ４、図１のＣＰＵ９４に対応）は、３つの第１世代の割付タスクが全て実行完了するまでは、第２世代の割付タスクを実行開始できず、処理待ちをしなくてはいけない。
【００３５】
（ルール３）割付タスク実行部２８が、第ｉ世代の割付タスク内の注文リストを全て設備に割付しきれない場合、残存した注文リストを、第ｉ＋１世代の割付タスク内の注文グループデータ２３の残存リストに入れる。例えば、Ｐ２Ｍ３の注文リストＴ１０の品目個数が設備能力を超過している（過剰注文）場合、Ｐ２Ｍ３で生産しきれなかった注文リストＴ１０を、新たに注文リストＴ１０ａとして作成し、次世代のＰ３Ｍ５の残存リストに入れる。
【００３６】
なお、Ｐ２Ｍ３→Ｐ３Ｍ５の注文の引き継ぎは、図９で説明したとおり、注文関係データ２５内のリンクとリンクに付された品目から特定できる。つまり、Ｐ２Ｍ３で品目Ｆが生産しきれなかったときには、品目Ｆのリンク先であるＰ３Ｍ５が、引き継ぎ先として選択される。
また、割付タスク実行部２８は、割付タスクの注文リストと、残存リストとの両方を割付対象の注文リストとして処理するが、残存リストを注文リストよりも優先して割り付けることが望ましい。
【００３７】
図１１は、割付タスク実行部を示す説明図である。図１１（ａ）は第１世代の割付タスク（Ｐ１Ｍ１〜Ｐ１Ｍ３）の割付処理を示し、図１１（ｂ）は第２世代の割付タスク（Ｐ２Ｍ１〜Ｐ２Ｍ４）の割付処理を示す。図１１の表において、各行は割付タスク実行部２８の１回の計算単位（例えば、ＣＰＵの処理クロック）での計算結果であり、その計算単位ごとに、ｐ０，ｐ１，ｐ２，…というクロック識別子が説明用に付されている（最左列）。
図１１の表において、各列は割付タスク実行部２８ごとの計算内容を示す列である。例えば、第２列の「ＣＰＵ１」は、図１のＣＰＵ９１に対応する。各割付タスク実行部２８は、割付タスクを受けると、その割付タスクで割付対象となる設備をロック（予約）する（ｐ０）。
【００３８】
次に、各割付タスク実行部２８は、割付タスクを構成する各注文について、それぞれ注文対象である品目とその品目を生産できる設備とを特定し、特定した内容を元に割付内容を決定する（ＣＰＵ１では、ｐ１〜ｐ１０）。
例えば、行「ｐ１」列「ＣＰＵ１」のセルには、「１，ａ，２」＝５０と記載されているが、これは、注文Ｔ１として、設備ａを用いて１０／２に、品目を５０個つくれという割付内容を示す。この割付内容の具体的な計算方法は、図１２のフローチャートで明らかにする。この１０／２の５０個の割付により、注文データ２１の注文コードＴ１の品目Ａを１００個つくる注文のうちの半分（５０個）が割付できたことになる。
【００３９】
なお、割付タスク実行部２８は、残りの５０個を翌日（１０／３）に割り付けられるか否かを設備日程データ２７から判定するが、設備日程データ２７には、品目Ａを１０／３に５０個つくれる設備は、２つ存在する（設備ａ，ｂ）。このとき、割付タスク実行部２８は、より早く品目を生産できる設備を優先的に選択してもよいし、品目設備データ１４の割付優先度を参照して、高優先の設備を優先的に選択してもよい。
【００４０】
そして、割付タスク実行部２８は、割り付ける注文が無くなると、ｐ０でロックした設備のロックを解除する（ＣＰＵ１では、ｐ１１）。さらに、割付タスク実行部２８は、子群状態更新として、今回の割付タスクからみて子世代（次世代）の割付タスクの状態を更新する（ＣＰＵ１では、ｐ１２）。子群状態更新では、前記したように、割付しきれなかった注文を、次世代に引き継がせる処理などを行う。
なお、割付タスク実行部２８は、注文リストや残存リストが記載されていない（空の）割付タスクを受けることもある。そのときには、割付タスク実行部２８は、割付処理を実行する必要がない。
【００４１】
このように、複数の割付タスク実行部２８間で並列に割付処理を実行できるのは、品目群や設備群の重複がないように、前処理として割付タスクを計算したためである（図６参照）。これにより、前処理のオーバヘッドはかかるものの、割付タスク間でデータ並列できるように注文をグループ化することで、割付処理に要する時間を短縮することができる。例えば、図１では、４つのＣＰＵ９１〜９４を用いて、４つの割付タスク実行部２８を並列に動作させることで、割付時間を約１／３に短縮できる。
【００４２】
図１２は、割付タスク実行部を示すフローチャートである。
Ｓ１０１において、割付タスク実行部２８は、分配された注文グループが使用する設備をロックする。ロックする設備は、注文グループデータ２３の注文グループコード→期間グループコードと、期間グループデータ１６の期間グループコード→設備リストから特定できる。
Ｓ１０２〜Ｓ１０９において、割付タスク実行部２８は、注文グループの注文を注文ｋとして１つずつ選択する。選択対象の注文は、注文グループデータ２３の注文グループコード→注文リストと残存リストから特定できる。
Ｓ１０３〜Ｓ１０８において、割付タスク実行部２８は、注文ｋの品目を生産できる設備を設備ｒとして１つずつ選択する。注文ｋの品目は、注文データ２１の注文コード→品目コードで特定し、品目を生産できる設備は、設備日程データ２７（または品目設備データ１４）の品目コード→設備コードで特定できる。
Ｓ１０４〜Ｓ１０７において、割付タスク実行部２８は、注文ｋの最早日から最遅日まで順に１日ずつ日ｔとして選択する。最早日および最遅日は、注文グループデータ２３の注文グループコードから特定できる。
【００４３】
Ｓ１０５において、割付タスク実行部２８は、注文ｋの品目の割付が完了した（換言すると、品目の未割付分が０である）か否かを判定し、完了したときには（Ｓ１０５，Ｙｅｓ）、日ｔのループ（Ｓ１０７）と、設備ｒのループ（Ｓ１０８）を抜ける。なお、品目の未割付分は、注文データ２１の該当する品目数量（割付必要分）から、注文割付データ３１の該当する割付数量（割付済み分）を減算した結果である。
【００４４】
Ｓ１０６において、割付タスク実行部２８は、日ｔにおいて、注文ｋの品目（未割付分）を設備ｒに生産可能な数量分だけ割り付ける。設備が生産可能な数量分は、設備日程データ２７の該当する設備能力に記載されている。また、品目設備データ１４の生産能力係数から、設備が生産可能な数量分を求めてもよい。
このＳ１０６の割付結果として、注文割付データ３１の該当する割付数量（割付済み分）が今回の割付分だけ増加し、設備日程データ２７の該当する設備能力が今回の割付分だけ減少する。
【００４５】
Ｓ１１０において、割付タスク実行部２８は、Ｓ１０１の設備ロックを解除し、図１１のＣＰＵ１のｐ１２で説明したように、次世代（子）の状態更新処理を行う。この状態更新処理では、今回実行した親の注文グループで未割付分の品目が残った注文を注文グループデータ２３の残存リストに書き出す。さらに、未割付分の品目が残った注文に対して、親の注文グループの分割期間内に、未割付分の品目を生産できる設備が存在するときには、その存在する設備に対して、Ｓ１０６と同様にして注文を割り付けてもよい。
【００４６】
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【００４７】
各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）などの記録装置、または、ＩＣ（Integrated Circuit）カード、ＳＤカード、ＤＶＤなどの記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００４８】
１      生産計画装置
１１    立案期間データ
１２    期間分割部
１３    分割期間データ
１４    品目設備データ
１５    期間グループ化部
１６    期間グループデータ
２１    注文データ
２２    注文グループ化部
２３    注文グループデータ
２４    注文関係生成部
２５    注文関係データ
２６    割付タスク分配部
２７    設備日程データ
２８    割付タスク実行部
３１    注文割付データ
【図１】
2014099101.tif 000003
【図２】
2014099101.tif 000004
【図３】
2014099101.tif 000005
【図５】
2014099101.tif 000006
【図６】
2014099101.tif 000007
【図７】
2014099101.tif 000008
【図８】
2014099101.tif 000009
【図９】
2014099101.tif 000010
【図１０】
2014099101.tif 000011
【図１２】
2014099101.tif 000012
【図４】
2014099101.tif 000013
【図１１】
2014099101.tif 000014