(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】生産計画最適化装置、方法、プログラム、及び制御装置
(51)【国際特許分類】
G06Q 10/047 20230101AFI20240402BHJP
【FI】
G06Q10/047
(21)【出願番号】P 2022539940
(86)(22)【出願日】2020-07-31
(86)【国際出願番号】 JP2020029432
(87)【国際公開番号】W WO2022024343
(87)【国際公開日】2022-02-03
【審査請求日】2023-01-26
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】千嶋 博
(72)【発明者】
【氏名】海田 雅代
【審査官】塩田 徳彦
(56)【参考文献】
【文献】特開2020-042687(JP,A)
【文献】米国特許出願公開第2019/0325338(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワーク
間に対して定められた順序制約と、
複数のグループ間に対して定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する巡回セールスマン問題定式化手段と、
シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する加工順序決定手段と、
を備え
、
前記グループは、前記複数のワークのうちの2つ以上のワークを含む、
生産計画最適化装置。
【請求項2】
前記グループは、加工に用いられる部材および治工具の少なくともいずれかの共通性で前記ワークをまとめたものであり、
前記生産計画最適化装置は、
前記複数のグループの加工順序をグループ順序として決定するグループ順序決定手段、
を更に備え
た、
請求項1に記載の生産計画最適化装置。
【請求項3】
異なるグループに属するワークの間における前記段取り替え時間には、切り替え先のワークの属する前記グループの生産準備に要するグループ準備時間が含まれており、
前記生産計画最適化装置は、
前記生産準備が加工装置の外部において行われた後に、当該生産準備を行ったグループの加工が前記加工装置において開始される場合の、前記加工装置における待ち時間の和を最小化するジョブショップ問題を定式化するジョブショップ問題定式化手段、
をさらに備え、
前記グループ順序決定手段は、
前記アニーリング処理手段を用いて前記ジョブショップ問題の解を計算し、計算結果に基づいて前記グループ順序を決定する、
請求項2に記載の生産計画最適化装置。
【請求項4】
前記複数のワークは、注文された複数の注文ワークから選択され、
前記複数の注文ワークのそれぞれは、前記複数のグループに分類されており、
前記生産計画最適化装置は、
前記複数のグループのそれぞれについて、当該グループに分類された注文ワークを組み合わせた1又は複数のブロックを生成する生成手段と、
前記生成手段によって生成された複数のブロックのそれぞれについて、当該ブロックに含まれる前記注文ワークの加工に要するブロック加工時間を算出し、前記ブロック加工時間又は所定の準備時間のいずれか大きい方を、当該ブロックのブロック処理時間として設定する設定手段と、
前記ブロック処理時間の和が所定の稼働時間以下となる範囲で大きくなるように、前記複数のブロックから、加工する複数の加工ブロックを選択するナップサック問題を定式化するナップサック問題定式化手段と、
前記アニーリング処理手段を用いて前記ナップサック問題の解を計算し、計算結果に基づいて前記複数の加工ブロックを選択し、選択結果に応じて前記複数の注文ワークを選択する選択手段と、
をさらに備えた請求項3に記載の生産計画最適化装置。
【請求項5】
前記複数の注文ワークのそれぞれは、前記納期が設定されており、
前記ナップサック問題定式化手段は、
前記納期が所定の期日である注文ワークが、前記複数の加工ブロックのいずれかに含まれるように前記ナップサック問題を定式化する、
請求項4に記載の生産計画最適化装置。
【請求項6】
前記ナップサック問題定式化手段は、
前記選択手段によって選択される前記複数の注文ワークの属するグループの数が少なくなるように前記ナップサック問題を定式化する、
請求項4または5のいずれかに記載の生産計画最適化装置。
【請求項7】
前記ナップサック問題定式化手段は、
前記所定の準備時間と前記ブロック加工時間との差分に基づく準備待ち時間の和が小さくなるように前記ナップサック問題を定式化する、
請求項4から6のいずれか1項に記載の生産計画最適化装置。
【請求項8】
コンピュータが、
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワーク
間に対して定められた順序制約と、
複数のグループ間に対して定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化し、
シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定
し、
前記グループは、前記複数のワークのうちの2つ以上のワークを含む、
生産計画最適化方法。
【請求項9】
コンピュータに、
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワーク
間に対して定められた順序制約と、
複数のグループ間に対して定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する処理と、
組合せ最適化問題の最適解を計算するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する処理と、
を実行させ
、
前記グループは、前記複数のワークのうちの2つ以上のワークを含む、
生産計画最適化プログラム。
【請求項10】
複数のワークのうち少なくとも2つのワークの切り替えに時間を表す段取り時間と、一部のワークの実施順序の制約条件と
、複数のグループ間に対して定められた順序制約とを用いて、前記複数のワークを処理順序にて処理するのに要する切り替え時間の合計時間についての評価値を算出し、算出した前記評価値が、小さいと判断する条件を満たす場合におけるワークの処理順序を決定するアニーリング処理手段と、
決定した前記処理順序に従い、前記複数のワークを実行する装置を制御する制御手段と
を備え
、
前記グループは、前記複数のワークのうちの2つ以上のワークを含む、
制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生産計画最適化装置、方法、プログラムが格納された非一時的なコンピュータ可読媒体、及び制御装置に関する。
【背景技術】
【0002】
製造業において、3Dプリンタ、レーザ加工装置、表面実装装置などの複数種類の製品(ワーク)を加工することのできる装置が広く使われるようになってきている。このような加工装置は、加工するワークが変わるたびに、段取り替えと呼ばれるセッティング変更を行う必要がある。
【0003】
段取り替えを行っている間は、加工装置が停止することになるため、生産性を向上するためには段取り替え時間をなるべく短くする必要がある。一般に、段取り替え時間はどのワークからどのワークに切り替えるか、ワークの種類に依存するため、ワークの加工順序に大きく依存する。しかし、最適な加工順序を決定するために必要となる計算時間はワークの増加に伴って指数関数的に増加するため、最適な加工順序を現実的な時間で決定することは困難であった。
【0004】
ところで、量子アニーリング、シミュレーテッドアニーリングにより組合せ最適化問題の最適解を探索する方法が注目されている。これらの方法は、量子揺らぎ又は熱揺らぎを用いて最適解を探索する手法である。
【0005】
組合せ最適化問題とは、設定した評価(目的)関数をもとに、最適な変数の組を探索するという問題である。組合せ最適化問題の例として、巡回セールスマン問題が知られている。巡回セールスマン問題は、例えば、全ての都市を一度ずつ訪問し出発した都市に戻る巡回路のうち、移動距離が最小のものを求めるという問題である。巡回セールスマン問題の解法に関する技術としては、例えば、特許文献1が知られている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のとおり、ワークの加工順序を最適化し、段取り替え時間を最小化することは困難であるという問題があった。
【0008】
本開示は、このような課題を解決するためになされたものである。即ち、加工装置や製造装置等の装置を用いて複数の製品を製造する製造コストを低減することが可能な生産計画最適化装置、方法、プログラム、及び制御装置を提供することである。
【課題を解決するための手段】
【0009】
本開示にかかる生産計画最適化装置は、複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する巡回セールスマン問題定式化手段と、シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する加工順序決定手段と、を備える。
【0010】
本開示にかかる生産計画最適化方法は、コンピュータが、複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化し、シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記順序を決定する、ものである。
【0011】
本開示にかかる生産計画最適化プログラムは、コンピュータに、複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する処理と、シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記順序を決定する処理と、を実行させるものである。
【0012】
本開示にかかる制御装置は、複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する巡回セールスマン問題定式化手段と、シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する加工順序決定手段と、前記加工順序決定手段によって決定された前記加工順序に従って、前記複数のワークを加工する加工装置を制御する制御手段と、を備える。
【発明の効果】
【0013】
本開示によれば、加工装置や製造装置等の装置を用いて複数の製品を製造する製造コストを低減することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態1に係る生産計画最適化装置の構成を示したブロック図である。
【
図2】生産計画最適化装置のハードウェア構成例を示すブロック図である。
【
図3】実施形態2に係る生産計画最適化装置の構成を示したブロック図である。
【
図4】実施形態3に係る生産計画最適化装置の構成を示したブロック図である。
【
図5】各グループ内における加工順序を決定する方法の概要を示す概略図である。
【
図6】グループ単位の加工のスケジュールを例示する概略図である。
【
図7】複数の加工装置を用いて加工する際のスケジュールを示す概略図である。
【
図8】実施形態3に係る生産計画最適化装置の動作を示すフローチャートである。
【
図9】実施形態4に係る生産計画最適化装置の構成を示したブロック図である。
【
図10】納期及びグループに基づき注文するワークをまとめた要素ブロックを示す概略図である。
【
図11】1つの要素ブロックをまとめたブロックを示す概略図である。
【
図12】2つの要素ブロックをまとめたブロックを示す概略図である。
【
図13】3つの要素ブロックをまとめたブロックを示す概略図である。
【
図14】4つの要素ブロックをまとめたブロックを示す概略図である。
【
図15】5つの要素ブロックをまとめたブロックを示す概略図である。
【
図16】ナップサック問題の概要を示す概略図である。
【
図17】実施形態4にかかる生産計画最適化装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0015】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0016】
(実施形態1)
図1は、実施形態1に係る生産計画最適化装置100の構成を示す構成図である。生産計画最適化装置100は、巡回セールスマン問題定式化部111と、加工順序決定部112とを備える。生産計画最適化装置100は、複数のワークの加工順序を決定する装置である。加工装置は、例えば、3Dプリンタ、レーザ加工装置、表面実装装置等の複数種類の製品を加工可能な装置である。なお、プリント基板の加工を行う場合、プリント基板の表面と裏面とをそれぞれ別のワークとして扱ってもよい。
【0017】
また、生産計画最適化装置100は、決定した加工順序に従い、加工装置等の装置を制御する制御部を有していてもよい。この場合に、生産計画最適化装置100は、加工装置等の装置を制御する制御装置として機能する。言い換えると、生産計画最適化装置100は、決定した処理順序に従い、複数のワークを実行する装置を制御する制御装置であるということもできる。
【0018】
巡回セールスマン問題定式化部111は、複数のワークの加工順序を決定する問題を、所定の制約条件を満たし、かつ、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する。例えば、その問題は、式1に例示するような目的関数と、式2及び式3に例示するような制約とを用いて以下のように表すこととができる。
【0019】
【数1】
ただし、UD
i,jは、ワークiからワークjに切り替える際の段取り替え時間を表す。x
i,tは、ワークiをt番目に実行する場合に1である。x
i,tは、それ以外の場合に0である。
【0020】
【0021】
【0022】
この場合に、式1は、ワークiからワークjに切り替える際の段取り替え時間の合計時間が最小である場合の時間を求める処理を表す。式2は、一度に処理するワークはひとつだけであるという条件を表す。式3は、各ワークは、一度だけ処理されるという条件を表す。ただし、巡回セールスマン問題の表し方は、式1乃至式3に限定されず、各ワークを処理する場合に要する段取り替え時間の合計時間を最小化するような式であればよい。
【0023】
ここで、複数のワークのそれぞれが巡回セールスマン問題における各都市に対応し、ワークの切り替えに伴う段取り替え時間が巡回セールスマン問題における都市間の距離に対応する。所定の制約条件については後述する。
【0024】
上記した巡回セールスマン問題は、例えば、全ての都市を一度ずつ訪問し、かつ、移動距離が最小のものを求める問題であってもよい。つまり、上記した巡回セールスマン問題は、出発した都市に戻る巡回路を求める問題でなくてもよい。また、上記した巡回セールスマン問題は、出発する都市に対応するワークが予め定められていてもよい。例えば、出発する都市に対応するワークが、前日の最後に加工されたワークであってもよい。
【0025】
ワークの加工順序を決定する際、ワークに設定された納期と、ワークの加工順序の制約とを考慮する必要がある。上記した所定の制約条件とは、複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たすことである。
【0026】
まず、納期制約について説明する。複数のワークのうち少なくとも1つにおいて納期が定められているものとする。複数のワークのそれぞれについて納期が定められていてもよい。納期制約は、納期が近いワークの加工を優先する制約である。例えば、納期制約は、作業を行う当日に納期が設定されているワークを加工する順番を、所定値より小さくする制約である。所定値をワークの数の(1/2)とした場合、当日に納品すべきワークを、当日の前半において加工することが可能となる。納期制約は、例えば、式4のように表すことができる。
【0027】
【数4】
ただし、DLは、本日締め切りのワークを表す。Tは、本日締め切りに間に合う順番を表す。
【0028】
次に、順序制約について説明する。2つのワークについて、一方を他方より先に加工しなければならない場合がある。例えば、プリント基板の加工において、表面を裏面よりも先に加工することが、製造上禁止されている場合がある。順序制約は、例えば、このような場合に、禁止された禁止順序が含まれないように加工順序を決定するための制約である。巡回セールスマン問題においては、所定の都市を、他の所定の都市よりも後に訪問する制約に対応する。その制約は、たとえば、式5のように表すことができる。
【0029】
【数5】
ただし、pdbは、順序制約を満たしていない組み合わせを要素として含む集合である。
【0030】
なお、順序制約は、3つ以上のワークの順序を定める制約であってもよい。また、複数のワークをまとめたグループについての加工順序が予め定められている場合、当該順序を遵守するように順序制約が定められてもよい。ここで、グループとは、段取り替え時間が短いワークをまとめたものであり、例えば、加工に使用する部材が共通するワークをまとめたものである。
【0031】
加工順序決定部112は、図示しないアニーリング処理部140を用いて巡回セールスマン問題の解を計算し、計算結果に基づいてワークの加工順序を決定する。アニーリング処理部140は、シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索する機能を有する。この場合に、アニーリング処理部140は、式6乃至式11に例示されているようなHが最小である場合のxi,tを求める処理を実行する、または、Hが最小である場合のxi,tを求めるよう動作する。
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【数11】
ただし、W
1、W
2,W
3、W
4、W
5は、重みを表す数値である。巡回セールスマン問題の表し方は、上述した例に限定されず、各ワークを処理する場合に要する段取り時間の合計時間を最小化するような式であればよい。
【0038】
アニーリング処理部140は、生産計画最適化装置100に備えられてもよく、生産計画最適化装置100の外部に設けられた装置であってもよい。
【0039】
また、上述した処理は以下のようにも表すことができる。アニーリング処理部140は、複数のワークのうち少なくとも2つのワークの切り替えに時間を表す段取り時間と、一部のワークの実施順序の制約条件(順序制約)とを用いて、複数のワークを処理順序にて処理するのに要する切り替え時間の合計時間についての評価値(目的関数値)を算出する。そして、アニーリング処理部140は、算出した評価値(目的関数値)が最小となる場合におけるワークの処理順序を決定する。アニーリング処理部140は、複数の評価値を算出し、その中で、評価値が小さいと判断する条件を満たす場合におけるワークの処理順序を決定してもよい。該条件は、たとえば、複数の評価値の中で最も小さいという条件である。あるいは、該条件は、たとえば、評価値を算出する動作を繰り返す場合に、該評価値が、以前の評価値よりも小さくなるという条件である。該条件は、たとえば、評価値が、動作の終了を判定するしきい値よりも小さいという条件であってもよい。該条件は、上述した例に限定されない。さらに、制御部は、決定した処理順序に従い、複数のワークを実行する装置を制御してもよい。
【0040】
アニーリング処理部140は、例えば、シミュレーテッドアニーリングによって組合せ最適化問題の最適解を探索する専用のハードウェアであってもよい。このような専用のハードウェアを、アニーリングマシンと呼ぶ。また、アニーリング処理部140は、量子アニーリングによって組合せ最適化問題の最適解を探索する量子コンピュータであってもよい。加工順序決定部112は、熱揺らぎ、量子揺らぎ等を用いて組合せ最適化問題の最適解を探索するアニーリング処理部140を用いることにより、より短時間でワークの加工順序を決定できる。
【0041】
このように、生産計画最適化装置100は、ワークの加工順序を決定する問題を制約条件付きの巡回セールスマン問題として定式化し、最適解の探索結果に基づいて加工順序を決定する。したがって、生産計画最適化装置100は、ワークの最適な加工順序を決定することができる。さらに、決定した加工順序に従い装置を制御することによって、加工装置や製造装置等の装置を用いて複数の製品を製造する製造コストを低減することができる。
【0042】
図2は、生産計画最適化装置100のハードウェア構成例を示す図である。生産計画最適化装置100は、プロセッサ1001、メモリ1002、及び記憶装置1003を備える。記憶装置1003には、実施形態1にかかる演算方法の処理が実装されたコンピュータプログラムが記憶されている。そして、プロセッサ1001は、記憶装置1003からコンピュータプログラムをメモリ1002へ読み込ませ、当該コンピュータプログラムを実行する。これにより、プロセッサ1001は、巡回セールスマン問題定式化部111及び加工順序決定部112の機能を実現する。
【0043】
または、巡回セールスマン問題定式化部111及び加工順序決定部112は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)等を用いることができる。
【0044】
また、生産計画最適化装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、生産計画最適化装置100の機能がSaaS(Software as a Service)形式で提供されてもよい。
【0045】
(実施形態2)
実施形態2は、実施形態1の具体例である。以下では、1日に加工すべきワークが定められており、1日の加工スケジュールを決定する場合を主として説明するが、本実施形態はこれに限定されない。例えば、3日分の加工スケジュールが決定されてもよい。以下の説明において、実施形態1と重複する説明は省略される。
【0046】
図3は、実施形態2に係る生産計画最適化装置100aの構成を示す構成図である。生産計画最適化装置100aは、制御部150と、表示部160と、操作入力部170と、注文DB(Data Base)181と、段取り時間DB182と、TSP(Traveling Salesman Problem)処理順序最適化部110と、アニーリング処理部140と、を備える。
【0047】
制御部150は、生産計画最適化装置100aにおける処理の全体を制御する。表示部160は、ディスプレイ等の表示装置である。表示部160は、TSP型処理順序最適化部110が決定したワークの加工順序を表示する。
【0048】
また、制御部150は、決定した加工順序に従い、加工装置等の装置を制御する機能を有していてもよい。言い換えると、制御部150は、決定した処理順序に従い、複数のワークを実行する装置を制御する機能を有していてもよい。この場合に、生産計画最適化装置100aは、加工装置等の装置を制御する制御装置として機能する。
【0049】
操作入力部170は、ユーザが操作するマウス、キーボード等で構成される。ユーザは、操作入力部170に入力を行うことにより、生産計画最適化装置100aに加工順序を決定するための演算を行わせる。
【0050】
注文DB181は、注文されたワークと、納期とを対応付けたデータベースである。1日に加工すべきワークは、注文ワークから予め選択されているものとする。段取り時間DB182は、ワークの切り替えに伴う段取り時間を記録する。
【0051】
TSP型処理順序最適化部110は、巡回セールスマン問題定式化部111及び加工順序決定部112を備える。巡回セールスマン問題定式化部111は、加工する複数のワークのそれぞれをノードとし、ノード間のコストを段取り時間DB182に基づく段取り時間として、所定の制約条件下で当該コストの和を最小化する巡回セールスマン問題を定式化する。複数のワークには前日の最後に加工されたワークが含まれてもよく、前日の最後に加工されたワークが巡回セールスマン問題における出発地点として用いられてもよい。所定の制約条件は、注文DB181に基づく納期制約と、ワーク間の加工順序に関する制約である。なお、生産計画最適化装置100aは、ワーク間の加工順序に関する制約を記録した図示しない順序制約DBを備えていてもよい。
【0052】
巡回セールスマン問題定式化部111は、例えば、加工を行う当日が納期となっているワークを加工する順番が所定の順番より小さくなるように巡回セールスマン問題を定式化してもよい。このような場合、当日が納期となっているワークの加工が優先され、納期を満たすことが可能となる。
【0053】
巡回セールスマン問題定式化部111は、グループ順に加工を行うように加工順序を決定してもよい。ここで、グループとは段取り替え時間が短いワークをまとめたものであり、グループ単位で加工を行うことにより段取り替え時間を短縮することができる。このような場合、巡回セールスマン問題定式化部111は、予めグループの加工順序をグループ順序として定め、グループ順序を満たした上で段取り替え時間の和を最小化する巡回セールスマン問題を定式化してもよい。グループ順序を表す制約式は、たとえば、式12のように表すことができる。
【0054】
【数12】
ただし、gdbは、グループ順序制約を満たしていない組み合わせを要素として含む集合である。グループ順序制約は、上述した例に限定されない。
【0055】
加工順序決定部112は、アニーリング処理部140を用いて上記した制約条件付きの巡回セールスマン問題の解を計算し、計算結果に基づいて加工順序を決定する。アニーリング処理部140は、シミュレーテッドアニーリングを用いて組合せ最適化問題を効率的に解くことができるアニーリングマシンであってもよい。また、アニーリング処理部140は、量子アニーリングによって組合せ最適化問題の解を計算する量子コンピュータであってもよい。なお、アニーリング処理部140は、量子モンテカルロ法等を用いて量子アニーリングによって組合せ最適化問題を解いてもよい。加工順序決定部112は、決定した加工順序を表示部160に表示させる。
【0056】
最後に、実施形態2の効果について説明する。混流ラインと呼ばれる製造ラインで使われる複数種類の製品を加工することのできる加工装置は、加工する製品(ワーク)の種類が変わるたびに、段取り替え時間が必要となる。そこで、この段取り替え時間を最小化したいというニーズがあった。そして、段取り替え時間は、どのワークからどのワークに切り替えるかによって異なるため、加工順序によって段取り替え時間の和が変わることとなる。したがって、加工順序(生産計画)が生産性を左右することとなる。
【0057】
人による経験と勘で生産計画を定めた場合、属人性が高く、作成できる生産計画の精度に限界があり、生産計画の策定に数十分から数時間かかるという問題があった。したがって、生産計画の作成を自動化することが望ましいが、最適な加工順序を決定する問題は、NP困難問題とされており、加工するワークの種類が増えると計算時間が指数関数的に伸び、実用的な時間で計算を行うことができないという問題があった。
【0058】
実施形態2にかかる生産計画最適化装置は、ワークの加工順序を決定する問題を巡回セールスマン問題として定式化し、アニーリング手段を用いて段取り替え時間が最小となる加工順序を計算する。したがって、実施形態2にかかる生産計画最適化装置は、最適なワークの生産計画を定めることができる。さらに、決定した生産計画に従い装置を制御することによって、加工装置や製造装置等の装置を用いて複数の製品を製造する製造コストを低減することができる。
【0059】
(実施形態3)
実施形態3は、実施形態2の変形例である。加工に用いられる加工装置に、使用する部材を格納した容器が接続される場合がある。このような容器を、カセットと呼ぶ。なお、部材は、3Dプリンタ等によって用いられる材料であってもよく、表面実装装置によって実装される部品であってもよい。このような場合、使用する部材が異なるワーク間の切り替えにおいて、カセット交換を行うための時間が必要となる。したがって、使用する部材が異なるワーク間の段取り替え時間は、使用する部材が同じワーク間の段取り替え時間よりも短い。
【0060】
カセット交換の準備には、長時間を要する場合がある。このような場合、加工と、カセット交換の準備とが並行して行われる。実施形態3にかかる生産計画最適化装置100bは、このような場合において、最適な加工順序を決定する装置である。具体的には、生産計画最適化装置100bは、まずグループの加工順序を決定し、その後に実施形態2と同様の方法により加工順序を決定する。グループとは、部材、治工具などのワークの共通性で、複数のワークをまとめたものである。
【0061】
図4は、実施形態3にかかる生産計画最適化装置100bの構成を示す構成図である。生産計画最適化装置100bは、制御部150と、表示部160と、操作入力部170と、注文DB181と、段取り時間DB182と、グループ準備時間DB183と、TSP型処理順序最適化部110と、JobShop型処理順序最適化部120と、アニーリング処理部140と、を備える。制御部150、表示部160、操作入力部170、注文DB181、段取り時間DB182、及びアニーリング処理部140の機能は、実施形態2と同様であるため説明を省略する。
【0062】
グループ準備時間DB183には、グループの生産準備に要する時間(グループ準備時間)が記録されている。グループ準備時間は、グループの切り替えに伴うカセット交換の準備に要する時間であってもよい。段取り替え時間DB182には、段取り替え時間のうち、グループ準備時間以外に必要となる時間が記録されてもよい。
【0063】
JobShop型処理順序最適化部120は、グループに含まれるワークの加工に要するグループ加工時間と、グループ準備時間とを用いてジョブショップ問題を定式化し、ジョブショップ問題を解くことによってグループの加工順序を決定する。グループの加工順序を、グループ順序と呼ぶ。ジョブショップ問題は、例えば、式13のように定式化することができる。
【0064】
【数13】
ただし、SD
i,jは、グループiからjに切り替える際の、加工装置における待ち時間を表す。SD
i,jは、上記グループ準備時間と、上記グループ加工時間との差分に対応する。g
i,tは、グループiを時刻tに実行する場合に1、それ以外は0を表す。また、式13の値は、全てのグループは一度だけ処理されるという条件、及び、グループの処理時刻はお互いに重なってはいけないという条件のもとで求められる。ジョブショップ問題の表し方は、上述した例に限定されず、各グループを処理する場合に要する上記待ち時間の合計時間を最小化するような式であればよい。
【0065】
グループ加工時間を求める際、生産計画最適化装置100bは、予備的な巡回セールスマン問題を定式化し、解を計算することによって各グループ内における加工順序を決定してもよい。予備的な巡回セールスマン問題は、各グループの間の距離が十分長くなるように定式化される。このような場合、巡回セールスマン問題の最適解は、各グループを1度ずつ巡るような解となる。
【0066】
図5は、予備的な巡回セールスマン問題の概要を示す概略図である。
図5において、各ワークは、グループA、B及びCに分類されている。ノード3a1、3a2、3a3、及び3a4は、グループAに属する。なお、ノード3a1は、前日の最後に行われたワークに対応してもよい。同様に、ノード3b1、3b2及び3b3は、グループBに属する。また、ノード3c1、3c2及び3c3は、グループCに属する。グループAに属するノードと、グループBに属するノードと、グループCに属するノードと、はそれぞれ十分離れている。
【0067】
図5において、矢印で示される経路は、予備的な巡回セールスマン問題の最適解を表す。生産計画最適化装置100bは、巡回セールスマン問題を解くことによって、グループA内のワークの加工順序と、グループB内の加工順序と、グループC内の加工順序とを決定できる。そして、生産計画最適化装置100bは、決定した加工順序からグループ内の段取り替え時間を算出し、グループ加工時間を算出することができる。なお、各ワークの加工に要する時間は、注文DB181等に予め登録されているものとする。例えば、グループBのグループ加工時間は、ノード3b1に対応するワークの加工に要する時間と、ノード3b1に対応するワークとノード3b2に対応するワークとの間における段取り替え時間と、ノード3b2に対応するワークの加工に要する時間と、ノード3b2に対応するワークとノード3b3に対応するワークとの間における段取り替え時間と、ノード3b3に対応するワークの加工に要する時間と、の和である。
【0068】
JobShop型処理順序最適化部120は、予備的な巡回セールスマン問題の解に基づくグループ加工時間と、グループ準備時間DB183に基づき最適なグループの加工順序を決定する。
【0069】
図4に戻って、JobShop型処理順序最適化部120は、ジョブショップ問題定式化部121及びグループ順序決定部122を備える。ジョブショップ問題定式化部121は、グループ加工時間と、グループ準備時間DB183に基づいて、グループの加工順序を決定する問題を、ジョブショップ問題として定式化する。グループの加工順序をグループ順序とも呼ぶ。
【0070】
具体的には、ジョブショップ問題定式化部121は、グループの生産準備が加工装置の外部において行われた後に、当該生産準備を行ったグループの加工が加工装置において開始される場合の、加工装置における待ち時間の和を最小化するジョブショップ問題を定式化する。
【0071】
図6を用いて、ジョブショップ問題定式化部121が定式化するジョブショップ問題について説明する。
図6に示すスケジュール50a及び50bは、ジョブショップ問題の解の候補である。横軸は、生産時間を表す。スケジュール50aは、グループA、グループC、グループBの順に加工を行った場合の加工スケジュールである。スケジュール50bは、グループB、グループC、グループAの順に加工を行った場合の加工スケジュールである。ワーク加工時間4a1、4a2、4b1、4b2、4b3、4b4、4c1、4c2、及び4c3は、各ワークの加工に要する時間である。スケジュール50a及び50bの上段は加工ラインにおいて行われる作業であり、スケジュール50a及び50bの下段は加工ライン外において行われる作業である。
【0072】
上記の通り、グループ内の加工順序は、予備的な巡回セールスマン問題を解くことによって得られている。
【0073】
段取り替え時間5a1、5b1、5b2、5b3、5c1、5c2、5x、5y及び5zは、段取り時間DB182に基づく段取り替え時間である。なお、段取り替え時間5x、5y及び5zは、グループの切り替えに伴う段取り替え時間のうちグループ準備時間を除いた部分ともいえる。また、例えば、段取り替え時間5xは、ワーク加工時間4c1に対応するワークの加工を行う際に加工装置のセッティングに必要な時間であってもよい。
【0074】
グループ準備時間7a、7b及び7cは、グループの生産準備に要する時間であり、グループ準備時間DB183に基づく。グループ準備時間7aはグループAの生産準備に必要な時間であり、グループ準備時間7bはグループBの生産準備に必要な時間であり、グループ準備時間7cはグループCの生産準備に必要な時間である。待ち時間6x及び6yは、加工装置における待ち時間である。例えば、スケジュール50aにおいて、グループAの加工を完了した時点では、グループCの生産準備が完了していないため、グループCの加工に着手することができない。このような場合、加工装置に待ち時間6xが発生してしまう。
【0075】
ジョブショップ問題定式化部121は、複数のグループの加工が完了するまでの時間を最小化するジョブショップ問題を定式化してもよい。このことは、加工装置における待ち時間を最小化するともいえる。ジョブショップ問題定式化部121は、例えば、グループの生産準備と、当該生産準備を行ったグループの加工とをジョブとしてまとめる。加工は加工装置(加工ライン)において行われ、準備は加工装置の外部(ライン外)で行われるものとする。ここで、生産準備が完了した後に、当該生産準備を行ったグループの加工が開始されるという制約が課せられる。また、生産準備完了後、対応するグループの加工が開始されるまで、他のグループの生産準備が行われないという制約が課せられてもよい。なお、
図6では、最初に加工するグループのグループ準備時間を考慮していないが、考慮してもよい。
【0076】
また、ジョブショップ問題定式化部121は、複数のラインを用いて加工を行う場合におけるグループ内における加工順序を決定してもよい。
図7は、複数の加工装置を用いて加工を行う場合におけるスケジュールを例示した概略図である。スケジュール50cは第1の加工装置の加工スケジュールであり、スケジュール50dは第1の加工装置とは異なる第2の加工装置の加工スケジュールである。スケジュール50cは、グループAに属するワークのワーク加工時間4a1~4a2と、グループBに属するワークのワーク加工時間4b1~4b4と、グループCに属するワークのワーク加工時間4c1~4c3を含む。スケジュール50dは、グループDに属するワークのワーク加工時間4d1~4d3と、グループEに属するワークのワーク加工時間4e1~4e4と、グループFに属するワークのワーク加工時間4f1~4f2を含む。なお、段取り替え時間5は、グループの切り替えに伴う段取り替え時間を表す。待ち時間6は、加工装置における待ち時間である。
【0077】
複数の加工装置を用いた場合におけるスケジュールを生成する場合、複数のラインにおける段取り替え時間の重なりが短くなるようにスケジュールを決定してもよい。1人の作業員が段取り替えを行う場合、2つの加工装置で同時に段取り替えを行うことはできないからである。
図6のタイムチャート60の上段は第1の加工装置において段取り替えを行う時間帯を表し、下段は第2の加工装置において段取り替え時間を行う時間帯を表す。ジョブショップ問題定式化部121は、両者が重ならないような制約を課して、ジョブショップ問題を定式化してもよい。各加工装置において段取り替えを行っている時間帯は、グループ内の加工順序に基づき定めることができる。
【0078】
図4に戻って、JobShop型処理順序最適化部120のグループ順序決定部122は、アニーリング処理部140を用いて、ジョブショップ問題定式化部121が定式化したスケジュール問題の解を計算し、計算結果に基づいてグループ順序を決定する。例えば
図6において、スケジュール50bが最適解であったものとする。このような場合、他のスケジュール50aを用いた場合よりも加工時間が短いため作業効率が改善するといえる。
【0079】
TSP型処理順序最適化部110の巡回セールスマン問題定式化部111は、JobShop型処理順序最適化部120が決定したグループ順序を順序制約として含む巡回セールスマン問題を定式化する。そして、加工順序決定部112が、巡回セールスマン問題をアニーリング処理部140によって解くことによって加工順序が決定される。
【0080】
図8は、実施形態3にかかる生産計画最適化装置100bの動作を示すフローチャートである。生産計画最適化装置100bは、まず、当日に加工する複数のワークをグループ毎にまとめて、最適なグループ順序を決定する(ステップS101)。ここで、生産計画最適化装置100bは、待ち時間の和を短くし、作業全体に要する時間が小さくなるようにグループ順序を決定してもよい。
【0081】
次に、生産計画最適化装置100bは、ステップS101で決定したグループ順序を遵守した上で、段取り替え時間の和を最小化するワークの加工順序を決定する(ステップS102)。最後に、生産計画最適化装置100bは、決定した加工順序を表示部160に表示させる(ステップS103)。
【0082】
実施形態3にかかる生産計画最適化装置100bは、グループ準備時間を考慮してグループ順序を決定し、グループ順序を順序制約としてワークの加工順序を決定する。したがって、生産計画最適化装置100bは、待ち時間を短縮し、作業効率を改善することができる。さらに、決定した加工順序に従い装置を制御することによって、加工装置や製造装置等の装置を用いて複数の製品を製造する製造コストを低減することができる。
【0083】
(実施形態4)
実施形態3にかかる生産計画最適化装置は、予め定められた複数のワークを加工する加工順序を決定した。実施形態4にかかる生産計画最適化装置100cは、注文されたワークの集合から、加工する複数のワークを選択する。生産計画最適化装置100cは、例えば、注文されたワークの納期を満たし、かつ出来るだけ多くのワークを加工できるように複数のワークを選択する。
【0084】
図9は、実施形態4にかかる生産計画最適化装置100cの構成を示すブロック図である。生産計画最適化装置100cは、制御部150と、表示部160と、操作入力部170と、注文DB181と、段取り時間DB182と、グループ準備時間DB183と、TSP型処理順序最適化部110と、JobShop型処理順序最適化部120と、Knapsack型選択部130と、アニーリング処理部140と、を備える。Knapsack型選択部130以外の機能は、実施形態3と同様であるため説明を省略する。
【0085】
Knapsack型選択部130は、生成部131と、設定部132と、ナップサック問題定式化部133と、選択部134とを備える。なお、注文DB181は、注文されたワークの納期と加工に要する時間とを記憶していてもよい。注文ワークは、複数のグループに分類されているものとする。
【0086】
生成部131は、複数のグループのそれぞれについて、当該グループに分類された注文ワークを組合せたブロックを生成する。ブロックには、複数の注文ワークが含まれていてもよい。生成部131は、複数のグループのそれぞれについて、複数のブロックを生成してもよい。
【0087】
設定部132は、生成部131によって生成された複数のブロックのそれぞれについて、当該ブロックに含まれる注文ワークの加工に要するブロック加工時間を算出する。ブロックに複数の注文ワークが含まれる場合、設定部132は、注文ワークの切り替えに伴う段取り替え時間を移動コストとした巡回セールスマン問題を定式化し、ブロック内の加工順序を決定してもよい。決定した加工順序から段取り替え時間を算出できるため、設定部132は、段取り替え時間を考慮してブロック加工時間を算出することができる。設定部132は、算出したブロック加工時間と、所定の準備時間のいずれか大きい方を、当該ブロックのブロック処理時間として設定する。所定の準備時間は、次のグループの生産準備に要する時間である。
【0088】
ナップサック問題定式化部133は、ブロック処理時間の和が所定の稼働時間以下となる範囲で大きくなるように、複数のブロックから、加工する複数の加工ブロックを選択するナップサック問題を定式化する。ナップサック問題とは、容量が定められたナップサックに、価値及び容積が設定された品物を詰め込み、価値の和を最大化するという問題である。所定の稼働時間が、ナップサックの容量に対応している。所定の稼働時間は、例えば、1日の業務時間の長さであってもよい。価値としては、例えば、ブロック処理時間が用いられてもよい。このような場合、所定の稼働時間以内で、最も作業時間が長くなるように加工ブロックが選択されることとなる。また、価値として、ブロック加工時間が用いられてもよい。
【0089】
ナップサック問題において、特定の品物が必ず選択されるように制約が課せられる場合がある。複数の注文ワークのそれぞれに納期が設定されている場合、ナップサック問題定式化部133は、納期が所定の期日(例えば、加工を行う当日)である注文ワークが、選択される複数の加工ブロックのいずれかに含まれるようにナップサック問題を定式化してもよい。
【0090】
また、ナップサック問題定式化部133は、グループの切り替えの回数が少なくなるようにナップサック問題を定式化してもよい。つまり、ナップサック問題定式化部は、選択される複数の注文ワークの属するグループの数が少なくなるようにナップサック問題を定式化してもよい。グループの数を少なくすることにより、グループの切り替えに伴う段取り替え時間を減少させることができる。ナップサック問題定式化部133は、ブロック処理時間が長いブロックの選択が優先されるようにナップサック問題を定式化することによって、グループの数が少なくなるようにしてもよい。例えば、ナップサック問題定式化部133は、ブロック処理時間が長いブロックについてナップサック問題における価値を十分高く設定してもよい。
【0091】
また、加工装置における生産準備の待ち時間が増加すると生産効率が下がってしまうと考えられる。そこで、ナップサック問題定式化部133は、所定の準備時間と、ブロック加工時間との差分に基づく準備待ち時間の和が小さくなるようにナップサック問題を定式化してもよい。準備待ち時間とは、ブロック加工時間が所定の準備時間よりも小さい場合において、当該所定の準備時間からブロック加工時間を減算した時間である。
【0092】
また、ナップサック問題定式化部133は、ブロック加工時間が準備時間より小さいブロックが選択されにくくなるようにナップサック問題を定式化してもよい。例えば、ナップサック問題定式化部133は、準備待ち時間が大きいブロックほどナップサック問題における価値を低く設定してもよい。
【0093】
さらに、ナップサック問題定式化部133は、納期まで余裕があり、準備待ち時間、又はブロック内の段取り替え時間が長いブロックは選択しないようにナップサック問題を定式化してもよい。例えば、ナップサック問題定式化部133は、このようなブロック以外から加工ブロックが選択されるようにしてもよく、このようなブロックの価値を低く設定してもよい。このような処理により、効率的なスケジュールを生成することが可能となる。
【0094】
ナップサック問題定式化部133は、納期まで余裕があり、準備待ち時間、又はブロック内の段取り替え時間が長いブロックについて、同じグループに属するワークが翌日以降に注文される確率を算出し、当該確率が所定値未満となるブロックが選択されないようにナップサック問題を定式化してもよい。確率が所定値以上のグループについては、翌日以降に加工が行われることとなる。
【0095】
選択部134は、アニーリング処理部140を用いてナップサック問題定式化部133が定式化したナップサック問題の解を計算し、計算結果に基づいて複数の加工ブロックを選択する。選択部134は、選択結果に応じて加工するワークを選択する。生産計画最適化装置100cは、実施形態3と同様の方法によって、ワークの加工順序を決定することができる。
【0096】
図10~
図16は、Knapsack型選択部130の動作の具体例を示す概略図である。以下では、Knapsack型選択部130が、1日に加工されるワークを選択する例について説明する。注文DB181には、各ワークの納期が日付単位で記録されているものとする。複数のワークは、グループA~Dに分類されているものとする。
【0097】
まず、
図10を用いて要素ブロックについて説明する。Knapsack型選択部130は、まず、納期で複数のワークを分類する。例えば、グループAに属するワークのうち、加工作業を行う当日が納期となっているワークの集合を要素ブロック20a1とする。同様に、作業日の翌日が納期となっているワークの集合を要素ブロック20a2とする。同様に、作業日の3日後、4日後、5日後が納期となっているワークの集合を、それぞれ要素ブロック20a3、20a4、20a5とする。
【0098】
グループB、C及びDに属するワークも同様に、要素ブロック20b1~20b5、要素ブロック20c1~20c5、要素ブロック20d1~20d5に分類される。なお、ワークが含まれない要素ブロックについては点線で示している。例えば、点線で示した要素ブロック20b5は、グループBに属するワークのうち、納期が5日目となっているワークが存在しないことを表している。
【0099】
要素ブロック20a1~20d5を生成した後、生成部131は、納期順に要素ブロック20a1~20d5を接続し、複数のブロックを生成する。
図11に示すブロック30a1は、要素ブロック20a1単体から構成される。なお、丸め長方形は、グループ準備時間を表している。
図12に示すブロック30a2は、要素ブロック20a1及び20a2を接続したものである。
図13に示すブロック30a3は、要素ブロック20a1~20a3を接続したものである。
図14に示すブロック30a4は、要素ブロック20a1~20a4を接続したものである。
図15に示すブロック30a5は、要素ブロック20a1~20a5を接続したものである。グループA以外のグループについても、同様の方法でブロックが生成される。
【0100】
ここで、ブロック30a1~30a5のブロック処理時間は、ブロック加工時間、及びグループ準備時間のうち、いずれか大きい方である。
図11~
図15において、丸め長方形の幅がグループ準備時間を表す。ブロック処理時間は、ブロックの長さとも呼ぶ。ブロックに含まれる注文ワークの数が多い場合、ブロックの長さはブロック加工時間となり、ブロックに含まれるワークの数が少ない場合、ブロックの長さはグループ準備時間となる。
【0101】
なお、加工作業に要する時間は、ブロックに含まれる注文ワークのそれぞれを各都市とした巡回セールスマン問題を解くことにより順序を決定し、順序に従った段取り替え時間の和と、各ワークの加工時間の和とを加算することにより算出されてもよい。
【0102】
図11~
図15において、ブロック30a1及び30a2の長さはグループ準備時間であり、ブロック30a3~30a5の長さはブロック加工時間である。ブロック30a1及び30a2の処理において、待ち時間が発生すると考えられる。
図11及び
図12について、丸め長方形の幅と、要素ブロックの長さとの差分が、準備待ち時間に対応する。
【0103】
図16は、Knapsack型選択部130が、定式化するナップサック問題を例示する概略図である。ナップサック問題は、所定の制約条件下、一日の稼働時間において加工される加工ブロックを選択するように定式化される。制約条件は、同じ要素ブロックを含むブロックが複数選ばれないようにすることと、作業当日が納期となっているワークが存在するグループが選ばれるようにすることである。例えば、
図16に示すようなブロックが選択された場合、ブロック30a2、30b3及び30d3に含まれる注文ワークが当日に加工されることとなる。
図10の要素ブロックのうち選ばれなかった要素ブロック20a4、20a5、20b4、20c3、20c4及び20d5に含まれる注文ワークは、翌日以降に加工されることとなる。
【0104】
図17を用いて、生産計画最適化装置100cの動作について説明する。まず、生産計画最適化装置100cは、注文DB181に含まれる注文ワークを、グループに分類する処理を行う(ステップS201)。次に、生産計画最適化装置100cは、分類したワークから、処理すべきワークを選択する処理を行う(ステップS202)。ここで、生産計画最適化装置100cは、グループの切り替え回数がなるべくすくなくなるようにワークを選択してもよく、準備待ち時間がなるべく短くなるようにワークを選択してもよい。ステップS202で選択した複数のワークを処理する順番を決定する処理(ステップS101~103)は、実施の形態3と同様であるため説明を省略する。
【0105】
実施の形態4によると、グループ準備時間を考慮して所定の稼働時間に加工するワークを選択することができる。また、ナップサック問題を適切に定式化することにより、当日が納期となっているワークを全て含み、グループの切り替え回数や準備待ち時間が小さくなるように、ワークを選択することが可能となる。さらに、決定した順序に従い装置を制御することによって、加工装置や製造装置等の装置を用いて複数の製品を製造する製造コストを低減することができる。
【0106】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0107】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する巡回セールスマン問題定式化手段と、
シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する加工順序決定手段と、
を備えた生産計画最適化装置。
(付記2)
前記複数のワークは、前記段取り替え時間が短いワークの組合せが同一のグループに属するように、複数のグループに分類されており、
前記生産計画最適化装置は、
前記複数のグループの加工順序をグループ順序として決定するグループ順序決定手段、
を更に備え、
前記巡回セールスマン問題定式化手段は、
前記問題を、前記納期制約と、前記グループ順序に基づく制約を含む前記順序制約とを満たした上で、前記和を最小化する前記巡回セールスマン問題として定式化する、
付記1に記載の生産計画最適化装置。
(付記3)
異なるグループに属するワークの間における前記段取り替え時間には、切り替え先のワークの属する前記グループの生産準備に要するグループ準備時間が含まれており、
前記生産計画最適化装置は、
前記生産準備が加工装置の外部において行われた後に、当該生産準備を行ったグループの加工が前記加工装置において開始される場合の、前記加工装置における待ち時間の和を最小化するジョブショップ問題を定式化するジョブショップ問題定式化手段、
をさらに備え、
前記グループ順序決定手段は、
前記アニーリング処理手段を用いて前記ジョブショップ問題の解を計算し、計算結果に基づいて前記グループ順序を決定する、
付記2に記載の生産計画最適化装置。
(付記4)
前記複数のワークは、注文された複数の注文ワークから選択され、
前記複数の注文ワークのそれぞれは、前記複数のグループに分類されており、
前記生産計画最適化装置は、
前記複数のグループのそれぞれについて、当該グループに分類された注文ワークを組み合わせた1又は複数のブロックを生成する生成手段と、
前記生成手段によって生成された複数のブロックのそれぞれについて、当該ブロックに含まれる前記注文ワークの加工に要するブロック加工時間を算出し、前記ブロック加工時間又は所定の準備時間のいずれか大きい方を、当該ブロックのブロック処理時間として設定する設定手段と、
前記ブロック処理時間の和が所定の稼働時間以下となる範囲で大きくなるように、前記複数のブロックから、加工する複数の加工ブロックを選択するナップサック問題を定式化するナップサック問題定式化手段と、
前記アニーリング処理手段を用いて前記ナップサック問題の解を計算し、計算結果に基づいて前記複数の加工ブロックを選択し、選択結果に応じて前記複数の注文ワークを選択する選択手段と、
をさらに備えた付記3に記載の生産計画最適化装置。
(付記5)
前記複数の注文ワークのそれぞれは、前記納期が設定されており、
前記ナップサック問題定式化手段は、
前記納期が所定の期日である注文ワークが、前記複数の加工ブロックのいずれかに含まれるように前記ナップサック問題を定式化する、
付記4に記載の生産計画最適化装置。
(付記6)
前記ナップサック問題定式化手段は、
前記選択手段によって選択される前記複数の注文ワークの属するグループの数が少なくなるように前記ナップサック問題を定式化する、
付記4または5のいずれかに記載の生産計画最適化装置。
(付記7)
前記ナップサック問題定式化手段は、
前記所定の準備時間と前記ブロック加工時間との差分に基づく準備待ち時間の和が小さくなるように前記ナップサック問題を定式化する、
付記4から6のいずれか1項に記載の生産計画最適化装置。
(付記8)
前記ナップサック問題定式化手段は、
段取り替え時間が長いブロックが選択されにくくなるように前記ナップサック問題を定式化する、
付記4から7のいずれか1項に記載の生産計画最適化装置。
(付記9)
コンピュータが、
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化し、
シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する、
生産計画最適化方法。
(付記10)
コンピュータに、
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する処理と、
組合せ最適化問題の最適解を計算するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する処理と、を実行させる生産計画最適化プログラムが格納された非一時的なコンピュータ可読媒体。
(付記11)
複数のワークの加工順序を決定する問題を、前記複数のワークのうち少なくとも1つにおいて定められた納期に基づく納期制約と、前記複数のワークのそれぞれの組合せのうち少なくとも1つにおいて定められた順序制約とを満たした上で、ワークの切り替えに伴う段取り替え時間の和を最小化する巡回セールスマン問題として定式化する巡回セールスマン問題定式化手段と、
シミュレーテッドアニーリング又は量子アニーリングによって組合せ最適化問題の最適解を探索するアニーリング処理手段を用いて、前記巡回セールスマン問題の解を計算し、計算結果に基づいて前記加工順序を決定する加工順序決定手段と、
前記加工順序決定手段によって決定された前記加工順序に従って、前記複数のワークを加工する加工装置を制御する制御手段と、
を備えた制御装置。
(付記12)
前記複数のワークは、前記段取り替え時間が短いワークの組合せが同一のグループに属するように、複数のグループに分類されており、
前記制御装置は、
前記複数のグループの加工順序をグループ順序として決定するグループ順序決定手段、
を更に備え、
前記巡回セールスマン問題定式化手段は、
前記問題を、前記納期制約と、前記グループ順序に基づく制約を含む前記順序制約とを満たした上で、前記和を最小化する前記巡回セールスマン問題として定式化する、
付記11に記載の制御装置。
(付記13)
異なるグループに属するワークの間における前記段取り替え時間には、切り替え先のワークの属する前記グループの生産準備に要するグループ準備時間が含まれており、
前記制御装置は、
前記生産準備が前記加工装置の外部において行われた後に、当該生産準備を行ったグループの加工が前記加工装置において開始される場合の、前記加工装置における待ち時間の和を最小化するジョブショップ問題を定式化するジョブショップ問題定式化手段、
をさらに備え、
前記グループ順序決定手段は、
前記アニーリング処理手段を用いて前記ジョブショップ問題の解を計算し、計算結果に基づいて前記グループ順序を決定する、
付記12に記載の制御装置。
(付記14)
前記複数のワークは、注文された複数の注文ワークから選択され、
前記複数の注文ワークのそれぞれは、前記複数のグループに分類されており、
前記制御装置は、
前記複数のグループのそれぞれについて、当該グループに分類された注文ワークを組み合わせた1又は複数のブロックを生成する生成手段と、
前記生成手段によって生成された複数のブロックのそれぞれについて、当該ブロックに含まれる前記注文ワークの加工に要するブロック加工時間を算出し、前記ブロック加工時間又は所定の準備時間のいずれか大きい方を、当該ブロックのブロック処理時間として設定する設定手段と、
前記ブロック処理時間の和が所定の稼働時間以下となる範囲で大きくなるように、前記複数のブロックから、加工する複数の加工ブロックを選択するナップサック問題を定式化するナップサック問題定式化手段と、
前記アニーリング処理手段を用いて前記ナップサック問題の解を計算し、計算結果に基づいて前記複数の加工ブロックを選択し、選択結果に応じて前記複数の注文ワークを選択する選択手段と、
をさらに備えた付記13に記載の制御装置。
(付記15)
前記複数の注文ワークのそれぞれは、前記納期が設定されており、
前記ナップサック問題定式化手段は、
前記納期が所定の期日である注文ワークが、前記複数の加工ブロックのいずれかに含まれるように前記ナップサック問題を定式化する、
付記14に記載の制御装置。
(付記16)
前記ナップサック問題定式化手段は、
前記選択手段によって選択される前記複数の注文ワークの属するグループの数が少なくなるように前記ナップサック問題を定式化する、
付記14または15のいずれかに記載の制御装置。
(付記17)
前記ナップサック問題定式化手段は、
前記所定の準備時間と前記ブロック加工時間との差分に基づく準備待ち時間の和が小さくなるように前記ナップサック問題を定式化する、
付記14から16のいずれか1項に記載の制御装置。
(付記18)
前記ナップサック問題定式化手段は、
段取り替え時間が長いブロックが選択されにくくなるように前記ナップサック問題を定式化する、
付記14から17のいずれか1項に記載の制御装置。
(付記19)
複数のワークのうち少なくとも2つのワークの切り替えに時間を表す段取り時間と、一部のワークの実施順序の制約条件とを用いて、前記複数のワークを処理順序にて処理するのに要する切り替え時間の合計時間についての評価値を算出し、算出した前記評価値が、小さいと判断する条件を満たす場合におけるワークの処理順序を決定するアニーリング処理手段と、
決定した前記処理順序に従い、前記複数のワークを実行する装置を制御する制御手段と
を備える制御装置。
【符号の説明】
【0108】
3a1~3a3、3b1~3b3、3c1~3c3 ノード
4a1~4a2、4b1~4b4、4c1~4c3、4d1~4d3、4e1~4e4、4f1~4f2 ワーク加工時間
5、5a1、5b1~5b3、5c1~5c2、5x~5z 段取り替え時間
6、6x、6y 待ち時間
7a、7b、7c グループ準備時間
20a1~20a5、20b1~20b5、20c1~20c5、20d1~20d5 要素ブロック
30a1~30a5、30b3、30d3 ブロック
50a、50b、50c、50d スケジュール
60 タイムチャート
100、100a、100b、100c 生産計画最適化装置
110 TSP型処理順序最適化部
111 巡回セールスマン問題定式化部
112 加工順序決定部
120 JobShop型処理順序最適化部
121 ジョブショップ問題定式化部
122 グループ順序決定部
130 Knapsack型選択部
131 生成部
132 設定部
133 ナップサック問題定式化部
134 選択部
140 アニーリング処理部
150 制御部
160 表示部
170 操作入力部
181 注文DB
182 段取り時間DB
183 グループ準備時間DB