特許第6858490号(P6858490)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本製鉄株式会社の特許一覧
特許6858490スケジューリング装置、スケジューリング方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6858490
(24)【登録日】2021年3月26日
(45)【発行日】2021年4月14日
(54)【発明の名称】スケジューリング装置、スケジューリング方法およびプログラム
(51)【国際特許分類】
   G06Q 50/04 20120101AFI20210405BHJP
   G06Q 10/06 20120101ALI20210405BHJP
   G05B 19/418 20060101ALI20210405BHJP
【FI】
   G06Q50/04
   G06Q10/06 300
   G05B19/418 Z
【請求項の数】10
【全頁数】42
(21)【出願番号】特願2016-77350(P2016-77350)
(22)【出願日】2016年4月7日
(65)【公開番号】特開2017-187979(P2017-187979A)
(43)【公開日】2017年10月12日
【審査請求日】2019年3月4日
(73)【特許権者】
【識別番号】000006655
【氏名又は名称】日本製鉄株式会社
(73)【特許権者】
【識別番号】000203977
【氏名又は名称】日鉄テックスエンジ株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】小林 敬和
(72)【発明者】
【氏名】古川 昭仁
(72)【発明者】
【氏名】稲富 峰憲
【審査官】 田上 隆一
(56)【参考文献】
【文献】 特開2013−218644(JP,A)
【文献】 特開2004−075321(JP,A)
【文献】 特開2011−227605(JP,A)
【文献】 特開2003−216695(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00−99/00
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
品の生産または物流の過程で実行される1以上の工程と、
前記1以上の工程で使用される人的資源および物的資源であるリソースと、
前記1以上の工程のうち実行される工程の内容および実行順によって定まる品種と、
のそれぞれの情報を用いて、
製品の生産計画および物流計画の少なくともいずれかを数理計画法により立案するスケジューリング装置であって、
前記製品の在庫量を前記品種ごとに保つために必要な、当該品種ごとの補充開始時刻の目安に関する情報が含まれる製品オーダを前記品種の情報に基づいて生成する製品オーダ生成手段と、
前記工程、前記リソース、前記品種、および前記製品オーダの情報に基づいて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定する計画作成手段と、を有し、
前記品種の情報には、当該品種に属する製品の単位時間当たりの需要量が含まれ、
前記製品オーダ生成手段は、
前記品種ごとに、当該品種の製品を生産する際に実行される最初の工程の開始時刻である処理順序1開始時刻を、前記品種ごとの補充開始時刻の目安に関する情報の1つとして当該品種の情報に基づいて導出してから、当該処理順序1開始時刻が早い順にN個の品種を抽出し、
抽出した前記N個の品種の製品について、当該品種ごとの前記製品オーダを生成し、
前記計画作成手段は、
前記N個の品種の製品オーダについて生産または物流の過程で利用されるリソースを当該N個の品種間で同時利用しないための制約を設けて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定することを特徴とするスケジューリング装置。
【請求項2】
前記リソースの情報には、当該リソースの単位時間当たりの処理量である処理能力が含まれ、
前記工程の情報には、前記品種に属する製品の生産または物流を行うために実行される工程のそれぞれの実行順と、当該工程のそれぞれで使用されるリソースとが含まれ、
前記品種の情報には、前記生産計画または物流計画の立案開始時の当該品種に属する製品の在庫量である始在庫量と、当該品種に属する製品の単位時間当たりの需要量と、前記品種に属する製品の在庫量の目安値を特定するための情報とが含まれ、
前記製品オーダ生成手段は、前記リソース、前記工程、および前記品種の情報に基づいて、前記処理順序1開始時刻導出することを特徴とする請求項1に記載のスケジューリング装置。
【請求項3】
前記製品オーダ生成手段は、前記品種に属する製品を在庫として補充する際に使用するリソースの処理能力と、当該品種に属する製品の単位時間当たりの需要量と、当該品種に属する製品の在庫量の目安値を特定するための情報とに基づいて、前記需要量に従って減少する当該品種に属する製品の在庫量を当該目安値にするための当該製品の補充量である製品オーダ量を導出することを特徴とする請求項2に記載のスケジューリング装置。
【請求項4】
前記製品オーダ生成手段は、前記製品を在庫として補充する際に使用するリソースの処理能力から、当該製品の単位時間当たりの需要量を減算した値で、前記目安値を割った値に、当該リソースの処理能力を掛けた値を用いて、前記製品オーダ量を導出することを特徴とする請求項3に記載のスケジューリング装置。
【請求項5】
前記製品オーダ生成手段は、前記品種に属する製品の前記始在庫量と、当該品種に属する製品の単位時間当たりの需要量とに基づいて、当該品種に属する製品の在庫量が前記始在庫量から下限値になるまでの時間である在庫維持時間を導出し、前記品種に属する製品の生産または物流を行うための各工程で使用される前記リソースの処理能力と、当該品種に属する製品の在庫として前記始在庫量の在庫が存在する時刻である在庫量計算時時刻と、前記在庫維持時間と、前記製品オーダ量とに基づいて、前記処理順序1開始時刻を導出することを特徴とする請求項3または4に記載のスケジューリング装置。
【請求項6】
前記数理計画法による最適化計算の決定変数は、前記1以上の工程の開始時刻および終了時刻と、前記品種に属する製品の補充開始時在庫量および補充終了時在庫量とを含み、
前記計画作成手段により導出された前記決定変数に含まれる、前記品種に属する製品の前記補充終了時在庫量に、前記始在庫量を更新すると共に、前記計画作成手段により導出された前記決定変数に含まれる、前記品種に属する製品を在庫として補充する際に使用するリソースによる処理の終了時刻に、前記在庫量計算時時刻を更新し、更新後の前記始在庫量および前記在庫量計算時時刻に基づいて、前記製品オーダ生成手段および前記計画作成手段の処理を更に実行することを特徴とする請求項5に記載のスケジューリング装置。
【請求項7】
前記生産計画または物流計画の立案開始時刻および立案終了時刻を入力する入力手段を更に有し、
前記計画作成手段により導出された前記決定変数に含まれる、前記品種に属する製品を在庫として補充する際に使用するリソースによる処理の終了時刻として、記品種のそれぞれにおける終了時刻が、前記立案終了時刻または前記立案終了時刻よりも遅い時刻になるまで、前記始在庫量および前記在庫量計算時時刻の更新と、前記製品オーダ生成手段および前記計画作成手段の処理とを繰り返し実行することを特徴とする請求項6に記載のスケジューリング装置。
【請求項8】
前記目安値は、前記品種に属する製品の在庫量の上限値から下限値を引いた値を用いて導出されることを特徴とする請求項の何れか1項に記載のスケジューリング装置。
【請求項9】
製品の生産または物流の過程で実行される1以上の工程と、
前記1以上の工程で使用される人的資源および物的資源であるリソースと、
前記1以上の工程のうち実行される工程の内容および実行順によって定まる品種と、
のそれぞれの情報を用いて、
製品の生産計画および物流計画の少なくともいずれかを数理計画法により立案するスケジューリング方法であって、
製品オーダ生成手段が、前記製品の在庫量を前記品種ごとに保つために必要な、当該品種ごとの補充開始時刻の目安に関する情報が含まれる製品オーダを前記品種の情報に基づいて生成する製品オーダ生成工程と、
計画作成手段が、前記工程、前記リソース、前記品種、および前記製品オーダの情報に基づいて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定する計画作成工程と、を有し、
前記品種の情報には、当該品種に属する製品の単位時間当たりの需要量が含まれ、
前記製品オーダ生成工程は、
前記製品オーダ生成手段が、前記品種ごとに、当該品種の製品を生産する際に実行される最初の工程の開始時刻である処理順序1開始時刻を、前記品種ごとの補充開始時刻の目安に関する情報の1つとして当該品種の情報に基づいて導出してから、当該処理順序1開始時刻が早い順にN個の品種を抽出し、
抽出した前記N個の品種の製品について、当該品種ごとの前記製品オーダを生成し、
前記計画作成工程は、
前記計画作成手段が、前記N個の品種の製品オーダについて生産または物流の過程で利用されるリソースを当該N個の品種間で同時利用しないための制約を設けて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定することを特徴とするスケジューリング方法。
【請求項10】
製品の生産または物流の過程で実行される1以上の工程と、
前記1以上の工程で使用される人的資源および物的資源であるリソースと、
前記1以上の工程のうち実行される工程の内容および実行順によって定まる品種と、
のそれぞれの情報を用いて、
製品の生産計画および物流計画の少なくともいずれかを数理計画法により立案することをコンピュータに実行させるためのプログラムであって、
前記製品の在庫量を前記品種ごとに保つために必要な、当該品種ごとの補充開始時刻の目安に関する情報が含まれる製品オーダを前記品種の情報に基づいて生成する製品オーダ生成手段と、
前記工程、前記リソース、前記品種、および前記製品オーダの情報に基づいて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定する計画作成手段と、してコンピュータを機能させ、
前記品種の情報には、当該品種に属する製品の単位時間当たりの需要量が含まれ、
前記製品オーダ生成手段は、
前記品種ごとに、当該品種の製品を生産する際に実行される最初の工程の開始時刻である処理順序1開始時刻を、前記品種ごとの補充開始時刻の目安に関する情報の1つとして当該品種の情報に基づいて導出してから、当該処理順序1開始時刻が早い順にN個の品種を抽出し、
抽出した前記N個の品種の製品について、当該品種ごとの前記製品オーダを生成し、
前記計画作成手段は、
前記N個の品種の製品オーダについて生産または物流の過程で利用されるリソースを当該N個の品種間で同時利用しないための制約を設けて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スケジューリング装置、スケジューリング方法およびプログラムに関し、特に、生産計画または物流計画を数理計画法により自動的に立案するために用いて好適なものである。
【背景技術】
【0002】
製造業では、様々な工程で様々なリソースを用いて、原料から製品を生産することや、部品を組み立てて製品を作ること等が行われている。これらのリソースを有効に利用したり、在庫量を適正に調整したりするためには、生産計画、或いは物流計画を作成し、それに則った作業をすることが必須である。このことは、製造業のみならず、流通業等においても同様である。
しかしながら、製品の生産、或いは物流を行う現場では、多数の原材料、中間製品、製品が存在し、且つ、それらの加工や搬送等を行うためのリソースが複雑に関連し合っている。このため、考慮しなければならない制約が複雑になる。よって、例えば、在庫を適正に保ったり、納期に遅れずに製品を生産したりする生産計画、或いは物流計画を作成することは容易なことではない。
【0003】
このような課題を解決する技術として、従来、人の考えた或るルール(例えば、納期の近い製品からまず生産を開始するというルール)をプログラムに書き換えて、自動で生産計画、或いは物流計画を作成するスケジューリング装置が開発されてきた。
このようなルールベースのスケジューリング装置では、複雑な問題であっても何かしらの計画を高速に立案することができる。しかしながら、数学的に本当に最適な計画が立案されているのかについて裏付けがないという問題や、ルールが非常に膨大になるという問題等がある。
【0004】
そこで、これらを数学的に解決する手法として、特許文献1には、リソース、工程、品種、および製品オーダの4つのカテゴリで生産計画または物流計画を定義することで、これらを数理計画法による最適化問題に自動的に変換することが開示されている。即ち、特許文献1には、リソース、工程、品種、および製品オーダを相互に関連付けて登録し、登録したリソース、工程、品種、および製品オーダに基づいて、数理計画法による最適化計算を行うための制約式と目的関数を設定し、制約式に基づく制約を満足する範囲で目的関数の値を最大または最小にする決定変数を、数理計画法を用いて導出することが開示されている。特許文献1に記載の技術により、高度な数学的専門知識をもたない一般のユーザに対して、汎用的な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第5379261号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術では、製品の注文の内容を示す製品オーダを予め登録する必要がある。製品の需要量に応じて、在庫を適正量に保つ様に、製品オーダを設定するためには、設備の能力、在庫の推移の検討等、複雑な計算を行う必要がある。つまり、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品を生産するための製品オーダを、予め作ることは難しい。このため、簡単には製品オーダを予め決定することができない。つまり、特許文献1に記載の技術は、予め作るべき製品種および量が決定されているプッシュ型の生産には適用可能であるが、需要量に応じて、在庫を適正量に保つ様に製品を生産するプル型の生産には容易に適用できない。
【0007】
例えば、鉄鋼、石油、化学メーカが取り扱う石炭、鉱石、石油、化学薬品等の粉体、流体等は、貯槽(タンク)に入れられ、貯槽内の在庫量が減ると自動的に補充されることが求められるが、予め補充量を与えることは難しい。このため、特許文献1に記載の技術では、適切な生産計画を作成することが容易ではない。このことは、紛体、流体等に限られず、例えば、ネジ等の部品を製造する工程の生産計画を作成する場合であっても同様である。
【0008】
本発明は、以上の問題点に鑑みてなされたものであり、高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画、或いは物流計画を、数理計画法を用いて立案することを可能とする仕組みを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明のスケジューリング装置は、品の生産または物流の過程で実行される1以上の工程と、前記1以上の工程で使用される人的資源および物的資源であるリソースと、前記1以上の工程のうち実行される工程の内容および実行順によって定まる品種と、のそれぞれの情報を用いて、製品の生産計画および物流計画の少なくともいずれかを数理計画法により立案するスケジューリング装置であって、前記製品の在庫量を前記品種ごとに保つために必要な、当該品種ごとの補充開始時刻の目安に関する情報が含まれる製品オーダを前記品種の情報に基づいて生成する製品オーダ生成手段と、前記工程、前記リソース、前記品種、および前記製品オーダの情報に基づいて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始在庫量および補充終了時在庫量を少なくとも決定する計画作成手段と、を有し、前記品種の情報には、当該品種に属する製品の単位時間当たりの需要量が含まれ、前記製品オーダ生成手段は、前記品種ごとに、当該品種の製品を生産する際に実行される最初の工程の開始時刻である処理順序1開始時刻を、前記品種ごとの補充開始時刻の目安に関する情報の1つとして当該品種の情報に基づいて導出してから、当該処理順序1開始時刻が早い順にN個の品種を抽出し、抽出した前記N個の品種の製品について、当該品種ごとの前記製品オーダを生成し、前記計画作成手段は、前記N個の品種の製品オーダについて生産または物流の過程で利用されるリソースを当該N個の品種間で同時利用しないための制約を設けて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定することを特徴とする。
【0010】
本発明のスケジューリング方法は、製品の生産または物流の過程で実行される1以上の工程と、前記1以上の工程で使用される人的資源および物的資源であるリソースと、前記1以上の工程のうち実行される工程の内容および実行順によって定まる品種と、
のそれぞれの情報を用いて、製品の生産計画および物流計画の少なくともいずれかを数理計画法により立案するスケジューリング方法であって、製品オーダ生成手段が、前記製品の在庫量を前記品種ごとに保つために必要な、当該品種ごとの補充開始時刻の目安に関する情報が含まれる製品オーダを前記品種の情報に基づいて生成する製品オーダ生成工程と、計画作成手段が、前記工程、前記リソース、前記品種、および前記製品オーダの情報に基づいて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定する計画作成工程と、を有し、前記品種の情報には、当該品種に属する製品の単位時間当たりの需要量が含まれ、前記製品オーダ生成工程は、前記製品オーダ生成手段が、前記品種ごとに、当該品種の製品を生産する際に実行される最初の工程の開始時刻である処理順序1開始時刻を、前記品種ごとの補充開始時刻の目安に関する情報の1つとして当該品種の情報に基づいて導出してから、当該処理順序1開始時刻が早い順にN個の品種を抽出し、抽出した前記N個の品種の製品について、当該品種ごとの前記製品オーダを生成し、前記計画作成工程は、前記計画作成手段が、前記N個の品種の製品オーダについて生産または物流の過程で利用されるリソースを当該N個の品種間で同時利用しないための制約を設けて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定することを特徴とする。
【0011】
本発明のプログラムは、製品の生産または物流の過程で実行される1以上の工程と、前記1以上の工程で使用される人的資源および物的資源であるリソースと、前記1以上の工程のうち実行される工程の内容および実行順によって定まる品種と、のそれぞれの情報を用いて、製品の生産計画および物流計画の少なくともいずれかを数理計画法により立案することをコンピュータに実行させるためのプログラムであって、前記製品の在庫量を前記品種ごとに保つために必要な、当該品種ごとの補充開始時刻の目安に関する情報が含まれる製品オーダを前記品種の情報に基づいて生成する製品オーダ生成手段と、前記工程、前記リソース、前記品種、および前記製品オーダの情報に基づいて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定する計画作成手段と、してコンピュータを機能させ、前記品種の情報には、当該品種に属する製品の単位時間当たりの需要量が含まれ、前記製品オーダ生成手段は、前記品種ごとに、当該品種の製品を生産する際に実行される最初の工程の開始時刻である処理順序1開始時刻を、前記品種ごとの補充開始時刻の目安に関する情報の1つとして当該品種の情報に基づいて導出してから、当該処理順序1開始時刻が早い順にN個の品種を抽出し、抽出した前記N個の品種の製品について、当該品種ごとの前記製品オーダを生成し、前記計画作成手段は、前記N個の品種の製品オーダについて生産または物流の過程で利用されるリソースを当該N個の品種間で同時利用しないための制約を設けて、前記数理計画法による最適化計算を行うことにより、前記1以上の工程の開始時刻および終了時刻、ならびに前記品種に属する製品の補充開始時在庫量および補充終了時在庫量を少なくとも決定することを特徴とする。
【発明の効果】
【0012】
本発明によれば、高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画、或いは物流計画を、数理計画法を用いて立案することを可能とする仕組みを提供することができる。
【図面の簡単な説明】
【0013】
図1】スケジューリング装置の機能的な構成の一例を示す図である。
図2】リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
図3A】リソース登録画面の初期状態の一例を示す図である。
図3B】リソースの初期の属性(予め設定された属性)が入力されたリソース登録画面の一例を示す図である。
図3C】リソースの初期の属性とユーザにより新規に追加された属性とが入力されたリソース登録画面の一例を示す図である。
図4A】種登録画面の初期状態の一例を示す図である。
図4B】品種情報が入力された品種登録画面の一例を示す図である。
図5】タンク在庫量と時間との関係の一例を概念的に示す図である。
図6A】工程登録画面の初期状態の一例を示す図である。
図6B】名称が「タンク1操業」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。
図6C】名称が「タンク2操業」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。
図7A】複数リソース同時利用制約設定画面の初期状態の一例を示す図である。
図7B】複数リソース同時利用制約の情報が入力された複数リソース同時利用制約設定画面の一例を示す図である。
図8A】リソース同時利用制限制約設定画面の初期状態の一例を示す図である。
図8B】リソース同時利用制限制約の情報が入力されたリソース同時利用制限制約設定画面の一例を示す図である。
図9A】リソース稼働制約設定画面の初期状態の一例を示す図である。
図9B】リソース稼働制約の情報が入力されたリソース稼働制約設定画面の一例を示す図である。
図10】目的設定画面の一例を示す図である。
図11】立案期間設定画面の一例を示す図である。
図12】製品オーダの一例を示す図である。
図13】スケジューリング装置の処理動作の一例を説明するフローチャートである。
図14】製品オーダ生成処理の詳細を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、本発明の一実施形態を説明する。
図1は、スケジューリング装置100の機能的な構成の一例を示す図である。尚、図1に示すスケジューリング装置100は、例えば、CPU、ROM、RAM、HDDおよび各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
本実施形態のスケジューリング装置100は、特許文献1に記載の技術と同様に、ユーザによる入力装置の操作に基づいて入力された情報を用いて、目的関数および制約式を設定し、数理計画法を用いて目的関数の最適値を算出し、算出した結果から、生産計画を立案し、その結果をユーザに提示するものである。特に、本実施形態では、目的関数および制約式の設定に必要な情報を、高度な数学的専門知識をもたない一般のユーザであっても入力することができるようにする。
【0015】
まず、以下の説明で表記する「リソース、品種、工程、製品オーダ」の概要について説明する。
図2は、リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
本実施形態では、リソースと、品種と、工程と、製品オーダとが、ユーザによる入力装置の操作に基づいてスケジューリング装置100に入力され、登録される。
リソースとは、製品の生産や物流を行うための各工程で使用される人的資源および物的資源の総称であり、目的関数および制約式の少なくとも何れか一方で「定数」となる情報が、その属性として含まれる(図3の「最大能力」、「最小利用間隔」、「使用開始可能日」を参照)。物的資源は、例えば、加工や搬送等を行う機械・設備や、原材料・中間製品・製品の置場であり、生産計画や物流計画の分野で一般的に扱われるあらゆる物的資源を含む。人的資源は、例えば、作業員であり、生産計画や物流計画の分野で一般的に扱われるあらゆる人的資源を含む。
【0016】
品種とは、製品オーダ(注文)に含まれる製品の生産または物流の過程で実行される各工程と、当該各工程の実行順(処理順)と、当該各工程のそれぞれで使用されるリソースとを1つのまとまりとして他と区別するための識別情報である(図4図6を参照)。製品オーダは、この品種の何れかに属することになる(図12を参照)。
【0017】
本実施形態では、後述するように、各工程で使用されるリソースと、各品種で実行される工程とが登録され(図6を参照)、製品オーダには品種名が含まれる(図12を参照)。よって、図2に示すように、リソースと工程、工程と品種、および品種と製品オーダがそれぞれ相互に関連付けられる。すなわち、リソース、品種、工程および製品オーダは、相互に関連付けられて登録される。特許文献1では、リソース、品種、および工程に加え、製品オーダも、ユーザによる入力装置の操作に基づいて入力された情報を登録する。これに対し、本実施形態では、後述するように、リソース、品種、および工程については、特許文献1と同様に、ユーザによる入力装置の操作に基づいて入力された情報を登録するが、製品オーダについては自動的に生成して登録する。また、特許文献1では、品種については、品種名だけを登録したが、本実施形態では、製品オーダを生成するために必要な情報を品種の属性に含める(図4を参照)。
【0018】
以下に、スケジューリング装置100が有する機能の一例を詳細に説明する。以下の説明では、粉粒体(紛体または粒体)の製品として異なる品種に属する製品を生産し、生産した製品を、品種ごとに異なるタンク1〜Mに在庫として貯留(入槽)する場合の生産計画の立案を例に挙げて説明する。また、タンク1〜Mからは、タンク1〜Mごと(即ち、品種ごと)に予め設定された需要量で製品が取り出されるものとする。尚、以下の説明では、「品種に属する製品」を必要に応じて「品種」と略称する。
【0019】
(リソース入力登録部101)
リソース入力登録部101は、まず、リソース登録画面を表示装置に表示する。
図3は、リソース登録画面300の一例を示す図である。具体的に、図3Aは、リソース登録画面300の初期状態の一例を示す図である。図3Bは、リソースの初期の属性(予め設定された属性)が入力されたリソース登録画面300の一例を示す図である。図3Cは、リソースの初期の属性とユーザにより新規に追加された属性とが入力されたリソース登録画面300の一例を示す図である。
【0020】
図3において、リソース登録画面300は、GUIであり、リソース入力欄301と、登録ボタン302と、追加ボタン303と、削除ボタン304とを有する。
リソース登録画面300は、リソースを識別するリソース名と、そのリソース名で識別されるリソースの属性とを登録するための画面である。
【0021】
図3Aおよび図3Bに示すように、本実施形態では、リソースの初期の属性は、「リソース名」と、「最大能力」と、「最小利用間隔」である。
「リソース名」は、登録対象のリソースの名称を意味する。本実施形態では、例えば、「リソース名」の文字が表示されている列に、リソース名をテキスト入力することが可能となっている。
【0022】
「最大能力」は、登録対象のリソースの最大能力を意味する。本実施形態では、例えば、「最大能力」の文字が表示されている列に、リソースが単位時間当たりに処理できる重量[ton/hour]の値(数字)を、最大能力として入力することが可能となっている。
「最小利用間隔」は、登録対象のリソースの使用が終了した後に確保しなければならない時間を意味する。本実施形態では、例えば、「最小利用間隔」の文字が表示されている列に、この時間[min]の値(数字)を、最小利用間隔として入力することが可能となっている。
【0023】
ユーザが、入力装置を操作して、リソース登録画面300のリソース入力欄301の特定の行または列を指定した状態で追加ボタン303を押下すると、指定した行または列の次の行または列が追加される。
【0024】
例えば、図3Bに示すリソース入力欄301の「最小利用間隔」が示されている列を指定した状態で追加ボタン303が押下されると、「最小利用間隔」が示されている列の次に空欄の列が1列追加される。図3Cに示すリソース登録画面300では、この列に、リソースの属性として、「使用開始可能日」が追加された状態を示している。
「使用開始可能日」とは、登録対象のリソースを使用することが可能になる最初の年月日を意味する。本実施形態のリソース登録画面300では、例えば、「使用開始可能日」の文字が表示されている列に、この年月日の値(数字)を、使用開始可能日として入力することが可能となっている。
【0025】
図3Cに示すリソース登録画面300の2行目では、「リソース名」が「機械1」であり、「最大能力」が「1.0[ton/hour]」であり、「最小利用間隔」が「0.3[min]」であり、「使用開始可能日」が「2016年1月24日」であることを示すリソース情報が入力された状態を示している。
【0026】
また、「リソース名」、「最大能力」が示されている列を指定した状態で追加ボタン303が押下されると、それぞれ「リソース名」と「最大能力」との間、「最大能力」と「最小利用間隔」との間に空欄の列が1列追加される。
以上のようにすることにより、リソースの属性を追加することができる。
【0027】
また、「機械1」が示されている行を指定した状態で追加ボタン303が押下されると、「機械1」と「機械2」との間に空欄の行が1列追加される。同様に、「機械L」が示されている行を指定した状態で追加ボタン303が押下されると、「機械L」が示されている行の次に空欄の行が1行追加される。このようにすることにより、リソース(の項目)を追加することができる。
【0028】
また、ユーザが、入力装置を操作して、リソース登録画面300のリソース入力欄301の特定の行または列を指定した状態で削除ボタン304を押下すると、指定した行または列が削除される。
例えば、図3Cに示すリソース入力欄301の「使用開始可能日」が示されている列を指定した状態で削除ボタン304が押下されると、「使用開始可能日」が示されている列が削除される。このようにすることにより、リソースの属性を削除することができる。ただし、本実施形態では、初期の属性(「最大能力」および「最小利用間隔」)については削除することができないようにしている。尚、初期の属性を削除することができるようにしてもよいということは勿論である。
【0029】
また、例えば、図3Cに示すリソース入力欄301の「機械L」が示されている行を指定した状態で削除ボタン304が押下されると、「機械L」が示されている行が削除される。このようにすることにより、リソース(の項目)を削除することができる。ただし、本実施形態では、初期状態で表示される入力欄(図3Aの空欄)については削除することができないようにしている。
【0030】
以上のようにして、リソース登録画面300のリソース入力欄301に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン302が押下されると、リソース入力登録部101は、登録ボタン302が押下されたときに、リソース入力欄301に入力されている内容を記憶媒体に記憶する。
このようにして登録されたリソースの属性である「最大能力」、「最小利用間隔」、「使用開始可能日」は、後述する制約式における定数として自動的に設定される((8)式、(9)式、(11)式等を参照)。
【0031】
リソース入力登録部101は、例えば、CPUが、ユーザによる入力操作の内容に応じたリソース登録画面300を表示するための表示データを生成して、表示装置に出力すると共に、リソース情報をHDD等に記憶することにより実現される。
【0032】
(品種入力登録部102)
品種入力登録部102は、まず、品種登録画面を表示装置に表示する。
図4は、品種登録画面400の一例を示す図である。具体的に図4Aは、品種登録画面400の初期状態の一例を示す図である。図4Bは、品種情報が入力された品種登録画面400の一例を示す図である。
【0033】
図4において、品種登録画面400は、GUIであり、品種入力欄401と、登録ボタン402と、追加ボタン403と、削除ボタン404とを有する。
品種登録画面400は、品種を識別する品種名と、その品種名で識別される品種の属性を登録するための画面である。
品種名は、品種の名称であり、本実施形態の品種登録画面400では、例えば、「品種」の文字が表示されている列に、品種の名称をテキスト入力することが可能となっている。
【0034】
本実施形態では、品種の属性として、需要量、始在庫量、上限在庫量、および下限在庫量を予め設定する。
図5は、或る1つのタンク内の製品の在庫量(タンク在庫量)と時間との関係の一例を概念的に示す図である。尚、前述したように本実施形態では、複数のタンクには、それぞれ異なる品種(の製品)が貯留される。従って、図5は、或る1つの品種の在庫量と時間との関係を示していることになる。
【0035】
図5において、「始在庫量」は、当該品種についての、生産計画の立案開始時刻(図5の時間が「0(ゼロ)」のタイミング)における在庫量である。本実施形態では、図4において、例えば、「始在庫量」の文字が表示されている列に、重量[ton]の値(数字)を、始在庫量として入力が可能となっている。
【0036】
「需要量」は、当該品種の需要量である。本実施形態では、図4において、例えば、単位時間当たりの質量[ton/hour]の値(数字)を、需要量として入力することが可能となっている。図5において、斜め下にのびる直線501a、501b、501cの傾きの絶対値が需要量になる。当該品種を貯留するタンクの在庫量は、需要量に従って減ることになる。
【0037】
「上限在庫量」は、当該品種の在庫量の上限値である。例えば、当該品種を貯留するタンクの最大貯留量の90[%]を上限在庫量とすることができる。本実施形態では、図4において、例えば、「上限在庫量」の文字が表示されている列に、重量[ton]の値(数字)を、上限在庫量として入力が可能となっている。
【0038】
「下限在庫量」は、当該品種の在庫量の下限値である。例えば、当該品種を貯留するタンクの最大貯留量の30[%]を下限在庫量とすることができる。本実施形態では、図4において、例えば、「下限在庫量」の文字が表示されている列に、重量[ton]の値(数字)を、下限在庫量として入力が可能となっている。
【0039】
図4Bに示す品種登録画面400の2行目では、「品種名」が「タンク1操業」の品種の「需要量」が「0.14[ton/hour]」であり、「始在庫量」が「1.3[ton]」であり、「上限在庫量」が「3.0[ton]であり、「下限在庫量」が「0.2[ton]」であることを示す品種情報が入力された状態を示している。
【0040】
ユーザが、入力装置を操作して、品種登録画面400の品種入力欄401の特定の行または列を指定した状態で追加ボタン403を押下すると、指定した行または列の次の行または列が追加される。これにより、品種の属性の追加や品種の数の追加を行うことができる。
【0041】
また、ユーザが、入力装置を操作して、品種登録画面400の品種入力欄401の特定の行または列を指定した状態で削除ボタン404を押下すると、指定した行または列が削除される。これにより、品種の属性の削除や品種の数の削除を行うことができる。ただし、本実施形態では、初期の属性(需要量、始在庫量、上限在庫量、および下限在庫量)については削除することができないようにしている。
尚、これらの行または列の追加および削除の方法は、図3に示したリソース登録画面300で説明した方法と同じであるので、ここではその詳細な説明を省略する。
【0042】
以上のようにして、品種登録画面400の品種入力欄401に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン402が押下されると、品種入力登録部102は、登録ボタン402が押下されたときに、品種入力欄401に入力されている内容を記憶媒体に記憶する。尚、この時点では、品種情報は、他の情報と相互に関連付けられていない。
【0043】
このようにして登録された品種の属性である「需要量」(=0.14、0.11、・・・、0.21)は、後述する制約式における定数として自動的に設定される((6)式〜(8)式等を参照)。また、「始在庫量」(=1.3、0.8、・・・、2.0)は、後述する制約式における定数として自動的に設定される((7)式等を参照)。また、「下限在庫量」(=0.2、0.4、・・・、0.3)は、後述する目的関数の定数として自動的に設定される((13)式等を参照)。
【0044】
品種入力登録部102は、例えば、CPUが、ユーザによる入力操作の内容に応じた品種登録画面400を表示するための表示データを生成して、表示装置に出力すると共に、品種情報をHDD等に記憶することにより実現される。
【0045】
(工程入力登録部103)
工程入力登録部103は、まず、工程登録画面を表示装置に表示する。
図6は、工程登録画面600の一例を示す図である。具体的に、図6Aは、工程登録画面600の初期状態の一例を示す図である。図6Bは、名称が「タンク1操業」である品種で実行される工程に係る工程情報が入力された工程登録画面600の一例を示す図である。図6Cは、名称が「タンク2操業」である品種で実行される工程に係る工程情報が入力された工程登録画面600の一例を示す図である。
図6において、工程登録画面600は、GUIであり、工程入力欄601と、登録ボタン602と、追加ボタン603と、削除ボタン604とを有する。
工程登録画面600は、工程の属性を品種毎に登録するための画面である。
【0046】
本実施形態の工程登録画面600では、品種入力登録部102で登録された「品種」の名称が、各工程登録画面600のタブに表示されるようにしている。図6A図6Cの工程登録画面600に表示されているタブのうち、ハッチングされていないタブに対する入力操作が有効となる。例えば、ユーザが入力装置を操作して、図6A図6Bに示す工程登録画面600の「『タンク2操業』の文字が示されているタブ」を押下すると、図6Cに示す工程登録画面600が表示される。そして、本実施形態では、それぞれの工程登録画面600に、以下のようにして工程情報を入力し登録することにより、各品種で実行される工程に係る工程情報が登録されようにしている。工程登録画面600の内容を以下に説明する。
【0047】
図6A図6Cに示すように、本実施形態では、工程の初期の属性は、「工程順」と、「工程名」と、「『機械1』、『機械2』、・・・『機械L−1』、『機械L』」である。
「工程順」は、登録対象の工程が属する品種における当該工程の実行順を意味する。本実施形態では、「工程順」の最初の入力欄には「1」が自動的に表示される。以降、上の行から順番に整数が昇順に自動的に採番(表示)される。
「工程名」は、登録対象の工程の名称を意味する。本実施形態では、例えば、「工程名」の文字が表示されている列に、工程名をテキスト入力することが可能となっている。
【0048】
「『機械1』、『機械2』、・・・『機械L−1』、『機械L』」は、リソース入力登録部101により登録されたリソース名を示す(図3を参照)。本実施形態では、例えば、「『機械1』、『機械2』、・・・『機械L−1』、『機械L』」の文字が表示されている列に、「主」、「副」または「空欄」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ここで、「主」とは、登録対象の工程で使用される主要なリソースを示す。「副」とは、登録対象の工程で使用される副次的なリソースを示す。「空欄」は、登録対象の工程では、当該空欄となっている「リソース名(「機械1」、「機械2」、・・・「機械L−1」、「機械L」)」のリソースは使用されないことを示す。
【0049】
図6Cに示す工程登録画面600の最下行では、名称が「タンク2操業」の品種で使用される工程のうち「工程順」が「P」番目である工程(最後の工程)の「工程名」は「搬送」(タンク2への搬送)であり、当該工程で使用されるリソースは「機械L−1」と「機械L」であり、「機械L−1」が主要なリソースとして使用され、「機械L」が副次的なリソースとして使用されることを示す工程情報が入力された状態を示す。尚、前述したように本実施形態では、生産された製品をタンクに貯留する場合の生産計画を作成する。従って、製品を生産するための最後の工程(工程順Pの工程)は、タンクへの搬送になるものとする。
【0050】
ユーザが、入力装置を操作して、工程登録画面600の工程入力欄601の特定の行または列を指定した状態で追加ボタン603を押下すると、指定した行または列の次の行または列が追加される。これにより、工程の属性の追加や工程の数の追加を行うことができる。
また、ユーザが、入力装置を操作して、工程登録画面600の工程入力欄601の特定の行または列を指定した状態で削除ボタン604を押下すると、指定した行または列が削除される。これにより、工程の属性の削除や工程の数の削除を行うことができる。ただし、本実施形態では、初期の属性とリソースの入力欄(リソース名(「機械1」、「機械2」、・・・「機械L−1」、「機械L」)の欄)については削除することができないようにしている。初期の属性を削除することができるようにしてもよいということは勿論である。
尚、これらの行または列の追加および削除の方法は、図3に示したリソース登録画面300で説明した方法と同じであるので、ここではその詳細な説明を省略する。
【0051】
以上のようにして、工程登録画面600の全ての品種について、工程入力欄601に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン602が押下されると、工程入力登録部103は、登録ボタン602が押下されたときに、各品種について工程入力欄601に入力されている内容を記憶媒体に記憶する。例えば、工程入力登録部103は、工程入力欄601の各行に登録されている「『工程順』、『処理量』、および『リソース(機械1、機械2、・・・機械L)』」を相互に関連付けた情報を工程情報として記憶する。
以上のように、この工程登録画面600を用いることにより、工程を介して品種とリソースとが相互に関連付けられることになる(図2を参照)。
【0052】
工程入力登録部103は、例えば、CPUが、ユーザによる入力操作の内容に応じた工程登録画面600を表示するための表示データを生成して表示装置に出力すると共に、工程情報をHDD等に記憶することにより実現される。
【0053】
(制約条件入力登録部104)
本実施形態では、後述するように、「品種、工程、およびリソース」の少なくとも1つを用いて記述される制約を、数理計画法に則って定式化した制約式が使用される。
そこで、制約条件入力登録部104は、この制約の内容を、前述したようにして相互に関連付けられた「品種、工程、およびリソース」の識別情報の少なくとも1つの選択入力欄を用いて表記された制約式の内容が少なくとも表示される制約設定画面を表示する。そして、制約条件入力登録部104は、この制約設定画面の選択入力欄に対してユーザにより選択入力された結果に基づいて、制約の内容を設定する。本実施形態では、以下の(A)〜(C)の制約条件が設定される。以下に、制約条件入力登録部104で登録される制約条件の一例について説明する。
【0054】
(A)複数リソース同時利用制約
制約条件入力登録部104は、図7に示す複数リソース同時利用制約設定画面700を表示装置に表示する。図7Aは、複数リソース同時利用制約設定画面700の初期状態の一例を示す図である。図7Bは、複数リソース同時利用制約の情報が入力された複数リソース同時利用制約設定画面700の一例を示す図である。
図7において、複数リソース同時利用制約設定画面700は、GUIであり、制約条件入力欄701と、登録ボタン702と、同制約追加ボタン703と、次制約追加ボタン704と、削除ボタン705とを有する。
図7に示す制約条件入力欄701には、「制約名(「制約1−※」)」で識別される1つの複数リソース同時利用制約に属する複数の品種を識別するための「品種」と、それぞれの「品種」が通過する工程を識別するための「工程名」と、それぞれの「品種」が通過する工程で使用されるリソースを識別するための「リソース名」の入力欄が設けられる。
この制約条件入力欄701への入力により、或る「品種」が或る「工程(工程名)」を通過する際に使用される「リソース(リソース名)」と、その他の1又は複数の「品種」が或る「工程(工程名)」を通過する際に使用される「リソース(リソース名)」とを、同時期(時間的に重なる期間)に使用することができないことを表す複数リソース同時利用制約(「制約名(「制約1−*」)」)を登録することができる。以下に、各欄の詳細について説明する。
【0055】
制約条件入力欄701に表示される「制約名」は、リソース同時利用制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約1−1」が自動的に表示される。以降、「制約1−*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される(「制約1−1」、「制約1−2」・・・)。
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
【0056】
例えば、図6Bに示す工程登録画面600において、「タンク1操業」で使用される、「工程名」が「破砕」である工程では、「リソース名」が「機械1」および「機械2」であるリソースが使用されることになる(すなわち、主要なリソースまたは副次的なリソースとして登録されている)。この場合、制約条件入力欄701の「品種」として「タンク1操業」が選択入力され、「工程名」として「破砕」が選択入力された場合には、「リソース名」として、「機械1」および「機械2」の何れかのみを選択入力することが可能なプルダウンメニューが表示される。同様に図6Cに示す工程登録画面600において、「タンク2操業」で使用される「工程名」が「破砕」である工程では、「リソース名」が「機械1」であるリソースが使用されることになる。この場合、制約条件入力欄701の「品種」として「タンク2操業」が選択入力され、「工程名」として「破砕」が選択入力された場合には、「リソース名」として、「機械1」のみを選択入力することが可能なプルダウンメニューが表示される。
【0057】
図7Bに示す複数リソース同時利用制約設定画面700では、例えば、名称が「制約1−1」のリソース同時利用制約として、「タンク1操業」における「破砕」と、「タンク2操業」における「破砕」に対し、「機械1」を同時に使用することができないことを示す複数リソース同時利用制約が設定される。尚、図7Bにおいて、「機械1」は、複数の製品オーダに対し同時に使用することができるリソースであることから、複数リソース同時利用制約の設定を行うことができる。
【0058】
ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面700の制約条件入力欄701の「制約1−*」内の特定の行を指定した状態で同制約追加ボタン703を押下すると、指定した行の次の行に空欄の行が1行追加される。例えば、制約条件入力欄701の「制約1−1」内の2行目の行を指定した状態で同制約追加ボタン703が1回押下されることにより、「制約1−1」の選択入力欄の行数は、現在値である「2」から「3」に変更される。このようにすることにより、複数リソース同時利用制約の成立条件を増やすことができる。
【0059】
また、ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面700の制約条件入力欄701の1番左の列の領域を指定した状態で次制約追加ボタン704を押下すると、その領域の次の行に、空欄の選択入力欄が1つ追加される。このようにすることにより、複数リソース同時利用制約を追加することができる。
また、ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面700の制約条件入力欄701の「制約1−*」内の特定の行を指定した状態で削除ボタン705を押下すると、指定した行が削除される。
【0060】
また、ユーザが、入力装置を操作して、複数リソース同時利用制約設定画面700の制約条件入力欄701の1番左の列の2行目以降の領域(「制約1−*」)を指定した状態で削除ボタン705を押下すると、指定した領域(「制約1−*」)の選択入力欄(の全て)が削除される。例えば、図7Bに示す状態で、1番左の列の「制約1−2」の領域を指定した状態で削除ボタン705を押下した場合は、「制約1−2」に対する選択入力欄の全てが削除される。
【0061】
以上のようにして、複数リソース同時利用制約設定画面700の制約条件入力欄701に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン702が押下されると、制約条件入力登録部104は、登録ボタン702が押下されたときに、制約条件入力欄701に入力されている内容を記憶媒体に記憶する。
【0062】
(B)リソース同時利用制限制約
制約条件入力登録部104は、図8に示すリソース同時利用制限制約設定画面800を表示装置に表示する。図8Aは、リソース同時利用制限制約設定画面800の初期状態の一例を示す図である。図8Bは、リソース同時利用制限制約の情報が入力されたリソース同時利用制限制約設定画面800の一例を示す図である。
図8において、リソース同時利用制限制約設定画面800は、GUIであり、制約条件入力欄801と、登録ボタン802と、同制約追加ボタン803と、次制約追加ボタン804と、削除ボタン805とを有する。
【0063】
図8に示す制約条件入力欄801には、「制約名(「制約2−*」)」で識別されるリソース同時利用制限制約に属する品種を識別するための「品種」と、その「品種」における「条件」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」と、その「条件」に対する「結果」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」の入力欄が設けられる。
【0064】
この制約条件入力欄801への入力により、或る「品種」において、或る「工程(工程名)」を通過するときに或る「リソース(リソース名)」が使用されるという「条件」がある場合には、その「品種」が特定の「工程(工程名)」を通過する際には特定の「リソース(リソース名)」を使用しなければならないという「結果」が得られなければならないことを表すリソース同時利用制限制約(「制約名(「制約2−*」)」)を登録することができる。以下に、各欄の詳細について説明する。
【0065】
制約条件入力欄801に表示される「制約名」は、リソース同時利用制限制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約2−1」が自動的に表示される。以降、「制約2−*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
【0066】
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
【0067】
図8Bに示すリソース同時利用制限制約設定画面800では、名称が「制約2−1」のリソース同時利用制限制約として、「タンク1操業」で「破砕」に「機械1」を使用した場合には、「タンク1操業」では「整粒」および「搬送」に「機械1」を使用しなければならないことを示すリソース同時利用制限制約が設定される。
【0068】
ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面800の制約条件入力欄801の「制約2−*」内の特定の行を指定した状態で同制約追加ボタン803を押下すると、指定した行の次の行に空欄の行が1行追加される。このようにすることにより、リソース同時利用制限制約の成立条件を増やすことができる。
また、ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面800の制約条件入力欄801の1番左の列の領域を指定した状態で次制約追加ボタン804を押下すると、その領域の次の行に、空欄の選択入力欄が1つ追加される。このようにすることにより、リソース同時利用制限制約を追加することができる。
【0069】
また、ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面800の制約条件入力欄801の「制約2−*」内の特定の行を指定した状態で削除ボタン805を押下すると、指定した行が削除される。
また、ユーザが、入力装置を操作して、リソース同時利用制限制約設定画面800の制約条件入力欄801の1番左の列の2行目以降の領域(「制約2−*」)を指定した状態で削除ボタン805を押下すると、指定した領域(「制約2−*」)の選択入力欄(の全て)が削除される。
【0070】
以上のようにして、リソース同時利用制限制約設定画面800の制約条件入力欄801に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン802が押下されると、制約条件入力登録部104は、登録ボタン802が押下されたときに、制約条件入力欄801に入力されている内容を記憶媒体に記憶する。
【0071】
(C)リソース稼働制約
制約条件入力登録部104は、図9に示すリソース稼働制約設定画面900を表示装置に表示する。図9Aは、リソース稼働制約設定画面900の初期状態の一例を示す図である。図9Bは、リソース稼働制約の情報が入力されたリソース稼働制約設定画面900の一例を示す図である。
図9において、リソース稼働制約設定画面900は、GUIであり、制約条件入力欄901と、登録ボタン902と、追加ボタン903と、削除ボタン904とを有する。
【0072】
リソース稼働制約設定画面900の初期状態は、制約条件入力欄901の入力項目(「制約名」、「リソース名」、「開始日時」、「終了日時」、「能力」の文字が表示されている領域)と、最初の入力欄(「制約3−1」に対する入力欄)と、登録ボタン902と、追加ボタン903と、削除ボタン904とが表示された状態となる。リソース稼働制約設定画面900の初期状態では、最初の入力欄は全て空欄となっている。
【0073】
図9に示す制約条件入力欄901には、「制約名(「制約3−*」)」で識別されるリソース稼働制約に属する「リソース」を識別するための「リソース名」と、その「リソース」の「能力」の制限の「開始日時」および「終了日時」と、その制限されたときの「能力(最大能力に対する倍率)」の入力欄が設けられる。
この制約条件入力欄901への入力により、「リソース(リソース名)」の「開始日時」から「終了日時」までの期間における制限された「能力」を示すリソース稼働制約(「制約名(「制約3−*」)」)を登録することができる。以下に、各欄の詳細について説明する。
【0074】
制約条件入力欄901に表示される「制約名」は、リソース稼働制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約3−1」が自動的に表示される。以降、「制約3−*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
【0075】
「開始日時」とは、リソースの能力の制限を開始するタイミングを意味する。本実施形態では、例えば、「開始日時」の文字が表示されている列に、このタイミングを表す日時(数字)を開始日時として入力することが可能となっている。
「終了日時」とは、リソースの能力の制限を終了するタイミングを意味する。本実施形態では、例えば、「終了日時」の文字が表示されている列に、このタイミングを表す日時(数字)を終了日時として入力することが可能となっている。
「能力」とは、リソースの能力が制限される期間における当該リソースの能力を意味する。本実施形態では、例えば、最大能力に対する倍率(数字)を能力として入力することが可能となっている。
【0076】
図9Bに示すリソース稼働制約設定画面900では、例えば、名称が「制約3−1」のリソース稼働制約として、2016年1月25日9時30分から2016年1月27日8時30分のまでの間は、リソース名が「機械1」のリソースは、その最大能力の0.7倍の能力で使用しなければならないというリソース稼働制約が設定される。
【0077】
ユーザが、入力装置を操作して、リソース稼働制約設定画面900の制約条件入力欄901の特定の行を指定した状態で追加ボタン903を押下すると、指定した行の次の行に、空欄の入力欄が1つ追加される。このようにすることにより、リソース稼働制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース稼働制約設定画面900の制約条件入力欄901の特定の行を指定した状態で削除ボタン904を押下すると、指定された行の入力欄(の全て)が削除される。
【0078】
以上のようにして、リソース稼働制約設定画面900の制約条件入力欄901に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン902が押下されると、制約条件入力登録部104は、登録ボタン902が押下されたときに、制約条件入力欄901に入力されている内容を記憶媒体に記憶する。
【0079】
制約条件入力登録部104は、例えば、CPUが、HDD等から工程情報を読み出すと共に、RAM等から変数および定数を読み出して、複数リソース同時利用制約設定画面700、リソース同時利用制限制約設定画面800、およびリソース稼働制約設定画面900を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる制約をRAM等に記憶することにより実現される。
【0080】
尚、以上の(A)複数リソース同時利用制約、(B)リソース同時利用制限制約、および(C)リソース稼働制約に加えて、例えば、特許文献1に記載されている制約を、予め定まっている制約として用いることができる。また、特許文献1に記載されているように、新規の制約条件を設定することができるようにしてもよい。
【0081】
(目的関数入力登録部105)
図10は、目的設定画面1000の一例を示す図である。目的関数入力登録部105は、図10に示す目的設定画面1000を表示装置に表示する。尚、目的設定画面1000の初期状態は、図10に示すチェックボックスと、「重要度(0〜10)」の文字が示されている領域の列の行が全て未入力の状態となる。
図10において、目的設定画面1000は、GUIであり、目的関数入力欄1001と、登録ボタン1002とを有する。
【0082】
目的関数入力欄1001に表示される「関数番号」は、目的関数の識別情報である。予め設定されている数(目的関数の数)の関数番号が「00001」から昇順に目的関数入力欄1001に表示されている。
「有効要否」は、目的関数入力欄1001の各行における目的関数を採用するかどうかを示す情報である。本実施形態では、チェックボックスにチェックを入れることにより、当該チェックボックスのある行の情報で特定される目的が採用されるようにしている。
【0083】
「品種」と「工程」の文字が表示されている列には、前述したようにして相互に関連付けられて登録された品種および工程の組合せの全てが表示される。
「目的」の文字が表示されている列には、設定対象の目的がどのような目的であるのかを示す文字が表示されている。この「目的」の内容は、前述した各画面300、600、700、800、900での初期属性として登録されているものを基に、予め設定されている。
【0084】
「重要度」は、設定対象の目的の重要度を示すものである。「重要度」の文字が表示されている列には、この重要度の値として「0」〜「10」の何れかの整数を入力することが可能になっている。
尚、目的関数入力欄1001に、全ての目的の情報を一度に表示することが出来ない場合には、スクロール表示を行うようにすることができる。
【0085】
ユーザは、入力装置を操作して、所望の目的に対応する「有効要否」のチェックボックスをチェックすると共に、「重要度」の欄に重要度の値を入力する。
以上のようにして、目的設定画面1000の目的関数入力欄1001に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1002が押下されると、目的関数入力登録部105は、登録ボタン1002が押下されたときに、目的関数入力欄1001に入力されている内容を記憶媒体に記憶する。図10に示す目的設定画面1000では、「タンク1操業」で実行される「破砕」の「処理時間最小」を目的とすることと、「タンク2操業」で実行される「搬送」の「在庫下限厳守」を目的とすることとが採用される。
【0086】
以上のように、本実施形態では、目的設定画面1000の目的関数入力欄1001により、相互に関連付けられている品種および工程と、目的の内容を示す文字と、目的の重要度と、を用いて表記された目的関数の内容と、その内容の選択入力欄(チェックボックス)と、が少なくとも表示され、表示された情報の中から、ユーザが所望する情報を選択することにより、設定すべき目的の内容が選択されるようにしている。尚、かかる選択入力欄は、チェックボックスに限定されるものではない。
【0087】
目的関数入力登録部105は、例えば、CPUが、HDD等から工程情報を読み出すと共に、RAM等から変数および定数を読み出して、目的設定画面1000を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる目的関数の内容を示すデータをRAM等に記憶することにより実現される。
尚、以上の予め定まっている目的に加えて、特許文献1に記載のように、新規の目的を設定することができるようにしてもよい。
【0088】
(立案期間入力登録部106)
立案期間入力登録部106は、立案期間設定画面を表示装置に表示する。
図11は、立案期間設定画面1100の一例を示す図である。
図11において、立案期間設定画面1100は、GUIであり、立案期間入力欄1101と、登録ボタン1102とを有する。
【0089】
立案期間入力欄1101は、生産計画の立案開始時刻と立案終了時刻とを登録するための画面である。本実施形態では、例えば、「立案開始時刻」の文字が表示されている列に、立案開始時刻(数字)を入力することが可能となっている。また、「立案終了時刻」の文字が表示されている列に、立案終了時刻(数字)を入力することが可能となっている。立案期間設定画面1100により登録された「立案開始時刻」から「立案終了時刻」までの間の生産計画が作成されることになる。図11に示す例では、2016年1月24日8時00分から2016年1月31日23時59分までの生産計画を作成することが登録される。
【0090】
立案期間入力登録部106は、例えば、CPUが、ユーザによる入力操作の内容に応じた立案期間設定画面1100を表示するための表示データを生成して、表示装置に出力すると共に、生産計画の立案開始時刻と立案終了時刻とをリソース情報をHDD等に記憶することにより実現される。
【0091】
(製品オーダ生成部107)
製品オーダ生成部107は、生産すべき製品の注文の内容を示す製品オーダ情報を自動的に生成する。図5を参照しながら、本実施形態で生成される製品オーダの概念の一例を説明する。
【0092】
図5において、補充開始時刻tsは、或る品種を貯留するタンクに当該品種の補充を開始させる必要がある時刻であり、補充開始時在庫量は、補充開始時刻tsにおける当該タンクの在庫量である。補充終了時刻teは、当該タンクに当該品種の補充を終了する時刻であり、補充終了時在庫量は、補充終了時刻teにおける当該タンクの在庫量である。また、前述したように、上限在庫量は、当該品種の在庫量の上限値であり、下限在庫量は、当該品種の在庫量の下限値である。
【0093】
図5に示す例では、直線501aに示すように在庫量が始在庫量から需要量に従って減少する品種を、補充終了時在庫量になるまでタンクに補充することを注文とする。製品オーダは注文の内容を示すものである。即ち、図5において、直線502aの部分が製品オーダに対応する。直線502aに対応する製品オーダを生成した後、直線502aの終点の補充終了時在庫量を始在庫量として始在庫量と当該始在庫量の在庫が存在する時刻(後述する(3)式の在庫量計算時時刻)を更新する。そして、直線502aに対応する製品オーダを生成するときと同様にして直線502bに対応する製品オーダを導出する。このような製品オーダの導出を、生産計画の立案開始時刻(時間=0(ゼロ))から立案終了時刻まで繰り返す。
以下に、製品オーダ生成部107が製品オーダを生成する際の処理の一例を説明する。
【0094】
まず、製品オーダ生成部107は、以下の(a)〜(c)の処理を、品種入力登録部102により登録された各品種について個別に行う。図5を参照しながら、本実施形態の製品オーダ生成部107の処理の一例を説明する。
(a) 製品オーダ生成部107は、処理の対象の品種の属性(需要量、始在庫量、および下限在庫量)に基づいて、以下の(1)式により、在庫維持時間を導出する。
在庫維持時間=(始在庫量−下限在庫量)/需要量 ・・・(1)
在庫維持時間は、或る品種の在庫量が、当該品種の始在庫量から当該品種の下限在庫量になるまでの時間である。ここでは、品種の在庫量は、当該品種の需要量に従って減少し、当該品種の補充は行われないものとする。
【0095】
(b) 本実施形態では、説明を簡単にするため、或る品種のタンクへの搬送が始まると同時に当該タンクに当該品種が到達するものとする。
ここで、下限在庫量になった品種の在庫量を、当該品種の上限在庫量にまで達する量にするのにタンクに補充する必要がある当該品種の量(質量)を考える。当該品種の当該タンクへの搬送中も、当該タンクの在庫量は当該品種の需要量に従って減少する。従って、タンクに到着した品種の単位時間当たりの質量[ton/hour]が当該品種の需要量を上回る場合には、当該タンクにおける当該品種の在庫量が増える。そこで、製品オーダ生成部107は、以下の(2)式のように、下限在庫量になった品種の在庫量が上限在庫量になるようにするためにタンクに搬送させる必要がある当該品種の量を、製品オーダ量[ton]として導出する。
製品オーダ量=搬送能力×(上限在庫量−下限在庫量)/(搬送能力−需要量) ・・・(2)
【0096】
ここで、搬送能力とは、タンクに製品を搬送するリソースの最大能力であり、リソース情報から得られる(図3を参照)。(2)式に示す製品オーダ量は、複数の品種をタンクに搬送することができるリソースの取り合いを考慮していないので、(2)式の(上限在庫量−下限在庫量)に基づいて定まる在庫の補充量は目安値になる。従って、製品オーダ生成部107は、必ずしも(2)式により製品オーダ量を導出する必要はない。例えば、上限在庫量および下限在庫量の少なくとも何れか一方に対して余裕をみるようにして、(2)式の(上限在庫量−下限在庫量)を調整してもよい。上限在庫量に対して余裕をみる場合には、(2)式の(上限在庫量−下限在庫量)の上限在庫量を、例えば、上限在庫量−余裕量とし、下限在庫量に対して余裕をみる場合には、(2)式の(上限在庫量−下限在庫量)の下限在庫量を、例えば、下限在庫量+余裕量とすればよい。最終的に決定される製品オーダ量は、後述する最適化計算で導出される補充終了時在庫量から補充開始時在庫量を減算した値になる。図5に示すように、補充開始時在庫量は、補充開始時刻tsにおける在庫量であり、補充終了時在庫量は、補充終了時刻teにおける在庫量である。
【0097】
(c) 製品オーダ生成部107は、以下の(3)式により、処理順序1開始時刻を導出する。
処理順序1開始時刻=在庫量計算時時刻+在庫維持時間−製品オーダ量×(1/工程順1能力+1/工程順2能力+・・・+1/工程順(P−1)能力) ・・・(3)
【0098】
ここで、処理順序1開始時刻とは、前記(b)の処理で導出した製品オーダ量の品種の生産を開始する時刻である。即ち、処理順序1開始時刻とは、前記(b)の処理で導出した製品オーダ量の品種を生産するための工程のうち、工程順が「1」の工程(最初に実行する工程)の処理を開始する時刻である。
【0099】
在庫量計算時時刻とは、始在庫量をカウントした時刻(始在庫量の在庫がタンク内に存在する時刻)である。在庫量計算時時刻の初期値は、立案開始時刻である。前述したように、2回目以降に製品オーダを生成する際には、前回の補充終了時在庫量を始在庫量とする。従って、2回目以降に製品オーダを生成する際の在庫量計算時時刻は、前回の補充終了時在庫量をカウントした時刻(在庫量が当該補充終了時在庫量になる時刻)になる。
【0100】
工程順i能力とは、工程順がi(i=1〜P−1)の工程で使用されるリソースの最大能力であり、工程情報とリソース情報とから得られる(図3および図6を参照)。工程登録画面600において主要なリソースと副次的なリソースの双方が登録されている場合には、主要なリソース(図6の「主」と表示されているリソース)の最大能力を用いる。
【0101】
(3)式の右辺第3項は、製品オーダ量の製品を生産するための工程順1〜P−1の工程における処理時間の合計値である。前述したように、工程順がPの工程(最後の工程)は、タンクに搬送する工程であり、ここでは、或る品種のタンクへの搬送が始まると同時に当該タンクに当該品種が到達するものとしている。従って、(3)式の右辺第3項において、製品オーダ量の製品の生産を開始してから、タンクへの搬送(補充)を開始するまでの所要時間を計算している。尚、(3)式の右辺第3項のカッコ内において、工程順がPの工程(最後の工程)を、計算の対象に含めてもよい。
【0102】
以上のようにして、品種入力登録部102により登録された全ての品種について処理順序1開始時刻を導出すると、製品オーダ生成部107は、以下の(d)〜(e)の処理を行う。
(d) 製品オーダ生成部107は、各品種について、処理順序1開始時刻が早いものから順に、予め設定したN個(Nは正の整数)だけ抽出する。全ての品種について、以降の処理を行うと計算負荷が大きくなる。Nの値としては、例えば、処理順序1開始時刻が遅い品種について、今回の計画立案対象期間に在庫量を増やさなくても、下限在庫量以上の在庫量が確保される様に決定すればよい。そこで、本実施形態では、処理順序1開始時刻が早いものから順にN個の品種を選択する。
【0103】
(e) 製品オーダ生成部107は、前記(d)の処理で抽出したN個の品種に対して、生産計画の立案対象となる製品オーダを生成する。
図12は、製品オーダ生成部107で生成される製品オーダの内容の一例を表形式で示す図である。
図12において、本実施形態の製品オーダ1200は、オーダ番号、品種名、在庫維持時間、および工程処理順序1開始時刻が相互に関連付けられた情報である。尚、(d)で説明したように、製品オーダの数は、N個であるので、図12に示す例では、製品オーダを識別するオーダ番号が「00001」〜「N」の製品オーダを示している。図12に示すように、製品オーダ(オーダ番号)は、品種(品種名)と相互に関連付けられる。
【0104】
前述したように図5に示す例では、直線502a、502bが製品オーダに対応する。従って、前記(d)の処理で抽出したN個の品種については、直線502a、502bのような製品オーダが得られるが、前記(d)の処理で抽出されなかった品種については、当該品種の需要量(直線501a〜501cの傾き)に従って在庫量が減少することになる。(d)で抽出されなかった品種については、在庫量計算時時刻(始在庫量の在庫が存在する時刻)が更新されないため、製品オーダの生成の繰り返し数が大きくなると、処理順序1開始時刻が早くなり、前記(d)の処理で抽出され易くなる。
【0105】
製品オーダ生成部107は、例えば、CPUが、HDD等から、リソース情報と品種情報とを読み出して、製品オーダを生成し、そのデータをRAM等に記憶することにより実現される。
【0106】
(変数・定数構築部108)
変数・定数構築部108は、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を自動的に構築する。
本実施形態では、決定変数として、以下の(イ)〜(ニ)に示す変数を構築する。
(イ)開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名
(ロ)使用可否オータ゛番号,工程名,リソース名
(ハ)前後判断オータ゛番号,オータ゛番号,工程名,リソース名
(ニ)補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号
【0107】
開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名は、オーダ番号別・工程名別・リソース名別の開始時刻、終了時刻である。
使用可否オータ゛番号,工程名,リソース名は、0−1変数である。使用可否オータ゛番号,工程名,リソース名の値が「1」であることは、「オーダ番号」の製品オーダに対し「工程名」の工程を実行するときには「リソース名」のリソースが使用されることを示し、「0」であることは、そのようなリソースが使用されないことを示す。
前後判断オータ゛番号1,オータ゛番号2,工程名,リソース名は、0−1変数である。前後判断オータ゛番号1,オータ゛番号2,工程名,リソース名の値が「1」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号2」の製品オーダよりも先に「オーダ番号1」の製品オーダに対して使用されることを示す。一方、この値が「0」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号2」の製品オーダよりも後に「オーダ番号1」の製品オーダに対して使用されることを示す。尚、2つの製品オーダのうち予めどちらの製品オーダを先に実行させたいかを決めておく場合には、それら2つの製品オーダに対応する「前後判断オータ゛番号, オータ゛番号,工程名,リソース名」の値を「0」または「1」とする制約を設けることができる。
【0108】
補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号は、オーダ番号別の補充開始時在庫量、補充終了時在庫量である。前述したように、補充開始時在庫量は、補充開始時刻tsにおける在庫量であり、補充終了時在庫量は、補充終了時刻teにおける在庫量である(図5を参照)。
製品オーダ生成部107により生成されたN個の製品オーダ(前記(d)の処理で抽出したN個の品種)について、前記(イ)〜(ニ)に示す変数が構築される。
【0109】
まず、前記(イ)の変数(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名)の構築方法の一例を説明する。
まず、変数・定数構築部108は、製品オーダ生成部107で生成された「各オーダ番号」に対応する「品種」を抽出し(図12を参照)、工程入力登録部103で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する(図6を参照)。
次に、変数・定数構築部108は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に(品種を介して)関連付けられて登録されている「工程名」別、当該オーダ番号に(品種を介して)関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の開始時刻と終了時刻を決定変数として構築する。
【0110】
本実施形態では、例えば、以下の決定変数が構築される。
開始時刻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
【0111】
開始時刻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
・・・
【0112】
開始時刻N,破砕,機械1、終了時刻N,破砕,機械1
開始時刻N,整粒,機械L-1、終了時刻N,整粒,機械L-1
・・・
開始時刻N,搬送,機械L-1、終了時刻N,搬送,機械L-1
開始時刻N,搬送,機械L、終了時刻N,搬送,機械L
【0113】
次に、前記(ロ)の変数(使用可否オータ゛番号,工程名,リソース名)の構築方法の一例を説明する。
まず、変数・定数構築部108は、製品オーダ生成部107で生成された「各オーダ番号」に対応する「品種」を抽出し(図12を参照)、工程入力登録部103で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する(図6を参照)。
次に、変数・定数構築部108は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に(品種を介して)関連付けられて登録されている「工程名」別、当該オーダ番号に(品種を介して)関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の使用可否を決定変数として構築する。
【0114】
本実施形態では、例えば、以下の決定変数が構築される。
使用可否00001,破砕,機械1
使用可否00001,破砕,機械2
使用可否00001,整粒,機械1
使用可否00001,整粒,機械2
・・・
使用可否00001,搬送,機械1
使用可否00001,搬送,機械L-1
使用可否00001,搬送,機械L
【0115】
使用可否00002,破砕,機械1
使用可否00002,破砕,機械2
使用可否00002,整粒,機械1
使用可否00002,整粒,機械2
・・・
使用可否00002,搬送,機械1
使用可否00002,搬送,機械L-1
使用可否00002,搬送,機械L
・・・
【0116】
使用可否N,破砕,機械1
使用可否N,整粒,機械L-1
・・・
使用可否N,搬送,機械L-1
使用可否N,搬送,機械L
【0117】
次に、前記(ハ)の変数(前後判断オータ゛番号, オータ゛番号,工程名,リソース名)の構築方法の一例を説明する。
まず、変数・定数構築部108は、製品オーダ生成部107で生成「各オーダ番号」に対応する「品種」を抽出し(図12を参照)、工程入力登録部103で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する(図6を参照)。
次に、変数・定数構築部108は、以上のようにして抽出した結果に基づいて、異なる2つの製品オーダの「オーダ番号」別、当該オーダ番号に(品種を介して)関連付けられて登録されている「工程名」別、当該オーダ番号に(品種を介して)関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の前後判断を決定変数として構築する。
【0118】
本実施形態では、例えば、以下の決定変数が構築される。
前後判断00001,00002,破砕,機械1
前後判断00001,00002,破砕,機械2
前後判断00001,00002,整粒,機械1
前後判断00001,00002,整粒,機械2
・・・
前後判断00001,00002,搬送,機械1
前後判断00001,00002,搬送,機械L-1
前後判断00001,00002,搬送,機械L
・・・
【0119】
前後判断00001,N,破砕,機械1
前後判断00001,N,破砕,機械2
前後判断00001,N,整粒,機械1
前後判断00001,N,整粒,機械2
・・・
前後判断00001,N,搬送,機械1
前後判断00001,N,搬送,機械L-1
前後判断00001,N,搬送,機械L
・・・
【0120】
前後判断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
【0121】
次に、前記(ニ)の変数(補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)の構築方法の一例を説明する。
変数・定数構築部108は、製品オーダ生成部107で生成された「各オーダ番号」を抽出し、製品オーダの「オーダ番号」別の補充開始時在庫量と補充終了時在庫量を決定変数として構築する。
【0122】
本実施形態では、例えば、以下の決定変数が構築される。
補充開始時在庫量00001、補充終了時在庫量00001
補充開始時在庫量00002、補充終了時在庫量00002
・・・
補充開始時在庫量N、補充終了時在庫量N
【0123】
以上のようにして決定変数の構築が終了した後、変数・定数構築部108は、リソース、品種、工程および製品オーダの属性として新たに登録された属性を定数として自動的に構築する。
図3Cに示す例では、リソースの属性として、「使用開始可能日」が新たに設定された。そこで、変数・定数構築部108は、以下の(ホ)、(ヘ)に示す定数を構築する。
(ホ)使用開始可能日リソース名
使用開始可能日リソース名は、リソース名別の使用開始可能日である。
本実施形態では、例えば、以下の定数が使用開始可能日リソース名の初期値として構築される。
使用開始可能日機械1=2016/1/24
使用開始可能日機械2=2016/1/25
・・・
使用開始可能日機械L=2016/1/22
【0124】
(ヘ)立案開始時刻、立案終了時刻
本実施形態では、例えば、以下の定数が構築される。
立案開始時刻=2016/1/24 8:00
立案終了時刻=2016/1/31 23:59
【0125】
変数・定数構築部108は、例えば、CPUが、HDD等から、製品オーダと工程情報とを読み出して、前述した変数および定数を作成し、そのデータをRAM等に記憶することにより実現される。
【0126】
(定式化部109)
定式化部109は、変数・定数構築部108で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、制約条件入力登録部104で設定された制約式の内容と、に基づいて制約式を定式化する。以下に本実施形態において定式化される制約式の一例を説明する。
<開始、終了の制約式>
定式化部109は、変数・定数構築部108で構築された変数を用いて、以下の(4)式に示す制約式を定式化する。
【0127】
【数1】
【0128】
(4)式は、同一のオーダ番号、同一の工程において、各リソースの使用開始時刻と終了時刻とが逆転してはならないことを表す。尚、(4)式の制約式は、制約条件入力登録部104で設定された制約式の内容とは別の(物理的な理由から定まる)制約式である。その他のオーダ番号00002,・・・,Nについても(4)式と同様の制約式が定式化される。
【0129】
<工程間の制約式>
定式化部109は、工程入力登録部103により登録された工程情報と、製品オーダ生成部107で生成された製品オーダとに基づき、変数・定数構築部108で構築された変数を用いて、以下の(5)式に示す制約式を定式化する。
【0130】
【数2】
【0131】
(5)式は、同一のオーダ番号において、当該オーダ番号の製品オーダに(品種を介して)関連付けられた工程順で各リソースを使用しなければならないことを表す。その他のオーダ番号00002,・・・,Nについても(5)式と同様の制約式が定式化される。
【0132】
<処理時間の制約式>
定式化部109は、リソース入力登録部101により登録されたリソース情報と、工程入力登録部103により登録された工程情報と、品種入力登録部102により登録された品種情報と、製品オーダ生成部107で生成された製品オーダとに基づき、変数・定数構築部108で構築された変数を用いて、以下の(6)式に示す制約式を定式化する。
【0133】
【数3】
【0134】
(6)式は、同一のオーダ番号において、当該オーダ番号の製品オーダの各工程の処理を実行するリソースの処理量(最大能力×稼働時間)は、当該製品オーダに関連づけられた品種のタンクへの搬送量(補充量)に一致することを表す。前述したように、タンクの在庫量は、需要量に応じて減少する。従って、当該製品オーダに関連づけられた品種のタンクへの搬送量(補充量)は、当該製造オーダの製造オーダ量(=補充終了時在庫量−補充開始時在庫量)と、当該品種の需要量(=0.14)に、最後の工程順Pである搬送を実行するリソースの稼働時間(=終了時刻−開始時刻)をかけた値との和になる。その他のオーダ番号00002,・・・,Nについても(6)式と同様の制約式が定式化される。
【0135】
<在庫の制約>
定式化部109は、リソース入力登録部101により登録されたリソース情報と、工程入力登録部103により登録された工程情報と、品種入力登録部102により登録された品種情報と、製品オーダ生成部107で生成された製品オーダと、立案期間入力登録部106により登録された立案開始時刻とに基づき、変数・定数構築部108で構築された変数を用いて、以下の(7)式および(8)式に示す制約式を定式化する。
【0136】
【数4】
【0137】
(7)式は、或るオーダ番号の製造オーダの補充開始時在庫量は、当該製造オーダに対応する品種の始在庫量から、需要量に応じた当該品種の減少量を引いた値であることを示す。需要量に応じた当該品種の減少量は、当該品種の需要量(0.14、0.21)と、当該品種を生産するための最後の工程(工程順Pの搬送)の開始時刻から、当該始在庫量をカウントした時刻を減算した値との積により表される。尚、ここでは、初回の生産計画を作成する際の式を示しているので、始在庫量をカウントした時刻は、立案開始時刻になる。
【0138】
(8)式は、或るオーダ番号の製造オーダの補充終了時在庫量は、当該製造オーダの補充開始時在庫量に対し、当該製造オーダに対応する品種の需要量に応じた減少量を引くことと、当該品種の搬送(補充)による増加量を足すことを行った値になることを示す。当該製造オーダに対応する品種の需要量に応じた減少量は、当該品種を生産するための最後の工程(工程順Pの搬送)の稼働時間(=終了時刻−開始時刻)と、当該品種の需要量(=0.14)との積により表される。当該品種の搬送(補充)による増加量は、当該品種を生産するための最後の工程(工程順Pの搬送)の稼働時間と、当該搬送を行うリソースの最大能力(=1.2)との積により表される。
【0139】
<複数リソース同時利用制約の制約式>
定式化部109は、工程入力登録部103により登録された工程情報と、製品オーダ生成部107で生成された製品オーダと、図7に示す複数リソース同時利用制約設定画面700を用いて制約条件入力登録部104により設定された複数リソース同時利用制約の内容とに基づき、変数・定数構築部108で構築された変数および定数を用いて、以下の(9)式に示す制約式を定式化する。
【0140】
【数5】
【0141】
(9)式において、Mは十分に大きな正の値である。
図7Bに示す例の「制約1−1」では、「タンク1操業」における「破砕」と、「タンク2操業」における「破砕」に対し、「機械1」を同時に使用することができないことが示されている。従って、「タンク1操業」の「破砕」が「タンク2操業」の「破砕」よりも後に行われる場合には、「タンク1操業」の「破砕」で使用される「機械1」の開始時刻よりも、「タンク1操業」の「破砕」で使用される「機械1」の終了時刻の方が遅い時刻であり、且つ、その時間差が「機械1」の最小利用間隔以上でなければならない。また、「タンク1操業」の「破砕」が「タンク2操業」の「破砕」よりも先に行われる場合には、「タンク1操業」の「破砕」で使用される「機械1」の終了時刻の方が、「タンク2操業」の「破砕」で使用される「機械1」の開始時刻よりも早い時刻であり、且つ、その時間差が「機械1」の最小利用間隔以上でなければならない。(9)式の最初の式は、前者に対応し、2つ目の式は、後者に対応する。また、図7Bの制約1−2に従い、オーダ番号00002同士にも、(9)式と同様の制約式が定式化される。尚、リソース登録画面300において、最小利用間隔を登録しない場合には、例えば、(9)式の右辺を「0(ゼロ)」にすればよい。
【0142】
<リソース同時利用制限制約の制約式>
定式化部109は、工程入力登録部103により登録された工程情報と、製品オーダ生成部107で生成された製品オーダと、図8に示すリソース同時利用制限制約設定画面800を用いて制約条件入力登録部104により設定されたリソース同時利用制限制約の内容とに基づき、変数・定数構築部108で構築された変数を用いて、以下の(10)式に示す制約式を定式化する。
【0143】
【数6】
【0144】
(10)式において、Mは十分に大きな正の値である。
図8Bに示す例では、破砕工程が機械1をリソースとして使用する工程である場合には、整粒工程および搬送工程でも機械1をリソースとして使用しなければならないことを示す。即ち、使用可否00001,粉砕,機械1=1ならば、使用可否00001,整粒,機械1=1、且つ、使用可否00001,搬送,機械1=1とする。(10)式は、このことに対応する。
【0145】
<リソース稼働制約の制約式>
定式化部109は、工程入力登録部103により登録された工程情報と、製品オーダ生成部107で生成された製品オーダと、図9に示すリソース稼働制約設定画面900を用いて制約条件入力登録部104により設定されたリソース稼働制約の内容と、に基づき、変数・定数構築部108で構築された変数を用いて、以下の(11)式に示す制約式を定式化する。
【0146】
【数7】
【0147】
(11)式において、Mは十分に大きな正の値である。
図9Bに示す例では、2016年1月25日9時30分から2016年1月27日8時30分のまでの間は、リソース名が「機械1」のリソースは、その最大能力の0.7倍の能力で使用しなければならないことと、2016年1月27日8時30分から2016年1月28日6時00分のまでの間は、リソース名が「機械2」のリソースは、使用してはいけない(最大能力の0倍の能力で使用しなければならない)ことを示す。(11)式では、これらのうち前者についてのみ示すが、後者についても(11)式と同様にして得られる。ここで、右辺の「/1.0」は、機械1の最大能力(図3B参照)で割ることを示している。この最大能力値は、工程によらず、即ち破砕工程についても整粒工程についても共通である。
【0148】
<リソースの稼働開始制約の制約式>
定式化部109は、リソース入力登録部101により登録されたリソース情報と、工程入力登録部103により登録された工程情報と、製品オーダ生成部107で生成された製品オーダと、に基づき、変数・定数構築部108で構築された変数を用いて、以下の(12)式に示す制約式を定式化する。
【0149】
【数8】
【0150】
(12)式は、各リソースは、使用開始可能日よりも遅い時刻でしか使用できないことを示す。
【0151】
<目的関数の定式化>
次に、定式化部109は、変数・定数構築部108で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、目的関数入力登録部105で設定された目的の内容とに基づいて目的関数を定式化する。以下に本実施形態において定式化される目的関数の一例を説明する。
【0152】
定式化部109は、図10に示す目的設定画面1000を用いて目的関数入力登録部105により設定された目的の内容に基づき、変数・定数構築部108で構築された変数および定数を用いて、以下の(12)式に示す目的関数Fを定式化する。
【0153】
【数9】
【0154】
図10に示す例では、「タンク1操業」で実行される「破砕」の「処理時間最小」を目的とし、その重要度を「5」とすることが設定されている。従って、(13)式の右辺第1項のように目的関数が定式化される。また、「タンク2操業」で実行される「搬送」の「在庫下限厳守」を目的とし、その重要度を「10」とすることが設定されている。従って、(13)式の右辺第1項のように目的関数が定式化される。
【0155】
尚、(13)式の「5」および「10」(=重要度)は、重みである。これらの重みは、「タンク1操業」で実行される「破砕」の「処理時間最小」と、「タンク2操業」で実行される「搬送」の「在庫下限厳守」とのバランスをとるためのものであり、両者の重要度に応じて定められるものである。このように、(13)式に示す例では、「タンク1操業」で実行される「破砕」の「処理時間最小」と、「タンク2操業」で実行される「搬送」の「在庫下限厳守」との重み付き線形和で目的関数Fを定式化する場合を例に挙げて示す。
【0156】
定式化部109は、例えば、CPUが、HDD等から、リソース情報、工程情報および製品オーダを読み出すと共に、RAM等から変数、定数、制約・目的の内容を読み出して、以上の制約式と目的関数を構築し、そのデータをRAM等に記憶することにより実現される。
【0157】
(計画作成部110)
計画作成部110は、数理計画法(例えば混合整数計画法)による最適化計算を行って、定式化部109で定式化された制約式に基づく制約を満足する範囲で、定式化部109で定式化された目的関数Fを最小にする決定変数(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)の値を生産計画として導出する。
【0158】
例えば、以下のような決定変数の値が導出される。
【0159】
開始時刻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[ton]
補充終了時在庫量00001=1.66[ton]
開始時刻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[ton]
補充終了時在庫量00002=1.48[ton]
・・・
開始時刻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[ton]
補充終了時在庫量N=2.20[ton]
【0160】
計画作成部110は、以上のようにして作成した生産計画において、全ての品種の最後の工程(工程順がPの工程)の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になったか否かを判定する。この判定の結果、全ての品種の最後の工程(工程順がPの工程)の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になっていない場合には、立案期間分の求解が完了していない。
【0161】
そこで、計画作成部110は、以上のようにして作成した生産計画に基づいて、製品オーダ生成部107により抽出されたN個の品種の在庫量計算時時刻と、当該在庫量計算時時刻における当該品種の在庫量(始在庫量)を更新することを製品オーダ生成部107に指示する。即ち、計画作成部110は、或る品種の補充終了時在庫量オータ゛番号を始在庫量にし、当該品種の在庫量が補充終了時在庫量オータ゛番号になった時刻(終了時刻オータ゛番号,搬送,リソース名)を在庫量計算時時刻にすることを、製品オーダ生成部107に指示する。これにより、製品オーダ生成部107は、直前に抽出したN個の品種の在庫量計算時時刻と、当該在庫量計算時時刻における当該品種の在庫量(始在庫量)を更新する。
【0162】
また、計画作成部110は、以上のようにして作成した生産計画に基づいて、終了時刻オータ゛番号,工程名,リソース名に対応するリソース名のそれぞれについて、終了時刻オータ゛番号,工程名,リソース名が最も遅い時刻の値を、使用開始可能日リソース名に更新することを、変数・定数構築部108に指示する。これにより、変数・定数構築部108は、使用開始可能日リソース名を更新する。但し、ここで使用開始可能日リソース名は、時刻精度まで情報を持っているものとする。このように、リソースに処理が一旦割り付けられると、当該リソースは、使用開始可能日リソース名以降の時刻でしか、処理を行えないものとする。
【0163】
以上のようにして更新された始在庫量、在庫量計算時時刻、および使用開始可能日リソース名を用いて、前述した製品オーダ生成部107、変数・定数構築部108、定式化部109、および計画作成部110の処理を、全ての品種の最後の工程(工程順がPの工程)の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になるまで繰り返し行うことで、立案期間分の求解が完了する。
計画作成部110は、例えば、CPUが、RAM等から、定式化された目的関数および制約式のデータを読み出して、生産計画を求め、その結果をRAM等に記憶することにより実現される。
【0164】
(計画表示部111)
計画作成部110により立案期間分の求解が完了すると、立案開始時刻から立案終了時刻までの間の生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)を表示装置に表示する。
計画表示部111は、例えば、CPUが、RAM等から、決定変数((開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号))を読み出して、生産計画の表示データを生成し、表示装置に出力することにより実現される。
(計画管理部112)
計画管理部112は、計画作成部110で得られた生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)のデータを管理する。より具体的には、計画管理部112は、生産計画を立案する際にオペレータによりスケジューリング装置100に対して入力された入力情報と、生産計画の立案結果を示す立案結果情報とをセットで記憶媒体に記憶し、必要に応じて(オペレータからの要求等に応じて)、それらを取り出して出力する。このようにすることにより、例えば、前回生産計画を立案したときに使用した入力情報を少し変更して、再度新たな生産計画を立案して、保持することができる。また、この機能を実現することで、少し条件(入力情報)の違う場合の生産計画の立案の結果を比較すること等が可能となる。
計画管理部112は、例えば、CPUが、RAM等から、生産計画のデータを読み出して、HDD等に記憶する等ことにより実現される。
【0165】
(計画出力部113)
計画出力部113は、計画管理部112により管理されている生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)のデータを出力する。例えば、計画出力部113は、ユーザによる入力装置の操作に基づいて、生産計画に係る信号を、ネットワークを介して外部装置120に送信したり、生産計画に係るデータを可搬型の記憶媒体に記憶したりすることができる。
【0166】
リソース名で特定されるリソースが作業員等の人的資源である場合と、当該リソースが作業員等の人的資源の作業が必要になる物的資源である場合、計画出力部113は、例えば、当該人的資源が参照する表示装置に、生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)の内容を示す情報を表示させることを指示するための表示指示信号を、生産計画に係る信号として送信する。
【0167】
一方、リソース名で特定されるリソースが作業員等の人的資源の作業を必要としないものである場合、計画出力部113は、例えば、生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)に従って、各工程において開始時刻に動作を開始し、終了時刻に動作を終了することを各リソースに指示するための制御信号を、生産計画に係る信号として該当するリソースに送信する。この場合には、リソースが外部装置120になる。各リソースは、計画出力部113から送信された制御信号に基づいて、自動的に動作する。
計画出力部113は、例えば、CPUが、HDD等から、生産計画のデータを読み出して、インターフェースを介して、スケジューリング装置100の外部に出力することにより実現される。
【0168】
(スケジューリング装置100の動作フローチャート)
次に、図13のフローチャートを参照しながら、スケジューリング装置100の処理動作の一例を説明する。
まず、ステップS1301において、リソース入力登録部101は、リソース登録画面300を表示し、リソース登録画面300に対する操作の内容に基づいて、リソース情報を登録する。
【0169】
次に、ステップS1302において、品種入力登録部102は、品種登録画面400を表示し、品種登録画面400に対する操作の内容に基づいて、品種情報を登録する。
次に、ステップS1303において、工程入力登録部103は、工程登録画面600を表示し、工程登録画面600に対する操作の内容に基づいて、工程情報を登録する。
【0170】
次に、ステップS1304において、制約条件入力登録部104は、複数リソース同時利用制約設定画面700を表示し、複数リソース同時利用制約設定画面700に対する操作の内容に基づいて、複数リソース同時利用制約の内容を登録する。また、制約条件入力登録部104は、リソース同時利用制限制約設定画面800を表示し、リソース同時利用制限制約設定画面800に対する操作の内容に基づいて、リソース同時利用制限制約の内容を登録する。また、制約条件入力登録部104は、リソース稼働制約設定画面900を表示し、リソース稼働制約設定画面900に対する操作の内容に基づいて、リソース稼働制約の内容を登録する。
【0171】
次に、ステップS1305において、目的関数入力登録部105は、目的設定画面1000を表示し、目的設定画面1000に対する操作の内容に基づいて、目的関数の内容を登録する。
次に、ステップS1306において、立案期間入力登録部106は、立案期間設定画面1100を表示し、立案期間設定画面1100に対する操作の内容に基づいて、立案開始時刻と立案終了時刻を登録する
次に、ステップS1307において、製品オーダ生成部107は、製品オーダを生成する製品オーダ生成処理を行う。製品オーダ生成処理の詳細については、図14を参照しながら後述する。
【0172】
次に、ステップS1308において、変数・定数構築部108は、リソース情報と、工程情報と、製品オーダと、ステップS1306で登録された立案開始時刻および立案終了時刻とを用いて、変数(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、使用可否オータ゛番号,工程名,リソース名、前後判断オータ゛番号,オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)と定数(立案開始時刻、立案終了時刻、使用開始可能日リソース名)を構築する。
【0173】
次に、ステップS1309において、定式化部109は、ステップS1308で構築された変数および定数と、ステップS1302で登録された品種情報と、ステップS1303で登録された工程情報と、ステップS1307で生成された製品オーダと、ステップS1304で登録された制約の内容と、に基づいて制約式を定式化する((4)式〜(12)式等を参照)。
【0174】
次に、ステップS1310において、定式化部109は、ステップS1308で構築された変数および定数と、ステップS1302で登録された品種情報と、ステップS1303で登録された工程情報と、ステップS1307で生成された製品オーダと、ステップS1305で登録された目的関数の内容と、に基づいて目的関数を定式化する((13)式等を参照)。
【0175】
次に、ステップS1311において、計画作成部110は、数理計画法による最適化計算を行って、ステップS1309で定式化された制約式に基づく制約を満足する範囲で、ステップS1310で定式化された目的関数Fを最小にする決定変数(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)を生産計画として導出する。
【0176】
次に、ステップS1312において、計画作成部110は、ステップS1311で導出した生産計画において、全ての品種の最後の工程(工程順がPの工程)の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になったか否かを判定する。この判定の結果、全ての品種の最後の工程(工程順がPの工程)の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になっていない場合には、立案期間分の求解が完了していないとして、ステップS1313に進む。
【0177】
ステップS1313に進むと、計画作成部110は、ステップS1311で導出した生産計画に基づいて、製品オーダ生成部107により抽出されたN個の品種の在庫量計算時時刻と、当該在庫量計算時時刻における当該品種の在庫量(始在庫量)を更新することを製品オーダ生成部107に指示する。また、計画作成部110は、ステップS1311で導出した生産計画に基づいて、終了時刻オータ゛番号,工程名,リソース名に対応するリソース名のそれぞれについて、終了時刻オータ゛番号,工程名,リソース名が最も遅い時刻の値を、使用開始可能日リソース名に更新することを、変数・定数構築部108に指示する。
【0178】
そして、前述したステップS1307に戻り、更新後の在庫量計算時時刻、始在庫量、および使用開始可能日リソース名に基づいて、ステップS1307〜S1311の処理を行い、立案期間の残りの期間における生産計画を作成する。
【0179】
以上のようにしてステップS1312において、全ての品種の最後の工程(工程順がPの工程)の終了時刻オータ゛番号,搬送,リソース名が、立案終了時刻よりも遅い時刻になると判定されると、ステップS1314に進み、計画管理部112は、立案開始時刻から立案終了時刻までの間の生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)を記憶する。
【0180】
次に、ステップS1313において、計画表示部111は、立案開始時刻から立案終了時刻までの間の生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)を表示する。
そして、図13のフローチャートによる処理を終了する。尚、前述したように、ステップS1312の処理の後、計画出力部113は、立案開始時刻から立案終了時刻までの間の生産計画(開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名、補充開始時在庫量オータ゛番号、補充終了時在庫量オータ゛番号)を外部装置120に出力してもよい。
【0181】
次に、図14のフローチャートを参照しながら、図13のステップS1307の製品オーダ生成処理の詳細について説明する。
まず、ステップS1401において、製品オーダ生成部107は、ステップS1302で登録された品種情報の1つを選択する。
【0182】
次に、ステップS1402において、製品オーダ生成部107は、ステップS1401で選択した品種情報における品種の属性(需要量、始在庫量、および下限在庫量)に基づいて、(1)式により、在庫維持時間を導出する。尚、2回目以降のステップS1402の処理では、図13のステップS1313で更新された始在庫量が用いられる。
【0183】
次に、ステップS1403において、製品オーダ生成部107は、ステップS1302で登録された品種情報における品種の属性(需要量、上限在庫量、下限在庫量)と、ステップS1301で登録されたリソース情報におけるリソースの属性(最大能力)とに基づいて、(2)式により、ステップS1401で選択した品種情報における品種の製品オーダ量を導出する。
【0184】
次に、ステップS1404において、製品オーダ生成部107は、ステップS1403で導出した製品オーダ量と、ステップS1301で登録されたリソース情報におけるリソースの属性(最大能力)とに基づいて、ステップS1403で導出した製品オーダ量の質量の製品を生産するための工程順1〜P−1の工程における処理時間の合計値((3)式の右辺第3項の値)を導出する。
【0185】
次に、ステップS1405において、製品オーダ生成部107は、在庫量計算時時刻と、ステップS1401で導出した在庫維持時間と、ステップS1404で導出した処理時間の合計値とに基づいて、(3)式により、処理順序1開始時刻を導出する。尚、1回目のステップS1404の処理では、在庫量計算時時刻は、立案開始時刻になる。2回目以降のステップS1404の処理では、在庫量計算時時刻は、図13のステップS1313で更新された在庫量計算時時刻になる。
【0186】
次に、ステップS1406において、製品オーダ生成部107は、ステップS1302で登録された品種情報を全て選択したか否かを判定する。この判定の結果、ステップS1302で登録された品種情報を全て選択していない場合には、ステップS1401に戻る。そして、未選択の品種情報について、ステップS1401〜S1405の処理を行い、ステップS1302で登録された品種情報における全ての品種についての処理順序1開始時刻を導出するまで、ステップS1401〜S1406の処理を繰り返し行う。
【0187】
そして、ステップS1302で登録された品種情報における全ての品種についての処理順序1開始時刻が導出されると、ステップS1407に進む。
ステップS1407に進むと、製品オーダ生成部107は、処理順序1開始時刻が早いものから順に品種をソートする。
【0188】
次に、ステップS1408において、製品オーダ生成部107は、ステップS1407でソートした品種から、上位N個の品種を抽出する。
次に、ステップS1409において、製品オーダ生成部107は、ステップS1408で抽出したN個の品種に対して、生産計画の立案対象となる製品オーダを生成する(図12を参照)。
そして、図14のフローチャートに戻る。
【0189】
(まとめ)
以上のように本実施形態では、リソース、品種、および工程を相互に関連付けて登録する。そして、リソース情報に含まれるリソースの属性(最大能力)と、工程情報に含まれる工程の属性(工程順、各工程で使用するリソース名)と、品種情報に含まれる品種の属性(需要量、始在庫量、上限在庫量、下限在庫量)と、に基づいて、需要量に従って在庫量が減少する品種を補充するために当該品種の生産を開始するタイミングである処理順序1開始時刻と、当該品種の補充量である製品オーダ量と、当該品種を特定する情報である品種名と、製品オーダの識別情報であるオーダ番号とを属性として含む製品オーダを自動的に生成する。これにより、リソース、品種、工程および製品オーダが相互に関連付けられる。
【0190】
これら登録された情報から、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を構築する。これら相互に関連付けられた「品種、工程、およびリソース」の識別情報の選択入力欄を用いて表記した制約式の内容を含む制約設定画面を表示する。この制約設定画面に対するユーザの選択入力の結果に基づいて、制約の内容を設定する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて制約式を定式化する。
【0191】
また、これら相互に関連付けられた「品種および工程」と、目的の内容を示す文字情報と、当該目的の重要度とを用いて記述した目的の内容と、その選択入力欄と、を含む目的設定画面を表示する。この目的設定画面に対するユーザの選択入力の結果に基づいて、目的の内容を登録する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて目的関数を定式化する。
【0192】
従って、高度な数学的専門知識をもたない一般のユーザに対して、需要量に応じて、在庫を適正量に保つ様に、必要なタイミングで必要な量の製品オーダを自動的に生成したうえで、設備制約等を遵守した最適な生産計画を、数理計画法を用いて立案することを可能とする仕組みを提供することができる。
また、本実施形態では、全ての品種ではなく、処理順序1開始時刻が早いものから順にN個の品種について製品オーダを自動的に生成するので、計算負荷を小さくすることができる。
【0193】
(変形例)
本実施形態では、リソース情報、品種情報、および工程情報を、画面に対する入力に基づいて作成する場合を例に挙げて説明した。しかしながら、例えば、これらの情報を、スケジューリング装置100とは別の情報処理装置で作成し、作成した情報をスケジューリング装置100に取り込んで登録してもよい。
【0194】
また、本実施形態では、目的関数が重み付き線形和で表される場合を例に挙げて説明した。しかしながら、目的関数は、重み付き線形和に限定されない。例えば、(12)式の右辺の[]内の「(終了時刻オータ゛番号,工程名,リソース名−開始時刻オータ゛番号,工程名,リソース名)」、「(0.2−補充開始時在庫量オータ゛番号)」等を、「(終了時刻オータ゛番号,工程名,リソース名−開始時刻オータ゛番号,工程名,リソース名2」、「(0.2−補充開始時在庫量オータ゛番号2」等としてもよい。すなわち、数理計画法は、混合整数計画法に限定されず、例えば、混合整数2次計画法でもよい。尚、本実施形態では、目的関数を最小化する場合を例に挙げて説明したが、目的に応じて目的関数を最大化するようにしてもよい。
【0195】
また、本実施形態では、製品が粉粒体である場合を例に挙げて説明したが、需要量に従って在庫量が減少する製品であれば、製品は、液体であってもよいし、部品であってもよい。例えば、製品として螺子を採用することができる。この場合、目的関数および制約式の変数・定数や、目的および制約を表現するための用語が、製品に応じて置き換わることは勿論である。例えば、製品の量として、質量の他に、数を採用することができる。
【0196】
また、本実施形態の手法は、生産計画だけでなく、物流計画にも適用することもできる。この場合、目的関数および制約式の変数・定数や、目的および制約を表現するための用語が、物流計画に適した用語に置き換わることは勿論である。
また、
【0197】
その他、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体および前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0199】
100:スケジューリング装置、101:リソース入力登録部、102:品種入力登録部、103:工程入力登録部、104:制約条件入力登録部、105:目的関数入力登録部、106:立案期間入力登録部、107:製品オーダ生成部、108:変数・定数構築部、109:定式化部、110:計画作成部、111:計画表示部、112:計画管理部、113:計画出力部
図1
図2
図3A
図3B
図3C
図4A
図4B
図5
図6A
図6B
図6C
図7A
図7B
図8A
図8B
図9A
図9B
図10
図11
図12
図13
図14