A genetic algorithm (GA) has control parameters that must be determined before execution. We propose a self-organizing genetic algorithm (SOGA) as a multimodal function optimizer which sets GA parameters such as population size, crossover probability, and mutation probability adaptively during the execution of a genetic algorithm. In SOGA, GA parameters change according to the fitnesses of individuals. SOGA and other approaches for adapting operator probabilities in GAs are discussed. The validity of the proposed algorithm is verified in simulation examples, including system identification.