Write a program that simulates a check-out line at a supermarket. The line is a queue.
Customers arrive in a random integer intervals of 1 to 4 minutes. Also, each customer is serviced in random integer intervals of 1 to 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 2-hour day (120 minutes) using the following algorithm:
1) Choose a random integer between 1 and 4 to determine the minute at which the first customer arrives.
2) At the first customer's arrival times:
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,enqueue the customer, and schedule the arrival time of the next customer;
If service was completed for the current customer,dequeue next customer to be serviced, and determine customer's service completion time (random integer from 1 to 4 added to the current time).
Now run your simulation for 120 minutes and print out the followings:
a) The maximum number of customers in the queue at any time.
b) The longest wait any one customer experienced