您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页体检排队模型

体检排队模型

来源:宝玛科技网


摘要

本文在研究体检排队问题的同时,采用了M/M/1/S排队论和抽象的迪克斯特拉(Dijkstra)算法,分别对科室抽血、内科、外科等等进行了有效地估计。通过顾客的到达时间、离开时间、停留时间、等待时间反映了在研究体检所用时间最短的相对优化的时间模型

问题1:为某个新来的客人安排他的体检顺序,使其完成需要的全部检查的时间尽量少(在各个体检项目处都可能有人排队等待),通过对数据的处理,对于抽血A、内科B、外科B、B超D、五官科E、胸透F、身高G和体重H八个科室排出耗费时间相对最短的路径的算法。

问题2:通过表格一的数据和上述的算法思想,在有效的假设中,用MATLAB软件得出了八个科室的有效地相对最佳路径AFHGBCED。推导所消耗的时间最短。 问题3:

关键词:M/M/1/S排队论 (Dijkstra)算法

1. 问题重述

医院就医排队是大家都非常熟悉的现象,我们现通过考虑某医院眼科病床的合理安排的数学建模问题,提出安排策略,尽量减少病人排队等待时间。 该医院门诊每天开放,每天来的体检人数都是同分布的,体检项目包括抽血、内科、外科、B超、五官科、胸透、身高和体重等八个项目

当前医院没有完备的系统来确定来的人群的径向流量,提高设备利用率、降低客人的等待时间,医院要求完备的方案来对体检的人进行有效地指导就医。

问题1:为某个新来的客人安排他的体检顺序,使其完成需要的全部检查的时间尽量少(在各个体检项目处都可能有人排队等待),求出时间最短的路径

问题2:通过数据来验证问题1的模型的优劣。 问题3: 2.1 模型假设

1) 各个体检项目之间相互,互不影响。

2) 病人排队体检和体检完毕到下一个科室之间没有时间延迟。 3) 入院体检的顾客单个到达,相继到达时间间隔服从参数为λ的负指数分布。 4) 各个科室可以抽象一个点。

5)每个服务台的服务时间相互,且服从参数为μ的负指数分布。 6)在团体病人来体检时,假设每个科室的服务设施是空缺的。 2.2 符号说明

1:抽血A1、内科B1、外科C3、B超D4、五官科E5、胸透F6、身高G7、体重H8 2:λ(i)和lamuda(i) 表示单位时间平均到达的顾客数, 称为平均到达率 3:μ(i)和mu(i) 位时间能被服务完成的顾客数,称为平均服务率

4:t(i):在ABCDEFGH各个科室检查的时间

5:β(i):表示在ABCDEFGH各个科室的受检比率

3. 问题一

3.1 问题分析 3.1.1 背景分析

“三长一短”(挂号时间长、候诊时间长、交费时间长、看病时间短)一直是中国各大医院的顽疾,也成为影响病人满意度的主要因素。现有某医院住院部采取了一些方案安排病人住院,却使等待病人越来越多。为了使该医院的体检病人在最短的时间内完成体检项目,设计一个可以有效的解决的上述问题的算法。 3.1.2 评价分析

通常医院的采取的各个方案按照大众的顾客考虑的,在排队体检的过程中由于在各个科室体检时间不相等,同时在各个科室个的等待人数比率不同。 给出评价标准是体检的时间最短

表格 1

时间 抽血 内科 外科 B超 2 2 0.2 2 0.2 12 0.7

五官科 2 0.2 胸透 1 1.0 身高 1 0.5 体重 1 0.7 检率 0.95 3.1.3模型的阐述: 泊松流与指数分布

设N(t)表示在时间区间[0,t)内到达的顾客数(t > 0),令P( t1, t2) 1表示在时间区 间

内有n(≥ 0)个顾客到达的概率.

合于下列三个条件时,我们说顾客的到达形成泊松流。这三个条件是:

1o 在不相重叠的时间区间内顾客到达数是相互的,我们称这性质为无后效 性。

2o 对充分小的Δt,在时间区间[t,t + Δt)内有一个顾客到达的概率与t无关,而

约与区间长Δt成正比,即

其中o(Δt),当Δt →0时,是关于Δt的高阶无穷小。λ > 0是常数,它表示单位时间

有一个顾客到达的概率,称为概率强度。

3o 对于充分小的Δt,在时间区间[t,t + Δt)内有两个或两个以上顾客到达的概率

极小,以致可以忽略,即

在上述条件下,我们研究顾客到达数n 的概率分布。 由条件2o,我们总可以取时间由0算起,并简记由条件1o 和2o,有

由条件2o 和3o 得

因而有

在以上两式中,取Δt趋于零的极限,当假设所涉及的函数可导时,得到以下微分方程 组 取初值再令 程组,即

,,可以得到

,容易解出

及其它U (t) n 所满足的微分方

由此容易解得

对于泊松流,λ 表示单位时间平均到达的顾客数,所以1/λ就表示相继顾客到达平均

间隔时间,而这正和ET 的意义相符。

μ表示单位时间能被服务完成的顾客数,称为平均服务率,而1/μ表示一个顾客

的平均服务时间。

根据表格一的数据和实际情况,给出每个科室的λ和μ的表格 表格 2 lamuda1 30 mu1 20 lamuda2 30 mu2 24 lamuda3 30 mu3 25 Lamuda4 5 mu4 3 lamuda5 30 mu5 21 Lamuda6 60 mu6 42 Lamuda7 60 mu7 30 Lamuda8 60 mu8 45 根据表格2的数据,用MATLAB编程得出了抽血科室的到达时间和离开时间的图,和等待时间与停留时间。

根据对抽血科室的时间和表格一的数据处理,通过上面的图可以看出: 当人数呈数据流的泊松分布,与现实相符。

把每个科室抽象成一个点,时间与检比的积根当做权重。

据迪克斯特拉(Dijkstra)算法,其基本思想是按距 从近到远为顺序,依次求得A到G 的各顶点的最短路和距离,直至(或直至G 的所有

顶点),算法结束。为避免重复并保留每一步的计算信息,采用了标号算法

把达到这个最小值的一个顶点记为。 |,停止。

算法结束后,可以知道遍历的最短路径。 通过数据的处理:

网络优化研究的是网络上的各种优化模型与算法。为了在计算机上实现网络优化的算法,首先我们必须有一种方法(即数据结构)在计算机上来描述图与网络。

,令

一般来说,算法的好坏与网络的具体表示方法,以及中间结果的操作方案是有关系的。这里我们介绍计算机上用来描述图与网络的5 种常用表示方法:邻接矩阵表示法、关联矩阵表示法、弧表表示法、邻接表表示法和星形表示法 ,在下面数据结构的讨论中,我们首先假设

是一个简单有向图。m,并假

设V 中的顶点用自然数1,2,L,n表示或编号, A中的弧用自然数1,2,L,m表示或编号。对于有多重边或无向网络的情

况,我们只是在讨论完简单有向图的表示方法之后,给出一些说明。 邻接矩阵表示法是将图以邻接矩阵(adjacency matrix)的形式存储在计算机中。

的邻接矩阵是如下定义:

也就是说,如果两节点之间有一条弧,则邻接矩阵中对应的元素为 1;否则为0。 可以看出,这种表示法非常简单、直接。但是,在邻接矩阵的所有n2个元素中,只有m个为非零元。如果网络比较稀疏,这种表示法浪费大量的存储空间,从而增加了在网络中查找弧的时间。

对于上述的问题,可以分别在A、B、C、D、E、F、G、H等各个体检项目抽象成一个点,边权近似等于时间和受检比率的内积。可以得到邻接矩阵:

A B C D E F G H A 0 1.5 1.5 7.7 1.5 0.5 1.4 1.2 B 0 0 8 0 0.6 0.1 0.3 C 0 8 0 0.6 0.1 0.3 D 0 8 7.4 7.9 7.7 E 0 0.6 0.1 0.3 F 0 0.5 0.3 G 0 0.2 H 0

同样,对于网络

中的权,也可以用类似邻接矩阵的8×8 矩阵表示。只是此时一条弧所对应的元素不再是1,而是相应的权而已。如果网络中每条弧赋有多种权,则可以用多个矩阵表示这些权。用矩阵A8×8来存放各边权的

邻接矩阵,行向量pb,index1,index2,d分别表示存放P 标号信息、标号顶点顺序、标号顶点索引、最短通路的值。其中分量

index2(i)存放始点到第i各点最短路径的第i个顶点的序号 d(i):存放由始点到i个点的最短路径。 用MATLAB算出最短路径AFHGBCED.

附录:程序代码: clear clc

%***************************************** %初始化顾客源

%***************************************** %总仿真时间

Total_time = 10; %队列最大长度 N = 10000000000; %到达率与服务率 lambda =30; mu =20;

%平均到达时间与平均服务时间 arr_mean = 1/lambda; ser_mean = 1/mu;

arr_num = round(Total_time*lambda*2); events = [];

%按负指数分布产生各顾客达到时间间隔

events(1,:) = exprnd(arr_mean,1,arr_num); %各顾客的到达时刻等于时间间隔的累积和 events(1,:) = cumsum(events(1,:)); %按负指数分布产生各顾客服务时间

events(2,:) = exprnd(ser_mean,1,arr_num);

%计算仿真顾客个数,即到达时刻在仿真时间内的顾客数 len_sim = sum(events(1,:)<= Total_time); %***************************************** %计算第 1个顾客的信息

%***************************************** %第 1个顾客进入系统后直接接受服务,无需等待 events(3,1) = 0;

%其离开时刻等于其到达时刻与服务时间之和 events(4,1) = events(1,1)+events(2,1); %其肯定被系统接纳,此时系统内共有 %1个顾客,故标志位置1 events(5,1) = 1;

%其进入系统后,系统内已有成员序号为 1 member = [1];

for i = 2:arr_num

%如果第 i个顾客的到达时间超过了仿真时间,则跳出循环

if events(1,i)>Total_time

break; else

number = sum(events(4,member) > events(1,i));

%如果系统已满,则系统拒绝第 i个顾客,其标志位置 0 if number >= N+1 events(5,i) = 0;

%如果系统为空,则第 i个顾客直接接受服务 else

if number == 0 %其等待时间为 0

%PROGRAMLANGUAGEPROGRAMLANGUAGE events(3,i) = 0;

%其离开时刻等于到达时刻与服务时间之和 events(4,i) = events(1,i)+events(2,i); %其标志位置 1 events(5,i) = 1; member = [member,i];

%如果系统有顾客正在接受服务,且系统等待队列未满,则 第 i个顾客进入系统

else len_mem = length(member);

%其等待时间等于队列中前一个顾客的离开时刻减去其到 达时刻 events(3,i)=events(4,member(len_mem))-events(1,i); %其离开时刻等于队列中前一个顾客的离开时刻加上其服 %务时间

events(4,i)=events(4,member(len_mem))+events(2,i); %标识位表示其进入系统后,系统内共有的顾客数 events(5,i) = number+1; member = [member,i]; end end end end

%仿真结束时,进入系统的总顾客数

len_mem = length(member);

%***************************************** %输出结果

%*****************************************

%绘制在仿真时间内,进入系统的所有顾客的到达时刻和离 %开时刻曲线图(stairs:绘制二维阶梯图) stairs([0 events(1,member)],0:len_mem); hold on;

stairs([0 events(4,member)],0:len_mem,'.-r'); legend('到达时间 ','离开时间 ');

hold off; grid on;

%绘制在仿真时间内,进入系统的所有顾客的停留时间和等 %待时间曲线图(plot:绘制二维线性图) figure;

plot(1:len_mem,events(3,member),'r-*',1:

len_mem,events(2,member)+events(3,member),'k-');

legend('等待时间 ','停留时间 ');

grid on;

其余的图改一下lamuda和mu值。 程序2: clear;clc;

n=8; a=zeros(n);

a(1,2)=1.5;a(1,3)=1.5;a(1,4)=7.7;a(1,5)=1.5;a(1,6)=0.5;

a(1,7)=1.4;a(1,8)=1.2;a(2,4)=8;a(2,6)=0.6;a(2,7)=0.1;a(2,8)=0.3; a(3,4)=8;a(3,6)=0.6;a(3,7)=0.1;a(3,8)=0.3;a(4,5)=8;a(4,6)=7.4; a(4,7)=7.9;a(4,8)=7.7;a(5,6)=0.6;a(5,7)=0.1;a(5,8)=0.3; a(6,7)=0.5;a(6,8)=0.3;a(7,8)=0.2

a=a+a'; M=max(max(a))*n^2; %M为充分大的正实数 a=a+((a==0)-eye(n))*M; path=zeros(n); for k=1:n for i=1:n for j=1:n

if a(i,j)>a(i,k)+a(k,j) a(i,j)=a(i,k)+a(k,j); path(i,j)=k; end end

end end

a, path 副本图:内科

其余的改变lamudah和mu值。

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

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

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

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