Optimisation en informatique
Code UE : RCP104-PAR
- Cours + travaux pratiques
- 6 crédits
- Volume horaire de référence
(+ ou - 10%) : 50 heures
Responsable(s)
Cedric BENTZ
Public, conditions d’accès et prérequis
Elèves ingénieurs, étudiants de master M1.
Prérequis : avoir des connaissances de base en algorithmique, réseaux informatiques, programmation, graphes et recherche opérationnelle.
Prérequis : avoir des connaissances de base en algorithmique, réseaux informatiques, programmation, graphes et recherche opérationnelle.
Présence et réussite aux examens
Pour l'année universitaire 2022-2023 :
- Nombre d'inscrits : 57
- Taux de présence à l'évaluation : 25%
- Taux de réussite parmi les présents : 57%
Objectifs pédagogiques
A partir de problèmes concrets en informatique (majoritairement issus des réseaux de télécommunication), l'UE vise à apprendre à traiter des problèmes d'optimisation difficiles. En particulier, elle vise à apprendre à écrire un problème d'optimisation sous la forme d'un modèle mathématique, puis à proposer des méthodes, exactes ou non (mais efficaces malgré tout), utilisant des outils pratiques pour résoudre un tel problème (méthodes heuristiques, logiciels de programmation linéaire, programmation dynamique, etc.).
Compétences visées
L'élève ayant suivi cet enseignement sait comment traiter des problèmes d'optimisation dans les réseaux de différents types.
Il ou elle sait notamment les modéliser sous la forme de programmes linéaires, en nombres entiers ou non.
Il ou elle sait également identifier certains problèmes simples, et les résoudre ensuite à l'aide d'algorithmes efficaces connus.
Enfin, il ou elle sait résoudre les problèmes difficiles (souvent des problèmes d'optimisation combinatoire) à l'aide d'outils issus de la recherche opérationnelle, comme la programmation dynamique, les méthodes de résolution de PLNE (à travers des solveurs de PLNE, qui implémentent ces méthodes), ou des méthodes de résolution approchée (heuristiques et méta-heuristiques).
Il ou elle sait notamment les modéliser sous la forme de programmes linéaires, en nombres entiers ou non.
Il ou elle sait également identifier certains problèmes simples, et les résoudre ensuite à l'aide d'algorithmes efficaces connus.
Enfin, il ou elle sait résoudre les problèmes difficiles (souvent des problèmes d'optimisation combinatoire) à l'aide d'outils issus de la recherche opérationnelle, comme la programmation dynamique, les méthodes de résolution de PLNE (à travers des solveurs de PLNE, qui implémentent ces méthodes), ou des méthodes de résolution approchée (heuristiques et méta-heuristiques).
1) Présentation de problèmes simples d'optimisation dans les réseaux : routage (acheminement de flux de données sous contraintes de bandes passantes), tables de routage (via l'algorithme de Dijkstra), arbres de connexion simples (via l'algorithme de Kruskal).
2) Modélisation de problèmes d'optimisation par la programmation linéaire (PL) : choix des variables, détermination de leurs domaines, écriture de la fonction objectif et des contraintes. Formulation par la PL de problèmes d'acheminement de flux de données (problèmes de flots maximums ou à coût minimum). Méthode de résolution graphique pour la PL.
3) Mise en oeuvre informatique utilisant un solveur (logiciel de résolution) de PL libre d'accès (a priori, GLPK), par le biais d'un modeleur (GMPL) ou du format de fichier LP.
4) Problèmes difficiles en optimisation dans les réseaux : retour sur les arbres de connexion dans le cas général, et leurs liens avec les arbres de Steiner. Notions de complexité des algorithmes et des problèmes, et catégorisation des problèmes simples et difficiles (P versus NP).
5) Modélisation et résolution de problèmes difficiles (essentiellement combinatoires) d'optimisation dans les réseaux à l'aide de la programmation linéaire en nombres entiers (PLNE) : particularités des modèles en variables binaires ou entières, et formulations pour des problèmes classiques (comme les arbres de connexion dans le cas général, l'allocation de fréquences, le routage multicast, etc.). Linéarisation de problèmes d'optimisation non linéaires (contenant, par exemple, des produits de variables) de façon à pouvoir les résoudre via des solveurs de PLNE. Introduction aux techniques de résolution de PLNE, et aux inégalités valides. Mise en oeuvre informatique pendant une ou deux séances, puis étude d'un cas réel, sous la forme d'un TP noté.
6) Résolution de certains problèmes difficiles par des méthodes basées sur la programmation dynamique, lorsque cela est possible : principe d'optimalité de Bellman, et exemples d'algorithmes de programmation dynamique pour des problèmes classiques en optimisation dans les réseaux.
7) Résolution approchée de problèmes d'optimisation difficiles par des méthodes générales (recuit simulé, méthode tabou, algorithmes génétiques, etc.) ou par des méthodes spécifiques (heuristiques ad-hoc, gloutonnes, par recherche locale, etc.). Validation des résultats obtenus par ces heuristiques à l'aide de bornes basées, par exemple, sur la résolution du problème (ou d'une relaxation) par un solveur. Etude de la résolution approchée d'un cas réel, sous la forme d'un TP noté.
Il est à noter que le plan de cette UE a notamment vocation à refléter la démarche de résolution de problèmes d'optimisation dans les réseaux suivie dans l'UE. On commencera par identifier le problème à traiter comme simple ou difficile (du point de vue de la complexité). Si ce problème est difficile, on cherchera alors dans un premier temps à le formuler comme un programme mathématique, ou à utiliser la programmation dynamique pour le résoudre. Si, à l'issue de cette première étape, la formulation du problème utilisée ne permet pas d'obtenir de façon suffisamment efficace une solution optimale à l'aide d'un solveur, ou bien si le problème ne peut pas être résolu efficacement par la programmation dynamique, on s'intéressera dans un second temps à l'obtention d'une solution approchée. En particulier, on cherchera à répondre à la question suivante : comment obtenir rapidement une bonne solution approchée, et ensuite évaluer la qualité de cette solution ?
2) Modélisation de problèmes d'optimisation par la programmation linéaire (PL) : choix des variables, détermination de leurs domaines, écriture de la fonction objectif et des contraintes. Formulation par la PL de problèmes d'acheminement de flux de données (problèmes de flots maximums ou à coût minimum). Méthode de résolution graphique pour la PL.
3) Mise en oeuvre informatique utilisant un solveur (logiciel de résolution) de PL libre d'accès (a priori, GLPK), par le biais d'un modeleur (GMPL) ou du format de fichier LP.
4) Problèmes difficiles en optimisation dans les réseaux : retour sur les arbres de connexion dans le cas général, et leurs liens avec les arbres de Steiner. Notions de complexité des algorithmes et des problèmes, et catégorisation des problèmes simples et difficiles (P versus NP).
5) Modélisation et résolution de problèmes difficiles (essentiellement combinatoires) d'optimisation dans les réseaux à l'aide de la programmation linéaire en nombres entiers (PLNE) : particularités des modèles en variables binaires ou entières, et formulations pour des problèmes classiques (comme les arbres de connexion dans le cas général, l'allocation de fréquences, le routage multicast, etc.). Linéarisation de problèmes d'optimisation non linéaires (contenant, par exemple, des produits de variables) de façon à pouvoir les résoudre via des solveurs de PLNE. Introduction aux techniques de résolution de PLNE, et aux inégalités valides. Mise en oeuvre informatique pendant une ou deux séances, puis étude d'un cas réel, sous la forme d'un TP noté.
6) Résolution de certains problèmes difficiles par des méthodes basées sur la programmation dynamique, lorsque cela est possible : principe d'optimalité de Bellman, et exemples d'algorithmes de programmation dynamique pour des problèmes classiques en optimisation dans les réseaux.
7) Résolution approchée de problèmes d'optimisation difficiles par des méthodes générales (recuit simulé, méthode tabou, algorithmes génétiques, etc.) ou par des méthodes spécifiques (heuristiques ad-hoc, gloutonnes, par recherche locale, etc.). Validation des résultats obtenus par ces heuristiques à l'aide de bornes basées, par exemple, sur la résolution du problème (ou d'une relaxation) par un solveur. Etude de la résolution approchée d'un cas réel, sous la forme d'un TP noté.
Il est à noter que le plan de cette UE a notamment vocation à refléter la démarche de résolution de problèmes d'optimisation dans les réseaux suivie dans l'UE. On commencera par identifier le problème à traiter comme simple ou difficile (du point de vue de la complexité). Si ce problème est difficile, on cherchera alors dans un premier temps à le formuler comme un programme mathématique, ou à utiliser la programmation dynamique pour le résoudre. Si, à l'issue de cette première étape, la formulation du problème utilisée ne permet pas d'obtenir de façon suffisamment efficace une solution optimale à l'aide d'un solveur, ou bien si le problème ne peut pas être résolu efficacement par la programmation dynamique, on s'intéressera dans un second temps à l'obtention d'une solution approchée. En particulier, on cherchera à répondre à la question suivante : comment obtenir rapidement une bonne solution approchée, et ensuite évaluer la qualité de cette solution ?
Examen noté (sur 16 points).
Un ou deux TP noté(s) (sur 4 points en tout).
Un ou deux TP noté(s) (sur 4 points en tout).
- Alain Billionnet : Optimisation discrète (Dunod)
- Philippe Lacomme, Christian Prins, Marc Sevaux : Algorithmes de graphes (Eyrolles)
- Johann Dréo, Alain Pétrowski, Patrick Siarry, Eric Taillard : Métaheuristiques pour l'optimisation difficile (Eyrolles)
- Malek Rahoual et Patrick Siarry : Réseaux informatiques : conception et optimisation
Cette UE apparaît dans les diplômes et certificats suivants
Rechercher une formation
RECHERCHE MULTI-CRITERES
Plus de critères de recherche sont proposés:
-
Vous pouvez sélectionner des formations grâce à un mot ou à une expression (chaîne de caractères) présent dans l’intitulé de la formation, sa description ou ses index (discipline ou métier).
Des mots-clés sont suggérés à partir du 3e caractère saisi, mais vous pouvez aussi rechercher librement. - Les différents items sélectionnés sont croisés.
ex: "Comptabilité" et "Diplôme" - Les résultats comprennent des formations de la région (UE, diplômes, certificats, stages) et des formations proposées à distance par d'autres centres du Cnam.
- Les codes des formations à Paris se terminent par le suffixe PAR01 (pour le centre Cnam Paris) et PAR02 (pour Cnam Entreprises).
- Certains diplômes se déclinent selon plusieurs parcours. Pour afficher tous les parcours, tapez la racine du code (ex : « LG035 »).
- Dans tous les cas, veillez à ne pas insérer d'espace ni de ponctuation supplémentaire.
Plus de critères de recherche sont proposés:
- Type de diplôme
- Niveau d'entrée
- Modalité de l'enseignement
- Programmation semestrielle
Chargement du résultat...
Contact
EPN05 - Informatique
2 rue Conté
75003 Paris
Tel :01 40 27 22 58
Swathi RANGANADIN RAJASELVAM
2 rue Conté
75003 Paris
Tel :01 40 27 22 58
Swathi RANGANADIN RAJASELVAM
Voir le site
Centre(s) d'enseignement proposant cette formation
-
Centre Cnam Paris
- 2024-2025 2nd semestre : Formation hybride soir ou samedi
- 2025-2026 2nd semestre : Formation hybride soir ou samedi
- 2026-2027 2nd semestre : Formation hybride soir ou samedi
Comment est organisée cette formation ?2024-2025 2nd semestre : Formation Hybride soir ou samedi
Dates importantes
- Période des séances du 03/02/2025 au 07/06/2025
- Période d'inscription : du 10/06/2024 à 10:00 au 14/03/2025 à 23:59
- Date de 1ère session d'examen : la date sera publiée sur le site du centre ou l'ENF
- Date de 2ème session d'examen : la date sera publiée sur le site du centre ou l'ENF
Précision sur la modalité pédagogique
- Une formation hybride est une formation qui combine des enseignements en présentiel selon un planning défini et des enseignements à distance avec ou sans planning défini.
Code UE : RCP104-PAR
- Cours + travaux pratiques
- 6 crédits
- Volume horaire de référence
(+ ou - 10%) : 50 heures
Responsable(s)
Cedric BENTZ