説明

情報処理装置、情報処理装置の制御方法及びプログラム

【課題】母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることを可能とする。
【解決手段】双対問題演算部102は、初期ブロック群を用いた場合における母材全体の長さを表す所定の評価関数を演算することにより、初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する。被約費用算出部103は、初期ブロック群以外の各ブロックについて所定の演算を行うことにより、初期ブロック群に対してブロックを追加した場合に評価関数の演算結果の値が小さくなる追加ブロックを決定する。双対問題算出部102は、追加ブロックが決定された場合、初期ブロック群に追加ブロックを追加した場合における、初期ブロック群に含まれる各ブロック及び追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば製鉄業において母材となるコイルから製品を効率よく板取りする際に最適解を求めるための技術に関するものである。
【背景技術】
【0002】
従来、注文に応じて製造したコイル(以下、製品コイルと称す)を生産する際に、ある現品(切り取り対象となる既成のコイル)を、注文に応じて所定の幅及び長さに分割して切断する。なお、ここで現品(親コイル)とは、種々の幅、長さ、厚みを有するコイルである。このときの現品に対する製品コイルの割り当て及び割り当てた現品の分割切断(以下、板取りと称す)の最適解を見つけることで、効率的な板取りを行うように工夫している。
【0003】
例えば、特許文献1には板取りの方法が開示されている。特許文献1に開示される技術は、複数の鋼片に1以上の注文をそれぞれ充当して板取計画を作成する際に、設備制約、及び、冗長な組合せを排除するための制約の下で、考えられる全ての組合せを分岐限定法により列挙した後、列挙された組合せの中から0−1計画法を用いて、注文枚数の制約の下で、目的の評価関数を最大とする鋼片を選択することによって、板取計画を決定するものである。
【0004】
【特許文献1】特開2004−276034号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1に開示される技術は、配置パターンを生成してから、パターン使用数を混合整数計画法のアルゴリズムで決定する方法であるが、配置パターンの生成に関しては、設備制約及び冗長な組合せを排除する制約の下で考えられる全ての配置パターンを列挙しているので、配置パターン数が多ければ、配置パターン使用数を決める問題の最適解が実用的な時間で得られない恐れがある。
【0006】
そこで、本発明の目的は、母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることを可能とすることにある。
【課題を解決するための手段】
【0007】
本発明の情報処理装置は、母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定手段と、前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出手段と、前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定手段とを有し、前記最適解算出手段は、前記追加ブロック決定手段により前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする。
本発明の情報処理装置の制御方法は、母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとを含み、前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする。
本発明のプログラムは、母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとをコンピュータに実行させ、前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする。
【発明の効果】
【0008】
本発明においては、母材全体の長さを短くすることができる場合に初期ブロック群に対して追加ブロックを追加して、母材に対する製品の割り当て方法の最適解を算出するように構成している。従って、本発明では、母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることが可能となる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0010】
図1は、本発明の実施形態に係る最適解算出装置の機能的な構成を示すブロック図である。図1に示すように、本実施形態に係る最適解算出装置は、初期ブロック群算出部101、双対問題演算部102及び被約費用算出部103を備える。
【0011】
初期ブロック群算出部101は、母材となるコイルの幅を示す母材幅情報と、製品のサイズを示すサイズ情報及び必要な製品の数を示す必要数情報を含む製品情報とを入力し、最初に母材に割り当てる製品の集合(ブロック)である初期ブロック群を算出する。ここでは、初期ブロック群算出部101は、母材幅情報が示す母材の幅の範囲内において単一種類の製品を並べたブロック群を初期ブロック群として算出する。
【0012】
双対問題演算部102は、先ず、初期ブロック群算出部101により算出された初期ブロック群を用いた場合における、母材全体の長さを最小化するための主問題を線形緩和(整数変数XPを実数変数に緩和)した問題に対する双対問題を解く。そして、双対問題演算部102は、主問題の演算結果と双対問題の演算結果とが一致する値に対応するブロックの組合せを、母材に対するブロックの割り当て方法の解として算出する。
【0013】
被約費用算出部103は、母材に対して割り当てられる製品の集合である複数種類のブロックのうちの初期ブロック群以外の各ブロックについて被約費用を算出することにより、初期ブロック群に対する追加ブロックを決定する。
【0014】
双対問題演算部102は、被約費用算出部103により追加ブロックが決定された場合、その追加ブロックを初期ブロック群に追加した場合における主問題の演算結果と双対問題の演算結果とが一致する値に対応するブロックの組合せを、母材に対するブロックの割り当て方法の解として算出する。
【0015】
一方、被約費用算出部103によって追加ブロックがないと判定された場合、双対問題演算部102は、初期ブロック群、又は、初期ブロック群と追加ブロックとのブロック群について主問題と双対問題とを演算し、双方が一致する値に対応するブロックの割り当て方法を最適解として算出する。
【0016】
集合被覆問題演算部104は、初期ブロック群と各追加ブロックとの使用回数を求めて母材に対する製品の割り当て方法の最適解を算出する。
【0017】
図2は、本実施形態に係る最適解算出装置のハードウェア構成を示すブロック図である。
【0018】
CPU301は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ROM303又はHD(ハードディスク)309には、CPU301の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム、最適解算出装置が実行する例えば図3に示す処理のプログラム等が記憶されている。
【0019】
なお、図2の例では、HD309は最適解算出装置の内部に配置された構成としているが、他の実施形態としてHD309に相当する構成が最適解算出装置の外部に配置された構成としてもよい。また、本実施形態に係る例えば図3に示す処理を行うためのプログラムは、フレキシブルディスク(FD)やCD−ROM等、コンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。
【0020】
RAM302は、CPU301の主メモリ、ワークエリア等として機能する。CPU301は、処理の実行に際して必要なプログラム等をRAM302にロードして、プログラムを実行することで各種動作を実現するものである。
【0021】
HD309やFD308は、外部メモリとして機能する。CPU301は、処理の実行に際して必要なプログラム等をRAM302にロードして、プログラムを実行することで各種動作を実現するものである。
【0022】
ディスクコントローラ307は、HD309やFD308等の外部メモリへのアクセスを制御する。通信I/Fコントローラ306は、インターネットやLANと接続し、例えばTCP/IPによって外部との通信を制御するものである。
【0023】
ディスプレイコントローラ310は、ディスプレイ311における画像表示を制御する。
【0024】
KBコントローラ304は、KB(キーボード)305からの操作入力を受け付け、CPU301に対して送信する。なお、図示していないが、KB305の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係る最適解算出装置に適用可能である。
【0025】
図1に示す初期ブロック群算出部101、双対問題演算部102及び被約費用算出部103は、例えばHD309内に記憶され、必要に応じてRAM302にロードされるプログラム及びそれを実行するCPU301によって実現される構成である。
【0026】
次に、本実施形態に係る最適解算出装置の動作について説明する。図3は、本実施形態に係る最適解算出装置の動作を示すフローチャートである。
【0027】
先ず、初期ブロック群算出部101は、ユーザによるキーボードやマウス等の入力装置を用いた操作に応じて、母材幅情報、製品のサイズ情報、製品の必要数情報及びスリット数の上限値情報を入力する(ステップS201)。なお、スリット数の上限値情報のほかに、母材長さ上限値情報等を用いてもよい。
【0028】
続いて、初期ブロック群算出部101は、母材幅情報が示す母材の幅の範囲内において単一種類の製品を並べるだけ並べたブロック群を初期ブロック群として算出する(ステップS202)。
【0029】
図4は、母材及び母材に対して割り当てる各製品について示す図である。図4に示す例においては、母材401の幅は100であり、この母材に対して4種類の製品を割り当てる。一つ目の製品402は、長さが50で幅が50の製品である。二つ目の製品403は、長さが40で幅が40の製品である。三つ目の製品404は、長さが30で幅が30の製品である。四つ目の製品405は、長さが15で幅が20の製品である。単一種類の製品402〜405を夫々、母材の幅の範囲内において並べるだけ並べると、図5の501、505、508、511のようになる。図5の501は、製品402を母材の幅方向に2つ並べたブロックである。図5の505は、製品403を母材の幅方向に2つ並べたブロックである。図5の508は、製品404を母材の幅方向に3つ並べたブロックである。図5の511は、製品405を母材の幅方向に5つ並べたブロックである。初期ブロック群算出部101は、これらのブロックを初期ブロック群として算出する。より具体的には、初期ブロック群算出部101は、RAM302に一時保存された母材幅情報、製品のサイズ情報をCPU301に読み込み、母材の幅を各製品の幅で除算し、割り切れた数分製品を母材の幅方向に並べて初期ブロック群を決定していく。本実施形態では、初期ブロック群の要素は単一種類の資材からなる配置パターンで構成しているが、これに限らず、全種類の資材が何れかの配置パターンに含まれていれば、どのような初期ブロック群であってもよい。以下の説明においては、初期ブロック群算出部101により算出された初期ブロック群と後述する追加ブロックとの集合をPと表記し、個々のブロックの識別情報をpと表記する。
【0030】
続いて、双対問題演算部102は、初期ブロック群を母材に割り当てた場合に母材全体の長さを最小化する主問題を線形緩和した問題に対する双対問題を解く(ステップS203)。主問題は次の式13及び式14に示すようになる。
【0031】
【数1】

【0032】
ここで、式13は、ブロックpの長さhpとブロックpの使用回数xpとを乗算し、その値を母材に対して割り当てる各ブロック(初めは初期ブロック群)について全て足し合わせた値(母材全体の長さ)を最小化するための式である。式14は、ブロックpの使用回数xpとブロックpに含まれる製品iの個数Bipとを乗算し、その値を母材に対して割り当てる各ブロック(初めは初期ブロック群)について全て足し合わせた値(製品iの割り当て個数)が製品iの必要数di以上となる制約を課すための式である。式13及び式14によって、母材全体の長さを最小化する各ブロックの使用回数(整数解)が算出される。
【0033】
本実施形態においては、式13及び式14に示す主問題を線形緩和した次の式1及び式2に示す問題を解く。式1は式13に対応し、式2は式14に対応する。
【0034】
【数2】

【0035】
なお、ブロックpの使用回数xpは、0以上の実数である。より具体的には、双対問題演算部102は、RAM302に一時保存されている、製品iの必要数情報diとステップS202で算出された該当するブロックp内の製品iの個数BipとをCPU301に読み込み、それらを式1、式2に対して代入し、さらに変数であるブロックpの使用回数xpを変化させながら式1、式2の計算を行う。この主問題に対する双対問題は式3及び式4に示すようになる。
【0036】
【数3】

【0037】
ここで式3は、双対変数yiに製品iの必要数diを乗算し、その結果を各製品について足し合わせた値を求めるための式である。式4は、双対変数yiとブロックpに含まれる製品iの個数Bipとを乗算し、その値を各製品について全て足し合わせた値がブロックpの長さhP以下となる制約を課すための式である。なお、式3、式4において、双対変数yiは0以上の値である。より具体的には、双対問題演算部102は、RAM302に一時保存されている、製品iの必要数情報diとステップS202で算出された該当するブロックp内の製品iの個数BipとをCPU301に読み込み、それらを式3、式4に対して代入し、さらに双対変数ypの値を変化させながら式3、式4の計算を行う。
【0038】
続いて、被約費用算出部103は、初期ブロック群以外の追加ブロックの候補について被約費用の最小値を算出する(ステップS204)。次の式5が被約費用の最小値を求めるための式であり、式6〜式9は被約費用を求める際の制約式である。被約費用の最小値の算出の際には、被約費用算出部103は、被約費用の算出対象となる追加ブロックの候補を都度算出する。即ち、母材の長さ方向に最も長い製品を1つとして、その長さを超えない範囲で他の製品を配置したブロックを追加ブロックの候補として算出する。なお、長さ方向においては同一種類の製品のみを配置するものとし、また、母材の幅方向に製品の最小幅である20以上の余りが存在する製品の組合せは追加ブロックの候補から除外する。図4に示す製品の例では、図5の502、503、504、506、507、509、510が追加ブロックの候補として算出され得るが、本実施形態では、これらのブロックを追加ブロックの候補として全て算出するのではなく、被約費用の最小値として負の値が算出されるまで一つずつ追加ブロックの候補を算出していき、被約費用の最小値として負の値が算出されると、残りの追加ブロックの候補は算出されない。
【0039】
追加ブロック候補の算出方法を具体的に説明すると、被約費用算出部103は、RAM302に一時保存された母材幅情報、製品の幅情報をCPU301に読み込み、母材の長さ方向に長い製品から順次対象にしていく。ブロック502を追加ブロックの候補として算出する場合には、被約費用算出部103は、先ず製品402を配置し、その次に母材の長さ方向に長い製品403を母材の幅方向に配置する。被約費用算出部103は、この状態で母材幅の制限からこれ以上製品を配置することができないと判定し、ブロック502を追加ブロックの候補として算出する。また、ブロック503を追加ブロックの候補として算出する場合には、被約費用算出部103は、先ず製品402を配置し、製品403の次に母材幅方向に長い製品404を母材の幅方向に配置する。この状態では母材の幅方向にはまだ20の余りがあるため、製品405を幅方向に配置することができる。また、長さ方向には製品405を3つ配置することができるため、被約費用算出部103は、製品405を母材の幅方向に1つ、長さ方向に3つ配置する。被約費用算出部103は、この状態で母材幅の制限からこれ以上製品を配置することができないと判定し、ブロック503を追加ブロックの候補として算出する。図5の504、506、507、509、510が追加ブロックの候補となった場合には、同様の方法によりブロックの算出が行われる。
【0040】
なお、図5の502は、製品402を母材の幅方向に1つ、製品403を母材の幅方向に1つ並べたブロックである。図5の503は、製品402を母材の幅方向に1つ、製品404を母材の幅方向に1つ、製品405を母材の幅方向に1つ、母材の長さ方向に3つ並べたブロックである。図5の504は、製品402を母材の幅方向に1つ、製品405を母材の幅方向に2つ、母材の長さ方向に3つ並べたブロックである。図5の506は、製品403を母材の幅方向に1つ、製品404を母材の幅方向に1つ、製品405を母材の幅方向に1つ、母材の長さ方向に3つ並べたブロックである。図5の507は、製品403を母材の幅方向に1つ、製品405を母材の幅方向に2つ、母材の長さ方向に3つ並べたブロックである。図5の509は、製品404を母材の幅方向に1つ、製品405を母材の幅方向に3つ、長さ方向に2つ並べた製品である。図5の510は、製品404を母材の幅方向に2つ、製品405を母材の幅方向に2つ、長さ方向に2つ並べたブロックである。
【0041】
【数4】

【0042】
bξはブロックpに含まれる製品のうち母材の長さ方向に最も長い製品の長さ方向の個数、hξはブロックpに含まれる製品のうち母材の長さ方向に最も長い製品の長さである。aiはブロックpにおける母材の幅方向の製品iの個数、biはブロックpにおける母材の長さ方向の製品iの個数である。被約費用算出部103は、追加ブロックの候補について式5で与えられる被約費用が最も小さくなる値を算出する。より具体的には、被約費用算出部103は、RAM302に一時保存されている、製品iのサイズ情報、追加ブロックの候補内の製品iの長さ方向の個数情報bi、製品iの幅方向の個数情報ai、ステップS203の演算において算出された双対変数ypをCPU301に読み込み、それらを式5に対して代入して演算を行う。
【0043】
式6は、ブロックpの幅が母材の幅Wに収まり、且つ母材の幅方向に一定の割合以上の余りを出さないことを制限として課す式である。被約費用算出部103は、RAM302に一時保存されている、母材幅情報W、製品iの幅情報wi、追加ブロックの候補内の製品iの幅方向の個数情報ai、係数α(例えば、α=0.9)をCPU301に読み込み、それらを式6に代入して計算を行う。
【0044】
式7は、ブロックpにおける製品iの幅方向の個数aiを全ての製品について足し合わせた数がスリットの上限値S以下となることを制約として課す式である。被約費用算出部103は、RAM302に一時保存されている、追加ブロックの候補内の製品iの幅方向の個数情報ai、スリット数の上限値情報SをCPU301に読み込み、それらを式7に代入して計算を行う。
【0045】
式8は、ブロックpにおける母材の長さ方向の製品iの個数biと製品iの長さとを乗算した値が、ブロックp内において最も長い製品ξの母材の長さ方向の個数bξと製品ξの長さhξとを乗算した値以下であって、且つその値から製品iの長さhiを減算した値より大きな値であることを制約として課す式である。被約費用算出部103は、RAM302に一時保存されている、製品iのサイズ情報、追加ブロックの候補内の製品iの長さ方向の個数情報biをCPU301に読み込み、それらを式8に対して代入して計算を行う。
【0046】
式9は、製品iの幅方向の個数ai、製品iの長さ方向の個数biがともに0以上の整数であることを制約として課す式である。
【0047】
被約費用算出部103は、追加ブロックの候補について、式6〜式9に示す制約を全て満たす式5の解である被約費用の最小値を算出する。被約費用の最小値が負の値であれば、当該追加ブロックの候補を初期ブロック群に追加するブロック(追加ブロック)として決定する。ここで負の値をとる解は、式4の制約式を違反する解であることを意味する。従って、負の値をとる解に対応する追加ブロックを初期ブロック群に追加することによって、式4の制約式はより厳しい制約を課す式となり、結果、式3の評価関数の値がより小さくなることを意味する。ところで、上述したように、式1の評価関数の値と式3の評価関数の値との一致が最適解の必要十分条件であるため、負の値をとる解に対応する追加ブロックを初期ブロック群に追加することは、式1により求められる値がより小さくなり、母材全体の長さがより短くなることを意味する。
【0048】
続いて、双対問題演算部102は、被約費用算出部103により追加ブロックが決定されたか否かを判定する(ステップS205)。追加ブロックが決定された場合、双対問題演算部102は、追加ブロックを初期ブロック群に追加した場合における式1の評価関数により求められる値と式3の評価関数により求められる値とが一致する解を最適解として算出する(ステップS203)。
【0049】
続いて、被約費用算出部103は、新たな追加ブロックの候補を算出し、その追加ブロックの候補について、式6〜式9に示す制約を満たす式5の解である被約費用の最小値を算出する(ステップS204)。そして、被約費用算出部103は、当該追加ブロックの候補について負の値の被約費用の最小値が算出された場合には、当該追加ブロックの候補を初期ブロック群に対する新たな追加ブロックとして決定する。新たに追加ブロックが決定された場合には、現在の最適解に対応するブロック(ここでは、初期ブロック群+追加ブロック)に対して新たに決定された追加ブロックを追加してステップS206からの処理を繰り返すことになる。
【0050】
一方、ステップS205において追加ブロックが決定されなかったと判定された場合、集合被覆問題演算部104は、初期ブロック群と各追加ブロックとの使用回数を求めて母材に対する製品の割り当て方法の最適解を算出する(ステップS207)。
【0051】
図6は、初期ブロック群にまだ追加ブロックが追加されていない状態における各ブロックpの長さhp、当該各ブロックp内の製品iの個数Bip、各製品iの必要数di、式1の変数xpの解、式3の双対変数yiの解を示す図である。図6では、各ブロックpの長さhp、当該各ブロックp内の製品iの個数Bip、各製品iの必要数di、式1の変数xpの解、式3の双対変数yiの解を行列表記している。
【0052】
図6では、母材に割り当てるブロックが初期ブロック群のみであるときには、ブロック501の長さが50、ブロック502の長さが40、ブロック503の長さが30、ブロック504の長さが15であることが示されている。また、図6には、ブロック501内の製品402の個数が2個、製品403の個数が0個、製品404の個数が0個、製品405の個数が0個であることが示されており、ブロック502、503、504についても製品402、製品403、製品404、製品405の個数が同様に示されている。また、図6には、製品402の必要数が10個、製品403の必要数が15個、製品404の必要数が25個、製品405の必要数が40個であることが示されている。また、図6には、初期ブロック群のみを母材に割り当てた場合における、式1の変数xpの解がブロック1について5、ブロック2について15/2、ブロック3について25/3、ブロック4について8であることが示されている。また、図6には、初期ブロック群のみを母材に割り当てた場合における双対変数yiの解が製品1について25、製品2について45/2、製品3について10、製品4について3であることが示されている。また、図6には、式1の評価関数の値と式3の評価関数の値とがともに957.5と算出されたことが示されている。
【0053】
図7は、ブロック502、503、504、506、507、509、510の長さ、各ブロック内の製品iの個数Bipと、初期ブロック群にまだ追加ブロックが追加されていない状態において、ブロック502、503、504、506、507、509、510が追加ブロックの候補として算出された場合のステップS204の被約費用の算出結果を示す図である。
【0054】
図7では、ブロック502の長さが50、ブロック503の長さが50、ブロック504の長さが50、ブロック506の長さが40、ブロック507の長さが40、ブロック509の長さが30、ブロック510の長さが30であることが示されている。また、図7では、ブロック502内の製品402の個数が1個、製品403の個数が1個、製品404の個数が0個、製品405の個数が0個であることが示されており、ブロック503、504、506、507、509、510についても同様に製品402、403、404、405の個数が示されている。また、図7では、ブロック502について求められた被約費用の値が5/2、ブロック503について求められた被約費用の値が6、ブロック504について求められた被約費用の値が7、ブロック506について求められた被約費用の値が7/2、ブロック507について求められた被約費用の値が9/2、ブロック509について求められた被約費用の値が2、ブロック510について求められた被約費用の値が−2であることが示されている。従って、ブロック501が追加ブロックの候補として算出された場合に、当該ブロック501が初期ブロック群に対する追加ブロックとして決定されることになる。
【0055】
図8は、初期ブロック群に追加ブロック510が追加された状態における各ブロックpの長さhp、当該各ブロックp内の製品iの個数Bip、各製品iの必要数di、式1の変数xpの解、式3の双対変数yiの解を示す図である。図8では、各ブロックpの長さhp、当該各ブロックp内の製品iの個数Bip、各製品iの必要数di、式1の変数xpの解、式3の双対変数yiの解を行列表記している。
【0056】
図8では、初期ブロック群に追加ブロック510が追加された状態時には、ブロック501の長さが50、ブロック505の長さが40、ブロック508の長さが30、ブロック511の長さが15、ブロック510の長さが30であることが示されている。また、図8では、ブロック501内の製品402の個数が2個、製品403の個数が0個、製品404の個数が0個、製品405の個数が0個であることが示されており、ブロック505、508、511、510についても製品402、製品403、製品404、製品405の個数が同様に示されている。また、図8には、製品402の必要数が10個、製品403の必要数が15個、製品404の必要数が25個、製品405の必要数が40個であることが示されている。また、図8には、初期ブロック群と追加ブロックとを母材に割り当てた場合における、式1の変数xpの解がブロック1について5、ブロック2について15/2、ブロック3について5/3、ブロック4について0、ブロック5について10であることが示されている。また、図8には、初期ブロック群と追加ブロックとを母材に割り当てた場合における、双対変数yiの解が製品1について25、製品2について45/2、製品3について10、製品4について5/2であることが示されている。また、図8には、式1の評価関数の値と式3の評価関数の値がともに937.5と算出されたことが示されている。このように、図6に示した例と比較し、母材全体の長さが957.5から937.5と短くなっている。
【0057】
図9は、ブロック502、503、504、506、507、509の長さ、各ブロック内の製品iの個数Bipと、初期ブロック群に追加ブロック510が追加された状態において、ブロック502、503、504、506、507、509が追加ブロックの候補として算出された場合のステップS204の被約費用の算出結果を示す図である。
【0058】
図9では、ブロック502の長さが50、ブロック503の長さが50、ブロック504の長さが50、ブロック506の長さが40、ブロック507の長さが40、ブロック509の長さが30であることが示されている。また、図9では、ブロック502内の製品402の個数が1個、製品403の個数が1個、製品404の個数が0個、製品405の個数が0個であることが示されており、ブロック503、504、506、507、509についても同様に製品402、403、404、405の個数が示されている。また、図9では、ブロック502について求められた被約費用の値が5/2、ブロック503について求められた被約費用の値が15/2、ブロック504について求められた被約費用の値が10、ブロック506について求められた被約費用の値が5、ブロック507について求められた被約費用の値が15/2、ブロック509について求められた被約費用の値が5であることが示されている。このように追加ブロックの候補について求められた被約費用は全て正の値であるため、追加ブロックとして決定されるブロックは存在しない。従って、この例の場合、ブロック501を5回使用し、ブロック505を8回使用し、ブロック508を2回使用し、ブロック511を0回使用し、ブロック510を10回使用することが最終的に最適解として算出される。
【0059】
以上説明した実施形態においては、母材全体の長さを短くすることができる場合に初期ブロック群に対して追加ブロックを追加して、母材に対する製品の割り当て方法の最適解を算出するように構成している。従って、母材に対して割り当てる候補となる全てのブロックについて最適解の演算を行う必要がなく、より少ない計算量で最適解を得ることが可能となる。
【0060】
なお、上述した実施形態においては、被約費用を式5によって用いて算出しているが、式5を用いた場合、より長いブロックを使用する程、小さな値の被約費用が算出される傾向にある。従って、使用するブロックの長さを一定の長さ以下とする制限をかけることで、より適切な解を求めることが可能となる。
【0061】
また、他の実施形態として、式5に代えて次の式10を用いて被約費用を求めてもよい。式10を用いて被約費用を求めた場合、ブロックの長さに依存しない解を得ることが可能となる。また、式10を用いた場合、ブロック内の製品の充填率を重視した解を得ることが可能となる。なお、式10により被約費用を求めた場合でも、負の値の被約費用に対応するブロックを追加ブロックとして決定することになる。
【0062】
【数5】

【0063】
式10を用いた場合にブロック内の製品の充填率を重視した解を得られる理由は、式10の解は、次の式11の値を最大化することにより得られる解となる。ここで、yiは定数、ai、biはブロック内に含まれる製品iの個数、bξhξはブロックの長さである。従って、式11を最大化することは、ブロックの長さをなるべく短くし、そして多くの製品を配置することを意味する。換言すると、ブロック内における製品の充填率を高くすることになる。
【0064】
【数6】

【0065】
さらに他の実施形態として、式10における式11に示す項を、次の式12に代えてもよい。これは、biを実数変数に緩和してai>0を満たす全てのiに対してbiiが全て同じ値をとると仮定したときの式である。従って、本実施形態の場合、次の式12を最大化することが被約費用を求める際に必要となる。本実施形態では、被約費用を求める処理がより簡略化され、処理の高速化を図ることができる。
【0066】
【数7】

【0067】
図10は、評価実験の結果を示す図である。ここでは例題として、母材の幅を200、製品の種類数を30、スリット数の上限値を5として、ブロックの長さの上限値がない場合と上限値10000を設けた場合とを例示している。
【0068】
図10(a)は、被約費用を求める式として式5を用いた場合における、ブロックの長さの上限値を設定した場合と設定しない場合との式1(式3)の値(評価値)、各ブロック内における製品の充填率、最適解の計算時間及び追加ブロック数を示している。図10(a)に示すように、ブロックの長さに上限値を設定しない場合に比べ、ブロックの長さに上限値を設定した場合は、式1(式3)の値(評価値)が小さくなっており(母材全体の長さが短くなっており)、良い解が得られているとともに、計算時間も短縮されている。
【0069】
図10(b)は、被約費用を求める式として式12を式10の対応する項に適用した式を用いた場合における、ブロックの長さの上限値を設定した場合と設定しない場合との式1(式3)の値(評価値)、各ブロック内における製品の充填率、最適解の計算時間及び追加ブロック数を示している。図10(b)に示すように、図10(a)の例と比べ、被約費用を求める際に、式12を適用した場合には、ブロックの長さの上限値を設定した場合と設定しない場合との双方において計算時間が大幅に短縮化されている。
【0070】
図10の1001、1002に示すグラフの凡例「変更前」は、被約費用を求める式として式5を用いた場合(図10(a))であり、凡例「変更後」は、被約費用を求める式として式12を式10の対応する項に適用した場合(図10(b))である。図10の1001のグラフは、「変更前」、「変更後」の夫々について、ブロックの長さに上限値を設定しない場合と設定した場合における式1(式3)の値(評価値)を表している。図1002のグラフは、「変更前」「変更後」の夫々について、ブロックの長さに上限値を設定しない場合と設定した場合における最適解の計算時間を表している。
【0071】
なお、上述した実施形態においては、母材となるコイルから製品を効率良く板取りする場合を例に挙げているが、本発明は母材となるフィルム、紙及び板材等に対して必要となる製品を割り当てる場合についても同様に適用することができる。
【0072】
また、図3に示す本実施形態の処理では、被約費用が負の値をとる追加ブロック候補が見つかった場合は必ず当該追加ブロックを追加するように処理をループさせているが、本発明はこれに限られず、任意のタイミングでそのループを終了させ、その時点での解を最適解として求めるようにしてもよい。例えば所定回数ループすると処理を終了させ、その時点の解を最適解として用いること等が考えられる。
【図面の簡単な説明】
【0073】
【図1】本発明の実施形態に係る最適解算出装置の機能的な構成を示すブロック図である。
【図2】本発明の実施形態に係る最適解算出装置のハードウェア構成を示すブロック図である。
【図3】本発明の実施形態に係る最適解算出装置の動作を示すフローチャートである。
【図4】母材及び母材に対して割り当てる各製品について示す図である。
【図5】母材に対して割り当てるブロックを示す図である。
【図6】初期ブロック群にまだ追加ブロックが追加されていない状態における各ブロックpの長さhp、当該各ブロックp内の製品iの個数Bip、各製品iの必要数di、式1の変数xpの解、式3の双対変数yiの解を示す図である。
【図7】各ブロックの長さ、各ブロック内の製品iの個数Bipと、初期ブロック群にまだ追加ブロックが追加されていない状態において、各ブロックが追加ブロックの候補として算出された場合のステップS204の被約費用の算出結果を示す図である。
【図8】初期ブロック群に追加ブロック510が追加された状態における各ブロックpの長さhp、当該各ブロックp内の製品iの個数Bip、各製品iの必要数di、式1の変数xpの解、式3の双対変数yiの解を示す図である。
【図9】各ブロックの長さ、各ブロック内の製品iの個数Bipと、初期ブロック群に追加ブロックが追加された状態において、各ブロックが追加ブロックの候補として算出された場合のステップS204の被約費用の算出結果を示す図である。
【図10】評価実験の結果を示す図である。
【符号の説明】
【0074】
101:初期ブロック群算出部
102:双対問題演算部
103:被約費用算出部
104:集合被覆問題演算部

【特許請求の範囲】
【請求項1】
母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定手段と、
前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出手段と、
前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定手段とを有し、
前記最適解算出手段は、前記追加ブロック決定手段により前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする情報処理装置。
【請求項2】
母材の幅を示す幅情報を含む母材情報と、母材に対して割り当てられる製品のサイズを示すサイズ情報及び必要な製品の数を示す必要数情報を含む製品情報とを入力する入力手段と、
前記母材情報と前記製品情報とに基づいて、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの候補となるブロックを算出するブロック算出手段とを更に有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記最適解算出手段は、前記所定の評価関数を含む主問題と前記主問題に対する双対問題とを解くことにより、前記母材に対する製品の割り当て方法の最適解を算出することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記追加ブロック決定手段は、前記追加ブロックの候補となる各ブロックについて、前記双対問題の解を用いて主問題の被約費用を算出し、その算出結果によって前記評価関数の演算結果の値が小さくなる前記追加ブロックを決定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの候補となる各ブロックの長さの上限値を設定する上限値設定手段を更に有することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、
前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、
前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとを含み、
前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とする情報処理装置の制御方法。
【請求項7】
母材に対して割り当てられる製品の集合である初期ブロック群を決定する初期ブロック群決定ステップと、
前記初期ブロック群を用いた場合における前記母材全体の長さを表す所定の評価関数を演算することにより、前記初期ブロック群に含まれる各ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を算出する最適解算出ステップと、
前記初期ブロック群以外の各ブロックについて所定の演算を行うことにより、前記初期ブロック群に対してブロックを追加した場合に前記評価関数の演算結果の値が小さくなる追加ブロックを決定する追加ブロック決定ステップとをコンピュータに実行させ、
前記最適解算出ステップは、前記追加ブロック決定ステップにより前記追加ブロックが決定された場合、前記初期ブロック群に前記追加ブロックを追加した場合における、前記初期ブロック群に含まれる各ブロック及び前記追加ブロックの使用回数を求めて前記母材に対する製品の割り当て方法の最適解を再度算出することを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−86235(P2010−86235A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−253848(P2008−253848)
【出願日】平成20年9月30日(2008.9.30)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【出願人】(000191076)新日鉄ソリューションズ株式会社 (136)
【Fターム(参考)】