Solving Complex Problems with Genetic Algorithms