本技术涉及人员调度,特别是涉及一种基于联合整数规划与遗传算法的人员任务分配方法和装置。
背景技术:
1、人员排班问题是医疗管理领域著名的np难组合优化问题。它涉及在给定时间段内将轮班分配给一组人员,目的是在满足各种约束条件并优化某些目标的同时为人员分配轮班。有效解决人员排班问题对于医疗机构确保充足的人员配备水平和维持高质量的患者护理服务至关重要。
2、近年来,大量研究工作致力于开发有效的算法,旨在解决人员排班问题。精确解算法始终是研究人员首先采用的方法。然而,np难的人员排班问题并不总能在有限的时间内得到最优解,混合解决方案将是一种选择。一些研究集中于开发与启发式算法相结合的精确算法,特别是与整数编程(ip)相结合,以解决人员排班问题。研究人员提出了各种ip模型扩展,例如考虑多阶段调度以及对调度过程中的历史信息进行建模,这些扩展增强了所开发模型的准确性和实用性。此外,基于灵活的混合整数编程的系统被设计用于处理现实世界的人员排班场景。这些方法利用不同的公式和优化技术来获得人员排班问题的最佳解决方案。
3、近似解算法是解决人员排班问题的另一种方法。这些算法旨在在实际时间范围内提供合理的解决方案。模拟退火、变量邻域搜索、精英蚂蚁以及结合这两种技术的混合算法已被广泛用于近似人员排班的最佳解决方案。这些方法利用元启发式算法固有的搜索功能,在生成可行且高质量的时间表方面表现出值得称赞的功效。混合方法集成了精确和近似求解方法,代表了解决人员排班问题的普遍策略。可变邻域搜索与动态规划或遗传算法的结合已被提出作为一种混合算法方法,旨在提高人员排班的解决方案质量和效率。混合遗传算法和神经网络辅助方法具有良好的性能。不同技术的结合可以全面探索解决方案空间并更有效地搜索最佳解决方案。与单独使用单个算法相比,这些混合方法已经证明了性能的提高。
4、尽管在解决人员排班问题方面取得了进展,但仍然存在一些挑战。随着问题规模的增加,精确求解算法的可扩展性成为一个限制。此外,近似解算法可能会产生次优解。为了应对这些挑战,需要进一步整合精确求解技术和近似求解技术的优点。精确解算法的准确性和最优性可以通过近似解算法的效率和可扩展性来补充,从而为人员排班提供更有效的调度解决方案。
5、遗传算法是启发式算法中处理nrp问题的经典且可行的方法。算法通过选择、交叉和变异操作迭代改进解决方案来研究自然进化的过程。虽然遗传算法已经显示出有希望的结果,但由于它们依赖随机性并且可能陷入局部最优,因此它们可能很难找到最佳解决方案。精确方法中的另一种经典方法是通过整数规划(ip)模型来解决人员排班问题,并使用精确方法来解决它,这在小规模实例中是有效的。ip模型提供了问题的数学表示,如果给予足够的计算资源,可以保证最优解决方案。然而,精确方法计算复杂性高。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种基于联合整数规划与遗传算法的人员任务分配方法和装置。
2、一种基于联合整数规划与遗传算法的人员任务分配方法,所述方法包括:
3、获取人员排班参数;所述人员排班参数包括人员数量、轮班需求、轮班类型、每一人员具备的轮班资格以及每一轮班类型对应的持续时间;
4、构建人员任务分配模型;所述人员任务分配模型的目标函数包括损失函数,所述人员任务分配模型的约束条件包括班次约束、人员工作时间约束、人员连续轮班数约束、最少连续休息日约束、周末工作的最大数量约束、人员不能工作的日期约束以及轮班需求约束;
5、根据所述人员排班参数和预设的整数规划求解时间,利用整数规划对所述人员任务分配模型进行优化求解,得到所述整数规划求解时间内最优的人员任务分配结果,利用遗传算法对所述人员任务分配结果进行优化,利用整数规划,根据遗传算法优化结果对人员排班参数和所述整数规划求解时间进行重构,迭代上述过程,直到满足第一迭代停止条件时,停止迭代,输出当前的人员任务分配方案;所述人员任务分配方案用于进行人员排班。
6、在其中一个实施例中,所述利用遗传算法对所述人员任务分配结果进行优化的步骤,包括:输入所述人员任务分配结果,将所述人员任务分配结果中每一人员的排班情况编码为染色体;计算每一染色体对应的适应度函数值;其中,适应度函数为所述损失函数;迭代执行遗传进化操作,直至满足第二迭代停止条件时,输出当前的人员任务分配结果。
7、在其中一个实施例中,所述遗传进化操作包括:选择适应度函数值较优的染色体执行交叉操作和变异操作。
8、在其中一个实施例中,所述目标函数为:
9、
10、其中,qidt为人员i在日班t休息的处罚,xidt为人员i在日班t是否值班t类型班次,pidt为人员i在日班t工作的处罚,ydt为第d天班次t值班人数低于udt的数量,zdt为第d天班次t值班人数高于udt的数量,udt为第d天所需的轮班数,为d日班次t值班人数多于规定的处罚,为d日班次t值班人数少于规定的处罚,i∈{1,2,…im},i为人员编号,im为最大人员数量,d∈{1,2,…dm},d为日期,dm为总天数,t∈{1,2,…tm},t为轮班类型,tm为轮班类型编号。
11、在其中一个实施例中,所述班次约束包括:人员每天轮班数量不超过一个班次、人员轮班班次不相邻以及人员在排班时间内的轮班班次不超过最大班次数;所述人员工作时间约束包括人员在排班时间内的工作时长不超过最长工作时间并且不低于最短工作时间;所述人员连续轮班数约束包括人员连续轮班数不超过连续工作班次的最大数量并且不低于连续工作班次的最小数量。
12、一种基于联合整数规划与遗传算法的人员任务分配装置,所述装置包括:
13、参数获取模块,用于获取人员排班参数;所述人员排班参数包括人员数量、轮班需求、轮班类型、每一人员具备的轮班资格以及每一轮班类型对应的持续时间;
14、模型构建模块,用于构建人员任务分配模型;所述人员任务分配模型的目标函数包括损失函数,所述人员任务分配模型的约束条件包括班次约束、人员工作时间约束、人员连续轮班数约束、最少连续休息日约束、周末工作的最大数量约束、人员不能工作的日期约束以及轮班需求约束;
15、优化求解模块,用于根据所述人员排班参数和预设的整数规划求解时间,利用整数规划对所述人员任务分配模型进行优化求解,得到所述整数规划求解时间内最优的人员任务分配结果,利用遗传算法对所述人员任务分配结果进行优化,利用整数规划,根据遗传算法优化结果对人员排班参数和所述整数规划求解时间进行重构,迭代上述过程,直到满足第一迭代停止条件时,停止迭代,输出当前的人员任务分配方案;所述人员任务分配方案用于进行人员排班。
16、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
17、获取人员排班参数;所述人员排班参数包括人员数量、轮班需求、轮班类型、每一人员具备的轮班资格以及每一轮班类型对应的持续时间;
18、构建人员任务分配模型;所述人员任务分配模型的目标函数包括损失函数,所述人员任务分配模型的约束条件包括班次约束、人员工作时间约束、人员连续轮班数约束、最少连续休息日约束、周末工作的最大数量约束、人员不能工作的日期约束以及轮班需求约束;
19、根据所述人员排班参数和预设的整数规划求解时间,利用整数规划对所述人员任务分配模型进行优化求解,得到所述整数规划求解时间内最优的人员任务分配结果,利用遗传算法对所述人员任务分配结果进行优化,利用整数规划,根据遗传算法优化结果对人员排班参数和所述整数规划求解时间进行重构,迭代上述过程,直到满足第一迭代停止条件时,停止迭代,输出当前的人员任务分配方案;所述人员任务分配方案用于进行人员排班。
20、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
21、获取人员排班参数;所述人员排班参数包括人员数量、轮班需求、轮班类型、每一人员具备的轮班资格以及每一轮班类型对应的持续时间;
22、构建人员任务分配模型;所述人员任务分配模型的目标函数包括损失函数,所述人员任务分配模型的约束条件包括班次约束、人员工作时间约束、人员连续轮班数约束、最少连续休息日约束、周末工作的最大数量约束、人员不能工作的日期约束以及轮班需求约束;
23、根据所述人员排班参数和预设的整数规划求解时间,利用整数规划对所述人员任务分配模型进行优化求解,得到所述整数规划求解时间内最优的人员任务分配结果,利用遗传算法对所述人员任务分配结果进行优化,利用整数规划,根据遗传算法优化结果对人员排班参数和所述整数规划求解时间进行重构,迭代上述过程,直到满足第一迭代停止条件时,停止迭代,输出当前的人员任务分配方案;所述人员任务分配方案用于进行人员排班。
24、上述基于联合整数规划与遗传算法的人员任务分配方法和装置,通过结合整数规划与遗传算法搜索,为解决人员排班问题提供了一种全面有效的方法,具体是通过整数规划步骤确保初始解决方案满足所有约束,通过遗传算法专注于单独和全局优化每个人员的轮班分配,迭代改进本地和全局层面的人员排班时间表,本文的算法旨在在给定时间范围内找到最佳可能的解决方案,并考虑人员排班问题的具体要求。
1.一种基于联合整数规划与遗传算法的人员任务分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述利用遗传算法对所述人员任务分配结果进行优化的步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述遗传进化操作包括:
4.根据权利要求1所述的方法,其特征在于,所述目标函数为:
5.根据权利要求1所述的方法,其特征在于,所述班次约束包括:人员每天轮班数量不超过一个班次、人员轮班班次不相邻以及人员在排班时间内的轮班班次不超过最大班次数;
6.一种基于联合整数规划与遗传算法的人员任务分配装置,其特征在于,所述装置包括:
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。