(57)【要約】【課題】簡易に作業編成を行う。【解決手段】近傍解生成部１２は、組立ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具、設備を割り振ることで、近傍解を生成し、目的関数算出部１４は、近傍解ごとに、治工具、設備の減価償却費に基づいて、組立ライン全体における１日当たりの減価償却費（目的関数Ｅ1）を算出するとともに、組立ラインのタクトタイムと組立ラインで作業する作業者のサイクルタイムとから各作業者の残業時間を算出し、算出した残業時間に基づいて、１日当たりの組立ラインの人件費（目的関数Ｅ6又はＥ5）を算出する。そして、探索部１５は、近傍解ごとに、目的関数算出部１４が算出した費用の合計を算出し、合計に基づいて組立ラインに実際に割り振る作業者、治工具、設備を決定する。【選択図】図２
2018116507.tif 000002
【特許請求の範囲】
【請求項１】
製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振る割り振り部と、
前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出する算出部と、
前記割り振り部による割り振りごとに、前記算出部が算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する決定部と、を備える作業編成装置。
【請求項２】
前記算出部は、前記割り振り部が前記製造ラインにロボットを割り振った場合に、前記ロボットの稼働時間に基づいて前記所定期間あたりの前記ロボットのランニングコストを算出する、ことを特徴とする請求項１に記載の作業編成装置。
【請求項３】
前記割り振り部が、既存ラインを基準として、前記作業者、前記治工具及び／又は前記設備の割り振りを変更する場合、
前記算出部は、前記作業者、前記治工具及び／又は前記設備の割り振りの変更により生じる配置替え費用に基づいて、前記所定期間当たりの配置換え費用を算出することを特徴とする請求項１又は２に記載の作業編成装置。
【請求項４】
前記算出部は、前記割り振り部がロボットに対して実施できない作業を割り振った場合に、前記ロボットの開発費用及び／又はティーチング費用に基づいて、所定期間当たりの開発費用及び／又はティーチング費用を算出することを特徴とする、請求項１〜３のいずれか一項に記載の作業編成装置。
【請求項５】
前記算出部が、前記所定期間当たりの前記製造ラインの人件費を算出する場合、前記作業者ごとの前記所定期間当たりの賃金の情報を取得し、取得した所定期間ごとの各作業者の賃金の情報に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出する、ことを特徴とする請求項１〜４のいずれか一項に記載の作業編成装置。
【請求項６】
製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振り、
前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる前記各作業者の残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出し、
前記割り振りする処理の割り振りごとに、前記算出する処理において算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する、処理をコンピュータが実行することを特徴とする作業編成方法。
【請求項７】
製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振り、
前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる前記各作業者の残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出し、
前記割り振りする処理の割り振りごとに、前記算出する処理において算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する、処理をコンピュータに実行させることを特徴とする作業編成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業編成装置、作業編成方法及び作業編成プログラムに関する。
【背景技術】
【０００２】
従来、製品の組立を行う組立ラインの各工程へ作業を割当てる作業編成においては、各工程における作業順序の遵守や作業量の平準化などを考慮して最適化を行っている。この最適化処理は、手作業では困難なことから、作業編成の考慮点に関する情報をオペレータに提供する技術（例えば、特許文献１参照）や、様々なアルゴリズムを用いた技術が提案されている。
【０００３】
アルゴリズムを用いた技術としては、目的関数を作って、それに従った最適解を探索する技術が知られている。この技術において、最適化項目が複数ある場合には、項目毎に目的関数を作り、重み付き和により全体の目的関数を作るのが一般的である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２８７７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、重み付き和の重み、すなわちどの項目をどの程度重視するかは自明ではない。このため、組立ライン毎に試行錯誤して重みを定める必要があり、経験や勘が必要で、手間のかかる作業である。
【０００６】
１つの側面では、本発明は、簡易に作業編成を行うことが可能な作業編成装置、作業編成方法及び作業編成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、作業編成装置は、製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振る割り振り部と、前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出する算出部と、前記割り振り部による割り振りごとに、前記算出部が算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する決定部と、を備えている。
【発明の効果】
【０００８】
簡易に作業編成を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る作業編成装置の構成を概略的に示す図である。
【図２】作業編成装置の機能ブロック図である。
【図３】組立ラインの構成例を示す図である。
【図４】図４（ａ）は、作業ＤＢのデータ構造の一例を示す図であり、図４（ｂ）は、治工具・設備・ロボットＤＢのデータ構造の一例を示す図である。
【図５】図５（ａ）は、人件費ＤＢ（技能レベル別）のデータ構造の一例を示す図であり、図５（ｂ）は、人件費ＤＢ（個人別）のデータ構造の一例を示す図である。
【図６】組立ラインにおける作業順序を説明する説明図である。
【図７】目的関数（１）を説明するための図である。
【図８】図８（ａ）、図８（ｂ）は、目的関数（２）を説明するための図である。
【図９】目的関数（３）を説明するための図である。
【図１０】目的関数（４）を説明するための図である。
【図１１】目的関数（５）、（６）を説明するための図である。
【図１２】全体処理を示すフローチャートである。
【図１３】算出対象の目的関数の設定処理を示すフローチャートである。
【図１４】目的関数（１）の算出処理を示すフローチャートである。
【図１５】目的関数（２）の算出処理を示すフローチャートである。
【図１６】目的関数（３）の算出処理を示すフローチャートである。
【図１７】目的関数（４）の算出処理を示すフローチャートである。
【図１８】目的関数（５）の算出処理を示すフローチャートである。
【図１９】目的関数（６）の算出処理を示すフローチャートである。
【図２０】変形例を示す図である。
【発明を実施するための形態】
【００１０】
以下、作業編成装置の一実施形態について、図１〜図１９に基づいて詳細に説明する。
【００１１】
図１には、一実施形態に係る作業編成装置１０のハードウェア構成が示されている。本実施形態の作業編成装置１０は、例えばＰＣ（Personal Computer）などの情報処理装置であり、図１に示すように、ＣＰＵ（Central Processing Unit）１９０、ＲＯＭ（Read Only Memory）１９２、ＲＡＭ（Random Access Memory）１９４、記憶部（ここではＨＤＤ（Hard Disk Drive））１９６、ネットワークインタフェース１９７、及び可搬型記憶媒体用ドライブ１９９、表示部１９３、入力部１９５等を備えている。表示部１９３は液晶ディスプレイ等を含み、入力部１９５は、キーボードやマウス、タッチパネル等を含む。これら作業編成装置１０の構成各部は、バス１９８に接続されている。作業編成装置１０では、ＲＯＭ１９２あるいはＨＤＤ１９６に格納されているプログラム（作業編成プログラムを含む）、或いは可搬型記憶媒体用ドライブ１９９が可搬型記憶媒体１９１から読み取ったプログラム（作業編成プログラムを含む）をＣＰＵ１９０が実行することにより、図２に示す各部の機能が実現される。なお、図２には、作業編成装置１０のＨＤＤ１９６等に格納されている作業ＤＢ（database）２、治工具・設備・ロボットＤＢ３、人件費ＤＢ４についても図示されている。なお、可搬型記憶媒体１９１は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal Serial Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリなどである。
【００１２】
図２は、作業編成装置１０の機能ブロック図である。作業編成装置１０では、ＣＰＵ１９０がプログラムを実行することにより、図２に示すように、入力受付部１１と、割り振り部としての近傍解生成部１２と、目的関数設定部１３と、算出部としての目的関数算出部１４と、決定部としての探索部１５と、出力部１６と、を備える。
【００１３】
作業編成装置１０は、組立ライン（製造ライン）の立ち上げ時や、生産変動やリソース変動などにより組立ラインの編成を行う必要が生じたときに、各ＤＢ２，３，４や編成条件５などの入力データをもとに、各工程に対して作業を割当てる（割り振る）作業編成を行い、作業編成の結果を出力する装置である。
【００１４】
図３は、組立ラインを説明する説明図である。図３に示すように、製品の組み立てを行う組立ライン２０は、一例として、工程Ａから工程Ｄの４工程を有するものとする。
【００１５】
組立ライン２０では、ベルトコンベア（不図示）などにより製品を工程から工程へ搬送する。組立ライン２０の各工程には、ロボット２１Ａまたは作業員２１Ｂ〜２１Ｄが配置される。図３の例では、工程Ａにはロボット２１Ａが配置され、工程Ｂ〜工程Ｄには作業員２１Ｂ〜２１Ｄがそれぞれ配置されている。工程Ａから工程Ｄに配置されたロボット２１Ａまたは作業員２１Ｂ〜２１Ｄは、組立ライン２０において搬送される製品に対して作業編成又は作業再編成により割当てられた作業を実施して製品を製造する。
【００１６】
なお、組立ライン２０の構成例は、図３に例示した構成に限定するものではない。例えば、組立ライン２０は、４工程以上の工程数を有してもよい。また、ロボット２１Ａの配置位置は工程Ａ以外であってもよく、ロボットは複数あってもよい。
【００１７】
図２に戻り、入力受付部１１は、管理者の操作入力などにより編成条件５の入力を受け付ける。また、入力受付部１１は、作業編成において割当て対象となる作業についての各種情報が格納された作業ＤＢ２を参照する。なお、入力受付部１１が入力を受け付けた編成条件５は、近傍解生成部１２と、目的関数設定部１３と、目的関数算出部１４と、探索部１５においても利用できるものとする。また、近傍解生成部１２と、目的関数設定部１３と、目的関数算出部１４と、探索部１５は、入力受付部１１を介して、作業ＤＢ２を参照できるものとする。ここで、作業ＤＢ２は、図４（ａ）に示すようなデータ構造を有する。具体的には、作業ＤＢ２は、図４（ａ）に示すように、「作業ＩＤ」、「先行制約番号組」、「作業時間」、「技能レベル」、「治工具・設備」、「ロボット化開発費用」、「再編成前担当番号」の各フィールドを有する。「作業ＩＤ」のフィールドには、作業の識別番号（図７、図８等に示す「Ｊｏｂ」に続く２桁の番号）が格納される。「先行制約番号組」のフィールドには、作業の親子関係を示す番号組が格納される。先行制約番号組からは、どの作業の次にどの作業を行う必要があるかを認識することができる。なお、先行制約番号組の詳細については後述する。「作業時間」のフィールドには、各作業に要する時間（秒）が格納される。「技能レベル」のフィールドには、各作業を実行可能な技能レベルが格納される。例えば、技能レベル＝２の作業については、技能レベル２以上（２，３…）の作業者が実行できる作業であることを意味している。「治工具・設備」のフィールドには、各作業において用いる治工具や設備の情報が格納される。「ロボット化開発費用」のフィールドには、各装置をロボットに行わせる場合の開発やティーチングに要する費用が格納される。「再編成前の担当番号」のフィールドには、再編成前に各作業が割り振られていた担当の番号が格納される。なお、これまでに作業編成が一切行われていない作業については、「再編成前の担当番号」のフィールドは空欄となる。
【００１８】
ここで、作業ＤＢ２の先行制約番号組について詳細に説明する。先行制約番号組は、製品を完成品に組み立てあげるまでの作業の順序についての制約条件を示す順序制約を示す番号組である。具体的には、順序制約は、作業の各々をノードとし、完成品に至るまでのノードの順序関係を有向非循環グラフで表現可能な情報である。
【００１９】
図６は、組立ライン２０における作業順序を説明する説明図である。図６において、ノード３０は、作業を表す。また、２つのノード３０間に先後関係がある場合は、先に行う作業（親ノード）からあとに行う作業（子ノード）へ矢印を引いている。図６に示すように、完成品に至るまでのノード３０の順序関係（作業順序）は有向非循環グラフで表現される。
【００２０】
この順序関係を表すため、作業ＤＢ２では、順序制約をもとに、作業（ノード３０）に「♯［ファミリー番号］−［世代番号］」とする番号を付与している。具体的には、親ノードの番号が♯ｉ−ｊである場合に、子ノードに対して♯ｉ−（ｊ＋１）の番号が付与される。また、子ノードが複数ある分岐部分３１では、２つ目以降の子ノードに対して、ｉの代わりに新規にファミリー番号ｋが付与され、親ノードに♯ｋ−０、子ノードに♯ｋ−１が新たに付与される。
【００２１】
また、親ノードが複数ある合流部分３２では、それぞれの親ノードから子ノードに対して複数の番号が付与されるが、その次の子ノードに全ての番号を引き継ぐ必要はない。すなわち、合流部分３２の次の子ノードについては、ファミリー番号の最も若い番号（付与順の古い番号）が付与される。
【００２２】
作業編成装置１０では、この作業（ノード３０）に付与された番号を用いて、「同一ファミリー内の上の世代（親）を下の世代（子）より後の工程に割当てた場合に違反する」と扱うことで、先行制約に対する違反の有無を評価できる。
【００２３】
図２に戻り、編成条件５は、作業の編成を行うための各種条件であり、入力部１９５を介した操作入力などにより管理者より設定される。例えば、編成条件５には、「初期割当てを行うアルゴリズム」、「利用する探索アルゴリズム」、「探索停止条件」が含まれる。本実施形態では、管理者は、作業の各工程への初期割当てを行うアルゴリズムとして、例えばＦｉｒｓｔ  Ｆｉｔ法、Ｓｔｒｏｎｇｅｓｔ  Ｆｉｔ法などのヒューリスティック手法から選択する。また、管理者は、作業を各工程に割当てる組み合わせを求める際の探索アルゴリズムを、例えば山登り法、タブーサーチ、焼きなまし法などから選択する。これら選択されたアルゴリズムが、編成条件５に含まれる「初期割当てを行うアルゴリズム」、「利用する探索アルゴリズム」である。更に、管理者は、作業を各工程に割当てる組み合わせを探索する際の停止条件として、目的関数の合計が所定値以下になった場合に探索を停止する場合の所定値や、最大探索時間などを設定する。この停止条件が、編成条件５に含まれる「探索停止条件」である。
【００２４】
近傍解生成部１２は、編成条件５や作業ＤＢ２の作業情報をもとに、編成条件５に含まれる作業の各工程（各担当）への初期割当てを生成する。また、近傍解生成部１２は、作業の各工程（各担当）への初期割当てから近傍解を生成する。
【００２５】
目的関数設定部１３は、組立ラインの状況に基づいて、複数の目的関数のうちどの目的関数を利用するかを設定する。例えば、目的関数設定部１３は、組立ラインにおいて償却前の治工具・設備・ロボットを利用するかどうかや、作業編成が既存のラインの作業編成に基づく再編成であるかどうか、組立ラインにおいてロボットを使うかどうか、等に基づいて、複数の目的関数のうちのいずれを利用するかを設定する。
【００２６】
目的関数算出部１４は、作業ＤＢ２、治工具・設備・ロボットＤＢ３や人件費ＤＢ４に基づいて、目的関数設定部１３が利用すると設定した目的関数を近傍解ごとに求める。
【００２７】
ここで、治工具・設備・ロボットＤＢ３は、一例として、図４（ｂ）に示すようなデータ構造を有する。図４（ｂ）に示すように、治工具・設備・ロボットＤＢ３は、「治工具・設備・ロボット」のフィールドと、「減価償却費」のフィールドと、「ランニングコスト」のフィールドと、「配置替え費用」のフィールドと、を有する。「治工具・設備・ロボット」のフィールドには、治工具、設備、又はロボットの識別情報が格納され、「減価償却費」のフィールドには、１年間における治工具、設備、又はロボットの減価償却費が格納される。なお、減価償却済みの治工具等については減価償却費が０円となる。また、「ランニングコスト」のフィールドには、治工具、設備、又はロボットの１時間ごとのランニングコストが格納され、「配置替え費用」のフィールドには、再編成の際に治工具、設備、又はロボットの配置換えを行ったときに要する費用が格納される。
【００２８】
また、人件費ＤＢ４は、一例として、図５（ａ）に示すようなデータ構造を有する。図５（ａ）の人件費ＤＢ４は、作業者の技能レベル別に基本給の情報を格納するデータベースである。なお、人件費ＤＢとしては、作業者個人別に、基本給と技能レベルの情報を格納する図５（ｂ）に示すような人件費ＤＢ４’であってもよい。
【００２９】
以下、目的関数算出部１４が算出可能な目的関数について、説明する。
（ａ）目的関数（１）
目的関数（１）は、組立ライン全体で必要となる治工具や設備数を低減するという最適化項目を、「円／日」の単位で表す目的関数である。
【００３０】
ここで、組立ラインに配置された各作業者には、図７に示すように、作業が複数割当てられている。また、各作業には必要な治工具・設備が紐付けられている（例えば、図４（ａ）の作業ＤＢ２参照）。
【００３１】
本実施形態では、目的関数算出部１４は、各治工具及び設備ｉ＝１，２，…，Ｎの、組立ライン全体で必要な数ｎiをそれぞれ求めるとともに、各治工具及び設備の減価償却費から、各治工具及び設備の１日あたりのコストａiを算出する。なお、既存の治工具及び設備であっても、償却済みでない限り、必要な数ｎiと、コストａiを求める。そして、目的関数算出部１４は、次式（１）に基づいて、目的関数Ｅ1を作成する。
【００３２】
【数１】
2018116507.tif 000003
【００３３】
ここで、各治工具及び設備の必要な数ｎiをカウントする際には、同一の作業者が別の作業で利用する同一の治工具及び設備をダブルカウントしないように留意する。例えば、図７に示す担当順＝４の作業者であれば、該担当者に割当てられた作業「Ｊｏｂ００」で必要な設備Ｂと作業「Ｊｏｂ０３」で必要な設備Ｂとが重複するが、この場合には、設備Ｂを１回だけカウントするようにする。また、作業「Ｊｏｂ０５」の工具Ａと、作業「Ｊｏｂ１０」の工具Ａとが重複するが、工具Ａを１回だけカウントするようにする。なお、担当者が異なる場合には、同一の治工具や設備を重複してカウントするものとする。
【００３４】
（ｂ）目的関数（２）
目的関数（２）は、組立ラインの再編成時における配置替えの数を低減するという最適化項目を、「円／日」の単位で表す目的関数である。
【００３５】
本実施形態では、目的関数算出部１４は、各治工具・設備ｉ＝１，２,…,Ｎの配置替えにかかるコストを、再編成の間隔（前回の編成からの経過時間）に基づいて、１日あたりのコストｂiに換算する。
【００３６】
そして、目的関数算出部１４は、配置換えが生じた作業で利用される治工具・設備ｉ∈Ｂを特定する。ここで、図８（ａ）には、再編成前の作業編成の一例が示され、図８（ｂ）には、再編成後の作業編成の一例が示されている。図８（ａ）、図８（ｂ）の例では、図８（ａ）の再編成前から図８（ｂ）の再編成後の間に、Ｊｏｂ３０、２９，１１や、担当順＝３に割当てられた作業が配置替えされている。したがって、集合Ｂには、これら作業で利用される治工具や設備の番号が含まれることになる。目的関数算出部１４は、次式（２）に示すように、各治工具・設備についてのコストｂiの和を、目的関数Ｅ2とする。
【００３７】
【数２】
2018116507.tif 000004
【００３８】
（ｃ）目的関数（３）
目的関数（３）は、組立ラインにおけるロボット化の容易性という最適化項目を、「円／日」の単位で表す目的関数である。
【００３９】
目的関数算出部１４は、各作業ｊ＝１，２，…，Ｊのロボット化にかかるコスト（開発費用やティーチング費用）と、再編成の間隔とに基づいて、１日あたりのロボット化にかかるコストｃjを換算する。また、目的関数算出部１４は、図９に示すように、ロボットに割当てた作業の集合ｊ∈Ｃを求める。ここで、図９には、組立ラインにロボットが配置される場合の作業編成の例が示されている。図９の例によれば、Ｃ＝｛１５，１９，２０，２１，２２｝となる。
【００４０】
目的関数算出部１４は、次式（３）にて示す、１日あたりのロボット化に係るコストの和を、目的関数Ｅ3とする。
【００４１】
【数３】
2018116507.tif 000005
【００４２】
（ｄ）目的関数（４）
目的関数（４）は、組立ラインにおけるロボットの稼働時間を極力短くするという最適化項目を、「円／日」の単位で表す目的関数である。
【００４３】
目的関数算出部１４は、各ロボットｋ＝１，２,…Ｋに割当てた作業ｊ∈Ｄkについての作業時間ｔjの和から、ロボットｋの１生産あたりの稼働時間（図１０参照）を算出する。なお、図１０の例では、集合Ｄkは、Ｄk＝｛１５，１９，２０，２１，２２｝となる。
【００４４】
この場合、目的関数算出部１４は、ロボットの作業時間ｔjを、予め作業ＤＢ２に格納されている作業時間（ｓ）に所定の割合を積算して求める（予測する）こととしてもよいし、作業ＤＢ２に各作業ＩＤに対応づけてロボットの作業時間が予め格納されている場合には、作業ＤＢ２から読み出してもよい。
【００４５】
そして、目的関数算出部１４は、次式（４）にて示すように、ロボットのランニングコストｄk（円／時）と、１日当たりの稼働時間（１生産当たりの稼働時間×１日の生産数Ｐ）とを乗じることで得られる１日当たりのロボットのランニングコストを、目的関数Ｅ4とする。
【００４６】
【数４】
2018116507.tif 000006
【００４７】
（ｅ）目的関数（５）
目的関数（５）は、高技能者の数を低減するという最適化項目を、「円／日」の単位で表す目的関数である。
【００４８】
目的関数算出部１４は、各作業者ｌ＝１，２，…，Ｌの基本給から単位時間あたりのコストｅlを算出する。そして、目的関数算出部１４は、図１１に示すような、最長サイクルタイムとタクトタイムｔとの差を超過時間Δｔとする。なお、最長サイクルタイムがタクトタイムより短い場合はΔｔ＝０として扱う。なお、１日当たりの生産数Ｐを用いた、Ｐ×（ｔ＋ｓΔｔ）は、１日当たりの労働時間を時間外手当の加算割合で補正したものとなる。また、Ｐ×Δｔは、残業時間に相当する。なお、製造ラインにおいては、すべての作業者が残業時間Ｐ×Δｔだけ拘束される。
【００４９】
この場合、次式（５）で示すように、目的関数算出部１４は、コストｅlの総和と、１日あたりの労働時間を時間外手当ての加算割合（ｓ）で補正したものとを乗じたものを、目的関数Ｅ5とする。
【００５０】
【数５】
2018116507.tif 000007
【００５１】
（ｆ）目的関数（６）
目的関数（６）は、人の作業量を極力平準化するという最適化項目を、「円／日」の単位で表す目的関数である。
【００５２】
目的関数算出部１４は、次式（６）で示すように、目的関数（５）において考慮した各作業者の基本給を考慮せずに、全作業者が一律のコストｅcであるとして、コストｅcの総和と、１日あたりの労働時間を時間外手当ての加算割合（ｓ）で補正したものとを乗じたものを、目的関数Ｅ6を作成する。
【００５３】
【数６】
2018116507.tif 000008
【００５４】
図２に戻り、探索部１５は、目的関数算出部１４により算出された目的関数の和を最小とする条件の最適化問題を解いて作業を各工程（Ａ〜Ｄ）へ割当てる組み合わせの作業編成を探索する。
【００５５】
出力部１６は、探索部１５より探索された作業編成（再編成結果）をファイル出力やディスプレイへの表示出力などで出力する。
【００５６】
（作業編成装置１０による編成処理）
次に、本実施形態の作業編成装置１０による編成処理について、図１２〜図１９のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
【００５７】
（全体処理（図１２））
まず、作業編成装置１０による全体処理について、図１２のフローチャートに沿って説明する。
【００５８】
図１２の処理では、まず、ステップＳ１０において、入力受付部１１は、編成条件５や作業ＤＢ２などのデータ入力を受け付ける。次いで、ステップＳ１２では、近傍解生成部１２が、編成条件５に含まれる作業の各工程（各担当）への初期割当てを生成する。具体的には、近傍解生成部１２は、編成条件５に含まれる初期割当てを行うアルゴリズムをもとに、例えばＦｉｒｓｔ  Ｆｉｔ法、Ｓｔｒｏｎｇｅｓｔ  Ｆｉｔ法などのヒューリスティック手法を利用して初期割当てを生成する。
【００５９】
次いで、ステップＳ１４では、近傍解生成部１２は、作業の各工程（各担当）への初期割当てから近傍解を生成する。具体的には、近傍解生成部１２は、割当てられた作業における２つの作業の入れ替えや１つの作業の移動などを行って近傍解を生成する。
【００６０】
次いで、ステップＳ１６では、近傍解生成部１２が、近傍解のうち先行制約に違反するものを除外する。例えば、同一ファミリー内の上の世代（親）を下の世代（子）より後の工程に割当てるなどの違反がある近傍解を除外する。
【００６１】
次いで、ステップＳ１８では、目的関数設定部１３が、算出対象の目的関数の設定処理のサブルーチンを実行する。このサブルーチンでは、目的関数設定部１３は、上述した目的関数（１）〜（６）のいずれを利用するかを決定する。この処理の詳細については後述する。
【００６２】
次いで、ステップＳ２０では、目的関数算出部１４が、ステップＳ１６において決定された目的関数（算出対象の目的関数）の算出処理のサブルーチンを実行する。この処理の詳細については後述する。
【００６３】
ステップＳ２２では、探索部１５が、目的関数算出部１４の算出結果を取得し、算出した目的関数の合計が最も小さい最良の近傍解を特定する。
【００６４】
次いで、ステップＳ２４では、探索部１５は、目的関数の合計が最も小さい近傍解を用いてメモリを更新する。なお、メモリにすでに近傍解が記憶されている場合には、探索部１５は、記憶されている近傍解とステップＳ２２で特定された近傍解のうち、目的関数の合計が小さい方の近傍解をメモリに記憶する。次いで、ステップＳ２６では、探索部１５が、停止条件をクリアしたか否かを判断する。例えば、探索部１５は、目的関数の合計が所定値以下になった場合や、最大探索時間を超えた場合に、停止条件をクリアしたと判断する。このステップＳ２６の判断が否定された場合には、ステップＳ１４に戻るが、肯定された場合には、ステップＳ２８に移行する。
【００６５】
ステップＳ２８に移行した場合、出力部１６は、メモリに記録されている近傍解を出力する。
【００６６】
（算出対象の目的関数の設定処理（図１３））
次に、図１３のフローチャートに沿って、目的関数設定部１３が実行する、算出対象の目的関数の設定処理について説明する。なお、図１３の処理は、ステップＳ２０において目的関数算出部１４が算出する目的関数を、目的関数（１）〜（６）から選択して、リストに追加していく処理である。
【００６７】
まず、図１３のステップＳ５０では、目的関数設定部１３が、各作業者のコストを考慮するか否かを判断する。例えば、編成条件５や管理者からの入力内容に、コストを考慮する旨の内容が含まれている場合には、ステップＳ５０の判断が肯定されて、ステップＳ５４に移行するが、否定された場合には、ステップＳ５２に移行する。
【００６８】
ステップＳ５２に移行した場合、すなわち作業者のコストを考慮しない場合には、目的関数設定部１３が、リストに目的関数（６）を追加する。一方、ステップＳ５４に移行した場合、すなわち作業者のコストを考慮する場合、目的関数設定部１３が、目的関数（５）をリストに追加する。ステップＳ５２又はＳ５４を経た後は、ステップＳ５６に移行する。
【００６９】
ステップＳ５６に移行すると、目的関数設定部１３は、近傍解において、償却前の治工具、設備、ロボットが存在しているか否かを判断する。このステップＳ５６の判断が肯定された場合には、ステップＳ５８に移行し、目的関数設定部１３が、目的関数（１）をリストに追加し、その後は、ステップＳ６０に移行する。一方、ステップＳ５６の判断が否定された場合には、直接ステップＳ６０に移行する。
【００７０】
ステップＳ６０に移行すると、目的関数設定部１３が、今回の編成が組立ラインの立ち上げ時の編成ではなく、再編成であるか否かを判断する。このステップＳ６０の判断が肯定された場合には、ステップＳ６２に移行し、目的関数設定部１３が、目的関数（２）をリストに追加し、その後は、ステップＳ６４に移行する。一方、ステップＳ６０の判断が否定された場合には、直接ステップＳ６４に移行する。
【００７１】
ステップＳ６４に移行すると、目的関数設定部１３が、組立ラインにおいてロボットを使うか否かを判断する。このステップＳ６４の判断が否定された場合には、そのまま図１３の処理を終了する。一方、ステップＳ６４の判断が肯定されると、ステップＳ６６に移行し、目的関数設定部１３が、目的関数（３）をリストに追加する。
【００７２】
次いで、ステップＳ６８では、目的関数設定部１３が、ロボット未開発作業があるか否かを判断する。このステップＳ６８の判断が否定された場合には、そのまま図１３の処理を終了する。一方、ステップＳ６８の判断が肯定された場合には、ステップＳ７０に移行し、目的関数設定部１３が、目的関数（４）をリストに追加する。その後は、図１３の全処理を終了する。
【００７３】
目的関数設定部１３は、図１３の処理により得られたリストを目的関数算出部１４に送信する。
【００７４】
（算出対象の目的関数の算出処理（Ｓ２０））
次に、算出対象の目的関数の算出処理について詳細に説明する。目的関数算出部１４は、目的関数設定部１３が作成したリストを参照し、リストに載っている目的関数を算出する処理（図１４〜図１９の少なくとも１つの処理）を実行する。以下、図１４〜図１９に基づいて、各目的関数を算出する処理について説明する。
【００７５】
（目的関数（１）の算出処理）
図１４は、目的関数（１）の算出処理を示すフローチャートである。図１４の処理では、まず、ステップＳ１０２において、目的関数算出部１４が、メモリプールを初期化する。メモリプールは、目的関数の算出に利用する治工具及び設備の情報を格納するための記憶領域である。
【００７６】
次いで、ステップＳ１０４では、目的関数算出部１４が、未選択の担当（作業者又はロボット）を１人（又は１台）選択する。次いで、ステップＳ１０６では、目的関数算出部１４が、選択した作業者又はロボットに割り振られた作業のうち、未選択の作業があるか否かを判断する。このステップＳ１０６の判断が否定された場合には、ステップＳ１１８に移行するが、肯定された場合には、ステップＳ１０８に移行する。ステップＳ１０８では、目的関数算出部１４が、未選択の作業を１つ選択する。
【００７７】
次いで、ステップＳ１１０では、目的関数算出部１４が、作業ＤＢ２において、選択した作業に紐づいている治工具・設備のうち、未選択の治工具・設備があるか否かを判断する。このステップＳ１１０の判断が否定された場合にはステップＳ１０６に戻る。一方、ステップＳ１１０の判断が肯定された場合には、ステップＳ１１２に移行する。
【００７８】
ステップＳ１１２に移行すると、目的関数算出部１４が、選択した作業に紐づいている治工具・設備のうち、未選択の治工具・設備を１つ選択する。
【００７９】
次いで、ステップＳ１１４では、目的関数算出部１４が、選択した治工具・設備がメモリプールに格納済みであるか否かを判断する。このステップＳ１１４の判断が否定された場合には、ステップＳ１１６に移行して、目的関数算出部１４が選択した治工具・設備をメモリプールに格納し、ステップＳ１０４に戻る。一方、ステップＳ１１４の判断が肯定された場合には、ステップＳ１１６を経ずに、ステップＳ１０４に戻る。ステップＳ１０４に戻ると、目的関数算出部１４は、上述したステップＳ１０４〜Ｓ１１６の処理を繰り返し実行する。
【００８０】
ところで、ステップＳ１０４〜Ｓ１１６を繰り返している間に、ステップＳ１０６の判断が否定された場合には、ステップＳ１１８に移行し、目的関数算出部１４は、メモリプールに格納されている各治工具及び設備ｉ＝１，２，…，Ｎの、組立ライン全体で必要な数ｎiを特定し、各治工具及び設備の減価償却費から１日あたりのコストａiを算出する。そして、目的関数算出部１４は、ｎiとａiとを積算して、目的関数Ｅ1（上式（１））に追加する。その後は、ステップＳ１２０に移行し、目的関数算出部１４が、全担当を選択済みであるか否かを判断する。ここでの判断が否定された場合には、ステップＳ１０２に戻るが、肯定された場合には、図１４の全処理を終了する。
【００８１】
（目的関数（２）の算出処理）
次に、図１５のフローチャートに沿って、目的関数（２）の算出方法について説明する。図１５の処理では、まず、ステップＳ２０２において、目的関数算出部１４が、図８（ｂ）のように再編成された近傍解において各作業者に割当てられた作業の中から未選択の作業を１つ選択する。
【００８２】
次いで、ステップＳ２０４では、目的関数算出部１４が、担当が変更されているか否かを判断する。すなわち、選択した作業の担当が、図８（ａ）と図８（ｂ）とで異なっているか否かを判断する。このステップＳ２０４の判断が否定された場合には、ステップＳ２１６に移行するが、肯定された場合には、ステップＳ２０６に移行する。
【００８３】
ステップＳ２０６に移行すると、目的関数算出部１４は、作業ＤＢ２を参照して、未選択の治工具・設備があるか否かを判断する。このステップＳ２０６の判断が否定されると、ステップＳ２１６に移行するが、肯定された場合には、ステップＳ２０８に移行する。
【００８４】
ステップＳ２０８に移行すると、目的関数算出部１４が、作業ＤＢ２において、選択した作業に紐づいている未選択の治工具・設備を１つ選択する。次いで、ステップＳ２１０では、目的関数算出部１４が、選択した治工具・設備の配置換え費用を、治工具・設備・ロボットＤＢ３（図４（ｂ））から取得する。次いで、ステップＳ２１２では、目的関数算出部１４が、取得した配置換え費用を、再編成の間隔から１日当たりのコストｂiへ換算する。なお、再編成の間隔とは、前回作業編成（又は再編成）を行ってからの間隔を意味する。ただし、これに限らず、作業編成を行ってから次に作業編成を行うまでの間の間隔が複数得られた場合に、再編成の間隔として、得られた複数の間隔の平均、最大値、最小値等を採用してもよい。また、初めて再編成を行う場合には、組立ラインの稼働時間そのものを用いてもよいし、他のシステムの再編成の間隔を参考にしてもよいし、管理者が再編成の間隔を手入力してもよい。次いで、ステップＳ２１４では、目的関数算出部１４が、換算後の１日当たりのコストｂiを目的関数Ｅ2（上式（２）参照）に追加する。その後は、ステップＳ２０６に戻り、ステップＳ２０６の判断が否定されるまで、ステップＳ２０６〜Ｓ２１４の処理を繰り返し実行する。
【００８５】
ところで、ステップＳ２０４又はＳ２０６の判断が否定されると、ステップＳ２１６に移行し、目的関数算出部１４は、未選択の作業があるか否かを判断する。このステップＳ２１６の判断が肯定された場合には、ステップＳ２０２に戻り、上述したのと同様の処理を実行する。一方、ステップＳ２１６の判断が否定された場合、すなわち未選択の作業がなくなった場合には、図１５の全処理を終了する。
【００８６】
（目的関数（３）の算出処理）
次に、図１６のフローチャートに沿って、目的関数（３）の算出方法について説明する。図１６の処理では、まず、ステップＳ３００において、目的関数算出部１４が、ロボットに割当てられた作業（例えば、図９の担当順＝１のロボットに割当てられた作業）のうち未選択のものがあるか否かを判断する。このステップＳ３００の判断が肯定されると、ステップＳ３０２に移行し、目的関数算出部１４が、未選択の作業を１つ選択する。
【００８７】
次いで、ステップＳ３０４では、目的関数算出部１４が、選択した作業のロボット化コストを取得する。具体的には、図４（ａ）の作業ＤＢ２から、選択した作業に紐づいている「ロボット化開発費用」のフィールドに格納された値を取得する。
【００８８】
次いで、ステップＳ３０６では、目的関数算出部１４が、ロボット化開発費用を再編成の間隔から１日当たりのコストｃjへ換算する。
【００８９】
次いで、ステップＳ３０８では、目的関数算出部１４が、１日当たりのコストｃjを目的関数Ｅ3（上式（３）参照）に追加する。その後は、ステップＳ３００に戻る。そして、ステップＳ３００〜Ｓ３０８の処理を繰り返し、ステップＳ３００の判断が否定された段階で、図１６の処理が終了する。
【００９０】
（目的関数（４）の算出処理）
次に、図１７のフローチャートに沿って、目的関数（４）の算出方法について説明する。図１７の処理では、まず、ステップＳ４００において、目的関数算出部１４が、未選択のロボットがあるか否かを判断する。このステップＳ４００の判断が肯定されると、ステップＳ４０２に移行し、目的関数算出部１４が、未選択のロボットを１つ選択する。
【００９１】
次いで、ステップＳ４０４では、目的関数算出部１４が、割当てられた作業の作業時間から、選択したロボットの１生産あたりの稼働時間（図１０参照）を算出する。
【００９２】
次いで、ステップＳ４０６では、目的関数算出部１４が、算出したロボットの１生産あたりの稼働時間と、選択したロボットのランニングコストと、１日当たりの生産数と、を積算したものを目的関数（目的関数Ｅ4）に追加する。その後は、ステップＳ４００に戻る。そして、目的関数算出部１４は、ステップＳ４００〜Ｓ４０６の処理を繰り返し、ステップＳ４００の判断が否定された段階で、図１７の処理が終了する。
【００９３】
（目的関数（５）の算出処理）
次に、図１８のフローチャートに沿って、目的関数（５）の算出方法について説明する。図１８の処理では、まず、ステップＳ５００において、目的関数算出部１４が、メモリプールを初期化する。このメモリプールは、各作業者の総作業時間のうち最も長い総作業時間を格納する記憶領域である。
【００９４】
次いで、ステップＳ５０２では、目的関数算出部１４が、未選択の作業者がいるか否かを判断する。このステップＳ５０２の判断が否定された場合には、ステップＳ５１２に移行するが、肯定された場合には、ステップＳ５０４に移行する。
【００９５】
ステップＳ５０４に移行すると、目的関数算出部１４は、未選択の作業者を１人選択する。次いで、ステップＳ５０６では、目的関数算出部１４が、割当てられた作業から総作業時間を算出する。
【００９６】
ステップＳ５０８では、目的関数算出部１４が、メモリプールに格納されている値より大きいか否かを判断する。このステップＳ５０８の判断が否定された場合には、ステップＳ５０２に戻る。一方、ステップＳ５０８の判断が肯定された場合には、ステップＳ５１０に移行し、目的関数算出部１４が、ステップＳ５０６で得られた総作業時間でメモリプールを更新する。ステップＳ５１０の後はステップＳ５０２に戻る。その後は、ステップＳ５０２〜Ｓ５１０を上述したように繰り返し実行し、ステップＳ５０２の判断が否定された段階でステップＳ５１２に移行する。
【００９７】
なお、ステップＳ５０２〜Ｓ５１０の処理により、最長サイクルタイムが得られているため、この最長サイクルタイムからタクトタイムを差し引くことで、前述した超過時間Δｔを求めることができる。
【００９８】
ステップＳ５１２に移行すると、目的関数算出部１４が、選択を初期化する。すなわちこれまでに選択した作業者をすべて未選択にする。次いで、ステップＳ５１４では、目的関数算出部１４が、未選択の作業者はいるか否かを判断する。このステップＳ５１４の判断が肯定されると、ステップＳ５１６に移行し、目的関数算出部１４は、未選択の人を１人選択する。
【００９９】
次いで、ステップＳ５１８では、目的関数算出部１４が、作業ＤＢ２を参照して、割当てられた作業に必要な技能レベルを取得する。次いで、ステップＳ５２０では、目的関数算出部１４が、取得した技能レベルに応じた基本給を人件費ＤＢ４から取得し、取得した基本給から単位時間あたりのコストｅlを求め、該コストｅiにＰ（ｔ+ｓΔｔ）をかけて、目的関数Ｅ5（上式（５））に追加する。
【０１００】
ステップＳ５２０の後は、ステップＳ５１４に戻る。その後は、目的関数算出部１４は、ステップＳ５１４〜Ｓ５２０の処理を繰り返し、ステップＳ５１４の判断が否定された段階で、図１８の全処理を終了する。
【０１０１】
（目的関数（６）の算出方法）
図１９は、目的関数（６）の算出方法を示すフローチャートである。図１９と図１８とを比較するとわかるように、図１９の処理では、図１８のステップＳ５１２〜Ｓ５２０に代えて、ステップＳ６２０を実行する。なお、ステップＳ６２０の処理が実行される前には、ステップＳ５００〜Ｓ５１０の処理により、最長サイクルタイムが求められ、Δｔについても求められているものとする。
【０１０２】
ステップＳ６２０では、目的関数算出部１４は、基本給として個人差のない一定額を特定し、基本給から単位時間当たりのコストｅcを求め、作業者の数Ｌと、Ｐ（ｔ+ｓΔｔ）とをかけて、目的関数（６）を算出する。なお、一定額は、作業者の平均給与額であってもよいし、その他の額であってもよい。
【０１０３】
その他の処理は、図１８の処理と同様となっている。
【０１０４】
以上のように、目的関数算出部１４が算出した目的関数は、探索部１５に送信される。そして、探索部１５においては、算出された目的関数の合計が最小になる近傍解を探索し、合計が最小の近傍解が最適な作業編成として決定される。
【０１０５】
以上、詳細に説明したように、本実施形態によると、近傍解生成部１２は、組立ライン２０に作業者を割り振るとともに、各作業者に作業、必要な治工具、設備を割り振って、近傍解を生成し、目的関数算出部１４は、近傍解ごとに、治工具、設備の減価償却費に基づいて、組立ライン全体における１日当たりの減価償却費（目的関数Ｅ1）を算出するとともに、組立ライン２０のタクトタイムと組立ライン２０で作業する作業者のサイクルタイムとから各作業者の残業時間（Ｐ×Δｔ）を算出し、算出した残業時間に基づいて、１日当たりの組立ラインの人件費（目的関数Ｅ6又はＥ5）を算出する。そして、探索部１５は、近傍解ごとに、目的関数算出部１４が算出した費用の合計を算出し、合計に基づいて組立ラインに実際に割り振る作業者、治工具、設備を決定する。これにより、本実施形態では、目的関数として単位を「円／日」に揃えた目的関数を算出し、算出した目的関数の合計が最少となる近傍解を作業編成結果とするので、目的関数を合計する際に各目的関数の重みを設定する必要がない。これにより、手作業で重みを設定しなくてもよいため、手間なく、簡易に適切な作業編成結果を得ることができる。
【０１０６】
また、本実施形態では、目的関数算出部１４は、近傍解において、組立ライン２０にロボットが割り振られている場合に、ロボットの稼働時間に基づいて１日あたりのロボットのランニングコスト（目的関数Ｅ4）を算出し、探索部１５は、算出結果を考慮して、作業編成を行う。これにより、ロボットの稼働時間を極力短くすることが可能な作業編成結果を得ることができる。
【０１０７】
また、本実施形態では、作業編成が再編成である場合には、目的関数算出部１４は、作業者、治工具、設備の割当ての変更により生じる配置替え費用に基づいて、１日あたりの配置換え費用（目的関数Ｅ2）を算出し、探索部１５は、算出結果を考慮して、作業編成を行う。これにより、再編成時の配置換えの数を極力低減することが可能な作業編成結果を得ることができる。
【０１０８】
また、本実施形態では、近傍解において、ロボットに対して実施できない作業が割り振られている場合に、目的関数算出部１４は、ロボット化にかかるコストに基づいて、１日あたりのコスト（目的関数Ｅ3）を算出し、探索部１５は、算出結果を考慮して、作業編成を行う。これにより、組立ラインにおけるロボット化の容易性を考慮した作業編成結果を得ることができる。
【０１０９】
また、本実施形態では、目的関数算出部１４が、１日当たりの組立ラインの人件費を算出する場合に、作業者ごとの１日あたりの賃金に基づいて、１日当たりの組立ラインの人件費（Ｅ5）を算出し、探索部１５は、算出結果を考慮して、作業編成を行う。これにより、組み立てラインに配置する高技能者の数を極力低減することが可能な作業編成結果を得ることができる。
【０１１０】
なお、上記実施形態では、目的関数として６つの目的関数を用意したが、これに限らず、その他の単位が「円／日」となる目的関数を追加してもよい。また、６つの目的関数のうちの少なくとも１つを省略してもよい。
【０１１１】
なお、上記実施形態では、各目的関数として、１日当たりの費用を算出する場合について説明したが、これに限らず、１時間、１週間、１か月などの所定期間当たりの費用を算出してもよい。
【０１１２】
なお、上記実施形態では、作業編成装置１０が、図２の各機能を有する場合について説明したが、これに限られるものではない。例えば、図２の各機能を、図２０に示すような、インターネットなどのネットワーク８０に接続されたクラウドサーバ１００が有していてもよい。この場合、利用者端末７０から入力された編成条件等をクラウドサーバ１００が受信し、クラウドサーバ１００において図１２〜図１９の処理を実行することで作業編成を生成する。そして、クラウドサーバ１００から利用者端末７０に作業編成を送信し、利用者端末７０にて受信した作業編成を利用する。なお、クラウドサーバ１００は、国内、海外のいずれに設置されてもよい。
【０１１３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【０１１４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１６】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１１７】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振る割り振り部と、
前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる前記各作業者の残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出する算出部と、
前記割り振り部による割り振りごとに、前記算出部が算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する決定部と、を備える作業編成装置。
（付記２）  前記算出部は、前記割り振り部が前記製造ラインにロボットを割り振った場合に、前記ロボットの稼働時間に基づいて前記所定期間あたりの前記ロボットのランニングコストを算出する、ことを特徴とする付記１に記載の作業編成装置。
（付記３）  前記割り振り部が、既存ラインを基準として、前記作業者、前記治工具及び／又は前記設備の割り振りを変更する場合、
前記算出部は、前記作業者、前記治工具及び／又は前記設備の割り振りの変更により生じる配置替え費用に基づいて、前記所定期間当たりの配置換え費用を算出することを特徴とする付記１又は２に記載の作業編成装置。
（付記４）  前記算出部は、前記割り振り部がロボットに対して実施できない作業を割り振った場合に、前記ロボットの開発費用及び／又はティーチング費用に基づいて、所定期間当たりの開発費用及び／又はティーチング費用を算出することを特徴とする、付記１〜３のいずれかに記載の作業編成装置。
（付記５）  前記算出部が、前記所定期間当たりの前記製造ラインの人件費を算出する場合、前記作業者ごとの前記所定期間当たりの賃金の情報を取得し、取得した所定期間ごとの各作業者の賃金の情報に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出する、ことを特徴とする付記１〜４のいずれかに記載の作業編成装置。
（付記６）  製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振り、
前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる前記各作業者の残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出し、
前記割り振りする処理の割り振りごとに、前記算出する処理において算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する、処理をコンピュータが実行することを特徴とする作業編成方法。
（付記７）  前記製造ラインにロボットが割り振られた場合に、前記算出する処理においては、前記ロボットの稼働時間に基づいて前記所定期間あたりの前記ロボットのランニングコストを算出する、ことを特徴とする付記６に記載の作業編成方法。
（付記８）  前記割り振りする処理において、既存ラインを基準として、前記作業者、前記治工具及び／又は前記設備の割り振りを変更する場合、
前記算出する処理においては、前記作業者、前記治工具及び／又は前記設備の割り振りの変更により生じる配置替え費用に基づいて、前記所定期間当たりの配置換え費用を算出することを特徴とする付記６又は７に記載の作業編成方法。
（付記９）  ロボットに対して実施できない作業が割り振られた場合に、前記算出する処理においては、前記ロボットの開発費用及び／又はティーチング費用に基づいて、所定期間当たりの開発費用及び／又はティーチング費用を算出することを特徴とする、付記６〜８のいずれかに記載の作業編成方法。
（付記１０）  前記算出する処理において、前記所定期間当たりの前記製造ラインの人件費を算出する場合、前記作業者ごとの前記所定期間当たりの賃金の情報を取得し、取得した所定期間ごとの各作業者の賃金の情報に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出する、ことを特徴とする付記６〜９のいずれかに記載の作業編成方法。
（付記１１）  製造ラインに作業者を割り振るとともに、各作業者に作業、必要な治工具及び／又は設備を割り振り、
前記治工具及び／又は設備の減価償却費に基づいて、前記製造ライン全体における所定期間当たりの減価償却費を算出するとともに、前記製造ラインのタクトタイムと前記製造ラインで作業する作業者のサイクルタイムとから求まる前記各作業者の残業時間に基づいて、前記所定期間当たりの前記製造ラインの人件費を算出し、
前記割り振りする処理の割り振りごとに、前記算出する処理において算出した費用の合計を算出し、該合計に基づいて前記製造ラインに実際に割り振る作業者、治工具及び／又は設備を決定する、処理をコンピュータに実行させることを特徴とする作業編成プログラム。
【符号の説明】
【０１１８】
１０  作業編成装置
１２  近傍解生成部（割り振り部）
１４  目的関数算出部（算出部）
１５  探索部（決定部）
２０  組立ライン（製造ライン）
【図１】
2018116507.tif 000009
【図２】
2018116507.tif 000010
【図３】
2018116507.tif 000011
【図４】
2018116507.tif 000012
【図５】
2018116507.tif 000013
【図６】
2018116507.tif 000014
【図７】
2018116507.tif 000015
【図８】
2018116507.tif 000016
【図９】
2018116507.tif 000017
【図１０】
2018116507.tif 000018
【図１１】
2018116507.tif 000019
【図１２】
2018116507.tif 000020
【図１３】
2018116507.tif 000021
【図１４】
2018116507.tif 000022
【図１５】
2018116507.tif 000023
【図１６】
2018116507.tif 000024
【図１７】
2018116507.tif 000025
【図１８】
2018116507.tif 000026
【図１９】
2018116507.tif 000027
【図２０】
2018116507.tif 000028