Objectif du projet :

L'objectif de mon projet en théorie des graphes, développé en C++, est de mettre au point une application sophistiquée de simulation. Cette dernière modélise le déplacement intelligent d'avions d'une ville à une autre, utilisant pour cela la structure algorithmique d'un graphe. L'application est conçue pour calculer les itinéraires les plus efficaces vers une destination donnée, en tenant compte de multiples contraintes opérationnelles telles que les conditions météorologiques, la consommation de carburant, les limitations de temps et d'autres paramètres critiques. L'enjeu est de combiner l'optimisation de parcours avec la prise de décision dynamique pour garantir une navigation aérienne optimale.

Fonctionnement :

Notre projet s'articule autour d'une implémentation avancée de la théorie des graphes en C++. Le cœur de notre code repose sur l'application d'algorithmes complexes tels qu'A*, Dijkstra et d'autres, optimisant les trajets aériens entre différentes villes. Nous avons programmé des modèles d'avions virtuels aux capacités de carburant variées, limitant leur rayon d'action à certaines villes du graphe. La coordination des vols est cruciale : il est impératif de gérer les décollages et atterrissages de façon à éviter toute simultanéité, exigeant ainsi une logistique rigoureuse pour le mouvement simultané de plusieurs appareils.

Realisation

L'objectif s'étendait également à la représentation graphique dynamique des avions et des aéroports, en exploitant la bibliothèque Allegro. Cette visualisation inclut l'affichage en temps réel des informations pertinentes. Le système actualise les données toutes les deux secondes, chaque unité de temps simulant le déroulement des événements : déplacement des avions à leur vitesse assignée et gestion d'événements aléatoires, tels que l'émergence de tempêtes pouvant endommager les appareils, les ralentir ou nécessiter un recalcul des itinéraires.

Visualisation

Voici une courte visualisation video du projet.