\(M/G/1\) queue, \(\lambda\) = 1 per minute, gamma(2.00, 0.45) service time distribution
lambda <- 1
k <- 2.00
theta <- 0.45
mu <- 1 / (k * theta)
st_dev <- sqrt(k * theta^2)
MG1 <- data.frame(W_q = numeric(1),
W = numeric(1),
L_q = numeric(1),
L = numeric(1),
p = numeric(1))
MG1$p <- lambda / mu
MG1$W_q <- (lambda * (st_dev^2 + 1 / mu^2)) / (2 * (1 - lambda/ mu))
MG1$L_q <- lambda * MG1$W_q
MG1$W <- MG1$W_q + (1 / mu)
MG1$L <- lambda * MG1$W
knitr::kable(MG1)
| W_q | W | L_q | L | p |
|---|---|---|---|---|
| 6.075 | 6.975 | 6.075 | 6.975 | 0.9 |
Running Simio model of M/G/1 queue with gamma(2, 0.45) distribution of service times
Simio results of experiment with 10 iterations of 98-day long simulation with 14-day warm-up period
The simulated results closely match the theoretical steady-state conditions of the given queue system. Building the model was a straightforward process given its relative simplicity and similarity to the other single server queue systems with exponentially distributed arrival times encountered earlier in the course. I chose 14 days for the length of the warm up period for the 10 iteration experiment in Simio because the average time in queue and in system, average number of entities in queue and in system, and average utilization metrics in a single simulation run began to approach the values of their counterparts calculated on the basis of queueing theory near that interval.