Dans le cadre du cours de programmation séquentielle en C, nous avons du réaliser un énoncé afin de réaliser le projet de ce dernier. Le but de ce projet est d'utiliser l’algorithme d'optimisation de colonies de fourmis afin de trouver le chemin le plus court entre deux sommets définis dans un graphe. Les fourmis fonctionnent de manière collective afin de trouver leurs sources de nourritures. De ce fait, chaque fourmis parcours un chemin aléatoirement puis laisse de la phéromone sur son chemin lorsqu'elle a trouvé la nourriture. La phéromone influence donc le passage des prochaines fourmis qui vont elles aussi laisser de la phéromone pour les suivantes. Ainsi, au bout d'un certain temps, le chemin le plus emprunté et donc le plus court, sera bien plus choisi par les fourmis que les autres chemins et le chemin le plus court sera défini.
## Les graphes
Nous allons avoir besoin d'un "terrain de jeu" qui sera représenté par un graphe. Un graphe est composé de sommets et d’arêtes. Les arêtes représentent un lien directionel qu'il y a entre deux sommets et, dans notre cas, elles contiendront également une longueur représentant le cout pour aller d'un sommmet a un autre ainsi qu'un taux de phéromones qui servira plus tard a influencer le déplacement des fourmis dans le graphe.
Pour la représentation d’un graphe, il a deux implémentations majeures qui ressortent du lot :