Open N-Wouda opened 3 months ago
I performed a a quick benchmark with the current distance computation + four alternatives:
For instances up to 25K, the faster_current
function is pretty fast. At 30K it becomes much slower than the numba or scipy - could this be due to memory issues? I'm not sure. Anyway, I think most users don't solve 30K instances anyway and the 60s-ish runtime is acceptable.
I also don't want vrplib
to rely on heavy dependencies like numba
or scipy
, so sticking to the numpy version is preferred.
I'll implement the faster_current
version soon.
Another option is to write some C++ code.
See this for setting up Poetry with a custom build.
The large instances of Arnold, Gendreau and Sörensen (2017) in CVRPLIB currently hang on the edge weight calculations. These instances are very large, ranging between 6-30K nodes. Let's see if we can support such large instances as well.