This paper extends the classical result of Fisher (1937) from the case of two alleles to the case of multiple alleles. Consider a population living in a homogeneous one-dimensional infinite habitat. Individuals in this population carry a gene that occurs in k forms, called alleles. Under the joint action of migration and selection and some additional conditions, the frequencies of the alleles, p(i),i = 1,...,k, satisfy a system of differential equations of the form (1.2). In this paper, we first show that under the conditions A(1)A(1) is the most fit among the homozygotes, (1.2) is cooperative, the state that only allele A(1) is present in the population is stable, and the state that allele AI is absent and all other alleles are present in the population is unstable, then there exists a positive constant, c*, such that allele A(1) propagates asymptotically with speed c* in the population as t -> infinity. We then show that traveling wave solutions connecting these two states exist for vertical bar c vertical bar >= c*. Finally, we show that under certain additional conditions, there exists an explicit formula for c*. These results allow us to estimate how fast an advantageous gene propagates in a population under selection and migration forces as t -> infinity. Selection is one of the major evolutionary forces and understanding how it works will help predict the genetic makeup of a population in the long run. (C) 2012 Elsevier Ltd. All rights reserved.