排隊系統實驗報告_第1頁
排隊系統實驗報告_第2頁
排隊系統實驗報告_第3頁
排隊系統實驗報告_第4頁
排隊系統實驗報告_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

排隊系統仿真實驗報告1實驗題目考慮一個排隊系統,顧客到達后若無空閑服務臺則等待,否則接受服務后離開,仿真目的是統計服務臺前的平均隊長和服務臺的忙閑程度,要求能利用離散事件仿真的方法對該系統進行仿真,系統的規則和參數自定。2實驗原理離散事件驅動的模型只在一些離散點上由事件改變其狀態,故離散事件模型是由事件驅動的。驅動某一模型的所有事件按其發生的時間先后構成一個序列,通常要求按時間先后順序處理事件,而不能顛倒。離散事件系統仿真的關鍵是按時間順序確定這一序列。除初始事件,事件序列中的事件不能在仿真前事先確定,而是在仿真進行中產生,離散事件系統仿真中一般采用事先策劃事件的方式,即在仿真系統處理任何事件之前該事件必須已被策劃。確定事件發生的時間的方式有三類:直接方式、間接方式、混合方式。從事件、活動、進程三個層次來組織事件即構成了處理離散事件模型的三種典型處理方法:事件調度法、活動掃描法、進程交互法。本次實驗針對排隊系統采用事件調度法,仿真策略如圖1所示:7T始離開事件隊列長度裱1,

苔耿歹J長度不為

〕,明產生下一服

務隹間3仿真程序圖13仿真程序#include<stdio.h>#include<stdlib.h>#include<math.h>#defineSIM_TIME1.0e6#defineARR_TIME1.20#defineSERV_TIME1.00//需要printf()函數//需要#include<stdio.h>#include<stdlib.h>#include<math.h>#defineSIM_TIME1.0e6#defineARR_TIME1.20#defineSERV_TIME1.00doubleexpntl(doublex);//生成參數為x的指數分布的函數的函數聲明voidmain(void)//主函數doubleend_time=SIM_TIME;//仿真總時間doubleTa=ARR_TIME;//平均到達時間間隔doubleTs=SERV_TIME;//平均服務時間doubletime=0.0;//仿真時間doublet1=0.0;//事件(到達)時間doublet2=SIM_TIME;//事件(離開)時間unsignedintn=0;//系統中的顧客數unsignedintc=0;//服務完的顧客數doubleb=0.0;//Totalbusytimedoubles=0.0;//系統中顧客數目的范圍doubletn=time;//最后一次事件的時間變量doubletb;//最后一次服務開始的時間doublex;//通過率doubleu;//服務員的利用率doublel;//系統中的平均隊長doublew;//平均等待時間charvvv;while(time<end_time){if(t1<t2)//事件(到達){time=t1;s=s+n*(time-tn);//更新sn++;tn=time;t1=time+expntl(Ta);if(n==1)//n為時的情況{tb=time;t2=time+expntl(Ts);}}else//事件(離開){time=t2;s=s+n*(time-tn);n--;tn=time;c++;//服務完的顧客數加if(n>0)t2=time+expntl(Ts);elset2=SIM_TIME;b=b+time-tb;//Updatebusytimesumifempty}}}x=c/time;u=b/time;//服務員利用率l=s/time;//系統的平均隊長w=l/x;//平均等待時間printf("===============================================================\n");printf("=***排隊模型M/M/1仿真結果**=\n");printf("===============================================================\n");printf("=總的仿真時間為:%3.4fsec\n",end_time);printf("=輸入變量:\n");printf("=平均到達時間間隔:%fsec\n",Ta);printf("=平均服務時間:%fsec\n",Ts);printf("=輸出結果:\n");printf("=服務完顧客數:%ld個\n”,c);printf("=系統通過率:%f個/sec\n”,x);printf("=服務員占用率:%f%%\n”,100.0*u);printf("=系統中顧客的平均隊長:%f個\n”,l);printf("=平均等待時間:%fsec\n”,w);printf(一\n)scanf(&vvv);}doubleexpntl(doublex){doublez;do〃用來產生,之間的隨機數{z=((double)rand()/RAND_MAX);}while((z==0)||(z==1));return(-x*log(z));

4仿真結果或誄程'原窕割^與仿Mlquene\DebugVqueueJ6D5.eze:~勺..隔:~勺..隔書'.,間平,為間|0]數...竺由間間田時客率用客

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論