The invention discloses a random search algorithm based on variable neighborhood nurse scheduling method, which comprises the following steps: nurse scheduling must satisfy the constraints set, the objective function is established; generate a random initial solution, and as the current solution and the optimal solution of history; using random variable neighborhood search algorithm for the optimal solution iterative search and set iteration termination conditions; the iterative process, the use of random selection of exchange or mobile operator on temporary solution operation; the objective function as a temporary solution of the search value is less than or equal to the objective function value corresponding to the current solution, the temporary search solution as the new current solution; otherwise if the number of iterations, to meet a certain threshold, the historical optimal solution set to the current solution and perturbation operators get a new current solution. The technical scheme of the invention can be used for rapid and efficient scheduling of nurses.
【技术实现步骤摘要】
基于随机变邻域搜索算法的护士排班方法和装置
本专利技术涉及人员调度领域,尤其涉及一种基于随机变邻域搜索算法的护士排班方法和装置。
技术介绍
医院科室里的多约束人员排班问题一直以来都是充满挑战性的工作。建立一个护士排班表不仅要考虑科室里的工作负载,同时需要考虑护士自身的技术水平和需求等因素。如果进行人工排班则非常费时,而目前仍有许多医院的科室对护士表进行人工的排班。利用软件进行排班表的建立是一项复杂且难解的离散优化问题。过去几十年,许多算法被研究出来。解决护士排班的算法可以分类两大类:分别是基于整数规划的确定性算法和基于启发式策略或元启发搜索框架的启发式搜索算法。前者可以找到确定的最优解但花费时间较长而后者可以较为快速的找到近似的最优解。如何在复杂的约束条件下高效的进行护士排班仍然是本领域技术人员需要解决的技术问题。
技术实现思路
为了解决上述问题,本专利技术提供一种基于随机变邻域搜索算法的护士排班方法和装置,使用随机交换和移动两个算子对排班表的解进行迭代的搜索,并使用一个循环移动算子对解进行扰动使其能够跳出局部最优。本专利技术采用的随机变邻域搜索算法较已有的变邻域搜索算法更为简单且更为稳定,能够达到目前已有的最好算法性能。为了实现上述目的,本专利技术采用如下技术方案:一种基于随机变邻域搜索算法的护士排班方法,包括以下步骤:步骤1:设定护士排班需满足的约束条件,建立目标函数;步骤2:生成一个随机的初始解,并将其作为当前解和历史最优解;步骤3:采用随机变邻域搜索算法对当前解进行迭代搜索,并设置迭代终止条件;所述迭代过程中,使用随机选择交换或者移动操作算子对临时解, ...
【技术保护点】
一种基于随机变邻域搜索算法的护士排班方法,其特征在于,包括以下步骤:步骤1:设定护士排班需满足的约束条件,建立目标函数;步骤2:生成一个随机的初始解,并将其作为当前解和历史最优解;步骤3:采用随机变邻域搜索算法对当前最优解进行迭代搜索,并设置迭代终止条件;所述迭代过程中,随机选择交换或者移动操作算子,对临时解,即当前解的副本执行操作;当临时解对应的目标函数值小于等于当前解对应的目标函数值时,将该临时解作为新的当前解;反之,若迭代次数满足一定阈值,将历史最优解设为当前解并执行扰动操作算子得到新的当前解。
【技术特征摘要】
1.一种基于随机变邻域搜索算法的护士排班方法,其特征在于,包括以下步骤:步骤1:设定护士排班需满足的约束条件,建立目标函数;步骤2:生成一个随机的初始解,并将其作为当前解和历史最优解;步骤3:采用随机变邻域搜索算法对当前最优解进行迭代搜索,并设置迭代终止条件;所述迭代过程中,随机选择交换或者移动操作算子,对临时解,即当前解的副本执行操作;当临时解对应的目标函数值小于等于当前解对应的目标函数值时,将该临时解作为新的当前解;反之,若迭代次数满足一定阈值,将历史最优解设为当前解并执行扰动操作算子得到新的当前解。2.如权利要求1所述的一种基于随机变邻域搜索算法的护士排班方法,其特征在于,所述目标函数表示为:这里pj(Ci)表示护士Nj的软性约束Ci的值惩罚值,f(x)是整个排班表的目标函数值。3.如权利要求1所述的一种基于随机变邻域搜索算法的护士排班方法,其特征在于,当临时解对应的目标函数值小于当前解对应的目标函数值时,还重新计数迭代次数。4.如权利要求1所述的一种基于随机变邻域搜索算法的护士排班方法,其特征在于,对当前解执行扰动操作算子时,还重新计数迭代次数。5.如权利要求1所述的一种基于随机变邻域搜索算法的护士排班方法,其特征在于,所述随机选择交换或者移动操作算子,对临时解执行操作包括:随机选取两个护士、一段时间长度,和[0,1]间的随机数b;若b<0.95,采用交换操作算子,若b≥0.95,采用移动操作算子。6.如权利要求5所述的一种基于随机变邻域搜索算法的护士...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。