class Evopop::PopulationConfig

Defines the configuration to be available to all of Evopop

Attributes

average_fitness[RW]
crossover_function[RW]
crossover_params[RW]
dna_len[RW]
fitness_function[RW]
initial_range_max[RW]
initial_range_min[RW]
max_generations[RW]
mutation_num[RW]
mutation_range_max[RW]
mutation_range_min[RW]
population_size[RW]

Public Class Methods

new() click to toggle source
# File lib/evopop.rb, line 27
def initialize
  @average_fitness = []
  @population_size = 500
  @max_generations = 100
  @initial_range_min = -100
  @initial_range_max = 100
  @mutation_range_min = -10
  @mutation_range_max = 10
  @mutation_num = (0.10 * @population_size).to_i
  @dna_len = 1
  @crossover_params = { ordinal: (@dna_len / 2) }

  @crossover_function = Evopop::Crossover.method(:one_point)
  @fitness_function = proc do |dna|
    Math.sin(dna[0])
  end
end