Closed LuukPentinga closed 2 years ago
@LuukPentinga Do you already want this to be reviewed or should we wait for the other todos?
No need yet, I'll have another look at it first!
@LuukPentinga can you merge main into this branch before pushing new commits? I've changed a few things to limit CI use :-)
@LuukPentinga do you think you'll be able to finish this before ~Friday~ Saturday?
@LuukPentinga do you have an update on this? I'm trying to figure out whether we can incorporate this in the tuning now (if it's nearly done/will be done in a day or so), or should do so after.
This should finally be a functioning operator. Subtours are merged by distance only, as otherwise we need to recalculate all time windows and we do a bunch of local search afterwards anyway.
The problem previously described in #46 is not really solved. We do a BFS to find a suitable cycle, starting from some random starting node. If no such cycle is found, we just abort the operator and return one of the parents. I suppose that not finding a cycle does not necessarily imply that no cycle exists, but it is at least not connected to the random starting node that we select.
@LuukPentinga great, thanks! I'll have a look this afternoon.
Could you run clang-format to fix the CI?
I'll benchmark this on the cluster in a minute.
This does not work yet (I get a corrupted doubly-linked list
, so something goes wrong somewhere). I'll try to figure that out tomorrow.
@LuukPentinga can you add "edge_assembly" to configs/benchmark.toml
, and try the benchmark script with 50 iters per instance yourself? That immediately fails for me.
@N-Wouda I'll have a look. I can reproduce it now so I'll see what I can figure out.
That seems to have fixed it!
I'm running a benchmark with this now (SREX + EAX).
Benchmark results are in:
So EAX is really bad. I think (looking at the increased number of iterations) that's because the resulting offspring looks too much alike to the parent solutions.
@LuukPentinga are you willing to test whether an approach with more/larger cycles works?
Yes, it should require a bit of a change to the cycle search but I think it will be okay. I'll have a go at it.
@LuukPentinga are you still working on this?
@LuukPentinga I want to make our final submission tomorrow. Do you think we can get this finished before late Sunday, or shall we proceed with just SREX?
Implementation of #46. Appears to work as is, but there are some improvements to be made: