This function replace the individual(s) that was/were not selected (i.e. not the best fit) based on the predefined condition(aim/objective).
e.g.: To optimize the function \(f(x) = x^2 - 4x + 4\) to find the value of \(x\) that minimizes the function. \(x\): represents a possible value the an individual from the population can have.
replacement(population, offspring, num_to_replace)
Arguments
The list of individuals of the population
The list of offspring.
The number of selected individuals that should be replaced in the population.
The output expected should be a list of selected individuals that fit the best with the predefined aim.
Examples# example of usage
population <- c(1, 3, 0)
# Evaluate fitness
fitness <- genetic.algo.optimizeR::evaluate_fitness(population)
print("Evaluation:")
#> [1] "Evaluation:"
print(fitness)
#> [1] 1 1 4
# Selection
selected_parents <- genetic.algo.optimizeR::selection(population, fitness, num_parents = 2)
print("Selection:")
#> [1] "Selection:"
print(selected_parents)
#> [1] 1 3
# Crossover and mutation
offspring <- genetic.algo.optimizeR::crossover(selected_parents, offspring_size = 2)
mutated_offspring <- mutation(offspring, mutation_rate = 0) # (no mutation in this example)
print(mutated_offspring)
#> [1] 2 2
# Replacement
population <- genetic.algo.optimizeR::replacement(population, mutated_offspring, num_to_replace = 1)
print("Replacement:")
#> [1] "Replacement:"
print(population)
#> [1] 1 2 0
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4