A Mixed-Integer Linear Programming (MILP) solution for the Flying Sidekick Traveling Salesman Problem (FSTSP). This project optimizes last-mile delivery routes by coordinating a truck and a drone to minimize total operation time.
In modern logistics, combining traditional trucks with drones can significantly reduce delivery times. The truck acts as a moving launchpad, performing deliveries while launching a drone to serve customers within a radius $R$. The drone travels $K$ times faster than the truck and must return to the vehicle at a rendezvous node.
Key Constraints:
The problem is modeled using Gurobi Optimizer.
Objective Function: \(\min \sum_{i,j} (K \cdot d_{ij} \cdot x_{ij}) + \sum_{i,j} (2 \cdot d_{ij} \cdot y_{ij})\)
Where:
We tested the model on random instances (15 to 35 nodes). The hybrid approach demonstrated significant efficiency gains compared to the traditional Truck-Only TSP.
| Instance | Nodes | Truck Only Cost | Hybrid Cost | Improvement |
|---|---|---|---|---|
inst_35_0 |
35 | 3736.83 | 3324.46 | ~11% |
inst_20_1 |
20 | 2870.62 | 2677.91 | ~6.7% |
Blue lines: Truck Path | Red dashed lines: Drone Flight

git clone [https://github.com/Dev-Toledo/tsp-drone-solver.git](https://github.com/Dev-Toledo/tsp-drone-solver.git)
pip install -r requirements.txt
python src/solver.py
Language: Python
Solver: Gurobi Optimizer (gurobipy)
Visualization: Matplotlib & Folium
This project is licensed under the MIT License.
Caio Toledo - Github / LinkedIn