MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1...

64
1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Transcript of MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1...

Page 1: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

1

MATHÉMATIQUES 2Pascal Laurent

Théorie des graphesBoussad Mammeri

(bM) 2007 Math-2

Page 2: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Table des matières

I Théorie des graphes 4

1 Notions générales 51.1 Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.1 Matrice associée . . . . . . . . . . . . . . . . . . . . . . . . 61.1.2 Graphes particuliers . . . . . . . . . . . . . . . . . . . . . . 71.1.3 Graphes associés . . . . . . . . . . . . . . . . . . . . . . . . 71.1.4 Cheminements . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.5 Connexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 Représentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.1 Structures de données . . . . . . . . . . . . . . . . . . . . . 131.2.2 Fonctions de conversion . . . . . . . . . . . . . . . . . . . . 14

1.3 Noyaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3.1 Stabilité interne . . . . . . . . . . . . . . . . . . . . . . . . . 151.3.2 Noyaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4 Arbres et arborescences . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.1 Arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.4.2 Arborescences . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.5 Graphes planaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2 Flots 222.1 Flot dans un réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.2 Représentations . . . . . . . . . . . . . . . . . . . . . . . . . 232.1.3 Flot maximum . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2 Algorithme de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . 252.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.3 Implémentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3.1 Optimisation linéaire . . . . . . . . . . . . . . . . . . . . . . 292.3.2 Un programme classique . . . . . . . . . . . . . . . . . . . . 29

2.4 Aspects algébriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.4.1 Flots et tensions . . . . . . . . . . . . . . . . . . . . . . . . 312.4.2 Flots bornés . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Couplage 333.1 Affectation optimale . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1.2 Représentation matricielle . . . . . . . . . . . . . . . . . . . 33

2

Page 3: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

TABLE DES MATIÈRES 3

3.2 Résolution par flot maximum . . . . . . . . . . . . . . . . . . . . . . 343.2.1 Graphe initial des zéros . . . . . . . . . . . . . . . . . . . . . 343.2.2 Adjonction d’arcs . . . . . . . . . . . . . . . . . . . . . . . . 343.2.3 Une chaîne améliorante est alternée . . . . . . . . . . . . . . 35

3.3 Algorithme hongrois . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.1 Description sur un exemple . . . . . . . . . . . . . . . . . . . 353.3.2 Version matricielle de l’algorithme hongrois . . . . . .. . . . 37

4 Chemins extrémaux 384.1 Problème du plus court chemin . . . . . . . . . . . . . . . . . . . . . 38

4.1.1 Algorithme de Ford . . . . . . . . . . . . . . . . . . . . . . . 384.1.2 Ordonnancement . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2 Méthode matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.1 Matrices et opérations symboliques . . . . . . . . . . . . . . 414.2.2 Ordonnancement par la méthode matricielle . . . . . . . . .. 424.2.3 Exemple de résolution matricielle . . . . . . . . . . . . . . . 43

II Exercices 44

1 Graphes 451.1 Représentations d’un graphe . . . . . . . . . . . . . . . . . . . . . . 451.2 Cheminements dans un graphe . . . . . . . . . . . . . . . . . . . . . 461.3 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471.4 Graphes particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2 Flots et chemins dans un réseau 492.1 Flot maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.2 Ordonnancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.3 Couplage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3 Programmation linéaire 533.1 Engrais chimiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.1.1 Méthode géométrique . . . . . . . . . . . . . . . . . . . . . 533.1.2 Méthode des tableaux . . . . . . . . . . . . . . . . . . . . . 543.1.3 Perturbation des données . . . . . . . . . . . . . . . . . . . . 543.1.4 Autre point de vue . . . . . . . . . . . . . . . . . . . . . . . 55

3.2 Approximation du problème du profil d’une route . . . . . . . .. . . 55

4 Algorithme du simplexe 564.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.2 Inéquations linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3 Méthode du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4 Dualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

(bM) 2007 Math-2

Page 4: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Première partie

Théorie des graphes

4

Page 5: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Chapitre 1

Notions générales

Définitions d’un graphe

Un graphe est un ensemble de points (appelés sommets), muni d’une relation bi-naire dont les couples sont appelés arcs.1

Notation :G = (X, U), avec :X = ensemble des sommetsU = ensemble des arcs

FIG. 1.1 – Exemple de graphe [GR1]

X =(

1 2 3 4 5)

U =(

(

1 2)

;(

1 4)

;(

4 2)

;(

2 3)

;(

3 4)

;(

4 5)

)

1.1 Terminologie

Notions immédiates :– arête : arc non orienté (ou orienté dans les deux sens) ;– sommets adjacents àx : successeursΓ(x) ou prédécesseursΓ−1(x) ;– sommets reliés àx : descendants ou ascendants ;– arcs incidents àx : entrantsω−(x) ou sortantsω+(x).

1 On ne s’intéresse pas à la façon de placer les sommets sur un dessin.

5

Page 6: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

6 CHAPITRE 1. NOTIONS GÉNÉRALES

Sommets particuliers– racine : sommet sans prédécesseur ;– feuille : sommet sans successeur ;– source : racine ascendant de tout sommet ;– puits : feuille descendant de tout sommet.

Graphes et multigraphesNous nous limiterons ici aux graphes simples : qui comportent un seul arc ou arête

entre deux sommets.Un graphe non simple est un multigraphe. Exemple : les ponts de Königsberg

(Fig. 1.2).

FIG. 1.2 – Exemple de multigraphe

1.1.1 Matrice associée

La matrice associée à un graphe est définie par :

Bi,j = existence de l’arc(i,j)

Cette notion d’existence peut être notée 0/1 (ouFalse, True) pour un graphe simple.2

Exemple (matrice du graphe de la Fig.1.1, p. 5) :

B =

0 1 0 1 00 0 1 0 00 0 0 1 10 1 0 0 00 0 0 0 0

1.1.1.1 Quelques propriétés

– Bkj = 0 ∀k signifie que le sommetj est une racine.– Bik = 0 ∀k signifie que le sommeti est une feuille.–

k Bik = Card(ω+(i)) est le demi-degré extérieur dei (nombre d’arcspartant dei).

2 Si Bij est d’un autre type, cela peut représenter un multigraphe ouun graphe simple valué.

Math-2 (bM) 2007

Page 7: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 7

–∑

k Bkj = Card(ω−(j)) est le demi-degré intérieur dej (nombre d’arcsarrivant versj).

– Bij + Bji = 0 signifie quei et j ne sont pas adjacents.

Curiosité :Bii = 1 signifie la présence d’uneboucle(arc à origine et extrémitéconfondues) au sommeti. C’est une configuration que nous avons exclue.

1.1.2 Graphes particuliers

Graphe symétrique

Définition : (x, y) ∈ U =⇒ (y, x) ∈ UPropriété : B est symétrique :Bij = Bji

Exemple : graphe simple non orienté.

Graphe antisymétrique

Définition : (x, y) ∈ U =⇒ (y, x) /∈ UPropriété3 : Bij + Bji ≤ 1Exemple : graphe orienté simple.

Graphe complet

Définition : chaque paire de sommets est reliée par un arcPropriété : Bij + Bij ≥ 1

Clique

Définition : une clique est un graphe symétrique completPropriété : Bij + Bji = 2

TournoiDéfinition : un tournoi est un graphe antisymétrique completPropriété : Bij + Bji = 1 (i 6= j)

1.1.3 Graphes associés

Graphe inversé G’

Définition : on inverse le sens des arcsPropriété : B′

ij = Bji (c’est ici la matrice transposée)

Graphe complémentaireG∗

Définition : (x, y) ∈ U =⇒ (x, y) /∈ U∗

Propriété : Bij + B∗

ij = 1.

Sous-graphe

Définition : on obtient un sous-graphe en supprimant des sommets(et les arcs incidents, comme origine ou comme extrémité)

Propriété : la matrice associée est une sous-matrice.

3 Noter queB n’estpasantisymétrique.

(bM) 2007 Math-2

Page 8: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

8 CHAPITRE 1. NOTIONS GÉNÉRALES

Graphe partiel

Définition : on obtient un graphe partiel en supprimant des arcsPropriété : la matrice associée (de même dimension) comporte plus de zéros.

1.1.3.1 Exemple

– (X, U) = villes et routes de France,– sous-graphe des villes de Bretagne,– graphe partiel des routes nationales,– sous-graphe partiel des routes nationales de Bretagne.

1.1.4 Cheminements

1.1.4.1 Chemins et chaînes

Chemins Un chemin est une suite d’arcscontinue.4

Exemple de cheminement (passeur, loup, chèvre et chou) : Fig. 1.3, p. 8.

FIG. 1.3 – Passeur, loup, chèvre, choux

Trouver un chemin

Algo 1.1 [Trémaux] Pour trouver un chemin entrea etb : Fig. 1.4, p. 8.

FIG. 1.4 – Algorithme de Trémaux– Depuisa, suivre un chemin (quelconque) aussi loin que possible en marquant (+)

chaque arc parcouru ;– dans une impasse, on rétrograde en marquant une seconde fois (par-) l’arc ;– si on arrive (par un arc une seule fois marqué) à un sommet déjà exploré, on rétro-

grade (donc en marquant-) ;– soitx le sommet atteint en rétrogradant, alors :

1. ou bien il reste un arc non marqué ;

2. ou bien on repart par l’arc (marqué une fois) utilisé la première fois.

– On arrête lorsqu’on arrive enb ou bien lorsqu’il n’y a plus aucune possibilité.

4 en convenant de qualifier ainsi la propriété intuitive suivante : l’extrémité de tout arc est l’origine dusuivant, sauf bien entendu pour le premier et le dernier.

Math-2 (bM) 2007

Page 9: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 9

Cas particuliers de l’algorithme de Trémaux :– Si le graphe est planaire, prendre toujours à droite.– Si le graphe est symétrique, tendre une ficelle entrea et b.

FIG. 1.5 – Chemins dans un graphe [GR2]

Traitement matriciel Pour le graphe de la Fig. 1.5, de matrice associée :

B =

0 1 0 1 00 0 1 1 00 0 0 0 10 0 1 0 00 0 0 0 0

les puissances successives deB sont :

B2 =

0 0 1 1 00 0 0 1 10 0 0 0 00 0 0 0 00 0 0 0 0

B3 =

0 0 0 1 10 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0

B4 = 0

On observe qu’un élément(i, j) 6= 0 indique la présence d’un chemin entrei et j :– de longueur 1 dansB– de longueur 2 dansB2

– . . .Noter qu’on peut faire le produit matriciel ou bien en booléen (ce qui donne la

présence des chemins) ou bien en décimal (on obtient alors aussi leur nombre).5

Chaînes Une chaîne est une suite d’arêtescontinue.

1.1.4.2 Cheminements particuliers

Déf 1.1– Chemin élémentaire : dont les sommets sont distincts.– Chemin simple : dont les arcs sont distincts.

Si on remplace chemin par chaîne (chemin non orienté), on obtient toutes les no-tions correspondantes pour un graphe symétrique.

5 Si on le fait en booléen, il peut être utile de remarquer que+ est unor et que* est unand.

(bM) 2007 Math-2

Page 10: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

10 CHAPITRE 1. NOTIONS GÉNÉRALES

Prop 1.1 Il est clair que :

élémentaire =⇒ simple

Eulérien– Chemin eulérien : chemin simple qui passe par tous les arcs.– Chaîne eulérienne : chaîne simple qui passe par toutes les arêtes.

Ex 1.1 L’enveloppe postale (Fig. 1.6) peut être tracée sans lever la plume.

FIG. 1.6 – Chaîne eulérienne (4 2 3 1 2 5 3 4 5)

Prop 1.2 Si G possède une chaîne eulérienne, alorsG possède deux sommets (et deuxseulement) de degré impair (l’origine et l’extrémité de la chaîne).6

Hamiltonien– Chemin hamiltonien : chemin élémentaire qui passe par tousles sommets.– Chaîne hamiltonienne : chaîne élémentaire qui passe par tous les sommets.

Thm 1.1 [König] Dans un graphe complet, il y a au moins un chemin hamiltonien.

1.1.4.3 Circuits

Un circuit est uncheminsimple fermé.

Tester l’absence de circuits

Algo 1.2 Pour tester l’absence de circuits :– Marquer tout sommet sans successeur,– marquer tout sommet dont tous les successeurs sont marqués.– Si on parvient à marquer tous les sommets, le graphe est sanscircuits.

Pour le graphe de la Fig. (1.5), on marque ainsi successivement : (5,3,4,2,1).

Matriciellement cela revient à observer que si on revient sur un sommet, l’unedesmatricesBk comporte alors un terme diagonal non nul (car un graphe àn sommetsadmet un chemin de plus den arcs si et seulement si il comporte un circuit).

6 ce qui veut dire que la chaîne n’est pas fermée (ce n’est pas uncycle).

Math-2 (bM) 2007

Page 11: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 11

C’est le cas pour le graphe de la Fig. 1.1, p. 5.

Circuit hamiltonien

Ex 1.2 On peut tracer un circuit hamiltonien sur le dodécaèdre : Fig. 1.7, p. 11.

FIG. 1.7 – Circuit hamiltonien

1.1.4.4 Cycles

Un cycle est une chaîne simple fermée.

Algo 1.3 La construction d’un cycle peut se faire de la manière suivante :

1. choisirx0,

2. puis une suite d’arcs(x0, x1), (x1, x2), . . . en n’empruntant un arc incident àxi

que si :– il y reste un nombre impair de tels arcs non encore pris ;– ou bien si tous les autres arcs sont déjà dans le cycle.

Pour rechercher un cycle eulérien vérifier si, dans la matrice associée, le nombrede1 de toute ligne et de toute colonne est pair.

Ex 1.3 Sur le graphe des ponts de Königsberg (Fig. 1.2, p. 6) on ne peut pas faire decycle eulérien.

En effet :

B =

0 0 1 10 0 1 11 1 0 11 1 1 0

(bM) 2007 Math-2

Page 12: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

12 CHAPITRE 1. NOTIONS GÉNÉRALES

1.1.5 Connexité

Déf 1.2 Soit surG la relation d’équivalence :

x ≈ y si x ety sont reliés par une chaîne7

Les composantes connexes sont les classes d’équivalence duquotient deG par cetterelation.

Une composante connexe peut être considérée comme un problème indépendant.Un point d’articulation est un sommet dont la suppression (avec les arcs incidents)

rend le graphe non connexe.

Déf 1.3 Si on remplacechaîneparchemindans la définition précédente, on obtient lescomposantesfortement connexes:

– deux sommets d’une composante connexe sont reliés par une chaîne ;– deux sommets d’une composante fortement connexe sont reliés par un chemin.

Graphe réduit

Déf 1.4 Le graphe réduitest le graphe :– dont les sommets sont les composantes fortement connexes (dites maximales)

qui comportent le plus de sommets,– et les arcs les liens entre celles-ci.

Dans l’exemple Fig.1.8, si on calcule (en booléen) :

(I + B)4 =

1 1 1 1 10 1 1 1 10 1 1 1 10 1 1 1 10 0 0 0 1

on exhibe le graphe réduit :

1 −→ 2, 3, 4 −→ 5

FIG. 1.8 – Exemple de graphe[GR2]

7 N.B. Unechaîne, que le graphe soit orienté ou non.

Math-2 (bM) 2007

Page 13: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 13

1.2 Représentations

La façon dont on ordonne les sommets d’un graphe est crucialepour la recherched’informations sur le graphe.

1.2.1 Structures de données

Exemple (idem[GR2] Fig. 1.5, p. 9) :

Dictionnaire Le dictionnaire décrit les successeurs de chaque sommet :

1 → [ 2, 4 ]2 → [ 3, 4 ]3 → [ 5 ]4 → [ 3 ]5 → [ ⊘ ]

Matrice associée La matrice associée décrit les liaisons entre sommets :

B =

0 1 0 1 00 0 1 1 00 0 0 0 10 0 1 0 00 0 0 0 0

Matrice d’adjacence La matrice d’adjacence décrit les arcs :

M =

1 1-1 1 1

-1 -1 1-1 -1 1

-1

(bM) 2007 Math-2

Page 14: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

14 CHAPITRE 1. NOTIONS GÉNÉRALES

1.2.2 Fonctions de conversion

On convient de représenter le dictionnaire par deux vecteurs (méthode classiqueutilisée pour les maillages).

Pour[GR2], p. 13, on aurait ainsi :8

D = [ 2,4, 3, 4,5, 2, 00, 00 ]C = [ 1, 3, 4, 6, 7, 08 ]

Exemples de fonctions de conversion :

function [ B ] = d2b (D, C)//// conversion : Dictionnaire -> Matrice associee

n = max (D)B = zeros (n,n)for i = 1:nfor k = C(i) : (C(i+1) - 1)

j = D(k)if j > 0 then B(i,j) = 1, endend

endendfunction // ...

function [ B ] = m2b (M)//// conversion : Incidence -> Matrice associee

[ n, p ] = size (M)B = zeros (n,n)for a = 1:p[ gg, i ] = max (M(:,a))[ gg, j ] = min (M(:,a))B(i,j) = 1end

endfunction // ...

8 Les zéros attirent simplement l’attention . . .

Math-2 (bM) 2007

Page 15: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 15

1.3 Noyaux

1.3.1 Stabilité interne

Déf 1.5 Un sous-ensembleA de sommets est dit stable s’il ne contient pas d’arcs :

A ∩ Γ(A) = ⊘

On appelle nombre de stabilité, notéα(G), le nombre maximal desommets pouvant former un sous-ensemble stable.

Déf 1.6 Un sous-ensemble stable est dit maximal s’il n’est contenu dans aucun autrestable.

A un stable maximal, on ne peut pas ajouter un sommet sans rompresa stabilité.

1.3.1.1 Exemple des huit dames

En théorie des jeux, le graphe du jeu est tel que :– un sommet = un état du jeu,– un arc = un coup possible (entre deux états).

Dans le problème des huit dames sur l’échiquier, ce nombre 8 est leα(G) du graphe(symétrique) à 64 sommets où une arête existe si une dame peutse déplacer (en uncoup) entre les deux sommets de l’arête.

Ce problème admet 92 solutions (dont Gauss en avait trouvé 72).En voici quelques-unes :

. . . • . . . .

. . . . . • . .

. . . . . . . •

. • . . . . . .

. . . . . . • .• . . . . . . .. . • . . . . .. . . . • . . .

. • . . . . . .

. . . . • . . .

. . . . . . • .• . . . . . . .. . • . . . . .. . . . . . . •. . . . . • . .. . . • . . . .

(

6 4 7 1 8 2 5 3) (

4 1 5 8 2 7 3 6)

On peut compléter la première par rotations deπ/2 et la seconde deπ/4.

1.3.1.2 Coloriage d’une carte

Soit à colorier une carte de 10 pays (Fig. 1.9), dont la matrice binaire (à compléterpar symétrie) représente le graphe des incompatibilités (Bij = 1 si i et j sont limi-

(bM) 2007 Math-2

Page 16: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

16 CHAPITRE 1. NOTIONS GÉNÉRALES

trophes) :

B =

• 0 1 1 0 0 1 0 0 0• 0 1 0 1 0 1 1 0• 0 1 0 1 1 0 0• 0 1 0 1 1 0• 1 0 0 0 1• 1 1 0 0• 0 0 0• 0 0• 0•

A

B

CH

D

E

F

I

L

NL

P

FIG. 1.9 – Carte de géographie

Le problème revient à trouver une partition deX en un nombre minimum (appelénombre chromatique) de sous-ensembles stables.

1.3.1.3 Recouvrement

Le tableau ci-dessous indique quelques sous-ensembles stables (pays en ligne, stablesen colonne) :

1 1 1 1 1 0 0 0 0 0 0 0 0 0 01 1 0 0 0 1 1 1 1 0 0 0 0 0 00 0 0 0 0 1 1 0 0 1 1 0 0 0 00 0 0 0 0 0 0 0 0 0 0 1 1 0 01 0 1 0 0 1 0 1 0 1 0 1 0 1 00 0 0 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 1 0 0 1 1 1 10 0 1 0 1 0 0 0 0 1 1 0 0 1 10 0 1 1 1 0 0 0 0 1 1 0 0 1 10 1 0 1 1 0 1 0 1 0 1 0 1 0 1

↑ ↑ ↑ ↑

On peut vérifier que quatre suffisent à recouvrir tous les pays, par exemple (4,6,13,15) :

Math-2 (bM) 2007

Page 17: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 17

Couleur A = 1, 6, 9, 10Couleur B = 2, 3, 5Couleur C = 4, 7Couleur D = 8

1.3.1.4 Programmation en nombres entiers

On peut aussi faire une formulation de ce problème de recouvrement sous formed’une optimisation linéaire en nombres entiers binaires.

On pose (tableau ci-dessus) :

Tik = 1 si i est coloré park

et on introduit un vecteur :

ck = 1 si k est retenue

Le programme linéaire consiste à minimiser le nombre de couleurs :

min∑

k

ck

sous la contrainte que chaque pays doit apparaître au moins une fois :∑

k

Tikck ≥ 1 ∀i

1.3.2 Noyaux

1.3.2.1 Ensembles absorbants

Déf 1.7 Un sous-ensembleA de sommets (d’un grapheG) est dit absorbant si chaquesommet extérieur àA a un successeur (au moins un) dansA :

∀x /∈ A A ∩ Γ(x) 6= ⊘

Cela veut dire que, de n’importe quel sommet extérieur àA, on peutentrer dansA par un seul arc (application en théorie des jeux, où un arcreprésente un coup possible).

Déf 1.8 Un sous-ensemble absorbantA est dit minimal si on ne peut lui retirer unsommet sans rompre son absorbance.

1.3.2.2 Noyaux

Déf 1.9 Un sous-ensembleA de sommets d’un graphe est un noyau s’il est à la foisstable et absorbant.

C’est une notion utilisée en théorie des jeux car le joueur qui se trouve dans unnoyau (ensemble des positions gagnantes) est obligé d’en sortir alors que son adversairepeut toujours y rentrer.

On s’en sert usuellement aussi pour effectuer un premier choix (Cf. p.19).

Ex 1.4 Une feuille appartient à tout noyau et le prédécesseur d’unefeuille à aucun.

(bM) 2007 Math-2

Page 18: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

18 CHAPITRE 1. NOTIONS GÉNÉRALES

Thm 1.2 Un noyau est stablemaximal.

En effet, comme il est absorbant, on ne peut ajouter aucun sommet sans rompre lastabilité.

Thm 1.3 [Corollaire] 9 Si G est symétrique, un sous-ensemble stable maximal estabsorbant, donc un noyau.

En effet, maximal=⇒ tout sommet extérieur est relié : c’est la définition de l’ab-sorbance dans le cas symétrique.

Thm 1.4 Un graphe fini orienté, sans circuits, a un noyau unique

Theorème admis (la démonstration se fait par un algorithme qui partitionne lessommets : dans le noyau et hors de lui).

Thm 1.5 SoitF (Y, z) la fonction caractéristique de l’ensembleY , alors :

Y est un noyau⇐⇒ F (Y, t) = 1− maxz∈Γ(t)

(F (Y, z))

En effet :

1. Si Y est un noyau, alors :– F (Y, t) = 1 =⇒ t ∈ Y =⇒ F (Y, z) = 0 pour z ∈ Γ(t)– F (Y, t) = 0 =⇒ t /∈ Y =⇒ ∃z ∈ Γ(t) i.e. F (Y, z) = 1

2. Réciproquement, si on a la relation proposée :– t ∈ Y =⇒ F (Y, t) = 1 =⇒ F (Y, z) = 0 : aucunz dansΓ(t)

(stabilité).– t /∈ Y =⇒ F (Y, t) = 0 =⇒ F (Y, z) = 1 : il y a un z dansΓ(t)

(absorbant).

Thm 1.6 L’intersection de deux noyaux n’est jamais un noyau.

En effet, soientA etB deux noyaux :– siA etB sont disjoints, il n’y rien à démontrer.– Si B inclus dansA, on peut trouver unx hors deB qui est relié à

B, donc rompt la stabilité deA.– S’il n’y a pas inclusion (B∩A 6= ⊘), il existe unc dansA∩B relié

à una dansA hors deB : idem.

1.3.2.3 Algorithme de construction du noyau

Dans le dictionnaire du graphe :– Marquer toute ligne vide.– Barrer toute ligne où apparaît l’indice d’une ligne marquée.– Rayer l’indice des lignes barrée dans toute ligne non encore barrée.– Itérer juqu’à marquer ou barrer toutes les lignes.Le noyau est constitué des sommets correspondant aux lignesmarquées.

9 C’est la réciproque du théorème précédent, dans le cas symétrique.

Math-2 (bM) 2007

Page 19: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 19

1.3.2.4 Exemple

Soit à effectuer un premier choix parmi 6 candidats au moyen des résultats suivants,obtenus à 4 tests :

a | 18 13 15 14b | 17 12 14 10c | 15 11 19 13d | 12 10 9 2e | 13 16 13 6f | 10 15 10 3

On construit le graphe orienté où existe une arête(x, y) si :– y a eu une meilleure note quex à au moins l’un des tests,– y n’a aucune note inférieure, dans aucun des tests.

FIG. 1.10 – Noyau de sélection

Le noyau de ce graphe (icia et e) fournit une première sélection.

1.4 Arbres et arborescences

1.4.1 Arbres

Prop 1.3 Etant données les trois propriétés (dans un grapheG àn sommets) :

1. G est connexe

2. G n’a aucun cycle

3. G possèden− 1 arcs.

deux quelconques d’entre elles impliquent la troisième.

Déf 1.10 Un graphe vérifiant les propriétés précédentes est appeléarbre.

1.4.1.1 Autres propriétés

Ex 1.5 Si on ajoute une arête à un arbre, on crée un cycle (et un seul).

Ex 1.6 Si on retire une arête à un arbre, on rompt la connexité.

Ex 1.7 Dans un arbre, il y a une chaîne (et une seule) entre deux sommets.

(bM) 2007 Math-2

Page 20: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

20 CHAPITRE 1. NOTIONS GÉNÉRALES

1.4.1.2 Arbre minimum

Soit un ensemble den sommets, dont on veut relier chaque paire par un chemin.Etant donné d’autre part le coût de construction de chaque arête, on se propose de

construire le graphe de coût minimum.

Algorithme de Kruskal (pour la recherche de l’arbre minimum) :

1. Initialement : aucune arête.

2. Etape zéro : construire les 2 arêtes de coûts minimum.

3. Pourk=3 :n-1choisir l’arête– la moins coûteuse– qui ne ferme aucun cycle avec les arêtes déjà retenues.

1.4.2 Arborescences

Déf 1.11 Une arborescence de raciner est un graphesans circuitet tel que :

1. tout sommetx, autre quer , a un seul prédécesseur ;

2. la raciner n’a pas de prédécesseur ;

1.4.2.1 Propriétés

SoitG une arborescence.

1. G n’a pas de cycle.

2. Le nombre d’arêtes est :m = n− 1

3. G est un arbre, donc connexe.

4. G possède au moins une feuille.

5. Il existe une chemin unique joignant la racine à tout autresommet.

6. Deux sommets de même niveau n’ont aucun descendant commun(cette propriétéinduit la notion debrancheissue d’un sommet).

1.4.2.2 Branch and bound

Un problème de prise de décisions est représenté par une arborescence :– les feuilles sont les solutions ;– chaque solution a un coût, que l’on sait calculer.

Bien entendu, il faut choisir la structure de cette arborescence (chaque niveau re-présente une étape, et les choix peuvent être nombreux).

Par delà les méthodes heuristiques, il convient de savoir répondre aux questionssuivantes, dont dépend l’efficacité de la procédure de résolution :

1. comment trouver unebonnesolution initiale, de démarrage ?

2. comment couper certaines branches de l’arborescence, qui n’amélioreront pas lasolution ? (bound)

3. où vaut-il mieux se brancher, en cours d’exploration? (branch)

Math-2 (bM) 2007

Page 21: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 1. NOTIONS GÉNÉRALES 21

1.5 Graphes planaires

Un graphe est planaire si on peut le dessiner sur une feuille sans que deux arêtes secoupent.

Formule d’Euler

Prop 1.4 Dans un graphe planaire àS sommets,F faces etA arêtes, on a :

S + F = A + 2

Application : il n’existe quecinqpolyèdres réguliers de l’espaceR3.

Graphe dual

Déf 1.12 Pour obtenir le graphe dual d’un graphe planaire connexe :– On place un sommet dans chaque face,– et on réunit par une arête coupant une fois et une seule toutearête commune aux

deux faces.

Exemples de graphes duals (entre parenthèsesS etF ) :– le cube (6,8) et l’octaèdre (8,6) ;– l’icosaèdre (12,20) et le dodécaèdre (20,12).

Prop 1.5 Le dual d’un graphe planaire est planaire.

Nombre chromatique

Thm 1.7 Un graphe planaire est4-chromatique.

Théorème de Kuratowski

Thm 1.8 Un graphe est planaire siet seulement siil ne contient pas l’un des deuxgraphes (complets)K5 etK33.

Il est clair queK5 et K33 ne sont pas planaires (formule d’Euler non vérifiée). Laréciproque montre qu’ils sont, de ce point de vue, minimaux.

FIG. 1.11 – Graphes non planaires :K5, K33

(bM) 2007 Math-2

Page 22: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Chapitre 2

Flots

2.1 Flot dans un réseau

2.1.1 Définitions

2.1.1.1 Réseau

On appelle réseau (network) un grapheG = (X, U) :– orienté, connexe, sans circuit ;– possédant une sourcea et un puitsb ;– à arcsu valués par des capacitésc(u) ≥ 0.

Rappel : on noteω−(S) l’ensemble des arcs incidents versS (entrants) etω+(S)l’ensemble des arcs sortants.1

2.1.1.2 Flot

Un flot est une fonctionϕ(u) à valeurs entières, définie surU , avec les popriétéssuivantes :

1. valeurs positives :∀u ϕ(u) ≥ 0

2. valeurs bornées2 : ∀u ϕ(u) ≤ c(u)

3. conservation (loi de Kirchhoff) :

∀x 6= a, b∑

u∈ω−(x)

ϕ(u) =∑

u∈ω+(x)

ϕ(u)

La valeur du flot est la quantité qui arrive au puitsb. C’est aussi la quantité qui partde la sourcea, et il est parfois commode d’introduire un arc (dit de retour) :

r = (b, a)

de sorte que :ϕ(r) =

u∈ω+(a)

ϕ(u) =∑

u∈ω−(b)

ϕ(u)

1 L’ensembleω(S) = ω−(S) ∪ ω−(S) des arcs ayant une extrémité (et une seule) dansS s’appelle uncocycle.

2 Si on a égalité, l’arcu est dit saturé.

22

Page 23: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 2. FLOTS 23

Cette quantité étant entière, on parlera souvent d’unitésde matière circulant dansle réseau.3

2.1.2 Représentations

Soit le réseau de la Fig. 2.1.

FIG. 2.1 – Exemple de réseau [GR3]

Sa matrice d’adjacenceM (sans l’arc de retour) s’écrit :

1 1 1 0 0 0 0 0 0 0 0 0 0 0 0-1 0 0 1 1 1 0 0 0 0 0 0 0 0 00 -1 0 0 0 0 1 1 1 0 0 0 0 0 00 0 -1 0 0 0 0 0 0 1 1 0 0 0 00 0 0 -1 0 0 -1 0 0 0 0 1 0 0 00 0 0 0 -1 0 0 -1 0 0 0 0 1 0 00 0 0 0 0 0 0 0 -1 -1 0 0 0 1 00 0 0 0 0 -1 0 0 0 0 -1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1

et le vecteurC des capacités :

45 25 20 10 15 20 20 5 15 10 10 30 10 20 30

Exemple de flot :

Φ = 20 20 20 10 10 0 20 0 0 10 10 30 10 10 10

pour lequel on peut vérifier que :

3 Cette condition de type entier est simplement numérique : ilexiste une quantité (atomique) minimumpour la modification d’un flot.

(bM) 2007 Math-2

Page 24: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

24 CHAPITRE 2. FLOTS

MΦ = (60, 0, . . . , 0, -60) c’est un flotΦ ≤ C il est compatible‖MΦ ‖∞ = 60 on a sa valeur

2.1.3 Flot maximum

On se propose de maximiser la valeurϕ(r) du flot.

2.1.3.1 Coupe

Déf 2.1 Soit un ensembleB de sommets contenantb.

– Unecoupeest un ensembleK d’arcs ayant leur extrémité dansB (et pas leurorigine).

– La capacitéd’une coupe est la somme des capacités de ses arcs :

C(K) =∑

u∈K

c(u)

Propriété d’une coupe Il résulte de la définition que tout ce qui arrive enb doittraverser la coupe. Donc :

Prop 2.1

ϕ(r) ≤ C(K) ∀K

La valeur d’un flot ne peut dépasser la capacité d’une coupe.

2.1.3.2 Flot maximum, coupe minimum

Prop 2.2 Si on a trouvé une coupeK telle que :

ϕ(r) = C(K)

alors :

– le flot est maximum : on ne peut rien ajouter surcettecoupeK ;– C(K) est minimum :ϕ(r) ne pourrait passer surC(K ′) < C(K).

Math-2 (bM) 2007

Page 25: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 2. FLOTS 25

2.2 Algorithme de Ford-Fulkerson

L’algorithme de Ford-Fulkerson construit un flot et détermine une coupe qui véri-fient le critère d’optimalité.

2.2.1 Description

La coupe s’obtient en réalisant une partition (dynamique) des sommets en sommetsmarqués et non marqués.

2.2.1.1 Obtention d’un flot complet

Le flot est construit par améliorations successives jusqu’àl’obtention d’un flot com-plet

Déf 2.2 Un flot est ditcompletsi tout chemin allant dea àb comporte au moins un arcsaturé

Tant qu’il existe un chemin dea à b n’ayant aucun arc saturé, on peut améliorer leflot sur ce chemin.

On le détermine de façon systématique en balayant les arcs depuis chaque noeud,dans un ordre convenu (arbitraire).

2.2.1.2 Marquage des sommets

Le marquage des sommets tente de construire unechaîneallant dea à b.Sur cette chaîne, certains arcs seront parcourus dans le bonsens (arc progressifs) et

d’autres en sens contraire (régressifs), choisis d’après la règle :– un arc progressifv doit vérifier :ϕ(v) < c(v)– un arc régressifw doit vérifier :ϕ(w) > 0

→ Si on arrive à marquer b, la chaîne ainsi construite est diteaméliorante, caron peut augmenter le flot :

– en ajoutant une unité sur tout arc progressifv,– en retranchant une unité sur tout arc régressifw.

La loi de Kirchhoff reste vérifiée sur les sommets de la chaîne, sauf ena et enb, où on a ajouté une unité.4

→ S’il est impossible de marquerb, cette partition des sommets (en marqués etnon marqués) détermine une coupe d’arcs(d, f) ayant, par construction, la propriétésuivante :

– si c’estd qui est marqué, alorsϕ(u) = c(u),– si c’estf , alorsϕ(u) = 0

i.e. :ϕ(K) = C(K)

et on conclut d’après le lemme (flot maximum – coupe minimum) :Prop. 2.2, p. 24.

4 En pratique, on accélère le processus en ajoutant non pasuneunité mais la quantité maximum possible,donnée par legraphe des écarts(valué parc − ϕ).

(bM) 2007 Math-2

Page 26: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

26 CHAPITRE 2. FLOTS

2.2.1.3 En résumé

L’algorithme est fini Il y a un arrêt des itérations, car :– le nombre de sommets est fini (et le graphe supposé sans circuit),– on ne peut augmenter le flot que jusqu’à la limite des capacités.

L’arrêt définit une coupe qui est l’ensembleK des arcs ayant une seule marque :soit à leur origine (d), soit à leur extrémité (f ).

Le flot est maximum par obtention d’une coupe minimale.

Remarque La coupe ainsi déterminée n’est pas forcément unique.5

2.2.2 Exemple

Soit à réaliser un réseau de distribution d’eau (avec des quantités mesurées ennombres entiers) à partir de trois réservoirs (1,2,3) vers quatre villes (4,5,6,7) :[GR3],Fig. 2.1, p. 23.

Il s’agit de maximiser la somme des quantités acheminées, sous des contraintes delimitation :

– de stockage de chacun des réservoirs,– de stockage en chacune des villes,– de chaque conduite d’acheminement existante.

Le graphe est ici biparti mais l’algorithme de Ford-Fulkerson n’est pas limité à cetype de graphe.

2.2.2.1 Obtention d’un flot complet

Flot au jugé (Fig.2.2)qu’on améliore. . .6 jusqu’à trouver un flot complet7 (Fig. 2.3).

2.2.2.2 Marquage

→ Procédure de marquage de Ford-Fulkerson :On arrive à marquerb, par la chaîne :

A −→ 3 −→ 6←− 2 −→ 4 −→ B

D’où l’amélioration8 : Fig. 2.4

→ On reprend la procédure de marquage. On ne peut plus marquerb :

A −→ 1 −→ 5

L’impossibilité de marquerb détermine donc une coupeK : Fig. 2.5

5C’est à dire qu’il ne sert à rien d’augmenter les capacités des arcs decettecoupe : l’optimum ne changerapas s’il se produit dans d’autres.

6 En ajoutant systématiquement sur le premier arc à gauche (mais on peut trouver d’autres flots).7 Pour obtenir un flot complet, on se restreint au graphe partiel des arcs non saturés.8 Obtenue en ajoutant non pasuneunité, mais le maximum possible sur le chemin.

Math-2 (bM) 2007

Page 27: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 2. FLOTS 27

FIG. 2.2 – Flot initial au jugé

FIG. 2.3 – Flot complet

(bM) 2007 Math-2

Page 28: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

28 CHAPITRE 2. FLOTS

FIG. 2.4 – Augmentation sur chaîne améliorante

FIG. 2.5 – Coupe minimale obtenue

Math-2 (bM) 2007

Page 29: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 2. FLOTS 29

2.3 Implémentations

2.3.1 Optimisation linéaire

Formulation primale Le problème du flot maximum est un problème d’optimisationlinéaire sous contraintes linéaires et on peut se proposer de le résoudre comme tel.

Soient :

Φ = (Φ1, Φ2, . . . , Φm)

M(n,m) = matrice d’adjacence

alors le problème s’écrit :

max ϕ = (MΦ | e1)

Φ ≥ 0

Φ ≤ C

Formulation duale On peut aussi résoudre le problème dual :

min θ = (Θ | C)

Θ ≥ 0

Θ ≥ M∗e1

2.3.2 Un programme classique

Le programme classique du flot maximum utilise la notion de graphe des écarts.

Version scilab :

function [ flot, G ] = fordFulk (G)//// Flot maximum : Ford - Fulkerson// Canadian Journal of Mathematics// Vol. 9, 1957, 210-218//// scilab : (bM) 2006

[ n, rien ] = size (G)

flot = 0it = 0while %t

it = it + 1

(bM) 2007 Math-2

Page 30: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

30 CHAPITRE 2. FLOTS

sig = zeros (n, 1)gam = zeros (n, 1)del = zeros (n, 1)del(1) = max (G)

iter = 0while %t

iter = iter + 1k = max (sig)

for i = 1:nif k ~= sig(i) then continue, end

for j = 1:nif del(j) ~= 0 then continue, endif G(i,j) <= 0 then continue, enddel(j) = min (G(i,j), del(i))gam (j) = iend

end // i

num = 0if del(n) > 0 then break, end

for i = 1:nif del(i) <= 0 then continue, endif sig(i) ~= 0 then continue, endnum = num + 1sig(i) = k+1end // i

if num == 0 then return, endend // while (iter)

f = del(n)flot = flot + fj = nwhile %t

i = gam(j)G(i,j) = G(i,j) - fG(j,i) = G(j,i) + fj = iif j==1 then break, endend

end // while (it)

endfunction // ...

Math-2 (bM) 2007

Page 31: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 2. FLOTS 31

2.4 Aspects algébriques

2.4.1 Flots et tensions

On suppose qu’il existe une fonctionπ (appeléepotentiel) définie sur les sommetsdeG, et on pose, pour tout arcu = (x, y) :

θ(u) = π(y)− π(x)

appelée fonctiontension(définie sur les arcs).

On a clairement :

θ = M∗π

Si le flotΦ dans un réseau est une tensionθ, on dit qu’il dérive du potentielπ.9

Orthogonalité des flots et des tensions Des relations :

MΦ = 0

θ = M∗π

on déduit que :

(θ | Φ) = 0

Tensions élémentaires Une tension est dite élémentaire sur un ensembleS de som-mets si :

θ(u) = +1 si u ∈ ω+(S)

θ(u) = −1 si u ∈ ω−(S)

Une tension élémentaire dérive de la fonction caractéristique du complémentairedeS dansX :

π(x) = 0 si x ∈ S

π(x) = 1 si x /∈ S

Le potentielπ est donc, dans ce cas particulier, associé à une coupe.

9 Analogie évidente en électricité où le flot est une intensité.

(bM) 2007 Math-2

Page 32: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

32 CHAPITRE 2. FLOTS

2.4.2 Flots bornés

On dit que le flot est borné lorsque la contrainte de définitions’écrit :

0 ≤ b(u) ≤ ϕ(u) ≤ c(u)

Le problème qui se pose alors dans l’application de l’algorithme de Ford-Fulkersonest de trouver un flot initial de démarrage (ce n’est plus zéro).

2.4.2.1 Flots et simplexe

Si le problème primal est en termes de flots, le dual est en termes de potentiel, eton montre que la tension estélémentaireà l’optimum.

Le potentiel dont elle dérive définit alors la coupe.

2.4.2.2 Existence d’un flot

Theorème de Hoffmann Si la contrainte s’écrit :

b ≤ Φ ≤ c

alors la condition :∑

u∈ω−(S)

c(u) ≥∑

u∈ω+(S)

b(u) ∀S ∈ X

estnécessaire et suffisantepour l’existence d’un flot compatible.

Il est remarquable que la condition soit suffisante.

La démonstration est constructive : l’algorithme (dit de Herz) minimisela somme des écarts du flot existantdans le mauvais sens. . . (et montrealors qu’on peut l’annuler sous la condition ci-dessus).

Math-2 (bM) 2007

Page 33: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Chapitre 3

Couplage

3.1 Affectation optimale

3.1.1 Définitions

3.1.1.1 Graphe biparti

Déf 3.1 On appellegraphe biparti, notéG(X, Y, U), un graphe dont l’ensemble dessommets est partitionné en deux classes(X, Y ) et tel que tout arc a son origine dansX et son extrémité dansY .

Exemple : le grapheK3,3 est un graphe biparti complet.

Si on numérote les sommets deX d’abord(1:p), puis ceux deY(p+1:n), alors la matrice associée n’a déléments non nuls que dans lecoin en haut à droite ainsi défini.

La matrice d’adjacence est aussi partitionnée en sesp premières lignes(contenant tous les 1) et lesn-p suivantes (contenant tous les -1).

3.1.1.2 Couplage

Déf 3.2 Un ensemble d’arcs est appelé couplage si deux arcs ne sont jamais adjacents :– un sommetx a un successeur au plus,– un sommety a un prédécesseur au plus.

Un sommet (deX ouY ) est dit saturé s’il appartient à un arc du couplage.Le problème usuel est la recherche d’uncouplage optimum(ayant le maximum

d’arcs).

3.1.2 Représentation matricielle

Soit à réaliser l’affectation optimale dep individusLi à p postesCj , compte tenud’une table de coefficients d’adéquation.

Affectationglobalementoptimale : on optimise la somme des coefficients.

33

Page 34: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

34 CHAPITRE 3. COUPLAGE

Dans l’exemple numérique suivant[GR4] (représentant le coin en haut à droite dela matrice du graphe) :

A =

7 3 5 7 106 ∞ ∞ 8 76 5 1 5 ∞

11 4 ∞ 11 15∞ 4 5 2 10

on convient queAij = 0 est l’optimum (∞ représentant l’impossibilité d’affectation).

Remarque On ne change pas la solution de ce problème en retranchant de chaquecolonne son plus petit élément et en opérant de même sur les lignes :

A′ =

1 0 4 5 30 ∞ ∞ 6 00 2 0 3 ∞4 0 ∞ 8 7∞ 1 4 0 3

3.2 Résolution par flot maximum

3.2.1 Graphe initial des zéros

On considère d’abord le graphe partiel des zéros de la matrice, avec des arcs sup-posés booléens (affectés ou non affectés).

En y ajoutant une entrée (conduisant aux sommets deX) et une sortie (d’où pro-viennent les sommets deY ), on obtient une réseau auquel on peut appliquer l’algo-rithme de Ford-Fulkerson.

Si le flot maximum sur ce graphe partiel correspond à un couplage qui sature touslesX ou tous lesY , alors c’est l’optimum.

Sinon, on ajoute des arcs à ce graphe partiel.

3.2.2 Adjonction d’arcs

On augmente le graphe partiel en y ajoutant les arcs correspondant aux éléments deA′ les plus petits restants.1

Sur ce graphe augmenté, on entame une procédure de marquage qui peut améliorerla couplage.

On réitère cette opération (d’adjonction d’arc) jusqu’au couplage optimum ou àl’épuisement des arcs.

1 C’est à dire qu’on accepte un optimum correspondant à des termes deA′ autres que les zéros.

Math-2 (bM) 2007

Page 35: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 3. COUPLAGE 35

3.2.3 Une chaîne améliorante est alternée

Déf 3.3 Une chaîne dansG est dite alternée si elle est composée d’arcs alternativementsaturés et non saturés.

Théorème

Un couplage est maximum si et seulement siaucune chaîne alternée ne relie deux sommets insaturés.

Il est facile de voir que la condition est nécessaire, car on peut améliorer le couplagesur une chaîne alternée :

on y permute les arcs saturés et les non saturés,

Exemple (non significatif pour la matrice ci-dessus) :

3.3 Algorithme hongrois

L’algorithme de König (algorithme hongrois) résout le problème du couplage opti-mum.

3.3.1 Description sur un exemple

Sur le graphe[GR4] des zéros de la matrice :

1 0 4 5 30 ∞ ∞ 6 00 2 0 3 ∞4 0 ∞ 8 7∞ 1 4 0 3

on sature d’abord les arcs :

(L1, C2), (L2, C1), L3, C3), (L5, C4)

et le flot est alors complet car on ne peut marquer la sortie :

E → L4 → C2 ← L1

(bM) 2007 Math-2

Page 36: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

36 CHAPITRE 3. COUPLAGE

L’algorithme hongrois améliore le processus en observant que l’ensemble des ran-gées deA′ correspondant auxLi marqués et auxCj non marqués représente les arcspossibles à ajouter.

Le meilleur arc correspond ainsi au plus petit élément de la sous-matrice :

1 . 4 5 3. . . . .. . . . .4 . ∞ 8 7. . . . .

c’est à dire(L1, C1). 2

Dans ce nouveau graphe : on constate alors que la chaîne :

(L4, C2, L1, C1, L2, C5)

est alternée (entre deux sommets insaturés). La permutation des arcs saturés et nonsaturés donne donc un arc de plus.

Le couplage obtenu :

(L1, C1); (L2, C5); (L3, C3); (L4, C2); (L5, C4)

est alors maximum (sans être unique).Sa valeur (calculée dans la matrice initiale) est :

7 + 7 + 1 + 4 + 2 = 21

2 Alors que la version de principe aurait ajouté les deux arcs(1, 1) et (5, 2).

Math-2 (bM) 2007

Page 37: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 3. COUPLAGE 37

3.3.2 Version matricielle de l’algorithme hongrois

3.3.2.1 Couplage (partiel) initial

– Choisir une ligne contenant le moins de zéros.– Encadrer0 le premier zéro et barrer⊘ tous les autres sur sa ligne et sa colonne.– Continuer jusqu’à avoir traité tous les zéros.

. 0 . . .

0 . . . ⊘

⊘ . 0 . .. ⊘ . . .

. . . 0 .

3.3.2.2 Sous-matrice d’adjonction d’un arc

– Marquer les lignes ne contenant pas de zéro encadré0– Marquer les colonnes ayant un zéro barré⊘ dans une ligne marquée.– Marquer les lignes ayant un zéro encadré0 dans une colonne marquée.– Barrerles lignesnon marquées et les colonnes marquées.

↓1 0 4 5 3

→ 0 ∞ ∞ 6 0→ 0 2 0 3 ∞

4 0 ∞ 8 7→ ∞ 1 4 0 3

3.3.2.3 Amélioration

– Prendre le plus petit des éléments de la matrice restante (en enlevant les rangéesbarrées).

– Soustraire ce nombre des colonnes nonbarrées et l’ajouter aux lignes barrées.

1 0 4 5 30 ∞ ∞ 6 00 2 0 3 ∞4 0 ∞ 8 7∞ 1 4 0 3

0 0 3 4 20 ∞ ∞ 6 00 3 0 3 ∞3 0 ∞ 7 6∞ 2 4 0 3

3.3.2.4 Itération

On reprend le marquage jusqu’à trouverp zéros encadrés0 .

(bM) 2007 Math-2

Page 38: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Chapitre 4

Chemins extrémaux

On considère un grapheG = (X, U), à arcs valués, sans circuits.La valeurvij d’un arc est appelée sa longueur.

4.1 Problème du plus court chemin

On se place dans le cas particulier d’un réseau (entréea, sortieb), représentant lesétapes d’un projet, l’existence d’un arc(i, j) signifiant que :

– l’étapej est postérieure ài ;– une durée minimumvij est nécessaire entre les deux.

Déf 4.1 Problème du plus court chemin : trouver un chemin dea à b, de longueurmaximale.1

4.1.1 Algorithme de Ford

L’algorithme ci-dessous2 résout le problème par une procédure de marquage dessommets.

Algo 4.1 Algorithme du plus court chemin :– marquer l’entrée parta = 0– marquer chaque sommetj donttousles prédécesseursP (j) sont marqués :

tj = maxi∈P (j)

(ti + vij)

– La marquetb de la sortie est la longueur du chemin extrémal.3

Ex 4.1 Ecrire l’algorithme de Ford.

On peut utiliser la matrice associée (vij) : Fig. 4.1, p. 39.On notera l’importance de la numérotation des sommets (testj<i) : il

faut la faire grosso-modo dans l’ordre d’éloignement de l’entrée.

1 C’est bienmax pour un pluscourt chemin, car toutes les étapes doivent être validées.2 de Ford, mais on dit aussi : de Moore-Dijkstra, de Dantzig, . ..3 Si on n’arrive pas à marquer la sortie, c’est que le graphe comporte un circuit.

38

Page 39: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 4. CHEMINS EXTRÉMAUX 39

FIG. 4.1 – Algorithme de Ford

for i = 1:nfor j = 2:n

if v(i,j) == 0 then continue, end

tt = t(i) + v(i,j)if t(j) < tt then

t(j) = ttif j < i then i = j, j = 2, end // !end

endend

4.1.1.1 Chemin critique

Déf 4.2 Soit un chemin dea à i, de longueur maximale : sa longueurdi est appeléedate au plus tôt (du sommeti).

En inversant le sens des arcs du graphe, on obtient les (compléments à la duréetotale des) dates au plus tardfi (de chaque sommet).

Déf 4.3 On appelle chemin critique un chemin dea àb, jalonné par des sommetsi telsque :

di = fi

vij = dj − di

On le construit en remontant les arcs depuisb.

Il n’est pas forcément unique.

4.1.2 Ordonnancement

Le problème de l’ordonnancement consiste à déterminer le calendrier d’exécutionde tâches soumises à des contraintes de coordination (succession et durée).

On détermine alors le chemin de longueurmaximaleallant du début à la fin duprojet.

La méthode PERT4 est un autre nom (utilisé en gestion de projets) de l’algorithmedu plus court chemin.

4 Program Evaluation Research Taskou Review Technique

(bM) 2007 Math-2

Page 40: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

40 CHAPITRE 4. CHEMINS EXTRÉMAUX

4.1.2.1 Exemple

Soit le réseau d’ordonnancement[GR5] dont le dictionnaire (avec les valuationsentre parenthèses) s’écrit :

0 −→ 1 (2), 3 (6), 4 (4), 2 (4)1 −→ 3 (3), 4 (5)2 −→ 6 (7)3 −→ 5 (6)4 −→ 2 (2), 5 (4), 6 (3)5 −→ 7 (2)6 −→ 7 (3)7 −→ 8 (4)

4.1.2.2 Résolution graphique

Dates au plus tôt et au plus tard :

0 : (0,0)1 : (2,2)2 : (9,9)3 : (6,11)4 : (7,7)5 : (12,17)6 : (16,16)7 : (19,19)8 : (23,23)

Chemin critique :

0 −→ 1 −→ 4 −→ 2 −→ 6 −→ 7 −→ 8

Math-2 (bM) 2007

Page 41: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 4. CHEMINS EXTRÉMAUX 41

4.2 Méthode matricielle

4.2.1 Matrices et opérations symboliques

4.2.1.1 Définitions

Déf 4.4 Matrice symboliqueM du graphe valué :5

Mij =

vij si (xi, xj) ∈ U0 si i = j−∞ si (xi, xj) /∈ U

Déf 4.5 Opérations symboliques associées àM :

a [+] b = max(a, b)a [*] b = a + b

remplaçant6 l’addition et la multiplication.

Prop 4.1 Les opérations symboliques vérifient les propriétés usuelles :

1. distributivité

2. matricenulle :

−∞ −∞ −∞−∞ −∞ −∞−∞ −∞ −∞

3. matriceidentité:

0 −∞ −∞−∞ 0 −∞−∞ −∞ 0

4.2.1.2 Propriétés

Posons :M(p) = M [p]

Ex 4.2 Montrer que :

[M(2)]ij est la longueur maximale des chemins dedeuxarcs entrei et j.

C’est une conséquence immédiate de la formule :

C = A[∗]B ⇒ Cij = max(Aik + Bkj)

Prop 4.2 La matriceM(p) est la matrice des chemins maximaux dep arcs.

Le nombren de sommets étant fini et le graphe supposé sans circuits, il est clairque les puissances successives deM finissent par se stabiliser.

On a donc les cas particuliers :– M(1) = M , matrice initiale ;

5 Dans le cas d’une longueur maximale pour fixer les idées. Pourune longueur minimale, on remplace−∞ par+∞ etmax parmin.

6 avantageusement, car plus rapides.

(bM) 2007 Math-2

Page 42: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

42 CHAPITRE 4. CHEMINS EXTRÉMAUX

– M(n− 1) = R, appeléematrice de résolution.

Ex 4.3 On peut calculerR enO(log n) produits matriciels symboliques.

Car il suffit en pratique de calculerM [2], M [4], M [8], . . ., jusqu’à lastabilisation.

4.2.2 Ordonnancement par la méthode matricielle

SoitR la matrice de résolution. On observe que :– la ligneR(1,:) donne les dates au plus tôt ;– l’élémentR(1,n) est la longueur totale cherchée ;– la colonneR(:,n) permet de calculer les dates au plus tard.

4.2.2.1 Calcul des marques

Si on veut éviter le calcul deR, on peut itérer un produit matrice-vecteur pourobtenir les dates.

Ex 4.4 La suite de vecteurs (ligne) :

V0 = M(1, :)

Vk+1 = Vk [∗] M

converge vers les dates au plus tôt.

Ex 4.5 La suite de vecteurs (colonne) :

Z0 = M( :,n)

Zk+1 = M [∗] Zk

converge vers le complément (àR(1,n)) des dates au plus tard.

Math-2 (bM) 2007

Page 43: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

CHAPITRE 4. CHEMINS EXTRÉMAUX 43

4.2.3 Exemple de résolution matricielle

On reprend le réseau d’ordonnancement[GR5] de la page 40.

Matrice symbolique (le- est un−∞) :

M =

0 2 4 6 4 − − − −− 0 − 3 5 − − − −− − 0 − − − 7 − −− − − 0 − 6 − − −− − 2 − 0 4 3 − −− − − − − 0 − 2 −− − − − − − 0 3 −− − − − − − − 0 4− − − − − − − − 0

Dates au plus tôt :

(

0 2 9 6 7 12 16 19 23)

Dates au plus tard :(

0 2 9 11 7 17 16 19 23)

Matrice de résolution :

R =

0 2 9 6 7 12 16 19 23− 0 7 3 5 9 14 17 21− − 0 − − − 7 10 14− − − 0 − 6 − 8 12− − 2 − 0 4 9 12 16− − − − − 0 − 2 6− − − − − − 0 3 7− − − − − − − 0 4− − − − − − − − 0

On observe que la présence (dansM , et donc dansR) d’éléments au dessous dela diagonale est une indication de (mauvaise) qualité de la numérotation (on a signaléci-dessus que cela activait un test de rebouclage dans l’algorithme de Ford).

(bM) 2007 Math-2

Page 44: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Deuxième partie

Exercices

44

Page 45: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Séance 1

Graphes

Objectifs

Quelques résultats d’illustration de la théorie des graphes.

FIG. 1.1 – Exemple de graphe

1.1 Représentations d’un graphe

Déf 1.1 Dictionnaire du graphe :

1 : 2, 42 : 33 : 4, 54 : 25 : ⊘

Déf 1.2 Matrice associée :

B =

0 1 0 1 00 0 1 0 00 0 0 1 10 1 0 0 00 0 0 0 0

45

Page 46: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

46 SÉANCE 1. GRAPHES

Déf 1.3 Matrice d’adjacence :

M =

1 1 0 0 0 0−1 0 1 0 0 −10 0 −1 1 1 00 −1 0 −1 0 10 0 0 0 −1 0

Ex 1.1 Ecrire le principe d’algorithmes de conversion entre les différentes représenta-tions.

Commenter rapidement : l’encombrement (de la représentation choisie) et la com-plexité (de la fonction de conversion).

1.2 Cheminements dans un graphe

Ex 1.2 On se pose le problème de l’existence decheminsentre deux sommets donnésd’un graphe.

CalculerB2, B3, . . . et expliquer le résultat.

Ex 1.3 Pour vérifier l’absence decircuit dans un graphe, on applique l’algorithme sui-vant :

1. marquer tout sommet qui n’a pas de successeur ;

2. marquer tout sommet dont tous les successeurs sont marqués.

Quels en sont les terminaisons possibles ?

Ex 1.4 Quelle est la structure de données la plus adaptée ?

En particulier, si on représente le graphe par sa matrice associée, quel est le critèred’absence de circuit ?

Circuits hamiltoniens

Ex 1.5 On considère le graphe(X, U) formé par lesn2 cases d’un échiquier avec desarêtes qui relient deux cases quand un cavalier peut aller directement de l’une à l’autre.

Montrer que sin est impair un cavalier ne peut pas passer par toutes les casesetrevenir à son point de départ.

→ Cette propriété équivaut à dire que :Un graphe 2-coloriable n’admet pas de cycle de longueur impaire.

Ex 1.6 Montrer que le graphe associé au dodécaèdre est hamiltonien.

Math-2 (bM) 2007

Page 47: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 1. GRAPHES 47

FIG. 1.2 – Dodécaèdre

1.3 Stabilité

Stabilité interne

Déf 1.4 Un sous-ensembleA de sommets est ditstables’il ne contient pas d’arcs.

Déf 1.5 Le nombre chromatiqueest le nombre minimum de sous-ensembles stablesréalisant une partition deX .

1.3.0.1 Exemple

Soit à colorier une carte de 8 pays, dont la matrice binaire représente le graphe decontiguïté :Aij = 1 si i et j sont limitrophes.

A =

• 1 1 0 0 0 0 0• 1 1 0 0 0 0• 0 1 0 0 0• 0 0 1 0• 0 0 1• 0 0• 0•

Ex 1.7 Décrire un algorithme (raisonnable) de construction de sous-sensembles stables,donc de coloration.

Ex 1.8 On supose avoir déterminé, de façon systématique, les sous-sensembles stablessuivants :

(bM) 2007 Math-2

Page 48: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

48 SÉANCE 1. GRAPHES

1 4 51 4 81 5 71 7 82 5 7 62 6 7 83 4 6 83 6 7 84 5 6

Comment peut-on conclure ?

1.4 Graphes particuliers

Aborescences

Ne pas confondrearbre (graphe non orienté, connexe, sans cycle) etarborescence,qui est un graphe orienté possédant une (racine).

A toute expression formée par composition de fonctions, on peut associer unear-borescencede la manière suivante :

– on écrit l’expression en notation polonaise inverse,– les feuilles sont les constantes ou les variables,– les noeuds sont les symboles de fonction,– les arcs relient deux fonctions qui sont composées.

Ex 1.9 Quelle est l’arborescence associée à :

sin (x + y) +

∫ a+1

a−1

(2√

x2 + 1 + y) dx

Ex 1.10 Comment est parcourue l’arborescence lors de l’évaluation?

Graphes planaires

Thm 1.1 Si un graphe connexe est planaire et siS est le nombre de sommet,A lenombre d’arête etF le nombre de face on a (relation d’Euler) :

S + F −A = 2

Rappel :K5 est le graphe complet à5 noeuds, i.e. c’est la réunion du pentagoneet du pentagone étoilé.K3,3 est le graphe à(3 + 3) noeuds dont les arêtes relient troismaisons à trois puits.

Ex 1.11 Vérifier que les graphesK5 etK3,3 ne peuvent pas être planaires.

Math-2 (bM) 2007

Page 49: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Séance 2

Flots et chemins dans un réseau

Objectifs

Théorie des Graphes.Flot maximum dans un réseau.Problème du chemin optimal.

Rappelons qu’on noteω−(x) l’ensemble des arcs incidents versx (sommet ouensemble de sommets) etω+(x) l’ensemble des arcs sortant dex.

2.1 Flot maximum

Déf 2.1 On appelleréseauun grapheG = (X, U) :– orienté, connexe, sans boucle ;– possédant une sourcea et un puitsb ;– à arcsu valués par des capacitésc(u) ≥ 0.

Déf 2.2 Un flot est une fonctionϕ(u) à valeurs entières, définie surU , telle que :

1. ∀u ϕ(u) ≥ 0

2. ∀u ϕ(u) ≤ c(u)

3. ∀x 6= a, b∑

u∈ω−(x) ϕ(u) =∑

u∈ω+(x) ϕ(u) (loi de Kirchhoff)

La valeurdu flot est la quantité qui arrive au puitsb (c’est donc aussi égal à ce quipart de la sourcea).

ϕ(b) =∑

u∈ω+(a)

ϕ(u) =∑

u∈ω−(b)

ϕ(u)

→ On se propose de maximiser la valeur du flot.

Déf 2.3 Une coupeest un ensembleE d’arcs qui rencontre tout chemin allant de lasourcea vers le puitsb.

49

Page 50: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

50 SÉANCE 2. FLOTS ET CHEMINS DANS UN RÉSEAU

La capacitéd’une coupe est la somme des capacités de ses arcs :

C(E) = c(ω−(E)) =∑

u∈ω−(E)

c(u)

Prop 2.1 La valeur d’un flot ne peut dépasser la capacité d’une coupe.

Thm 2.1 Le flot est maximum s’il est égal à la capacité miminale d’une coupe.

Déf 2.4 Un flot est ditcompletsi chaque chemin allant dea àb comporte au moins unarc saturé.

Algo 2.1 L’algorithme de Ford-Fulkerson est une procédure de marquage dynamiquedes sommets d’une chaîne allant dea à b.

Déf 2.5 Une chaîne allant dea à b est dite améliorante si ses arcs progressifs sont nonsaturés et ses arcs régressifs non vides.

Exercice

Soit à réaliser un réseau de distribution d’eau (avec des quantités mesurées ennombres entiers), à partir de trois réservoirs (1,2,3), vers trois villes (4,5,6).

Il s’agit de maximiser la somme des quantités acheminées, compte tenu des limi-tations de capacité : de stockage de chacun des réservoirs (arcs partant de l’entréea),de stockage en chacune des villes (arcs incidents sur la sortie b), de chaque conduited’acheminement existante.

FIG. 2.1 –

Ex 2.1 Vérifier (avec un tracé du graphe ou sur une matrice) qu’un premier flot au jugéest compatible avec les contraintes.

Ex 2.2 Améliorer le flot jusqu’à le rendre complet (ϕ = 10).

Ex 2.3 Entamer une procédure de marquage et vérifier qu’onpeutatteindre la sortieb.

Ex 2.4 Faire l’amélioration de l’algorithme de Ford-Fulkerson (alors ϕ = 11) et ca-ractériser la coupe qui en résulte.

Math-2 (bM) 2007

Page 51: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 2. FLOTS ET CHEMINS DANS UN RÉSEAU 51

Convergence

Ex 2.5 Montrer que (sous d’éventuelles conditions que l’on précisera) l’algorithmecomporte un nombre fini d’étapes.

Ex 2.6 Montrer que l’arrêt définit une coupe.

Ex 2.7 Montrer qu’alors le flot est maximum.

2.2 Ordonnancement

Déf 2.6 On considère un réseau (dit graphe d’ordonnancement)G = (X, U) à arcsvalués (par une duréevij appelée ici. . . longueur).

→ Le problème est de trouver le chemin de longueur extrémale allant du sommetd’entréea à la sortieb.

Algo 2.2 Algorithme de Ford : marquageti des sommets.

Déf 2.7 Les arcs(i, j) pour lesquels on a :tj − ti = vij jalonnent le chemin critique.

Exercice

Soit à réaliser un projet dont les étapes (successives ou concomittantes) sont re-présentées par un graphe d’étapes (valué par des durées) dont le dictionnaire s’écrit1 :

0 7→ 1 (2), 3 (6), 4 (4), 2 (4)1 7→ 3 (3), 4 (5)2 7→ 6 (7)3 7→ 5 (6)4 7→ 2 (2), 5 (4), 6 (3)5 7→ 7 (2)6 7→ 7 (3)7 7→ 8 (4)

Ex 2.8 Dessiner le graphe de ce projet.Quelle est la structure de données suggérée par le dictionnaire du graphe ?

Ex 2.9 Calculer les dates au plus tôt.Déterminer la durée optimale du projet et calculer les datesau plus tard.

Ex 2.10 Déterminer le chemin critique.

Méthode algébrique

Déf 2.8 Matrice et opérations symboliques :[+], [*], . . . .

Prop 2.2 Montrer que :M(p) = M [p]

1Les valuations figurent entre parenthèses.

(bM) 2007 Math-2

Page 52: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

52 SÉANCE 2. FLOTS ET CHEMINS DANS UN RÉSEAU

2.3 Couplage

Déf 2.9 On appellegraphe biparti, notéG(X, Y, U), un graphe dont l’ensemble dessommets est partitionné en deux classes(X, Y ) et tel que tout arc a son origine dansX et son extrémité dansY .

Déf 2.10 Un ensemble d’arcs est appelécouplagesi deux arcs ne sont jamais adja-cents.

On convient de nommerarcs épaisles arcs du couplage etarcs finsles autres.

→ Le problème usuel est la recherche d’un couplage maximum (ayant le maximumd’arcs).

Exercice

Soit à réaliser l’affectation optimale dep individusXi à p postesYj , compte tenud’une table de coefficients d’adéquation.

Dans l’exemple numérique suivant :

C =

7 3 5 7 106 ∞ ∞ 8 76 5 1 5 ∞

11 4 ∞ 11 15∞ 4 5 2 10

on convient queCij = 0 est l’optimum (∞ représentant l’impossibilité d’affectation).On ne change pas la solution de ce problème en retranchant de chaque colonne son

plus petit élément et en opérant de même sur les lignes.On obtient :

C′ =

1 0 4 5 30 ∞ ∞ 6 00 2 0 3 ∞4 0 ∞ 8 7∞ 1 4 0 3

Ex 2.11 Quel est, en termes matriciels, la nature du résultat cherché ?

Ex 2.12 Poser ce problème en termes de flot maximum et résoudre par l’algorithme deFord-Fulkerson.

Déf 2.11 Une chaîne dansG est ditealternéesi elle est composée d’arcs alternative-ment épais et fins.

Prop 2.3 Le couplage est maximum si et seulement si aucune chaîne alternée ne reliedeux sommets insaturés.

Math-2 (bM) 2007

Page 53: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Séance 3

Programmation linéaire

Objectifs

Initiation à la programmation linéaire.

3.1 Engrais chimiques

Une usine chimique produit deux sortes d’engrais minéraux complexes par mélangede plusieurs composants.

1. Le produitA, vendu 3 euros, est composé de :– 1 kg de nitrates– 2 kg de sel de potassium

2. Le produitB, vendu 5 euros, est composé de :– 1 kg de nitrates,– 1 kg de phosphates– 3 kg de sel de potassium.

Sachant que les quantités disponibles en stock sont :

– 8 kg de nitrates,– 4 kg de phosphates– 19 kg de sel de potassium.

déterminer les quantités (x1, x2) de chaque produit à fabriquer pour maximiser le bé-néficeΦ.

3.1.1 Méthode géométrique

Ex 3.1 Résoudre géométriquement ce problème.

Ex 3.2 Ecrire la formulation algébrique de ce problème.

Déf 3.1 On introduit des variables d’écart(y1, y2, y3), représentant les quantités rési-duelles de composants :forme standard.

53

Page 54: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

54 SÉANCE 3. PROGRAMMATION LINÉAIRE

Ex 3.3 On convient de représenter un point du domaine admissible aumoyen de 5composantes(x1, x2, y1, y2, y3).

Caractériser les sommetsO, M, T, P, N (en tournant dans le sens trigonométrique)de ce domaine polygonal.

Ex 3.4 Si on chemine le long deON , montrer qu’on parvient à :

Φ(0, 4, 4, 0, 7) = 20 + 3x1 − 5y2

Ex 3.5 Qu’obtient-on par un calcul analogue le long deOM ?

Ex 3.6 Continuer les itérations jusqu’à obtenir l’optimum.

3.1.2 Méthode des tableaux

Déf 3.2 Tableau du simplexe: on ajoute au système des contraintes une ligne suppé-mentaire représentant la fonction objectif :

– coefficients (changés de signe), à gauche ;– valeur initiale, à droite.

Le résultat d’un certain programme se trouve ci-dessous.

1 2 3 4 51.0 1.0 1.0 0.0 0.0 8.0 30.0 1.0 0.0 1.0 0.0 4.0 42.0 3.0 0.0 0.0 1.0 19.0 5

-3.0 -5.0 0.0 0.0 0.0 0.0

1 4 3 4 51.0 0.0 1.0 -1.0 0.0 4.0 30.0 1.0 0.0 1.0 0.0 4.0 22.0 0.0 0.0 -3.0 1.0 7.0 5

-3.0 0.0 0.0 5.0 0.0 20.0

5 4 3 4 50.0 0.0 1.0 0.5 -0.5 0.5 30.0 1.0 0.0 1.0 0.0 4.0 21.0 0.0 0.0 -1.5 0.5 3.5 10.0 0.0 0.0 0.5 1.5 30.5

Ex 3.7 Vérifier que chaque tableau est relatif à une étape des itérations de l’un descheminements décrits précédemment (lequel ?).

Ex 3.8 Comment passe-t-on d’un tableau au suivant ?

Ex 3.9 Pourquoi le dernier tableau est-il . . . bien le dernier ?

3.1.3 Perturbation des données

Ex 3.10 On dispose désormais de 10 kg de nitrates (au lieu de 8). Quel est la nouvellesolution ?

Ex 3.11 Même question avec 6 kg de nitrates ? et. . . c’est normal, toutça ?

Math-2 (bM) 2007

Page 55: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 3. PROGRAMMATION LINÉAIRE 55

3.1.4 Autre point de vue

Une coopérative agricole négocie le prix unitaire de chaquecomposant pour acheterla totalité du stock. On veut déterminer les prix pour que cette vente en vrac rapporteau moins autant que la vente des mélanges.

Ex 3.12 Caractériser ce problème par rapport au précédent.

Ex 3.13 Que peut-on dire de sa résolution ?

3.2 Approximation du problème du profil d’une route

Rappels (de la séance 2 d’Optimisation) :

– La fonctiong et les scalairesh, α sont des données.– La fonctionφ sera choisie plus loin.– Expression à minimiser :

J(u) =

n∑

1

Ji(u)

Ji(u) =

∫ xi

xi−1

φ(

u(x)− g(x))

dx

– Méthode d’approximation :

Ji(u) ≈h

2

(

φ(

u(xi−1)− g(xi−1))

+ φ(

u(xi)− g(xi))

)

– Expression numérique à minimiser :

I(U) = h

(

1

2φ(u0 − g0) + φ(u1 − g1) + · · ·+ φ(un−2 − gn−2) +

1

2φ(un−1 − gn−1)

)

– Contraintes à vérifier :

|ui − ui−1| ≤ αh 1 ≤ i ≤ n− 1

Ex 3.14 On choisitφ(y) = |y|. Montrer que ce problème d’optimisation est équivalentau problème :

minui,zi

1

2z0 + z1 + · · ·+ zn−2 +

1

2zn−1

|ui − ui−1| ≤ αh

zi ≥ h|ui − gi| 1 ≤ i ≤ n− 1

Ex 3.15 Poser précisément ce problème de programmation linéaire (en prenantn = 4pour fixer les idées).

Ex 3.16 Sait-on le résoudre ? (comme précédemment).

(bM) 2007 Math-2

Page 56: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

Séance 4

Algorithme du simplexe

Objectifs

Optimisation linéaire sous contraintes linéaires.Aspects algébriques et géométriques.Algorithme du simplexe.Certains résultats (cités pour la continuité de l’exposé) n’ont pas à êtredémontrés.

4.1 Exemple

Un manufacturier fabrique deux types de produits à partir detrois composants :

– un produitA (5 plaques, 2 rondelles, 1 tube) rapportant 8 euros.– un produitB (3 plaques, 3 rondelles, 3 tubes) rapportant 6 euros.

Sachant qu’il dispose en tout de 30 plaques, 24 rondelles, 18tubes, calculer les quan-titésx1 (de produitsA) et x2 (de produitsB) à fabriquer pour maximiser son bénéficeΦ.

Ex 4.1 Rappeler brièvement la méthode de résolution vue à la séanceprécédente :

– introduire les variables d’écart,– écrire la forme canonique,– itérer jusqu’à l’optimum : le tableau final est celui de la Fig. 4.1.

56

Page 57: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 4. ALGORITHME DU SIMPLEXE 57

FIG. 4.1 – Tableau final obtenu

| 1 0 1/4 0 -1/4 3 || 0 0 -1/4 1 -3/4 3 || 0 1 -1/12 0 5/12 5 || 0 0 3/2 0 1/2 54 |

4.2 Inéquations linéaires

Déf 4.1 Forme standarddu système des contraintes :

C11 C12 · · · C1n

C21 C22 · · · C2n

......

.. ....

Cp1 Cp2 · · · Cpn

x1

x2

...

xn

=

d1

d2

...dp

Aspects algébriques

Déf 4.2 Partition deC enmatrice de baseB et hors-baseH .

Déf 4.3 Forme canoniquedu système des contraintes :B−1Cx = B−1d.

On s’arrange pour que les colonnes de base soient regroupéesà droite :C = [H B].

1 m m+1 m+p=nx(1 :m) x(m+1 :m+p)variables hors-base variables de base

Déf 4.4 Changement de base: passage de la matrice d’une forme canonique à uneautre.

Notation des composantes du changement de base :

r = indice (1 ≤ r ≤ m) de la composante qui entres = indice (m + 1 ≤ m + s ≤ m + p) de celle qui sort

L’entier s est donc l’indice, dansB regroupée à droite, de la colonne sortante.

Déf 4.5 Une solution est ditede basesi les composantes hors-base sont nulles :x(1 :m)= 0.

Ex 4.2 Quelle est l’expression de la solution de base d’une forme canonique?

Si l’une des composantes de base s’annule également, la solution est ditedégéné-rée.

Déf 4.6 Une solution du système des contraintes est diteréalisablesi :x(1 :n)≥ 0.

(bM) 2007 Math-2

Page 58: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

58 SÉANCE 4. ALGORITHME DU SIMPLEXE

Thm 4.1 [Farkas-Minkowski] On a l’alternative suivante :– ou bien le système des contraintes (Cx = d) admet une solution réalisable,– ou bien on peut trouver un vecteuru tel que :

C∗u ≥ 0

(d|u) < 0

Cela veut dire :– ou biend appartient au cône défini par les colonnes deC,– ou bien il possède une composante (u) non nulle dans une direction orthogonale,

i.e. il existe un hyperplan séparateur entred et ce cône (le vecteuru, orthogonalà cet hyperplan bien choisi, fait un angle aigu avec le cône etobtus avecd).

Thm 4.2 [fondamental] S’il existe une solution réalisable au système des contraintes,alors il existe une solution réalisable de base.

Aspects géométriques

L’ensemble des solutions réalisables du système des contraintes standard constitueun polyèdre convexe (polyèdre des contraintes).

Thm 4.3 [Théorème d’équivalence] SoitΩ le polyèdre des contraintes. Alors :

x solution réalisable de base⇔ x point extrémal deΩ

Thm 4.4 Soit à maximiserΦ = (a | x) sur le polyèdre des contraintes. Alors l’opti-mum est atteint en un (au moins un) point extrémal.

4.3 Méthode du simplexe

Description

On considère ici la forme standard (Déf.4.1) :

maxΦ = (a|x)

Cx = d

x ≥ 0

et on suppose queC contient une matrice de base, normalisée àI, dans sesp colonnesde droite (Déf.4.3).

Déf 4.7 Le tableau du simplexeest constitué des coefficients des relations :

Cx = d

(a|x) = Φ

i.e. on ajoute (au système des contraintes) une ligne (numérotéep + 1) faisantintervenir la variable supplémentaireΦ.

Math-2 (bM) 2007

Page 59: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 4. ALGORITHME DU SIMPLEXE 59

Maximum ou minimum Le test d’optimum se fait sur le facteur dex : ce vecteurne doit contenir aucune composante négative, dans le cas d’un max comme dans celuid’un min.

En conséquence :– on change le signe des coefficients deΦ lorsque c’estmax.– la valeur deΦ apparaît avec le signe moins lorsque c’estmin.

Ex 4.3 Le changement de base (Déf.4.4) signifie le passage deB à B′ par remplace-ment d’une colonne deB (en numéros dansB) par une colonnev deH (en numéror).

Ecrire les formules et l’algorithme du changement de base.

Dans la méthode des Tableaux, le changement de base n’est rien d’autre qu’uneétape de l’élimination de Gauss-Jordan (Fig. 4.2).

FIG. 4.2 – Méthode de Gauss-Jordan

function [ C ] = chngBas (C, p, m)//

m1 = m+1 // +1 pour le second membrep1 = p+1 // +1 pour la fonction objectif

piv = C(s,r)C(s,1:m1) = C(s,1:m1) / piv

for i = 1:p1if i == s then continue, endt = C(i,r)for j = 1:m1

if j == r then continue, endC(i,j) = C(i,j) - t * C(s,j)end

end

C(1:p1,r) = - C(1:p1,r) / piv

C(s,r) = 1 / piv

Ex 4.4 Montrer qu’un critère raisonnable d’entrée en base est :

r = argminC(p+ 1, 1 : m) sur les composantesCp+1,j < 0

et écrire la fonction correspondante.

Ex 4.5 Montrer que le critère de sortie de la base est nécessairement :

s = argmind(1 : p)

C(1 : p, r)sur les composantesCir > 0

et écrire la fonction correspondante.

(bM) 2007 Math-2

Page 60: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

60 SÉANCE 4. ALGORITHME DU SIMPLEXE

Ex 4.6 Expliquer en quoi le critère d’entrée en base est un critère d’optimalité.

Ex 4.7 Expliquer en quoi le critère de sortie de base est un critère d’optimum nonborné.

Déf 4.8 Cyclage.

Démarrage des itérations

Exemple

On revient au cas général oùC ne contient pas forcément une sous-matriceI (celase produit lorsque le système de contraintes a des inégalités dans les deux sens, ou deségalités).

Ex 4.8 Reprendre l’exemple d’introduction avec la nouvelle fonction objectif :

Φ = 11x1 + 6x2

Ex 4.9 Peut-on résoudre si on impose la contrainte supplémentaire: x2 ≥ 1 ?

Déf 4.9 Variable artificielle: x2 − y4 + z1 = 1.

Déf 4.10 Méthode des deux phases: on minimise d’abord la sommeσ des variablesartificielles.

Ex 4.10 Ecrire la forme canonique (standard) pour la méthode des deux phases, etrésoudre (après avoir ajouté une ligne,p + 2, de minimisation deσ).

Exemple

Avec l’exemple ci-dessus (z1 = 1− x2 + y4), résultat en Fig. 4.3.

Ex 4.11 Expliciter les cas possibles à l’optimum des variables artificielles.

Algorithme du simplexe

Ex 4.12 L’utilisation d’un vecteurindex(1 :p) rend inutile le stockage des co-lonnes de base (Fig. 4.4).

Ex 4.13 Ecrire une fonction réalisant les étapes principales de l’algorithme du sim-plexe (en explicitant bien les cas de terminaison, normale ou anormale).

Math-2 (bM) 2007

Page 61: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 4. ALGORITHME DU SIMPLEXE 61

FIG. 4.3 – Méthode des deux phases

| 5 3 0 1 0 0 30 | y1| 2 3 0 0 1 0 24 | y2| 1 3 0 0 0 1 18 | y3| 0 1 -1 0 0 0 1 | z1| -11 -6 0 0 0 0 0 | Phi| 0 -1 1 0 0 0 -1 | Sigma

| 5 0 3 1 0 0 27 | y1| 2 0 3 0 1 0 21 | y2| 1 0 3 0 0 1 15 | y3| 0 1 -1 0 0 0 1 | x2| -11 0 -6 0 0 0 6 | Phi| 0 0 0 0 0 0 0 | Sigma

| 1 0 3/5 1/5 0 0 27/5 | x1| 0 0 9/5 -2/5 1 0 51/5 | y2| 0 0 12/5 -1/5 0 1 48/5 | y3| 0 1 -1 0 0 0 1 | x2| 0 0 3/5 11/5 0 0 327/5 | Phi

(bM) 2007 Math-2

Page 62: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

62 SÉANCE 4. ALGORITHME DU SIMPLEXE

FIG. 4.4 – Vecteurindex

1 2 3+---------+--------+-------+----------+--| 5.000 3.000 0.000 | 30.000 | 4| 2.000 3.000 0.000 | 24.000 | 5| 1.000 3.000 0.000 | 18.000 | 6| 0.000 1.000 -1.000 | 1.000 | 7| -11.000 -6.000 0.000 | 0.000 | Phi| 0.000 -1.000 1.000 | -1.000 | Sigma

1 7 3+---------+--------+-------+----------+--| 5.000 -3.000 3.000 | 27.000 | 4| 2.000 -3.000 3.000 | 21.000 | 5| 1.000 -3.000 3.000 | 15.000 | 6| 0.000 1.000 -1.000 | 1.000 | 2| -11.000 6.000 -6.000 | 6.000 | Phi| 0.000 1.000 0.000 | 0.000 | Sigma

4 3+---------+--------+---------+--| 0.200 0.600 | 5.400 | 1| -0.400 1.800 | 10.200 | 5| -0.200 2.400 | 9.600 | 6| 0.000 -1.000 | 1.000 | 2| 2.200 0.600 | 65.400 | Phi

Math-2 (bM) 2007

Page 63: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

SÉANCE 4. ALGORITHME DU SIMPLEXE 63

4.4 Dualité

Déf 4.11 Problème dual.

Etant donné le problèmeprimal (P) :

maxΦ = (a|x)

Cx ≤ d

x ≥ 0

on lui associe le problèmedual (D) :

minπ = (u|d)

C∗u ≥ a

u ≥ 0

Primal (P) Dual (D)Cx ≤ d C∗u ≥ ax ≥ 0 u ≥ 0maxΦ = (a|x) min π = (u|d)

Ex 4.14 Ecrire le dual pour l’exemple d’introduction et préciser sasignification.

Ex 4.15 Résoudre le problème dual.

On trouve, en résolvant par tableaux, que l’optimum correspond à :

−π

(

3

2, 0,

1

2, 0, 0

)

+ 3u2 + 3v1 + 5v2 = −54

φ(3, 5, 0, 3, 0) + 32y1 + 1

2y3 = 54

3v1 + 5v2 + 3u2 − π(

32 , 0, 1

2 , 0, 0)

= -54

Noter le principe de complémentarité à l’optimum :– y2 6= 0 =⇒ u2 = 0– u1 6= 0 & u3 6= 0 =⇒ y1 = 0 = y3

Ex 4.16 Soientx etu deux solutions réalisables, respectivement de (P) et (D). Montrerque :

Φ(x) ≤ π(u)

Ex 4.17 Si l’un des deux problèmes, (P) ou (D), admet un optimum non borné (+∞pourΦ,−∞ pourπ), alors l’autre n’admet pas de solution réalisable.

Thm 4.5 Les solutions réalisablesx etu sont optimales si et seulement si :

(C∗u− a|x) = 0

et si et seulement si(u|Cx− d) = 0

(bM) 2007 Math-2

Page 64: MATHÉMATIQUES 2 - perso.ecp.frperso.ecp.fr/~laurent/Modef/Documents/matgra07.pdf · 1 MATHÉMATIQUES 2 Pascal Laurent Théorie des graphes Boussad Mammeri (bM) 2007 Math-2

64 SÉANCE 4. ALGORITHME DU SIMPLEXE

Algo 4.1 Algorithme dual.

On reprend la variante de l’exemple d’introduction correspondant à :Φ = 11x1 +6x2.

On trouve, à l’optimum

| 1/5 3/5 6 || -2/5 9/5 12 || -1/5 12/5 12 |

| 11/5 3/5 66 |

avec les indices(3, 2; 1, 4, 5).Si on ajoute maintenant la contraintex2 ≥ 1, il vient :

| 1/5 3/5 6 || -2/5 9/5 12 || -1/5 12/5 12 || 0 -1 -1 |

| 11/5 3/5 66 |

avec les indices(3, 2; 1, 4, 5, 6).On est en présence d’une solution non réalisable dans le primal (c’est pour cela

qu’on avait précédemment introduit une variable artificielle).Mais si on considère ce tableau comme celui du problème dual (le transposer par

la pensée), il fait apparaître une solution duale réalisable (115 , 3

5 ) et une possibilitéd’amélioration (par le−1 du second membre).

Noter au passage que cet algorithme dual prend les critères en ordre inverse. Lechangement de base donne alors

| 1/5 3/5 27/5 || -2/5 9/5 51/5 || -1/5 12/5 48/5 || 0 -1 1 |

| 11/5 3/5 327/5 |

avec les indices(3, 6; 1, 4, 5, 2).Cette solution est optimum (mais c’est évidemment un hasardqu’une seule itération

ait suffi).

Math-2 (bM) 2007