Beispiel #1
0
        /// <summary>
        /// Mutation is done By Swapping elements from Chromosome
        /// </summary>
        /// <param name="chromose"></param>
        private void Mutator(GAChromosome chromose)
        {
            System.Random rnd = new Random();

            int ChromoLen = chromose.Capacity;

            int iSelection1 = rnd.Next(0, ChromoLen);
            int iSelection2 = iSelection1;

            while (iSelection2 == iSelection1)
            {
                iSelection2 = rnd.Next(0, ChromoLen);
            }

            GAGene Gene1 = (GAGene)chromose[iSelection1];
            GAGene Gene2 = (GAGene)chromose[iSelection2];

            chromose.RemoveAt(iSelection1);
            chromose.Insert(iSelection1, Gene2);

            chromose.RemoveAt(iSelection2);
            chromose.Insert(iSelection1, Gene1);
        }
Beispiel #2
0
        /// <summary>
        /// Mutation is done By Swapping elements from Chromosome
        /// </summary>
        /// <param name="chromose"></param>
        private void Mutator(GAChromosome chromose)
        {
            System.Random rnd = new Random();

            int ChromoLen	= chromose.Capacity;

            int iSelection1 = rnd.Next(0, ChromoLen);
            int iSelection2 = iSelection1;

            while(iSelection2 == iSelection1)
                iSelection2 = rnd.Next(0, ChromoLen);

            GAGene Gene1 = (GAGene)chromose[iSelection1];
            GAGene Gene2 = (GAGene)chromose[iSelection2];

            chromose.RemoveAt(iSelection1);
            chromose.Insert(iSelection1,Gene2);

            chromose.RemoveAt(iSelection2);
            chromose.Insert(iSelection1,Gene1);
        }