收藏 分销(赏)

数学建模之超市收费系统问题小作业一.doc

上传人:a199****6536 文档编号:2541738 上传时间:2024-05-31 格式:DOC 页数:14 大小:159.54KB 下载积分:8 金币
下载 相关 举报
数学建模之超市收费系统问题小作业一.doc_第1页
第1页 / 共14页
数学建模之超市收费系统问题小作业一.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
数学建模之超市收费系统问题小作业一 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 课程设计题目超市收费系统 摘要 一小超级市场有 4 个付款柜,每个柜台为一位顾客计算货款数的时间与顾客所购商品件数成正比(大约每件费时1s),20%的顾客用支票或信用卡支付,这需要1.5min,付款则仅需0.5min 。有人倡议设一个快速服务台专为购买8个或8个以下商品的顾客服务,指定另外两个为“现金支付柜"。 请你建立一个模拟模型,用于比较现有系统和倡议的系统的运转.假设顾客到达平均间隔时间是 0。5min ,顾客购买商品件数按如下频率表分布。 件数 9~19 20~29 30~39 40~49 相对频率 0。12 0.10 0。18 0。28 0.20 0.12 根据题目要求建立模型并求解,应用MATLAB求解。 关键词:MATLAB 模拟模型 一、模型的分析 1.步骤 (1)分析问题,收集资料。需要搞清楚问题要达到的目标,根据问题的性质收集有关随机性因素的资料。这里用得较多的知识为概率统计方面。在这个阶段,还应当估计一下待建立的模拟系统的规模和条件,说明哪些是可以控制的变量,哪些是不可控制的变量。 (2)建立模拟模型,编制模拟程序。按照一般的建模方法,对问题进行适当的假设。也就是说,模拟模型未必要将被模拟系统的每个细节全部考虑。模拟模型的优劣将通过与实际系统有关资料的比较来评价。如果一个“粗糙”的模拟模型已经比较符合实际系统的情况,也就没有必要建立费时、复杂的模型。当然,如果开始建立的模型比较简单,与实际系统相差较大,那么可以在建立了简单模型后,逐步加入一些原先没有考虑的因素,直到模型达到预定的要求为止。编写模拟程序之前,要现画出程序框图或写出算法步骤。然后选择合适的计算机语言,编写模拟程序. (3)运行模拟程序,计算结果.为了减小模拟结果的随机性偏差,一般要多次运行模拟程序,还有就是增加模拟模型的时段次数. (4)分析模拟结果,并检验。模拟结果一般说来反映的是统计特性,结果的合理性、有效性,都需要结合实际的系统来分析,检验。以便提出合理的对策、方案。 以上步骤是一个反复的过程,在时间和步骤上是彼此交错的。比如模型的修改和改进,都需要重新编写和改动模拟程序。模拟结果的不合理,则要求检查模型,并修改模拟程序。 2.控制模拟时间的方法: (1)固定时间增量法,是选用一段合适的时间作单位,然后每隔一个单位时间就计算一次有关参数的值,到达预定的模拟时间后,模拟程序结束。在编写这种程序时,一般可以建立一个“模拟时钟”变量。程序的主体框架一般是个大的循环,循环变量,则为模拟时间;在每个循环体内,就是对每个时段作处理.例如,有些排队论模型,可能就是以每隔一段时间(一天或者一个月)进行处理。 (2)可变时间增量法,模拟也有一个“模拟时钟"变量,但它是在一个事件发生时,“模拟时钟”才向前推进。需要注意的是,该模拟方法每一步经过的时间是可变的,而且会自动寻找下一个最早使系统状态发生变化的事件.整个模拟直到“模拟时钟"到达指定的时间长度为止.可以参考有关离散系统仿真的内容。 渡口模型:一个渡口的渡船营运者拥有一只甲板长32米,可以并排停放两列车辆的渡船。他在考虑怎样在甲板上安排过河车辆的位置,才能安全地运过最多数量的车辆。 分析:怎样安排过河车辆,关心一次可以运多少辆各类车。 准备工作: 观察数日,发现每次情况不尽相同,得到下列数据和情况: (1) 车辆随机到达,形成一个等待上船的车列; (2) 来到车辆,轿车约占40%,卡车约占55%,摩托车约占5%; (3) 轿车车身长为3。5~5.5米,卡车车身长为8~10米。   二、问题分析 这是一个机理较复杂的随机问题,是遵循“先到先服务”的随机排队问题。 解决方法:采用模拟模型方法。因此需考虑以下问题: (1) 应该怎样安排摩托车? (2) 下一辆到达的车是什么类型? (3) 怎样描述一辆车的车身长度? (4) 如何安排到达车辆加入甲板上两列车队中的哪一列中去?   本实验主要模拟装载车辆的情况,暂时不考虑渡船的安全。   三、模型建立 设到达的卡车、轿车长度分别为随机变量。结合实际,这里不妨假设卡车、轿车的车身长度均服从正态分布. 由于卡车车身长为8~10m,所以卡车车长的均值为m,由概率知识中的“"原则,其标准差为,所以得到。同理可得。   四、模拟程序设计 由以上的分析,程序设计时的应划分的主要模块(函数)如下: 确定下一辆到达车辆的类型; 根据车的类型确定到达车辆的长度; 根据一定的停放规则,确定放在哪一列。   五、模拟程序 function sim_dukou  %渡口模型的模拟 n=input('输入模拟次数:'); if isempty(n) | (n<500) n=500; end N=zeros(1,3);%依次为摩托车数量、卡车数量、轿车数量 for i=1:n isfull=0; L=[0 ,0]; %第一列长度,第二列长度 while ~isfull t=rand; %模拟下一辆到达车的类型 if t〈=0。55, id=1; %到达卡车 elseif t〈0。95, id=2; %到达轿车 else id=3; %到达摩托车 end N(id) = N(id) + 1; newlen=getlength(id); [isfull,pos]=getiffull(L,newlen); if ~isfull L(pos)=L(pos)+newlen; end%if end%while end%for disp(’平均每次渡船上的车数’) mean_n=N/n   function len=getlength(id) %根据车的类型,产生车长随机数 switch id case 1 len=min([4.5 + randn*(1/3), 5.5]); case 2 len=min([9 + randn*(1/3),10]); case 3 len=0; %根据放置方法,可以不予考虑 end function [full,pos]=getiffull(L,newlen) %增加车长为len后是否可行(是否满),pos表示加到那一列去 full=0; pos=0; if L(1)〉L(2) if L(1)+newlen〈32 pos=1; elseif L(2)+newlen〈32 pos=2; else full=1; end else if L(2)+newlen<32 pos=2; elseif L(1)+newlen<32 pos=1; else full=1; end end   六、模型求解结果及分析 (一)运行结果 程序名为sim_dukou,运行程序,输出结果如下: sim_dukou 输入模拟次数:1000 平均每次渡船上的车数 mean_n = 5.4840 3。9180 0。5160   (二)结果分析 上面为运行一次模拟程序,模拟次数为1000次的模拟结果.从模拟结果,你能得出什么结论? 发现摩托车的平均数量不到1辆,因此从另外一方面看,忽略摩托车的长度是合理的。统计结果显示平均每次渡口时船上卡车、轿车、摩托车数量分别为5.484、3.918、0。516辆。 参考代码: clear gds(1)=ceil(exprnd(30)); fw(1)=time; fwjs=zeros(4,3000); fwjs(1,1)=gds(1)+fw(1); dh(1)=fw(1); for i=2:4 gds(i)=gds(i—1)+ceil(exprnd(30)); fw(i)=time; fwjs(i,1)=gds(i)+fw(i); dh(i)=fw(i); end i=5; gds(i)=gds(i—1)+ceil(exprnd(30)); while gds(i)〈=8*60*60 fw(i)=time; [dh(i),fwjs2]=paidui(fwjs,gds(i),fw(i)); fwjs=fwjs2; i=i+1; gds(i)=gds(i-1)+ceil(exprnd(30)); end js1.m文件: t=rand; if t<0.12 a=randperm(8); js=a(1); elseif t<0。22 a=randperm(11); js=a(1)+8; elseif t<0.4 a=randperm(10); js=a(1)+19; elseif t〈0。68 a=randperm(10); js=a(1)+29; elseif t<0.88 a=randperm(10); js=a(1)+39; else t1=rand; if t1<0。5 js=50; elseif t1〈0.5+0。5^2; js=51; elseif t1<0。5+0.5^2+0.5^3; js=52; elseif t1<0.5+0。5^2+0.5^3+0.5^4; js=53; elseif t1〈0.5+0。5^2+0.5^3+0.5^4+0。5^5; js=54; elseif t1〈0。5+0.5^2+0。5^3+0。5^4+0。5^5+0。5^6; js=55; elseif t1<0.5+0。5^2+0。5^3+0.5^4+0.5^5+0。5^6+0.5^7; js=56; elseif t1<0。5+0.5^2+0。5^3+0。5^4+0.5^5+0.5^6+0。5^7+0.5^8; js=57; elseif t1<0。5+0.5^2+0.5^3+0。5^4+0。5^5+0.5^6+0。5^7+0.5^8+0。5^9; js=58; elseif t1<0.5+0.5^2+0。5^3+0。5^4+0.5^5+0。5^6+0.5^7+0。5^8+0.5^9+0.5^10; js=59; else js=60; end end js paidui.m文件: function [dh,fwjs]=paidui(fwjs,gds,fw) for l=1:4 fwjs1=fwjs(l,find(fwjs(l,:)>0)); j=1; while j<length(fwjs1) if gds〉=fwjs1(j)&gds<fwjs1(j+1); dc(l)=length(fwjs1)—j; break end j=j+1; end if gds〉fwjs1(length(fwjs1)) dc(l)=0; end if length(fwjs1)==1 if gds>fwjs1(1) dc(l)=0; else dc(l)=1; end end end [k,s]=min(dc); fwjs2=fwjs(s,find(fwjs(s,:)〉0)); fwjs(s,length(fwjs2)+1)=max(fwjs(s,length(fwjs2))—gds,0)+gds+fw; dh=fwjs(s,length(fwjs2)+1)—gds; time。m文件: function t0=time t=rand; if t〈0.12 a=randperm(8); js=a(1); elseif t<0.22 a=randperm(11); js=a(1)+8; elseif t〈0。4 a=randperm(10); js=a(1)+19; elseif t〈0.68 a=randperm(10); js=a(1)+29; elseif t〈0。88 a=randperm(10); js=a(1)+39; else t1=rand; if t1〈0。5 js=50; elseif t1〈0.5+0.5^2; js=51; elseif t1〈0.5+0。5^2+0.5^3; js=52; elseif t1<0。5+0。5^2+0.5^3+0.5^4; js=53; elseif t1〈0.5+0.5^2+0.5^3+0.5^4+0。5^5; js=54; elseif t1〈0。5+0。5^2+0。5^3+0。5^4+0.5^5+0。5^6; js=55; elseif t1〈0。5+0。5^2+0.5^3+0。5^4+0.5^5+0.5^6+0。5^7; js=56; elseif t1〈0。5+0。5^2+0。5^3+0。5^4+0。5^5+0。5^6+0。5^7+0.5^8; js=57; elseif t1<0.5+0。5^2+0.5^3+0。5^4+0。5^5+0。5^6+0。5^7+0。5^8+0。5^9; js=58; elseif t1〈0.5+0.5^2+0.5^3+0。5^4+0。5^5+0。5^6+0。5^7+0.5^8+0.5^9+0.5^10; js=59; else js=60; end end t=rand; if t〈=0。2 t2=90; else t2=30; end t0=js+t2; 12 七、参考文献 【1】 傅鹏,龚肋,刘琼荪,何中市.数学实验室【M】.北京:科学出版社,2000. 【2】 谭永基,俞文呲。数学建模【M】.上海:复旦大学出版社,1997. 【3】 杨启凡,数学建模【M】。杭州:浙江大学出版社,2000。 【5】 于秀林,任雪松.多元统计分析[M].北京:中国统计出版社,1999。8.P154 【6】 王树禾.数学建模基础【M】.合肥:中国科学技术大学出版社,1996。 【7】 赵静,但琦.数学建模与数学试验【M】。3版.北京:高等教育出版社,2008。 符号计算系统Mathematica教程 张韵华编著 北京:科学出版社,2001 SPSS实用教程 阮桂海主编;蔡建平等编著 北京:电子工业出版社,2000 数学建模实验 周义仓,赫孝良编 西安:西安交通大学出版社,1999 数学建模竞赛赛题简析与论文点评:西安交大近年参赛论文选编 赫孝良等[选编] 西安: 西安交通大学出版社,2002 数学建模案例分析 白其峥主编 北京:海洋出版社,2000 数学建模案例精选 朱道元等编著 北京:科学出版社,2003 数学建模导论 陈理荣主编 北京:北京邮电大学出版社,1999
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服