(57)【要約】      （修正有）【課題】介護医療サービスに関して従来よりも柔軟なスケジューリングを行うことが可能になるスケジューリング装置、スケジューリング方法、及びスケジューリングプログラムを提供する。【解決手段】。スケジューリング装置１は、記憶部１０と、設定部１１と、決定部１２と、変数管理部１３と、を備えている。決定部１２は、複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する。【選択図】図１
2020160758.tif 000002
【特許請求の範囲】
【請求項１】
介護医療サービスを提供する複数の提供者のスケジュールを組むスケジューリング装置であって、
複数の利用者に対する複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する決定部を備えている、
ことを特徴とするスケジューリング装置。
【請求項２】
上記複数の提供者には、人間とロボットとが含まれており、
上記決定部は、上記ペアリングパターンとして、ロボットには提供不能なサービスとロボットとのペア、及び、人間には提供不能なサービスと人間とのペアを含まないペアリングパターンを決定する、
ことを特徴とする請求項１に記載のスケジューリング装置。
【請求項３】
上記決定部は、複数のタイムスロットの各々について、該タイムスロットにおいて提供するべき複数のサービスの各々と上記複数の提供者の各々とをペアリングパターンからなる集合を上記母集合とし、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する、
ことを特徴とする請求項１又は２に記載のスケジューリング装置。
【請求項４】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成するサービスの優先順位を表す優先度を変数として含む、
ことを特徴とする請求項１〜３の何れか１項に記載のスケジューリング装置。
【請求項５】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成する提供者と該ペアを構成するサービスの利用者との相性を表す相性値を変数として含む、
ことを特徴とする請求項１〜４の何れか１項に記載のスケジューリング装置。
【請求項６】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成する提供者に蓄積された疲労を表す疲労度を変数として含む、
ことを特徴とする請求項１〜５の何れか１項に記載のスケジューリング装置。
【請求項７】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成するサービスを提供する際に該ペアを構成する提供者に掛かる負荷を表す負荷値を変数として含む、
ことを特徴とする請求項１〜６の何れか１項に記載のスケジューリング装置。
【請求項８】
上記決定部は、上記複数の提供者を入札者とし、上記複数のサービスを財とする組み合わせオークションアルゴリズムを用いて、上記ペアリングパターンを決定する、
ことを特徴とする請求項１〜７の何れか１項に記載のスケジューリング装置。
【請求項９】
介護医療サービスを提供する複数の提供者のスケジュールを組むスケジューリング方法であって、
複数の利用者に対する複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する決定工程を含んでいる、
ことを特徴とするスケジューリング方法。
【請求項１０】
コンピュータを請求項１〜８の何れか１項に記載のスケジューリング装置として動作させるためのスケジューリングプログラムであって、該コンピュータを上記スケジューリング装置が備える各部として機能させるスケジューリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、介護医療サービスを提供する提供者のスケジューリングを行うスケジューリング装置、スケジューリング方法、及びスケジューリングプログラムに関する。
【背景技術】
【０００２】
介護医療サービスを提供する介護医療施設を効率的に運営するためには、サービスを提供する提供者のスケジューリングが重要になる。
【０００３】
特許文献１には、介護スタッフのスケジューリングを行う介護スケジュール作成システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２３０６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の介護スケジュール作成システムにおいては、スケジューリングの柔軟性に欠けるという問題があった。
【０００６】
例えば、介護医療施設においては、（１）サービスを提供する提供者とサービスを利用する利用者との相性、（２）サービスを提供する提供者の負荷、（３）提供するサービスの優先順位、（４）サービスを提供する提供者に蓄積した疲労などを考慮に入れた柔軟なスケジューリングが求められる。しかしながら、特許文献１に記載の介護スケジュール作成システムでは、そのような要求に応えることができない。
【０００７】
本発明の一態様は、上記の問題に鑑みてなされたものであり、介護医療サービスに関して従来よりも柔軟なスケジューリングを行うことが可能なスケジューリング装置、スケジューリング方法、及びスケジューリングプログラムを実現することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るスケジューリング装置は、介護医療サービスを提供する複数の提供者のスケジュールを組むスケジューリング装置であって、複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する決定部を備えている。
【０００９】
本発明の一態様に係るスケジューリング方法は、介護医療サービスを提供する複数の提供者のスケジュールを組むスケジューリング方法であって、複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する決定工程を含んでいる。
【発明の効果】
【００１０】
本発明の一態様によれば、介護医療サービスに関して従来よりも柔軟なスケジューリングを行うことが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るスケジューリング装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係るスケジューリング方法の流れを示すフローチャートである。
【図３】図２のスケジューリング処理を用いて、３人の利用者Ｕ１，Ｕ２，Ｕ３に提供するサービスに対して３人の提供者Ｐ１，Ｐ２，Ｐ３を割り当てた結果を例示するスケジュールチャートである。
【図４】図２に示すスケジューリング方法の一実施例を示すグラフである。
【図５】図２に示すスケジューリング方法の一実施例を示すグラフである。
【発明を実施するための形態】
【００１２】
（スケジューリング装置の構成）
本発明の一実施形態に係るスケジューリング装置１について、図１を参照して説明する。図１は、スケジューリング装置１の構成を示すブロック図である。
【００１３】
スケジューリング装置１は、介護医療施設において介護医療サービスを提供する提供者のスケジュールを組むための装置である。なお、本明細書において、介護医療サービスとは、介護及び医療の一方又は両方を目的とするサービスのことを指す。また、介護医療施設とは、介護及び医療の一方又は両方を目的とする施設のことを指す。
【００１４】
本実施形態においては、サービスを提供する提供者として、複数の提供者Ｐ１，Ｐ２，…，ＰＩを想定する。ここで、Ｉは、提供者数を表す２以上の自然数である。これらの提供者Ｐ１，Ｐ２，…，ＰＩには、介護士や看護師などの人間の他に、介護ロボットや看護ロボットなどのロボットが含まれ得る。また、本実施形態においては、サービスを利用する利用者として、複数の利用者Ｕ１，Ｕ２，…，ＵＪを想定する。ここで、Ｊは、利用者数を表す２以上の自然数である。これらの利用者Ｕ１，Ｕ２，…，ＵＪには、利用者個人の他に、利用者集団（不特定多数の利用者を単一の利用者として扱う）が含まれ得る。また、各利用者Ｕｊ（ｊ＝１，２，…，Ｍ）に提供するサービスとして、少なくとも１つのサービスＳｊ１，Ｓｊ２，…，ＳｊＫｊを想定する。ここで、Ｋｊは、利用者Ｕｊに提供するサービス数を表す１以上の自然数である。個人利用者に提供するサービスとしては、例えば、食事の介護、入浴の介護、トイレの介護、診察の介護等のサービスが挙げられる。集団利用者に提供するサービスとしては、例えば、見回り、体操指導等のサービスが挙げられる。また、スケジューリング対象期間Ｔとして、少なくとも１つのタイムスロットＴ１，Ｔ２，…，ＴＬを含む期間を想定する。ここで、Ｌは、スケジューリング対象期間Ｔに含まれるタイムスロット数を表す１以上の自然数である。本実施形態において、スケジューリングとは、各提供者Ｐｉに対してサービスＳｊｋを割り当てる処理を指す。スケジューリング装置１は、例えば、介護医療施設に設置され、その介護医療施設に勤務する人間、及び、その介護医療施設が使用するロボットのスケジューリングに利用される。
【００１５】
スケジューリング装置１は、図１に示すように、記憶部１０と、設定部１１と、決定部１２と、変数管理部１３と、を備えている。例えば、汎用コンピュータを利用してスケジューリング装置１を実現する場合には、その汎用コンピュータが備えているメモリを記憶部１０として用い、その汎用コンピュータが備えているプロセッサを設定部１１、決定部１２、及び変数管理部１３として用いればよい。
【００１６】
記憶部１０には、各利用者Ｕｊに対応するサービステーブルＳＴｊが記憶されている。各利用者Ｕｊに対応するサービステーブルＳＴｊには、例えば、その利用者Ｕｊに提供する各サービスＳｊｋについて、（１）そのサービスＳｊｋの番号、（２）そのサービスＳｊｋの種別、（３）そのサービスＳｊｋを提供するタイムスロット、（４）そのサービスＳｊｋの提供に要する作業時間、（５）そのサービスＳｊｋの優先順位を表す優先度、及び（６）そのサービスＳｊｋを提供する際に各提供者Ｐｉに掛かる負荷を表す負荷値が格納されている。なお、各提供者Ｐｉに掛かる負荷が一律の場合、その負荷を表す単一の負荷値をサービステーブルＳＴｊに格納してもよい。また、提供者Ｐｉがロボットである場合、そのサービスＳｊｋを提供する際にそのロボットが消費する電力を負荷としてサービステーブルＳＴｊに格納してもよい。下記の表１に、サービステーブルＳＴｊの内容を例示する。
【００１７】
【表１】
2020160758.tif 000003
【００１８】
更に、記憶部１０には、提供者テーブルＰＴが記憶されている。提供者テーブルＰＴには、例えば、各提供者Ｐｉについて、その提供者Ｐｉの稼働時間が格納されている。提供者Ｐｉが人間である場合、例えば、スケジューリング対象期間Ｔから、休憩時間を除いた時間（期間）が稼働時間となる。一方、提供者Ｐｉがロボットである場合、例えば、スケジューリング対象期間Ｔから、充電時間などのメインテナンス時間を除いた時間（期間）が稼働時間となる。下記の表２に、提供者テーブルＰＴの内容を例示する。
【００１９】
【表２】
2020160758.tif 000004
【００２０】
更に、記憶部１０には、相性テーブルＡＴが記憶されている。相性テーブルＡＴには、例えば、各利用者Ｕｊと各提供者Ｐｉと相性を表す相性値が格納されている。下記の表３に、相性テーブルＡＴの内容を例示する。
【００２１】
【表３】
2020160758.tif 000005
【００２２】
設定部１１は、各タイムスロットＴｌについて、複数の提供者Ｐ１，Ｐ２，…，ＰＩのうち、そのタイムスロットＴｌにおいて稼働可能な提供者の各々と、複数のサービスＳ１１，Ｓ１２，…，ＳＭＫＭのうち、そのタイムスロットＴｌにおいて提供するサービスの各々とをペアリングするペアリングパターンの集合を、そのタイムスロットＴｌに対応する母集合Ｘｌとして設定する。
【００２３】
本実施形態において、設定部１１は、各タイムスロットＴｌにおいて稼働可能な提供者を特定するために、例えば、提供者テーブルＰＴに格納された、各提供者Ｐｉの稼働時間を参照する。また、設定部１１は、各タイムスロットＴｌにおいて提供するサービスを特定するために、例えば、各サービステーブルＳＴｊに格納された、各サービスＳｊｋの提供するタイムスロットを参照する。
【００２４】
なお、設定部１１は、各タイムスロットＴｌに対応する母集合Ｘｌとして、（１）そのタイムスロットＴｌにおいて稼働可能な提供者の各々と、そのタイムスロットＴｌにおいて提供するサービスの各々とをペアリングする全てのペアリングパターンからなる集合Ａを、そのタイムスロットＴｌに対応する母集合Ｘｌとして設定してもよいし、（２）集合Ａから、ロボットには提供不能なサービスとロボットとのペア、又は、人間には提供不能なサービスと人間とのペアを含むペアリングパターンを除いた集合Ｂを、そのタイムスロットＴｌに対応する母集合Ｘｌとして設定してもよい。
【００２５】
決定部１２は、設定部１１にて設定された母集合Ｘｌに属するペアリングパターンの中で、予め定められた効用関数Ｕを最大化する最良ペアリングパターンを決定する。本実施形態において、効用関数Ｕは、母集合Ｘｌに属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、以下の変数を含む。
【００２６】
相性値ａｉｊ：ペアリングパターンに含まれる各ペア（Ｐｉ，Ｓｊｋ）について、そのペア（Ｐｉ，Ｓｊｋ）を構成する提供者Ｐｉと、そのペア（Ｐｉ，Ｓｊｋ）を構成するサービスＳｊｋの利用者Ｕｊとの相性を表す数値である。本実施形態において、相性値ａｉｊは、提供者Ｐｉと利用者Ｕｊとの相性が良いほど高い値に、提供者Ｐｉと利用者Ｕｊとの相性が悪いほど低い値に設定される。なお、相性値ａｉｊは、０以上Ｍ以下の値を取るように規格化されている。
【００２７】
本実施形態において、決定部１２は、各ペア（Ｐｉ，Ｓｊｋ）に対応する相性値ａｉｊとして、例えば、相性テーブルＡＴに格納された、提供者Ｐｉと利用者Ｕｊとの相性値を利用する。相性値ａｉｊを効用関数Ｕの変数に含めることによって、利用者Ｕｊと提供者Ｐｉとの相性を考慮に入れたスケジューリングを実施することが可能になる。
【００２８】
負荷値ｂｉｊｋ：ペアリングパターンに含まれる各ペア（Ｐｉ，Ｓｊｋ）について、そのペア（（Ｐｉ，Ｓｊｋ）を構成するサービスＳｊｋを提供する際に、そのペア（Ｐｉ，Ｓｊｋ）を構成する提供者Ｐｉに掛かる負荷を表す数値である。本実施形態において、負荷値ｂｉｊｋは、提供者Ｐｉに掛かる負荷が大きいほど高い値に、提供者Ｐｉに係る負荷が小さいほど低い値に設定される。なお、負荷値ｂｉｊｋは、相性値ａｉｊと同様、０以上Ｍ以下の値を取るように規格化されている。
【００２９】
本実施形態において、決定部１２は、各ペア（Ｐｉ，Ｓｊｋ）に対応する負荷値ｂｉｊｋとして、例えば、利用者Ｕｊに対応するサービステーブルＳＴｊに格納された、サービスＳｊｋを提供する際に提供者Ｐｉに掛かる負荷値を利用する。負荷値ｂｉｊｋを効用関数Ｕの変数に含めることによって、提供者Ｐｉに掛かる負荷を考慮に入れたスケジューリングを実施することが可能になる。
【００３０】
優先度ｃｊｋｌ：ペアリングパターンに含まれる各ペア（Ｐｉ，Ｓｊｋ）について、タイムスロットＴｌにおけるそのペア（Ｐｉ，Ｓｊｋ）を構成するサービスＳｊｋの優先順位を表す数値である。本実施形態において、優先度ｃｊｋｌは、サービスＳｊｋの優先順位が高いほど高い値に、サービスＳｊｋの優先順位が低いほど低い値に設定される。なお、優先度ｃｊｋｌは、相性値ａｉｊ及び負荷値ｂｉｊｋと同様、０以上Ｍ以下の値を取るように規格化されている。
【００３１】
本実施形態において、決定部１２は、各ペア（Ｐｉ，Ｓｊｋ）に対応する優先度ｃｊｋｌとして、例えば、利用者Ｕｊに対応するサービステーブルＳＴｊに格納された、サービスＳｊｋの優先度を利用する。優先度ｃｊｋを効用関数Ｕの変数に含めることによって、サービスＳｊｋの優先順位を考慮に入れたスケジューリングを実施することが可能になる。
【００３２】
疲労度ｄｊ：ペアリングパターンに含まれる各ペア（Ｐｉ，Ｓｊｋ）について、そのペア（Ｐｉ，Ｓｊｋ）を構成する提供者Ｐｉに蓄積された疲労を表す数値である。本実施形態において、疲労度ｄｊは、提供者Ｐｉに蓄積された疲労が多いほど高い値に、提供者Ｐｉに蓄積された疲労が少ないほど低い値に設定される。なお、疲労度ｄｊは、相性値ａｉｊ、負荷値ｂｉｊｋ、及び優先度ｃｊｋｌと同様、０以上Ｍ以下の値を取るように規格化されている。
【００３３】
本実施形態において、決定部１２は、各ペア（Ｐｉ，Ｓｊｋ）に対応する疲労度ｄｊとして、例えば、現タイムスロットＴｌ以前のタイムスロットＴ１，Ｔ２，…，Ｔｌ−１において提供者Ｐｉに割り当てたサービスＳｊｋの負荷値ｂｉｊｋの合計を、値が０以上Ｍ以下となるように規格化したものを利用する。疲労度ｄｊを効用関数Ｕの変数に含めることによって、提供者Ｐｉに蓄積された疲労を考慮に入れたスケジューリングを実施することが可能になる。
【００３４】
上述した４つの変数を含む線形効用関数Ｕは、例えば、下記の式（１）及び式（２）により与えられる。下記の式（１）において、ｗ１，ｗ２，ｗ３，ｗ４は、それぞれ、上述した４つの変数の各々に対する係数である。これらの係数ｗ１，ｗ２，ｗ３，ｗ４は、それぞれ、０以上１以下の任意の実数に設定することが可能である。
【００３５】
【数１】
2020160758.tif 000006
【００３６】
【数２】
2020160758.tif 000007
【００３７】
なお、ここでは、効用関数Ｕに含める変数として、相性値ａｉｊ、負荷値ｂｉｊｋ、優先度ｃｊｋｌ、及び疲労度ｄｊを例示したが、効用関数Ｕに含め得る変数は任意であり、例示した変数に限定されない。例えば、提供者Ｐｉの現在位置からサービスＳｊｋの提供場所（利用者Ｕｊの居場所）までの移動距離又は移動時間を効用関数Ｕの変数に含めることができる。この場合、提供者Ｐｉの移動距離又は移動時間を考慮したスケジューリング処理を実施することが可能になる。
【００３８】
変数管理部１３は、各タイムスロットＴｌにおけるスケジューリング処理を実行するために、設定部１１及び決定部１２を繰り返し動作させるための各種変数を管理する。変数管理部１３の機能については、後述する。
【００３９】
（スケジューリング処理の流れ）
スケジューリング装置１が実行するスケジューリング処理Ｓ１の流れについて、図２を参照して説明する。図２は、スケジューリング処理Ｓ１の流れを示すフローチャートである。
【００４０】
スケジューリング処理Ｓ１は、図２に示すように、タイムスロット初期化処理Ｓ１０、サービス提供時間更新処理Ｓ１１、提供者選択処理Ｓ１２と、サービス選択処理Ｓ１３と、母集合設定処理Ｓ１４と、ペアリングパターン決定処理Ｓ１５と、追加割当要否判定処理Ｓ１６と、タイムスロット更新処理Ｓ１７と、終了判定処理Ｓ１８と、を含んでいる。
【００４１】
タイムスロット初期化処理Ｓ１０は、変数管理部１３が、現タイムスロットＴｌの番号を表す変数ｌ（エル）の値を１に初期化する処理である。
【００４２】
サービス提供時間更新処理Ｓ１１は、変数管理部１３が、各提供者Ｐｉの現タイムスロットＴｌにおけるサービス提供時間を管理する変数ｇｉの値を更新する処理である。現タイムスロットＴｌにおける１回目のサービス提供時間更新処理Ｓ１１では、変数ｇｉの値が０に初期化される。現タイムスロットＴｌにおける２回目以降のサービス提供時間更新処理Ｓ１１では、直前のペアリングパターン決定処理Ｓ１５にて提供者Ｐｉに割り当てられたサービスＳｊｋの作業時間が変数ｇｉの値に加算される。
【００４３】
提供者選択処理Ｓ１２は、設定部１１が、提供者Ｐ１，Ｐ２，…，ＰＩの中から、現タイムスロットＴｌにおいて稼働可能な提供者を選択する処理である。提供者選択処理Ｓ１２は、例えば、記憶部１０に格納された提供者テーブルＰＴにおいて、稼働時間として現タイムスロットＴｌを含む期間が設定された提供者を抽出することによって実現される。なお、現タイムスロットＴｌにおける２回目以降の提供者選択処理Ｓ１２においては、現タイムスロットＴｌにおいて稼働可能な提供者の中で、変数ｇｉの値が現タイムスロットＴｌの継続時間以下である提供者Ｐｉのみが選択される。
【００４４】
サービス選択処理Ｓ１３は、設定部１１が、サービスＳｊ１，Ｓｊ２，…，ＳｊＫｊの中から、現タイムスロットＴｌにおいて提供するべきサービスを選択する処理である。サービス選択処理Ｓ１３は、例えば、各利用者Ｕｊに対応するサービステーブルＳＴｊにおいて、提供期間として現タイムスロットＴｌに含まれる期間が設定されたサービスを抽出することによって実現される。
【００４５】
母集合設定処理Ｓ１４は、設定部１１が、現タイムスロットＴｌに対応する母集合Ｘｌとして、提供者選択処理Ｓ１２にて選択された提供者Ｐｉとサービス選択処理Ｓ１３にて選択されたサービスＳｊｋとをペアリングするペアリングパターンからなる集合を設定する処理である。このペアリングパターンには、提供者選択処理Ｓ１２にて選択された全ての提供者Ｐｉに対して、サービス選択処理Ｓ１３にて選択されたサービスＳｊｋの何れかがペアリングされるという制約条件が課されてもよい。母集合設定処理Ｓ１４は、例えば、（１）現タイムスロットＴｌに対応する母集合Ｘｌとして、サービス選択処理にて選択されたサービスＳｊｋと提供者選択処理にて選択された提供者Ｐｉとをペアリングする全てのペアリングパターンを含む集合Ａを設定することによって、或いは、（２）現タイムスロットＴｌに対応する母集合Ｘｌとして、集合Ａから、ロボットには提供不能なサービスとロボットとのペア、又は、人間には提供不能なサービスと人間とのペアを含むペアリングパターンを除いた集合Ｂを設定することによって実現される。なお、サービスＳｊｋがロボット又は人間により提供不能であるか否かは、例えば、サービステーブルＳＴｊに登録されたサービスＳｊｋの種別に基づいて判定すれば良い。
【００４６】
ペアリングパターン決定処理Ｓ１５は、決定部１２が、母集合設定処理Ｓ１４にて設定された母集合Ｘｌに属するペアリングパターンの中で、予め定められた効用関数Ｕを最大化するペアリングパターンを決定する処理である。効用関数Ｕとしては、例えば、上述した式（１）及び式（２）により定義される線形効用関数を用いればよい。また、効用関数を最大化するペアリグンパターンを決定するアルゴリズムとしては、例えば、提供者を入札者とし、サービスを財とする組み合わせオークションアルゴリズムを用いればよい。これにより、各サービスＳｊｋに対して、効用関数を最大化するペアリングパターンにおいてそのサービスＳｊｋとペアになる提供者Ｐｉが割り当てられたことになる。
【００４７】
なお、上述した母集合設定処理Ｓ１４において、母集合Ｘｌとして上述した集合Ａを設定すると共に、ペアリングパターン決定処理Ｓ１５において、ロボットには提供不能なサービスとロボットとのペア、又は、人間には提供不能なサービスと人間とのペアに対して効用値０を設定することによっても、上述した母集合設定処理Ｓ１４において、母集合Ｘｌとして上述した集合Ｂを設定するのと同様の効果が得られる。
【００４８】
追加割当要否判定処理Ｓ１６は、変数管理部１３が、上述した提供者選択処理Ｓ１２、サービス選択処理Ｓ１３、母集合設定処理Ｓ１４、及びペアリングパターン決定処理Ｓ１５を再実行するか否かを判定する処理である。追加割当要否判定処理Ｓ１６は、例えば、変数ｇｉの値が現タイムスロットＴｌの継続時間（例えば、タイムスロットが８：００〜９：００の場合は１時間）以下である提供者Ｐｉが残っているときには「再実行要」、そうでないときには「再実行不要」と判定することによって実現される。追加割当要否判定処理Ｓ１６において「再実行要」と判定された場合、上述した提供者選択処理Ｓ１２、サービス選択処理Ｓ１３、母集合設定処理Ｓ１４、及びペアリングパターン決定処理Ｓ１５が再実行される。
【００４９】
タイムスロット更新処理Ｓ１７は、変数管理部１３が、現タイムスロットＴｌの番号を表す変数ｌ（エル）の値に１を加算する処理である。
【００５０】
終了判定処理Ｓ１８は、変数管理部１３が、現タイムスロットＴｌの番号を表す変数ｌ（エル）がタイムスロット数Ｌに一致しているか否かを判定する処理である。変数ｌ（エル）がタイムスロット数Ｌに一致していない場合には、上述したサービス提供時間更新処理Ｓ１１、提供者選択処理Ｓ１２、サービス選択処理Ｓ１３、母集合設定処理Ｓ１４、ペアリングパターン決定処理Ｓ１５、追加割当要否判定処理Ｓ１６、及びタイムスロット更新処理Ｓ１７が再実行される。変数ｌ（エル）がタイムスロット数Ｌに一致している場合には、スケジューリング処理Ｓ１が終了する。
【００５１】
なお、以上のスケジューリング処理Ｓ１では、各タイムスロットＴｌについて、更なるサービスＳｊｋを提供可能な提供者Ｐｉがいなくなるまで、提供者選択処理Ｓ１２、サービス選択処理Ｓ１３、母集合設定処理Ｓ１４、及びペアリングパターン決定処理Ｓ１５が繰り返し実行される。このため、各サービスＳｊｋに対して２人以上の提供者Ｐｉが割り当てられ得る。これにより、各提供者Ｐｉについて、サービスＳｊｋが割り当てられていない空き時間を減らすことが可能になる。
【００５２】
図３は、スケジューリング処理Ｓ１を用いて、３人の利用者Ｕ１，Ｕ２，Ｕ３に提供するサービスに対して、３人の提供者Ｐ１，Ｐ２，Ｐ３を割り当てた結果を例示するスケジュールチャートである。例えば、タイムスロットＴ１（８：００〜９：００）において、（１）利用者Ｕ１に提供するサービスＳ１１（食事）には、提供者Ｐ１が割り当てられ、（２）利用者Ｕ２に提供するサービスＳ２１（食事）には、提供者Ｐ２が割り当てられ、（３）利用者Ｕ３に提供するサービスＳ３１（食事）及びサービスＳ３２（トイレ）には、提供者Ｐ３が割り当てられている。
【００５３】
以上のように、スケジューリング処理Ｓ１を用いれば、各利用者Ｕｊと各提供者Ｐｉとの相性、各提供者Ｐｉに掛かる負荷、各提供者Ｐｉの疲労度、及び各サービスＳｊｋの優先度を考慮したスケジューリングを、効率的に行うことが可能になる。
【００５４】
なお、ここでは、利用者Ｕ１，Ｕ２，…，ＵＪに提供するべきサービスＳ１１，Ｓ１２，…，ＳＪＫＪがスケジューリング処理Ｓ１を実行する前に予め定められているものとして、スケジューリング処理Ｓ１の流れを説明したが、これに限定されない。すなわち、各利用者Ｕｊからの要求（例えば、ナースコール）に応じて、その利用者Ｕｊに提供するサービスＳｊｋが事後的に追加されてもよいし、提供者Ｐｉからの要求に応じて、その提供者Ｐｉの稼働時間が事後的に変更されてもよい。
【００５５】
（実施例）
上述したスケジューリング処理Ｓ１の一実施例について説明する。
【００５６】
本実施例においては、８人の提供者Ｐ１〜Ｐ８のスケジュールを組むスケジューリング処理Ｓ１を実施した。８人の提供者Ｐ１〜Ｐ８は、ロボットでなく、人間であった。８人の提供者Ｐ１〜Ｐ８のうち、２人の勤務形態は、「日勤」であった。また、８人の提供者Ｐ１〜Ｐ８のうち、他の２人の勤務形態は、早出勤であった。また、８人の提供者Ｐ１〜Ｐ８のうち、他の３人の勤務形態は、遅出勤であった。また、８人の提供者Ｐ１〜Ｐ８のうち、残りの１人の勤務形態は、夜勤であった。勤務形態ごとの業務開始時刻、業務終了時刻、休憩開始時刻、及び休憩終了時刻は、下記の表４の通りであった。上述した提供者テーブルＰＴは、下記の表４に従って設定した。
【００５７】
【表４】
2020160758.tif 000008
【００５８】
また、本実施例において、サービスを利用する利用者は、利用者Ｕ１〜Ｕ９の９人であった。上述した相性テーブルＡＴは、下記の表５に従って設定した。なお、下記の表５における利用者ｉは、利用者Ｕｉに対応し、下記の表５における提供者ｊは、提供者Ｐｊに対応する。
【００５９】
【表５】
2020160758.tif 000009
【００６０】
また、本実施例において、タイムスロットは、下記の表６に従って設定した。なお、提供するべきサービスの数は、特定の時刻を過ぎると減少する傾向がある。このため、その時刻以後のタイムスロットの長さを、その時刻以前のタイムスロットの長さよりも長く設定することで、スケジューリング処理Ｓ１をより効率的に実行することが可能である。本実施例においては、１８時以降のタイムスロットの長さ（３時間）を、１８時以前のタイムスロットの長さ（２時間）よりも長く設定した。
【００６１】
【表６】
2020160758.tif 000010
【００６２】
また、本実施例においては、利用者Ｕ１〜Ｕ９の各々に対して一律に下記の表７に示すＮｏ．１からＮｏ．１５までのサービスを提供するものとした。これらのサービスについては、一人の利用者に対する一つのサービスに、一人の提供者を割り当てるものとした。また、本実施例においては、利用者集団に対して下記の表７に示すＮｏ．１６からＮｏ．２０までのサービスを提供するものとした。これらのサービスについては、一つのサービスに、一人以上の提供者を割り当てるものとした。各利用者Ｕｊ及び利用者集団に対応する上述したサービステーブルＳＴｊは、下記の表７に従って設定した。なお、各サービスに対応するタイムスロットは、表中の開始時刻以前に始まり、終了時刻以後に終わるタイムスロットを選択した。また、各サービスに対応する優先度は、全て同一の値（例えば、１）に設定した。
【００６３】
【表７】
2020160758.tif 000011
【００６４】
以上のように設定した提供者テーブルＰＴ、相性テーブルＡＴ、及びサービステーブルＳＴ１〜ＳＴ９を用いて、本実施例に係るスケジューリング処理Ｓ１を実行した。また、本実施例に係るスケジューリング処理Ｓ１と比較するために、同一の条件の下でルールベースのスケジューリング処理（以下、比較例に係るスケジューリング処理と記載する）を実行した。比較例に係るスケジューリング処理においては、「負荷最大サービス優先」をルールとして採用した。ここで、「負荷最大サービス優先」とは、ある時刻において手の空いている提供者Ｐｉが次に実施するサービスを選択する際、表７に記載の作業負荷が最大のサービスを選択するというルールである。
【００６５】
図４は、本実施例に係るスケジューリング処理Ｓ１により決定されたスケジュール、及び、比較例に係るスケジューリング処理により決定されたスケジュールの各々において、相性値の合計を利用者Ｕｊ毎に示したグラフである。ここで、利用者Ｕｊに対する相性値の合計は、各提供者Ｐｉとその利用者Ｕｊとの相性値ａｉｊの合計、すなわち、ａ１ｊ＋ａ２ｊ＋…＋ａ８ｊを表す。
【００６６】
図４に示したグラフによれば、一部の例外（利用者Ｕ３の相性値の合計）を除き、本実施例に係るスケジューリング処理Ｓ１により決定されたスケジュールの方が、比較例に係るスケジューリング処理により決定されたスケジュールよりも、相性値の合計が大きくなっていることが分かる。換言すれば、本実施例に係るスケジューリング処理Ｓ１の方が、比較例に係るスケジューリング処理よりも、多くの利用者にとって満足感を抱き易いスケジュールを組めることが分かる。
【００６７】
図５は、本実施例に係るスケジューリング処理Ｓ１により決定されたスケジュール、及び、比較例に係るスケジューリング処理により決定されたスケジュールの各々において、疲労度（負荷値の合計）を提供者Ｐｉ毎に示したグラフである。
【００６８】
図５に示したグラフによれば、本実施例に係るスケジューリング処理Ｓ１により決定されたスケジュールの方が、比較例に係るスケジューリング処理により決定されたスケジュールよりも、各提供者Ｐｉの疲労度のばらつきが小さくなっていることが分かる。換言すれば、本実施例に係るスケジューリング処理Ｓ１の方が、比較例に係るスケジューリング処理よりも、各提供者Ｐｉにとって不公平感を抱き難いスケジュールを組めることが分かる。これは、比較例に係るスケジューリング処理が作業負荷のみに着目した処理であるのに対して、本実施例に係るスケジューリング処理Ｓ１は、作業負荷及び疲労度を考慮した処理であり、疲労が蓄積した提供者には負荷の低いサービスが割り当てられ、疲労が蓄積していない提供者には負荷の高いサービスが割り当てられる可能性が高くなるからである。
【００６９】
（プログラムを用いた実施）
スケジューリング装置１の制御ブロック（特に、設定部１１、決定部１２、変数管理部１３）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【００７０】
後者の場合、スケジューリング装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００７１】
（まとめ）
本発明の一態様に係るスケジューリング装置は、介護医療サービスを提供する複数の提供者のスケジュールを組むスケジューリング装置であって、複数の利用者に対する複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する決定部を備えている。
【００７２】
上記の構成によれば、効用関数を適宜設定することによって、従来よりも柔軟なスケジューリングを行うことが可能になる。
【００７３】
上記複数の提供者には、人間とロボットとが含まれており、上記決定部は、上記ペアリングパターンとして、ロボットには提供不能なサービスとロボットとのペア、及び、人間には提供不能なサービスと人間とのペアを含まないペアリングパターンを決定する、ことが好ましい。
【００７４】
上記の構成によれば、サービスを提供する提供者に人間及びロボットが含まれている場合においても、適切なスケジューリングを行うことが可能になる。
【００７５】
上記決定部は、複数のタイムスロットの各々について、該タイムスロットにおいて提供するべき複数のサービスの各々と上記複数の提供者の各々とをペアリングパターンからなる集合を上記母集合とし、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する、ことが好ましい。
【００７６】
上記の構成によれば、サービス提供期間に複数のタイムスロットが含まれている場合においても、タイムスロット毎に適切なスケジューリングを行うことが可能になる。
【００７７】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成するサービスの優先順位を表す優先度を変数として含む、ことが好ましい。
【００７８】
上記の構成によれば、提供するサービスの優先順位を考慮に入れたスケジューリングが可能になる。
【００７９】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成する提供者と該ペアを構成するサービスの利用者との相性を表す相性値を変数として含む、ことが好ましい。
【００８０】
上記の構成によれば、サービスを提供する提供者とサービスを利用する利用者との相性を考慮に入れたスケジューリングが可能になる。
【００８１】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成する提供者に蓄積された疲労を表す疲労度を変数として含む、ことが好ましい。
【００８２】
上記の構成によれば、サービスを提供する提供者に蓄積された疲労を考慮に入れたスケジューリングが可能になる。
【００８３】
上記効用関数は、上記母集合に属する各ペアリングパターンに効用値を対応付ける線形効用関数であって、該ペアリングパターンに含まれる各ペアについて、該ペアを構成するサービスを提供する際に該ペアを構成する提供者に掛かる負荷を表す負荷値を変数として含む、ことが好ましい。
【００８４】
上記の構成によれば、サービスを提供する提供者の負荷を考慮に入れたスケジューリングが可能になる。
【００８５】
上記決定部は、上記複数の提供者を入札者とし、上記複数のサービスを財とする組み合わせオークションアルゴリズムを用いて、上記ペアリングパターンを決定する、ことが好ましい。
【００８６】
上記の構成によれば、上記ペアリングパターンの決定を効率的に行うことが可能になる。
【００８７】
本発明の一態様に係るスケジューリング方法は、介護医療サービスを提供する複数の提供者のスケジュールを組むスケジューリング方法であって、複数の利用者に対する複数のサービスの各々と上記複数の提供者の各々とをペアリングするペアリングパターンからなる集合を母集合として、該母集合に属するペアリングパターンの中で予め定められた効用関数を最大化するペアリングパターンを決定する決定工程を含んでいる、ことが好ましい。
【００８８】
上記の方法によれば、効用関数を適宜設定することによって、従来よりも柔軟なスケジューリングを行うことが可能になる。
【００８９】
本発明の一態様に係るスケジューリングプログラムは、コンピュータを上記スケジューリング装置として動作させるためのスケジューリングプログラムであって、該コンピュータを上記スケジューリング装置が備える各部として機能させる。
【００９０】
（付記事項）
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００９１】
１    スケジューリング装置
１０  記憶部
１１  設定部
１２  決定部
１３  変数管理部
【図１】
2020160758.tif 000012
【図２】
2020160758.tif 000013
【図３】
2020160758.tif 000014
【図４】
2020160758.tif 000015
【図５】
2020160758.tif 000016