This project is the second semester work for the Discrete Optimization course at the Faculty of Management Science and Informatics (FRI), University of Žilina.
It's a custom-built discrete-event simulation (DES) modeling the passenger flow through an airport security checkpoint. The primary business goal was to determine the maximum terminal capacity (passengers per 24 hours) for negotiations with an airline, ensuring that strict passenger comfort metrics are not violated.
- Custom Event-Driven Core: Built a robust simulation engine (
EventSimulationCore) from scratch using a Priority Queue for the event calendar. It includes custom statistics tracking for both arithmetic and time-weighted means, as well as 95% confidence intervals. - Algorithmic PRNGs: Implemented and Chi-square-tested custom pseudorandom number generators for uniform (discrete/continuous), exponential, and triangular distributions using only standard language libraries.
- Complex Queuing Logic: The simulation accurately models a two-line security system. It handles constraints like a maximum of 4 trays on the input belt and 5 trays on the output belt, creating realistic blockages. It simulates the parallel processing of people (metal detectors) and their luggage (X-Ray).
- Arrivals: Modeled via a Poisson process (Exponential distribution).
- Luggage Count: Passengers carry 0 (15%), 1 (68%), or 2 (17%) trays.
- Processing Times:
- Metal detector: Uniform continuous <6, 27) seconds.
- X-Ray check: Uniform continuous <9, 46) seconds.
- Personal search (19% probability): Triangular distribution (min = 10s, mode = 35s, max = 120s).
After extensive testing and sensitivity analysis utilizing 10,000 replications per experiment, the absolute optimal system capacity was found to be 5 707 passengers per 24 hours.
At this exact threshold, the system successfully meets all required comfort conditions:
- The average number of passengers waiting to drop off trays is under 20.
- The average number of passengers waiting to pick up trays is under 10.
- The average time a passenger spends in the system is under 10 minutes.
Adding just one more passenger (5 708) causes a severe bottleneck at the luggage drop-off point, skyrocketing the queue size.