Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal 2-opt #706

Closed
jcoupey opened this issue May 2, 2022 · 0 comments · Fixed by #707
Closed

Internal 2-opt #706

jcoupey opened this issue May 2, 2022 · 0 comments · Fixed by #707

Comments

@jcoupey
Copy link
Collaborator

jcoupey commented May 2, 2022

In situations with typically lots of dense jobs and vehicles, it's possible that we sometime produce solutions with route crossings. I've noticed this in both real-life and benchmark instances. On some instances, I've confirmed that those crossings are indeed sub-optimal (not required by e.g. timing constraints) and that re-ordering jobs by solving a route-level TSP does produce a (better) crossing-free route.

While we usually happily live with producing sub-optimal solutions, it's bad when there's an obvious move that improves our solution. The thing is we don't have a classical 2-opt move operating on a single route. The TwoOpt and ReverseTwoOpt moves we have are meant to mend crosses between two different routes.

We should implement such a LS operator and evaluate it's impact on both solution quality and computing times.

@jcoupey jcoupey added this to the v1.12.0 milestone May 2, 2022
@jcoupey jcoupey self-assigned this May 2, 2022
@jcoupey jcoupey mentioned this issue May 4, 2022
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant