class BOAST::GenericOptimization

@private

Attributes

parameters[R]
repeat[RW]

Public Class Methods

new( *parameters ) click to toggle source
# File lib/BOAST/Optimization/Optimization.rb, line 305
def initialize( *parameters )
  if parameters.length == 1 and parameters[0].is_a?(Hash) then
    @parameters = []
    parameters[0].each { |key, value|
      @parameters.push( OptimizationParameter::new(key, value) )
    }
  else
    @parameters = parameters
  end
  @repeat = 3
end

Public Instance Methods

each(&block) click to toggle source
# File lib/BOAST/Optimization/Optimization.rb, line 297
def each(&block)
  return self.points.each(&block)
end
each_random(&block) click to toggle source
# File lib/BOAST/Optimization/Optimization.rb, line 301
def each_random(&block)
  return self.points.shuffle.each(&block)
end
points() click to toggle source
# File lib/BOAST/Optimization/Optimization.rb, line 279
def points
  params2 = @parameters.dup
  param = params2.shift
  pts = param.values.collect { |val| {param.name => val} }
  if params2.size == 0 then
    return pts
  else
    optim2 = GenericOptimization::new(*params2)
    pts3=[]
    pts.each{ |p1|
      optim2.each { |p2|
        pts3.push(p1.dup.update(p2))
      }
    }
    return pts3
  end
end
size() click to toggle source
# File lib/BOAST/Optimization/Optimization.rb, line 275
def size
  return @parameters.size
end