Recherche Opérationnelle Théorie des graphes: Algorithmes Recherche OpérationnelleGraphes.

49
Recherche Opérationnelle Théorie des graphes: Algorithmes Recherche Opérationnelle Graphes

Transcript of Recherche Opérationnelle Théorie des graphes: Algorithmes Recherche OpérationnelleGraphes.

Recherche Opérationnelle Théorie des graphes: Algorithmes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

ARBRE DE POIDS MINIMUM : Application de KRUSKAL ET PRIM

EXERCICE 1

Recherche Opérationnelle Graphes

EXERCICE 2

Une commune veut offrir des possibilités de connexion a haut débit par câble dans ses nouveaux lotissements. Les liaisons envisageables entre les lotissements (numérotes de 1 a 7), ainsi que les estimations des coûts de construction sont donnes dans le graphe ci-dessous :

Actuellement, seul le lotissement numéro 1 est relie au réseau a haut débit.Déterminer les liaisons à mettre en place de manière à connecter tous les lotissements au réseau tout en minimisant les coûts de construction.

Recherche Opérationnelle Graphes

EXERCICE 3Le réseau ci-dessous représente une partie du réseau routier d'une ville. Les noeuds correspondent aux carrefours, les arêtes aux routes que l'on suppose toutes a double sens et les nombres sur les arêtes indiquent la hauteur maximale (en centimètres) qu'un véhicule peut avoir s'il désire emprunter la route correspondante.

Un livreur désire se rendre du point A au point B. Pour ceci, il veut déterminer la hauteur maximale x, en mètres, du camion qu'il peut utiliser.a) Déterminer quel problème de la théorie des graphes permet de décider si le livreur, ayant un camion de hauteur x mètres, peut effectuer sa livraison en utilisant uniquement les routes du réseau donné.b) Citer un algorithme vu au cours permettant de résoudre le problème précédant.c) Appliquer l'algorithme cité ci-dessus et déterminer la hauteur maximale du camion pour que la livraison soit possible et donner un itinéraire réalisable.

Recherche Opérationnelle Graphes

Les problèmes de cheminement dans les graphes (en particulier la recherche d’unplus court chemin) comptent parmi les problèmes les plus anciens de la théorie desgraphes et les plus importants par leurs applications.

2.1 DéfinitionSoit G = (V,E) un graphe orienté et valué ; on associe à chaque arc u = (i, j) une longueur l(u) ou lij. Le problème du plus court chemin entre i et j est de trouver un chemin μ(i, j) de i à j tel que :

Le problème du plus court chemin

l(μ) = l(u) soit minimale.uμ

Interprétation de l(μ) : coût de transport, dépense de construction, temps nécessaire de parcours, ...

Remarques : • la recherche du plus court chemin est analogue à la recherche du plus long chemin.

• Les algorithmes seront différents suivant les propriétés des graphes :

– l(u) >= 0 – l(u) égales (l(u)=1) ( Problème du plus court chemin en nombre d’arcs)– G sans circuit– G et l(u) quelconqueset suivant le problème considéré (à une ou plusieurs origines):Ce problème est aussi appelé le problème de recherche du plus court chemin à origine unique. Beaucoup d’autres problèmes peuvent être résolus par l’algorithme avec origine unique:

– plus court chemin à destination unique (inversion du sens de chaque arc du graphe) ;– plus court chemin pour un couple de sommets donné ;– plus court chemin pour tout couple de sommets (algorithme à origine unique à partir de chaque sommet).

Recherche Opérationnelle Graphes

L'algorithme de Dijkstra (1959) [Moore (1957)]

Données : Un réseau R = (V,E,c) connexe, |V| = n, |E| = m, ou c : E R+ est unepondération non négative des arcs du graphe G = (V,E). Un sommet particulier s V .

Résultat : Pour tout sommet i V , la longueur i d'un plus court chemin de s à i(i = s'il n'existe pas de chemin de s à i dans G) ainsi que le prédécesseur immédiatp(i) du sommet i dans un tel chemin.

(1) s = 0, i = i s, p(i) = NULL i, T = V (initialisation)

(2) Tant que T ; faire(2.1) Soit i le sommet de T de plus petite étiquette i (départager arbitrairement en cas d'égalité).(2.2) Si un tel sommet n'existe pas ( j = j T) : STOP, les sommets encore dans T ne sont pas atteignables depuis s.(2.3) Sinon, retirer i de T et pour tout successeur j de i encore dans T tester si j > i + cij auquel cas poser j = i + cij et p(j) = i.

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

EXERCICE 1

Soit le réseau R=(V,E,c) de la figure :

Déterminer un plus long chemin du sommet v1 au sommet v6. Préciser la méthode utilisée ainsi que les étapes de la résolution

GUELIZFSSM

Khadija habite à GUELIZ et travaille la faculté des Sciences Semlalia (FSSM). Elle effectue donc l’aller et le retour chaque jour en voiture. Ayant énormément de peine à se lever, elle aimerait trouver le chemin lui permettant de repousser le plus tard possible l’heure de son départ tout en arrivant au travail à 8h00.

Le réseau des routes qu’elle peut emprunter pour se rendre de Gueliz à FSSm est le suivant:

Les sommets représentent les carrefours, les arcs les rues à sens unique et les arêtes les rues à double sens. Les valeurs à côté des arcs et des arêtes représentent le temps de parcours nécessaire en minutes pour rejoindre deux carrefours dans un sens ou dans l’autre (s’il est permis).

De plus il y a une attente de 3 minutes en chaque carrefour, sauf en ceux de Gueliz et De FSSM.

Déterminer le chemin que Khadija doit emprunter lui permettant de partir le plus tard possible et d’arriver à l’heure à FSSM. A quelle heure doit-elle partir?.

EXERCICE 2

Les graphes sans circuit

Dans un réseau R = (V, E, c) sans circuit les problèmes de plus courts et de plus longs chemins sont toujours bien définis et, dès qu'il existe un chemin entre deux sommets d'un tel réseau, il existe un plus court et un plus long chemin.

Propriété . Un graphe G = (V, E) sans circuit possède au moins un sommet sans prédécesseur et au moins un sommet sans successeur.

Théorème . Le graphe G = (V, E) est sans circuit si et seulement si on peut attribuer à chaque sommet iV un nombre r(i), appelé le rang de i, tel que pour tout arc (i, j)E on ait r(i) < r(j).

Cette numérotation (qui n'est généralement pas unique !) se calcule à l'aide d'un tri topologique et est telle que, pour tout arc du graphe, le numéro de son extrémité initiale est inférieure à celui de extrémité finale.

Recherche Opérationnelle Graphes

Algorithme du rang

Données : Un graphe orienté G = (V, E) sans circuit.

Résultat : Pour tout sommet i V , un rang r(i) minimal.

(1) k = 1, W = V

(2) Tant que W ; faire(2.1) Soit X l'ensemble des sommets sans prédécesseur du sous-grapheGW = (W, E(W)).(2.2) Poser r(i) = k pour tout i X.(2.3) Poser W = W \ X et k = k + 1.

Recherche Opérationnelle Graphes

Tri topologique

Données : Un graphe oriente G = (V, E) sans circuit, |V| = n.

Résultat : Une numérotation rt : V {1,….,n} des sommets de G compatible avec le rang.

(1) k = 1, W = V

(2) Tant que W ; faire(2.1) Soit i un sommet sans prédécesseur du sous-grapheGW = (W, E(W)).(2.2) Poser rt(i) = k, W = W\ {i} et k = k + 1.

Recherche Opérationnelle Graphes

Appliquant l'algorithme du rang, on obtient la suite d'ensembles X et de sous-graphes suivante

Exemple

Soit le graphe sans circuit

Recherche Opérationnelle Graphes

Plus courts chemins dans les réseaux sans circuit

Pour calculer un plus court chemin dans un réseau sans circuit, il suffit de numéroter les sommets de manière compatible avec le rang (en effectuant un tri topologique du graphe) et de tester la condition d'optimalité en parcourant les sommets dans l'ordre croissant de leur numéro.

Le plus souvent cet algorithme s'applique dans des réseaux possédant un seul sommet sans prédécesseur, le problème étant de trouver un plus court chemin de ce sommet à tous les autres.

Dans un tel cas, après avoir trié topologiquement le graphe, on pose 1 = 0 et pour k de 2 à n on calcule

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Application à la gestion de projet :la méthode du chemin critique

On considère un projet complexe décrit par

• un ensemble de tâches de durée connue ;

• des contraintes de précédence entre certaines tâches.

On cherche à ordonner les tâches et à planifier leur dates d'exécution de manière à

• satisfaire les contraintes de précédence ;

• minimiser la durée totale de réalisation du projet ;

• pouvoir évaluer l'impact sur cette durée d'un retard d'exécution.

Recherche Opérationnelle Graphes

Modélisation

On modélise le problème par un réseau où

• les sommets représentent les tâches du projet ;

• un arc relie deux sommets i et j s'il existe une contrainte de précédence entre les tâches associées aux sommets i et j.

• le poids cij de l'arc (i, j) est égal à la durée di de la tâche (représenté par le sommet) i.

Au réseau ainsi construit on ajoute également

• un sommet représentant le début des travaux, de durée nulle et précédant toutes les activités sans prédécesseur ;

• un sommet représentant la fin des travaux, de durée nulle et succédant à toutes les tâches sans successeur.

Recherche Opérationnelle Graphes

Le graphe associé à un projet est sans circuit et possède un seul sommet sans prédécesseur (le sommet ) et un seul sommet sans successeur (le sommet ).Déterminer la durée minimale de réalisation d'un projet revient à calculer un plus long chemin entre les sommets et du graphe associé.

Remarques.1. Un projet peut également être modélisé par un graphe sans circuit ou les arcs correspondent aux tâches, les sommets représentant alors les différentes étapes du projet. C’est la méthode PERT (Programm Evaluation and Research Task ). Cette approche est totalement équivalente à celle présentée ici mais ne sera pas développée plus avant.

2. La modélisation présentée ici est aussi connue sous le nom de méthode MPM (Méthode des Potentiels Metra ). Les deux méthodes sont très proches et ont été développées simultanément et de manière indépendante par deux groupes de chercheurs.

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Recherche Opérationnelle Graphes

Terminologie

Une tâche i est critique si i = i. Tout retard dans l'exécution d'une tâche critique se répercute en un accroissement de la durée totale de réalisation du projet.

Un chemin critique est un chemin du sommet (début des travaux) au sommet (n des travaux) composé uniquement de tâches critiques.

La longueur d'un chemin critique correspond à la durée minimale nécessaire à la réalisation du projet.

Dans l'exemple, les tâches critiques sont les tâches , A, B, C, E et . Le seul chemin critique est

C = (, (, A), A, (A, B), B, (B, C), C, (C, E), E, (E, ), )

Sa longueur est égale à 19 ce qui correspond à la durée minimale d'exécution du projet.

Recherche Opérationnelle Graphes

EXRECICE 1

C’est bientôt nouvel an. Aicha et Moha ont décidé d’organiser une petite fête déguisée pour l’occasion. Ils doivent tout prévoir du thème du déguisement au transport des invités, car la fête aura lieu un peu en dehors de Marrakech. Ils ont énuméré les tâches qu’ils doivent effectuer pour que la fête soit belle.

- Représenter le graphe de précédence des tâches pour l’organisation de la fête.

- Effectuer une numérotation des sommets compatible avec le rang.

- Calculer les dates de début au plus tôt et au plus tard de chacune des tâches.

- Donner la durée minimale de l’organisation.

- Déterminer le chemin critique et les tâches critiques.

- Sachant que l’imprimeur du quartier est toujours très demandé. Aicha et Moha doutent de la durée de la tâche E. S’il faut 3 jours au lieu de 2 pour imprimer les cartons, devrons-ils commencer plus tôt pour être prêts le jour de la fête? Si oui, de combien de jours?

EXRECICE 2

Un projet a été divisé en 7 tâches, notées A, B, C, D, E, F et G, dont les durées, en jours, sont données dans la table qui suit.

Les contraintes suivantes doivent être respectés lors de la réalisation du projet :

– La tâche A commence au plus tôt après la fin de la tache B mais pas avant que la moitié de la tâche E ne soit achevée.– La tâche F ne peut débuter avant que les tâches A et D soient terminées.– L’exécution de la tâche F doit précéder celles des tâches C et G.– La tâche D doit attendre la fin de la tâche E pour débuter. De plus, trois jours au minimum doivent s’écouler entre le début de A et le moment où D peut commencer.– Une pause de sept jours au moins doit être respectée entre le moment où D se termine et celui où G peut commencer.

a) Donner le graphe potentiels-tâches associé au projet.

b) Calculer, pour chaque tâche, les dates de début au plus tôt et au plus tard. Donner également la durée minimale de réalisation du projet ainsi que les tâches et les chemins critiques.

c) Lors de la modélisation du problème, la contrainte suivante a été oubliée : « La tâche C doit débuter au plus tard x jours après le début de la tâche B. »Comment modifier le graphe potentiels-tâches du projet afin de tenir compte de cette nouvelle contrainte ? Quelle est la valeur minimale possible pour le délai x ?