本技术涉及儿童康复排课,具体涉及一种基于改进遗传算法的儿童康复排课方法。
背景技术:
1、随着医疗水平的提高和家长对儿童康复治疗的了解认可,使得康复种类和接受康复治疗的患者数量都急剧增加,医院的儿童康复业务变得越来越复杂。排课问题是康复业务流程中的重要一环,是一个带有约束的多目标优化问题。由于在排课过程中存在许多约束条件和组合因素,这就使得人工手动排课变得非常复杂,需要耗费大量的人力、物力和时间来解决,同时也不方便后期的修改维护。因此亟需一种更加科学、高效的方法方式来处理此问题。
2、现阶段的排课流程为:对儿童的评估结束后,管理人员需要结合患者康复方案、相应治疗师资源、治疗室/治疗设备资源进行排课。此过程需要考虑的问题有:患者需要上哪几种康复课程,每周上课频率是多少,可以上这几种课程的治疗师有哪些,上课的治疗师已有的日程安排是否冲突,对于患者和治疗师的时间安排分布是否科学均匀,治疗室和治疗设备资源是否充足是否冲突等。
技术实现思路
1、本技术为了解决上述技术问题,提出了如下技术方案:
2、第一方面,本技术实施例提供了一种基于改进遗传算法的儿童康复排课方法,包括:
3、根据儿童康复排课的影响因素,随机生成n个排课方案作为n个个体组成初始排课方案种群;
4、通过适应度函数计算种群中各排课方案的适应度,用来评估种群中不同排课方案的优劣;
5、对种群应用遗传算法执行迭代进化以生成新的排课方案添加到下一代种群中,下一代种群取代当前种群;
6、判断生成的排课方案的适应度在连续进化中是否一直保持较低水平,如果是则对种群中最优排课方案进行冲突点检测,对其应用一次修复函数,加快生成更优的排课方案;
7、判断是否触发结束条件,如果结束则输出最优个体,即排课方案的最优解。
8、在一种可能的实现方式中,所述根据儿童康复排课的影响因素,随机生成n个排课方案作为n个个体组成初始排课方案种群,包括:
9、排课方案由p×c×cn个基因q组成,基因q用公式表示为:q=(p,c,e),表示患者p的课程c在t时间内由治疗师l在治疗室r中进行,其中p和c固定已知;
10、初始化一个排课方案,只需随机每个q中的e各项,即随机治疗师、治疗室和上课时间;
11、创建n个随机排课方案,将其组合成一个初始排课方案种群。
12、在一种可能的实现方式中,通过适应度函数计算种群中各排课方案的适应度,用来评估种群中不同排课方案的优劣,包括:
13、根据约束条件定义用于评估排课方案优劣的适应度函数,初始化的排课方案种群并未满足硬约束,评估排课方案的适应度函数中引入了硬约束条件;
14、染色体违反硬约束的惩罚函数定义为:其中,t为染色体,m为染色体t的长度,hc为硬约束的集合,vj表示违反硬约束j的惩罚值;
15、染色体违反软约束的惩罚函数定义为:其中,sc为软约束的集合,ωj为违反软约束j的权重,vj表示违反软约束j的惩罚值。
16、在一种可能的实现方式中,硬约束定义为:
17、治疗师上课时间不能冲突,即在一个时间段内只能给一位患者授课;或者,
18、患者上课时间不能冲突;或者,
19、治疗室可以容纳在同一时间段内的在该治疗室上课的患者数量;或者,
20、患者的部分课程上课时间有天数间隔要求,例如某患者周一已上课程a,为了避免身体受损伤,需要周三才能再次上课程a;
21、软约束定义为:
22、治疗师工作量应该平均,例如同上某课程的治疗师甲和乙的排课表中的日程密度应相近,避免工作量分配不均;或者,
23、患者的课程时间安排应尽量平均;或者,
24、根据患者病种和病情严重程度尽量分配相对应等级的治疗师;或者,
25、部分课程上课时间有时间段要求,例如需要注意力高度集中的课程希望在上午的一二节,身体机能恢复训练希望在下午进行。
26、在一种可能的实现方式中,所述对种群应用遗传算法执行迭代进化以生成新的排课方案添加到下一代种群中,下一代种群取代当前种群,包括:
27、将当前排课方案种群作为父代种群,同时创建一个新的种群作为子代种群,此时子代种群为空;
28、将父代种群中的排课方案按照适应度值降序排序,选择最优的前m个排课方案完整复制到子代种群中,以保留父代种群中的优良基因;
29、子代种群剩余n-m个排课方案从父代种群中通过轮盘赌两两选择进行交叉和变异得到。
30、在一种可能的实现方式中,交叉过程为:从父代种群中通过轮盘赌选择两个排课方案作为父代双亲,记为parent1、parent2,以交叉概率pc交叉parent1、parent2得到一个新的排课方案,记为child;随机生成一个值rand(rand∈[0,1]),如果rand大于交叉概率pc,则不进行交叉操作,直接复制双亲中的任意一方作为child,反之,则进行交叉;
31、交叉操作为:随机交叉点位置,记为pos1(pos1∈[1,n-2]),取parent1位置0到pos1的基因q作为child的前半部分,取parent2位置pos1-1到n-1的基因q作为child的后半部分,此时得到一个新的排课方案。
32、在一种可能的实现方式中,变异过程为:随机生成一个值rand(rand∈[0,1]),如果rand大于变异概率pm,则不进行变异,否则变异child;
33、变异操作为:随机变异点位置,记为pos2(pos2∈[0,n-1]),将child中pos2位置基因q的e各项随机,即重新随机安排可上q中课程的治疗师、治疗室,随机安排治疗时间。
34、在一种可能的实现方式中,自适应的交叉概率、变异概率定义为:
35、记录初始排课方案种群中适应度最小的适应度值,记为ws;在种群迭代进化中,记录当前代种群中适应度最小的值,记为b,则第i代的进化率λi(λ∈[0,1])表示为动态改变交叉概率pc、变异概率pm;
36、pc和pm定义为:
37、
38、
39、在一种可能的实现方式中,所述判断生成的排课方案的适应度在连续进化中是否一直保持较低水平,如果是则对种群中最优排课方案进行冲突点检测,对其应用一次修复函数,加快生成更优的排课方案,包括:
40、将每代种群中最优排课方案的适应度值与上一代种群中最优排课方案的适应度值做比较,设定一个迭代次数阈值α;
41、当两代种群中最优排课方案的适应度值保持α代不变时,应用一次修复函数,修复排课方案中的日程冲突基因;修复函数主要修复所有违反硬约束条件的冲突,包含了对每一项硬约束的修复。
42、在一种可能的实现方式中,所述判断是否触发结束条件,如果结束则输出最优个体,即排课方案的最优解,包括:
43、判断是否满足终止条件,终止条件有两种情况:
44、在当前代的排课方案种群中已找到适应度值0的排课方案,即已找到满足所有软硬约束的排课方案,此时可终止,将最优排课方案输出;或者,
45、达到设定的最大迭代进化次数max,此时排课方案种群中的最优排课方案适应度值仍不为0,但已是此次进化求解的最优解,将最优的排课方案输出;
46、如果以上两种条件都不满足,则继续对种群进行迭代进化。
47、在本技术实施例中,根据对儿童患者的健康评估结果分配康复课程,匹配合适的治疗师、治疗室和治疗设备,规则是要满足软/硬约束,通过计算适应度,动态改变交叉、变异概率,结合修复函数,从而高效地找出最佳的排课结果。