Fixed up selectors.

The selectors now use their comparators which they never used.
Moved the EP population selection into a Selector.
Made EP and GA use a population selector.
Created subpackages for some weightings.
Correct unit test

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Workaround generic issue for VEPSO.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Replaced getPosition with getCandidateSolution in Particle related code.

Both methods accessed the same information in pretty much the same
way. So only one is necessary. This is a step towards consolidating
all of the entities into one entity.

In some cases, it is required that getCandidateSolution returns a
Vector. The necessary cast has been added where ever I noticed such
situations.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Corrected code to eliminated casting errors.

Corrected the dmoo code to eliminated casting errors.
In addition, classes were changed to not extend single-objective
classes, since this leads to errors with MOFitness.

The example xml file, dvepso-DMOP2.xml has been corrected.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Updates neighbourhoodbest using Pareto-dominance

If two solutions are compared and both are non-dominated, one is
selected randomly as the neighbourhood best. If one solution dominates
the other solution, the dominant solution is selected as the
neighbourhood best.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Michalewicz unit test too restrictive.

Differences in how the VM optimises code my cause this test to fail.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Merge branches '194' and '195' into next