同济大三下-超市仿真系统设计说明书.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、假设超市的运行默认以下几条规则: 顾客到达后,立即通过入口进入售货区选购商品,选购完毕后随机选择服务台。 顾客对于服务台可以有多个选择,但每一个收款台每次至多只能为一位顾客服务。 如果顾客所选择的服务台空闲,则顾客立即接受服务;如果服务台正在为其他顾客服务,则该顾客应在加入到服务台前队列中排队等待,直到轮到该顾客去接受服务。 付款完毕顾客便离开服务台,路经出口直接离开超市系统,无逗留。 到达服从负指数分布,购物时间、付款时间服从正态分布 2、顾客的购物流程 超市仿真系统流程为:到达-购物-排队等待付款-离开。系统为了简化,把立即接受服务的情况视为排队时间为0的排队。 具体流程图如下: 系统的几大模块介绍: 1、随机数的产生:  (1)负指数分布随机数产生函数: Public Function exp(n) Dim x, y As Double x = Rnd y = -(Log(u)) / n exp = y End Function  (2)正态分布随机数产生函数: Public Function normal(a, P) Dim num(1 To 12) As Single Dim X, Y, Z, N As Double X = 0 For i = 1 To 12 Step 1 num(i) = Rnd X = X + num(i) Next i Y = X - 6 Z = a * Y + P normal = Z End Function 排队付款 这个模块是仿真系统的关键,分以下几个步骤进行(假设有两个服务台): 第一步 顾客购物完毕后,立刻按购物结束时间排序。 Dim f(9) For ii = 0 To b - 2 For jj = b - 1 To ii + 1 Step -1 If Val(sz(jj, 2)) Val(sz(jj - 1, 2)) Then For iii = 0 To 8 f(iii) = sz(jj, iii) sz(jj, iii) = sz(jj - 1, iii) sz(jj - 1, iii) = f(iii) Next iii End If Next jj Next ii 第二步 采用二维数组中的一维作为服务台编号,另一维作为通过此服务台的顾客信息,记录其离开时刻。 1 2 1 0:00:01 0:00:04 2 0:06:31 0:09:28 3 0:09:55 0:22:46 ...... 按上步骤排序的顺序先将2个顾客插入数组(因为前2个顾客不用排队,排队时间为0),并计算出他们的离开时刻。离开时刻=购物结束时刻+排队时间+付款时间。 第三步 第三个顾客购物完后在付款之前,系统利用循环先检查已知数组中每列元素,并记录下每列元素(代表离开时间)中离开时间大于该顾客到达时间的人数,存于另一数组。 Dim nn2 As Integer For nn1 = ab + 1 To b - 1 For nn3 = 0 To ab nn2 = 0 Do While Val(fwt(nn2, nn3)) 0 If Val(sz(nn1, 2)) fwt(nn2, nn3) Then fwtrs2(nn3) = Val(fwtrs2(nn3)) + 1 End If nn2 = nn2 + 1 Loop For gg = 0 To ab If Val(fwtrs4(gg)) Val(fwtrs2(gg)) Then f wtrs4(gg) = Val(fwtrs2(gg)) End If Next gg Next nn3 第四步 在一维数组中找出最小值元素所在位置,即决定该顾客在哪个服务台排队付款。 fw

文档评论(0)

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

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

1亿VIP精品文档

相关文档