Class: MinSchwefel2_22

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

Overview

Schwefel 2.22 function as stated in the JADE paper:

http://150.214.190.154/EAMHCO/pdf/JADE.pdf

Instance Attribute Summary

Attributes included from MinFuncOfDimensionObj

#dimensions

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 MinSingleObjectiveFunc

#min_solutions, #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(x) ⇒ Object



205
206
207
208
209
210
211
212
213
214
215
# File 'lib/feldtruby/optimize/problems/single_objective_problems.rb', line 205

def calc_func(x)
  t1 = x.inject(0.0) do |sum, xi|
    sum + xi.abs
  end

  t2 = x.inject(0.0) do |mult, xi|
    mult * xi.abs
  end

  t1 + t2
end

#domain_per_dimensionObject



201
202
203
# File 'lib/feldtruby/optimize/problems/single_objective_problems.rb', line 201

def domain_per_dimension
  [-10.0, 10.0]
end