Rename AbstractEAIndividualComparator to EAIndividualComparator as it is not abstract.
This commit is contained in:
parent
a8320cad76
commit
adc0d74bf7
@ -16,11 +16,10 @@ import java.util.Comparator;
|
|||||||
* the comparison is based on those. This may be used to access alternative (e.g. older or
|
* the comparison is based on those. This may be used to access alternative (e.g. older or
|
||||||
* best-so-far fitness values) for individual comparison.
|
* best-so-far fitness values) for individual comparison.
|
||||||
*
|
*
|
||||||
* @author mkron
|
* @see AbstractEAIndividual#isDominatingFitness(double[], double[])
|
||||||
* @see #AbstractEAIndividual().isDominatingFitness(double[], double[])
|
|
||||||
*/
|
*/
|
||||||
@eva2.util.annotation.Description(value = "A comparator class for general EA individuals. Compares individuals based on their fitness in context of minimization.")
|
@eva2.util.annotation.Description(value = "A comparator class for general EA individuals. Compares individuals based on their fitness in context of minimization.")
|
||||||
public class AbstractEAIndividualComparator implements Comparator<Object>, Serializable {
|
public class EAIndividualComparator implements Comparator<Object>, Serializable {
|
||||||
// flag whether a data field should be used.
|
// flag whether a data field should be used.
|
||||||
private String indyDataKey = "";
|
private String indyDataKey = "";
|
||||||
private int fitCriterion = -1;
|
private int fitCriterion = -1;
|
||||||
@ -31,7 +30,7 @@ public class AbstractEAIndividualComparator implements Comparator<Object>, Seria
|
|||||||
* The default version calls compares based on dominance with priority of feasibility if there are constraints.
|
* The default version calls compares based on dominance with priority of feasibility if there are constraints.
|
||||||
* It assigns -1 if first is better, 1 if second is better, 0 if the two ind.s are not comparable.
|
* It assigns -1 if first is better, 1 if second is better, 0 if the two ind.s are not comparable.
|
||||||
*/
|
*/
|
||||||
public AbstractEAIndividualComparator() {
|
public EAIndividualComparator() {
|
||||||
this("", -1, true);
|
this("", -1, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,9 +41,9 @@ public class AbstractEAIndividualComparator implements Comparator<Object>, Seria
|
|||||||
* also regarded by default.
|
* also regarded by default.
|
||||||
* If indyDataKey is null, the default comparison is used.
|
* If indyDataKey is null, the default comparison is used.
|
||||||
*
|
*
|
||||||
* @param indyDataKey
|
* @param indyDataKey Field of the individual to use for comparison
|
||||||
*/
|
*/
|
||||||
public AbstractEAIndividualComparator(String indyDataKey) {
|
public EAIndividualComparator(String indyDataKey) {
|
||||||
this(indyDataKey, -1, true);
|
this(indyDataKey, -1, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ public class AbstractEAIndividualComparator implements Comparator<Object>, Seria
|
|||||||
*
|
*
|
||||||
* @param fitnessCriterion
|
* @param fitnessCriterion
|
||||||
*/
|
*/
|
||||||
public AbstractEAIndividualComparator(int fitnessCriterion) {
|
public EAIndividualComparator(int fitnessCriterion) {
|
||||||
this("", fitnessCriterion, true);
|
this("", fitnessCriterion, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,14 +65,14 @@ public class AbstractEAIndividualComparator implements Comparator<Object>, Seria
|
|||||||
* @param fitIndex
|
* @param fitIndex
|
||||||
* @param preferFeasible
|
* @param preferFeasible
|
||||||
*/
|
*/
|
||||||
public AbstractEAIndividualComparator(int fitIndex, boolean preferFeasible) {
|
public EAIndividualComparator(int fitIndex, boolean preferFeasible) {
|
||||||
this("", fitIndex, preferFeasible);
|
this("", fitIndex, preferFeasible);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object other) {
|
public boolean equals(Object other) {
|
||||||
if (other instanceof AbstractEAIndividualComparator) {
|
if (other instanceof EAIndividualComparator) {
|
||||||
AbstractEAIndividualComparator o = (AbstractEAIndividualComparator) other;
|
EAIndividualComparator o = (EAIndividualComparator) other;
|
||||||
if ((indyDataKey == o.indyDataKey) || (indyDataKey != null && (indyDataKey.equals(o.indyDataKey)))) {
|
if ((indyDataKey == o.indyDataKey) || (indyDataKey != null && (indyDataKey.equals(o.indyDataKey)))) {
|
||||||
if ((fitCriterion == o.fitCriterion) && (preferFeasible == o.preferFeasible)) {
|
if ((fitCriterion == o.fitCriterion) && (preferFeasible == o.preferFeasible)) {
|
||||||
return true;
|
return true;
|
||||||
@ -91,19 +90,19 @@ public class AbstractEAIndividualComparator implements Comparator<Object>, Seria
|
|||||||
/**
|
/**
|
||||||
* Generic constructor.
|
* Generic constructor.
|
||||||
*
|
*
|
||||||
* @param indyDataKey
|
* @param indyDataKey Field of the individual to use for comparison
|
||||||
* @param fitnessCriterion
|
* @param fitnessCriterion
|
||||||
* @param preferFeasible
|
* @param preferFeasible
|
||||||
* @see #AbstractEAIndividualComparator(int)
|
* @see #EAIndividualComparator(int)
|
||||||
* @see #AbstractEAIndividualComparator(String)
|
* @see #EAIndividualComparator(String)
|
||||||
*/
|
*/
|
||||||
public AbstractEAIndividualComparator(String indyDataKey, int fitnessCriterion, boolean preferFeasible) {
|
public EAIndividualComparator(String indyDataKey, int fitnessCriterion, boolean preferFeasible) {
|
||||||
this.indyDataKey = indyDataKey;
|
this.indyDataKey = indyDataKey;
|
||||||
this.fitCriterion = fitnessCriterion;
|
this.fitCriterion = fitnessCriterion;
|
||||||
this.preferFeasible = preferFeasible;
|
this.preferFeasible = preferFeasible;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbstractEAIndividualComparator(AbstractEAIndividualComparator other) {
|
public EAIndividualComparator(EAIndividualComparator other) {
|
||||||
indyDataKey = other.indyDataKey;
|
indyDataKey = other.indyDataKey;
|
||||||
fitCriterion = other.fitCriterion;
|
fitCriterion = other.fitCriterion;
|
||||||
preferFeasible = other.preferFeasible;
|
preferFeasible = other.preferFeasible;
|
||||||
@ -111,7 +110,7 @@ public class AbstractEAIndividualComparator implements Comparator<Object>, Seria
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
return new AbstractEAIndividualComparator(this);
|
return new EAIndividualComparator(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.operator.archiving;
|
package eva2.optimization.operator.archiving;
|
||||||
|
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.population.Population;
|
import eva2.optimization.population.Population;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -65,7 +65,7 @@ public class ArchivingNSGAIISMeasure extends ArchivingNSGAII {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Arrays.sort(frontArray, new AbstractEAIndividualComparator(0));
|
Arrays.sort(frontArray, new EAIndividualComparator(0));
|
||||||
|
|
||||||
|
|
||||||
((AbstractEAIndividual) frontArray[0]).putData("HyperCube", Double.MAX_VALUE); //die beiden aussen bekommen maximal wert als smeasure
|
((AbstractEAIndividual) frontArray[0]).putData("HyperCube", Double.MAX_VALUE); //die beiden aussen bekommen maximal wert als smeasure
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.operator.cluster;
|
package eva2.optimization.operator.cluster;
|
||||||
|
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.individuals.IndividualDistanceComparator;
|
import eva2.optimization.individuals.IndividualDistanceComparator;
|
||||||
import eva2.optimization.operator.distancemetric.EuclideanMetric;
|
import eva2.optimization.operator.distancemetric.EuclideanMetric;
|
||||||
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
|
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
|
||||||
@ -99,7 +99,7 @@ public class ClusteringDynPeakIdent implements InterfaceClustering, java.io.Seri
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Population[] cluster(Population pop, Population referenceSet) {
|
public Population[] cluster(Population pop, Population referenceSet) {
|
||||||
AbstractEAIndividualComparator eaComparator = new AbstractEAIndividualComparator(-1);
|
EAIndividualComparator eaComparator = new EAIndividualComparator(-1);
|
||||||
Population sorted = pop.getSortedBestFirst(eaComparator);
|
Population sorted = pop.getSortedBestFirst(eaComparator);
|
||||||
Population peaks = performDynPeakIdent(metric, sorted, numNiches, nicheRadius);
|
Population peaks = performDynPeakIdent(metric, sorted, numNiches, nicheRadius);
|
||||||
Population[] clusters = new Population[peaks.size() + 1];
|
Population[] clusters = new Population[peaks.size() + 1];
|
||||||
|
@ -2,7 +2,7 @@ package eva2.optimization.operator.cluster;
|
|||||||
|
|
||||||
import eva2.gui.editor.GenericObjectEditor;
|
import eva2.gui.editor.GenericObjectEditor;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
|
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
|
||||||
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
|
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
|
||||||
import eva2.optimization.operator.paramcontrol.ParamAdaption;
|
import eva2.optimization.operator.paramcontrol.ParamAdaption;
|
||||||
@ -37,7 +37,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl
|
|||||||
|
|
||||||
private int[] uplink;
|
private int[] uplink;
|
||||||
private double[] uplinkDist;
|
private double[] uplinkDist;
|
||||||
private AbstractEAIndividualComparator comparator = new AbstractEAIndividualComparator();
|
private EAIndividualComparator comparator = new EAIndividualComparator();
|
||||||
private Vector<Integer>[] children;
|
private Vector<Integer>[] children;
|
||||||
private static final String initializedForKey = "initializedClustNearestBetterOnHash";
|
private static final String initializedForKey = "initializedClustNearestBetterOnHash";
|
||||||
private static final String initializedRefData = "initializedClustNearestBetterData";
|
private static final String initializedRefData = "initializedClustNearestBetterData";
|
||||||
@ -52,7 +52,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl
|
|||||||
this.meanDistFactor = o.meanDistFactor;
|
this.meanDistFactor = o.meanDistFactor;
|
||||||
this.currentMeanDistance = o.currentMeanDistance;
|
this.currentMeanDistance = o.currentMeanDistance;
|
||||||
this.minimumGroupSize = o.minimumGroupSize;
|
this.minimumGroupSize = o.minimumGroupSize;
|
||||||
this.comparator = (AbstractEAIndividualComparator) o.comparator.clone();
|
this.comparator = (EAIndividualComparator) o.comparator.clone();
|
||||||
this.testConvergingSpeciesOnBestOnly = o.testConvergingSpeciesOnBestOnly;
|
this.testConvergingSpeciesOnBestOnly = o.testConvergingSpeciesOnBestOnly;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -435,7 +435,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl
|
|||||||
return "Define the comparator by which the population is sorted before clustering.";
|
return "Define the comparator by which the population is sorted before clustering.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbstractEAIndividualComparator getComparator() {
|
public EAIndividualComparator getComparator() {
|
||||||
return comparator;
|
return comparator;
|
||||||
}
|
}
|
||||||
// public void setComparator(AbstractEAIndividualComparator comparator) {
|
// public void setComparator(AbstractEAIndividualComparator comparator) {
|
||||||
|
@ -3,7 +3,7 @@ package eva2.optimization.operator.mutation;
|
|||||||
import eva2.gui.editor.GenericObjectEditor;
|
import eva2.gui.editor.GenericObjectEditor;
|
||||||
import eva2.optimization.enums.ESMutationInitialSigma;
|
import eva2.optimization.enums.ESMutationInitialSigma;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
import eva2.optimization.operator.distancemetric.EuclideanMetric;
|
import eva2.optimization.operator.distancemetric.EuclideanMetric;
|
||||||
import eva2.optimization.population.Population;
|
import eva2.optimization.population.Population;
|
||||||
@ -112,7 +112,7 @@ public class MutateESRankMuCMA implements InterfaceAdaptOperatorGenerational, In
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void adaptAfterSelection(Population oldGen, Population selectedP) {
|
public void adaptAfterSelection(Population oldGen, Population selectedP) {
|
||||||
Population selectedSorted = selectedP.getSortedBestFirst(new AbstractEAIndividualComparator(-1));
|
Population selectedSorted = selectedP.getSortedBestFirst(new EAIndividualComparator(-1));
|
||||||
|
|
||||||
int mu, lambda;
|
int mu, lambda;
|
||||||
mu = selectedP.size();
|
mu = selectedP.size();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.operator.terminators;
|
package eva2.optimization.operator.terminators;
|
||||||
|
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.operator.distancemetric.ObjectiveSpaceMetric;
|
import eva2.optimization.operator.distancemetric.ObjectiveSpaceMetric;
|
||||||
import eva2.optimization.population.InterfaceSolutionSet;
|
import eva2.optimization.population.InterfaceSolutionSet;
|
||||||
import eva2.optimization.population.Population;
|
import eva2.optimization.population.Population;
|
||||||
@ -22,7 +22,7 @@ public class HistoryConvergenceTerminator implements InterfaceTerminator, Serial
|
|||||||
int fitCrit = 0;
|
int fitCrit = 0;
|
||||||
double convergenceThreshold;
|
double convergenceThreshold;
|
||||||
boolean stdDevInsteadOfImprovement;
|
boolean stdDevInsteadOfImprovement;
|
||||||
AbstractEAIndividualComparator indyImprovementComparator = new AbstractEAIndividualComparator("", -1, true);
|
EAIndividualComparator indyImprovementComparator = new EAIndividualComparator("", -1, true);
|
||||||
String msg;
|
String msg;
|
||||||
|
|
||||||
public static final boolean hideFromGOE = true; // hide from GUI
|
public static final boolean hideFromGOE = true; // hide from GUI
|
||||||
|
@ -1039,7 +1039,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getIndexOfBestEAIndividual(AbstractEAIndividualComparator comparator) {
|
public int getIndexOfBestEAIndividual(EAIndividualComparator comparator) {
|
||||||
return getIndexOfBestOrWorstIndividual(true, comparator);
|
return getIndexOfBestOrWorstIndividual(true, comparator);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1059,10 +1059,10 @@ public class Population extends ArrayList implements PopulationInterface, Clonea
|
|||||||
* @param fitIndex
|
* @param fitIndex
|
||||||
* @return
|
* @return
|
||||||
* @see #getIndexOfBestOrWorstIndividual(boolean, Comparator)
|
* @see #getIndexOfBestOrWorstIndividual(boolean, Comparator)
|
||||||
* @see AbstractEAIndividualComparator
|
* @see eva2.optimization.individuals.EAIndividualComparator
|
||||||
*/
|
*/
|
||||||
public int getIndexOfBestOrWorstIndy(boolean bBest, boolean checkConstraints, int fitIndex) {
|
public int getIndexOfBestOrWorstIndy(boolean bBest, boolean checkConstraints, int fitIndex) {
|
||||||
return getIndexOfBestOrWorstIndividual(bBest, new AbstractEAIndividualComparator(fitIndex, checkConstraints));
|
return getIndexOfBestOrWorstIndividual(bBest, new EAIndividualComparator(fitIndex, checkConstraints));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1162,7 +1162,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea
|
|||||||
n = super.size();
|
n = super.size();
|
||||||
}
|
}
|
||||||
Population pop = new Population(n);
|
Population pop = new Population(n);
|
||||||
getSortedNIndividuals(n, true, pop, new AbstractEAIndividualComparator(fitIndex));
|
getSortedNIndividuals(n, true, pop, new EAIndividualComparator(fitIndex));
|
||||||
return pop;
|
return pop;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1179,7 +1179,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea
|
|||||||
*/
|
*/
|
||||||
public Population getWorstNIndividuals(int n, int fitIndex) {
|
public Population getWorstNIndividuals(int n, int fitIndex) {
|
||||||
Population pop = new Population(n);
|
Population pop = new Population(n);
|
||||||
getSortedNIndividuals(n, false, pop, new AbstractEAIndividualComparator(fitIndex));
|
getSortedNIndividuals(n, false, pop, new EAIndividualComparator(fitIndex));
|
||||||
return pop;
|
return pop;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1272,7 +1272,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea
|
|||||||
* @param fitIndex
|
* @param fitIndex
|
||||||
*/
|
*/
|
||||||
public void setSortingFitnessCriterion(int fitIndex) {
|
public void setSortingFitnessCriterion(int fitIndex) {
|
||||||
getSorted(new AbstractEAIndividualComparator(fitIndex));
|
getSorted(new EAIndividualComparator(fitIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,7 +7,7 @@ import eva2.gui.plot.Plot;
|
|||||||
import eva2.gui.plot.TopoPlot;
|
import eva2.gui.plot.TopoPlot;
|
||||||
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
import eva2.optimization.operator.cluster.ClusteringDensityBased;
|
import eva2.optimization.operator.cluster.ClusteringDensityBased;
|
||||||
import eva2.optimization.operator.cluster.InterfaceClustering;
|
import eva2.optimization.operator.cluster.InterfaceClustering;
|
||||||
@ -72,8 +72,8 @@ public class ClusterBasedNichingEA extends AbstractOptimizer implements Interfac
|
|||||||
private double muLambdaRatio = 0.5;
|
private double muLambdaRatio = 0.5;
|
||||||
private int sleepTime = 0;
|
private int sleepTime = 0;
|
||||||
private int maxSpeciesSize = 15;
|
private int maxSpeciesSize = 15;
|
||||||
private AbstractEAIndividualComparator reduceSizeComparator = new AbstractEAIndividualComparator();
|
private EAIndividualComparator reduceSizeComparator = new EAIndividualComparator();
|
||||||
private AbstractEAIndividualComparator histComparator = new AbstractEAIndividualComparator("", -1, true);
|
private EAIndividualComparator histComparator = new EAIndividualComparator("", -1, true);
|
||||||
protected ParameterControlManager paramControl = new ParameterControlManager();
|
protected ParameterControlManager paramControl = new ParameterControlManager();
|
||||||
private double avgDistForConvergence = 0.1; // Upper bound for average indy distance in a species in the test for convergence
|
private double avgDistForConvergence = 0.1; // Upper bound for average indy distance in a species in the test for convergence
|
||||||
|
|
||||||
@ -1137,12 +1137,12 @@ public class ClusterBasedNichingEA extends AbstractOptimizer implements Interfac
|
|||||||
return "Set the comparator used to define the 'worst' individuals when reducing species size.";
|
return "Set the comparator used to define the 'worst' individuals when reducing species size.";
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbstractEAIndividualComparator getReduceSizeComparator() {
|
public EAIndividualComparator getReduceSizeComparator() {
|
||||||
return reduceSizeComparator;
|
return reduceSizeComparator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setReduceSizeComparator(
|
public void setReduceSizeComparator(
|
||||||
AbstractEAIndividualComparator reduceSizeComparator) {
|
EAIndividualComparator reduceSizeComparator) {
|
||||||
this.reduceSizeComparator = reduceSizeComparator;
|
this.reduceSizeComparator = reduceSizeComparator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1153,7 +1153,7 @@ public class ClusterBasedNichingEA extends AbstractOptimizer implements Interfac
|
|||||||
// public void setHistComparator(AbstractEAIndividualComparator histComparator) {
|
// public void setHistComparator(AbstractEAIndividualComparator histComparator) {
|
||||||
// this.histComparator = histComparator;
|
// this.histComparator = histComparator;
|
||||||
// }
|
// }
|
||||||
public AbstractEAIndividualComparator getHistComparator() {
|
public EAIndividualComparator getHistComparator() {
|
||||||
return histComparator;
|
return histComparator;
|
||||||
}
|
}
|
||||||
// public String histComparatorTipText() {
|
// public String histComparatorTipText() {
|
||||||
|
@ -2,7 +2,7 @@ package eva2.optimization.strategies;
|
|||||||
|
|
||||||
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.operator.archiving.ArchivingNSGAII;
|
import eva2.optimization.operator.archiving.ArchivingNSGAII;
|
||||||
import eva2.optimization.operator.archiving.InformationRetrievalInserting;
|
import eva2.optimization.operator.archiving.InformationRetrievalInserting;
|
||||||
import eva2.optimization.operator.archiving.InterfaceArchiving;
|
import eva2.optimization.operator.archiving.InterfaceArchiving;
|
||||||
@ -248,7 +248,7 @@ public class MultiObjectiveEA implements InterfaceOptimizer, java.io.Serializabl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InterfaceSolutionSet getAllSolutions() {
|
public InterfaceSolutionSet getAllSolutions() {
|
||||||
return new SolutionSet(getPopulation(), ArchivingNSGAII.getNonDominatedSortedFront(getPopulation().getArchive()).getSortedPop(new AbstractEAIndividualComparator(0)));
|
return new SolutionSet(getPopulation(), ArchivingNSGAII.getNonDominatedSortedFront(getPopulation().getArchive()).getSortedPop(new EAIndividualComparator(0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,7 +7,7 @@ import eva2.gui.plot.TopoPlot;
|
|||||||
import eva2.optimization.enums.PSOTopology;
|
import eva2.optimization.enums.PSOTopology;
|
||||||
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividualComparator;
|
import eva2.optimization.individuals.EAIndividualComparator;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
|
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
|
||||||
import eva2.optimization.operator.paramcontrol.ParamAdaption;
|
import eva2.optimization.operator.paramcontrol.ParamAdaption;
|
||||||
@ -1316,9 +1316,9 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java
|
|||||||
if ((topology == PSOTopology.multiSwarm) || (topology == PSOTopology.tree)) {
|
if ((topology == PSOTopology.multiSwarm) || (topology == PSOTopology.tree)) {
|
||||||
sortedPop = pop.toArray();
|
sortedPop = pop.toArray();
|
||||||
if ((topology == PSOTopology.multiSwarm) || (treeStruct >= 2)) {
|
if ((topology == PSOTopology.multiSwarm) || (treeStruct >= 2)) {
|
||||||
Arrays.sort(sortedPop, new AbstractEAIndividualComparator());
|
Arrays.sort(sortedPop, new EAIndividualComparator());
|
||||||
} else {
|
} else {
|
||||||
Arrays.sort(sortedPop, new AbstractEAIndividualComparator(partBestFitKey));
|
Arrays.sort(sortedPop, new EAIndividualComparator(partBestFitKey));
|
||||||
}
|
}
|
||||||
addSortedIndicesTo(sortedPop, pop);
|
addSortedIndicesTo(sortedPop, pop);
|
||||||
}
|
}
|
||||||
@ -1379,7 +1379,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java
|
|||||||
if (topology == PSOTopology.hpso) { // HPSO sorting the population
|
if (topology == PSOTopology.hpso) { // HPSO sorting the population
|
||||||
int parentIndex;
|
int parentIndex;
|
||||||
AbstractEAIndividual indy;
|
AbstractEAIndividual indy;
|
||||||
AbstractEAIndividualComparator comp = new AbstractEAIndividualComparator(partBestFitKey);
|
EAIndividualComparator comp = new EAIndividualComparator(partBestFitKey);
|
||||||
for (int i = 0; i < pop.size(); i++) {
|
for (int i = 0; i < pop.size(); i++) {
|
||||||
// loop over the part of the tree which is complete (full degree in each level)
|
// loop over the part of the tree which is complete (full degree in each level)
|
||||||
parentIndex = getParentIndex(topologyRange, i, pop.size());
|
parentIndex = getParentIndex(topologyRange, i, pop.size());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user