Cafeteria Line Simulation for Shorter Waits
ISEF Category: Engineering Technology: Statics and Dynamics
Ready to Turn This Idea Into a Real Project?
This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.
For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
Subcategory: Industrial Engineering-Processing · Difficulty: Advanced · Setup: School Lab · Time: Full Year
The Hook
A school lunch line can waste more time than a homework assignment. If students pile into one station, the line grows like a traffic jam at rush hour. A simple rerouting app can act like a smart traffic signal and send people where the line is shorter. Your job is to test whether the idea really works before anyone trusts it.
What Is It?
This project uses a discrete-event simulation, which means you model a system as a series of events that happen over time, like students arriving, choosing a line, and finishing service. SimPy is a Python tool that helps you build that kind of model. Instead of guessing, you can test how different cafeteria layouts, line rules, and app prompts change average wait time, total throughput, and line imbalance.
Think of the cafeteria like a set of checkout lanes at a store. If everyone heads to the same lane, the system slows down even if other lanes are open. A virtual maître-d' app acts like a host in a restaurant, guiding students to a less crowded option. The simulation lets you compare that guidance against real wait data from your school, so your model is grounded in how people actually behave, not just in theory.
Why This Is a Good Topic
This is a strong science fair topic because you can measure it, model it, and improve it. Wait time, queue length, and service rate all produce clean numbers, so your results are easy to analyze. The project connects to a real problem schools care about, and you can show how industrial engineering helps move people more efficiently. You can also learn modeling, data validation, and statistics without needing a university lab.
Research Questions
- How does rerouting students to the shorter line affect average cafeteria wait time?
- What is the effect of different student arrival patterns on the longest line length?
- Does adding a virtual maître-d' app reduce the percent of students who wait more than a set threshold?
- To what extent do service-speed differences between food stations change the best routing rule?
- Which routing rule, shortest line, random assignment, or balanced assignment, produces the lowest total system delay?
- How does using one year of measured wait distributions improve simulation accuracy compared with a simple average-based model?
Basic Materials
- Laptop or desktop computer with Python installed.
- Python packages, SimPy, pandas, NumPy, and matplotlib.
- Spreadsheet software for organizing observed wait-time data.
- Stopwatch or phone timer for collecting wait measurements.
- Clipboard or data sheet for recording arrival times, line choices, and departure times.
- Access to the cafeteria area for observation, with school approval.
- Graph paper or a digital notebook for sketching the process flow.
Advanced Materials
- Laptop or desktop computer with Python installed.
- Python packages, SimPy, pandas, NumPy, matplotlib, and SciPy.
- Access to anonymized cafeteria transaction or traffic data, if available.
- Queue-length sensor data or manual tally logs for validation.
- Statistical software such as R or Python stats libraries for hypothesis tests and confidence intervals.
- Network analysis or optimization tools for testing routing policies.
- Institutional review or school permission documents for student observation.
Software & Tools
- SimPy: Builds the discrete-event model of students, lines, and service stations.
- Python: Runs the simulation and handles the data analysis.
- pandas: Organizes wait-time records, arrival logs, and summary tables.
- matplotlib: Makes charts of queue length, wait time, and model fit.
- SciPy: Helps test whether differences between routing rules are statistically meaningful.
Experiment Steps
- Define the cafeteria process you want to model, including arrivals, line choice, service, and exit.
- Choose the one decision rule you will test first, such as shortest line routing or app-based rerouting.
- Collect real wait-time and arrival data so you can set realistic inputs and validation targets.
- Build a baseline simulation that matches the current cafeteria flow before adding any new routing rule.
- Compare several routing policies with the same arrival data so the results reflect the policy, not random noise.
- Check model accuracy against the school-year observations and revise the assumptions that create the largest error.
Common Pitfalls
- Using only average wait time, which hides crowded peaks that matter to students.
- Collecting data on just one lunch period, which makes the model too sensitive to a single unusual day.
- Ignoring station differences, which treats a slow serving line the same as a fast one.
- Testing the app rule without a baseline model, which makes it hard to prove any improvement.
- Skipping validation against real observations, which can make a neat simulation look believable even when it misses how the cafeteria actually works.
What Makes This Competitive
A stronger version of this project goes beyond a simple before-and-after comparison. You can test several routing rules, validate the model against real school data, and use statistics to show which rule wins under different traffic patterns. You can also analyze fairness, not just speed, by checking whether one group of students gets stuck with longer waits. If you build a model that predicts when the app helps and when it hurts, your project starts to look like real operations research.
Project Variations
- Test the model on breakfast service instead of lunch to see whether smaller crowds change the best routing rule.
- Compare a single multi-line cafeteria layout with two separate food stations to measure how layout changes queue balance.
- Add a fairness analysis that checks whether certain arrival times, grade levels, or class periods get worse wait times under rerouting.
Learn More
- SimPy documentation: Search the official SimPy documentation for examples of discrete-event queue models and resource handling.
- MIT OpenCourseWare, Introduction to Operations Research: Find free lecture materials on queueing, optimization, and systems design.
- NIST Engineering Statistics Handbook: Look up sections on validation, uncertainty, and comparing models to measurements.
- Queueing Systems, journal: Search library databases or journal platforms for review articles on queueing theory and service systems.
- Python documentation: Use the official Python docs for syntax, data structures, and file handling.
- NOAA and NASA data literacy resources: Use their free guides for graphing, uncertainty, and comparing real data to models.
Engineering Technology: Statics and Dynamics pillar guide
How to Do Real Engineering Technology Research at Home: A High School Student’s Guide to Free Tools, Affordable Kits, and Public Databases →