private void OnClickGo(object sender, EventArgs e) { _runResults.Clear(); _lblRunsComplete.Visible = false; DisableControls(); _progressBarMult.Value = 0; _runsSoFar++; _classGA = new GeneticAlgorithm(); _backgroundWorkerMult.RunWorkerAsync(); }
private void OnWorkCompleted(object sender, RunWorkerCompletedEventArgs e) { _totalWorkDone += _classGA.Population.WorkDone; _lblWorkResult.Text = Convert.ToString((_totalWorkDone) / _runsSoFar); _lblRunsSoFar.Text = Convert.ToString(_runsSoFar); if (_runsSoFar < _nudNumRuns.Value && _classGA.Population.GenerationsSoFar == _nudNumGensPerRun.Value) { _runResults.Add(_classGA.Population.BestSolution.Fitness); if (_classGA.Population.BestSolution < _bestSolution.Population.BestSolution) { _bestSolution = _classGA; } _progressBarMult.Value = 0; _runsSoFar++; _classGA = new GeneticAlgorithm(); _backgroundWorkerMult.RunWorkerAsync(); } else if (_runsSoFar == _nudNumRuns.Value) { _runResults.Add(_classGA.Population.BestSolution.Fitness); _progressBarMult.Value = 100; _runsSoFar = 0; _totalWorkDone = 0; EnableControls(); WriteResults(); } }