(57)【特許請求の範囲】
【請求項１】
データ分析装置であって、
プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有する計算機によって構成され、
前後の工程の製造実績データと矛盾しないように決定されたデータで欠損データを補完するデータ補完処理部と、
交換可能データを置換するデータ置換処理部とを有し、
前記記憶装置は、工程の順序、作業の種類、作業した機械の識別情報、作業開始時刻及び作業終了時刻を含む製造実績データを格納し、
前記データ補完処理部は、
１台の機械が同時に行える作業の数の制約を用いて、各機械の作業順序を決定し、
連続する二つの工程の間の作業に要する時間を含む作業時間の統計値を求めることによって母数モデルを推測し、
作業が行われた時刻、前記決定された作業順序及び前記推測された母数モデルに基づいて計算される尤度を最大化するように決定されたデータで欠損データを補完することを特徴とするデータ分析装置。
【請求項２】
請求項１に記載のデータ分析装置であって、
前記データ補完処理部は、
前記各工程の開始時刻を、その最も早い限界値及び最も遅い限界値を考慮して、設定し、
前記各工程の終了時刻を、その最も早い限界値及び最も遅い限界値を考慮して、設定し、
前記設定された開始時刻及び終了時刻が他の工程との関係で矛盾がないデータを決定することを特徴とするデータ分析装置。
【請求項３】
データ分析装置であって、
プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有する計算機によって構成され、
前後の工程の製造実績データと矛盾しないように決定されたデータで欠損データを補完するデータ補完処理部と、
交換可能データを置換するデータ置換処理部とを有し、
前記記憶装置は、工程の順序、作業の種類、作業した機械の識別情報、作業開始時刻及び作業終了時刻を含む製造実績データと、交換が可能なデータを定めた交換可能データと、順序が交換可能なデータを定めた順序交換可能データとを格納し、
前記データ置換処理部は、
前記交換可能データを参照して、前記製造実績データの作業の種類及び作業した機械の識別情報の交換可否を判定し、
前記順序交換可能データを参照して、前記製造実績データの工程の交換可否を判定し、
前記交換可能と判定されたデータを置換することを特徴とするデータ分析装置。
【請求項４】
計算機が製造実績データを分析するデータ分析方法であって、
前記計算機は、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記記憶装置は、工程の順序、作業の種類、作業した機械の識別情報、作業開始時刻及び作業終了時刻を含む製造実績データを格納し、
前記データ分析方法は、
前記プロセッサが、前後の工程の製造実績データと矛盾しないように決定されたデータで欠損データを補完するデータ補完処理ステップと、
前記プロセッサが、交換可能データを置換するデータ置換処理ステップとを含み、
前記データ補完処理ステップでは、
前記プロセッサは、１台の機械が同時に行える作業の数の制約を用いて、各機械の作業順序を決定し、
前記プロセッサは、連続する二つの工程の間の作業に要する時間を含む作業時間の統計値を求めることによって母数モデルを推測し、
前記プロセッサは、作業が行われた時刻、前記決定された作業順序及び前記推測された母数モデルに基づいて、尤度を最大化するように決定されたデータで欠損データを補完することを特徴とするデータ分析方法。
【請求項５】
請求項４に記載のデータ分析方法であって、
前記データ補完処理ステップでは、
前記プロセッサは、前記各工程の開始時刻を、その最も早い限界値及び最も遅い限界値を考慮して設定し、
前記プロセッサは、前記各工程の終了時刻を、その最も早い限界値及び最も遅い限界値を考慮して設定し、
前記プロセッサは、前記設定された開始時刻及び終了時刻が他の工程との関係で矛盾がないデータを決定することを特徴とするデータ分析方法。
【請求項６】
計算機が製造実績データを分析するデータ分析方法であって、
前記計算機は、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記記憶装置は、工程の順序、作業の種類、作業した機械の識別情報、作業開始時刻及び作業終了時刻を含む製造実績データと、交換が可能なデータを定めた交換可能データと、順序が交換が可能なデータを定めた順序交換可能データとを格納し、
前記データ分析方法は、
前記プロセッサが、前後の工程の製造実績データと矛盾しないように決定されたデータで欠損データを補完するデータ補完処理ステップと、
前記プロセッサが、交換可能データを置換するデータ置換処理ステップとを含み、
前記データ置換処理ステップでは、
前記プロセッサは、前記交換可能データを参照して、前記製造実績データの作業の種類及び作業した機械の識別情報の交換可否を判定し、
前記プロセッサは、前記順序交換可能データを参照して、前記製造実績データの工程の交換可否を判定し、
前記プロセッサは、交換可能と判定されたデータを置換することを特徴とするデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析装置に関し、特に製造実績データを補完する技術に関する。
【背景技術】
【０００２】
製造業において、短納期で製品を納入することの顧客ニーズが高まっている。また、仕掛品の保管場所の削減や、キャッシュフローの改善の観点からも、短納期が好ましい。このため、どの注文のどの工程がボトルネックになっているか調べたり、納期改善の余地があるかの検討が必要である。
【０００３】
これらの検討は、実際、製品がどのように製造されたかを示す製造実績データが基礎となる。多くの場合、製造実績データは、Ｐｏｉｎｔ  ｏｆ  Ｐｒｏｄｕｃｔｉｏｎ（ＰＯＰ）と称されるシステムにより、図１に示すような形式で取得される。例えば、製造実績データには、各工程作業について、どの顧客注文に関連付けられた作業であるかを示す注文Ｎｏ１００、その注文における作業の順序を示す工程番号１０１、作業の種類１０２、作業を行った機械のＩＤ１０３、作業を行った担当者のＩＤ１０４、作業を開始した時刻１０５及び終了した時刻１０６が記録されている。図１に示す例では、注文Ｎｏが１の注文は１０の工程に分けられ、最初の作業は、担当者「人員−０１」が、機械「射出−０１」を用いて行った「射出」という種類の作業であり、１０時５５分に着手し１１時４５分に終了したことを示している。なお、機械のＩＤ１０３、担当者のＩＤ１０４はいずれか一方でもよい。すなわち、機械を用いない作業では機械のＩＤ１０３は不要であり、自動化された作業では担当者のＩＤ１０４は不要である。
【０００４】
しかし、実際には、図１に示すような完全な製造実績データを得ることは困難である。図１に示す製造実績データの各項目は、産業機械から自動的に登録されたり、ＲＦＩＤなどを通じて自動的に登録できるものもあるが、作業員が作業の際に手動で登録する場合もある。また、高効率かつ柔軟な製造のために、作業現場の管理者の判断で作業の手順、使用機械、作業人員を随時調整することもある。このような場合、過度に高頻度・細粒度な製造実績の入力は製造作業の中断を招き、作業品質や効率の低下の原因となるため、現実の運用において製造実績データの正確かつ漏れない登録は困難である。
【０００５】
前述した理由によって、実際に得られる製造実績データは、一部のデータが欠損したり、誤ったりしている。
【０００６】
欠損や誤りを含むデータに対する計算処理として、非特許文献１に示すように、欠損値を代表値、標本平均値又は回帰などで計算した値の代替によって補完して計算する方法が提案されている（方法１）。また、特許文献１及び２に示すように、通過工程パターンと注文全体の所要時間（製造工期）の分布を求める方法が提案されている（方法２）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−３００８８号公報
【特許文献２】特開２０１０−１２８６７９号公報
【特許文献３】特開２０１３−３３４５０号公報
【非特許文献】
【０００８】
【非特許文献１】R. R. A. Little and D. B. Rubin (2002), Statistical analysis with missing data, Wiley
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、前述した方法１で製造実績データの欠損や誤りの正確な補完は難しい。これは、欠損値の代替は、各作業に要した時間のような連続値では有効であるが、機械のＩＤ、担当者のＩＤ、開始時刻、終了時刻のような値の補完は困難だからである。また、最尤法やベイズ法で求めた母数モデルを対象に計算処理を行う方法や、通過工程パターンと注文全体の所要時間の分布を求める方法（方法２）では、製造工期や各作業に要する時間の母数モデルを求めることができるが、欠損又は誤っている項目の真の値を得ることはできない。例えば、期待値など所定の値を用いて補完した場合、実際の製造実績の矛盾ない記述は保証されない（例えば、同時期に一台の機械が複数の作業を行ったことになるなど）。また、各作業に要する時間の母数モデルを用いることによって相対的に長い作業時間を要する作業を調べることができる。しかし、個別の時点における機械や担当者の作業同士の矛盾を判定できない。また、欠損値を含まない部分のみを計算処理対象とする方法では、注文を構成する一部の工程しか利用できなかったり、機械や担当者における矛盾を発生した注文の製造実績データの一部しか利用できず、検討結果が現実を反映しない可能性がある。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、欠損や誤りを含む製造実績データを補完する技術を提供する。
【課題を解決するための手段】
【００１１】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データ分析装置であって、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有する計算機によって構成され、前後の工程の製造実績データと矛盾しないように決定されたデータで欠損データを補完するデータ補完処理部と、交換可能データを置換するデータ置換処理部とを有し、前記記憶装置は、工程の順序、作業の種類、作業した機械の識別情報、作業開始時刻及び作業終了時刻を含む製造実績データを格納し、前記データ補完処理部は、１台の機械が同時に行える作業の数の制約を用いて、各機械の作業順序を決定し、連続する二つの工程の間の作業を含む作業時間に要する時間の統計値を求めることによって母数モデルを推測し、作業が行われた時刻、前記決定された作業順序及び前記推測された母数モデルに基づいて計算される尤度を最大化するように決定されたデータで欠損データを補完する。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、欠損や誤りを含む製造実績データを補完できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例で使用される製造実績データの例を示す図である。
【図２】本実施例のデータ分析装置の構成を示す機能ブロック図である。
【図３】本実施例の製造実績データ、交換可能データ、順序交換可能データのデータ構造を示す図である。
【図４】本実施例の工程順序関係データのデータ構造を示す図である。
【図５】本実施例のデータ分析装置において実行される処理の流れを概略的に示すフローチャートである。
【図６】本実施例の欠損データ補完処理の詳細を示すフローチャートである。
【図７】本実施例の最尤解計算処理の詳細を示すフローチャートである。
【図８】本実施例の早限・遅限設定処理の詳細を示すフローチャートである。
【図９】本実施例の初期値設定処理の詳細を示すフローチャートである。
【図１０】本実施例の交換可能データ置換処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１４】
＜実施例１＞
以下、本発明の実施例を図面を用いて説明する。
【００１５】
以下、添付図面を参照しながら、本発明の実施例の業務文書処理装置を説明する。後述する実施例は本発明の一例であり、本発明は様々な変形例を含むものである。
【００１６】
図２〜図１０は、以下で説明する実施例を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表し、基本的な構成は同じであり、それらの動作は同様である。
【００１７】
図２は、本実施例のデータ分析装置の構成を示す機能ブロック図である。
【００１８】
データ分析装置は、表示装置２００と、キーボード２０１と、マウスなどのポインティングデバイス２０２と、中央処理装置２０３と、プログラムメモリ２０４と、データメモリ２０５と、製造実績データベース２０６と、マスタデータ２０７とを有する。表示装置２００は、データ分析装置から出力されるデータを表示する。キーボード２０１は、表示画面においてメニューを選択するなどの操作が行われる。中央処理装置２０３は、データ分析装置の機能を実現するために必要な演算処理、制御処理などを実行する。プログラムメモリ２０４は、中央処理装置２０３で実行されるプログラムを格納する。データメモリ２０５は、中央処理装置２０３で実行される処理に必要なデータを格納する。
【００１９】
データ分析装置は、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）などの大容量かつ不揮発性の補助記憶装置を有し、製造実績データベース２０６及びマスタデータ２０７は、補助記憶装置に格納される。また、中央処理装置２０３が実行するプログラムは、補助記憶装置から読み出されて、プログラムメモリ２０４にロードされ、中央処理装置２０３によって実行されてもよい。
【００２０】
中央処理装置２０３は、欠損データ補完処理部２０８と、交換可能データ置換処理部２０９とを有する。この実施例のデータ分析装置はコンピュータによって構成され、各処理部２０８及び２０９は、いずれもコンピュータが実行するプログラムの機能の一部として実現される。欠損データ補完処理部２０８は、母数モデル推測処理部２１０と、最尤解計算処理部２１１とを有する。最尤解計算処理部２１１は、早・遅限界値設定処理部２１２と、初期値設定処理部２１３とを有する。
【００２１】
データメモリ２０５は、製造実績データ２１４と、交換可能データ２１５と、順序交換可能データ２１６と、工程順序関係データ２１７と格納する。
【００２２】
交換可能データ２１５及び順序交換可能データ２１６は、マスタデータ２０７にも格納されている。
【００２３】
中央処理装置２０３が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介してデータ分析装置に提供され、非一時的記憶媒体である不揮発性のプログラムメモリ２０４（又は、補助記憶装置）に格納される。このため、データ分析装置は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００２４】
データ分析装置は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、データ分析装置の各機能部は異なる計算機上で実現されてもよい。
【００２５】
図３は、データメモリ２０５に格納される製造実績データ２１４、交換可能データ２１５、順序交換可能データ２１６のデータ構造を示す図である。
【００２６】
なお、図３、図４では、データを「テーブル」形式で説明するが、これらのデータは必ずしもテーブルによるデータ構造で表現されていなくてもよく、マトリックス、リスト、データベース、キュー等のデータ構造やそれ以外で表現されていてもよい。
【００２７】
製造実績データ２１４は、図３（Ａ）に示すように、注文Ｎｏ３００、工程順序３０１、作業種類３０２、機械ＩＤ３０３、担当者ＩＤ３０４、開始時刻３０５及び終了時刻３０６を含み、各項目は配列の形で保持される。配列の各要素は、図１に示す製造実績の各行を表す。注文Ｎｏ３００は、その注文を一意に識別するための識別情報である。工程順序３０１は、その注文を構成する工程の中での作業の順序である。作業種類３０２は、その作業の種類である。機械ＩＤ３０３は、その作業を行った機械の識別情報である。担当者ＩＤ３０４は、その作業を行った担当者の識別情報である。開始時刻３０５及び終了時刻３０６は、それぞれ、その作業を開始した時刻及び終了した時刻である。なお、図１に示す製造実績データと同様に、機械ＩＤ３０３、担当者ＩＤ３０４はいずれか一方でもよい。すなわち、機械を用いない作業では機械ＩＤ３０３は不要であり、自動化された作業では担当者ＩＤ３０４は不要である。
【００２８】
交換可能データ２１５は、図３（Ｂ）に示すように、列名称３０７、交換可能リスト３０８及び確率３０９を含み、各項目は配列の形で保持される。列名称３０７は、列の名称の識別情報である。交換可能リスト３０８は、その列での交換可能な値のリストである。確率３０９は、上記した値の交換が発生する確率を含み、配列の形で保持される。図３（Ｂ）に示す例では、図１に示す製造実績において、”機械ＩＤ”列に”射出−０１”と記載されている作業は”射出−０３”の機械でも実施可能であり、製造実績として記録されている内容と機械を交換して作業が行われていた可能性が、確率０．２５であることを示す。
【００２９】
順序交換可能データ２１６は、図３（Ｃ）に示すように、図１に示す製造実績において、工程の順序を入れ替え実施することが可能である二つの作業を、第一行３１０及び第二行３１１に記録し、その発生確率を発生確率３１２に記録する。図３（Ｃ）に示す例では、注文Ｎｏがｘで、工程順序がｙ及びｙ＋２である二つの工程において、両者とも”射出−０２”の機械で”射出”作業を行った場合、これらの工程は逆の順序で行うことも可能であり、製造実績として記録されていた内容と順序を交換して作業が行われていた可能性が、確率０．１であることを示す。なお、図５のステップ５００で述べるように、段取りや搬送を仮想的な作業として挿入することから、一つの作業を間に含む二つの工程が交換対象となる。
【００３０】
交換可能データ２１５及び順序交換可能データ２１６は、製造実績データ２１４に依らず、機械や作業の物理的性質によって指定されるものであり、あらかじめ用意され、マスタデータ２０７に保持される。
【００３１】
図４は、データメモリ２０５に格納される工程順序関係データ２１７のデータ構造を示す図である。
【００３２】
工程順序関係データ２１７は、Ｉｄｘ４００、注文Ｎｏ４０１、工程順序４０２、開始ｏｒ終了４０３、前関係４０４、後関係４０５、時刻４０６、早限４０７及び遅限４０８を含み、各項目は配列の形で保持される。Ｉｄｘ４００は、関係の要素番号である。注文Ｎｏ４０１は、注文を一意に識別するための識別情報である。工程順序４０２は、その注文を構成する工程の中での作業の順序である。開始ｏｒ終了４０３は、その作業の開始と終了のどちらを表す。前関係４０４は、その作業の前に行われる作業のＩｄｘである。後関係４０５は、その作業の後に行われる作業のＩｄｘである。前関係４０４及び後関係４０５は二つの要素を含む配列の形で保持され、第一の要素は、注文を構成する工程の順序関係で表される作業を示し、第二の要素は、同じ機械を使用する工程の順序関係で表される作業を示す。注文内の最初又は最後工程である場合、前関係４０４又は後関係４０５の第一の要素がＮＵＬＬになる。その機械を利用する最初又は最後の作業である場合、前関係４０４又は後関係４０５の第二の要素がＮＵＬＬになる。
【００３３】
時刻４０６は、その作業の開始ｏｒ終了４０３で指定された時刻である。早限４０７は、時刻の値が最早でどの値まで選択可能かを示す限界値である。遅限４０８は、時刻の値が最遅でどの値まで選択可能かを示す限界値である。すなわち、早限４０７と遅限４０８との間で時刻４０６を設定すると、時間的な矛盾がない解とすることができる。
【００３４】
次に、上記のように構成された本実施形態の業務文書処理装置において行われる処理について説明する。
【００３５】
図５は、データ分析装置において実行される処理の流れを概略的に示すフローチャートである。
【００３６】
図５において、まず、製造実績データベース２０６及びマスタデータ２０７に保持されているデータを、製造実績データ２１４、交換可能データ２１５、及び順序交換可能データ２１６に読み出す（ステップ５００）。このとき、製造実績データ２１４の開始時刻３０５と終了時刻３０６とが同じ値である、又は、先後関係が逆転している場合、入力された値が誤っていると判定し、データをＮＵＬＬに変更する。また、二つの工程の間に、段取りや搬送の作業を一つずつ挿入する。
【００３７】
次に、評価値を初期化する（ステップ５０１）。この時点では、製造データに含まれる誤りや欠損を補完しない状態での評価値であり、十分に悪い評価を仮の値とする。
【００３８】
その後、欠損データを補完する（ステップ５０２）。ステップ５０２の処理は、欠損データ補完処理部２０８が実行し、その詳細は図６を用いて説明する。
【００３９】
その後、評価値が収束しているかを判定する（ステップ５０３）。より良い評価値が得られないことが所定回数以上続いている場合、収束していると判定し処理を終了する。前回より良い評価値が得られている場合、交換可能データを置換する（ステップ５０４）。具体的には、交換可能データ置換処理部２０９が誤りの補完に相当する処理を行う。ステップ５０４の処理の詳細は、図１０を用いて説明する。
【００４０】
図６は、図５のステップ５０２の欠損データ補完処理の詳細を示すフローチャートである。
【００４１】
まず、評価値を初期化する（ステップ６００）。この時点では、製造データに含まれる欠損を補完しない状態での評価値であり、十分に悪い評価を仮の値とする。
【００４２】
次に、機械の順序を設定する（ステップ６０１）。この処理は、１台の機械が同時に行える作業の数の制約（例えば、１台の機械は同時に一つの作業しか行えない）を用いて、各機械がどの順序で作業を行ったかを決定するものであり、その結果を工程順序関係データ２１７の前関係４０４の第二の要素及び後関係４０５の第二の要素として保持する。また、開始ｏｒ終了４０３が”開始”であれば、製造実績データ２１４の開始時刻３０５がＮＵＬＬであるかを判定し、ＮＵＬＬでなければ、時刻４０６、早限４０７及び遅限４０８に、製造実績データ２１４の開始時刻３０５を設定する。逆に、開始ｏｒ終了４０３が”終了”であれば、終了時刻３０６がＮＵＬＬであるかを判定し、ＮＵＬＬでなければ、時刻４０６、早限４０７及び遅限４０８に、製造実績データ２１４の終了時刻３０６を設定する。
【００４３】
その後、矛盾がない解が一つ以上あるかを判定する（ステップ６０２）。具体的には、工程順序関係データ２１７の前関係４０４及び後関係４０５を、中間仕掛品の投入関係とし、時刻４０６を材料到着及び納入時間として扱ったうえで、既存のスケジューラ技術で納期を満たすスケジュールを計算可能であれば、矛盾がない解であると判定する。
【００４４】
その後、母数モデルを計算する（ステップ６０３）。ステップ６０３では、母数モデル推測処理部２１０が、連続する二つの工程の作業種類の組に対して段取りや搬送を含んだ作業に要する時間の分布の統計値（例えば、平均や分散）を求める。作業に要する時間の平均や分散は、例えば、特許文献３に記載された方法によって求めることができる。
【００４５】
その後、最尤解を計算する（ステップ６０４）。ステップ６０４では、最尤解計算処理部２１１が、取得できた時刻、仮定した機械の順序、及び推測された母数モデルに基づいて、尤度を最大化するように決定された値で欠損値を補完する。ステップ６０４の処理の詳細は、図７を用いて説明する。
【００４６】
図７は、図６のステップ６０４の最尤解計算処理の詳細を示すフローチャートである。
【００４７】
まず、工程順序関係データ２１７の各要素について、早限４０７及び遅限４０８を設定する（ステップ７００）。ステップ７００の処理は、早・遅限界値設定処理部２１２が実行し、その詳細は、図８を用いて説明する。
【００４８】
次に、予め設定された回数だけ以降の処理を繰り返し実行したかを判定する（ステップ７０１）。既に所定回数以上繰り返し実行されていれば最尤解計算処理を終了する。まだ所定回数以上繰り返し実行されていなければ以降の処理を実行する。
【００４９】
その後、初期値を設定する（ステップ７０２）。具体的には、初期値設定処理部２１３がランダムかつ矛盾がないように欠損値を補完する。ステップ７０２の処理の詳細は図９を用いて説明する。
【００５０】
その後、ステップ７０２で設定した初期値を現在値に設定し（ステップ７０３）、解を評価する（ステップ７０４）。具体的には、ステップ６０３で求めた母数モデルを用い、コルモゴロフ−スミルノフ検定やシャピロ−ウィルク検定でＰ値を求めて、作業の種類ごとＰ値を計算し、ステップ５０４で行った置換の回数に応じて発生確率３０９、３１２のべき乗を計算し、この発生確率のべき乗にＰ値を乗じることによって尤度が得られる。
【００５１】
その後、評価値が収束しているかを判定する（ステップ７０５）。前回より良い評価値がステップ７０４で得られないことが所定回数以上続いている場合、評価値が収束していると判定して、ステップ７０２に戻り、処理を繰り返す。一方、前回より良い評価値が得られた場合や、より良い評価値が得られない回数が所定回数未満である場合、ステップ７０６以後の処理を実行する。
【００５２】
その後、ステップ７０３で設定した現在値から各欠損値の補完内容を少し増減し、欠損値を移動する（ステップ７０６）、その増減の後でも矛盾がない解があるかを判定する（ステップ７０７）。ステップ７０７の処理は、ステップ６０２と同様の処理で行うことができる。矛盾がない解が存在しなければ、ステップ７０６に戻り、保管された欠損値の再び移動する。矛盾がない解が存在すれば、ステップ７０４と同様に解を評価し（ステップ７０８）、評価された解を新たな現在値として更新する（ステップ７０９）。
【００５３】
図８は、図７のステップ７００の早限・遅限設定処理の詳細を示すフローチャートである。
【００５４】
まず、工程順序関係データ２１７の要素がまだ存在するかを判定する（ステップ８００）。工程順序関係データ２１７の要素がまだ存在する場合、早限４０７の値がＮＵＬＬであるかを判定する（ステップ８０１）。早限４０７の値がＮＵＬＬである場合、前関係４０４の第一又は第二の要素をＩｄｘ４００として持つ工程順序関係データ２１７の要素において、ＮＵＬＬでない時刻４０６及び早限４０７の値のうち最も遅い値を用いて、早限４０７の値を更新する（ステップ８０２）。
【００５５】
一方、ステップ８０１において、早限４０７の値がＮＵＬＬでない場合、遅限４０８の値がＮＵＬＬであるかを判定する（ステップ８０３）。遅限４０８の値がＮＵＬＬである場合、後関係４０５の第一又は第二の要素をＩｄｘ４００として持つ工程順序関係データ２１７の要素において、ＮＵＬＬでない時刻４０６及び遅限４０８の値のうち最も早い値を用いて、遅限４０８の値を更新し（ステップ８０４）、ステップ８００に戻る。
【００５６】
一方、ステップ８０３において、遅限４０８の値がＮＵＬＬでない場合、ステップ８０４を飛ばして、ステップ８００に戻る。
【００５７】
ステップ８００では、未処理の工程順序関係データ２１７がない場合、ステップ８０１から８０４までの繰り返しにおいて、早限４０７又は遅限４０８が更新されたかを判定する（ステップ８０５）。早限４０７及び遅限４０８の少なくとも一方が更新されている場合、最初の工程順序関係データ２１７から処理をやり直す（ステップ８０６）。早限４０７及び遅限４０８の両方が更新されていない場合、早限・遅限設定処理を終了する。
【００５８】
図９は、図７のステップ７０２の初期値設定処理の詳細を示すフローチャートである。
【００５９】
まず、時刻４０６がＮＵＬＬである工程順序関係データ２１７がまだ存在するかを判定する（ステップ９００）。時刻４０６がＮＵＬＬである工程順序関係データ２１７がある場合、そのような工程順序関係データを一つ選び、早限４０７及び遅限４０８の間の値を時刻４０６に設定する（ステップ９０１）。一方、時刻４０６がＮＵＬＬである工程順序関係データ２１７がない場合、初期値設定処理を終了する。
【００６０】
次に、工程順序関係データ２１７の前関係４０４を参照して、遅限４０８の値を更新する（ステップ９０２）。前関係４０４の第一及び第二の要素をＩｄｘ４００として持つ工程順序関係データ２１７の時刻４０６の値がＮＵＬＬでない場合、ステップ９０１で選んだ値で遅限４０８の値を更新する。また、その要素の前関係４０４の第一及び第二の要素をＩｄｘ４００として持つ工程順序関係データ２１７の要素へ遡って同じ処理を行う。
【００６１】
次に、工程順序関係データ２１７の後関係４０５を参照して、早限４０７の値を更新する（ステップ９０３）。後関係４０５の第一及び第二の要素をＩｄｘ４００として持つ工程順序関係データ２１７の時刻４０６の値がＮＵＬＬでない場合、ステップ９０１で選んだ値で早限４０７の値を更新する。また、その要素の後関係４０５の第一及び第二の要素をＩｄｘ４００として持つ工程順序関係データ２１７の要素へ遡って同じ処理を行う。
【００６２】
その後、ステップ９００へ戻り、処理を繰り返す。
【００６３】
図１０は、図５のステップ５０４の交換可能データ置換処理の詳細を示すフローチャートである。
【００６４】
まず、交換対象としてまだ選択されていないセルがあるかを判定する（ステップ１０００）。具体的には、製造実績データ２１４のうち、作業種類３０２、機械ＩＤ３０３及び担当者ＩＤ３０４のうち選択されていない要素があるかを判定する。選択されていない要素がなければ、ステップ１００４に進む。
【００６５】
次に、交換対象としてまだ選択されていないセルを一つを選択する（ステップ１００１）。具体的には、ステップ１０００において選択されていないと判定されたセルから一つを選択する。
【００６６】
その後、ステップ１００１で選択したセルが交換可能データ２１５に含まれるかを判定する（ステップ１００２）。具体的には、ステップ１００１で選択したセルの列の名称が、交換可能データ２１５の列名称３０７と一致し、かつ、ステップ１００１で選択したセルの値が交換可能データ２１５の交換可能リスト３０８の要素に含まれるかを判定する。その結果、選択したセルが交換可能データ２１５に含まれない場合、ステップ１０００に戻り、処理を繰り返す。選択したセルが交換可能データ２１５に含まれる場合、データを交換する（ステップ１００３）。具体的には、交換可能データ２１５の交換可能リストの中から選択した一つの値でセルの値を更新する。
【００６７】
その後、交換対象としてまだ選択されていない行があるかを判定する（ステップ１００４）。具体的には、まだ選択されていない配列要素が製造実績データ２１４に存在するか判定する。交換対象として全ての行が選択済みである場合、交換可能データ置換処理を終了する。
【００６８】
その後、交換対象としてまだ選択されていない行から一つの行を選択する（ステップ１００５）。具体的には、ステップ１００４において選択されていないと判定された行から一つを選択する。
【００６９】
その後、ステップ１００５で選択された行が順序交換可能データ２１６の第一行３１０に含まれるかを判定する（ステップ１００６）。具体的には、ステップ１００５で選択された配列要素の値が、順序交換可能データ２１６のいずれかの配列要素の第一行３１０の内容と一致するかを判定する。選択された配列要素の値が他の配列要素の第一行３１０の内容と一致しない場合、ステップ１００４に戻る。
【００７０】
一方、ステップ１００５で選択された配列要素の値が他の配列要素の第一行３１０の内容と一致すると判定された場合、ステップ１００５で選択された行が順序交換可能データ２１６の第一行に含まれるかを判定する（ステップ１００７）。具体的には、ステップ１００５で選択された配列要素の第二行３１１で指定される相対位置にある配列要素が、第二行３１１の内容と一致するかを判定する。選択された配列要素の第二行３１１で指定される相対位置にある配列要素が、第二行３１１の内容と一致しない場合、ステップ１００４に戻る。
【００７１】
一方、ステップ１００５で選択された配列要素の第二行３１１で指定される相対位置にある配列要素が、第二行３１１の内容と一致する場合、データを交換する（ステップ１００８）。具体的には、ステップ１００５で選択された配列要素と、当該配列要素の第二行３１１で指定される相対位置にある配列要素との工程順序３０１以外の値を入れ替える操作である。
【００７２】
以上に説明したように、本発明の実施例によると、欠損や誤りを含む製造実績データを適切に補完できる。これにより、どの注文のどの工程がボトルネックであるかを調査し、納期改善の余地の有無を検討できる。
【００７３】
また、欠損データ補完処理部２０８が、決定された作業順序及び推測された母数モデルに基づいて計算される尤度を最大化するように決定されたデータで欠損データを補完するので、適切にデータを補完できる。
【００７４】
また、欠損データ補完処理部２０８（最尤解計算処理部２１１）が、早限４０７及び遅限４０８を考慮して開始時刻３０５及び終了時刻３０６を設定するので、他の工程との関係で矛盾がない解を選択できる。
【００７５】
また、交換可能データ２１５及び順序交換可能データ２１６を参照して、交換可否を判定するので、現実を反映したデータに修正できる。
【００７６】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【００７７】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００７８】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００７９】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００８０】
２００・・・表示装置
２０１・・・キーボード
２０２・・・ポインティングデバイス
２０３・・・中央処理装置
２０４・・・プログラムメモリ
２０５・・・データメモリ
２０６・・・製造実績データベース
２０７・・・マスタデータ
【図１】
0006617032.tif 000002
【図２】
0006617032.tif 000003
【図３】
0006617032.tif 000004
【図４】
0006617032.tif 000005
【図５】
0006617032.tif 000006
【図６】
0006617032.tif 000007
【図７】
0006617032.tif 000008
【図８】
0006617032.tif 000009
【図９】
0006617032.tif 000010
【図１０】
0006617032.tif 000011