护士工作调度优化方案.docx
《护士工作调度优化方案.docx》由会员分享,可在线阅读,更多相关《护士工作调度优化方案.docx(22页珍藏版)》请在冰豆网上搜索。
![护士工作调度优化方案.docx](https://file1.bdocx.com/fileroot1/2022-11/27/656b3b49-e43a-436c-8609-6a191c1605ad/656b3b49-e43a-436c-8609-6a191c1605ad1.gif)
护士工作调度优化方案
《数学模型》课程结业论文
护士工作调度优化方案
任务书
[要求]
1、将所给的问题翻译成汉语;
2、给论文起个题目(名字或标题)
3、根据任务来完成数学模型论文;
4、论文书写格式要求按给定要求书写;
5、态度要认真,要独立思考,独立完成任务;
6、论文上交时间:
6月1日前(要求交纸质论文和电子文档)。
7、严禁抄袭行为,若发现抄袭,则成绩记为“不及格”。
[任务]
Mr.Schedule先生受人之托要为St.Joseph医院的心脑血管部门制定护士的工作时间表。
在心脑血管部门中一个工作日分为12个两小时长的时段,每个时段的人员要求都不同。
例如,在夜间只要求有很少几个护士就足够了,但在早晨为了给病人提供特殊服务,需要很多护士。
下表列出了每个时段的人员需求量。
问题1:
请计算出为满足需求最少需要多少个护士,假定已知每个护士每天工作8小时,且在工作四小时后需要休息两个小时。
问题2:
此部门目前只有80名护士,这个数目不足以满足给定的需求。
因此Schedule先生建议每天安排部分人加班。
每天加班时间为2小时,且紧随在后一个四小时工作时段之后,中间没有休息。
请给出护士工作时间安排方案,以使需要加班的护士数目最少。
表11每个时段的人员需求表
编号
时段
需要护士人数
0
00am-02am
15
1
02am-04am
15
2
04am–06am
15
3
06am–08am
35
4
08am–10am
40
5
10am–12pm
40
6
12pm–02pm
40
7
02pm–04pm
30
8
04pm–06pm
31
9
06pm–08pm
35
10
08pm–10pm
30
11
10pm–12am
20
成绩评定单
评语:
成绩
任课教师签字年月日
摘要
本题是在一定条件下求最值的问题,是典型的规划问题。
首先我们在满足工作时间和强度约束的条件下优选出两种模式,然后利用集循环函数的特点建立非线性规划模型。
然后利用数学模拟和Lingo规划对其进行了有效的编程求解。
问题一:
在满足护士每日工作时间,工作强度以及当班人员配备要求的条件下,达到护士需求量最小的目的。
由于各时段所需护士数量不同,且护士工作存在间歇性,所以如何安排护士工作时段就成了解题的关键。
就此问题,我们从所有满足工作时间和强度约束的工作模式中,优选出两种独立的工作模式S1,S2,利用其推导出所需护士人数即目标函数表达式为:
,Lingo求解结果为:
min
=87,即满足需求该医院至少需要87名护士,护士工作时间调度方案见附录。
问题二:
在限定医院护士人数为80的前提下,安排最少的护士加班,完成医院需要达到的固定工作量。
它给出的限制是加班的护士在完成正常时段工作后继续加班两个小时。
同样,选出一组独立工作模式S1,S2,此时加班人数即目标函数变为
,Lingo求解结果为min
,即最少需要26名护士加班,对应的护士工作时间安排方案详见附录。
最后通过对求解结果和问题的在分析,我们发现在医院工作总量不变的前提下,目标人数其实已经可以确定。
同时我们对数据的灵敏度以及模型的优缺点也进行了分析,并据此对模型的改进方向和可应用领域分别作出说明和推荐。
一.问题重述1
二.模型假设2
2.1模型假设2
2.2符号约定2
三.问题分析3
四.模型建立4
五.模型处理5
5.1数据处理5
5.2编程求解5
六.结果分析与检验6
6.1模型一6
6.2模型二6
七.模型评价与改进8
7.1模型优缺点8
7.2模型改进8
参考文献9
一.问题重述
某医院一个工作日(分为12个两个时长的时段)每个时段需要护士人数如下表:
编号
时段
需要护士人数
0
00am-02am
15
1
02am-04am
15
2
04am–06am
15
3
06am–08am
35
4
08am–10am
40
5
10am–12pm
40
6
12pm–02pm
40
7
02pm–04pm
30
8
04pm–06pm
31
9
06pm–08pm
35
10
08pm–10pm
30
11
10pm–12am
20
问题1:
假定每个护士每天工作8个小时,且在连续工作4个小时后需要休息2小时,计算为满足需求至少需要多少护士。
问题2:
此医院目前有80名护士,这个数目不足以满足需求,因此需要安排部分人加班,每天加班时间为2个小时,且紧跟随在后一个4小时工作时间之后,中间没有休息,求护士工作时间安排方案,以使需要加班的护士人数最少。
二.模型假设
2.1模型假设
1.假设所有护士都能保持全勤率。
2.假设所有护士都能服从安排,准时上下班。
3.假设不考虑各种客观因素对护士人数的影响。
4.假设没有突发事件发生,医院无需作出人员调整。
2.2符号约定
i,j:
表示i,j个工作时段,i,j=1,2...12;
n:
表示护士编号即第n个护士;
;
:
表示所需护士的人数;
:
表示所需加班护士的人数;
:
表示i时段所需护士的人数;
S1,S2:
表示设定的护士每日单板的时段排列情况即值班模式;
S1(i):
表示第i个时间段以S1模式开始工作的人数;
S2(j):
表示第i个时间段以S2模式开始工作的人数
i@j:
表示为满足时段循环而定义的算法,
三.问题分析
本题是规划问题,我们想到建立一般规划模型求解,为能够用数学语言表示引入一个二维的0-1整型变量
;利用集循环函数建立相应模型顺利的完成了求解,其分析过程如下:
问题一,首先我们引入集函数为;@function,sets:
times/1....12/:
star1,star2,required:
min=@sum(times:
star1+star2)和@for,相应数学语言转化:
Star1即S1模式:
1,1,0,1,1
Star2即S2模式:
1,0,1,0,1,0,1
我们设定每名护士只能按其中一种工作模式值班,这时我们可以得出所需护士人数就是按照两种独立工作模式值班的护士之和即目标函数
;由于工作模式以满足两个约束条件,此时只有各时段护士需求约束,为解决首尾时段连续的影响,我们定义了一个算法
,此时该约束可以表示为:
,最后利用lingo编程即可进行求解。
问题二,与上题相类似,首先设定相应工作模式:
Star1即S1模式:
1,1,0,1,0,1,1
Star2即S2模式:
1,0,1,0,1,1
此时加班护士人数即为按照s1模式值班的护士人数:
除此之外,问题二还有一个限制条件,护士总人数确定为80人即,
=80;最后应用lingo即可完成求解。
四.模型建立
根据以上分析,建立相应的规划模型如下:
模型一:
模式设定:
s1模式:
1,1,0,1,1(1表示工作,0表示不工作)
模式设定:
s2模式:
1,0,1,0,1,0,1(1表示工作,0不是不工作)
min
模型二:
模式设定:
s1加班模式:
1,1,0,1,0,1,1(1表示工作,0表示不工作)
模式设定:
s2加班模式:
1,0,1,0,1,1(1表示工作,0不是不工作)
Min
St:
五.模型处理
5.1数据处理
编号
1
2
3
4
5
6
7
8
9
10
11
12
时段
00—02
02—04
04—06
06—08
08—10
10—12
12—14
14—16
16—18
18—20
20—22
22—24
表一:
各编号对应的时间段
Pi
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
人数
15
15
15
35
40
40
40
30
31
35
30
20
表二:
在第i时间段所需要的护士人数
5.2编程求解
模型一:
Lingo求解结果如下(代码见附录)
结论:
在每个护士每天工作8小时,且在连续工作4小时后需休息2小时的条件下,该医院为满足工作量的需求至少需要87名护士,对应调度安排见附录。
模型二:
Lingo求解结果如下(代码见附录)
结论:
在医院只有80名护士的前提下,为满足加班要求,至少需要26名护士加班。
对应护士工作时间安排见附录。
六.结果分析与检验
6.1模型一
应用lingo求解的灵敏度结果如下:
OBJBound86.5,Best87,对该题进行分析知,该医院护士工作时段总量是固定的,结果346,由于每个护士需要工作4个时段是确定的,在不考虑工作强度的约束下,我们可以求出最优解M=346/4=86.5,考虑M是整数,即所需要最少的护士数为87人,这时总工作量为348个时段,与理论计算的吻合度比较好。
6.2模型二
Lingo求解的结果是80人中至少需要26人加班,即每人每日工作5个时段,其余54人工作4个时段。
此时有总工作时段为26*5+54*4=346,与要求工作量一致,说明该模型所得的护士工作时间安排方案是满足要求的优化方案。
七.模型评价与改进
7.1模型优缺点
优点:
1.文中数据处理采用图表的形式给出,清晰,直观;
2.预设两种工作模式,避免约束条件的复杂化,简化了运算
3.充分利用集循环函数的特性,是该模型具有很好的可行性和退惯性,即该模型求解的思路可以应用到其他领域
不足:
1.该模型的建立是在一定理想的情况得出的结果,未考虑各种客观因素的影响,难免有一些欠缺之处。
2.该模型设定的工作模式只是所有可能模式中的一种,不能涵盖所有的优化方案,在实践中不能很好的应对各种突发状况。
7.2模型改进
1.上述模型建立过程中,为将多目标规划转化为单目标规划,其中工作模式的选取存在偶然性。
2.在解决护士工作时间问题的规划后,我们建立设置一个客观因素的权重系数,代表个客观因素对护士人数的影响大小,通过对他们进行分析,确定相应的约束目标,然后通过本模型的求解思路得出对应最优解。
参考文献
[1]陈日耀.金属切削原理.北京:
机械工业出版社,1985:
33-36
[2]张钰,王丹,张风和等.一种新的疲劳可靠寿命计算方法.东北大学学报(自然科学版),2000,21
(1):
42-45
[3]宋来忠,王志明数学建模与实验,北京科学出版社2005.8
附录
模型一:
Lingo代码:
sets:
times/123456789101112/:
start1,start2,required;
endsets
data:
required=151515354040403031353020;
enddata
min=@sum(times:
start1+start2);
@for(times:
@gin(start1));
@for(times:
@gin(start2));
@for(times(J));
start1(@wrap(J+8,12))+
start1(@wrap(J+9,12))+
start1(@wrap(J+11,12))+
start1(@wrap(J,12))+
start1(@wrap(J+6,12))+
start1(@wrap(J+8,12))+
start1(@wrap(J+10,12))+
start1(@wrap(J,12))+
>=required(J);
end
运行结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
1
1
0
1
1
2
1
1
0
1
1
3
1
1
0
1
1
4
1
1
0
1
1
5
1
1
0
1
1
6
1
1
0
1
1
7
1
1
0
1
1
8
1
1
0
1
1
9
1
1
0
1
1
10
1
1
0
1
1
11
1
1
0
1
1
12
1
1
0
1
1
13
1
1
0
1
1
14
1
1
0
1
1
15
1
1
0
1
1
16
1
1
0
1
1
17
1
1
0
1
1
18
1
1
0
19
1
1
1
1
0
20
1
1
1
1
0
21
1
1
1
1
0
22
1
1
1
23
1
0
1
1
1
24
1
0
1
1
25
1
0
1
0
1
0
1
26
1
0
1
0
1
0
1
27
1
0
1
0
1
0
1
28
1
0
1
0
1
0
1
29
1
0
1
0
1
0
1
30
1
0
1
0
1
0
1
31
1
0
1
0
1
0
1
32
1
0
1
0
1
0
1
33
1
0
1
0
1
0
1
34
1
0
1
0
1
0
1
35
1
0
1
0
1
0
1
36
1
0
1
0
1
0
1
37
1
0
1
0
1
0
1
38
1
0
1
0
1
0
1
39
1
0
1
0
1
0
1
40
1
0
1
0
1
0
1
41
1
0
1
0
1
0
1
42
1
0
1
0
1
0
1
43
1
0
1
0
1
0
1
44
1
0
1
0
1
0
1
45
1
0
1
0
1
0
1
46
1
0
1
0
1
0
1
47
1
0
1
0
1
0
1
48
1
0
1
0
1
0
1
49
1
0
1
0
1
0
1
50
1
0
1
0
1
0
1
51
1
0
1
0
1
0
1
52
1
0
1
0
1
0
1
53
1
0
1
0
1
0
1
54
1
0
1
0
1
0
1
55
1
0
1
0
1
0
1
56
1
0
1
0
1
0
1
57
1
0
1
0
1
0
1
58
1
0
1
0
1
0
1
59
1
0
1
0
1
0
1
60
1
0
1
0
1
0
1
61
1
0
1
0
1
0
1
62
1
0
1
0
1
0
1
63
1
0
1
0
1
0
1
64
1
0
1
0
1
0
1
65
1
0
1
0
1
0
1
66
1
0
1
0
1
0
1
67
1
0
1
0
1
0
1
68
1
0
1
0
1
0
1
69
1
0
1
0
1
0
1
70
1
0
1
0
1
0
1
71
1
0
1
0
1
0
1
72
1
0
1
0
1
0
1
73
1
0
1
0
1
0
1
74
1
0
1
0
1
0
1
75
1
0
1
0
1
0
1
76
1
0
1
0
1
0
1
77
1
0
1
0
1
0
1
78
1
0
1
0
1
0
1
79
1
0
1
0
1
0
1
80
1
0
1
0
1
0
1
81
1
0
1
0
1
0
1
82
1
0
1
0
1
0
1
83
1
0
1
0
1
0
1
84
1
0
1
0
1
0
1
85
1
0
1
0
1
0
1
86
1
0
1
0
1
0
1
87
1
0
1
0
1
0
1
对应护士工作安排如下:
模型2:
Lingo代码:
sets:
times/123456789101112/:
start1,start2,required;
endsets
data:
required=151515354040403031353020;
enddata
min=@sum(times:
start1);
@sum(times:
start1+start2)=80;
@for(times:
@gin(start1));
@for(times:
@gin(start2));
@for(times(J));
start1(@wrap(J,12))+
start1(@wrap(J+6,12))+
start1(@wrap(J+7,12))+
start1(@wrap(J,9))+
start1(@wrap(J+11,12))+
start1(@wrap(J+7,12))+
start1(@wrap(J+8,12))+
start1(@wrap(J+10,12))+
start1(@wrap(J,12))+
>=required(J);
end
运行结果:
时间工作表安排如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
1
1
0
1
0
1
1
2
1
1
0
1
0
1
1
3
1
1
0
1
0
1
1
4
1
1
0
1
0
1
1
5
1
1
0
1
0
1
1
6
1
1
0
1
0
1
1
7
1
1
0
1
0
1
1
8
1
1
0
1
0
1
1
9
1
1
0
1
0
1
1
10
1
1
0
1
0
1
1
11
1
1
0
1
0
1
1
12
1
1
0
1
0
1
1
13
1
1
0
1
0
1
1
14
1
1