Lien du projet

Optimisation d'algorithmes

Optimisation et comparaison d'algorithmes de recherche de chemins sur des données OpenStreetMap
Contexte

Ce projet se concentre sur l'implémentation et l'optimisation d'algorithmes de recherche de chemins sur des données OpenStreetMap. L'objectif principal est de comparer les performances de deux approches majeures : l'algorithme de Dijkstra et l'algorithme A*. Les données sont fournies sous forme de fichiers CSV contenant les nœuds avec leurs coordonnées géographiques et les chemins reliant ces nœuds.

Objectifs
  • Optimiser le temps de chargement des données CSV
  • Implémenter et comparer les algorithmes Dijkstra et A*
  • Analyser les performances et la complexité des algorithmes
  • Proposer des optimisations de structure de données
Résultats

Notre implémentation d'A* a montré des gains significatifs de 30-45% sur le temps de calcul par rapport à Dijkstra. De plus, l'utilisation de la bibliothèque Polars pour la lecture des fichiers CSV a permis d'optimiser considérablement le temps de chargement des données par rapport aux solutions traditionnelles comme la bibliothèque CSV ou même Pandas.

Technologies utilisées
Python Pandas Polars OpenStreetMap