A discrete event simulation of a single-server bank queue system implemented in Java for my Computer Simulations and Modeling unit.
- Simulate 100 customers in a single-server bank queue
- Model uniform arrival times: U(1,8) minutes
- Model uniform service times: U(1,6) minutes
- Calculate comprehensive queue statistics and performance metrics
- Discrete event simulation engine
- Comprehensive customer tracking
- Queue performance analysis
- Statistical summary reporting
- Professional formatted output
- Java 11 or higher
- IntelliJ IDEA (recommended)
- Maven (for project management)
bank-queue-simulation/
├── README.md
├── .gitignore
├── src/
│ └── main/
│ └── java/
│ └── com/
│ └── simulation/
│ └── bank/
│ ├── BankQueueSimulation.java
│ ├── Customer.java
│ └── SimulationStatistics.java
├── docs/
│ ├── assignment-requirements.md
│ ├── simulation-analysis.md
│ └── results/
└── .idea/ (IntelliJ project files)
- Clone the repository
- Open in IntelliJ IDEA
- Run
BankQueueSimulation.main()
- View detailed results and statistics
The simulation provides:
- Detailed customer-by-customer statistics table
- Summary statistics including averages and maximums
- Queue performance metrics
- Server utilization analysis
Key concepts included:
- Discrete event simulation
- Queueing theory (M/M/1 queue approximation)
- Random number generation
- Statistical analysis
- Performance modeling
This academic project is licensed under the MIT License. See the LICENSE file for details.