成舒凡,叶春明
上海理工大学 管理学院,上海 200093
突发事件是指由于无法精准预测或者监测而突然发生的、危害人民群众生命财产安全和公共利益的事件,具有突发性、破坏性、可控性、可变性和信息有限性的特点。近年来,突发事件频发,例如,发生在2020年6月13日的温岭槽罐车爆炸事故中共造成20人死亡,172人住院治疗,给受害者家庭带来巨大的生命、精神和财产损失。发生突发事件后,需要在最短的时间内对伤者进行手术治疗,减少人员的伤亡。手术室是整个医疗过程的中心环节,手术室的利用率直接关系到外科伤员的周转,如果手术室工作效率低下,不仅会影响医疗机构的社会效益,而且会延长伤员的治疗时间,甚至可能加重伤员的病情。手术调度问题是对需要手术治疗的伤员安排特定的医护人员以及确定具体的手术室和手术时间的优化问题[1],即手术调度的目标是提高手术室的利用率。因此,在医疗资源缺乏、伤员数量巨大、对医疗要求较高的情况下,医疗机构对伤员进行手术调度有非常现实的意义。
李惠等[2]针对大规模手术排程问题,构建了以最小化所有病人的最长手术时间和平均手术时间为目标函数的数学模型,并运用一种单亲遗传算法与禁忌搜索算法相结合的混合优化算法对模型进行求解,最终仿真实验表明了模型和算法的有效性。白雪等[3]将工业工程领域中的生产调度理论运用到手术室调度优化中,提出了医院手术室调度优化的应用研究框架。朱悦[4]研究了手术时间、手术准备时间会变动的手术排程问题,研究表明,医疗团队根据给定多项式的非减顺序进入手术室并根据病人基本手术时间的非减顺序进行手术,可使手术完成时间最短。Zhong等[5]将手术调度看作是平行机调度,并用两阶段的方法来求解手术调度问题。
另外,一些学者在调度领域中考虑了学习效应和恶化效应。Biskup[6]最早在单机调度领域中引入学习效应,将学习效应表示为与加工位置和学习效应因子相关的函数。Lee[7]以最小化工件的最大完工时间为目标函数,并将恶化效应和学习效应的理念运用到单机调度领域中,证明了最优排序可以在多项式时间内得到。Wang等[8]在工件调度中引入截断学习效应,证明了优化最大完工时间可以转化为指派问题求解。在此基础上,Niu 等[9]还考虑了工件加工过程中存在恶化效应,并且证明了优化最大完工时间也可以转化为指派问题求解。
近年来,很多学者研究了灰狼优化算法。姚远远等[10]在进化种群动态、反向学习初始化种群以及最优个体变异三个方面对标准灰狼优化算法进行了改进,结果表明改进后的灰狼优化算法能够避免陷入局部最优,并且结果鲁棒性更强。龙文等[11]分析了控制参数对灰狼优化算法的影响,提出了一种改进控制参数的方法来提高算法的搜索能力。姜天华[12]通过改进标准灰狼优化算法的距离控制参数来控制灰狼的全局搜索和局部搜索能力。Lu等[13]提出了一种多目标细胞灰狼优化算法,提高了灰狼种群的多样性和算法的局部搜索能力。
目前国内外将恶化效应和学习效应运用在生产调度车间上的研究已经有很多,而将恶化效应和学习效应运用在手术调度中的研究相对较少,对手术调度问题的研究大多只是对手术资源进行简单排序,很少考虑到医护人员的参与和体验,忽略了学习效应和疲劳问题引起的恶化效应对伤员手术时间的影响。基于此,本文针对应急手术调度问题做了以下几点创新:(1)分析了突发事件下手术调度的特点,将应急手术调度问题看成是混合流水车间调度问题;(2)考虑应急手术调度中医护人员长时间工作而产生的疲劳效应和学习效应,构建了嵌入疲劳效应和学习效应的应急手术调度模型;(3)利用改进的灰狼优化算法对应急手术调度模型进行求解,并通过算例进行仿真实验来测试模型和算法的有效性。
突发事件下所有伤员的受伤情况基本是相同的,因此,医护人员对伤员进行的手术流程也是相同的,这与生产车间中的工件在机器上的加工是相似的,所以突发事件下应急手术调度问题在本质上和工业工程领域上的工件调度问题是相似的,可以将应急手术调度问题使用工业工程中的生产调度理论来进行研究。
工件调度中涉及的资源主要包括工件、机器设备、厂房或流水线、操作工人、检验人员,而手术室涉及的资源主要包括手术间、医护人员、床位、医技设备等[14]。如果把应急手术调度问题看成是工件调度问题,其中需要进行手术的伤员类比为加工机器上的工件,医护人员类比为加工工件的机器,则医护人员对伤员进行手术的过程就是多台机器对工件进行加工的过程。将生产调度作为应急手术调度的理论参考,根据突发事件下手术治疗的特征,可以将突发事件下的手术调度看作是混合流水车间调度,构建应急手术调度模型,如图1 为应急手术调度的流程。
图1 应急手术调度流程Fig.1 Emergency operation scheduling process
突发事件发生后,伤员的数量快速增长,远远大于医院的日常运营,医院在短时间内需要接收众多的伤员。在高负荷的治疗压力下,考虑到医护人员性别、年龄、身体素质等各方面的因素,医护人员必然因为长时间的工作而产生疲劳,这种疲劳的现象给手术调度带来了疲劳效应[15]。疲劳效应是由疲劳现象产生的恶化效应,最早考虑恶化效应的调度问题描述了工件的加工时间是由工件的开始加工时间决定的非减性函数。另外,很多学者提出了恶化效应模型,即工件的实际加工时间是与其开始加工时间和所在位置相关的函数[16]。本文对应急手术中医护人员在进行手术中存在疲劳效应的问题进行了分析,构建了一个更加符合应急手术调度的疲劳效应模型。
医护人员由于自身经验的不同,并且在治疗伤员的过程中会不断地学习,这种学习的现象给手术的调度带来了学习效应。最早引入学习效应的调度问题描述了工人在加工工件的过程中存在学习行为,工件的加工时间是由工件的开始加工时间和加工位置决定了非增性函数。还有学者发现学习效应对实际加工时间的影响存在一个界限,当积累的经验达到某一程度时,工件的加工时间将不继续减少,这种现象称为截断学习效应[17]。相比传统的有关学习效应的研究,截断学习效应在工件调度和手术调度中更符合现实情况。因此,本文对医护人员在进行手术中存在截断学习效应的问题进行了分析,构建了一个更加符合应急手术调度的截断学习效应模型。
1.4.1 问题描述
一次突发事件后,有若干个伤员需要在三个手术阶段(术前准备阶段、术中阶段、术后恢复阶段)中进行手术,所有伤员都进行相同的手术,即伤员需要三个阶段完成治疗,每位伤员的治疗时间是和开始时间有关的函数。手术调度的目的是为了提高手术室的利用率,手术室利用率可以通过多种指标来衡量,例如手术完成时间最短、手术室资源消耗最少、手术室闲置时间最短等。Arnaout 等[18]指出,手术完成时间最能反映出手术室利用率。因此,本文将手术完成时间最短作为目标函数,构建了手术调度模型。为了达成该目标,需要确定伤员进入手术室的最优次序。
1.4.2 问题假设
本文考虑了应急情况下医护人员在对伤员进行手术的过程中存在着疲劳效应和截断学习效应,并将此作为应急手术调度的约束条件,构建一个更加符合应急手术过程的模型。为了简化实际治疗过程中的复杂约束,假设应急手术调度的问题满足以下几个条件:
(1)所有伤员从零时刻开始接受手术治疗。
(2)所有医护人员、医疗设施等资源都准备就绪。
(3)所有伤员在进行手术时的手术流程固定且相同,但在各阶段的治疗时间因伤员的不同而不同。
(4)所有伤员在手术进行过程中不会受到各方面的影响而中断。
(5)不考虑伤员在术前准备室转移到手术室以及从手术室转移到术后恢复室的时间。
(6)每位伤员只能在一个病床上接受治疗。
(7)同一时间同一病床上只存在一个伤员。
(8)同一时间同一医护人员只能治疗一个伤员。
(9)医护人员在执行手术的过程中存在疲劳效应和截断学习效应。
(10)医护人员在手术排程前的先前累计临床经验相同。
1.4.3 模型的符号和定义
式(1)为目标函数,表示最小化最大完成手术的时间;式(2)和式(3)表示手术的三个阶段中至少有一个阶段有多张病床;式(4)表示每个待救治的伤员只能安排到其中一个优先级排序位置上;式(5)表示每个待救治的病人只对应一个排序位置;式(6)表示任意一个伤员在任意的一个手术阶段只能在一个病床上接受救治;式(7)表示一个伤员在下一个手术阶段的开始时间不能早于他在上一个手术阶段的结束时间;式(8)表示同一个手术阶段上的同一个病床如果被安排了多个伤员时,下一个伤员需要等上一个伤员完成手术才能到该病床上接受治疗;式(9)表示每个伤员在当前阶段的手术完成时间等于他在当前阶段的手术开始时间和实际手术时间之和;式(10)表示医护人员在对伤员进行救治的过程中存在疲劳效应和截断学习效应,实际的手术时间是与开始时间、恶化率和学习率有关的函数。
灰狼优化算法是通过模拟灰狼群对猎物进行追踪、包围和攻击的捕食行为,基于灰狼群群体协作的机制来实现目标优化的智能群体优化算法。在灰狼群内部存在森严的等级制度,如图2所示。
图2 灰狼等级结构Fig.2 Grey wolf hierarchy
灰狼优化算法将灰狼群中的每只狼抽象为一个解,金字塔的第一层为适应度最好的解的狼,称为α狼,适应度第二的解为β狼,适应度第三的解为δ狼,其他的解为ω狼。狼群在α狼的带领下,由β狼、δ狼进攻猎物,ω狼辅助包围猎物,最终狼群从各个方向围住并捕获猎物[19]。
2.1.1 包围猎物
其中Dα、Dβ、Dσ分别表示α狼、β狼和δ狼与其他个体间的距离;Xα、Xβ、Xσ分别表示α狼、β狼和δ狼的当前位置;C1、C2、C3是随机变量;X表示当前灰狼的位置;式(18)、(19)和(20)表示ω狼向α狼、β狼和δ狼的前进方向和步长;式(21)表示ω狼的最终位置。
灰狼优化算法具有原理简单、需调整的参数少、易于实现、全局搜索能力强的特点[20],已被广泛运用于作业车间调度[21]、经济调度指派问题[22]等众多领域。但是灰狼优化算法存在局部搜索能力差、求解精度低的问题,本文针对该问题设计了一种改进的灰狼优化算法来求解应急手术调度问题。
2.2.1 随机参数 |C|的控制
如图3所示,在算法早期阶段,参数 ||C以较大的概率小于1,而在算法中后期以较大的概率大于1。因此,本文提出的控制参数 ||C的方法能够有效地平衡全局搜索和局部搜索能力。
图3 参数 |C |的变化Fig.3 Variation of Parameter |C|
2.2.2 编码方法
本文的应急手术调度问题需要确定n个伤员在进入每个手术阶段的先后顺序,最终结果是由3 个1 到n的整数排列构成。为了减少解的空间大小,本文采用的编码只代表伤员进入术前阶段的顺序,而对于伤员进入术中和术后阶段的顺序,则采用2.2.3 小节中的解码方法确定。通过此方法编码得到的是n维空间中离散的点,而灰狼优化算法更适用于求解连续空间的解,因此需要将n维空间中离散的点连续化。本文将n维空间的所有个体都用(0,2)内的实数表示,而实际的伤员编号是根据该实数在所有实数中的大小排序来确定,其中最小的实数对应伤员1,最大的实数对应伤员n。例如,4个伤员对应的实数为(0.78,1.24,0.57,1.19),将4个实数按大小排序结果为(0.57,0.78,1.19,1.24),则可确定4个伤员进入术前阶段的顺序为(3,1,4,2)。
2.2.3 解码方法
在本文中,该改进算法的思想是,对于术前阶段,伤员完全按照编码的先后顺序接受治疗,而在术中和术后阶段,将伤员到达该阶段的时间的先后顺序进行排序,选择可最早接受伤员的病床,确定伤员在该病床上的最早治疗时间,然后对剩余未调度的伤员进行调度;若在该病床的最早可接受伤员的时间没有伤员到来,则安排最早到来的伤员在该病床上进行救治;若有多个伤员同时到来,则选择剩余治疗时间最长的伤员优先救治;若在该病床的最早可接受伤员的时间之间已经有多个伤员到来且未进行治疗,则在这些上伤员中选择剩余治疗时间最长的伤员优先救治。
综上过程,改进的灰狼优化算法的应急手术调度问题实现步骤如下:
步骤1 设定N为灰狼种群规模,MaxIter为最大迭代次数。令当前迭代次数t=0,按照编码设计方案设计灰狼群的编码,并初始化灰狼种群。
步骤2 计算灰狼个体的适应度,保存适应度最好的前三匹狼,分别是α狼、β狼和δ狼。步骤3 利用式(18)~(21)更新当前灰狼的位置。
步骤4 更新a,A和C。其中用式(13)计算控制参数A,用式(22)计算控制参数|C|。
步骤5 计算全部灰狼的适应度,保留适应度较好的灰狼作为下一次捕猎的狼。
步骤6 更新α狼、β狼和δ狼的适应度和位置。
步骤7 判断是否满足终止条件t≥MaxIter,若不满足则转至步骤3。
步骤8 输出α的解码结果。
改进后的算法流程如图4所示。
图4 改进的灰狼算法流程图Fig.4 Flow char of improved grey wolf algorithm
以某地发生突发事件为例验证本文提出的模型和设计的灰狼优化算法。假设突发事件发生后,有30 个伤员需要进行手术治疗,所有的伤员都要依次经过术前准备阶段、术中阶段和术后恢复阶段3 个过程。其中,术前准备室有3个病床,术中手术室有6个手术台,术后恢复室有4个病床。本算例中每个伤员在3个手术阶段的所需时间可由历史经验和病人估算确定[23]。每个伤员在每个手术阶段所需具体时间如表1所示。
表1 伤员在各个手术阶段的病床上的治疗时间Table 1 Treatment time of injured people in each operation stage
本文的目标函数是最小化伤员的最大手术完成时间。实验中将改进的灰狼优化算法与传统的灰狼优化算法的运行结果进行对比。实验的运行环境为Intel®Core™i5-8250U CPU,主频1.8 GHz,Win10 64 位操作系统,仿真软件为Python 3.7。为了保证算法的无偏性,设置算法的总迭代次数为100次,分别对两组实验独立运行15次后取平均值,实验结果如表2所示。
从表2中两种算法的运行结果比较可知,改进的灰狼优化算方法在15 次的运行中有11 次达到了最小值,而传统的灰狼优化算法只有7次达到最小值,说明改进的灰狼优化算法能够很好地避免陷入局部最优。
表2 算法的运行结果Table 2 Running results of algorithms min
为了更好地对比两种算法的收敛速度,本文随机选取两种算法在第10次的运行结果并绘制了两种算法的收敛曲线,如图5所示。
图5 算法寻优过程Fig.5 Optimization process of algorithms
由图5可知,随机选取的第10次运行结果中,改进的灰狼优化算法的收敛速度和最优目标值明显优于传统的灰狼优化算法,证明了改进的灰狼优化算法的有效性。
实验得到的最好调度结果的甘特图如图6 所示。图中横坐标为手术时间,纵坐标为病床编号,描述了30个伤员进入3 个手术阶段的先后顺序、位置和手术时间。其中,一种颜色代表一个伤员,每种颜色上的数字分别表示伤员编号和手术阶段编号,编号为9的伤员最后完成手术治疗,最终完成30个伤员的手术时间为372分钟。伤员的3 个手术阶段在时间维度上基本首尾相接,表明了伤员的应急手术调度任务中安排紧凑以及调度结果的合理性。
图6 应急手术调度病床分配甘特图Fig.6 Gantt chart of bed allocation for emergency operation scheduling
最终获得的最优调度方案为:
其中Λ表示在每个手术阶段中,每个伤员的治疗顺序;Γ表示在每个手术阶段中,每个伤员对应的病床编号。
本文研究了突发事件下应急手术调度问题。在构建模型方面,基于应急手术的术前、术中和术后三个阶段与存在并行机的流水车间调度相似的特点,将混合流水车间调度的思想运用到应急手术调度中,并考虑了医护人员在长时间的工作中存在疲劳效应和截断学习效应,构建了带有疲劳效应和截断学习效应的伤员应急手术调度模型。在求解算法方面,采用改进的灰狼优化算法对模型进行求解,采用新的方式控制参数C,从而提高了早期算法勘探能力和后期算法的局部搜索能力。最后通过算例进行模拟实验,分别对改进的灰狼优化算法和传统的灰狼优化算法的寻优过程及结果进行了对比,结果表明本文构建的应急手术调度模型能够很好地反映应急手术问题。
本文对开展应急事件下伤员的救援工作具有一定的参考价值。针对突发事件下医院手术室调度缺乏规范性的调度规则、手术室使用混乱的情况,建议医院结合手术调度的特点,应用成熟的工业工程生产调度理论提高手术室的利用效率。同时还需考虑疲劳效应和学习效应对手术时间的影响,将行为运作管理的理论运用到手术调度过程中,合理地优化伤员的手术排程。本文仅仅考虑了单目标优化的应急手术调度问题,针对多目标优化的应急手术调度问题将是未来的一个研究方向。