麻酔科医のシフトスケジューリングについて
2010SE093 勝田綾奈 2010SE142 中村衣里
指導教員：鈴木敦夫

はじめに1

本研究では，愛知医科大学病院における麻酔科医の昼間のシフトスケジューリングについて研究を行う．愛知医科

中治療部は周術期の患者を収容する集中治療室である．

SICU(Surgical Intensive Care Unit) 業務は周術期集中治療部での業務である．OR(Operating Room) 業務は手術室での麻酔を担当する業務である．

大学麻酔科講座と共同で麻酔科医のシフトスケジュールを自動作成する．

麻酔科医のシフトスケジュール作成についての現状と問題点を述べる．

近年，多くの医療機関で電子カルテの導入により，効率的に業務が行えるようになった．医療機関にシステムを導入することで医師の業務が効率的になることがいえる．そ現状1) １週間分の予定を各麻酔科医ごとに作成する– １週間分の業務は主に通常業務から割当てる– FC 業務・SICU 業務・外来業務・OR 業務のいずれかを割当てる候補となるシフトには「OR/SICU」

して現在も医療機関では，オペレーションズ・リサーチ（以降、OR）を用いて解決できる問題が多く存在する [1，3，4]．また，人的・財政的な資源を最小限に抑え，さらに運用コストも抑えるように解決しなくてはならない．日本にある 10,000 近い医療機関で OR を用いて問題を解決するを割当てる．

2) １週間分の予定を繰り返して 1 ヶ月分の通常業務の予定を作成する．

ことができれば，医療の質の向上につながると考えられる[2]．

3) 臨時業務を割当てる– 臨時業務がある場合，通常業務より臨時業務を優

現在，愛知医科大学病院では数多くの麻酔科医の毎月分先するのシフトスケジューリングを手作業で行っている．ある程
度経験を積んだ麻酔科医が過酷な業務と並行して行ってい– 休日と祝祭日は臨時業務以外の業務を入れないるため，その完成には 3・4 日ほどかかる．さらに，各麻4) １ヶ月分のシフトスケジュールを作成後，「OR/SICU」のシフトを有する麻酔科医に各業務を割当てる

酔科医の希望するシフトスケジュールにはならない可能性
や，シフト数の偏りが生じる可能性がある．また月曜日と– 割当てる業務は FC 業務・SICU 業務・外来業務・
OR 業務の 4 種類
– FC 業務，SICU 業務，外来業務，OR 業務の順で

水曜日は大きい手術が多く，労働負担が大きいので同じ麻酔科医に連続して割当てることを避ける必要がある．そこ
で，シフトスケジュール作成の問題を 0-1 整数計画問題と割当てるして定式化して解くことを考える．各麻酔科医に各業務の– FC 業務・SICU 業務・外来業務は各シフトに 1 人シフト数の公平性をもたらし効率よく，かつ短時間で解を以上の麻酔科医を割当てる得られるようにする．麻酔科医にとってシフトスケジュー– FC 業務は 1 日の午前・午後のシフトを同じ麻酔ル作成時間が大幅に削減できることは，業務の効率化に繋科医が担当するがる．具体的には短時間でシフトスケジューリングを行う– OR 業務は，FC 業務・SICU 業務・外来業務を割当てた後，残り全ての「OR/SICU」のシフトに自動化システムを作成し，実際のシフトスケジューリングの現場に導入することを最終目標とする．

割当てる．

本研究室では, 以前より多くのシフトスケジューリングに関する研究が行われている．本研究は同じく愛知医科大

問題点

1) スケジューリングは手作業で行われているため，時間学と共同で行われた麻酔科医の当直シフトスケジューリングに関する研究 [2] と関係している．[2] では手作業で作成された昼間のシフトスケジュールを元に，各麻酔科医の業と手間がかかる

2) 各業務を各麻酔科医に対し，シフト数や労働負担に偏りがないように割当てることが困難である務のシフト数と担当できる業務を考慮した当直シフトスケジューリングシステムの作成を行った．そして，本研究では，[2] で自動化されていなかった昼間のシフトスケジューリングを自動的に行えるシステムを作成する．さらに本研究と [2] を組み合わせることで麻酔科講座のシフトスケジュール作成の自動化を目指す．

3) 各麻酔科医が，希望した日に休むことができない

2

問題解決の考え方と方法
R 上にシフトス
本研究では Microsoft Oﬃce Excel 2007⃝ケジュール作成支援システムを実装する．このシステムでここで，用いる用語を説明する．FC (Floor Charge) 業

は学会・休みなどの希望は必ず達成されることとする．FC務は，手術室を統括する業務である．周術期とは，手術業務・SICU 業務・外来業務は各シフトに少なくとも 1 人前・術中・術後を合わせた期間のことをいう．周術期集の麻酔科医を割当てる．各麻酔科医のシフト数と労働負担を分散させる．また計算が実行不可能になることを防ぐた

p ： 午後のシフト
I ： シフトスケジューリングの対象となる午前・午後のシフトの集合 I = {a, p} × K, I ⊂ I

めに，実際には存在しないダミー医師を導入する．医療現場の要望をできる限り反映するために 1 度の計算で解を求めるのではなく，得られた解を何回か修正しながら最終的な解を求める対話的なアプローチをする．

定数{問題の定式化

3

pij =

ここでは，前節の現状 4) で説明した FC 業務・SICU 業

1 シフト i に麻酔科医 j が FC 業務可能
0 それ以外のとき

務・外来業務・OR 業務の 4 種類の最適な割当てを求める

i ∈ I,問題を考える．これを 0-1 整数計画問題として定式化す*ただし，スケジュールを修正するために繰り返し割当てを行う場合，FC 業務を固定するシフトは pij = 100

る．この定式化によれば麻酔科医のシフト数に偏りが少なく，各シフトの業務の必要数を満たすことを目的としてとする．

いる．

FC 業務・SICU 業務・外来業務の各シフトに対する必要数はそれぞれ 1 である．4 つの業務を割当てるには，前節の現状 1) で OR/SICU 業務を割当てられている麻酔科医の中から各担当者を選ぶ．FC 業務・SICU 業務・外来業務・OR 業務の順で割当てる．また各麻酔科医に対して設定するシフト数の上限値を使って制約を厳しくすることで，シフト数の偏りを緩和させることができる．しかしその場合，制約を満たすことができず実行不可能になること

uj ： 麻酔科医 j の 1 ヶ月の FC 業務のシフト数の上限値, j ∈ J
lj ： 麻酔科医 j の 1 ヶ月の FC 業務のシフト数の下限
値, j ∈ J
決定変数{1 シフト i に麻酔科医 j が FC 業務をする
xij =0 それ以外のときが考えられるので，ダミー医師を導入することによって防i ∈ I,j∈J

pid xid(1)

ぐ．ダミー医師に業務が割当てられた場合は，システム利用者が手作業で業務を割当てるものとする．労働負担については 1 ヶ月を連続する 5 週間と考え，各麻酔科医に割FC 業務の割当ての定式化

3.2

目的関数

当てられた業務が均等に分かれるようにする．また曜日によって労働負担に変化があるという現状を考慮し，1 週間maxの平日を 5 日と仮定した上で 2 週間連続して同じ曜日を担当することを回避することとする．

∑∑∑xij = 1,i∈Ixij ≤ pij , i ∈ I,∑lj ≤xij ≤ uj ,(2)j∈J(3)j∈J(4)i∈Iる．スケジュール作成の対象となる月の麻酔科医の人数をJ ： ダミー医師を含む麻酔科医の集合
J ={1, 2, 3, …, m}
D ： ダミー医師の集合 D = {1, 2, 3}
W ： 週の平日（月曜日〜金曜日）の集合
W ={1, 2, 3, 4, 5}
Wn ： 第 n 週の平日の集合 Wn = {w +5(n−1)|w ∈W }, n = 1, 2, 3, 4, 5
K ： 連続する 5 週間の平日の集合 K = W1 ∪ W2 ∪W3 ∪ W4 ∪ W5 , k ∈ K
H ： 業務を割当てる必要のない平日の集合 H ⊂ K
K ： K から H の要素を除いた集合 K ⊂ K
Wn ： Wn から H の要素を除いた集合 Wn ⊂ K
a ： 午前のシフトi∈I d∈Dj∈J

FC 業務の割当てを 0-1 整数計画問題として定式化する．
1 ヶ月を前後の月の日にちも含めた連続する 5 週間としてみる．FC 業務は各シフトに必ず 1 人の麻酔科医を割当て

添字集合

∑∑

制約条件

FC 業務の割当ての記号の定義

m とし，α は 1 より大きい適当な正の値とする．

pij xij − αi∈I j∈J

定式化にあたり，以下のように定義を行う．

3.1

j∈J

∑i∈Wrx(a,k)j = x(p,k)j , k ∈ K, j ∈ J(5)∑∑|Wr | + |Ws |xij − 2) ×
xij +xij − (≥ 0,|K|j ∈ J,i∈Wsi∈Ir, s = {1, 2, 3, 4, 5}, r ̸= s,x(t,k)j + x(t,k+5)j ≤ 1,t ∈ {a, p},k ∈ W1 ∪ W2 ∪ W3 ∪ W4 ,xij ∈ {0, 1},i ∈ I,r＜s

(6)

j∈J

(7)

j∈J

(8)

(1) 1 ヶ月に割当てる FC 業務の合計シフト数からダミー医師に割当てたシフト数を引いた数の最大化．

(2) シフト i に FC 業務を行う麻酔科医はちょうど 1 人とする．

(3) シフト i に FC 業務可能な麻酔科医 j を割当てる．
(4) 麻酔科医 j に関して 1 ヶ月の FC 業務のシフト数の上下限値を満たすようにする．

• 第 2 週目の平日：W2 = {6, 7, 8, 9, 10}(5) 1 日に FC 業務を担当する麻酔科医が 1 人であるようにする．

• 第 3 週目の平日：W3 = {11, 12, 13, 14, 15}(6) この制約は各麻酔科医 j に対するシフト数の公平性の∑|Wr | + |Ws |ための制約条件である．(xij − 2) ×|K|i∈I∑は，
xij から 2 引かなければ麻酔科医 j の連続す• 第 4 週目の平日：W4 = {16, 17, 18, 19, 20}• 第 5 週目の平日：W5 = {21, 22, 23, 24, 25}• 連続する 5 週間の平日：K = {1, 2, …, 24, 25}• 業務を割当てる必要のない平日 ： H = {1, 22, 24, 25}i∈Iる全 5 週間の勤務数に，第 r 週と第 s 週のシフト数が• K から H を除いた平日：K = {2, 3, …21, 23}

全 5 週間に占める割合を掛けたものなので，各週にほ• W1 から H の要素を除いた平日：W1 = {2, 3, 4, 5}

ぼ均等に勤務した場合に第 r 週と第 s 週に勤務する平均的なシフトを表す．したがって∑• W2 から H の要素を除いた平日：W2 = {6, 7, 8, 9, 10}

xij から 2 を引i∈I

いたものは，各週ほぼ均等に勤務したときに第 r 週と第 s 週に最低限勤務すべきシフト数と考えることができる．そこで，第 r 週と第 s 週に勤務するシフト数の和がこれを下回らないようにする制約である．

=• W4 か ら H の 要 素 を 除 い た 平 日：W4
{16, 17, 18, 19, 20}=• W5 から H の要素を除いた平日：W5 = {21, 23}(7) 麻酔科医 j が 2 週間連続して同じ曜日のシフトに連• シフトスケジューリングの対象となる午前・午後のシ
フト ： I = {a, p} × K, I ⊂ I

続して割当てられないようにする．

(8) バイナリ制約
3.3• W3 か ら H の 要 素 を 除 い た 平 日：W3
{11, 12, 13, 14, 15}• 麻酔科医 j の 1 ヶ月の各業務のシフト数の上限値 uj ，麻酔科医 j の 1 ヶ月の各業務のシフト数の下限値 lj ，麻酔科医 j が各業務可能であるシフト pij：任意に設定

SICU 業務・外来業務の割当て

SICU 業務と外来業務の割当ては同じ定式化を用いる．
この割当ての問題は 3.1 とほぼ同じ記号の定義ができる． 4.2 計算結果と考察
SICU 業務・外来業務の決定の定式化は 3.2 で示した FC
4.1 のデータをもとに計算した．FC 業務を 1 ヶ月分割
業務決定の定式化のうち (5) の式を除いたものである．
当てる問題の規模は 1,092 変数，2,980 制約式であり，解4 計算機実験を求めるための計算時間は 5.64 秒だった．また SICU 業
務を
1 ヶ月分割当てる問題の規模は 1,092 変数，2,434 制
この節では，3 節の定式化を用い適当なデータをもとに計算した結果を示す．計算に使用した計算機環境は以下で 約式で，解を求めるための計算時間は 4.26 秒だった．外来
業務を 1 ヶ月分割当てる問題の規模は 1,092 変数，2,434ある．
制約式で解を求めるための計算時間は 5.98 秒だった．
OS：Microsoft Windows 7 Professional
以上の結果より，1 ヶ月分の割当て計算を行う際，1 つ
CPU ：Intel(R)Core(TM)2 Duo CPU P8700 @2.53GHzの業務に対して約 6 秒の時間がかかる．システムを作成す
2.53GHz
RAM：2.00GB
また計算に使用した最適化ソフトウェアは CPLEX StuR である．CPLEX はデータの変dio IDE バージョン 12.4⃝
更にも柔軟に対応することができる．また VBA を用いる
R 上で実行することことで，Microsoft Oﬃce Excel 2007⃝ができる．現在，愛知医科大学病院では麻酔科医のシフトスケジュール作成において Excel を用いているため，新しいシステム導入に対する抵抗が小さくなると考えている．

4.1

各業務の割当て計算

3.2，3.3 で定式化した各業務割当て問題の計算機実験を以下のデータで行う．今回は，2014 年 4 月で表すデータを用いてシフトスケジュールを作成する．

• ダミー医師を含む医師 (J) の人数：26 名• ダミー医師 (D) の人数：3 名

る上で，手作業での条件・解の修正と計算を繰り返し行うことを考えてもシフトスケジュール作成の手間の面で現状を大きく改善することができる計算時間である．

5

麻酔科医のシフトスケジュール作成支援シス
テムについて
現在試作中のシステムの概要と使用方法について紹介する．システムを利用する際には，各エクセルシート上部にあるボタンに沿って進行する．各エクセルシートの必要事
項を入力した後，[入力完了] のボタンを押す．
初期化ボタンは新しい月のシフトスケジュールを作成する際にのみ押す．初期化を行うとその時点で最終予定に表示されているシフトスケジュールが前月予定のシートにコピーされる．さらに統合結果，FC 業務割当て，SICU 業務割当て，外来業務割当て，最終予定の各シートのシフトスケジュールは削除される．麻酔科医シフトスケジューリ• 週の平日（月曜日〜金曜日）：W = {1, 2, 3, 4, 5}

ング作成支援システムの使用手順を以下に示す．

• 第 1 週目の平日：W1 = {1, 2, 3, 4, 5}(1) シフトスケジュールを作成する年の祝祭日をすべて入図2

試作したシステムの画面（最終予定）の一部 Ａ，Ｂ，Ｃ，…は医師名を表す力する．

(2) シフトスケジュールの作成を行う年と月を決定する．
(3) 通常業務内容，臨時業務内容，各麻酔科医の名前，ランク，FC 業務・SICU 業務・外来業務の担当の可否の入力を行う．医師の人数や情報に変更があれば改めて設定を行う．

(4) 各麻酔科医の 1 週間分の予定を決定する．合わせて各麻酔科医の FC 業務・SICU 業務・外来業務の 1 ヶ月のシフト数の上下限値の入力を行う．

(5) 各麻酔科医の臨時予定を入力し，週間予定と臨時予定を統合した結果を表示する．

6

終わりに
本研究では，愛知医科大学病院における麻酔科医のシフトスケジューリングの支援システムの作成に取り組んでいる．なお，現段階では愛知医科大学病院の実際のスケジューリングの現場で試作段階のシステムを使用してもらっている．システム利用者に試用してもらい，現在の手作業でのシフトスケジューリングと大きく異なる点はない
か，システムで作成したスケジュールに不満が出ないかを確認中である．そして，今後も担当者と入念な打ち合わせを行い，実用に向けて更に改善を行う予定である．また現在，事前に作成された当直勤務の自動シフトスケジューリ(6) 計算を実行し，FC 業務を割当てる．(6) で出来上がっ

ングシステム [3] と連動させ，麻酔科講座の昼間の勤務とたシフトスケジュールにおいて修正したい箇所があ

夜間の勤務のシフトスケジュール作成を一括して行うシス

れば，修正するシフト以外を固定して再度計算を実行

テムを我々の研究グループで試作中である．

する．

参考文献

(7) (6) と同様に SICU 業務を割当てる．
(8) (6) と同様に外来業務を割当てる．

[1] 池上敦子：『ナース・スケジューリング -調査・モデル化・アルゴリズム-』，統計数理，Vol. 53，No. 2，pp.
231–259，2005．

(9) 受け入れ可能なシフトスケジュールを得たならば，シフトスケジュール確定する．その時点で，「OR/SICU」 [2] 今泉隆徳：『手術室の最適スケジューリング問題』，2012が割当てられているシフトに OR を割当てる．
年度 南山大学大学院 数理情報研究科 修士論文，2013．
(1) の祝祭日の設定に関しては，今後祝祭日が改定される可能性があるため，スケジューリング作成者が入力する形を採用した．(3) については麻酔科医の人数の増加などの変更があればその都度変更する必要がある．
なお結果については，現在手作業で作られているスケジュールと同様の縦を日にち，横を麻酔科医の名前とし，各シフトに担当の業務内容を出力する形式を採用する．

[3] 鈴木敦夫、藤原祥裕：『手術室のスケジューリング支援システムについて』，オペレーションズ・リサーチ，Vol.
58，No. 9，pp. 5–11，2013．
[4] 宇野毅明：『楽々簡単！ 20 分でできる勤務表 (半) 自動作成ツール』，宇野毅明のホームページ．

http://research.nii.ac.jp/∼uno/staffschedule uno.html