Matlab-离散事件系统仿真实验
1、排隊系統的一般理論
一般的排隊系統都有三個基本組成部分:
(1) 到達模式:指動態實體(顧客)按怎樣的規律到達,描寫實體到達的統計特性。通常假定顧客總體是無限的。
(2) 服務機構:指同一時刻有多少服務設備可以接納動態實體,它們的服務需要多少時間。它也具有一定的分布特性。通常,假定系統的容量(包括正在服務的人數加上在等待線等待的人數)是無限的。(3) 排隊規則:指對下一個實體服務的選擇原則。通用的排隊規則包括先進先出(FIFO),后進先出(LIFO),隨機服務(SIRO)等。
2、離散系統常用的仿真策略
(1)事件調度法(Event Scheduling):
基本思想:離散事件系統中最基本的概念是事件,事件發生引起系統狀態的變化,用事件的觀點來分析真實系統。通過定義事件或每個事件發生系統狀態的變化,按時間順序確定并執行每個事件發生時有關邏輯關系。
(2)活動掃描法:
基本思想:系統有成分組成,而成分又包含活動。活動的發生必須滿足某些條件,且每一個主動成分均有一個相應的活動例程。仿真過程中,活動的發生時間也作為條件之一,而且較之其他條件具有更高的優先權。
(3)進程交互法:
基本思想:將模型中的主動成分歷經系統所發生的事件及活動,按時間發生的順序進行組合,從而形成進程表。系統仿真鐘的推進采用兩張進程表,一是當前事件表,二是將來事件表。
3、本實驗采用單服務臺模型
(1) 到達模式:顧客源是無限的,顧客單個到達,相互獨立,一定時間的到達數服從指數分布。
(2) 排隊規則:單隊,且對隊列長度沒有限制,先到先服務的?FIFO規則。
(3) 服務機構:單服務臺,各顧客的服務時間相互獨立,服從相同的指數分布。
(4) 到達時間間隔和服務時間是相互獨立的。
4、仿真運行方式
仿真運行方式可分為兩大類:
(1)終止型仿真:仿真的運行長度是事先確定的由于仿真運行時間長度有限,系統的性能與運行長度有關,系統的初始狀態對系統性能的影響是不能忽略的。為了消除由于初始狀態對系統性能估計造成的影響,需要多次獨立運行仿真模型。
(2)穩態型仿真:這類仿真研究僅運行一次,但運行長度卻是足夠長,仿真的目的是估計系統的穩態性能。
5、系統設計
采用事件調度法,事件調度法共有三種事件:即“顧客到達”、“服務開始”、“服務結束”。其中“服務開始”為條件事件,其條件是“顧客隊列長度不為零且服務員空閑”。在用事件調度法時,不單獨考慮條件事件,而將其并入非條件事件中。因此,需要考慮的事件例程有“顧客到達時間例程”和 “服務結束時間例程”。“顧客到達時間例程”和 “服務結束時間例程”如圖
事件調度法的程序結構設計如下:
(1)初始化。
??設置仿真的開始時間?t0和結束時間?tf?;?
??設置實體的初始化狀態;
??設置初始事件及其發生時間?ts。?
(2)仿真時鐘?TIME =?ts。?
(3)確定在當前時鐘?TIME?下發生的事件類型?E(i?= 1,2,3,…,n),并按解結規則排序。
(4)如果?TIME <=?tf執行。
{case E1:執行?E1?的事件例程;產生后續事件類型及發生時間;……case En:執行?En?的事件例程;產生后續事件類型及發生時間;
}
否則,轉(6).
(5)將仿真時鐘?TIME?推進到下一最早事件發生時刻;轉(3)。(6)結束仿真。
6、思路分析
采用事件調度法來研究單服務臺排隊系統。顧客逐個到達服務臺,且相鄰兩個顧客到達服務臺的時間間隔服從參數為?3 min?的指數分布。到達服務臺后,若這時服務員空閑,則為其提供服務,若此時服務員正在為其他顧客服務,則剛到的顧客排隊等待。服務員為每位顧客服務的時間長度服從參數為?4 min?的指數分布。使用?Matlab?軟件進行建模仿真,用?exprnd?函數生成符合指數分布的隨機數。用三個空白數組分別存儲第?i?個顧客引起的三種事件先后發生的時刻,對獲得的參數按照時間順序進行整理和分析,可以得出平均隊長、平均等待時間等重要參數,流程樣例如下
單服務臺排隊系統的流程框架圖如下:
?
總結
以上是生活随笔為你收集整理的Matlab-离散事件系统仿真实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 语音数据采集-实时语音数据可视化
- 下一篇: Matlab-实时编辑器介绍