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



24
25
26
# File 'lib/metaheuristic_algorithms/function_wrappers/nonsmooth_multipeak_function_wrapper.rb', line 24

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

#maximum_decision_variable_valuesObject



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

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

#minimum_decision_variable_valuesObject



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

def minimum_decision_variable_values
  # [BigDecimal('-5'), BigDecimal('-5')]
  [-5, -5]
end

#objective_function_value(decision_variable_values) ⇒ Object



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

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) 
  (decision_variable_values[0].abs + decision_variable_values[1].abs) * Math.exp(-0.0625 * (decision_variable_values[0]**2 + decision_variable_values[1]**2))    
end