管理信息系统课程设计报告书Word文件下载.docx
- 文档编号:14142562
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:26
- 大小:151.57KB
管理信息系统课程设计报告书Word文件下载.docx
《管理信息系统课程设计报告书Word文件下载.docx》由会员分享,可在线阅读,更多相关《管理信息系统课程设计报告书Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
2.2连续系统模拟
(1) 捕食者与被捕食者模型模拟分析与设计
(2)网民数量扩散模型(BASS模型)模拟分析与设计
2.3多智能体系统模拟
(1) 萤火虫优化系统模拟
(2) 蚁群优化系统模拟
3模拟系统与程序的分析与设计
3.1离散系统
3.1.1单服务台排队系统(M/M/1)模拟分析与设计
已知顾客到达时间和服务时间的统计规律(通常来自实际数据或一定的概率分布)的情况下,如何仿真该排队系统。
系统假设:
(1)顾客源是无穷的;
(2)排队长度没有限制;
(3)到达系统的顾客按先后顺序依次进入服务。
已知条件:
(1)顾客到达时间间隔ki服从均值为βi的指数分布,即:
(2)服务员服务时间ks服从均值为βs的指数分布,即:
试对该单服务台排队系统进行分析、设计、模拟,并给出
(1)βi=5min,βs=4min;
(2)βi=5min,βs=5min;
(3)βi=4min,βs=5min;
三种情况下的模拟结果(到达顾客数、服务顾客数、平均等待时间、平均服务
时间、平均队长)。
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
一、系统分析
系统状态:
在任意时刻t
(1)排队等候的顾客数目L(t);
(2)服务员工作状态S(t)。
引起系统状态改变的行为称为事件,在排队系统中包含两类基本事件:
(1)顾客到达事件ak;
(2)顾客离去事件dk。
模拟时钟:
因为系统状态在ak、dk时刻发生改变,所以在模拟系统运行中,设
置时钟t,让t依事件发生的先后顺序,从一个事件的发生时刻推进到下一个事件的发生时刻。
变量设置:
(1)ik:
第k位顾客与第k-1位顾客到达时间间隔;
(2)sk:
第k位顾客服务时间;
(3)L(t):
排队等待的顾客数目;
(4)S(t):
服务员工作状态;
(5)ak:
第k位顾客到达时刻;
ak=ak-1+ik(k=1,2,…)
(6)dk:
第k位顾客离去时刻;
dk=max{ak,dk-1}+sk(k=1,2,…)
模拟过程分析:
(1)先根据时间间隔i和服务时间s的概率分布生成随机数ik、sk;
(2)再计算顾客到达时刻ak和离开时刻dk;
ak=ak-1+ik
dk=max{ak,dk-1}+skk=1,2,…
(3)让时钟t按照到达时刻ak和离开时刻dk从小到大的顺序推进。
注意:
通常不是先生成i或s待用,而是时钟t推进到某一事件发生时,才生成
所需的i或s。
(4)设当前时钟为t,在每一个事件发生时,需要设置并记录4个数值:
L(t):
S(t):
下一个顾客到达事件的发生时刻:
ARRIVETIEM
下一个顾客离开事件的发生时刻:
DEPARTTIME
二、单服务台排队系统模拟源程序:
functionout=MM1(mu1,mu2,T)%单服务台模拟系统
%mu1-顾客到达时间间隔服从指数分布;
%mu2-服务时间服从指数分布;
%T-模拟终止时刻
%----------------------初始化----------------------------------------------
t=0;
%当前时间
tt=[t];
%tt-时间序列
L=0;
%L-队长
LL=[L];
%LL-队长序列
S=0;
%S-服务员状态
c=[];
%c-顾客到达时间序列
b=[];
%b-服务开始时间序列
e=[];
%e-顾客离开时间序列
a_count=0;
%a_count-到达顾客数
b_count=0;
%b_count-服务顾客数
ARRIVETIME=0;
%顾客到达事件
DEPARTTIME=0;
%顾客离开事件
%----------------------模拟过程--------------------------------------------
whilet<
=T
if(ARRIVETIME<
DEPARTTIME)%顾客到达子过程
t=ARRIVETIME;
if(S==0)%服务台空闲,开始服务
S=1;
s=exprnd(mu2);
%生成服务时间
b_count=b_count+1;
%更新服务顾客数
DEPARTTIME=t+s;
%顾客离开时间
b=[b,t];
%记录顾客开始服务时间
e=[e,DEPARTTIME];
%记录顾客离开时间
else%若服务台忙
L=L+1;
%更新队长
end
i=exprnd(mu1);
%生成下一顾客到达时间
ARRIVETIME=t+i;
%下一顾客到达时间
c=[c,ARRIVETIME];
%记录顾客到达时间
a_count=a_count+1;
%更新到达顾客数
else%顾客离开子过程
t=DEPARTTIME;
if(L>
0)%有排队的顾客
L=L-1;
else%若没有排队的顾客,更新服务台为空闲状态
DEPARTTIME=T;
tt=[tt,t];
LL=[LL,L];
%----------------------模拟结果--------------------------------------------
length(e);
length(c);
Ws=sum(e-c(1:
length(e)))/length(e);
%平均逗留时间
Wb=sum(e-b(1:
%平均服务时间
Ls=sum(diff([tt,T]).*LL)/T;
%平均队长
fprintf('
到达顾客数:
%d\n'
a_count)%到达顾客数
服务顾客数:
b_count)%服务顾客数
out=[Ws,Wb,Ls];
3.1.2有顾客损失的多服务台排队系统(M/M/S)模拟分析与设计
在该排队系统中,有多个服务台s。
顾客逐个到达系统,已知顾客到达时间
间隔是随机的,服从指数分布。
顾客在服务台的服务时间也是随机的,且服从
指数分布。
当有服务台空闲时,顾客接受服务;
若排队顾客数超过k,则新到达
的顾客离去,问如何仿真该排队系统。
(1)顾客源是无穷的;
(2)到达系统的顾客按先后顺序依次进入服务。
(1)顾客到达时间间隔ki服从均值为βi的指数分布,即:
(2)服务员服务时间ks服从均值为βs的指数分布,即:
试对该多服务台排队系统进行分析、设计、模拟,并给出
(1)s=2,k=5,βi=5min,βs=4min;
(2)s=2,k=4,βi=3min,βs=5min;
(__________3)s=2,k=6,βi=2min,βs=5min;
有顾客损失的多服务台单服务台排队系统模拟源程序:
functionout=MMS(s,k,mu1,mu2,T)
%多服务台排队系统模拟
%s-服务台个数
%k-最大顾客等待数
arrive_time=exprnd(mu1);
%arrive_time-顾客到达事件
leave_time=[];
%leave_time-顾客离开事件
current_time=0;
%current_time-当前时间
tt=[current_time];
e_count=0;
%e_count-损失顾客数
whilemin([arrive_time,leave_time])<
T
current_time=min([arrive_time,leave_time]);
tt=[tt,current_time];
%记录时间序列
ifcurrent_time==arrive_time%顾客到达子过程
arrive_time=arrive_time+exprnd(mu1);
%刷新顾客到达事件
a_count=a_count+1;
%累加到达顾客数
ifL<
s%有空闲服务台
L=L+1;
%累加服务顾客数
c=[c,current_time];
%记录顾客到达时间序列
b=[b,current_time];
%记录服务开始时间序列
leave_time=[leave_time,current_time+exprnd(mu2)];
%产生新的
顾客离开事件
leave_time=sort(leave_time);
%离开事件表排序
elseifL<
s+k%有空闲等待位
b_count=b_count+1;
else%顾客损失
e_count=e_count+1;
%累加损失顾客
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理信息系统 课程设计 报告书