public int CompareToByObjective(IndividualBase another, Objective objective) { double individualAttributeValue = GetFitnessForObjective(objective); double anotherIndividualAttributeValue = another.GetFitnessForObjective(objective); if (anotherIndividualAttributeValue > individualAttributeValue) { return(-1); } else if (anotherIndividualAttributeValue == individualAttributeValue) { return(0); } else { return(1); } }
public bool Dominates(IndividualBase another) { bool dominatesInAnObjective = false; foreach (Objective objective in Problem.MultiObjectiveGoal) { double individualAttributeValue = GetFitnessForObjective(objective); double anotherIndividualAttributeValue = another.GetFitnessForObjective(objective); if (individualAttributeValue > anotherIndividualAttributeValue) { dominatesInAnObjective = true; } else if (individualAttributeValue < anotherIndividualAttributeValue) { return(false); } } if (dominatesInAnObjective) { return(true); } return(false); }
public int CompareToByObjective(IndividualBase another, Objective objective) { double individualAttributeValue = GetFitnessForObjective(objective); double anotherIndividualAttributeValue = another.GetFitnessForObjective(objective); if (anotherIndividualAttributeValue > individualAttributeValue) return -1; else if (anotherIndividualAttributeValue == individualAttributeValue) return 0; else return 1; }
public bool IsDominatedBy(IndividualBase another) { bool dominatedInAnObjective = false; foreach (Objective objective in Problem.MultiObjectiveGoal) { double individualAttributeValue = GetFitnessForObjective(objective); double anotherIndividualAttributeValue = another.GetFitnessForObjective(objective); if (individualAttributeValue > anotherIndividualAttributeValue) return false; else if (individualAttributeValue < anotherIndividualAttributeValue) { dominatedInAnObjective = true; } } if (dominatedInAnObjective) return true; return false; }