1
$\begingroup$

Does it really matter which techniques we use in the process of GA optimization? For instance, if I use the Roulette Wheel Technique instead of Tournament Method for selection, two-point crossover instead of one-point for crossover, and let’s say a single-point mutation instead of inversion method for mutation, will I still get the same optimum solutions? Why does it matter then and how do we decide on which methods to use in each step?

$\endgroup$
1
$\begingroup$

GA optimization is considered as a meta-heuristic algorithm and depending on the algorithms chosen for initialization, selection, mutation, and crossover and the parameters for each of the steps, a different optimum solution might be obtained in a particular run. With GA, one rarely performs it as a single-pass; unless any feasible solution (not necessarily very close to optimal) is a goal.

Though for a lot of problems, the obtained solutions will be close to each other, the GAs tend to converge to local optimums rather than the global one. Multiple techniques exist to correct/exploit this behaviour, from the choice of the methods for GA fundamental operations and their parameters to simple multiple runs of GA optimization with seeding the initial populations in different regions of likelihood optimums.

Now, the convergence of GA will be very different for different techniques; thus, the number of populations to converge, required population samples will vary quite a lot. Moreover, different techniques perform very differently for various problems and fitness function types.

A large variety of methods and parameters for GA optimization is explained by their metaheuristic nature. If there are no known studies for a performance of GA for a particular problem, one has to try those options one-by-one in order to get a feasible solution of a required quality in decent time.

For particular applications, you might find existing literature discussing different options and their performance – and with experience, one can start making connections and find similarities between different application areas. But, in general, the choice of the methods for fundamental GA steps - is trial and error, unless known otherwise.

$\endgroup$
  • $\begingroup$ Thanks a bunch for the detailed explanation! So, I got another questions now: Let’s say for the specific problem I need to solve, there is only one option already discussed in the literature - that researchers have used and state if you follow this certain methodology i.e. if you handle initiation, selection, etc. in this way you will get the appropriate answer. So, your point is I should either stick to what they have used, OR, try other options myself and see if I can find other options that leads to a better result? $\endgroup$ – Antonio Apr 30 '18 at 5:59
  • $\begingroup$ I would say, you definitely want to try the approach proposed by the literature. But for optimization problems, especially solved by GA, trying new options goes a long way, especially if you have some info on how a change in a certain technique or variation of a certain parameter generally influences the process. $\endgroup$ – Anton Menshov Apr 30 '18 at 6:07
  • $\begingroup$ Great, just another question: Is this practical if I modify the GA conventional method by mixing it with other techniques, for instance, let’s say I handle ‘selection’ according to the evolutionary strategies (in which offsprings can also compete the parents), and then I realize this mixture that I have made leads to a better answer in case of my specific problem, is it possible to go with that new strategy and claim what I have just made as a “hybrid generic algorithm”? $\endgroup$ – Antonio Apr 30 '18 at 6:55
  • $\begingroup$ Also, when you say “multiple techniques exist to correct/exploit this behaviour ..”, are you talking about “hybrid genetic algorithms”? Or what? $\endgroup$ – Antonio Apr 30 '18 at 7:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.