I am working on a variant of TSP where each node also has a ‘Time Window’ which has to be respected. Since I am using a Genetic Algorithm to solve TSPTW, I was wondering what might be some crossover techniques that might work well for TSPTW.
Thanks.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
This is just idle speculation, but the standard TSP tends to benefit from operators that attempt to preserve the adjacency of nodes in the parent tours. So what’s considered important is not that city X appears at a particular position, but instead that it appears next to cities Y and Z, wherever in the string they appear. There are operators like Edge Assembly Crossover (EAX) that have been designed specifically to attempt to exploit this structure.
In your case, the time windows presumably mean that, unlike TSP, tours like 01234567 are different from tours like 56701234, and thus the absolute position of a city in the tour matters as well. In cases like QAP where absolute position is important, people tend to do things like Cycle Crossover (CX).
If I was committed to a GA for this problem, I might start by doing something obvious like implementing both CX and EAX and choosing between them at random. Alternately, you might attempt to design a single hybrid operator that combined elements of both, but that is probably rather non-trivial to do.
I suspect, however, that a GA might not be the way to go here, or at the very least, a black box GA might suffer. An operator that attempted to use semantic information from the problem instance to, for example, tend to group cities near one another if they had similar time windows might be effective. And my $5 says that a good local search algorithm (tabu search, variable neighborhood search, etc.) might beat the GA in any case, although that’s based on nothing more than a hunch.