The Evolve method is the heart of the genetic component. The Evolve method is responsible for "breeding" the Population towards an answer for your goal. Each generation, the Evolve method selects parents and then Reproduces children for the new generation by using the genetic operations: first crossover, then mutation, and finally inversion. You can specify the number of generations to evolve or use the FitnessCutoff, GenerationLimit and DiversityLimit properties to automatically stop the genetic process. Successive calls to the Evolve method continues the evolutionary process from where the Evolve method stopped (use Initialize to reset the process). If this is your first call to Evolve, it automatically calls the Initialize method.
Specify the Operations to control which operations are performed while evolving: crossover, mutation, and inversion operations. You can also specify the chances of each operation occurring every generation using the CrossoverProbability, MutationProbability, and InversionProbability properties.
The SelectionMethod property (or OnSelection event) specifies how the genetic component selects individuals from the current generation to be used as parents of the next generation.
The FitnessCutoff property aborts the evolutionary process when any child meets or exceeds (if FitnessMethod is fmMaximize) or is less than (if FitnessMethod is fmMinimize) the cutoff value. The UseFitnessCutoff property must be true to use the fitness cutoff.
The DiversityLimit property aborts the evolutionary process when the diversity of the children falls below the DiversityLimit, e.g., all the children are too alike to go any further. The UseDiversityLimit property must be true to use the diversity limit.
The GenerationLimit property aborts the evolutionary process when the required number of generations have been evolved. The
UseGenerationLimit property must be true to use the generation limit.
Namespace: RSGeneticBase
Delphi |
public |
Parameters
Generations
Type: Integer
Type: Integer
The following code uses the Evolve method to evolve a solution: Delphi |
var |