护士工作时间的安排.docx
《护士工作时间的安排.docx》由会员分享,可在线阅读,更多相关《护士工作时间的安排.docx(24页珍藏版)》请在冰点文库上搜索。
护士工作时间的安排
护士工作时间的安排
摘要
医院里每个科室都有自己的护士工作时间表。
一般而言,每个科室的一个工作日分为
12个两小时的时段,每个时段护士的人员要求不同。
例如,在夜间只要求有很少几名护士就足够了,但在早晨为了给病人提供特殊报务,需要很多护士。
在已知某医院心脑血管科每个时段护士的人员需求量的条件下,为了确定满足其需求量的最少护士数量以及制定出其护士的工作时间表,本文通过建立护士安排方案的数学规划模型,在满足各时间段人员需求量的条件下,分别算出了最少所需护士总数及在护士人数有限的情况下最少加班人员人数,并制定了不同情况下护士工作安排的最优方案。
为保证模型计算结果的多样性和准确性,本文分别运用MATLAB和lingo做线性规划处理,通过综合比较两种软件得出的结果,我们择优制定了护士工作时间的安排方案。
针对问题一,依据已给出的各时间段人员需求量和每个护士每天工作8小时,在工作4个小时后需要休息1个小时这一假定条件,我们建立了线性规划模型,分别运用MATLAB和lingo进行求解,都得出所需护士人员总数最少为100人。
具体优化方案见后文。
针对问题二,在护士总数为80的限定条件下,依据各时间段人员需求量和加班人员每天加班时间为2个小时,且紧随在一个4小时工作时段之后,加班与4小时工作时段之间
没有休息这一假定,分别设各时间段开始正常上班的护士人数为x1i、应加班的护士人数x2i。
由于题中未提及加班时间紧随在哪一个4小时工作时段之后,故在问题一的基础上应分情况讨论再建立线性规划模型,此处分两种情况讨论,分别为紧随在前一个4小时工作时段之后和紧随在后一个4小时工作时段之后。
运用MATLAB和lingo对模型进行求解,我们在不同的情况下两种软件都得出所需加班的护士人员总数最少为40人。
具体优化方案见后文。
关键词:
护士工作安排数学规划模型最优方案MATLABlingo
1•问题重述
某医院的心脑血管科需要制定护士的工作时间表。
在心脑血管科的一个工作日分为12个两
小时的时段,每个时段的人员要求不同。
例如,在夜间只要求有很少几名护士就足够了,但
在早晨为了给病人提供特殊报务,需要很多护士。
表B1列出了每个时段的人员需求量。
编号
时段
需要人数
1
0:
00
—2:
00
15
2
2:
00
—4:
00
15
3
4:
00
—6:
00
15
4
6:
00
—8:
00
35
5
8:
00
—10:
00
40
6
10:
00
—12:
00
40
7
12:
00
—14:
00
40
8
14:
00
—16:
00
30
9
16:
00
—18:
00
31
10
18:
00
—20:
00
35
11
20:
00
—22:
00
30
12
22:
00
—24:
00
20
问题1:
(1)为满足需求最少需要多少名护士?
这里假定每位护士每天工作8小时,且在
工作4小时后需要休息1小时。
(2)如果满足需求的排班方案不止一种,请给出你认为最合理的排班方案,并说明其理由。
问题2:
目前心脑血管科只有80名护士,如果这个数目不能满足指定的需求,只能考虑让部分护士加班。
如果加班,每天加班的时间为2小时,且紧随在一个4小时工作时段之后,中间没有休息。
(1)请给出护士工作时间安排的方案,以使需要加班的护士数目最少。
(2)
并说明其
如果排班(包括加班)的方案不止一种,请给出你认为最合理的排班和加班方案,理由。
2.问题分析
本题属于带有一定约束条件的数学规划问题。
在满足各时间段人员需求量的条件下,需要对现有人员做出最优安排,从而达到医院的需求,同时使人员利用率最高从而降低成本。
对于问题一,本题给出了该医院心血管科各时间段的护士人员需求量,并假定每个护士每天工作8小时,且在工作4个小时后需要休息1个小时,要求我们求出满足需求的最少护士人数。
若护士休息1小时后立即开始工作,则会出现护士在2小时时段间开始工作或休息,在这种情况下想要解决问题就还需要将现有的2小时时段分割为2个1小时时段,再重新确定新的每个1小时时段护士需要人数,然后再进行求解,但是如果这样处理不仅加剧了模型求解的复杂程度而且在重新确定新的每个1小时时段护士需要人数时主观臆断太强,这样会降低模型的一般性和准确性。
故为降低模型的复杂性和提高准确度,我们假定每个时段为2小时且护士只在时段初开始工作,时段间不开始工作,即允许0点开始工作但是不允许1点开始工作。
在该假设条件下,护士休息1个小时作休息2小时处理。
故每
个护士的每天的在岗时间为连续5个时段,包括4个时段的工作时间及1小时休息(做1个时段处理)。
因为变量为护士人数,故所得结果为自然数。
我们假定在各时间段开始上班的人数为自变量,所需人员总数为应变量,各个时段的需要人数为限制条件,建立整数规划模型,运用软件进行求解。
80人,加班人员每
对于问题二,与问题一相比,增加了该医院心脑血管科现有护士为天加班时间为2个小时,且紧随在一个4小时工作时段之后,中间没有休息的限定条件。
对于是否要加班,要先看第一题的结果,若大于80人,则必须有人加班,若小于80人,则反之。
此时,我们假定在各时间段开始正常上班的人数以及开始上班且需要加班的人数为自变量,所需加班人员总数为应变量,在限定条件下,建立整数规划模型,运用软件进行求解。
3.符号说明
1.f1:
为满足需求所需要的护士人员总数;
2.f2:
需要加班的护士人员总数;
3.i:
各个时段需要的人数;i1,2...12,1=15...12=20.
4.xi:
第i个时间段开始上班的人数。
i1,2...12,xi为自然数。
5.xii:
第i个时间段开始正常上班的人数。
i1,2...12,xii为自然数。
6.x2i:
第i个时间段开始上班且需要加班的人数。
i1,2...12,X2i为自然数。
4.模型假设
1.正常上班时,每个护士每天工作8小时,且在工作4个小时后需要休息1个小时;
2.护士只在时段初开始工作,时段间不开始工作,即允许0点开始工作但是不允许1点开始工作;
3.在假设2下,将护士休息1小时作1个时段处理;
4.加班人员每天加班时间为有休息。
2个小时,且紧随在一个4小时工作时段之后,中间没
5.建模过程
5.1问题一的建模与求解
5.1.1问题分析
本题给出了该医院心血管科各时间段的护士人员需求量,并假定每个护士每天工作8小时,且在工作4个小时后需要休息1个小时,要求我们求出满足需求的最少护士人数。
假定护士只在时段初开始工作,时段间不开始工作,即允许0点开始工作但是1点不允许开始工作,故在每个时段为2小时的条件下,护士休息1个小时作休息了两小时处理。
故每个护士的每天的在岗时间为连续5个时段,包括4个时段的工作时间及一小时休息(作一个时段处理)。
因为变量为护士人数,所以所得结果为自然数。
我们假定在各时间段开始上班的人数为自变量,所需人员总数为应变量,各个时段的需要人数为限制条件,建立数学规划模型,运用软件进行求解。
5.1.2模型建立
为满足需求所需要的护士人员总数等于各个时段开始上班的护士人数之和,即:
12
1xi
i1
以第一个时段即0:
00-2:
00为例,开始上班的护士。
为满足该时段人员需求,
x1
在该时段工作的护士分别为第9、10、12、1时段
则应满足有以下条件:
x12x10x915
其他时段与第一个时段同理。
故可建立数学规划模型如下:
12
minf1
i1
XiXi1Xi3Xi4i
X为自然数
i1,,,...12
上述式子中Xi为Xi时,Xi1为Xi2.
5.1.3模型求解
①运用MATLAB编写程序求解可得(程序见附录8.1.1):
9.4074
8L4730
IX1157
11,2164
14・<0501
30.4410
7-O11S
3.4~30
7.Q3C0
□-B112
4,0040
fval■
100.COOO
由上述结果可知,为满足需求所需要的护士人员总数最少为100人,但是所求得的各
个时段开始上班的护士人数存在小数,出现这种情况无法避免。
若四舍五入取值,虽然能得
到正确有效的结果,但是需进行检验,该过程工作量大且较麻烦。
于是考虑再用lingo编程
求解。
Variable
Value
ReducedCost.
5U
23+00000
1.oooooo
X2
4.000000
1.oooooo
M3
12.09000
1.000000
X4
0.OOODDO
L000000
13.OODOO
1.000000
恥
11.OODDO
LOODOOO
17.00000
1.OODOOO
C.QQODOO
LOODOOO
7.OOOODO
LOODOOO
X10
C.000000
1.OODOOO
Xll
13.OODDO
1.000000
112
0.000000
1.OODOOO
由上述结果可知,为满足需求所需要的护士人员总数最少为100人,与用MATLAB
求得的结果相同,故可确定上述结果是正确的。
且由上述结果可知各个时段最优的护士排班方案为:
编号
时段
该时段开始上班的护士人数
1
0:
00
—2:
00
23
2
2:
00
—4:
00
4
3
4:
00
—6:
00
12
4
6:
00
—8:
00
0
5
8:
00
—10:
00
13
6
10:
00
—12:
00
11
7
12:
00
—14:
00
17
8
14:
00
—16:
00
0
9
16:
00
—18:
00
7
10
18:
00
—20:
00
0
11
20:
00
—22:
00
12
12
22:
00
—24:
00
0
5.1.4模型结果分析
该模型得出的结果经检验完全符合题意,故接受。
5.2问题二的建模与求解
5.2.1问题分析
对于问题二,与问题一相比,增加了该医院心脑血管科现有护士为80人,加班人员每天加班时间为2个小时,且紧随在一个4小时工作时段之后,中间没有休息的限定条件。
故每个护士的每天的在岗时间为连续6个时段,包括4个时段的工作时间,1个时段的加班时间及一小时休息(作一个时段处理)。
对于是否要加班,要先看第一题的结果,若大于80人,则必须有人加班,若小于80人,则反之。
由于第一问求出为满足需求最少需要护士100人,故必须有人加班。
我们假定在各时间段开始正常上班的人数以及开始上班且需要加班的人数为自变量,所需加班人员总数为应变量,在限定条件下,建立数学规划模型,运用软件进行求解。
5.2.2模型建立
需要加班的护士人员总数等于在各个时间段开始上班且需要加班的护士人数之和,即:
12
f2x2i
i1
由于题中未提及加班时间紧随在哪一个4小时工作时段之后,故在问题一的基础上应分情况讨论再建立线性规划模型,此处分两种情况讨论,分别为加班时间紧随在前一个4小时工作时段之后和加班时间紧随在后一个4小时工作时段之后。
下面分情况讨论建立模型。
①加班时间紧随在前一个4小时工作时段之后
以第一个时段即0:
00-2:
00为例,在该时段工作的护士分别为第9、10、12、1时段开始正常上班的护士和在第1、12、11、9、8时段开始工作且需要加班的护士。
为满足该时段人员需求,则应满足以下条件:
x112
x110x19
x21
x212
x211
x29x28
15
其他时段与第一个时段同理。
故可建立数学规划模型如下:
12
minf2x2i
i1
x2i2x2i4x2i5
x1ix1i1x1i3x1i4x2ix2i1
1212
x1ix2i80
i1i1
Xii,X2i均为自然数
i1,2,3,4...12
①加班时间紧随在后一个4小时工作时段之后
以第一个时段即0:
00-2:
00为例,在该时段工作的护士分别为第9、10、12、1时段开始正常上班的护士和在第1、12、10、9、8时段开始工作且需要加班的护士。
为满足该时段人员需求,则应满足以下条件:
x11
x112
x110x19
x21
x212
x210
15
其他时段与第一个时段同理。
故可建立数学规划模型如下:
12
minf2x2i
i1
x1ix1i1x1i3x1i4x2ix2i1x2i3x2i4x2i5i
1212
x1ix2i80
i1i1
Xli,X2i均为自然数
i1,2,3,4...12
5.2.3模型求解
5.2.3.1加班时间紧随在前一个4小时工作时段之后①运用MATLAB编写程序求解可得(程序见附录8.2.1.1):
孔704:
lx4370
4.6ZOO
"h同M
2,322&
5.fiO甜
3,$2肿
0”687S
2.B805
2.2197
0”6»B2
0*0000
Q.QOOO
C.QOOO
乩1899
12.A416
鼠31S1
O.OQOO
0.0000
0*oooo
2.1m
专”2829
3,42Z«
fval=
40”0000
由上述结果可知,需要加班的护士人员总数最少为40人,但是所求得的各个时间段开
始上班且需要加班的护士人数存在小数,出现这种情况无法避免。
若四舍五入取值,虽然能
得到正确有效的结果,但是需进行检验,该过程工作量大且较麻烦。
于是考虑再用lingo编
程求解。
'■ariasle
“皿
ReducedCost
X21
G000000
J,000000
X2S
0.OOCOM
1.000000
X23
0.00€D00
L.tMOODO
X24
u.ooooo
L000000
X25
£ootooc
L000000
X26
?
.OOO'DOO
L00(1000
X27
0.000000
1,000000
X3B
0.CWCDOO
i.oooooa
匸寸
0.OOCDtXJ
i.oooooo
:
.000000
LOQOOOO
P汕5何1
1,OOOOQO
X212
12.00000
LDOOODO
XII
0.DOCDOO
QLOOOODO
XI12
0.CWCDO0
O.0OUODO
X13
0.000000
o,oooooo
S110
awodw
0.OOCODO
W
(1.OOCDCK1
moooooo
X111
LtMOQDO
QLOOOODO
X13
7.OOCDOO
0LOOOODO
.\14
(J.iXJCDLKj
Oloooooo
X13
g.OOCDM
0,OOOOQO
\ln
3.tXJODOC
o.oooooo
XI7
2000000
0.OOOODO
XIS
0.000Q00
olaooooo
由上述结果可知,需要加班的护士人员总数最少为40人,与用MATLAB求得的结果
相同,故可确定上述结果是正确的。
且由上述结果可知各个时段最优的护士排班方案为:
编号
时段
该时段开始正常上班
的护士人数
该时段开始上班
且需要加班的护
士人数
1
0:
00
—2:
00
0
0
2
2:
00
—4:
00
0
0
3
4:
00
—6:
00
7
0
4
6:
00
—8:
00
0
11
5
8:
00
—10:
00
9
8
6
10:
00
—12:
00
3
2
7
12:
00
—14:
00
20
0
8
14:
00
—16:
00
0
0
9
16:
00
—18:
00
0
0
10
18:
00
—20:
00
0
2
11
20:
00
—22:
00
1
5
12
22:
00
—24:
00
0
12
523.2加班时间紧随在后一个4小时工作时段之后
①运用MATLAB编写程序求解可得(程序见附录8.2.2.1):
28220
2,KM
2.9143
13.5813
4.1712
4.3832
2.0915
2.L5U
L5142
1.7052
1・4184
U1833
5.3706
0.0000
0.0000
0.flOOt
6.8356
14.0660
4.4043
0,0000
0.0000
0.0000
C1633
N1502
40»0000
由上述结果可知,需要加班的护士人员总数最少为40人,但是所求得的各个时间段开
始上班且需要加班的护士人数存在小数,出现这种情况无法避免。
若四舍五入取值,虽然能
得到正确有效的结果,但是需进行检验,该过程工作量大且较麻烦。
于是考虑再用lingo编
程求解。
②运用lingo编写程序求解可得(程序见附录8.222):
由上述结果可知,需要加班的护士人员总数最少为
40人,与用MATLAB求得的结果
Variable
Value
ReducedCost
X21
14.00000
L・000000
X22
0.000000
1.000000
X23
0,000000
1.000000
X24
0.000000
1.000009
X25
1,oooooo
1.000000
X26
ID.00000
1.000000
X27
0.000000
L000000
X23
6000000
1.000000
X29
0.000000
1.000000
X210
0,000000
L000000
X2U
1.000000
1.000000
X212
1100000
1.000000
XII
3.000000
0.000000
X112
0.000000
o,oooooo
X19
0,000000
0.C00003
X110
0.000000
0.ocoooo
X12
0,000000
6oooooo
X111
0.000000
0.oooooo
X13
0,000000
0.000009
X14
6.000000
0.oooooo
X15
5.000000
0.oooooo
X16
10.00000
aoooooo
XI/
U.00000
0.OCOODO
X1S
5,000000
0.oooooo
相同,故可确定上述结果是正确的。
且由上述结果可知各个时段最优的护士排班方案为:
编号
时段
该时段开始正常上班
的护士人数
该时段开始上班
且需要加班的护
士人数
1
0:
00
—2:
00
0
14
2
2:
00
—4:
00
0
0
3
4:
00
—6:
00
0
0
4
6:
00
—8:
00
6
0
5
8:
00
—10:
00
5
1
6
10:
00
—12:
00
10
10
7
12:
00
—14:
00
14
0
8
14:
00
—16:
00
5
0
9
16:
00
—18:
00
0
0
10
18:
00
—20:
00
0
0
11
20:
00
—22:
00
0
1
12
22:
00
—24:
00
0
14
524模型结果分析
通过5.2.3的模型求解,我们可以发现分情况讨论下来所得到的结果完全一样,即需要
加班的护士人员总数最少为40人。
故猜测护士加班时间无论紧随在哪一个4小时工作时段之后对结果都无影响。
又该模型得出的结果经检验完全符合题意,故可接受。
6.模型的综合评价
模型的优点
本文所建立的模型操作简单,准确性高,贴合实际,能够完美解决题目所提出的问题。
模型的缺点
在运用该模型求解第二题时,我们默认所有参与加班的护士都按同一种方式加班,即要么全部紧随在前一个4小时工作时段之后加班,要么全部紧随在后一个4小时工作时段之后加班。
但是实际中这种默认情况一般不存在,常常是有的护士按前一种方式加班,有的护士按后一种方式加班。
模型在这个问题上有待改进。
模型的改进
在问题二中加入三个自变量,分别为各时间段开始正常上班的人数、开始上班且在前一个4小时工作时段加班的人数、开始上班且在后一个4小时工作时段加班的人数。
分析方法与原模型相同。
模型的推广
本文所建立的模型除了可以解决护士工作时间安排的问题,还可以解决其他类似的排班问题。
7.参考文献
[1]胡运权,《运筹学教程》,清华大学出版社,2010.11
8.附录
8.1.1
Matlab:
A=[-10000000-1-10-1;
-1-10000000-1-10;
0-1-10000000-1-1;
-10-1-10000000-1;
-1-10-1-10000000;
0-1-10-1-1000000;
00-1-10-1-100000;
000-1-10-1-10000;
0000-1-10-1-1000;
00000-1-10-1-100;
000000-1-10-1-10;
0000000-1-10-1-1];
b=[-15;-15;-15;-35;-40;-40;-40;-30;-31;-35;-30;-20];
f=[111111111111];
x=[000000000000];
[x,fval]=linprog(f,A,b,[],[],x,[])
8.1.2
Lingo:
Min=x1+x2+x3+x4+x5+x6+x7