(57)【要約】【課題】  生産計画作成者又は上位システム等からの初期生産計画に対する修正要求を反映しつつ、より最適な生産計画を作成する。【解決手段】  資源やオーダーに関するデータが読み込まれてデータ生成や各種設定が行われた後、初期生産計画を作成する（ステップＳ１〜Ｓ３）。そして、生産計画に満足するまで（ループＲ０）、生産計画作成者又は上位システム等が行った１つ又は複数の選択された作業の資源及び割付日時についての強制修正の指令に基づいて、強制割付を行って暫定生産計画として記録する（ステップＳ４〜Ｓ７）。次に、暫定生産計画について、指令が行われた作業を割り付けた資源及び資源毎に割り付けられた作業の割付日時に関する順序を維持しつつ、作業を資源に割り付け直して、制約違反を解消する（ステップＳ８）。生産計画に満足すると（ループＲ０）、結果を保存する（ステップＳ９）。【選択図】図１
2005182685.tif 000002
【特許請求の範囲】
【請求項１】
複数のオーダーと当該オーダーの製品を製造するのに必要な工程との組み合わせである作業を、制約条件を守りつつ、複数の資源から選択した資源に割り付けて、生産計画を作成する生産計画作成方法であって、
前記制約条件が満たされていない初期生産計画を取得する初期生産計画取得ステップと、
前記初期生産計画に対して、１つ又は複数の作業を選択して、資源及び割付日時についての強制修正の指令を行う強制修正指令ステップと、
前記制約条件を無視して、前記指令に基づいて選択された前記作業を選択された前記資源に割り付けて、前記初期生産計画を暫定生産計画として更新する強制割付ステップと、
前記指令が行われた前記作業を割り付ける前記資源、及び、前記暫定生産計画の前記資源毎に割り付けられた前記作業の割付日時に関する順序を維持しつつ、前記作業を前記資源に割り付けて、前記暫定生産計画の更新を行う制約違反解消ステップと、
を備えていることを特徴とする生産計画作成方法。
【請求項２】
前記制約違反解消ステップは、
前記オーダー毎に、当該オーダーの未割付作業の中から上流に未割付作業を持たない作業を候補作業として抽出して、次割付候補作業リストを作成する次割付候補作業リスト抽出ステップと、
前記次割付候補作業リストから、前記暫定生産計画で割り付けられた開始日時の最も早い作業の抽出を行う最優先作業抽出ステップと、
前記抽出が行われた作業について、前記暫定生産計画で割り付けられた資源を割り付ける資源として、前記制約条件を満たす最も早い日時に割り付ける作業割付ステップと、
を有することを特徴とする請求項１に記載の生産計画作成方法。
【請求項３】
コンピュータに、複数のオーダーと当該オーダーの製品を製造するのに必要な工程との組み合わせである作業を、制約条件を守りつつ、複数の資源から選択した資源に割り付けて、生産計画を作成させるためのプログラムであって、
前記制約条件が満たされていない初期生産計画を取得する初期生産計画取得ステップと、
前記初期生産計画に対して、１つ又は複数の作業を選択して、資源及び割付日時についての強制修正の指令を行う強制修正指令ステップと、
前記制約条件を無視して、前記指令に基づいて選択された前記作業を選択された前記資源に割り付けて、前記初期生産計画を暫定生産計画として更新する強制割付ステップと、
前記指令が行われた前記作業を割り付ける前記資源、及び、前記暫定生産計画の前記資源毎に割り付けられた前記作業の割付日時に関する順序を維持しつつ、前記作業を前記資源に割り付けて、前記暫定生産計画の更新を行う制約違反解消ステップと、
をコンピュータに実行させるためのプログラム。
【請求項４】
前記制約違反解消ステップは、
前記オーダー毎に、当該オーダーの未割付作業の中から上流に未割付作業を持たない作業を候補作業として抽出して、次割付候補作業リストを作成する次割付候補作業リスト抽出ステップと、
前記次割付候補作業リストから、前記暫定生産計画で割り付けられた開始日時の最も早い作業の抽出を行う最優先作業抽出ステップと、
前記抽出が行われた作業について、前記暫定生産計画で割り付けられた資源を割り付ける資源として、前記制約条件を満たす最も早い日時に割り付ける作業割付ステップと、
を有することを特徴とする請求項３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにより工場等において生産計画を作成する生産計画作成方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータを用いた生産計画システムでは、複数のオーダーに対して、それらを製造するのに必要な作業をそれぞれ抽出し、抽出した作業に対して、開始日時及び終了日時、占有資源等を決定していく。この場合、生産計画システムでは、各種の制約、即ち、資源上の制約（設備の制約、作業者の制約等）、及び、日時的な制約（納期や材料入手日の制約、上流作業との相対的な時間前後関係に対する制約等）を可能な限り守りつつ、工場及び企業にとって、より望ましい生産計画（最適解）を策定することが要求される。
【０００３】
しかしながら、下記の理由から、最適解を策定することは難しい。
Ａ．組み合わせ数の問題
問題の規模（オーダー、作業、資源等の数）が大きくなると、組み合わせ数が爆発的に増加するため、生産計画を作成するのに要する時間もまた爆発的に長くなる。
Ｂ．制約への対応
工場の制約が複雑な場合、その制約の中でよりよい生産計画を作成するためのアルゴリズムもまた複雑になり、場合によっては、有効なアルゴリズムを実装できないことがある。
【０００４】
そのため、生産計画システムが作成した初期生産計画を、生産計画作成担当者や生産計画システムが修正するということが頻繁に行われていた。従来、このような場合には、下記のような方法がとられている。
１．生産計画作成担当者が生産計画の結果をひとつずつ手作業で修正を行う。
２．生産計画システムにおいて、制約条件を変更したり、割付ルールを変更したりしながら、試行錯誤により生産計画の改善を試みる（特許文献１参照）。
３．特定作業の資源及び日時を固定し、それ以外の作業を生産計画システムに割り付けさせる。
【０００５】
【特許文献１】特開平７−２１０６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の１の方法では、生産計画作成者の多大な労力を必要とするという問題がある。例えば、１つの作業の予定日時を変更しようとする場合、その作業の開始日時や終了日時を変更するだけでなく、それにより競合する作業、即ち、修正先の資源及び日時に既に予定されている作業に対して、その開始・終了日時を変更してやることが必要になる。また、予定日時を変更しようとする作業と時間的な制約関係がある作業（上流作業や下流作業等）についても、その制約に違反していれば、それを解消してやる必要がある。このように、生産計画において、１つの作業に対する計画の修正が他の作業の計画にも影響し、多くの作業の計画を修正することが必要となり、生産計画作成者の多大な労力を必要とするという問題が生じる。
【０００７】
また、上述の２の方法では、生産計画システムにおいて、何度も生産計画を修正することになるが、一般の生産計画システムではアルゴリズムが固定であり、制約条件などの何らかのパラメータを生産計画作成者が調整したとしても、アルゴリズムに固有の枠組みの中で探索が行われることとなり、そのアルゴリズムが想定していない要求がある場合は、多大な労力が必要であり、生産計画作成者が許容することができる生産計画を作成することが難しいという問題が生じる場合がある。
【０００８】
また、上述の３の方法では、作業の固定状況及び生産計画システムのアルゴリズムによっては、各種の制約を守ることができず、実行可能な生産計画を作成することができない場合がある。例えば、あるオーダーに対して、上流のある作業と下流のある作業が固定（資源及び日時が固定）されている場合、それらの時間間隔が狭すぎれば、それらに挟まれた中間工程を割り付ける際に時間制約違反が発生してしまうという問題がある。また、複数のオーダーに対してこのような指定がなされている場合には、オーダー単独では問題がなくても、実際には実行可能な生産計画を作成することができないという問題がある。
【０００９】
本発明は、上記問題点に鑑みてなされたものであり、生産計画作成者又は上位システム等からの初期生産計画に対する修正要求を反映しつつ、より最適な生産計画を作成することができる生産計画作成方法及びプログラムを提供するものである。
【課題を解決するための手段及び効果】
【００１０】
上記課題を解決するために、本発明に係る生産計画作成方法は、複数のオーダーと当該オーダーの製品を製造するのに必要な工程との組み合わせである作業を、制約条件を守りつつ、複数の資源から選択した資源に割り付けて、生産計画を作成する生産計画作成方法であって、前記制約条件が満たされていない初期生産計画を取得する初期生産計画取得ステップと、前記初期生産計画に対して、１つ又は複数の作業を選択して、資源及び割付日時についての強制修正の指令を行う強制修正指令ステップと、前記制約条件を無視して、前記指令に基づいて選択された前記作業を選択された前記資源に割り付けて、前記初期生産計画を暫定生産計画として更新する強制割付ステップと、前記指令が行われた前記作業を割り付ける前記資源、及び、前記暫定生産計画の前記資源毎に割り付けられた前記作業の割付日時に関する順序を維持しつつ、前記作業を前記資源に割り付けて、前記暫定生産計画の更新を行う制約違反解消ステップと、を備えていることを特徴とする。
【００１１】
また、本発明に係るプログラムは、コンピュータに、複数のオーダーと当該オーダーの製品を製造するのに必要な工程との組み合わせである作業を、制約条件を守りつつ、複数の資源から選択した資源に割り付けて、生産計画を作成させるためのプログラムであって、前記制約条件が満たされていない初期生産計画を取得する初期生産計画取得ステップと、前記初期生産計画に対して、１つ又は複数の作業を選択して、資源及び割付日時についての強制修正の指令を行う強制修正指令ステップと、前記制約条件を無視して、前記指令に基づいて選択された前記作業を選択された前記資源に割り付けて、前記初期生産計画を暫定生産計画として更新する強制割付ステップと、前記指令が行われた前記作業を割り付ける前記資源、及び、前記暫定生産計画の前記資源毎に割り付けられた前記作業の割付日時に関する順序を維持しつつ、前記作業を前記資源に割り付けて、前記暫定生産計画の更新を行う制約違反解消ステップと、をコンピュータに実行させるためのものであることを特徴とする。
【００１２】
これによると、計画作成担当者或いは上位システム等からの初期生産計画に対する初期生産計画における各作業の割付資源及び割付日時の指令に基づいて、強制修正が行われる。ここで、指令に基づく強制修正が制約違反を含んでいたとしても、初期生産計画に対する強制修正が行われ、暫定生産計画が作成される。そして、計画作成担当者或いは上位システム等からの指令を尊重しつつ、制約違反を解消するべく暫定生産計画を更新することにより、より最適な生産計画を作成することが可能になる。
【００１３】
また、前記制約違反解消ステップは、前記オーダー毎に、当該オーダーの未割付作業の中から上流に未割付作業を持たない作業を候補作業として抽出して、次割付候補作業リストを作成する次割付候補作業リスト抽出ステップと、前記次割付候補作業リストから、前記暫定生産計画で割り付けられた開始日時の最も早い作業の抽出を行う最優先作業抽出ステップと、前記抽出が行われた作業について、前記暫定生産計画で割り付けられた資源を割り付ける資源として、前記制約条件を満たす最も早い日時に割り付ける作業割付ステップと、を有することが好ましい。
【００１４】
これによると、優先度方式による生産計画作成の手順に基づいて、高速に処理を実行することができるため、暫定生産計画の制約条件の違反を迅速に解消することが可能になる。
ここで、未割付作業とは、生産計画作成の途上において、未だ資源及び日時を割り付けられていない作業のことを意味する。また、上流の作業とは、ある作業に対して、時間的にそれよりも先行する必要のある作業のことを意味する。また、優先度方式とは、割付候補作業に対して優先度を評価し、最優先とされた作業を１つ選択して割付を実施するという手順を繰り返していく方式である。
【００１５】
尚、本発明に係るプログラムは、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＦＤ（Floppy（登録商標 ）Disk）、ＭＯ（Magneto-Optic）などのリムーバブル型記録媒体やハードディスクなどの固定型記録媒体に記録して配布可能である他、有線又は無線の電気通信手段によってインターネットなどの通信ネットワークを介して配布可能である。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しつつ、本発明である生産計画作成方法及びプログラムを実施するための最良の形態について、具体的な一例に即して説明する。
【００１７】
本実施の形態に係る生産計画作成方法の処理の手順について、図１に基づいて、説明する。図１は、本実施の形態に係る生産計画作成方法の処理の手順について説明したフローチャートである。
尚、以下で説明する本実施の形態に係る生産計画作成方法の処理は、コンピュータにおいても同様に、プログラムとしてＣＰＵにより読み出して実行することができる。また、このプログラムは、ＣＤ−ＲＯＭやＦＤ、ＭＯなどのリムーバブルな記憶媒体に記録しておくことにより、様々なコンピュータの記憶装置にインストールすることが可能である。
【００１８】
図１に示すように、まず、データ読み込みによって各データが補助記憶装置からメモリにロードされる（ステップＳ１）。
ここで、ロードされるデータは、比較的変化の少ないマスターデータと、日々更新されるデータと、に大きく分類され、本実施の形態に係る生産計画作成方法で用いられるデータについて、以下、説明する。
【００１９】
まず、マスターデータの内容について、表１〜５及び図１３に基づいて、説明する。表１は、工程リストである。表２は、工程関係表である。表３は、資源リストである。表４は、工程資源時間表である。表５は、段取り替え条件時間リストである。図１３は、工程グラフである。尚、図１３は、表２に表した各レコードを統合して得られたものである。
【００２０】
表１及び図１３に示すように、本例において、材料Ａから製品Ａが製造されるまでの工程として工程コードＡ１〜Ａ３の３工程、材料Ｂから製品Ｂが製造されるまでの工程は工程コードＢ１〜Ｂ３として３工程ある。
【００２１】
【表１】
2005182685.tif 000003
【００２２】
また、表１及び図１３に示す各工程の接続関係、即ち、時間的な先行及び後続の関係は、表２に示すとおりである。
【００２３】
【表２】
2005182685.tif 000004
【００２４】
そして、表３に示すように、資源は資源１〜３の３種類ある。尚、表３に示す各資源は常時稼動するものとする。
【００２５】
【表３】
2005182685.tif 000005
【００２６】
ここで、表１の各工程で占有する資源及びその時間は、表４に示すとおりである。
【００２７】
【表４】
2005182685.tif 000006
【００２８】
また、特定資源上で作業の種類が切り替わる際に段取り替えが発生する場合の、その条件及び所要時間は、表５に示すとおりである。尚、表５では、資源１に対して、前作業と後作業の工程コードが同じ場合は段取り替え無し、異なる場合は１時間の段取り替えが発生するという指定がなされている。その他の資源については、段取り替えは発生しないことになる。
【００２９】
【表５】
2005182685.tif 000007
【００３０】
次に、以上のマスターデータの他に、日々更新されるデータの内容について表６に基づいて、説明する。表６は、オーダーリストである。
【００３１】
日々更新されるデータとして、オーダーリストがある。表６に示すように、本例において、オーダーリストには、オーダーされた製品の種類および納期が設定される。
【００３２】
【表６】
2005182685.tif 000008
【００３３】
以上で説明したデータが読み込まれると、データ生成及び関連設定が行われる（ステップＳ２）。具体的には、各オーダーの製品コードから工程関係表を引き当て、製品を製造するのに必要な一連の作業を生成する。例えば、オーダーＬ１であれば、材料Ａから製品Ａを製造するために、工程Ａ１、工程Ａ２、工程Ａ３が必要であるので、それぞれに対応した作業、Ｌ１Ａ１、Ｌ１Ａ２、Ｌ１Ａ３が生成される。そして、表７に示す作業リストが生成される。
【００３４】
【表７】
2005182685.tif 000009
【００３５】
更に、各作業に対して、先行作業（上流作業）と後続作業（下流作業）とのリンク、及び、工程資源時間表の該当レコードとのリンクが生成される。
【００３６】
そして、初期生産計画が作成される（ステップＳ３）。
本実施の形態では、優先度方式で初期生産計画を作成するケースについて説明する。ここで、優先度方式とは、割付候補作業に対して優先度を評価し、最優先とされた作業を１つ選択して割付を実施するという手順を繰り返していく方式である。また、本実施の形態では、フォワード方式、即ち、各オーダーについては、上流作業から割り付けていき、且つ、各作業については、可能な限り（制約条件に違反しない限り）早い時刻に割り付ける、という方式で初期生産計画を作成する。
【００３７】
以下、図２に基づいて、初期生産計画作成の処理の手順について、より詳細に説明する。図２は、初期生産計画作成の処理の手順について説明したフローチャートである。
【００３８】
まず、次割付候補作業リストを生成する（ステップＳ３０１）。具体的には、オーダー毎に、それぞれの未割付作業のうち、最も上流のものをリストに追加する。
そして、次割付候補作業リストが空である場合（ステップＳ３０２：ＮＯ）、初期生産計画作成の処理を終了する。
【００３９】
一方、次割付候補作業リストが空でない場合（ステップＳ３０２：ＹＥＳ）、ｚｃ最優先作業を抽出する（ステップＳ３０３）。具体的には、次割付候補作業リストにある各作業に対して、それぞれ、優先度を算出し、それが最高となった作業を、最優先作業として抽出する。尚、作業についての候補資源が複数ある場合は、その資源との組み合わせ毎に対して、優先度を算出し、最高優先度となった作業と資源の組み合わせを抽出する。
【００４０】
ここで、図３に基づいて、最優先作業抽出の処理の手順について、より詳細に説明する。図３は、最優先作業抽出の処理の手順について説明したフローチャートである。
【００４１】
まず、Ｂｅｓｔ優先度を０とする（ステップＳ３０３０１）。
そして、各割付候補作業（ループＲ１）と各候補資源（ループＲ２）の組み合わせ毎に対して、優先度を算出する（ステップＳ３０３０２）。
本実施の形態では、各割付候補作業及び各候補資源の組み合わせに対して、下記の基準に基づいて、優先度の算出を行う。
（１）作業割付可能最早日時が早いものを優先
（２）（１）が同じならば、段取り替え時間が短いものを優先
（３）（２）までが同じならば、工程の断層が上位にあるものを優先
（４）（３）までが同じならば、オーダーの納期の早いものを優先
（５）（４）までが同じならば、ランダム
【００４２】
次に、算出された優先度がＢｅｓｔ優先度よりも大きいかどうかを判断する（ステップＳ３０３０３）。
算出された優先度がＢｅｓｔ優先度よりも大きい場合は（ステップＳ３０３０３：ＹＥＳ）、Ｂｅｓｔ優先度を算出された優先度に更新して（ステップＳ３０３０４）、その割付候補作業を最優先作業として更新する（ステップＳ３０３０５）。一方、算出された優先度がＢｅｓｔ優先度以下である場合は（ステップＳ３０３０３：ＮＯ）、次の割付候補作業（ループＲ１）と候補資源（ループＲ２）の組み合わせについて処理を繰り返す。
【００４３】
以上により、最優先作業が抽出され、図２に示すように、作業割付を行う（ステップＳ３０４）。具体的には、ステップＳ３０３で抽出された最優先作業を、実際に割り付ける。
【００４４】
ここで、図４に基づいて、作業割付の処理の手順について、より詳細に説明する。図４は、作業割付の処理の手順について説明したフローチャートである。
【００４５】
まず、基準日時を算出する（ステップＳ３０４０１）。具体的には、割り付けようとする作業の上流作業の終了日時から、該当する工程間時間制約分だけ経過した日時を算出し、それを基準日時とする。
そして、利用可能時間を探索する（ステップＳ３０４０２）。具体的には、候補資源に対して、その利用可能時間時系列データ（本実施の形態では常時稼動）から、基準日時以降で最初の利用可能時間を探索する。
次に、割付可能か判定を行う（ステップＳ３０４０３）。具体的には、検索の結果、見つかった利用可能時間の幅が、作業の所要時間よりも長ければ、割付可能と判定する。
以上により、割付可能と判定されれば（ステップＳ３０４０３：ＹＥＳ）、割付を実行する（ステップＳ３０４０５）。具体的には、見つかった利用可能時間の開始日時から、作業の所要時間経過後までを、資源の利用可能時間から取り除く。そして、作業の開始日時及び終了日時を記録し、処理を終了する。
一方、割付不可能と判定されれば（ステップＳ３０４０３：ＮＯ）、基準日時を見つかった利用可能時間の終了日時に更新し（ステップＳ３０４０４）、ステップＳ３０４０２に戻る。
【００４６】
以上により、作業割付が行われ、図２に示すように、次割付候補作業リストの更新を行う（ステップＳ３０５）。具体的には、ステップＳ３０４で割り付けた作業を、次割付候補作業リストから取り除き、その下流作業を次割付候補作業リストに追加する。
【００４７】
以上の手順によって作成された初期生産計画のオーダーガントチャート及び資源ガントチャートの一例を図５に示す。図５は、初期生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
尚、オーダーガントチャートにおける下向き三角印（▼）は、各オーダーの納期である。資源ガントチャートにおける矢印は、作業間の時間的前後関係制約を表している。例えば、作業Ｌ１Ａ１の終了部（矩形の右側）から発し作業Ｌ１Ａ２の開始部（矩形の左側）に達する矢印は、作業Ｌ１Ａ１の終了後にのみ作業Ｌ１Ａ２を着手できることを意味する。また、資源ガントチャートにおける縦線の入った矩形は、作業間の段取り替え時間を表している。
【００４８】
図５（ａ）のオーダーガントチャートからわかるように、オーダーＬ８が納期遅れとなっている。作業Ｌ８Ｂ２が終了してから、工程間時間３０分が経過した後、直ちに作業Ｌ８Ｂ３を開始したが、その時既にオーダーＬ８の納期である２３時になってしまっている。
これは、直接的には、作業Ｌ８Ｂ２の完了時刻が遅いためであるが、さらに遡れば、Ｌ２Ｂ２の着手が遅いことが問題であり、更に、根本的には、Ｌ２Ｂ１の着手が遅いことが問題である。即ち、計画上の早い時刻帯において、資源１での段取り替えがない作業の集団（Ｌ１Ａ１〜Ｌ７Ａ１）が大きすぎるため、資源３の着手が遅れてしまい、資源３において大きな待ち時間が発生している。
【００４９】
そこで、図１に示すように、以上により作成された初期生産計画を取得して（ループＲ０：初期生産計画取得ステップ）、強制修正指令を行うとともに（ステップＳ４：強制修正指令ステップ）、強制割付を行い（ステップＳ５：強制割付ステップ）、割付状況の記録を行う（ステップＳ６）。具体的には、強制修正指令では、ガントチャート上でオペレータがマウス等で移動するケースや、上位システムから指令されるケースが考えられる。また、強制割付では、初期生産計画に対して、強制修正指令に基づいて、上流／下流作業との時間制約及び資源の負荷等を無視して強制的に割り付けを行う。そして、割付状況の記録では、強制割付で更新された各作業の生産計画上の開始日時及び割り付けられている資源を、暫定生産計画として記録する。
本実施の形態では、オペレータは、資源１において、Ｌ２Ｂ１及びＬ４Ｂ１を、Ｌ５Ａ１及びＬ７Ａ１よりも前に処理させたいと考え、Ｌ２Ｂ１及びＬ４Ｂ１を資源ガントチャート上でより早い時刻に移動させる。これにより、資源１の許容付加を超過するが、強制的に割り付けておく。以上により、初期生産計画を、図６に示すような暫定生産計画として更新する。図６は、暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
更に、オペレータは、Ｌ５Ａ１及びＬ７Ａ１をより遅い時刻に移動させる。これにより、資源１の許容付加を超過するが、強制的に割り付けておく。以上により、図７に示すような暫定生産計画として更に更新する。図７は、暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【００５０】
次に、図１に示すように、制約違反の解消を行う（ステップＳ７：制約違反解消ステップ）。具体的には、ステップＳ４の強制修正指令を考慮しつつ、生産計画の作成を行う。
即ち、本実施の形態では、図７に示す暫定生産計画のままでは、資源負荷の許容量をオーバーしているために実行不可能である。そこで、制約違反の解消を行い、実行可能な生産計画を作成する。
【００５１】
ここで、図８に基づいて、制約違反解消の処理の手順について、より詳細に説明する。図８は、制約違反解消の処理の手順について説明したフローチャートである。
尚、制約違反解消の手順では、基本的には、上述した図２に示す初期計画作成の手順と同様に、優先度方式且つフォワード方式で割り付けていくものであるが、最優先作業抽出の際には、候補作業リストのうちから、暫定生産計画で記録された開始日時が最も早い作業を抽出する。
【００５２】
まず、次割付候補作業リストを生成する（ステップＳ７０１：次割付候補作業リスト抽出ステップ）。具体的には、オーダー毎に、それぞれの未割付作業のうち、最も上流のものをリストに追加する。
そして、次割付候補作業リストが空である場合（ステップＳ７０２：ＮＯ）、制約違反解消の処理を終了する。
【００５３】
一方、次割付候補作業リストが空でない場合（ステップＳ７０２：ＹＥＳ）、制約違反解消用の最優先作業を抽出する（ステップＳ７０３：最優先作業抽出ステップ）。具体的には、次割付候補作業リストにある各作業に対して、それぞれ、暫定生産計画で記録された開始日時を読み出し、それが最も早い作業を、制約違反解消用最優先作業として抽出する。
【００５４】
ここで、図９に基づいて、制約違反解消用最優先作業抽出の処理の手順について、より詳細に説明する。図９は、制約違反解消用最優先作業抽出の処理の手順について説明したフローチャートである。
【００５５】
まず、Ｂｅｓｔ開始日時を生産計画期間終了日時とする（ステップＳ７０３０１）。
そして、各割付候補作業（ループＲ３）に対して、記録された開始日時を読み出して、当該記録された開始日時がＢｅｓｔ開始日時よりも早いかどうかを判断する（ステップＳ７０３０２）。
記録された開始日時がＢｅｓｔ開始日時よりも早い場合は（ステップＳ７０３０２：ＹＥＳ）、Ｂｅｓｔ開始日時を記録された開始日時に更新して（ステップＳ７０３０３）、その割付候補作業を制約違反解消用最優先作業として更新する（ステップＳ７０３０４）。一方、記録された開始日時がＢｅｓｔ開始日時以降である場合は（ステップＳ７０３０２：ＮＯ）、次の割付候補作業（ループＲ３）について処理を繰り返す。
【００５６】
以上により、制約違反解消用最優先作業が抽出され、図８に示すように、作業割付を行う（ステップＳ７０４：作業割付ステップ）。具体的には、ステップＳ７０３で抽出された制約違反解消用最優先作業を、実際に割り付ける。尚、作業割付の手順は、上述のステップＳ３で説明した初期計画作成の処理の中の作業割付の処理の手順（図２のステップＳ３０４、及び、図４参照）と同様であり、その説明を省略する。
【００５７】
作業割付が行われると、図８に示すように、次割付候補作業リストの更新を行う（ステップＳ７０５）。具体的には、ステップＳ７０４で割り付けた作業を、次割付候補作業リストから取り除き、その下流作業を次割付候補作業リストに追加する。
【００５８】
以上の手順によって制約違反が解消されて更新された暫定生産計画のオーダーガントチャート及び資源ガントチャートの一例を図１０に示す。図１０は、更新された暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【００５９】
図１０に示すように、各資源において、オペレータの指定した通りの順序で、且つ、制約違反が解消された生産計画の結果が得られていることが分かる。
ただし、図１０に示すガントチャートによれば、まだ納期遅れが発生している。即ち、図１０に示すガントチャートによれば、資源３に対する作業の割りつきは想定通り改善されたが、資源１の処理が納期に追いついていない。従って、オペレータは、資源１は段取り替えが多数発生しておりフル稼働しているため、段取り替えの回数を減らすしかない、具体的には、Ｌ２Ｂ３とＬ４Ｂ３、Ｌ５Ａ３とＬ７Ａ３を連続して処理すればよいと判断することができる。
【００６０】
そこで、図１に示すように、生産計画が不満であることから、以上により更新された暫定生産計画を初期生産計画として取得して（ループＲ０：初期生産計画取得ステップ）、強制修正指令を行うとともに（ステップＳ４：強制修正指令ステップ）、強制割付を行い（ステップＳ５：強制割付ステップ）、割付状況の記録を行う（ステップＳ６）。
本実施の形態では、オペレータは、資源１において、Ｌ２Ｂ３とＬ４Ｂ３、Ｌ５Ａ３とＬ７Ａ３を連続して処理させたいと考え、Ｌ４Ｂ３をＬ２Ｂ３の直後に移動させる。これにより、資源１の許容付加を超過するが、強制的に割り付けておく。以上により、初期生産計画を、図１１に示すような暫定生産計画として更新する。図１１は、暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【００６１】
次に、上述の通り制約違反解消の処理を再度行い（ステップＳ７：制約違反解消ステップ）、図１２に示すような暫定生産計画が得られる。図１２は、更新された暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【００６２】
図１１に示すように、資源１での段取り替え回数が減少したために、資源１において、Ｌ６Ｂ３及びＬ８Ｂ３がより早い時刻に処理されるようになり、納期遅れが解消された。
【００６３】
そして、図１に示すように、生産計画に不満がなくなり（ループＲ０）、ステップＳ７の暫定生産計画の結果を最終的に得られた生産計画として保存して（ステップＳ８）、処理を終了する。
【００６４】
このように、本実施形態の生産計画作成方法及びプログラムによれば、計画作成担当者或いは上位システム等からの初期生産計画に対する初期生産計画における各作業の割付資源及び割付日時の指令に基づいて（図１のステップＳ４）、強制修正が行われる（図１のステップＳ５）。ここで、指令に基づく強制修正が制約違反を含んでいたとしても、初期生産計画に対する強制修正が行われ、暫定生産計画が作成される（図１のステップＳ６）。そして、計画作成担当者或いは上位システム等からの指令を尊重しつつ、制約違反を解消するべく暫定生産計画を更新することにより（図１のステップＳ７）、より最適な生産計画を作成することが可能になる。
【００６５】
また、優先度方式による生産計画作成の手順に基づいて（図１のステップＳ７）、高速に処理を実行することができるため、暫定生産計画の制約条件の違反を迅速に解消することが可能になる。
【００６６】
以上、本発明の好適な実施の形態について説明したが、本発明は、前記実施の形態に限定されるものではなく、特許請求の範囲に記載した限りにおいてさまざまな変更が可能なものである。
【００６７】
上述の実施の形態では、生産計画に対する作業割付をフォワード方式、優先度方式のアルゴリズムにより実施したが、それに限らず、他のアルゴリズムにより実施しても良い。
【図面の簡単な説明】
【００６８】
【図１】本実施の形態に係る生産計画作成方法の処理の手順について説明したフローチャートである。
【図２】初期生産計画作成の処理の手順について説明したフローチャートである。
【図３】最優先作業抽出の処理の手順について説明したフローチャートである。
【図４】作業割付の処理の手順について説明したフローチャートである。
【図５】初期生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【図６】暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【図７】暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【図８】制約違反解消の処理の手順について説明したフローチャートである。
【図９】制約違反解消用最優先作業抽出の処理の手順について説明したフローチャートである。
【図１０】更新された暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【図１１】暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【図１２】暫定生産計画の一例を示したガントチャートであり、（ａ）はオーダーガントチャートであり、（ｂ）は、資源ガントチャートである。
【図１３】工程グラフである。
【符号の説明】
【００６９】
Ｒ０        初期生産計画取得ステップ
Ｓ４        強制修正指令ステップ
Ｓ５        強制割付ステップ
Ｓ７        制約違反解消ステップ
Ｓ７０１    次割付候補作業リスト抽出ステップ
Ｓ７０３    最優先作業抽出ステップ
Ｓ７０４    作業割付ステップ
【図１】
2005182685.tif 000010
【図２】
2005182685.tif 000011
【図３】
2005182685.tif 000012
【図４】
2005182685.tif 000013
【図５】
2005182685.tif 000014
【図６】
2005182685.tif 000015
【図７】
2005182685.tif 000016
【図８】
2005182685.tif 000017
【図９】
2005182685.tif 000018
【図１０】
2005182685.tif 000019
【図１１】
2005182685.tif 000020
【図１２】
2005182685.tif 000021
【図１３】
2005182685.tif 000022