Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5000735B2 - 部材割付システム - Google Patents
[go: Go Back, main page]

JP5000735B2 - 部材割付システム - Google Patents

部材割付システム Download PDF

Info

Publication number
JP5000735B2
JP5000735B2 JP2010030975A JP2010030975A JP5000735B2 JP 5000735 B2 JP5000735 B2 JP 5000735B2 JP 2010030975 A JP2010030975 A JP 2010030975A JP 2010030975 A JP2010030975 A JP 2010030975A JP 5000735 B2 JP5000735 B2 JP 5000735B2
Authority
JP
Japan
Prior art keywords
raw material
vector
value
solution
constraint condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010030975A
Other languages
English (en)
Other versions
JP2011170408A (ja
Inventor
明宏 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Forestry Co Ltd
Original Assignee
Sumitomo Forestry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Forestry Co Ltd filed Critical Sumitomo Forestry Co Ltd
Priority to JP2010030975A priority Critical patent/JP5000735B2/ja
Publication of JP2011170408A publication Critical patent/JP2011170408A/ja
Application granted granted Critical
Publication of JP5000735B2 publication Critical patent/JP5000735B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Description

本発明は、部材割付システムと部材割付プログラムと記録媒体と部材割付方法と部材加工装置に関する。
住宅構造材のプレカットには、断面形状や樹種,等級、レイヤといった仕様ごとに数種類の長さ (主に3m〜6m)の原材料が用意される。そこから決められた長さの部材(製品)を切り出す。一般的な大きさの住宅の場合、梁、桁、土台など横架材とよばれる構造材には約20種類の仕様がある。製品の仕様ごとに用意された数種類の長さの原材料から、これらの構造材がそれぞれ平均10本、1棟分を合計すると約200本の製品が切り出される。製品の仕様と、製品のサイズと、切り出される原材料の組合せにより、原材料から切り落とされて無駄になる部分の量が異なる。そこで、部材割付方法を改善する技術が開発された(特許文献1参照)。
特許3565262号公報 特開2009−98924号
上記のような部材割付方法の計算の目的は、製品の仕様ごとに用意された数種類の長さの原材料群から要求製品をいかに少ない原材料(歩留最高)で切り出すかということにある。他にも、各種の技術が開発されているが、これらの技術を利用したプレカット工場での割付方法では概ね90%程度といわれている。一定の規格で設計生産される建物の場合には、原材料のサイズに適合する構造材のサイズを決めておくと、さらに歩留を向上させることができる。しかしながら、注文生産により多種多様の設計に基づき、構造材を原材料から切り出す場合には、さらに歩留を向上させる計算方法の開発が求められている。実際に、1%の歩留を向上させるだけでも、多量の廃棄物減量を図ることができる。
上記の特許文献2では、既存の部材割付方法の計算結果を利用して、製品の仕様ごとに用意された数種類の長さの原材料群から要求製品を切り出す組合せの最適化をする。特に、多数の組み合わせについて最適解を探索する場合に、その探索範囲を絞り込む技術を紹介している。本発明はさらに、探索を効率的に進めることにより、演算処理時間をより一層短縮する部材割付システムと部材割付プログラムと記録媒体と部材割付方法と部材加工装置を提供することを目的とする。
以下の構成はそれぞれ上記の課題を解決するための手段である。
〈構成1〉
それぞれ所定の長さのm本の製品を、それぞれ所定の長さのk種類の原材料から切り出すときに必要な各種類の原材料の本数を求め、各原材料に割り付ける製品の組合せを最適化するものであって、求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLpと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させる製品長設定手段と、用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLmを生成し、記憶装置に記憶させる原材料長設定手段と、求められている前記m本の製品の製品長データと用意された前記k種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトルを列挙する割付パターンベクトル生成手段と、前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させる割付パターン行列生成手段と、前記割付パターン行列に含まれたn個の割付パターンから選択して該当する原材料を選択する各要素がxiの使用本数ベクトルxを定義し、前記原材料長ベクトルLmに対応するm次の費用係数ベクトルと前記使用本数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させる目的関数生成手段と、前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと使用本数ベクトルxの各要素xiが0≦xi≦1であるという緩和した第3制約条件式を生成して、記憶装置に記憶させる制約条件生成手段と、任意の方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶させる初期設定手段と、前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するシンプレックス演算手段と、前記シンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前記シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用本数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの長さの原材料を何本選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用本数ベクトルxの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用本数の組合せの中から、目的関数が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御する探索制御手段を備え、前記xiが前記制約条件式を満たしながら0から1までの間の数値をとるとき、その最大値または最小値が一定値になる関数Σf(xi)を評価式に設定して、ピボット演算処理の結果複数の非整数解が得られたとき、これらの非整数解の関係を前記評価式を適用して比較する判定手段を備え、前記探索制御手段は、前記判定手段が一定の判定基準を満たすと判定した場合にはピボット演算処理を続行し、判定基準を満たさないと判定した場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開することを特徴とする部材割付システム。
〈構成2〉
構成1に記載の部材割付システムにおいて、前記判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、前記評価式Σf(xi)の値の最大値が一定値になる関数であるとき、後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて増加していれば、前記判定基準を満たすと判定することを特徴とする部材割付システム。
〈構成3〉
構成1に記載の部材割付システムにおいて、前記判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、前記評価式Σf(xi)の値の最小値が一定値になる関数であるとき、後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて減少していれば、前記判定基準を満たすと判定することを特徴とする部材割付システム。
〈構成4〉
構成1に記載の部材割付システムにおいて、順次得られた非整数解による前記評価式の値を焼き鈍し法を用いて比較をする判定基準により判定することを特徴とする部材割付システム。
〈構成5〉
構成1に記載の部材割付システムにおいて、非整数解であって局所最適解を通過した場合に、評価式の値がいったん減少してから増加に転じる状態にあるときに前記判定基準を満たすと判定することを特徴とする部材割付システム。
〈構成6〉
構成1乃至5のいずれかに記載の部材割付システムにおいて、前記第1制約条件式と第3制約条件式の制約条件の下で、前記シンプレックス演算処理を実行し、非整数解を伴う実行可能解が得られたときであって、別の新たな非整数解を求めるシンプレックス演算処理を繰り返すことを特徴とする部材割付システム。
〈構成7〉
それぞれ所定の長さのm本の製品を、それぞれ所定の長さのk種類の原材料から切り出すときに必要な各種類の原材料の本数を求め、各原材料に割り付ける製品の組合せを最適化する手段と、最適化された部材割り付けデータを受け入れて、前記m本の製品を、順次供給される前記k種類の原材料から切り出すプレカット装置とを備え、求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLpと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させる製品長設定手段と、用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLmを生成し、記憶装置に記憶させる原材料長設定手段と、求められている前記m本の製品の製品長データと用意された前記k種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトルを列挙する割付パターンベクトル生成手段と、前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させる割付パターン行列生成手段と、前記割付パターン行列に含まれたn個の割付パターンから選択して該当する原材料を選択する各要素がxiの使用本数ベクトルxを定義し、前記原材料長ベクトルLmに対応するm次の費用係数ベクトルと前記使用本数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させる目的関数生成手段と、前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと使用本数ベクトルxの各要素xiが0≦xi≦1であるという緩和した第3制約条件式を生成して、記憶装置に記憶させる制約条件生成手段と、任意の方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶させる初期設定手段と、前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するシンプレックス演算手段と、前記シンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前記シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用本数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの長さの原材料を何本選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用本数ベクトルxの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用本数の組合せの中から、目的関数が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御する探索制御手段を備え、前記xiが前記制約条件式を満たしながら0から1までの間の数値をとるとき、その最大値または最小値が一定値になる関数Σf(xi)を評価式に設定して、ピボット演算処理の結果複数の非整数解が得られたとき、これらの非整数解の関係を前記評価式を適用して比較する判定手段を備え、前記探索制御手段は、前記判定手段が一定の判定基準を満たすと判定した場合にはピボット演算処理を続行し、判定基準を満たさないと判定した場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開することを特徴とする部材加工装置。
〈構成8〉
コンピュータを、構成1に記載の各手段として機能させる部材割付プログラム。
〈構成9〉
コンピュータを、構成1に記載の各手段として機能させる部材割付プログラムを記録したコンピュータで読み取り可能な記録媒体。
〈構成10〉
それぞれ所定の長さのm本の製品を、それぞれ所定の長さのk種類の原材料から切り出すときに必要な各種類の原材料の本数を求め、各原材料に割り付ける製品の組合せを最適化する方法であって、製品長設定手段が、求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLpと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させるステップと、原材料長設定手段が、用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLmを生成し、記憶装置に記憶させるステップと、割付パターンベクトル生成手段が、求められている前記m本の製品の製品長データと用意された前記k種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトルを列挙するステップと、割付パターン行列生成手段が、前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させるステップと、目的関数生成手段が、前記割付パターン行列に含まれたn個の割付パターンをから選択して該当する原材料を選択する各要素がxiの使用本数ベクトルxを定義し、前記原材料長ベクトルLmに対応するm次の費用係数ベクトルと前記使用本数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させるステップと、制約条件生成手段が、前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする制約条件式Ax≧bと使用本数ベクトルxの各要素xiが0≦xi≦1であるという緩和した第3制約条件式を生成して、記憶装置に記憶させるステップと、初期設定手段が、任意の方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶させるステップと、シンプレックス演算手段が、前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するステップと、探索制御手段が、前記シンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前記シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用本数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択するステップと、前記探索制御手段が、前記制約条件生成手段に対して、どの長さの原材料を何本選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用本数ベクトルxの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼するステップと、前記探索制御手段が、前記制約条件で、シンプレックス演算手段に演算処理を依頼するステップと、前記探索制御手段が、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用本数の組合せの中から、目的関数が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御するステップと、判定手段が、前記xiが前記制約条件式を満たしながら0から1までの間の数値をとるとき、その最大値または最小値が一定値になる関数Σf(xi)を評価式に設定して、ピボット演算処理の結果複数の非整数解が得られたとき、これらの非整数解の関係を前記評価式を適用して比較するステップと、前記探索制御手段が、前記判定手段が一定の判定基準を満たすと判定した場合にはピボット演算処理を続行し、判定基準を満たさないと判定した場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開するステップを含むことを特徴とする部材割付方法。
制約条件を緩和して得られた複数の非整数解を、特定の評価式で評価するので、山登り法、ランダムリスタート法、焼き鈍し法等により、無駄な繰り返し演算を回避して、探索時間を短縮することができる。
実施例1の部材割付システム10のブロック図である。 部材割付システム10を構成するコンピュータのハードウエアブロック図である。 演算処理のパラメータを説明するための説明図である。 初回のシンプレックス演算処理動作フローチャートである。 1回目のシンプレックス演算終了後の演算処理のフローチャートである。 具体的な計算例の説明図で、(a)は割付パターンベクトルの説明図、(b)は原材料使用ベクトルcjの説明図である。 シンプレックス法演算処理により得られた非整数解の説明図である。 シンプレックス法演算処理により得られた次の非整数解の説明図である。 シンプレックス法演算処理により得られた整数解の説明図である。 評価式の意味の説明図である。 本発明の主要動作のフローチャートである。 製品と割付けパターンベクトルと使用本数ベクトルの説明図である。 非整数解と整数解の具体例説明図である。 部材加工装置のブロック図である。
本発明では、既存の任意の方法で得られた実用性のある解を基礎にして、それをシンプレックス法で評価し、さらに改善した解を求める。シンプレックス法は、線形計画問題の最適解を探索する方法として知られている。しかし、求められた製品長の種類や原材料の種類が数十種類にも及ぶと、組合せの数は数十万組を越えることがある。k種類の原材料から任意に選択したn本の原材料に対して、それぞれm種類の製品のうちのいずれかの製品を割り付ける、といった条件に基づいてそのまま演算処理のためのパラメータを作ると、最適値探索のためのシンプレックス演算処理に時間がかかりすぎるおそれがある。そこで、本発明では、シンプレックス法による演算処理のための制約条件を付加して、比較対象範囲の絞り込みをしながら、効率よく計算をする。そして、シンプレックス法によるピボット演算処理の過程で実行可能解が得られたときに、所定の評価式を使用してその後の見通しをたてる。その結果に応じて探索条件を変更し、無駄な演算処理を回避する。従って、探索のための演算処理時間を大幅に短縮できる。以下、本発明の実施の形態を実施例ごとに詳細に説明する。
図1は実施例1の部材割付システム10のブロック図である。
図の部材割付システム10は、コンピュータ12にインストールされたコンピュータプログラムにより動作する。このシステムは、例えば、コンピュータ12に対してネットワーク14を介して接続された端末装置16により利用される。端末装置16は、例えば、建物の構造材をプレカットするプレカット工場に設けられている。部材割付システム10は、この端末装置16からプレカットのための条件データを受け付けて、計算処理を実行してその結果を返す。端末装置16は、返された部材割付データを使用して、プレカット装置17を制御する。プレカット装置17には、例えば、特許文献1に記載されたとおりのものを使用することができる。
コンピュータ12には、演算処理装置20と記憶装置40とが設けられている。演算処理装置20には、図のように、製品長設定手段21、原材料長設定手段22、初期設定手段23、割付パターンベクトル生成手段24、割付パターン行列生成手段25、制約条件生成手段26、費用係数ベクトル生成手段27、目的関数生成手段28、シンプレックス演算処理手段29、探索制御手段30、及び判定手段31等のコンピュータプログラムがインストールされている。これらのコンピュータプログラムが連携して演算処理を実行する。
記憶装置40には、図のように、製品長ベクトルLp41、製品要求数量ベクトルb42、原材料長ベクトルLm43(または費用係数ベクトル)、初期実行可能解44、原材料使用予定数量ベクトルd45、割付パターン行列46、原材料使用行列C47、第1制約条件式48、第2制約条件式49、第3制約条件式50、目的関数51、組合せリスト52、部材割付データ53、及び評価式54等のデータが記憶されている。これらのデータは、予め外部から入力されるか、あるいは、上記のコンピュータプログラムの動作により生成されて、記憶装置40に記憶されるものである。続いて、これらのコンピュータプログラムと記憶装置40に記憶されるデータの具体的な説明をする。
図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により搬送され排出される。
図1に示した記憶装置40は、図2のROM112やRAM113やHDD114により構成される。図1に示した演算処理装置20は、図2のCPU111、ROM112、RAM113等により構成される。各種のデータは主としてHDD114に記憶されて保存される。CPU111が実行するコンピュータプログラムは、ROM112に記憶され、あるいはRAM113に適時ロードされる。端末装置16も同様の構成で構わない。ネットワーク14はインターネットでもイントラネットでも構わない。
図3は、演算処理のパラメータを説明するための説明図である。
この図を参照しながら、演算処理に使用するパラメータの定義と、上記の各コンピュータプログラムの機能を説明する。
[製品長ベクトルLp]
生産されるべき製品の数量をmとする。図の例では、m=7である。
製品長をLp1,Lp2,…,Lpmと表現する。単位は例えば、m(メートル)である。
m次の製品長ベクトルLp(行ベクトル)を下記のように定義する。
Lp=(Lp1,Lp2,…,Lpm)
但し、(Lp1≧Lp2≧…≧Lpm)
図の例では、Lp=(Lp1,Lp2,Lp3,Lp4,Lp5,Lp6,Lp7)である。
[製品要求数量ベクトルb]
数量mの製品の生産が要求されているとき、製品要求数量ベクトルbを、下記のように定義する。なお、この実施例では、計算を単純化するために、全てbi=1として説明をする。実際には、biは任意の正の整数でよい。
b=(b1,b2,…,bm)T
(上付きTは転置を表す。即ち、bは列ベクトルである。以下も同様)
図3(a)の例では、b=(1,1,1,1,1,1,1)Tである。
製品長設定手段21は、求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLp41と、製品要求数量を要素とする製品要求数量ベクトルb42を生成して、記憶装置40に記憶させる。
[原材料データ]
原材料にはk種類の長さのものが含まれている。図の例では、k=3である。
原材料長をLm1,Lm2,…,Lmkと表現する。単位は例えば、m(メートル)である。
k次の原材料長ベクトルLm(行ベクトル)を下記のように定義する。
Lm=(Lm1,Lm2,…,Lmk)
但し、(Lm1>Lm2>…>Lmk)
図3(b)の例では、Lm=(Lm1,Lm2,Lm3)である。
原材料長設定手段22は、用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLm43を生成し、記憶装置40に記憶させる。
[原材料使用予定数量ベクトルd]
原材料使用予定数量ベクトルd45(列ベクトル)は、実行可能なある解に対して、k種類の長さの材料がそれぞれ何本ずつ使用されるかを示す。これを下記のように定義する。
d=(d1,d2,…,dk)T
図3の例では、d=(d1,d2,d3)T=(1,2、1)Tである。原材料使用予定数量ベクトルd45は、後で説明する第3制約条件式で使用される。
[使用本数ベクトル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の場合である。
従って、同一の原材料を複数本使用するときは、必要数だけ、同一製品長を列挙した原材料長ベクトルLmを使用する。例えば、上記の具体例では、Lm1,Lm2,Lm2,Lm3と列挙された4本の原材料に対して、それぞれ求められている製品を割り付けた。このとき、最初のLm1に対してx1、2番目のLm2に対してx2、3番目のLm2に対してx3、4番目のLm3に対してx4を設定する。図の例では、x1=x2=x3=x4=1である。選択される原材料と選択されない原材料とを列挙したとき、選択される原材料に設定されるxiの値は1である。選択されない原材料に設定されるxiの値は0である。使用本数ベクトルxは制約条件式で使用される。この取り扱いは実施例3でより具体的に説明する。
[割付パターンベクトルaj]
いずれか1本の原材料から、数量mの製品のうちのいずれかを切り出すように割り付けたデータを、m次の割付パターンベクトルaj(列ベクトル)で表す。これを下記のように定義する。
aj=(a1,a2,…,am)T
下記に、図3(c)の例における割付パターンベクトルを示す。
Lm1にLp2とLp6をそれぞれ1本割付ける (0,1,0,0,0,1,0)T
Lm2にLp1を1本割付ける (1,0,0,0,0,0,0)T
Lm2にLp3とLp5をそれぞれ1本割付ける (0,0,1,0,1,0,0)T
Lm3にLp4とLp7をそれぞれ1本割付ける (0,0,0,1,0,0,1)T
上記の割付パターンベクトルajは、下式を満足するように生成される。
Lp・aj≦L (j=1,2,…,n)
この式の左辺の積(Lp・aj)は、選択された原材料に割り付けられた、1本の製品長もしくは複数本の製品長の総和である。割付パターンベクトルajを生成するときには、この長さを割り付けることができる最小長さLmiの原材料が選択される。Lは、その選択された原材料の長さLmiを示す。なお、実加工では、矩を出すためのハナ切り長、刃物厚が考慮されるが、ここでは無視する。
例えば、図の例でいえば、Lp3とLp5をそれぞれ1本割付けるとすると、原材料Lm1またはLm2のいずれにも割付ができる。しかし、Lm1>Lm2だから、割付対象をLm2というように原材料を選択する。こうして、経済的に割り付けできる関係を見つける。
図の例は、実行可能解に相当する一組の割付パターンベクトルを列挙した。シンプレックス法で最適解を求めるための準備として、必要に応じてシンプレックス演算処理の結果に基づき、割付パターンベクトルを列挙する。
割付パターンベクトル生成手段24は、求められているm本の製品の製品長データと用意されたk種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトル46aを生成し、記憶装置40に記憶させる。
[割付パターン行列]
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に記憶させる。
[第1制約条件]
割付パターン行列Aと使用本数ベクトルxとの積は、選択された各原材料から、それぞれ該当する割り付けパターンで切り出した製品数になる。従って、割付パターン行列Aから選択された原材料から該当する割り付けパターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならない。求められている各製品の数量は、製品要求数量ベクトルbに相当する。従って、少なくとも、下式を満足しないと、必要な数の製品が得られない。
Σaij・xj≧bi
なお、不等号が成立するときは作りすぎである。計算の便宜上、上記の不等式を制約条件とする。この制約条件式は、Ax≧bと表す。
図3の例では、生産された製品数も必要な製品数も7であって、等号が成立する。
制約条件生成手段26は、割付パターン行列Aから選択された原材料から該当する割り付けパターンで切り出した各製品数は、それぞれ求められている各製品の数量以上であるとする第1制約条件式を生成して、記憶装置40に記憶させる。
[原材料使用行列C]
k種類の原材料のうちのどの原材料を使用するかを示す、k次の原材料使用ベクトルcjを次のように定義する。これを図3(e)に示す。
cj=(c1j,c2j,…,ckj)T
但し、c1j,c2j,…,ckjはいずれも、0または1である。
上記のように、k種類の原材料から選択したn本の原材料を表すのに、原材料使用行列Cを用いる。これをcjをn個並べたk×n次の行列で定義する。
C=(cij)(i=1,2,…,k、j=1,2,…,n)
図の例で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を生成して、記憶装置に記憶させる。
[第2制約条件]
なお、cjはk種類の原材料のうちの一つを指定するベクトルだから、下式を満足する。
Σcij=1
k個の数字のうち1個だけが1で他は全て0ということである。
また、各原材料の長さは、割付けできる最小長さのものが選択される。
ΣLmi・cij=L
このLは、割付パターンベクトルの生成条件Lp・aj≦Lで示した値である。
また、既に定義したとおり、n本の原材料の使用本数ベクトルxは、x=(x1,x2,…,xn)であった。また、原材料使用予定数量ベクトルdは、原材料長さごとの使用数を示すものであった。
従って、下式の条件が満足されなければならない。
Σcij・xj=di(i=1,2,…,k)
この制約条件式は、Cx=dと表す。
これは、どの長さの原材料を何本選択して実際の割付に使用するかを定める。なお、Ax≧bとCx=dの制約条件の具体的な関係は、実施例3でより明確に説明をする。
制約条件生成手段26は、割付パターン行列生成手段25が生成した原材料使用行列Cと原材料の使用本数ベクトルxの積が、原材料使用予定数量ベクトルdと等しいとする第2制約条件式を生成して、記憶装置に記憶させる。
[第3制約条件]
上記の使用本数ベクトルxの各要素xiは0または1である。列挙された多数の割付パターンベクトルの中のいずれを選択するかどうかを決める意味をもつからである。従って、下式のような制約条件式が成立する。
xi∈{0,1}
なお、この実施例では、この制約条件を緩和する。即ち、0≦xi≦1という制約条件式を設定する。
制約条件生成手段は、使用本数ベクトルxの各要素xiが0≦xi≦1である旨を示す第3制約条件式を生成して、記憶装置に記憶させる。
[費用係数ベクトル]
長さの違う原材料ごとに、価格だけでなく、運搬費、保管費、加工賃等が異なる。計算に含めるべき全ての費用要素をn次の費用係数ベクトルfに含め、下記のように定義する。
f=(f1,f2,…,fn)
費用係数ベクトルfは選択されたn種類の原材料にのみ適用されるから、n次のベクトルになっている。なお、計算の便宜上、f1,f2,…,fnは、費用換算してしまい、単位を円とする。従って、目的関数値が小さいほど、少ないコストで製品を得ることができる。
原材料の価格が長さに比例する場合は、歩留が最高になる場合と総費用が最小になる場合とは同意である。しかし、単位長さ当たりの価格が原材料長により異なる場合には、費用係数を調整する。費用係数ベクトル生成手段27は、原材料長ベクトルLmの各要素に価格成分を含めてn次の費用係数ベクトルfを生成する。費用係数ベクトルfの要素fiは、単位が円のデータである。費用計数係数ベクトル生成手段27は原材料長ベクトルLmを費用係数ベクトルfで置き換えるようにすれば、以下は、費用係数ベクトルfを意識することなく演算処理ができる。
[目的関数]
この計算では、k種類の原材料から任意に選択したn本の原材料に対して、それぞれm種類の製品のうちのいずれかの製品を割り付ける。このとき、目的関数値が小さいほど少ないコストで製品を得ることができる。そこで、選択したn本の原材料にかかる費用の総和を示す目的関数を下記のように定義する。
Min Σfi・xi
目的関数生成手段28は、選択したn本の当該原材料にかかる費用の総和を示す目的関数を生成して、記憶装置に記憶させる。
[整数計画を連続緩和問題とする]
シンプレックス法による演算処理を実行するために、目的関数と制約条件を次のように定義する。
Min Σfi・xi
subject to. Ax≧b
Cx=d
0≦xi≦1
第1番目の式は、目的関数生成手段により生成された目的関数である。
第2番目の式は、制約条件生成手段により生成された第1制約条件式である。
第3番目の式は、制約条件生成手段により生成された第2制約条件式である。
第4番目の式は、制約条件生成手段により生成された第3制約条件式である。
目的関数は、選択したn本の当該原材料にかかる費用の総和を示す。
第1制約条件式は、割付パターン行列Aと使用本数ベクトルxと製品要求数量ベクトルbの関係を示す。
第2制約条件式は、原材料使用行列Cと原材料の使用本数ベクトルxと原材料使用予定数量ベクトルdの関係を示す。
第3制約条件式は、xiが0以上1以下であることを示す。
初期設定手段23は、任意の方法で取得した任意の初期実行可能解44を受け付ける。そして、シンプレックス演算処理のためのパラメータを生成する。任意の方法とは、例えばFirst Fit法、特許文献1に記載された方法等である。初期実行可能解は、上記の割付パターン行列A46から選択される割付パターンベクトルを指定する原材料の使用本数ベクトルxで表すことができる。これも、実施例3でより具体的に説明をする。最初のシンプレックス演算処理のために入力するパラメータは、目的関数Σfi・xiと第1制約条件式Ax≧bと第3制約条件式0≦xi≦1を構成するデータである。
探索制御手段30は、シンプレックス演算処理手段に対して、Cx=dの制約条件を除外したパラメータを入力して最初の演算処理を実行させる。シンプレックス演算処理手段は、目的関数の値を改善するようにシンプレックス表の基底変数を変更して解を出力する。第3制約条件式0≦xi≦1は、xi∈{0,1}という制約条件を緩和したものである。従って、解には、xi=0.5といった整数以外のものが含まれる場合もある。また、目的関数の値が同一の解が複数存在することもある。
探索制御手段30は、得られた解の中に、xiの値が0または1のいずれかであって、それ以外のものを含まない解を検出する。検出されたときは、その解を最適解として、部材割付データ53を生成して、処理を終了する。それ以外の場合には、探索制御手段は、次のシンプレックス演算処理のためのパラメータを再生成する。まず、初期設定をした実行可能解の目的関数の値F0を最大値に設定する。初期設定の解を改善するのが目的だからである。また、最初のシンプレックス演算処理で得られた解の目的関数の値F1を最小値に設定する。条件を緩和して得られた解であるから、そのときの目的関数値が限界値と判断する。
次に、探索制御手段30は、目的関数の値がF1以上、F0未満となる、原材料の本数の組合せを列挙して、組合せリストを生成する。これは、原材料使用予定数量ベクトルdに該当する。この組合せリストの中から目的関数の値が最小のものを次候補に選定する。この具体例は実施例3で説明するが、制約条件生成手段26は、第2制約条件式Cx=dを生成する。目的関数や割付パターンベクトル等のパラメータに変更があれば第1制約条件式Ax≧bも生成する。その後、探索制御手段30は、シンプレックス演算処理手段29に対して、生成したパラメータを入力して演算処理を実行させる。第3制約条件式0≦xi≦1は変更しない。
その結果、得られた解に、xiの値がいずれも0または1であって、それ以外の値を含まないものを検出する。検出されたときは、その解を最適解とする。この探索処理のための演算時間を短縮するために、後で説明するような評価式を用いた制御を実行する。最適解が得られないときには、原材料の本数の組合せのリスト中で、目的関数の値が上記の次候補と同値のものがあれば、それを次候補に選定する。なければその次に小さいものを次候補に選定する。そして、前回と全く同様にして、第2制約条件式Cx=dを生成し、パラメータを変更して、シンプレックス演算処理手段に対して、生成したパラメータを入力して演算処理を実行させる。
こうして、シンプレックス演算処理を繰り返して、最適解を探索する。なお、原材料の本数の組合せのリストが多数生成されたときは、原材料の本数の組合せの選択回数に上限を設けて、一定回数以上探索しても最適解がみつからなければ、初期実行可能解を最適解として、部材割付データ53を出力するとよい。また、以上の演算処理では、割付パターン行列Aと使用本数ベクトルxと製品要求数量ベクトルbの関係を示す制約条件を使用したので、シンプレックス演算処理のパラメータに製品長が含まれず、計算が煩雑にならない。また、各要素が0または1のみの値をとる原材料の使用本数ベクトルxが基底変数になるようにパラメータを設定し、0≦xi≦1という緩和した制約条件でシンプレックス演算処理を実行するので、最適解が得られない場合でも目的関数の最小値を得て、探索範囲を限定することができる。
図4は、初回のシンプレックス演算処理動作フローチャートである。
これらの図を用いて、上記のシステムを制御するコンピュータプログラムの実施例を説明する。
ステップS11では、原材料長設定手段22が原材料データの受け付けをする。端末装置16から、使用される全ての原材料長データの入力を受け付けて、原材料長ベクトルLm43に対応するデータを生成し、記憶装置40に記憶させる。ステップS12では、製品長設定手段21が、製品長と数量の入力受け付けをする。端末装置16から、求められている製品長データの入力を受け付けて、製品長ベクトルLp41と製品要求数量ベクトルb42に対応するデータを生成し、記憶装置40に記憶させる。
ステップS13では、初期設定手段23が初期実行可能解44の入力を受け付ける。その結果は 記憶装置40に記憶される。ステップS14では、割付パターンベクトル生成手段24が、製品長ベクトルLp41や原材料長ベクトルLm43等を比較して、割付パターンベクトルの生成をする。割付パターンベクトルは、記憶装置40に記憶される。続いて、ステップS15で、割付パターン行列生成手段25が割付パターン行列46の生成をして、記憶装置40に記憶させる。次に、ステップS16で、制約条件生成手段26が、第1制約条件式48、第2制約条件式49、第3制約条件式50を生成して、記憶装置40に記憶させる。
ステップS17では、費用係数ベクトル生成手段27が費用係数ベクトルの生成をし、ステップS18では、目的関数生成手段28がその費用係数ベクトルを使用して目的関数51の設定をする。その結果が記憶装置40に記憶される。次に探索制御手段30が、ステップS19で、後で説明するように最初の演算用パラメータをシンプレックス演算処理手段29に入力する。ステップS20では、この演算用パラメータを使用したシンプレックス演算を実行する。解が得られたら探索制御手段30は、ステップS21で、整数解かどうかという判断をする。この判断の結果がイエスのときは最適解であるから、ステップS23で部材割付データを出力して処理を終了する。ノーのときはステップS22の処理に移行する。ステップS22では、探索制御手段30が、図5に示した手順で、シンプレックス法による演算を制御する。
図5は、1回目のシンプレックス演算終了後の演算処理のフローチャートである。
このフローチャートの動作は、探索制御手段30が制御し、シンプレックス演算処理手段29が実行する。まず、ステップS31で、初期実行可能解から、目的関数の最大値の設定をする。次に、ステップS32では、図4のステップS20の演算処理結果から、目的関数の最小値を設定する。次にステップS33で、設定された目的関数の範囲で、原材料の組合せリストの生成をする。その結果を目的関数の小さいものから並べて記憶装置40に記憶させる。ステップS34では、組合せリストの中から、目的関数値が最小のものを選択する。さらに、ステップS35では、制約条件生成手段26に依頼をして、後で説明するように制約条件の設定をする。
また、ステップS36では、目的関数生成手段28に依頼をして、目的関数の設定をする。ステップS37でシンプレックス演算を実行する。ステップS38では、探索制御手段30が、整数解が得られたかどうかという判断をする。この判断の結果がイエスのときはこの処理を終了して、図4のステップS23に進む。一方、ノーのときはステップS39の処理に移行する。ステップS39では、予め設定されたW回だけ、ピボット演算処理を繰り返したかどうか判断する。W回は上限値である。これにより、長時間探索をしても、解が得られない場合に、処理を中止する。即ち、ステップS40で、初期実行可能解を演算処理結果として出力する。繰り返し回数がW回に満たないときは、ステップS34に戻り、次に大きい目的関数値となる組合せリストを選択して、再度シンプレックス演算処理を実行する。以上の処理により、コンピュータプログラムは自動的に最適解を探索する。本発明では、上記のステップS37における探索動作に後で説明するような特殊な制御を行う。
図6から図11までは、特許文献2に記載の具体的な計算例の説明図である。
(原材料データ)
例えば、用意された原材料は5種類である。その長さは下記のとおりとする。長さの単位は0.1mm(ミリメートル)である。
Lm1=60000
Lm2=49000
Lm3=45000
Lm4=40000
Lm5=30000
(製品長データ)
求められている製品は7本で、その長さは下記のとおりとする。長さの単位は0.1mm(ミリメートル)である。
Lp1=53050
Lp2=44350
Lp3=30700
Lp4=26250
Lp5=21050
Lp6=17840
Lp7=17150
(割付パターンベクトル)
図6の(a)は、割付パターンベクトルの説明図である。
図の最も左側の上から下に向かう縦1列に、上記の7種類の製品長が列挙されている。また、最も上段の左から右に向かう横1列に、原材料長が列挙されている。各原材料長の下の縦一列が、それぞれ割付パターンベクトルである。例えば、原材料長が45000のものには、製品長が44350のものを1本割り付けることができる。例えば、原材料長が49000のものには、製品長が30700と17840のものを各1本割り付けることができる。この表には、この要領で、7本の製品の製品長データと5種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す7次の割付パターンベクトルを列挙した。ここで、x1〜x5は初期実行可能解から得られた割付パターンベクトルで、x6〜x18は、最初のシンプレックス演算処理の結果に基づき追加生成した割付パターンベクトルである。
x1〜x18は、原材料の使用本数ベクトルxの各要素である。それぞれその下側に表示した長さの原材料を該当する割付パターンで使用するかどうかを、0または1の数値で表示する。x1〜x18の値が0のときはその原材料を使用しない、1のときは使用することを示す。この原材料の使用本数ベクトルxにより、列挙された割付パターンベクトルのうちのいずれを選択するかを表示する。
(目的関数)
説明を簡略化するために、費用係数ベクトルfの各要素を原材料長と一致させる。すなわち、長さの数値をそのまま円と読み替える。
図6(a)の原材料長の右側の18個の数値が、費用係数ベクトルfの要素である。従って、最初のシンプレックス演算処理で、初期値として入力する実行可能解の目的関数Σ(fi・xi)の値は、x1〜x5の使用原材料長の総和で、233000となる。以下の計算ではこれを改善する解を求めるのだから、目的関数の上限値を233000に定める。
(原材料使用行列C)
図6の(b)は、同図(a)の各割付パターンベクトル対応する原材料使用ベクトルcjを示す。x1〜x18の割付パターンベクトルが選択されたときに使用される原材料を示している。従って、原材料使用ベクトルcjと原材料の使用本数ベクトルxの積は、各原材料長の原材料の使用本数の内訳を示す。
図7と図8は、後で具体的に説明するシンプレックス法演算処理により得られた非整数解の説明図である。
図7と図8の表では、解の値が0の割付パターンベクトルの表示を除外した。即ち、図7は、x4=x1=x16=1、x12=x9=x3=0.5で、他は0という解である。図8は、x4=x1=1、x2=x9=x10=x16=x3=0.5で、他は0という解である。例えば、図7の例では、原材料長が60000,45000,49000のものを各1本、原材料長が40000,49000,45000のものを各0.5本使用すると、目的関数値が221000になるという結果が得られた。たしかに、目的関数値は初期値よりも小さい。しかしながら、xi∈{0,1}という制約条件を0≦xi≦1というように緩和したので、xi=0.5という、実行不可能な解が得られた。
本発明では、上記の解が得られたときの目的関数値を、最適値の下限値に設定する。即ち、初期実行可能解を改善することを目的とするから、目的関数値の初期値を最大値233000に設定し、最初のシンプレックス演算処理により得られた目的関数値221000を最小値に設定する。この範囲に最適値があるとし、再度探索をする。ここで、原材料を任意の本数だけ組合せて、目的関数値が221000以上、233000より小さい値になる場合を列挙する。例えば、組合せを選択しながら集計する演算処理結果を昇順にソートすればよい。
全ての組合せを列挙する必要はない、原材料長の和、即ち、目的関数値が小さいものから順に列挙しながら、第2回目以降のシンプレックス演算処理を実行し、実行可能解、即ち、最適解が得られたら処理を終了すればよい。従って、例えば、No.1〜No.10位までの組み合わせを列挙し、探索範囲を十分に狭めてシンプレックス演算処理を実行することにより、演算処理時間を短縮することができる。図9でそれを例示する。
図9は、最終的に得られた整数解の例を示す説明図である。
図9(a)は、No.1〜No.10の組み合わせと目的関数値の例を示す。図9(b)は得られた整数解の例を示す。
No.1では、原材料長49000が3本、45000が1本、30000が1本、という組合せにする。No.2では、原材料長49000が2本、45000が1本、40000が2本、という組合せにする。No.3では、原材料長49000が1本、45000が1本、40000が1本、30000が3本という組合せにする。No.4では、原材料長60000〜30000の全てが1本という組合せにする。最大値までは30とおり以上の組み合わせがあるが、まず、ここまで列挙して探索演算処理を開始する。
No.1〜3やNo.5の組み合わせでは、使用する原材料長の最大値が49000だから、製品長53050の製品は明らかに得られない。これらは演算対象から除外する。その他の組み合わせについて、上記の演算処理を繰り返す。これにより、原材料の本数の組合せのNo.4で、シンプレックス表の基底変数xiが全て0または1の整数解が得られた。原材料長が、60000.40000.45000.30000.49000のものを各一本選択すれば、それぞれに切り出す製品全てを割り付けることができる。これにより、原材料長の総和が224000になる。初期実行可能解の原材料長の総和は233000であったから、9000だけ、原材料を節約できる割付パターンを見つけることができた。この列挙した組み合わせを示すデータを、部材割付データとして出力し、端末装置に送信する。
(シンプレックス演算処理)
以下、さらに具体的に、シンプレックス演算処理の過程を説明する。
まず、初期実行可能解の目的関数の値の最大値と最小値とを定める方法から説明する。
始めに、既知の任意の方法で求めた初期実行可能解をシンプレックス演算処理手段29にセットする。これを、例えば、以下のような取り合わせとする。単位は0.1mm(ミリメートル)である。これは、図6で説明したものと変わらない。
原材料長45000から製品44350をとる。
原材料長49000から製品30700と17840をとる。
原材料長49000から製品26250と21050をとる。
原材料長60000から製品53050をとる。
原材料長30000から製品17150をとる。
シンプレックス演算処理手段29には、図6に示したとおりの、初期値を設定する。
fi(f1〜f5)は、最上段の横方向に5個配列した原材料長である。
x1〜x5は全て「1」である。
左側の列には、製品長が7種類、長い物から順に並べてある。
その右側の7行5列(全て1または0)の数値が、割付けパターン行列Aである。
ここで、目的関数をΣfi・xiとし、制約条件を(Ax≧b)および、0≦xi≦1と設定して、シンプレックス演算処理手段29を起動する。
シンプレックス演算処理手段29は条件を満たす実行可能解を求めるように動作する。初期設定が実行可能解であるから、必ず初期設定どおりの初期解を出力する。
この演算処理の解は、x=(1,1,1,1,1)T
である。
即ち、(x1,x2,x3,x4,x5)T
=(1,1,1,1,1)T
である。
また、目的関数値は233000である。上記の初期値のfiを集計した値である。
これは、目的関数の値の最大値である。他に実行可能解がみつからない場合には、初期設定値が最適値となる。
この演算処理は、シンプレックス乗数πを求めるために行われる。これは予備処理である。
このシンプレックス乗数に基づき、初期解を改善できる割付けパターンベクトル群を選択することができる。即ち、考えられる割付けパターンベクトルは多数あるが、この処理で、そのうち、初期解を改善する可能性のある割付けパターンベクトルだけを追加することができる。初期解を改善するというのは、目的関数Σfi・xiの値をより小さくできるということである。
その結果、13種類の割付けパターンベクトルを追加することができる。例えば、10番目の割付けパターンベクトルは、図6では、x10および原材料長4000という表示の下側の縦方向の列(0000101)T
である。これにより、新たな7行18列の割付けパターン行列Aがシンプレックス演算処理手段29に設定される。
今度は、目的関数をΣfi・xiとし、制約条件を(Ax≧b)とし、xiは0≦xi≦1というように条件を緩和して、シンプレックス演算処理手段29を起動する。
シンプレックス演算処理手段29は、ピボット演算処理により、割付けパターン行列Aの中からいずれかの割付けパターンを選択して、上記の条件を満たす解、即ち、実行可能解を求める。xiの条件を緩和したから、xiが0.5という値を含む実行可能解が得られる。xiが全て0または1の整数である解を整数解と呼び、いずれかのxiが0でも1でもない解のことを非整数解と呼ぶことにする。
シンプレックス演算処理手段29は、目的関数Σfi・xiの値を小さくするようにピボット演算処理を実行する。そして、実行可能解を求めてその結果を出力する。出力された実行可能解で整数解が得られていれば、それは最適値である。従って、その後の処理にはすすまずに、演算処理を終了する。
一方、出力された実行可能解で非整数解が得られたときは、そのときの目的関数Σfi・xiの値を次の演算処理に使用する。即ち、図7の例では、このときの解は、原材料長40000と49000と45000とをそれぞれ0.5本使用するというもので、目的関数Σfi・xiの値は221000である。これを下限値とする。その結果は図7に示したとおりである。以上で、目的関数の値の最大値と最小値とを求めることができた。
上記の演算処理で、目的関数の値の最大値233000と最小値221000との間を探索して、最適値を求めればよいという方針ができた。そこで、この範囲に含まれる原材料の組み合わせを求める。下式の条件を満たせばよい。
221000≦Σfi・xi<233000
Σfi・xiが小さいほどよいから、組み合わせた原材料の長さの総和が少ないものから順位を付ける。そして、この順番に次の演算処理を実行する。特許文献2は、このようにして探索範囲を狭めて、演算処理時間を短縮する技術を示した。
次に、目的関数をΣfi・xiとし、制約条件を(Ax≧b)とし、xiは0≦xi≦1とし、さらに、原材料の組み合わせが一定という制約条件(Cx=d)を追加して、シンプレックス演算処理手段29を起動する。割付パターン行列Cは前回と同様の7行18列である。例えば、最初は原材料の長さの総和が222000から演算処理を開始する。このときの原材料の組み合わせは、60000が0本、49000が3本、45000が1本、40000が0本、30000が1本である。
dは5行1列で(0,3,1,0,1)T
という内容になる。
なお、この例では、目的関数の最小値221000と等しくなる原材料の組み合わせが存在しないので、原材料の長さの総和が222000から演算処理を開始する。シンプレックス演算処理手段29は、18種類の割付パターンベクトルの中から、制約条件を満たす実行可能解を求める。
(評価式)
ところで、実際には、例えば、製品の種類が38種類で各1本、原材料長の種類は3種類といった場合に、割付けパターンベクトルの数は526個になる。また、原材料長の種類が1種類であっても、製品の種類が200種類になると、割付けパターンベクトルの数は4247個になる。このような場合に、上記の条件でシンプレックス演算処理手段29による演算処理を実行させると、数千回とか数十万回のピボット演算を繰り返して実行可能解を求める処理をすることになる。
ある製品を1個切り出すために最も経済的な原材料長は一意的に求められる。複数の製品を組み合わせて切り出すために最も経済的な原材料長も一意的に求められる。既に説明したLp・aj≦Lの式を満たす最も経済的な原材料長を求めればよい。即ち、原材料長と製品長とが決まれば、全ての場合の割付けパターンベクトルを自動的に生成することができる。原材料長と割付けパターンベクトルの組み合わせに重複はない。シンプレックス演算処理手段29は、制約条件を満たす割付けパターンベクトルの組み合わせを、重複を避けながら総当たり的に探索する。従って、割付けパターンベクトルの数を最小限に絞り込むことができれば、演算処理時間を短縮できる。一方、例えば、後で説明するように、シンプレックス乗数に基づいて、割付けパターンベクトルの数を絞り込むことができる場合もある。
また、シンプレックス演算処理手段29は、制約条件を満たす割付けパターンベクトルの組み合わせを、既知のシンプレックスタブローを使用したピボット演算により、探索する。使用する原材料の組み合わせが一定という制約条件を与えると、シンプレックス演算処理手段29は、割付けパターンベクトルの組み合わせを少しずつ変更しながら、xの値が制約条件を満たす実行可能解を見付ける。このピボット演算の過程で得られる非整数解の出現順に規則性はない。ピボット演算開始時の初期条件が異なると、全く異なる過程でピボット演算が実行され、非整数解の出現順も変わる。最短時間で整数解に到達する最適な初期条件を見付ける方法は無い。運の悪いときには何万回ピボット演算を繰り返しても整数解が得られないことがある。
整数解が得られる前に、複数の非整数解が得られることもある。多数の非整数解が得られても、最後まで整数解が得られないこともある。最後まで整数解が得られなかったときは、条件設定をした原材料の組み合わせで最適解は無いということである。実施例2では、ピボット演算の繰り返し回数がW回に達したときに探索を打ち切って、別の原材料の組み合わせを選択するようにした。しかしながら、非整数解が出力されたときのシンプレックスタブローから得られる相対費用係数を監視すると、探索方針を決めることができる。相対費用係数が全部正の数になったときには、これ以上、実行可能解は無いと判断してよい。また、相対費用係数に一つでも0(ゼロ)が含まれていれば、実行可能解が他にもあると判断できる。従って、探索を続行するとよい。既出の実行可能解が出力されたときには全ての場合について演算処理を終了したと判断してよい。
しかしながら、割付けパターンベクトルの数が多い場合や、原材料の組み合わせの種類が多い場合には、シンプレックス演算処理手段29による演算処理時間が膨大になるおそれがある。そこで、本発明では、複数の非整数解が得られたときに、以下に定義する評価式を用いて、その後の演算処理の結果を予測する。即ち、ピボット演算処理の結果、複数の非整数解が得られたとき、これらの非整数解を特定の評価式を適用して比較し、一定の判定基準を満たす場合にはピボット演算処理を続行する。判定基準を満たさない場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開する。また、あるいは、同一制約条件での演算処理を中止し、別の原材料の組み合わせを制約条件に設定する。
図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)というように定義することができる。
図10は、評価式の意味の説明図である。
f(xi)をxiの2乗と定義して、評価式の意味を説明する。この評価式は、複数の非整数解が得られたときに、原材料の使用本数ベクトルxの要素xiの値の変化を観察するためのものである。即ち、それぞれの解に含まれる全てのxiが整数に近づく方向にピボット演算が進んでいるかを判定することができる。概略的には、次のような理論になる。
例えば、使用本数x=(x1、x2)とする。また、原材料の組み合わせCを(1、1)とする。前者は列ベクトル、後者は行ベクトルである。(Cx=d)だから、x1+x2=1である。この場合、図10(a)に示すように、x1軸とx2軸の直交座標上で、x1軸の切辺の座標が1でx2軸の切辺の座標が1の直線上に実行可能解があるということができる。直線の両端の白丸は整数解、中央の黒丸は非整数解になる。(b)には、縦軸に評価式の値を示し、横軸にx1とx2の値を示した。
図10の(b)に示したのは使用本数ベクトルxの要素がx1とx2の場合の解空間である。評価式の最大値は1、最小値は0.5である。ベクトルxの要素数が増えると解空間はこの図よりもさらに複雑になる。しかも、ピボット演算により求められる非整数解や整数解の出力順序も複雑である。従って、ある条件でピボット演算を開始して、順番に出力される実行可能解により得られる整数解あるいは非整数解の評価式の値は、図10(c)に示すように変遷する。黒丸が非整数解によるもので、白丸が整数解によるものである。
ここで、例えば、シンプレックス演算処理手段29による演算処理が開始されて、所定のタイミングで、実行可能解R1が得られたとする。さらにその後、実行可能解R2が得られたとする。いずれも非整数解である。両者の評価式の値を比較すると、後から得られた非整数解の値が減少している。ここでさらにピボット演算を続行しても、評価式の値は減少していき、すぐに整数解には近づかないと判定する。そこで、このタイミングで初期条件を変更する。即ち、ピボット演算の開始点を変更する。
この演算処理では、目的関数をΣ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からピボット演算を再開することができる場合がある。もちろん、他の任意の方法でピボット演算開始のための初期条件を変更できればよい。
タイミングt1からピボット演算を再開すると、その後、実行可能解R3が得られる。さらにその後、実行可能解R4が得られたとする。いずれも非整数解である。ここで、両者の評価式の値を比較すると、その値が増加している。このとき、さらにピボット演算を続行すれば、評価式の値は増加していき、整数解に近づく可能性が高いと判定する。こうした判断を、図1に示した判定手段31が実行する。図10(c)の例では、その後無事に白丸で示した整数解に到達することができる。
しかしながら、実際には、同じ設定条件で演算処理を続行しても、必ず整数解が得られるとは限らない。従って、例えば、評価式の値が増加した後に整数解が得られないまま減少し始めたら、極大値を通過したものと判断して、別の上昇曲線を求めて設定条件を変更するとよい。例えば、費用係数fiの値を全て0の状態から全て1の状態まで順番に切り替えて、ピボット演算を繰り返せばよい。
以上の処理により、複数の非整数解が得られたときに、その後ピボット演算を続行しても良い結果が得られないと判断したら、その状態を回避し、別の条件からピボット演算を開始するようにして、演算処理時間を短縮することができる。また、例えば、初期条件を変更しても評価式の値が増加する傾向がみられない場合には、この制約条件での整数解は無いと判断して、原材料の組み合わせの制約条件(Cx=d)を変更して、演算処理を再開するとよい。
評価式の値が増加していく場合にのみピボット演算を続行するのは、既知の局所探索法でいう山登り法と呼ぶことができる。そして、ランダムに初期条件を変更するのをランダムリスタート法と呼ぶことができる。さらに、上記の評価式を利用して、既知の焼き鈍し法により、整数解を探索することができる。また、非整数解であって局所最適解を通過した場合に、評価式の値がいったん減少してから増加に転じる状態にあるときピボット演算を続行する方法も有効である。以上のように判定基準を定めて、図1に示した判定手段31が、ピボット演算を続行するかどうかの判定をする。図1に示した探索制御手段30は、この判定手段の判定に従って、探索を制御する。
(動作フロー)
図11は、本発明の主要動作のフローチャートである。
この図を用いて、評価式を使用した演算処理の具体的な手順を説明する。まず、図のステップS51では、原材料本数の組み合わせを選択する。次に、ステップS52で、上記の制約条件式を用いた制約条件の設定をする。ステップS53では、初期条件の設定をする。この初期条件とは、ピボット演算の開始時の条件のことで、例えば、費用係数を全てゼロに設定する。ステップS54でシンプレックス演算処理を起動する。ステップS55では、ピボット演算を実行する。ピボット演算を繰り返してステップS56で、実行可能解の出力をする。ステップS57では、整数解かどうかという判断をする。この判断の結果がイエスのときは最適解であるから処理を終了する。ノーのときはステップS58の処理に移行する。
ステップS58では、ピボット演算の終了かどうかという判断をする。これは、既に説明したように、実行可能解が無いと判断された場合である。この判断の結果がイエスのときは最初のステップS51の処理に移行し、制約条件の再設定を行う。ノーのときはステップS59の処理に移行する。ステップS59では、非整数解を評価式に当てはめる演算処理をする。ステップS59〜61の演算は判定手段31(図1)が実行する。ステップS60では、評価式の値の履歴を比較して判定をする。即ち、例えば、前回の非整数解について、演算をした評価式の値を記憶装置に記憶させておき、今回のものと比較する。また、数回連続して得られた非整数解について、演算をした評価式の値を記憶装置に記憶させておき、今回のものと比較する。ステップS61では、既に説明したような判定基準を使用して、ピボット演算を続行するかどうかという判断をする。この判断の結果がイエスのときはステップS56の処理に移行して、ステップS56〜61を繰り返す。一方、ノーのときはステップS62の処理に移行して、費用係数の変更をする。そして、ステップS54に戻る。即ち、新たな初期条件で、ピボット演算を再開する。
図12は、ピボット演算を155回繰り返したときの、割付パターンベクトルと使用本数ベクトルの関係を示す説明図である。図13は、その過程での非整数解と整数解の具体例説明図である。
シンプレックス演算処理手段29によるピボット操作を最初から数えて155回繰り返して、図の第1の実行可能解を得た。
その非整数解は、x27の割り付けパターンの材料が1本、x17の割り付けパターンの材料が0.5本、x88の割り付けパターンの材料が0.5本・・・というような内容である。
ここで、Σf(xi)を計算する。使用本数ベクトルに、1が16個,0.5が12個含まれている。従って、Σf(xi)は19である。
さらに、シンプレックス演算処理手段29によるピボット操作を繰り返すと、最初から数えて157回目に新たな実行可能解を得た。上記の155回目も156回目も非整数解が得られたが、その評価式による値は増加し続けた。従って、上記の判定手段の判定により、ピボット演算を続行した。
一方、原材料の種類を一種とし、製品の種類を200種としたとき、割付パターンベクトルは4247種類生成された。同様にしてシンプレックス演算処理を実行させたところ、最初の実行可能解を得るまでに1783回のピボット演算が行われた。評価式を使用しないで、そのままピボット演算を続行したところ、443183回までピボット演算をしても、整数解は得られなかった。一方、上記の評価式を使用して探索を実行したところ、94808回までピボット演算をして、整数解を得ることができた。即ち、本発明の方法により、十分に演算処理時間を短縮できることがわかった。
図14は、部材加工装置のブロック図である。
以上の処理により、部材割付データ53が得られた。これは、プレカット工場でプレカット装置17に供給される。原材料は図14に示した順に選択されて、対応する割付パターンで切り分けられ、製品が得られる。この実施例では、初期実行可能解の場合の歩留まりが0.903であったものが、改善後に0.939になった。大量の原材料に大量の製品を割り付けて切り出すプレカット工場では、このように、約1%の歩留まり改善ができただけで多額のコストダウンが可能になる。また、廃棄物量を1%減少させることができれば、廃棄物処理のための設備や費用も節約することができる。上記の例では、原材料の種類や要求される製品の種類や量を単純化したが、多種多様の原材料と製品とを取り扱えばさらに従来法では到達できなかったレベルまで大幅な歩留まりの改善を見込むことができる。
なお、使用原材料長の総和の最小値を求めるために、最初に、第1制約条件式と第3制約条件式の制約条件の下でシンプレックス演算処理を実行した。このとき、非整数解を伴う実行可能解が得られたら、そのときの目的関数値を使用原材料長の総和の最小値に設定した。しかしながら、上記のように、同一制約条件の下で、非整数解が複数回得られることがある。そこで、別の新たな非整数解が得られる可能性があり、原材料の本数を組み合わせて、その目的関数値と等しくなる組合せがある限り、その制約条件下で、シンプレックス演算処理を繰り返すことが好ましい。
上記の演算処理装置で実行されるコンピュータプログラムは、機能ブロックで図示した単位でモジュール化されてもよいし、複数の機能ブロックを組合せて一体化されてもよい。また、上記のコンピュータプログラムは、既存のアプリケーションプログラムに組み込んで使用してもよい。本発明を実現するためのコンピュータプログラムは、例えばCD−ROMのようなコンピュータで読み取り可能な記録媒体に記録して、任意の情報処理装置にインストールして利用することができる。
10 部材割付システム
12 コンピュータ
14 ネットワーク
16 端末装置
20 演算処理装置
21 製品長設定手段
22 原材料長設定手段
23 初期設定手段
24 割付パターンベクトル生成手段
25 割付パターン行列生成手段
26 制約条件生成手段
27 費用計数係数ベクトル生成手段
28 目的関数生成手段
29 シンプレックス演算処理手段
30 探索制御手段
31 判定手段
40 記憶装置
41 製品長ベクトルLp
42 製品要求数量ベクトルb
43 原材料長ベクトルLm
44 初期実行可能解
45 原材料使用予定数量ベクトルd
46 割付パターン行列
46a 割付パターンベクトル
47 原材料使用行列C
48 第1制約条件式
49 第2制約条件式
50 第3制約条件式
51 目的関数
52 組合せリスト
53 部材割付データ
54 評価式

Claims (10)

  1. それぞれ所定の長さのm本の製品を、それぞれ所定の長さのk種類の原材料から切り出すときに必要な各種類の原材料の本数を求め、各原材料に割り付ける製品の組合せを最適化するものであって、
    求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLpと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させる製品長設定手段と、
    用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLmを生成し、記憶装置に記憶させる原材料長設定手段と、
    求められている前記m本の製品の製品長データと用意された前記k種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトルを列挙する割付パターンベクトル生成手段と、
    前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させる割付パターン行列生成手段と、
    前記割付パターン行列に含まれたn個の割付パターンから選択して該当する原材料を選択する各要素がxiの使用本数ベクトルxを定義し、前記原材料長ベクトルLmに対応するm次の費用係数ベクトルと前記使用本数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させる目的関数生成手段と、
    前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと使用本数ベクトルxの各要素xiが0≦xi≦1であるという緩和した第3制約条件式を生成して、記憶装置に記憶させる制約条件生成手段と、
    任意の方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶させる初期設定手段と、
    前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するシンプレックス演算手段と、
    前記シンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前記シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用本数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの長さの原材料を何本選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用本数ベクトルxの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用本数の組合せの中から、目的関数が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御する探索制御手段を備え、
    前記xiが前記制約条件式を満たしながら0から1までの間の数値をとるとき、その最大値または最小値が一定値になる関数Σf(xi)を評価式に設定して、ピボット演算処理の結果複数の非整数解が得られたとき、これらの非整数解の関係を前記評価式を適用して比較する判定手段を備え、
    前記探索制御手段は、前記判定手段が一定の判定基準を満たすと判定した場合にはピボット演算処理を続行し、判定基準を満たさないと判定した場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開することを特徴とする部材割付システム。
  2. 請求項1に記載の部材割付システムにおいて、
    前記判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、前記評価式Σf(xi)の値の最大値が一定値になる関数であるとき、
    後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて増加していれば、前記判定基準を満たすと判定することを特徴とする部材割付システム。
  3. 請求項1に記載の部材割付システムにおいて、
    前記判定手段は、前記xiが前記制約条件を満たしながら0から1までの間の数値をとり、前記評価式Σf(xi)の値の最小値が一定値になる関数であるとき、
    後から得られた非整数解による前記評価式の値が先に得られた非整数解による前記評価式の値に比べて減少していれば、前記判定基準を満たすと判定することを特徴とする部材割付システム。
  4. 請求項1に記載の部材割付システムにおいて、
    順次得られた非整数解による前記評価式の値を焼き鈍し法を用いて比較をする判定基準により判定することを特徴とする部材割付システム。
  5. 請求項1に記載の部材割付システムにおいて、
    非整数解であって局所最適解を通過した場合に、評価式の値がいったん減少してから増加に転じる状態にあるときに前記判定基準を満たすと判定することを特徴とする部材割付システム。
  6. 請求項1乃至5のいずれかに記載の部材割付システムにおいて、
    前記第1制約条件式と第3制約条件式の制約条件の下で、前記シンプレックス演算処理を実行し、非整数解を伴う実行可能解が得られたときであって、別の新たな非整数解を求めるシンプレックス演算処理を繰り返すことを特徴とする部材割付システム。
  7. それぞれ所定の長さのm本の製品を、それぞれ所定の長さのk種類の原材料から切り出すときに必要な各種類の原材料の本数を求め、各原材料に割り付ける製品の組合せを最適化する手段と、最適化された部材割り付けデータを受け入れて、前記m本の製品を、順次供給される前記k種類の原材料から切り出すプレカット装置とを備え、
    求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLpと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させる製品長設定手段と、
    用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLmを生成し、記憶装置に記憶させる原材料長設定手段と、
    求められている前記m本の製品の製品長データと用意された前記k種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトルを列挙する割付パターンベクトル生成手段と、
    前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させる割付パターン行列生成手段と、
    前記割付パターン行列に含まれたn個の割付パターンから選択して該当する原材料を選択する各要素がxiの使用本数ベクトルxを定義し、前記原材料長ベクトルLmに対応するm次の費用係数ベクトルと前記使用本数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させる目的関数生成手段と、
    前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする第1制約条件式Ax≧bと使用本数ベクトルxの各要素xiが0≦xi≦1であるという緩和した第3制約条件式を生成して、記憶装置に記憶させる制約条件生成手段と、
    任意の方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶させる初期設定手段と、
    前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するシンプレックス演算手段と、
    前記シンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前記シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用本数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択して、前記制約条件生成手段に対して、どの長さの原材料を何本選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用本数ベクトルxの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼し、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用本数の組合せの中から、目的関数が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、この新たな制約条件で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御する探索制御手段を備え、
    前記xiが前記制約条件式を満たしながら0から1までの間の数値をとるとき、その最大値または最小値が一定値になる関数Σf(xi)を評価式に設定して、ピボット演算処理の結果複数の非整数解が得られたとき、これらの非整数解の関係を前記評価式を適用して比較する判定手段を備え、
    前記探索制御手段は、前記判定手段が一定の判定基準を満たすと判定した場合にはピボット演算処理を続行し、判定基準を満たさないと判定した場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開することを特徴とする部材加工装置。
  8. コンピュータを、請求項1に記載の各手段として機能させる部材割付プログラム。
  9. コンピュータを、請求項1に記載の各手段として機能させる部材割付プログラムを記録したコンピュータで読み取り可能な記録媒体。
  10. それぞれ所定の長さのm本の製品を、それぞれ所定の長さのk種類の原材料から切り出すときに必要な各種類の原材料の本数を求め、各原材料に割り付ける製品の組合せを最適化する方法であって、
    製品長設定手段が、求められているm本の製品の製品長データの入力を受け付けて、製品長を要素とするm次の製品長ベクトルLpと、製品要求数量を要素とする製品要求数量ベクトルbとを生成して、記憶装置に記憶させるステップと、
    原材料長設定手段が、用意されたk種類の長さの原材料長データの入力を受け付けて、原材料長を要素とするk次の原材料長ベクトルLmを生成し、記憶装置に記憶させるステップと、
    割付パターンベクトル生成手段が、求められている前記m本の製品の製品長データと用意された前記k種類の原材料の原材料長データとを比較して、1本または複数本の製品を経済的に割り付けることができる原材料と製品との関係を示す、m次の割付パターンベクトルを列挙するステップと、
    割付パターン行列生成手段が、前記割付パターンベクトル生成手段の生成した割付パターンベクトルを並べた割付パターン行列Aを生成して、記憶装置に記憶させるステップと、
    目的関数生成手段が、前記割付パターン行列に含まれたn個の割付パターンをから選択して該当する原材料を選択する各要素がxiの使用本数ベクトルxを定義し、前記原材料長ベクトルLmに対応するm次の費用係数ベクトルと前記使用本数ベクトルxの積の総和を示す目的関数を生成して、記憶装置に記憶させるステップと、
    制約条件生成手段が、前記割付パターン行列Aから選択されたn個の割付パターンで切り出した各製品数は、それぞれ求められている各製品の数量以上でなければならないとする制約条件式Ax≧bと使用本数ベクトルxの各要素xiが0≦xi≦1であるという緩和した第3制約条件式を生成して、記憶装置に記憶させるステップと、
    初期設定手段が、任意の方法で求められた初期実行可能解の入力を受け付けて、記憶装置に記憶させるステップと、
    シンプレックス演算手段が、前記初期実行可能解と前記目的関数と前記制約条件式の入力を受け付けて、シンプレックス演算処理を実行するステップと、
    探索制御手段が、前記シンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、前記初期実行可能解の目的関数の値を最大値とし、前記シンプレックス演算処理の結果得られた目的関数の値を最小値として、その範囲の目的関数の値をとる原材料の使用本数の組合せを列挙し、その中から目的関数が前記最小値に近いものを選択するステップと、
    前記探索制御手段が、前記制約条件生成手段に対して、どの長さの原材料を何本選択して割付けに使用するかを定める、原材料使用行列Cと原材料の使用本数ベクトルxの積が原材料使用予定数量ベクトルdと等しいとする第2制約条件式Cx=dの生成を依頼するステップと、
    前記探索制御手段が、前記制約条件で、シンプレックス演算手段に演算処理を依頼するステップと、
    前記探索制御手段が、その後得られたシンプレックス演算処理により、xiの値が0または1のいずれかであって、それ以外のものを含まない解のときは、その解を最適解として部材割付データを出力し、それ以外の場合には、列挙された前記原材料の使用本数の組合せの中から、目的関数が前記最小値に近い次の候補を選択して、前記制約条件生成手段に対して、新たな第2制約条件式Cx=dの生成を依頼し、前記第1制約条件式と前記第2制約条件式と前記第3制約条件式の制約条件下で、シンプレックス演算手段に演算処理を依頼するという動作を繰り返すように制御するステップと、
    判定手段が、前記xiが前記制約条件式を満たしながら0から1までの間の数値をとるとき、その最大値または最小値が一定値になる関数Σf(xi)を評価式に設定して、ピボット演算処理の結果複数の非整数解が得られたとき、これらの非整数解の関係を前記評価式を適用して比較するステップと、
    前記探索制御手段が、前記判定手段が一定の判定基準を満たすと判定した場合にはピボット演算処理を続行し、判定基準を満たさないと判定した場合には、ピボット演算処理を開始するときの初期条件を変更してピボット演算処理を再開するステップを含むことを特徴とする部材割付方法。
JP2010030975A 2010-02-16 2010-02-16 部材割付システム Expired - Fee Related JP5000735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010030975A JP5000735B2 (ja) 2010-02-16 2010-02-16 部材割付システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010030975A JP5000735B2 (ja) 2010-02-16 2010-02-16 部材割付システム

Publications (2)

Publication Number Publication Date
JP2011170408A JP2011170408A (ja) 2011-09-01
JP5000735B2 true JP5000735B2 (ja) 2012-08-15

Family

ID=44684505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010030975A Expired - Fee Related JP5000735B2 (ja) 2010-02-16 2010-02-16 部材割付システム

Country Status (1)

Country Link
JP (1) JP5000735B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5983976B1 (ja) * 2016-01-18 2016-09-06 株式会社Jls 部材割付システムと部材割付プログラムと記録媒体と部材加工装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492800B (zh) * 2017-11-24 2023-05-02 华东理工大学 一种用于自动化仓库的车辆路径优化方法
JP7147243B2 (ja) * 2018-04-23 2022-10-05 日本製鉄株式会社 スケジュール作成装置、方法及びプログラム
JP6890765B2 (ja) * 2018-06-27 2021-06-18 株式会社Jls 部材割付システム
JP7526155B2 (ja) * 2021-10-12 2024-07-31 Jfeスチール株式会社 最適化問題求解装置及び最適化問題求解方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3565262B2 (ja) * 1999-09-20 2004-09-15 住友林業株式会社 部材割付け方法及び部材割付け加工装置
JP4427302B2 (ja) * 2003-11-12 2010-03-03 三菱重工業株式会社 プラント保守計画生成システム、プラント保守計画の生成方法
JP4909869B2 (ja) * 2007-10-17 2012-04-04 住友林業株式会社 部材割付システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5983976B1 (ja) * 2016-01-18 2016-09-06 株式会社Jls 部材割付システムと部材割付プログラムと記録媒体と部材加工装置

Also Published As

Publication number Publication date
JP2011170408A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
Alagöz et al. Rescheduling of identical parallel machines under machine eligibility constraints
Chen et al. An alternative framework to Lagrangian relaxation approach for job shop scheduling
JPH06202882A (ja) 複数のタスク及びジョブのスケジューリング方法
JP5000735B2 (ja) 部材割付システム
US7552067B2 (en) System and method supply chain demand satisfaction
CN111861412B (zh) 面向完成时间优化的科学工作流调度方法及系统
CN112328395B (zh) 一种云资源容量规划方法和系统
JP5838047B2 (ja) 部材割付システム
CN115689246B (zh) 用于确定排产计划的方法、装置、存储介质及处理器
US20180039514A1 (en) Methods and apparatus to facilitate efficient scheduling of digital tasks in a system
De CM Nogueira et al. Hybrid GRASP heuristics to solve an unrelated parallel machine scheduling problem with earliness and tardiness penalties
JP2017514247A5 (ja)
Das et al. Workload uncertainty characterization and adaptive frequency scaling for energy minimization of embedded systems
JP4909869B2 (ja) 部材割付システム
CN103455131B (zh) 一种基于概率的嵌入式系统中能耗最小化的任务调度方法
Goux et al. Solving large MINLPs on computational grids
CN118093126A (zh) 任务调度方法、装置、系统、服务器及存储介质
Beaumont et al. Minimizing weighted mean completion time for malleable tasks scheduling
US20150381520A1 (en) Data set multiplicity change device, server, data set multiplicity change method and computer redable medium
JP6470209B2 (ja) サーバ、システム及び探索方法
Meolic et al. Flexible job shop scheduling using zero-suppressed binary decision diagrams
CN108268316A (zh) 作业调度的方法及装置
JP2009098924A5 (ja)
CN119166278B (zh) 一种面向在线训练的算力资源弹性分配系统
Abouee-Mehrizi et al. Exact analysis of capacitated two-echelon inventory systems with priorities

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120516

R150 Certificate of patent or registration of utility model

Ref document number: 5000735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees