Occurs when the EvaluateFitness method is called. Use the OnEvaluateFitness event to define your fitness function for the genetic algorithm. Defining your fitness function is another highly important part of defining a genetic algorithm. The fitness function returns a floating point value that specifies the correctness of the individual solution. The fitness function needs to be able to allow the genetic component to decide which solution is better than another. The genetic component will seek to either maximize the solution (e.g., keep evolving for individuals whose fitness are greater than other individuals in the population) or to minimize the solution (e.g., find the individuals whose fitness are less than other individuals). Note you can specify which direction to evolve towards with the FitnessMethod property.
Use the OnEvaluateFitness event to calculate each TRSIndividual's fitness level. Without an OnEvaluateFitness event handler all individuals in the population will have a default Fitness of 0. Every generation, when the Evolve method is called, the OnEvaluateFitness event will occur Population.Count number of times.
Namespace: RSGeneticBase
Delphi |
public |
Value
Type: TRSFitnessEvent
For the 8-queens problem, the fitness function calculates the number of non-attacking pairs of queens. A completely solved solution would be 28 non-attacking pairs of queens. To define your fitness function, you need to define an OnEvaluateFitness event handler: Delphi |
procedure TForm1.RSGeneticAlgorithm1EvaluateFitness(Sender: TObject; |
Reference |