Class: MinOmniTest

Inherits:
MinFuncOfDimensionObj
  • Object
show all
Defined in:
lib/feldtruby/optimize/problems/multi_objective_problems.rb

Overview

This is the OmniTest bi-criteria test function as described in the paper:

Shir et al, "Enhancing Decision Space Diversity in Evolutionary Multiobjective Algorithms", 2009.

They used dimensions == 5.

Instance Method Summary collapse

Instance Method Details

#calc_func1(x) ⇒ Object


51
52
53
# File 'lib/feldtruby/optimize/problems/multi_objective_problems.rb', line 51

def calc_func1(x)
  x.map {|xi| Math.sin(Math::PI * xi)}.sum
end

#calc_func2(x) ⇒ Object


55
56
57
# File 'lib/feldtruby/optimize/problems/multi_objective_problems.rb', line 55

def calc_func2(x)
  x.map {|xi| Math.cos(Math::PI * xi)}.sum
end

#domain_per_dimensionObject


39
40
41
# File 'lib/feldtruby/optimize/problems/multi_objective_problems.rb', line 39

def domain_per_dimension
  [0.0, 6.0]
end

#minimum1Object


43
44
45
# File 'lib/feldtruby/optimize/problems/multi_objective_problems.rb', line 43

def minimum1
  @minimum1 ||= (-1 * dimensions)
end

#minimum2Object


47
48
49
# File 'lib/feldtruby/optimize/problems/multi_objective_problems.rb', line 47

def minimum2
  @minimum2 ||= (-1 * dimensions)
end