IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コニカミノルタ株式会社の特許一覧

特開2025-14979シフト生成システム、シフト生成方法、およびシフト生成プログラム
<>
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図1
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図2
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図3
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図4
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図5
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図6
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図7A
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図7B
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図8A
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図8B
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図9
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図10
  • 特開-シフト生成システム、シフト生成方法、およびシフト生成プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025014979
(43)【公開日】2025-01-30
(54)【発明の名称】シフト生成システム、シフト生成方法、およびシフト生成プログラム
(51)【国際特許分類】
   G06Q 10/0631 20230101AFI20250123BHJP
【FI】
G06Q10/0631
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023117997
(22)【出願日】2023-07-20
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110000671
【氏名又は名称】IBC一番町弁理士法人
(72)【発明者】
【氏名】田島 宏樹
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA06
5L049AA06
(57)【要約】
【課題】シフトの自動生成におけるシフト条件の最適化の際の試行錯誤の煩雑さを解消できるシフト生成システムを提供する。
【解決手段】シフト条件およびメンバー情報を受け付ける受付部と、シフト条件およびメンバー情報に基づいてメンバーのシフトを生成する生成部と、生成されたシフトにおいて、シフト条件の達成状態を評価する達成評価部と、シフト条件の変更による評価への影響を予測する予測部と、予測部で得られた影響を提示する提示部とを含む、シフト生成システム。
【選択図】図10
【特許請求の範囲】
【請求項1】
シフト条件およびメンバー情報を受け付ける受付部と、
前記シフト条件およびメンバー情報に基づいてメンバーのシフトを生成する生成部と、
生成された前記シフトにおいて、前記シフト条件の達成状態を評価する達成評価部と、
前記シフト条件の変更による前記評価への影響を予測する予測部と、
前記予測部で得られた前記影響を提示する提示部と、
を有する、シフト生成システム。
【請求項2】
前記達成評価部は、前記シフト条件ごとに前記達成状態を評価し、
前記予測部は、前記達成評価部により評価された前記達成状態が所定の基準を満たさない前記シフト条件のうちいずれか1つに前記シフト条件を限定することで前記評価が改善するか否かにより、前記評価への前記影響を予測する、請求項1に記載のシフト生成システム。
【請求項3】
前記予測部は、前記評価が改善した前記シフト条件と、前記評価が改善した前記シフト条件以外の前記シフト条件とを含む2つ以上の前記シフト条件に前記シフト条件を限定することで、限定された前記シフト条件のすべてが達成されるか否かにより、前記評価への前記影響を予測する、請求項2に記載のシフト生成システム。
【請求項4】
前記生成部は、遺伝的アルゴリズムを用いて前記シフトを生成する、請求項1に記載のシフト生成システム。
【請求項5】
前記生成部による遺伝的アルゴリズムを用いた世代ごとの前記シフトの生成中に、前記シフトの生成を開始してから所定時間経過しても前記達成状態が所定の基準を満たさない前記シフト条件を検知したことを契機として、検知された前記シフト条件に基づいて前記シフトを前記生成部に生成させる制御部を有し、
前記予測部は、検知された前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、請求項2に記載のシフト生成システム。
【請求項6】
前記生成部は、複数の前記シフト条件に基づいて前記シフトを生成し、
前記受付部において、複数の前記シフト条件のうち1つの前記シフト条件が受け付けられたことを契機として、当該1つの前記シフト条件に基づいて前記シフトを前記生成部に生成させる制御部を有し、
前記予測部は、当該1つの前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、請求項2に記載のシフト生成システム。
【請求項7】
メンバーのシフトを生成するシフト生成システムにより実行されるシフト生成方法であって、
シフト条件およびメンバー情報を受け付けるステップ(a)と、
前記シフト条件およびメンバー情報に基づいてメンバーの前記シフトを生成するステップ(b)と、
生成された前記シフトにおいて、前記シフト条件の達成状態を評価するステップ(c)と、
前記シフト条件の変更による前記評価への影響を予測するステップ(d)と、
前記ステップ(d)において得られた前記影響を提示するステップ(e)と、
を有する、シフト生成方法。
【請求項8】
前記ステップ(c)においては、前記シフト条件ごとに前記達成状態を評価し、
前記ステップ(d)においては、前記ステップ(c)において評価された前記達成状態が所定の基準を満たさない前記シフト条件のうちいずれか1つに前記シフト条件を限定することで前記評価が改善するか否かにより、前記評価への前記影響を予測する、請求項7に記載のシフト生成方法。
【請求項9】
前記ステップ(d)においては、前記評価が改善した前記シフト条件と、前記評価が改善した前記シフト条件以外の前記シフト条件とを含む2つ以上の前記シフト条件に前記シフト条件を限定することで、限定された前記シフト条件のすべてが達成されるか否かにより、前記評価への前記影響を予測する、請求項8に記載のシフト生成システム。
【請求項10】
前記ステップ(b)においては、遺伝的アルゴリズムを用いて前記シフトを生成する、請求項7に記載のシフト生成方法。
【請求項11】
前記ステップ(b)における遺伝的アルゴリズムを用いた世代ごとの前記シフトの生成中に、前記シフトの生成を開始してから所定時間経過しても前記達成状態が所定の基準を満たさない前記シフト条件を検知したことを契機として、検知された前記シフト条件に基づいて前記シフトを生成させるステップ(f)を有し、
前記ステップ(d)においては、検知された前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、請求項8に記載のシフト生成方法。
【請求項12】
前記ステップ(b)においては、複数の前記シフト条件に基づいて前記シフトを生成し、
前記ステップ(a)において、複数の前記シフト条件のうち1つの前記シフト条件が受け付けられたことを契機として、当該1つの前記シフト条件に基づいて前記シフトを生成させるステップ(g)を有し、
前記ステップ(d)においては、当該1つの前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、請求項8に記載のシフト生成方法。
【請求項13】
請求項7~12のいずれか一項に記載のシフト生成方法をコンピューターに実行させるためのシフト生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シフト生成システム、シフト生成方法、およびシフト生成プログラムに関する。
【背景技術】
【0002】
従来、組織のスタッフのシフトの作成に遺伝的アルゴリズムが用いられている。遺伝的アルゴリズムを用いた、シフトの自動生成においては、設定されたシフト条件(ルール)に基づいて、世代ごとに複数のシフトが個体として生成される。そして、シフト条件の満たし度合いを示す評価値がより高い個体へ進化させる。
【0003】
しかし、遺伝的アルゴリズムを用いた、シフトの自動生成において設定するシフト条件は比較的多く、シフト条件の設定を適切に設定することは容易ではない。すなわち、シフト条件を厳しく設定すると、解が極めて少なくなり、または評価値が100%に収束せずに解が存在しなくなり得る。そして、評価値が100%に収束可能なシフト条件になっているかどうかをユーザーが認識することは、設定するシフト条件が多いため容易ではない。従って、シフト条件の変更、シフトの生成、および評価値の算出を繰り返す試行錯誤が必要になり、煩雑であるという問題がある。
【0004】
下記特許文献には、次の先行技術が開示されている。スケジュール案を親染色体とし、交叉により子染色体を生成し、子染色体に対し突然変異や偏倚を行い、子染色体が予め設定されている条件をどの程度満たすか評価する。そして、評価値が悪い親染色体または子染色体を淘汰する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001-175639号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記先行技術は、シフトの自動生成におけるシフト条件の最適化における試行錯誤の煩雑さを解消できないという問題がある。
【0007】
本発明は、上記のような事情に鑑みてなされたものである。すなわち、本発明は、シフトの自動生成におけるシフト条件の最適化の際の試行錯誤の煩雑さを解消できるシフト生成システム、シフト生成方法、およびシフト生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的は、下記の手段によって達成される。
【0009】
(1)シフト条件およびメンバー情報を受け付ける受付部と、前記シフト条件およびメンバー情報に基づいてメンバーのシフトを生成する生成部と、生成された前記シフトにおいて、前記シフト条件の達成状態を評価する達成評価部と、前記シフト条件の変更による前記評価への影響を予測する予測部と、前記予測部で得られた前記影響を提示する提示部と、を有する、シフト生成システム。
【0010】
(2)前記達成評価部は、前記シフト条件ごとに前記達成状態を評価し、前記予測部は、前記達成評価部により評価された前記達成状態が所定の基準を満たさない前記シフト条件のうちいずれか1つに前記シフト条件を限定することで前記評価が改善するか否かにより、前記評価への前記影響を予測する、上記(1)に記載のシフト生成システム。
【0011】
(3)前記予測部は、前記評価が改善した前記シフト条件と、前記評価が改善した前記シフト条件以外の前記シフト条件とを含む2つ以上の前記シフト条件に前記シフト条件を限定することで、限定された前記シフト条件のすべてが達成されるか否かにより、前記評価への前記影響を予測する、上記(2)に記載のシフト生成システム。
【0012】
(4)前記生成部は、遺伝的アルゴリズムを用いて前記シフトを生成する、上記(1)に記載のシフト生成システム。
【0013】
(5)前記生成部による遺伝的アルゴリズムを用いた世代ごとの前記シフトの生成中に、前記シフトの生成を開始してから所定時間経過しても前記達成状態が所定の基準を満たさない前記シフト条件を検知したことを契機として、検知された前記シフト条件に基づいて前記シフトを前記生成部に生成させる制御部を有し、前記予測部は、検知された前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、上記(2)に記載のシフト生成システム。
【0014】
(6)前記生成部は、複数の前記シフト条件に基づいて前記シフトを生成し、前記受付部において、複数の前記シフト条件のうち1つの前記シフト条件が受け付けられたことを契機として、当該1つの前記シフト条件に基づいて前記シフトを前記生成部に生成させる制御部を有し、前記予測部は、当該1つの前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、上記(2)に記載のシフト生成システム。
【0015】
(7)メンバーのシフトを生成するシフト生成システムにより実行されるシフト生成方法であって、シフト条件およびメンバー情報を受け付けるステップ(a)と、前記シフト条件およびメンバー情報に基づいてメンバーの前記シフトを生成するステップ(b)と、生成された前記シフトにおいて、前記シフト条件の達成状態を評価するステップ(c)と、前記シフト条件の変更による前記評価への影響を予測するステップ(d)と、前記ステップ(d)において得られた前記影響を提示するステップ(e)と、を有する、シフト生成方法。
【0016】
(8)前記ステップ(c)においては、前記シフト条件ごとに前記達成状態を評価し、前記ステップ(d)においては、前記ステップ(c)において評価された前記達成状態が所定の基準を満たさない前記シフト条件のうちいずれか1つに前記シフト条件を限定することで前記評価が改善するか否かにより、前記評価への前記影響を予測する、上記(7)に記載のシフト生成方法。
【0017】
(9)前記ステップ(d)においては、前記評価が改善した前記シフト条件と、前記評価が改善した前記シフト条件以外の前記シフト条件とを含む2つ以上の前記シフト条件に前記シフト条件を限定することで、限定された前記シフト条件のすべてが達成されるか否かにより、前記評価への前記影響を予測する、上記(8)に記載のシフト生成システム。
【0018】
(10)前記ステップ(b)においては、遺伝的アルゴリズムを用いて前記シフトを生成する、上記(7)に記載のシフト生成方法。
【0019】
(11)前記ステップ(b)における遺伝的アルゴリズムを用いた世代ごとの前記シフトの生成中に、前記シフトの生成を開始してから所定時間経過しても前記達成状態が所定の基準を満たさない前記シフト条件を検知したことを契機として、検知された前記シフト条件に基づいて前記シフトを生成させるステップ(f)を有し、前記ステップ(d)においては、検知された前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、上記(8)に記載のシフト生成方法。
【0020】
(12)前記ステップ(b)においては、複数の前記シフト条件に基づいて前記シフトを生成し、前記ステップ(a)において、複数の前記シフト条件のうち1つの前記シフト条件が受け付けられたことを契機として、当該1つの前記シフト条件に基づいて前記シフトを生成させるステップ(g)を有し、前記ステップ(d)においては、当該1つの前記シフト条件に基づいて生成された前記シフトに基づいて、前記評価が改善するか否かを予測する、上記(8)に記載のシフト生成方法。
【0021】
(13)上記(7)~(12)のいずれかに記載のシフト生成方法をコンピューターに実行させるためのシフト生成プログラム。
【発明の効果】
【0022】
受け付けた、シフト条件およびメンバー情報に基づいてメンバーのシフトを生成し、生成されたシフトにおいて、シフト条件の達成状態を評価する。そして、シフト条件の変更による評価への影響を予測して提示する。これにより、シフトの自動生成におけるシフト条件の最適化の際の試行錯誤の煩雑さを解消できる。
【図面の簡単な説明】
【0023】
図1】本発明の実施形態に係るシステム全体の概略構成を示す図である。
図2】情報処理端末の概略構成を示すブロック図である。
図3】シフト条件の受付画面の例を示す図である。
図4】サーバーの概略構成を示すブロック図である。
図5】CPUの機能を示すブロック図である。
図6】シフトの例を示す図である。
図7A】シフト条件の変更によるシフト条件の達成状態の評価について説明するための説明図である。
図7B】シフト条件の変更によるシフト条件の達成状態の評価について説明するための説明図である。
図8A】達成可能なシフト条件と他の1つのシフト条件に限定する、シフト条件の変更によるシフト条件の達成状態の評価について説明するための説明図である。
図8B】達成可能なシフト条件と他の1つのシフト条件に限定する、シフト条件の変更によるシフト条件の達成状態の評価について説明するための説明図である。
図9】システムの動作を示すフローチャートの例である。
図10】システムの予測処理の動作を示すフローチャートの例である。
図11】システムの予測処理の動作を示すフローチャートの他の例である。
【発明を実施するための形態】
【0024】
以下、添付した図面を参照して、本発明の実施形態に係るシフト生成システム、シフト生成方法、およびシフト生成プログラムについて説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0025】
図1は、本発明の実施形態に係るシステム10全体の概略構成を示す図である。
【0026】
図1に示すように、システム10は、情報処理端末100およびサーバー200によって構成される。情報処理端末100およびサーバー200は、ネットワークを介して相互に接続可能に構成されている。サーバー200は、例えばクラウドサーバーであるが、オンプレミスのサーバー(サーバー装置)等であってもよい。サーバー200はシフト生成システムを構成する。サーバー200および情報処理端末100によりシフト生成システムが構成されてもよい。
【0027】
システム10は、組織の施設内に設置されてもよく、構成要素の一部または全部が施設外(例えば、複数の施設を運営する法人の本部家屋等)に設置されてもよい。組織には、複数のメンバー(人員)を雇用するあらゆる組織が含まれる。メンバーには、勤務シフト(以下、単に「シフト」とも称する)に従って勤務するあらゆる人員が含まれる。
【0028】
以下、説明を簡単にするために、組織は介護施設を経営する組織であり、介護施設で介護をするメンバーである職員のシフトを作成する場合を例に説明する。
【0029】
(情報処理端末100)
情報処理端末100は、例えば、介護施設の施設長、経営者、または管理者等のユーザーによって使用される端末であり、デスクトップPC、ノートPC、タブレットPC、またはスマートフォン等である。
【0030】
図2は、情報処理端末100の概略構成を示すブロック図である。
【0031】
図2に示すように、情報処理端末100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、ストレージ140、通信インターフェース150、および操作表示部160を有する。各構成は、バスを介して相互に通信可能に接続されている。
【0032】
CPU110は、ROM120やストレージ140に記録されているプログラムに従って、上記各構成の制御や各種の演算処理を行う。CPU110の具体的な機能については後述する。
【0033】
ROM120は、各種プログラムや各種データを格納する。
【0034】
RAM130は、作業領域として一時的にプログラムやデータを記憶する。
【0035】
ストレージ140は、HDD(Hard Disc Drive)、SDD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラムや、各種データを格納する。例えば、ストレージ140には、ユーザーからの入力(指示等を含む)を受け付けてサーバー200等の他の装置との間で各種情報を送受信するためのアプリケーションがインストールされている。また、ストレージ140には、情報を操作表示部160に出力(表示)したりするためのアプリケーションがインストールされている。
【0036】
通信インターフェース150は、他の装置と通信するためのインターフェースである。通信インターフェース150としては、有線または無線の各種規格による通信インターフェースが用いられる。
【0037】
操作表示部160は、例えば、タッチパネル式のディスプレイであり、各種情報を表示すると共に、ユーザーからの各種入力を受け付ける。
【0038】
CPU110は、操作表示部160においてユーザーにより入力された職員情報を受け付ける。職員情報はメンバー情報を構成する。職員情報には、例えば、職員の人数、取得している資格、職種、および勤務形態等の、シフトの作成に用いられる、職員に関する情報が含まれる。職員には、常勤および非常勤の介護職員、看護職員、および管理栄養士等が含まれる。CPU110は、受け付けた職員情報をサーバー200へ送信する。
【0039】
CPU110は、操作表示部160においてユーザーにより入力された、シフト条件を受け付ける。シフト条件は、作成されるシフトが満たす必要がある条件であり、シフトを作成するためのルールである。シフト条件には、シフト記号ごとの1日の必要人数、および夜勤の次は有給の休暇とする等のシフト記号の連続設定制限が含まれ得る。シフト記号は、勤務時間および勤務時間帯の組み合わせに対応するユニークな記号である。シフト条件には、連続出勤可能日数、連続休暇可能日数、職員ごとの公休日数(週間、月間)、職員ごとの労働時間(週間、月間)、および職員ごとの設定可能なシフト記号が含まれ得る。シフト条件には、職員ごとの労働日数(週間、月間)、および職員ごとの希望勤務日等が含まれ得る。CPU110は、受け付けたシフト条件をサーバー200へ送信する。
【0040】
図3は、シフト条件の受付画面の例を示す図である。シフト条件の受付画面は、操作表示部160に表示される。CPU110は、シフト条件の受付画面にユーザーにより入力されるシフト条件を受け付ける。
【0041】
図3の例においては、シフト条件の受付画面に、シフト条件として、シフト記号ごとのの1日必要人数(各シフトの必要人数)が入力されている。すなわち、毎月、「夜」のシフト記号を、全日、「ユニットB」というユニットに属するスタッフの1人に割り当てることがシフト条件として入力されている。
【0042】
(サーバー200)
図4は、サーバー200の概略構成を示すブロック図である。
【0043】
図4に示すように、サーバー200は、CPU210、ROM220、RAM230、ストレージ240、および通信インターフェース250を有する。各構成は、ネットワーク、またはバスを介して相互に通信可能に接続されている。CPU210は制御部を構成する。
【0044】
CPU210、ROM220、RAM230、ストレージ240、および通信インターフェース250の構成および基本的な機能は、情報処理端末100の対応する各要素と同様であるため、重複する説明は省略する。CPU210の具体的な機能については後述する。
【0045】
ストレージ240には、CPU210が各処理を実行するためのプログラムがインストールされている。また、ストレージ240には、情報処理端末100等から受信したメンバー情報およびシフト条件が記憶される。
【0046】
図5は、CPU210の機能を示すブロック図である。CPU210は、プログラムに従って動作することで、受付部211、シフト生成部212、達成評価部213、影響予測部214、および提示部215として機能する。シフト生成部212は生成部を構成する。影響予測部214は予測部を構成する。
【0047】
(達成不可能なシフト条件の特定と提示)
受付部211は、シフト条件および職員情報を受け付ける。具体的には、受付部211は、例えば、情報処理端末100から通信インターフェース250によりシフト条件および職員情報を受信することで受け付ける。シフト条件は、作成されるシフトが満たす必要がある条件であるため、作成されるシフトが満たす必要がある条件として、通常複数のシフト条件が受け付けられ得る。受付部211は、受け付けたシフト条件および職員情報をストレージ240に記憶させ得る。
【0048】
シフト生成部212は、シフト条件および職員情報に基づいて、職員のシフトを生成する。シフト生成部212は、例えば、遺伝的アルゴリズムを用いてシフトを生成する。シフト生成部212は、タブーサーチ等を用いてシフトを生成してもよい。シフトは、各職員に対し、日ごとにシフト記号が付与されたものである。以下、説明を簡単にするために、遺伝的アルゴリズムを用いてシフトを生成する場合を例に説明する。
【0049】
遺伝的アルゴリズムを用いた、シフトの自動生成においては、設定されたシフト条件に基づいて、世代ごとに複数のシフトが個体として生成される。そして、シフト間で、交叉、突然変異、および淘汰等を繰り返しながら、シフト条件の満たし度合いを示す評価値がより高い個体へ進化させる。遺伝的アルゴリズムでは、個体ごとに評価値を算出する。評価値は、シフト条件の満たし度合いである。個体ごとの評価値は、個体の生成に用いられたシフト条件ごとの評価値に重み係数がそれぞれ乗算された補正評価値の総和として算出される。すなわち、個体ごとの評価値は、個体の生成に用いられた全てのシフト条件についてそれぞれ算出された補正評価値の総和である。そして、世代ごとに生成された複数の個体のうち、評価値が比較的低い個体が淘汰され、最も評価値が高い個体が最終的に生成される。
【0050】
具体的には、例えば、シフト(個体)の生成に用いられるシフト条件が2つである場合、シフト条件ごとの補正評価値は次の式により算出される。
【0051】
シフト条件Aの補正評価値a=重み係数α×シフト条件Aの評価値
シフト条件Bの補正評価値b=重み係数β×シフト条件Bの評価値
そして、個体の評価値(全体の評価値)は、例えば、次の式により算出される。
【0052】
個体の評価値=補正評価値a+補正評価値b
個体の評価値に基づいて個体が淘汰される。このため、重み係数により、世代ごとのシフト生成において優先されるシフト条件が決定される。重み係数は、シフトの生成(算出)における、シフト条件ごとの優先度を構成する。
【0053】
図6は、生成されたシフトの例を示す図である。
【0054】
図6に示すように、シフトにおいて、各職員に対し、日ごとにシフト記号が付与されている。シフト記号「日」、「早」、「遅」、「夜」、「明」、および「公」は、それぞれ、日勤、早出、遅出、夜勤、夜勤明の代休、および公休を意味する。
【0055】
達成評価部213は、生成されたシフトにおいて、シフト条件の達成状態(シフト条件の満たし度合い)を評価値として評価する。達成評価部213は、評価値を、継続的に生成される個体(遺伝的アルゴリズムを用いて生成されたシフト)ごとに、各シフト条件に対する評価値を算出し出力する。例えば、シフト条件が、シフト記号ごとの1日の必要人数である場合、評価値は、シフト記号ごとの必要人数に対する充足率の総乗値であり得る。この場合、すべてのシフト記号の充足率が1(100%)の場合に、評価値は1(100%)となる。
【0056】
影響予測部214は、シフト条件の変更による、達成評価部213による評価への影響を予測する。複数のシフト条件が設定されている場合、影響予測部214は、達成評価部213により評価された達成状態が所定の基準を満たさないシフト条件を検知する。具体的には、影響予測部214は、例えば、シフト生成部212によりシフトの生成が開始されてから所定時間経過しても評価値が、所定の基準として設定された100%にならないシフト条件を検知する。所定の基準は100%であることが好ましいが、これに限定されず、演算時間や評価値の増加率の観点から実験により適切に設定し得る。影響予測部214は、特定したしシフト条件のうちいずれか1つにシフト条件を限定してシフト生成部212にシフトを生成させる。影響予測部214は、シフト条件を1つに限定することで達成評価部213による評価が改善するか否かにより、評価への影響を予測し得る。具体的には、影響予測部214は、1つのシフト条件に基づいて生成されたシフトの、当該シフト条件に対する評価値が100%に改善する場合、シフト条件の変更による評価値への影響があると予測する。影響予測部214は、1つのシフト条件に基づいて生成されたシフトの、当該シフト条件に対する評価値が100%に改善しない場合、シフト条件の変更による評価値への影響がないと予測する。
【0057】
影響予測部214は、シフト生成部212による遺伝的アルゴリズムを用いた世代ごとのシフトの生成中に、シフトの生成を開始してから所定時間経過しても達成状態が所定の基準を満たさないシフト条件を検知し得る。CPU210は、達成状態が所定の基準を満たさないシフト条件が検知されたことを契機として、検知されたシフト条件のうちいずれか1つに基づいてシフトをシフト生成部212に生成させ得る。CPU210は、受付部211により、複数のシフト条件のうち1つのシフト条件が受け付けられたことを契機として、当該1つのシフト条件に基づいて、シフトをシフト生成部212に生成させてもよい。
【0058】
図7A図7Bは、シフト条件の変更によるシフト条件の達成状態の評価について説明するための説明図である。
【0059】
図7Aは、シフト条件の変更によりシフト条件の達成状態が改善しない例を示している。図7Aの例では、作成されるシフトが満たす必要がある全てのシフト条件に基づいて生成されたシフトにおいては、評価値が80%になっている。そして、1つのシフト条件Aのみに基づいて生成されたシフトにおいても評価値は80%である。このため、シフト条件が1つのシフト条件Aに変更されても、シフト条件Aの達成状態が改善されていない。この場合、シフト条件Aは、職員情報に基づくシフト生成において、そもそも達成できないシフト条件として特定されたことになる。
【0060】
図7Bは、シフト条件の変更によりシフト条件の達成状態が改善した例を示している。図7Bの例では、作成されるシフトが満たす必要がある全てのシフト条件に基づいて生成されたシフトにおいては、評価値が80%になっている。そして、1つのシフト条件Aのみに基づいて生成されたシフトにおいて評価値が100%になっている。このため、シフト条件の変更により、シフト条件Aの達成状態が改善されている。この場合、シフト条件Aは、職員情報に基づくシフト生成において、達成できないシフト条件ではない。従って、シフト条件Aは、遺伝的アルゴリズムを用いたシフト生成における優先度を上げることで達成できるシフト条件として特定されたことになる。
【0061】
提示部215は、影響予測部214で得られた、シフト条件の変更によるシフト条件の達成状態の評価への影響を提示する。具体的には、提示部215は、シフト条件を1つのシフト条件に限定することで、シフト条件の達成状態の評価が改善するか否かを提示する。提示部215は、例えば、変更後のシフト条件(1つのシフト条件)と、変更後のシフト条件の達成状態の評価値とを通信インターフェース250を介して情報処理端末100へ送信して、情報処理端末100の操作表示部160に表示させる。これにより、シフト条件の変更によるシフト条件の達成状態の評価への影響が提示される。提示部215は、変更前後のシフト条件と、変更前後のシフト条件の達成状態の評価値とを提示してもよい。
【0062】
提示部215は、情報処理端末100以外の装置へ送信することにより、変更後のシフト条件と、シフト条件の達成状態の評価値とを提示してもよい。提示部215は、画像形成装置において用紙に画像形成して出力することにより、変更後のシフト条件と、シフト条件の達成状態の評価値とを提示してもよい。
【0063】
変更後のシフト条件と、変更後のシフト条件の達成状態の評価値が提示されることで、変更後のシフト条件が達成可能なシフト条件か否かをユーザーが把握できる。
【0064】
(達成可能なシフト条件と他のシフト条件とのコンフリクトの予測)
影響予測部214は、シフト条件の変更によりシフト条件の達成状態の評価が改善したシフト条件と、当該シフト条件以外の他のシフト条件とにシフト条件を限定してシフト生成部212にシフトを生成させる。すなわち、影響予測部214は、達成可能なシフト条件と、他のシフト条件との組合せに限定する、シフト条件の変更をして、シフト生成部212にシフトを生成させる。他のシフト条件は1つでもよく複数でもよい。以下、説明を簡単にするために、他のシフト条件は1つであるものとして説明する。
【0065】
影響予測部214は、限定したシフト条件のすべてが達成されるか否かにより、シフト条件の変更による、達成評価部213による評価への影響を予測する。
【0066】
図8A図8Bは、達成可能なシフト条件と他の1つのシフト条件に限定する、シフト条件の変更によるシフト条件の達成状態の評価について説明するための説明図である。
【0067】
図8Aは、シフト条件を限定する変更によっても、限定されたシフト条件のすべての評価値が100%になっていない。このことは、達成可能なシフト条件Aと、他のシフト条件Bとの両方を満たすシフトの作成が不可能であることを示している。すなわち、シフト条件Aとシフト条件Bとの間でコンフリクトが起こっていることを示している。
【0068】
図8Bは、シフト条件を限定する変更により、限定されたシフト条件のすべての評価値が100%になっている。このことは、達成可能なシフト条件Aと、他のシフト条件Bとの両方を満たすシフトの作成が可能であることを示している。すなわち、シフト条件Aとシフト条件Bの両方を満たすシフトの解が存在せず、両者の間でコンフリクトを起こしていないことを示している。
【0069】
提示部215は、達成可能なシフト条件と他の1つのシフト条件に限定する、シフト条件の変更により、限定したシフト条件のすべてが達成されるか否かを提示する。提示部215は、例えば、変更後の、達成可能なシフト条件を含む2つのシフト条件と、当該2つのシフト条件の達成状態の評価値とを通信インターフェース250を介して情報処理端末100へ送信する。これにより、提示部215は、情報処理端末100の操作表示部160に表示させる。これにより、達成可能なシフト条件と他の1つのシフト条件に限定する、シフト条件の変更によるシフト条件の達成状態の評価への影響が提示される。
【0070】
変更後の、達成可能なシフト条件を含む2つのシフト条件と、当該2つのシフト条件の達成状態の評価値が提示される。これにより、達成可能なシフト条件が、他のシフト条件との間でコンフリクトを起こしているか否かをユーザーが把握できる。
【0071】
システム10の動作について説明する。
【0072】
図9は、システム10の動作を示すフローチャートの例である。本フローチャートに示される処理は、サーバー200のストレージ240に記憶されたプログラムに従って、CPU210が各部を制御することにより実行され得る。
【0073】
CPU210は、シフトの生成処理を開始する(S1)。CPU210は、例えば、情報処理端末100へ送信することによって、情報処理端末100においてメニューを表示させる。そして、CPU210は、メニューにおいてシフト生成処理を開始するためのボタンが選択されたことの通知を、情報処理端末100から受信することによって、シフトの生成処理を開始する。
【0074】
CPU210は、シフト条件および職員情報を受け付ける(S2)。CPU210は、情報処理端末100においてユーザーにより入力された情報を受信することによって、シフト条件および職員情報を受け付け得る。
【0075】
CPU210は、シフト条件および職員情報に基づいてシフトを生成して提示する(S3)。CPU210は、生成したシフトを、情報処理端末100へ送信して情報処理端末100において表示させることによって提示し得る。CPU210は、生成したシフトを、情報処理端末100以外の装置へ送信することにより提示してもよい。CPU210は、生成したシフトを、画像形成装置へ送信して用紙に画像形成することによって提示してもよい。
【0076】
ステップS3においては、CPU210は、シフトとともに、各シフト条件の達成状態を提示してもよい。
【0077】
ステップS3においては、図10および図11に示す予測処理が実行され得る。すなわち、例えば、所定時間経過しても評価値が100%にならないシフト条件があるかどうかの判断(図10のステップS102を参照)等が実行される。
【0078】
CPU210は、シフト条件の変更を受け付けたかどうか判断する(S4)。CPU210は、情報処理端末100においてユーザーにより入力された情報を受信することによって、シフト条件の変更を受け付け得る。例えば、ユーザーは、達成不可能なシフト条件が提示された場合に、達成可能なシフト条件にシフト条件を変更し得る。
【0079】
CPU210は、シフト条件の変更を受け付けたと判断したときは(S4:YES)、変更後のシフト条件に基づいてシフトを生成して提示する(S3)。CPU210は、シフト条件の変更を受け付けていないと判断したときは(S4:NO)、処理を終了する。
【0080】
図10は、システム10の予測処理の動作を示すフローチャートの例である。本フローチャートは、達成不可能なシフト条件の特定と提示を実行するためのフローチャートである。本フローチャートに示される処理は、サーバー200のストレージ240に記憶されたプログラムに従って、CPU210が各部を制御することにより実行され得る。
【0081】
CPU210は、シフトの生成処理を開始する(S101)。CPU210は、例えば、情報処理端末100へ送信することで情報処理端末100においてメニューを表示させる。そして、CPU210は、メニューにおいてシフト生成処理を開始するためのボタンが選択されたことの通知を情報処理端末100から受信することでシフトの生成処理を開始する。
【0082】
CPU210は、シフト条件およぶ職員情報に基づいて世代ごとにシフトを作成するとともに、所定時間経過しても評価値が100%にならないシフト条件があるかどうか判断する。すなわち、CPU210は、所定時間経過しても評価値が100%にならないシフト条件を検知する(S102)。CPU210は、所定時間経過しても評価値が100%にならないシフト条件がない(検知されない)と判断した場合は(S102:NO)、全てのシフト条件を満たすシフトを提示し、処理を終了する。
【0083】
CPU210は、所定時間経過しても評価値が100%にならないシフト条件がある(検知された)と判断した場合は(S102:YES)、ステップS103を実行する。すなわち、CPU210は、評価値が100%にならないシフト条件のうちいずれか1つのシフト条件のみに基づいてシフトを生成する(S103)。
【0084】
CPU210は、ステップS103により生成されたシフトで、当該1つのシフト条件の評価値が100%かどうか判断する(S104)。
【0085】
CPU210は、ステップS103により生成されたシフトで、当該1つのシフト条件の評価値が100%であると判断した場合は(S104:YES)、ステップS105を実行する。すなわち、CPU210は、当該シフト条件の優先度を上げることで評価値が上がることを提示する(S105)。
【0086】
一方、CPU210は、ステップS103により生成されたシフトで、当該1つのシフト条件の評価値が100%ではないと判断した場合は(S104:NO)、ステップS106を実行する。すなわち、CPU210は、当該シフトの評価値を100%にすることは不可能であることを提示する(S106)。
【0087】
図11は、システム10の予測処理の動作を示すフローチャートの他の例である。本フローチャートは、達成不可能なシフト条件の特定と提示に加え、達成可能なシフト条件と他のシフト条件とのコンフリクトの予測を実行するためのフローチャートである。本フローチャートに示される処理は、サーバー200のストレージ240に記憶されたプログラムに従って、CPU210が各部を制御することにより実行され得る。
【0088】
CPU210は、シフトの生成処理を開始する(S201)。CPU210は、例えば、情報処理端末100へ送信することで情報処理端末100においてメニューを表示させる。そして、CPU210は、メニューにおいてシフト生成処理を開始するためのボタンが選択されたことの通知を情報処理端末100から受信することでシフトの生成処理を開始する。
【0089】
CPU210は、シフト条件およぶ職員情報に基づいて世代ごとにシフトを作成するとともに、所定時間経過しても評価値が100%にならないシフト条件があるかどうか判断する。すなわち、CPU210は、所定時間経過しても評価値が100%にならないシフト条件を検知する(S202)。CPU210は、所定時間経過しても評価値が100%にならないシフト条件がない(検知されない)と判断した場合は(S202:NO)、全てのシフト条件を満たすシフトを提示し、処理を終了する。
【0090】
CPU210は、所定時間経過しても評価値が100%にならないシフト条件がある(検知された)と判断した場合は(S202:YES)、ステップS203を実行する。すなわち、CPU210は、評価値が100%にならないシフト条件のうちいずれか1つのシフト条件のみに基づいてシフトを生成する(S203)。
【0091】
CPU210は、ステップS203により生成されたシフトで、当該1つのシフト条件の評価値が100%かどうか判断する(S204)。
【0092】
CPU210は、ステップS203により生成されたシフトで、当該1つのシフト条件の評価値が100%であると判断した場合は(S204:YES)、ステップS205~ステップS209を実行する。CPU210は、ステップS203により生成されたシフトで、当該1つのシフト条件の評価値が100%でないと判断した場合は(S204:NO)、ステップS206を実行する。
【0093】
CPU210は、ステップS203においてシフトの生成に用いた1つのシフト条件と他のシフト条件のみに基づいてシフトを生成する(S205)。
【0094】
CPU210は、シフト条件の評価値を100%にすることは不可能であることを提示する(S206)。具体的には、CPU210は、ステップS203においてシフトの生成に用いた1つのシフト条件の評価値を100%にすることは不可能であることを提示し得る。
【0095】
CPU210は、ステップS205により生成されたシフトで、各シフト条件の評価値が全て100%かどうか判断する(S207)。
【0096】
CPU210は、ステップS205により生成されたシフトで、各シフトの評価値が全て100%でないと判断した場合は(S207:NO)、ステップS208を実行する。すなわち、CPU210は、ステップS203においてシフトの生成に用いたシフト条件の優先度を上げると他のシフト条件の評価値が下がることを提示する(S208)。具体的には、CPU210は、ステップS203においてシフトの生成に用いた1つのシフト条件を通知するとともに、当該シフト条件は他のシフト条件とコンフリクトを起こしていることを提示し得る。
【0097】
CPU210は、ステップS205により生成されたシフトで、各シフトの評価値が全て100%であると判断した場合は(S207:YES)、ステップS209を実行する。すなわち、CPU210は、ステップS203においてシフトの生成に用いたシフト条件の優先度を上げることで評価値が上がることを通知する(S209)。具体的には、CPU210は、ステップS203においてシフトの生成に用いた1つのシフト条件を通知するとともに、当該シフト条件の優先度を上げることで評価値が上がることを通知し得る。
【0098】
実施形態は以下の効果を奏する。
【0099】
受け付けた、シフト条件およびメンバー情報に基づいてメンバーのシフトを生成し、生成されたシフトにおいて、シフト条件の達成状態を評価する。そして、シフト条件の変更による評価への影響を予測して提示する。これにより、シフトの自動生成におけるシフト条件の最適化の際の試行錯誤の煩雑さを解消できる。
【0100】
さらに、シフト条件ごとに達成状態を評価する。そして、評価された達成状態が所定の基準を満たさないシフト条件のうちいずれか1つにシフト条件を限定することで評価が改善するか否かにより、評価への影響を予測する。これにより、そもそも達成不可能なシフト条件を短時間で効果的に提示できる。そして、より簡単かつ効果的に、シフトの自動生成におけるシフト条件の最適化の際の試行錯誤の煩雑さを解消できる。
【0101】
また、評価が改善したシフト条件と、評価が改善したシフト条件以外のシフト条件とを含む2つ以上のシフト条件にシフト条件を限定する。そして、限定されたシフト条件のすべてが達成されるか否かにより、評価への影響を予測する。これにより、他のシフト条件とコンフリクトを起こしているシフト条件を、短時間かつ効果的に検知できる。
【0102】
さらに、遺伝的アルゴリズムを用いてシフトを生成する。これにより、さらに効果的に、シフトの自動生成におけるシフト条件の最適化の際の試行錯誤の煩雑さを解消できる。
【0103】
また、世代ごとのシフトの生成中に、シフトの生成を開始してから所定時間経過しても達成状態が所定の基準を満たさないシフト条件を検知したことを契機として、検知されたシフト条件に基づいてシフトを生成する。そして、検知されたシフト条件に基づいて生成されたシフトに基づいて、評価が改善するか否かを予測する。これにより、シフトの自動生成におけるシフト条件の最適化の際の手動の処理の煩雑さをさらに抑制できるとともに、効率的なシフト作成に寄与できる。
【0104】
また、シフトの生成に用いる複数のシフト条件のうち1つのシフト条件が受け付けられたことを契機として、当該1つのシフト条件に基づいてシフトを生成する。そして、当該1つのシフト条件に基づいて生成されたシフトに基づいて、評価が改善するか否かを予測する。これにより、シフトの自動生成におけるシフト条件の最適化の際の手動の処理の煩雑さをさらに抑制できるとともに、効率的なシフト作成に寄与できる。
【0105】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【0106】
例えば、情報処理端末100、およびサーバー200は、それぞれ上記の構成要素以外の構成要素を含んでいてもよく、あるいは、上記の構成要素のうちの一部が含まれていなくてもよい。
【0107】
また、情報処理端末100、およびサーバー200は、それぞれ別の装置によって構成されてもよく、あるいは単一の装置によって構成されてもよい。
【0108】
また、各構成が有する機能は、他の構成によって実現されてもよい。例えば、サーバー200において実行されるものとして説明した処理の少なくとも一部は、情報処理端末100やその他の装置によって実行されてもよい。また、情報処理端末100の機能をサーバー200に包含させることで、情報処理端末100を省略してもよい。
【0109】
また、上記の実施形態におけるフローチャートの処理単位は、各処理の理解を容易にするために、主な処理内容に応じて分割したものである。処理ステップの分割の仕方によって、本願発明が制限されることはない。各処理は、さらに多くの処理ステップに分割されることもできる。1つの処理ステップが、さらに多くの処理を実行してもよい。また、複数のステップが同時に、または組み合わさって実行されてもよい。
【0110】
上述した実施形態に係るシステムにおける各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、例えば、フレキシブルディスクおよびCD-ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、システムの一機能としてその装置のソフトウェアに組み込まれてもよい。
【符号の説明】
【0111】
100 情報処理端末、
110 CPU、
120 ROM、
130 RAM、
140 ストレージ、
150 通信インターフェース、
160 操作表示部、
200 サーバー、
210 CPU、
211 受付部、
212 シフト生成部、
213 達成評価部、
214 影響予測部、
215 提示部、
220 ROM、
230 RAM、
240 ストレージ、
250 通信インターフェース。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8A
図8B
図9
図10
図11