com.brownsoft.ag.fitnessScaler
Class FitnessScaler

java.lang.Object
  |
  +--com.brownsoft.ag.fitnessScaler.FitnessScaler
All Implemented Interfaces:
IFitnessScaler
Direct Known Subclasses:
FitnessScalerAxB, FitnessScalerEspeciacion, FitnessScalerInversa, FitnessScalerPositive

public abstract class FitnessScaler
extends java.lang.Object
implements IFitnessScaler

Esta clase debe ser extendida por las clases que desean escalar el fitness de un Individuo (por ejemplo para la seleccion) El fitness escalado de un individuo se obtiene mediante la ejecución de MotorAG.getFitness(IIndividuo)

Version:
1.0
Author:
Gustavo Brown
See Also:
MotorAG.getFitness

Field Summary
protected  MotorAG motor
           
 
Constructor Summary
protected FitnessScaler(IFitnessScaler parent)
          Crea una instancia de FitnessScaler
 
Method Summary
 void fireInicioIteracion()
          Le avisa al Scaler y a su parent que se inicia la iteracion es decir, debe llamara parent.fireInicioIteracion() y luego a inicioIteracion
 MotorAG getMotor()
          Obtiene la instancia de MotorAG asociada a este scaler
 IIndividuo getProcessingIndividual()
          Obtiene el IIndividuo que esta siendo escalado en este momento
 double getScaledFitness(double fitness)
          Escala un fitness
 double getScaledFitness(IIndividuo individuo)
          Escala un fitness
 void inicioIteracion()
          Avisa que se inicia una nueva iteración
 void initScaler(MotorAG motor)
          Setea el motor asociado a este FitnessScaler Este metodo es ejecutado por MotorAG
protected  double scaleFitness(double fitness)
          Este metodo debe ser definido por las subclases de FitnessScaler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

motor

protected MotorAG motor
Constructor Detail

FitnessScaler

protected FitnessScaler(IFitnessScaler parent)
Crea una instancia de FitnessScaler

Parameters:
parent - el IFitnessScaler sobre el cual actuar
Method Detail

initScaler

public final void initScaler(MotorAG motor)
Setea el motor asociado a este FitnessScaler Este metodo es ejecutado por MotorAG

Specified by:
initScaler in interface IFitnessScaler
Parameters:
motor - el MotorAG

getMotor

public MotorAG getMotor()
Obtiene la instancia de MotorAG asociada a este scaler

Returns:
MotorAG la instancia de MotorAG asociada a este scaler

getScaledFitness

public final double getScaledFitness(IIndividuo individuo)
Escala un fitness

Specified by:
getScaledFitness in interface IFitnessScaler
Parameters:
individuo - individuo a obtener su fitness
Returns:
fitness escalado

getScaledFitness

public final double getScaledFitness(double fitness)
Escala un fitness

Specified by:
getScaledFitness in interface IFitnessScaler
Parameters:
fitness - Fitness a escalar
Returns:
fitness escalado

getProcessingIndividual

public final IIndividuo getProcessingIndividual()
Obtiene el IIndividuo que esta siendo escalado en este momento

Specified by:
getProcessingIndividual in interface IFitnessScaler

fireInicioIteracion

public void fireInicioIteracion()
Le avisa al Scaler y a su parent que se inicia la iteracion es decir, debe llamara parent.fireInicioIteracion() y luego a inicioIteracion

Specified by:
fireInicioIteracion in interface IFitnessScaler

inicioIteracion

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

Specified by:
inicioIteracion in interface IFitnessScaler

scaleFitness

protected double scaleFitness(double fitness)
Este metodo debe ser definido por las subclases de FitnessScaler

Returns:
fitness escalado