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

            }
        }