

First: for anyone curious who doesn’t know what we’re talking about here, this YouTube video is by far the best at explaining what P vs NP is. This problem will explain what NP-Hard is, and more.
Traveling salesman doesn’t apply to Uber eats.
Just because it’s routing doent mean it’s traveling salesman.
Traveling salesman, and P vs NP is about the difficulty rapidly growing out of scope as the problem size increases.
For delivery, there are exactly 2 nodes. Pickup, delivery. This problem is beyond solved, it’s childs play.
Uber eats would fail to give you the best route to hit every taco bell in America the fastest. That’s traveling salesman. It’s traveling salesman because it’s be already out of scope to simply say “find me the best route to hit 1 McDonald’s in every Continental us state.” Even 48 nodes is insane.
Edit: to answer what kind of algorithms these applications use? They’re really simple greedy heuristics. Not complex at all.
For example, a greedy strategy for the travelling salesman problem (which is of high computational complexity) is the following heuristic: “At each step of the journey, visit the nearest unvisited city.” This heuristic does not intend to find the best solution, but it terminates in a reasonable number of steps.
That’s not really how Uber eats or similar apps work. Drivers are very rarely on more than 1 delivery at a time.
And again, until our problem size grows to a point where we cannot solve it in polynomial time, it is in P by definition.
Traveling salesman starts to evade computational time at around 20 to 30 nodes.
So because of this, as I said before, it employs a greedy heuristic to make light work on decent guesses for the problem, knowing the problem size will never get out of scope, so doing so is relatively safe.
You’re right that in theory multiple deliveries look like a tiny version of TSP, but in practice it’s nowhere near the scale that makes TSP an NP problem.