Organize imports.

Fix missing data header in F8Problem.
Fix several tip texts.
This commit is contained in:
Fabian Becker 2014-11-13 14:50:13 +01:00
parent 83194f4d04
commit 4326044a1b
54 changed files with 103 additions and 136 deletions

View File

@ -4,7 +4,6 @@ import eva2.optimization.enums.DEType;
import eva2.optimization.enums.MutateESCrossoverType;
import eva2.optimization.enums.PSOTopology;
import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.*;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.archiving.ArchivingNSGAII;
@ -25,11 +24,12 @@ import eva2.optimization.operator.selection.SelectBestIndividuals;
import eva2.optimization.operator.terminators.CombinedTerminator;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.PBILPopulation;
import eva2.optimization.population.Population;
import eva2.problems.AbstractOptimizationProblem;
import eva2.optimization.statistics.InterfaceStatistics;
import eva2.optimization.strategies.*;
import eva2.problems.AbstractOptimizationProblem;
import eva2.tools.math.RNG;
import java.util.ArrayList;

View File

@ -5,8 +5,8 @@ import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.selection.SelectXProbRouletteWheel;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
import eva2.problems.B1Problem;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.problems.B1Problem;
import java.util.BitSet;

View File

@ -6,8 +6,8 @@ import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.crossover.CrossoverESDefault;
import eva2.optimization.operator.mutation.MutateESCovarianceMatrixAdaption;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.problems.FM0Problem;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.problems.FM0Problem;
public class TestingPlusCmaEs {

View File

@ -5,7 +5,10 @@ import eva2.optimization.tools.FileTools;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.text.*;
import javax.swing.text.AbstractDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DocumentFilter;
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;

View File

@ -1,18 +1,18 @@
package eva2.gui;
import eva2.EvAInfo;
import eva2.optimization.modules.*;
import eva2.optimization.statistics.InterfaceStatisticsParameters;
import eva2.util.ClassPreloader;
import eva2.util.EvAComAdapter;
import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.*;
import eva2.optimization.statistics.AbstractStatistics;
import eva2.optimization.statistics.InterfaceStatisticsListener;
import eva2.optimization.statistics.InterfaceStatisticsParameters;
import eva2.tools.BasicResourceLoader;
import eva2.tools.EVAERROR;
import eva2.tools.ReflectPackage;
import eva2.tools.StringTools;
import eva2.util.ClassPreloader;
import eva2.util.EvAComAdapter;
import javax.help.HelpSet;
import javax.help.JHelpContentViewer;

View File

@ -3,10 +3,10 @@ package eva2.gui.editor;
import eva2.gui.PropertyEditorProvider;
import eva2.gui.PropertyOptimizationObjectives;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.problems.InterfaceOptimizationTarget;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.problems.InterfaceOptimizationTarget;
import eva2.tools.BasicResourceLoader;
import javax.swing.*;

View File

@ -3,9 +3,9 @@ package eva2.gui.editor;
import eva2.gui.PropertyEditorProvider;
import eva2.gui.PropertyOptimizationObjectivesWithParam;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.tools.BasicResourceLoader;
import javax.swing.*;

View File

@ -2,9 +2,9 @@ package eva2.optimization.go;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.problems.InterfaceAdditionalPopulationInformer;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer;
/**
*

View File

@ -9,9 +9,9 @@ import eva2.optimization.operator.moso.MOSOWeightedFitness;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population;
import eva2.problems.*;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.strategies.IslandModelEA;
import eva2.problems.*;
import javax.swing.*;
import java.awt.*;

View File

@ -16,10 +16,10 @@ import eva2.optimization.operator.selection.SelectTournament;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population;
import eva2.problems.F1Problem;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.problems.F1Problem;
import eva2.tools.math.RNG;
import javax.swing.*;

View File

@ -8,13 +8,13 @@ import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.moso.MOSOWeightedFitness;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.problems.InterfaceOptimizationObjective;
import javax.swing.*;
import java.awt.*;

View File

@ -7,10 +7,10 @@ import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.operator.migration.SOBestMigration;
import eva2.optimization.operator.moso.MOSOLpMetric;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.strategies.IslandModelEA;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.tools.math.RNG;
import javax.swing.*;

View File

@ -8,13 +8,13 @@ import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.moso.MOSOWeightedFitness;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.problems.InterfaceOptimizationObjective;
import javax.swing.*;
import java.awt.*;

View File

@ -7,10 +7,10 @@ import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.operator.migration.SOBestMigration;
import eva2.optimization.operator.moso.MOSOWeightedLPTchebycheff;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.strategies.IslandModelEA;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.tools.math.RNG;
import javax.swing.*;

View File

@ -4,12 +4,12 @@ import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.strategies.MultiObjectiveEA;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.problems.InterfaceOptimizationObjective;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.strategies.MultiObjectiveEA;
import java.awt.*;
import java.util.ArrayList;

View File

@ -3,8 +3,8 @@ package eva2.optimization.operator.crossover;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.population.Population;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.BinaryScatterSearch;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;
import eva2.util.annotation.Description;

View File

@ -3,8 +3,8 @@ package eva2.optimization.operator.crossover;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.population.Population;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.BinaryScatterSearch;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;
import eva2.util.annotation.Description;

View File

@ -9,9 +9,9 @@ import eva2.optimization.operator.constraint.ConstBelongsToDifferentClass;
import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectRandom;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DPoint;

View File

@ -12,9 +12,9 @@ import eva2.optimization.operator.constraint.ConstObjectivesInEqualitySmallerTha
import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectRandom;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DPoint;

View File

@ -10,9 +10,9 @@ import eva2.optimization.operator.constraint.ConstBelongsToDifferentClass;
import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectRandom;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DPoint;

View File

@ -1,7 +1,7 @@
package eva2.optimization.operator.mutation;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.tools.EVAERROR;

View File

@ -7,8 +7,8 @@ import eva2.optimization.individuals.EAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.distancemetric.EuclideanMetric;
import eva2.optimization.population.Population;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.EVAERROR;
import eva2.tools.Pair;
import eva2.tools.math.Jama.EigenvalueDecomposition;

View File

@ -4,8 +4,8 @@ package eva2.optimization.operator.paretofrontmetrics;
import eva2.gui.PropertyFilePath;
import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.population.Population;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.tools.FileTools;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.util.annotation.Description;
import java.util.ArrayList;

View File

@ -4,8 +4,8 @@ package eva2.optimization.operator.paretofrontmetrics;
import eva2.gui.PropertyFilePath;
import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.population.Population;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.tools.FileTools;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.util.annotation.Description;
import java.util.ArrayList;

View File

@ -4,8 +4,8 @@ import eva2.gui.PropertyFilePath;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.population.Population;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.tools.FileTools;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.util.annotation.Description;
import java.util.ArrayList;

View File

@ -4,8 +4,8 @@ package eva2.optimization.operator.paretofrontmetrics;
import eva2.gui.PropertyFilePath;
import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.population.Population;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.tools.FileTools;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.util.annotation.Description;
import java.util.ArrayList;

View File

@ -6,8 +6,8 @@ import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
import eva2.optimization.operator.archiving.ArchivingAllDominating;
import eva2.optimization.population.Population;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.tools.FileTools;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.util.annotation.Description;
import java.util.ArrayList;

View File

@ -24,12 +24,12 @@ import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.population.Population;
import eva2.optimization.statistics.InterfaceStatisticsParameters;
import eva2.problems.*;
import eva2.optimization.statistics.InterfaceTextListener;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.strategies.GradientDescentAlgorithm;
import eva2.optimization.strategies.HillClimbing;
import eva2.optimization.strategies.NelderMeadSimplex;
import eva2.problems.*;
import eva2.tools.Pair;
import eva2.tools.math.Mathematics;

View File

@ -1,12 +1,12 @@
package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.operator.crossover.*;
import eva2.optimization.operator.distancemetric.GenotypeMetricBitSet;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -5,7 +5,6 @@ import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.GraphPointSet;
import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.EAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
@ -19,6 +18,7 @@ import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.ParameterControlManager;
import eva2.optimization.operator.terminators.HistoryConvergenceTerminator;
import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;

View File

@ -2,18 +2,15 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.operator.mutation.MutateESFixedStepSize;
import eva2.optimization.operator.postprocess.PostProcess;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.population.*;
import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.InterfaceAdditionalPopulationInformer;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.Pair;
import eva2.util.annotation.Description;
import eva2.util.annotation.Parameter;
import java.io.Serializable;
@ -200,7 +197,6 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
tmp.addPopulation(population);
tmp.setFunctionCalls(population.getFunctionCalls());
tmp.setGeneration(population.getGeneration());
// tmp = PostProcessInterim.clusterBest(tmp, sigma, 0, PostProcessInterim.KEEP_LONERS, PostProcessInterim.BEST_ONLY);
return new SolutionSet(population, tmp);
}
@ -236,14 +232,11 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param hcEvalCycle the hcEvalCycle to set
*/
@Parameter(description = "The number of evaluations between two clustering/adaption steps.")
public void setEvalCycle(int hcEvalCycle) {
this.hcEvalCycle = hcEvalCycle;
}
public String evalCycleTipText() {
return "The number of evaluations between two clustering/adaption steps.";
}
/**
* @return the initialPopSize
*/
@ -254,14 +247,11 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param initialPopSize the initialPopSize to set
*/
@Parameter(description = "Population size at the start and at reinitialization times.")
public void setInitialPopSize(int initialPopSize) {
this.initialPopSize = initialPopSize;
}
public String initialPopSizeTipText() {
return "Population size at the start and at reinitialization times.";
}
/**
* @return the sigma
*/
@ -272,14 +262,11 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param sigma the sigma to set
*/
@Parameter(description = "Defines the sigma distance parameter for density based clustering.")
public void setSigmaClust(double sigma) {
this.sigmaClust = sigma;
}
public String sigmaClustTipText() {
return "Defines the sigma distance parameter for density based clustering.";
}
/**
* @return the notifyGuiEvery
*/
@ -290,14 +277,11 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param notifyGuiEvery the notifyGuiEvery to set
*/
@Parameter(description = "How often to notify the GUI to plot the fitness etc.")
public void setNotifyGuiEvery(int notifyGuiEvery) {
this.notifyGuiEvery = notifyGuiEvery;
}
public String notifyGuiEveryTipText() {
return "How often to notify the GUI to plot the fitness etc.";
}
/**
* @return the minImprovement
*/
@ -308,14 +292,11 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param minImprovement the minImprovement to set
*/
@Parameter(description = "Improvement threshold below which the mutation step size is reduced or the population reinitialized.")
public void setMinImprovement(double minImprovement) {
this.minImprovement = minImprovement;
}
public String minImprovementTipText() {
return "Improvement threshold below which the mutation step size is reduced or the population reinitialized.";
}
/**
* @return the reinitForStepSize
*/
@ -326,14 +307,11 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param reinitForStepSize the reinitForStepSize to set
*/
@Parameter(description = "Threshold for the mutation step size below which the population is seen as converged and reinitialized.")
public void setStepSizeThreshold(double reinitForStepSize) {
this.stepSizeThreshold = reinitForStepSize;
}
public String stepSizeThresholdTipText() {
return "Threshold for the mutation step size below which the population is seen as converged and reinitialized.";
}
/**
* @return the initialStepSize
*/
@ -344,28 +322,22 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
/**
* @param initialStepSize the initialStepSize to set
*/
@Parameter(description = "Initial mutation step size for hill climbing, relative to the problem range.")
public void setStepSizeInitial(double initialStepSize) {
this.initialStepSize = initialStepSize;
}
public String stepSizeInitialTipText() {
return "Initial mutation step size for hill climbing, relative to the problem range.";
}
public PostProcessMethod getLocalSearchMethod() {
return localSearchMethod;
}
@Parameter(description = "Set the method to be used for the hill climbing as local search")
public void setLocalSearchMethod(PostProcessMethod localSearchMethod) {
this.localSearchMethod = localSearchMethod;
GenericObjectEditor.setShowProperty(this.getClass(), "stepSizeInitial", localSearchMethod == PostProcessMethod.hillClimber);
GenericObjectEditor.setShowProperty(this.getClass(), "stepSizeThreshold", localSearchMethod == PostProcessMethod.hillClimber);
}
public String localSearchMethodTipText() {
return "Set the method to be used for the hill climbing as local search";
}
@Override
public String[] getAdditionalDataHeader() {
return new String[]{"numIndies", "sigma", "numArchived", "archivedMeanDist"};
@ -385,12 +357,9 @@ public class ClusteringHillClimbing extends AbstractOptimizer implements Interfa
return doReinitialization;
}
@Parameter(description = "Activate reinitialization if no improvement was achieved.")
public void setDoReinitialization(boolean doReinitialization) {
this.doReinitialization = doReinitialization;
GenericObjectEditor.setShowProperty(this.getClass(), "minImprovement", doReinitialization);
}
public String doReinitializationTipText() {
return "Activate reinitialization if no improvement was achieved.";
}
}

View File

@ -2,7 +2,6 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.cluster.ClusteringDynPeakIdent;
@ -15,10 +14,7 @@ import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.ParameterControlManager;
import eva2.optimization.operator.selection.*;
import eva2.optimization.operator.terminators.HistoryConvergenceTerminator;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.population.*;
import eva2.problems.Interface2DBorderProblem;
import eva2.problems.InterfaceAdditionalPopulationInformer;
import eva2.problems.InterfaceOptimizationProblem;

View File

@ -1,7 +1,6 @@
package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.mutation.MutateESRankMuCMA;
import eva2.optimization.operator.terminators.FitnessConvergenceTerminator;
@ -9,6 +8,7 @@ import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.ChangeTypeEnum;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;

View File

@ -1,9 +1,9 @@
package eva2.optimization.strategies;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectEPTournaments;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -1,9 +1,9 @@
package eva2.optimization.strategies;
import eva2.gui.plot.Plot;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.ESIndividualDoubleData;
import eva2.optimization.operator.migration.*;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -1,10 +1,10 @@
package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -1,10 +1,10 @@
package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -1,9 +1,9 @@
package eva2.optimization.strategies;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectBestIndividuals;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -1,12 +1,12 @@
package eva2.optimization.strategies;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.EAIndividualComparator;
import eva2.optimization.operator.archiving.ArchivingNSGAII;
import eva2.optimization.operator.archiving.InformationRetrievalInserting;
import eva2.optimization.operator.archiving.InterfaceArchiving;
import eva2.optimization.operator.archiving.InterfaceInformationRetrieval;
import eva2.optimization.operator.selection.SelectMONonDominated;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -1,9 +1,9 @@
package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;

View File

@ -15,7 +15,9 @@ import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.problems.*;
import eva2.problems.Interface2DBorderProblem;
import eva2.problems.InterfaceAdditionalPopulationInformer;
import eva2.problems.InterfaceProblemDouble;
import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointSet;
import eva2.tools.math.Jama.Matrix;

View File

@ -1,14 +1,10 @@
package eva2.optimization.strategies;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectBestIndividuals;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.PBILPopulation;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.population.*;
import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.B1Problem;
import eva2.problems.InterfaceOptimizationProblem;

View File

@ -2,19 +2,19 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.Plot;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.InterfaceHasInitRange;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.tribes.TribesExplorer;
import eva2.optimization.strategies.tribes.TribesParam;
import eva2.optimization.strategies.tribes.TribesPosition;
import eva2.optimization.strategies.tribes.TribesSwarm;
import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.InterfaceHasInitRange;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description;
import java.util.Iterator;

View File

@ -1,7 +1,7 @@
package eva2.optimization.strategies.tribes;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.Tribes;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;

View File

@ -3,8 +3,8 @@ package eva2.optimization.strategies.tribes;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.population.Population;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.Tribes;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;
public class TribesExplorer extends AbstractEAIndividual implements InterfaceDataTypeDouble {

View File

@ -1,8 +1,8 @@
package eva2.optimization.strategies.tribes;
import eva2.optimization.population.Population;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.Tribes;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;
import java.util.ArrayList;

View File

@ -5,8 +5,8 @@ import eva2.tools.BasicResourceLoader;
import eva2.tools.StringTools;
import org.yaml.snakeyaml.Yaml;
import javax.swing.filechooser.FileFilter;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.*;
import java.io.*;
import java.util.ArrayList;

View File

@ -276,11 +276,13 @@ public abstract class AbstractOptimizationProblem implements InterfaceOptimizati
*/
@Override
public String[] getAdditionalDataInfo() {
String[] info = null;
String[] info;
if (this instanceof InterfaceInterestingHistogram) {
info = new String[]{"Representation of the current best individual",
"Fitness histogram of the current population",
"Fitness threshold based score of the current population"};
info = new String[]{
"Representation of the current best individual",
"Fitness histogram of the current population",
"Fitness threshold based score of the current population"
};
} else {
info = new String[]{"Representation of the current best individual"};
}

View File

@ -516,8 +516,7 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
public String[] getAdditionalDataHeader() {
String[] superHeader = super.getAdditionalDataHeader();
if (isWithConstraints()) {
return ToolBox.appendArrays(superHeader, new String[]{"rawFit",
"numViol", "sumViol"});
return ToolBox.appendArrays(superHeader, new String[]{"rawFit","numViol", "sumViol"});
} else {
return superHeader;
}
@ -527,13 +526,11 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
public String[] getAdditionalDataInfo() {
String[] superInfo = super.getAdditionalDataInfo();
if (isWithConstraints()) {
return ToolBox
.appendArrays(
superInfo,
new String[]{
"Raw fitness (unpenalized) of the current best individual",
"The number of constraints violated by the current best individual",
"The sum of constraint violations of the current best individual"});
return ToolBox.appendArrays(superInfo,new String[]{
"Raw fitness (unpenalized) of the current best individual",
"The number of constraints violated by the current best individual",
"The sum of constraint violations of the current best individual"}
);
} else {
return superInfo;
}

View File

@ -1,5 +1,7 @@
package eva2.problems;
import eva2.util.annotation.Parameter;
/**
*
*/
@ -48,6 +50,7 @@ public abstract class AbstractProblemDoubleOffset extends AbstractProblemDouble
*
* @param XOffset The offset for the decision variables.
*/
@Parameter(description = "Choose an offset for the decision variables.")
public void setXOffset(double XOffset) {
this.xOffset = XOffset;
}
@ -56,16 +59,13 @@ public abstract class AbstractProblemDoubleOffset extends AbstractProblemDouble
return this.xOffset;
}
public String XOffsetTipText() {
return "Choose an offset for the decision variables.";
}
/**
* This method allows you to set/get the offset for the
* objective value.
*
* @param YOffset The offset for the objective value.
*/
@Parameter(description = "Choose an offset for the objective value.")
public void setYOffset(double YOffset) {
this.yOffset = YOffset;
}
@ -74,10 +74,6 @@ public abstract class AbstractProblemDoubleOffset extends AbstractProblemDouble
return this.yOffset;
}
public String YOffsetTipText() {
return "Choose an offset for the objective value.";
}
/**
* Length of the x vector at is to be optimized
*

View File

@ -150,7 +150,15 @@ public class F8Problem extends AbstractProblemDoubleOffset
public String[] getAdditionalDataHeader() {
String[] superHd = super.getAdditionalDataHeader();
return ToolBox.appendArrays(new String[]{"numOptimaFound", "maxPeakRatio"}, superHd);
// return "#Optima found \tMaximum Peak Ratio \t" + super.getAdditionalDataHeader(population);
}
@Override
public final String[] getAdditionalDataInfo() {
String[] superHd = super.getAdditionalDataInfo();
return ToolBox.appendArrays(new String[]{
"The number of optima found",
"Ratio of maximum peaks"
}, superHd);
}
@Override

View File

@ -7,8 +7,6 @@ import eva2.optimization.population.PopulationInterface;
* This may be statistics depending on specific optimization methods or a specific application
* problem.
* For every additional field, a field name (header) and a value at every iteration must be provided.
*
* @author mkron
*/
public interface InterfaceAdditionalPopulationInformer {
/**

View File

@ -5,9 +5,9 @@ import eva2.optimization.individuals.*;
import eva2.optimization.individuals.codings.gp.*;
import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.problems.regression.InterfaceRegressionFunction;
import eva2.problems.regression.RFKoza_GPI_7_3;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.EVAERROR;
import eva2.tools.ToolBox;
import eva2.tools.math.RNG;

View File

@ -6,12 +6,12 @@ import eva2.gui.plot.Plot;
import eva2.optimization.individuals.*;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.math.RNG;
import eva2.util.annotation.Description;
import eva2.problems.simple.InterfaceSimpleProblem;
import eva2.problems.simple.SimpleF1;
import eva2.problems.simple.SimpleProblemBinary;
import eva2.problems.simple.SimpleProblemDouble;
import eva2.tools.math.RNG;
import eva2.util.annotation.Description;
import eva2.util.annotation.Parameter;
import java.util.BitSet;