説明

業務割当支援装置、業務割当支援方法、業務割当支援プログラム

【課題】担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことが可能な業務割当支援装置等を提供すること。
【解決手段】担当者に業務が割り当てられたデータ列を複数個生成した後、データ列の対に対して所定の位置を基準として前後いずれかの部分に割り当てられた業務を入れ替え、入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が割当予定時間を逸脱する場合に、割当予定時間の範囲内に収まるように補正し、データ列に対する評価値を算出すると共に、算出した評価値に基づきデータ列の選択処理を行って記憶手段に格納する処理を所定回数行った結果、最も好ましい評価値を得たデータ列を出力する業務割当支援装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、業務に担当者を最適に割り当てることを支援する業務割当支援装置及び方法、並びにプログラムに関し、特に、GA(Genetic Algorithm;遺伝的アルゴリズム)を応用した処理を行って、担当者に業務を最適に割り当てることを支援する業務割当支援装置及び方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、業務に従事可能な複数の担当者に対して、業務を如何に割り当てるかを、コンピュータによって決定する技術について研究が進められている。係る分野においては、データ列に対して交叉、突然変異等の確率的処理を施して選択・淘汰することを繰り返し行う遺伝的アルゴリズムが好適に用いられる。
【0003】
これに関連し、要員配置問題の準最適解を、遺伝的アルゴリズムにより求める要員配置支援方法が知られている(例えば、特許文献1参照)。この方法では、時間帯毎の要員の必要人数を指定し、これに対して可能な限り過不足数を少なく人員を配置するものとしている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−143850号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の手法においては、複数種別の業務を扱うことを想定していないため、担当者に複数種別の業務を割り当てる処理を行う場合に、遺伝的アルゴリズムが適切に機能しない場合がある。
【0006】
本発明はこのような課題を解決するためのものであり、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことが可能な業務割当支援装置等を提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
上記目的を達成するための本発明の第1の態様は、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置である。
【0008】
本発明の第2の態様は、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置である。
【0009】
本発明の第3の態様は、
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法である。
【0010】
本発明の第4の態様は、
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法である。
【0011】
本発明の第5の態様は、
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラムである。
【0012】
本発明の第6の態様は、
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラムである。
【発明の効果】
【0013】
本発明によれば、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことが可能な業務割当支援装置等を提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1実施例に係る業務割当支援装置1のハードウエア構成例である。
【図2】本発明の一実施例に係る業務割当支援装置1の機能構成例である。
【図3】難易度/習熟度評価マトリクスの一例である。
【図4】入力データに対して業務割当支援装置1が処理を行った場合の出力イメージである。
【図5】本実施例の業務割当支援装置1により実行される全体的な処理の流れを示すフローチャートである。
【図6】割当予定時間算出部30に与えられる入力データの一例である。
【図7】割当予定時間算出部30により実行される処理の流れを示すフローチャートである。
【図8】割当予定時間算出部30によりデータが生成される様子を模式的に示す図である。
【図9】データ列生成部32により生成されるデータ列を概念的に示す図である。
【図10】業務の割当優先順位を考慮しない場合の整列処理を模式的に示す図である。
【図11】業務の割当優先順位を考慮する場合の整列処理を模式的に示す図である。
【図12】業務の割当優先順位を規定したデータの一例である。
【図13】業務割当支援装置1による処理の流れを概念的に示す図である。
【図14】交叉処理を説明するための説明図である。
【図15】交叉処理の流れを示すフローチャートである。
【図16】未割り当ての業務が存在しない場合における、交叉処理の対象となるデータ列と、割り当て可能な業務量を示す図である。
【図17】交叉処理が行われた後のデータ列j、kと、午前1に関して各業務に割り当てられている業務量の合計を示す図である。
【図18】データ列j、kに対して補正が行われる様子を示す図である。
【図19】未割り当ての業務が存在する場合における、交叉処理の対象となるデータ列と、割り当て可能な業務量、業務の未割当数を示す図である。
【図20】交叉処理が行われた後のデータ列l、mと、午前1に関して各業務に割り当てられている業務量の合計、及び未割当数を示す図である。
【図21】データ列mに対して補正が行われる様子を示す図である。
【図22】突然変異処理を説明するための説明図である。
【図23】突然変異処理の流れを示すフローチャートである。
【図24】パラメータの入力、実行指示、結果出力が行われるメイン画面24Aの一例である。
【図25】世代グラフ表示画面24Bの一例である。
【図26】業務種別毎の習熟度評価マトリクスの一例である。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【0016】
以下、本発明の一実施例に係る業務割当支援装置及び方法、並びにプログラムについて説明する。業務割当支援装置1は、入力された業務情報や担当者情報等に対し、GA(Genetic Algorithm;遺伝的アルゴリズム)を応用した処理を行って、各担当者に業務を最適に割り当てることを目的とした装置である。
【0017】
なお、本発明が扱う「業務」は、工場等で行う手作業、会議に参加する等のマネージメント業務、営業活動等を広く含み、業務の性質に特段の制限は存在しない。しかしながら、以下の実施例では、「予定生産量」等の情報業務を扱っているため、何らかの生産を行う業務を含むと好適である。なお、生産業務を含まない業務に対しても、「割当予定時間決定」に関する処理の後の処理を適用することにより、本発明を利用することができる。
【0018】
また、以下の実施例では、ある日における各基準時間帯に対して業務を割り当てるものとするが、ある週における基準時間帯(又は各日)に対して業務を割り当てる等、より長い時間軸で適用することも可能である。
【0019】
[ハードウエア構成]
図1は、本発明の一実施例に係る業務割当支援装置1のハードウエア構成例である。業務割当支援装置1は、例えば、CPU(Central Processing Unit)10と、ドライブ装置12と、補助記憶装置16と、メモリ装置18と、インターフェース装置20と、入力装置22と、ディスプレイ装置24と、を備える情報処理装置である。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【0020】
CPU10は、例えば、プログラムカウンタや命令デコーダ、各種演算器、LSU(Load Store Unit)、汎用レジスタ等を有するプロセッサである。
【0021】
ドライブ装置12は、記憶媒体14からプログラムやデータを読み込み可能な装置である。プログラムを記録した記録媒体14がドライブ装置12に装着されると、プログラムが記録媒体14からドライブ装置12を介して補助記憶装置16にインストールされる。記録媒体14は、例えば、CD−ROM、DVDディスク、USBメモリ等の可搬型の記録媒体である。また、補助記憶装置16は、例えば、HDD(Hard Disk Drive)やフラッシュメモリである。
【0022】
プログラムのインストールは、上記のように記憶媒体14を用いる他、インターフェース装置20がネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置16にインストールすることによって行うこともできる。ネットワークは、インターネット、LAN(Local Area Network)、携帯電話の電波網等である。また、プログラムは、情報処理装置の出荷時に、予め補助記憶装置16やROM(Read Only Memory)等に格納されていてもよい。
【0023】
このようにしてインストール又は予め格納されたプログラムをCPU10が実行することにより、図1に示す態様の情報処理装置が、本実施例の業務割当支援装置1として機能することができる。
【0024】
メモリ装置18は、例えば、RAM(Random Access Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)である。インターフェース装置20は、上記ネットワークとの接続等を制御する。
【0025】
入力装置22は、例えば、キーボードやマウス、タッチパッド、タッチパネル、マイク等である。また、ディスプレイ装置24は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示装置である。業務割当支援装置1は、ディスプレイ装置24の他、プリンタ、スピーカ等、他の種類の出力装置を備えてもよい。
【0026】
[機能構成]
図2は、本発明の一実施例に係る業務割当支援装置1の機能構成例である。業務割当支援装置1は、割当予定時間算出部30と、データ列生成部32と、整列処理部34と、選択・淘汰処理部36と、交叉処理部38と、交叉後補正処理部40と、突然変異処理部42と、を備える。これらの機能ブロックは、補助記憶装置16等に格納されたプログラム・ソフトウエアをCPU10が実行することにより機能する。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムから呼び出されるものであってもよい。また、機能ブロックの一部が、IC(Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウエア手段であっても構わない。
【0027】
〔入力データ・出力イメージ〕
まず、業務割当支援装置1に与えられる入力データについて説明する。業務割当支援装置1に与えられる入力データは、例えば、業務情報、担当者情報、生産性指標情報、制約条件、業務難易度、難易度/習熟度評価マトリクス、目的関数、データ列数n、繰り返し回数m、突然変異率C等を含む。
【0028】
入力データは、ドライブ装置12やインターフェース装置20、入力装置22を介して入力され、メモリ装置18に格納される。なお、入力データのうち、特に業務種別毎の予定生産量、大枠時間帯毎の生産比率、担当者情報以外のデータについては、予め補助記憶装置16やROM等に格納されたデフォルトデータを繰り返し用いてもよい。
【0029】
「業務情報」は、例えば、業務種別、業務区分、業務種別毎の予定生産量、業務難易度、要求資格、要求スキル、割当優先順位、除外「前」条件、除外「後」条件、最早開始時刻、最遅終了時刻等を含む。
【0030】
「業務区分」は、生産業務と、非生産業務を区別するためのものである。生産業務は、予定生産量(予定生産数)が予定値として与えられ、生産量によって担当者への割当数が決定される業務である。例えば、スーパーに適用された場合、食肉加工、刺身盛り合わせの製造等が該当する。
【0031】
一方、非生産業務は、生産量によって担当者への割当数が決定されない業務である。例えば、売場準備、受け入れ、発注、売場清掃等が該当する。
【0032】
「業務種別毎の予定生産量」は、本実施例が扱う複数の業務のうち生産業務について、業務種別毎にその日の予定生産量を規定したデータである。
【0033】
「業務難易度」は、業務種別毎に業務の難易度を数値化したものである。業務難易度は、必ずしも入力データに含まれる必要はない。例えば、業務種別と業務難易度が対応付けられたデータテーブルが予め補助記憶装置16やROM等に格納されており、業務種別を検索キーとしてデータテーブルを検索することにより業務難易度を特定するものとしてもよい。
【0034】
「要求資格」は、例えば調理師資格のように、業務種別によって必要となる資格である。「要求スキル」は、担当者に求められる経験スキルの最低値である。「割当優先順位」は、大枠時間帯毎に、業務の順序を決定する際の優先順位である。「除外「前」条件」は、該当する業務の直前に割り当ててはいけない業務を指定したものである、例えば、業務Aの直前に、業務Bを割り当ててはいけないと指定する。「除外「後」条件」は、該当する業務の直後に割り当ててはいけない業務を指定したものである、例えば、業務Cの直後に、業務Dを割り当ててはいけないと指定する。「最早開始時刻」は、当該業務を割り当てることができる最も早い開始時刻である。「最遅終了時刻」は、当該業務を割り当てることができる最も遅い終了時刻である。これらの情報は、絶対的制約条件とする必要はなく、例えば選択・淘汰処理部36による個別ペナルティ値の評価処理に用いられる。
【0035】
ここで、大枠時間帯とは、例えば、午前1、午前2、午後1、午後2のように、業務割当支援装置1における基準時間帯(例えば15分単位で設定される)よりも長く設定された時間帯である。以下の説明では、大枠時間帯の長さは2時間であるものとする。
【0036】
「担当者情報」は、対象日において、業務に従事可能な担当者の識別名、勤務予定時刻(出勤時刻及び退勤時刻)、保有資格、経験スキル等を含む。経験スキルは、業務に対する担当者の習熟度を、担当者毎に数値化したものである。経験スキルは、上記業務難易度と同様に、必ずしも入力データに含まれる必要はない。例えば、全担当者の識別名と習熟度が対応付けられたデータテーブルが、予め補助記憶装置16やROM等に格納されており、担当者の識別名を検索キーとしてデータテーブルを検索することにより、習熟度を特定するものとしてもよい。
【0037】
「生産性指標情報」は、業務種別毎の業務開始時刻、業務終了時刻、各大枠時間帯の生産比率等を含む。更に、生産性指標情報は、大枠時間帯毎の単位時間当たりの生産可能量を含む。
【0038】
「各大枠時間帯の生産比率」は、予定生産量を、その日の大枠時間帯に関してどのような配分で生産するかを決定する目標値である。
【0039】
「標準生産可能量」は、上記生産業務に関して、業務種別毎に、1時間あたりの生産可能量を示す値である。また、「大枠時間帯毎の生産可能量」は、標準生産可能量を大枠時間帯毎に細分化した値である。大枠時間帯毎の生産可能量が省略される場合、1日を通して標準生産可能量を使用する。
【0040】
「制約条件」は、例えば、(1)同じ担当者が同じ時間帯に異なる業務を担当しない、(2)ある担当者の1日の総労働時間は8時間を超えない、等と任意に設定される。制約条件は、目的関数を決定付けるパラメータとなる。
【0041】
「難易度/習熟度評価マトリクス」は、業務難易度と担当者の習熟度との合致程度に応じて個別ペナルティ値(後述)を決定するためのマトリクスデータである。図3は、難易度/習熟度評価マトリクスの一例である。図示するように、難易度/習熟度評価マトリクスは、業務難易度と担当者の習熟度に対応して個別ペナルティ値が格納されたマトリクスデータであり、業務難易度と担当者の習熟度が合致している箇所に比較的低い値が格納されている。具体的には、難易度の高い業務に習熟度の高い担当者が合致し、難易度の低い業務に習熟度の低い担当者が合致しているとする。
【0042】
以下、このように、データ列を評価する指標値である個別ペナルティ値及びペナルティ値は低いほど好ましいものとするが、係る関係は逆でもよく、値が高いほど好ましいことを示す指標値を用いてもよい。
【0043】
「目的関数」は、上記制約条件の違反度合い、及び難易度/習熟度評価マトリクスにより決定される個別ペナルティ値を反映し、データ列(後述する)の総合評価値であるペナルティ値を算出するための関数である。
【0044】
「データ列数n」は、本実施例の業務割当支援装置1により扱われるデータ列の総数を決定するパラメータである。
【0045】
「繰り返し回数m」は、選択・淘汰処理部36、交叉処理部38、交叉後補正処理部40、突然変異処理部42により実行されるループ処理の回数を決定するパラメータである。
【0046】
図4は、上記のような入力データに対して業務割当支援装置1が処理を行った場合の出力イメージである。図中、「午前1」、「午前2」、「午後1」と表記したものが「大枠時間帯」に相当する。本実施例の業務割当支援装置1は、担当者毎に、例えば15分程度に区切られた複数の基準時間帯に対して、業務が割り当てられたデータを出力する。以下、業務が割り当てられる対象となる基準時間帯を、「業務枠」と称する。
【0047】
〔全体処理フロー〕
図5は、本実施例の業務割当支援装置1により実行される全体的な処理の流れを示すフローチャートである。
【0048】
まず、割当予定時間算出部30が入力データを読み込み(S100)、割当予定時間を決定する(S110)。入力データや割当予定時間は、例えばメモリ装置18又は補助記憶装置16に格納される。以下、各ステップの処理結果は、全てメモリ装置18又は補助記憶装置16に格納されるものとする。
【0049】
次に、データ列生成部32が初期データ列群を生成し、整列処理部34が整列処理を行う(S120)。
【0050】
次に、選択・淘汰処理部36が、目的関数を用いてペナルティ値を算出して、選択・淘汰処理を行う(S130)。
【0051】
次に、交叉処理部38が、交叉処理を行い、交叉後補正処理部40が交叉後補正処理を行い、整列処理部34が整列処理を行う(S140)。
【0052】
次に、選択・淘汰処理部36が、再度目的関数を用いてペナルティ値を算出して、選択・淘汰処理を行う(S150)。S150の処理は、S130の処理とは異なってもよいし、S150の処理自体を省略してもよい。
【0053】
次に、突然変異処理部42が突然変異処理を行い、整列処理部34が整列処理を行う(S160)。なお、交叉処理及び交叉後補正処理と突然変異処理は順序を入れ替えても構わない。
【0054】
そして、S130〜S160の処理を、カウント値t1が繰り返し回数m以上となるまで実行する(S170、S180)。カウント値t1は、初期値として0が設定される。
【0055】
カウント値t1が繰り返し回数m以上となると、結果出力を行って(S190)、本フローを終了する。
【0056】
〔割当予定時間・業務量算出処理〕
割当予定時間算出部30は、生産業務、非生産業務のそれぞれについて、業務に関する割当予定時間、及び業務量を算出してメモリ装置18に格納する。特に、生産業務については、該当日における予定生産量に関するデータを各大枠時間帯の生産比率で配分し、単位時間当たりの生産可能量で除算することにより、業務量を算出する。
【0057】
ここで、業務量とは、大枠時間帯毎に各業務に割り当てる業務枠の数であり、割当予定時間を基準時間帯の長さで除算して求められる。従って、業務量は、割当予定時間に応じた指標値であり、割当予定時間と同じ意義を有する。
【0058】
図6は、割当予定時間算出部30に与えられる入力データの一例である。図中、業務1〜7は生産業務であり、業務8は非生産業務である。図示するように、割当予定時間算出部30には、該当日の予定生産量(個、グラム等、単位は如何なるものでもよい)、各大枠時間帯の生産比率、単位時間(ここでは、各大枠時間帯の長さ)当たりの生産可能量が与えられる。
【0059】
大枠時間帯毎の単位時間当たりの生産可能量は、一日を通して一定値(標準値)であっても構わない。なお、非生産業務である業務8についての各大枠時間帯の生産比率は、各大枠時間帯の何%の時間を業務に割り当てる必要があるかを示している。
【0060】
図7は、割当予定時間算出部30により実行される処理の流れを示すフローチャートである。また、図8は、割当予定時間算出部30によりデータが生成される様子を模式的に示す図である。なお、図8では小数点以下を1桁で表している。
【0061】
まず、割当予定時間算出部30は、該当日の予定生産量に各大枠時間帯の生産比率を乗算し、各大枠時間帯の予定生産量を算出する(S200;図8における(1))。例えば業務1を例にとると、午前1に対しては300×15%=45、午前2に対しては300×50%=150、午後1に対しては300×20%=60となる。
【0062】
次に、割当予定時間算出部30は、S200で算出した各大枠時間帯の予定生産量を、大枠時間帯毎の単位時間当たりの生産可能量で除算して、各大枠時間帯に割り当てる業務の時間を算出する(S210;図8における(2))。業務1を例にとると、午前1に対しては45/40=1.125(時間)、午前2に対しては150/60=2.5(時間)、午後1に対しては60/60=1(時間)となる。
【0063】
次に、割当予定時間算出部30は、算出した各大枠時間帯に割り当てる業務の時間を業務枠の時間的長さ(15分)で除算して、業務量を算出する(S220;図8における(3))。業務1を例にとると、午前1に対しては1.125×60/15=5(業務量)、午前2に対しては2.5×60/15=10(業務量)、午後1に対しては1×60/15=4(業務量)となる。なお、業務量の算出においては、四捨五入や切り上げによって整数化する処理が行われる。
【0064】
続いて、割当予定時間算出部30は、非生産業務に対して割り当てる業務量を算出する(S230)。非生産業務に対して割り当てる業務量は、便宜的に各大枠時間帯の生産比率に格納された25%、50%、100%等の値に、大枠時間帯の長さ(1時間)を乗算し、業務枠の時間的長さ(15分)で除算することによって求められる。
【0065】
係る処理によって、例えば生産業務と非生産業務が混在した現場に関して、各業務に対する割当予定時間及び業務量を適切に算出することができる。また、該当日の予定生産量に各大枠時間帯の生産比率を乗算して各大枠時間帯の予定生産量を算出することにより、例えばスーパーマーケットにおける食品製造・販売の現場のように、一日のうちで販売される数量がある程度予測できるような現場に関する割当予定時間及び業務量を適切に算出することができる。
【0066】
〔データ列生成処理〕
データ列生成部32は、業務割当支援装置1に与えられた入力データに基づき、例えば識別名順に並べられた複数の担当者毎に、各業務枠に種別が特定された業務が割り当てられたデータ列をn個(例えば50個;複数個であれば特段の制限はない)生成し、メモリ装置18に格納する。図9は、データ列生成部32により生成されるデータ列を概念的に示す図である。図示するように、データ列は大枠時間帯毎に、担当者に業務が割り当てられたデータである。
【0067】
業務の割り当ては、割当予定時間算出部30により算出された大枠時間帯毎の業務量の範囲内で、例えばランダムに行われる。すなわち、ある大枠時間帯における、ある業務に割り当てられる業務量が5であるとすると、当該大枠時間帯において全ての担当者に割り当てられた当該業務の業務量の合計は、5以内となるように割り当てる。なお、担当者の業務枠の数に比して割り当てるべき業務が多い場合も、少ない場合もあり得るが、業務が多い場合は未割り当ての業務をデータとして格納しておき、業務が少ない場合はいずれかの担当者の業務枠を空きとしておく。
【0068】
〔整列処理〕
整列処理部34は、データ列生成部32が生成したデータ列、或いは後述する交叉処理・交叉後補正処理や突然変異処理が行われたデータ列に対して、大枠時間帯内である担当者に割り当てられた業務のうち、同じ業務が連続して行われるように整列処理を行う。
【0069】
整列処理は、業務の「割当優先順位」を考慮しない場合と、考慮する場合があり得る。図10は、業務の割当優先順位を考慮しない場合の整列処理を模式的に示す図である。図中、左側部分は、データ列生成部32が生成した整列前のデータ列を示している。これに対し、整列処理部34は、例えば時間的に1番早い業務枠(図中、1番上の業務枠)に割り当てられた業務のデータから順に1つずつ業務のデータを読み込み、既に読み込まれたデータと同じでなければ最下位に追加する。一方、読み込んだデータが既に読み込まれたデータと同じであれば、当該同じデータの1つ下位に読み込んだデータを挿入する。このような処理によって、担当者毎に、同じ業務が連続して行われるようにデータ列が整列される。なお、整列処理に係るアルゴリズムについては種々のものを用いてよく、上記説明したものに限られない。例えば、業務のデータを1つ読み込むと共に、同じ業務のデータをデータ列全体から抽出し、まとめて整列後のデータに格納してもよい。
【0070】
図11は、業務の割当優先順位を考慮する場合の整列処理を模式的に示す図である。また、図12は、業務の割当優先順位を規定したデータの一例である。この場合、整列処理部34は、例えば時間的に1番早い業務枠(図中、1番上の業務枠)に割り当てられた業務のデータから順に1つずつ業務のデータを読み込み、既に読み込まれたデータと同じでなければ、業務の割当優先順位に応じた位置に格納する。一方、読み込んだデータが既に読み込まれたデータと同じであれば、当該同じデータの1つ下位に読み込んだデータを挿入する。このような処理によって、担当者毎に、割り当て優先順位に応じた順序で、同じ業務が連続して行われるようにデータ列が整列される。
【0071】
係る処理によって、同一担当者によって実行される同一の業務は、大枠時間帯内で連続して割り当てられることになり、業務の効率性を向上させることができる。
【0072】
〔処理モードに応じた処理の流れ〕
以下、選択・淘汰処理、交叉処理・交叉後補正処理、突然変異処理について、より詳細に説明する。これらの処理は、エリート法とルーレット法の二つの処理モードから、ユーザが選択した処理モードに従って行われる。
【0073】
図13は、業務割当支援装置1による処理の流れを概念的に示す図である。なお、以下の説明において何個(或いは何割)のデータ列を選択するか、等の具体的な数値はあくまで一例である。また、こうした数値或いは割合は、入力データに含めることによってユーザが指定することができる。
【0074】
まず、入力されたn個(以下、50個とする)のデータ列に対して、選択・淘汰処理(1)が選択・淘汰処理部36により実行される(図中A)。選択・淘汰処理(1)は、エリート法とルーレット法で異なる内容となる。
【0075】
エリート法では、50個のデータに対して、それぞれペナルティ値を算出し、ペナルティ値が低い(上位の)データ列から順に25個選択し、残りの25個のデータ列を破棄(淘汰)する。
【0076】
一方、ルーレット法では、単にペナルティ値が上位のデータ列を選択するのではなく、以下のように乱数値を用いてランダムな要素を取り入れている。具体的には、入力された50個のデータ列に対して、まず、ペナルティ値の合計値が選択・淘汰処理部36により計算される。次に、入力された50個のデータ列に対して、それぞれ次式(1)により生存値R(i)を計算する(i=1〜50)。
【0077】
R(i)={(データ列iのペナルティ値)/(各データ列についてのペナルティ値の合計値)}+乱数値[0.0〜1.0] …(1)
【0078】
選択・淘汰処理部36は、生存値R(i)が低いデータ列から順に25個選択し、残りの25個のデータ列を破棄(淘汰)する。係る処理は、ペナルティ値が、低い方が良好であることを示す値であることに基づく。
【0079】
50個の入力データ列に対しては、選択・淘汰処理(1)とは別に、交叉処理・交叉後補正処理、及び整列処理が行われ(図中(B))、次いで選択・淘汰処理(2)が行われる(図中(C))。選択・淘汰処理(2)は、選択・淘汰処理(1)と同様、エリート法とルーレット法で異なる内容となる。
【0080】
そして、選択・淘汰処理(1)により選択された25個のデータ列と、選択・淘汰処理(2)により選択された25個のデータ列を合わせて50個のデータ列とし(図中(D))、これに対して突然変異処理、及び整列処理を行う(図中(E))。突然変異処理、及び整列処理を行うと、処理後の50個のデータ列のうちいずれか1個(例えばペナルティ値が最も高いデータ列であるが、ランダムに選んでもよい)と、選択・淘汰処理(1)により特定された最もペナルティ値の低い1個のデータ列を入れ替える(図中(F))。これによって最もペナルティ値の低かったデータ列が、突然変異処理によって悪化することを防止することができる。こうして1回のループ処理が終了する。
【0081】
そして、このようなループ処理をm回行うと、最終的に得られた50個のデータ列のうち、ペナルティ値が最上位の(最も低い)データ列を選択し、結果として出力する。
【0082】
〔交叉処理・交叉後補正処理〕
交叉処理部38は、以下のような手順で交叉処理を行う。図14は、交叉処理を説明するための説明図である。また、図15は、交叉処理の流れを示すフローチャートである。
【0083】
交叉処理部38は、まず、対象となるデータ列群から(二回目以降のループである場合は、既に交叉処理が行われたものを除き、残りのデータ列群から)、2個のデータ列をランダムに選択する(S300)。ここでは、選択されたデータ列をデータ列j、kとする。
【0084】
次に、交叉処理部38は、交叉点をランダムに決定し(S310)、データ列j、kにおける交叉点以下の部分(時間軸にして将来方向の全て)に割り当てられている業務を入れ替え、メモリ装置18に格納する(S320)。ここで、交叉点は、業務枠の境界線を指定するものとする。
【0085】
交叉処理部38は、対象となるデータ列群の全てについて交叉処理を行うと、交叉処理の全体フローを終了するが、対象となるデータ列群の全てについて交叉処理を行っていない場合は、S300に戻り、他のデータ列の組を選択する(S330)。
【0086】
なお、交叉処理の具体的手法については、上記説明した手法に限らず、種々の手法を用いることができる。例えば、上記説明した手法は交叉点を1つ設定する一点交叉であるが、交叉点を二つ設定し、交叉点に挟まれた部分に割り当てられている業務を入れ替える二点交叉を採用してもよい。また、一点交叉と二点交叉のいずれかをユーザが選択できるようにしてもよい。
【0087】
交叉後補正処理部40は、交叉処理部38により交叉処理が行われた後のデータ列において、各業務に割り当てられている業務量の合計が、割当予定時間算出部30により算出された割り当て可能な業務量を逸脱する場合に(すなわち、各業務に割り当てられている業務の時間が、割当予定時間を逸脱する場合に;以下同じ)、業務毎の合計が割り当て可能な業務量の範囲内に収まるように、交叉処理が行われた後のデータ列を補正する。
【0088】
交叉後補正処理は、担当者の業務枠の数に比して割り当てるべき業務が少ない場合、すなわち未割り当ての業務が存在しない場合と、担当者の業務枠の数に比して割り当てるべき業務が多い場合、すなわち未割り当ての業務が存在する場合で異なる。
【0089】
(1)未割り当ての業務が存在しない場合
図16は、未割り当ての業務が存在しない場合における、交叉処理の対象となるデータ列(データ列j、kとする)と、割り当て可能な業務量を示す図である。本図では、午後1以降のデータを省略している。業務の未割当数は、メモリ装置18等の所定領域にデータテーブルとして保持される。
【0090】
図17は、図16で示すデータに対して、午前1に含まれる、ある交叉点で交叉処理が行われた後のデータ列j、kと、午前1に関して各業務に割り当てられている業務量の合計を示す図である。以下、交叉点を含む大枠時間帯のみが補正の対象となるため、交叉点を含む大枠時間帯のみを図示する。
【0091】
図示するように、交叉処理の結果、データ列jでは午前1において業務3に対して過剰に業務量が割り当てられ、データ列kでは午前1において業務1に対して過剰に業務量が割り当てられることとなった。
【0092】
交叉後補正処理部40は、図17で示す交叉後のデータ列j、kに対して、業務毎の割当数の合計が、割り当て可能な業務量の範囲内に収まるように(すなわち割当予定時間の範囲内に収まるように)補正を行う。図18は、データ列j、kに対して補正が行われる様子を示す図である。
【0093】
図18(A)に示すように、交叉後補正処理部40は、交叉点から遅い基準時間帯に向けて、割り当て可能な業務量の範囲内に収まっている業務を消し込む処理を行う。具体的には、メモリ装置18の所定領域に割り当て可能な業務量をコピーすると共に、1つの業務を消し込むと割り当て可能な業務量を1削減する(デクリメントする)処理を、割り当て可能な業務量がゼロになるまで行う等の手順で処理が行われる。図中、斜線で示す領域の業務が消し込まれた業務である。次に、交叉後補正処理部40は、消し込まれなかった残余の業務を消去し、その時点で割当可能な業務量が余っている他の業務を、消去された部分にランダムに代入する(図中、代入部分を太字で示す)。
【0094】
また、図18(B)に示すように、交叉後補正処理部40が補正を行った後のデータ列に対しては、必要に応じて整列処理部34が整列処理を行う。本図の例ではデータ列jについては整列処理の必要が無く、データ列kについては整列処理を行う必要があった。
【0095】
(2)未割り当ての業務が存在する場合
図19は、未割り当ての業務が存在する場合における、交叉処理の対象となるデータ列(データ列l、mとする)と、割り当て可能な業務量、業務の未割当数を示す図である。本図では、午後1以降のデータを省略している。
【0096】
図20は、図19で示すデータに対して、午前1に含まれる、ある交叉点で交叉処理が行われた後のデータ列l、mと、午前1に関して各業務に割り当てられている業務量の合計、及び未割当数を示す図である。以下、交叉点を含む大枠時間帯のみが補正の対象となるため、交叉点を含む大枠時間帯のみを図示する。
【0097】
ここで、図20の(A)は、大枠時間帯「午前1」において業務1、2、3毎に割当可能な最大の業務量であり、(B)は交叉処理の直後に計算した業務1、2、3毎に割り当てられた業務量の合計(仮)であり、(C)は(A)から(B)を減算した、業務1、2、3毎に割当可能な最大の業務量(▲はマイナスすなわち過剰に割り当てられている状態を示す)である。
【0098】
図示するように、交叉処理の結果、データ列lでは各業務に対して割当可能な業務量の範囲内で業務が割り当てられ、データ列mでは業務2に対して過剰に業務量が割り当てられることとなった。
【0099】
交叉後補正処理部40は、図20で示す交叉後のデータ列mに対して、業務毎の割当数の合計が、割り当て可能な業務量の範囲内に収まるように補正を行う。図21は、データ列mに対して補正が行われる様子を示す図である。
【0100】
図21(A)に示すように、交叉後補正処理部40は、各業務に対して割当可能な業務量の範囲内で業務が割り当てられているデータ列lに対しては補正を行わない。
【0101】
また、図21(B)に示すように、交叉後補正処理部40は、交叉点から遅い基準時間帯に向けて、割り当て可能な業務量の範囲内に収まっている業務を消し込む処理を行う。図中、斜線で示す領域の業務が消し込まれた業務である。次に、交叉後補正処理部40は、消し込まれなかった残余の業務を消去し、その時点で割当可能な業務量が余っている他の業務(未割り当ての業務を含む)を、消去された部分にランダムに代入する(図中、代入部分を太字で示す)。ここでは、過剰に割り当てられた業務2に代えて業務3が割り当てられたものとした。また、図21(B)に示すように、交叉後補正処理部40が補正を行った後のデータ列(補正不要であった場合には交叉処理部38が交叉処理を行った後のデータ列)に対して、必要に応じて整列処理部34が整列処理を行う。本図の例ではデータ列lについては整列処理の必要が無く、データ列mについては整列処理を行う必要があった。
【0102】
なお、現実的には、データ列の対における交叉点を含む大枠時間帯の部分に対してのみ交叉後補正処理を行えば十分であるため、交叉点が大枠時間帯の切り替わる箇所に当たる場合は、交叉後補正処理を省略する。
【0103】
係る処理によって、交叉処理の結果、あるデータ列において特定の業務が過剰に含まれることになったり、不足したりする状態を適切に修正することができる。
【0104】
ここで、交叉後の補正を行わない場合であっても、遺伝的アルゴリズムの性質上、試行錯誤の結果としていずれは最適解に辿り着くことができる場合がある。しかしながら、その場合、試行錯誤の回数が多くなり、出力を得るまでの時間が長くなる可能性が高い。
【0105】
これに対し、本実施例の業務割当支援装置1では、交叉処理部38により交叉処理が行われた後のデータ列に対して、各業務に割り当てられている業務量の合計が、割当予定時間算出部30により算出された割り当て可能な業務量の範囲内に収まるように、交叉処理が行われた後のデータ列を補正するため、このような補正を行わないものと比較して、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことができる。
【0106】
〔突然変異処理〕
突然変異処理部42は、例えばランダムに決定した突然変異点を含む連続する同一の業務を、他の業務に置き換える。図22は、突然変異処理を説明するための説明図である。また、図23は、突然変異処理の流れを示すフローチャートである。なお、交叉点は業務枠の境界線を指定するものとしたが、突然変異点は業務枠自体を指定するものとする。
【0107】
突然変異処理部42は、まず、対象となるデータ列群から一のデータ列を順番に選択する(S400)。そして、選択したデータ列について例えば[0.0〜1.0]の乱数を発生させ(S410)、発生させた乱数が突然変異率C以下であるか否かを判定する(S420)。
【0108】
発生させた乱数が突然変異率C以下である場合は、当該データ列の任意の業務枠を突然変異点としてランダムに決定し(S430)、突然変異点を含む連続する同一の業務を、他の業務に置き換える(S440)。
【0109】
ここで、置き換えられる他の業務は、当該データ列の大枠時間帯内の他の業務又は未割り当ての業務の中から、ランダムに、或いは突然変異点を基準にして上から順に探索されたものが選択される。図21の例では、突然変異点を含む業務3が、一群の業務3の直下に割り当てられた業務7と置換される。
【0110】
そして、S400〜S440の処理を、全てのデータ列について行う(S450)。
【0111】
また、突然変異処理は、各データ列について突然変異確率Cに応じた乱数処理を行うのではなく、「突然変異確率Cにデータ列の個数nを乗じた個数」のデータ列について必ず行うものとしてもよい。この場合、処理フローとしては、ランダムにデータ列を選択する(既に選択されたものを除く)処理を、n×C回行い、選択された全てのデータ列について、図22のS430、S440の処理を行う。
【0112】
〔ペナルティ値の計算〕
選択・淘汰処理部36は、以下の手法により各データ列のペナルティ値を算出する。データ列のペナルティ値は、例えば、(a)難易度/習熟度の一致程度、(b)要求資格違反、(c)除外条件違反、(d)開始終了時間違反の四項目について行い、これらの個別ペナルティ値の荷重和を求めることによって算出する。個別ペナルティ値は、例えばゼロが最も好ましく、値が大きくなるほど好ましくないものとする。
【0113】
(a)難易度/習熟度の一致程度は、データ列における各業務枠と担当者の組み合わせについて、前述した「業務難易度」と「習熟度」の合致程度を評価したものである。係る評価は、前述したように、難易度/習熟度評価マトリクスを用いて行う。難易度/習熟度の一致程度に関する個別ペナルティ値Eaは、例えば、データ列における各業務枠と担当者の組み合わせを検索キーとして難易度/習熟度評価マトリクスを検索することにより導出される値を、全ての業務枠と担当者の組み合わせについて合計した合計値である。
【0114】
(b)要求資格違反は、担当者の保有する資格と、各業務の要求する資格との不適合数を評価する。要求資格違反に関する個別ペナルティ値Ebは、例えば次式(2)により算出される。式中、パラメータiは担当者の識別番号であり、pは担当者の数である。
【0115】
Eb=Σi=1p(不適合の業務数) …(2)
【0116】
(c)除外条件違反に関する個別ペナルティ値Ecは、業務の除外条件(直前又は直後に割り当て不可)に抵触する業務の数を評価した値である。
【0117】
(d)開始終了時間違反に関する個別ペナルティ値Edは、業務の最早開始時刻、及び最遅終了時刻に抵触する業務の数を評価した値である。
【0118】
選択・淘汰処理部36は、上記のように個別ペナルティ値Ea、Eb、Ecが算出されると、これらの荷重和によってデータ列のペナルティ値を算出する(次式(3))。
【0119】
(ペナルティ値)=α・Ea+β・Eb+γ・Ec+δ・Ed …(3)
【0120】
なお、前述した「目的関数」は、主に上式(3)の各パラメータを指し、更に、担当者別の労働時間の評価におけるポイント数等を含んでもよい。目的関数のパラメータをユーザが任意の値に設定することにより、業務割り当ての際に重視する項目を自由に決定することができる。
【0121】
[入力及び出力画面]
以下、ディスプレイ装置24によって表示される表示画面について説明する。図24は、パラメータの入力、実行指示、結果出力が行われるメイン画面24Aの一例である。
【0122】
メイン画面24Aの上段には、パラメータ設定部24Aaが設定される。パラメータ設定部24Aaの枠内の数値をキーボードやマウス等で入力することにより、データ列数n、繰り返し回数m、目的関数として用いられるパラメータα、β、γ、δ(図中、ペナルティ係数と表記)を決定することができる。また、パラメータ設定部24Aaのチェックボックスをマウス等でクリックすることにより、エリート法とルーレット法のいずれを選択するか、1点交叉法と2点交叉法のいずれを選択するか、突然変異の手法として範囲指定の有無を選択するかを指定することができる。また、図中、遺伝子長は、入力データにより決定されるデータ列の長さである。
【0123】
なお、パラメータ設定部24Aaで設定されるパラメータ以外の入力データについては、ドライブ装置12やインターフェース装置20を介して入力されるか、予め補助記憶装置16やROM等に格納されたものが使用される。
【0124】
メイン画面24Aにおいて実行ボタン24Abをマウス等でクリックすることにより、上記パラメータ設定部24Aaにおいて設定されたパラメータを反映させた処理が行われ、結果がメイン表示部24Ac及びサブ表示部24Adに表示される。また、業務一覧表示部24Aeには、該当日に割り当て可能な業務の種別(図中、No)、業務名、習熟度、業務を割り当て可能な数(図中、可能数)、業務が割り当てられた数(割当数)が表示される。
【0125】
メイン表示部24Acでは、各担当者に対して割り当てられた業務の種別が表示される。また、各担当者について、出勤時刻、退勤時刻、勤務時間が表示される。
【0126】
ここで、メイン表示部24Acや業務一覧表示部24Ae等に表示される難易度や習熟度は、定性的な表現(例えば「難−普通−易」や「優−良−可」、「A−B−C」、「ランク1−ランク2−ランク3−…等)に置き換えてもよい。また、担当者表示部24Aeにおける可能数や割当数は、業務量に単位時間帯の長さを乗算した実時間であってもよい。
【0127】
サブ表示部24Adでは、m回のループ処理を行った結果、最終的に最もペナルティ値の低い(評価の高い)データ列に関する個別ペナルティ値Ea、Eb、Ec、Ed、及びそれらの割合等が表示される。
【0128】
メイン画面24Aにおいて結果出力ボタン24Afをマウス等でクリックすることにより、実行結果がCSVファイル等の形式で外部に出力される。また、印刷ボタン24Ahをマウス等でクリックすることにより、実行結果がプリンタにより印刷される。
【0129】
また、メイン画面24Aにおいて世代グラフボタン24Agをマウス等でクリックすることにより、世代毎の(すなわちm回まで行われるループ処理回数毎の)ペナルティ値の推移を示す世代グラフ表示画面24Bが表示される。図25は、世代グラフ表示画面24Bの一例である。図示するように、世代グラフ表示画面24Bでは、ループ処理を行う毎のペナルティ値の推移がグラフとして表示され、グラフの所望の箇所にカーソルを合わせることによって、何世代目の結果であるか、及び当該世代の最もペナルティ値の低いデータ列のペナルティ値が強調表示される。
【0130】
このように、世代グラフを表示することによって、ユーザは、パラメータを色々と試しながら、ペナルティ値が速やかに低下するパラメータを探索することができる。
【0131】
[まとめ]
以上説明した本実施例の業務割当支援装置1によれば、交叉処理部38により交叉処理が行われた後のデータ列に対して、各業務に割り当てられている業務量の合計が、割当予定時間算出部30により算出された割り当て可能な業務量の範囲内に収まるように、交叉処理が行われた後のデータ列を補正するため、このような補正を行わないものと比較して、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことができる。
【0132】
また、割当予定時間算出部30の処理によって、例えば生産業務と非生産業務が混在した現場に関して、各業務に対する割当予定時間及び業務量を適切に算出することができる。また、該当日の予定生産量に各大枠時間帯の生産比率を乗算して各大枠時間帯の予定生産量を算出することにより、一日のうちで販売される数量がある程度予測できるような現場に関する割当予定時間及び業務量を適切に算出することができる。
【0133】
また、整列処理部34の処理によって、同一担当者によって実行される同一の業務は、大枠時間帯内で連続して割り当てられることになり、業務の効率性を向上させることができる。
【0134】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0135】
例えば、上記実施例では、担当者の習熟度は、業務の種別に拘わらず一律に評価されるものとしたが、担当者の業務の種別毎の習熟度を評価するものとしてもよい。この場合、担当者の「業務の種別毎の」習熟度を格納した業務種別毎の習熟度評価マトリクスを備え、これに格納された値に基づき個別ペナルティ値Ebを算出する。図26は、業務種別毎の習熟度評価マトリクスの一例である。例えば担当者のAさんは、業務1に関しては習熟度が高いため業務1に割り当てられた場合の個別ペナルティ値は0であるが、業務4に関しては習熟度が低いため業務4に割り当てられた場合の個別ペナルティ値は100と設定されている。また、担当者のDさんは、業務1に関しては習熟度が低いため業務1に割り当てられた場合の個別ペナルティ値は200であるが、業務4に関しては習熟度が高いため業務4に割り当てられた場合の個別ペナルティ値は0と設定されている。
【0136】
また、このような担当者の業務の種別毎の習熟度を評価する手法は、実施例の手法と組み合わせてもよい。すなわち、(1)業務の難易度と担当者の一般的な習熟度を難易度/習熟度評価マトリクス等により評価すると共に、(2)担当者の業務の種別毎の習熟度を併せて評価する。この場合、個別ペナルティ値は、(1)(2)のそれぞれについて別々に求めてもよいし、それぞれについて求めたものを加算又は乗算等してもよい。
【0137】
また、業務の難易度と担当者の一般的な習熟度を評価する手法と、担当者の業務の種別毎の習熟度を評価する手法を、処理モードとしてユーザが選択できるようにしてもよい。
【0138】
また、突然変異処理を省略してもよい。更に、遺伝的アルゴリズムの性質を有する範囲内で別の処理が行われてもよい。
【符号の説明】
【0139】
1 業務割当支援装置
10 CPU
12 ドライブ装置
14 記憶媒体
16 補助記憶装置
18 メモリ装置
20 インターフェース装置
22 入力装置
24 ディスプレイ装置
30 割当予定時間算出部
32 データ列生成部
34 整列処理部
36 選択・淘汰処理部
38 交叉処理部
40 交叉後補正処理部
42 突然変異処理部

【特許請求の範囲】
【請求項1】
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置。
【請求項2】
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置。
【請求項3】
請求項1又は2に記載の業務割当支援装置であって、
前記複数種別の業務に含まれる生産業務に関し、所定期間における予定生産量に関するデータを単位時間当たりの生産可能量で除算することにより、前記生産業務に関する所定期間における前記割当予定時間を算出して前記記憶手段に格納する割当予定時間算出手段を備える、
業務割当支援装置。
【請求項4】
請求項3に記載の業務割当支援装置であって、
前記割当予定時間算出手段は、複数の所定期間における予定生産量を、該複数の所定期間を包含する基準期間における、所定期間毎の予定生産比率に基づいて算出する手段である、
業務割当支援装置。
【請求項5】
請求項1ないし4のいずれか1項に記載の業務割当支援装置であって、
前記データ列生成手段及び前記補正処理手段により処理が行われた結果のデータ列に対して、同一業務を連続させるように整列する処理を行う整列処理手段を備える、
業務割当支援装置。
【請求項6】
請求項1ないし5のいずれか1項に記載の業務割当支援装置であって、
前記選択・淘汰処理手段は、前記業務の難易度と前記担当者の習熟度との組み合わせに応じた評価値が格納されたマトリクスデータを参照することにより、前記評価値を算出する手段である、
業務割当支援装置。
【請求項7】
請求項1ないし6のいずれか1項に記載の業務割当支援装置であって、
前記選択・淘汰処理手段は、業務の種別と、前記担当者の業務の種別毎の習熟度と、に基づき、業務に割り当てられた担当者の当該業務の種別に対応した習熟度が高い場合に、好ましい評価値を算出する手段である、
業務割当支援装置。
【請求項8】
請求項1ないし7のいずれか1項に記載の業務割当支援装置であって、
前記所定回数のループ処理が行われる過程において、各回の処理の結果として得られた最も好ましい評価値の履歴を表示手段により表示することを特徴とする、
業務割当支援装置。
【請求項9】
請求項1ないし8のいずれか1項に記載の業務割当支援装置であって、
前記選択・淘汰処理手段は、複数項目についての個別評価値を算出すると共に、該算出した複数項目についての個別評価値を反映させて前記評価値を算出する手段であり、
前記最も好ましい評価値を得たデータ列に基づく出力を行う際に、該最も好ましい評価値を得たデータ列の前記複数項目についての個別評価値を併せて出力することを特徴とする、
業務割当支援装置。
【請求項10】
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法。
【請求項11】
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法。
【請求項12】
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラム。
【請求項13】
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラム。

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

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2013−97625(P2013−97625A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−240614(P2011−240614)
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000005234)富士電機株式会社 (3,146)