Si le graphe contient des cycles (il n'y a pas de tri topologique), alors deux astuces peuvent aider :
1) Calculer la dynamique n fois, où n est le nombre de sommets du graphe (par analogie avec l'algorithme de Ford-Bellman). Mais cela augmente les asymptotiques et est rarement efficace en général.
2) Construire une condensation de graphes. Pour chaque composante fortement connexe du graphe original, résolvez le problème séparément. Le graphe condensé est acyclique et pour cela vous pouvez utiliser l'approche standard avec tri topologique, tout en utilisant comme valeurs de sommet, les valeurs calculées pour les composants fortement connectés. Cette méthode est principalement utilisée.