(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】勤務シフト表作成装置、プログラム
(51)【国際特許分類】
G06Q 10/0631 20230101AFI20240405BHJP
【FI】
G06Q10/0631
(21)【出願番号】P 2020013829
(22)【出願日】2020-01-30
【審査請求日】2022-11-07
(73)【特許権者】
【識別番号】505221708
【氏名又は名称】ウィンワークス株式会社
(74)【代理人】
【識別番号】100104776
【氏名又は名称】佐野 弘
(74)【代理人】
【識別番号】100119194
【氏名又は名称】石井 明夫
(72)【発明者】
【氏名】森 庸輔
【審査官】阿部 潤
(56)【参考文献】
【文献】特開2019-144609(JP,A)
【文献】特開2006-59111(JP,A)
【文献】特開2016-157423(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
シフト勤務する勤務者の勤務シフト表を作成し管理する勤務シフト表作成装置であって、
前記勤務者が勤務を希望する各種の勤務希望情報を取得して記録する勤務希望情報管理手段と、
前記勤務者の前記勤務希望情報に基づいて、前記勤務者の勤務する勤務時間帯及び該勤務時間帯ごとの前記勤務者の従事する業務としてのシフトを複数組合せてなるシフト組合せを最適化するための最適化計算を行うシフト組合せ計算手段と、
前記シフト組合せ計算手段による前記最適化計算の結果に基づいて形成される勤務シフト表を表示させる勤務シフト表表示手段とを備え、
前記シフト組合せ計算手段は、前記勤務者の職能を反映する情報
であって、それぞれの職務の優先度の高さを数値で設定したロール情報
と、前記勤務者の従事する職務を決定する組織又は組織の区分であって、それぞれに前記ロール情報が設定されているユニットの情報としてのユニット情報とに基づいて、前記勤務者を前記ユニットに配置することで行う前記シフト組合せを最適化する前記最適化計算を行う
ものであり、
前記シフト組合せ計算手段は、任意の一つの前記勤務者に前記優先度の異なる複数の前記ロール情報が設定されていて複数の前記ユニットに配置可能である場合においては、前記一つの勤務者を、前記設定された前記ロール情報の前記優先度の高い前記ユニットに優先的に配置することで前記最適化計算を行うことを特徴とする勤務シフト表作成装置。
【請求項2】
前記シフト組合せ計算手段は、既に作成された前記勤務シフト表のうち
の一部
であって、前記シフト組合せの変更が必要となった一又は複数の日、及び/又は、前記シフト組合せの変更が必要となった一又は複数の時間帯から成る再計算対象範囲を特定し、該再計算対象範囲において勤務することが可能な前記勤務者の前記シフト組合せについて、
前記ロール情報と前記ユニット情報とに基づいて前記勤務者を前記ユニットに配置することで行う、再度の前記最適化計算としての修正最適化計算を行い、
前記勤務シフト表表示手段は、前記修正最適化計算の結果に基づいて、前記勤務シフト表のうちの少なくとも一部を修正した修正勤務シフト表を表示させることを特徴とする請求項1に記載の勤務シフト表作成装置。
【請求項3】
前記最適化計算の結果が前記修正最適化計算によって修正された場合の修正の大きさを示す単位情報としてのペナルティ情報が含まれ、
前記シフト組合せ計算手段は、前記ペナルティ情報が最小になることを最適な状態とし、前記ペナルティ情報が前記最適な状態になるシフト組合せを探索によって求める前記最適化計算を行うことを特徴とする請求項2に記載の勤務シフト表作成装置。
【請求項4】
前記勤務者の勤務を管理する管理者の、前記勤務者の前記シフトに対する前記管理者の希望の情報としての管理者希望情報を管理する管理者情報管理手段を備え、
前記シフト組合せ計算手段は、前記勤務者の前記勤務希望情報に、前記管理者の前記管理者希望情報を加えて修正を加えた修正勤務希望情報に基づいて前記最適化計算を行うことを特徴とする請求項1乃至3の何れか一つに記載の勤務シフト表作成装置。
【請求項5】
前記ユニット情報は前記勤務者が勤務する部署を示す情報としてのユニット情報を単位に形成されることを特徴とする請求項1乃至4の何れか一つに記載の勤務シフト表作成装置。
【請求項6】
コンピュータを請求項1乃至5の何れか一つに記載の勤務シフト表作成装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、企業従業員等の集団構成員の勤務スケジュールを決めるための勤務シフト表を自動作成する技術に関する。
【背景技術】
【0002】
企業等においては、様々な場面で社員、派遣社員、アルバイトスタッフ等の勤務者の勤務スケジュールを把握し周知させるための勤務表を作成する必要が生ずる。そして、複数の勤務者が交代制で勤務に就く、いわゆるシフト勤務のような状況を表す勤務表としての勤務シフト表を作成する場合、勤務シフト表の作成が煩雑になり作成の労力が過大になる。そこで、従来、勤務表を自動的に作成するものとして、看護場所で看護にあたる看護者の情報と既定の算出ルールとに基づいて複数の看護場所それぞれにおける看護者の充実度を算出し、応援場所から受入場所へ移動する看護者を、複数種類の充実度に基づいて、それら応援場所と受入場所とで複数種類の充実度が総合的に接近するように決める発明が知られている(例えば、特許文献1参照)。また、業務スケジュール表作成日における各時間帯ごとの重要業務に従事している従業員数を算出し、入力手段により入力された重要業務量を推定するためのパラメータに基づき、業務スケジュール表作成日における各時間帯ごとの重要業務に必要な従業員数を算出し、重要業務に従事している従業員数と、重要業務に必要な従業員数との差を算出するプログラムに関する発明が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-244917号公報
【文献】特開2001-76049号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、職種の異なる複数の勤務先(たとえば同一の会社の複数の部署や、異なる職種の複数の会社など)で、シフト勤務の勤務者の割り当てを行わなければならない場合がある。その際、それぞれの勤務先で必要とされる職種が異なる場合や、職務を行うには特定の資格の所有が必要となる場合や、職務の遂行に熟練を要するために職務経験が必要となったりする場合など、勤務者に求められる職能が勤務先ごとに異なる場合がある。しかし、上記特許文献1に記載の発明は、看護という同一の職種・職能について、一の勤務者を一の勤務先(応援場所)から他の勤務先(受入場所)に配置の変換を行うものであり、勤務先ごとに異なる職能が求められる配置の転換に対応できない。また、上記特許文献2に記載の発明は、重要業務に従事する従業員を算出し、重要業務に必要な従業員数との差を算出するのみであって、求められる職能の異なる複数の勤務先に、勤務者の配置の転換を行うことはできない。従って、上記特許文献1、特許文献2に記載の発明においては、職種の異なる複数の勤務先に勤務者を適切にシフト配置することはできないという問題がある。
【0005】
本発明はこのような課題に鑑みてなされたものであり、求められる職能の異なる複数の勤務先、及び/又は、複数の業務に、シフト勤務を行う勤務者を適切に配置できる勤務シフト表作成装置、プログラムを提供することを課題としている。
【課題を解決するための手段】
【0006】
かかる課題を解決するために、請求項1に記載の発明は、シフト勤務する勤務者の勤務シフト表を作成し管理する勤務シフト表作成装置であって、前記勤務者が勤務を希望する各種の勤務希望情報を取得して記録する勤務希望情報管理手段と、前記勤務者の前記勤務希望情報に基づいて、前記勤務者の勤務する勤務時間帯及び該勤務時間帯ごとの前記勤務者の従事する業務としてのシフトを複数組合せてなるシフト組合せを最適化するための最適化計算を行うシフト組合せ計算手段と、前記シフト組合せ計算手段による前記最適化計算の結果に基づいて形成される勤務シフト表を表示させる勤務シフト表表示手段とを備え、前記シフト組合せ計算手段は、前記勤務者の職能を反映する情報であって、それぞれの職務の優先度の高さを数値で設定したロール情報と、前記勤務者の従事する職務を決定する組織又は組織の区分であって、それぞれに前記ロール情報が設定されているユニットの情報としてのユニット情報とに基づいて、前記勤務者を前記ユニットに配置することで行う前記シフト組合せを最適化する前記最適化計算を行うものであり、前記シフト組合せ計算手段は、任意の一つの前記勤務者に前記優先度の異なる複数の前記ロール情報が設定されていて複数の前記ユニットに配置可能である場合においては、前記一つの勤務者を、前記設定された前記ロール情報の前記優先度の高い前記ユニットに優先的に配置することで前記最適化計算を行うことを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の構成に加え、前記シフト組合せ計算手段は、既に作成された前記勤務シフト表のうちの一部であって、前記シフト組合せの変更が必要となった一又は複数の日、及び/又は、前記シフト組合せの変更が必要となった一又は複数の時間帯から成る再計算対象範囲を特定し、該再計算対象範囲において勤務することが可能な前記勤務者の前記シフト組合せについて、前記ロール情報と前記ユニット情報とに基づいて前記勤務者を前記ユニットに配置することで行う、再度の前記最適化計算としての修正最適化計算を行い、前記勤務シフト表表示手段は、前記修正最適化計算の結果に基づいて、前記勤務シフト表のうちの少なくとも一部を修正した修正勤務シフト表を表示させることを特徴とする。
【0008】
請求項3に記載の発明は、請求項2に記載の構成に加え、前記最適化計算の結果が前記修正最適化計算によって修正された場合の修正の大きさを示す単位情報としてのペナルティ情報が含まれ、前記シフト組合せ計算手段は、前記ペナルティ情報が最小になることを最適な状態とし、前記ペナルティ情報が前記最適な状態になるシフト組合せを探索によって求める前記最適化計算を行うことを特徴とする。
【0009】
請求項4に記載の発明は、請求項1乃至3の何れか一つに記載の構成に加え、前記勤務者の勤務を管理する管理者の、前記勤務者の前記シフトに対する前記管理者の希望の情報としての管理者希望情報を管理する管理者情報管理手段を備え、前記シフト組合せ計算手段は、前記勤務者の前記勤務希望情報に、前記管理者の前記管理者希望情報を加えて修正を加えた修正勤務希望情報に基づいて前記最適化計算を行うことを特徴とする。
【0010】
請求項5に記載の発明は、請求項1乃至4の何れか一つに記載の構成に加え、前記ユニット情報は前記勤務者が勤務する部署を示す情報としてのユニット情報を単位に形成されることを特徴とする。
【0011】
請求項6に記載の発明はプログラムであって、コンピュータを請求項1乃至5の何れか一つに記載の勤務シフト表作成装置として機能させることを特徴とする。
【発明の効果】
【0012】
請求項1に記載の発明によれば、シフト組合せ計算手段は、勤務者の職能を反映する情報としてのロール情報に基づいてシフト組合せを最適化する最適化計算を行うことにより、それぞれの勤務者の職能を基準としてシフト組合せの計算を行うことができる。これにより、求められる職能の異なる複数の勤務先、及び/又は、複数の業務に、シフト勤務を行う勤務者を適切に配置することができる。
【0013】
請求項2に記載の発明によれば、既に作成された前記勤務シフト表のうちの少なくとも一部のシフト組合せについて、新たな最適化計算としての修正最適化計算を行い、勤務表作成手段は、修正最適化計算の結果に基づいて、勤務シフト表のうちの少なくとも一部を修正した修正勤務シフト表を作成することにより、作成済の勤務シフトの少なくとも一部に欠員の発生等による再計算が必要となった場合であっても、それぞれの勤務者の職能を基準としてシフト組合せの計算を再度行うことができる。これにより、再度の計算に基づいて、求められる職能の異なる複数の勤務先、及び/又は、複数の業務に、シフト勤務を行う勤務者を適切に配置することができる。
【0014】
請求項3に記載の発明によれば、いったん決定した勤務表情報を修正した場合の修正の大きさを示す単位情報としてのペナルティ情報が最小になることを最適な状態とし、前記ペナルティ情報が前記最適な状態になるシフト組合せを探索によって求める最適化計算を行うことにより、勤務者の勤務希望と管理者の希望との合致の度合いが高い勤務シフト表を自動作成できる。これにより、勤務者と管理者の双方の満足度が高い勤務シフト表を自動作成することが可能となる。
【0015】
請求項4に記載の発明によれば、勤務者の勤務希望情報に、管理者の管理者希望情報を加えて修正を加えた修正勤務希望情報に基づいて最適化計算を行うことにより、勤務者自身の勤務内容の意向に加え、勤務者を勤務先に派遣する派遣元の会社の管理者等、勤務者の勤務を管理する者の意向も踏まえた勤務シフト表を作成できる。これにより、勤務者の意向と管理者の意向がそれぞれ反映された、実用性の高い勤務シフト表を作成できる。
【0016】
請求項5に記載の発明によれば、勤務シフト表は、勤務者が勤務する部署を示す情報としてのユニット情報を単位に形成されることにより、勤務者の勤務先を基準とし、それぞれの勤務者の勤務内容を適切に反映した、見やすく実用的な勤務シフト表を作成できる。
【0017】
請求項6に記載の発明によれば、本発明の勤務シフト表作成装置をプログラム化し、多様なコンピュータハードウェア上で実現させることができる。
【図面の簡単な説明】
【0018】
【
図1】この発明の実施の形態のこの実施の形態の勤務シフト表作成システム及び勤務シフト表作成装置のシステム構成図及び概要を示す機能ブロック図である。
【
図2】同上勤務シフト表作成装置の詳細を示す機能ブロック図である。
【
図3】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第1の原理、及び第3の原理を模式的に示す図である。
【
図4】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第2の原理を模式的に示す図である。
【
図5】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第4の原理を模式的に示す図である。
【
図6】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第5の原理を模式的に示す図である。
【
図7】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第6の原理を模式的に示す図である。
【
図8】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第6の原理におけるペナルティの計算方法を模式的に示す図である。
【
図9】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第7の原理としての、勤務シフト及び勤務シフト表の作成手順を模式的に示すフローチャートである。
【
図10】同上勤務シフト表作成装置におけるシフト組合せ作成の原理のうち、第7の原理としての、計算対象データの状態の遷移を模式的に示す図である。
【発明を実施するための形態】
【0019】
[文言について]
まず、本明細書における記載の定義を以下に記載する。
【0020】
本明細書における「シフト」とは、時間制や時間帯制で勤務する「勤務者」としてのスタッフの、勤務を行う時間帯と、時間帯ごとに勤務者が従事する業務との組合せを示す。
この「シフト」を構成する時間帯の情報は、たとえば、勤務開始時間の情報、勤務終了時間の情報を含む勤務時間帯の情報、休憩開始時間の情報、休憩終了時間の情報を含む休憩時間帯の情報等によって構成される。
また、この勤務時間帯の情報は、スタッフが従事する業務が複数ある場合、たとえば業務X、業務Y、業務Zの3つの業務がある場合において、
業務Xの開始時刻の情報、及び終了時刻の情報、
業務Yの開始時刻の情報、及び終了時刻の情報、
業務Zの開始時刻の情報、及び終了時刻の情報、
のように、業務ごとに時間帯を区分して時間帯を設定する場合も想定される。
本明細書における「シフト制」とは、「シフト」に基づく勤務体系を示す。
本明細書における「シフト勤務」とは、「シフト」に基づく勤務を示す。
【0021】
本明細書における「スタッフ」とは、「勤務者」であって、企業、官公庁、各種の団体等(以下単に「企業等」と称する。本明細書において同じ。)に勤務する者を示し、正社員、非正社員、常勤、非常勤等を問わない。「スタッフ」は、少なくとも一部に「シフト勤務」による勤務を行う者を主として示すが、「シフト勤務」を行っていない者が含まれてもよい。
【0022】
本明細書における「シフト組合せ」とは、複数の「シフト」の組合せを示す。ここでは、一の「スタッフ」の複数の時間や複数の時間帯における「シフト」の組合せも、複数の「スタッフ」の一の時間や一の時間帯における「シフト」の組合せも、複数の「スタッフ」の複数の時間や複数の時間帯における「シフト」の組合せも「シフト組合せ」を構成する。
【0023】
本明細書における「マネージャー」とは、「管理者」であって、「スタッフ」の管理統括を行う者を示す。具体的には、たとえば、企業、官公庁、各種団体等における「スタッフ」の上司や管理者、派遣社員の派遣元や出向社員の出向元の上司や管理者等がこれに該当する。
【0024】
本明細書における「勤務シフト表」とは、「シフト勤務」する「スタッフ」の「シフト」や「シフト組合せ」を、たとえばスプレッドシート等に表形式で表したものを示す。「勤務シフト表」は、主としてスタッフ用端末21,・・・,2n(後述)の表示部222,・・・,22n(後述)やマネージャー用端末3(後述)の表示部32(後述)に表示される画像として構成されるものを示す。ただし「勤務シフト表」は、前述のデバイス以外に表示されるものや、前述の表示態様以外で表示されるものであってもよい。また、「勤務シフト表」は、「シフト勤務」以外のいかなる勤務形態やいかなる内容を表示できるものであってもよい。
【0025】
[システム構成]
図1乃至
図10に、この発明の実施の形態1を示す。
【0026】
図1は、この実施の形態の勤務シフト表作成システム及び勤務シフト表作成装置のシステム構成図及び概要を示す機能ブロック図である。同図に示すとおり、この実施の形態の勤務シフト表作成システム1Aは、この実施の形態の勤務シフト表作成装置1と、N個(N≧1)のスタッフ用端末2
1~2
nと、マネージャー用端末3とを備えており、勤務シフト表作成装置1とスタッフ用端末2
1~2
n、及び勤務シフト表作成装置1とマネージャー用端末3とは、WAN(Wide Area Network)としてのインターネット(図示せず)等を介して相互に交信可能である。
【0027】
なお、この実施の形態の勤務シフト表作成システム1Aは、いわゆるクラウドシステムであることが想定される。即ち、勤務シフト表作成装置1がクラウドシステムを構成するサーバシステムとして構成され、スタッフ用端末21~2n、マネージャー用端末3は、クラウドシステムのユーザの使用する端末として構成されることが想定される。ただし、勤務シフト表作成システム1Aは、クラウドシステム以外のネットワークコンピュータシステムとして構成されてもよい。
【0028】
勤務シフト表作成装置1は、マネージャーやマネージャーを管理統括する者やマネージャーに管理運用業務を委託された者が管理し運用するサーバコンピュータである。勤務シフト表作成装置1は、勤務シフト表を作成し、また、勤務表の運用、例えば作成した勤務表をスタッフ用端末21~2nやマネージャー用端末3に表示させるための処理や、スタッフ用端末21~2nやマネージャー用端末3からの入力に基づいて、作成した勤務表の修正や削除等のための処理を行う。
【0029】
勤務シフト表作成装置1は、複数のサーバコンピュータや複数のパーソナルコンピュータ等の集合体としてのコンピュータシステムとして構成してもよいし、1台のサーバコンピュータや1台のパーソナルコンピュータ等で構成してもよい。上述のとおり。勤務シフト表作成装置1は、主に、クラウドシステムのサーバシステムとして構成される。
【0030】
この実施の形態において、勤務シフト表作成装置1はスタッフ1011,1012,・・・,101n「シフト」や「シフト組合せ」を表形式で表示した勤務シフト表を作成する。ただし、これのみに限定されず、勤務シフト表作成装置1は、表形式以外、例えば箇条書きのテキストや、スケジュールの種類を示す図形や画像等によってスタッフ1011,1012,・・・,101nの勤務スケジュールが示された勤務シフト表を作成してもよいし、他のいかなる形式でスタッフ1011,1012,・・・,101nの勤務シフト表を作成してもよい。
【0031】
また、勤務シフト表作成装置1は、Webサーバ機能、大容量のデータを保存するデータベース機能を備えている。
【0032】
スタッフ用端末2
1,・・・,2
nは、N名(N≧1)の個人であるスタッフ101
1,101
2,・・・,101
nがそれぞれ所持し使用する、データ通信機能を有する通信端末であって、パーソナルコンピュータ、携帯電話端末、スマートフォン、タブレット等がこれに該当する。スタッフ用端末例えばスタッフ用端末2
1は、マウスやキーボード等各種指示を入力するために用いられる操作部21
1、LCD(Liquid Crystal
Display)等からなり操作部21から入力された各種指示等や各種画像を表示する表示部22
1を有している。スタッフ用端末例えばスタッフ用端末2
1の操作部21
1と表示部22
1は、指やタッチペン等のポインティングデバイスの接触位置の座標情報等に基づいて各種入力を行う、タッチパネル式のディスプレイとして構成されていてもよい。
図1に図示しないが、他のスタッフ用端末2
2,・・・,2
nも同様の操作部21
2,・・・,21
n及び表示部22
2,・・・,22
nを備えている。なお、スタッフ101
1,101
2,・・・,101
n、スタッフ用端末2
1,・・・,2
n、操作部21
1,・・・,21
n、表示部22
1,・・・,22
nは同じ構成を持つので、以下、区別する必要がある場合を除き、スタッフ101、スタッフ用端末2、操作部21、表示部22とする。
【0033】
この実施の形態では、スタッフ1011,1012,・・・,101nのそれぞれが1台ずつスタッフ用端末21,・・・,2nを所持する構成として記載するが、スタッフ1011,1012,・・・,101nとスタッフ用端末21,・・・,2nとは必ずしも一対一対応している必要はなく、1名のスタッフ例えばスタッフ1011が複数台例えば2台のスタッフ用端末21,22を所持・使用していてもよいし、複数名例えば2名のスタッフ1011,1012が特定のスタッフ用端末例えばスタッフ用端末21を共用していてもよい。
【0034】
また、スタッフ101が被雇用者である場合の雇用形態は、正規雇用、非正規雇用(有期契約労働者、派遣労働者(登録型派遣)、パートタイム労働者、等を含む)の如何を問わない。また、スタッフ101が被雇用者以外の場合(例えば非営利団体の構成員である場合など)の従業形態や活動形態も、どのようなものであってもよい。
【0035】
マネージャー用端末3は、マネージャー102が所持し使用する、データ通信機能を有する通信端末であり、スタッフ用端末2の操作部21や表示部22と同様の構成である操作部31や表示部32を備え、スタッフ用端末2と同様の構成及び機能を備えている。
【0036】
マネージャー102が1人である必要やマネージャー用端末3が1台である必要はなく、例えば、
図1に示す1人のマネージャー102が複数台例えば図示せぬ2台のマネージャー用端末3
1,3
2を所持・使用してもよいし、複数名例えば図示せぬ2名のマネージャー102
1,102
2が
図1に示すマネージャー用端末3を共用していてもよいし、複数名例えば図示せぬ2名のマネージャー102
1,102
2のそれぞれが複数台例えば図示せぬ2台のマネージャー用端末3
1,3
2のそれぞれを別個に所持・使用してもよい。
【0037】
図1には図示しないが、勤務シフト表作成装置1はCPU等の演算手段、RAMROM(Read Only Memory)、ハードディスクやEEPROM等の補助記憶装置、データの送受信用の通信インターフェース等が設けられている。勤務シフト表作成装置1の補助記憶装置に記録されたプログラムやデータは、ハードウェア資源と協働して各種機能を実現する。
【0038】
図2は、この実施の形態の勤務シフト表作成装置1の詳細を示す機能ブロック図である。
【0039】
図2に示す通り、勤務シフト表作成装置1は、上述した各種プログラムとハードウェア資源とに基づいて実現される機能手段として、計算対象選択部11、計算用情報記録部12、勤務可能範囲記録部13、選択フィルター部14、「シフト組合せ計算手段」としての最適化計算部15、「勤務希望情報管理手段」及び「勤務シフト表表示手段」及び「管理者情報管理手段」としての勤務シフト記録・出力部16を備えている。
【0040】
計算対象選択部11は、シフト組合せ計算の対象を選択するために必要な処理を行う。
【0041】
計算用情報記録部12は、シフト組合せ計算に必要なルール、定義、業務量等の各種の情報を記録する。
【0042】
勤務可能範囲記録部13は、勤務可能範囲データ131(後述)が記録されている。
【0043】
選択フィルター部14は、最適化計算に必要なデータと不要なデータとを選別する。
【0044】
最適化計算部15は、シフト組合せのために必要な最適化計算を行う。具体的には、最適化計算部15は、それぞれのスタッフ101がスタッフ用端末2から送信した勤務希望情報や、マネージャー102がマネージャー用端末3から送信した勤務要請情報等を用いて、所定の演算によってシフトやシフト組合せや勤務シフト表を自動的に作成する。
【0045】
勤務シフト記録・出力部16は、最適化計算部15の最適化計算の結果に基づいて、勤務シフトや勤務シフト表を作成する。勤務シフト記録・出力部16は、作成したシフトやシフト組合せや勤務シフト表のデータを記録し、また、作成した勤務シフト表をスタッフ用端末2の表示部22やマネージャー用端末3の表示部32に表示させる。
【0046】
計算対象選択部11は、計算対象日選択部111と、計算対象ロール選択部112とを備えている。計算対象日選択部111は、最適化計算の対象となる日や時間帯の情報(すなわち、スタッフ101のシフト勤務が行われる日や時間帯、スタッフ101が勤務を希望する日や時間帯、マネージャー102がスタッフ101に勤務を要請したい日や時間帯、スタッフ101が休みをとる日や時間帯、スタッフ101の勤務する「ユニット(後述)」の稼働する日や時間帯、「ユニット(後述)」の休業する日や時間帯、等の情報)を選択するために必要な処理を行う。
【0047】
計算対象ロール選択部112は、最適化計算の対象となるロールの情報(すなわち、スタッフ101が勤務を希望するロールや、マネージャー102がスタッフ101に勤務を要請したいロールの情報)を選択するために必要な処理を行う。
【0048】
計算対象日選択部111と、計算対象ロール選択部112は、スタッフ101がスタッフ用端末2の操作部21に入力したデータの受信や、マネージャー102がマネージャー用端末3の操作部31に入力したデータの受信を行い、受信したデータに基づいて、最適化計算部15に最適化計算を行わせる。ただし、計算対象日選択部111が最適化計算の対象となる日や時間帯の情報のうちの一部又は全部を自律的に選択する処理を行ったり、計算対象ロール選択部112が、最適化計算の対象となるロールの情報のうちの一部又は全部を自律的に選択する処理を行うように構成されていてもよい。
【0049】
計算用情報記録部12には、シフト編成ルール情報121、シフト種類定義マスター情報122、日ごと時間帯ごと業務量情報123が記録されている。
【0050】
シフト編成ルール情報121は、スタッフ101のシフト組合せを設定するためのルールに関する各種の情報である。たとえば、ペナルティ情報124(後述する[シフト組合せ作成の原理6]において詳述する。)等、シフト組合せの設定に必要な各種のルールの情報が記録されている。
【0051】
シフト種類定義マスター情報122は、シフトの種類に関する基本情報である。たとえば、1日24時間を朝番(8:00~16:00)、遅番(16:00~24:00)、夜番(0:00~8:00)の3交替制とする場合における、朝番、遅番、夜番の時間帯を規定する情報等がこれに該当する。また、8時間に満たない短時間シフトを多数設定することもある。基本的には、シフト種類定義マスター情報122は、ロールごとにシフトの種類に関する基本情報を記録するが、会社単位等、別の区分単位ごとにシフトの種類に関する基本情報を記録してもよい。
【0052】
日ごと時間帯ごと業務量情報123は、現場で日ごと、時間帯ごとに発生する(または発生すると見込まれる)業務量の情報である。この情報は、主として、外部のシステムで計算した結果、またはマネージャー102がマネージャー用端末3を用いて入力したデータを記録することで形成される。
【0053】
勤務可能範囲記録部13には、勤務可能範囲データ131が記録されている。
【0054】
勤務可能範囲データ131は、それぞれのスタッフ101の、それぞれの勤務希望日や時間帯、勤務希望日以外の日や時間帯における、スタッフ101の勤務可能な日や時間帯に関する情報である。勤務可能範囲データ131は、スタッフ101から勤務希望の要請があった日や時間帯のみによって設定してもよいし、それぞれのスタッフ101の過去の勤務状態の統計情報等(たとえば、それぞれのスタッフ101が、マネージャー102からの時間外出勤の要請に応じた回数や合計時間に関する情報などが考えられる。)を含めたものによって設定してもよいし、マネージャー102の要望に関する情報(たとえば、マネージャー102がスタッフ101に勤務を要請したい日や時間帯に関する情報が考えられる。)を含めたものによって設定してもよい。
【0055】
勤務シフト記録・出力部16は、勤務シフト希望データ161、「管理者希望情報」としての勤務シフト固定データ162、勤務シフト予定データ163が記録されている。この、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163は、最適化計算部15におけるシフト最適化計算の対象を有するデータとしての計算対象データ43を形成する。また、勤務シフト記録・出力部16は、勤務シフト表41、修正勤務シフト表42を作成する。
【0056】
勤務シフト希望データ161には、それぞれのスタッフ101がシフト勤務を希望する日や時間帯や、勤務を希望するシフトの種類に関するシフト種類の情報が記録されている。この勤務シフト希望データ161は、それぞれのスタッフ101がスタッフ用端末2等を用いて勤務シフト表作成装置1に入力した情報を記録することで形成されている。
【0057】
勤務シフト固定データ162には、勤務者のシフトに対する、管理者の希望の情報が記録されている。具体的には、勤務シフト固定データ162には、マネージャー102がスタッフ101に勤務を要請したい日や時間帯やシフト種類の情報、スタッフ101が勤務を希望するシフト種類や会社等の休業情報等が記録されている。この勤務シフト固定データ162は、主として、それぞれのマネージャー102がマネージャー用端末3等を用いて勤務シフト表作成装置1に入力した情報を記録することで形成されている。
【0058】
勤務シフト予定データ163は、最適化計算部15の最適化計算によって形成されたそれぞれのスタッフ101のシフトやシフト組合せに基づいて形成される情報である。
【0059】
勤務シフト表41、修正勤務シフト表42は、勤務シフト予定データ163を表形式で表示可能としたデータである。具体的には、たとえば、勤務シフト予定データ163をスプレッドシート等に表示させた、勤務シフト表41や、修正勤務シフト表42を作成する。勤務シフト記録・出力部16は、この勤務シフト表41や修正勤務シフト表42を記録したり、スタッフ用端末2の表示部22やマネージャー用端末3の表示部32に表示させる。
【0060】
選択フィルター部14には、ルール選択フィルター部141、シフト種類選択フィルター部142、第1の対象セル選択フィルター部143、第2の対象セル選択フィルター部144、第3の対象セル選択フィルター部145、第4の対象セル選択フィルター部146が設けられている。
【0061】
シフト組合せ計算はロールごとに実行するため、計算に適用するシフト編成ルールはロールごとに決まる。つまり、シフト編成ルール情報121として記録されているルール群のそれぞれのルールにはあらかじめ対応するロールを指定しておく。ルール選択フィルター部141は、シフト編成ルール情報121として記録されたルール群から、計算対象ロール選択部112で与えられたロール情報を用いて、計算に適用するルールを選別する機能を有する。
【0062】
ロールごとに実行するシフト組合せ計算に適用するシフト種類はロールごとに決まる。つまり、シフト種類定義マスター情報122として記録されているシフトのそれぞれには対応するロールを指定しておく。シフト種類選択フィルター部142は、シフト種類定義マスター情報122として記録されたシフト群から、計算対象ロール選択部112で与えられたロール情報を用いて、計算に適用するシフトを選別する機能を有する。
【0063】
既に述べたように最適化計算はロールごとに実行する。また、勤務表の一部の日に限定した計算を実行させることもできる。このロールと対象日は計算対象選択部11において入力が行われる。計算対象選択部11において入力が行われた日付の範囲とロールにより、第1の対象セル選択フィルター部143は勤務可能範囲データ131を選別し、第2の対象セル選択フィルター部144は勤務シフト希望データ161を選別し、第3の対象セル選択フィルター部145は勤務シフト固定データ162を選別し、第4の対象セル選択フィルター部146は勤務シフト予定データ163を選別する。
【0064】
第1~第4の対象セル選択フィルター部143,144,145,146における選別の結果、計算対象となるロールおよび日付範囲に含まれるデータのみが最適化計算部15に入力される。
【0065】
最適化計算部15は、機能手段として、最適指標計算部151、シフト組合せ最適化計算部152、最適化計算結果出力部153、計算結果反映部154を備えている。
【0066】
最適指標計算部151は、第1~第4の対象セル選択フィルター部143,144,145,146によって選択されたセルに対応する勤務シフト予定データ、勤務シフト固定データ、勤務シフト希望データの値から、そのシフトに割当て可能なシフト候補ごとに割当てた場合の「ペナルティ情報124」に基づいて「ペナルティ値」を計算する。
【0067】
たとえば、勤務シフト予定データ、勤務シフト固定データ、勤務シフト希望データに何も情報が設定されていなければ、そのセルに割当て可能なシフト候補のどれを割当ててもペナルティはゼロである。ところが、勤務シフト希望データに休みが設定されていた場合、そのセルの割当てシフト候補のうち、勤務のシフトに相当するものには、大きな「ペナルティ情報124」を設定する。この「ペナルティ情報124」に基づいて、最適指標計算部151は全ての割当て可能なシフト候補に対して「ペナルティ値」を計算し、この「ペナルティ値」の情報をシフト組合せ最適化計算部152に入力する。
【0068】
なお、「ペナルティ情報124」「ペナルティ値」については後述の[シフト組合せ作成の原理6]の項目で詳細に説明する。
【0069】
シフト組合せ最適化計算部152は、最適指標計算部151で与えらえた割当て可能なシフト候補とそのペナルティ値、ルール選択フィルター部141およびシフト種類選択フィルター部142によって選択されたルールとシフト種類のデータ、そして日ごと時間帯ごと業務量情報123に基づき、シフト組合せ最適化計算を実行する。
【0070】
最適化計算結果出力部153は、シフト組合せ最適化計算部152の最適化計算の結果を出力する。
【0071】
計算結果反映部154は、最適化計算結果出力部153が出力した最適化計算の結果としてのシフトやシフト組合せを反映させた、勤務シフト予定データ163を作成し、出力する。
【0072】
[シフト組合せ作成の原理]
図3乃至
図8は、この実施の形態の勤務シフト表作成装置1における、スタッフ101のシフト、シフト組合せ、及び、勤務シフト表を作成するための原理(以下単に「シフト組合せ作成の原理」と称する。本明細書において同じ。)を模式的に示す図である。以下、これらの図に示された原理について説明する。
【0073】
[シフト組合せ作成の原理1:ユニットとロールによる管理]
図3は、この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第1の原理を模式的に示す図である。
【0074】
この実施の形態の勤務シフト表作成装置1においては、それぞれのスタッフ101の属性情報として、ユニットとロール情報とを設けている。ただし、スタッフ101の属性情報以外のいかなる情報やいかなる態様で、勤務シフト表作成装置1にユニット情報やロール情報が記録されていてもよい。
【0075】
ここで、「ユニット情報」とは、それぞれのスタッフ101の所属部門に関する情報のことである。具体的には、「ユニット情報」は、それぞれのスタッフ101の勤務部門、配属部署、配属部課など、一又は複数のスタッフ101が配置されると共に、それぞれのスタッフ101の従事する職務を直接的又は間接的に決定する組織又は組織の区分けを示すものである。
【0076】
そして、「ロール情報」とは、勤務シフト表の最適化計算の単位で、目的とする業務に携わるスタッフ101のグループを構成するための情報である。例えば、店舗での接客業務を、通常は店舗の販売職の社員が行うが、店舗が繁忙時期に、事務部門の一部の接客対応社員が行う場合がある。このような場合に、店舗の社員は店舗ユニットに属し、接客ロールを有し、接客対応ができる一部の事務部門の社員は、事務部門ユニットに属するが、接客ロールも有する。このように、ロール情報はスタッフの対応可能業務を示す。
【0077】
図3においては、ユニット情報として、「部署W」「部署X」「部署Y」「部署Z」の4つの情報が存在する。たとえば、特定の会社において「部署W」は第1営業部(接客と商品販売を主として行う部署)、「部署X」は第2営業部(商品の管理や入荷等のバックヤード作業を主として行う部署)、「部署Y」は総務部(各種の事務作業を主として行う部署)、「部署Z」は人事部(社員の人事考課を主として行う部署)等であることが考えられる。
【0078】
なお、このユニット情報は、たとえば計算用情報記録部12のシフト編成ルール情報121に記録し、最適化計算部15の最適化計算において用いられる。
【0079】
また、
図3においては、ロール情報として「ロールR」「ロールS」「ロールT」「ロールU」の4つが存在する。たとえば、特定の会社において「ロールR」は接客と商品販売の職務に関する情報、「ロールS」はバックヤード作業に関する情報、「ロールT」は事務作業に関する情報、「ロールU」は人事考課に関する情報、等であることが考えられる。
【0080】
図3に示すとおり、ロール情報としての「ロールR」「ロールS」「ロールT」「ロールU」には、それぞれ優先度情報が設定されている。同図においては、優先度情報の数字が小さい方が仕事の優先度が高いことを示す。ここでは、売上に直接影響して重要度の高い、接客と商品販売に関する「ロールR」が最も優先度が高く、接客と商品販売を支援するバックヤード作業に関する「ロールS」が2番目に優先度が高い。そして、バックヤード作業よりも時間的な融通が利きやすい事務作業に関する「ロールT」が3番目に優先度が高く、売上に対する直接的な影響度が他の業務よりも低い「ロールU」が4番目に優先度が高い。なお、このロール情報は、たとえば計算用情報記録部12のシフト編成ルール情報121に記録し、最適化計算部15の最適化計算において用いられる。
【0081】
[シフト組合せ作成の原理2:ユニットとロールを用いた勤務シフト・勤務シフト表作成]
図4は、この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第2の原理を模式的に示す図である。この第2の原理は、最適化計算部15の最適化計算によって実現される。
【0082】
図4は、ロール情報に基づいて、それぞれのユニット情報の示す「ユニット」に所定のロールたとえば「ロールR」を有するスタッフ101が「部署W」「部署X」「部署Y」「部署Z」配置された状態を模式的に示している。同図においては、「部署W」「部署X」「部署Y」「部署Z」におけるロールR領域101aの縦方向の幅が、それぞれの部署におけるロールRを有するスタッフ101の数の多少を模式的に示し、横方向がスタッフ101の勤務日(左から右にかけて月初から月末)を模式的に示している。
【0083】
この実施の形態においては、複数の部署に配置されるスタッフ101を、ロールを単位とした集合とし、この集合についての最適化計算を行う。
図4に示すとおり、最適化計算部15は、「部署W」「部署X」「部署Y」「部署Z」のそれぞれに配置されるスタッフ101のうち、ロールRに対応するスタッフ101の集合について最適化計算を行う。
【0084】
この実施の形態においては、最適化計算部15がロールを単位に最適化計算を行うことにより、それぞれの業務に求められる業務量に対して対応可能なスタッフ101の勤務を最適化することができる。たとえば、
図4に示すように、最適化計算部15が「ロールR」を単位に最適化計算を行えば、接客に必要な業務量に対して接客業務ができるスタッフ101の勤務を最適化できる。同様に、最適化計算部15が「ロールS」を単位に最適化計算を行えば、バックヤード作業に必要な業務量に対してバックヤード業務ができるスタッフ101の勤務を最適化できる。
【0085】
具体的には、同図においては、「ロールR」を有するスタッフ101が「部署W」に配置され、「ロールS」を有するスタッフ101が「部署X」に配置され、「ロールT」を有するスタッフ101が「部署Y」に配置され、「ロールU」を有するスタッフ101が「部署Z」に配置された状態を示している。
【0086】
図4に示すとおり、この実施の形態においては、それぞれのスタッフ101を、スタッフ101ごとに設定されたロール情報に基づいて、ユニット情報の示すユニットに配置する。そのため、たとえばユニットが同一の会社の複数の部署ごとに設定されている場合や、会社ごとに設定されている場合に、同一のスタッフ101を、シフトごとに別の部署や別の会社に配置するようなシフト組合せを容易に実現できる。これにより、特定のユニットで人手が足りない場合には、一のユニットでシフトに入っているスタッフ101を、人手が足りないユニットのシフトに回す配置を行うような、実質的な応援の配置を容易に自動的に行うことが可能となる。
【0087】
[シフト組合せ作成の原理3:ロールの優先順位]
この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第3の原理を、
図3を参照して説明する。この第3の原理は、最適化計算部15の処理によって実現される。
【0088】
この実施の形態においては、それぞれのスタッフ101に設定されるロール情報に、優先度情報が設定されている。これは、一のスタッフ101に複数の「ロール」が設定される場合、そのスタッフ101を、どの「ロール」を優先してどの「ユニット」に配置するかを決定するための情報である。この情報は、たとえば、「ユニット」ごとに異なる整数を設定し、この整数の大小がそれぞれの「ロール」の優先度を示す情報として機能するように設定することが考えられる。この「ロール」の優先度は、「ロール」の重要度に基づいて設定される。
【0089】
たとえば、
図3において、「ロールR」に「1」の優先度情報、「ロールS」に「2」の優先度情報が設定されている場合、数値の大きい「ロールS」は数値の小さい「ロールR」よりも優先度が高いものとして扱われる。従って、
図3において、「ロールR」と「ロールS」が設定された「スタッフ23」と「スタッフ25」は、通常の状態であれば、優先度の高い「ロールS」に基づいて、「部署X」に配置される。
【0090】
一方、もし、「部署X」に配置されたスタッフ101が定員を超え、「部署W」に配置されるスタッフ101が不足している場合などには、「スタッフ23」や「スタッフ25」は、優先度の低い「ロールR」に基づいて、「部署W」に配置される。
【0091】
このように、ロールの優先順位を設けることにより、たとえば、一のスタッフ101に複数のロールが設定されている場合に、優先度の高いロールを主たるシフトとし、優先度の低いロールを従たるシフトとするようなシフト組合せを行うことができる。これにより、たとえば、特定のスタッフ101(たとえば「スタッフ23」)を、通常は「ロールS」にて「部署X」のユニットに配置し、「部署W」のユニットで人手が足りない場合には、「ロールR」にて「部署W」のユニットに配置するような、実質的な応援の配置を容易に自動的に行うことが可能となる。
【0092】
[シフト組合せ作成の原理4:希望データ、固定データ、シフトデータの関係]
図5は、この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第4の原理を模式的に示す図である。この第4の原理は、最適化計算部15の処理によって実現される。
【0093】
図5は、この実施の形態の勤務シフト表作成装置1における、勤務シフト及び勤務シフト表を作成するための、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163の関係を、階層として模式的に示している。なお、同図の勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163は、横軸が日付(左から右に日にちが進行する。)で、縦軸がスタッフ101である。そして、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163の平面上に、それぞれのスタッフ101の日にちごとの情報がマトリックス状に設定される。
【0094】
同図において、最下層は勤務シフト希望データ161、中間層は勤務シフト固定データ162、最上層は勤務シフト予定データ163であり、上層側に存在するデータの方が実際のシフト組合せや勤務シフト表に優先的に反映される。また、同図に示すとおり、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163は計算対象データ43に含まれる(上述の[システム構成]の説明ならびに[
図2]の記載と同様である。)。
【0095】
図5において、最下層の勤務シフト希望データ161は、それぞれのスタッフ101の勤務希望のデータを示している。たとえば、
図5の模式図の勤務シフト希望データ161に含まれる「A」は、2月1日に「スタッフ23(
図3参照)」が「休み」としたい希望を示し、「D」は、2月4日に「スタッフ12(
図3参照)」が「休み」としたいという希望を示す。
【0096】
図5において、中間層の勤務シフト固定データ162は、マネージャー102に届いたスタッフ101の希望データと、マネージャー102が指定したシフト情報(たとえば、「スタッフ11(
図3参照)」は2月2日に「シフトX」で勤務させるという情報などがこれに該当する。)を示す。たとえば、
図5の模式図の勤務シフト固定データ162の「A」と「D」は、2月1日と2月4日に「スタッフ23(
図3参照)」と「スタッフ12(
図3参照)」の休み希望が届けられたことを示す。また、同図の模式図の勤務シフト固定データ162の「B」は、マネージャー102が指定した2月2日は「スタッフ23(
図3参照)」が「シフトX」で勤務する情報を示す。
【0097】
図5において、最上層の勤務シフト予定データ163は、スタッフ101の希望データが、マネージャー102の固定データを介して勤務シフトや勤務シフト表に反映された状態を模式的に示している。たとえば、
図5の模式図の勤務シフト予定データ163の「A」は、2月1日に「スタッフ23(
図3参照)」の「休み」という希望がそのまま勤務シフト表に反映された状態を示す。
【0098】
一方、
図5において、勤務シフト予定データ163の「E」は、スタッフ101の希望していた、2月4日は「休み」としたいという希望(同図の「D」)が、マネージャー102の要望によって、2月4日は「シフトY」で勤務することになった(同図の「E」)状態を示している。
【0099】
つまり、
図5においては、この実施の形態では、スタッフ101の勤務シフト希望データ161とマネージャー102の勤務シフト固定データ162が相違する場合、マネージャー102の勤務シフト固定データ162を優先して勤務シフト予定データ163を形成することを示している。
【0100】
また、勤務シフト予定データ163の「B」は、「スタッフ11(
図3参照)」の勤務に関する指示情報、たとえば、2月2日は「スタッフ11(
図3参照)」は業務の都合によりマネージャー102が指定した勤務となることを示す。また、勤務シフト予定データ163の「C」は、固定でも希望でもないデータ、つまり、最適化計算の結果を挿入したもの、あるいは、計算結果をマネージャー102が修正したものであることを示している。
【0101】
ここで、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163の関係は、すべてのスタッフ101の集合に含まれる特定のスタッフ101であるiの、すべての日のうちの特定の日であるjについて、下記式(1)が成立するものである。
ただし、
また、上記(1)においては、すべてのスタッフ101iのすべての日jについて、下記式(2)、式(3)、式(4)が同時に成立するものとする。
これらの3つの式は、一人のスタッフ101の一日には、予定データ、一つの種類のシフトのみを割当てることを意味している。
式(1)の計算項は、下記式(5)に示すα項、β項、γ項、σ項、ε項、θ項に分かれる。
ここで、α項は、スタッフ101iの日jに勤務シフト予定データ163が設定されているかどうかに関する項であり、勤務シフト予定データ163が設定されていればα項=1、設定されていなければα項=0となる。
たとえば、
図5に示す「C」および「E」の場合、α項=1となる。
同様に、γ項は、スタッフ101iの日jに勤務シフト固定データ162が設定されているかどうかに関する項であり、勤務シフト固定データ162が設定されていればγ項=1、設定されていなければγ項=0である。
同様に、θ項は、スタッフ101iの日jに勤務シフト希望データ161が設定されているかどうかに関する項であり、勤務シフト希望データ161が設定されていればθ項=1、設定されていなければθ項=0である。
【0102】
それぞれのデータ層(勤務シフト予定データ163、勤務シフト固定データ162、勤務シフト希望データ161)のシフトが設定されていた場合の各計算項の値を、下記に示す表1に表す。
【0103】
【表1】
この表1に示す関係から、式のα、-βγ、δεθは、それぞれが予定データ(勤務シフト予定データ163)、固定データ(勤務シフト固定データ162)、希望データ(勤務シフト希望データ161)のいずれのデータを採用するかどうかを表すことがわかる。
例えば、表1の上から2行目は、希望データ(勤務シフト希望データ161)が存在するケースである。このケースでは、
α=0、-βγ=0、δεθ=1
であり、式の結果は
W
ijk=p
ijk
となる。よって、式(1)の結果は勤務シフト希望データ161を採用することになる。
【0104】
また例えば、表1の上から4行目は、固定データ(勤務シフト固定データ162)と希望データ(勤務シフト希望データ161)が存在するケースである。このケースでは、
α=0、-βγ=1、δεθ=1
であり、式の結果は
Wijk=fijk
となる。よって、式(1)の結果は勤務シフト固定データ162を採用することになる。
【0105】
また例えば、表1の一番下の行は予定データ(勤務シフト予定データ163)、固定データ(勤務シフト固定データ162)、希望データ(勤務シフト希望データ161)が設定されているケースを示すが、この場合、
α=1、-βγ=0、δεθ=0
であり、であり、式の結果は
Wijk=sijk
となる。よって、式(1)の結果は勤務シフト予定データ163を採用することになる。
【0106】
[シフト組合せ作成の原理5:最適化計算の局所化と繰返し]
図6は、この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第5の原理を模式的に示す図である。
図6は、この実施の形態の勤務シフト表作成装置1における、勤務シフト及び勤務シフト表を作成するための、最適化計算の手順を模式的に示している。この手順は、選択フィルター部14の第1~第4の対象セル選択フィルター部143,144,145,146,最適化計算部15の最適指標計算部151及びシフト組合せ最適化計算部152の処理によって行われる。
【0107】
同図において、最適化計算は、勤務シフトの全てのシフトについて行うのではなく、勤務シフトが必要な日時の必要なユニットについて行われる。また、最適化計算は、スタッフ101(同図では「スタッフ」と表示されている。)のシフト勤務が開始された後も、必要に応じて繰り返し行われる。
【0108】
図6は、これを、2回にわたり勤務シフト及び勤務シフト表の作成が行われた場合の手順について模式的に示している。以下これを説明する。
【0109】
手順(01):まず、選択フィルター部14は、1回目の計算対象範囲を設定する。この手順は、主として、最初に勤務シフト表を作成する場合に用いられる。
【0110】
具体的には、選択フィルター部14は、第1の対象セル選択フィルター部143、第2の対象セル選択フィルター部144によって、それぞれのスタッフ101が勤務可能な日や時間帯、それぞれのスタッフ101が勤務を希望する日や時間帯を設定する。
図6の(a)はこれを模式的に示したものであり、色表示された部分は、それぞれのスタッフ101が勤務可能な日や時間帯(それぞれのスタッフ101が勤務を希望する日や時間帯は、この中に含まれている。)を示している。
【0111】
手順(02):次に、選択フィルター部14は、初期設定シフトを設定する。これは、勤務シフト固定データ162に記録された、マネージャー102のスタッフ101に対する勤務要請、スタッフ101の勤務するロールや企業等の休業の情報等を、対象となるスタッフ101の対象となる日や時間帯に適用することで設定される。
図6の(a)はこれを模式的に示したものであり、色表示された部分のうちの「0」で示された部分は、それぞれのスタッフ101の休みの日や時間帯、あるいは、それぞれのスタッフ101の勤務可能なロールや企業等の休日や休みの時間帯勤務可能な日や時間帯を示している。
【0112】
手順(03):次に、最適化計算部15は、最適化計算によってシフトを決定する。具体的には、最適化計算部15の最適指標計算部151は第1~第4の対象セル選択フィルター部143~146によって、最適化計算を行う対象である、スタッフ101や勤務する日や時間帯を設定し、シフト組合せ最適化計算部152が最適化計算を行い、最適化計算結果出力部153が計算結果を出力し、計算結果反映部154が勤務シフト予定データ163を作成する。
図6の(b)はこれを模式的に示したものであり、色表示された部分のうちの「0」で示された部分以外の部分は、最適化計算部15の最適化計算によって設定されたシフトやシフト組合せであり、「0」で示された部分は第3の対象セル選択フィルター部145で除去されて最適化計算の対象から除外された、スタッフ101の休みの日や休みの時間帯の情報、あるいは、マネージャー102が特定のスタッフ101に勤務を希望する日や時間帯の情報である。
【0113】
手順(04):手順(01)~手順(03)によってシフト組合せや勤務シフト表が形成れたのちに再度の最適化計算が必要になった場合を考える。たとえば、勤務シフト表が形成されたのちに、完成した勤務シフト表の特定の箇所の修正が必要になった場合(たとえば特定のシフトでの勤務が決まっていた特定のスタッフ101が急遽シフト勤務ができなくなった場合など)がこれに該当する。
【0114】
この場合、選択フィルター部14は、2回目の計算対象範囲を設定する。具体的には、選択フィルター部14は、第1の対象セル選択フィルター部143、第2の対象セル選択フィルター部144によって、それぞれのスタッフ101が勤務可能な日や時間帯、それぞれのスタッフ101が勤務を希望する日や時間帯を設定する。
図6の(c)はこれを模式的に示したものであり、特定の日以降(同図の左から5列目以降の日付に対応する日)のそれぞれのスタッフ101が勤務可能な日や時間帯を示している。
【0115】
また、選択フィルター部14は、手順(02)と同様に、初期設定シフトを設定する。
【0116】
手順(05):次に、最適化計算部15は、再度の最適化計算を行うスタッフ101と、再度の最適化計算を行う日や時間帯を設定する。
図6の(c)はこれを模式的に示したものであり、手順(04)で選択された日付のうちの、特定のスタッフ101、ここでは同図の上から1人目~3人目、7人目のスタッフ101が、再度の最適化計算を行うスタッフ101として特定されたことを示している。
【0117】
手順(06):次に、最適化計算部15は、手順(05)で設定されたスタッフ101および日や時間帯について、再度の最適化計算を行う。
図6の(d)はこれを模式的に示したものであり、手順(05)で選択された特定のスタッフ101の特定の日や時間帯(
図6の(d)において「2」という数字が記載された部分)について、再度の最適化計算が行われたことを示している。
【0118】
上記、手順(01)~手順(06)に示すとおり、この実施の形態では、最適化計算を行うスタッフ101や勤務する時間帯を局所化することで、最適化計算を迅速かつ適切に行うことを可能としている。また、この実施の形態では、2回目以降の最適化計算は、最初に最適化計算を行った範囲において、最適化計算を行うスタッフ101や勤務する時間帯をさらに局所化することで、最適化計算を一層迅速かつ適切に行うことを可能としている。
【0119】
なお、
図6は、最適化計算を2回繰り返す手順を示しているが、最適化計算を3回以上繰り返す場合には、手順(04)~手順(06)をさらに繰り返す。
【0120】
[シフト組合せ作成の原理6:決定済み勤務シフトの変更の手順]
いったん勤務シフトが決定しスタッフ101にそれを通知した後、勤務シフトを変更しなければならないことは常に起こり得る。予定していたスタッフ101が病気により休む場合、あるいは急に退職するなどの場合である。このような場合に、なるべく勤務シフトの変更が少なく、スタッフ101にとっての影響を小さくすることが運用上の課題となる。原理6はその手段を提供する。
【0121】
図7は、この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第6の原理を模式的に示す図である。
図7は、この実施の形態の勤務シフト表作成装置1における、勤務シフト及び勤務シフト表を作成するための、スタッフ101ごとの決定済み勤務シフトを最適化計算によって変更する際の手順を模式的に示している。
【0122】
この第6の原理は、たとえば、特定のロールにおいて業務量に比してスタッフ101が不足したり、急遽欠勤するスタッフ101が現れたために、他のスタッフ101に勤務の延長を依頼する場合がこれに相当する。逆に、特定のロールにおいて業務量に比して勤務希望を出したスタッフ101の数が多すぎるので、既にシフト組合せに配置した特定のスタッフ101のシフトを取り消す場合もこれに相当する。
【0123】
この実施の形態においては、最適指標計算部151がペナルティ情報を計算し、それを用いてシフト組合せ最適化計算部152が変更によるペナルティを最小とするように、最適化計算を行う。
【0124】
図7には、スタッフ101が出した勤務希望情報を変更する変更パターンの代表例が示されている。
【0125】
(a)変更前は、特定の勤務日において、スタッフ101が勤務可能範囲データ131に規定する勤務可能範囲(たとえば、7時~19時までの時間帯)の中で勤務シフト(たとえば、9時~17時までの時間帯)が決まっていた場合に、これを下記(a1)~(a4)に変更するケースを考える。この場合、変更後が下記(a1)~(a4)となるような変更パターンが考えられる。
(a1)勤務可能範囲の範囲内で、スタッフ101の勤務を延長する。
(a2)勤務可能範囲の範囲内で、スタッフ101の勤務を短縮する。
(a3)勤務可能範囲を越えて、スタッフ101の勤務を延長する。
(a4)スタッフ101の勤務をキャンセルする。
【0126】
(b)変更前は、特定の勤務日において、勤務シフトを設定しておらず、この日にスタッフ101に勤務を要請する場合を考える。この場合、変更後が下記(b1)(b2)となるような変更パターンが考えられる。
(b1)勤務可能範囲の範囲内で、スタッフ101の勤務を設定する。
(b2)勤務可能範囲を越えて、スタッフ101の勤務を設定する。
【0127】
(c)変更前は、特定の勤務日において、スタッフ101が勤務可能範囲データ131に規定する勤務可能範囲を設定していないのに特定の時間帯(たとえば、9時~17時までの時間帯)に勤務させることになっていた場合を考える。この場合、変更後が(たとえば、7時~19時までの時間帯)の中で勤務希望時間帯を設定しておらず、この日にスタッフ101に勤務を要請する場合を考える。この場合、変更後が下記(c1)(c2)となるような変更パターンが考えられる。
(c1)勤務可能範囲の範囲を越えて、スタッフ101の勤務を設定する。
(c2)スタッフ101の勤務をキャンセルさせる。
【0128】
(d)変更前は、特定の勤務日において、スタッフ101が勤務可能範囲データ131に規定する勤務可能範囲を設定しておらず、勤務することにもなっていない場合を考える。この場合。この場合、変更後が下記(d1)となるような変更パターンが考えられる。
(d1)ペナルティの付与の仕方が最適化計算にとって重要である。
図7(a)のケース(変更前は勤務可能時間範囲内のシフトを割当てていた)で、変更後の割当て可能シフトに対して与えるペナルティの計算方法を、
図8に模式的に示す。
【0129】
図8の(1)は、変更前のシフトを模式的に示したものであり、
図8の(2)の#1から#6は、変更後の割当て候補の第1の例ないし第6の例を模式的に示したものである。そして、シフト組合せ最適化計算部152は、それぞれの割当て候補のシフトごとに、
図8の(2)の#1に示す変更後の割当て候補の第1の例、ないし、
図8の(2)の#6に示す変更後の割当て候補の第6の例のそれぞれと、
図8の(1)に示す変更前のシフトと、の差を評価する。具体的には、シフトの開始時刻と終了時刻、つまり勤務開始時刻と終了時刻のシフト変更前後の差を定量化することにより、この評価を実施する。
【0130】
図8(3)は、この、
図8の(2)の#1に示す変更後の割当て候補の第1の例、ないし、
図8の(2)の#6に示す変更後の割当て候補の第6の例のそれぞれと、
図8の(1)に示す変更前のシフトとの差を示した表である。
【0131】
例えば、
図8の(2)の#1に示す変更後の割当て候補の第1の例において、シフトの開始時刻は(1)の変更前のシフトの開始時刻と同じ、つまりds=0である。一方、同#1に示す変更後の割当て候補の第1の例において、シフトの終了時刻は、
図8の(1)に示す変更前のシフトの終了時刻よりもa分遅くなっているので、de=aとなる。
【0132】
また例えば、(2)の#6に示す変更後の割当て候補の第6の例において、シフトの開始時刻は(1)の変更前のシフトの開始時刻よりi分早く、同#2に示すシフトの終了時刻は(1)の変更前のシフトの終了時刻よりj分遅いため、ds=i,de=jとなる。
【0133】
なお、
図8の(2)において、ds,deは、勤務時間が長くなる方向を正の値としている。
【0134】
そして、
図8の(2)の#1から#6の、変更後の割当て候補の第1の例ないし第6の例において模式的に示す、ペナルティ値に変換する関数をfs,feとして定義すると、それぞれの割当て候補のペナルティ値Pは下記式(6)で計算できる。
P=fs(ds)+fe(de)・・・(6)
ただし、
fs:開始時刻の変更前と変更後の差
fe:終了時刻の変更前と変更後の差
具体的には、たとえば、
図8の(2)の#1に示す変更後の割当て候補の第1の例に対して与えるペナルティP
1は、上述の関係より、下記の式のとおりとなる。
P
1=fs(0)+fe(a)
なお、fs,feは単純な一次式でもよいが、できるだけ変化の少ないシフトを割当てることが望ましいので、fs,feともに二次式とすることが望ましい。
【0135】
なお、
図8は勤務可能時間帯の範囲で既決のシフトを変更する場合のペナルティ計算方法であるが、勤務可能時間帯を超えてシフトを変更する場合のペナルティも同様の方法で計算できる。具体的には、勤務可能開始時刻を超えて早い勤務開始時刻に変更する量をvs, 勤務可能終了時刻を超えて遅い勤務終了時刻に変更する量をveとする。さらに、それぞれの量からペナルティ値を算出する関数をgs, geとすれば、gs(vs)とge(ve)を式(6)の右辺に加えることで、勤務可能時間帯を超えてシフトを変更する場合のペナルティも考慮に加えることができる
ただし、最適化計算部152は、ペナルティ情報124を用いた別の演算によってシフト組合せを行ってもよい。たとえば、最適化計算部152は、最適化計算の対象となるすべてのスタッフ101のうち、特定のスタッフ101、たとえば「部署W」のユニットに勤務するスタッフ101や、複数のロールを有するスタッフ101(たとえばスタッフ23やスタッフ25など(
図3参照))のペナルティ情報124が、他のユニットに属するスタッフ101やロールが1つしかないスタッフ101などよりも大きくなったり小さくなったりするような傾斜を持たせて設定するような場合が考えられる。
【0136】
[シフト組合せ作成の原理7:勤務シフト表の作成手順]
図9および
図10は、この実施の形態の勤務シフト表作成装置1におけるシフト組合せ作成の原理のうち、第7の原理を模式的に示す図である。
図9は、この実施の携帯の勤務シフト表作成装置1における勤務シフト及び勤務シフト表を作成するための手順を示すフローチャートであり、
図10は、この実施の形態の勤務シフト表作成装置1における、勤務シフト及び勤務シフト表の作成手順におけるデータの状態の遷移を模式的に示す図である。
【0137】
[手順1:最適化計算の手順]
まず、マネージャー102は、マネージャー用端末3を用いて、勤務シフト及び勤務シフト表を作成するためのロールと計算範囲(作成する期間、作成対象となるスタッフ101)を設定する(ステップS1)。ここで、計算モードが「最適化計算」である場合(ステップS2の“Yes”)、最適化計算部15の最適指標計算部151は、勤務シフト記録・出力部16の計算対象データ43から勤務シフト希望データ161と勤務シフト固定データ162を取り込む(ステップS3)。
【0138】
そして、対象となる勤務シフト及び勤務シフト表に既に勤務シフト予定データ163、勤務シフト希望データ161、勤務シフト固定データ162が存在する場合には、この、計算前の勤務シフト予定データ163、勤務シフト希望データ161、勤務シフト固定データ162を保存する(ステップS5)。そして、最適指標計算部151は、勤務可能範囲記録部13から勤務可能範囲データ131を取得すると共に、計算範囲の最適指標を計算する(ステップS6)。
【0139】
そして、シフト組合せ最適化計算部152は、ステップS1で設定したロールにおいて指定されたルールとシフト定義を、計算用情報記録部12のシフト編成ルール情報121とシフト種類定義マスター情報122から取得する(ステップS7)。さらに、シフト組合せ最適化計算部152は、日ごと時間帯ごと業務量情報123を取得して、勤務シフト希望データ161と勤務シフト固定データ162を対象に、シフト組合せ最適化計算を行う(ステップS8)。
【0140】
この、ステップS8の最適化計算が行われると、最適化計算結果出力部153は最適化計算の結果を出力し、計算結果反映部154は、最適化計算の結果を勤務シフト予定データ163に反映させる(ステップS9)。反映の結果は、勤務シフト表41として形成される。
【0141】
この、ステップS1~S3~S5~S9により、
図10の(a)に示す、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163を含む計算対象データ43(状態#1)のうち、勤務シフト希望データ161と勤務シフト固定データ162は最適化計算部15における最適化計算の入力となる。最適化計算後の勤務シフト希望データ161と勤務シフト固定データ162は、勤務シフト記録・出力部16に勤務シフト表41(保存#1)として保存される。そして、最適化計算後の状態は、
図10の(b)に示す勤務シフト予定データ163として書き込まれ、計算対象データ43の状態は(状態#2)となる。
【0142】
[手順2:マニュアル操作による編集の手順]
図10の(b)に示す、計算対象データ43(状態#2)の勤務シフト予定データ163は、マネージャー102がマネージャー用端末3の操作部31等を用いて、マニュアル操作による編集を行うことができる。この編集は、たとえば、最適化計算の結果設定された、スタッフ101の特定のシフトを、マネージャー102がスタッフ101に勤務を要請する状態(たとえば、そのスタッフ101に設定された複数のロールのうち、スタッフ101が勤務を希望した一のロールの勤務を、マネージャー102が勤務を要請する他のロールの勤務に変更した状態)にするとき等に行われる。
【0143】
この変更結果は、
図10の(c)に示す、計算対象データ43(状態#3)を形成する。計算対象データ43(状態#3)には、勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163に加え、変更リスト44が含まれる。この変更リスト44には、計算対象データ43(状態#3)を形成したときにマニュアル操作で編集したデータの変更前、変更後の状態や、変更日時などが記録される。
【0144】
そして、計算対象データ43(状態#3)の勤務シフト予定データ163のうちのマニュアル操作で編集して形成したものの一部を固定化することができる。固定化すると、次の最適化計算では、固定データとして使用される。これは次の最適化計算(後述の「修正最適化計算」)の前操作として有効である。たとえば、最適化計算の結果、「休み」となった勤務シフト予定データ163は、いったん社員に予定として開示した後、それを変更する事は困難を伴う。このようなとき、勤務シフト予定データ163の「休み」を固定化すれば、次の最適化計算(後述の「修正最適化計算」)で、その固定化した「休み」を除いた対象のシフト(に関する計算対象データ43)を変更することができる。固定化した勤務シフト予定データ163は、勤務シフト固定データ162として記録されて、
図10の(d)に示す、計算対象データ43(状態#4)が形成される。
【0145】
この、計算対象データ43(状態#4)の一部について、修正計算最適化計算の必要が生じた場合、最適化計算部15は、計算対象データ43(状態#4)の勤務シフト希望データ161、勤務シフト固定データ162、勤務シフト予定データ163を修正最適化計算の入力とする。
【0146】
[手順3:「修正最適化計算」の手順]
次に、「修正最適化計算」の手順について説明する。
【0147】
シフト組合せ最適化計算部152が一度最適化計算を行って勤務シフトや勤務シフト表41が形成されたのちに、再度、シフト組合せ最適化計算部152が最適化計算を行う「修正最適化計算」の手順を考える。この「修正最適化計算」と先に述べた「最適化計算」との違いは、「最適化計算」では、勤務シフト希望データ161、勤務シフト固定データ162をシフト組合せ最適化計算部152での計算対象とするのに対し、「修正最適化計算」では、それらに加え、勤務シフト予定データ163をシフト組合せ最適化計算部152での計算の対象に加えることである。
【0148】
一度決定済みの勤務シフトを変更するために修正最適化計算を行う場合、
図6に示したように、既存の予定シフトの情報が必要である。そのため、最適指標計算部151は、既存の予定シフトの情報として、計算対象データ43中の勤務シフト予定データ163を最適化計算の入力に加える。
【0149】
具体的には、マネージャー102は、
図8に示すステップS1の手順ののち、マネージャー用端末3を用いて修正最適化計算の計算モードを指定する(ステップS2の“No”)。そして、最適化計算部15の最適指標計算部151は、勤務シフト記録・出力部16の計算対象データ43から勤務シフト希望データ161と勤務シフト固定データ162、勤務シフト予定データ163を取り込む(ステップS4)。その後は、ステップS5~ステップS9まで、最適化計算の場合と同様の手順で処理を行う(ステップS5~ステップS9)。
【0150】
図10に示すとおり、修正最適化計算の結果は、勤務シフト記録・出力部16に修正勤務シフト表42(保存#2)として保存される。また、修正最適化計算の結果は、
図10の(e)に示すとおり、計算対象データ43(状態#5)の勤務シフト希望データ161として記録される。
【0151】
[作用効果]
以上、この実施の形態においては、シフト組合せ計算手段は、スタッフ101の職能を反映する情報としてのロール情報に基づいてシフト組合せを最適化する最適化計算を行うことにより、それぞれのスタッフ101の職能を基準としてシフト組合せの計算を行うことができる。これにより、求められる職能の異なる複数の勤務先、及び/又は、複数の業務に、シフト勤務を行うスタッフ101を適切に配置することができる。
【0152】
この実施の形態においては、既に作成された勤務シフト表41のうちの少なくとも一部のシフト組合せについて、新たな最適化計算としての修正最適化計算を行い、勤務表作成手段は、修正最適化計算の結果に基づいて、勤務シフト表のうちの少なくとも一部を修正した修正勤務シフト表42を作成することにより、作成済の勤務シフトの少なくとも一部に欠員の発生等による再計算が必要となった場合であっても、それぞれのスタッフ101の職能を基準としてシフト組合せの計算を再度行うことができる。これにより、再度の計算に基づいて、求められる職能の異なる複数の勤務先、及び/又は、複数の業務に、シフト勤務を行うスタッフ101を適切に配置することができる。
【0153】
この実施の形態においては、いったん決定した勤務表情報を修正した場合の修正の大きさを示す単位情報としてのペナルティ情報124が最小になることを最適な状態とし、ペナルティ情報124が最適な状態になるシフト組合せを探索によって求める最適化計算を行うことにより、スタッフ101の勤務希望とマネージャー102の希望との合致の度合いが高い勤務シフト表41を自動作成できる。これにより、スタッフ101とマネージャー102の双方の満足度が高い勤務シフト表を自動作成することが可能となる。
【0154】
この実施の形態においては、スタッフ101の勤務希望情報に、マネージャー102のマネージャー希望情報を加えて修正を加えた修正勤務希望情報に基づいて最適化計算を行うことにより、スタッフ101自身の勤務内容の意向に加え、スタッフ101を勤務先に派遣する派遣元の会社のマネージャー102等、スタッフ101の勤務を管理する者の意向も踏まえた勤務シフト表を作成できる。これにより、スタッフ101の意向とマネージャー102の意向がそれぞれ反映された、実用性の高い勤務シフト表を作成できる。
【0155】
この実施の形態においては、勤務シフト表は、スタッフ101が勤務する部署を示す情報としてのユニット情報を単位に形成されることにより、スタッフ101の勤務先を基準とし、それぞれのスタッフ101の勤務内容を適切に反映した、見やすく実用的な勤務シフト表を作成できる。
【0156】
上記実施の形態は本発明の例示であり、本発明が上記各実施の形態のみに限定されることを意味するものではないことは、いうまでもない。
【符号の説明】
【0157】
1・・・勤務シフト表作成装置
11・・・計算対象選択部
12・・・計算用情報記録部
13・・・勤務可能範囲記録部
14・・・選択フィルタ部
15・・・最適化計算部(シフト組合せ計算手段)
16・・・勤務シフト記録・出力部(勤務希望情報管理手段、勤務シフト表表示手段、管理者情報管理手段)
41・・・勤務シフト表
42・・・修正勤務シフト表
1011,1012,・・・,101n,101・・・スタッフ(勤務者)
1021,1022,102・・・マネージャー(管理者)
124・・・ペナルティ情報
部署W,部署X,部署Y,部署Z・・・ユニット情報
ロールR,ロールS,ロールT,ロールU・・・ロール情報