Move InterfacePopulationChangedEventListener to

eva2.optimization.population.
This commit is contained in:
Fabian Becker 2014-10-31 19:05:38 +01:00
parent c8de290e4c
commit 9a8efc403e
88 changed files with 97 additions and 128 deletions

View File

@ -4,7 +4,7 @@ import eva2.optimization.enums.DEType;
import eva2.optimization.enums.MutateESCrossoverType; import eva2.optimization.enums.MutateESCrossoverType;
import eva2.optimization.enums.PSOTopology; import eva2.optimization.enums.PSOTopology;
import eva2.optimization.enums.PostProcessMethod; import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.*; import eva2.optimization.individuals.*;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.archiving.ArchivingNSGAII; import eva2.optimization.operator.archiving.ArchivingNSGAII;
@ -572,7 +572,7 @@ public class OptimizerFactory {
} }
/** /**
* Return a simple String showing the accessible optimizers. For external * Return a eva2.problems.simple String showing the accessible optimizers. For external
* access." * access."
* *
* @return a String listing the accessible optimizers * @return a String listing the accessible optimizers
@ -1303,7 +1303,7 @@ public class OptimizerFactory {
} }
/** /**
* Create a standard clustering hill climbing employing simple ES mutation * Create a standard clustering hill climbing employing eva2.problems.simple ES mutation
* with adaptive step size, starting in parallel 100 local searches and * with adaptive step size, starting in parallel 100 local searches and
* clustering intermediate populations to avoid optima being found several * clustering intermediate populations to avoid optima being found several
* times by the same population (density based clustering with sigma = * times by the same population (density based clustering with sigma =
@ -1338,9 +1338,9 @@ public class OptimizerFactory {
} }
/** /**
* Create a custom clustering hillclimber using ES mutation (simple or CMA) * Create a custom clustering hillclimber using ES mutation (eva2.problems.simple or CMA)
* or nelder mead. The parameters hcInitialStep and hcStepThresh are only * or nelder mead. The parameters hcInitialStep and hcStepThresh are only
* relevant for the simple mutation based hc method. * relevant for the eva2.problems.simple mutation based hc method.
* *
* @param problem * @param problem
* @param evalCycle * @param evalCycle

View File

@ -20,7 +20,7 @@ import java.util.BitSet;
/** /**
* This Runnable class just encapsulates the Processor class with some simple ways to access a solution. * This Runnable class just encapsulates the Processor class with some eva2.problems.simple ways to access a solution.
* *
* @author mkron * @author mkron
*/ */

View File

@ -5,7 +5,7 @@ import eva2.OptimizerFactory;
import eva2.optimization.OptimizationStateListener; import eva2.optimization.OptimizationStateListener;
import eva2.optimization.enums.DEType; import eva2.optimization.enums.DEType;
import eva2.optimization.enums.PSOTopology; import eva2.optimization.enums.PSOTopology;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.crossover.CrossoverESDefault; import eva2.optimization.operator.crossover.CrossoverESDefault;
import eva2.optimization.operator.crossover.InterfaceCrossover; import eva2.optimization.operator.crossover.InterfaceCrossover;
@ -29,7 +29,6 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger; import java.util.logging.Logger;
/** /**

View File

@ -11,7 +11,7 @@ import java.util.List;
public class TestingCbnPostProc { public class TestingCbnPostProc {
public static void main(String[] args) { public static void main(String[] args) {
// a simple bimodal target function, two optima near (1.7,0) and (-1.44/0) // a eva2.problems.simple bimodal target function, two optima near (1.7,0) and (-1.44/0)
FM0Problem fm0 = new FM0Problem(); FM0Problem fm0 = new FM0Problem();
AbstractEAIndividual best; AbstractEAIndividual best;
List<AbstractEAIndividual> ppSols; List<AbstractEAIndividual> ppSols;

View File

@ -12,7 +12,7 @@ import eva2.optimization.strategies.EvolutionStrategies;
public class TestingPlusCmaEs { public class TestingPlusCmaEs {
public static void main(String[] args) { public static void main(String[] args) {
// a simple bimodal target function, two optima near (1.7,0) and (-1.44/0) // a eva2.problems.simple bimodal target function, two optima near (1.7,0) and (-1.44/0)
FM0Problem fm0 = new FM0Problem(); FM0Problem fm0 = new FM0Problem();
AbstractEAIndividual bestIndy; AbstractEAIndividual bestIndy;
// create standard ES parameters // create standard ES parameters

View File

@ -10,7 +10,7 @@ import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
/** /**
* A simple focus listener with an object ID and callback. * A eva2.problems.simple focus listener with an object ID and callback.
* *
* @author mkron * @author mkron
*/ */

View File

@ -7,6 +7,7 @@ import eva2.optimization.mocco.paretofrontviewer.MOCCOViewer;
import eva2.optimization.operator.moso.InterfaceMOSOConverter; import eva2.optimization.operator.moso.InterfaceMOSOConverter;
import eva2.optimization.operator.moso.MOSOWeightedFitness; import eva2.optimization.operator.moso.MOSOWeightedFitness;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.problems.*; import eva2.problems.*;
import eva2.optimization.strategies.InterfaceOptimizer; import eva2.optimization.strategies.InterfaceOptimizer;

View File

@ -14,6 +14,7 @@ import eva2.optimization.operator.mutation.MutateESFixedStepSize;
import eva2.optimization.operator.mutation.MutateESLocal; import eva2.optimization.operator.mutation.MutateESLocal;
import eva2.optimization.operator.selection.SelectTournament; import eva2.optimization.operator.selection.SelectTournament;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.problems.F1Problem; import eva2.problems.F1Problem;
import eva2.optimization.strategies.EvolutionStrategies; import eva2.optimization.strategies.EvolutionStrategies;
@ -135,7 +136,7 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization,
// build the Options Panel // build the Options Panel
JParaPanel paraPanel = new JParaPanel(this, "MyGUI"); JParaPanel paraPanel = new JParaPanel(this, "MyGUI");
Class object = null, editor = null; Class object = null, editor = null;
String tmp = "eva2.optimization.go.Tools.InterfaceTest"; String tmp = "eva2.optimization.tools.InterfaceTest";
try { try {
object = Class.forName(tmp); object = Class.forName(tmp);
} catch (java.lang.ClassNotFoundException e) { } catch (java.lang.ClassNotFoundException e) {
@ -316,7 +317,7 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization,
break; break;
} }
case 1: { case 1: {
// use the simple ES Local // use the eva2.problems.simple ES Local
this.outputFileName = "X360_StandardES"; this.outputFileName = "X360_StandardES";
EvolutionStrategies es = new EvolutionStrategies(); EvolutionStrategies es = new EvolutionStrategies();
this.optimizationParameters.setOptimizer(es); this.optimizationParameters.setOptimizer(es);

View File

@ -288,7 +288,7 @@ public class ESIndividualBinaryData extends AbstractEAIndividual implements Inte
} }
/** /**
* This method performs a simple one element mutation on the double vector * This method performs a eva2.problems.simple one element mutation on the double vector
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -348,7 +348,7 @@ public class ESIndividualDoubleData extends AbstractEAIndividual implements Inte
} }
/** /**
* This method performs a simple one element mutation on the double vector * This method performs a eva2.problems.simple one element mutation on the double vector
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -303,7 +303,7 @@ public class ESIndividualIntegerData extends AbstractEAIndividual implements Int
} }
/** /**
* This method performs a simple one element mutation on the double vector * This method performs a eva2.problems.simple one element mutation on the double vector
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -88,7 +88,7 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
} }
/** /**
* This method evaluates the GAIndividual as simple minimize number * This method evaluates the GAIndividual as eva2.problems.simple minimize number
* of bits problem. * of bits problem.
* *
* @return The number of true bits * @return The number of true bits
@ -218,7 +218,7 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
} }
/** /**
* This method performs a simple one point mutation in the genotype * This method performs a eva2.problems.simple one point mutation in the genotype
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -342,7 +342,7 @@ public class GAIndividualDoubleData extends AbstractEAIndividual implements Inte
} }
/** /**
* This method performs a simple one point mutation in the genotype * This method performs a eva2.problems.simple one point mutation in the genotype
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -398,7 +398,7 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
} }
/** /**
* This method performs a simple one point mutation in the genotype * This method performs a eva2.problems.simple one point mutation in the genotype
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -674,7 +674,7 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
} }
/** /**
* This method performs a simple one point mutation in the genotype * This method performs a eva2.problems.simple one point mutation in the genotype
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -317,7 +317,7 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int
} }
/** /**
* This method performs a simple one point mutation in the genotype * This method performs a eva2.problems.simple one point mutation in the genotype
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -313,7 +313,7 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
} }
/** /**
* This method performs a simple one element mutation on the program * This method performs a eva2.problems.simple one element mutation on the program
*/ */
@Override @Override
public void defaultMutate() { public void defaultMutate() {

View File

@ -85,7 +85,7 @@ public class GAGrayCodingDouble implements InterfaceGADoubleCoding, java.io.Seri
} }
/** /**
* A simple test method * A eva2.problems.simple test method
* *
* @param args no args needed * @param args no args needed
*/ */

View File

@ -135,7 +135,7 @@ public class GAStandardCodingDouble implements InterfaceGADoubleCoding, java.io.
} }
/** /**
* A simple test function without arguments * A eva2.problems.simple test function without arguments
* *
* @param args * @param args
*/ */

View File

@ -4,7 +4,7 @@ package eva2.optimization.individuals.codings.gp;
import eva2.problems.InterfaceProgramProblem; import eva2.problems.InterfaceProgramProblem;
/** /**
* A simple add node with two arguments. * A eva2.problems.simple add node with two arguments.
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
* User: streiche * User: streiche
* Date: 04.04.2003 * Date: 04.04.2003

View File

@ -3,7 +3,7 @@ package eva2.optimization.individuals.codings.gp;
import eva2.problems.InterfaceProgramProblem; import eva2.problems.InterfaceProgramProblem;
/** /**
* A simple constant node with the value 1. * A eva2.problems.simple constant node with the value 1.
*/ */
public class GPNodeConst extends AbstractGPNode implements java.io.Serializable { public class GPNodeConst extends AbstractGPNode implements java.io.Serializable {
double value = 1.; double value = 1.;

View File

@ -2,7 +2,7 @@ package eva2.optimization.individuals.codings.gp;
/** /**
* A simple constant node with the value 1. * A eva2.problems.simple constant node with the value 1.
*/ */
public class GPNodeOne extends GPNodeConst implements java.io.Serializable { public class GPNodeOne extends GPNodeConst implements java.io.Serializable {
public GPNodeOne() { public GPNodeOne() {

View File

@ -2,7 +2,7 @@ package eva2.optimization.individuals.codings.gp;
/** /**
* A simple constant node with the value 1. * A eva2.problems.simple constant node with the value 1.
*/ */
public class GPNodePi extends GPNodeConst implements java.io.Serializable { public class GPNodePi extends GPNodeConst implements java.io.Serializable {
public GPNodePi() { public GPNodePi() {

View File

@ -5,7 +5,7 @@ import eva2.problems.InterfaceProgramProblem;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;
/** /**
* A simple product node with a single, possibly vectorial (array), argument. * A eva2.problems.simple product node with a single, possibly vectorial (array), argument.
*/ */
public class GPNodeProd extends AbstractGPNode implements java.io.Serializable { public class GPNodeProd extends AbstractGPNode implements java.io.Serializable {

View File

@ -5,7 +5,7 @@ import eva2.problems.InterfaceProgramProblem;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;
/** /**
* A simple sum node with a single, possibly vectorial (array), argument. * A eva2.problems.simple sum node with a single, possibly vectorial (array), argument.
*/ */
public class GPNodeSum extends AbstractGPNode implements java.io.Serializable { public class GPNodeSum extends AbstractGPNode implements java.io.Serializable {

View File

@ -351,7 +351,7 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
} }
/** /**
* This method will plot a simple fitness plot, using the iterations a x-axis * This method will plot a eva2.problems.simple fitness plot, using the iterations a x-axis
*/ */
public void plot1DFitnessPlot() { public void plot1DFitnessPlot() {
double xmin = 0, ymin = Double.POSITIVE_INFINITY, xmax = Double.NEGATIVE_INFINITY, ymax = Double.NEGATIVE_INFINITY, fitness; double xmin = 0, ymin = Double.POSITIVE_INFINITY, xmax = Double.NEGATIVE_INFINITY, ymax = Double.NEGATIVE_INFINITY, fitness;

View File

@ -176,7 +176,7 @@ public class ParetoFrontView2D extends JPanel implements InterfaceParetoFrontVie
} }
/** /**
* This method will plot a simple fitness plot, using the iterations a x-axis * This method will plot a eva2.problems.simple fitness plot, using the iterations a x-axis
*/ */
public void plot2DParetoFront() { public void plot2DParetoFront() {
double xmin = Double.POSITIVE_INFINITY, ymin = Double.POSITIVE_INFINITY, xmax = Double.NEGATIVE_INFINITY, ymax = Double.NEGATIVE_INFINITY; double xmin = Double.POSITIVE_INFINITY, ymin = Double.POSITIVE_INFINITY, xmax = Double.NEGATIVE_INFINITY, ymax = Double.NEGATIVE_INFINITY;

View File

@ -3,7 +3,7 @@ package eva2.optimization.modules;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceNotifyOnInformers; import eva2.optimization.go.InterfaceNotifyOnInformers;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams; import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.postprocess.PostProcessParams; import eva2.optimization.operator.postprocess.PostProcessParams;
import eva2.optimization.operator.terminators.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;

View File

@ -4,7 +4,7 @@ import eva2.gui.BeanInspector;
import eva2.optimization.OptimizationStateListener; import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.InterfaceNotifyOnInformers; import eva2.optimization.go.InterfaceNotifyOnInformers;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.operator.paramcontrol.ConstantParameters; import eva2.optimization.operator.paramcontrol.ConstantParameters;
import eva2.optimization.operator.paramcontrol.InterfaceParameterControl; import eva2.optimization.operator.paramcontrol.InterfaceParameterControl;
import eva2.optimization.operator.postprocess.PostProcess; import eva2.optimization.operator.postprocess.PostProcess;

View File

@ -6,7 +6,7 @@ import eva2.optimization.population.Population;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
/** /**
* This simple strategy simply archives all Pareto optimal solutions. This method is * This eva2.problems.simple strategy simply archives all Pareto optimal solutions. This method is
* very prone to OutOfMemory errors! * very prone to OutOfMemory errors!
*/ */
@Description("This is a straightforward strategy, which selects all dominating individuals (very prone to generate OutOfMemory errors).") @Description("This is a straightforward strategy, which selects all dominating individuals (very prone to generate OutOfMemory errors).")

View File

@ -11,7 +11,7 @@ import eva2.util.annotation.Description;
/** /**
* Another simple archiving strategy not based on dominance but on the MaxiMin * Another eva2.problems.simple archiving strategy not based on dominance but on the MaxiMin
* criterion. Doesn't work well on non-convex Pareto fronts. * criterion. Doesn't work well on non-convex Pareto fronts.
*/ */
@Description("Maxi Min Archiving.") @Description("Maxi Min Archiving.")

View File

@ -10,7 +10,7 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
/** /**
* Self-organizing maps, a simple, but easy to visualize method * Self-organizing maps, a eva2.problems.simple, but easy to visualize method
* for classification. The Dikel flag is an undocumented extension, * for classification. The Dikel flag is an undocumented extension,
* which seems to work but is not published. * which seems to work but is not published.
*/ */

View File

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

View File

@ -5,7 +5,7 @@ import eva2.optimization.population.Population;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
/** /**
* A simple sum to calculate the selection probability. * A eva2.problems.simple sum to calculate the selection probability.
* <p/> * <p/>
* p(i is selected) = exp(-fitness(i))/sum_j(exp(-fitness(j))) * p(i is selected) = exp(-fitness(i))/sum_j(exp(-fitness(j)))
*/ */

View File

@ -5,7 +5,7 @@ import eva2.optimization.population.Population;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
/** /**
* A simple sum with a scaling factor. * A eva2.problems.simple sum with a scaling factor.
*/ */
@Description("This is a standard normation method with scaling.") @Description("This is a standard normation method with scaling.")
public class SelProbStandardScaling extends AbstractSelProb implements java.io.Serializable { public class SelProbStandardScaling extends AbstractSelProb implements java.io.Serializable {

View File

@ -1,12 +1,8 @@
package eva2.optimization.go; package eva2.optimization.population;
/** /**
* Created by IntelliJ IDEA. *
* User: streiche
* Date: 24.04.2003
* Time: 18:09:47
* To change this template use Options | File Templates.
*/ */
public interface InterfacePopulationChangedEventListener { public interface InterfacePopulationChangedEventListener {

View File

@ -1,7 +1,6 @@
package eva2.optimization.population; package eva2.optimization.population;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.*; import eva2.optimization.individuals.*;
import eva2.optimization.operator.distancemetric.EuclideanMetric; import eva2.optimization.operator.distancemetric.EuclideanMetric;
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric; import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
@ -2191,7 +2190,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea
/** /**
* Calculate the average of the distance of each individual to its closest * Calculate the average of the distance of each individual to its closest
* neighbor in the population. The boolean parameter switches between * neighbor in the population. The boolean parameter switches between
* range-normalized and simple euclidian distance. If calcVariance is true, * range-normalized and eva2.problems.simple euclidian distance. If calcVariance is true,
* the variance is calculated and returned as second entry * the variance is calculated and returned as second entry
* *
* @param normalizedPhenoMetric * @param normalizedPhenoMetric

View File

@ -27,7 +27,7 @@ import java.util.*;
* The method plotCurrentResults should be implemented to plot further results per iteration. * The method plotCurrentResults should be implemented to plot further results per iteration.
* <p/> * <p/>
* All displayable data is now routed through a single pipeline, which consists in a * All displayable data is now routed through a single pipeline, which consists in a
* list of Objects assembled in the getOutputValues method. This allows all simple data types which are * list of Objects assembled in the getOutputValues method. This allows all eva2.problems.simple data types which are
* provided by the external informer instances to be handled uniformly to the internally collected data, and * provided by the external informer instances to be handled uniformly to the internally collected data, and
* thus they can be plotted and text-dumped in the same manner. * thus they can be plotted and text-dumped in the same manner.
* Basic fields are identified by the enum GraphSelectionEnum and are available independently of additional * Basic fields are identified by the enum GraphSelectionEnum and are available independently of additional
@ -221,7 +221,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
} }
/** /**
* Return a simple String describing the current date and time. * Return a eva2.problems.simple String describing the current date and time.
* *
* @return * @return
*/ */
@ -807,7 +807,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
} }
/** /**
* Return all simple data fields collected internally. This must correspond to the * Return all eva2.problems.simple data fields collected internally. This must correspond to the
* method {@link #getSimpleOutputHeader()}. * method {@link #getSimpleOutputHeader()}.
* *
* @return * @return

View File

@ -1,7 +1,7 @@
package eva2.optimization.statistics; package eva2.optimization.statistics;
/** /**
* A very simple interface class to receive raw String data. * A very eva2.problems.simple interface class to receive raw String data.
* *
* @author mkron * @author mkron
*/ */

View File

@ -8,7 +8,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* This simple statistics implementation can collect all Object data available during runs. * This eva2.problems.simple statistics implementation can collect all Object data available during runs.
* Be aware that the memory requirements can be excessive depending on the data produced by * Be aware that the memory requirements can be excessive depending on the data produced by
* the additional informers, and depending on the selected fields to be collected. * the additional informers, and depending on the selected fields to be collected.
* Therefore, the default is not to log the data but just print it using the super class. * Therefore, the default is not to log the data but just print it using the super class.

View File

@ -1,6 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.problems.F1Problem; import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;

View File

@ -1,15 +1,11 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.selection.replacement.ReplacementNondominatedSortingDistanceCrowding;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.AbstractOptimizationProblem; import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.F1Problem; import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
import eva2.util.annotation.Parameter; import eva2.util.annotation.Parameter;

View File

@ -1,7 +1,7 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary; import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual; import eva2.optimization.individuals.InterfaceGAIndividual;
@ -12,7 +12,6 @@ import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractOptimizationProblem; import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.B1Problem; import eva2.problems.B1Problem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.Pair; import eva2.tools.Pair;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;

View File

@ -1,6 +1,5 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceGAIndividual; import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection; import eva2.optimization.operator.selection.InterfaceSelection;
@ -9,7 +8,6 @@ import eva2.optimization.operator.selection.SelectRandom;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.B1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;

View File

@ -5,7 +5,7 @@ import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.GraphPointSet; import eva2.gui.plot.GraphPointSet;
import eva2.gui.plot.Plot; import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.EAIndividualComparator; import eva2.optimization.individuals.EAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;

View File

@ -2,7 +2,7 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.enums.PostProcessMethod; import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.operator.mutation.MutateESFixedStepSize; import eva2.optimization.operator.mutation.MutateESFixedStepSize;
import eva2.optimization.operator.postprocess.PostProcess; import eva2.optimization.operator.postprocess.PostProcess;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;

View File

@ -2,7 +2,6 @@ package eva2.optimization.strategies;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.selection.replacement.ReplacementCrowding; import eva2.optimization.operator.selection.replacement.ReplacementCrowding;
@ -12,8 +11,6 @@ import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem; import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.AbstractOptimizationProblem; import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.EVAERROR; import eva2.tools.EVAERROR;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;

View File

@ -2,7 +2,7 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.cluster.ClusteringDynPeakIdent; import eva2.optimization.operator.cluster.ClusteringDynPeakIdent;

View File

@ -1,7 +1,7 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.mutation.MutateESRankMuCMA; import eva2.optimization.operator.mutation.MutateESRankMuCMA;
import eva2.optimization.operator.terminators.FitnessConvergenceTerminator; import eva2.optimization.operator.terminators.FitnessConvergenceTerminator;

View File

@ -1,13 +1,12 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection; import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectEPTournaments; import eva2.optimization.operator.selection.SelectEPTournaments;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;

View File

@ -1,12 +1,10 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.GAIndividualBinaryData; import eva2.optimization.individuals.GAIndividualBinaryData;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.B1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
import eva2.util.annotation.Parameter; import eva2.util.annotation.Parameter;
@ -148,7 +146,7 @@ public class FloodAlgorithm extends AbstractOptimizer implements java.io.Seriali
} }
/** /**
* This main method will start a simple hillclimber. No arguments necessary. * This main method will start a eva2.problems.simple hillclimber. No arguments necessary.
* *
* @param args * @param args
*/ */

View File

@ -1,6 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.mutation.InterfaceAdaptOperatorGenerational; import eva2.optimization.operator.mutation.InterfaceAdaptOperatorGenerational;
import eva2.optimization.operator.selection.InterfaceSelection; import eva2.optimization.operator.selection.InterfaceSelection;
@ -9,7 +9,6 @@ import eva2.optimization.operator.selection.SelectXProbRouletteWheel;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;

View File

@ -16,7 +16,7 @@ import eva2.util.annotation.Description;
*/ */
@Description("The Hill Climber uses the default EA mutation and initializing operators. If the population size is bigger than one a multi-start Hill Climber is performed.") @Description("The Hill Climber uses the default EA mutation and initializing operators. If the population size is bigger than one a multi-start Hill Climber is performed.")
public class HillClimbing extends AbstractOptimizer implements java.io.Serializable { public class HillClimbing extends AbstractOptimizer implements java.io.Serializable {
// These variables are necessary for the simple testcase // These variables are necessary for the eva2.problems.simple testcase
private InterfaceOptimizationProblem optimizationProblem = new B1Problem(); private InterfaceOptimizationProblem optimizationProblem = new B1Problem();
private InterfaceMutation mutator = null; private InterfaceMutation mutator = null;

View File

@ -1,6 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;

View File

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

View File

@ -1,7 +1,7 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary; import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual; import eva2.optimization.individuals.InterfaceGAIndividual;
@ -10,7 +10,6 @@ import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractOptimizationProblem; import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.BKnapsackProblem; import eva2.problems.BKnapsackProblem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.tools.Pair; import eva2.tools.Pair;
import eva2.tools.math.SpecialFunction; import eva2.tools.math.SpecialFunction;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;

View File

@ -1,7 +1,7 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary; import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual; import eva2.optimization.individuals.InterfaceGAIndividual;

View File

@ -1,6 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection; import eva2.optimization.operator.selection.InterfaceSelection;
import eva2.optimization.operator.selection.SelectBestIndividuals; import eva2.optimization.operator.selection.SelectBestIndividuals;

View File

@ -1,17 +1,15 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.GAIndividualBinaryData; import eva2.optimization.individuals.GAIndividualBinaryData;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.B1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
/** /**
* The simple random or Monte-Carlo search, simple but useful to evaluate the * The eva2.problems.simple random or Monte-Carlo search, eva2.problems.simple but useful to evaluate the
* complexity of the search space. This implements a Random Walk Search using * complexity of the search space. This implements a Random Walk Search using
* the initialization method of the problem instance, meaning that the random * the initialization method of the problem instance, meaning that the random
* characteristics may be problem dependent. * characteristics may be problem dependent.
@ -118,7 +116,7 @@ public class MonteCarloSearch extends AbstractOptimizer implements java.io.Seria
} }
/** /**
* This main method will start a simple hillclimber. No arguments necessary. * This main method will start a eva2.problems.simple hillclimber. No arguments necessary.
* *
* @param args * @param args
*/ */

View File

@ -1,7 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.archiving.ArchivingNSGAII; import eva2.optimization.operator.archiving.ArchivingNSGAII;
import eva2.optimization.operator.archiving.ArchivingNSGAIISMeasure; import eva2.optimization.operator.archiving.ArchivingNSGAIISMeasure;
@ -10,7 +9,6 @@ import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractOptimizationProblem; import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
import java.io.Serializable; import java.io.Serializable;

View File

@ -1,6 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.EAIndividualComparator; import eva2.optimization.individuals.EAIndividualComparator;
import eva2.optimization.operator.archiving.ArchivingNSGAII; import eva2.optimization.operator.archiving.ArchivingNSGAII;

View File

@ -1,7 +1,7 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
@ -14,7 +14,6 @@ import eva2.tools.math.Mathematics;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
import java.io.Serializable; import java.io.Serializable;
import java.util.Vector;
/** /**
* Nelder-Mead-Simplex does not guarantee an equal number of evaluations within * Nelder-Mead-Simplex does not guarantee an equal number of evaluations within

View File

@ -4,7 +4,6 @@ import eva2.OptimizerFactory;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.enums.PSOTopology; import eva2.optimization.enums.PSOTopology;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;

View File

@ -2,7 +2,6 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.Plot; import eva2.gui.plot.Plot;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.mutation.MutateESCorrVector; import eva2.optimization.operator.mutation.MutateESCorrVector;
@ -13,7 +12,6 @@ import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractOptimizationProblem; import eva2.problems.AbstractOptimizationProblem;
import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
import eva2.util.annotation.Hidden; import eva2.util.annotation.Hidden;

View File

@ -5,7 +5,7 @@ import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.Plot; import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot; import eva2.gui.plot.TopoPlot;
import eva2.optimization.enums.PSOTopology; import eva2.optimization.enums.PSOTopology;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.EAIndividualComparator; import eva2.optimization.individuals.EAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;

View File

@ -1,6 +1,6 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceGAIndividual; import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.operator.selection.InterfaceSelection; import eva2.optimization.operator.selection.InterfaceSelection;
@ -20,7 +20,7 @@ import java.util.logging.Logger;
/** /**
* Population based incremental learning in the PSM by Monmarche version with * Population based incremental learning in the PSM by Monmarche version with
* also allows to simulate ant systems due to the flexible update rule of V. But * also allows to simulate ant systems due to the flexible update rule of V. But
* both are limited to binary genotypes. This is a simple implementation of * both are limited to binary genotypes. This is a eva2.problems.simple implementation of
* Population Based Incremental Learning. * Population Based Incremental Learning.
* <p/> * <p/>
* Nicolas Monmarché , Eric Ramat , Guillaume Dromel , Mohamed Slimane , Gilles * Nicolas Monmarché , Eric Ramat , Guillaume Dromel , Mohamed Slimane , Gilles
@ -31,7 +31,7 @@ import java.util.logging.Logger;
public class PopulationBasedIncrementalLearning extends AbstractOptimizer implements java.io.Serializable { public class PopulationBasedIncrementalLearning extends AbstractOptimizer implements java.io.Serializable {
private final static Logger LOGGER = Logger.getLogger(PopulationBasedIncrementalLearning.class.getName()); private final static Logger LOGGER = Logger.getLogger(PopulationBasedIncrementalLearning.class.getName());
// These variables are necessary for the simple testcase // These variables are necessary for the eva2.problems.simple testcase
private InterfaceOptimizationProblem optimizationProblem = new B1Problem(); private InterfaceOptimizationProblem optimizationProblem = new B1Problem();
private boolean useElitism = true; private boolean useElitism = true;
private InterfaceSelection selectionOperator = new SelectBestIndividuals(); private InterfaceSelection selectionOperator = new SelectBestIndividuals();

View File

@ -4,7 +4,7 @@ import eva2.OptimizerFactory;
import eva2.OptimizerRunnable; import eva2.OptimizerRunnable;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters; import eva2.optimization.modules.OptimizationParameters;

View File

@ -10,7 +10,7 @@ import eva2.tools.math.RNG;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
/** /**
* Simulated Annealing by Nelder and Mead, a simple yet efficient local search * Simulated Annealing by Nelder and Mead, a eva2.problems.simple yet efficient local search
* method. But to become less prone to premature convergence the cooling rate * method. But to become less prone to premature convergence the cooling rate
* has to be tuned to the optimization problem at hand. Again the population * has to be tuned to the optimization problem at hand. Again the population
* size gives the number of multi-starts. * size gives the number of multi-starts.
@ -149,7 +149,7 @@ public class SimulatedAnnealing extends AbstractOptimizer implements java.io.Ser
} }
/** /**
* This main method will start a simple hillclimber. No arguments necessary. * This main method will start a eva2.problems.simple hillclimber. No arguments necessary.
* *
* @param args * @param args
*/ */

View File

@ -14,7 +14,7 @@ import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
/** /**
* A simple implementation of the steady-state GA with variable replacement * A eva2.problems.simple implementation of the steady-state GA with variable replacement
* schemes. To reduce the logging effort population.size() optimization steps * schemes. To reduce the logging effort population.size() optimization steps
* are performed each time optimize() is called. * are performed each time optimize() is called.
*/ */

View File

@ -1,12 +1,10 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.GAIndividualBinaryData; import eva2.optimization.individuals.GAIndividualBinaryData;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.B1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;
@ -142,7 +140,7 @@ public class ThresholdAlgorithm extends AbstractOptimizer implements java.io.Ser
} }
/** /**
* This main method will start a simple hillclimber. No arguments necessary. * This main method will start a eva2.problems.simple hillclimber. No arguments necessary.
* *
* @param args * @param args
*/ */

View File

@ -2,7 +2,7 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor; import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.Plot; import eva2.gui.plot.Plot;
import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.population.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;

View File

@ -1,14 +1,12 @@
package eva2.optimization.strategies; package eva2.optimization.strategies;
import eva2.gui.PropertyDoubleArray; import eva2.gui.PropertyDoubleArray;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.moso.MOSOWeightedFitness; import eva2.optimization.operator.moso.MOSOWeightedFitness;
import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet; import eva2.optimization.population.SolutionSet;
import eva2.problems.AbstractMultiObjectiveOptimizationProblem; import eva2.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.problems.FM0Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.util.annotation.Description; import eva2.util.annotation.Description;

View File

@ -82,7 +82,7 @@ public abstract class AbstractMultiModalProblemKnown extends AbstractProblemDoub
} }
/** /**
* Ths method allows you to evaluate a simple bit string to determine the fitness * Ths method allows you to evaluate a eva2.problems.simple bit string to determine the fitness
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -70,7 +70,7 @@ public abstract class AbstractProblemInteger extends AbstractOptimizationProblem
} }
/** /**
* Evaluate a simple integer array to determine the fitness. * Evaluate a eva2.problems.simple integer array to determine the fitness.
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -40,7 +40,7 @@ public class B1Problem extends AbstractProblemBinary implements java.io.Serializ
} }
/** /**
* This is a simple method that evaluates a given Individual. The fitness * This is a eva2.problems.simple method that evaluates a given Individual. The fitness
* values of the individual will be set inside this method. * values of the individual will be set inside this method.
* *
* @param b The BitSet that is to be evaluated. * @param b The BitSet that is to be evaluated.

View File

@ -258,7 +258,7 @@ public class BKnapsackProblem extends AbstractProblemBinary implements java.io.S
} }
/** /**
* This is a simple method that evaluates a given Individual. The fitness * This is a eva2.problems.simple method that evaluates a given Individual. The fitness
* values of the individual will be set inside this method. * values of the individual will be set inside this method.
* *
* @param b The BitSet that is to be evaluated. * @param b The BitSet that is to be evaluated.

View File

@ -9,7 +9,7 @@ import java.io.Serializable;
import java.util.Vector; import java.util.Vector;
/** /**
* Himmelblau's nonlinear optimization problem with 5 simple boundary constraints and 3 nonlinear boundary constraints. * Himmelblau's nonlinear optimization problem with 5 eva2.problems.simple boundary constraints and 3 nonlinear boundary constraints.
*/ */
@Description("Himmelblau's nonlinear optimization problem") @Description("Himmelblau's nonlinear optimization problem")
public class ConstrHimmelblauProblem extends AbstractProblemDouble implements Serializable { public class ConstrHimmelblauProblem extends AbstractProblemDouble implements Serializable {

View File

@ -41,7 +41,7 @@ public class F1Problem extends AbstractProblemDoubleOffset implements Interface2
} }
/** /**
* This method allows you to evaluate a simple bit string to determine the fitness * This method allows you to evaluate a eva2.problems.simple bit string to determine the fitness
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -40,7 +40,7 @@ public class F22Problem extends AbstractProblemDoubleOffset implements Interface
} }
/** /**
* This method allows you to evaluate a simple bit string to determine the fitness * This method allows you to evaluate a eva2.problems.simple bit string to determine the fitness
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -327,7 +327,7 @@ public class FLensProblem extends AbstractOptimizationProblem
} }
/** /**
* Ths method allows you to evaluate a simple bit string to determine the fitness * Ths method allows you to evaluate a eva2.problems.simple bit string to determine the fitness
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -28,7 +28,7 @@ public class I1Problem extends AbstractProblemInteger implements java.io.Seriali
} }
/** /**
* Ths method allows you to evaluate a simple bit string to determine the fitness * Ths method allows you to evaluate a eva2.problems.simple bit string to determine the fitness
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -152,7 +152,7 @@ public class TF1Problem extends AbstractMultiObjectiveOptimizationProblem implem
} }
/** /**
* Ths method allows you to evaluate a simple bit string to determine the fitness * Ths method allows you to evaluate a eva2.problems.simple bit string to determine the fitness
* *
* @param x The n-dimensional input vector * @param x The n-dimensional input vector
* @return The m-dimensional output vector. * @return The m-dimensional output vector.

View File

@ -1,7 +1,7 @@
package eva2.problems.simple; package eva2.problems.simple;
/** /**
* A simple interface to easily include new optimization problems in Java into the * A eva2.problems.simple interface to easily include new optimization problems in Java into the
* EvA framework. * EvA framework.
*/ */
public interface InterfaceSimpleProblem<T> { public interface InterfaceSimpleProblem<T> {

View File

@ -332,7 +332,7 @@ public class MultirunRefiner {
// } // }
/** /**
* A simple method to read doubles from a string. * A eva2.problems.simple method to read doubles from a string.
* *
* @param searchme The string to be searched. * @param searchme The string to be searched.
* @return The array of doubles found. * @return The array of doubles found.

View File

@ -8,7 +8,7 @@ package eva2.tools;
import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileFilter;
/**A simple File Filter for *.txt files. /**A eva2.problems.simple File Filter for *.txt files.
*/ */
public class TXTFileFilter extends FileFilter { public class TXTFileFilter extends FileFilter {

View File

@ -3,7 +3,7 @@ package eva2.tools.chart2d;
import java.awt.*; import java.awt.*;
/** /**
* A simple interface which can be used to paint certain icons at DPoints * A eva2.problems.simple interface which can be used to paint certain icons at DPoints
* ( @see chart2d.DPoint.setIcon or chart2d.DPointSet.setIcon ). * ( @see chart2d.DPoint.setIcon or chart2d.DPointSet.setIcon ).
* Different points may be easier recognized in a complex graph. * Different points may be easier recognized in a complex graph.
* The container does not guarantee that the whole icon is visible in the graph * The container does not guarantee that the whole icon is visible in the graph

View File

@ -1710,7 +1710,7 @@ public class JMatLink extends Thread {
// this is a concurrent situation. // this is a concurrent situation.
// The solution is simple: I always use a locking-mechanism to wait for the // The solution is eva2.problems.simple: I always use a locking-mechanism to wait for the
// data. The main thread will release the lock and the calling method can // data. The main thread will release the lock and the calling method can

View File

@ -22,7 +22,7 @@ public class SerializerTest {
@Before @Before
public void setUp() { public void setUp() {
// Create a simple object graph // Create a eva2.problems.simple object graph
dataStructObject = new ExampleDataStruct(); dataStructObject = new ExampleDataStruct();
dataStructObject.message = "hello world"; dataStructObject.message = "hello world";
dataStructObject.data = new int[]{1, 2, 3, 4}; dataStructObject.data = new int[]{1, 2, 3, 4};
@ -90,7 +90,7 @@ public class SerializerTest {
} }
/** /**
* This is a simple serializable data structure that we use below for testing the methods above * This is a eva2.problems.simple serializable data structure that we use below for testing the methods above
* *
*/ */
class ExampleDataStruct implements Serializable { class ExampleDataStruct implements Serializable {