Class: PermutationMutationStrategy

Inherits:
MutationStrategy show all
Defined in:
lib/gimuby/genetic/solution/mutation_strategy/permutation_mutation_strategy.rb

Instance Attribute Summary

Attributes inherited from MutationStrategy

#mutation_rate

Instance Method Summary collapse

Methods inherited from MutationStrategy

#initialize, #mutate

Constructor Details

This class inherits a constructor from MutationStrategy

Instance Method Details

#perform_mutation(solution) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/gimuby/genetic/solution/mutation_strategy/permutation_mutation_strategy.rb', line 5

def perform_mutation(solution)
  permutation = solution.get_solution_representation
  begin
    index1 = rand(permutation.length)
    index2 = rand(permutation.length)
  end while index1 == index2
  tmp = permutation[index1]
  permutation[index1] = permutation[index2]
  permutation[index2] = tmp
  solution.set_solution_representation(permutation)
end