(57)【要約】【課題】長期的な勤務者間の公平性を実現する勤務シフト表を作成することが可能な情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】複数の勤務者の過去の勤務実績を記憶する記憶部と、前記記憶部に記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成する生成部と、前記生成部により生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正する修正部と、前記修正部により修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案する立案部と、を備える情報処理装置。【選択図】図１
2015153024.tif 000002
【特許請求の範囲】
【請求項１】
複数の勤務者の過去の勤務実績を記憶する記憶部と、
前記記憶部に記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成する生成部と、
前記生成部により生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正する修正部と、
前記修正部により修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案する立案部と、
を備える情報処理装置。
【請求項２】
前記情報処理装置は、前記第１の期間および前記第２の期間を設定する設定部をさらに備える、請求項１に記載の情報処理装置。
【請求項３】
前記設定部は、前記勤務者ごとに異なる前記第１の期間を設定可能である、請求項２に記載の情報処理装置。
【請求項４】
前記設定部は、前記第１の期間を複数設定可能である、請求項２または３に記載の情報処理装置。
【請求項５】
前記生成部は、前記勤務形態の偏りと逆の偏りを勤務シフト表に持たせる前記メタ制約条件を生成する、請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記制約条件は、勤務形態ごとの勤務可能回数の範囲を含み、
前記修正部は、前記メタ制約条件に基づいて前記勤務可能回数の範囲を狭める、請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、前記メタ制約条件をユーザ入力に応じて調整する調整部をさらに備え、
前記修正部は、前記調整部により調整済みの前記メタ制約条件を用いる、請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
前記第１の期間は、前記第２の期間よりも長い、請求項１〜７のいずれか一項に記載の情報処理装置。
【請求項９】
前記制約条件は、前記第２の期間における時間帯ごとに必要な勤務者の数を含む、請求項１〜８のいずれか一項に記載の情報処理装置。
【請求項１０】
複数の勤務者の過去の勤務実績を記憶するステップと、
記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成するステップと、
生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正するステップと、
修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案するステップと、
を備える情報処理方法。
【請求項１１】
コンピュータを、
複数の勤務者の過去の勤務実績を記憶する記憶部と、
前記記憶部に記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成する生成部と、
前記生成部により生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正する修正部と、
前記修正部により修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案する立案部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、工場、病院、介護施設、コールセンタ、デパート、レストラン等の業務に関し、複数の勤務者が交代制（早番、遅番、日勤、夜勤等）で分担して勤務する職場が増加している。このような職場の運営においては、勤務者が多ければ人件費がかさみ、少なければ利用者の満足度低下および販売機会損失等を招くおそれがあるため、適切な人数の勤務者を適切なタイミングで割り割り当てた勤務シフト表が求められる。このため、勤務者の人数を最適にする勤務シフト表を自動的に作成するための技術が開発されている。
【０００３】
例えば、下記特許文献１では、要員配置問題の準最適解を、突然変異アルゴリズムを組み込んだ遺伝的アルゴリズムにより短時間で求める技術が開示されている。
【０００４】
また、下記特許文献２および下記特許文献３では、勤務者が希望する休日および勤務日を考慮することで、勤務者の希望に沿った勤務計画を作成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１４３８５号公報
【特許文献２】特開２０１３−１０１４４８号公報
【特許文献３】特開２０１２−１０３８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の勤務シフト表作成技術では、勤務者の希望等の勤務条件および時間帯ごとに必要な人数を入力として、勤務条件を満たしつつ、この必要人数に対して不足人数がなく、過剰人数をなるべく少なくするよう最適化が行われる。しかし、作成された勤務シフト表に、勤務者間の公平性が保たれていないといった、勤務者からの不満が出るという問題があった。
【０００７】
この問題への対策として、上記特許文献２および上記特許文献３に係る技術が開示されている。しかしながら、いずれの技術も、勤務者からの希望をどの程度採用するか、という点に限定されており、勤務者が明示的に希望しないものについては何ら対策がなされていなかった。例えば、「早番」「中番」「遅番」などの勤務形態がある場合に、「どうして私だけ早番の回数が多いのか」などの不満が出る場合がある。
【０００８】
このような問題に関して、勤務シフト表の作成対象とする期間単位では、制約条件の設定によって短期的な公平性を確保することも可能であろう。例えば、１カ月ごとに勤務シフト表を作成する場合、１カ月分の勤務シフト表内では、全員の早番の回数を同じにする、または勤務者間の早番の回数の差を１にするといったことが考えられる。しかしながら、１人だけ早番が他よりも１回多い状況が何か月も続く場合、やはり「どうして私だけ早番の回数が多いのか」という不満が出てきてしまう。
【０００９】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、長期的な勤務者間の公平性を実現する勤務シフト表を作成することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある観点によれば、複数の勤務者の過去の勤務実績を記憶する記憶部と、前記記憶部に記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成する生成部と、前記生成部により生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正する修正部と、前記修正部により修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案する立案部と、を備える情報処理装置が提供される。
【００１１】
前記情報処理装置は、前記第１の期間および前記第２の期間を設定する設定部をさらに備えてもよい。
【００１２】
前記設定部は、前記勤務者ごとに異なる前記第１の期間を設定可能であってもよい。
【００１３】
前記設定部は、前記第１の期間を複数設定可能であってもよい。
【００１４】
前記生成部は、前記勤務形態の偏りと逆の偏りを勤務シフト表に持たせる前記メタ制約条件を生成してもよい。
【００１５】
前記制約条件は、勤務形態ごとの勤務可能回数の範囲を含み、前記修正部は、前記メタ制約条件に基づいて前記勤務可能回数の範囲を狭めてもよい。
【００１６】
前記情報処理装置は、前記メタ制約条件をユーザ入力に応じて調整する調整部をさらに備え、前記修正部は、前記調整部により調整済みの前記メタ制約条件を用いてもよい。
【００１７】
前記第１の期間は、前記第２の期間よりも長くてもよい。
【００１８】
前記制約条件は、前記第２の期間における時間帯ごとに必要な勤務者の数を含んでもよい。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、複数の勤務者の過去の勤務実績を記憶するステップと、記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成するステップと、生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正するステップと、修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案するステップと、を備える情報処理方法が提供される。
【００２０】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、複数の勤務者の過去の勤務実績を記憶する記憶部と、前記記憶部に記憶された第１の期間における前記勤務実績が示す、前記複数の勤務者全体との比較における前記勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成する生成部と、前記生成部により生成された前記メタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正する修正部と、前記修正部により修正された前記制約条件の集合に基づいて前記複数の勤務者の第２の期間における勤務シフト表を立案する立案部と、として機能させるためのプログラムが提供される。
【発明の効果】
【００２１】
以上説明したように本発明によれば、長期的な勤務者間の公平性を実現する勤務シフト表を作成することが可能である。
【図面の簡単な説明】
【００２２】
【図１】第１の実施形態に係る勤務シフト表作成システムの構成を示すブロック図である。
【図２】第１の実施形態に係る勤務シフト表作成システムにおいて実行されるメタ制約条件の生成処理の流れの一例を示すフローチャートである。
【図３】第１の実施形態に係る勤務シフト表作成システムにおいて実行されるメタ制約条件の展開処理の流れの一例を示すフローチャートである。
【図４】第２の実施形態に係る勤務シフト表作成システムの構成を示すブロック図である。
【図５】第２の実施形態に係る勤務シフト表作成システムにおいて実行されるメタ制約条件の生成処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２４】
＜１．第１の実施形態＞
まず、図１を参照して、本実施形態に係る勤務シフト表作成システム（情報処理装置）の構成例を説明する。
【００２５】
［１−１．勤務シフト表作成システムの構成例］
図１は、第１の実施形態に係る勤務シフト表作成システム１の構成を示すブロック図である。図１に示すように、本実施形態に係る勤務シフト表作成システム１は、入力部１１、制約条件管理部１２、最適化処理部１３、出力部１４、メモリ１５、勤務実績ＤＢ部１６、および制御部１７を有する。
【００２６】
（１）入力部１１
入力部１１は、ユーザからの入力を受け付ける機能を有する。例えば、入力部１１は、マウス、キーボード等により実現される。ユーザとしては、例えば勤務シフト表を作成する管理者、および勤務シフト表の対象となる勤務者等が考えられる。
【００２７】
（２）制約条件管理部１２
制約条件管理部１２は、制約条件を記録および管理する機能を有する。制約条件管理部１２は、図示しない記憶装置を制御して、制約条件を記憶したり更新したりする。制約条件とは、勤務シフト表が満たすべき条件である。例えば、制約条件は、勤務シフト表の作成対象期間（第２の期間）における時間帯ごとに必要な勤務者の数を定めた条件であってもよい。他にも、制約条件は、勤務者ごとの勤務可能時間、法律により定められた労働可能時間等を定めた条件であってもよい。また、制約条件は、勤務者が希望する休日および勤務時間帯等を示す条件であってもよい。また、制約条件は、早番および遅番等の勤務形態ごとの取得可能上限数（勤務可能な上限回数）および下限数、即ち勤務可能回数の範囲を示す条件であってもよい。制約条件管理部１２は、これらの制約条件の集合を管理する。
【００２８】
制約条件管理部１２は、制約条件の一例として、汎用制約条件およびメタ制約条件を管理する。汎用制約条件とは、勤務者全体に適用される制約条件であり、例えば法律により定められた１日あたりの労働時間や、店舗ごとに定められた勤務形態ごとの勤務可能回数の範囲が挙げられる。メタ制約条件とは、後述の制御部１７により生成される制約条件である。後に詳しく説明するため、ここでの説明は省略する。
【００２９】
（３）最適化処理部１３
最適化処理部１３は、制約条件管理部１２により管理された制約条件を満たすよう最適化された勤務シフト表を立案する立案部としての機能を有する。本実施形態に係る最適化処理部１３は、後述の制御部１７によりメタ制約条件を用いて修正された制約条件の集合に基づいて、複数の勤務者を対象とした、将来の所定期間（第２の期間）における勤務シフト表を立案する。制約条件のもと、最適化処理を行う手法は多様に考えられる。例えば、最適化処理部１３は、遺伝的アルゴリズムおよび焼きなまし法等の最適化アルゴリズムを用いて最適化処理を行ってもよい。
【００３０】
（４）出力部１４
出力部１４は、映像、画像、音声などによって、勤務シフト表を作成するための各種操作画面、および作成した勤務シフト表を出力する機能を有する。出力部１４は、例えばＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）装置、スピーカー等により実現される。
【００３１】
（５）メモリ１５
メモリ１５は、一時的なデータを記憶する機能を有する。メモリ１５は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、またはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により実現される。
【００３２】
（６）勤務実績ＤＢ部１６
勤務実績ＤＢ（database）部１６は、所定の記録媒体に対してデータの記録および読み取りを行う部位である。勤務実績ＤＢ部１６は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）として実現される。もちろん記録媒体としては、フラッシュメモリ等の固体メモリ、固定メモリを内蔵したメモリカード、光ディスク、光磁気ディスク、ホログラムメモリなど各種考えられ、勤務実績ＤＢ部１６としては採用する記録媒体に応じて記録および読み取りを実行できる構成とされればよい。
【００３３】
本実施形態に係る勤務実績ＤＢ部１６は、複数の勤務者の過去の勤務実績を記憶する記憶部としての機能を有する。過去の勤務実績とは、例えば勤務者がどの日にどの勤務形態で勤務したかを記録した情報である。
【００３４】
（７）制御部１７
制御部１７は、演算処理装置および制御装置として機能し、各種プログラムに従って勤務シフト表作成システム１内の動作全般を制御する。制御部１７は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ等の電子回路によって実現される。なお、制御部１７は、使用するプログラムや演算パラメータ等を記憶するＲＯＭ、および適宜変化するパラメータ等を一時記憶するＲＡＭを含んでいてもよい。
【００３５】
本実施形態に係る制御部１７は、メタ制約条件を生成する機能、メタ制約条件により制約条件を修正する機能、およびメタ制約条件を調整する機能を有する。以下、各機能についてそれぞれ説明する。
【００３６】
（７−１）メタ制約条件の生成機能
制御部１７は、勤務実績ＤＢ部１６に記憶された過去の所定期間（第１の期間）における勤務実績が示す、複数の勤務者全体との比較における勤務者の勤務形態の偏りを是正するためのメタ制約条件の集合を生成する生成部としての機能を有する。詳しくは、制御部１７は、勤務実績が示す勤務形態の偏りと逆の偏りを、勤務シフト表に持たせるメタ制約条件を生成する。メタ制約条件とは、対応する制約条件をさらに制約する条件である。例えば、過去実績においてある勤務者が他の勤務者と比較して早番の回数が多い場合、メタ制約条件は、その勤務者の早番に関する制約条件を、他の勤務者と比較して早番の回数が少なくなるよう制約するものとなる。他にも例えば、過去実績においてある勤務者が他の勤務者と比較して勤務時間が長い場合、メタ制約条件は、その勤務者の勤務時間に関する制約条件を、他の勤務者と比較して勤務時間が短くなるよう制約するものとなる。
【００３７】
このように、メタ制約条件によって、過去の勤務形態の偏りとは逆の偏りが将来の勤務シフト表において持たされるため、勤務形態の偏りが是正される。よって、勤務シフト表の作成対象期間だけではなく、メタ制約条件の生成のために参照された過去の期間を含めた、長期的な勤務者間の公平性を実現することが可能となる。
【００３８】
（７−２）制約条件の修正機能
制御部１７は、生成されたメタ制約条件を用いて勤務シフト表に関する対応する制約条件を修正する修正部としての機能を有する。例えば、汎用制約条件として、早番の勤務可能回数の範囲を示す条件が設定されている場合を想定する。この場合、制御部１７は、メタ制約条件に基づいて、汎用制約条件が示す勤務可能回数の範囲を狭める。例えば、汎用制約条件では早番の回数を４回〜５回とするよう定められていた場合、過去の早番の回数が少なかった勤務者については５回を、過去の早番の数が多かった勤務者については４回を、それぞれ勤務可能回数の範囲として限定する。このように、制御部１７は、汎用制約条件が示す範囲を、過去の勤務実績が示す偏りとは逆の偏りを持たせるように狭めることにより、長期的な公平性を実現する制約条件に更新することが可能となる。もちろん、制御部１７は、汎用制約条件以外の、例えば勤務者の希望を示す制約条件をメタ制約条件に基づいて修正してもよい。このような修正処理を、以下ではメタ制約条件の展開処理とも称する。
【００３９】
ここで、メタ制約条件の生成のために参照される過去実績の対象期間（第１の期間）は、勤務シフト表の作成対象期間（第２の期間）よりも長い。これにより、より長期間に渡る勤務者間の勤務形態の公平性を実現することが可能となる。しかし、過去の勤務実績を参照して勤務シフト表を作成する場合、参照する過去の期間が長期になればなるほど公正性を確保するための制約条件の数が増加して、最適化処理のための計算量が過度に増大する恐れがある。この点、本実施形態に係る勤務シフト表作成システム１では、参照する過去の期間がどれほど長期間であっても、公正性を確保するための制約条件がメタ制約条件として集約される。さらに、メタ制約条件は既存の制約条件を修正するものであり制約条件の数が増加するものではないので、最適化処理のための計算量は実質的に増加しない。このため、長期的な公正性を実現するにあたって、過去の勤務実績データを最適化処理部１３に直接渡す場合と比較して、最適化処理部１３が扱うデータ量を大幅に削減することになるため、最適化処理の実行スピードを格段に高速化することが可能になる。
【００４０】
また、メタ制約条件は、対応する汎用制約条件を修正するものである。このため、汎用制約条件の内容が、例えば季節変動および入力部１１へのユーザ入力等によって変更された場合であっても、変更後の内容に応じた修正がなされる。つまり、制御部１７は、汎用制約条件の変更を正しく反映することが可能である。
【００４１】
（７−３）メタ制約条件の調整機能
制御部１７は、生成したメタ制約条件をユーザ入力に応じて調整する調整部としての機能を有する。制御部１７は、メタ制約条件の生成処理の後であって、メタ制約条件の展開処理の前に、調整を行う。これにより、ユーザは、例えば勤務者の希望等に応じて、メタ制約条件の内容を修正および削除等を行うことができる。そして、制御部１７は、調整済みのメタ制約条件を用いて、メタ制約条件の展開処理を行う。従来の勤務シフト表作成技術では、ユーザは、勤務シフト表の作成開始を指示した後に、各勤務者の希望などの制約条件を入力し、その後に最適化の開始の指示を出していた。この点、本実施形態に係る勤務シフト表作成システム１では、ユーザは、メタ制約条件の生成後、勤務者の希望を入力する際に、メタ制約条件の内容を確認して修正および削除等を行うことができる。
【００４２】
以上、本実施形態に係る勤務シフト表作成システム１の構成例を説明した。続いて、図２、図３を参照して、本実施形態に係る勤務シフト表作成システム１の動作処理を説明する。
【００４３】
［１−２．動作処理］
本実施形態に係る勤務シフト表作成システム１の特徴は、長期的な勤務者間の公平性を実現するための制約条件を生成することにあり、制約条件を用いた最適化処理部１３による処理は既存の技術と同様である。よって、以下では主に制約条件の生成に係る説明を行い、制約条件を用いた最適化処理については詳細な説明を省略する。
【００４４】
制約条件の生成処理は、メタ制約条件の生成処理、およびメタ制約条件の展開処理により実現される。ここで、勤務シフト表作成システム１による処理の全体的な流れを説明する。
【００４５】
勤務シフト表作成システム１は、まず、勤務シフト表の作成対象期間の設定、および対象とする勤務者の設定等の、初期化処理を行う。次いで、勤務シフト表作成システム１は、メタ制約条件の生成処理を行う。次に、勤務シフト表作成システム１は、入力部１１によりユーザからの制約条件の入力を受け付ける。このとき、勤務シフト表作成システム１は、ユーザ入力に応じてメタ制約条件を調整してもよい。勤務シフト表作成システム１は、勤務シフト表の作成指示をユーザから受け付けると、まず、メタ制約条件の展開処理を行う。そして、勤務シフト表作成システム１は、メタ制約条件の展開処理により修正された制約条件を用いて、勤務シフト表の作成を行う。
【００４６】
以上、勤務シフト表作成システム１による処理の全体的な流れを説明した。続いて、メタ制約条件の生成処理およびメタ制約条件の展開処理について順に説明する。
【００４７】
なお、以下では、勤務シフト表の作成対象期間を１カ月とし、メタ制約条件の生成のために参照される過去実績の対象期間を６ヶ月とする。もちろん、これらの値は一例に過ぎず、他の値であってもよいし、例えば時間、日、週、年等の他の単位であってもよい。また、以下では、勤務形態は、早番、遅番の２種であるものとする。もちろん、これらの形態は一例に過ぎず、他の形態であってもよい。
【００４８】
（メタ制約条件の生成処理）
図２は、第１の実施形態に係る勤務シフト表作成システム１において実行されるメタ制約条件の生成処理の流れの一例を示すフローチャートである。図２に示すように、まず、ステップＳ１０２で、制御部１７は、メタ制約条件の生成対象となる勤務形態をひとつ選択する。なお、以下では、制御部１７が勤務形態として早番を選択したものとして説明を行う。
【００４９】
次いで、ステップＳ１０４で、制御部１７は、上記ステップＳ１０２において選択した勤務形態の、勤務者ごとの平均取得回数を算出する。詳しくは、制御部１７は、勤務実績ＤＢ部１６に記憶された勤務者ごとの過去６ヶ月間の勤務実績を参照して、早番の１カ月あたりの平均取得回数を算出する。
【００５０】
次に、ステップＳ１０６で、制御部１７は、上記ステップＳ１０２において選択した勤務形態の、勤務者全員の平均取得回数を算出する。詳しくは、制御部１７は、勤務実績ＤＢ部１６に記憶された全勤務者の過去６ヶ月間の勤務実績を参照して、早番および遅番それぞれの１カ月あたりの平均取得回数を算出する。
【００５１】
次いで、ステップＳ１０８で、制御部１７は、上記ステップＳ１０４およびＳ１０６で算出した平均取得回数の差を閾値処理する。詳しくは、制御部１７は、勤務者ごとの平均取得回数から勤務者全員の平均取得回数を減算し、その絶対値が閾値以上になるデータをメモリ１５に記憶する。メモリ１５に記憶されるデータの一例を、下記の表１に示す。なお、表１における「差」とは、上記減算した値である。
【００５２】
【表１】
2015153024.tif 000003
【００５３】
そして、ステップＳ１１０で、制御部１７は、閾値処理したデータに基づいてメタ制約条件を生成する。詳しくは、制御部１７は、表１に示した値が負の値である場合は「上限」、正の値のときは「下限」を、メタ制約条件として設定する。このようにして生成されたメタ制約条件の一例を、下記の表２に示す。なお、表２における「値」とは、上記設定されたメタ制約条件であり、「ポイント」とは、表１に示した差の値の絶対値である。
【００５４】
【表２】
2015153024.tif 000004
【００５５】
次に、ステップＳ１１２で、制御部１７は、ステップＳ１１０で生成したメタ制約条件を緩和する。メタ制約条件が過剰に多く設定された場合、最適化処理部１３による最適化処理が収束困難になる等のおそれが考えられるため、これを回避するためである。緩和手段は多様に考えられる。例えば、制御部１７は、表２に示したメタ制約条件をポイントで降順にソートして、上位の一部をメタ制約条件として採用して制約条件管理部１２に記録し、残りを破棄する。なお、制御部１７は、ソートに用いたポイントを削除してもよい。このようにして制約条件管理部１２に記録されたメタ制約条件の集合の一例を、下記の表３に示す。この表のひとつの行が、ひとつのメタ制約条件である。
【００５６】
【表３】
2015153024.tif 000005
【００５７】
次いで、ステップＳ１１４で、制御部１７は、すべての勤務形態について、上記ステップＳ１０２〜Ｓ１１２までの処理を行ったか否かを判定する。未処理の勤務形態がある場合（Ｓ１１４／ＮＯ）、処理は再度ステップＳ１０２に進む。このようにして、すべての勤務形態について上記ステップＳ１０２〜Ｓ１１２の処理が繰り返される。すべての勤務形態について処理済みとなった場合（Ｓ１１４／ＹＥＳ）、メタ制約条件の生成処理は終了する。これらの処理全体を通して、制約条件管理部１２に記録されたメタ制約条件の集合の一例を、下記の表４に示す。
【００５８】
【表４】
2015153024.tif 000006
【００５９】
以上、メタ制約条件の生成処理について説明した。続いて、図３を参照して、メタ制約条件の展開処理について説明する。
【００６０】
（メタ制約条件の展開処理）
図３は、第１の実施形態に係る勤務シフト表作成システム１において実行されるメタ制約条件の展開処理の流れの一例を示すフローチャートである。図３に示すように、まず、ステップＳ２０２で、制御部１７は、メタ制約条件の展開対象となるメタ制約条件を、制約条件管理部１２に記録された中からひとつ選択する。以下では、制御部１７が、上記表４に示したメタ制約条件の集合からひとつ選択したものとして説明を行う。
【００６１】
次いで、ステップＳ２０４で、制御部１７は、上記ステップＳ１０２において選択したメタ制約条件に対応する汎用制約条件を、制約条件管理部１２から参照する。ここでの汎用制約条件とは、例えば勤務者が１カ月あたりに取得可能な勤務形態の上限回数と下限回数を設定したものである。該当の勤務および勤務者に対して、個別に制約条件が設定されない限り、この汎用制約条件が課される。勤務シフト表の作成対象期間の中で公平性を確保するためには、上限と下限の差は小さくなるよう設定されていることが望ましい。ここで、汎用制約条件の一例を、下記の表５に示す。
【００６２】
【表５】
2015153024.tif 000007
【００６３】
次に、ステップＳ２０６で、制御部１７は、上記ステップＳ１０２において選択したメタ制約条件に対応する汎用制約条件が、制約条件管理部１２に存在するか否かを判定する。上述したように、個別の制約条件が有る場合には、制御部１７は、対応する汎用制約条件が存在しないと判定する。他にも、例えば、表５に示したような、勤務者が１カ月あたりに取得可能な勤務形態の上限回数と下限回数に関する条件が設定されていない場合、制御部１７は、対応する汎用制約条件は存在しないと判定する。
【００６４】
対応する汎用制約条件が存在すると判定された場合（Ｓ２０６／ＹＥＳ）、ステップＳ２０８で、制御部１７は、メタ制約条件を用いて汎用制約条件を修正する。例えば、制御部１７は、汎用制約条件の上限取得回数および下限取得回数のうち、上記ステップＳ２０２で選択されたメタ制約条件の値が示す方の値を、上限取得回数および下限取得回数の両方に代入する。このようにして、制御部１７は、汎用制約条件を修正した制約条件を生成する。
【００６５】
一方で、対応する汎用制約条件が存在しないと判定された場合（Ｓ２０６／ＮＯ）、ステップＳ２１０で、制御部１７は、選択したメタ制約条件を削除する。この場合、例えば制御部１７は、ある勤務者に関しては、早番と遅番の取得回数の制約なしで勤務シフト表を作成する。
【００６６】
次いで、ステップＳ２１２で、制御部１７は、すべてのメタ制約条件について、上記ステップＳ２０２〜Ｓ２１０までの処理を行ったか否かを判定する。未処理のメタ制約条件がある場合（Ｓ２１２／ＮＯ）、処理は再度ステップＳ２０２に進む。このようにして、すべてのメタ制約条件について上記ステップＳ２０２〜Ｓ２１０の処理が繰り返される。すべてのメタ制約条件について処理済みとなった場合（Ｓ２１２／ＹＥＳ）、メタ制約条件の展開処理は終了する。ここで、メタ制約条件の展開処理により生成された制約条件の一例を、下記の表６および表７に示す。
【００６７】
【表６】
2015153024.tif 000008
【００６８】
上記表６は、上記ステップＳ２０８において、メタ制約条件により汎用制約条件が修正されることにより生成された、制約条件を示している。一例として、「山田太郎」について着目する。表４に示す通り、「山田太郎」に関しては、「早番」は「上限」とし、「遅番」は「上限」とするようメタ制約条件が設定されている。このため、表６における「山田太郎」の「早番」については、表５に示した汎用制約条件の「上限」の値「４」が、「下限」および「上限」の両方に代入されている。また、表６における「山田太郎」の「遅番」については、表５に示した汎用制約条件の「上限」の値「５」が、「下限」および「上限」の両方に代入されている。このように、メタ制約条件の時点では「上限」または「下限」が設定されているだけで具体的な数値がなかったが、本ステップにより具体的な数値が入った制約条件となる。
【００６９】
【表７】
2015153024.tif 000009
【００７０】
上記表７は、対応するメタ制約条件が存在しないために汎用制約条件がそのまま用いられた制約条件を示している。一例として、「伊田天ノ助」について着目する。表４に示す通り、「伊田天ノ助」に関しては、「遅番」のメタ制約条件が設定されていない。このため、表７における「伊田天ノ助」の「遅番」については、表５に示した汎用制約条件の値が、そのまま代入されている。
【００７１】
以上、メタ制約条件の展開処理について説明した。
【００７２】
＜２．第２の実施形態＞
本実施形態は、メタ制約条件の生成のために参照される過去実績の対象期間の長さ、および勤務シフト表の作成対象期間の長さを、自由に設定可能にした形態である。まず、図４を参照して、本実施形態に係る勤務シフト表作成システム１の構成例を説明する。
【００７３】
［２−１．勤務シフト表作成システム１の構成例］
図４は、第２の実施形態に係る勤務シフト表作成システム１の構成を示すブロック図である。図４に示すように、本実施形態に係る勤務シフト表作成システム１は、図１を参照して説明した第１の実施形態に係る構成に加えて、設定部１８を有する。図１に含まれる構成要素は上記説明した通りであるため、ここでは設定部１８についてのみ説明する。
【００７４】
（１）設定部１８
設定部１８は、メタ制約条件の生成のために参照される過去実績の対象期間の長さ、および勤務シフト表の作成対象期間の長さを設定する機能を有する。上記第１の実施形態では、前者が６ヶ月、後者が１カ月であったが、設定部１８は、これらの期間を他の値に設定してもよいし、例えば時間、日、週、年等の他の単位を用いて設定してもよい。
【００７５】
設定部１８は、メタ制約条件の生成のために参照される過去実績の対象期間の長さを、勤務者ごとに異なる長さに設定可能である。例えば、設定部１８は、勤務者を複数のグループにグループ分けして、グループごとに異なる長さを設定する。これにより、勤務シフト表作成システム１は、例えば長期間での公平性を確保するグループと、短期間での公平性を確保するグループとに分けて、勤務シフト表を作成することが可能となる。例えば、一部の勤務者が、他と比較して短期間の雇用契約を有する場合に、その勤務者に対しては他と比較してより短期間で公平性を実感させることが可能となる。このように、本実施形態では、勤務者を複数のグループに分けて、グループによって公平性確保のための制約条件の生成具合を変えることが可能となる。これにより、例えば、正社員と派遣社員がいる場合に、「正社員よりも派遣社員の公平性確保を優先する」ことが可能となる。
【００７６】
また、設定部１８は、メタ制約条件の生成のために参照される過去実績の対象期間の長さを、複数設定可能である。これにより、勤務シフト表作成システム１は、例えば短期的な公平性と長期的な公平性とを共に確保することが可能となる。
【００７７】
以上、本実施形態に係る勤務シフト表作成システム１の構成例を説明した。続いて、本実施形態に係る勤務シフト表作成システム１の動作処理を説明する。
【００７８】
［２−２．動作処理］
本実施形態に係る勤務シフト表作成システム１は、第１の実施形態と同様に、メタ制約条件の生成処理、およびメタ制約条件の展開処理を行う。メタ制約条件の展開処理については、図３を参照して上記説明した通りであるので、ここでの詳細な説明は省略する。そこで、以下、図５を参照して、本実施形態に係る勤務シフト表作成システム１によるメタ制約条件の生成処理について説明する。
【００７９】
なお、以下では、設定部１８は、勤務シフト表の作成対象期間を１カ月として設定したものとする。また、設定部１８は、勤務者を第１のグループと第２のグループとに分け、メタ制約条件の生成のために参照される過去実績の対象期間を、第１のグループは３ヶ月および６ヶ月として設定し、第２のグループは６ヶ月として設定したものとする。
【００８０】
図５は、第２の実施形態に係る勤務シフト表作成システム１において実行されるメタ制約条件の生成処理の流れの一例を示すフローチャートである。図５に示すように、まず、ステップＳ３０２で、制御部１７は、メタ制約条件の生成対象となる勤務形態をひとつ選択する。
【００８１】
次いで、ステップＳ３０４で、制御部１７は、勤務実績ＤＢ部１６を参照して、上記ステップＳ３０２において選択した勤務形態の、過去３ヶ月間および６ヶ月間における勤務者ごとの平均取得回数を算出する。
【００８２】
次に、ステップＳ３０６で、制御部１７は、勤務実績ＤＢ部１６を参照して、上記ステップＳ１０２において選択した勤務形態の、過去３ヶ月間および６ヶ月間における勤務者全員の平均取得回数を算出する。
【００８３】
次いで、ステップＳ３０８で、制御部１７は、勤務シフト表の作成対象である複数の勤務者の中から、勤務者を一人選択する。このとき選択した勤務者を、以下では対象勤務者とも称する。
【００８４】
次に、ステップＳ３１０で、制御部１７は、対象勤務者が、第１のグループに属するか否かを判定する。例えば、制御部１７は、設定部１８による設定内容を参照することにより、対象勤務者が所属するグループを判定する。設定部１８による設定内容の一例を、下記の表８に示す。
【００８５】
【表８】
2015153024.tif 000010
【００８６】
対象勤務者が第１のグループに属すると判定された場合（Ｓ３１０／ＹＥＳ）、処理はステップＳ３１２に進む。一方で、対象勤務者が第２のグループに属すると判定された場合（Ｓ３１０／ＮＯ）、処理はステップＳ３１４に進む。
【００８７】
ステップＳ３１２では、制御部１７は、３ヶ月集計で閾値を超えたか否かを判定する。詳しくは、制御部１７は、対象勤務者の過去３ヶ月間の平均取得回数から勤務者全員の過去３ヶ月間の平均取得回数を減算し、その絶対値が閾値を超えたか否かを判定する。閾値を超えたと判定された場合（Ｓ３１２／ＹＥＳ）、処理はステップＳ３１６に進みメタ制約条件が生成される。一方で、閾値を超えないと判定された場合（Ｓ３１２／ＮＯ）、処理はステップＳ３１４に進む。
【００８８】
ステップＳ３１４では、制御部１７は、上記ステップＳ３１２と同様にして、６ヶ月集計で閾値を超えたか否かを判定する。閾値を超えたと判定された場合（Ｓ３１４／ＹＥＳ）、処理はステップＳ３１６に進みメタ制約条件が生成される。一方で、閾値を超えないと判定された場合（Ｓ３１４／ＮＯ）、処理はステップＳ３１８に進みメタ制約条件は生成されない。
【００８９】
そして、ステップＳ３１６で、制御部１７は、メタ制約条件を生成する。ここでの処理は、対象勤務者ごとの処理となる点を除いて、上記説明した図２のステップＳ１０８、Ｓ１１０と同様であるので、ここでの詳細な説明は省略する。
【００９０】
次いで、ステップＳ３１８で、制御部１７は、すべての勤務者について、上記ステップＳ３０８〜Ｓ３１６までの処理を行ったか否かを判定する。未処理の勤務者がある場合（Ｓ３１８／ＮＯ）、処理は再度ステップＳ３０８に進む。このようにして、すべての勤務者について上記ステップＳ３０８〜Ｓ３１６の処理が繰り返される。
【００９１】
すべての勤務者について処理済みとなった場合（Ｓ３１８／ＹＥＳ）、ステップＳ３２０で、制御部１７は、ステップＳ３１６で生成したメタ制約条件を緩和する。ここでの処理は、上記説明した図２のステップＳ１１２と同様であるので、ここでの詳細な説明は省略する。
【００９２】
次に、ステップＳ３２２で、制御部１７は、すべての勤務形態について、上記ステップＳ３０２〜Ｓ３２０までの処理を行ったか否かを判定する。未処理の勤務形態がある場合（Ｓ３２２／ＮＯ）、処理は再度ステップＳ３０２に進む。このようにして、すべての勤務形態について上記ステップＳ３０２〜Ｓ３２０の処理が繰り返される。すべての勤務形態について処理済みとなった場合（Ｓ３２２／ＹＥＳ）、メタ制約条件の生成処理は終了する。
【００９３】
以上、本実施形態に係るメタ制約条件の生成処理について説明した。
【００９４】
＜３．まとめ＞
以上説明したように、本発明の一実施形態に係る勤務シフト表作成システム１は、長期的な勤務者間の公平性を実現する勤務シフト表を作成することが可能である。
【００９５】
具体的には、勤務シフト表作成システム１は、複数の勤務者全体との比較における勤務者の過去の勤務形態の偏りを是正するためのメタ制約条件を生成し、メタ制約条件により制約条件を修正する。このため、勤務シフト表作成システム１は、勤務シフト表の作成対象期間だけではなく、メタ制約条件の生成のために参照される過去実績の対象期間を含めた、長期的な勤務者間の公平性を実現することが可能となる。
【００９６】
また、勤務シフト表作成システム１は、メタ制約条件の生成のために参照される過去実績の対象期間を、勤務者ごとに設定することが可能である。このため、勤務シフト表作成システム１は、例えば正社員および派遣社員といった勤務者の属性の多様性に応じて、適切な公平性を備えた勤務シフト表を作成することができる。
【００９７】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００９８】
例えば、勤務シフト表の作成対象者を単に勤務者として説明したが、本発明を適用可能な勤務者は多様に考えられる。例えば、工場の作業員、病院および介護施設の職員、コールセンタのオペレータ、デパートの販売員、レストランのスタッフ等が考えらえる。
【００９９】
また、上記第１の実施形態では、図３に示したように、まずメタ制約条件を生成した上で、対応する汎用制約条件が存在しない場合にメタ制約条件を削除するとしたが、本発明はかかる例に限定されない。例えば、勤務シフト表作成システム１は、汎用制約条件を参照して、対応するメタ制約条件のみを生成することで、展開処理において削除されるメタ制約条件をそもそも生成しないものとしてもよい。これにより、勤務シフト表作成システム１の処理負担が軽減され得る。
【０１００】
また、上記第２の実施形態においては、図５を参照して勤務者を２つのグループに分けた例を説明したが、本発明はかかる例に限定されない。例えば、勤務シフト表作成システム１は、勤務者を３つ以上のグループに分けてもよい。
【０１０１】
また、上記第２の実施形態においては、設定部１８がグループ設定を行うものとして説明したが、本発明はかかる例に限定されない。例えば、勤務シフト表作成システム１は、他のデータを参照してもよい。例えば、正社員と派遣社員とでグループを分ける場合、勤務シフト表作成システム１は、勤務者の属性情報を格納したデータベースを参照することで、どちらのグループに属するか判別してもよい。
【０１０２】
なお、本明細書において説明した勤務シフト表作成システム１は、単独の装置として構成されてもよく、一部または全部が別々の装置で構成されても良い。例えば、図１に示した第１の実施形態に係る勤務シフト表作成システム１の機能構成例のうち、制約条件管理部１２、最適化処理部１３、メモリ１５、勤務実績ＤＢ部１６、および制御部１７が、入力部１１および出力部１４とネットワーク等で接続されたサーバ等の装置に備えられていても良い。制御部１７等がサーバ等の装置に備えられる場合は、入力部１１からの情報がネットワーク等を通じて当該サーバ等の装置に送信され、制御部１７等が受信された情報に基づいて処理を行う。そして、当該サーバ等の装置から出力部１４が出力するための情報が、ネットワーク等を通じて出力部１４に送られる。図４に示した第２の実施形態に係る勤務シフト表作成システム１ついても同様である。
【０１０３】
また、本明細書において説明した勤務シフト表作成システム１による一連の処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、勤務シフト表作成システム１の内部又は外部に設けられる記憶媒体（非一時的な媒体：non-transitory  media）に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭに読み込まれ、ＣＰＵなどのプロセッサにより実行される。
【符号の説明】
【０１０４】
１    勤務シフト表作成システム
１１    入力部
１２    制約条件管理部
１３    最適化処理部
１４    出力部
１５    メモリ
１６    勤務実績ＤＢ部
１７    制御部
１８    設定部
【図１】
2015153024.tif 000011
【図２】
2015153024.tif 000012
【図３】
2015153024.tif 000013
【図４】
2015153024.tif 000014
【図５】
2015153024.tif 000015