Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

You will be creating and analysing a checkout (queue) model for ACME QuickMart, a general store in a small, but growing regional town. QuickMart's managers are very proud of their excellent quick...

1 answer below »
You will be creating and analysing a checkout (queue) model for ACME QuickMart, a general store
in a small, but growing regional town.
QuickMart's managers are very proud of their excellent quick service. The store currently only has
one queue and one checkout counter but, with a growing population, management is considering
new checkout options. They've done their market research of similar stores and want to compare
their one queue, one checkout station to the checkout models below:
•
one queue with three checkout stations, but the 2
one is only opened if 3 or more
nd
customers are waiting in the first line and the 3
one is only opened if 2 or more customers
rd
are waiting in the second line.
•
three queues with three checkout stations, where one is an express station for customers
with 8 or fewer items. The other two checkout stations are normal stations. If no customers
are in the express queue, the express checkout server will take the next customer in the
non-express queue with more waiting customers. If two queues have the same number of
customers, the express checkout server will take the next customer in the first queue.
QuickMart's management would like you to provide some analysis and recommendations on which
checkout configuration would provide the quickest checkout service for their customers
Answered 14 days After Aug 28, 2022

Solution

Jahir Abbas answered on Sep 11 2022
66 Votes
import numpy as np
import pandas as pd
class QuickMart_Simulation:
def __init__(self):
self.clock=0.0 #simulation clock
self.num_a
ivals=0 #total number of a
ivals
self.t_a
ival=self.gen_int_a
() #time of next a
ival
self.t_departure1=float('inf') #departure time from server 1
self.t_departure2=float('inf') #departure time from server 2
self.dep_sum1=0 #Sum of service times by counter 1
self.dep_sum2=0 #Sum of service times by counter 2
self.state_T1=0 #cu
ent state of server1 (binary)
self.state_T2=0 #cu
ent state of server2 (binary)
self.total_wait_time=0.0 #total wait time
self.num_in_q=0 #cu
ent number in queue
self.number_in_queue=0 #customers who had to wait in line(counter)
self.num_in_system=0 #cu
ent number of customers in system
self.num_of_departures1=0 #number of customers served by counter 1
self.num_of_departures2=0 #number of customers served by counter 2
self.lost_customers=0 #customers who left without service
def time_adv(self): #timing routine
t_next_event=min(self.t_a
ival,self.t_departure1,self.t_departure2) #determine time of next event
self.total_wait_time += (self.num_in_q*(t_next_event-self.clock))
self.clock=t_next_event
if self.t_a
ivalivalself.a
ival()
elif self.t_departure1ival and self.t_departure1self.counter1()
else:
self.counter2()
def a
ival(self):
self.num_a
ivals += 1
self.num_in_system += 1
if self.num_in_q == 0: #schedule next...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here