手術部看護師のスケジューリング支援システムの試作
M2011MM029 伊東美奈
指導教員：鈴木敦夫

はじめにには至らなかった．
そこで，本研究では，従来のような一回の計算で解を得
本研究は，愛知医科大学病院の手術部を対象とした，看るのではなく，複数回の修正を可能とするような，対話的護師の勤務表作成 (以下，ナース・スケジューリング) になアプローチを採用する．対話的なアプローチを採用する
おける支援システムの作成に取り組む．現在，看護師のことで，スケジューリング担当者の経験が反映されやすく勤務表作成は主に手作業で行われている．それゆえ，作なり，導入への抵抗が少なくなると考える．なお，問題解成には多くの時間を要し，スケジューリング担当者の負決にあたっては，オペレーションズ・リサーチの手法である担となっている．そこで，本研究では，作成時間を削減
0-1 整数計画法を用いて定式化を行う．また，支援システし，スケジューリング担当者の負担を軽減させるような，
ムは VBA1 プログラムを用いて Microsoft1 Excel1 上に実スケジューリング支援システムを作成し，スケジューリン
装し，最適化ソフトウェアである IBM2 ILOG2 CPLEX2グの現場に導入してもらうことを目的とする．なお，本Optimization Studio 12.4 を用いて計算を実行する．
研究では，愛知医科大学病院の手術部で，勤務表を作成する際に実際に用いられている作成条件を用いる．
2 看護師の勤務表
ナース・スケジューリング問題とは，看護師の適切な勤務表は，一番左の列に看護師氏名や番号，一番上の勤務表を決定する問題である．病棟看護師は，24 時間途行に日付や曜日が記入される．表中の各セルの中に勤務切れることなくサービスを提供しなければならず，ローを表す記号を記入することで勤務スケジュールが決定すテーションを組み，勤務にあたっている．質の高い医療る．勤務表を列毎に見ていくと各日の各勤務のメンバーサービスを提供するためには，毎日の看護師のメンバーを知ることができ，行毎に見ていくと各看護師のその期を適切に構成しなければならない．看護師の仕事は，人間のスケジュールを知ることができる．勤務表を作成すの生命を左右することから失敗が許されないため，労働る際，もっとも重要とされるのは，毎日の「看護の質」を負荷やスキルレベルなどを考慮して看護師を配置する必一定レベル以上に保たなければならないことである．こ要がある．したがって，勤務表の作成条件は複雑となり，の看護の質を保つための条件として，池上氏の論文 [2] にすべての条件を満たす勤務表を作成することは非常に困従って，以下 2 つが挙げられる．
難である．この問題は，スタッフ・スケジューリングの• 「縦の条件」：毎日の各勤務のメンバー構成で質を中でも最も難しい部類の問題であるとされている [3]．
守る．
看護師の勤務表作成の自動化システムは既に存在し，販•「横の条件」：各看護師についての勤務スケジュール．
売されている．しかし，多くの場合，それらのシステム

1は利用されておらず，紙面や表計算ソフトを用いて手作 これらの条件を基に，以下 5 つのことに従って勤務表を業で行われている．そのためスケジューリング担当者は， 作成する．
作成に多くの時間を費やしている．池上氏のアンケート
1. 勤務や休みの希望を反映させる．
調査 [3] によると，手作業での場合，勤務表作成に平均2. 毎日の各勤務において必要な人数を確保する．
6.8 時間，最大 30 時間を費やしていることが分かってい3. スキルレベルを考慮して各勤務のメンバーを構成する．勤務表作成のためにプライベートの時間を割くことる．
も多くあり，スケジューリング担当者には大きな負担と
4. 各看護師の各勤務の回数を，決められた範囲内におなっている．
さめる．
このようなナース・スケジューリングの問題は数多く研
5. 禁止する勤務パターンを排除する．
究されている．池上氏は，勤務表作成の現場調査を徹底 ここで，2 と 3 は縦の条件である．また，4 と 5 は横の条的に行い，日本のナース・スケジューリングを扱うこと 件である．のできる数理計画モデルを構築した [3]．また，本大学でも過去 2 年にわたり研究されており，これらは共に実際 3 問題解決へのアプローチの病院との共同研究であった [1, 4]．しかし，この 2 つの本研究では，従来の研究方法を見直し，スケジューリ研究では現場へのシステムの導入には至らなかった．そ ング担当者による複数回の修正を可能とするような，対の原因として，すべての条件を満たす解を，一度で求め 話的なアプローチを用いる．
るための定式化を行っていたことが挙げられる．この方従来は，一回の計算で全ての条件を満たす解を求める法では，問題が複雑になり，規模が大きくなってしまう 方法が多く行われていた．この方法では，条件が厳しくことで，解を得るのに長い計算時間がかかる．また，ス なり，解を求めることが難しい．たとえ解を求めることケジューリング担当者の経験が反映されにくく，数値化 ができたとしても，問題が複雑になり，規模が大きくなっできないような条件を定式化に含めることができないた てしまうため，解を得るのに長い計算時間がかかる．そめ，スケジューリング担当者には受け入れがたく，導入 れに加えて，スケジューリング担当者の経験など，定式化が困難なものが反映されにくい．そのため，担当者が 条件によっては，1 日に必要な勤務を，対象となる看護受け入れられる勤務表を作り上げることは難しい．
師にすべて割り当てることができないことが起こり得る
そこで，本研究では，対話的なアプローチを採用する． ため，ダミーの看護師を設ける．できるだけダミーの看具体的には，一回の計算で解を求めるのではなく，スケ 護師には勤務を割り当てたくないため，目的関数は，ダジューリング担当者による複数回の修正を可能とするよ ミーの看護師に割り当てる勤務数の総和の最小化とする．
うな，スケジューリングを支援するシステムを作成する．
4.1 記号の定義
このアプローチでは，問題の規模が大きくなることを防定式化に用いる記号を以下のように定義する．
ぐことができ，スケジューリング担当者の経験が反映さ添え字集合れやすくなる．それゆえ，担当者が受け入れることが可
N ：看護師全員の集合能な勤務表を作り上げることができると考える．また，池N1 ：スケジュール対象となる看護師の集合 N1 ⊂ N
上氏によって行われたアンケート調査 [2] では，「勤務表作N2 ：ダミーの看護師の集合 N2 ⊂ N成を支援してくれるコンピュータ・システムがあったとしたら，どのようなものがよいか」という問いに対して， T ：前スケジュールを含めた日の集合
T = {−5, −4, ..., 0, 1, ..., k}
4 つの選択肢のうちもっとも回答数が多かったのは，「あT1 ：スケジュール対象となる日の集合る程度の条件を満たした勤務表を表示し，後で手直し可
T1 = {1, 2, ..., k} T1 ⊂ T
能なもの」であった．つまり、修正を可能とする対話的
R：看護師のグループの集合なシステムは，スケジューリング担当者に受け入れられ
r = 11：夜勤を行うことができる (ダミー含めない)やすいと考えられる．実際，愛知医科大学病院手術部のr = 12：夜勤を行うことができる (ダミー含める)
ナース・スケジューリング担当者も，このようなシステ
r= 2：ランク A
ムは実際的であると評価している．
r = 3：ランク B
スケジューリング担当者による修正を可能とするシス
r = 4：ランク C
テムを用いた勤務表の作成手順は，以下の通りである．
r = 5：夜勤を行うことができない
1. あらかじめ，希望する勤務や年休などの休みを入力(r = 2, 3, 4 は r = 11, r = 12 に含まれる．)する．
Gr ：グループ r に属する看護師の集合
2. 1 で入力した勤務や休みは必ず割り当て，その他のS ：勤務 (休みを含める) の種類の集合
日に各勤務や週休を割り当てるような，最低限満た
s = 1：週休
s = 9：準夜勤
すべき基本となる勤務表を作成する．
s = 2：日勤 1
s = 10：午前半日
3. 作成した勤務表において，納得のいかない箇所を再
s = 3：日勤 2
s = 11：午後半日度割り当てるために，決定したい箇所の勤務を固定
s = 4：中勤
s = 12：祝日
させ，再度勤務表を作成する．(得られた勤務表の一s = 5：遅番
s = 13：リフレッシュ休暇
部を修正して固定させることも可能である．)
s = 6：早番
s = 14：年休s = 7：夜勤
s = 15：半年休
4. スケジューリング担当者が受け入れ可能な勤務表がs = 8：夜勤明け
得られるまで 3 を繰り返し，最終的な勤務表を作成する．
定数
このように，段階を踏み複数回の修正を可能にすることで，スケジューリング担当者の経験が反映されやすくなり，より実用的なシステムになると考える．

4問題の定式化看護師の割当を行うため，0-1 整数計画法の問題として定式化する．ここで示す定式化は，愛知医科大学病院の手術部における作成条件を用いた場合である．割当を行う際，連続勤務禁止パターンが割り当てられないようにするため，前回の勤務表の最後 6 日間を与える．
前節の勤務表作成手順で示した通り，1 回目の計算を終えた後，勤務表を修正する．その際，勤務表の中で，納得のいかない箇所を再度割り当てるために，決定したい箇所の勤務を固定させる．そのために，2 回目以降の計算
では，固定する箇所を 1，そうでない箇所を 0 とするような定数を設け，固定した勤務は必ず割り当てるような制約を追加する．修正を行わない 1 回目の計算では，この定数をすべて 0 とし，この制約が機能しないようにする．
また，あらかじめ決定する希望の入力の仕方や，縦のa±
st ：t ∈ T1 日の各日勤における看護師の上下限人数
b±st：t ∈ T1 日の日勤 1, 2 を合わせた看護師の上下限人数
cst：t ∈ T1 日の夜勤，準夜勤における看護師の必要人数
d±：
rts t ∈ T1 日の中勤，遅番，夜勤におけるグループ rからの上下限人数
αn±：看護師 n ∈ N1 の 4 週間あたりの合計勤務時間を調整するための上下限値
βn ：看護師 n ∈ N1 の 4 週間あたりの遅番の勤務回数の上限値±γns ：看護師 n ∈ G1 の 4 週間あたりの日勤 2，夜勤の勤務回数の上下限値
δn±：看護師 n ∈ G11 の 4 週間あたりの中勤と夜勤の合計勤務回数の上下限値
ϵn：看護師 n ∈ G11 の 4 週間あたりの中勤と夜勤の勤務回数の差
ζn：看護師 n ∈ G11 の 4 週間あたりの準夜勤の勤務回数の上限値

hs ：勤務 s ∈ S の勤務時間

 1 看護師 n ∈ N1 が t ∈ T1 日に勤務 s ∈ Swnts =を希望する 0 その他の場合

 1 看護師 n ∈ N1 が t ∈ T1 日に勤務 s ∈ S
fnts =を固定する 0 その他の場合

 1 看護師 n ∈ N1 の t ∈ T1 日に指定された
ont =複数の勤務のいずれかを割り当てる 0 その他の場合

 1 看護師 n ∈ N1 が t ∈ T \T1 日に勤務pnts =s ∈ S をする 0 その他の場合決定変数
 1xnts = 04.2

看護師 n ∈ N が t ∈ T 日に勤務 s ∈ Sをする
その他の場合11∑ ∑∑xnts(1)

n∈N2 t∈T1 s=2

∑

−γns
≤

∑xnt5 ≤ βn+xnts ≤ γnst∈T1∑δn− ≤xnt4 +t∈T1−ϵn ≤∑t∈T1n ∈ N1(13)n ∈ G11 , s = 4, 7(14)

t∈T1

∑

xnt7 ≤ δn+n ∈ G11(15)n ∈ G11(16)t∈T1xnt4 −∑∑

xnt7 ≤ ϵnt∈T1

xnt9 ≤ ζnn ∈ G11(17)n ∈ G11 , t ∈ T \{k}(18)xnt9 = xn,t+1,1n ∈ G11 , t ∈ T \{k}∑xnts = 0n ∈ G5 , t ∈ T1

(19)

t∈T1

xnt7 = xn,t+1,8(20)xnt′ s ≤ 6n ∈ N1 , t ∈ T \{k − 5, ..., k} (21)∑n ∈ N, t ∈ T1

xnts = 1(2)s∈Sxnts ≥ min{wnts + fnts , 1}n ∈ N1 , t ∈ T1 , s = 1, ..., 11xnts = min{wnts + fnts , 1}n ∈ N1 , t ∈ T1 , s = 12, ..., 15∑xnts ≥ ontn ∈ N1 , t ∈ T1

(3)

(4)
(5)

s=2,3,4xnts = pntsn ∈ N1 , t ∈ T \T1 , s ∈ S∑a−xnts ≤ a+t ∈ T1 , s = 2, ..., 6st ≤stn∈N∑ ∑xnts ≤ b+t

(6)
(7)

t ∈ T1(8)t ∈ T1 , s = 7, 9(9)n∈N s=2,3xnts = cstn∈G12xnts ≤ d+rts
(10)

n∈Gr

r = 2, 3, 4, t ∈ T1 , s = 4, 5, 7∑
7≤
xnt1n ∈ N1
t∈T1

xnt5 + xn,t+1,4 ≤ 1n ∈ N1 , t ∈ T \{k}(22)xnts + xn,t+1,s ≤ 1n ∈ N1 , t ∈ T \{k}, s = 5, 6 (23)xnt7 + xn,t+2,7 ≤ 1n ∈ G11 , t ∈ T \{k − 1, k} (24)xnts ∈ {0, 1}

n ∈ N, t ∈ T, s ∈ S(25)

定式化の説明制約条件∑n ∈ N1 (12)s=2 t′ =tmind−rts ≤

hs xnts ≤ 158+αn+t∈T1 s∈S

11 ∑t+6∑以上の記号を用いて，ダミーの看護師が行う勤務回数の総和を最小とする定式化を行う．
目的関数

∑∑∑

s=7,9

定式化

b−t ≤158−αn− ≤(11)(1) ダミーの看護師に割り当てる勤務回数の総和を最小化する．
(2) 各看護師に，勤務あるいは休みを必ず 1 つ割り当てる．
(3) 希望する週休，勤務を固定し，固定させたい週休，勤務を固定する．
(4) 希望する休みを固定し，固定させたい休みを固定する．
(5) 指定された複数の勤務のいずれかを割り当てる．
(6) スケジューリング開始前 6 日間を，前回のスケジュールの最後 6 日間にする．
(7) 各日の各日勤を行う看護師数を上下限値におさめる．
(8) 各日の日勤 1 と日勤 2 を合わせた看護師数を上下限値におさめる．
(9) 各日の夜勤，準夜勤を行う看護師の必要人数を決定する．
(10) 各日の中勤，遅番，夜勤を行う各ランクからの看護師数を上下限値におさめる．
(11) 各看護師に週休を 4 週間に 7 日以上割り当てる．
(12) 各看護師の 4 週間あたりの勤務時間を上下限値におさめる．
(13) 各看護師の 4 週間あたりの遅番の勤務回数を上限値以下にする．
(14) 各夜勤従事者の 4 週間あたりの中勤と夜勤の勤務回数を上下限値におさめる．
(15) 各夜勤従事者の 4 週間あたりの中勤と夜勤の合計勤務回数を上下限値におさめる．

開始
2013 年
2 月
3 日

SSS for Nurses
手術部看護師のスケジューリング支援システム

看護師数

基本情報

看護師

A終了
2013 年
3 月
2 日

12
3
4

1
金×・
◆◎

2
土□
×××

3
日
□×××4
月
○
◇
早・

勤務回数

5
火
□◆・
◇

6
水×
★
・
◆

7
木・・
◇
・8
金
◇
×
◆
・

日付の設定

9
土◆
□
××

10
日
××××

11
月
祝
◇
祝□

12
火×◆
★
◇

指定勤務の選択

希望の入力

13
水○
○
早◆

14
木
★
×□
・15
金年
□◎
・

16
土×
□
×年

17
日××××

18
月
◇○
★
×19火
◆○
◇
★

20
水◎・
◆・21
木×★
・・22
金・
◇早・実行

23
土
◇
◆××24
日
◆×□
×25
月・
★
◎・

固定する箇所の選26
火
□・×★

27
水○・◇
早28
木年
○
◆
・1
金・・
★
□固定

完成

2 勤務時間 中勤 夜勤 週休 日1 遅番 準夜
土□ ◇ × ・ ★ ◎× 158.8
337411×161
337530◇ 159.5
247332□162
327 1020

図 1 試作段階のシステムの画面の一部(16) 各夜勤従事者の 4 週間あたりの中勤と夜勤の勤務回数の差を一定値におさめる．
(17) 各夜勤従事者の 4 週間あたりの準夜勤の勤務回数を上限値以下にする．
(18) 夜勤の次の日に夜勤明けを割り当てる．
(19) 準夜勤の次の日を休みにする．
(20) 夜勤を行うことができない看護師には夜勤と準夜勤を割り当てない．
(21) 連続 7 日勤務を禁止する．
(22) 遅番の次の日に中勤を割り当てない．
(23) 早番と遅番の 2 連続勤務を禁止する．
(24) 夜勤 2 連続勤務を禁止する．
(25) 0-1 変数で表す．

箇所を再度割り当てるために，固定したい箇所を選択する．図中の「 実行 のクリック」→「固定する箇所の選択」→「 固定 のクリック」の操作を，担当者にとって受け入れ可能な勤務表が得られるまで繰り返す．このシステムでは，出来上がった勤務表の手直しも可能である．

7

おわりに

本研究では，愛知医科大学病院の手術部看護師における，スケジューリング支援システムの作成に取り組んでいる．ナース・スケジューリングの問題を 0-1 整数計画法の問題として定式化し，VBA プログラムを用いて Excel
上に支援システムを実装している．
試作しているシステムでは，集合の要素数や定数といったパラメータを使用者が変更できるようにしている．作
5 計算結果成条件として，1 日あたりの各勤務を行う人数や看護師
愛知医科大学病院で実際に使われている作成条件を基 あたりの各勤務を行う回数の上下限値が設けられているに定式化し，勤務表を試作した．なお，希望に関しては， が，そのときの業務の状況によって，人数や回数を変更ある月の実際の各看護師の希望データを使用した．問題 することがある．そのため，制約条件に用いる人数や回の規模と一回の計算にかかる時間の一例を以下に示す． 数の上下限値をスケジューリング担当者が設定できるよ
スケジュール対象となる看護師数は 54 人，期間は 4 週 うにした．
今後も，試作したシステムをスケジューリング担当者
間 (28 日)，休みを含めた勤務種類は 15 種類である．看
護師のうち，夜勤を行うことができる看護師は 34 人，行 に試用してもらい，使い勝手やシステムで作成した勤務うことができない看護師は 20 人である．また，夜勤を行 表に問題がないかなどを検証する．そして，更に打ち合うことができる看護師をランクごとに 3 つのグループに わせを行い，実用化に向けて改善を行う予定である．
分けた．ランク A は 10 人，ランク B は 12 人，ランク Cは 12 人である．
0-1 整数計画法として定式化したこの問題は，以上のデータのもと，変数の数が 28,800， 制約条件の数が 40,924 であり，計算時間は約 30 秒であった．なお，計算に用いた PCの性能は，CPU は Intel3 Core3 i5-3317U 1.70GHz，RAMは 4.00GB，OS は Microsoft Windows 71 である．最適化ソフトウェアとして IBM ILOG CPLEX Optimization
Studio を用いて計算した．

6

試作段階のシステムについて

参考文献[1] 青野愛：病棟看護師勤務シフトの自動作成に関する実際的研究，南山大学大学院数理情報研究科 2008 年度
修士論文，2009．
[2] 池上敦子：我が国におけるナース・スケジューリング-モデル化とアプローチ-，成蹊大学大学院博士学位
論文，2001．
[3] 池上敦子：ナース・スケジューリング -調査・モデル化・アルゴリズム-，統計数理 (2005)，第 53 巻，第 2号，231-259，2005．

試作段階のナース・スケジューリング支援システムにつ[4] 伊東尚美：実用的なシフトスケジューリングシステム
いて説明する．システムの画面の一部を図 1 に示す．本の試作，南山大学大学院数理情報研究科 2009 年度修研究で試作しているシステムは，一回の計算で作成した
士論文，2010．
勤務表を使用者が修正できるような，対話型なシステムである．このシステムでは，VBA プログラムを用いて， ——————–
1 Microsoft, Windows 7, Excel, VBA は，米国 Microsoft Corpoすべて Excel 上で操作できるようにしている．
rationの米国およびその他の国における登録商標です.
システムでは，必要事項を入力，選択し，順にボタン
2 IBM, ILOG, CPLEX は IBM Corporation の米国およびその他
をクリックすることで条件を満たした勤務表を作成する の国における登録商標です．
3 Intel, Core は，Intel Corporation または子会社の米国およびそことができる．得られた勤務表のうち，納得のいかない の他の国における商標または登録商標です．