(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023140807
(43)【公開日】2023-10-05
(54)【発明の名称】作成システム、作成方法、プログラム、及び記憶媒体
(51)【国際特許分類】
G05B 19/418 20060101AFI20230928BHJP
【FI】
G05B19/418 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022046833
(22)【出願日】2022-03-23
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110004026
【氏名又は名称】弁理士法人iX
(72)【発明者】
【氏名】周 欣依
(72)【発明者】
【氏名】高木 雅哉
(72)【発明者】
【氏名】杉山 尚美
(72)【発明者】
【氏名】宍道 さやか
(72)【発明者】
【氏名】岡 一廣
【テーマコード(参考)】
3C100
【Fターム(参考)】
3C100AA05
3C100AA12
3C100AA16
3C100AA18
3C100BB02
3C100BB12
3C100BB17
3C100BB19
(57)【要約】
【課題】より高精度に生産計画を作成可能な、作成システム、作成方法、プログラム、及び記憶媒体を提供する。
【解決手段】実施形態は、複数の生産ラインを用いて、複数の工程により、複数の品種の製品を生産するための生産計画を作成する作成システムに関する。作成システムは、最適化計算部と、投入計画作成部と、検証部と、を備える。最適化計算部は、品種ごとの生産計画数及び各設備の処理能力を含む第1入力データ用いて、最適化計算により、品種ごと、生産ラインごと、且つ工程ごとの生産計画数を示す処理計画を作成する。投入計画作成部は、品種ごとの生産ラインごとへのワークの投入数と、品種ごとの複数の工程における処理経路と、を含む第2入力データを用いて、複数の生産ラインへのワークの投入タイミングを示す投入計画を作成する。検証部は、処理計画及び投入計画に基づくシミュレーションにより、処理計画及び投入計画の妥当性を判断する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の生産ラインを用いて、複数の工程により、複数の品種の製品を生産するための生産計画を作成する作成システムであって、
前記品種ごとの生産計画数及び各設備の処理能力を含む第1入力データ用いて、目的関数及び制約条件を含む最適化計算により、前記品種ごと、前記生産ラインごと、且つ前記工程ごとの生産計画数を示す処理計画を作成する最適化計算部と、
前記品種ごとの前記生産ラインごとへのワークの投入数と、前記品種ごとの前記複数の工程における処理経路と、を含む第2入力データを用いて、前記複数の生産ラインへの前記ワークの投入タイミングを示す投入計画を作成する投入計画作成部と、
前記処理計画及び前記投入計画に基づくシミュレーションにより、前記処理計画及び前記投入計画の妥当性を判断する検証部と、
を備えた作成システム。
【請求項2】
前記検証部によって前記処理計画及び前記投入計画が妥当でないと判断された場合、前記最適化計算部は、別の第1入力データ又は別の制約条件を用いて、最適化計算により別の処理計画を作成する、請求項1記載の作成システム。
【請求項3】
前記検証部によって前記処理計画及び前記投入計画が妥当でないと判断された場合、前記投入計画作成部は、別の第2入力データを用いて、最適化計算により別の投入計画を作成する、請求項1又は2に記載の作成システム。
【請求項4】
前記複数の工程は、複数の設備によってそれぞれ実施され、
前記設備ごとの設備データを含む第3入力データを参照し、前記処理計画及び前記第3入力データを用いて前記処理計画を実行した際の前記設備ごとの負荷率を試算し、前記負荷率に基づいて前記処理計画の妥当性を判断する、試算部をさらに備えた、請求項1~3のいずれか1つに記載の作成システム。
【請求項5】
前記試算部によって前記処理計画が妥当でないと判断された場合、前記最適化計算部は、別の第1入力データ又は別の制約条件を用いて、最適化計算により別の処理計画を作成する、請求項4記載の作成システム。
【請求項6】
複数の生産ラインを用いて、複数の工程により、複数の品種の製品を生産するための生産計画を作成する作成方法であって、
前記品種ごとの生産計画数及び各設備の処理能力を含む第1入力データ用いて、目的関数及び制約条件を含む最適化計算により、前記品種ごと、前記生産ラインごと、且つ前記工程ごとの生産計画数を示す処理計画を作成する最適化計算と、
前記品種ごとの前記生産ラインごとへのワークの投入数と、前記品種ごとの前記複数の工程における処理経路と、を含む第2入力データを用いて、前記複数の生産ラインへの前記ワークの投入タイミングを示す投入計画を作成する投入計画作成と、
前記処理計画及び前記投入計画に基づくシミュレーションにより、前記処理計画及び前記投入計画の妥当性を判断する検証と、
を備えた作成方法。
【請求項7】
請求項6記載の作成方法をコンピュータに実行させるプログラム。
【請求項8】
請求項7記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、作成システム、作成方法、プログラム、及び記憶媒体に関する。
【背景技術】
【0002】
生産計画を自動的に作成するシステムがある。このシステムについて、より高精度に生産計画を作成可能な技術が求められている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、より高精度に生産計画を作成可能な、作成システム、作成方法、プログラム、及び記憶媒体を提供することである。
【課題を解決するための手段】
【0005】
実施形態は、複数の生産ラインを用いて、複数の工程により、複数の品種の製品を生産するための生産計画を作成する作成システムに関する。前記作成システムは、最適化計算部と、投入計画作成部と、検証部と、を備える。前記最適化計算部は、前記品種ごとの生産計画数及び各設備の処理能力を含む第1入力データ用いて、目的関数及び制約条件を含む最適化計算により、前記品種ごと、前記生産ラインごと、且つ前記工程ごとの生産計画数を示す処理計画を作成する。前記投入計画作成部は、前記品種ごとの前記生産ラインごとへのワークの投入数と、前記品種ごとの前記複数の工程における処理経路と、を含む第2入力データを用いて、前記複数の生産ラインへの前記ワークの投入タイミングを示す投入計画を作成する。前記検証部は、前記処理計画及び前記投入計画に基づくシミュレーションにより、前記処理計画及び前記投入計画の妥当性を判断する。
【図面の簡単な説明】
【0006】
【
図1】実施形態に係る作成システムの構成を示す模式図である。
【
図2】最適化計算で用いられるモデルを示す模式図である。
【
図9】投入計画作成部による処理を示す模式図である。
【
図10】投入計画の作成に用いられるデータの一例である。
【
図11】投入計画の作成に用いられるデータの一例である。
【
図12】投入計画作成部による処理結果を例示するデータである。
【
図13】投入計画作成部による処理結果を例示するデータである。
【
図14】投入計画作成部による処理結果を例示するデータである。
【
図15】投入計画作成部による処理結果を例示するデータである。
【
図16】投入計画作成部による処理結果を例示するデータである。
【
図17】投入計画作成部による処理結果を例示するデータである。
【
図18】シミュレーションモデルの構成要素を示す模式図である。
【
図19】シミュレーションで用いられるデータの一例である。
【
図20】シミュレーションで用いられるデータの一例である。
【
図21】シミュレーションで用いられるデータの一例である。
【
図22】シミュレーションで用いられるデータの一例である。
【
図23】シミュレーションで用いられるデータの一例である。
【
図24】シミュレーションで用いられるデータの一例である。
【
図25】シミュレーションで用いられるデータの一例である。
【
図26】検証部によるシミュレーションの動作を示すフローチャートである。
【
図27】検証部によるシミュレーションの動作を示すフローチャートである。
【
図28】検証部によるシミュレーションの動作を示すフローチャートである。
【
図29】作成された生産計画を例示するグラフである。
【
図30】実施形態に係る作成方法の概要を示すフローチャートである。
【
図31】ハードウェア構成を例示する模式図である。
【発明を実施するための形態】
【0007】
以下に、本発明の各実施形態について図面を参照しつつ説明する。本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【0008】
本発明の一実施形態は、作成システムに関する。作成システムは、生産計画を作成する。製品は、生産計画に従って生産される。
【0009】
まず、製品の生産の概要を説明する。生産現場(工場、製造場など)では、複数の製品が生産される。各製品は、複数の工程を経て生産される。一連の複数の工程は、生産ラインを構成する。各生産ラインは、工程間でワークを効率的に搬送できるように最適化される。例えば、各工程の処理装置は、ワークの搬送時間を短縮するために、互いに近接して配置される。生産現場には、複数の生産ラインが設けられ、各生産ラインで製品が生産される。
【0010】
一般に、生産現場では、複数の品種の製品が生産される。品種が異なると、製品の形態、構造、又は特性が異なる。品種ごとに、その製品の生産に必要な工程も変化する。また、一般的に、複数の生産ラインは、完全に同一では無く、差異を有する。例えば、一部の生産ラインは、特定の品種のための専用設備を備える。別の一部の生産ラインは、他の生産ラインに比べて、処理能力の高い優れた設備を備える。高い処理能力とは、多くのワークを同時に処理できる、又はワークを短時間で処理できることである。
【0011】
複数の品種の製品を、複数の生産ラインを用いて生産する場合、生産計画が必要になる。上述したように、生産ラインごとに差異が存在し、且つ品種ごとに必要な工程も異なる。このため、生産現場における各設備を効率良く運用するための生産計画が作成される。生産計画は、製品の生産について、どの生産ラインを使用するか、どの設備を使用するか、いつ生産するかなどのデータを含む。
【0012】
図1は、実施形態に係る作成システムの構成を示す模式図である。
図1に示すように、作成システム1は、処理装置10及び記憶装置20を含む。処理装置10は、最適化計算部11、試算部12、投入計画作成部13、及び検証部14として機能する。
【0013】
最適化計算部11は、品種ごとの目標生産数を達成するための処理計画を作成する。処理計画は、品種ごとに、どの生産ラインのどの工程で、ワークをどの程度処理するかを示す。
【0014】
図2は、最適化計算で用いられるモデルを示す模式図である。
最適化計算の具体的な一例を説明する。目的関数として、数式1が用いられる。制約条件として、数式2~6が用いられる。数式1~6におけるiは、
図2に示すように、品種を示す。jは、資源を示す。資源は、各工程でワークを処理する設備であり、生産ラインに対応する。例えば、資源jを含む生産ラインは、資源j+1を含む生産ラインと異なる。kは、工程を示す。
【0015】
dikは、k番目の工程における品種iのワークへの要求数である。xijkは、品種iの工程kにおける資源jに対する使用割合を示す。使用割合xijkは、要求数dikに対する、各資源が処理するワークの数の割合を示す。yijkは、品種iのワークが、工程kにおいて、各資源jで処理される割付比率を示す。sijkは、品種iの工程kにおける資源jの処理能力を示す。処理能力sijkとして、品種iのワークを資源jだけで処理できる最大の数が設定される。nは、工程kにおける資源jで処理できる使用割合の合計の上限値であり、使用可能な資源の数を意味する。zijkは、品種iのワークを処理する資源jについて、工程kと工程k+1との間での割付比率の差を示し、搬送数に対応する。工程間の割付比率の差zijkは、数式7で表される。要求数dik、品種i、資源j、工程k、処理能力sijk、搬送制約bkを含む入力データ(第1入力データ)は、ユーザにより予め用意される。
【0016】
【数1】
【数2】
【数3】
【数4】
【数5】
【数6】
【数7】
【0017】
数式1は、生産ライン間の搬送数の最小化が目的であることを示す。数式2は、前後工程の割付比率の差が0以上であることを示し、“Zijk=|Yijk-Yijk+1|”を表現するための数式に対応する。数式3について、bkは、生産ライン間の搬送の制約を示す。工程kと工程k+1との間で、資源間(生産ライン間)の搬送が可能である場合、bkは0に設定される。搬送が不可能である場合、0以外の数値がbkに設定される。数式4は、工程kにおける資源jで処理される品種iについて、要求数を超えるワークが処理されることを示す。数式5は、各品種の工程kにおける資源jに対する使用割合の合計が、資源jの資源数の上限値を超えないことを示す。数式6は、使用割合xijkについて、正の値のみ探索させるための制約式である。
【0018】
数式1において、l(エル)は、数式8を満たす最小の整数である。品種によっては、ある生産ラインが備える全ての工程が実行されない場合がある。すなわち、一部の工程がスキップされる場合がある。この場合、当該品種に対するスキップされる工程への要求数dは、0に設定される。これに伴い、当該品種に対するスキップされる工程での各資源への割付比率は、0となる。スキップされる工程への要求数が数式1の計算で使用されると、誤った搬送数が算出される。値lは、スキップされる工程(要求数が0である工程)を搬送数の計算から除外するために用いられる。
【数8】
【0019】
図3(a)~
図3(c)、
図4(a)、及び
図4(b)は、最適化計算で用いられるモデルの生成に利用されるデータの一例である。
図3(a)は、工程を定義するテーブルである。
図3(a)に示すテーブル100は、工程101、グループ102、順序103、及び制約104を含む。グループ102は、各工程101が属するグループを示す。グループ102は、工程の集合を示す。異なる工程であっても、同じ設備が使用される場合、それらの工程は同じグループに属する。順序103は、工程101が実行される順序を示す。制約104は、グループ(生産ライン)間の搬送の可否を示す。工程101の後、別の生産ラインへの搬送が不可能である場合、「1」が設定される。
【0020】
図3(b)に示すテーブル110は、設備111、工程112、及び資源113を含む。設備111は、使用可能な処理装置を示す。工程112は、設備111が使用される工程を示す。資源113は、設備111の資源数を示し、数式5における「n」に対応する。「1」は、100%に対応し、工程112においてその設備111で処理できることを示す。「1」以外に、「0.99」など、設備111の稼働状況に応じた数値が設定されても良い。「0」は、工程112においてその設備111で処理できないことを示す。
【0021】
図3(c)に示すテーブル120は、単位時間あたりに処理可能なワークの数を示す。テーブル120は、アイテム121、装置122、工程123、及びキャパシティ124を含む。アイテム121は、品種を示す。キャパシティ124は、単位時間あたりに、アイテム121が処理可能なワークの数を示す。
【0022】
図4(a)に示すテーブル130は、品種131、装置132、工程133、及び利用可能性134を含む。利用可能性134は、品種131の生産における工程133で、装置132が利用可能かどうかを示す。この例では、「1」は、利用可能であることを示す。「0」は、利用不可能であることを示す。
【0023】
図4(b)に示すテーブル140は、品種141、工程142、及び要求数143を含む。要求数143は、品種141について、工程142で生産されるべき数を示す。
【0024】
最適化計算部11は、
図3(a)~
図3(c)、
図4(a)、及び
図4(b)に示す各テーブルのデータに基づき、
図2に示すモデルを生成する。最適化計算部11は、モデルを用いて、目的関数及び制約条件を含む最適化問題を解く。これにより、搬送数を最小化するために、各品種のワークを、各工程においてどの生産ラインで処理すれば良いかが算出される。最適化計算部11は、最適化計算の結果に基づき、工程ごとの生産ライン間の割付比率と、生産ライン間の搬送数と、を出力する。
【0025】
なお、解が得られない場合、最適化計算部11は、その旨を示すデータを出力する。その場合、ユーザは、入力データ又は制約条件を変更する。例えば、生産計画数が低減される。又は、制約条件が緩和される。制約条件の緩和は、一部の搬送制約の解除、資源の処理能力の引き上げなどである。
【0026】
図5は、最適化計算部によって作成された処理計画を示す模式図である。
図5の例では、生産ラインa~cのそれぞれにおいて、工程1~11、13~15、17、及び19~22が実行される。生産ラインa~cでは、品種A~Dのワークが処理される。品種ごとに、各生産ラインで処理される割合が示されている。最適化計算部11は、作成した処理計画を試算部12へ出力する。
【0027】
なお、目的関数及び制約関数は、上述した例に限らず、適宜変更可能である。例えば、目的関数として、搬送数の最小化では無く、搬送数が閾値を下回ることが設定されても良い。閾値は、ユーザにより設定される。その他、使用割合xijkについて、上限が設定されても良い。
【0028】
試算部12は、最適化計算部11によって作成された処理計画が実行された際に、各工程での設備に要求される処理能力が上限を超えないか試算する。試算部12は、処理計画に含まれる割付比率と、入力データ(第3入力データ)と、を用いて試算する。設備は、工程を実施するための装置である。入力データは、ユーザにより予め用意される。
【0029】
入力データは、生産計画数、累計良品率、設備データなどを含む。生産計画数は、計画されている製品の生産数である。累計良品率は、工程ごとの総合的な良品率である。設備データは、稼働日数、稼働時間、稼働率、バッチサイズ、処理時間などを含む。稼働日数は、1ヶ月のうち、その設備が稼働した日数である。稼働時間は、設備の1日あたりの稼働時間を示す。例えば、稼働時間として、生産現場の平均的な操業時間が設定される。稼働率は、実際に設備が稼働できた比率を示す。稼働日数と稼働時間と稼働率との積が、1ヶ月あたりの実際の設備の稼働時間を示す。バッチサイズは、1バッチあたりに処理できるワークの数を示す。処理時間は、1回の工程の実施に必要な時間を示す。設備データは、設備ごとに設定される。
【0030】
試算部12は、試算の結果、設備ごとに、処理されるワークの数、処理能力、及び負荷率を算出する。負荷率は、設備で処理可能なワークの数に対する、その設備に割り当てられたワークの数の比率である。試算部12は、算出された各負荷率が、所定の閾値を超えないか判断する。例えば、閾値は100%に設定される。すなわち、試算部12は、いずれかの設備に対して、処理能力の最大を超える負荷が発生しないか判断する。設備のメンテナンス等を考慮し、閾値は99%などに設定されても良い。
【0031】
いずれかの負荷率が閾値を超える場合、試算部12は、最適化計算部11によって算出された解(処理計画)を妥当でないと判断する。この判断結果に応じて、最適化計算部11は、最適化の計算を再度実行する。このとき、入力データ又は制約条件が変更される。入力データ及び制約条件の両方が変更されても良いし、どちらか一方のみが変更されても良い。入力データ又は制約条件は、ユーザによって変更される。予め設定されたルールに従い、最適化計算部11が入力データ又は制約条件を自動的に変更しても良い。
【0032】
最適化計算部11は、別の入力データ又は別の制約条件を用いた最適化計算により、別の処理計画を算出する。試算部12は、その別の処理計画について負荷率を試算し、その別の処理計画の妥当性を判断する。例えば、試算部12によって処理計画が妥当と判断されるまで、最適化計算部11による処理計画の作成が繰り返される。
【0033】
いずれの負荷率も閾値以下である場合、試算部12は、試算された負荷率を処理計画に追加する。これにより、品種ごと、生産ラインごと、工程ごと、且つ設備ごとに、ワークがどの程度処理されるかを示す処理計画が得られる。試算部12は、負荷率を追加した処理計画を投入計画作成部13へ出力する。
【0034】
図6~
図8は、試算部による処理を示す模式図である。
試算の具体的な方法は、以下の通りである。まず、試算部12は、
図6に示すように、入力された生産計画数と工程別累計良品率に基づき、工程ごとの生産計画数を算出する。工程ごとの生産計画数は、各工程で処理されるワークの数に対応する。工程ごとの生産計画数は、歩留りに応じて割増しされた生産計画数に工程別累積良品率を掛け合わせることで得られる。又は、割増しされていない生産計画数を工程別累積良品率で除することで、工程ごとの生産計画数が算出されても良い。工程ごとの生産計画数に、当該工程に対する各生産ラインの割付比率を掛け合わせることで、各工程における各生産ラインの割付数が得られる。また、各生産ラインについて、前後の工程の割付数の差から、生産ライン間の搬送数を算出できる。
【0035】
試算部12は、
図7に示すように、各設備のバッチサイズ、稼働日数、稼働時間、設備の稼動率、及び処理時間から、設備ごとの処理能力を算出する。例えば、処理能力を示すスコアSは、バッチサイズs1、稼働日数s2、稼働時間s3、稼動率s4、及び処理時間s5を用いて、数式9により算出される。
【数9】
【0036】
試算部12は、生産ラインごと、工程ごと、且つ設備ごとの処理能力を、工程ごとの設備台数に応じて足し合わせ、生産ラインごと且つ工程ごとの設備群の処理能力を算出する。試算部12は、各設備の処理能力を、設備群の処理能力で除することで、各設備の処理能力比率を算出する。
【0037】
試算部12は、
図8に示すように、工程ごと且つ品種ごとの割付数と処理能力比率とを掛け合わせることで、各品種について、設備ごとの割付負荷を算出する。試算部12は、割付負荷を設備ごとの処理能力で除することで、品種ごと且つ設備ごとの負荷率を算出する。試算部12は、品種ごとの負荷率の和を算出する。これにより、各設備において、全ての割り付られた品種を処理したときの負荷率が算出される。試算部12は、算出された設備ごとの負荷率を閾値と比較する。
【0038】
なお、試算に用いられる入力データ、試算のための計算方法は、上述した例に限らず、適宜変更可能である。例えば、計算の簡素化のために、バッチサイズや、実際の稼動時間、処理時間などは、設備間で共通に設定されても良い。ただし、試算の精度の向上の観点からは、これらのデータが用意されることが好ましい。また、生産計画数は、累計良品率を考慮して設定されても良い。この場合、累計良品率の設定は不要となる。
【0039】
投入計画作成部13は、品種ごとの各生産ラインへの投入数を算出する。また、投入計画作成部13は、投入数に基づき、バッチサイズを考慮した品種ごとのワークの投入間隔を算出する。さらに、投入計画作成部13は、投入数に基づき、各品種の投入頻度を算出する。投入計画作成部13は、投入間隔及び投入頻度から、投入計画を作成する。
【0040】
図9は、投入計画作成部による処理を示す模式図である。
投入計画作成部13による具体的な処理を説明する。まず、投入計画作成部13は、入力データ(第2入力データ)を参照する。入力データは、
図9に示すように、各品種の投入計画、まとめ投入ロット数、稼働時間、初工程の割付比率、及び割付ルートを含む。この入力データは、ユーザにより予め用意される。
【0041】
図10(a)、
図10(b)、
図11(a)、及び
図11(b)は、投入計画の作成に用いられるデータの一例である。
図10(a)は、投入数及びまとめ投入ロット数を例示するテーブルである。
図10(a)に示すテーブル150は、品種151、投入ロット数152、及びまとめ投入ロット数153を含む。投入ロット数152は、品種ごと151に、生産ラインへ投入されるロットの総数を示す。まとめ投入ロット数153は、1度に生産ラインへまとめて投入されるロット数を示す。まとめ投入ロット数153は、ボトルネックとなる工程のバッチサイズ等を考慮して設定される。
【0042】
図10(b)は、初工程の割付比率を例示するテーブルである。
図10(b)に示すテーブル160は、品種161及び割付比率162~164を含む。割付比率162~164は、品種161ごとの初工程における各生産ラインの割付比率である。
【0043】
図11(a)は、稼働時間を例示するテーブルである。
図11(a)に示すテーブル170は、稼働日数171、稼働時間172、及び月間稼働時間173を含む。稼働日数171は、1ヶ月あたりの平均的な稼働日数を示す。稼働時間172は、1日あたりの平均的な稼働時間を示す。月間稼働時間173は、1ヶ月あたりの平均的な稼働時間を示す。
【0044】
図11(b)は、割付ルートを示すテーブルである。
図11(b)に示すテーブル180は、品種181、ロット数182、ルート183、及び投入ライン184を示す。ルート183は、各品種181を生産するための複数の工程における処理経路を示す。ルート183の各数字は、特定の処理経路を示す。投入ライン184は、ロットが最初に投入される生産ラインを示す。
【0045】
図12~
図17は、投入計画作成部による処理結果を例示するデータである。
投入計画作成部13は、入力データから、各生産ラインへの投入回数を算出する。投入回数は、「(投入ロット数×初工程の割付比率)/まとめ投入ロット数」により算出できる。例えば
図12に示すように、品種191、投入回数192、投入回数193を含むテーブル190のデータが算出される。テーブル190は、品種191ごと且つ生産ラインごとの投入回数を示す。
【0046】
投入計画作成部13は、各生産ラインへの投入間隔を算出する。投入間隔は、「月間稼働時間/各生産ラインの合計投入回数」により算出される。例えば、各生産ラインが1ヶ月あたり28日、1日あたり24時間稼働する場合、
図12に示す「生産ラインa」について、28日×24h/83回により、投入間隔が算出される。計算の結果、「生産ラインa」に対するロットの投入間隔は、8.1時間に1回である。「生産ラインb」に対するロットの投入間隔は、7.6時間に1回である。
【0047】
投入計画作成部13は、各生産ラインへの投入頻度を算出する。投入頻度は、各品種が何回おきに投入されるかを示す。投入頻度は、「生産ラインへの投入回数/品種の投入回数」により算出される。計算の結果、例えば
図13に示すように、品種「690」については、「生産ラインa」に2回又は3回おきにロットが投入される。「生産ラインb」には、1回又は2回おきにロットが投入される。
【0048】
投入計画作成部13は、投入順序を計画する。投入計画作成部13は、特定の時間帯に、特定のルートで集中的にロットが処理されないように、品種ごとにルートをランダムに割振る。
図14は、
図11(b)に示すデータの一部に、投入頻度及び乱数を加えたテーブルを示す。
図14に示すテーブル200では、「生産ラインb」及び品種「690」に関するデータのみが例示されている。テーブル200は、品種201、投入頻度202、まとめロット数203、及びルート204に加えて、乱数205を含む。
【0049】
投入計画作成部13は、乱数を加えて得られたデータを、乱数を基準にしてソートする。
図15のテーブル200aは、乱数205を基準に、品種201、投入頻度202、まとめロット数203、及びルート204をソートした結果を示す。乱数に基づくソートにより、ルート204の並び順がランダムとなる。投入計画作成部13は、品種ごと且つ生産ラインごとに、乱数を加えた同様のデータを生成する。
【0050】
投入計画作成部13は、品種ごと且つ生産ラインごとに乱数を加えたデータをまとめる。投入計画作成部13は、品種ごと且つ生産ラインごとに、ロットナンバーを順番に割り当て、さらに乱数を付与する。投入計画作成部13は、投入頻度、ロットナンバー、及び乱数を用いて、各品種の投入についての得点を算出する。投入計画作成部13は、得点を基準にデータをソートし、投入順序を決定する。
【0051】
図16は、乱数が加えられたデータをまとめたテーブル220を示す。テーブル220は、品種221、投入頻度222、まとめロット数223、ルート224、ロットナンバー(No.)225、乱数226、及び得点227を含む。ロットナンバー225は、各品種221について、テーブルの上から順番に割り当てられている。得点227として、投入頻度、ロットナンバー、及び乱数の積が用いられている。テーブル220は、得点227を基準にソートされた結果を示す。これにより、特定の品種が集中的に投入されないように平準化された投入順序が得られる。
【0052】
投入計画作成部13は、投入間隔に基づいて算出される投入タイミングを、得られた投入順序に追加する。これにより、どのタイミングで、どの品種のワークを、どのルートに投入するかが規定された投入計画が得られる。
【0053】
図17は、テーブル220の品種221、投入頻度222、まとめロット数223、ルート224に、順序228及び投入タイミング229を追加して得られたテーブル220aを示す。投入タイミング229は、1番目のワークの投入タイミングを基準として、各順序228のワークがいつ投入されるかを示す。
【0054】
以上により、投入計画作成部13は、複数の生産ラインへのロット(ワーク)の投入タイミングを示す投入計画が作成される。より具体的には、投入計画には、どの品種のロットを、どの処理経路に、いつ投入するかが示されている。投入されたロットは、処理計画に従って処理されていく。投入計画作成部13は、作成した投入計画及び負荷率が追加された処理計画を、検証部14へ送信する。
【0055】
なお、投入計画の作成に用いられる入力データは、上述した例に限らず、適宜変更可能である。例えば、入力データの準備を容易とするために、まとめ投入ロット数は、各品種で共通に設定されても良いし、最小の「1」の値が自動的に設定されても良い。ただし、投入計画の精度の向上の観点からは、品種ごとにまとめ投入ロット数が設定されることが好ましい。また、投入順序は、乱数以外を用いて平準化されても良い。
【0056】
検証部14は、作成された投入計画及び処理計画の妥当性を検証する。検証部14は、入力に基づき、シミュレーションモデルの各要素を設定する。検証部14は、投入計画及び処理計画に従ってシミュレーションモデルを動作させる。
【0057】
図18は、シミュレーションモデルの構成要素を示す模式図である。
図18に示すように、シミュレーションモデル300は、投入部301、バッファ302、設備303、シフト304、作業者305、リソース306、及び払出部307を含む。投入部301は、生産ラインへ、複数のワークからなるロットを投入する。バッファ302は、バッファであり、処理待ちのロットを滞留させる。設備303は、各工程を実行する設備であり、ロットを処理する。設備303の処理能力は、入力データ(第4入力データ)に基づいて設定される。シフト304は、設備及び作業者の稼働時間を示す。作業者305は、作業者である。作業者ごとに、対応可能な工程が設定される。リソース306は、利用可能な治具である。
図18に示す例では、シミュレーションの便宜上、治具も作業者として扱っている。払出部307は、ロットを払い出すユニットである。処理が完了したロットは、払出部307により削除される。
【0058】
図19~
図25は、シミュレーションで用いられるデータの一例である。
投入部301は、予め用意されたテーブルと、投入計画作成部13によって作成された投入計画と、に基づき、ロットを生成する。ロットは、複数のロットからなる。例えば
図19に示すように、テーブル400は、品種401、処理ID402、及び数403を含む。テーブル400では、各品種401のロットに対して、どの処理が実行されるかが設定されている。
【0059】
設備303は、処理テーブル及びフローテーブルに基づき、各ロットを処理していく。各工程においてロットを処理する設備303は、処理計画に従って割り付けられる。各工程に関わる作業者305及びリソース306は、割当テーブルに基づいて割り当てられる。
【0060】
図20は、処理テーブルの一例である。
図20に示す処理テーブル420は、品種421、処理ID422、処理名423、処理時間424、及び装置425を含む。処理時間424は、各処理ID422によって特定される処理の実行に必要な時間を示す。装置425は、処理の実行時に使用される装置を示す。
【0061】
図21は、フローテーブルの一例である。
図21に示すフローテーブル440は、品種441、処理ID442、処理名443、前処理ID444、及び前処理名445を含む。前処理ID444は、処理ID442に対応する処理の前に実行される処理を示す。すなわち、前処理ID444に対応する処理が実行された後、処理ID442に対応する処理が実行される。
【0062】
図22は、割当テーブルの一例である。
図22に示す割当テーブル460は、品種461、処理ID462、処理名463、リソース464、種別465、及び数量466を含む。リソース464は、処理IDで示された工程に割り当てられるリソースを示す。リソースは、作業者、治具等である。種別465は、リソース464が処理できる作業の種類を示す。例えば、「作業A」は、作業Aのための治具が、処理ID「P1_02」によって特定される処理で使用されることを示す。数量466は、処理IDで示された工程において、必要なリソース464の数を示す。例えば、処理ID「P1_02」で示された工程を処理するには、作業Aを実行可能な作業者1名が必要であることを示す。
【0063】
作業者305は、シフトテーブル及び作業者テーブルで設定されたデータに従って作業する。
図23は、シフトテーブルの一例である。
図23に示すシフトテーブル480は、シフト種別481、始業時刻482、終業時刻483、及び休憩時間484を含む。始業時刻482と、終業時刻483と、始業時刻482から終業時刻483までの間の休憩時間484と、がシフト種別481ごとに設定されている。
【0064】
図24は、作業者テーブルの一例である。
図24に示す作業者テーブル500は、作業者名501、シフト種別502、及び対象作業503~505を含む。シフト種別502は、作業者名501によって特定される作業者が働くシフトを示す。対象作業503~505は、各作業者が実行する作業を示す。「1」は、作業者がその作業を実行することを示す。空欄は、作業者がその作業を実行しないことを示す。
【0065】
設備303は、実際の設備の稼働状況に倣って動作する。例えば、実際の設備の稼働状況を反映させるため、
図25(a)に示す設備故障テーブル520が用意される。設備故障テーブル520は、装置名521、数522、容量523、シフト種別524、Mean Time Between Failure(MTBF)525、及びMean Time To Repair(MTTR)526を含む。容量523は、同時に処理できるロットの数を示す。MTBF525は、故障までに稼働した時間の平均を示す。MTTR526は、故障から復旧までにかかる時間の平均を示す。MTBF525及びMTTR526が設定されることで、実際の装置の稼働状況を考慮して処理計画及び投入計画の妥当性を検証できる。
【0066】
リソース306については、例えば
図25(b)に示す治具テーブル540が用意される。治具テーブル540は、名称541、数542、及びシフト種別543を含む。治具テーブル540により、利用可能な治具の数及び時間帯(シフト)が設定される。
【0067】
図26~
図28は、検証部によるシミュレーションの動作を示すフローチャートである。
図26のフローチャートは、バッファ302から設備303にロットを送り出す動作を示す。まず、ロットがバッファ302に到着すると、動作が開始する。バッファ302は、ファーストインファーストアウト(FIFO)且つ最早納期(EDD)の順に、バッファ302における品種を並び替える(ステップS11)。バッファ302は、並び替えた結果から、着工させるロットを決定する(ステップS12)。例えば、バッファ302に送られた時期が早く、且つ納期が短いロットほど、優先的に着工される。着工されるロットが決定すると、合流部品が足りるか判断される(ステップS13)。複数の前工程でそれぞれ処理された複数の部品が、1つの工程で使用される場合がある。ここでは、それらの複数の部品を合流部品と呼ぶ。ステップS13では、着工に必要な部品が全て合流しているか判断される。
【0068】
合流部品が足りる場合、着工できる設備があるか判断される(ステップS14)。着工できる設備がある場合、必要な作業者及びリソースが足りるか判断される(ステップS15)。必要な作業者及びリソースが足りる場合、バッファ302は、ロットを設備303に送る(ステップS16)。次に、設備に未だ容量があるか判断される(ステップS17)。設備に未だ容量がある場合、バッファ302に着工できるロットがあるか判断する(ステップS18)。着工できるロットがある場合、そのロットを設備303に送る(ステップS19)。ステップS13において合流部品が足りない場合、ステップS14において着工できる設備303が無い場合、ステップS15において作業者及びリソースが足りない場合、ステップS17において設備に容量が無い場合、ステップS18において着工できるロットが無い場合、又はステップS19が完了した場合、動作は終了する。
【0069】
図26に示す動作により、バッファ302に着工できるロットがある場合に、そのロットが設備303に送り出される。
【0070】
図27のフローチャートは、バッファ302から設備303にロットを送り出す別の動作を示す。設備303が空いていると、
図27に示す動作が開始される。まず、バッファ302に処理できる品種があるか判断される(ステップS21)。処理できる品種とは、設備303で処理可能な品種を指す。処理できる品種がある場合、合流部品が足りるか判断される(ステップS22)。合流部品が足りる場合、必要な作業者及びリソースが足りるか判断される(ステップS23)。必要な作業者及びリソースが足りる場合、バッファ302は、ロットを設備303に送る(ステップS24)。設備に未だ容量があるか判断される(ステップS25)。設備に未だ容量がある場合、バッファ302に着工できるロットがあるか判断する(ステップS26)。着工できるロットがある場合、そのロットを設備303に送る(ステップS27)。ステップS22において合流部品が足りない場合、ステップS23において作業者及びリソースが足りない場合、ステップS25において設備に容量が無い場合、ステップS26において着工できるロットが無い場合、又はステップS27が完了した場合、動作は終了する。
【0071】
図27に示す動作により、設備303がロットを処理可能になると、バッファ302で待機中の品種が着工される。
【0072】
図28のフローチャートは、バッファ302から設備303にロットを送り出すさらに別の動作を示す。
作業者305及びリソース306が空いていると、
図28に示す動作が開始される。まず、バッファ302に処理できる品種があるか判断される(ステップS31)。処理できる品種がある場合、合流部品が足りるか判断される(ステップS32)。合流部品が足りる場合、処理できる設備(空いている設備)があるか判断される(ステップS33)。処理できる設備がある場合、必要な作業者及びリソースが足りるか判断される(ステップS34)。必要な作業者及びリソースが足りる場合、バッファ302は、ロットを設備303に送る(ステップS35)。次に、設備に未だ容量があるか判断される(ステップS36)。設備に未だ容量がある場合、バッファ302に着工できるロットがあるか判断される(ステップS37)。着工できるロットがある場合、そのロットが設備303に送られる(ステップS38)。
【0073】
ステップS31において処理できる品種が無い場合、ステップS32において合流部品が足りない場合、ステップS33において処理できる設備が無い場合、ステップS34において作業者及びリソースが足りない場合、ステップS36において設備に容量が無い場合、ステップS37において着工できるロットが無い場合、又はステップS38が完了した場合、動作は終了する。
【0074】
図28に示す動作により、作業者305及びリソース306がロットを処理可能になると、バッファ302で待機中の品種が着工される。
【0075】
シミュレーションにより、各品種のロットが、いつまでにどの程度生産されるか、算出される。検証部14は、シミュレーションの結果から、予め設定された生産計画数の製品が、納期までに生産されるか判断する。生産計画数の製品を納期までに生産できない場合、検証部14は、作成された処理計画及び投入計画を妥当でないと判断する。生産計画数の製品を納期までに生産できる場合、検証部14は、作成された処理計画及び投入計画を妥当と判断する。
【0076】
検証部14は、処理計画及び投入計画の評価を示す評価値を算出しても良い。例えば、評価が肯定的であるほど、評価値が高く算出される。生産計画数が達成されると、評価値は高く算出される。また、設備の稼働率と試算された負荷率との差が小さいほど、評価値は高く算出される。その他、生産計画数の製品が生産される期間と、納期までの期間と、に基づいて、処理計画及び投入計画の評価値が算出されても良い。検証部14は、評価値に基づいて、処理計画及び投入計画の妥当性を判断しても良い。例えば、評価値は、製品が生産される期間と、納期までの期間と、の差に応じて算出される。納期までの期間に対して、生産される期間が短いほど、処理計画及び投入計画が肯定的に評価され、評価値が高く算出される。
【0077】
検証部14によって処理計画及び投入計画が妥当でないと判断された場合、最適化計算部11は、最適化の計算を再度実行する。例えば、試算部12によって処理計画が妥当でないと判断された場合と同様に、最適化計算部11は、別の入力データ又は別の制約条件を用いた最適化計算により、別の処理計画を算出する。その後、試算部12は、その別の処理計画の妥当性を判断する。投入計画作成部13は、別の処理計画に基づいて、別の投入計画を作成する。このとき、投入計画を作成するための入力データが変更されても良い。例えば、ワークを処理するための処理経路が変更される。検証部14は、別の処理計画及び別の投入計画を用いて、妥当性を検証する。
【0078】
検証において、シミュレータとしては、Siemens Plant Simulationを利用できる。Siemens Plant Simulationにおいて、投入部301、バッファ302、設備303、シフト304、作業者305、リソース306、及び払出部307を設定し、各種入力データを用意することで、投入計画を検証できる。
【0079】
以上で説明した処理により、処理計画及び投入計画を含む生産計画が得られる。この生産計画に従った生産により、計画された数の製品を納期までに生産可能である。
【0080】
上述した例では、データが全てテーブルとして用意されていた。データは、テーブル以外の形式で用意されても良い。生産計画の作成に利用可能なデータを、別のデータから算出するための数式などが用意されても良い。
【0081】
図29は、作成された生産計画を例示するグラフである。
図29において、横軸は、日付を示す。縦軸は、処理されるロット数を示す。3つの生産ラインa~cのそれぞれについて、どの品種が、いつ、どの程度処理されるかが計画されている。作成された生産計画に従ってワークを処理することで、予め設定した生産計画数の製品を納期までに生産することができる。
【0082】
処理装置10は、作成した生産計画を出力する。例えば、処理装置10は、File Transfer Protocol(FTP)などにより、外部のサーバへ生産計画のデータを送信する。処理装置10は、データベース通信を行って、Open Database Connectivity(ODBC)などを用いて、外部のデータベースサーバへデータを挿入してもよい。処理装置10は、Comma Separated Value(CSV)などの所定のファイル形式でデータを出力し、フラッシュメモリなどの記録媒体に書き込んでも良い。処理装置10は、モニタなどの出力装置に生産計画を出力させても良い。例えば、処理装置10は、
図29に示す生産計画を、グラフィカルユーザインタフェース上で表示させる。
【0083】
図30は、実施形態に係る作成方法の概要を示すフローチャートである。
最適化計算部11は、最適化計算用の入力データ(第1入力データ)を取得する(ステップS1a)。最適化計算部11は、入力データを基に、最適化計算により、処理計画を作成する(ステップS1b)。試算部12は、負荷率試算用の入力データ(第3入力データ)を取得する(ステップS2a)。試算部12は、処理計画及び入力データを基に、設備ごとの負荷率を試算する(ステップS2b)。試算部12は、いずれかの負荷率が閾値を超えないか判断する(ステップS2c)。いずれかの負荷率が閾値を超えた場合、最適化計算が再度実行される。いずれかの負荷率も閾値を超えない場合、試算部12は、処理計画に設備ごとの負荷率を追加する(ステップS2d)。投入計画作成部13は、投入計画用の入力データ(第2入力データ)を取得する(ステップS3a)。投入計画作成部13は、入力データを基に、投入計画を作成する(ステップS3b)。検証部14は、シミュレーション用の入力データ取得する(ステップS4a)。検証部14は、シミュレーションにより、処理計画及び投入計画を検証する(ステップS4b)。検証部14は、シミュレーションの結果を基に、処理計画及び投入計画の妥当性を検証する(ステップS4c)。処理計画及び投入計画が妥当でないと判断された場合、最適化計算が再度実行される。又は、投入計画の作成が再度実行されても良い。処理計画及び投入計画が妥当と判断された場合、検証部14は、その処理計画及び投入計画を含む生産計画を出力する(ステップS4d)。
【0084】
実施形態の利点を説明する。
一般的な生産現場では、生産ラインごとに設置されている設備の処理能力が異なる。従来、生産ライン間の差異を考慮して生産計画を作成することが困難であった。また、生産計画の作成では、設備への負荷、生産ライン間の負荷のバランス、生産ライン間の搬送回数など、考慮すべき要素が多い。このため、生産計画の作成に長い時間を要していた。
【0085】
これらの課題について、実施形態に係る作成システム1では、最適化計算によって、品種ごと、生産ラインごと、且つ工程ごとの生産計画数を示す処理計画が作成される。また、品種ごとの生産ラインごとへのロット(ワーク)の投入数や、品種ごとの処理経路などの入力データを用いて、各生産ラインへのロットの投入タイミングを示す投入計画が作成される。さらに、処理計画及び投入計画に基づくシミュレーションにより、それらの計画の妥当性が検証される。これらの一連の処理によれば、生産計画を、より精度良く作成できる。精度が良いとは、例えば、実際にその生産計画に従って生産した場合に、計画されたスケジュールと実際の生産のスケジュールとの間で誤差が少ないことを指す。また、入力データを準備すれば、作成システム1は生産計画を作成可能であるため、人が生産計画の作成に多くの時間を費やす必要が無い。
【0086】
作成される生産計画の精度をさらに向上させるために、
図30に示すように、設備ごとの負荷率が試算されることが好ましい。ある工程を実施するために、複数の設備が用意される場合がある。この場合に、いずれかの設備に対して、処理可能な数を超えるワークの処理が要求されると、その設備は、要求された数のワークを処理できない。試算により、設備ごとの負荷を考慮した場合に、処理計画を実行可能かが判断できる。
【0087】
図31は、ハードウェア構成を例示する模式図である。
処理装置10として、例えば
図31に表したコンピュータ90を用いることができる。コンピュータ90は、CPU91、ROM92、RAM93、記憶装置94、入力インタフェース95、出力インタフェース96、及び通信インタフェース97を含む。
【0088】
ROM92は、コンピュータ90の動作を制御するプログラムを格納している。ROM92には、上述した各処理をコンピュータ90に実現させるために必要なプログラムが格納されている。RAM93は、ROM92に格納されたプログラムが展開される記憶領域として機能する。
【0089】
CPU91は、処理回路を含む。CPU91は、RAM93をロットメモリとして、ROM92又は記憶装置94の少なくともいずれかに記憶されたプログラムを実行する。プログラムの実行中、CPU91は、システムバス98を介して各構成を制御し、種々の処理を実行する。プログラムの実行により、コンピュータ90は、上述した最適化計算部11、試算部12、投入計画作成部13、及び検証部14として機能する。
【0090】
記憶装置94は、プログラムの実行に必要なデータや、プログラムの実行によって得られたデータを記憶する。
【0091】
入力インタフェース(I/F)95は、処理装置10と入力装置95aとを接続する。入力I/F95は、例えば、USB等のシリアルバスインタフェースである。CPU91は、入力I/F95を介して、入力装置95aから各種データを読み込むことができる。
【0092】
出力インタフェース(I/F)96は、処理装置10と出力装置96aとを接続する。出力I/F96は、例えば、Digital Visual Interface(DVI)やHigh-Definition Multimedia Interface(HPMI(登録商標))等の映像出力インタフェースである。CPU91は、出力I/F96を介して、出力装置96aにデータを送信し、出力装置96aに画像を表示させることができる。
【0093】
通信インタフェース(I/F)97は、処理装置10外部のサーバ97aと、処理装置10と、を接続する。通信I/F97は、例えば、LANカード等のネットワークカードである。CPU91は、通信I/F97を介して、サーバ97aから各種データを読み込むことができる。
【0094】
記憶装置94は、Hard Disk Drive(HDD)及びSolid State Drive(SSD)から選択される1つ以上を含む。入力装置95aは、マウス、キーボード、マイク(音声入力)、及びタッチパッドから選択される1つ以上を含む。出力装置96aは、モニタ、プロジェクタ、プリンタ、及びスピーカから選択される1つ以上を含む。タッチパネルのように、入力装置95aと出力装置96aの両方の機能を備えた機器が用いられても良い。
【0095】
最適化計算部11、試算部12、投入計画作成部13、及び検証部14の各機能は、1つのコンピュータ90によって実現されても良いし、複数のコンピュータ90の協働によって実現されても良い。例えば、作成システム1は、複数の処理装置10(コンピュータ90)を含む。複数の処理装置10が、それぞれ、最適化計算部11、試算部12、投入計画作成部13、及び検証部14として機能しても良い。
【0096】
上記の種々のデータの処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク及びハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリ、又は、他の非一時的なコンピュータで読取可能な記録媒体(non-transitory computer-readable storage medium)に記録されても良い。
【0097】
例えば、記録媒体に記録された情報は、コンピュータ(または組み込みシステム)により読み出されることが可能である。記録媒体において、記録形式(記憶形式)は任意である。例えば、コンピュータは、記録媒体からプログラムを読み出し、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させる。コンピュータにおいて、プログラムの取得(または読み出し)は、ネットワークを通じて行われても良い。
【0098】
以上で説明した実施形態によれば、より高精度に生産計画を作成可能な、作成システム、作成方法、プログラム、及び記憶媒体が提供される。
【0099】
以上、本発明のいくつかの実施形態を例示したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更などを行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
【符号の説明】
【0100】
1:作成システム、 10:処理装置、 11:最適化計算部、 12:試算部、 13:投入計画作成部、 14:検証部、 20:記憶装置、 90:コンピュータ、 91:CPU、 92:ROM、 93:RAM、 94:記憶装置、 95:入力インタフェース、 95a:入力装置、 96:出力インタフェース、 96a:出力装置、 97:通信インタフェース、 97a:サーバ、 98:システムバス、 300:シミュレーションモデル、 301:投入部、 302:バッファ、 303:設備、 304:シフト、 305:作業者、 306:リソース、 307:払出部