private void HeavyOperation() { if (tsp.ResetStatus) { tsp.InitWithRandomPopulation(); } while (working) { tsp.NextGeneration(); var(bestState, bestFitness) = tsp.GetBestState(); Invoke(updateStatusDelegate, tsp.CurrentGeneration, bestState, bestFitness); } }