單服務臺排隊系統(tǒng)離散事件系統(tǒng)仿真實驗_第1頁
單服務臺排隊系統(tǒng)離散事件系統(tǒng)仿真實驗_第2頁
單服務臺排隊系統(tǒng)離散事件系統(tǒng)仿真實驗_第3頁
單服務臺排隊系統(tǒng)離散事件系統(tǒng)仿真實驗_第4頁
單服務臺排隊系統(tǒng)離散事件系統(tǒng)仿真實驗_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、離散事件系統(tǒng)仿真實驗一、實驗目標 通過單服務臺排隊系統(tǒng)的方針, 理解和掌握對離散事件的仿真建模方法, 以便對其他系 統(tǒng)進行建模,并對其系統(tǒng)分析,應用到實際系統(tǒng),對實際系統(tǒng)進行理論指導。二、實驗原理1排隊系統(tǒng)的一般理論一般的排隊系統(tǒng)都有三個基本組成部分:(1)到達模式:指動態(tài)實體(顧客)按怎樣的規(guī)律到達,描寫實體到達的統(tǒng)計特性。通常 假定顧客總體是無限的。(2)服務機構: 指同一時刻有多少服務設備可以接納動態(tài)實體,它們的服務需要多少時間。它也具有一定的分布特性。 通常, 假定系統(tǒng)的容量 (包括正在服務的人數加上在等待線等待 的人數)是無限的。(3)排隊規(guī)則:指對下一個實體服務的選擇原則。通用的排

2、隊規(guī)則包括先進先出(FIFO),后進先出( LIFO),隨機服務( SIRO)等。2對于離散系統(tǒng)有三種常用的仿真策略:事件調度法、活動掃描法、進程交互 法。( 1)事件調度法( Event Scheduling ):基本思想: 離散事件系統(tǒng)中最基本的概念是事件, 事件發(fā)生引起系統(tǒng)狀態(tài)的變化, 用事 件的觀點來分析真實系統(tǒng)。 通過定義事件或每個事件發(fā)生系統(tǒng)狀態(tài)的變化, 按時間順序確定 并執(zhí)行每個事件發(fā)生時有關邏輯關系。(2)活動掃描法:基本思想: 系統(tǒng)有成分組成,而成分又包含活動。 活動的發(fā)生必須滿足某些條件, 且每 一個主動成分均有一個相應的活動例程。 仿真過程中, 活動的發(fā)生時間也作為條件之

3、一, 而 且較之其他條件具有更高的優(yōu)先權。(3)進程交互法:基本思想: 將模型中的主動成分歷經系統(tǒng)所發(fā)生的事件及活動,按時間發(fā)生的順序進行組合, 從而形成進程表。 系統(tǒng)仿真鐘的推進采用兩張進程表, 一是當前事件表,二是將來事 件表。3本實驗采用的單服務臺模型1)到達模式:顧客源是無限的,顧客單個到達,相互獨立,一定時間的到達數服從指數 分布。(2)排隊規(guī)則:單隊,且對隊列長度沒有限制,先到先服務的FIFO 規(guī)則。(3)服務機構:單服務臺,各顧客的服務時間相互獨立,服從相同的指數分布。(4) 到達時間間隔和服務時間是相互獨立的。4事件調度法的仿真策略事件調度法的基本思想是: 用事件的觀點來分析真

4、實系統(tǒng), 通過定義事件及每個事件發(fā) 生對于系統(tǒng)狀態(tài)的變化,按時間順序確定并執(zhí)行每個事件發(fā)生時有關的邏輯關系。按這種策略建立模型時, 所有事件均放在事件表中。 模型中設有一個時間控制成分, 該 成分從事件表中選擇具有最早發(fā)生時間的事件, 并將仿真鐘修改到該事件發(fā)生的時間, 再調 用與該事件相應的事件處理模塊, 該事件處理完后返回時間控制成分。 這樣, 事件的選擇與 處理不斷地進行,直到仿真終止的條件或程序事件產生為止。5離散事件結果分析仿真運行方式可分為兩大類:(1) 終止型仿真:仿真的運行長度是事先確定的由于仿真運行時間長度有限, 系統(tǒng)的性能與運行長度有關, 系統(tǒng)的初始狀態(tài)對系統(tǒng)性能 的影響是

5、不能忽略的。 為了消除由于初始狀態(tài)對系統(tǒng)性能估計造成的影響, 需要多次獨立運 行仿真模型。(2) 穩(wěn)態(tài)型仿真: 這類仿真研究僅運行一次, 但運行長度卻是足夠長, 仿真的目的是估 計系統(tǒng)的穩(wěn)態(tài)性能。三、理論分析根據排隊論的知識我們知道, 排隊系統(tǒng)的分類是根據該系統(tǒng)中的顧客到達模式、 服務模 式、服務員數量以及服務規(guī)則等因素決定的。1、顧客到達模式實體(臨時實體)到達模式:顧客。實體到達模式是顧客到達模式,設到達時間間隔 A1服從均值 A 5min 的指數分布1 A/ Af (A) e A/ A (A 0)A2、服務模式設服務員為每個顧客服務的時間為Si,它也服從指數分布,均值為s 4minf(S

6、) 1 e S/ S (S 0)s3、服務規(guī)則由于是單服務臺系統(tǒng),考慮系統(tǒng)顧客按單隊排列,并按FIFO方式服務4、理論分析結果在該系統(tǒng)中,設,則穩(wěn)態(tài)時的平均等待隊長為Q1 ,顧客的平均等待時間為5、系統(tǒng)模型開始對顧客數目做記錄置服務員為忙碌 狀態(tài)將顧客記錄排入隊確定服務時間列安排服務完成隊列長度加 1事件結束三、設計算法1、算法模型2、仿真設計算法(主要函數)利用指數分布間的關系, 產生符合過程的顧客流, 產生符合指數分布的隨機變量作為每個顧客的服務時間:Interval_Arrive=-log(rand(1,SimTotal)/Lambda;% 到 達 時 間 間 隔 , 結 果 與 調 用

7、 exprnd(1/Lambda , m)函數產生的結果相同Interval_Serve=-log(rand(1,SimTotal)/Mu;% 服務時間間隔 t_Arrive(1)=Interval_Arrive(1);% 顧客到達時間時間計算 t_Wait=t_Leave-t_Arrive; % 各顧客在系統(tǒng)中的等待時間 t_Queue=t_Wait-Interval_Serve; %各顧客在系統(tǒng)中的排隊時間由事件來觸發(fā)仿真時鐘的不斷推進。 每發(fā)生一次事件, 記錄下兩次事件間隔的時間以及在該 時間段內排隊的人數:Timepoint=t_Arrive,t_Leave; % 系統(tǒng)中顧客數變化Cu

8、sNum=zeros(size(Timepoint);CusNum_avg=sum(CusNum_fromStart.*Time_interval 0 )/Timepoint(end);%系統(tǒng)中平均顧客數計算QueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end); % 系統(tǒng)平均等 待隊長3、仿真程序( MatLab語言)clear;clc;%M/M/1排隊系統(tǒng)仿真SimTotal=input( 請輸入仿真顧客總數 SimTotal=); % 仿真顧客總數;Lambda=0.2;Mu=0.25; t_Arrive=zeros

9、(1,SimTotal); t_Leave=zeros(1,SimTotal);ArriveNum=zeros(1,SimTotal);LeaveNum=zeros(1,SimTotal);Interval_Arrive=-log(rand(1,SimTotal)/Lambda;% 到達時間間隔 Interval_Serve=-log(rand(1,SimTotal)/Mu;% 服務時間 t_Arrive(1)=Interval_Arrive(1);% 顧客到達時間ArriveNum(1)=1;for i=2:SimTotalt_Arrive(i)=t_Arrive(i-1)+Interval

10、_Arrive(i);ArriveNum(i)=i;end t_Leave(1)=t_Arrive(1)+Interval_Serve(1);% 顧客離開時間 LeaveNum(1)=1;for i=2:SimTotalif t_Leave(i-1)t_Arrive(i) t_Leave(i)=t_Arrive(i)+Interval_Serve(i);elset_Leave(i)=t_Leave(i-1)+Interval_Serve(i);endLeaveNum(i)=i;end t_Wait=t_Leave-t_Arrive; % 各顧客在系統(tǒng)中的等待時間 t_Wait_avg=mean

11、(t_Wait);t_Queue=t_Wait-Interval_Serve;% 各顧客在系統(tǒng)中的排隊時間 t_Queue_avg=mean(t_Queue);Timepoint=t_Arrive,t_Leave;% 系統(tǒng)中顧客數隨時間的變化 Timepoint=sort(Timepoint);ArriveFlag=zeros(size(Timepoint);% 到達時間標志CusNum=zeros(size(Timepoint);temp=2;CusNum(1)=1;for i=2:length(Timepoint)if (temp=2QueLength(i)=CusNum(i)-1;els

12、eQueLength(i)=0;endend系統(tǒng)平均等QueLength_avg=sum(0 QueLength.*Time_interval 0 )/Timepoint(end);% 待隊長%仿真圖 figure(1);set(1,position,0,0,1000,700);subplot(2,2,1);title( 各顧客到達時間和離去時間 ); stairs(0 ArriveNum,0 t_Arrive,b);hold on;stairs(0 LeaveNum,0 t_Leave,y);legend( 到達時間 , 離去時間 ); hold off;subplot(2,2,2); st

13、airs(Timepoint,CusNum,b) title( 系統(tǒng)等待隊長分布 );xlabel( 時間 );ylabel( 隊長 );subplot(2,2,3);title( 各顧客在系統(tǒng)中的排隊時間和等待時間 ); stairs(0 ArriveNum,0 t_Queue,b);hold on;stairs(0 LeaveNum,0 t_Wait,y);hold off;legend( 排隊時間 , 等待時間 );%仿真值與理論值比較disp( 理論平均等待時間 t_Wait_avg=,num2str(1/(Mu-Lambda);disp( 理論平均排隊時間 t_Wait_avg=,n

14、um2str(Lambda/(Mu*(Mu-Lambda); disp( 理論系統(tǒng)中平均顧客數 =,num2str(Lambda/(Mu-Lambda);disp( 理論系統(tǒng)中平均等待隊長 =,num2str(Lambda*Lambda/(Mu*(Mu-Lambda); disp( 仿真平均等待時間 t_Wait_avg=,num2str(t_Wait_avg)disp( 仿真平均排隊時間 t_Queue_avg=,num2str(t_Queue_avg) disp( 仿真系統(tǒng)中平均顧客數 =,num2str(CusNum_avg);disp( 仿真系統(tǒng)中平均等待隊長 =,num2str(Qu

15、eLength_avg)四、仿真結果分析顧客的平均等待時間與顧客的平均等待隊長如下:仿真顧客總數 =100012345 平均值平均等待時間18.941516.95516.555220.818215.624417.44527平均排隊時間15.078613.162512.491816.688511.681713.49921平均顧客數3.7583.47363.19854.1532.89113.40464平均等待隊長2.99162.69662.41343.32922.16152.63549仿真顧客總數 =10006789 10 理論值平均等待時間17.106417.700417.22416.28221

16、7.245420平均排隊時間13.188713.667713.244912.450513.337216平均顧客數3.2673.48393.33423.11063.37654平均等待隊長2.51882.69012.56392.37852.61133.2仿真顧客總數 =200012345 平均值平均等待時間20.123120.988718.910517.313316.297218.66422平均排隊時間15.921716.941115.115613.396612.311614.65662平均顧客數4.02954.22183.75383.44913.22053.69717平均等待隊長3.18823.

17、40773.00052.66892.43292.90384仿真顧客總數 =2000 678910理論值平均等待時間19.725521.868918.260517.214515.9420平均排隊時間15.612717.813314.293513.14512.015116平均顧客數3.84184.32093.72573.34673.06194平均等待隊長3.04083.51962.91632.55552.3083.2仿真顧客總數 =300012345平均值平均等待時間15.607520.569717.427520.003319.546919.15597平均排隊時間11.736716.594913.

18、403216.131615.433415.17725平均顧客數3.11484.17523.46654.11343.8893.82256平均等待隊長2.34233.36842.6663.31733.07063.02896仿真顧客總數 =3000678910理論值平均等待時間23.318118.391218.738620.925717.031220平均排隊時間19.253814.460314.758816.927413.072416平均顧客數4.57073.623.76144.21233.30234平均等待隊長3.7742.84622.96263.40752.53473.2仿真顧客總數 =500012345平均值平均等待時間22.157318.371818.970720.051219.023819.61812平均排隊時間18.184814.417814.992616.08915.013515.62898平均顧客數4.54633.66473.82174.0253.79093.94222平均等待隊長3.73122.8763.02033.22962.99183.14096仿真顧客總數 =5000678910理論值平均等待時間20.13918.450519.512519.547419.95720平均排隊時間16.16814.483615.549215.505215.886

溫馨提示

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

評論

0/150

提交評論