基于C++排队系统仿真研究.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于C排队系统仿真研究

基于C++排队系统仿真研究   摘要:排队论已经广泛的应用于各种管理系统。在系统仿真应用中,又以排队系统的离散型仿真最为普遍。本文首先对排队系统及其仿真进行概述,接着通过C++语言实现火车票代售票点排队过程的仿真,该仿真的数学模型是M/M/1,最后对仿真结果进行了验证,证明该仿真的真实性。   关键词:排队系统 售票排队 仿真   中图分类号:O226   1 概述   1.1 排队系统   排队论(又称随机服务系统) 是研究系统由于随机因素的干扰而出现排队(或拥塞) 现象的规律的一门学科,它适用于一切服务系统,包括通信系统、计算机系统等。可以说,凡是出现拥塞现象的系统,都属于随机服务系统。排队论渗透到军事、经济、生产与服务和管理等多种部门。随着电子计算机的不断发展和更新,通信网的建立和完善,信息科学及控制理论的蓬勃发展均涉及到最优设计与最佳服务问题,从而使排队论论与应用得到发展。本文针对排队系统进行仿真,分析系统的各项性能,并提出改进措施,如增加服务窗、提高服务窗处理速度、加大存储器容量等。仿真采用C++语言实现。   1.2 排队理论   信息通过网络必须经过三个环节,即信息到达、排队等候处理(服务) 、离去。如图1 所示为排队系统的模型。   输入过程:(1) 顾客相继到达时间间隔可分为确定型和随机型; (2) 顾客到达系统的方式可以逐个或成批; (3) 顾客到达系统可以是独立的或相关的。   排队规则:(1) 损失制――顾客到达系统时,若系统中所有服务窗均被占用,则到达的顾客随即离去,比如打电话时碰到占线,计算机限定的内存等均为此种情况; (2) 等待制――顾客到达系统时,虽发现服窗均忙着, 但系统设有场地供顾客排队等待之用,是到达系统的顾客按排队规则进行排队等候服务;(3) 混合制――它是损失制与等待制混合组成的排队系统,此系统仅允许有限个顾客排队等候排队。   服务机构(处理机构):(1) 系统可以一个窗口或多个窗口为顾客进行服务; (2) 各窗口的服务时间可以是确定性或随机型,顾客在系统内逗留的时间均值Ws ;顾客排队等候服务的时间均值Wq ;服务时间的均值t ;显然Ws = Wq + t 。   如果一个排队系统的容量是无限的,实体数目是无限的,并且排队的规则是FIFO ,那么其模型的表示形式为X/ Y/ Z。其中, X 表示实体达到模式的时间间隔分布; Y 表示服务时间的分布; Z 表示服务   台数目。本文所讨论的M/ M/ C 模型的含义为实体到达间隔时间和服务时间均服从负指数分布的多服务台排队系统。   2 M/M/1排队系统的C语言实现   仿真实例――火车站售票处排队系统模型。假设某火车站排队系统的模型为M/ M/ 1 ,该仿真能分析出以下的结果:平均间隔时间,平均服务时间,顾客数,队列中平均延迟,队列中每个顾客的延迟。   2.1 变量说明   输入参数:MARRVT― 顾客到达间隔时间平均值; MSERVT―顾客服务时间的平均值 ; TOTCUS―控制观测结束的顾客人数。   ANIQ―系统中排队人数X等待时间的累计值 DELAY―顾客排队的等待时间; NEVNTS―事件种类数; NEXT――下一时间类型; NIQ―排队等待的顾客人数; NUMCUS―已经结束服务的顾客人数 RMIN―下一事件的时间; STATUS―服务员状态变量空闲是0,繁忙是1; TARRVL[I]――在系统中排队等待的第I个顾客的到达时间 TIME――仿真时钟; TLEVNT―上次事件的时间; TNE[I]―事件表 TOTDEL;   AVGDEL――顾客在系统中的平均等待时间; AVGNIQ――顾客平均排队长度。   排队系统仿真源程序:   #include stdlib.h#include stdio.h   #include iostream.h#include time.h#include math.h   #include REXP.CPPfloat ANIQ,MARRVT,MSERVT,TARRVL[101],TIME,TLEVNT;   float TNE[3],TOTDEL,RL1,RL2;   int NEVNTS,NEXT,NIQ,NUMCUS,STATUS,TOTCUS;   void INIT();void TIMING();void ARRIVE();void DEPART();   void REPORT();void main()   {NEVNTS = 2; //事件种类数为二cout MARRVT; //读入到达间隔时间均值   RL1 = 1 / MARRVT;   cout MSERVT; //读入服务时间均值   RL

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档