Module: MetaheuristicAlgorithms::BaseAlgorithmModule
- Included in:
- FireflyAlgorithm, GeneticAlgorithm, HarmonySearch, SimplifiedParticleSwarmOptimization, SimulatedAnnealing
- Defined in:
- lib/metaheuristic_algorithms/base_algorithm_module.rb
Instance Method Summary collapse
-
#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).
- #get_decision_variable_value_by_randomization(decision_variable_index) ⇒ Object
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 |