/// <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); }