es.udc.gii.common.eaf.algorithm
Class EvolutionaryAlgorithm

java.lang.Object
  extended by java.util.Observable
      extended by es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm
All Implemented Interfaces:
Configurable
Direct Known Subclasses:
CMAEvolutionaryAlgorithm, EvolutionaryStrategy, GeneticAlgorithm, MacroevolutionaryAlgorithm, NSGA2Algorithm, ParallelEvolutionaryAlgorithm

public abstract class EvolutionaryAlgorithm
extends java.util.Observable
implements Configurable

This class represents an evolutionary algorithm. This algorithm it will be used to resolve a problem.

Since:
1.0
Author:
Grupo Integrado de IngenierĂ­a (www.gii.udc.es)

Field Summary
static int CLOSE_LOGS_STATE
           
private  FitnessComparator<Individual> comparator
           
private  OperatorChain<EvaluationOperator> evalChain
           
static int EVALUATE_STATE
           
private  EvaluationStrategy evaluationStrategy
           
private  int FEs
           
static int FINAL_STATE
           
private  boolean finish
           
protected  int generations
           
static int INIT_EVALUATE_STATE
           
static int INIT_STATE
           
private  int maxGenerations
           
private  Population population
           
private  Problem problem
           
static int REPLACE_STATE
           
private  OperatorChain<ReplaceOperator> replaceChain
           
static int REPRODUCTION_STATE
           
private  OperatorChain<ReproductionOperator> reproductionChain
           
static int SELECT_STATE
           
private  OperatorChain<SelectionOperator> selectionChain
           
protected  int state
           
private  StopTest stopTest
           
private  java.lang.String userTag
           
 
Constructor Summary
EvolutionaryAlgorithm()
           
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
          Configures the specific element that implements this method.
 void evaluate(Individual individual)
           
 void evaluate(java.util.List<Individual> individuals)
           
protected  void evaluate(Problem problem, Population population)
           
 java.lang.String getAlgorithmID()
           
 Individual getBestIndividual()
           
 FitnessComparator<Individual> getComparator()
           
 OperatorChain<EvaluationOperator> getEvalChain()
           
 EvaluationStrategy getEvaluationStrategy()
           
 int getFEs()
           
 boolean getFinish()
           
 int getGenerations()
           
 int getMaxGenerations()
           
 Population getPopulation()
           
 Problem getProblem()
           
 OperatorChain<ReplaceOperator> getReplaceChain()
           
 OperatorChain<ReproductionOperator> getReproductionChain()
           
 OperatorChain<SelectionOperator> getSelectionChain()
           
 int getState()
           
 StopTest getStopTest()
           
 java.lang.String getUserTag()
           
protected  void init()
           
protected  void replace(Population toPopulation)
           
protected  void reproduce(Population population)
           
 void resolve(StopTest objective)
           
 void resolve(StopTest objective, int maxGenerations)
           
protected  void select(Population toPopulation)
           
 void setComparator(FitnessComparator<Individual> comparator)
           
 void setEvalChain(OperatorChain<EvaluationOperator> evalChain)
           
 void setEvaluationStrategy(EvaluationStrategy evaluationStrategy)
           
 void setFEs(int FEs)
           
 void setFinish(boolean finish)
           
protected  void setMaxGenerations(StopTest objective)
           
 void setPopulation(Population population)
           
 void setProblem(Problem problem)
           
 void setReplaceChain(OperatorChain<ReplaceOperator> replaceChain)
           
 void setReproductionChain(OperatorChain<ReproductionOperator> reproductionChain)
           
 void setSelectionChain(OperatorChain<SelectionOperator> selectionChain)
           
 void setStopTest(StopTest stopTest)
           
 void setUserTag(java.lang.String userTag)
           
 void updateParameters()
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INIT_STATE

public static final int INIT_STATE
See Also:
Constant Field Values

INIT_EVALUATE_STATE

public static final int INIT_EVALUATE_STATE
See Also:
Constant Field Values

SELECT_STATE

public static final int SELECT_STATE
See Also:
Constant Field Values

REPRODUCTION_STATE

public static final int REPRODUCTION_STATE
See Also:
Constant Field Values

EVALUATE_STATE

public static final int EVALUATE_STATE
See Also:
Constant Field Values

REPLACE_STATE

public static final int REPLACE_STATE
See Also:
Constant Field Values

FINAL_STATE

public static final int FINAL_STATE
See Also:
Constant Field Values

CLOSE_LOGS_STATE

public static final int CLOSE_LOGS_STATE
See Also:
Constant Field Values

state

protected int state

population

private Population population

evaluationStrategy

private EvaluationStrategy evaluationStrategy

selectionChain

private OperatorChain<SelectionOperator> selectionChain

reproductionChain

private OperatorChain<ReproductionOperator> reproductionChain

replaceChain

private OperatorChain<ReplaceOperator> replaceChain

evalChain

private OperatorChain<EvaluationOperator> evalChain

problem

private Problem problem

generations

protected int generations

FEs

private int FEs

finish

private boolean finish

maxGenerations

private int maxGenerations

comparator

private FitnessComparator<Individual> comparator

stopTest

private StopTest stopTest

userTag

private java.lang.String userTag
Constructor Detail

EvolutionaryAlgorithm

public EvolutionaryAlgorithm()
Method Detail

getUserTag

public java.lang.String getUserTag()

setUserTag

public void setUserTag(java.lang.String userTag)

getPopulation

public Population getPopulation()

setPopulation

public void setPopulation(Population population)

getEvaluationStrategy

public EvaluationStrategy getEvaluationStrategy()

setEvaluationStrategy

public void setEvaluationStrategy(EvaluationStrategy evaluationStrategy)

getSelectionChain

public OperatorChain<SelectionOperator> getSelectionChain()

setSelectionChain

public void setSelectionChain(OperatorChain<SelectionOperator> selectionChain)

getReproductionChain

public OperatorChain<ReproductionOperator> getReproductionChain()

setReproductionChain

public void setReproductionChain(OperatorChain<ReproductionOperator> reproductionChain)

getReplaceChain

public OperatorChain<ReplaceOperator> getReplaceChain()

setReplaceChain

public void setReplaceChain(OperatorChain<ReplaceOperator> replaceChain)

getEvalChain

public OperatorChain<EvaluationOperator> getEvalChain()

setEvalChain

public void setEvalChain(OperatorChain<EvaluationOperator> evalChain)

getGenerations

public int getGenerations()

getMaxGenerations

public int getMaxGenerations()

setMaxGenerations

protected void setMaxGenerations(StopTest objective)

setProblem

public void setProblem(Problem problem)

getProblem

public Problem getProblem()

getState

public int getState()

resolve

public void resolve(StopTest objective,
                    int maxGenerations)

resolve

public void resolve(StopTest objective)
Parameters:
population -

init

protected void init()

evaluate

protected void evaluate(Problem problem,
                        Population population)

select

protected void select(Population toPopulation)

reproduce

protected void reproduce(Population population)

replace

protected void replace(Population toPopulation)

evaluate

public void evaluate(Individual individual)

evaluate

public void evaluate(java.util.List<Individual> individuals)

getFEs

public int getFEs()

setFEs

public void setFEs(int FEs)

setFinish

public void setFinish(boolean finish)

configure

public void configure(org.apache.commons.configuration.Configuration conf)
Description copied from interface: Configurable
Configures the specific element that implements this method.

Specified by:
configure in interface Configurable
Parameters:
conf - a Configuration object.
See Also:
Configuration

getFinish

public boolean getFinish()

updateParameters

public void updateParameters()

getAlgorithmID

public java.lang.String getAlgorithmID()

getComparator

public FitnessComparator<Individual> getComparator()

setComparator

public void setComparator(FitnessComparator<Individual> comparator)

getStopTest

public StopTest getStopTest()

setStopTest

public void setStopTest(StopTest stopTest)

getBestIndividual

public Individual getBestIndividual()