Executing genetic algorithm per configuration

91 Views Asked by At

I'm trying to understand a paper I'm reading regarding genetic algorithms. They running there a GA with parameters they presented. Some of the parameters are: stop criterion - 50 generations. Runs per configuration - 30.

After they presented the parameters they said that they executed the algorithm 20 times.

I don't understand two things: 1. what the second parameter means? that every configuration runs untill it reaches 30 generations? 2. when they execute the algorithm 20 times, it means untill they reach 20 generations or that they executed 20 configurations?

thanks.

1

There are 1 best solutions below

0
On BEST ANSWER

Question 1

Usually in GA:s parameters such as mutation rates, selection rates, etc, need to be customised for the problem at hand. To get a somewhat good measure to quantify what is a good or bad parameter configuration, each configuration is repeated for a number of runs, whereafter the mean and standard deviation of the best solution in each of these runs are computed. Note that these runs have nothing to do with the number of generations or specific parameters in the GA, it's simply a way to reduce noise and increase reliability when comparing and choosing among different parameter configurations.

On the other hand, "number of runs" in itself can also be a parameter of study, but it's quite obvious that increasing the total number of runs will increase the chance to find a really good solution (say a large deviation from mean GA performance). If studying such a case, it's important that the total number of generations (effectively the total number of function evaluations), over all runs, are the same between different parameter settings.

As an example, consider the following parameter configuration:

numberOfRuns = 30
numberOfGenerations = 50
    ==> a total of 1500 generation analysed

studied vs configuration:

numberOfRuns = 50
numberOfGenerations = 30
    ==> a total of 1500 generation analysed

A study like this could examine if it is favourable to have more generations in each GA run (first scenario), of if it's better to have fewer generations but more runs (second scenario: probably favourable for a GA with quick convergence to local optima but with large standard deviation).

The following parameter configuration, however, would not have any meaning to benchmark against the two above, since it has a larger number of total generations:

numberOfRuns = 50
numberOfGenerations = 50
    ==> a total of 2500 generation analysed

Question 2

If they say they execute the algorithm 20 times, it would generally be equivalent with 20 runs as per described above. Hence, 20 runs each running over 50 generations.