(57)【要約】【課題】組立ラインにおける総費用がより少なくなる作業編成を生成する。【解決手段】実施形態の作業編成装置は、入力部と、算出部と、探索部と、出力部とを有する。入力部は、組立ライン上の各工程に配置される人またはロボットの配置内容と、各工程への割り当て対象とする作業と、組立ラインのタクトタイムとを含む編成条件と、作業ごとの自動化の可否および作業時間を含む作業情報との入力を受け付ける。算出部は、編成条件および作業情報をもとに、各工程に配置される人またはロボットに作業を割り当てた場合の、人が配置された工程におけるサイクルタイムと、タクトタイムとの差を示す評価値を算出する。探索部は、算出された評価値を最小とする条件の最適化問題を解いて作業を各工程へ割り当てる組み合わせの作業編成を探索する。出力部は、探索された作業編成を出力する。【選択図】図１
2018026070.tif 000002
【特許請求の範囲】
【請求項１】
組立ライン上の各工程に配置される人またはロボットの配置内容と、前記各工程への割り当て対象とする作業と、前記組立ラインのタクトタイムとを含む編成条件と、前記作業ごとの自動化の可否および作業時間を含む作業情報との入力を受け付ける入力部と、
前記編成条件および前記作業情報をもとに、前記各工程に配置される人またはロボットに前記作業を割り当てた場合の、前記人が配置された工程におけるサイクルタイムと、前記タクトタイムとの差を示す評価値を算出する算出部と、
前記算出された評価値を最小とする条件の最適化問題を解いて前記作業を前記各工程へ割り当てる組み合わせの作業編成を探索する探索部と、
前記探索された作業編成を出力する出力部と
を有することを特徴とする作業編成装置。
【請求項２】
前記編成条件は、前記作業の順序についての制約条件を示す順序制約をさらに含み、
前記探索部は、前記作業を前記各工程へ割り当てる組み合わせの中から前記順序制約を満たす組み合わせの作業編成を探索する
ことを特徴とする請求項１に記載の作業編成装置。
【請求項３】
前記順序制約は、前記作業の順序に対応して付与される世代番号と、前記作業の分岐に対応して新たに番号が付与され、前記分岐の合流に対応して付与順の古い番号が引き継がれるファミリー番号とを含み、
前記探索部は、前記作業を前記各工程へ割り当てる組み合わせの中から前記順序制約における前記世代番号および前記ファミリー番号の順序に合う組み合わせの作業編成を探索する
ことを特徴とする請求項２に記載の作業編成装置。
【請求項４】
前記探索部は、前記タクトタイム内に前記サイクルタイムが収まる範囲で前記作業編成を探索し、前記タクトタイム内に前記サイクルタイムが収まる範囲の作業編成がない場合には、前記組立ライン上の各工程に配置されるロボットの配置位置の変更または前記ロボットを人へ変更して前記作業編成を探索する
ことを特徴とする請求項１乃至３のいずれか一項に記載の作業編成装置。
【請求項５】
前記算出部は、さらに、前記各工程に配置されるロボットに前記作業を割り当てた場合の、前記ロボットによる前記作業の実施にかかる難易度を算出し、
前記探索部は、さらに、前記算出された難易度を最小とする条件の最適化問題を解いて前記作業編成を探索する
ことを特徴とする請求項１乃至４のいずれか一項に記載の作業編成装置。
【請求項６】
組立ライン上の各工程に配置される人またはロボットの配置内容と、前記各工程への割り当て対象とする作業と、前記組立ラインのタクトタイムとを含む編成条件と、前記作業ごとの自動化の可否および作業時間を含む作業情報との入力を受け付け、
前記編成条件および前記作業情報をもとに、前記各工程に配置される人またはロボットに前記作業を割り当てた場合の、前記人が配置された工程におけるサイクルタイムと、前記タクトタイムとの差を示す評価値を算出し、
前記算出された評価値を最小とする条件の最適化問題を解いて前記作業を前記各工程へ割り当てる組み合わせの作業編成を探索し、
前記探索された作業編成を出力する
処理をコンピュータが実行することを特徴とする作業編成方法。
【請求項７】
組立ライン上の各工程に配置される人またはロボットの配置内容と、前記各工程への割り当て対象とする作業と、前記組立ラインのタクトタイムとを含む編成条件と、前記作業ごとの自動化の可否および作業時間を含む作業情報との入力を受け付け、
前記編成条件および前記作業情報をもとに、前記各工程に配置される人またはロボットに前記作業を割り当てた場合の、前記人が配置された工程におけるサイクルタイムと、前記タクトタイムとの差を示す評価値を算出し、
前記算出された評価値を最小とする条件の最適化問題を解いて前記作業を前記各工程へ割り当てる組み合わせの作業編成を探索し、
前記探索された作業編成を出力する
処理をコンピュータに実行させることを特徴とする作業編成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、作業編成装置、作業編成方法および作業編成プログラムに関する。
【背景技術】
【０００２】
従来、製品の組立を行う組立ラインの各工程へ作業を割り当てる作業編成は、各工程における作業順序の遵守や作業量の平準化などを考慮して最適化している。
【０００３】
この作業編成の従来技術として、部品の組み付け作業性を考慮して最適な部品の組立順序を決定し、決定された組付け作業順序に対し、各種制約条件を考慮の上、最適な組付け作業配分を組立ライン作業計画として作成する方法が知られている。また、各作業について、人で行った場合とロボットで行った場合の双方に対する時間と費用を求めておく。そして、人・ロボットの総作業時間（サイクルタイム）が生産計画から定められる制限時間（タクトタイム）内に納まり、かつ総費用が最も少ない割り当てを見つける方法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−５２１７８号公報
【非特許文献】
【０００５】
【非特許文献１】Ｂ．Ｒｅｋｉｅｋ  ｅｔ  ａｌ．，“Ａ  ｍｕｌｔｉｐｌｅ  ｏｂｊｅｃｔｉｖｅ  ｇｒｏｕｐｉｎｇ  ｇｅｎｅｔｉｃ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ａｓｓｅｍｂｌｙ  ｌｉｎｅ  ｄｅｓｉｇｎ，”  Ｊ．  Ｉｎｔｅｌｌ．  Ｍａｎｕｆ．，  １２，  ４６７  （２００１）．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術では、ロボットを用いた費用が人と同様に固定費として扱われており、ロボットのランニングコストが考慮されていない。例えば、人の場合は人数に応じた固定的な人件費が生じるが、ロボットの場合は作業数量や稼働時間に応じて変動するランニングコストが生じる。このため、ロボットに割り当てられる作業によってロボットの稼動時間が長くなる作業編成では、実際には組立ラインにおける総費用が高くなる場合がある。
【０００７】
１つの側面では、組立ラインにおける総費用がより少なくなる作業編成を生成できる作業編成装置、作業編成方法および作業編成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、作業編成装置は、入力部と、算出部と、探索部と、出力部とを有する。入力部は、組立ライン上の各工程に配置される人またはロボットの配置内容と、各工程への割り当て対象とする作業と、組立ラインのタクトタイムとを含む編成条件と、作業ごとの自動化の可否および作業時間を含む作業情報との入力を受け付ける。算出部は、編成条件および作業情報をもとに、各工程に配置される人またはロボットに作業を割り当てた場合の、人が配置された工程におけるサイクルタイムと、タクトタイムとの差を示す評価値を算出する。探索部は、算出された評価値を最小とする条件の最適化問題を解いて作業を各工程へ割り当てる組み合わせの作業編成を探索する。出力部は、探索された作業編成を出力する。
【発明の効果】
【０００９】
本発明の１実施態様によれば、組立ラインにおける総費用がより少なくなる作業編成を生成できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態にかかる作業編成装置の機能構成例を示すブロック図である。
【図２】図２は、組立ラインを説明する説明図である。
【図３】図３は、組立ラインにおけるサイクルタイムとタクトタイムを説明する説明図である。
【図４】図４は、組立ラインにおける作業順序を説明する説明図である。
【図５】図５は、実施形態にかかる作業編成装置の動作例を示すフローチャートである。
【図６】図６は、実施形態にかかる作業編成装置のハードウエア構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態にかかる作業編成装置、作業編成方法および作業編成プログラムを説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する作業編成装置、作業編成方法および作業編成プログラムは、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１２】
図１は、実施形態にかかる作業編成装置の機能構成例を示すブロック図である。図１に示すように、作業編成装置１は、例えばＰＣ（Personal  Computer）などの情報処理装置であり、入力部１１、評価値算出部１２、探索部１３および出力部１４を有する。
【００１３】
作業編成装置１は、作業ＤＢ２や編成条件３などの入力データをもとに、製品の組立を行う組立ラインの各工程に対して製品の組み立て作業（以下、作業）を割り当てる作業編成を行い、作業編成の結果を出力する。
【００１４】
図２は、組立ラインを説明する説明図である。図２に示すように、製品の組み立てを行う組立ライン２０は、本実施形態の一例として工程Ａから工程Ｄの４工程を有する。
【００１５】
組立ライン２０では、生産計画から定められるタクトタイム（制限時間）に従ってベルトコンベア（図示しない）などにより製品を次の工程へ搬送する。組立ライン２０の各工程には、ロボット２１Ａまたは作業員２１Ｂ〜２１Ｄが配置される。図示例では、工程Ａにはロボット２１Ａが配置され、工程Ｂ〜工程Ｄには作業員２１Ｂ〜２１Ｄがそれぞれ配置される。
【００１６】
組立ライン２０の工程Ａから工程Ｄには、作業編成装置１の作業編成により、各工程における総作業時間（サイクルタイム）がタクトタイム内に収まるように作業が割り当てられている。各工程に配置されたロボット２１Ａまたは作業員２１Ｂ〜２１Ｄは、組立ライン２０において搬送される製品に対して作業編成により割り当てられた作業を実施して製品を製造する。
【００１７】
なお、組立ライン２０の構成例は、図２に例示した構成に限定するものではない。例えば、組立ライン２０は、４工程以上の工程数を有してもよい。また、ロボット２１Ａの配置位置は工程Ａ以外であってもよく、ロボット２１Ａは複数あってもよい。
【００１８】
図３は、組立ライン２０におけるサイクルタイムとタクトタイムを説明する説明図である。図３に示すように、工程Ａ〜Ｄには、作業編成装置１の作業編成により、総作業時間であるサイクルタイムＴａ〜ＴｄがタクトタイムＴ内にほぼ収まるように作業Ｊ１、Ｊ２が割り当てられる。
【００１９】
作業Ｊ１は、自動化が可能でありロボット２１Ａへ割り当てることが可能な作業である。作業Ｊ２は、自動化ができずにロボット２１Ａへ割り当てることができない作業である。作業編成装置１は、各作業における自動化の可否を示す情報（例えばフラグ）をもとに、自動化が可能な作業Ｊ１をロボット２１Ａが配置された工程Ａに割り当てる。
【００２０】
また、作業編成装置１は、工程Ｂ〜Ｄに配置された作業員２１Ｂ〜２１ＤにおけるサイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの差を最小化する条件で組み合わせ最適化問題を解いて作業Ｊ１、Ｊ２を各工程に割り当てる組み合わせを求める。次いで、作業編成装置１は、求めた組み合わせを作業編成の結果として出力する。このように、作業編成装置１は、可能なかぎり作業員２１Ｂ〜２１Ｄに作業Ｊ１、Ｊ２を割り当てる組み合わせを求めることで、ロボット２１Ａの稼動時間（サイクルタイムＴａ）を抑え、ロボット２１Ａのランニングコストを低減可能とする作業編成を行う。
【００２１】
図１に戻り、入力部１１は、ユーザの操作入力などにより編成条件３の入力を受け付ける。また、入力部１１は、作業編成において割り当て対象となる作業Ｊ１、Ｊ２についての各種情報が格納された作業ＤＢ２を参照する。この作業ＤＢ２を参照することで、入力部１１は、作業Ｊ１、Ｊ２ごとの自動化の可否、作業時間、作業の難易度などを含む作業情報の入力を受け付ける。
【００２２】
編成条件３は、作業編成を行うための各種条件であり、ＧＵＩ（グラフィカル・ユーザー・インターフェース）などを介した操作入力などによりユーザより設定される。例えば、編成条件３には、組立ライン２０におけるタクトタイムＴが含まれる。また、編成条件３には、組立ライン２０上の各工程（Ａ〜Ｄ）に配置される作業員２１Ｂ〜２１Ｄまたはロボット２１Ａの配置内容が含まれる。
【００２３】
また、編成条件３には、組立ライン２０上の各工程（Ａ〜Ｄ）への割り当て対象とする作業Ｊ１、Ｊ２が含まれる。具体的には、編成条件３には、割り当て対象とする作業Ｊ１、Ｊ２を示す識別情報（例えば「Ｊｏｂ＋識別番号」）が含まれる。
【００２４】
また、編成条件３には、作業Ｊ１、Ｊ２を各工程に割り当てる組み合わせを求める際の評価値に掛け合わせる重みが含まれる。また、編成条件３には、作業Ｊ１、Ｊ２の各工程への初期割り当てを行うアルゴリズム（例えばＦｉｒｓｔ  Ｆｉｔ法、Ｓｔｒｏｎｇｅｓｔ  Ｆｉｔ法など）が含まれる。また、編成条件３には、作業Ｊ１、Ｊ２を各工程に割り当てる組み合わせを求める際の探索アルゴリズム（山登り法、タブーサーチ、焼きなまし法など）が含まれる。また、編成条件３には、作業Ｊ１、Ｊ２を各工程に割り当てる組み合わせを探索する際の停止条件（許容ペナルティ値、最大探索時間など）が含まれる。
【００２５】
また、編成条件３には、製品を完成品にまで組み立てあげるまでの作業Ｊ１、Ｊ２の順序についての制約条件を示す順序制約（先行制約とも呼ぶ）が含まれる。具体的には、順序制約は、作業Ｊ１、Ｊ２の各々をノードとし、完成品に至るまでのノードの順序関係を有向非循環グラフで表現可能な情報であり、ＧＵＩなどで設定される。
【００２６】
図４は、組立ライン２０における作業順序を説明する説明図である。図４において、ノード３０は、作業Ｊ１、Ｊ２を表す。また、２つのノード３０間に先行関係がある場合は、先に行う作業Ｊ１、Ｊ２（親ノード）からあとに行う作業Ｊ１、Ｊ２（子ノード）へ矢印を引いている。図４に示すように、完成品に至るまでのノード３０の順序関係（作業順序）は有向非循環グラフで表現される。
【００２７】
この順序関係を表すため、入力部１１では、順序制約をもとに、作業Ｊ１、Ｊ２（ノード３０）に「♯［ファミリー番号］−［世代番号］」とする番号を付与する。具体的には、入力部１１は、親ノードの番号（♯ｉ−ｊ）である場合に、子ノードに対して♯ｉ−（ｊ＋１）の番号を付与する。
【００２８】
また、入力部１１は、子ノードが複数ある分岐部分３１では、２つ目以降の子ノードに対しては、ｉの代わりに新規にファミリー番号ｋを取得し、親ノードに♯ｋ−０を、子ノードに♯ｋ−１を新たに付与する。
【００２９】
また、親ノードが複数ある合流部分３２では、それぞれの親ノードから子ノードに対して複数の番号が付与されるが、その次の子ノードに全ての番号を引き継ぐ必要はない。入力部１１は、合流部分３２の次の子ノードについては、ファミリー番号の最も若い番号（付与順の古い番号）を付与する。
【００３０】
作業編成装置１では、この作業Ｊ１、Ｊ２（ノード３０）に付与された番号を用いて、「同一ファミリー内の上の世代（親）を下の世代（子）より後の工程に割り当てた場合にペナルティを追加」することで、先行制約に対する違反の有無を評価できる。
【００３１】
評価値算出部１２は、編成条件３および作業ＤＢ２の作業情報をもとに、作業Ｊ１、Ｊ２を各工程に割り当てる組み合わせを求める組み合わせ最適化問題を解く際の評価値を算出する。具体的には、評価値算出部１２は、人（２１Ｂ〜２１Ｄ）が配置された工程（Ｂ〜Ｄ）におけるサイクルタイム（Ｔｂ〜Ｔｄ）と、タクトタイムＴとの差を示す評価値を算出する。
【００３２】
また、評価値算出部１２は、作業Ｊ１、Ｊ２（ノード３０）に付与された番号を用いて、先行制約に対する違反の有無を評価する評価値（ペナルティ値）を算出する。また、評価値算出部１２は、ロボット２１Ａに作業Ｊ１を割り当てた場合の、ロボット２１Ａによる作業Ｊ１の実施にかかる難易度を、作業情報に含まれる難易度の情報をもとに算出する。具体的には、評価値算出部１２は、ロボット２１Ａに割り当てられた作業Ｊ１の難易度の合計値を求める。
【００３３】
探索部１３は、評価値算出部１２より算出された評価値を最小とする条件の最適化問題を解いて作業Ｊ１、Ｊ２を各工程（Ａ〜Ｄ）へ割り当てる組み合わせの作業編成を探索する。出力部１４は、探索部１３より探索された作業編成をファイル出力やディスプレイへの表示出力などで出力する。
【００３４】
図５は、実施形態にかかる作業編成装置１の動作例を示すフローチャートである。図５に示すように、処理が開始されると、入力部１１は、編成条件３や作業情報などのデータ入力を受け付ける（Ｓ１）。
【００３５】
次いで、評価値算出部１２は、編成条件３に含まれる作業Ｊ１、Ｊ２の各工程への初期割り当てを生成する（Ｓ２）。具体的には、評価値算出部１２は、編成条件３に含まれる初期割り当てを行うアルゴリズムをもとに、例えばＦｉｒｓｔ  Ｆｉｔ法、Ｓｔｒｏｎｇｅｓｔ  Ｆｉｔ法などのヒューリスティック手法を利用して初期割り当てを生成する。
【００３６】
次いで、評価値算出部１２は、作業Ｊ１、Ｊ２の各工程への割り当てから近傍解を生成する（Ｓ３）。具体的には、評価値算出部１２は、割り当てられた作業Ｊ１、Ｊ２における２つの作業の入れ替えや１つの作業の移動などを行って近傍解を生成する。
【００３７】
次いで、評価値算出部１２は、組み合わせ最適化問題を解く際の評価値を算出する（Ｓ４〜Ｓ６）。具体的には、評価値算出部１２は、先行制約の違反数（例えば「同一ファミリー内の上の世代（親）を下の世代（子）より後の工程に割り当てた場合にペナルティを追加」）から、違反数に対応するペナルティ値を算出する（Ｓ４）。
【００３８】
次いで、評価値算出部１２は、ロボット２１Ａに割り当てられた作業Ｊ１の難易度の合計値から、ロボット２１Ａによる作業Ｊ１の実施に対応するペナルティ値を算出する（Ｓ５）。ロボット２１Ａに割り当てられた作業Ｊ１の難易度が高いほど高機能なロボット２１Ａを用意する必要があることから、ロボット２１Ａのイニシャルコストが高くなる。よって、Ｓ５で算出されるペナルティ値はロボット２１Ａのイニシャルコストに関係性のある値であり、ペナルティ値を最小とすることでロボット２１Ａのイニシャルコストを抑えることができる。
【００３９】
次いで、評価値算出部１２は、各作業者（２１Ｂ〜２１Ｄ）に割り当てられた作業Ｊ１、Ｊ２と、作業情報に含まれる作業時間とをもとに、各作業者が割り当てられた作業Ｊ１、Ｊ２を実施する総作業時間（サイクルタイムＴｂ〜Ｔｄ）を求める。次いで、評価値算出部１２は、各作業員（２１Ｂ〜２１Ｄ）のサイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの残差平方和（Ｌ２ノルム）から評価値（ペナルティ値）を算出する（Ｓ６）。
【００４０】
なお、各作業者（２１Ｂ〜２１Ｄ）のサイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの評価値は、本実施形態ではＬ２ノルムとしたが、Ｌ１ノルム（サイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの差の絶対値の総和）であってもよく、特に限定しない。
【００４１】
次いで、探索部１３は、評価値算出部１２より算出された評価値（ペナルティ値）をもとに、編成条件３に含まれる探索アルゴリズムにしたがって、近傍解を採用するか否か、すなわち作業Ｊ１、Ｊ２の割り当てを更新するか否かを判定する（Ｓ７）。
【００４２】
例えば、探索部１３は、ペナルティ値がよくなる（小さくなる）ときは近傍解を採用とする。この採用のルールについては、山登り法、タブーサーチ、焼きなまし法などの探索アルゴリズムに準じて異なるものとなり、例えばペナルティ値が悪くなる（大きくなる）場合でも近傍解の採用となる場合もある。
【００４３】
なお、Ｓ４〜Ｓ６のように、最適化問題における最適化条件として複数のペナルティ値を求めている場合、全体のペナルティ値の扱いについては、次の方法で行う。
【００４４】
ペナルティ値を扱う方法の一つとしては、重み（ｗｉ）を導入し、次の式（１）のように、各ペナルティ値（Ｐｉ）の重み付き和で全体のペナルティ値（Ｐ）を算出する。なお、重み（ｗｉ）については、編成条件３に含まれ、予めユーザにより設定されるものとする。
【００４５】
【数１】
2018026070.tif 000003
【００４６】
また、ペナルティ値を扱う方法の一つとしては、優先順位の高い条件から順にペナルティ（Ｐｉ）を改善するようにしてもよい。例えば、順序制約を満たす組み合わせの作業編成を優先するため、Ｓ４で求めた先行制約の違反数に対応するペナルティ値を改善する組み合わせ（近傍解）から求めるようにする。次いで、Ｓ５またはＳ６で求めたペナルティ値を改善する組み合わせを求めるようにしてもよい。
【００４７】
また、ペナルティ値を扱う方法の一つとしては、上記の２つの方法の組み合わせであってもよい。なお、組み合わせ方については、ユーザ指定として編成条件３に含まれていてもよい。
【００４８】
探索部１３は、作業Ｊ１、Ｊ２の割り当てを更新しない場合（Ｓ７：ＮＯ）、新たな近傍解の生成を行うためＳ３へ処理を戻す。なお、Ｓ３に処理を戻して新たな近傍解より探索を行う場合、探索部１３は、組立ライン２０上の各工程に配置されるロボット２１Ａの配置位置の変更またはロボット２１Ａを人（作業員）へ変更して組み合わせの探索をおこなってもよい。この場合には、より広範な条件についての、作業Ｊ１、Ｊ２の割り当てを求めることができる。
【００４９】
また、探索部１３は、作業Ｊ１、Ｊ２の割り当てを更新する場合（Ｓ７：ＹＥＳ）、以前の処理までに求めていた作業Ｊ１、Ｊ２の割り当てを、近傍解の割り当てで更新する（Ｓ８）。
【００５０】
このように、探索部１３は、工程Ｂ〜Ｄに配置された作業員２１Ｂ〜２１ＤにおけるサイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの差を最小化する条件で組み合わせ最適化問題を解いて作業Ｊ１、Ｊ２を各工程に割り当てる組み合わせを探索する。また、探索部１３は、先行制約の違反数に対応するペナルティ値をもとに、作業Ｊ１、Ｊ２を各工程へ割り当てる組み合わせの中から順序制約を満たす組み合わせの作業編成を探索する。また、探索部１３は、ロボット２１Ａに割り当てられた作業Ｊ１の難易度の総和をより小さくする組み合わせを探索する。
【００５１】
次いで、探索部１３は、編成条件３に含まれる探索の停止条件（許容ペナルティ値、最大探索時間など）をクリアしているか否かを判定する（Ｓ９）。
【００５２】
例えば、探索部１３は、Ｓ４〜Ｓ６で算出されたペナルティ値が許容ペナルティ値を満たしている場合は停止条件をクリアしたもの（Ｓ９：ＹＥＳ）と判定する。また、探索部１３は、Ｓ３〜Ｓ８における組み合わせの探索に要した処理時間が最大探索時間を超えた場合は、十分に探索し尽くして停止条件をクリアしたもの（Ｓ９：ＹＥＳ）と判定する。
【００５３】
Ｓ９で肯定（ＹＥＳ）の場合、出力部１４は、Ｓ３〜Ｓ８において求められた作業Ｊ１、Ｊ２の割り当て（作業編成）の結果を出力する（Ｓ１０）。Ｓ９で否定（ＮＯ）の場合、探索部１３は、Ｓ３へ処理を戻して探索を継続する。
【００５４】
以上のように、作業編成装置１は、入力部１１と、評価値算出部１２と、探索部１３と、出力部１４とを有する。入力部１１は、組立ライン２０上の各工程に配置される作業員２１Ｂ〜２１Ｄまたはロボット２１Ａの配置内容と、各工程への割り当て対象とする作業Ｊ１、Ｊ２と、タクトタイムＴとを含む編成条件３の入力を受けける。また、入力部１１は、作業ＤＢ２より、作業Ｊ１、Ｊ２ごとの自動化の可否および作業時間を示す作業情報の入力を受け付ける。評価値算出部１２は、編成条件３および作業情報をもとに、各工程に配置される作業員２１Ｂ〜２１Ｄまたはロボット２１Ａに作業Ｊ１、Ｊ２を割り当てた場合の、作業員２１Ｂ〜２１Ｄが配置された工程Ｂ〜ＤにおけるサイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの差を示す評価値を算出する。探索部１３は、評価値算出部１２により算出された評価値を最小とする条件の最適化問題を解いて作業Ｊ１、Ｊ２を各工程へ割り当てる組み合わせの作業編成を探索する。出力部１４は、探索部１３により探索された作業編成を出力する。
【００５５】
これにより、作業編成装置１は、作業員２１Ｂ〜２１Ｄが配置された工程Ｂ〜ＤにおけるサイクルタイムＴｂ〜Ｔｄと、タクトタイムＴとの差が最小となる作業編成を生成することができ、ロボット２１Ａが配置された工程ＡにおけるサイクルタイムＴａ（稼働時間）を抑えることができる。ロボット２１Ａについては稼働時間に応じたランニングコストが生じ、作業員２１Ｂ〜２１Ｄについては人数分の人件費（固定費）が生じる。よって、ロボット２１Ａが配置された工程ＡにおけるサイクルタイムＴａを抑えることで、組立ライン２０における総費用がより少なくなる作業編成を生成することができる。
【００５６】
また、探索部１３は、先行制約の違反数に対応するペナルティ値をもとに、順序制約を満たす組み合わせの作業編成を探索することから、製品を組み立てる際の作業の順序にしたがった作業編成を生成することができる。
【００５７】
また、探索部１３は、ロボット２１Ａに割り当てられた作業Ｊ１の難易度の総和をより小さくする組み合わせを探索することから、ロボット２１Ａのイニシャルコストを抑えた作業編成を生成することができる。
【００５８】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００５９】
また、作業編成装置１で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、作業編成装置１で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【００６０】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図６は、実施形態にかかる作業編成装置１のハードウエア構成例を示すブロック図である。
【００６１】
図６に示すように、作業編成装置１は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３と、スピーカ１０４とを有する。また、作業編成装置１は、記憶媒体からプログラム等を読み取る媒体読取装置１０５と、各種装置と接続するためのインタフェース装置１０６と、有線または無線により外部機器と通信接続するための通信装置１０７とを有する。また、作業編成装置１は、各種情報を一時記憶するＲＡＭ１０８と、ハードディスク装置１０９とを有する。また、作業編成装置１内の各部（１０１〜１０９）は、バス１１０に接続される。
【００６２】
ハードディスク装置１０９には、上記の実施形態で説明した入力部１１、評価値算出部１２、探索部１３および出力部１４における各種の処理を実行するためのプログラム１１１が記憶される。また、ハードディスク装置１０９には、プログラム１１１が参照する各種データ１１２（例えば作業ＤＢ２など）が記憶される。入力装置１０２は、例えば、作業編成装置１の操作者から操作情報の入力を受け付ける。モニタ１０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置１０６は、例えば印刷装置等が接続される。通信装置１０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００６３】
ＣＰＵ１０１は、ハードディスク装置１０９に記憶されたプログラム１１１を読み出して、ＲＡＭ１０８に展開して実行することで、各種の処理を行う。なお、プログラム１１１は、ハードディスク装置１０９に記憶されていなくてもよい。例えば、作業編成装置１が読み取り可能な記憶媒体に記憶されたプログラム１１１を読み出して実行するようにしてもよい。作業編成装置１が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラム１１１を記憶させておき、作業編成装置１がこれらからプログラム１１１を読み出して実行するようにしてもよい。
【符号の説明】
【００６４】
１…作業編成装置
２…作業ＤＢ
３…編成条件
１１…入力部
１２…評価値算出部
１３…探索部
１４…出力部
２０…組立ライン
２１Ａ…ロボット
２１Ｂ〜２１Ｄ…作業員
３０…ノード
３１…分岐部分
３２…合流部分
１０１…ＣＰＵ
１０２…入力装置
１０３…モニタ
１０４…スピーカ
１０５…媒体読取装置
１０６…インタフェース装置
１０７…通信装置
１０８…ＲＡＭ
１０９…ハードディスク装置
１１０…バス
１１１…プログラム
１１２…各種データ
Ａ〜Ｄ…工程
Ｊ１、Ｊ２…作業
Ｔ…タクトタイム
Ｔａ〜Ｔｄ…サイクルタイム
【図１】
2018026070.tif 000004
【図２】
2018026070.tif 000005
【図３】
2018026070.tif 000006
【図４】
2018026070.tif 000007
【図５】
2018026070.tif 000008
【図６】
2018026070.tif 000009