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.