计算机模拟---排队系统仿真研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.定时模块
开始
确定离当前时刻最近的下 一事件发生的时间及类型
时间表空?
N
Y
显示出错信息
推进仿真钟
返回
4.顾客到达处理 开始
确定下次顾客到达时间
服务台空?
N
Y
服务顾客数加一
服务台置为忙状态
确定此顾客服务结束时刻
更新等待时间累计值
记录此事件时刻
排队顾客数加一
排队长度>最大容量? Y N
记录顾客到达的时间
设置事件表 TNE[2],来存放患者到达时刻和就医结束时刻。设置队列表 TARRVL[100],用患者的到达时刻排队。
3.3 排队系统仿真模型结构图
排队系统仿真主控
系统初始化
定时模块
处理患者到达
处理服务结束
输出打印报告
产生到达间隔时间
产生到达间隔时间
产生服务时间
产生服务时间
四. 排队系统仿真流程图
医院排队系统仿真研究与分析
一. 研究背景与意义
排队论已经广泛应用于各种管理系统。比如仓库供应、企业生产、物资分配 与流通、交通运输、计算机作业及生活服务。这些系统都可以作为排队服务系统 进行处理。在系统仿真应用中,又以排队系统的离散型仿真最为普遍。在某种程 度上说,管理系统仿真正是在排队系统的离散型仿真的基础上逐渐发展起来的。
wenku.baidu.com
者到达。 患者的总体可以是无限的也可以是有限的;患者到来方式可以是单个的,也
可以是成批的;相继到达的间隔时间可以是确定的,也可是随机的;患者的到达 可以是相互独立的,也可以是关联;到来的过程可以是平稳的,也可是非平稳的。
2.3 服务时间
患者接受服务的时间规律往往也是通过概率分布描述的. 常见的服务时间分 布有定长分布、负指数分布和埃尔朗分布.
2.2 来到过程
常见的来到过程有定长输入、泊松(Poisson)输入、埃尔朗(A. K. Erlang) 输入等,其中泊松输入在排队系统中的应用最为广泛.
所谓泊松输入即满足以下 4 个条件的输入: ① 平稳性:在某一时间区间内到达的患者数的概率只与这段时间的长度和 患者数有关; ② 无后效性:不相交的时间区间内到达的患者数是相互独立的; ③ 普通性:在同时间点上就诊或手术最多到达 1 个患者, 不存在同时到达 2 个以上患者的情况; ④ 有限性:在有限的时间区间内只能到达有限个患者, 不可能有无限个患
Ls n1 nPn 1
⑵ 在队列中等待的平均患者数(平均队列长)Lq
Lq (n 1)Pn Ls Ls n1
⑶ 患者在系统中平均逗留时间 Ws
Ws
1
Ls
⑷ 患者在队列中平均等待时间 Wq
Wq
Ws
1
Lq
⑸ 闲期的平均长度 I
I1
⑹ 忙期的平均长度 B
B
Ls
I
1
X=float(rand())/float(RAND_MAX); X=-log(X)/LAMDA; return(X); } void main() {NEVNTS=2; cout<<"到达间隔时间均值?"; cin>>MARRVT; RL1=1/MARRVT; cout<<"服务时间均值?"; cin>>MSERVT; RL2=1/MSERVT; cout<<"顾客总数?"; cin>>TOTCUS; srand(time(NULL)); INIT(); while(NUMCUS<TOTCUS) {TIMING(); switch(NEXT) {case 1: ARRIVE();break; case 2: DEPART();break; default :cout<<"警告:事件序列为空!"<<NEXT; } } REPORT(); getchar(); } void INIT() {TIME=0; STATUS=0; NIQ=0;
系统各实体及其属性如下:
实体
属性
患者
到达间隔时间、等待时间、人数
医生
状态(0,1)、服务时间
队列
最大队长、平均队长
在此排队系统的离散型仿真中,事件类型有患者到达事件、就医开始事件及 就医结束事件。但是,就医开始时间一般与患者到达时间或就医结束时间相重合, 所以决定有两类事件:第一类事件---患者到达;第二类事件---患者服务结束离 开系统。
Abstract
By analyzing different aspects like queuing system, processing, service time, service windows and service type, this paper introduced a way to evaluate the main indicators of the queuing system. After detailed research, structure chart and main flow chart is then worked out. The study of queuing system in hospitals highlights general rules for queuing system, as well as reasonable comments and suggestions related to it.
3.2 排队系统分析
系统的边界:顾客到达医院办公室进入系统至就医结束离开医院,即离开系
统。
仿真的对象:系统实体为医生和患者,并以相应的属性来表征系统实体。
系统主要目的:通过分析患者在系统内的平均等待时间及平均等待车辆数,
以便采取措施改进医院的服务质量,考虑增加门诊窗口数。
分析着眼点:患者的到达速率以及医生的服务速率等属性。
计算机模拟---
医院排队系统仿真研究与分析
专 业:交通工程 年 级:2009 级 姓 名:颜奋帆 学 号:20092953
摘要
本文通过研究排队系统的构成,来到过程,服务时间,服务窗口, 服务类型等方面,评价排队服务系统性能的主要指标。在对排队系统 进行分析后,得到结构图与主要流程图。通过医院排队系统仿真研究 与分析,得到排队系统的一般运行规律,并提出合理的意见与建议。
1
2.6 评价排队服务系统性能的主要指标
(1)平均等待时间。指患者从到达系统时起到开始接受服务时止这一段时间. 显然患者希望等待时间越短越好.
n
di
d i1 n
式中:di 第i个患者在系统的等待时间; n 完成就医的患者数。
(2)平均等待患者数
指系统中的患者数(包括排队等候的和正在接受服务的所有患者).
2.5 排队类型
M/M/1 模型是输入过程为泊松输入,服务时间为负指数分布并具有单服务台
的等待制排队系统模型,这是最简单的排队系统模型。本次研究就以该排队系统
为例,对医院排队状况进行分析。
假定系统的患者源和容量都是无限的,患者单队排列,排队规则是先到先服
务。
设在任意时刻 t 系统中有 n 个患者的概率 Pn(t). 当系统达到稳定状态
显示出错信息、停止
返回
5.顾客服务结束处理
开始
有等待顾客?
N
Y
更新顾客等待时间累计值
记录此事件时刻
排队顾客数减一
计算顾客等待时间
被服务顾客数加一
确定此顾客离去时间
队列空?
Y
N
排队顾客向前移位
服务员置为空闲状态 服务结束时间置为大数
返回
6.输出打印报告
开始
打印表头
打印到达平均间隔时间
打印服务时间均值
m
q j (t j t j1)
q j1 T
式中:q j 发生第j事件时系统内等待患者的人数;
t j 第j事件发生的时刻;
t j1 第j 1事件发生的时刻;
T 整个仿真时间; m 在T时间内发生的时间数目。
(3)服务台利用率。服务台即医生办公室。
K
1
空闲时间 整个仿真时间
三. 排队仿真系统分析
1、主控模块
开始
确定事件类型数 读入到达间隔时间、
服务时间均值 读入患者总数
仿真模型初始化
确定下一事件
到达事件? N
Y
服务结束? N
Y
处理到达事件
处理服务结束
显示出错信息
N 到患者总数?
Y
输出打印报告
结束
2.初始化模块
开始 仿真钟赋值 状态变量赋初值 队列表长赋初值 统计计数器赋初值 时间表赋初值
返回
后,Pn(t)趋于平衡 Pn 且与 t 无关. 此时,称系统处于统计平衡状态,并称 Pn 为统
计平衡状态下的稳态概率。
Pn=(1- ) n, n = 0, 1, 2, … . 其中 =/ 表示有效的平均到达率 与平均服务率 之比(0< <1)。以下 为该模型的基本指标。
⑴ 在系统中的平均患者数(平均队长)Ls
如果医院增添服务人员和设备,就要增加投资或发生空闲浪费;如果减少服务 设备,排队等待时间太长,对患者和社会都会带来不良影响。因此,医院管理人员 要考虑如何在这两者之间取得平衡,以便提高服务质量,降低服务费用。
在排队论中,患者和提供各种形式服务的服务机构组成一个排队系统,称为随 机服务系统。排队系统模型已广泛应用于各种管理系统。如手术管理、输液管理、 医疗服务、医技业务、分诊服务,等等。
对于医院方面来说,可以对排队状况进行仿真,了解一般情况下的排队情况, 从而对患者的排队进行优化,避免其等待过长的时间。
六. 参考文献
1.《服务台可修的 M/G/1 排队系统分析》 曹晋华 应用数学学报 2.《一类排队系统模型的计算机模拟》吴庆标 - 计算机应用与软件 3.《医院智能就诊排队系统》 罗耀东 - 浙江实用医学 4.《排队系统仿真及应用》 朱军, 李晓辉 - 微机发展 5.《计算机仿真》熊巧 西南交通大学交通运输与物流学院
3.1 排队系统数据准备
在这里,我们采用离散型仿真对一个 M/M/1 排队系统进行计算机仿真。这个 排队系统的医生为一个,患者到达系统的间隔时间为均值 2 分的负指数分布随机 变量,单位患者服务时间为平均值等于 1 分的负指数分布随机变量。单列排队, 采用先进先出的规则,为防止患者过多造成医疗资源的虚耗,排队队列最大容量 为 100。仿真的终止条件为 2000 名患者就医结束离开系统。
二. 排队服务系统问题的提出
2.1 医院排队系统的组成
排队系统的基本结构由四个部分构成:来到过程(输入)、服务时间、服务窗 口和排队规则。
1、来到过程(输入)是指不同类型的患者按照各种规律来到医院。 2、服务时间是指患者接收服务的时间规律。 3、服务窗口则表明可开放多少服务窗口来接纳患者。 4、排队规则确定到达的患者按照某种一定的次序接受服务。 5、排队列数,有单列的和多列的。 6、队列容量,分为有限的和无限的。
医院就医排队是一种经常遇见的非常熟悉的现象。它每天以这样或那样的形 式出现在我们面前。例如,患者到医院就医,患者到药房配药、患者到输液室输液 等,往往需要排队等待接受某种服务。这里,护士台、收费窗口、输液护士台及其 服务人员都是服务机构或服务设备。
以上排队都是有形的,还有些排队是无形的。由于患者到达的随机性,所以排 队现象是不可避免的。
打印顾客总数
计算打印平均等待时间
计算、打印平均排队长
返回
五. 排队系统仿真输出结果与结论
当输入到达间隔时间为 2 分钟 服务时间均值为 1 分钟 系统中顾客总数为 2000 人时 对于我们研究的这一系统,遵循 M/M/1 排队类型的单服务台排队系统。 经过 C++程序仿真运行得到的结果如下:
由以上仿真得到的结果可知,顾客平均排队延误为 1.38448 分钟,平均排队 长为 0.528072 人,对于医院的排队现状来说,这样的一个仿真结果是比较理想 的,总的排队长度和等待时间维持在一个比较低的值。
七. 附录:计算机模拟程序代码
#include"stdlib.h" #include"stdio.h" #include"iostream.h"
#include"time.h" #include"math.h" float ANIQ,MARRVT,MSERVT,TARRVL[101],TIME,TLEVNT; float TNE[3],TOTDEL,RL1,RL2; int NEVNTS,NEXT,NIQ,NUMCUS,STATUS,TOTCUS; float REXP(float); void INIT(); void TIMING(); void ARRIVE(); void DEPART(); void REPORT(); float REXP(float LAMDA) {float X;
一般来说, 简单的排队系统的服务时间往往服从负指数分布, 即每位患者接 受服务的时间是独立同分布的, 其分布函数为
B ( t ) = 1- e - t (t ≥0). 其中 >0 为一常数, 代表单位时间的平均服务率. 而 1/ 则是平均服务时 间.
2.4 服务窗口
服务窗口的主要属性是服务台的个数. 其类型有:单服务台、多服务台. 多 服务台又分并联、串联和混合型三种. 最基本的类型为多服务台并联.
相关文档
最新文档