JP2010140305A - スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム - Google Patents

スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム Download PDF

Info

Publication number
JP2010140305A
JP2010140305A JP2008316692A JP2008316692A JP2010140305A JP 2010140305 A JP2010140305 A JP 2010140305A JP 2008316692 A JP2008316692 A JP 2008316692A JP 2008316692 A JP2008316692 A JP 2008316692A JP 2010140305 A JP2010140305 A JP 2010140305A
Authority
JP
Japan
Prior art keywords
information
fatigue
schedule
todo
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008316692A
Other languages
English (en)
Inventor
shinichi Tobita
伸一 飛田
Hidekazu Sakagami
秀和 坂上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008316692A priority Critical patent/JP2010140305A/ja
Publication of JP2010140305A publication Critical patent/JP2010140305A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

【課題】同一種類の疲労が連続して蓄積しないようにスケジューリングを行う。
【解決手段】スケジュール情報記憶部201は、疲労属性毎の人の疲労度の情報を含むスケジュール情報を記憶する。優先割当疲労属性算出部109は、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる。スケジュール時刻算出部103は、割当可能空き時間のうちTODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、合計疲労度が低いスケジュールに繋がるように、TODOから生成するスケジュールの開始時刻と終了時刻を決定する。スケジュール情報生成部101は、TODOからスケジュール情報を生成する。
【選択図】 図1

Description

本発明は、従業員等のスケジュールを作成するスケジューリングシステム、スケジューリング方法およびスケジューリング用プログラムに係り、特に各種疲労属性の疲労を考慮してスケジュールを作成することができるスケジューリングシステム、スケジューリング方法およびスケジューリングプログラムに関するものである。
疲労を考慮して従業員等のスケジュールを作成・管理するスケジューリングシステムの一例が、特許文献1、非特許文献1に開示されている。特許文献1に開示されたスケジュール管理システムは、検出装置によって検出された従業員の体調データを閾値と比較し、比較結果に基づいて従業員が疲労していると判断された場合、改編後スケジュールデータを作成して提示する。このスケジュール管理システムは、改変前スケジュールデータを記憶し、従業員の体調データを閾値と比較し、比較結果に基づいて改変後スケジュールデータを作成する管理コンピュータと、体調データを検出する検出装置とから構成されている。このスケジュール管理システムのスケジュールデータは、いわゆるシフトスケジュールのデータであり、例えば、日勤、夜勤、休暇等が記録されている。
非特許文献1に開示されたトレインマッチソフトウエア(TrainMatch Software)も従業員等の疲労を考慮したスケジューリングシステムに関するものである。非特許文献1に開示されたシステムは、電車乗務スケジュール作成アプリケーションであり、効率的に乗務員を割り当て、乗務員の疲労を最小にする最適スケジュールを作成する。このシステムでは、電車の運行ダイヤと、運行規則と、従業員情報と、疲労パターン情報とを入力として、個人ごとの疲労を最小にするスケジュールを出力する。疲労パターン情報は、乗務員の勤務スケジュールと睡眠スケジュールより算出される。このシステムのスケジュールデータもいわゆるシフトスケジュールのデータであり、何時から何時までどの電車に乗務する、ということが記録されている。
他の関連技術として、実行しなければならない作業(以下、TODOとする)をスケジュールに展開するシステムの一例が、特許文献2に開示されている。特許文献2に開示されたスケジューリング支援システムは、TODOリストにあるTODOを、スケジュールに展開する手段を提供するものであり、スケジューリングを支援する機能、及び既存の作業割付をシフトして再スケジューリングを手助けする手段を提供するものである。特許文献2に開示されたスケジューリング支援システムは、TODOをサブタスクに分解し、サブタスク毎に展開条件に基づいて個人の作業計画上への作業時間の割付を行って個人の作業計画を作成するスケジューリング支援部と、作業計画を表示するスケジュール表示部とから構成される。
他の観点の関連技術として、広告配信のスケジュールを作成するシステムの一例が、特許文献3に開示されている。特許文献3に開示された広告配信システムは、広告に共通の複数の属性を用意し、広告ごとに属性を数値化して広告データに書き込み、広告データベースに蓄積する。予め配信すべき時間帯が指定されていない広告に対してはそれぞれの属性ごとに重み付けを行い、広告順序スケジュールを作成し、予め配信時間帯と配信頻度が指定されている広告に対してはスケジュール化を行い、配信タイムスケジュールを作成する。そして、広告順序スケジュールと配信タイムスケジュールとをまとめて配信スケジュールとする。
特開2005−56062号公報 特開2006−146530号公報 特開2001−236444号公報 "「疲労リスク管理」プログラム 鉄道会社での活用例",Circadian Technologies Japan, Inc.(CTI-Japan),2006,<http://www.circadian.co.jp/pdf/transit.pdf>
特許文献2、特許文献3に開示されたシステムでは、従業員に同種の疲労が蓄積されるようにスケジュールを作成してしまう可能性があった。従業員に同種の疲労が連続して多量に蓄積されると、蓄積された疲労の回復に時間がかかるという点で問題である。例えば、スケジュールA、スケジュールB、スケジュールC、スケジュールDがあり、スケジュールAとスケジュールBは従業員の肉体が疲労するスケジュール、スケジュールCとスケジュールDは従業員の頭脳が疲労するスケジュールであるとする。特許文献2、特許文献3に開示されたシステムでは、スケジュールA、スケジュールB、スケジュールC、スケジュールDの順に並べる形でスケジュールを作成してしまう可能性がある。その理由は、前後にスケジューリングされているスケジュールに関して評価をする仕組みがないためである。
また、特許文献1、非特許文献1に開示されたシステムでは、あらかじめ従業員の疲労を考慮したスケジュールを作成することはできないという問題点があった。具体的には、これらのシステムでは、スケジューリング時点で「この日は作業を入れ過ぎて従業員が疲れそうだから従業員の疲労を少なくしよう」というスケジュールを作成することはできない。その理由は、スケジュールデータに、そのスケジュールを実行したときに従業員がどの程度疲労するかという予測疲労情報を記憶する仕組みがないからである。したがって、あらかじめ従業員の疲労が少なくなるようにスケジュールを作成することは不可能である。
また、特許文献2、特許文献3に開示されたシステムでは、従業員の一日あたりの疲労量が多過ぎるスケジュールを作成してしまう可能性があった。その理由は、ある一日のスケジュールについて評価する仕組みがないためである。
[発明の目的]
本発明の目的は、一日あたりのスケジュールに関して、同一種類の疲労が連続して蓄積しないようにスケジューリングを行うスケジューリングシステム、スケジューリング方法およびスケジューリングプログラムを提供することにある。
また、本発明の他の目的は、一日あたりの疲労量が予め決められた閾値を超えないようにスケジューリングを行うスケジューリングシステム、スケジューリング方法およびスケジューリングプログラムを提供することにある。
本発明のスケジューリングシステムは、疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段と、前記スケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求め、この空き時間のうちTODOに割当可能な空き時間を抽出する空き時間情報処理手段と、前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出手段と、前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成手段と、前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記TODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記TODOから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出手段と、前記優先割当疲労属性算出手段およびスケジュール時刻算出手段の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記TODOからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成手段とを備えることを特徴とするものである。
また、本発明のスケジューリング方法は、疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める空き時間導出ステップと、前記空き時間のうちTODOに割当可能な空き時間を抽出する空き時間抽出ステップと、前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出ステップと、前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成ステップと、前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記TODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記TODOから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出ステップと、前記優先割当疲労属性算出ステップおよびスケジュール時刻算出ステップの処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記TODOからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成ステップとを備えることを特徴とするものである。
また、本発明のスケジューリングプログラムは、スケジューリング方法の各ステップをコンピュータに実行させることを特徴とするものである。
本発明によれば、優先割当疲労属性算出手段は、スケジュール情報に基づいて、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる優先割当疲労属性とする。スケジュール時刻算出手段は、スケジュール情報に基づいて、割当可能空き時間のうちTODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、TODOから生成するスケジュールの開始時刻と終了時刻を決定する。そして、スケジュール情報生成手段は、優先割当疲労属性算出手段およびスケジュール時刻算出手段の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、TODOからスケジュール情報を生成してスケジュール情報記憶手段に格納する。これにより、本発明では、利用者の疲労が少なくなるスケジュールを作成することができる。その理由は、各種疲労属性の疲労度の情報をスケジュール情報に設定し、その疲労度の情報を基に、割当可能空き時間の直前直後のスケジュールによる人の疲労度を考慮してスケジュール情報を作成するためである。
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の第1の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。
スケジューリングシステムは、疲労属性毎の人の疲労度の情報を含むスケジュール情報を記憶するスケジュール情報記憶部201と、業務種別の情報を含むTODO情報を記憶するTODO情報記憶部206と、業務についての単位時間当たりの各種疲労度を記憶する業務種別疲労情報記憶部210と、利用者に情報を表示する表示部301と、利用者からの入力を受け付ける入力部303と、表示部301および入力部303と他の構成とをつなぐためのネットワーク302とを備えている。
また、スケジューリングシステムは、スケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求め、この空き時間のうちTODOに割当可能な空き時間を抽出し、割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間情報処理部108と、スケジュール情報に基づいて、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出部109と、スケジュール情報に基づいて、割当可能空き時間のうちTODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、TODOから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出部103と、優先割当疲労属性算出部109およびスケジュール時刻算出部103の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、TODOからスケジュール情報を生成してスケジュール情報記憶部201に格納するスケジュール情報生成部101とを備えている。
空き時間情報処理部108は、空き時間情報処理手段と空き時間リスト生成手段とを構成している。ここで、TODOとは、実行しなければならない作業のことであり、空き時間とは、勤務時間のうちスケジュールが割り当てられていない時間のことである。
次に、第1の実施の形態のスケジューリングシステムの動作を説明する。図2は第1の実施の形態のスケジューリングシステムの動作を示すフローチャートである。
スケジュール情報記憶部201は、疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶している。これらのスケジュール情報は、予め日時の決まっている予定から生成される。疲労属性の例としては、肉体疲労、頭脳疲労がある。
まず、空き時間情報処理部108は、スケジュール情報記憶部201からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める(図2ステップS1)。
続いて、空き時間情報処理部108は、スケジュール情報とTODO情報記憶部206に記憶されたTODO情報に基づいて、空き時間のうちTODOに割当可能な空き時間を抽出する(ステップS2)。
優先割当疲労属性算出部109は、スケジュール情報に基づいて、割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を割当可能空き時間に優先的に割り当てる優先割当疲労属性とする(ステップS3)。
空き時間情報処理部108は、割当可能空き時間を割当順に並べ替えた空き時間リストを生成する(ステップS4)。
スケジュール時刻算出部103は、スケジュール情報に基づいて、割当可能空き時間のうちTODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、TODOから生成するスケジュールの開始時刻と終了時刻を決定する(ステップS5)。
最後に、スケジュール情報生成部101は、優先割当疲労属性算出部109およびスケジュール時刻算出部103の処理結果と、業務種別疲労情報記憶部210に予め記憶された業務種別疲労情報に基づいて、TODOからスケジュール情報を生成してスケジュール情報記憶部201に格納する(ステップS6)。
以上の構成により、本実施の形態では、利用者の疲労が少なくなるスケジュールを作成することができる。その理由は、各種疲労属性の疲労度の情報をスケジュール情報に設定し、その疲労度の情報を基に、割当可能空き時間の直前直後のスケジュールによる人の疲労度を考慮してスケジュール情報を作成するためである。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。第2の実施の形態は、第1の実施の形態をより具体的に説明するものである。図3は本発明の第2の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。
スケジューリングシステムは、疲労属性毎の人の疲労度の情報を含むスケジュール情報を記憶するスケジュール情報記憶部201と、各種情報を一時的に記憶する各種情報一時記憶部202と、優先割当疲労属性の情報を含む空き時間情報を記憶する空き時間情報記憶部203と、休憩時間情報を記憶する休憩時間情報記憶部204と、勤務時間情報を記憶する勤務時間情報記憶部205と、業務種別の情報を含むTODO情報を記憶するTODO情報記憶部206と、業務種別をパラメータとして持つカレンダースケジュール情報を記憶するカレンダースケジュール情報記憶部207と、一日の各種疲労度を記憶する一日疲労情報記憶部208と、一日に割り当て可能な各種疲労度閾値を記憶する疲労度閾値情報記憶部209と、業務についての単位時間当たりの各種疲労度を記憶する業務種別疲労情報記憶部210と、利用者に情報を表示する表示部301と、利用者からの入力を受け付ける入力部303と、表示部301および入力部303と他の構成とをつなぐためのネットワーク302とを備えている。
また、スケジューリングシステムは、TODO情報と空き時間情報リストを読み込みTODO情報に関するスケジュールを作成する機能と、スケジュール割当結果の各種一日疲労度を算出する機能と、スケジューリングが失敗したとき再スケジューリングを試みTODOを割り当てることの出来る期限を算出する機能とを持つスケジュール情報生成部101と、スケジュール情報を取得し利用者にスケジュールを操作する手段を提供する機能と、受信したスケジュール情報をスケジュール情報記憶部201に格納する機能と、スケジュール情報記憶部201からスケジュールを削除する機能とを持つスケジュール情報処理部102と、疲労する業務が連続しないようスケジュール時刻を割り当てる機能を持つスケジュール時刻算出部103と、スケジュール情報と疲労度閾値情報と一日疲労情報とを読み込み、スケジュールの割り当てにより、その日の疲労度が閾値を超過しないかを判定する機能を持つ、一日割当疲労情報判定部104と、スケジュール情報を読み込み、スケジュール情報に付加された各種疲労度の情報から一日疲労度を算出する機能と、疲労情報を受け取り、疲労情報を一日疲労情報記憶部208に格納する機能を持つ疲労情報処理部105と、TODO情報を読み込み、スケジュールを生成する順番にTODO情報を並べ替えたTODO情報リストを生成し、生成したTODO情報リストをスケジュール情報生成部101に出力する機能と、TODO情報をTODO情報記憶部206に格納する機能と、利用者にTODO情報を操作する手段を提供する機能とを持つTODO情報処理部106と、カレンダースケジュール情報を読み込みスケジュール情報処理部102にスケジュール情報生成を依頼する機能と、利用者にカレンダースケジュール情報を操作する手段を提供する機能と、入力部303からネットワーク302を介してカレンダースケジュール情報を変更させる情報を受信する機能と、カレンダースケジュール情報をカレンダースケジュール情報記憶部207に格納する機能とを持つカレンダースケジュール情報処理部107と、勤務時間情報と休憩時間情報とを読み込み空き時間を算出する機能と、スケジュール情報と空き時間情報とを読み込み新たな空き時間情報を生成する機能と、TODO情報を読み込み空き時間情報を割当候補順に並べ替えた空き時間リストを生成する機能と、空き時間情報を空き時間情報記憶部203に格納する機能とを持つ空き時間情報処理部108と、空き時間情報と空き時間前後のスケジュール情報とを取得し、空き時間に優先的に割り当てる疲労属性を算出する優先割当疲労属性算出部109とを備えている。
空き時間情報処理部108は、空き時間情報処理手段と空き時間リスト生成手段とを構成している。ここで、カレンダースケジュールとは、スケジューラに登録される、あらかじめ日時の決まっている予定のことである。本実施の形態では、TODOから生成されるスケジュールも扱うので、混同しないようスケジューラに登録されるスケジュールの情報のことをカレンダースケジュール情報と呼ぶこととする。TODOとは、実行しなければならない作業のことであり、空き時間とは、勤務時間のうちスケジュールが割り当てられていない時間のことである。
図4はスケジュール情報記憶部201に記憶されるスケジュール情報の例を示す図、図5はTODO情報記憶部206に記憶されるTODO情報の例を示す図、図6はカレンダースケジュール情報記憶部207に記憶されるカレンダースケジュール情報の例を示す図、図7は一日疲労情報記憶部208に記憶される各種疲労度の例を示す図、図8は業務種別疲労情報記憶部210に記憶される単位時間当たりの各種疲労度の例を示す図、図9は空き時間情報記憶部203に記憶される空き時間情報の例を示す図、図10は疲労度閾値情報記憶部209に記憶される各種疲労度閾値の例を示す図である。
次に、第2の実施の形態のスケジューリングシステムの動作の概要を説明する。まず、カレンダースケジュール情報処理部107は、カレンダースケジュール情報と業務種別疲労情報を用い、カレンダースケジュール情報を、各種疲労属性をパラメータとして持つスケジュール情報に変換しスケジュール情報記憶部201に格納する。
空き時間情報処理部108は、スケジュール情報が割り当てられていない空き時間を求め、この空き時間を空き時間情報記憶部203に格納する。
疲労情報処理部105は、スケジュール情報から一日あたりの各種疲労属性の疲労度を算出し、算出した疲労情報を一日疲労情報記憶部208に格納する。
TODO情報処理部106は、スケジュール割当対象となるTODOをスケジュール割当順に並べ替えたTODO情報リストを生成する。
スケジュール情報生成部101は、TODO情報リストのTODO情報に関してスケジュールを生成する。
空き時間情報処理部108は、取得したTODO情報に関して割当可能な空き時間情報を算出し、空き時間情報を割当順に並べ替えた空き時間リストを生成する。
優先割当疲労属性算出部109は、割当可能な空き時間情報について、前後のスケジュールの疲労度の合計値が最小になる疲労属性を算出し、算出した疲労属性を空き時間の優先割当疲労属性とする。
スケジュール情報生成部101は、空き時間リストの空き時間について順番にTODO情報のスケジュールを生成する。
一日割当疲労情報判定部104は、生成されたスケジュール情報に基づいて、各種一日疲労度が閾値を超さないかどうか判定し、各種一日疲労度が閾値を超過する場合は次の空き時間についてスケジュール生成を実行し、各種一日疲労度が閾値を超過しない場合はスケジュール情報とTODO情報と各種一日疲労度情報と空き時間情報とを更新するようスケジュール情報生成部101に指示する。
スケジュール情報生成部101は、スケジュール情報とTODO情報と各種一日疲労度情報と空き時間情報とを更新する。
スケジュール時刻算出部103は、スケジュール割当て予定空き時間の前後のスケジュール情報の合計疲労度を算出し、合計疲労度が低いスケジュールにつながるようスケジュールの開始時刻と終了時刻を決定する。
スケジュール情報生成部101は、その他スケジュール情報のパラメータとTODO情報と各種一日疲労度情報と空き時間情報も求め、結果を各種情報一時記憶部202に記憶する。空き時間リストの要素がなくなる前にスケジュールを割り当てることが出来たら、次のTODOに関してスケジューリングを行う。スケジュール割当前に空き時間リストの要素がなくなったら、スケジュール失敗である。この場合、スケジュール情報生成部101は、再スケジューリング処理を行う。スケジュール情報生成部101は、最終的に決定されたスケジュール情報、TODO情報、各種一日疲労度情報、空き時間情報をそれぞれスケジュール情報記憶部201、TODO情報記憶部206、一日疲労情報記憶部208、空き時間情報記憶部203に格納する。以上で、本実施の形態の目的を達成することが出来る。
特に、本実施の形態では、優先割当疲労属性算出部109が、割当可能空き時間の前後のスケジュールの各種疲労度を基に、割当可能空き時間に優先的に割り当てる疲労属性を決定することと、一日割当疲労情報判定部104が、スケジュール割当て予定日の疲労度とその閾値とを比較し、割当可能空き時間にスケジュールを割り当てるかどうかを決定することと、スケジュール時刻算出部103が、割当可能空き時間の前後のスケジュールの合計疲労度を基に、スケジュールを割り当てる時刻を決定することにより、同種の疲労が連続で蓄積されなく、かつ一日あたりの各種疲労が閾値を超過しないように、前もってスケジューリングすることが可能になる。
次に、第2の実施の形態のスケジューリングシステムの動作の詳細を説明する。まず、最初にカレンダースケジュール情報およびTODO情報からスケジュールを作成するスケジューリング処理について動作説明を行う。図11はスケジューリング処理を説明するフローチャートである。
スケジューリング処理において、最初にスケジューリングシステムは、カレンダースケジュール情報をスケジュール情報に変換するカレンダースケジュール読込処理(図11ステップS201)を実行する。図12はこのカレンダースケジュール読込処理(ステップS201)を説明するフローチャートである。
まず、カレンダースケジュール情報処理部107は、カレンダースケジュール情報記憶部207より、カレンダースケジュール情報を一つ取得する(図12ステップS302)。そして、カレンダースケジュール情報処理部107は、取得したカレンダースケジュール情報のパラメータを基にスケジュール情報を作成する(ステップS303)。すなわち、カレンダースケジュール情報処理部107は、カレンダースケジュール情報に記録されたカレンダースケジュール名をスケジュール情報に記録されるスケジュール名とし、カレンダースケジュール情報に記録された開始時刻をスケジュール情報に記録される開始時刻とし、カレンダースケジュール情報に記録された終了時刻をスケジュール情報に記録される終了時刻とし、スケジュール情報に記録される作成種別を「自動」とし、カレンダースケジュール情報に記録された割当時間をスケジュール情報に記録される割当時間とし、スケジュール情報に記録されるスケジュール種別を「カレンダー」とし、カレンダースケジュール情報に記録されたカレンダースケジュールIDをスケジュール情報に記録される作成元IDとして、スケジュール情報を作成する。次に、カレンダースケジュール情報処理部107は、スケジュール情報生成部101に作成したスケジュール情報を送信する。
スケジュール情報を受信したスケジュール情報生成部101は、スケジュールによる人の疲労度を算出するスケジュール疲労度算出処理(図12ステップS304)を実行する。図13はこのスケジュール疲労度算出処理(ステップS304)を説明するフローチャートである。
スケジュール情報生成部101は、受信したスケジュール情報のスケジュール種別と作成元IDを基にTODO情報記憶部206を参照して、作成元IDと同じ値のTODOIDを有するTODO情報の業務種別IDを取得し、この業務種別IDを基に業務種別疲労情報記憶部210を参照して、業務種別IDに対応する単位時間肉体疲労度と単位時間頭脳疲労度を取得する(図13ステップS401)。
次に、スケジュール情報生成部101は、肉体疲労または頭脳疲労のいずれかの疲労属性を選択し(ステップS402)、選択した疲労属性について人の疲労度を算出する(ステップS403)。選択した疲労属性についての人の疲労度をF、選択した疲労属性についての人の単位時間疲労度をFu、ステップS03で作成されたスケジュール情報に記録された割当時間をtとすると、選択した疲労属性についての人の疲労度Fは、次式により求めることができる。
F=Fu×t ・・・(1)
なお、選択した疲労属性が肉体疲労の場合は、Fuとして単位時間肉体疲労度を用い、選択した疲労属性が頭脳疲労の場合は、Fuとして単位時間頭脳疲労度を用いる。
スケジュール情報生成部101は、すべての疲労属性について処理を実行したかどうかを判定し(ステップS404)、処理していない疲労属性が存在する場合にはステップS402に戻る。こうして、すべての疲労属性について、式(1)を用いて人の疲労度を算出する。次に、スケジュール情報生成部101は、人の合計疲労度を算出する(ステップS405)。合計疲労度をFtotal、式(1)で算出した人の肉体疲労度をFb、同じく式(1)で算出した人の頭脳疲労度をFhとすると、合計疲労度Ftotalは次式により求めることができる。
Ftotal=Fb+Fh ・・・(2)
スケジュール情報生成部101は、カレンダースケジュール情報処理部107から受信したスケジュール情報に、ステップS402〜S405の処理で求めた肉体疲労度と頭脳疲労度と合計疲労度の情報を追加し、これらの情報を追加した後のスケジュール情報をスケジュール情報処理部102に送信する。以上で、スケジュール疲労度算出処理(ステップS304)が終了する。
スケジュール情報処理部102は、受信したスケジュール情報を記憶する(図12ステップS305)。
続いて、カレンダースケジュール情報処理部107は、すべてのカレンダースケジュール情報についてステップS302〜S305の処理を実行したかどうかを判定し(ステップS301)、処理していないカレンダースケジュール情報が存在する場合には、ステップS302に進む。こうして、すべてのカレンダースケジュール情報についてステップS302〜S305の処理が実行される。以上で、カレンダースケジュール読込処理(ステップS201)が終了する。
次に、スケジューリングシステムは、人の一日の各種疲労度を算出する各種一日疲労度算出処理(図11ステップS202)を実行する。図14は各種一日疲労度算出処理(ステップS202)を説明するフローチャートである。
まず、疲労情報処理部105は、スケジュール情報記憶部201からスケジュール情報を1つ取得する(図14ステップS501)。次に、疲労情報処理部105は、このスケジュール情報に記録された開始時刻と終了時刻とを取得し、一日疲労情報算出対象の日付を決定する(ステップS502)。ここでは、開始時刻と終了時刻によって特定される日が、一日疲労情報算出対象の日となる。
次に、疲労情報処理部105は、一日疲労情報算出対象日の人の疲労度を算出する。まず、疲労情報処理部105は、一日疲労情報記憶部208に記憶されている疲労属性の中から肉体疲労または頭脳疲労のいずれかの疲労属性を一つ選択する(ステップS503)。
続いて、疲労情報処理部105は、選択した疲労属性についての人の一日疲労度を算出する(ステップS504)。選択した疲労属性についての人の一日疲労度をFd、選択した疲労属性および一日疲労情報算出対象日について既に算出されている一日疲労度をFold、ステップS501で取得したスケジュール情報に記録された同疲労属性の疲労度をFsとすると、選択した疲労属性についての人の一日疲労度Fdは次式により求めることができる。
Fd=Fold+Fs ・・・(3)
なお、選択した疲労属性について一日疲労度Foldが既に算出されている理由は、ステップS504の算出処理がスケジュール情報毎に行われるからであり、一日疲労情報算出対象日が同じとなるスケジュール情報が複数存在することがあるからである。選択した疲労属性について一日疲労度が未だ算出されていない場合にはFoldは0になることは言うまでもない。
疲労情報処理部105は、すべての疲労属性について処理を実行したかどうかを判定し(ステップS505)、処理していない疲労属性が存在する場合にはステップS503に戻る。こうして、すべての疲労属性について、式(3)を用いて人の一日疲労度を算出する。
次に、疲労情報処理部105は、ステップS503〜S505の処理で算出した肉体疲労の一日疲労度と頭脳疲労の一日疲労度とを加算することで、スケジュール情報による人の合計疲労度を算出し、この算出した合計疲労度と一日疲労情報算出対象日について既に算出されている一日の合計疲労度とを加算することで、一日疲労情報算出対象日についての人の一日の合計疲労度を算出する(ステップS506)。一日疲労情報算出対象日について合計疲労度が既に算出されている理由は、ステップS506の算出処理がスケジュール情報毎に行われるからであり、一日疲労情報算出対象日が同じとなるスケジュール情報が複数存在することがあるからである。
疲労情報処理部105は、算出した各種疲労度情報を一日疲労情報記憶部208に記憶する(ステップS507)。疲労情報処理部105は、ステップS501〜S507の処理をスケジュール情報記憶部201に記憶されているすべてのスケジュール情報について実行する(ステップS508)。以上で、各種一日疲労度算出処理(ステップS202)が終了する。
次に、スケジューリングシステムは、空き時間情報を算出する空き時間算出処理(図11ステップS203)を実行する。図15は空き時間算出処理(ステップS203)を説明するフローチャートである。
まず、空き時間情報処理部108は、勤務時間情報記憶部205から人の勤務時間情報を取得する(図15ステップS601)。さらに、空き時間情報処理部108は、休憩時間情報記憶部204から人の休憩時間情報を取得する(ステップS602)。
次に、空き時間情報処理部108は、休憩時間情報に記録された開始時刻をソートキーとして、休息時間情報を昇順に並べ替え、休憩時間情報リストを作成する。続いて、空き時間情報処理部108は、この休憩時間情報リストから休憩時間情報を1つ取得し、ステップS601で取得した勤務時間情報に記録された勤務時間開始時刻を空き時間開始時刻とし、休憩時間情報リストから取得した休憩時間情報に記録された休息時間開始時刻を空き時間終了時刻として、空き時間情報を生成する。次に、空き時間情報処理部108は、空き時間情報リストから新たに休憩時間情報を取得し、1回前に取得した休憩時間情報に記録された休息時間終了時刻を空き時間開始時刻とし、新たに取得した休憩時間情報に記録された休息時間開始時刻を空き時間終了時刻として、新たに空き時間情報を生成する。空き時間情報処理部108は、以上のような空き時間情報の生成処理を休憩時間情報リストに未処理の休憩時間情報がなくなるまで繰り返す。
なお、最後の空き時間情報については、最後に取得した休憩時間情報に記録された休息時間終了時刻を空き時間開始時刻とし、ステップS601で取得した勤務時間情報に記録された勤務時間終了時刻を空き時間終了時刻とする。空き時間情報処理部108は、生成した空き時間情報を空き時間情報記憶部203に格納する(ステップS603)。
次に、空き時間情報処理部108は、スケジュール情報記憶部201からスケジュール情報を1つ取得する(ステップS604)。続いて、空き時間情報処理部108は、空き時間更新処理を行う(ステップS605)。空き時間更新処理は、空き時間情報とスケジュール情報とを利用して、空き時間を更新する処理である。図16はこの空き時間更新処理(ステップS605)を説明するフローチャートである。
空き時間更新処理では、空き時間情報te1と、空き時間情報te2という2つの空き時間情報を作成する。最初に、空き時間情報処理部108は、ステップS604で取得したスケジュール情報に記録された開始時刻と終了時刻とを取得し、空き時間開始時刻がスケジュール情報に記録された開始時刻以前で(空き時間開始時刻≦スケジュール情報に記録された開始時刻)、かつ空き時間終了時刻がスケジュール情報に記録された終了時刻以前(空き時間終了時刻≦スケジュール情報に記録された終了時刻)である空き時間情報を、空き時間情報記憶部203から取得する(図16ステップS701)。
続いて、空き時間情報処理部108は、ステップS604で取得したスケジュール情報とステップS701で取得した空き時間情報とを用いて、空き時間情報te1の空き時間開始時刻をステップS701で取得した空き時間情報に記録される空き時間開始時刻とし、空き時間情報te1の空き時間終了時刻をステップS604で取得したスケジュール情報に記録される開始時刻とし、空き時間情報te2の空き時間開始時刻をステップS604で取得したスケジュール情報に記録される終了時刻とし、空き時間情報te2の空き時間終了時刻をステップS701で取得した空き時間情報に記録される空き時間終了時刻として、空き時間情報te1と空き時間情報te2とを生成する(ステップS702)。
次に、空き時間情報処理部108は、作成した空き時間情報te1と空き時間情報te2の各々について、空き時間開始時刻と空き時間終了時刻とが同刻になっているか否かを判定する。そして、空き時間情報処理部108は、作成した空き時間情報te1と空き時間情報te2のうち空き時間開始時刻と空き時間終了時刻が同刻でない空き時間情報を、空き時間情報が記憶されていた記憶部に格納する(ステップS703)。例えば、空き時間情報が空き時間情報記憶部203に記憶されていた場合には、空き時間情報記憶部203に空き時間情報を格納する。また、空き時間情報が各種情報一時記憶部202に記憶されていた場合には、各種情報一時記憶部202に空き時間情報を格納する。
空き時間情報処理部108は、ステップS701で取得した空き時間情報を、空き時間情報が記憶されていた記憶部から削除する(ステップS704)。例えば、空き時間情報が空き時間情報記憶部203に記憶されていた場合には、空き時間情報記憶部203から当該空き時間情報を削除する。空き時間情報が各種情報一時記憶部202に記憶されていた場合には、各種情報一時記憶部202から当該空き時間情報を削除する。なお、空き時間情報処理部108は、各種情報一時記憶部202から空き時間情報を削除する場合は、削除する空き時間情報の空き時間IDを各種情報一時記憶部202に記憶させておく。以上で、空き時間更新処理(ステップS605)が終了する。
空き時間情報処理部108は、スケジュール情報記憶部201に記憶されているすべてのスケジュール情報についてステップS604,S605の処理を実行したかどうかを判定し(ステップS606)、処理していないスケジュール情報が存在する場合にはステップS604に戻る。こうして、すべてのスケジュール情報についてステップS604,S605の処理が実行される。以上で、空き時間算出処理(ステップS203)が終了する。
次に、スケジューリングシステムは、スケジュール生成順決定処理(図11ステップS204)を実行し、スケジュール生成順に並べ替えられたTODO情報であるTODO情報リストを生成する。図17はこのスケジュール生成順決定処理(ステップS204)を説明するフローチャートである。
まず、TODO情報処理部106は、TODO情報記憶部206からTODO情報を取得する(図17ステップS801)。続いて、TODO情報処理部106は、取得したTODO情報に記録されたTODO期限を参照し、TODO情報をTODO期限が設定されている期限付きTODO情報とTODO期限が設定されていない期限なしTODO情報とに分ける(ステップS802)。
そして、TODO情報処理部106は、ステップS802で抽出した期限付きTODO情報の各々について、TODO期限と現在の処理実行時刻とを比較することにより、判定対象の期限付きTODO情報が期限切れTODO情報であるかどうかを判定し、期限切れTODO情報のリストを生成する(ステップS803)。TODO情報処理部106は、判定対象の期限付きTODO情報に記録されたTODO期限が現在の処理実行時刻より前であれば、期限切れTODO情報であると判定する。
次に、TODO情報処理部106は、期限切れTODO情報に期限を再設定するために、TODO期限再設定処理を実行する(ステップS804)。図18はこのTODO期限再設定処理(ステップS804)を説明するフローチャートである。
まず、TODO情報処理部106は、期限切れTODO情報が期限切れTODO情報リストに存在するかどうかを判断する(図18ステップS901)。TODO情報処理部106は、期限切れTODO情報が存在する場合、期限切れTODO情報リストから期限切れTODO情報を1つ抽出する(ステップS902)。そして、TODO情報処理部106は、期限再設定用ユーザインタフェース(UI)、すなわち期限再設定用の画面を表示部301に表示させる(ステップS903)。期限再設定用の画面には、期限切れTODOに関する情報が表示されており、システムの利用者が期限の再設定を容易にできるようになっている。利用者は、入力部303を操作してTODO期限を再設定する(ステップS904)。
TODO情報処理部106は、期限切れTODO情報リストに存在するすべての期限切れTODO情報についてステップS902〜904の処理を実行したかどうかを判定し(ステップS901)、処理していない期限切れTODO情報が存在する場合にはステップS902に進む。こうして、期限切れTODO情報リストに存在するすべての期限切れTODO情報についてステップS902〜904の処理が実行される。以上で、TODO期限再設定処理(図17ステップS804)が終了する。
次に、TODO情報処理部106は、ステップS802で抽出した期限付きTODO情報に関して、期限付きTODO情報に記録された優先度を第一のソートキーとして期限付きTODO情報を降順に並べ替え、さらに期限付きTODO情報に記録されたTODO期限を第二のソートキーとして期限付きTODO情報を昇順に並べ替えて、期限付きTODO情報リストを生成する(ステップS805)。このとき、同じTODO期限を有する期限付きTODO情報の中では、第一のソートキーによる順位を優先し、優先度が高い期限付きTODO情報ほど順位が前になるようにする。
また、TODO情報処理部106は、ステップS802で抽出した期限なしTODO情報に関して、期限なしTODO情報に記録された優先度をソートキーとして期限なしTODO情報を降順に並べ替え、期限なしTODO情報リストを生成する(ステップS806)。次に、TODO情報処理部106は、ステップS805で生成した期限付きTODO情報リストと、ステップS806で生成した期限なしTODO情報リストとを連結し、TODO情報リストを生成する(ステップS807)。ここでの連結は、期限付きTODO情報リストが前で、期限なしTODO情報リストが後ろになるようにして、これらのリストを単純に連結すればよい。最後に、TODO情報処理部106は、生成したTODO情報リストをスケジュール情報生成部101に送信する(ステップS808)。以上で、スケジュール生成順決定処理(ステップS204)が終了する。
次に、スケジューリングシステムは、スケジュール情報生成処理(図11ステップS205)を行い、ステップS204で生成したTODO情報リストに含まれる各TODOに関してのスケジュールを作成する。図19はスケジュール情報処理(ステップS205)を説明するフローチャートである。
まず、スケジュール情報生成部101は、TODO情報処理部106より送信されたTODO情報リストを受信する。次に、スケジュール情報生成部101は、受信したTODO情報リストの先頭のTODO情報を取得する(図19ステップS1001)。続いて、スケジュール情報生成部101は、TODO情報を取得できたかどうかを判定する(ステップS1002)。TODO情報を取得できた場合には、空き時間リスト生成処理(ステップS1003)を実行する。TODO情報を取得できなかった場合には、スケジュール情報生成処理を終了する。
スケジュール情報生成部101は、TODO情報を取得できた場合、このTODO情報を各種情報一時記憶部202に格納する。以降は、TODO情報に対しての処理は、特に断りがない限り、各種情報一時記憶部202に記憶されたTODO情報に対して実行される。スケジュール情報生成部101は、空き時間リスト生成処理(ステップS1003)を実行させるため、空き時間情報処理部108にTODO情報を送信する。
次に、空き時間情報処理部108は、空き時間リスト生成処理(ステップS1003)を実行する。この空き時間リスト生成処理は、TODO情報をスケジュールに展開できる可能性のある空き時間を抽出し、空き時間リストを生成する処理である。図20は空き時間リスト生成処理(ステップS1003)を説明するフローチャートである。
空き時間リスト生成処理(ステップS1003)は、スケジュール情報生成部101よりTODO情報を受信する処理と、TODOに割り当て可能な空き時間を算出する処理と、空き時間に優先割当疲労属性を設定する処理とから構成される。優先割当疲労属性とは、その空き時間に優先的に割り当てる疲労属性を意味する。
まず、空き時間情報処理部108は、受信したTODO情報を参照し、このTODO情報に記録された開始予定時刻からTODO情報に記録されたTODO期限までの期間で、かつTODO情報に記録された実行最小時間以上である空き時間を抽出する。そして、空き時間情報処理部108は、抽出した空き時間の情報を時間順に並べた空き時間リストを生成する(図20ステップS1101)。空き時間情報処理部108は、生成した空き時間リストを各種情報一時記憶部202に格納する。以降は、空き時間リストに対しての処理は、各種情報一時記憶部202に記憶された空き時間リストに対して実行される。なお、空き時間情報処理部108は、TODO情報に開始予定時刻が記録されていない場合は、現時刻からTODO期限までの期間で、かつ実行最小時間以上である空き時間を抽出する(ステップS1101)。
次に、空き時間情報処理部108は、ステップS1101で生成した空き時間リストに未処理の空き時間情報が存在するかどうかを判定する(ステップS1102)。空き時間情報処理部108は、空き時間リストに未処理の空き時間情報が存在する場合、空き時間リストから未処理の空き時間情報を一つ取得し(ステップS1103)、取得した空き時間情報を優先割当疲労属性算出部109に送信して優先割当疲労属性算出処理(ステップS1104)を実行させる。優先割当疲労属性算出処理は、空き時間の前後のスケジュールによる人の疲労情報を基に、空き時間に優先的に割り当てる疲労属性を決定する処理である。図21は優先割当疲労属性算出処理(ステップS1104)を説明するフローチャートである。
まず、優先割当疲労属性算出部109は、空き時間情報を受信する。続いて、優先割当疲労属性算出部109は、受信した空き時間情報が示す空き時間の直前のスケジュール情報をスケジュール情報記憶部201から取得すると共に、空き時間の直後のスケジュール情報をスケジュール情報記憶部201から取得する(図21ステップS1201)。空き時間の直前のスケジュール情報とは、空き時間の開始時刻とスケジュール情報に記録された終了時刻とが一致するスケジュール情報のことであり、空き時間の直後のスケジュール情報とは、空き時間情報の終了時刻とスケジュール情報に記録された開始時刻とが一致するスケジュール情報のことである。なお、優先割当疲労属性算出部109は、空き時間の直前または直後のスケジュール情報が存在しない場合、存在しないスケジュール情報については取得しないものとする。
次に、優先割当疲労属性算出部109は、一日疲労情報記憶部208に記憶されている疲労属性の中から肉体疲労または頭脳疲労のいずれかの疲労属性を一つ選択する(ステップS1202)。優先割当疲労属性算出部109は、空き時間の直前のスケジュールにおける選択疲労属性についての人の疲労度を空き時間の直前のスケジュール情報から取得すると共に、空き時間の直後のスケジュールにおける選択疲労属性についての人の疲労度を空き時間の直後のスケジュール情報から取得し、取得した疲労度を加算して、加算後の疲労度を一時記憶する(ステップS1203)。
優先割当疲労属性算出部109は、一日疲労情報記憶部208に記憶されているすべての疲労属性についてステップS1202,S1203の処理を実行したかどうかを判定し(ステップS1204)、処理していない疲労属性が存在する場合にはステップS1202に戻る。こうして、すべての疲労属性について、ステップS1202,S1203の処理が実行される。最後に、優先割当疲労属性算出部109は、ステップS1203で算出した疲労属性毎の疲労度のうち、疲労度が最小の疲労属性を、空き時間情報処理部108から受信した空き時間情報の優先割当疲労属性として設定する(ステップS1205)。以上で、優先割当疲労属性算出処理(ステップS1104)が終了する。
次に、空き時間情報処理部108は、ステップS1101で生成した空き時間リストに未処理の空き時間情報が存在するかどうかを判定する(図20ステップS1102)。空き時間情報処理部108は、空き時間リストに未処理の空き時間情報が存在する場合、ステップS1103に進む。こうして、空き時間リストに含まれるすべての空き時間情報について、ステップS1103,S1104の処理が実行される。
空き時間情報処理部108は、空き時間リストに未処理の空き時間情報が存在しない場合(ステップS1102において判定NO)、業務種別疲労情報記憶部210に記憶される単位時間当たりの各種疲労度のうち、単位時間疲労度が一番高い疲労属性を取得する(ステップS1105)。
空き時間情報処理部108は、疲労属性を第一のソートキーとし、ステップS1105で取得した疲労属性を優先割当疲労属性とする空き時間情報の順位が前になるように空き時間リストを並べ替え、さらに日時を第二のソートキーとして空き時間リストを昇順に並べ替える(ステップS1106)。このとき、同じ日時の空き時間情報の中では、第一のソートキーによる順位を優先し、ステップS1105で取得した疲労属性を優先割当疲労属性とする空き時間情報の順位が前になるようにする。最後に、空き時間情報処理部108は、並べ替え後の空き時間リストを一時記憶する(ステップS1107)。以上で、空き時間リスト生成処理(ステップS1003)が終了する。
次に、スケジュール情報生成部101は、TODOスケジュール生成処理(図19ステップS1004)を実行する。TODOスケジュール生成処理はTODO情報に空き時間を順番に割り当てスケジュールを生成する処理である。図22はこのTODOスケジュール生成処理(ステップS1004)を説明するフローチャートである。
まず、スケジュール情報生成部101は、ステップS1003で生成した空き時間リストの先頭の空き時間情報を取得する(図22ステップS1301)。スケジュール情報生成部101は、空き時間情報を取得できた場合(ステップS1302において判定YES)、TODOスケジュール割当判断処理(ステップS1303)を実行する。また、空き時間情報を取得できなかった場合、スケジュール情報生成部101は、TODOスケジュール生成処理を終了する。
TODOスケジュール割当判断処理(ステップS1303)は、TODO情報と空き時間情報とを基にTODOにスケジュールを割り当てる処理である。図23はTODOスケジュール割当判断処理(ステップS1303)を説明するフローチャートである。
スケジュール情報生成部101は、ステップS1001で取得したTODO情報に記録された割当済工数の値を各種情報一時記憶部202に格納する(図23ステップS1401)。続いて、スケジュール情報生成部101は、ステップS1301で取得した空き時間情報に記録された割当時間が、ステップS1001で取得したTODO情報に記録された予想工数と同TODO情報に記録された割当済工数との差以上かどうかを評価する(ステップS1402)。
スケジュール情報生成部101は、空き時間情報に記録された割当時間が、TODO情報に記録された予想工数と割当済工数との差以上である場合、割当候補時間を、予想工数−割当済工数、すなわちTODO情報に記録された予想工数と割当済工数との差の時間とする(ステップS1403)。ここで、割当候補時間とは、割当予定の時間を意味している。
また、スケジュール情報生成部101は、空き時間情報に記録された割当時間が、TODO情報に記録された予想工数と割当済工数との差未満である場合、割当候補時間を、空き時間情報に記録された割当時間とする(ステップS1404)。
そして、スケジュール情報生成部101は、ステップS1001で取得したTODO情報に記録された割当済工数に割当候補時間を加算し、TODO情報の割当済工数を更新する(ステップS1405)。
次に、スケジュール情報生成部101は、ステップS1403またはS1404で決定した割当候補時間がステップS1001で取得したTODO情報に記録された実行最小時間以上かどうかを評価する(ステップS1406)。スケジュール情報生成部101は、ステップS1406において割当候補時間がTODO情報に記録された実行最小時間より短い場合、ステップS1401で各種情報一時記憶部202に格納しておいた割当済工数の値を用いて、ステップS1405で更新したTODO情報の割当済工数をTODOスケジュール割当判断処理開始時の値に戻し(ステップS1410)、ステップS1411に進む。この処理は、割当候補時間がTODO情報に記録された実行最小時間に満たないため、TODOに空き時間を割り当てできず、スケジュールを作成できなかったことを意味する。この場合は、空き時間リストの次の空き時間情報についてスケジュールを作成できるかどうかを判断することになる。
また、スケジュール情報生成部101は、ステップS1406において割当候補時間がTODO情報に記録された実行最小時間以上の場合、このTODO情報に記録された予想工数とTODO情報に記録された割当済工数との差が、TODO情報に記録された実行最小時間以上かどうかを評価すると共に、TODO情報に記録された予想工数とTODO情報に記録された割当済工数との差が0かどうかを評価する(ステップS1407)。
続いて、スケジュール情報生成部101は、ステップS1407においてTODO情報に記録された予想工数とTODO情報に記録された割当済工数との差が、TODO情報に記録された実行最小時間以上と判定した場合、またはTODO情報に記録された予想工数とTODO情報に記録された割当済工数との差が0と判定した場合、TODOスケジュール作成による人の追加疲労度を疲労属性毎に算出する(ステップS1408)。具体的には、スケジュール情報生成部101は、TODO情報に記録された業務種別IDを基に業務種別疲労情報記憶部210を参照し、業務種別IDに対応する単位時間当たりの肉体疲労度と頭脳疲労度とを取得し、取得した単位時間当たりの肉体疲労度に割当候補時間を掛けることでTODOスケジュール作成による人の肉体疲労度を算出し、取得した単位時間当たりの頭脳疲労度に割当候補時間を掛けることでTODOスケジュール作成による人の頭脳疲労度を算出する。
次に、一日割当疲労情報判定部104は、肉体疲労または頭脳疲労のいずれかの疲労属性を選択し(ステップS1412)、選択した疲労属性について現在の一日疲労度を一日疲労情報記憶部208から取得し、取得した一日疲労度とTODOスケジュール作成による選択疲労属性の追加疲労度との和が、選択疲労属性の一日疲労度閾値以下であるかどうかを評価する(ステップS1413)。ここで、選択疲労属性の一日疲労度閾値は、選択疲労属性について一日あたりに割り当て可能な疲労度の閾値であり、この値は疲労度閾値情報記憶部209より取得する。一日割当疲労情報判定部104は、すべての疲労属性について処理を実行したかどうかを判定し(ステップS1414)、処理していない疲労属性が存在する場合にはステップS1412に戻る。こうして、すべての疲労属性について、ステップS1413の判定を行う。
続いて、一日割当疲労情報判定部104は、ステップS1408で算出したTODOスケジュール作成による人の肉体疲労度と頭脳疲労度とを加算することで、TODOスケジュール作成による人の合計疲労度を算出し、生成されたスケジュール情報について現在の一日の合計疲労度を一日疲労情報記憶部208から取得し、取得した合計疲労度とTODOスケジュール作成による合計疲労度との和が、合計疲労度の一日疲労度閾値以下であるかどうかを評価する(ステップS1415)。ここで、合計疲労度の一日疲労度閾値は、合計疲労度について一日あたりに割り当て可能な疲労度の閾値であり、この値は疲労度閾値情報記憶部209より取得する。
スケジュール情報生成部101は、ステップS1407においてTODO情報に記録された予想工数とTODO情報に記録された割当済工数との差が、TODO情報に記録された実行最小時間未満で、かつTODO情報に記録された予想工数とTODO情報に記録された割当済工数との差が0でない場合、あるいはステップS1413において少なくとも一つの疲労属性について一日疲労度とTODOスケジュール作成による追加疲労度との和が疲労属性の一日疲労度閾値より大きい場合、あるいはステップS1415において合計疲労度とTODOスケジュール作成による合計疲労度との和が合計疲労度の一日疲労度閾値より大きい場合、TODO情報に記録された割当済工数および割当候補時間からそれぞれ単位時間を引いてTODO情報を更新する(ステップS1409)。この単位時間は通常1時間として設定するが、自由に設定することができる。スケジュール情報生成部101は、ステップS1409の処理後にステップS1406に戻る。
スケジュール情報生成部101は、ステップS1410においてTODO情報の割当済工数の値を元に戻した場合、あるいはステップS1415において現在の一日疲労度とTODOスケジュール作成による追加疲労度との和が一日疲労度閾値以下である場合、各種情報一時記憶処理(ステップS1411)を実行する。各種情報一時記憶処理(ステップS1411)は、スケジュール情報とTODO情報と空き時間情報と疲労情報とを算出して一時的に記憶する処理である。図24は各種情報一時記憶処理(ステップS1411)を説明するフローチャートである。
各種情報一時記憶処理において、スケジュール情報生成部101は、スケジュール情報一時記憶処理(図24ステップS1501)を実行する。スケジュール情報一時記憶処理(ステップS1501)は、スケジュール情報を算出し、一時的に記憶する処理である。図25はスケジュール情報一時記憶処理(ステップS1501)を説明するフローチャートである。
スケジュール情報一時記憶処理において、スケジュール情報生成部101は、スケジュール時刻算出部103にスケジュール時刻決定処理(図25ステップS1601)を実行させる。スケジュール時刻決定処理(ステップS1601)は、TODO情報から生成されたスケジュール情報の前後のスケジュール情報に記録された疲労情報を用いて、スケジュール開始時刻とスケジュール終了時刻とを決定する処理である。図26はスケジュール時刻決定処理(ステップS1601)を説明するフローチャートである。
まず、スケジュール時刻算出部103は、ステップS1301の処理によってスケジュール情報記憶部201から取得した空き時間情報が示す空き時間の直前のスケジュール情報をスケジュール情報記憶部201から取得すると共に、空き時間の直後のスケジュール情報をスケジュール情報記憶部201から取得する(図26ステップS1701)。空き時間の直前のスケジュール情報とは、空き時間の開始時刻とスケジュール情報に記録された終了時刻とが一致するスケジュール情報のことであり、空き時間の直後のスケジュール情報とは、空き時間情報の終了時刻とスケジュール情報に記録された開始時刻とが一致するスケジュール情報のことである。なお、スケジュール時刻算出部103は、空き時間の直前または直後のスケジュール情報が存在しない場合、存在しないスケジュール情報については取得しないものとする。
続いて、スケジュール時刻算出部103は、空き時間の直前のスケジュール情報に記録された合計疲労度が空き時間の直後のスケジュール情報に記録された合計疲労度以下かどうかを評価する(ステップS1702)。スケジュール時刻算出部103は、空き時間の直前のスケジュール情報に記録された合計疲労度が空き時間の直後のスケジュール情報に記録された合計疲労度以下の場合、ステップS1401〜S1408の処理で決定した割当候補時間をTODO情報から生成されるスケジュール情報に記録する割当時間とし、空き時間の直前のスケジュール情報に記録された終了時刻をTODO情報から生成されるスケジュール情報に記録する開始時刻とし、この開始時刻と割当候補時間とを足した時刻をTODO情報から生成されるスケジュール情報に記録する終了時刻とする(ステップS1703)。
また、スケジュール時刻算出部103は、空き時間の直前のスケジュール情報に記録された合計疲労度が空き時間の直後のスケジュール情報に記録された合計疲労度より大きい場合、ステップS1401〜S1408の処理で決定した割当候補時間をTODO情報から生成されるスケジュール情報に記録する割当時間とし、空き時間の直後のスケジュール情報に記録された開始時刻をTODO情報から生成されるスケジュール情報に記録する終了時刻とし、この終了時刻から割当候補時間を引いた時刻をTODO情報から生成されるスケジュール情報に記録する開始時刻とする(ステップS1704)。
次に、スケジュール情報生成部101は、空き時間情報処理部108に空き時間更新処理(ステップS605)を実行させる。この空き時間更新処理(ステップS605)については前述したので、説明は省略する。以上で、スケジュール時刻決定処理(ステップS1601)が終了する。
次に、スケジュール情報生成部101は、TODO情報から生成されるスケジュール情報に記録するスケジュール種別を「TODO」とする(図25ステップS1602)。続いて、スケジュール情報生成部101は、スケジュール疲労度算出処理(ステップS304)を実行し、TODO情報から生成されるスケジュール情報に、肉体疲労度と頭脳疲労度と合計疲労度の情報を追加する。このスケジュール疲労度算出処理(ステップS304)については前述したので、説明は省略する。
最後に、スケジュール情報生成部101は、ステップS1601,S1602,S304の処理によってTODO情報から生成したスケジュール情報を各種情報一時記憶部202に格納する(ステップS1603)。以上で、スケジュール情報一時記憶処理(ステップS1501)が終了する。
次に、スケジュール情報生成部101は、一日疲労度一時記憶処理(図24ステップS1502)を行う。一日疲労度一時記憶処理(ステップS1502)は、スケジュール情報作成後の各種一日疲労度を算出し、一時記憶する処理である。図27は一日疲労度一時記憶処理(ステップS1502)を説明するフローチャートである。
スケジュール情報生成部101は、ステップS1501で生成したスケジュール情報に記録された開始時刻と終了時刻を基に、スケジュールが実施される対象日を求め、各種情報一時記憶部202に記憶されている当該対象日の各種一日疲労度(肉体疲労度と頭脳疲労度と合計疲労度)を取得する(図27ステップS1801)。なお、スケジュール情報生成部101は、各種情報一時記憶部202に対象日の各種一日疲労度が記憶されていない場合、一日疲労情報記憶部208から対象日の各種一日疲労度を取得する。
続いて、スケジュール情報生成部101は、すべての疲労属性の中からいずれかの一つの疲労属性を選択する(ステップS1802)。スケジュール情報生成部101は、ステップS1801で取得した対象日の選択疲労属性の一日疲労度に、ステップS1501で生成したスケジュール情報に記録された当該疲労属性の疲労度を加算する(ステップS1803)。スケジュール情報生成部101は、すべての疲労属性についてステップS1802,S1803の処理を実行したかどうかを判定し(ステップS1804)、処理していない疲労属性が存在する場合にはステップS1802に戻る。こうして、すべての疲労属性について、ステップS1802,S1803の処理が実行される。
最後に、スケジュール情報生成部101は、ステップS1801〜S1804の処理で算出した、対象日の各種一日疲労度を各種情報一時記憶部202に格納する(ステップS1805)。以上で、一日疲労度一時記憶処理(ステップS1502)、各種情報一時記憶処理(ステップS1411)、およびTODOスケジュール割当判断処理(ステップS1303)が終了する。
次に、スケジュール情報生成部101は、ステップS1001で取得したTODO情報に記録された予想工数と同TODO情報に記録された割当済工数とを比較して、このTODO情報のスケジュール割当が完了したかどうかを判定する(図22ステップS1304)。スケジュール情報生成部101は、TODO情報に記録された予想工数と割当済工数とが等しい場合(ステップS1304において判定YES)、TODOスケジュール生成処理を終了する。
また、スケジュール情報生成部101は、TODO情報に記録された予想工数と割当済工数とが等しくない場合、ステップS1301に戻り、ステップS1003で生成した空き時間リストから未処理の空き時間情報を取得する。こうして、TODO情報に記録された予想工数と割当済工数とが等しくなって、TODOスケジュール生成処理が終わるまで、ステップS1301〜S1303の処理が実行される。
次に、スケジュール情報生成部101は、ステップS1001で取得したTODO情報からのスケジュール情報の生成が完了したかどうかを判定する(図19ステップS1005)。スケジュール情報生成部101は、スケジュール情報の生成が完了した場合、各種情報更新処理(ステップS1006)を実行し、スケジュール情報の生成が完了していない場合、スケジューリング失敗時処理(ステップS1007)を実行する。
各種情報更新処理(ステップS1006)は、各種情報一時記憶部202に記憶された情報を、他の記憶部に格納する処理である。図28は各種情報更新処理(ステップS1006)を説明するフローチャートである。
各種情報更新処理(ステップS1006)では、最初に、スケジュール情報記憶処理(ステップS1901)を行う。スケジュール情報記憶処理(ステップS1901)は、各種情報一時記憶部202に記憶されているスケジュール情報をスケジュール情報記憶部201に格納する処理である。すなわち、スケジュール情報生成部101は、ステップS1001〜S1004の処理によってTODO情報から生成したスケジュール情報をスケジュール情報記憶部201に格納する。
次に、スケジュール情報生成部101は、TODO情報更新処理(ステップS1902)を行う。TODO情報更新処理(ステップS1902)は、TODO情報記憶部206に記憶されているTODO情報を、各種情報一時記憶部202に記憶されているTODO情報で更新する処理である。このとき、TODO情報のTODOIDが一致するTODO情報について更新処理を行う。つまり、スケジュール情報生成部101は、ステップS1001〜S1004の処理で取得して変更したTODO情報により、TODO情報記憶部206の該当するTODO情報を更新する。
次に、スケジュール情報生成部101は、空き時間情報更新処理(ステップS1903)を行う。空き時間情報更新処理(ステップS1903)は、空き時間情報記憶部203に記憶されている空き時間情報を、各種情報一時記憶部202に記憶されている空き時間情報で更新する処理である。まず、スケジュール情報生成部101は、ステップS704の処理によって削除された空き時間情報の空き時間IDを各種情報一時記憶部202から取得し、この空き時間IDを基に、空き時間情報記憶部203から空き時間IDが一致する空き時間情報を削除する。そして、スケジュール情報生成部101は、ステップS703の処理によって各種情報一時記憶部202に格納された空き時間情報を、空き時間情報記憶部203に格納する。これで、空き時間情報更新処理(ステップS1903)が終了する。
次に、スケジュール情報生成部101は、一日疲労度更新処理(ステップS1904)を行う。一日疲労度更新処理(ステップS1904)は、一日疲労情報記憶部208に記憶されている一日疲労情報を、各種情報一時期億部202に記憶されている一日疲労情報で更新する処理である。すなわち、スケジュール情報生成部101は、ステップS1001〜S1004の処理で算出した各種一日疲労度(肉体疲労度と頭脳疲労度と合計疲労度)の情報により、一日疲労情報記憶部208に記憶された対象日の各種一日疲労度を更新する。以上で、各種情報更新処理(ステップS1006)が終了する。
前述のとおり、スケジュール情報生成部101は、スケジュール情報の生成が完了していない場合、スケジューリング失敗時処理(ステップS1007)を実行する。スケジューリング失敗時処理(ステップS1007)においては、スケジューリングに失敗したときに、スケジューリングに失敗したTODOの期限をいつにすればスケジューリングが成功するかを利用者に提案し、利用者にTODO期限の変更を促す。そして、スケジューリングが成功するように利用者がTODO期限を変更した場合は、自動スケジューリングを行い、利用者がTODO期限を変更しない場合は、スケジュールを手動で作成することの出来るユーザインタフェース(UI)を利用者に提示して、利用者にスケジュールを作成してもらう形でスケジューリングを行う。図29はスケジューリング失敗時処理(ステップS1007)を説明するフローチャートである。
まず、スケジュール情報生成部101は、ステップS1001〜S1004の処理によって各種情報一時記憶部202に記憶された空き時間情報とTODO情報とスケジュール情報と一日疲労情報とを消去する(図29ステップS2001)。続いて、スケジュール情報生成部101は、人が疲労することなくTODOを実行可能なスケジュールを作成するために、必要なTODO期限を算出する提案期限算出処理(ステップS2002)を実行する。図30は提案期限算出処理(ステップS2002)を説明するフローチャートである。
スケジュール情報生成部101は、ステップS1005においてスケジューリングが失敗したと判定したTODO情報を各種情報一時記憶部202に格納した上で、このTODO情報に記録されたTODO期限を一日先にずらす(ステップS2101)。続いて、スケジュール情報生成部101は、空き時間情報処理部108に空き時間リスト生成処理(ステップS1003)を実行させる。この空き時間リスト生成処理(ステップS1003)については前述したので、説明は省略する。さらに、スケジュール情報生成部101は、TODOスケジュール生成処理(ステップS1004)を実行する。このTODOスケジュール生成処理(ステップS1004)についても前述したので、説明は省略する。
次に、スケジュール情報生成部101は、TODO情報からのスケジュール情報の生成が完了したかどうかを判定する(ステップS2102)。スケジュール情報生成部101は、スケジュール情報の生成が完了していない場合、ステップS2101に戻り、ステップS2102においてスケジューリングが失敗したと判定したTODO情報のTODO期限をさらに一日先にずらす。こうして、スケジュール情報の生成が完了するまで、ステップS2102,S1003,S1004の処理が実行される。以上で、提案期限算出処理(ステップS2002)が終了する。
次に、スケジュール情報生成部101は、スケジューリング手法決定UI(すなわち、スケジューリング手法の入力を促す画面)を表示部301に表示させる(ステップS2003)。スケジューリング手法決定UIは、提案期限算出処理で生成したTODO情報を自動スケジューリングできる期限を提示して、スケジュール手法の入力を促すものである。ここで、提案した期限でTODO情報のTODO期限を設定し直してスケジューリングシステムによる自動スケジューリングを続けるか、あるいはTODO情報のTODO期限を変更せずに手動でTODOのスケジュールを作成するかを利用者に選択させる。
利用者は、入力部303を操作し、スケジューリングシステムの提案に沿ってTODO期限を変更するか否かの回答を入力する(ステップS2004)。スケジュール情報生成部101は、利用者がスケジューリングシステムの提案に沿ってTODO期限を変更することを選択した場合、各種情報更新処理(ステップS1006)を実行し、スケジューリング失敗時処理(ステップS1007)を終了する。この各種情報更新処理(ステップS1006)については前述したので、説明は省略する。
また、スケジュール情報生成部101は、ステップS2004において利用者がTODO期限を変更せずに手動でTODOのスケジュールを作成することを選択した場合、利用者が手動でTODOスケジュールを作成することのできるスケジュール手動作成UI(すなわち、スケジュールの作成画面)を表示部301に表示させる(ステップS2005)。利用者は、入力部303を操作し、表示された画面上でTODOの手動スケジューリングを行う。スケジュール手動作成UIでは、スケジュールの開始時刻、終了時刻、作成種別を設定することができる。作成種別については、スケジュールの時間を固定にしたいときは「手動」とし、スケジュールの時間を可変にしたいときは「自動」とする。
次に、スケジュール情報生成部101は、手動でスケジュールが作成された後に、手動割当スケジュール情報記憶処理(ステップS2006)を実行する。手動割当スケジュール情報記憶処理(ステップS2006)は、手動割当されたスケジュール情報を基に、TODO情報とスケジュール情報と一日疲労度情報と空き時間情報とを更新・記憶する処理である。図31は手動割当スケジュール情報記憶処理(ステップS2006)を説明するフローチャートである。
まず、スケジュール情報生成部101は、利用者が手動で作成したすべてのスケジュール情報について処理を実行したかどうかを判定する(図31ステップS2201)。ここでは、未だ処理を行っていないので、ステップS2202に進む。スケジュール情報生成部101は、利用者が手動で作成したスケジュール情報を1つ取得する(ステップS2202)。続いて、スケジュール情報生成部101は、取得したスケジュール情報について各種情報一時記憶処理(ステップS1411)を実行する。この各種情報一時記憶処理(ステップS1411)については前述したので、説明は省略する。
次に、スケジュール情報生成部101は、各種情報更新処理(ステップS1006)を実行する。この各種情報更新処理(ステップS1006)については前述したので、説明は省略する。スケジュール情報生成部101は、利用者が手動で作成したすべてのスケジュール情報についてステップS2202,S1411,S1006の処理を実行したかどうかを判定し(ステップS2201)、処理を行っていないスケジュールが存在する場合は、ステップS2202に進む。こうして、利用者が手動で作成したすべてのスケジュール情報について、ステップS2202,S1411,S1006の処理が実行される。以上で、手動割当スケジュール情報記憶処理(ステップS2006)およびスケジューリング失敗時処理(ステップS1007)が終了する。
次に、スケジュール情報生成部101は、図19の各種情報更新処理(ステップS1006)の終了後、あるいはスケジューリング失敗時処理(ステップS1007)の終了後、TODO情報リストから未処理のTODO情報を取得する(図19ステップS1001)。こうして、TODO情報リストに含まれるすべてのTODO情報について、ステップS1001〜S1007の処理が実行される。
本実施の形態によれば、一日あたりの各種疲労度が対応する疲労度閾値より低いスケジュールを作成することができる。
次に、利用者がカレンダースケジュールを新規作成した場合の動作について説明する。新規カレンダースケジュール情報作成処理は、利用者が新規にカレンダースケジュールを作成したときに実行される処理である。図32は新規カレンダースケジュール情報作成処理を説明するフローチャートである。新規カレンダースケジュール情報作成処理では、最初にスケジュール情報削除処理(図32ステップS2301)を実行する。図33はスケジュール情報削除処理(ステップS2301)を説明するフローチャートである。
スケジュール情報削除処理において、スケジュール情報処理部102は、スケジュール情報記憶部201に記憶されているスケジュール情報のうち、作成種別が「自動」となっているスケジュール情報を削除する(図33ステップS2401)。以上で、スケジュール情報削除処理(ステップS2301)が終了する。
次に、スケジューリングシステムは、スケジューリング処理を行う(ステップS2302)。このスケジューリング処理は、図11〜図31を用いて説明した処理である。以上で、新規カレンダースケジュール情報作成処理が終了する。
次に、利用者がTODOを新規作成した場合の動作について説明する。新規TODO情報作成処理は、利用者が新規にTODOを作成したときに実行される処理である。図34は新規TODO情報作成処理を説明するフローチャートである。
新規TODO情報作成処理では、最初に、利用者はすべてのTODOについてスケジューリングをし直すか、新規に作成したTODOに関してのみ自動スケジューリングを行うかを選択する(図34ステップS2501)。すべてのTODOについてスケジューリングし直す場合、スケジュール情報処理部102がスケジュール情報削除処理(ステップS2301)を行った後に、図11〜図31を用いて説明したスケジューリング処理を行う(ステップS2302)。
また、新規に作成されたTODOに関してのみ自動スケジューリングを行う場合、この新規に作成されたTODOに関してスケジュール情報生成処理(ステップS205)を実行する。スケジュール情報生成処理(ステップS205)については前述したので、説明は省略する。この際、TODO情報は新規に作成されたTODO情報のみとなる。また、このTODO情報は、各種情報一時記憶部202に記憶される。以上で、新規TODO情報作成処理が終了する。
次に、利用者がカレンダースケジュールを削除した場合の動作について説明する。カレンダースケジュール情報削除処理は、利用者がカレンダースケジュールを削除したときに実行される処理である。図35はカレンダースケジュール情報削除処理を説明するフローチャートである。
カレンダースケジュール情報削除処理では、利用者は、再スケジューリングをするかどうかを選択する(図35ステップS2601)。再スケジューリングを実行する場合、スケジュール情報処理部102がスケジュール情報削除処理(ステップS2301)を行った後に、図11〜図31を用いて説明したスケジューリング処理を行う(ステップS2302)。また、再スケジューリングを実行しない場合、スケジュール情報処理部102は、削除されたカレンダースケジュールに対応するスケジュール情報をスケジュール情報記憶部201から削除する(ステップS2603)。
次に、利用者がTODOを削除した場合の動作について説明する。TODO情報削除処理は、利用者がTODOを削除したときに実行される処理である。図36はTODO情報削除処理を説明するフローチャートである。
TODO情報削除処理では、利用者は、再スケジューリングをするかどうかを選択する(図36ステップS2701)。再スケジューリングを実行する場合、スケジュール情報処理部102がスケジュール情報削除処理(ステップS2301)を行った後に、図11〜図31を用いて説明したスケジューリング処理を行う(ステップS2302)。また、再スケジューリングを実行しない場合、スケジュール情報処理部102は、削除されたTODOに対応するスケジュール情報をスケジュール情報記憶部201から削除する(ステップS2703)。
なお、カレンダースケジュールの変更とTODO情報の変更に関しては、変更したい情報を削除した後に新規作成することで実現できる。
また、第2の実施の形態では、疲労属性の例として、肉体疲労、頭脳疲労を挙げているが、これに限るものではなく、例えばストレス疲労など他の疲労属性を用いてもよい。
[第3の実施の形態]
第1、第2の実施の形態のスケジューリングシステムは、CPU、メモリおよび外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。
図37はこのようなコンピュータの構成例を示すブロック図である。図37において、400はCPU、401はRAM、402はROM、403,404はインターフェイス装置(以下、I/Fと略する)である。
I/F403は、入力部303からのデータを受信する。CPU400は、I/F404を通じて表示部301に情報を表示させる。
このようなコンピュータにおいて、本発明のスケジューリング方法を実現させるためのスケジューリングプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供され、RAM401あるいは外部のハードディスク装置等のメモリに格納される。CPU400は、格納されたプログラムに従って第1、第2の実施の形態で説明した処理を実行する。
なお、第1〜第3の実施の形態では、スケジューリングの対象となる人とスケジューリングシステムを操作してスケジュールを作成する人とが同一人物であることを想定しているが、これに限るものではなく、スケジューリングシステムを操作する人が他人のスケジュールを作成する場合でも本発明を適用することができる。
本発明は、従業員等のスケジュールを作成するスケジューリングシステムに適用することができる。
本発明の第1の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。 本発明の第1の実施の形態のスケジューリングシステムの動作を示すフローチャートである。 本発明の第2の実施の形態に係るスケジューリングシステムの構成を示すブロック図である。 本発明の第2の実施の形態においてスケジュール情報記憶部に記憶されるスケジュール情報の例を示す図である。 本発明の第2の実施の形態においてTODO情報記憶部に記憶されるTODO情報の例を示す図を示す図である。 本発明の第2の実施の形態においてカレンダースケジュール情報記憶部に記憶されるカレンダースケジュール情報の例を示す図である。 本発明の第2の実施の形態において一日疲労情報記憶部に記憶される各種疲労度の例を示す図である。 本発明の第2の実施の形態において業務種別疲労情報記憶部に記憶される単位時間当たりの各種疲労度の例を示す図である。 本発明の第2の実施の形態において空き時間情報記憶部に記憶される空き時間情報の例を示す図である。 本発明の第2の実施の形態において疲労度閾値情報記憶部に記憶される各種疲労度閾値の例を示す図である。 本発明の第2の実施の形態におけるスケジューリング処理を説明するローチャートである。 本発明の第2の実施の形態におけるカレンダースケジュール読込処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジュール疲労度算出処理を説明するフローチャートである。 本発明の第2の実施の形態における各種一日疲労度算出処理を説明するフローチャートである。 本発明の第2の実施の形態における空き時間算出処理を説明するフローチャートである。 本発明の第2の実施の形態における空き時間更新処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジュール生成順決定処理を説明するフローチャートである。 本発明の第2の実施の形態におけるTODO期限再設定処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジュール情報生成処理を説明するフローチャートである。 本発明の第2の実施の形態における空き時間リスト生成処理を説明するフローチャートである。 本発明の第2の実施の形態における優先割当疲労属性算出処理を説明するフローチャートである。 本発明の第2の実施の形態におけるTODOスケジュール生成処理を説明するフローチャートである。 本発明の第2の実施の形態におけるTODOスケジュール割当判断処理を説明するフローチャートである。 本発明の第2の実施の形態における各種情報一時記憶処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジュール情報一時記憶処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジュール時刻決定処理を説明するフローチャートである。 本発明の第2の実施の形態における一日疲労度一時記憶処理を説明するフローチャートである。 本発明の第2の実施の形態における各種情報更新処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジューリング失敗時処理を説明するフローチャートである。 本発明の第2の実施の形態における提案期限算出処理を説明するフローチャートである。 本発明の第2の実施の形態における手動割当スケジュール情報記憶処理を説明するフローチャートである。 本発明の第2の実施の形態における新規カレンダースケジュール情報作成処理を説明するフローチャートである。 本発明の第2の実施の形態におけるスケジュール情報削除処理を説明するフローチャートである。 本発明の第2の実施の形態における新規TODO情報作成処理を説明するフローチャートである。 本発明の第2の実施の形態におけるカレンダースケジュール情報削除処理を説明するフローチャートである。 本発明の第2の実施の形態におけるTODO情報削除処理を説明するフローチャートである。 本発明の第3の実施の形態におけるコンピュータの構成例を示すブロック図である。
符号の説明
101…スケジュール情報生成部、102…スケジュール情報処理部、103…スケジュール時刻算出部、104…一日割当疲労情報判定部、105…疲労情報処理部、106…TODO情報処理部、107…カレンダースケジュール情報処理部、108…空き時間情報処理部、109…優先割当疲労属性算出部、201…スケジュール情報記憶部、202…各種情報一時記憶部、203…空き時間情報記憶部、204…休憩時間情報記憶部、205…勤務時間情報記憶部、206…TODO情報記憶部、207…カレンダースケジュール情報記憶部、208…一日疲労情報記憶部、209…疲労度閾値情報記憶部、210…業務種別疲労情報記憶部、301…表示部、302…ネットワーク、303…入力部。

Claims (26)

  1. 疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段と、
    前記スケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求め、この空き時間のうちTODOに割当可能な空き時間を抽出する空き時間情報処理手段と、
    前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出手段と、
    前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成手段と、
    前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記TODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記TODOから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出手段と、
    前記優先割当疲労属性算出手段およびスケジュール時刻算出手段の処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記TODOからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成手段とを備えることを特徴とするスケジューリングシステム。
  2. 請求項1記載のスケジューリングシステムにおいて、
    さらに、前記スケジュール情報記憶手段に記憶されたスケジュール情報に基づいて一日あたりの疲労属性毎の疲労度を算出する疲労情報処理手段と、
    予め定められた一日疲労度の閾値を疲労属性毎に記憶する疲労度閾値情報記憶手段と、
    スケジュール割当予定日の現在の一日疲労度と前記TODOから生成するスケジュールによる追加疲労度との和が前記一日疲労度閾値以下となるように疲労属性毎に評価し、前記TODOから生成するスケジュールを割り当てる空き時間を、前記空き時間リストの中から決定する一日割当疲労情報判定手段とを備え、
    前記スケジュール情報生成手段は、前記TODOから生成したスケジュール情報に基づいてスケジュール割当予定日の一日あたりの疲労属性毎の疲労度を更新することを特徴とするスケジューリングシステム。
  3. 請求項1または2記載のスケジューリングシステムにおいて、
    さらに、予め日時が定められたカレンダースケジュール情報と予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報とを用い、前記カレンダースケジュール情報を、疲労属性毎の疲労度の情報を含むスケジュール情報に変換し、このスケジュール情報を前記スケジュール情報記憶手段に格納するカレンダースケジュール情報処理手段を備えることを特徴とするスケジューリングシステム。
  4. 請求項1乃至3のいずれか1項に記載のスケジューリングシステムにおいて、
    前記空き時間情報処理手段は、人の勤務時間情報と休息時間情報と前記スケジュール情報記憶手段に記憶されたスケジュール情報とから前記空き時間を求めることを特徴とするスケジューリングシステム。
  5. 請求項1乃至4のいずれか1項に記載のスケジューリングシステムにおいて、
    さらに、業務種別の情報を含むTODO情報を予め記憶するTODO情報記憶手段を備え、
    前記スケジュール情報生成手段は、前記TODO情報に基づいてTODOからスケジュール情報を生成することを特徴とするスケジューリングシステム。
  6. 請求項5記載のスケジューリングシステムにおいて、
    さらに、前記TODO情報をスケジュール割当順に並べ替えたTODO情報リストを生成するTODO情報処理手段を備え、
    前記スケジュール情報生成手段は、前記TODO情報リストのTODO情報に関してスケジュール情報を生成することを特徴とするスケジューリングシステム。
  7. 請求項6記載のスケジューリングシステムにおいて、
    前記TODO情報は、優先度の情報を含み、
    前記TODO情報処理手段は、前記優先度をキーとして前記TODO情報を並べ替えることを特徴とするスケジューリングシステム。
  8. 請求項7記載のスケジューリングシステムにおいて、
    前記TODO情報は、さらにTODO期限の情報を含み、
    前記TODO情報処理手段は、前記優先度を第一のキーとし、前記TODO期限を第二のキーとして前記TODO情報を並べ替えることを特徴とするスケジューリングシステム。
  9. 請求項6記載のスケジューリングシステムにおいて、
    前記TODO情報は、TODO期限の情報を含み、
    前記TODO情報処理手段は、前記TODO情報が期限切れのときに、利用者からの入力に応じて前記TODO期限を再設定することを特徴とするスケジューリングシステム。
  10. 請求項1乃至9のいずれか1項に記載のスケジューリングシステムにおいて、
    前記空き時間リスト生成手段は、前記業務種別疲労情報に基づいて単位時間疲労度が一番高い疲労属性を取得し、この取得した疲労属性を前記優先割当疲労属性とする割当可能空き時間の順位が前になるように前記割当可能空き時間を並べ替えることを特徴とするスケジューリングシステム。
  11. 請求項1乃至10のいずれか1項に記載のスケジューリングシステムにおいて、
    前記スケジュール情報生成手段は、スケジュール割当前に前記空き時間リストの要素がなくなってスケジューリングに失敗したときに、人が疲労することなくTODOを実行可能なTODO期限を利用者に提案し、
    利用者からの入力に応じて、前記空き時間情報処理手段と優先割当疲労属性算出手段と空き時間リスト生成手段とスケジュール時刻算出手段とスケジュール情報生成手段とは、前記TODOからのスケジュール情報の再生成を試みることを特徴とするスケジューリングシステム。
  12. 請求項1乃至11のいずれか1項に記載のスケジューリングシステムにおいて、
    前記疲労属性は、少なくとも肉体疲労と頭脳疲労とを含むことを特徴とするスケジューリングシステム。
  13. 疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める空き時間導出ステップと、
    前記空き時間のうちTODOに割当可能な空き時間を抽出する空き時間抽出ステップと、
    前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出ステップと、
    前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成ステップと、
    前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記TODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記TODOから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出ステップと、
    前記優先割当疲労属性算出ステップおよびスケジュール時刻算出ステップの処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記TODOからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成ステップとを備えることを特徴とするスケジューリング方法。
  14. 請求項13記載のスケジューリング方法において、
    さらに、前記スケジュール情報記憶手段に記憶されたスケジュール情報に基づいて一日あたりの疲労属性毎の疲労度を算出する一日疲労度算出ステップと、
    スケジュール割当予定日の現在の一日疲労度と前記TODOから生成するスケジュールによる追加疲労度との和が予め定められた一日疲労度閾値以下となるように疲労属性毎に評価し、前記TODOから生成するスケジュールを割り当てる空き時間を、前記空き時間リストの中から決定する一日割当疲労情報判定ステップとを備え、
    前記スケジュール情報生成ステップは、前記TODOから生成したスケジュール情報に基づいてスケジュール割当予定日の一日あたりの疲労属性毎の疲労度を更新するステップを含むことを特徴とするスケジューリング方法。
  15. 請求項13または14記載のスケジューリング方法において、
    さらに、予め日時が定められたカレンダースケジュール情報と予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報とを用い、前記カレンダースケジュール情報を、疲労属性毎の疲労度の情報を含むスケジュール情報に変換し、このスケジュール情報を前記スケジュール情報記憶手段に格納するカレンダースケジュール情報処理ステップを備えることを特徴とするスケジューリング方法。
  16. 請求項13乃至15のいずれか1項に記載のスケジューリング方法において、
    前記空き時間導出ステップは、人の勤務時間情報と休息時間情報と前記スケジュール情報記憶手段に記憶されたスケジュール情報とから前記空き時間を求めることを特徴とするスケジューリング方法。
  17. 請求項13乃至16のいずれか1項に記載のスケジューリング方法において、
    前記スケジュール情報生成ステップは、業務種別の情報を含むTODO情報を予め記憶するTODO情報記憶手段から前記TODO情報を取得し、取得したTODO情報に基づいてTODOからスケジュール情報を生成することを特徴とするスケジューリング方法。
  18. 請求項17記載のスケジューリング方法において、
    さらに、前記TODO情報をスケジュール割当順に並べ替えたTODO情報リストを生成するTODO情報処理ステップを備え、
    前記スケジュール情報生成ステップは、前記TODO情報リストのTODO情報に関してスケジュール情報を生成することを特徴とするスケジューリング方法。
  19. 請求項18記載のスケジューリング方法において、
    前記TODO情報は、優先度の情報を含み、
    前記TODO情報処理ステップは、前記優先度をキーとして前記TODO情報を並べ替えることを特徴とするスケジューリング方法。
  20. 請求項19記載のスケジューリング方法において、
    前記TODO情報は、さらにTODO期限の情報を含み、
    前記TODO情報処理ステップは、前記優先度を第一のキーとし、前記TODO期限を第二のキーとして前記TODO情報を並べ替えることを特徴とするスケジューリング方法。
  21. 請求項18記載のスケジューリング方法において、
    さらに、前記TODO情報が期限切れのときに、利用者からの入力に応じて期限切れのTODO情報のTODO期限を再設定するTODO期限再設定ステップを備えることを特徴とするスケジューリング方法。
  22. 請求項13乃至21のいずれか1項に記載のスケジューリング方法において、
    前記空き時間リスト生成ステップは、前記業務種別疲労情報に基づいて単位時間疲労度が一番高い疲労属性を取得し、この取得した疲労属性を前記優先割当疲労属性とする割当可能空き時間の順位が前になるように前記割当可能空き時間を並べ替えることを特徴とするスケジューリング方法。
  23. 請求項13乃至22のいずれか1項に記載のスケジューリング方法において、
    さらに、スケジュール割当前に前記空き時間リストの要素がなくなってスケジューリングに失敗したときに、人が疲労することなくTODOを実行可能なTODO期限を利用者に提案するスケジューリング失敗時処理ステップを備え、
    利用者からの入力に応じて、前記空き時間情報処理ステップと優先割当疲労属性算出ステップと空き時間リスト生成ステップとスケジュール時刻算出ステップとスケジュール情報生成ステップとは、前記TODOからのスケジュール情報の再生成を試みることを特徴とするスケジューリング方法。
  24. 請求項13乃至23のいずれか1項に記載のスケジューリング方法において、
    前記疲労属性は、少なくとも肉体疲労と頭脳疲労とを含むことを特徴とするスケジューリング方法。
  25. 疲労属性毎の人の疲労度の情報を含むスケジュール情報を予め記憶するスケジュール情報記憶手段からスケジュール情報を取得し、このスケジュール情報に基づいてスケジュールが割り当てられていない空き時間を求める空き時間導出ステップと、
    前記空き時間のうちTODOに割当可能な空き時間を抽出する空き時間抽出ステップと、
    前記スケジュール情報に基づいて、前記割当可能空き時間の直前直後のスケジュールによる人の疲労度の合計値が最小になる疲労属性を求め、この疲労属性を前記割当可能空き時間に優先的に割り当てる優先割当疲労属性とする優先割当疲労属性算出ステップと、
    前記割当可能空き時間を割当順に並べ替えた空き時間リストを生成する空き時間リスト生成ステップと、
    前記スケジュール情報に基づいて、前記割当可能空き時間のうち前記TODOから生成するスケジュールを割り当てる空き時間の直前直後のスケジュールによる全ての疲労属性の合計疲労度を算出し、この合計疲労度が低いスケジュールに繋がるように、前記TODOから生成するスケジュールの開始時刻と終了時刻を決定するスケジュール時刻算出ステップと、
    前記優先割当疲労属性算出ステップおよびスケジュール時刻算出ステップの処理結果と、予め業務種別毎および疲労属性毎に定められた人の疲労度を示す業務種別疲労情報に基づいて、前記TODOからスケジュール情報を生成して前記スケジュール情報記憶手段に格納するスケジュール情報生成ステップとを、コンピュータに実行させることを特徴とするスケジューリングプログラム。
  26. 請求項25記載のスケジューリングプログラムにおいて、
    さらに、前記スケジュール情報記憶手段に記憶されたスケジュール情報に基づいて一日あたりの疲労属性毎の疲労度を算出する一日疲労度算出ステップと、
    スケジュール割当予定日の現在の一日疲労度と前記TODOから生成するスケジュールによる追加疲労度との和が予め定められた一日疲労度閾値以下となるように疲労属性毎に評価し、前記TODOから生成するスケジュールを割り当てる空き時間を、前記空き時間リストの中から決定する一日割当疲労情報判定ステップとを、コンピュータに実行させ、
    前記スケジュール情報生成ステップは、前記TODOから生成したスケジュール情報に基づいてスケジュール割当予定日の一日あたりの疲労属性毎の疲労度を更新するステップを含むことを特徴とするスケジューリングプログラム。
JP2008316692A 2008-12-12 2008-12-12 スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム Pending JP2010140305A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008316692A JP2010140305A (ja) 2008-12-12 2008-12-12 スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008316692A JP2010140305A (ja) 2008-12-12 2008-12-12 スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム

Publications (1)

Publication Number Publication Date
JP2010140305A true JP2010140305A (ja) 2010-06-24

Family

ID=42350391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008316692A Pending JP2010140305A (ja) 2008-12-12 2008-12-12 スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム

Country Status (1)

Country Link
JP (1) JP2010140305A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2397200A1 (en) 2010-06-21 2011-12-21 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Video game system
JP2012185645A (ja) * 2011-03-04 2012-09-27 Toshiba Tec Corp 勤務シフト作成支援装置及びプログラム
JP2015195014A (ja) * 2014-03-28 2015-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 情報提示方法
JP2017220074A (ja) * 2016-06-09 2017-12-14 富士通株式会社 勤務計画補助情報提供方法、勤務計画補助情報提供プログラムおよび勤務計画補助情報提供装置
KR101925110B1 (ko) * 2018-07-10 2018-12-04 (주)스펙업애드 휴식시간 산정이 가능한 시간표 어플리케이션, 시간표 서버 및 이의 작동 방법
JP2019133231A (ja) * 2018-01-29 2019-08-08 富士通株式会社 ストレス状況予測プログラム、情報処理装置及びストレス状況予測方法
JP2021009579A (ja) * 2019-07-02 2021-01-28 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP2021177412A (ja) * 2017-07-18 2021-11-11 株式会社東芝 情報処理装置、方法及びプログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2397200A1 (en) 2010-06-21 2011-12-21 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Video game system
JP2012185645A (ja) * 2011-03-04 2012-09-27 Toshiba Tec Corp 勤務シフト作成支援装置及びプログラム
JP2015195014A (ja) * 2014-03-28 2015-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 情報提示方法
JP2017220074A (ja) * 2016-06-09 2017-12-14 富士通株式会社 勤務計画補助情報提供方法、勤務計画補助情報提供プログラムおよび勤務計画補助情報提供装置
JP2021177412A (ja) * 2017-07-18 2021-11-11 株式会社東芝 情報処理装置、方法及びプログラム
JP7166401B2 (ja) 2017-07-18 2022-11-07 株式会社東芝 情報処理装置、方法及びプログラム
US11715049B2 (en) 2017-07-18 2023-08-01 Kabushiki Kaisha Toshiba Information processing device and method
JP2019133231A (ja) * 2018-01-29 2019-08-08 富士通株式会社 ストレス状況予測プログラム、情報処理装置及びストレス状況予測方法
KR101925110B1 (ko) * 2018-07-10 2018-12-04 (주)스펙업애드 휴식시간 산정이 가능한 시간표 어플리케이션, 시간표 서버 및 이의 작동 방법
JP2021009579A (ja) * 2019-07-02 2021-01-28 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP7008053B2 (ja) 2019-07-02 2022-01-25 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP2010140305A (ja) スケジューリングシステム、スケジューリング方法およびスケジューリングプログラム
JP5847986B2 (ja) 業務割当装置及び業務割当プログラム
Nissen et al. Duty-period-based network model for crew rescheduling in European airlines
EP0797164A1 (en) Appointment booking and scheduling system
US10146587B2 (en) Future locking of resources
JP2008544419A (ja) 自動会議スケジューリングの円滑化
JP5618857B2 (ja) 資源運用計画作成装置および資源運用計画作成方法
Lamiri et al. Operating room planning with random surgery times
Xie et al. Integrated driver rostering problem in public bus transit
JP4254774B2 (ja) 列車ダイヤ作成装置
JP2013084297A (ja) 勤務計画作成装置及びプログラム
JP2006202082A (ja) 生産ライン管理システムと生産ライン管理プログラムと記録媒体及び生産ライン管理方法
JP2006146530A (ja) スケジューリング支援システム
JP2006059111A (ja) 勤務管理システム
JP6540107B2 (ja) 並列演算装置、並列演算システム、およびジョブ制御プログラム
CN113852406A (zh) 多波束中继卫星任务调度方法和装置
JP5167398B1 (ja) 勤務計画作成装置及びプログラム
CN111950869A (zh) 改进航天测控网调度问题初始解的迭代求解方法及系统
JP5043478B2 (ja) 配車支援システム、配車支援方法及び配車支援プログラム
JP2009073623A (ja) 運用割当装置、運用割当方法及びプログラム
US11989590B2 (en) Method and system for resource allocation
JPH09244706A (ja) 計画修正方法及び装置
Hagemann Use of the critical chain project management technique at NASA, Langley Research Center
JP7458870B2 (ja) 予測システム、予測方法及び待機場所選定サーバ
JP2010117958A (ja) 勤怠管理システム