(57)【要約】【課題】  夜間に特定の作業を付けを行い、納期遅れが発生しない場合には、当該特定の作業を夜間に実施するような製造計画を作成する。【解決手段】  製品を製造するために実施する作業の内、夜間に実施可能な作業を登録しておく。そして、当該製品を製造するための製造計画を立てた後に、納期遅れが発生していないようであれば、夜間に実施可能な作業を夜間に割付けた形での新たな製造計画を作成する。特定の作業を夜間に割り当てた製造計画で当該製品を製造しても納期遅れ発生しないようであれば、新たな製造計画を採用する。【選択図】  図６
2012014386.tif 000002
【特許請求の範囲】
【請求項１】
製品の製造計画を作成する情報処理装置であって、
製造すべき製品の種類、数量及び納期を含む、オーダ情報を記憶する第１の記憶手段と、
前記製品を製造する各製造工程で使用される資源に関するデータであり、当該資源が夜間に稼働しているか否かの情報を含むデータである資源データを記憶する第２の記憶手段と、
前記資源に前記オーダを割り当てることにより、前記製品を製造する製造計画を作成する作成手段と、
前記作成手段で作成された製造計画で前記製品を製造した場合に前記納期を遵守できるかを判定する第１の判定手段と、
前記第１の判定手段で納期を遵守できると判定した場合に、夜間に前記資源に作業を割付けるように製造計画を変更する変更手段と、
前記変更手段で変更された製造計画で前記納期を遵守できるかを判定する第２の判定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記製品を製造するための製品製造パターンである、製品の各製造工程の作業を、日中の作業とするか夜間の作業とするかを定義した製品製造パターンを生成する生成手段を更に備え、
前記第１の判定前記納期を遵守できるかを判定した場合に、前記生成手段は前記製品製造パターンを生成し、
前記変更手段は前記生成手段で生成された各製品製造パターンに従って、製造計画の変更を行うこと
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
製造すべき製品の種類、数量及び納期を含む、オーダ情報を記憶する第１の記憶手段と、
前記製品を製造する各製造工程で使用される資源に関するデータであり、当該資源が夜間に稼働しているか否かの情報を含むデータである資源データを記憶する第２の記憶手段と、を備え、製品の製造計画を作成する情報処理装置によって行われる情報処理方法であって、
前記資源に前記オーダを割り当てることにより、前記製品を製造する製造計画を作成する作成工程と、
前記作成工程で作成された製造計画で前記製品を製造した場合に前記納期を遵守できるかを判定する第１の判定工程と、
前記第１の判定工程で納期を遵守できると判定した場合に、夜間に前記資源に作業を割付けるように製造計画を変更する変更工程と、
前記変更工程で変更された製造計画で前記納期を遵守できるかを判定する第２の判定工程と、
を備えることを特徴とする情報処理方法。
【請求項４】
製造すべき製品の種類、数量及び納期を含む、オーダ情報を記憶する第１の記憶手段と、
前記製品を製造する各製造工程で使用される資源に関するデータであり、当該資源が夜間に稼働しているか否かの情報を含むデータである資源データを記憶する第２の記憶手段と、を備え、製品の製造計画を作成する情報処理装置を、
前記資源に前記オーダを割り当てることにより、前記製品を製造する製造計画を作成する作成手段と、
前記作成手段で作成された製造計画で前記製品を製造した場合に前記納期を遵守できるかを判定する第１の判定手段と、
前記第１の判定手段で納期を遵守できると判定した場合に、夜間に前記資源に作業を割付けるように製造計画を変更する変更手段と、
前記変更手段で変更された製造計画で前記納期を遵守できるかを判定する第２の判定手段、
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工場での製品の製造スケジュールの作成する技術に関し、特に、夜間の作業の効率的な割り当てを行うための技術に関する。
【背景技術】
【０００２】
現在、工場などの製造現場では、より効率の良く製品を製造するために、製造計画を作成し、作成した製造計画に従った作業を行っている。例えば特許文献１には製造計画の作成者の負担を軽減し、納期達成率を向上させることができるスケジューリング方法についての技術が開示されている。また、特許文献２には、製造設備の稼働率向上と製造期間を短縮させることを目的とした製造工程管理方法についての技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１４５８１４号公報
【特許文献２】特開２００５−３０１６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
工場などの現場において、２４時間操業等夜間も操業を続けることが行われており、当然夜間についても何らかの作業を行うわけであるが、昼間と比較すると作業を行っている人員が少ないため、比較的手間のかからない作業、例えば、一度設備を稼働させると数時間人的な作業が発生しない作業を重点的に夜間に割り付けたいという要望がある。
【０００５】
従来のスケジューラアプリケーションでの作業割り付けによるスケジュール作成で上記の要望に応えるため、例えば、夜間割り付けを行いたい作業に開始時間制約を設定し、開始時間制約を満たすように作業の割り付けが行われていた。しかし、スケジューラアプリケーションは作業の開始時間制約を遵守して作業割り付けを行うため、作業割り付けにより作成されるスケジュールは、必ずしも指定された納期に製品を納入できるスケジュールが作成されるとは限らず、指定納期を満たさないようなスケジュールが作成されてしまうことがあった。
【０００６】
そのような場合には、作成されたスケジュールを破棄し、開始時間制約を変更し、再度作業割り付けを行う必要があり、手間がかかるとともに、スケジュールの作成が遅れてしまい、その結果として人員の配置計画等に影響を及ぼす可能性もあった。
【０００７】
そこで、本発明は、製品の納期の遵守するよう、夜間に優先的に割り当てる作業の夜間への割り当てを行うことを可能とする情報処理装置、情報処理方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記した目的を達成するために、本発明の情報処理装置は、製品の製造計画を作成する情報処理装置であって、製造すべき製品の種類、数量及び納期を含む、オーダ情報を記憶する第１の記憶手段と、前記製品を製造する各製造工程で使用される資源に関するデータであり、当該資源が夜間に稼働しているか否かの情報を含むデータである資源データを記憶する第２の記憶手段と、前記資源に前記オーダを割り当てることにより、前記製品を製造する製造計画を作成する作成手段と、前記作成手段で作成された製造計画で前記製品を製造した場合に前記納期を遵守できるかを判定する第１の判定手段と、前記第１の判定手段で納期を遵守できると判定した場合に、夜間に前記資源に作業を割付けるように製造計画を変更する変更手段と、前記変更手段で変更された製造計画で前記納期を遵守できるかを判定する第２の判定手段と、を備えることを特徴とする。
【０００９】
上記した目的を達成するために、本発明の情報処理方法は、製造すべき製品の種類、数量及び納期を含む、オーダ情報を記憶する第１の記憶手段と、前記製品を製造する各製造工程で使用される資源に関するデータであり、当該資源が夜間に稼働しているか否かの情報を含むデータである資源データを記憶する第２の記憶手段と、を備え、製品の製造計画を作成する情報処理装置によって行われる情報処理方法であって、前記資源に前記オーダを割り当てることにより、前記製品を製造する製造計画を作成する作成工程と、前記作成工程で作成された製造計画で前記製品を製造した場合に前記納期を遵守できるかを判定する第１の判定工程と、前記第１の判定工程で納期を遵守できると判定した場合に、夜間に前記資源に作業を割付けるように製造計画を変更する変更工程と、前記変更工程で変更された製造計画で前記納期を遵守できるかを判定する第２の判定工程と、を備えることを特徴とすることを特徴とする。
【００１０】
上記した目的を達成するために、本発明のコンピュータプログラムは、製造すべき製品の種類、数量及び納期を含む、オーダ情報を記憶する第１の記憶手段と、前記製品を製造する各製造工程で使用される資源に関するデータであり、当該資源が夜間に稼働しているか否かの情報を含むデータである資源データを記憶する第２の記憶手段と、を備え、製品の製造計画を作成する情報処理装置を、前記資源に前記オーダを割り当てることにより、前記製品を製造する製造計画を作成する作成手段と、前記作成手段で作成された製造計画で前記製品を製造した場合に前記納期を遵守できるかを判定する第１の判定手段と、前記第１の判定手段で納期を遵守できると判定した場合に、夜間に前記資源に作業を割付けるように製造計画を変更する変更手段と、前記変更手段で変更された製造計画で前記納期を遵守できるかを判定する第２の判定手段、として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、夜間に割り当てを行いたい作業を優先的に夜間に割り当てることが可能となるとともに、製品の納期を遵守した形で作業スケジュールの作成を行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明のシステム構成の一例を示すシステム構成図である。
【図２】本発明の情報処理装置として適用可能なコンピュータのハードウェア構成の一例を示す図である。
【図３】本発明の情報処理装置の機能構成の一例を示すブロック図である。
【図４】本発明の情報処理装置によって行われる処理の概要を示すフローチャートである。
【図５】図４のステップＳ４０１の作業割付処理の概要を示すフローチャートである。
【図６】図４のステップＳ４０３の夜間割付シミュレーション処理の詳細を示すフローチャートである。
【図７】図５のステップＳ５０１の作業パターン数算出処理の詳細を示すフローチャートである。
【図８】図３のオーダテーブル３０５−１のデータ構成の一例を示す図である。
【図９】図３の資源マスタテーブル３０５−２のデータ構成の一例を示す図である。
【図１０】図３の製造工程マスタテーブル３０５−３のデータ構成の一例を示す図である。
【図１１】図３の作業パターンテーブル３０５−４のデータ構成の一例を示す図である。
【図１２】図３のシミュレーション結果テーブル３０５−５のデータ構成の一例を示す図である。
【図１３】図３のシミュレーション結果評価テーブル３０５−６のデータ構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１４】
図１は、本発明における情報処理システムの構成の一例を示すシステム構成図である。図１に示すように、本発明における情報処理システムは、サーバ装置１０１、クライアント装置１０２−１、１０２−２、及びそれら端末を相互にデータ通信可能に接続するＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０３を備えて構成されている。
【００１５】
サーバ装置１０１は、本発明の情報処理装置として機能する端末であって、後述する各種のマスタデータを記録するとともに、マスタデータを用いて製品を製造するスケジュールを作成する機能を有している。
【００１６】
クライアント装置１０２−１、１０２−２（以下、まとめてクライアント装置１０２とする）は、製造拠点（例えば工場）等に設置されている装置であり、サーバ装置１０１に対して製品の製造スケジュール作成指示を管理サーバ１０１に対して送信したり、サーバ装置１０１で作成された製造スケジュールを画面表示したりする機能を有している。サーバ装置１０１は、予め設定された所定の時刻に達した場合、クライアント装置１０２からスケジュール作成指示を受け付けた場合などに製造スケジュールの作成を行うことになる。
【００１７】
ネットワーク１０３はサーバ装置１０１とクライアント装置１０２とをデータ通信可能に接続するためのネットワークであり、その接続形態は有線／無線を問わない。以上が、本発明における情報処理システムの構成の一例の説明である。
【００１８】
図２は、図１のサーバ装置として適用可能な、即ち、本発明の情報処理装置として適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【００１９】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）等が記憶されている。
【００２０】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ
２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２
１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作
を実現するものである。
【００２１】
また、２０５は入力コントローラで、キーボード、ポインティングデバイス等の入力装置２０９からの入力を制御する。２０６はビデオコントローラで、ディスプレイ装置２１０等の表示器への表示を制御する。これらは必要に応じて管理者が使用するものである。
【００２２】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２３】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したネットワーク１０３）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２４】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２５】
本発明を実現するためにサーバ装置１０１で実行される後述するフローチャートに示す処理は、外部メモリ２１１に記録されているコンピュータで読み取り実行可能なプログラムによる制御に従って実行される。そしてＣＰＵ２０１は、必要に応じて当該プログラムをＲＡＭ２０２にロードし、そのプログラムに従った処理をＣＰＵ２０１が実行することになる。さらに、上記プログラムの実行時に用いられる各種情報テーブル等も、外部メモリ２１１に格納されている。
【００２６】
以上が、本願発明の情報処理装置として適用可能なコンピュータのハードウェア構成の一例の説明である。尚、後述する各種の処理を実行可能であれば、必ずしもサーバ装置１０１が図２に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
【００２７】
次に図３を参照して、サーバ装置１０１の機能構成の一例について説明する。図３は、サーバ装置１０１の機能構成の一例を示すブロック図である。図３に示すように、サーバ装置１０１は、機能部として、作業割付部３０１、納期遵守判断部３０２、特定時間割付シミュレーション実行部３０３、シミュレーション結果評価部３０４、データ記憶部３０５を備えている。
【００２８】
作業割付部３０１は、後述するオーダテーブル３０５−１に登録されているオーダ情報のうち、作業を資源に未割当のオーダ情報について、当該オーダ情報が示す製品を生産するための作業を各工程で用いられる資源に対する割当処理を行い、製造スケジュールを作成する。納期遵守判断部３０２は、作業割付部３０１により作成された製造スケジュールにより当該オーダ情報が示す製品を生産した場合に、当該オーダ情報が示す納期を遵守できるかを判断する処理を行う。
【００２９】
特定時間割付シミュレーション実行部３０３は、納期遵守判断部３０２により、作業割付部３０１で作成された製造スケジュールによりオーダ情報が示す製品を生産した場合、当該オーダ情報に設定された納期を満たすと判断した場合に、当該製造スケジュール中の作業の一部を夜間等の特定の時間に割り当てて他の製造スケジュールを複数作成するシミュレーション処理を行う。シミュレーション結果評価部３０４は、特定時間割付シミュレーション実行部３０３によって作成された複数の作業スケジュールを所定の基準に従って評価する処理を行う。
【００３０】
データ記憶部３０５は、オーダテーブル３０５−１、資源マスタテーブル３０５−２、製造工程マスタテーブル３０５−３、作業パターンデータテーブル３０５−４、シミュレーション結果テーブル３０５−５、及びシミュレーション結果評価テーブル３０５−６等を記憶する記憶部である。上記のデータテーブルの構成については夫々図８から図１３を参照して後述する。以上が、サーバ装置１０１の機能構成の説明である。
【００３１】
次に、図４を参照して、サーバ装置１０１によって行われる製造スケジュール作成処理の概要を説明する。図４は、サーバ装置１０１によって行われる製造スケジュール作成処理の概要を示すフローチャートである。尚、ＣＰＵ２０１に本処理を実行させるためのプログラムは外部メモリ２１１に記憶されており、ＣＰＵ２０１は必要に応じて当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムによる制御に従って本処理を行うことになる。
【００３２】
まず、ＣＰＵ２０１は、オーダテーブル３０５−１に登録されているオーダのうち、製品を製造するためのスケジュールを作成していないオーダについて、当該オーダが示す製品を指定された数量製造するために必要な作業を資源（製造設備）に割り当てる作業割付処理を行う（ステップＳ４０１）。この処理は、サーバ装置１０１の作業割付部３０１によって行われることになるこの作業割付処理の概要について、図５を用いて説明する。
【００３３】
ここで、図８を参照してオーダテーブル３０５−１のデータ構成について説明する。図８は図３のオーダテーブルのデータ構成の一例を示すブロック図である。図８に示すように、オーダテーブル３０５−１は、オーダＩＤ８０１、製品ＩＤ８０２、数量８０３、納期８０４等を備えて構成されている。
【００３４】
オーダＩＤ８０１は、オーダ情報を一意に識別するための識別情報である。製品ＩＤ８０２は、製造する製品を特定するための情報である。数量８０３は、製品を製造する数量を示す情報である。納期は製品を納入する納期を示す情報である。オーダテーブル３０５−１には、上記の情報のほかに、たとえば発注者情報等、他のデータ項目を含んでも勿論構わない。
【００３５】
図５を参照して、図４のステップＳ４０１の作業割付処理の詳細について説明する。図５は、図４のステップＳ４０１の作業割付処理の概要を説明するフローチャートであり、サーバ装置１０１の作業割付部３０１によって行われる処理である。サーバ装置１０１のＣＰＵ２０１を作業割付部３０１として機能させるためのプログラムは、外部メモリ２１１に記憶されており、必要に応じてプログラムをＲＡＭ２０２にロードし、ロードしたプログラムの制御に従って、ＣＰＵ２０１は本処理を行うことになる。
【００３６】
ここでの説明は、説明を単純化するために、以各オーダで製造する数量は同一のものとし、資源マスタテーブル３０５−２に登録されている各資源での製造時間は、上記の数量を製造するために要する時間を示すものとする。また、夜勤時間帯については予め決められており（例えば２１：００から８：００）、夜間に割付ける作業については、夜勤時間帯に作業を開始するように作業の割付が行われる。
【００３７】
ここで、まず、図９を参照して、図３の資源マスタテーブル３０５−２のデータ構成について説明する。図９は、図３の資源マスタテーブル３０５−２のデータ構成の一例を示す図である。図９に示すように、資源マスタテーブル３０５−２は、資源ＩＤ９０１、作業時間９０２、工程９０３等を備えて構成されている。
【００３８】
資源ＩＤ９０１は資源（製造設備）を一意に識別するための識別情報である。作業時間９０２は、所定単位の生産物を生産するのに要する時間情報である。尚、この説明では、工程９０３は当該資源が使用される作業工程を示す情報である。尚、資源マスタデータテーブル３０５−２の構成は、必ずしも図９に示す構成でなくとも構わない。
【００３９】
次に、図１０を参照して、製造工程マスタテーブル３０５−３のデータ構成について説明する。図１０は、図３の製造工程マスタテーブル３０５−３のデータ構成の一例を示す図である。図１０に示すように、製造工程マスタテーブル３０５−３は、工程ＩＤ１００１、作業コード１００２、夜間割付候補資源数１００３、夜間割付１００４、夜間割付候補資源１００５を備えて構成されている。
【００４０】
工程ＩＤ１００１は、製造工程を一意に識別するための識別情報である。作業コード１００２は、当該工程に対応する作業コードを示す情報である。夜間割付候補数１００３は、当該工程で使用される資源の内、所定の条件に従って抽出される、夜間割付を優先的に行う資源の数を示す情報である。夜間割付１００４は、当該工程で夜間割付シミュレーション実行部３０３による夜間割付シミュレーションを実行する際に、当該工程での作業をどのように扱うかを示す情報であり、「−」の場合には、当該工程では優先的な夜間割付を行わない、「−ＯＲ○」の場合には、当該工程で、優先的な夜間割り付けを行う場合と行わない場合のシミュレーションを行うことを意味する。夜間割付候補資源１００５は、当該工程で夜間割付が可能な資源の情報である。この製造工程マスタデータが製造を行う製品の品目数分、製造工程マスタテーブルに登録されることになる。
【００４１】
図５の説明に戻る。まず、ＣＰＵ２０１は、製造工程マスタテーブル３０５−３に記憶されているに製造工程マスタデータ従って、資源へ作業を割り当てる対象となるオーダ情報で指示される製品を製造するために必要となる作業を作成する（ステップＳ５０１）。例えば、図１０に示す製造工程マスタテーブルに従って作業を作成する場合には、作業の作成対象のオーダ情報をオーダＡとした場合、オーダＡの作業００００１−１、オーダＡの作業００００１−２、オーダＡの作業００００１−３、オーダＡの作業００００１−４といった具合に作業を作成することになる。
【００４２】
ステップＳ５０１の処理終了後、ＣＰＵ２０１は、ステップＳ５０１で作成した各工程の作業を、其々の工程で使用される資源に対して割り付ける処理を行う。この説明では、前工程から順に作業を資源に割り付けるものとする。
【００４３】
ＣＰＵ２０１は、ステップＳ５０２において、資源に未割付の作業があるかを判断し、未割付の作業があると判断する。ステップＳ５０２で未割当の作業がある（ＹＥＳ）と判断した場合には、処理をステップＳ５０３に進め、作業を割り付ける資源を決定する（ステップＳ５０３）。この決定に当たっては、各資源に作業を割り付けることにより導出される、資源による製造時間の長短、資源の負荷、工程間隔の長短、等の様々な評価指標を用いて、最適とされる資源を割付け対象の資源として決定する。
【００４４】
そして、ステップＳ５０４では、ステップＳ５０３で決定された資源を使用する時間を決定する。ここでは、ステップＳ５０３で資源を決定するために行われた各資源への作業の割り付け処理の際に、作業を割り付けた時間を、資源を使用する時間として決定することになる。
【００４５】
そして、ステップＳ５０４の処理終了後、ステップＳ５０２に処理を移行させ、未だ資源への割り付けを終了していない作業があるかを判断する。そして、ステップＳ５０２の判断処理でＣＰＵ２０１がＹＥＳと判断するまで、資源への未割付の作業に対してステップＳ５０３、Ｓ５０４の処理を行うことになる。以上が、図４のステップＳ４０１の作業割付処理の詳細である。
【００４６】
図４の説明に戻る。ステップＳ４０１で作成された製造スケジュールにより当該オーダで要求される製品を指定数量製造した場合に、納期遅れが発生するかを判断する（ステップＳ４０２）。この処理は、前述の納期遵守判定部３０２によって行われることになる。
【００４７】
ステップＳ４０２の判断処理で納期遅れが発生する（ＹＥＳ）と判断した場合、ＣＰＵ２０１は処理をステップＳ４０４に進める。一方、ステップＳ４０２で納期遅れが発生しない（ＮＯ）と判断した場合には、処理をステップＳ４０３に進め、一部の工程での作業を夜間に割り付け直した場合に納期遅れが発生するかを、夜間割付シミュレーション処理を行うことで判定する。この処理は、前述の特定時間割付シミュレーション実行部３０３、シミュレーション結果評価部３０４この夜間割付シミュレーションの詳細については、図６を参照して説明する。
【００４８】
ここで、図６を参照して、図５のステップＳ４０３の夜間割付シミュレーション処理の詳細について説明する。図６は、図４のステップＳ４０３の夜間割り付けシミュレーション処理の詳細を示すフローチャートである。ＣＰＵ２０１に本処理を実行させるためのプログラムは外部メモリ２１１に記憶されており、ＣＰＵ２０１は必要に応じて当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムによる制御に従って本処理を行うことになる。
【００４９】
ＣＰＵ２０１は、ロードしたプログラムの制御に従って、作業パターン数算出処理を行う（ステップＳ６０１）。尚、作業パターン数算出処理の詳細については、図７を参照して説明することにする。
【００５０】
ここで、図７を参照して、図６のステップＳ７０１の作業パターン算出処理の詳細について説明する。図７は、図６のステップＳ６０１の作業パターン数算出処理の詳細を示すフローチャートである。ＣＰＵ２０１に本処理を実行させるためのプログラムは外部メモリ２１１に記憶されており。ＣＰＵ２０１は必要に応じて当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムの制御に従って本処理を行うことになる。
【００５１】
まず、ＣＰＵ２０１は、工程数のカウントに用いるカウンタ変数ｉを１に、夜間割り付けが可能である資源を使用する工程数を示す変数ｐを０に初期化する（ステップＳ７０１）。その後、ステップＳ７０２でカウンタ変数ｉが工程数以下であると判断する間、カウンタ変数ｉが示す工程（工程（ｉ））についてステップＳ７０３からＳ７１５の処理を行う。
【００５２】
ＣＰＵ２０１は、夜間割付可能資源の資源数を示す変数ｎを０に、資源数のカウンタ変数ｒを１に初期化する（ステップＳ７０３、Ｓ７０４）。そして、ステップＳ７０５でカウンタ変数ｒの値が工程（ｉ）の資源数以下であると判断する間、カウンタ変数ｒが示す資源（資源（ｒ））についてステップＳ７０６からＳ７１０の処理を行う。
【００５３】
まず、工程（ｉ）の資源（ｒ）の製造時間情報を資源マスタテーブル３０５−２から取得する（ステップＳ７０６）。そして、取得した製造時間情報が予め指定した閾値以上であるかを判断する（ステップＳ７０７）。この説明では、製造時間が閾値以上の資源は、夜間に作業を割当可能な資源とする。夜間に作業を割当可能な資源を決定する方法はこれに限らず、予め夜間に作業を割当可能な資源を指定し、資源マスタテーブル３０５−２に登録する方法等を採用しても勿論構わない。
【００５４】
ステップＳ７０７の判断処理で、工程（ｉ）の資源（ｒ）での製造時間が予め指定された閾値以上であると判断した場合には、処理をステップＳ７０８に進め、製造工程マスタテーブル３０５−３の工程（ｉ）に対応する夜間割付候補資源１００５に資源（ｒ）を追加登録する。そして、夜間割付可能資源の資源数を示す変数ｎに１を加える（ステップＳ７０９）。
【００５５】
ステップＳ７０９の処理終了後、若しくはステップＳ７０７でＮＯと判断した場合、ＣＰＵ２０１は処理をステップＳ７１０に進め、カウンタ変数ｒに１加える。その後、ステップＳ７０５の判定処理で、新たなカウンタ変数ｒが工程（ｉ）で用いられる資源数以下である場合には、変更後のｒが示す資源（ｒ）についてステップＳ７０６からＳ７１０の処理を行う。
【００５６】
工程（ｉ）の全ての割付候補資源に対して、ステップＳ７０６からステップＳ７１０の処理が終了後、ＣＰＵ２０１は、処理をステップＳ７１１に進め、夜間割付可能資源の資源数を示す変数ｎが０より大きいかを判断する。ステップＳ７１１でＹＥＳと判断した場合には、処理をステップＳ７１２に移行させ、製造工程マスタテーブル３０５−３の工程（ｉ）の夜間割付候補資源数１００３にｎを登録する（初期値は０）。そして、工程（ｉ）の夜間割当１００４を「−  ＯＲ  ○」（初期値は「−」）に変更する（ステップＳ７１３）。そして、夜勤シフト適用な工程数を示す変数ｐに１加える（ステップＳ７１４）
【００５７】
ステップＳ７０９でＮＯと判断した場合、ステップＳ７１２の処理終了後に、ＣＰＵ２０１は処理をステップＳ７１５に移行させ、工程を示すカウンタ変数ｉに１加える。そして、変更後のカウンタ変数ｉが工程数以下であるとＣＰＵ２０１がステップＳ７０２の判断処理で判断した場合には、変更後のｉが示す工程（ｉ）について、ステップＳ７０３からＳ７１５の処理を行う。
【００５８】
そして、全ての工程に対してステップＳ７０３からステップＳ７１５の処理が終了後、ＣＰＵ２０１は処理をステップＳ７１６に処理を進め、当該製品を作成するため作業パターン数を、作業パターン数＝２のｐ乗で算出する。ここで作業パターン数とは、各工程の作業の通常割付若しくは夜間割付することにより作成される作業割付パターンの組み合わせ候補数を示している。以上が、図６のステップＳ６０１の作業パターン数算出処理の詳細な説明である。尚、この処理は、製造工程マスタテーブル３０５−３の作成が終了している場合には必ずしも行わなくてもよい。
【００５９】
図６の説明に戻る。ステップＳ６０１の作業パターン算出処理終了後、ＣＰＵ２０１は処理をステップＳ６０２に移行させ、ステップＳ６０１で算出された作業パターン数が１であるかを判断する。作業パターンが１の場合には、夜間の作業の優先割付を行わないことを意味する。ステップＳ６０２でＹＥＳと判断した場合には、本処理を終了する。
【００６０】
一方、ステップＳ６０２でＮＯ、作業パターンが２以上ある、即ち夜間優先割付を行う資源が割当資源候補として存在する工程があると判断した場合には、処理をステップＳ６０３に進め、作業パターンデータを作成し、作業パターンテーブル３０５−４に登録する。
【００６１】
ここで、図１１を参照して、図３の作業パターンテーブル３０５−４のデータ構成について説明する。図１１は作業パターンマスタテーブル３０５−４の構成の一例を示す図である。図１１に示すように、作業パターンマスタテーブル３０５−４は、パターンＩＤ１１０１、工程１１０２、夜間割付１１０３等を備えて構成される。
【００６２】
パターンＩＤ１１０１は、作業パターンを一意に識別するための識別情報である。そして、それぞれの作業パターンデータ毎に、作業コード１１０２で示される工程での作業を夜間に割り当てるシミュレーションを行う（○）か否（−）を夜間割当１１０３が示している。尚、図１１は、図１０に示す製造工程マスタテーブルから作成される作業パターンの例を示している。以上が作業パターンテーブル３０５−４の説明である。
【００６３】
図６の説明に戻る。作業パターンデータの作成処理（ステップＳ６０３）終了後、作業パターンのカウンタ変数であるｍに１を代入して初期化する（ステップＳ６０４）。
【００６４】
ステップＳ６０４の処理終了後、ステップＳ６０５で変数ｍが作業パターン数以下であると判断する間、作業パターン（ｍ）についてステップＳ６０６からＳ６０９の処理を行う。ステップＳ６０６では、作業パターン（ｍ）が作業パターン１（変数ｍが１）であるかを判断する。この説明では、作業パターン１は全ての工程で通常の作業割り付けを行う作業パターンであり、この作業パターンでの割付処理は既に図４のステップＳ４０１で行われている。よって、すでに行われている割付処理を再度行わないよう、このステップＳ６０６の判断ステップを設けている。
【００６５】
ステップＳ６０６でＣＰＵ２０１は作業パターンが１であると判断した場合（ステップＳ６０６でＹＥＳ）には、処理をステップＳ６０８に進める。一方、ステップＳ６０６で作業パターンが１ではない、つまりは、当該作業パターンが夜間割当を行う作業パターンであると判断した場合（ステップＳ６０６でＮＯ）には、処理をステップＳ６０７に進め、作業パターン（ｍ）での作業の割付のシミュレーション処理を行う。そして、その後、ステップＳ６０８では、図４のステップＳ４０１で作成された製造スケジュール（ＣＰＵ２０１がステップＳ６０５でＹＥＳと判断した場合）若しくは、作業ステップＳ６０６のシミュレート処理で作成した製造スケジュールの結果をシミュレーション結果テーブル３０５−５に登録するとともに、作成された製造スケジュールの評価結果をシミュレーション結果評価テーブル３０５−６に登録する。
【００６６】
ここで、図１２、図１３を参照して、図３のシミュレーション結果テーブル３０５−５、シミュレーション結果評価テーブル３０５−６のデータ構成について説明する。
【００６７】
図１２はシミュレーション結果テーブル３０５−５のデータ構成の一例を示す図である。図１２に示すように、シミュレーション結果テーブル３０５−５は、パターンＩＤ１２０１、作業コード１２０２、夜間割付１２０３、夜勤超過時間１２０４、及び納期超過時間（ｈ）１２０５を備えて構成されている。
【００６８】
パターンＩＤ１２０１、工程１２０２、及び夜間割当１２０３については、図１１のパターンＩＤ１１０１、工程１１０２、及び夜間割当１１０３と同様であるので説明は割愛する。夜勤超過時間（ｈ）は、夜間割り付けを行った作業が、夜勤時間帯として設定されている時間帯を超過する時間の情報である。納期超過時間（ｈ）１２０５は、当該作業パターンで作業を割付けた際に、納期を超過する時間である。以上が、シミュレーション結果テーブル３０５−５の説明である。
【００６９】
図１３は、シミュレーション結果評価テーブル３０５−６のデータ構成の一例を示す図である。図１３に示すように、シミュレーション結果評価テーブル３０５−６は、パターンＩＤ１３０１、夜勤割当適用工程数１３０２、夜勤超過時間平均（ｈ）１３０３、及び納期超過時間（ｈ）１３０４を備えて構成されている。
【００７０】
パターンＩＤ１３０１は、作業パターンを一意に識別するための識別情報であり、作業パターンマスタテーブル３０５−４のパターンＩＤ１１０１に対応する。夜勤割付適用工程数１３０２は、当該作業パターンで夜間に作業が割りつけられた工程数を示す情報であり、図１１のパターンマスタテーブル３０５−４に登録されたそれぞれの工程のうち、夜間割付が「○」となっている工程数を示している。夜勤超過時間平均（ｈ）１３０３は、夜間割り付けを行った作業が、夜勤時間帯として設定されている時間帯を超過する時間の平均時間情報である。納期超過時間（ｈ）１３０４は、パターンＩＤが示す作業パターンでの作業の割付を行った場合に、納期を超過する時間情報である。以上が、図１３のシミュレーション結果評価テーブルの説明である。
【００７１】
図６の説明に戻る。ステップＳ６０８の処理終了後、次の作業パターン（ｍ）に対する作業割付シミュレーション及びその評価を行うために、作業パターンのカウンタ変数であるｍを１インクリメントする（ステップＳ６０９）。そして、処理をステップＳ６０５に移行する。
【００７２】
そして、ＣＰＵ２０１が全ての作業パターンについてステップＳ６０６からＳ６０９の処理を終了した（ステップＳ６０５の「ｍ≦作業パターン数」でＮＯ）と判断すると、処理をステップＳ６１０に進め、シミュレーション評価結果を出力する（ステップＳ６１０）。以上が、図４のステップＳ４０３の夜間割付シミュレーション処理の詳細である。
【００７３】
図４の説明に戻る。ステップＳ４０３が終了後、ＣＰＵ２０１は処理をステップＳ４０４に進め、ステップＳ４０３で作成した複数の作業割付パターンから図６のステップＳ６０９で出力された評価値に従って、作業割付パターンを選択し、ステップＳ４０１で当該オーダが示す製品を製造するため行った作業割付を、選択した作業割付パターンに従った作業割付に変更する。この際には、シミュレーション結果評価テーブルに登録されているデータの内、少なくともいずれか１つを用いて算出される評価指標に従って最適と思われる作業割付パターンを選択する。例えば、夜間割付時間の長さ、作業に要する全体の時間等の評価指標を用いて最適と思われる作業割付パターンを選択すればよい。そして、作業の割付を行っていないオーダがない（ステップＳ４０５「未割付オーダあり」でＮＯ）と判断するまで、本処理を行うことになる。
【００７４】
以上のように、本願発明では、一度通常の作業割付を行った後に、納期遅れが発生しない作業割り付けが行えたオーダについて一部の作業を夜間に行った場合でも納期遅れを発生させない製造スケジュールを作成できるかを判定する。また、夜間に比較的作業時間の長い作業を優先的に割り当てるように製造スケジュールを作成する。
【００７５】
このことにより、納期遅れを発生させることなく、夜間等、極力特定の時刻に行わせたい作業を特定の時刻に行わせるように製造計画を作成することができる。
【００７６】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００７７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７９】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【符号の説明】
【００８０】
１０１  サーバ装置
１０２−１、１０２−２  クライアント端末
１０３  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
2012014386.tif 000003
【図２】
2012014386.tif 000004
【図３】
2012014386.tif 000005
【図４】
2012014386.tif 000006
【図５】
2012014386.tif 000007
【図６】
2012014386.tif 000008
【図７】
2012014386.tif 000009
【図８】
2012014386.tif 000010
【図９】
2012014386.tif 000011
【図１０】
2012014386.tif 000012
【図１１】
2012014386.tif 000013
【図１２】
2012014386.tif 000014
【図１３】
2012014386.tif 000015