数学建模——理发店问题的蒙特卡洛仿真

数学建模——理发店问题的蒙特卡洛仿真

ID:12166051

大小:37.00 KB

页数:4页

时间:2018-07-16

数学建模——理发店问题的蒙特卡洛仿真_第1页
数学建模——理发店问题的蒙特卡洛仿真_第2页
数学建模——理发店问题的蒙特卡洛仿真_第3页
数学建模——理发店问题的蒙特卡洛仿真_第4页
资源描述:

《数学建模——理发店问题的蒙特卡洛仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数学建模课程设计题目:理发店问题学生:一、课程设计题目一个理发店有两位服务员A和B,顾客们随机到达店内,其中60%的顾客仅剪发,每位花5分钟时间;40%的顾客既剪发又洗发,每位花8分钟时间。设计算法,利用计算机对理发店的服务情况进行模拟。并统计以下量:1.最大队列长度2.顾客平均等待3.顾客总等待时间4.平均队列长度二、设计思路利用蒙特卡洛模拟原理,利用计算机对以上排队问题进行模拟。蒙特卡洛(MonteCarlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可

2、靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。对于本题,我们假定顾客到达时间间隔服从均值为3min的指数分布,模拟一定数量顾客情况下理发店的排队状况。三、设计代码arrive_t=exprnd(3,10,1);%顾客到达时间q=zeros(10,1);t=zeros(10,1);t0=zeros(1

3、0,1);rannum=unifrnd(0,1,10,1);%产生均匀分布随机数customer=zeros(10,1);%设定顾客wait_time1=0;wait_time2=0;flag=0;%确定是否有人等待fori=1:10%分出第一种和第二种状况if(rannum(i,1)<=0.6)customer(i,1)=5;%只剪elsecustomer(i,1)=8;%剪和洗endendtf=0;t(1,1)=tf+arrive_t(1,1);%到达时间wait_time=0;%等待时间t0(1,1)=t(1,1)+customer(1,1);%服务时间q(1,1)=0;%队列长

4、度t(2,1)=t(1,1)+arrive_t(2,1);t0(2,1)=t(2,1)+customer(2,1);t(3,1)=t(2,1)+arrive_t(3,1);if(t(3,1)>t0(2,1)

5、

6、t(3,1)>t0(2,1))t0(3,1)=t(3,1)+customer(3,1);elsewait_time1=t0(1,1)-t(3,1);wait_time2=t0(2,1)-t(3,1);if(wait_time1>wait_time2)t0(3,1)=t(3,1)+wait_time2+customer(3,1);wait_time=wait_time2;elset

7、0(3,1)=t(3,1)+wait_time1+customer(3,1);wait_time=wait_time1;endendi=4;while(i<=10)t(i,1)=t(i-1,1)+arrive_t(i,1);q(i,1)=q(i-1,1)+1;wait_time1=t0(i-1,1)-t(i,1);wait_time2=t0(i-2,1)-t(i,1);if(flag==0)if(wait_time1>0)&&(wait_time2>0)ifwait_time1>wait_time2flag=1;t0(i,1)=t(i,1)+wait_time2+customer(i,

8、1);wait_time=wait_time+wait_time2;elseflag=1;t0(i,1)=t(i,1)+wait_time1+customer(i,1);wait_time=wait_time+wait_time1;endi=i+1;elseif(wait_time1<=0)&&(wait_time2>0)t0(i,1)=t(i,1)+customer(i,1);q(i)=q(i)-1;flag=0;i=i+1;elseif(wait_time1>0)&&(wait_time2<=0)t0(i,1)=t(i,1)+customer(i,1);q(i)=q(i)-1;fl

9、ag=0;i=i+1;elseif(wait_time1<=0)&&(wait_time2<=0)t0(i,1)=t(i,1)+customer(i,1);q(i)=q(i)-1;flag=0;i=i+1;endelsewait_time1=t0(i-2,1)-t(i-1,1)-arrive_t(i,1);wait_time2=t0(i-3,1)-t(i-1,1)-arrive_t(i,1);ifwait_time1>wait_time2t0(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。