护士排班问题管理系统建模与优化作业.docx
《护士排班问题管理系统建模与优化作业.docx》由会员分享,可在线阅读,更多相关《护士排班问题管理系统建模与优化作业.docx(23页珍藏版)》请在冰豆网上搜索。
![护士排班问题管理系统建模与优化作业.docx](https://file1.bdocx.com/fileroot1/2023-2/2/6fd7ca62-fd05-4f4b-b949-227b08e230c6/6fd7ca62-fd05-4f4b-b949-227b08e230c61.gif)
护士排班问题管理系统建模与优化作业
管理系统建模与优化
期末作业
护士排班问题
专业:
管理科学与工程
时间:
2015年1月
1案例背景3
2研究现状3
3案例模型4
3.1护士排班问题4
3.2护士排班模型4
4护士排班算法7
4.1整数规划7
4.2模拟退火算法7
4.3整数规划与模拟退火混合算法8
5案例计算与分析10
5.1案例数据10
5.2分支界定法计算结果13
5.3模拟退火算法仿真结果13
5.4分支界定与模拟退火算法混合仿真结果14
6结论15
16
参考文献
护士排班问题
1案例背景
护理工作是整个医疗卫生工作的重要组成部分,在医疗实践中担负着特殊的工作和任务,是整个医院开展医疗服务的运营基础。
目前各国护士短缺严重,已引起了国外护理管理的高度重视[1]。
我国护士长期处于特殊的环境氛围和接待各种病情的患者,并承受超负荷的工作和长期紧张脑力劳动、不规则的排班等护理状况,它将直接影响护士的身心健康,影响工作质量,造成护患关系的紧张[2]。
科学管理护理资源,有效控制医院护理成本预算和提升患者满意度是目前研究的热点课题[3]。
在目前护理工作量大、应急性险强、不规则轮班,传统的单一的简单排班模式的情况下,由于医院存在控制成本的压力,造成了医院和护士的利益冲突和目标差异,为更好的调高护理质量、降低医院护理成本,需要建立一个完整的带有劳动法规约束和满足护士自身需求的护士排班模型以及护士排班算法。
护士排班问题主要是指在现有医疗资源的约束条件下,从医院的护理成本、护士的满意度、班次的偏好、降低护士工作压力和改善护士身心健康等方面,编制出科学的排班表,从而有效改善排班表的质量和提升护理工作的满意度和社会形象[4]2研究现状
国外对护士排班问题的研究起步较早,护士排班问题已经被临床研究机构和计算机方面研究多达40余年了,护士排班问题是建立在一系列的劳动法规和班次需求约束下的复杂组合优化问题,属于NP问题[5,6,7],目前可行的主要技术是数学规划[8,9,10,11,12]和启发式算法[13,14,15]以及传统数学规划和启发式算法的融合技术,但是国外的劳动法规与护士工作状况与国内完全不同,模型和约束条件与国内存在明显的差异。
而国内护士排班问题研究起步较晚,主要是按功能模式和整体护理模式排班,按固定、弹性、“三班制”、"APN”排班,护士自我排班等简单手工排班模式[16],而定量排班的ILP模型的约束条件并未考虑“APN”等机制和排班公平性等,难以综合考虑以病人的需要为中心、互补增值、均衡平等、稳定机制、人性化原则,故缺乏一套有效的模型优化机制。
由于一系列约束条件和护士的偏好,整个护士排班模型是复杂的组合优化问题,比TSP问题更难的NP问题,解决此问题能有效推动调度算法的改进。
随着现代医院的发展,医院资源的资源紧缺和护士短缺以及护士自身的潜在需求,迫切需要实现信息化的护士排班系统,从而有效的改善护士的管理和工作状况,整合医院的资源优势,更好的为患者服务,有效改善医患关系,促进社会的和谐发展。
3案例模型
3.1护士排班问题
护士排班问题是一种满足系列劳动法规和班次约束的护理资源最优分配问题。
在实际的护士排班中,约束条件主要包括工作强度要求、夜班班次要求、护士对工作环境的满意度、工作时段的偏好和排班公平性等。
护士排班问题的目标就是在一个排班周期内(一周或一月),满足一系列劳动约束和医院资源需求的约束,使得整个医院的护理成本最小化和护士工作的满意度最高。
护士排班问题要服从以下的三个关键假设:
(1)护士排班模型的约束条件必须符合我国现行的劳动法规和大型医院护理工作实际状况。
(2)护士的自身的要求要尽量去满足,这对于护士排班问题的研究是很重要的。
(3)没有必要把在岗的所有护士都考虑在护士排班模型之中。
那些实习和兼职的护士可以实行排班后,根据实际情况动态调整到护士排班表中。
自从2008年5月12日新《护士条例》颁布实施后,我国大部分医院实行“APN”
时间排班制。
"APN”时间制,即每天平均分为3个班次:
其中A班(8:
00-16:
00),P班
(16:
00-0:
00),N班(0:
00-8:
00},若将“休班”定义为R(rest)班,那么护士的排班主要指A班、P班、N班和R班。
其中“APN”充分保证了高峰时段的护理安全。
强约束条件(HardConstraint,HC)是在我国任何医院的护士排班环境中都必须满足的约束条件,否则整个排班表就不可行。
强约束条件主要考虑劳动法规、医院的护理资源和班次约束等:
HC1:
A班和P班均有1-2名中级资质以上的护士;
HC2:
任何一个班次(A班、P班和N班)的护士数不低于实际需求量;
HC3:
每位护士一天最多只能进行一个班次的工作;
HC4:
任何护士在相邻2天的班次不能连续(若第1天排N班,则第2天不能排A班);
HCS:
在一个排班周期内,每位护士的最长工作班次不能超过规定的上限;
HC6:
在一个排班周期内,每位护士的最短工作班次不能少于规定的下限;
HC7:
在一个排班周期内,每位护士的最长连续N班不能超过规定的上限;
HC8:
在一个排班周期内,每位护士的最长连续班次不能超过规定的上限;
弱约束条件(SoftConstraint,SC)是指在医院实际护士排班中尽可能多的去满足的条件,各所医院在实际排班巾将弱约束条件进行调整和增加,本文中主要考虑护士的周末休息和排班的公平性:
SC1:
尽可能多的护士在周末至少休息一天;
SC2:
不对某个护士特殊照顾A班;
如果护士的排班表满足了所有的强、弱约束条件,则为可行的护士排班表,如表3-1
所示:
表3-1可行护士排班表
周一
周二
周三
周四
周五
周六
周日
1
A
A
P
R
N
N
R
2
R
A
N
N
R
P
N
N
P
N
N
R
A
A
R
3.2护士排班模型
护士排班模型的目标就是在一个排班周期内(一周或一月),满足一系列劳动法规、
医院护理资源需求和班次约束条件下,使得整个医院的护理成本最小化和护士工作的满意度最高。
旨在降低医院的护理运营成本,同时有效降低护士工作压力,让护士更好的处理好工作、生活和家庭的关系、从而提高医院的护理工作效率。
参数假设:
每位护士的最长工作时间;每位护士的最短工作时间;每位护士连续夜班的最长时间每位护士连续班次的最长时间
I={1,2,…n}表示n名护士集合;T={1,2,…』表示一个排班周期内的天数集合;K={1,2,3,4}表示每天班次的类型(A,P,N,R);m表示在一个排班周期内,w表示在一个排班周期内,n1表示在一个排班周期内,n2表示在一个排班周期内,
Qjk表示第i位护士在第j天选择第k个班次工作的工资等级,记为Cijk={1,2,3,4,5};djk表示在第j天第k班次对护士的需求量;
pik表示第i位护士对第k个班次的工作满意度,记为pik={1(非常不满意),2(不满意),3(一般),4(满意),5(非常满意)};
Xijk=1表示第i位护士在第J天安排第k个班次,反之Xijk=0;
1,中级及以上职称
qi={
i0,其他入1表示工资成本权重系数,其中凡入1€[0,1];入2表示班次满意度权重系数,其中入2^[0,1];
HC2:
HC3:
HC4:
HC5:
刀刀Xjk
?
i€l
-(38)
j=1
k=1
HC6:
J
3
刀
刀Xjk
>w
?
i€l
-(39)
j=1
k=1
HC7:
r+n
1
Xij3
?
i€l,r
€{1,2,…,J-n〔}
(-310)
j=r
HC8:
r+n23
刀刀Xjki€l,r€{1,2,…,J-ni}(311)
j=rk=1
SC1:
Xj4+Xi(j+i)4>1?
i€{1,2,…,10},?
j€T(312)
SC2:
X23(j)1=0?
j€T-1(33)
护士排班模型要求在任何排班中强约束条件都必须满足,并尽可能多的满足弱约束
:
SC1~>SC2,其中“~>”
条件。
可根据实际环境中的重要性程度将弱约束做出如下的顺序
(17+2n)J+(2+m+n2)n个约束方程。
由于是在固定周期T内进行n位护士排班,并假设每
日分4个班次,故模型的求解难度与护士数量呈线性关系
4护士排班算法
4.1整数规划
整数线性规划(IntegerLinearProgramming,ILP)是最优化理论中比较重要的体系,在工业和工程设计和科学研究方面、计算机设计、系统可靠性、编码和经济分析等诸多领域有广泛应用。
但是整数线性规划问题属于NP难问题,一般不存在多项式算法,目
前求解ILP的方法主要有分支定界法、割平面法、多面体法、列生成法、禁忌搜索和遗传算法等[53,54,55]。
在求解整数线性规划问题中,分支定界算法是一种最常用的方法,分支定界((branchandbound)算法在问题的解空间上采取树形搜索整数规划问题的方法。
分支定界(branchandbound)算法是一种在问题的解空间树上搜索问题的解的方法。
但与回溯算法不同,分支定界算法采用广度优先或最小耗费优先的方法在解空间搜索树,并且在分支定界算法中,每一个活结点只有一次机会成为扩展结点。
对于大规模整数规划问题(IP,直接采取举例法相当的困难,采用“分而治之”(divideandconquer)的策略,先将可行解区域划分为一些小的解集合,然后在较小的解集合上求解相应目标函数的最优值,并将所求结果集成在一起生成原问题的最优解。
在求解较小的解集合对应的子问题时,既可以采用分而治之的策略进行分析,也可以采取其方法对子问题进行求解。
分支定界算法的基本思想是从原问题(IP)的线性规划松弛解X出发,若最优解不符合原问题的整数条件,那么该解X必是原问题的上界?
?
?
而原问题的任何可行解都看作是目标解的一个下界?
?
它将可行解区域划分为若干子区域,并逐步缩小上界?
和?
增大下
界?
?
从而得到最优目标解z*,以求得最优解。
对于0-1整数规划问题的分支定界算法步骤如下所示:
0-I整数规划问题分支界定算法流程[58]
步骤1(初始):
求解原问题(IP)的线性规划松弛解,若得到整数解,则视为原问题的最优解,否则得到原问题的一个上界;
步骤2(分支):
选择适当的变量Xi,分别固定Xi=0和Xi=1得到2个子问题;
步骤3(定界):
选择一个子问题,求解该子问题的线性规划松弛解;
步骤4(剪枝):
若发生下列情况之一,则停止对该问题进行分支(剪枝):
(1)子问题的线性规划松弛解的最优解是整数;
(2)子问题不可行;
(3)子问题的上界等于或小于已知的可行解的目标函数值。
步骤5(最优性):
重复上述过程,直到分支定界树中没有需要考虑的节点(子问题),
则当前最好的可行解就是原问题(IP)的最优解•
4.2模拟退火算法
组合优化(CombinatorialOptimization)问题的目标就是从组合问题的可行解空间
求出最优解,一般包含变量、约束和目标函数这三个基本要素。
在求解过程中选定的基本参数称为变量,对变量取值的种种限制称为约束,表示可行方案衡量标准的函数称为目标函数。
求解组合优化问题就是在目的函数的解集合里找到最适合的解,这必然要求运用一定的算法去降低求解过程的时间复杂性和空间复杂性。
Kirkpatrick等在1982
年结合固体退火过程状态变化的思想,提出一种类似固体退温过程的有效近似算法一模拟退火算法(SimulateAnneal,简称SA),以解决大规模组合优化问题遇到的瓶颈。
模拟退火算法[58,59,60」是解决组合优化问题的算法,它采用Metropolis接受准则使
算法跳离局部“最优”的陷阱,并使用“冷却进度表”来控制整个算法实施过程,最终
使算法能够在
多项式时间内得出一个近似最优解
一个优化问题可以描述为:
其中S是一个离散有限状态空间,i代表状态。
针对这样一个优化问题,SA算法的计算步骤能够描述如下:
min?
?
(?
?
)€S
第1步:
初始化,任选初始解i€S,给定初始温度To和终止温度Tf,令迭代指标k=0,Tk=Too
第2步:
随机产生一个领域解j€N(i),(N(i)表示i的领域),计算目标值增量?
f=f(j)-f(i)o
第3步:
若?
f<0,令i=j转第4步;否则产生随机量E=U(0,1),若exp(-£)>E,
Tk
则令i=jo
第4步:
若达到热平衡(内循环次数大于n(Tk))转第5步;否则转第2步。
第5步:
降低Tk,k=k+1,若Tk上述模拟退火算法流程如图4.1所示。
4.3整数规划与模拟退火混合算法
在护士排班领域研究中,一些算法的混合优化技术已经存在很多年了。
国外将整数规划和领域搜索算法的混合优化策略应用于护士排班领域,有效的改善了解的质量和算
法的效率。
基于上述的研究,本文提出整数规划和模拟退火算法混合优化策略处理护士排班问题的约束条件和护士的潜在要求,从算法的优化机制融合、算法结构互补、优化操作的结合、优化行为的互补和削弱参数的苛刻条件等方面[61]阐述了混合优化机制的优越性,其中整数规划的分支定界算法保证了解的可行解,而模拟退火算法以一定的概率接受劣解,从而有效扩大可行解区域,能高效求解组合优化问题。
分支定界算法(BBA)与模拟退火算法(SA)的混合策略,以下简称BBASA,BBASA算法其算法流程如下:
步骤1:
状态初始化,确定初温;
步骤2:
确定最大点,次大点,最小点;
步骤3:
算法收敛准则是否满足,满足就输出结果;否则转到步骤4;
步骤4:
使用分支定界算法求出局部极小点:
步骤5:
由SA利用“护士互换规则”和“班次调整规则”规则产生函数产生新个体步骤6:
以一定概率接受新个体;
步骤7:
SA抽样稳定,则进行退温操作,跳到步骤3;否则返回步骤5;
步骤8:
退出
上述模拟退火算法流程如图4.2所示。
图4.2BBASA算法流程图
5案例计算与分析
5.1案例数据
本文的护士数据来源于《XX医院护士工作状况调研问卷》的调研结果。
目前某三
甲医院重症科室共有30名护士,其中高、中、初级护士分别3,5和22位。
假设排班周
期为一周J=7),并将每天的工作时间平均分为a班(8:
00-16:
00,p班(6:
00-0:
00)和N班(0:
00-8:
00)三种班次。
影响排班质量的主要因素如表5-1所示。
表5-1排班质量影响因素表
序号
排班影响因素
参考建议
1
连续上班天数
3-4天
2
连续工作时长
3-10小时
3
连续晚班时长
1-2天
4
排班周期内的总班次
4-6天
5
排班周期内的总工时
周工时在40小时左右
6
连续休息天数
1-2天
如护士上了晚班之后应该安排休息,不能又安排
7
换班的合理性
护士继续去上早班
8
排班周期内上班工时的平衡
要保证在排班周期内每个护士的工时相等
9
排班周期内上晚班的平衡
要保证在排班周期内每个护士上晚班的次数相对公平
10
排班周期内休息时间的平衡
要保证在排班周期内每个护士休息的时间相对公平
11
排班周期内班次的平衡
要保证在排班周期内每个护士上的各种班次的次数相对公平
护士上班的时间变化相对稳定,不要每天的变动
12
排班的咼规律性
都很大,提供一种人性化的排班
由上述排班质量影响因素统计表可知,每位护士可连续工作的最长时间是4个班次,可连续夜班的最长时间是2个班次。
在一个排班周期内内每位护士最长工作班次至多为6个班次,最短工作班次至少为4个班次,在排班周期内的总工时大概在40小时左右,而每天“APN”各班次的实际需求护士数目由科室护士长给定,如表5-2所示:
表5-2各班次护士需求人数(A/P/N)
周一
周二
周三
周四
周五
周六
周日
需求
9/6/4
8/5/3
9/6/3
8/5/3
9/7/4
10/7/7
10/7/7
XX医院重症科室采取的是“弹性排班”制,每周的排班表由护士长根据科室的护
士需求量和护士的家庭、生活状态等约束手工排班而成,详细的手工排班表如下表5-3
所示。
表5-3护士原始排班表
序号
周一
周二
周三
周四
周五
周六
周日
1
A
P
R
N
N
A
P
2
A
P
P
R
A
P
N
3
P
A
N
R
A
P
A
4
A
P
N
R
A
A
P
5
P
R
P
R
A
A
P
6
R
R
P
A
P
N
N
7
A
P
P
R
P
N
N
8
A
P
P
R
P
A
P
9
P
R
N
N
R
P
A
10
P
R
N
N
R
P
P
11
P
A
A
R
P
N
R
12
P
A
P
N
P
P
N
13
P
R
A
P
A
R
N
14
P
R
A
N
N
R
P
15
N
N
R
A
P
A
P
16
R
N
R
R
P
N
P
17
N
N
R
A
P
A
N
18
N
N
R
P
N
R
A
19
R
P
A
P
R
P
A
20
R
P
A
P
N
R
A
21
R
A
A
P
P
R
P
22
R
A
P
N
R
A
P
23
N
R
P
A
R
P
A
24
R
P
A
A
R
N
P
25
R
P
R
P
N
N
N
26
R
N
N
R
R
P
P
27
N
N
R
P
A
P
N
28
R
N
N
R
A
P
P
29
R
A
A
P
R
P
P
30
R
P
P
A
N
R
A
由于每位护士在不同班次内的工资成本是不一样的,定义工资成本为5个等级,5
代表最咼级别的工资,1代表最低级别的工资,30位护士的工资级别如下表5-4所示:
表5-4护士工资表
序号
职称
A
P
N
R
1
中
3
4
4
2
2
初
2
3
3
1
3
中
3
4
4
2
4
初
2
3
3
1
5
初
4
5
5
3
6
中
3
4
4
2
7
初
2
3
3
1
8
初
2
3
3
1
9
初
2
3
3
1
10
初
2
3
3
1
11
初
2
3
3
1
12
初
2
3
3
1
13
初
2
3
3
1
14
初
2
3
3
1
15
初
2
3
3
1
16
中
3
4
4
2
17
初
2
3
3
1
18
初
2
3
3
1
19
初
2
3
3
1
20
初
2
3
3
1
21
初
2
3
3
1
22
初
2
3
3
1
23
中
3
4
4
2
24
初
2
3
3
1
25
高
4
5
5
3
26
高
4
5
5
3
27
中
3
4
4
2
28
初
2
3
3
1
29
中
3
4
4
2
30
初
2
3
3
1
每位护士对各个班次的工作满意度是不一样的,定义班次满意度为5个级别,1=非
常不满意,2=不满意,3二一般,4=满意,5=非常满意,为了计算的统一性,将对R班
定义为非常满意,详细的班次满意度表见下表5-5所示
表5-5护士班次满意度
序号
A
P
N
R
1
5
3
2
5
2
5
3
2
5
3
2
5
1
5
4
2
5
1
5
5
5
2
1
5
6
2
5
1
5
7
2
5
1
5
8
5
2
1
5
9
2
5
1
5
10
2
5
1
5
11
5
2
1
5
12
5
2
1
5
13
1
2
5
5
14
2
5
1
5
15
2
5
1
5
16
2
5
1
5
17
2
5
1
5
18
1
2
5
5
19
2
5
1
5
20
2
5
1
5
21
1
2
5
5
22
1
2
5
5
23
5
2
1
5
24
2
5
1
5
25
1
2
5
5
26
1
2
5
5
27
5
3
2
5
28
5
3
2
5
29
2
5
1
5
30
2
5
1
5
5.2分支界定法计算结果
在MATLAB上用分支界定算法对护士排班模型进行仿真实验,并令入1=0.75,入
表5-6护士排班模型计算结果
手工排班表
仿真排班表
偏差
目标值
252.5
155.75
-38.17%
工资成本
575
522
-9.22%
班次满意度
715
943
31.19%
运行时间
/
11.29s
/
2=0.25,其计算结果如表5-6所示。
其中,目标值偏差
仿真目标值-手工目标值
手工目标值
*100%。
工资成本和班次满意度的偏差类似计算。
从表5-6可见,护士排班模型的目标值比
实际手工排班的目标值低38.17%,其中护士工资成本降低9.22%,但是护士对班次的满意度提升了31.19%。
这表明:
基于强、弱约束的护士排班模型明显优于手工排班模式,并且医院管理成本和护士对工作的满意度得到了有效的改善。
5.3模拟退火算法仿真结果
在MATLAB上用模拟退火算法对护士排班模型(2.2.14)进行仿真,采用近邻编码,取初始状态t0=10001,退温策略选用指数倒退函数,即tk=Xtk-1,退温速率入=0.99,迭代终止策略为连续20代不变。