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

Use TSP solving at route level with non-binding constraints #737

Closed
jcoupey opened this issue Jul 8, 2022 · 2 comments
Closed

Use TSP solving at route level with non-binding constraints #737

jcoupey opened this issue Jul 8, 2022 · 2 comments

Comments

@jcoupey
Copy link
Collaborator

jcoupey commented Jul 8, 2022

I've encountered situations where a single-vehicle problem is submitted with (non-binding) capacity and time window constraints. Because of the constraints, we don't solve such an input using the TSP code, but with our default basic heuristic. This results in solutions that are usually slightly poorer since the TSP code is somehow more efficient in a non-constrained setup.

This extends to the situation where e.g. the timing constraints are actually binding but the resulting heuristic route would be still valid (and better) when running a TSP on the matching subset of jobs. For example if all jobs in a route have similar wide TW and the corresponding TSP solution is better, then the resulting route will also be valid wrt TW.

This even extends to most multiple-vehicle instances where job TW constraints (binding or not) are somehow similar, in particular all CVRP instances.

A first simple step would be to spot those situations and then try "straightening up" routes after the heuristic process by running route-level TSP. I have no idea how efficient/sufficient this would be, another option could be to use the "straightening" step as a single-route operator in the local search process, but this may be too costly.

@jcoupey
Copy link
Collaborator Author

jcoupey commented Jul 8, 2022

Also as a side effect of improving the heuristic solutions, the whole local search process may be faster on average.

@jcoupey
Copy link
Collaborator Author

jcoupey commented Sep 18, 2023

Done in #978.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant