用于手术病例调度的多目标柔性元启发式优化方法及系统

文档序号:26498174发布日期:2021-09-04 01:07阅读:280来源:国知局
用于手术病例调度的多目标柔性元启发式优化方法及系统

1.本公开属于医疗调度领域,尤其涉及一种用于手术病例调度的多目标柔性元启发式优化方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.手术是大多数医院和诊所的一项重要活动,据估计,它创造了大约67%的医院收入,消耗了医院资源成本的约40%。手术病例调度是医院管理者面临的一个具有挑战性的问题。因此,许多研究人员开始研究手术病例调度问题,以提高资源利用率、吞吐量和病人流。
4.手术病例调度决定了手术的确切开始时间和手术室资源的分配,van houdenhoven等人将装箱和组合技术应用于手术病例调度,以提高手术效率;pham和klinker认为手术病例调度是一个广义的jsp问题,并提出了一种综合解决方案来促进医院资源的有效利用;cardoen等人研究了多目标手术病例调度问题的优化问题,以便于手术室调度员的决策过程,针对多天、多资源、基于病人优先级的手术病例调度问题;vijayakumar等人提出了一种基于first fit递减的高效启发式算法来提高手术室的利用率;lee和yah将时间表应用于手术病例,以确定在多个手术室中手术的开始时间;此外,al hasan等人研究了具有消毒活动约束的手术病例调度问题,以最小化运营成本;behmanesh和zandieh提出了一种新的双目标蚂蚁系统来解决不确定服务时间下的双目标手术病例调度问题。
5.发明人发现,现有的手术病例调度通常仅考虑最小化总的医疗成本或仅考虑最小化手术最大完成时间,而并未综合考虑影响手术病例调度的诸多因素,导致手术病例调度结果无法满足实际需求;同时,尽管现有方法中存在将手术病例调度问题转化为车间调度问题进行优化求解,但是对于多目标手术病例调度问题并不存在合理的解决方案,比如将手术病例调度考虑为开放车间调度问题,这会加重手术室的负载,会使研究的调度问题更加困难。具体的,不同于单一目标的fjsp,多目标fjsp最近受到了研究者的关注。然而,关于多目标fjsp的文献大多采用集结的方法,单目标fjsp的缺点是每次运行时只生成一个解决方案,可以向决策者提供的有关每个性能标准的质量的信息很少,导致手术病例调度的优化结果容易陷入局部最优,无法满足实际需求。多目标fjsp会使研究的问题更贴近实际应用。研究了的具有多目标手术病例调度问题并将其考虑为柔性车间调度问题,在尽可能满足实际应用、考虑医疗资源可用性的同时,促进了医疗资源的有效使用。


技术实现要素:

6.本公开为了解决上述问题,提供了一种用于手术病例调度的多目标柔性元启发式优化方法及系统,所述方案通过将手术病例调度问题转化为柔性车间调度问题,并利用改进的多目标帝国竞争算法对所述问题进行优化求解,获得手术病例调度结果。
7.根据本公开实施例的第一个方面,提供了一种用于手术病例调度的多目标柔性元启发式优化方法,包括:
8.获取病人信息、手术资源信息以及病人手术阶段;
9.确定手术病例调度的相关约束,以最小化病人手术完成时间以及总的医疗成本为目标,基于所述约束条件构建问题模型;其中,所述问题模型将手术病例调度问题转化为柔性车间调度问题,将病人映射为工作,将手术资源映射为机器,将手术阶段映射为操作;
10.利用改进的多目标帝国竞争算法对所述问题模型进行优化求解,获得手术病例调度结果。
11.进一步的,所述手术病例调度的相关约束,具体包括:所有病人在零时刻均准备完成;手术一旦执行,则完成前不能中断;仅在前一手术阶段完成后,病人进入下一阶段;每个手术具有特定的手术阶段,每个手术阶段必须从可用的手术资源类型中选择至少一种类型的手术资源进行手术;考虑手术过程、手术准备和手术切换的时间和成本。
12.进一步的,所述问题模型包括病人手术最大完成时间最小化和总的医疗成本最小化,所述总的医疗成本包括手术过程的医疗成本、病人转换过程的医疗成本以及病人准备过程中的医疗成本。
13.进一步的,所述利用改进的多目标帝国竞争算法对问题模型进行优化求解,具体包括:
14.设置多目标帝国竞争算法求解柔性作业车间调度问题的相关参数;
15.通过社会等级制度来初始化帝国,其中,每个帝国代表一组柔性作业车间动态调度问题的可行方案;生成帕累托前言并执行带有吸引和排斥概念的同化策略;对帝国注意国家进行更新,并通过执行革命策略产生新的解决方案;执行变邻域搜索策略,并消除没有任何殖民地的帝国;基于势力最大的帝国,输出最优的手术病例调度策略。
16.根据本公开实施例的第二个方面,提供了一种用于手术病例调度的多目标柔性元启发式优化系统,包括:
17.数据获取单元,其用于获取病人信息、手术资源信息以及病人手术阶段;
18.模型构建单元,其用于确定手术病例调度的相关约束,以最小化病人手术完成时间以及总的医疗成本为目标,基于所述约束条件构建问题模型;其中,所述问题模型将手术病例调度问题转化为柔性车间调度问题,将病人映射为工作,将手术资源映射为机器,将手术阶段映射为操作;
19.优化求解单元,其用于利用改进的多目标帝国竞争算法对问题模型进行优化求解,获得手术病例调度结果。
20.根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种用于手术病例调度的多目标柔性元启发式优化方法。
21.根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种用于手术病例调度的多目标柔性元启发式优化方法。
22.与现有技术相比,本公开的有益效果是:
23.本公开所述方案针对具有切换和准备时间约束的手术病例调度问题,提出了一种
改进的多目标帝国主义竞争算法(imoica);首先,通过制定社会等级策略初始化帝国,然后在同化策略中引入吸引和排斥(ar)的概念,以增强算法的全局搜索能力;此外,通过革命策略被用来增加人口的多样性,并且将变邻域搜索(vns)策略嵌入到该算法中,进一步提高了算法的开发能力。
24.本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
25.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
26.图1为本公开实施例一中所述的不同阶段患者对医疗资源类型的占用情况图;
27.图2为本公开实施例一中所述的一种编码的解决方案图;
28.图3为本公开实施例一中所述的划分国家的社会等级图;
29.图4(a)为本公开实施例一中所述的sra部分的突变操作图;
30.图4(b)为本公开实施例一中所述的sss部分的突变操作图;
31.图5(a)为本公开实施例一中所述的two

point交叉示意图;
32.图5(b)为本公开实施例一中所述的jbx交叉示意图;
33.图6为本公开实施例一中所述的殖民地向帝国主义国家运动示意图;
34.图7为本公开实施例一中所述的帝国主义国家的更新示意图;
35.图8(a)为本公开实施例一中所述的change操作示意图;
36.图8(b)为本公开实施例一中所述的insert操作示意图;
37.图9为本公开实施例一中所述的关键参数的因素水平趋势图;
38.图10(a)为本公开实施例一中所述的算例为inst 3的imoica和cplex的比较图;
39.图10(b)为本公开实施例一中所述的算例为inst 5的imoica和cplex的比较图;
40.图11(a)为本公开实施例一中所述的算例为inst 3的imoica与imoica_nar帕累托前沿对比图;
41.图11(b)为本公开实施例一中所述的算例为inst 5的imoica与imoica_nar帕累托前沿对比图;
42.图12(a)为本公开实施例一中所述的算例为inst 3的imoica与imoica_nrs帕累托前沿对比图;
43.图12(b)为本公开实施例一中所述的算例为inst 5的imoica与imoica_nrs帕累托前沿对比图;
44.图13(a)为本公开实施例一中所述的算例为inst 3的imoica与imoica_nvns帕累托前沿对比图;
45.图13(b)为本公开实施例一中所述的算例为inst 5的imoica与imoica_nvns帕累托前沿对比图;
46.图14(a)为本公开实施例一中所述的pgdhs方法与本申请所述方法的c值和95%lsd区间示意图。
47.图14(b)为本公开实施例一中所述的hmoea/d方法与本申请所述方法的c值和95%
lsd区间示意图。
48.图14(c)为本公开实施例一中所述的p

dabc方法与本申请所述方法的c值和95%lsd区间示意图。
49.图14(d)为本公开实施例一中所述的nsga

ii与本申请所述方法的c值和95%lsd区间示意图。
具体实施方式
50.下面结合附图与实施例对本公开做进一步说明。
51.应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
52.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
53.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
54.实施例一:
55.本实施例的目的是提供一种用于手术病例调度的多目标柔性元启发式优化方法。
56.在本公开所述方案中,我们考虑了患者住院期间在手术室就诊的所有阶段:术前、术中和术后。手术期间的病人流程可描述如下:
57.术前:住院病人从护理病房送到术前监护病房(phu),而门诊病人则从医院的门诊手术病房(asu)送到phu。当病人到达phu时,护士需要检查病人的信息、病人的状态以及其他手术前的准备工作。然后,病人被带到手术室(or)。
58.术中:到达手术室后,病人由麻醉师麻醉。然后,手术由一名或多名外科医生在一名或多名护士的协助下进行。
59.术后:大多数患者在手术后被带到麻醉后护理单元(pacu),在那里他们将在护士的帮助下从麻醉的残余效应中恢复过来。危重患者被送往重症监护病房(icu),那里有专业设备和训练有素的护士负责监测和护理。在pacu住院后,住院患者返回他们的护理单元,而门诊患者在出院前在acu经历第二个恢复期。另一方面,一些门诊病人可能会因健康需要而被送往医院。其他使用轻度局部麻醉的门诊患者可以绕过pacu。通过上述对手术病例调度问题的布局和患者的处理路线,能够很好地将其转化为多目标柔性车间调度问题(fjsp)。
60.一种用于手术病例调度的多目标柔性元启发式优化方法,包括:
61.获取病人信息、手术资源信息以及病人手术阶段;
62.确定手术病例调度的相关约束,以最小化病人手术完成时间以及总的医疗成本为目标,基于所述约束条件构建问题模型;其中,所述问题模型将手术病例调度问题转化为柔性车间调度问题,将病人映射为工作,将手术资源映射为机器,将手术阶段映射为操作;
63.利用改进的多目标帝国竞争算法对所述问题模型进行优化求解,获得手术病例调度结果。
64.为了便于理解,以下结合附图以及具体实例对本公开所述方案进行详细说明:
65.本发明提出了一种求解手术病例调度问题的多目标柔性元启发式方法、系统。手术病例调度是医学领域的一个关键问题,由于资源分配的困难,这是一项极具挑战性的工作。针对具有切换和准备时间约束的手术病例调度问题,提出了一种改进的多目标帝国主义竞争算法(imoica)。首先,为了初始化帝国,制定了社会等级策略。然后,在同化策略中引入吸引和排斥(ar)的概念,所述吸引和排斥分别对应于交叉和变异步骤,以增强算法的全局搜索能力。此外,革命策略被用来增加人口的多样性。最后,将变邻域搜索(vns)策略嵌入到该算法中,进一步提高了算法的开发能力。为了验证该算法的性能,根据实际问题生成了不同的手术案例,并进行了仿真测试。仿真结果表明,imoica算法能够高效地解决所研究的手术病例调度问题,具体方案如下所示:
66.(一)手术病例调度问题描述
67.在手术过程中,一个典型的病人流程经历了三个阶段:术前阶段、术中阶段和术后阶段。要应用fjsp方法,必须把病人当作工作,把相关的手术资源(医生、护士和各种设备和器械)当作机器,把手术阶段当作操作。在不同的阶段也需要不同的手术资源类型。图1简要描述了不同手术阶段患者对手术资源类型的占用情况。
68.(1)假设
69.1)所有的病人在零时刻都准备好了;
70.2)手术一旦执行,在手术完成之前不能中断;
71.3)只有在前一手术阶段完成后,病人才会进入下一阶段;
72.4)每个手术都有特定的手术阶段,每个手术阶段都应该从可用的手术资源类型中选择一种类型的手术资源进行手术;
73.5)考虑了手术过程、手术准备和手术切换过程的时间和成本。
74.(2)符号
75.手术病例调度中使用的符号如下:
76.[0077][0078]
(3)问题公式化
[0079]
针对具有切换和准备时间的手术病例调度问题,建立了基于序列的milp模型,使患者完成时间和总医疗费用最小。模型包括目标函数和约束条件。为了建立目标函数,还给出了手术医疗总成本模块。
[0080]
医疗费用根据手术阶段的不同而不同。因此,医疗总成本(tmc)主要由以下几个模块组成:手术过程的医疗费用(sm)、病人转换过程中的医疗费用(spm)、病人准备过程中的医疗费用(ppm)。
[0081]
sm可以通过确定患者占用的手术资源类型并乘以单位时间医疗成本和第k个手术资源上的o
i,j
的处理时间来计算,如公式(1)所示。
[0082][0083]
通过判断患者所占用的手术资源类型,并将转换过程的单位时间医疗成本乘以患者i从第k个手术资源到第k个手术资源的转换时间,可以计算出spm,其表达式为公式(2)。
[0084][0085]
ppm可以通过判断患者所占用的手术资源类型,将准备过程的单位时间医疗费用乘以第k个手术资源的准备时间o
i,j
来计算,ppm可以用公式(3)来计算。
[0086][0087]
tmc由sm、spm和ppm组成。因此,tmc可以用公式(4)来计算。
[0088]
tmc=sm+spm+ppm
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0089]
根据问题描述,调度优化的目标是最小化完工时间和tmc。因此,基于序列的milp模型公式如下:
[0090]
min c
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0091]
min tmc=sm+spm+ppm
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0092]
subject to
[0093][0094][0095][0096][0097][0098][0099][0100][0101][0102][0103][0104]
[0105][0106][0107][0108][0109][0110][0111][0112][0113][0114][0115]
x
k,i',j',i,j
,y
i,j,k,k'
≥0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(28)
[0116]
第一个目标(5)是最小化完工时间,第二个目标(6)是最小化总医疗成本。约束(7)和(8)保证每个手术阶段被分配一种类型的手术资源来处理,对于每个手术阶段,都有一组可用的手术资源类型来处理。因此,定义约束(9)和(10)确保每个手术阶段占用的一类手术资源是从可用的手术资源类型中选择的。根据决策变量y
i,j,k,k'
,约束(11)和(12)保证o
i,j
‑1由第k’个手术资源处理,o
i,j
由第k类手术资源处理。约束(13)

(14)确保在前一阶段完成之前,患者不会进行下一阶段的手术。约束(15)和(22)强制每种类型的手术资源一次仅由一个手术阶段占用。约束(23)

(28)强制变量为正。
[0117]
(二)改进的多目标帝国竞争算法
[0118]
所述多目标帝国竞争算法具体如下:
[0119]
针对研究的手术病例调度问题,提出了一种改进的多目标帝国主义竞争算法imoica。
[0120]
(1)编码
[0121]
编码解释了如何表示真正的解决方案。本文提出的编码方法由三部分组成(如图2所示),即手术资源分配(sra)部分、手术阶段序列(sss)部分和医疗费用数组(mca)部分。sra存储为每个手术阶段选择的可用手术资源类型编号。sss定义了患者编号。mca存储每单位时间的医疗成本,该成本随sra中的手术资源类型而变化。
[0122]
(2)帝国的初始化
[0123]
帝国的初始化过程采用了社会等级制度。首先,所有国家都按照适应度的降序进行排序。社会等级最高的帝国主义国家被命名为α帝国主义国家。接下来的两个等级是β和γ帝国主义国家,剩下的国家是δ殖民地(如图3所示)。殖民地是按照帝国主义国家的社会等级划分的,社会等级越高,占据的殖民地越多。然后,帝国主义国家和他们的殖民地形成了不同的帝国。
[0124]
(3)生成帕累托前沿
[0125]
为了在帕累托前沿获得帕累托最优解,采用非支配排序方法。初始种群和构造集分别由p和φ表示。在算法开始时,首先将第一个个体放入构造集φ,然后取出进化种群p中的个体p’依次放入构造集φ中。φ中的个体是临时的,因为它们可能会在随后的比较中被删除。然后,将每次迭代中产生的新个体p’与φ中的个体进行比较,并删除由p’支配的个体。假设p’由φ中的任何个人支配,则p’将从φ中删除。
[0126]
在第一次迭代中,有n个帝国。因此,从n个帝国开始执行。对于每个帝国,帝国主义国家都被保留下来,构成帕累托的一个解。然后,将帝国主义国家与剩下的殖民地进行比较。如果帝国主义国家比殖民地强大,则帝国主义国家就会被保留在帕累托前沿中,否则,帝国主义国家将会被殖民地取代。在接下来的迭代中,帝国的所有帝国主义者都将与之前帕累托前沿中的解进行比较,不断地更新帕累托前沿。
[0127]
(4)使用ar概念的同化策略
[0128]
影响同化策略的重要因素是帝国主义国家与殖民地之间的距离。其思想是利用基于该距离的ar度量来提高算法的性能,达到全局最优位置。帝国主义与其殖民地(avr)的平均距离如下:
[0129][0130]
其中m代表每个帝国中殖民地的大小,是最好殖民地的适应度,代表当前殖民地的适应度,v
imp
是帝国主义国家的适应度。
[0131]
计算avr值后,根据avr值出现以下三种情况:
[0132]
如果avr的值低于预先设置的某个阈值(ω),则执行变异操作操作。图4(a)显示了sra部分中发生的突变操作。首先,选择一个可行的个体。然后,随机选择sra部分中的几个位置,将这些元素替换为可用的手术资源类型编号。图4(b)显示了作用于sss部分的突变操作。首先,根据生成的邻域搜索范围,随机选取三个变异点。然后,生成邻域解的所有组合。最后,随机选择一个邻域解作为子代。
[0133]
如果avr值大于ω,则执行交叉操作(如图5所示)。图5(a)是作用于sra部分的two

point交叉策略。首先,随机选择个体的两个点。然后,选择另一个新个体,将这两个点之间的元素插入到新个体中。图5(b)显示了作用于sss部件的jbx交叉策略。首先,从个体中随机抽取病人号,并按位置将病人号插入子代。然后,选择另一个个体,并将剩余的患者编号依次插入后代中。
[0134]
如果avr值等于ω,则执行经典的同化策略。同化的过程可以通过殖民地向帝国主义的运动来实现。殖民地向帝国主义的运动如图6所示。
[0135]
殖民地移向帝国主义,距离x到一个新的位置,x被定义为
[0136]
x~u(0,β
×
d)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(30)
[0137]
其中,β是大于1的实数,d是殖民地和帝国主义之间的距离。
[0138]
为了找出帝国主义周围的分歧点,扩大搜索范围,增加了对θ方向的随机偏离。
[0139]
θ服从均匀分布的随机数:
[0140]
θ~u(

γ,γ)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(31)
[0141]
其中,γ是用于调整与原始方向的偏差的参数。
[0142]
(5)帝国主义国家的更新
[0143]
随着迭代次数的增加,殖民地可能会比帝国主义国家获得更多的权力。因此,帝国主义国家将会改变,也就是说,最强大的殖民地将取代旧帝国主义国家,成为新的帝国主义国家。如图7所示。
[0144]
(6)革命策略
[0145]
革命是产生新解决方案的另一种方式。对于殖民地λ,u
λ
表示统治帝国中殖民地λ的殖民地数量。好的殖民地实施革命策略的可能性更高。因此,假设殖民地λ的u
λ
最小,它就有更多的机会实施革命策略,产生一个新的群体。
[0146]
在革命过程中使用了change和insert操作。change操作通过随机替换sra部分中的元素生成新的解决方案(如图8(a)所示)。insert操作是在sss部件中随机选择两个位置元素。将后面的位置元素插入到前面位置中,将前面的元素插入到最后一个位置。然后,后面位置之后的元素向前移动。图8(b)显示了插入操作的示例。
[0147]
(7)变邻域搜索策略
[0148]
变邻域搜索(vns)是一种求解优化问题的启发式算法。vns具有结构简单、参数少的特点,其独特的可变邻域机制可以有效地防止搜索陷入局部最优(hansen和2001),因此,vns具有很强的本地搜索能力。在vns的中使用了change、insert和swap三种邻域结构。change和insert操作,如上面所述。swap操作作用于sss部分,随机选择两个位置元素,然后交换它们。
[0149]
(三)实验分析
[0150]
通过模拟手术病例调度过程,对算法的性能进行了评估。该算法是在16gb内存的intel corei7 3.4

ghz pc上用c++实现的。我们测试了小型、中型和大型三种类型的手术病例,它们在手术病例的数量和分配的资源上有所不同(表1)。首先,利用taguchi method考察了重要参数对算法性能的影响。然后,利用cplex对模型进行了验证。对这些策略的有效性进行了评估。最后,为了评估该算法的性能,将该算法与目前流行的算法进行了比较。
[0151]
表1.不同类型手术病例调度情况。
[0152][0153][0154]
(1)实验参数
[0155]
我们提出的算法有六个关键参数。这些参数包括种群规模(p)、帝国主义国家(nim)、特定阈值(ω)、整数(r,ln)和目标函数最大终止周期数(max_0)。表2给出了这6个参数的水平。利用taguchi method考察了这6个参数对所提算法性能的影响。表3给出了正交表l
27
(36),其中每个组合在30s内独立运行30次,并且使用完工时间和总医疗成本的平均值作为响应变量(rv)。图9显示了6个参数的因子水平变化趋势,从中可以看出,当p处于水平3、nim处于水平3、ω处于水平1、r处于水平3、max_0处于水平3、ln处于水平1时,所提出的算法的性能最好。结果表明,当p为水平3、nim为水平3、ω为水平1、r为水平3、max_0为水平3、l
n
为水平1时,所提出的算法具有最佳性能。
[0156]
表2.关键参数水平
[0157][0158]
表3.算法参数组合
[0159][0160][0161]
(2)与cplex精确求解器的比较
[0162]
cplex求解器可以通过将cplex求解器得到的解与所提出的算法进行比较来验证模型的准确性。cplex求解器采用基于分枝定界的精确算法,计算精确结果耗时较长。因此,将cplex算法与本文提出的算法进行比较时,将cplex的计算时间设置为3h,线程数设置为3,imoica的cpu停止时间设置为20s,然后根据表1测试了9个小规模实例,两种算法的对比如表4所示。
[0163]
表4包含四列。第一列显示实例名称,第二列显示手术案例。以下两列对应于imoica获得的帕累托解(makesspan,tmc)和cplex获得的精确解。从实验结果可以看出,本文提出的算法更加有效。图10(a)和图10(b)显示了当算例为inst 3和inst 5时,imoica获得的帕累托解与cplex获得的精确解之间的比较。
[0164]
表4.imoica和精确cplex求解器的比较
[0165][0166]
(3)带有ar概念同化策略的有效性
[0167]
为了考察带有ar的同化策略的性能,我们研究了两种类型的同化策略:1)提出的带有ar的同化策略;2)zandieh(2017)等人采用的同化策略。(称为imoica_nar)。首先,对12例不同规模的手术病例进行测试。然后,在相同的操作环境下执行这两种算法,每个实例运行30s。此外,为了对这些实例提供直观的分析,选择了从每种算法的一次运行中获得的帕累托前沿,如下表和图所示。表6列出了详细的比较结果。在该表中,第一列显示实例名称。第二列表示实例比例(其中x

y表示x个患者和y个手术资源类型)。以下两列对应于每种算法的帕累托解。为了便于比较每种算法的帕累托解,图11(a)和图11(b)显示了makespan和tmc目标的比较。最大完工时间目标在水平x轴上,医疗总成本目标在y轴上。从图11(a)和图11(b)可以看出,imoica得到的pareto解的质量要好于imoica_nar得到的pareto解。
[0168]
表5.imoica和imoica_nar获得的帕累托解的比较
[0169][0170][0171]
(4)革命策略的有效性
[0172]
为了验证旋转策略的有效性,我们对两种算法进行了详细的比较,即包含所有组件的imoica算法和包含除所提出的旋转策略之外的所有组件的算法(以下简称imoica_nrs)。12个实例的实验结果如表6所示。表6给出了与imoica和imoica_nrs在不同规模问题下的最大完工时间和总医疗费用的比较结果,如图12(a)和图12(b)所示。从图中可以看出,
imoica可以获得最收敛和最优分布的帕累托前沿,这进一步表明了所提出的旋转策略在解决具有makespan和tmc的手术病例调度问题中的有效性。产生这种效果的主要原因是,通过使用革命策略,可以产生新的解决方案,增加种群的多样性。
[0173]
表6.imoica和imoica_nrs的帕累托解的比较
[0174][0175][0176]
(5)vns策略的有效性
[0177]
为了验证所提出的vns算法的有效性,我们对这两种算法进行了详细的比较,即算法与所提出的imoica算法中除所提出的vns策略(以下简称imoica_nvns)之外的所有组件
以及所提出的imoica算法中的所有组件进行了详细的比较。这两种算法在相同的环境下执行,两种算法得到的帕累托解如表7所示,根据表7可以得出imoica算法得到的帕累托解更好。
[0178]
此外,为了便于比较每种算法的pareto解,图13(a)和图13(b)显示了最大完工时间和总医疗费用目标的比较。从图13(a)和图13(b)可以看出,imoica得到的结果比imoica_nvns得到的结果要好。产生这种效果的主要原因是通过使用vns可以扩大搜索范围,有效地防止算法陷入局部最优,因此结合vns的imoica具有更好的性能。
[0179]
表7.imoica和imoica_nvns获得的帕累托解的比较
[0180]
[0181][0182]
(6)与其他高效算法的比较
[0183]
为了进一步评估imoica的性能,使用了最流行的性能指标,即c指标,来衡量所获得的帕累托解集的质量(wang和zheng,2018)。我们将imoica算法与当前流行的算法进行了比较,包括基于pareto的分组离散和声搜索(pgdhs)算法(gao等,2014),基于分解的混合进化算法(hmoea/d)(wang等2020),基于pareto的离散人工蜂群算法(p

dabc)(li等,2011)和非支配排序遗传算法(nsga

ii)(wu和sun,2018)。为了公平比较,所有算法在相同的运行环境下运行了30s,得到了pareto解。表9列出了平均结果。在表9中,共有9列,第一列是实例的规模,其余8列是通过比较imoica和其他算法获得的c值。
[0184]
结果用多因素方差分析(anova)进行分析,以两次比较产生的两个c值作为可控因素。置信度设定为95%。当p值小于0.05时,c值之间的差异是显著的。从图14(a)

图14(d)可以看出,两个c值之间存在显著差异,且第一个c值显著高于第二个c值。因此,图14(a)

图14(d)表明,在所研究的手术病例调度问题中,所提出的算法具有竞争性,并且优于其他两种高效算法。
[0185]
表9.imoica与pgdhs、hmoea/d、p

dabc、nsga

ii的比较
[0186][0187]
(7)实验数据分析
[0188]
比较结果表明,对于相关或相似的调度问题,该算法的性能明显优于已有的高效算法。主要原因如下:1)本文采用了基于序列的milp模型;2)在同化策略中引入了ar的概念,以增强算法的全局搜索能力;3)采用了旋转策略来增加种群的多样性;4)为了避免算法陷入局部最优,采用了vns策略。
[0189]
实施例二:
[0190]
本实施例的目的是提供一种用于手术病例调度的多目标柔性元启发式优化系统。
[0191]
一种用于手术病例调度的多目标柔性元启发式优化系统,包括:
[0192]
数据获取单元,其用于获取病人信息、手术资源信息以及病人手术阶段;
[0193]
模型构建单元,其用于确定手术病例调度的相关约束,以最小化病人手术完成时
间以及总的医疗成本为目标,基于所述约束条件构建问题模型;其中,所述问题模型将手术病例调度问题转化为柔性车间调度问题,将病人映射为工作,将手术资源映射为机器,将手术阶段映射为操作;
[0194]
优化求解单元,其用于利用改进的多目标帝国竞争算法对问题模型进行优化求解,获得手术病例调度结果。
[0195]
在更多实施例中,还提供:
[0196]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
[0197]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0198]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0199]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
[0200]
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0201]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0202]
上述实施例提供的一种用于手术病例调度的多目标柔性元启发式优化方法及系统可以实现,具有广阔的应用前景。
[0203]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
[0204]
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1