com.brownsoft.ag.individuo
Class IndividuoMultiple

java.lang.Object
  |
  +--com.brownsoft.ag.individuo.IndividuoMultiple
All Implemented Interfaces:
java.lang.Cloneable, IIndividuo
Direct Known Subclasses:
IndividuoMultipleFuncionExpresion

public abstract class IndividuoMultiple
extends java.lang.Object
implements IIndividuo

Esta clase es utilizada para crear individuos multiparámetros Cada uno de los parametros a su vez es una instancia de Individuo La clase es abstracta, pues se deja a las subclases el trabajo de definir el fenotipo y el fitness. Con la funcion getParameter(int index) se obtiene el parametro numero 'index'

Version:
1.0
Author:
Gustavo Brown
See Also:
OperadorMultiple

Field Summary
protected  IIndividuo[] parametros
           
protected  IIndividuo[] parents
           
 
Constructor Summary
IndividuoMultiple(IIndividuo[] parametros)
          Constructor
 
Method Summary
 boolean equals(java.lang.Object o)
          Sobrecarga del metodo equals
 IIndividuo getCopy()
          Crea una copia con el mismo material genético que este individuo
abstract  java.lang.Object getFenotipo()
          Obtiene el fenotipo de este individuo Este método es abstracto.
abstract  double getFitness()
          Obtiene el fitness de este individuo Este método es abstracto.
 IIndividuo getParameter(int index)
          Obtiene el parametro asociado a un índice
 int getParameterIndex(IIndividuo parameter)
          Obtiene el numero de parametro asociado a un parametro
 IIndividuo[] getParents()
          Obtiene los padres de este individuo
 java.lang.Object getValue()
          Obtiene el material genetico de este individuo
 int hashCode()
          Hashcode para este individuo
 void setParameter(int index, IIndividuo parameter)
          Coloca el individuo asociado al parámetro i-ésimo.
 void setParents(IIndividuo[] parents)
          Setea los padres de este individuo
 void setRandom()
          Setea el material genético de este individuo al azar
 void setValue(java.lang.Object value)
          Setea el valor de este individuo
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

parametros

protected IIndividuo[] parametros

parents

protected IIndividuo[] parents
Constructor Detail

IndividuoMultiple

public IndividuoMultiple(IIndividuo[] parametros)
Constructor

Parameters:
parametros - Array de IIndividuo con los parametros de este individuo
Method Detail

getCopy

public IIndividuo getCopy()
Crea una copia con el mismo material genético que este individuo

Specified by:
getCopy in interface IIndividuo
Returns:
Nuevo individuo

setRandom

public void setRandom()
Setea el material genético de este individuo al azar

Specified by:
setRandom in interface IIndividuo

getValue

public java.lang.Object getValue()
Obtiene el material genetico de este individuo

Specified by:
getValue in interface IIndividuo
Returns:
Object con el material genetico del individuo

setValue

public void setValue(java.lang.Object value)
Setea el valor de este individuo

Specified by:
setValue in interface IIndividuo
Parameters:
value - Valor de este individuo

getFitness

public abstract double getFitness()
Obtiene el fitness de este individuo Este método es abstracto. Las subclases deben definirlo

Specified by:
getFitness in interface IIndividuo

getFenotipo

public abstract java.lang.Object getFenotipo()
Obtiene el fenotipo de este individuo Este método es abstracto. Las subclases deben definirlo

Specified by:
getFenotipo in interface IIndividuo

setParents

public void setParents(IIndividuo[] parents)
Setea los padres de este individuo

Specified by:
setParents in interface IIndividuo
Parameters:
parents - padres de este individuo

getParents

public IIndividuo[] getParents()
Obtiene los padres de este individuo

Specified by:
getParents in interface IIndividuo
Returns:
padres de este individuo

getParameter

public IIndividuo getParameter(int index)
                        throws MotorError
Obtiene el parametro asociado a un índice

Parameters:
index - indice del parametro a obtener
Returns:
IIndividuo asociado a dicho parámetro
MotorError

getParameterIndex

public int getParameterIndex(IIndividuo parameter)
                      throws MotorError
Obtiene el numero de parametro asociado a un parametro

Returns:
index indice asociado a dicho parametro
MotorError

setParameter

public void setParameter(int index,
                         IIndividuo parameter)
Coloca el individuo asociado al parámetro i-ésimo. Es utilizado internamente por los operadores que interactual con IndividuoMultiple para construir nuevas instancias de IndividuoMultiple

Parameters:
index - indice del parametro a setear
parameter - nuevo IIndividuo asociado al parámetro i-ésimo

toString

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

hashCode

public int hashCode()
Hashcode para este individuo

Overrides:
hashCode in class java.lang.Object
Returns:
int con el Hashcode del individuo

equals

public boolean equals(java.lang.Object o)
Sobrecarga del metodo equals

Overrides:
equals in class java.lang.Object
Returns:
boolean indicando si son iguales