/// <summary>
 /// Retorna la distancia existente entre la ciudad y la ciuda con identificador id
 /// </summary>
 /// <param name="id">identificador ciudad a la que se quiere saber la distancia</param>
 /// <returns>distancia entre la ciudad actual y la ciudad con identificador id</returns>
 public double distanceTo(int id)
 {
     if (adjacencies.ContainsKey(id))
     {
         return((double)adjacencies[id]);
     }
     else
     {
         return(TourManager.get_infinite());
     }
 }
        public double calculateCostFunction()
        {
            //Recorre todas las ciudades menos la ultima
            double sum = 0;

            for (int i = 0; i < cities.Count - 1; i++)
            {
                City c    = (City)cities[i];
                City next = (City)cities[i + 1];
                sum = sum + c.distanceTo(next.getId());
            }
            double a = sum / TourManager.get_infinite();

            //double b = sum / (TourManager.M * (TourManager.K - 1));
            return(a);
        }