單服務(wù)臺(tái)排隊(duì)系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
單服務(wù)臺(tái)排隊(duì)系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
單服務(wù)臺(tái)排隊(duì)系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
單服務(wù)臺(tái)排隊(duì)系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
單服務(wù)臺(tái)排隊(duì)系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單服務(wù)臺(tái)排隊(duì)系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)1引言1.1編寫(xiě)目的:1.2背景:1.3定義:1.4參考文獻(xiàn):2 總體設(shè)計(jì)概述本軟件由三個(gè)模塊組成,分別是:總控模塊(control)、顧客到達(dá)模塊(arrive)、顧客離開(kāi)模塊(departure)。3類的定義根據(jù)仿真方案的需求,定義事件表類(Table),包括:屬性:a.事件數(shù)目n_event(即事件表長(zhǎng)度)。 b.事件類型type_event c.事件發(fā)生時(shí)間time struct event_talbeint type_event;int time;e_t100;struct event_talbe next;int n_event;操作:a.插入操作in

2、sert:按事件發(fā)生時(shí)間的先后將到達(dá)或離開(kāi)事件插入事件表。開(kāi) 始 比較插入事件時(shí)間與已有事件時(shí)間大小for(i=1;i<=n_event;i+)If(e_tcount.time)>e_ti.time Y N將事件表e_ti以后的值后移一位for(j=i;i<=n_event;j+)e_ti+1.time=e_ti.time;e_ti+1.type_event=e_ti.type_event 將當(dāng)前事件插入事件表e_ti.time=e_tcount.time;e_ti.type_event=e_tcount.type_event返 回事件表長(zhǎng)度+1n_event+ b.取事件操

3、作pop:將事件表中隊(duì)首的事件取出。開(kāi) 始事件表為空n_event=0?錯(cuò)誤error Y N將事件表隊(duì)首事件取出next.time=e_t1.time;next.type_event=e_t1.type_event將事件表后續(xù)事件前移一位for(i=1;i<=n_event;i+) e_ti.time=e_ti+1.time;e_ti.type_event=e_ti+1.type_event 事件表長(zhǎng)度-1n_event-返 回4程序描述本軟件的各子程序或函數(shù)如下表4.1所示。表4.1單服務(wù)臺(tái)排隊(duì)系統(tǒng)的子程序和函數(shù)子程序(函數(shù))名稱功能INIT系統(tǒng)初始化子程序ARRIVE處理到達(dá)事件子

4、程序DEPART處理離開(kāi)事件子程序REPORT統(tǒng)計(jì)模型及打印仿真結(jié)果子程序EXPON(RMEAN)產(chǎn)生服從負(fù)指數(shù)分布且平均值為RMEAN的隨機(jī)變量函數(shù)41總控模塊1)模塊描述:總控模塊主要負(fù)責(zé)事件選取,推進(jìn)仿真的進(jìn)行。2)功能描述:總控模塊必須完成五項(xiàng)基本工作,包括: a系統(tǒng)初始化:狀態(tài)變量取值初始化、系統(tǒng)參數(shù)初始化、仿真時(shí)鐘初始化等。 b時(shí)間掃描:確定下一最早發(fā)生事件的發(fā)生時(shí)間,并將仿真中推進(jìn)到該時(shí)刻。 c事件識(shí)別:檢索當(dāng)前仿真時(shí)刻將要發(fā)生的所有時(shí)間,并確定執(zhí)行順序。 d事件執(zhí)行:執(zhí)行獲得資格的當(dāng)前事件的事件例程。 e返回報(bào)告:返回報(bào)告模塊的結(jié)果。3)子函數(shù): 本模塊涉及到的子函數(shù)包括:IN

5、IT系統(tǒng)初始化子程序REPORT統(tǒng)計(jì)模型及報(bào)告仿真結(jié)果子程序EXPON(RMEAN)產(chǎn)生服從負(fù)指數(shù)分布且平均值為RMEAN的隨機(jī)變量函數(shù)4)數(shù)據(jù)定義:本模塊涉及到的變量名稱和定義如下表4.2所示。表4.2總控模塊涉及的變量和定義變量名稱定義time當(dāng)前時(shí)間status服務(wù)臺(tái)狀態(tài)變量,空閑為0,忙為1num_q隊(duì)列中排隊(duì)等待的顧客數(shù)目t_last_evet上次事件的時(shí)間n_customer已服務(wù)顧客的數(shù)目tot_delay已接受服務(wù)的所有顧客的等待時(shí)間ani_q顧客數(shù)目的加權(quán)值rmean指數(shù)分布隨機(jī)變量的平均值n_event事件數(shù)目e_ti.type_event事件的類型e_ti.time事件的

6、發(fā)生時(shí)間next.time下一事件發(fā)生時(shí)間next.type_event下一事件類型count事件計(jì)數(shù)器輸入?yún)?shù):m_arrive_t顧客到達(dá)間隔時(shí)間的平均值m_service_t顧客服務(wù)時(shí)間的平均值tot_customer進(jìn)行仿真的顧客總數(shù)輸出參數(shù):avg_ani_Q平均隊(duì)長(zhǎng)avg_dealy顧客平均排隊(duì)時(shí)間開(kāi) 始5)流程邏輯:Init從事件表中選取事件pop()仿真鐘推進(jìn)當(dāng)前事件時(shí)間,time=next.time判斷事件類型 到達(dá)next.type_event=1 離開(kāi)next.type_event=2Depart ()Arrive()仿真結(jié)束類型 否(n_customer >tot

7、_customer) 是(n_customer <tot_customer)Report() 結(jié) 束4.1.1初始化子程序INIT()根據(jù)仿真方案,該子程序負(fù)責(zé)初始化整個(gè)系統(tǒng),包括實(shí)例化一個(gè)事件表Event_Table對(duì)象,設(shè)相關(guān)變量初值為0,設(shè)置第一個(gè)事件為顧客到達(dá)事件及首次事件發(fā)生時(shí)間,即e_tcount.time=time+EXPON(m_arrvie_t); e_tcount.type_event=1參數(shù):名稱值count1status0time0num_q0t_last_evet0n_customer0tot_delay0ani_Q0e_t0.timetime+EXPON(m_

8、arrvie_t)4.1.2報(bào)告子程序REPORT()根據(jù)仿真方案的統(tǒng)計(jì)模型,該子程序負(fù)責(zé)計(jì)算并打印仿真結(jié)果。參數(shù):名稱值avg_ani_Q ani_q/timeavg_dealytot_delay/ n_customer4.1.3隨機(jī)數(shù)發(fā)生器子程序EXPON(Rmean)根據(jù)仿真方案,該子程序用于產(chǎn)生服從負(fù)指數(shù)分布的隨機(jī)變量,其返回值用于表示顧客到達(dá)的隨機(jī)時(shí)間間隔以及隨機(jī)服務(wù)長(zhǎng)度。(1)參數(shù):Rmean指數(shù)分布隨機(jī)變量的平均值(2)函數(shù):Float Expon(float rmean):該函數(shù)通過(guò)調(diào)用Drand( )函數(shù)和公式v=-rmean*log(rand),產(chǎn)生服從負(fù)指數(shù)分布的隨機(jī)數(shù),

9、其返回值v用于變量tnenext的生成,即用于時(shí)鐘推進(jìn)。4.2顧客到達(dá)模塊arrive()1)模塊描述:該模塊用于處理顧客到達(dá)事件,解決顧客到達(dá)后引發(fā)的系統(tǒng)狀態(tài)改變以及隊(duì)列狀態(tài)改變的問(wèn)題。2)功能描述:該模塊主要完成以下五部分功能: a服務(wù)時(shí)間判斷:獲取當(dāng)前時(shí)間,判斷是否在服務(wù)時(shí)間內(nèi)。 b系統(tǒng)狀態(tài)判斷:獲取服務(wù)臺(tái)狀態(tài),決定仿真進(jìn)程走向。 c入隊(duì)。 d預(yù)定下一事件:預(yù)定顧客服務(wù)完成后離開(kāi)事件,保證仿真模型持續(xù)地運(yùn)行下去。 e延遲時(shí)間獲?。韩@取顧客因在隊(duì)列中等待所延遲服務(wù)的時(shí)間。3)數(shù)據(jù)定義本模塊涉及到的變量名稱和定義如下表4.3所示。表4.3顧客到達(dá)模塊涉及的變量和定義變量名稱定義n_custo

10、mer已服務(wù)顧客的數(shù)目status服務(wù)臺(tái)狀態(tài)變量,空閑為0,忙為1tot_delay已接受服務(wù)的所有顧客的等待時(shí)間delay顧客排隊(duì)等待時(shí)間t_last_evet上次事件的時(shí)間e_ti.time預(yù)定的下一事件發(fā)生時(shí)間e_ti.type_event事件的類型ani_Q顧客數(shù)目的加權(quán)值time當(dāng)前時(shí)間num_Q隊(duì)列中排隊(duì)等待的顧客數(shù)目t_arrive(i)在隊(duì)列中等待的第i個(gè)顧客的到達(dá)時(shí)間4)流程邏輯:開(kāi) 始預(yù)定下一顧客到達(dá)時(shí)間count+e_tcount.type_evnet=1;e_tcount.time=time+Expon(m_arrive_t)將到達(dá)事件插入事件表,Insert() St

11、atus=0?收集統(tǒng)計(jì)數(shù)據(jù)ani_q+=num_q*(time- t_last_evet ) N Y收集統(tǒng)計(jì)資料delay=0;tot_delay+=delay;更新時(shí)刻 t_last_evet =time服務(wù)顧客數(shù)+1 n_customer+排隊(duì)顧客數(shù)+1 num_q+ 隊(duì)長(zhǎng)>隊(duì)列容量? 出錯(cuò) exit(0)服務(wù)臺(tái)置為忙 status=1 N Y 預(yù)定顧客離開(kāi)事件count+e_tcount.type_evnet=2e_tcount.time=time+Expon m_service_t) 記錄第N個(gè)顧客到達(dá)時(shí)間t_arrive(num_q)=time N將離開(kāi)事件插入事件表,Inse

12、rt()返 回4.3顧客離開(kāi)模塊depart()1)模塊描述:該模塊用于處理顧客離開(kāi)事件,解決顧客離開(kāi)后引發(fā)的系統(tǒng)狀態(tài)改變以及隊(duì)列狀態(tài)改變的問(wèn)題。2)功能描述:該模塊主要完成以下四部分功能: a隊(duì)列狀態(tài)判斷:獲取當(dāng)前隊(duì)列狀態(tài),判斷并決定仿真走向。 b出隊(duì)。 c預(yù)定下一事件:預(yù)定顧客服務(wù)完成后離開(kāi)事件,保證仿真模型持續(xù)地運(yùn)行下去。 d延遲時(shí)間獲取:獲取顧客在隊(duì)列中等待的時(shí)間。3)數(shù)據(jù)定義:本模塊涉及到的變量名稱和定義如下表4.4所示。表4.3顧客離開(kāi)模塊涉及的變量和定義變量名稱定義n_customer已服務(wù)顧客的數(shù)目status服務(wù)臺(tái)狀態(tài)變量,空閑為0,忙為1tot_delay已接受服務(wù)的所有顧客的等待時(shí)間delay顧客排隊(duì)等待時(shí)間t_last_evet上次事件的時(shí)間e_ti.time預(yù)定的下一事件發(fā)生時(shí)間e_ti.type_event事件的類型ani_Q顧客數(shù)目的加權(quán)值time當(dāng)前時(shí)間num_q隊(duì)列中排隊(duì)等待的顧客數(shù)目t_arrivei在隊(duì)列中等待的第i個(gè)顧客的到達(dá)時(shí)間4)流程邏輯:開(kāi) 始num_q=0?置服務(wù)臺(tái)空閑 status=0 Y N更新統(tǒng)計(jì)數(shù)據(jù)ani_q+=num_q*(time- t_last_evet )已服務(wù)顧客數(shù)+1 n_customer+ 顧客等待時(shí)間delay=time

溫馨提示

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