An optimization problem as complex as residual statics estimation in seismic image processing requires novel techniques. One interesting technique, the genetic algorithm, is based loosely on the optimization process forming the basis of biological evolution. The objective of this paper is to examine this algorithm's applicability to residual statics estimation and present three new ingredients that help the algorithm successfully resolve residual statics. These three ingredients include (1) breaking the population into subpopulations with restricted breeding between the subpopulations, (2) localizing the search, to varying degrees, about the uncorrected input stack, and (3) modifying the optimization function to take account of CDP-dependent structural features.Introducing subpopulations has the effect of enhancing the search when the volume of phase space being searched is large and limited information is given about where the algorithm should concentrate its efforts. Subpopulations work well initially, but as the performance increases, the search efficiency decreases. Thus, search efficiency is dependent on both the subpopulation size and the present performance of the subpopulation.The greediness of genetic algorithms in their rapid acceptance of a local minimum can be recompensed through a more cautious and user-controlled exploration of the phase space. Specifically, genetic algorithms can be 'fed' the uncorrected input stack as a way of biasing the search in the region of phase space that contains the rough event images observable in most uncorrected seismic stacks. We compare three types of starting populations: (1) a randomized population, (2) a biased start with a randomized population save one individual representing the input stack, and (3) a biased start restricted to a slowly expanding (generation-dependent) volume of phase space.Efficient searches also require an optimization function that places the perfectly corrected seismic image at the function's global maximum. Constructing such a function is nontrivial, and we implement a seismic data set that allows us to examine the genetic algorithm's sensitivity to inappropriate optimization functions.