this post was submitted on 25 Apr 2025
15 points (85.7% liked)

No Stupid Questions

40335 readers
1161 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here. This includes using AI responses and summaries.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 2 years ago
MODERATORS
 

What optimization do these kind of apps use?

top 7 comments
sorted by: hot top controversial new old
[–] foggy@lemmy.world 21 points 2 days ago* (last edited 1 day ago) (1 children)

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.

[–] Azzu@lemm.ee 4 points 1 day ago (2 children)

But isn't "pick up multiple orders at a restaurant, then figuring out in which order to deliver them to minimize time spent delivering" the traveling salesman problem? I thought that's what the post referred to.

[–] Nemo@slrpnk.net 10 points 1 day ago

Finding the best route is NP-complete. Finding a route is trivial. Finding a pretty good route is good enough for their purposes.

Also keep in mind they're not to much trying up find the best route between static stops as trying to minimize time between pickup and dropoff for a list of (origin, destination) pairs, constrained by staggered start times for the pickup origins. It's fundamentally a different problem.

[–] foggy@lemmy.world 1 points 1 day ago

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.

[–] solrize@lemmy.world 22 points 2 days ago

Actual difficult instances of TSP are pretty rare, and for something like Uber Eats, it's fine if your route is 2% worse than the mathematical optimum. Traffic fluctuations probably matter more than having the shortest route.

There are many good heuristics for TSP that might not give you the optimal solution, but that will generally come pretty close. The Wikipedia article probably describes some of these.

[–] Danitos@reddthat.com 5 points 1 day ago

Algorithms that find approximate solutions to Traveling Businessman Problem are handful (some just use Markov Chains, a rather easy topic). Finding the exact solution is a hell lot harder.

If your solution has an estimated error margin of 2% or less, it works just fine for basically any practical purpose.

[–] ImplyingImplications@lemmy.ca 6 points 2 days ago

NP just means the algorithm to find the solution takes longer to run than verifying a solution is correct. If verifying the solution is easy then shouldn't there be a way to find the solution easily? That's the P=NP problem. NP-Hard does not mean the problem is hard.