Inspiration
Inditex operates massive automated warehouses where thousands of boxes arrive every hour and must be sorted by destination. A poor placement strategy means robots travel further, pallets complete slower, and throughput drops. We wanted to see how much a smarter algorithm could actually matter.
What it does
Silo Optimizer simulates an automated warehouse with 7,680 storage positions and 32 autonomous shuttles. It runs three algorithms side-by-side - Naive (FIFO), Smart (greedy clustering), and Optimal (Hungarian assignment + hot/cold zones + EMA prediction) - on identical box streams and compares throughput, pallet completion rate, worst-case delivery times, and dropped boxes in real time.
How we built it
Backend: Python + FastAPI running three independent simulation engines simultaneously Algorithms: scipy's linear_sum_assignment for Hungarian matching; exponential moving average for demand forecasting; adaptive hot-zone placement that disables at high silo fill Frontend: React with a canvas-based live warehouse visualization showing shuttle positions, box destinations, and occupancy per aisle Data: initialized from a real Inditex warehouse CSV snapshot
Challenges we ran into
The Hungarian retrieval created a global assignment problem (32 shuttles × 8 active pallets) that needed to be solved every step without blocking the simulation Hot-zone placement would cause Z-layer blocking - a hot box at Z=2 trapped behind a cold box at Z=1 - fixed by restricting hot placements to Z=1 only
Accomplishments that we're proud of
Optimal beats Smart in 31 out of 36 load scenarios At high load (100 destinations, 7680 boxes): Optimal completes 67 pallets vs Smart's 42, while Smart drops 783 boxes and Optimal drops zero At 20 destinations / 2000 boxes: +50% more completed pallets vs Smart Live visualization lets you switch between algorithm views mid-simulation and watch each engine's shuttles move independently
What we learned
Greedy local optimizations (top-4 lane selection) can silently fail at scale - always design a fallback Hungarian matching shines when you need global fairness across resources; greedy per-shuttle retrieval causes all robots to crowd the same hot pallet EMA smooths over bursty arrival patterns better than raw counts for deciding which pallets to open next
What's next for Silo optimizer
We will see...
Log in or sign up for Devpost to join the conversation.