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