/// <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(); }
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); }
//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); }
/// <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; }