勤務表作成者による修正作業を考慮したナーススケジューリングツールの構築プロフィットエンジニアリング研究 5211F001-5 指導教員 阿部傑大野裕 ABE Takashi 1. 研究目的ナーススケジューリングとは看護師の勤務表を作成する業務である. 提供する看護の質を担保しつつ, 看護師の希望や健康状態を考慮する必要があるため, ナーススケジューリングには多くの制約条件が存在する. しかし多くの医療機関においてナーススケジューリングは手作業で行なわれており,1 勤務表の作成に 5,6 時間程度必要であると言われている. この作業は作成者にとって大きな負担であるため, ナーススケジューリングの自動化ツールへのニーズは高まっている. ナーススケジューリングの自動化に関する従来研究として池上 [1] があり, 現場で用いる上で考慮すべき制約条件のうち, 定式化可能な条件は全て考慮した手法とされている. また, 川中ら [2] は, 絶対条件を考慮した遺伝的アルゴリズムを用いることで, より計算時間が短く実用的なナーススケジューリングツールを構築している. しかし, これらの研究の医療機関における実用化や普及は進んでいない. その原因として修正が困難であることが挙げられる. ナーススケジューリングは制約条件が多く, 全ての制約条件を満たすことは困難であるため, 勤務表が生成された後に, 作成者の判断により制約条件を緩和, 修正する必要がある. また, 個別の能力評価や嗜好性, 個人間の相性など詳細な部分については作成者が修正する必要がある. しかし, 勤務表の修正を行なう場合, 修正の影響が全体に波及するため, 完成した勤務表の修正は, 勤務表作成よりも困難であると述べられている. そこで本研究では, 従来のナーススケジューリング研究における問題点を改善し, 勤務表作成者による修正作業を考慮したナーススケジューリングツールの構築を目的とする. 2. 従来研究 2.1. 池上 [1] 池上 [1] は勤務表作成時に考慮すべき制約条件について調査を行なっている. 対象は東京女子医科大学付属病院において勤務表作成を行なう看護師 40 名である. その結果として制約条件を, ナース拘束条件とシフト拘束条件の大きく 2 つに分類している. ナース拘束条件とは各看護師における勤務や休暇の回数, シフトの並びや休暇希 望に関する条件であり, 各ナースの 1 ヵ月を通じた労働負荷を考慮する制約である. シフト拘束条件とは各勤務帯における看護師数や看護師のスキルレベルに関する制約であり, 各勤務帯において提供する看護の質を守る制約である. なお, どちらの拘束条件にも優先順位があり, 池上 [1] では 絶対守るべき条件, できれば守りたい条件 に分類している. また, 勤務表作成のアルゴリズムとして, 部分問題軸アプローチを提案している. これは個々のナースのシフトを部分問題として解くことで, 各ナースにおけるナース拘束条件を満たした実行可能パターンを生成し, それらを組合わせ, 入替える事により, シフト拘束条件の違反を最小化した全体の勤務表を作成する手法である. 2.2. 川中ら [2] 従来の遺伝的アルゴリズム (GA) 1 は, 交叉を行なう際に実行不可能な解が大量に生成されるため, 探索の効率が低い欠点がある. そこで川中ら [2] は制約条件を優先度に基づいて絶対制約条件と考慮制約条件に分け, 優先度の高い絶対条件を満たしつつ遺伝的演算を行なうことによって, 実行可能解のみを探索範囲とする方法を提案している. これにより探索範囲が縮小されるため, 解探索の効率化, 作成時間の短縮が実現される. 具体的には以下のプロセスで勤務表を作成する. 1. 制約条件を絶対制約と考慮制約に分類 2. 絶対制約を満たすようコーディングを行ない初期解を生成 3. 生成された初期解を個体として, 遺伝的演算を実行 4. 3 で生成された個体を親世代として規定世代数まで遺伝的演算を繰り返し実行なお, 遺伝的演算の際の適応度は, 各考慮制約を満たしている比率と各考慮制約に対する重み係数 ( 重視度 ) の積をとり, それらの総和とする. 交叉は多点交叉を行ない, 生成された 2 つの遺伝子からランダムに 1 遺伝子を選択し, これを増殖した個体とする. また, 個体を淘汰する際, 子世代だけでなく親世代も含めた全個体の中か 1 GeneticAlgorithm の略を指す. 近似解を探索するメタヒューリスティックアルゴリズムの一つである. 解の候補を遺伝子で表現した個体を複数用意し, 適応度の高い個体を優先的に選択, 他の個体を淘汰しつつ, 交叉, 増殖, 突然変異等の操作を繰り返すことで解を探索する手法である. 適応度は関数によって与えられる.
表 1. 本研究の制約条件 シフト制約ナース制約絶対制約各シフトの必要人数禁止シフトパターンの制約 ( 平日, 休日別 ) 週勤務時間 40 時間以内各シフトにリーダーが存在月平均夜勤時間 72 時間以内各看護師の上限夜勤回数考慮制約看護師能力の組み合わせ各看護師の休暇 勤務希望 ( ツール評価 ) 各看護師の休暇回数平準化各看護師の夜勤回数平準化考慮制約看護師個別の相性 ( 作成者評価 ) 看護師個別の勤務への嗜好 ら適応度の高い個体を選択する. これにより淘汰される個体も次世代に遺伝子情報を残しつつ, エリート個体を保存する事が可能である. なお, 突然変異として, 絶対制約を満たすよう勤務の入替えを行なう. 3. 本研究の提案 3.1. 本研究の概要本研究では川中ら [2] に作成者による修正作業を考慮したアルゴリズムを加えることで, より実用的なナーススケジューリングツールを提案する. まず, 制約条件を絶対制約と考慮制約に分類する. 次に, 絶対制約を満たすようにコーディングを行ない, 絶対制約を満たす初期解を生成する. その後, 遺伝的演算により, 考慮制約違反を最小化した準最適解を生成する. そして, 作成者により評価および修正個所の指摘を行なう. 指摘された修正個所と近傍の入替えるアルゴリズムの実行により修正された解を生成する. 作成者による修正個所の指摘, 入替アルゴリズムの実行を繰り返すことにより, 実用に足る勤務表を作成するツールを構築する. 3.2. 制約条件本研究で考慮する制約条件は従来研究および共同研究病院へのヒアリングを基に設定を行なう. 詳細を表 1 に示す. 制約条件は大きく絶対制約および考慮制約に分類する. また, 考慮制約条件のうち, 簡略な条件はツールを用いて評価し, より詳細な条件は作成者によって評価を行なう. 3.3. 定式化勤務表作成問題を penalty 最小化問題として定式化する. 考慮制約を式 1 のように目的関数 (penalty) として表し, 絶対制約を式 6~ 式 12 のように制約条件として表す. これらに基づいて遺伝的演算を行ない, 準最適解を生成する. 以下に定式化と記号の定義を示す. f3= 表 2. 禁止シフトパターン準 日深 深 深準 深準 準 準日 深 min penalty=w 1 f 1 +w 2 f 2 +w 3 f 3 +w 4 f 4 (1) f1= i d ihd/d ih (2) i j x i ij4 f2= j x ij4 i j x ij1 i j x ij1 i 1 + j x ij3 i j x ij3 3 1 (3) 3 (4) f 4 =0.1 d v (5) ここで,f 1 は希望休暇 勤務が満たされていない比率, f 2 は休暇回数の偏り,f 3 は夜勤回数の偏り,f 4 は看護師の組み合わせによる能力不足を示す.w l は各目的関数への重みづけである. また,d ih は勤務 休暇希望日数, d ihd は d ih のうち達成できていない日数である.d v は勤務する看護師能力合計が一定に満たない日数である. なお,x ijk は看護師 i の j 日, 勤務帯 k に, 勤務する場合 1, しない場合 0 となる変数である. 勤務帯 k はそれぞれ 1: 深夜勤,2: 日勤,3: 準夜勤,4: 休暇を示す. は総看護師数, k は各勤務帯の対象看護師数を示す. s.t. i J+7 x ij4 2 i (6) j=j { 8 ( 平日 ) x ij2 5 ( 休日 ) i (7) x ij1 2, x ij3 2 j i i (8) j (x ij1+x ij3 ) 8.5 72 y (9) x ijk +x i(j+1)k <2 i,j (10) x ijk +x i(j+1)k +x i(j+2)k <3 i,j (11) x ijk (1,0), 4 x ijk =1 i,j (12) k=1 ここで, 式 6 は週勤務時間数, 式 7,8 はシフト当たりの必要人数, 式 9 は平均夜勤時間を示す. ただし, y は月に 2 回以上夜勤を行なう看護師数, 式中の 8.5 は 1 勤務当たりの勤務時間でを示す. また, 式 10,11 は禁止シフトパターンの制約を表す. 禁止シフトパターンを表 2 に示す.
図 1. 初期解生成フロー 3.4. 準最適解の生成上述の制約条件および定式化に基づき, 初期解生成および遺伝的演算による準最適解の生成を行なう. 初期解は, 絶対制約を満たすようにコーディングを行ない生成する. 生成フローを図 1 に示す. 遺伝的演算は初期解 20 パターンを個体とし実行する. 交叉方法は 2 点交叉を用い, 突然変異として, 絶対制約を満たすよう勤務の入替えを行なう. 交叉 突然変異により生成した個体および親個体のうち,Penalty の小さい 20 個体を残し残りを淘汰する. 上記のプロセスを規定世代数繰り返し準最適解を得る. 3.5. 修正方法遺伝的演算により生成された準最適解を実用に足るものにするため, 作成者による評価 修正を行なう. 修正作業のフローを図 2 に示す. まず, ツールにより生成された準最適解を勤務表のベースとして利用可能か作成者が判断する. 次に, 修正が必要な箇所を指摘する. その後, 指摘箇所をアルゴリズムによって近傍と入替えることにより, 解の修正を行なう. さらに修正が必要な場合は上記のプロセスを繰り返す. ただし, 指摘箇所の近傍と入替えを実行する際には, 絶対制約を満たし,Penalty を最小化する近傍との入替えを行なう. なお近傍とは同日 他看護師の勤務を指す. 4. 検証 4.1. 実験方法 2012 年 10 月における福島県 A 病院外科病棟の勤務表及び休暇 勤務希望表を用いて, 勤務表の作成実験を行なう. 期間は 31 日, 看護師数は 19 名である. 準最適解の生成では, 規定世代数を 50 とし, 遺伝的演 図 2. 修正フロー 表 3. 目的関数への重みづけ w 1 w 2 w 3 w 4 ウェイト 5.1 3.2 1.2 0.5 算を 1,000 回実行する. その際の適応度 ( 目的関数 ) の重みづけを表 3 に示す. 決定方法は以下の通りである. 作成者である看護師長にヒアリングを行ない, 目的関数の各項目の重視度を一対比較する. 一対比較の結果に階層的意思決定法を用い, ウェイトを決定する. また, 修正作業は実際の作成者によって勤務表の評価修正を行なう. 該当病棟で勤務する看護師の嗜好や特性を考慮した上で, 修正箇所を指摘してもらう. その際, パソコン操作は筆者が行なう. なお, 修正作業にかかる所要時間をストップウォッチを用いて計測する. 4.2. 結果現状の手作業による勤務表作成, 修正を考慮しない自動作成モデル, 本研究の提案モデルを比較対象とする. それらに対して絶対制約違反数, 目的関数値, 作成時間, 実際に行なった修正および作成者による主観評価を比較することにより, 提案モデルの有用性を検証する. 結果を表 4, 表 5, 表 6 に示す. に示す. ただし手作業の作成時間は勤務表作成者らへのヒアリングによる推定値である. 次に, 絶対制約違反に伴いペナルティが発生するとして評価した際の, 各モデルにおける目的関数値の比較を図 3 に示す. なお, 目的関数値は以下の式で表す. 目的関数値 =w a 絶対制約違反数 +Penalty (13) ここで,w a は絶対制約違反に対する重みである.w a を 0.1,0.3,0.5 とした場合の結果を示す. 2 2 Penalty 内の f 4 において, 考慮制約違反 1 箇所につき 0.1 のペナルティを設定しているため, 絶対制約違反については, 同程度以上の Penalty が発生するように設定する.
表 4. 絶対制約違反数 月平均夜勤 週勤務 禁止シフト 作成時間 72 時間以内 40 時間以内 パターン 手作業 16 9 5,6 時間 本研究 ( 修正前 ) 0 0 5 分 本研究 ( 修正後 ) 0 0 57 分 表 5. 目的関数値 f 1 f 2 f 3 f 4 Penalty 休暇 勤務休暇回数夜勤回数能力考慮重みづけ後 希望 平準化 平準化 合計 手作業 0.0 0.5 4.5 0.0 7.1 本研究 ( 修正前 ) 0.9 0.6 3.2 0.0 10.2 本研究 ( 修正後 ) 1.8 0.0 3.8 0.0 13.5 5. 考察表 4, 表 5 より, 作成時間は, 修正作業を考慮することにより増加している. これは, 作成者が生成された準最適解の勤務の並びを確認する必要があるためである. しかし, 現状の手作業による作成時間 5,6 時間に対して, 本研究における作成時間は 57 分であるため,80 % 程度の作成時間削減が達成されている. これにより作成者の業務負担は大幅に削減されると考えられる. また, 目的関数の各項目を見ると, 休暇勤務希望においては本研究よりも手作業が優れている. これは手作業では勤務表作成プロセスとして最初に, 指定勤務を入力するためである. しかし, この作成手順を取ることにより, 手作業では禁止シフトパターン, 週勤務時間に関する絶対制約違反が発生していると考えられる. 図 3 より, 絶対制約違反への重みづけ w a を 0.3 とした時, 本研究と手作業の目的関数値がほぼ等しくなる. したがって, 絶対制約の順守を重視する場合には本研究の勤務表の方が優れていると考えられる. また, 修正を行なうことにより, 目的関数値が増加してしいるが, これは修正作業の際には主に定式化に含まれない条件を考慮し勤務表を完成するためであると考えられる. 表 6 より, 修正作業をツールに組み込むことによって, 夜勤はできるだけ 2 回連続させたい 年齢の高い看護師への大変な勤務の組み合わせは避けたい 同期同士 2 人による夜勤は避けたい と言った, 目的関数に組み込まれていない詳細な条件を考慮した勤務表が作成できたと考えられる. これらの条件は実用の際には考慮が必要である条件であり, より現実に即した勤務の並びが実現可能となると言える. 作成者も 自動で制約違反の内容に修正が行なわれる点は非常に便利である と評価しており, 本研究により修正作業が容易になっていると考えられる. 以上より, 本研究では修正作業を加えることにより, 絶対制約を満たしつつ, 作成者の詳細な希望に沿った勤務 図 3. 目的関数値の比較 表 6. 実行された修正 修正内容 修正対象 修正 1 回目 夜勤が1 日置きに配置されている看護師の修正 看護師 5,7,9,11,15 修正 2 回目 同期同士 2 名による夜勤の修正 看護師 9,10 ベテラン看護師の連続夜勤の修正 看護師 3 修正 3 回目能力組み合わせを考慮し能力の不足している勤務帯に看護師を追加 - 表を作成出来たと言える. これは, 作成者から, 修正を組み込むことにより, 現実に即した勤務の並びを実現できた との評価を得たことからも示される. 6. 結論および今後の課題本研究では, ナーススケジューリングにおける修正作業を考慮することにより, より実用性の高い勤務表作成ツールを構築した. 勤務表作成実験および作成者の主観評価から, 修正作業を考慮する事により現場で用いる際に考慮される詳細な条件も迅速に組み込むことが可能となり, 実用性向上に対して有用である事が示された. また, 今後の課題として他病院における適用, 作成者自身により容易に利用可能なインターフェースの開発が挙げられる. なお, 本研究では, 主観評価は作成者である看護師長のみからヒアリングを行なったが, 現場で働く看護師の評価や要望を踏まえた勤務表の作成も課題として挙げられる. 参考文献 [1] 池上敦子 : ナース スケジューリング - 調査 モデル化 アルゴリズム -, 統計数理,Vol.53,o2,pp.231 259 (2005) [2] 川中普晴, 山本康高, 吉川大弘, 篠木剛, 鶴岡信治 : 遺伝的アルゴリズムを用いた看護婦勤務表の自動作成, 電気学会論文誌 C, 電子 情報 システム部門誌, Vol.122,
o.6, pp.1023 1032(2002)