A framework for dynamic redefinition of the genetic algorithm