2 ms·
what is the stack you use ? especially for the algorithm hotpath ? I'm not sure if you are using libraries like Gurobi or CPLEX.
by sandGorgon 9y ago
what is the stack you use ? especially for the algorithm hotpath ?
I'm not sure if you are using libraries like Gurobi or CPLEX.
- michaelt 9y agoThe optimiser is actually written in pure Java. 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.
- sandGorgon 9y agodid you not try to do this on the GPU by any chance ? Especially using CUDA libraries. I'm wondering what is the state of art in this field.
- michaelt 9y agoOur current design isn't well suited to adaption to a GPU, because it branches a lot and the memory accesses aren't strided evenly. So we couldn't just plug our current code into a java-to-cuda compiler; we'd need to change the design. So no, we haven't yet tested using GPUs.
- sandGorgon 9y agoThank you for the answer. I was not aware that these kind of considerations impact the cpu vs gpu debate. I was under the impression that most cpu heavy computations can be ported to the gpu.
- FractalNerve 9y agoI take that it's a 'kind' of decision tree or random forest with gradient boosting, so usually it 'can' run faster on a CPU if optimized than on a GPU (if I'm not mistaken). That's at least what I get from BigML's offering. edit: Can you provide insight?
- loserboss 9y agoIt is not decision tree or any machine learning algorithm. 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.
- FractalNerve 9y agowow I'm intrigued and haven't even heard of tabu search before you mentioned it, thank you very much! You surely are my hero today loserboss =)
- FractalNerve 9y agoWhat's the benefit of Gurobi or CPLEX over a CSP-Solver (mini-sat)? With ASP (answer-set-programming) you can also avoid the specificity of modeling-language DSLs and instead focus on formalization.