Ant-Cycle Algorithmus

in Meta-Meta-German-Language
J



Init:

 

  Zyklenzähler und alle Kantenmarkierungen auf 0 setzen;

  Setze eine Ameise je Stadt;

  Trage in Tabuliste jeder Ameise deren Startstadt ein;



Cycle:


Wiederhole solange bis Rundreise beendet (für alle Ameisen gleichzeitig)

  Für jede Ameise suche nächste Stadt mit Wahrscheinlichkeitsformel in
  Abhängigkeit von Nähe und Grad an Pheromon (Entscheidung);
  Setze Ameise auf diese Stadt und trage Stadt in Tabuliste ein;


Evaluation:

 
Rücklauf: Setze jede Ameise auf ihre Startstadt zurück;
  Berechne Gesamtlänge jeder Ameisen-Tour;
  Falls diese kürzer ist als die bislang kürzeste speichere diese ab;
  Addiere für jede Kante längenabhäng. Bewertungen aller Ameisen auf;


Evaporation:

  Alte Kantenmarkierungen verdunsten, neue Bewertungen aufaddieren;
  Erhöhe Zyklenzähler;



Termination:

 
Falls Zyklenzähler kleiner als maximale Iterationszahl und kein
  Stagnationsverhalten eintritt: lösche alle Tabulisten und führe

  Cycle erneut aus;

 

  Sonst gib bislang kürzeste Tour aus und beende