/// <summary> /// /// </summary> /// <returns></returns> public override IGenotype GenerateRandomMember() { int[] geneSequence; double fitness; geneSequence = new int[NumQueens]; GeneDomain.CopyTo(geneSequence); Tools.Shuffle(geneSequence); fitness = FitnessFunction(geneSequence, out bool junk); return(new GenotypeGenericList <int>(geneSequence, fitness)); }
/// <summary> /// /// </summary> /// <param name="numQueens"></param> public NQueenGA(NQueenParams p) : base(p) { NumQueens = p.NumQueens; BestFitness = 0; for (int i = 0; i < NumQueens; i++) { GeneDomain.Add(i); BestFitness += i + 1; } }