Class: BOAST::GenericOptimization
- Inherits:
-
Object
- Object
- BOAST::GenericOptimization
- Defined in:
- lib/BOAST/Optimization/Optimization.rb
Instance Attribute Summary collapse
-
#parameters ⇒ Object
readonly
Returns the value of attribute parameters.
-
#repeat ⇒ Object
Returns the value of attribute repeat.
Instance Method Summary collapse
- #each(&block) ⇒ Object
- #each_random(&block) ⇒ Object
-
#initialize(*parameters) ⇒ GenericOptimization
constructor
A new instance of GenericOptimization.
- #points ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(*parameters) ⇒ GenericOptimization
Returns a new instance of GenericOptimization.
305 306 307 308 309 310 311 312 313 314 315 |
# 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 |
Instance Attribute Details
#parameters ⇒ Object (readonly)
Returns the value of attribute parameters.
273 274 275 |
# File 'lib/BOAST/Optimization/Optimization.rb', line 273 def parameters @parameters end |
#repeat ⇒ Object
Returns the value of attribute repeat.
272 273 274 |
# File 'lib/BOAST/Optimization/Optimization.rb', line 272 def repeat @repeat end |
Instance Method Details
#each(&block) ⇒ Object
297 298 299 |
# File 'lib/BOAST/Optimization/Optimization.rb', line 297 def each(&block) return self.points.each(&block) end |
#each_random(&block) ⇒ Object
301 302 303 |
# File 'lib/BOAST/Optimization/Optimization.rb', line 301 def each_random(&block) return self.points.shuffle.each(&block) end |
#points ⇒ Object
279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 |
# 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 ⇒ Object
275 276 277 |
# File 'lib/BOAST/Optimization/Optimization.rb', line 275 def size return @parameters.size end |