介護施設のシフト作成を自動化しようとするとき、「再生成」という概念が重要になる。
 

再生成とは、確定済みのシフトを一部固定したまま、変更が必要な範囲だけを再度生成する処理だ。
全体を組み直すのではなく、影響範囲だけを再処理する。
なぜ全体を組み直さずに済むのかを説明する。

再生成が必要になる場面はどういうときか。
月初にシフトを生成した後、新規採用の職員が加わる。
利用者の状態が変わり担当ケアの内容が変わる。
既存の職員の勤務条件が変わる。
こうした変化が生じるたびに、現在のシフトに変更を加える必要がある。

なぜ全体を組み直してはいけないのか。
全体を組み直すということは、すでに職員に共有された配置が変わる可能性があることを意味する。
確定済みの配置が変われば、その配置にいた全員に連絡が必要になる。
新規採用の職員が1名増えただけで、既存の職員全員のシフトが変わる可能性がある。
さらに介護施設では、シフトの変更は利用者へのケア提供計画にも影響する。
これでは現場で運用することはできない。
確定済みの配置は固定したまま、変更が必要な範囲だけを再処理する必要があるのはこのためだ。

再生成の仕組みはどうなっているのか。
管理者が変更が必要な職員や配置を指定すると、その操作内容が状態情報としてシステムに記録される。
この状態情報に基づいて、変更対象リソースとその代替候補だけが探索対象(変数)として定義され、操作対象外の確定済み配置は全て固定対象(定数)として自動的に分離される。
管理者が数百件に及ぶ既存の配置を一つひとつ固定指定しなくても、システムが業務の文脈から自動的に探索範囲を決定する。
これにより全体を組み直すことなく、変更が必要な範囲だけを再処理できる。
こうした仕組みに基づいて、shiftect.は介護施設のシフト作成を自動化することを目指している。

再生成は全体生成・欠勤急変への再調整と同一の制御構造で処理される。
全体生成では全リソースが探索対象になり、再生成では変更範囲だけが探索対象になり、欠勤急変への再調整では影響範囲だけが探索対象になる。
業務の状態に応じて探索対象と固定対象を自動的に切り替えるという制御構造が、全体を組み直さずに済む再生成を可能にしている。