1. ホーム
  2. ソリューション

シフトスケジューリング

数理最適化技術を活用して効率的にシフトスケジューリングを行う事例をご紹介します。

シフトスケジューリングとは

シフトスケジューリングとは、シフト勤務を採用している現場における、ある一定の期間(例えば1ヶ月)のシフトを作成する問題のことです。シフト作成のためには、労働時間や休暇などの法令の遵守、業務に必要なスキルの人員や責任者を適切に割り当てることは当然必要です。現実の業務に使われるシフトはさらに複雑で、スタッフの勤務する曜日や時間の希望、新人教育などで一緒に働かせたい組合せ、逆に一緒に働かせたくない組合わせなど、様々な現場のニーズを織り込んだシフトが作られています。
このシフトを人手で組む場合、現場の業務をよく理解したベテラン社員でも長い時間をかけた作業が必要になります。人数が多く要件が複雑な場合だと、1か月分のシフトを組むのに数日かかることもあります。

シフトスケジューリングは、勤務表の各マス目にシフトを割り当てる問題として捉えることで、数理最適化の割当問題の一種として取り扱うことができます。 特に病院の看護師のシフトは夜勤の取り扱いや種々の制約条件の組合せから難易度が高いと考えられ、「ナーススケジューリング問題」という数理最適化の問題として長年研究されてきました。 このような研究の成果を活用し、要件を適切に整理して数理最適化問題に落とし込むことができれば、自動計算で高速にシフトを作成することができるようになります。

weekshift.png

シフト作成システム

近年では自動でシフトを作成するサービスも多数提供されています。 例えば JRシステムが提供している勤務シフト作成お助けマンもその1つで、バックエンドでは当社が開発している数理最適化ソルバーNuorium Optimizerが使われており、開発の支援を行っています。

典型的な勤務シフトであれば、このような汎用のシフト作成サービスでクイックに解決していただけます。

一方で、特有の業務要件などがネックとなり、特別な作り込みが必要なケースも存在します。当社ではこのような複雑な課題に対して、数理最適化のノウハウを駆使して解決するためのコンサルティングやシステム開発も行っています。

適用例

コールセンター要員スケジューリング

シフトスケジューリングを最適化問題として解くためには、必要な人員数などの要件が定まっている必要があります。しかし、現実には不確定要素があって必要な人員数が定まっていない状態でシフトを作成しなければいけないケースも存在します。このような場合には、シミュレーションと最適化を組合せてシフトを作成する仕組みを作ることができます。

例えばコールセンターのスケジューリングでは、どれだけの問い合わせが来るのかは事前に決まらず、確率的なブレが発生します。コールセンターの対応のシミュレーションを行うことで、問い合わせ数が増えた場合や人員の増減を行った場合に応答待ちがどれだけ発生するかを試算することができ、これによって最適な人員数を決めることができます。人員数やスキルなどの要件が決定できれば、ここまででご紹介したものと同様に最適化問題を解くことでシフトを作成することができます。

適用例

スポーツスケジューリング

スポーツなどの競技会の対戦日程の作成も、シフトスケジューリングと同様の考え方で数理最適化で生成することができます。競技者ごとの競技への有利不利が発生しないようにする必要があることはもちろん、プロスポーツの場合には、移動日・休養日、週末・連休などの興行収入への影響、などで不公平が発生しないように対戦日程を組む必要があり、複雑な調整が必要になります。競技の性質によってさまざまに要件が異なりますので、要件を洗い出し、適切に要件を満たす対戦日程を作成します。

適用例