class Operator::Selector::TournamentSelection
Public Class Methods
new(size)
click to toggle source
Initialize informing the tournament size.
# File lib/opt_alg_framework/operator/selector/tournament_selection.rb, line 7 def initialize(size) @size = size end
Public Instance Methods
select(population)
click to toggle source
Main method.
# File lib/opt_alg_framework/operator/selector/tournament_selection.rb, line 12 def select(population) best_individual = population[Random.rand(0...population.size)] 0.upto(@size) do individual = population[Random.rand(0...population.size)] best_individual = individual if individual[:fitness] < best_individual[:fitness] end best_individual end