AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TSP in C++

Ein Thema von Norbert987 · begonnen am 9. Jul 2008 · letzter Beitrag vom 10. Jul 2008
Antwort Antwort
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#1

TSP in C++

  Alt 9. Jul 2008, 09:21
Hallo zusammen,

wir müssen als Hausaufgabe 2 Varianten des Traveling-Salesman Problem programmieren. Es sind also beliebige Städte gegeben, die alle genau einmal besucht werden sollen (wobei der Start auch wieder das Ziel ist) mit minimalen Kosten. Die eine Variante ist einfach, man probiert alle Wege durch, dauert lange aber funktioniert. Die 2 Variante ist etwas komplexer:

Beipsiel mit 10 Städten:
Wir beginnen mit dem initialisieren der Kosten im Hashtable von 1-->2, 1-->3...1->10 und bauen darauf weitere Berechnungen auf:
Jetzt werden alle Teilmengen der Größe 3 über der Menge {1..10} gebildet und davon nochmal jeweils alle Permutationen beginnend mit der 1, also:
{1, 2, 3}
-> 1->2->3
-> 1->3->2

{1, 2, 4}
-> 1->2->4
-> 1->4->2
...
{1, 9, 10}
-> 1-> 9->10
-> 1->10->9

diese ganzen Permutationen ergeben nun alle möglichen Wege. Der Unterschied zur 1.Aufgabe ist, dass man aus der Teilmenge mit L Elementen die Strecke von 1 bis L-1 Elementen in einer Hashtabelle nachguckt da sie schon berechnet wurden und somit nichts doppelt berechnet. Dann wird der Weg von L-1 nach L hinzugefügt. Diese Kosten werden nun auch wieder in der Hashtable gespeichert um bei weiteren Berechnungen mit L+1 darauf zurückzugreifen zu können.
Dies wird nun über alle i-Elementigen Teilmengen mit i=2,..,10 durchgeführt.

Das Problem ist, dass wir nicht wissen, wie wir die Kosten aller Teilmengen und allen Permutationen sinnvoll speichern. ZZ.speichern wie die kürzesten Wege jeder Menge in einer Map, können dann aber nicht mehr auf die anderen Permutationen zurückgreifen, da der Hash für jede Stadt das passende Bit auf true setzt, also die Menge der Städte {1, 2, 5} ist 10011.
Ich hoffe, es ist einigermaßen verständlich, sonst fragt bitte nochmal nach.

Vielen Dank im Vorraus, Tobias

PS: wem der formale Weg mehr zusagt gucke bitte hier
  Mit Zitat antworten Zitat
Norbert987

Registriert seit: 27. Nov 2003
Ort: Aachen
74 Beiträge
 
Delphi 7 Professional
 
#2

Re: TSP in C++

  Alt 10. Jul 2008, 10:39
Hat sich erledigt. Habs nun so gelöst, dass nicht nur die Menge, sondern auch das letzte ELement gespeichert wird. Jetzt läufts
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz