多服务台排队系统的仿真

多服务台排队系统的仿真
多服务台排队系统的仿真

实验3---多服务台排队系统的仿真

姓名:学号:

一、目标任务

已知一个系统有N个服务员,能力相等,服务时间服从指数分布。顾客的到达时间间隔服从指数分布。用Monte-Carlo仿真,分别求按下列方案的总体平均排队时间:

① M|M|N。

② N个单通道系统并列,按1/N概率分裂到达流。

③ N个单通道并列,挑选最短的队。

要求:

①给出程序设计的过程。

②如果采用固定的N,则要求N>2。

③至少取ρ=0.3和ρ=0.7两种强度运行程序。

④对结果进行分析。

二、编程语言

Matlab

三、关键代码

方案一:

N = 3; % 服务员人数

r = 6; % 顾客到达流强度

u = 20; % 服务员服务强度

T = 1000000; % 仿真运行时间

avg_wait_time = []; % 平均等待时间

for i=1:100

% 模拟排队函数

server_time = [0.0, 0.0, 0.0]; % 用来保存服务员下一空闲时间

time = 0; % 绝对时钟,初始为0

client_num = 0; % 顾客总数,初始为0

CRTime = 0; % 顾客到达时间间隔

ServeTime = 0; % 顾客服务时间

server_id = 0; % 当前进入排队窗口的服务员编号

total_wait_time = 0;% 系统中到达顾客的总等待时间

while 1

CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔

time = time + CRTime; % 更新系统的绝对时钟

if time > T

break;

end

client_num = client_num + 1; % 顾客数加1

ServeTime = exprnd(1/u); % 按指数分布产生顾客服务间隔

server_id = mod(client_num, N); % 按1..N的顺序循环排入服务员窗口

if server_id ==0

server_id = N;

end

if server_time(1, server_id) <= time % 如果当前server_id号服务员空闲,则直接接收服务

server_time(1, server_id) = time + ServeTime; % 服务员下一空闲时间为当前绝对时钟加上当前服务时间

else % 否则所有服务员都在忙碌,顾客要排队等候

total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时钟

server_time(1, server_id) = server_time(1, server_id) + ServeTime;

end

end

avg_wait_time = [avg_wait_time, total_wait_time/client_num];

end

% 计算平均等待时间

mean_avg_wait_time = mean(avg_wait_time);

fprintf('ρ=%2.1f平均等待时间%6.5f\n', r/u, mean_avg_wait_time); % 打印平均等待时间

% 绘制每次仿真的平均等待时间和总体平均等待时间线状图

x = 1:100;

%plot(x, avg_wait_time, x, mean_avg_wait_time);

scatter(x, avg_wait_time, '.');

方案二:

N = 3; % 服务员人数

r = 6; % 顾客到达流强度

u = 20; % 服务员服务强度

T = 1000; % 仿真运行时间

avg_wait_time = []; % 平均等待时间

for i=1:100

% 模拟排队函数

server_time = [0.0, 0.0, 0.0]; % 用来保存服务员下一空闲时间

time = 0; % 绝对时钟,初始为0

client_num = 0; % 顾客总数,初始为0

CRTime = 0; % 顾客到达时间间隔

ServeTime = 0; % 顾客服务时间

server_id = 0; % 当前进入排队窗口的服务员编号

total_wait_time = 0;% 系统中到达顾客的总等待时间

while 1

CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔

time = time + CRTime; % 更新系统的绝对时钟

if time > T

break;

end

client_num = client_num + 1; % 顾客数加1

ServeTime = exprnd(1/u); % 按指数分布产生顾客服务时间间隔

server_id = randi([1 N]); % 按1/N的概率排入服务员窗口

if server_time(1, server_id) <= time % 如果当前server_id号服务员空闲,则直接接收服务

server_time(1, server_id) = time + ServeTime; % 服务员下一空闲时间为当前绝对时钟加上当前服务时间

else % 否则所有服务员都在忙碌,顾客要排队等候

total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时钟

server_time(1, server_id) = server_time(1, server_id) + ServeTime;

end

end

avg_wait_time = [avg_wait_time, total_wait_time/client_num];

end

% 计算平均等待时间

mean_avg_wait_time = mean(avg_wait_time);

fprintf('ρ=%2.1f平均等待时间%6.5f\n', r/u, mean_avg_wait_time); % 打印平均等待时间

% 绘制每次仿真的平均等待时间散点图

x = 1:100;

scatter(x, avg_wait_time, '.');

方案三:

N = 3; % 服务员人数

r = 6; % 顾客到达流强度

u = 20; % 服务员服务强度

T = 1000; % 仿真运行时间

avg_wait_time = []; % 平均等待时间

for i=1:100

% 模拟排队函数

server_time = [0.0, 0.0, 0.0]; % 用来保存服务员下一空闲时间

time = 0; % 绝对时钟,初始为0

client_num = 0; % 顾客总数,初始为0

CRTime = 0; % 顾客到达时间间隔

ServeTime = 0; % 顾客服务时间

server_id = 0; % 当前进入排队窗口的服务员编号

total_wait_time = 0;% 系统中到达顾客的总等待时间

while 1

CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔

time = time + CRTime; % 更新系统的绝对时钟

if time > T

break;

end

client_num = client_num + 1; % 顾客数加1

ServeTime = exprnd(1/u); % 按指数分布产生顾客服务时间间隔

temp = min(server_time); % 寻找排队时间最短的服务员窗口

[x, y] = find(temp == min(min(server_time)));

server_id = y; % 按队伍最短排入服务员窗口

if server_time(1, server_id) <= time % 如果当前server_id号服务员空闲,则直接接收服务

server_time(1, server_id) = time + ServeTime; % 服务员下一空闲时间为当前绝对时钟加上当前服务时间

else % 否则所有服务员都在忙碌,顾客要排队等候

total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时钟

server_time(1, server_id) = server_time(1, server_id) + ServeTime;

end

end

avg_wait_time = [avg_wait_time, total_wait_time/client_num];

end

% 计算平均等待时间

mean_avg_wait_time = mean(avg_wait_time);

fprintf('ρ=%2.1f平均等待时间%6.5f\n', r/u, mean_avg_wait_time); % 打印平均等待时间

% 绘制每次仿真的平均等待时间散点图

x = 1:100;

scatter(x, avg_wait_time, '.');

四、实验结果与分析

方案一:

图1 方案一仿真的平均等待时间散点图

图2 方案一平均等待时间

M|M|N

1. 输入参数:服务员人数N,顾客到达流强度r,服务员服务强度u,仿真运行时

间T;

2. 各变量初始值置0:绝对时钟time,服务员下一空闲时刻数组server_time[](其

间间隔CRTime,顾客服务时间ServeTime,当前进入排队窗口的服务员编号server_id,系统中顾客总等待时间total_wait_time;

3. 按照指数分布产生下一顾客到达的时间间隔CRTime,time+=CRTime。若time>T,

输出total_wait_time/client_num;

4. Client_num ++;

5. 按照指数分布产生顾客到达时间间隔ServeTime;

6. 按服务员的顺序生成当前服务员的server_id;

7. 如果当前server_id号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加

上当前服务时间并存入server_time[]对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间ServeTime。

8. 转到3;

方案二:

图3 方案二仿真的平均等待时间散点图

图4 方案二平均等待时间

N个单通道系统并列,按1/N概率分裂到达流

1. 输入参数:服务员人数N,顾客到达流强度r,服务员服务强度u,仿真运行时

间T;

2. 各变量初始值置0:绝对时钟time,服务员下一空闲时刻数组server_time[](其

间间隔CRTime,顾客服务时间ServeTime,当前进入排队窗口的服务员编号server_id,系统中顾客总等待时间total_wait_time;

3. 按照指数分布产生下一顾客到达的时间间隔CRTime,time+=CRTime。若time>T,

输出total_wait_time/client_num;

4. Client_num ++;

5. 按照指数分布产生顾客到达时间间隔ServeTime;

6. 按1/N概率生成当前服务员的server_id;

7. 如果当前server_id号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加

上当前服务时间并存入server_time[]对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间ServeTime。

8. 转到3;

方案三:

图4 方案三仿真的平均等待时间散点图

图5 方案三仿真的平均等待时间散点图

N个单通道并列,挑选最短的队

1. 输入参数:服务员人数N,顾客到达流强度r,服务员服务强度u,仿真运行时间T;

2. 各变量初始值置0:绝对时钟time,服务员下一空闲时刻数组server_time[](其中按顺序保存每一个服务员的下一空闲时刻),顾客总数client_num,顾客到达时间间隔CRTime,顾客服务时间ServeTime,当前进入排队窗口的服务员编号server_id,系统中顾客总等待时间total_wait_time;

3. 按照指数分布产生下一顾客到达的时间间隔CRTime,time+=CRTime。若time>T,输出total_wait_time/client_num;

4. Client_num ++;

5. 按照指数分布产生顾客到达时间间隔ServeTime;

6. 按服务员下一空闲时刻数组server_time[]中最小的时刻生成当前服务员的server_id;

7. 如果当前server_id号服务员空闲,则更新服务员下一空闲时间为当前绝对时钟加上当前服务时间并存入server_time[]对应数组。否则所有服务员都在忙碌,顾客要排队等候,总的排队时间加上顾客排队等候时间,等候时间为当前服务员下一空闲时间减去绝对时钟。再更新当前服务员下一空闲时间加上服务时间ServeTime。

8. 转到3;

实验单服务台单队列排队系统仿真

实验2排队系统仿真 一、学习目的 1.了解仿真的特点 2.学习如何建构模型 3.熟悉eM-Plant基本的对象和操作 4.掌握排队系统的特点与仿真的实现方法 二、问题描述 该银行服务窗口为每个到达的顾客服务的时间是随机的,表2.4是顾客服务时间纪录的统计结果 表2.4 每个顾客服务时间的概率分布 服务时间(min)概率密度累计概率 1 0.1 0.1 2 0.2 0.3 3 0.3 0.6 4 0.2 5 0.85 5 0.1 0.95 6 0.05 1.0 对于上述这样一个单服务待排队系统,仿真分析30天,分析该系统中顾客的到

达、等待和被服务情况,以及银行工作人员的服务和空闲情况。 三、系统建模 3.1 仿真目标 通过对银行排队系统的仿真,研究银行系统的服务水平和改善银行服务水平的方法,为银行提高顾客满意度,优化顾客服务流程服务。 3.2.系统建模 3.2.1 系统调研 1. 系统结构: 银行服务大厅的布局, 涉及的服务设备 2. 系统的工艺参数: 到达-取号-等待-服务-离开 3. 系统的动态参数: 顾客的到达时间间隔, 工作人员的服务时间 4. 逻辑参数: 排队规则, 先到先服务 5. 系统的状态参数: 排队队列是否为空, 如果不为空队长是多少, 服务台是否为空 6. 系统的输入输出变量:输入变量确定其分布和特征值,顾客的到达时间间隔的概率分布表和每个顾客被服务时间的概率分布. 输出变量根据仿真目标设定. 包括队列的平均队长、最大队长、仿真结束时队长、总服务人员、每个顾客的平均服务时间、顾客平均排队等待服务时间、业务员利用率等。 3.2.2系统假设 1.取号机前无排队,取号时间为0 2.顾客排队符合先进先出的排队规则 3.一个服务台一次只能对一个顾客服务 4.所有顾客只有一种单一服务 5.仿真时间为1个工作日(8小时) 6.等候区的长度为无限长 3.2.3系统建模 系统模型: 3.2.4 仿真模型 1.实体:银行系统中的实体是人(主动体)

排队系统仿真matlab实验报告

M/M/1排队系统实验报告 一、实验目的 本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。 二、实验原理 根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。 1、 顾客到达模式 设到达过程是一个参数为λ的Poisson 过程,则长度为t 的时间内到达k 个呼叫的概 率 服从Poisson 分布,即e t k k k t t p λλ-=!)()(,?????????=,2,1,0k ,其中λ>0为一常数,表示了 平均到达率或Poisson 呼叫流的强度。 2、 服务模式 设每个呼叫的持续时间为i τ,服从参数为μ的负指数分布,即其分布函数为{}1,0t P X t e t μ-<=-≥ 3、 服务规则 先进先服务的规则(FIFO ) 4、 理论分析结果 在该M/M/1系统中,设 λρμ=,则稳态时的平均等待队长为1Q ρλρ=-,顾客的平均等待时间为T ρ μλ=-。 三、实验内容 M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服从负指数分布,单服务台系统,单队排队,按FIFO (先入先出队列)方式服务。 四、采用的语言 MatLab 语言 源代码: clear; clc;

%M/M/1排队系统仿真 SimTotal=input('请输入仿真顾客总数SimTotal='); %仿真顾客总数;Lambda=0.4; %到达率Lambda; Mu=0.9; %服务率Mu; t_Arrive=zeros(1,SimTotal); t_Leave=zeros(1,SimTotal); ArriveNum=zeros(1,SimTotal); LeaveNum=zeros(1,SimTotal); Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%到达时间间隔Interval_Serve=-log(rand(1,SimTotal))/Mu;%服务时间 t_Arrive(1)=Interval_Arrive(1);%顾客到达时间 ArriveNum(1)=1; for i=2:SimTotal t_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i); ArriveNum(i)=i; end t_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1; for i=2:SimTotal if t_Leave(i-1)

单服务台排队系统的仿真

实验2---单服务台排队系统的仿真 姓名:学号: 一、目标任务 ①模拟路由器缓存区M|M|1|m实验。 ②设定:λ=8/s,μ=10/s,ρ=0.8,m=10。 ③模拟系统106s,求系统报文的丢失率及报文在路由器中停留时间的均值。 ④模拟100次,图展示每次的模拟结果,并与理论值0.0184比较。 二、编程语言 Matlab 三、关键代码 lamda = 8; %报文到达强度 u = 10; %路由器处理强度 m = 10; %路由器缓冲区长度 T = 1000000; %模拟时间 a = []; %模拟运行时丢失率的运行结果 mean_a = 0; %模拟运行时丢失率的平均运行结果 ref_value = 0.0184; %丢失率理论值大小 b = []; %模拟运行时报文在路由器中的停留时间 mean_b = 0; %模拟运行时报文在路由器中停留时间的均值 %模拟运行一百次 for i=1:100 time = 0; %绝对时钟 t = 0; %路由器的下一空闲时刻 N = 0; %到达报文数 NI = 0; %丢失报文数 q = 0; %队长 stay_time = 0; %报文在路由器中的停留时间

%按指数分布产生随机到达时间和服务时间 while 1 CRTime = exprnd(1/lamda); %按指数分布产生下一报文的到达随机时间间隔 time = CRTime + time; %下一个报文到达的时间 if time > T break; end N = N + 1; q = q + 1; while q > 0 & t < time q = q - 1; ServeTime = exprnd(1/u);%按指数分布产生报文的随机服务时间 if q == 0 t = time + ServeTime; else t = t + ServeTime; end stay_time = stay_time + ServeTime * (q + 1); end if q == m + 1 %如果超过缓冲区长,则丢失报文数加1,队长减1 NI = NI + 1; q = q - 1; end end a = [a, NI/N]; b = [b, stay_time/(N-NI)]; end %计算结果 mean_a = mean(a); mean_b = mean(b); %绘图 x = 1:100; plot(x, a, x, mean_a); %绘制模拟运行时丢包率变化图以及均值线 scatter(x, a, '.'); %绘制模拟运行时丢包率变化散点图 scatter(x, b, '.'); %绘制模拟运行时平均停留时间变化散点图 fprintf('平均丢包率%6.5f\n', mean_a); % 打印平均丢包率 fprintf('平均停留时间%6.5f\n', mean_b); % 打印平均停留时间 四、实验结果与分析

M M C ∞排队系统模型及其应用实例分析

M M C ∞排队系统模型及其应用实例分析 摘要:文章阐述了M/M/C/∞排队系统的理论基础,包括排队论的概念,排队系统的基本组成部分以及排队系统的模型。在理论分析的基础上,文章以建行某储蓄所M/M/C/∞排队系统为例,对该系统进行分析并提出了最优解决方案。 关键词:排队论;银行储蓄所;M/M/C/∞模型;最优解 1M/M/C/∞排队系统 1.1排队论的概念及排队系统的组成 上世纪20年代,丹麦数学家、电气工程师爱尔朗(A. K. Erlang)在用概率论方法研究电话通话问题时,开创了这门应用数学学科。排队论主要研究各种系统的排队队长,排队的等待时间及所提供的服务等各种参数,以便求得更好的服务。研究排队问题实质上就是研究如何平衡等待时间与服务台空闲时间。目前,排队论已经广泛应用于通信工程、交通运输、生产与库存管理、计算机系统设计、计算机通信网络、军事作战、柔性制造系统和系统可靠性等众多领域。 任意一个排队系统都是由三个基本部分构成,即输入过程、排队规则和服务机构。①输入过程是描述顾客来源以及顾客按什么规律达到排队系统。②排队规则描述的顾客到达服务系统时顾客是否愿意排队,以及在排队等待情形下的服务顺序。③服务机构描述服务台数目及服务规律。服务机构可分为单服务台和多服务台;接受服务的顾客是成批还是单个的;服务时间服从何种分布。 1.2M/M/C/∞排队模型 ①排队系统模型的表示。目前排队模型的分类采用1953年由D. G. Kendall 提出的分类方法。他用3个字母组成的符号A/B/C表示排队系统。为了表示其它特征有时也用4~5个字母来表示如A/B/C/D/E。其中:A 顾客到达间隔时间的概率分布;B 服务时间的概率分布;C 服务台数目;D 系统容量限制(默认为∞);E 顾客源数目(默认为∞);概率分布的符号表示:M:泊松分布或负指数分布,D:定长分布,Ek:k阶爱尔朗分布,C:一般随机分布。 ②排队系统的衡量指标。—所有服务设施空闲的概率;—系统中的顾客总数;—队列中的顾客总数;—顾客在系统中的停留时间;—顾客在队列中的等待时间。 ③M/M/C/∞排队模型。排队系统模型大体上可以分为简单排队系统,特殊排队系统,休假排队系统及可修排队系统。纵观所有排队系统的模型,无非是系统的三个组成部分分别为不同情况时,进行的排列组合,并由此导致排队系统的数量指标的计算公式不一致。无论是何种排队系统,其研究实质都是如何平衡等待时间

单服务台排队系统仿真研究报告

物流系统建模与仿真 09级自动化学院物流工程1班 20085435 詹乐思 20095277 安静 20095278 陈红玲 20095289 陈均剑 20095290 翟瑞 20095291 胡旺

单服务台排队系统仿真研究报告 ——选重庆大学A区门口中国银行分行某一服务窗口为单服务台排队系统研究 对象 一、系统基本背景 社会的进步越来越快,人们的生活节奏也随之越来越快。在科技的发展,新技术的普及下, 我国的银行业以计算机和信息技术、互联网技术为前提, 通过大量资金和科技的投入, 不断地开发出新产品和新业务。另外有网上银行、支付宝等新业务的出现, 大大提高了工作效率。然而现代的金融服务并不是都可以靠刷卡来解决, 许多技术还不完善, 这些新技术也并不适合所有顾客群,去银行办理业务的顾客仍然经常性地出现排队现象。顾客等待时间过长, 造成顾客满意度下降, 矛盾较为突出, 因此本报告试利用单服务台排队论的方法, 定性定量地对具有排队等候现象的银行服务系统进行统计调查与分析研究,希望能帮助改进银行工作效率, 优化系统的运营。 本报告研究对象为中国银行重庆大学处分行某一服务窗口,数据取自银行内唯一非现金业务柜台。研究对象的选取虽然不是最典型的,但是综合考虑了研究地域范围和小组成员作业时间有限,另有其他方案由于各种原因无法进行,故选择离学校较近的有代表性的中国银行中的服务窗口作为最终方案。 中国银行简介:中国银行是中国历史最为悠久的银行之一,在大家对银行的概念中有着一定地位。中国银行主营传统商业银行业务,包括公司金融业务、个人金融业务和金融市场业务。公司业务以信贷产品为基础,致力于为客户提供个性化、创新的金融服务和融资、财务解决方案。个人金融业务主要针对个人客户的金融需求,提供包括储蓄存款、消费信贷和银行卡在内的服务。作为中国金融行业的百年品牌,中国银行在稳健经营的同时,积极进取,不断创新,创造了国内银行业的许多第一,在国际结算、外汇资金和贸易融资等领域得到业界和客户的广泛认可和赞誉。 二、系统描述 该银行工作时间为上午8:30至下午16:30(周一至周日),另周末不办理对公业务,属于每天8小时工作制。系统调查对象为银行内唯一非现金业务柜台,可知到达的顾客中,需要办理非现金业务的顾客在正常现金业务柜台忙碌的情况下可以选择该服务台。在队列中,等待服务的顾客和服务台构成了一个排队系统。由于银行前台出纳员逐个接待顾客,当顾客较多的时候就会出现排队等待的现象。其中,顾客的到达是随机的,每两个先后到达的顾客的到达间隔时间是不确定的。 本排队系统用顾客的数目、到达模式、服务模式、系统容量和排队规则来描述。 为探求此排队系统的规律, 首先需确定顾客流在一定时间内到达的概率分布函数。抵达本银行服务窗口的顾客流量大体上服从Poisson 分布, 顾客流抵达银行便按先后顺序排队, 进入单服务窗口,即排队论中的M/M/1系统。所谓M/M/1排队系统是指这样的一种排队模型: 顾客的到达为Poisson 流, 银行对

单服务台排队系统建模与仿真研究报告

物流系统建模与仿真 单服务台排队系统仿真研究报告 ——选大学A区门口中国银行分行某一服务窗口为单服务台排队系统研究对象一、系统基本背景 社会的进步越来越快,人们的生活节奏也随之越来越快。在科技的发展,新技术的普及下, 我国的银行业以计算机和信息技术、互联网技术为前提, 通过大量资金和科技的投入, 不断地开发出新产品和新业务。另外有网上银行、支付宝等新业务的出现, 大大提高了工作效率。然而现代的金融服务并不是都可以靠刷卡来解决, 许多技术还不完善, 这些新技术也并不适合所有顾客群,去银行办理业务的顾客仍然经常性地出现排队现象。顾客等待时间过长, 造成顾客满意度下降, 矛盾较为突出, 因此本报告试利用单服务台排队论的方法, 定性定量地对具有排队等候现象的银行服务系统进行统计调查与分析研究,希望能帮助改进银行工作效率, 优化系统的运营。 本报告研究对象为中国银行大学处分行某一服务窗口,数据取自银行唯一非现金业务柜台。研究对象的选取虽然不是最典型的,但是综合考虑了研究地域围和小组成员作业时间有限,另有其他方案由于各种原因无法进行,故选择离学校

较近的有代表性的中国银行中的服务窗口作为最终方案。 中国银行简介:中国银行是中国历史最为悠久的银行之一,在大家对银行的概念中有着一定地位。中国银行主营传统商业银行业务,包括公司金融业务、个人金融业务和金融市场业务。公司业务以信贷产品为基础,致力于为客户提供个性化、创新的金融服务和融资、财务解决方案。个人金融业务主要针对个人客户的金融需求,提供包括储蓄存款、消费信贷和银行卡在的服务。作为中国金融行业的百年品牌,中国银行在稳健经营的同时,积极进取,不断创新,创造了国银行业的许多第一,在国际结算、外汇资金和贸易融资等领域得到业界和客户的广泛认可和赞誉。 二、系统描述 该银行工作时间为上午8:30至下午16:30(周一至周日),另周末不办理对公业务,属于每天8小时工作制。系统调查对象为银行唯一非现金业务柜台,可知到达的顾客中,需要办理非现金业务的顾客在正常现金业务柜台忙碌的情况下可以选择该服务台。在队列中,等待服务的顾客和服务台构成了一个排队系统。由于银行前台出纳员逐个接待顾客,当顾客较多的时候就会出现排队等待的现象。其中,顾客的到达是随机的,每两个先后到达的顾客的到达间隔时间是不确定的。 本排队系统用顾客的数目、到达模式、服务模式、系统容量和排队规则来描述。 为探求此排队系统的规律, 首先需确定顾客流在一定时间到达的概率分布

单服务台排队系统仿真报告

单服务台排队系统仿真报告 一、模型准备 1、 顾客到达特性 在该系统中,顾客的到达规模(成批到达还是单个到达)是单个到达,假设顾客到达率Ai 服从均值为 的指数分布,即 2、 顾客服务时间 顾客服务时间为Si ,服从指数分布,假设均值为 ,即 二、 仿真模型设计 1、 元素定义(Define ) 本系统的元素定义如表1所示。 2、 元素可视化设置(Display ) 本系统中各个元素的显示特征定义设置如图2所示: min 5=A βA s A e A f ββ/)(-= ) 0(≥A min 4=s βS A S e S f ββ/)(-= ) 0(≥S

图2 各元素的显示特征 (1)Part元素可视化设置 在元素选择窗口选择customer元素,鼠标右键点击Display,跳出Display 对话框(图3),设置它的Text(图4)、Icon(图5)。 图3 Display对话框 图4 Display Text对话框

图5 Display Icon对话框 (2)Buffer元素可视化设置 在元素选择窗口选择paidui元素,鼠标右键点击Display,跳出Display对话框(图3),设置它的Text、Icon、Rectangle(图6)。 图6 Display Rectangle对话框

(3)Machine元素可视化设置 在元素选择窗口选择Fuwuyuan元素,鼠标右键点击Display,跳出Display 对话框(图3),设置它的Text、Icon、Part Queue(图7)。 图7 Display Part Queue对话框 (4)Variable元素可视化设置 在元素选择窗口选择Jifen0元素,鼠标右键点击Display,跳出Display对话框(图3),设置它的Text 、Value(图8)。 图8 Display Value对话框

多服务台排队系统的仿真

实验3--- 多服务台排队系统的仿真 姓名:学号: 一、目标任务 已知一个系统有N 个服务员,能力相等,服务时间服从指数分布。顾客的到达时间间隔服从指数分布。用Monte-Carlo 仿真,分别求按下列方案的总体平均排队时间: ①M|M|N 。 ②N 个单通道系统并列,按1/N 概率分裂到达流。 ③N 个单通道并列,挑选最短的队。 要求: ①给出程序设计的过程。 ②如果采用固定的N,则要求N>2。 ③至少取p二和p二两种强度运行程序。 ④对结果进行分析。 二、编程语言 Matlab 三、关键代码

N = 3; % 服务员人数 r = 6; % 顾客到达流强度 u = 20; % 服务员服务强度 T = 1000000; % 仿真运行时间 avg_wait_time = []; % 平均等待时间 for i=1:100 % 模拟排队函数 server_time = [, , ]; % 用来保存服务员下一空闲时间 time = 0; % 绝对时钟,初始为 0 client_num = 0; % 顾客总数,初始为 0 CRTime = 0; % 顾客到达时间间隔 ServeTime = 0; % 顾客服务时间 server_id = 0 ; % 当前进入排队窗口的服务员编号 total_wait_time = 0;% 系统中到达顾客的总等待时间 while 1 按 1..N 的顺序循环排入服务

员窗口 if server_id ==0 server_id = N; end if server_time(1, server_id) <= time % 如果当前 server_id 号 服务员空闲, 则直接接收服务 server_time(1, server_id) = time + ServeTime; % 服务员下 一空闲时间为当 前绝对时钟加上当前服务时间 else % 否则所有服务员都在忙碌,顾客要排队等候 total_wait_time = total_wait_time + server_time(1, server_id) - time; % 顾客排队等候时间为当前服务员下一空闲时间减去绝对时 钟 server_time(1, server_id) = server_time(1, server_id) + ServeTime; end end avg_wait_time = [avg_wait_time, total_wait_time/client_num]; end % 计算平均等待时间 mean_avg_wait_time = mean(avg_wait_time); CRTime = exprnd(1/r); % 按指数分布产生顾客到达时间间隔 time = time + CRTime; % 更新系统的绝对时钟 if time > T break; end client_num = client_num + 1; % 顾客数加 1 ServeTime = exprnd(1/u); % 按指数分布产生顾客服务间隔 server_id = mod(client_num, N); %

排队论之简单排队系统设计

5.2.4 无限源的简单排队系统 所谓无限源的简单排队系统是指顾客的来源是无限的,输入过程是简单流,服务时间是负指数分布的排队系统。本节我们讨论一些典型的简单排队系统。 1.//1/M M ∞排队系统 //1/M M ∞排队系统是单服务台等待制排队模型,可描述为:假设顾客以Poisson 过程(具有速率λ)到达单服务员服务台,即相继到达时间间隔为独立的指数型随机变量,具有均值1λ,若服务员空闲,则直接接受服务,否则,顾客排队等待,服务完毕则该顾客离开系统,下一个排队中的顾客(若有)接受服务。相继服务时间假定是独立的指数型随机变量,具有均值μ。两个M 指的是相继到达的间隔时间和服务时间服从负指数分布,1指的是系统中只有一个服务台,∞指的是容量为无穷大,而且到达过程与服务过程是彼此独立的。 为分析之,我们首先确定极限概率0,1,2,n p n ???=,,为此,假定有无穷多房间,标号为 0,1,2,???,并假设我们指导某人进入房间n (当有n 个顾客在系统中),则其状态转移框图如图5.8所示。 图5.8 //1/M M ∞排队系统状态转移速率框图 由此,我们有 状态 离开速率=进入速率 0 01p p λμ= ,1n n ≥ ()11n n n p p p λμλμ-++=+ 解方程组,容易得到 00,1,2,i i p p i λμ????? == ??? , 再根据 001 1()1n n n n p p p λμ λμ ∞ ∞ === == -∑∑ 得到: 01p λμ =- ,

()(1),1n n p n λλ μ μ =- ≥ 令/ρλμ=,则ρ称为系统的交通强度(traffic intensity )。值得注意的是这里要求 1ρ<,因为若1ρ>,则0n p =,且系统中的人数随着时间的推移逐渐增多直至无穷,因 此对大多数单服务排队系统,我们都假定1ρ<。 于是,在统计平衡的条件下(1ρ<),平均队长为 ,1,1j j L jp λρ ρμλ ρ ∞ == = = <--∑ (5-52) 由于a λλ=,根据式(5-2)、(5-3)以及上式,可得: 平均逗留时间为: 1 ,1L W ρλ μλ = = <- (5-53) 平均等待时间为: 1 [],1()(1) Q W W E S W λρ ρμ μμλμρ=-=- = =<-- (5-54) 平均等待队长为: 22 ,1()1Q Q L W λρλρμμλρ ===<-- (5-55) 另外,根据队长分布易知,01ρρ=-也是系统空闲的概率,而ρ正是系统繁忙的概率。显然,ρ越大,系统越繁忙。 队长()N t 由0变成1的时刻忙期即开始,此后()N t 第一次又变回0时忙期就结束。由简单流与负指数分布的性质,显见忙期的长度与忙期的起点无关。可以证明,闲期的期 望值为1λ,令忙期平均长度为b , 则在统计平衡下,有:平均忙期:平均闲期=(1)ρρ-: ,因此平均忙期长度为: 1 11b ρμλρ?

单服务排队系统MAAB仿真程序

单服务台系统MATLAB仿真 学号:15 姓名:缪晨 一、引言 排队是日常生活中经常遇到的现象。通常 ,当人、物体或是信息的到达速率大于完成服务的速率时 ,即出现排队现象。排队越长 ,意味着浪费的时间越多 ,系统的效率也越低。在日常生活中 ,经常遇到排队现象 ,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之 ,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一 ,它是计划、工作设计、存货控制及其他一些问题的基础。Matlab是 MathWorks公司开发的科学计算软件 ,它以其强大的计算和绘图功能、大量稳定可靠的算法库、简洁高效的编程语言以及庞大的用户群成为数学计算工具方面的标准 ,几乎所有的工程计算领域 ,Matlab都有相应的软件工具箱。选用 Matlab软件正是基于 Matlab的诸多优点。 二、排队模型 三.仿真算法原理 (1)顾客信息初始化 根据到达率λ和服务率μ来确定每个顾客的到达时间间隔和服务时间间隔。服务间隔时间可以用负指数分布函数exprnd()来生成。由于泊松过程的时间间隔也服从负指数分布, 故亦可由此函数生成顾客到达时间间隔。需要注意的是exprnd()的输入参数不是到达率λ和服务率μ而是平均到达时间间隔 1/λ和平均服务时间1/μ。

根据到达时间间隔 ,确定每个顾客的到达时刻. 学习过C 语言的人习惯于使用FOR循环来实现数值的累加, 但FOR循环会引起运算复杂度的增加而在MATLAB 仿真环境中, 提供了一个方便的函数cumsum() 来实现累加功能读者可以直接引用对当前顾客进行初始化。第1 个到达系统的顾客不需要等待就可以直接接受服务其离开时刻等于到达时刻与服务时间之和。 (2)进队出队仿真 在当前顾客到达时刻,根据系统内已有的顾客数来确定是否接纳该顾客。若接纳则根据前一顾客的离开时刻来确定当前顾客的等待时间、离开时间和标志位;若拒绝,则标志位置为0. 流程图如下: 四、程序实现 单服务台服务,服务参数M/M/1,λ=μ=,排队规则为FIFO,以分为单位,仿真时间240分钟。 仿真程序代码如下 %总仿真时间 Total_time = 240; %到达率与服务率

数学建模论文(蒙特卡罗的多服务台和单服务台排队系统)

课程名称:数学建模与数学实验学院: 专业: 姓名: 学号: 指导老师:

利用Monte Carlo方法模拟单服务台排队系统和多服务台排队系统 摘要 蒙特卡罗方法(Monte Carlo)又称统计模拟法随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。本文通过两个具体的服务机构为例,分别说明如何利用蒙特卡洛方法模拟单服务台排队系统和多服务台排队系统。 单服务台排队系统(排队模型之港口系统):通过排队论和蒙特卡洛方法解决了生产系统的效率问题,通过对工具到达时间和服务时间的计算机拟合,将基本模型确定在//1 M M排队模型,通过对此基本模型的分析和改进,在概率论相关理论的基础之上使用计算机模拟仿真(蒙特卡洛法)对生产系统的整个运行过程进行模拟,得出最后的结论。 多服务台排队系统(开水供应模型):为了解决水房打水时的拥挤问题。根据相关数据和假设推导,最终建立了多服务窗排队M/G/n模型,用极大似然估计和排队论等方法对其进行了求解,并用Matlab软件对数据进行了处理和绘图。用灵敏度分析对结果进行了验证。本模型比较完美地解决了水房排队拥挤问题,而且经过简单的修改,它可以用于很多类似的排队问题。 关键词:蒙特卡洛方法,排队论,拟合优度,泊松流,灵敏度分析。 一、问题重述

港口排队系统:一个带有船只卸货设备的小港口,任何时间仅能为一艘船只卸货。船只进港是为了卸货,响铃两艘船到达的时间间隔在15分钟到145分钟变化。一艘船只卸货的时间有所卸货物的类型决定,在15分钟到90分钟之间变化。 开水供应系统:学院开水房的供水时间有限,水房面积有限,水管易受水垢堵塞。根据调查数据可知:通畅时几乎无人排队,堵塞时水房十分拥挤。由此可以看出水房设计存在问题,我们可以把开水房看成是一个随即服务系统,应用排队论的方法对系统运行状态做定量的描述。 二、基本假设 港口排队系统:通过对问题的重述,那么,每艘船只在港口的平均时间和最长时间是多少? 若一艘船只的等待时间是从到达到开始卸货的时间,每艘船只的平均等待时间和最长等待时间是多少? 卸货设备空闲时间的百分比是多少? 船只排队最长的长度是多少? 开水供应系统: 假设Ⅰ、顾客流满足参数为λ的Poisson分布,其中λ为单位时间到达的顾客平均数。每个顾客所需的服务时间相互独立,顾客流是无限的,在观测期间平稳。 假设Ⅱ、排队方式为单一队列的等候制,先到先服务。虽然水房内有多个服务台,每个服务台都有自己的队列,但同时顾客总是自由转移到最短的队列上,不可能出现有顾客排队而服务器空闲的情况。本文最后对两种排队方式的比较也表明这一假设是合理的。 假设Ⅲ、水房共有20个并联的服务台(水龙头),设每个服务台的服务时间服从某个相同的分布,t和σ分别是服务时间的均值和均方差,γ=σ/ t为偏离系数。由于锅炉及输水管容量的限制,使t依赖于正在进行服务的水龙头个数m,设此时平均服务时间t(m)。且存在一临界值当m<= m0 时,t(m)为常数

matlab单服务台排队系统实验报告

matlab 单服务台排队系统实验报告 一、实验目的 本次实验要求实现M/M/1单窗口无限排队系统的系统仿真,利用事件调度法实现离散事件系统仿真,并统计平均队列长度以及平均等待时间等值,以与理论分析结果进行对比。 二、实验原理 根据排队论的知识我们知道,排队系统的分类是根据该系统中的顾客到达模式、服务模式、服务员数量以及服务规则等因素决定的。 1、 顾客到达模式 设到达过程是一个参数为λ的Poisson 过程,则长度为t 的时间内到达k 个呼 叫的概率 服从Poisson 分布,即 e t k k k t t p λλ-= !)()(,?????????=,2,1,0k ,其中λ>0为一 常数,表示了平均到达率或Poisson 呼叫流的强度。 2、 服务模式 设每个呼叫的持续时间为i τ,服从参数为μ的负指数分布,即其分布函数为 {}1,0t P X t e t μ-<=-≥ 3、 服务规则 先进先服务的规则(FIFO ) 4、 理论分析结果 在该M/M/1系统中,设λρμ= ,则稳态时的平均等待队长为1Q ρλ ρ= -,顾客 的平均等待时间为 T ρμλ= -。 三、实验内容 M/M/1排队系统:实现了当顾客到达分布服从负指数分布,系统服务时间也服 从负指数分布,单服务台系统,单队排队,按FIFO 方式服务。 四、采用的语言 MatLab 语言 源代码: clear; clc; %M/M/1排队系统仿真

SimTotal=input('请输入仿真顾客总数SimTotal='); %仿真顾客总数;Lambda=0.4; %到达率Lambda; Mu=0.9; %服务率Mu; t_Arrive=zeros(1,SimTotal); t_Leave=zeros(1,SimTotal); ArriveNum=zeros(1,SimTotal); LeaveNum=zeros(1,SimTotal); Interval_Arrive=-log(rand(1,SimTotal))/Lambda;%到达时间间隔Interval_Serve=-log(rand(1,SimTotal))/Mu;%服务时间 t_Arrive(1)=Interval_Arrive(1);%顾客到达时间 ArriveNum(1)=1; for i=2:SimTotal t_Arrive(i)=t_Arrive(i-1)+Interval_Arrive(i); ArriveNum(i)=i; end t_Leave(1)=t_Arrive(1)+Interval_Serve(1);%顾客离开时间LeaveNum(1)=1; for i=2:SimTotal if t_Leave(i-1)

排队论模型

排队论模型 研究系统随机聚散现象和随机服务系统工作过程的数学理论和方 法,又称随机服务系统理论,为运筹学的一个分支。 日常生活中存在大量有形和无形的排队或拥挤现象,如旅客购票排队,市内电话占线等现象。排队论的基本思想是1910年丹麦电话工程师A.K.埃尔朗在解决自动电话设计问题时开始形成的,当时称为话务理论。他在热力学统计平衡理论的启发下,成功地建立了电话统计平衡模型,并由此得到一组递推状态方程,从而导出著名的埃尔朗电话损失率公式。自20世纪初以来,电话系统的设计一直在应用这个公式。30年代苏联数学家А.Я.欣钦把处于统计平衡的电话呼叫流称为最简单流。瑞典数学家巴尔姆又引入有限后效流等概念和定义。他们用数学方法深入地分析了电话呼叫的本征特性,促进了排队论的研究。50年代初, 美国数学家关于生灭过程的研究、英国数学家D.G.肯德尔提出嵌入马尔可夫链理论,以及对排队队型的分类方法,为排队论奠定了理论 基础。在这以后,L.塔卡奇等人又将组合方法引进排队论,使它更能适应各种类型的排队问题。70年代以来,人们开始研究排队网络和复杂排队问题的渐近解等,成为研究现代排队论的新趋势。 排队系统模型的基本组成部分 排队系统又称服务系统。服务系统由服务机构和服务对象(顾客)构成。服务对象到来的时刻和对他服务的时间(即占用服务系统的时间)

都是随机的。图1为一最简单的排队系统模型。排队系统包括三个组成部分:输入过程、排队规则和服务机构。 输入过程 输入过程考察的是顾客到达服务系统的规律。它可以用一定时间内顾客到达数或前后两个顾客相继到达的间隔时间来描述,一般分为确定型和随机型两种。例如,在生产线上加工的零件按规定的间隔时间依次到达加工地点,定期运行的班车、班机等都属于确定型输入。随机型的输入是指在时间t内顾客到达数n(t)服从一定的随机分布。如服从泊松分布,则在时间t内到达n个顾客的概率为 排队规则 排队规则分为等待制、损失制和混合制三种。当顾客到达时,所有服务机构都被占用,则顾客排队等候,即为等待制。在等待制中,

Witness单服务台排队系统实验详细步骤

第8章 单服务台排队系统仿真 排队系统是离散事件系统中的典型的问题。制造系统、生产系统、服务系统、修理和维护设备、交通运输和物资材料管理系统都是典型的有形或无形的排队系统。由于排队系统的应用已越来越广泛,排队特征、排队规则、服务机构也变得越来越复杂,用解析方法已无法求解,计算机模拟是求解排队系统和分析排队系统性能的非常有效的方法。 8.1 单服务台排队系统系统描述与仿真目的 1)了解排队系统的设计。 2)熟悉系统元素Part 、Machine 、Buffer 、Variable 、Timeseries 的用法。 3)深入研究系统元素Part 的用法。 4)研究不同的顾客服务时间和顾客的到达特性对仿真结果的影响。 8.2 单服务台排队系统工作流程 8.2.1 顾客到达特性 在该系统中,顾客的到达规模(成批到达还是单个到达)是单个到达,顾客 到达率Ai 服从均值为 的指数分布,即 8.2.2 顾客服务时间 顾客服务时间为Si ,服从指数分布,均值为 ,即 8.3 仿真模型的设计 8.3.1 元素定义(Define ) 本系统的元素定义如表8-1所示。 表8-1 实体元素定义 min 5=A βA s A e A f ββ/)(-= ) 0(≥A min 4=s βS A S e S f ββ/)(-= ) 0(≥S

8.3.2 元素可视化(Display)设置 各个实体元素的显示特征定义设置如图8-1所示。 图8-1 各个实体元素的显示特征 1.Part元素可视化设置 在元素选择窗口选择Guke元素,鼠标右键点击Display,跳出Display对话框(图8-2),设置它的Text(图8-3)、Icon(图8-4)。 图8-2 Display对话框

排队系统仿真 - 副本

食堂排队系统仿真 专业班级: 20121171 姓名: 学号: 年月日

一、实验名称 食堂排队系统仿真实验 二、实验目的 学习Flexsim仿真软件的基本用法并建立一个简单的食堂排队模型;学习根据临时实体类型来定义临时实体的流程路径;学习统计数据的收集、分析与比较。 三、实验内容 根据数据调查统计,得到顾客到达的时间间隔服从指数分布exponential(0,*,*)。顾客随机的均匀到达。 有*个打饭窗口为顾客提供服务,顾客将首先到空闲可用的打饭窗口接受服务。 顾客接受服务的时间服从(*,*)的**分布。顾客接受完服务后离开系统。以上时间单位皆为分钟。 对上述系统进行建模,仿真*小时的运行状况,收集各打饭窗口的利用率、顾客的平均等待时间等数据,提出服务设施的改进建议,使得顾客的平均等待时间不超过**分钟。 四、仪器设备 计算机、Flexsim仿真软件 五、实验步骤 1.添加控件 首先flexsim仿真软件,软件,*个发生器,*个暂存区,*个处理器,*个吸收器,并连接各个实体控件。如图

图 2. 设置发生器的参数 <1>到达时间间隔设置 <2>发生触发器离开出发设置 3、设置处理器的参数 定义发生器Processor1、Processor2(根据上面设定的发生器个数)为顾客提供服务,并设置其参数 处理时间设置 临时实体流设置 4、模拟仿真模型 先打开实验控制器按钮,设置系统仿真时间***分钟(根据上面的设置),再编译,然后

运行。 5、统计数据 图(生成报告的图)6.实验结论 平均排队时间**,平均排队人数**,最大排队时间**,最大排队人数**,(之后分析自己的模型,排队是否过长,处理时间是否过长) 六、方案改进 增加*个的处理器(即增加服务窗口),连接控件。(等)

单服务排队系统MATLAB仿真程序

单服务台系统MATLAB仿真 学号:1040408115 姓名:缪晨 一、引言 排队是日常生活中经常遇到的现象。通常,当人、物体或是信息的到达速率大于完成服务的速率时,即出现排队现象。排队越长,意味着浪费的时间越多,系统的效率也越低。在日常生活中,经常遇到排队现象,如开车上班、在超市等待结账、工厂中等待加工的工件以及待修的机器等。总之,排队现象是随处可见的。排队理论是运作管理中最重要的领域之一,它是计划、工作设计、存货控制及其他一些问题的基础。Matlab是MathWorks公司开发的科学计算软件,它以其强大的计算和绘图功能、大量稳定可靠的算法库、简洁高效的编程语言以及庞大的用户群成为数学计算工具方面的标准,几乎所有的工程计算领域,Matlab都有相应的软件工具箱。选用Matlab软件正是基于Matlab的诸多优点。二、排队模型 三.仿真算法原理 (1)顾客信息初始化 根据到达率λ和服务率μ来确定每个顾客的到达时间间隔和服务时间间隔。服务间隔时间可以用负指数分布函数exprnd()来生成。由于泊松过程的时间间隔也服从负指数分布, 故亦可由此函数生成顾客到达时间间隔。需要注意的是exprnd()的输入参数不是到达率λ和服务率μ 而是平均到达时间间隔1/λ

和平均服务时间1/μ。 根据到达时间间隔,确定每个顾客的到达时刻. 学习过C 语言的人习惯于使用FOR循环来实现数值的累加, 但FOR循环会引起运算复杂度的增加而在MATLAB 仿真环境中, 提供了一个方便的函数cumsum() 来实现累加功能读者可以直接引用 对当前顾客进行初始化。第1 个到达系统的顾客不需要等待就可以直接接受服务其离开时刻等于到达时刻与服务时间之和。 (2)进队出队仿真 在当前顾客到达时刻,根据系统内已有的顾客数来确定是否接纳该顾客。若接纳则根据前一顾客的离开时刻来确定当前顾客的等待时间、离开时间和标志位;若拒绝,则标志位置为0. 流程图如下:

单服务台排队系统详细设计说明书

单服务台排队系统详细设计说明书 1引言 1.1编写目的: 1.2背景: 1.3定义: 1.4参考文献: 2总体设计概述 本软件由三个模块组成,分别是:总控模块(control )、顾客到达模块(arrive )、顾客离开模块(departure )。 3类的定义 根据仿真方案的需求,定义事件表类(Table),包括: 属性:a.事件数目n_event (即事件表长度)。 b. 事件类型type_event c. 事件发生时间time | struct eve nt_talbe {int type_event; int time; }e_t[100]; struct eve nt_talbe n ext; int n_event; 操作:a.插入操作insert :按事件发生时间的先后将到达或离开事件插入事件表。 将事件表e_t[i]以后的值后移一位 for(j=i;i<=n_event;j++) {e_t[i+1].time=e_t[i].time; e_t[i+1].type_event=e_t[i].type_event} 事件表长度+1 n eve nt++ 返回

b.取事件操作pop:将事件表中队首的事件取出。 4程序描述 本软件的各子程序或函数如下表 4.1所示。 表4.1单服务台排队系统的子程序和函数 4. 1总控模块 1)模块描述:总控模块主要负责事件选取,推进仿真的进行。 2)功能描述:总控模块必须完成五项基本工作,包括: a 系统初始化:状态变量取值初始化、系统参数初始化、仿真时钟初始化等。 b 时间扫描:确定下一最早发生事件的发生时间,并将仿真中推进到该时刻。 c 事件识别:检索当前仿真时刻将要发生的所有时间,并确定执行顺序。 d 事件执行:执行获得资格的当前事件的事件例程。 e 返回报告:返回报告模块的结果。

相关文档
最新文档