Improving memory’s usage in evolutionary algorithms for changing environments

When using evolutionary algorithms (EAs) in dynamic environments some extensions have been introduced in order to avoid the premature convergence of the population towards a non-optimal point of the search space. One of these improvements consists in adding an explicit memory used for storing good individuals from the search population. When the environment is cyclic and previous environments reappear later memory should maintain EA's performance by keeping individuals' fitness at an acceptable level. But in most situations this purpose is not achieved and the typical behavior of an EA when a change occurs involves the decrease of the best individual's fitness and some time is necessary to readapt to the new conditions. The key problem when using explicit memory is the restriction usually imposed on its size. So, when it is necessary to store a new individual and memory is full we need to replace some individuals. This replacement can lead to the destruction of information that might be useful in the future. In this paper we are interested in the enhancement of memory's usage and we propose two new replacing methods to apply when memory is full. The investigated methods were tested in several memory-based EAs and the results show that memory can be used in a more effective way so algorithms' performance is strongly improved.