170
Recherche Opérationnelle pour le Génie Industriel Master Génie Industriel Emmanuel Caillaud 2014-2015

Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Embed Size (px)

Citation preview

Page 1: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Recherche Opérationnelle pour le Génie Industriel

Master Génie Industriel

Emmanuel Caillaud 2014-2015

Page 2: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Plan du Cours

•  Introduction à la recherche opérationnelle •  Programmation linéaire •  Théorie des graphes

•  Nous ne verrons pas : •  Simulation •  Phénomènes aléatoires

•  files d'attente •  Fiabilité •  Simulation

Page 3: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Bibliographie

•  V. Cohen, "La Recherche Opérationnelle", Que sais-je ?, PUF, 1995.

•  R. Faure, B. Lemaire, C. Picouleau, "Précis de Recherche Opérationnelle", Dunod, 2000.

•  Roseaux, "Exercice et problèmes résolus de Recherche Opérationnelle", Dunod, 2000.

•  I. Rasovka, « Recherche Opérationnelle », support de cours, 2014

•  J. Lamothe et L. Dupont « Recherche opérationelle », supports de cours, 2014

Page 4: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Objectifs du cours •  Principaux objectifs du cours :

•  connaître l'existence de quelques uns des modèles de référence (les plus importants),

•  comprendre les modèles en connaissant leurs caractéristiques et leurs limites,

•  savoir appliquer ces modèles à des problèmes classiques.

•  Remarque : •  La mise en œuvre des modèles "à la main" n'est pas un

objectif du cours mais un moyen de compréhension des modèles et de leur application sur des exemples numériques.

Page 5: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Introduction à la Recherche Opérationnelle

Page 6: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

RO ? •  Recherche opérationnelle :

•  ensemble d'outils et de méthodes pour formaliser et résoudre des problèmes classiques.

•  Outils et méthodes : •  théorie des graphes •  optimisation par programmation linéaire •  Heuristique et métaheuristiques •  modélisation des phénomènes aléatoires

Page 7: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Domaines d'application •  Aide à la décision •  Ordonnancement de projet, de job-shop •  Maintenance •  Problèmes de transport •  …

Page 8: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemples de problèmes •  Où installer 4 usines de production parmi 20 sites

d'implantation possibles ? •  Combien faut-il de personnes au service commercial

pour qu'une personne ait moins de 5 % de chances de devoir attendre plus de 15 minutes ?

•  Quel est l’emploi du temps « optimal » pour les étudiants de Master ?

Page 9: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Historique •  Terme de "Operational Research" par R. Watson-

Watt (1892-1972), spécialiste de radar. •  Pb. : efficacité globale du système de surveillance

Radar et d'intervention aérienne (1937, Blackett, Grande-Bretagne). •  Où positionner les radars ? •  Comment transmettre les informations ? •  Comment être sûr du matériel ? •  Comment assurer les différentes tâches ?

Page 10: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Historique (2) •  Équipes militaires de recherche opérationnelle ont

été créées dans les différents pays. •  Après 1945 : application au secteur civil (économie,

administration, production,…). •  Exemples en sidérurgie :

•  Succession des qualités d'acier au laminage à froid de manière à favoriser l'expédition directe tout en minimisant les coûts liés aux contraintes techniques

•  Simulation du cadencement d'un train de laminage

Page 11: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Historique (3) •  Années 50

•  Développement rapide malgré les difficultés informatiques. Enseignement de la RO, création de sociétés savantes ORSA, AFCET, EJOR.

•  Apparition d'outils de la RO : •  PROGRAMMATION DYNAMIQUE (BELLMAN 1954) •  FLOTS ET AFFECTATIONS (KüHN 1955, FORD/

FULKERSON 1956) •  MÉTHODE SIMPLEXE (DANTZIG à partir de 1947) •  "BRANCH AND BOUND" ou PSE (LITTLE 1963) •  METHODES A CHEMINS CRITIQUES (PERT 1958, ROY

1960)

Page 12: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Historique (4) •  70-80 : stagnation de la RO

•  Depuis 80 : "reprise" •  travaux de groupe (gestion de projet) •  apparition de nouveaux outils •  prise en compte d'objectifs multiples •  intégration des facteurs humains •  temps réel •  aide à la décision

Page 13: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Caractéristiques de la RO •  Objectif :

•  fournir des éléments de réflexion pour une prise de décision concernant un problème concret.

•  Étapes d'une démarche de RO : •  identification du problème •  modélisation du problème (c'est le plus difficile !) •  résolution par des méthodes "classiques" •  validation des résultats et interprétation

Page 14: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Modélisation •  Délicate car lien entre un problème concret et sa

mise en forme abstraite de manière à permettre sa résolution en veillant à : •  être fidèle à la réalité •  permettre une résolution efficace •  présenter les solutions applicables au problème concret

Page 15: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Modélisation (2) •  La forme de modélisation la plus fréquente :

modélisation mathématique •  par des équations et des inéquations liant entre eux les

paramètres connus et inconnus de manière à constituer d'une part des contraintes à respecter et d'autres part des mesures de satisfaction à optimiser (maximiser ou minimiser) appelés objectifs ou fonctions objectif ou critères.

•  Autres formes de modélisation : •  les graphes, les réseaux de Petri, le grafcet, les réseaux de

file d'attente…

Page 16: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Fonctions d'un modèle •  Expliquer

•  Mettre en évidence les causes

•  Prévoir •  Passé (extrapoler les résultats d'un échantillon) •  Futur proche (extrapolation ou simulation) •  Moyen terme (tendances,intervalles de confiance)

•  Agir •  Variables d'entrée •  Paramètres du modèle

Page 17: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Hypothèses du modèle •  Indépendance statistique

•  Si indépendant : produit des statiques •  Sinon fonction de leur dépendance jusqu'à la plus petite

valeur des 2 (> au produit) •  Attention à ne pas minorer les risques !

•  Stationnarité (indépendance du temps) •  Linéarité (proportions) ou convexité

Page 18: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Types de modèles •  Graphes •  Matrices •  Suites •  Dérivées de fonctions •  Séries et calcul intégral •  Variable aléatoire •  Chaîne de Markov

Page 19: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Méthodes de résolution •  Méthodes analytiques classiques •  Algorithmes recherchant des solutions numériques

par des procédures déterministes •  Expériences numériques : simulation ou algorithmes

probabilistes (Monte Carlo, Tabou, recuit simulé)

Page 20: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithmes •  Succession de pas (dont certains sont réalisés en

boucles) jusqu'à ce qu'un critère d'arrêt soit satisfait. •  Algorithmes déterministes

•  Analyse numérique : systèmes linéaires, extrema de fonctions

•  Optimisation combinatoire : plus courts chemins, flot maximum

Page 21: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Programmation linéaire

Page 22: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Historique •  La programmation linéaire fut développée au cours

de la Seconde Guerre mondiale. •  L’objectif était d’allouer plus intelligemment les

ressources de l’armée. •  Le terme « programmation » est employé avec le

sens de « plan ». •  La terminologie est due à G.B. DANTZIG, inventeur

de l’algorithme du Simplexe en 1947

Page 23: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Domaines d’application •  La PL peut résoudre un grand nombre de

problèmes : •  modèle de transport, •  allocation de ressources, •  tarifications, …

Page 24: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Modèle PL •  Variable de décisions

•  Des variables mathématiques représentant des décisions

•  Fonction Objectif (fonction à optimiser) •  Une équation linéaire qui quantifie un objectif •  L’objectif le plus fréquent des entreprises est de maximiser

les profits. •  Pour un département, on essaie souvent de minimiser les

coûts.

•  Contraintes •  Des équations ou inéquations linéaires qui restreignent les

variables de décisions.

Page 25: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Formulation générale Max/min z = c1x1 + c2x2 + ... + cnxn Avec :

a11x1 + a12x2 + ... + a1nxn (≤, =, ≥) b1 a21x1 + a22x2 + ... + a2nxn (≤, =, ≥) b2 : am1x1 + am2x2 + ... + amnxn (≤, =, ≥) bm

xj = variables de décision bi = valeur de la contrainte à satisfaire cj = coefficients de la fonction objectif aij = coefficients des contraintes

Page 26: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Hypothèses •  La linéarité des contraintes •  Linéarité de la fonction objectif. •  L’additivité des effets. •  La proportionnalité des gains/coûts •  Proportionnalité de la consommation des ressources. •  La divisibilité des variables. •  La détermination des données.

•  Ces hypothèses devront être validées pour chaque cas d’application ! Cette analyse peut mener à choisir un modèle différent (non linéaire, stochastique, ..).

Page 27: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Un exemple •  Une usine réalise deux produits : •  A nécessite 2 kg de matière première et 4 heures de

fabrication et donne un bénéfice de 30 €. •  B nécessite 4 kg de matière première et 2 heures de

fabrication et donne un bénéfice de 10 € . •  On dispose de 100 kg de matière première et de

280 h de travail (2 opérateurs x 35h x 4 semaines). •  Quelle production de A et de B doit on réaliser pour

obtenir un bénéfice maximal ?

Page 28: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Un exemple •  Variable de décision:

•  X1 = Production de produit A (X1 ≥ 0) •  X2 = Production de produit B (X2 ≥ 0)

•  Fonction objectif:

•  Z = 30 X1 + 10 X2

•  Contraintes

•  Produit A utilise 2 kg de matière et 4h de production.

•  Produit B utilise 4 kg de matière et 2 heures de production.

•  La matière première est limitée à 100 kg.

•  2 X1 + 4 X2 ≤ 100

•  Le temps de production est limité à 280 h.

•  4 X1 + 2 X2 ≤ 280

Page 29: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Résolution graphique (1) •  Déterminer les variables du problème : formuler le

problème en termes de fonction objectif et de contraintes linéaires.

•  Faire un graphique avec une variable de décision sur chaque axe et tracer les droites des contraintes : ces contraintes déterminent la région de solutions admissibles (chacune des contraintes est satisfaite : toutes les solutions sont possibles).

Page 30: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Résolution graphique (2) •  Déterminer la pente de la fonction objectif et

l’indiquer dans la zone de faisabilité. •  Déplacer la fonction objectif parallèlement à elle-

même jusqu'à ce qu’elle rencontre une limite de la zone de faisabilité.

•  Lire directement les valeurs des variables qui constituent la solution du problème sur les axes respectifs.

•  La solution optimale sera toujours située à l’intersection de deux droites de contraintes dans la région de faisabilité.

Page 31: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

X2

X1

Résolution graphique

X1 ≥ 0 et X2 ≥ 0

25

50

100

125

75

150

25 50 75 100 125 150 175 200 225

Page 32: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

X2

X1

Résolution graphique

25

50

100

125

75

150

25 50 75 100 125 150 175 200 225

4 X1 + 2 X2 ≤ 280

Page 33: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

X2

X1

Résolution graphique

X1 ≥ 0 et X2 ≥ 0

25

50

100

125

75

150

25 50 75 100 125 150 175 200 225

2 X1 + 4 X2 ≤ 100

Page 34: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

X2

X1

Résolution graphique

X1 ≥ 0 et X2 ≥ 0

25

50

100

125

75

150

25 50 75 100 125 150 175 200 225

Page 35: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

X2

X1

Résolution graphique

X1 = 50 et X2 = 0

25

50

100

125

75

150

25 50 75 100 125 150 175 200 225

Page 36: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

La solution optimale Produit A = 50unités Produit B = 0 unités Profit = 1500 €

Page 37: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Coût marginal

Page 38: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Rôle des points extrêmes… Si un programme linéaire a une solution optimale, alors au moins un point extrême est optimal.

Page 39: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Plusieurs solutions optimales

•  Si plusieurs solutions optimales existent alors la fonction objectif doit être parallèle à au moins une des contraintes.

Page 40: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Méthode du simplexe •  Quand le nombre de variables est égal à 2, la

résolution graphique est facile •  Quand le nombre de variables est égal à 3, il faut

faire une représentation 3D, c’est pas gagné ! •  Quand le nombre de variables est > 3, il faut faire

autrement ! Utiliser par exemple la méthode du simplexe

Page 41: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Méthode du simplexe •  Méthode du simplexe

•  méthode itérative qui consiste à partir d'une solution de base (réalisable mais pas optimale), à l'améliorer à chaque itération afin d'obtenir la solution optimale.

•  basée sur la construction de tableaux dont les valeurs seront calculées manuellement

•  Lorsque le nombre de variables devient trop important, il est préférable d'utiliser un logiciel qui effectue les différentes itérations et détermine la solution optimale.

Page 42: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

L’algorithme du simplexe (Dantzig, 1947)

•  Développé juste après la Seconde Guerre mondiale •  Utilisé pour planifier le pont aérien de Berlin en

1948. •  Principes de l’algorithme :

•  Démarrer d’un point extrême •  Se déplacer (pivot) vers un point extrême voisin améliorant la

solution •  Répéter jusqu’à l’obtention de la solution optimale

Page 43: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme du simplexe •  Modéliser le problème sous la forme d’une fonction

objectif et de contraintes (programme canonique) •  Transformer le programme canonique en

programme standard en introduisant des variables d’écart et artificielles pour transformer les inéquations en équations

Page 44: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Tableau 1

Page 45: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Test d’optimalité •  La solution courante est optimale si tous les coûts Ci

sont non négatifs. •  Dans le cas contraire (si au moins un coût est

négatif), passer à l’étape suivante.

•  Détermination de la colonne-pivot et de la ligne-pivot :

•  Colonne-pivot : correspond à la colonne contenant le plus petit coût négatif.

•  Ligne-pivot : correspond à la ligne qui contient le plus petit qi non négatif.

Page 46: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Nouveau tableau •  Le nouveau tableau s’obtient comme suit : •  Ligne-pivot : diviser tous les éléments de la ligne-

pivot par l’élément pivot ars. •  Colonne-pivot : remplacer l’élément pivot par 1 et

les autres éléments de la colonne-pivot par 0. •  Pour toutes les autres lignes et colonnes :

•  u : élément quelconque sur la ligne-pivot •  w : élément quelconque sur la colonne-pivot •  ars : élément-pivot

Page 47: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Itération •  On vérifie à nouveau si on est à l’optimum sinon

nouveau tableau.

Page 48: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple

0,075

4000104060002030200400max

≥≥

≤+

≤+

+=

yxx

yxyx

yxz

Page 49: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Forme canonique

Forme canonique : transformation des inéquations en équations par ajout de variables d ’écart

0,0,0,0,075

4000104060002030200400max

321

3

2

1

≥≥≥≥≥

=+

=++

=++

+=

eeeyxex

eyxeyx

yxz

e1 : heures inoccupées sur la machine 1 e2 : heures inoccupées sur la machine 2 e3 : produits p1 qu ’on aurait pu vendre mais qu ’on a pas fabriqués

Page 50: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Résolution graphique

Page 51: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont
Page 52: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont
Page 53: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont
Page 54: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

x y e1 e2 e330 20 1 0 0 600040 10 0 1 0 40001 0 0 0 1 75

400 200 0 0 0 0

Matrice initiale : solution point 0

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 1

Page 55: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

x y e1 e2 e330 20 1 0 0 6000 x ≤ 6000/30 = 20040 10 0 1 0 40001 0 0 0 1 75

400 200 0 0 0 0

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 1

Page 56: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

x y e1 e2 e330 20 1 0 0 6000 20040 10 0 1 0 4000 x ≤ 4000/40 = 1001 0 0 0 1 75

400 200 0 0 0 0

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 1

Page 57: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

x y e1 e2 e330 20 1 0 0 6000 20040 10 0 1 0 4000 1001 0 0 0 1 75 x ≤ 75/1 = 75

400 200 0 0 0 0

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 1

Page 58: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

x y e1 e2 e330 20 1 0 0 600040 10 0 1 0 40001 0 0 0 1 75400 200 0 0 0 0

x y e1 e2 e30 20 1 0 -30 37500 10 0 1 -40 10001 0 0 0 1 750 200 0 0 -400 -30000

Solution : point D x = 75 e1 = 3750 e2 = 1050 y = 0 e3 = 0

Itération 1

Page 59: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 2 x y e1 e2 e30 20 1 0 -30 3750 y ≤ 3750/200 10 0 1 -40 10001 0 0 0 1 750 200 0 0 -400 -30000

Page 60: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 2 x y e1 e2 e30 20 1 0 -30 37500 10 0 1 -40 1000 y ≤ 1000/101 0 0 0 1 750 200 0 0 -400 -30000

Page 61: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 2: 40x+10y=4000

Machine 1 : 30x+20y=6000

A

B

D O

Dl

Vente maximale: x =75

C

75

Itération 2 x y e1 e2 e30 20 1 0 -30 3750 375/20 10 0 1 -40 1000 1001 0 0 0 1 75 0y ≤ 750 200 0 0 -400 -30000

Page 62: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

x y e1 e2 e30 20 1 0 -30 3750 187,50 10 0 1 -40 1000 1001 0 0 0 1 75 + ∞0 200 0 0 -400 -30000

Solution : point C x = 75 y = 100 e1 = 1750 e2 = 0 e3 = 0

Itération 2

x y e1 e2 e30 0 1 -2 50 17500 1 0 1/10 -4 1001 0 0 0 1 750 0 0 -20 400 -50000

Page 63: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

O 0

50

100

150

200

250

300

350

400

y

0 50 100 150 200 x

Machine 1 : 30x+20y=6000

A

B

D

Dl

Vente maximale: x =75

C

75

Itération 3 x y e1 e2 e30 0 1 -2 50 1750 50 e3 ≤ 1750 (e3≤ 35)0 1 0 1/10 -4 100 -4 e3 ≤ 1001 0 0 0 1 75 e3 ≤ 750 0 0 -20 400 -50000

Page 64: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Solution : point B x = 35 y = 240 e3 = 35 e1 = 0 e2 = 0

Itération 3 x y e1 e2 e30 0 1 -2 50 1750 350 1 0 1/10 -4 100 + ∞1 0 0 0 1 75 750 0 0 -20 400 -50000

x y e1 e2 e30 0 2/100 -4/100 1 350 1 8/100 -6/100 0 2401 0 -2/100 4/100 0 400 0 -8 -4 0 -64000

Page 65: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

r

2 4 5 7 1 0 0 42

1 1 2 2 0 1 0 17

1 2 3 3 0 0 1 24

7 9 18 17 0 0 0 0

1. Choix de la colonne entrante r si tous les Cj ≤ 0 alors FIN optimum atteint sinon choisir une colonne r avec Cr>0 (ici : Cr = max Cj ) 2. Si tous les Air ≤ 0 alors FIN : solution non bornée Xr = + ∞

Page 66: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

s

3. Sinon déterminer la ligne sortante s telle que Asr > 0 et Bs / Asr soit minimum ( Asr est

appelé le pivot )

42/5

17/2

24/3

r

2 4 5 7 1 0 0 42

1 1 2 2 0 1 0 17

1 2 3 3 0 0 1 24

7 9 18 17 0 0 0 0

Page 67: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

r

s

4. Diviser la ligne s par le pivot 5. Eliminer des termes de la colonne r en dehors de la ligne s par combinaison linéaire

valeur de -z dans la solution faisable 5. Réitérer

1/3 2/3 0 2 1 0 -5/3 2

1/3 -1/3 0 0 0 1 -2/3 1

1/3 2/3 1 1 0 0 1/3 8

1 -3 0 -1 0 0 -6 -144

Page 68: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple

Page 69: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Construction du 1er tableau •  n variables = 6 •  m équations = 4 •  n-m = 2 variables qui doivent être nulles •  On prend x1=0 et x2=0 (hors base) •  D’où e1= 200; e2 = 60 ; e3 = 34 ; e4 = 14 (variables

de base)

Page 70: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Tableau initial •  Les 4 lignes correspondent aux 4 contraintes. •  La colonne coef Z à gauche correpond aux coefficients des

variables de base dans la fonction objectif. •  La valeur en bas à droite corespond à la valeur de Z (somme

des produits des valeurs de base par leurs coef dans Z)

Page 71: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Choix de la variable entrante •  On cherche le Maximum des Cj-zj si on veut

maximiser •  On cherche le minimum des Cj-zj si on veut

minimiser

•  Dans notre problème, on veut maximiser. •  On fait donc entrer x2 dans la base

Page 72: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Choix de la variable sortante •  On calcule bi/aik et on cherche le minimum >0 •  200/5 = 40 •  60/3 = 20 •  34/0 infini ça fait beaucoup qd on cherche le mini •  14/1 = 14 •  E4 va sortir de la base (e4 va devenir =0)

Page 73: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Pivotage •  La cellule à l’intersection entre la variable entrante

et la variable sortante est le pivot.

Page 74: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  On divise la ligne du pivot par le chiffre du pivot. •  Pour l’exemple on divise par 1. •  Dans la colonne pivot, toutes les valeurs sont à 0

sauf le pivot. •  Pour les autres

Page 75: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Nouveau tableau

•  On calcule, les bj, les zj, et Z.

Page 76: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Résolution par le simplex •  Les inégalités représentent des plans (en 2D) ou

des hyperplans. •  Un ensemble d’inégalités permet de construire un

espace réalisable borné que l’on appelle un polygone convexe (2D) ou polyèdre convexe

•  Un rappel sur la convexité : •  Soit a et b deux solutions réalisables d’un polyèdre convexe,

alors (a+b)/2 est aussi une solution de ce polyèdre

Page 77: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Bonne nouvelle ! •  La propriété des points extrêmes nous dit que si un polyèdre

(P) contient une solution optimale, alors il existe une solution optimale qui est située sur un point extrême.

•  La bonne nouvelle : on ne peut que considérer les points extrêmes :-)

•  La mauvaise nouvelle : Le nombre de points extrêmes peut-être exponentiellement élevé par rapport au nombre de variables de décision.

•  Le prix de consolation : la convexité garantit que les optimums locaux sont des optimaux globaux. •  C'est-à-dire qu’un point extrême est optimal si tous ses voisins sont pires

que lui. •  Mais attention aux plateaux…

Page 78: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Dualité •  A tout problème de maximisation (ou minimisation),

on peut associer un problème de minimisation (ou maximisation) correspondant. En notant par PRIMAL le problème initial ; le problème correspondant s'appellera donc DUAL.

Page 79: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Primal / Dual

Primal : trouver X={X1, X2..Xn} Max C.X

A .X <= B Dual : Trouver Y={Y1, Y2..Ym} Min Y.B

Y.At >=C

PRIMAL DUAL

n variables , m contraintes m variables , n contraintes

Max C.X min Y.B

A X ≤ B Y ≥ 0

X ≥ 0 Y At ≥ c

Forme canonique de la dualité

Page 80: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Passage primal/dual

Primal (Dual) Dual (Primal)

Fonction à maximiser Fonction à minimiser

ième contrainte ≤ ième variable ≥ 0

ième contrainte ≥ ième variable ≤ 0

ième contrainte = ième variable <> 0

jème variable ≥ 0 jème contrainte ≥

jème variable ≤ 0 jème contrainte ≤

jème variable <> 0 jème contrainte =

Page 81: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problèmes rencontrés en PL.

•  La programmation linéaire est un outil de modélisation et de résolution très puissant.

•  Par contre, dans certaines situations, on peut rencontrer certaines difficultés… •  Solutions optimales multiples •  Phénomène de dégénérescence et cyclage •  Solution réalisable inexistante •  Solution non bornée

Page 82: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Solutions optimales multiples

Page 83: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Solutions réalisables inexistantes

•  Soit le programme linéaire suivant:

Max x0 = 4x1 + 3x2

Sujet à:3x1 + 4x2 ≤ 12 (2.11)x1 + x2 ≥ 4 (2.19)

4x1 + 2x2 ≤ 8 (2.13)x1 ≥ 0x2 ≥ 0.

Page 84: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Solutions réalisables inexistantes •  Il n’existe pas de point qui

satisfasse toutes les contraintes simultanément.

84

Page 85: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problème de PL non borné •  Soit le programme linéaire suivant:

85

Max z = x1 + x2 (2.21)Sujet à:

−4x1 + x2 ≤ 2 (2.22)x1 + x2 ≥ 3 (2.23)x1 + 2x2 ≥ 4 (2.24)x1 − x2 ≤ 2 (2.25)

x1 ≥ 0x2 ≥ 0.

Page 86: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problème de PL non borné

86

Pas de solution optimale

Page 87: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Autres algorithmes pour résoudre les PLs

•  Il existes d’autres algorithmes pour résoudre des programmes linéaires, en particulier les méthodes de points intérieurs •  En théorie ces méthodes converge dans un temps polynomial

( elles devrait donc bcp plus efficaces que le simplexe )

•  En pratique elles fonctionnent mieux quand l’espace est plus «lisse» alors que le simplexe semble plus efficace quand les arrêtes sont plus prononcées.

Page 88: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

L’analyse de sensibilité •  Est-ce que la solution optimale est sensible aux

paramètres du problème ?

•  Pourquoi se poser cette question ? •  Les paramètres utilisés ne sont que des estimations •  Dans un environnement dynamique, ceux-ci peuvent

changer régulièrement. •  Une analyse de scénarios (what-if) peut permettre de

proposer des changements aux paramètres.

Page 89: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Analyse de sensibilité (objectif) Intervalle d’optimalité •  La solution optimale demeurera inchangée tant

que: •  Un coefficient de la fonction objectif demeure dans son

intervalle d’optimalité; •  Rien d’autre ne change.

•  La valeur de cette solution changera si: •  Le coefficient qui a changé multiplie une variable dont la

valeur optimale est non nulle.

Page 90: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Prolongements de la programmation linéaire •  Programmation en nombres entiers (dont la

programmation dynamique) •  Programmation non-linéaire

Page 91: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Optimisation avec Excel

Page 92: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Logiciels commerciaux •  Il existe de nombreux logiciels commerciaux pour

résoudre des problèmes linéaires ou plus généralement d’optimisation.

•  Cplex, Lingo, … •  Le solveur d’Excel permet de traiter les cas avec

peu de variables et de contraintes…

Page 93: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Optimisation avec Excel (Solver) •  Excel intègre un outil qui permet la résolution de

certains problèmes d’optimisation comme programmation linéaire, problème de transport et autres.

•  Cet outil n’est pas toujours installé dans l’installation standard

•  Menu Outils à macros complémentaires … à cocher Solveur puis OK

•  Aller dans Outils (menu Solveur …).

Page 94: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple •  Ouvrir une feuille de calcul et enregistrer les

contraintes et la fonction objectif •  Aller dans outils / Solveur

Page 95: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple •  Aller dans outils / Solveur •  Entrer la cellule de la fonction objectif •  Entrer les cellules des variables •  Entrer les variables •  Choisir la méthode

Page 96: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Options • On peut alors

choisir des options

Page 97: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Théorie des Graphes

Page 98: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Pourquoi la théorie des graphes ?

•  On aime bien raisonner à partir de dessins •  Graphe = formes de dessins génériques qui représentent

des problèmes génériques

•  Si on sait modéliser un problème sous forme de graphe, •  On saura évaluer à quels types de problèmes génériques il

appartient •  On saura évaluer si il est facilement résolvable •  On saura identifier quels types d ’algorithmes peuvent aider

•  Théorie des graphes = Ensemble des problèmes génériques représentables sous forme de graphe et de leur modes de résolution

Page 99: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple

Page 100: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Qu ’est ce qu ’un graphe •  Graphe G(X,U)

•  X ensemble fini d ’éléments appelés sommets = {Agen, Auch,…}

•  U ensemble de relations entre 2 sommets x et y notée (x,y) =>{Agen-Auch, Agen-Montauban, …} Exemple : représentation du réseau routier en Midi-Pyrénées

Albi

CastresToulouse

MontaubanAgen

Cahors

Tarbes

Auch

Page 101: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Terminologie

•  Arc = arête orientée => graphe orienté •  Arc ou arête valuée => graphe valué •  Boucle = arc (x,x)

<=>55

5

•  Arc et arête Si la relation est réversible ((x,y) ∈ U => (y,x) ∈ U), (x,y) = arête Sinon (x,y) = arc x = origine, y = extrémité

Prédécesseurs U-(x) = ens des sommets origines des arcs d ’extrémité xSuccesseurs U+(x) = ens des sommets extrémité des arcs d ’origine x

Page 102: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple d ’un projet : Construction d ’une maison

A/ Faire les fondations + Sécher 15sB/ Monter les murs 3sC/ Poser le toit 4sD/ Monter la menuiserie 4sE/ poser l ’électricité 2sF/ platrer + séchage platres 5s

a b

c

d

e

f

g

h

i

jk

15

33

3

3

3

4

44

4

2

2

5

1

3

2

G/ Carreler, poser moquettes 3sH/ Tapisser et peindre 2sI/ Crépir 1sJ/ Aménager l ’extérieur 3sK/ Fini

Page 103: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Terminologie (2) •  Chemin = suite ordonnée d ’arc telle que l ’extrémité de l ’un est

l ’origine du suivant. Ex : chemin ABDFK •  Chemin hamiltonien = chemin passant une fois et une seule par

chaque sommet du graphe et contenant tous les sommets •  Chemin simple = ne passe pas 2 fois par le même arc •  Chemin élémentaire = ne passe pas 2 fois par le même sommet •  Circuit = chemin se fermant sur lui même.

Ex : Toulouse, Albi, Castres, Toulouse •  Longueur d ’un chemin (ou circuit) = somme du poids des arcs qui

le composent •  chaîne (resp cycle) =Chemin (resp circuit) composé d ’arêtes •  Graphe (fortement) connexe = graphe non orienté (orienté) tel que

pour tout couple de sommet (x,y) il existe une chaîne (chemin) allant de x à y

•  Arbre = graphe non orienté connexe sans cycle •  Arborescence d ’un graphe orienté = arbre ayant un sommet

« racine » tel qu ’il existe un chemin allant de la racine à tout autre sommet.

Page 104: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Représentation d ’un graphe a b c d

a 0 1 1 0b 0 0 1 1c 0 0 0 1d 1 0 0 0

a

b

c

d

a b c da 0 1 1 -1b -1 0 1 1c -1 -1 0 1d 1 -1 -1 0

Matrice d ’incidence

Matrice booléenne (successeurs)

Liste de précédentsPrécédents

a db ac a,bd b,c

Recherche faciles prédécesseursPas pour les graphes valués

Recherche difficile prédécesseurs ���Risque beaucoup de 0 (inutile)Valuation à la place des 1

Recherche des arcs difficilePeu de mémoire

Page 105: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Matrice d’adjacence

Page 106: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problèmes de RO en théorie des graphes •  Trouver le plus court chemin (temps, km) pour aller d ’une ville à une

autre •  Trouver la plus courte tournée (chemin hamiltonien) passant par toutes

les villes •  Trouver le réseau de fibre optique le plus court à poser en parallèle du

réseau routier pour alimenter toute la région = trouver un arbre de longueur minimale dans le graphe

•  Trouver la date de début au plus tôt d ’une tâche = plus long chemin ente le nœud de début et le nœud représentant la tâche.

•  Quel est l ’effet du retard sur une tâche sur le retard d ’un projet •  Trouver la quantité maximale de matière pouvant circuler dans un

réseau : problème de flot max (à coût minimum) •  Comment alimenter une série de points de consommation à partir de

points de production à coût de transport minimum. •  De combien de camions a t ’on besoin pour réaliser toutes le tournées en

1 jour ? •  Quelles antennes poser et où les poser pour avoir une couverture

maximale et répondre aux demandes de consommations locales •  Qui va faire quelles tâches et dans quel ordre pour un projet ?

Page 107: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Chemins optimaux

Page 108: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Objectif •  Dans un graphe orienté trouver :

•  le plus court (ou le plus long) chemin allant d ’un sommet origine à un sommet final

•  Les plus courts (plus long) chemins entre 1 sommet et l ’ensemble des autres

•  Les plus courts (plus long) chemins entre tous les sommets.

•  Circuit absorbant = circuit de longueur négative pour un plus court chemin ou de longueur positive pour un plus long chemin

•  Circuit absorbant => pas de solution on peut faire le tour du circuit indéfiniment

ba

cd e

3

33

3

-73

Ex : pas de plus court chemin de a à b,c,d ou e

Page 109: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

De nombreux algorithmes

Page 110: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Principe de calcul de plus court chemin

Tout sous chemin d’un chemin optimal est optimal

ab

c

d

e

f4

6

3

-4

4

1

4

24

a,b,d,c,e,f plus court chemin de a à f=> a,b,d,c,e plus court chemin de a à e

Le plus court chemin de a à f se construit à partir ���du plus court chemin de a à un précédent de f

Page 111: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Plus court chemin •  Hypothèse : pas de circuit !

Page 112: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Notion de marquage λi= marque de Xi = plus court chemin CONNU de X0 vers Xi (sans considérer Xj)

X0

Xi

Xj

λi

λj

dj,i

λ*i= nouvelle marque de Xi en considérant Xj

λ*i= Min( λi, λj+ dj,i)

0 Principe : Amélioration successive des marques

λj= marque de Xj = plus court chemin CONNU de X0 vers Xj

La marque du sommet Xi est ajustée à partir de celle du sommet Xj

Page 113: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme de Bellman (1) : Classer les nœuds par niveau •  On part d ’une représentation par liste des

précédents •  Rang 1 les nœuds sans précédents

•  Barrer les nœuds de rang 1 dans toutes les listes de précédents

•  Rang 2 les nœuds dont tous les précédents sont barrés •  Barrer les nœuds de rang 2 dans toutes les listes de

précédents

•  Rang 3 ….

Page 114: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme de Bellman (graphe sans circuit) •  1/ Classer les sommets par niveau •  2/ mettre la marque 0 sur les sommets de rang1 •  3/ Ajuster la marque de tous les sommets

successeurs de sommets de rang1 •  4/ La marque des nœuds de rang 2 est définitive.

Ajuster la marque de tous les sommets successeurs de sommets de rang 2

•  5/ La marque des nœuds de rang 3 est définitive. Ajuster la marque de tous les sommets

successeurs de sommets de rang 3 •  6/ ...

Page 115: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Repérer le plus court chemin •  Principe : lorsqu ’on fait évoluer la marque d ’un

sommet, on note la nom du sommet origine ayant justifié cette marque.

•  A la fin de l ’algorithme, •  On part du sommet final, on regarde le sommet ayant

justifié sa marque : c’est le sommet précédent du plus court chemin

•  On remonte dans le graphe à partir du sommet précédent.

Page 116: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple Bellman

A

B

C

D

E

F

2

6

2

3

1

9

2

Calcul des rangs Calcul des marquesABCDEF

ABCDEF

Page 117: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

PERT Méthode CPM ou MPM

Outils pour la gestion de projet et l ’ordonnancement Le problème central de l ’ordonnancement

Page 118: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Le problème central de l’ordonnancement •  Soient N tâches Ti nécessitant une durée di donnée et de

date de début ti à déterminer •  3 types de contraintes

•  Contraintes dites potentielles : tj -ti ≥ ai,j (ai,j = constante) Ex : Ti de durée di se fini avant de commencer Tj => tj -ti ≥ di

•  Contraintes liées aux ressources •  Un moyen unique (homme ou machine) doit réaliser

2 tâches : quel ordre ? Contrainte disjonctive (tj - ti ≥ di) ou (ti - tj ≥ dj)

•  Moyen a capacité multiple : contrainte cumulative •  ∑ Moyen utilisé (i,t) ≤ Capacité (i,t)

Problème central = uniquement les contraintes potentielles

Page 119: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Représentation potentiel étape (CPM ou PERT)

•  1 tâche et associée à 1 arc, 1 sommet va représenter une étape

•  Attention : la signification de l ’étape dépend des arcs qui aboutissent.

S5

S1

S2

S4

S3

Tâche 1���d1 Tâche 3���d3S5 = Max (Fin T1, Fin T2) = Min (début T3, début T4)

T1 avant T3 et T4T2 avant T3 et T4

S6

S2

S1

S4

S3

Tâche 2���d2

Tâche 1���d1

Tâche 3���d3

Tâche 4���d4

Ajout de sommets et tâches fictivesT1 avant T3 et T4T2 avant T4S5

0 S6 = Max (Fin T1, Fin Fictive) = début de T3

S5 = Fin de T2 = début de T4

Page 120: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Méthode potentiel Tâche (MPM) •  1 sommet = le début d ’une tache •  1 arc = une contrainte sur le délai Min entre les

débuts de tâches

T1 avant T3 et T4T2 avant T3 et T4

T1

T2

T4

T3

d1

d2

Représentation plus systématique mais plus d ’arcs que CPM

Page 121: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  T2 peut débuter 3 ut avant la fin de T1

•  T2 débute au plus tard 3 ut après le début de T1

•  T2 débute exactement 3 ut après le début de T1

•  T1 commence au plus tôt à la date 3ut

•  T1 doit être terminée à la date 20 ut

Autres types de contraintes dans MPM

T1 T2d1 -3

T1 T2-3

t2 - t1 ≤ 3 <=> t1 - t2 ≥ -3

0 T13

3

0 T1d1 - 20

T1 T2-3

Page 122: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Représentation d ’un sommet PERT

•  On est intéressé à connaître pour chaque tâche : •  Sa date de début au plus tôt sachant que le projet commence à la

date 0 •  Sa date de début au plus tard pour ne pas retarder le projet.

T1

Date de début au plus tôt

Date de début au plus tard

Page 123: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  Si ils n ’existent pas ajouter un sommet fictif de début (0) et un sommet fictif de fin (s)

•  Date de début au plus tôt d ’un sommet X (tâche, étape ou fin de projet) = chemin le plus défavorable entre le début du projet (0) et le sommet X = plus long chemin entre (0) et X.

•  Mode de calcul dépend de la nature du graphe •  Souvent graphe sans circuit => Algorithme de Bellman •  Arcs tous positifs (pas de contrainte de début ou fin au plus tard)

=> Disjkstra •  Si risque de circuits positifs => Dantzig, Blatner, Rao

ou Floyd, Warshall

Calcul des dates de début au plus tôt

0T2

T1

T20

T10s

0

0

0

0

Page 124: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Calcul des dates de début au plus tard

•  On fixe la date de début au plus tard du dernier sommet (s) •  Date de début au plus tard de (s) = date de début au plus tôt de (s)

•  date de début au plus tard d ’une tache X = date de début après laquelle le projet est en retard. = Date de début au plus tard de (s) - Plus court chemin de X à (s)

•  Mode de calcul : •  On part de (s), on prend tous les arcs en sens inverse (valeur

inverse)

=> Début au plus tard de T1 = Min (début au plus tard de T2 -µ2, début au plus tard de T3 - µ3)

T1

T2

T3µ3

µ2

Page 125: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple

00

T1

T2

T3

T4

(s)

1

2

3

4

5

6

7

Page 126: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Notion de marge •  Marge totale d ’une tâche X

= marge possible sur le début de X sans retarder le projet = date de début au plus tard de X - date de début au plus tôt de X

•  Marge libre d ’une tâche X = marge possible sur le début de X sans retarder une autre tâche

= Min (début plus tôt de U - durée X->U) - début au plus tôt de X U ∈ Suivants(X)

Page 127: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Durée aléatoire •  distribution de probabilité de réaliser une tâche dans

une durée donnée est souvent assimilée à une loi ß-PERT.

Probabilité d ’une durée égale à t

t

O PR

O = durée OptimisteR = durée la plus RéalisteP = durée Pessimiste

durée moyenne = (O + 4 R+P) / 6

Sigma = (P- O) / 6

Page 128: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Flots dans un graphe

Flot max, flot max de cout min Problèmes d ’affectation

Page 129: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple •  On a 2 captages d ’eau pour alimenter 4 villages en eau

potable. •  Peut on répondre à leur demande à l ’heure de

consommation la plus forte ?

C1

C2

V1

V2

V3

V4

(s)(p)

Débit source

Capacité des canalisationsDemande

200

150

110

80

80

80

80 80

80

30

90

70

140

Page 130: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problème de flot max et flot max de coût min •  Graphe = 1 réseau traversé par un flot de matière sans pertes ni sur

les arcs ni aux sommets. •  Flot d ’un arc u = φu = quantité circulant entre l’origine et l’extrémité

de l ’arc •  Arcs u a 2 valeur : capacité max cu en matière ET Coût Cu par unité

de matière •  0 ≤ φ u ≤cu

•  Coût total = ∑ φu Cu

•  1 sommet source fournit toute la matière, 1 sommet puit absorbe toute la matière

•  En tout sommet : ∑ flot entrant = ∑ flot sortant (loi des nœuds)

Page 131: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problème de flot max et flot max de coût min

(s)

1

2 4

3

(p)13,8

25,220,2

13,1

4,2

15,320,2

13,4

source puit

Flot max de coût min = comment faire passer un maximum de matière entre (s) et (p) à moindre coût

Page 132: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple

Page 133: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont
Page 134: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont
Page 135: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont
Page 136: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  Arc saturé si flot de l ’arc = capacité de l ’arc •  Flot complet = tout chemin de (s) à (p) contient au moins un

arc saturé

•  Attention flot complet ≠ flot max => re-routage de la matière

Terminologie

(s)

1

2 4

3

(p)13

2520

13

4

1520

131213

1320 5

194

15

(s)

1

2 4

3

(p)13

2520

13

4

1520

13213

1320 15

94

5 Flot complet = 22

Flot complet = 32

Page 137: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Coupe •  A ensemble de sommets contenant (p) mais pas (s)

= support de la coupe

•  Coupe C = ensemble des arcs d ’origine hors de A et d ’extrémité dans A

•  Pour toute coupe, ∑flot des arcs de C = flot entrant = flot sortant

•  Théorème : Flot max <=> il existe une coupe dont tous les arcs sont

saturés

Page 138: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Construction d ’un flot de départ 1/ Sélectionner un chemin de (s) à (p) 2/ Saturer ce chemin :

augmenter le flot de manière à saturer un arc du chemin

3/ Revenir au 1/ tant qu ’on trouve des chemins non saturés

•  Remarque : si on a bien pris tous le chemins, on a construit un flot complet

Page 139: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme de marquage de Ford Fulkerson •  2 règles :

R1 : marquer à (+x) un sommet Y si X marqué et arc u X->Y non saturé φu< cu

•  On peut ajouter (cu - φu) unité de matière sur l ’arc u R2 : marquer à (-x) un sommet Y si X marqué et arc u Y->X de flux φu >0

•  On peut enlever φu unité de matière sur l ’arc u Algorithme de marquage :

•  A = ens des sommets nouvellement marqués •  1/ marquer (s) à 0 et ajouter (s) à A •  2/ Tant que A ≠ {}

•  3/ sélectionner un sommet X de A •  4/ essayer de marquer les successeurs de X non marqués avec R1 ou R2 •  5/ ajouter ces successeurs nouvellement marqués à A •  6/ si (p) ∈ A, STOP, Sinon aller en 2/

•  Si on a pu marquer (p) c ’est que le flot n ’est pas max •  Il existe une chaine de sommets marqués de (s) à (p).

Page 140: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple (s)

1

2(p)

715

20

13

15

020 13

13

7

(s)

1

2

(p)7

15

20

13

15

020 13

13

7

(0)(+s)

(-1)(+2)

(0) R1 permet de marquer 1 à (+s)���on peut ajouter 7 unités de matière

(s)

1

2(p)

715

20

13

15

020 13

13

7

(+s)R2 permet de marquer 2 à (-1)On peut enlever 13 unités de matière

(-1)

R1 permet de marquer (p) à (+2)on peut ajouter 8 unités de matière

Page 141: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Principe de re-routage de la matière •  Il existe une chaine reliant des sommets marqués de (s) à (p) •  Pour chaque arc u de la chaîne,

repérer la quantité maximale ϕu pouvant être re-routée •  ajoutée sur l’arc X->Y si Y est marqué à (+x) •  enlevée sur l’arc Y->X si Y est marqué à (-x)

•  Soit ϕ = Min(ϕu ) •  Re-router ϕ unité de matière

•  Ajouter ϕ sur l’arc X->Y si Y est marqué à (+x) •  Enlever ϕ sur l’arc Y->X si Y est marqué à (-x)

(s)

1

2

(p)7

15

20

13

15

020 13

13

7

(0)(+s)

(-1)(+2)

Sur (s)-> 1 on peut ajouter 7Sur 2-> 1 on peut enlever 13Sur (2) ->p on peut ajouter 8

=> ϕ = 7 (s)

1

2

(p)7

15

20

13

15

720 6

13

14

Page 142: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Flot Max : algorithme de Ford Fulkerson L ’algorithme de marquage permet de savoir par où

ajouter de la matière tant qu ’on le peut

•  1/ construire un flot initial (il peut être nul) •  2/ Appliquer l ’algorithme de marquage sur ce flot •  3/ Si (p) est marqué

•  4/ repérer la chaine de marquage de (s) à (p) •  5/ ajouter le max de matière possible selon cette chaine •  6/ Aller en 2/

Page 143: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Ford-Fulkerson

Page 144: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Flot max : par le graphe d ’écart •  1/ construire un flot initial φ •  2/ construire le graphe d ’écart Ge de ce flot φ •  3/ si il existe un chemin de (s) à (p) dans Ge,

•  Soit ϕ = Min(capacité des arcs du chemin de (s) à (p) dans Ge)

•  4/ Ajouter ϕ au flot φ •  Pour tout arc du chemin de (s) à (p) Ajouter ϕ à l ’arc correspondant du flot φ si il est dans le même sens que

u Enlever ϕ à l ’arc correspondant du flot φ si il est dans le sens inverse de

u

•  5/ aller en 2/

Page 145: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple

(s)

1

2(p)

715

20

13

15

020 13

13

7

Flot Graphe d ’écart Ge

(s)

1

2(p)

7

2013 2

13

778

(s)

1

2(p)

715

20

13

15

720 6

13

14

Flot

ϕ = 7

Graphe d ’écart Ge

(s)

1

2(p)

7

206 9

13

114

Pas de chemin de (s) à (p)=> flot = Max

Page 146: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Flot max de coût Min : première méthode •  Théorème : Si il existe un circuit de coût < 0 dans le graphe

d ’écart, on peut re-router de la matière à moindre coût dans le flot associé.

•  On construit un flot max, puis on réduit son coût. 1/ construire un flot max 2/ construire le graphe d ’écart Ge associé (capacité et coût) 3/ rechercher un circuit de coût <0 dans Ge 4/ re-router la matière (idem flot max) •  Recherche du circuit de coût < 0 :

•  On recherche tous les plus court chemin dans Ge avec l ’algorithme de Floyd, Warshall

•  Si on trouve un chemin de (s) à (p), le flot n ’était pas max et on l ’augmente

•  Si on trouve un circuit absorbant dans Ge, il est de coût <0

Page 147: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple (s)

1

2 4

3

(p)13,8

25,220,2

13,1

4,2

15,320,2

13,4

source puit

1313

13

194

19

4

15

Flot max : Coupe {3, 4 , (p) } est saturée.

(s)

1

2 4

3

(p)13,-8

21,21,2

13,-1

4,-2

15,-320,-2

13,-4

source puit4,-2

19,-2

Graphe d ’écart :

Pas de chemin de (s) à (p) => Flot max.Circuit (s)-2-1-(s) : valeur = 2 + 2 -8 = -4Maximum de matière re-routée = 1 (arc (s)->2)

Page 148: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Exemple (2)

(s)

1

2 4

3

(p)13,8

25,220,2

13,1

4,2

15,320,2

13,4

source puit

12 13

205

19

4

15

(s)

1

2 4

3

(p)

12,-8 13,-1

4,-2

15,-320,-2

13,-4

source puit5,-2

20,-2

Graphe d ’écart :

1 Circuit (s)-1-2-(s) : valeur = -2 - 2 +8 = +4Flot max de coût Min

1,8 20,2

Page 149: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  Principe : on part du flot nul et on l ’augmente petit à petit à moindre coût.

•  1/ on part du flot nul, φ=0 •  2/ construire le graphe d ’écart associé à φ •  3/ Si il existe un plus court chemin de (s) à (p) dans Ge

•  Augmenter le flot φ selon ce chemin (cf méthode flot max par le graphe d ’écart)

•  Aller en 2/

•  4/Sinon le flot est max de coût min

•  Remarque : il ne peut y avoir de circuit absorbant au 3/ car sinon cela signifie qu ’il existait un chemin plus court à une étape précédente.

Flot max de coût Min : deuxième méthode

Page 150: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

(s)

1

2 4

3

(p)13,8

25,2

20,2

4,2

15,320,2

13,413,1

Marquage + court cheminFlot

(s)

1

2 4

3

(p)13,8

25,2

20,2

4,2

15,320,2

13,413,1

0

2

4

5

7

5

(s)

1

2 4

3

(p)13,8

25,2

20,2

4,2

15,320,2

13,413,1

15 1515

(s)

1

2 4

3

(p)13,8

25,25,2

4,2

15,-3

5,2

13,413,1

0 15,-2 15,-22

4 5

6

8

(s)

1

2 4

3

(p)13,8

25,2

20,2

4,2

15,320,2

13,413,1

19 1519

ϕ = 15

ϕ = 1 4

4(s)

1

2 4

3

(p)13,8

21,21,2

4,-2

15,-3

1,2

13,413,1

0 19,-2 19,-22

4 5

94,-2

ϕ = 4

Page 151: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Marquage + court cheminFlot

(s)

1

2 4

3

(p)13,8

25,2

20,2

4,2

15,320,2

13,413,1

20 1519 ϕ = 12

5

1

(s)

1

2 4

3

(p)13,8

20,24,-2

15,-3

12,412,1

0 20,-2 19,-26

8 9

135,-2

11,-1

1,-4

11

(s)

1

2 4

3

(p)13,8

25,2

20,2

4,2

15,320,2

13,413,1

20 1519

5

1313

12

4

4 (s)

1

2 4

3

(p)1,820,2 4,-2

15,-30 20,-2 20,-26

8

5,-2

13,-113,-412-,8

L ’algorithme de plus court chemin ne permet pas de marquer (p)=> il n ’y a pas de chemin de (s) à (p) => flot Max.=> il n ’y a pas de circuit absorbant => flot max de coût min

1,2

Page 152: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Affectation

Algorithme Hongrois

Page 153: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problème basique d ’affectation •  Soient N taches à affecter à N personnes •  Chaque personne ayant des compétences

différentes, on donne par personne un temps de réalisation de chaque tâche.

•  Objectif : Affecter les personnes aux tâches de manière à générer une charge minimale

T1 T2 T3 T4 T5 Lionel 86 94 82 84 37 Emmanuel 59 22 56 27 30 Didier 56 19 64 20 20 Jacques 54 26 95 75 17 Michel 28 68 45 49 97

Page 154: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme Hongrois 1/ Soustraire a chaque ligne la valeur Min

T1 T2 T3 T4 T5 Lionel 49 57 45 47 0 37 Emmanuel 37 0 34 5 8 22 Didier 37 0 45 1 1 19 Jacques 37 9 78 58 0 17 Michel 0 40 17 21 69 28

2/ Soustraire a chaque colonne la valeur Min T1 T2 T3 T4 T5

Lionel 49 57 28 46 0 37 Emmanuel 37 0 17 4 8 22 Didier 37 0 28 0 1 19 Jacques 37 9 61 57 0 17 Michel 0 40 0 20 69 28

0 0 17 1 0 141

Somme des Min ligne et colonne= coût minimal d ’une affectation

=> Au moins un « 0 » par ligne et par colonne

Page 155: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme Hongrois •  3/ Pour chaque « 0 »intersection de ligne i et colonne j

Regreti,j = Min (ligne i sauf le « 0 ») + Min (colonne j sauf le « 0 ») •  4/ tant qu ’il reste des « 0 » non barrés,

•  4.1/ encadrer le « 0 » non barré ou encadré ayant le Regret Max Si regret Max = 0 et plusieurs « 0 » possibles, voir cas plus loin

•  4.2/ barrer tous les autres « 0 » sur la même ligne et colonne T1 T2 T3 T4 T5 Lionel 49 57 28 46 0 Emmanuel 37 0 17 4 8 Didier 37 0 28 0 1 Jacques 37 9 61 57 0 Michel 0 40 0 20 69

0 <=> affectation d ’une tâche à une personne à coût nulSi toutes les personnes affectées STOP : optimum trouvé

37

4

0 4

17

28

9

Regret

Page 156: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  Lorsqu ’on doit choisir un « 0 » à encadrer, Si le regret maximal est 0 et plusieurs « 0 » ont le regret maximal. •  Alors, recalculer les regrets dans la sous matrice restante :

on met à jour les regrets en considérant les affectations déjà réalisées

•  Si plusieurs « 0 » ont encore le regret maximal. •  Sélectionner l ’un quelconque de ces « 0 » : cela n ’a aucune

influence sur le résultat .

Algorithme Hongrois : cas du regret Max = 0

Page 157: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme Hongrois •  6/ Marquage des lignes et colonnes

•  6.1/ Marquer * toute ligne n ’ayant pas de « 0 » encadré •  6.2/ Marquer * toute colonne ayant un « 0 » barré sur une ligne marquée •  6.3/ Marquer * toute ligne ayant un « 0 » encadré dans une colonne marquée •  6.4/ aller au 6.2/ tant qu ’on peut.

•  7/ Obtention de nouveaux « 0 » •  7.1/ Rayer les lignes non marquées et les colonnes marquées •  7.2/ Soustraire µ (la plus petite valeur non barrée) à tous les éléments non rayés •  7.3/ Ajouter µ à tous les éléments barrés 2 fois et Revenir au 3/

T1 T2 T3 T4 T5Lionel 49 57 28 46 0Emmanuel 37 0 17 4 8Didier 37 0 28 0 1Jacques 37 9 61 57 0Michel 0 40 0 20 69

µ = 9

*

*

*

Page 158: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Fin de l ’exemple T1 T2 T3 T4 T5

Lionel 40 48 19 37 0 Emmanuel 37 0 17 4 17 Didier 37 0 28 0 10 Jacques 28 0 52 48 0 Michel 0 40 0 20 78

*

*

*

*

* µ = 4

µ = 13

T1 T2 T3 T4 T5 Lionel 36 48 15 33 0 Emmanuel 33 0 13 0 17 Didier 37 4 28 0 14 Jacques 24 0 48 44 0 Michel 0 44 0 20 82

*

*

*

*

*

*

*

STOP T1 T2 T3 T4 T5 Lionel 23 48 2 33 0 Emmanuel 20 0 0 0 17 Didier 24 4 15 0 14 Jacques 11 0 35 44 0 Michel 0 57 0 33 95

Coût = 141 +9+4+13 = 177

Page 159: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Affectation = Flot Max de Coût Min •  Construction du graphe G

•  1 sommet par personne + 1 sommet par tâche + (s) + (p) •  Arc de (s) à une personne de coût 0 et capacité 1(nombre de

tâches affectables simultanément à 1 personne) •  Arc d ’une personne P à une tâche T de capacité 1 et de coût

égal au coût d ’affecter P à la tâche T. •  Arc d ’une tâche à (p) de coût 0 et de capacité 1 (nombre de

personnes a affecter à la tâche pour la réaliser)

•  Une personne P est affectée à une tâche T <=> il existe un flot de P à T dans le graphe G

•  Affectation de coût Min = Flot Max de coût Min sur G •  Démonstration de l ’algorithme hongrois par équivalence

des opérations réalisées sur le flot Max de coût Min.

Page 160: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Transport de matière

Algorithme de Stepping Stone

Page 161: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Problème Type •  Soient N usines de fabrication de capacité limitée •  Soient M centres de consommation ayant émis une demande ∑ Capacité de production = ∑ demandes

•  Soit une matrice NxM donnant les coût de transport de N à M •  Trouver qui produit pour qui au moindre coût Coûts a b c d e Capacité A 1,5 6,4 1,8 4 3,5 90 B 1,6 2,6 1,9 3,1 5,8 75 C 5,3 3,5 2,4 1,3 2,2 35 D ∆ ∆ ∆ ∆ ∆ 25 Dmde 40 35 70 30 50 ∆ très grand Site D est ajouté pour que « capacité Totale = Demande Totale » Coûts de transport infinis (∆) pour préciser que ceux ci ne seront pas

réalisés.

Page 162: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Modèle linéaire •  Variables : xi,j = la quantité transportée depuis l ’usine i vers le centre de

consommation j. •  Données : Ci = capacité de l ’usine i, Dj = demande du centre de

consommation j, Ci,j = coût de transport d ’une unité entre l ’usine i et le centre j.

•  Min (∑ci,j xi,j) Pour tout i , ∑xi,j = Ci Pour tout j, ∑xi,j = Dj

•  Modèle à N*M variables et N+M contraintes. Une solution est donc caractérisée par N*M-N+M = (N-1)*(M-1) variables à 0

•  Stepping Stone = méthode adaptée pour limiter les calculs du simplex + méthode pour construire facilement une première solution

j

i

Page 163: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme Stepping Stone (1) •  1/ Construire une solution de départ

•  1/ sélectionner le trajet de coût min (C-d) et lui affecter un max de matière => on sature une colonne ou une ligne

•  2/ Tant qu’on le peut •  a/ sélectionner la ligne ou la colonne non saturée sur le dernier trajet

considéré, •  b/ y affecter la matière restante sur le trajet non évalué de coût min •  c/ mettre à 0 les trajets non évalués de la ligne ou colonne saturée

Transp a b c d e Capacité A 40 0 5 0 45 90 B 0 10 65 0 0 75 C 0 0 0 30 5 35 D 0 25 0 0 0 25 Dmde 40 35 70 30 50

Page 164: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

•  Au moins (N-1)(M-1) trajets à « 0 ». •  1/ Pour chaque « 0 », évaluer le coût de l ’augmentation d ’une unité de la

quantité sur ce trajet (= calcul du coût marginal du simplex) •  a/construire un circuit passant par ce trajet et des trajets de flot ≠ 0 •  b/ Evaluer le coût de re-router une unité de matière selon ce circuit :

ajoutée au premier trajet, enlevée au deuxième, ajoutée au troisième,…

Transp a b c d e Capacité A 40 0 5 0 45 90 B 0 10 65 0 0 75 C 0 0 0 30 5 35 D 0 25 0 0 0 25 Dmde 40 35 70 30 50

Algorithme Stepping Stone (2)

Théorème : le circuit passant par 1 trajet = 0 et des trajets de flot ≠ 0, existe toujours et est unique

Circuit Bd = Bd - Cd + Ce - Ae + Ac - Bc��� = +3,1- 1,3 + 2,2 - 3,5 + 1,8 - 1,9 = 0,4

Page 165: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Algorithme Stepping Stone (2) •  2/ Si tous les circuits des « 0 » sont >0, le plan est optimum

(i.e. tous les coûts marginaux sont >0) •  3/Sinon,

•  a/ sélectionner un « 0 » de circuit négatif (souvent le plus négatif)

•  b/ affecter sur son circuit le plus de matière possible et aller au 1/

•  Exemple •  Circuit Ab : Ab-Ac+Bc-Bb Coût = 6,4 - 1,8 + 1,9 - 2,6

= 3,9 •  Circuit Dd : Dd-Bd+Bc-Ac+Ae-Ce+Cd-Dd

Coût = ∆ - ∆ +2,6 - 1,9 + 1,8 - 3,5 +2,2 - 1,3 = -0,1 •  Circuit De : De - Db+Bc-Ac+Ae-De Coût = ∆- ∆ + 2,6 - 1,9 +

1,8 -3,5 = -1 •  Circuit De est le plus négatif

Problème : comment rechercher tous les circuits rapidement ??

Page 166: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Rechercher les circuits négatifs : méthode du potentiel

•  1/ tracer le graphe Ge dont les sommets sont les Usines ou les Centres de consommation et les arcs sont les trajets

•  2/ sélectionner un sommet Usine et lui affecter le potentiel 0 •  3/ A partir d ’un sommet Usine U ayant un potentiel fixé,

•  Définir le potentiel d ’un sommet Centre de consommation CC relié à U dans Ge par : Potentiel (CC) = Potentiel (U) + coût(U->CC)

•  4/ A partir d ’un sommet Centre de consommation CC ’ ayant un potentiel fixé, •  Définir le potentiel d ’un sommet Usine U ’ relié à CC ’ dans Ge par :

Potentiel (U ’) = Potentiel (CC ’) - coût(U ’->CC ’) •  5/ boucler sur 3/ tant que tous les sommets n ’ont pas un potentiel fixé.

A

B

C

D

a

b

c

d

e

0

1,8-1,9=-0,1

3,5-2,2=1,3

2,5-∆

1,5

2,5=2,6-0,1

1,8

2,6= 1,3 + 1,3

3,5

Graphe Ge et potentiels correspondants au premier plan de

distribution

Page 167: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Trouver les circuits négatifs : méthode du potentiel (2) •  La méthode permet de calculer le coût marginal

d ’un circuit passant par 1 trajet de flot 0 et des trajets de flot ≠ 0

•  Pour tout trajet à 0 allant d ’une Usine U à un centre CC : •  Coût du circuit = coût (U->CC) + Potentiel (U) -Potentiel

(CC) •  Circuit Bd = 3,1- 0,1 - 2,6 = 0,4 => on sait trouver la valeur du circuit d ’un trajet à « 0 » sans

connaître ce circuit.

•  Sélectionner le « 0 » ayant le circuit le plus négatif puis rechercher le circuit correspondant. On sait que ce circuit est unique.

Page 168: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Fin de l ’ exemple Transp a b c d e Capacité

A 40 0 30 0 20 90 Ab 3,9 Ad 1,4 B 0 35 40 0 0 75 Ba 0 Bd 0,4 Be 2,2 C 0 0 0 30 5 35 Ca 5,1 Cb 2,3 Cc 1,9 D 0 0 0 0 25 25 Da 2 Db 1 Dc 1,7

Dmde 40 35 70 30 50 Dd 0,9 Circuit Ab -Ac-Bc-Bb-Ab : 3,9 Circuit Ad-Ae-Ce-Cd-Ad : 1,4 Circuit Ba-Bc-Ac-Aa-Ba : 0 Circuit Bd-Cd-Ce-Ae-Ac-Bc-Bd : 0,4 Circuit Be-Ae-Ac-Bc-Be : 2,2 Circuit Ca-Ce-Ae-Ca : 5,1 Circuit Cb-Bb-Bc-Ac-Ae-Ce-Cb : 2,3 Circuit Cc-Bc-Ac-Ae-Ce-Cc : 1,9 Circuit Da-De-Ae-Aa-Da : 2 Circuit Db-De-Ae-Ac-Bc-Bb-Db : 1 Circuit Dc-De-Ae-Ac-Dc : 1,7 Circuit Dd-De-Ce-Cd-Dd : 0,9

Tous les circuits sont >0 => le plan est optimum.

Page 169: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Routage de matière = Flot max de coût Min •  Construction du graphe G

•  1 sommet par usine + 1 sommet par centre de consommation + (s) + (p)

•  Arc de (s) à une usine de coût 0 et capacité celle de l ’usine •  Arc d ’une Usine U à un centre de consommation CC de capacité ∞ et

de coût celui du trajet de U à CC. •  Arc d ’un centre de consommation CC à (p) de coût 0 et de capacité

égale à la demande du centre. •  Un trajet de U à CC est utilisé

<=> il existe un flot de U à CC dans le graphe G •  Plan de transport de coût Min = Flot Max de coût Min sur G •  Remarque : Stepping Stone <=>

1/construire un flot max 2/ évaluer tous les circuits de coûts négatif dans le graphe d ’écart 3/ réduire le coût du flot selon un circuit négatif et retourner au 1/

Page 170: Recherche Opérationnelle pour le Génie Industrielemmanuel.caillaud.pagesperso-orange.fr/Emmanuel_Caillaud/Accueil... · • Équipes militaires de recherche opérationnelle ont

Merci !