説明

部材割付システム

【課題】k種類の長方形の原材料から、長方形のm個の製品を切り出し、その歩留を最大にする。既存の線材を対象にした探索法を面材に適用する。
【解決手段】予め求めた初期実行可能解の目的関数の値を最大値とし、原材料の使用枚数について緩和された制約条件式0≦xi≦1を設定してシンプレックス演算処理をする。その結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用枚数の組合せを列挙する。その後、原材料の使用枚数の組合せを固定した制約条件でシンプレックス演算処理を実行し、得られた複数の非整数解を所定の評価式で評価する。初期実行可能解を面材固有のFF法により求め、探索の結果をFF法に当てはめて、板取りと切断順を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、面材の板取りを最適化するための、部材割付システムと部材割付プログラムと記録媒体と部材割付方法と部材加工装置に関する。
【背景技術】
【0002】
住宅構造材のプレカットには、断面形状や樹種,等級、レイヤといった仕様ごとに数種類の長さ3〜6メートルの原材料が用意される。そこから求められる寸法の部材(製品)を切り出す。製品の仕様と、製品の寸法と、切り出される原材料の組合せにより、原材料から切り落とされて無駄になる部分の量が異なる。実際に、1%の歩留向上により多量の廃棄物減量を図ることができる。柱や一定の幅の板といった線状材料については、シンプレックス演算処理を利用し、山登り法、ランダムリスタート法、焼き鈍し法等により、歩留あるいは費用を最小にするための最適値を探索する技術が開発された(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−98924号
【特許文献2】特許3079189号公報
【特許文献3】特許3441420号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1に記載された方法は、予め既存の方法で求めた初期実行可能解を起点にして、さらに何パーセントかの歩留向上を図るために、所定の演算処理を実行する。種々の縦横寸法を持つ製品(面材)を原材料(面材)から切り出す場合にも、特許文献1に記載の技術が利用できる。その場合に、初期実行可能解を求めるには、特許文献2、3等に記載された技術が利用できる。しかしながら、特許文献1の方法を面材の切り出しに適用するためには、1次元の計算を2次元に拡張するため、面材固有のパラメータを選択して、それらを有効に使用する手法の開発が必要になる。また、面材を縦横に切断するため、製品と原材料との最適な組み合わせを求めただけでは、具体的な板取りが分からない。具体的なプレカット作業のための指示書を作成するために、演算処理の最終段階で、板取りや切断順を明示しなければならない。
【0005】
本発明は、以上の課題を解決するためになされたもので、面材を高い歩留で原材料から切り出すための部材割付システムと部材割付プログラムと記録媒体と部材割付方法と部材加工装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
以下の構成はそれぞれ上記の課題を解決するための手段である。
〈構成1〉
それぞれ所定の長方形のm枚の製品を、それぞれ所定の長方形のk種類の原材料から切り出すときに必要な各種類の原材料の枚数を求め、各原材料に割り付ける製品の組合せを最適化するものであって、
求められているm枚の製品の横長データと縦長データの入力を受け付けて、製品の横長を要素とするm次の製品横長ベクトルwpと、製品の縦長を要素とするm次の製品縦長ベクトルhpと、製品の面積を要素とするm次の製品面積ベクトルspと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させる製品設定手段と、
用意されたk種類の長方形の原材料データの入力を受け付けて、原材料の横長を要素とするk次の原材料横長ベクトルwmと、原材料の縦長を要素とするk次の原材料縦長ベクトルhmと、原材料の面積を要素とするk次の原材料面積ベクトルsmと、原材料の種類番号を要素とするk次の原材料番号ベクトルnmとを生成し、記憶装置に記憶させる原材料設定手段と、
割付け製品の面積は原材料面積ベクトルsmの要素のうちのいずれかの原材料の面積S以下であるとする第1評価条件(sp,aj)(内積)≦Sと、隣接する製品が重ならないとする第2評価条件wpi+wpj≦wmlまたはhpi+hpj≦hmlと、
割付パターンベクトルajが予め定めた割付け方法で割付け可能であるとする第3評価条件とを含む、2次元モデル条件を生成して、記憶装置に記憶させる2次元モデル条件生成手段と、
求められている前記m枚の製品の製品横長データと製品縦長データとを用意された前記k種類の原材料の原材料横長データと原材料縦長データと比較して、
前記第1評価条件と第2評価条件と第3評価条件とを含む2次元モデル条件を満たす、1枚または複数枚の製品を経済的に割り付けることができる原材料と製品の関係を示す、m次の割付パターンベクトルajを列挙する割付パターンベクトル生成手段と、
前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させる割付パターン行列生成手段と、
k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付けたとき、選択したn枚の原材料の使用枚数を表すために、要素がxiのn次の使用枚数ベクトルxを定義し、
前記n枚の原材料それぞれに対応するn次の費用係数ベクトルfと前記使用枚数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させる目的関数生成手段と、
前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと緩和された第3制約条件式0≦xi≦1を生成して、記憶装置に記憶させる制約条件生成手段と、
前記予め定めた割付け方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶する初期設定手段と、
前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するシンプレックス演算手段と、
前記シンプレックス演算手段処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前期シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用枚数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの種類の原材料を何枚選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用枚数ベクトルの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用枚数の組合せの中から、目的関数の値が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件下で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御する探索制御手段を備えたことを特徴とする部材割付システム。
【0007】
〈構成2〉
構成1に記載の部材割付システムにおいて、前記第1制約条件式と第3制約条件式の制約条件の下で、または前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の下で、前記シンプレックス演算処理を実行し、非整数解を伴う実行可能解が得られたときであって、複数の解が存在するとき、予め定めた判定手段で、別の解を求めるシンプレックス演算処理を繰り返すことを特徴とする部材割付システム。
【0008】
〈構成3〉
構成2に記載の部材割付システムにおいて、前記予め定めた判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、評価式Σf(xi)の値の最大値が一定値になる関数であるとき、後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて増加していれば、判定基準を満たすと判定する手段であることを特徴とする部材割付システム。
【0009】
〈構成4〉
構成2に記載の部材割付システムにおいて、前記予め定めた判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、評価式Σf(xi)の値の最小値が一定値になる関数であるとき、後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて減少していれば、判定基準を満たすと判定する手段であることを特徴とする部材割付システム。
【0010】
〈構成5〉
構成3乃至4に記載の部材割付システムにおいて、順次得られた非整数解による前記評価式の値を焼き鈍し法を用いて比較をする判定基準により判定することを特徴とする部材割付システム。
【0011】
〈構成6〉
構成5に記載の部材割付システムにおいて、非整数解であって局所最適解を通過した場合に、評価式の値がいったん減少してから増加に転じる状態にあるときに前記判定基準を満たすと判定することを特徴とする部材割付システム。
【0012】
〈構成7〉
構成1乃至6のいずれかに記載の部材割付システムにおいて、前記探索制御手段は、前記シンプレックス演算手段に演算処理を依頼するという動作の繰り返し回数に上限を設けたことを特徴とする部材割付システム。
【0013】
〈構成8〉
構成1乃至7のいずれかに記載の部材割付システムにおいて、前記予め定めた割付け方法は、製品を横長の大きいものから順に配列し、原材料を横長の大きいものから順に配列して、ファーストフィット法で割付けを実行する処理か、製品を縦長の大きいものから順に配列し、原材料を縦長の大きいものから順に配列して、ファーストフィット法で割付けを実行する処理か、もしくは、製品を面積の大きいものから順に配列し、原材料を面積の大きいものから順に配列して、ファーストフィット法で割付けを実行する処理のいずれかであることを特徴とする部材割付システム。
【0014】
〈構成9〉
構成1乃至8に記載の部材割付システムから出力される部材割り付けデータを受け入れて、前記m枚の製品を、順次供給される前記k種類の原材料から切り出すプレカット装置を備えたことを特徴とする部材加工装置。
【0015】
〈構成10〉
構成9に記載の部材加工装置において、前記2次元モデル条件を満たすかどうかの判定処理において、前記予め定めた割付け方法で割付け可能かどうかの判定結果を記憶装置に記憶しておき、前記判定結果を使用して、全ての原材料について、製品の割付け位置と原材料の切断位置と切断順とを含む、カッティング手順データを生成して出力することを特徴とする部材加工装置。
【0016】
〈構成11〉
コンピュータを、構成1乃至8に記載の各手段として機能させる部材割付プログラム。
【0017】
〈構成12〉
コンピュータを、構成1乃至8に記載の各手段として機能させる部材割付プログラムを記録したコンピュータで読み取り可能な記録媒体。
【0018】
〈構成13〉
それぞれ所定の長方形のm枚の製品を、それぞれ所定の長方形のk種類の原材料から切り出すときに必要な各種類の原材料の枚数を求め、各原材料に割り付ける製品の組合せを最適化する方法であって、
製品設定手段が、求められているm枚の製品の横長データと縦長データの入力を受け付けて、製品の横長を要素とするm次の製品横長ベクトルwpと、製品の縦長を要素とするm次の製品縦長ベクトルhpと、製品の面積を要素とするm次の製品面積ベクトルspと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させるステップと、
原材料設定手段が、用意されたk種類の長方形の原材料データの入力を受け付けて、原材料の横長を要素とするk次の原材料横長ベクトルwmと、原材料の縦長を要素とするk次の原材料縦長ベクトルhmと、原材料の面積を要素とするk次の原材料面積ベクトルsmと、原材料の種類番号を要素とするk次の原材料番号ベクトルnmとを生成し、記憶装置に記憶させるステップと、
2次元モデル条件生成手段が、割付け製品の面積は
割付け製品の面積は原材料面積ベクトルsmの要素のうちのいずれかの原材料の面積S以下であるとする第1評価条件(sp,aj)(内積)≦Sと、隣接する製品が重ならないとする第2評価条件
wpi+wpj≦wml または
hpi+hpj≦hmlと、
割付パターンベクトルajが予め定めた割付け方法で割付け可能であるとする第3評価条件とを含む、2次元モデル条件を生成して、記憶装置に記憶させるステップと、
割付パターンベクトル生成手段が、求められている前記m枚の製品の製品横長データと製品縦長データとを用意された前記k種類の原材料の原材料横長データと原材料縦長データと比較して、1枚または複数枚の製品を経済的に割り付けることができる原材料と製品の関係を示す、m次の割付パターンベクトルajを列挙するステップと、
割付パターン行列生成手段が、前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させるステップと、
目的関数生成手段が、k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付けたとき、選択したn枚の原材料の使用枚数を表すために、要素がxiのn次の使用枚数ベクトルxを定義し、
前記n枚の原材料それぞれに対応するn次の費用係数ベクトルfと前記使用枚数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させるステップと、
制約条件生成手段が、前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと緩和された第3制約条件式0≦xi≦1を生成して、記憶装置に記憶させるステップと、
初期設定手段が、前記予め定めた割付け方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶するステップと、
シンプレックス演算手段が、前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するステップと、
探索制御手段が、前記シンプレックス演算手段処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前期シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用枚数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの種類の原材料を何枚選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用枚数ベクトルの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用枚数の組合せの中から、目的関数の値が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件下で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御するステップを含むことを特徴とする部材割付方法。
【発明の効果】
【0019】
面材について、シンプレックス演算処理を利用して、歩留の改善を図り、具体的な板取りを含めたプレカット作業のための切断手順を含む指示書を作成する
ることができる。
【図面の簡単な説明】
【0020】
【図1】実施例1の部材割付システム10のブロック図である。
【図2】部材割付システム10を構成するコンピュータのハードウエアブロック図である。
【図3】演算処理のパラメータを説明するための説明図である。
【図4】初回のシンプレックス演算処理動作フローチャートである。
【図5】1回目のシンプレックス演算終了後の演算処理のフローチャートである。
【図6】割付パターンベクトルの説明図である。
【図7】予め定めた割付け方法の説明図である。
【図8】FF法による原材料種類が複数の面材の割付処理動作フローチャートである。
【図9】FF法による原材料種類が複数の面材の割付処理動作フローチャートである。
【図10】評価式の意味の説明図である。
【図11】本発明の主要動作のフローチャートである。
【図12】割付対象製品と使用する材料の具体例説明図である。
【図13】初期実行可能解を含む1〜15の割付けパターンベクトルの説明図である。
【図14】22698種類の割付けパターンベクトルの説明図である。
【図15】到達した実行可能解の説明図である。
【図16】非整数解の説明図である。
【図17】非整数解と整数解の比較例説明図である。
【図18】歩留改善効果の説明図である。
【図19】部材加工装置のブロック図である。
【図20】FF法による割付け結果を示す。
【図21】FF法による割付け結果を示す。
【図22】FF法による割付け結果を示す。
【図23】FF法による割付け結果を示す。
【図24】FF法による割付け結果を示す。
【図25】FF法による割付け結果を示す。
【図26】FF法による割付け結果を示す。
【図27】実施例2の処理による割付け結果を示す。
【図28】実施例2の処理による割付け結果を示す。
【図29】実施例2の処理による割付け結果を示す。
【図30】実施例2の処理による割付け結果を示す。
【図31】実施例2の処理による割付け結果を示す。
【図32】製品の縦横が90度回転可能な場合のFF法による割付け結果を示す。
【図33】製品の縦横が90度回転可能な場合のFF法による割付け結果を示す。
【図34】製品の縦横が90度回転可能な場合のFF法による割付け結果を示す。
【図35】製品の縦横が90度回転可能な場合のFF法による割付け結果を示す。
【図36】製品の縦横が90度回転可能な場合のFF法による割付け結果を示す。
【図37】製品の縦横が90度回転可能な場合の実施例の処理による割付け結果を示す。
【図38】製品の縦横が90度回転可能な場合の実施例の処理による割付け結果を示す。
【図39】製品の縦横が90度回転可能な場合の実施例の処理による割付け結果を示す。
【図40】製品の縦横が90度回転可能な場合の実施例の処理による割付け結果を示す。
【発明を実施するための形態】
【0021】
本発明では、既存の任意の方法で得られた実用性のある解を基礎にして、それをシンプレックス法で評価し、さらに改善した解を求める。シンプレックス法は、線形計画問題の最適解を探索する方法として知られている。しかし、求められた製品の寸法の種類や原材料の種類が数十種類にも及ぶと、組合せの数は数十万組を越えることがある。k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付ける、といった条件に基づいてそのまま演算処理のためのパラメータを作ると、最適値探索のためのシンプレックス演算処理に時間がかかりすぎるおそれがある。そこで、本発明では、シンプレックス法による演算処理のための制約条件を付加して、比較対象範囲の絞り込みをしながら、効率よく計算をする。そして、シンプレックス法によるピボット演算処理の過程で実行可能解が得られたときに、所定の評価式を使用してその後の見通しをたてる。その結果に応じて探索条件を変更し、無駄な演算処理を回避する。従って、探索のための演算処理時間を大幅に短縮できる。以下、本発明の実施の形態を実施例ごとに詳細に説明する。
【実施例1】
【0022】
図1は実施例1の部材割付システム10のブロック図である。
図の部材割付システム10は、コンピュータ12にインストールされたコンピュータプログラムにより動作する。このシステムは、例えば、コンピュータ12に対してネットワーク14を介して接続された端末装置16により利用される。端末装置16は、例えば、面材をプレカットするプレカット工場に設けられている。部材割付システム10は、この端末装置16からプレカットのための条件データを受け付けて、計算処理を実行してその結果を返す。端末装置16は、返された部材割付データを使用して、プレカット装置17を制御する。プレカット装置17には、例えば、特許文献3に記載されたとおりのものを使用することができる。
【0023】
コンピュータ12には、演算処理装置20と記憶装置40とが設けられている。演算処理装置20には、図のように、製品設定手段21、原材料設定手段22、初期設定手段23、割付パターンベクトル生成手段24、割付パターン行列生成手段25、制約条件生成手段26、費用係数ベクトル生成手段27、目的関数生成手段28、シンプレックス演算処理手段29、探索制御手段30、及び判定手段31等のコンピュータプログラムがインストールされている。これらのコンピュータプログラムが連携して演算処理を実行する。
【0024】
記憶装置40には、図のように、製品横長ベクトルwp、製品縦長ベクトルhp、製品面積ベクトルsp、原材料横長ベクトルwm、原材料縦長ベクトルhm、原材料面積ベクトルsm、製品要求数量ベクトルb42、初期実行可能解44、原材料使用予定数量ベクトルd45、割付パターン行列46、原材料使用行列C47、第1制約条件式48、第2制約条件式49、第3制約条件式50、目的関数51、組合せリスト52、部材割付データ53、及び評価式54等のデータが記憶されている。これらのデータは、予め外部から入力されるか、あるいは、上記のコンピュータプログラムの動作により生成されて、記憶装置40に記憶されるものである。続いて、これらのコンピュータプログラムと記憶装置40に記憶されるデータの具体的な説明をする。
【0025】
図2は、部材割付システム10を構成するコンピュータのハードウエアブロック図である。
部材割付システム10の具体的な機能を説明する前に、部材割付システム10のハードウエアを説明する。図のように、コンピュータ12の本体ケース3中に収められた内部バス110には、CPU(中央処理装置)111と、ROM(リードオンリメモリ)112と、RAM(ランダムアクセスメモリ)113と、HDD(ハードディスク)114と、入出力インタフェース115と、ネットワークインタフェース116とが接続されている。入出力インタフェース115には、ディスプレイ3とキーボード4とマウス5とが接続されている。ネットワークインタフェース116には、ネットワーク14を介して、端末装置16が接続されている。以上のハードウェアは一般的によく知られたパーソナルコンピュータに備えられているものと変わらない。端末装置16は、プレカット装置17の部材選択供給装置120に、部材割付データを53(図1)を供給する。これにより、指定された原材料が部材切断装置121に供給され、指定された割付パターンで切断される。切断された製品は製品搬送装置122により搬送され排出される。
【0026】
図1に示した記憶装置40は、図2のROM112やRAM113やHDD114により構成される。図1に示した演算処理装置20は、図2のCPU111、ROM112、RAM113等により構成される。各種のデータは主としてHDD114に記憶されて保存される。CPU111が実行するコンピュータプログラムは、ROM112に記憶され、あるいはRAM113に適時ロードされる。端末装置16も同様の構成で構わない。ネットワーク14はインターネットでもイントラネットでも構わない。
【0027】
図3は、演算処理のパラメータを説明するための説明図である。
この図を参照しながら、演算処理に使用するパラメータの定義と、上記の各コンピュータプログラムの機能を説明する。
[製品長ベクトル]
生産されるべき製品の数量をm枚とする。
製品長を例えば、単位m(メートル)で表現する。
m次の製品横長ベクトルwp(行ベクトル)を下記のように定義する。
wp=(wp1,wp2,…,wpm)
m次の製品縦長ベクトルhp(行ベクトル)を下記のように定義する。
hp=(hp1,hp2,…,hpm)
m次の製品面積ベクトルsp(行ベクトル)を下記のように定義する。
sp=(sp1,sp2,…,spm)
なお、spi=wpi×hpi(i=1,2,…,m)である。
【0028】
[製品要求数量ベクトルb]
数量mの製品の生産が要求されているとき、製品要求数量ベクトルbを、下記のように定義する。なお、この実施例では、計算を単純化するために、全てbi=1として説明をする。実際には、biは任意の正の整数でよい。
b=(b1,b2,…,bm)T
(上付きTは転置を表す。即ち、bは列ベクトルである。以下も同様)
図3の例では数量m=7で、b=(1,1,1,1,1,1,1)Tである。
製品設定手段21は、求められているm枚の製品について、横長データと縦長データの入力を受け付けて、製品横長ベクトルwpと製品縦長ベクトルhpと製品面積ベクトルspと、製品要求数量を要素とする製品要求数量ベクトルb42を生成して、記憶装置40に記憶させる。
【0029】
[原材料データ]
原材料はk種類ある。原材料の縦横寸法を、例えば、単位m(メートル)で表現する。
k次の原材料横長ベクトルwm(行ベクトル)を下記のように定義する。
wm=(wm1,wm2,…,wmk)
k次の原材料縦長ベクトルhm(行ベクトル)を下記のように定義する。
hm=(hm1,hm2,…,hmk)
k次の原材料面積ベクトルsm(行ベクトル)を下記のように定義する。
sm=(sm1,sm2,…,smk)
なお、smi=wmi×hmi(i=1,2,…,k)である。
k次の原材料番号ベクトルnm(行ベクトル)を下記のように定義する。
nm=(1,2,…,k) このi番目の要素「i」は横長がwmi、縦長がhmi、面積がsmiの原材料番号を表す。
原材料設定手段22は、用意されたk種類の原材料について、横長データと縦長データの入力を受け付けて、k次の原材料横長ベクトルwmとk次の原材料縦長ベクトルhmとk次の原材料面積ベクトルsmとk次の原材料番号ベクトルnmを生成し、記憶装置40に記憶させる。
【0030】
[原材料使用予定数量ベクトルd]
原材料使用予定数量ベクトルd45(列ベクトル)は、実行可能なある解に対して、k種類の長さの材料がそれぞれ何枚ずつ使用されるかを示す。これを下記のように定義する。
d=(d1,d2,…,dk)T
例えば、図3はk=3で、原材料を、それぞれ1枚、2枚、1枚と、合計4枚使用する場合には、
d=(d1,d2,d3)T=(1,2,1)Tである。
原材料使用予定数量ベクトルd45は、後で説明する第3制約条件式で使用される。
【0031】
[使用枚数ベクトルx]
k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付ける。このとき、選択したn枚の原材料の使用枚数を表すn次の使用枚数ベクトルxを、下記のように定義する。なお、k種類の原材料からn枚の原材料を選択するとき、同一の原材料を2度以上重複して選択して構わない。
x=(x1,x2,…,xn)T
なお、計算を単純化するために、製品要求数量ベクトルbの要素を全てbi=1としたので、m次の使用枚数ベクトルxの各要素xiは0≦xi≦1となり、部材割付の結果として意味を持つのは、xiが0または1の場合である。
【0032】
実施例1と図3(C)の記号において、wm1、hm1、sm1に相当する原材料をwm1で代表して表記する。
上記の原材料使用予定数量ベクトルが、d=(d1,d2,d3)のときには、例えば、原材料を(wm1,wm2,wm2,wm3)と列挙する。これら4枚の原材料に対して、それぞれ求められている製品を割り付ける。このとき、最初のwm1に対してx1、2番目のwm2に対してx2、3番目のwm2に対してx3、4番目のwm3に対してx4を設定する。図の例では、x1=x2=x3=x4=1である。選択される原材料と選択されない原材料とを列挙したとき、選択される原材料に設定されるxiの値は1である。選択されない原材料に設定されるxiの値は0である。使用枚数ベクトルxは制約条件式で使用される。
【0033】
[割付パターンベクトルaj]
いずれか1枚の原材料から、数量mの製品のうちのいずれかを切り出すように割り付けたデータを、m次の割付パターンベクトルaj(列ベクトル)で表す。これを下記のように定義する。
aj=(a1j,a2j,…,amj)T (j=1,2,…,n)
即ち、m次のベクトルがn個ある。
例えば、、下記に、図3(c)の例における割付パターンベクトルを示す。なお、図3(c)の図は下式とは整合していない。
wm1にwp2とwp6をそれぞれ1枚割付けたとすると、
(0,1,0,0,0,1,0)T
wm2にwp1を1枚割付けたとすると
(1,0,0,0,0,0,0)T
wm2にwp3とwp5をそれぞれ1枚割付けたとすると、

(0,0,1,0,1,0,0)T
wm3にwp4とwp7をそれぞれ1枚割付けたとすると、

(0,0,0,1,0,0,1)T
【0034】
上記の割付パターンベクトルajは、 (1式)(2式)を満足するように生成される。
(sp,aj)≦S (j=1,2,…,n)・・(1式)
Sは、(1式)と(2式)を満たすsmi の最小値である。但し(i=1,2,…,k)
即ち、(1式)は、割付け製品の面積は原材料の面積以下であるという条件式である。
wpi+wpj =〈wml or hpi+hpj=〈hml ・・・(2式)
但し(i=1,2,…,m)(j=1,2,…,m)(l=1,2,…,k)
即ち、同一原材料に隣接して割付けられた製品は互いに重なり合わないという条件式である。
なお、(1式)の左辺の(sp,aj)は、選択された原材料に割り付けられた、1枚の製品もしくは複数枚の製品面積の総和である。割付パターンベクトルajを生成するときには、割り付けることができる最小面積の原材料が選択される。実加工では、矩を出すためのハナ切り長、刃物厚が考慮されるが、ここでは無視する。
【0035】
例えば、製品wp3とwp5をそれぞれ1枚割付けるとすると、原材料wm1またはwm2のいずれにも割付ができるものとする。ここで、wm1 の費用係数がwm2の費用係数より大きければ、割付対象をwm2というように原材料を選択する。こうして、経済的に割り付けできる関係を見つける。
図の例は、実行可能解に相当する一組の割付パターンベクトルを列挙した。シンプレックス法で最適解を求めるための準備として、必要に応じてシンプレックス演算処理の結果に基づき、割付パターンベクトルを列挙する。
【0036】
割付パターンベクトル生成手段24は、求められているm枚の製品の製品横長データと製品縦長データと製品面積データと、用意されたk種類の原材料の原材料横長データと原材料縦長データと原材料面積データとを比較して、1枚または複数枚の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトル46aを生成し、記憶装置40に記憶させる。
【0037】
[割付パターン行列]
k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付けるときには、上記の割付パターンベクトルをn個並べる。ajをn個並べたm×n次の割付パターン行列を下記に定義する。これを図3(d)に示す。
A=(aij) (i=1,2,…,m、j=1,2,…,n)
割付パターン行列生成手段25は、割付パターンベクトル生成手段24の生成した割付パターンベクトル46aをn個並べたm×n次の割付パターン行列を生成し、記憶装置40に記憶させる。
【0038】
[第1制約条件]
割付パターン行列Aと使用枚数ベクトルxとの積は、選択された各原材料から、それぞれ該当する割り付けパターンで切り出した製品数になる。従って、割付パターン行列Aから選択された原材料から該当する割り付けパターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならない。求められている各製品の数量は、製品要求数量ベクトルbに相当する。従って、少なくとも、下式を満足しないと、必要な数の製品が得られない。
Σaij・xj≧bi (j=1,2,・・・,n)(i=1,2,・・・,m)
【0039】
なお、不等号が成立するときは作りすぎである。計算の便宜上、上記の不等式を制約条件とする。この制約条件式は、Ax≧bと表す。
図3の例では、生産された製品数も必要な製品数も7であって、等号が成立する。
制約条件生成手段26は、割付パターン行列Aから選択された原材料から該当する割り付けパターンで切り出した各製品数は、それぞれ求められている各製品の数量以上であるとする第1制約条件式を生成して、記憶装置40に記憶させる。
【0040】
[原材料使用行列C]
k種類の原材料のうちのどの原材料を使用するかを示す、k次の原材料使用ベクトルcjを次のように定義する。これを図3(e)に示す。
cj=(c1j,c2j,…,ckj)T (j=1,2,…,n)
但し、c1j,c2j,…,ckjはいずれも、0または1である。
上記のように、k種類の原材料から選択したn枚の原材料を表すのに、原材料使用行列Cを用いる。これをcjをn個並べたk×n次の行列で定義する。
C=(cij)(i=1,2,…,k、j=1,2,…,n)
【0041】
既に説明した図3の例でcijは、下記のとおりである。
c1=(1、0、0)T
c2=(0,1,0)T
c3=(0,1,0)T
c4=(0,0,1)T
割付パターン行列生成手段25は、各割付パターンで、k種類の原材料のうちのどの原材料を使用するかを示す原材料使用ベクトルcjを列挙した、k×n次の原材料使用行列Cを生成して、記憶装置に記憶させる。
【0042】
[第2制約条件]
なお、cjはk種類の原材料のうちの一つを指定するベクトルだから、下式を満足する。
Σcij=1(i=1,2,…,k)(j=1,2,…,n)
k個の数字のうち1個だけが1で他は全て0ということである。
また、原材料は、割付けできる最小のものが選択される。
【0043】
また、既に定義したとおり、n枚の原材料の使用枚数ベクトルxは、x=(x1,x2,…,xn)であった。また、原材料使用予定数量ベクトルdは、原材料ごとの使用数を示すものであった。
従って、下式の条件が満足されなければならない。
Σcij・xj=di(i=1,2,…,k)(j=1,2,…,n)
この制約条件式は、Cx=dと表す。
これは、どの原材料を何枚選択して実際の割付に使用するかを定める。
制約条件生成手段26は、割付パターン行列生成手段25が生成した原材料使用行列Cと原材料の使用枚数ベクトルxの積が、原材料使用予定数量ベクトルdと等しいとする第2制約条件式を生成して、記憶装置に記憶させる。
【0044】
[第3制約条件]
上記の使用枚数ベクトルxの各要素xiは0または1である。列挙された多数の割付パターンベクトルの中のいずれを選択するかどうかを決める意味をもつからである。従って、下式のような制約条件式が成立する。
xi∈{0,1}
なお、この実施例では、この制約条件を緩和する。即ち、0≦xi≦1という制約条件式を設定する。
制約条件生成手段は、使用枚数ベクトルxの各要素xiが0≦xi≦1である旨を示す第3制約条件式を生成して、記憶装置に記憶させる。
【0045】
(2次元モデル条件)
2次元モデルを対象にすることから、新たな条件を設定する。割付け製品の面積は原材料の面積S以下である。これを第1評価条件(sp,aj)(内積)≦Sとする。隣接する製品は重ならない。これを第2評価条件wpi+wpj≦wmi または hpi+hpj≦hmiとする。割付パターンベクトルajが予め定めた割付け方法で割付け可能でなければならない。これを第3評価条件とする。2次元モデル条件生成手段31は、これらの2次元モデル条件63を生成して、記憶装置40に記憶させる。予め定めた割付け方法とは、例えば、特許文献3や特許文献4に示した方法、あるいはFirst Fit法である。予め定めた割付け方法で割付けできなければ、最終的にカッティング手順データ54を生成できないから、実行可能解としない。
【0046】
[費用係数ベクトル]
k種類の原材料ごとに、価格だけでなく、運搬費、保管費、加工賃等が異なる。計算に含めるべき全ての費用要素をn次の費用係数ベクトルfに含め、下記のように定義する。
f=(f1,f2,…,fn)
費用係数ベクトルfは選択されたn種類の原材料にのみ適用されるから、n次のベクトルになっている。なお、計算の便宜上、f1,f2,…,fnは、費用換算してしまい、単位を円とする。従って、目的関数値が小さいほど、少ないコストで製品を得ることができる。
【0047】
費用係数ベクトルの要素は面積である。コストが面積に比例する場合は、歩留が最高になる場合と総費用が最小になる場合とは同意である。しかし、単位面積当たりの価格が原材料により異なる場合には、費用係数を調整する。費用係数ベクトル生成手段27は、原材料面積ベクトルsmの各要素に価格成分を含めてn次の費用係数ベクトルfを生成する。費用係数ベクトルfの要素fiは、単位が円のデータである。費用係数ベクトル生成手段27が、原材料面積ベクトルsmを費用係数ベクトルfで置き換えるようにすれば、以下は、費用係数ベクトルfを意識することなく演算処理ができる。
【0048】
[目的関数]
この計算では、k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付ける。このとき、目的関数値が小さいほど少ないコストで製品を得ることができる。そこで、選択したn枚の原材料にかかる費用の総和を示す目的関数を下記のように定義する。
Min Σfi・xi
目的関数生成手段28は、選択したn枚の当該原材料にかかる費用の総和を示す目的関数を生成して、記憶装置に記憶させる。
【0049】
[整数計画を連続緩和問題とする]
シンプレックス法による演算処理を実行するために、目的関数と制約条件を次のように定義する。
Min Σfi・xi
subject to Ax≧b
Cx=d
0≦xi≦1
【0050】
第1番目の式は、目的関数生成手段により生成された目的関数である。
第2番目の式は、制約条件生成手段により生成された第1制約条件式である。
第3番目の式は、制約条件生成手段により生成された第2制約条件式である。
第4番目の式は、制約条件生成手段により生成された第3制約条件式である。
目的関数は、選択したn枚の当該原材料にかかる費用の総和を示す。
第1制約条件式は、割付パターン行列Aと使用枚数ベクトルxと製品要求数量ベクトルbの関係を示す。
第2制約条件式は、原材料使用行列Cと原材料の使用枚数ベクトルxと原材料使用予定数量ベクトルdの関係を示す。
第3制約条件式は、xiが0以上1以下であることを示す。
【0051】
初期設定手段23は、任意の方法で取得した任意の初期実行可能解44を受け付ける。そして、シンプレックス演算処理のためのパラメータを生成する。任意の方法とは、先に説明した予め定めた割付け方法である。初期実行可能解44は、初期設定の段階で、上記の2次元モデル条件を満たすかどうかの判定がされる。初期設定手段23は、上記の2次元モデル条件63を満たすもののみを、初期実行可能解44に設定する。初期実行可能解は、上記の割付パターン行列A46から選択される割付パターンベクトルを指定する原材料の使用枚数ベクトルxで表すことができる。これも、実施例3でより具体的に説明をする。最初のシンプレックス演算処理のために入力するパラメータは、目的関数Σfi・xiと第1制約条件式Ax≧bと第3制約条件式0≦xi≦1を構成するデータである。
【0052】
探索制御手段30は、シンプレックス演算処理手段に対して、Cx=dの制約条件を除外したパラメータを入力して最初の演算処理を実行させる。シンプレックス演算処理手段は、目的関数の値を改善するようにシンプレックス表の基底変数を変更して解を出力する。第3制約条件式0≦xi≦1は、xi∈{0,1}という制約条件を緩和したものである。従って、解には、xi=0.5といった整数以外のものが含まれる場合もある。また、目的関数の値が同一の解が複数存在することもある。
【0053】
探索制御手段30は、得られた解の中に、xiの値が0または1のいずれかであって、それ以外のものを含まない解を検出する。検出されたときは、その解を最適解として、部材割付データ53を生成して、処理を終了する。それ以外の場合には、探索制御手段は、次のシンプレックス演算処理のためのパラメータを再生成する。まず、初期設定をした実行可能解の目的関数の値F0を最大値に設定する。初期設定の解を改善するのが目的だからである。また、最初のシンプレックス演算処理で得られた解の目的関数の値F1を最小値に設定する。条件を緩和して得られた解であるから、そのときの目的関数値が限界値と判断する。
【0054】
次に、探索制御手段30は、目的関数の値がF1以上、F0未満となる、原材料の枚数の組合せを列挙して、組合せリストを生成する。これは、原材料使用予定数量ベクトルdに該当する。この組合せリストの中から目的関数の値が最小のものを次候補に選定する。この具体例は実施例3で説明するが、制約条件生成手段26は、第2制約条件式Cx=dを生成する。目的関数や割付パターンベクトル等のパラメータに変更があれば第1制約条件式Ax≧bも生成する。その後、探索制御手段30は、シンプレックス演算処理手段29に対して、生成したパラメータを入力して演算処理を実行させる。第3制約条件式0≦xi≦1は変更しない。
【0055】
その結果、得られた解に、xiの値がいずれも0または1であって、それ以外の値を含まないものを検出する。検出されたときは、その解を最適解とする。この探索処理のための演算時間を短縮するために、後で説明するような評価式を用いた制御を実行する。最適解が得られないときには、原材料の枚数の組合せのリスト中で、目的関数の値が上記の次候補と同値のものがあれば、それを次候補に選定する。なければその次に小さいものを次候補に選定する。そして、前回と全く同様にして、第2制約条件式Cx=dを生成し、パラメータを変更して、シンプレックス演算処理手段に対して、生成したパラメータを入力して演算処理を実行させる。
【0056】
こうして、シンプレックス演算処理を繰り返して、最適解を探索する。なお、原材料の枚数の組合せのリストが多数生成されたときは、原材料の枚数の組合せの選択回数に上限を設けて、一定回数以上探索しても最適解がみつからなければ、初期実行可能解を最適解として、部材割付データ53を出力するとよい。また、以上の演算処理では、割付パターン行列Aと使用枚数ベクトルxと製品要求数量ベクトルbの関係を示す制約条件を使用したので、シンプレックス演算処理のパラメータに製品の寸法が含まれず、計算が煩雑にならない。また、各要素が0または1のみの値をとる原材料の使用枚数ベクトルxが基底変数になるようにパラメータを設定し、0≦xi≦1という緩和した制約条件でシンプレックス演算処理を実行するので、最適解が得られない場合でも目的関数の最小値を得て、探索範囲を限定することができる。
【0057】
図4は、初回のシンプレックス演算処理動作フローチャートである。
これらの図を用いて、上記のシステムを制御するコンピュータプログラムの実施例を説明する。
ステップS11では、原材料設定手段22が原材料データの受け付けをする。端末装置16から、使用される全ての原材料データの入力を受け付けて、原材料ベクトル43に対応するデータを生成し、記憶装置40に記憶させる。即ち、原材料の横長を要素とするk次の原材料横長ベクトルwmと、原材料の縦長を要素とするk次の原材料縦長ベクトルhmと、原材料の面積を要素とするk次の原材料面積ベクトルsmと、原材料の種類番号を要素とするk次の原材料番号ベクトルnmとを生成し、記憶装置40に記憶させる。ステップS12では、製品設定手段21が、製品に関するデータの入力受け付けをする。端末装置16から、求められているm枚の製品の横長データと縦長データの入力を受け付けて、製品の横長を要素とするm次の製品横長ベクトルwpと、製品の縦長を要素とするm次の製品縦長ベクトルhpと、製品の面積を要素とするm次の製品面積ベクトルspと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置40に記憶させる。
【0058】
ステップS13では、初期設定手段23が
2次元モデル条件を満たすと判定された 初期実行可能解44の入力を受け付ける。その結果は 記憶装置40に記憶される。ステップS14では、割付パターンベクトル生成手段24が、割付パターンベクトルの生成をする。割付パターンベクトルは、記憶装置40に記憶される。続いて、ステップS15で、割付パターン行列生成手段25が割付パターン行列46の生成をして、記憶装置40に記憶させる。次に、ステップS16で、制約条件生成手段26が、第1制約条件式48、第2制約条件式49、第3制約条件式50を生成して、記憶装置40に記憶させる。
【0059】
ステップS17では、費用係数ベクトル生成手段27が費用係数ベクトルの生成をし、ステップS18では、目的関数生成手段28がその費用係数ベクトルを使用して目的関数51の設定をする。その結果が記憶装置40に記憶される。次に探索制御手段30が、ステップS19で、後で説明するように最初の演算用パラメータをシンプレックス演算処理手段29に入力する。ステップS20では、この演算用パラメータを使用したシンプレックス演算を実行する。解が得られたら探索制御手段30は、ステップS21で、整数解かどうかという判断をする。この判断の結果がイエスのときは最適解であるから、ステップS23で部材割付データとカッティング手順データを出力して処理を終了する。ノーのときはステップS22の処理に移行する。ステップS22では、探索制御手段30が、図5に示した手順で、シンプレックス法による演算を制御する。
【0060】
図5は、1回目のシンプレックス演算終了後の演算処理のフローチャートである。
このフローチャートの動作は、探索制御手段30が制御し、シンプレックス演算処理手段29が実行する。まず、ステップS31で、初期実行可能解から、目的関数の最大値の設定をする。次に、ステップS32では、図4のステップS20の演算処理結果から、目的関数の最小値を設定する。次にステップS33で、設定された目的関数値の範囲で、原材料の組合せリストの生成をする。その結果を目的関数値の小さいものから並べて記憶装置40に記憶させる。ステップS34では、組合せリストの中から、目的関数値が最小のものを選択する。さらに、ステップS35では、制約条件生成手段26に依頼をして、後で説明するように制約条件の設定をする。
【0061】
また、ステップS36では、目的関数生成手段28に依頼をして、目的関数の設定をする。ステップS37でシンプレックス演算を実行する。ステップS38では、探索制御手段30が、整数解が得られたかどうかという判断をする。この判断の結果がイエスのときはこの処理を終了して、図4のステップS23に進む。一方、ノーのときはステップS39の処理に移行する。ステップS39では、予め設定されたW回だけ、ピボット演算処理を繰り返したかどうか判断する。W回は上限値である。これにより、長時間探索をしても、解が得られない場合に、処理を中止する。即ち、ステップS40で、初期実行可能解を演算処理結果として出力する。繰り返し回数がW回に満たないときは、ステップS34に戻り、次に大きい目的関数値となる組合せリストを選択して、再度シンプレックス演算処理を実行する。以上の処理により、コンピュータプログラムは自動的に最適解を探索する。本発明では、上記のステップS37における探索動作に後で説明するような特殊な制御を行う。
【0062】
図6から図11までは、具体的な計算例の説明図である。
(原材料データ)
例えば、用意された原材料は5種類で、原材料名をGG1〜GG5とする。
(製品データ)
求められている製品は7枚で、その製品名をSS1〜SS7とする。
【0063】
(割付パターンベクトル)
図6は、割付パターンベクトルの説明図である。
図の最も左側の上から下に向かう縦1列に、上記の7種類の製品名が列挙されている。また、最も上段の左から右に向かう横1列に、原材料名が列挙されている。各原材料名の下の縦一列が、それぞれ割付パターンベクトルである。例えば、原材料名GG1ものには、製品名がSS2のものを1枚割り付けることができるとする。例えば、原材料名がGG2のものには、製品名がSS3とSS6のものを各1枚割り付けることができるとする。この表には、この要領で、7枚の製品の寸法と5種類の原材料の寸法とを比較して、1枚または複数枚の製品を経済的に割り付けることができる原材料と製品との関係を示す7次の割付パターンベクトルを列挙する。ここで、x1〜x5は初期実行可能解から得られた割付パターンベクトルである。以下は、特許文献1に記載したとおりの手順で、この表を展開し、原材料の使用枚数ベクトルxを求める。
【0064】
(目的関数)
説明を簡略化するために、費用係数ベクトルfの各要素を原材料面積と一致させる。
すなわち、面積の数値をそのまま円と読み替える。
図6の原材料名の部分を原材料の面積で表示すると、それらの数値は費用係数ベクトルfの要素である。従って、最初のシンプレックス演算処理で、初期値として入力する実行可能解の目的関数Σ(fi・xi)の値は、x1〜x5の使用原材料の面積の総和である。以下の計算ではこれを改善する解を求めるのだから、目的関数値の上限値をこのとき求めた総和に定める。
【0065】
本発明では、シンプレックス演算による解が得られたときの目的関数値を、最適値の下限値に設定する。即ち、初期実行可能解を改善することを目的とするから、目的関数値の初期値を最大値に設定し、最初のシンプレックス演算処理により得られた目的関数値を最小値に設定する。この範囲に最適値があるとし、再度探索をする。ここで、原材料を任意の枚数だけ組合せて、目的関数値がこの範囲にある場合を列挙する。例えば、組合せを選択しながら集計する演算処理結果を昇順にソートすればよい。
【0066】
具体的なシンプレックス演算処理については、特許文献1に記載されたとおりであるから、その説明を省略する。こうして、原材料を節約できる割付パターンを見つけて、その結果を、部材割付データとして出力し、端末装置に送信する。
なお、2次元モデルについては、使用する原材料と各原材料から切り出す製品を特定したデータだけをプレカット装置に送っても、そのままではプレカット制御できない。初期実行可能解を求めるときにした、2次元モデル条件を満たすかどうかの判定処理において、予め定めた割付け方法で割付け可能かどうかの判定をした。この判定では、具体的に製品の割付け位置と原材料の切断位置と切断順とを確認する。その結果が記憶装置40に記憶されている。
【0067】
図7は、予め定めた割付け方法の説明図である。
予め定めた割付け方法は、例えば、製品を横長の大きいものから順に配列し、原材料を横長の大きいものから順に配列して、ファーストフィット法(FF法)で割付けを実行する。その後、製品を縦長の大きいものから順に配列し、原材料を縦長の大きいものから順に配列して、同様にファーストフィット法で割付けを実行し、さらに、製品を面積の大きいものから順に配列し、原材料を面積の大きいものから順に配列して、ファーストフィット法で割付けを実行する。この全てを実行して、最適な割付け方法を見付ければよい。
【0068】
その過程では、例えば、図7において、ある原材料56の隅に製品57を割付けたとする。このとき、製品57のいずれかの辺を通る切断線58で、原材料を切断する。切断後の原材料片を、製品57の残りの辺を通る切断線59で切断する。こうして残った原材料片60と61に、他の製品を割付けられるかどうか判断し、割付けられなかったら、廃材とする。この手順で割付けを行うと、製品の割付け位置と原材料の切断位置と切断順とが自動的に確定する。これを実行可能解の生成とともに、あるいは、2次元モデル条件を満たすかどうかの判定処理中に判定結果64として、記憶装置40に記憶させる。その判定結果64を読み出して、カッティング手順データ54を生成するとよい。このデータはそのままプレカット装置を制御できる。また、作業手順書を印刷して、作業者に手渡し、手動でのプレカットが可能になる。
【0069】
(FF法)
図8と図9は、FF法による原材料種類が複数の面材の割付処理動作フローチャートである。
ファーストフィット法(FF法)を用いて、面材の割付をする場合には、例えば、図に示すように、面積の広いものから順に割付をする。即ち、まず、最初のステップS11で、原材料を面積降順に並べて読み出し順のリストを作成し記憶装置に格納する。ステップS12では、製品を面積降順に並べて読み出し順のリストを作成し記憶装置に格納する。その後ステップS3からステップS19の処理を繰り返す。
【0070】
ステップS13では、読み出し順のリストに従って、原材料を一枚選択する。ステップS14で、この原材料に製品の割付試行処理をする。ステップS14の処理の具体的な内容は後から図9を用いて説明する。ステップS13で選択した一枚の原材料に対して、最も歩留の良い製品の割付けがステップS14で見つかったら、ステップS15で歩留の算出をする。
【0071】
ステップS16では、全ての原材料を選択し終わったかどうかという判断をする。この判断の結果がイエスのときはステップS17の処理に移行し、ノーのときはステップS13の処理に戻る。即ち、全ての種類の原材料について、ステップS13からステップS16の処理を繰り返す。全ての原材料についての処理が終了すると、ステップS17でこれまでの計算結果を比較し、最大歩留の割付けを見付けて、一組の材料と製品の組み合わせを決め、これを採用する。
【0072】
ステップS18では、ステップS17で組み合わせの決まった割付済の製品を、読み出し順のリストから削除する。ステップS19では、全ての製品について、割付け処理が終了したかどうかという判断をする。この判断の結果がイエスのときはステップS20の処理に移行し、ノーのときはステップS13の処理に戻る。こうして、ステップS13からステップS19の
処理を繰り返して、全ての製品をいずれかの材料に割り付ける。これが終了するとステップS20で総歩留の計算をする。こうして、FF法による割付処理が終了する。
【0073】
図9は、原材料に製品の割付試行処理をするための動作フローチャートである。
まず、ステップ21で製品の読み出し順リストに未割付の製品があるかを判断する。イエスのときはステップS22の処理に移行し、ノーのときは処理を終了し、図8のステップS15へ移行する。 ステップS22では製品を読み出し順リストにしたがって一枚選択する。ステップS23では選択した製品が原材料または残材に割付可能かどうかという判断をする。
【0074】
最初は原材料が割付対象になり、2回目以降は残材が割付対象になる。ステップS23の判断は選択した製品が原材料または残材の隅に割付可能かどうかである。イエスのときはステップS24に移行し、ノーのときはステップS21に移行する。ステップS24では選択した製品を原材料または残材の隅に割付する。原材料も残材も長方形(正方形含む)だから四隅のいずれかに割付する。 ステップS25ではギロチンカット(刃物を途中で止めない)で製品部と残材部に分割する。そしてステップS21に移行する。これを一枚の原材料への割付が終了するまで繰返し、終了したら図8のステップS15へ移行する。
【0075】
(割付パターンベクトル生成)
最適解を得るために、総当り的に重複をせずすべての割付パターンを自動的に生成することは、例えばバックトラック法を利用すれば可能である。しかしそれでは、
図12に示す25枚の製品を2種類の原材料に割付ける場合を例にしても、その割付パターンの数は組合せ爆発を起こす。
【0076】
これを避けるためシンプレックス乗数を用いた感度解析手法を前記2次元モデル条件に加えて割付パターンベクトル生成時に割付パターンベクトルの数を総当り相当を担保しながら合理的に絞り込むようにしてもよい。これは演算時間の大幅短縮に寄与する。
【0077】
(評価式)
また、シンプレックス演算処理手段29は、制約条件を満たす割付けパターンベクトルの組み合わせを、既知のシンプレックスタブローを使用したピボット演算により、探索する。使用する原材料の組み合わせが一定という制約条件を与えると、シンプレックス演算処理手段29は、割付けパターンベクトルの組み合わせを少しずつ変更しながら、xの値が制約条件を満たす実行可能解を見付ける。このピボット演算の過程で得られる非整数解の出現順に規則性はない。ピボット演算開始時の初期条件が異なると、全く異なる過程でピボット演算が実行され、非整数解の出現順も変わる。最短時間で整数解に到達する最適な初期条件を見付ける方法は無い。運の悪いときには何万回ピボット演算を繰り返しても整数解が得られないことがある。
【0078】
整数解が得られる前に、複数の非整数解が得られることもある。多数の非整数解が得られても、最後まで整数解が得られないこともある。最後まで整数解が得られなかったときは、条件設定をした原材料の組み合わせで最適解は無いということである。最後までピボット演算を繰り返すことは実用上の計算時間を考慮すれば不合理であるので、ピボット演算の繰り返し回数がW回に達したときに探索を打ち切って、別の原材料の組み合わせを選択するようにしてもよい。しかしながら、非整数解が出力されたときのシンプレックスタブローから得られる相対費用係数を監視すると、探索方針を決めることができる。相対費用係数が全部正の数になったときには、これ以上、実行可能解は無いと判断してよい。また、相対費用係数に一つでも0(ゼロ)が含まれていれば、実行可能解が他にもあると判断できる。従って、探索を続行するとよい。
【0079】
しかしながら、前記割付パターンベクトル生成合理化を図っても、なお、割付けパターンベクトルの数が多い場合や、原材料の組み合わせの種類が多い場合には、シンプレックス演算処理手段29による演算処理時間が膨大になるおそれがある。そこで、本発明では、複数の非整数解が得られたときに、以下に定義する評価式を用いて、その後の演算処理の結果を予測する。即ち、ピボット演算処理の結果、複数の非整数解が得られたとき、これらの非整数解を特定の評価式を適用して比較し、一定の判定基準を満たす場合にはピボット演算処理を続行する。判定基準を満たさない場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開する。また、あるいは、同一制約条件での演算処理を中止し、別の原材料の組み合わせを制約条件に設定する。
【0080】
図1に示した評価式54は、Σf(xi)と定義したデータである。Σf(xi)は、xiが前記制約条件を満たしながら0から1までの間の数値をとるとき、その最大値が一定値になる関数である。例えば、f(xi)はxiのn乗(n>1)と定義することができる。また、あるいは、Σf(xi)は、xiが前記制約条件を満たしながら0から1までの間の数値をとるとき、その最小値が一定値になる関数である。例えば、f(xi)はsinπxiとか、あるいは、f(xi)はxiのn乗(0<n<1)というように定義することができる。
【0081】
図10は、評価式の意味の説明図である。
f(xi)をxiの2乗と定義して、評価式の意味を説明する。この評価式は、複数の非整数解が得られたときに、原材料の使用枚数ベクトルxの要素xiの値の変化を観察するためのものである。即ち、それぞれの解に含まれる全てのxiが整数に近づく方向にピボット演算が進んでいるかを判定することができる。概略的には、次のような理論になる。
【0082】
例えば、使用枚数x=(x1、x2)とする。また、原材料の組み合わせCを(1、1)とする。前者は列ベクトル、後者は行ベクトルである。(Cx=d)だから、x1+x2=1である。この場合、図10(a)に示すように、x1軸とx2軸の直交座標上で、x1軸の切辺の座標が1でx2軸の切辺の座標が1の直線上に実行可能解があるということができる。直線の両端の白丸は整数解、中央の黒丸は非整数解になる。(b)には、縦軸に評価式の値を示し、横軸にx1とx2の値を示した。
【0083】
図10の(b)に示したのは使用枚数ベクトルxの要素がx1とx2の場合の解空間である。評価式の最大値は1、最小値は0.5である。ベクトルxの要素数が増えると解空間はこの図よりもさらに複雑になる。しかも、ピボット演算により求められる非整数解や整数解の出力順序も複雑である。従って、ある条件でピボット演算を開始して、順番に出力される実行可能解により得られる整数解あるいは非整数解の評価式の値は、図10(c)に示すように変遷する。黒丸が非整数解によるもので、白丸が整数解によるものである。
【0084】
ここで、例えば、シンプレックス演算処理手段29による演算処理が開始されて、所定のタイミングで、実行可能解R1が得られたとする。さらにその後、実行可能解R2が得られたとする。いずれも非整数解である。両者の評価式の値を比較すると、後から得られた非整数解の値が減少している。ここでさらにピボット演算を続行しても、評価式の値は減少していき、すぐに整数解には近づかないと判定する。そこで、このタイミングで初期条件を変更する。即ち、ピボット演算の開始点を変更する。
【0085】
この演算処理では、目的関数をΣfi・xiとし、制約条件を(Ax≧b)とし、xiは0≦xi≦1とし、さらに、原材料の組み合わせが一定という制約条件(Cx=d)を追加して、シンプレックス演算処理手段29を起動した。割付けパターンベクトルと制約条件は変えられない。一方、本発明の方法では、制約条件(Cx=d)に費用係数の値が含まれないようにし、かつ、基底変数も使用枚数ベクトルxを使用したから、費用係数fiの値を変更しても解に直接影響がない。しかも、目的関数に含まれる費用係数fiの値を変更すると、ピボット演算の開始点や順序を変えることができる。例えば、仮に、費用係数fiの値を全て0にして演算処理を開始しても、費用係数fiの値を全て1にして、演算処理を開始しても、最終的には同じ結果が得られる。ところが、ピボット演算の過程は相異する。即ち、シンプレックス演算処理手段29に対して、こうした変更可能な設定条件を変更することで、図10(c)の実行可能解R2が得られた時点でピボット演算を停止し、今度はタイミングt1からピボット演算を再開することができる場合がある。もちろん、他の任意の方法でピボット演算開始のための初期条件を変更できればよい。
【0086】
タイミングt1からピボット演算を再開すると、その後、実行可能解R3が得られる。さらにその後、実行可能解R4が得られたとする。いずれも非整数解である。ここで、両者の評価式の値を比較すると、その値が増加している。このとき、さらにピボット演算を続行すれば、評価式の値は増加していき、整数解に近づく可能性が高いと判定する。こうした判断を、図1に示した判定手段31が実行する。図10(c)の例では、その後無事に白丸で示した整数解に到達することができる。
【0087】
しかしながら、実際には、同じ設定条件で演算処理を続行しても、必ず整数解が得られるとは限らない。従って、例えば、評価式の値が増加した後に整数解が得られないまま減少し始めたら、極大値を通過したものと判断して、別の上昇曲線を求めて設定条件を変更するとよい。例えば、費用係数fiの値を全て0の状態から全て1の状態まで順番に切り替えて、ピボット演算を繰り返せばよい。
【0088】
以上の処理により、複数の非整数解が得られたときに、その後ピボット演算を続行しても良い結果が得られないと判断したら、その状態を回避し、別の条件からピボット演算を開始するようにして、演算処理時間を短縮することができる。また、例えば、初期条件を変更しても評価式の値が増加する傾向がみられない場合には、この制約条件での整数解は無いと判断して、原材料の組み合わせの制約条件(Cx=d)を変更して、演算処理を再開するとよい。
【0089】
評価式の値が増加していく場合にのみピボット演算を続行するのは、既知の局所探索法でいう山登り法と呼ぶことができる。そして、ランダムに初期条件を変更するのをランダムリスタート法と呼ぶことができる。さらに、上記の評価式を利用して、既知の焼き鈍し法により、整数解を探索することができる。また、非整数解であって局所最適解を通過した場合に、評価式の値がいったん減少してから増加に転じる状態にあるときピボット演算を続行する方法も有効である。以上のように判定基準を定めて、図1に示した判定手段31が、ピボット演算を続行するかどうかの判定をする。図1に示した探索制御手段30は、この判定手段の判定に従って、探索を制御する。
【0090】
(動作フロー)
図11は、本発明の主要動作のフローチャートである。
この図を用いて、評価式を使用した演算処理の具体的な手順を説明する。まず、図のステップS51では、原材料枚数の組み合わせを選択する。次に、ステップS52で、上記の制約条件式を用いた制約条件の設定をする。ステップS53では、初期条件の設定をする。この初期条件とは、ピボット演算の開始時の条件のことで、例えば、費用係数を全てゼロに設定する。ステップS54でシンプレックス演算処理を起動する。ステップS55では、ピボット演算を実行する。ピボット演算を繰り返してステップS56で、実行可能解の出力をする。ステップS57では、整数解かどうかという判断をする。この判断の結果がイエスのときは最適解であるから処理を終了する。ノーのときはステップS58の処理に移行する。
【0091】
ステップS58では、ピボット演算の終了かどうかという判断をする。これは、既に説明したように、実行可能解が無いと判断された場合である。この判断の結果がイエスのときは最初のステップS51の処理に移行し、制約条件の再設定を行う。ノーのときはステップS59の処理に移行する。ステップS59では、非整数解を評価式に当てはめる演算処理をする。ステップS59〜61の演算は判定手段31(図1)が実行する。ステップS60では、評価式の値の履歴を比較して判定をする。即ち、例えば、前回の非整数解について、演算をした評価式の値を記憶装置に記憶させておき、今回のものと比較する。また、数回連続して得られた非整数解について、演算をした評価式の値を記憶装置に記憶させておき、今回のものと比較する。ステップS61では、既に説明したような判定基準を使用して、ピボット演算を続行するかどうかという判断をする。この判断の結果がイエスのときはステップS56の処理に移行して、ステップS56〜61を繰り返す。一方、ノーのときはステップS62の処理に移行して、費用係数の変更をする。そして、ステップS54に戻る。即ち、新たな初期条件で、ピボット演算を再開する。
【0092】
図12は、割付対象製品と使用する材料の具体例説明図である。
以下の具体例では、この図に示すように、25枚の製品を割付対象製品とする。
ベクトル表示を簡単にするため、縦長と横長が同一の製品にも、それぞれ別々の製品番号を付した。原材料は、横長は同一で縦長が異なる2種類を用意した。長さは、0.1mm単位で表示した。従って、「8220」は822mmのことである。歩留計算では、原材料の価格は面積に比例するものとした。即ち、歩留が高いほど製品のコストが安価になる。面積値を「円」と読み替えるものとする。
【0093】
なお、面材については、板取りをしたときに、木目の方向が問題になる場合がある。即ち、製品の木目の方向が特定されている場合と、木目の方向は自由で、90度回転させても良い場合がある。この例では、製品の90度回転はできないものとした。即ち、原材料と製品の、横長、縦長は、それぞれ要求される向きにしたときのものである。原材料を切断するときの刃物厚は0mmとする。また、原材料は全面にわたり全く傷みが無くて、寸法どおり使用できるものとする。
【0094】
図13と図14は、製品と割付けパターンベクトルの説明図である。図13は初期実行可能解を含む1〜15の割付けパターンベクトルを示し、図14は、22698種類の割付けパターンベクトルである。最上部の数字は各割付けパターンベクトルを区別するためのものである。この表には、スペースの関係で、各製品の製品番号のみを表示した。各製品の横長と縦長は図12に示したとおりである。図12の1〜7の部分がFF法により得た初期実行可能解である。
【0095】
図15は、到達した実行可能解の説明図である。
図13と図14のデータを使用して、シンプレックス演算処理手段29によるピボット操作を繰り返す。最初から数えて6149回繰り返して、図15に示すような実行可能解が得られた。即ち、図13と図14に示した割付けパターンベクトルのうちの、「14」「2586」「5392」「7516」「8018」のものを組み合わせると、5枚の材料から25種類の製品をそれぞれ一枚ずつ切り出すことができるという解が得られた。
【0096】
FF法による初期実行可能解は、図13に示すように、「1」〜「7」の7枚の材料から25種類の製品をそれぞれ一枚ずつ切り出すことができるというものであった。従って、図15と比較したとき、歩留が大幅に改善された解が得られたことが分かる。
【0097】
図16は、非整数解の説明図である。
ピボット操作を最初から数えて256回目に、図16に示すような非整数解が得られた。左側の枠に囲まれたものは、割付けパターンベクトルである。この枠の最上部が、使用枚数ベクトルxの要素である。即ち、0.5とあるのは、該当する原材料を0.5枚使用するということである。これが非整数解である。
【0098】
右側の枠に囲まれたものは、Axの要素である。非整数解でも製品枚数としては1枚以上得ることを表すが(Ax≧bが成立)、非整数解の意味は製品を分断して切り出し、合わせれば元の製品と同形状になることである。
【0099】
このような演算処理の過程で、Σf(xi)を計算する。そして、評価式による値が増加し続けた場合には、ピボット演算を繰り返す。その結果、上記の6149回目で整数解を得ることができた。
【0100】
図17は、非整数解と整数解の比較例説明図である。
図17に示すように、図16の非整数解について目的関数値の計算をすると、その値が「3100000」という結果が得られた。このレベルの値が得られるであろうと予測して、ピボット演算を繰り返し、図17の整数解を得た。その目的関数値の計算結果は、上記と同様の「3100000」であった。演算処理時間の関係で、ピボット演算の繰り返し回数に上限を設けて、この結果を最適値とし、演算処理を終了するとよい。
【実施例2】
【0101】
図18は、歩留改善効果の説明図である。図19は部材加工装置のブロック図である。
面材では、部材割付データ53に、切断手順を含めなければならない。この具体例では、始めに、製品を横長の大きいものから順に配列し、原材料を横長の大きいものから順に配列して、ファーストフィット法で割付けを実行した。また、常にまず原材料の左下隅に製品を割付け、図7で説明したとおり、製品の辺に平行な線で原材料を切断し、残材に残りの製品を割付けるという方法を採用した。従って、上記の最適値を得た割付け結果についても、同様の手順を実行して、全ての製品の切断が可能なとき、カッティング手順データを生成する。カッティング手順データは、NCデータのような形式のものでよい。また、作業手順書は、後で説明する図20以下の板取図を印刷したものが適する。
【0102】
以上の処理により、カッティング手順データが得られた。これは、プレカット工場でプレカット装置17に供給される。原材料は図14に示した順に選択されて、対応する割付パターンで切り分けられ、製品が得られる。この実施例では、図18に示すように、製品の回転が不可な場合に、初期実行可能解の場合の歩留59.5%を、改善により78.6%にすることができた。また、回転が可能な場合には、初期実行可能解の場合の歩留78.6%を、改善により87.1%にすることができた。
【0103】
図20〜図26は、FF法による割付け結果を示す。図27〜図31は実施例の処理による割付け結果を示す。図32〜図36は、製品の縦横が90度回転可能な場合のFF法による割付け結果を示す。図37〜図40は製品の縦横が90度回転可能な場合の実施例の処理による割付け結果を示す。
【0104】
図20〜26に示すように、FF法により割付けたときには、原材料番号が1番のものを5枚、2番のものを2枚使用し、合計7枚の原材料を使用した。図27〜31に示すように、実施例の方法では、原材料番号が1番のものを4枚、2番のものを1枚使用し、合計5枚の原材料を使用した。一方、製品の縦横が90度回転可能な場合には、図32〜図36に示すように、FF法で原材料番号が1番のものの使用が1枚減った。実施例では、図37〜図40に示すように、原材料番号が2番のものの使用が1枚減った。いずれの場合も、上記の手順でプレカットが可能なことが確認できた。
【0105】
大量の原材料に大量の製品を割り付けて切り出すプレカット工場では、このような歩留改善ができたことにより額のコストダウンが可能になる。また、廃棄物量を減少させることができれば、廃棄物処理のための設備や費用も節約することができる。上記の例では、原材料の種類や要求される製品の種類や量を単純化したが、多種多様の原材料と製品とを取り扱えばさらに従来法では到達できなかったレベルまで大幅な歩留の改善を見込むことができる。
【実施例3】
【0106】
なお、使用原材料面積の総和の最小値を求めるために、最初に、第1制約条件式と第3制約条件式の制約条件の下でシンプレックス演算処理を実行した。このとき、非整数解を伴う実行可能解が得られたら、そのときの目的関数値を使用原材料面積の総和の最小値に設定した。しかしながら、上記のように、同一制約条件の下で、非整数解が複数回得られることがある。そこで、別の新たな非整数解が得られる可能性があり、原材料の枚数を組み合わせて、その目的関数値と等しくなる組合せがある限り、その制約条件下で、シンプレックス演算処理を繰り返すことが好ましい。
【0107】
上記の演算処理装置で実行されるコンピュータプログラムは、機能ブロックで図示した単位でモジュール化されてもよいし、複数の機能ブロックを組合せて一体化されてもよい。また、上記のコンピュータプログラムは、既存のアプリケーションプログラムに組み込んで使用してもよい。本発明を実現するためのコンピュータプログラムは、例えばCD−ROMのようなコンピュータで読み取り可能な記録媒体に記録して、任意の情報処理装置にインストールして利用することができる。
【符号の説明】
【0108】
10 部材割付システム
12 コンピュータ
14 ネットワーク
16 端末装置
20 演算処理装置
21 製品設定手段
22 原材料設定手段
23 初期設定手段
24 割付パターンベクトル生成手段
25 割付パターン行列生成手段
26 制約条件生成手段
27 費用計数係数ベクトル生成手段
28 目的関数生成手段
29 シンプレックス演算処理手段
30 探索制御手段
31 判定手段
32 2次元モデル条件生成手段
40 記憶装置
41 製品ベクトルwp、hp、sp
42 製品要求数量ベクトルb
43 原材料ベクトルwm、hm、sm
44 初期実行可能解
45 原材料使用予定数量ベクトルd
46 割付パターン行列
46a 割付パターンベクトル
47 原材料使用行列C
48 第1制約条件式
49 第2制約条件式
50 第3制約条件式
51 目的関数
52 組合せリスト
53 部材割付データ
54 評価式
55 カッティング手順データ

【特許請求の範囲】
【請求項1】
それぞれ所定の長方形のm枚の製品を、それぞれ所定の長方形のk種類の原材料から切り出すときに必要な各種類の原材料の枚数を求め、各原材料に割り付ける製品の組合せを最適化するものであって、
求められているm枚の製品の横長データと縦長データの入力を受け付けて、製品の横長を要素とするm次の製品横長ベクトルwpと、製品の縦長を要素とするm次の製品縦長ベクトルhpと、製品の面積を要素とするm次の製品面積ベクトルspと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させる製品設定手段と、
用意されたk種類の長方形の原材料データの入力を受け付けて、原材料の横長を要素とするk次の原材料横長ベクトルwmと、原材料の縦長を要素とするk次の原材料縦長ベクトルhmと、原材料の面積を要素とするk次の原材料面積ベクトルsmと、原材料の種類番号を要素とするk次の原材料番号ベクトルnmとを生成し、記憶装置に記憶させる原材料設定手段と、
割付け製品の面積は原材料面積ベクトルsmの要素のうちのいずれかの原材料の面積S以下であるとする第1評価条件(sp,aj)(内積)≦Sと、隣接する製品が重ならないとする第2評価条件
wpi+wpj≦wml または
hpi+hpj≦hml と、
割付パターンベクトルajが予め定めた割付け方法で割付け可能であるとする第3評価条件とを含む、2次元モデル条件を生成して、記憶装置に記憶させる2次元モデル条件生成手段と、
求められている前記m枚の製品の製品横長データと製品縦長データとを用意された前記k種類の原材料の原材料横長データと原材料縦長データと比較して、
前記第1評価条件と第2評価条件と第3評価条件とを含む2次元モデル条件を満たす、1枚または複数枚の製品を経済的に割り付けることができる原材料と製品の関係を示す、m次の割付パターンベクトルajを列挙する割付パターンベクトル生成手段と、
前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させる割付パターン行列生成手段と、
k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製

品のうちのいずれかの製品を割り付けたとき、選択したn枚の原材料の使用枚数を表すために、要素がxiのn次の使用枚数ベクトルxを定義し、
前記n枚の原材料それぞれに対応するn次の費用係数ベクトルfと前記使用枚数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させる目的関数生成手段と、
前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと緩和された第3制約条件式0≦xi≦1を生成して、記憶装置に記憶させる制約条件生成手段と、
前記予め定めた割付け方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶する初期設定手段と、
前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するシンプレックス演算手段と、
前記シンプレックス演算手段処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前期シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用枚数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの種類の原材料を何枚選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用枚数ベクトルの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用枚数の組合せの中から、目的関数の値が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件下で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御する探索制御手段を備えたことを特徴とする部材割付システム。
【請求項2】
請求項1に記載の部材割付システムにおいて、
前記第1制約条件式と第3制約条件式の制約条件の下で、
または前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の下で、
前記シンプレックス演算処理を実行し、非整数解を伴う実行可能解が得られたときであって、複数の解が存在するとき、予め定めた判定手段で、
別の解を求めるシンプレックス演算処理を繰り返すことを特徴とする部材割付システム。
【請求項3】
請求項2に記載の部材割付システムにおいて、
前記予め定めた判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、評価式Σf(xi)の値の最大値が一定値になる関数であるとき、
後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて増加していれば、判定基準を満たすと判定する手段であることを特徴とする部材割付システム。
【請求項4】
請求項2に記載の部材割付システムにおいて、
前記予め定めた判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、前記評価式Σf(xi)の値の最小値が一定値になる関数であるとき、
後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて減少していれば、判定基準を満たすと判定する手段であることを特徴とする部材割付システム。
【請求項5】
請求項3乃至4に記載の部材割付システムにおいて、
順次得られた非整数解による前記評価式の値を焼き鈍し法を用いて比較をする判定基準により判定することを特徴とする部材割付システム。
【請求項6】
請求項5に記載の部材割付システムにおいて、
非整数解であって局所最適解を通過した場合に、評価式の値がいったん減少してから増加に転じる状態にあるときに前記判定基準を満たすと判定することを特徴とする部材割付システム。
【請求項7】
請求項1乃至6のいずれかに記載の部材割付システムにおいて、
前記探索制御手段は、前記シンプレックス演算手段に演算処理を依頼するという動作の繰り返し回数に上限を設けたことを特徴とする部材割付システム。
【請求項8】
請求項1乃至7のいずれかに記載の部材割付システムにおいて、
前記予め定めた割付け方法は、製品を横長の大きいものから順に配列し、原材料を横長の大きいものから順に配列して、ファーストフィット法で割付けを実行する処理か、製品を縦長の大きいものから順に配列し、原材料を縦長の大きいものから順に配列して、ファーストフィット法で割付けを実行する処理か、もしくは、製品を面積の大きいものから順に配列し、原材料を面積の大きいものから順に配列して、ファーストフィット法で割付けを実行する処理のいずれかであることを特徴とする部材割付システム。
【請求項9】
請求項1乃至8に記載の部材割付システムから出力される部材割り付けデータを受け入れて、前記m枚の製品を、順次供給される前記k種類の原材料から切り出すプレカット装置を備えたことを特徴とする部材加工装置。
【請求項10】
請求項9に記載の部材加工装置において、
前記2次元モデル条件を満たすかどうかの判定処理において、前記予め定めた割付け方法で割付け可能かどうかの判定結果を記憶装置に記憶しておき、前記判定結果を使用して、全ての原材料について、製品の割付け位置と原材料の切断位置と切断順とを含む、カッティング手順データを生成して出力することを特徴とする部材加工装置。
【請求項11】
コンピュータを、請求項1乃至8に記載の各手段として機能させる部材割付プログラム。
【請求項12】
コンピュータを、請求項1乃至8に記載の各手段として機能させる部材割付プログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項13】
それぞれ所定の長方形のm枚の製品を、それぞれ所定の長方形のk種類の原材料から切り出すときに必要な各種類の原材料の枚数を求め、各原材料に割り付ける製品の組合せを最適化する方法であって、
製品設定手段が、求められているm枚の製品の横長データと縦長データの入力を受け付けて、製品の横長を要素とするm次の製品横長ベクトルwpと、製品の縦長を要素とするm次の製品縦長ベクトルhpと、製品の面積を要素とするm次の製品面積ベクトルspと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させるステップと、
原材料設定手段が、用意されたk種類の長方形の原材料データの入力を受け付けて、原材料の横長を要素とするk次の原材料横長ベクトルwmと、原材料の縦長を要素とするk次の原材料縦長ベクトルhmと、原材料の面積を要素とするk次の原材料面積ベクトルsmと、原材料の種類番号を要素とするk次の原材料番号ベクトルnmとを生成し、記憶装置に記憶させるステップと、
2次元モデル条件生成手段が、割付け製品の面積は
割付け製品の面積は原材料面積ベクトルsmの要素のうちのいずれかの原材料の面積S以下であるとする第1評価条件(sp,aj)(内積)≦Sと、隣接する製品が重ならないとする第2評価条件
wpi+wpj≦wml または
hpi+hpj≦hml と、
割付パターンベクトルajが予め定めた割付け方法で割付け可能であるとする第3評価条件とを含む、2次元モデル条件を生成して、記憶装置に記憶させるステップと、
割付パターンベクトル生成手段が、求められている前記m枚の製品の製品横長データと製品縦長データとを用意された前記k種類の原材料の原材料横長データと原材料縦長データと比較して、1枚または複数枚の製品を経済的に割り付けることができる原材料と製品の関係を示す、m次の割付パターンベクトルajを列挙するステップと、
割付パターン行列生成手段が、前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させるステップと、
目的関数生成手段が、k種類の原材料から任意に選択したn枚の原材料に対して、それぞれm枚の製品のうちのいずれかの製品を割り付けたとき、選択したn枚の原材料の使用枚数を表すために、要素がxiのn次の使用枚数ベクトルxを定義し、
前記n枚の原材料それぞれに対応するn次の費用係数ベクトルfと前記使用枚数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させるステップと、
制約条件生成手段が、前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと緩和された第3制約条件式0≦xi≦1を生成して、記憶装置に記憶させるステップと、
初期設定手段が、前記予め定めた割付け方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶するステップと、
シンプレックス演算手段が、前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するステップと、
探索制御手段が、前記シンプレックス演算手段処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前期シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用枚数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの種類の原材料を何枚選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用枚数ベクトルの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として面材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用枚数の組合せの中から、目的関数の値が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件下で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御するステップを含むことを特徴とする部材割付方法。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate


【公開番号】特開2013−3617(P2013−3617A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−130797(P2011−130797)
【出願日】平成23年6月13日(2011.6.13)
【出願人】(000183428)住友林業株式会社 (540)
【出願人】(501195625)住友林業クレスト株式会社 (43)
【Fターム(参考)】