m2 mpro optimisation dans les graphes 2014-2015cedric.cnam.fr/~bentzc/files/og_2014-2015.pdf · le...

40
M2 MPRO Optimisation dans les Graphes 2014-2015 Programmation linéaire et problèmes d'optimisation dans les graphes 1

Upload: others

Post on 23-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

M2 MPRO

Optimisation dans les Graphes

2014-2015

Programmation linéaireet problèmes d'optimisation dans les graphes

1

Page 2: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Problèmes d'optimisation dans les graphes : quelles m éthodes pour les résoudre ?

Théorie des graphes (et algorithmique de graphes) :

La théorie des graphes fournit un cadre unifié pour étudier des propriétés structurelles des graphes(bornes sur la valeur d'un paramètre), mais aussi pour résoudre certains problèmes d'optimisation dans les graphes

De nombreux algorithmes combinatoires issus de l'algorithmique de graphes sont ainsi basés sur ces propriétés structurelles

Un autre des grands domaines de la RO est la programmation mathématique, et en particulier linéaire (PL ou PLNE) :

Des modèles et des méthodes génériques(et souvent efficaces)

Peut-on exhiber des liens entre ces deux domaines? S'il y en a, comment les exploiter ? Et comment traduire la spécificité d'un problème particulier de l'optimisation dans les graphes dans un modèle aussi général ?

2

Page 3: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

PARTIE I :

Dualité en PL etmatrices totalement unimodulaires ;Application à la dualité flots/coupes

et au théorème de König

3

Page 4: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Le problème du flot maximum

Problème emblématiquede la RO et de l'optimisation dans les graphes

Rappel : on se donne un graphe orienté G connexe dont les arcs sont munis de capacités, un sommet source s et un sommet puits p

Problématique : on cherche, dans G, à acheminer autant d'unités de flot que possible de s vers p, sans dépasser la capacité de chaque arc

Modèle PLNE (modèle 1) ?

• Le flot total circulant sur tous les chemins de s à p passant par chaque arc est limité par la capacité de l'arc (une variable par chemin)

• Maximiser la quantité de flot acheminée de s à p

• Résolution en temps polynomial si flots continus ?

Modèle PLNE alternatif (modèle 2) ?

• Conservation du flot en chaque nœud (sauf s et p)

• Flot limité par la capacité sur chaque arc (une variable par arc)

• Maximiser la quantité de flot acheminée de s à p

4

Page 5: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Moralité : formuler un problème = en fournir une description

On peut écrire les PL duaux des relaxations continues des 2 modèles

Modèle 1 : et si les variables duales sont entières ?

On obtient un PL modélisant le problème de la coupe minimum

Les PL sont liés par une relation de dualité (dualité en PL), et donc les problèmes aussi !

Modèle 2

Interprétation du PL dual si les variables duales sont entières

Preuve alternative de la faible dualité flot/coupe!

5

Calcul du dual

Page 6: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Définition : une matrice à valeurs réelles est dite totalement unimodulaire (TU) si et seulement si le déterminant de toute sous-matrice carrée qui en est extraite vaut 0, 1 ou -1

Propriété 1 : toute sous-matrice d’une matrice TU est TU, et en particulier tout élément d'une matrice TU vaut 0, 1 ou -1 (sous-matrice carrée extraite ayant une ligne et une colonne)

Propriété 2 : si une matrice est TU, alors la juxtaposition de cette matrice avec la matrice identité est aussi une matrice TU

Propriété 3 : une matrice est TU si et seulement si sa transposée l’est

Caractérisation de Ghouila-Houri : une matrice est TU ssi tout sous-ensemble de colonnes peut être partitionné en deux parties telles que, sur chaque ligne, les sommes des éléments sur chacune de ces deux parties diffèrent d'au plus 1

Corollaire de la Propriété 3 : ce théorème est aussi vrai en échangeant « colonne » et « ligne »

Totale unimodularité

6

Page 7: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Propriété 4 : si un PL a une matrice des contraintes TU et des seconds membres entiers, alors toute solution de base de ce PL est entière (et, en particulier, toute solution de base optimale l’est)

Corollaire de la Propriété 4 :

Résoudre un PLNE ayant une matrice des contraintes TU et des seconds membres entiers est équivalent à résoudre sa relaxation

continue (= un PL), et les valeurs optimales sont les mêmes !

Conséquence de la totale unimodularité

7

Page 8: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Propriété 5 : la matrice d'incidence (arcs-sommets) d'un graphe orienté est TU

Corollaire (immédiat) du modèle 2 et des Propriétés 2 à 5 :

Théorème de Ford-Fulkerson (flot max=coupe min)

« Preuve alternative » basée exclusivement sur la dualité en PL et les propriétés des matrices TU

Une condition suffisante de totale unimodularité, e t une première conséquence

8

Page 9: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Modèle PLNE pour le problème du couplage maximum?

Dual (avec variables entières) de la relaxation continue de ce PL = PLNE de la couverture minimum des arêtes par les sommets

Propriété 6 : la matrice d'incidence (arêtes-sommets) d'un graphe biparti est TU

Corollaire de cette dualité et de la Propriété 6 :

Théorème de König

Dans les deux cas, la « spécificité » du problème d'optimisation dans les graphes considéré est donc ici exprimée par la formulation PL/PLNE utilisée, et les propriétés de la matrice des contraintes associée (matrice d'incidence d'un graphe orienté ou d'un graphe biparti, selon le cas)

Une deuxième condition suffisante de totale unimodularité, et une deuxième conséquence

9

Page 10: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

PARTIE II :

Réduction entre problèmes d’optimisation dans les graphes, et conséquences sur les formulations PL;Applications aux flots non orientés, aux flots à coût minimum, aux multiflots, et aux arbres de Steiner

10

Page 11: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Problème du flot maximum entre deux sommets s et p dans ungraphe non orienté?

La matrice des contraintes de la formulation PLNE la plus naïve n'estpas TU ==> ce problème est-il plus difficile ? Comment le résoudre ?

Réduire le problème considéré à un problème ayant une matrice des contraintes TU, et en déduire ainsi une « bonne » formulation PLNE ? Oui : on peut en fait réduire ce cas au cas des graphes orientés!

On en déduit donc une formulation PLNE ayant une matrice TU par un raisonnement purement combinatoire, qui ne porte que sur des transformations du graphe donné dans l'instance considérée

Identique pour la coupe minimum ==> extension du théorème de F.-F.

Flot maximum dans les graphes non orientés

11

Page 12: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

On se donne un graphe G connexe, orienté ou non, dont les arcs/arêtes sont munis de capacités et de coûts unitaires, ainsi que deux sommets s et p de G

On considère le problème suivant : déterminer dans G un flot de valeur donnée (potentiellement maximum) entre s et p, et dont le coût total (somme sur tous les arcs/arêtes du coût unitaire de l'arc/arête fois la valeur du flot sur l'arc/arête) est minimum

Problème du flot à coût minimum: le modèle PL associé (« inspiré »de celui du flot maximum) a une matrice TU ==> polynomial

Et si les coûts sont quelconques (>0 ou <0) ? Peut-on alors trouver un chemin hamiltonien « facilement » ? Non : le modèle n'est plus adapté !

Bonne formulation pour le flot à co ût minimum (graphes orientés ou non)

12

Page 13: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Plus court chemin (longueurs ≥≥≥≥ 0) : déterminer un plus court chemin entre deux sommets s et p dans un graphe = flot de valeur 1 à coût min.

Affectation linéaire : n tâches à affecter à n agents (chaque tâche est affectée à un et un seul agent), chaque affectation induisant un coût ==> minimiser la somme totale des coûts (couplage parfait biparti àcoût minimum) = flot (de valeur n) à coût minimum

Programme de transport : marchandises à transporter de n entrepôts (quantité disponible de marchandises connue pour chacun) vers m clients (demande en marchandises connue pour chacun, et on suppose pour simplifier Offre totale = Demande totale), sachant que transporter 1 marchandise d'un entrepôt i à un client j induit un coût unitaire donné==> satisfaire la demande à coût total minimum = flot à coût minimum

Conséquence : de bonnes formulations pour certains cas particuliers célèbres du flot à co ût minimum

13

Page 14: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Plusieurs paires sources-puits: les unités de flot émises par une source donnée ne peuvent être acheminées que vers le puits correspondant

Une seule paire source-puits = flot maximum ==> problème plus général

Modèles PLNE similaires aux modèles 1 et 2

Notions de « coupe » similaire à la coupe simple : multicoupe

Même dualité des relaxations continues des formulations PLNE, MAIS les matrices des contraintes obtenues ne sont pas TU !

Problèmes NP-difficiles, même dans des cas très particuliers

Multiflots (et multicoupes)

14

Page 15: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Hypothèse 1 : étant donnés t sommets du graphe considéré, il existe une paire sources-puits entre toute paire de ces t sommets (multiterminaux )

Hypothèse 2 : le graphe G considéré est orienté et sans circuits

On peut établir une bonne formulation pour les problèmes de multiflots et multicoupesdans ce cas, en les réduisant à un flot et une coupe simples

Etape 1: on « éclate » chacun de ces t sommets vi en 2 sommets v'i et v''i (v'i est incident àtous les arcs entrant en vi, et v''i à tous ceux en sortant)

Etape 2: on ajoute les 2 sommets s (super-source) et p (super-puits), et on relie s à tous les v''i, et tous les v'i à p (par des arcs de grande capacité)

Déterminer un multiflot maximum (une multicoupe minimum) est alors équivalent àcalculer un flot maximum (une coupe minimum) entre s et p

Une bonne formulation pour les multiflots/multicoup esdits « multiterminaux » dans les graphes sans circuits

15

�vi v’ i v’’ i

Page 16: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Parfois, on peut montrer que résoudre un problème donné peut se réduire à la résolution d’un ensemble d’instancesd’un autre problème d’optimisation dans les graphes : cela fournit donc un moyen de le résoudre, mais sans que cela ne se traduise nécessairement par une formulation PL ayant des propriétés particulières…

Ainsi, on peut réduire la résolution de toute instance du problème de multicoupe minimum avec deux paires sources-puitsdans les graphes non orientés à deux instances du problème de coupe minimum (en gardant la meilleure des deux valeurs optimales obtenues) : on obtient alors une « bonne » réduction pour ce problème !

Essentiellement le seul cas non NP-difficile que l'on peut obtenir (pour les multiflots/multicoupes dans les graphes, orientés ou non, avec un nombre donné >1 de paires sources-puits) !

Multicoupe minimum avec deux paires sources-puits

16

Page 17: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

On cherche dans un graphe dont les arêtes sont munies de poids >0 un arbre de poids minimum couvrant au moins un sous-ensemble de sommets (appelés sommets terminaux) {t 1, …, tk}

Tous les autres sommets, appelés sommets Steiner, sont donc facultatifs

Un tel arbre (indépendamment de son poids) est un arbre de Steiner

Si le graphe est connexe, alors il existe toujours un arbre de Steiner !

Le problème consistant à trouver un arbre de Steiner de poids minimum généralise le problème de l'arbre couvrant de poids minimum (où tous les sommets sont terminaux), ce dernier étant polynomial

Le problème de l'arbre de Steiner de poids minimum est beaucoup plus dur : il est NP-difficile même dans les graphes planaires

Arbres de Steiner de poids minimum (1/5)

17

Page 18: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Arbres de Steiner de poids minimum (2/5)

18

Exemple : un graphe à 9 sommetset 4 terminaux (= les sommets 0,3,7,8)

Arbre couvrant de poids minimum(poids=35)

Arbre de Steiner de poids minimum(poids=31)

Page 19: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Si seulement deux terminaux : problème du plus court chemin !

Modèle PLNE pour le cas général ?

On remplace chaque arête par deux arcs de sens opposés et de même poids,

On choisit un terminal « racine » t1, et on veut qu'il existe un chemin de t1vers tous les autres terminaux,

Les poids étant >0, on n'a pas besoin d'imposer explicitement le fait que ce soit un arbre (imposer la connexité est suffisant) !

En revanche, un arc utilisé par des chemins de t1 vers plusieurs terminaux ne doit être comptabilisé qu'une fois !

Aucune formulation connue ne possède une matrice des contraintes TU

Arbres de Steiner de poids minimum (3/5)

19

Page 20: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Et si le nombre de terminaux est une constante ?

Dans toute solution optimale, le nombre de feuilles est au plus k (le nombre de terminaux), et, dans tout arbre, le nombre de sommets de degré 3 ou plus est borné supérieurement par le nombre de feuilles-2,

Donc «squelette» de la solution recherchée (sans les sommets non terminaux de degré 2) = un arbre ayant au plus 2(k-1) sommets,

Détermination du squelette correspondant à cette solution par « simple »énumération : la formule de Cayley donne une borne supérieuresur le nombre f(k) d'arbres à considérer (borne moins bonne = tout sommet d’un graphe étiqueté à n sommets a au plus 2n-1 voisinages possibles).

Mais comment passer du squelette à la solution elle-même ?

Réduction du problème à un « simple » calcul de plus courts chemins,

Conservation de la meilleure solution admissible obtenue,

L'algorithme obtenu est polynomial pour k constant: un meilleur temps d'exécution peut être obtenu par programmation dynamique (cf CAP).

Arbres de Steiner de poids minimum (4/5)

20

Page 21: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Arbres de Steiner de poids minimum (5/5)

21

Les 4 squelettes possibles pour k=3 :

t1 t2 t3 t1 t3 t2

t2 t1 t3t1 t2 t3

Les squelettes possibles pour k=4 :

t1 t2 t3 t4

+ tous ceux obtenus en contractant au plusdeux arêtes et en renumérotant les terminaux

Page 22: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

PARTIE III :

Totale unimodularité et algorithmes combinatoires : les approches primales-duales

22

Page 23: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Graphes d'intervalle

Un graphe d’intervalle (GI ) est le graphe d’intersection d’un ensemble d’intervalles (par exemple, d’intervalles de temps) horizontaux : les sommets du GI sont les intervalles, et deux sommets sont reliés par une arête du GI ssi les deux intervalles associés ont une intersection non videEtant donné un graphe d’intervalle, une représentation par intervalles de ce graphe peut être obtenue en temps polynomialLes deux représentations sont donc polynomialement équivalentes

23

Page 24: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Stables maximums dans les graphes d'intervalle

Un ensemble stable (ou stable) dans un graphe d’intervalle peut donc être vu comme un ensemble d’intervalles deux à deux disjointsDonc chercher un stable maximum dans un tel graphe = choisir un ensemble de cardinalitémaximum d’intervalles deux à deux disjointsDans cet exemple, {C,G} = stable de cardinal 2, et {A,E,F}, {B,D,G} = deux stables maximumsDans le cas général, comment déterminer un stable maximum dans de tels graphes ?

24

Page 25: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Stables maximums dans les graphes d'intervalle

Un ensemble stable (ou stable) dans un graphe d’intervalle peut donc être vu comme un ensemble d’intervalles deux à deux disjointsDonc chercher un stable maximum dans un tel graphe = choisir un ensemble de cardinalitémaximum d’intervalles deux à deux disjointsDans cet exemple, {C,G} = stable de cardinal 2, et {A,E,F}, {B,D,G} = deux stables maximumsDans le cas général, comment déterminer un stable maximum dans de tels graphes ?

25

Page 26: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Stables maximums dans les graphes d'intervalle

Un ensemble stable (ou stable) dans un graphe d’intervalle peut donc être vu comme un ensemble d’intervalles deux à deux disjointsDonc chercher un stable maximum dans un tel graphe = choisir un ensemble de cardinalitémaximum d’intervalles deux à deux disjointsDans cet exemple, {C,G} = stable de cardinal 2, et {A,E,F}, {B,D,G} = deux stables maximumsDans le cas général, comment déterminer un stable maximum dans de tels graphes ?

26

Page 27: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Bonne formulation pour ce problème ?

Formulation « classique » pour le stable maximum :

Une variable 0-1xi pour tout sommet (ou intervalle) i, indiquant si i est choisi (=1) ou non (=0)

Une contrainte xi+xj ≤ 1 pour toute arête(i,j)

On maximise la somme des xi

MAIS la matrice des contraintes de cette formulation n’est pas toujours TU (exemple du cycle à 3 sommets, comme ABC) !

27

Formuler le problème du stable maximum dans les graphes d'intervalle (1/3)

Page 28: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Formuler le problème du stable maximum dans les graphes d'intervalle (2/3)

Formulation alternative :Notons [di,fi]=ième intervalle, et ej=jème plus petit élément de l’union des ensembles {di,fi}

Découpage de l’horizon de temps en 2n-1 fenêtres (ou moins), chacune associée à la période [ej,ej+1] pour un j

Mêmes variables

En revanche, il y a désormais une contrainte par fenêtre

28

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

Page 29: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Propriétés de cette formulation ?

Tout intervalle contient des fenêtres consécutives

Sur chaque colonne, les « 1 » sont donc consécutifs

Propriété des 1 consécutifs� matrice d’intervalle

Or, toute matrice d’intervalle est TU !

Le problème est donc polynomial par la PL

Le problème dual entier consiste à choisir un nombre minimum de fenêtres intersectant tous les intervalles

29

Formuler le problème du stable maximum dans les graphes d'intervalle (3/3)

Page 30: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Faire mieux que la PL ?

En réalité, dans ce cas, on peut même concevoir un algorithme combinatoire glouton(rapide) pour ce problème

On va en fait décrire une paire d'algorithmes gloutons (les deux peuvent être implémentés en O(n), où n=nombre d'intervalles)

Ces algorithmes construisent une solution « primale »et une solution « duale »en se basant sur les relations d’exclusiondu 2ème PL et de son dual

On appelle ces approches «primales-duales », et c’est une méthode de conception d’algorithmes particulièrement utile

30

Algorithme primal-dual pour le problème du stable maximum dans les graphes d'intervalle (1/3)

Page 31: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Pseudo-code de l'algo. glouton pour le stable max. dans un GI :

Calculer une représentation par intervalles du GI

Trier et numéroter les intervalles par ordre croissant de leurs dates de fin

Intervalle courant := premier intervalle

Tant que non STOP faire

Sélectionner l'intervalle courant

S'il n'existe plus d'intervalle ayant une intersection vide avec les intervalles déjà sélectionnés, alors STOP

Sinon, intervalle courant := premier intervalle n'ayant aucune intersection avec les intervalles déjà sélectionnés

31

Algorithme primal-dual pour le problème du stable maximum dans les graphes d'intervalle (2/3)

Page 32: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Dans ce premier algorithme, les numéros des intervalles sélectionnés au cours de l’exécution sont donc croissants

Pseudo-code de l'algorithme glouton pour le PL dual :

Exécuter l'algorithme précédent (à la fin de ce dernier, une fenêtre est dite « active » si elle est contenue dans l'un des intervalles sélectionnés)

Pour chaque intervalle sélectionné par l’algorithme précédent

Sélectionner la fenêtre la plus à droite contenue dans cet intervalle

32

Algorithme primal-dual pour le problème du stable maximum dans les graphes d'intervalle (3/3)

Page 33: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Solutions renvoyées par l’algorithme sur l’exemple :

33

Exemple de d éroulement de l’algorithme primal-dual

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

1

2

3

4

5

6

7

Page 34: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Solutions renvoyées par l’algorithme sur l’exemple :

34

Exemple de d éroulement de l’algorithme primal-dual

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

1

2

3

4

5

6

7

Page 35: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Solutions renvoyées par l’algorithme sur l’exemple :

35

Exemple de d éroulement de l’algorithme primal-dual

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

1

2

3

4

5

6

7

Page 36: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Solutions renvoyées par l’algorithme sur l’exemple :

36

Exemple de d éroulement de l’algorithme primal-dual

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

1

2

3

4

5

6

7

Page 37: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Solutions renvoyées par l’algorithme sur l’exemple :

37

Exemple de d éroulement de l’algorithme primal-dual

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

1

2

3

4

5

6

7

Page 38: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Solutions renvoyées par l’algorithme sur l’exemple :

38

Exemple de d éroulement de l’algorithme primal-dual

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14 e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14

1

2

3

4

5

6

7

Page 39: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Preuves des algorithmes basées sur les relations d'exclusion en PL :

Rappel : dans une solution (de base) optimale, contrainte primale (duale) saturée OU variable duale (primale) associée nulle

De façon équivalente : dans une solution (de base) optimale, contrainte primale (duale) non saturée ⇒ variable duale (primale) associée nulle

Ici, on a un type de contraintes primales et un type de contraintes duales :

Fenêtre non active ⇒ non sélectionnée : toute fenêtre sélectionnée est active

Intervalle contient plus d'une fenêtre active ⇒ non sélectionné : tout intervalle sélectionné ne contient qu'une seule fenêtre active

Il « suffit » donc de montrer que les deux solutions construites :

Sont admissibles (la solution primale l’étant clairement, il reste à s’assurer que la solution duale l’est),

Respectent les relations d'exclusion (vrai par définition du 2ème algorithme).

Preuves des algorithmes

39

Page 40: M2 MPRO Optimisation dans les Graphes 2014-2015cedric.cnam.fr/~bentzc/Files/OG_2014-2015.pdf · Le problème du flot maximum Problème emblématique de la RO et de l'optimisation

Les propriétés d’une bonne formulation peuvent parfois permettre d’établir la polynomialité du problème étudié

Souvent, cela n’est qu’une première étape dans la résolution pratique du problème, et signifie en fait qu’il existe un algorithme combinatoire efficacepour résoudre ce problème sans passer par la PL

Un algorithme primal-dual est un bon candidatdans ce cas-là, puisque ses « choix » sont guidés par les conditions des écarts complémentaires(relations d’exclusion) du PL associé

Dans certains cas, cela ne marche pas si bien :

Stables de poids maximum dans un graphe d’intervalle (dans notre exemple, si C a un poids de 3, et tous les autres 1, alors la valeur optimale est 4)

Enfin, ce genre d’approches peut parfois être utilisé également pour obtenir des solutions approchées à des problèmes difficiles (cf CAP)

Bilan sur les approches primales-duales

40