Beispiel #1
0
        /// <summary>
        /// Initializes a new optimization run.
        /// </summary>
        /// <param name="parameters">The parameters to initialize the algorithm with</param>
        /// <param name="initialSolution">The solution to initialize the population with</param>
        public void InitializeEvolution(GeneticAlgorithmParameters parameters, BitArray initialSolution = null)
        {
            _populationSize       = parameters.PopulationSize;
            MaxGeneration         = parameters.MaxGeneration;
            _dnaLength            = parameters.DnaLength;
            _temperature          = parameters.Temperature;
            _annealingFactor      = parameters.AnnealingFactor;
            _maxMutateClusterSize = parameters.MaxMutateClusterSize;

            _bestSolution = new Individual(null, 0);

            _initialSolution = initialSolution ?? new BitArray(_dnaLength);
            _population      = CreatePopulation();
            GenerationCount  = 0;
            UpdateBestSolution();
        }
        /// <summary>
        /// Initializes a new optimization run.
        /// </summary>
        /// <param name="parameters">The parameters to initialize the algorithm with</param>
        /// <param name="initialSolution">The solution to initialize the population with</param>
        public void InitializeEvolution(GeneticAlgorithmParameters parameters, BitArray initialSolution = null)
        {
            _populationSize = parameters.PopulationSize;
            MaxGeneration = parameters.MaxGeneration;
            _dnaLength = parameters.DnaLength;
            _temperature = parameters.Temperature;
            _annealingFactor = parameters.AnnealingFactor;
            _maxMutateClusterSize = parameters.MaxMutateClusterSize;

            _bestSolution = new Individual(null, 0);

            _initialSolution = initialSolution ?? new BitArray(_dnaLength);
            _population = CreatePopulation();
            GenerationCount = 0;
            UpdateBestSolution();
        }