1、1眼科病床的合理安排【摘要】本文研究的是眼科病床合理安排的问题,即不同类型的病人在不同时期内就诊达到最优化。文中分别运用了排队论、整数规划建立了具体的数学模型,并通过 Matlab、Lingo 等数学软件编程计算,得到了较为满意的结果。 对于问题一,利用排队论模型,给出以顾客在就诊过程中的平均响应时间作为评价指标体系;对于问题二,采用以等候病人平均候诊时间作为指标,利用 0-1 整数规划对等候病人建立模型,从而安排何人住院,经 Lingo8.0 编程得到结果为安排序号为 1、2、4、5、97 的病人住院;问题三,根据当时住院病人及等待住院病人通过 Excel 统计出病人平均等待时间,通过数据分
2、析,进行参数估计,求出置信区间,得出结论:对于外伤病人,只需等待一天就可住院,其它类病人大致入住时间区间为9.5391,12.3382;问题四在问题二的基础上由于多限制了一个条件,最终解得手术安排应作出调整,调整后的排序号为7、8、9、10、97;对于问题五,将病人分为四类(外伤、视网膜疾病、白内障、青光眼) ,得到占用病床比例为:0.1176471 : 0.3294118 : 0.1176471 : 0.4352941 。【关键词】 排队论 整数规划 泊松分布2一 问题背景及重述1.1 问题的背景医院就医排队是大家都非常熟悉的现象,它以很多不同的形式出现在我们面前,例如,患者到门诊就诊、到收
3、费处划价、到药房取药、到注射室打针、等待住院等,往往需要排队等待接受某种服务。为了让病人能尽快得到治疗,病床的利用更充分,我们根据该医院给出的历史数据,通过数学建模来解决这一问题。1.2 问题的重述该医院眼科门诊每天开放,住院部共有病床 79 张。该医院眼科手术主要分为四大类:白内障、视网膜疾病、青光眼和外伤。白内障手术较简单,而且没有急症。该院安排每周一、三做白内障手术,如果要做双眼是周一先做一只,周三再做另一只,做两只眼的病人大约占到 60%。外伤疾病通常属于急症,病床有空时立即安排住院,住院后第二天便会安排手术。其他眼科疾病有各种不同情况。这类疾病手术时间一般不安排在周一、周三。由于急症
4、数量较少,这些眼科疾病可不考虑急症。当前该住院部对全体非急症病人是按照 FCFS 规则安排住院,但等待住院病人队列却越来越长.为解决这个问题,我们将依据附录给出的数据,通过数学建模来解决该住院部的病床合理安排问题,以提高对医院资源的有效利用。问题一:分析确定合理的评价指标体系,用以评价该问题的病床安排模型的优劣。问题二:就该住院部当前的情况,建立合理的病床安排模型,以根据已知的第二天拟出院病人数来确定第二天应该安排哪些病人住院。并对建立的模型利用问题一中的指标体系作出评价。问题三:根据当时住院病人及等待住院病人的统计情况,在病人门诊时即告知其大致入住时间区间。问题四:若该住院部周六、周日不安排
5、手术,对问题二的医院的手术时间安排作出相应调整。问题五:依据各类病人占用病床的比例,建立使得所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短的病床比例分配模型。3二、符号说明及模型假设2.1 符号说明第i类病人的第j位门诊者,ijX第i类患者的平均等待时间iT平均每天到达的病人数病人平均被服务时间v平均每天被服务完的顾客数平均服务强度 每天的门诊人数 iR 每天的门诊人数与总人数之比 iB第j个人出院的时间jN第j个人入院的时间jM第j个人的门诊时间jL第i类病人平均住院时间iD第j个人的等待时间jt2.2 模型假设(1)在不相重迭的时间区间内病人到达数是相互独立的。(2)该医院手术
6、条件比较充分,在考虑病床安排时可不考虑手术条件的限制。(3)病人的到达服从泊松分布。(4)病人一旦挂诊,不会转到其它医院。三、问题分析与模型建立431 问题 1(确定指标体系)311 问题分析及建立:由文献6知:在门诊服务中,病人的到达一般可以用泊松分布 描述,nPt这里求 时,用通常建立未知函数的微分方程,考虑区间(0,t+ ),可nPt 以分成两个区间(0,t)和(t,t+ ), 得t(1)1,1nnnttPtt通过对(1)的化简,并利用初始条件,可得到以下的方程:(2)10nnndPttt由(2)解得: (3)!ntnPte表示长为t的时间区间内到达 n位病人的概率,由(3)可知,在时间
7、n区间(0,t)内到达的病人数n服从泊松分布。其数学期望和方差分别是:。(),()EvtDt通过对医院病人的到达情况的统计来确定其中的参数 表示单位时间能被服务完的顾客数的期望值,称为平均服务率,而 就是一个病人的平均1E服务时间。用相同的时间区间顾客到达的平均数与能被服务的平均数之比来刻画服务效率和服务机构利用程度,称之为服务强度。医院门诊流程系统一般可以用下列的效率指标来评价:系统内排队的病人的均值 ,病人在系统内的平均逗留时间 ,排队病人的平均数 ,病人平均Ls Ws Lq排队时间 ,由排队论可知一些指标的运算公式:W 系统中的平均顾客数(队长期望值)5sL 在队列中等待的平均顾客数(队
8、列长期望值) qL 在系统中顾客逗留时间的期望值 1sW在系统中顾客等待时间的期望值 q通过上述指标,我们约定将顾客在系统中的平均响应时间 作为评价指标T。如果越大, 越小,则T越小。这与直觉一样,如果不变,进程平1均服务时间1 /越短,则就绪队列中进程的等待时间就越短,平均响应时间就越短。如果 = ,则T将趋于无穷大,此时系统性能是最差的。 32 问题 2(病床安排模型)321 问题分析:以根据已知的第二天拟出院病人数来安排病人住院,我们建立一个整数规划模型。首先以病人等待时间最少确定目标函数为:(4) ,min*ijiXT对于同一类病人采取先到先服务的规则 ;, 0ijijh外伤优先就诊
9、;1jX,6白内障患者单眼与双眼人数之比 ;4,523jX由表格一各种病的人数及服务每类病人的平均时间V,白内障的时间与其它病的时间之比与一周所占比例的关系 ;5()*1429V4123被选入院的总病人数等于离开的病人数 。,ijXr322 模型建立:建立模型:由问题分析可以得出病床安排模型如下:(5),14,5,min*02.3()*195ijiijijhjijXTXstVr,1233 问题 3(预测入住区间)331 问题分析:此问可以看成是一个预测问题,根据已知住院病人及等待住院病人的统计情况来预测以后病人入住时间区间,我们以等待时间长短来确定入住时间区间。通过题中附录可以统计出 2008
10、.7.13-2008.8.11 这 30 天中每位病人的等待时间(数据分布见附件一) ,从而研究 的规律,我们画出频数直方图(见图 1) 。此jt jt图可以看成两部分,由统计数据知,第一部分表示的是外伤病人,由于外伤病人7第一天门诊,第二天就住院,所以候诊时间均为一天。另一部分近似服从正态分布,通过假设检验从而求得时间区间。0 2 4 6 8 10 12 14 16050100150200250300人 人 人 人 人 人 人 人 人 人 人图 1332 模型建立:建立模型:由 Matlab 对统计的等候时间数据进行假设检验,程序如下:A=load(a.txt);j=1;for i=1:42
11、8if A(i)=1B(j)=A(i);j=j+1;endendhist(A)figurehist(B)8muhat,sigmahat,muci,sigmaci=normfit(A)h,sig,ci=ttest(B,12.6493)34 问题 4(重病床安排)341 问题分析:本题是在二题的基础上,将一周 7 天工作日改成了五天,也就是白内障病人占用的时间与其它病占用的时间有了改变,所以我们只需在问题二的基础上作适当修改即可。342 模型建立: 和第二题一样,所有待诊病人的等待时间之和最小 ,min*ijiXT同一类病人采取先到先服务的规则 ;, 0ijijh外伤优先就诊 ;1jjX, ,白内
12、障患者双眼与单眼人数之比 ;4,23jX由表格一各种病的人数及服务每类病人的平均时间V,白内障的时间与其它病的时间之比与一周所占比例的关系 ;5()*1429V4123被选入院的总病人数等于离开的病人数 。,ijXr35 问题 5(病床分配比例模型)351 问题分析为便于管理的角度提出建议,在一般情形下,医院病床安排可采取使各类病人占用病床的比例大致固定的方案。首先将所有的病人分成外伤、视网膜疾病、青光眼和白内障四类,分别用 表示这四种病安排床数的比例。1234,9我们可以用 Excel 处理题中附录数据,计算出这四种病的平均住院时间、平均等待时间和每天每种病的门诊人均值(表一):病种 外伤
13、视网膜疾病 青光眼 白内障平均等待时间 iWq1 12 12 12平均住院时间 iV7 12.6 10.5 5.2每天门诊人均值 ()iR1.66667 28333 1.05 37表一然后建立使得所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短的病床比例模型,目标函数为:(6)4min(*)0wWqViiii四种病安排床数比例显然满足(7)41i在分配病床时,分配比例不仅跟等候时间有关,更与每类病人每天平均到达的人数 有关,但又不是单纯的成比例关系,故考虑几类病人的优先级,满iR足外伤白内障视网膜疾病青光眼,即:(8)1423RR由(7)、(8) 整理后有10(9)414142233
14、*iiR352 模型建立:建立模型:由问题分析得到模型如下: 40min(*)iiiiiwWqV414142233*.*iiRST四、模型求解41 问题 2我们用 Lingo8.0 编程(见程序附件二) ,得到结果为:安排序号为1、2、4、5、97 的病人住院。42 问题 3通过 Matlab7.0 对数据进行假设检验得到结果为:对于外伤病人,等候一天就可入院;对于其它类病人,其时间区间为9.5391,12.3382。43 问题 4在问题 2 的基础上改变约束条件,用 Lingo8.0 编程得到结果为:安排序号为 7、8、9、10、97 的病人住院。44 问题 5通过用 Lingo8.0 编程
15、(见程序附件三) ,得到结果为:外伤:视网膜疾病:青光眼:白内障为 0.1176471 : 0.3294118 : 110.1176471 : 0.4352941。五、模型的评价与推广5.1 优点1)对不同的问题我们建立了不同类型的模型,比如排队论模型和规划模型,从而解决各种问题。2)在运用规划模型时,我们考虑了比较多的约束条件,使得得到的结果更加精确。3)易于推广,非常实用。4)我们的结果用表格形式呈现,让人一目了然。5.2 缺点1) 在统计每人住院日时,由于没有确切数据只能根据已知算每种病的平均住院日作为每人的住院日。2)实际生活中影响病床安排的因素很多,比如特别病人,病情的变故等,我们只
16、考虑相对权重更大的部分指标。5.3 推广此模型不仅仅只用于医学方面,问题一所应用的排队论模型可用于银行等待服务等问题,而问题三的模型还可以用于机票和汽车票等的预定问题,问题二,四五我们所应用的整数规划模型又可以用于各方面求最优解问题。六、建模体会通过本次建模,我们更深刻的认识到数学的重要性。数学不仅仅是用于日常的买卖交换,学得越深,它的作用越大,越能解决生活中的实际问题。要想将数学用来解决实际问题,我们必须借助前人的肩膀。通过建模我们深刻地感受到查找资料是多么的重要,大量的资料不仅能让我们节约时间、分析别人的想法,然后通过自己的分析对比融会贯通找出最合理的方法。查找资料最重要的是可以避免去做前
17、人做过的工作,我们应该去其糟粕,取齐精华,这样才能避免做无用功,才能让自己的努力更有意义。数学建模培养了我们团结协作、不怕困难、敢于拼搏的精神。尽管开始我们没有一点思路,一个题都不会,但我们决不言弃,总相信三天后我们将交一份满意的答卷。经过三天三夜脑力和体12力的考验,我们觉得大学能有这样的机会让我们三人共同完成这样一次特别的作业是值得我们这一身铭记的。参考文献:1 姜启源.数学模型M.北京:高等教育出版社,2003。2 陕玉兰,TOPS IS法综合评价牧区综合医院近10年医疗质量,中国医院统计 第15卷第3期:245-246,2008。3 李朔枫、周启海,基于FCFS 和SOFS 的供方主导
18、型供应链订单管理模型与算法研究,计算机科学:237-240,2008。4 刘怀玲、陈 青,基于排队论的进程调度算法分析,微计算机应用, 2009。5 周奇才, 熊肖磊, 任建强等1立体停车系统特征分析及流畅性计算,中国工程机械学报:4145, 2005。6 赵树进、杨哲、钟拥军,基于排队论的医疗工作流程重组,中国医院管理,第23卷第4期(总第261期):2003。7 王云花、姚淑荣,门诊工作量的季节性统计分析,黑龙江医药科学,第28卷第1期:59-61,2005。8 谢祎,应用加权TOPSIS法对某院临床科室医疗质量评价,中国医院统计,第16卷第1期:32-49,2009。9 甘应爱等,运筹学
19、,清华大学出版社,1990。13附件附件一:0 50 100 150 200 250 300 350 400 45002468101214167.13-8.11人人人人人人人人人人人人人附件二:sets:time/1102/:u,w,x;endsetsdata:u=5 2 3 2 2 5 4 3 5 2 22 3 4 2 2 3 5 5 5 2 42 2 4 4 5 4 2 2 2 5 42 4 2 2 5 4 3 2 2 2 35 5 3 3 2 2 5 5 5 2 53 5 4 5 5 5 2 3 5 2 52 4 2 2 4 5 4 2 4 3 32 4 4 2 4 5 4 4 5 4
20、35 2 2 3 5 5 3 5 1 5 24 2 2;w=12 12 12 12 12 12 12 11 11 11 1111 11 11 10 10 10 10 10 10 10 1010 10 9 9 9 9 9 8 8 8 88 8 8 8 7 7 7 7 7 7 77 7 7 7 7 7 6 6 6 6 66 6 6 6 6 5 5 5 5 4 44 3 3 3 3 3 3 3 3 2 2142 2 2 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 00 0 0;enddata!Objective function;min=sum(time(i):x(i)*w
21、(i);!demand constraints;for(time(i)|u(i)#eq#1:x(i)=1);for(time(i)|i#ge#12#and#u(i)#ne#1:x(i)=0);sum(time(j):x(j)=5;for(time:bin(x); end附件二:model:!最短的病床比例分配模型;sets:ws/14/:wq,v,r,t;endsetsdata:wq=8,13,11,7;v=1,12,12,12;r=1,2.8,1,3.7;enddatamin=sum(ws(i):t(i)*(wq+v);sum(ws(i):t(i)=1;for(ws(i):bnd(0,t(i
22、),1);t(4)*r(1)t(1)*r(4);t(2)*r(4)t(4)*r(2);t(3)*r(2)=t(2)*r(3);end结果:Global optimal solution found at iteration: 4Objective value: 20.27059Variable Value Reduced CostWQ( 1) 8.000000 0.000000WQ( 2) 13.00000 0.000000WQ( 3) 11.00000 0.000000WQ( 4) 7.000000 0.000000V( 1) 1.000000 0.000000V( 2) 12.00000
23、0.00000015V( 3) 12.00000 0.000000V( 4) 12.00000 0.000000R( 1) 1.000000 0.000000R( 2) 2.800000 0.000000R( 3) 1.000000 0.000000R( 4) 3.700000 0.000000T( 1) 0.1176471 0.000000T( 2) 0.3294118 0.000000T( 3) 0.1176471 0.000000T( 4) 0.4352941 0.000000Row Slack or Surplus Dual Price1 20.27059 -1.0000002 0.000000 -20.270593 0.000000 -3.0461054 0.000000 -1.5416765 0.000000 -0.9747899