Genetic Algorithms: Theory and Applications