public ViewResult Form(CityCounter cityCounter)
        {
            ViewData["NumberOfCities"] = cityCounter.NumCities;

            List <City> cityList = new List <City>();

            for (int i = 0; i < cityCounter.NumCities; i++)
            {
                cityList.Add(new City());
            }

            return(View(cityList));
        }
        public IActionResult Solution(CityCounter cityCounter)
        {
            for (int i = 0; i < cityCounter.NumCities; i++)
            {
                TourManager.AddCity(new City());
            }

            Population pop = new Population(50, true);

            ViewData["InitialDistance"] = $"{pop.GetFittest().GetDistance()}";

            pop = GA.EvolvePopulation(pop);
            for (int i = 0; i < 100; i++)
            {
                pop = GA.EvolvePopulation(pop);
            }

            ViewData["FinalDistance"] = $"{pop.GetFittest().GetDistance()}";
            ViewData["Solution"]      = $"{pop.GetFittest()}";

            TourManager.RemoveCities();

            return(View());
        }