本科畢業(yè)設(shè)計(jì)案例-排隊(duì)系統(tǒng)_第1頁
本科畢業(yè)設(shè)計(jì)案例-排隊(duì)系統(tǒng)_第2頁
本科畢業(yè)設(shè)計(jì)案例-排隊(duì)系統(tǒng)_第3頁
本科畢業(yè)設(shè)計(jì)案例-排隊(duì)系統(tǒng)_第4頁
本科畢業(yè)設(shè)計(jì)案例-排隊(duì)系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要近年來,隨著我國鐵路事業(yè)的迅猛開展,鐵路的運(yùn)輸能力得到了大幅度提升。在客運(yùn)技術(shù)與速度提高的同時(shí),作為旅客體驗(yàn)鐵路效勞的一個(gè)必要環(huán)節(jié),售票環(huán)節(jié)的重要性也隨之提高。然而大型客運(yùn)站真實(shí)的售票過程極為復(fù)雜,旅客的行為受事件驅(qū)動(dòng),他們的狀態(tài)在一些不均勻的離散時(shí)刻發(fā)生改變且其變化的內(nèi)部機(jī)理非常復(fù)雜,離散時(shí)間點(diǎn)一般不能確定,這是典型的離散事件系統(tǒng),通常無法利用一般的數(shù)學(xué)方法進(jìn)行描述。我們通常采用離散事件系統(tǒng)仿真的方法來解決此類問題,它是解決此類問題的最有用處的方法之一。要對(duì)系統(tǒng)進(jìn)行仿真研究,首先就必須建立起系統(tǒng)的仿真模型。本文在閱讀大量文獻(xiàn)的根底上,簡(jiǎn)單介紹了離散事件系統(tǒng)的建模與仿真方法,并對(duì)北京西客站售票大廳建立離散事件系統(tǒng)仿真模型,對(duì)旅客售票過程進(jìn)行了優(yōu)化改善。關(guān)鍵詞:離散事件,系統(tǒng)仿真AbstractInrecentyears,withtherapiddevelopmentofChina'srailwaybusiness,railwaytransportcapacityhasbeenimprovedsignificantly.TheprocessofBuyaticketbecamemoreandmoreimportant,whilethetechnologyandspeedhadSubstantiallyImproved.ButtheprocessintherealworldissocomplexthatwecannotuseMathematicalmethodstostudyit.ThemostusefulwaytostudythiscaseistoSimulatetheDiscreteEventSystem.Simulationstudyofasystem,wemustfirstestablishasystemsimulationmodel.OnthebaseofstudyingalotofacademicarticlesthisthesissimplelyintroducedthediscreteeventsystemsmodelingandsimulationmethodsandestablishedthediscreteeventsystemsofBeijingWestRailwayStation.SimulatedandoptimizatedtheprocessofBuyaticketKEYWORDS:discreteevent,systemsimulation.TOC\o"1-4"\h\z\u1.概述41.1.售票效勞環(huán)節(jié)研究41.2.離散事件系統(tǒng)41.3.離散事件系統(tǒng)仿真研究現(xiàn)狀51.3.1.離散事件系統(tǒng)建模51.3.2.離散事件系統(tǒng)仿真51.3.3.離散事件系統(tǒng)仿真數(shù)據(jù)分析62.離散事件系統(tǒng)建模與仿真介紹62.1.根本概念62.1.1.實(shí)體〔Entity〕62.1.2.屬性〔Attribute〕72.1.3.狀態(tài)〔State〕72.1.4.事件(Event)72.1.5.活動(dòng)(Activity)72.1.6.進(jìn)程(Process)72.2.離散事件系統(tǒng)建模仿真研究的一般步驟82.3.系統(tǒng)建模82.3.1.確定仿真目的82.3.2.正確描述系統(tǒng)82.3.3.確定輸出函數(shù)92.4.確定仿真算法92.4.1.隨機(jī)數(shù)和隨機(jī)變量的生成92.4.1.1.隨機(jī)數(shù)的產(chǎn)生92.4.1.2.隨機(jī)變量的產(chǎn)生方法102.4.2.離散事件系統(tǒng)仿真策略102.4.2.1.事件調(diào)度法〔EventScheduling〕102.4.2.2.活動(dòng)掃描法〔ActivityScanning〕102.4.2.3.進(jìn)程交互法〔ProcessInteraction〕102.5.建立仿真模型112.5.1.仿真模型主要成分112.5.2.仿真程序流程管理122.5.2.1.對(duì)時(shí)間進(jìn)程的管理122.5.2.2.對(duì)同時(shí)事件的管理122.5.3.完成仿真模型132.6.仿真結(jié)果分析133.北京西站售票大廳離散事件系統(tǒng)建模仿真133.1.仿真目的133.1.1.得到不同時(shí)段合理效勞窗口數(shù)133.1.2.驗(yàn)證標(biāo)準(zhǔn)行人間隔能夠提高效勞效果133.1.3.優(yōu)化調(diào)度間隔143.2.西站售票大廳離散事件系統(tǒng)建模143.2.1.建模思路143.2.2.實(shí)體及其屬性、狀態(tài)、活動(dòng)和相互影響143.2.3.事件及其引發(fā)的狀態(tài)變化153.2.3.1.選隊(duì)事件153.2.3.2.旅客到達(dá)隊(duì)列163.2.3.3.開始效勞事件173.2.3.4.結(jié)束效勞事件173.2.3.5.換隊(duì)活動(dòng)173.2.3.6.調(diào)度活動(dòng)183.2.3.7.窗口開閉調(diào)度活動(dòng)193.2.3.8.AnyLogic平臺(tái)中的行人智能體203.3.確定仿真算法213.3.1.仿真中的隨機(jī)變量213.3.1.1.旅客到達(dá)數(shù)213.3.1.2.效勞時(shí)間233.3.1.3.行人間隔263.3.2.仿真策略273.4.仿真模型283.5.仿真結(jié)果分析333.5.1.不同時(shí)段合理窗口數(shù)333.5.2.標(biāo)準(zhǔn)行人間隔作用驗(yàn)證結(jié)果353.5.3.優(yōu)化調(diào)度間隔364.全文總結(jié)與展望374.1.全文總結(jié)374.2.展望:375.參考文獻(xiàn)376.致謝38概述售票效勞環(huán)節(jié)研究隨著國家對(duì)鐵路事業(yè)的投入越來越大,我國鐵路事業(yè)無論在技術(shù)與速度上都有了大幅度的提高。與此同時(shí)售票效勞環(huán)節(jié)作為旅客接受鐵路效勞的必要環(huán)節(jié),其重要性也隨之提高。如何提高該環(huán)節(jié)中旅客的滿意程度,成為車站管理者關(guān)注重點(diǎn)。而旅客在購票環(huán)節(jié)中等待、接受效勞,換隊(duì)等行為通常是發(fā)生在離散的時(shí)間點(diǎn)上的,因此旅客購票流程構(gòu)成了典型的離散事件系統(tǒng)。離散事件系統(tǒng)是一種廣泛存在于工程技術(shù)、軍事、經(jīng)濟(jì)、物流、計(jì)算機(jī)網(wǎng)絡(luò)等領(lǐng)域的常見系統(tǒng)。這些系統(tǒng)的狀態(tài)在一些不均勻的離散時(shí)間點(diǎn)上發(fā)生變化,而且其變化的內(nèi)部機(jī)制非常復(fù)雜,通常數(shù)學(xué)方法很難描述。國內(nèi)外通常采用離散事件系統(tǒng)仿真的方法進(jìn)行研究。它是研究這類系統(tǒng)最有用處的方法之一。離散事件系統(tǒng)所謂離散事件系統(tǒng)是指狀態(tài)只是在離散時(shí)間點(diǎn)上發(fā)生變化,而且這些離散的時(shí)間點(diǎn)一般是不確定的系統(tǒng)〔隨機(jī)的〕。如:訂票系統(tǒng)、庫存系統(tǒng)、加工制造系統(tǒng)、交通控制系統(tǒng)、計(jì)算機(jī)系統(tǒng)等。離散系統(tǒng)中狀態(tài)在時(shí)間上和空間上都是離散的。系統(tǒng)中各事件以某種順序或在某種條件下發(fā)生,并且大都屬于隨機(jī)性的,或由于隨機(jī)的輸入,或由于系統(tǒng)元素的屬性值作隨機(jī)變化。因此對(duì)這類系統(tǒng)的研究往往很十分困難。經(jīng)典的概率及數(shù)理統(tǒng)計(jì)理論、隨機(jī)過程理論雖然為研究這類系統(tǒng)提供了理論根底,并能對(duì)一些簡(jiǎn)單系統(tǒng)提供解析解,但對(duì)工程實(shí)際中的大量系統(tǒng),只能依靠離散事件系統(tǒng)仿真的方法來加以研究。離散事件系統(tǒng)仿真研究現(xiàn)狀國內(nèi)外對(duì)于離散事件系統(tǒng)仿真的研究主要集中在三個(gè)方面:離散事件系統(tǒng)的建模、離散事件系統(tǒng)仿真和離散事件系統(tǒng)仿真輸出數(shù)據(jù)的分析。離散事件系統(tǒng)建模離散事件系統(tǒng)建模是離散事件系統(tǒng)仿真研究的前提,一切研究都是建立在模型建立好的根底上,因此這一局部研究比擬成熟。20世紀(jì)自80年代初期,哈佛大學(xué)著名的學(xué)者何毓琦教授提出對(duì)離散事件動(dòng)態(tài)系統(tǒng)(DistributedEventDynamicSystem,DEDS)理論進(jìn)行研究以來,許多研究人員圍繞此問題在不同層次或使用不同數(shù)學(xué)工具進(jìn)行了描述,形成了許多完整的方法體系,出現(xiàn)了多種形式的DEDS模型設(shè)計(jì)方法。如:馬爾科夫鏈模型、時(shí)序邏輯模型等。另外離散事件系統(tǒng)模型有許多衍生的模型,其中應(yīng)用最廣的是耦合離散事件系統(tǒng)〔coupledDEVS〕和并行離散事件系統(tǒng)〔parallelDEVS〕。耦合離散事件系統(tǒng)模型特點(diǎn)是它可以描述多個(gè)組件耦合而形成的系統(tǒng)結(jié)構(gòu)。在耦合系統(tǒng)中根本組件間有著輸入與輸出的耦合關(guān)系。耦合事件將互相耦合的輸入輸出鏈接起來,通過耦合關(guān)系將各個(gè)子系統(tǒng)組成一個(gè)完整的離散事件系統(tǒng)。并行離散事件系統(tǒng)模型的特點(diǎn)是它允許多個(gè)組件同時(shí)處于活動(dòng)狀態(tài)并將輸出值發(fā)送到其他組件。并行離散事件系統(tǒng)的狀態(tài)遷移是由各子系統(tǒng)自發(fā)完成的,不需要選擇函數(shù)來順序選擇完成遷移的子系統(tǒng)。離散事件系統(tǒng)仿真建立好離散事件系統(tǒng)模型后,便可進(jìn)行模型仿真。離散事件系統(tǒng)模型仿真是指利用離散事件系統(tǒng)模型對(duì)真實(shí)或假想的系統(tǒng)進(jìn)行進(jìn)行動(dòng)態(tài)研究。它的理論依據(jù)是相似論,相似論的核心思想是將描述物理現(xiàn)象的微分方程進(jìn)行相似變換后,便能夠得到確定的無因次數(shù)群之間的關(guān)系式。也就是說只要物理?xiàng)l件相似,那么就能夠推演出不同輸入的結(jié)果。由于離散系統(tǒng)的狀態(tài)是由一些離散時(shí)間點(diǎn)上的事件而改變的,因此可以說離散系統(tǒng)仿真模型是由這些離散事件驅(qū)動(dòng)的。對(duì)于給定的離散事件系統(tǒng),可能發(fā)生的所有事件的集合應(yīng)該是明確的。系統(tǒng)依據(jù)所有事件應(yīng)發(fā)生的時(shí)間先后構(gòu)成一個(gè)序列。一個(gè)先后處理不同事件的通常不能顛倒的序列。仿真的關(guān)鍵就是確定這個(gè)事件發(fā)生的時(shí)間序列。有了這個(gè)序列,所有的離散事件才能按真實(shí)的結(jié)構(gòu)組織起來。而通過這個(gè)序列將所有離散事件組織起來,是離散事件系統(tǒng)建模的核心。因此離散系統(tǒng)仿真的研究主要集中在仿真程序流程管理〔即仿真調(diào)度〕上和事件組織方法上〔也稱為系統(tǒng)的仿真策略〕。經(jīng)典的仿真程序流程管理有:時(shí)間進(jìn)程管理、同時(shí)事件管理經(jīng)典的仿真策略有:事件調(diào)度法、活動(dòng)掃描法、進(jìn)程交互法離散事件系統(tǒng)仿真數(shù)據(jù)分析經(jīng)典的離散事件系統(tǒng)仿真假設(shè)可以獲得對(duì)于系統(tǒng)足夠詳細(xì)準(zhǔn)確的信息〔如輸入過程的參數(shù),系統(tǒng)中隨機(jī)變量的概率分布等〕來對(duì)實(shí)際的離散事件系統(tǒng)進(jìn)行準(zhǔn)確的描述、建模。但這在通常的建模仿真中是一個(gè)十分苛刻的要求。故對(duì)仿真系統(tǒng)所得出的數(shù)據(jù)進(jìn)行必要的分析,處理不準(zhǔn)確的信息,成為離散事件系統(tǒng)仿真的一個(gè)值得研究的問題。離散系統(tǒng)仿真的數(shù)據(jù)分析研究可以分為以下幾個(gè)層次,各層次逐步深入,難度也逐步增大:a.單系統(tǒng)仿真輸出分析。即針對(duì)某個(gè)實(shí)際問題,利用某種方法對(duì)模型輸出的仿真數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,以估測(cè)模型真實(shí)特性,分析系統(tǒng)性能。在此方面研究上,已經(jīng)有許多非常成熟的方法來分析輸出數(shù)據(jù)。這些方法的目的可以歸結(jié)為:對(duì)某個(gè)研究所關(guān)心的輸出變量進(jìn)行統(tǒng)計(jì)估計(jì),構(gòu)建出盡可能小的置信區(qū)間。b.多系統(tǒng)性能比擬多系統(tǒng)性能比擬是指從課題需要的多種不同方案中選出最正確的或可行的方案,以此對(duì)多個(gè)系統(tǒng)的性能進(jìn)行比擬。c.基于仿真的系統(tǒng)優(yōu)化多系統(tǒng)性能比擬是在已經(jīng)給定的一些系統(tǒng)中進(jìn)行選擇,而系統(tǒng)優(yōu)化那么是在一個(gè)模擬空間〔通常包含假設(shè)干參數(shù)和非參數(shù)維度〕中搜尋最優(yōu)系統(tǒng),需要結(jié)合一定的優(yōu)化算法進(jìn)行綜合研究。離散事件系統(tǒng)建模與仿真介紹根本概念首先要理解這方面理論的一些概念。實(shí)體〔Entity〕實(shí)體即構(gòu)成系統(tǒng)的各種成分,它們是系統(tǒng)邊界內(nèi)的對(duì)象。如:售票大廳中的旅客,馬路上的汽車,工廠中的機(jī)器,醫(yī)院里的醫(yī)生等。一般實(shí)體可以分為兩大類:臨時(shí)實(shí)體和永久實(shí)體。臨時(shí)實(shí)體是指只在系統(tǒng)中存在一定時(shí)間的實(shí)體。一般來說,這類實(shí)體是按一定規(guī)律從系統(tǒng)外部到達(dá)系統(tǒng),按一定流程通過系統(tǒng),接受系統(tǒng)中永存實(shí)體的作用,最終離開系統(tǒng)。如:旅客、汽車等。永久實(shí)體是指永久駐留在系統(tǒng)中的實(shí)體。它是系統(tǒng)對(duì)臨時(shí)實(shí)體產(chǎn)生功能的必要條件,作為系統(tǒng)活動(dòng)的資源而被占用。如機(jī)器、醫(yī)生等。臨時(shí)實(shí)體一般都是主動(dòng)產(chǎn)生活動(dòng),具有主動(dòng)性;而永久實(shí)體往往是被動(dòng)的,具有從動(dòng)性。在仿真中我們把屬性或活動(dòng)行為類似的實(shí)體歸結(jié)為一個(gè)類,建立模型時(shí),只需要描述類與類之間的關(guān)系即可。屬性〔Attribute〕屬性是對(duì)實(shí)體特征的描述,以此確定實(shí)體的一些性質(zhì)。在仿真中不需要將實(shí)際實(shí)體的所有屬性都描述出來,而只需要描述出與研究相關(guān)的屬性即可。如:汽車的速度、車型等狀態(tài)〔State〕狀態(tài)是指某一對(duì)象在某一時(shí)刻或時(shí)間段內(nèi),通過系統(tǒng)中其他對(duì)象屬性以及自身屬性的集合所得到的一種特征狀況劃分。它通過狀態(tài)變量來描述。如:在購票過程中,有顧客行走的狀態(tài),在隊(duì)列中等待的狀態(tài),接受效勞的狀態(tài)等。事件(Event)事件是指導(dǎo)致對(duì)象狀態(tài)變化的行為??梢哉J(rèn)為系統(tǒng)的運(yùn)行是由不同的事件來驅(qū)動(dòng)的。在仿真中事件是在一個(gè)時(shí)間點(diǎn)上發(fā)生完成。它不僅可以實(shí)現(xiàn)實(shí)體之間的同步,也可以到達(dá)實(shí)體間傳遞信息的目的。如:旅客判斷是否換隊(duì)這一事件,有可能會(huì)觸發(fā)旅客狀態(tài)由在隊(duì)列中等待狀態(tài)變?yōu)閾Q隊(duì)的行走狀態(tài)?;顒?dòng)(Activity)活動(dòng)是指實(shí)體在兩個(gè)事件間保持一個(gè)狀態(tài)的持續(xù)過程。它的開始和結(jié)束均有事件引起。如:旅客結(jié)束效勞事件與到達(dá)系統(tǒng)出口事件之間的行走狀態(tài)的持續(xù)過程。進(jìn)程(Process)進(jìn)程是由與某個(gè)實(shí)體相關(guān)的假設(shè)干事件與活動(dòng)組成的一個(gè)完整的過程。它包括事件與活動(dòng)間的相互邏輯與時(shí)序關(guān)系。離散事件系統(tǒng)建模仿真研究的一般步驟離散事件系統(tǒng)的建模仿真是一個(gè)復(fù)雜、龐大的工作,因此需要按照科學(xué)的工作步驟來完成這項(xiàng)工作,每局部工作都要到達(dá)各自的指標(biāo),這樣不僅可以提高工作效率,同時(shí)也能保證仿真研究工作的總體質(zhì)量。一般仿真模型科學(xué)的工作步驟是a.系統(tǒng)建模系統(tǒng)模型一般用流程圖或網(wǎng)絡(luò)圖的方式來描述。反映了臨時(shí)實(shí)體在系統(tǒng)內(nèi)部歷經(jīng)的過程、永久實(shí)體對(duì)臨時(shí)實(shí)體的作用以及它們之間的邏輯關(guān)系。b.確定仿真算法要確定兩方面內(nèi)容,一是如何產(chǎn)生所需求的隨機(jī)變量;二是采用怎樣的方法進(jìn)行仿真,即仿真策略。c.建立仿真模型根據(jù)已經(jīng)確定的仿真算法,對(duì)變量進(jìn)行定義,確定詳細(xì)流程圖,完成仿真程序?qū)崿F(xiàn)。d.仿真結(jié)果分析離散事件系統(tǒng)具有固有的隨機(jī)性,因此要屢次運(yùn)行模型得到仿真結(jié)果,采用一定方法對(duì)結(jié)果進(jìn)行分析,才能得到較為科學(xué)的結(jié)論。系統(tǒng)建模仿真研究的首要工作就是對(duì)離散事件系統(tǒng)進(jìn)行建模,在建模過程中我們也要遵循科學(xué)的建模步驟一般的離散事件系統(tǒng)模型的建立由以下四個(gè)步驟組成確定仿真目的建立模型首先要做的工作就是確定系統(tǒng)仿真的目的。根據(jù)仿真目的的不同,通過不同的方法,建立不同種類的模型。唯有這樣才能滿足之后仿真及仿真結(jié)果分析的需要。正確描述系統(tǒng)描述系統(tǒng)又可分為3個(gè)步驟:a.確定系統(tǒng)組成的成分。即離散事件系統(tǒng)中的實(shí)體??梢苑譃閮纱箢悾褐鲃?dòng)成分:所謂主動(dòng)成分,即可以主動(dòng)產(chǎn)生活動(dòng)的成分,如售票系統(tǒng)中的旅客,他在到達(dá)后會(huì)產(chǎn)生排隊(duì)、換隊(duì)、效勞等活動(dòng)。被動(dòng)成分:所謂被動(dòng)成分,即本身不能激發(fā)主動(dòng)活動(dòng)的成分,只有在主動(dòng)成分作用下才能產(chǎn)生狀態(tài)的變化。例如:在北京西站售票大廳離散事件系統(tǒng)中,實(shí)體就旅客,窗口的效勞人員以及咨詢臺(tái)的調(diào)度人員等。這些實(shí)體狀態(tài)的改變往往發(fā)生在某些離散時(shí)間點(diǎn)上,而實(shí)體的行為往往符合隨機(jī)分布。b.確定描述變量和參數(shù):所謂描述變量是指系統(tǒng)中各個(gè)實(shí)體的屬性。主要種類有:實(shí)體的內(nèi)部變量、外部變量。實(shí)體通過外邊變量的輸入,內(nèi)部變量的輸出來到達(dá)實(shí)體與外部環(huán)境的相互影響。而除輸入、輸出變量外,其余的均是主動(dòng)成分或被動(dòng)成分的狀態(tài)變量。c.建立實(shí)體的變量間的相互關(guān)系:兩個(gè)變量間的相互關(guān)系是指這兩個(gè)變量如何相互影響、相互聯(lián)系、相互作用的。建立起這種關(guān)系后兩變量間便形成了一種有方向的或形成回路的相關(guān)鏈。這種相關(guān)鏈如果在實(shí)體內(nèi)部,那么它就描述了實(shí)體中由輸入變量到輸出變量的轉(zhuǎn)換;如果這種相關(guān)鏈在實(shí)體外部,鏈接了兩個(gè)實(shí)體,那么它就描述出兩個(gè)實(shí)體間的相互關(guān)系、相互影響的行為。而當(dāng)系統(tǒng)中各個(gè)實(shí)體間存在的相互關(guān)系都建立好后,便能夠描述出一個(gè)或多個(gè)覆蓋了整個(gè)系統(tǒng)的相關(guān)聯(lián)系網(wǎng)。通過聯(lián)系網(wǎng),每個(gè)實(shí)體就能完成與系統(tǒng)的相互聯(lián)系、相互影響。這種相關(guān)鏈大局部反映在各成分的活動(dòng)中,而所有活動(dòng)又是由事件所引發(fā),因此弄清事件、活動(dòng)的關(guān)系對(duì)于正確描述系統(tǒng)這一步驟來說,極為重要。確定輸出函數(shù)這一步要做的工作就是確定仿真模型運(yùn)行后所得到的結(jié)果,以及怎樣能夠得到這些結(jié)果。確定仿真算法隨機(jī)數(shù)和隨機(jī)變量的生成隨機(jī)數(shù)的產(chǎn)生由于客觀世界具有隨機(jī)性,因此我們的系統(tǒng)仿真也需要有其隨機(jī)性,我們獲得隨機(jī)性的方法是產(chǎn)生一個(gè)隨機(jī)數(shù),將此隨機(jī)數(shù)作為模型中一些算法的輸入?yún)?shù)。隨機(jī)數(shù)不同導(dǎo)致模型得到結(jié)果也不同,以此來實(shí)現(xiàn)模型的隨機(jī)性。產(chǎn)生隨機(jī)數(shù)的方法有很多,這些方法被稱為是隨機(jī)數(shù)發(fā)生器。隨機(jī)數(shù)發(fā)生器按照隨機(jī)數(shù)得到方法又可分為物理性隨機(jī)數(shù)發(fā)生器和偽隨機(jī)數(shù)發(fā)生器。a.物理性隨機(jī)數(shù)發(fā)生器是利用物理現(xiàn)象產(chǎn)生隨機(jī)數(shù),如:擲骰子、使用電子元件的噪音、核裂變現(xiàn)象等。這些發(fā)生器產(chǎn)生的是真正的隨機(jī)數(shù),然而它們的缺點(diǎn)是技術(shù)要求比擬高。b.偽隨機(jī)數(shù)發(fā)生器是利用一些使用者不知道的、固定的、用重復(fù)計(jì)算的計(jì)算方法計(jì)算出來隨機(jī)數(shù)的發(fā)生器。他們產(chǎn)生的數(shù)列看似是隨機(jī)數(shù),其實(shí)是可以推算出來的,因此他們不是真的隨機(jī)數(shù),稱為偽隨機(jī)數(shù)。隨機(jī)變量的產(chǎn)生方法在仿真模型中光有隨機(jī)數(shù)依然不能實(shí)現(xiàn)仿真中實(shí)體行為的隨機(jī)。因此我們需要有一個(gè)能夠描述實(shí)體行為隨機(jī)性的規(guī)那么,通常這種規(guī)那么是一個(gè)概率分布。例如:我們想仿真出工廠的流水線,那么我們就需要知道工廠流水線中各個(gè)工位的加工時(shí)間的概率分布,將其輸入計(jì)算機(jī),計(jì)算時(shí)機(jī)產(chǎn)生一個(gè)有N個(gè)數(shù)的數(shù)組,該數(shù)組的每個(gè)元素的數(shù)值嚴(yán)格符合概率分布。之后從數(shù)組中抽取一個(gè)數(shù)作為該工位加工時(shí)間,抽取的這個(gè)數(shù)在數(shù)組中的編號(hào)有隨機(jī)數(shù)確定。離散事件系統(tǒng)仿真策略所謂離散事件系統(tǒng)仿真策略即組織離散事件的方法。它與程序流程管理不同,流程管理是對(duì)時(shí)鐘推進(jìn)的管理方法;而仿真策略是仿真模型怎樣描述真實(shí)系統(tǒng)進(jìn)而得到事件邏輯序列表的方法。典型的處理方法有三種,分別是事件調(diào)度法、活動(dòng)掃描法、進(jìn)程交互法。事件調(diào)度法〔EventScheduling〕事件調(diào)度法根本思想是以事件的觀點(diǎn)來分析真實(shí)系統(tǒng)。以定義事件和其引起的系統(tǒng)狀態(tài)量的變化的方法,來按時(shí)間順序確定并執(zhí)行不同事件發(fā)生的邏輯關(guān)系,進(jìn)而得到事件邏輯序列表。該策略是一種事件發(fā)生已經(jīng)固定下來的策略,必須預(yù)先設(shè)定下初始事件。它對(duì)于確定性較強(qiáng)〔符合某種分布的隨即變量〕的離散事件系統(tǒng)仿真較為方便?;顒?dòng)掃描法〔ActivityScanning〕當(dāng)事件的發(fā)生不僅與時(shí)間有關(guān)還與一些其他條件有關(guān)時(shí),事件調(diào)度法就策略就不好使用了,因?yàn)槲覀儫o法預(yù)定每個(gè)事件的開始和終止時(shí)間,也就不能推演出事件發(fā)生的序列表。這時(shí)我們可以采用活動(dòng)掃描法。它的根本思想是:以活動(dòng)的觀點(diǎn)建立模型。系統(tǒng)中實(shí)體的活動(dòng)是否會(huì)發(fā)生是依據(jù)它是否滿足規(guī)定的條件而定。假設(shè)條件滿足就激活活動(dòng)模塊。而是否去判斷這些活動(dòng)的條件是根據(jù)當(dāng)前系統(tǒng)時(shí)間是否等于時(shí)間控制模塊中每個(gè)活動(dòng)發(fā)生時(shí)間而定。進(jìn)程交互法〔ProcessInteraction〕進(jìn)程交互法是一種綜合了事件調(diào)度法和活動(dòng)掃描法的仿真策略。它將模型的主動(dòng)成分通過系統(tǒng)過程中所發(fā)生的事件和活動(dòng)以時(shí)間順序組合,從而形成進(jìn)程表。一個(gè)程序調(diào)用了進(jìn)程,只要滿足條件,它將完成該進(jìn)程的全部活動(dòng)。這種策略采用兩張事件表,當(dāng)前事件表CEL〔CurrentEventsList〕和將來事件表〔FEL:FutureEventsList〕。在模型仿真運(yùn)行前CEL為空,F(xiàn)EL是將來不同時(shí)刻發(fā)生事件的事件表。仿真運(yùn)行開始后依據(jù)FEL中進(jìn)程開始時(shí)間逐個(gè)將進(jìn)程調(diào)入到CEL中去,在CEL中都是被調(diào)入的進(jìn)程所包括的所有有資格執(zhí)行的事件的記錄,但事件是否會(huì)發(fā)生還不能確定,要依據(jù)仿真系統(tǒng)當(dāng)時(shí)的狀態(tài)變量而定。直到FEL中所有進(jìn)程被調(diào)用到CEL,CEL中所有進(jìn)程執(zhí)行完畢,仿真才結(jié)束。建立仿真模型建立好系統(tǒng)模型別確定了仿真策略后我們就可以開始建立仿真模型了。仿真模型與系統(tǒng)模型不同。系統(tǒng)模型只需要用邏輯語言或流程圖將現(xiàn)實(shí)情況描述出來,然而仿真模型是以計(jì)算機(jī)的語言來模擬實(shí)際情況的程序。仿真模型建立好以后一定能要在計(jì)算機(jī)上運(yùn)行,并且模型中參加實(shí)驗(yàn)設(shè)計(jì)的成分。仿真模型主要成分首先,我們要先了解仿真模型中包含成分都有哪些,一般的仿真模型程序所包含的主要成分有:a.系統(tǒng)仿真鐘:用來記錄系統(tǒng)仿真時(shí)間的當(dāng)前值。b.系統(tǒng)變量:記錄系統(tǒng)在不同時(shí)刻的狀態(tài)的變量。c.統(tǒng)計(jì)計(jì)數(shù)器:用來記錄仿真系統(tǒng)一些實(shí)時(shí)性能的統(tǒng)計(jì)信息,已到達(dá)關(guān)聯(lián)系統(tǒng)不同時(shí)刻狀態(tài)的目的。d.初始化子程序:用來在仿真開始前對(duì)系統(tǒng)進(jìn)行初始化e.時(shí)鐘推進(jìn)子程序:即將仿真時(shí)鐘推進(jìn)到下一個(gè)仿真時(shí)間點(diǎn)的子程序。根據(jù)不同的仿真策略,有不同的時(shí)鐘推進(jìn)方式。f.事件邏輯序列表:以實(shí)際系統(tǒng)中發(fā)生事件的時(shí)序關(guān)系為模版,根據(jù)不同的仿真策略,以不同方式描述出仿真系統(tǒng)中各個(gè)事件的組織情況。它是系統(tǒng)事件控制的核心。g.事件表:以仿真中事件發(fā)生的順序,記錄仿真中將會(huì)發(fā)生的事件。h.調(diào)度子程序:以事件邏輯序列表中事件發(fā)生的邏輯條件為根底,根據(jù)當(dāng)前系統(tǒng)中狀態(tài),調(diào)度不同事件插入到事件表。i.事件子程序:每一個(gè)事件都會(huì)有一個(gè)事件子程序與之對(duì)應(yīng)。通過子程序的處理、輸出來描述該事件。來到達(dá)更新系統(tǒng)、實(shí)體狀態(tài)和參數(shù)的作用。j.統(tǒng)計(jì)報(bào)告子程序:用于記錄仿真模型的輸出數(shù)據(jù)k.隨機(jī)數(shù)產(chǎn)生子程序:用以產(chǎn)生隨機(jī)數(shù)的子程序。這些隨即數(shù)滿足輸入的數(shù)據(jù)分布。l.主程序:用于將上述程序集合起來完成系統(tǒng)仿真的總體控制。仿真程序流程管理確定了仿真程序中所包含的主要成分后我們還要確定仿真程序流程管理。所謂仿真程序流程管理〔即仿真事件的調(diào)度〕是仿真建模的核心,他通過事件序列表和調(diào)度子程序來實(shí)現(xiàn)。調(diào)度管理方式包括對(duì)時(shí)間進(jìn)程管理的方式和對(duì)同時(shí)事件管理方式。對(duì)時(shí)間進(jìn)程的管理時(shí)間進(jìn)程的管理主要是對(duì)于仿真時(shí)鐘推進(jìn)方式的管理。所謂仿真時(shí)鐘是指能夠描述真實(shí)系統(tǒng)中事件發(fā)生的時(shí)間的時(shí)鐘,它與計(jì)算機(jī)運(yùn)行仿真模型的時(shí)間沒有關(guān)系。在離散事件系統(tǒng)仿真中,典型的仿真時(shí)鐘推進(jìn)方式有兩種:a.面向時(shí)間間隔的時(shí)鐘推進(jìn)方式。這種推進(jìn)方式指仿真時(shí)鐘以足夠小的時(shí)間間隔等距推進(jìn)。每個(gè)時(shí)間間隔以后都會(huì)掃描所有活動(dòng)完成時(shí)刻,來檢查這個(gè)間隔中是否有事件的發(fā)生,從而引起系統(tǒng)狀態(tài)變量的改變。時(shí)間間隔選擇的要求是每個(gè)時(shí)間間隔中根本上不會(huì)出現(xiàn)兩個(gè)或兩個(gè)以上的離散事件。這種管理方式的優(yōu)點(diǎn)是當(dāng)仿真事件較多或事件的變化具有周期性時(shí),計(jì)算機(jī)運(yùn)行仿真的速度較快。b.面向事件的時(shí)鐘推進(jìn)方式。這種推進(jìn)方式是指仿真時(shí)鐘按照事件表中將要的子事件的時(shí)刻,進(jìn)行間隔不同的推進(jìn)。時(shí)鐘的時(shí)間由此事件發(fā)生點(diǎn)直接跳躍到下一個(gè)事件的發(fā)生點(diǎn)。沒當(dāng)開始一個(gè)事件,系統(tǒng)便會(huì)計(jì)算出事件對(duì)應(yīng)的相關(guān)活動(dòng),來計(jì)算出該事件在未來將會(huì)觸發(fā)的所有事件的發(fā)生時(shí)刻,經(jīng)過一系列活動(dòng)處理后,得到一個(gè)發(fā)生事件的事件時(shí)間順序表,按照該表把仿真時(shí)鐘推進(jìn)到觸發(fā)下一個(gè)事件的時(shí)間,以觸發(fā)下一個(gè)事件。再對(duì)這個(gè)觸發(fā)的新事件進(jìn)行活動(dòng)處理,進(jìn)而修改事件時(shí)間順序表。如此往復(fù)直到仿真結(jié)束為止。這種管理方式在事件較少、兩事件間隔較長(zhǎng)時(shí)比擬適合采用。對(duì)同時(shí)事件的管理同時(shí)事件管理是指在同一時(shí)間點(diǎn)上發(fā)生了多個(gè)事件時(shí),程序?qū)τ谶@多個(gè)事件的處理方法。同時(shí)事件管理按管理事件類型的相同與否,可以分為兩方面內(nèi)容:a.同類同時(shí)事件管理。當(dāng)同時(shí)發(fā)生的事件隸屬于同一類型的事件時(shí),屬于同類同時(shí)事件管理。我們預(yù)先定制好事件規(guī)那么,使同類事件發(fā)生時(shí)其狀態(tài)變量為以固定值。例如:本文課題的仿真模型在被調(diào)度時(shí)間點(diǎn)時(shí),所有接受被調(diào)度信息的旅客都會(huì)觸發(fā)調(diào)度事件,都會(huì)以相同的調(diào)度規(guī)那么進(jìn)行判斷,符合調(diào)度規(guī)那么的所有旅客的狀態(tài)都會(huì)由等待狀態(tài)變?yōu)樾凶郀顟B(tài)。b.混合同時(shí)事件管理。當(dāng)同時(shí)發(fā)生的事件不屬于同一類型的事件時(shí),屬于混合同時(shí)事件管理。通常有一步法采用或解結(jié)法。所謂一步法是指,一步直接形成混合事件發(fā)生后的系統(tǒng)狀態(tài)。所謂解結(jié)法是指將幾個(gè)同時(shí)發(fā)生的事件分成多個(gè)單獨(dú)事件,按照一個(gè)事件的邏輯序列對(duì)事件進(jìn)行處理。通常一步法在構(gòu)建程序時(shí)比擬困難,管理起來也較為復(fù)雜,而解結(jié)法構(gòu)建的模型結(jié)構(gòu)較簡(jiǎn)單。完成仿真模型在完成了上述兩步的工作以后,我們就可以真正的進(jìn)行仿真建模了。這局部的主要工作可以概括為將系統(tǒng)模型中所描述的一些問題,用計(jì)算機(jī)語言表達(dá)出來。這是仿真模型建立的主要局部,依據(jù)不同課題的離散事件系統(tǒng)模型不同其情況也大不相同。仿真結(jié)果分析結(jié)果分析局部的工作需要依據(jù)不同仿真模型具體情況,確定具體分析方法,沒有通用性,因此在此不作過多闡述。北京西站售票大廳離散事件系統(tǒng)建模仿真了解了離散事件系統(tǒng)仿真研究的一般步驟后,我們針對(duì)北京西站售票大廳這一離散事件系統(tǒng)進(jìn)行仿真研究。仿真目的首先確立仿真研究目的:得到不同時(shí)段合理效勞窗口數(shù)開啟窗口的個(gè)數(shù)永遠(yuǎn)是效勞系統(tǒng)最為關(guān)心的問題。開啟過多浪費(fèi)資源,開啟過少又不能即使?jié)M足顧客需要。基于這個(gè)問題,我們?cè)谀P椭袇⒓哟翱趧?dòng)態(tài)開閉模塊,當(dāng)模型中隊(duì)列人數(shù)狀態(tài)的均值小于某值時(shí),那么關(guān)閉假設(shè)干窗口,每次關(guān)閉窗口數(shù)不能多于3個(gè)。當(dāng)當(dāng)模型中隊(duì)列人數(shù)狀態(tài)的均值大于某值時(shí),那么開啟假設(shè)干窗口,開啟窗口數(shù)為能夠滿足旅客需要的窗口數(shù),但次開啟數(shù)有上限。這樣通過仿真模型的運(yùn)行我們就能得到一個(gè)合理的針對(duì)不同時(shí)段的開啟窗口數(shù)。驗(yàn)證標(biāo)準(zhǔn)行人間隔能夠提高效勞效果在實(shí)地調(diào)研中我們發(fā)現(xiàn),隊(duì)長(zhǎng)超過5后,旅客依據(jù)隊(duì)列長(zhǎng)度進(jìn)行選隊(duì),然而這種選隊(duì)方式并不能使旅客挑選出能夠最快買到票對(duì)隊(duì)列〔我們先假定效勞時(shí)間根本相同〕。所以我們想到如果標(biāo)準(zhǔn)行人間隔是否能夠顯著減少那些旅客不該多等的時(shí)間,進(jìn)而提高總體效勞效果。我們通過比照標(biāo)準(zhǔn)行人間隔前和標(biāo)準(zhǔn)行人間隔后旅客等待時(shí)間的方差,來得出結(jié)論。優(yōu)化調(diào)度間隔由于咨詢?nèi)藛T還需要進(jìn)行咨詢工作,一次調(diào)度間隔不能太短,但假設(shè)調(diào)度間隔過長(zhǎng)又會(huì)使左右兩廳隊(duì)列中人數(shù)差異較大。故需要用科學(xué)的方法選出適宜的調(diào)度間隔。什么是適宜的調(diào)度間隔呢?他需要滿足兩個(gè)條件:每次調(diào)度觀察行為后根本都發(fā)生調(diào)度在條件1符合的情況下調(diào)度間隔盡可能的小。滿足了這兩個(gè)條件我們就得到了最正確的調(diào)度間隔。西站售票大廳離散事件系統(tǒng)建模在大量的實(shí)地調(diào)研工作根底上,我們將西站售票大廳系統(tǒng)內(nèi)各個(gè)實(shí)體的內(nèi)在聯(lián)系抽象出來,建立起系統(tǒng)模型建模思路1.確定系統(tǒng)中的實(shí)體及其屬性2.分析各種實(shí)體的狀態(tài)和活動(dòng),及其相互間的影響。3.確定引起實(shí)體狀態(tài)變化的事件。4.分析各種事件發(fā)生時(shí),實(shí)體狀態(tài)的變化規(guī)律5.在一定的效勞流程下,分析與隊(duì)列實(shí)體有關(guān)的特殊操作〔如換隊(duì)等〕6.以臨時(shí)實(shí)體的流動(dòng)為主線,畫出仿真系統(tǒng)實(shí)體流程圖7.給出模型參數(shù)的取值、參變量的計(jì)算方法及屬性描述變量的取值方法。8.給出隊(duì)列的排隊(duì)規(guī)那么。實(shí)體及其屬性、狀態(tài)、活動(dòng)和相互影響建立離散系統(tǒng)模型的系統(tǒng)中的臨時(shí)實(shí)體有:進(jìn)入大廳的旅客、〔我們把隊(duì)列看作為一種特殊的實(shí)體〕各窗口前的隊(duì)列。永久實(shí)體有:窗口內(nèi)的效勞人員,效勞臺(tái)的調(diào)度人員,窗口開閉調(diào)度〔由模型的程序控制〕。其中旅客、咨詢臺(tái)調(diào)度人員〔由于系統(tǒng)中由咨詢臺(tái)效勞人員執(zhí)行兩個(gè)大廳之間調(diào)度活動(dòng)〕,售票大廳建筑實(shí)體。窗口開閉調(diào)度屬于主動(dòng)成分,窗口內(nèi)效勞人員屬于被動(dòng)成分。我們把相似的實(shí)體歸為一類,分析他們的屬性、狀態(tài)、活動(dòng)、以及相互影響。a.旅客類實(shí)體:旅客類實(shí)體所具有的屬性:到達(dá)人數(shù)時(shí)間,速度屬性,所在位置,所屬隊(duì)列,隊(duì)列中所屬位置,換隊(duì)視野,選隊(duì)所屬類型。狀態(tài):行走狀態(tài),等待狀態(tài),接受效勞狀態(tài)?;顒?dòng):旅客行走,隊(duì)列中等待,換隊(duì),被調(diào)度,買票。對(duì)其他實(shí)體的影響有:影響隊(duì)列狀態(tài),影響窗口效勞人員狀態(tài)。b.隊(duì)列類實(shí)體:屬性:行人間隔大小分布,隊(duì)列編號(hào)狀態(tài):隊(duì)列人數(shù)、隊(duì)列長(zhǎng)度對(duì)其他實(shí)體的影響:影響旅客選隊(duì)活動(dòng),影響調(diào)度人員調(diào)度活動(dòng),影響窗口開閉調(diào)度人員活動(dòng)。c.窗口內(nèi)效勞人員屬性:效勞速度。狀態(tài):繁忙,空閑,停止效勞。活動(dòng):售票活動(dòng)。對(duì)其他實(shí)體的影響:影響旅客買票活動(dòng),旅客買票狀態(tài)。d.效勞臺(tái)調(diào)度人員:屬性:調(diào)度規(guī)那么參數(shù)。狀態(tài):咨詢狀態(tài),調(diào)度狀態(tài)。對(duì)其他實(shí)體的影響:影響旅客狀態(tài)。e.窗口開閉調(diào)度人員屬性:窗口開閉規(guī)那么參數(shù)。狀態(tài):開啟窗口狀態(tài),關(guān)閉窗口狀態(tài),閑置狀態(tài)。對(duì)其他實(shí)體影響:影響窗口效勞人員狀態(tài)。f.建筑實(shí)體屬性:實(shí)體的位置和形狀對(duì)其他實(shí)體影響:影響旅客實(shí)體行走狀態(tài)事件及其引發(fā)的狀態(tài)變化選隊(duì)事件選對(duì)事件是為了描述顧客進(jìn)入大廳后,選擇所排隊(duì)列的行為。在實(shí)際調(diào)研中我們發(fā)現(xiàn),當(dāng)隊(duì)列中人數(shù)少于6人時(shí),行人能夠依據(jù)隊(duì)列中人數(shù)最少的原那么進(jìn)行選隊(duì);但當(dāng)隊(duì)列中人數(shù)大于6時(shí),行人多是依靠隊(duì)列中最后一人的位置最靠近窗口來選擇所排隊(duì)列。而北京西站售票大廳分為左右兩廳,兩廳均有入口。兩廳間不能互相觀察到隊(duì)列狀態(tài)情況。旅客通常只會(huì)在所在的大廳進(jìn)行選對(duì)。因此我們?cè)诖_定選隊(duì)事件規(guī)那么時(shí),需要對(duì)隊(duì)列人數(shù)和旅客所在大廳進(jìn)行分類討論。旅客進(jìn)入大廳入口后即觸發(fā)選隊(duì)事件。首先要確定的是其所選隊(duì)列所屬的大廳,我們將旅客分為兩種。一種是全大廳選隊(duì)的旅客,其所選隊(duì)列總體是大廳中全部隊(duì)列;另一種是單側(cè)選隊(duì),旅客只將自己所在大廳中的隊(duì)列作為選隊(duì)總體。之后旅客依據(jù)各自的選隊(duì)總體進(jìn)行選隊(duì),假設(shè)隊(duì)列人數(shù)小于5,那么行人會(huì)選擇隊(duì)列人數(shù)狀態(tài)值最小的隊(duì)列進(jìn)行排隊(duì)。隊(duì)列人數(shù)狀態(tài)值等于指隊(duì)列中人數(shù),沒有人那么狀態(tài)值為0。倘假設(shè)隊(duì)列人數(shù)大于5,那么行人會(huì)選擇隊(duì)列長(zhǎng)度狀態(tài)值最小的隊(duì)列進(jìn)行排隊(duì)。所謂隊(duì)列長(zhǎng)度狀態(tài)值是描述隊(duì)列中最后一人所在位置的值。它等于n個(gè)從旅客間隔分布中抽取的數(shù)值的和,n為隊(duì)列人數(shù)狀態(tài)值。選隊(duì)事件觸發(fā)后行人選定自己所歸屬的隊(duì)列,所屬隊(duì)列屬性值變?yōu)樗x隊(duì)列值,其狀態(tài)變?yōu)樾凶郀顟B(tài),賦予其期望速度值,并朝所選隊(duì)列行走。在行走狀態(tài)中旅客所在位置和速度隨仿真時(shí)鐘和系統(tǒng)中其他實(shí)體的變化而變化.行走活動(dòng)流程圖如圖1所示加速加速到達(dá)期望速度NoYes減速是否將到達(dá)目的地速度為零YesNoNoYes圖1旅客行走活動(dòng)流程圖旅客到達(dá)隊(duì)列本文課題模型的排隊(duì)規(guī)那么是先到先效勞旅客到達(dá)所選隊(duì)列后,隊(duì)列狀態(tài)改變〔隊(duì)列長(zhǎng)度、人數(shù)改變〕;旅客所在位置屬性值=該隊(duì)列隊(duì)長(zhǎng)狀態(tài)值;隊(duì)列所屬位置屬性值=隊(duì)列人數(shù)狀態(tài)值+1;開始效勞事件旅客效勞原那么是先到先效勞,即隊(duì)列中第一個(gè)人先接受效勞。當(dāng)行人所屬位置屬性值為1且隊(duì)列對(duì)應(yīng)窗口效勞人員的狀態(tài)為空閑時(shí)那么觸發(fā)開始效勞事件。旅客觸發(fā)效勞事件后,隊(duì)列狀態(tài)改變〔隊(duì)列隊(duì)長(zhǎng)、人數(shù)狀態(tài)值均減1〕;旅客狀態(tài)由等待變?yōu)榻邮苄?。所在?duì)列中假設(shè)有其他旅客那么其他旅客所在位置發(fā)生改變。效勞人員狀態(tài)由空閑變?yōu)榉泵?。結(jié)束效勞事件圖2簡(jiǎn)單旅客活動(dòng)流程圖選隊(duì)圖2簡(jiǎn)單旅客活動(dòng)流程圖選隊(duì)效勞人員空閑NoYes旅客開始買票買完離去等待排隊(duì)那么不涉及換隊(duì)和調(diào)度的旅客進(jìn)入大廳后活動(dòng)總流程如圖2所示;簡(jiǎn)單對(duì)旅客購票活動(dòng)模型建立好后,我們?cè)趨⒓訌?fù)雜的換隊(duì)和選隊(duì)事件。換隊(duì)活動(dòng)換隊(duì)活動(dòng)用于描述售票大廳中旅客根據(jù)自己的判斷二次選擇最短隊(duì)列的行為。這里涉及到的參變量有:a.旅客的換隊(duì)視野:即旅客在隊(duì)列中所能觀察到的單邊的隊(duì)列個(gè)數(shù)。假設(shè)為1,那么表示旅客能觀察到左邊右兩邊隊(duì)列編號(hào)屬性值與當(dāng)前隊(duì)列編號(hào)屬性值之差小于等于1的隊(duì)列。b.旅客發(fā)現(xiàn)隊(duì)形變化的時(shí)間:即隊(duì)列人數(shù)和隊(duì)長(zhǎng)狀態(tài)值發(fā)生變化后多久,能被旅客觀察到。換隊(duì)事件的前提條件是旅客狀態(tài)是等待狀態(tài)。換隊(duì)活動(dòng)觸發(fā)的前提是旅客狀態(tài)屬于等待狀態(tài)。當(dāng)旅客發(fā)現(xiàn)在視野中的隊(duì)列的隊(duì)長(zhǎng)、人數(shù)狀態(tài)發(fā)生變化時(shí),該實(shí)體會(huì)以視野內(nèi)當(dāng)前隊(duì)列的長(zhǎng)度、人數(shù)作為參數(shù)輸入,調(diào)用換隊(duì)判斷函數(shù),函數(shù)會(huì)依據(jù)一定算法得到旅客是否應(yīng)該采取換隊(duì)行為。假設(shè)應(yīng)該換隊(duì),那么旅客狀態(tài)由等待變?yōu)樾凶?,賦予其期望速度,目的地是所換的隊(duì)。旅客所屬隊(duì)列屬性值變?yōu)樾玛?duì)列編號(hào)屬性值。原隊(duì)列狀態(tài)發(fā)生改變〔人數(shù)、隊(duì)長(zhǎng)狀態(tài)值均減1〕。當(dāng)旅客到達(dá)新?lián)Q隊(duì)列后,新?lián)Q隊(duì)列狀態(tài)發(fā)生改變〔人數(shù)、隊(duì)長(zhǎng)狀態(tài)值均加1〕。旅客在隊(duì)列中所在位置屬性值、旅客所在位置屬性值均重新賦值。旅客狀態(tài)由行走變?yōu)榈却?。旅客在到達(dá)新隊(duì)列后依舊可以換隊(duì)活動(dòng)。調(diào)度活動(dòng)調(diào)度活動(dòng)是北京西站管理人員針對(duì)北京西站售票大廳左右兩個(gè)廳到達(dá)同一段時(shí)間內(nèi)到達(dá)人數(shù)相差較大,而旅客又不能自主發(fā)現(xiàn)這一問題,進(jìn)而導(dǎo)致的左右兩廳排隊(duì)人數(shù)相差較大這一現(xiàn)象,所采取的改善措施?,F(xiàn)實(shí)情況是,每隔一段時(shí)間,在左側(cè)大廳咨詢臺(tái)的效勞人員〔以后簡(jiǎn)稱調(diào)度人員〕會(huì)到右廳去觀察右廳隊(duì)列情況,進(jìn)而做出是否調(diào)度的選擇。如果不調(diào)度調(diào)度人員會(huì)回到咨詢臺(tái)繼續(xù)咨詢;如果調(diào)度,那么調(diào)度人員通過播送將大廳內(nèi)兩廳隊(duì)列情況傳達(dá)給顧客。顧客根據(jù)自己當(dāng)前在隊(duì)列中所在位置判斷是否被調(diào)度。假設(shè)被調(diào)度那么顧客從原屬大廳行走換到另一側(cè)大廳,選擇最短隊(duì)列進(jìn)行重新排隊(duì)。根據(jù)現(xiàn)實(shí)情況我們不難發(fā)現(xiàn),在調(diào)度活動(dòng)中,調(diào)度人員是主動(dòng)成分,旅客變?yōu)楸粍?dòng)成分。模型中具體活動(dòng)流程如下:到達(dá)另一側(cè)大廳觸發(fā)選隊(duì)事件到達(dá)新隊(duì)列到達(dá)另一側(cè)大廳觸發(fā)選隊(duì)事件到達(dá)新隊(duì)列圖4旅客被調(diào)度流程圖信息傳遞調(diào)度人員觀察情況是否調(diào)度Yes將調(diào)度信息傳遞給符合條件的旅客返回咨詢臺(tái)圖3調(diào)度員調(diào)度流程圖那些接收到被調(diào)度指令的旅客會(huì)發(fā)生類似于換隊(duì)活動(dòng)的行為。唯一不同的是,旅客從隊(duì)列中出來目的地是另一側(cè)的大廳,當(dāng)?shù)竭_(dá)另一側(cè)大廳后,旅客會(huì)再次觸發(fā)選隊(duì)事件。調(diào)度的整個(gè)流程圖如圖3所示,旅客被調(diào)度流程如圖4所示;窗口開閉調(diào)度活動(dòng)最后為了得到北京西站售票大廳不同時(shí)段下窗口開啟的合理個(gè)數(shù),我們?nèi)藶榈膮⒓右粋€(gè)窗口開閉調(diào)度活動(dòng)。該活動(dòng)以當(dāng)前系統(tǒng)內(nèi)隊(duì)列狀態(tài)量為輸入?yún)?shù),調(diào)用窗口開閉函數(shù),當(dāng)符合開閉規(guī)那么時(shí),觸發(fā)窗口開閉事件。假設(shè)觸發(fā)關(guān)閉窗口事件,那么關(guān)閉窗口所在隊(duì)列會(huì)從旅客選隊(duì)總體中移除。該窗口的效勞人員在效勞完隊(duì)列中的所有旅客后,狀態(tài)由空閑變?yōu)橥V剐凇<僭O(shè)觸發(fā)開啟窗口事件,那么開啟窗口所在隊(duì)列會(huì)參加旅客選隊(duì)總體。該窗口效勞人員狀態(tài)也會(huì)由停止效勞變?yōu)榭臻e。利用活動(dòng)周期圖來描述售票大廳的離散事件系統(tǒng),如圖5所示;外部外部窗口效勞人員空閑效勞購票/售票排隊(duì)等待到達(dá)窗口開閉調(diào)度人員換隊(duì)調(diào)度調(diào)度人員圖5售票效勞系統(tǒng)活動(dòng)周期圖AnyLogic平臺(tái)中的行人智能體在模型建立中,旅客實(shí)體的建立是以AnyLogic行人庫中的行人智能體作為根底,通過Java代碼的編寫拓展出來的實(shí)體。其根本特性是以AnyLogic的智能體的特性為根底的。因此在這里簡(jiǎn)單介紹下AnyLogic平臺(tái)里的行人智能體。AnyLogic行人智能體是基于社會(huì)力模型的元胞自動(dòng)機(jī)。其力的合成元素主要有三種:a.目的地對(duì)元胞施加的吸引力。該力根本保持不變。b.行人間的排斥力。該力特點(diǎn)是當(dāng)個(gè)行人間距超出一點(diǎn)范圍時(shí),排斥力為0;當(dāng)兩行人間距在一定值以下時(shí),存在與間距成反比關(guān)系的排斥力。c.行人與墻壁等建筑設(shè)施的排斥力。該力與行人間排斥力特點(diǎn)相似,只是在一定距離內(nèi),反比關(guān)系式的參數(shù)不同。行人每個(gè)時(shí)鐘推進(jìn)后都會(huì)計(jì)算一次合力,進(jìn)而更改行人的速度矢量屬性。確定仿真算法仿真中的隨機(jī)變量在建立了仿真模型后,我們需要確定仿真中隨機(jī)變量的產(chǎn)生方式。在北京西站離散事件系統(tǒng)仿真中,需要產(chǎn)生的隨機(jī)變量有:旅客的到達(dá)數(shù),效勞窗口效勞時(shí)間,行人間隔。旅客到達(dá)數(shù)對(duì)于旅客的到達(dá)數(shù),通常的方法是依據(jù)測(cè)的數(shù)據(jù)得到旅客到達(dá)間隔服從什么分布以及這些分布的參數(shù)。然而在實(shí)際情況中,這是極為苛刻,甚至不可能的。首先,由于旅客進(jìn)入大廳后行為不一定是去窗口買票而有可能是辦理臨時(shí)身份證或去效勞臺(tái)咨詢等,因此我們不能把在出入口測(cè)到的數(shù)據(jù)作為行人到達(dá)數(shù)據(jù)。我們只能通過測(cè)量行人到達(dá)局部隊(duì)列時(shí)的數(shù)據(jù)來估算整個(gè)大廳行人到達(dá)的數(shù)據(jù)。然而假設(shè)觀測(cè)每條隊(duì)列的行人到達(dá)間隔,那么我們一個(gè)觀測(cè)員只能觀測(cè)一個(gè)隊(duì)列。而我們只有4位觀測(cè)人員?;诒菊n題的條件限制,我們提出了一種通過記錄局部隊(duì)列30內(nèi)行人到達(dá)人數(shù)的方法,估測(cè)整個(gè)大廳行人到達(dá)情況。圖6觀測(cè)數(shù)據(jù)表具體方法是,4個(gè)觀測(cè)人員兩人觀測(cè)左廳,兩人觀測(cè)右廳。每個(gè)人可以同時(shí)觀測(cè)到3條隊(duì)列,不同觀測(cè)員間所觀測(cè)的三條隊(duì)列不能重疊。所觀測(cè)的三條隊(duì)列是從各自所在大廳的總隊(duì)列中隨機(jī)抽取的三條連續(xù)隊(duì)列。觀測(cè)數(shù)據(jù)表如圖6所示;圖6觀測(cè)數(shù)據(jù)表具體觀測(cè)方法是每當(dāng)有一個(gè)行人到達(dá)觀測(cè)3條隊(duì)列內(nèi)的某條隊(duì)列時(shí),觀測(cè)員在對(duì)應(yīng)的觀測(cè)數(shù)據(jù)表的與觀測(cè)隊(duì)列所對(duì)應(yīng)的列中畫正字,每隔30秒鐘就換一行重新畫正字。這樣觀測(cè)結(jié)束后統(tǒng)計(jì)所畫正字就能反映出30秒內(nèi)行人到達(dá)人數(shù)。每側(cè)大廳在同一30秒內(nèi),我們能夠觀測(cè)6條隊(duì)列,而通常每側(cè)大廳開窗口數(shù)是10條左右。我們通過隨即抽取6條隊(duì)列,以他們到達(dá)人數(shù)的均值作為樣本,來估計(jì)10條左右隊(duì)列的總體的到達(dá)人數(shù)的均值是可以的。圖7我們總共觀測(cè)了5天,但其中有一天售票大廳窗口數(shù)變換頻繁無法記錄準(zhǔn)確的開閉窗口數(shù)。故那天的數(shù)據(jù)屬于無效數(shù)據(jù)。其他四天中,每天觀測(cè)時(shí)間是上午9點(diǎn)至下午5點(diǎn)。其中有兩天是每小時(shí)隨機(jī)抽取6個(gè)5分鐘進(jìn)行觀測(cè),總共得到480組數(shù)據(jù);而另外兩天是每小時(shí)隨機(jī)抽取4個(gè)5分鐘,總共的到320組數(shù)據(jù),累計(jì)的到800組數(shù)據(jù)。用著800組數(shù)據(jù)組成對(duì)應(yīng)8個(gè)小時(shí)的8個(gè)不同的經(jīng)驗(yàn)分布,行人到達(dá)數(shù)的隨機(jī)變量依據(jù)該經(jīng)驗(yàn)分布產(chǎn)生。左右兩大廳到達(dá)數(shù)據(jù)時(shí)間序列圖如圖7、8所示圖7圖8圖8效勞時(shí)間抽樣觀測(cè)通常都需要有足夠的樣本量,但樣本量如果過大那么過于費(fèi)時(shí)費(fèi)力。因此科學(xué)確實(shí)定觀測(cè)次數(shù)十分重要。我們做了一次預(yù)測(cè)量用以確定測(cè)量效勞時(shí)間的次數(shù)。預(yù)測(cè)量總共觀測(cè)15次,效勞時(shí)間分別為32s,28s,48s,32s,45s,23s,27s,43s,23s,50s,48s,37s,24s,33s,49s.采用d2值法確定測(cè)量次數(shù);欲將誤差控制在5%,可靠度為95%根據(jù)數(shù)據(jù)中最大效勞時(shí)間為50s,最小效勞時(shí)間為23s算出級(jí)差R=27依據(jù)觀測(cè)預(yù)次數(shù)為15次,查表得d2=3.472依據(jù)觀測(cè)數(shù)據(jù)得到由公式得到最正確觀測(cè)次數(shù)約為75次,但由于效勞時(shí)間隨機(jī)性波動(dòng)較大,因此我們把觀測(cè)次數(shù)定位240次。分不同的4天記錄了240位旅客的效勞時(shí)間。數(shù)據(jù)如表1所示;表格SEQ表格\*ARABIC1效勞時(shí)間原始數(shù)據(jù)時(shí)段1窗口1窗口2窗口3窗口4窗口5窗口6窗口7窗口8旅客14919453215341319旅客27155222243593424旅客3332533565364013旅客416324532242310844旅客54134564237674968旅客65541243431783649旅客72734344536354122旅客81444554376865841旅客91343344422378858旅客102743281655204688時(shí)段2窗口1窗口2窗口3窗口4窗口5窗口6窗口7窗口8旅客1215358562333437旅客22547458872315524旅客34163313223655513旅客41935453595336219旅客53644752533854532旅客6325656444142273旅客74131354525234853旅客81832413325272751旅客96727293431432954旅客106818274145273427時(shí)段3窗口1窗口2窗口3窗口4窗口5窗口6窗口7窗口8旅客15932314911143543旅客2634252328282323旅客311233223348452072旅客44167564132754820旅客546351172345193234旅客63623881623362533旅客71320466227323141旅客85410434243353646旅客98636822723427641旅客102252153272324958為了是降低離散事件系統(tǒng)仿真的固有隨機(jī)性,我們對(duì)原始數(shù)據(jù)進(jìn)行處理。處理的方法是利用拉伊達(dá)準(zhǔn)那么法〔即3標(biāo)準(zhǔn)〕判定并剔除異常值。具體方法是:算出數(shù)據(jù)均值、標(biāo)準(zhǔn)差。但凡在均值加減3個(gè)標(biāo)準(zhǔn)差區(qū)間以為的數(shù)據(jù)均為高異常值需要剔除。樣本均值為:標(biāo)準(zhǔn)差為:得到有效數(shù)據(jù)方位是〔μ-3,μ+3〕,即〔-22,103〕,又由于效勞時(shí)間大于零,故有效數(shù)據(jù)范圍應(yīng)該是〔0,103〕。剔除104、108、112、114、117五個(gè)高異常值。有效測(cè)量樣本量為235個(gè)。剔除高異常值后,數(shù)據(jù)的點(diǎn)圖如圖9所示;圖9效勞時(shí)間點(diǎn)圖依據(jù)此數(shù)據(jù),得到效勞時(shí)間的經(jīng)驗(yàn)分布,模型中效勞時(shí)間的隨機(jī)變量依據(jù)該經(jīng)驗(yàn)分布產(chǎn)生。圖9效勞時(shí)間點(diǎn)圖行人間隔所謂行人間隔即某位顧客與前一位顧客的距離加上這位顧客的胸厚。它反映出的是實(shí)際隊(duì)列中行人的疏密。在模型中它是計(jì)算隊(duì)列長(zhǎng)度狀態(tài)的重要隨機(jī)變量。我們通過觀測(cè)記錄隊(duì)列中從等候窗口到某行柱子這段空間中的旅客的人數(shù),以及窗口到柱子的距離,得到80組不同隊(duì)列的行人間隔的平均數(shù)。表格SEQ表格\*ARABIC2行人間隔行人間隔出現(xiàn)次數(shù)出現(xiàn)頻率第一組數(shù)據(jù)0.612.50%0.7820.00%0.81230.00%0.91537.50%1410.00%第二組數(shù)據(jù)0.625.00%0.7922.50%0.8717.50%0.92050.00%125.00%我們分兩組方法觀測(cè)旅客個(gè)數(shù)。第一組觀測(cè),有40個(gè)樣本,是觀測(cè)效勞窗口到第一行柱子間的隊(duì)列人數(shù)。第二組觀測(cè),也有40個(gè)樣本,是觀測(cè)等候隊(duì)列到第二行柱子間的隊(duì)列人數(shù)。之后除以兩組數(shù)據(jù)分別窗口到不同柱子的距離,得到每個(gè)隊(duì)列中行人間隔的平均數(shù)結(jié)果保存1位有效數(shù)字,精確到分米,用這80個(gè)行人間隔平均數(shù)組成一個(gè)行人間隔經(jīng)驗(yàn)分布,如表2所示;對(duì)于行人間隔,我們無法說明它是否與隊(duì)列中人數(shù)狀態(tài)量有關(guān),因此我們隊(duì)觀測(cè)到的兩組數(shù)據(jù)做雙樣本T檢驗(yàn)。進(jìn)而證明10多人的隊(duì)列與20多人的隊(duì)列其行人間隔分布根本無差異。這樣我們就能將由這80組樣本所得行人間隔經(jīng)驗(yàn)概率分布輸入模型,來產(chǎn)生行人間隔的隨機(jī)變量。原假設(shè)備擇假設(shè)利用matlab軟件,得到結(jié)果如下:平均值N平均值標(biāo)準(zhǔn)差標(biāo)準(zhǔn)誤第一組400.83250.09970.016第二組400.8280.1040.016差值=mu(C1)-mu(C2)差值估計(jì):0.0050差值的95%置信區(qū)間:(-0.0403,0.0503)檢驗(yàn):P值=0.827P值約等于1原假設(shè)成立,說明行人間隔與隊(duì)列長(zhǎng)度無關(guān)。仿真策略北京西站離散事件系統(tǒng)中事件,實(shí)體活動(dòng)較復(fù)雜,因此我們選用進(jìn)程交互法作為仿真策略,面向時(shí)間間隔推進(jìn)時(shí)鐘。當(dāng)?shù)谝晃活櫩鸵罁?jù)行人到達(dá)隨機(jī)變量進(jìn)入系統(tǒng)時(shí),把FEL中發(fā)生時(shí)間不大于仿真時(shí)鐘的所有事件全部調(diào)入到CEL中。之后依次判斷出每個(gè)事件在其隸屬的進(jìn)程中的位置。在判斷其實(shí)體是否滿足該事件發(fā)生條件,假設(shè)滿足那么發(fā)生該事件,只要在時(shí)鐘推進(jìn)范圍內(nèi)且滿足條件,就盡可能的多執(zhí)行進(jìn)程依次事件,直到進(jìn)程結(jié)束為止。如果發(fā)生條件不滿足或超過仿真時(shí)鐘間隔,那么停止,推出該進(jìn)程。等到仿真時(shí)鐘推進(jìn)后,再執(zhí)行進(jìn)程后面的局部。當(dāng)CEL中所有事件都處理過以后。結(jié)束CEL掃描,以固定時(shí)間間隔推進(jìn)時(shí)鐘,本文模型所取的推進(jìn)間隔為0.0010s。之后再將FEL中發(fā)生時(shí)間不大于仿真時(shí)鐘的所有事件調(diào)入CEL中。循環(huán)往復(fù),直到仿真結(jié)束。仿真模型圖10Main類確定仿真策略后,我們就要依托AnyLogic平臺(tái)建立西站售票離散系統(tǒng)仿真模型了。建立起來的仿真程序結(jié)構(gòu)如圖10所示圖10Main類它可以分為五個(gè)局部:圖11初始化子程序第一局部:參數(shù)輸入及初始化子程序局部圖11初始化子程序在這局部中我們要完成對(duì)于原始數(shù)據(jù)的輸入其結(jié)構(gòu)如圖11所示;在這里我們把兩個(gè)大廳的8個(gè)小時(shí)的數(shù)據(jù)整理出的經(jīng)驗(yàn)概率分布輸入到16個(gè)表函數(shù)中〔customPDF〕。主程序啟動(dòng),仿真時(shí)鐘推進(jìn)前會(huì)調(diào)用DataInPut函數(shù),將每個(gè)表函數(shù)作為一個(gè)元素輸入到custom_collection集合中。之后仿真時(shí)鐘推進(jìn),用initial組的表函數(shù)作為初始化數(shù)據(jù)來自源,event事件觸發(fā),作用是得到customDistribution變量中的值,該變量被調(diào)用值后會(huì)重新從對(duì)應(yīng)的表函數(shù)中得到一個(gè)新值,而event事件每30秒觸發(fā)一次,故而得到的變量值符合不同表函數(shù)中30秒行人到達(dá)數(shù)經(jīng)驗(yàn)概率分布。之后相繼觸發(fā)N個(gè)Inject的動(dòng)態(tài)事件,觸發(fā)次數(shù)N就是剛剛所取到的變量值。每一個(gè)動(dòng)態(tài)事件觸發(fā)后,都有一個(gè)延遲期,這個(gè)延遲期由event事件控制;以保證所有動(dòng)態(tài)事件是在30秒內(nèi)均勻觸發(fā)。每一個(gè)動(dòng)態(tài)事件都會(huì)產(chǎn)生一個(gè)旅客實(shí)體。我們的仿真時(shí)間是從早上8點(diǎn)50到下午5點(diǎn)整。8點(diǎn)50到9點(diǎn)之間我們調(diào)用的是initial初始化數(shù)據(jù)。當(dāng)仿真時(shí)鐘推進(jìn)到9點(diǎn)時(shí),dataEvent事件觸發(fā),它將customDistribution的數(shù)據(jù)源改為custom_collection中第一個(gè)元素〔即對(duì)應(yīng)9點(diǎn)的數(shù)據(jù)的表函數(shù)〕。之后每個(gè)小時(shí)觸發(fā)一次,觸發(fā)時(shí)依次提取custom_collection集合中元素。變量hour的作用就是記錄已經(jīng)提取到那個(gè)位置的元素了。這樣我們就得到了與實(shí)際情況相似的旅客到達(dá)。Event關(guān)鍵代碼如下:date_Left=custom_collectionLeft.get(hour-8);date_Right=custom_collectionRight.get(hour-8);hour+=1;第二局部,選隊(duì)功能局部在這局部中需要實(shí)現(xiàn)選隊(duì)功能。這局部仿真模型結(jié)構(gòu)如圖12所示;圖12選隊(duì)局部模型結(jié)構(gòu)旅客進(jìn)入大廳后,滿足selectOutput6事件發(fā)生條件,CEL中該事件觸發(fā),該事件隨機(jī)將90%的人分為單側(cè)大廳選隊(duì),將10%的人分為雙側(cè)大廳選隊(duì)。兩種不同類型的旅客會(huì)調(diào)用whole和half兩個(gè)不同的選隊(duì)函數(shù),其中half依據(jù)旅客實(shí)體當(dāng)前所在位置的屬性值,分別調(diào)用selectLeft和selectRight函數(shù)。所有選隊(duì)函數(shù)都是為了確定選隊(duì)范圍〔即行人會(huì)從那幾條隊(duì)列實(shí)體中選擇〕,他們會(huì)將這個(gè)范圍作為輸入?yún)?shù),調(diào)用queueSelect核心選隊(duì)函數(shù)。核心選隊(duì)函數(shù)會(huì)依據(jù)選隊(duì)范圍內(nèi)隊(duì)列當(dāng)前的狀態(tài)值〔人數(shù)狀態(tài)值、長(zhǎng)度狀態(tài)值〕來挑選一定規(guī)那么下的最正確隊(duì)列,并根據(jù)該隊(duì)列屬性值、狀態(tài)值來觸發(fā)旅客活動(dòng)、修改旅客參數(shù)。至此旅客進(jìn)入隊(duì)列實(shí)體的集合內(nèi)。圖12選隊(duì)局部模型結(jié)構(gòu)第三局部,旅客離開,換隊(duì),調(diào)度行為局部圖13離開、換隊(duì)、調(diào)度行為這個(gè)局部主要用于實(shí)現(xiàn)旅客購票后離開,旅客執(zhí)行換隊(duì)行為,旅客執(zhí)行調(diào)度行為的功能。它包含了旅客有隊(duì)列實(shí)體(queueClass)中退出來的一切行為。其結(jié)構(gòu)如圖13所示;圖13離開、換隊(duì)、調(diào)度行為其中由port1端口出來的是接受完效勞準(zhǔn)備離開的旅客,旅客由端口出來后滿足觸發(fā)selectOutput事件的條件,CEL表執(zhí)行該事件。旅客實(shí)體會(huì)依據(jù)自身所在位置的屬性值來判斷從哪個(gè)出口離開大廳。在大廳出口處,觸發(fā)數(shù)據(jù)輸出事件,將旅客自身的在隊(duì)列中的等待時(shí)間,在系統(tǒng)中的等待時(shí)間到處到外接Execel表中。至此該旅客實(shí)體完成整個(gè)仿真過程。由port2端口出來的是處于換隊(duì)或被調(diào)度狀態(tài)的旅客。他們處于換隊(duì)或被調(diào)度活動(dòng)中。旅客出來后觸發(fā)selectOutput5事件,依據(jù)旅客當(dāng)前的狀態(tài)值,判斷出它是在換隊(duì)還是在被調(diào)度。換隊(duì)的旅客依據(jù)新的所在隊(duì)列屬性值開始旅客行走活動(dòng),進(jìn)入相應(yīng)隊(duì)列中去。這個(gè)過程中會(huì)改變自身狀態(tài)〔由換隊(duì)變?yōu)樾凶摺?,改變自身屬性〔速度,所在位置等〕;改變所選隊(duì)列狀態(tài)〔人數(shù)狀態(tài)、長(zhǎng)度狀態(tài)等〕。調(diào)度的旅客,首先會(huì)從隊(duì)列出來到達(dá)另一側(cè)大廳,之后二次選隊(duì)的事件觸發(fā),進(jìn)行二次選隊(duì)。事件所調(diào)用函數(shù)依舊是選隊(duì)時(shí)所調(diào)用函數(shù),只不過輸入的選隊(duì)范圍不同。這局部的流程如圖14所示判斷行人狀態(tài)值判斷行人狀態(tài)值行人在換隊(duì)行人在被調(diào)度等于1等于2觸發(fā)換隊(duì)行為事件前往另一側(cè)大廳速度屬性值改為0.75m/s,參加新隊(duì)列實(shí)體,改變相應(yīng)屬性值、狀態(tài)值觸發(fā)被調(diào)度事件速度屬性值改為1.5m/s從左向右調(diào)度從右向左調(diào)度在右邊窗口中選擇隊(duì)列在左邊窗口中選擇隊(duì)列怎么調(diào)度觸發(fā)選隊(duì)活動(dòng)圖14離開、換隊(duì)、被調(diào)度功能模塊結(jié)構(gòu)流程圖第四局部,排隊(duì)及接受效勞局部這個(gè)局部中,包含了隊(duì)列實(shí)體以及窗口效勞人員實(shí)體。此局部需要實(shí)現(xiàn)旅客排隊(duì)等待中的換隊(duì)活動(dòng),效勞活動(dòng)。在建立仿真模型時(shí),由于每一個(gè)窗口都對(duì)應(yīng)一個(gè)獨(dú)立隊(duì)列,因此將隊(duì)列實(shí)體與窗口實(shí)體結(jié)合到一起,構(gòu)成一個(gè)隊(duì)列效勞實(shí)體,該類屬于永久實(shí)體。該類屬性是效勞人員實(shí)體和隊(duì)列實(shí)體的加和。該類狀態(tài)為三維狀態(tài)組,既包含{繁忙,空閑,停止效勞}又包含{人數(shù)}{隊(duì)長(zhǎng)},狀態(tài)值依據(jù)不同需要取不同維度。例如旅客在換隊(duì)時(shí)調(diào)用的就是{人數(shù)}狀態(tài)維度或{隊(duì)長(zhǎng)}狀態(tài)維度。其結(jié)構(gòu)如圖所示;圖15效勞隊(duì)列實(shí)體第五局部,換隊(duì)子程序圖15效勞隊(duì)列實(shí)體該局部程序復(fù)雜實(shí)現(xiàn)旅客的自主換隊(duì)功能。我們通過一個(gè)循環(huán)步長(zhǎng)為5秒的循環(huán)事件的觸發(fā)來描述旅客發(fā)現(xiàn)隊(duì)形變化的事實(shí)。程序具體運(yùn)行流程是:仿真時(shí)鐘推進(jìn)到觸發(fā)event事件時(shí),調(diào)用queueChange函數(shù)。該函數(shù)依據(jù)旅客所在位置屬性參數(shù)確定旅客所在大廳后,分別調(diào)用queueChange_Left或queueChange_Right。queueChang_Left或queueChang_Right函數(shù)以各自大廳中效勞隊(duì)列的狀態(tài)參數(shù)〔{繁忙,空閑,停止效勞}、{人數(shù)}以及{隊(duì)長(zhǎng)}〕作為輸入?yún)?shù),調(diào)用change函數(shù)。change根據(jù)行人視野得出所要換隊(duì)的隊(duì)列范圍,之后依據(jù)輸入?yún)?shù)確定是否換隊(duì)、所換到的新隊(duì)列的編號(hào),并將這兩個(gè)值作為參數(shù)修改的依據(jù),修改旅客屬性值。其中change函數(shù)代碼較為核心,在此我們將其核心局部展示出來,如圖16所示;圖16change函數(shù)代碼圖16change函數(shù)代碼由于窗口開閉和調(diào)度功能局部沒有普遍性,他們的流程在系統(tǒng)模型中已經(jīng)闡述,故在此不再詳細(xì)表達(dá)。至此仿真模型建立完成仿真結(jié)果分析不同時(shí)段合理窗口數(shù)該仿真的關(guān)閉窗口規(guī)那么參數(shù)是,隊(duì)列中平均人數(shù)小于5關(guān)閉窗口;大于15開啟窗口。得到不同時(shí)段窗口個(gè)數(shù)如表3所示;表格SEQ表格\*ARABIC3不同時(shí)段窗口開啟個(gè)數(shù)九點(diǎn)窗口數(shù)十點(diǎn)窗口數(shù)十一點(diǎn)窗口數(shù)左側(cè)大廳右側(cè)大廳左側(cè)大廳右側(cè)大廳左側(cè)大廳右側(cè)大廳81014131013811141211138111313101291214141212101212131112101214151113十二點(diǎn)窗口數(shù)十三點(diǎn)窗口數(shù)十四點(diǎn)窗口數(shù)左側(cè)大廳右側(cè)大廳左側(cè)大廳右側(cè)大廳左側(cè)大廳右側(cè)大廳11121199912111198101210101081013101098913101097913999710十五點(diǎn)窗口數(shù)十六點(diǎn)窗口數(shù)十七點(diǎn)窗口數(shù)左側(cè)大廳右側(cè)大廳左側(cè)大廳右側(cè)大廳左側(cè)大廳右側(cè)大廳786757787756677745778735768834678834將每小時(shí)運(yùn)行結(jié)果就平均值得到不同時(shí)段窗口開啟個(gè)數(shù)如圖17、18所示;圖17圖17圖18圖18可以看到窗口個(gè)數(shù)的波動(dòng)于行人到達(dá)人數(shù)的波動(dòng)根本相似。標(biāo)準(zhǔn)行人間隔作用驗(yàn)證結(jié)果用9點(diǎn)旅客到達(dá)的數(shù)據(jù)以不同的隨機(jī)種子分別運(yùn)行4組標(biāo)準(zhǔn)行人間隔與不標(biāo)準(zhǔn)行人間隔的模型,得到數(shù)據(jù)統(tǒng)計(jì)結(jié)果如下:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論