Class: MetaheuristicAlgorithms::FunctionWrappers::NonsmoothMultipeakFunctionWrapper

Inherits:
AbstractWrapper
  • Object
show all
Defined in:
lib/metaheuristic_algorithms/function_wrappers/nonsmooth_multipeak_function_wrapper.rb

Instance Method Summary collapse

Instance Method Details

#initial_decision_variable_value_estimatesObject



21
22
23
# File 'lib/metaheuristic_algorithms/function_wrappers/nonsmooth_multipeak_function_wrapper.rb', line 21

def initial_decision_variable_value_estimates
  raise "#{__method__} method must be implemented in the subclass"
end

#maximum_decision_variable_valuesObject



9
10
11
# File 'lib/metaheuristic_algorithms/function_wrappers/nonsmooth_multipeak_function_wrapper.rb', line 9

def maximum_decision_variable_values
  [BigDecimal('5'), BigDecimal('5')]
end

#miminum_decision_variable_valuesObject



13
14
15
# File 'lib/metaheuristic_algorithms/function_wrappers/nonsmooth_multipeak_function_wrapper.rb', line 13

def miminum_decision_variable_values
  [BigDecimal('-5'), BigDecimal('-5')]
end

#objective_function_value(decision_variable_values) ⇒ Object



17
18
19
# File 'lib/metaheuristic_algorithms/function_wrappers/nonsmooth_multipeak_function_wrapper.rb', line 17

def objective_function_value(decision_variable_values)
  (decision_variable_values[0].abs + decision_variable_values[1].abs) * BigMath.exp((BigDecimal('-0.0625') * (decision_variable_values[0].power(2) + decision_variable_values[1].power(2))), 10)     
end