es.udc.gii.common.eaf.algorithm.operator.replace.mmga
Class PopulationMemoryReplaceOperator

java.lang.Object
  extended by java.util.Observable
      extended by es.udc.gii.common.eaf.algorithm.operator.replace.ReplaceOperator
          extended by es.udc.gii.common.eaf.algorithm.operator.replace.mmga.PopulationMemoryReplaceOperator
All Implemented Interfaces:
Operator, Configurable

public class PopulationMemoryReplaceOperator
extends ReplaceOperator

This class implements a replace operator for replacing the population memory of a micro-genetic algorithm for mutiobjective problems. It only replaces a part of the population memory. The rest is kept unchanged for providing diversity.

Author:
Rafael Tedin Alvarez

Field Summary
private  int currentIndex
           
private  int hypercubeDivisions
           
private  int replaceablePartSize
           
private  int replacementCycle
           
 
Constructor Summary
PopulationMemoryReplaceOperator()
          Creates a new instance of PopulationMemoryReplaceOperator
 
Method Summary
 void configure(org.apache.commons.configuration.Configuration conf)
           
 int getHypercubeDivisions()
           
 int getReplaceablePartSize()
           
 int getReplacementCycle()
           
private  int nextIndex()
           
protected  java.util.List<Individual> replace(EvolutionaryAlgorithm algorithm, java.util.List<Individual> toPopulation)
           
private  java.util.List<Individual> replaceWithNominalSolutions(MMGAAlgorithm mmga, java.util.List<Individual> toPopulation)
           
private  java.util.List<Individual> replaceWithParetoFront(MMGAAlgorithm mmga, java.util.List<Individual> toPopulation)
           
 void setHypercubeDivisions(int hypercubeDivisions)
           
 void setReplaceablePartSize(int replaceablePartSize)
           
 void setReplacementCycle(int replacementCycle)
           
 
Methods inherited from class es.udc.gii.common.eaf.algorithm.operator.replace.ReplaceOperator
operate
 
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

hypercubeDivisions

private int hypercubeDivisions

replaceablePartSize

private int replaceablePartSize

replacementCycle

private int replacementCycle

currentIndex

private int currentIndex
Constructor Detail

PopulationMemoryReplaceOperator

public PopulationMemoryReplaceOperator()
Creates a new instance of PopulationMemoryReplaceOperator

Method Detail

replace

protected java.util.List<Individual> replace(EvolutionaryAlgorithm algorithm,
                                             java.util.List<Individual> toPopulation)
Specified by:
replace in class ReplaceOperator

configure

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

nextIndex

private int nextIndex()

replaceWithNominalSolutions

private java.util.List<Individual> replaceWithNominalSolutions(MMGAAlgorithm mmga,
                                                               java.util.List<Individual> toPopulation)

replaceWithParetoFront

private java.util.List<Individual> replaceWithParetoFront(MMGAAlgorithm mmga,
                                                          java.util.List<Individual> toPopulation)

getReplacementCycle

public int getReplacementCycle()

setReplacementCycle

public void setReplacementCycle(int replacementCycle)

getHypercubeDivisions

public int getHypercubeDivisions()

setHypercubeDivisions

public void setHypercubeDivisions(int hypercubeDivisions)

getReplaceablePartSize

public int getReplaceablePartSize()

setReplaceablePartSize

public void setReplaceablePartSize(int replaceablePartSize)