Verwenden Sie die aktuelle Version von TSP
aus meinem Verzeichnis tsp.gui
.
Das Anzeigeprogramm soll im PC-Raum laufen und die TSP Programme auf dem BA-Cluster. Die Kommunikation soll wie bisher über TCP/IP erfolgen.
Verbesserung der GUI:
z.B. Spinner, ChangeListener, Organisation der Panels und Menues, Hilfe;
evtl. Listener in GUI integrieren.
Load und Save der Punkte (in ASCII Dateien).
Load und Save der Konfiguration.
Entwicklung einer Verifikations-Funktion, d.h. überprüfen, ob eine (ein-)gegebene Lösung optimal ist.
GUI-Editor für Städte und evtl. Wege.
Download von TSP Testproblemen, Parser für diese Darstellung. Z.B. TSPLIB95, tsp.gatech
Grafische History-Funktion für Wege, z.B. mit thumbnails.
Verbesserung des Logging:
Angabe der Rechenzeit im Protokoll,
Ausgabe des Outputs der Daemonen.
Umbau und Einbau von java.util.concurrent, z.B. für Semaphore, ThreadPool.
Verbeserung der verteilten Programme,
z.B. Starten der Daemonen mit Hilfe von apache.commons.net.rsh
Editieren und verwalten des machine-Files im GUI.
Umbau und Einbau von java.nio, z.B. für Sockets mit Puffern.
Thread-Parallelisierung des verteilten Algorithmus.
Verbesserung der Algorithmen:
Implementierung eines Permutations-Generators ohne Hilfs-Arrays.
Verbesserung der Algorithmen:
Implementierung von Heuristiken zum Finden besserer Anfangswege.
Pflichtaufgaben: 1, 2, 6, 7, 8
Wahlpflichtaufgaben: eine von 3, 4, 5
Optionale Aufgaben: 9, 10, 11, 12
(können jeweils eine Aufgabe 6, 7, 8 ersetzen)
Jeweils bis zu 3, maximal 4 Leuten mit Angabe der Wahlpflichtaufgabe und der optionalen Aufgabe (soweit bekannt).
4er Gruppe: alle 6 Aufgaben wie angegeben
3er Gruppe: 5 Aufgaben, davon mindestens eine Wahlpflichtaufgabe, mindestens zwei von 6, 7, 8
2er Gruppe: 4 Aufgaben, davon mindestens eine Wahlpflichtaufgabe, mindestens eine von 6, 7, 8
In der letzten Vorlesung am 14. Dezember 2005 muss jede Gruppe Ihre Arbeit im PC-Raum und dem BA-Cluster vorführen. (ca. 15-20 Minuten)
Packen Sie Ihre Java-Programme und ein brauchbares README in ein jar-File. Bei den Programmen muss der Source Code und optional die class-Dateien dabei sein.
Das README muss die genauen Namen und Email-Adressen aller Beteiligten enthalten.
Schicken Sie das jar-File als Email Attachment zu mir
kredel at rz.uni-mannheim.de
Spätester Termin für die Abgabe ist Mittwoch 11. Januar 2006 um 20.00 Uhr. Die Email muss bei mir vor 24.00 Uhr eintreffen.
Ich werde die Programme ausführen und überprüfen ob die Funktionalität erfüllt wird.
Ich sehe mir den Source Code an und überprüfe die Kommunikation und die Thread-Programmierung.
Bei der Kommunikation ist davon auszugehen, dass zu erst die Daemonen/Server auf dem Cluster gestartet werden, dann die grafische Oberfläche und dannach weitere Teile die Sie auf dem Cluster benötigen.
Die grafische Oberfläche darf während der Kommunikation nicht die Eingabe blockieren.
Die Kommunikation soll möglichst robust sein gegenüber
Änderungen der Datenstruktur oder des implementierten
Algorithmus.
D.h. verwenden Sie wenn möglich serialisierte Objekte in der
Kommunikation.
© Universität Mannheim, Rechenzentrum, 2004-2005.
Last modified: Wed Dec 7 23:04:38 CET 2005