Genetic algorithms are extremely popular methods for solving optimization problems. They are a population-based method that combine solutions to produce offspring using operators including crossover and mutation. This chapter introduces the general concept of genetic algorithms before describing their main features including the creation of the initial population, the choice of parents, the crossover and mutation operators, and the means for updating the population. The importance of the parameters is discussed, and various interesting adaptations for genetic algorithms are discussed including hybridization, parallelization, and means of maintaining population diversity. Applications are described for the graph coloring problem, nurse sched...