Accueil                                       Recherche                                             Enseignement





Bases de l'algorithmique : structures de contrôle, variables, définitions de fonctions et procédures.
Travaux pratiques utilisant le langage Ada dans des sujets à coloration aéronautique
Notion de tableau, de matrice, la manière de les parcourir, et de les combiner avec des types articles pour construire des structures de données complexes.
Algorithmes de base (recherche de min, max, calcul de moyenne) sur ces structures.
Concevoir une structure de données adaptée à un problème algorithmique fixé et coder la solution retenue en Ada.

Comprendre les concepts de protection par encapsulation, de paquetage, de généricité, dans le but de concevoir des programmes robustes et réutilisable.
Savoir manipuler des structures de données dynamiques (piles, files, listes, arbres, graphes) et les mettre en oeuvre
Connaitre les algorithmes associés (insertion, suppresion, modification, dénombrement, recherche, filtrage)


Modélisation sous forme de graphe.
Problèmes classiques : parcours, connexité, k-connexité, plus court chemin, décomposition, arbre couvrant, couplage, coloriage, isomorphisme, circuit hamiltonien

Conception et développement d’algorithmes pour résoudre des problèmes de graphes et analyse expérimentale de l’efficacité de ces algorithmes.
Projet : Calcul d'itinéraires sur l'Europe avec des véhicules électriques ayant ou non une autonomie limitée
Exemple de réalisation (2010/2011)

Présenter différentes notions, méthodes et algorithmes de l'optimisation combinatoire

Rappels de complexité (
problèmes de décision, problèmes d'optimisation, problèmes faciles et difficiles)
Méthodes exactes : backtrack chronologique, méthodes à divergences, branch and bound, A*, Extension du Branch and Bound : Branch and Cut et Branch and Price, Programmation dynamique
Méthodes approchées : Méthodes gloutonnes, Méthodes à voisinage (descente simple, descente avec multi-start, avec voisinages variables), Méta-heuristiques (voisinages variables, voisinages itérés, recherche tabou, recuit simulé, algorithmes évolutionnaires, colonies de fourmis, ...)
Le projet aborde des applications pratiques (optimisation pour un problème de transport ou d'ordonnancement).