您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页眼科病床的合理安排

眼科病床的合理安排

来源:好走旅游网
眼科病床的安排与分配模型

摘要 本文针对某医院眼科排队就医现象,以题目中给出的2008年7月13日

至2008年9月11日这段时间里各类病人的就医情况为依据,建立眼科病床安排的优化模型,从而达到提高医院资源的有效利用率及就医病人对该院评价的目的。

针对问题一,分别从医院和病人的角度出发,以病床的有效利用率和病人的满意度为评价指标,建立百分制评价指标体系,得到该院FCFS(First come, First serve)的眼科病床安排模型的病床有效利用率和病人满意度的得分分别为73.63分、55.01分,表明该院建立的病床安排模型较差。

针对问题二,建立以一周为循环的优化病床安排模型,并通过计算机模拟得到平均病床有效利用率得分为98.51,病人满意度得分为56.15,在很大程度上提高了医院资源的有效利用率及就医病人的满意度。

针对问题三,通过统计问题二中计算机模拟数据,得到白内障(单眼)、青光眼病人平均等待入院区间为[1,2],白内障(双眼)、视网膜疾病病人平均等待入院区间为[2,3]。

针对问题四,当该住院部周六、周日不安排手术时,分别通过计算机模拟将白内障手术安排在周一和周三、周二和周四以及周三和周五时的情况,得到将白内障手术安排在周一、周三时病床有效利用率和病人的满意度得分最高,为98.98和52.43,因此该医院的手术时间安排不需要做出相应调整。

针对问题五,建立线性规划的病床分配模型,在问题二模型的基础上通过整数规划计算出使得所有病人在系统内的平均逗留时间最短的病床分配方案为:白内障(单眼)8张、白内障(双眼)15张、青光眼10张、视网膜疾病39张、外伤5张。

关键词:百分制 计算机模拟 线性规划 整数规划

一、问题重述

我们考虑某医院眼科病床的合理安排的数学建模问题。

该医院眼科门诊每天开放,住院部共有病床79张。该医院眼科手术主要分四大类:白内障、视网膜疾病、青光眼和外伤。附录中给出了2008年7月13日至2008年9月11日这段时间里各类病人的情况。

白内障手术较简单,而且没有急症。目前该院是每周一、三做白内障手术,此类病人的术前准备时间只需1、2天。做两只眼的病人比做一只眼的要多一些,大约占到60%。如果要做双眼是周一先做一只,周三再做另一只。

外伤疾病通常属于急症,病床有空时立即安排住院,住院后第二天便会安排手术。

其他眼科疾病比较复杂,有各种不同情况,但大致住院以后2-3天内就可以接受手术,主要是术后的观察时间较长。这类疾病手术时间可根据需要安排,一般不安排在周一、周三。由于急症数量较少,建模时这些眼科疾病可不考虑急症。

该医院眼科手术条件比较充分,在考虑病床安排时可不考虑手术条件的,但考虑到手术医生的安排问题,通常情况下白内障手术与其他眼科手术(急症除外)不安排在同一天做。当前该住院部对全体非急症病人是按照FCFS(First come, First serve)规则安排住院,但等待住院病人队列却越来越长,医院方面希望你们能通过数学建模来帮助解决该住院部的病床合理安排问题,以提高对医院资源的有效利用。

问题一:试分析确定合理的评价指标体系,用以评价该问题的病床安排模型的优劣。

问题二:试就该住院部当前的情况,建立合理的病床安排模型,以根据已知的第二天拟出院病人数来确定第二天应该安排哪些病人住院。并对你们的模型利用问题一中的指标体系作出评价。

问题三:作为病人,自然希望尽早知道自己大约何时能住院。能否根据当时住院病人及等待住院病人的统计情况,在病人门诊时即告知其大致入住时间区间。

问题四:若该住院部周六、周日不安排手术,请重新回答问题二,医院的手术时间安排是否应作出相应调整。

问题五:有人从便于管理的角度提出建议,在一般情形下,医院病床安排可采取使各类病人占用病床的比例大致固定的方案,试就此方案,建立使得所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短的病床比例分配模型。

二、问题分析

该题目提供了某住院部2008-7-13到2008-9-11共61天里白内障、白内障双眼、青光眼、视网膜和外伤五种眼科疾病就诊时间、住院时间、手术时间和出院时间等数据。由于该医院只有79张病床,等待住院病人队列越来越长,为了改善这种现象,我们建立新的病床安排模型。

对于问题一,整理数据后可以看出,住院时间是一个不可优化的常数,而术前等待时间和等待住院时间存在优化空间。我们从医院和病人两个方面考虑,选取病床的合理利用率、病人的满意度(病人平均等待入院时间和平均等待手术时间)三个指标体系,对医院采用的FCFS(First come, First serve)病床安排模型进行合理的评价。

对于问题二,考虑到白内障手术只安排在星期一和星期三,处理数据后可以看出,白内障病人的术前额外等待时间过长。为了解决这个问题,根据各类疾病的术前准备时间,可以得到各类疾病最优的入院时间,在各疾病内部不失公平性的前提下我们提出一定的准则,通过计算机模拟得到新的住院以及手术时间安排,再用第一问中的评价指标体系做出评价。

对于问题三,根据第二问仿真结果,可以知道五种疾病最优住院日期和不在最优住院日期住院时术前额外等待时间以及五种病人平均最短住院时间,可以根据当时住院病人及等待住院病人的统计情况,在病人门诊时即告知其大致入住时间区间。

对于问题四,考虑到该住院部周六、周日不安排手术,在问题二中建立的优化病床安排模型的基础上重新对问题二求解 。医院的手术时间安排应作出相应调整,我们可以考虑将白内障手术安排在周二、周四或者周三、周五。在第二问建立的优化病床安排模型的基础上,用计算机模拟得到新的住院以及手术时间安排,再用第一问中的评价指标体系做出评价,根据病床的合理利用率得分和病人的满意度得分,可以判断出最优时间安排。

对于问题五,从便于管理的角度,使各类病人占用病床的比例大致固定。由于病人的必须术前准备时间和术后住院时间是根据各种病型及病人的具体情况来定不存在优化空间,只能通过缩短等待入院时间和等待手术时间来减少病人在系统内的逗留时间。在问题二的基础上,按照各类病人平均每天就诊人数、平均住院天数,建立线性规划病床分配模型,使得所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短。

三、模型假设

1. 假设题目中提供的数据真实可靠;

2. 假设青光眼、视网膜疾病的急症数量较少,可不考虑;

3. 假设该医院眼科手术条件充分,在考虑病床安排时可不考虑手术条件的; 4. 假设门诊过后的病人会一直等到有病房可用,不会中途另选医院; 5. 假设

四、符号说明

A—— 病床的合理利用率得分; B—— 病人的满意度得分;

a1—— 平均每天出院人数; a2—— 平均每天就诊人数; b1—— 平均等待入院时间;

b2—— 平均等待手术时间;

Di—— 平均每种病人每天的就诊人数;

D1—— 白内障单眼平均每天的就诊人数;

D2—— 白内障双眼平均每天的就诊人数;

D3—— 青光眼平均每天的就诊人数; D4—— 视网膜平均每天的就诊人数;

D5—— 外伤平均每天的就诊人数;

di—— 平均每种病人每天的出院人数; d1—— 白内障单眼平均每天出院人数; d2—— 白内障双眼平均每天出院人数; d3—— 青光眼平均每天出院人数; d4—— 视网膜平均每天出院人数; d5—— 外伤平均每天出院人数;

i—— 各种疾病病床分配比例; 1—— 白内障单眼病床分配比例; 2—— 白内障双眼病床分配比例; 3—— 青光眼病床分配比例; 4—— 视网膜病床分配比例; 5—— 外伤病床分配比例。

五、模型的建立与求解

5.1问题一的建立与求解

分别从医院和病人的角度出发,建立评价指标体系,用医院资源(主要指病床)的合理利用率和病人的满意度来评价当前该住院部对全体非急症病人按照FCFS(First come, First serve)规则安排住院的病床安排模型的优劣。

由于该医院眼科手术条件比较充分,可用该医院住院部的服务率来反映医院资源的合理利用率。目前等待住院病人队列越来越长,说明该院病床已安排满。而每出院一个病人就可以空出一个病床,每就诊一位病人则需要安排一个病床,当病床的供需达到平衡时就表明该院的病床有效利用率达到最高为1。则住院部的服务率可表示为:

住院部的服务率=平均每天出院人数

平均每天就诊人数影响病人满意度的主要因素为门诊过后的等待入院时间以及入院之后的等待手术时间(不包括每种疾病必须的术前等待时间,如白内障病人的术前准备时间需1、2天按2天来算),设定每个病人平均等待入院时间和平均等待手术时间相对病人满意度的权重为0.5和0.5,当两种等待时间都为零,即病人门诊过后能及时住院、住院之后能及时安排手术时病人的满意度最大为1。则病人的满意度可表示为:

病人的满意度=110.5+0.5

平均等待入院时间+1平均等待手术时间+1建立百分制来分别评价病床的有效利用率和病人的满意度,满分为100分。

则其各自的得分可表示为:

A=a1100 (1)a211B=0.5+0.5100 (2)

b2+1b1+1其中A——住院部的服务率得分,a1——平均每天出院人数,a2——平均每天就诊人数,B——病人的满意度得分,b1——平均等待入院时间,b2——平均等待手术时间。

利用题目中的数据(见附录),求得2008—07—19至2008—09—11之间的平均每天出院人数和平均每天就诊人数分别为a1=349/=6.4630、

a2=474/=8.7778,则住院部的服务率得分A=73.63;2008—07—14至2008—09—9之间每个病人的平均等待入院时间和平均等待手术时间分别为

b1=4605/421=10.9382、b2=136/408=0.3333,则病人的满意度得分B=41.69。 由上数据可知,当前该住院部对全体非急症病人按照FCFS(First come, First serve)规则安排住院时,住院部的服务率和病人的满意度的得分分别为73.63分、55.01分,表明该院建立的病床安排模型较差,其住院部的79张病床没有得到合理充分的利用,导致等待住院病人的队列越来越长,在该院就医的病人满意度很低。

5.2问题二的建立与求解:

根据题目中给出的2008—07—13到2008—09—11的病人信息,我们可以分别计算出白内障单眼、白内障双眼、青光眼、视网膜疾病、外伤的术后平均住院时间c(白内障双眼按第一次手术到出院时间计算),它们分别为:

表(一)

疾病 白内障 白内障 (单眼) (双眼) 青光眼 视网膜 疾病 外伤 术后平均住院时间c3 5 8 10 6 (天) 由题目中可知,目前该院是每周一、三做白内障手术,且双眼白内障是周一先做一只,周三再做另一只,白内障手术与其他眼科手术(急症除外)不安排在同一天做。同问题一中,白内障病人的术前准备时间需1、2天按2天算,其他眼科疾病需2、3天的术前准备时间按3天算。外伤疾病通常属于急症,病床有空时立即安排住院,住院后第二天便会安排手术。

则假设该医院一周内七天都可以安排手术,不同病人(暂不考虑外伤,外伤是有空病床即安排住院)安排在周一到周日入院时其至少术前等待时间(包括每种疾病必须的术前等待时间)如下:

表(二) 时间 周一 周二 周三 周四 周五 周六 周日 疾病 白内障 (单眼) 白内障 (双眼) 青光眼、视网膜疾病 6 5 4 3 2 3 2 6 5 4 3 2 8 7 3 3 3 4 3 4 3 由上表可看出将一周看做一个循环,根据已知的第二天拟出院病人数来确定第二天应该安排哪些病人住院时,为最大限度减少病人的等待入院时间、提高住院部的服务率,在每周安排病人入院时应遵从:周一、周二、周三是青光眼和视网膜疾病病人优先;周四、周五是白内障(双眼)病人优先,其次是白内障(单眼)病人优先(因为做两只眼的病人比做一只眼的要多一些,大约占到60%);周六、周日是白内障(单眼)病人优先,其次是青光眼和视网膜疾病病人优先。

入院后的病人按照表(二)中的至少术前等待时间(包括每种疾病必须的术前等待时间)安排手术,其术后的住院时间则按照表(一)中每种疾病的术后平均住院时间来计算(注:对于外伤,安排每天空出一个病床作为外伤急症使用)。

按照以上一周内循环安排住院规则,通过计算机模拟(具体matlab程序见附录一)该医院1——104天的就诊—入院—手术—出院情况,其中每天的就诊人数服从泊松分布,取20——100天时的数据作为统计范围,通过计算得到5次模拟数据结果如下表(三):

表(三) 次数 1 2 3 4 5 指标 平均每天就诊人数8.4190 8.7619 8.3905 9.2286 8.3524 (人) 平均每天出院人数8.3905 8.6286 8.0000 9.1714 8.3238 (人) 平均等待入院时间1.2293 0.4481 1.0631 0.9398 0.5069 (天) 平均等待手术时间0.7696 0.8102 0.6786 0.7310 0.9199 (天) 则由公式(1)、公式(2)可计算出五次模拟的平均住院部服务率得分A=98.51,病人满意度得分B=56.15

将一周内循环的病床安排模型同原FCFS(First come, First serve)规则安排住院模型比较,其各自的病床的有效利用率得分和病人的满意度得分情况如下图:

医院病床安排合理度1009080706050403020住院部的服务率病人的满意度原有方案改进后方案

由上图数据比较可知,就该住院部当前的情况,每周一、三做白内障手术且白内障手术与其他眼科手术(急症除外)不安排在同一天做,我们建立的根据第二天拟出院病人数且以一周为循环的病床安排模型在很大程度上提高了该医院住院部的服务率,从而大大缩短了等待住院病人的队列,提高了医院的效率,同时也提高了在该院就医病人的满意度。

5.3问题三的建立与求解:

通过统计问题二中计算机模拟数据,可得到当该院按一周内循环的优化模型安排住院时,达到稳定状态后,其平均每天出院人数为8.7人,各眼科疾病(急症除外,有空病床即为其安排)平均每个就诊病人的等待入院时间分别为:白内障(单眼)1.6038天,白内障(双眼)2.1314天,青光眼1.1天,视网膜疾病2.75天,即各就诊病人的等待入院区间大致为:

表(四) 病型 白内障(单眼) 白内障(双眼) 青光眼 视网膜疾病 时间 平均等待入院区间 [1,2] [2,3] [1,2] [2,3] 5.4问题四的建立与求解:

若该住院部周六、周日不安排手术,其原手术安排规则是每周一、三做白内障手术且白内障手术与其他眼科手术(急症除外)不安排在同一天做,对于双眼白内障病人则是周一先做一只,周三再做另一只,则当医院手术时间需要调整时其白内障手术可安排在周二、周四或者周三、周五,通过计算机模拟(具体matlab程序见附录)可分别得到周六、周日不安排手术时三种方案的平均等待入院时间、平均等待手术时间、病床利用率得分以及病人满意度得分分别为:

表(五) 白内障手术时间 周一、周三 周二、周四 周三、周五 平均等待入院时间 0.9884 1.2525 1.3173 平均等待手术时间 0.9150 0.9595 0.9076 住院部的服务率得分 98.98 98.81 98.85 病人满意度得分 52.43 48.86 49.70 由上表可看出当该住院部周六、周日不安排手术时,将白内障手术时间安排在周一、周三最好,其住院部的服务率得分为98.98,病人满意度得分为52.43,是三种方案中最高的,因此该医院的手术时间安排不需要作出调整。

5.5问题五的建立与求解:

从便于管理的角度出发,使各类病人占用病床的比例大致固定,则在安排就诊病人入院时可按照其病型安排病床,既方便了医院的管理人员也在一定程度上体现了公平性。为使得所有病人在系统内的平均逗留时间(含等待入院时间及住院时间)最短,且由于病人的必须术前准备时间和术后住院时间是根据各种病型及病人的具体情况来定不存在优化空间,只能通过缩短等待入院时间和等待手术时间来减少病人在系统内的逗留时间。

由问题一和问题二的求解中可看出,建立的以一周为循环的优化模型相对于该院原本的FCFS(First come, First serve)规则模型的平均等待入院时间由10天减少到1天,而平均等待手术时间则只增加了0.45天,大大缩短了病人在系统内的平均逗留时间(含等待入院时间及住院时间),因此将各类病人占用病床比例的线性规划分配模型建立在以一周为循环的优化病床分配模型之上。

假设各类病人占用病床的比例固定,白内障(单眼)、白内障(双眼)、青光眼、视网膜疾病、外伤的病床分配比例为1:2:3:4:5(其中),平均每种眼科疾病的住院时间为di(i=1,2…5),平123451均每种疾病每天的就诊人数为Di(i=1,2…5),病人在系统内的平均逗留时间(含等待入院时间及住院时间)为T,则平均每种疾病每天空出一张病床的概率为

11,平均每种疾病每天空出的病床数为79i。当平均每种疾病每天空出的didi病床数与其平均每天的就诊人数之差越小,病人在系统内的平均逗留时间则越短。

由题目中给出的数据统计可得61天内五种眼科疾病就医情况,并计算出每种疾病平均需要的病床数如下表:

白内障白内障视网膜疾共61天 青光眼 外伤 (单眼) (双眼) 病 平均每天就1.63 2.18 1.03 2.79 1.05 诊人数 总人数 所占比例 平均最短住院时间 平均需要病床数 100 133 63 170 0.188679 0.250943 0.118868 0.320755 0.120755 5 8.15 7 15.26 11 11.33 13 36.27 7 7.35

建立线性规划病床分配模型:

1目标函数为 T79iDi(i=1,2…5)

dii11234516791119218137约束条件为 

9791433479439951057通过整数规划(具体lingo程序见附录二)计算得到各种眼科疾病的最优病

床分配如下: 病型 白内障 白内障 视网膜 青光眼 外伤 数量 (单眼) (双眼) 疾病 病床数 8 15 10 39 7 5六、模型的分析与评价

本文中首先从医院和病人的角度出发,以病床的有效利用率和病人的满意度为评价指标,建立百分制评价指标体系,得到该院原有的FCFS(First come, First serve)的眼科病床安排模型的病床有效利用率较低,从而建立以一周为循环的优化病床安排模型,并通过计算机模拟验证了该优化模型相对原模型的优越性。利用该模拟数据计算得到各眼科疾病大致的等待入院时间,可在病人门诊时即告知其大致入住时间区间。

当该住院部周六、周日不安排手术时,利用第二问建立的模型分别将三种方案进行比较,得到医院的手术时间安排是否需要作出相应调整以及调整前后的变化。并从便于管理的角度,建立线性规划的病床比例分配模型,使各类病人占用病床的比例大致固定。

本文中建立的以一周为循环的优化病床安排模型和线性规划的病床比例分配模型有较好的实用性,可根据各医院不同的手术安排情况稍加变换,具有较好的推广性。但计算机模拟的数据有限且具有一定的随机性,因此会存在一定的误差。

七、参考文献

【1】姜启源,数学模型(第二版),北京:高等教育出版社,2003。

【2】吴翊,吴孟达,成礼智,数学建模的理论与实践,长沙:国防科技大学出版社,1999。

【3】薛毅,数学建模基础,北京:北京工业大学出版社,2004

八、附录

一、matlab程序: %模拟病床安排方案

a=poissrnd(1.678315,1,105); %眼白内障每天一入院人数 b=poissrnd(2.114572,1,105); %双眼白内障每天入院人数 c=poissrnd(1.057725,1,105); %青光眼 d=poissrnd(2.852785,1,105); %视网膜 e=poissrnd(1.074403,1,105); %外伤 mry=[a;b;c;d;e]; A=[79 zeros(1,120)];

wait=[zeros(1,105);zeros(1,105);zeros(1,105);zeros(1,105);zeros(1,105)];

ry=0; %总入院人数 cy=[zeros(1,120)]; %总出院人数

wr=[]; %总等待入院时间 ws=0; %总等待手术时间

temp1=[zeros(1,105);zeros(1,105) ;zeros(1,105);zeros(1,105);zeros(1,105)] ;

temp=[] ; %'存放中间变量 for i=1:104;

temp=wait(:,i)+mry(:,i);

temp1(:,i)=temp; if A(i)>sum(temp)

A(i+1)=A(i+1)+A(i)-sum(temp); end

if rem(i,7)==0 %星期天 优先级 5 1 3 4 2 if temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+A(i); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(1)+temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5);

A(i+5)=A(i+5)+temp(1)+temp(5)-A(i); temp(1)=temp(1)+temp(5)-A(i); temp(5)=0;

wait(:,i+1)=temp;

elseif temp(1)+temp(3)+temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+5)=A(i+5)+temp(1);

A(i+11)=A(i+11)+temp(1)+temp(3)+temp(5)-A(i); temp(3)=temp(3)+temp(1)+temp(5)-A(i); temp(1)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(1)+temp(3)+temp(4)+temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+5)=A(i+5)+temp(1); A(i+11)=A(i+11)+temp(3);

A(i+13)=A(i+13)+temp(1)+temp(3)+temp(4)+temp(5)-A(i); temp(4)=temp(1)+temp(3)+temp(4)+temp(5)-A(i); temp(5)=0; temp(1)=0; temp(3)=0;

wait(:,i+1)=temp;

elseif sum(temp)-A(i)<=0; ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+5)=A(i+5)+temp(1); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4); A(i+14)=A(i+14)+temp(2);

ws=ws+temp(2)*5;

temp=[0; 0 ;0; 0 ;0]; elseif sum(temp)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+5)=A(i+5)+temp(1); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4);

A(i+14)=A(i+14)+sum(temp)-A(i); temp(2)=sum(temp)-A(i); temp(5)=0; temp(1)=0; temp(3)=0; temp(4)=0;

ws=ws+temp(2)*5; wait(:,i+1)=temp; end

elseif rem(i,7)==1 %星期一 优先级if temp(5)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(5)+temp(3)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3);

temp(3)=temp(3)+temp(5)-A(i); temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3);

A(i+14)=A(i+14)+temp(5)+temp(3)+temp(4)-A(i); temp(4)=temp(4)+temp(3)+temp(5)-A(i); temp(3)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)+temp(2)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3); A(i+14)=A(i+14)+temp(4);

5 3 4 2 1 A(i+13)=A(i+13)+temp(2)+temp(3)+temp(4)+temp(5)-A(i); temp(2)=temp(2)+temp(3)+temp(4)+temp(5)-A(i); ws=ws+temp(2)*4; temp(3)=0; temp(4)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)+temp(2)+temp(1)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3); A(i+14)=A(i+14)+temp(4); A(i+13)=A(i+13)+temp(2);

A(i+9)=A(i+9)+sum(temp)-A(i); ws=ws+temp(2)*4;

temp(1)=sum(temp)-A(i); ws=ws+temp(1)*4; temp(2)=0; temp(3)=0; temp(4)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif sum(temp)<=A(i) ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3); A(i+14)=A(i+14)+temp(4); A(i+13)=A(i+13)+temp(2); A(i+9)=A(i+9)+temp(1); ws=ws+temp(2)*4; ws=ws+temp(1)*4; temp=[0;0 ;0 ;0 ;0]; end

elseif rem(i,7)==2 %if temp(5)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(5)+temp(3)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+11)=A(i+11)+temp(3);

temp(3)=temp(3)+temp(5)-A(i);

星期二优先级 5 3 4 2 1 temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+11)=A(i+11)+temp(3);

A(i+13)=A(i+13)+temp(5)+temp(3)+temp(4)-A(i); temp(4)=temp(4)+temp(3)+temp(5)-A(i); temp(3)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)+temp(2)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4);

A(i+12)=A(i+12)+temp(2)+temp(3)+temp(4)+temp(5)-A(i); temp(2)=temp(2)+temp(3)+temp(4)+temp(5)-A(i); ws=ws+temp(2)*3; temp(3)=0; temp(4)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)+temp(2)+temp(1)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4); A(i+12)=A(i+12)+temp(2);

A(i+8)=A(i+8)+sum(temp)-A(i); ws=ws+temp(2)*3;

temp(1)=sum(temp)-A(i); ws=ws+temp(1)*3; temp(2)=0; temp(3)=0; temp(4)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif sum(temp)<=A(i) ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4); A(i+12)=A(i+12)+temp(2);

A(i+8)=A(i+8)+temp(1); ws=ws+temp(2)*3; ws=ws+temp(1)*3; temp=[0;0;0;0;0]; end

elseif rem(i,7)==3 %星期三 优先级 5 3 4 2 1 if temp(5)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(5)+temp(3)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3);

temp(3)=temp(3)+temp(5)-A(i); temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3);

A(i+14)=A(i+14)+temp(5)+temp(3)+temp(4)-A(i); temp(4)=temp(4)+temp(3)+temp(5)-A(i); temp(3)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)+temp(2)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3); A(i+14)=A(i+14)+temp(4);

A(i+11)=A(i+11)+temp(2)+temp(3)+temp(4)+temp(5)-A(i); temp(2)=temp(2)+temp(3)+temp(4)+temp(5)-A(i); ws=ws+temp(2)*2; temp(3)=0; temp(4)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(3)+temp(4)+temp(2)+temp(1)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3); A(i+14)=A(i+14)+temp(4);

A(i+11)=A(i+11)+temp(2);

A(i+7)=A(i+7)+sum(temp)-A(i); ws=ws+temp(2)*2;

temp(1)=sum(temp)-A(i); ws=ws+temp(1)*2; temp(2)=0; temp(3)=0; temp(4)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif sum(temp)<=A(i) ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+12)=A(i+12)+temp(3); A(i+14)=A(i+14)+temp(4); A(i+11)=A(i+11)+temp(2); A(i+7)=A(i+7)+temp(1); ws=ws+temp(2)*2; ws=ws+temp(1)*2; temp=[0;0;0;0;0]; end

elseif rem(i,7)==4 %星期四 优先级if temp(5)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+A(i); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(5)+temp(2)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5);

A(i+10)=A(i+10)+temp(5)+temp(2)-A(i); temp(2)=temp(2)+temp(5)-A(i); ws=ws+temp(2); temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(2)+temp(1)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+10)=A(i+10)+temp(2);

A(i+6)=A(i+6)+temp(2)+temp(1)+temp(5)-A(i); temp(1)=temp(1)+temp(2)+temp(5)-A(i); ws=ws+temp(1); ws=ws+temp(2); temp(2)=0;

5 2 1 3 4 temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(2)+temp(1)+temp(3)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+10)=A(i+10)+temp(2); A(i+6)=A(i+6)+temp(1);

A(i+11)=A(i+11)+temp(1)+temp(2)+temp(3)+temp(5)-A(i); temp(3)=temp(1)+temp(2)+temp(3)+temp(5)-A(i); ws=ws+temp(3); ws=ws+temp(1); ws=ws+temp(2); temp(1)=0; temp(2)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(2)+temp(1)+temp(3)+temp(4)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+10)=A(i+10)+temp(2); A(i+6)=A(i+6)+temp(1); A(i+11)=A(i+11)+temp(3);

A(i+13)=A(i+13)+sum(temp)-A(i); temp(4)=sum(temp)-A(i); ws=ws+temp(4); ws=ws+temp(3); ws=ws+temp(2); ws=ws+temp(1); temp(3)=0; temp(2)=0; temp(1)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif sum(temp)<=A(i) ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+10)=A(i+10)+temp(2); A(i+6)=A(i+6)+temp(1); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4); ws=ws+temp(4); ws=ws+temp(3); ws=ws+temp(2); ws=ws+temp(1);

temp=[0;0;0;0;0]; end

elseif rem(i,7)==5 %星期五 优先级 5 2 1 3 4 if temp(5)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+A(i); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(5)+temp(2)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5);

A(i+9)=A(i+9)+temp(5)+temp(2)-A(i); temp(2)=temp(2)+temp(5)-A(i); temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(2)+temp(1)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+9)=A(i+9)+temp(2);

A(i+5)=A(i+5)+temp(2)+temp(1)+temp(5)-A(i); temp(1)=temp(1)+temp(2)+temp(5)-A(i); temp(2)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(2)+temp(1)+temp(3)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+9)=A(i+9)+temp(2); A(i+5)=A(i+5)+temp(1);

A(i+11)=A(i+11)+temp(1)+temp(2)+temp(3)+temp(5)-A(i); temp(3)=temp(1)+temp(2)+temp(3)+temp(5)-A(i); temp(1)=0; temp(2)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(5)+temp(2)+temp(1)+temp(3)+temp(4)>=A(i) ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+9)=A(i+9)+temp(2); A(i+5)=A(i+5)+temp(1); A(i+11)=A(i+11)+temp(3);

A(i+13)=A(i+13)+sum(temp)-A(i); temp(4)=sum(temp)-A(i); temp(3)=0;

temp(2)=0; temp(1)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif sum(temp)<=A(i) ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+9)=A(i+9)+temp(2); A(i+5)=A(i+5)+temp(1); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4); temp=[0;0;0;0;0]; end

elseif rem(i,7)==6 %星期六优先级 5 1 3 4 2 if temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+A(i); temp(5)=temp(5)-A(i); wait(:,i+1)=temp;

elseif temp(1)+temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5);

A(i+6)=A(i+6)+(A(i)-temp(5)); temp(1)=temp(1)+temp(5)-A(i); ws=ws+temp(1); temp(5)=0;

wait(:,i+1)=temp;

elseif temp(1)+temp(3)+temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+6)=A(i+6)+temp(1);

A(i+11)=A(i+11)+temp(1)+temp(3)+temp(5); temp(3)=temp(3)+temp(1)+temp(5)-A(i); ws=ws+temp(3); ws=ws+temp(1); temp(1)=0; temp(5)=0;

wait(:,i+1)=temp;

elseif temp(1)+temp(3)+temp(4)+temp(5)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+6)=A(i+6)+temp(1); A(i+11)=A(i+11)+temp(3);

A(i+13)=A(i+13)+temp(1)+temp(3)+temp(4)+temp(5)-A(i);

temp(4)=temp(1)+temp(3)+temp(4)+temp(5)-A(i); ws=ws+temp(4); ws=ws+temp(3); ws=ws+temp(1); temp(5)=0; temp(1)=0; temp(3)=0;

wait(:,i+1)=temp;

elseif sum(temp)-A(i)>=0 ry=ry+A(i);

A(i+7)=A(i+7)+temp(5); A(i+6)=A(i+6)+temp(1); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4);

A(i+15)=A(i+15)+sum(temp)-A(i); ws=ws+temp(1); ws=ws+temp(2)*6; ws=ws+temp(3); ws=ws+temp(4);

temp(2)=sum(temp)-A(i); temp(5)=0; temp(1)=0; temp(3)=0; temp(4)=0;

wait(:,i+1)=temp;

elseif sum(temp)-A(i)<=0; ry=ry+sum(temp);

A(i+7)=A(i+7)+temp(5); A(i+6)=A(i+6)+temp(1); A(i+11)=A(i+11)+temp(3); A(i+13)=A(i+13)+temp(4); A(i+15)=A(i+15)+temp(2); ws=ws+temp(1); ws=ws+temp(2)*6; ws=ws+temp(3); ws=ws+temp(4); temp=[0;0;0;0;0]; end end

temp1(:,i)=temp1(:,i)-temp; end

% disp( '平均每天就诊人数') disp(sum(sum(mry))/105) % disp('平均每天出院人数')

disp(ry/105)

% disp('平均等待入院时间') disp(sum(sum(wait))/ry) % disp('平均等待手术时间') disp(ws/ry)

%disp('病床利用率')

disp(100*ry/105/(sum(sum(mry))/105)) %disp('病人满意度')

disp(0.5/((ws/ry)+1)+0.5/(1+(sum(sum(wait))/ry)))

二、求解整数规划的lingo程序: model:

min=@abs(x1/5-1.7524)+@abs(x2/7-2.1048)+@abs(x3/11-1)+@abs(x4/13-2.533)+@abs(x5/7-0.9905); x1+x2+x3+x4+x5=79; 6<=x1; x1<=11; 13<=x2; x2<=18; 9<=x3; x3<=14; 34<=x4; x4<=39; 5<=x5; x5<=10; @gin(x1); @gin(x2); @gin(x3); @gin(x4); @gin(x5); end

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务