第九章系統(tǒng)模擬_第1頁
第九章系統(tǒng)模擬_第2頁
第九章系統(tǒng)模擬_第3頁
第九章系統(tǒng)模擬_第4頁
第九章系統(tǒng)模擬_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第九章第九章 系統(tǒng)模擬系統(tǒng)模擬 9.1 基本概念基本概念 系統(tǒng)模擬(System Simulation)方法,又稱為系統(tǒng)仿真,無論在科學(xué)研究、工業(yè)管理、交通運輸還是國防建設(shè)等諸多領(lǐng)域,都有著無可替代的廣泛應(yīng)用。特別是有了計算機這一運算工具以后,人們對于許多難以建立數(shù)學(xué)解析模型的復(fù)雜問題,更是求助于計算機模擬,作為一種有效的實驗手段對系統(tǒng)進行研究和控制管理。因此,有人稱之為“沒有辦法的辦法”。9.1.1 定義和目的定義和目的 一般來說,模擬就是對系統(tǒng)的模型進行實驗的一種方法,或者說,模擬是對現(xiàn)時系統(tǒng)或假設(shè)系統(tǒng)的模型進行的一種試驗。 9 System Simulationsimulation in

2、 its broadest sense covers many possibilities. Such diverse topics as wind tunnel, airline pilot trainers and war games could be included. The specific topic to be discussed here is the use of digital computers for discrete system simulation; in particular, the simulation of systems involving stocha

3、stic (random)processes. Special emphasis is placed upon the handling of random elements in OR modeling. The treatment given will be in term of specific simple problem types. Basic ConceptionsEssentially, simulation is a numerical computation technique. It is usually invoked when it proves impossible

4、 to formulate a problem in term of a mathematical model that can be solved by other methods developed within the field of OR. Unlike those methods, simulation does not require that a model be presented in a particular format. It permits a considerable degree of freedom so that the model can bear a c

5、lose correspondence to the system being studied. The simulation user is, in effect, put in the position of an experimenter operating the model in much the same way as he would have like to operate the system itself. The purpose of the simulation, of course, is to learn some thing about the system. S

6、ystem ModelsSince used in a simulation does not have to conform to any rigid format, no definitive terminology for describing simulation models has evolved. However, three terms have come to be widely used, and they will be used here to clarify the discussion. An entity is taken to mean some object

7、in the system of sufficient interest to be included in the model. Each entity is considered to have attributes that describe the properties or the state of the entity. There are activities which cause changes in the system, either by changing the value of attributes or by creating or destroying an e

8、ntity. 系統(tǒng)模擬是用來描述或評價系統(tǒng)行為,驗證系統(tǒng)模型或預(yù)測系統(tǒng)性能的一種有力工具。在建立系統(tǒng)模型和進行系統(tǒng)分析的過程中,對系統(tǒng)進行模擬研究往往是關(guān)鍵的步驟之一。在現(xiàn)實世界中,有不少系統(tǒng)不能用數(shù)學(xué)解析式來描述,這時候,系統(tǒng)模擬就成為解決問題的重要方法了。模擬的目的大體上有以下幾個方面:1. 在建立一個真實系統(tǒng)之前,必須對該系統(tǒng)的行為和性能作出預(yù)測和評價,尤其是對于大規(guī)模的復(fù)雜系統(tǒng)更是如此。系統(tǒng)模擬往往作為可行性研究中的一種手段。2. 在建立真實系統(tǒng)前,或者系統(tǒng)已經(jīng)建立,模擬的目的通常是用于各備選方案的比較,從而使設(shè)計更加合理,對現(xiàn)有系統(tǒng)進一步改進,使組織管理工作更加完善。3. 其次模擬還

9、可以用于培訓(xùn)有關(guān)人員,這樣省時省錢,可避免一些不必要的損失。9.1.2 模擬的分類模擬的分類 9.1.3 模擬模型模擬模型 模擬模型是由大量的要素、法則和邏輯關(guān)系所組成的流程模擬模型是由大量的要素、法則和邏輯關(guān)系所組成的流程圖圖。模擬模型構(gòu)成的方法特點是,先把系統(tǒng)劃分成較小的子系統(tǒng),然后再把這些子系統(tǒng)按照邏輯關(guān)系結(jié)合在一起。其中有些子系統(tǒng)也有可能用解析方法構(gòu)成模型。 9.1.3.1 計算機模擬系統(tǒng)的組成計算機模擬系統(tǒng)的組成 計算機模擬系統(tǒng)是多種多樣的,特別是離散事件系統(tǒng)較為復(fù)雜。為了更為方便地進行模擬,首先要把系統(tǒng)抽象化、規(guī)范化。計算機模擬系統(tǒng)的主要構(gòu)成為: 1. 實體實體(Entity):

10、組成系統(tǒng)的各個元素稱為實體,它們是組成系統(tǒng)的基本部分。凡是在系統(tǒng)中活動的部分叫活動實體,固定實體是對活動實體進行加工、處理或服務(wù)的。 2. 屬性屬性(Attribute):指實體所具有的特性、狀態(tài)或參數(shù)。每個實體都有若干個屬性來描述。例如,汽車是實體,規(guī)格、速度、載重量是它的屬性;料倉是固定實體,裝、卸載速度,方式是它們的屬性。 3. 活動活動(Activity): 表示系統(tǒng)內(nèi)同一類運動的一段過程或行為。例如,車輛的卸載時間或故障時間等。4. 事件事件(Event): 這是離散事件系統(tǒng)的一個重要概念。它與系統(tǒng)活動有關(guān),一般指某一時間點,系統(tǒng)正處于某種活動的開始指某一時間點,系統(tǒng)正處于某種活動的

11、開始或結(jié)束或結(jié)束。例如,設(shè)備某一時刻發(fā)生故障,這個時刻叫做事故發(fā)生事件,也叫正常運行結(jié)束事件。5. 系統(tǒng)狀態(tài)系統(tǒng)狀態(tài): 系統(tǒng)在某一時刻上所有實體的屬性、活動的瞬間表象。 6. 過程過程:系統(tǒng)經(jīng)過各種活動,又回到原來開始時類似的狀態(tài)叫做一個過程。例如汽車運輸中的一個往返過程。7. 模擬時鐘模擬時鐘: 在動態(tài)系統(tǒng)中都設(shè)有模擬時鐘,以推進系統(tǒng)的模擬時間,它是提供模擬時間當(dāng)前數(shù)值的變量。每推進一次叫一個步長,一般每一個步長都要對系統(tǒng)全面考查一次,以推進系統(tǒng)狀態(tài)的變化與發(fā)展。9.1.3.2 計算機模擬的一般步驟計算機模擬的一般步驟 一般來說,模擬模型的建立包括以下幾個步驟: 1. 提出問題提出問題 2.

12、 系統(tǒng)分析系統(tǒng)分析 3. 收集數(shù)據(jù)收集數(shù)據(jù) 4. 構(gòu)造模型構(gòu)造模型 5. 模型檢驗?zāi)P蜋z驗 6. 結(jié)果分析結(jié)果分析 9.2 應(yīng)用舉例應(yīng)用舉例 為了對計算機模擬模型的建立、運算過程、結(jié)果和意義有一個初步的認識,首先從較簡單的靜態(tài)模型入手,來考慮下面兩個例子。 例例 1 現(xiàn)有一火炮發(fā)射系統(tǒng),共有n門炮,同時攻擊一個目標(biāo),已知各門炮的命中率為P。求擊毀目標(biāo)的概率(這里假設(shè)擊中等于擊毀)不小于S的情況下,最少需要配備的火炮數(shù)。 解:解:從概率論可知:n門炮各發(fā)射一炮,稱為一輪射擊,未擊中目標(biāo)的概率為 (1P)n,那末擊中目標(biāo)的概率為1(1P)n?,F(xiàn)要求一輪射擊擊毀目標(biāo)的概率不小于S,即要求 1(1P)

13、nS 由于P、S都是已知數(shù),因此可由上式求出滿足條件的n。 對于這一問題也可以用計算機模擬模型來求解??梢岳糜嬎銠C語言提供的0,1之間的均勻隨機數(shù)發(fā)生器,例如,BASIC語言中的RND(n)函數(shù)。用發(fā)出一個隨機數(shù)R模擬一次射擊過程,由于各門炮的命中率為P,隨機數(shù)R落入某一區(qū)間的概率只與這一區(qū)間的寬度有關(guān),因此,隨機數(shù)R落入0,P區(qū)間概率為P。 構(gòu)造該模擬模型的基本規(guī)則為:1. n門炮依次發(fā)射,如有一炮命中,叫做成功,此輪不必再向下計算,輪數(shù)Q加1,進入下一輪,如果n門炮都未中,叫做失敗,輪數(shù)Q加1,失敗輪數(shù)F加1。2. n門炮發(fā)射一輪(不一定每門炮都發(fā)射),叫做實驗一次。實驗Q輪(Q應(yīng)足夠大

14、),則每輪射擊成功率為:則每輪射擊成功率為: 模擬模型的計算機框圖如圖9-3所示。 模擬輪數(shù)Q定為1000,要求輸入火炮數(shù)目n,每門炮的命中率P;系統(tǒng)根據(jù)累計失敗的輪數(shù)F,可最終輸出每輪射擊的成功率S。 根據(jù)要求擊毀目標(biāo)的概率S,就可以用試算的方法求出滿足條件的n。顯然,可變因素P,n直接影響著系統(tǒng)的功能。 QFS1輸入n,P發(fā)射門數(shù)W=W+1是否命 中 ?輪數(shù)Q=Q+1模 擬 完?Q=1000輸出結(jié)果 結(jié)束 射完 W=n?累計失敗輪數(shù) F=F+1 W=0NYNYYN例例 2 蒙特卡羅(Monte Carlo)方法,又稱為統(tǒng)計試驗法。最早是由科學(xué)家馮諾依曼和烏拉姆在第二次世界大戰(zhàn)期間,從事原子

15、彈的研制,對中子的隨機擴散進行模擬而建立和發(fā)展起來的。由于蒙特卡羅法在基本原理上與某些賭博工具一樣,因此就用當(dāng)時世界著名的摩洛哥的賭城蒙特卡羅來命名了。蒙特卡羅法實際上就是在產(chǎn)生隨機數(shù)的基礎(chǔ)上,再現(xiàn)系統(tǒng)某種概率分布的試驗方法。 用蒙特卡羅法算一個定積分問題。如圖9-4,有一個正函數(shù)f (x) , x定義域為a,b,f (x)的上界為M,求積分 1. 的解在矩形面積(ba)M之內(nèi)。 badxxfy)(badxxf)(2. 向矩形 (ba)M內(nèi)均勻地投N個點,并統(tǒng)計出落入f(x)曲線與橫坐標(biāo)x軸所圍面積內(nèi)的點數(shù)n。則點數(shù)之比等于面積之比:MabdxxfNnba)()(f(x0)y0MMabNndx

16、xfba)()(y0 a x0 b x 圖9-4正函數(shù)f (x)3. 模擬過程。由計算機產(chǎn)生2個0,1之間的均勻隨機數(shù)R1,R2。令 x0 = a + (ba)R1,y0 = M R2 x0即為均勻落入a,b區(qū)間的隨機數(shù);y0則是均勻落入0,M區(qū)間的隨機數(shù),而這一對隨機數(shù)可作為均勻落入矩形 (ba)M內(nèi)的一個點(x0,y0)。如果y0f (x),則說明該點落入了積分區(qū)域內(nèi)。重復(fù)這一過程,并累計落入了積分區(qū)域內(nèi)的點數(shù),即可完成對定積分的計算機模擬。 9.3 隨機變量的產(chǎn)生方法隨機變量的產(chǎn)生方法9.3.1 均勻分布隨機數(shù)產(chǎn)生均勻分布隨機數(shù)產(chǎn)生Uniform Random Number Genera

17、tion 9.3.2 隨機變量的產(chǎn)生隨機變量的產(chǎn)生 the generation of r.v 在需要進行模擬的系統(tǒng)中,遇到的許多隨機變量往往并非均勻分布。例如,運輸系統(tǒng)中車輛的裝車時間和卸車時間往往服從正態(tài)分布和負指數(shù)分布。這時應(yīng)根據(jù)對實測數(shù)據(jù)的統(tǒng)計檢驗結(jié)果,確定采用某種已知的分布。 均勻分布隨機數(shù)是產(chǎn)生其它各種分布隨機變量的基礎(chǔ)。根據(jù)需要的不同,可采用以下幾種常用的隨機變量產(chǎn)生方法Transformation Method :逆變換法、舍選法、近似法和組合法。逆變換法、舍選法、近似法和組合法。1. 指數(shù)分布隨機數(shù)的產(chǎn)生 指數(shù)分布的概率密度函數(shù) 指數(shù)分布的分布函數(shù) 式中,是指數(shù)分布的參數(shù),均

18、值E(x) = 標(biāo)準(zhǔn)差(x) = 1/。 作逆變換:由 則 ,有 ,1R仍為0,1區(qū)間均勻分布隨機數(shù)??捎洖?,這就是指數(shù)分布隨機數(shù)的發(fā)生器。000)(xxexfxxxedttfxF01)()(,1xeRRex1)1ln(1RxRxln19.3.2.1 逆變換法逆變換法Inverse Transformation Method 逆變換法是一種常用方法。它適用于概率分布能用密度函數(shù)表達,易求積分得累積概率函數(shù)(分布函數(shù)):且又可對y = F(x)求反函數(shù) xdxxfxF0)()()(1yFx x = a + (ba) R1,并計算f(x); (3)檢驗是否符合下面的判別準(zhǔn)則: R2Mf (x)

19、= f a + (ba) R1其中M是f (x)的極大值。如果符合,則選x = a + (ba) R1為隨機變量的一個抽樣值。否則返回(1),重復(fù)這一過程。 9.3.2.2 舍選法舍選法Rejection 此法靈活,使用較方便,適用于分布函數(shù)F(x)形式太復(fù)雜,不易求得其反函數(shù),但其密度函數(shù)f(x)在有限區(qū)間有上界時。 具體作法如下:(1)產(chǎn)生2個偽隨機數(shù)R1,R2;(2)利用R1產(chǎn)生一個a,b區(qū)間的均勻隨機數(shù)xf(x)R2MM圖圖9-7 舍選法示意圖舍選法示意圖9.3.2.3 近似法近似法Approximation Method 這種方法一般用于分布函數(shù)較復(fù)雜,難于求出精確解的情況。例如,正

20、態(tài)分布的隨機變量可有多種近似抽樣方法,下面介紹其中應(yīng)用較廣的一種。 0 a x b x 根據(jù)中心極限定理,取0,1區(qū)間均勻隨機數(shù)R1,R2,Rn,可近似產(chǎn)生N(0,1)標(biāo)準(zhǔn)正態(tài)分布隨機變量u 式中,n取6,即可滿足一般精度上的要求。然后再做一線性變換 即可得到數(shù)學(xué)期望為,均方差為的正態(tài)分布隨機變量值x。9.3.2.4 組合法組合法Composition 它的基本思路是利用某些易得到的隨機變量,來組合一個需要的隨機變量值。例如,我們知道,兩個事件出現(xiàn)的時間間隔通常服從負指數(shù)分布,而在某一單位時間內(nèi),事件出現(xiàn)的次數(shù)是)2(121nRnuniiux服從泊松(Poisson)分布的。那末,就可以用若干

21、個負指數(shù)分布的隨機變量值來組合成一個泊松分布的隨機變量值。 下面通過一個設(shè)備維修的例子說明時間步長法模擬過程。問題是,一名維修工負責(zé)N臺設(shè)備的維修工作?,F(xiàn)在要求這N臺設(shè)備的平均利用率,以及增減看管的設(shè)備數(shù)后利用率的變化情況。 已知,通過每15分鐘一次的觀察,從統(tǒng)計資料得出各臺設(shè)備的故障概率設(shè)備的故障概率P為為0.1,每臺設(shè)備的維修時間如表9-2所示。4.1.2 時間步長法應(yīng)用舉例時間步長法應(yīng)用舉例9.4 模擬過程的控制方式模擬過程的控制方式 時間步長法,另一種事件步長法,它是以相鄰事件發(fā)生的時間間隔為增量,如果被考查的對象(實體)不只一個時,為了與實際相符,采用“最短時間事件步長法”。在對一個

22、系統(tǒng)的模擬中,也可能混合采用上述兩種方法。 9.4.1 時間步長法時間步長法9.4.1.1 時間步長法基本原理時間步長法基本原理 時間步長法又稱為等步長法,是采用相等的時間間隔控制模擬的時間進程。時間間隔稱為一個步長。 1. 初始狀態(tài)初始狀態(tài) 模擬開始,要對系統(tǒng)內(nèi)全部實體、活動、屬性預(yù)先設(shè)初值。 2. 模擬時鐘模擬時鐘 整個模擬過程由一個模擬時鐘來控制,每次推進一個步長,模擬時鐘記數(shù)器累計。當(dāng)模擬時鐘的當(dāng)前時刻等于預(yù)定的模擬總時間時,模擬便結(jié)束。 模擬步長的選擇主要依據(jù)具體問題所要求的模擬精度而定。為了控制每個實體的活動過程,對每個實體都要設(shè)一個子時鐘,用此來記錄和控制各實體的延續(xù)時間。模擬子

23、時鐘是實體的時間屬性。例如,對于車輛到達裝載點,就具有“到達時刻”、“等待時間”和“裝車時間”三個時間屬性。3. 實體或活動的順序考查實體或活動的順序考查 模擬時鐘每推進一個步長,要對整個系統(tǒng)的全部實體或活動進行一次掃描。對于每一類實體有一個對應(yīng)的處理子程序。當(dāng)被掃描到的實體不發(fā)生事件(活動不改變)時,則不需處理;若發(fā)生事件,則轉(zhuǎn)向該活動的子程序進行處理。在這種方式下,掃描是以實體為對象,活動是附屬于實體的。例如,對于一個礦石運輸系統(tǒng),被掃描的實體有電機車、礦倉、,在每一個步長中,將考查該實體工作狀態(tài)是否改變,并進行相應(yīng)的計算和處理等。4. 并發(fā)事件并發(fā)事件 在某一事件發(fā)生時,可能引發(fā)其它事件

24、的發(fā)生。這些并發(fā)事件也需要在當(dāng)前步長中加以處理,否則可能出現(xiàn)模擬結(jié)果與實際背離。例如,當(dāng)?shù)V倉已滿時,上方的運輸機或卸載車輛應(yīng)停止工作;礦倉放空時,下方的運輸應(yīng)停止。5. 改變系統(tǒng)狀態(tài)并確定下一事件改變系統(tǒng)狀態(tài)并確定下一事件 在當(dāng)前步長中,要對所有發(fā)生事件的實體改變其狀態(tài)及屬性值,并且要預(yù)測出下一個活動將延續(xù)的時間。6. 記錄和統(tǒng)計系統(tǒng)有關(guān)變化記錄和統(tǒng)計系統(tǒng)有關(guān)變化 模擬的目的就是要獲取有關(guān)系統(tǒng)的盡可能多的有用信息,以便于對系統(tǒng)進行深入的分析研究。在模擬的各個步驟中,記錄和統(tǒng)計計算有關(guān)數(shù)據(jù)是必不可少的。模擬完是定初始狀態(tài)實體順序考查 開始模擬鐘進一個步長處理該事件子程發(fā)生事件?處理并事件改系統(tǒng)狀

25、態(tài)定下一事件發(fā)生時間全部考查完?是否否是否 計算記錄系統(tǒng)變化輸出結(jié)果結(jié)束圖9-8時間步長法的模擬過程發(fā)生并發(fā)事件否是 維修時間,分 15 30 45 60 75 出現(xiàn)概率 0.3 0.2 0.2 0.1 0.2 系統(tǒng)中設(shè)備為主要實體,它的屬性有設(shè)備數(shù)、故障率、維修時間。模擬時要記錄設(shè)備的故障時刻、修復(fù)時刻和計算故障延續(xù)時間,這些都是設(shè)備的時間屬性;設(shè)備具有的三種不同的狀態(tài)為:工作狀態(tài)、待修狀態(tài)、修理狀態(tài)。維修工的屬性有修理設(shè)備時間,等待修理設(shè)備的數(shù)目和各自在隊列中的位置,以及忙和空閑兩種狀態(tài)。 4.1.2 時間步長法應(yīng)用舉例時間步長法應(yīng)用舉例 設(shè)備維修例子說明時間步長法模擬過程。一名維修工負責(zé)

26、N臺設(shè)備的維修工作。求這N臺設(shè)備的平均利用率,以及增減看管的設(shè)備數(shù)后利用率的變化情況。 已知,通過每15分鐘一次的觀察,得出各臺設(shè)備的故障概率設(shè)備的故障概率P為為0.1,每臺設(shè)備的維修時間如表9-2所示。 設(shè)備維修時間表 表9-2 系統(tǒng)考查指標(biāo)為設(shè)備的平均利用率。若在時間T內(nèi),各臺設(shè)備的故障總時間為F,則設(shè)備的平均利用率為1F/(NT)。 模擬開始時,以全部設(shè)備處于正常工作狀態(tài),修理工處于空閑狀態(tài)為系統(tǒng)的初始狀態(tài)。模擬步長取15分鐘,模擬的當(dāng)前時刻從零開始,模擬總時間T的確定與所要求的輸出精度有關(guān)。工作活動 待修活動 修理活動 工作活動 故障事件 修理事件 修復(fù)事件 圖9-9 事件與活動的關(guān)系

27、否是輸出結(jié)果結(jié)束確定初始狀態(tài)故障事件子程序 開始模擬時鐘步進15分鐘修理事件子程序修復(fù)事件子程序模擬完否?設(shè)備在工作?返回主程序I = N?RP?確定設(shè)備故障時刻是否否是I = 0產(chǎn)生隨機數(shù)R 進入故障子程序I = I + 1改變設(shè)備狀態(tài)等修設(shè)備數(shù)+1確定排隊位置否是 圖9-10 設(shè)備維修主程序框圖 圖9-11故障事件子程序框圖 模擬運行結(jié)果:當(dāng)取T = 9600分,負責(zé)設(shè)備臺數(shù)負責(zé)設(shè)備臺數(shù)N作為可控變量作為可控變量分別取2、3、4、5。運算結(jié)果見表9-3。如給出維修工的工資和設(shè)備利用率對應(yīng)的經(jīng)濟指標(biāo),就可綜合確定一名維修工負責(zé)看管設(shè)備的合理臺數(shù)了。 模擬運行結(jié)果表 表9-3設(shè)備臺數(shù) 2 3

28、4 5平 均 利 用率 0.762 0.716 0.616 0.568 9.4.2 事件步長法事件步長法等步長法 10 20 30 40 50 60事件步長法 e1 e2 e3 e4 時間 圖9-12 事件步長法與時間步長法比較 系統(tǒng)中某一個實體的一個活動結(jié)束,同時另一種活動開始,這二者變換的瞬間,我們稱之為發(fā)生了一個事件。系統(tǒng)的狀態(tài)也只有在事件點上才發(fā)生變化。在要進行模擬的系統(tǒng)中,可能同時遇到延續(xù)時間很長的活動,如以月、周、天為單位;以及延續(xù)時間很短的活動,如以小時、分、秒為單位。類似這種情況下采用等步長法(時間步長法)要保持模擬的精度,又要提高模擬的效率就比較困難。而這時采用事件步長法就比

29、較有利了。9.4.2.1 事件步長法基本原理事件步長法基本原理 事件步長法是以相鄰事件發(fā)生的時間間隔為模擬步長的。模擬時鐘的推進步長是不等的。當(dāng)被考查的實體只有一個時,模擬將按照事件發(fā)生的順序,不斷改變實體的狀態(tài)并進行相應(yīng)的統(tǒng)計計算,預(yù)測下一個事件發(fā)生的時間使模擬逐步推進。 當(dāng)被考查的對象不只一個時,就要從模擬時鐘賦予初始值當(dāng)被考查的對象不只一個時,就要從模擬時鐘賦予初始值開始,從需要處理的多個事件中,找出距系統(tǒng)的當(dāng)前時刻最近開始,從需要處理的多個事件中,找出距系統(tǒng)的當(dāng)前時刻最近的事件進行處理,即改變相應(yīng)的實體狀態(tài)并進行有關(guān)的統(tǒng)計等的事件進行處理,即改變相應(yīng)的實體狀態(tài)并進行有關(guān)的統(tǒng)計等,處理完

30、后,要預(yù)測下一個事件的發(fā)生時刻,以不斷推進模擬,處理完后,要預(yù)測下一個事件的發(fā)生時刻,以不斷推進模擬的進行。然后再從多個事件中找出新的最近事件進行處理,的進行。然后再從多個事件中找出新的最近事件進行處理,直至模擬時鐘結(jié)束。由于每次都是從距系統(tǒng)的當(dāng)前時刻間隔最短的事件先進行處理,因此又被稱為最短時間事件最短時間事件步長法步長法。 事件步長法與時間步長法相比較事件步長法與時間步長法相比較,在適用范圍、計算方法和效果上都有所不同。 首先,時間步長法可適用于任何系統(tǒng)時間步長法可適用于任何系統(tǒng),而事件步長法有一定程度的局限性。例如,當(dāng)系統(tǒng)中有的變量呈連續(xù)性變化系統(tǒng)中有的變量呈連續(xù)性變化時,就不適合用離散

31、事件來近似,因此就不能用事件步長法來構(gòu)造模擬模型。 另外另外,時間步長法雖然結(jié)構(gòu)簡單些,但是如果一段時間無事件發(fā)生,則在這段時間的計算和判斷顯得多余。事件步長法雖然要比較和判斷哪一個事件最早發(fā)生,但是避免了許多不必要的計算,效率較高。 最后最后,對于事件步長法,時間軸上的每一個事件點確切表示了一個活動的開始或結(jié)束時刻,不會產(chǎn)生誤差問題。而時間步長法即使步長取的很小,也有一個誤差問題。它的各步驟的基本思路如下。(1)初始狀態(tài)初始狀態(tài)。即對于所使用的模擬時鐘、記數(shù)器和狀態(tài)變量賦予初值。(2)找出最短時間的事件找出最短時間的事件。掃描系統(tǒng)中所有的事件,找出事件發(fā)生時刻距當(dāng)前時間最短的事件。對于同一時

32、刻上可能發(fā)生的若干個事件,應(yīng)安排好處理順序(3)模擬時鐘的步進模擬時鐘的步進。模擬時鐘是以相鄰兩個事件出現(xiàn)的間隔時間為步距順序步進的。(4)判斷事件的類別和子程序處理判斷事件的類別和子程序處理。對于找出的最短時間的事件,判斷是屬于哪一類事件后,便進入相應(yīng)的處理事件子程序進行有關(guān)的統(tǒng)計運算等處理。(5)并發(fā)事件并發(fā)事件。與時間步長法相同,在某一事件發(fā)生時,可能引發(fā)其它事件的發(fā)生。這些并發(fā)事件也必須在當(dāng)前步長中加以處理。(6)改變系統(tǒng)狀態(tài)并確定下一事件改變系統(tǒng)狀態(tài)并確定下一事件。與時間步長法相同,這使得模擬過程能動態(tài)地進行下去。(7)整理模擬數(shù)據(jù)整理模擬數(shù)據(jù)。與事件有關(guān)的數(shù)據(jù)是由事件子程序產(chǎn)生,而

33、數(shù)據(jù)、統(tǒng)計量的整理、計算和輸出結(jié)果格式化是由主程序完成的。(8)模擬結(jié)束模擬結(jié)束。在事件步長法中,每次步進后事件處理完,都要檢查模擬時鐘的當(dāng)前時刻是否已達到預(yù)定的模擬終結(jié)時間,以確定模擬是否已結(jié)束。 圖圖9-13 事件步長法模擬過程圖事件步長法模擬過程圖 開 始初始狀態(tài)找最短時間事件模 擬時鐘步進判斷事件類型 處理一類事件處理二類事件處理n類事件有并發(fā)事 件?處理并發(fā)事 件產(chǎn)生新事件收集所需數(shù)據(jù)是否模擬完?輸出結(jié)果結(jié)束 一類 二類 n類有無是否9.4.2.2 事件步長法應(yīng)用舉例事件步長法應(yīng)用舉例 一項土石方運輸工程,由1臺裝載機配合3輛自卸式汽車作業(yè)。已知下列有關(guān)參數(shù): 裝車時間服從均值為3分

34、鐘,標(biāo)準(zhǔn)差為0.5分的正態(tài)分布;重車運行時間服從均值為8分鐘,標(biāo)準(zhǔn)差為2分的正態(tài)分布;空車運行時間服從均值為6分鐘,標(biāo)準(zhǔn)差為1分的正態(tài)分布;卸車時間服從均值為3分的負指數(shù)分布。班作業(yè)時間為6小時。 為了求出合理的配車數(shù),要求模擬計算出班總裝車數(shù),裝載機和自卸式汽車的總的空閑時間。繪制求解該問題的程序框圖?,F(xiàn)對該問題分析如下,首先定義下列變量:i 模擬步序; j 汽車編號; Cj 第j號汽車下步所處狀態(tài); 等裝空車運行卸車重車運行裝載54321jCTji 第j號汽車在第i步模擬時下一個事件發(fā)生時刻; tji 第j號汽車在第i步模擬中的活動延續(xù)時間; k 發(fā)生最近事件的汽車號,k = jmin Tji 。設(shè)初始狀態(tài)為各輛汽車在裝載機工作點等裝。此時模擬步序i = 0,Cj = 5,j =1,2,3。這時可按車號(j)最小者先處理,即

溫馨提示

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

最新文檔

評論

0/150

提交評論