Génie industriel - Rubrique Formation - 2022

UE Recherche opérationnelle pour la logistique - 4GUL0209

  • 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.

Responsable(s)

Bernard PENZ

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).

Prérequis

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)

Contrôle des connaissances

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

Calendrier

Le cours est programmé dans ces filières :

  • Cursus ingénieur - Ingénieur ICL - Semestre 7
cf. l'emploi du temps 2023/2024

Informations complémentaires

Code de l'enseignement : 4GUL0209
Langue(s) d'enseignement : FR

Vous pouvez retrouver ce cours dans la liste de tous les cours.

Bibliographie

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.