资源描述
医院眼科病床的合理安排优化模型摘要:眼科病床的合理安排,既可以提高医院的经济效益,又可以减小患者的排队就医时间,以便达到双赢的目的。通过对医院现有的综合分析及优化得到如下问题的优化结果:问题一,给出了评价模型的指标:医院满意度即床位的周转率,患者满意度即等待队长,及逗留时间;问题二,通过对已有数据的统计分析整理,得出结论:患者的到达服从泊松分布,服务时间服从负指数分布。将医院的病床看做服务台,建立了排队系统的模型,通过对模型的求解过程,给出了患者流和服务台的计算机模拟方法,进而给出了根据出院患者数来安排入住患者的方案。问题三,结合问题二的模型,利用医院对每类患者的服务时间,服务效率以及服务台的状态(病床的占用和空闲)来求的他们的平均等待时间,因而可预测病人的大致入院时间。问题四,若周六,周日不安排手术,而白内障手术的手术时间间隔一定,通过顺延的方法得出两种优化方案,并对两种方案通过类比的方法得出最优方案,即在周三,周五安排白内障手术,而在周一,周二,周四安排其它手术。问题五,从方便管理,医院效益最大以及患者逗留时间最短的前提出发,对医院现有的病床进行分配建立了规划模型,并通过对模型的求解最后给出了病床的分配方案:白内障单眼8张床位,白内障双眼18张床位,青光眼11张床位,视网膜疾病33张床位,外伤9张床位。关键词: 排队系统 统计分析 计算机模拟 类比 规划 一 问题重述 医院就医排队是大家都非常熟悉的现象,我们考虑某医院眼科病床合理安排的数学建模问题,就要考虑医院资源的合理有效利用及患者的等待队长等因素。已知该医院目前情况如下:1 该医院眼科门诊每天开放,住院部共有病床79张,眼科手术主要分四大类:白内障、视网膜疾病、青光眼和外伤。附录中给出了2008年7月13日至2008年9月11日这段时间里各类病人的情况。2白内障手术较简单,而且没有急症,目前该院是每周一、三做白内障手术,此类病人的术前准备时间只需1、2天。做两只眼的病人比做一只眼的要多一些,大约占60%。如果要做双眼是周一先做一只,周三再做另一只。3外伤疾病通常属于急症,病床有空时立即安排住院,住院后第二天便会安排手术。4其他眼科疾病比较复杂,有各种不同情况,但大致住院后2-3天内就可以接受手术,主要是术后的观察时间较长。这类疾病手术时间可根据需要安排,一般不安排在周一、周三。5该医院眼科手术条件比较充分,通常情况下白内障手术与其他眼科手术(急症除外)不安排在同一天做。当前该住院部对全体非急症病人是按照FCFS(First come, First serve)规则安排住院,但等待住院病人队列却越来越长,现提出以下问题:问题一:试分析确定合理的评价指标体系,用以评价该问题的病床安排模型的优劣。问题二:试就该住院部当前的情况,建立合理的病床安排模型,以根据已知的第二天拟出院病人数来确定第二天应该安排哪些病人住院。并对你们的模型利用问题一中的指标体系作出评价。问题三:作为病人,自然希望尽早知道自己大约何时能住院。能否根据当时住院病人及等待住院病人的统计情况,在病人门诊时即告知其大致入住时间区间。 问题四:若该住院部周六、周日不安排手术,请你们重新回答问题二,医院的手术时间安排是否应作出相应调整?问题五:有人从便于管理的角度提出建议,在一般情形下,医院病床安排可采取使各类病人占用病床的比例大致固定的方案,试就此方案,建立使得所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短的病床比例分配模型。 二符号说明 表示第类患者(=1,2,3,4,5 分别表示白内障单眼;白内障双眼;青光眼;视网膜疾病以及外伤患者) 表示服务台个数 表示第类患者中第个患者与第个患者到达的间隔时间 表示对第类患者中第个患者服务花费的时间 表示患者到来的时刻 表示患者等待时间 表示患者开始接受服务(入院)时刻 表示患者结束服务(出院)时刻 表示各类患者的到达速率 表示服务台的服务速率 表示服务强度 表示时间内到来患者的总数 表示时间内服务完(出院)的患者的总数 表示时刻系统中的患者数 表示等待队长(排队等待的顾客数) 表示队长 表示服务台的状态三问题的分析1背景分析本问题的难点是同时考虑医院完善医院的管理制度,改进患者的安置情况,提高医院的经济和社会效益等诸多因素。如果仅考虑提高医院的经济效益,则只要提高医院病床的使用率,运用数据分析方法可以给出患者的安排情况;如果仅考虑患者的安置情况,需要增加病床,显然,这两种方案都不是最佳的。于是既要考虑医院的效益(即医院的满意度),又要考虑患者的等待时间最短(即患者的满意度)。 医院的满意度取决于病床的使用率及其服务强度,使用率和服务强度越高,医院的经济效益越好,医院的满意度越高;患者的满意度取决于排队的队长和等待时间的长短,等待时间越短患者的满意度越高。所以我们需要在两个因素之间找出一个合理的匹配关系使双方的满意度达到最高。2数据分析通过数据分析,形成了如图所示的柱状图及其以下数据表:通过柱状图可以比较清楚的看出,每天各类疾病的患者到达数量及所占比重:视网膜疾病患者最多,相当于青光眼和外伤的总和,其次是白内障(双眼)和白内障。从上图中还可以看出患者人数基本以每两周为一个循环周期。表 1:病种白内障白内障(双眼)青光眼视网膜疾病外伤人数 1001336616764平均患者到达率2 2 1 3 1 表 2:病种白内障白内障(双眼)青光眼视网膜疾病外伤病种平均服务时间59101379 平均等待时间13131213110 平均逗留时间18212325819 利用SPSS软件验证门诊到达人数服从泊松分布。Observed NExpected NResidual1.0012.9-1.92.0023.8-1.83.0031.81.24.0044.8-.85.0051.83.2Total15Test StatisticsxChi-Square(a)8.640df4Asymp. Sig.071a 5 cells (100.0%) have expected frequencies less than 5. The minimum expected cell frequency is 1.8. 通过对数据的分析整理,利用SPSS得到上面的两表。由于显著性水平为0.05,而上表中所得显著性水平0.0710.05且到达门诊的患者是随机的,所以到达门诊的患者人数服从泊松分布,认为理论分布是符合实际情况的。四模型的假设1. 患者的到达是随机的,且患者源是无限的。2. 忽略门诊时间及手术时间。3. 将病床看为服务台,总病床数即为服务台数。4. 同一天看病的患者到达间隔时间为零。五模型的建立与求解问题一 评价性指标大致可以从患者的满意度和医院的满意度两个方面出发:患者满意度方面:要求医院充分调动和利用现有的一切资源,使得到医院的每一位患者满意而归,这就要求医院的资源合理分配,使患者在医院停留的时间最短,因为服务时间一定,故只要求等待时间最短。医院满意度方面:达到医院现有资源的充分利用,即效益最大,以服务更多的患者为宗旨,即要求患者的等待队长尽可能小。资源的利用率和服务强度尽可能高。 因此,该模型的评价指标体系是等待队长,等待时间,病床使用率,服务强度。问题二1模型分析与建立从所要解决的问题和对问题所做的假设出发,在前面的数据处理中我们确定了患者的到达率服从泊松分布,有个服务台,患者源的数量是无限的。因为患者到达的速率为,每个服务台的服务速率为,则整个系统的最大速率为服务强度,显然,要使系统稳定运行,必须有。该模型的特点在于整个系统的服务速率与系统中患者到达特点有关。如果系统中只有一个患者,则系统的服务率等于,因为其他的服务台处于闲置状态,如果体统中有2个患者,则系统的服务速率等于,依次类推,如果系统中的患者有个,则系统的最大服务速率为,所有的服务台均投入服务;而当系统中的患者数目超过个时,多余的患者只能进入派对系统等待服务,此时系统的服务速率为。该模型的状态转移图如下: (排队服务系统状态转移图)通过状态转移图可得如下方程: (1) (2) (3)而 联立可解得: (4) (5) (6) (7)设排队队长为,当系统有个患者到达时,若,则必有个患者在排队。这样的话,能求出每种病的等待时长,服务时长及停留的时间。而当时,服务台空闲个数为,既有个空病床,然后可以安排其他的患者入院。 从而建立如下的模型: (8) (9) (10) (11) (12)2模型的模拟求解2.1 病人流的模拟由于已认定病人达到流服从泊松分布,在模拟的时候可以通过随机数生成函数来产生模拟病人的到达,基本算法如下:步骤一:在泊松分布中,求出 X取何值时,P(X=k)取最大值,设最大值为,这相当于求解在k取何值时有最大值,可以通过一个循环来得到取最大值时的整数自变量。步骤二:通过迭代,不断生成0-1区间上的随机数。当随机数小于时,则终止迭代,否则重复步骤二。步骤三:记录迭代过程的次数,即为所需要得到的符合泊松分布的随机量。2.2 服务台的模拟服务台可由随机数生成函数来模拟,其算法为:令满足均匀分布的随机变量 ,Y的概率是,因为 x是服从均匀分布的,所以它的概率分布函数是当x的范围在0-1之间的时候,概率分布函数即是X,因此上式的结果是,即为负指数分布。由此满足负指数分布的随机变量可以用得出。(具体的计算机编程见附录1)方案的给出通过数据的统计和计算机的模拟可以给出病人出院后床位的空闲安置情况按照下面的原则:服务时间最短的优先考虑,即先安排白内障单眼患者入住,其次安排服务时间短(即住院时间短)的病人入住。该模型对于医院而言,极大地提高了医院病床的周转率,使得医院的效益达到最大。而对于患而言,医院的病床周转率提高了,服务的人多了,等待的队列就减短了,能满足大部分的患者满意,当然这样就牺牲了部分需要服务时间长的患者的利益。问题三根据题目所给的数据整理和统计,结合问题二的模型得出如下表表示的结果。平均等待时间在床等待时间平均服务时间白内障11.240513.9493675.236111111白内障(双眼)11.384622.7788468.56097561青光眼11.354172.08333310.48717949视网膜疾病9.9849621.48120312.54455446外伤117.036363636由上表可以大致确定每种患者入院前的平均等待时间,具体如下表:病类白内障白内障(双眼)青光眼视网膜疾病外伤平均等待时间11.2411.3811.359.981根据每种病在入院前的平均等待时间,只要确定了是那类患者,便可以估计其入院时间。白内障,青光眼患者大概在门诊后11天入院,视网膜疾病患者大概在门诊后10天入院,而外伤患者在门诊后的第二天就可以入院。问题四周六、周日不安排手术,故按照原有的方案,白内障病人手术在周一、周三进行,而其它的手术只能在周二、周四、周五进行,这样,以“1”表示白内障手术时间,“0”表示其它手术时间,“”表示不进行手术,得下表:一二三四五六七10100从该表可以看出若在周六、周日不进行手术,则其它手术只能在周二、周四、周五进行,这样,本在周六、周日进行的手术只能在周二、周四、周五进行,这样,使得患者等待期间增加病床利用率较低。而从题目中给出的数据可以统计出周一到周五的各类患者的人数情况如下表:(具体数据见附录2)星期一星期二星期三星期四星期五星期六星期日白内障(单)1621221181012白内障(双)23122124251315青光眼疾病99515889视网膜疾病25193131221824外伤106121012410现考虑白内障手术安排相隔时间一定,采取将白内障手术时间顺延的方法,得到如下两种方案,如图所示:方案1一二三四五六七01010方案2一二三四五六七00101对于方案一,可以看出白内障病人在周二、周四进行,其它手术安排在周一、周三、周五,这样,周六、周日累积下来的病人要求在周一内做完,这样对医院、医生的负荷太大,否则要等到周三、周五来做,使患者的等待时间延长。而对于方案二,白内障病人安排在周三、周五,其它病人安排在一、三、四三天进行。这样,周六、周日的病人可在周一、周二内做,较方案一而言,方案二的患者的等待时间较短,故医院应采用方案二。问题五1分析:通过数据的整理统计,病床在7月13号到9月11号安排的每类患者人数的如下统计表:病类白内障(单)白内障(双)青光眼视网膜疾病外伤服务人数791035113163服务一个患者的时间5.238.5610.4912.547.04服务总时间413.17881.68534.991642.72443.52根据上表做直方图如下(图中横坐标1,2,3,4,5分别代表上表中5种病):由直方图可以直观的看出每种病在医院接受服务的人数,服务的平均时间和服务的总时间的分布情况。根据每类病人占用时间的比例,以及题目中所给的医院的目前现有的床位数,建立规划模型。设白内障(单眼),白内障(双眼),青光眼,视网膜疾病及外伤分配的床位数分别为。床位的服务效率分别为。2.模型的建立建立模型如下: 且为整数模型的求解:利lingo软件求解得:,故从便于管理的角度出发,将病床采取病人占用病床的比例可将医院现有病床按照各类病人的情况分为:白内障单眼8张,白内障双眼18张,青光眼11张,视网膜疾病33张,外伤9张。六 模型的改进与评价 对医院的排队系统而言,要使医院在经济上获得最大效益,可以等价的转化为用时间费用来衡量经济效益,将等待时间转化为等待费用。根据统计的资料估计,由于队列过长导致等待费用增加。因而该问题费用函数期望取最小的问题属于非线性规划问题。对于眼科这种类型的离散型随机变量,也可以用边际分析法进行求解。该模型综合考虑了医院的满意度和患者的满意度,从双方互利的目的出发给出了病床的合理安排方案;还可以利用计算机模拟的方法由患者的就诊时间预测住院时间和出院时间。该模型的不足在于:1.没能用量化的方法准确给出指标体系;2.忽略了一些偶然因素,导致结果与实际情况有一定的偏差;但都不影响模型的实用性。七 参考文献【1】 郑阿奇,MATLAB实用教程,北京:电子工业出版社,2004。【2】 李大潜,中国大学生数学建模竞赛,北京:高等教育出版社,1998。【3】 卢向南,应用运筹学,杭州:浙江大学出版社,2005。【4】 陈杰,MATLAB宝典,北京:电子工业出版社,2007。【5】 吴建国,数学建模案例精编,北京:中国水利水电出版社,2005。【6】 叶其孝,大学生数学建模竞赛辅导教材,湖南:湖南教育出版社,2000。附录1(算法模拟)第一周期病床使用情况:x = 117L = 38程序:r=input(r=);x=13 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=18 16 15 15 15 18 17 19 20 20 19 20 19 18 18 16 16 18 19 18 18 17 17 21 23 22 21 20 19 19;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X1=N-M;x=13 1 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 2 0 2 0;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=20 18 19 19 18 25 24 24 22 22 23 22 24 22 23 22 21 22 21 20 19 19 19 19 26 25 23 21 22;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X2=N-M;x=13 1 1 0 1 1 1 1 0 3 1 0 1 2 0;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=23 21 21 22 22 21 21 23 28 25 24 24 24 23 22;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X3=N-M;x=13 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 2 1 0 0 0 0 1 0 0 0 1 0;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=26 22 29 23 25 26 23 28 25 26 25 26 24 22 24 21 24 26 26 20 23 24 25 27 26 26 28 25 27 31 26 29 26 24 28 26;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X4=N-M;x=13 3 1 1 0 1 1 0 1 0 1 1 0;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=6 6 11 8 7 6 9 8 8 6 6 9 7;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X5=N-M;x=X1+X2+X3+X4+X5L=max(X-79,0)输入 r=20,第二周期病床使用情况:x = 100L =21程序:r=input(r=);x=1 0 2 1 0 3 1 1 1 0 1 0 0 0 1 0 0 0 2;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=18 17 16 16 14 20 18 17 16 15 15 14 14 17 20 21 20 21 19;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X1=N-M;x=27 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0 2 0 0 0 0 1 0 0 0 1 1;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=19 20 19 18 17 15 21 22 23 22 21 20 20 20 20 19 19 17 18 24 24 24 23 24 23 23 22 20;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X2=N-M;x=27 1 0 0 0 1 0 2 0 0 0 1 2 0 2 2 1;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=23 23 22 23 22 24 24 18 16 19 23 22 20 21 20 29 26;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X3=N-M;x=27 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=26 27 28 28 27 27 23 26 21 24 28 25 27 28 22 21 27 23 25 26 23 23 26 27 25 23 24 19 26 23 26 26 26 29 22 24 25 30 29 22 21 28 26;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X4=N-M;x=27 0 1 0 2 0 1 0 1 0 0 3 2 1 0 1;tt=size(x,2);y=;for i=1:1:tt if i=1 y(i)=x(i); else y(i)=x(i-1)+x(i); end if y(i)r break; endendN=i-1;d=6 9 9 8 12 7 7 9 9 8 7 9 9 9 5 6;e=;for i=1:1:tt e(i)=y(i)+d(i); if e(i)r break; endendM=i-1;X5=N-M;x=X1+X2+X3+X4+X5L=max(x-79,0)输入 r=31附录2门诊汇总2008-7-28 星期一11452122008-8-18 星期一144112122008-9-1 星期一113151112008-7-14 星期一1131492008-7-21 星期一125292008-8-25 星期一13212192008-9-8 星期一1413192008-8-4 星期一1131162008-8-11 星期一111461 汇总162392510832008-8-19 星期二22417142008-7-15 星期二23223102008-8-12 星期二233172008-8-26 星期二2212272008-9-9 星期二2221272008-7-22 星期二2311162008-9-2 星期二2311162008-7-29 星期二2112152008-8-5 星期二221252 汇总21129196672008-7-23 星期三352252162008-8-6 星期三34541142008-8-13 星期三31516132008-8-20 星期三3214292008-9-3 星期三3215192008-9-10 星期三3431192008-8-27 星期三3113382008-7-16 星期三31212172008-7-30 星期三3211263 汇总222153112912008-8-7 星期四444142152008-9-4 星期四413452152008-9-11 星期四414251132008-7-17 星期四416131122008-7-31 星期四41442112008-8-28 星期四4131492008-7-24 星期四421472008-8-14 星期四4311162008-8-21 星期四411134 汇总1124153110912008-9-5 星期五517113132008-7-18 星期五524132122008-8-1 星期五54133112008-8-29 星期五523222112008-8-15 星期五51225102008-8-8 星期五5115182008-7-25 星期五512252008-8-22 星期五5121155 汇总82582212752008-7-19 星期六631231102008-8-30 星期六6121592008-8-23 星期六61321182008-8-16 星期六6132172008-8-2 星期六611462008-9-6 星期六6211152008-7-26 星期六62242008-8-9 星期六611246 汇总10138184532008-8-3 星期日71325112008-7-20 星期日7313292008-7-27 星期日72212292008-8-10 星期日72211282008-8-17 星期日7122382008-8-31 星期日7212382008-7-13 星期日71113172008-8-24 星期日722372008-9-7 星期日71237 汇总12159241070总计100133631706453019
展开阅读全文