AForge.Genetic.Population.Shuffle C# (CSharp) Метод

Shuffle() публичный Метод

Shuffle randomly current population.

Population shuffling may be useful in cases when selection operator results in not random order of chromosomes (for example, after elite selection population may be ordered in ascending/descending order).

public Shuffle ( ) : void
Результат void
        public void Shuffle( )
        {
            // current population size
            int size = population.Count;
            // create temporary copy of the population
            List<IChromosome> tempPopulation = population.GetRange( 0, size );
            // clear current population and refill it randomly
            population.Clear( );

            while ( size > 0 )
            {
                int i = rand.Next( size );

                population.Add( tempPopulation[i] );
                tempPopulation.RemoveAt( i );

                size--;
            }
        }