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

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.NSGA2Algorithm
All Implemented Interfaces:
Configurable

public class NSGA2Algorithm
extends EvolutionaryAlgorithm

This class implements the NSGA2 algorithm. It's an algorithm for multiobjective problems.

The crowding and ranking might be configured by the user (see Crowding and NSGA2Ranking). If nothing is configured, then ObjectiveSpaceCrowding for crowding and NSGA2Ranking for ranking are used as defaults.

Author:
Grupo Integrado de Ingenieria (http://www.gii.udc.es)

Field Summary
private  Crowding crowding
           
private  NSGA2Ranking ranking
           
 
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
NSGA2Algorithm()
           
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
           
protected  void evaluate(Problem problem, Population population)
           
 java.lang.String getAlgorithmID()
           
 Crowding getCrowding()
           
 NSGA2Ranking getRanking()
           
 void setCrowding(Crowding crowding)
           
 void setPopulation(Population population)
           
 void setRanking(NSGA2Ranking ranking)
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm
evaluate, evaluate, getBestIndividual, getComparator, getEvalChain, getEvaluationStrategy, getFEs, getFinish, getGenerations, getMaxGenerations, getPopulation, getProblem, getReplaceChain, getReproductionChain, getSelectionChain, getState, getStopTest, getUserTag, init, replace, reproduce, resolve, resolve, select, setComparator, setEvalChain, setEvaluationStrategy, setFEs, setFinish, setMaxGenerations, setProblem, setReplaceChain, setReproductionChain, setSelectionChain, 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, toString, wait, wait, wait
 

Field Detail

crowding

private Crowding crowding

ranking

private NSGA2Ranking ranking
Constructor Detail

NSGA2Algorithm

public NSGA2Algorithm()
Method Detail

configure

public void configure(org.apache.commons.configuration.Configuration conf)
Specified by:
configure in interface Configurable
Overrides:
configure in class EvolutionaryAlgorithm

evaluate

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

setPopulation

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

getAlgorithmID

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

getCrowding

public Crowding getCrowding()

setCrowding

public void setCrowding(Crowding crowding)

getRanking

public NSGA2Ranking getRanking()

setRanking

public void setRanking(NSGA2Ranking ranking)