接下来以某机器修理车间的仿真为例分析。
1)等待区足够大。
2)排队规则先进先出(FIFO)。
3)到达间隔服从负指数分布 λ 1 =1/10(台/天)。
4)修理时间服从负指数分布 λ 2 =1/15(台/天)。
5)仿真时间长度为365天。
编程序求解:机器的平均等待时间;机器的平均逗留时间;修理台利用率。
这是一个典型的单服务员单队列的排队系统仿真模型,如图2-2所示。这类排队系统主要包括两个要素:顾客(即服务对象)和服务员(即服务设备)。该系统由到达模式、服务模式、并行服务员数目、系统容量、排队规则来表示。
图2-2 车间流程图
被修理的机器为“顾客”,而修理台为“服务员”。该排队系统的到达模式用机器到达间隔时间的负指数分布表示;服务模式由修理时间的负指数分布表示;系统中并行服务员数目为1;系统容量足够大;排队规则采用先进先出(FIFO)方式。
在整个仿真系统中只存在一个服务员(修理台)。顾客(机器)不断地进入修理车间,并接受服务(到修理台上修理),然后离开车间。
如果某个顾客(机器)到达时,服务员(修理台)处于忙状态,则进入唯一的一个队列等待。服务员(修理台)在经过一定时间的服务后停止服务(仿真结束)。
通过系统仿真,给出仿真结果:系统中顾客(机器)平均逗留时间、队列中顾客(机器)平均等待时间、服务员忙闲度(修理台利用率)以对机器修理车间的工作情况进行分析。
采用事件调度法具体的仿真步骤如下。
1)初始化:给出当前仿真时钟、系统状态量及统计量的初始值。
2)扫描事件表,将当前仿真时钟增加到下一个最早发生事件的时间上。
3)处理该事件,相应地改变系统状态。
4)收集统计数据。
5)若仿真时间未结束,则返回2),否则,执行下一步。
6)分析收集的统计数据,产生报告。
通过分析可知,该仿真模型只存在两类事件:第一类事件为“到达事件”;第二类事件为“离开事件”。下一事件的类型由变量 EVTFLAG 给出。
仿真模型的总体结构图如图2-3所示,其中INIT为系统初始化子程序;TIMEDV为时间推进子程序;ARRIVE为到达事件处理子程序(如图2-4所示);DEPART为离开事件处理子程序(如图2-5所示);REPORT为报告生成子程序。模型中各变量及其说明如表2-9所示。
图2-3 仿真模型总体结构图
表 2-9 建模变量表
图2-4 到达事件的处理流程
图2-5 离开事件的处理流程
由已知条件可知:到达间隔时间服从 λ 1 =1/10(台/天)的负指数分布;修理时间服从 λ 2 =1/15(台/天)的负指数分布;仿真时间长度为365天。故到达间隔时间均值 EATI =1/ λ 1 =10(天);修理时间均值 ERT =1/ λ 2 =15(天);仿真结束时间 TIME =365(天)。给定随机数发生器种子 SEED =113,通过计算机仿真可以得出一台机器利用率为78.9%,在系统中平均逗留时间为33天;在队列中平均等待时间为40天。