(57)【要約】      （修正有）【課題】最適化されたスケジュール表の作成や修正が容易であり、コンピュータに過大な負荷をかけずに最適化できるスケジュール表作成装置を提供する。【解決手段】スケジュール表作成装置１の最適化処理部６において、第一フェーズ最適化部６１の休日設定部６１２が勤務表における全スタッフの非勤務日についてスケジュール設定を行う。第二フェーズ最適化部６２は、非勤務日のスケジュール設定が完了した勤務表モデルについて、時間毎シフト作成部６２２が全スタッフの勤務日における勤務シフトついてスケジュール設定を行い、勤務表を完成させる。非勤務日、勤務日における勤務シフトのそれぞれについて別途最適化が行われるため、最適化にあたってのそれぞれの問題規模が小さくなる。【選択図】図２
2008176417.tif 000002
【特許請求の範囲】
【請求項１】
企業等の被雇用者の勤務スケジュール表を自動的に作成するスケジュール表作成装置において、
前記スケジュール表において、特定のスケジュールについてスケジュール設定を行う特定スケジュール設定手段と、
前記特定のスケジュールのスケジュール設定が完了したスケジュール表について、前記特定のスケジュール以外のスケジュールについてのスケジュール設定を行う特定外スケジュール設定手段とを備えたことを特徴とするスケジュール表作成装置。
【請求項２】
前記特定スケジュール設定手段は、前記スケジュール表の作成対象である前記被雇用者全員の非勤務日を設定し、前記特定外スケジュール設定手段は、前記被雇用者全員の勤務日及び勤務態様を設定することを特徴とする請求項１に記載のスケジュール表作成装置。
【請求項３】
前記特定スケジュール設定手段及び前記特定外スケジュール設定手段のうち少なくとも何れか一方は、目標関数と所定の制約条件とを用いた整数計画によって前記スケジュール表の作成を行う整数計画ソルバーを有することを特徴とする請求項１又は２に記載のスケジュール表作成装置。
【請求項４】
前記被雇用者に業務上の負荷を発生させる特定の計測可能な数量としてのビジネス量の予測値を、時間帯毎に算出するビジネス量計算手段と、
該算出された時間帯毎の前記ビジネス量に基づいて必要人員数に変換した時間毎人員目標値を生成する時間毎目標生成手段とを備えたことを特徴とする請求項１乃至３の何れか一つに記載のスケジュール表作成装置。
【請求項５】
前記時間毎目標生成手段によって生成された時間帯毎の前記ビジネス量から所定の規則に基づいて日毎の勤務目標人数を定める日毎目標生成手段を備え、前記特定スケジュール設定手段は前記日毎目標生成手段において定められた前記日毎の勤務目標人数を前記スケジュールの設定に用いることを特徴とする請求項４に記載のスケジュール表作成装置。
【請求項６】
前記特定スケジュール設定手段及び前記特定外スケジュール設定手段のうち少なくとも何れか一方は、前記スケジュール表の作成対象である前記被雇用者の予め非勤務日となることが確定しているスケジュール情報を前記スケジュール表から除去する圧縮処理を行うモデル圧縮手段と、前記モデル圧縮手段によって圧縮処理の対象となった前記スケジュール情報を前記スケジュール表に合成するモデル復元手段とを備え、
前記モデル圧縮手段及び前記モデル復元手段が設けられた特定フェーズ設定手段及び前記特定外フェーズ設定手段のうち少なくとも何れか一方は、前記モデル圧縮手段によって圧縮処理が施された前記スケジュール表について前記特定スケジュール又は前記特定外スケジュールの設定を行い、前記モデル復元手段は前記設定の結果と前記圧縮処理によって削除されたデータとを合成させて前記スケジュール表を作成することを特徴とする請求項１乃至５の何れか一つに記載のスケジュール表作成装置。
【請求項７】
コンピュータを請求項１乃至６の何れか一つに記載のスケジュール表作成装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、企業従業員等の集団構成員のスケジュール表を自動作成する技術に関する。
【背景技術】
【０００２】
企業等においては、様々な場面で従業員等のスケジュール表を作成する必要が生ずる。例えば、複数の従業員が交代制で勤務に就くような状況で勤務スケジュール表を作成する場合、仕事量の増減、遵守しなければならない就業条件、更に各従業員の都合等に合わせて各従業員の勤務日、勤務時間、休日等を決める最適化（以下単に「最適化」と称する。）を行う必要がある。このようなスケジュール表作成における労力の軽減を図るため、従来、スケジュール表を自動的に作成する技術が提案されている。例えば、遺伝的アルゴリズムを用いて最適化を行う勤務スケジュール表作成装置の発明が知られている（例えば、特許文献１参照）。また、従業員の業務スキルを算出し、算出結果を元に人員配置を行う勤務スケジュール表作成装置の発明が知られている（例えば、特許文献２参照）。
【特許文献１】特開２００４−３１０５３０号公報
【特許文献２】特開平１１−１４３８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、一般に勤務スケジュール表のようなスケジュール表における最適化は、スケジュール表を形成する全体の日時、全従業員の都合、勤務態様の種類等を考慮して作成しなければならないため、最適化にあたっての問題規模は大きく、処理量は膨大になるという問題がある。また、例えば個々の従業員はプライベートの用事を優先して休日をとることが多いなど、スケジュール表の作成においてはルール化できない例外条件が本質的に多いという問題もある。また、例えば特定の従業員の休日を変更すると、他の従業員の勤務日を代わりに振り替えて労働力を確保しなければならないなど、スケジュール表の一箇所の変更に連動して複数箇所の変更が必要になることも本質的に多いという問題もある。これらの問題は、通常のコンピュータの自動処理によるスケジュール表の作成において解決することは困難である。そして、上記特許文献１、特許文献２の発明においてもこれらの問題を解決することはできないため、スケジュール表作成や修正における最適化における作業が煩雑になり、また処理量が膨大になってコンピュータの負荷が大きくなるという問題がある。
【０００４】
本発明は上記の問題に鑑みてなされたものであり、最適化されたスケジュール表の作成や修正が容易であり、かつコンピュータに過大な負荷をかけることなく最適化を行うことのできるスケジュール表作成装置を提供することを課題としている。
【課題を解決するための手段】
【０００５】
かかる課題を達成するために、請求項１に記載の発明は、企業等の被雇用者の勤務スケジュール表を自動的に作成するスケジュール表作成装置において、前記スケジュール表において、特定のスケジュールについてスケジュール設定を行う特定スケジュール設定手段と、前記特定のスケジュールのスケジュール設定が完了したスケジュール表について、前記特定のスケジュール以外のスケジュールについてのスケジュール設定を行う特定外スケジュール設定手段とを備えたことを特徴とする。
【０００６】
請求項２に記載の発明は、請求項１に記載の構成に加え、前記特定スケジュール設定手段は、前記スケジュール表の作成対象である前記被雇用者全員の非勤務日を設定し、前記特定外スケジュール設定手段は、前記被雇用者全員の勤務日及び勤務態様を設定することを特徴とする。
【０００７】
請求項３に記載の発明は、請求項１又は２に記載の構成に加え、前記特定スケジュール設定手段及び前記特定外スケジュール設定手段のうち少なくとも何れか一方は、目標関数と所定の制約条件とを用いた整数計画によって前記スケジュール表の作成を行う整数計画ソルバーを有することを特徴とする。
【０００８】
請求項４に記載の発明は、請求項１乃至３の何れか一つに記載の構成に加え、前記被雇用者に業務上の負荷を発生させる特定の計測可能な数量としてのビジネス量の予測値を、時間帯毎に算出するビジネス量計算手段と、該算出された時間帯毎の前記ビジネス量に基づいて必要人員数に変換した時間毎人員目標値を生成する時間毎目標生成手段とを備えたことを特徴とする。
【０００９】
請求項５に記載の発明は、請求項４に記載の構成に加え、前記時間毎目標生成手段によって生成された時間帯毎の前記ビジネス量から所定の規則に基づいて日毎の勤務目標人数を定める日毎目標生成手段を備え、前記特定スケジュール設定手段は前記日毎目標生成手段において定められた前記日毎の勤務目標人数を前記スケジュールの設定に用いることを特徴とする。
【００１０】
請求項６に記載の発明は、請求項１乃至５の何れか一つに記載の構成に加え、前記特定スケジュール設定手段及び前記特定外スケジュール設定手段のうち少なくとも何れか一方は、前記スケジュール表の作成対象である前記被雇用者の予め非勤務日となることが確定しているスケジュール情報を前記スケジュール表から除去する圧縮処理を行うモデル圧縮手段と、前記モデル圧縮手段によって圧縮処理の対象となった前記スケジュール情報を前記スケジュール表に合成するモデル復元手段とを備え、前記モデル圧縮手段及び前記モデル復元手段が設けられた特定フェーズ設定手段及び前記特定外フェーズ設定手段のうち少なくとも何れか一方は、前記モデル圧縮手段によって圧縮処理が施された前記スケジュール表について前記特定スケジュール又は前記特定外スケジュールの設定を行い、前記モデル復元手段は前記設定の結果と前記圧縮処理によって削除されたデータとを合成させて前記スケジュール表を作成することを特徴とする。
【００１１】
請求項７に記載の発明は、プログラムであって、コンピュータを請求項１乃至６の何れか一つに記載のスケジュール表作成装置として機能させることを特徴とする。
【発明の効果】
【００１２】
請求項１に記載の発明によれば、特定スケジュール設定手段がスケジュール表における特定のスケジュールについてスケジュール設定を行い、特定のスケジュールのスケジュール設定が完了したスケジュール表について、特定外スケジュール設定手段が特定のスケジュール以外のスケジュールについてスケジュール設定を行うことにより、特定のスケジュール、特定外のスケジュールのそれぞれについて別途最適化が行われることになるため、最適化にあたってのそれぞれの問題規模が小さくなる。従って、最適化されたスケジュール表の作成や修正の作業が容易であり、かつコンピュータに過大な負荷をかけることなく最適化を行うことができる。
【００１３】
請求項２に記載の発明によれば、特定スケジュール設定手段がスケジュール表の作成対象である被雇用者全員の非勤務日を設定し、特定外スケジュール設定手段は、被雇用者全員の勤務日及び勤務態様を設定することにより、性質上被雇用者間での調整が容易な非勤務日をまず設定してから勤務日の勤務態様を設定することになり、本発明に基づいてスケジュール表を作成する利用者の利便性を向上させることができる。
【００１４】
請求項３に記載の発明によれば、特定スケジュール設定手段及び特定外スケジュール設定手段のうち少なくとも何れか一方において、整数計画ソルバーが目標関数と所定の制約条件とを用いた整数計画によってスケジュール表の作成を行うことにより、コンピュータが実行し易い態様で、雇用者や被雇用者の満足度が高くなる可能性の高いスケジュール表を作成できる。特に、制約条件を用いてスケジュールの設定を行うことにより、例えば被雇用者の労働条件が低下する条件を制約条件としておけば被雇用者に過大な負荷のかかる労働条件でスケジュールが組まれてしまうことを防止できる。これにより、本発明に基づいて有用性の高いスケジュール表を作成できる。
【００１５】
請求項４に記載の発明によれば、ビジネス量算出手段がビジネス量の予測値を時間帯毎に算出することで、被雇用者が労働する状況下で発生する仕事の量をコンピュータ処理により定量的に算出できる。また、時間毎目標生成手段が算出された時間帯毎のビジネス量に基づいて必要人員数に変換した時間毎人員目標値を生成することにより、時間帯毎に生ずる仕事の量に基づいて、必要な被雇用者の人数を自動的に算出可能になる。これにより、時間毎の仕事の量の変化に基づいて必要な人数を配置したスケジュール表を作成が可能になるので、一層有用性の高いスケジュール表を作成できる。
【００１６】
請求項５に記載の発明によれば、時間毎目標生成手段によって生成された時間帯毎のビジネス量から所定の規則に基づいて日毎の勤務目標人数を定める日毎目標生成手段を備え、特定スケジュール設定手段は日毎目標生成手段において定められた日毎の勤務目標人数をスケジュールの設定に用いることにより、日毎の仕事の量の変化に基づいて必要な人数を配置したスケジュール表を作成することが可能になるので、一層有用性の高いスケジュール表を作成できる。
【００１７】
請求項６に記載の発明によれば、モデル圧縮手段が予め非勤務日となることが確定しているスケジュール情報をスケジュール表から除去する圧縮処理を行い、圧縮処理の結果について特定スケジュール又は特定外スケジュールの設定を行うことにより、新たなスケジュール設定に不要なスケジュール情報を予め除去したものについてのみ特定スケジュール又は特定外スケジュールの設定を行うことが可能になる。これにより、最適化にあたってのそれぞれの問題規模が一層小さくなり、従って、最適化されたスケジュール表の作成や修正の作業が一層容易になり、かつコンピュータにかかる負荷を一層軽減できる。
【００１８】
請求項７に記載の発明によれば、本発明のスケジュール表作成装置をプログラム化し、多様なコンピュータハードウェア上で実現させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、この発明の一の実施形態について図面を参照して説明する。
【００２０】
図１は、この実施の形態のスケジュール表作成システムの機能ブロック図である。同図に示すとおり、スケジュール表作成システム１Ａは、スケジュール表作成装置１と、ｎ個（ｎ≧１）のクライアント端末２１，・・・，２ｎとを備えたクライアント・サーバーシステムであって、スケジュール表作成装置１とクライアント端末２１，・・・，２ｎは、ＷＡＮ（Wide Area Network）としてのインターネット３を介して相互に交信可能である。
【００２１】
スケジュール表作成装置１は、企業等複数の構成員を有する団体、又は同団体の依頼に基づいて各構成員の構成員等のスケジュール情報の記録管理を行う事業者が管理するコンピュータシステムである。なお、この実施の形態では当該団体はシフト制で働く被雇用者を有する企業とするが、シフト制以外の雇用形態で勤務する被雇用者を有する企業であってもよいし、企業以外でも、家族、学校、各種非営利団体等であってもよい。
【００２２】
スケジュール表作成装置１は、Ｗｅｂサーバー４、タイムサーバー５、最適化処理部６を備えている。Ｗｅｂサーバー４はクライアント端末２１，・・・，２ｎとの間でデータ通信を行なう。タイムサーバー５はスケジュール情報の記録と集中管理を行う。またタイムサーバー５には各コミュニティの構成員や特定個人に関するスケジュール以外の様々な情報も記録されてリポジトリ・システムを形成する。最適化処理部６はタイムサーバー５に記録された各種情報（例えば企業の雇用条件と雇用希望者の希望条件等）のマッチングとマッチングのための各種情報の最適化処理とを行う。
【００２３】
クライアント端末２１，・・・，２ｎは、企業においてシフト制で働く「被雇用者」としてのスタッフ（以下単に「スタッフ」と称する。）等が使用する、データ通信機能を有する通信端末、例えばパーソナルコンピュータ、携帯電話端末、電子手帳、ＰＤＡ（Personal Digital Assistants、携帯情報端末）等である。クライアント端末２１，・・・，２ｎは、マウスやキーボード等各種指示を入力するために用いられる操作部（図示せず）、ＬＣＤ（Liquid Crystal Display）等からなり操作部から入力された各種指示等や各種画像を表示する表示部２１１，・・・，２１ｎ（図示せず）を有し、Ｗｅｂブラウザ２２１・・・，２２ｎ（図示せず）が表示される。なお、クライアント端末２１，・・・，２ｎ、表示部２１１，・・・，２１ｎ、Ｗｅｂブラウザ２２１，・・・，２２ｎは同じ構成を持つので、以下区別する必要がある場合を除き、クライアント端末２、表示部２１、Ｗｅｂブラウザ２２と表記する。
【００２４】
図１には図示しないが、スケジュール表作成装置１のＷｅｂサーバー４、タイムサーバー５には、少なくとも１のＣＰＵ（Central Processing Unit、中央処理装置）、及び、ＣＰＵの作業領域として機能するＲＡＭ（Random Access Memory）、起動用ブートプログラム等が記録されたＲＯＭ（Read Only Memory）、各種プログラムやデータ等が記録されるハードディスク等の補助記憶装置、データの送受信に用いる通信インターフェース等がそれぞれ設けられている。補助記憶装置には、ＯＳ（Operating System）用プログラム、各種アプリケーションプログラムやデータが記録されており、これらのプログラムやデータはＣＰＵの演算処理により、ハードウェア資源と協働し、各種機能を実現する。
【００２５】
図２は、スケジュール表作成装置１の最適化処理部６の機能ブロック図である。同図に示す通り、最適化処理部６は、機能手段として、特定期間内に発生する、スタッフに業務上の負荷を発生させる計測可能な特定の値としてのビジネス量（以下単に「ビジネス量」と称する）の予測値を算出する「ビジネス量計算手段」としてのビジネス量計算部６３、シフト制で勤務に就かせるスタッフの人数の時間毎の目標値を算出する「時間毎目標生成手段」としての時間毎目標生成部６４、第一フェーズ最適化部６１、第二フェーズ最適化部６２を有している。
【００２６】
第一フェーズ最適化部６１は更に、機能手段として「日毎目標生成手段」としての日毎目標生成部６１４、「モデル圧縮手段」としての第一モデル圧縮部６１１、各スタッフの非勤務日（休日、及び出勤日であるがシフトに就けない日の双方を含む。本明細書において同じ。）の最適化処理を行う「特定スケジュール設定手段」としての休日設定部６１２、「モデル合成手段」としての第一モデル合成部６１３を有し、休日設定部６１２は更に、目標関数と所定の制約条件とを用いた整数計画によってスケジュール表の作成を行う整数計画ソルバー６１２１を有している。
【００２７】
第二フェーズ最適化部６２は更に、機能手段として「モデル圧縮手段」としての第二モデル圧縮部６２１、各スタッフの勤務日における勤務シフトの最適化処理を行う「特定外スケジュール設定手段」としての時間毎シフト作成部６２２、「モデル合成手段」としての第二モデル合成部６２３を有し、時間毎シフト作成部６２２は更に、目標関数と所定の制約条件とを用いた整数計画によってスケジュール表の作成を行う整数計画ソルバー６２２１を有している。
【００２８】
第一モデル圧縮部６１１、第二モデル圧縮部６２１は、最適化の対象となる全てのスケジュール情報の中から最適化に不要な情報を除去する。
【００２９】
日毎目標生成部６１４、時間毎目標生成部６４は、スタッフの休日、及び、日毎、時間毎のスタッフの人員配置を設定する。
【００３０】
第一モデル合成部６１３、第二モデル合成部６２３は、人員配置の設定が完了したスケジュール情報と、第一モデル圧縮部６１１、第二モデル圧縮部６２１において除去されたスケジュール情報とを合成し、最適化処理を完成させる。
【００３１】
次に、この実施の形態のスケジュール表作成システム１Ａにおける処理手順について説明する。
【００３２】
図３は、この実施の形態のスケジュール表作成装置１における処理手順の全体概要を示すフローチャート、図４は圧縮処理の手順を示すフローチャートである。以下これらのフローチャートに基づいて処理手順を説明する。
【００３３】
まず、図３のフローチャートに示す通り、スケジュール表作成装置１は、クライアント端末２からスタッフの予定情報を収集する（ステップＳ１）。具体的には、各クライアント端末２のＷｅｂブラウザ２２にスケジュール入力画面（図示せず）を表示させ、このスケジュール入力画面に各スタッフの希望する休日、希望する勤務日や勤務時間等の希望条件を入力させる。クライアント端末２から入力された各スタッフの希望情報は、タイムサーバー５のリポジトリ（図示せず）に記録される。更に、タイムサーバー５のリポジトリには、雇用者の設定した業務予定の情報や、各スタッフの有給休暇等の情報も入力される。
【００３４】
全てのクライアント端末２から全てのスタッフの希望情報を収集し、雇用者からの業務予定の情報等を収集したら、最適化処理部６においてスケジュールの最適化処理が行われる。まず、第一モデル圧縮部６１１は、スケジュール情報の圧縮処理を行う（ステップＳ２）。この圧縮処理とは、スケジュール情報の中から既に予定が決まっている箇所を除外することを言い、この実施の形態では各スタッフの非勤務日に該当する箇所や、処理以前に確定している各スタッフのシフト等、最適化処理が不要な箇所を除外することをいう。具体的には、第一モデル圧縮部６１１には勤務シフトに割り当てることができない情報の種類（つまり非勤務日の種類や、確定済のシフトを特定するための情報）を予め記録しておき、記録された種類の情報を除外する。これにより、新たなスケジュール設定に不要なスケジュール情報を予め除去したものについてのみ最適化処理を行うことが可能になり、最適化にあたっての問題規模を小さくできる。
【００３５】
この圧縮処理の具体的手順は、図４のフローチャートに示す通り、まず第一モデル圧縮部６１１は勤務表モデルの第１日目を参照し（ステップＳ２１）、この参照した日における特定のスタッフを参照する（ステップＳ２２）。
【００３６】
図５は、ステップＳ１が完了した段階でスケジュール表作成装置１において作成される「スケジュール表」としての勤務表モデルのイメージ図である。同図の勤務表モデル１００においてｍ１，ｍ２，・・・，ｍ６は「被従業員」としての個々のスタッフを示す。同図の勤務表モデル１００には、雇用者の設定した業務予定の情報が業務予定欄１００ａに、「研修」「休暇」等、各スタッフｍ１，ｍ２，・・・，ｍ６の非勤務日の情報がスタッフ勤務予定欄１００ｂにそれぞれ表示されている。
【００３７】
図５の勤務表モデル１００に基づいてステップＳ２１、ステップＳ２２の処理が行われた場合、６月１日のスタッフｍ１が参照対象に決定される。
【００３８】
第一モデル圧縮部６１１は、参照対象におけるスタッフの予定を確認する。予定がある場合、即ち当該日が当該スタッフの非勤務日等にあたり勤務シフトに含められない場合（ステップＳ２３の“Ｙｅｓ”）、勤務表モデル１００における当該日の当該スタッフをシフト対象から除外する圧縮処理を行う（ステップＳ２４）。このとき第一モデル圧縮部６１１は、圧縮処理によって削除した情報をデータ一時保管部（図示せず）等に記憶しておく。一方、予定がない場合（ステップＳ２３の“Ｎｏ”）、当該日の当該スタッフをシフト対象として保存する（ステップＳ２５）。
【００３９】
例えば図５の勤務表モデル１００において、スタッフｍ１の６月１日を確認対象とした場合、予定は何も入っていない。従って第一モデル圧縮部６１１はスタッフｍ１の６月１日は圧縮処理の対象とせずに保存する（ステップＳ２５）。
【００４０】
第一モデル圧縮部６１１は全てのスタッフについてステップＳ２２〜Ｓ２５の処理を行う（ステップＳ２６，Ｓ２７）。図５の勤務表モデルにおいては、スタッフｍ４が６月１日が休暇となっており、勤務シフトに含められないので、第一モデル圧縮部６１１はスタッフｍ４を６月１日の勤務シフトから除外する（ステップＳ２４）。その他のスタッフｍ２，ｍ３，ｍ５，ｍ６は６月１日は圧縮処理の対象とせずに保存する（ステップＳ２５）。
【００４１】
第１日目について全てのスタッフの参照が完了したら（ステップＳ２６の“Ｙｅｓ”）第一モデル圧縮部６１１は次の日に移行してステップＳ２２〜ステップＳ２７の処理を行う。この処理が勤務表モデル１００に示された全ての日にわたって行われる（ステップＳ２８）。
【００４２】
なお、第一モデル圧縮部６１１は、業務予定や勤務予定の種類ごとに予め設定された条件に基づいて圧縮処理の対象を決定する。例えば図４において、６月３日の業務予定は「ミーティング」と決まっているが、このミーティングが全てのスタッフを対象としたものとして設定されている場合、第一モデル圧縮部６１１は、全スタッフｍ１〜ｍ６を６月１日のシフトから除外する。一方、「休暇」「出張」「研修」等が特定日の特定スタッフのみが対象として設定されている場合、スタッフｍ４の６月１日〜３日（休暇）、スタッフｍ２の６月５日〜６日（出張）、スタッフｍ５の６月８日（研修）は、当該スタッフの当該日のみを勤務シフトから除外する。
【００４３】
図６は、この圧縮処理の結果を模式的に示した図である。同図の（ａ）は圧縮前、（ｂ）は圧縮後を模式的に示したものであり、ｉ軸は日、ｊ軸はスタッフ、ｋ軸はシフトの種類（後述）を示し、個々のブロックはスケジュール表に記録される特定日の特定スタッフの特定シフトを示す。同図に示すように、圧縮処理によってブロック数が減少する。これにより、シフト作成部での処理対象を減らし、処理負荷を減少させることができる。
【００４４】
圧縮処理が完了したら、休日設定部６１２は日毎の休日の設定を行う（ステップＳ３）。この休日の設定は、具体的には以下１．〜３−４．の処理に基づいて行われる。
【００４５】
（１．ビジネス量の計算）
ビジネス量計算部６３は、ステップＳ１において収集された業務予定の情報に基づいてビジネス量の計算を行う。ここで「ビジネス量」とは勤務するスタッフに業務上の負荷を発生させる特定の計測可能な数量（例えば小売店舗の場合は来店客数や売上、コールセンターの場合は着信する呼の数、またホテルの場合は宿泊客数等。）を指す。ビジネス量計算部６３にはビジネス量を計算するために必要な過去の履歴データが蓄積されており、ビジネス量計算部６３はその履歴データに基づいてビジネス量の予測モデルを作成する。この予測モデルの作成方法としては、例えばビジネス量の時系列変化を分析し、変化を発生させる要因を抽出しモデル化する周知の方法が考えられる。この要因としては季節、曜日、時刻、天候など、またビジネスが成長している場合は成長率等が考えられる。
【００４６】
ビジネス量計算部６３は、この予測モデルによって時間帯毎のビジネス量を計算する。これにより、スタッフがシフト労働に従事する状況下で発生する仕事の量をコンピュータ処理により定量的に算出できる。この実施の形態では、ビジネス量の計算に用いられる時間帯は１時間毎とするが、ビジネスの種類によっては１５分ごと、３０分ごとでもよい。
【００４７】
（２．時間毎人員目標値の生成）
【００４８】
時間毎目標生成部６４は、時間帯毎のビジネス量に基づいて必要人員数に変換した時間毎人員目標値を生成する。この変換は、一般的には一次関数による変換で十分であるが、二次関数や、複数の一次関数をビジネス量の範囲に応じて使い分ける方法を適用してもよい。この変換によってビジネス量を目標とする人員数に変換する。これにより、時間帯毎に生ずる仕事の量に基づいて、必要なスタッフの人数を自動的に算出可能になる。
【００４９】
なお、複数の種類のビジネス量が同時に存在する場合がある。例えば、複数種類の問合せを受け付けるコールセンターにスタッフを配置する場合を考えると、一のスタッフのスキル（処理能力）が問合せの種類毎に異なる場合がある。この場合は問合せの種類毎に異なるビジネス量となるため、問合せの種類毎のビジネス量と、それに応じた目標値を生成する。
【００５０】
（３−１．第一フェーズ（１）：日毎目標の計算）
上記処理により生成された時間毎人員目標値の全てについて一度に最適化処理を行うと、処理対象の規模が大きいため処理時間が長くなり、そしてできあがった結果の修正処理が非常に煩雑化するため、この実施の形態では、この最適化処理を所定の処理の段階としてのフェーズ（以下単に「フェーズ」と称する）毎に行う。この実施の形態では二つのフェーズ、即ち第一フェーズ、第二フェーズに分けて行う。なお、広義にはステップＳ２、Ｓ４、Ｓ５の処理も第一フェーズであるが（図１参照）、ここでは説明の便宜上ステップＳ３（ステップＳ７）に示す狭義の第一フェーズのみを第一フェーズとして説明する。
【００５１】
最適化処理の第一フェーズは日毎の勤務目標人数を定め、その目標人数に近づくように休日を決める処理であり、日毎目標生成部６１４において行われる。具体的には、日毎目標生成部６１４は、日毎の目標を生成する。これは図７の模式図に示すように、それぞれの日の各時間帯毎に算出された必要人数のうちの最大値を求め、その最大値を当該日の目標人数として採用する処理として行われる。なお同図では説明の簡単のため、複数のスキルを要するビジネスは考慮していない。この処理により、日毎の仕事の量の変化に基づいて必要な人数を配置することが可能になる
【００５２】
（３−２．第一フェーズ（２）：日毎の制約条件）
特定の日にある特定のシフト（例えば営業開始時刻から終了時刻まで勤務するシフトなど）で勤務する人の最少人数を規定する場合、それは以下の制約式で表すことができる。
まず、特定のシフトで勤務する人数を以下の式（１）に基づいて計算する。
2008176417.tif 000003
ここで、ｉ，ｊ，ｋはそれぞれ日、スタッフの構成員、シフトの種類を表すインデックスである。
また、ＷＫｉｋはｉで表される日にｋのシフトで勤務する人数を表す。この最少人数をＮとすれば、制約条件は
2008176417.tif 000004
と表すことができる。
【００５３】
上記（１）（２）の式は、休日設定部６１２に記憶させておき、休日設定部６１２はこれらの式と計算に必要な具体的な値とを整数計画ソルバー６１２１に与え、整数計画ソルバー６１２１はこれらの式と値とに基づいて具体的な計算を行う。整数計画ソルバー６１２１に上記（１）（２）の式に基づいた処理を行わせることにより、コンピュータが実行し易い態様で、雇用者やスタッフの満足度が高くなる可能性の高いスケジュール表を作成できる。特に、休日設定部６１２にスタッフの労働条件が低下する条件（例えば深夜勤務のシフトが連続するような労働条件）を制約条件として記憶させておけば、スタッフに過大な負荷のかかる労働条件でシフトのスケジュールが組まれてしまうことを防止できる。
【００５４】
（３−３．第一フェーズ（３）：目標関数と整数計画とを用いた選出）
整数計画ソルバー６１２１は、日毎目標関数で与えた評価式によって、多数存在する勤務の組み合わせの中から最も評価の高い組み合わせを選び出す。換言すれば、目標関数と所定の制約条件とを用いた整数計画によって最適な組み合わせを選び出す。これにより、コンピュータが実行し易い態様で、雇用者やスタッフの満足度が高くなる可能性の高いスケジュール表を作成できる。
【００５５】
具体的には、整数計画ソルバー６１２１は、日毎目標関数で与えた評価式によって、それぞれの日に勤務するスタッフの人数が目標値に最も近いものを選び出す。この実施の形態において日毎目標関数とは、例えば次の式（３）で表されるＤＥＶの値を最小にするものである。
2008176417.tif 000005
ここで、Ｔｉはｉで示す日の目標人数（即ち日毎目標生成部６１４で生成された値）、Ｒｉｊｋは生成された勤務表、ＳＶｋは勤務とみなせるシフトの種類を示すベクトルで、ｋで示すシフトを勤務と見なす場合はＳＶｋ＝１であり、それ以外の場合はＳＶｋ＝０である定数である。
【００５６】
（３−４．第一フェーズ（４）：休日の決定）
整数計画ソルバー６１２１は、（３−１）で算出した日毎目標に式（３）を適用して日毎の勤務目標人数を定め、更に式（１）の制約に該当しないスタッフに休日を設定する。これにより、性質上スタッフ同士での調整が容易な非勤務日をまず設定してから以下に延べる勤務日の勤務態様を設定することになるため、スケジュール表を作成する利用者の利便性を向上させることができる。
【００５７】
休日設定部６１２によって上記（３−１）〜（３−４）の手順に基づく休日の設定が完了すると、第一モデル合成部６１３はデータ一時保管部（図示せず）等に記憶されたデータを取得し、完了したデータとステップＳ２で圧縮したデータとを合成する（ステップＳ４）。図８に、ステップＳ４の処理によって形成された「スケジュール表」としての勤務表モデル２００のイメージ図を示す。同図に示す通り、ステップＳ２で圧縮処理の対象となった予定情報と、ステップＳ３で設定された休日（同図にて「休」と示された箇所）とが同じ勤務表モデル２００に示されることになる。この勤務表モデル２００はスケジュール表作成装置１の表示部（図示せず）に表示し、必要に応じ、スケジュール表作成装置１の利用者が修正する。このとき、右端に示された非勤務スタッフの人数が変化しないように留意する（スケジュール表作成装置１にそのような非勤務スタッフの人数を変化させる修正処理を禁則処理として設定しておけばなお望ましい。）。
【００５８】
ステップＳ４までの処理によって各スタッフの休日（非勤務日）を決定した後、最適化処理の第二フェーズを実行する。この最適化処理の第二フェーズは日時毎の勤務目標人数を定め、その目標人数に近づくように各スタッフの勤務日の勤務態様を決める処理である。なおここでいう第二フェーズは、第一フェーズの場合と同様、狭義にはステップＳ６の処理のみを指すが、広義にはステップＳ５、ステップＳ７、Ｓ８の処理も第二フェーズに該当する。以下、フローチャートの説明の便宜上、広義の第二フェーズについての処理手順を説明する。
【００５９】
具体的には、第二モデル圧縮部６２１において既に予定が決まっている箇所を圧縮し（ステップＳ５）、整数計画ソルバー６２２１が式（１）に基づいて時間毎の制約条件を算出し、また整数計画ソルバー６２２１は式（３）に基づいて時間毎目標関数を設定し、また整数計画ソルバー６２２１は時間毎目標生成部６４が算出した時間毎人員目標値に式（３）を適用して時間毎の勤務目標人数を定め、更に式（１）の制約に該当しないスタッフに適合する勤務態様を設定し、時間毎の人員配置を行う（ステップＳ６）。具体的には、例えば午前勤務、午後勤務、終日勤務の３種類の勤務態様がある場合、特にスタッフからの要望がない場合、特定のスタッフが午前勤務ばかりになったり、終日勤務ばかりになったりするような不公平な事態が生じないように、３種類の勤務態様を出来る限り全スタッフに均等に振り分ける。
【００６０】
そして、第二モデル合成部６２３は人員配置の完了したデータとステップＳ５で圧縮したデータとを合成する（ステップＳ７）。図９に、ステップＳ６の処理によって作成された、「スケジュール表」としての勤務表３００のイメージ図を示す。同図に示す通り、ステップＳ５で圧縮処理の対象となった予定情報と、ステップＳ５で設定された勤務シフトとが同じ勤務表３００に示されることになる。この勤務表３００はクライアント端末２のＷｅｂブラウザ２２に表示し、全てのスタッフに周知させる（ステップＳ８）。
【００６１】
以上示した通り、この実施の形態においては、休日設定部６１２が勤務表３００における全スタッフの非勤務日についてスケジュール設定を行い、非勤務日のスケジュール設定が完了した勤務表モデル２００について、時間毎シフト作成部６２２が全スタッフの勤務日における勤務シフトついてスケジュール設定を行うことにより、非勤務日、勤務日における勤務シフトのそれぞれについて別途最適化が行われることになるため、最適化にあたってのそれぞれの問題規模が小さくなる。従って、最適化された勤務表３００の作成や修正の作業が容易であり、かつスケジュール表作成装置１を形成するコンピュータに過大な負荷をかけることなく最適化を行うことができる。
【００６２】
上記実施の形態において、各機能手段はプログラム等の演算結果に基いて形成されるものとしたが、これらの全部又は一部をハードウェアロジックによって形成し、処理の高速化を図ってもよい。
【００６３】
上記実施の形態は本発明の例示であり、本発明が上記実施の形態に限定されることを意味するものではないことは、いうまでもない。
【図面の簡単な説明】
【００６４】
【図１】この実施の形態のスケジュール表作成システムにおけるシステム構成図及びスケジュール表作成装置の機能ブロック図である。
【図２】同上スケジュール表作成装置の最適化処理部の機能ブロック図である。
【図３】同上スケジュール表作成装置における処理手順の全体概要を示すフローチャートである。
【図４】同上スケジュール表作成装置における圧縮処理の手順を示すフローチャートである。
【図５】同上スケジュール表作成装置において作成される勤務表モデルのイメージ図である。
【図６】同上スケジュール表作成装置における圧縮処理の結果を模式的に示した図である。
【図７】同上スケジュール表作成装置における日毎目標の計算を模式的に示した図である。
【図８】同上スケジュール表作成装置において作成された勤務表モデルのイメージ図である。
【図９】同上スケジュール表作成装置において作成された勤務表のイメージ図である。
【符号の説明】
【００６５】
１Ａ・・・スケジュール表作成システム
１・・・スケジュール表作成装置
６３・・・ビジネス量計算部（ビジネス量計算手段）
６４・・・時間毎目標生成部（時間毎目標生成手段）
６１１・・・第一モデル圧縮部（モデル圧縮手段）
６１２・・・休日設定部（特定スケジュール設定手段）
６１３・・・第一モデル合成部（モデル合成手段）
６２１・・・第二モデル圧縮部（モデル圧縮手段）
６２２・・・時間毎シフト作成部（特定外スケジュール設定手段）
６２３・・・第二モデル合成部（モデル合成手段）
６１２１，６２２１・・・整数計画ソルバー
１００，２００・・・勤務表モデル（スケジュール表）
３００・・・勤務表（スケジュール表）
ｍ１，ｍ２，・・・，ｍ６・・・スタッフ（被雇用者）
【図１】
2008176417.tif 000006
【図２】
2008176417.tif 000007
【図３】
2008176417.tif 000008
【図４】
2008176417.tif 000009
【図５】
2008176417.tif 000010
【図６】
2008176417.tif 000011
【図７】
2008176417.tif 000012
【図８】
2008176417.tif 000013
【図９】
2008176417.tif 000014