Closed leonlan closed 1 year ago
Purely realistically, I don't think this is something we're going to do before the initial submission. We already have the different compilation modes, and that's a good step up towards this.
When we do this we'll need to rethink how we package things - standalone objects, or one big object like hgspy
for Euro/NeurIPS? The latter is easier to compile: then there's just _cvrp
, and _vrptw
, and the like. Else we might need many objects for different variants.
The interface for this can be something like solve_<variant>(data: ProblemData, stop: StoppingCriterion, seed: int = 0)
. Together with the high-level interface of #217 it should then be pretty easy to model and solve each variant.
We promised this in the paper, but I just tinkered with it a bit and would like not to do this (yet). It's particularly tricky because we have native objects that are also wrapped in Python (#107) - those have hardcoded dependencies on the location of a particular native extension. If we want this, we need to think about a way to do that differently.
For now it's enough for me that we support this via compilation flags.
OK, I just checked the paper again, and I don't think we explicitly promise this. We just talk about PyVRP being easy to use. Then I think #217 and the associated PR are enough for now.
@leonlan @wouterkool shall we close this?
Sure #236 closes this for me
From https://github.com/N-Wouda/PyVRP/issues/48#issuecomment-1406684143