Beispiel #1
0
        internal void Mutate(float mutationPower)
        {
            Random rand = new Random();
            int    numberOfMutations = Convert.ToInt32(columnsPermutation.Count * mutationPower);

            for (int i = 0; i < numberOfMutations; i++)
            {
                int index1 = 0;
                int index2 = 0;
                while (index1 == index2)
                {
                    index1 = rand.Next(columnsPermutation.Count);
                    index2 = rand.Next(columnsPermutation.Count);
                }
                CollectionActions.Swap(columnsPermutation, index1, index2);
            }
        }