Class: Biopsy::Generation
- Inherits:
-
Object
- Object
- Biopsy::Generation
- Defined in:
- lib/biopsy/optimisers/spea2.rb
Overview
Algorithm
Instance Attribute Summary collapse
-
#archive_array ⇒ Object
Returns the value of attribute archive_array.
-
#population_array ⇒ Object
Returns the value of attribute population_array.
Instance Method Summary collapse
- #add_new_individual(individual) ⇒ Object
-
#initialize(population_size, archive_size) ⇒ Generation
constructor
A new instance of Generation.
- #run_generation ⇒ Object
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_array ⇒ Object
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_array ⇒ Object
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_generation ⇒ Object
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 |