Class: LennardJonesSolution
- Defined in:
- lib/gimuby/problem/lennard_jones/lennard_jones_solution.rb
Constant Summary collapse
- @@positions_dimensions =
3
- @@position_dimension_min =
-3.0
- @@position_dimension_max =
3.0
Instance Attribute Summary
Attributes inherited from Solution
#check_strategy, #mutation_strategy, #new_generation_strategy
Instance Method Summary collapse
- #evaluate ⇒ Object
- #get_solution_representation ⇒ Object
-
#initialize(atoms_positions = nil) ⇒ LennardJonesSolution
constructor
A new instance of LennardJonesSolution.
- #set_solution_representation(atoms_positions) ⇒ Object
Methods inherited from Solution
#get_fitness, #mutate, #reproduce, #reset_fitness_state
Constructor Details
#initialize(atoms_positions = nil) ⇒ LennardJonesSolution
Returns a new instance of LennardJonesSolution.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gimuby/problem/lennard_jones/lennard_jones_solution.rb', line 11 def initialize(atoms_positions = nil) super(atoms_positions) @check_strategy = SolutionSpaceCheckStrategy.new @check_strategy.set_min(@@position_dimension_min) @check_strategy.set_max(@@position_dimension_max) @new_generation_strategy = CombinedNewGenerationStrategy.new @new_generation_strategy.add_strategy(ParentRangeNewGenerationStrategy.new) @new_generation_strategy.add_strategy(CrossOverNewGenerationStrategy.new) @mutation_strategy = SolutionSpaceMutationStrategy.new @mutation_strategy.set_min(@@position_dimension_min) @mutation_strategy.set_max(@@position_dimension_max) end |
Instance Method Details
#evaluate ⇒ Object
27 28 29 |
# File 'lib/gimuby/problem/lennard_jones/lennard_jones_solution.rb', line 27 def evaluate get_lennard_jones.evaluate(get_solution_representation) end |
#get_solution_representation ⇒ Object
31 32 33 |
# File 'lib/gimuby/problem/lennard_jones/lennard_jones_solution.rb', line 31 def get_solution_representation @atoms_positions.clone end |
#set_solution_representation(atoms_positions) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/gimuby/problem/lennard_jones/lennard_jones_solution.rb', line 35 def set_solution_representation(atoms_positions) @atoms_positions = atoms_positions.clone #@atoms_positions = @atoms_positions.sort_by do |atom_position| # atom_position[0] #end end |