计算机仿真排队系统实验报告(附代码).docVIP

计算机仿真排队系统实验报告(附代码).doc

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

计算机仿真实验报告 第一题 1.作业内容 应用排队系统流程图,用C语言编制仿真程序,求解以下问题。 修理店只有一个修理工,来修理的顾客到达次数服从泊松分布,平均4人/h ;修理时间服 从指数分布,平均需6min。试求(随机数发生器采用float lcgrand(int stream),种子stream 为自己学号的最后两位。): 修理店空闲的概率; 店内有三个顾客的概率; 店内至少有一个顾客的概率; 在店内顾客的平均数; 顾客在店内的平均逗留时间; 顾客必须在店内消耗15分钟以上的概率。 统计量实现算法: 修理店空闲的概率; pl=l-area_server_status/sim_time area server status: 总服务时间(即修理工在这段仿真时间里非空闲时间) sim_time:总仿真时间 用1减去非空闲概率,即为空闲概率。 店内有三个顾客的概率; p2=Thrcc people timc/sim time 增加变量Three_people_time ,即有三个顾客在店内的时间。 三个顾客在店里,也就是说一个顾客在理发,两个人在排队,此时,无论是来一个新的客人 或者离开一个客人,都会破坏这种三个人的状态,所以我们每次要统计的,就是这种三个人 的状态持续的时间。因此,用到的是time_since_last_event这个变量,该变量用于统计两 种状态(事件,包括离开和到来)之间的事件。因此,在每次计算完time_since_last_even t之后,考察队伍中的人数是否为2 ,若为2 ,则把该段time_since_last_eventin到Three_pe ople_timc中。仿真结束时,用Thrce_pcop 1 e_time/总仿真时间,即为店内有三个顾客的概 率。 店内至少有一个顾客的概率; p3=p3=l-idle_time/sim_time 增加变量idle_time ,即店里空闲的概率(没有顾客),用1减去一个顾客都没有的概率,就 是至少有一个顾客的概率。 判断店里空闲的方法是,如果当前有一个顾客来了,他不需要排队,就意味着这之前店里是 空闲着的。这里仍用到time_since_last_evcnt ,在这个客人来之前的这段时间店里空闲, 因此把这个时间段加给idle_time ,以此累加,最后得到总的空闲时间。 在店内顾客的平均数; mcan_custonicr= 1. O*num_custs_dclaycd/sim time 在这里我计算的是店里平均每分钟的顾客数(包括等待的和正在理发的)。 numeustdelay ed是在这段仿真时间里总共出现的顾客,除以仿真时间,就是店内顾客平均数。 顾客在店内的平均逗留时间; mean stay time=(area num in q+area server status)/(1. O^nurn custs delayed) 对于任意一位顾客,他在店里逗留的时间二排队时间+理发时间。area_num_in_q统计的是 队列中的顾客等待的总时间,而area server status统计的是所有顾客理发的总时间,相加 就是所有顾客在店里逗留的时间,除以顾客的人数,就是顾客平均逗留时间。 顾客必须在店内消耗15分钟以上的概率。 p6二1.O*count15/numeustsdelayed 增加变量countl5 ,用于统计在店内消耗15分钟以上的顾客人数,再增加变量single_cust_t ime ,用于统计单个顾客在店内消耗的时间。 这里有两种情况。 (1 )不用排队。那么该顾客在店里消耗的时间就是理发时间,即sing 1 e_cust_timc=time_n ext event[2]-sim timco time ncxt event[2]=sim timc+cxpon(mean service)o (2 )要排队o 那么single_cust_time=delay+time_next_event [2]- sim_timco delay是当前有一位顾客离开时,得到的下一位将要理发的顾客(即队首顾客) 的等待时间。每一位顾客到店里时都会有一个timc_arrival[]将其抵达时刻记录下来,因此 ,轮到他时,用sim_time减去time_arrival []就得到了他等待的时间。等待时间加上理发时 间,就是这位顾客在店里消耗的时间。 以上可计算出单个顾客在店里消耗的时间,与15分钟比较,若超过,加入countl5中,count 15除以总人数,就是所求概率。 对原程序的修改点: 去掉了文件操作,用提示输入的方式输入参数,可多次输入。增加变量countl5, Thrce_pcop le_time, idle_time, single_cust_t

文档评论(0)

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

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

1亿VIP精品文档

相关文档