com.brownsoft.ag.seleccion
Class SeleccionElitista

java.lang.Object
  |
  +--com.brownsoft.ag.seleccion.SeleccionElitista
All Implemented Interfaces:
IMotorListener, ISeleccion

public class SeleccionElitista
extends java.lang.Object
implements ISeleccion

Esta clase aplica el modelo elitista sobre cualquier seleccion Al generar la nueva población, si el mejor individuo hasta el momento no esta en la ella, se inserta como el elemento N+1 Seleccion indicada en el constructor

Version:
1.0
Author:
Gustavo Brown

Field Summary
protected  IIndividuo bestIndividual
           
protected  MotorAG motor
           
protected  ISeleccion seleccion
           
 
Constructor Summary
SeleccionElitista(ISeleccion seleccion)
          Constructor
 
Method Summary
 void finAlgoritmo()
          Avisa que finalizó la ejecución del algoritmo
 void finIteracion()
          Indica que se finaliza la iteracion
 java.util.Vector generarNuevaPoblacion()
          Genera una nueva poblacion a partir de un pool
 void inicializar(MotorAG motor)
          Inicializa el operador de seleccion
 void inicioIteracion()
          Avisa que se inicia una nueva iteración
 void ponerEnPoolIntermedio(IIndividuo[] individuos)
          Pone individuos en el pool intermedio
 IIndividuo[] seleccionar()
          Selecciona individuos
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

seleccion

protected ISeleccion seleccion

bestIndividual

protected IIndividuo bestIndividual

motor

protected MotorAG motor
Constructor Detail

SeleccionElitista

public SeleccionElitista(ISeleccion seleccion)
                  throws MotorException
Constructor

Parameters:
seleccion - ISeleccion a ejecutar en cada seleccion
Method Detail

inicializar

public void inicializar(MotorAG motor)
Inicializa el operador de seleccion

Specified by:
inicializar in interface ISeleccion
Parameters:
motor - MotorAG asociado

inicioIteracion

public void inicioIteracion()
Avisa que se inicia una nueva iteración

Specified by:
inicioIteracion in interface IMotorListener

finIteracion

public void finIteracion()
Indica que se finaliza la iteracion

Specified by:
finIteracion in interface IMotorListener

finAlgoritmo

public void finAlgoritmo()
Avisa que finalizó la ejecución del algoritmo

Specified by:
finAlgoritmo in interface IMotorListener

seleccionar

public IIndividuo[] seleccionar()
Selecciona individuos

Specified by:
seleccionar in interface ISeleccion
Returns:
IIndividuo[] con los individuos seleccionados

ponerEnPoolIntermedio

public void ponerEnPoolIntermedio(IIndividuo[] individuos)
Pone individuos en el pool intermedio

Specified by:
ponerEnPoolIntermedio in interface ISeleccion
Parameters:
individuos - individuos a ingresar en el pool intermedio

generarNuevaPoblacion

public java.util.Vector generarNuevaPoblacion()
Genera una nueva poblacion a partir de un pool

Specified by:
generarNuevaPoblacion in interface ISeleccion
Returns:
Vector con la nueva poblacion