説明

工程設計支援装置

【課題】本発明は、より最適な工程フローの設計解を短時間で設計することができる工程設計支援装置を提供することを目的とする。
【解決手段】本発明に係る工程設計支援装置は、工程グルーピング部104、工程グループフロー生成部105、および工程フロー生成部106を備えている。工程グルーピング部104は、工程s10間の関連性の高さを示す関連度40に基づいて、関連性の高い工程s10を所定のグループに属させるグルーピング処理を、複数の工程s10に対して実施する。工程グループフロー生成部105は、設計情報に基づいて、グルーピング処理の結果生成されたグループの各々を並べた、工程グループフローを生成する。工程フロー生成部106は、設計情報に基づいて、グループに属する各工程s10を並べる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定の処理の工程順序を設計することができる工程設計支援装置に係る発明である。
【背景技術】
【0002】
従来の工程設計支援装置では、知識ベースを備えている。そして、作業、作業優先順位、各作業のタクトタイム、制約条件及び工具交換等に要する付加時間等の属性データが当該装置に入力される。これにより、工程設計支援装置は、入力された属性データ及び知識ベースの情報に基づいて優先順位を設定し、その優先順位に基づいて工程の実行順序を決定する(例えば特許文献1)。
【0003】
当該特許文献1に係る工程設計支援装置にあっては、与えられた複数の工程を一列に並べたときに最適となるような工程フローの解を生成する場合に、前工程から後工程へ順に工程の候補を決定していく。その際、工程の候補として先行制約を満たすものが複数存在する場合には、知識ベースで与えられている条件や各工程に定義された重みの値に基づいて候補を1つのみに絞り込む。
【0004】
【特許文献1】特開平5−181873号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に係る工程設計支援装置では、工程を1つずつ前工程から後工程へと順に決定していくため、初期段階から設計解の候補を削除することになる。したがって、最終的な全体の設計解として最適なものが生成されるとは限らない。例えば、最初の工程としてはあまりよい設計解ではなくても、その工程を最初の工程としたとする。このことで、後の工程を並列化してタクトタイムを縮めることができ、全体的にもよい設計解となる場合もある。
【0006】
また、特許文献1に係る工程設計支援装置では、各工程で使用するリソース(ロボット、加工機、その他の専用機等の設備やハンドやドリル等の工具や冶具や作業台等)は1つのみであり、複数のリソースを定義することができない。また、全体として使用可能なリソースの数についても管理していないため、一列にシーケンシャルに並んだ工程しか生成できない。したがって、当該工程設計支援装置では、工程に複数設備による協調動作を含んだ場合や複数工程が並行して実行される場合は、工程フローが決定できない。
【0007】
そこで、本発明は、より最適な工程フローの設計解を短時間で設計することができる工程設計支援装置を提供することを目的とする。さらには、工程に複数設備による協調動作を含んだ場合、あるいは、複数工程が並行して実行される場合でも、自動的によい設計解を設計できる工程設計支援装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、本発明に係る請求項1に記載の工程設計支援装置は、複数の工程ブロックを並べることにより得られる、処理工程の実行順序を示す工程フローを、決定する工程設計支援装置において、前記工程ブロック間の関連性の高さを示す関連度に基づいて、前記工程ブロックを所定のグループに属させるグルーピング処理を、前記複数の工程ブロックに対して実施する工程グルーピング部と、各前記工程ブロック毎に規定される設計条件である設計情報に基づいて、前記グルーピング処理の結果生成された前記グループの各々を直列的若しくは並列的に並べた、工程グループフローを生成する工程グループフロー生成部と、前記設計情報に基づいて、前記グループに属する各前記工程ブロックを直列的若しくは並列的に並べる工程フロー生成部とを、備えている。
【発明の効果】
【0009】
本発明の請求項1に記載の工程設計支援装置は、工程ブロック間の関連性の高さを示す関連度に基づいて、工程ブロックを所定のグループに属させるグルーピング処理を、複数の工程ブロックに対して実施する工程グルーピング部と、各工程ブロック毎に規定される設計条件である設計情報に基づいて、グルーピング処理の結果生成されたグループの各々を直列的若しくは並列的に並べた、工程グループフローを生成する工程グループフロー生成部と、設計情報に基づいて、グループに属する各工程ブロックを直列的若しくは並列的に並べる工程フロー生成部とを、備えている。
【0010】
したがって、より最適な工程フローの設計解を、より短時間で設計することができる。また、関連性のある工程ブロックが連続しやすいように、解(工程フロー)を生成することができる。また、工程設計処理の時間を大幅に短縮し、よい工程設計解を効率的(より短時間に)に生成することができる。また、工程に複数設備による協調動作を含んだ場合、あるいは、複数工程が並行して実行される場合でも、よい設計解を設計できる。
【発明を実施するための最良の形態】
【0011】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
【0012】
<実施の形態1>
<部品−工程関係情報>
図1は、本発明の実施の形態1による工程設計支援装置において扱う、工程s10と部品p11の関係を表す情報を示した図である。なお、本発明において、工程s10は、工程フローを構成する、工程ブロックであると把握できる。
【0013】
工程s10から矢印によって部品p11へ接続することにより、その工程とその工程で扱う部品との関係を表す情報を構成する。この情報により、ある工程で扱う部品を特定することができる。ある工程がある部品と別の部品とを組み合わせる工程であった場合、例えば図1に示すように、工程1、部品aおよび部品bの関係のように表すことができる。
【0014】
<工程情報>
図2は、工程s10の詳細を表す工程情報20の内容を示した図である。
【0015】
工程s10には、工程名の他に、作業タイプ、部品構成、工程標準時間、作業精度、作業方向、リソース要求仕様を定義することができる。
【0016】
作業タイプとは、工程s10での作業の種類である。例えば、組み立て用の工程の場合、搬送、組み付け、嵌め込み、ネジ締め、把持、ハンド交換等の作業タイプがあり、加工用の工程の場合、切削、面削り、穴あけ、荒加工、面取り、ネジ立て、仕上げ削り等の作業タイプがある。
【0017】
部品構成とは、工程s10で扱う部品の構成である。例えば、M2ネジをカバーにネジ締めする工程s10の場合、ネジ締めという工程s10は、M2ネジという部品とカバーという部品から構成されることになる。また、カバーに穴あけを行う工程s10の場合、穴あけという工程s10は、カバーという部品から構成されることになる。
【0018】
工程標準時間とは、工程s10での作業を実行するのに要すると見積もられた時間である。時間の単位は、例えば秒であってもよいし、時間の単位であれば、その他の単位であってもよい。
【0019】
作業精度とは、工程s10での作業に必要とされる精度である。例えば、ロボットによって部品を把持する工程s10の場合の位置精度(5mm以内等)や、穴あけ加工を行う工程s10の場合の公差(2mm以内等)のことである。作業精度は、位置精度や公差等の精度の種類と共に、5mm以内や2mm以内等のような表現で表される。また、精度の種類が不要な場合は、省略してもよい。
【0020】
作業方向とは、工程s10で作業を行う場合の作業の方向である。例えば、ロボットによって部品を組み付ける工程s10の場合の組み付け方向のことである。作業方向は、例えば、直交座標系におけるベクトルの方向で表したものでもよいし、その他でも方向を表す情報であればよい。
【0021】
リソース要求仕様とは、その工程s10での作業に必要とされるリソース(ロボット、加工機、その他の専用機等の設備やハンドやドリル等の工具や冶具や作業台等)の種類および数等のことであり、作業に必要となるリソースを特定するのに使用しうる各種情報のことである。例えば、複数のロボットを使用して部品を支えながら嵌め込む工程s10の場合、支え用ロボットが1台と嵌め込み用ロボットが1台必要というリソース要求仕様になる。
【0022】
図2の例では、上記で説明した情報を工程情報20として定義しているが、それ以外にも、工程s10で作業を行うのに費やしてよい時間の最大値(作業時間要求仕様)や、工程s10で組み立てや加工を行う部品を扱うリソース(設備)の詳細な要求仕様(可搬サイズ、可搬重量、把持力、搬送速度、ネジ径、ネジ長、締め付けトルク、圧入力等)やその他の工程設計に有用な情報を定義し、工程設計処理に使用してもよい。
【0023】
上記で説明した工程情報20を参照することにより、その工程を実現するために必要な条件を認識することができる。
【0024】
<工程先行制約グラフ>
図3は、工程s10の順序制約を表す工程先行制約グラフを示した図である。
【0025】
それぞれの工程s10を工程先行制約関係30で結ぶことにより、工程s10間の順序制約を表す。工程先行制約関係30の矢印の元の工程s10から矢印の先の工程s10への順序で工程を実行する必要があることを表している。例えば、図3の場合、工程2、工程3および工程4は、工程1の後で実行する必要がある。工程7および工程9は、工程2、工程3および工程6の後で実行する必要がある。
【0026】
また、工程先行制約関係30には、当該工程先行制約関係30によってつながる工程s10間の関連度40を定義することができる。
【0027】
<関連度付き工程先行制約グラフ>
図4は、工程先行制約グラフの工程先行制約関係30に関連度40を付与した関連度付き工程先行制約グラフを示した図である。
【0028】
関連度40は、工程先行制約関係30で結ばれた工程s10間の関連性の高さを表す数値であり、例えば大きい値ほど関連性が高いことを表す。工程先行制約関係30の関連度40を参照することにより、工程先行制約関係30で結ばれた工程s10間の関連性の高さを認識することができる。
【0029】
<工程グループ先行制約(工程のグルーピング)>
図5は、工程グループ50の順序制約を表す工程グループ先行制約グラフを示した図である。
【0030】
工程グループ50は、工程s10間の関連度40に基づいて、関連性の高い工程s10を1つのグループとしてまとめて扱う単位である。図5に示すように、工程グループ50の中には単一あるいは複数の工程s10を含み、1つのグループとして扱う。それぞれの工程グループ50を工程グループ先行制約関係51で結ぶことにより、工程グループ50間の順序制約を表す。工程グループ先行制約関係51の矢印の元の工程グループから矢印の先の工程グループへの順序で、工程グループ50を実行する必要があることを表している。
【0031】
例えば、図5の場合、工程グループ2、工程グループ3および工程グループ4は、工程グループ1の後で実行する必要がある。工程グループ5は、工程グループ2、工程グループ3および工程グループ4の後で実行する必要がある。また、工程グループ先行制約関係51には、当該工程グループ先行制約関係51によってつながる工程グループ50間のグループ関連度52を、工程s10間の関連度40と同様に定義することができる。
【0032】
<工程グループ情報>
図6は、工程グループ50の詳細を表す工程グループ情報60の内容を示した図である。
【0033】
工程グループ情報60には、工程グループ名の他に、工程グループ内工程情報、工程グループ標準時間、工程グループリソース要求仕様を定義することができる。
【0034】
工程グループ内工程情報は、工程グループ50に含まれる工程s10の情報である。工程グループ50に含まれるすべての工程情報20を定義することができる。また、工程グループ内工程情報には、その工程グループ50に含まれる工程s10間の工程先行制約関係30の情報も含まれる。
【0035】
工程グループ標準時間は、工程グループ50での作業(単一あるいは複数の工程s10)を実行するのに要すると見積もられた時間である。
【0036】
工程グループリソース要求仕様は、工程グループ50での作業(単一あるいは複数の工程s10)に必要とされるリソースの仕様である。必要とされるリソースの種類と必要となる数の最大値を定義する。
【0037】
図6の例では、上記で説明した情報を工程グループ情報60として定義しているが、それ以外にも、工程設計に有用な情報があればそれを定義し、工程設計処理に使用してもよい。
【0038】
上記で説明した工程グループ情報60を参照することにより、その工程グループ50を実現するために必要な条件を認識することができる。
【0039】
<工程グループフロー(工程グループの並べ替え)>
図7は、工程グループ50のフロー(工程グループフロー)を示した図である。
【0040】
与えられた順序の制約や使用可能なリソース数等の設計条件(設計情報により規定される条件)を満たすように(設計情報に基づいて)、工程グループ50を並べ替えて工程グループフローを生成する。ここで、設計情報とは、各工程ブロック毎に規定される、当該工程ブロックで要する設計条件である。それぞれの工程グループ50を工程グループ実行順序関係70で結ぶことにより、工程グループ50間の実行順序を表す。工程グループ実行順序関係70の矢印の元の工程グループ50から矢印の先の工程グループ50への順序で、工程グループ50を実行することを表している。
【0041】
例えば、図7の場合、工程グループ1の後で、工程グループ2および工程グループ4を実行する。工程グループ2の後で、工程グループ3を実行する。また、工程グループ3および工程グループ4の後で、工程グループ5を実行することを表している。
【0042】
<工程フローの例1(工程グループの展開)>
図8は、工程s10のフロー(工程フロー)の一例を示した図である。
【0043】
与えられた順序の制約や使用可能なリソース数等の設計条件を満たすように(設計情報に基づいて)、工程s10を並べ替えて工程フローを生成する。それぞれの工程s10を工程実行順序関係80で結ぶことにより、工程s10間の実行順序を表す。工程実行順序関係80の矢印の元の工程s10から矢印の先の工程s10への順序で工程を実行することを表している。
【0044】
例えば、図8の場合、工程1の後で、工程2および工程4を実行する。工程2の後で、工程3を実行する。工程4の後で、工程5を実行する。工程5の後で、工程6を実行する。また、工程3および工程6の後で、工程7および工程9を実行する。工程7の後で、工程8を実行する。工程9の後で、工程10を実行する。さらに、工程8および工程10の後で工程11を実行することを表している。
【0045】
<工程フローの例2(工程グループの展開)>
図9は、図8で示した工程フローを生成するときに工程先行制約グラフが入力され、使用可能なリソース数等として異なる条件が入力された場合に、生成される工程フローの例を示した図である。
【0046】
使用可能なリソース数等の設計条件が異なる場合には、このように図8に示した工程フローとは異なる工程フローを生成する可能性がある。例えば、工程3および工程6以降の作業で必要となるリソースが並列に作業できるのに十分な数だけないような場合、このような工程フローになる可能性がある。換言すれば、使用可能なリソース数の範囲内において、工程s10を並列化させて並べることができる。なお、使用可能なリソース数等の条件以外でも、工程s10の順序の制約が異なるような場合には、生成される工程フローが異なる可能性がある。
【0047】
<工程設計支援装置の構成>
図10は、本発明の実施の形態1による工程設計支援装置の構成の一例を示した図である。
【0048】
工程設計支援装置は、工程設計支援装置で扱うデータを処理して最終的な出力である工程フローを生成する工程設計処理部100と、工程設計支援装置で扱うデータの入出力を行うデータ入出力部102とから構成される。
【0049】
データ入出力部102は、工程設計に必要となる設計情報101の各種データの入力および出力を行う。
【0050】
また、工程設計処理部100は、設計情報記憶部101、工程関連定義部103、工程グルーピング部104、工程グループフロー生成部105、および工程フロー生成部106から構成されている。
【0051】
設計情報記憶部101には、工程設計支援装置で扱う工程情報20および制約情報等のデータである設計情報が格納される。ここで、設計情報には、例えば、工程情報20、工程先行制約グラフ、使用可能なリソース数、タクトタイム等の制約情報が含まれる。
【0052】
工程関連定義部103では、工程s10間を結んだ工程先行制約関係30に、関連度40を定義する。
【0053】
工程グルーピング部104は、設計情報記憶部101に格納されている設計情報に基づいて、工程先行制約グラフ中の工程s10を工程グループ50へグルーピングし、工程グループ先行制約グラフを生成する。
【0054】
工程グループフロー生成部105は、工程グループ先行制約グラフと使用可能なリソース等の設計条件から、実行可能な工程グループフローを生成する。つまり、工程グループフロー生成部105は、設計情報記憶部101に格納されている設計情報に基づいて、各工程グループ50を並べる。
【0055】
工程フロー生成部106は、工程グループフローと使用可能なリソース等の設計条件から、実行可能な工程フローを生成する。つまり、工程フロー生成部106は、各工程グループ50ごとに、設計情報記憶部101に格納されている設計情報に基づいて、各工程s10を並べる。
【0056】
図10に示した構成からなる工程設計支援装置によって、工程設計を行う処理フローを以下で図12を用いて説明する。
【0057】
<ハードウェア構成>
図11は、本実施の形態1による工程設計支援装置のハードウェアの構成図である。
【0058】
当該ハードウェアは、パソコンなどの計算機、携帯端末などの電子機器である。図11に示すように、ハードウェアは、入力部220、記憶部221、処理部222、および表示部223により構成されている。
【0059】
入力部220は、キーボード、テンキー、カーソルキー、マウス、ジョイスティック等であり、当該入力部を外部から操作することにより設定情報等の情報が入力される。記憶部221は、前記情報を記憶する。処理部222は、記憶部221に記憶されている情報に基づき、演算処理を行う。なお、処理部222は、伝送線、ネットワーク、無線通信により外部と通信を行う通信部を用いて外部と情報をやり取りするように構成してもよい。表示部223は、処理部222における演算処理結果を文字、画像などの表示情報として液晶ディスプレイ、CRTに表示する。
【0060】
図10と図11との対比において、データ入出力部102のデータを入力する部分は、入力部220において実現される。また、データ入出力部102のデータを出力する部分は、表示部223において実現される。また、設計情報記憶部101は、記憶部221において実現される。なお、記憶部221には、電子機器を設計情報の記憶手段として実行させるためのプログラムが記憶され、その記憶手段はこのプログラムを読み出し、当該手段を実行する。残りの各処理部である工程関連定義部103と、工程具ルーピング部104と、工程グループフロー生成部105と、工程フロー生成部106とは、処理部222において実現される。
【0061】
<フローチャート(工程設計)>
図12は、図10、11に示した構成からなる工程設計支援装置によって、工程設計を行う処理フローの概略を示したフローチャートである。本工程設計支援装置における工程設計処理では、ステップS1からステップS4が実行される。
【0062】
ステップS1では、工程先行制約グラフにおける工程s10間の工程先行制約関係30に関連度40を定義する。ステップS1の処理は、工程関連定義部103で実行される。工程先行制約関係30への関連度40の定義は、工程設計支援装置のユーザが手動で定義してもよいし、工程設計支援装置が自動的に定義してもよい。工程設計支援装置が自動的に定義する場合は、設計情報記憶部101の設計情報を参照し、その情報に基づいて工程s10間の関連度40を算出し、当該算出された関連度40を工程先行制約関係30において定義する。
【0063】
ステップS2では、設計情報および工程先行制約グラフの工程先行制約関係30に定義された関連度40に基づいて、工程先行制約グラフ中の工程s10を工程グループ50へグルーピングし、工程グループ先行制約グラフを生成する。ステップS2の処理は、工程グルーピング部104で実行される。
【0064】
ステップS3では、設計情報を参照し、当該設計情報に基づいて、工程グループ先行制約グラフ中の工程グループ50を並べ替えて、工程グループフローを生成する。ステップS3の処理は、工程グループフロー生成部105で実行される。
【0065】
ステップS4では、設計情報101を参照し、当該設計情報に基づいて、工程グループフローから工程フローを生成する。ステップS4の処理は、工程フロー生成部106で実行される。
【0066】
以上のステップS1からステップS4までの処理を実行することにより、入力された工程先行制約グラフを含む設計情報に基づいて、リソースやタクトタイム等の条件を満たす工程フローを生成することができる。なお、設計情報の一部として、リソースやタクトタイム等の条件は、あらかじめ与えられているものとする。
【0067】
<フローチャート(関連度の定義)>
図13は、工程設計支援装置における工程設計で、関連度40の定義を行う処理フローを示したフローチャートである。本工程設計支援装置における関連度定義処理では、ステップS11からステップS15が実行される。
【0068】
ステップS11では、工程先行制約グラフから未処理の工程先行制約関係30を1つ抽出する。
【0069】
ステップS12では、抽出した工程先行制約関係30の前後につながる工程10を取得する。
【0070】
ステップS13では、抽出した工程先行制約関係30に対する関連度40を算出する。ここで、当該関連度40の算出は、工程設計支援装置が外部から入力されるユーザからの何らかの条件に基づいて行ってもよい。また、当該関連度40の算出は、取得した工程10のつながり方や工程情報20の内容等の設計情報に基づいて自動的に行ってもよい。自動的に算出する場合は、例えば、下記の「関連度算出の条件」で示すような各条件で関連度40を算出することができる。
【0071】
ステップS14では、ステップS13で算出した関連度40を、当該関連度40の算出対象である工程先行制約関係30に設定する。
【0072】
ステップS15では、すべての工程先行制約関係30に対して関連度40の定義(設定)が完了したかどうかを判定する。ステップS15において、関連度40の定義が完了していればリターンし、完了していなければステップS11へ戻る。
【0073】
以上の処理を実行することにより、入力された工程先行制約グラフのすべての工程先行制約関係30に対して、関連度40を定義することができる。
【0074】
<関連度算出の条件>
条件(1):抽出した工程先行制約関係30の前後につながる工程s10が、1:1で直列につながるだけで、他の工程s10とつながることがない場合、高い関連度40を与える(他の工程s10への先行制約関係30がなく、連続して作業しやすい)。
【0075】
条件(2):抽出した工程先行制約関係30の前後につながる工程s10が、同じあるいは類似する作業タイプである場合、高い関連度40を与える。例えば、作業タイプが同じ場合は最も高い関連度40を与え、類似する場合は同じ場合よりも低い関連度40を与える。類似の判定については、例えば、作業タイプをあらかじめカテゴリに分類しておき、同じカテゴリに属する作業タイプは類似すると判定すればよい。
【0076】
条件(3):抽出した工程先行制約関係30の前後につながる工程s10の部品構成が、同じあるいは類似している場合、高い関連度40を与える。例えば、部品構成が同じ場合は最も高い関連度40を与え、類似する場合は同じ場合よりも低い関連度40を与える。類似の判定については、例えば、構成する部品に同じ部品が部分的に含まれる場合は類似すると判定すればよい。また、同じ部品が含まれる割合に応じて与える関連度40を変えてもよい。
【0077】
条件(4):抽出した工程先行制約関係30の前後につながる工程s10の精度が、同じあるいは類似している場合、高い関連度40を与える。例えば、作業精度が同じ場合は最も高い関連度40を与え、類似する場合は同じ場合よりも低い関連度40を与える。類似の判定については、例えば、作業精度の差の閾値(5mm等)をあらかじめ規定しておき、作業精度の差が閾値を超過しない場合は類似すると判定すればよい。また、作業精度の差の量に応じて与える関連度40を変えてもよい(差がない場合は高い値、2mm未満の場合は中位の値、2mm以上で5mm未満の場合は低い値等)。
【0078】
条件(5):抽出した工程先行制約関係30の前後につながる工程s10の作業方向が、同じあるいは類似している場合、高い関連度40を与える。例えば、作業方向が同じ場合は最も高い関連度40を与え、類似する場合は同じ場合よりも低い関連度40を与える。類似の判定については、例えば、作業方向を直交座標系におけるベクトルの方向で表す場合、あらかじめ作業方向の角度の差の閾値を規定しておき、作業方向の角度の差が閾値を超過しない場合は類似すると判定すればよい。また、作業方向の角度の差の大きさに応じて与える関連度40を変えてもよい(差がない場合は高い値、20度未満の場合は中位の値、20度以上で45度未満の場合は低い値等)。
【0079】
条件(6):抽出した工程先行制約関係30の前後につながる工程s10のリソース要求仕様が、同じあるいは類似している場合、高い関連度40を与える。例えば、リソース要求仕様に同じリソースが部分的に含まれる場合は類似すると判定すればよい。また、同じリソースが含まれる割合に応じて与える関連度40を変えてもよい。
【0080】
上記の関連度算出の条件(1)〜(6)に基づいて関連度40を与える際は、加算方式で与えてもよいし、条件に応じて絶対的な数値で与えてもよい。また、上記に挙げた例以外にも、工程s10間の関連性に影響する情報に基づいた条件があれば、その条件に従って関連度40を算出してもよい。
【0081】
<フローチャート(工程のグルーピング)>
図14は、工程設計支援装置における工程設計で、工程s10のグルーピングを行う処理フローを示したフローチャートである。本工程設計支援装置における工程グルーピング処理では、ステップS21からステップS26を実行する。
【0082】
ステップS21では、工程先行制約グラフのすべての工程s10をそれぞれ1つの工程グループ50として工程グループ先行制約グラフを作成する。つまり、まず、1工程=1工程グループとしておき、後の処理でそれらの工程グループ50を集約していく。工程s10間の工程先行制約関係30に対応するように、工程グループ50間を工程グループ先行制約関係51でつなげて工程グループ先行制約グラフを作成する。また、工程先行制約関係30の関連度40と同じ値を、対応する工程グループ先行制約関係51のグループ関連度52として設定する。
【0083】
ステップS22では、工程グループ先行制約グラフから未処理の工程グループ先行制約関係51を1つ抽出する。
【0084】
ステップS23では、抽出した工程グループ先行制約関係51の前後につながる工程グループ50を取得する。
【0085】
ステップS24では、抽出した工程グループ先行制約関係51に定義されたグループ関連度52に基づいて、前後につながる工程グループ50のグルーピングの可否を判定する。例えば、グループ関連度52がある規定された値よりも大きい場合、工程グループ50間の関連性が高いと判断してグルーピング可と判定する。他方、グループ関連度52がある規定された値以下である場合、工程グループ50間の関連性は低いと判断してグルーピング否と判定する。さらに、グルーピング可能な最大数(グルーピング可能最大数)も規定しておく。そして、現在のグルーピングした回数がグルーピング可能最大数以内であれば、グルーピング可とする。他方、現在のグルーピングした回数がグルーピング可能最大数を超えるならば、グルーピング否と判定してもよい。また、工程s10をグルーピング処理するための条件であれば、その他の条件で判定してもよい。
【0086】
ステップS25では、ステップS24でグルーピング可と判定された工程グループ先行制約関係51に対して、その工程グループ先行制約関係51でつながる前後の工程グループ50を1つの工程グループ50として結合する。1つの工程グループ50から、結合する前後の工程グループ50へそれぞれつながる工程グループ先行制約関係51が複数ある場合を想定する。具体的に、例えば、図5の工程グループ5へつながる工程2からは、2本の工程グループ先行制約関係51があり、工程3や工程6からも2本の工程グループ先行制約関係51がある場合を想定する。この場合には、例えば、それらの工程グループ先行制約関係51のグループ関連度52の平均値を取り、その平均値をグループ関連度52とする1つの工程グループ先行制約関係51を、結合してできる1つの工程グループ50へつなげるようにする。前記例では、新たに付けるグループ関連度52の値は平均値にしているが、平均値以外にも最小値や最大値にしてもよい。
【0087】
1つの工程グループ50から、結合する前後の工程グループ50へそれぞれつながる工程グループ先行制約関係51が単一である場合を想定する。具体的に、例えば、図5の工程グループ4へつながる工程グループ先行制約関係51の場合を想定する。この場合には、結合する前後の工程グループ50へつながる工程グループ先行制約関係51を、結合してできる1つの工程グループ50へそのままつなげるようにする。
【0088】
また、結合してできる工程グループ50のすべての作業を実行するのに要する時間の見積もりを工程グループ標準時間として算出する。更に、結合してできる工程グループ50のすべての作業を実行するのに必要となるリソースを工程グループリソース要求仕様として設定する。工程グループ標準時間は、工程グループ50の先頭の工程s10から順に末尾の工程s10まで辿り、それらの工程s10の工程標準時間を積算して算出する。
【0089】
図5の工程グループ5のように並列に並ぶ工程s10が含まれる場合は、使用可能なリソース数の範囲内で並列化する。そして、並列化した部分については、それらの部分の工程s10の工程標準時間を積算した後、それらを比較して大きい方を並列化した部分に要する時間として積算する。並列化の仕方が複数ある場合は、それらに対してそれぞれ工程グループ標準時間を算出し、最も大きい値(最悪値)を工程グループ標準時間とする。
【0090】
工程グループリソース要求仕様についても、まず、工程グループ標準時間と同様に工程グループ50の先頭の工程s10から順に末尾の工程s10まで辿る。そして、それらの工程s10のリソース要求仕様に基づいて各リソースに対して必要となる数の最大値(最悪値)を、工程グループリソース要求仕様として設定する。
【0091】
なお、前記の例では、その工程グループ内で工程s10が並列化できるような場合でもグルーピング処理するようにしている。しかし、並列化できるような場合は、グルーピング処理せずに、直列に並んだ工程s10の場合のみグルーピングするようにしてもよい。このような場合には、上記のような使用可能なリソース数を考慮した並列化の可能性の判定や、並列化を考慮した工程グループ標準時間の算出等の複雑な処理を省略することできる。
【0092】
結合してできる工程グループ50の工程グループ情報60(図6)の工程情報として、結合する前後の工程グループ50に含まれる工程s10の情報を合わせたものを定義する。また、工程グループ標準時間として、上記で算出したものを定義する。更に、工程グループリソース要求仕様として、上記で求めたものを定義する。結合してできる工程グループ50の工程グループ情報60には、その工程グループ50に含まれる工程s10に関わる工程先行制約関係30も併せて保持する。
【0093】
ステップS26では、すべての工程グループ先行制約関係51に対して、工程グルーピング処理を実施したか否かを判定する。すべての工程グループ先行制約関係51に対して工程グルーピング処理が完了していれば、リターンする。他方、すべての工程グループ先行制約関係51に対して工程グルーピング処理が完了していなければ、ステップS22へ戻る。
【0094】
以上の処理を実行することにより、入力された工程先行制約グラフの中の関連度40の高い工程s10をグルーピングされる。そして、当該グルーピング処理により、工程グループ先行制約グラフを生成することができる。
【0095】
<フローチャート(工程グループフローの生成)>
図15は、工程設計支援装置における工程設計で、工程グループフローの生成を行う処理フローを示したフローチャートである。本工程設計支援装置における工程グループフロー生成処理では、ステップS31からステップS39を実行する。
【0096】
ステップS31では、工程グルーピング処理で生成した工程グループ先行制約グラフの先頭の工程グループ50を選択する。そして、次に処理を行う候補となる工程グループ50を、保持する次候補リストへ追加する。追加する先頭の工程グループ50は、単一でも複数でもよい。
【0097】
ステップS32では、次候補リストにある工程グループ50の中で、次に実行可能な工程グループ50のセット(組合せ)をすべて抽出する。実行可能な工程グループ50とは、現在使用可能なリソースの条件(種類、数等)やタクトタイムの条件(規定時間内)等の設計情報の条件を満たす工程グループ50である。リソースの条件は、工程グループ情報60の工程グループリソース要求仕様を参照することで判定できる。タクトタイムは、工程グループ情報60の工程グループ標準時間を参照することで判定できる。本実施例では、リソースの条件やタクトタイムの条件によって、実行可能性を判定している。しかし、その他の条件で判定したい場合には、その判定に必要となる情報を設計情報として、工程情報20や工程グループ情報60に追加すればよい。
【0098】
ステップS33では、ステップS32で抽出した実行可能な工程グループ50のセットの中から、1つのセットを抽出する。また、抽出した実行可能な工程グループ50のセットを実行するのに必要となるリソースの情報(工程グループリソース要求仕様)を参照する。そして、現在使用可能なリソースの条件を更新する(実行するのに必要なリソース分だけ現在使用可能なリソースから減らす等)。
【0099】
ステップS34では、ステップS33で抽出した1つの実行可能な工程グループ50のセットを、作成中の工程グループフローの中で最後に完了済みにした工程グループ50の後に工程グループ実行順序関係70を付けてつなぐ。抽出した工程グループ50が先頭の工程グループ50であり、作成中の工程グループフローの中で最後に完了済みにした工程グループ50が存在しない場合を想定する。この場合には、抽出した工程グループ50のみからなる工程グループフローとする。
【0100】
ステップS35では、作成中の工程グループフローの未完了の工程グループ50の中から、次に実行を完了する工程グループ50を特定する。次に実行を完了する工程グループ50は、未完了の工程グループ50の中で最も工程グループ標準時間が小さいものである。また、工程グループ50が完了することで解放されるリソースの情報(工程グループリソース要求仕様)を参照し、現在使用可能なリソースの条件を更新する(完了して空くリソース分だけ現在使用可能なリソースを増やす等)。更に、現在の工程グループフローの実行完了時間に、完了する工程グループ50の工程グループ標準時間を加算して更新する。ただし、完了する工程グループ50が他の工程グループ50と並列に並んでいる場合は、それを考慮して加算する。完了する工程グループ50の前につながる工程グループ50の完了時間に、完了する工程グループ50の工程グループ標準時間を加算し、完了する工程グループ50までの工程グループ標準時間とする。
【0101】
ステップS36では、工程グループ先行制約グラフのすべての工程グループ50に対する上記処理が完了しているかどうかを判定する。そして、すべての工程グループ50に対する上記処理が完了していればステップS38へ進み、完了していなければステップS37へ進む。
【0102】
ステップS37では、ステップS35で特定した工程グループ50が完了した後、実行可能となる工程グループ50を、次候補リストに追加する。その後、再帰的にステップS32以降の処理を再度実行する。実行可能な工程グループ50については、S32で記載したとおりである。
【0103】
ステップS38では、すべての工程グループ50に対して処理が完了しているので、作成した工程グループフローを1つの解として生成(出力)する。
【0104】
ステップS39では、ステップS32で抽出したすべての実行可能な工程グループ50のセットに対して処理が完了したかどうかを判定する。そして、すべての実行可能な工程グループ50のセットに対して処理が完了していれば、リターンする。他方、すべての実行可能な工程グループ50のセットに対して処理が完了していなければ、ステップS33へ戻る。
【0105】
以上の処理を実行することにより、入力された工程グループ先行制約グラフの各工程グループ50をリソースの条件やタクトタイムの条件(設計情報の条件)を満たすように並べ替え、工程グループフローを生成することができる。
【0106】
<フローチャート(工程フローの生成)>
図16は、工程設計支援装置における工程設計で、工程グループフローから工程フローの生成を行う処理フローの概略を示したフローチャートである。本工程設計支援装置における工程フロー生成処理では、ステップS41からステップS44を実行する。
【0107】
ステップS41では、入力された工程グループフローの中から、未処理の工程グループ50を抽出する。
【0108】
ステップS42では、抽出した工程グループ50に対し、その工程グループ50内での工程フローを生成する。工程フローを生成する際には、リソースやタクトタイム等(設計情報)の条件を満たすように、抽出した工程グループ50に属する工程s10を並べ替える。
【0109】
ステップS43では、工程グループフローの中のすべての工程グループ50に対して、処理が完了したかどうかを判定する。もし、すべての工程グループ50に対して処理が完了していれば、ステップS44へ進む。他方、すべての工程グループ50に対して処理が完了していなければ、ステップS41へ戻る。
【0110】
ステップS44では、すべての工程グループに対して生成した、工程グループ50内の工程フローを工程実行順序関係80で互いにつないで工程フローを生成する。具体的には、各工程グループ実行順序関係70に対して、その前につながる工程グループ50内のすべての末尾の工程s10から、その後につながる工程グループ50内のすべての先頭の工程s10へ工程実行順序関係80をつなぐようにして互いの工程フローを接続する。工程フローは、各工程グループ50内で生成した工程フローの組合せの数だけ生成される。
【0111】
以上の処理を、工程グループフロー生成処理で生成したすべての工程グループフローに対して実行することにより、リソースの条件やタクトタイム等(設計情報)の条件を満たすすべての工程フローを生成することができる。
【0112】
<フローチャート(工程グループ内工程フローの生成)>
図17は、工程設計支援装置における工程設計で、工程グループ内の工程フローの生成を行う処理フローを示したフローチャートである。本工程設計支援装置における工程グループ内工程フロー生成処理では、ステップS51からステップS59を実行する。
【0113】
ステップS51では、工程グループ50内の先頭の工程s10を選択し、次に処理を行う候補となる工程s10を保持する次候補リストへ追加する。追加する先頭の工程s10は単一でも複数でもよい。
【0114】
ステップS52では、次候補リストにある工程s10の中で、次に実行可能な工程s10のセット(組合せ)をすべて抽出する。実行可能な工程s10とは、現在使用可能なリソースの条件(種類、数等)やタクトタイムの条件(規定時間内)等(設計情報に基づいた条件)を満たす工程s10である。リソースの条件は、工程情報20のリソース要求仕様を参照することで判定できる。タクトタイムは、工程情報20の工程標準時間を参照することで判定できる。本実施例ではリソースの条件やタクトタイムの条件によって、実行可能性を判定している。しかし、その他の条件で判定したい場合には、その判定に必要となる設計情報を工程情報20に追加すればよい。
【0115】
ステップS53では、ステップS52で抽出した実行可能な工程s10のセットの中から、1つのセットを抽出する。また、抽出した実行可能な工程s10のセットを実行するのに必要となるリソースの情報(リソース要求仕様)を、参照する。そして、現在使用可能なリソースの条件を更新する。たとえば、当該リソース条件の更新は、実行するのに必要なリソース分だけ、現在使用可能なリソースから減らす等することにより、実現される。
【0116】
ステップS54では、ステップS53で抽出した1つの実行可能な工程s10のセットを、作成中のグループ内工程フローの中で最後に完了済みにした工程s10の後に、工程実行順序関係80を付けてつなぐ。抽出した実行可能な工程s10が、工程グループ50内で先頭の工程s10である。仮に、作成中の工程フロー50の中で最後に完了済みにした工程s10が存在しない場合には、抽出した工程s10のみからなる工程フローとする。
【0117】
ステップS55では、作成中の工程グループ50内工程フローの未完了の工程s10の中から、次に実行を完了する工程s10を特定する。次に実行を完了する工程s10は、未完了の工程s10の中で、最も工程標準時間が小さいものである。また、工程s10が完了することで解放されるリソースの情報(リソース要求仕様)を参照する。そして、現在使用可能なリソースの条件を更新する(完了して空くリソース分だけ現在使用可能なリソースを増やす等)。更に、現在の工程グループ内工程フローの実行完了時間に、完了する工程s10の工程標準時間を加算して更新する。ただし、完了する工程s10が他の工程s10と並列に並んでいる場合は、それを考慮して加算する。たとえば、完了する工程s10の前につながる工程s10の完了時間に、完了する工程s10の工程標準時間を加算し、完了する工程s10までの工程グループ内工程フローの実行完了時間とする。
【0118】
ステップS56では、工程グループ50内のすべての工程s10に対して、ステップS55までの処理が完了しているかどうかを判定する。そして、すべての工程s10に対して完了していれば、ステップS58へ進み、完了していなければ、ステップS57へ進む。
【0119】
ステップS57では、ステップS55で特定した工程10が完了した後、実行可能となる工程s10を次候補リストに追加する。その後、再帰的にステップS52以下を実行する。実行可能な工程s10については、ステップS52で記載したとおりである。
【0120】
ステップS58では、工程グループ50内のすべての工程s10に対してステップS55までの処理が完了しているので、作成した工程グループ内工程フローを1つの解として生成(出力)する。
【0121】
ステップS59では、ステップS52で抽出したすべての実行可能な工程s10のセットに対して、ステップS58までの処理が完了したかどうかを判定し、完了していればリターンし、完了していなければステップS53へ戻る。
【0122】
以上の処理を実行することにより、工程グループ50内の各工程s10をリソースの条件やタクトタイムの条件を満たすように並べ替える。これにより、工程グループ内工程フローを生成することができる。
【0123】
このような構成によれば、工程情報20にリソース要求仕様等の設計情報を含んでおり、その設計情報を参照して使用可能なリソースの条件を満たすように、工程設計を行うことができる。したがって、複数のリソース(設備)による協調動作を含む場合や複数の工程10が並行して実行される場合でも、自動的に工程設計を行うことができる。また、自動的に工程情報20(設計情報)に基づいて、関連度40を定義している。これにより、設計者が関連度40を定義する手間なく、よい設計解(工程フロー)をより短時間で生成することができる。
【0124】
また、本実施の形態では、単純に前工程s10から順に工程s10を1つずつ決定して行くような処理はしていない。本実施の形態では、工程情報20(設計情報)に基づいて工程s10間の関連性から関連度40を算出して定義する。そして、工程s10間の関連度40に従って工程s10をグループとしてまとめて扱ってその並べ替えを行い、工程フロー全体で設計情報に基づく条件を評価しながら工程設計を行っている。
【0125】
したがって、前工程だけで判断するとあまりよい設計解ではないが、後工程まで含めて全体的に判断するとよい設計解となる場合についても、それを設計解として生成することができる。つまり、より最適な工程フローの設計解を、より短時間で設計することができる。
【0126】
また、本実施の形態では、工程s10間の関連度40に基づいて、工程先行制約グラフの工程10をグルーピングして工程グループ先行制約グラフを生成している。そして、数の多い工程s10ではなく、数の少ない工程グループ50を並べ替えた後に、工程グループ50を工程フローへ展開している。
【0127】
したがって、関連性のある工程s10が連続しやすいように、解(工程フロー)を生成することができる。また、工程設計処理の時間を大幅に短縮し、よい工程設計解を効率的(より短時間に)に生成することができる。
【0128】
また、本実施の形態では、工程フロー生成部106は、使用可能なリソース数の範囲内において、工程s10を並列化させて並べることができる。したがって、より効率の良い工程フローを作成することができる。
【0129】
<実施の形態2>
<工程設計支援装置の構成(グルーピング可否条件調整あり)>
図18は、本発明の実施の形態2による工程設計支援装置の別の構成の一例を示した図である。本実施の形態に係る工程設計支援装置は、実施の形態1に係る工程設計支援装置に加えて、処理時間計測部170とグルーピング条件調整部171とを備えている。ここで、処理時間計測部170は、工程設計処理を実行中にその処理時間を計測することができる。グルーピング条件調整部171は、工程s10を工程グループ50にグルーピングする条件を調整することができる。
【0130】
図18に示した別の構成からなる工程設計支援装置によって、工程設計を行う処理フローを、下記において図19を用いて説明する。なお、本工程設計支援装置で工程設計を行う前に、グルーピング条件を調整するかしないかを判定するための処理時間の閾値(許容最大処理時間)をあらかじめ規定しておく。
【0131】
<ハードウェア構成>
本実施の形態2の処理時間計測部170と、グルーピング条件調整部171とは、図11に示した処理部222において実現される。また、本実施の形態2の他の部分については、実施の形態1で説明した図11のものと同様である。
【0132】
<フローチャート(グルーピング条件調整付き工程設計)>
図19は、図18に示した構成からなる工程設計支援装置によって、工程設計(グルーピング条件調整付き工程設計)を行う処理フローを示したフローチャートである。本工程設計支援装置におけるグルーピング条件調整付き工程設計処理では、ステップS61からステップS68を実行する。
【0133】
ステップS61では、工程s10を工程グループ50にグルーピングする条件を設定する。最初に設定する場合は、規定された条件(初期条件)を設定する。例えば、関連度40がある規定された値よりも大きい場合、つまり工程グループ50間の関連性が高いと判断してグルーピング可と判定する場合は、「関連度40がある規定された値よりも大きい」ということをグルーピングする条件として設定する。別の例としては、単に関連度40の閾値をグルーピング条件として設定してもよい。ステップS61を実行した後、ステップS62とステップS65を並列に実行する。
【0134】
ステップS62では、図12に示した工程設計処理を実行する。詳細な処理内容については、実施の形態1において既に記載したとおりである。
【0135】
ステップS63では、ステップS62の工程設計処理が最後まで完了したかどうかを判定し、最後まで完了していればステップステップS64へ進み、最後まで完了していなければ(中断していれば)ステップS68へ進む。
【0136】
あらかじめ規定された許容最大処理時間内で、工程設計処理が完了している。したがって、ステップS64では、ステップS65の処理時間計測処理を中断してグルーピング条件調整付き工程設計処理を終了する。
【0137】
ステップS65では、ステップS62で工程設計処理を実行している時間を計測する。時間の計測は、あらかじめ規定された許容最大処理時間に到達するまで継続し、許容最大処理時間に到達すると処理時間計測処理を完了する。ただし、許容最大処理時間内でステップS62の工程設計処理が完了した場合は、ステップS65の処理を中断する。ステップS65の処理は、処理時間計測部170で実行する。
【0138】
ステップS66では、ステップS62の工程設計処理の実行時間が、あらかじめ規定された許容最大処理時間(閾時間と把握できる)を超過しているかどうかを判定する。もし、実行時間が許容最大処理時間を超過していれば、ステップS67へ進む。他方、実行時間が許容最大処理時間を超過していなければ、グルーピング条件調整付き工程設計処理を終了する。
【0139】
ステップS62の工程設計処理に要する時間が、あらかじめ規定された許容最大処理時間を超過している。したがって、ステップS67では、ステップS62の工程設計処理を中断して、ステップS68へ進む。
【0140】
ステップS68では、工程s10のグルーピングを更に行い、工程設計処理に要する時間が短くなるように、グルーピング条件を調整する。例えば、グルーピングする関連度40の閾値を現在よりも小さくする。その場合、関連度40の閾値を現在値よりも−1した値にした条件にしてもよいし、関連度40の閾値を現在値の1/2の値にした条件にしてもよい。その他、現在よりグルーピングしやすくなる条件に調整することで、工程設計処理に要する時間を短くすることができる。ステップS68のグルーピング条件調整処理は、グルーピング条件調整部171で実行する。ステップS68でグルーピング条件を調整した後にステップS61へ戻る。そして、新たなグルーピング条件をもちいて、ステップS61以下のグルーピング条件調整付き工程設計処理を繰り返す。
【0141】
このような構成によれば、あらかじめ許容最大処理時間(閾時間)を規定しておくことにより、工程s10のグルーピングが不十分で工程設計処理に要する時間が大きくなる場合にでも、自動的にグルーピング条件を調整できる。よって、より短時間で工程設計処理を完了することができる。
【0142】
また、グルーピングをせずに工程設計を行うグルーピング条件から処理をはじめ、工程設計処理に要する時間がかかりすぎる場合には、徐々にグルーピングしやすい条件にして工程設計処理を行うことができる。これにより、最初から工程設計の解候補を大きく絞り込んで無駄な枝刈りをするということをせずに、効率的に工程設計を行うことができる。しかも、関連度40に関する知識やノウハウがなくても自動的に工程設計を行うことができる。
【0143】
工程設計においては、工程s10の数の増加に伴い、並べ替えの組み合わせの数が増加し、設計解は指数関数的に増加する。逆に、工程s10をグルーピングすることによって並べ替える対象の数を少し減らせば、グルーピングした後の工程グループ50を並べ替えて工程設計を行うことができる。よって、並べ替えの組み合わせの数を大幅に削減し、工程設計の処理時間も大幅に削減することができる。
【0144】
<実施の形態3>
<工程設計支援装置の構成(工程先行制約グラフの分割)>
図20は、本発明の実施の形態3による工程設計支援装置の別の構成の一例を示した図である。本実施の形態に係る工程設計支援装置は、実施の形態1に係る工程設計支援装置に加えて、工程先行制約グラフ分割部190を備えている。工程先行制約グラフ分割部190は、工程s10間の関連度40に基づいて、工程先行制約グラフを分割することができる。
【0145】
図20に示した別の構成からなる工程設計支援装置によって、工程設計を行う処理フローを下記において、図21,22を用いて説明する。
【0146】
<ハードウェア構成>
本実施の形態3の工程先行制約グラフ分割部190は、図11に示した処理部222において実現される。また、本実施の形態3の他の部分については、実施の形態1で説明した図11の構成と同様である。
【0147】
<フローチャート(工程先行制約グラフ分割付き工程設計)>
図21は、図20に示した構成からなる工程設計支援装置によって工程設計(工程先行制約グラフ分割付き工程設計)を行う処理フローを示したフローチャートである。本工程設計支援装置における工程先行制約グラフ分割付き付き工程設計処理では、ステップS71からステップS78を実行する。
【0148】
ステップS71では、工程先行制約グラフにおける工程s10間の工程先行制約関係30に関連度40を定義する。処理の詳細についてはステップS1の処理と同様であり、実施の形態1で既に記載したとおりである。
【0149】
ステップS72では、工程先行制約グラフの工程先行制約関係30に定義された関連度40に基づいて、関連性の低い工程s10間の部分で工程先行制約グラフを切断し、工程先行制約グラフを分割する。ステップS72の処理は、工程先行制約グラフ分割部190で実行する。
【0150】
ステップS73では、ステップS72で分割された工程先行制約グラフの1つ(部分工程先行制約グラフ)を抽出する。
【0151】
ステップS74では、ステップS73で抽出した工程先行制約グラフ(部分工程先行制約グラフ)に対し、当該部分工程先行制約グラフ内での工程グルーピング処理を実行する。これにより、ステップS74では、当該部分工程先行制約グラフに対する工程グループ先行制約グラフを生成する。当該部分工程先行制約グラフ内での工程グルーピング処理の詳細については、図11におけるステップS2の処理と同様であり、実施の形態1において既に記載したとおりである。
【0152】
ステップS75では、ステップS74で生成した工程グループ先行制約グラフ(部分)に対し、工程グループフロー生成処理を実行する。これにより、ステップS75では、工程グループ先行制約グラフ(部分)に対する工程グループフローを生成する。工程グループ先行制約グラフ(部分)に対する工程グループフロー生成処理の詳細については、図12におけるステップS3の処理と同様であり、実施の形態1において既に記載したとおりである。
【0153】
ステップS76では、ステップS75で生成した工程グループフロー(部分)に対し、工程フロー生成処理を実行する。これにより、ステップS76では、工程グループフロー(部分)に対する工程フローを生成する。工程グループフロー(部分)に対する工程フロー生成処理の詳細については、図12におけるS4の処理と同様であり、実施の形態1において既に記載したとおりである。
【0154】
ステップS77では、ステップS72で分割したすべての工程先行制約グラフに対して、ステップS76までの処理が完了したかどうかを判定する。もし、当該処理が完了していれば、ステップS78へ進む。他方、当該処理が完了していなければ、ステップS73へ戻る。
【0155】
ステップS78では、ステップS72で分割したすべての工程先行制約グラフに対して生成した工程フローを、工程実行順序関係80で互いにつないで工程フローを生成する。具体的には、各工程フロー(部分)に対して、分割前に対象の工程フロー内の工程s10の前に工程先行制約関係30でつながっていた工程s10が属する(対象工程フロー以外の)工程フロー(部分)のすべての末尾の工程s10から、対象の工程フロー(部分)のすべての先頭の工程s10へ、工程実行順序関係80をつなぐようにして互いの工程フローを接続する。すべての工程フロー(部分)に対して、上記の接続処理を実行するとすべての工程s10を含んだ1つの工程フローが作成される。工程フローは、分割した各工程先行制約グラフ内で生成した工程フローの組合せの数だけ生成される。
【0156】
以上の処理を実行することにより、入力された工程先行制約グラフを含む図20の記憶部に格納された設計情報101から、工程s10間の関連度40を算出する。そして、その関連度40に基づいて、工程先行制約グラフを分割し、分割した部分的な工程先行制約グラフごとにリソースやタクトタイム等の条件を満たす工程フローを生成し、それらを組み合わせて最終的な工程フローを生成することができる。
【0157】
<フローチャート(工程先行制約グラフの分割)>
図22は、工程設計支援装置における工程設計で、工程s10間の関連度40に基づいて工程先行制約グラフを分割する処理フローを示したフローチャートである。本工程設計支援装置における工程先行制約グラフ分割処理では、ステップS81からステップS87を実行する。
【0158】
ステップS81では、工程先行制約グラフから未処理の工程先行制約関係30を1つ抽出する。
【0159】
ステップS82では、規定された分割条件に従って、抽出した工程先行制約関係30の部分で工程s10間を切断するかどうかを判定し、切断する場合はステップS83へ進み、切断しない場合はステップS84へ進む。
【0160】
例えば、関連度40がある規定された値よりも小さければ、工程s10間の関連性が低いと判断して切断可と判定し、そうでなければ切断否と判定する。ただし、関連度40がある規定された値よりも小さくても、その部分で切断することにより、分割した複数の工程先行制約グラフが並列に実行可能になる場合には、切断否とする。これは、ステップS78では並列を考慮した部分工程フローの並べ替えを行わず、すべての部分工程フローを直列に並べるだけにするためである。さらに、切断可能な最大数(切断可能最大数)も規定しておき、現在の切断した回数が切断可能最大数以内であれば切断可とし、そうでなければ切断否と判定してもよい。更に工程s10間を切断するための条件であれば、その他の条件で判定してもよい。
【0161】
ステップS83では、抽出した工程先行制約関係30の部分で、工程先行制約グラフにおける工程s10間を切断する。
【0162】
ステップS84では、すべての工程先行制約関係30に対して切断可否判定処理が完了したかどうかを判定し、完了していればステップS85へ進み、完了していなければステップS81へ戻る。
【0163】
ステップS85では、これまでの処理で工程s10間が切断された結果、工程先行制約グラフが分割される場合、それらの部分的な工程先行制約グラフを部分工程先行制約グラフ(部分的な工程先行制約グラフ)としてそれぞれ生成する。
【0164】
具体的には、例えば、工程先行制約グラフのある工程s10から工程先行制約関係30でつながる工程s10を切断された部分まで辿ることにより、部分的な工程先行制約グラフとして生成することができる。これを工程先行制約グラフ内のすべての工程s10(特定した部分的な工程先行制約グラフに含まれる工程s10は除く)に対して実行する。これにより、分割されたすべての部分的な工程先行制約グラフを生成することができる。
【0165】
ステップS86では、ステップS85で生成された部分的な工程先行制約グラフから、分割を完了するかを判定し、分割完了する場合はリターンし、分割完了しない場合はステップS87へ進む。
【0166】
例えば、分割数(部分的な工程先行制約グラフの数)が規定値よりも大きければ、十分に分割されていると判断して分割完了可と判定し、そうでなければ分割完了否と判定する。また、分割したすべての部分的な工程先行制約グラフの大きさ(工程s10の数)が既定値よりも小さければ、十分に分割されていると判断して分割完了可と判定し、そうでなければ分割完了否と判定してもよい。さらに、十分に分割されているかどうかを判定できる条件であれば、その他の条件で判定してもよい。
【0167】
ステップS87では、工程先行制約グラフの分割処理において、工程s10間を切断するかどうかを判定するための切断条件を調整する。
【0168】
例えば、切断条件として、関連度40がある規定された値よりも小さければ、工程s10間の関連性が低いと判断して切断可と判定し、そうでなければ切断否と判定するような場合、関連度40の閾値を大きくする。その場合、閾値を現在値よりも+1大きい値にした条件にしてもよいし、閾値を現在値の2倍の値にした条件にしてもよい。また、切断条件として、切断可能な最大数(切断可能最大数)も規定しておき、現在の切断した回数が切断可能最大数以内であれば切断可とし、そうでなければ切断否と判定するような場合を想定する。この場合では、切断可能最大数を+1大きい値にした条件にしてもよいし、切断可能最大数を現在値の2倍の値にした条件にしてもよい。工程先行制約グラフがより分割しやすい条件であれば、その他の分割条件にしてもよい。
【0169】
このような構成によれば、工程s10間の関連度40に基づいて、工程先行制約グラフを分割して部分的に工程設計処理を行い、それらの結果を組み合わせて最終的な工程フローを生成することができる。
【0170】
したがって、工程s10に複数のリソース(設備)による協調動作を含む場合や複数の工程s10が並行して実行される場合のように問題が複雑な場合でも、次の効果を有する。つまり、工程設計として意味のある部分(工程s10間の関連性が低い箇所)で工程先行制約グラフを分割することができ、工程設計解をより短時間で生成することができる。なお、実施の形態1でも説明したように、設計情報から工程s10間の関連度40を自動的に算出して定義し、その関連度40に基づいて複雑な問題をより解きやすい問題に分割して解くことができる。したがって、最終的な設計解を更に短時間で生成することができる。
【0171】
なお、当該実施の形態3に係る機能を有する工程設計支援装置と、実施の形態2に係る機能を有する工程設計支援装置とを組み合わせた、工程設計支援装置を提供することもできる。
【図面の簡単な説明】
【0172】
【図1】実施の形態1に係る工程設計支援装置における、部品と工程の関係を表す情報の一例を示す図である。
【図2】実施の形態1に係る工程設計支援装置における、工程の情報を表す図である。
【図3】実施の形態1に係る工程設計支援装置における、工程先行制約グラフの一例を示す図である。
【図4】実施の形態1に係る工程設計支援装置における、関連度付きの工程先行制約グラフの一例を示す図である。
【図5】実施の形態1に係る工程設計支援装置における、工程グループ先行制約グラフの一例を示す図である。
【図6】実施の形態1に係る工程設計支援装置における、工程グループの情報を表す図である。
【図7】実施の形態1に係る工程設計支援装置で生成される、工程グループフローの一例を示す図である。
【図8】実施の形態1に係る工程設計支援装置で生成される、工程フローの一例を示す図である。
【図9】実施の形態1に係る工程設計支援装置で生成される、工程フローの別の例を示す図である。
【図10】実施の形態1に係る工程設計支援装置の構成を示す図である。
【図11】工程設計支援装置のハードウェア構成を示す図である。
【図12】実施の形態1に係る工程設計支援装置の工程設計処理のフローチャートである。
【図13】実施の形態1に係る工程設計支援装置の関連度定義処理のフローチャートである。
【図14】実施の形態1に係る工程設計支援装置の工程グルーピング処理のフローチャートである。
【図15】実施の形態1に係る工程設計支援装置の工程グループフロー生成処理のフローチャートである。
【図16】実施の形態1に係る工程設計支援装置の工程フロー生成処理のフローチャートである。
【図17】実施の形態1に係る工程設計支援装置の工程グループ内工程フロー生成処理のフローチャートである。
【図18】実施の形態2に係る工程設計支援装置の構成を示す図である。
【図19】実施の形態2に係る工程設計支援装置のグルーピング条件調整付き工程設計処理のフローチャートである。
【図20】実施の形態3に係る工程設計支援装置の構成を示す図である。
【図21】実施の形態3に係る工程設計支援装置の工程先行制約グラフ分割付き工程設計処理のフローチャートである。
【図22】実施の形態3による工程設計支援装置の工程先行制約グラフ分割処理のフローチャートである。
【符号の説明】
【0173】
10s 工程、11p 部品、20 工程情報、30 工程先行制約関係、40 関連度、50 工程グループ、51 工程グループ先行制約関係、52 グループ関連度、60 工程グループ情報、70 工程グループ実行順序関係、80 工程実行順序関係、100 工程設計処理部、101 設計情報記憶部、102 データ入出力部、103 工程関連定義部、104 工程グルーピング部、105 工程グループフロー生成部、106 工程フロー生成部、170 処理時間計測部、171 グルーピング条件調整部、190 工程先行制約グラフ分割部、220 入力部、221 記憶部、222 処理部、223 表示部。

【特許請求の範囲】
【請求項1】
複数の工程ブロックを並べることにより得られる、処理工程の実行順序を示す工程フローを、決定する工程設計支援装置において、
前記工程ブロック間の関連性の高さを示す関連度に基づいて、前記工程ブロックを所定のグループに属させるグルーピング処理を、前記複数の工程ブロックに対して実施する工程グルーピング部と、
各前記工程ブロック毎に規定される設計条件である設計情報に基づいて、前記グルーピング処理の結果生成された前記グループの各々を直列的若しくは並列的に並べた、工程グループフローを生成する工程グループフロー生成部と、
前記設計情報に基づいて、前記グループに属する各前記工程ブロックを直列的若しくは並列的に並べる工程フロー生成部とを、備えている、
ことを特徴とする工程設計支援装置。
【請求項2】
前記工程ブロックの順序制約を表す工程先行制約グラフにおいて、前記設計情報に基づいて、前記関連度を自動的に定義する工程関連度定義部を、さらに備えている、
ことを特徴とする請求項1に記載の工程設計支援装置。
【請求項3】
前記工程設計支援装置における、工程設計処理を実行する時間を計測する処理時間計測部と、
前記処理時間計測部による計測時間が、予め設定されている閾時間を超えたときに、前記グルーピング処理の条件を変更するグルーピング条件調整部とを、さらに備えている、
ことを特徴とする請求項1に記載の工程設計支援装置。
【請求項4】
前記関連度に基づいて、前記工程先行制約グラフを分割する工程先行制約グラフ分割部を、さらに備えており、
前記グルーピング部は、
前記工程先行制約グラフ分割部により分割された当該分割後の工程先行制約グラフに対して、前記グルーピング処理を実施する、
ことを特徴とする請求項2に記載の工程設計支援装置。

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


【公開番号】特開2009−184028(P2009−184028A)
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願番号】特願2008−23683(P2008−23683)
【出願日】平成20年2月4日(2008.2.4)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】