Evolutionary Computation Techniques: A Comparative Perspective