// Calculate inidividuals fittness by comparing it to our candidate solution public static int getFitness(Individual individual) { int fitness = 0; // Loop through our individuals genes and compare them to our cadidates for (int i = 0; i < individual.size() && i < solution.Length; i++) { if (individual.getGene(i) == solution[i]) { fitness++; } } return fitness; }
// Calculate inidividuals fittness by comparing it to our candidate solution public static int getFitness(Individual individual) { int fitness = 0; // Loop through our individuals genes and compare them to our cadidates for (int i = 0; i < individual.size() && i < solution.Length; i++) { if (individual.getGene(i) == solution[i]) { fitness++; } } return(fitness); }
// Crossover individuals private static Individual crossover(Individual indiv1, Individual indiv2) { Individual newSol = new Individual(); // Loop through genes for (int i = 0; i < indiv1.size(); i++) { // Crossover if (Rnd.NextDouble() <= UniformRate) { newSol.setGene(i, indiv1.getGene(i)); } else { newSol.setGene(i, indiv2.getGene(i)); } } return(newSol); }
// Crossover individuals private static Individual crossover(Individual indiv1, Individual indiv2) { Individual newSol = new Individual(); // Loop through genes for (int i = 0; i < indiv1.size(); i++) { // Crossover if (Rnd.NextDouble() <= UniformRate) { newSol.setGene(i, indiv1.getGene(i)); } else { newSol.setGene(i, indiv2.getGene(i)); } } return newSol; }