Bugfix in AbstractEAIndividual (dominance crit.)
This commit is contained in:
@@ -613,7 +613,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java.
|
|||||||
boolean result = true;
|
boolean result = true;
|
||||||
int i=0;
|
int i=0;
|
||||||
while (result && (i < fit1.length) && (i < fit2.length)) {
|
while (result && (i < fit1.length) && (i < fit2.length)) {
|
||||||
if (firstIsFiniteAndLargerOrEqual(fit1[i], fit2[i])) result = false;
|
if (firstIsFiniteAndLargerNonEqual(fit1[i], fit2[i])) result = false;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@@ -624,6 +624,11 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java.
|
|||||||
else return (a >= b);
|
else return (a >= b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean firstIsFiniteAndLargerNonEqual(double a, double b) {
|
||||||
|
if (Double.isNaN(a) || Double.isInfinite(a)) return false;
|
||||||
|
else return (a > b);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the first fitness vector truly dominates the second one in every component.
|
* Returns true if the first fitness vector truly dominates the second one in every component.
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user