The simulations are run for 70 generations with a population size of 100. Standard mutation with a probability of 0.01 and standard two-point crossover with a probability of 0.7 are used. To study the merit of the dynamic sharing scheme in MOEA as proposed in Section 3.1, 4 different types of simulations have been performed. The first type is without fitness sharing. The second and third employ a fixed sharing distance of 0.01 and 0.1, respectively. The fourth uses the dynamic sharing scheme which does not require any predefined sharing distance setting. Figure 8 illustrates the respective population distribution in the objective domain at the end of the evolution. It can be observed that all of the four simulations are able to discover the final trade-off, but with some performance difference in terms of the closeness and uniformity of the population distribution along the trade-off curve. 

For the MOEA without fitness sharing as shown in Figure 8a, the population tends to converge to an arbitrary part of the trade-off curve. This agrees with the findings of Fonseca and Fleming, (1993). For the MOEA with fitness sharing, as shown in Figures 8b and 8c, the population can be distributed along the trade-off curve rather well, although the sharing distance of 0.01 provides a more uniform distribution than that of 0.1. This indicates that although fitness sharing contributes to population diversity and distribution along the trade-off curve, the sharing distance has to be chosen carefully in order to ensure the uniformity of the population distribution. This often involves tedious trial-and-error procedures in order to 'guess' an appropriate sharing distance, since it is problem dependent and based upon the size of the discovered trade-offs as well as the number of non-dominated individuals. These difficulties can be solved with the proposed dynamic sharing scheme, which has the ability to automatically adapt the sharing distance along the evolution without the need of any predefined parameter, as shown in Figure 8d. 

![0_image_0.png](0_image_0.png)

