The software routing 260,000 grocery deliveries a week
11–20 of 41 posts
Re: The software routing 260,000 grocery deliveries a week
#12For someone quite interested in these kind of problems, what's the current best practice for solving these kind of problems? Not on this scale but still large enough that Google's built-in api for solving it (only 25 points allowed) can't do it.
99% of their code will be ordinary CRUD plumbing, dealing with orders and integrating with other systems. The algorithmic code is the fun part, and they've had years to tune it. This is just self-congratulatory PR, trying to persuade potential investors that's they're a hard tech company.
http://www.gizmodo.co.uk/2017/02/inside-ocado-discover-the-h...
This is not a vapourware start-up, they've been leading the grocery delivery business in the UK for years. That said, they have the same problem as Amazon in that they invest so much into RnD that they're not terribly profitable (about £10M on a $1Bn turnover).
That said, in this particular example I don't know how much their solution differs from Royal Mail (which uses fixed routes) or people like DHL, Fedex, et al. Routing isn't exactly a new problem and courier companies presumably have always had a lot of people working in operations research.
Re: The software routing 260,000 grocery deliveries a week
#13For someone quite interested in these kind of problems, what's the current best practice for solving these kind of problems? Not on this scale but still large enough that Google's built-in api for solving it (only 25 points allowed) can't do it.
99% of their code will be ordinary CRUD plumbing, dealing with orders and integrating with other systems. The algorithmic code is the fun part, and they've had years to tune it. This is just self-congratulatory PR, trying to persuade potential investors that's they're a hard tech company.
Re: The software routing 260,000 grocery deliveries a week
#14Earlier quoted context omitted.
99% of their code will be ordinary CRUD plumbing, dealing with orders and integrating with other systems. The algorithmic code is the fun part, and they've had years to tune it. This is just self-congratulatory PR, trying to persuade potential investors that's they're a hard tech company.
Ocado is an interesting case. Their public line is that they're a technology company that happened to end up delivering groceries. They invest a lot in automation and robotics - definitely a hard tech company: http://www.gizmodo.co.uk/2017/02/inside-ocado-discover-the-h... This is not a vapourware start-up, they've been leading the grocery delivery business in the UK for years. That said, they have the same problem a…
Re: The software routing 260,000 grocery deliveries a week
#15Re: The software routing 260,000 grocery deliveries a week
#16Feel free to ask any questions and I'll try to answer them as best I can, without revealing anything I'm not supposed to reveal :)
Re: The software routing 260,000 grocery deliveries a week
#17For someone quite interested in these kind of problems, what's the current best practice for solving these kind of problems? Not on this scale but still large enough that Google's built-in api for solving it (only 25 points allowed) can't do it.
For example, Oracle sell a product called 'Real Time Scheduler' [1]. Google finds me a bunch of other products too, but I haven't looked at them in depth.
The off-the-shelf software can deal with tens to low hundreds of orders per solution, - which can scale reasonably well if you're willing to divide your service area with boundaries you can't optimise across.
Ocado built a custom system which can support more orders with fewer boundaries; this offers better routing efficiency, which is important as delivery efficiency is a key cost driver. If your business does something like, say, washing machine repair your time-per-customer might be dominated by repair time rather than travel time; in that case you might be able to operate a nationwide business on off-the-shelf software.
The underlying algorithm in Ocado's system is based on simulated annealing [2] - although those precise words don't seem to have made it into the article!
[1] http://www.oracle.com/us/solutions/scm/service-optimization-... [2] https://en.wikipedia.org/wiki/Simulated_annealing
Re: The software routing 260,000 grocery deliveries a week
#18>While the mathematics shall remain a mystery (have a look at our data science job openings if you’d like to learn more)...
thptt.
Re: The software routing 260,000 grocery deliveries a week
#19For someone quite interested in these kind of problems, what's the current best practice for solving these kind of problems? Not on this scale but still large enough that Google's built-in api for solving it (only 25 points allowed) can't do it.
I think it depends if you're interested in knowing how to solve these problems, or simply in solving them. If the latter, there's a bunch of commercial solvers out there. I won't name any for fear of an adverse reaction :0) but a trawl through the first page of Google results for 'optimization solvers' would probably work.
Re: The software routing 260,000 grocery deliveries a week
#20I work for Ocado, and I've spent some time working on the routing system (although I don't work on it any longer). Feel free to ask any questions and I'll try to answer them as best I can, without revealing anything I'm not supposed to reveal :)
Tesco has this, with support through IFTTT https://ifttt.com/search/query/tesco
My use case is most often in the kitchen, hands covered in flour and realise I'm running out of product X. At the moment I bark at my Echo to add something to its internal "shopping list" feature, but I'd rather those commands hooked directly up to Ocado!