本帖最后由 朱展宏 于 2012-5-14 15:57 编辑
1.批量伤病员救治排队系统的建模与仿真
对批量伤病员送至医院进入排队系统, 实施分级救治, 是降低伤死、伤残以及使伤员得到及时治疗的重要措施。本文运用离散事件系统建模的方法、仿真策略和排队系统的仿真方法, 建立了伤病员在医院救治的排队论模型, 并以武汉汉口遭袭进行仿真和结果分析。
系统的假设
( 1) 顾客源是无穷的, 仿真时间为一周, 如果医院伤员数达到饱和,程序退出;
( 2) 医院的排队规则采取混合制, 整个医院的队列长度为最大可接收伤员数, 为了及时接收重伤伤员, 每个医院预留10个指标。手术室队列长度无限, 采取先来先服务的排队规则,如
果超过伤员的有效救治时间仍不能获得手术台位, 救治失败。表1为各医院可接收伤员数和可用手术台数有关;
( 3)到达系统的伤病员一般按先后顺序依次进入服务;
(4) 两位顾客先后到达系统的时间间隔是服从参数为K(K= 4) 的负指数分布的随机变量, 各医院可接收伤员数如表1所示。
根据负指数分布和正态分布, 可以生成任意多个到达系统的时间间隔i 与服务时间的数据, 记ik 表示第k位顾客与第k- 1位顾客到达时间间隔, sk 表示第k位顾客服务时间。
在任意时间t, 系统状态可以用排队等候的顾客数目和服务员是否在工作来描述。排队等候的顾客数目称为队长, 记作L( t)。服务员的状态用S(t)表示: 当服务员工作时, 令S(t)=1,服务员空闲时, S( t)= 0。引起系统状态L( t) 和S( t)
改变的行为称为事件。在排队系统中包含两类基本事件: /顾客到达0和/顾客离开0。设第位顾客到达时刻为ak,离开时间为dk, 根据已知的ik 与sk 按照以下的递推关系得到:ak= ak- 1+ ik, dk= max(ak,dk- 1) + sk, k= 1,2,. ... ..
系统状态在到达时刻ak, 离开时间dk 将发生变化。在模拟系统运行中, 设置时钟t, 让t 依事件发生的先后顺序, 从一个事件的发生时刻到下一个事件的发生时刻, 这种仿真模式称为
下一事件时间推进法。初始和终止条件可设为: t= 0是第一位顾客到达时刻, 仿真终止时刻是给定的时刻。
仿真过程
首先根据时间间隔、伤员类别和伤员发生的地点等概率分布生成随机数ik、sk 和ak, 根据伤员类别获得伤员的有效救治时间和手术时间。以武汉市汉口遭袭产生大批量伤员为假想,
利用A算法计算伤员到各医院的距离(考虑到分区防御, 武汉沿长江及汉江划分为武昌、汉口、汉阳三区, 武昌产生的伤员只计算到武昌各医院的距离, 汉口和汉阳产生的伤员只计算到该区域医院的距离)。根据伤员有效救治时间的长短分为两类:有效救治时间短的重伤伤员, 其他为普通伤员。普通伤员选择该区域最远的医院入住,重伤伤员则就近入住。
伤员抵达医院后就进入各医院手术室的排队系统。排队系统的仿真流程见图1。
2. 基于agent的银行排队系统仿真
银行营业厅设有10个业务窗口, 进行储蓄、银行卡业务和代收水电费、手机费等中间业务。顾客到达营业厅后据所需业务类型选最短队列排队。设顾客的到达率是平均值为015分钟的指数分布。办理储蓄业务所需时间为2~6分钟的均匀分布, 办理银行卡业务所需时间为1~ 3分钟的均匀分布, 办理中间业务所需时间为018~116分钟的均匀分布。
则本模拟系统的仿真参数如下:
1) k=3,即本系统共可办理三种业务, 分别为d1: 储蓄业务、d2:中间业务、d3:银行卡业务;
2)初始状态时每种业务可提供的服务台数分别为S( d1) = 5, S( d2) = 3, S( d3) = 2;
3)K= 2, 假设三种业务的到达率相同, 业务到达平均间隔为015分钟;
4)三种业务的平均完成时间分别为t( d1) = 4分钟、t( d2) = 112分钟、t( d3) = 2分钟。
仿真2小时, 顾客总数为200
由上述实验数据可看出, 对于同样的参数设置, 调用服务台业务类型动态调整算法和不调用服务台业务类型动态调整算法, 两者产生的结果差异较大, 可见系统中采用服务台业务类型动态调整算法将明显减少等待顾客人数, 缩短顾客的平均等待时间, 提高银行的工作效率。
3. 飞机加油多服务台排队系统模型仿真分析1 模型的建立
1.1 模型1──管道加油模型经典的排队系统模型往往假设服务台是完美无缺的, 即服务台可以无休止地工作, 既不失效也不休息。在实际情况中, 可以认为管道加油系统也是经典系统, 因为一般情况下机场油库都有充足的油料储备, 所以不存在管道加油能力不足的情况。系统输入: 飞机在跑道上为单机依次降落, 不存在多机同时降落的情况。通过分析某次飞行降落时间间隔的统计数据, 将数据的取值范围分为若干个等长的区间, 当区间的长度Δt =0.8min 时直方图的图形走向已趋近于平滑, 对数据进行指数分布的拟合优良度检验, 得到了满意的结果。可以假设, 每次飞行飞机的降落间隔服从不同均值的指数分布。
加油服务: 按规定, 飞机降落时油箱内最大存油量不得超过油箱容量的15% , 一般情况下飞机的地面补油量为油箱容量的85% ~90% , 所以各机加油时间不会存在较大差异, 基本保持一常值, 但由于一些随机因素的扰动, 使得加油时间t 实际为一带偏的正态分布。加油服务满足FIFO 规则, 即先到的飞机先加油。
1.2 模型2──油车加油模型
油车加油系统有着与上述同等的输入与加油分布, 其与管道加油最大的不同在于: 在油车系统中, 随着仿真的推进, 各服务台的服务能力出现不同程度的损失, 而管道则不可能出现这一情况, 可以设其能力为无穷大, 这一性质在程序设计中将得到应用。现实世界中有一类服务系统, 一个服务台在为顾客提供了有限次服务之后, 必须用一段时间补充消耗, 但其忙闲状态与持续服务的时间无关, 称之为服务台限次服务; 还有一类系统, 服务台在完成一定长时间服务后必须休假, 称之为策略休假。郝永生著有文献《MM1 排队系统的服务能力》, 对这两种有限服务能力的随机系统有着比较深入的研究。经过分析, 油车加油系统兼备这两种系统的特征, 即每一个周期中, 油车的服务次数和时间都是一定值。为了方便进行仿真研究,可以对油车对象作如下假设:
( 1 ) 多辆油车参加保障, 携带定额油料。所载油料一旦用完, 必须立即退出服务系统补油, 每次的装填数仍为固定值。补油完毕后立即返回服务系统为飞机提供新的服务;
( 2 ) 携带油料基数m=[油车容量/ 单机加油量], 每加一次油消耗一个基数的油料。如果所剩油料不足以再满足一架飞机的需求, 则可认为油料已耗尽;
( 3 ) 当多辆油车同时闲置时, 加油能力大的个体具有更高的选择付出服务的优先权;
( 4 ) 系统初始化时, 油车已装填有m 个基数的油料;
( 5 ) 加油时间不受其他专业保障的影响;
( 6 ) 任意时刻, 加油站中的油车补油队列为0 。
3 仿真实例
T 机场预计改造后承担26 架U 型飞机的日常保障任务, 该机型一个场次飞行最大耗油量约9000L, 最低着陆间隔期望值为40s 。为该机场建设一组压力加
油管道( 800 ~1300L/min ) , 并配备某型安全容量20000L 的加油车( 800- 1500L/min ) , 其额定行驶速度500m/min 。机场加油站距主停机坪路长约250m, 为油车最大供油速度1600L/min。
4.厕所排队分析
二、系统分析
此现象可以用随机服务模型来描述,所以会应用到排队论的相关理论知识。一般的随机排队系统有三个部分组成:人员到达规律,服务时间,排队规则。对于公厕排队系统可以将这三部分做如下假设。
1.人员到达规律。设在[t,t+△t]时间内到达一个人的概率与△t成正比,比例系数λ,到达两个及两个以上顾客的概率为o(△t);在不相交的时间区内到达的人员数相互独立且人员无限。根据概率论的基本知识,在上述假设下,在t时间到达的人员数服从泊松分布。单位时间内到达人员的平均数是λ。平均到达间隔为1/λ。
2.服务时间。为了简化问题的复杂性,假设男女用厕时间都一定,且女士是男士的2.3 倍。
3.排队规则。按先到先服务的模式且队长没有限制。
综上所述,在随机排队模型中人员到达数服从参数为λ的泊松分布,服务时间是定长的,按照先到先服务的规则进行。用排队论中的M/D/S模型来标定此模型。此系统中我们所关心的问题是人员的等待时间及平均队长,所以最终会通过仿真描绘出队列长度与时间变化的曲线图。通过设定不同的用厕时间参数来分别研究男女排队问题,并通过最终的比较权衡来做出适当的公厕设计调整。
三、系统模型建立
排队系统是一种比较典型的离散动态系统,按照常规,他的仿真必然涉及到时间的表示,事件驱动的表示(到达时间和离开事件)。笔者将用一种静态仿真的思想来实现此系统的计算机仿真。
1. 首先考虑简单的M/D/1 模型系统,即假定只有一个厕位。通常对排队系统中的每个动态实体的状态可以由三个量来反映:与前一个实体到达的时间间隔,在排队到自己的等待时间及服务时间。相对应此系统实体到达时间间隔与等待时间均保持不变,而服务时间则一定。到达时间间隔服从指数分布,不受别的因素影响。
算法描述如下,如果某个实体到达之后,发现处在他前面的动态实体已经结束服务,则此实体不用等待,直接接受服务;反之,处在他前面的实体如果没有结束服务,则此实体的等待时间就是他前一实体结束服务的时刻减去他到达的时刻。
2. 上面描述的是相对于一个厕位的简单系统M/D/1 设计的算法,可这与现实情况并不是太符合,遵循上述的原则考虑M/D/S 模型的建立与算法实现。此时系统中存在S 个厕位,不能只简单地考虑前一个动态实体的状态,而应该考虑前S 个动态实体的状态,且不能直接使用到达时间间隔这个变量,因为会造成实现的复杂性,而应该考虑用到达时间这个变量参与实现。前S 个实体不用考虑其等待时间,均为零。但需要根据随机产生的到达时间间隔累积计算出每个实体的到达时间。
算法描述如下,从第S+1个实体算起,当此实体到达之后,发现其前面有至少一个实体结束服务,则其不用等待,直接接受服务;反之,如果发现前面均没有实体结束服务,则此实体等待时间为前n 个实体中未结束服务的最早到达实体的结束服务时刻减去此实体的到达时刻。
1 仿真系统,模型框架和实验框架
银行营业厅设有10个业务窗口,进行储蓄、代发工资和代收各项费用:如水电费、手机费等业务。顾客有两类,一类是存款取款的,可在1~10号窗口,且愿依业务窗口的高号码顺序选择最短队列排队;另一类是提取工资或交纳费用的(以下简称其它业务),只能在1~2号业务窗口,且愿依业务窗口的低号码顺序选择最短队列排队。
设顾客的到达率是平均值为0.55 分钟的指数分布。存款取款时间为1.5~4.0分钟的均匀分布,办理其它业务的时间为1.5~2.5分钟的均匀分布,若存款取款的占顾客总数的80%,办理其它业务的为20%。
试仿真2小时,当顾客总数为200时,求出顾客在系统的平均时间,各业务窗口的使用率和排队长度,经多次仿真,以确定该银行营业厅业务窗口的最佳个数。
该题摘自《系统仿真在银行窗口个数设计中的应用》
2 实例描述
文章取某高校食堂中午就餐过程作为实例进行研究。为突出研究重点,文章对真实系统做了一些简化和假设,现描述如下。
1 、该高校食堂共有 500 个座位,该食堂就餐人数约为1500 人,中午就餐时间为 11:20-12:50 ,共 90 分钟。中午 12 点左右为下课高峰期,人数众多。
2 、食堂共二层,一楼为普通部,有 15 个服务窗口,二楼为特色部,有 4 个服务窗口,学生随机选择就餐楼层,根据历史数据统计,80% 的学生会在一楼就餐,20% 的学生会在二楼就餐,两层楼窗口服务时间均为1 分钟,同一楼层的窗口无差别。
3 、普通部就餐时间 10-15 分钟,特色部 15~25 分钟。
4 、学生就餐遵从先到先服务规则,并且排队之后不再中途离开。
5 、学生选购食物后才能就座。
6 、学生到达属于非平稳泊松到达,根据历史统计数据,不同时间段到达率 λ 如表1 所示。
Table 1. Distribution chart of arrival ratio
表1. 到达率分布表
时间段 λ
11:20-11:40 12
11:40-12:00 20
12:00-12:10 30
12:10-12:20 13
12:20-12:50 10
摘自《基于非平稳泊松到达的食堂就餐模型仿真与优化》
个人觉得第二个食堂的挺好但是文献中已经出现了模型
|