Concepts de base en théorie du calcul : décidabilité, complexité, approximations. Paradigmes de résolution : heuristiques gloutonnes, techniques de voisinage, méthodes évolutives. Techniques de résolution : recuit simulé, recherche tabou, recherche à voisinage variable, algorithme génétique, méthode à mémoire adaptative. Modélisation : problématique du choix d'un voisinage et spécialisation des opérateurs selon le problème à résoudre. Implantation : choix de structures de données appropriées, techniques incrémentales. Analyses théorique et expérimentale : preuves de convergence, topologie de l'espace des solutions, mesures de diversité, réglage des paramètres, outils d'analyse des résultats. Problèmes classiques en optimisation combinatoire et applications dans les sciences de l'ingénieur : optimisation de réseaux de télécommunication, problèmes d'horaires, problème de gestion de production, etc.