一种基于模拟退火算法的护工排班方法技术

技术编号:33033925 阅读:19 留言:0更新日期:2022-04-15 09:11
本发明专利技术公开了一种基于模拟退火算法的护工排班方法,涉及护工排班技术领域。该护工排班方法通过养老院的护工总人数、护工每天护理的工作量、护工每天的班次数、需要排班的天数、每班次的护工人数以及约束条件进行护工排班,并构建能量函数,通过模拟退火算法更新能量函数,并与上一次的能量函数进行比较判断是否保存此次护工排班方式,将保存的护工排班方式中能量函数最小的作为最优解。本发明专利技术基于模拟退火算法的护工排班方法通过模拟退火算法提升了得到最优排班方式的可能性,解决了手动排班工作量大,逻辑复杂的问题。逻辑复杂的问题。逻辑复杂的问题。

【技术实现步骤摘要】
一种基于模拟退火算法的护工排班方法


[0001]本专利技术涉及护工排班
,具体地,涉及一种基于模拟退火算法的护工排班方法。

技术介绍

[0002]护工排班是养老机构中广泛存在的工作场景。传统的手工排班方式不仅工作量大,而且在排班逻辑比较复杂的情况下,很难保证不出现问题。随着信息化的深入,一些养老机构也引入了信息化管理系统,虽然包含自动排班功能,但是都是基于固定班次轮流排班的方式进行排班(即每天分成若干班次,每班人数相等),而养老机构中每天的护理工作量可能并不相同,按照固定班次排班时,会出现分配不均的情况。如果出现某个班次工作量太多的情况,将会影响护工的服务质量。

技术实现思路

[0003]针对现有技术中存在的问题,本专利技术提供了一种基于模拟退火算法的护工排班方法,以模拟退火算法为基础,优化养老机构中护工排班方式,减轻排班工作负担,提高护工服务质量。
[0004]为实现上述技术目的,本专利技术采用如下技术方案:一种基于模拟退火算法的护工排班方法,具体包括如下步骤:
[0005](1)根据养老院的护工总人数、护工每天护理的工作量、护工每天的班次数、需要排班的天数、每班次的护工人数以及约束条件进行护工排班,计算每个护工每个班次护理工作量的平均值Kavg、一个班次中护工护理工作量的最大值Kmax、一个班次中护工护理工作量的最小值Kmin以及每个班次护理工作量的方差Kvar,构建能量函数f(T
i
)=a*(Kmax

Kmin)+b*|Kavg
>‑
K|+c*Kvar,其中,a表示第一项权重系数,b表示第二项权重系数,c表示第三项权重系数,K表示护工的合理工作量;设置初始温度T0,将T0代入能量函数f(T
i
);
[0006](2)根据T
i
=n*T
i
‑1降低温度,其中n表示比例因子,取值为(0,1),i表示温度降低的次数,T
i
‑1表示第i

1次降低的温度,T
i
表示i次降低的温度;将每个班次每个护工的护理工作量随机调整,并按照约束条件,重新进行护工排班,更新每个护工每个班次护理工作量的平均值Kavg、一个班次中护工护理工作量的最大值Kmax、一个班次中护工护理工作量的最小值Kmin以及每个班次护理工作量的方差Kvar,并更新能量函数f(T
i
);
[0007](3)根据更新的能量函数f(T
i
)判断此次护工排班方式是否优于上一次的护工排班方式,如护工排班方式优于上一次的护工排班方式,将此次的护工排班方式进行保存;否则,计算接收概率,并通过接收概率随机保存此次护工排班方式;
[0008](4)重复步骤(2)

(3),直至降低的温度T
i
‑1小于设定的阈值,将保存的护工排班方式进行对比,将能量函数最小的护工排班方式作为最优解。
[0009]进一步地,所述约束条件为:护工每周休息两天,同一护工的班次不连续,所有护工的班次相当,每个班次至少有一个护工,每个班次每个护工具有合理的护理工作量。
[0010]进一步地,所述每个班次每个护工具有合理的护理工作量的满足条件为:该班次中护工护理工作量的方差最小且该班次中一名护工护理工作量的最大值Kmax与一名护工护理工作量的最小值Kmin之差最小。
[0011]进一步地,步骤(3)中当更新的能量函数小于上一次能量函数时,则将此次的护工排班方式进行保存。
[0012]进一步地,步骤(3)中当更新的能量函数大于等于上一次能量函数时,计算接收概率
[0013]进一步地,所述通过接收概率随机保存此次护工排班方式具体为:根据计算的接收概率设置一组0和1的数组,其中1的总量表示接收概率,0的总量表示1

接收概率,在数组中随机选择一个数,若该数为1,保存此次护工排班方式;否则,不保存此次护工排班方式。
[0014]与现有技术相比,本专利技术具有如下有益效果:本专利技术基于模拟退火算法的护工排班方法通过模拟退火算法提升了得到最优排班方式的可能性,解决了手动排班工作量大,逻辑复杂的问题;同时,根据护理工作量确定每个班次护工人数,保持每个班次每个护工的平均工作量相对均衡,提升服务质量。
附图说明
[0015]图1为本专利技术基于模拟退火算法的护工排班方法的流程图。
具体实施方式
[0016]下面结合附图对本专利技术的技术方案作进一步地解释说明。
[0017]当护工人数、班次数量增加时,排班的计算量会急剧膨胀,很难通过穷举的方式获得最优解,通过引入模拟退火算法,引入温度和能量函数的概念,在温度降低的同时,对每个班次每个护工的护理工作量进行随机调整,不断寻求新的解,并判断当前解是否应当被接受。如图1为本专利技术基于模拟退火算法的护工排班方法的流程图,该护工排班方法具体包括如下步骤:
[0018](1)根据养老院的护工总人数、护工每天护理的工作量、护工每天的班次数、需要排班的天数、每班次的护工人数以及约束条件进行护工排班,本专利技术中约束条件为:护工每周休息两天,同一护工的班次不连续,所有护工的班次相当,每个班次至少有一个护工,每个班次每个护工具有合理的护理工作量,且每个班次每个护工具有合理的护理工作量的满足条件为:该班次中护工护理工作量的方差最小且该班次中一名护工护理工作量的最大值Kmax与一名护工护理工作量的最小值Kmin之差最小,从而使得护工平均工作量接近合理工作量的情况下,不出现某一天的工作量过大或某一天的工作量过小。计算每个护工每个班次护理工作量的平均值Kavg、一个班次中护工护理工作量的最大值Kmax、一个班次中护工护理工作量的最小值Kmin以及每个班次护理工作量的方差Kvar,构建能量函数f(T
i
)=a*(Kmax

Kmin)+b*|Kavg

K|+c*Kvar,其中,a表示第一项权重系数,b表示第二项权重系数,c表示第三项权重系数,K表示护工的合理工作量;设置初始温度T0,将T0代入能量函数f(T
i
);该能量函数通过设置Kmax

Kmin,使得各个护工、各个班次的护理工作量尽量不出现过多或过少的极端情况;设置|Kavg

K|,使护工的平均工作量相对接近护工的理想负荷;设置
Kvar,使得护工之间、各个班次之间工作量差异降低,以实现更加均衡的目的。
[0019](2)根据T
i
=n*T
i
‑1降低温度,其中n表示比例因子,取值为(0,1),i表示温度降低的次数,T
i
‑1表示第i

1次降低的温度,T
i
表示i次降低的温度;将每个班次每个护工的护理工作量随机调整,由于护工工作量的变化,每个班次人数也将会发生变化,从而每个班次护工的工作量也将本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于模拟退火算法的护工排班方法,其特征在于,具体包括如下步骤:(1)根据养老院的护工总人数、护工每天护理的工作量、护工每天的班次数、需要排班的天数、每班次的护工人数以及约束条件进行护工排班,计算每个护工每个班次护理工作量的平均值Kavg、一个班次中护工护理工作量的最大值Kmax、一个班次中护工护理工作量的最小值Kmin以及每个班次护理工作量的方差Kvar,构建能量函数f(T
i
)=a*(Kmax

Kmin)+b*|Kavg

K|+c*Kvar,其中,a表示第一项权重系数,b表示第二项权重系数,c表示第三项权重系数,K表示护工的合理工作量;设置初始温度T0,将T0代入能量函数f(T
i
);(2)根据T
i
=n*T
i
‑1降低温度,其中n表示比例因子,取值为(0,1),i表示温度降低的次数,T
i
‑1表示第i

1次降低的温度,T
i
表示i次降低的温度;将每个班次每个护工的护理工作量随机调整,并按照约束条件,重新进行护工排班,更新每个护工每个班次护理工作量的平均值Kavg、一个班次中护工护理工作量的最大值Kmax、一个班次中护工护理工作量的最小值Kmin以及每个班次护理工作量的方差Kvar,并更新能量函数f(T
i
);(3)根据更新的能量函数f(T
i
)判断此次护工排班方式是否优于上一次的...

【专利技术属性】
技术研发人员:廖继康曹李强采小伟吴二刚
申请(专利权)人:南京迈特望科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1