Skip to content

Python-based simulation of a supermarket checkout system that models customer arrivals, queue management, and cashier efficiency. Uses probability and timing logic to analyze waiting times and optimize checkout performance.

License

Notifications You must be signed in to change notification settings

Unixx291/Supermarket-Checkout-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Supermarket-Checkout-Simulation

Python-based simulation of a supermarket checkout system that models customer arrivals, queue management, and cashier efficiency. Uses probability and timing logic to analyze waiting times and optimize checkout performance.


🛒 Supermarket Checkout Simulation 🧭 Overview

This project simulates a supermarket checkout system to study and optimize queue management, customer flow, and lane efficiency. It models both regular checkout lanes and a self-service lane, using object-oriented programming principles (inheritance, abstraction, and encapsulation) to represent real-world supermarket dynamics.

A Tkinter GUI is included for interactive control, allowing users to start, stop, and monitor the simulation visually.

⚙️ Features:

🧍 Dynamic customer generation: Randomly creates customers with varying basket sizes and checkout times

🧾 Lane management: Customers are automatically distributed between regular and self-service lanes

⏱️ Concurrent processing: Multithreading simulates multiple customers checking out simultaneously

🎰 Lottery system: Some customers with large baskets have a small chance of “winning”

🪟 Graphical interface (Tkinter): Start, stop, and monitor the simulation in real time

🧩 OOP design: Reusable lane classes with inheritance for regular and self-service checkouts

🧠 Technical Details

Language: Python 3.10

Core Concepts:

Object-Oriented Programming (OOP)

Multithreading

Discrete Event Simulation

GUI Development (Tkinter)

Main Libraries:

threading — to simulate simultaneous checkouts

random — for stochastic customer behavior

tkinter — for GUI

datetime — for time tracking

About

Python-based simulation of a supermarket checkout system that models customer arrivals, queue management, and cashier efficiency. Uses probability and timing logic to analyze waiting times and optimize checkout performance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages