版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)仿真單服務(wù)員單隊(duì)列系統(tǒng)仿真實(shí)驗(yàn)班 級(jí): 機(jī)設(shè)13-4班 學(xué) 號(hào): 2013210360 姓 名: 楊 尚 武 授課教師: 翟 華 日 期: 2016年4月13日 實(shí)驗(yàn)二 單服務(wù)員單隊(duì)列系統(tǒng)仿真實(shí)驗(yàn)1、 實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)了解離散事件系統(tǒng)仿真一般過程,了解離散事件系統(tǒng)中典型的單服務(wù)員單隊(duì)列系統(tǒng)的仿真一般過程,了解不同分布隨機(jī)數(shù)的計(jì)算機(jī)實(shí)現(xiàn)過程,了解事件掃描法在離散事件系統(tǒng)中的應(yīng)用。二、實(shí)驗(yàn)要求通過實(shí)驗(yàn)了解離散事件系統(tǒng)仿真一般過程,了解離散事件系統(tǒng)中典型的單服務(wù)員單隊(duì)列系統(tǒng)的仿真一般過程,了解不同分布隨機(jī)數(shù)的計(jì)算機(jī)實(shí)現(xiàn)過程,了解事件掃描法在離散事件系統(tǒng)中的應(yīng)用。同學(xué)能在參考源程序的基礎(chǔ)上,獨(dú)立
2、編寫C源程序,或其他高級(jí)語(yǔ)言程序,能正確計(jì)算仿真結(jié)果,并對(duì)結(jié)果進(jìn)行分析。三、參考C語(yǔ)言程序#include "stdio.h"#include "math.h"FILE * fp;float seed;int sstop,ip;float miat,msvt,svt;float tval,tlq,tmen;float sigma,time,lqt,lst,tle;float wkst100;float b,mq,s,f,nd,ts,is,ta,ia,clock,fel3;int imevt,numevs;void rptgen()/報(bào)告生成子程序 flo
3、at rho,w,pc,amts,amta,lq,l,wq;rho=b/clock;w=s/nd;pc=f/nd;amts=ts/is;amta=ta/ia;lq=tlq/clock;l=tmen/clock;wq=tlq/nd;if(fp=fopen("fz22","wb")=NULL)printf("cannot open filen");printf("time=%fn",time);fprintf(fp,"miat=%f,msvt=%f,sigma=%f,time=%fn",miat,m
4、svt,sigma,time);fprintf(fp,"rho=%f,mq=%f,pc=%f,clock=%fn",rho,mq,pc,clock);fprintf(fp,"nd=%f,amts=%f,amta=%fn",nd,amts,amta);fprintf(fp,"lq=%f,l=%f,wq=%f,w=%fn",lq,l,wq,w);float rand()/隨機(jī)數(shù)生成子程序float a,c,m;float rand1;a=25173.0;c=13849.0;m=65535.0;seed=(seed*a+c)-m*(int)
5、(seed*a+c)/m);if(seed=0.0) seed=1.0;rand1=seed/m;return rand1;float normal(float ex,float stdx)/正態(tài)分布隨機(jī)數(shù)生成子程序/float ex,stdx;float sum,x;int i;float r;sum=0.0;for(i=1;i<=12;i+)r=rand();sum=sum+r;x=stdx*(sum-6.0)+ex;printf=(“normal=%n”,x);return x;float expent(float ex)/指數(shù)分布隨機(jī)數(shù)生成子程序float r,x;r=rand(
6、);x=-ex*log(r);return x;void initlz()/系統(tǒng)初始化子程序float aat;clock=0.0;/置仿真時(shí)鐘為.0imevt=0;/假定系統(tǒng)在時(shí)間為空閑lqt=0.0;/置以下各統(tǒng)計(jì)量初值為lst=0.0;tle=0.0;b=0.0;mq=0.0;s=0.0;f=0.0;nd=0.0;ts=0.0;is=0.0;ta=0.0;ia=0.0;tlq=0.0;tmen=0.0;aat=expent(miat);fel1=clock+aat;/產(chǎn)生第一次到達(dá),并安排在FEL()fel2=1.0e+30;/置FEL()為無(wú)窮大,表示系統(tǒng)空閑時(shí),不會(huì)發(fā)生離開事件voi
7、d timadv()/時(shí)間推進(jìn)子程序 float fmin;int i;fmin=1.0e+29;imevt=0;for (i=1;i<=numevs;i+)/搜索FEL以找出下一事件if(feli>=fmin) continue;fmin=feli;imevt=i;if(imevt>0)/判斷有無(wú)將來(lái)事件clock=felimevt;/設(shè)定仿真時(shí)鐘為下一事件時(shí)間,事件將在時(shí)間FEL(IMEVT)發(fā)生tval=clock-tle;tlq=tlq+lqt*tval;tmen=tmen+(lqt+lst)*tval;elserptgen();/若將來(lái)事件為空,調(diào)用報(bào)告子程序sst
8、op=1;void arrvl()/到達(dá)事件子程序float aat,svt;if(lst=1.0) goto loop2;/檢查服務(wù)員是否被占lst=1.0;/若服務(wù)員空閑,修改系統(tǒng)狀態(tài)并記錄新的顧客的到達(dá)時(shí)間wkstip=clock;svt=normal(msvt,sigma);/為新到達(dá)顧客產(chǎn)生服務(wù)時(shí)間并安排離開事件fel2=clock+svt;ts=ts+svt;is=is+1.0;/修改累積統(tǒng)計(jì)量tle=clock;if(lqt>mq)mq=lqt;goto loop3;loop2: lqt=lqt+1.0;/若服務(wù)員被占,修改系統(tǒng)狀態(tài),記錄新的顧客到達(dá)時(shí)間及系統(tǒng)中顧客數(shù)ip=
9、lqt+lst;if(ip>100) goto loop4;/現(xiàn)設(shè)系統(tǒng)容量為人,若超過即給出報(bào)告wkstip=clock;b=b+(clock-tle);/修改累積統(tǒng)計(jì)量tle=clock;if(lqt>mq) mq=lqt;loop3: aat=expent(miat);/產(chǎn)生一個(gè)到達(dá)時(shí)間間隔并安排下一到達(dá)事件ta=ta+aat;ia=ia+1.0;fel1=clock+aat;goto loop31;loop4: printf("overflow in array wkst");rptgen();sstop=1;loop31:return;void dpar
10、t()/離開事件子程序 int i,i1;float rt,svt;b=b+(clock-tle);/修改累積統(tǒng)計(jì)量tle=clock;rt=clock-wkstip;s=s+rt;nd=nd+1.0;if(rt>=4.0)f=f+1.0;/記錄(累計(jì))停留時(shí)間大于等于的顧客數(shù)if(lqt>1.0)/檢查隊(duì)列空否for(i=1;i<=lqt;i+)i1=i+1;/此時(shí)至少有一個(gè)顧客在隊(duì)列中,使每個(gè)顧客向前移動(dòng)一個(gè)位置wksti=wksti1;lqt=lqt-1.0;/隊(duì)列中的顧客數(shù)減svt=normal(msvt,sigma);/對(duì)將被服務(wù)的顧客產(chǎn)生一個(gè)新的服務(wù),時(shí)間且安排下
11、一個(gè)/離開事件fel2=clock+svt;else/隊(duì)列空,服務(wù)員空閑,下一離開事件置在無(wú)窮大時(shí)間lst=0.0;fel2=1.0e+30; void main()/主程序ip=0;seed=2.0;/輸入隨機(jī)數(shù)種子miat=10.0;/msvt=3.0;sigma=1.0;time=500.0;numevs=2;/確定事件總數(shù)為initlz();/調(diào)用初始化子程序sstop=0;/程序終止變量,sstop=0,程序循環(huán),sstop=1,程序終止loop: timadv();/調(diào)用時(shí)間推進(jìn)子程序if(sstop=1) goto loopp;/判斷sstop=1,程序終止if (imevt=1
12、)/IMEVT=1為到達(dá),IMEVT=2為離開arrvl();/調(diào)用到達(dá)事件子程序if(sstop=1) goto loopp; /判斷sstop=1,程序終止goto loop;/程序循環(huán)執(zhí)行if (imevt=2) dpart();/調(diào)用離開事件子程序if (clock<time) goto loop;/判斷仿真是否結(jié)束,若未結(jié)束繼續(xù)循環(huán)執(zhí)行rptgen();/當(dāng)仿真結(jié)束時(shí)生成報(bào)告輸出loopp:return;四、實(shí)驗(yàn)報(bào)告1給出RAND()子程序輸出的10個(gè)數(shù)據(jù),以及對(duì)應(yīng)的符合正態(tài)分布和指數(shù)分布的隨機(jī)數(shù)。12345RAND()0.9795530.6640570.5042500.527
13、9160.193561NORMAL()2.97672.49043.00012.64993.2569EXPENT()0.20664.09396.84686.388216.4216678910RAND()0.9597770.6832380.0843370.1624320.080400NORMAL()2.96584.57993.77831.63436.6180EXPENT()0.41053.809124.729418.174925.20742.分別輸入下列三組數(shù)據(jù),給出相應(yīng)的計(jì)算結(jié)果(包括服務(wù)員忙度、平均服務(wù)時(shí)間、平均到達(dá)間隔時(shí)間、顧客在系統(tǒng)中平均時(shí)間、系統(tǒng)中平均顧客數(shù)、隊(duì)列中平均顧客數(shù)、停留4個(gè)小
14、時(shí)單位以上的顧客比例等),并加以文字說明。(1)輸入數(shù)據(jù)為:MIAT=10,MSVT=5,SIGMA=2,TIME=100計(jì)算結(jié)果為:平均到達(dá)間隔時(shí)間miat=10.000000平均服務(wù)時(shí)間msvt=5.000000服務(wù)時(shí)間標(biāo)準(zhǔn)差sigma=2.000000仿真停止時(shí)間time=100.000000服務(wù)員忙度rho=0.482677到當(dāng)前時(shí)間為止等待隊(duì)列的最大長(zhǎng)度mq=2.000000停留4個(gè)小時(shí)單位以上的顧客比例pc=0.454545仿真時(shí)鐘當(dāng)前時(shí)間clock=114.048820到當(dāng)前時(shí)間為止離開的顧客數(shù)nd=11.000000平均服務(wù)時(shí)間amts=4.362051平均到達(dá)間隔時(shí)間amta
15、=9.973741隊(duì)列中平均顧客數(shù)lq=1.026730系統(tǒng)中平均顧客數(shù)l=1.509407顧客在隊(duì)列中平均時(shí)間wq=10.645217顧客在系統(tǒng)中平均時(shí)間w=3.600372(2)輸入數(shù)據(jù)為:MIAT=10,MSVT=3,SIGMA=1,TIME=100計(jì)算結(jié)果為:平均到達(dá)間隔時(shí)間miat=10.000000平均服務(wù)時(shí)間msvt=3.000000服務(wù)時(shí)間標(biāo)準(zhǔn)差sigma=1.000000仿真停止時(shí)間time=100.000000服務(wù)員忙度rho=0.242204到當(dāng)前時(shí)間為止等待隊(duì)列的最大長(zhǎng)度mq=1.000000停留4個(gè)小時(shí)單位以上的顧客比例pc=0.111111仿真時(shí)鐘當(dāng)前時(shí)間clock=108.105759到當(dāng)前時(shí)間為止離開的顧客數(shù)nd=9.000000平均服務(wù)時(shí)間amts=2.909301平均到達(dá)間隔時(shí)間amta=11.269994隊(duì)列中平均顧客數(shù)lq=0.682092系統(tǒng)中平均顧客數(shù)l=0.924297顧客在隊(duì)列中平均時(shí)間wq=8.193123顧客在系統(tǒng)中平均時(shí)間w=2.863684(3)輸入數(shù)據(jù)為:MIAT=10,MSVT=30,SIGMA=2,TIME=100計(jì)算結(jié)果為:平均到達(dá)間隔時(shí)間miat=10.000000平均服務(wù)時(shí)間msvt=30.000000服務(wù)時(shí)間標(biāo)準(zhǔn)差sigma=2.000000仿真停止時(shí)間time
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度商業(yè)綜合體店鋪裝修一體化服務(wù)合同
- 2025年度草莓種植與深加工一體化項(xiàng)目合同3篇
- 課題申報(bào)參考:南嶺走廊瑤族傳統(tǒng)建筑壁畫圖像敘事及活化研究
- 課題申報(bào)參考:面向患者情緒體驗(yàn)的大型醫(yī)療設(shè)備系統(tǒng)設(shè)計(jì)策略研究
- 課題申報(bào)參考:貿(mào)易面向型人工智能規(guī)則的發(fā)展及其特征研究
- 《短視頻編?。哼x題構(gòu)想+腳本制作+劇本策劃+鏡頭拍攝》課件全套 第1-11章 選題方向:從賬號(hào)定位出發(fā) - 綜合案例:短劇《錯(cuò)過》
- 二零二五年度車輛抵押借款合同(含提前還款)4篇
- 二零二五版金融科技項(xiàng)目?jī)?nèi)部股東轉(zhuǎn)讓合同4篇
- 二零二五年度工業(yè)級(jí)模具開模設(shè)計(jì)與制造合同3篇
- 2025年度新型個(gè)人汽車抵押借款合同范本
- 2025年度車輛抵押借款合同模板(專業(yè)二手車交易平臺(tái))
- 非ST段抬高型急性冠脈綜合征診斷和治療指南(2024)解讀
- 煤礦反三違培訓(xùn)課件
- 向流程設(shè)計(jì)要效率
- 安全文明施工的管理要點(diǎn)
- 2024年中國(guó)航空發(fā)動(dòng)機(jī)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 當(dāng)代中外公司治理典型案例剖析(中科院研究生課件)
- 動(dòng)力管道設(shè)計(jì)手冊(cè)-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫(kù)Turtle詳解(含豐富示例)
- 煤礦機(jī)電設(shè)備檢修技術(shù)規(guī)范完整版
評(píng)論
0/150
提交評(píng)論