Class: MetaheuristicAlgorithms::FunctionWrappers::MichaelwiczFunctionWrapper
Instance Method Summary
collapse
#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_estimates ⇒ Object
23
24
25
|
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 23
def initial_decision_variable_value_estimates
raise "#{__method__} method must be implemented in the subclass"
end
|
#maximum_decision_variable_values ⇒ Object
10
11
12
|
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 10
def maximum_decision_variable_values
[BigDecimal('4'), BigDecimal('4')]
end
|
#miminum_decision_variable_values ⇒ Object
14
15
16
|
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 14
def miminum_decision_variable_values
[BigDecimal('0'), BigDecimal('0')]
end
|
#objective_function_value(decision_variable_values) ⇒ Object
18
19
20
21
|
# File 'lib/metaheuristic_algorithms/function_wrappers/michaelwicz_function_wrapper.rb', line 18
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)
end
|