(57)【要約】【課題】計算量を低減しつつ、効率の良い生産スケジュールを作成する生産スケジュール作成装置を提供する。【解決手段】複数の設備において実行される複数のジョブの処理順序を決定する生産スケジュール作成装置が、各ジョブの納期情報と処理負荷情報と使用設備情報とを記憶し、これらの情報を基に、予め定められた複数の区間に対し、各ジョブを１つの区間と１つの設備とに割り当て割当候補を生成し、割当候補の処理負荷を算出し、割当候補を評価するための第１の評価値を算出し、割当候補の設備割当を繰り返し変更し、第１の評価値が最小となる割当候補を探索し、各ジョブを時系列に配列し、配列順序を評価するための第２の評価値を算出し、ジョブの配列順序を繰り返し変更し、第２の評価値が最小となるジョブの配列順序を抽出することで、生産スケジュールを生成する。【選択図】図２
2011048778.tif 000002
【特許請求の範囲】
【請求項１】
複数の設備において実行される複数のジョブの処理順序を決定する生産スケジュール作成装置であって、
各ジョブに対して予め定められた、納期を示す納期情報と処理負荷を示す処理負荷情報と使用可能な設備を示す使用設備情報とを含むジョブ情報を記憶するジョブ情報記憶手段と、
前記使用設備情報を基に、各ジョブをいずれか１つの設備に割り当てると共に、予め定められた計画対象期間を複数の区間に区分し、前記納期情報を基に、各ジョブをいずれか１つの区間に割り当てることで割当候補を生成する割当候補生成手段と、
前記割当候補において、各設備の各区間に割り当てられた各ジョブの前記処理負荷情報を基に、各設備の各区間における処理負荷を算出する処理負荷算出手段と、
前記割当候補において、前記処理負荷算出手段により区間毎に算出された処理負荷と、各設備の各区間において予め定められた処理能力との過不足量を基に前記割当候補を評価するための第１の評価値を算出する第１の評価値算出手段と、
前記割当候補からあるジョブを特定し、特定したジョブを、使用可能な別の設備に移動させることで前記割当候補を変更する割当候補変更手段と、
前記割当候補変更手段に前記割当候補を繰り返し変更させることで、前記第１の評価値が最小となる割当候補を探索する割当候補探索手段と、
前記割当候補探索手段により探索された割当候補において、各設備に割り当てられた各ジョブを前記納期情報に基づいて時系列に配列するジョブ配列手段と、
時系列的に前後するジョブの組み合わせから発生する前のジョブの処理が終了してから後のジョブを開始するのに要する所定の処理準備期間を基に、ジョブの配列順序を評価するための第２の評価値を算出する第２の評価値算出手段と、
前記ジョブ配列手段によりジョブが時系列に配列された割当候補において、あるジョブを特定し、特定したジョブの配列順序を同一設備内で変更させることでジョブの配列順序を変更する配列順序変更手段と、
前記配列順序変更手段にジョブの配列順序を繰り返し変更させることで、前記第２の評価値が最小となるジョブの配列順序を抽出し、生産スケジュールを生成する生産スケジュール生成手段とを備えることを特徴とする生産スケジュール作成装置。
【請求項２】
複数の設備において実行される複数のジョブの処理順序を決定する生産スケジュール作成装置であって、
各ジョブに対して予め定められた、納期を示す納期情報と処理負荷を示す処理負荷情報と使用可能な設備を示す使用設備情報とを含むジョブ情報を記憶するジョブ情報記憶手段と、
前記使用設備情報を基に、各ジョブをいずれか１つの設備に割り当てると共に、予め定められた計画対象期間を時系列的に複数の区間に区分し、前記納期情報を基に、各ジョブをいずれか１つの区間に割り当てることで割当候補を生成する割当候補生成手段と、
前記割当候補において、各区間を計算対象区間として時系列順で順次に選択する区間選択手段と、
前記計算対象区間より過去の各区間に割り当てられたジョブと前記計算対象区間に割り当てられたジョブとの設備毎の処理負荷の総和を、前記処理負荷情報を基に算出する処理負荷算出手段と、
前記処理負荷算出手段により算出された設備毎の処理負荷の総和と、前記計算対象区間より過去の各区間及び前記計算対象区間において予め定められた設備毎の処理能力の総和との過不足量を基に、前記計算対象区間におけるジョブの割り当てを評価するための第１の評価値を算出する第１の評価値算出手段と、
前記計算対象区間に割り当てられたジョブの中からあるジョブを特定し、特定したジョブを、前記計算対象区間内において使用可能な別の設備に移動させることで前記計算対象区間内でのジョブの割り当てを変更する割当候補変更手段と、
前記割当候補変更手段に前記計算対象区間でのジョブの割り当てを繰り返し変更させることで、前記第１の評価値が最小となる前記計算対象区間でのジョブの割り当てを探索し、前記計算対象区間での探索が終了する毎に前記区間選択手段に次の計算対象区間を選択させる割当候補探索手段と、
前記割当候補探索手段により全区間での探索が終了されたときに得られた割当候補において、各設備に割り当てられた各ジョブを前記納期情報に基づいて時系列に配列するジョブ配列手段と、
時系列的に前後するジョブの組み合わせから発生する前のジョブの処理が終了してから後のジョブを開始するのに要する所定の処理準備期間を基に、ジョブの配列順序を評価するための第２の評価値を算出する第２の評価値算出手段と、
前記ジョブ配列手段によりジョブが時系列に配列された割当候補において、あるジョブを特定し、特定したジョブの配列順序を同一設備内で変更させることでジョブの配列順序を変更する配列順序変更手段と、
前記配列順序変更手段にジョブの配列順序を繰り返し変更させることで、前記第２の評価値が最小となるジョブの配列順序を抽出し、生産スケジュールを生成する生産スケジュール生成手段とを備えることを特徴とする生産スケジュール作成装置。
【請求項３】
複数のジョブを同一設備でまとめて処理する単位であるジョブグループとしてグループ化するための条件を記憶するジョブグループ情報記憶手段と、
前記条件を基に、複数のジョブを同一設備で処理する単位であるジョブグループとしてグループ化するジョブグループ編成手段とをさらに備え、
前記割当候補生成手段は、前記複数のジョブの前記使用設備情報を基に、前記ジョブグループをいずれか１つの設備にさらに割り当てると共に、前記複数のジョブの前記納期情報を基に、前記ジョブグループをいずれか１つの区間にさらに割り当てることで割当候補を生成し、
前記割当候補探索手段は、前記割当候補からあるジョブグループを特定し、特定したジョブグループを、使用可能な別の設備に移動させることで前記割当候補を変更することを特徴とする請求項１又は請求項２に記載の生産スケジュール作成装置。
【請求項４】
前記条件を基に、前記ジョブグループを構成する前記複数のジョブの処理順序を決定するジョブグループ内順序決定手段をさらに備え、
前記ジョブ配列手段は、前記割当候補探索手段により探索された割当候補において、各設備に割り当てられた各ジョブと各ジョブグループとを前記納期情報に基づいて時系列に配列し、
前記配列順序変更手段は、前記ジョブと前記ジョブグループとが時系列に配列された割当候補において、あるジョブグループを特定し、特定したジョブグループの配列順序を同一設備内で変更させることでジョブおよびジョブグループの配列順序を変更し、
前記生産スケジュール生成手段は、前記配列変更手段にジョブまたはジョブグループの配列順序を繰り返し変更させることで、前記第２の評価値が最小となるジョブおよびジョブグループの配列順序を抽出し、生産スケジュールを生成することを特徴とする請求項３記載の生産スケジュール作成装置。
【請求項５】
各ジョブは、前記納期情報に基づいて、前記区間内に前記納期が属するように何れか１つの区間と対応づけられており、
前記第２の評価値算出手段は、前記納期情報を基に、前記ジョブ配列手段により配列された各ジョブの納期遅れ時間をさらに算出し、前記納期遅れ時間と、前記所定の処理準備期間とを基に、前記第２の評価値を算出することを特徴とする請求項１乃至４の何れか１項に記載の生産スケジュール作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
同種の複数の設備が存在し、各ジョブがそれら設備のいずれか１台で１度だけ処理される並列設備工程を対象にした生産スケジュール作成装置に関する。特に、処理対象であるジョブ（作業の１単位）に対して、利用する設備と設備での処理順序を決定する場合のスケジューリングを扱う。
【背景技術】
【０００２】
通常、製造企業は、製造設備（製造機械）の生産性の最大化、受注品の納期遵守、在庫量（仕掛量）の最小化およびコストの最小化を図り生産性を高めるべく、生産スケジューリング（生産計画、スケジュール作成）の立案に努力している。また、設備の突然の故障や予期しない受注等の突発的な事象が生じ、これによって生産スケジューリングの見直しも必要となる。
【０００３】
一方、製品には、例えばアルミ合金や銅合金等の合金のように、複数の成分を混合した所定の組成（成分とその割合、成分組成、スペック）から成る製品（半製品を含む）がある。このような製品は、所定の組成の合金を製造すべく、例えば純アルミや純銅等の主成分純原料と他の元素等の微量な添加原料とを溶解炉に投入することによって製造される。そして、同一の溶解炉で同一品種（同一組成）の製品を製造している場合は、あまり必要とされないが、同一の溶解炉で異なる品種（異なる組成）の製品を製造する場合では、或る品種の製品の製造（１回の処理またはチャージ）から次の異なる品種の製品の製造へ切り替える際に、各品種における組成の相違から、或る品種の製品の製造から次の異なる品種の製品の製造へ切り替える準備作業である段取り替えの処理が必要となる場合がある。すなわち、溶解炉では、或る品種の製品の製造（溶解）が完了し、次の異なる品種の製品を製造するべく、溶解炉内の湯（溶けた金属（合金を含む））が払い出されても、溶解炉の構造に起因して、通常、一定量の湯が残留物として前記溶解炉に残留してしまう。したがって、そのまま、次の品種の製品が製造されると、この残留物が次の製品の成分組成に影響を与えるため、次の製品が所定の組成とならなくなってしまう。このため、１つの溶解炉で、互いに異なる品種の製品を連続して溶解する場合において、その前後の品種の組合せによっては、段取り替えの処理が必要となる。例えば、この溶解炉の場合では、例えばアルミニウムや銅等の純粋な金属材料を溶解炉に投入することによって残留物を希釈する処理が行われ、この段取り替えの処理は、炉洗いとも呼ばれ、また生産設備がチャージを処理するバッチ設備である場合には緩衝チャージと呼ばれる。したがって、生産スケジュールを立案する際には、この段取り替えも考慮した生産スケジュールの立案が必要となる。このように、１つの生産設備で互いに異なる品種の製品を製造する場合に、前の品種の製品を製造した結果が後の品種の製品の製造に影響を与える場合に、後の品種の製品を適切に製造するために段取り替えの処理（準備作業）が必要となる。
【０００４】
並列設備（機械）工程では、処理順序が前後するジョブ（作業の１単位；例えば、ある品種を製造する作業など）の組み合わせにより上述のような段取り替えの処理が発生することに加えて、各ジョブの種類（例えば、鉄鋼や非鉄（アルミ、銅など）製造の鋳造、焼鈍、圧延など）により利用可能な設備が限定される。このため、並列設備工程での生産スケジュール作成においては、設備間の負荷（処理量）が平準化するように、各ジョブに対する設備の割当てを決定することと、段取り替えの処理が最小化するように、各設備に割当てられたジョブの処理順序を決定することとが必要である。並列設備工程における生産スケジューリング作成は、従来では、経験的な勘に基づく人手に頼って立案されていたが、近年では、コンピュータを利用した生産スケジューリング作成方法および装置が研究、開発され、種々の提案が為されている。このような並列設備工程における生産スケジューリング作成方法としては、例えば、特許文献１が挙げられる。
【０００５】
特許文献１に開示の生産スケジューリング方法は、仕事ごとに処理される機械と、設備でのジョブの処理順序とを遺伝子として与えることで各個体を表現し、総生産時間と機種切替時間の合計とで設定された各個体の適応度算出式に基づいて各個体について適応度を算出し、遺伝的アルゴリズム（ＧＡ；Genetic Algorithms）を利用した最適化計算により生産性の高いスケジュールを自動作成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−３１５０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、特許文献１に記載の方法では、繰り返し遺伝子操作を行うことで適応度を改善する最適化計算方法であり、計画対象とする機械の数や仕事の数が多くなると最適化計算の収束までに要する計算量が多大となる。したがって、計画対象とする設備の数や仕事の数が多い場合には、受注品の追加や設備トラブルなど、状況変化に即応してスケジュールを作成することが困難となり、実用性が低下する虞がある。
【０００８】
本発明は、上述の事情に鑑みて為された発明であり、その目的は、計算量をより低減しつつ、効率の良い生産スケジュールを作成する生産スケジュール作成装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明者は、種々検討した結果、上記目的は、以下の本発明により達成されることを見出した。すなわち、本発明に係る一態様では、複数の設備において実行される複数のジョブの処理順序を決定する生産スケジュール作成装置であって、各ジョブに対して予め定められた、納期を示す納期情報と処理負荷を示す処理負荷情報と使用可能な設備を示す使用設備情報とを含むジョブ情報を記憶するジョブ情報記憶手段と、前記使用設備情報を基に、各ジョブをいずれか１つの設備に割り当てると共に、予め定められた計画対象期間を複数の区間に区分し、前記納期情報を基に、各ジョブをいずれか１つの区間に割り当てることで割当候補を生成する割当候補生成手段と、前記割当候補において、各設備の各区間に割り当てられた各ジョブの前記処理負荷情報を基に、各設備の各区間における処理負荷を算出する処理負荷算出手段と、前記割当候補において、前記処理負荷算出手段により区間毎に算出された処理負荷と、各設備の各区間において予め定められた処理能力との過不足量を基に前記割当候補を評価するための第１の評価値を算出する第１の評価値算出手段と、前記割当候補からあるジョブを特定し、特定したジョブを、使用可能な別の設備に移動させることで前記割当候補を変更する割当候補変更手段と、前記割当候補変更手段に前記割当候補を繰り返し変更させることで、前記第１の評価値が最小となる割当候補を探索する割当候補探索手段と、前記割当候補探索手段により探索された割当候補において、各設備に割り当てられた各ジョブを前記納期情報に基づいて時系列に配列するジョブ配列手段と、時系列的に前後するジョブの組み合わせから発生する前のジョブの処理が終了してから後のジョブを開始するのに要する所定の処理準備期間を基に、ジョブの配列順序を評価するための第２の評価値を算出する第２の評価値算出手段と、前記ジョブ配列手段によりジョブが時系列に配列された割当候補において、あるジョブを特定し、特定したジョブの配列順序を同一設備内で変更させることでジョブの配列順序を変更する配列順序変更手段と、前記配列順序変更手段にジョブの配列順序を繰り返し変更させることで、前記第２の評価値が最小となるジョブの配列順序を抽出し、生産スケジュールを生成する生産スケジュール生成手段とを備えることを特徴とする。
【００１０】
このような構成によれば、ジョブと設備の組合せを最適化する際に、計画対象期間を複数の区間に分割した上で、区間単位で設備間の負荷が平準化される。そのため、時期的に製造品目が異なる場合のように、区間ごとに工程全体の生産性を高めたい（設備間の負荷を平準化したい）場合に容易に適用できる。さらに、このステップ（ジョブと設備の組合せ決定）の後、設備ごとにジョブの処理順序が決定されるため、問題の規模が大きい場合でも、工程全体の生産性に加えて、製造効率（処理順序に依存する段取りコストや段取り時間）を考慮した生産スケジュールの作成に要する計算量を低減することが可能となる。
【００１１】
また、本発明に係る他の一態様では、複数の設備において実行される複数のジョブの処理順序を決定する生産スケジュール作成装置であって、各ジョブに対して予め定められた、納期を示す納期情報と処理負荷を示す処理負荷情報と使用可能な設備を示す使用設備情報とを含むジョブ情報を記憶するジョブ情報記憶手段と、前記使用設備情報を基に、各ジョブをいずれか１つの設備に割り当てると共に、予め定められた計画対象期間を時系列的に複数の区間に区分し、前記納期情報を基に、各ジョブをいずれか１つの区間に割り当てることで割当候補を生成する割当候補生成手段と、前記割当候補において、各区間を計算対象区間として時系列順で順次に選択する区間選択手段と、前記計算対象区間より過去の各区間に割り当てられたジョブと前記計算対象区間に割り当てられたジョブとの設備毎の処理負荷の総和を、前記処理負荷情報を基に算出する処理負荷算出手段と、前記処理負荷算出手段により算出された設備毎の処理負荷の総和と、前記計算対象区間より過去の各区間及び前記計算対象区間において予め定められた設備毎の処理能力の総和との過不足量を基に、前記計算対象区間におけるジョブの割り当てを評価するための第１の評価値を算出する第１の評価値算出手段と、前記計算対象区間に割り当てられたジョブの中からあるジョブを特定し、特定したジョブを、前記計算対象区間内において使用可能な別の設備に移動させることで前記計算対象区間内でのジョブの割り当てを変更する割当候補変更手段と、前記割当候補変更手段に前記計算対象区間でのジョブの割り当てを繰り返し変更させることで、前記第１の評価値が最小となる前記計算対象区間でのジョブの割り当てを探索し、前記計算対象区間での探索が終了する毎に前記区間選択手段に次の計算対象区間を選択させる割当候補探索手段と、前記割当候補探索手段により全区間での探索が終了されたときに得られた割当候補において、各設備に割り当てられた各ジョブを前記納期情報に基づいて時系列に配列するジョブ配列手段と、時系列的に前後するジョブの組み合わせから発生する前のジョブの処理が終了してから後のジョブを開始するのに要する所定の処理準備期間を基に、ジョブの配列順序を評価するための第２の評価値を算出する第２の評価値算出手段と、前記ジョブ配列手段によりジョブが時系列に配列された割当候補において、あるジョブを特定し、特定したジョブの配列順序を同一設備内で変更させることでジョブの配列順序を変更する配列順序変更手段と、前記配列順序変更手段にジョブの配列順序を繰り返し変更させることで、前記第２の評価値が最小となるジョブの配列順序を抽出し、生産スケジュールを生成する生産スケジュール生成手段とを備えることを特徴とする。
【００１２】
このような構成によれば、計画対象期間を複数の区間に分割した上で、一区間ごとにジョブと設備の組合せを最適化することで、区間単位で設備間の負荷が平準化される。その後、設備ごとにジョブの処理順序が決定されるため、より短時間で工程全体の生産性（設備間の負荷の平準化）と、製造効率（処理順序に依存する段取りコストや時間）を考慮した生産スケジュールの作成が可能となる。
【００１３】
また、上述の生産スケジュール作成装置において、複数のジョブを同一設備でまとめて処理する単位であるジョブグループとしてグループ化するための条件を記憶するジョブグループ情報記憶手段と、前記条件を基に、複数のジョブを同一設備で処理する単位であるジョブグループとしてグループ化するジョブグループ編成手段とをさらに備え、前記割当候補生成手段は、前記複数のジョブの前記使用設備情報を基に、前記ジョブグループをいずれか１つの設備にさらに割り当てると共に、前記複数のジョブの前記納期情報を基に、前記ジョブグループをいずれか１つの区間にさらに割り当てることで割当候補を生成し、前記割当候補探索手段は、前記割当候補からあるジョブグループを特定し、特定したジョブグループを、使用可能な別の設備に移動させることで前記割当候補を変更することを特徴とする。
【００１４】
このような構成によれば、ジョブと設備の組合せを決定する前に、同一設備でまとめて処理する単位にジョブグループが編成される。そして、ジョブと設備の組合せを決定する際には、編成されたジョブグループに同一の設備が割り当てられる。そのため、同じ操業条件で連続的に処理することによる段取り時間削減など、生産効率を高める計画立案が容易となる。また、ジョブと設備の組合せの規模が小さくなるため、計算時間の短縮にも寄与する。
【００１５】
また、上述の生産スケジュール作成装置において、前記条件を基に、前記ジョブグループを構成する前記複数のジョブの処理順序を決定するジョブグループ内順序決定手段をさらに備え、前記ジョブ配列手段は、前記割当候補探索手段により探索された割当候補において、各設備に割り当てられた各ジョブと各ジョブグループとを前記納期情報に基づいて時系列に配列し、前記配列順序変更手段は、前記ジョブと前記ジョブグループとが時系列に配列された割当候補において、あるジョブグループを特定し、特定したジョブグループの配列順序を同一設備内で変更させることでジョブおよびジョブグループの配列順序を変更し、前記生産スケジュール生成手段は、前記配列変更手段にジョブまたはジョブグループの配列順序を繰り返し変更させることで、前記第２の評価値が最小となるジョブおよびジョブグループの配列順序を抽出し、生産スケジュールを生成することを特徴とする。
【００１６】
このような構成によれば、ジョブと設備の組合せを決定する前に、同一設備でまとめて処理する単位としてジョブグループが編成される。加えて、ジョブグループの中でのジョブの処理順序が決定される。
【００１７】
そして、ジョブと設備の組合せを決定する際には、編成されたジョブグループに同一の設備が割り当てられ、設備内でのジョブの処理順序の決定の際には、ジョブグループとして順序が決定され、その中のジョブの処理順序はジョブグループ内順序決定手段で決定された順序に固定される。これにより、段取り時間を最小化する操業ノウハウ（例：アルミや銅のスラブを鋳造する際に、添加元素の濃度の少ない品種から順に鋳造する）を容易に組み込むことが可能となり、生産効率の高い計画を容易に作成できる。また、ジョブと設備の組合せだけでなく、処理順序の組合せ規模も小さくなるため、計算時間の短縮に一層寄与する。
【００１８】
また、上述の生産スケジュール作成装置において、各ジョブは、前記納期情報に基づいて、前記区間内に前記納期が属するように何れか１つの区間と対応づけられており、前記第２の評価値算出手段は、前記納期情報を基に、前記ジョブ配列手段により配列された各ジョブの納期遅れ時間をさらに算出し、前記納期遅れ時間と、前記所定の処理準備期間とを基に、前記第２の評価値を算出することを特徴とする。
【００１９】
このような構成によれば、計画対象の期間を複数の区間に分けた上で、ジョブと区間を対応付ける際、納期がどの区間に属するかにより、ジョブと区間が対応付けられる。その結果、ジョブと設備の組合せを決定する際に、区間ごとに設備間の負荷を平準化することで、設備間での納期の偏りを防止でき、納期と生産性のバランスが取れた設備割り当てが可能となる。さらに、ジョブの処理順序の変更の際には、通常の段取り時間など生産効率の指標に加えて、納期遅れを評価することにより、生産効率だけでなく納期も考慮した計画立案が可能となる。
【発明の効果】
【００２０】
本発明によれば、計算量をより低減しつつ、生産効率の良い生産スケジュールを作成する生産スケジュール作成装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態１における、生産スケジュール作成装置のハードウェア構成を示す図である。
【図２】実施形態１における、生産スケジュール作成装置の構成を示すブロック図である。
【図３】実施形態１における、生産スケジュールを作成するフローチャートである。
【図４】実施形態１における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図である。
【図５】実施形態１における、ジョブの設備への割り付け状態（設備間でのジョブ移動後）を説明するための図である。
【図６】実施形態１における、ジョブの処理順序決定を説明するための図である。
【図７】実施形態１における、ジョブの処理順序決定を説明するための図である。
【図８】実施形態２における、生産スケジュール作成装置の構成を示すブロック図である。
【図９】実施形態２における、生産スケジュールを作成するフローチャートである。
【図１０】実施形態２における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図である。（Ａ）は、計算対象区間１における割当候補を説明するための図であり、（Ｂ）は、計算対象区間１における、設備間でのジョブ移動後の割当候補を説明するための図である。
【図１１】実施形態２における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図である。（Ａ）は、計算対象区間２における割当候補を説明するための図であり、（Ｂ）は、計算対象区間２における、設備間でのジョブ移動後の割当候補を説明するための図である。
【図１２】実施形態２における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図である。（Ａ）は、計算対象区間３における割当候補を説明するための図であり、（Ｂ）は、計算対象区間３における、設備間でのジョブ移動後の割当候補を説明するための図である。
【図１３】実施形態３における、生産スケジュール作成装置の構成を示すブロック図である。
【図１４】実施形態３における、生産スケジュールを作成するフローチャートである。
【図１５】ジョブグループの編成とジョブグループ内での処理順序の固定とを説明するための図である。（Ａ）は、ジョブグループ編成を説明するための図であり、（Ｂ）は、ジョブグループ内での処理順序の固定を説明するための図である。
【発明を実施するための形態】
【００２２】
以下、生産スケジュール作成装置を実施形態１乃至３で、図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
【００２３】
＜実施形態１＞
以下、図１および図２を基に、実施形態１の構成について説明する。図１は、実施形態１における、生産スケジュール作成装置のハードウェア構成を示す図である。図２は、実施形態１における、生産スケジュール作成装置の構成を示すブロック図である。
【００２４】
生産スケジュール作成装置は、例えば、通常のコンピュータから構成され、入力装置１、ＲＯＭ（リードオンリメモリ）２、ＣＰＵ（中央演算処理装置）３、ＲＡＭ（ランダムアクセスメモリ）４、外部記憶装置５、表示装置６、及び記録媒体駆動装置７を備えて構成させる。入力装置１、ＲＯＭ２、ＣＰＵ３、ＲＡＭ４、外部記憶装置５、表示装置６、及び記録媒体駆動装置７は内部のバスに接続され、このバスを介して種々のデータ等が入出され、ＣＰＵ３の制御の下、種々の処理が実行される。
【００２５】
入力装置１は、キーボード、マウス等から構成され、ユーザが種々のデータを入力するために使用される。ＲＯＭ２には、ＢＩＯＳ（Basic Input/Output System）等のシステムプログラムが記憶される。外部記憶装置５は、ハードディスクドライブ等から構成され、所定のＯＳ（Operating System）及び生産スケジュール作成プログラムが記憶される。ＣＰＵ３は、外部記憶装置５からＯＳ等を読み出し、各ブロックの動作を制御する。ＲＡＭ４は、ＣＰＵ３の作業領域等として用いられる。
【００２６】
表示装置６は、液晶表示装置等から構成され、ＣＰＵ３の制御の下に種々の画像を表示する。記録媒体駆動装置７は、ＣＤ−ＲＯＭドライブ、フレキシブルディスクドライブ等から構成される。
【００２７】
なお、本生産スケジュール作成プログラムは、ＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体８に格納されて市場に流通される。ユーザはこの記録媒体８を記録媒体駆動装置７に読み込ませることで、生産スケジュール作成プログラムをコンピュータにインストールする。また、生産スケジュール作成プログラムをインターネット上のサーバに格納し、このサーバからダウンロードすることで、生産スケジュール作成プログラムをコンピュータにインストールしてもよい。
【００２８】
図１に示す生産スケジュール作成装置は、同種の複数の設備が存在し、各ジョブを複数の同種の設備のいずれか１台で１度だけ処理する場合に、対象であるジョブに対して、利用する設備と設備での処理順序を決定する生産スケジュール作成装置であって、記憶部（図示せず）および処理部（図示せず）を備えて構成される。記憶部は、図１に示すＲＡＭ４や外部記憶装置５により構成され、図２に示すように、ジョブ情報記憶部３１と、設備情報記憶部３２と、割当記憶部３３と、スケジュール記憶部３４との機能を備えて構成される。処理部は、図１に示すＣＰＵ３により構成され、図２に示すように、割当候補生成部１１と、処理負荷算出部１２と、第１の評価値算出部１３と、割当候補変更部１４と、割当候補探索部１５と、ジョブ配列部１６と、第２の評価値算出部１７と、配列順序変更部１８と、生産スケジュール生成部１９との機能を備えて構成される。これらの機能はＣＰＵ３が生産スケジュール作成プログラムを実行することで実現される。
【００２９】
以下、記憶部および処理部の各機能について、詳述する。
【００３０】
ジョブ情報記憶部３１は、図１に示す入力装置１により入力された、生産スケジュール作成の対象となるジョブに関するジョブ情報を記憶する装置である。ジョブ情報は、複数のジョブのそれぞれに関する情報（ジョブ識別子、品種情報、処理負荷情報、納期情報、使用設備情報）および処理準備期間情報（段取り替え情報）である。
【００３１】
ジョブ識別子（ジョブＩＤ）は、ジョブを特定し識別するための識別子である。
【００３２】
品種情報は原料の組成などであり、例えば、前記アルミ合金や銅合金等の合金を鋳造する工程では、純アルミや純銅等の主成分と添加原料などの組成である。
【００３３】
処理負荷情報は、ジョブの処理に必要な処理量（時間、コスト、処理長、重量など）である。
【００３４】
納期情報は、ジョブの処理を終了するべき時刻である。
【００３５】
使用設備情報は、ジョブを処理するのに使用可能な設備の設備識別子（設備ＩＤ；設備を特定し識別するための識別子）である。
【００３６】
段取り替え情報は、時系列的に前後するジョブの組み合わせから発生する前のジョブの処理が終了してから後のジョブを開始するのに要する所定の処理準備期間である。より具体的には、段取り替え情報は、処理順序が前後のジョブの品種の組合せに対する、段取り替えの処理の有無および段取り替えの処理に要する所定の処理準備期間である。アルミ合金や銅合金等の合金を鋳造する工程では、処理順序が前後のジョブＩＤに対する炉洗い（緩衝チャージ）の有無が段取り替え情報としてテーブル形式で記憶され、さらに、その炉洗いに要する所定の処理準備期間が記憶される。例えば、前記アルミ合金や銅合金等の合金を鋳造する工程において、ジョブ１が品種Ｐを製造するジョブ、ジョブ２が品種Ｑを製造するジョブであり、ジョブ１、ジョブ２の何れにおいても製造に使用される主成分純原料および添加元素の種類が同じであり、添加元素の濃度のみが異なる（ジョブ２、ジョブ１の順に添加元素の濃度が高くなる）とする。同一設備で、ジョブ１に続いてジョブ２が処理される処理順序の場合には、ジョブ２の添加元素の濃度がジョブ１より低いため、ジョブ１の処理終了後からジョブ２の処理開始前に、炉洗いが有り、この炉洗いに要する時間が処理準備期間である。一方、同一設備で、ジョブ２に続いてジョブ１が処理される処理順序の場合には、ジョブ１の添加元素の濃度がジョブ２より高いため、ジョブ２の処理終了後、炉洗いが無く、ジョブ１の処理が開始される。生産スケジュールの作成過程において、段取り替え情報を参照することで、処理順序が前後するジョブの組み合わせを参照して段取り替えの有無が判断され、段取り替えが必要な場合には、その処理準備期間が求められ、段取り替えの発生に伴う処理準備期間を考慮した生産スケジュールの作成が可能となる。
【００３７】
設備情報記憶部３２は、図１に示す入力装置１により入力された、生産スケジュール作成の対象となる設備に関する設備情報を記憶する装置である。設備情報は、複数の設備のそれぞれについての情報（設備識別子、計画対象期間、区間情報、処理能力情報）である。
【００３８】
設備識別子は、設備を特定し識別するための識別子である。
【００３９】
計画対象期間は実際の設備における作業実績時間に基づいて予め設定された、作業開始予定時刻から作業終了予定時刻までの期間に相当し、さらに予め設定された区間間隔によって、複数の区間に分割される。
【００４０】
区間情報は、これらの区間を特定し識別するための識別子である区間識別子（区間ＩＤ）、区間の開始時間および終了時間である。例えば、作業開始予定時刻が４月１日、作業終了予定時刻が４月３０日、区間間隔が１０日間であれば、区間は３個に分割される。区間１の開始時刻は４月１日で終了時刻は４月１０日、区間２の開始時刻は４月１１日で終了時刻は４月２０日、区間３の開始時刻は４月２１日で終了時刻は４月３０日である。
【００４１】
処理能力情報は、予め設定された区間毎（区間ＩＤ毎）に所定の操業制約に従って予め設定（規定）された設備の処理能力（時刻、コスト）である。
【００４２】
割当記憶部３３は、後述する割当候補探索部１５で探索された割当候補を記憶する装置である。割当候補については、後述する。
【００４３】
スケジュール記憶部３４は、生産スケジュール生成部１９が作成した生産スケジュールを記憶する装置である。
【００４４】
割当候補生成部１１は、ジョブ情報記憶部３１に記憶されたジョブ情報および設備情報記憶部３２に記憶された設備情報を読み込み、各ジョブをいずれか１つの設備ＩＤに割り当てると共に、各ジョブをいずれか１つの区間ＩＤに割り当てることで割当候補を生成し、処理負荷算出部１２および割当候補変更部１４に出力する。より具体的には、割当候補は、各ジョブＩＤに、区間ＩＤと設備ＩＤとを組み合わせたものである。
【００４５】
処理負荷算出部１２は、割当候補生成部１１または割当候補変更部１４から入力した割当候補に対し、ジョブ情報を参照し、各設備の各区間における処理負荷を算出し、第１の評価値算出部１３へ出力する。
【００４６】
第１の評価値算出部１３は、割当候補に対し、処理負荷算出部１２により区間毎に算出された処理負荷と、各設備の各区間において予め定められた処理能力との過不足量を基に割当候補を評価するための第１の評価値Ｖ１を算出し、割当候補と第１の評価値Ｖ１とを対応づける。
【００４７】
第１の評価値Ｖ１は、生成された割当候補のうち、最適な割当候補を選択するための指標である。第１の評価値Ｖ１は、割当候補に対し、各区間各設備での処理負荷と各区間各設備での処理能力とを変数とした所定の関数で与えられる。所定の関数は、処理負荷と処理能力との差（過不足量）の変化に応じて、第１の評価値Ｖ１が増加および減少する関数の何れかであればよい。例えば、この所定の関数は、処理負荷と処理能力との差（過不足量）が少ないほど、第１の評価値Ｖ１が減少する関数であるとする。このような関数を用いれば、複数の割当候補に対し、第１の評価値Ｖ１が最も小さい割当候補が、処理負荷と処理能力との差がより小さい割当である、すなわち、各設備にほぼ均等にジョブが割当てられている生産効率のより良い割当であるといえる。
【００４８】
割当候補変更部１４は、割当候補からあるジョブを特定し、ジョブ情報を参照し、特定したジョブを、使用可能な別の設備に移動させることで、割当候補を変更した割当候補（以下、暫定割当候補）を生成し、処理負荷算出部１２に出力する。上述のように、割当候補変更部１４によって、割当候補を変更した割当候補が処理負荷算出部１２に出力されることで、上述したように、第１の評価値算出部１３によって、暫定割当候補に対する第１の評価値ＴＶ１が算出され、暫定割当候補と対応づけられる。より具体的には、暫定割当候補は、割当候補とは異なる、各ジョブＩＤに、区間ＩＤと設備ＩＤとを組み合わせである。
【００４９】
割当候補探索部１５は、割当候補変更部１４に割当候補を繰り返し変更させることで、割当候補と、割当候補に対応づけられた第１の評価値Ｖ１とを参照し、第１の評価値Ｖ１を指標として、最も生産効率のよい割当候補を選択し、選択した割当候補を割当記憶部３３に記憶させる。
【００５０】
ジョブ配列部１６は、割当記憶部３３に記憶された割当候補において、各設備に割り当てられた各ジョブを、ジョブ情報に基づいて、処理される順番である配列順序（処理順序）に配列し、処理順序候補として後述する第２の評価値算出部１７に出力する。より具体的には、各設備に割り当てられた各ジョブを配列した割当候補は、各設備ＩＤに割り当てられたジョブＩＤとジョブが処理される順序である処理順序に関する情報とを組み合わせたものである。処理順序とジョブの処理負荷を基に、各ジョブの処理時刻（処理開始時刻および処理終了時刻）を算出することができる。
【００５１】
第２の評価値算出部１７は、ジョブ配列部１６または後述する配列順序変更部１８から入力された処理順序候補に対し、ジョブ情報および設備情報を参照し、ジョブの配列順序を評価するための第２の評価値Ｖ２を算出し、後述する生産スケジュール生成部１９へ出力する。
【００５２】
第２の評価値Ｖ２は、生成された処理順序候補のうち、段取り替えの回数や段取り替え時間が最も少ない処理順序を選択するための指標である。第２の評価値Ｖ２は、各設備における処理順序に対し、時系列的に前後するジョブの品種の組み合わせから発生するジョブの段取り替え時間の和である、段取り時間総和を変数とした所定の関数で与えられる。この所定の関数は、段取り替え時間総和における増減に応じて、第２の評価値Ｖ２が増加および減少する関数の何れかであればよい。例えば、この所定の関数は、段取り時間総和が減少するほど、第２の評価値Ｖ２が減少する関数であるとする。このような関数を用いれば、複数の処理順序候補に対し、第２の評価値Ｖ２が最も小さい処理順序候補が、段取り替え時間総和が小さい処理順序候補である、すなわち、段取り替えに伴う時間のロスを低減させた処理順序候補であるといえる。
【００５３】
第２の評価値Ｖ２は、生成された処理順序のうち、納期の遅れ時間、および、段取り替え時間の両方が少ない処理順序候補を選択するための指標であってもよい。この第２の評価値Ｖ２は、各設備における処理順序に対し、各ジョブの納期遅れ時間の和である納期遅れ時間総和と、段取り替え時間総和とを変数とした所定の関数で与えられる。所定の関数は、納期遅れ時間総和および段取り替え時間総和における増減に応じて、第２の評価値Ｖ２が増加および減少する関数の何れかであればよい。例えば、この所定の関数は、納期遅れ時間総和とおよび段取り時間総和が減少するほど、第２の評価値Ｖ２が減少する関数であるとする。このような関数を用いれば、複数の処理順序候補に対し、第２の評価値Ｖ２が最も小さい処理順序候補が、納期遅れ時間総和および段取り替え時間総和がより小さい処理順序候補である、すなわち、納期遅れを減らし、段取り替えに伴う時間のロスを低減させ、かつ、各設備にほぼ均等にジョブが割り当てられた、生産効率のより良い生産スケジュールであるといえる。
【００５４】
配列順序変更部１８は、ジョブ配列部１６によりジョブが処理順序に配列された処理順序候補において、あるジョブを特定し、特定したジョブの処理順序を同一設備内で変更させることでジョブの処理順序を変更し、変更した処理順序を暫定処理順序候補として第２の評価値算出部１７へ出力する。
【００５５】
生産スケジュール生成部１９は、配列順序変更部１８にジョブの処理順序を繰り返し変更させることで、第２の評価値Ｖ２が最小となるジョブの処理順序候補を抽出し、抽出した処理順序候補を基に、生産スケジュールを生成し、スケジュール記憶部３４に記憶させ、表示装置６に出力する。より具体的には、生産スケジュール生成部１９は、抽出した処理順序候補とジョブＩＤに対応する処理負荷とを参照し、各設備に割り当てられたジョブＩＤと、ジョブの処理順序とを用いて、各設備に割り当てられた各ジョブの処理時間（処理開始時刻および処理終了時刻）を算出し、生産スケジュールを生成し、スケジュール記憶部３４に記憶させ、表示装置６に出力する。
【００５６】
次に、実施形態１の動作について説明する。
【００５７】
図３は、実施形態１における、生産スケジュールを作成するフローチャートである。図４は、実施形態１における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図である。図５は、実施形態１における、ジョブの設備への割り付け状態（設備間でのジョブ移動後）を説明するための図である。図６は、実施形態１における、ジョブの処理順序決定を説明するための図である。図７は、実施形態１における、ジョブの処理順序決定を説明するための図である。
【００５８】
なお、図４乃至７に示す図は、ガントチャートである。このガントチャートは、時間を横軸に取るとともに複数の設備を縦軸にとり、複数のジョブを、各設備での１回のジョブ単位ごとに、ジョブ単位の開始時刻から終了時刻までの時間幅に対応する長方形枠（ジョブ枠）で表したタイルを描画したものである。また、図６の横軸に平行な太線は、段取り替えに要する時間を示す。
【００５９】
以下、生産スケジュール作成装置の動作について、一具体例を交えて説明する。
【００６０】
具体例は、生産スケジュール作成装置の動作をより具体的に説明するための一例である。この一具体例における設備情報とジョブ情報は、以下の通りである。
【００６１】
計画対象期間は、４月１日（作業開始予定時刻）から４月３０日（作業終了予定時刻）までであり、計画対象期間は１０日間隔で予め３つの区間に分割されている。
【００６２】
３つの区間は、区間ＩＤ（区間１、区間２、区間３）によって識別され、区間ＩＤと各区間の開始時刻および終了時刻は予め対応づけられている。区間１の開始時刻は４月１日で終了時刻は４月１０日、区間２の開始時刻は４月１１日で終了時刻は４月２０日、区間３の開始時刻は４月２１日で終了時刻は４月３０日である。
【００６３】
設備は、４個であり、設備ＩＤ（設備Ｍ１、Ｍ２、Ｍ３、Ｍ４）によって識別される。設備ＩＤと区間ＩＤと該区間ＩＤにおける設備能力とは予め対応づけられている。区間１、２、３での各設備の設備能力は１０日間である。
【００６４】
ジョブは、ジョブＩＤ（例えば、ジョブ１、・・、ジョブＪ；Ｊは正の整数）によって識別される。ジョブＩＤと納期情報と処理負荷情報（本具体例では時間）と品種情報と使用設備情報とは予め対応づけられている。ここで使用設備情報は設備ＩＤによって表される。段取り替え情報は、全てのジョブに対する処理順序の組み合わせ、該組み合わせによる段取り替えの有無および該組み合わせによる段取り替えに所要する処理準備期間をテーブル形式で表したものである。
【００６５】
図３に示すように、ステップＳ１１において、割当候補生成部１１は、設備情報記憶部３２に記憶された設備情報およびジョブ情報記憶部３１に記憶されたジョブ情報を読み込む。
【００６６】
ステップＳ１２において、割当候補生成部１１は、区間情報および納期情報を参照し、納期と、各区間の開始時刻と終了時刻とを比較し、ジョブの納期が区間の開始時刻と終了時刻との間にくるような区間を選択し、ジョブと選択した区間とを対応づける。より具体的には、割当候補生成部１１は、ジョブＩＤと区間ＩＤとを対応づける。例えば、ジョブ１の納期が４月１２日であれば、区間２を選択し、ジョブ１と区間２とを対応づける。この他、ジョブの納期と各区間の終了時刻を比較し、ジョブの納期が区間の終了時刻より早くなるような区間をランダムに選択する方法であってもよい。例えば、ジョブの納期が４月１２日であれば区間２また区間３の何れかをランダムに選択させる。
【００６７】
次に、割当候補生成部１１は、使用設備情報を参照し、設備の何れかをランダムに選択することで、全てのジョブを設備の何れかと組み合わせ、割当候補を生成する。より具体的には、割当候補生成部１１は、全てのジョブＩＤに対し、ジョブＩＤと区間ＩＤと設備ＩＤとを組み合わせる（対応づける）。割当候補は、ジョブＩＤと区間ＩＤと設備ＩＤとの組み合わせである。例えば、ジョブ１の使用設備情報が設備Ｍ１または設備Ｍ２であれば、割当候補生成部１１は、このジョブを設備Ｍ１または設備Ｍ２の何れかと組み合わせるが、設備Ｍ３または設備Ｍ４の何れかと組み合わせることはない。
【００６８】
図４は、上述のように生成された割当候補をガントチャート上で示したものである。図４において、区間１と対応づけられたジョブは白色のジョブ枠で示され合計１７個であり、区間２に対応づけられたジョブは灰色のジョブ枠で示され合計１４個であり、区間３に対応づけられたジョブは斜線のジョブ枠で示され合計２０個である。さらに各ジョブは、設備Ｍ１〜Ｍ４の何れかに割り当てられており、例えば、設備Ｍ１に割り当てられたジョブは合計１５個であり、そのうち、区間１に対応づけられたジョブは７個、区間２に対応づけられたジョブは３個、区間３に対応づけられたジョブは５個である。
【００６９】
ステップＳ１３において、割当候補変更部１４は、割当候補に対し、あるジョブ（１または複数）をランダムに選択し、選択したジョブを、使用設備情報を参照し、使用可能な別の設備に移動させることで、割当候補を変更する。より具体的には、割当候補変更部１４は、割当候補とは異なる、ジョブＩＤと区間ＩＤと設備ＩＤとの組み合わせ（以下、暫定割当候補）を所定の個数ｐ生成する。ここで、所定の個数ｐは、適宜設定される（例えば、ｐは４）。この他、所定の個数ｐは、１以上定数（例えば、４）以下の値がランダムに選択されたものでもよい。
【００７０】
例えば、図４に、暫定割当候補を４個生成する場合について説明する。図４において、割当候補に対し、矢印の始点は割当候補変更部１４によって選択されたジョブを、矢印の終点は選択されたジョブの移動先の設備を示す。図４では、割当候補に対し設備Ｍ１から設備Ｍ４にジョブ１個を移動させた暫定割当候補、割当候補に対し設備Ｍ２から設備Ｍ３へ２個のジョブを移動させた暫定割当候補、割当候補に対し設備Ｍ３から設備Ｍ２へ１個のジョブを移動させた暫定割当候補、割当候補に対し設備Ｍ４から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、合計４個の暫定割当候補を生成する。このように、割当候補に対し、選択したジョブの、設備との組み合わせを変更させることで、所定の個数ｐの暫定割当候補を生成する。
【００７１】
ステップＳ１４において、処理負荷算出部１２は、割当候補に対して、設備毎、区間毎に、割り当てられたジョブの処理負荷の総和を算出する。より具体的には、処理負荷算出部１２は、ジョブＩＤと区間ＩＤと設備ＩＤとの組み合わせである割当候補に対して、各設備ＩＤ、各区間ＩＤに組み合わされたジョブＩＤを全て抽出し、抽出されたジョブＩＤに対応する処理負荷の総和を求め、割当候補と設備ＩＤと区間ＩＤと処理負荷の総和とを対応づける。
【００７２】
例えば、図４に示すように、設備Ｍ１、区間１に割り当てられたジョブは７個であり、これら７個のジョブの処理負荷の総和は、白色のジョブ枠の横軸に平行な辺の長さの総和ｒ１に相当する。設備Ｍ１、区間２に割り当てられたジョブは３個であり、これらのジョブの処理負荷の総和はジョブ枠の横軸に平行な辺の長さの総和ｒ２に相当する。設備Ｍ１、区間３に割り当てられたジョブは５個であり、これらのジョブの処理負荷の総和はジョブ枠の横軸に平行な辺の長さの総和ｒ３に相当する。
【００７３】
処理負荷算出部１２は、暫定割当候補に対しても同様に、設備毎、区間毎に、割り当てられたジョブの処理負荷の総和を算出する。
【００７４】
第１の評価値算出部１３は、割当候補に対し、設備毎、区間毎の、処理負荷の総和と設備能力情報とを基に、処理負荷合計と設備能力合計とを算出し、処理負荷合計と設備能力合計とを比較し、処理負荷合計が設備能力合計以上である場合には処理負荷合計の超過量である負荷超過量を、処理負荷合計が設備能力合計未満である場合には処理負荷合計の不足量である負荷不足量を算出し、負荷超過量および負荷不足量を基に、第１の評価値Ｖ１を算出する。
【００７５】
以下で、設備毎、区間毎の、負荷超過量および負荷不足量の算出方法について説明するが、区間のうち、開始時刻が最も早い区間１と、区間２および区間３とでは、負荷超過量、負荷不足量の算出方法は異なる。以下、区間１、区間２、区間３での算出方法について詳述する。
【００７６】
はじめに、区間１での処理負荷超過量または負荷不足量の算出方法について説明する。第１の評価値算出部１３は、区間１、設備Ｍ１での、処理負荷合計と設備能力合計とを算出する。区間１、設備Ｍ１での、処理負荷合計は、区間１、設備Ｍ１での処理負荷の総和である。区間１、設備Ｍ１での、設備能力合計は、区間１、設備Ｍ１での設備能力である。第１の評価値算出部１３は、区間１、設備Ｍ１における、処理負荷合計と設備能力合計を比較し、処理負荷合計が設備能力合計以上であるか否かを判断する。処理負荷合計が設備能力合計以上であれば、処理負荷合計から設備能力合計を減算した値が設備Ｍ１、区間１における負荷超過量である。一方、処理負荷合計が設備能力合計以上でなければ、設備能力から処理負荷総和を減算した値が設備Ｍ１、区間１における負荷不足量である。例えば、図４に示すように、設備Ｍ１、区間１における、処理負荷合計はジョブ枠の横軸に平行な辺の長さの合計ｒ１に相当し、設備能力合計は１０日であり作業開始予定時刻から区間１の終了時刻（４月１０日）までの横軸の長さｓ１に相当する。これらの長さの差から示されるように、設備Ｍ１、区間１においては、処理負荷合計が設備能力合計を超えている。この処理負荷合計から設備能力合計を減算した値（ｒ１―ｓ１）が、設備Ｍ１、区間１における負荷超過量である。
【００７７】
第１の評価値算出部１３は、設備Ｍ２、設備Ｍ３、設備Ｍ４においても、設備Ｍ１と同様に、区間１における負荷超過量または負荷不足量の何れかを算出する。
【００７８】
次に、区間２での処理負荷の超過量・不足量の算出方法について説明する。第１の評価値算出部１３は、区間２、設備Ｍ１での、処理負荷合計と設備能力合計とを算出する。区間２、設備Ｍ１での処理負荷合計は、設備Ｍ１での区間２と区間１とにおける処理負荷の総和を合計した値である。区間２、設備Ｍ１での、設備能力合計は、設備Ｍ１での区間２と区間１における設備能力を合計した値である。第１の評価値算出部１３は、区間２、設備Ｍ１における、処理負荷合計と設備能力合計を比較し、処理負荷合計が設備能力合計以上であるか否かを判断する。処理負荷合計が設備能力合計以上であれば、処理負荷総和から設備能力を減算した値が設備Ｍ１、区間２における負荷超過量である。一方、処理負荷総和が設備能力以上でなければ、設備能力から処理負荷総和を減算した値が設備Ｍ１、区間２における負荷不足量である。
【００７９】
第１の評価値算出部１３は、設備Ｍ２、設備Ｍ３、設備Ｍ４においても設備Ｍ１と同様に、区間２における負荷過不足量（負荷超過量または負荷不足量の何れか）を算出する。
【００８０】
このように、区間２においては、何れの設備においても、区間１での負荷過不足量の算出とは異なり、区間２での処理負荷の総和および処理能力のみならず、区間１での処理負荷の総和および処理能力をそれぞれに加算することで、区間２での負荷過不足量の算出を行っている。これは、区間２での負荷過不足量の算出に、区間１の負荷過不足量による影響を含めるためである。
【００８１】
例えば、図４に示すように、設備Ｍ１、区間２における、ジョブの処理負荷の総和はジョブ枠の横軸に平行な辺の長さの合計ｒ２に相当し、設備能力は１０日であり区間２の開始時刻から終了時刻まで（４月１０日から４月２０日まで）の横軸の長さｓ２に相当する。これらの長さの差から示されるように、設備Ｍ１、区間２においては、処理負荷の総和が設備能力以下である。しかしながら、上述のように、区間２以前の区間（区間２の開始時刻以前の区間）である区間１においては、処理負荷の総和が設備能力を超えており、図４に示すように、設備Ｍ１、区間２での、処理負荷合計（ｒ１＋ｒ２）と設備能力合計（ｓ１＋ｓ２）とを比較すると、処理負荷合計（ｒ１＋ｒ２）が設備能力合計（ｓ１＋ｓ２）以上である。このように、区間１の負荷の過不足（負荷超過量または負荷不足量）が区間２に直接影響を与えている。よって、区間２における負荷超過量、負荷不足量の算出においては、区間２での、処理負荷合計と設備能力合計とを用いる。上述のように、設備Ｍ１、区間２での、処理負荷合計と、設備能力合計とを比較し、処理負荷合計が設備能力合計未満であれば、設備能力合計から処理負荷合計を減算した値が、設備Ｍ１、区間２における負荷不足量となる。一方、区間１および区間２での、処理負荷合計が設備能力合計以上であれば、処理負荷合計から設備能力合計を減算した値が、設備Ｍ１、区間２における負荷超過量となる。
【００８２】
第１の評価値算出部１３は、設備Ｍ２、設備Ｍ３、設備Ｍ４においても設備Ｍ１と同様に、設備毎に、区間２における負荷超過量または負荷不足量の何れかを算出する。
【００８３】
次に、区間３での処理負荷の超過量・不足量の算出方法について説明する。第１の評価値算出部１３は、設備Ｍ１での、区間３と区間２と区間１とにおける処理負荷合計と、区間３と区間２と区間１とにおける設備能力合計とを比較する。処理負荷合計が設備能力合計以上であれば、処理負荷合計から設備能力合計を減算した値が設備Ｍ１、区間３における負荷超過量である。一方、処理負荷合計が設備能力合計未満であれば、設備能力合計から処理負荷合計を減算した値が設備Ｍ１、区間３における負荷不足量である。
【００８４】
第１の評価値算出部１３は、設備Ｍ２、設備Ｍ３、設備Ｍ４においても設備Ｍ１と同様に、設備毎に、区間３における負荷超過量または負荷不足量を算出する。
【００８５】
区間２における負荷過不足量の算出と同様に、区間３においては、何れの設備においても、区間１での負荷過不足量の算出とは異なり、区間３での処理負荷の総和および処理能力のみならず、区間１および区間２での処理負荷の総和および処理能力をそれぞれに加算することで、区間３での負荷過不足量の算出を行っている。これは、区間３での負荷過不足量の算出に、区間１および区間２の負荷過不足量による影響を含めるためである。
【００８６】
例えば、図４に示すように、設備Ｍ１、区間３における、ジョブの処理負荷の総和はジョブ枠の横軸に平行な辺の長さの合計ｒ３に相当し、設備能力は１０日であり区間３の開始時刻から終了時刻まで（４月２０日から４月３０日まで）の横軸の長さｓ３に相当する。これらの長さの差から示されるように、設備Ｍ１、区間３においては、処理負荷の総和は設備能力とほぼ等しい。しかしながら、上述のように、区間３以前の区間（区間３の開始時刻以前の区間）である区間２においては、処理負荷合計が設備能力合計を超えており、図４に示すように、設備Ｍ１、区間３での、処理負荷合計（ｒ１＋ｒ２＋ｒ３）と設備能力合計（ｓ１＋ｓ２＋ｓ３）とを比較すると、処理負荷合計（ｒ１＋ｒ２＋ｒ３）が設備能力合計（ｓ１＋ｓ２＋ｓ３）以上である。このように、区間２の負荷の過不足（負荷超過量または負荷不足量）が区間３に直接影響を与えている。よって、区間３における負荷超過量、負荷不足量の算出においては、区間３での、処理負荷合計と設備能力合計とを用いる。上述のように、設備Ｍ１、区間３での、処理負荷合計と、設備能力合計とを比較し、処理負荷合計が設備能力合計未満であれば、設備能力合計から処理負荷合計を減算した値が、設備Ｍ１、区間３における負荷不足量となる。一方、設備Ｍ１、区間３での、処理負荷合計が設備能力合計以上であれば、処理負荷合計から設備能力合計を減算した値が、設備Ｍ１、区間２における負荷不足量となる。
【００８７】
続いて、第１の評価値算出部１３は、複数の暫定割当候補に対し、設備毎、区間毎に、負荷超過量または負荷不足量をそれぞれ算出する。
【００８８】
ステップＳ１５において、第１の評価値算出部１３は、処理負荷算出部１２が算出した、割当候補に対する設備毎、区間毎の、負荷超過量または負荷不足量に基づき、各区間での負荷超過量または負荷不足量を算出し、第１の評価値Ｖ１を算出する。
【００８９】
区間Ｎ（Ｎは、１、２、３）の負荷超過量Ｏ（Ｎ）は、区間Ｎにおける、各設備での負荷超過量を二乗した値の、全ての設備（本実施形態では、Ｍ１、Ｍ２、Ｍ３、Ｍ４）についての総和であり、（１）式で表される。
【００９０】
【数１】
2011048778.tif 000003
【００９１】
上記の（１）式において、区間Ｎの負荷超過量Ｏ（Ｎ）は、区間Ｎにおける、設備ｉでの負荷超過量ｏ（Ｎ，ｉ）の、全ての設備についての総和ではなく、区間Ｎにおける、設備ｉでの負荷超過量ｏ（Ｎ，ｉ）を二乗した値の、全ての設備についての総和である。このように、負荷超過量ｏ（Ｎ，ｉ）を二乗するのは、区間Ｎの負荷超過量Ｏ（Ｎ）に、設備ｉごとの負荷超過量ｏ（Ｎ，ｉ）のばらつきの大小を反映させるためである。設備ｉごとの負荷超過量ｏ（Ｎ，ｉ）のばらつきが大きくなるほど、区間Ｎの負荷超過量Ｏ（Ｎ）は、大きくなる。
【００９２】
より具体的には、複数の暫定割当候補に対し、区間Ｎにおける、設備ｉでの負荷超過量ｏ（Ｎ，ｉ）の、全ての設備についての総和がそれぞれ同じでも、設備ｉごとの負荷超過量ｏ（Ｎ，ｉ）のばらつきによって、区間Ｎの負荷超過量Ｏ（Ｎ）はそれぞれ異なる。例えば、区間１において、暫定割当候補Ａの設備Ｍ１、Ｍ２、Ｍ３、Ｍ４での負荷超過量が、それぞれ、２、３、２、３であり、暫定割当候補Ｂの設備Ｍ１、Ｍ２、Ｍ３、Ｍ４での負荷超過量が、それぞれ、０、４、０、６であるとする。暫定割当候補Ａの各設備ｉの負荷超過量ｏ（１，ｉ）が２ないし３であるのに対し、暫定割当候補Ｂの各設備ｉの負荷超過量ｏ（１，ｉ）が０、４または６であり、暫定割当候補Ｂは、暫定割当候補Ａよりも設備ｉごとの負荷超過量ｏ（１，ｉ）のばらつきが大きい。しかしながら、区間１での負荷超過量ｏ（１，ｉ）の、全設備についての総和は、暫定割当候補Ａでは２＋３＋２＋３＝１０であり、暫定割当候補Ｂでは０＋４＋０＋６＝１０であるので、暫定割当候補Ａ、暫定割当候補Ｂに対し、区間１での負荷超過量ｏ（１，ｉ）の全設備についての総和はいずれも同じであり、設備ｉごとの負荷超過量ｏ（１，ｉ）のばらつきの大小は反映されない。一方、区間１の負荷超過量Ｏ（１）は、暫定割当候補Ａでは２２＋３２＋２２＋３２＝４＋９＋４＋９＝２６であり、暫定割当候補Ｂでは０２＋４２＋０２＋６２＝０＋１６＋０＋３６＝５２であるので、暫定割当候補Ｂの区間１の負荷超過量Ｏ（１）は、暫定割当候補Ａの区間１の負荷超過量Ｏ（１）より大きく、設備ｉごとの負荷超過量のｏ（１，ｉ）のばらつきの大小が反映されている。
【００９３】
このように、区間Ｎにおける、各設備ｉでの負荷超過量ｏ（Ｎ，ｉ）を二乗することで、区間Ｎの負荷超過量Ｏ（Ｎ）は、区間Ｎにおける、各設備ｉでの負荷超過量ｏ（Ｎ，ｉ）のみならず、負荷超過量ｏ（Ｎ，ｉ）の設備ｉごとのばらつきの大小を反映した値となる。よって、区間Ｎの負荷超過量Ｏ（Ｎ）が小さいほど、区間Ｎにおける、各設備ｉでの負荷超過量ｏ（Ｎ，ｉ）が少なく、かつ、設備ｉごとの負荷超過量ｏ（Ｎ，ｉ）のばらつきが小さい割当候補といえる。
【００９４】
区間Ｎ（Ｎは、１、２、３）の負荷不足量Ｕ（Ｎ）は、区間Ｎにおける、各設備での負荷不足量を二乗した値の、全ての設備（本実施形態では、Ｍ１、Ｍ２、Ｍ３、Ｍ４）についての総和であり、（２）式で表される。
【００９５】
【数２】
2011048778.tif 000004
【００９６】
上記の（２）式において、区間Ｎの負荷不足量Ｕ（Ｎ）は、区間Ｎにおける、設備ｉでの負荷不足量ｕ（Ｎ，ｉ）の、全ての設備についての総和ではなく、区間Ｎにおける、設備ｉでの負荷不足量ｕ（Ｎ，ｉ）を二乗した値の、全ての設備についての総和である。このように、負荷不足量ｕ（Ｎ，ｉ）を二乗するのは、区間Ｎの負荷不足量Ｕ（Ｎ）に、設備ｉごとの負荷不足量ｕ（Ｎ，ｉ）のばらつきの大小を反映させるためである。上述の負荷超過量Ｏ（Ｎ）と同様に、設備ｉごとの負荷不足量ｕ（Ｎ，ｉ）のばらつきが大きくなるほど、区間Ｎの負荷不足量Ｕ（Ｎ）は、大きくなる。
【００９７】
このように、区間Ｎにおける、各設備ｉでの負荷不足量ｕ（Ｎ，ｉ）を二乗することで、区間Ｎの負荷不足量Ｕ（Ｎ）は、区間Ｎにおける、各設備ｉでの負荷不足量ｕ（Ｎ，ｉ）のみならず、設備ｉごとの負荷不足量ｕ（Ｎ，ｉ）のばらつきの大小を反映した値となる。よって、区間Ｎの負荷不足量Ｕ（Ｎ）が小さいほど、区間Ｎにおける、各設備ｉでの負荷不足量ｕ（Ｎ，ｉ）が少なく、かつ、設備ｉごとの負荷不足量ｕ（Ｎ，ｉ）のばらつきが小さい割当候補といえる。
【００９８】
第１の評価値Ｖ１は、区間Ｎの負荷超過量Ｏ（Ｎ）に定数Ａを乗算した値と区間Ｎ（の負荷不足量Ｕ（Ｎ）に定数Ｂを乗算した値とを加算した値の、全てのＮ（区間１、区間２、区間３）についての総和であり、（３）式であらわされる。
【００９９】
【数３】
2011048778.tif 000005
【０１００】
ここで、Ａ、Ｂは非負の重み定数であり、適宜設定される。例えば、生産スケジュール作成上で、負荷超過を抑制したい場合には、Ｂをゼロと設定してもよいし、負荷不足を抑制したい場合には、Ａをゼロと設定してもよい。ＡおよびＢにそれぞれ別の値を設定することで、負荷超過または負荷不足の何れかをより抑制した生産スケジュール作成が可能となる。
【０１０１】
上記の（３）式において、ＡおよびＢは非負であるので、割当候補および暫定割当候補に対し、Ｏ（Ｎ）とＵ（Ｎ）が小さい（処理負荷量および処理不足量が小さい、かつ、処理負荷量および処理不足量の設備ごとのばらつきが小さい）ほど、第１の評価値Ｖ１は小さい、すなわち、処理負荷の過不足が少なく、処理負荷の過不足の設備ごとのばらつきが小さい割当候補であるといえる。
【０１０２】
第１の評価値算出部１３は、（１）式を用いて、割当候補に対し、第１の評価値Ｖ１を算出し、割当候補と第１の評価値Ｖ１とを対応づける。
【０１０３】
続いて、第１の評価値算出部１３は、同様に、１又は複数の暫定割当候補に対し、第１の評価値Ｖ１を算出し、その第１評価値Ｖ１をＴＶ１＝Ｖ１として、第１評価値Ｖ１が最小となる暫定割当候補を抽出し、抽出した暫定割当候補と、ＴＶ１とを対応づける。
【０１０４】
ステップＳ１６において、割当候補探索部１５は、暫定割当候補に対する第１の評価値ＴＶ１と、割当候補に対する第１の評価値Ｖ１とを比較し、ＴＶ１＜Ｖ１であるか否か判断し、判断に応じて、割当候補を更新する。
【０１０５】
ＴＶ１＜Ｖ１である場合、割当候補に代えて、暫定割当候補を割当候補とする。そして、Ｖ１＝ＴＶ１とし、ステップＳ１７に進む。一方、ＴＶ１＜Ｖ１でない場合、ステップＳ１７に進む。
【０１０６】
ステップＳ１７において、割当候補探索部１５は、ステップＳ１３〜ステップＳ１７を繰り返した回数ｋをカウントし、回数ｋと所定値ｋｉ（例えば、１０００）とを比較し、ｋ＜ｋｉであるか否か判断する。
【０１０７】
ｋ＜ｋｉである場合（ステップＳ１７においてＮｏ）、ステップＳ１３に戻る。一方、ｋ＜ｋｉでない場合（ステップＳ１７においてＹｅｓ）、ステップＳ１８に進む。
【０１０８】
なお、上記の回数ｋに代えて、割当候補を更新しない回数ｌを用いてもよい。この回数ｌを用いる際も同様に、割当候補探索部１５は、この回数ｌと所定値ｌｉ（例えば、１００）とを比較し、ｌ＜ｌｉであるか否か判断する。
【０１０９】
ｌ＜ｌｉである場合（ステップＳ１７においてＮｏ）、ステップＳ１３に戻る。一方、ｌ＜ｌｉでない場合（ステップＳ１７においてＹｅｓ）、ステップＳ１８に進む。
【０１１０】
このように、ステップＳ１３〜ステップＳ１７を所定の回数繰り返し、第１の評価値Ｖ１に基づいて、割当候補を更新することで、全ての区間において、処理負荷過不足量がより小さい割当候補を決定できる。このように決定された割当候補を図５に示す。図５の割当候補は、図４の割当候補よりも区間１、区間２、区間３のそれぞれの区間で処理過不足量がより小さい。
【０１１１】
ステップＳ１８において、ジョブ配列部１６は、各設備に割り当てられたジョブに対応する、納期情報を参照し、各設備に割り当てられたジョブを納期の早いものから遅いものへ並びかえることで、ジョブを時系列的に配列させ、配列させた割当候補を処理順序候補として、第２の評価値算出部１７に出力すると共に配列順序変更部１８に出力する。
【０１１２】
より具体的には、ジョブ配列部１６は、割当記憶部３３に記憶された、ジョブＩＤと区間ＩＤと設備ＩＤとの組み合わせ（対応づけされたもの）である割当候補に対し、設備ＩＤ毎に、対応づけられたジョブＩＤを全て抽出する。抽出したジョブＩＤに対応する納期情報を参照し、納期が早いジョブＩＤから納期が遅いジョブＩＤへと、ジョブＩＤに順序を識別するための順序識別子（例えば、整数であり、早い番号ほど順番が早い）でジョブの処理順序を番号づけし、割当候補の各ジョブに処理順序識別子を対応づける（組み合わせる）。割当候補は、ジョブＩＤと区間ＩＤと設備ＩＤとの組み合わせであるので、ジョブ配列部１６によって、ジョブＩＤと処理順序識別子と区間ＩＤと設備ＩＤとの組み合わせが生成される。処理順序候補は、ジョブＩＤと処理順序識別子と区間ＩＤと設備ＩＤとの組み合わせである。例えば、設備Ｍ１に対応づけられたジョブが、ジョブ１（納期４月１２日）、ジョブ２（納期４月１日）、ジョブ３（納期４月５日）であれば、ジョブ配列部１６は、ジョブ２、ジョブ３、ジョブ１に、それぞれ順序識別子１、２、３を対応づけられる。
【０１１３】
例えば、図６は、処理順序候補をガントチャート上で示したものである。各設備に割り当てられた各ジョブは、順序識別子を基に、時間軸に対し、納期順を基にした処理順序で描画されている。
【０１１４】
続いて、配列順序変更部１８は、処理順序候補に対し、あるジョブ（１又は複数）をランダムに選択し、選択したジョブを、同一設備内で移動させることで、処理順序候補を変更する。より具体的には、配列順序変更部１８は、処理順序候補での各ジョブＩＤに対し、区間ＩＤと設備ＩＤとを固定したまま、処理順序識別子を変更した組み合わせ（以下、暫定処理順序候補）を所定の個数ｐ生成する。ここで、所定の個数ｐは、適宜設定される（例えば、ｐは４）。この他、所定の個数ｐは、１以上定数（例えば、４）以下の値がランダムに選択されたものでもよい。暫定処理順序候補を生成する方法は、例えば、同一設備で、ジョブを２つランダムに選択し、それぞれの順序を交換する方法であってもよい。
【０１１５】
例えば、図６において、処理順序候補を１個生成する場合について説明する。図６において、矢印の始点は選択されたジョブであり、矢印の終点は選択されたジョブの移動先を示す。このように、配列順序変更部１８は、暫定処理順序候補を生成し、生成した暫定処理順序候補を、第２の評価値算出部１７に出力する。
【０１１６】
ステップＳ１９において、第２の評価値算出部１７は、処理順序候補、および、１又は複数の暫定処理順序候補に対し、同一設備内で処理順序が前後のジョブの組み合わせと、段取り替え情報とを参照し、処理順序が前後のジョブの組み合わせから発生する前のジョブの処理が終了してから後のジョブを開始するのに要する所定の処理準備期間を基に、第２の評価値Ｖ２を算出する。
【０１１７】
より具体的には、第２の評価値算出部１７は、処理順序候補に対し、処理順序が前後のジョブの組み合わせと、段取り替え情報とを参照し、段取り替えの処理の有無を判断し、段取り替えが必要な場合には、処理準備期間を求め、処理準備期間の総和ＳＴを基に、第２の評価値Ｖ２を算出する。処理順序候補に対し、処理順序が前後するジョブの組み合わせ全てについて、処理準備期間を求め、処理準備時間の総和ＳＴを算出する。
【０１１８】
例えば、図６に示すように、処理順序候補に対し、設備Ｍ１では、処理順序が前後のジョブの組み合わせのうち、ジョブ枠ｙで示されるジョブｙとジョブ枠ｚで示されるジョブｚとの組み合わせにおいて、段取り替えが有り、ジョブｙの処理が終了後、ジョブｚの開始までに、処理準備時間ｓｔ１を要する。処理順序候補に対し、同様に、設備Ｍ２では、１回の段取り替えが有り処理準備時間ｓｔ２を要し、設備Ｍ３では、２回の段取り替えが有りそれぞれ処理準備時間ｓｔ３、ｓｔ４を要し、設備Ｍ４では、１回の段取り替えが有り処理準備時間ｓｔ５を要する。このように合計５回の段取り替えが有り、これらの段取り替えに要する処理準備時間の合計（ｓｔ１＋ｓｔ２＋ｓｔ３＋ｓｔ４＋ｓｔ５）が処理準備時間総和ＳＴに相当する。第２の評価値算出部１７は、処理準備時間総和ＳＴを基に、例えば、（４）式を用いて、第２の評価値Ｖ２を算出する。
【０１１９】
【数４】
2011048778.tif 000006
【０１２０】
ここで、βは非負の定数であり、適宜設定される。（４）式において、βは非負であるので、処理順序候補に対し、処理準備時間時間の総和ＳＴが小さいほど、第２の評価値Ｖ２は小さい、すなわち、生産効率がよいといえる。
【０１２１】
第２の評価値算出部１７は、納期遅れ時間の総和ＡＴをさらに算出し、（４）式に代えて、（５）式を用いて第２の評価値Ｖ２を算出してもよい。
【０１２２】
【数５】
2011048778.tif 000007
【０１２３】
ここで、α、βは適宜設定される非負の定数である。以下、納期遅れ時間の総和ＡＴの算出について説明する。
【０１２４】
第２の評価値算出部１３は、処理準備候補に対し、各ジョブの処理終了時刻を算出し、各ジョブの処理終了時刻と各ジョブに対応する納期とを比較することで、各ジョブの処理終了時刻が納期を充足（遵守）しているか否かを判断し、各ジョブの処理終了時刻が納期を遵守していない場合には、各ジョブの処理終了時刻から納期を減算した値である納期遅れ時間を算出し、納期遅れ時間の総和ＡＴを算出する。
【０１２５】
各ジョブの処理終了時間は、同一設備での、処理順序が該ジョブ以前であるジョブ全ての処理負荷と、処理順序が該ジョブ以前のジョブの前後の組み合わせから発生した処理準備時間とを合計した時間を、作業開始予定時刻に加算したものである。例えば、図６に示すように、設備Ｍ１においてはジョブ枠ｙとジョブ枠ｚとの間に１回の段取り替えが発生しており、処理準備時間はジョブ枠ｙとジョブ枠ｚとの間の太線の長さｓｔ１に相当する。ジョブ枠ｚのジョブの処理終了時刻は、ジョブ枠ｘ、ｙ、ｚそれぞれの横軸に平行な辺の長さと、ジョブ枠ｙとジョブ枠ｚとの間の処理準備時間ｓｔ１とを合計した時間を作業開始予定時刻（本具体例では４月１日）に加算したものである。
【０１２６】
各ジョブの処理終了時刻が納期よりも早い時刻であれば、納期を充足しない状態（納期遅れ）が発生する。その納期遅れの時間（納期遅れ時間）はジョブの処理終了時刻から納期を減算した値である。第２の評価値算出部１３は、各ジョブについて、納期遅れ時間を算出し、納期遅れ時間の総和ＡＴを算出する。
【０１２７】
（５）式において、αおよびβは非負であるので、処理順序候補に対し、処理準備時間の総和ＳＴと納期遅れ時間の総和ＡＴとが小さいほど、第２の評価値Ｖ２は小さい、すなわち、納期遅れのより少ない、生産効率のよい処理順序候補であるといえる。αとβに等しい値を設定すれば、段取り替えの発生および納期遅れを抑制した生産スケジュール作成が可能となる。（５）式において、αおよびβは非負であるので、処理順序に対し、所要時間の総和ＳＴと納期遅れ時間の総和ＡＴとが小さいほど、第２の評価値Ｖ２は小さい、すなわち、納期遅れのより少ない、生産効率のよい設備割当であるといえる。なお、（４）式によれは、（５）式より計算量を低減し、生産スケジュールを作成することができる。
【０１２８】
この他、生産スケジュール作成上で、納期遅れを抑制したい場合には、（５）式において、βをゼロと設定してもよい。
【０１２９】
このように、αおよびβの値を適宜設定することで、段取り替えの発生または納期遅れの何れかをより抑制した生産スケジュール作成が可能となる。
【０１３０】
第２の評価値算出部１７は、処理順序候補と第２の評価値Ｖ２とを生産スケジュール生成部１９に出力する。
【０１３１】
次に、第２の評価値算出部１７は、１又は複数の暫定処理順序候補に対し、第２の評価値Ｖ２を算出し、第２の評価値Ｖ２が最小となる暫定処理順序候補を抽出し、その第２の評価値Ｖ２をＴＶ２＝Ｖ２として、抽出した暫定処理順序候補と、ＴＶ２とを生産スケジュール生成部１９に出力する。
【０１３２】
ステップＳ２０において、生産スケジュール生成部１９は、暫定処理順序候補に対する第２の評価値ＴＶ２と、処理順序候補に対する第２の評価値Ｖ２とを比較し、ＴＶ２＜Ｖ２であるか否か判断し、判断に応じて、処理順序候補を更新する。
【０１３３】
ＴＶ２＜Ｖ２である場合、既に記憶された処理順序候補に代えて、暫定処理順序候補を処理順序候補とする。そして、Ｖ２＝ＴＶ２とし、ステップＳ２１に進む。一方、ＴＶ２＜Ｖ２でない場合、ステップＳ２１に進む。
【０１３４】
ステップＳ２１において、生産スケジュール生成部１９は、ステップＳ１８〜ステップＳ２１を繰り返した回数ｋをカウントし、回数ｋと所定値ｋｉ（例えば、１０００）とを比較し、ｋ＜ｋｉであるか否か判断する。
【０１３５】
ｋ＜ｋｉである場合（ステップＳ２１においてＮｏ）、ステップＳ１８に戻る。一方、ｋ＜ｋｉでない場合（ステップＳ２１においてＹｅｓ）、ステップＳ２２に進む。
【０１３６】
なお、上記の暫定処理順序候補の個数ｋに代えて、同じ処理順序候補が更新されない回数ｌを用いてもよい。この回数ｌを用いる際も同様に、生産スケジュール生成部１９は、この回数ｌと所定値ｌｉ（例えば、１００）とを比較し、ｌ＜ｌｉであるか否か判断する。
【０１３７】
ｌ＜ｌｉである場合（ステップＳ２１においてＮｏ）、ステップＳ１８に戻る。一方、ｌ＜ｌｉでない場合（ステップＳ２１においてＹｅｓ）、ステップＳ２２に進む。
【０１３８】
このように、ステップＳ１８〜ステップＳ２１を所定の回数繰り返すことで、第２の評価値Ｖ２に基づいて、段取り替えが少なく、かつ、納期遅れ時間が小さい、生産効率の良い処理順序候補を選択できる。
【０１３９】
ステップＳ２２において、生産スケジュール生成部１９は、処理順序候補に対し、各設備でのジョブの開始時刻および終了時刻を算出し、生産スケジュール記憶部３４に記憶させ、表示装置６に表示させる。
【０１４０】
なお、各ジョブの処理開始時刻は、同一設備での、処理順序が該ジョブより前であるジョブ全ての処理負荷と、処理順序が該ジョブ以前のジョブの前後の組み合わせから発生した処理準備時間とを合計した時間を、作業開始予定時刻に加算したものである。例えば、図６に示すように、設備Ｍ１においてはジョブ枠ｙとジョブ枠ｚとの間に１回の段取り替えが発生しており、処理準備時間はジョブ枠ｙとジョブ枠ｚとの間の太線の長さｓｔ１に相当する。ジョブ枠ｚのジョブの処理開始時刻は、ジョブ枠ｘ、ｙそれぞれの横軸に平行な辺の長さと、ジョブ枠ｙとジョブ枠ｚとの間の処理準備時間ｓｔ１とを合計した時間を作業開始予定時刻（本具体例では４月１日）に加算したものである。
【０１４１】
各ジョブの処理終了時刻は、ステップＳ１９で説明した通りである。
【０１４２】
この他、ステップＳ１９で（５）式を用いて第２の評価値Ｖ２を算出する場合には、処理順序候補に対し、既に算出された、各設備での各ジョブの終了時刻を、生産スケジュール記憶部３４に記憶させればよい。
【０１４３】
表示装置６は、作成した生産スケジュールに加えて、第１の評価値Ｖ１、第２の評価値Ｖ２、および、納期遅れ時間なども、表示してもよい。
【０１４４】
図７は、生産スケジュール作成装置が作成した、生産スケジュールの一例である。図７においては、段取り替えが発生せず、図６より納期遅れが少ないことがわかる。
【０１４５】
このように、生産スケジュール作成装置は、第１の評価値Ｖ１および第２の評価値Ｖ２を指標にすることで、生産効率の良い生産スケジュールを作成する。図６と図７とを比較すれば、納期を極力犠牲にせず、段取り時間の無い効率の良いスケジュールが作成されていることが分かる。
【０１４６】
この他の実施形態において、暫定割当候補を生成する方法、および、第１の評価値Ｖ１を基に最適な割当候補を選択する方法として、確率的に評価値の改悪を許容するシミュレーテッド・アニーリング法や、移動後のジョブと設備の組合せを遺伝子型の表現に置き換えて遺伝子操作を行う遺伝的アルゴリズム法などの準最適化手法や、分枝限定法のような厳密な最適化手法を利用しても良い。
【０１４７】
さらに、他の実施形態において、第２の評価値Ｖ２を基に最適（本実施例では最小）な処理順序を選択する方法については、確率的に改悪を許容するシミュレーテッド・アニーリング法や、ジョブと設備の組合せを遺伝子型の表現に置き換えて遺伝子操作を行う遺伝的アルゴリズム法など準最適化手法や、分枝限定法のような厳密な最適化手法を利用しても良い。
【０１４８】
＜実施形態２＞
図８は、実施形態２における、生産スケジュール作成装置の構成を示すブロック図である。
【０１４９】
実施形態２では、実施形態１とは異なる割当候補探索であり、計画対象期間を複数の区間に分割し、各区間を時系列順に計算対象区間として順次選択することによって、計算対象区間毎に、割当候補を生成し、第１の評価値を算出し、最適な割当候補を探索する。
【０１５０】
実施形態２では、図８に示すように、実施形態１における処理部が区間選択部２０の機能をさらに備え、実施形態１における処理負荷算出部１２、第１の評価値算出部１３、割当候補変更部１４、割当候補探索部１５のそれぞれに代えて、処理負荷算出部１２ｂ、第１の評価値算出部１３ｂ、割当候補変更部１４ｂ、割当候補探索部１５ｂの機能を備えて構成される。
【０１５１】
区間選択部２０は、割当候補生成部１１が生成した割当候補において、各区間を計算対象区間として時系列順で順次に選択する。
【０１５２】
処理負荷算出部１２ｂは、割当候補生成部１１または割当候補変更部１４ｂから入力した割当候補に対し、各設備の各区間に割り当てられた各ジョブの処理負荷情報を参照し、計算対象区間より過去の各区間に割り当てられたジョブと計算対象区間に割り当てられたジョブとの設備毎の処理負荷の総和を、第１の評価値算出部１３ｂへ出力する。
【０１５３】
第１の評価値算出部１３ｂは、処理負荷算出部１２ｂが算出した処理負荷に基づいて、割当候補に対し、処理負荷算出部１２ｂにより算出された設備毎の処理負荷の総和と、計算対象区間より過去の各区間及び計算対象区間において予め定められた設備毎の処理能力の総和との過不足量を基に、計算対象区間における割当候補を評価するための第１の評価値を算出し、割当候補と第１の評価値とを対応づける。
【０１５４】
割当候補変更部１４ｂは、計算対象区間に割り当てられたジョブの中からあるジョブを特定し、特定したジョブを、計算対象区間内において使用可能な別の設備に移動させることで計算対象区間内でのジョブの割り当てを変更する。
【０１５５】
割当候補探索部１５ｂは、割当候補変更部１４ｂに計算対象区間でのジョブの割り当てを繰り返し変更させることで、第１の評価値が最小となる計算対象区間でのジョブの割当候補を探索し、計算対象区間での探索が終了する毎に区間選択部２０に次の計算対象区間を選択させる。
【０１５６】
次に、実施形態２の動作について説明する。
【０１５７】
図９は、実施形態２における、生産スケジュールを作成するフローチャートである。図１０は、実施形態２における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図であり、（Ａ）は、計算対象区間１における割当候補を説明するための図であり、（Ｂ）は、計算対象区間１における、設備間でのジョブ移動後の割当候補を説明するための図である。図１１は、実施形態２における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図であり、（Ａ）は、計算対象区間２における割当候補を説明するための図であり、（Ｂ）は、計算対象区間２における、設備間でのジョブ移動後の割当候補を説明するための図である。図１２は、実施形態２における、ジョブの設備への初期割り付けと設備間でのジョブ移動とを説明するための図であり、（Ａ）は、計算対象区間３における割当候補を説明するための図であり、（Ｂ）は、計算対象区間３における、設備間でのジョブ移動後の割当候補を説明するための図である。
なお、図１０乃至１２に示す図は、ガントチャートである。
【０１５８】
以下、生産スケジュール作成装置の動作について、一具体例を交えて説明する。具体例は、生産スケジュール作成装置の動作をより具体的に説明するための一例である。この一具体例における設備とジョブの基礎データは、実施形態１と同様である。
【０１５９】
実施形態２に係る生産スケジュール作成装置の動作では、実施形態１におけるステップＳ１３〜ステップＳ１７に代えて、図９に示すように、ステップＳ３０〜ステップＳ３７の処理を備えている。このステップＳ３０〜ステップＳ３７の処理では、計算対象区間として、区間の開始時刻が最も早い区間である区間１と設定し（ステップＳ３０）、先頭の計算対象区間（区間１）から開始時刻が遅い区間へ（区間３）へと、全ての計算対象区間の割当候補が順次決定するまで、下記のステップＳ３１〜ステップＳ３７（計算対象区間毎の割当候補決定フロー）の処理を繰り返し、設備とジョブとの最適な割当を決定する。
【０１６０】
より具体的には、ステップＳ３０において、区間選択部２０は、計算対象区間Ｎ（Ｎ＝１）と設定する。続いて、区間選択部２０は、割当候補生成部１１によって生成された割当候補に対し、設定された計算対象区間Ｎに対応づけられた割当候補のみを、計算対象区間Ｎにおける割当候補として、処理負荷算出部１２ｂおよび割当候補変更部１４ｂに出力する。
【０１６１】
ステップＳ３１において、割当候補変更部１４ｂは、計算対象区間Ｎにおける割当候補に対し、計算対象区間Ｎと対応づけられたジョブのうち、あるジョブ（１または複数）をランダムに選択し、選択したジョブを、使用設備情報を参照し、使用可能な別の設備に移動させることで、割当候補を変更する。より具体的には、割当候補変更部１４ｂは、計算対象区間Ｎにおいて、割当候補とは異なる、ジョブＩＤと設備ＩＤとの組み合わせ（以下、暫定割当候補）を所定の個数ｐ生成する。ここで、所定の個数ｐは、適宜設定される（例えば、ｐは３）。この他、所定の個数ｐは、１以上定数（例えば、３）以下の値がランダムに選択されたものでもよい。
【０１６２】
例えば、計算対象区間１における割当候補に対し、暫定割当候補を３個生成する場合について、図１０（Ａ）に示す。なお、割当候補は、実施形態１と同様に割当候補生成部１１によって生成されるが、計算対象区間１の割当候補のみ割当候補として図示している。図１０（Ａ）の計算対象区間１における割当候補において、設備Ｍ１に割り当てられたジョブは７個、設備Ｍ２に割り当てられたジョブは３個、設備Ｍ３に割り当てられたジョブは２個、設備Ｍ４に割り当てられたジョブは５個である。割当候補に対し、矢印の始点は割当候補変更部１４ｂによって選択されたジョブを、矢印の終点は選択されたジョブの移動先の設備を示す。図１０（Ａ）では、計算対象区間１における割当候補に対し、設備Ｍ１から設備Ｍ４にジョブ１個を移動させた暫定割当候補、設備Ｍ２から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、割当候補に対し設備Ｍ４から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、合計３個の暫定割当候補を生成する。このように、割当候補に対し、選択したジョブの、設備との組み合わせを変更させることで、所定の個数ｐの暫定割当候補を生成する。
【０１６３】
ステップＳ３２において、処理負荷算出部１２ｂは、計算対象区間Ｎにおける、割当候補、および１又は複数の暫定割当候補に対して、設備毎に、割り当てられたジョブの処理負荷の合計をそれぞれ算出する。例えば、図１０（Ａ）に計算対象区間１における割当候補および暫定割当候補を示す。図１０（Ａ）の計算対象区間１における割当候補において、設備Ｍ１に割り当てられたジョブは７個、設備Ｍ２に割り当てられたジョブは３個、設備Ｍ３に割り当てられたジョブは２個、設備Ｍ４に割り当てられたジョブは５個である。設備Ｍ１に割り当てられたジョブは７個であり、これらのジョブの処理負荷の合計はジョブ枠の横軸に平行な辺の長さの合計に相当する。設備Ｍ２、設備Ｍ３、設備Ｍ４においても同様に設備に割り当てられたジョブの処理負荷の合計を算出する。
【０１６４】
ステップＳ３３において、第１の評価値算出部１３ｂは、計算対象区間Ｎにおける、割当候補、および、１又は複数の暫定割当候補に対し、設備毎の、処理負荷合計と設備能力合計とをそれぞれ算出し、処理負荷合計と設備能力合計とを基に、負荷超過量または負荷不足量の何れかを（１）式または（２）式を用いて算出し、負荷超過量および負荷不足量を基に、第１の評価値Ｖ１をそれぞれ算出する。
【０１６５】
計算対象区間Ｎにおける第１の評価値Ｖ１（Ｎ）は、（計算対象区間Ｎの負荷超過量Ｏ（Ｎ）にある定数を乗算した値と計算対象区間Ｎ（の負荷不足量Ｕ（Ｎ）にある定数を乗算した値とを加算した値の、計算対象区間Ｎの開始時刻以前の区間（区間１〜Ｎ）全てについての総和であり、（６）式で表される。
【０１６６】
【数６】
2011048778.tif 000008
【０１６７】
ここで、Ａ、Ｂは非負の定数であり、本実施形態ではｉは１〜３の整数である。
【０１６８】
第１の評価値算出部１３ｂは、（６）式を用いて、計算対象区間Ｎでの割当候補に対し、第１の評価値Ｖ１（Ｎ）を算出し、割当候補と第１の評価値Ｖ１（Ｎ）とを対応づける。
【０１６９】
続いて、第１の評価値算出部１３ｂは、同様に、１又は複数の暫定割当候補に対し、計算対象区間Ｎでの、それぞれ第１の評価値Ｖ１（Ｎ）を算出し、第１評価値Ｖ１が最小となる暫定割当候補を抽出し、その第１の評価値Ｖ１（Ｎ）をＴＶ１（Ｎ）＝Ｖ１（Ｎ）として、抽出した暫定割当候補と、ＴＶ１（Ｎ）とを割当候補探索部１５に出力する。
【０１７０】
ステップＳ３４において、割当候補探索部１５ｂは、入力した暫定割当候補に対する第１の評価値ＴＶ１（Ｎ）と、割当候補に対する第１の評価値Ｖ１（Ｎ）とを比較し、ＴＶ１（Ｎ）＜Ｖ１（Ｎ）であるか否かを判断し、判断に応じて、割当候補を更新する。
【０１７１】
ＴＶ１（Ｎ）＜Ｖ１（Ｎ）である場合、既に記憶された割当候補に代えて、暫定割当候補とする。そして、Ｖ１（Ｎ）＝ＴＶ１（Ｎ）とし、ステップＳ３５に進む。一方、ＴＶ１（Ｎ）＜Ｖ１（Ｎ）でない場合、ステップＳ３５に進む。
【０１７２】
ステップＳ３５において、割当候補探索部１５ｂは、ステップＳ３１〜ステップＳ３５を繰り返した回数ｋをカウントし、回数ｋと所定値ｋｉ（例えば、１０００）とを比較し、ｋ＜ｋｉであるか否か判断する。
【０１７３】
ｋ＜ｋｉである場合（ステップＳ３５においてＮｏ）、ステップＳ３１に戻る。一方、ｋ＜ｋｉでない場合（ステップＳ３５においてＹｅｓ）、ステップＳ３６に進む。
【０１７４】
なお、上記の暫定割当候補の個数ｋに代えて、割当候補を更新しない回数ｌを用いてもよい。この回数ｌを用いる際も同様に、割当候補探索部１５ｂは、この回数ｌと所定値ｌｉ（例えば、１００）とを比較し、ｌ＜ｌｉであるか否か判断する。
【０１７５】
ｌ＜ｌｉである場合（ステップＳ３５においてＮｏ）、ステップＳ３１に戻る。一方、ｌ＜ｌｉでない場合（ステップＳ３５においてＹｅｓ）、ステップＳ３６に進む。
【０１７６】
このように、ステップＳ３１〜ステップＳ３５を所定の回数繰り返すことで、第１の評価値Ｖ１（Ｎ）に基づいて、処理過不足量がより小さい、計算対象区間Ｎでの割当候補を選択できる。
【０１７７】
ステップＳ３６において、割当候補探索部１５ｂは、全ての計算対象区間の割当候補を決定したか否かを判断する。
【０１７８】
全ての計算対象区間の割当候補を決定していない場合には（ステップＳ３６においてＮｏ）、計算対象区間Ｎを、計算対象区間Ｎ＝Ｎ＋１として更新し（ステップＳ３７）、ステップＳ３１に戻る。一方、全ての計算対象区間の割当候補を決定した場合には（ステップＳ３６においてＹｅｓ）、計算対象区間Ｎ毎の割当候補を割当記憶部３３に記憶させ、ステップＳ１８に進む。
【０１７９】
このように、割当候補探索部１５ｂが計算対象区間全てについて割当候補を決定したと判断するまで、ステップＳ３１〜ステップＳ３６が繰り返される。
【０１８０】
上記のように、実施形態２においては、計算対象区間が開始時刻の早い区間から遅い区間へと順次選択され（区間１、区間２、区間３）、各計算対象区間での割当を決定するフロー（ステップＳ３１〜３５）が実行される。
【０１８１】
実施形態１においては、ジョブと設備の組合せを決定する場合に、計画対象の全ジョブを対象に設備割り当てを変更し、その結果を評価する場合のみ区間ごとに第１の評価値を算出した。実施形態２においては、設備割り当ての変更と第１の評価値の算出とを計算対象区間ごとに行うので、設備割り当て決定問題の組合せ規模を縮小し、より計算量を低減することができる。
【０１８２】
例えば、計算対象区間１における割当候補に対し、暫定割当候補を３個生成する場合について、図１０（Ａ）に示す。なお、割当候補は、実施形態１と同様に割当候補生成部１１によって生成されるが、計算対象区間１の割当候補のみ割当候補として図示している。
【０１８３】
図１０（Ａ）に、計算対象区間Ｎが区間１である場合（計算対象区間Ｎ＝１）での、割当候補生成部１１が生成した割当候補、および、割当候補変更部１４ｂが生成した暫定割当候補の一例を示す。図１０（Ａ）の計算対象区間１における割当候補において、設備Ｍ１に割り当てられたジョブは７個、設備Ｍ２に割り当てられたジョブは３個、設備Ｍ３に割り当てられたジョブは２個、設備Ｍ４に割り当てられたジョブは５個である。割当候補に対し、矢印の始点は割当候補変更部１４によって選択されたジョブを、矢印の終点は選択されたジョブの移動先の設備を示す。図１０（Ａ）では、計算対象区間１における割当候補に対し、設備Ｍ１から設備Ｍ４にジョブ１個を移動させた暫定割当候補、設備Ｍ２から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、割当候補に対し設備Ｍ４から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、合計３個の暫定割当候補が生成された状態である。このように、ステップＳ３１において、割当候補変更部１４ｂは、３個の暫定割当候補を生成する。計算対象区間１での割当候補と暫定割当候補に対し、ステップＳ３１〜３５がステップＳ３５の割当候補探索終了条件を満たすまで繰り返された後には、図１０（Ｂ）に示すように区間１での割当候補が決定された状態になる。
【０１８４】
図１１（Ａ）に、計算対象区間Ｎが区間２である場合（計算対象区間Ｎ＝２）での、割当候補生成部１１ｂが生成した割当候補および暫定割当候補の一例を示す。図１１（Ａ）の計算対象区間２における割当候補において、設備Ｍ１に割り当てられたジョブは２個、設備Ｍ２に割り当てられたジョブは５個、設備Ｍ３に割り当てられたジョブは３個、設備Ｍ４に割り当てられたジョブは３個である。割当候補に対し、矢印の始点は割当候補変更部１４ｂが選択したジョブであり、矢印の終点は割当候補変更部１４ｂが選択したジョブの移動先の設備を示す。図１１（Ａ）では、計算対象区間２における割当候補に対し、設備Ｍ１から設備Ｍ３にジョブ１個を移動させた暫定割当候補、設備Ｍ２から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、設備Ｍ４から設備Ｍ３へ１個のジョブを移動させた暫定割当候補、合計３個の暫定割当候補が生成された状態である。このように、割当候補変更部１４ｂは、割当候補を変更した暫定割当候補を３個生成する。計算対象区間２での割当候補と暫定割当候補に対し、ステップＳ３１〜３５がステップＳ３５の割当候補探索終了条件を満たすまで繰り返された後には、図１１（Ｂ）に示すように区間２での割当候補が決定された状態になる。なお、区間１における割当候補は、図１０（Ｂ）で示した、計算対象区間１で既に決定された割当候補である。
【０１８５】
図１２（Ａ）に、計算対象区間Ｎが区間３である場合（計算対象区間Ｎ＝３）での、割当候補生成部１１ｂが生成した割当候補および暫定割当候補の一例を示す。図１２（Ａ）の計算対象区間３における割当候補において、設備Ｍ１に割り当てられたジョブは４個、設備Ｍ２に割り当てられたジョブは３個、設備Ｍ３に割り当てられたジョブは６個、設備Ｍ４に割り当てられたジョブは５個である。計算対象区間３における割当候補に対し、矢印の始点は割当候補変更部１４ｂによって選択されたジョブを、矢印の終点は選択されたジョブの移動先の設備を示す。図１１（Ａ）では、計算対象区間３における割当候補に対し、設備Ｍ１から設備Ｍ２にジョブ１個を移動させた暫定割当候補、設備Ｍ３から設備Ｍ２へ１個のジョブを移動させた暫定割当候補、設備Ｍ３から設備Ｍ４へ１個のジョブを移動させた暫定割当候補、合計３個の暫定割当候補が生成された状態である。このように、ステップＳ３１において、割当候補変更部１４ｂは、割当候補を変更した暫定割当候補を３個生成する。計算対象区間３での割当候補と暫定割当候補に対し、ステップＳ３１〜３５がステップＳ３５の割当候補探索終了条件を満たすまで繰り返された後には、図１２（Ｂ）に示すように割当候補が決定された状態になる。なお、区間１および区間２における割当候補は、図１０（Ｂ）、図１１（Ｂ）で示した、計算対象区間１および計算対象区間２で既に決定された割当候補である。
【０１８６】
他の実施形態において、暫定割当候補を生成する方法、および、第１の評価値Ｖ１（Ｎ）を基に最適な割当候補を選択する方法として、確率的に評価値の改悪を許容するシミュレーテッド・アニーリング法や、移動後のジョブと設備の組合せを遺伝子型の表現に置き換えて遺伝子操作を行う遺伝的アルゴリズム法などの準最適化手法や、分枝限定法のような厳密な最適化手法を利用しても良い。
【０１８７】
＜実施形態３＞
図１３は、実施形態３における、生産スケジュール作成装置の構成を示すブロック図である。図１４は、実施形態３における、生産スケジュールを作成するフローチャートである。図１５は、ジョブグループの編成とジョブグループ内での処理順序の決定とを説明するための図であり、（Ａ）は、ジョブグループ編成を説明するための図であり、（Ｂ）は、ジョブグループ内での処理順序の固定を説明するための図である。図１５（Ａ）に示される長方形は、品種Ｐを製造するジョブ枠、品種Ｑを製造するジョブ枠、品種Ｒを製造するジョブ枠であり、枠の中の括弧の数字は納期を示す。例えば、Ｐ（４／１）は、納期が４月１日で品種Ｐを製造するジョブ枠である。なお、品種Ｐを製造するジョブ（以下、ジョブＰ）、品種Ｑを製造するジョブ（以下、ジョブＱ）、品種Ｒを製造するジョブ（ジョブＲ）の何れにおいても主成分純原料および添加元素の種類が同じであり、添加元素の濃度のみが異なる（ジョブＰ、ジョブＱ、ジョブＲの順に添加元素の濃度が高くなる）。
【０１８８】
実施形態３では、図１３に示すように、実施形態１または実施形態２のいずれかにおいて、処理部がジョブグループ編成部２１とジョブグループ内順序決定部２２との機能をさらに備え、記憶部がジョブグループ情報記憶部３５の機能をさらに備えて構成される。これらの機能はＣＰＵ３が生産スケジュール作成プログラムを実行することで実現される。
【０１８９】
ジョブグループ情報記憶部３５は、複数のジョブを同一設備でまとめて処理する単位であるジョブグループとしてグループ化するための条件を記憶する。
【０１９０】
条件は、主成分純原料と添加元素が同じジョブであり、かつ、ジョブの納期の差が所定時間以内であるジョブをジョブグループとしてグループ化し、ジョブグループ内での処理順序を添加元素の濃度の低い品種から濃度の高い品種を製造するジョブの順とするものである。
【０１９１】
ジョブグループ編成部２１は、ジョブグループ情報記憶部３５に記憶された条件を参照し、複数のジョブを同一設備で処理する単位であるジョブグループとしてグループ化する。
【０１９２】
ジョブグループ内順序決定部２２は、ジョブグループ情報記憶部３５に記憶された条件を参照し、ジョブグループを構成する複数のジョブの処理順序を決定し、ジョブグループとそのグループ内の処理順序とを対応づけてジョブグループ情報記憶部３５に記憶させる。
【０１９３】
次に、実施形態３の処理のフローについて、図１４に基づいて、説明する。
【０１９４】
図１４に示すように、実施形態３に係る生産スケジュール作成装置の動作では、実施形態１または実施形態２の何れかに係る生産スケジュール作成装置の処理のフローと比較して、割当候補を生成する（ステップＳ１２）前に、複数のジョブを同一の設備でまとめて処理する単位であるジョブグループ（ロット）を編成し、ジョブグループ内での処理順序を決定する処理を更に備えている。
【０１９５】
より具体的には、ステップＳ４１において、ジョブグループ編成部２１は、ジョブ情報記憶部３１に記憶されたジョブ情報と、ジョブグループ情報記憶部３５に記憶された条件と、設備情報記憶部３２に記憶された設備情報とを読み込む。
【０１９６】
ステップＳ４２において、ジョブグループ編成部２１は、ジョブ情報を参照し、ジョブ情報を、ジョブグループ編成のための条件値が同一のジョブの集合であるジョブグループ情報として編成（合成）する。本具体例では、主成分純原料および添加元素の種類が同じで、納期の差が１０日間以内であるジョブの集合を１つのジョブグループとして編成する。
【０１９７】
ステップＳ４３において、ジョブグループ内順序決定部２２は、ジョブグループ内順序決定のための条件に基づき、ジョブグループ内のジョブの処理順序を決定する。本具体例では、添加元素の濃度が低い品種から高い品種へと、ジョブの処理順序を決定する。ジョブグループ情報記憶部３５は、ジョブグループに関する情報を記憶し、ステップＳ１２へ進む。
【０１９８】
例えば、図１５（Ａ）のジョブグループＡ、ジョブグループＢおよびジョブグループＣは、主成分純原料および添加元素の種類が同じジョブで、かつ、納期の差が１０日以内であるジョブの集合を、それぞれジョブグループとしてまとめたものである。また、それぞれのジョブグループ内において、添加元素の濃度が低い品種から高い品種へと、ジョブの処理順序が決定されている。
【０１９９】
実施形態３では、ステップＳ１２では、割当候補生成部１１がさらにジョブグループ情報記憶部３５に記憶された、ジョブグループに関する情報を読み込み、以降のフローにおいて、ジョブグループに関する情報を参照し、ジョブグループを、１つのジョブ単位として扱い、生産スケジュールを作成する。
【０２００】
より具体的には、ジョブと設備の組合せを決定する際には、使用設備情報を参照し、編成されたジョブグループに同一の設備が割り当てられ、設備内でのジョブの処理順序の決定の際には、ジョブグループとして順序が決定され、その中のジョブの処理順序は上で決定された順序に固定される。
【０２０１】
例えば、図１５（Ｂ）に示すように、ガントチャートには、ジョブ枠とジョブグループ枠とが混在している。実施形態３においては、ジョブグループ１，ジョブグループ２、ジョブグループ３を１つのジョブ単位として扱うので、割当候補を変更する場合には、１つのジョブグループ枠を１つのジョブ枠として設備に移動させ（ジョブグループ枠を始点とする縦軸に平行な矢印で表される）、処理順序を変更する場合には、１つのジョブグループ枠を１つのジョブ枠として処理順序を変更させる（ジョブグループ枠を始点とする横軸に平行な矢印で表される）。
【０２０２】
アルミや銅のスラブを製造する溶解・鋳造工程では、添加元素の濃度の少ない品種の順に（品質外れを防止し、炉洗い等の段取り作業を減らすために）作業を行う「操業基準」がある。ジョブグループ化のための条件に基づいて、ジョブグループを編成し、各ジョブグループを１つのジョブ単位として扱い、生産スケジュールを作成することで、このような操業基準を満たし、かつ、納期遅れを低減した生産スケジュールを作成することができる。また、品質確保や段取り作業抑制などを目的として操業基準を容易に実現できる。さらに、実質的な組合せ規模が小さくなるために、計算時間の短縮化の効果が得られる。
【０２０３】
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および／または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
【符号の説明】
【０２０４】
１１  割当候補生成部
１２（１２ｂ）  処理負荷算出部
１３（１３ｂ）  第１の評価値算出部
１４（１４ｂ）  割当候補生成部
１５（１５ｂ）  割当候補探索部
１６  ジョブ配列部
１７  第２の評価値算出部
１８  配列順序変更部
１９  生産スケジュール生成部
２０  区間選択部
３１  ジョブ情報記憶部
３２  設備情報記憶部
３３  割当記憶部
３４  スケジュール記憶部
３５  ジョブグループ情報記憶部 
２１  ジョブグループ編成部
２２  ジョブグループ内順序決定部
【図１】
2011048778.tif 000009
【図２】
2011048778.tif 000010
【図３】
2011048778.tif 000011
【図４】
2011048778.tif 000012
【図５】
2011048778.tif 000013
【図６】
2011048778.tif 000014
【図７】
2011048778.tif 000015
【図８】
2011048778.tif 000016
【図９】
2011048778.tif 000017
【図１０】
2011048778.tif 000018
【図１１】
2011048778.tif 000019
【図１２】
2011048778.tif 000020
【図１３】
2011048778.tif 000021
【図１４】
2011048778.tif 000022
【図１５】
2011048778.tif 000023