Kelton et al. (2014): Problem 4.10.14 Part c

\(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

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

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.