Merging mk branch rev. 675 (bugfix)

This commit is contained in:
Marcel Kronfeld
2010-11-29 14:28:13 +00:00
parent 8eabf3f999
commit 2a8c8dd0dd
3 changed files with 6 additions and 4 deletions

View File

@@ -58,6 +58,8 @@ public class HistoryConvergenceTerminator implements InterfaceTerminator, Serial
}
} else { // look at improvements
AbstractEAIndividual historicHWAgo = subHist.get(0);
// System.out.println("Ref indy: " + historicHWAgo);
// System.out.println("Best historic: " + ((Population)pop).getBestHistoric());
res = true;
for (int i = 1; i < haltingWindowLen; i++) {
// if historic[-hW] is worse than historic[-hW+i] return false
@@ -79,7 +81,7 @@ public class HistoryConvergenceTerminator implements InterfaceTerminator, Serial
return res;
}
/**
/**
* Define the criterion by which individual improvement is judged. The original version defined
* improvement strictly, but for some EA this should be done more laxly. E.g. DE will hardly ever
* stop improving slightly, so optionally use an epsilon-bound: improvement only counts if it is

View File

@@ -211,7 +211,7 @@ Serializable {
*/
protected boolean isStillConverged(PopulationInterface pop) {
double measure = calcPopulationMeasure(pop);
double allowedLower=Double.MIN_VALUE, allowedUpper=Double.MAX_VALUE;
double allowedLower=Double.NEGATIVE_INFINITY, allowedUpper=Double.POSITIVE_INFINITY;
boolean ret;
switch (changeType) {
case absoluteChange:
@@ -219,7 +219,7 @@ Serializable {
if (!doCheckImprovement()) allowedUpper=oldMeasure+convThresh;
break;
case absoluteValue:
allowedLower=convThresh;
allowedUpper=convThresh;
// if (!doCheckImprovement()) allowedUpper = convThreshUpper;
break;
case relativeChange: