Class: MetaheuristicAlgorithms::FunctionWrappers::MichaelwiczFunctionWrapper

Inherits:
AbstractWrapper
  • Object
show all
Includes:
CalculationHelper
Defined in:
lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb

Instance Method Summary collapse

Methods included from CalculationHelper

#bigdecimal_acos, #bigdecimal_asin, #bigdecimal_atan2, #bigdecimal_cos, #bigdecimal_exp, #bigdecimal_sin, #bigdecimal_sqrt, #bigdecimal_tan, #degree_to_radian, #radian_to_degree

Instance Method Details

#initial_decision_variable_value_estimatesObject



27
28
29
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 27

def initial_decision_variable_value_estimates
  raise "#{__method__} method has no definition"
end

#maximum_decision_variable_valuesObject



10
11
12
13
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 10

def maximum_decision_variable_values
  # [BigDecimal('4'), BigDecimal('4')]
  [4, 4]
end

#minimum_decision_variable_valuesObject



15
16
17
18
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 15

def minimum_decision_variable_values
  # [BigDecimal('0'), BigDecimal('0')]
  [0, 0]
end

#objective_function_value(decision_variable_values) ⇒ Object



20
21
22
23
24
25
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 20

def objective_function_value(decision_variable_values)
  # -bigdecimal_sin(decision_variable_values[0]) * bigdecimal_sin(decision_variable_values[0].power(2) / BigMath.PI(10)).power(20) - 
  # bigdecimal_sin(decision_variable_values[1]) * bigdecimal_sin(decision_variable_values[1].power(2) / BigMath.PI(10)).power(20)
  -Math.sin(decision_variable_values[0]) * (Math.sin(decision_variable_values[0]**2 / Math::PI))**20 - 
  Math.sin(decision_variable_values[1]) * (Math.sin(decision_variable_values[1]**2 / Math::PI))**20
end