Outils pour utilisateurs

Outils du site


Panneau latéral



Contacts

Scolarité M1

Mickael Ferreira
télephone 01 57 27 68 96
bureau Sophie Germain - Bur. 3004
En télétravail les mardis et vendredis
(permanences Zoom : 10h30-12h00 ; 14h00-15h30)

connexion à la permanence de Mickaël Ferreira (code: 141280)

Scolarité M2

Sylvia Crochet
téléphone 01 57 27 68 98
bureau Sophie Germain - Bur. 3002
En télétravail les mardis et vendredis. Ne travaille pas les mercredis
(permanences Zoom : 10h00-11h30 ; 14h30-16h00)

connexion à la permanence de Sylvia Crochet (code: 242581)

formations:masters:ue:m2:op10

Optimisation Combinatoire

Description

La Recherche Opérationnelle (RO) est un domaine très important de l'informatique théorique et appliquée, autant dans la recherche que l'industrie. Je préfère l'appeler Optimisation Combinatoire, car cela exprime mieux ce qu'on y fait: face à un problème combinatoire, comme la confection d'un emploi du temps, où toute décision locale peut avoir un impact à l'autre bout du problème par le jeux des contraintes liées, on cherche à trouver une solution optimale.

Ce cours donne un panorama assez large de la RO, en commençant par les bases assez algorithmiques et en s'attardant très vite sur des examples d'applications.

Le but est que l'étudiant soit capable d'identifier de tels problèmes d'optimisation à l'avenir, et sache quel(s) outil(s) utiliser, et comment. Un exemple de problème combinatoire: étant donnés l'ensemble des résultats d'un grand tournoi sportif où il n'est pas rare qu'A ait battu B qui a battu C qui a re-battu A, comment établir un classement global qui minimise à posteriori le nombre de matches “inattendus” où un joueur moins bien classé à gagné contre un mieux classé ?

Les TDs accompagnent naturellement le cours en mettant immédiatement en pratique les notions abordées. Ils sont en C++, mais d'un niveau adapté pour les débutants comme pour les confirmés. Ils ont des auto-tests qui permettent d'itérer et de progresser rapidement.

Syllabus

Sujets centraux

  1. Graphes et algorithmes: BFS, Union-Find.
  2. Arbres et algorithmes: Hauteur, Centre…
  3. Programmation Dynamique.
  4. Algorithms Gloutons, comme l'Arbre Couvrant Minimum.
  5. Heuristiques et Approches Monte-Carlo (Diamètre d'un graphe, Miller-Rabin..).
  6. Programmation Linéaire et Entière: Principe et Modélisation avancée.

Sujets potentiellement traités

  • Rappels d'algorithmique de base
  • Haute Performance en C++
  • SAT solving
  • Algorithmes de Flow (Max-Flow, Min-cost-Flow) et leurs applications

Pré-requis

  • Savoir programmer
  • Affinité pour l'algorithmique
formations/masters/ue/m2/op10.txt · Dernière modification : 2023/09/08 13:30 de viger