(57)【要約】【課題】担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことが可能な業務割当支援装置等を提供すること。【解決手段】担当者に業務が割り当てられたデータ列を複数個生成した後、データ列の対に対して所定の位置を基準として前後いずれかの部分に割り当てられた業務を入れ替え、入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が割当予定時間を逸脱する場合に、割当予定時間の範囲内に収まるように補正し、データ列に対する評価値を算出すると共に、算出した評価値に基づきデータ列の選択処理を行って記憶手段に格納する処理を所定回数行った結果、最も好ましい評価値を得たデータ列を出力する業務割当支援装置。【選択図】図１３
2013097625.tif 000002
【特許請求の範囲】
【請求項１】
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置。
【請求項２】
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置。
【請求項３】
請求項１又は２に記載の業務割当支援装置であって、
前記複数種別の業務に含まれる生産業務に関し、所定期間における予定生産量に関するデータを単位時間当たりの生産可能量で除算することにより、前記生産業務に関する所定期間における前記割当予定時間を算出して前記記憶手段に格納する割当予定時間算出手段を備える、
業務割当支援装置。
【請求項４】
請求項３に記載の業務割当支援装置であって、
前記割当予定時間算出手段は、複数の所定期間における予定生産量を、該複数の所定期間を包含する基準期間における、所定期間毎の予定生産比率に基づいて算出する手段である、
業務割当支援装置。
【請求項５】
請求項１ないし４のいずれか１項に記載の業務割当支援装置であって、
前記データ列生成手段及び前記補正処理手段により処理が行われた結果のデータ列に対して、同一業務を連続させるように整列する処理を行う整列処理手段を備える、
業務割当支援装置。
【請求項６】
請求項１ないし５のいずれか１項に記載の業務割当支援装置であって、
前記選択・淘汰処理手段は、前記業務の難易度と前記担当者の習熟度との組み合わせに応じた評価値が格納されたマトリクスデータを参照することにより、前記評価値を算出する手段である、
業務割当支援装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の業務割当支援装置であって、
前記選択・淘汰処理手段は、業務の種別と、前記担当者の業務の種別毎の習熟度と、に基づき、業務に割り当てられた担当者の当該業務の種別に対応した習熟度が高い場合に、好ましい評価値を算出する手段である、
業務割当支援装置。
【請求項８】
請求項１ないし７のいずれか１項に記載の業務割当支援装置であって、
前記所定回数のループ処理が行われる過程において、各回の処理の結果として得られた最も好ましい評価値の履歴を表示手段により表示することを特徴とする、
業務割当支援装置。
【請求項９】
請求項１ないし８のいずれか１項に記載の業務割当支援装置であって、
前記選択・淘汰処理手段は、複数項目についての個別評価値を算出すると共に、該算出した複数項目についての個別評価値を反映させて前記評価値を算出する手段であり、
前記最も好ましい評価値を得たデータ列に基づく出力を行う際に、該最も好ましい評価値を得たデータ列の前記複数項目についての個別評価値を併せて出力することを特徴とする、
業務割当支援装置。
【請求項１０】
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法。
【請求項１１】
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法。
【請求項１２】
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラム。
【請求項１３】
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務に担当者を最適に割り当てることを支援する業務割当支援装置及び方法、並びにプログラムに関し、特に、ＧＡ（Genetic Algorithm；遺伝的アルゴリズム）を応用した処理を行って、担当者に業務を最適に割り当てることを支援する業務割当支援装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、業務に従事可能な複数の担当者に対して、業務を如何に割り当てるかを、コンピュータによって決定する技術について研究が進められている。係る分野においては、データ列に対して交叉、突然変異等の確率的処理を施して選択・淘汰することを繰り返し行う遺伝的アルゴリズムが好適に用いられる。
【０００３】
これに関連し、要員配置問題の準最適解を、遺伝的アルゴリズムにより求める要員配置支援方法が知られている（例えば、特許文献１参照）。この方法では、時間帯毎の要員の必要人数を指定し、これに対して可能な限り過不足数を少なく人員を配置するものとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４３８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の手法においては、複数種別の業務を扱うことを想定していないため、担当者に複数種別の業務を割り当てる処理を行う場合に、遺伝的アルゴリズムが適切に機能しない場合がある。
【０００６】
本発明はこのような課題を解決するためのものであり、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことが可能な業務割当支援装置等を提供することを目的の一つとする。
【課題を解決するための手段】
【０００７】
上記目的を達成するための本発明の第１の態様は、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置である。
【０００８】
本発明の第２の態様は、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成手段と、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理手段と、
前記入替処理手段により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理手段により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理手段と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理手段と、
を備え、少なくとも前記入替処理手段、前記補正処理手段及び前記選択・淘汰処理手段が所定回数ループ処理を行った結果、最も好ましい評価値を得たデータ列を出力する、
業務割当支援装置である。
【０００９】
本発明の第３の態様は、
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法である。
【００１０】
本発明の第４の態様は、
コンピュータが、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行した後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行し、最も好ましい評価値を得たデータ列を出力する、
業務割当支援方法である。
【００１１】
本発明の第５の態様は、
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の位置を基準として該所定の位置の前後いずれかの部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラムである。
【００１２】
本発明の第６の態様は、
コンピュータに、
複数種別の業務について割当予定時間を規定したデータと、業務に従事可能な複数の担当者に関するデータとに基づき、所定の順序で並べられた前記複数の担当者毎に、時系列で並べられた複数の業務枠に種別が特定された業務が割り当てられたデータ列を複数個生成して前記記憶手段に格納するデータ列生成処理を実行させた後、
前記記憶手段に格納されたデータ列から選択されたデータ列の対に対して、所定の二箇所の位置を基準として該二箇所の位置に挟まれた部分に割り当てられた業務を入れ替えて前記記憶手段に格納する入替処理と、
前記入替処理により入れ替えが行われた後のデータ列において、業務の種別毎にいずれかの担当者に割り当てられている時間を集計した結果が前記割当予定時間を逸脱する場合に、前記業務の種別毎の合計が前記割当予定時間の範囲内に収まるように、前記入替処理により入れ替えが行われた後のデータ列を補正して前記記憶手段に格納する補正処理と、
前記記憶手段に格納されたデータ列に対する評価値を算出すると共に、該算出した評価値に基づき前記データ列の選択処理を行って前記記憶手段に格納する選択・淘汰処理と、
を所定回数繰り返し実行させ、最も好ましい評価値を得たデータ列を出力させる、
業務割当支援プログラムである。
【発明の効果】
【００１３】
本発明によれば、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことが可能な業務割当支援装置等を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施例に係る業務割当支援装置１のハードウエア構成例である。
【図２】本発明の一実施例に係る業務割当支援装置１の機能構成例である。
【図３】難易度／習熟度評価マトリクスの一例である。
【図４】入力データに対して業務割当支援装置１が処理を行った場合の出力イメージである。
【図５】本実施例の業務割当支援装置１により実行される全体的な処理の流れを示すフローチャートである。
【図６】割当予定時間算出部３０に与えられる入力データの一例である。
【図７】割当予定時間算出部３０により実行される処理の流れを示すフローチャートである。
【図８】割当予定時間算出部３０によりデータが生成される様子を模式的に示す図である。
【図９】データ列生成部３２により生成されるデータ列を概念的に示す図である。
【図１０】業務の割当優先順位を考慮しない場合の整列処理を模式的に示す図である。
【図１１】業務の割当優先順位を考慮する場合の整列処理を模式的に示す図である。
【図１２】業務の割当優先順位を規定したデータの一例である。
【図１３】業務割当支援装置１による処理の流れを概念的に示す図である。
【図１４】交叉処理を説明するための説明図である。
【図１５】交叉処理の流れを示すフローチャートである。
【図１６】未割り当ての業務が存在しない場合における、交叉処理の対象となるデータ列と、割り当て可能な業務量を示す図である。
【図１７】交叉処理が行われた後のデータ列ｊ、ｋと、午前１に関して各業務に割り当てられている業務量の合計を示す図である。
【図１８】データ列ｊ、ｋに対して補正が行われる様子を示す図である。
【図１９】未割り当ての業務が存在する場合における、交叉処理の対象となるデータ列と、割り当て可能な業務量、業務の未割当数を示す図である。
【図２０】交叉処理が行われた後のデータ列ｌ、ｍと、午前１に関して各業務に割り当てられている業務量の合計、及び未割当数を示す図である。
【図２１】データ列ｍに対して補正が行われる様子を示す図である。
【図２２】突然変異処理を説明するための説明図である。
【図２３】突然変異処理の流れを示すフローチャートである。
【図２４】パラメータの入力、実行指示、結果出力が行われるメイン画面２４Ａの一例である。
【図２５】世代グラフ表示画面２４Ｂの一例である。
【図２６】業務種別毎の習熟度評価マトリクスの一例である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１６】
以下、本発明の一実施例に係る業務割当支援装置及び方法、並びにプログラムについて説明する。業務割当支援装置１は、入力された業務情報や担当者情報等に対し、ＧＡ（Genetic Algorithm；遺伝的アルゴリズム）を応用した処理を行って、各担当者に業務を最適に割り当てることを目的とした装置である。
【００１７】
なお、本発明が扱う「業務」は、工場等で行う手作業、会議に参加する等のマネージメント業務、営業活動等を広く含み、業務の性質に特段の制限は存在しない。しかしながら、以下の実施例では、「予定生産量」等の情報業務を扱っているため、何らかの生産を行う業務を含むと好適である。なお、生産業務を含まない業務に対しても、「割当予定時間決定」に関する処理の後の処理を適用することにより、本発明を利用することができる。
【００１８】
また、以下の実施例では、ある日における各基準時間帯に対して業務を割り当てるものとするが、ある週における基準時間帯（又は各日）に対して業務を割り当てる等、より長い時間軸で適用することも可能である。
【００１９】
［ハードウエア構成］
図１は、本発明の一実施例に係る業務割当支援装置１のハードウエア構成例である。業務割当支援装置１は、例えば、ＣＰＵ（Central  Processing  Unit）１０と、ドライブ装置１２と、補助記憶装置１６と、メモリ装置１８と、インターフェース装置２０と、入力装置２２と、ディスプレイ装置２４と、を備える情報処理装置である。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【００２０】
ＣＰＵ１０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。
【００２１】
ドライブ装置１２は、記憶媒体１４からプログラムやデータを読み込み可能な装置である。プログラムを記録した記録媒体１４がドライブ装置１２に装着されると、プログラムが記録媒体１４からドライブ装置１２を介して補助記憶装置１６にインストールされる。記録媒体１４は、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型の記録媒体である。また、補助記憶装置１６は、例えば、ＨＤＤ（Hard  Disk  Drive）やフラッシュメモリである。
【００２２】
プログラムのインストールは、上記のように記憶媒体１４を用いる他、インターフェース装置２０がネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置１６にインストールすることによって行うこともできる。ネットワークは、インターネット、ＬＡＮ（Local  Area  Network）、携帯電話の電波網等である。また、プログラムは、情報処理装置の出荷時に、予め補助記憶装置１６やＲＯＭ（Read  Only  Memory）等に格納されていてもよい。
【００２３】
このようにしてインストール又は予め格納されたプログラムをＣＰＵ１０が実行することにより、図１に示す態様の情報処理装置が、本実施例の業務割当支援装置１として機能することができる。
【００２４】
メモリ装置１８は、例えば、ＲＡＭ（Random  Access  Memory）やＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）である。インターフェース装置２０は、上記ネットワークとの接続等を制御する。
【００２５】
入力装置２２は、例えば、キーボードやマウス、タッチパッド、タッチパネル、マイク等である。また、ディスプレイ装置２４は、例えば、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）等の表示装置である。業務割当支援装置１は、ディスプレイ装置２４の他、プリンタ、スピーカ等、他の種類の出力装置を備えてもよい。
【００２６】
［機能構成］
図２は、本発明の一実施例に係る業務割当支援装置１の機能構成例である。業務割当支援装置１は、割当予定時間算出部３０と、データ列生成部３２と、整列処理部３４と、選択・淘汰処理部３６と、交叉処理部３８と、交叉後補正処理部４０と、突然変異処理部４２と、を備える。これらの機能ブロックは、補助記憶装置１６等に格納されたプログラム・ソフトウエアをＣＰＵ１０が実行することにより機能する。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムから呼び出されるものであってもよい。また、機能ブロックの一部が、ＩＣ（Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウエア手段であっても構わない。
【００２７】
〔入力データ・出力イメージ〕
まず、業務割当支援装置１に与えられる入力データについて説明する。業務割当支援装置１に与えられる入力データは、例えば、業務情報、担当者情報、生産性指標情報、制約条件、業務難易度、難易度／習熟度評価マトリクス、目的関数、データ列数ｎ、繰り返し回数ｍ、突然変異率Ｃ等を含む。
【００２８】
入力データは、ドライブ装置１２やインターフェース装置２０、入力装置２２を介して入力され、メモリ装置１８に格納される。なお、入力データのうち、特に業務種別毎の予定生産量、大枠時間帯毎の生産比率、担当者情報以外のデータについては、予め補助記憶装置１６やＲＯＭ等に格納されたデフォルトデータを繰り返し用いてもよい。
【００２９】
「業務情報」は、例えば、業務種別、業務区分、業務種別毎の予定生産量、業務難易度、要求資格、要求スキル、割当優先順位、除外「前」条件、除外「後」条件、最早開始時刻、最遅終了時刻等を含む。
【００３０】
「業務区分」は、生産業務と、非生産業務を区別するためのものである。生産業務は、予定生産量（予定生産数）が予定値として与えられ、生産量によって担当者への割当数が決定される業務である。例えば、スーパーに適用された場合、食肉加工、刺身盛り合わせの製造等が該当する。
【００３１】
一方、非生産業務は、生産量によって担当者への割当数が決定されない業務である。例えば、売場準備、受け入れ、発注、売場清掃等が該当する。
【００３２】
「業務種別毎の予定生産量」は、本実施例が扱う複数の業務のうち生産業務について、業務種別毎にその日の予定生産量を規定したデータである。
【００３３】
「業務難易度」は、業務種別毎に業務の難易度を数値化したものである。業務難易度は、必ずしも入力データに含まれる必要はない。例えば、業務種別と業務難易度が対応付けられたデータテーブルが予め補助記憶装置１６やＲＯＭ等に格納されており、業務種別を検索キーとしてデータテーブルを検索することにより業務難易度を特定するものとしてもよい。
【００３４】
「要求資格」は、例えば調理師資格のように、業務種別によって必要となる資格である。「要求スキル」は、担当者に求められる経験スキルの最低値である。「割当優先順位」は、大枠時間帯毎に、業務の順序を決定する際の優先順位である。「除外「前」条件」は、該当する業務の直前に割り当ててはいけない業務を指定したものである、例えば、業務Ａの直前に、業務Ｂを割り当ててはいけないと指定する。「除外「後」条件」は、該当する業務の直後に割り当ててはいけない業務を指定したものである、例えば、業務Ｃの直後に、業務Ｄを割り当ててはいけないと指定する。「最早開始時刻」は、当該業務を割り当てることができる最も早い開始時刻である。「最遅終了時刻」は、当該業務を割り当てることができる最も遅い終了時刻である。これらの情報は、絶対的制約条件とする必要はなく、例えば選択・淘汰処理部３６による個別ペナルティ値の評価処理に用いられる。
【００３５】
ここで、大枠時間帯とは、例えば、午前１、午前２、午後１、午後２のように、業務割当支援装置１における基準時間帯（例えば１５分単位で設定される）よりも長く設定された時間帯である。以下の説明では、大枠時間帯の長さは２時間であるものとする。
【００３６】
「担当者情報」は、対象日において、業務に従事可能な担当者の識別名、勤務予定時刻（出勤時刻及び退勤時刻）、保有資格、経験スキル等を含む。経験スキルは、業務に対する担当者の習熟度を、担当者毎に数値化したものである。経験スキルは、上記業務難易度と同様に、必ずしも入力データに含まれる必要はない。例えば、全担当者の識別名と習熟度が対応付けられたデータテーブルが、予め補助記憶装置１６やＲＯＭ等に格納されており、担当者の識別名を検索キーとしてデータテーブルを検索することにより、習熟度を特定するものとしてもよい。
【００３７】
「生産性指標情報」は、業務種別毎の業務開始時刻、業務終了時刻、各大枠時間帯の生産比率等を含む。更に、生産性指標情報は、大枠時間帯毎の単位時間当たりの生産可能量を含む。
【００３８】
「各大枠時間帯の生産比率」は、予定生産量を、その日の大枠時間帯に関してどのような配分で生産するかを決定する目標値である。
【００３９】
「標準生産可能量」は、上記生産業務に関して、業務種別毎に、１時間あたりの生産可能量を示す値である。また、「大枠時間帯毎の生産可能量」は、標準生産可能量を大枠時間帯毎に細分化した値である。大枠時間帯毎の生産可能量が省略される場合、１日を通して標準生産可能量を使用する。
【００４０】
「制約条件」は、例えば、（１）同じ担当者が同じ時間帯に異なる業務を担当しない、（２）ある担当者の１日の総労働時間は８時間を超えない、等と任意に設定される。制約条件は、目的関数を決定付けるパラメータとなる。
【００４１】
「難易度／習熟度評価マトリクス」は、業務難易度と担当者の習熟度との合致程度に応じて個別ペナルティ値（後述）を決定するためのマトリクスデータである。図３は、難易度／習熟度評価マトリクスの一例である。図示するように、難易度／習熟度評価マトリクスは、業務難易度と担当者の習熟度に対応して個別ペナルティ値が格納されたマトリクスデータであり、業務難易度と担当者の習熟度が合致している箇所に比較的低い値が格納されている。具体的には、難易度の高い業務に習熟度の高い担当者が合致し、難易度の低い業務に習熟度の低い担当者が合致しているとする。
【００４２】
以下、このように、データ列を評価する指標値である個別ペナルティ値及びペナルティ値は低いほど好ましいものとするが、係る関係は逆でもよく、値が高いほど好ましいことを示す指標値を用いてもよい。
【００４３】
「目的関数」は、上記制約条件の違反度合い、及び難易度／習熟度評価マトリクスにより決定される個別ペナルティ値を反映し、データ列（後述する）の総合評価値であるペナルティ値を算出するための関数である。
【００４４】
「データ列数ｎ」は、本実施例の業務割当支援装置１により扱われるデータ列の総数を決定するパラメータである。
【００４５】
「繰り返し回数ｍ」は、選択・淘汰処理部３６、交叉処理部３８、交叉後補正処理部４０、突然変異処理部４２により実行されるループ処理の回数を決定するパラメータである。
【００４６】
図４は、上記のような入力データに対して業務割当支援装置１が処理を行った場合の出力イメージである。図中、「午前１」、「午前２」、「午後１」と表記したものが「大枠時間帯」に相当する。本実施例の業務割当支援装置１は、担当者毎に、例えば１５分程度に区切られた複数の基準時間帯に対して、業務が割り当てられたデータを出力する。以下、業務が割り当てられる対象となる基準時間帯を、「業務枠」と称する。
【００４７】
〔全体処理フロー〕
図５は、本実施例の業務割当支援装置１により実行される全体的な処理の流れを示すフローチャートである。
【００４８】
まず、割当予定時間算出部３０が入力データを読み込み（Ｓ１００）、割当予定時間を決定する（Ｓ１１０）。入力データや割当予定時間は、例えばメモリ装置１８又は補助記憶装置１６に格納される。以下、各ステップの処理結果は、全てメモリ装置１８又は補助記憶装置１６に格納されるものとする。
【００４９】
次に、データ列生成部３２が初期データ列群を生成し、整列処理部３４が整列処理を行う（Ｓ１２０）。
【００５０】
次に、選択・淘汰処理部３６が、目的関数を用いてペナルティ値を算出して、選択・淘汰処理を行う（Ｓ１３０）。
【００５１】
次に、交叉処理部３８が、交叉処理を行い、交叉後補正処理部４０が交叉後補正処理を行い、整列処理部３４が整列処理を行う（Ｓ１４０）。
【００５２】
次に、選択・淘汰処理部３６が、再度目的関数を用いてペナルティ値を算出して、選択・淘汰処理を行う（Ｓ１５０）。Ｓ１５０の処理は、Ｓ１３０の処理とは異なってもよいし、Ｓ１５０の処理自体を省略してもよい。
【００５３】
次に、突然変異処理部４２が突然変異処理を行い、整列処理部３４が整列処理を行う（Ｓ１６０）。なお、交叉処理及び交叉後補正処理と突然変異処理は順序を入れ替えても構わない。
【００５４】
そして、Ｓ１３０〜Ｓ１６０の処理を、カウント値ｔ１が繰り返し回数ｍ以上となるまで実行する（Ｓ１７０、Ｓ１８０）。カウント値ｔ１は、初期値として０が設定される。
【００５５】
カウント値ｔ１が繰り返し回数ｍ以上となると、結果出力を行って（Ｓ１９０）、本フローを終了する。
【００５６】
〔割当予定時間・業務量算出処理〕
割当予定時間算出部３０は、生産業務、非生産業務のそれぞれについて、業務に関する割当予定時間、及び業務量を算出してメモリ装置１８に格納する。特に、生産業務については、該当日における予定生産量に関するデータを各大枠時間帯の生産比率で配分し、単位時間当たりの生産可能量で除算することにより、業務量を算出する。
【００５７】
ここで、業務量とは、大枠時間帯毎に各業務に割り当てる業務枠の数であり、割当予定時間を基準時間帯の長さで除算して求められる。従って、業務量は、割当予定時間に応じた指標値であり、割当予定時間と同じ意義を有する。
【００５８】
図６は、割当予定時間算出部３０に与えられる入力データの一例である。図中、業務１〜７は生産業務であり、業務８は非生産業務である。図示するように、割当予定時間算出部３０には、該当日の予定生産量（個、グラム等、単位は如何なるものでもよい）、各大枠時間帯の生産比率、単位時間（ここでは、各大枠時間帯の長さ）当たりの生産可能量が与えられる。
【００５９】
大枠時間帯毎の単位時間当たりの生産可能量は、一日を通して一定値（標準値）であっても構わない。なお、非生産業務である業務８についての各大枠時間帯の生産比率は、各大枠時間帯の何％の時間を業務に割り当てる必要があるかを示している。
【００６０】
図７は、割当予定時間算出部３０により実行される処理の流れを示すフローチャートである。また、図８は、割当予定時間算出部３０によりデータが生成される様子を模式的に示す図である。なお、図８では小数点以下を１桁で表している。
【００６１】
まず、割当予定時間算出部３０は、該当日の予定生産量に各大枠時間帯の生産比率を乗算し、各大枠時間帯の予定生産量を算出する（Ｓ２００；図８における（１））。例えば業務１を例にとると、午前１に対しては３００×１５％＝４５、午前２に対しては３００×５０％＝１５０、午後１に対しては３００×２０％＝６０となる。
【００６２】
次に、割当予定時間算出部３０は、Ｓ２００で算出した各大枠時間帯の予定生産量を、大枠時間帯毎の単位時間当たりの生産可能量で除算して、各大枠時間帯に割り当てる業務の時間を算出する（Ｓ２１０；図８における（２））。業務１を例にとると、午前１に対しては４５／４０＝１．１２５（時間）、午前２に対しては１５０／６０＝２．５（時間）、午後１に対しては６０／６０＝１（時間）となる。
【００６３】
次に、割当予定時間算出部３０は、算出した各大枠時間帯に割り当てる業務の時間を業務枠の時間的長さ（１５分）で除算して、業務量を算出する（Ｓ２２０；図８における（３））。業務１を例にとると、午前１に対しては１．１２５×６０／１５＝５（業務量）、午前２に対しては２．５×６０／１５＝１０（業務量）、午後１に対しては１×６０／１５＝４（業務量）となる。なお、業務量の算出においては、四捨五入や切り上げによって整数化する処理が行われる。
【００６４】
続いて、割当予定時間算出部３０は、非生産業務に対して割り当てる業務量を算出する（Ｓ２３０）。非生産業務に対して割り当てる業務量は、便宜的に各大枠時間帯の生産比率に格納された２５％、５０％、１００％等の値に、大枠時間帯の長さ（１時間）を乗算し、業務枠の時間的長さ（１５分）で除算することによって求められる。
【００６５】
係る処理によって、例えば生産業務と非生産業務が混在した現場に関して、各業務に対する割当予定時間及び業務量を適切に算出することができる。また、該当日の予定生産量に各大枠時間帯の生産比率を乗算して各大枠時間帯の予定生産量を算出することにより、例えばスーパーマーケットにおける食品製造・販売の現場のように、一日のうちで販売される数量がある程度予測できるような現場に関する割当予定時間及び業務量を適切に算出することができる。
【００６６】
〔データ列生成処理〕
データ列生成部３２は、業務割当支援装置１に与えられた入力データに基づき、例えば識別名順に並べられた複数の担当者毎に、各業務枠に種別が特定された業務が割り当てられたデータ列をｎ個（例えば５０個；複数個であれば特段の制限はない）生成し、メモリ装置１８に格納する。図９は、データ列生成部３２により生成されるデータ列を概念的に示す図である。図示するように、データ列は大枠時間帯毎に、担当者に業務が割り当てられたデータである。
【００６７】
業務の割り当ては、割当予定時間算出部３０により算出された大枠時間帯毎の業務量の範囲内で、例えばランダムに行われる。すなわち、ある大枠時間帯における、ある業務に割り当てられる業務量が５であるとすると、当該大枠時間帯において全ての担当者に割り当てられた当該業務の業務量の合計は、５以内となるように割り当てる。なお、担当者の業務枠の数に比して割り当てるべき業務が多い場合も、少ない場合もあり得るが、業務が多い場合は未割り当ての業務をデータとして格納しておき、業務が少ない場合はいずれかの担当者の業務枠を空きとしておく。
【００６８】
〔整列処理〕
整列処理部３４は、データ列生成部３２が生成したデータ列、或いは後述する交叉処理・交叉後補正処理や突然変異処理が行われたデータ列に対して、大枠時間帯内である担当者に割り当てられた業務のうち、同じ業務が連続して行われるように整列処理を行う。
【００６９】
整列処理は、業務の「割当優先順位」を考慮しない場合と、考慮する場合があり得る。図１０は、業務の割当優先順位を考慮しない場合の整列処理を模式的に示す図である。図中、左側部分は、データ列生成部３２が生成した整列前のデータ列を示している。これに対し、整列処理部３４は、例えば時間的に１番早い業務枠（図中、１番上の業務枠）に割り当てられた業務のデータから順に１つずつ業務のデータを読み込み、既に読み込まれたデータと同じでなければ最下位に追加する。一方、読み込んだデータが既に読み込まれたデータと同じであれば、当該同じデータの１つ下位に読み込んだデータを挿入する。このような処理によって、担当者毎に、同じ業務が連続して行われるようにデータ列が整列される。なお、整列処理に係るアルゴリズムについては種々のものを用いてよく、上記説明したものに限られない。例えば、業務のデータを１つ読み込むと共に、同じ業務のデータをデータ列全体から抽出し、まとめて整列後のデータに格納してもよい。
【００７０】
図１１は、業務の割当優先順位を考慮する場合の整列処理を模式的に示す図である。また、図１２は、業務の割当優先順位を規定したデータの一例である。この場合、整列処理部３４は、例えば時間的に１番早い業務枠（図中、１番上の業務枠）に割り当てられた業務のデータから順に１つずつ業務のデータを読み込み、既に読み込まれたデータと同じでなければ、業務の割当優先順位に応じた位置に格納する。一方、読み込んだデータが既に読み込まれたデータと同じであれば、当該同じデータの１つ下位に読み込んだデータを挿入する。このような処理によって、担当者毎に、割り当て優先順位に応じた順序で、同じ業務が連続して行われるようにデータ列が整列される。
【００７１】
係る処理によって、同一担当者によって実行される同一の業務は、大枠時間帯内で連続して割り当てられることになり、業務の効率性を向上させることができる。
【００７２】
〔処理モードに応じた処理の流れ〕
以下、選択・淘汰処理、交叉処理・交叉後補正処理、突然変異処理について、より詳細に説明する。これらの処理は、エリート法とルーレット法の二つの処理モードから、ユーザが選択した処理モードに従って行われる。
【００７３】
図１３は、業務割当支援装置１による処理の流れを概念的に示す図である。なお、以下の説明において何個（或いは何割）のデータ列を選択するか、等の具体的な数値はあくまで一例である。また、こうした数値或いは割合は、入力データに含めることによってユーザが指定することができる。
【００７４】
まず、入力されたｎ個（以下、５０個とする）のデータ列に対して、選択・淘汰処理（１）が選択・淘汰処理部３６により実行される（図中Ａ）。選択・淘汰処理（１）は、エリート法とルーレット法で異なる内容となる。
【００７５】
エリート法では、５０個のデータに対して、それぞれペナルティ値を算出し、ペナルティ値が低い（上位の）データ列から順に２５個選択し、残りの２５個のデータ列を破棄（淘汰）する。
【００７６】
一方、ルーレット法では、単にペナルティ値が上位のデータ列を選択するのではなく、以下のように乱数値を用いてランダムな要素を取り入れている。具体的には、入力された５０個のデータ列に対して、まず、ペナルティ値の合計値が選択・淘汰処理部３６により計算される。次に、入力された５０個のデータ列に対して、それぞれ次式（１）により生存値Ｒ（ｉ）を計算する（ｉ＝１〜５０）。
【００７７】
Ｒ（ｉ）＝｛（データ列ｉのペナルティ値）／（各データ列についてのペナルティ値の合計値）｝＋乱数値［０．０〜１．０］  …（１）
【００７８】
選択・淘汰処理部３６は、生存値Ｒ（ｉ）が低いデータ列から順に２５個選択し、残りの２５個のデータ列を破棄（淘汰）する。係る処理は、ペナルティ値が、低い方が良好であることを示す値であることに基づく。
【００７９】
５０個の入力データ列に対しては、選択・淘汰処理（１）とは別に、交叉処理・交叉後補正処理、及び整列処理が行われ（図中（Ｂ））、次いで選択・淘汰処理（２）が行われる（図中（Ｃ））。選択・淘汰処理（２）は、選択・淘汰処理（１）と同様、エリート法とルーレット法で異なる内容となる。
【００８０】
そして、選択・淘汰処理（１）により選択された２５個のデータ列と、選択・淘汰処理（２）により選択された２５個のデータ列を合わせて５０個のデータ列とし（図中（Ｄ））、これに対して突然変異処理、及び整列処理を行う（図中（Ｅ））。突然変異処理、及び整列処理を行うと、処理後の５０個のデータ列のうちいずれか１個（例えばペナルティ値が最も高いデータ列であるが、ランダムに選んでもよい）と、選択・淘汰処理（１）により特定された最もペナルティ値の低い１個のデータ列を入れ替える（図中（Ｆ））。これによって最もペナルティ値の低かったデータ列が、突然変異処理によって悪化することを防止することができる。こうして１回のループ処理が終了する。
【００８１】
そして、このようなループ処理をｍ回行うと、最終的に得られた５０個のデータ列のうち、ペナルティ値が最上位の（最も低い）データ列を選択し、結果として出力する。
【００８２】
〔交叉処理・交叉後補正処理〕
交叉処理部３８は、以下のような手順で交叉処理を行う。図１４は、交叉処理を説明するための説明図である。また、図１５は、交叉処理の流れを示すフローチャートである。
【００８３】
交叉処理部３８は、まず、対象となるデータ列群から（二回目以降のループである場合は、既に交叉処理が行われたものを除き、残りのデータ列群から）、２個のデータ列をランダムに選択する（Ｓ３００）。ここでは、選択されたデータ列をデータ列ｊ、ｋとする。
【００８４】
次に、交叉処理部３８は、交叉点をランダムに決定し（Ｓ３１０）、データ列ｊ、ｋにおける交叉点以下の部分（時間軸にして将来方向の全て）に割り当てられている業務を入れ替え、メモリ装置１８に格納する（Ｓ３２０）。ここで、交叉点は、業務枠の境界線を指定するものとする。
【００８５】
交叉処理部３８は、対象となるデータ列群の全てについて交叉処理を行うと、交叉処理の全体フローを終了するが、対象となるデータ列群の全てについて交叉処理を行っていない場合は、Ｓ３００に戻り、他のデータ列の組を選択する（Ｓ３３０）。
【００８６】
なお、交叉処理の具体的手法については、上記説明した手法に限らず、種々の手法を用いることができる。例えば、上記説明した手法は交叉点を１つ設定する一点交叉であるが、交叉点を二つ設定し、交叉点に挟まれた部分に割り当てられている業務を入れ替える二点交叉を採用してもよい。また、一点交叉と二点交叉のいずれかをユーザが選択できるようにしてもよい。
【００８７】
交叉後補正処理部４０は、交叉処理部３８により交叉処理が行われた後のデータ列において、各業務に割り当てられている業務量の合計が、割当予定時間算出部３０により算出された割り当て可能な業務量を逸脱する場合に（すなわち、各業務に割り当てられている業務の時間が、割当予定時間を逸脱する場合に；以下同じ）、業務毎の合計が割り当て可能な業務量の範囲内に収まるように、交叉処理が行われた後のデータ列を補正する。
【００８８】
交叉後補正処理は、担当者の業務枠の数に比して割り当てるべき業務が少ない場合、すなわち未割り当ての業務が存在しない場合と、担当者の業務枠の数に比して割り当てるべき業務が多い場合、すなわち未割り当ての業務が存在する場合で異なる。
【００８９】
（１）未割り当ての業務が存在しない場合
図１６は、未割り当ての業務が存在しない場合における、交叉処理の対象となるデータ列（データ列ｊ、ｋとする）と、割り当て可能な業務量を示す図である。本図では、午後１以降のデータを省略している。業務の未割当数は、メモリ装置１８等の所定領域にデータテーブルとして保持される。
【００９０】
図１７は、図１６で示すデータに対して、午前１に含まれる、ある交叉点で交叉処理が行われた後のデータ列ｊ、ｋと、午前１に関して各業務に割り当てられている業務量の合計を示す図である。以下、交叉点を含む大枠時間帯のみが補正の対象となるため、交叉点を含む大枠時間帯のみを図示する。
【００９１】
図示するように、交叉処理の結果、データ列ｊでは午前１において業務３に対して過剰に業務量が割り当てられ、データ列ｋでは午前１において業務１に対して過剰に業務量が割り当てられることとなった。
【００９２】
交叉後補正処理部４０は、図１７で示す交叉後のデータ列ｊ、ｋに対して、業務毎の割当数の合計が、割り当て可能な業務量の範囲内に収まるように（すなわち割当予定時間の範囲内に収まるように）補正を行う。図１８は、データ列ｊ、ｋに対して補正が行われる様子を示す図である。
【００９３】
図１８（Ａ）に示すように、交叉後補正処理部４０は、交叉点から遅い基準時間帯に向けて、割り当て可能な業務量の範囲内に収まっている業務を消し込む処理を行う。具体的には、メモリ装置１８の所定領域に割り当て可能な業務量をコピーすると共に、１つの業務を消し込むと割り当て可能な業務量を１削減する（デクリメントする）処理を、割り当て可能な業務量がゼロになるまで行う等の手順で処理が行われる。図中、斜線で示す領域の業務が消し込まれた業務である。次に、交叉後補正処理部４０は、消し込まれなかった残余の業務を消去し、その時点で割当可能な業務量が余っている他の業務を、消去された部分にランダムに代入する（図中、代入部分を太字で示す）。
【００９４】
また、図１８（Ｂ）に示すように、交叉後補正処理部４０が補正を行った後のデータ列に対しては、必要に応じて整列処理部３４が整列処理を行う。本図の例ではデータ列ｊについては整列処理の必要が無く、データ列ｋについては整列処理を行う必要があった。
【００９５】
（２）未割り当ての業務が存在する場合
図１９は、未割り当ての業務が存在する場合における、交叉処理の対象となるデータ列（データ列ｌ、ｍとする）と、割り当て可能な業務量、業務の未割当数を示す図である。本図では、午後１以降のデータを省略している。
【００９６】
図２０は、図１９で示すデータに対して、午前１に含まれる、ある交叉点で交叉処理が行われた後のデータ列ｌ、ｍと、午前１に関して各業務に割り当てられている業務量の合計、及び未割当数を示す図である。以下、交叉点を含む大枠時間帯のみが補正の対象となるため、交叉点を含む大枠時間帯のみを図示する。
【００９７】
ここで、図２０の（Ａ）は、大枠時間帯「午前１」において業務１、２、３毎に割当可能な最大の業務量であり、（Ｂ）は交叉処理の直後に計算した業務１、２、３毎に割り当てられた業務量の合計（仮）であり、（Ｃ）は（Ａ）から（Ｂ）を減算した、業務１、２、３毎に割当可能な最大の業務量（▲はマイナスすなわち過剰に割り当てられている状態を示す）である。
【００９８】
図示するように、交叉処理の結果、データ列ｌでは各業務に対して割当可能な業務量の範囲内で業務が割り当てられ、データ列ｍでは業務２に対して過剰に業務量が割り当てられることとなった。
【００９９】
交叉後補正処理部４０は、図２０で示す交叉後のデータ列ｍに対して、業務毎の割当数の合計が、割り当て可能な業務量の範囲内に収まるように補正を行う。図２１は、データ列ｍに対して補正が行われる様子を示す図である。
【０１００】
図２１（Ａ）に示すように、交叉後補正処理部４０は、各業務に対して割当可能な業務量の範囲内で業務が割り当てられているデータ列ｌに対しては補正を行わない。
【０１０１】
また、図２１（Ｂ）に示すように、交叉後補正処理部４０は、交叉点から遅い基準時間帯に向けて、割り当て可能な業務量の範囲内に収まっている業務を消し込む処理を行う。図中、斜線で示す領域の業務が消し込まれた業務である。次に、交叉後補正処理部４０は、消し込まれなかった残余の業務を消去し、その時点で割当可能な業務量が余っている他の業務（未割り当ての業務を含む）を、消去された部分にランダムに代入する（図中、代入部分を太字で示す）。ここでは、過剰に割り当てられた業務２に代えて業務３が割り当てられたものとした。また、図２１（Ｂ）に示すように、交叉後補正処理部４０が補正を行った後のデータ列（補正不要であった場合には交叉処理部３８が交叉処理を行った後のデータ列）に対して、必要に応じて整列処理部３４が整列処理を行う。本図の例ではデータ列ｌについては整列処理の必要が無く、データ列ｍについては整列処理を行う必要があった。
【０１０２】
なお、現実的には、データ列の対における交叉点を含む大枠時間帯の部分に対してのみ交叉後補正処理を行えば十分であるため、交叉点が大枠時間帯の切り替わる箇所に当たる場合は、交叉後補正処理を省略する。
【０１０３】
係る処理によって、交叉処理の結果、あるデータ列において特定の業務が過剰に含まれることになったり、不足したりする状態を適切に修正することができる。
【０１０４】
ここで、交叉後の補正を行わない場合であっても、遺伝的アルゴリズムの性質上、試行錯誤の結果としていずれは最適解に辿り着くことができる場合がある。しかしながら、その場合、試行錯誤の回数が多くなり、出力を得るまでの時間が長くなる可能性が高い。
【０１０５】
これに対し、本実施例の業務割当支援装置１では、交叉処理部３８により交叉処理が行われた後のデータ列に対して、各業務に割り当てられている業務量の合計が、割当予定時間算出部３０により算出された割り当て可能な業務量の範囲内に収まるように、交叉処理が行われた後のデータ列を補正するため、このような補正を行わないものと比較して、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことができる。
【０１０６】
〔突然変異処理〕
突然変異処理部４２は、例えばランダムに決定した突然変異点を含む連続する同一の業務を、他の業務に置き換える。図２２は、突然変異処理を説明するための説明図である。また、図２３は、突然変異処理の流れを示すフローチャートである。なお、交叉点は業務枠の境界線を指定するものとしたが、突然変異点は業務枠自体を指定するものとする。
【０１０７】
突然変異処理部４２は、まず、対象となるデータ列群から一のデータ列を順番に選択する（Ｓ４００）。そして、選択したデータ列について例えば［０．０〜１．０］の乱数を発生させ（Ｓ４１０）、発生させた乱数が突然変異率Ｃ以下であるか否かを判定する（Ｓ４２０）。
【０１０８】
発生させた乱数が突然変異率Ｃ以下である場合は、当該データ列の任意の業務枠を突然変異点としてランダムに決定し（Ｓ４３０）、突然変異点を含む連続する同一の業務を、他の業務に置き換える（Ｓ４４０）。
【０１０９】
ここで、置き換えられる他の業務は、当該データ列の大枠時間帯内の他の業務又は未割り当ての業務の中から、ランダムに、或いは突然変異点を基準にして上から順に探索されたものが選択される。図２１の例では、突然変異点を含む業務３が、一群の業務３の直下に割り当てられた業務７と置換される。
【０１１０】
そして、Ｓ４００〜Ｓ４４０の処理を、全てのデータ列について行う（Ｓ４５０）。
【０１１１】
また、突然変異処理は、各データ列について突然変異確率Ｃに応じた乱数処理を行うのではなく、「突然変異確率Ｃにデータ列の個数ｎを乗じた個数」のデータ列について必ず行うものとしてもよい。この場合、処理フローとしては、ランダムにデータ列を選択する（既に選択されたものを除く）処理を、ｎ×Ｃ回行い、選択された全てのデータ列について、図２２のＳ４３０、Ｓ４４０の処理を行う。
【０１１２】
〔ペナルティ値の計算〕
選択・淘汰処理部３６は、以下の手法により各データ列のペナルティ値を算出する。データ列のペナルティ値は、例えば、（ａ）難易度／習熟度の一致程度、（ｂ）要求資格違反、（ｃ）除外条件違反、（ｄ）開始終了時間違反の四項目について行い、これらの個別ペナルティ値の荷重和を求めることによって算出する。個別ペナルティ値は、例えばゼロが最も好ましく、値が大きくなるほど好ましくないものとする。
【０１１３】
（ａ）難易度／習熟度の一致程度は、データ列における各業務枠と担当者の組み合わせについて、前述した「業務難易度」と「習熟度」の合致程度を評価したものである。係る評価は、前述したように、難易度／習熟度評価マトリクスを用いて行う。難易度／習熟度の一致程度に関する個別ペナルティ値Ｅａは、例えば、データ列における各業務枠と担当者の組み合わせを検索キーとして難易度／習熟度評価マトリクスを検索することにより導出される値を、全ての業務枠と担当者の組み合わせについて合計した合計値である。
【０１１４】
（ｂ）要求資格違反は、担当者の保有する資格と、各業務の要求する資格との不適合数を評価する。要求資格違反に関する個別ペナルティ値Ｅｂは、例えば次式（２）により算出される。式中、パラメータｉは担当者の識別番号であり、ｐは担当者の数である。
【０１１５】
Ｅｂ＝Σi=1p（不適合の業務数）  …（２）
【０１１６】
（ｃ）除外条件違反に関する個別ペナルティ値Ｅｃは、業務の除外条件（直前又は直後に割り当て不可）に抵触する業務の数を評価した値である。
【０１１７】
（ｄ）開始終了時間違反に関する個別ペナルティ値Ｅｄは、業務の最早開始時刻、及び最遅終了時刻に抵触する業務の数を評価した値である。
【０１１８】
選択・淘汰処理部３６は、上記のように個別ペナルティ値Ｅａ、Ｅｂ、Ｅｃが算出されると、これらの荷重和によってデータ列のペナルティ値を算出する（次式（３））。
【０１１９】
（ペナルティ値）＝α・Ｅａ＋β・Ｅｂ＋γ・Ｅｃ＋δ・Ｅｄ  …（３）
【０１２０】
なお、前述した「目的関数」は、主に上式（３）の各パラメータを指し、更に、担当者別の労働時間の評価におけるポイント数等を含んでもよい。目的関数のパラメータをユーザが任意の値に設定することにより、業務割り当ての際に重視する項目を自由に決定することができる。
【０１２１】
［入力及び出力画面］
以下、ディスプレイ装置２４によって表示される表示画面について説明する。図２４は、パラメータの入力、実行指示、結果出力が行われるメイン画面２４Ａの一例である。
【０１２２】
メイン画面２４Ａの上段には、パラメータ設定部２４Ａａが設定される。パラメータ設定部２４Ａａの枠内の数値をキーボードやマウス等で入力することにより、データ列数ｎ、繰り返し回数ｍ、目的関数として用いられるパラメータα、β、γ、δ（図中、ペナルティ係数と表記）を決定することができる。また、パラメータ設定部２４Ａａのチェックボックスをマウス等でクリックすることにより、エリート法とルーレット法のいずれを選択するか、１点交叉法と２点交叉法のいずれを選択するか、突然変異の手法として範囲指定の有無を選択するかを指定することができる。また、図中、遺伝子長は、入力データにより決定されるデータ列の長さである。
【０１２３】
なお、パラメータ設定部２４Ａａで設定されるパラメータ以外の入力データについては、ドライブ装置１２やインターフェース装置２０を介して入力されるか、予め補助記憶装置１６やＲＯＭ等に格納されたものが使用される。
【０１２４】
メイン画面２４Ａにおいて実行ボタン２４Ａｂをマウス等でクリックすることにより、上記パラメータ設定部２４Ａａにおいて設定されたパラメータを反映させた処理が行われ、結果がメイン表示部２４Ａｃ及びサブ表示部２４Ａｄに表示される。また、業務一覧表示部２４Ａｅには、該当日に割り当て可能な業務の種別（図中、Ｎｏ）、業務名、習熟度、業務を割り当て可能な数（図中、可能数）、業務が割り当てられた数（割当数）が表示される。
【０１２５】
メイン表示部２４Ａｃでは、各担当者に対して割り当てられた業務の種別が表示される。また、各担当者について、出勤時刻、退勤時刻、勤務時間が表示される。
【０１２６】
ここで、メイン表示部２４Ａｃや業務一覧表示部２４Ａｅ等に表示される難易度や習熟度は、定性的な表現（例えば「難−普通−易」や「優−良−可」、「Ａ−Ｂ−Ｃ」、「ランク１−ランク２−ランク３−…等）に置き換えてもよい。また、担当者表示部２４Ａｅにおける可能数や割当数は、業務量に単位時間帯の長さを乗算した実時間であってもよい。
【０１２７】
サブ表示部２４Ａｄでは、ｍ回のループ処理を行った結果、最終的に最もペナルティ値の低い（評価の高い）データ列に関する個別ペナルティ値Ｅａ、Ｅｂ、Ｅｃ、Ｅｄ、及びそれらの割合等が表示される。
【０１２８】
メイン画面２４Ａにおいて結果出力ボタン２４Ａｆをマウス等でクリックすることにより、実行結果がＣＳＶファイル等の形式で外部に出力される。また、印刷ボタン２４Ａｈをマウス等でクリックすることにより、実行結果がプリンタにより印刷される。
【０１２９】
また、メイン画面２４Ａにおいて世代グラフボタン２４Ａｇをマウス等でクリックすることにより、世代毎の（すなわちｍ回まで行われるループ処理回数毎の）ペナルティ値の推移を示す世代グラフ表示画面２４Ｂが表示される。図２５は、世代グラフ表示画面２４Ｂの一例である。図示するように、世代グラフ表示画面２４Ｂでは、ループ処理を行う毎のペナルティ値の推移がグラフとして表示され、グラフの所望の箇所にカーソルを合わせることによって、何世代目の結果であるか、及び当該世代の最もペナルティ値の低いデータ列のペナルティ値が強調表示される。
【０１３０】
このように、世代グラフを表示することによって、ユーザは、パラメータを色々と試しながら、ペナルティ値が速やかに低下するパラメータを探索することができる。
【０１３１】
［まとめ］
以上説明した本実施例の業務割当支援装置１によれば、交叉処理部３８により交叉処理が行われた後のデータ列に対して、各業務に割り当てられている業務量の合計が、割当予定時間算出部３０により算出された割り当て可能な業務量の範囲内に収まるように、交叉処理が行われた後のデータ列を補正するため、このような補正を行わないものと比較して、担当者に複数種別の業務を割り当てる処理を、より迅速且つ適切に行うことができる。
【０１３２】
また、割当予定時間算出部３０の処理によって、例えば生産業務と非生産業務が混在した現場に関して、各業務に対する割当予定時間及び業務量を適切に算出することができる。また、該当日の予定生産量に各大枠時間帯の生産比率を乗算して各大枠時間帯の予定生産量を算出することにより、一日のうちで販売される数量がある程度予測できるような現場に関する割当予定時間及び業務量を適切に算出することができる。
【０１３３】
また、整列処理部３４の処理によって、同一担当者によって実行される同一の業務は、大枠時間帯内で連続して割り当てられることになり、業務の効率性を向上させることができる。
【０１３４】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１３５】
例えば、上記実施例では、担当者の習熟度は、業務の種別に拘わらず一律に評価されるものとしたが、担当者の業務の種別毎の習熟度を評価するものとしてもよい。この場合、担当者の「業務の種別毎の」習熟度を格納した業務種別毎の習熟度評価マトリクスを備え、これに格納された値に基づき個別ペナルティ値Ｅｂを算出する。図２６は、業務種別毎の習熟度評価マトリクスの一例である。例えば担当者のＡさんは、業務１に関しては習熟度が高いため業務１に割り当てられた場合の個別ペナルティ値は０であるが、業務４に関しては習熟度が低いため業務４に割り当てられた場合の個別ペナルティ値は１００と設定されている。また、担当者のＤさんは、業務１に関しては習熟度が低いため業務１に割り当てられた場合の個別ペナルティ値は２００であるが、業務４に関しては習熟度が高いため業務４に割り当てられた場合の個別ペナルティ値は０と設定されている。
【０１３６】
また、このような担当者の業務の種別毎の習熟度を評価する手法は、実施例の手法と組み合わせてもよい。すなわち、（１）業務の難易度と担当者の一般的な習熟度を難易度／習熟度評価マトリクス等により評価すると共に、（２）担当者の業務の種別毎の習熟度を併せて評価する。この場合、個別ペナルティ値は、（１）（２）のそれぞれについて別々に求めてもよいし、それぞれについて求めたものを加算又は乗算等してもよい。
【０１３７】
また、業務の難易度と担当者の一般的な習熟度を評価する手法と、担当者の業務の種別毎の習熟度を評価する手法を、処理モードとしてユーザが選択できるようにしてもよい。
【０１３８】
また、突然変異処理を省略してもよい。更に、遺伝的アルゴリズムの性質を有する範囲内で別の処理が行われてもよい。
【符号の説明】
【０１３９】
１  業務割当支援装置
１０  ＣＰＵ
１２  ドライブ装置
１４  記憶媒体
１６  補助記憶装置
１８  メモリ装置
２０  インターフェース装置
２２  入力装置
２４  ディスプレイ装置
３０  割当予定時間算出部
３２  データ列生成部
３４  整列処理部
３６  選択・淘汰処理部
３８  交叉処理部
４０  交叉後補正処理部
４２  突然変異処理部
【図１】
2013097625.tif 000003
【図２】
2013097625.tif 000004
【図３】
2013097625.tif 000005
【図４】
2013097625.tif 000006
【図５】
2013097625.tif 000007
【図６】
2013097625.tif 000008
【図７】
2013097625.tif 000009
【図８】
2013097625.tif 000010
【図９】
2013097625.tif 000011
【図１０】
2013097625.tif 000012
【図１１】
2013097625.tif 000013
【図１２】
2013097625.tif 000014
【図１３】
2013097625.tif 000015
【図１４】
2013097625.tif 000016
【図１５】
2013097625.tif 000017
【図１６】
2013097625.tif 000018
【図１７】
2013097625.tif 000019
【図１８】
2013097625.tif 000020
【図１９】
2013097625.tif 000021
【図２０】
2013097625.tif 000022
【図２１】
2013097625.tif 000023
【図２２】
2013097625.tif 000024
【図２３】
2013097625.tif 000025
【図２４】
2013097625.tif 000026
【図２５】
2013097625.tif 000027
【図２６】
2013097625.tif 000028