|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.Observable
es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm
es.udc.gii.common.eaf.algorithm.GeneticAlgorithm
es.udc.gii.common.eaf.algorithm.mga.AbstractMGAAlgorithm
es.udc.gii.common.eaf.algorithm.mga.MMGAAlgorithm
public class MMGAAlgorithm
This class is an implementation of a micro-genetic algorithm for problems with multiple objectives. This algorithm uses an external memory for saving the Pareto-optimal solutions and a population memory which is meant to provide the necessary diversity. See "Multiobjective optimization using a genetic algorithm", Carlos A. Coello Coello, Gregorio Toscano Pulido, for further details.
The user has to provide the following: - a stoptest defining nominal convergence - the number of individuals that are preserved among micro-generations (elitism) - a replace operator for replacing the external memory (Pareto-front) - a replace operator for replacing the population memory - the size of the population memory
Other configuration parameters depend on the concrete operators used and on
those inherit by AbstractMGAAlgorithm
.
The user is free to provide some initial solutions that will be used as a startpoint for the search (not available for configuration with xml files).
Field Summary | |
---|---|
private Population |
paretoFront
The current Pareto-front. |
private ReplaceOperator |
paretoFrontReplaceOperator
Replace operator for the external memory, i.e. the Pareto-front. |
private Population |
populationMemory
The population memory. |
private ReplaceOperator |
populationMemoryReplaceOperator
Replaceoperator for the population memory. |
private int |
populationMemorySize
The size of the population memory. |
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 | |
---|---|
MMGAAlgorithm()
Creates a new instance of MMGAAlgorithm |
Method Summary | |
---|---|
protected void |
afterMicroEvolution()
Performs the operations need after a micro-evolution. |
protected void |
beforeMicroEvolution()
Performs the operations needed before each micro-evolution. |
void |
configure(org.apache.commons.configuration.Configuration conf)
Configures the algorithm. |
java.lang.String |
getAlgorithmID()
|
Population |
getParetoFront()
|
Operator |
getParetoFrontReplaceOperator()
|
Population |
getPopulationMemory()
|
Operator |
getPopulationMemoryReplaceOperator()
|
int |
getPopulationMemorySize()
|
void |
setParetoFront(Population paretoFront)
|
void |
setParetoFrontReplaceOperator(ReplaceOperator paretoFrontReplaceOperator)
|
void |
setPopulationMemory(Population populationMemory)
|
void |
setPopulationMemoryReplaceOperator(ReplaceOperator populationMemoryReplaceOperator)
|
void |
setPopulationMemorySize(int populationMemorySize)
|
java.lang.String |
toString()
|
Methods inherited from class es.udc.gii.common.eaf.algorithm.mga.AbstractMGAAlgorithm |
---|
getElitism, getInitialSolutions, getMicrogenerations, getNominalConvergence, init, resolve, setElitism, setInitialSolutions, setMicrogenerations, setNominalConvergence |
Methods inherited from class es.udc.gii.common.eaf.algorithm.EvolutionaryAlgorithm |
---|
evaluate, evaluate, evaluate, getBestIndividual, getComparator, getEvalChain, getEvaluationStrategy, getFEs, getFinish, getGenerations, getMaxGenerations, getPopulation, getProblem, getReplaceChain, getReproductionChain, getSelectionChain, getState, getStopTest, getUserTag, replace, reproduce, resolve, select, setComparator, setEvalChain, setEvaluationStrategy, setFEs, setFinish, setMaxGenerations, setPopulation, 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, wait, wait, wait |
Field Detail |
---|
private ReplaceOperator paretoFrontReplaceOperator
private ReplaceOperator populationMemoryReplaceOperator
private Population populationMemory
private Population paretoFront
private int populationMemorySize
Constructor Detail |
---|
public MMGAAlgorithm()
Method Detail |
---|
protected void afterMicroEvolution()
afterMicroEvolution
in class AbstractMGAAlgorithm
protected void beforeMicroEvolution()
beforeMicroEvolution
in class AbstractMGAAlgorithm
public void configure(org.apache.commons.configuration.Configuration conf)
configure
in interface Configurable
configure
in class AbstractMGAAlgorithm
public Operator getParetoFrontReplaceOperator()
public void setParetoFrontReplaceOperator(ReplaceOperator paretoFrontReplaceOperator)
public Operator getPopulationMemoryReplaceOperator()
public void setPopulationMemoryReplaceOperator(ReplaceOperator populationMemoryReplaceOperator)
public Population getPopulationMemory()
public void setPopulationMemory(Population populationMemory)
public Population getParetoFront()
public void setParetoFront(Population paretoFront)
public int getPopulationMemorySize()
public void setPopulationMemorySize(int populationMemorySize)
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getAlgorithmID()
getAlgorithmID
in class GeneticAlgorithm
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |