Optimisation-Distance Component bug

Summary

optimisation-distance decorated fitness function not working

Component

optimisation.ea

Steps to reproduce

Build develop branch, replace problem.optimisation-function in search-with-benchmark with something like this:

		'optimisation-function' := 'optimisation-distance' {
		    'function' := 'benchmark-function' {
			'benchmarks' := [
				'benchmark-configuration' { function := ackley {};    reads := [data 'x:0']; writes := [data 'y:0']; }
			];
		     };
		     'target' := ['variable' {name := data 'x:0'; val := 1.0;}, 'variable' {name := data 'y:0'; val := 5.0;}];
		};

Current Behaviour

First, an error that no bean with matching name is found. If we change the named attribute in the DistanceFitness file to de.evoal.optimisation.core.optimisation-distance and rebuild, we get a new error distance_fitness_error.txt

Expected Behavior

DistanceFitness component should read in array of variables without error.

Relevant logs and/or screenshots

(see current behaviour)

Possible fixes

Encountered similar problem in #131 (closed) and #134 (closed) when making the new initial candidates provider. Fixed with added utility class to read in variables (see branch 134). Unsure if this is the most elegant solution.

Contact Person

/cc @berber