Am Anfang des Programms werden beliebig die Koordinaten der Städte
ausgewählt. Danach wird auch zufällig eine Reihenfolge der Städte
definiert, in der sie nachher in jedem der Iterationsschritte besucht
werden. Die zufällige Reihenfolge der Städte ist wichtig, um bei
gleicher Lage der Städte unterschiedliche Routen erzielen zu
können. Das Ergebnis des Algorithmus hängt nämlich auch
von der Reihenfolge der Untersuchung ab.
Die Position der Städte und Nodes wird als x- und y-Koordinate in
den Arrays ([],
[] bzw.
[],
[]) gespeichert,
wobei die Variable M die Anzahl der Städte, und N
die Anzahl der Nodes angibt. Die Nodes bilden dabei logisch gesehen einen
Ring, in dem jeder Node mit seinen Nachbarn korrelliert ist.
Zu Beginn wird nur ein Node an der Position erzeugt und die
Iteration gestartet.
Bei jedem Iterationsschritt wird jede Stadt genau einmal
besucht, also werden insgesamt M Schritte pro Iteration
durchgeführt. Wie schon oben ausgeführt wurde, wird
die Reihenfolge in der die Städte besucht werden
am Anfang per Zufall bestimmt.