Class: Biopsy::Generation

Inherits:
Object
  • Object
show all
Defined in:
lib/biopsy/optimisers/spea2.rb

Overview

Algorithm

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(population_size, archive_size) ⇒ Generation

Returns a new instance of Generation.



85
86
87
88
89
90
91
# File 'lib/biopsy/optimisers/spea2.rb', line 85

def initialize(population_size, archive_size)
	@archive_generation = ArchiveGeneration.new
	@population_size = population_size
	@archive_size = archive_size
	@population_array = []
	@archive_array = []
end

Instance Attribute Details

#archive_arrayObject

Returns the value of attribute archive_array.



84
85
86
# File 'lib/biopsy/optimisers/spea2.rb', line 84

def archive_array
  @archive_array
end

#population_arrayObject

Returns the value of attribute population_array.



84
85
86
# File 'lib/biopsy/optimisers/spea2.rb', line 84

def population_array
  @population_array
end

Instance Method Details

#add_new_individual(individual) ⇒ Object



92
93
94
95
96
97
98
99
100
101
# File 'lib/biopsy/optimisers/spea2.rb', line 92

def add_new_individual individual
	@population_array << Individual.new(individual)
	# run generation
	if @population_array.length == @population_size
		self.run_generation
		true
	else
		false
	end
end

#run_generationObject



102
103
104
105
106
# File 'lib/biopsy/optimisers/spea2.rb', line 102

def run_generation
	@pop_and_archive = @population_array + @archive_array
	FitnessAssignment.run(@pop_and_archive)
	@archive_array = @archive_generation.run(@pop_and_archive, 10)
end