(57)【要約】【課題】母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることを可能とする。【解決手段】双対問題演算部１０２は、初期ブロック群を用いた場合における母材全体の長さを表す所定の評価関数を演算することにより、初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する。被約費用算出部１０３は、初期ブロック群以外の各ブロックについて所定の演算を行うことにより、初期ブロック群に対してブロックを追加した場合に評価関数の演算結果の値が小さくなる追加ブロックを決定する。双対問題算出部１０２は、追加ブロックが決定された場合、初期ブロック群に追加ブロックを追加した場合における、初期ブロック群に含まれる各ブロック及び追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出する。【選択図】図１
2010086235.tif 000002
【特許請求の範囲】
【請求項１】
母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定手段と、
前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出手段と、
前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定手段とを有し、
前記最適解算出手段は、前記追加ブロック決定手段により前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする情報処理装置。
【請求項２】
母材の幅を示す幅情報を含む母材情報と、母材に対して割り当てられる製品のサイズを示すサイズ情報及び必要な製品の数を示す必要数情報を含む製品情報とを入力する入力手段と、
前記母材情報と前記製品情報とに基づいて、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの候補となるブロックを算出するブロック算出手段とを更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記最適解算出手段は、前記所定の評価関数を含む主問題と前記主問題に対する双対問題とを解くことにより、前記母材に対する製品の割り当て方法の最適解を算出することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記追加ブロック決定手段は、前記追加ブロックの候補となる各ブロックについて、前記双対問題の解を用いて主問題の被約費用を算出し、その算出結果によって前記評価関数の演算結果の値が小さくなる前記追加ブロックを決定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの候補となる各ブロックの長さの上限値を設定する上限値設定手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、
前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、
前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとを含み、
前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする情報処理装置の制御方法。
【請求項７】
母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、
前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、
前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとをコンピュータに実行させ、
前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば製鉄業において母材となるコイルから製品を効率よく板取りする際に最適解を求めるための技術に関するものである。
【背景技術】
【０００２】
従来、注文に応じて製造したコイル（以下、製品コイルと称す）を生産する際に、ある現品（切り取り対象となる既成のコイル）を、注文に応じて所定の幅及び長さに分割して切断する。なお、ここで現品（親コイル）とは、種々の幅、長さ、厚みを有するコイルである。このときの現品に対する製品コイルの割り当て及び割り当てた現品の分割切断（以下、板取りと称す）の最適解を見つけることで、効率的な板取りを行うように工夫している。
【０００３】
例えば、特許文献１には板取りの方法が開示されている。特許文献１に開示される技術は、複数の鋼片に１以上の注文をそれぞれ充当して板取計画を作成する際に、設備制約、及び、冗長な組合せを排除するための制約の下で、考えられる全ての組合せを分岐限定法により列挙した後、列挙された組合せの中から０−１計画法を用いて、注文枚数の制約の下で、目的の評価関数を最大とする鋼片を選択することによって、板取計画を決定するものである。
【０００４】
【特許文献１】特開２００４−２７６０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示される技術は、配置パターンを生成してから、パターン使用数を混合整数計画法のアルゴリズムで決定する方法であるが、配置パターンの生成に関しては、設備制約及び冗長な組合せを排除する制約の下で考えられる全ての配置パターンを列挙しているので、配置パターン数が多ければ、配置パターン使用数を決める問題の最適解が実用的な時間で得られない恐れがある。
【０００６】
そこで、本発明の目的は、母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることを可能とすることにある。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定手段と、前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出手段と、前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定手段とを有し、前記最適解算出手段は、前記追加ブロック決定手段により前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする。
本発明の情報処理装置の制御方法は、母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとを含み、前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする。
本発明のプログラムは、母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとをコンピュータに実行させ、前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする。
【発明の効果】
【０００８】
本発明においては、母材全体の長さを短くすることができる場合に初期ブロック群に対して追加ブロックを追加して、母材に対する製品の割り当て方法の最適解を算出するように構成している。従って、本発明では、母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１０】
図１は、本発明の実施形態に係る最適解算出装置の機能的な構成を示すブロック図である。図１に示すように、本実施形態に係る最適解算出装置は、初期ブロック群算出部１０１、双対問題演算部１０２及び被約費用算出部１０３を備える。
【００１１】
初期ブロック群算出部１０１は、母材となるコイルの幅を示す母材幅情報と、製品のサイズを示すサイズ情報及び必要な製品の数を示す必要数情報を含む製品情報とを入力し、最初に母材に割り当てる製品の集合（ブロック）である初期ブロック群を算出する。ここでは、初期ブロック群算出部１０１は、母材幅情報が示す母材の幅の範囲内において単一種類の製品を並べたブロック群を初期ブロック群として算出する。
【００１２】
双対問題演算部１０２は、先ず、初期ブロック群算出部１０１により算出された初期ブロック群を用いた場合における、母材全体の長さを最小化するための主問題を線形緩和（整数変数ＸPを実数変数に緩和）した問題に対する双対問題を解く。そして、双対問題演算部１０２は、主問題の演算結果と双対問題の演算結果とが一致する値に対応するブロックの組合せを、母材に対するブロックの割り当て方法の解として算出する。
【００１３】
被約費用算出部１０３は、母材に対して割り当てられる製品の集合である複数種類のブロックのうちの初期ブロック群以外の各ブロックについて被約費用を算出することにより、初期ブロック群に対する追加ブロックを決定する。
【００１４】
双対問題演算部１０２は、被約費用算出部１０３により追加ブロックが決定された場合、その追加ブロックを初期ブロック群に追加した場合における主問題の演算結果と双対問題の演算結果とが一致する値に対応するブロックの組合せを、母材に対するブロックの割り当て方法の解として算出する。
【００１５】
一方、被約費用算出部１０３によって追加ブロックがないと判定された場合、双対問題演算部１０２は、初期ブロック群、又は、初期ブロック群と追加ブロックとのブロック群について主問題と双対問題とを演算し、双方が一致する値に対応するブロックの割り当て方法を最適解として算出する。
【００１６】
集合被覆問題演算部１０４は、初期ブロック群と各追加ブロックとの使用回数を求めて母材に対する製品の割り当て方法の最適解を算出する。
【００１７】
図２は、本実施形態に係る最適解算出装置のハードウェア構成を示すブロック図である。
【００１８】
ＣＰＵ３０１は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ＲＯＭ３０３又はＨＤ（ハードディスク）３０９には、ＣＰＵ３０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム、最適解算出装置が実行する例えば図３に示す処理のプログラム等が記憶されている。
【００１９】
なお、図２の例では、ＨＤ３０９は最適解算出装置の内部に配置された構成としているが、他の実施形態としてＨＤ３０９に相当する構成が最適解算出装置の外部に配置された構成としてもよい。また、本実施形態に係る例えば図３に示す処理を行うためのプログラムは、フレキシブルディスク（ＦＤ）やＣＤ−ＲＯＭ等、コンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。
【００２０】
ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。ＣＰＵ３０１は、処理の実行に際して必要なプログラム等をＲＡＭ３０２にロードして、プログラムを実行することで各種動作を実現するものである。
【００２１】
ＨＤ３０９やＦＤ３０８は、外部メモリとして機能する。ＣＰＵ３０１は、処理の実行に際して必要なプログラム等をＲＡＭ３０２にロードして、プログラムを実行することで各種動作を実現するものである。
【００２２】
ディスクコントローラ３０７は、ＨＤ３０９やＦＤ３０８等の外部メモリへのアクセスを制御する。通信Ｉ／Ｆコントローラ３０６は、インターネットやＬＡＮと接続し、例えばＴＣＰ／ＩＰによって外部との通信を制御するものである。
【００２３】
ディスプレイコントローラ３１０は、ディスプレイ３１１における画像表示を制御する。
【００２４】
ＫＢコントローラ３０４は、ＫＢ（キーボード）３０５からの操作入力を受け付け、ＣＰＵ３０１に対して送信する。なお、図示していないが、ＫＢ３０５の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係る最適解算出装置に適用可能である。
【００２５】
図１に示す初期ブロック群算出部１０１、双対問題演算部１０２及び被約費用算出部１０３は、例えばＨＤ３０９内に記憶され、必要に応じてＲＡＭ３０２にロードされるプログラム及びそれを実行するＣＰＵ３０１によって実現される構成である。
【００２６】
次に、本実施形態に係る最適解算出装置の動作について説明する。図３は、本実施形態に係る最適解算出装置の動作を示すフローチャートである。
【００２７】
先ず、初期ブロック群算出部１０１は、ユーザによるキーボードやマウス等の入力装置を用いた操作に応じて、母材幅情報、製品のサイズ情報、製品の必要数情報及びスリット数の上限値情報を入力する（ステップＳ２０１）。なお、スリット数の上限値情報のほかに、母材長さ上限値情報等を用いてもよい。
【００２８】
続いて、初期ブロック群算出部１０１は、母材幅情報が示す母材の幅の範囲内において単一種類の製品を並べるだけ並べたブロック群を初期ブロック群として算出する（ステップＳ２０２）。
【００２９】
図４は、母材及び母材に対して割り当てる各製品について示す図である。図４に示す例においては、母材４０１の幅は１００であり、この母材に対して４種類の製品を割り当てる。一つ目の製品４０２は、長さが５０で幅が５０の製品である。二つ目の製品４０３は、長さが４０で幅が４０の製品である。三つ目の製品４０４は、長さが３０で幅が３０の製品である。四つ目の製品４０５は、長さが１５で幅が２０の製品である。単一種類の製品４０２〜４０５を夫々、母材の幅の範囲内において並べるだけ並べると、図５の５０１、５０５、５０８、５１１のようになる。図５の５０１は、製品４０２を母材の幅方向に２つ並べたブロックである。図５の５０５は、製品４０３を母材の幅方向に２つ並べたブロックである。図５の５０８は、製品４０４を母材の幅方向に３つ並べたブロックである。図５の５１１は、製品４０５を母材の幅方向に５つ並べたブロックである。初期ブロック群算出部１０１は、これらのブロックを初期ブロック群として算出する。より具体的には、初期ブロック群算出部１０１は、ＲＡＭ３０２に一時保存された母材幅情報、製品のサイズ情報をＣＰＵ３０１に読み込み、母材の幅を各製品の幅で除算し、割り切れた数分製品を母材の幅方向に並べて初期ブロック群を決定していく。本実施形態では、初期ブロック群の要素は単一種類の資材からなる配置パターンで構成しているが、これに限らず、全種類の資材が何れかの配置パターンに含まれていれば、どのような初期ブロック群であってもよい。以下の説明においては、初期ブロック群算出部１０１により算出された初期ブロック群と後述する追加ブロックとの集合をＰと表記し、個々のブロックの識別情報をｐと表記する。
【００３０】
続いて、双対問題演算部１０２は、初期ブロック群を母材に割り当てた場合に母材全体の長さを最小化する主問題を線形緩和した問題に対する双対問題を解く（ステップＳ２０３）。主問題は次の式１３及び式１４に示すようになる。
【００３１】
【数１】
2010086235.tif 000003
【００３２】
ここで、式１３は、ブロックｐの長さｈpとブロックｐの使用回数ｘpとを乗算し、その値を母材に対して割り当てる各ブロック（初めは初期ブロック群）について全て足し合わせた値（母材全体の長さ）を最小化するための式である。式１４は、ブロックｐの使用回数ｘpとブロックｐに含まれる製品ｉの個数Ｂipとを乗算し、その値を母材に対して割り当てる各ブロック（初めは初期ブロック群）について全て足し合わせた値（製品ｉの割り当て個数）が製品ｉの必要数ｄi以上となる制約を課すための式である。式１３及び式１４によって、母材全体の長さを最小化する各ブロックの使用回数（整数解）が算出される。
【００３３】
本実施形態においては、式１３及び式１４に示す主問題を線形緩和した次の式１及び式２に示す問題を解く。式１は式１３に対応し、式２は式１４に対応する。
【００３４】
【数２】
2010086235.tif 000004
【００３５】
なお、ブロックｐの使用回数ｘpは、０以上の実数である。より具体的には、双対問題演算部１０２は、ＲＡＭ３０２に一時保存されている、製品ｉの必要数情報ｄiとステップＳ２０２で算出された該当するブロックｐ内の製品ｉの個数ＢipとをＣＰＵ３０１に読み込み、それらを式１、式２に対して代入し、さらに変数であるブロックｐの使用回数ｘpを変化させながら式１、式２の計算を行う。この主問題に対する双対問題は式３及び式４に示すようになる。
【００３６】
【数３】
2010086235.tif 000005
【００３７】
ここで式３は、双対変数ｙiに製品ｉの必要数ｄiを乗算し、その結果を各製品について足し合わせた値を求めるための式である。式４は、双対変数ｙiとブロックｐに含まれる製品ｉの個数Ｂipとを乗算し、その値を各製品について全て足し合わせた値がブロックｐの長さｈP以下となる制約を課すための式である。なお、式３、式４において、双対変数ｙiは０以上の値である。より具体的には、双対問題演算部１０２は、ＲＡＭ３０２に一時保存されている、製品ｉの必要数情報ｄiとステップＳ２０２で算出された該当するブロックｐ内の製品ｉの個数ＢipとをＣＰＵ３０１に読み込み、それらを式３、式４に対して代入し、さらに双対変数ｙpの値を変化させながら式３、式４の計算を行う。
【００３８】
続いて、被約費用算出部１０３は、初期ブロック群以外の追加ブロックの候補について被約費用の最小値を算出する（ステップＳ２０４）。次の式５が被約費用の最小値を求めるための式であり、式６〜式９は被約費用を求める際の制約式である。被約費用の最小値の算出の際には、被約費用算出部１０３は、被約費用の算出対象となる追加ブロックの候補を都度算出する。即ち、母材の長さ方向に最も長い製品を１つとして、その長さを超えない範囲で他の製品を配置したブロックを追加ブロックの候補として算出する。なお、長さ方向においては同一種類の製品のみを配置するものとし、また、母材の幅方向に製品の最小幅である２０以上の余りが存在する製品の組合せは追加ブロックの候補から除外する。図４に示す製品の例では、図５の５０２、５０３、５０４、５０６、５０７、５０９、５１０が追加ブロックの候補として算出され得るが、本実施形態では、これらのブロックを追加ブロックの候補として全て算出するのではなく、被約費用の最小値として負の値が算出されるまで一つずつ追加ブロックの候補を算出していき、被約費用の最小値として負の値が算出されると、残りの追加ブロックの候補は算出されない。
【００３９】
追加ブロック候補の算出方法を具体的に説明すると、被約費用算出部１０３は、ＲＡＭ３０２に一時保存された母材幅情報、製品の幅情報をＣＰＵ３０１に読み込み、母材の長さ方向に長い製品から順次対象にしていく。ブロック５０２を追加ブロックの候補として算出する場合には、被約費用算出部１０３は、先ず製品４０２を配置し、その次に母材の長さ方向に長い製品４０３を母材の幅方向に配置する。被約費用算出部１０３は、この状態で母材幅の制限からこれ以上製品を配置することができないと判定し、ブロック５０２を追加ブロックの候補として算出する。また、ブロック５０３を追加ブロックの候補として算出する場合には、被約費用算出部１０３は、先ず製品４０２を配置し、製品４０３の次に母材幅方向に長い製品４０４を母材の幅方向に配置する。この状態では母材の幅方向にはまだ２０の余りがあるため、製品４０５を幅方向に配置することができる。また、長さ方向には製品４０５を３つ配置することができるため、被約費用算出部１０３は、製品４０５を母材の幅方向に１つ、長さ方向に３つ配置する。被約費用算出部１０３は、この状態で母材幅の制限からこれ以上製品を配置することができないと判定し、ブロック５０３を追加ブロックの候補として算出する。図５の５０４、５０６、５０７、５０９、５１０が追加ブロックの候補となった場合には、同様の方法によりブロックの算出が行われる。
【００４０】
なお、図５の５０２は、製品４０２を母材の幅方向に１つ、製品４０３を母材の幅方向に１つ並べたブロックである。図５の５０３は、製品４０２を母材の幅方向に１つ、製品４０４を母材の幅方向に１つ、製品４０５を母材の幅方向に１つ、母材の長さ方向に３つ並べたブロックである。図５の５０４は、製品４０２を母材の幅方向に１つ、製品４０５を母材の幅方向に２つ、母材の長さ方向に３つ並べたブロックである。図５の５０６は、製品４０３を母材の幅方向に１つ、製品４０４を母材の幅方向に１つ、製品４０５を母材の幅方向に１つ、母材の長さ方向に３つ並べたブロックである。図５の５０７は、製品４０３を母材の幅方向に１つ、製品４０５を母材の幅方向に２つ、母材の長さ方向に３つ並べたブロックである。図５の５０９は、製品４０４を母材の幅方向に１つ、製品４０５を母材の幅方向に３つ、長さ方向に２つ並べた製品である。図５の５１０は、製品４０４を母材の幅方向に２つ、製品４０５を母材の幅方向に２つ、長さ方向に２つ並べたブロックである。
【００４１】
【数４】
2010086235.tif 000006
【００４２】
ｂξはブロックｐに含まれる製品のうち母材の長さ方向に最も長い製品の長さ方向の個数、ｈξはブロックｐに含まれる製品のうち母材の長さ方向に最も長い製品の長さである。ａiはブロックｐにおける母材の幅方向の製品ｉの個数、ｂiはブロックｐにおける母材の長さ方向の製品ｉの個数である。被約費用算出部１０３は、追加ブロックの候補について式５で与えられる被約費用が最も小さくなる値を算出する。より具体的には、被約費用算出部１０３は、ＲＡＭ３０２に一時保存されている、製品ｉのサイズ情報、追加ブロックの候補内の製品ｉの長さ方向の個数情報ｂi、製品ｉの幅方向の個数情報ａi、ステップＳ２０３の演算において算出された双対変数ｙpをＣＰＵ３０１に読み込み、それらを式５に対して代入して演算を行う。
【００４３】
式６は、ブロックｐの幅が母材の幅Ｗに収まり、且つ母材の幅方向に一定の割合以上の余りを出さないことを制限として課す式である。被約費用算出部１０３は、ＲＡＭ３０２に一時保存されている、母材幅情報Ｗ、製品ｉの幅情報ｗi、追加ブロックの候補内の製品ｉの幅方向の個数情報ａi、係数α（例えば、α＝０．９）をＣＰＵ３０１に読み込み、それらを式６に代入して計算を行う。
【００４４】
式７は、ブロックｐにおける製品ｉの幅方向の個数ａiを全ての製品について足し合わせた数がスリットの上限値Ｓ以下となることを制約として課す式である。被約費用算出部１０３は、ＲＡＭ３０２に一時保存されている、追加ブロックの候補内の製品ｉの幅方向の個数情報ａi、スリット数の上限値情報ＳをＣＰＵ３０１に読み込み、それらを式７に代入して計算を行う。
【００４５】
式８は、ブロックｐにおける母材の長さ方向の製品ｉの個数ｂiと製品ｉの長さとを乗算した値が、ブロックｐ内において最も長い製品ξの母材の長さ方向の個数ｂξと製品ξの長さｈξとを乗算した値以下であって、且つその値から製品ｉの長さｈiを減算した値より大きな値であることを制約として課す式である。被約費用算出部１０３は、ＲＡＭ３０２に一時保存されている、製品ｉのサイズ情報、追加ブロックの候補内の製品ｉの長さ方向の個数情報ｂiをＣＰＵ３０１に読み込み、それらを式８に対して代入して計算を行う。
【００４６】
式９は、製品ｉの幅方向の個数ａi、製品ｉの長さ方向の個数ｂiがともに０以上の整数であることを制約として課す式である。
【００４７】
被約費用算出部１０３は、追加ブロックの候補について、式６〜式９に示す制約を全て満たす式５の解である被約費用の最小値を算出する。被約費用の最小値が負の値であれば、当該追加ブロックの候補を初期ブロック群に追加するブロック（追加ブロック）として決定する。ここで負の値をとる解は、式４の制約式を違反する解であることを意味する。従って、負の値をとる解に対応する追加ブロックを初期ブロック群に追加することによって、式４の制約式はより厳しい制約を課す式となり、結果、式３の評価関数の値がより小さくなることを意味する。ところで、上述したように、式１の評価関数の値と式３の評価関数の値との一致が最適解の必要十分条件であるため、負の値をとる解に対応する追加ブロックを初期ブロック群に追加することは、式１により求められる値がより小さくなり、母材全体の長さがより短くなることを意味する。
【００４８】
続いて、双対問題演算部１０２は、被約費用算出部１０３により追加ブロックが決定されたか否かを判定する（ステップＳ２０５）。追加ブロックが決定された場合、双対問題演算部１０２は、追加ブロックを初期ブロック群に追加した場合における式１の評価関数により求められる値と式３の評価関数により求められる値とが一致する解を最適解として算出する（ステップＳ２０３）。
【００４９】
続いて、被約費用算出部１０３は、新たな追加ブロックの候補を算出し、その追加ブロックの候補について、式６〜式９に示す制約を満たす式５の解である被約費用の最小値を算出する（ステップＳ２０４）。そして、被約費用算出部１０３は、当該追加ブロックの候補について負の値の被約費用の最小値が算出された場合には、当該追加ブロックの候補を初期ブロック群に対する新たな追加ブロックとして決定する。新たに追加ブロックが決定された場合には、現在の最適解に対応するブロック（ここでは、初期ブロック群＋追加ブロック）に対して新たに決定された追加ブロックを追加してステップＳ２０６からの処理を繰り返すことになる。
【００５０】
一方、ステップＳ２０５において追加ブロックが決定されなかったと判定された場合、集合被覆問題演算部１０４は、初期ブロック群と各追加ブロックとの使用回数を求めて母材に対する製品の割り当て方法の最適解を算出する（ステップＳ２０７）。
【００５１】
図６は、初期ブロック群にまだ追加ブロックが追加されていない状態における各ブロックｐの長さｈp、当該各ブロックｐ内の製品ｉの個数Ｂip、各製品ｉの必要数ｄi、式１の変数ｘpの解、式３の双対変数ｙiの解を示す図である。図６では、各ブロックｐの長さｈp、当該各ブロックｐ内の製品ｉの個数Ｂip、各製品ｉの必要数ｄi、式１の変数ｘpの解、式３の双対変数ｙiの解を行列表記している。
【００５２】
図６では、母材に割り当てるブロックが初期ブロック群のみであるときには、ブロック５０１の長さが５０、ブロック５０２の長さが４０、ブロック５０３の長さが３０、ブロック５０４の長さが１５であることが示されている。また、図６には、ブロック５０１内の製品４０２の個数が２個、製品４０３の個数が０個、製品４０４の個数が０個、製品４０５の個数が０個であることが示されており、ブロック５０２、５０３、５０４についても製品４０２、製品４０３、製品４０４、製品４０５の個数が同様に示されている。また、図６には、製品４０２の必要数が１０個、製品４０３の必要数が１５個、製品４０４の必要数が２５個、製品４０５の必要数が４０個であることが示されている。また、図６には、初期ブロック群のみを母材に割り当てた場合における、式１の変数ｘpの解がブロック１について５、ブロック２について１５／２、ブロック３について２５／３、ブロック４について８であることが示されている。また、図６には、初期ブロック群のみを母材に割り当てた場合における双対変数ｙiの解が製品１について２５、製品２について４５／２、製品３について１０、製品４について３であることが示されている。また、図６には、式１の評価関数の値と式３の評価関数の値とがともに９５７．５と算出されたことが示されている。
【００５３】
図７は、ブロック５０２、５０３、５０４、５０６、５０７、５０９、５１０の長さ、各ブロック内の製品ｉの個数Ｂipと、初期ブロック群にまだ追加ブロックが追加されていない状態において、ブロック５０２、５０３、５０４、５０６、５０７、５０９、５１０が追加ブロックの候補として算出された場合のステップＳ２０４の被約費用の算出結果を示す図である。
【００５４】
図７では、ブロック５０２の長さが５０、ブロック５０３の長さが５０、ブロック５０４の長さが５０、ブロック５０６の長さが４０、ブロック５０７の長さが４０、ブロック５０９の長さが３０、ブロック５１０の長さが３０であることが示されている。また、図７では、ブロック５０２内の製品４０２の個数が１個、製品４０３の個数が１個、製品４０４の個数が０個、製品４０５の個数が０個であることが示されており、ブロック５０３、５０４、５０６、５０７、５０９、５１０についても同様に製品４０２、４０３、４０４、４０５の個数が示されている。また、図７では、ブロック５０２について求められた被約費用の値が５／２、ブロック５０３について求められた被約費用の値が６、ブロック５０４について求められた被約費用の値が７、ブロック５０６について求められた被約費用の値が７／２、ブロック５０７について求められた被約費用の値が９／２、ブロック５０９について求められた被約費用の値が２、ブロック５１０について求められた被約費用の値が−２であることが示されている。従って、ブロック５０１が追加ブロックの候補として算出された場合に、当該ブロック５０１が初期ブロック群に対する追加ブロックとして決定されることになる。
【００５５】
図８は、初期ブロック群に追加ブロック５１０が追加された状態における各ブロックｐの長さｈp、当該各ブロックｐ内の製品ｉの個数Ｂip、各製品ｉの必要数ｄi、式１の変数ｘpの解、式３の双対変数ｙiの解を示す図である。図８では、各ブロックｐの長さｈp、当該各ブロックｐ内の製品ｉの個数Ｂip、各製品ｉの必要数ｄi、式１の変数ｘpの解、式３の双対変数ｙiの解を行列表記している。
【００５６】
図８では、初期ブロック群に追加ブロック５１０が追加された状態時には、ブロック５０１の長さが５０、ブロック５０５の長さが４０、ブロック５０８の長さが３０、ブロック５１１の長さが１５、ブロック５１０の長さが３０であることが示されている。また、図８では、ブロック５０１内の製品４０２の個数が２個、製品４０３の個数が０個、製品４０４の個数が０個、製品４０５の個数が０個であることが示されており、ブロック５０５、５０８、５１１、５１０についても製品４０２、製品４０３、製品４０４、製品４０５の個数が同様に示されている。また、図８には、製品４０２の必要数が１０個、製品４０３の必要数が１５個、製品４０４の必要数が２５個、製品４０５の必要数が４０個であることが示されている。また、図８には、初期ブロック群と追加ブロックとを母材に割り当てた場合における、式１の変数ｘpの解がブロック１について５、ブロック２について１５／２、ブロック３について５／３、ブロック４について０、ブロック５について１０であることが示されている。また、図８には、初期ブロック群と追加ブロックとを母材に割り当てた場合における、双対変数ｙiの解が製品１について２５、製品２について４５／２、製品３について１０、製品４について５／２であることが示されている。また、図８には、式１の評価関数の値と式３の評価関数の値がともに９３７．５と算出されたことが示されている。このように、図６に示した例と比較し、母材全体の長さが９５７．５から９３７．５と短くなっている。
【００５７】
図９は、ブロック５０２、５０３、５０４、５０６、５０７、５０９の長さ、各ブロック内の製品ｉの個数Ｂipと、初期ブロック群に追加ブロック５１０が追加された状態において、ブロック５０２、５０３、５０４、５０６、５０７、５０９が追加ブロックの候補として算出された場合のステップＳ２０４の被約費用の算出結果を示す図である。
【００５８】
図９では、ブロック５０２の長さが５０、ブロック５０３の長さが５０、ブロック５０４の長さが５０、ブロック５０６の長さが４０、ブロック５０７の長さが４０、ブロック５０９の長さが３０であることが示されている。また、図９では、ブロック５０２内の製品４０２の個数が１個、製品４０３の個数が１個、製品４０４の個数が０個、製品４０５の個数が０個であることが示されており、ブロック５０３、５０４、５０６、５０７、５０９についても同様に製品４０２、４０３、４０４、４０５の個数が示されている。また、図９では、ブロック５０２について求められた被約費用の値が５／２、ブロック５０３について求められた被約費用の値が１５／２、ブロック５０４について求められた被約費用の値が１０、ブロック５０６について求められた被約費用の値が５、ブロック５０７について求められた被約費用の値が１５／２、ブロック５０９について求められた被約費用の値が５であることが示されている。このように追加ブロックの候補について求められた被約費用は全て正の値であるため、追加ブロックとして決定されるブロックは存在しない。従って、この例の場合、ブロック５０１を５回使用し、ブロック５０５を８回使用し、ブロック５０８を２回使用し、ブロック５１１を０回使用し、ブロック５１０を１０回使用することが最終的に最適解として算出される。
【００５９】
以上説明した実施形態においては、母材全体の長さを短くすることができる場合に初期ブロック群に対して追加ブロックを追加して、母材に対する製品の割り当て方法の最適解を算出するように構成している。従って、母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることが可能となる。
【００６０】
なお、上述した実施形態においては、被約費用を式５によって用いて算出しているが、式５を用いた場合、より長いブロックを使用する程、小さな値の被約費用が算出される傾向にある。従って、使用するブロックの長さを一定の長さ以下とする制限をかけることで、より適切な解を求めることが可能となる。
【００６１】
また、他の実施形態として、式５に代えて次の式１０を用いて被約費用を求めてもよい。式１０を用いて被約費用を求めた場合、ブロックの長さに依存しない解を得ることが可能となる。また、式１０を用いた場合、ブロック内の製品の充填率を重視した解を得ることが可能となる。なお、式１０により被約費用を求めた場合でも、負の値の被約費用に対応するブロックを追加ブロックとして決定することになる。
【００６２】
【数５】
2010086235.tif 000007
【００６３】
式１０を用いた場合にブロック内の製品の充填率を重視した解を得られる理由は、式１０の解は、次の式１１の値を最大化することにより得られる解となる。ここで、ｙiは定数、ａi、ｂiはブロック内に含まれる製品ｉの個数、ｂξｈξはブロックの長さである。従って、式１１を最大化することは、ブロックの長さをなるべく短くし、そして多くの製品を配置することを意味する。換言すると、ブロック内における製品の充填率を高くすることになる。
【００６４】
【数６】
2010086235.tif 000008
【００６５】
さらに他の実施形態として、式１０における式１１に示す項を、次の式１２に代えてもよい。これは、ｂiを実数変数に緩和してａi＞０を満たす全てのｉに対してｂiｈiが全て同じ値をとると仮定したときの式である。従って、本実施形態の場合、次の式１２を最大化することが被約費用を求める際に必要となる。本実施形態では、被約費用を求める処理がより簡略化され、処理の高速化を図ることができる。
【００６６】
【数７】
2010086235.tif 000009
【００６７】
図１０は、評価実験の結果を示す図である。ここでは例題として、母材の幅を２００、製品の種類数を３０、スリット数の上限値を５として、ブロックの長さの上限値がない場合と上限値１００００を設けた場合とを例示している。
【００６８】
図１０（ａ）は、被約費用を求める式として式５を用いた場合における、ブロックの長さの上限値を設定した場合と設定しない場合との式１（式３）の値（評価値）、各ブロック内における製品の充填率、最適解の計算時間及び追加ブロック数を示している。図１０（ａ）に示すように、ブロックの長さに上限値を設定しない場合に比べ、ブロックの長さに上限値を設定した場合は、式１（式３）の値（評価値）が小さくなっており（母材全体の長さが短くなっており）、良い解が得られているとともに、計算時間も短縮されている。
【００６９】
図１０（ｂ）は、被約費用を求める式として式１２を式１０の対応する項に適用した式を用いた場合における、ブロックの長さの上限値を設定した場合と設定しない場合との式１（式３）の値（評価値）、各ブロック内における製品の充填率、最適解の計算時間及び追加ブロック数を示している。図１０（ｂ）に示すように、図１０（ａ）の例と比べ、被約費用を求める際に、式１２を適用した場合には、ブロックの長さの上限値を設定した場合と設定しない場合との双方において計算時間が大幅に短縮化されている。
【００７０】
図１０の１００１、１００２に示すグラフの凡例「変更前」は、被約費用を求める式として式５を用いた場合（図１０（ａ））であり、凡例「変更後」は、被約費用を求める式として式１２を式１０の対応する項に適用した場合（図１０（ｂ））である。図１０の１００１のグラフは、「変更前」、「変更後」の夫々について、ブロックの長さに上限値を設定しない場合と設定した場合における式１（式３）の値（評価値）を表している。図１００２のグラフは、「変更前」「変更後」の夫々について、ブロックの長さに上限値を設定しない場合と設定した場合における最適解の計算時間を表している。
【００７１】
なお、上述した実施形態においては、母材となるコイルから製品を効率良く板取りする場合を例に挙げているが、本発明は母材となるフィルム、紙及び板材等に対して必要となる製品を割り当てる場合についても同様に適用することができる。
【００７２】
また、図３に示す本実施形態の処理では、被約費用が負の値をとる追加ブロック候補が見つかった場合は必ず当該追加ブロックを追加するように処理をループさせているが、本発明はこれに限られず、任意のタイミングでそのループを終了させ、その時点での解を最適解として求めるようにしてもよい。例えば所定回数ループすると処理を終了させ、その時点の解を最適解として用いること等が考えられる。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態に係る最適解算出装置の機能的な構成を示すブロック図である。
【図２】本発明の実施形態に係る最適解算出装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態に係る最適解算出装置の動作を示すフローチャートである。
【図４】母材及び母材に対して割り当てる各製品について示す図である。
【図５】母材に対して割り当てるブロックを示す図である。
【図６】初期ブロック群にまだ追加ブロックが追加されていない状態における各ブロックｐの長さｈp、当該各ブロックｐ内の製品ｉの個数Ｂip、各製品ｉの必要数ｄi、式１の変数ｘpの解、式３の双対変数ｙiの解を示す図である。
【図７】各ブロックの長さ、各ブロック内の製品ｉの個数Ｂipと、初期ブロック群にまだ追加ブロックが追加されていない状態において、各ブロックが追加ブロックの候補として算出された場合のステップＳ２０４の被約費用の算出結果を示す図である。
【図８】初期ブロック群に追加ブロック５１０が追加された状態における各ブロックｐの長さｈp、当該各ブロックｐ内の製品ｉの個数Ｂip、各製品ｉの必要数ｄi、式１の変数ｘpの解、式３の双対変数ｙiの解を示す図である。
【図９】各ブロックの長さ、各ブロック内の製品ｉの個数Ｂipと、初期ブロック群に追加ブロックが追加された状態において、各ブロックが追加ブロックの候補として算出された場合のステップＳ２０４の被約費用の算出結果を示す図である。
【図１０】評価実験の結果を示す図である。
【符号の説明】
【００７４】
１０１：初期ブロック群算出部
１０２：双対問題演算部
１０３：被約費用算出部
１０４：集合被覆問題演算部
【図１】
2010086235.tif 000010
【図２】
2010086235.tif 000011
【図３】
2010086235.tif 000012
【図４】
2010086235.tif 000013
【図５】
2010086235.tif 000014
【図６】
2010086235.tif 000015
【図７】
2010086235.tif 000016
【図８】
2010086235.tif 000017
【図９】
2010086235.tif 000018
【図１０】
2010086235.tif 000019