Drive, Pack, Fly: The Travelling Thief Problem with Drone
Organizations: Nirma University, SG Highway, Ahmedabad 382481, Gujarat, India · Indian Institute of Management Bangalore, Bannerghatta Road, Bengaluru 560076, Karnataka, India
Abstract
In collection operations, accumulating payload progressively slows the vehicle, imposing a cumulative penalty on routing efficiency. An onboard drone can offset this penalty by retrieving outlying items, thereby shortening the makespan and increasing operational profit. However, travel time remains load-dependent, and each item collected by the ground vehicle shifts the arrival times that govern the drone's launch and rendezvous points. This paper introduces the Travelling Thief Problem with Drone (TTP-D), which maximises the collected profit, net of a time-based rental cost, by jointly optimising item selection, vehicle routing, and flight synchronisation. We formulate a mixed-integer linear program that solves small instances to optimality, and develop both metaheuristics and an attention-based Deep Reinforcement Learning (DRL) policy for larger instances. We further propose a learner-initialised hybrid solver, in which the DRL policy constructs an initial solution that a short annealing run subsequently refines. On two benchmark sets, this hybrid recovers most of the metaheuristic baseline's quality at a fraction of its computational budget, although the largest instances still require the baseline at its full budget. Finally, a sensitivity analysis reveals that the rental ratio is the primary driver of profitability, whereas the fleet parameters affect profit only at the margin.
Figures & tables
| Symbol | Type | Meaning |
| Sets and indices | ||
| set | Customers, indexed | |
| Number of customers, | ||
| set | Nodes, , the source and sink depots and the customers | |
| set | Arcs, | |
| set | Out-arcs and in-arcs at node , respectively | |
| Symbol | Type | Meaning |
| Metaheuristics (Section 5.1 ) | ||
| tuple | Incumbent solution , and a feasible neighbour | |
| vector | Order in which the truck visits its customers | |
| set | Drone sorties, each defined as a triple | |
| vector | Packing configuration, with binary components | |
| Change in objective function value from a move; | ||
| Parameter | Value |
|---|---|
| Instance name | a280-TTP |
| Dimensions | 280 nodes, 1395 items |
| Renting ratio ( ) | 72.70 |
| Knapsack capacity | (scaled per size to ) |
| Truck speed range | |
| Drone speed factor |
| Method | Mean | ||||||||||||||
| Gap | Time | Gap | Time | Gap | Time | Gap | Time | Gap | Time | Gap | Time | Gap | Time | ||
| MILP | 0.00 | 0.5 | 0.00 | 49.1 | 0.36 | 66,945 | 2.61 | 86,400 | |||||||
| SA | 0.00 | 10 | 0.22 | 30 | 0.00 | 120 | 0.09 | 301 | 0.00 | 451 | 0.00 | 600 | 0.00 | 750 | 0.04 |
| VNS | 0.00 | 10 | 0.22 | 30 | 0.32 | 120 | 0.19 | 300 | 5.14 | 450 | 17.28 | 600 | 27.07 | 750 | 7.17 |
| MLP | 0.00 | 3.6 | 4.85 | 9.6 | 3.88 | 25 | 5.41 | 43 | 15.09 | 25.8 | 21.30 | 58.6 | 19.12 | 40.6 | 9.95 |
| GAT | 0.34 | 3.5 | 2.69 | 11 | 3.91 | 25 | 4.91 | 40 | 11.48 | 23.1 | 15.68 | 50.3 | 19.92 | 41.6 | 8.42 |
| Parameter | Value |
|---|---|
| Topology | Uniform integer coordinates on , ceiling of Euclidean distance |
| Sizes | , 5 layouts (L1–L5) each |
| Items | per customer, , |
| Capacity | , fixed per size |
| Rental ratio ( ) | |
| Truck speed range |
| Method | Mean | ||||||||||||||
| Gap | Time | Gap | Time | Gap | Time | Gap | Time | Gap | Time | Gap | Time | Gap | Time | ||
| SA (reference) | 0.00 | 120 | 0.00 | 300 | 0.00 | 450 | 0.00 | 600 | 0.00 | 750 | 0.00 | 975 | 0.00 | 1,200 | 0.00 |
| GAT | 2.37 | 25 | 18.04 | 72 | 29.77 | 137 | 26.05 | 260 | 37.84 | 458 | 33.26 | 1,372 | 51.05 | 3,098 | 28.34 |
| LISA, | 0.00 | 6 | 0.85 | 15 | 5.81 | 22.5 | 5.23 | 30 | 13.60 | 37.5 | 17.82 | 48.8 | 31.65 | 60 | 10.71 |
| LISA, | 0.00 | 12 | 0.76 | 30 | 2.64 | 45 | 6.51 | 60 | 10.83 | 75 | 15.33 | 97.5 | 18.00 | 120 | 7.72 |
| LISA, | 0.00 | 24 | 0.33 | 60 | 2.95 | 90 | 4.09 | 120 | 8.38 | 150 | 11.80 | 195 | 17.62 | 240 | 6.45 |
| Constraints | big- | Tight Bound | Comment |
|---|---|---|---|
| Drone payload, weight propagation | Total weight of all available customer items. | ||
| Truck timing | Worst-case traversal time assuming arcs at distance and minimum velocity . | ||
| Drone timing | Makespan of a nearest-neighbour warm-start tour evaluated at minimum velocity . |
| Group | Parameter | Value |
| Encoder | layers / model dim / heads / FF dim | / / / |
| activation / normalisation / dropout | GELU / pre-norm LayerNorm / | |
| node features | coordinates, , | |
| Decoder | pointer clipping constant | |
| state scalars | ||
| binary heads | MLP , GELU |
| Method | |||||||
|---|---|---|---|---|---|---|---|
| SA | 0.00 | 0.33 | 0.76 | 0.94 | 1.98 | 1.94 | 2.34 |
| VNS | 0.01 | 0.00 | 0.42 | 3.02 | 5.04 | 5.49 | 4.96 |
| Cities | Avg | Max | Util | Tr | Dr | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| 10 | 0.25 | 43,618 | 45,243 | 1,626 | 4.0 | 2.50 | 4.0 | 44% | 4.0 | 0.0 |
| 0.50 | 37,994 | 41,253 | 3,259 | 4.0 | 3.25 | 5.0 | 57% | 2.0 | 2.0 | |
| 0.75 | 30,665 | 34,623 | 3,958 | 6.0 | 2.83 | 5.0 | 75% | 3.0 | 3.0 | |
| 1.00 | 25,665 | 29,670 | 4,004 | 7.0 | 2.57 | 5.0 | 80% | 3.0 | 4.0 | |
| 20 | 0.25 | 46,906 | 54,905 | 7,998 | 13.0 | 2.85 | 5.0 | 82% | 8.0 | 5.0 |
| 0.50 | 38,310 | 48,705 | 10,395 | 13.0 | 2.92 | 5.0 | 84% | 8.0 | 5.0 |
| T/D/C | T/D/C | T/D/C | T/D/C | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 10 | 0 | 45,243 | 5.0/0.0/0.0 | 45,243 | 5.0/0.0/0.0 | 46,738 | 3.0/0.0/0.0 | 45,819 | 5.0/0.0/0.0 |
| 0.5 | 45,243 | 5.0/0.0/0.0 | 43,646 | 4.0/1.0/1.0 | 41,515 | 4.0/1.0/2.0 | 40,142 | 5.0/1.0/1.0 | |
| 1 | 45,243 | 5.0/0.0/0.0 | 42,123 | 5.0/2.0/2.0 | 38,215 | 5.0/4.0/4.0 | 36,644 | 5.0/3.0/4.0 | |
| 2 | 45,243 | 5.0/0.0/0.0 | 41,253 | 3.0/2.0/2.0 | 34,623 | 4.0/3.0/4.0 | 29,670 | 4.0/5.0/5.0 | |
| 3 | 45,243 | 5.0/0.0/0.0 | 41,253 | 3.0/2.0/2.0 | 33,877 | 3.0/3.0/4.0 | 28,486 | 4.0/3.0/5.0 | |
| Param | Value | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| baseline | — | 0.25 | 45,243 | 54,905 | 52,774 | 43,626 | 45,767 | 43,424 | 44,720 |
| 0.50 | 41,253 | 48,705 | 36,715 | 32,699 | 27,221 | 33,963 | 38,322 | ||
| 0.75 | 34,623 | 29,439 | 30,404 | 32,804 | 27,166 | 34,561 | 32,453 | ||
| 1.00 | 29,670 | 27,953 | 29,843 | 32,515 | 27,858 | 31,554 | 38,929 | ||
| 1 | 0.25 | 7,415 | 16,039 | 23,626 | 32,842 | 38,891 | 56,857 | 81,349 | |
| 0.50 | 7,507 | 16,178 | 24,009 | 33,063 | 39,240 | 57,062 | 81,543 |
| Param | Value | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 0.05 | 0.25 | 45,335 | 55,161 | 54,348 | 45,032 | 46,223 | 45,123 | 46,756 | |
| 0.50 | 41,376 | 48,976 | 36,955 | 34,944 | 29,299 | 35,728 | 38,455 | ||
| 0.75 | 34,792 | 29,434 | 32,166 | 33,620 | 29,972 | 33,541 | 40,192 | ||
| 1.00 | 29,826 | 28,415 | 30,050 | 33,627 | 29,838 | 36,160 | 41,311 | ||
| 0.1 | 0.25 | 45,243 | 54,905 | 52,774 | 43,626 | 45,767 | 43,424 | 44,609 | |
| 0.50 | 41,253 | 48,705 | 36,715 | 32,699 | 27,221 | 33,963 | 37,082 |
| Net objective | |||||||
|---|---|---|---|---|---|---|---|
| 0.25 | 41,934 | 51,283 | 47,430 | 48,082 | 47,842 | 36,661 | 35,002 |
| 0.50 | 38,444 | 39,297 | 33,850 | 33,602 | 31,221 | 29,438 | 29,890 |
| 0.75 | 31,818 | 28,656 | 29,228 | 32,053 | 30,681 | 30,538 | 29,639 |
| 1.00 | 25,790 | 27,292 | 29,213 | 31,902 | 31,671 | 30,654 | 31,986 |
| Makespan | |||||||
Combinatorial Optimization
Combinatorial optimization finds the best feasible choices among discrete alternatives in routing, scheduling, graph problems, and resource allocation.
See all 382 papers