Write a program in C that simulates a checkout line at a supermarket. The line is a queue object. Customers (i.e., customer objects) arrive in random integer intervals of 1–4 minutes. Also, each customer is served in random integer intervals of 1–4 minutes. Obviously, the rates need to be balanced. If the average arrival rate is larger than the average service rate, the queue will grow infinitely. Even with “balanced” rates, randomness can still cause long lines. Run the supermarket simulation for a 12-hours a day (720 minutes) using the following algorithm: 1. Choose a random integer from 1 to 4 to determine the minute at which the first customer arrives. 2. At the first customer’s arrival time: Determine customer’s service time (random integer from 1 to 4); Begin servicing the customer. Schedule arrival time of next customer (random integer 1 to 4 added to the current time). 3. For each minute of the day: If the next customer arrives, Say so, Enqueue the customer. Schedule the arrival time of the next customer. If service was completed for the last customer, Say so Dequeue next customer to be serviced. Determine customer’s service completion time (random integer from 1 to 4 added to the current time). Now run your simulation for 720 minutes and answer each of the following: a) What is the maximum number of customers in the queue at any time? b) What is the longest wait in any one customer experienced? c) What happens if the arrival interval is changed from 1 to 4 minutes to 1-3 minutes?
Write a program in C that simulates a checkout line at a supermarket. The line is a queue object. Customers (i.e.,
customer objects) arrive in random integer intervals of 1–4 minutes. Also, each customer is served in random
integer intervals of 1–4 minutes. Obviously, the rates need to be balanced. If the average arrival rate is larger
than the average service rate, the queue will grow infinitely. Even with “balanced” rates, randomness can still
cause long lines. Run the supermarket simulation for a 12-hours a day (720 minutes) using the following
algorithm:
1. Choose a random integer from 1 to 4 to determine the minute at which the first customer arrives.
2. At the first customer’s arrival time:
Determine customer’s service time (random integer from 1 to 4);
Begin servicing the customer.
Schedule arrival time of next customer (random integer 1 to 4 added to the current time).
3. For each minute of the day:
If the next customer arrives,
Say so,
Enqueue the customer.
Schedule the arrival time of the next customer.
If service was completed for the last customer,
Say so
Dequeue next customer to be serviced.
Determine customer’s service completion time
(random integer from 1 to 4 added to the current time).
Now run your simulation for 720 minutes and answer each of the following:
a) What is the maximum number of customers in the queue at any time?
b) What is the longest wait in any one customer experienced?
c) What happens if the arrival interval is changed from 1 to 4 minutes to 1-3 minutes?
Trending now
This is a popular solution!
Step by step
Solved in 3 steps