【実施例1】
【0022】
図1はプレカットラインの制御データ生成装置の実施例を示すブロック図である。
図1において、プレカットライン14には各種の機能を持つ加工ユニット16と搬送装置18等が設けられている。このプレカットライン14に材料12を投入して製品22を製造する。プレカットライン14中の加工ユニット16と搬送装置18の運転を制御装置20が制御する。制御装置20の演算処理装置30は、動作模擬手段32と制御データ出力手段34とを備えている。
【0023】
また、制御装置20の記憶装置38には、制御データ40と加工データ42と加工ユニットの諸元44と搬送装置の諸元46と加工時間48と搬送時間50とメイクスパン52等が記憶されている。なお、
図1には、実施例1で説明する主要なモジュール(手段)とデータのみを表示した。
【0024】
プレカットライン14に投入される1種類または2種類以上の材料12は、それぞれ
1種類または2種類以上の製品に切り分けられる。プレカットライン14の複数の加工ユニット16の間は、搬送装置18により接続されている。各加工ユニット16は、材料12を切り分けたり、材料12に仕口やほぞ加工を施したりする処理を行う。各材料12には、それぞれ個別に切り分けられる製品22が割付けられている。製品22の加工データ42は、製品毎に、それぞれその加工内容を示すデータである。
【0025】
加工ユニットの諸元44とは、プレカットライン14中に配置された各加工ユニット16の詳細な性能を示すデータである。材料12は、例えば、いずれかの加工ユニット16で切り分けられ、その半製品は次の加工ユニット16まで搬送されて加工され、それぞれ必要な加工が施されて製品22となる。
【0026】
本発明では、例えば、建物一棟分の材料をこのように、プレカットライン14を使用してまとめて製造される一群の製品を製造するための、最初の材料12の投入開始から、全ての製品22が排出されるまでの時間をメイクスパン52と呼んでいる。材料12の投入順26によりメイクスパン52が相異するとき、メイクスパン52が最短の材料12の投入順26を選択して採用する。そのために、模擬(シミュレーション)により算出したメイクスパン52と材料12の投入順26が生成されて制御装置20の記憶装置38に記憶され、その後任意の手段で出力される。
【0027】
上記の動作模擬手段32は、この模擬処理を実行するモジュールである。制御データ生成手段34は、生成された制御データをプレカットライン14に対して出力し、これを制御するモジュールである。材料12は、一群の製品毎に投入順26が設定される。
【0028】
上記の制御装置20は、加工ユニット16群と搬送装置18群とで構成するプレカットライン14に、材料12を順番に投入し、材料12を、加工ユニット16群で製品22に加工し、搬送装置18群で加工ユニット16群間を搬送して、排出するための制御データを生成する。
【0029】
動作模擬手段32は、まとめて製造される一群の製品の加工データ42と加工ユニット16群の諸元と搬送装置18群の諸元とから、材料12の加工ユニット16群での加工時間48と、加工ユニット16群間の搬送時間50を算出する。さらに、プレカットライン14に材料12を、所定の投入順を定めて投入し、加工ユニット16群で加工し、搬送装置18群で半製品を順次搬送し、最終的に全ての製品22を排出する動作を模擬する。この処理により、まとめて製造される一群の製品のメイクスパン52を算出する。
【0030】
動作模擬手段32は、複数種類の投入順26を設定して、それぞれメイクスパン52を算出し、メイクスパン52が最短となる投入順26を選択する。この投入順26が制御データ40に組み込まれてプレカットライン14が制御される。
【0031】
図2は、プレカットライン14の具体的な構造を示すブロック図である。
プレカットライン14に対して、予め定めた投入順26に材料12が投入されると、最初に材料12を加工する加工ユニット16は、搬送されてきた材料12の材料コードを読み取って、その材料12に対してあらかじめ割り付けられた製品22を製造するための切り分けを行う。
【0032】
切り分けられた半製品は、その後に続く1台あるいは複数台の加工ユニット16で、仕口やほぞ穴等の加工処理がされて、排出口17から排出される。各加工ユニット16は、搬送されてきた半製品の製品コードを読み取って、必要な加工処理を行う。
【0033】
プレカットライン14には
図2の(a)に示すように、加工ユニット16と搬送装置18とが並んでいる。各搬送装置18は加工ユニット16の直前で半製品を待機させ、加工ユニット16が現在の加工処理を終えると次の半製品を送り込む。全ての加工ユニット16が搬送されてきた半製品を同じ時間で加工処理するわけではない。各加工ユニット16の負荷にばらつきがあると、負荷の大きな加工ユニット16の直前の搬送装置18に半製品が滞留するおそれがある。
【0034】
そこで、半製品の流れが円滑になるように、
図2の(b)に示すように、ラインの一部に同じ機能を持つ加工ユニット16を複数設けて、加工処理を分担することが行われる。さらに、各加工ユニット16の負荷を分散させるために、
図2(c)に示すように、プレカットライン14に投入される材料12を複数の加工ユニット16で受け入れて、半製品の流れを複数にすることも行なわれる。
【0035】
図3は材料の投入順と製品の加工順の関係を示す説明図である。
上記のようなプレカットライン14は、予め建物一棟分のプレカット材を製造するための材料12を投入順に並べて投入し、排出された製品22を梱包して出荷するといった作業の多くが自動化されている。
【0036】
図3に示すように、材料コード43と製品コード41とが関係付けられており、材料毎に製品が固定的に割付けられている。そして、製品コード41毎に、その製品の加工方法を示す加工データ42が関係付けられている。ここで、加工ユニット16に対して投入順1で材料を投入した場合と、投入順2で材料を投入した場合とでは、加工される製品の順番が変わる。加工され搬送される製品や半製品の種類が変わると、各加工ユニットや搬送装置を通過する時間が相異する。その場合に、加工ユニットが一つの半製品を加工して、次の半製品を加工するまでの待ち時間等が変わるから、結果としてメイクスパンに差が生じる。
【0037】
各加工ユニット16が受け入れる材料12や半製品の種類が多種の場合には、画一的に各加工ユニット16の負荷を平均化することが難しいことがある。そこで、これからプレカットライン14を使用して製造する一群の製品を製造するための材料12が、プレカットライン14の各加工ユニット16で加工される場合に、全ての半製品の流れを、コンピュータにより時間を追って模擬(シミュレーション)する。
【0038】
模擬をするときは、まず、材料の複数種類の投入順のうちのいずれかを選択し、投入される材料と半製品の、時間の経過とともに変化するプレカットライン上の予定位置や、各加工ユニットの加工時間や、各搬送装置の搬送時間を、時系列で算出するとよい。例えば、
図3に示すようにして、各材料から切り分けられた全ての製品の流れを時系列で追って、最後に加工される製品の排出されるタイミングを算出する。
【0039】
これにより、最初の材料12の投入開始から、全ての製品22が排出されるまでの時間が求められ、メイクスパンが算出できる。さらに、どの加工ユニット16でどの半製品を加工すると最もメイクスパン52が短くなるかを計算により求める。このとき、材料12の投入順26を各種変更した場合についても、模擬を実行して、その結果に基づいて最もメイクスパン52が短くなる投入順26を決定する。なお、この装置で、一群の製品毎に、予め最小のメイクスパンはどの程度の時間になるかを試算することができる。例えば、プレカットラインのユーザは、より高精度のメイクスパンの生成にこの装置を利用することができる。一群の製品の生産コストを試算するための実効的なメイクスパンを得るためである。そのときは、材料の投入順は記憶装置に記憶させるだけにして、計算結果からメイクスパンのみを出力すればよい。
【0040】
(模擬の方法)
図4は模擬の方法を説明する説明図である。
模擬には、遺伝アルゴリズムを採用する。遺伝子54には材料コードを付す。材料コードとは一群の製品を製造する場合に投入される全ての材料12(N本)をそれぞれ区別するために付与される重複しない番号等(n1,n2,n3......nN)のことである。染色体58は、材料12の投入順26を特定したデータである。遺伝子座56は染色体58中の遺伝子54の位置を示すデータである。即ち、遺伝子座56は遺伝子54の個数(N個)だけあって、遺伝子54の配列を特定する。
【0041】
染色体58は、1つの個体60の固有の遺伝子配列を示すデータである。それぞれ固有の染色体58を持つ個体60を親個体62にして、子個体64を生成する。選択処理68、交差処理70、突然変異処理72を繰り返して世代交代を実行する。親個体60、62の遺伝子配列の一部を引き継いだ次世代の子個体64、66、68のうち、メイクスパン52の短いものを選択して次世代の親個体にして、世代交代を繰り返す。得られるメイクスパン52の値が収束してきたとき、その結果を最適値とし、該当する材料の投入順26を選択する。
【0042】
即ち、上記の制御装置20は、プレカットライン14に投入する材料12を指定する遺伝子54と、その遺伝子54を材料12の投人順に整列した遺伝子座56を有する染色体58を生成し、その染色体58を1つの個体を示すデータとし、記憶装置38に記憶させる。そして、材料12の投入順26を変えた遺伝子座56を有する複数の染色体58を生成し、複数の個体60を示すデータとして記憶装置38に記憶させる。
【0043】
その後、記憶装置38に記憶させた個体のうちのいずれか2個の個体を親個体60、62として選択処理し、その後、交差処理70、または突然変異処理72を適用して、複数の子個体64〜66等を生成し記憶装置38に記憶させる。そして、メイクスパン52が短くなるような材料12の投人順に整列した遺伝子座56を有する個体を選択して世代交代をさせる。その結果得られたより短いメイクスパンの材料投入順をプレカットラインの制御データにする。
【0044】
交差処理72においては、両方の親個体60と62の一部の配列を承継した子個体64、65を生成する。突然変異処理72においては、いずれかの子固体に対して遺伝子座56の任意の2つの遺伝子54を交換して新たな子個体66を生成する。
選択処理においては親個体と子個体の表す投入順のメイクスパンの短いものから親個体と同数
を選択して、次世代とする。以上の処理により、最も効率よくプレカットライン14を稼働させることができる投入順を選択する。
【0045】
さらに具体的には、動作模擬手段32は、例えば、次のような処理を実行する。まず、初期の個体集団(第1世代)をランダムにM個生成する。次に、そのM個の個体集団から2個の親個体をランダムに選択する。これは上記の選択処理に該当する。次に、2個の親個体から上記の交叉処理で子個体をM個つくる。
【0046】
なお、得られたM個の子個体のうちいくつかに突然変異処理を行う。例えば、設定値を10%とし、設定した数の子個体について、上記の突然変異処理を実行する。こうして、親個体がM個、子個体がM個で合わせて2M個の個体について、メイクスパンを算出する。この計算の結果からメイクスパンを短い順に並べる。そして、短い方からM個の個体を取り出して、次世代(第2世代)とする。このような世代交代を繰り返すと、いずれの個体もメイクスパンの差がほとんど無くなる程度に収束する。この差が無視できる程度の収束判定基準を定めておいて、収束判定基準に達したとき模擬計算を終了する。そして、最小あるいは最小に近い個体の中から、染色体を参照して材料の投入順を選択するとよい。
【0047】
図3に示したように、材料コード毎に切り分ける製品を特定している。各材料は、加工ユニットにおいて、列挙された製品コード順に切り分けられる。これらの製品コードの列挙された順番を変更しても、歩留には影響しない。従って、材料の投入順の最適化に加えて、製品コードを列挙する順列を考慮したメイクスパンを算出するとさらに効率化が期待できる。動作模擬手段32が、製品コードの順列を種々変更した場合について、計算をおこなえばよい。
図2(b)のようなラインでは、加工ユニットを選ぶ必要がある。この場合には、搬送経路を種々変更した場合について、計算をおこなえばよい。
【実施例2】
【0048】
図5は実施例2の処理を実行する場合の記憶装置38と演算処理装置30の構成例を示す。
図6はその動作を示すタイムチャートである。
図1に示した制御装置20の記憶装置には、材料位置82と半製品位置83と残加工時間84と残搬送時間86と投入タイミング88と排出タイミング90と時間遅れ92といったデータを記憶して処理を行う。演算処理装置30には、状態検出手段36を追加した。状態検出手段36は、プレカットライン14中の材料位置82や半製品位置83や、各加工ユニット16や搬送装置18の状態を検出するモジュールである。
【0049】
一群の製品の製造中に、なんらかの原因でプレカットライン14中の材料や半製品の流れが、当初の模擬結果どおりのタイミングからシフトして、予定したメイクスパン52では製造が終わらなくなる場合がある。即ち、材料12の投入順26を最適化したはずの工程の生産性が悪化してしまうことがある。
【0050】
この実施例では、一群の製品の製造開始から全ての製品22が排出されるまで、材料12の投入タイミング88やプレカットライン14中の半製品の流れを一定時間ごとに検出する。そして、模擬結果と大きく相異が生じたとき、プレカットライン14に新たに投入される残りの材料12について、その投入順26の最適化を行なうことができるように、模擬を実行する。
【0051】
このとき、プレカットライン14の各所には既に材料12や半製品が流れているから、投入順26を切換えるときのプレカットラインの現在の状態を初期値に設定する。従って、製造開始時の場合とは異なる条件で模擬を実行することになる。
【0052】
即ち、まず、既に説明した要領で最適化した材料12の投入順26を算出し、この投入順で一群の製品の加工を開始する。なお、その際に、予め、一群の製品22の加工のために設定した材料12の投入順26で、投入後の材料12及び半製品22のプレカットライン14上の予定位置と、各加工ユニット16の残加工時間84と、各搬送装置18の残搬送時間86とを時系列で算出して記憶装置38に記憶させておく。このとおりプレカットラインが稼働していれば予定どおりに全ての製品の製造が完了する。
【0053】
その後、一群の製品22の加工を開始した後、材料12の投入タイミング88もしくは製品22の排出タイミング90、または一定の周期で、材料12及び半製品22のプレカットライン14上の現在位置と、各加工ユニット16の残加工時間84と、各搬送装置18の残搬送時間86とを検出する。
【0054】
この検出結果と記憶装置に記憶させた予定とを比較すれば、順調に稼働しているかどうかを判断できる。即ち、検出処理をするたびに、記憶装置38に記憶させた材料12の予定位置と検出した材料12の現在位置とを比較して、時間遅れを所定の閾値と比較する。
【0055】
この比較の結果、閾値以上の時間遅れ92を生じていると判定したときには、プレカットライン14に新たに投入される残りの材料12に、同種のものが複数本あるかどうかを判断する。同じ形状で同じ樹種の材料であっても、それぞれ割付けられている製品が相異すると、その投入順を変更しただけでメイクスパンが増減することがある。
【0056】
そこで、同種のものが複数本あると判断したときには、検出した材料12及び半製品22の位置と残加工時間84と残搬送時間86とを初期値として、既に説明したとおりの模擬により、複数種類の投入順26でそれぞれ前記メイクスパン52を算出する。そして、メイクスパン52が最短になる投入順26を選択して、投入順26を変更する。これよ
り、図6に示すように、切換前は初期の材料投入順で製品を製造し、切換後は新たな材料投入順で製造をして、全体として生産効率を高めることができる。
【0057】
なお、プレカットラインに投入する材料は、最初に設定された順序で投入できるように、投入順に並べられている。これをロポットアーム等により並べ替えてプレカットに投入することができればそれでよい。しかしながら、同種の材料であれば、コンピュータのデータ処理上で、投入された材料の材料コードを変更できる。即ち、実際に材料を並べ替えなくても、材料コード43と製品コード41の行を並べ替えるというデータ処理により、材料の投入順を変えたと同様の処理ができる。例えば、
図3で説明した材料コード43と製品コード41の行を並べ替えたデータを、並べ変えた材料の投入順として加工ユニットに供給すればよい。
【実施例3】
【0058】
上記の実施例2の機能を備えていると、例えば、ある建物一棟分の材料を供給して製品の製造を開始後、所定のタイミングで、別の建物一棟分の製品製造を開始することができる。プレカットラインの各加工ユニットを最大限に有効に活用するためである。
【0059】
この場合には、一群の製品22の加工終了以前であって、材料12を全て投入した後の状態で、実施例2と同様に、材料12の投入タイミング88もしくは製品22の排出タイミング90、または一定の周期で、材料12及び半製品22のプレカットライン14上の現在位置と、各加工ユニット16の残加工時間84と、各搬送装置18の残搬送時間86とを検出する。
【0060】
そして、検出した材料12及び半製品22の位置と残加工時間84と残搬送時間86とを初期値として、既に説明したとおりの模擬により、新たに材料12を投入する別の一群の製品22について、複数種類の投入順26でそれぞれメイクスパン52を算出して、メイクスパン52が最短になる投入順26を選択することができる。
加工ユニット故障時には、使用禁止、搬送禁止など考慮してもよい。
【0061】
図7は実施例2の装置の制御動作フローチャートである。
まず、ステップS11で、材料12の投入順を選択する。次に、ステップS12で、
図3で説明した時系列データの記憶をする。ステップS13でプレカットラインを始動する。ステップS14では材料の投入をする。ステップS15では、一群の製品製造のための全ての材料の投入が終了したかどうかという判断をする。この判断の結果がイエスのときはその後、全ての製品が排出されるまでプレカットラインをそのまま運転すればよい。
【0062】
ステップS15でまだ投入すべき材料が残っている場合には、ステップS16の処理に移行する。なお、この制御は、材料投入順の見直しのためのものだから、材料の残り数が少なくなった場合には、見直しが不要になる。従って、ステップS15で、材料の残り数が閾値以下になったらステップS16に進まないという制御でもよい。ステップS15で続行というのは、投入した材料を使用した製品の製造が終了するまでプレカットラインを稼働し続けるという意味である。
【0063】
ステップS16では、材料と半製品の現在位置の検出をする。ステップS17では、各加工ユニットの残加工時間の算出をする。ステップS18では、各搬送装置の残搬送時間の算出をする。ここで、ステップS19で、材料の投入遅れは閾値以上かどうかという判断をする。この閾値は、投入順の見直しをすべきレベルかどうかを判断するための適当な値に設定するとよい。
【0064】
ステップS19の判断の結果がイエスのときはステップS20処理に移行し、ノーのときはステップS14の処理に戻る。投入順見直しのためのステップS20では、ステップS16〜18の検出等の結果を初期値に設定する。そして、ステップS21で、模擬を実行し、ステップS22では、最小のメイクスパンを検出する。ステップS23で材料の投入順を変更して、ステップS14に戻り、変更後の投入順でプレカットラインの制御を続行する。
【0065】
図8は実施例3の装置の制御動作フローチャートである。
ここでは、最初の一群の製品群のための材料投入終了を待って、次の一群の製品群の材料を投入する。このとき、プレカットラインの現状値を模擬の初期値することが重要だから、現状値を取得してから模擬を実行して材料の投入順を選択し、その後、材料の投入を開始する。
【0066】
まず、ステップS31では、直前の一群の製品群の材料投入は終了したかどうかという判断をする。この判断の結果がイエスのときはステップS32の処理に移行し、ノーのときは待機する。ステップS32では、材料と半製品の現在位置の検出をする。ステップS33では各加工ユニットの残加工時間の算出をする。ステップS34では、各搬送装置の残搬送時間の算出をする。
【0067】
ステップS32〜34で、プレカットラインの現在の状態を検出した。ステップS35では、その結果を利用して初期値設定をする。そして、ステップS36で模擬を実行し、ステップS37で最小のメイクスパンの検出をする。その結果、ステップS38で材料の投入順を選択する。ステップS39では、実施例2の制御のために、模擬で得た時系列データの記憶をする。その後、ステップS40で、次製品群の材料投入を開始する。その後は、プレカットラインによる製品の製造を続行すればよい。次に製造する別の一群の製品があれば、
図7の制御を再開してもよい。