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 :)
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!
I believe it was a 20% time project, so I don't know how far it's got. I'll ask the person who was working on it.
We have an API for our mobile apps, but due to the constraints of backwards compatibility it's not especially elegant, which is why it's not publicly documented. I'll ask internally about making it more available, but as I'm sure you appreciate, it's difficult to show there's customer demand for that kind of thing :)
https://en.wikipedia.org/wiki/Vehicle_routing_problem#VRP_va...
The drivers' sat navs also (IIRC) have live traffic, which can send them down different _roads_ in response to things like accidents causing traffic jams.
Of course, there are limits to our ability to respond quickly to changes in traffic conditions for simple logistical reasons - many drivers' vans are loaded once at the start of an 8-hour shift, and we can't predict traffic accidents 8 hours before they happen!
Certain other competing concerns are balanced with a 'cost function' which has been tuned empirically.
The JIT compiler works pretty well, and with tools like JITWatch, Honest Profiler and the -XX:+LogCompilation -XX:+PrintAssembly options you can understand how the hot paths are running in a lot of detail.
For our current operation, the optimisers' servers run Ubuntu on bare metal in our own data centres. Of course, like in any large organisation we make plenty of use of virtualization and EC2 - just not for our optimisers at this point in time.
So no, we haven't yet tested using GPUs.
edit: Can you provide insight?
It is a local search algorithm that probably has simulated annealing or tabu search as a metaheuristic.
Although, they probably segment the deliveries to some common starting points and the problem size is reduced significantly - maybe to around thousand orders per starting point.
Research can easily optimize thousands of deliveries very effectively.
With ASP (answer-set-programming) you can also avoid the specificity of modeling-language DSLs and instead focus on formalization.