Selection, crossover and mutation function choice in genetic algorithms I have been developing a GA for one of the projects I'm working on. I have everything implemented with no problems and I really like how GAs work in general, it's a really cool and relatively new concept. However I'm wondering which specific algorithms I should use for selection, crossover and mutation.

I understand that it often depends on what your data type is, for example individuals who's chromosome order is important should use crossover algorithms listed on this Wikipedia article (with maybe a few more to be added to that list), but how do I choose between them? What should I consider when I am selecting which algorithms to use for these three things?

Currently I have implemented Tournament selection, partially matched crossover and index shuffling for mutation and this gives me the exact output I want, but how do I know these are the best choice for my problem.

(P.S. This is purposefully as abstract as possible, I'm not looking for an answer to my specific problem but more how anybody can go about choosing which algorithms are best for their particular situation.)
SELECTION. Different types of selections will have different advantages and disadvantages. You will mostly find the right one through trial and error.

CROSSOVER. The optimal crossover technique is usually problem-specific. A general rule is to avoid using a single point crossover, as suggested by this paper.

MUTATION. Some mutation guidelines are provided in this paper.