Module: MetaheuristicAlgorithms::BaseAlgorithmModule

Included in:
FireflyAlgorithm, GeneticAlgorithm, HarmonySearch, SimplifiedParticleSwarmOptimization, SimulatedAnnealing
Defined in:
lib/metaheuristic_algorithms/base_algorithm_module.rb

Instance Method Summary collapse

Instance Method Details

#gaussian(mean, stddev) ⇒ Object

Based on the code by antonakos on stackoverflow.com/questions/5825680/code-to-generate-gaussian-normally-distributed-random-numbers-in-ruby His code is under CC0 1.0 Universal (CC0 1.0)



14
15
16
17
18
19
20
21
# File 'lib/metaheuristic_algorithms/base_algorithm_module.rb', line 14

def gaussian(mean, stddev)
  theta = 2 * Math::PI * Kernel.rand
  rho = Math.sqrt(-2 * Math.log(1 - Kernel.rand))
  scale = stddev * rho
  x = mean + scale * Math.cos(theta)
  # y = mean + scale * Math.sin(theta)
  return x
end

#get_decision_variable_value_by_randomization(decision_variable_index) ⇒ Object



5
6
7
8
9
10
# File 'lib/metaheuristic_algorithms/base_algorithm_module.rb', line 5

def get_decision_variable_value_by_randomization(decision_variable_index)
  # @function_wrapper.miminum_decision_variable_values[decision_variable_index] 
  # + (@function_wrapper.maximum_decision_variable_values[decision_variable_index] - @function_wrapper.miminum_decision_variable_values[decision_variable_index]) * bigdecimal_rand
  @function_wrapper.miminum_decision_variable_values[decision_variable_index] 
  + (@function_wrapper.maximum_decision_variable_values[decision_variable_index] - @function_wrapper.miminum_decision_variable_values[decision_variable_index]) * rand
end