A Python project to simulate and optimize Amazon delivery truck routes.
It models delivery addresses, constructs routes, applies optimization heuristics, schedules multiple trucks, and handles dynamic deliveries (new orders each day).
- Address & Route Modeling: Delivery points with coordinates, Prime flag, and depot handling.
- Greedy Route Construction: Nearest-neighbor heuristic for quick route generation.
- 2-opt Optimization: Improves routes by swapping path segments.
- Multi-Truck Scheduling: Splits deliveries across multiple trucks.
- Amazon Prime Constraint: Keeps Prime deliveries fixed.
- Dynamic Simulation: Adds new deliveries each day and runs scheduling.
amazon_truck_scheduling/
โ
โโโ amazon/ # Core package
โ โโโ address.py # Address class
โ โโโ address_list.py # AddressList utilities
โ โโโ route.py # Route construction
โ โโโ optimizer.py # Route optimization (2-opt)
โ โโโ scheduler.py # Multi-truck scheduling
โ โโโ simulation.py # Dynamic delivery simulation
โ
โโโ main.py # Entry point (demo & tests)
โโโ tests/ # Unit tests
โโโ data/ # Sample input data
โโโ README.md # Project overview
git clone https://github.com/yourusername/amazon-truck-scheduling.git
cd amazon-truck-schedulingpython main.pypytest tests/--- Single Route (Greedy + 2-opt) ---
Greedy route: [Depot -> A1 -> A2 -> ... -> Depot]
Optimized route length: 72.1
--- Multi-Truck Scheduling ---
Truck 1 route: [Depot -> ...] | Length: 50.3
Truck 2 route: [Depot -> ...] | Length: 46.7
--- Simulation (Dynamic Deliveries) ---
Day 1 - Truck 1 route: [Depot -> ...] | Length: 40.2
Day 1 - Truck 2 route: [Depot -> ...] | Length: 42.8
- Genetic Algorithm-based optimization
- Real-world datasets (OSM, Google Maps API)
- Fuel/time cost modeling
- Visualization of routes on a map
MIT License โ free to use and modify.