上記特許文献によって開示される技術によれば、担当者(作業者)の能力に応じて作業の割当てが行われ、さらに、作業の割当てが少ない担当者ほど高い確立で作業の割当てが行われることにより各担当者間の作業量の均等化も図られるため、作業時間に特に指定のない作業を、各作業者に割当てる処理においては好適なものである。
しかし、作業の中には、それを実行する日時に指定があるものが存在し、また、作業の全てが予め決まっているわけではなく、突発的に発生する作業も存在する。このような状況の下では、従来技術によると効率的な作業割当てができない場合があった。即ち、例えば、作業者Aに作業1(作業日時が指定されていない作業)を割当てた後に、作業日時が指定された作業2(作業1が割当てられた時間と重なる日時に指定されている作業)が発生したような場合には、作業者Aに作業2を割当てることに対応できるものではなく、又、作業者Aと作業者Bに作業1〜4(何れの作業も、作業者Aも作業者Bも実行可能な作業)を作業量が均等となるように、作業者Aには作業1と2を、作業者Bには作業3と4をそれぞれ割当てた後に、作業者Aしか実行できない作業5と作業6が発生した場合には、作業者Aに作業5と作業6がそのまま割当てられてしまい、作業者Aと作業者Bとの間の負荷の均等化を図ることができなくなるものであった。
また、一般的に、作業者は、同様の作業若しくは同一の装置に対する作業を行った回数が増加すれば、当該作業内容や装置に対する熟練度が上がっていくものであるため、作業実績(作業度数)によってある程度その作業者のスキルを評価することが可能である。しかしながら、従来のスケジュール割当てシステムにおいては、作業実績を蓄積していくことで、これを作業者のスキル評価に反映し、これによって次回以降の作業割当ての精度を高めていく(逐一変化する作業者の能力を迅速に評価・適用する)というようなものは存在しなかった。
本発明は、上述した点に鑑み、作業を各作業者に割当てるためのスケジュール割当てシステムであって、作業日時に指定のある作業や突発的に発生する作業についても、各作業者間の負荷の均等化が図られると共に、各作業者の作業実績が反映されることでより的確な作業割当てが可能となるスケジュール割当てシステムを提供することを主な目的とする。
請求項1のスケジュール割当てシステムは、作業時間と指定日時若しくは指定期間の属性を有する作業を、各作業者に割当てるためのスケジュール割当てシステムであって、制御装置と、ユーザに対する入力インターフェースである入力装置と、ユーザに対する出力インターフェースである出力装置と、前記各作業者に前記各作業が対応付けられて格納される作業テーブル及び前記各作業が有する情報が格納される作業内容テーブルを記憶する記憶装置と、を備えることにより、前記入力装置に対して前記作業の割当要求があった場合には、前記制御装置によって、前記作業テーブルを参照して各作業者の空き時間を取得し、前記割当要求があった作業が有する指定日時若しくは指定期間情報及び作業時間情報とから当該割当要求作業を割当てるべき時間帯を取得し、前記空き時間と、前記割当てるべき時間帯と、を比較することによって前記割当要求作業を割当て可能な作業者が存在するか否かを判別し、割当て可能である場合には当該割当て可能な作業者に前記割当要求作業を対応付けて前記作業テーブルに格納し、一方、割当て可能な作業者が存在しなかった場合には、前記制御装置によって、前記作業テーブルと前記作業内容テーブルとを参照して、前記割当てるべき時間帯において既に割当てられている各作業の指定日時若しくは指定期間情報を取得することにより、移動可能な作業があるか否かを判別し、移動可能な作業があった場合には当該移動可能作業を移動すると共に前記割当要求作業の割当て処理を行うことを特徴とする。
上記構成によれば、作業の割当要求があった場合であって、当該作業が有する指定日時若しくは指定期間情報及び作業時間情報とから判別される当該作業を割当てるべき時間帯に、割当て可能な作業者が存在しなかった場合には、当該時間帯に既に割当てられている作業の中に移動可能な作業(必ずしも当該時間帯に実行する必要が無い作業など)があるか否かが、作業テーブルと前記作業内容テーブルが有する情報を基にして判別され、移動可能な作業があった場合には当該作業が移動される。「移動可能作業を移動」とは、既に割当てられていた“移動可能な作業”を、他の作業者若しくは同じ作業者に対して、移動(再割当て)させる(同じ作業者の場合には、前述した“割当要求作業を割当てるべき時間帯”以外の時間帯に再割当てさせる)処理である。なお、「指定日時若しくは指定期間情報」とは、作業開始(若しくは終了)時間などを直接的に指定する情報の他、ある期間を指定する(例えば“3月中に作業実施”など)ものや、日時指定の無いもの等を含む概念である。「各作業が有する情報」とは、割当てられる作業の内容などを示す情報であり、「指定日時若しくは指定期間情報」に関する情報の他、例えば、作業対象に関する情報などである。「スケジュール割当てシステム」とは、制御装置や記憶装置などがそれぞれ異なるハードとして構成され、これらが相互に接続されることによって形成される“システム”に限定するものではなく、制御装置や記憶装置などが一つのハードとして構成された(一つの筐体内に制御装置や記憶装置などの構成要素が収められている)ものであっても構わない。
請求項2のスケジュール割当てシステムは、請求項1記載のスケジュール割当てシステムであって、前記作業は、当該作業を遂行するために必要なスキルを示すスキル情報の属性を備え、前記各作業者と当該作業者のスキル情報が対応付けられて格納されるスキル情報テーブルを前記記憶装置に記憶させることにより、前記作業割当要求があった際には、当該割当要求があった作業が有するスキル情報と、前記スキル情報テーブルから得られる各作業者のスキル情報とを比較することにより、必要なスキルを有する作業者にのみ作業の割当てを行うことを特徴とする。
上記構成によれば、割当要求があった作業が有するスキル情報と、スキル情報テーブルが有する各作業者のスキル情報と、を基に、割当要求があった作業を遂行する為に必要なスキルを有する作業者にのみ作業の割当てが行われる。
請求項3のスケジュール割当てシステムは、請求項2記載のスケジュール割当てシステムであって、前記作業が作業対象装置に関する属性と作業対象装置を有する顧客に関する属性とを備え、前記スキル情報テーブルに格納される前記スキル情報が前記作業対象装置に関する属性を有し、前記各作業者と当該作業者の前記各作業対象装置に対する作業を行った実績と前記各顧客を担当した実績とが格納される作業実績テーブルを前記記憶装置に記憶させることにより、前記必要なスキルを有する作業者の判別処理において前記作業対象装置に対するスキルを有するか否かの判別も行い、前記作業割当て処理時に、割当て可能な作業者が複数存在した場合には、これらの作業者に該当する、前記作業対象装置の作業実績若しくは、前記作業対象装置を有する顧客を担当した実績を、前記作業実績テーブルから前記制御装置によって取得し、当該取得した作業実績若しくは担当実績を利用して、前記割当要求作業を割当てる作業者を選択することを特徴とする。
上記構成によれば、作業割当要求割に対して当て可能な作業者が複数存在した場合には、例えば、当該作業の作業対象装置の作業実績が多い者若しくは作業対象装置を有する顧客を担当した実績が多い者が、作業実績テーブルの有する情報を基に判別され、実績が多い者に対して作業割当てが行われる。なお、作業対象装置の作業実績が少ない者若しくは作業対象装置を有する顧客を担当した実績が少ない者に対して優先して作業を割当てるようなものであってもよい。
請求項4のスケジュール割当てシステムは、請求項1乃至請求項3の何れか1つに記載のスケジュール割当てシステムであって、前記各作業者の休日情報が格納される勤務シフトテーブルと、月間作業量基準値と、を前記記憶装置に格納することにより、前記制御装置によって、前記作業テーブルから各作業者の月単位の作業時間を算出し、当該月単位作業時間が前記月間作業量基準値を超える作業者が存在した場合には、当該作業者の休日を前記勤務シフトテーブルから取得し、休日に割当てられている作業があるか否かを前記作業テーブルを参照して判別し、これがあった場合には、当該休日に割当てられている作業を、他の作業者に対して割当て可能であるか否かを判別し、割当て可能な作業者が存在した場合には、当該作業者に前記休日割当作業の割当てを実行する処理を、前記月単位作業時間が前記月間作業量基準値を下回るまで、若しくは、他の作業者に対して割当て可能な休日作業が無くなるまで、行うことを特徴とする。
上記構成によれば、月単位の作業時間が「月間作業量基準値」を超える作業者が存在する場合には、当該作業者の休日に割当てられた作業があるか否か及び当該休日作業が他の作業者に移動可能であるか否かが判別され、これがあった場合には、他の作業者への作業の移動(再割当て)処理が行われる。これにより、作業時間が基準値を超過している作業者の作業量が、休日の作業を他の作業者に割振ることによって調節される。「他の作業者に対して割当て可能であるか否かの判別」は、請求項1〜3の何れかの処理によるものである。なお、当該処理(月間作業量調整処理)は、各作業の割当て処理(請求項1〜3の何れかの処理)が終わった後に、各作業者に対して行うものであっても良いし、作業割当要求があった際(請求項1〜3の何れかの処理の際)に、割当て可能とされた作業者に当該作業を割当てることによって月単位の作業時間が「月間作業量基準値」を超えるか否かを判別して調整するようなものであってもよい。
請求項5のスケジュール割当てシステムは、請求項4記載のスケジュール割当てシステムであって、前記休日割当作業を他の作業者に割当てる処理を行った後に、依然として前記月単位作業時間が前記月間作業量基準値を超えている場合には、当該作業者に割当てられている平日の各作業の中で、他の作業者に対して割当て可能な作業があるか否かを判別し、これがあった場合には、当該割当て可能な作業を前記他の作業者に対して割当てる処理を、前記月単位作業時間が前記月間作業量基準値を下回るまで、若しくは、他の作業者に対して割当て可能な作業が無くなるまで、行うことを特徴とする。
上記構成によれば、休日の作業を他の作業者に割振った後にも、作業時間が基準値を超過している場合には、平日の作業を他の作業者に割振ることにより、作業時間が基準値を超過している作業者の作業量が調節される。これにより、作業時間超過者の休日をできるだけ確保した後に、平日の作業量が調整される処理とされる。
請求項6のスケジュール割当てシステムは、請求項4又は請求項5に記載のスケジュール割当てシステムであって、一日作業量基準値を前記記憶装置に格納することにより、前記休日割当作業を他の作業者に割当てる処理を行った後又は前記平日割当作業を他の作業者に割当てる処理を行った後に、前記制御装置によって、前記作業テーブルから各作業者の日単位の作業時間を算出し、当該日単位作業時間が前記一日作業量基準値を超えている作業日を有する作業者が存在した場合には、当該作業者に割当てられている前記作業日の各作業の中で、他の作業者に対して割当て可能な作業があるか否かを判別し、これがあった場合には、当該割当て可能な作業を前記他の作業者に対して割当てる処理を、前記日単位作業時間が前記一日作業量基準値を下回るまで、若しくは、他の作業者に対して割当て可能な作業が無くなるまで、行うことを特徴とする。
上記構成によれば、一日単位の作業時間が「一日作業量基準値」を超える作業者が存在する場合には、他の作業者に移動可能である作業かあるか否かが判別され、これがあった場合には、他の作業者への作業の移動(再割当て)処理が行われる。これにより、一日の作業時間が基準値を超過している作業者の作業量が調節される。
請求項7のスケジュール割当てシステムは、請求項3乃至請求項6の何れか1つに記載のスケジュール割当てシステムであって、前記入力装置に対する、前記各作業者に対して割当てられた前記各作業の作業終了情報の入力を受付け、これがあった場合には、当該作業に作業終了情報を対応付けて前記作業内容テーブルに格納することにより、当該作業内容テーブルの更新処理があった際若しくは所定時期の到来時に、前記制御装置によって、前記作業内容テーブルの前記作業終了情報を使用して前記作業実績テーブルを更新することを特徴とする。
上記構成によれば、ユーザからの入力により、作業が終了したものに対しては「作業終了情報」が対応付けられて作業内容テーブルに格納され、当該作業内容テーブルが有する情報を基に、作業実績テーブルの更新処理が行われる。
請求項8のスケジュール割当てシステムは、請求項3乃至請求項7の何れか1つに記載のスケジュール割当てシステムであって、作業実績とスキル情報補正値とが対応付けられて格納される実績スキル判断テーブルを前記記憶装置に格納することにより、前記制御装置によって、前記作業実績テーブルから各作業者の前記各作業対象装置に対する作業を行った実績を取得し、当該取得した作業実績に対応するスキル情報補正値を前記実績スキル判断テーブルから取得し、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を補正することを特徴とする。
上記構成によれば、作業実績テーブルに格納されている「各作業者の各作業対象装置に対する作業を行った実績」が取得され、これに対応する「スキル情報補正値」を使用して、スキル情報テーブルの該当スキル情報が補正される。
請求項9のスケジュール割当てシステムは、請求項3乃至請求項8の何れか1つに記載のスケジュール割当てシステムであって、前記顧客からの、前記各作業者が行った作業に対する評価情報が格納される評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される評価スキル判断テーブルを前記記憶装置に格納することにより、前記制御装置によって、前記評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得し、当該取得した評価情報に対応するスキル情報補正値を前記評価スキル判断テーブルから取得し、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新することを特徴とする。
上記構成によれば、評価情報テーブルに格納されている「各作業者の各作業対象装置に行った作業に対する顧客による評価情報」が取得され、これに対応する「スキル情報補正値」を使用して、スキル情報テーブルの該当スキル情報が補正される。
請求項10のスケジュール割当てシステムは、請求項3乃至請求項9の何れか1つに記載のスケジュール割当てシステムであって、前記各作業者の所属部署に属する他者による、当該作業者が行った作業に対する評価情報が格納される所属部署評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される所属部署評価スキル判断テーブルを前記記憶装置に格納することにより、前記制御装置によって、前記所属部署評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得し、当該取得した評価情報に対応するスキル情報補正値を前記所属部署評価スキル判断テーブルから取得し、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新することを特徴とする。
上記構成によれば、所属部署評価情報テーブルに格納されている「各作業者の各作業対象装置に行った作業に対する“各作業者の所属部署に属する他者”による評価情報」が取得され、これに対応する「スキル情報補正値」を使用して、スキル情報テーブルの該当スキル情報が補正される。なお、“各作業者の所属部署に属する他者”とは、例えば、所属部署の管理者などである(なお、必ずしも上司である必要は無い)。
請求項11のスケジュール割当てシステムは、請求項3乃至請求項10の何れか1つに記載のスケジュール割当てシステムであって、前記各作業者自身による、自己が行った作業に対する評価情報が格納される自己評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される自己評価スキル判断テーブルを前記記憶装置に格納することにより、前記制御装置によって、前記自己評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得し、当該取得した評価情報に対応するスキル情報補正値を前記自己評価スキル判断テーブルから取得し、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新することを特徴とする。
上記構成によれば、自己評価情報テーブルに格納されている「各作業者の各作業対象装置に行った作業に対する“自己”による評価情報」が取得され、これに対応する「スキル情報補正値」を使用して、スキル情報テーブルの該当スキル情報が補正される。
請求項12のスケジュール割当てシステムは、請求項1乃至請求項11の何れか1つに記載のスケジュール割当てシステムであって、前記各作業者の所属部署情報が格納される所属テーブルを前記記憶装置に備えることにより、前記制御装置によって、前記作業テーブル及び前記所属テーブルから、所定期間における各部署ごとの総作業量を算出し、前記出力装置に各部署別の所定期間内の総作業量をグラフ表示する、又は、前記作業テーブルから、所定期間における各作業者ごとの総作業量を算出し、前記出力装置に各作業者別の所定期間内の総作業量をグラフ表示する、又は、前記入力装置からの指示によって選択された作業者の各作業日ごとの総作業量を前記作業テーブルから算出し、前記出力装置に前記選択された作業者の日別の総作業量をグラフ表示する、ことを特徴とする。
上記構成によれば、部署ごとや作業者ごとなどの項目別に負荷(総作業量)が算出され、これらがグラフ化されて表示されるため、各作業者間や各部署間などにおける負荷量の隔たりを一瞥にて認識することができる。なお、“所定期間”とは、例えば、月単位や、週単位などであり、予め記憶装置内に保持されている若しくはユーザによって選択されること等により定められる。また、“部署”とは、各作業者が帰属するなんらかのグループの単位を示すものである。
請求項13の作業スケジュール割当てプログラムは、作業時間と指定日時若しくは指定期間の属性を有する作業を各作業者に割当てるためのスケジュール割当てシステムであって、制御装置と、ユーザに対する入力インターフェースである入力装置と、ユーザに対する出力インターフェースである出力装置と、前記各作業者に前記各作業が対応付けられて格納される作業テーブル及び前記各作業が有する情報が格納される作業内容テーブルを記憶する記憶装置と、を備えるシステムの前記制御装置に、前記入力装置に対する前記作業の割当要求の有無を判別するステップと、当該割当要求があった場合には、前記作業テーブルを参照して各作業者の空き時間を取得するステップと、前記割当要求があった作業が有する指定日時若しくは指定期間情報及び作業時間情報とから当該割当要求作業を割当てるべき時間帯を取得するステップと、前記空き時間と、前記割当てるべき時間帯と、を比較することによって前記割当要求作業を割当て可能な作業者が存在するか否かを判別するステップと、割当て可能である場合には当該割当て可能な作業者に前記割当要求作業を対応付けて前記作業テーブルに格納するステップと、割当て可能な作業者が存在しなかった場合には、前記作業テーブルと前記作業内容テーブルとを参照して前記割当てるべき時間帯において既に割当てられている各作業の指定日時若しくは指定期間情報を取得することにより、移動可能な作業があるか否かを判別するステップと、移動可能な作業があった場合には当該移動可能作業を移動すると共に前記割当要求作業の割当てを行うステップと、を実行させることを特徴とする。
請求項14の作業スケジュール割当てプログラムは、請求項13記載の作業スケジュール割当てプログラムであって、前記各作業者と当該作業者のスキル情報が対応付けられて格納されるスキル情報テーブルが前記記憶装置に記憶されており、前記作業が当該作業を遂行するために必要なスキルを示すスキル情報の属性を備えることにより、前記作業割当要求があった際には、前記制御装置に、当該割当要求があった作業が有するスキル情報と前記スキル情報テーブルから得られる各作業者のスキル情報とを比較することにより必要なスキルを有する作業者を判別するステップを実行させ、これによって得られた必要スキルを有する作業者に対してのみ前記割当要求作業の割当て処理を実行させることを特徴とする。
請求項15の作業スケジュール割当てプログラムは、請求項14記載の作業スケジュール割当てプログラムであって、前記各作業者と当該作業者の前記各作業対象装置に対する作業を行った実績と前記各顧客を担当した実績とが格納される作業実績テーブルが前記記憶装置に記憶されており、前記作業が作業対象装置に関する属性と作業対象装置を有する顧客に関する属性とを有し、前記スキル情報テーブルに格納される前記スキル情報が前記作業対象装置に関する属性を有することにより、前記必要なスキルを有する作業者を判別するステップにおいて前記作業対象装置に対するスキルを有するか否かの判別も行い、前記作業割当て処理時に割当て可能な作業者が複数存在した場合には、これらの作業者に該当する前記作業対象装置の作業実績若しくは前記作業対象装置を有する顧客を担当した実績を前記作業実績テーブルから取得するステップと、当該取得した作業実績若しくは担当実績を利用して前記割当要求作業を割当てる作業者を選択するステップと、を実行させることを特徴とする。
請求項16の作業スケジュール割当てプログラムは、請求項13乃至請求項15の何れか1つに記載の作業スケジュール割当てプログラムであって、前記各作業者の休日情報が格納される勤務シフトテーブルと、月間作業量基準値と、が前記記憶装置に格納されることにより、前記作業テーブルから各作業者の月単位の作業時間を算出するステップと、当該月単位作業時間が前記月間作業量基準値を超える作業者が存在するか否かを判別するステップと、これが存在した場合には当該作業者の休日を前記勤務シフトテーブルから取得して休日に割当てられている作業があるか否かを前記作業テーブルを参照して判別するステップと、これがあった場合には当該休日に割当てられている作業を他の作業者に対して割当て可能であるか否かを判別するステップと、割当て可能な作業者が存在した場合には当該作業者に前記休日割当作業の割当てを実行する処理を前記月単位作業時間が前記月間作業量基準値を下回るまで若しくは他の作業者に対して割当て可能な休日作業が無くなるまで、実行させることを特徴とする。
請求項17の作業スケジュール割当てプログラムは、請求項16記載の作業スケジュール割当てプログラムであって、前記休日割当作業を他の作業者に割当てる処理を行った後に、依然として前記月単位作業時間が前記月間作業量基準値を超えているか否かを判別するステップと、これが越えていた場合には当該作業者に割当てられている平日の各作業の中で他の作業者に対して割当て可能な作業があるか否かを判別するステップと、これがあった場合には当該割当て可能な作業を前記他の作業者に対して割当てる処理を前記月単位作業時間が前記月間作業量基準値を下回るまで若しくは他の作業者に対して割当て可能な作業が無くなるまで、実行させることを特徴とする。
請求項18の作業スケジュール割当てプログラムは、請求項16又は請求項17に記載の作業スケジュール割当てプログラムであって、一日作業量基準値を前記記憶装置に格納することにより、前記休日割当作業を他の作業者に割当てる処理を行った後又は前記平日割当作業を他の作業者に割当てる処理を行った後に、前記作業テーブルから各作業者の日単位の作業時間を算出するステップと、当該日単位作業時間が前記一日作業量基準値を超えている作業日を有する作業者が存在するか否かを判別するステップと、これが存在した場合には当該作業者に割当てられている前記作業日の各作業の中で他の作業者に対して割当て可能な作業があるか否かを判別するステップと、これがあった場合には当該割当て可能な作業を前記他の作業者に対して割当てる処理を前記日単位作業時間が前記一日作業量基準値を下回るまで若しくは他の作業者に対して割当て可能な作業が無くなるまで、実行させることを特徴とする。
請求項19の作業スケジュール割当てプログラムは、請求項15乃至請求項18の何れか1つに記載の作業スケジュール割当てプログラムであって、前記入力装置に対する前記各作業者に対して割当てられた前記各作業の作業終了情報の入力を受付けるステップと、これがあった場合には当該作業に作業終了情報を対応付けて前記作業内容テーブルに格納するステップと、当該作業内容テーブルの更新処理があった際若しくは所定時期の到来時に前記作業内容テーブルの前記作業終了情報を使用して前記作業実績テーブルを更新するステップと、を実行させることを特徴とする。
請求項20の作業スケジュール割当てプログラムは、請求項15乃至請求項19の何れか1つに記載の作業スケジュール割当てプログラムであって、作業実績とスキル情報補正値とが対応付けられて格納される実績スキル判断テーブルを前記記憶装置に格納することにより、前記作業実績テーブルから各作業者の前記各作業対象装置に対する作業を行った実績を取得するステップと、当該取得した作業実績に対応するスキル情報補正値を前記実績スキル判断テーブルから取得するステップと、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を補正するステップと、を実行させることを特徴とする。
請求項21の作業スケジュール割当てプログラムは、請求項15乃至請求項20の何れか1つに記載の作業スケジュール割当てプログラムであって、前記顧客からの、前記各作業者が行った作業に対する評価が格納される評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される評価スキル判断テーブルを前記記憶装置に格納することにより、前記評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得するステップと、当該取得した評価情報に対応するスキル情報補正値を前記評価スキル判断テーブルから取得するステップと、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新するステップと、を実行させることを特徴とする。
請求項22の作業スケジュール割当てプログラムは、請求項15乃至請求項21の何れか1つに記載の作業スケジュール割当てプログラムであって、前記各作業者の所属部署に属する他者による、前記各作業者が行った作業に対する評価が格納される所属部署評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される所属部署評価スキル判断テーブルを前記記憶装置に格納することにより、前記所属部署評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得するステップと、当該取得した評価情報に対応するスキル情報補正値を前記所属部署評価スキル判断テーブルから取得するステップと、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新するステップと、を実行させることを特徴とする。
請求項23の作業スケジュール割当てプログラムは、請求項15乃至請求項22の何れか1つに記載の作業スケジュール割当てプログラムであって、前記各作業者自身による、自己が行った作業に対する評価が格納される自己評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される自己評価スキル判断テーブルを前記記憶装置に格納することにより、前記自己評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得するステップと、当該取得した評価情報に対応するスキル情報補正値を前記自己評価スキル判断テーブルから取得するステップと、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新するステップと、を実行させることを特徴とする。
請求項24の作業スケジュール割当て方法は、作業時間と指定日時若しくは指定期間の属性を有する作業を各作業者に割当てるためのスケジュール割当てシステムにおける作業スケジュール割当て方法であって、前記各作業者に前記各作業を対応付けて管理し、前記各作業が有する情報を管理することにより、前記作業の割当要求があった場合には、各作業者の空き時間を取得し、前記割当要求があった作業が有する指定日時若しくは指定期間情報及び作業時間情報とから当該割当要求作業を割当てるべき時間帯を取得し、前記空き時間と、前記割当てるべき時間帯と、を比較することによって前記割当要求作業を割当て可能な作業者が存在するか否かを判別し、割当て可能である場合には当該割当て可能な作業者に前記割当要求作業を割当て、一方、割当て可能な作業者が存在しなかった場合には、前記割当てるべき時間帯において既に割当てられている各作業の指定日時若しくは指定期間情報を取得して移動可能な作業があるか否かを判別し、移動可能な作業があった場合には当該移動可能作業を移動すると共に前記割当要求作業の割当てを行うことを特徴とする。
請求項25の作業スケジュール割当て方法は、請求項24記載の作業スケジュール割当て方法であって、前記作業は、当該作業を遂行するために必要なスキルを示すスキル情報の属性を備え、前記各作業者と当該作業者のスキル情報とを対応付けて管理することにより、前記作業割当要求があった際には、当該割当要求があった作業が有するスキル情報と、各作業者のスキル情報とを比較することにより、必要なスキルを有する作業者にのみ作業の割当てを行うことを特徴とする。
請求項26の作業スケジュール割当て方法は、請求項25記載の作業スケジュール割当て方法であって、前記作業が作業対象装置に関する属性と作業対象装置を有する顧客に関する属性とを備え、前記スキル情報が前記作業対象装置に関する属性を有し、前記各作業者と当該作業者の前記各作業対象装置に対する作業を行った実績と前記各顧客を担当した実績とを対応付けて管理することにより、前記必要なスキルを有する作業者の判別において前記作業対象装置に対するスキルを有するか否かの判別も行い、前記作業割当て時に、割当て可能な作業者が複数存在した場合には、これらの作業者に該当する、前記作業対象装置の作業実績、若しくは、前記作業対象装置を有する顧客を担当した実績を取得し、当該取得した作業実績若しくは担当実績を利用して、前記割当要求作業を割当てる作業者の選択を行うことを特徴とする。
請求項27の作業スケジュール割当て方法は、請求項24乃至請求項26の何れか1つに記載の作業スケジュール割当て方法であって、前記各作業者の休日情報と、月間作業量基準値と、を前記記憶装置に格納することにより、前記各作業者の月単位の作業時間を算出し、当該月単位作業時間が前記月間作業量基準値を超える作業者が存在した場合には、当該作業者の休日に割当てられている作業があるか否かを判別し、これがあった場合には、当該休日に割当てられている作業を、他の作業者に対して割当て可能であるか否かを判別し、割当て可能な作業者が存在した場合には、当該作業者に対する前記休日割当作業の割当てを実行する処理を、前記月単位作業時間が前記月間作業量基準値を下回るまで、若しくは、他の作業者に対して割当て可能な休日作業が無くなるまで行うことを特徴とする。
請求項28の作業スケジュール割当て方法は、請求項27記載の作業スケジュール割当て方法であって、前記休日割当作業を他の作業者に割当てる処理を行った後に、依然として前記月単位作業時間が前記月間作業量基準値を超えている場合には、当該作業者に割当てられている平日の各作業の中で、他の作業者に対して割当て可能な作業があるか否かを判別し、これがあった場合には、当該割当て可能な作業を前記他の作業者に対して割当てる処理を、前記月単位作業時間が前記月間作業量基準値を下回るまで、若しくは、他の作業者に対して割当て可能な作業が無くなるまで、行うことを特徴とする。
請求項29の作業スケジュール割当て方法は、請求項27又は請求項28に記載の作業スケジュール割当て方法であって、一日作業量基準値を前記記憶装置に格納することにより、前記休日割当作業を他の作業者に割当てる処理を行った後又は前記平日割当作業を他の作業者に割当てる処理を行った後に、各作業者の日単位の作業時間を算出し、当該日単位作業時間が前記一日作業量基準値を超えている作業日を有する作業者が存在した場合には、当該作業者に割当てられている前記作業日の各作業の中で、他の作業者に対して割当て可能な作業があるか否かを判別し、これがあった場合には、当該割当て可能な作業を前記他の作業者に対して割当てる処理を、前記日単位作業時間が前記一日作業量基準値を下回るまで、若しくは、他の作業者に対して割当て可能な作業が無くなるまで、行うことを特徴とする。
本発明の請求項1の、作業時間と指定日時若しくは指定期間の属性を有する作業を、各作業者に割当てるためのスケジュール割当てシステムであって、制御装置と、ユーザに対する入力インターフェースである入力装置と、ユーザに対する出力インターフェースである出力装置と、前記各作業者に前記各作業が対応付けられて格納される作業テーブル及び前記各作業が有する情報が格納される作業内容テーブルを記憶する記憶装置と、を備えることにより、前記入力装置に対して前記作業の割当要求があった場合には、前記制御装置によって、前記作業テーブルを参照して各作業者の空き時間を取得し、前記割当要求があった作業が有する指定日時若しくは指定期間情報及び作業時間情報とから当該割当要求作業を割当てるべき時間帯を取得し、前記空き時間と、前記割当てるべき時間帯と、を比較することによって前記割当要求作業を割当て可能な作業者が存在するか否かを判別し、割当て可能である場合には当該割当て可能な作業者に前記割当要求作業を対応付けて前記作業テーブルに格納し、一方、割当て可能な作業者が存在しなかった場合には、前記制御装置によって、前記作業テーブルと前記作業内容テーブルとを参照して、前記割当てるべき時間帯において既に割当てられている各作業の指定日時若しくは指定期間情報を取得することにより、移動可能な作業があるか否かを判別し、移動可能な作業があった場合には当該移動可能作業を移動すると共に前記割当要求作業の割当て処理を行うことを特徴とするスケジュール割当てシステムによれば、例えば、作業時間に指定がある作業の割当要求があった場合であって、当該作業を割当て可能な(指定時間帯に空きがある)作業者が存在しなかった場合には、指定時間帯に既に割当てられている作業の中に移動可能な作業(必ずしも指定時間帯に実行する必要が無い作業など)があるか否かが判別され、移動可能な作業があった場合には当該作業の移動処理がされるため、スケジュール割当を効率的に行うことが可能となる。即ち、例えば、作業者Aに作業1(作業日時が指定されていない作業)を割当てた後に、作業日時が指定された作業2(作業1が割当てられた時間と重なる日時に指定されている作業)が発生したような場合に、一旦、作業者Aに対する作業1の割当てを解除した上で、作業2を作業者Aに割当てる処理が行われるため、突発(後発)的に作業日時に指定のある作業が発生しても、柔軟且つ効率的に対応することができるのである。
本発明の請求項7の、前記入力装置に対する、前記各作業者に対して割当てられた前記各作業の作業終了情報の入力を受付け、これがあった場合には、当該作業に作業終了情報を対応付けて前記作業内容テーブルに格納することにより、当該作業内容テーブルの更新処理があった際若しくは所定時期の到来時に、前記制御装置によって、前記作業内容テーブルの前記作業終了情報を使用して前記作業実績テーブルを更新することを特徴とする請求項3乃至請求項6の何れか1つに記載のスケジュール割当てシステムによれば、当該スケジュール割当てシステムに対するユーザからの「作業終了」の旨の入力に基づいて、作業実績テーブルの更新処理が行われるため、消化されたスケジュールに対してユーザが“作業済み”の入力を行うことのみによって、各作業者の作業実績のデータが蓄積されていく(スケジューリングされた「作業」が有する情報(例えば、作業対象装置やこれを有する顧客に関する情報など)が蓄積される)ため、利便性に優れる。
本発明の請求項8の、作業実績とスキル情報補正値とが対応付けられて格納される実績スキル判断テーブルを前記記憶装置に格納することにより、前記制御装置によって、前記作業実績テーブルから各作業者の前記各作業対象装置に対する作業を行った実績を取得し、当該取得した作業実績に対応するスキル情報補正値を前記実績スキル判断テーブルから取得し、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を補正することを特徴とする請求項3乃至請求項7の何れか1つに記載のスケジュール割当てシステムによれば、「各作業者の各作業対象装置に対する作業を行った実績」に対応する「スキル情報補正値」を使用してスキル情報テーブルの該当スキル情報が補正されるため、逐一変化する作業者の能力を迅速に評価・適用させることが可能となる。
本発明の請求項9の、前記顧客からの、前記各作業者が行った作業に対する評価情報が格納される評価情報テーブルと、評価情報とスキル情報補正値とが対応付けられて格納される評価スキル判断テーブルを前記記憶装置に格納することにより、前記制御装置によって、前記評価情報テーブルから各作業者の前記各作業対象装置に行った作業に対する評価情報を取得し、当該取得した評価情報に対応するスキル情報補正値を前記評価スキル判断テーブルから取得し、当該取得したスキル情報補正値によって前記スキル情報テーブルの該当スキル情報を更新することを特徴とする請求項3乃至請求項8の何れか1つに記載のスケジュール割当てシステムによれば、顧客から得られる「各作業者の各作業対象装置に行った作業に対する評価情報」に、対応する「スキル情報補正値」を使用してスキル情報テーブルの該当スキル情報が補正されるため、作業者のスキルレベルに、客観的な判断要素(“作業者”が属する企業による判断ではなく、顧客による判断)を反映させることが可能となる。
図1は本実施例のスケジュール割当てシステムを有する企業のシステムの構成の概略を示すブロック図であり、図2は企業を構成する支店内のシステムの構成の一部(スケジュール割当てシステム)を示したブロック図である。図3〜図5、図7は、本実施例のスケジュール割当てシステムの動作のうち、本発明に関する部分の概略を示したフローチャートである。
システム1は、企業内に構築されるシステムであり、本社センタ11と各支店12とがネットワーク(プライベートネットワーク13)を介して相互に接続されることにより構成され、各所に配置される内部サーバやデータベース(以下単にDB)及びクライアントとなるPC等により、各種の業務処理が行われるものである。ここでは、本発明(スケジュール割当て)の概念を説明するために、サポート事業を営む企業における各支店12が担当する作業を、各支店内で各支店に属する作業者に割当てるスケジュール割当処理を実行するための構成・処理動作を例として用いる。なお、“作業”とは、顧客の装置(本システムを有する企業と保守契約を結んでいる顧客の装置)に対する定期点検作業や、顧客の装置で障害が発生した際の障害対策、顧客への装置納入作業などである。これらの各作業は、本社において発生するものや、各支店ごとに発生するものがあり、本実施例では、本社において発生した作業についても、担当する支店を定めることによって、各支店に割り振り、作業割当処理は、各支店内で行うものとする。
図2に示されるように、本実施例のスケジュール割当てシステム2(各支店12内に構成されるシステム)は、内部サーバ21(主に制御装置として動作するものであり、同時に入力装置や出力装置としても動作する)と、クライアントとなるPC22(主に入力装置や出力装置として動作する)と、DB23(主に記憶装置として動作する)とが、ネットワークセグメント24を介して相互に接続されることによって構成される。内部サーバ21には、各部の制御処理や演算処理等を行う制御部211、記憶部212、ユーザに対する出力インターフェース(モニタなど)である出力部213、入力インターフェース(キーボードやマウスなど)である入力部214、ネットワークセグメント24へのデータの送受信を行う通信部215などが備えられる。PC22にも同様に、制御部221、記憶部222、出力部223、入力部224、通信部225などが備えられる。
DB23には、作業テーブル、勤務シフトテーブル、スキル情報テーブル、作業実績テーブル、作業内容テーブルなどの各種のテーブルが格納される。
図10にはスキル情報テーブル(図10(a))と作業実績テーブル(図10(b)及び(c))の構成の一例を示した。図10(a)は、装置A(保守対象となる装置の内の1つ)に対するスキル情報テーブル111を示したものであり、各作業者の各作業内容(装置Aに対して実施する作業)に対するスキルレベル(本実施例では10段階の数値情報としている)が対応付けられて格納される。スキル情報テーブル111は、保守対象である各装置ごとに生成される。作業実績テーブル112は、装置作業実績テーブル1121(図10(b))と顧客担当実績テーブル1122(図10(c))とから構成され、装置作業実績テーブル1121には、各作業者の各装置に対する作業実績(本実施例では作業度数を示す数値情報としている)が格納され、顧客担当実績テーブル1122には、各作業者の各顧客に対する担当実績(本実施例では担当度数を示す数値情報としている)が格納される。
図6には勤務シフトテーブル113の構成の一例を示した。図に示されるように、勤務シフトテーブル113には、各作業者の勤務シフト情報(休日情報)が格納される。なお、上記したスキル情報テーブル111・作業実績テーブル112・勤務シフトテーブル113の各テーブルは、本実施例では、各支店12内で定められた若しくは得られた情報が、PC22の入力部224(若しくは内部サーバ21の入力部214)から適宜入力されることによって生成・更新され、DB23に蓄積されるものとする。
図9には作業内容テーブル114の構成の一例を示した。作業内容テーブル114は、本実施例のスケジュール割当てシステムによって各作業者に割当てられる各作業に関する情報が格納されるテーブルであり、図に示されるように、各作業を識別する作業コードに、作業対象の装置(保守対象となる装置)と、当該装置を有する顧客と、作業内容と、当該作業を実行する為に必要となるスキルと、作業を実施する指定時間と、等を示す情報が対応付けられて格納される。
図8には作業テーブルの概念の一例を示した。同図の作業テーブル115は、特定の1日分のデータを示している。作業テーブル115は各作業者に割当てられる作業の作業コードが時間情報と共に対応付けられて格納されるものである(図では、例えば、作業者CCCに作業4444が午前8時から午前10時まで割当てられていることを示している)。上記した作業テーブル115・作業内容テーブル114の各テーブルは、以下で説明する作業割当処理において生成・更新され、DB23に蓄積されるものである。なお、上記各テーブルを示した各図は、理解の容易のために示したものであって本発明をこれらの構成に限るというものではなく、以下で説明する本発明の概念に沿って、各情報の関連付けがなされて保持されるものであればよい。また、各テーブル内に格納される各情報は、以下で説明する本発明の概念に沿った属性を備えているものであればよく、各情報の形式の違い(例えば、「作業者」を示す情報として、具体的な作業者名を使用するのか作業者コードを使用するかの違いなど)によって本発明の技術的範囲が変動するものではない。
以上の構成を有するスケジュール割当てシステム2の、本発明に関する動作の概略を、図3〜図5、図7を参照しつつ説明する。
図3はスケジュール割当て処理の動作の概略を示したフローチャートである。当該処理は、PC22の入力部224(若しくはサーバ21の入力部214)に対して、作業割当要求があった際に内部サーバ21において実行される処理であり、作業割当要求は、前述した作業内容テーブル114が有する情報と同様の情報が入力されることによって行われる。即ち、作業対象の装置と、当該装置を有する顧客と、作業内容と、当該作業を実行する為に必要となるスキルと、作業を実施する指定時間と、等を示す情報が作業割当要求時に入力される。なお、作業によっては必要のない情報も存在する(例えば、作業時間の指定が無い作業については、指定時間に関する情報はない。なお、作業時間の指定が無いことを示す情報を付与するものであってもよい)。また、作業コードは、作業割当要求の入力があった際にシステム側で割当てるものであってもよいし、入力者が入力するものであっても構わない。各作業は、“作業を実施するのに必要な時間(例えば2時間)”の属性も有しているが、当該作業実施時間は、作業割当要求時に上記情報と共に入力者によって入力され、作業内容テーブル114に格納されるものであっても構わないし、各作業(作業コード)と各作業に要する標準的な作業実施時間情報とを対応付けて格納したテーブルを備えさせることにより、必要に応じて当該“作業実施標準時間テーブル”から作業実施時間を得るようにしてもよい。
上記した作業割当要求があった際には、当該要求時に入力された情報を作業内容テーブル114に格納すると共に、割当要求作業が有するスキル情報(作業割当要求時に入力されたスキル情報)を、スキル情報テーブル111と比較することによって、割当要求作業を実行可能な作業者が存在するか否かを判別する(ステップ301)。当該判別は、例えば、割当要求作業が、装置Aに対する作業XXXであって必要スキルレベルが8であった場合には、装置Aに該当するスキル情報テーブル111を参照して、作業XXXのスキルレベルが8以上の作業者が存在するか否かを判別することによって行われる。なお、内部サーバ21やPC22における各処理動作は、入力されたデータ(入力部や通信部、記憶部から得られるデータ)を、記憶部に保存する等しつつ制御部によって演算処理し、これによって得られた演算結果を記憶部に保存若しくは出力部に出力若しくは通信部から(DBへの格納要求等として)送出することによって行う。以下の各処理を実行する主体についても基本的に同様の概念である。
ステップ301の判別の結果、必要なスキルを保有する作業者が支店内にいなかった場合には、他の支店への応援依頼をする(図4ステップ401)。当該処理は、割当不能であった(作業を実行可能な作業者がいなかった)作業を本社センタ11に通知し、本社センタ11において、当該作業を担当させる別の支店を定めることや、割当不能であった支店から直接他の支店へ割当不能作業の実行を依頼すること等によって行う。
ステップ301の判別が肯定であった(必要スキル保持者がいた)場合には、ステップ302へと移行して、割当要求作業に作業日時の指定があるか否かを判別する。当該判別の結果、作業日時の指定があると判断された場合には、ステップ303へと移行して、必要スキル保持者の中で、指定日時にスケジュールが空いている作業者が存在するか否かを、作業テーブル115を参照することによって判別する。当該判別の結果、スケジュールが空いているスキル保持者がいなかった場合には、ステップ304へと移行する。ステップ302の判別の結果、作業日時の指定が無いと判断された場合、又は、ステップ303の判別の結果、スケジュールが空いている作業者が存在すると判断された場合には、ステップ305へと移行する。なお、「指定日時にスケジュールが空いているか否か」の判別では、割当要求作業が有する指定日時情報と、前記した作業実施時間とから得られる“必要な時間帯”にスケジュールの空きがあるか否かによって判別が行われる(例えば、指定日時が「2月23日17:00までに作業完了」というものであり、作業実施時間が「2時間」とされている場合には、2月23日の17:00までに、2時間の空き時間があるか否かによって判別され、指定日時が「2月24日13:00から作業開始」というものであり、作業実施時間が「1時間」とされている場合には、2月24日の13:00〜14:00に空きがあるか否かによって判別される)。“作業実施時間”は前述のごとく、割当要求時に入力されるものや、予め作業ごとに定められているものであってよく、又、顧客の所在地によって“作業実施時間”を補正(移動時間を考慮)したり、各作業者のスキルレベルによって“作業実施時間”を補正する(熟練者である場合には“標準的な作業実施時間”より短い時間とする等)などしてもよい。
ステップ304では、必要スキル保持者に既に割当てられている作業の中に、指定日時に割当てられている作業で移動可能な作業があるか否かを判別する。当該判別は、作業テーブル115を参照して、指定日時において必要スキル保持者に既に割当てられている作業の作業コードを取得し、作業内容テーブル114を参照して、当該取得した作業コードに該当する作業に指定時間が割当てられているか否かを判別することによって行われる。なお、作業日時の指定が、“3月中に実施する”というような指定である場合には、作業日時の指定がある作業であっても「移動可能な作業」と判別することが可能である。ステップ304の判別の結果、指定日時に割当てられている作業が移動可能であることにより、必要スキル保持者の指定日時のスケジュールを空けることが可能であると判断された場合には、ステップ305へと移行し、これが不能であると判断された場合には、他の支店への応援依頼をする(図4ステップ401)。
ステップ305では、割当要求作業を割当てる作業者を選択する処理を行う。当該処理は、割当要求作業を割当てることが可能な作業者が複数いた場合(即ち、必要スキルを有する作業者が複数存在し、割当要求作業に作業日時の指定が無い場合や、指定日時にスケジュールが空いている作業者が複数いる場合、指定日時に割当てられている作業が移動可能であることにより指定日時のスケジュールを空けることが可能な作業者が複数いる場合)に、割当要求作業を割当てる作業者を選択するものであり、当該選択は、装置作業実績テーブル1121を参照することによって割当要求作業の作業対象装置に対する作業実績が最も多い者を取得することにより、又は、顧客担当実績テーブル1122を参照することによって割当要求作業の作業対象装置を有する顧客に対する担当実績が最も多い者を取得することにより、又は、スキル情報テーブル111を参照することによって割当要求作業の作業内容に対するスキルレベルが最も高い者を取得することにより、行う。なお、これらの判断要素のうち、何れを重視するかは各企業若しくは各支店の方針などにより適宜選択される。又、ここでは実績やスキルレベルの高い作業者(即ち能力の高い者)から作業割当対象者を選択するものを例示したが、能力の低い者から優先して選択するものであってもよい(能力の高い者はこなせる作業も多い為、直ぐにスケジュールが埋まってしまい、作業割当が効率的にできなくなる事態が生じ得るためこれを抑止する趣旨、又は、能力の低い者に積極的に作業を割り振ることで、経験を積ませ、能力を向上させるという趣旨による)。
ステップ305によって割当要求作業を割当てる作業者が選択された後には、当該割当要求作業の作業コードを、作業テーブル115に、選択された作業者と対応付けて格納することにより、作業割当を実施する(ステップ306)。
ステップ307では、移動が必要な作業(ステップ304で移動可能な作業があると判別され、ステップ306で割当要求作業が割当てられることにより移動が必要となった作業)があるか否かを判別し、これがあった場合には、当該移動作業を新たな“割当要求作業”としてステップ301へと戻り、上記処理を繰返す(移動作業の割当て処理を行う)。
ステップ301〜ステップ307の作業割当処理が終了した後は、ステップ308において各作業者の負荷(作業量)を平準化する処理を行う。図5に、ステップ308において実行される作業負荷平準化処理の概略を示した。
ステップ501〜ステップ503は、各作業者の月単位の作業量を平準化するための処理であって、休日の作業量を調整させる処理である。ステップ501では、各作業者の月単位の作業量を作業テーブル115から算出する。続くステップ502では、月単位の作業量が“月間作業量基準値”(当該基準値は予め設定されて記憶部212に格納されている)を超えている作業者を取得し、当該作業者の休日を勤務シフトテーブル113を参照して取得し、休日に割当てられている作業があるか否かを作業テーブル115を参照することによって判別し、これがあった場合にはこれらの作業にマーキングする。当該マーキングは例えば、該当作業の作業コードと作業者情報とを格納した一時テーブルを生成することなどによって行う(図11に当該テーブルの一例を示した)。なお、当該マーキングは当該平準化処理を行った当日以前については行わない(前日以前については変更する意味が無く、又当日についても意味がないか、作業者が変更に対応不能となるからである。なお、作業者の対応を考慮して“当日から3日以降の作業に対してのみマーキングを行う”というように、適宜猶予期間を変更する等してもよい。また、即時対応可能な体制が整っているのであれば、当日の作業についてもマーキングしても構わない)。
ステップ503では、マーキングされた作業の移動(再割当)処理が行われる。当該割当て処理は、「月単位の作業量が“月間作業量基準値”を超えている作業者(即ち図11の一時テーブルに格納された作業者)」以外の作業者に、マーキングされた作業を割当てる(移動させる)処理であり、割当ての処理概念自体は、基本的に図3のステップ301〜ステップ307と同様であるが、前述のごとく、割当て対象者から「月単位の作業量が“月間作業量基準値”を超えている作業者」を除くと共に、ステップ305における割当て者の選択処理においては、作業テーブル115から月単位の作業量を算出することにより、月単位の作業量が少ないものを最優先して割当て対象者を選択する。また、作業割当(移動)可能な作業者が存在しなかった場合には、当該作業については移動(再割当)処理を行わずに次のマーキングされた作業に移行する。当該処理を全てのマーキングされた作業(図11の一時テーブルに格納された作業)に対して行う。
ステップ504〜ステップ507は、各作業者の月単位の作業量を平準化するための処理であって、平日の作業量を調整させる処理である。ステップ504では、作業テーブル115から、各作業者の月単位の作業量を算出し直すと共に、各作業者の各日(平日)の作業量を算出する。続くステップ505では、月単位の作業量が“月間作業量基準値”を超えている作業者を取得し、当該作業者の平日に割当てられている作業にマーキングする(前述と同様に当日以前の作業についてはマーキングしない)。当該マーキングは前述と同様に一時テーブルを生成することなどによって行う。
ステップ506では、マーキングされた作業の移動(再割当)処理が行われる。当該割当て処理は、「月単位の作業量が“月間作業量基準値”を超えている作業者」以外の作業者に、マーキングされた作業を割当てる(移動させる)処理であり、割当ての処理概念自体は、基本的に図3のステップ301〜ステップ307と同様であるが、前述のごとく、割当て対象者から「月単位の作業量が“月間作業量基準値”を超えている作業者」を除くと共に、ステップ305における割当て者の選択処理においては、月単位の作業量が少ない者を最優先し且つ日単位の作業量が少ない者を優先して割当て対象者を選択する。また、作業割当(移動)可能な作業者が存在しなかった場合には、当該作業については移動(再割当)処理を行わずに次のマーキングされた作業に移行する。当該処理を、全てのマーキングされた作業に対する処理が終わるまで、若しくは、月単位の作業時間が“月間作業量基準値”を超えている作業者がいなくなるまで、実行する。
ステップ507では、作業テーブル115から、各作業者の月単位の作業量を算出し直すと共に、各作業者の各日(平日)の作業量を算出し直して、月単位の作業時間が“月間作業量基準値”を超えている作業者が未だ存在する場合には、他の支店への応援依頼をする。
ステップ508〜ステップ510は、各作業者の日単位の作業量を平準化するための処理である。ステップ508では、作業テーブル115から、各作業者の各日の作業量を算出し直して、日単位の作業量が“一日作業量基準値”(当該基準値は予め設定されて記憶部212に格納されている)を超えている作業者・作業日を取得し、当該作業日に当該作業者に割当てられている作業にマーキングする(前述と同様に当日以前の作業についてはマーキングしない)。当該マーキングは前述と同様に一時テーブルを生成することなどによって行う。
ステップ509では、マーキングされた作業の移動(再割当)処理が行われる。当該割当て処理は、「日単位の作業量が“一日作業量基準値”を超えている作業者」以外に、マーキングされた作業を割当てる(移動させる)処理であり、割当ての処理概念自体は、基本的に図3のステップ301〜ステップ307と同様であるが、前述のごとく、割当て対象者から「日単位の作業量が“一日作業量基準値”を超えている作業者」を除くと共に、ステップ305における割当て者の選択処理においては、日単位の作業量が少ない者を最優先して割当て対象者を選択する。また、作業割当(移動)可能な作業者が存在しなかった場合には、当該作業については移動(再割当)処理を行わずに次のマーキングされた作業に移行する。当該処理を、全てのマーキングされた作業に対する処理が終わるまで、若しくは、日単位の作業時間が“一日作業量基準値”を超えている作業者がいなくなるまで、実行する。
ステップ510では、作業テーブル115から、各作業者の各日の作業量を算出し直して、日単位の作業時間が“一日作業量基準値”を超えている作業者が未だ存在する場合には、他の支店への応援依頼をする。
なお、“月間作業量基準値”や“一日作業量基準値”を、「警告値」と「警戒値」の2段階(複数)の値で設定し、先ずは「警告値」を超えている者に対しての作業の平準化処理(図5)を行い、当該処理の後に「警戒値」を超えている者に対しての作業の平準化処理を再度実行するようにしてもよい。このようにすることで、「警告値」を超えた者に対して優先して負荷を軽減し(作業を他者に移動させ)、次いで、「警戒値」を超えた者に対して負荷を軽減させるといった処理が可能となり、有用である。
以上のごとく、本実施例のスケジュール割当てシステム2によれば、例えば、作業時間に指定がある作業の割当要求があった場合であって、当該作業を割当て可能な(指定時間帯に空きがある)作業者が存在しなかった場合には、指定時間帯に既に割当てられている作業の中に移動可能な作業(必ずしも指定時間帯に実行する必要が無い作業)があるか否かが判別され、移動可能な作業があった場合には当該作業の移動処理がされるため、スケジュール割当を効率的に行うことが可能となる。即ち、例えば、作業者Aに作業1(作業日時が指定されていない作業)を割当てた後に、作業日時が指定された作業2(作業1が割当てられた時間と重なる日時に指定されている作業)が発生したような場合に、一旦、作業1の作業者Aに対する割当てを解除した上で、作業2を作業者Aに割当てる処理が行われるため、突発(後発)的に作業日時に指定のある作業が発生しても、柔軟且つ効率的に対応することができるのである(本実施例で示した保守サービス業務で言えば、定期点検作業や、顧客への装置納入作業などが、前もって予定可能な作業であり、これらに基づいてスケジューリングが行われた後に、顧客の装置で障害が発生した際の障害対策のための作業(突発作業)が発生した場合にも柔軟且つ効率的に再スケジューリングが行われるのである)。
また、一通りスケジューリングが行われた後に、各作業者間の負荷を平準化する処理が実行される為、例えば、作業者Aと作業者Bに作業1〜4(何れの作業も、作業者Aも作業者Bも実行可能な作業)を作業量が均等となるように、作業者Aには作業1と2を、作業者Bには作業3と4をそれぞれ割当てた後に、作業者Aしか実行できない作業5と作業6が発生した場合に、作業者Aに作業5と作業6がそのまま割当てられてしまい、作業者Aと作業者Bとの間の負荷に不均衡が生じてしまった場合であっても、その後の作業者間の負荷の平準化処理によって、作業者Aと作業者Bの間の負荷の平準化が行われるため、非常に有用である。
なお、図7に、スケジュール割当者(以下オペレータ)によって、負荷の平準化を手動で行う処理の概略を示した。手動バランス調整処理の実行要求があった場合には、図12に示されるような手動バランス調整処理画面を表示する(ステップ701)。当該画面の負荷グラフ表示エリア1101には、各作業者の当月分の負荷(作業量)を示す月別負荷グラフと、当日分の負荷(作業量)を示す日別負荷グラフとが、作業テーブル115から算出された情報を基に表示される(ステップ702)。各グラフは、日又は月の指定を行うことができ、当該指定があった場合には(ステップ703)、指定のあった日又は月の各負荷グラフを作業テーブル115から算出された情報を基に生成し、表示する(ステップ706)。なお、それぞれのグラフの、「警告値」と「警戒値」は、前述した“月間作業量基準値”と“一日作業量基準値”を2段階設定したものである。
オペレータは、表示された負荷グラフを参照することで、負荷が「警告値」と「警戒値」を超えている作業者を認識し、負荷量の調整が必要と認められる作業者を、調整対象表示エリア1102の入力ボックス11021に入力して、検索ボタン11022を押す(なお、グラフ中をクリックすることなどにより作業者を選択させてもよい)。当該入力があった際には(ステップ704)、選択された作業者の該当する日の作業テーブル115の内容を調整対象表示エリア1102に表示させる(ステップ707)。当該表示された作業テーブル中の作業(作業コード)を選択された場合には(ステップ708)、選択された作業に関する情報を作業内容テーブル114から取得して、表示する(ステップ712)。
オペレータは、表示された負荷グラフや、調整対象表示エリア1102の内容を参照して、移動(再割当て)させる作業を決定し、当該調整対象作業の内容から(調整対象表示エリア1102に表示されている情報から)、調整対象作業を割当てる対象者の条件を定め、これを割当対象表示エリア1103の条件入力ボックス11031に入力し、検索ボタン11032を押す。当該入力があった際には(ステップ711)、条件に適合する作業者を、スキル情報テーブル111や作業実績テーブル112や作業テーブル115を参照して取得し、適合した各作業者の該当する日の作業テーブル115の内容を割当対象表示エリア1103に表示させる(ステップ713)。
オペレータは、表示された負荷グラフや、割当対象表示エリア1103の内容を参照して、作業を割当てる作業者を決定し、割当入力ボックス11033に入力し、割当ボタン11034を入力する。当該入力があった際には(ステップ714)、調整対象作業を移動させる処理(作業テーブル115の内容を更新する処理)を行い(ステップ715)、ステップ702へと戻って(当該変更を適用した負荷グラフを生成する)処理を繰返す。
ステップ708〜ステップ711のループの間に調整対象者(負荷量の調整が必要と認められる作業者)の再選択(ステップ709)や、調整対象作業の再選択(ステップ708)があった場合には、その都度選択された作業者の作業テーブル115の内容表示(ステップ707)や、選択された作業に関する情報を作業内容テーブル114から取得して表示する(ステップ712)。なお、終了ボタン1104の入力があった際(ステップ705若しくはステップ710)には、処理を終了する。
上記のような手動バランス調整処理により、より柔軟に、スケジューリングを行うことが可能となる。即ち、システムには不可能な若しくはシステムには実行させるべきではない判断(例えば、状況に応じて、必要スキルレベルを有していない作業者に対して作業割当を行うこと等)を、人によって行い、負荷バランスが均等化するように作業の再割当てを行うことによって、より柔軟且つ有効なスケジューリングを行うことができるのである。上記の手動バランス調整処理によれば、各作業者の負荷がグラフによって表示され、警戒値や警告値の表示もなされ、再割当てを行った結果がグラフに直ぐに反映されるため、全体の負荷バランスを一瞥にて認識することができ、利便性に優れるものである。
図13〜図19は、本実施例のスケジュール割当てシステムの、本発明に関する処理動作の概念を示したフローチャートである。なお、本実施例のスケジュール割当てシステムのハードウェア的な構成は、基本的に実施例1と同様であるため、図1〜図2を参照しつつ説明を加える。
本実施例のスケジュール割当てシステムは、実施例1と同様に、サポート事業を営む企業において、各作業を各作業者に割当てるスケジュール割当処理を実行するためのものであるが、本実施例においては、各支店12の各作業者への作業の割当を本社センタ11内で一括して行うものとし、実施例1において支店12内の内部サーバ21が有していた“スケジュール割当処理を主に実行する機能”は、本実施例では、本社センタ内の内部サーバ31(構成は内部サーバ21(図2)と同様)に備えられるものとする。また、実施例1において支店12内のDB23に格納されていた各種テーブル(スキル情報テーブル・作業実績テーブル・勤務シフトテーブル・作業内容テーブル・作業テーブル等)は、本社センタ内のDB33に格納されているものとする(本社センタ内のDB33にのみ格納されるということではなく、支店12内のDB23に格納されていてもよい)。各テーブルの構成は基本的に実施例1と同様であるが、本実施例における装置作業実績テーブルは、図24に示されるように、各作業者の各装置に対する作業実績が、各作業内容ごとに格納される(図24には、装置Aに対する各作業者の作業実績が格納される装置作業実績テーブルを示しており、このようなテーブルが各装置ごとに生成されることで、装置作業実績テーブルが構成される)。
以上の構成を有するスケジュール割当てシステムの、本発明に関する動作の概略を、図13〜図19を参照しつつ説明する。
図13はスケジュール割当て処理の動作の概略を示したフローチャートである。当該処理は、前述したように、本社センタ11内の内部サーバ31において主に実行される処理である。ステップ1301では、所定時刻(予め内部サーバ31の記憶部に格納されている情報であり、例えば、午前0時)が到来したか否かを判別し、所定時刻である場合には、“作業実績収集・蓄積処理”を行う(ステップ1303)。
図18は、図13のステップ1303で実行される“作業実績収集・蓄積処理”の動作の概略を示したフローチャートである。なお、DB33に格納されている装置作業実績テーブル2401(図24)は、後に説明する“作業実績入力処理”により、各作業者の作業実績が随時蓄積されていくものである。また、DB33には、図23に示されるような、評価情報テーブル2301と、図22に示されるような、実績スキル判断テーブル2201(図22(a))、評価スキル判断テーブル2202(図22(b))が、格納されているものとする。
評価情報テーブル2301(図23)は、各作業者が行った作業に対する顧客からの評価が蓄積・格納されるテーブルであり、当該テーブルへの情報の収集・蓄積は、例えば、アンケートハガキのようなものを用意して顧客に記入・投函してもらい、これによって得られた情報を本社センタ11内のPC32等からオペレータが入力することによって、評価情報テーブル2301に蓄積するものや、電子メールやWebサイトの入力フォームを利用するなどして、顧客に各作業者が行った作業に対する評価を送信して貰い、これによって(インターネットを介して)得られた情報を評価情報テーブル2301に自動的に蓄積するもの等による。本実施例における評価情報テーブル2301は、各作業者の各装置に対する各作業内容についての顧客による評価情報(本実施例では、5段階評価の数値情報であって、各顧客から得られた評価情報を平均したもの)が格納されるものである。評価スキル判断テーブル2202(図22(b))は、顧客による評価情報に対応した補正値が格納されるテーブルであり、実績スキル判断テーブル2201(図22(a))は、作業実績に対応した補正値が格納されるテーブルである。
“作業実績収集・蓄積処理”(図18)が実行された際には、DB33に格納されている装置作業実績テーブル2401(図24)から、各作業者の各装置・各作業内容に対する作業実績を取得し、これに対応する補正値を実績スキル判断テーブル2201(図22(a))から取得し、当該補正値によって、スキル情報テーブル111(図10(a))の該当値を補正する処理を行う(ステップ1801)。当該処理は、例えば、作業者AAAの装置Aに対する作業XXXの作業実績(図24では“70”)を装置作業実績テーブル2401から取得し、これに該当する補正値(図22(a)では“1.3”)を実績スキル判断テーブル2201から取得して、当該補正値によってスキル情報テーブル111の、作業者AAAの装置Aに対する作業XXXのスキル情報(10)を補正する(スキル情報に補正値を乗じる等。なお、スキル情報が最大値(10)である場合には、1.3を乗じて13にするのではなく、10のままとする。)ことによって行う。
続くステップ1802では、評価情報テーブル2301(図23)から、各作業者の各装置・各作業に対する評価情報を取得し、対応する補正値を評価スキル判断テーブル2202(図22(b))から取得し、当該補正値によって、スキル情報テーブル111(図10(a))の該当値を補正する処理を行う。当該処理は、例えば、作業者AAAの装置Aに対する作業YYYの評価情報(図23では“4”)を評価情報テーブル2301から取得し、これに該当する補正値(図22(b)では“1.1”)を評価スキル判断テーブル2202から取得して、当該補正値によってスキル情報テーブル111の、作業者AAAの装置Aに対する作業YYYのスキル情報(8)を補正する(スキル情報に補正値を乗じる等)ことによって行う。なお、補正の方法(補正値の定め方や、補正の計算方法など)を、上記したものに限定するものではなく、適宜選択することが可能である。
当該“作業実績収集・蓄積処理”が定期的に実行されることにより、各作業者の作業実績や作業に対する顧客の評価が、各作業者のスキル情報に反映されて、スキル情報テーブル111に格納されることとなる。なお、内部サーバ31やPC32等における各処理動作は、入力されたデータ(入力部や通信部、記憶部から得られるデータ)を、記憶部に保存する等しつつ制御部によって演算処理し、これによって得られた演算結果を記憶部に保存若しくは出力部に出力若しくは通信部から(DBへの格納要求等として)送出することによって行う。以下の各処理を実行する主体についても基本的に同様の概念である。
図13の“スケジュール割当て処理”に戻って説明を続ける。ステップ1302では、スケジュール割当要求の有無を判別し、これがあった場合に、ステップ1304において、割当てる作業内容の条件を取得すると共に入力された情報を作業内容テーブル114に格納する。当該処理は、実施例1と基本的に同様の概念であり、PC32(本社センタ11内のPCであり、構成はPC22(図2)と同様)の入力部(若しくは内部サーバ31の入力部)に対して、作業割当要求があった際に、当該割当要求作業に関する情報(作業内容テーブル114(図9)が有する情報と同様の情報)の入力を求め、これを取得することによって行われる。なお、本実施例では、当該情報の中に、作業担当支店の指定に関する情報(例えば、特定の支店に行わせたい作業である場合に入力される情報)も含まれる場合があるものとする。
続くステップ1305では、“作業担当支店選択処理”が実行される。図14は、当該“作業担当支店選択処理”の動作の概略を示したフローチャートである。
“作業担当支店選択処理”が実行されると、割当要求作業に支店の指定があるか否かを判別し(ステップ1401)、これがあった場合には、当該指定された支店を結果として出力する(ステップ1408)。一方、支店の指定が無かった場合には、割当要求作業が有するスキル情報(作業割当要求時に入力されたスキル情報)をスキル情報テーブル111と比較することで割当要求作業を実行可能な作業者を取得し、当該作業者がいる支店の中から、顧客(割当要求作業が有する顧客情報)に最も近い支店を取得する(ステップ1402)。当該処理は、各作業者と所属支店が格納される所属テーブル(図20(a))や、各支店の所在地情報が格納されるテーブル(図20(b))、顧客の所在地情報が格納されるテーブル(図20(c))などを、DB33若しくは内部サーバ31の記憶部等に格納しておき、各テーブルの情報を比較・演算すること等によって行う。
続くステップ1403では、ステップ1402で取得された支店に所属する全作業者の当月分の総作業量(即ち当該支店に割当てられて総作業量)を、作業テーブル115を参照することによって算出し、当該支店の総作業量が基準値(予め定められて内部サーバ31の記憶部等に格納されている)を超えていないかを判別する(ステップ1404)。総作業量が基準値以下であった場合には、当該支店を結果として出力する(ステップ1408)。一方、総作業量が基準値を越えていた場合には、スキル所有者のいる支店の中から次に顧客に近い支店を取得する(ステップ1405)。ステップ1404〜ステップ1405の処理を支店の取得ができなくなるまで繰返し(ステップ1406)、支店の取得ができなかった場合(スキル所有者のいる支店がなくなった場合)には、担当支店を選択できなかった旨を出力して(ステップ1407)、“作業担当支店選択処理”を終了する。なお、“支店の総作業量”とは、単純に「支店に所属する全作業者の当月分の作業量」を合算したものであっても構わないが、本実施例では、これを支店に所属する作業者数で割ることにより“当該支店における作業者1人あたりの総作業量”としたものとする。また、“支店の取得”(ステップ1402や、ステップ1405)の際には、顧客からの距離(移動所要時間情報など)が一定値(予め定められて記憶部に格納されている)以下の支店のみを対象とする。
当該“作業担当支店選択処理”によって、顧客に近い支店であって、且つ、総作業量が基準値を超えていない支店が、割当要求作業を担当させる支店の候補として選択される。
図13の“スケジュール割当て処理”に戻って説明を続ける。ステップ1306では、“作業担当支店選択処理”によって支店が取得されたか否かを判別し、支店が取得されていた場合には、割当要求作業に作業日時の指定があるか否かを判別する(ステップ1307)。当該判別の結果、作業日時の指定があると判断された場合には、ステップ1308へと移行して、選択された担当支店に所属する必要スキル保持者の中で、指定日時にスケジュールが空いている作業者が存在するか否かを、作業テーブル115(図8)を参照することによって判別する。作業日時の指定が無かった場合(ステップ1307)、若しくはスケジュールが空いている必要スキル保持者がいた場合には(ステップ1308)、ステップ1313へと移行して“作業者の選択・作業割当処理”を実行する。
図15は、“作業者の選択・作業割当処理”の動作の概略を示したフローチャートである。
ステップ1501では、割当要求作業に対する必要スキル保持者(選択された担当支店に所属する作業者中で、割当要求作業を実行するスキルと時間(スケジュールの空き)を有する者)が複数いるか否かを判別し、1人しかいない場合には以降のステップ1502〜ステップ1506における処理をスキップして、当該作業者に割当要求作業を割当てる処理(作業テーブル115に、割当要求作業の作業コードを、該当作業者と時間とに対応付けて格納する処理)を行って(ステップ1507)、“作業者の選択・作業割当処理”を終了する。
必要スキル保持者(作業割当可能な作業者)が複数存在した場合には、作業テーブル115(図8)から各必要スキル保持者の当月分の作業量を算出して(ステップ1502)、当月分の作業量が最小の必要スキル保持者を取得する。当月分の作業量が最小の必要スキル保持者が複数いた場合には(ステップ1503)、これらの作業者の当日(割当要求作業の作業日)分の作業量を算出して(ステップ1504)、当日分の作業量が最小の必要スキル保持者を取得する。当日分の作業量が最小の必要スキル保持者が複数いた場合には、これらの作業者の中から割当要求作業を割当てる作業者を選択する処理(装置作業実績テーブル2401を参照することによって割当要求作業の作業対象装置に対する作業実績が最も多い(若しくは少ない)者を取得することにより、又は、顧客担当実績テーブル1122を参照することによって割当要求作業の作業対象装置を有する顧客に対する担当実績が最も多い(若しくは少ない)者を取得することにより、又は、スキル情報テーブル111を参照することによって割当要求作業の作業内容に対するスキルレベルが最も高い(若しくは低い)者を取得する処理)を行う(ステップ1506)。
ステップ1502〜ステップ1503、若しくは、ステップ1504〜ステップ1505、若しくは、ステップ1506の各処理によって、割当要求作業を割当てる作業者が選択された場合には、当該作業者に割当要求作業を割当てる処理を行って(ステップ1507)、“作業者の選択・作業割当処理”を終了する。
当該“作業者の選択・作業割当処理”によって、作業割当可能な作業者が複数いた場合には、当月分の作業量が少ない順に、次いで、当日分の作業量が少ない順に、作業の割当が行われる事となる。
図13の“スケジュール割当て処理”に戻って説明を続ける。“作業者の選択・作業割当処理”によって、割当要求作業の割当処理が行われた後は、ステップ1301へと戻って、以下処理を繰返す。
一方、ステップ1308において、選択された担当支店に所属する必要スキル保持者の中で指定日時にスケジュールが空いている作業者が存在しないと判断された場合には、ステップ1309へと移行して“再割当処理”を実行する。
図16は、“再割当処理”の動作の概略を示したフローチャートである。
ステップ1601では、割当対象者に必要スキル保持者(割当要求作業を実行可能な作業者)が存在するか否かを、スキル情報テーブル111(図10(a))を参照して判別する。「割当対象者」とは、図13のステップ1304(図14の処理)で選択された作業担当支店に所属する作業者であって、以下で説明するステップ1607で対象外とされた作業者を除いたものである(従って、最初に“再割当処理”が実行された際には、「割当対象者」は、作業担当支店に所属する全作業者を示す)。
割当対象者に必要スキル保持者が存在した場合には、当該必要スキル保持者を抽出して格納したスキル所持者テーブルを生成する(ステップ1602)。図21にスキル所持者テーブルの一例を示した。続くステップ1603では、当該抽出されたスキル所持者の数を変数nに代入して内部サーバ31の記憶部に記憶させる。
続くループ1内の処理は、各スキル所持者(ステップ1602で抽出されたスキル所持者)に対して、割当要求作業を割当てることが可能であるか否か(割当要求作業の指定日時に既に割当てられている作業を移動可能であるか否か)を判別し、可能であった場合には割当てられていた作業の移動と割当要求作業の割当処理を行うものである。
ループ1内のステップ1604では、スキル所持者i(スキル所持者テーブル210(図21)のi番目の作業者)に対して、割当要求作業の指定日時に既に割当てられている作業に、指定日時の指定があるか否かを、作業テーブル115(図8)と作業内容テーブル114(図9)を参照して判別し、割当要求作業の指定日時に既に割当てられている作業に指定日時の指定が無く、これを移動することによって(若しくは指定日時にスケジュールの空きがあることにより)割当要求作業をスキル所持者iに割当てることが可能である場合には、ループ1の処理を終了して、割当要求作業をスキル所持者iに割当てると共に、割当てられていた作業の再割当てを行う処理(必要ない場合もある)を行う(ステップ1611)。当該再割当てを行う処理は、“割当てられていた作業”を“割当要求作業”とした上で、図13のステップ1305〜ステップ1313の処理を実行させるのと同様の概念である。ステップ1611によって作業の割当てができた後には、「割当完了」を出力して(ステップ1612)、“再割当処理”を終了する。
ステップ1604における判断結果が肯定であった場合(スキル所持者iに対して、割当要求作業の指定日時に既に割当てられている作業が、指定日時作業であった場合)には、割当要求作業をスタックに格納(ステップ1605)する。続くステップ1606では、スキル所持者iに対して割当要求作業の指定日時に既に割当てられている作業を新たな“割当要求作業”とし、ステップ1607では「割当対象者」からスキル所持者iを除いた上で新たな“割当要求作業”に対する“再割当処理”(図16の処理)を実行させる(即ち再帰呼び出し処理となる)。
続くステップ1608では、ステップ1607における再帰呼び出し処理によって、「割当完了」が得られたか否かを判別し、「割当完了」が得られた場合には、スタックに格納されている作業を取り出して作業を割当てる処理を行い(ステップ1609)、「割当完了」を出力して(ステップ1612)、“再割当処理”を終了する。一方、ステップ1608における判断結果が否定であった場合(「割当完了」が得られなかった場合)には、iをインクリメントして、ループ1の処理を繰返す(スキル所持者テーブル210(図21)の、次のスキル所持者に対する処理を実行する)。スキル所持者テーブル210の全てのスキル所持者に対する処理を実行しても「割当完了」が得られなかった場合には、ループ1の処理を終了し、「割当候補者不在」を出力して(ステップ1610)、“再割当処理”を終了する。
以上の“再割当処理”の動作の概略を具体例によって補足する。図8の作業テーブル115を用いて説明すると、例えば、割当要求作業(以下作業7777)が09:00〜11:00の作業時間(ここでは“日”に関する情報は省略する)を指定されていて、スキルレベルの条件から、作業者AAAのみが行える作業であり、作業者AAAに既に割当てられている作業1111が09:00〜12:00の作業時間を指定されていて、スキルレベルの条件から、作業者BBBには行えない作業であり、作業者CCCに既に割当てられている作業4444が08:00〜11:00の作業時間を指定されていて、スキルレベルの条件から、作業者AAA〜作業者CCCの何れも行える作業であったとした場合(作業者AAA〜作業者CCCは同一支店に所属しているものとする)に、“再割当処理”が実行されると、作業7777に対するスキル所持者テーブル210(上記条件から、作業者AAAのみのテーブルとなる)が生成されて(ステップ1602)、ループ1の処理に移行する。
ステップ1604の判断では、作業1111が日時指定作業であるため、“Yes”となり、続くステップ1605で、作業7777がスタックに格納される。続くステップ1606で作業1111が新たな“割当要求作業”とされ、割当対象者から作業者AAAが除かれた上で“再割当処理”が再帰呼び出し(以下、再帰呼び出し1)される(ステップ1607)。
呼び出された“再割当処理”(再帰呼び出し1)において、作業1111に対するスキル所持者テーブル210(作業者AAAが割当対象者から除かれているため、作業者CCCのみのテーブルとなる)が生成されて(ステップ1602)、ループ1の処理に移行する。ステップ1604の判断では、作業4444が日時指定作業であるため、“Yes”となり、続くステップ1605で、作業1111がスタックに格納される。続くステップ1606で作業4444が新たな“割当要求作業”とされ、割当対象者から作業者CCCが除かれた上で“再割当処理”が再帰呼び出し(以下、再帰呼び出し2)される(ステップ1607)。
呼び出された“再割当処理”(再帰呼び出し2)において、作業4444に対するスキル所持者テーブル210(作業者AAAと作業者CCCが割当対象者から除かれているため、作業者BBBのみのテーブルとなる)が生成されて(ステップ1602)、ループ1の処理に移行する。ステップ1604の判断では、作業者BBBのスケジュールが空いているため、“No”となり、ステップ1611へと移行して、作業者BBBに対して作業4444が割当てられ(これにより作業者CCCのスケジュールが空く)、「割当完了」を出力して(ステップ1612)、再帰呼び出し2を終了する。
再帰呼び出し1では、再帰呼び出し2から「割当完了」が出力されたことにより、ステップ1609へと移行し(ステップ1608)、スタックから作業1111を取り出してこれを作業者CCCに割当てる(再帰呼び出し1では、割当対象者から作業者AAAが除かれているため、作業1111を割当てることができるのは作業者CCCとなる)処理を行い(これにより作業者AAAのスケジュールが空く)、「割当完了」を出力して(ステップ1612)、再帰呼び出し1を終了する。
最初に実行された“再割当処理”では、再帰呼び出し1から「割当完了」が出力されたことにより、ステップ1609へと移行し(ステップ1608)、スタックから作業7777を取り出してこれを作業者AAAに割当てる処理を行い、「割当完了」を出力して(ステップ1612)、“再割当処理”を終了する。当該処理後の作業テーブル115を図29に示した。
なお、作業者BBBにも既に日時指定作業(以下、作業5555とする)が割当済みであった場合には、再帰呼び出し2のステップ1604の判断で、作業5555が日時指定作業であるため、“Yes”となり、続くステップ1605で、作業4444がスタックに格納される。続くステップ1606で作業5555が新たな“割当要求作業”とされ、割当対象者から作業者BBBが除かれた上で“再割当処理”が再帰呼び出し(以下、再帰呼び出し3)される(ステップ1607)。呼び出された“再割当処理”(再帰呼び出し3)では、ステップ1601の判断が“No”となり(作業担当支店に、作業者AAA〜作業者CCCしか存在しないとした場合、割当対象者が存在しない為)、「割当候補者不在」を出力して(ステップ1610)、再帰呼び出し3を終了する。再帰呼び出し2では、再帰呼び出し3から「割当候補者不在」が出力されたことにより、ステップ1608における判別が“No”となり、ループ1を終了(作業4444に対するスキル所持者テーブル210が、作業者BBBのみのテーブル(n=1)であるため)し、「割当候補者不在」を出力して(ステップ1610)、再帰呼び出し2を終了する。再帰呼び出し1では、再帰呼び出し2から「割当候補者不在」が出力されたことにより、ステップ1608における判別が“No”となり、ループ1を終了(作業1111に対するスキル所持者テーブル210が、作業者CCCのみのテーブル(n=1)であるため)し、「割当候補者不在」を出力して(ステップ1610)、再帰呼び出し1を終了する。最初に実行された“再割当処理”では、再帰呼び出し1から「割当候補者不在」が出力されたことにより、ステップ1608における判別が“No”となり、ループ1を終了(作業7777に対するスキル所持者テーブル210が、作業者AAAのみのテーブル(n=1)であるため)し、「割当候補者不在」を出力して(ステップ1610)、“再割当処理”を終了することとなる。
図13の“スケジュール割当て処理”に戻って説明を続ける。“再割当処理”によって、「割当完了」が出力された場合には(ステップ1310)、ステップ1301へと戻って以下の処理を繰返す。一方、“再割当処理”によって、「割当完了」が得られなかった(「割当候補者不在」が出力された)場合には(ステップ1310)、ステップ1305で取得されていた作業担当支店を、担当支店の候補から除外した上で、ステップ1305へと戻って、担当支店の選択処理を再度実行させる(ステップ1311)。
ステップ1305の“作業担当支店選択処理”(図14の処理)によって支店が取得されなかった場合には(ステップ1306)、ステップ1312へと移行して“手動割当処理”を実行させる。“作業担当支店選択処理”によって支店が取得されなかったということは、本“スケジュール割当て処理”によって自動的に作業を割当てることができなかった場合であり、“手動割当処理”は、システムによって自動的に割当てることができなかった作業を手動(オペレータの判断によって)で割当させるものである。
図17は、“手動割当処理”の動作の概略を示したフローチャートである。
ステップ1701では、図25に示されるような「手動割当処理画面」を表示する。「手動割当処理画面」は、負荷グラフ表示エリア2510と、割当要求作業表示エリア2520と、作業者検索・割当エリア2530と、から構成される。当該画面は、内部サーバ31によって必要情報を各テーブルから取得して作業割当要求を送信してきたPC32に送信し、これを受信したPC32の制御部によって必要な画面構成処理が行なわれた上で、出力部に出力されるものである。
負荷グラフ表示エリア2510には、各支店の当月分の負荷(各支店に属する作業者の総作業量)を示す月別負荷グラフと、当日分の負荷(作業量)を示す日別負荷グラフとが、作業テーブル115から算出された情報を基に表示される(ステップ1702)。グラフ中の支店をクリックすることなどにより、支店の指定があった場合には(ステップ1703)、当該指定された支店に属する各作業者の当月分の負荷(作業量)を示す月別負荷グラフと、当日分の負荷(作業量)を示す日別負荷グラフと(それぞれ、実施例1(図12)の負荷グラフと同様のものである)を、作業テーブル115から算出された情報を基に表示する(ステップ1707)。全体(各支店)の負荷グラフ表示指示があった場合には(ステップ1704)、ステップ1702へと戻って、各グラフを再表示する。なお、ここにおける“当日”や“当月”とは、作業割当要求の作業指定日時に該当する日付である。
オペレータは、割当要求作業に関する情報(割当要求作業表示エリア2520)や、各支店若しくは各作業者の負荷(負荷グラフ表示エリア2510)を参照することによって、割当要求作業を割当てるべき作業者の条件(例えば、必要なスキル情報や、顧客担当実績や、作業実績や、スケジュールが空いている時間等)を定め、これを条件入力ボックスに入力して検索ボタン2531を入力する。当該入力があった際には(ステップ1705)、各テーブル(作業テーブル等)を参照して条件に該当する作業者を取得し、当該作業者の作業テーブル115(図8)の内容を、検索結果として表示する(ステップ1708)。
オペレータは、表示された内容を参照して、割当要求作業を割当てるべき作業者を決定し、作業者と作業日時を入力ボックスに入力して割当ボタン2532を入力する。当該入力があった際には(ステップ1706)、作業の割当処理を行って(ステップ1709)、“手動割当処理”を終了する。
“手動割当処理”によって、割当要求作業のオペレータによる手動の割当処理が行われた後は(図3:ステップ1312)、ステップ1301へと戻って、以下処理を繰返す。
以上の、“スケジュール割当て処理”によって、割当要求作業の割当処理が行われる。図19は、スケジュール割当てシステムによってスケジューリングされた各作業の、作業実績を入力させるための処理の概略を示したフローチャートである。なお、本実施例における作業内容テーブル114(図9)には、各作業(作業コード)に対応付けて作業履歴情報(“0”である場合には終了していない作業であることを示し、“1”である場合には作業済みであることを示す。作業割当要求時に新たな作業が作業内容テーブルに格納される際には、作業履歴情報として“0”が割当てられる)が格納されているものとする。
“作業実績入力処理”は、各作業者若しくは各支店の担当者が、各支店内のPC22を利用して、自己が実施した作業について、作業が終了したことを入力する処理である。ステップ1901では、図26に示されるような作業実績入力画面を表示し(PC22の出力部に表示される)、これに対する自己の名前の入力(パスワードの入力を求めるようにする等してもよい)と検索ボタン2601の入力があった場合には(ステップ1902)、該当する作業者の、既にスケジュール日時が経過している作業であって作業履歴が0である作業を、作業テーブル115(図8)と作業内容テーブル114(図9)とを参照して取得し、これらの作業を表示する(ステップ1903)。
作業者は、終了した作業の作業コードを入力し、OKボタン2602を入力する。当該入力があった場合には(ステップ1904)、作業内容テーブル114の当該作業コードに該当する作業履歴を1として、装置作業実績テーブル2401(図24)と、顧客担当実績テーブル1122(図10(c))の該当する作業実績をインクリメントする。ステップ1906では、終了ボタン2603の入力の有無を判別し、これが無い場合には、ステップ1903へと戻って「既にスケジュール日時が経過している作業であって作業履歴が0である作業の表示」を更新する。終了ボタン2603の入力があった場合には、“作業実績入力処理”を終了する。なお、装置作業実績テーブル2401(図24)と、顧客担当実績テーブル1122(図10(c))を更新する際に、該当する作業実績を単にインクリメントするのではなく、作業内容等に応じて、作業実績を増加させる量を増減させるようにしてもよい。例えば、作業時間と補正値を対応付けたテーブル(作業時間が長い場合には大きな補正値が、短い場合には小さな補正値が対応付けられたテーブル)を予め格納しておくことにより、装置作業実績テーブル2401や顧客担当実績テーブル1122の作業実績を更新する際には、実施した作業の作業時間に応じて(前記テーブルの補正値を利用して)作業実績を増加させる量を増減させたり、作業内容と補正値を対応付けたテーブル(高度な作業である場合には大きな補正値が、容易な作業である場合には小さな補正値が対応付けられたテーブル)を予め格納しておくことにより、装置作業実績テーブル2401や顧客担当実績テーブル1122の作業実績を更新する際には、実施した作業内容に応じて(前記テーブルの補正値を利用して)作業実績を増加させる量を増減させるなど。
以上のごとく、本実施例のスケジュール割当てシステムによれば、作業時間に指定がある作業の割当要求があった場合であって、当該作業を割当て可能な(指定時間帯に空きがある)作業者が存在しなかった場合には、指定時間帯に既に割当てられている作業の中に移動可能な作業があるか否かが判別され(指定時間がある作業についても移動の可否が判断される)、移動可能な作業があった場合には当該作業の移動処理がされるため、スケジュール割当を効率的に行うことが可能となる。また、当該スケジュール割当てシステムに対する作業者からの「作業終了」の旨の入力に基づいて、作業実績テーブルの更新処理が行われるため、消化されたスケジュールに対して作業者が“作業済み”の入力を行うことのみによって、各作業者の作業実績のデータが蓄積されていくため、利便性に優れる。
さらに、上記によって蓄積される「各作業者の各作業対象装置に対する作業を行った実績」に対応する「スキル情報補正値」を使用してスキル情報テーブルの該当スキル情報が補正されるため、逐一変化する作業者の能力を迅速に評価・適用させることが可能となると共に、顧客から得られる「各作業者の各作業対象装置に行った作業に対する評価情報」に、対応する「スキル情報補正値」を使用してスキル情報テーブルの該当スキル情報が補正されるため、作業者のスキルレベルに、客観的な判断要素(“作業者”が属する企業による判断ではなく、顧客の判断)を反映させることが可能となる。これと、“割当て済みの作業を移動(再割当)する処理”との相乗効果によって、より柔軟なスケジューリングを実行させることができる。即ち、例えば、作業Aを最初に割当てる処理が行われた時点では、当該作業Aを実行するだけのスキルを有しておらず、割当対象者とはならなかった者であっても、再割当処理時までの間に実績などの蓄積がなされることにより、再割当処理時には割当対象者(スキル所持者)となることができ、最初の割当処理を行った時点では割当てることができなかった作業Aを、再割当処理時には割当てることができる。といったことが可能となるため、より柔軟且つ効率的なスケジューリングを実行することができるのである。
なお、上記では、顧客からの評価情報を基に、スキル情報を補正するものとしているが、各作業者の上役(特に上役に限られるものではない)による評価や、各作業者自信の自己評価を基に、スキル情報を補正するもの(若しくはこれらの組み合わせ)であってもよい。図30には、このような“作業実績収集・蓄積処理”の動作の概略を示したフローチャートを示した。なお、DB33には、図31に示されるような、所属部署評価情報テーブル3101(図31(a))、自己評価情報テーブル3102(図31(b))と、図32に示されるような、所属部署評価スキル判断テーブル3201(図32(a))、自己評価スキル判断テーブル3202(図32(b))が、格納されているものとする。
所属部署評価情報テーブル3101(図31(a))、及び、自己評価情報テーブル3102(図31(b))は、評価情報テーブル2301(図23)と同様の構成であり、格納される評価情報は、各作業者の上司や各作業者本人によって適宜入力されて蓄積されるもの等であってよい。なお、“作業実績入力処理”(図19)の、作業が終了した旨を示す情報を入力する際に、各作業者本人によって自己の評価を入力させ、これを自己評価情報テーブル3102に蓄積させるような処理としてもよい。また、各作業者の上司による評価情報の入力は図34に示したような“作業実績管理者評価処理”によって行うようなものであってもよい。
図34の“作業実績管理者評価処理”は、“作業実績入力処理”(図19)に類似する処理であり、同様の処理概念となるものについては同一の符号を使用している。ステップ1901では、図33に示されるような作業評価入力画面を表示し(PC22の出力部に表示される)、これに対する自己(管理者)の名前の入力(パスワードの入力を求めるようにする等してもよい)と検索ボタンの入力があった場合には(ステップ1902)、当該管理者(上司)の部署に属する作業者の、作業履歴が1である作業であって、管理者評価がまだなされていない(以下で説明する管理者評価履歴が1でない)作業を、作業内容テーブル114(図9)を参照して取得し、これらの作業を表示する(ステップ3401)。
管理者は、評価を行う作業の作業コードと、評価を入力し、OKボタンを入力する。当該入力があった場合には(ステップ1904)、作業内容テーブル114の当該作業コードに対応付けて、管理者評価履歴を1として格納し(評価情報をそのまま対応付けて格納しても構わない)、所属部署評価情報テーブル3101(図31(a))の該当する値を更新する。
上記の各情報が格納された各テーブルを備えさせ、図30に示されるような、“作業実績収集・蓄積処理”を実行することにより、「各作業者の各作業対象装置に対する作業実績」や、「顧客から得られる各作業者の各作業対象装置に行った作業に対する評価情報」による、スキル情報の補正に加えて、作業者の上司や、作業者自信による評価情報によって、スキル情報の補正が行われる。図30の“作業実績収集・蓄積処理”は、図18の“作業実績収集・蓄積処理”と概念的には同様の処理であり、ステップ3001とステップ3002では、それぞれ、所属部署評価情報テーブル3101(図31(a))若しくは自己評価情報テーブル3102(図31(b))から、各作業者の各装置・各作業に対する評価情報を取得し、対応する補正値を、所属部署評価スキル判断テーブル3201(図32(a))若しくは自己評価スキル判断テーブル3202(図32(b))から取得し、当該補正値によって、スキル情報テーブル111(図10(a))の該当値を補正する処理を行う。なお、各補正値や、補正方法などを適宜選択することにより、顧客・管理者・作業者自身のそれぞれの評価のうち何れを優先して反映させるのか等を変更することができる(例えば、顧客からの評価をスキル情報に大きく反映させ、作業者自身による評価はあまりスキル情報に反映させない等)。
なお、上記処理によって、スキル情報の変動がある場合には、スキル情報テーブル111(図10(a))のスキル情報を更新する前に、当該情報を所定のPC(例えば、該当作業者の上司のPC)に送信して、更新の承認を求め、承認が得られた場合にスキル情報テーブル111(図10(a))のスキル情報を更新する処理とすることや、若しくは、更新の承認を求めることまでは行わず、スキル情報の変動があった場合に、その旨の情報を所定のPCに通知するような処理としてもよい。また、“作業実績蓄積処理”を本実施例のごとく所定期間ごとに実行するのではなく、予め定められた権限を有する者のみが実行可能な処理とし、当該権限を有する者からの実行要求があった際に“作業実績蓄積処理”を実行して、スキル情報の変動があると判断された場合には、これを表示して更新の承認を求める処理(例えば、支店長に当該権限を認め、支店長から“作業実績蓄積処理”の実行要求があった場合には、当該支店に属する作業者に対してのみ図30の処理を実行し、当該支店に属する作業者のスキル情報に変動がある場合には、更新の承認を求める処理とする)などとしてもよい。
また、本実施例のスケジュール割当てシステムによれば、作業割当要求があった際における、作業を担当させる支店を選択する処理において(図14)、総作業時間量が基準値を越えた支店を、担当支店から除外する処理としていることにより、各支店の負担の適正化が図られる。なお、「スキル所有者のいる支店であって、且つ、顧客へ訪問可能と判断される支店の中から、最も作業時間が少ない支店を選択する」というような処理とすること等により、より明確に各支店間の作業量の均等化を図るようにしてもよい。
また、割当処理(図15)において、割当可能な作業者が複数いた場合には、負荷の少ない者から作業の割当を行うようにしているため、各作業者間の負荷の均等化が図られる。
さらに、システムにて自動的に割当をすることができなかった作業については、図17の手動割当処理において、オペレータの判断によって作業の割当を行うことができるため、より柔軟に、スケジューリングを行うことが可能となる。即ち、システムには不可能な若しくはシステムには実行させるべきではない判断(例えば、状況に応じて、必要スキルレベルを有していない作業者に対して作業割当を行うことや、指定日時とは異なった日時に作業を割当てる等)を、人によって行わせることにより、柔軟且つ効率的にスケジューリングを行うことが可能となるのである。
なお、割当てを行う作業に、“優先度”の属性を持たせることにより、緊急度の高い作業を優先してスケジューリングするようにしてもよい。図27は、このような“優先度”の属性を持たせた作業の割当てを行う、スケジュール割当て処理の動作の概略を示したフローチャートである。なお、図13と同様の処理概念については同一の符号を使用し、ここでの説明を省略若しくは簡略化する。なお、“優先度”の情報(例えば、数値情報)は作業内容テーブル114(図9)に格納されるものとする。
スケジュールが空いているスキル所持者がいなかった場合(ステップ1308)に実行されるステップ2701では、割当要求作業に対して優先情報が付加されているか否かを判別し、これがあった場合には、ステップ2702へと移行して“優先作業割当処理”を実行する。
図28は、“優先作業割当処理”の動作の概略を示したフローチャートである。
ステップ2801では、スキル所持者(作業担当支店に属する作業者であって、割当要求作業を実行するのに必要なスキルを有する者)に、割当要求作業の指定日時に割当て済みの作業であって、割当要求作業より優先度が低い作業があるか否かを、作業テーブル115(図8)と作業内容テーブル114(図9)を参照することによって判別し、これが無かった場合には、ステップ2806へと移行して、「優先作業入替え処理無し」の旨を出力して“優先作業割当処理”を終了する。
一方、ステップ2801における判断が肯定であった場合(割当て済みの作業に優先度が低い作業があった場合)には、この中で最も優先度の低い作業が複数あるか否かを判別し(ステップ2802)、これが複数あった場合には、該当する作業(割当要求作業より優先度が低い作業であって、その中で最も優先度が低い作業)が割当てられている作業者から、スキル情報テーブル111と作業実績テーブル112(顧客担当実績テーブル1122及び装置作業実績テーブル2401)を参照して、スキルレベルと実績の最も高い者(若しくは低い者。実施例1で説明したように、企業の方針に沿って定められる。)を取得する(ステップ2803)。
ステップ2803の後、若しくは、ステップ2802における判断が否定であった場合(割当要求作業より優先度が低い作業であって、その中で最も優先度が低い作業が1つであった場合)には、選択された作業者(最も優先度が低い作業が割当てられていた作業者)に、割当要求作業を割当てる処理を行う(ステップ2804)。
続くステップ2805では、既に作業が割当てられていた時間に、割当要求作業が割当てられることにより、再割当が必要となった作業を、新たな“割当要求作業”として出力して、“優先作業割当処理”を終了する。例えば、図8の作業テーブル115において、作業時間が17:00〜18:00に指定された作業6666(作業者AAAのみ行える作業とする)の割当て要求があった場合、当該時間帯に既に割当てられている作業2222の優先度が作業6666よりも低かった場合には、作業6666が作業者AAAに割当てられ、作業2222が新たな“割当要求作業”として出力されることとなる。
図27の“スケジュール割当て処理”に戻って説明を続ける。“優先作業割当処理”からの出力が、「優先作業入替え処理無し」であった場合には(ステップ2703)、即ち、割当要求作業の割り当てが行われなかった(指定時間に割当てられている作業に割当要求作業よりも優先度が低い作業がなかった)ことを示すため、ステップ1309へと移行して“再割当処理”(図16)を実行する。
一方、ステップ2703における判断が否定であった場合には、即ち、割当要求作業の割り当てがなされ、これによって割当要求作業よりも優先度の低い作業の再割当が必要となっていることを示すため、ステップ1305へと移行して、当該再割当が必要な作業(“優先作業割当処理”から出力された新たな割当要求作業)の割当て処理を実行する。
以上のように、作業に、“優先度”の属性を持たせることで、緊急度の高い作業が優先してスケジューリングされる(上記説明に使用した処理によれば、優先度の高い作業である場合には、無条件で作業が割当てられる)ため、より利用価値の高いシステムとすることができる。
なお、実施例1で説明した処理と実施例2で説明した処理を相互に組み合わせるようにしてもよい(例えば、実施例2においても、図5の“作業負荷平準化処理”や図7の“手動負荷バランス調整処理”を実行させるなど)。
なお、実施例中では、本発明のスケジュール割当システムを説明するための具体例として、サポート事業を営む企業におけるスケジュール割当システムを用いて説明したが、本発明をこれに限るというものではなく、上述した概念に沿って、種々のスケジュール割当てに対して適用することができる。また、「スケジュール割当システム」とは、実施例における具体例のような、サーバやクライアント(PC)、DBがネットワークを介して相互に接続されて構成されるものに限られるものではなく、例えば1台のPCのみによって構成されるもの(PCが備える記憶部に各テーブルを格納し、入力部から入力される作業割当要求などに従って、上述した処理を、制御部などによって実行させるもの)であっても構わない。