Exemplo n.º 1
0
        private void GenerateNewSolutionFromNeighbors(Reduct eliteReduct, int neighborhoodSize, int neighborhoodSteps)
        {
            var neighborhood = new List <Reduct>();

            for (var i = 0; i < neighborhoodSize; i++)
            {
                var neighborIndividual = string.Empty;
                for (var j = 0; j < neighborhoodSteps; j++)
                {
                    neighborIndividual = BinaryStringHelper.GenerateNeighborSolution(eliteReduct.Individual);
                }

                TryAddReductToCheckedReductsList(neighborIndividual);
                neighborhood.Add(CheckedReducts.FirstOrDefault(r => r.Individual == neighborIndividual));
            }
            ActualPopulation.Individuals.Add(neighborhood.OrderByDescending(r => r.Approximation).ThenBy(i => i.Subset.Count).FirstOrDefault());
        }