Class: MinBeale

Inherits:
Min2DSingleObjectiveFunc show all
Defined in:
lib/feldtruby/optimize/problems/single_objective_problems.rb

Overview

This is Beale’s function as stated on the page:

http://en.wikipedia.org/wiki/Test_functions_for_optimization

Instance Attribute Summary

Attributes inherited from FeldtRuby::Optimize::Objective

#best_candidate, #current_version, #global_max_values_per_goal, #global_min_values_per_goal

Attributes included from FeldtRuby::Logging

#logger

Instance Method Summary collapse

Methods inherited from Min2DSingleObjectiveFunc

#dimensions

Methods inherited from MinSingleObjectiveFunc

#minimum, #objective_min_func

Methods inherited from MinContinousFunction

#dimensions, #domain_as_mins_maxs, #search_space

Methods inherited from FeldtRuby::Optimize::Objective

#aggregated_quality, #calculate_sub_qualities_of, #goal_methods, #hat_compare, #initialize, #invalidate_quality_of, #is_better_than?, #is_better_than_for_goal?, #is_goal_method?, #is_min_goal?, #is_min_goal_method?, #map_candidate_to_object_to_be_evaluated, #note_end_of_optimization, #num_goals, #quality_of, #rank_candidates, #sub_qualities_of, #weights, #weights=

Methods included from FeldtRuby::Logging

#__find_logger_set_on_instance_vars, #new_default_logger, #setup_logger_and_distribute_to_instance_variables

Constructor Details

This class inherits a constructor from FeldtRuby::Optimize::Objective

Instance Method Details

#calc_func(candidate) ⇒ Object



120
121
122
123
124
125
126
127
128
# File 'lib/feldtruby/optimize/problems/single_objective_problems.rb', line 120

def calc_func(candidate)
  x, y = candidate[0], candidate[1]

  t1 = 1.5 - x + (x*y)
  t2 = 2.25 - x + (x*y*y)
  t3 = 2.625 - x + (x*y*y*y)

  (t1*t1) + (t2*t2) + (t3*t3)
end

#domain_per_dimensionObject



116
117
118
# File 'lib/feldtruby/optimize/problems/single_objective_problems.rb', line 116

def domain_per_dimension
  [-4.5, 4.5]
end

#min_solutionsObject



112
113
114
# File 'lib/feldtruby/optimize/problems/single_objective_problems.rb', line 112

def min_solutions
  [[3.0, 0.5]]
end