JavaGenes, NASA Ames. Written largely by Al Globus

gov.nasa.javaGenes.forceFields
Class ManyMoleculesEnergyFitness

java.lang.Object
  extended bygov.nasa.javaGenes.core.FitnessFunction
      extended bygov.nasa.javaGenes.forceFields.ManyMoleculesEnergyFitness
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ForceFitnessRMS, ManyMoleculesEnergyFitnessRatio, ManyMoleculesEnergyFitnessTanimotoDistance, MMEFreferenceRMS

public class ManyMoleculesEnergyFitness
extends FitnessFunction

See Also:
Serialized Form

Field Summary
protected  boolean doPerAtomEnergies
           
protected  java.util.Vector energies
           
protected  java.lang.String filename
           
protected  ManyMultiBodiesForOneEnergy molecules
           
protected  DoubleInterval originalEnergyInterval
           
protected  Potential potential
           
protected  DoubleInterval scaleTo
           
 
Fields inherited from class gov.nasa.javaGenes.core.FitnessFunction
name
 
Constructor Summary
protected ManyMoleculesEnergyFitness()
           
  ManyMoleculesEnergyFitness(Potential p, ManyMultiBodiesForOneEnergy m)
           
  ManyMoleculesEnergyFitness(Potential p, ManyMultiBodiesForOneEnergy m, boolean inDoPerAtomEnergies)
           
 
Method Summary
 void add(MultiBodiesForOneEnergy m, double energyOrWhatever)
           
 void addEnergy(double energy)
           
 void addToEnergies(double value)
           
protected  double calculateDistance(double energy, double targetEnergy)
           
protected  double calculateEnergy(MultiBodiesForOneEnergy test)
           
 Fitness evaluateFitness(Evolvable evolvable)
           
 double getEnergy(int index)
           
 DoubleInterval getEnergyInterval()
           
 java.lang.String getFilename()
           
 MultiBodiesForOneEnergy getMultiBodiesForOneEnergy(int index)
           
 void multiplyEnergiesBy(double value)
           
 void report(Population population)
           
 void scaleEnergiesTo(DoubleInterval spread)
           
 void setEnergy(int index, double energy)
           
 void setFilename(java.lang.String f)
           
 java.lang.String toString()
           
 
Methods inherited from class gov.nasa.javaGenes.core.FitnessFunction
bestDouble, getFunction, getName, getNameArray, isNewFunction, makeFiles, numberOfObjectives, setName, worstDouble
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

potential

protected Potential potential

molecules

protected ManyMultiBodiesForOneEnergy molecules

energies

protected java.util.Vector energies

scaleTo

protected DoubleInterval scaleTo

originalEnergyInterval

protected DoubleInterval originalEnergyInterval

filename

protected java.lang.String filename

doPerAtomEnergies

protected boolean doPerAtomEnergies
Constructor Detail

ManyMoleculesEnergyFitness

protected ManyMoleculesEnergyFitness()

ManyMoleculesEnergyFitness

public ManyMoleculesEnergyFitness(Potential p,
                                  ManyMultiBodiesForOneEnergy m,
                                  boolean inDoPerAtomEnergies)

ManyMoleculesEnergyFitness

public ManyMoleculesEnergyFitness(Potential p,
                                  ManyMultiBodiesForOneEnergy m)
Method Detail

setFilename

public void setFilename(java.lang.String f)

getFilename

public java.lang.String getFilename()

addEnergy

public void addEnergy(double energy)

setEnergy

public void setEnergy(int index,
                      double energy)

getEnergy

public double getEnergy(int index)

getMultiBodiesForOneEnergy

public MultiBodiesForOneEnergy getMultiBodiesForOneEnergy(int index)

add

public void add(MultiBodiesForOneEnergy m,
                double energyOrWhatever)

evaluateFitness

public Fitness evaluateFitness(Evolvable evolvable)
Specified by:
evaluateFitness in class FitnessFunction
Returns:
the fitness. Low values are fitter than high values.

calculateEnergy

protected double calculateEnergy(MultiBodiesForOneEnergy test)

calculateDistance

protected double calculateDistance(double energy,
                                   double targetEnergy)

scaleEnergiesTo

public void scaleEnergiesTo(DoubleInterval spread)

addToEnergies

public void addToEnergies(double value)

multiplyEnergiesBy

public void multiplyEnergiesBy(double value)

getEnergyInterval

public DoubleInterval getEnergyInterval()

report

public void report(Population population)
Overrides:
report in class FitnessFunction

toString

public java.lang.String toString()

JavaGenes, NASA Ames. Written largely by Al Globus