(57)【要約】【課題】適切に作業者を割り当てることが可能なプログラム等を提供する。【解決手段】コンピュータ１に、複数の作業を含むフローを取得し、各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出し、抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出し、算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる処理を実行させるプログラム。【選択図】図１
2017130059.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の作業を含むフローを取得し、
各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出し、
抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出し、
算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる
処理を実行させるプログラム。
【請求項２】
前記記憶部には、各作業を処理するのに要する処理時間が作業者毎に記憶してあり、前記処理時間に基づき各作業の候補作業者を抽出する
請求項１に記載のプログラム。
【請求項３】
時系列で連続する作業に同一候補作業者を割り当てる場合、前記記憶部を参照し、連続する作業に要する処理時間が所定時間を超えるか否かを判断し、
所定時間を超えると判断した場合、前記候補作業者とは異なる他の候補作業者を割り当てる
請求項２に記載のプログラム。
【請求項４】
候補作業者に割り当てられた連続する作業、連続しない一の作業、及び、作業終了時から作業を行っていない時間に基づき疲労度を算出する
請求項２または３に記載のプログラム。
【請求項５】
コンピュータに、
複数の作業を含むフローを取得し、
各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出し、
抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出し、
算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる
処理を実行させる情報処理方法。
【請求項６】
複数の作業を含むフローを取得する取得部と、
各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出する抽出部と、
抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出する算出部と、
算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる割当部と
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
従来、作業者の疲労度合及び作業者の習熟度合を考慮した最適な人員配置を行う生産工程効率化の支援方法等が知られている（例えば特許文献１〜６参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−７９７６８号公報
【特許文献２】特開２０１２−１３７９３１号公報
【特許文献３】特開２００５−２７６００３号公報
【特許文献４】特開２００７−１４１０３９号公報
【特許文献５】特開２００７−２２６７１号公報
【特許文献６】特開２００７−１９３６２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では作業者の疲労度合い考慮した上での適切な割当ができていないという問題がある。
【０００５】
一つの側面では、適切に作業者を割り当てることが可能なプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、コンピュータに、複数の作業を含むフローを取得し、各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出し、抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出し、算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる。
【発明の効果】
【０００７】
一つの側面では、適切に作業者を割り当てることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの概要を示す説明図である。
【図２】コンピュータのハードウェア群を示すブロック図である。
【図３】フローＤＢのレコードレイアウトを示す説明図である。
【図４】各作業の流れを示す説明図である。
【図５】一部の作業を省略した各作業の流れを示す説明図である。
【図６】圧縮後のフローＤＢのレコードレイアウトを示す説明図である。
【図７】作業者ＤＢのレコードレイアウトを示す説明図である。
【図８】所要時間ＤＢのレコードレイアウトを示す説明図である。
【図９】候補者ＤＢのレコードレイアウトを示す説明図である。
【図１０】スケジュールＤＢのレコードレイアウトを示す説明図である。
【図１１】設定ＤＢのレコードレイアウトを示す説明図である。
【図１２】疲労度の時間的変化を示す説明図である。
【図１３】疲労度の時間的変化を示す説明図である。
【図１４】候補作業者及び所要時間の決定処理の手順を示すフローチャートである。
【図１５】平均開始時刻及び平均終了時刻の算出手順を示すフローチャートである。
【図１６】最初の作業の割当手順を示すフローチャートである。
【図１７】２回目以降の作業の割当手順を示すフローチャートである。
【図１８】２回目以降の作業の割当手順を示すフローチャートである。
【図１９】疲労度の算出手順を示すフローチャートである。
【図２０】実施の形態２に係るコンピュータのハードウェア群を示すブロック図である。
【図２１】更新ＤＢのレコードレイアウトを示す説明図である。
【図２２】更新処理の手順を示すフローチャートである。
【図２３】更新処理の手順を示すフローチャートである。
【図２４】実施の形態３に係るコンピュータのハードウェア群を示すブロック図である。
【図２５】第２設定ＤＢのレコードレイアウトを示す説明図である。
【図２６】第２設定処理の手順を示すフローチャートである。
【図２７】第２設定処理の手順を示すフローチャートである。
【図２８】第２更新ＤＢのレコードレイアウトを示す説明図である。
【図２９】第３設定ＤＢのレコードレイアウトを示す説明図である。
【図３０】変更処理の手順を示すフローチャートである。
【図３１】変更処理の手順を示すフローチャートである。
【図３２】第３更新ＤＢのレコードレイアウトを示す説明図である。
【図３３】候補データの一例を示す説明図である。
【図３４】評価値の算出手順を示すフローチャートである。
【図３５】評価値の算出手順を示すフローチャートである。
【図３６】上述した形態のコンピュータの動作を示す機能ブロック図である。
【図３７】実施の形態６に係るコンピュータのハードウェア群を示すブロック図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は情報処理システムの概要を示す説明図である。情報処理システムは情報処理装置１及び情報処理装置２等を含む。情報処理装置１、２は、パーソナルコンピュータ、サーバコンピュータ、スマートフォン、携帯電話、ＰＤＡ（Personal Digital Assistant）、または制御パネル等である。以下、情報処理装置１をコンピュータ１、情報処理装置２をコンピュータ２という。コンピュータ１及びコンピュータ２は、インターネットまたは公衆回線網等の通信網Ｎを介して相互に情報を送受信する。
【００１０】
コンピュータ１は通信網Ｎを介してコンピュータ２から送信された複数の作業を含むフローを受信する。なお、本実施形態ではフローを他のコンピュータ２からダウンロードする例を示したがこれに限るものではない。例えばＵＳＢ(Universal Serial Bus)メモリ等の記録媒体を通じてフローを取得するようにしても良い。フローは時系列で処理すべき複数の作業の流れを示すものである。なお、フローは、時系列で分岐し、同じ時間帯に処理される作業を含んでいても良い。図１に示すフローでは、作業１の後にフローが分岐しており、作業２、４及び６と、作業３、５及び７とは一部重複した時間帯に処理が行われる。
【００１１】
またフローは分岐した作業が合流する作業を含んでいても良い。図１に示すフローでは、作業８は作業６及び作業７の双方が完了したことを条件に処理される。なお、図１に示す例は一例でありこれに限るものではない。コンピュータ１はフローを受信した後、以下に述べる処理を実行することにより各作業を処理する作業者（図１の例では作業者Ａ〜Ｑ）を割り当てる。以下詳細を説明する。
【００１２】
図２はコンピュータ１のハードウェア群を示すブロック図である。コンピュータ１は制御部としてのＣＰＵ（Central Processing Unit）１１、ＲＡＭ（Random Access Memory）１２、入力部１３、表示部１４、記憶部１５、時計部１８及び通信部１６等を含む。ＣＰＵ１１は、バス１７を介してハードウェア各部と接続されている。ＣＰＵ１１は記憶部１５に記憶された制御プログラム１５Ｐに従いハードウェア各部を制御する。ＲＡＭ１２は例えばＳＲＡＭ（Static RAM）、ＤＲＡＭ(Dynamic RAM)、フラッシュメモリ等である。ＲＡＭ１２は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１３】
入力部１３はタッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ出力する。表示部１４は液晶ディスプレイまたは有機ＥＬ（electroluminescence）ディスプレイ等であり、ＣＰＵ１１の指示に従い各種情報を表示する。通信部１６は通信モジュールであり、コンピュータ２等と間で情報の送受信を行う。時計部１８は日時情報をＣＰＵ１１へ出力する。
【００１４】
記憶部１５は大容量メモリであり、制御プログラム１５Ｐ、フローデータベース（以下、ＤＢという）１５１、作業者ＤＢ１５２、所要時間ＤＢ１５３、候補者ＤＢ１５４、スケジュールＤＢ１５５及び設定ＤＢ１５６等を含む。なお、実施形態ではフローＤＢ１５１等を記憶部１５に記憶する例を挙げたが、これに限るものではなく、図示しない他のＤＢサーバに記憶する他、ＲＡＭ１２等に記憶しても良い。
【００１５】
図３は、フローＤＢ１５１のレコードレイアウトを示す説明図である。ＣＰＵ１１は、コンピュータ２から受信したフロー及びフローを特定するための識別情報（以下、フローＩＤという）を、通信部１６を介して受信する。ＣＰＵ１１は、受信したフローをフローＩＤに対応付けて、フローＤＢ１５１に記憶する。図３の例は、フローＩＤ００１の例を示す。なお、以下では説明を容易にするために、フローＩＤ００１のフローについてのみ取り上げて説明する。フローＤＢ１５１は、作業ＩＤフィールド、作業名フィールド、起動条件フィールド、ノードフィールド及び実行権限フィールド等を含む。
【００１６】
作業ＩＤフィールドには、フローの作業を特定するための識別情報（以下、作業ＩＤ）が記憶されている。図３の例では、作業ＩＤ１〜１０までが記憶されている。以下では場合により作業ＩＤ１の作業を作業１と読み替えて説明する。作業名フィールドには、「動作確認」、「作業開始承認」等、作業の具体的名称が記憶されている。起動条件フィールドには、作業順序を制御するための情報が記憶されている。例えばORは直前の作業（図３の例では作業１）が終了した時点で、作業（図３の例では作業３）に入ることを示す。またANDは、直前の作業（図３の例では作業6及び７）が全て終了してから、作業（図３の例では作業８）に入ることを示す。
【００１７】
ノードフィールドには作業終了後に移行する作業ＩＤが記憶されている。例えば作業１では、作業２及び作業３へ移行し、作業２の後は作業４へ移行することが理解できる。また作業３では、作業３での判断がtrueの場合、作業７へ移行し、作業３での判断がfailの場合、作業５へ移行する。作業１０は最後の作業であるので、ＥＮＤが記憶されている。実行権限フィールドには、作業ＩＤに対応付けて各作業を実行することが可能な作業者を特定するための実行権限が記憶されている。例えば実行権限「admin01」は、実行権限「admin01」が付与された特定の作業者のみが、作業１を処理することができる。なお、実行権限「ＡＵＴＯ」は、作業者ではなく、コンピュータ１が処理することを示す。
【００１８】
図４は各作業の流れを示す説明図であり、図５は一部の作業を省略した各作業の流れを示す説明図である。本実施形態では説明を容易にするために、直後の作業が直前の作業と同様の効果を有する場合に、直後の作業を省略した例を挙げて説明する。本実施形態では作業３の作業と直後の作業５の作業との効果が重複するため、図５に示すように作業５を省略している。
【００１９】
図６は圧縮後のフローＤＢ１５１のレコードレイアウトを示す説明図である。作業５が削除され、作業３のノードが作業７に設定されている。以下では、説明を容易にするために図６に記載のフローに基づき説明を行う。
【００２０】
図７は、作業者ＤＢ１５２のレコードレイアウトを示す説明図である。作業者ＤＢ１５２は、作業名フィールド、実行権限フィールド及び作業者管理レベルフィールド等を含む。実行権限フィールドには作業名に対応付けて実行権限が記憶されている。作業者管理レベルフィールドには、作業名及び実行権限に対応付けて、レベルに応じて作業を実行することが可能な作業者名が記憶されている。なお、本実施形態では作業者名としたが、作業者ＩＤを記憶しても良い。
【００２１】
レベルは数値が低いほど、各作業に対する処理能力が高いことを示す。本実施形態では処理能力の一つとして、処理速度を例に挙げて説明する。図７の例では作業名「ＭＷ３ update」については、レベル１の作業者がＢ、レベル２の作業者がＰ、レベル３の作業者がＱである。この場合、作業者Ｂが最も処理能力が高く、次いで作業者Ｐの処理能力が高く、作業者Ｑの処理能力は最も低いことを示している。過去の作業成績等に基づき、ユーザは入力部１３を通じて、作業者ＤＢ１５２に実行権限及び作業者管理レベルに応じた作業者を入力する。ＣＰＵ１１は、入力された実行権限及び作業者管理レベルに応じた作業者名を作業者ＤＢ１５２に記憶する。
【００２２】
図８は所要時間ＤＢ１５３のレコードレイアウトを示す説明図である。所要時間ＤＢ１５３には、各作業名に対応付けて、作業者が処理に要する処理時間（以下、所要時間という）が記憶されている。所要時間には平均所要時間、レベル１の作業者の所要時間、レベル２の作業者の所要時間、及び、レベル３の作業者の所要時間が記憶されている。例えば作業名「完了確認」については、平均所要時間は１０分、最速であるレベル１の所要時間は７分、次に早いレベル２の所要時間は１５分、最も所要時間が長いレベル３の所要時間は１６分となっている。ユーザは、過去の各作業者の所要時間等に基づき、平均処理時間、各レベルの所要時間を求め、入力部１３を通じて所要時間を入力する。ＣＰＵ１１は、入力された所要時間を所要時間ＤＢ１５３に記憶する。
【００２３】
図９は候補者ＤＢ１５４のレコードレイアウトを示す説明図である。候補者ＤＢ１５４には、作業ＩＤ及び実行権限に対応付けて、作業を行うことが可能な候補作業者及び各候補作業者の所要時間が記憶されている。例えば作業名「適用是非検討」は、候補作業者はＡ及びＲである。また作業者Ａの所要時間は７分であり、作業者Ｒの作業時間は１５分である。なお、実行権限が「ＡＵＴＯ」の場合（作業４）はコンピュータ１が実行するものであるため候補作業者は記憶されていない。
【００２４】
作業名「MW3 update」の候補作業者は作業者Ａ、作業者Ｄ、作業者Ｅ、作業者Ｆ及び作業者Ｇであるが、本実施形態では説明を容易にするために、候補作業者を作業者Ａ、作業者Ｄ及び作業者Ｅの３名としている。ＣＰＵ１１は、作業者ＤＢ１５２を参照し、実行権限に対応する作業者及びレベルを読み出す。ＣＰＵ１１は、実行権限に対応付けて候補作業者を候補者ＤＢ１５４に記憶する。ＣＰＵ１１は、作業者ＤＢ１５２を参照し、作業名及び実行権限に対応する作業者及び各作業者のレベルを読み出す。ＣＰＵ１１は、所要時間ＤＢ１５３を参照し、作業名及び実行権限に対応する各レベルの所要時間を読み出す。ＣＰＵ１１は、各候補作業者のレベルを参照し、レベルに対応する所要時間を候補者ＤＢ１５４に記憶する。
【００２５】
図１０はスケジュールＤＢ１５５のレコードレイアウトを示す説明図である。スケジュールＤＢ１５５には、作業ＩＤに対応付けて、平均所要時間、平均開始時刻及び平均終了時刻が記憶されている。平均所要時間は、各作業を処理するのに要する平均所要時間が記憶されている。平均終了時刻は各作業を終了した時点の時刻を記憶している。また平均開始時刻は、新たな作業を開始する際の開始時刻であり、第１回目は０、第２回目以降は直前の平均終了時刻に一致する。なお、実施形態では説明を容易にするために、平均開始時刻及び平均終了時刻は、実時間ではなく、経過時間を図に記載している。
【００２６】
ＣＰＵ１１は、所要時間ＤＢ１５３を参照し、各作業名に対応する平均所要時間を読み出す。ＣＰＵ１１は、スケジュールＤＢ１５５に、作業名に対応付けて、読み出した平均所要時間を記憶する。ＣＰＵ１１は、ノードの情報を参照し、直前の平均所要時間に前回の平均終了時刻を加算し、平均終了時刻を算出する。ＣＰＵ１１は、算出した平均終了時刻を作業ＩＤに対応付けて記憶する。なお、第１回目の平均終了時刻は直前の平均所要時間が存在しないので、作業１の平均所要時間である１０分となっている。
【００２７】
ＣＰＵ１１は、ノードの情報を参照し、直前の作業の平均終了時刻を平均開始時刻として、スケジュールＤＢ１５５に記憶する。ＣＰＵ１１は、起動条件にＡＮＤが記憶されている場合、直前の平均終了時刻の内、最も遅い平均終了時刻を、平均開始時刻としてスケジュールＤＢ１５５に記憶する。例えば、作業８の直前の作業は作業６及び作業７が並行して行われている。作業６の平均終了時刻は１００、作業７の平均終了時刻は９０であるため、ＣＰＵ１１は、作業６の平均作業終了時刻１００を、作業８の平均作業開始時刻とする。
【００２８】
図１１は設定ＤＢ１５６のレコードレイアウトを示す説明図である。設定ＤＢ１５６には上述した作業ＩＤフィールド等に加えて、作業者フィールド、所要時間フィールド、開始時刻フィールド及び終了時刻フィールド等が設けられている。作業者フィールドには、候補作業者の中から、後述する条件に従い割り当てられた作業者が記憶されている。所要時間フィールドには、作業者の当該作業に要する所要時間が記憶されている。開始時刻フィールドには、作業を開始する時刻が記憶されており、終了時刻フィールドには、作業を終了する時刻が記憶されている。
【００２９】
図１１の例では作業１は作業者Ａ、作業２は作業者Ａ、作業３は作業者Ａ、作業７は作業者Ｂ、作業６は作業者Ｃ、作業８は作業者Ｄ、作業９は作業者Ｅ、作業１０は作業者Ｆがそれぞれ割り当てられている。ＣＰＵ１１は、作業者ＤＢ１５２及び所要時間ＤＢ１５３を参照し、各担当者のレベルに応じた所要時間を設定ＤＢ１５６に記憶する。ＣＰＵ１１は、上述した方法により、各作業者の開始時刻及び終了時刻を算出し、設定ＤＢ１５６に記憶する。
【００３０】
続いて、割当条件について説明する。割当条件C1-1として、ＣＰＵ１１は、候補者ＤＢ１５４を参照し、候補作業者から所要時間の最も短い作業者を抽出する。その際、ＣＰＵ１１は、抽出した作業者をuser_thisとする。割当条件C1-2として、ＣＰＵ１１は、時系列で前の作業の作業者が、対象となる作業の作業者と一致するか否かを判断する。ＣＰＵ１１は、一致すると判断した場合は、user_thisにuser_pをセットする。
【００３１】
割当条件C1-2-aとして、ＣＰＵ１１は、時系列で前の作業者と対象作業の候補作業者が同一であり、累積所要時間に所要時間を加算した加算時間が第２設定時間（例えば８０分）を超えるか否かを判断する。ＣＰＵ１１は、加算時間が第２設定時間を超えない場合、対象作業に同一の作業者を割り当てる。なお、第２設定時間は予め作業に対応付けて記憶部１５に記憶されている。ＣＰＵ１１は、加算時間が第２設定時間を超える場合、対象作業に他の候補作業者を割り当てる。例えば作業１−作業２−作業３という連続する作業を考える。ここで、作業１(作業者Ａ所要時間２０分)−作業２（作業者Ａ所要時間３０分）は作業者割当が終わっており、作業３の作業者を設定するとする。
【００３２】
割当条件、C1-1及びC1-2の条件により作業者user_thisが作業者Ａであるとする。作業者Ａは作業１及び作業２を処理する。作業者Ａは作業３よりも前の作業が割り当てられているため、累計所要時間は５０分（２０分＋３０分）となる。この作業３のuser_this（作業者Ａ）による所要時間は２０分であるので、作業者Ａには作業３を割り当てた時点で、加算時間は７０分となる。ここで、第２設定時間が８０分である場合、作業３には作業者Ａが再び割り当てられる。加算時間が９０分である場合、作業３には他の候補作業者の内、最も所要時間の短い作業者が割り当てられる。
【００３３】
割当条件2-1として、ＣＰＵ１１は、連続作業時間（user_this==user_p）が第１設定時間（例えば６０分）を超えるか否かを判断する。ＣＰＵ１１は、連続作業時間が第１設定時間を超えない場合、同一作業者を割り当てる。ＣＰＵ１１は、連続作業時間が第１設定時間を超える場合、他の候補作業者の内、最も所要時間の短い作業者を割り当てる。
【００３４】
割当条件2-2として、ＣＰＵ１１は、作業者の疲労度が閾値を以下か否かを判断する。ＣＰＵ１１は、作業者の疲労度が閾値以下である場合、同一作業者を割り当てる。ＣＰＵ１１は、作業者の疲労度が閾値を超える場合、他の候補作業者の内、最も所要時間の短い作業者を割り当てる。
【００３５】
図１２は疲労度の時間的変化を示す説明図である。図１２に示すグラフの横軸は時間、縦軸は疲労度を示す。同一作業者が連続して割り当てられた作業を処理する場合、連続する作業を終えた時点で疲労度は１となる。以下では同一作業者が連続して処理する作業、及び、連続しない一の作業を作業塊という。図１１及び図１２の例では作業１〜作業３を作業者Ａが連続して作業を行っている。この場合、作業１〜作業３が作業塊となる。また作業者Ａが作業１を行い、作業者Ｂが作業２を行った場合、作業１、及び、作業２にそれぞれが作業塊となる。ＣＰＵ１１は、作業塊を終えた時点の終了時刻t=21にて疲労度は単位疲労度となる。本実施形態では１つの作業塊を作業することに伴う単位疲労度を１であるものとして説明する。作業終了時から作業を行っていない場合、ＣＰＵ１１は、一定の係数を、作業を行っていない時間（以下、非作業時間という）に乗ずることにより疲労度を算出する。作業塊終了後の疲労度は下記式１で表すことができる。
【００３６】
作業塊終了後の疲労度＝作業塊終了時の疲労度-係数×非作業時間    …式（１）
【００３７】
疲労度の算出式は記憶部１５に記憶されている。実施形態では、0.25/60分を係数とする例を挙げて説明する。時刻t=21の段階では作業塊の終了段階にあり疲労度は単位疲労度１となっている。作業６の終了時刻がt=94の場合、ＣＰＵ１１は、作業塊終了時の疲労度１から、係数に非作業時間７３分（９４分−２１分）を乗じた値を減じて、作業塊終了後の疲労度0.69を算出する。ＣＰＵ１１は、記憶部１５から閾値（例えば0.5）を読み出す。ＣＰＵ１１は、疲労度は0.69であり、閾値0.5より大きいため、作業者Ａを休息させるべく、候補者ＤＢ１５４を参照し、他の候補作業者の中から、作業時間の短い作業者を抽出する。
【００３８】
図１１の例では、候補作業者は作業者Ａ、作業者Ｄ及び作業者Ｅである。ＣＰＵ１１は、作業者Ａは割当条件2-2により疲労度が閾値を超えるため、作業者Ｄまたは作業者Ｅを選択する。本実施形態では作業者Ｄを最終的に作業８に割り当てている。一方、ＣＰＵ１１は、作業者Ａの疲労度が閾値以下である場合、所要時間の早い作業者Ａを再び割り当てる。この場合、作業者Ａの疲労度は作業８に係る作業塊を終えた時点で更に単位疲労度１が加算される。
【００３９】
図１３は疲労度の時間的変化を示す説明図である。例えば時刻t=100の時点で、作業者Ａが作業８を処理した場合、ＣＰＵ１１は、時刻t=100の時点の疲労度に単位疲労度１を加算する。ＣＰＵ１１は、作業塊である作業８を終えた時点から、作業９及び作業１０が開始するまでに減少する疲労度を、式１に基づき算出する。ＣＰＵ１１は、作業９及び１０を行う際の疲労度が閾値（例えば３）を超えているか否かを判断する。ＣＰＵ１１は、疲労度が閾値以下であると判断した場合、新たな作業塊である作業９及び１０を作業者Ａに割り当てる。ＣＰＵ１１は、算出した疲労度に、さらに単位疲労度１を加算し作業９及び作業１０の終了時刻の疲労度を算出する。
【００４０】
続いて図１１の各作業に対する作業者の割当について説明する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、作業１の候補作業者及び所要時間を読み出す。図９の例では候補作業者Ａ、所要時間７分、候補作業者Ｒ、所要時間１５分が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ａを割り当てる。ＣＰＵ１１は、図１１に示す設定ＤＢ１５６に、作業１に対応付けて作業者Ａを記憶する。なお、第１回目の判断であるため、ＣＰＵ１１は、他の割当条件については判断しない。
【００４１】
ＣＰＵ１１は、設定ＤＢ１５６に、作業１に対応付けて、所要時間７分、終了時刻７分を記憶する。なお、ＣＰＵ１１は、開始時刻０分に所要時間７分を加算して終了時刻７分を算出する。ＣＰＵ１１は、作業２の候補作業者及び所要時間を、候補者ＤＢ１５４を参照して読み出す。図９の例では候補作業者Ａ、所要時間７分、候補作業者Ｒ、所要時間１５分が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ａを割り当てる。
【００４２】
ＣＰＵ１１は、割当条件C1-2により、作業１の作業者と同一であるため、作業者Ａ（user_this）をuser_pにセットする。ＣＰＵ１１は、時系列で前の作業者と対象作業の候補作業者が同一であり、累積所要時間７分に、作業者Ａの所要時間７分を加算した加算時間が第２設定時間（例えば８０分）を超えるか否かを判断する。ＣＰＵ１１は、第２設定時間を超えていないと判断する。ＣＰＵ１１は、作業者Ａを候補作業者として維持する。ＣＰＵ１１は、割当条件2-1として、作業を新たに割り当てた場合の連続作業時間（１４分、user_this==user_p）が第１設定時間（例えば６０分）を超えるか否かを判断する。ＣＰＵ１１は、第１設定時間を超えていないと判断する。
【００４３】
ＣＰＵ１１は、割当条件2-2に関し、作業塊の途中であるため、作業者Ａの疲労度は０であり、閾値以下と判断する。以上により、ＣＰＵ１１は、候補作業者を作業者Ａとして、設定ＤＢ１５６に、作業２に対応付けて記憶する。ＣＰＵ１１は、設定ＤＢ１５６に、作業２に対応付けて、所要時間７分、開始時刻７分、終了時刻１４分を記憶する。なお、ＣＰＵ１１は、開始時刻を時系列で前の終了時刻と同じ値とする。ＣＰＵ１１は、開始時刻７分に所要時間７分を加算して終了時刻１４分を算出する。
【００４４】
ＣＰＵ１１は、作業３の候補作業者及び所要時間を、候補者ＤＢ１５４を参照して読み出す。図９の例では候補作業者Ａ、所要時間７分、候補作業者Ｒ、所要時間１５分が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ａを割り当てる。
【００４５】
ＣＰＵ１１は、割当条件C1-2により、作業２の作業者Ａと同一であるため、作業者Ａ（user_this）をuser_pにセットする。ＣＰＵ１１は、時系列で前の作業者と対象作業の候補作業者が同一であり、累積所要時間１４分に、作業者Ａの所要時間７分を加算した加算時間が第２設定時間（例えば８０分）を超えるか否かを判断する。ＣＰＵ１１は、第２設定時間を超えていないと判断する。ＣＰＵ１１は、作業者Ａを候補作業者として維持する。ＣＰＵ１１は、割当条件2-1として、作業を新たに割り当てた場合の連続作業時間（２１分、user_this==user_p）が第１設定時間（例えば６０分）を超えるか否かを判断する。ＣＰＵ１１は、第１設定時間を超えていないと判断する。
【００４６】
ＣＰＵ１１は、割当条件2-2に関し、作業塊の途中であるため、作業者Ａの疲労度は０であり、閾値以下と判断する。以上により、ＣＰＵ１１は、候補作業者を作業者Ａとして、設定ＤＢ１５６に、作業３に対応付けて記憶する。ＣＰＵ１１は、設定ＤＢ１５６に、作業３に対応付けて、所要時間７分、開始時刻１４分、終了時刻２１分を記憶する。
【００４７】
ＣＰＵ１１は、候補者ＤＢ１５４及び所要時間ＤＢ１５３を参照し、作業４の作業者及び所要時間を読み出す。図８及び図９の例では、コンピュータ１の自動実行を示すＡＵＴＯと記憶されており、所要時間は４０分と記憶されている。ＣＰＵ１１は、コンピュータ１の自動処理のため、設定ＤＢ１５６に作業４に対応する作業者の割当に関する情報を記憶しない。ＣＰＵ１１は、作業４に対応付けて設定ＤＢ１５６に、所要時間４０分、開始時刻１４分及び終了時刻５４分を記憶する。
【００４８】
続いて作業３の後に処理される作業７について検討する。ＣＰＵ１１は、作業７の候補作業者及び所要時間を、候補者ＤＢ１５４を参照して読み出す。図９の例では候補作業者Ｂ、所要時間７０分、候補作業者Ｐ、所要時間８０分、作業者Ｑ、所要時間１７０分が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ｂを割り当てる。なお、作業者Ｑの如く所要時間が長い場合、候補作業者から削除しても良い。例えば、ＣＰＵ１１は、図８に示した所要時間ＤＢ１５３を参照し、作業者Ｑの所要時間１７０分が、平均処理時間７０分の２倍（１４０分）を超える場合、作業者Ｑを候補作業者から削除すればよい。
【００４９】
ＣＰＵ１１は、割当条件C1-2、C1-2-a、2-1に関し、作業３の作業者Ａと同一でないため、次の割当条件へ移行する。ＣＰＵ１１は、割当条件2-2に関し、作業者Ｂは初めての作業であり疲労度は０であり、閾値以下と判断する。なお、作業者Ａは、作業１〜３の作業塊の処理を終えることとなり、単位疲労度１が加算される。ＣＰＵ１１は、ＲＡＭ１２に、作業者Ａの疲労度を、作業３に対応付けて記憶する。
【００５０】
以上により、ＣＰＵ１１は、候補作業者を作業者Ｂとして、設定ＤＢ１５６に、作業７に対応付けて記憶する。ＣＰＵ１１は、設定ＤＢ１５６に、作業７に対応付けて、所要時間７０分、開始時刻２１分（作業３の終了時刻）、終了時刻９１分を記憶する。
【００５１】
ＣＰＵ１１は、作業６の候補作業者及び所要時間を、候補者ＤＢ１５４を参照して読み出す。図９の例では候補作業者Ｂ、所要時間３０分、候補作業者Ｃ、所要時間４０分、が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ｂを割り当てる。ＣＰＵ１１は、割当条件C1-2により、開始時刻が前の作業７の作業者Ｂと同一であるため、作業者Ｂ（user_this）をuser_pにセットする。ＣＰＵ１１は、時系列で前の作業者と対象作業の候補作業者が同一であり、累積所要時間９１分に、作業者Ｂの所要時間３０分を加算した加算時間が第２設定時間（例えば８０分）を超えるか否かを判断する。
【００５２】
ＣＰＵ１１は、加算時間が第２設定時間を超えるため、他の候補作業者である作業者Ｃに作業６を割り当てる。ＣＰＵ１１は、作業者Ｃは初めての割当であるため、他の割当条件を判断することなく、作業６を作業者Ｃに割り当てる。なお、作業者Ｂは、作業７の作業塊の処理を終えることとなり、単位疲労度１が加算される。ＣＰＵ１１は、ＲＡＭ１２に、作業者Ｂの疲労度を、作業７に対応付けて記憶する。
【００５３】
以上により、ＣＰＵ１１は、候補作業者を作業者Ｃとして、設定ＤＢ１５６に、作業６に対応付けて記憶する。ＣＰＵ１１は、設定ＤＢ１５６に、作業６に対応付けて、所要時間４０分、開始時刻５４分（作業４の終了時刻）、終了時刻９４分を記憶する。作業８については、上述したとおり、割当条件2-2により疲労度が閾値を超えるため、作業者Ｄが割り当てられる。ＣＰＵ１１は、設定ＤＢ１５６に作業８に対応付けて、作業者Ｄの所要時間１５分、開始時刻９４分（作業７の終了時刻）、終了時刻１０９分を記憶する。
【００５４】
次にＣＰＵ１１は、作業９について検討する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、作業９の候補作業者及び所要時間を読み出す。図９の例では候補作業者Ｅ、所要時間１５分、候補作業者Ｂ、所要時間１６分、が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ｅを割り当てる。ＣＰＵ１１は、作業者Ｅに関しては、平均開始時刻が前の作業に割り当てられていないため、他の割当条件を判断することなく、作業９を作業者Ｅに割り当てる。なお、作業者Ｄは、作業８の作業塊の処理を終えることとなり、単位疲労度１が加算される。ＣＰＵ１１は、ＲＡＭ１２に、作業者Ｄの疲労度を、作業８に対応付けて記憶する。
【００５５】
以上により、ＣＰＵ１１は、候補作業者を作業者Ｅとして、設定ＤＢ１５６に、作業９に対応付けて記憶する。ＣＰＵ１１は、設定ＤＢ１５６に、作業９に対応付けて、所要時間１５分、開始時刻１０９分（作業８の終了時刻）、終了時刻１２４分を記憶する。
【００５６】
次にＣＰＵ１１は、作業１０について検討する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、作業１０の候補作業者及び所要時間を読み出す。図９の例では候補作業者Ｆ、所要時間１５分、候補作業者Ｃ、所要時間１６分、が読み出される。ＣＰＵ１１は、割当条件C1-1に基づき所要時間の短い作業者Ｆを割り当てる。ＣＰＵ１１は、作業者Ｆに関しては平均開始時刻が前の作業に割り当てられていないため、他の割当条件を判断することなく、作業１０を作業者Ｆに割り当てる。なお、作業者Ｅは、作業９の作業塊の処理を終えることとなり、単位疲労度１が加算される。ＣＰＵ１１は、ＲＡＭ１２に、作業者Ｅの疲労度を、作業９に対応付けて記憶する。
【００５７】
以上により、ＣＰＵ１１は、候補作業者を作業者Ｆとして、設定ＤＢ１５６に、作業１０に対応付けて記憶する。ＣＰＵ１１は、設定ＤＢ１５６に、作業１０に対応付けて、所要時間１５分、開始時刻１２４分（作業９の終了時刻）、終了時刻１３９分を記憶する。以上の処理により第1回目の作業者割当の設定が完了する。
【００５８】
以上のハードウェア群において各ソフトウェア処理を、フローチャートを用いて説明する。図１４は候補作業者及び所要時間の決定処理の手順を示すフローチャートである。ＣＰＵ１１は、例えば他のコンピュータ２からフローを取得する(ステップＳ１４１)。ＣＰＵ１１は、作業ＩＤに対応付けて作業名を候補者ＤＢ１５４に記憶する(ステップＳ１４２)。ＣＰＵ１１は、作業者ＤＢ１５２及び所要時間ＤＢ１５３を参照し、各作業名に対応する候補作業者、及び、各候補作業者の所要時間を読み出す(ステップＳ１４３)。ＣＰＵ１１は、作業ＩＤに対応付けて、読み出した候補作業者、及び、各候補作業者の所要時間を候補者ＤＢ１５４に記憶する(ステップＳ１４４)。
【００５９】
図１５は平均開始時刻及び平均終了時刻の算出手順を示すフローチャートである。ＣＰＵ１１は、取得したフローを読み出す(ステップＳ１５１)。ＣＰＵ１１は、作業名に対応する平均所要時間を所要時間ＤＢ１５３から読み出す(ステップＳ１５２)。ＣＰＵ１１は、作業名に対応付けて、読み出した平均所要時間を、スケジュールＤＢ１５５に記憶する(ステップＳ１５３)。ＣＰＵ１１は、初回の作業の平均開始時刻を０と、スケジュールＤＢ１５５に記憶する(ステップＳ１５４)。ＣＰＵ１１は、初回の平均終了時刻に、初回の平均所要時間を、スケジュールＤＢ１５５に記憶する(ステップＳ１５５)。
【００６０】
ＣＰＵ１１は、読み出したフローで前の作業の平均終了時刻を、平均開始時刻に記憶する(ステップＳ１５６)。ＣＰＵ１１は、平均開始時刻に、平均所要時間を加算した時間を、平均終了時刻として、スケジュールＤＢ１５５に記憶する(ステップＳ１５７)。
【００６１】
図１６は最初の作業の割当手順を示すフローチャートである。ＣＰＵ１１は、スケジュールＤＢ１５５を読み出す(ステップＳ１６１)。ＣＰＵ１１は、読み出したスケジュールＤＢ１５５の記憶内容を、設定ＤＢ１５６に記憶する(ステップＳ１６２)。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、初回の作業の候補作業者、及び、各候補作業者の所要時間を読み出す(ステップＳ１６３)。ＣＰＵ１１は、最も所要時間の短い候補作業者を抽出する(ステップＳ１６４)。
【００６２】
ＣＰＵ１１は、抽出した候補作業者を作業ＩＤに対応付けて、設定ＤＢ１５６に記憶する(ステップＳ１６５)。ＣＰＵ１１は、抽出した候補作業者の所要時間を作業ＩＤに対応付けて設定ＤＢ１５６に記憶する(ステップＳ１６６)。ＣＰＵ１１は、開始時刻を０として、設定ＤＢ１５６に記憶する(ステップＳ１６７)。ＣＰＵ１１は、所要時刻を終了時刻として設定ＤＢ１５６に記憶する(ステップＳ１６８)。
【００６３】
図１７及び図１８は２回目以降の作業の割当手順を示すフローチャートである。ＣＰＵ１１は、作業名に対応する候補作業者、及び、各候補作業者の所要時間を候補者ＤＢ１５４から読み出す(ステップＳ１７１)。ＣＰＵ１１は、最も所要時間の短い候補作業者を抽出する(ステップＳ１７２)。ＣＰＵ１１は、ステップＳ１７２で抽出した候補作業者が前の作業の候補作業者と同一であるか否かを、設定ＤＢ１５６を参照して判断する(ステップＳ１７３)。
【００６４】
ＣＰＵ１１は、同一ではないと判断した場合(ステップＳ１７３でＮＯ)、処理をステップＳ１８３へ移行させる。ＣＰＵ１１は、同一であると判断した場合(ステップＳ１７３でＹＥＳ)、処理をステップＳ１７４へ移行させる。ＣＰＵ１１は、前の作業の終了時刻を読み出す(ステップＳ１７４)。ＣＰＵ１１は、前の作業の終了時刻に、候補作業者の所要時間を加算し、今回の作業の終了時刻を算出する(ステップＳ１７５)。ＣＰＵ１１は、記憶部１５から第２設定時間を読み出し、また、設定ＤＢ１５６を参照し今回の作業の平均終了時刻を読み出す(ステップＳ１７６)。ＣＰＵ１１は、終了時刻から平均終了時刻を減じた値が、第２設定時間を超えるか否かを判断する(ステップＳ１７７)。
【００６５】
ＣＰＵ１１は、第２設定時間を超えると判断した場合(ステップＳ１７７でＹＥＳ)、処理をステップＳ１８２へ移行させる。ＣＰＵ１１は、第２設定時間を超えないと判断した場合(ステップＳ１７７でＮＯ)、処理をステップＳ１７８へ移行させる。ＣＰＵ１１は、候補作業者の連続する所要時間の合計時間を、設定ＤＢ１５６を参照して算出する(ステップＳ１７８)。
【００６６】
ＣＰＵ１１は、記憶部１５から第１設定時間を読み出す(ステップＳ１７９)。ＣＰＵ１１は、合計時間が第１設定時間を超えるか否かを判断する(ステップＳ１８１)。ＣＰＵ１１は、設定時間を超えると判断した場合(ステップＳ１８１でＹＥＳ)、処理をステップＳ１８２へ移行させる。ステップＳ１７７でＹＥＳの場合、及び、ステップＳ１８１でＹＥＳの場合、ＣＰＵ１１は、ステップＳ１７１で読み出した複数の候補作業者から、次に所要時間の短い候補作業者を抽出する(ステップＳ１８２)。ＣＰＵ１１は、ステップＳ１８２の後、及び、合計時間が第１設定時間を超えないと判断した場合(ステップＳ１８１でＮＯ)、処理をステップＳ１８３へ移行させる。またＣＰＵ１１は、ステップＳ１８２の後、ステップＳ１７３でＮＯの場合、ステップＳ１８３の処理を実行する。
【００６７】
候補作業者の疲労度を算出する(ステップＳ１８３)。疲労度の算出処理については後述する。ＣＰＵ１１は、算出した疲労度が閾値以下か否かを判断する(ステップＳ１８４)。ＣＰＵ１１は、閾値以下でないと判断した場合(ステップＳ１８４でＮＯ)、処理をステップＳ１８６へ移行させる。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、次に所要時間の短い候補作業者を抽出する(ステップＳ１８６)。ＣＰＵ１１は、その後処理をステップＳ１８３へ戻す。
【００６８】
ＣＰＵ１１は、閾値以下であると判断した場合(ステップＳ１８４でＹＥＳ)、処理をステップＳ１８５へ移行させる。ＣＰＵ１１は、最終的に割り当てるべき候補作業者を設定ＤＢ１５６に記憶する(ステップＳ１８５)。ＣＰＵ１１は、候補作業者の所要時間を作業ＩＤに対応付けて、設定ＤＢ１５６に記憶する(ステップＳ１８７)。ＣＰＵ１１は、前の作業の終了時刻を開始時刻として、設定ＤＢ１５６に記憶する(ステップＳ１８８)。ＣＰＵ１１は、開始時刻と所要時間とを加算した時間を終了時刻として、設定ＤＢ１５６に記憶する(ステップＳ１８９)。
【００６９】
図１９は疲労度の算出手順を示すフローチャートである。ＣＰＵ１１は、候補作業者は前回の作業者と同一か否かを判断する(ステップＳ１９１)。ＣＰＵ１１は、同一でないと判断した場合(ステップＳ１９１でＮＯ)、処理をステップＳ１９２へ移行させる。ＣＰＵ１１は、候補作業者に割り当てられた前の作業で連続する作業のグループ（作業塊）数を計数する(ステップＳ１９２)。ＣＰＵ１１は、候補作業者に割り当てられた前の作業で連続しない作業（作業塊）数を計数する(ステップＳ１９３)。
【００７０】
ＣＰＵ１１は、ステップＳ１９２及びＳ１９３で計数した値の合計値を算出する(ステップＳ１９４)。なお、ＣＰＵ１１は、合計値に係数を乗じても良い。ＣＰＵ１１は、今回の作業の開始時刻を読み出す(ステップＳ１９５)。ＣＰＵ１１は、前回の当該作業者の終了時刻から開始時刻までの作業を行っていない非作業時間と、当該作業者の複数の作業間で作業を行っていない非作業時間との合計非作業時間を算出する(ステップＳ１９６)。
【００７１】
ＣＰＵ１１は、ステップＳ１９４で算出した合計値から、合計非作業時間に１より小さい係数を乗じた値を減じ、疲労度を算出する(ステップＳ１９７)。ＣＰＵ１１は、候補作業者が前回の作業者と同一であると判断した場合(ステップＳ１９１でＹＥＳ)、処理をステップＳ１９８へ移行させる。ＣＰＵ１１は、この場合連続した作業となるため、疲労度を不変とすべく、前回算出時の疲労度を読み出す(ステップＳ１９８)。これにより、同一担当者により連続した作業を行わせ作業の効率化を図ることが可能となる。また作業していない非作業時間に基づく疲労度を活用することから、より適切に作業者を割り当てることが可能となる。
【００７２】
また連続した作業による疲労を防止すべく、適宜異なる作業者を割り当てることも可能となる。さらに、同一作業者が作業を行うことに伴い、かえって全体的な処理時間が遅延することも防止することができる。
【００７３】
実施の形態２
実施の形態２は設定ＤＢ１５６の内容を更新する形態に関する。図２０は実施の形態２に係るコンピュータ１のハードウェア群を示すブロック図である。記憶部１５にはさらに更新ＤＢ１５７が設けられている。図２１は更新ＤＢ１５７のレコードレイアウトを示す説明図である。ＣＰＵ１１は、図１１に示した設定ＤＢ１５６の記憶内容を参照し、担当者の割当更新処理を行う。
【００７４】
ＣＰＵ１１は、時系列で後の作業を割り当てられた作業者と、当該作業より前の作業を割り当てられた作業者とが相違するか否かを判断する。ＣＰＵ１１は、相違すると判断した場合、候補者ＤＢ１５４を参照し、後ろの作業の作業者が前の作業の作業を処理することが可能か否かを判断する。ＣＰＵ１１は、処理することが可能と判断した場合、前の作業の作業者を、後の作業の作業者に変更する処理を行う。図２１の例では、時系列で後の作業ＩＤ１０の作業者はＦ、時系列で前の作業ＩＤ９の作業者はＥであるので、相互に相違する。ＣＰＵ１１は、後の作業を処理する作業者Ｆが、前の作業（作業ＩＤ９）を処理することができるか否かを判断する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、作業者Ｆは、前の作業（作業ＩＤ９）を処理できないと判断する。
【００７５】
ＣＰＵ１１は、この場合、更新条件に合致しないため、作業者の更新処理を行わない。続いてＣＰＵ１１は、作業ＩＤ９と、作業ＩＤ８との組み合わせについて同様の処理を行う。ＣＰＵ１１は、時系列で後の作業ＩＤ９の作業者はＥ、時系列で前の作業ＩＤ８の作業者はＤであるので、相互に相違すると判断する。ＣＰＵ１１は、後の作業を処理する作業者Ｅが、前の作業（作業ＩＤ８）を処理することができるか否かを判断する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、作業者Ｅは、前の作業（作業ＩＤ８）を処理することができると判断する。
【００７６】
ＣＰＵ１１は、作業者Ｅは作業ＩＤ８の作業を処理することができるため、作業ＩＤ８の作業者をＤからＥへ更新する。ＣＰＵ１１は、更新後の情報を更新ＤＢ１５７に記憶する。ＣＰＵ１１は、作業者の更新に伴い、候補者ＤＢ１５４に記憶された作業者の所要時間を参照し、所要時間、開始時刻及び終了時刻を更新する。なお、図２１の例では、作業者Ｄ及び作業者Ｅの所要時間は共に１５分であるため、所要時間、開始時刻及び終了時刻は更新されていない。ＣＰＵ１１は、更新後の更新ＤＢ１５７を参照し、上述した処理を繰り返す。
【００７７】
ＣＰＵ１１は、作業ＩＤ８と、作業ＩＤ６との組み合わせについて同様の処理を行う。ＣＰＵ１１は、時系列で後の作業ＩＤ８の作業者はＥ、時系列で前の作業ＩＤ６の作業者はＣであるので、相互に相違すると判断する。ＣＰＵ１１は、後の作業を処理する作業者Ｅが、前の作業（作業ＩＤ６）を処理することができるか否かを判断する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、作業者Ｅは、前の作業（作業ＩＤ６）を処理することができないと判断する。ＣＰＵ１１は、以上の処理を同様に繰り返し実行する。
【００７８】
図２２及び図２３は、更新処理の手順を示すフローチャートである。ＣＰＵ１１は、設定ＤＢ１５６を読み出す(ステップＳ２２１)。ＣＰＵ１１は、更新ＤＢ１５７へ、設定ＤＢ１５６の記憶内容をコピーする(ステップＳ２２２)。ＣＰＵ１１は、時系列で最後の作業の作業者を読み出す(ステップＳ２２３)。ＣＰＵ１１は、時系列でさらに前の作業者を読み出す(ステップＳ２２４)。ＣＰＵ１１は、前後の作業者が相違するか否かを判断する(ステップＳ２２５)。
【００７９】
ＣＰＵ１１は、相違すると判断した場合(ステップＳ２２５でＹＥＳ)、処理をステップＳ２２６へ移行させる。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、後の作業の作業者は前の作業の作業を処理することが可能か否かを判断する(ステップＳ２２６)。ＣＰＵ１１は、処理することが可能であると判断した場合(ステップＳ２２６でＹＥＳ)、処理をステップＳ２２７へ移行させる。ＣＰＵ１１は、前の作業の作業者を後の作業の作業者に変更する(ステップＳ２２７)。ＣＰＵ１１は、更新後の作業者の所要時間を、候補者ＤＢ１５４を参照し、読み出す(ステップＳ２２８)。
【００８０】
ＣＰＵ１１は、所要時間と、読み出した所要時間に基づき更新した作業の終了時刻とを変更する(ステップＳ２２９)。ＣＰＵ１１は、前の作業の終了時刻の変更に伴い、さらに後の作業の開始時刻及び終了時刻を変更する(ステップＳ２３１)。ＣＰＵ１１は、前後の作業者が相違しないと判断した場合(ステップＳ２２５でＮＯ)、後ろの作業者が前の作業を処理することが可能でないと判断した場合(ステップＳ２２６でＮＯ)、及びステップＳ２３１の処理後、ステップＳ２３２へ移行する。
【００８１】
ＣＰＵ１１は、更新ＤＢ１５７を参照し、後ろの作業が最初の作業（作業ＩＤ１）であるか否かを判断する(ステップＳ２３２)。ＣＰＵ１１は、最初の作業でないと判断した場合(ステップＳ２３２でＮＯ)、処理をステップＳ２３３へ移行させる。ＣＰＵ１１は、次いで時系列で後の作業の作業者を読み出す(ステップＳ２３３)。ＣＰＵ１１は、その後処理をステップＳ２２４へもどす。以上の処理を繰り返すことにより、時系列で後ろの作業から順に各作業の組み合わせについて作業者の更新が行われる。ＣＰＵ１１は、後の作業が最初の作業であると判断した場合(ステップＳ２３２でＹＥＳ)、処理をステップＳ２３４へ移行させる。
【００８２】
ＣＰＵ１１は、変更後の作業者は、ステップＳ１７３〜Ｓ１８６で述べた割当条件を満たすか否かを判断する(ステップＳ２３４)。具体的にはＣＰＵ１１は、変更後の作業者、所要時間、開始時刻及び終了時刻等に基づき、ステップＳ１７７でＹＥＳ、ステップＳ１８１でＹＥＳ、ステップＳ１８６でＮＯと判断されないかを判断する。
【００８３】
ＣＰＵ１１は、割当条件を満たさないと判断した場合(ステップＳ２３４でＮＯ)、すなわちさらに他の候補作業者を抽出する必要がある場合、処理をステップＳ２３５へ移行させる。ＣＰＵ１１は、ステップＳ２２７、２２９及び２３１で変更した内容を元に戻す(ステップＳ２３５)。すなわち、ＣＰＵ１１は、設定ＤＢ１５６の記憶内容と同一内容のデータを更新ＤＢ１５７に記憶する。一方、ＣＰＵ１１は、割当条件を満たすと判断した場合(ステップＳ２３４でＹＥＳ)、変更後の作業者を更新ＤＢ１５７に記憶する(ステップＳ２３６)。同様に、ＣＰＵ１１は、変更後の所要時間、開始時刻及び終了時刻を、更新ＤＢ１５７に記憶する。このように連続した作業を行うことができるよう更新することで、異なる側面の作業者割当を提案することが可能となる。
【００８４】
本実施の形態２は以上の如きであり、その他は実施の形態１と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００８５】
実施の形態３
実施の形態３は作業者の割当を変更する形態に関する。図２４は実施の形態３に係るコンピュータ１のハードウェア群を示すブロック図である。記憶部１５には、さらに第２設定ＤＢ１５８、第２更新ＤＢ１５９、第３設定ＤＢ１５１０、及び、第３更新ＤＢ１５１１が設けられている。図２５は第２設定ＤＢ１５８のレコードレイアウトを示す説明図である。ＣＰＵ１１は、更新ＤＢ１５７に記憶された割当済みのデータを、第２設定ＤＢ１５８にコピーする。
【００８６】
ＣＰＵ１１は、ステップＳ１７７にて第２設定時間を超えると判断された作業者を抽出する。すなわち、ＣＰＵ１１は、割当条件C1-2-aに該当した作業者を抽出する。上述した実施形態では作業６における作業者Ｂが第２設定時間を超える。ＣＰＵ１１は、開始時刻を参照し、抽出した作業者が時系列で連続する前の作業を割り当てられている場合、当該作業者とは異なる作業者を、時系列で連続する前の作業に割り当てる。図２５の例では、作業６の作業を割り当てる際に、第２設定時間を超えるのは作業者Ｂである。
【００８７】
ＣＰＵ１１は、作業者Ｂが、時系列で連続する前の作業（作業ＩＤ７）を割り当てられているため、候補者ＤＢ１５４を参照し、当該作業者Ｂとは異なる作業者Ｐを割り当てる。ＣＰＵ１１は、さらに作業６に作業者Ｂを割り当てても良い。
【００８８】
図２６及び図２７は第２設定処理の手順を示すフローチャートである。ＣＰＵ１１は、更新ＤＢ１５７の記憶内容を読み出す(ステップＳ２６１)。ＣＰＵ１１は、第２設定ＤＢ１５８へ読み出した更新ＤＢ１５７の記憶内容をコピーする(ステップＳ２６２)。ＣＰＵ１１は、ステップＳ１７７において第２設定時間を超えると判断された作業及び作業者を抽出する(ステップＳ２６３)。ＣＰＵ１１は、抽出した作業に対し、時系列で連続する前の作業の作業者を抽出する(ステップＳ２６４)。
【００８９】
ＣＰＵ１１は、ステップＳ２６３で抽出した作業者と、ステップＳ２６４で抽出した作業者とが同一か否かを判断する(ステップＳ２６５)。ＣＰＵ１１は、同一でないと判断した場合(ステップＳ２６５でＮＯ)、処理を終了する。ＣＰＵ１１は、同一と判断した場合(ステップＳ２６５でＹＥＳ)、処理をステップＳ２６６へ移行させる。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、前の作業の作業者とは異なる候補作業者を読み出す(ステップＳ２６６)。ＣＰＵ１１は、前の作業の作業者を読み出した候補作業者に変更する(ステップＳ２６７)。ＣＰＵ１１は、同じく候補者ＤＢ１５４を参照し、超えると判断された作業の作業者を、他の候補作業者に変更する(ステップＳ２６８)。なお、ステップＳ２６７及びステップＳ２６８においては、所要時間の短い候補作業者を読み出すようにすればよい。また、ＣＰＵ１１は、他に候補者が存在しない場合、処理を終了する。
【００９０】
ＣＰＵ１１は、候補者ＤＢ１５４を参照し、変更後の作業者の所要時間を読み出す(ステップＳ２６９)。ＣＰＵ１１は、所要時間と、読み出した所要時間に基づく終了時刻とを変更する(ステップＳ２７１)。ＣＰＵ１１は、後の作業の開始時刻及び終了時刻を変更する(ステップＳ２７２)。ＣＰＵ１１は、変更後の候補作業者は、ステップＳ１７３〜Ｓ１８６で述べた割当条件を満たすか否かを判断する(ステップＳ２７３)。具体的にはＣＰＵ１１は、変更後の作業者、所要時間、開始時刻及び終了時刻等に基づき、ステップＳ１７７でＹＥＳ、ステップＳ１８１でＹＥＳ、ステップＳ１８６でＮＯと判断されないかを判断する。
【００９１】
ＣＰＵ１１は、割当条件を満たさないと判断した場合(ステップＳ２７３でＮＯ)、すなわちさらに他の候補作業者を抽出する必要がある場合、処理をステップＳ２７５へ移行させる。ＣＰＵ１１は、ステップＳ２６７、２６８、２７１及び２７２で変更した内容を元に戻す(ステップＳ２７５)。すなわち、ＣＰＵ１１は、更新ＤＢ１５７の記憶内容と同一内容のデータを第２設定ＤＢ１５８に記憶する。一方、ＣＰＵ１１は、割当条件を満たすと判断した場合(ステップＳ２７３でＹＥＳ)、変更後の候補作業者を第２設定ＤＢ１５８に記憶する(ステップＳ２７４)。同様に、ＣＰＵ１１は、変更後の所要時間、開始時刻及び終了時刻を、第２設定ＤＢ１５８に記憶する。なお、本実施形態においては更新処理後の更新ＤＢ１５７に基づき２回目の設定処理を行う例を示したがこれに限るものではない。更新処理を行っていない設定ＤＢ１５６に基づき２回目の設定処理を行っても良い。
【００９２】
続いてＣＰＵ１１は、２回目の更新処理を行う。図２８は第２更新ＤＢ１５９のレコードレイアウトを示す説明図である。ＣＰＵ１１は、第２設定ＤＢ１５８の記憶内容を第２更新ＤＢ１５９にコピーする。ＣＰＵ１１は、実施の形態２で述べた図２２〜図２３の処理を第２更新ＤＢ１５９に記憶されたデータに対して実行する。図２８の例では作業７の作業者はＰであり、他の候補者Ｂも作業７を処理することが可能である。しかしながら、作業７及び作業６を共に作業者Ｂとした場合、割当条件C-1-2-aを満たさないため、作業者は更新されず、第２更新ＤＢ１５９と、第２設定ＤＢ１５８との記憶内容は同一となる。これにより、異なる作業者の割当を容易に得ることが可能となる。
【００９３】
本実施の形態３は以上の如きであり、その他は実施の形態１及び２と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【００９４】
実施の形態４
実施の形態４は疲労度に応じて作業者の割り当てを変更する形態に関する。図２９は第３設定ＤＢ１５１０のレコードレイアウトを示す説明図である。ＣＰＵ１１は、ステップＳ１８４で疲労度の閾値を超えると判断された作業及び作業者を抽出する。ＣＰＵ１１は、抽出した作業者が、時系列で前の作業を割り当てられているか否かを判断する。ＣＰＵ１１は、時系列で前の作業を割り当てられていると判断した場合、前の作業の作業者を他の候補作業者に変更する。図２９の例においては、作業ＩＤ８において、所要時間が最短の作業者Ａは疲労度が閾値を超えると判断された。この作業者Ａは、時系列で前の作業１〜３において作業を既に割り当てられている。この場合、ＣＰＵ１１は、作業１〜３の作業者をＡからＲに変更する。またＣＰＵ１１は、作業８の作業者をＡに変更する。ＣＰＵ１１は、変更後の作業者を第３設定ＤＢ１５１０に記憶する。
【００９５】
図３０及び図３１は変更処理の手順を示すフローチャートである。ＣＰＵ１１は、第２更新ＤＢ１５９の記憶内容を読み出す(ステップＳ３０１)。ＣＰＵ１１は、第３設定ＤＢ１５１０へ読み出した第２更新ＤＢ１５９の記憶内容をコピーする(ステップＳ３０２)。ＣＰＵ１１は、ステップＳ１８４において疲労度が閾値を超えると判断された作業及び作業者を抽出する(ステップＳ３０３)。ＣＰＵ１１は、抽出した作業に対し、時系列で前の作業の作業者を抽出する(ステップＳ３０４)。
【００９６】
ＣＰＵ１１は、ステップＳ３０３で抽出した作業者と、同一の作業者が割り当てられた作業を抽出する(ステップＳ３０５)。なお、ステップＳ３０５で同一の作業者が割り当てられた作業を抽出できない場合、処理を終了する。ＣＰＵ１１は、候補者ＤＢ１５４を参照し、ステップＳ３０５で抽出した作業に割り当てられた作業者とは異なる候補作業者を読み出す(ステップＳ３０６)。ＣＰＵ１１は、前の作業の作業者を読み出した候補作業者に変更する(ステップＳ３０７)。ＣＰＵ１１は、同じく候補者ＤＢ１５４を参照し、超えると判断された作業の作業者を、他の候補作業者に変更する(ステップＳ３０８)。なお、ステップＳ３０７及びステップＳ３０８においては、所要時間の短い候補作業者を読み出すようにすればよい。また、ＣＰＵ１１は、他に候補者が存在しない場合、処理を終了する。
【００９７】
ＣＰＵ１１は、候補者ＤＢ１５４を参照し、変更後の作業者の所要時間を読み出す(ステップＳ３０９)。ＣＰＵ１１は、所要時間と、読み出した所要時間に基づく終了時刻とを変更する(ステップＳ３１１)。ＣＰＵ１１は、後の作業の開始時刻及び終了時刻を変更する(ステップＳ３１２)。ＣＰＵ１１は、変更後の候補作業者は、ステップＳ１７３〜Ｓ１８６で述べた割当条件を満たすか否かを判断する(ステップＳ３１３)。具体的にはＣＰＵ１１は、変更後の作業者、所要時間、開始時刻及び終了時刻等に基づき、ステップＳ１７７でＹＥＳ、ステップＳ１８１でＹＥＳ、ステップＳ１８６でＮＯと判断されないかを判断する。
【００９８】
ＣＰＵ１１は、割当条件を満たさないと判断した場合(ステップＳ３１３でＮＯ)、すなわちさらに他の候補作業者を抽出する必要がある場合、処理をステップＳ３１５へ移行させる。ＣＰＵ１１は、ステップＳ３０７、３０８、３１１及び３１２で変更した内容を元に戻す(ステップＳ３１５)。すなわち、ＣＰＵ１１は、第２更新ＤＢ１５９の記憶内容と同一内容のデータを第３設定ＤＢ１５１０に記憶する。一方、ＣＰＵ１１は、割当条件を満たすと判断した場合(ステップＳ３１３でＹＥＳ)、変更後の候補作業者を第３設定ＤＢ１５１０に記憶する(ステップＳ３１４)。同様に、ＣＰＵ１１は、変更後の所要時間、開始時刻及び終了時刻を、第３設定ＤＢ１５１０に記憶する。
【００９９】
続いてＣＰＵ１１は、３回目の更新処理を行う。図３２は第３更新ＤＢ１５１１のレコードレイアウトを示す説明図である。ＣＰＵ１１は、第３設定ＤＢ１５１０の記憶内容を第３更新ＤＢ１５１１にコピーする。ＣＰＵ１１は、実施の形態２で述べた図２２〜図２３の処理を第３更新ＤＢ１５１１に記憶されたデータに対して実行する。図３２の例では作業８の作業者はＡであるが、作業９の作業者Ｅと同一の他の候補作業者Ｅが存在するため、作業８に作業者Ｅを割り当てる。なお、第２設定時間を考慮した実施の形態３の処理後に、疲労度を考慮した実施の形態４を行うこととしたが、これに限るものではない。先に疲労度を考慮した実施の形態４の処理を行い、その後第２設定時間を考慮した実施の形態３の処理を実行しても良い。これにより、異なる作業者の割当を容易に得ることが可能となる。
【０１００】
本実施の形態４は以上の如きであり、その他は実施の形態１から３と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１０１】
実施の形態５
実施の形態５は複数の候補データから、一の候補データを選択する形態に関する。ＣＰＵ１１は、設定ＤＢ１５６、更新ＤＢ１５７、第２設定ＤＢ１５８、第２更新ＤＢ１５９、第３設定ＤＢ１５１０及び第３更新ＤＢ１５１１に記憶した候補データを読み出す。ＣＰＵ１１は、各ＤＢに記憶した候補データの処理時間、作業数、連続する作業の回数、及び、疲労度に基づき評価値を算出する。ＣＰＵ１１は、算出した評価値に応じて一の候補データを選択する。
【０１０２】
ＣＰＵ１１は、第１パラメータに係数Ａを乗じ、第２パラメータに係数Ｂを乗じ、第３パラメータに係数Ｃを乗ずる。ＣＰＵ１１は、各パラメータに係数を乗じた値の合計値を評価値とする。係数Ａ〜Ｃは説明を容易にするために、Ａ〜Ｃを１であるものとするが、適宜の値を採用すればよい。図３３は候補データの一例を示す説明図である。第１パラメータは１から、終了時刻を平均終了時刻で除した除算値を、減じた値である。図３３の例では、除算値は終了時刻１３６を平均終了時刻１３０で除した値となる。ＣＰＵ１１は、１から除算値を減じて第１パラメータを算出する。
【０１０３】
ＣＰＵ１１は、第２パラメータを算出するにあたり、作業塊、作業数、作業者一人当たりの作業塊数の平均を算出する。図３３の例では、作業塊は４（３つ連続するＲ、一つのＢ、一つのＣ、３つの連続するＡ）、作業数はＡＵＴＯを含んで９となる。作業者は４人であるので、平均は作業塊４÷作業者４人で１となる。ＣＰＵ１１は、１から、作業塊数から１を減じた値を作業数で除算した除算値を減算した第１値と、１を平均で除した第２値とを求め、第１値と第２値とを加算し、加算した値に係数０．５を乗じて第２パラメータを算出する。なお、係数０．５は一例であり、これに限るものではない。図３３の例では第１値は、１-(作業塊数４−１)÷作業数９となる。第２値は０．５×１÷平均１となる。
【０１０４】
ＣＰＵ１１は、作業塊毎に作業開始時の作業者の疲労度と、作業終了時の作業者の疲労度から１を減じた減算値との合計値を算出する。実施形態では作業終了時に疲労度が１増加するため、上述した減算値は０となる。ＣＰＵ１１は、図１９に示した方法により作業塊における作業開始時の作業者の疲労度を算出する。ＣＰＵ１１は、各作業塊の疲労度の合計値を算出する。ＣＰＵ１１は、１から、疲労度の合計値を作業塊数で除した値を減じ、第３パラメータを求める。図３３の例では各作業塊開始時の疲労度は０であるので、第３パラメータは１−０で１となる。
【０１０５】
ＣＰＵ１１は、第１パラメータ〜第３パラメータの合計値を評価値として算出する。ＣＰＵ１１は、設定ＤＢ１５６、更新ＤＢ１５７、第２設定ＤＢ１５８、第２更新ＤＢ１５９、第３設定ＤＢ１５１０、及び第３更新ＤＢ１５１１に記憶した候補データの評価値が最大の候補データを選択する。ＣＰＵ１１は、選択した候補データを表示部１４に表示する、または、他のコンピュータ２宛へ送信する。
【０１０６】
図３４及び図３５は評価値の算出手順を示すフローチャートである。ＣＰＵ１１は、設定ＤＢ１５６、更新ＤＢ１５７、第２設定ＤＢ１５８、第２更新ＤＢ１５９、第３設定ＤＢ１５１０、及び第３更新ＤＢ１５１１に記憶した候補データを読み出す(ステップＳ３４１)。ＣＰＵ１１は、記憶部１５に記憶した第１パラメータ〜第３パラメータの数式を読み出す(ステップＳ３４２)。ＣＰＵ１１は、終了時刻を平均終了時刻で除した除算値を算出する(ステップＳ３４３)。ＣＰＵ１１は、１から除算値を減算して第１パラメータを算出する(ステップＳ３４４)。
【０１０７】
ＣＰＵ１１は、算出した第１パラメータをＲＡＭ１２に記憶する(ステップＳ３４５)。ＣＰＵ１１は、作業者が連続する作業、作業者が連続しない作業の数を、作業塊数として計数する(ステップＳ３４６)。ＣＰＵ１１は、作業数を計数する(ステップＳ３４７)。ＣＰＵ１１は、割り当てられた作業者を計数する(ステップＳ３４８)。ＣＰＵ１１は、作業塊数を、作業者数で除して平均を算出する(ステップＳ３４９)。ＣＰＵ１１は、作業塊数から１を減じた値を、作業数で除算し、除算値を算出する(ステップＳ３５１)。
【０１０８】
ＣＰＵ１１は、１から除算値を減じて第１値を算出する(ステップＳ３５２)。ＣＰＵ１１は、１を平均で除して第２値を算出する(ステップＳ３５３)。ＣＰＵ１１は、第１値及び第２値を加算した値に０．５を乗算して、第２パラメータを算出する(ステップＳ３５４)。ＣＰＵ１１は、第２パラメータをＲＡＭ１２に記憶する(ステップＳ３５５)。ＣＰＵ１１は、各作業塊開始時の疲労度を算出する(ステップＳ３５６)。ＣＰＵ１１は、算出した各作業塊の疲労度の合計値を算出する(ステップＳ３５７)。
【０１０９】
ＣＰＵ１１は、合計値を作業塊数で除して除算値を算出する(ステップＳ３５８)。ＣＰＵ１１は、１から除算値を減じて第３パラメータを算出する(ステップＳ３５９)。ＣＰＵ１１は、第１パラメータ、第２パラメータ及び第３パラメータの合計値を評価値として算出する(ステップＳ３５１０)。ＣＰＵ１１は、ステップＳ３４１で読み出したいずれかのＤＢ名と、評価値とを対応付けてＲＡＭ１２に記憶する(ステップＳ３５１１)。ＣＰＵ１１は、ステップＳ３４１で読み出した全てのＤＢについて評価値を算出する処理を終了したか否かを判断する(ステップＳ３５１２)。
【０１１０】
ＣＰＵ１１は、処理を終了していないと判断した場合(ステップＳ３５１２でＮＯ)、処理をステップＳ３５１３へ移行させる。ＣＰＵ１１は、未処理のＤＢの候補データを読み出す(ステップＳ３５１３)。ＣＰＵ１１は、その後処理をステップＳ３４３へ移行させる。以上の処理を繰り返すことにより、各ＤＢの評価値が算出される。ＣＰＵ１１は、全てのＤＢについて処理を終了したと判断した場合(ステップＳ３５１２でＹＥＳ)、処理をステップＳ３５１４へ移行させる。
【０１１１】
ＣＰＵ１１は、最大となる評価値を有するＤＢをＲＡＭ１２から抽出する(ステップＳ３５１４)。ＣＰＵ１１は、抽出したＤＢの候補データを表示部１４へ出力する(ステップＳ３５１５)。これにより、あらゆる組み合わせについて計算することなく、少ない計算量で適切な作業者の割当を行うことが可能となる。
【０１１２】
本実施の形態５は以上の如きであり、その他は実施の形態１から４と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１１３】
実施の形態６
図３６は上述した形態のコンピュータ１の動作を示す機能ブロック図である。ＣＰＵ１１が制御プログラム１５Ｐを実行することにより、コンピュータ１は以下のように動作する。取得部３６１は複数の作業を含むフローを取得する。抽出部３６２は、各作業を処理することが可能な作業者を記憶した記憶部１５を参照し、各作業の候補作業者を抽出する。算出部３６３は、抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出する。割当部３６４は算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる。
【０１１４】
図３７は実施の形態６に係るコンピュータ１のハードウェア群を示すブロック図である。コンピュータ１を動作させるためのプログラムは、ディスクドライブ、メモリーカードスロット等の読み取り部１０ＡにＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）ディスク、メモリーカード、またはＵＳＢ(Universal Serial Bus)メモリ等の可搬型記録媒体１Ａを読み取らせて記憶部１５に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１Ｂをコンピュータ１内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Ｎを介して接続される他のサーバコンピュータ（図示せず）からダウンロードすることも可能である。以下に、その内容を説明する。
【０１１５】
図３７に示すコンピュータ１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１Ａまたは半導体メモリ１Ｂから読み取り、或いは、通信網Ｎを介して他のサーバコンピュータ（図示せず）からダウンロードする。当該プログラムは、制御プログラム１５Ｐとしてインストールされ、ＲＡＭ１２にロードして実行される。これにより、上述したコンピュータ１として機能する。
【０１１６】
本実施の形態６は以上の如きであり、その他は実施の形態１から５と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
【０１１７】
以上の実施の形態１から６を含む実施形態に関し、さらに以下の付記を開示する。
【０１１８】
（付記１）
コンピュータに、
複数の作業を含むフローを取得し、
各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出し、
抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出し、
算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる
処理を実行させるプログラム。
（付記２）
前記記憶部には、各作業を処理するのに要する処理時間が作業者毎に記憶してあり、前記処理時間に基づき各作業の候補作業者を抽出する
付記１に記載のプログラム。
（付記３）
時系列で連続する作業に同一候補作業者を割り当てる場合、前記記憶部を参照し、連続する作業に要する処理時間が所定時間を超えるか否かを判断し、
所定時間を超えると判断した場合、前記候補作業者とは異なる他の候補作業者を割り当てる
付記２に記載のプログラム。
（付記４）
候補作業者に割り当てられた連続する作業、連続しない一の作業、及び、作業終了時から作業を行っていない時間に基づき疲労度を算出する
付記２または３に記載のプログラム。
（付記５）
前記記憶部に記憶した処理時間の平均処理時間に基づき、各作業の平均終了時刻を算出する
付記２から４のいずれか一つに記載のプログラム。
（付記６）
時系列で連続する作業に同一候補作業者を割り当てる場合、連続する作業の終了時刻を算出し、算出した終了時刻から前記平均終了時刻を減じた差が所定時間以上か否かを判断し、
所定時間以上であると判断した場合、前記候補作業者とは異なる他の候補作業者を割り当てる
付記５に記載のプログラム。
（付記７）
各作業の作業者を割り当てた後に、時系列で前後の作業の作業者が相違する場合、抽出した各作業の候補作業者に基づき、後の作業の作業者が前の作業の作業を処理することが可能か否か判断し、
可能と判断した場合に、前の作業の作業者を後の作業の作業者に変更する
付記２から６のいずれか一つに記載のプログラム。
（付記８）
算出した疲労度が閾値を超えると判断された作業者を抽出し、
該作業者が時系列で前の作業を割り当てられている場合、前記作業者とは異なる他の候補作業者に変更する
付記１から７のいずれか一つに記載のプログラム。
（付記９）
前記所定時間以上と判断された作業者を抽出し、
該作業者が時系列で連続する前の作業を割り当てられている場合、前記作業者とは異なる他の候補作業者に変更する
付記６から８のいずれか一つに記載のプログラム。
（付記１０）
各作業の作業者を割り当てた後に、処理時間、作業数、同一作業者が連続する作業の回数、及び、疲労度に基づき評価値を算出し、
算出した評価値に応じて、各作業の作業者の割当を決定する
付記７から９のいずれか一つに記載のプログラム。
（付記１１）
コンピュータに、
複数の作業を含むフローを取得し、
各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出し、
抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出し、
算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる
処理を実行させる情報処理方法。
（付記１２）
複数の作業を含むフローを取得する取得部と、
各作業を処理することが可能な作業者を記憶した記憶部を参照し、各作業の候補作業者を抽出する抽出部と、
抽出した候補作業者が処理する作業及び作業をしていない時間に基づき前記候補作業者の疲労度を算出する算出部と、
算出した疲労度が閾値以下である場合に、前記候補作業者に作業を割り当てる割当部と
を備える情報処理装置。
【符号の説明】
【０１１９】
１、２  コンピュータ
１Ａ    可搬型記録媒体
１Ｂ    半導体メモリ
１０Ａ  読み取り部
１１    ＣＰＵ
１２    ＲＡＭ
１３    入力部
１４    表示部
１５    記憶部
１５Ｐ  制御プログラム
１６    通信部
１８    時計部
１５１  フローＤＢ
１５２  作業者ＤＢ
１５３  所要時間ＤＢ
１５４  候補者ＤＢ
１５５  スケジュールＤＢ
１５６  設定ＤＢ
１５７  更新ＤＢ
１５８  第２設定ＤＢ
１５９  第２更新ＤＢ
１５１０  第３設定ＤＢ
１５１１  第３更新ＤＢ
３６１  取得部
３６２  抽出部
３６３  算出部
３６４  割当部
Ｎ      通信網
【図１】
2017130059.tif 000003
【図２】
2017130059.tif 000004
【図３】
2017130059.tif 000005
【図４】
2017130059.tif 000006
【図５】
2017130059.tif 000007
【図６】
2017130059.tif 000008
【図７】
2017130059.tif 000009
【図８】
2017130059.tif 000010
【図９】
2017130059.tif 000011
【図１０】
2017130059.tif 000012
【図１１】
2017130059.tif 000013
【図１２】
2017130059.tif 000014
【図１３】
2017130059.tif 000015
【図１４】
2017130059.tif 000016
【図１５】
2017130059.tif 000017
【図１６】
2017130059.tif 000018
【図１７】
2017130059.tif 000019
【図１８】
2017130059.tif 000020
【図１９】
2017130059.tif 000021
【図２０】
2017130059.tif 000022
【図２１】
2017130059.tif 000023
【図２２】
2017130059.tif 000024
【図２３】
2017130059.tif 000025
【図２４】
2017130059.tif 000026
【図２５】
2017130059.tif 000027
【図２６】
2017130059.tif 000028
【図２７】
2017130059.tif 000029
【図２８】
2017130059.tif 000030
【図２９】
2017130059.tif 000031
【図３０】
2017130059.tif 000032
【図３１】
2017130059.tif 000033
【図３２】
2017130059.tif 000034
【図３３】
2017130059.tif 000035
【図３４】
2017130059.tif 000036
【図３５】
2017130059.tif 000037
【図３６】
2017130059.tif 000038
【図３７】
2017130059.tif 000039