public abstract double Evaluate(Individual individual, IRandom random);
public virtual IEnumerable <Individual> GetNeighbors(Individual individual, IRandom random) { return(Enumerable.Empty <Individual>()); }