(57)【要約】【課題】  高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画、或いは物流計画を、数理計画法を用いて立案することを可能とする仕組みを提供する。【解決手段】  リソース情報に含まれるリソースの属性（最大能力）と、工程情報に含まれる工程の属性（工程順、各工程で使用するリソース名）と、品種情報に含まれる品種の属性（需要量、始在庫量、上限在庫量、下限在庫量）と、に基づいて、需要量に従って在庫量が減少する品種を補充するために当該品種の生産を開始するタイミングである処理順序１開始時刻と、当該品種の補充量である製品オーダ量と、当該品種を特定する情報である品種名と、製品オーダの識別情報であるオーダ番号とを属性として含む製品オーダを自動的に生成する。【選択図】  図１２
2017187979.tif 000002
【特許請求の範囲】
【請求項１】
製品の注文の内容を示す製品オーダと、
前記製品の生産または物流の過程で実行される処理である工程と、
前記工程で使用される人的資源および物的資源であるリソースと、
前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、
のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング装置であって、
前記リソースと前記工程、前記工程と前記品種を、それぞれ相互に関連付けて記憶媒体に登録する登録手段と、
前記登録手段により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの当該識別情報の入力操作に基づいて、前記数理計画法による最適化計算を行うために用いられる制約式の内容を設定する制約設定手段と、
前記登録手段により相互に関連付けられた、前記品種および前記工程の識別情報と、前記数理計画法による最適化計算を行うために用いられる目的関数による目的とを入力するための選択入力欄へのユーザの当該識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定手段と、
予め設定された需要量に従って減少する前記品種に属する製品の在庫量を予め指定された目安値まで補充することを前記注文の内容として含む前記製品オーダとして、当該品種と相互に関連付けられた製品オーダを、前記登録手段により登録された、前記リソース、前記工程、および前記品種の情報に基づいて生成する製品オーダ生成手段と、
前記登録手段および前記製品オーダ生成手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記目的関数と前記制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築手段と、
前記登録手段および前記製品オーダ生成手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記制約式を定式化する制約式定式化手段と、
前記登録手段および前記製品オーダ生成手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化する目的関数定式化手段と、
前記制約式定式化手段により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化手段により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成手段と、
を有することを特徴とするスケジューリング装置。
【請求項２】
前記リソースの情報には、当該リソースの単位時間当たりの処理量である処理能力が含まれ、
前記工程の情報には、前記品種に属する製品の生産または物流を行うために実行される工程のそれぞれの実行順と、当該工程のそれぞれで使用されるリソースとが含まれ、
前記品種の情報には、前記生産計画または物流計画の立案開始時の当該品種に属する製品の在庫量である始在庫量と、当該品種に属する製品の単位時間当たりの需要量と、前記目安値を特定するための情報とが含まれ、
前記製品オーダ生成手段は、前記リソース、前記工程、および前記品種の情報に基づいて、当該品種に属する製品の生産または物流を行うための処理を開始するタイミングである処理開始時刻を、前記製品オーダに含まれる情報の１つとして生成することを特徴とする請求項１に記載のスケジューリング装置。
【請求項３】
前記製品オーダ生成手段は、前記品種に属する製品を在庫として補充する際に使用するリソースの処理能力と、当該品種に属する製品の単位時間当たりの需要量と、当該品種における前記目安値を特定するための情報とに基づいて、前記需要量に従って減少する当該品種に属する製品の在庫量を当該目安値にするための当該製品の補充量である製品オーダ量を、前記製品オーダに含まれる情報の１つとして更に生成することを特徴とする請求項２に記載のスケジューリング装置。
【請求項４】
前記製品オーダ生成手段は、前記製品を在庫として補充する際に使用するリソースの処理能力から、当該製品の単位時間当たりの需要量を減算した値で、前記目安値を割った値に、当該リソースの処理能力を掛けた値を用いて、前記製品オーダ量を導出することを特徴とする請求項３に記載のスケジューリング装置。
【請求項５】
前記製品オーダ生成手段は、前記品種に属する製品の前記始在庫量と、当該品種に属する製品の単位時間当たりの需要量とに基づいて、当該品種に属する製品の在庫量が前記始在庫量から下限値になるまでの時間である在庫維持時間を導出し、前記品種に属する製品の生産または物流を行うための各工程で使用される前記リソースの処理能力と、当該品種に属する製品の在庫として前記始在庫量の在庫が存在する時刻である在庫量計算時時刻と、前記在庫維持時間と、前記製品オーダ量とに基づいて、前記処理開始時刻を導出することを特徴とする請求項３または４に記載のスケジューリング装置。
【請求項６】
前記決定変数は、前記品種に属する製品の補充を開始するときの当該品種に属する製品の在庫量である補充開始時在庫量と、前記品種に属する製品の補充を終了するときの当該品種に属する製品の在庫量である補充終了時在庫量とを更に含み、
前記計画作成手段により導出された前記決定変数に含まれる、前記品種に属する製品の前記補充終了時在庫量に、前記始在庫量を更新すると共に、前記計画作成手段により導出された前記決定変数に含まれる、前記品種に属する製品を在庫として補充する際に使用するリソースによる処理の終了時刻に、前記在庫量計算時時刻を更新し、更新後の前記始在庫量および前記在庫量計算時時刻に基づいて、前記製品オーダ生成手段、前記構築手段、前記制約式定式化手段、前記目的関数定式化手段、および前記計画作成手段の処理を更に実行することを特徴とする請求項５に記載のスケジューリング装置。
【請求項７】
前記生産計画または物流計画の立案開始時刻および立案終了時刻を入力する入力手段を更に有し、
前記計画作成手段により導出された前記決定変数に含まれる、前記品種に属する製品を在庫として補充する際に使用するリソースによる処理の終了時刻として、前記登録手段により登録された前記品種のそれぞれにおける終了時刻が、前記立案終了時刻または前記立案終了時刻よりも遅い時刻になるまで、前記始在庫量および前記在庫量計算時時刻の更新と、前記製品オーダ生成手段、前記構築手段、前記制約式定式化手段、前記目的関数定式化手段、および前記計画作成手段の処理とを繰り返し実行することを特徴とする請求項６に記載のスケジューリング装置。
【請求項８】
前記製品オーダ生成手段は、前記処理開始時刻を、前記登録手段により登録された前記品種のそれぞれについて導出し、導出した前記処理開始時刻が早いものから順に所定数の前記品種を抽出し、抽出した当該品種について前記製品オーダを生成することを特徴とする請求項２〜７の何れか１項に記載のスケジューリング装置。
【請求項９】
前記目安値は、前記品種に属する製品の在庫量の上限値から下限値を引いた値を用いて導出されることを特徴とする請求項１〜８の何れか１項に記載のスケジューリング装置。
【請求項１０】
製品の注文の内容を示す製品オーダと、
前記製品の生産または物流の過程で実行される処理である工程と、
前記工程で使用される人的資源および物的資源であるリソースと、
前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、
のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング方法であって、
前記リソースと前記工程、前記工程と前記品種を、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、
前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの当該識別情報の入力操作に基づいて、前記数理計画法による最適化計算を行うために用いられる制約式の内容を設定する制約設定工程と、
前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記数理計画法による最適化計算を行うために用いられる目的関数による目的とを入力するための選択入力欄へのユーザの当該識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、
予め設定された需要量に従って減少する前記品種に属する製品の在庫量を予め指定された目安値まで補充することを前記注文の内容として含む前記製品オーダとして、当該品種と相互に関連付けられた製品オーダを、前記登録工程により登録された、前記リソース、前記工程、および前記品種の情報に基づいて生成する製品オーダ生成工程と、
前記登録工程および前記製品オーダ生成工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記目的関数と前記制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、
前記登録工程および前記製品オーダ生成工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、
前記登録工程および前記製品オーダ生成工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、
前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、
を有することを特徴とするスケジューリング方法。
【請求項１１】
請求項１〜９の何れか１項に記載のスケジューリング装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリング装置、スケジューリング方法およびプログラムに関し、特に、生産計画または物流計画を数理計画法により自動的に立案するために用いて好適なものである。
【背景技術】
【０００２】
製造業では、様々な工程で様々なリソースを用いて、原料から製品を生産することや、部品を組み立てて製品を作ること等が行われている。これらのリソースを有効に利用したり、在庫量を適正に調整したりするためには、生産計画、或いは物流計画を作成し、それに則った作業をすることが必須である。このことは、製造業のみならず、流通業等においても同様である。
しかしながら、製品の生産、或いは物流を行う現場では、多数の原材料、中間製品、製品が存在し、且つ、それらの加工や搬送等を行うためのリソースが複雑に関連し合っている。このため、考慮しなければならない制約が複雑になる。よって、例えば、在庫を適正に保ったり、納期に遅れずに製品を生産したりする生産計画、或いは物流計画を作成することは容易なことではない。
【０００３】
このような課題を解決する技術として、従来、人の考えた或るルール（例えば、納期の近い製品からまず生産を開始するというルール）をプログラムに書き換えて、自動で生産計画、或いは物流計画を作成するスケジューリング装置が開発されてきた。
このようなルールベースのスケジューリング装置では、複雑な問題であっても何かしらの計画を高速に立案することができる。しかしながら、数学的に本当に最適な計画が立案されているのかについて裏付けがないという問題や、ルールが非常に膨大になるという問題等がある。
【０００４】
そこで、これらを数学的に解決する手法として、特許文献１には、リソース、工程、品種、および製品オーダの４つのカテゴリで生産計画または物流計画を定義することで、これらを数理計画法による最適化問題に自動的に変換することが開示されている。即ち、特許文献１には、リソース、工程、品種、および製品オーダを相互に関連付けて登録し、登録したリソース、工程、品種、および製品オーダに基づいて、数理計画法による最適化計算を行うための制約式と目的関数を設定し、制約式に基づく制約を満足する範囲で目的関数の値を最大または最小にする決定変数を、数理計画法を用いて導出することが開示されている。特許文献１に記載の技術により、高度な数学的専門知識をもたない一般のユーザに対して、汎用的な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５３７９２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、製品の注文の内容を示す製品オーダを予め登録する必要がある。製品の需要量に応じて、在庫を適正量に保つ様に、製品オーダを設定するためには、設備の能力、在庫の推移の検討等、複雑な計算を行う必要がある。つまり、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品を生産するための製品オーダを、予め作ることは難しい。このため、簡単には製品オーダを予め決定することができない。つまり、特許文献１に記載の技術は、予め作るべき製品種および量が決定されているプッシュ型の生産には適用可能であるが、需要量に応じて、在庫を適正量に保つ様に製品を生産するプル型の生産には容易に適用できない。
【０００７】
例えば、鉄鋼、石油、化学メーカが取り扱う石炭、鉱石、石油、化学薬品等の粉体、流体等は、貯槽（タンク）に入れられ、貯槽内の在庫量が減ると自動的に補充されることが求められるが、予め補充量を与えることは難しい。このため、特許文献１に記載の技術では、適切な生産計画を作成することが容易ではない。このことは、紛体、流体等に限られず、例えば、ネジ等の部品を製造する工程の生産計画を作成する場合であっても同様である。
【０００８】
本発明は、以上の問題点に鑑みてなされたものであり、高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画、或いは物流計画を、数理計画法を用いて立案することを可能とする仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のスケジューリング装置は、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング装置であって、前記リソースと前記工程、前記工程と前記品種を、それぞれ相互に関連付けて記憶媒体に登録する登録手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの当該識別情報の入力操作に基づいて、前記数理計画法による最適化計算を行うために用いられる制約式の内容を設定する制約設定手段と、前記登録手段により相互に関連付けられた、前記品種および前記工程の識別情報と、前記数理計画法による最適化計算を行うために用いられる目的関数による目的とを入力するための選択入力欄へのユーザの当該識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定手段と、予め設定された需要量に従って減少する前記品種に属する製品の在庫量を予め指定された目安値まで補充することを前記注文の内容として含む前記製品オーダとして、当該品種と相互に関連付けられた製品オーダを、前記登録手段により登録された、前記リソース、前記工程、および前記品種の情報に基づいて生成する製品オーダ生成手段と、前記登録手段および前記製品オーダ生成手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記目的関数と前記制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築手段と、前記登録手段および前記製品オーダ生成手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記制約式を定式化する制約式定式化手段と、前記登録手段および前記製品オーダ生成手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化する目的関数定式化手段と、前記制約式定式化手段により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化手段により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成手段と、を有することを特徴とする。
【００１０】
本発明のスケジューリング方法は、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング方法であって、前記リソースと前記工程、前記工程と前記品種を、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの当該識別情報の入力操作に基づいて、前記数理計画法による最適化計算を行うために用いられる制約式の内容を設定する制約設定工程と、前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記数理計画法による最適化計算を行うために用いられる目的関数による目的とを入力するための選択入力欄へのユーザの当該識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、予め設定された需要量に従って減少する前記品種に属する製品の在庫量を予め指定された目安値まで補充することを前記注文の内容として含む前記製品オーダとして、当該品種と相互に関連付けられた製品オーダを、前記登録工程により登録された、前記リソース、前記工程、および前記品種の情報に基づいて生成する製品オーダ生成工程と、前記登録工程および前記製品オーダ生成工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記目的関数と前記制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、前記登録工程および前記製品オーダ生成工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、前記登録工程および前記製品オーダ生成工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、を有することを特徴とする。
【００１１】
本発明のプログラムは、前記スケジューリング装置の各手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画、或いは物流計画を、数理計画法を用いて立案することを可能とする仕組みを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】スケジューリング装置の機能的な構成の一例を示す図である。
【図２】リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
【図３Ａ】リソース登録画面の初期状態の一例を示す図である。
【図３Ｂ】リソースの初期の属性（予め設定された属性）が入力されたリソース登録画面の一例を示す図である。
【図３Ｃ】リソースの初期の属性とユーザにより新規に追加された属性とが入力されたリソース登録画面の一例を示す図である。
【図４Ａ】種登録画面の初期状態の一例を示す図である。
【図４Ｂ】品種情報が入力された品種登録画面の一例を示す図である。
【図５】タンク在庫量と時間との関係の一例を概念的に示す図である。
【図６Ａ】工程登録画面の初期状態の一例を示す図である。
【図６Ｂ】名称が「タンク１操業」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。
【図６Ｃ】名称が「タンク２操業」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。
【図７Ａ】複数リソース同時利用制約設定画面の初期状態の一例を示す図である。
【図７Ｂ】複数リソース同時利用制約の情報が入力された複数リソース同時利用制約設定画面の一例を示す図である。
【図８Ａ】リソース同時利用制限制約設定画面の初期状態の一例を示す図である。
【図８Ｂ】リソース同時利用制限制約の情報が入力されたリソース同時利用制限制約設定画面の一例を示す図である。
【図９Ａ】リソース稼働制約設定画面の初期状態の一例を示す図である。
【図９Ｂ】リソース稼働制約の情報が入力されたリソース稼働制約設定画面の一例を示す図である。
【図１０】目的設定画面の一例を示す図である。
【図１１】立案期間設定画面の一例を示す図である。
【図１２】製品オーダの一例を示す図である。
【図１３】スケジューリング装置の処理動作の一例を説明するフローチャートである。
【図１４】製品オーダ生成処理の詳細を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の一実施形態を説明する。
図１は、スケジューリング装置１００の機能的な構成の一例を示す図である。尚、図１に示すスケジューリング装置１００は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤおよび各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
本実施形態のスケジューリング装置１００は、特許文献１に記載の技術と同様に、ユーザによる入力装置の操作に基づいて入力された情報を用いて、目的関数および制約式を設定し、数理計画法を用いて目的関数の最適値を算出し、算出した結果から、生産計画を立案し、その結果をユーザに提示するものである。特に、本実施形態では、目的関数および制約式の設定に必要な情報を、高度な数学的専門知識をもたない一般のユーザであっても入力することができるようにする。
【００１５】
まず、以下の説明で表記する「リソース、品種、工程、製品オーダ」の概要について説明する。
図２は、リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
本実施形態では、リソースと、品種と、工程と、製品オーダとが、ユーザによる入力装置の操作に基づいてスケジューリング装置１００に入力され、登録される。
リソースとは、製品の生産や物流を行うための各工程で使用される人的資源および物的資源の総称であり、目的関数および制約式の少なくとも何れか一方で「定数」となる情報が、その属性として含まれる（図３の「最大能力」、「最小利用間隔」、「使用開始可能日」を参照）。物的資源は、例えば、加工や搬送等を行う機械・設備や、原材料・中間製品・製品の置場であり、生産計画や物流計画の分野で一般的に扱われるあらゆる物的資源を含む。人的資源は、例えば、作業員であり、生産計画や物流計画の分野で一般的に扱われるあらゆる人的資源を含む。
【００１６】
品種とは、製品オーダ（注文）に含まれる製品の生産または物流の過程で実行される各工程と、当該各工程の実行順（処理順）と、当該各工程のそれぞれで使用されるリソースとを１つのまとまりとして他と区別するための識別情報である（図４、図６を参照）。製品オーダは、この品種の何れかに属することになる（図１２を参照）。
【００１７】
本実施形態では、後述するように、各工程で使用されるリソースと、各品種で実行される工程とが登録され（図６を参照）、製品オーダには品種名が含まれる（図１２を参照）。よって、図２に示すように、リソースと工程、工程と品種、および品種と製品オーダがそれぞれ相互に関連付けられる。すなわち、リソース、品種、工程および製品オーダは、相互に関連付けられて登録される。特許文献１では、リソース、品種、および工程に加え、製品オーダも、ユーザによる入力装置の操作に基づいて入力された情報を登録する。これに対し、本実施形態では、後述するように、リソース、品種、および工程については、特許文献１と同様に、ユーザによる入力装置の操作に基づいて入力された情報を登録するが、製品オーダについては自動的に生成して登録する。また、特許文献１では、品種については、品種名だけを登録したが、本実施形態では、製品オーダを生成するために必要な情報を品種の属性に含める（図４を参照）。
【００１８】
以下に、スケジューリング装置１００が有する機能の一例を詳細に説明する。以下の説明では、粉粒体（紛体または粒体）の製品として異なる品種に属する製品を生産し、生産した製品を、品種ごとに異なるタンク１〜Ｍに在庫として貯留（入槽）する場合の生産計画の立案を例に挙げて説明する。また、タンク１〜Ｍからは、タンク１〜Ｍごと（即ち、品種ごと）に予め設定された需要量で製品が取り出されるものとする。尚、以下の説明では、「品種に属する製品」を必要に応じて「品種」と略称する。
【００１９】
（リソース入力登録部１０１）
リソース入力登録部１０１は、まず、リソース登録画面を表示装置に表示する。
図３は、リソース登録画面３００の一例を示す図である。具体的に、図３Ａは、リソース登録画面３００の初期状態の一例を示す図である。図３Ｂは、リソースの初期の属性（予め設定された属性）が入力されたリソース登録画面３００の一例を示す図である。図３Ｃは、リソースの初期の属性とユーザにより新規に追加された属性とが入力されたリソース登録画面３００の一例を示す図である。
【００２０】
図３において、リソース登録画面３００は、ＧＵＩであり、リソース入力欄３０１と、登録ボタン３０２と、追加ボタン３０３と、削除ボタン３０４とを有する。
リソース登録画面３００は、リソースを識別するリソース名と、そのリソース名で識別されるリソースの属性とを登録するための画面である。
【００２１】
図３Ａおよび図３Ｂに示すように、本実施形態では、リソースの初期の属性は、「リソース名」と、「最大能力」と、「最小利用間隔」である。
「リソース名」は、登録対象のリソースの名称を意味する。本実施形態では、例えば、「リソース名」の文字が表示されている列に、リソース名をテキスト入力することが可能となっている。
【００２２】
「最大能力」は、登録対象のリソースの最大能力を意味する。本実施形態では、例えば、「最大能力」の文字が表示されている列に、リソースが単位時間当たりに処理できる重量［ｔｏｎ／ｈｏｕｒ］の値（数字）を、最大能力として入力することが可能となっている。
「最小利用間隔」は、登録対象のリソースの使用が終了した後に確保しなければならない時間を意味する。本実施形態では、例えば、「最小利用間隔」の文字が表示されている列に、この時間［ｍｉｎ］の値（数字）を、最小利用間隔として入力することが可能となっている。
【００２３】
ユーザが、入力装置を操作して、リソース登録画面３００のリソース入力欄３０１の特定の行または列を指定した状態で追加ボタン３０３を押下すると、指定した行または列の次の行または列が追加される。
【００２４】
例えば、図３Ｂに示すリソース入力欄３０１の「最小利用間隔」が示されている列を指定した状態で追加ボタン３０３が押下されると、「最小利用間隔」が示されている列の次に空欄の列が１列追加される。図３Ｃに示すリソース登録画面３００では、この列に、リソースの属性として、「使用開始可能日」が追加された状態を示している。
「使用開始可能日」とは、登録対象のリソースを使用することが可能になる最初の年月日を意味する。本実施形態のリソース登録画面３００では、例えば、「使用開始可能日」の文字が表示されている列に、この年月日の値（数字）を、使用開始可能日として入力することが可能となっている。
【００２５】
図３Ｃに示すリソース登録画面３００の２行目では、「リソース名」が「機械１」であり、「最大能力」が「１．０［ｔｏｎ／ｈｏｕｒ］」であり、「最小利用間隔」が「０．３［ｍｉｎ］」であり、「使用開始可能日」が「２０１６年１月２４日」であることを示すリソース情報が入力された状態を示している。
【００２６】
また、「リソース名」、「最大能力」が示されている列を指定した状態で追加ボタン３０３が押下されると、それぞれ「リソース名」と「最大能力」との間、「最大能力」と「最小利用間隔」との間に空欄の列が１列追加される。
以上のようにすることにより、リソースの属性を追加することができる。
【００２７】
また、「機械１」が示されている行を指定した状態で追加ボタン３０３が押下されると、「機械１」と「機械２」との間に空欄の行が１列追加される。同様に、「機械Ｌ」が示されている行を指定した状態で追加ボタン３０３が押下されると、「機械Ｌ」が示されている行の次に空欄の行が１行追加される。このようにすることにより、リソース（の項目）を追加することができる。
【００２８】
また、ユーザが、入力装置を操作して、リソース登録画面３００のリソース入力欄３０１の特定の行または列を指定した状態で削除ボタン３０４を押下すると、指定した行または列が削除される。
例えば、図３Ｃに示すリソース入力欄３０１の「使用開始可能日」が示されている列を指定した状態で削除ボタン３０４が押下されると、「使用開始可能日」が示されている列が削除される。このようにすることにより、リソースの属性を削除することができる。ただし、本実施形態では、初期の属性（「最大能力」および「最小利用間隔」）については削除することができないようにしている。尚、初期の属性を削除することができるようにしてもよいということは勿論である。
【００２９】
また、例えば、図３Ｃに示すリソース入力欄３０１の「機械Ｌ」が示されている行を指定した状態で削除ボタン３０４が押下されると、「機械Ｌ」が示されている行が削除される。このようにすることにより、リソース（の項目）を削除することができる。ただし、本実施形態では、初期状態で表示される入力欄（図３Ａの空欄）については削除することができないようにしている。
【００３０】
以上のようにして、リソース登録画面３００のリソース入力欄３０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン３０２が押下されると、リソース入力登録部１０１は、登録ボタン３０２が押下されたときに、リソース入力欄３０１に入力されている内容を記憶媒体に記憶する。
このようにして登録されたリソースの属性である「最大能力」、「最小利用間隔」、「使用開始可能日」は、後述する制約式における定数として自動的に設定される（（８）式、（９）式、（１１）式等を参照）。
【００３１】
リソース入力登録部１０１は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じたリソース登録画面３００を表示するための表示データを生成して、表示装置に出力すると共に、リソース情報をＨＤＤ等に記憶することにより実現される。
【００３２】
（品種入力登録部１０２）
品種入力登録部１０２は、まず、品種登録画面を表示装置に表示する。
図４は、品種登録画面４００の一例を示す図である。具体的に図４Ａは、品種登録画面４００の初期状態の一例を示す図である。図４Ｂは、品種情報が入力された品種登録画面４００の一例を示す図である。
【００３３】
図４において、品種登録画面４００は、ＧＵＩであり、品種入力欄４０１と、登録ボタン４０２と、追加ボタン４０３と、削除ボタン４０４とを有する。
品種登録画面４００は、品種を識別する品種名と、その品種名で識別される品種の属性を登録するための画面である。
品種名は、品種の名称であり、本実施形態の品種登録画面４００では、例えば、「品種」の文字が表示されている列に、品種の名称をテキスト入力することが可能となっている。
【００３４】
本実施形態では、品種の属性として、需要量、始在庫量、上限在庫量、および下限在庫量を予め設定する。
図５は、或る１つのタンク内の製品の在庫量（タンク在庫量）と時間との関係の一例を概念的に示す図である。尚、前述したように本実施形態では、複数のタンクには、それぞれ異なる品種（の製品）が貯留される。従って、図５は、或る１つの品種の在庫量と時間との関係を示していることになる。
【００３５】
図５において、「始在庫量」は、当該品種についての、生産計画の立案開始時刻（図５の時間が「０（ゼロ）」のタイミング）における在庫量である。本実施形態では、図４において、例えば、「始在庫量」の文字が表示されている列に、重量［ｔｏｎ］の値（数字）を、始在庫量として入力が可能となっている。
【００３６】
「需要量」は、当該品種の需要量である。本実施形態では、図４において、例えば、単位時間当たりの質量［ｔｏｎ／ｈｏｕｒ］の値（数字）を、需要量として入力することが可能となっている。図５において、斜め下にのびる直線５０１ａ、５０１ｂ、５０１ｃの傾きの絶対値が需要量になる。当該品種を貯留するタンクの在庫量は、需要量に従って減ることになる。
【００３７】
「上限在庫量」は、当該品種の在庫量の上限値である。例えば、当該品種を貯留するタンクの最大貯留量の９０［％］を上限在庫量とすることができる。本実施形態では、図４において、例えば、「上限在庫量」の文字が表示されている列に、重量［ｔｏｎ］の値（数字）を、上限在庫量として入力が可能となっている。
【００３８】
「下限在庫量」は、当該品種の在庫量の下限値である。例えば、当該品種を貯留するタンクの最大貯留量の３０［％］を下限在庫量とすることができる。本実施形態では、図４において、例えば、「下限在庫量」の文字が表示されている列に、重量［ｔｏｎ］の値（数字）を、下限在庫量として入力が可能となっている。
【００３９】
図４Ｂに示す品種登録画面４００の２行目では、「品種名」が「タンク１操業」の品種の「需要量」が「０．１４［ｔｏｎ／ｈｏｕｒ］」であり、「始在庫量」が「１．３［ｔｏｎ］」であり、「上限在庫量」が「３．０［ｔｏｎ］であり、「下限在庫量」が「０．２［ｔｏｎ］」であることを示す品種情報が入力された状態を示している。
【００４０】
ユーザが、入力装置を操作して、品種登録画面４００の品種入力欄４０１の特定の行または列を指定した状態で追加ボタン４０３を押下すると、指定した行または列の次の行または列が追加される。これにより、品種の属性の追加や品種の数の追加を行うことができる。
【００４１】
また、ユーザが、入力装置を操作して、品種登録画面４００の品種入力欄４０１の特定の行または列を指定した状態で削除ボタン４０４を押下すると、指定した行または列が削除される。これにより、品種の属性の削除や品種の数の削除を行うことができる。ただし、本実施形態では、初期の属性（需要量、始在庫量、上限在庫量、および下限在庫量）については削除することができないようにしている。
尚、これらの行または列の追加および削除の方法は、図３に示したリソース登録画面３００で説明した方法と同じであるので、ここではその詳細な説明を省略する。
【００４２】
以上のようにして、品種登録画面４００の品種入力欄４０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン４０２が押下されると、品種入力登録部１０２は、登録ボタン４０２が押下されたときに、品種入力欄４０１に入力されている内容を記憶媒体に記憶する。尚、この時点では、品種情報は、他の情報と相互に関連付けられていない。
【００４３】
このようにして登録された品種の属性である「需要量」（＝０．１４、０．１１、・・・、０．２１）は、後述する制約式における定数として自動的に設定される（（６）式〜（８）式等を参照）。また、「始在庫量」（＝１．３、０．８、・・・、２．０）は、後述する制約式における定数として自動的に設定される（（７）式等を参照）。また、「下限在庫量」（＝０．２、０．４、・・・、０．３）は、後述する目的関数の定数として自動的に設定される（（１３）式等を参照）。
【００４４】
品種入力登録部１０２は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じた品種登録画面４００を表示するための表示データを生成して、表示装置に出力すると共に、品種情報をＨＤＤ等に記憶することにより実現される。
【００４５】
（工程入力登録部１０３）
工程入力登録部１０３は、まず、工程登録画面を表示装置に表示する。
図６は、工程登録画面６００の一例を示す図である。具体的に、図６Ａは、工程登録画面６００の初期状態の一例を示す図である。図６Ｂは、名称が「タンク１操業」である品種で実行される工程に係る工程情報が入力された工程登録画面６００の一例を示す図である。図６Ｃは、名称が「タンク２操業」である品種で実行される工程に係る工程情報が入力された工程登録画面６００の一例を示す図である。
図６において、工程登録画面６００は、ＧＵＩであり、工程入力欄６０１と、登録ボタン６０２と、追加ボタン６０３と、削除ボタン６０４とを有する。
工程登録画面６００は、工程の属性を品種毎に登録するための画面である。
【００４６】
本実施形態の工程登録画面６００では、品種入力登録部１０２で登録された「品種」の名称が、各工程登録画面６００のタブに表示されるようにしている。図６Ａ〜図６Ｃの工程登録画面６００に表示されているタブのうち、ハッチングされていないタブに対する入力操作が有効となる。例えば、ユーザが入力装置を操作して、図６Ａ、図６Ｂに示す工程登録画面６００の「『タンク２操業』の文字が示されているタブ」を押下すると、図６Ｃに示す工程登録画面６００が表示される。そして、本実施形態では、それぞれの工程登録画面６００に、以下のようにして工程情報を入力し登録することにより、各品種で実行される工程に係る工程情報が登録されようにしている。工程登録画面６００の内容を以下に説明する。
【００４７】
図６Ａ〜図６Ｃに示すように、本実施形態では、工程の初期の属性は、「工程順」と、「工程名」と、「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」である。
「工程順」は、登録対象の工程が属する品種における当該工程の実行順を意味する。本実施形態では、「工程順」の最初の入力欄には「１」が自動的に表示される。以降、上の行から順番に整数が昇順に自動的に採番（表示）される。
「工程名」は、登録対象の工程の名称を意味する。本実施形態では、例えば、「工程名」の文字が表示されている列に、工程名をテキスト入力することが可能となっている。
【００４８】
「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」は、リソース入力登録部１０１により登録されたリソース名を示す（図３を参照）。本実施形態では、例えば、「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」の文字が表示されている列に、「主」、「副」または「空欄」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ここで、「主」とは、登録対象の工程で使用される主要なリソースを示す。「副」とは、登録対象の工程で使用される副次的なリソースを示す。「空欄」は、登録対象の工程では、当該空欄となっている「リソース名（「機械１」、「機械２」、・・・「機械Ｌ−１」、「機械Ｌ」）」のリソースは使用されないことを示す。
【００４９】
図６Ｃに示す工程登録画面６００の最下行では、名称が「タンク２操業」の品種で使用される工程のうち「工程順」が「Ｐ」番目である工程（最後の工程）の「工程名」は「搬送」（タンク２への搬送）であり、当該工程で使用されるリソースは「機械Ｌ−１」と「機械Ｌ」であり、「機械Ｌ−１」が主要なリソースとして使用され、「機械Ｌ」が副次的なリソースとして使用されることを示す工程情報が入力された状態を示す。尚、前述したように本実施形態では、生産された製品をタンクに貯留する場合の生産計画を作成する。従って、製品を生産するための最後の工程（工程順Ｐの工程）は、タンクへの搬送になるものとする。
【００５０】
ユーザが、入力装置を操作して、工程登録画面６００の工程入力欄６０１の特定の行または列を指定した状態で追加ボタン６０３を押下すると、指定した行または列の次の行または列が追加される。これにより、工程の属性の追加や工程の数の追加を行うことができる。
また、ユーザが、入力装置を操作して、工程登録画面６００の工程入力欄６０１の特定の行または列を指定した状態で削除ボタン６０４を押下すると、指定した行または列が削除される。これにより、工程の属性の削除や工程の数の削除を行うことができる。ただし、本実施形態では、初期の属性とリソースの入力欄（リソース名（「機械１」、「機械２」、・・・「機械Ｌ−１」、「機械Ｌ」）の欄）については削除することができないようにしている。初期の属性を削除することができるようにしてもよいということは勿論である。
尚、これらの行または列の追加および削除の方法は、図３に示したリソース登録画面３００で説明した方法と同じであるので、ここではその詳細な説明を省略する。
【００５１】
以上のようにして、工程登録画面６００の全ての品種について、工程入力欄６０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン６０２が押下されると、工程入力登録部１０３は、登録ボタン６０２が押下されたときに、各品種について工程入力欄６０１に入力されている内容を記憶媒体に記憶する。例えば、工程入力登録部１０３は、工程入力欄６０１の各行に登録されている「『工程順』、『処理量』、および『リソース（機械１、機械２、・・・機械Ｌ）』」を相互に関連付けた情報を工程情報として記憶する。
以上のように、この工程登録画面６００を用いることにより、工程を介して品種とリソースとが相互に関連付けられることになる（図２を参照）。
【００５２】
工程入力登録部１０３は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じた工程登録画面６００を表示するための表示データを生成して表示装置に出力すると共に、工程情報をＨＤＤ等に記憶することにより実現される。
【００５３】
（制約条件入力登録部１０４）
本実施形態では、後述するように、「品種、工程、およびリソース」の少なくとも１つを用いて記述される制約を、数理計画法に則って定式化した制約式が使用される。
そこで、制約条件入力登録部１０４は、この制約の内容を、前述したようにして相互に関連付けられた「品種、工程、およびリソース」の識別情報の少なくとも１つの選択入力欄を用いて表記された制約式の内容が少なくとも表示される制約設定画面を表示する。そして、制約条件入力登録部１０４は、この制約設定画面の選択入力欄に対してユーザにより選択入力された結果に基づいて、制約の内容を設定する。本実施形態では、以下の（Ａ）〜（Ｃ）の制約条件が設定される。以下に、制約条件入力登録部１０４で登録される制約条件の一例について説明する。
【００５４】
（Ａ）複数リソース同時利用制約
制約条件入力登録部１０４は、図７に示す複数リソース同時利用制約設定画面７００を表示装置に表示する。図７Ａは、複数リソース同時利用制約設定画面７００の初期状態の一例を示す図である。図７Ｂは、複数リソース同時利用制約の情報が入力された複数リソース同時利用制約設定画面７００の一例を示す図である。
図７において、複数リソース同時利用制約設定画面７００は、ＧＵＩであり、制約条件入力欄７０１と、登録ボタン７０２と、同制約追加ボタン７０３と、次制約追加ボタン７０４と、削除ボタン７０５とを有する。
図７に示す制約条件入力欄７０１には、「制約名（「制約１−※」）」で識別される１つの複数リソース同時利用制約に属する複数の品種を識別するための「品種」と、それぞれの「品種」が通過する工程を識別するための「工程名」と、それぞれの「品種」が通過する工程で使用されるリソースを識別するための「リソース名」の入力欄が設けられる。
この制約条件入力欄７０１への入力により、或る「品種」が或る「工程（工程名）」を通過する際に使用される「リソース（リソース名）」と、その他の１又は複数の「品種」が或る「工程（工程名）」を通過する際に使用される「リソース（リソース名）」とを、同時期（時間的に重なる期間）に使用することができないことを表す複数リソース同時利用制約（「制約名（「制約１−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００５５】
制約条件入力欄７０１に表示される「制約名」は、リソース同時利用制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約１−１」が自動的に表示される。以降、「制約１−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される（「制約１−１」、「制約１−２」・・・）。
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
【００５６】
例えば、図６Ｂに示す工程登録画面６００において、「タンク１操業」で使用される、「工程名」が「破砕」である工程では、「リソース名」が「機械１」および「機械２」であるリソースが使用されることになる（すなわち、主要なリソースまたは副次的なリソースとして登録されている）。この場合、制約条件入力欄７０１の「品種」として「タンク１操業」が選択入力され、「工程名」として「破砕」が選択入力された場合には、「リソース名」として、「機械１」および「機械２」の何れかのみを選択入力することが可能なプルダウンメニューが表示される。同様に図６Ｃに示す工程登録画面６００において、「タンク２操業」で使用される「工程名」が「破砕」である工程では、「リソース名」が「機械１」であるリソースが使用されることになる。この場合、制約条件入力欄７０１の「品種」として「タンク２操業」が選択入力され、「工程名」として「破砕」が選択入力された場合には、「リソース名」として、「機械１」のみを選択入力することが可能なプルダウンメニューが表示される。
【００５７】
図７Ｂに示す複数リソース同時利用制約設定画面７００では、例えば、名称が「制約１−１」のリソース同時利用制約として、「タンク１操業」における「破砕」と、「タンク２操業」における「破砕」に対し、「機械１」を同時に使用することができないことを示す複数リソース同時利用制約が設定される。尚、図７Ｂにおいて、「機械１」は、複数の製品オーダに対し同時に使用することができるリソースであることから、複数リソース同時利用制約の設定を行うことができる。
【００５８】
ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面７００の制約条件入力欄７０１の「制約１−＊」内の特定の行を指定した状態で同制約追加ボタン７０３を押下すると、指定した行の次の行に空欄の行が１行追加される。例えば、制約条件入力欄７０１の「制約１−１」内の２行目の行を指定した状態で同制約追加ボタン７０３が１回押下されることにより、「制約１−１」の選択入力欄の行数は、現在値である「２」から「３」に変更される。このようにすることにより、複数リソース同時利用制約の成立条件を増やすことができる。
【００５９】
また、ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面７００の制約条件入力欄７０１の１番左の列の領域を指定した状態で次制約追加ボタン７０４を押下すると、その領域の次の行に、空欄の選択入力欄が１つ追加される。このようにすることにより、複数リソース同時利用制約を追加することができる。
また、ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面７００の制約条件入力欄７０１の「制約１−＊」内の特定の行を指定した状態で削除ボタン７０５を押下すると、指定した行が削除される。
【００６０】
また、ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面７００の制約条件入力欄７０１の１番左の列の２行目以降の領域（「制約１−＊」）を指定した状態で削除ボタン７０５を押下すると、指定した領域（「制約１−＊」）の選択入力欄（の全て）が削除される。例えば、図７Ｂに示す状態で、１番左の列の「制約１−２」の領域を指定した状態で削除ボタン７０５を押下した場合は、「制約１−２」に対する選択入力欄の全てが削除される。
【００６１】
以上のようにして、複数リソース同時利用制約設定画面７００の制約条件入力欄７０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン７０２が押下されると、制約条件入力登録部１０４は、登録ボタン７０２が押下されたときに、制約条件入力欄７０１に入力されている内容を記憶媒体に記憶する。
【００６２】
（Ｂ）リソース同時利用制限制約
制約条件入力登録部１０４は、図８に示すリソース同時利用制限制約設定画面８００を表示装置に表示する。図８Ａは、リソース同時利用制限制約設定画面８００の初期状態の一例を示す図である。図８Ｂは、リソース同時利用制限制約の情報が入力されたリソース同時利用制限制約設定画面８００の一例を示す図である。
図８において、リソース同時利用制限制約設定画面８００は、ＧＵＩであり、制約条件入力欄８０１と、登録ボタン８０２と、同制約追加ボタン８０３と、次制約追加ボタン８０４と、削除ボタン８０５とを有する。
【００６３】
図８に示す制約条件入力欄８０１には、「制約名（「制約２−＊」）」で識別されるリソース同時利用制限制約に属する品種を識別するための「品種」と、その「品種」における「条件」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」と、その「条件」に対する「結果」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」の入力欄が設けられる。
【００６４】
この制約条件入力欄８０１への入力により、或る「品種」において、或る「工程（工程名）」を通過するときに或る「リソース（リソース名）」が使用されるという「条件」がある場合には、その「品種」が特定の「工程（工程名）」を通過する際には特定の「リソース（リソース名）」を使用しなければならないという「結果」が得られなければならないことを表すリソース同時利用制限制約（「制約名（「制約２−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００６５】
制約条件入力欄８０１に表示される「制約名」は、リソース同時利用制限制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約２−１」が自動的に表示される。以降、「制約２−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
【００６６】
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
【００６７】
図８Ｂに示すリソース同時利用制限制約設定画面８００では、名称が「制約２−１」のリソース同時利用制限制約として、「タンク１操業」で「破砕」に「機械１」を使用した場合には、「タンク１操業」では「整粒」および「搬送」に「機械１」を使用しなければならないことを示すリソース同時利用制限制約が設定される。
【００６８】
ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面８００の制約条件入力欄８０１の「制約２−＊」内の特定の行を指定した状態で同制約追加ボタン８０３を押下すると、指定した行の次の行に空欄の行が１行追加される。このようにすることにより、リソース同時利用制限制約の成立条件を増やすことができる。
また、ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面８００の制約条件入力欄８０１の１番左の列の領域を指定した状態で次制約追加ボタン８０４を押下すると、その領域の次の行に、空欄の選択入力欄が１つ追加される。このようにすることにより、リソース同時利用制限制約を追加することができる。
【００６９】
また、ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面８００の制約条件入力欄８０１の「制約２−＊」内の特定の行を指定した状態で削除ボタン８０５を押下すると、指定した行が削除される。
また、ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面８００の制約条件入力欄８０１の１番左の列の２行目以降の領域（「制約２−＊」）を指定した状態で削除ボタン８０５を押下すると、指定した領域（「制約２−＊」）の選択入力欄（の全て）が削除される。
【００７０】
以上のようにして、リソース同時利用制限制約設定画面８００の制約条件入力欄８０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン８０２が押下されると、制約条件入力登録部１０４は、登録ボタン８０２が押下されたときに、制約条件入力欄８０１に入力されている内容を記憶媒体に記憶する。
【００７１】
（Ｃ）リソース稼働制約
制約条件入力登録部１０４は、図９に示すリソース稼働制約設定画面９００を表示装置に表示する。図９Ａは、リソース稼働制約設定画面９００の初期状態の一例を示す図である。図９Ｂは、リソース稼働制約の情報が入力されたリソース稼働制約設定画面９００の一例を示す図である。
図９において、リソース稼働制約設定画面９００は、ＧＵＩであり、制約条件入力欄９０１と、登録ボタン９０２と、追加ボタン９０３と、削除ボタン９０４とを有する。
【００７２】
リソース稼働制約設定画面９００の初期状態は、制約条件入力欄９０１の入力項目（「制約名」、「リソース名」、「開始日時」、「終了日時」、「能力」の文字が表示されている領域）と、最初の入力欄（「制約３−１」に対する入力欄）と、登録ボタン９０２と、追加ボタン９０３と、削除ボタン９０４とが表示された状態となる。リソース稼働制約設定画面９００の初期状態では、最初の入力欄は全て空欄となっている。
【００７３】
図９に示す制約条件入力欄９０１には、「制約名（「制約３−＊」）」で識別されるリソース稼働制約に属する「リソース」を識別するための「リソース名」と、その「リソース」の「能力」の制限の「開始日時」および「終了日時」と、その制限されたときの「能力（最大能力に対する倍率）」の入力欄が設けられる。
この制約条件入力欄９０１への入力により、「リソース（リソース名）」の「開始日時」から「終了日時」までの期間における制限された「能力」を示すリソース稼働制約（「制約名（「制約３−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００７４】
制約条件入力欄９０１に表示される「制約名」は、リソース稼働制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約３−１」が自動的に表示される。以降、「制約３−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
【００７５】
「開始日時」とは、リソースの能力の制限を開始するタイミングを意味する。本実施形態では、例えば、「開始日時」の文字が表示されている列に、このタイミングを表す日時（数字）を開始日時として入力することが可能となっている。
「終了日時」とは、リソースの能力の制限を終了するタイミングを意味する。本実施形態では、例えば、「終了日時」の文字が表示されている列に、このタイミングを表す日時（数字）を終了日時として入力することが可能となっている。
「能力」とは、リソースの能力が制限される期間における当該リソースの能力を意味する。本実施形態では、例えば、最大能力に対する倍率（数字）を能力として入力することが可能となっている。
【００７６】
図９Ｂに示すリソース稼働制約設定画面９００では、例えば、名称が「制約３−１」のリソース稼働制約として、２０１６年１月２５日９時３０分から２０１６年１月２７日８時３０分のまでの間は、リソース名が「機械１」のリソースは、その最大能力の０．７倍の能力で使用しなければならないというリソース稼働制約が設定される。
【００７７】
ユーザが、入力装置を操作して、リソース稼働制約設定画面９００の制約条件入力欄９０１の特定の行を指定した状態で追加ボタン９０３を押下すると、指定した行の次の行に、空欄の入力欄が１つ追加される。このようにすることにより、リソース稼働制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース稼働制約設定画面９００の制約条件入力欄９０１の特定の行を指定した状態で削除ボタン９０４を押下すると、指定された行の入力欄（の全て）が削除される。
【００７８】
以上のようにして、リソース稼働制約設定画面９００の制約条件入力欄９０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン９０２が押下されると、制約条件入力登録部１０４は、登録ボタン９０２が押下されたときに、制約条件入力欄９０１に入力されている内容を記憶媒体に記憶する。
【００７９】
制約条件入力登録部１０４は、例えば、ＣＰＵが、ＨＤＤ等から工程情報を読み出すと共に、ＲＡＭ等から変数および定数を読み出して、複数リソース同時利用制約設定画面７００、リソース同時利用制限制約設定画面８００、およびリソース稼働制約設定画面９００を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる制約をＲＡＭ等に記憶することにより実現される。
【００８０】
尚、以上の（Ａ）複数リソース同時利用制約、（Ｂ）リソース同時利用制限制約、および（Ｃ）リソース稼働制約に加えて、例えば、特許文献１に記載されている制約を、予め定まっている制約として用いることができる。また、特許文献１に記載されているように、新規の制約条件を設定することができるようにしてもよい。
【００８１】
（目的関数入力登録部１０５）
図１０は、目的設定画面１０００の一例を示す図である。目的関数入力登録部１０５は、図１０に示す目的設定画面１０００を表示装置に表示する。尚、目的設定画面１０００の初期状態は、図１０に示すチェックボックスと、「重要度（０〜１０）」の文字が示されている領域の列の行が全て未入力の状態となる。
図１０において、目的設定画面１０００は、ＧＵＩであり、目的関数入力欄１００１と、登録ボタン１００２とを有する。
【００８２】
目的関数入力欄１００１に表示される「関数番号」は、目的関数の識別情報である。予め設定されている数（目的関数の数）の関数番号が「００００１」から昇順に目的関数入力欄１００１に表示されている。
「有効要否」は、目的関数入力欄１００１の各行における目的関数を採用するかどうかを示す情報である。本実施形態では、チェックボックスにチェックを入れることにより、当該チェックボックスのある行の情報で特定される目的が採用されるようにしている。
【００８３】
「品種」と「工程」の文字が表示されている列には、前述したようにして相互に関連付けられて登録された品種および工程の組合せの全てが表示される。
「目的」の文字が表示されている列には、設定対象の目的がどのような目的であるのかを示す文字が表示されている。この「目的」の内容は、前述した各画面３００、６００、７００、８００、９００での初期属性として登録されているものを基に、予め設定されている。
【００８４】
「重要度」は、設定対象の目的の重要度を示すものである。「重要度」の文字が表示されている列には、この重要度の値として「０」〜「１０」の何れかの整数を入力することが可能になっている。
尚、目的関数入力欄１００１に、全ての目的の情報を一度に表示することが出来ない場合には、スクロール表示を行うようにすることができる。
【００８５】
ユーザは、入力装置を操作して、所望の目的に対応する「有効要否」のチェックボックスをチェックすると共に、「重要度」の欄に重要度の値を入力する。
以上のようにして、目的設定画面１０００の目的関数入力欄１００１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１００２が押下されると、目的関数入力登録部１０５は、登録ボタン１００２が押下されたときに、目的関数入力欄１００１に入力されている内容を記憶媒体に記憶する。図１０に示す目的設定画面１０００では、「タンク１操業」で実行される「破砕」の「処理時間最小」を目的とすることと、「タンク２操業」で実行される「搬送」の「在庫下限厳守」を目的とすることとが採用される。
【００８６】
以上のように、本実施形態では、目的設定画面１０００の目的関数入力欄１００１により、相互に関連付けられている品種および工程と、目的の内容を示す文字と、目的の重要度と、を用いて表記された目的関数の内容と、その内容の選択入力欄（チェックボックス）と、が少なくとも表示され、表示された情報の中から、ユーザが所望する情報を選択することにより、設定すべき目的の内容が選択されるようにしている。尚、かかる選択入力欄は、チェックボックスに限定されるものではない。
【００８７】
目的関数入力登録部１０５は、例えば、ＣＰＵが、ＨＤＤ等から工程情報を読み出すと共に、ＲＡＭ等から変数および定数を読み出して、目的設定画面１０００を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる目的関数の内容を示すデータをＲＡＭ等に記憶することにより実現される。
尚、以上の予め定まっている目的に加えて、特許文献１に記載のように、新規の目的を設定することができるようにしてもよい。
【００８８】
（立案期間入力登録部１０６）
立案期間入力登録部１０６は、立案期間設定画面を表示装置に表示する。
図１１は、立案期間設定画面１１００の一例を示す図である。
図１１において、立案期間設定画面１１００は、ＧＵＩであり、立案期間入力欄１１０１と、登録ボタン１１０２とを有する。
【００８９】
立案期間入力欄１１０１は、生産計画の立案開始時刻と立案終了時刻とを登録するための画面である。本実施形態では、例えば、「立案開始時刻」の文字が表示されている列に、立案開始時刻（数字）を入力することが可能となっている。また、「立案終了時刻」の文字が表示されている列に、立案終了時刻（数字）を入力することが可能となっている。立案期間設定画面１１００により登録された「立案開始時刻」から「立案終了時刻」までの間の生産計画が作成されることになる。図１１に示す例では、２０１６年１月２４日８時００分から２０１６年１月３１日２３時５９分までの生産計画を作成することが登録される。
【００９０】
立案期間入力登録部１０６は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じた立案期間設定画面１１００を表示するための表示データを生成して、表示装置に出力すると共に、生産計画の立案開始時刻と立案終了時刻とをリソース情報をＨＤＤ等に記憶することにより実現される。
【００９１】
（製品オーダ生成部１０７）
製品オーダ生成部１０７は、生産すべき製品の注文の内容を示す製品オーダ情報を自動的に生成する。図５を参照しながら、本実施形態で生成される製品オーダの概念の一例を説明する。
【００９２】
図５において、補充開始時刻ｔsは、或る品種を貯留するタンクに当該製品の補充を開始させる必要がある時刻であり、補充開始時在庫量は、補充開始時刻ｔsにおける当該タンクの在庫量である。補充終了時刻ｔeは、当該タンクに当該製品の補充を終了する時刻であり、補充終了時在庫量は、補充終了時刻ｔeにおける当該タンクの在庫量である。また、前述したように、上限在庫量は、当該品種の在庫量の上限値であり、下限在庫量は、当該品種の在庫量の下限値である。
【００９３】
図５に示す例では、直線５０１ａに示すように在庫量が始在庫量から需要量に従って減少する品種を、補充終了時在庫量になるまでタンクに補充することを注文とする。製品オーダは注文の内容を示すものである。即ち、図５において、直線５０２ａの部分が製品オーダに対応する。直線５０２ａに対応する製品オーダを生成した後、直線５０２ａの終点の補充終了時在庫量を始在庫量として始在庫量と当該始在庫量の在庫が存在する時刻（後述する（３）式の在庫量計算時時刻）を更新する。そして、直線５０２ａに対応する製品オーダを生成するときと同様にして直線５０２ｂに対応する製品オーダを導出する。このような製品オーダの導出を、生産計画の立案開始時刻（時間＝０（ゼロ））から立案終了時刻まで繰り返す。
以下に、製品オーダ生成部１０７が製品オーダを生成する際の処理の一例を説明する。
【００９４】
まず、製品オーダ生成部１０７は、以下の（ａ）〜（ｃ）の処理を、品種入力登録部１０２により登録された各品種について個別に行う。図５を参照しながら、本実施形態の製品オーダ生成部１０７の処理の一例を説明する。
（ａ）  製品オーダ生成部１０７は、処理の対象の品種の属性（需要量、始在庫量、および下限在庫量）に基づいて、以下の（１）式により、在庫維持時間を導出する。
在庫維持時間＝（始在庫量−下限在庫量）／需要量  ・・・（１）
在庫維持時間は、或る品種の在庫量が、当該品種の始在庫量から当該品種の下限在庫量になるまでの時間である。ここでは、品種の在庫量は、当該品種の需要量に従って減少し、当該品種の補充は行われないものとする。
【００９５】
（ｂ）  本実施形態では、説明を簡単にするため、或る品種のタンクへの搬送が始まると同時に当該タンクに当該品種が到達するものとする。
ここで、下限在庫量になった品種の在庫量を、当該品種の上限在庫量にまで達する量にするのにタンクに補充する必要がある当該品種の量（質量）を考える。当該品種の当該タンクへの搬送中も、当該タンクの在庫量は当該品種の需要量に従って減少する。従って、タンクに到着した品種の単位時間当たりの質量［ｔｏｎ／ｈｏｕｒ］が当該品種の需要量を上回る場合には、当該タンクにおける当該品種の在庫量が増える。そこで、製品オーダ生成部１０７は、以下の（２）式のように、下限在庫量になった品種の在庫量が上限在庫量になるようにするためにタンクに搬送させる必要がある当該品種の量を、製品オーダ量［ｔｏｎ］として導出する。
製品オーダ量＝搬送能力×（上限在庫量−下限在庫量）/（搬送能力−需要量）  ・・・（２）
【００９６】
ここで、搬送能力とは、タンクに製品を搬送するリソースの最大能力であり、リソース情報から得られる（図３を参照）。（２）式に示す製品オーダ量は、複数の品種をタンクに搬送することができるリソースの取り合いを考慮していないので、（２）式の（上限在庫量−下限在庫量）に基づいて定まる在庫の補充量は目安値になる。従って、製品オーダ生成部１０７は、必ずしも（２）式により製品オーダ量を導出する必要はない。例えば、上限在庫量および下限在庫量の少なくとも何れか一方に対して余裕をみるようにして、（２）式の（上限在庫量−下限在庫量）を調整してもよい。上限在庫量に対して余裕をみる場合には、（２）式の（上限在庫量−下限在庫量）の上限在庫量を、例えば、上限在庫量−余裕量とし、下限在庫量に対して余裕をみる場合には、（２）式の（上限在庫量−下限在庫量）の下限在庫量を、例えば、下限在庫量＋余裕量とすればよい。最終的に決定される製品オーダ量は、後述する最適化計算で導出される補充終了時在庫量から補充開始時在庫量を減算した値になる。図５に示すように、補充開始時在庫量は、補充開始時刻ｔsにおける在庫量であり、補充終了時在庫量は、補充終了時刻ｔeにおける在庫量である。
【００９７】
（ｃ）  製品オーダ生成部１０７は、以下の（３）式により、処理順序１開始時刻を導出する。
処理順序１開始時刻＝在庫量計算時時刻＋在庫維持時間−製品オーダ量×（１／工程順１能力＋１／工程順２能力＋・・・＋１／工程順（Ｐ−１）能力）  ・・・（３）
【００９８】
ここで、処理順序１開始時刻とは、前記（ｂ）の処理で導出した製品オーダ量の品種の生産を開始する時刻である。即ち、処理順序１開始時刻とは、前記（ｂ）の処理で導出した製品オーダ量の品種を生産するための工程のうち、工程順が「１」の工程（最初に実行する工程）の処理を開始する時刻である。
【００９９】
在庫量計算時時刻とは、始在庫量をカウントした時刻（始在庫量の在庫がタンク内に存在する時刻）である。在庫量計算時時刻の初期値は、立案開始時刻である。前述したように、２回目以降に製品オーダを生成する際には、前回の補充終了時在庫量を始在庫量とする。従って、２回目以降に製品オーダを生成する際の在庫量計算時時刻は、前回の補充終了時在庫量をカウントした時刻（在庫量が当該補充終了時在庫量になる時刻）になる。
【０１００】
工程順ｉ能力とは、工程順がｉ（ｉ＝１〜Ｐ−１）の工程で使用されるリソースの最大能力であり、工程情報とリソース情報とから得られる（図３および図６を参照）。工程登録画面６００において主要なリソースと副次的なリソースの双方が登録されている場合には、主要なリソース（図６の「主」と表示されているリソース）の最大能力を用いる。
【０１０１】
（３）式の右辺第３項は、製品オーダ量の製品を生産するための工程順１〜Ｐ−１の工程における処理時間の合計値である。前述したように、工程順がＰの工程（最後の工程）は、タンクに搬送する工程であり、ここでは、或る品種のタンクへの搬送が始まると同時に当該タンクに当該品種が到達するものとしている。従って、（３）式の右辺第３項において、製品オーダ量の製品の生産を開始してから、タンクへの搬送（補充）を開始するまでの所要時間を計算している。尚、（３）式の右辺第３項のカッコ内において、工程順がＰの工程（最後の工程）を、計算の対象に含めてもよい。
【０１０２】
以上のようにして、品種入力登録部１０２により登録された全ての品種について処理順序１開始時刻を導出すると、製品オーダ生成部１０７は、以下の（ｄ）〜（ｅ）の処理を行う。
（ｄ）  製品オーダ生成部１０７は、各品種について、処理順序１開始時刻が早いものから順に、予め設定したＮ個（Ｎは正の整数）だけ抽出する。全ての品種について、以降の処理を行うと計算負荷が大きくなる。Ｎの値としては、例えば、処理順序１開始時刻が遅い品種について、今回の計画立案対象期間に在庫量を増やさなくても、下限在庫量以上の在庫量が確保される様に決定すればよい。そこで、本実施形態では、処理順序１開始時刻が早いものから順にＮ個の品種を選択する。
【０１０３】
（ｅ）  製品オーダ生成部１０７は、前記（ｄ）の処理で抽出したＮ個の品種に対して、生産計画の立案対象となる製品オーダを生成する。
図１２は、製品オーダ生成部１０７で生成される製品オーダの内容の一例を表形式で示す図である。
図１２において、本実施形態の製品オーダ１２００は、オーダ番号、品種名、在庫維持時間、および工程処理順序１開始時刻が相互に関連付けられた情報である。尚、（ｄ）で説明したように、製品オーダの数は、Ｎ個であるので、図１２に示す例では、製品オーダを識別するオーダ番号が「００００１」〜「Ｎ」の製品オーダを示している。図１２に示すように、製品オーダ（オーダ番号）は、品種（品種名）と相互に関連付けられる。
【０１０４】
前述したように図５に示す例では、直線５０２ａ、５０２ｂが製品オーダに対応する。従って、前記（ｄ）の処理で抽出したＮ個の品種については、直線５０２ａ、５０２ｂのような製品オーダが得られるが、前記（ｄ）の処理で抽出されなかった品種については、当該品種の需要量（直線５０１ａ〜５０１ｃの傾き）に従って在庫量が減少することになる。（ｄ）で抽出されなかった品種については、在庫量計算時時刻（始在庫量の在庫が存在する時刻）が更新されないため、製品オーダの生成の繰り返し数が大きくなると、処理順序１開始時刻が早くなり、前記（ｄ）の処理で抽出され易くなる。
【０１０５】
製品オーダ生成部１０７は、例えば、ＣＰＵが、ＨＤＤ等から、リソース情報と品種情報とを読み出して、製品オーダを生成し、そのデータをＲＡＭ等に記憶することにより実現される。
【０１０６】
（変数・定数構築部１０８）
変数・定数構築部１０８は、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を自動的に構築する。
本実施形態では、決定変数として、以下の（イ）〜（ニ）に示す変数を構築する。
（イ）開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名
（ロ）使用可否オータ゛番号,工程名,リソース名
（ハ）前後判断オータ゛番号,オータ゛番号,工程名,リソース名
（ニ）補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号
【０１０７】
開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名は、オーダ番号別・工程名別・リソース名別の開始時刻、終了時刻である。
使用可否オータ゛番号,工程名,リソース名は、０−１変数である。使用可否オータ゛番号,工程名,リソース名の値が「１」であることは、「オーダ番号」の製品オーダに対し「工程名」の工程を実行するときには「リソース名」のリソースが使用されることを示し、「０」であることは、そのようなリソースが使用されないことを示す。
前後判断オータ゛番号1,オータ゛番号2,工程名,リソース名は、０−１変数である。前後判断オータ゛番号1,オータ゛番号2,工程名,リソース名の値が「１」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号２」の製品オーダよりも先に「オーダ番号１」の製品オーダに対して使用されることを示す。一方、この値が「０」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号２」の製品オーダよりも後に「オーダ番号１」の製品オーダに対して使用されることを示す。尚、２つの製品オーダのうち予めどちらの製品オーダを先に実行させたいかを決めておく場合には、それら２つの製品オーダに対応する「前後判断オータ゛番号, オータ゛番号,工程名,リソース名」の値を「０」または「１」とする制約を設けることができる。
【０１０８】
補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号は、オーダ番号別の補充開始時在庫量、補充終了時在庫量である。前述したように、補充開始時在庫量は、補充開始時刻ｔsにおける在庫量であり、補充終了時在庫量は、補充終了時刻ｔeにおける在庫量である（図５を参照）。
製品オーダ生成部１０７により生成されたＮ個の製品オーダ（前記（ｄ）の処理で抽出したＮ個の品種）について、前記（イ）〜（ニ）に示す変数が構築される。
【０１０９】
まず、前記（イ）の変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）の構築方法の一例を説明する。
まず、変数・定数構築部１０８は、製品オーダ生成部１０７で生成された「各オーダ番号」に対応する「品種」を抽出し（図１２を参照）、工程入力登録部１０３で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する（図６を参照）。
次に、変数・定数構築部１０８は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に（品種を介して）関連付けられて登録されている「工程名」別、当該オーダ番号に（品種を介して）関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の開始時刻と終了時刻を決定変数として構築する。
【０１１０】
本実施形態では、例えば、以下の決定変数が構築される。
開始時刻00001,破砕,機械1、終了時刻00001,破砕,機械1
開始時刻00001,破砕,機械2、終了時刻00001,破砕,機械2
開始時刻00001,整粒,機械1、終了時刻00001,整粒,機械1
開始時刻00001,整粒,機械2、終了時刻00001,整粒,機械2
・・・
開始時刻00001,搬送,機械1、終了時刻00001,搬送,機械1
開始時刻00001,搬送,機械L-1、終了時刻00001,搬送,機械L-1
開始時刻00001,搬送,機械L、終了時刻00001,搬送,機械L
【０１１１】
開始時刻00002,破砕,機械1、終了時刻00002,破砕,機械1
開始時刻00002,破砕,機械2、終了時刻00002,破砕,機械2
開始時刻00002,整粒,機械2、終了時刻00002,整粒,機械2
開始時刻00002,整粒,機械2、終了時刻00002,整粒,機械2
・・・
開始時刻00002,搬送,機械1、終了時刻00002,搬送,機械1
開始時刻00002,搬送,機械L-1、終了時刻00002,搬送,機械L-1
開始時刻00002,搬送,機械L、終了時刻00002,搬送,機械L
・・・
【０１１２】
開始時刻N,破砕,機械1、終了時刻N,破砕,機械1
開始時刻N,整粒,機械L-1、終了時刻N,整粒,機械L-1
・・・
開始時刻N,搬送,機械L-1、終了時刻N,搬送,機械L-1
開始時刻N,搬送,機械L、終了時刻N,搬送,機械L
【０１１３】
次に、前記（ロ）の変数（使用可否オータ゛番号,工程名,リソース名）の構築方法の一例を説明する。
まず、変数・定数構築部１０８は、製品オーダ生成部１０７で生成された「各オーダ番号」に対応する「品種」を抽出し（図１２を参照）、工程入力登録部１０３で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する（図６を参照）。
次に、変数・定数構築部１０８は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に（品種を介して）関連付けられて登録されている「工程名」別、当該オーダ番号に（品種を介して）関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の使用可否を決定変数として構築する。
【０１１４】
本実施形態では、例えば、以下の決定変数が構築される。
使用可否00001,破砕,機械1
使用可否00001,破砕,機械2
使用可否00001,整粒,機械1
使用可否00001,整粒,機械2
・・・
使用可否00001,搬送,機械1
使用可否00001,搬送,機械L-1
使用可否00001,搬送,機械L
【０１１５】
使用可否00002,破砕,機械1
使用可否00002,破砕,機械2
使用可否00002,整粒,機械1
使用可否00002,整粒,機械2
・・・
使用可否00002,搬送,機械1
使用可否00002,搬送,機械L-1
使用可否00002,搬送,機械L
・・・
【０１１６】
使用可否N,破砕,機械1
使用可否N,整粒,機械L-1
・・・
使用可否N,搬送,機械L-1
使用可否N,搬送,機械L
【０１１７】
次に、前記（ハ）の変数（前後判断オータ゛番号, オータ゛番号,工程名,リソース名）の構築方法の一例を説明する。
まず、変数・定数構築部１０８は、製品オーダ生成部１０７で生成「各オーダ番号」に対応する「品種」を抽出し（図１２を参照）、工程入力登録部１０３で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する（図６を参照）。
次に、変数・定数構築部１０８は、以上のようにして抽出した結果に基づいて、異なる２つの製品オーダの「オーダ番号」別、当該オーダ番号に（品種を介して）関連付けられて登録されている「工程名」別、当該オーダ番号に（品種を介して）関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の前後判断を決定変数として構築する。
【０１１８】
本実施形態では、例えば、以下の決定変数が構築される。
前後判断00001,00002,破砕,機械1
前後判断00001,00002,破砕,機械2
前後判断00001,00002,整粒,機械1
前後判断00001,00002,整粒,機械2
・・・
前後判断00001,00002,搬送,機械1
前後判断00001,00002,搬送,機械L-1
前後判断00001,00002,搬送,機械L
・・・
【０１１９】
前後判断00001,N,破砕,機械1
前後判断00001,N,破砕,機械2
前後判断00001,N,整粒,機械1
前後判断00001,N,整粒,機械2
・・・
前後判断00001,N,搬送,機械1
前後判断00001,N,搬送,機械L-1
前後判断00001,N,搬送,機械L
・・・
【０１２０】
前後判断N-1,N,破砕,機械1
前後判断N-1,N,破砕,機械2
前後判断N-1,N,整粒,機械1
前後判断N-1,N,整粒,機械2
・・・
前後判断N-1,N,搬送,機械1
前後判断N-1,N,搬送,機械L-1
前後判断N-1,N,搬送,機械L
【０１２１】
次に、前記（ニ）の変数（補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）の構築方法の一例を説明する。
変数・定数構築部１０８は、製品オーダ生成部１０７で生成された「各オーダ番号」を抽出し、製品オーダの「オーダ番号」別の補充開始時在庫量と補充終了時在庫量を決定変数として構築する。
【０１２２】
本実施形態では、例えば、以下の決定変数が構築される。
補充開始時在庫量00001、補充終了時在庫量00001
補充開始時在庫量00002、補充終了時在庫量00002
・・・
補充開始時在庫量N、補充終了時在庫量N
【０１２３】
以上のようにして決定変数の構築が終了した後、変数・定数構築部１０８は、リソース、品種、工程および製品オーダの属性として新たに登録された属性を定数として自動的に構築する。
図３Ｃに示す例では、リソースの属性として、「使用開始可能日」が新たに設定された。そこで、変数・定数構築部１０８は、以下の（ホ）、（ヘ）に示す定数を構築する。
（ホ）使用開始可能日リソース名
使用開始可能日リソース名は、リソース名別の使用開始可能日である。
本実施形態では、例えば、以下の定数が使用開始可能日リソース名の初期値として構築される。
使用開始可能日機械1＝2016/1/24
使用開始可能日機械2＝2016/1/25
・・・
使用開始可能日機械L＝2016/1/22
【０１２４】
（ヘ）立案開始時刻、立案終了時刻
本実施形態では、例えば、以下の定数が構築される。
立案開始時刻＝2016/1/24  8:00
立案終了時刻＝2016/1/31  23:59
【０１２５】
変数・定数構築部１０８は、例えば、ＣＰＵが、ＨＤＤ等から、製品オーダと工程情報とを読み出して、前述した変数および定数を作成し、そのデータをＲＡＭ等に記憶することにより実現される。
【０１２６】
（定式化部１０９）
定式化部１０９は、変数・定数構築部１０８で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、制約条件入力登録部１０４で設定された制約式の内容と、に基づいて制約式を定式化する。以下に本実施形態において定式化される制約式の一例を説明する。
＜開始、終了の制約式＞
定式化部１０９は、変数・定数構築部１０８で構築された変数を用いて、以下の（４）式に示す制約式を定式化する。
【０１２７】
【数１】
2017187979.tif 000003
【０１２８】
（４）式は、同一のオーダ番号、同一の工程において、各リソースの使用開始時刻と終了時刻とが逆転してはならないことを表す。尚、（４）式の制約式は、制約条件入力登録部１０４で設定された制約式の内容とは別の（物理的な理由から定まる）制約式である。その他のオーダ番号００００２，・・・，Ｎについても（４）式と同様の制約式が定式化される。
【０１２９】
＜工程間の制約式＞
定式化部１０９は、工程入力登録部１０３により登録された工程情報と、製品オーダ生成部１０７で生成された製品オーダとに基づき、変数・定数構築部１０８で構築された変数を用いて、以下の（５）式に示す制約式を定式化する。
【０１３０】
【数２】
2017187979.tif 000004
【０１３１】
（５）式は、同一のオーダ番号において、当該オーダ番号の製品オーダに（品種を介して）関連付けられた工程順で各リソースを使用しなければならないことを表す。その他のオーダ番号００００２，・・・，Ｎについても（５）式と同様の制約式が定式化される。
【０１３２】
＜処理時間の制約式＞
定式化部１０９は、リソース入力登録部１０１により登録されたリソース情報と、工程入力登録部１０３により登録された工程情報と、品種入力登録部１０２により登録された品種情報と、製品オーダ生成部１０７で生成された製品オーダとに基づき、変数・定数構築部１０８で構築された変数を用いて、以下の（６）式に示す制約式を定式化する。
【０１３３】
【数３】
2017187979.tif 000005
【０１３４】
（６）式は、同一のオーダ番号において、当該オーダ番号の製品オーダの各工程の処理を実行するリソースの処理量（最大能力×稼働時間）は、当該製品オーダに関連づけられた品種のタンクへの搬送量（補充量）に一致することを表す。前述したように、タンクの在庫量は、需要量に応じて減少する。従って、当該製品オーダに関連づけられた品種のタンクへの搬送量（補充量）は、当該製造オーダの製造オーダ量（＝補充終了時在庫量−補充開始時在庫量）と、当該品種の需要量（＝０．１４）に、最後の工程順Ｐである搬送を実行するリソースの稼働時間（＝終了時刻−開始時刻）をかけた値との和になる。その他のオーダ番号００００２，・・・，Ｎについても（６）式と同様の制約式が定式化される。
【０１３５】
＜在庫の制約＞
定式化部１０９は、リソース入力登録部１０１により登録されたリソース情報と、工程入力登録部１０３により登録された工程情報と、品種入力登録部１０２により登録された品種情報と、製品オーダ生成部１０７で生成された製品オーダと、立案期間入力登録部１０６により登録された立案開始時刻とに基づき、変数・定数構築部１０８で構築された変数を用いて、以下の（７）式および（８）式に示す制約式を定式化する。
【０１３６】
【数４】
2017187979.tif 000006
【０１３７】
（７）式は、或るオーダ番号の製造オーダの補充開始時在庫量は、当該製造オーダに対応する品種の始在庫量から、需要量に応じた当該品種の減少量を引いた値であることを示す。需要量に応じた当該品種の減少量は、当該品種の需要量（０．１４、０．２１）と、当該品種を生産するための最後の工程（工程順Ｐの搬送）の開始時刻から、当該始在庫量をカウントした時刻を減算した値との積により表される。尚、ここでは、初回の生産計画を作成する際の式を示しているので、始在庫量をカウントした時刻は、立案開始時刻になる。
【０１３８】
（８）式は、或るオーダ番号の製造オーダの補充終了時在庫量は、当該製造オーダの補充開始時在庫量に対し、当該製造オーダに対応する品種の需要量に応じた減少量を引くことと、当該品種の搬送（補充）による増加量を足すことを行った値になることを示す。当該製造オーダに対応する品種の需要量に応じた減少量は、当該品種を生産するための最後の工程（工程順Ｐの搬送）の稼働時間（＝終了時刻−開始時刻）と、当該品種の需要量（＝０．１４）との積により表される。当該品種の搬送（補充）による増加量は、当該品種を生産するための最後の工程（工程順Ｐの搬送）の稼働時間と、当該搬送を行うリソースの最大能力（＝１．２）との積により表される。
【０１３９】
＜複数リソース同時利用制約の制約式＞
定式化部１０９は、工程入力登録部１０３により登録された工程情報と、製品オーダ生成部１０７で生成された製品オーダと、図７に示す複数リソース同時利用制約設定画面７００を用いて制約条件入力登録部１０４により設定された複数リソース同時利用制約の内容とに基づき、変数・定数構築部１０８で構築された変数および定数を用いて、以下の（９）式に示す制約式を定式化する。
【０１４０】
【数５】
2017187979.tif 000007
【０１４１】
（９）式において、Ｍは十分に大きな正の値である。
図７Ｂに示す例の「制約１−１」では、「タンク１操業」における「破砕」と、「タンク２操業」における「破砕」に対し、「機械１」を同時に使用することができないことが示されている。従って、「タンク１操業」の「破砕」が「タンク２操業」の「破砕」よりも後に行われる場合には、「タンク１操業」の「破砕」で使用される「機械１」の開始時刻よりも、「タンク１操業」の「破砕」で使用される「機械１」の終了時刻の方が遅い時刻であり、且つ、その時間差が「機械１」の最小利用間隔以上でなければならない。また、「タンク１操業」の「破砕」が「タンク２操業」の「破砕」よりも先に行われる場合には、「タンク１操業」の「破砕」で使用される「機械１」の終了時刻の方が、「タンク２操業」の「破砕」で使用される「機械１」の開始時刻よりも早い時刻であり、且つ、その時間差が「機械１」の最小利用間隔以上でなければならない。（９）式の最初の式は、前者に対応し、２つ目の式は、後者に対応する。また、図７Ｂの制約１−２に従い、オーダ番号００００２同士にも、（９）式と同様の制約式が定式化される。尚、リソース登録画面３００において、最小利用間隔を登録しない場合には、例えば、（９）式の右辺を「０（ゼロ）」にすればよい。
【０１４２】
＜リソース同時利用制限制約の制約式＞
定式化部１０９は、工程入力登録部１０３により登録された工程情報と、製品オーダ生成部１０７で生成された製品オーダと、図８に示すリソース同時利用制限制約設定画面８００を用いて制約条件入力登録部１０４により設定されたリソース同時利用制限制約の内容とに基づき、変数・定数構築部１０８で構築された変数を用いて、以下の（１０）式に示す制約式を定式化する。
【０１４３】
【数６】
2017187979.tif 000008
【０１４４】
（１０）式において、Ｍは十分に大きな正の値である。
図８Ｂに示す例では、破砕工程が機械１をリソースとして使用する工程である場合には、整粒工程および搬送工程でも機械１をリソースとして使用しなければならないことを示す。即ち、使用可否00001,粉砕,機械1＝１ならば、使用可否00001,整粒,機械1＝１、且つ、使用可否00001,搬送,機械1＝１とする。（１０）式は、このことに対応する。
【０１４５】
＜リソース稼働制約の制約式＞
定式化部１０９は、工程入力登録部１０３により登録された工程情報と、製品オーダ生成部１０７で生成された製品オーダと、図９に示すリソース稼働制約設定画面９００を用いて制約条件入力登録部１０４により設定されたリソース稼働制約の内容と、に基づき、変数・定数構築部１０８で構築された変数を用いて、以下の（１１）式に示す制約式を定式化する。
【０１４６】
【数７】
2017187979.tif 000009
【０１４７】
（１１）式において、Ｍは十分に大きな正の値である。
図９Ｂに示す例では、２０１６年１月２５日９時３０分から２０１６年１月２７日８時３０分のまでの間は、リソース名が「機械１」のリソースは、その最大能力の０．７倍の能力で使用しなければならないことと、２０１６年１月２７日８時３０分から２０１６年１月２８日６時００分のまでの間は、リソース名が「機械２」のリソースは、使用してはいけない（最大能力の０倍の能力で使用しなければならない）ことを示す。（１１）式では、これらのうち前者についてのみ示すが、後者についても（１１）式と同様にして得られる。ここで、右辺の「／１．０」は、機械１の最大能力(図３Ｂ参照）で割ることを示している。この最大能力値は、工程によらず、即ち破砕工程についても整粒工程についても共通である。
【０１４８】
＜リソースの稼働開始制約の制約式＞
定式化部１０９は、リソース入力登録部１０１により登録されたリソース情報と、工程入力登録部１０３により登録された工程情報と、製品オーダ生成部１０７で生成された製品オーダと、に基づき、変数・定数構築部１０８で構築された変数を用いて、以下の（１２）式に示す制約式を定式化する。
【０１４９】
【数８】
2017187979.tif 000010
【０１５０】
（１２）式は、各リソースは、使用開始可能日よりも遅い時刻でしか使用できないことを示す。
【０１５１】
＜目的関数の定式化＞
次に、定式化部１０９は、変数・定数構築部１０８で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、目的関数入力登録部１０５で設定された目的の内容とに基づいて目的関数を定式化する。以下に本実施形態において定式化される目的関数の一例を説明する。
【０１５２】
定式化部１０９は、図１０に示す目的設定画面１０００を用いて目的関数入力登録部１０５により設定された目的の内容に基づき、変数・定数構築部１０８で構築された変数および定数を用いて、以下の（１２）式に示す目的関数Ｆを定式化する。
【０１５３】
【数９】
2017187979.tif 000011
【０１５４】
図１０に示す例では、「タンク１操業」で実行される「破砕」の「処理時間最小」を目的とし、その重要度を「５」とすることが設定されている。従って、（１３）式の右辺第１項のように目的関数が定式化される。また、「タンク２操業」で実行される「搬送」の「在庫下限厳守」を目的とし、その重要度を「１０」とすることが設定されている。従って、（１３）式の右辺第１項のように目的関数が定式化される。
【０１５５】
尚、（１３）式の「５」および「１０」（＝重要度）は、重みである。これらの重みは、「タンク１操業」で実行される「破砕」の「処理時間最小」と、「タンク２操業」で実行される「搬送」の「在庫下限厳守」とのバランスをとるためのものであり、両者の重要度に応じて定められるものである。このように、（１３）式に示す例では、「タンク１操業」で実行される「破砕」の「処理時間最小」と、「タンク２操業」で実行される「搬送」の「在庫下限厳守」との重み付き線形和で目的関数Ｆを定式化する場合を例に挙げて示す。
【０１５６】
定式化部１０９は、例えば、ＣＰＵが、ＨＤＤ等から、リソース情報、工程情報および製品オーダを読み出すと共に、ＲＡＭ等から変数、定数、制約・目的の内容を読み出して、以上の制約式と目的関数を構築し、そのデータをＲＡＭ等に記憶することにより実現される。
【０１５７】
（計画作成部１１０）
計画作成部１１０は、数理計画法（例えば混合整数計画法）による最適化計算を行って、定式化部１０９で定式化された制約式に基づく制約を満足する範囲で、定式化部１０９で定式化された目的関数Ｆを最小にする決定変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）の値を生産計画として導出する。
【０１５８】
例えば、以下のような決定変数の値が導出される。
【０１５９】
開始時刻00001,破砕,機械1＝2016/1/24  8:00
終了時刻00001,破砕,機械1＝2016/1/24  9:12
開始時刻00001,整粒,機械2＝2016/1/24  9:12
終了時刻00001,破砕,機械2＝2016/1/24  9:48
・・・
開始時刻00001,搬送,機械L＝2016/1/24  13:00
終了時刻00001,搬送,機械L＝2016/1/24  14:00
補充開始時在庫量00001＝0.60［ｔｏｎ］
補充終了時在庫量00001＝1.66［ｔｏｎ］
開始時刻00002,破砕,機械1＝2016/1/24  11:00
終了時刻00002,破砕,機械1＝2016/1/24  12:30
開始時刻00002,整粒,機械L-1＝2016/1/24  12:30
終了時刻00002,破砕,機械L-1＝2016/1/24  14:50
・・・
開始時刻00002,搬送,機械L-1＝2016/1/24  15:40
終了時刻00002,搬送,機械L-1＝2016/1/24  16:50
補充開始時在庫量00002＝0.40［ｔｏｎ］
補充終了時在庫量00002＝1.48［ｔｏｎ］
・・・
開始時刻N,・・・,・・・＝2016/1/24  18:00
終了時刻N,・・・,・・・＝2016/1/24  20:40
開始時刻N,・・・,・・・＝2016/1/24  20:40
終了時刻N,・・・,・・・＝2016/1/24  22:00
・・・
開始時刻N,・・・,・・・＝2016/1/24  22:00
終了時刻N,・・・,・・・＝2016/1/25  00:24
補充開始時在庫量N＝0.30［ｔｏｎ］
補充終了時在庫量N＝2.20［ｔｏｎ］
【０１６０】
計画作成部１１０は、以上のようにして作成した生産計画において、全ての品種の最後の工程（工程順がＰの工程）の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になったか否かを判定する。この判定の結果、全ての品種の最後の工程（工程順がＰの工程）の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になっていない場合には、立案期間分の求解が完了していない。
【０１６１】
そこで、計画作成部１１０は、以上のようにして作成した生産計画に基づいて、製品オーダ生成部１０７により抽出されたＮ個の品種の在庫量計算時時刻と、当該在庫量計算時時刻における当該品種の在庫量（始在庫量）を更新することを製品オーダ生成部１０７に指示する。即ち、計画作成部１１０は、或る品種の補充終了時在庫量オータ゛番号を始在庫量にし、当該品種の在庫量が補充終了時在庫量オータ゛番号になった時刻（終了時刻オータ゛番号,搬送,リソース名）を在庫量計算時時刻にすることを、製品オーダ生成部１０７に指示する。これにより、製品オーダ生成部１０７は、直前に抽出したＮ個の品種の在庫量計算時時刻と、当該在庫量計算時時刻における当該品種の在庫量（始在庫量）を更新する。
【０１６２】
また、計画作成部１１０は、以上のようにして作成した生産計画に基づいて、終了時刻オータ゛番号,工程名,リソース名に対応するリソース名のそれぞれについて、終了時刻オータ゛番号,工程名,リソース名が最も遅い時刻の値を、使用開始可能日リソース名に更新することを、変数・定数構築部１０８に指示する。これにより、変数・定数構築部１０８は、使用開始可能日リソース名を更新する。但し、ここで使用開始可能日リソース名は、時刻精度まで情報を持っているものとする。このように、リソースに処理が一旦割り付けられると、当該リソースは、使用開始可能日リソース名以降の時刻でしか、処理を行えないものとする。
【０１６３】
以上のようにして更新された始在庫量、在庫量計算時時刻、および使用開始可能日リソース名を用いて、前述した製品オーダ生成部１０７、変数・定数構築部１０８、定式化部１０９、および計画作成部１１０の処理を、全ての品種の最後の工程（工程順がＰの工程）の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になるまで繰り返し行うことで、立案期間分の求解が完了する。
計画作成部１１０は、例えば、ＣＰＵが、ＲＡＭ等から、定式化された目的関数および制約式のデータを読み出して、生産計画を求め、その結果をＲＡＭ等に記憶することにより実現される。
【０１６４】
（計画表示部１１１）
計画作成部１１０により立案期間分の求解が完了すると、立案開始時刻から立案終了時刻までの間の生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）を表示装置に表示する。
計画表示部１１１は、例えば、ＣＰＵが、ＲＡＭ等から、決定変数（（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号））を読み出して、生産計画の表示データを生成し、表示装置に出力することにより実現される。
（計画管理部１１２）
計画管理部１１２は、計画作成部１１０で得られた生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）のデータを管理する。より具体的には、計画管理部１１２は、生産計画を立案する際にオペレータによりスケジューリング装置１００に対して入力された入力情報と、生産計画の立案結果を示す立案結果情報とをセットで記憶媒体に記憶し、必要に応じて（オペレータからの要求等に応じて）、それらを取り出して出力する。このようにすることにより、例えば、前回生産計画を立案したときに使用した入力情報を少し変更して、再度新たな生産計画を立案して、保持することができる。また、この機能を実現することで、少し条件（入力情報）の違う場合の生産計画の立案の結果を比較すること等が可能となる。
計画管理部１１２は、例えば、ＣＰＵが、ＲＡＭ等から、生産計画のデータを読み出して、ＨＤＤ等に記憶する等ことにより実現される。
【０１６５】
（計画出力部１１３）
計画出力部１１３は、計画管理部１１２により管理されている生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）のデータを出力する。例えば、計画出力部１１３は、ユーザによる入力装置の操作に基づいて、生産計画に係る信号を、ネットワークを介して外部装置１２０に送信したり、生産計画に係るデータを可搬型の記憶媒体に記憶したりすることができる。
【０１６６】
リソース名で特定されるリソースが作業員等の人的資源である場合と、当該リソースが作業員等の人的資源の作業が必要になる物的資源である場合、計画出力部１１３は、例えば、当該人的資源が参照する表示装置に、生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）の内容を示す情報を表示させることを指示するための表示指示信号を、生産計画に係る信号として送信する。
【０１６７】
一方、リソース名で特定されるリソースが作業員等の人的資源の作業を必要としないものである場合、計画出力部１１３は、例えば、生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）に従って、各工程において開始時刻に動作を開始し、終了時刻に動作を終了することを各リソースに指示するための制御信号を、生産計画に係る信号として該当するリソースに送信する。この場合には、リソースが外部装置１２０になる。各リソースは、計画出力部１１３から送信された制御信号に基づいて、自動的に動作する。
計画出力部１１３は、例えば、ＣＰＵが、ＨＤＤ等から、生産計画のデータを読み出して、インターフェースを介して、スケジューリング装置１００の外部に出力することにより実現される。
【０１６８】
（スケジューリング装置１００の動作フローチャート）
次に、図１３のフローチャートを参照しながら、スケジューリング装置１００の処理動作の一例を説明する。
まず、ステップＳ１３０１において、リソース入力登録部１０１は、リソース登録画面３００を表示し、リソース登録画面３００に対する操作の内容に基づいて、リソース情報を登録する。
【０１６９】
次に、ステップＳ１３０２において、品種入力登録部１０２は、品種登録画面４００を表示し、品種登録画面４００に対する操作の内容に基づいて、品種情報を登録する。
次に、ステップＳ１３０３において、工程入力登録部１０３は、工程登録画面６００を表示し、工程登録画面６００に対する操作の内容に基づいて、工程情報を登録する。
【０１７０】
次に、ステップＳ１３０４において、制約条件入力登録部１０４は、複数リソース同時利用制約設定画面７００を表示し、複数リソース同時利用制約設定画面７００に対する操作の内容に基づいて、複数リソース同時利用制約の内容を登録する。また、制約条件入力登録部１０４は、リソース同時利用制限制約設定画面８００を表示し、リソース同時利用制限制約設定画面８００に対する操作の内容に基づいて、リソース同時利用制限制約の内容を登録する。また、制約条件入力登録部１０４は、リソース稼働制約設定画面９００を表示し、リソース稼働制約設定画面９００に対する操作の内容に基づいて、リソース稼働制約の内容を登録する。
【０１７１】
次に、ステップＳ１３０５において、目的関数入力登録部１０５は、目的設定画面１０００を表示し、目的設定画面１０００に対する操作の内容に基づいて、目的関数の内容を登録する。
次に、ステップＳ１３０６において、立案期間入力登録部１０６は、立案期間設定画面１１００を表示し、立案期間設定画面１１００に対する操作の内容に基づいて、立案開始時刻と立案終了時刻を登録する
次に、ステップＳ１３０７において、製品オーダ生成部１０７は、製品オーダを生成する製品オーダ生成処理を行う。製品オーダ生成処理の詳細については、図１４を参照しながら後述する。
【０１７２】
次に、ステップＳ１３０８において、変数・定数構築部１０８は、リソース情報と、工程情報と、製品オーダと、ステップＳ１３０６で登録された立案開始時刻および立案終了時刻とを用いて、変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、使用可否オータ゛番号,工程名,リソース名、前後判断オータ゛番号,オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）と定数（立案開始時刻、立案終了時刻、使用開始可能日リソース名）を構築する。
【０１７３】
次に、ステップＳ１３０９において、定式化部１０９は、ステップＳ１３０８で構築された変数および定数と、ステップＳ１３０２で登録された品種情報と、ステップＳ１３０３で登録された工程情報と、ステップＳ１３０７で生成された製品オーダと、ステップＳ１３０４で登録された制約の内容と、に基づいて制約式を定式化する（（４）式〜（１２）式等を参照）。
【０１７４】
次に、ステップＳ１３１０において、定式化部１０９は、ステップＳ１３０８で構築された変数および定数と、ステップＳ１３０２で登録された品種情報と、ステップＳ１３０３で登録された工程情報と、ステップＳ１３０７で生成された製品オーダと、ステップＳ１３０５で登録された目的関数の内容と、に基づいて目的関数を定式化する（（１３）式等を参照）。
【０１７５】
次に、ステップＳ１３１１において、計画作成部１１０は、数理計画法による最適化計算を行って、ステップＳ１３０９で定式化された制約式に基づく制約を満足する範囲で、ステップＳ１３１０で定式化された目的関数Ｆを最小にする決定変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）を生産計画として導出する。
【０１７６】
次に、ステップＳ１３１２において、計画作成部１１０は、ステップＳ１３１１で導出した生産計画において、全ての品種の最後の工程（工程順がＰの工程）の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になったか否かを判定する。この判定の結果、全ての品種の最後の工程（工程順がＰの工程）の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になっていない場合には、立案期間分の求解が完了していないとして、ステップＳ１３１３に進む。
【０１７７】
ステップＳ１３１３に進むと、計画作成部１１０は、ステップＳ１３１１で導出した生産計画に基づいて、製品オーダ生成部１０７により抽出されたＮ個の品種の在庫量計算時時刻と、当該在庫量計算時時刻における当該品種の在庫量（始在庫量）を更新することを製品オーダ生成部１０７に指示する。また、計画作成部１１０は、ステップＳ１３１１で導出した生産計画に基づいて、終了時刻オータ゛番号,工程名,リソース名に対応するリソース名のそれぞれについて、終了時刻オータ゛番号,工程名,リソース名が最も遅い時刻の値を、使用開始可能日リソース名に更新することを、変数・定数構築部１０８に指示する。
【０１７８】
そして、前述したステップＳ１３０７に戻り、更新後の在庫量計算時時刻、始在庫量、および使用開始可能日リソース名に基づいて、ステップＳ１３０７〜Ｓ１３１１の処理を行い、立案期間の残りの期間における生産計画を作成する。
【０１７９】
以上のようにしてステップＳ１３１２において、全ての品種の最後の工程（工程順がＰの工程）の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になると判定されると、ステップＳ１３１４に進み、計画管理部１１２は、立案開始時刻から立案終了時刻までの間の生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）を記憶する。
【０１８０】
次に、ステップＳ１３１３において、計画表示部１１１は、立案開始時刻から立案終了時刻までの間の生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）を表示する。
そして、図１３のフローチャートによる処理を終了する。尚、前述したように、ステップＳ１３１２の処理の後、計画出力部１１３は、立案開始時刻から立案終了時刻までの間の生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号）を外部装置１２０に出力してもよい。
【０１８１】
次に、図１４のフローチャートを参照しながら、図１３のステップＳ１３０７の製品オーダ生成処理の詳細について説明する。
まず、ステップＳ１４０１において、製品オーダ生成部１０７は、ステップＳ１３０２で登録された品種情報の１つを選択する。
【０１８２】
次に、ステップＳ１４０２において、製品オーダ生成部１０７は、ステップＳ１４０１で選択した品種情報における品種の属性（需要量、始在庫量、および下限在庫量）に基づいて、（１）式により、在庫維持時間を導出する。尚、２回目以降のステップＳ１４０２の処理では、図１３のステップＳ１３１３で更新された始在庫量が用いられる。
【０１８３】
次に、ステップＳ１４０３において、製品オーダ生成部１０７は、ステップＳ１３０２で登録された品種情報における品種の属性（需要量、上限在庫量、下限在庫量）と、ステップＳ１３０１で登録されたリソース情報におけるリソースの属性（最大能力）とに基づいて、（２）式により、ステップＳ１４０１で選択した品種情報における品種の製品オーダ量を導出する。
【０１８４】
次に、ステップＳ１４０４において、製品オーダ生成部１０７は、ステップＳ１４０３で導出した製品オーダ量と、ステップＳ１３０１で登録されたリソース情報におけるリソースの属性（最大能力）とに基づいて、ステップＳ１４０３で導出した製品オーダ量の質量の製品を生産するための工程順１〜Ｐ−１の工程における処理時間の合計値（（３）式の右辺第３項の値）を導出する。
【０１８５】
次に、ステップＳ１４０５において、製品オーダ生成部１０７は、在庫量計算時時刻と、ステップＳ１４０１で導出した在庫維持時間と、ステップＳ１４０４で導出した処理時間の合計値とに基づいて、（３）式により、処理順序１開始時刻を導出する。尚、１回目のステップＳ１４０４の処理では、在庫量計算時時刻は、立案開始時刻になる。２回目以降のステップＳ１４０４の処理では、在庫量計算時時刻は、図１３のステップＳ１３１３で更新された在庫量計算時時刻になる。
【０１８６】
次に、ステップＳ１４０６において、製品オーダ生成部１０７は、ステップＳ１３０２で登録された品種情報を全て選択したか否かを判定する。この判定の結果、ステップＳ１３０２で登録された品種情報を全て選択していない場合には、ステップＳ１４０１に戻る。そして、未選択の品種情報について、ステップＳ１４０１〜Ｓ１４０５の処理を行い、ステップＳ１３０２で登録された品種情報における全ての品種についての処理順序１開始時刻を導出するまで、ステップＳ１４０１〜Ｓ１４０６の処理を繰り返し行う。
【０１８７】
そして、ステップＳ１３０２で登録された品種情報における全ての品種についての処理順序１開始時刻が導出されると、ステップＳ１４０７に進む。
ステップＳ１４０７に進むと、製品オーダ生成部１０７は、処理順序１開始時刻が早いものから順に品種をソートする。
【０１８８】
次に、ステップＳ１４０８において、製品オーダ生成部１０７は、ステップＳ１４０７でソートした品種から、上位Ｎ個の品種を抽出する。
次に、ステップＳ１４０９において、製品オーダ生成部１０７は、ステップＳ１４０８で抽出したＮ個の品種に対して、生産計画の立案対象となる製品オーダを生成する（図１２を参照）。
そして、図１４のフローチャートに戻る。
【０１８９】
（まとめ）
以上のように本実施形態では、リソース、品種、および工程を相互に関連付けて登録する。そして、リソース情報に含まれるリソースの属性（最大能力）と、工程情報に含まれる工程の属性（工程順、各工程で使用するリソース名）と、品種情報に含まれる品種の属性（需要量、始在庫量、上限在庫量、下限在庫量）と、に基づいて、需要量に従って在庫量が減少する品種を補充するために当該品種の生産を開始するタイミングである処理順序１開始時刻と、当該品種の補充量である製品オーダ量と、当該品種を特定する情報である品種名と、製品オーダの識別情報であるオーダ番号とを属性として含む製品オーダを自動的に生成する。これにより、リソース、品種、工程および製品オーダが相互に関連付けられる。
【０１９０】
これら登録された情報から、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を構築する。これら相互に関連付けられた「品種、工程、およびリソース」の識別情報の選択入力欄を用いて表記した制約式の内容を含む制約設定画面を表示する。この制約設定画面に対するユーザの選択入力の結果に基づいて、制約の内容を設定する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて制約式を定式化する。
【０１９１】
また、これら相互に関連付けられた「品種および工程」と、目的の内容を示す文字情報と、当該目的の重要度とを用いて記述した目的の内容と、その選択入力欄と、を含む目的設定画面を表示する。この目的設定画面に対するユーザの選択入力の結果に基づいて、目的の内容を登録する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて目的関数を定式化する。
【０１９２】
従って、高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画を、数理計画法を用いて立案することを可能とする仕組みを提供することができる。
また、本実施形態では、全ての品種ではなく、処理順序１開始時刻が早いものから順にＮ個の品種について製品オーダを自動的に生成するので、計算負荷を小さくすることができる。
【０１９３】
（変形例）
本実施形態では、リソース情報、品種情報、および工程情報を、画面に対する入力に基づいて作成する場合を例に挙げて説明した。しかしながら、例えば、これらの情報を、スケジューリング装置１００とは別の情報処理装置で作成し、作成した情報をスケジューリング装置１００に取り込んで登録してもよい。
【０１９４】
また、本実施形態では、目的関数が重み付き線形和で表される場合を例に挙げて説明した。しかしながら、目的関数は、重み付き線形和に限定されない。例えば、（１２）式の右辺の［］内の「（終了時刻オータ゛番号,工程名,リソース名−開始時刻オータ゛番号,工程名,リソース名）」、「（０．２−補充開始時在庫量オータ゛番号）」等を、「（終了時刻オータ゛番号,工程名,リソース名−開始時刻オータ゛番号,工程名,リソース名）2」、「（０．２−補充開始時在庫量オータ゛番号）2」等としてもよい。すなわち、数理計画法は、混合整数計画法に限定されず、例えば、混合整数２次計画法でもよい。尚、本実施形態では、目的関数を最小化する場合を例に挙げて説明したが、目的に応じて目的関数を最大化するようにしてもよい。
【０１９５】
また、本実施形態では、製品が粉粒体である場合を例に挙げて説明したが、需要量に従って在庫量が減少する製品であれば、製品は、液体であってもよいし、部品であってもよい。例えば、製品として螺子を採用することができる。この場合、目的関数および制約式の変数・定数や、目的および制約を表現するための用語が、製品に応じて置き換わることは勿論である。例えば、製品の量として、質量の他に、数を採用することができる。
【０１９６】
また、本実施形態の手法は、生産計画だけでなく、物流計画にも適用することもできる。この場合、目的関数および制約式の変数・定数や、目的および制約を表現するための用語が、物流計画に適した用語に置き換わることは勿論である。
また、
【０１９７】
その他、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体および前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１９８】
（請求項との関係）
以下に、請求項の記載と実施形態の記載との関係の一例を説明する。請求項の記載が実施形態に限定されないことは、変形例等に記載した通りである。
＜請求項１、１０＞
登録手段（工程）は、例えば、リソース入力登録部１０１が、ステップＳ１３０１を実行することと、品種入力登録部１０２が、ステップＳ１３０２を実行することと、工程入力登録部１０３が、ステップＳ１３０３を実行することにより実現される（図２も参照）。
制約設定手段（工程）は、例えば、制約条件入力登録部１０４が、ステップＳ１３０４を実行することにより実現される。
前記品種、前記工程、および前記リソースの識別情報の少なくとも１つの選択入力欄は、例えば、制約条件入力欄７０１、８０１、９０１に対応する。
目的設定手段（工程）は、例えば、目的関数入力登録部１０５が、ステップＳ１３０５を実行することにより実現される。
前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄は、例えば、目的関数入力欄１００１に対応する。
製品オーダ生成手段は、例えば、製品オーダ生成部１０７が、ステップＳ１３０７を実行することにより実現される。
構築手段（工程）は、例えば、変数・定数構築部１０８が、ステップＳ１３０８を実行することにより実現される。
製品オーダ別・工程別・リソース別の開始時刻および終了時刻は、例えば、開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名に対応する。
制約式定式化手段（工程）は、例えば、定式化部１０９が、ステップＳ１３０９を実行することにより実現される。
目的関数定式化手段（工程）は、例えば、定式化部１０９が、ステップＳ１３０９を実行することにより実現される。
計画作成手段（工程）は、例えば、計画作成部１１０が、ステップＳ１３１１を実行することにより実現される。
＜請求項２＞
当該リソースの単位時間当たりの処理量である処理能力は、例えば、図３に示す最大能力に対応する。
前記品種に属する製品の生産または物流を行うために実行される工程のそれぞれの実行順は、例えば、図６に示す工程順に対応する。
当該工程のそれぞれで使用されるリソースは、例えば、図６において、「主」、「従」が示されている機械に対応する。
前記生産計画または物流計画の立案開始時の当該品種に属する製品の在庫量である始在庫量は、例えば、図４に示す始在庫量に対応する。
当該品種に属する製品の単位時間当たりの需要量は、例えば、図４に示す需要量に対応する。
前記目安値を特定するための情報は、例えば、図４に示す上限在庫量および下限在庫量に対応する。尚、前記目安値が上限在庫量から下限在庫量を引いた値に限定されないことは、前述した通りである（（２）式の上限在庫量および下限在庫量の少なくとも何れか一方に対して余裕をみることができる）。
処理開始時刻は、例えば、処理順序１開始時刻に対応する。
＜請求項３、４＞
前記品種に属する製品を在庫として補充する際に使用するリソースの処理能力は、例えば、（２）式の搬送能力に対応する。
当該品種に属する製品の単位時間当たりの需要量は、例えば、（２）式の需要量に対応する。
＜請求項５＞
前記品種に属する製品の前記始在庫量は、例えば、（１）式の始在庫量に対応し、当該品種に属する製品の単位時間当たりの需要量は、例えば、（１）式の需要量に対応し、在庫維持時間は、（１）式、（３）式の在庫維持時間に対応する。尚、（１）式において、品種に含まれる下限在庫量を用いずに、下限在庫量として固定値（例えば「０（ゼロ）」）を用いてもよい。
前記品種に属する製品の生産または物流を行うための各工程で使用される前記リソースの処理能力は、例えば、（３）式の右辺第３項の分母の処理順１能力〜処理順Ｐ−１能力に対応する。在庫量計算時時刻は、例えば、（３）式の在庫量計算時時刻に対応する。
＜請求項６＞
補充開始時在庫量は、例えば、補充開始時在庫量オータ゛番号に対応し、補充終了時在庫量は、例えば、補充終了時在庫量オータ゛番号に対応する。
前記始在庫量を更新することと、前記在庫量計算時時刻を更新することは、例えば、計画作成部１１０および製品オーダ生成部１０７が、ステップＳ１３１３を実行することにより実現される。
更新後の前記始在庫量および前記在庫量計算時時刻に基づいて、前記製品オーダ生成手段、前記構築手段、前記制約式定式化手段、前記目的関数定式化手段、および前記計画作成手段の処理を実行することは、例えば、ステップＳ１３１３を終えた後、ステップＳ１３０７〜Ｓ１３１１の処理が行われることにより実現される。
＜請求項７＞
入力手段は、例えば、立案期間入力登録部１０６が、ステップＳ１３０６を実行することにより実現される。
＜請求項８＞
前記処理開始時刻を、前記登録手段により登録された前記品種のそれぞれについて導出することは、例えば、製品オーダ生成部１０７が、ステップＳ１４０１〜Ｓ１４０６を実行することにより実現される。導出した前記処理開始時刻が早いものから順に所定数の前記品種を抽出することは、例えば、製品オーダ生成部１０７が、ステップＳ１４０８を実行することにより実現される。抽出した当該品種について前記製品オーダを生成することは、例えば、製品オーダ生成部１０７が、ステップＳ１４０９を実行することにより実現される。
【符号の説明】
【０１９９】
１００：スケジューリング装置、１０１：リソース入力登録部、１０２：品種入力登録部、１０３：工程入力登録部、１０４：制約条件入力登録部、１０５：目的関数入力登録部、１０６：立案期間入力登録部、１０７：製品オーダ生成部、１０８：変数・定数構築部、１０９：定式化部、１１０：計画作成部、１１１：計画表示部、１１２：計画管理部、１１３：計画出力部
【図１】
2017187979.tif 000012
【図２】
2017187979.tif 000013
【図３Ａ】
2017187979.tif 000014
【図３Ｂ】
2017187979.tif 000015
【図３Ｃ】
2017187979.tif 000016
【図４Ａ】
2017187979.tif 000017
【図４Ｂ】
2017187979.tif 000018
【図５】
2017187979.tif 000019
【図６Ａ】
2017187979.tif 000020
【図６Ｂ】
2017187979.tif 000021
【図６Ｃ】
2017187979.tif 000022
【図７Ａ】
2017187979.tif 000023
【図７Ｂ】
2017187979.tif 000024
【図８Ａ】
2017187979.tif 000025
【図８Ｂ】
2017187979.tif 000026
【図９Ａ】
2017187979.tif 000027
【図９Ｂ】
2017187979.tif 000028
【図１０】
2017187979.tif 000029
【図１１】
2017187979.tif 000030
【図１２】
2017187979.tif 000031
【図１３】
2017187979.tif 000032
【図１４】
2017187979.tif 000033