metzgore
Ensign
- Registriert
- Sep. 2011
- Beiträge
- 179
Hallo an alle,
ich stehe momentan etwas auf dem Schlauch. Ich bin dabei, das TSP mit dynamischer Progrmmierung zu lösen. Ich habe mich dabei an Pseudocodes orientiert. Der Code sieht wie folgt aus...
Der Code funktioniert soweit.
Wie könnte man am einfachsten die dazugehörige Reihenfolge der besuchten Städte bestimmen? Momentan wird mir ja nur die Gesamtstrecke der kürzesten Rundreise zurückgegeben, aber soviel bringt mir das nun auch wieder nicht.
Vielleicht hat ja jemand von euch die passende Idee.
Grüße
ich stehe momentan etwas auf dem Schlauch. Ich bin dabei, das TSP mit dynamischer Progrmmierung zu lösen. Ich habe mich dabei an Pseudocodes orientiert. Der Code sieht wie folgt aus...
Code:
private static int computeShortestPath(int currentCity, LinkedList<Integer> cities, int[][] distMatrix) {
if (cities.isEmpty()) {
return distMatrix[currentCity][start];
} else {
int way = Integer.MAX_VALUE;
for (int z = 0; z < cities.size(); z++) {
int j = cities.get(z);
LinkedList<Integer> citiesCopy = (LinkedList<Integer>) cities.clone();
citiesCopy.remove(z);
int temp = distMatrix[currentCity][j] + computeShortestPath(j, citiesCopy, distMatrix);
way = Math.min(way, temp);
}
return way;
}
}
Der Code funktioniert soweit.
Wie könnte man am einfachsten die dazugehörige Reihenfolge der besuchten Städte bestimmen? Momentan wird mir ja nur die Gesamtstrecke der kürzesten Rundreise zurückgegeben, aber soviel bringt mir das nun auch wieder nicht.
Vielleicht hat ja jemand von euch die passende Idee.
Grüße