-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQueueMeanWaitingTime.R
61 lines (48 loc) · 1.22 KB
/
QueueMeanWaitingTime.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Assuming that the store opens for 5 hrs
close.time = 18000 # 5 hours expressed in minutes
customer_num = 1
arv.time = rexp(1, rate=(1/120))
wt.time = 0
st.time = arv.time
sp.time = rexp(1, rate=(1/180))
l.time= st.time+sp.time
customer = data.frame (customer_num, arv.time, wt.time, st.time, sp.time, l.time)
continue = TRUE
count= 1
sum= sp.time
while (continue ==TRUE)
{
arv.time= arv.time + rexp (1,rate= (1/120))
if (arv.time > close.time)
{
continue = FALSE
count= count+1
}
else if (arv.time > l.time)
{
wt.time = 0
st.time = arv.time
sp.time = rexp(1, rate=(1/180))
l.time= st.time+sp.time
count= count+1
sum = sum + sp.time
}
else
{
wt.time = l.time - arv.time
st.time = arv.time + wt.time
sp.time = rexp(1, rate=(1/180))
l.time= st.time+sp.time
count= count+1
sum = sum + sp.time
}
customer_num= count
customer= rbind(customer,c(customer_num, arv.time, wt.time, st.time, sp.time, l.time))
print(customer)
}
print (sum)
print (customer_num)
mean= sum/customer_num
print(mean)
write.table(customer," CustomerWaitingTime.txt " )
write( mean," MeanWaitingTime.txt ")