This paper introduces a niching technique called GAS (S stands for species) which dynamically creates a subpopulation structure (taxonomic chart) using a radius function instead of a single radius, and a ‘cooling’ method similar to simulated annealing. GAS offers a solution to the niche radius problem with the help of these techniques. A method based on the speed of species is presented for determining the radius function. Speed functions are given for both real and binary domains. We also discuss the sphere packing problem on binary domains using some tools of coding theory to make it possible to evaluate the output of the system. Finally two problems are examined empirically. The first is a difficult test function with unevenly spread local optima. The second is an NP-complete combinatorial optimization task, where a comparison is presented to the traditional genetic algorithm.