es.udc.gii.common.eaf.algorithm.parallel
Class ParallelEvolutionaryAlgorithm

java.lang.Object
  extended by java.util.Observable
      extended by es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm
          extended by es.udc.gii.common.eaf.algorithm.parallel.ParallelEvolutionaryAlgorithm
All Implemented Interfaces:
Configurable, java.util.Observer

public class ParallelEvolutionaryAlgorithm
extends EvolutionaryAlgorithm
implements java.util.Observer

This class represents a parallel evolutionary algorithm (PGA). It encapsulates a serial evolutionary algorithm and makes it posible to run the encapsulated algorithm in a distributed/parallel environment.

Since:
1.0
Author:
Grupo Integrado de IngenierĂ­a (www.gii.udc.es)
See Also:
MigrationOperator, DistributedEvaluation

Field Summary
private  java.util.Observable currentObservable
           
private  EvolutionaryAlgorithm ea
           
 
Fields inherited from class es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm
CLOSE_LOGS_STATE, EVALUATE_STATE, FINAL_STATE, generations, INIT_EVALUATE_STATE, INIT_STATE, REPLACE_STATE, REPRODUCTION_STATE, SELECT_STATE, state
 
Constructor Summary
ParallelEvolutionaryAlgorithm()
          Creates a new instance of ParallelEvolutionaryAlgorithm
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
          Configures the specific element that implements this method.
protected  void evaluate(Problem problem, Population population)
           
 java.lang.String getAlgorithmID()
           
 FitnessComparator<Individual> getComparator()
           
 java.util.Observable getCurrentObservable()
           
 EvolutionaryAlgorithm getEa()
           
 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()
           
protected  void init()
           
 boolean isAMaster()
           
protected  void replace(Population toPopulation)
           
protected  void reproduce(Population population)
           
 void resolve(StopTest objective)
           
protected  void select(Population toPopulation)
           
 void setEa(EvolutionaryAlgorithm ea)
           
 void setEvaluationStrategy(EvaluationStrategy evaluationStrategy)
           
 void setFEs(int FEs)
           
 void setFinish(boolean finish)
           
 void setPopulation(Population population)
           
 void setProblem(Problem problem)
           
 void setReplaceChain(OperatorChain<ReplaceOperator> replaceChain)
           
 void setReproductionChain(OperatorChain<ReproductionOperator> reproductionChain)
           
 void setSelectionChain(OperatorChain<SelectionOperator> selectionChain)
           
 java.lang.String toString()
           
 void update(java.util.Observable o, java.lang.Object arg)
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm
evaluate, evaluate, getBestIndividual, getEvalChain, getStopTest, getUserTag, resolve, setComparator, setEvalChain, setMaxGenerations, setStopTest, setUserTag, 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, wait, wait, wait
 

Field Detail

ea

private EvolutionaryAlgorithm ea

currentObservable

private java.util.Observable currentObservable
Constructor Detail

ParallelEvolutionaryAlgorithm

public ParallelEvolutionaryAlgorithm()
Creates a new instance of ParallelEvolutionaryAlgorithm

Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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
Overrides:
configure in class EvolutionaryAlgorithm
Parameters:
conf - a Configuration object.
See Also:
Configuration

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Specified by:
update in interface java.util.Observer

resolve

public void resolve(StopTest objective)
Overrides:
resolve in class EvolutionaryAlgorithm

reproduce

protected void reproduce(Population population)
Overrides:
reproduce in class EvolutionaryAlgorithm

select

protected void select(Population toPopulation)
Overrides:
select in class EvolutionaryAlgorithm

replace

protected void replace(Population toPopulation)
Overrides:
replace in class EvolutionaryAlgorithm

evaluate

protected void evaluate(Problem problem,
                        Population population)
Overrides:
evaluate in class EvolutionaryAlgorithm

init

protected void init()
Overrides:
init in class EvolutionaryAlgorithm

getFEs

public int getFEs()
Overrides:
getFEs in class EvolutionaryAlgorithm

getFinish

public boolean getFinish()
Overrides:
getFinish in class EvolutionaryAlgorithm

getGenerations

public int getGenerations()
Overrides:
getGenerations in class EvolutionaryAlgorithm

getMaxGenerations

public int getMaxGenerations()
Overrides:
getMaxGenerations in class EvolutionaryAlgorithm

getPopulation

public Population getPopulation()
Overrides:
getPopulation in class EvolutionaryAlgorithm

getState

public int getState()
Overrides:
getState in class EvolutionaryAlgorithm

getEvaluationStrategy

public EvaluationStrategy getEvaluationStrategy()
Overrides:
getEvaluationStrategy in class EvolutionaryAlgorithm

getComparator

public FitnessComparator<Individual> getComparator()
Overrides:
getComparator in class EvolutionaryAlgorithm

getProblem

public Problem getProblem()
Overrides:
getProblem in class EvolutionaryAlgorithm

getReplaceChain

public OperatorChain<ReplaceOperator> getReplaceChain()
Overrides:
getReplaceChain in class EvolutionaryAlgorithm

getReproductionChain

public OperatorChain<ReproductionOperator> getReproductionChain()
Overrides:
getReproductionChain in class EvolutionaryAlgorithm

getSelectionChain

public OperatorChain<SelectionOperator> getSelectionChain()
Overrides:
getSelectionChain in class EvolutionaryAlgorithm

getCurrentObservable

public java.util.Observable getCurrentObservable()

setEvaluationStrategy

public void setEvaluationStrategy(EvaluationStrategy evaluationStrategy)
Overrides:
setEvaluationStrategy in class EvolutionaryAlgorithm

setFEs

public void setFEs(int FEs)
Overrides:
setFEs in class EvolutionaryAlgorithm

setFinish

public void setFinish(boolean finish)
Overrides:
setFinish in class EvolutionaryAlgorithm

setPopulation

public void setPopulation(Population population)
Overrides:
setPopulation in class EvolutionaryAlgorithm

setProblem

public void setProblem(Problem problem)
Overrides:
setProblem in class EvolutionaryAlgorithm

setReplaceChain

public void setReplaceChain(OperatorChain<ReplaceOperator> replaceChain)
Overrides:
setReplaceChain in class EvolutionaryAlgorithm

setReproductionChain

public void setReproductionChain(OperatorChain<ReproductionOperator> reproductionChain)
Overrides:
setReproductionChain in class EvolutionaryAlgorithm

setSelectionChain

public void setSelectionChain(OperatorChain<SelectionOperator> selectionChain)
Overrides:
setSelectionChain in class EvolutionaryAlgorithm

getEa

public EvolutionaryAlgorithm getEa()

setEa

public void setEa(EvolutionaryAlgorithm ea)

isAMaster

public boolean isAMaster()

getAlgorithmID

public java.lang.String getAlgorithmID()
Overrides:
getAlgorithmID in class EvolutionaryAlgorithm