| | |
| | | { |
| | | get |
| | | { |
| | | while (fitness == null) ; |
| | | //while (fitness == null) ; |
| | | |
| | | if (fitness is double f) |
| | | { |
| | | if(double.IsNaN(f)) return 999999; |
| | | else return f; |
| | | |
| | | } |
| | | //while (fitness == null) ; |
| | | //return fitness??0; |
| | | return f; |
| | | |
| | | else |
| | | return 999999; |
| | | } |
| | | |
| | | } |
| | | public double[] AttemptArray = null; |
| | | |
| | | public int CalcID; |
| | | |
| | | public double[] AttemptArray = null; |
| | | public abstract void Generate(); |
| | | |
| | | public abstract IChromosome CreateNew(); |
| | |
| | | |
| | | public abstract void Crossover(IChromosome pair); |
| | | |
| | | public virtual void Evaluate(IFitnessFunction function) |
| | | { |
| | | |
| | | fitness = function.Evaluate(this); |
| | | } |
| | | |
| | | public int CompareTo(object o) |
| | | { |
| | |
| | | return 0; |
| | | } |
| | | |
| | | public bool isValid() |
| | | { |
| | | return true; |
| | | public virtual bool isValid() |
| | | { |
| | | throw new NotImplementedException(); |
| | | return true; |
| | | } |
| | | |
| | | public virtual bool _valid { get; set; } = false; |
| | | |
| | | public virtual void Evaluate(IFitnessFunction function) |
| | | { |
| | | throw new NotImplementedException(); |
| | | |
| | | fitness = function.Evaluate(this); |
| | | } |
| | | } |
| | | } |