版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第6章 中級GPSSWorld 程序設(shè)計,本章主要內(nèi)容:6.1 一家電修理部模型的建立及其模擬6.2 中級 GPSSWorld 語言模塊 6.2.1 LOGIC 邏輯開關(guān) 6.2.2 INITIAL 初始化語句 6.2.3 GATE 測試模塊 6.2.4 TEST 比較測試模塊 6
2、.2.5 SAVEVALUE 保存值模塊 6.2.6 LOOP 循環(huán)模塊6.3 中級 GPSSWorld 語言程序舉例,中級 GPSSWorld,第6章 中級GPSSWorld 程序設(shè)計,6-1 一家電修理部模型的建立及其模擬 已知一家電修理部, 除管理人員外, 有一名普通修理工干各種另活,以及二個有經(jīng)驗的專家負(fù)責(zé)較難的工作. 普通修理工能完成 70% 的修理工作, 其余
3、30% 難一些的工作由專家完成. 修理部原始記錄表明: 1. 顧客到達(dá)間隔時間為 11 (5) 分鐘, 均勻分布. 2. 不用專家服務(wù)顧客的服務(wù)時間為 13 (5) 分鐘, 均勻分布. 3. 需要專家服務(wù)的顧客應(yīng)先由普通修理工修 4 (2) 分鐘, (均 勻分布) 再由專家修 62 (20) 分鐘, 均勻分布. 4. 模擬6
4、0000分鐘。,求解 A.普通修理工及專家的平均利用率B. 普通修理工及專家隊列的平均等待時間C. 普通修理工及專家隊列的平均隊長D. 普通修理工修理一件設(shè)備的平均時間模型的建立1. 設(shè)施 普通修理工 HANDYM2. 存儲器 二名專家 SPCLST3. 隊列 A. 普通修理工隊列 GENQB. 專家隊列
5、 SPECQ4. 模擬模擬60000分鐘,6-1 一家電修理部模型的建立及其模擬,模型示意圖,6-1 一家電修理部模型的建立及其模擬,SPCLST STORAGE 2 GENERATE 11, 5 QUEUE GENQ TRANSFER .7, SPEC, HANDYHAND
6、Y SEIZE HANDYM DEPART GENQ ADVANCE 13, 5 RELEASE HANDYM TRANSFER , DONE,SPEC SEIZE HANDYM
7、 DEPART GENQ ADVANCE 4, 2 RELEASE HANDYM QUEUE SPECQ ENTER SPCLST, 1 DEPART SPECQ ADVA
8、NCE 62, 20 LEAVE SPCLST, 1DONE TERMINATE 1,,模型程序,6-1 一家電修理部模型的建立及其模擬,FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY HANDYM 5456 0.9
9、37 10.301 1 5457 0 0 0 0QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY GENQ 9 0 5456 864 1.597 17.559 20.863 0 SPECQ
10、 13 4 1628 393 1.600 58.953 77.713 0STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY SPCLST 2 0 0 2 1624 1 1.671 0.835 0
11、 4,模擬輸出結(jié)果,,,,,6-1 一家電修理部模型的建立及其模擬,模擬結(jié)果:A.普通修理工的平均利用率 0.937 B. 專家的平均利用率 0.835C. 普通修理工隊列的平均等待時間 17.559D. 專家隊列的平均等待時間
12、 58.959E. 普通修理工隊列的平均隊長 1.597F. 專家隊列的平均隊長 1.600G. 普通修理工修理一件設(shè)備的平均時間 10.301,6-1 一家電修理部模型的建立及其模擬,第6章 中級 GPSSWorld 程序設(shè)計,6-2 中級GPSSWorld 語言模塊,6.2.1. LOGIC 邏輯開關(guān)的設(shè)置 對于系統(tǒng)中具有二態(tài)性
13、質(zhì)的設(shè)施或設(shè)備可用邏輯開關(guān)表示。邏輯開關(guān)為 1 時表示合,邏輯開關(guān)為 0 時,表示斷。邏輯開關(guān)的置位或變位由 LOGIC 模塊完成。 LOGIC 模塊的基本結(jié)構(gòu)為: LOGIC 輔助碼 A 其中: 輔助碼表示邏輯開關(guān)的置位情況,A 表示邏輯開關(guān)變量名 R 表示邏輯開關(guān)變量置 0 S 表示邏輯開關(guān)變量置 1
14、 I 表示邏輯開關(guān)變量反轉(zhuǎn),例: LOGIC S LOGIC2 將邏輯開關(guān) 變量LOGIC2 置 1 LOGIC R LOG3 將邏輯開關(guān) 變量LOG3 置 0 LOGIC I PowerSwitch 將邏輯開關(guān) 變量PowerSwitch反轉(zhuǎn),6-2 中級GPSSWorld 語言模塊,6.2.2 SAVEVALUE 保存值模塊
15、 SAVEVALUE 模塊可將任一個值 (包括 SNA) 存放在指定變是名中, SAVEVALUE 模塊的格式: SAVEVALUE A, B 其中: A ---- 保存值的地址號及 +, - 號, +, - 號表示要在原 值上增加或減少的要求
16、 B ---- 要存放的值或 SNA 碼,6-2 中級GPSSWorld 語言模塊,例: SAVEVALUE Account,99.95SAVEVALUE The_Bard,“Arose by any other name …“ SAVEVALUE Account+,88.5 SAVEVALUE Account-,55.4,6-2 中級GPSSWorld 語言模
17、塊,6.2.3 INITIAL 初始化語句,基本格式如下:INITIAL A,BA:矩陣, 邏輯,保存值或矩陣的一個元素。 B: 必須是Null(空), Number(數(shù)字), String(字符串), Name(變量名), 或者UNSPECIFIED(未定義)之一。例如: INITIAL X$Power_X, 100.98INITIAL X$Note_X, “Note Message!”
18、INITIAL MX$MyMartix(3,6), 33.5INITIAL LS$L_Power, 1 ;將邏輯開關(guān)實體L_Power的初值設(shè)為1.,6-2 中級GPSSWorld 語言模塊,,6.2.4 GATE 實體狀態(tài)的測試模塊 GATE 模塊是用來測試各類實體的當(dāng)前狀態(tài)的。其格式如下: GATE 輔助碼 A, B其中:
19、 輔助碼 表示實體類型及狀態(tài),如: NU 表示設(shè)施沒有處于使用狀態(tài) U 表示設(shè)施在使用狀態(tài) SE 表示存儲器空狀態(tài) SF 表示存儲器滿狀態(tài),6-2 中級GPSSWorld 語言模塊,,SNE 表示存儲器不空狀態(tài) SNF 表
20、示存儲器不滿狀態(tài) LR 表示邏輯開關(guān)處于 0 狀態(tài) LS 表示邏輯開關(guān)處于 1 狀態(tài) …… 等等 A 要測試的實體變量名 B 當(dāng)測試結(jié)果為假時流動實體應(yīng)去的模塊標(biāo)號例: GATE SE Storege2 測試Storege2號存儲器是否空 ? GATE NU F_1, CON 測試 f_1設(shè)施
21、 是否在空閑?若不空則去 CON 語句,6-2 中級GPSSWorld 語言模塊,6.2.5 TEST 比較測試模塊 通過測試來比較二個標(biāo)準(zhǔn)數(shù)字屬性碼 SNA 的大小. 格式: TEST 輔助碼 A, B, C 其中:
22、 輔助碼有: E 相等 NE 不相等 L 小于 LE 小于或等于 G 大于
23、 GE 大于或等于,6-2 中級GPSSWorld 語言模塊,A , B 二個相比較的 變量名或SNA以及表達(dá)式 C 比較結(jié)果為假時動態(tài)實體所要進入 的模塊號 例: TEST GE P$MY_1, 2, D1
24、 TEST LE Q$q_1, P$MY_2, ABC TEST L FN$FUN_1, P$MY_3, DONE 注意: 在Windows版本中下劃線 _已取消,不再需要,6-2 中級GPSSWorld 語言模塊,6-2 中級GPSSWorld 語言模塊,6.2.6 LOOP 循環(huán)模塊 循環(huán)是各類程序編制
25、中所不可缺少的。GPSSWorld 語言的循環(huán)過程是由LOOP模塊完成的。GPSSWorld 語言的循環(huán)過程是由計數(shù)和轉(zhuǎn)向二個動作完成,它總是先確定循環(huán)次數(shù),并將循環(huán)次數(shù)存在活動實體的某個參數(shù)中,然后當(dāng)活動實體進入LOOP模塊后,就開始了循環(huán)的進程,因此對于不同的活動實體,在同一個循環(huán)中的循環(huán)次數(shù)有可能是不相同的。循環(huán)模塊LOOP的基本格式是:,LOOP A, B其中: A 控制循環(huán)次數(shù)的參數(shù)號。 B 當(dāng)
26、A 場參數(shù)的值大于零時,活動實體應(yīng)轉(zhuǎn)去的語句標(biāo)號,同時將A的值減去 1。,GENERATE 10 ASSIGN par_1,5 設(shè)定循環(huán)次數(shù)par_1L_P ASSIGN par_2,P$par_1 ;循環(huán)開始 LOOP par_1,L_P ;循環(huán)計數(shù) TERMINATE 1,舉例:,6-2 中級GPSSWorld 語言模塊,6
27、.3 中級 GPSSWorld 語言程序舉例,例 6.2 假設(shè)有一個募捐站點接受各類民眾的現(xiàn)金募捐。在募捐的人中大約有50%的人捐10元,有30%的人捐50元,有20%的人捐100元,請通過模擬實驗來統(tǒng)計以上各類人的捐款數(shù)及總捐款數(shù)。(到達(dá)的人平均間隔5分鐘),FUN1 FUNCTION RN3,D30.5,10/0.8,50/1,100FUN2 FUNCTION P$vx_1,E310,PAR_1/50,PAR_2
28、/100,PAR_3INITIAL X$PAR_1,0INITIAL X$PAR_2,0INITIAL X$PAR_3,0INITIAL X$ACC_MONEY,0 GENERATE 5 ASSIGN vx_1,FN$FUN1 SAVEVALUE FN$FUN2+,P$vx_1 SAVEVALUE ACC_MONEY+,P$vx_1
29、 TERMINATE 1,上面的程序模擬了100個捐款人,有關(guān)保存值部分的標(biāo)準(zhǔn)輸出如下:SAVEVALUE RETRY VALUE PAR_1 0 620.000 ( 10元的捐款總數(shù) ) PAR_2 0 1550.000 ( 50元的捐款總數(shù) ) PAR_3
30、 0 2600.000 ( 100元的捐款總數(shù) ) ACC_MONEY 0 4770.000 ( 全部捐款總數(shù) ) CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE 121 0 600.000 121
31、0 1FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 122 0 1200.000 122 0 6從輸出中可見,一類捐款人為62人,捐款620元; 二類捐款人為31人,捐款1550元; 三類捐款人為26人,捐款2600元;
32、 合計119人總捐款4770元。,6.3 中級 GPSSWorld 語言程序舉例,,,例 6.3 一單理發(fā)師的理發(fā)店,顧客到達(dá)時間為 18(6),理發(fā)時間為 16(4),理發(fā)店營業(yè) 8 小時關(guān)門,但關(guān)門之前進入的顧客要理完發(fā)才走。,提示: 1. 設(shè)置一邏輯開關(guān),控制關(guān)門 及顧客的進入 2. 理發(fā)店不許顧客進入
33、后,測 試已進入的顧客是否都理發(fā) 完畢?都完后關(guān)門。,6.3 中級 GPSSWorld 語言程序舉例,GENERATE 18,6 GATE LR LOG_1 ; 測試 LOG_1 號邏輯開關(guān)是否關(guān)閉TRAN QUEUE L_1 ; 若
34、已關(guān)則不再進人 SEIZE F_1 DEPART L_1 ADVANCE 16,4DONE RELEASE F_1 TERMINATE GENERATE 480 ; 理發(fā)店營業(yè) 8 小時 LOGIC S
35、LOG_1 ; 使 1 號邏輯開關(guān)關(guān)閉 TEST E N$TRAN,N$DONE ;測試最后關(guān)門條件 TERMINATE 1 ;所有顧客理發(fā)完畢,關(guān)門,,,,6.3 中級 GPSSWorld 語言程序舉例,RELATIVE CLOCK 493
36、 ABSOLUTE CLOCK 493 FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING UTILIZATION ENTRIES TIME/TRAN TRANS.NO. TRANS.N
37、O. 1 0.88 27 16.11 LOGIC SWITCH - SET (ON) STATUS SWITCH NAME NAME NAME NAME NAME NAME NAME NAME NAME
38、 1 QUEUE MAXIMUM AVERAGE TOTAL ZERO PERC. AVERAGE $AVERAGE TABLE CURRENT CONTENT CONTENT ENTRIES ENTRIES ZERO TIME/TR TIME/TR NUMBR CONTENT 1
39、 2 0.33 27 10 37.04 6.11 9.71 0,理發(fā)店模型輸出結(jié)果,,,,,例 6.4 一露天礦模擬模型,已知一露天礦剝離和采煤分別由二臺電鏟來完成。 一臺以 4 (2) 分鐘間隔時間裝滿一車礦石, 另一臺以 5 (2) 分鐘間隔時間
40、裝滿一車煤,卡車各運行 15 分鐘后分別卸入礦石場和儲煤倉, 卸礦時間為 8分鐘, 礦石場和儲煤倉的容量分別為 20000 噸及 2000 噸, 礦石卡車載重量為 35 噸, 而運煤卡車載重量為 18 噸。 模擬這一過程, 并記錄礦石和煤的產(chǎn)量。,模型: 動態(tài)實體 ---- 運礦石卡車和運煤卡車 存儲器 ----- S_1 號 礦石場
41、 S_2 號 儲煤倉 保存值 ------ V_1 號 產(chǎn)煤量 V_2 號 礦石剝離量,6.3 中級 GPSSWorld 語言程序舉例,,,儲煤倉,儲礦場,5/2,4/2,35 噸,18 噸,15,20000,2000,模型示意圖,,,,例 6.4 一露天礦模擬模型
42、,本例題用三個方式編程:1. 詳細(xì)方法 即每一步都表示清楚 (程序 A)2. 使用流動實體的參數(shù) (程序 B)3. 使用 SNA 碼簡化程序 (程序 C),一般方法 (程序A),S_1 STORAGE 2000S_2 STORAGE 20000GENERATE 5,2 ;裝煤 ADVANCE 15
43、 ENTER S_1,18 ADVANCE 8 ;卸煤 SAVEVALUE V_1+,18 ;統(tǒng)計煤產(chǎn)量 LEAVE S_1,0 TERMINATE GENERATE 4,2 ;裝礦石
44、 ADVANCE 15 ENTER S_2,35 ADVANCE 8 ;卸礦石 SAVEVALUE V_2+,35 ;統(tǒng)計礦石產(chǎn)量 LEAVE S_2,0 TERMINATE GENERATE 480
45、 TERMINATE 1,使用參數(shù) (B),將代號或碼用 SNA 表示. V_1參數(shù)表示煤或礦石車,V_2號參數(shù)表示載重量,V_3表示T_1或T_2存儲值。,S_1 STORAGE 2000S_2 STORAGE 20000INITIAL X$T_1,0INITIAL X$T_2,0 GENERATE
46、5,2 ;裝煤 ASSIGN V_1,S_1 ;S_1表示目的倉庫 ASSIGN V_2,18ASSIGN V_3,T_1 ADVANCE 15 ENTER P$V_1,P$V_2 SAVEVALUE P$V_3+,P$
47、V_2 ;統(tǒng)計煤產(chǎn)量 ADVANCE 8 ;卸煤LEAVE P$V_1,0 TERMINATE GENERATE 4,2 ;裝礦石 ASSIGN V_1,S_2 ASSIGN V_2,35ASSIGN
48、 V_3,T_2 ADVANCE 15 ENTER P$V_1,(P$V_2) SAVEVALUE P$V_3+,P$V_2 ;統(tǒng)計礦石產(chǎn)量 ADVANCE 8 ;卸礦石LEAVE P$V_1,0 TERMINATE
49、 GENERATE 480 TERMINATE 1,利用 SNA 碼 (C),利用 SNA 碼將相同程序段合并可簡化程序:,S_1 STORAGE 2000S_2 STORAGE 20000INITIAL X$T_1,0INITIAL X$T_2,0 GENERATE
50、 5,2 ;裝煤 ASSIGN V_1,S_1 ASSIGN V_2,18ASSIGN V_3,T_1TRANSFER,NEXT_C GENERATE 4,2 ;裝礦石 ASSIGN V_1,S_2 ASSI
51、GN V_2,35ASSIGN V_3,T_2NEXT_C ADVANCE 15 ENTER P$V_1,(P$V_2) SAVEVALUE P$V_3+,P$V_2 ;統(tǒng)計礦石產(chǎn)量ADVANCE 8 ;卸礦石LEAVE P$V_1,0
52、 TERMINATE GENERATE 480 TERMINATE 1,例6.5 一零件加工過程的模擬 有一零件加工車間,主要是進行零件的鉆孔工作。零件的到達(dá)間隔時間為10±3分鐘,但零件在進入車間后應(yīng)先進行打毛刺F_1等光滑處理,然后在進行畫線F_2工作,最后才能鉆孔F_3。上述每道工序都可能進行排隊,我們分別用L_1、L_2、L_3表示
53、這3個隊列。為了簡單起見,我們?nèi)约僭O(shè)所有的過程都呈均勻分布,其均值和方差分別為: 打毛刺等光滑處理 10±2 分鐘 畫線 9±3 分鐘 鉆孔 8±1 分鐘,6.3 中級 GPSSWorld 語言程序舉例,GENERATE 10,3 ;零件到達(dá) QUEUE
54、 L_1 ;排隊打毛刺等光滑處理 SEIZE F_1 DEPART L_1 ADVANCE 10,2 RELEASE F_1 QUEUE L_2 ;排隊畫線 SEIZE F_2
55、 DEPART L_2 ADVANCE 9,3 RELEASE F_2 QUEUE L_3 ;排隊鉆孔 SEIZE F_3 DEPART L_3 ADVANCE 8,1 RELEASE
56、 F_3 TERMINATE 1,初步結(jié)構(gòu)6_5A,MEAN FUNCTION P$S_T,D3 ;服務(wù)間隔時間均值,,S_T為工序代碼1,10/2,9/3,8DEF FUNCTION P$S_T,D3 ;服務(wù)間隔時間方差,,S_T為工序代碼1,2/2,3/3,1W_QFUNCTIONP$S_T,E31,L_1/2,L_2/3,L_3W_F
57、FUNCTIONP$S_T,E31,F_1/2,F_2/3,F_3 GENERATE 10,3 ASSIGN Loop_C,3 ;設(shè)循環(huán)次數(shù)B_ACK ASSIGN S_T+,1 ;設(shè)置 P$S_T 為工序代號 QUEUE FN$W_Q SEIZE FN$W_F
58、 DEPART FN$W_Q ADVANCE FN$MEAN,FN$DEF RELEASE FN$W_F LOOP Loop_C,B_ACK ;循環(huán)判斷 TERMINATE 1,使用系統(tǒng)數(shù)字屬性碼簡化程序,課 后 練 習(xí),1. 讀懂上述例題2. 上機練習(xí)及實驗3. 改動部分
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論