Problem 9

Find all five of the steady-state queueing metrics for an M/D/1 queue, where D denotes a deterministic ‘distribution,’ i.e., the associated RV (in this case representing service times) is a constant with no variation at all (also called a degenerate distribution). State parameter conditions for your results to be valid; use the same meaning for , , , as we did in this chapter. Compare your results to those if D were replaced by a distribution with mean equal to the constant value from the original D distribution, except having at least some variation.

# Solve for M/D/1 function
get_MD1_Result<-function(lamda,miu){
  
  # p = lamda/miu
  Utilization <- round(lamda/miu,3)
  # ls = p + (1/2) (p^2/(1-p))
  ls<- round(Utilization +((1/2)*((Utilization^2)/(1-Utilization))),3)
  # lq = (1/2) (p^2/(1-p))
  lq<- round(((1/2)*((Utilization^2)/(1-Utilization))),3)
  # ws = (1/miu) +(p/(2*miu*(1-p)))
  ws<- round((1/miu)+(Utilization/(2*miu*(1-Utilization))),3)
  # wq = (p/(2*miu*(1-p)))
  wq<- round((Utilization/(2*miu*(1-Utilization))),3) 
  
  df<-data.frame(Utilization,ls,lq,ws,wq)
  return(df)
}
# Solve for M/M/1 function
get_MM1_Result<-function(lamda,miu){
  
  # p = lamda/miu
  Utilization <- round(lamda/miu,3)
  # ls = p/(1-p)
  ls<- round((Utilization/(1-Utilization)),3)
  # lq = p^2/(1-p)
  lq<- round(((Utilization^2)/(1-Utilization)),3)
  # ws = 1/miu*(1-p)
  ws<- round((1/(miu*(1-Utilization))),3)
  # wq = p/miu*(1-p)
  wq<- round(Utilization/(miu*(1-Utilization)),3) 
  
  df<-data.frame(Utilization,ls,lq,ws,wq)
  return(df)
}
IntervalTime<-1.25
ServiceTime<-1

arivalRate=1/IntervalTime
serviceRate=1/ServiceTime


md1<-get_MD1_Result(arivalRate,serviceRate)

mm1<-get_MM1_Result(arivalRate,serviceRate)

models<-rbind(md1,mm1)
row.names(models)<-c("M/D/1","M/M/1")
models
##       Utilization  ls  lq ws wq
## M/D/1         0.8 2.4 1.6  3  2
## M/M/1         0.8 4.0 3.2  5  4

The result of the M/M/1 verses M/D/1 shows that M/D/1 produces lower values that indicates a faster process and timing queueing system.

Problem 15

The following is the Simio model with random exponential arrival time of 1 and deterministic procees service rate of 1/0.9.

Model Parameters:

Model

Model

Experiment

Experiment

Results

Results

lets find the values using the M/D/1 funaction and then Compare the simulation to the theoretical result

IntervalTime<-1
ServiceTime<-0.9

arivalRate=1/IntervalTime
serviceRate=1/ServiceTime
MD1<-get_MD1_Result(arivalRate,serviceRate)

# represent Utilization in Percent
MD1[1]=MD1[1]*100
# Convert minutes to hours
MD1[4]=MD1[4]/60
MD1[5]=MD1[5]/60

SimoMD<-data.frame(Utilization=89.863,ls=4.9856,lq=4.0024,ws=0.0832,wq=.0668)
models<-rbind(MD1,SimoMD)
dif<-models[1,]-models[2,]
dif
##   Utilization      ls     lq     ws    wq
## 1       0.137 -0.0356 0.0476 -7e-04 7e-04
models<-rbind(models,dif)
row.names(models)<-c("Theoretical","Simulation ","Differences ")
models
##              Utilization      ls     lq      ws     wq
## Theoretical       90.000  4.9500 4.0500  0.0825 0.0675
## Simulation        89.863  4.9856 4.0024  0.0832 0.0668
## Differences        0.137 -0.0356 0.0476 -0.0007 0.0007

Simio File Link

.