Init:                               // Initialisierung

  t := 0; NC := 0                   // Zeitzähler, Zyklenzähler
  for every edge(i,j) do
    phero_edge  (i,j,t) = c         // Kantenmark. zur Zeit t, c = const.
    phero_delta (i,j)   = 0         // deltaKantenmark. nach einer Tour
  od
  place m ants on n nodes           // m <= n, meist m = n und 1 je Stadt
  s := 1                            // Zeiger in TabuListe auf 1. Eintrag
  for every ant k do
    insert start town in tabu(k,s)  // Startpunkt -> TabuListe
  od


Cycle:                              // Ant-Cycle - Rundreise für alle J

  repeat until tour completed       // solange bis TabuListe voll, (n-1)*
    s += 1                          // nächster Eintrag in TabuListe
    for every ant k do
      choose town j to move to with probability p(i,j,k,t) // siehe Formel
      move ant k to town j; insert town j in tabu(k,s)     // Reisefieber
    od
  teaper                            // Tour beendet fuer alle Ameisen


Evaluation:                         // Bewertung, Häufigkeit der Nutzung

  for every ant k do
    move k-th ant from tabu(k,n) to tabu(k,1)  // Rücklauf auf Startpunkt
    compute full length of the tour by ant k   // Gesamtlänge jd. AntTour
    if (tour < shortest tour so far)           // besser als bisher beste?
      update shortest tour                     // speichere beste Tour
    fi
  od
  for every edge(i,j) do
    for every ant k do
      phero_delta (i,j,k) := Q/full length       // Längenabh. Bewertung
      phero_delta (i,j)   += phero_delta (i,j,k) // addiere Ges.delta auf
    od
  od

Evaporation: // Verflücht. Mark_old, Addieren Mark_new for every edge(i,j) do phero_edge (i,j,t+n) := p * phero_edge (i,j,t) + phero_delta (i,j) phero_delta(i,j) := 0 // Rücksetzen für den nächsten Zyklus od t += n; NC += 1 // Zeit += Anz_Städte, Zyklenzähler erhöhen Termination Condition: // Termin.: Max_Zyklen | All_Equal_Tour if (NC < Ncmax) and (not stagnation behavior) then empty all tabus goto Cycle // Wiederhole Ant-Cycle (Neue Tour) else print shortest tour so far // Gib bislang beste Tour aus stop fi