In this article, we propose a new type of genetic algorithm (GA), the forking GA (fGA), which divides the whole search space into subspaces, depending on the convergence status of the population and the solutions obtained so far. The fGA is intended to deal with multimodal problems that are difficult to solve using conventional GAs. We use a multi-population scheme that includes one parent population that explores one subspace and one or more child populations exploiting the other subspace. We consider two types of fGAs, depending on the method used to divide the search space. One is the genoqtypic fGA (g-fGA), which defines the search subspace for each subpopulation, depending on the salient schema within the genotypic search space. The other is the phenotypic fGA (p-fGA), which defines a search subspace by a neighborhood hypercube around the current best individual in the phenotypic feature space. Empirical results on complex function optimization problems show that both the g-fGA and the p-GA perform well compared to conventional GAs. Two additional utilities of the p-fGA are also studied briefly.