4.3 某一個加油站能夠配給三個級別的燃油:①家庭取暖用的燃油;②輕工業用的燃油;③運輸用的燃油。每一級別的燃油都有一個對應的油泵。訂單中燃油的數量在3000加侖和5000加侖中變化,每次增加10加侖,是均勻分佈。這個站點最多能容納12輛車。來加油站裝油的汽車到達的平均時間間隔是18分鐘(服從指數分佈),模擬加油站5天的運營情況,假設車輛加滿油所需的時間由以下因素決定:
(1)油泵效率(對①②③這三種油分別為每1000加侖需要6,5和7分鐘)。
(2)訂單的大小。
(3)開始加油時站點已容納的車輛數量(每一輛車需要額外的30秒)。
(4)兩分鐘的準備和安裝時間。
解:
Station STORAGE 12
VCT FUNCTION RN1,D3 ;RN1作為自變數返回一個0~1的小數
.333,6/.667,5/1,7 ;等概率進入3種油泵處加油
GENERATE (EXPONENTIAL(1,0,18))
QUEUE q_gas
ENTER Station
ADVANCE ((3000+RN1@201#10)#FN$VCT/1000+0.5#S$Station+2) ;
LEAVE Station
DEPART q_gas
TERMINATE
GENERATE 60
TERMINATE 1
START 120 ;24h*5d
解析:
ADVANCE中分別表示4個因素:
(3000+RN1@201#10)#FN$VCT/1000
:訂單的大小;油泵效率
0.5#S$Station
:每一輛車需要額外的30秒
2
:兩分鐘的準備和安裝時間
指數分佈函數:
自定義函數:
離散值函數:
SNA碼:
運運算元:
3.7 A、B、C是三個汽車清洗店,汽車以8±5分鐘到達。服務以每15±6分鐘完成一輛,每個清洗店同時只能清洗一輛汽車。顧客喜歡A超過喜歡B,喜歡B超過喜歡C。若喜歡的清洗店忙的話,則選擇空的清洗店,否則離開,若到達和離開事件同時發生時優先處理離開事件。模擬100小時,估算三家汽車清洗店的利用率。若沒有空的清洗店,則要排隊等待,又將如何?(提示:對於第二問可以在第一問的基礎上增加一個容量為3的記憶體來實現)
解:
第一問-both方法
generate 8,5
transfer both,a,sel1
sel1 transfer both,b,sel2
sel2 transfer both,c,out
out terminate
a seize a1
advance 15,6
release a1
terminate
b seize b1
advance 15,6
release b1
c seize c1
advance 15,6
release c1
terminate
generate 60
terminate 1
start 100
第一問-all方法
GENERATE 8,5
RANSFER ALL,ADDI,ADD4,4
ADD1 SEIZE 1
ADVANCE 15,6
RELEASE 1
TERMINATE
ADD2 SEIZE 2
ADVANCE 15,6
RELEASE 2
TERMINATE ADD3
ADD3 SEIZE 3
ADVANCE 15,6
RELEASE 3
TERMINATE
ADD4 TERMINATE GENERATE 6000
TERMINATE 1
START 1
第二問-both方法
que storage 3
generate 8,5
enter que
transfer both,a,sel
sel transfer both,b,c
a seize a1
advance 15,6
release a1
leave que
terminate
b seize b1
advance 15,6
release b1
leave que
terminate
c seize c1
advance 15,6
release c1
leave que
terminate
generate 60
terminate 1
start 100
3.12 顧客進人一個系統,要按序列經過兩個服務站。第一站上有三位服務員,其服務質量相同,服務時間為335±160秒。第二站上只有一位服務員,服務時間為110±75秒,顧客以每隔120±50秒到達一位。如果站上服務員全忙,則顧客在相應的佇列等待,要求按下列兩種情況分別建立GPSSWorld模型,執行24小時,統計顧客逗留在系統中的平均時間情況,第一,假定兩個佇列的空間不受限制;第二,第二站上佇列只有一個位置,以完成第一站服務的顧客發現第二站佇列位置被佔領時,不能離開第一站服務位置,即後面等待顧客不能進人第一站服務。
解:
FW1_BAR STORAGE 3
GENERATE 120,50
QUEUE Q_FW1
ENTER FW1_BAR
DEPART Q_FW1
ADVANCE 335,160
LEAVE FW1_BAR
QUEUE Q_FW2
SEIZE S_FW2
DEPART Q_FW2
ADVANCE 110,75
RELEASE S_FW2
TERMINATE
GENERATE 60
TERMINATE 1
START 24