欢迎来到天天文库
浏览记录
ID:19853577
大小:81.50 KB
页数:12页
时间:2018-10-07
《数学建模之超市收费系统问题小作业一new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计题目超市收费系统摘要一小超级市场有4个付款柜,每个柜台为一位顾客计算货款数的时间与顾客所购商品件数成正比(大约每件费时1s),20%的顾客用支票或信用卡支付,这需要1.5min,付款则仅需0.5min。有人倡议设一个快速服务台专为购买8个或8个以下商品的顾客服务,指定另外两个为“现金支付柜”。请你建立一个模拟模型,用于比较现有系统和倡议的系统的运转。假设顾客到达平均间隔时间是0.5min,顾客购买商品件数按如下频率表分布。件数9~1920~2930~3940~49相对频率0.120.100.180.280.200.12根据题目
2、要求建立模型并求解,应用MATLAB求解。关键词:MATLAB模拟模型一、模型的分析1.步骤(1)分析问题,收集资料。需要搞清楚问题要达到的目标,根据问题的性质收集有关随机性因素的资料。这里用得较多的知识为概率统计方面。在这个阶段,还应当估计一下待建立的模拟系统的规模和条件,说明哪些是可以控制的变量,哪些是不可控制的变量。(2)建立模拟模型,编制模拟程序。按照一般的建模方法,对问题进行适当的假设。也就是说,模拟模型未必要将被模拟系统的每个细节全部考虑。模拟模型的优劣将通过与实际系统有关资料的比较来评价。如果一个“粗糙”的模拟模型已经比
3、较符合实际系统的情况,也就没有必要建立费时、复杂的模型。当然,如果开始建立的模型比较简单,与实际系统相差较大,那么可以在建立了简单模型后,逐步加入一些原先没有考虑的因素,直到模型达到预定的要求为止。编写模拟程序之前,要现画出程序框图或写出算法步骤。然后选择合适的计算机语言,编写模拟程序。12(3)运行模拟程序,计算结果。为了减小模拟结果的随机性偏差,一般要多次运行模拟程序,还有就是增加模拟模型的时段次数。(4)分析模拟结果,并检验。模拟结果一般说来反映的是统计特性,结果的合理性、有效性,都需要结合实际的系统来分析,检验。以便提出合理的
4、对策、方案。以上步骤是一个反复的过程,在时间和步骤上是彼此交错的。比如模型的修改和改进,都需要重新编写和改动模拟程序。模拟结果的不合理,则要求检查模型,并修改模拟程序。2.控制模拟时间的方法:(1)固定时间增量法,是选用一段合适的时间作单位,然后每隔一个单位时间就计算一次有关参数的值,到达预定的模拟时间后,模拟程序结束。在编写这种程序时,一般可以建立一个“模拟时钟”变量。程序的主体框架一般是个大的循环,循环变量,则为模拟时间;在每个循环体内,就是对每个时段作处理。例如,有些排队论模型,可能就是以每隔一段时间(一天或者一个月)进行处理。
5、(2)可变时间增量法,模拟也有一个“模拟时钟”变量,但它是在一个事件发生时,“模拟时钟”才向前推进。需要注意的是,该模拟方法每一步经过的时间是可变的,而且会自动寻找下一个最早使系统状态发生变化的事件。整个模拟直到“模拟时钟”到达指定的时间长度为止。可以参考有关离散系统仿真的内容。渡口模型:一个渡口的渡船营运者拥有一只甲板长32米,可以并排停放两列车辆的渡船。他在考虑怎样在甲板上安排过河车辆的位置,才能安全地运过最多数量的车辆。分析:怎样安排过河车辆,关心一次可以运多少辆各类车。准备工作:观察数日,发现每次情况不尽相同,得到下列数据和情
6、况:(1)车辆随机到达,形成一个等待上船的车列;(2)来到车辆,轿车约占40%,卡车约占55%,摩托车约占5%;(3)轿车车身长为3.5~5.5米,卡车车身长为8~10米。 12二、问题分析这是一个机理较复杂的随机问题,是遵循“先到先服务”的随机排队问题。解决方法:采用模拟模型方法。因此需考虑以下问题:(1)应该怎样安排摩托车?(2)下一辆到达的车是什么类型?(3)怎样描述一辆车的车身长度?(4)如何安排到达车辆加入甲板上两列车队中的哪一列中去? 本实验主要模拟装载车辆的情况,暂时不考虑渡船的安全。 三、模型建立设到达的卡车、轿车长度
7、分别为随机变量。结合实际,这里不妨假设卡车、轿车的车身长度均服从正态分布。由于卡车车身长为8~10m,所以卡车车长的均值为m,由概率知识中的“”原则,其标准差为,所以得到。同理可得。 四、模拟程序设计由以上的分析,程序设计时的应划分的主要模块(函数)如下:确定下一辆到达车辆的类型;根据车的类型确定到达车辆的长度;根据一定的停放规则,确定放在哪一列。 12五、模拟程序functionsim_dukou %渡口模型的模拟n=input('输入模拟次数:');ifisempty(n)
8、(n<500)n=500;endN=zeros(1,3
9、);%依次为摩托车数量、卡车数量、轿车数量fori=1:nisfull=0;L=[0,0]; %第一列长度,第二列长度while~isfullt=rand;%模拟下一辆到达车的类型ift<=0.55,id=1;%到达卡车
此文档下载收益归作者所有