Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GeneticSharp.Domain.GeneticAlgorithm"/> class.
        /// </summary>
        /// <param name="population">The chromosomes population.</param>
        /// <param name="fitness">The fitness evaluation function.</param>
        /// <param name="selection">The selection operator.</param>
        /// <param name="crossover">The crossover operator.</param>
        /// <param name="mutation">The mutation operator.</param>
        public MyGeneticAlgorithm(
            IPopulation population,
            IFitness fitness,
            IMySelection selection,
            IMyCrossover crossover,
            IMutation mutation)
        {
            ExceptionHelper.ThrowIfNull("Population", population);
            ExceptionHelper.ThrowIfNull("fitness", fitness);
            ExceptionHelper.ThrowIfNull("selection", selection);
            ExceptionHelper.ThrowIfNull("crossover", crossover);
            ExceptionHelper.ThrowIfNull("mutation", mutation);

            Population  = population;
            Fitness     = fitness;
            Selection   = selection;
            Crossover   = crossover;
            Mutation    = mutation;
            Reinsertion = new ElitistReinsertion();
            Termination = new GenerationNumberTermination(1);

            CrossoverProbability = DefaultCrossoverProbability;
            MutationProbability  = DefaultMutationProbability;
            TimeEvolving         = TimeSpan.Zero;
            State        = MyGeneticAlgorithmState.NotStarted;
            TaskExecutor = new LinearTaskExecutor();
        }
Пример #2
0
        private void PrepareComboBoxes()
        {
            PrepareEditComboBox(
                SelectionCombo,
                MySelectionService.GetSelectionNames,
                MySelectionService.GetSelectionTypeByName,
                MySelectionService.CreateSelectionByName,
                () => m_selection,
                (i) => m_selection = i);


            PrepareEditComboBox(
                CrossingCombo,
                MyCrossoverService.GetCrossoverNames,
                MyCrossoverService.GetCrossoverTypeByName,
                MyCrossoverService.CreateCrossoverByName,
                () => m_crossover,
                (i) => m_crossover = i);
        }
Пример #3
0
        //SetSampleOperatorToCombobox(CrossoverService.GetCrossoverTypes, m_sampleController.CreateCrossover, (c) => m_crossover = c, Gtk.ComboBox.CrossingCombo);
        //zmień operator do Coboboxa( CrossoverService jest to biblioteka GeneticSharp.Domain.Crossovers "Creates the ICrossover's implementation with the specified name.", GetCrossoverTypes zabiera Typ Krzyżowania nazwe itd, wrzuca do tworzenia, przerzucenie parametrów , nazwa comboBoxa);
        // nie jestem pewna czy to to samo

        private void SetSampleOperatorsToComboboxes()
        {
            SetSampleOperatorToCombobox(MyCrossoverService.GetCrossoverTypes, m_sampleController.CreateCrossover, (c) => m_crossover = c, CrossingCombo);
            //SetSampleOperatorToCombobox(MutationService.GetMutationTypes, m_sampleController.CreateMutation, (c) => m_mutation = c, cmbMutation);
            SetSampleOperatorToCombobox(MySelectionService.GetSelectionTypes, m_sampleController.CreateSelection, (d) => m_selection = d, SelectionCombo);
            //SetSampleOperatorToCombobox(TerminationService.GetTerminationTypes, m_sampleController.CreateTermination, (c) => m_termination = c, cmbTermination);
        }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GeneticSharp.Domain.Selections.MySelectionException"/> class.
 /// </summary>
 /// <param name="selection">The Selection where occurred the error.</param>
 /// <param name="message">The error message.</param>
 /// <param name="innerException">The inner exception.</param>
 public MySelectionException(IMySelection selection, string message, Exception innerException)
     : base("{0}: {1}".With(selection != null ? selection.GetType().Name : String.Empty, message), innerException)
 {
     Selection = selection;
 }