A novel methodology for diversity preservation in evolutionary algorithms