Method: EvoSynth::Problems::FloatBenchmarkFuntions.rosenbrock

Defined in:
lib/evosynth/problems/float_benchmark_functions.rb

.rosenbrock(xs) ⇒ Object

Rosenbrock (De Jong 1975)

global minimum: f(x) = 0 at x(i) = 1, i = 1..n



71
72
73
74
75
# File 'lib/evosynth/problems/float_benchmark_functions.rb', line 71

def FloatBenchmarkFuntions.rosenbrock(xs)
	(0..xs.size - 2).inject(0.0) do |sum, i|
		sum += 100 * (xs[i]**2 - xs[i+1])**2 + (1 - xs[i])**2
	end
end