Genetic algorithms and their applications