(57)【要約】【課題】同一種類の疲労が連続して蓄積しないようにスケジューリングを行う。【解決手段】スケジュール情報記憶部２０１は、疲労属性毎の人の疲労度の情報を含むスケジュール情報を記憶する。優先割当疲労属性算出部１０９は、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる。スケジュール時刻算出部１０３は、割当可能空き時間のうちＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、合計疲労度が低いスケジュールに繋がるように、ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定する。スケジュール情報生成部１０１は、ＴＯＤＯからスケジュール情報を生成する。【選択図】  図１
2010140305.tif 000002
【特許請求の範囲】
【請求項１】
疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段と、
前記スケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求め、この空き時間のうちＴＯＤＯに割当可能な空き時間を抽出する空き時間情報処理手段と、
前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出手段と、
前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成手段と、
前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出手段と、
前記優先割当疲労属性算出手段およびスケジュール時刻算出手段の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記ＴＯＤＯからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成手段とを備えることを特徴とするスケジューリングシステム。
【請求項２】
請求項１記載のスケジューリングシステムにおいて、
さらに、前記スケジュール情報記憶手段に記憶されたスケジュール情報に基づいて一日あたりの疲労属性毎の疲労度を算出する疲労情報処理手段と、
予め定められた一日疲労度の閾値を疲労属性毎に記憶する疲労度閾値情報記憶手段と、
スケジュール割当予定日の現在の一日疲労度と前記ＴＯＤＯから生成するスケジュールによる追加疲労度との和が前記一日疲労度閾値以下となるように疲労属性毎に評価し、前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間を、前記空き時間リストの中から決定する一日割当疲労情報判定手段とを備え、
前記スケジュール情報生成手段は、前記ＴＯＤＯから生成したスケジュール情報に基づいてスケジュール割当予定日の一日あたりの疲労属性毎の疲労度を更新することを特徴とするスケジューリングシステム。
【請求項３】
請求項１または２記載のスケジューリングシステムにおいて、
さらに、予め日時が定められたカレンダースケジュール情報と予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報とを用い、前記カレンダースケジュール情報を、疲労属性毎の疲労度の情報を含むスケジュール情報に変換し、このスケジュール情報を前記スケジュール情報記憶手段に格納するカレンダースケジュール情報処理手段を備えることを特徴とするスケジューリングシステム。
【請求項４】
請求項１乃至３のいずれか１項に記載のスケジューリングシステムにおいて、
前記空き時間情報処理手段は、人の勤務時間情報と休息時間情報と前記スケジュール情報記憶手段に記憶されたスケジュール情報とから前記空き時間を求めることを特徴とするスケジューリングシステム。
【請求項５】
請求項１乃至４のいずれか１項に記載のスケジューリングシステムにおいて、
さらに、業務種別の情報を含むＴＯＤＯ情報を予め記憶するＴＯＤＯ情報記憶手段を備え、
前記スケジュール情報生成手段は、前記ＴＯＤＯ情報に基づいてＴＯＤＯからスケジュール情報を生成することを特徴とするスケジューリングシステム。
【請求項６】
請求項５記載のスケジューリングシステムにおいて、
さらに、前記ＴＯＤＯ情報をスケジュール割当順に並べ替えたＴＯＤＯ情報リストを生成するＴＯＤＯ情報処理手段を備え、
前記スケジュール情報生成手段は、前記ＴＯＤＯ情報リストのＴＯＤＯ情報に関してスケジュール情報を生成することを特徴とするスケジューリングシステム。
【請求項７】
請求項６記載のスケジューリングシステムにおいて、
前記ＴＯＤＯ情報は、優先度の情報を含み、
前記ＴＯＤＯ情報処理手段は、前記優先度をキーとして前記ＴＯＤＯ情報を並べ替えることを特徴とするスケジューリングシステム。
【請求項８】
請求項７記載のスケジューリングシステムにおいて、
前記ＴＯＤＯ情報は、さらにＴＯＤＯ期限の情報を含み、
前記ＴＯＤＯ情報処理手段は、前記優先度を第一のキーとし、前記ＴＯＤＯ期限を第二のキーとして前記ＴＯＤＯ情報を並べ替えることを特徴とするスケジューリングシステム。
【請求項９】
請求項６記載のスケジューリングシステムにおいて、
前記ＴＯＤＯ情報は、ＴＯＤＯ期限の情報を含み、
前記ＴＯＤＯ情報処理手段は、前記ＴＯＤＯ情報が期限切れのときに、利用者からの入力に応じて前記ＴＯＤＯ期限を再設定することを特徴とするスケジューリングシステム。
【請求項１０】
請求項１乃至９のいずれか１項に記載のスケジューリングシステムにおいて、
前記空き時間リスト生成手段は、前記業務種別疲労情報に基づいて単位時間疲労度が一番高い疲労属性を取得し、この取得した疲労属性を前記優先割当疲労属性とする割当可能空き時間の順位が前になるように前記割当可能空き時間を並べ替えることを特徴とするスケジューリングシステム。
【請求項１１】
請求項１乃至１０のいずれか１項に記載のスケジューリングシステムにおいて、
前記スケジュール情報生成手段は、スケジュール割当前に前記空き時間リストの要素がなくなってスケジューリングに失敗したときに、人が疲労することなくＴＯＤＯを実行可能なＴＯＤＯ期限を利用者に提案し、
利用者からの入力に応じて、前記空き時間情報処理手段と優先割当疲労属性算出手段と空き時間リスト生成手段とスケジュール時刻算出手段とスケジュール情報生成手段とは、前記ＴＯＤＯからのスケジュール情報の再生成を試みることを特徴とするスケジューリングシステム。
【請求項１２】
請求項１乃至１１のいずれか１項に記載のスケジューリングシステムにおいて、
前記疲労属性は、少なくとも肉体疲労と頭脳疲労とを含むことを特徴とするスケジューリングシステム。
【請求項１３】
疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める空き時間導出ステップと、
前記空き時間のうちＴＯＤＯに割当可能な空き時間を抽出する空き時間抽出ステップと、
前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出ステップと、
前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成ステップと、
前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出ステップと、
前記優先割当疲労属性算出ステップおよびスケジュール時刻算出ステップの処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記ＴＯＤＯからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成ステップとを備えることを特徴とするスケジューリング方法。
【請求項１４】
請求項１３記載のスケジューリング方法において、
さらに、前記スケジュール情報記憶手段に記憶されたスケジュール情報に基づいて一日あたりの疲労属性毎の疲労度を算出する一日疲労度算出ステップと、
スケジュール割当予定日の現在の一日疲労度と前記ＴＯＤＯから生成するスケジュールによる追加疲労度との和が予め定められた一日疲労度閾値以下となるように疲労属性毎に評価し、前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間を、前記空き時間リストの中から決定する一日割当疲労情報判定ステップとを備え、
前記スケジュール情報生成ステップは、前記ＴＯＤＯから生成したスケジュール情報に基づいてスケジュール割当予定日の一日あたりの疲労属性毎の疲労度を更新するステップを含むことを特徴とするスケジューリング方法。
【請求項１５】
請求項１３または１４記載のスケジューリング方法において、
さらに、予め日時が定められたカレンダースケジュール情報と予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報とを用い、前記カレンダースケジュール情報を、疲労属性毎の疲労度の情報を含むスケジュール情報に変換し、このスケジュール情報を前記スケジュール情報記憶手段に格納するカレンダースケジュール情報処理ステップを備えることを特徴とするスケジューリング方法。
【請求項１６】
請求項１３乃至１５のいずれか１項に記載のスケジューリング方法において、
前記空き時間導出ステップは、人の勤務時間情報と休息時間情報と前記スケジュール情報記憶手段に記憶されたスケジュール情報とから前記空き時間を求めることを特徴とするスケジューリング方法。
【請求項１７】
請求項１３乃至１６のいずれか１項に記載のスケジューリング方法において、
前記スケジュール情報生成ステップは、業務種別の情報を含むＴＯＤＯ情報を予め記憶するＴＯＤＯ情報記憶手段から前記ＴＯＤＯ情報を取得し、取得したＴＯＤＯ情報に基づいてＴＯＤＯからスケジュール情報を生成することを特徴とするスケジューリング方法。
【請求項１８】
請求項１７記載のスケジューリング方法において、
さらに、前記ＴＯＤＯ情報をスケジュール割当順に並べ替えたＴＯＤＯ情報リストを生成するＴＯＤＯ情報処理ステップを備え、
前記スケジュール情報生成ステップは、前記ＴＯＤＯ情報リストのＴＯＤＯ情報に関してスケジュール情報を生成することを特徴とするスケジューリング方法。
【請求項１９】
請求項１８記載のスケジューリング方法において、
前記ＴＯＤＯ情報は、優先度の情報を含み、
前記ＴＯＤＯ情報処理ステップは、前記優先度をキーとして前記ＴＯＤＯ情報を並べ替えることを特徴とするスケジューリング方法。
【請求項２０】
請求項１９記載のスケジューリング方法において、
前記ＴＯＤＯ情報は、さらにＴＯＤＯ期限の情報を含み、
前記ＴＯＤＯ情報処理ステップは、前記優先度を第一のキーとし、前記ＴＯＤＯ期限を第二のキーとして前記ＴＯＤＯ情報を並べ替えることを特徴とするスケジューリング方法。
【請求項２１】
請求項１８記載のスケジューリング方法において、
さらに、前記ＴＯＤＯ情報が期限切れのときに、利用者からの入力に応じて期限切れのＴＯＤＯ情報のＴＯＤＯ期限を再設定するＴＯＤＯ期限再設定ステップを備えることを特徴とするスケジューリング方法。
【請求項２２】
請求項１３乃至２１のいずれか１項に記載のスケジューリング方法において、
前記空き時間リスト生成ステップは、前記業務種別疲労情報に基づいて単位時間疲労度が一番高い疲労属性を取得し、この取得した疲労属性を前記優先割当疲労属性とする割当可能空き時間の順位が前になるように前記割当可能空き時間を並べ替えることを特徴とするスケジューリング方法。
【請求項２３】
請求項１３乃至２２のいずれか１項に記載のスケジューリング方法において、
さらに、スケジュール割当前に前記空き時間リストの要素がなくなってスケジューリングに失敗したときに、人が疲労することなくＴＯＤＯを実行可能なＴＯＤＯ期限を利用者に提案するスケジューリング失敗時処理ステップを備え、
利用者からの入力に応じて、前記空き時間情報処理ステップと優先割当疲労属性算出ステップと空き時間リスト生成ステップとスケジュール時刻算出ステップとスケジュール情報生成ステップとは、前記ＴＯＤＯからのスケジュール情報の再生成を試みることを特徴とするスケジューリング方法。
【請求項２４】
請求項１３乃至２３のいずれか１項に記載のスケジューリング方法において、
前記疲労属性は、少なくとも肉体疲労と頭脳疲労とを含むことを特徴とするスケジューリング方法。
【請求項２５】
疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める空き時間導出ステップと、
前記空き時間のうちＴＯＤＯに割当可能な空き時間を抽出する空き時間抽出ステップと、
前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出ステップと、
前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成ステップと、
前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出ステップと、
前記優先割当疲労属性算出ステップおよびスケジュール時刻算出ステップの処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記ＴＯＤＯからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成ステップとを、コンピュータに実行させることを特徴とするスケジューリングプログラム。
【請求項２６】
請求項２５記載のスケジューリングプログラムにおいて、
さらに、前記スケジュール情報記憶手段に記憶されたスケジュール情報に基づいて一日あたりの疲労属性毎の疲労度を算出する一日疲労度算出ステップと、
スケジュール割当予定日の現在の一日疲労度と前記ＴＯＤＯから生成するスケジュールによる追加疲労度との和が予め定められた一日疲労度閾値以下となるように疲労属性毎に評価し、前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間を、前記空き時間リストの中から決定する一日割当疲労情報判定ステップとを、コンピュータに実行させ、
前記スケジュール情報生成ステップは、前記ＴＯＤＯから生成したスケジュール情報に基づいてスケジュール割当予定日の一日あたりの疲労属性毎の疲労度を更新するステップを含むことを特徴とするスケジューリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、従業員等のスケジュールを作成するスケジューリングシステム、スケジューリング方法およびスケジューリング用プログラムに係り、特に各種疲労属性の疲労を考慮してスケジュールを作成することができるスケジューリングシステム、スケジューリング方法およびスケジューリングプログラムに関するものである。
【背景技術】
【０００２】
疲労を考慮して従業員等のスケジュールを作成・管理するスケジューリングシステムの一例が、特許文献１、非特許文献１に開示されている。特許文献１に開示されたスケジュール管理システムは、検出装置によって検出された従業員の体調データを閾値と比較し、比較結果に基づいて従業員が疲労していると判断された場合、改編後スケジュールデータを作成して提示する。このスケジュール管理システムは、改変前スケジュールデータを記憶し、従業員の体調データを閾値と比較し、比較結果に基づいて改変後スケジュールデータを作成する管理コンピュータと、体調データを検出する検出装置とから構成されている。このスケジュール管理システムのスケジュールデータは、いわゆるシフトスケジュールのデータであり、例えば、日勤、夜勤、休暇等が記録されている。
【０００３】
非特許文献１に開示されたトレインマッチソフトウエア（TrainMatch Software）も従業員等の疲労を考慮したスケジューリングシステムに関するものである。非特許文献１に開示されたシステムは、電車乗務スケジュール作成アプリケーションであり、効率的に乗務員を割り当て、乗務員の疲労を最小にする最適スケジュールを作成する。このシステムでは、電車の運行ダイヤと、運行規則と、従業員情報と、疲労パターン情報とを入力として、個人ごとの疲労を最小にするスケジュールを出力する。疲労パターン情報は、乗務員の勤務スケジュールと睡眠スケジュールより算出される。このシステムのスケジュールデータもいわゆるシフトスケジュールのデータであり、何時から何時までどの電車に乗務する、ということが記録されている。
【０００４】
他の関連技術として、実行しなければならない作業（以下、ＴＯＤＯとする）をスケジュールに展開するシステムの一例が、特許文献２に開示されている。特許文献２に開示されたスケジューリング支援システムは、ＴＯＤＯリストにあるＴＯＤＯを、スケジュールに展開する手段を提供するものであり、スケジューリングを支援する機能、及び既存の作業割付をシフトして再スケジューリングを手助けする手段を提供するものである。特許文献２に開示されたスケジューリング支援システムは、ＴＯＤＯをサブタスクに分解し、サブタスク毎に展開条件に基づいて個人の作業計画上への作業時間の割付を行って個人の作業計画を作成するスケジューリング支援部と、作業計画を表示するスケジュール表示部とから構成される。
【０００５】
他の観点の関連技術として、広告配信のスケジュールを作成するシステムの一例が、特許文献３に開示されている。特許文献３に開示された広告配信システムは、広告に共通の複数の属性を用意し、広告ごとに属性を数値化して広告データに書き込み、広告データベースに蓄積する。予め配信すべき時間帯が指定されていない広告に対してはそれぞれの属性ごとに重み付けを行い、広告順序スケジュールを作成し、予め配信時間帯と配信頻度が指定されている広告に対してはスケジュール化を行い、配信タイムスケジュールを作成する。そして、広告順序スケジュールと配信タイムスケジュールとをまとめて配信スケジュールとする。
【０００６】
【特許文献１】特開２００５−５６０６２号公報
【特許文献２】特開２００６−１４６５３０号公報
【特許文献３】特開２００１−２３６４４４号公報
【非特許文献１】“「疲労リスク管理」プログラム  鉄道会社での活用例”，Circadian Technologies Japan, Inc.（CTI-Japan），2006，＜ｈｔｔｐ：／／ｗｗｗ．ｃｉｒｃａｄｉａｎ．ｃｏ．ｊｐ／ｐｄｆ／ｔｒａｎｓｉｔ．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献２、特許文献３に開示されたシステムでは、従業員に同種の疲労が蓄積されるようにスケジュールを作成してしまう可能性があった。従業員に同種の疲労が連続して多量に蓄積されると、蓄積された疲労の回復に時間がかかるという点で問題である。例えば、スケジュールＡ、スケジュールＢ、スケジュールＣ、スケジュールＤがあり、スケジュールＡとスケジュールＢは従業員の肉体が疲労するスケジュール、スケジュールＣとスケジュールＤは従業員の頭脳が疲労するスケジュールであるとする。特許文献２、特許文献３に開示されたシステムでは、スケジュールＡ、スケジュールＢ、スケジュールＣ、スケジュールＤの順に並べる形でスケジュールを作成してしまう可能性がある。その理由は、前後にスケジューリングされているスケジュールに関して評価をする仕組みがないためである。
【０００８】
また、特許文献１、非特許文献１に開示されたシステムでは、あらかじめ従業員の疲労を考慮したスケジュールを作成することはできないという問題点があった。具体的には、これらのシステムでは、スケジューリング時点で「この日は作業を入れ過ぎて従業員が疲れそうだから従業員の疲労を少なくしよう」というスケジュールを作成することはできない。その理由は、スケジュールデータに、そのスケジュールを実行したときに従業員がどの程度疲労するかという予測疲労情報を記憶する仕組みがないからである。したがって、あらかじめ従業員の疲労が少なくなるようにスケジュールを作成することは不可能である。
【０００９】
また、特許文献２、特許文献３に開示されたシステムでは、従業員の一日あたりの疲労量が多過ぎるスケジュールを作成してしまう可能性があった。その理由は、ある一日のスケジュールについて評価する仕組みがないためである。
【００１０】
［発明の目的］  
本発明の目的は、一日あたりのスケジュールに関して、同一種類の疲労が連続して蓄積しないようにスケジューリングを行うスケジューリングシステム、スケジューリング方法およびスケジューリングプログラムを提供することにある。
また、本発明の他の目的は、一日あたりの疲労量が予め決められた閾値を超えないようにスケジューリングを行うスケジューリングシステム、スケジューリング方法およびスケジューリングプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のスケジューリングシステムは、疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段と、前記スケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求め、この空き時間のうちＴＯＤＯに割当可能な空き時間を抽出する空き時間情報処理手段と、前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出手段と、前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成手段と、前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出手段と、前記優先割当疲労属性算出手段およびスケジュール時刻算出手段の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記ＴＯＤＯからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成手段とを備えることを特徴とするものである。
【００１２】
また、本発明のスケジューリング方法は、疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める空き時間導出ステップと、前記空き時間のうちＴＯＤＯに割当可能な空き時間を抽出する空き時間抽出ステップと、前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出ステップと、前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成ステップと、前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記ＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出ステップと、前記優先割当疲労属性算出ステップおよびスケジュール時刻算出ステップの処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記ＴＯＤＯからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成ステップとを備えることを特徴とするものである。
また、本発明のスケジューリングプログラムは、スケジューリング方法の各ステップをコンピュータに実行させることを特徴とするものである。
【発明の効果】
【００１３】
本発明によれば、優先割当疲労属性算出手段は、スケジュール情報に基づいて、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる優先割当疲労属性とする。スケジュール時刻算出手段は、スケジュール情報に基づいて、割当可能空き時間のうちＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定する。そして、スケジュール情報生成手段は、優先割当疲労属性算出手段およびスケジュール時刻算出手段の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、ＴＯＤＯからスケジュール情報を生成してスケジュール情報記憶手段に格納する。これにより、本発明では、利用者の疲労が少なくなるスケジュールを作成することができる。その理由は、各種疲労属性の疲労度の情報をスケジュール情報に設定し、その疲労度の情報を基に、割当可能空き時間の直前直後のスケジュールによる人の疲労度を考慮してスケジュール情報を作成するためである。
【発明を実施するための最良の形態】
【００１４】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の第１の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。
スケジューリングシステムは、疲労属性毎の人の疲労度の情報を含むスケジュール情報を記憶するスケジュール情報記憶部２０１と、業務種別の情報を含むＴＯＤＯ情報を記憶するＴＯＤＯ情報記憶部２０６と、業務についての単位時間当たりの各種疲労度を記憶する業務種別疲労情報記憶部２１０と、利用者に情報を表示する表示部３０１と、利用者からの入力を受け付ける入力部３０３と、表示部３０１および入力部３０３と他の構成とをつなぐためのネットワーク３０２とを備えている。
【００１５】
また、スケジューリングシステムは、スケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求め、この空き時間のうちＴＯＤＯに割当可能な空き時間を抽出し、割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間情報処理部１０８と、スケジュール情報に基づいて、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出部１０９と、スケジュール情報に基づいて、割当可能空き時間のうちＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出部１０３と、優先割当疲労属性算出部１０９およびスケジュール時刻算出部１０３の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、ＴＯＤＯからスケジュール情報を生成してスケジュール情報記憶部２０１に格納するスケジュール情報生成部１０１とを備えている。
【００１６】
空き時間情報処理部１０８は、空き時間情報処理手段と空き時間リスト生成手段とを構成している。ここで、ＴＯＤＯとは、実行しなければならない作業のことであり、空き時間とは、勤務時間のうちスケジュールが割り当てられていない時間のことである。
【００１７】
次に、第１の実施の形態のスケジューリングシステムの動作を説明する。図２は第１の実施の形態のスケジューリングシステムの動作を示すフローチャートである。
スケジュール情報記憶部２０１は、疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶している。これらのスケジュール情報は、予め日時の決まっている予定から生成される。疲労属性の例としては、肉体疲労、頭脳疲労がある。
【００１８】
まず、空き時間情報処理部１０８は、スケジュール情報記憶部２０１からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める（図２ステップＳ１）。
続いて、空き時間情報処理部１０８は、スケジュール情報とＴＯＤＯ情報記憶部２０６に記憶されたＴＯＤＯ情報に基づいて、空き時間のうちＴＯＤＯに割当可能な空き時間を抽出する（ステップＳ２）。
【００１９】
優先割当疲労属性算出部１０９は、スケジュール情報に基づいて、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる優先割当疲労属性とする（ステップＳ３）。
空き時間情報処理部１０８は、割当可能空き時間を割当順に並べ替えた空き時間リストを生成する（ステップＳ４）。
【００２０】
スケジュール時刻算出部１０３は、スケジュール情報に基づいて、割当可能空き時間のうちＴＯＤＯから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、ＴＯＤＯから生成するスケジュールの開始時刻と終了時刻を決定する（ステップＳ５）。
【００２１】
最後に、スケジュール情報生成部１０１は、優先割当疲労属性算出部１０９およびスケジュール時刻算出部１０３の処理結果と、業務種別疲労情報記憶部２１０に予め記憶された業務種別疲労情報に基づいて、ＴＯＤＯからスケジュール情報を生成してスケジュール情報記憶部２０１に格納する（ステップＳ６）。
【００２２】
以上の構成により、本実施の形態では、利用者の疲労が少なくなるスケジュールを作成することができる。その理由は、各種疲労属性の疲労度の情報をスケジュール情報に設定し、その疲労度の情報を基に、割当可能空き時間の直前直後のスケジュールによる人の疲労度を考慮してスケジュール情報を作成するためである。
【００２３】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。第２の実施の形態は、第１の実施の形態をより具体的に説明するものである。図３は本発明の第２の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。
スケジューリングシステムは、疲労属性毎の人の疲労度の情報を含むスケジュール情報を記憶するスケジュール情報記憶部２０１と、各種情報を一時的に記憶する各種情報一時記憶部２０２と、優先割当疲労属性の情報を含む空き時間情報を記憶する空き時間情報記憶部２０３と、休憩時間情報を記憶する休憩時間情報記憶部２０４と、勤務時間情報を記憶する勤務時間情報記憶部２０５と、業務種別の情報を含むＴＯＤＯ情報を記憶するＴＯＤＯ情報記憶部２０６と、業務種別をパラメータとして持つカレンダースケジュール情報を記憶するカレンダースケジュール情報記憶部２０７と、一日の各種疲労度を記憶する一日疲労情報記憶部２０８と、一日に割り当て可能な各種疲労度閾値を記憶する疲労度閾値情報記憶部２０９と、業務についての単位時間当たりの各種疲労度を記憶する業務種別疲労情報記憶部２１０と、利用者に情報を表示する表示部３０１と、利用者からの入力を受け付ける入力部３０３と、表示部３０１および入力部３０３と他の構成とをつなぐためのネットワーク３０２とを備えている。
【００２４】
また、スケジューリングシステムは、ＴＯＤＯ情報と空き時間情報リストを読み込みＴＯＤＯ情報に関するスケジュールを作成する機能と、スケジュール割当結果の各種一日疲労度を算出する機能と、スケジューリングが失敗したとき再スケジューリングを試みＴＯＤＯを割り当てることの出来る期限を算出する機能とを持つスケジュール情報生成部１０１と、スケジュール情報を取得し利用者にスケジュールを操作する手段を提供する機能と、受信したスケジュール情報をスケジュール情報記憶部２０１に格納する機能と、スケジュール情報記憶部２０１からスケジュールを削除する機能とを持つスケジュール情報処理部１０２と、疲労する業務が連続しないようスケジュール時刻を割り当てる機能を持つスケジュール時刻算出部１０３と、スケジュール情報と疲労度閾値情報と一日疲労情報とを読み込み、スケジュールの割り当てにより、その日の疲労度が閾値を超過しないかを判定する機能を持つ、一日割当疲労情報判定部１０４と、スケジュール情報を読み込み、スケジュール情報に付加された各種疲労度の情報から一日疲労度を算出する機能と、疲労情報を受け取り、疲労情報を一日疲労情報記憶部２０８に格納する機能を持つ疲労情報処理部１０５と、ＴＯＤＯ情報を読み込み、スケジュールを生成する順番にＴＯＤＯ情報を並べ替えたＴＯＤＯ情報リストを生成し、生成したＴＯＤＯ情報リストをスケジュール情報生成部１０１に出力する機能と、ＴＯＤＯ情報をＴＯＤＯ情報記憶部２０６に格納する機能と、利用者にＴＯＤＯ情報を操作する手段を提供する機能とを持つＴＯＤＯ情報処理部１０６と、カレンダースケジュール情報を読み込みスケジュール情報処理部１０２にスケジュール情報生成を依頼する機能と、利用者にカレンダースケジュール情報を操作する手段を提供する機能と、入力部３０３からネットワーク３０２を介してカレンダースケジュール情報を変更させる情報を受信する機能と、カレンダースケジュール情報をカレンダースケジュール情報記憶部２０７に格納する機能とを持つカレンダースケジュール情報処理部１０７と、勤務時間情報と休憩時間情報とを読み込み空き時間を算出する機能と、スケジュール情報と空き時間情報とを読み込み新たな空き時間情報を生成する機能と、ＴＯＤＯ情報を読み込み空き時間情報を割当候補順に並べ替えた空き時間リストを生成する機能と、空き時間情報を空き時間情報記憶部２０３に格納する機能とを持つ空き時間情報処理部１０８と、空き時間情報と空き時間前後のスケジュール情報とを取得し、空き時間に優先的に割り当てる疲労属性を算出する優先割当疲労属性算出部１０９とを備えている。
【００２５】
空き時間情報処理部１０８は、空き時間情報処理手段と空き時間リスト生成手段とを構成している。ここで、カレンダースケジュールとは、スケジューラに登録される、あらかじめ日時の決まっている予定のことである。本実施の形態では、ＴＯＤＯから生成されるスケジュールも扱うので、混同しないようスケジューラに登録されるスケジュールの情報のことをカレンダースケジュール情報と呼ぶこととする。ＴＯＤＯとは、実行しなければならない作業のことであり、空き時間とは、勤務時間のうちスケジュールが割り当てられていない時間のことである。
【００２６】
図４はスケジュール情報記憶部２０１に記憶されるスケジュール情報の例を示す図、図５はＴＯＤＯ情報記憶部２０６に記憶されるＴＯＤＯ情報の例を示す図、図６はカレンダースケジュール情報記憶部２０７に記憶されるカレンダースケジュール情報の例を示す図、図７は一日疲労情報記憶部２０８に記憶される各種疲労度の例を示す図、図８は業務種別疲労情報記憶部２１０に記憶される単位時間当たりの各種疲労度の例を示す図、図９は空き時間情報記憶部２０３に記憶される空き時間情報の例を示す図、図１０は疲労度閾値情報記憶部２０９に記憶される各種疲労度閾値の例を示す図である。
【００２７】
次に、第２の実施の形態のスケジューリングシステムの動作の概要を説明する。まず、カレンダースケジュール情報処理部１０７は、カレンダースケジュール情報と業務種別疲労情報を用い、カレンダースケジュール情報を、各種疲労属性をパラメータとして持つスケジュール情報に変換しスケジュール情報記憶部２０１に格納する。
空き時間情報処理部１０８は、スケジュール情報が割り当てられていない空き時間を求め、この空き時間を空き時間情報記憶部２０３に格納する。
【００２８】
疲労情報処理部１０５は、スケジュール情報から一日あたりの各種疲労属性の疲労度を算出し、算出した疲労情報を一日疲労情報記憶部２０８に格納する。
ＴＯＤＯ情報処理部１０６は、スケジュール割当対象となるＴＯＤＯをスケジュール割当順に並べ替えたＴＯＤＯ情報リストを生成する。
スケジュール情報生成部１０１は、ＴＯＤＯ情報リストのＴＯＤＯ情報に関してスケジュールを生成する。
【００２９】
空き時間情報処理部１０８は、取得したＴＯＤＯ情報に関して割当可能な空き時間情報を算出し、空き時間情報を割当順に並べ替えた空き時間リストを生成する。
優先割当疲労属性算出部１０９は、割当可能な空き時間情報について、前後のスケジュールの疲労度の合計値が最小になる疲労属性を算出し、算出した疲労属性を空き時間の優先割当疲労属性とする。
【００３０】
スケジュール情報生成部１０１は、空き時間リストの空き時間について順番にＴＯＤＯ情報のスケジュールを生成する。
一日割当疲労情報判定部１０４は、生成されたスケジュール情報に基づいて、各種一日疲労度が閾値を超さないかどうか判定し、各種一日疲労度が閾値を超過する場合は次の空き時間についてスケジュール生成を実行し、各種一日疲労度が閾値を超過しない場合はスケジュール情報とＴＯＤＯ情報と各種一日疲労度情報と空き時間情報とを更新するようスケジュール情報生成部１０１に指示する。
【００３１】
スケジュール情報生成部１０１は、スケジュール情報とＴＯＤＯ情報と各種一日疲労度情報と空き時間情報とを更新する。
スケジュール時刻算出部１０３は、スケジュール割当て予定空き時間の前後のスケジュール情報の合計疲労度を算出し、合計疲労度が低いスケジュールにつながるようスケジュールの開始時刻と終了時刻を決定する。
【００３２】
スケジュール情報生成部１０１は、その他スケジュール情報のパラメータとＴＯＤＯ情報と各種一日疲労度情報と空き時間情報も求め、結果を各種情報一時記憶部２０２に記憶する。空き時間リストの要素がなくなる前にスケジュールを割り当てることが出来たら、次のＴＯＤＯに関してスケジューリングを行う。スケジュール割当前に空き時間リストの要素がなくなったら、スケジュール失敗である。この場合、スケジュール情報生成部１０１は、再スケジューリング処理を行う。スケジュール情報生成部１０１は、最終的に決定されたスケジュール情報、ＴＯＤＯ情報、各種一日疲労度情報、空き時間情報をそれぞれスケジュール情報記憶部２０１、ＴＯＤＯ情報記憶部２０６、一日疲労情報記憶部２０８、空き時間情報記憶部２０３に格納する。以上で、本実施の形態の目的を達成することが出来る。
【００３３】
特に、本実施の形態では、優先割当疲労属性算出部１０９が、割当可能空き時間の前後のスケジュールの各種疲労度を基に、割当可能空き時間に優先的に割り当てる疲労属性を決定することと、一日割当疲労情報判定部１０４が、スケジュール割当て予定日の疲労度とその閾値とを比較し、割当可能空き時間にスケジュールを割り当てるかどうかを決定することと、スケジュール時刻算出部１０３が、割当可能空き時間の前後のスケジュールの合計疲労度を基に、スケジュールを割り当てる時刻を決定することにより、同種の疲労が連続で蓄積されなく、かつ一日あたりの各種疲労が閾値を超過しないように、前もってスケジューリングすることが可能になる。
【００３４】
次に、第２の実施の形態のスケジューリングシステムの動作の詳細を説明する。まず、最初にカレンダースケジュール情報およびＴＯＤＯ情報からスケジュールを作成するスケジューリング処理について動作説明を行う。図１１はスケジューリング処理を説明するフローチャートである。
スケジューリング処理において、最初にスケジューリングシステムは、カレンダースケジュール情報をスケジュール情報に変換するカレンダースケジュール読込処理（図１１ステップＳ２０１）を実行する。図１２はこのカレンダースケジュール読込処理（ステップＳ２０１）を説明するフローチャートである。
【００３５】
まず、カレンダースケジュール情報処理部１０７は、カレンダースケジュール情報記憶部２０７より、カレンダースケジュール情報を一つ取得する（図１２ステップＳ３０２）。そして、カレンダースケジュール情報処理部１０７は、取得したカレンダースケジュール情報のパラメータを基にスケジュール情報を作成する（ステップＳ３０３）。すなわち、カレンダースケジュール情報処理部１０７は、カレンダースケジュール情報に記録されたカレンダースケジュール名をスケジュール情報に記録されるスケジュール名とし、カレンダースケジュール情報に記録された開始時刻をスケジュール情報に記録される開始時刻とし、カレンダースケジュール情報に記録された終了時刻をスケジュール情報に記録される終了時刻とし、スケジュール情報に記録される作成種別を「自動」とし、カレンダースケジュール情報に記録された割当時間をスケジュール情報に記録される割当時間とし、スケジュール情報に記録されるスケジュール種別を「カレンダー」とし、カレンダースケジュール情報に記録されたカレンダースケジュールＩＤをスケジュール情報に記録される作成元ＩＤとして、スケジュール情報を作成する。次に、カレンダースケジュール情報処理部１０７は、スケジュール情報生成部１０１に作成したスケジュール情報を送信する。
【００３６】
スケジュール情報を受信したスケジュール情報生成部１０１は、スケジュールによる人の疲労度を算出するスケジュール疲労度算出処理（図１２ステップＳ３０４）を実行する。図１３はこのスケジュール疲労度算出処理（ステップＳ３０４）を説明するフローチャートである。
【００３７】
スケジュール情報生成部１０１は、受信したスケジュール情報のスケジュール種別と作成元ＩＤを基にＴＯＤＯ情報記憶部２０６を参照して、作成元ＩＤと同じ値のＴＯＤＯＩＤを有するＴＯＤＯ情報の業務種別ＩＤを取得し、この業務種別ＩＤを基に業務種別疲労情報記憶部２１０を参照して、業務種別ＩＤに対応する単位時間肉体疲労度と単位時間頭脳疲労度を取得する（図１３ステップＳ４０１）。
【００３８】
次に、スケジュール情報生成部１０１は、肉体疲労または頭脳疲労のいずれかの疲労属性を選択し（ステップＳ４０２）、選択した疲労属性について人の疲労度を算出する（ステップＳ４０３）。選択した疲労属性についての人の疲労度をＦ、選択した疲労属性についての人の単位時間疲労度をＦｕ、ステップＳ０３で作成されたスケジュール情報に記録された割当時間をｔとすると、選択した疲労属性についての人の疲労度Ｆは、次式により求めることができる。
Ｆ＝Ｆｕ×ｔ                                                    ・・・（１）
なお、選択した疲労属性が肉体疲労の場合は、Ｆｕとして単位時間肉体疲労度を用い、選択した疲労属性が頭脳疲労の場合は、Ｆｕとして単位時間頭脳疲労度を用いる。
【００３９】
スケジュール情報生成部１０１は、すべての疲労属性について処理を実行したかどうかを判定し（ステップＳ４０４）、処理していない疲労属性が存在する場合にはステップＳ４０２に戻る。こうして、すべての疲労属性について、式（１）を用いて人の疲労度を算出する。次に、スケジュール情報生成部１０１は、人の合計疲労度を算出する（ステップＳ４０５）。合計疲労度をＦｔｏｔａｌ、式（１）で算出した人の肉体疲労度をＦｂ、同じく式（１）で算出した人の頭脳疲労度をＦｈとすると、合計疲労度Ｆｔｏｔａｌは次式により求めることができる。
Ｆｔｏｔａｌ＝Ｆｂ＋Ｆｈ                                        ・・・（２）
【００４０】
スケジュール情報生成部１０１は、カレンダースケジュール情報処理部１０７から受信したスケジュール情報に、ステップＳ４０２〜Ｓ４０５の処理で求めた肉体疲労度と頭脳疲労度と合計疲労度の情報を追加し、これらの情報を追加した後のスケジュール情報をスケジュール情報処理部１０２に送信する。以上で、スケジュール疲労度算出処理（ステップＳ３０４）が終了する。
【００４１】
スケジュール情報処理部１０２は、受信したスケジュール情報を記憶する（図１２ステップＳ３０５）。
続いて、カレンダースケジュール情報処理部１０７は、すべてのカレンダースケジュール情報についてステップＳ３０２〜Ｓ３０５の処理を実行したかどうかを判定し（ステップＳ３０１）、処理していないカレンダースケジュール情報が存在する場合には、ステップＳ３０２に進む。こうして、すべてのカレンダースケジュール情報についてステップＳ３０２〜Ｓ３０５の処理が実行される。以上で、カレンダースケジュール読込処理（ステップＳ２０１）が終了する。
【００４２】
次に、スケジューリングシステムは、人の一日の各種疲労度を算出する各種一日疲労度算出処理（図１１ステップＳ２０２）を実行する。図１４は各種一日疲労度算出処理（ステップＳ２０２）を説明するフローチャートである。
【００４３】
まず、疲労情報処理部１０５は、スケジュール情報記憶部２０１からスケジュール情報を１つ取得する（図１４ステップＳ５０１）。次に、疲労情報処理部１０５は、このスケジュール情報に記録された開始時刻と終了時刻とを取得し、一日疲労情報算出対象の日付を決定する（ステップＳ５０２）。ここでは、開始時刻と終了時刻によって特定される日が、一日疲労情報算出対象の日となる。
【００４４】
次に、疲労情報処理部１０５は、一日疲労情報算出対象日の人の疲労度を算出する。まず、疲労情報処理部１０５は、一日疲労情報記憶部２０８に記憶されている疲労属性の中から肉体疲労または頭脳疲労のいずれかの疲労属性を一つ選択する（ステップＳ５０３）。
【００４５】
続いて、疲労情報処理部１０５は、選択した疲労属性についての人の一日疲労度を算出する（ステップＳ５０４）。選択した疲労属性についての人の一日疲労度をＦｄ、選択した疲労属性および一日疲労情報算出対象日について既に算出されている一日疲労度をＦｏｌｄ、ステップＳ５０１で取得したスケジュール情報に記録された同疲労属性の疲労度をＦｓとすると、選択した疲労属性についての人の一日疲労度Ｆｄは次式により求めることができる。
Ｆｄ＝Ｆｏｌｄ＋Ｆｓ                                            ・・・（３）
【００４６】
なお、選択した疲労属性について一日疲労度Ｆｏｌｄが既に算出されている理由は、ステップＳ５０４の算出処理がスケジュール情報毎に行われるからであり、一日疲労情報算出対象日が同じとなるスケジュール情報が複数存在することがあるからである。選択した疲労属性について一日疲労度が未だ算出されていない場合にはＦｏｌｄは０になることは言うまでもない。
疲労情報処理部１０５は、すべての疲労属性について処理を実行したかどうかを判定し（ステップＳ５０５）、処理していない疲労属性が存在する場合にはステップＳ５０３に戻る。こうして、すべての疲労属性について、式（３）を用いて人の一日疲労度を算出する。
【００４７】
次に、疲労情報処理部１０５は、ステップＳ５０３〜Ｓ５０５の処理で算出した肉体疲労の一日疲労度と頭脳疲労の一日疲労度とを加算することで、スケジュール情報による人の合計疲労度を算出し、この算出した合計疲労度と一日疲労情報算出対象日について既に算出されている一日の合計疲労度とを加算することで、一日疲労情報算出対象日についての人の一日の合計疲労度を算出する（ステップＳ５０６）。一日疲労情報算出対象日について合計疲労度が既に算出されている理由は、ステップＳ５０６の算出処理がスケジュール情報毎に行われるからであり、一日疲労情報算出対象日が同じとなるスケジュール情報が複数存在することがあるからである。
疲労情報処理部１０５は、算出した各種疲労度情報を一日疲労情報記憶部２０８に記憶する（ステップＳ５０７）。疲労情報処理部１０５は、ステップＳ５０１〜Ｓ５０７の処理をスケジュール情報記憶部２０１に記憶されているすべてのスケジュール情報について実行する（ステップＳ５０８）。以上で、各種一日疲労度算出処理（ステップＳ２０２）が終了する。
【００４８】
次に、スケジューリングシステムは、空き時間情報を算出する空き時間算出処理（図１１ステップＳ２０３）を実行する。図１５は空き時間算出処理（ステップＳ２０３）を説明するフローチャートである。
まず、空き時間情報処理部１０８は、勤務時間情報記憶部２０５から人の勤務時間情報を取得する（図１５ステップＳ６０１）。さらに、空き時間情報処理部１０８は、休憩時間情報記憶部２０４から人の休憩時間情報を取得する（ステップＳ６０２）。
【００４９】
次に、空き時間情報処理部１０８は、休憩時間情報に記録された開始時刻をソートキーとして、休息時間情報を昇順に並べ替え、休憩時間情報リストを作成する。続いて、空き時間情報処理部１０８は、この休憩時間情報リストから休憩時間情報を１つ取得し、ステップＳ６０１で取得した勤務時間情報に記録された勤務時間開始時刻を空き時間開始時刻とし、休憩時間情報リストから取得した休憩時間情報に記録された休息時間開始時刻を空き時間終了時刻として、空き時間情報を生成する。次に、空き時間情報処理部１０８は、空き時間情報リストから新たに休憩時間情報を取得し、１回前に取得した休憩時間情報に記録された休息時間終了時刻を空き時間開始時刻とし、新たに取得した休憩時間情報に記録された休息時間開始時刻を空き時間終了時刻として、新たに空き時間情報を生成する。空き時間情報処理部１０８は、以上のような空き時間情報の生成処理を休憩時間情報リストに未処理の休憩時間情報がなくなるまで繰り返す。
【００５０】
なお、最後の空き時間情報については、最後に取得した休憩時間情報に記録された休息時間終了時刻を空き時間開始時刻とし、ステップＳ６０１で取得した勤務時間情報に記録された勤務時間終了時刻を空き時間終了時刻とする。空き時間情報処理部１０８は、生成した空き時間情報を空き時間情報記憶部２０３に格納する（ステップＳ６０３）。
【００５１】
次に、空き時間情報処理部１０８は、スケジュール情報記憶部２０１からスケジュール情報を１つ取得する（ステップＳ６０４）。続いて、空き時間情報処理部１０８は、空き時間更新処理を行う（ステップＳ６０５）。空き時間更新処理は、空き時間情報とスケジュール情報とを利用して、空き時間を更新する処理である。図１６はこの空き時間更新処理（ステップＳ６０５）を説明するフローチャートである。
【００５２】
空き時間更新処理では、空き時間情報ｔｅ１と、空き時間情報ｔｅ２という２つの空き時間情報を作成する。最初に、空き時間情報処理部１０８は、ステップＳ６０４で取得したスケジュール情報に記録された開始時刻と終了時刻とを取得し、空き時間開始時刻がスケジュール情報に記録された開始時刻以前で（空き時間開始時刻≦スケジュール情報に記録された開始時刻）、かつ空き時間終了時刻がスケジュール情報に記録された終了時刻以前（空き時間終了時刻≦スケジュール情報に記録された終了時刻）である空き時間情報を、空き時間情報記憶部２０３から取得する（図１６ステップＳ７０１）。
【００５３】
続いて、空き時間情報処理部１０８は、ステップＳ６０４で取得したスケジュール情報とステップＳ７０１で取得した空き時間情報とを用いて、空き時間情報ｔｅ１の空き時間開始時刻をステップＳ７０１で取得した空き時間情報に記録される空き時間開始時刻とし、空き時間情報ｔｅ１の空き時間終了時刻をステップＳ６０４で取得したスケジュール情報に記録される開始時刻とし、空き時間情報ｔｅ２の空き時間開始時刻をステップＳ６０４で取得したスケジュール情報に記録される終了時刻とし、空き時間情報ｔｅ２の空き時間終了時刻をステップＳ７０１で取得した空き時間情報に記録される空き時間終了時刻として、空き時間情報ｔｅ１と空き時間情報ｔｅ２とを生成する（ステップＳ７０２）。
【００５４】
次に、空き時間情報処理部１０８は、作成した空き時間情報ｔｅ１と空き時間情報ｔｅ２の各々について、空き時間開始時刻と空き時間終了時刻とが同刻になっているか否かを判定する。そして、空き時間情報処理部１０８は、作成した空き時間情報ｔｅ１と空き時間情報ｔｅ２のうち空き時間開始時刻と空き時間終了時刻が同刻でない空き時間情報を、空き時間情報が記憶されていた記憶部に格納する（ステップＳ７０３）。例えば、空き時間情報が空き時間情報記憶部２０３に記憶されていた場合には、空き時間情報記憶部２０３に空き時間情報を格納する。また、空き時間情報が各種情報一時記憶部２０２に記憶されていた場合には、各種情報一時記憶部２０２に空き時間情報を格納する。
【００５５】
空き時間情報処理部１０８は、ステップＳ７０１で取得した空き時間情報を、空き時間情報が記憶されていた記憶部から削除する（ステップＳ７０４）。例えば、空き時間情報が空き時間情報記憶部２０３に記憶されていた場合には、空き時間情報記憶部２０３から当該空き時間情報を削除する。空き時間情報が各種情報一時記憶部２０２に記憶されていた場合には、各種情報一時記憶部２０２から当該空き時間情報を削除する。なお、空き時間情報処理部１０８は、各種情報一時記憶部２０２から空き時間情報を削除する場合は、削除する空き時間情報の空き時間ＩＤを各種情報一時記憶部２０２に記憶させておく。以上で、空き時間更新処理（ステップＳ６０５）が終了する。
【００５６】
空き時間情報処理部１０８は、スケジュール情報記憶部２０１に記憶されているすべてのスケジュール情報についてステップＳ６０４，Ｓ６０５の処理を実行したかどうかを判定し（ステップＳ６０６）、処理していないスケジュール情報が存在する場合にはステップＳ６０４に戻る。こうして、すべてのスケジュール情報についてステップＳ６０４，Ｓ６０５の処理が実行される。以上で、空き時間算出処理（ステップＳ２０３）が終了する。
【００５７】
次に、スケジューリングシステムは、スケジュール生成順決定処理（図１１ステップＳ２０４）を実行し、スケジュール生成順に並べ替えられたＴＯＤＯ情報であるＴＯＤＯ情報リストを生成する。図１７はこのスケジュール生成順決定処理（ステップＳ２０４）を説明するフローチャートである。
【００５８】
まず、ＴＯＤＯ情報処理部１０６は、ＴＯＤＯ情報記憶部２０６からＴＯＤＯ情報を取得する（図１７ステップＳ８０１）。続いて、ＴＯＤＯ情報処理部１０６は、取得したＴＯＤＯ情報に記録されたＴＯＤＯ期限を参照し、ＴＯＤＯ情報をＴＯＤＯ期限が設定されている期限付きＴＯＤＯ情報とＴＯＤＯ期限が設定されていない期限なしＴＯＤＯ情報とに分ける（ステップＳ８０２）。
【００５９】
そして、ＴＯＤＯ情報処理部１０６は、ステップＳ８０２で抽出した期限付きＴＯＤＯ情報の各々について、ＴＯＤＯ期限と現在の処理実行時刻とを比較することにより、判定対象の期限付きＴＯＤＯ情報が期限切れＴＯＤＯ情報であるかどうかを判定し、期限切れＴＯＤＯ情報のリストを生成する（ステップＳ８０３）。ＴＯＤＯ情報処理部１０６は、判定対象の期限付きＴＯＤＯ情報に記録されたＴＯＤＯ期限が現在の処理実行時刻より前であれば、期限切れＴＯＤＯ情報であると判定する。
【００６０】
次に、ＴＯＤＯ情報処理部１０６は、期限切れＴＯＤＯ情報に期限を再設定するために、ＴＯＤＯ期限再設定処理を実行する（ステップＳ８０４）。図１８はこのＴＯＤＯ期限再設定処理（ステップＳ８０４）を説明するフローチャートである。
【００６１】
まず、ＴＯＤＯ情報処理部１０６は、期限切れＴＯＤＯ情報が期限切れＴＯＤＯ情報リストに存在するかどうかを判断する（図１８ステップＳ９０１）。ＴＯＤＯ情報処理部１０６は、期限切れＴＯＤＯ情報が存在する場合、期限切れＴＯＤＯ情報リストから期限切れＴＯＤＯ情報を１つ抽出する（ステップＳ９０２）。そして、ＴＯＤＯ情報処理部１０６は、期限再設定用ユーザインタフェース（UI）、すなわち期限再設定用の画面を表示部３０１に表示させる（ステップＳ９０３）。期限再設定用の画面には、期限切れＴＯＤＯに関する情報が表示されており、システムの利用者が期限の再設定を容易にできるようになっている。利用者は、入力部３０３を操作してＴＯＤＯ期限を再設定する（ステップＳ９０４）。
【００６２】
ＴＯＤＯ情報処理部１０６は、期限切れＴＯＤＯ情報リストに存在するすべての期限切れＴＯＤＯ情報についてステップＳ９０２〜９０４の処理を実行したかどうかを判定し（ステップＳ９０１）、処理していない期限切れＴＯＤＯ情報が存在する場合にはステップＳ９０２に進む。こうして、期限切れＴＯＤＯ情報リストに存在するすべての期限切れＴＯＤＯ情報についてステップＳ９０２〜９０４の処理が実行される。以上で、ＴＯＤＯ期限再設定処理（図１７ステップＳ８０４）が終了する。
【００６３】
次に、ＴＯＤＯ情報処理部１０６は、ステップＳ８０２で抽出した期限付きＴＯＤＯ情報に関して、期限付きＴＯＤＯ情報に記録された優先度を第一のソートキーとして期限付きＴＯＤＯ情報を降順に並べ替え、さらに期限付きＴＯＤＯ情報に記録されたＴＯＤＯ期限を第二のソートキーとして期限付きＴＯＤＯ情報を昇順に並べ替えて、期限付きＴＯＤＯ情報リストを生成する（ステップＳ８０５）。このとき、同じＴＯＤＯ期限を有する期限付きＴＯＤＯ情報の中では、第一のソートキーによる順位を優先し、優先度が高い期限付きＴＯＤＯ情報ほど順位が前になるようにする。
【００６４】
また、ＴＯＤＯ情報処理部１０６は、ステップＳ８０２で抽出した期限なしＴＯＤＯ情報に関して、期限なしＴＯＤＯ情報に記録された優先度をソートキーとして期限なしＴＯＤＯ情報を降順に並べ替え、期限なしＴＯＤＯ情報リストを生成する（ステップＳ８０６）。次に、ＴＯＤＯ情報処理部１０６は、ステップＳ８０５で生成した期限付きＴＯＤＯ情報リストと、ステップＳ８０６で生成した期限なしＴＯＤＯ情報リストとを連結し、ＴＯＤＯ情報リストを生成する（ステップＳ８０７）。ここでの連結は、期限付きＴＯＤＯ情報リストが前で、期限なしＴＯＤＯ情報リストが後ろになるようにして、これらのリストを単純に連結すればよい。最後に、ＴＯＤＯ情報処理部１０６は、生成したＴＯＤＯ情報リストをスケジュール情報生成部１０１に送信する（ステップＳ８０８）。以上で、スケジュール生成順決定処理（ステップＳ２０４）が終了する。
【００６５】
次に、スケジューリングシステムは、スケジュール情報生成処理（図１１ステップＳ２０５）を行い、ステップＳ２０４で生成したＴＯＤＯ情報リストに含まれる各ＴＯＤＯに関してのスケジュールを作成する。図１９はスケジュール情報処理（ステップＳ２０５）を説明するフローチャートである。
【００６６】
まず、スケジュール情報生成部１０１は、ＴＯＤＯ情報処理部１０６より送信されたＴＯＤＯ情報リストを受信する。次に、スケジュール情報生成部１０１は、受信したＴＯＤＯ情報リストの先頭のＴＯＤＯ情報を取得する（図１９ステップＳ１００１）。続いて、スケジュール情報生成部１０１は、ＴＯＤＯ情報を取得できたかどうかを判定する（ステップＳ１００２）。ＴＯＤＯ情報を取得できた場合には、空き時間リスト生成処理（ステップＳ１００３）を実行する。ＴＯＤＯ情報を取得できなかった場合には、スケジュール情報生成処理を終了する。
【００６７】
スケジュール情報生成部１０１は、ＴＯＤＯ情報を取得できた場合、このＴＯＤＯ情報を各種情報一時記憶部２０２に格納する。以降は、ＴＯＤＯ情報に対しての処理は、特に断りがない限り、各種情報一時記憶部２０２に記憶されたＴＯＤＯ情報に対して実行される。スケジュール情報生成部１０１は、空き時間リスト生成処理（ステップＳ１００３）を実行させるため、空き時間情報処理部１０８にＴＯＤＯ情報を送信する。
【００６８】
次に、空き時間情報処理部１０８は、空き時間リスト生成処理（ステップＳ１００３）を実行する。この空き時間リスト生成処理は、ＴＯＤＯ情報をスケジュールに展開できる可能性のある空き時間を抽出し、空き時間リストを生成する処理である。図２０は空き時間リスト生成処理（ステップＳ１００３）を説明するフローチャートである。
空き時間リスト生成処理（ステップＳ１００３）は、スケジュール情報生成部１０１よりＴＯＤＯ情報を受信する処理と、ＴＯＤＯに割り当て可能な空き時間を算出する処理と、空き時間に優先割当疲労属性を設定する処理とから構成される。優先割当疲労属性とは、その空き時間に優先的に割り当てる疲労属性を意味する。
【００６９】
まず、空き時間情報処理部１０８は、受信したＴＯＤＯ情報を参照し、このＴＯＤＯ情報に記録された開始予定時刻からＴＯＤＯ情報に記録されたＴＯＤＯ期限までの期間で、かつＴＯＤＯ情報に記録された実行最小時間以上である空き時間を抽出する。そして、空き時間情報処理部１０８は、抽出した空き時間の情報を時間順に並べた空き時間リストを生成する（図２０ステップＳ１１０１）。空き時間情報処理部１０８は、生成した空き時間リストを各種情報一時記憶部２０２に格納する。以降は、空き時間リストに対しての処理は、各種情報一時記憶部２０２に記憶された空き時間リストに対して実行される。なお、空き時間情報処理部１０８は、ＴＯＤＯ情報に開始予定時刻が記録されていない場合は、現時刻からＴＯＤＯ期限までの期間で、かつ実行最小時間以上である空き時間を抽出する（ステップＳ１１０１）。
【００７０】
次に、空き時間情報処理部１０８は、ステップＳ１１０１で生成した空き時間リストに未処理の空き時間情報が存在するかどうかを判定する（ステップＳ１１０２）。空き時間情報処理部１０８は、空き時間リストに未処理の空き時間情報が存在する場合、空き時間リストから未処理の空き時間情報を一つ取得し（ステップＳ１１０３）、取得した空き時間情報を優先割当疲労属性算出部１０９に送信して優先割当疲労属性算出処理（ステップＳ１１０４）を実行させる。優先割当疲労属性算出処理は、空き時間の前後のスケジュールによる人の疲労情報を基に、空き時間に優先的に割り当てる疲労属性を決定する処理である。図２１は優先割当疲労属性算出処理（ステップＳ１１０４）を説明するフローチャートである。
【００７１】
まず、優先割当疲労属性算出部１０９は、空き時間情報を受信する。続いて、優先割当疲労属性算出部１０９は、受信した空き時間情報が示す空き時間の直前のスケジュール情報をスケジュール情報記憶部２０１から取得すると共に、空き時間の直後のスケジュール情報をスケジュール情報記憶部２０１から取得する（図２１ステップＳ１２０１）。空き時間の直前のスケジュール情報とは、空き時間の開始時刻とスケジュール情報に記録された終了時刻とが一致するスケジュール情報のことであり、空き時間の直後のスケジュール情報とは、空き時間情報の終了時刻とスケジュール情報に記録された開始時刻とが一致するスケジュール情報のことである。なお、優先割当疲労属性算出部１０９は、空き時間の直前または直後のスケジュール情報が存在しない場合、存在しないスケジュール情報については取得しないものとする。
【００７２】
次に、優先割当疲労属性算出部１０９は、一日疲労情報記憶部２０８に記憶されている疲労属性の中から肉体疲労または頭脳疲労のいずれかの疲労属性を一つ選択する（ステップＳ１２０２）。優先割当疲労属性算出部１０９は、空き時間の直前のスケジュールにおける選択疲労属性についての人の疲労度を空き時間の直前のスケジュール情報から取得すると共に、空き時間の直後のスケジュールにおける選択疲労属性についての人の疲労度を空き時間の直後のスケジュール情報から取得し、取得した疲労度を加算して、加算後の疲労度を一時記憶する（ステップＳ１２０３）。
【００７３】
優先割当疲労属性算出部１０９は、一日疲労情報記憶部２０８に記憶されているすべての疲労属性についてステップＳ１２０２，Ｓ１２０３の処理を実行したかどうかを判定し（ステップＳ１２０４）、処理していない疲労属性が存在する場合にはステップＳ１２０２に戻る。こうして、すべての疲労属性について、ステップＳ１２０２，Ｓ１２０３の処理が実行される。最後に、優先割当疲労属性算出部１０９は、ステップＳ１２０３で算出した疲労属性毎の疲労度のうち、疲労度が最小の疲労属性を、空き時間情報処理部１０８から受信した空き時間情報の優先割当疲労属性として設定する（ステップＳ１２０５）。以上で、優先割当疲労属性算出処理（ステップＳ１１０４）が終了する。
【００７４】
次に、空き時間情報処理部１０８は、ステップＳ１１０１で生成した空き時間リストに未処理の空き時間情報が存在するかどうかを判定する（図２０ステップＳ１１０２）。空き時間情報処理部１０８は、空き時間リストに未処理の空き時間情報が存在する場合、ステップＳ１１０３に進む。こうして、空き時間リストに含まれるすべての空き時間情報について、ステップＳ１１０３，Ｓ１１０４の処理が実行される。
【００７５】
空き時間情報処理部１０８は、空き時間リストに未処理の空き時間情報が存在しない場合（ステップＳ１１０２において判定ＮＯ）、業務種別疲労情報記憶部２１０に記憶される単位時間当たりの各種疲労度のうち、単位時間疲労度が一番高い疲労属性を取得する（ステップＳ１１０５）。
【００７６】
空き時間情報処理部１０８は、疲労属性を第一のソートキーとし、ステップＳ１１０５で取得した疲労属性を優先割当疲労属性とする空き時間情報の順位が前になるように空き時間リストを並べ替え、さらに日時を第二のソートキーとして空き時間リストを昇順に並べ替える（ステップＳ１１０６）。このとき、同じ日時の空き時間情報の中では、第一のソートキーによる順位を優先し、ステップＳ１１０５で取得した疲労属性を優先割当疲労属性とする空き時間情報の順位が前になるようにする。最後に、空き時間情報処理部１０８は、並べ替え後の空き時間リストを一時記憶する（ステップＳ１１０７）。以上で、空き時間リスト生成処理（ステップＳ１００３）が終了する。
【００７７】
次に、スケジュール情報生成部１０１は、ＴＯＤＯスケジュール生成処理（図１９ステップＳ１００４）を実行する。ＴＯＤＯスケジュール生成処理はＴＯＤＯ情報に空き時間を順番に割り当てスケジュールを生成する処理である。図２２はこのＴＯＤＯスケジュール生成処理（ステップＳ１００４）を説明するフローチャートである。
【００７８】
まず、スケジュール情報生成部１０１は、ステップＳ１００３で生成した空き時間リストの先頭の空き時間情報を取得する（図２２ステップＳ１３０１）。スケジュール情報生成部１０１は、空き時間情報を取得できた場合（ステップＳ１３０２において判定ＹＥＳ）、ＴＯＤＯスケジュール割当判断処理（ステップＳ１３０３）を実行する。また、空き時間情報を取得できなかった場合、スケジュール情報生成部１０１は、ＴＯＤＯスケジュール生成処理を終了する。
ＴＯＤＯスケジュール割当判断処理（ステップＳ１３０３）は、ＴＯＤＯ情報と空き時間情報とを基にＴＯＤＯにスケジュールを割り当てる処理である。図２３はＴＯＤＯスケジュール割当判断処理（ステップＳ１３０３）を説明するフローチャートである。
【００７９】
スケジュール情報生成部１０１は、ステップＳ１００１で取得したＴＯＤＯ情報に記録された割当済工数の値を各種情報一時記憶部２０２に格納する（図２３ステップＳ１４０１）。続いて、スケジュール情報生成部１０１は、ステップＳ１３０１で取得した空き時間情報に記録された割当時間が、ステップＳ１００１で取得したＴＯＤＯ情報に記録された予想工数と同ＴＯＤＯ情報に記録された割当済工数との差以上かどうかを評価する（ステップＳ１４０２）。
【００８０】
スケジュール情報生成部１０１は、空き時間情報に記録された割当時間が、ＴＯＤＯ情報に記録された予想工数と割当済工数との差以上である場合、割当候補時間を、予想工数−割当済工数、すなわちＴＯＤＯ情報に記録された予想工数と割当済工数との差の時間とする（ステップＳ１４０３）。ここで、割当候補時間とは、割当予定の時間を意味している。
【００８１】
また、スケジュール情報生成部１０１は、空き時間情報に記録された割当時間が、ＴＯＤＯ情報に記録された予想工数と割当済工数との差未満である場合、割当候補時間を、空き時間情報に記録された割当時間とする（ステップＳ１４０４）。
そして、スケジュール情報生成部１０１は、ステップＳ１００１で取得したＴＯＤＯ情報に記録された割当済工数に割当候補時間を加算し、ＴＯＤＯ情報の割当済工数を更新する（ステップＳ１４０５）。
【００８２】
次に、スケジュール情報生成部１０１は、ステップＳ１４０３またはＳ１４０４で決定した割当候補時間がステップＳ１００１で取得したＴＯＤＯ情報に記録された実行最小時間以上かどうかを評価する（ステップＳ１４０６）。スケジュール情報生成部１０１は、ステップＳ１４０６において割当候補時間がＴＯＤＯ情報に記録された実行最小時間より短い場合、ステップＳ１４０１で各種情報一時記憶部２０２に格納しておいた割当済工数の値を用いて、ステップＳ１４０５で更新したＴＯＤＯ情報の割当済工数をＴＯＤＯスケジュール割当判断処理開始時の値に戻し（ステップＳ１４１０）、ステップＳ１４１１に進む。この処理は、割当候補時間がＴＯＤＯ情報に記録された実行最小時間に満たないため、ＴＯＤＯに空き時間を割り当てできず、スケジュールを作成できなかったことを意味する。この場合は、空き時間リストの次の空き時間情報についてスケジュールを作成できるかどうかを判断することになる。
【００８３】
また、スケジュール情報生成部１０１は、ステップＳ１４０６において割当候補時間がＴＯＤＯ情報に記録された実行最小時間以上の場合、このＴＯＤＯ情報に記録された予想工数とＴＯＤＯ情報に記録された割当済工数との差が、ＴＯＤＯ情報に記録された実行最小時間以上かどうかを評価すると共に、ＴＯＤＯ情報に記録された予想工数とＴＯＤＯ情報に記録された割当済工数との差が０かどうかを評価する（ステップＳ１４０７）。
【００８４】
続いて、スケジュール情報生成部１０１は、ステップＳ１４０７においてＴＯＤＯ情報に記録された予想工数とＴＯＤＯ情報に記録された割当済工数との差が、ＴＯＤＯ情報に記録された実行最小時間以上と判定した場合、またはＴＯＤＯ情報に記録された予想工数とＴＯＤＯ情報に記録された割当済工数との差が０と判定した場合、ＴＯＤＯスケジュール作成による人の追加疲労度を疲労属性毎に算出する（ステップＳ１４０８）。具体的には、スケジュール情報生成部１０１は、ＴＯＤＯ情報に記録された業務種別ＩＤを基に業務種別疲労情報記憶部２１０を参照し、業務種別ＩＤに対応する単位時間当たりの肉体疲労度と頭脳疲労度とを取得し、取得した単位時間当たりの肉体疲労度に割当候補時間を掛けることでＴＯＤＯスケジュール作成による人の肉体疲労度を算出し、取得した単位時間当たりの頭脳疲労度に割当候補時間を掛けることでＴＯＤＯスケジュール作成による人の頭脳疲労度を算出する。
【００８５】
次に、一日割当疲労情報判定部１０４は、肉体疲労または頭脳疲労のいずれかの疲労属性を選択し（ステップＳ１４１２）、選択した疲労属性について現在の一日疲労度を一日疲労情報記憶部２０８から取得し、取得した一日疲労度とＴＯＤＯスケジュール作成による選択疲労属性の追加疲労度との和が、選択疲労属性の一日疲労度閾値以下であるかどうかを評価する（ステップＳ１４１３）。ここで、選択疲労属性の一日疲労度閾値は、選択疲労属性について一日あたりに割り当て可能な疲労度の閾値であり、この値は疲労度閾値情報記憶部２０９より取得する。一日割当疲労情報判定部１０４は、すべての疲労属性について処理を実行したかどうかを判定し（ステップＳ１４１４）、処理していない疲労属性が存在する場合にはステップＳ１４１２に戻る。こうして、すべての疲労属性について、ステップＳ１４１３の判定を行う。
【００８６】
続いて、一日割当疲労情報判定部１０４は、ステップＳ１４０８で算出したＴＯＤＯスケジュール作成による人の肉体疲労度と頭脳疲労度とを加算することで、ＴＯＤＯスケジュール作成による人の合計疲労度を算出し、生成されたスケジュール情報について現在の一日の合計疲労度を一日疲労情報記憶部２０８から取得し、取得した合計疲労度とＴＯＤＯスケジュール作成による合計疲労度との和が、合計疲労度の一日疲労度閾値以下であるかどうかを評価する（ステップＳ１４１５）。ここで、合計疲労度の一日疲労度閾値は、合計疲労度について一日あたりに割り当て可能な疲労度の閾値であり、この値は疲労度閾値情報記憶部２０９より取得する。
【００８７】
スケジュール情報生成部１０１は、ステップＳ１４０７においてＴＯＤＯ情報に記録された予想工数とＴＯＤＯ情報に記録された割当済工数との差が、ＴＯＤＯ情報に記録された実行最小時間未満で、かつＴＯＤＯ情報に記録された予想工数とＴＯＤＯ情報に記録された割当済工数との差が０でない場合、あるいはステップＳ１４１３において少なくとも一つの疲労属性について一日疲労度とＴＯＤＯスケジュール作成による追加疲労度との和が疲労属性の一日疲労度閾値より大きい場合、あるいはステップＳ１４１５において合計疲労度とＴＯＤＯスケジュール作成による合計疲労度との和が合計疲労度の一日疲労度閾値より大きい場合、ＴＯＤＯ情報に記録された割当済工数および割当候補時間からそれぞれ単位時間を引いてＴＯＤＯ情報を更新する（ステップＳ１４０９）。この単位時間は通常１時間として設定するが、自由に設定することができる。スケジュール情報生成部１０１は、ステップＳ１４０９の処理後にステップＳ１４０６に戻る。
【００８８】
スケジュール情報生成部１０１は、ステップＳ１４１０においてＴＯＤＯ情報の割当済工数の値を元に戻した場合、あるいはステップＳ１４１５において現在の一日疲労度とＴＯＤＯスケジュール作成による追加疲労度との和が一日疲労度閾値以下である場合、各種情報一時記憶処理（ステップＳ１４１１）を実行する。各種情報一時記憶処理（ステップＳ１４１１）は、スケジュール情報とＴＯＤＯ情報と空き時間情報と疲労情報とを算出して一時的に記憶する処理である。図２４は各種情報一時記憶処理（ステップＳ１４１１）を説明するフローチャートである。
【００８９】
各種情報一時記憶処理において、スケジュール情報生成部１０１は、スケジュール情報一時記憶処理（図２４ステップＳ１５０１）を実行する。スケジュール情報一時記憶処理（ステップＳ１５０１）は、スケジュール情報を算出し、一時的に記憶する処理である。図２５はスケジュール情報一時記憶処理（ステップＳ１５０１）を説明するフローチャートである。
【００９０】
スケジュール情報一時記憶処理において、スケジュール情報生成部１０１は、スケジュール時刻算出部１０３にスケジュール時刻決定処理（図２５ステップＳ１６０１）を実行させる。スケジュール時刻決定処理（ステップＳ１６０１）は、ＴＯＤＯ情報から生成されたスケジュール情報の前後のスケジュール情報に記録された疲労情報を用いて、スケジュール開始時刻とスケジュール終了時刻とを決定する処理である。図２６はスケジュール時刻決定処理（ステップＳ１６０１）を説明するフローチャートである。
【００９１】
まず、スケジュール時刻算出部１０３は、ステップＳ１３０１の処理によってスケジュール情報記憶部２０１から取得した空き時間情報が示す空き時間の直前のスケジュール情報をスケジュール情報記憶部２０１から取得すると共に、空き時間の直後のスケジュール情報をスケジュール情報記憶部２０１から取得する（図２６ステップＳ１７０１）。空き時間の直前のスケジュール情報とは、空き時間の開始時刻とスケジュール情報に記録された終了時刻とが一致するスケジュール情報のことであり、空き時間の直後のスケジュール情報とは、空き時間情報の終了時刻とスケジュール情報に記録された開始時刻とが一致するスケジュール情報のことである。なお、スケジュール時刻算出部１０３は、空き時間の直前または直後のスケジュール情報が存在しない場合、存在しないスケジュール情報については取得しないものとする。
【００９２】
続いて、スケジュール時刻算出部１０３は、空き時間の直前のスケジュール情報に記録された合計疲労度が空き時間の直後のスケジュール情報に記録された合計疲労度以下かどうかを評価する（ステップＳ１７０２）。スケジュール時刻算出部１０３は、空き時間の直前のスケジュール情報に記録された合計疲労度が空き時間の直後のスケジュール情報に記録された合計疲労度以下の場合、ステップＳ１４０１〜Ｓ１４０８の処理で決定した割当候補時間をＴＯＤＯ情報から生成されるスケジュール情報に記録する割当時間とし、空き時間の直前のスケジュール情報に記録された終了時刻をＴＯＤＯ情報から生成されるスケジュール情報に記録する開始時刻とし、この開始時刻と割当候補時間とを足した時刻をＴＯＤＯ情報から生成されるスケジュール情報に記録する終了時刻とする（ステップＳ１７０３）。
【００９３】
また、スケジュール時刻算出部１０３は、空き時間の直前のスケジュール情報に記録された合計疲労度が空き時間の直後のスケジュール情報に記録された合計疲労度より大きい場合、ステップＳ１４０１〜Ｓ１４０８の処理で決定した割当候補時間をＴＯＤＯ情報から生成されるスケジュール情報に記録する割当時間とし、空き時間の直後のスケジュール情報に記録された開始時刻をＴＯＤＯ情報から生成されるスケジュール情報に記録する終了時刻とし、この終了時刻から割当候補時間を引いた時刻をＴＯＤＯ情報から生成されるスケジュール情報に記録する開始時刻とする（ステップＳ１７０４）。
【００９４】
次に、スケジュール情報生成部１０１は、空き時間情報処理部１０８に空き時間更新処理（ステップＳ６０５）を実行させる。この空き時間更新処理（ステップＳ６０５）については前述したので、説明は省略する。以上で、スケジュール時刻決定処理（ステップＳ１６０１）が終了する。
【００９５】
次に、スケジュール情報生成部１０１は、ＴＯＤＯ情報から生成されるスケジュール情報に記録するスケジュール種別を「ＴＯＤＯ」とする（図２５ステップＳ１６０２）。続いて、スケジュール情報生成部１０１は、スケジュール疲労度算出処理（ステップＳ３０４）を実行し、ＴＯＤＯ情報から生成されるスケジュール情報に、肉体疲労度と頭脳疲労度と合計疲労度の情報を追加する。このスケジュール疲労度算出処理（ステップＳ３０４）については前述したので、説明は省略する。
【００９６】
最後に、スケジュール情報生成部１０１は、ステップＳ１６０１，Ｓ１６０２，Ｓ３０４の処理によってＴＯＤＯ情報から生成したスケジュール情報を各種情報一時記憶部２０２に格納する（ステップＳ１６０３）。以上で、スケジュール情報一時記憶処理（ステップＳ１５０１）が終了する。
【００９７】
次に、スケジュール情報生成部１０１は、一日疲労度一時記憶処理（図２４ステップＳ１５０２）を行う。一日疲労度一時記憶処理（ステップＳ１５０２）は、スケジュール情報作成後の各種一日疲労度を算出し、一時記憶する処理である。図２７は一日疲労度一時記憶処理（ステップＳ１５０２）を説明するフローチャートである。
【００９８】
スケジュール情報生成部１０１は、ステップＳ１５０１で生成したスケジュール情報に記録された開始時刻と終了時刻を基に、スケジュールが実施される対象日を求め、各種情報一時記憶部２０２に記憶されている当該対象日の各種一日疲労度（肉体疲労度と頭脳疲労度と合計疲労度）を取得する（図２７ステップＳ１８０１）。なお、スケジュール情報生成部１０１は、各種情報一時記憶部２０２に対象日の各種一日疲労度が記憶されていない場合、一日疲労情報記憶部２０８から対象日の各種一日疲労度を取得する。
【００９９】
続いて、スケジュール情報生成部１０１は、すべての疲労属性の中からいずれかの一つの疲労属性を選択する（ステップＳ１８０２）。スケジュール情報生成部１０１は、ステップＳ１８０１で取得した対象日の選択疲労属性の一日疲労度に、ステップＳ１５０１で生成したスケジュール情報に記録された当該疲労属性の疲労度を加算する（ステップＳ１８０３）。スケジュール情報生成部１０１は、すべての疲労属性についてステップＳ１８０２，Ｓ１８０３の処理を実行したかどうかを判定し（ステップＳ１８０４）、処理していない疲労属性が存在する場合にはステップＳ１８０２に戻る。こうして、すべての疲労属性について、ステップＳ１８０２，Ｓ１８０３の処理が実行される。
【０１００】
最後に、スケジュール情報生成部１０１は、ステップＳ１８０１〜Ｓ１８０４の処理で算出した、対象日の各種一日疲労度を各種情報一時記憶部２０２に格納する（ステップＳ１８０５）。以上で、一日疲労度一時記憶処理（ステップＳ１５０２）、各種情報一時記憶処理（ステップＳ１４１１）、およびＴＯＤＯスケジュール割当判断処理（ステップＳ１３０３）が終了する。
【０１０１】
次に、スケジュール情報生成部１０１は、ステップＳ１００１で取得したＴＯＤＯ情報に記録された予想工数と同ＴＯＤＯ情報に記録された割当済工数とを比較して、このＴＯＤＯ情報のスケジュール割当が完了したかどうかを判定する（図２２ステップＳ１３０４）。スケジュール情報生成部１０１は、ＴＯＤＯ情報に記録された予想工数と割当済工数とが等しい場合（ステップＳ１３０４において判定ＹＥＳ）、ＴＯＤＯスケジュール生成処理を終了する。
【０１０２】
また、スケジュール情報生成部１０１は、ＴＯＤＯ情報に記録された予想工数と割当済工数とが等しくない場合、ステップＳ１３０１に戻り、ステップＳ１００３で生成した空き時間リストから未処理の空き時間情報を取得する。こうして、ＴＯＤＯ情報に記録された予想工数と割当済工数とが等しくなって、ＴＯＤＯスケジュール生成処理が終わるまで、ステップＳ１３０１〜Ｓ１３０３の処理が実行される。
【０１０３】
次に、スケジュール情報生成部１０１は、ステップＳ１００１で取得したＴＯＤＯ情報からのスケジュール情報の生成が完了したかどうかを判定する（図１９ステップＳ１００５）。スケジュール情報生成部１０１は、スケジュール情報の生成が完了した場合、各種情報更新処理（ステップＳ１００６）を実行し、スケジュール情報の生成が完了していない場合、スケジューリング失敗時処理（ステップＳ１００７）を実行する。
各種情報更新処理（ステップＳ１００６）は、各種情報一時記憶部２０２に記憶された情報を、他の記憶部に格納する処理である。図２８は各種情報更新処理（ステップＳ１００６）を説明するフローチャートである。
【０１０４】
各種情報更新処理（ステップＳ１００６）では、最初に、スケジュール情報記憶処理（ステップＳ１９０１）を行う。スケジュール情報記憶処理（ステップＳ１９０１）は、各種情報一時記憶部２０２に記憶されているスケジュール情報をスケジュール情報記憶部２０１に格納する処理である。すなわち、スケジュール情報生成部１０１は、ステップＳ１００１〜Ｓ１００４の処理によってＴＯＤＯ情報から生成したスケジュール情報をスケジュール情報記憶部２０１に格納する。
【０１０５】
次に、スケジュール情報生成部１０１は、ＴＯＤＯ情報更新処理（ステップＳ１９０２）を行う。ＴＯＤＯ情報更新処理（ステップＳ１９０２）は、ＴＯＤＯ情報記憶部２０６に記憶されているＴＯＤＯ情報を、各種情報一時記憶部２０２に記憶されているＴＯＤＯ情報で更新する処理である。このとき、ＴＯＤＯ情報のＴＯＤＯＩＤが一致するＴＯＤＯ情報について更新処理を行う。つまり、スケジュール情報生成部１０１は、ステップＳ１００１〜Ｓ１００４の処理で取得して変更したＴＯＤＯ情報により、ＴＯＤＯ情報記憶部２０６の該当するＴＯＤＯ情報を更新する。
【０１０６】
次に、スケジュール情報生成部１０１は、空き時間情報更新処理（ステップＳ１９０３）を行う。空き時間情報更新処理（ステップＳ１９０３）は、空き時間情報記憶部２０３に記憶されている空き時間情報を、各種情報一時記憶部２０２に記憶されている空き時間情報で更新する処理である。まず、スケジュール情報生成部１０１は、ステップＳ７０４の処理によって削除された空き時間情報の空き時間ＩＤを各種情報一時記憶部２０２から取得し、この空き時間ＩＤを基に、空き時間情報記憶部２０３から空き時間ＩＤが一致する空き時間情報を削除する。そして、スケジュール情報生成部１０１は、ステップＳ７０３の処理によって各種情報一時記憶部２０２に格納された空き時間情報を、空き時間情報記憶部２０３に格納する。これで、空き時間情報更新処理（ステップＳ１９０３）が終了する。
【０１０７】
次に、スケジュール情報生成部１０１は、一日疲労度更新処理（ステップＳ１９０４）を行う。一日疲労度更新処理（ステップＳ１９０４）は、一日疲労情報記憶部２０８に記憶されている一日疲労情報を、各種情報一時期億部２０２に記憶されている一日疲労情報で更新する処理である。すなわち、スケジュール情報生成部１０１は、ステップＳ１００１〜Ｓ１００４の処理で算出した各種一日疲労度（肉体疲労度と頭脳疲労度と合計疲労度）の情報により、一日疲労情報記憶部２０８に記憶された対象日の各種一日疲労度を更新する。以上で、各種情報更新処理（ステップＳ１００６）が終了する。
【０１０８】
前述のとおり、スケジュール情報生成部１０１は、スケジュール情報の生成が完了していない場合、スケジューリング失敗時処理（ステップＳ１００７）を実行する。スケジューリング失敗時処理（ステップＳ１００７）においては、スケジューリングに失敗したときに、スケジューリングに失敗したＴＯＤＯの期限をいつにすればスケジューリングが成功するかを利用者に提案し、利用者にＴＯＤＯ期限の変更を促す。そして、スケジューリングが成功するように利用者がＴＯＤＯ期限を変更した場合は、自動スケジューリングを行い、利用者がＴＯＤＯ期限を変更しない場合は、スケジュールを手動で作成することの出来るユーザインタフェース（UI）を利用者に提示して、利用者にスケジュールを作成してもらう形でスケジューリングを行う。図２９はスケジューリング失敗時処理（ステップＳ１００７）を説明するフローチャートである。
【０１０９】
まず、スケジュール情報生成部１０１は、ステップＳ１００１〜Ｓ１００４の処理によって各種情報一時記憶部２０２に記憶された空き時間情報とＴＯＤＯ情報とスケジュール情報と一日疲労情報とを消去する（図２９ステップＳ２００１）。続いて、スケジュール情報生成部１０１は、人が疲労することなくＴＯＤＯを実行可能なスケジュールを作成するために、必要なＴＯＤＯ期限を算出する提案期限算出処理（ステップＳ２００２）を実行する。図３０は提案期限算出処理（ステップＳ２００２）を説明するフローチャートである。
【０１１０】
スケジュール情報生成部１０１は、ステップＳ１００５においてスケジューリングが失敗したと判定したＴＯＤＯ情報を各種情報一時記憶部２０２に格納した上で、このＴＯＤＯ情報に記録されたＴＯＤＯ期限を一日先にずらす（ステップＳ２１０１）。続いて、スケジュール情報生成部１０１は、空き時間情報処理部１０８に空き時間リスト生成処理（ステップＳ１００３）を実行させる。この空き時間リスト生成処理（ステップＳ１００３）については前述したので、説明は省略する。さらに、スケジュール情報生成部１０１は、ＴＯＤＯスケジュール生成処理（ステップＳ１００４）を実行する。このＴＯＤＯスケジュール生成処理（ステップＳ１００４）についても前述したので、説明は省略する。
【０１１１】
次に、スケジュール情報生成部１０１は、ＴＯＤＯ情報からのスケジュール情報の生成が完了したかどうかを判定する（ステップＳ２１０２）。スケジュール情報生成部１０１は、スケジュール情報の生成が完了していない場合、ステップＳ２１０１に戻り、ステップＳ２１０２においてスケジューリングが失敗したと判定したＴＯＤＯ情報のＴＯＤＯ期限をさらに一日先にずらす。こうして、スケジュール情報の生成が完了するまで、ステップＳ２１０２，Ｓ１００３，Ｓ１００４の処理が実行される。以上で、提案期限算出処理（ステップＳ２００２）が終了する。
【０１１２】
次に、スケジュール情報生成部１０１は、スケジューリング手法決定ＵＩ（すなわち、スケジューリング手法の入力を促す画面）を表示部３０１に表示させる（ステップＳ２００３）。スケジューリング手法決定ＵＩは、提案期限算出処理で生成したＴＯＤＯ情報を自動スケジューリングできる期限を提示して、スケジュール手法の入力を促すものである。ここで、提案した期限でＴＯＤＯ情報のＴＯＤＯ期限を設定し直してスケジューリングシステムによる自動スケジューリングを続けるか、あるいはＴＯＤＯ情報のＴＯＤＯ期限を変更せずに手動でＴＯＤＯのスケジュールを作成するかを利用者に選択させる。
【０１１３】
利用者は、入力部３０３を操作し、スケジューリングシステムの提案に沿ってＴＯＤＯ期限を変更するか否かの回答を入力する（ステップＳ２００４）。スケジュール情報生成部１０１は、利用者がスケジューリングシステムの提案に沿ってＴＯＤＯ期限を変更することを選択した場合、各種情報更新処理（ステップＳ１００６）を実行し、スケジューリング失敗時処理（ステップＳ１００７）を終了する。この各種情報更新処理（ステップＳ１００６）については前述したので、説明は省略する。
【０１１４】
また、スケジュール情報生成部１０１は、ステップＳ２００４において利用者がＴＯＤＯ期限を変更せずに手動でＴＯＤＯのスケジュールを作成することを選択した場合、利用者が手動でＴＯＤＯスケジュールを作成することのできるスケジュール手動作成ＵＩ（すなわち、スケジュールの作成画面）を表示部３０１に表示させる（ステップＳ２００５）。利用者は、入力部３０３を操作し、表示された画面上でＴＯＤＯの手動スケジューリングを行う。スケジュール手動作成ＵＩでは、スケジュールの開始時刻、終了時刻、作成種別を設定することができる。作成種別については、スケジュールの時間を固定にしたいときは「手動」とし、スケジュールの時間を可変にしたいときは「自動」とする。
【０１１５】
次に、スケジュール情報生成部１０１は、手動でスケジュールが作成された後に、手動割当スケジュール情報記憶処理（ステップＳ２００６）を実行する。手動割当スケジュール情報記憶処理（ステップＳ２００６）は、手動割当されたスケジュール情報を基に、ＴＯＤＯ情報とスケジュール情報と一日疲労度情報と空き時間情報とを更新・記憶する処理である。図３１は手動割当スケジュール情報記憶処理（ステップＳ２００６）を説明するフローチャートである。
【０１１６】
まず、スケジュール情報生成部１０１は、利用者が手動で作成したすべてのスケジュール情報について処理を実行したかどうかを判定する（図３１ステップＳ２２０１）。ここでは、未だ処理を行っていないので、ステップＳ２２０２に進む。スケジュール情報生成部１０１は、利用者が手動で作成したスケジュール情報を１つ取得する（ステップＳ２２０２）。続いて、スケジュール情報生成部１０１は、取得したスケジュール情報について各種情報一時記憶処理（ステップＳ１４１１）を実行する。この各種情報一時記憶処理（ステップＳ１４１１）については前述したので、説明は省略する。
【０１１７】
次に、スケジュール情報生成部１０１は、各種情報更新処理（ステップＳ１００６）を実行する。この各種情報更新処理（ステップＳ１００６）については前述したので、説明は省略する。スケジュール情報生成部１０１は、利用者が手動で作成したすべてのスケジュール情報についてステップＳ２２０２，Ｓ１４１１，Ｓ１００６の処理を実行したかどうかを判定し（ステップＳ２２０１）、処理を行っていないスケジュールが存在する場合は、ステップＳ２２０２に進む。こうして、利用者が手動で作成したすべてのスケジュール情報について、ステップＳ２２０２，Ｓ１４１１，Ｓ１００６の処理が実行される。以上で、手動割当スケジュール情報記憶処理（ステップＳ２００６）およびスケジューリング失敗時処理（ステップＳ１００７）が終了する。
【０１１８】
次に、スケジュール情報生成部１０１は、図１９の各種情報更新処理（ステップＳ１００６）の終了後、あるいはスケジューリング失敗時処理（ステップＳ１００７）の終了後、ＴＯＤＯ情報リストから未処理のＴＯＤＯ情報を取得する（図１９ステップＳ１００１）。こうして、ＴＯＤＯ情報リストに含まれるすべてのＴＯＤＯ情報について、ステップＳ１００１〜Ｓ１００７の処理が実行される。
本実施の形態によれば、一日あたりの各種疲労度が対応する疲労度閾値より低いスケジュールを作成することができる。
【０１１９】
次に、利用者がカレンダースケジュールを新規作成した場合の動作について説明する。新規カレンダースケジュール情報作成処理は、利用者が新規にカレンダースケジュールを作成したときに実行される処理である。図３２は新規カレンダースケジュール情報作成処理を説明するフローチャートである。新規カレンダースケジュール情報作成処理では、最初にスケジュール情報削除処理（図３２ステップＳ２３０１）を実行する。図３３はスケジュール情報削除処理（ステップＳ２３０１）を説明するフローチャートである。
【０１２０】
スケジュール情報削除処理において、スケジュール情報処理部１０２は、スケジュール情報記憶部２０１に記憶されているスケジュール情報のうち、作成種別が「自動」となっているスケジュール情報を削除する（図３３ステップＳ２４０１）。以上で、スケジュール情報削除処理（ステップＳ２３０１）が終了する。
【０１２１】
次に、スケジューリングシステムは、スケジューリング処理を行う（ステップＳ２３０２）。このスケジューリング処理は、図１１〜図３１を用いて説明した処理である。以上で、新規カレンダースケジュール情報作成処理が終了する。
【０１２２】
次に、利用者がＴＯＤＯを新規作成した場合の動作について説明する。新規ＴＯＤＯ情報作成処理は、利用者が新規にＴＯＤＯを作成したときに実行される処理である。図３４は新規ＴＯＤＯ情報作成処理を説明するフローチャートである。
【０１２３】
新規ＴＯＤＯ情報作成処理では、最初に、利用者はすべてのＴＯＤＯについてスケジューリングをし直すか、新規に作成したＴＯＤＯに関してのみ自動スケジューリングを行うかを選択する（図３４ステップＳ２５０１）。すべてのＴＯＤＯについてスケジューリングし直す場合、スケジュール情報処理部１０２がスケジュール情報削除処理（ステップＳ２３０１）を行った後に、図１１〜図３１を用いて説明したスケジューリング処理を行う（ステップＳ２３０２）。
【０１２４】
また、新規に作成されたＴＯＤＯに関してのみ自動スケジューリングを行う場合、この新規に作成されたＴＯＤＯに関してスケジュール情報生成処理（ステップＳ２０５）を実行する。スケジュール情報生成処理（ステップＳ２０５）については前述したので、説明は省略する。この際、ＴＯＤＯ情報は新規に作成されたＴＯＤＯ情報のみとなる。また、このＴＯＤＯ情報は、各種情報一時記憶部２０２に記憶される。以上で、新規ＴＯＤＯ情報作成処理が終了する。
【０１２５】
次に、利用者がカレンダースケジュールを削除した場合の動作について説明する。カレンダースケジュール情報削除処理は、利用者がカレンダースケジュールを削除したときに実行される処理である。図３５はカレンダースケジュール情報削除処理を説明するフローチャートである。
【０１２６】
カレンダースケジュール情報削除処理では、利用者は、再スケジューリングをするかどうかを選択する（図３５ステップＳ２６０１）。再スケジューリングを実行する場合、スケジュール情報処理部１０２がスケジュール情報削除処理（ステップＳ２３０１）を行った後に、図１１〜図３１を用いて説明したスケジューリング処理を行う（ステップＳ２３０２）。また、再スケジューリングを実行しない場合、スケジュール情報処理部１０２は、削除されたカレンダースケジュールに対応するスケジュール情報をスケジュール情報記憶部２０１から削除する（ステップＳ２６０３）。
【０１２７】
次に、利用者がＴＯＤＯを削除した場合の動作について説明する。ＴＯＤＯ情報削除処理は、利用者がＴＯＤＯを削除したときに実行される処理である。図３６はＴＯＤＯ情報削除処理を説明するフローチャートである。
【０１２８】
ＴＯＤＯ情報削除処理では、利用者は、再スケジューリングをするかどうかを選択する（図３６ステップＳ２７０１）。再スケジューリングを実行する場合、スケジュール情報処理部１０２がスケジュール情報削除処理（ステップＳ２３０１）を行った後に、図１１〜図３１を用いて説明したスケジューリング処理を行う（ステップＳ２３０２）。また、再スケジューリングを実行しない場合、スケジュール情報処理部１０２は、削除されたＴＯＤＯに対応するスケジュール情報をスケジュール情報記憶部２０１から削除する（ステップＳ２７０３）。
【０１２９】
なお、カレンダースケジュールの変更とＴＯＤＯ情報の変更に関しては、変更したい情報を削除した後に新規作成することで実現できる。
また、第２の実施の形態では、疲労属性の例として、肉体疲労、頭脳疲労を挙げているが、これに限るものではなく、例えばストレス疲労など他の疲労属性を用いてもよい。
【０１３０】
［第３の実施の形態］
第１、第２の実施の形態のスケジューリングシステムは、ＣＰＵ、メモリおよび外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。
図３７はこのようなコンピュータの構成例を示すブロック図である。図３７において、４００はＣＰＵ、４０１はＲＡＭ、４０２はＲＯＭ、４０３，４０４はインターフェイス装置（以下、Ｉ／Ｆと略する）である。
【０１３１】
Ｉ／Ｆ４０３は、入力部３０３からのデータを受信する。ＣＰＵ４００は、Ｉ／Ｆ４０４を通じて表示部３０１に情報を表示させる。
このようなコンピュータにおいて、本発明のスケジューリング方法を実現させるためのスケジューリングプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供され、ＲＡＭ４０１あるいは外部のハードディスク装置等のメモリに格納される。ＣＰＵ４００は、格納されたプログラムに従って第１、第２の実施の形態で説明した処理を実行する。
【０１３２】
なお、第１〜第３の実施の形態では、スケジューリングの対象となる人とスケジューリングシステムを操作してスケジュールを作成する人とが同一人物であることを想定しているが、これに限るものではなく、スケジューリングシステムを操作する人が他人のスケジュールを作成する場合でも本発明を適用することができる。
【産業上の利用可能性】
【０１３３】
本発明は、従業員等のスケジュールを作成するスケジューリングシステムに適用することができる。
【図面の簡単な説明】
【０１３４】
【図１】本発明の第１の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態のスケジューリングシステムの動作を示すフローチャートである。
【図３】本発明の第２の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。
【図４】本発明の第２の実施の形態においてスケジュール情報記憶部に記憶されるスケジュール情報の例を示す図である。
【図５】本発明の第２の実施の形態においてＴＯＤＯ情報記憶部に記憶されるＴＯＤＯ情報の例を示す図を示す図である。
【図６】本発明の第２の実施の形態においてカレンダースケジュール情報記憶部に記憶されるカレンダースケジュール情報の例を示す図である。
【図７】本発明の第２の実施の形態において一日疲労情報記憶部に記憶される各種疲労度の例を示す図である。
【図８】本発明の第２の実施の形態において業務種別疲労情報記憶部に記憶される単位時間当たりの各種疲労度の例を示す図である。
【図９】本発明の第２の実施の形態において空き時間情報記憶部に記憶される空き時間情報の例を示す図である。
【図１０】本発明の第２の実施の形態において疲労度閾値情報記憶部に記憶される各種疲労度閾値の例を示す図である。
【図１１】本発明の第２の実施の形態におけるスケジューリング処理を説明するローチャートである。
【図１２】本発明の第２の実施の形態におけるカレンダースケジュール読込処理を説明するフローチャートである。
【図１３】本発明の第２の実施の形態におけるスケジュール疲労度算出処理を説明するフローチャートである。
【図１４】本発明の第２の実施の形態における各種一日疲労度算出処理を説明するフローチャートである。
【図１５】本発明の第２の実施の形態における空き時間算出処理を説明するフローチャートである。
【図１６】本発明の第２の実施の形態における空き時間更新処理を説明するフローチャートである。
【図１７】本発明の第２の実施の形態におけるスケジュール生成順決定処理を説明するフローチャートである。
【図１８】本発明の第２の実施の形態におけるＴＯＤＯ期限再設定処理を説明するフローチャートである。
【図１９】本発明の第２の実施の形態におけるスケジュール情報生成処理を説明するフローチャートである。
【図２０】本発明の第２の実施の形態における空き時間リスト生成処理を説明するフローチャートである。
【図２１】本発明の第２の実施の形態における優先割当疲労属性算出処理を説明するフローチャートである。
【図２２】本発明の第２の実施の形態におけるＴＯＤＯスケジュール生成処理を説明するフローチャートである。
【図２３】本発明の第２の実施の形態におけるＴＯＤＯスケジュール割当判断処理を説明するフローチャートである。
【図２４】本発明の第２の実施の形態における各種情報一時記憶処理を説明するフローチャートである。
【図２５】本発明の第２の実施の形態におけるスケジュール情報一時記憶処理を説明するフローチャートである。
【図２６】本発明の第２の実施の形態におけるスケジュール時刻決定処理を説明するフローチャートである。
【図２７】本発明の第２の実施の形態における一日疲労度一時記憶処理を説明するフローチャートである。
【図２８】本発明の第２の実施の形態における各種情報更新処理を説明するフローチャートである。
【図２９】本発明の第２の実施の形態におけるスケジューリング失敗時処理を説明するフローチャートである。
【図３０】本発明の第２の実施の形態における提案期限算出処理を説明するフローチャートである。
【図３１】本発明の第２の実施の形態における手動割当スケジュール情報記憶処理を説明するフローチャートである。
【図３２】本発明の第２の実施の形態における新規カレンダースケジュール情報作成処理を説明するフローチャートである。
【図３３】本発明の第２の実施の形態におけるスケジュール情報削除処理を説明するフローチャートである。
【図３４】本発明の第２の実施の形態における新規ＴＯＤＯ情報作成処理を説明するフローチャートである。
【図３５】本発明の第２の実施の形態におけるカレンダースケジュール情報削除処理を説明するフローチャートである。
【図３６】本発明の第２の実施の形態におけるＴＯＤＯ情報削除処理を説明するフローチャートである。
【図３７】本発明の第３の実施の形態におけるコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１３５】
１０１…スケジュール情報生成部、１０２…スケジュール情報処理部、１０３…スケジュール時刻算出部、１０４…一日割当疲労情報判定部、１０５…疲労情報処理部、１０６…ＴＯＤＯ情報処理部、１０７…カレンダースケジュール情報処理部、１０８…空き時間情報処理部、１０９…優先割当疲労属性算出部、２０１…スケジュール情報記憶部、２０２…各種情報一時記憶部、２０３…空き時間情報記憶部、２０４…休憩時間情報記憶部、２０５…勤務時間情報記憶部、２０６…ＴＯＤＯ情報記憶部、２０７…カレンダースケジュール情報記憶部、２０８…一日疲労情報記憶部、２０９…疲労度閾値情報記憶部、２１０…業務種別疲労情報記憶部、３０１…表示部、３０２…ネットワーク、３０３…入力部。
【図１】
2010140305.tif 000003
【図２】
2010140305.tif 000004
【図３】
2010140305.tif 000005
【図４】
2010140305.tif 000006
【図５】
2010140305.tif 000007
【図６】
2010140305.tif 000008
【図７】
2010140305.tif 000009
【図８】
2010140305.tif 000010
【図９】
2010140305.tif 000011
【図１０】
2010140305.tif 000012
【図１１】
2010140305.tif 000013
【図１２】
2010140305.tif 000014
【図１３】
2010140305.tif 000015
【図１４】
2010140305.tif 000016
【図１５】
2010140305.tif 000017
【図１６】
2010140305.tif 000018
【図１７】
2010140305.tif 000019
【図１８】
2010140305.tif 000020
【図１９】
2010140305.tif 000021
【図２０】
2010140305.tif 000022
【図２１】
2010140305.tif 000023
【図２２】
2010140305.tif 000024
【図２３】
2010140305.tif 000025
【図２４】
2010140305.tif 000026
【図２５】
2010140305.tif 000027
【図２６】
2010140305.tif 000028
【図２７】
2010140305.tif 000029
【図２８】
2010140305.tif 000030
【図２９】
2010140305.tif 000031
【図３０】
2010140305.tif 000032
【図３１】
2010140305.tif 000033
【図３２】
2010140305.tif 000034
【図３３】
2010140305.tif 000035
【図３４】
2010140305.tif 000036
【図３５】
2010140305.tif 000037
【図３６】
2010140305.tif 000038
【図３７】
2010140305.tif 000039