A Java program that simulates the working of a multi-server queueing model.
Cars (sedans or SUV's) arrive at random at a service station, where they are serviced by one of the following two servers:
- Sedan server
- SUV server
The sedan server provides faster service as compared to the SUV server.
By default, a car will be serviced by a server of its own type. However, if that server is currently busy, the following may occur:
- If the other server is currently free, the car will begin service at that server
- If the other server is also busy, the car will join the queue of its own server (i.e. a sedan cannot join the SUV server's queue)
The arrival time of the cars is distributed as:
| Arrival time | Probability |
|---|---|
| 1 | 25 |
| 2 | 40 |
| 3 | 20 |
| 4 | 15 |
The service times of the sedan and SUV servers are distributed as:
| Service time | Probability |
|---|---|
| 2 | 30 |
| 3 | 28 |
| 4 | 25 |
| 5 | 17 |
| Service time | Probability |
|---|---|
| 3 | 35 |
| 4 | 25 |
| 5 | 20 |
| 6 | 20 |
The number of cars to run the simulation for
The statistics for each car which includes:
- Car number
- Random digit for car type
- Car type
- Random digit for inter arrival time
- Inter arrival time
- Arrival time
- Served by
- Random digit for service time
- Service time
- Service start time
- Service end time
- Waiting time of the car
- Idle time of the server
The simulation statistics are also calculated, which includes:
- Average waiting time
- Probability that a customer has to wait
- Probability of sedan server being idle
- Probability of SUV server being idle
- Average service time
- Average time between intervals
- Average waiting time of those who wait