private void GA_Simple_Button_Click(object sender, RoutedEventArgs e) { GSA.GA.Algorithm.UniformRate = Double.Parse(CrossOverProbTextBox.Text); GSA.GA.Algorithm.MutationRate = Double.Parse(MutationProbTextBox.Text); GSA.GA.Algorithm.TournamentSize = Int32.Parse(TournamentSizeTextBox.Text); GSA.GA.Algorithm.Elitism = ElitismCheckBox.IsChecked.Value; GSA.GA.Algorithm.Rnd = new Random(); LogTextBox log = new GSA.LogTextBox(LogTextBox); String solutionSelected = SolutionTextBox.Text; if (validateSol(solutionSelected)) { GSA.GA.FitnessCalc.setSolution(solutionSelected); GSA.GA.Population myPop = new GSA.GA.Population(50, true); int generationCount = 0; while (myPop.getFittest().getFitness() < GSA.GA.FitnessCalc.getMaxFitness()) { generationCount++; log.Write("Generation: " + generationCount + " Fittest: " + myPop.getFittest().getFitness(), Brushes.Yellow); myPop = GSA.GA.Algorithm.evolvePopulation(myPop); } log.Write("Solution found!", Brushes.GreenYellow); log.Write("Generation: " + generationCount); log.Write("Genes:"); log.Write(myPop.getFittest().ToString()); } else { log.Write("La solución no es válida, recuerda: 64 bits de 0 y 1", Brushes.Red); } scrollEl.ScrollToBottom(); }
private void GA_Simple_Button_Click(object sender, RoutedEventArgs e) { GSA.GA.Algorithm.UniformRate = Double.Parse(CrossOverProbTextBox.Text); GSA.GA.Algorithm.MutationRate = Double.Parse(MutationProbTextBox.Text); GSA.GA.Algorithm.TournamentSize = Int32.Parse(TournamentSizeTextBox.Text); GSA.GA.Algorithm.Elitism = ElitismCheckBox.IsChecked.Value; GSA.GA.Algorithm.Rnd = new Random(); LogTextBox log = new GSA.LogTextBox(LogTextBox); String solutionSelected = SolutionTextBox.Text; if (validateSol(solutionSelected)) { GSA.GA.FitnessCalc.setSolution(solutionSelected); GSA.GA.Population myPop = new GSA.GA.Population(50, true); int generationCount = 0; while (myPop.getFittest().getFitness() < GSA.GA.FitnessCalc.getMaxFitness()) { generationCount++; log.Write("Generation: " + generationCount + " Fittest: " + myPop.getFittest().getFitness(), Brushes.Yellow); myPop = GSA.GA.Algorithm.evolvePopulation(myPop); } log.Write("Solution found!", Brushes.GreenYellow); log.Write("Generation: " + generationCount); log.Write("Genes:"); log.Write(myPop.getFittest().ToString()); } else { log.Write("La solución no es válida, recuerda: 64 bits de 0 y 1", Brushes.Red); } scrollEl.ScrollToBottom(); }