module Algorithm::Genetic::Crossover::Order
Public Instance Methods
crossover(parent1, parent2)
click to toggle source
# File lib/algorithm/genetic/crossover/order.rb, line 6 def crossover(parent1, parent2) cut_point = rand(parent1.code.length) child1 = mate(parent1.code, parent2.code, cut_point) child2 = mate(parent2.code, parent1.code, cut_point) return child1, child2 end
Private Instance Methods
mate(p1, p2, point)
click to toggle source
# File lib/algorithm/genetic/crossover/order.rb, line 14 def mate(p1, p2, point) child = p1[0, point] p2.each do |g| child << g unless child.index(g) end return child end