Volumes horaires
- CM 6.0
- Projet -
- TD 34.5
- Stage -
- TP 18.0
- DS 3.0
Crédits ECTS
Crédits ECTS 6.0
Objectif(s)
Acquérir des compétences en programmation linéaire en nombres entiers, en programmation dynamique et en théorie des graphes pour modéliser et résoudre des problèmes complexes de logistique.
Trois attendus :
1- Connaître les outils : Connaître les objets manipulés (maîtriser la terminologie de la programmation linéaire, de la programmation dynamique et des graphes, savoir utiliser le bon vocabulaire dans la description d’un problème et sa résolution);
2- Savoir appliquer les outils : Connaître et savoir dérouler des raisonnements simples (fournir des preuves en programmation linéaire et graphes, savoir proposer des formules de récurrence pour la programmation dynamique), et connaître et savoir dérouler les algorithmes de base sur les graphes (les algorithmes de base de la programmation linéaire sont sensés être maîtrisés, voir Prérequis);
3- Identifier les bons outils pour résoudre des problèmes concrets : Savoir modéliser des problèmes concrets à l’aide des outils vus en cours, et en déduire le ou les algorithmes pertinents pour résoudre le problème.
Contenu(s)
Le cours suit un principe de pédagogie inversée. Il nécessite donc beaucoup d’autonomie et une bonne organisation personnelle. Un travail collectif au sein d'une petite équipe (3 à 5 étudiant.e.s) permet les échanges et le partage de connaissance, il permet une meilleure progression et un apprentissage plus solide.
Le cours s'organise autour de :
• Séquences d’apprentissage (validation des attendus 1 et 2) :
• Une lecture à faire en autonomie (CM pour la PLNE);
• Des exercices d'application et de modélisation à préparer et des activités sur Caseine à réaliser avant le TD;
• Un point avec l’enseignant de TD qui répondra aux questions et éclaircira les points qui ont posé des difficultés;
• Une évaluation à réaliser pour valider la séquence.
• Études de cas (par groupe de 3 à 4 étudiante.e.s) (validation des attendus 1, 2 et 3) :
• Modéliser le problème posé;
• Résoudre le problème avec les outils fournis (Python, solveur PL);
• Rédiger une synthèse;
• Exposer ses résultats à l’oral.
• Examen final (validation des attendus 1, 2 et 3) :
Contenu
Contenu des huit séquences d'apprentissages :
• Séq. 1: Théorie des graphes : concepts de base;
• Séq. 2a: Chaine, cycle, chemin, circuit;
• Séq. 2b: Arbres couvrant de poids minimum;
• Séq. 3: Plus court chemin;
• Séq. 4: Programmation dynamique;
• Séq. 5: Flot maximum et flot à coût minimum;
• Séq. 6: Programmation linéaire en nombres entiers;
• Séq. 7: Modélisation de problèmes concrets.
Contenu des études de cas :
• Étude de cas 1: Programmation Dynamique – modéliser et résoudre un problème (langage de programmation Python);
• Étude de cas 2: Programmation Linéaire en Nombres Entiers – modéliser et résoudre un problème (OPL - Cplex).
Le cours nécessite des connaissances en :
• Programmation linéaire : modélisation en Programmation Linéaire, algorithme du simplexe, dualité, interprétation économique (voir descriptif de l'UE Mathématiques et informatique décisionnelles - 3GUC0905)
• algorithmique et programmation : notions de bases en algorithmique et maitrise d’un langage de programmation de haut niveau (Python par exemple) (voir descriptif de l'UE Modélisation mathématique et informatique - 3GUC0205 et de l'UE Mathématiques et informatique décisionnelles - 3GUC0905)
Session 1
L'évaluation des activités ci-après conduit à la determination de la note finale à l'UE :
• Activité de fin de séquence sous Caseine (8 activités);
• Études de cas (2 études de cas);
• Examen terminal (examen écrit de 3h avec un recto-verso de notes personnelles et calculatrice autorisés).
Le cours est validé lorsque le vecteur de notes produit une note supérieure à 10/20.
Voir les détails dans la rubrique calcul de la note.
Session de rattrapage
L'évaluation se fait uniquement sur un examen écrit(examen écrit de 2h avec un recto-verso de notes personnelles et calculatrice autorisés).
Le jury peut décider le passage en année supérieure sous réserve de validation différée de cette UE. Cette décision reste exceptionnelle ; le jury est souverain pour chaque étudiant.
Le calcul de la note finale est compatible avec une organisation des enseignements et des examens en distanciel.
Chaque activité est notée :
• Activité de fin de séquence sous Caseine (A, B ou F);
• Études de cas (A, B, C ou F);
• Examen terminal (A, B, C, D ou E).
Le cours est validé lorsque le vecteur de notes produit une note supérieure à 10/20.
Le calcul de la note finale à l'UE se fait en fonction du vecteur de notes suivant :
(EF:examen final | 2 études de cas | 8 évaluations de fin de séquences de formation);
Par exemple le vecteur (B | AB | AAAAAABB) signifie que l’étudiant.e a obtenu :
• B à l’examen;
• A et B aux études de cas;
• A à 6 des évaluations de fin de séquences et B à 2 de ces évaluations.
Voici les vecteurs minimaux qu’il faut obtenir pour avoir les notes suivantes :
– 20/20 :
• (A | AB | AAAAAABB)
• (B | AA | AAAAAAAB)
– 16/20 :
• (B | BC | AAAAABBB)
• (C | AB | AAAAAABB)
– 12/20 :
• (C | BC | AAAAABBB)
• (D | BB | AAAAAABB)
• (B | CC | AAAAAAAB)
– 08/20 : Tout vecteur inférieur sans F;
– 06/20 : Tout vecteur avec un F;
– 04/20 : Tout vecteur avec deux F;
– 00/20 : Tout vecteur avec trois F ou plus;
Quelques exemples :
• (B | AA | AAAAAAAB) donne 20/20
• (A | BB | AAAAAABB) donne 16/20
• (A | AC | AAAAAAAA) donne 16/20
• (D | AB | AAAAAAAB) donne 12/20
• (B | CC | AAAAAAAA) donne 12/20
• (A | AA | AAAABBBB) donne 08/20
• (B | CC | AAAAAABB) donne 08/20
• (E | AA | AAAAAAAA) donne 08/20
• (A | AA | AAAAAAAF) donne 06/20
• (A | AF | AAAAAAAA) donne 06/20
• (A | AF | AAAAAAAF) donne 04/20
• (A | AA | AAAAAFFF) donne 00/20
Le cours est programmé dans ces filières :
- Cursus ingénieur - Ingénieur ICL - Semestre 7
Code de l'enseignement : 4GUL0209
Langue(s) d'enseignement :
Vous pouvez retrouver ce cours dans la liste de tous les cours.
C. Guéret, C. Prins, M. Sevaux, Programmation lineaire: 65 problèmes modélisés et résolus avec l'outil Visual Xpress, Eyrolles, 2000.
V. Giard, Gestion de la production et des flux, Economica, 2003.
H. Stadtler, C. Kilger, Supply Chain Management and Advanced Planning, Springer, 2002.
Y. Pochet, L.A. Wolsey, Production Planning by Mixed Integer Programming, Springer, 2006.
M. Minoux, M. Gondran, Graphes et Algorithmes, Lavoisier, 2009.
Programme pédagogique 2024-2025
Tronc commun 1ère année
Présentation
Semestre 5 | Semestre 6
Filière ICL
Présentation
Semestre 7 | Semestre 8 | Semestre 9 | Semestre 10
Filière IDP
Présentation
Semestre 7 | Semestre 8 | Semestre 9 | Semestre 10
Parcours ingénieur statut apprenti
Filière IPID
Présentation
Semestre 5 | Semestre 6 | Semestre 7 | Semestre 8 | Semestre 9 | Semestre 10
Contacts
- Directeur des études
Pierre Lemaire - Responsable 1ère année
Abdourahim Sylla - Responsable filière ICL
Irène Gannaz - Responsable filière IDP
Guillaume Thomann - Responsables filière IPID
Olivier Boissin
Nicolas Catusse
Equipe administrative
- Responsable scolarité
Laure Jouffray - Gestionnaire 1ère année
Valérie Demicheli - Gestionnaire 2ème année
Sylvie Malandrino - Gestionnaire 3ème année et parcours spéciaux
Léa Decombe - Gestionnaire Apprentis
Carina Cataldi