(57)【要約】      （修正有）【課題】シフト勤務のスケジュールを決定する際の労力を軽減するシフト決定装置及びシフト決定方法を提供する。【解決手段】シフト勤務のスケジュールを決定する際に満たす必要がある条件である必須条件、シフト勤務のスケジュールを決定する際に満たすことが好ましい条件である希望条件、及び希望条件の優先度を設定する条件設定部２０１と、従業員ごとのシフト勤務の希望日時を受け付けるシフト希望受付部２０２と、配属グループ、時間帯及び人数が設定された一つ以上のシフト枠に基づいて、従業員ごとのシフト勤務の日時を決定するシスト決定部２０３と、を備える。シスト決定部２０３は、必須条件を満たしつつ、希望条件を満たす度合いが高くなるように、シフト勤務の組み合わせを変更することを、所定回数繰り返すことによって、シフト勤務の組み合わせの最適解を探索する探索処理を実行する。【選択図】図３
2019101551.tif 000002
【特許請求の範囲】
【請求項１】
シフト勤務のスケジュールを決定する際に満たす必要がある条件である必須条件、シフト勤務のスケジュールを決定する際に満たすことが好ましい条件である希望条件、及び前記希望条件の優先度を設定する設定部と、
従業員ごとのシフト勤務の希望日時を受け付ける受付部と、
配属グループ、時間帯及び人数が設定された一つ以上のシフト枠に基づいて、従業員ごとのシフト勤務の日時を決定する決定部と、
を備え、
前記決定部は、前記必須条件を満たしつつ、前記希望条件を満たす度合いが高くなるように、シフト勤務の組み合わせを変更することを、所定回数繰り返すことによって、シフト勤務の組み合わせの最適解を探索する探索処理を実行する、
シフト決定装置。
【請求項２】
前記必須条件には、前記シフト勤務の日時が前記シフト勤務の希望日時の範囲内であることが、少なくとも含まれ、
前記希望条件には、前記シフト勤務の希望日数に対するシフト勤務の確定日数の割合が、所定値以上であることが、少なくとも含まれる、
請求項１記載のシフト決定装置。
【請求項３】
前記希望条件を満たす度合いは、前記希望条件の優先度が高くなるにしたがって高くなり、前記希望条件を満たす従業員の数が多くなるにしたがって高くなる、
請求項１又は２記載のシフト決定装置。
【請求項４】
前記決定部は、前記探索処理の実行を開始するときのシフト勤務の組み合わせを毎回異ならせる、
請求項１から３のいずれか一項に記載のシフト決定装置。
【請求項５】
前記探索処理は、メタヒューリスティクスのタブー探索を用いた処理である、
請求項１から４のいずれか一項に記載のシフト決定装置。
【請求項６】
シフト勤務のスケジュールを決定する際に満たす必要がある条件である必須条件、シフト勤務のスケジュールを決定する際に満たすことが好ましい条件である希望条件、及び前記希望条件の優先度を設定する設定ステップと、
従業員ごとのシフト勤務の希望日時を受け付ける受付ステップと、
配属グループ、時間帯及び人数が設定された一つ以上のシフト枠に基づいて、従業員ごとのシフト勤務の日時を決定する決定ステップと、
を含み、
前記決定ステップは、前記必須条件を満たしつつ、前記希望条件を満たす度合いが高くなるように、シフト勤務の組み合わせを変更することを、所定回数繰り返すことによって、シフト勤務の組み合わせの最適解を探索する探索処理を実行する、
シフト決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シフト決定装置及びシフト決定方法に関する。
【背景技術】
【０００２】
下記特許文献１には、従業員のシフトスケジュールを作成する際に、日別、月間の人件費の合計額を表示する機能を備えた勤務シフト作成支援方式が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−６６１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
企業の管理者が作成するシフトスケジュールは、シフトを確定する前に従業員の希望に合わせて調整する必要がある。シフトを調整する場合には、関係者間において確認や承認が必要となるため、調整に手間がかかり、労力を要している。
【０００５】
本発明は、前述した課題を解決するためになされたものであり、シフト勤務のスケジュールを決定する際の労力を軽減することができるシフト決定装置及びシフト決定方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様であるシフト決定装置は、シフト勤務のスケジュールを決定する際に満たす必要がある条件である必須条件、シフト勤務のスケジュールを決定する際に満たすことが好ましい条件である希望条件、及び前記希望条件の優先度を設定する設定部と、従業員ごとのシフト勤務の希望日時を受け付ける受付部と、配属グループ、時間帯及び人数が設定された一つ以上のシフト枠に基づいて、従業員ごとのシフト勤務の日時を決定する決定部と、を備え、前記決定部は、前記必須条件を満たしつつ、前記希望条件を満たす度合いが高くなるように、シフト勤務の組み合わせを変更することを、所定回数繰り返すことによって、シフト勤務の組み合わせの最適解を探索する探索処理を実行する。
【０００７】
上記態様において、前記必須条件には、前記シフト勤務の日時が前記シフト勤務の希望日時の範囲内であることが、少なくとも含まれ、前記希望条件には、前記シフト勤務の希望日数に対するシフト勤務の確定日数の割合が、所定値以上であることが、少なくとも含まれることとしてもよい。
【０００８】
上記態様において、前記希望条件を満たす度合いは、前記希望条件の優先度が高くなるにしたがって高くなり、前記希望条件を満たす従業員の数が多くなるにしたがって高くなることとしてもよい。
【０００９】
上記態様において、前記決定部は、前記探索処理の実行を開始するときのシフト勤務の組み合わせを毎回異ならせることとしてもよい。
【００１０】
上記態様において、前記探索処理は、メタヒューリスティクスのタブー探索を用いた処理であることとしてもよい。
【００１１】
本発明の一態様であるシフト決定方法は、シフト勤務のスケジュールを決定する際に満たす必要がある条件である必須条件、シフト勤務のスケジュールを決定する際に満たすことが好ましい条件である希望条件、及び前記希望条件の優先度を設定する設定ステップと、従業員ごとのシフト勤務の希望日時を受け付ける受付ステップと、配属グループ、時間帯及び人数が設定された一つ以上のシフト枠に基づいて、従業員ごとのシフト勤務の日時を決定する決定ステップと、を含み、前記決定ステップは、前記必須条件を満たしつつ、前記希望条件を満たす度合いが高くなるように、シフト勤務の組み合わせを変更することを、所定回数繰り返すことによって、シフト勤務の組み合わせの最適解を探索する探索処理を実行する。
【発明の効果】
【００１２】
本発明によれば、シフト勤務のスケジュールを決定する際の労力を軽減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】実施形態におけるシフト決定装置を含むシフト決定システムの構成を例示する図である。
【図２】図１のシフト決定装置のハードウェア構成を例示する図である。
【図３】図１のシフト決定装置の機能構成を例示する図である。
【図４】図１のシフト決定システムにおいてシフトスケジュールを生成する際の手順を例示するシーケンスチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１５】
図１は、本発明の一実施形態に係るシフト決定装置を含むシフト決定システムの構成概略図である。同図に示すように、本実施形態におけるシフト決定システム１は、サーバ装置であるシフト決定装置２と、１台以上の店舗端末３とを備える。店舗端末３は、ネットワークＮを介してシフト決定装置２と通信できるように構成される。
【００１６】
店舗端末３は、店舗のシフト勤務を管理するシフト管理者が使用する端末装置である。店舗は、あらゆる業種・業態の店舗が対象となるが、本実施形態では、例示的に、飲食店の店舗である場合について説明する。
【００１７】
本実施形態では、店舗端末３として、ＰＣ（パーソナルコンピュータ）を想定して説明するが、これに限定されない。店舗端末３として、例えば、ノートＰＣ、タブレット端末、スマートフォン、携帯電話機、携帯情報端末（ＰＤＡ）、その他の端末装置を適宜用いることができる。
【００１８】
シフト決定装置２は、例えば、演算処理能力の高いコンピュータによって構成され、そのコンピュータにおいて所定のサーバ用プログラムが動作することにより、サーバ機能を実現するものである。ここで、シフト決定装置２を構成するコンピュータは、必ずしも１台である必要はなく、ネットワークＮ上に分散する複数のコンピュータから構成されてもよい。
【００１９】
ネットワークＮは、シフト決定装置２と店舗端末３との間で相互に情報を送受信可能な通信網を含む。ネットワークＮは、例えば、インターネット、ＬＡＮ、専用線、電話回線、企業内ネットワーク、移動体通信網、ブルートゥース（登録商標）、ＷｉＦｉ（Wireless Fidelity）、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。
【００２０】
図２に示すように、シフト決定装置２は、例えば、プロセッサ２０と、通信インタフェース２１と、記憶資源２２とを備える。
【００２１】
プロセッサ２０は、算術演算、論理演算、ビット演算等を処理する算術論理演算ユニット及び各種レジスタから構成され、記憶資源２２に格納されているコンピュータプログラム２２０を実行することで、後述する各種機能を実現する。各種レジスタは、例えば、プログラムカウンタ、データレジスタ、命令レジスタ、汎用レジスタ等である。
【００２２】
通信インタフェース２１は、ネットワークＮに接続し、ネットワークＮ上の他の端末と通信をするためのハードウェアモジュールである。通信インタフェース２１は、例えば、ＩＳＤＮモデム、ＡＤＳＬモデム、ケーブルモデム、光モデム、ソフトモデム等の変調復調装置である。
【００２３】
記憶資源２２は、例えば、物理デバイスの記憶領域が提供する論理デバイスである。物理デバイスは、例えば、ディスクドライブ又は半導体メモリ等のコンピュータ読み取り可能な記録媒体である。記憶資源２２は、複数の物理デバイスを１つの論理デバイスにマッピングして構築してもよいし、１つの物理デバイスを複数の論理デバイスにマッピングして構築してもよい。記憶資源２２には、コンピュータプログラム２２０が記憶される。
【００２４】
記憶資源２２には、コンピュータプログラム２２０のほか、シフト決定装置２の処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、各種データ等が格納される。ドライバプログラムとしては、例えば、通信インタフェース２１を制御するための通信インタフェースドライバプログラム等がある。各種データとしては、例えば、シフト管理ＤＢ（データベース）２２２に記憶されるシフト情報等がある。
【００２５】
シフト管理ＤＢ２２２は、シフト情報を記憶するデータベースであり、データ項目として、例えば、店舗ＩＤ項目、配属グループＩＤ項目、従業員ＩＤ項目、シフト日時項目、勤務時間項目、休憩時間項目等を有する。
【００２６】
店舗ＩＤ項目は、店舗を特定するための識別情報を格納する。配属グループＩＤ項目は、従業員が配属される配属グループを特定するための識別情報を格納する。従業員ＩＤ項目は、従業員を特定するための識別情報を格納する。シフト日時項目は、シフト勤務の日時（以下、「シフト日時」ともいう。）を格納し、勤務時間帯項目は、シフト日時に含まれる勤務時間帯を格納し、休憩時間項目は、シフト日時に含まれる休憩時間帯を格納する。
【００２７】
なお、上述したデータベースの構成及びデータベースに格納されるデータ項目の組み合わせは例示に過ぎず、データベースの構成やデータ項目の組み合わせについては、運用するシステムに合わせて適宜変更することができる。
【００２８】
図２に示すコンピュータプログラム２２０は、所定の処理を行うためのプログラムであり、シフト決定装置２のメインプログラムの動作中に適宜呼び出されて実行される複数のソフトウェアモジュールを備える。このソフトウェアモジュールは、それぞれ特定の処理を実行するためにモジュール化されたサブプログラムであり、例えば、プロシージャ、サブルーチン、メソッド、関数及びデータ構造等を用いて作成される。
【００２９】
コンピュータプログラム２２０は、例示的に、シフト決定モジュール２２１を有する。プロセッサ２０がシフト決定モジュール２２１を実行することにより、図３に例示する条件設定部２０１、シフト希望受付部２０２及びシフト決定部２０３の各機能が実現する。各機能について、以下に詳細に説明する。
【００３０】
条件設定部２０１は、シフト勤務のスケジュール（以下、「シフトスケジュール」ともいう。）を決定する際に用いる各種条件を、店舗端末３を操作するシフト管理者に設定させる。その際、条件設定部２０１は、例えば、各種条件を設定するための条件設定画面を店舗端末３のディスプレイに表示させる。条件設定部２０１は、条件設定画面において設定された各種条件を、記憶資源２２に格納する。各種条件として、例えば、必須（ＭＵＳＴ）条件、希望（ＷＡＮＴ）条件、及び希望条件の優先度がある。これらの各種条件に付いて、以下に説明する。
【００３１】
必須条件は、シフトスケジュールを決定する際に満たす必要がある条件である。例えば、従業員がシフト勤務を希望する日時（以下、「シフト希望日時」ともいう。）の範囲内にシフト日時を割り当てること、従業員の配属グループ（例えば、キッチン、ホール係）のシフトに対して割り当てること、シフト枠に割り当てる人数が必要人数の範囲内であること、が該当する。各必須条件は、全従業員に対して一律に設定してもよいし、従業員単位に設定してもよい。
【００３２】
希望条件は、シフトスケジュールを決定する際に満たすことが好ましい条件である。例えば、従業員がシフト勤務を希望する日数（以下、「シフト希望日数」ともいう。）に対するシフト勤務が確定した日数（シフト確定日数）の割合（以下、「希望かなえ率」ともいう。）が所定値以上であること、従業員が指定期間中に取得できる休み日数が上限日数以下又は下限日数以上となること、遅番には最低一人はベテランを割り当てること、が該当する。各希望条件は、全従業員に対して一律に設定してもよいし、従業員単位に設定してもよい。
【００３３】
条件設定部２０１は、シフト勤務をスケジュールするためのシフト枠を、店舗端末３を操作するシフト管理者に設定させる。その際、条件設定部２０１は、例えば、シフト枠を設定するためのシフト枠設定画面を店舗端末３のディスプレイに表示させる。シフト管理者は、例えば、配属グループ、時間帯及び必要人数を指定してシフト枠を設定する。設定されたシフト枠は、記憶資源２２に格納される。
【００３４】
なお、本実施形態における条件設定部２０１は、各種条件及びシフト枠を、店舗端末３を操作するシフト管理者に設定させているが、設定元は、店舗端末３（シフト管理者）に限定されない。例えば、条件設定部２０１が、過去に確定したシフト勤務の内容を機械学習する等して各種条件及びシフト枠を適宜設定することとしてもよい。この場合、条件設定部２０１は、各種条件及びシフト枠の一部のみを設定することとしてもよいし、全部を設定することとしてもよい。
【００３５】
シフト希望受付部２０２は、従業員ごとのシフト希望日時を受け付ける。受け付けたシフト希望日時は、記憶資源２２に格納される。シフト希望日時の受け付けは、例えば、シフト希望日時を登録するための画面を店舗端末３のディスプレイに表示させ、その画面に登録されたシフト希望日時を受信することとしてもよいし、シフト希望日時が書き込まれたファイル等を店舗端末３から受信することとしてもよい。
【００３６】
なお、本実施形態では、シフト希望日時を店舗端末３から受け付けているが、送付元は店舗端末３に限定されない。例えば、従業員が、従業員用の端末を用いて入力したシフト希望日時を、従業員用の端末から受信することとしてもよい。この場合、例えば、従業員用の端末に、シフト希望日時等を登録するためのアプリケーションをインストールすることとすればよい。
【００３７】
シフト決定部２０３は、シフト管理者により設定された一つ以上のシフト枠に基づいて、従業員ごとのシフト日時を決定する。具体的に、シフト決定部２０３は、シフト勤務の組み合わせの最適解を探索する探索処理を実行することで、従業員ごとのシフト日時を決定する。探索処理のアルゴリズムとして、例えば、メタヒューリスティクスのタブー探索を採用することができる。以下に、探索処理の手順の一例について説明する。
【００３８】
最初に、シフト決定部２０３は、暫定的に設定されたシフト勤務の組み合わせを初期解とし、探索処理を開始する。
【００３９】
続いて、シフト決定部２０３は、例えばｋ最近傍法アルゴリズムを用い、現在の解の近傍から最良の解を探索する。
【００４０】
続いて、シフト決定部２０３は、探索した解を評価する。解の評価は、例えば、目的関数により算出されるスコアを用いて行うことができる。
【００４１】
目的関数は、必須条件を満たしつつ、希望条件を満たす度合いが高くなるに従いスコアが高くなるように定義する。希望条件を満たす度合いは、希望条件の優先度が高くなるに従って高くなり、希望条件を満たす従業員の数が多くなるに従って高くなるように定義する。希望条件を満たさない場合には、マイナスのスコアを加算することとしてもよい。
【００４２】
シフト決定部２０３は、上記解の探索を所定回数繰り返し実行し、スコアが最高となる解を最適解とする。
【００４３】
所定回数は、例えば一万回等のように、任意に設定することができる。繰り返す回数が多くなるほど探索処理に要する処理時間が増加し、少なくなるほど最適解の精度が低下する傾向にあるため、処理時間及び最適解の精度を考量し、所定回数を設定することが好ましい。
【００４４】
シフト決定部２０３は、探索処理の実行を開始するときのシフト勤務の組み合わせ（初期解）を毎回異ならせる。これにより、毎回異なる最適解を得ることが可能となる。
【００４５】
シフト決定部２０３は、探索処理の結果である最適解に基づくシフトスケジュールをシフト決定装置２のディスプレイに表示させる。シフトスケジュールは、例えば、従業員ごとのシフト日時を一覧表形式で確認できるように加工され、生成される。
【００４６】
次に、図４を参照し、シフト決定システム１においてシフトスケジュールを生成する際の手順の一例について説明する。
【００４７】
最初に、シフト管理者が店舗端末３で各種条件を設定して確定操作を行うと、店舗端末３は、各種条件を含む情報をシフト決定装置２に送信する（ステップＳ１０１）。
【００４８】
続いて、シフト決定装置２の条件設定部２０１は、受信した情報に基づいて各種条件を設定する（ステップＳ１０２）。
【００４９】
続いて、シフト管理者が店舗端末３でシフト枠を設定して確定操作を行うと、店舗端末３は、シフト枠を含む情報をシフト決定装置２に送信する（ステップＳ１０３）。
【００５０】
続いて、シフト決定装置２の条件設定部２０１は、受信した情報に基づいてシフト枠を設定する（ステップＳ１０４）。
【００５１】
続いて、シフト管理者が店舗端末３で従業員ごとのシフト希望日時を入力して確定操作を行うと、店舗端末３は、従業員ごとのシフト希望日時を含む情報をシフト決定装置２に送信する（ステップＳ１０５）。
【００５２】
続いて、シフト決定装置２のシフト希望受付部２０２は、受信した情報に基づいて従業員ごとのシフト希望日時を登録する（ステップＳ１０６）。
【００５３】
続いて、シフト決定者が店舗端末３でシフト勤務の組み合わせを暫定的に設定し、シフトスケジュール作成処理の実行指示操作を行うと、店舗端末３は、シフトスケジュール作成指示をシフト決定装置２に送信する（ステップＳ１０７）。
【００５４】
続いて、シフト決定装置２のシフト決定部２０３は、シフト勤務の組み合わせの最適解を探索する探索処理を実行する（ステップＳ１０８）。
【００５５】
続いて、シフト決定装置２のシフト決定部２０３は、探索処理の結果である最適解に基づいて生成したシフトスケジュールをシフト決定装置２のディスプレイに表示させる（ステップＳ１０９）。
【００５６】
前述したように、実施形態におけるシフト決定装置２によれば、シフトスケジュールを決定する際に満たす必要がある必須条件を満たしつつ、シフトスケジュールを決定する際に満たすことが好ましい希望条件を満たす度合いが高くなるように、シフト勤務の組み合わせを変更しながら最適解の探索を行う探索処理を、所定回数繰り返し実行し、従業員ごとのシフト勤務の日時を決定することができる。
【００５７】
したがって、必須条件を満たし、かつ、希望条件をできる限り満たすように決定された従業員ごとのシフト勤務の日時に基づくシフトスケジュールを、シフト管理者に提示することが可能となる。
【００５８】
それゆえ、実施形態におけるシフト決定装置２によれば、シフトスケジュールを決定する際の労力を軽減することができる。
【００５９】
[変形例]
なお、本発明は、前述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、前述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、又は並列に実行することができる。
【符号の説明】
【００６０】
１…シフト決定システム、２…シフト決定装置、３…店舗端末、２０…プロセッサ、２１…通信インタフェース、２２…記憶資源、２０１…条件設定部、２０２…シフト希望受付部、２０３…シフト決定部、２２０…コンピュータプログラム、２２１…シフト決定モジュール、２２２…シフト管理ＤＢ、Ｎ…ネットワーク。
【図１】
2019101551.tif 000003
【図２】
2019101551.tif 000004
【図３】
2019101551.tif 000005
【図４】
2019101551.tif 000006