実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
図1は、一実施形態に係る生産管理支援システムの全体構成図である。
生産管理支援システム100は、工程情報管理装置200と、作業者情報管理装置300と、作業実績情報管理装置400と、生産管理支援装置500と、これら装置間をつなぐ通信路600と、を備えている。
通信路600は、例えば、有線LAN(Local Area Network)や無線LANなどの通信路である。
工程情報管理装置200は、例えば、PC(Personal Computer)によって構成されている。工程情報管理装置200は、作業の内容に関する工程情報(作業情報)を管理し、生産管理支援装置500からの要求を受けて、工程情報を生産管理支援装置500に送信する。工程情報管理装置200は、CPU(Central Processing Unit)201と、メモリ202と、記憶装置203と、通信インターフェース204と、を備えている。
通信インターフェース204は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、通信路600を介して他の装置(例えば、生産管理支援装置500)と通信する。
CPU201は、メモリ202及び/又は記憶装置203に格納されているプログラムに従って各種処理を実行する。
メモリ202は、例えば、RAM(RANDOM ACCESS MEMORY)であり、CPU201で実行されるプログラムや、必要な情報を記憶する。
記憶装置203は、例えば、バードディスクやフラッシュメモリなどであり、CPU201で実行されるプログラムや、CPU201に利用されるデータを記憶する。本実施形態では、記憶装置203は、プログラムとして工程情報管理プログラム210を記憶し、データとして工程情報管理データベース(以下、データベースをDBともいう)260を記憶する。工程情報管理プログラム210は、工程情報管理DB260を管理するプログラムである。工程情報管理DB260は、作業情報記憶部の一例であり、工程情報(作業情報)を管理するためのデータベースである。工程情報としては、例えば、BOM(Bill Of Materials)の情報を含んでもよく、また、BOMの情報以外に、作業に使用する材料の在庫状況(例えば、在庫量)、作業に使用する機器の状況(前回のメンテナンスからの経過時間、導入日からの経過時間等)、異常状況(異常があるか否かの情報、異常がある場合のエラーコード等)を含んでもよい。工程情報管理DB260は、工程情報管理プログラム210を実行するCPU201によって読み書きされる。工程情報管理DB260に格納される工程情報の各レコードは、図示しない表示装置に情報を入力させるための入力画面を表示させ、工程情報管理装置200の利用者からの図示しない入力装置などによる入力を受け付けることにより、予め設定されている。工程情報管理DB260の詳細な構成については、後述する。
作業者情報管理装置300は、例えば、PCによって構成されている。作業情報管理装置300は、作業者の能力に関する能力情報を含む作業者情報を管理し、生産管理支援装置500からの要求を受けて、作業者情報を生産管理支援装置500に送信する。作業者情報管理装置300は、CPU301と、メモリ302と、記憶装置303と、通信インターフェース304とを備えている。
通信インターフェース304は、例えば有線LANカードや無線LANカードなどのインターフェースであり、通信路600を介して他の装置(例えば、生産管理支援装置500)と通信する。
CPU301は、メモリ302及び/又は記憶装置303に格納されているプログラムに従って各種処理を実行する。
メモリ302は、例えば、RAMであり、CPU301で実行されるプログラムや、必要な情報を記憶する。
記憶装置303は、例えばバードディスクやフラッシュメモリなどであり、CPU301で実行されるプログラムや、CPU301に利用されるデータを記憶する。本実施形態では、記憶装置303は、プログラムとして作業者情報管理プログラム310を記憶し、データとして作業者情報管理DB360を記憶する。作業者情報管理プログラム310は、作業者情報管理DB360を管理するプログラムである。作業者情報管理DB360は、能力情報記憶部の一例であり、作業者情報を管理するためのデータベースである。作業者情報管理DB360は、作業者情報管理プログラム310を実行するCPU301によって読み書きされる。作業者情報管理DB360の詳細な構成は、後述する。なお、作業者情報管理DB360の各レコードは、図示しない表示装置に情報を入力させるための入力画面を表示させ、作業者情報管理装置200の利用者からの図示しない入力装置などによる入力を受け付けることにより、予め設定されている。
作業者実績情報管理装置400は、例えば、PCによって構成されており、作業者による作業の実績に関する作業状況等の情報(作業実績情報)を管理し、情報処理装置500からの要求を受けて、作業実績情報を情報処理装置500に送信する。作業実績情報管理装置400は、CPU401と、メモリ402と、記憶装置403と、通信インターフェース404と、を備えている。
通信インターフェース404は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、通信路600を介して他の装置(例えば、生産管理支援装置500)と通信する。
CPU401は、メモリ402及び/又は記憶装置403に格納されているプログラムに従って各種処理を実行する。
メモリ402は、例えば、RAMであり、CPU401で実行されるプログラムや、必要な情報を記憶する。
記憶装置403は、例えば、バードディスクやフラッシュメモリなどであり、CPU401で実行されるプログラムや、CPU401に利用されるデータを記憶する。記憶装置403は、プログラムとして作業実績情報管理プログラム410を記憶し、データとして作業実績情報管理DB460を記憶する。作業実績情報管理プログラム410は、作業実績情報管理DB460を管理するプログラムである。作業実績情報管理DB460は、作業情報実績記憶部の一例であり、例えば、製造現場でPOP(Point Of Production)システムによりリアルタイムに記録される作業実績データを管理するデータベースであり、作業実績データは、例えば、図示しないPOPシステムから受信される。作業実績情報管理DB460は、作業実績情報管理プログラム410を実行するCPU401によって読み書きされる。作業実績情報管理DB460の詳細な構成は、後述する。
生産管理支援装置500は、例えばPCによって構成され、所定の作業者の所定の作業に対する作業状況(標準作業時間、不良発生率等)を推定する処理や、所定の作業に適した作業者を推薦する処理を実行する。生産管理支援装置500は、プロセッサの一例としてのCPU501と、メモリ502と、記憶装置503と、通信インターフェース504と、表示装置506と、入力装置507と、を備えている。
通信インターフェース504は、例えば有線LANカードや無線LANカードなどのインターフェースであり、通信路600を介して他の装置(例えば、工程情報管理装置200、作業者情報管理装置300、作業実績情報管理装置400等)と通信する。
CPU501は、メモリ502及び/又は記憶装置503に格納されているプログラムに従って各種処理を実行する。
メモリ502は、例えば、RAMであり、CPU501で実行されるプログラムや、必要な情報を記憶する。本実施形態では、メモリ502には、例えば、CPU501が標準作業時間・不良発生率推定プログラム510を実行することにより生成される特徴量テーブル670(図5参照)が記憶される。
記憶装置503は、例えばバードディスクやフラッシュメモリなどであり、CPU501で実行されるプログラムや、CPU501に利用されるデータを記憶する。記憶装置503は、プログラムとして標準作業時間・不良発生率推定プログラム510と、作業者候補推薦プログラム520と、を記憶し、データとして標準作業時間・不良発生率DB560と、作業割り当て管理DB570と、を記憶する。ここで、本実施形態では、標準作業時間・不良発生率推定プログラム510及び作業者候補推薦プログラム520が生産管理支援プログラムに相当する。
標準作業時間・不良発生率推定プログラム510は、後述する標準作業時間・不良発生率推定処理(図11参照)を実行するためのプログラムである。標準作業時間・不良発生率推定処理の詳細は、後述する。
作業者候補推薦プログラム520は、後述する作業者候補推薦処理(図12参照)を実行するためのプログラムである。作業者候補推薦処理の詳細は、後述する。
標準作業時間・不良発生率DB560は、標準作業時間・不良発生率推定プログラム510の実行結果を管理するためのデータベースであり、作業者候補推薦プログラム520を実行するCPU501からアクセスされて利用される。標準作業時間・不良発生率DB560の構成は、後述する。
作業割り当て管理DB570は、作業者に対して割り当てられた作業の情報(割り当て情報)を管理するデータベースである。作業割り当て管理DB570は、例えば、作業者を示す作業者ID、割り当てられた作業に対応する作業ID、その作業の実行日等を対応付けて管理する。
次に、工程情報管理DB260の詳細な構成について説明する。
図2は、一実施形態に係る工程情報管理DB260の構成図である。
工程情報管理DB260は、各作業(工程)毎に、作業ID260aと、作業名称260bと、処理方法260cと、要求精度260dと、サイズ260eと、重量260fと、処理面積260gと、複雑度260hと、「動作1」260i1、「動作1回数」260i2、「動作2」260i3、「動作2回数」260i4等のカラム(フィールド)を含むレコード(エントリ)を格納する。なお、図2においては、動作と、その動作の回数とに関するカラムとして、「動作1」、「動作1回数」、「動作2」、「動作2回数」の4つのカラムを表示しているが、本実施形態においては、レコード中には、工程において実行される複数の動作のそれぞれについての、動作名と、動作回数とを格納するために十分な数のカラムが用意されている。例えば、工程において想定されている最大の動作数が10である場合には、それぞれに対応する動作名と動作回数とを格納できる20個のカラムが用意される。
作業ID260aには、このレコードに対応する作業を一意に特定する情報(作業ID)が設定される。作業名称260bには、このレコードに対応する作業の作業名が設定される。処理方法260cには、このレコードに対応する作業の処理方法が設定される。要求精度260dには、このレコードに対応する作業が要求する精度に関する等級が設定される。サイズ260eには、このレコードに対応する作業の処理物について、設計図で設定されているサイズが設定される。重量260fには、このレコードに対応する作業の処理物について、設計図で設定されている重量が設定される。処理面積260gには、このレコードに対応する作業の処理物について、設計図で設定されている処理を要する面積が設定される。複雑度260hには、このレコードに対応する作業の処理物について、設計図で設定されている処理の複雑の程度(複雑度)が設定される。
「動作1」260i1、「動作2」260i3、・・・には、このレコードに対応する作業における各動作の名称が設定される。「動作1回数」260i2、「動作2回数」260i4、・・・には、このレコードに対応する作業の各動作を実行する動作回数が設定される。なお、作業に含まれていない動作に対応する「動作A(Aは、数字)」カラムには、存在しないことを示す「−」が設定され、対応する「動作A回数」カラムには、「0」が設定される。例えば、このレコードに対応する作業が、「動作1」、「動作2」、「動作3」の3つの動作に分解される場合には、「動作4」以降の「動作A」カラムについては、「−」が設定され、「動作4回数」以降の「動作A回数」カラムについては、「0」が設定される。
次に、作業者情報管理DB360の詳細な構成について説明する。
図3は、一実施形態に係る作業者情報管理DB360の構成図である。
作業者情報管理DB360は、作業者の能力に関するレコードを管理する。作業者情報管理DB360のレコードは、変更日360aと、作業者ID360bと、作業者氏名360cと、年齢360dと、性別360eと、スキルレベル(「スキル1レベル」360f1、「スキル2レベル」360f3、・・)と、スキル経験年数(「スキル1経験年数」360f2、「スキル2経験年数」360f4、・・・)と、資格(「資格1」360g1、「資格2」360g2、・・・)とのカラムを含む。なお、図3においては、スキルと資格に関するカラムとして、「スキル1レベル」360f1、「スキル1経験年数」360f2、「スキル2レベル」360f3、「スキル2経験年数」360f4、「資格1」360g1、「資格2」360g2の6つのカラムを示しているが、レコードには、想定されるスキルの数と、資格の数に対応する数のカラムが用意されている。例えば、作業者が4つのスキルと2つの資格を有している場合には、スキルと資格に関する10個のカラムに対応する情報が設定される。
変更日360aには、このレコードに対応する作業者の年齢360dと、スキルレベル(スキル1レベル360f1、スキル2レベル360f3、・・・)と、スキル経験年数(スキル1経験年数360f2、スキル2経験年数360f4、・・・)と、資格(「資格1」360g1、「資格2」360g2、・・・)とのカラムのいずれかについての変更が発生した日付が設定される。
作業者ID360bには、このレコードに対応する作業者を一意に特定する作業者IDが設定される。作業者氏名360cには、このレコードに対応する作業者の氏名が設定される。年齢360dには、このレコードに対応する作業者の年齢が設定される。性別360eには、このレコードに対応する作業者の性別が設定される。
スキル1レベル360f1には、このレコードに対応する作業者のスキル1の鑑定レベルが設定される。このレコードに対応する作業者がスキル1を有していない場合は、スキル1レベル360f1には、「0」が設定される。
スキル1経験年数360f2には、このレコードに対応する作業者がスキル1を経験した年数が設定される。このレコードに対応する作業者がスキル1を有していない場合には、スキル1経験年数360f2に「0」が設定される。
スキル2レベル360f3には、このレコードに対応する作業者のスキル2の鑑定レベルが設定される。このレコードに対応する作業者がスキル2を有していない場合は、スキル2レベル360f3に「0」が設定される。
スキル2経験年数360f4には、このレコードに対応する作業者がスキル2を経験した年数が設定される。スキル2経験年数360f4には、このレコードに対応する作業者がスキル2を有していない場合は、「0」が設定される。
「資格1」360g1には、このレコードに対応する作業者が資格1を保有しているか否かの情報が設定され、例えば、資格1を保有していれば「○」が設定され、資格1を保有していなければ「×」が設定される。
「資格2」360g2には、このレコードに対応する作業者が資格2を保有しているか否かの情報が設定され、例えば、資格2を保有していれば「○」が設定され、資格2を保有していなければ「×」が設定される。
本実施形態では、作業者情報管理DB360においては、作業者の能力の変更履歴を管理するようにしており、作業者の年齢360dと、スキルレベル(スキル1レベル360f1、スキル2レベル360f3、・・・)と、スキル経験年数(スキル1経験年数360f2、スキル2経験年数360f4、・・・)と、資格(「資格1」360g1、「資格2」、・・・)のいずれかのカラム(能力にかかわるカラム)について、変更が発生した場合には、既存のレコードを更新せずに、変更日360aにその変更が発生の日付を設定した新たなレコードを追加し、そのレコードにおいて、変更された内容に対応するカラムを変更後の内容に設定し、変更のなかった他のカラムについては、そのままの内容に設定するようにして管理されている。したがって、作業者情報管理DB360には、同一の作業者のレコードが多数格納されている場合がある。なお、各レコードは、作業者ID360bの作業者IDと、変更日360aの日付によって、作業者情報管理DB360において一意に特定される。このようなレコードの管理により、同一の作業者についての能力に関する履歴を適切に管理することができる。
次に、作業実績情報管理DB460の詳細な構成について説明する。
図4は、一実施形態に係る作業実績情報管理DB460の構成図である。
作業実績情報管理DB460は、各作業者により実行された作業における実際の作業状況(作業実績)のレコードを管理する。作業実績情報管理DB460のレコードは、作業ID460aと、作業者ID460bと、作業開始時間460cと、作業終了時間460dと、合格判定460eとのカラムを含む。
作業ID460aには、このレコードに対応する作業を一意に特定する作業IDが設定される。作業者ID460bには、このレコードに対応する作業者を一意に特定する作業者IDが設定される。作業開始時間460cには、このレコードに対応する作業の開始時間が設定される。開始時間は、例えば、POPシステム等により記録される。作業終了時間460dには、このレコードに対応する作業の終了時間が設定される。終了時間は、例えば、POPシステム等により記録される。合格判定460eには、このレコードに対応する作業者がこのレコードに対応する作業により処理した処理物の実際の状況についての合格判定(不良が発生しているか否かの判定)の結果が設定される。
次に、特徴量テーブル670の詳細な構成について説明する。
図5は、実施形態に係る特徴量テーブルの構成図である。
特徴量テーブル670は、CPU501が標準作業時間・不良発生率推定プログラム510を実行することにより、メモリ502上で一時的に保持されるデータであり、工程情報管理DB260と、作業者情報管理DB360と、作業実績情報管理DB460とに基づいて生成される。
特徴量テーブル670には、作業ID670aと、作業名称670bと、作業者ID670cと、作業者氏名670dと、作業時間670eと、不良発生率670fと、開始日670gと、処理方法670hと、要求精度670iと、サイズ670jと、重量670kと、処理面積670lと、複雑度670mと、「動作1」670n1と、動作1回数670n2と、「動作2」670n3と、動作2回数670n4と、年齢670oと、性別670pと、スキル1レベル670q1と、スキル1経験年数670q2と、スキル2レベル670q3と、スキル2経験年数670q4と、「資格1」670r1と、「資格2」670r2とのカラムを含むレコードが格納されている。
作業ID670aには、作業状況を推定する対象となる作業(推定対象作業)と類似度が高いとして特定された作業の作業IDが設定される。作業名称670bには、作業ID670aの作業IDに対応する作業の名称が設定される。作業者ID670cには、作業実績情報管理DB460における作業ID670aの作業IDに対応するレコードの作業者ID460bの作業者IDが設定される。作業者氏名670dには、作業者ID670cの作業者IDに対応する作業者の氏名が設定される。作業時間670eには、このレコード作業ID670aの作業IDと、作業者ID670cの作業者IDと一致する、作業実績情報管理DB460のレコードにおける作業終了時間460dの作業終了時間と作業開始時間460cの作業開始時間との時間差に基づいた作業時間が設定される。なお、このレコードの作業ID670aの作業IDと、作業者ID670cの作業者IDとが一致する、作業実績情報管理DB460のレコードが複数ある場合には、これら複数のレコードにおける作業終了時間460dの作業終了時間と作業開始時間460cの作業開始時間との時間差の平均値が設定される。
不良発生率670fには、このレコードの作業ID670aの作業IDと、作業者ID670cの作業者IDと一致する作業実績情報管理DB460のレコードにおける合格判定460eの「×」の割合を算出した値が設定される。開始日670gには、このレコードの作業ID670aの作業IDと作業者ID670cの作業者IDとが一致する作業実績情報管理DB460のレコードの作業開始時間460cの作業開始時間の日付部分(一致するレコードが複数ある場合には、最小値の作業開始時間の日付部分)が設定される。
処理方法670hには、このレコードの作業ID670aの作業IDに一致する工程情報管理DB260のレコードの処理方法260cの処理方法が設定される。要求精度670jには、このレコードの作業ID670aの作業IDに一致する工程情報管理DB2600のレコードの要求精度260dの要求精度が設定される。サイズ670jには、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードのサイズ260eのサイズが設定される。重量670kには、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの重量260fの重量が設定される。処理面積670lには、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの処理面積260gの処理面積が設定される。
複雑度670mには、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの複雑度260hの複雑度が設定される。「動作1」670n1には、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの「動作1」260i1の動作内容が設定される。動作1回数670n2には、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの動作1回数260i2の回数が設定される。「動作2」670n3には、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの「動作2」260i3の動作内容が設定される。動作2回数670n4には、このレコードの作業ID670aの作業IDと一致する工程情報管理DB260のレコードの動作2回数260i4の動作内容が設定される。
年齢670oには、このレコードの作業ID670aの作業IDと作業者ID670cの作業者IDと一致する作業実績情報管理DB460のレコードを読み取り、そのレコードから開始日670gの時点の作業者の年齢を特定して設定される。性別670pには、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける性別360eの性別が設定される。スキル1レベル670q1には、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける、開始日670gの時点に対応するスキル1のレベルが設定される。スキル1経験年数670q2には、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける、開始日670gの時点に対応するスキル1の経験年数が設定される。スキル2レベル670q3には、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける、開始日670gの時点に対応するスキル2のレベルが設定される。スキル2経験年数670q4には、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける、開始日670gの時点に対応するスキル2の経験年数が設定される。「資格1」670r1には、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける、開始日670gの時点に対応する資格1の有無が設定される。「資格2」670r2には、このレコードの作業者ID670cの作業者IDと一致する作業者情報管理DB360のレコードにおける、開始日670gの時点に対応する資格2の有無が設定される。
次に、標準作業時間・不良発生率DB560の詳細な構成について説明する。
図6は、一実施形態に係る標準作業時間・不良発生率DB560の構成図である。
標準作業時間・不良発生率DB560は、CPU501が標準作業時間・不良発生率推定プログラム510を実行することにより算出した作業IDと作業者IDの組み合わせごとの、実行状況(標準作業時間、不良発生率)の推定値、及び、それらと最も類似する作業ID、作業者ID等を管理する。
標準作業時間・不良発生率DB560は、作業ID560aと、作業名560bと、作業者ID560cと、作業者氏名560dと、推定作業時間560eと、推定不良発生率560fと、類似作業ID560gと、作業類似度560hと、類似作業者ID560iと、作業者類似度560jと、類似作業者履歴更新日560kとのカラムを含むレコードを管理する。
作業ID560aには、標準作業時間・不良発生率推定処理において、標準作業時間と不良発生率の推定対象とした作業(対象作業)の作業IDが設定される。作業名560bには、作業ID560aの作業IDに対応する作業名が設定される。作業者ID560cには、標準作業時間・不良発生率推定処理において、標準作業時間と不良発生率の推定対象とした作業者(対象作業者)の作業者IDが設定される。作業者氏名560dには、作業者ID560cの作業者IDに対応する作業者の氏名が設定される。推定作業時間560eには、このレコードの作業ID560aの作業IDと、作業者ID560cの作業者IDとの組み合わせに対して、標準作業時間・不良発生率推定処理によって推定された標準作業時間が設定される。推定不良発生率560fには、このレコードの作業ID560aの作業IDと、作業者ID560cの作業者IDとの組み合わせに対して、標準作業時間・不良発生率推定処理によって推定された不良発生率が設定される。
類似作業ID560gには、作業ID560aの作業IDの作業(対象作業)と類似作業(本実施形態では、同一作業でもよい)との間の類似度と、作業者ID560cの作業者IDの作業者(対象作業者)と類似作業者との類似度との積が最も大きい組み合わせとなるような、類似作業の作業IDが設定される。作業類似度560hには、作業ID560aの作業IDの作業(対象作業)と類似作業ID560gの作業IDの作業(類似作業)との間の類似度が設定される。類似作業者ID560iには、作業ID560aの作業IDの作業(対象作業)と類似作業との間の類似度と、作業者ID560cの作業者IDの作業者(対象作業者)と類似作業者との類似度との積が最も大きい組み合わせとなるような、類似作業者の作業者IDが設定される。作業者類似度560jには、作業者ID560cの作業者IDの作業者(対象作業者)と類似作業者との間の類似度が設定される。類似作業者履歴更新日560kには、作業ID560aの作業IDの作業(対象作業)と類似作業との間の類似度と、作業者ID560cの作業者IDの作業者(対象作業者)と類似作業者との類似度との積が最も大きい組み合わせとなる場合における、類似作業者の作業者IDに対応する作業者情報管理DB360のレコードの変更日360aの変更日が設定される。
次に、標準作業時間・不良発生率推定表示画面について説明する。
図7は、標準作業時間・不良発生率推定表示画面を示す図である。
標準作業時間・不良発生率推定表示画面700は、標準作業時間・不良発生率推定処理の実行時に、生産管理支援装置500の表示装置506に表示され、入力装置507から装置利用者の入力を受け付け、処理の結果を表示するための画面である。この標準作業時間・不良発生率推定表示画面700は、標準作業時間・不良発生率推定プログラム510を実行するCPU501によって表示される。
標準作業時間・不良発生率推定表示画面700は、対象作業選択領域710と、対象作業者選択領域720と、推定実行ボタン730と、推定結果表示領域740とを含む。
対象作業選択領域710は、推定する対象の作業(対象作業)を選択指示するための領域であり、この領域には、対象作業と対象作業IDとを選択可能な対象作業選択表が表示される。対象作業選択表は、後述する図11のステップS51001において、工程情報管理DB260から取得された情報により作成された対象作業のリストに基づいて表示される。対象作業選択表から、対象作業の一部、または、対象作業の全てを装置利用者が選択することが可能となっている。
対象作業者選択領域720は、推定する対象の作業者(対象作業者)を選択指示するための領域であり、この領域には、対象作業者と対象作業者IDとを対応付けた対象作業者選択表が表示される。対象作業者選択表は、後述する図11のステップS51002において、作業者情報管理DB360から取得された情報により作成された対象作業者のリストに基づいて表示される。対象作業者選択表から、対象作業者の一部、または、対象作業者の全てを装置利用者が選択することが可能となっている。
推定実行ボタン730は、対象作業選択表によって選択されている対象作業と、対象作業者選択表によって選択されている対象作業者とのそれぞれの組み合わせ毎に、標準作業時間と不良発生率との推定を行うように、標準作業時間・不良発生率推定プログラム510を実行するCPU501に対して、処理要求を行うためのボタンである。
推定結果表示領域740には、標準作業時間・不良発生率推定プログラム510を実行するCPU501からの処理結果を示す推定結果表が表示される。推定結果表には、作業IDと、作業名と、作業者IDと、作業者氏名と、推定作業時間と、推定不良発生率とが表示される。この推定結果表は、後述する図11のステップS51013において出力される。作業IDと作業名は、推定対象作業に対応し、作業者IDと作業者氏名は、推定対象作業者に対応する。推定作業時間と推定不良発生率とは、標準作業時間・不良発生率推定処理により推定された結果(標準作業時間及び不良発生率)である。装置利用者は、推定結果表から、各作業者が各作業を行う場合の標準作業時間と不良発生率との推定結果を容易かつ適切に確認できる。
次に、制約条件が設定されている場合における作業者候補推薦画面について説明する。
図8は、一実施形態に係る制約条件が設定されている場合の作業者候補推薦画面を示す図である。図8は、推薦の候補となる作業者に対する標準作業時間と不良発生率との制約条件を設定している場合における作業者候補推薦画面である。
作業者候補推薦画面800は、作業者候補推薦処理の実行時に、生産管理支援装置500の表示装置506に表示され、入力装置507から装置利用者の入力を受け付け、処理の結果を表示するための画面である。この作業者候補推薦画面800は、作業者候補推薦プログラム520を実行するCPU501によって表示される。
作業者候補推薦画面800は、対象作業指定領域810と、制約条件入力領域820と、散布図表示領域830と、制約条件追加ボタン840と、制約条件反映ボタン850と、作業者候補推薦実行ボタン860と、作業者候補一覧表示領域870と、割り当てボタン880と、詳細確認ボタン890とを含む。
対象作業指定領域810は、作業者の候補の推薦を行う対象とする作業(推薦対象作業)を指定する領域であり、装置利用者が入力装置507を操作することにより、図7に示す対象作業選択表において選択した対象作業の中からいずれか一つを選択指定することができるようになっている。
制約条件入力領域820は、作業の候補として選択する作業者に対する作業時間(標準作業時間)と不良発生率とに関する制約条件を入力するための領域であり、装置利用者が入力装置507を操作することにより、制約条件を入力できるようになっている。図8に示す作業者候補推薦画面800では、既に3つの制約条件が入力されている状態となっている。
制約条件追加ボタン840は、制約条件を追加する指示を行うためのボタンであり、制約条件追加ボタン840が押下されると、制約条件入力領域820に、制約条件を入力するための欄が一つ追加される。制約条件反映ボタン850は、制約条件の欄に入力された全ての制約条件を散布図に描画するための指示を行うためのボタンであり、押下されると、散布図中に制約条件が描画される。
散布図表示領域830には、対象作業指定領域810で指定された推薦対象作業に対する各作業者の状態を、標準作業時間及び不良発生率(推定された標準作業時間及び不良発生率も含む)に従ってプロットした散布図が表示される。表示される作業者は、例えば、後述する図11のステップS51013において、出力される作業者のうちの推薦対象作業に対応する作業者である。
作業者候補推薦実行ボタン860は、推薦対象作業の選択、及び制約条件の入力と反映を行った後に、作業者候補推薦プログラム520を実行するCPU501に対して、作業者候補の推薦要求を行うためのボタンである。
作業者候補一覧表示領域870には、作業者候補推薦プログラム520を実行するCPU501からの処理結果を示す作業者候補一覧表が表示される。作業者候補一覧表には、作業者IDと、作業者氏名と、推定作業時間と、推定不良発生率と、推薦度と、割り当て作業とが表示される。本実施形態では、作業者候補一覧表には、指定された制約条件を全て満たす作業者を表示させるとともに、制約条件を満たさない作業者についても表示させるようにしている。本実施形態では、制約条件を満たさない作業者のレコードは、制約条件を満たす作業者と識別可能な態様での表示(例えば、灰色での表示)を行っている。ここで、制約条件を満たさない作業者も表示する理由は、制約条件を満たす作業者は既に他の作業に割り当てられている可能性があり、制約条件を満たす作業者だけでは、推薦対象作業への割り当てをカバーできない虞があることによる。
作業者IDと作業者氏名は、制約条件を満たす作業者と、制約条件を満たさない作業者との作業者IDと作業者氏名である。推定作業時間(標準作業時間)と推定不良発生率(不良発生率)は、後述する図11のステップS51013において推定された結果である。
推薦度には、個別指定した算定式、あるいは、制約条件のうちの一つの条件に基づいて算出した値が表示される。作業者候補一覧表においては、推薦度によるランキングを表示するようにしてもよい。
割り当て作業には、レコードに対応する作業者に既に割り当てられている作業が表示され、この作業者に割り当てられている作業がなければ「無」が表示される。なお、この作業者に対してどの作業に割り当てられているか、あるいは、作業が割り当てられていないかについては、作業割り当て管理DB570を参照することにより特定することができる。
割り当てボタン880は、作業者候補推薦プログラム520を実行するCPU501に、このボタンに対応する作業者を、推薦対象作業に割り当てる要求を行うためのボタンである。
詳細確認ボタン890は、ボタンに対応する作業者の詳細情報を表示させるためのボタンであり、装置利用者により押下されると、CPU501により作業者履歴確認画面(図10参照)が表示されることとなる。作業者履歴確認画面の詳細は、後述する。
次に、制約条件が設定されていない場合の作業者候補推薦画面について説明する。
図9は、制約条件が設定されていない場合の作業者候補推薦画面の画面図である。図9は、候補となる作業者に対する標準作業時間と不良発生率との制約条件が設定されていない場合における作業者候補推薦画面である。
作業者候補推薦画面900は、作業者候補推薦処理の実行時に、生産管理支援装置500の表示装置506に表示され、入力装置507から装置利用者の入力を受け付け、処理の結果を表示するための画面である。この作業者候補推薦画面900は、作業者候補推薦プログラム520を実行するCPU501によって表示される。
作業者候補推薦画面900は、対象作業指定領域910と、制約条件入力領域920と、散布図表示領域930と、制約条件追加ボタン940と、制約条件反映ボタン950と、作業者候補推薦実行ボタン960と、作業者候補一覧表示領域970と、割り当てボタン980と、詳細確認ボタン990とを含む。
対象作業指定領域910と、制約条件入力領域920と、制約条件追加ボタン940と、制約条件反映ボタン950と、作業者候補推薦実行ボタン960と、割り当てボタン980と、詳細確認ボタン990とは、図8に示す、対象作業指定領域810と、制約条件入力領域820と、制約条件追加ボタン840と、制約条件反映ボタン850と、作業者候補推薦実行ボタン860と、割り当てボタン880と、詳細確認ボタン890と、同様である。
散布図表示領域930には、対象作業指定領域910で指定された推薦対象作業に対する各作業者の状態を、標準作業時間及び不良発生率(推定された標準作業時間及び不良発生率も含む)に従ってプロットした散布図が表示される。表示される作業者は、例えば、後述する図11のステップS51013において、出力される作業者のうちの推薦対象作業に対応する作業者である。制約条件が設定されていない中で、作業者候補を推薦する方法として、本実施形態では、作業者をクラスタリングし、属するクラスタを用いて作業者候補を推薦するようにしている(クラスタリングの方法については、後述する(図12のS52007〜S52011))。散布図表示領域930の散布図においては、重心が原点に最も近いクラスタを表示するようにしている。
作業者候補一覧表示領域970には、作業者候補推薦プログラム520を実行するCPU501からの処理結果を示す作業者候補一覧表が表示される。作業者候補一覧表には、作業者IDと、作業者氏名と、推定作業時間と、推定不良発生率と、推薦度と、割り当て作業とが表示される。本実施形態では、作業者候補一覧表には、最も好ましいクラスタである、原点に近い(左下に近い)クラスタ(最適クラスタ)の作業者を表示させるとともに、それ以外のクラスタの作業者についても表示させるようにしている。本実施形態では、最適クラスタ以外の作業者のレコードは、最適クラスタの作業者と識別可能な態様で表示(例えば、灰色での表示)するようにしている。ここで、最適クラスタ以外の作業者も表示する理由は、最適クラスタの作業者は既に他の作業に割り当てられている可能性があり、最適クラスタの作業者だけでは、推薦対象作業への割り当てをカバーできない虞があることによる。
作業者IDと作業者氏名は、最適クラスタの作業者と、最適クラスタ以外の作業者との作業者IDと作業者氏名である。推定作業時間(標準作業時間)と推定不良発生率(不良発生率)は、後述する図11のステップS51013において推定された結果である。
推薦度には、個別指定した算定式で算出した値が表示される。作業者候補一覧表においては、推薦度によるランキングを表示するようにしてもよい。
割り当て作業には、レコードに対応する作業者に既に割り当てられている作業が表示され、この作業者に割り当てられている作業がなければ「無」が表示される。なお、この作業者に対してどの作業に割り当てられているか、あるいは、作業が割り当てられていないかについては、作業割り当て管理DB570を参照することにより特定することができる。
次に、作業者履歴確認画面の詳細について説明する。
図10は、一実施形態に係る作業者履歴確認画面を示す図である。
作業者履歴確認画面1000は、図8の詳細確認ボタン890、または図9の詳細確認ボタン990が押下された場合に、作業者候補推薦プログラム520を実行するCPU501によって表示される。
作業者詳細確認画面1000は、作業者情報表示領域1010と、作業時間傾向表示領域1020と、不良発生率傾向表示領域1030と、作業履歴表示領域1040とを含む。
作業者情報表示領域1010には、対象作業者、類似作業者、対象作業者と類似作業者の類似度、対象作業、類似作業、対象作業と類似作業の類似度が表示される。これら情報は、標準作業時間・不良発生率DB560の対応するレコードから取得されている。
作業時間傾向表示領域1020には、対象作業と対象作業者の組み合わせ、対象作業と類似作業者の組み合わせ、類似作業と対象作業者の組み合わせ、あるいは、類似作業と類似作業者の組み合わせについての標準作業時間の傾向を示すグラフが表示される。標準作業時間の傾向を示すグラフは、後述する図11のS51009でマージ後の類似作業実績情報から取得可能な、対象作業と対象作業者の組み合わせ、対象作業と類似作業者の組み合わせ、類似作業と対象作業者の組み合わせ、あるいは、類似作業と類似作業者の組み合わせのいずれかに対応するレコードにおける類似作業者履歴更新日560kの日付と、推定作業時間560eの標準作業時間とに基づいて、作成することができる。グラフ中の「○」で示される点は、対象作業者自身の作業履歴によりグラフを表示している場合には、その作業者の現時点を示し、類似作業者の作業履歴を用いてグラフを表示している場合は、類似作業者が対象作業者の現在の能力の状況と同一又は類似していた時点を示している。このグラフによると、対象作業者による標準作業時間が今後どのような傾向となるかを、類似作業者の傾向に基づいて把握することができる。
不良発生率傾向表示領域1030には、対象作業と対象作業者の組み合わせ、対象作業と類似作業者の組み合わせ、類似作業と対象作業者の組み合わせ、あるいは、類似作業と類似作業者の組み合わせについての不良発生率の傾向を示すグラフが表示される。不良発生率の傾向を示すグラフは、後述する図11のS51009でマージ後の類似作業実績情報から取得可能な、対象作業と対象作業者の組み合わせ、対象作業と類似作業者の組み合わせ、類似作業と対象作業者の組み合わせ、あるいは、類似作業と類似作業者の組み合わせのいずれかに対応するレコードにおける類似作業者履歴更新日560kの日付と、推定不良発生率560fの不良発生率とに基づいて、作成することができる。グラフ中の「○」で示される点は、対象作業者自身の作業履歴によりグラフを表示している場合には、その作業者の現時点を示し、類似作業者の作業履歴を用いてグラフを表示している場合は、類似作業者が対象作業者の現在の能力の状況と同一又は類似していた時点を示している。このグラフによると、対象作業者による不良発生率が今後どのような傾向となるかを、類似作業者の傾向に基づいて把握することができる。
この作業者履歴確認画面1000によると、装置利用者は、作業に対してこの作業者を割り当ててもよいか否かを適切に判断することができる。
次に、標準作業時間・不良発生率推定処理について説明する。
図11は、標準作業時間・不良発生率推定処理のフローチャートである。
標準作業時間・不良発生率推定処理では、図11に示すように、標準作業時間・不良発生率推定プログラム510を実行するCPU501が、工程情報管理DB260と、作業者情報管理DB360と、作業実績情報管理DB460からデータを取得し、標準作業時間と不良発生率の推定処理を行い、結果を標準作業時間・不良発生率DB560に書き込む。
次に、標準作業時間・不良発生率推定処理を詳細に説明する。
生産管理支援システム100のすべての装置が立ち上げられ、装置利用者により、生産管理支援装置500の標準作業時間・不良発生率推定プログラム510の実行指示があると、CPU501は、標準作業時間・不良発生率推定プログラム510の実行を開始し、表示装置506に、図7に示す標準作業時間・不良発生率推定表示画面700を表示させる。標準作業時間及び不良発生率を推定させる場合には、装置利用者は、この画面に対して、標準作業時間及び不良発生率を推定する対象作業と、対象作業者とを選択指定することとなる。
ステップS51001では、CPU501は、図7の標準作業時間・不良発生率推定表示画面700で装置使用者により選択された対象作業及び対象作業ID、対象作業者及び対象作業者IDを受け付けて、対象作業に対応する工程情報を工程情報管理DB260から取得する。
次に、ステップS51002では、CPU501は、受け付けた対象作業者及び対象作業者IDに対応する対象作業者の作業者情報を作業者情報管理DB360から取得する。
次に、ステップS51003では、CPU501は、工程情報管理DB260から、対象作業以外の作業の工程情報を取得する。
次に、CPU501は、対象作業ごとに、第1ループ処理(ステップS51005〜S51016)を実行する。
第1ループ処理のステップS51005では、CPU501は、対象作業の工程情報と、ステップS51003で取得した他作業の工程情報とに基づいて、対象作業と他作業との類似度を算出する。対象作業と他作業との類似度の算出方法としては、例えば、K近傍法、特異値分解等を用いることができる。そして、CPU501は、算出した対象作業と他作業との類似度に基づいて、対象作業に対して類似度の高い作業(以下、類似作業という)を特定する。類似度の高い作業としては、例えば、類似度が所定の閾値(例えば、0.9)以上の作業、または、類似度が上位10位以内の作業としてもよい。
次に、ステップS51006では、CPU501は、作業実績情報管理DB460から、ステップS51005で特定した対象作業と類似度の高い作業に対応する作業実績情報のレコードを類似作業実績情報として取得する。
次に、ステップS51007では、CPU501は、ステップS51006で取得した類似作業実績情報に含まれる作業者ID460bの作業者IDに基づいて、対応する作業者のリスト(作業者リスト)を生成する。
次に、ステップS51008では、CPU501は、作業者情報管理DB360から、ステップS51007で生成した作業者リストに含まれる全ての作業者の作業者情報のレコード(作業者情報レコード)を取得する。本ステップでは、CPU501は、作業者リストに含まれる作業者の作業者情報レコードを取得する際には、この作業者の過去の作業者情報レコードがあればそのレコードも併せて取得する。次に、CPU501は、特徴量テーブル670に新たなレコードを追加し、ステップS51005で特定した各類似作業と、ステップS51007で生成した各類似作業に対応する作業者リストとに基づいて、このレコードの作業ID670aと、作業名称670bと、作業者ID670cと、作業者氏名670dとのカラムに、それぞれのカラムに対応する内容を格納する。
次に、ステップS51009では、CPU501は、ステップS51008で取得した作業者情報レコードを、作業者ID順、変更日順に、昇順にソートする。これにより、或る作業者の作業者情報レコードと、次の作業者情報レコードとの作業者IDが同一であれば、或る作業者情報レコードの変更日から次の作業者情報レコードの変更日までが、作業者が或る作業者情報レコードが示す状態であった有効期間であることが特定でき、或る作業者の作業者情報レコードと、次の作業者情報レコードとの作業者IDが別であれば、作業者の或る作業者情報レコードの変更日から現在までが、作業者が或る作業者情報レコードが示す状態である有効期間であることが特定できる。さらに、CPU501は、各作業者情報レコードについて、その有効期間を集計期間とし、ステップS51006で取得した類似作業実績情報をマージする。具体的には、CPU501は、各集計期間内の類似作業実績情報のレコードの作業開始時間460cの作業開始時間と作業終了時間460dの作業終了時間との差である作業時間の平均値を、ステップS51008で作成したレコードの作業時間670eの作業時間として格納し、各集計期間内の類似作業実績情報のレコードのうちの合格判定460eが「×」のレコードの割合を不良発生率670fの不良発生率と設定し、各集計期間内の類似作業実績情報のレコードのうちの作業開始時間460cの作業開始時間が最も古いものの、その作業開始時間の日付部分を開始日670gの日付として設定する。
次に、ステップS51010では、CPU501は、ステップS51009で設定した各レコードに対し、ステップS51003で取得した工程情報の内、作業ID670aの作業IDに対応する工程情報に基づいて、処理方法670h、要求精度670i、サイズ670j、重量670k、処理面積670l、複雑度670m、「動作1」670n1、動作1回数670n2、「動作2」670n3、及び動作2回数670n4の各カラムの値を設定し、ステップS51008で取得した作業者情報の内、作業者ID670cの作業者IDに対応する作業者情報に基づいて、年齢670o、性別670p、スキル1レベル670q1、スキル1経験年数670q2、スキル2レベル670q3、スキル2経験年数670q4、「資格1」670r1、及び「資格2」670r2の値を設定する。
次に、ステップS51011では、CPU501は、特徴量テーブル670の作業時間670eの標準作業時間と不良発生率670fの不良発生率を目的変数とし、処理方法670h、要求精度670i、サイズ670j、重量670k、処理面積670l、複雑度670m、「動作1」670n1、動作1回数670n2、「動作2」670n3、動作2回数670n4、年齢670o、性別670p、スキル1レベル670q1、スキル1経験年数670q2、スキル2レベル670q3、スキル2経験年数670q4、「資格1」670r1、及び「資格2」670r2の各値(各特徴量)を説明変数として、特徴選択の方法により重要度の高い特徴量を特定する。特徴選択の方法としては、例えば、mRMR(min−redundancy max−relevance)を用いることができる。なお、特徴選択の方法としては、これに限られず、他の方法を用いてもよい。ここで重要度の高い特徴量のみを選択するようにしたので、次のステップにおける予測モデルの生成において、生成される予測モデルの予測精度を高く維持でき、且つ、予測モデルの生成における処理負荷を低減することができる。
次に、ステップS51012では、CPU501は、目的変数である作業時間670eの標準作業時間と不良発生率670fの不良発生率と、説明変数のうちのステップS51011で選択された特徴量とを用いて、多目的変数に対応する予測モデルを生成する。多目的変数に対応する予測モデルとしては、例えば、ニューラルネットワークを用いた予測モデルを適用することができる。ニューラルネットワークを用いた予測モデルとすることにより、予測モデルを使った作業状況の推定に要する時間を低減することができる。
次に、ステップS51013では、CPU501は、ステップS51001で取得した対象作業の工程情報に、ステップS51002で取得した対象作業者の作業者情報を付加し、ステップS51012で生成した予測モデルを用いて、各対象作業と対象作業者との組み合わせに対応する標準作業時間と不良発生率とを推定し、標準作業時間・不良発生率DB560にレコードを追加し、そのレコードの各カラム(作業ID560a、作業名560b、作業者ID560c、作業者氏名560d、推定作業時間560e、及び推定不良発生率560f)には、それぞれのカラムに対応する内容を設定する。具体的には、CPU501は、作業ID560aに、対象作業の作業IDを設定し、作業名560bには、対象作業の作業名を設定し、作業者ID560cには、対象作業者の作業者IDを設定し、推定作業時間560eには、推定された標準作業時間を設定し、推定不良発生率560fには、推定された不良発生率を設定する。そして、CPU501は、標準作業時間・不良発生率DB560のレコードに設定した内容に従って、図7の推定結果表示領域740に表示する推定結果表を生成して、標準作業時間・不良発生率推定画面700に表示させる。この標準作業時間・不良発生率推定画面700の推定結果表を参照することにより、装置使用者は、対象作業者が対象作業を実行した場合に想定される標準作業時間や不良発生率を容易かつ適切に把握することができ、対象作業を割り当てる作業者を決定する際の判断材料として利用することができる。
次に、CPU501は、対象作業に対応する対象作業者ごとに、第2ループ処理(ステップS51015,S51016)を実行する。
第2ループ処理のS51015では、CPU501は、対象作業者と、ステップS51007で生成された作業者リストの作業者(リスト作業者)との類似度(例えば、0以上1以下の値であり、1に近いほど類似していることを表す)を特定する。ここで、リスト作業者が対象作業者である場合には、類似度を1とする。一方、リスト作業者が対象作業者ではない場合には、対象作業者の作業者情報と、リスト作業者に対応する作業者情報とに基づいて、対象作業者とリスト作業者との類似度を特定する。また、同一のリスト作業者に対応する作業者情報のレコードが複数ある場合、すなわち、そのリスト作業者の作業者情報の履歴のレコードがある場合には、それぞれに対して類似度を特定する。類似度を特定する方法として、例えば、K近傍法、特異値分解等を用いて算出するようにしてもよい。この処理により、対象作業者と、1以上の或る時点におけるリスト作業者と、の類似度を適切に特定することができる。
次に、S51016では、CPU501は、S51005で特定した対象作業と類似作業との類似度(作業類似度)と、S51015で特定した対象作業者と或る時点のリスト作業者との類似度(作業者類似度)との積を取り、積が最も大きくなる、類似作業と或る時点の作業者との組み合わせを特定し、特定した類似作業の作業IDと、類似作業と対象作業との類似度と、類似作業者の作業者IDと、リスト作業者と対象作業者との類似度と、そのリスト作業者のその状態に対応する時点とを、ステップS51013で標準作業時間・不良発生率DB560に書き込んだレコードの類似作業ID560gと、作業類似度560hと、類似作業者ID560iと、作業者類似度560jと、類似作業者履歴更新日560kとに設定する。
次に、CPU501は、すべての対象作業者に対して第2ループ処理(ステップS51015,S51016)を実行した後に、他の対象作業に対して、第1ループ処理(ステップS51005〜S51016)を実行し、すべての対象作業に対して、第1ループ処理の実行が終了した場合には標準作業時間・不良発生率推定処理を終了する。
上記した処理によると、他の作業者が行った作業の作業実績情報、作業者情報及び作業情報を用いて、対象作業者の作業状況(標準作業時間、不良発生率)を推定するための予測モデルを作成するようにしたので、対象作業者が実際に実行したことのない対象作業についての作業状況(標準作業時間、不良発生率)を適切に推定することができる。また、対象作業との類似度の高い作業のみの作業実績情報を用いて予測モデルを作成するようにしたので、予測モデルの作成時の処理負荷を低減できるとともに、対象作業者の作業状況をより精度よく推定することができる。
次に、作業者候補推薦処理について説明する。
図12は、一実施形態に係る作業者候補推薦処理のフローチャートである。
作業者候補推薦処理は、CPU501が作業者候補推薦プログラム520を実行することにより実行される。作業者候補推薦処理では、CPU501は、標準作業時間・不良発生率DB560から標準作業時間・不良発生率推定処理の結果を読み取り、この結果に基づいて作業を割り当てる作業者候補を出力する。
次に、作業者候補推薦処理について詳細に説明する。
標準作業時間・不良発生率推定処理を行った後に、装置利用者から作業者候補推薦処理を実行する指示があった場合には、CPU501は、作業者候補推薦画面(800又は900を表示装置506へ表示させる。
ステップS52001では、CPU501は、標準作業時間・不良発生率DB560から、標準作業時間・不良発生率推定処理の結果、すなわち、標準作業時間・不良発生率DB560のレコードを一括取得する。
次に、ステップS52002では、CPU501は、作業者候補推薦画面(800又は900)において、装置使用者により選択された作業者候補を推薦(出力)させる対象となる作業(候補出力対象作業)を特定する情報(作業名、作業ID等)を取得する。
次に、ステップS52003では、CPU501は、作業候補推薦画面の制約条件入力領域(820,920)に、制約条件の入力があるか否かを判定し、制約条件の入力があると判定された場合(S52003:Y)には、ステップS52004〜S52006の処理を実行する一方、制約条件の入力がないと判定された場合(S52003:N)には、ステップS52007〜S52011の処理を実行する。
ステップS52004では、CPU501は、制約条件入力領域に入力されている制約条件をすべて取得する。
次に、ステップS52005では、CPU501は、標準作業時間・不良発生率DB560の候補出力対象作業に対応するレコードを参照し、推定作業時間560eの標準作業時間と、推定不良発生率560fの不良発生率とが、ステップS52004で取得した全ての制約条件を満たす作業者を推薦対象者として特定する。
次に、ステップS52006では、CPU501は、推薦対象者と、制約条件に満たさない作業者についての推薦度を決定し、各作業者IDをキーに取得可能な作業者氏名、標準作業時間、及び不良発生率と、決定した推薦度と、作業者の割り当て作業とを含む作業者候補一覧表を生成して作業者候補推薦画面800の作業者候補一覧表示領域870に表示させ、ステップS52012に遷移する。推薦度は、例えば、標準作業時間及び/又は不良発生率を含む所定の計算式で算出するようにしてもよく、例えば、図8の制約条件入力欄820の3番目の制約条件を基準として、計算式「7−標準作業時間−不良発生率×2」により算出するようにしてもよい。なお、作業者候補一覧表の割り当て作業の内容は、作業割り当て管理DB570から取得することができる。これにより、制約条件を満たす作業者を適切に選択して、推薦することができる。
一方、ステップS52003で制約条件の入力がないと判定された場合(S52003:N)には、ステップS52007では、CPU501は、ステップS52001で取得した全レコードを対象にして、推定作業時間560eの標準作業時間の平均値と、推定不良発生率560fの不良発生率の平均値とを算出し、平均値に対応する点を重心1とする。
次に、ステップS52008では、CPU501は、ステップS52007で算出した標準作業時間の平均値より大きい範囲と小さい範囲、及び、不良発生率の平均値より大きい範囲と小さい範囲の2×2の4領域に分け、各領域の重心を重心1の算出方法と同様に算出し、各領域の重心をそれぞれ、重心2〜重心5とする。
次に、ステップS52009では、CPU501は、重心1〜重心5をそれぞれ出発点として複数の作業者についてのクラスタリングを行う。クラスタリングの手法としては、例えば、k平均法などを利用することができる。
次に、ステップS52010では、CPU501は、ステップS52009でクラスタリングした5つのクラスタ(グループ)のうち、作業に割り当てる作業者として最も好ましいクラスタ、具体的には、図9の散布図上で不良発生率が小さく且つ標準作業時間が小さいクラスタ、すなわち、原点に近い(左下に近い)クラスタの作業者を推薦対象者として特定する。ここで、原点に近いクラスタの特定方法としては、例えば、クラスタの重心の標準作業時間と不良発生率との和が最小となるクラスタを原点に近いクラスタと特定するようにしてもよい。
次に、ステップS52011では、CPU501は、推薦対象者と、推薦対象者以外の作業者との双方について、予め指定した基準に従って推薦度を決定する。例えば、原点に近いクラスタに含まれる作業者の推薦度を5とし、原点に最も遠い(右上に近い)クラスタに含まれる作業者の推薦度を1とし、それ以外の作業者の推薦度を3とするようにしてもよい。次に、CPU501は、各作業者IDをキーに取得可能な作業者氏名、標準作業時間、及び不良発生率と、決定した推薦度と、作業者の割り当て作業とを含む作業者候補一覧表を生成して作業者候補推薦画面900の作業者候補一覧表示領域970に表示させる。これにより、制約条件を設定していない場合においても、作業に適した作業者を適切に選択して推薦することができる。
次に、ステップS52012では、CPU501は、装置利用者によって作業者候補推薦画面(800,900)の割り当てボタン(880,980)が押下されたことを契機として、装置利用者の割り当ての指定を受け付ける。なお、装置利用者によって作業者候補推薦画面(800,900)の詳細確認ボタン(890,990)が押下された場合には、CPU501は、作業者履歴確認画面1000を表示する。
次に、ステップS52013では、CPU501は、対象となる作業に対して、ステップS52012で装置利用者により指定された作業者を割り当てるために、作業割り当て管理DB570の指定された作業者に対応するレコードにおいて、割り当て作業の情報を追加更新する。
次に、ステップS52014では、CPU501は、作業割り当て管理DB570のレコードに基づいて、各作業者毎に、その作業者に割り当てられている作業を示す作業指示表を所定の印刷装置により印刷させ、処理を終了する。なお、作業指示表を、作業者候補推薦処理と関係ない所定のタイミングに印刷させるようにしてもよい。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態では、対象作業者について、対象作業及び対象作業に類似する類似作業の経験がなく、且つ、対象作業者に類似する作業者が、対象作業の経験がないが、類似作業の経験がある場合においても、対象作業者の対象作業における作業状況を推定できるようにしているが、対象作業者が対象作業の経験があって、その作業履歴がある場合や、対象作業者が、対象作業の経験がないが、類似作業の経験がある場合や、対象作業者が対象作業及び類似作業の経験はないが、類似作業者が対象作業の経験がある場合においても、同様な処理、或いは、上記処理に少しの修正を加えることにより、対象作業者の対象作業における作業状況を適切に推定することができる。例えば、標準作業時間・不良発生率推定処理においては、対象作業と異なる作業を対象に各種処理(例えば、S51003、S51005等)を行っていたが、異なる作業だけでなく、対象作業も含めて行うようにすればよい。
また、上記実施形態では、工程情報管理DB260、作業者情報管理DB360、作業実績情報管理DB460のそれぞれを生産管理支援装置500とは別の装置で管理するようにしていたが、本発明はこれに限られず、例えば、工程情報管理DB260、作業者情報管理DB360、又は作業実績情報管理DB460の少なくともいずれか一つを生産管理支援装置500で管理するようにしてもよい。
また、上記実施形態では、作業割り当て管理DB570を生産管理支援装置500で管理するようにしていたが、本発明はこれに限られず、生産管理支援装置500とは、別の装置で管理するようにしてもよい。
また、上記実施形態では、対象作業者の作業状況として、標準作業時間及び不良発生率を推定するようにしていたが、本発明はこれに限られず、標準作業時間のみ、又は不良発生率のみを推定するようにしてもよい。
また、上記実施形態において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。