Previous  Top  Next

After a while, if the optimization is set up correctly, the individuals of several generations should all become very similar as the optimization hones in on the optimal solution. This increase in similarity is called convergence.

Convergence - a point in time reached during a genetic optimization when several generations have produced individuals without significant differences between them.

Once the individuals of a generation no longer show much difference between each other, the diversity of the population stabilizes and continuing that particular optimization will not yield much more useful information and so the run can be considered complete. At this point Optimax will stop generating subsequent generations.

The standard quantitative measure of the difference between two individuals is called the Hamming distance. The Hamming distance is computed as the sum of all of the distances between the genes of two individuals, where the distance between two corresponding genes is computed as follows:

distance = absvalue( ( GeneN_IndividualA - GeneN_IndividualB ) / increment ) )  

where GeneN_IndividualA is the value of gene N of an individual A, and GeneN_IndividualB is the value of the corresponding GeneN of IndividualB, and increment is the increment value used during optimization for that gene.

Another way of determining if there is much difference between individuals is to compare their fitness values. If two fitness values are close, you could consider the individuals as being similar. The closer the fitness values, the more you would consider the individuals as equivalent. It is possible that two very different sets of inputs could produce similar fitness values. In that case, it is probable that the individuals are almost equivalent, provided that the fitness function is properly designed.

When determining convergence, instead of using Hamming distances to compare individuals, Optimax compares fitness values. When the standard deviation of the fitness values over a given number of generations falls below a preset value, convergence is reached and the optimization stops. The number of generations and the value are both set by you in the Optimization Settings window.