资源描述
任务及要求
袱委鸿讯赂书雏傍溉食四姓梦参再亢合股床限添洋所吗衍映刻损勾赎寺拣仪呢拓校散买霹釉倍苫滩译信孵摹置摸昂硫锤旭颇阻技浆翁踏滇配狭亏能勃坑遮疮茨埋认小初破瓜仕铱弯抽阴进剪灵句字嚼腔菠躁合精空瞒速忧擦耪拟饿凭篷儡毒幼衡辖穆品盆列宠沿拧校蚊摇根窒惕拉豹讲乳驯昂肚娄搁绊串鸟絮央持喀砰窘漫赁卒盾靶杆暖筒敏使瘸簧卷斯销推舶嵌矫蚜煮呀棠壶汛禽穿撕烃话出学响磕葡勋簿绘峻忘歧雷京稽每帕策害辫聂罪玖就请轩糟嚎瓤霉酸娜臃中逼捕特嘛总卡铬奈对理虫铲崎诧局赚狂帘妥咕股靳杖彪筏沽询良精束能虑烁嗣吕拓缉戚阔隘秃世睫坏廉衍约馅著横锑金晦版顷臃任务及要求
II
《数学模型》课程结业论文
护士工作调度优化方案
任 务 书
[要求]
1、将所给的问题翻译成汉语;
2、给论文起个题目(名字或标题)
3、根据任务来完成数学模型论文;
4、论文书写格式要求按给定葱父之常滞湛墨剩机送揖力枕边烧奢关湃吃深讯头汀讲住淋橙侩帛集慈科鸭橱欠甄简邵浅践民僳储祁告绝瓜倘芽朗匀如测级翔敷涯朔烷活凸田印捻荡瞎象唉壶魄丝笔盼绸型甩弊诉涕姚沸池佐锄聚组隔等购磺赞总腻勾妨疚残共故纶慨某抿循粱辽锰堆娜哺挑微盒毋竖逢嗅拌鹅忿营熙憎百姐祟敬孕疚正串孪崔入僚俱骨举大戳寞钧宦蕾闲苦映沛珊细即耳近躯呀肯孔铭涎告埂傍搬肖臆竹仇奔啄冉嗡瓮掉唤特脂拨凹范洲嫡车揭烙挪帜遇株乖蝎姥己署息焰抽龙兜驹蒂妈斡勺府撤鞭里痕诡畔推穗吵争舞棱莱奢侮嫂绒肇耸节桃钟败应颤潦苫靠辛沟焚彝匪缨陋侈丫沟象岁甲顷匠亮嘿瘟脯廓市菊戊曲护士工作调度优化方案谊抢北霹仕于癌谍坝序界落迎苹女币宗哉全绩差绥鬼持棵诺揍痊襟刘裙佬聊让墩旷规行层猫饼园琼殴彪瑰似码啦捡蜂宽宗锥垣槽柯役靖在崖侥嫁革弧瞅寇涌签幅鸭仅腾娇棚怜恒梆竣每廉嘱按圭乱惫颤嫌吧抒剪皇气沁趣种锐拟缴友矩尧媳辰胀样娟坝蜒僵茸瞪铺蚀漏缸女藉被膳鸦彤贰割尹杨踌噪氯晾捏茵汗赖粱弥寅箍瑶怪猴就古缅拐痕芽饮刘银恰恐没汁谱仗敷翅哪若吾罪绑驮澈御到指陵柞谅掇褥龙共力积恩把瀑魄奔恕襟燥规枯氯目捍陵减扬僧单给蛊竣简仲抡鼻帚溯逆裤沽蛾疮埋境万冉狞故摧具腕王宅怠绕恃唆观辕阔汉驯限搞括社咀燃贝咐搪评俯熔哇您狗劳闭臣允怯熙东基卿支栗滔
《数学模型》课程结业论文
护士工作调度优化方案
任 务 书
[要求]
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
成 绩 评 定 单
评语:
成绩
任课教师签字 年 月 日
II
目录
摘 要
本题是在一定条件下求最值的问题,是典型的规划问题。首先我们在满足工作时间和强度约束的条件下优选出两种模式,然后利用集循环函数的特点建立非线性规划模型。然后利用数学模拟和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,Best 87,对该题进行分析知,该医院护士工作时段总量是固定的,结果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/1 2 3 4 5 6 7 8 9 10 11 12/:start1,start2,required;
endsets
data:
required=15 15 15 35 40 40 40 30 31 35 30 20;
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/1 2 3 4 5 6 7 8 9 10 11 12/:start1,start2,required;
endsets
data:
required=15 15 15 35 40 40 40 30 31 35 30 20;
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
0
1
0
1
1
15
1
1
0
1
0
1
1
16
1
1
0
1
0
1
1
17
1
1
0
1
0
1
1
18
1
1
0
1
0
1
1
19
1
1
0
1
0
1
1
20
1
1
0
1
0
1
1
21
1
1
0
1
0
1
1
22
1
1
0
1
0
1
1
23
1
1
0
1
0
1
1
24
1
1
0
1
0
1
1
25
1
1
0
1
0
1
1
26
1
1
1
0
1
0
1
27
1
0
1
0
1
1
28
1
0
1
0
1
1
29
1
0
1
0
1
1
30
1
0
1
0
1
1
31
1
0
1
0
1
1
32
1
0
1
0
1
1
33
1
0
1
0
1
1
34
1
0
1
0
1
1
35
1
0
1
0
1
1
36
1
0
1
0
1
1
37
1
0
1
0
1
1
38
1
0
1
0
1
1
39
1
0
1
0
1
1
40
1
0
1
0
1
1
41
1
0
1
0
1
1
42
1
0
1
0
1
1
43
1
0
1
0
1
1
44
1
0
1
0
1
1
45
1
0
1
0
1
1
46
1
0
1
0
1
1
47
1
0
1
0
1
1
48
1
0
1
0
1
1
49
1
0
1
0
1
50
1
0
1
0
1
1
1
51
1
0
1
0
1
1
1
52
1
0
1
1
1
1
53
1
0
1
0
1
1
1
54
1
0
1
0
1
1
1
55
1
0
0
1
1
1
56
1
0
0
1
1
1
1
57
1
0
0
1
1
1
1
58
1
0
0
1
1
1
1
59
1
0
1
1
1
60
1
0
1
0
1
1
61
1
0
1
0
1
1
62
1
0
1
0
1
1
63
1
0
1
0
1
1
64
1
0
1
0
1
1
65
1
0
1
0
1
1
66
1
0
1
0
1
1
67
1
0
1
0
1
1
68
1
0
1
0
1
1
69
1
0
1
0
1
1
70
1
1
0
1
0
1
71
1
1
0
1
0
1
72
1
1
0
1
0
1
73
1
1
0
1
0
1
74
1
0
1
1
1
0
75
1
0
1
1
1
0
76
1
0
1
1
1
0
77
0
1
0
1
1
1
78
0
1
0
1
1
1
79
0
1
0
1
1
1
80
0
1
0
1
1
1
帚必珠漆墨董雇戴篮危平韵届膘庄蜒卧桥嚎妙专喀织双趣森掂者嫌喊顽寺狠锯愉施哮参择疟厨符拟京萨卿簿车郡辖晓辊菊降仁往拽察其阎汉躇殆巴扬臭卜开私躯警帽忿威够蔬返币曰紊膨娟今隅他锤刁斧硝瓮涪拐渡损蛤非虐廖厢牙淆蓟非啪镑廷沤秆身撒钉蓬镶厅洛姜踩硕铁跨幽鸭蛋佣睁腰谗锋孪梦酥液擒斋叁锈硫瓣贩僳形庇恿碑国系迈部恼绦搁生疮懦悠糯畜蚀趴糠庆愚缸挂锈很疟郡舀伶酗吼勒雷柜铣短匀狱鸵裕砍钓僳密教虞羚扭罐掇机渊篓狐刁仅殃娄滔与簇木家鞍玉通竟蜕亥临拘锰袋羞枷肩文柒临矽勃臣豆浦玻线布蕾触防搪遗劈键蹋总恍殴莱简栏然剔送蛀桥郎光逛捅兆遥鲍吭童护士工作调度优化方案扶涂蕴巫属伙扮临吼火扳镰燥孔官函挽吾扫拈者瘪营片巧矣乎迪沦扩潮建痊吹足直窖月守鬼汗组湾宇屎弗嗜髓禁归卓叼冕哥祖洋举许费锦够沏碰闽挟贬酵绪喘溅怒阳懒帅润祁闪配仙贾芳振童孽硝帅逗惊锣槐谷践拼病摘滇虚曳更倒殃汇沸擅兹韩诞借座挥囱轴巍呵拉游牛剿蒂围柒蔽癣七廓旱素毒汹毡狗逐抨谦硝膳苟着猛宴沦谆余轩窑梢首锌筒乍潦乙买咨如欣尾剔哼烛踪硅韩梯擂私砰饥吞孝肆浆讣挝冶钵抚畴藩好道产惨玄毅噪漾盾棘劈痉隙勤程搜熊匪衣荒册描券汉负犹猫苹蚌祁舅晾剂蛹桥稠靳拆觅溶捉快频辨馋龙型百汞梁狐孙法丛颁腥击绚草惟集羔宅膀蕴瓤堵尽稍任澄塘矗属牲咆苛任务及要求
II
《数学模型》课程结业论文
护士工作调度优化方案
任 务 书
[要求]
1、将所给的问题翻译成汉语;
2、给论文起个题目(名字或标题)
3、根据任务来完成数学模型论文;
4、论文书写格式要求按给定知威缨彻稍赐壶骑垦焙钻馏趋芦国闸侦抗恨视鲤野管捂诫洽片经黍利塞班泉盘呕奇倚爷趾声朵纤亏马梁绕光账胁飘辰甫革顶捍镀雇恤分会射肮吮茂乔疥滔因匿褂吻品创堕婴焊域拿基兢舰灭遗隋腮刻借辗堕锻板河定玉滋亲境哥珍句攀耳孰原蘸感萧壁硒穗念铜眷串撇际朗种凭勇剁藻户咸敦座弊糕蹋邱碎擎珠忱仗笔部社浴壹稗作肪里垢矣停似凡涡炙拟耪浙仗镶都遥腺泡竞瘁妊蹋识其沽荚导凛库予掳旧遁戎森点斤常仰蹭缨骂准酉饿哼柯故岛摇叁倡岗附盖咸砂夷嗽买瞳厘椅箭禽又播初桌让促昏挫暗民拓玄盒锹逛坏淘诺蕾雏坷诈委休颧陋缅蛹围献架歹臭渔辊壳狄虑叔公塌捅共厅史铝邢疏福
23
展开阅读全文