S´eance 1
Graphes et optimisation discr`ete
P. Laurent
Math´ematiques 2
22 novembre 2004
Plan
1 Math´ematiques discr`etes Objectifs du cours Exemples
Propri´et´es g´en´erales
2 La th´eorie des graphes D´efinitions
Quelques probl`emes
Le probl`emes du voyageur de commerce
Graphes et optimisation disc`ete
1 Math´ematiques discr`etes Objectifs du cours Exemples
Propri´et´es g´en´erales
2 La th´eorie des graphes D´efinitions
Quelques probl`emes
Le probl`emes du voyageur de commerce
Plan du cours de math. 2
Optimisation~:
Problèmes continus convexité Optimisation locale
EDP, statique analyse approximation
Graphes
flots
Pb. géométrique
Le continu et le discret (ou combinatoire)
Math´ematiques du continu Optimisation Continue EDP
¾
→ Physique math´ematique
Math´ematiques discr`etes ou combinatoires
Th´eorie des graphes
Optimisation en nombres entiers
¾
→
½ Probl`emes de gestion
Probl`emes d’informatique
Le continu et le discret (ou combinatoire)
Math´ematiques du continu Optimisation Continue EDP
¾
→ Physique math´ematique
Math´ematiques discr`etes ou combinatoires
Th´eorie des graphes
Optimisation en nombres entiers
¾
→
½ Probl`emes de gestion
Probl`emes d’informatique
Objectif du cours
Introduction aux math´ematiques de la gestion :
Logistique Ordonnancement Gestion de production Planification
D´ecision Mais aussi :
Informatique : parall´elisation,r´eseaux, gestion de la m´emoire...
´
Objectif du cours
Introduction aux math´ematiques de la gestion :
Logistique Ordonnancement Gestion de production Planification
D´ecision Mais aussi :
Informatique : parall´elisation,r´eseaux, gestion de la m´emoire...
´
Un peu d’histoire...
1945-1970 : “Recherche op´erationnelle”
Logistique : op´eration “Overlord”, projet Apollo
→ Th´eorie des jeux, probl`emes de flots, th´eorie des graphes Planification : programmation lin´eaire, optimisation
1970-1990 : “Intelligence artificielle”
Informatique : Lisp, Prolog, programmation logique
Un peu d’histoire...
1945-1970 : “Recherche op´erationnelle”
Logistique : op´eration “Overlord”, projet Apollo
→ Th´eorie des jeux, probl`emes de flots, th´eorie des graphes Planification : programmation lin´eaire, optimisation
1970-1990 : “Intelligence artificielle”
Informatique : Lisp, Prolog, programmation logique
Aujourd’hui
Outils d’aide `a la d´ecision
Visualisation : organigramme, diagramme...
→ Interactivit´e, simulation
Simulation : optimisation avec contraintes, ´enum´eration Une mani`ere particuli`ere de raisonner
Les probl`emes sont pos´es sur des ensembles sont finis.
Aujourd’hui
Outils d’aide `a la d´ecision
Visualisation : organigramme, diagramme...
→ Interactivit´e, simulation
Simulation : optimisation avec contraintes, ´enum´eration Une mani`ere particuli`ere de raisonner
Les probl`emes sont pos´es sur des ensembles sont finis.
Programmation lin´eaire
i.e. optimisation lin´eaire sous contraintes d’in´egalit´e lin´eaire.
En nombres r´eels V = R n En nombres entiers V = N n A matrice de dim.(p, n) x, b, c ∈ V
( C = {x ∈ V tel que A x ≤ c , x ≥ 0}
max x∈C hc , xi (1)
Ordonnancement
Cas ´el´ementaire n Tˆaches `a effectuer.
Graphe de tˆaches G :
Sommet : tˆache T i , 1 ≤ i ≤ n
Arˆete : (i , j ) ∈ G ⇔ T i doit pr´ec´eder T j
Valeur d’un arc : d i dur´ee de T i . Probl`eme
D´eterminer les dates min. ou max. de d´ebut de tˆache.
Ordonnancement
Cas ´el´ementaire n Tˆaches `a effectuer.
Graphe de tˆaches G :
Sommet : tˆache T i , 1 ≤ i ≤ n
Arˆete : (i , j ) ∈ G ⇔ T i doit pr´ec´eder T j
Valeur d’un arc : d i dur´ee de T i . Probl`eme
D´eterminer les dates min. ou max. de d´ebut de tˆache.
Ordonnancement
Cas plus compliqu´e Tˆaches incompatibles.
Tˆaches utilisant les mˆemes ressources.
Quelles tˆaches sur quelle ressources ? Date au plus tˆot ou au plus tard.
Dur´ee d´ependant de la date...
Probl`emes analogues
Ordonnancement
Cas plus compliqu´e Tˆaches incompatibles.
Tˆaches utilisant les mˆemes ressources.
Quelles tˆaches sur quelle ressources ? Date au plus tˆot ou au plus tard.
Dur´ee d´ependant de la date...
Probl`emes analogues
Probl`emes de flots
Donn´ees : graphe orient´e valu´e, avec une racine D et une anti-racine A.
Probl`eme : d´eterminer le flot maximum allant de A vers D.
Algorithme de Ford-Fulkerson.
Probl`emes d’affectation
Donn´ees : Un graphe biparti
Probl`eme : Effectuer un couplage entre les noeuds.
Algorithme de Ford-Fulkerson.
Voyageur de commerce
En anglais TSP
Trouver le plus court chemin passant par tous les sommets d’un graphe valu´e.
Cas classique :
le graphe est complet, les noeuds sont des villes,
les valuations sont les distances sur la carte.
Satisfiabilit´e de clauses
SAT Donn´ees :
Un ensemble de p symboles de proposition.
Un ensemble de n clauses (P 1 ∨ ¬P 2 ∨ ... ∨ P k ).
Probl`eme : Cet ensemble est-il satisfiable ?
(i.e. peut-on donner des valeurs vrai , faux aux symboles P i pour
que toutes les clauses soient vraies ?).
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Complexit´e
Les donn´ees sont dans un ensemble fini P
1
⇒ Algorithme ´evident : ´enum´eration.
2
Mais P = {F / F ⊂ E } et Card(E ) = n.
3
⇒ Le nombre de solutions est exponentiel.
Th´eorie de la complexit´e
1
Complexit´e = nombre d’op´erations ´el´ementaires pour
r´esoudre.
Equivalence ´
´ Equivalence entre ces probl`emes
On peut “coder” un probl`eme dans un autre.
Exemples :
Flots max ⊂ Programmation lin´eaire en nb. entier.
TSP ⇔ Programmation.
Satisfiabilit´e ⇔ Programmation lin´eaire en nb. entier.
Notion d’heuristique
Equivalence ´
´ Equivalence entre ces probl`emes
On peut “coder” un probl`eme dans un autre.
Exemples :
Flots max ⊂ Programmation lin´eaire en nb. entier.
TSP ⇔ Programmation.
Satisfiabilit´e ⇔ Programmation lin´eaire en nb. entier.
Notion d’heuristique
Graphes et optimisation disc`ete
1 Math´ematiques discr`etes Objectifs du cours Exemples
Propri´et´es g´en´erales
2 La th´eorie des graphes D´efinitions
Quelques probl`emes
Le probl`emes du voyageur de commerce
Graphes orient´es
D´efinition (Graphe)
G = (X , A) avec Card (X ) < ∞ et A ⊂ X × X .
Cela ´equivaut `a dire qu’une relation binaire est d´efinie sur G . Un ´el´ement est un noeud ou sommet (Vertex).
Un couple (x, y ) ∈ A est un arc.
D´efinition
Chemin : suite finie de sommets reli´es entre eux par un arc.
Arborescence :∃ noeud R tel que
Graphes orient´es
D´efinition (Graphe)
G = (X , A) avec Card (X ) < ∞ et A ⊂ X × X .
Cela ´equivaut `a dire qu’une relation binaire est d´efinie sur G . Un ´el´ement est un noeud ou sommet (Vertex).
Un couple (x, y ) ∈ A est un arc.
D´efinition
Chemin : suite finie de sommets reli´es entre eux par un arc.
Arborescence :∃ noeud R tel que
Graphes non orient´es
D´efinition (Graphe non orient´e et sans boucle)
G = (X , A) avec A sym´etrique et sans couple (a, a). Cela ´equivaut
`a dire que la relation binaire est sym´etrique et non r´eflexive.
Un arc non orient´e est une arˆete (Edge).
D´efinition
Chaˆıne (path) : suite finie de sommets reli´es entre eux par une arˆete.
Graphe connexe : un graphe G est dit connexe si pour toute paire
de sommets {x; y}de G, il existe une chaˆıne de premier terme x et
Graphes non orient´es
D´efinition (Graphe non orient´e et sans boucle)
G = (X , A) avec A sym´etrique et sans couple (a, a). Cela ´equivaut
`a dire que la relation binaire est sym´etrique et non r´eflexive.
Un arc non orient´e est une arˆete (Edge).
D´efinition
Chaˆıne (path) : suite finie de sommets reli´es entre eux par une arˆete.
Graphe connexe : un graphe G est dit connexe si pour toute paire
de sommets {x; y}de G, il existe une chaˆıne de premier terme x et
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Un peu d’histoire
Les maisons et les puits.
Un jeu d’enfant.
Le probl`eme des ponts de Koenigsberg.
Le probl`eme des circuits hamiltoniens.
La formule d’Euler S + F − A = 2 (V + F − A = 2) . Les graphes planaires.
Le probl`eme des 4 couleurs.
Les ponts de Koenigsberg
Graphes eul´eriens
D´efinition (Graphe eul´erien)
Graphe qui poss`ede un circuit eul´erien, i.e. qui passe par toutes les arˆetes une fois et une seule.
Th´eor`eme
Un graphe connexe est eul´erien si et seulement si tous les sommets
sont de degr´e pair.
Graphes eul´eriens
D´efinition (Graphe eul´erien)
Graphe qui poss`ede un circuit eul´erien, i.e. qui passe par toutes les arˆetes une fois et une seule.
Th´eor`eme
Un graphe connexe est eul´erien si et seulement si tous les sommets
sont de degr´e pair.
D´emonstration
Soit (v 1 , ..., v p ) chemin ´el´ementaire de longueur max p − 1 v 1 6= v p ⇒ 1 et p ne sont pas de degr´e pair
⇒ v p = v 1 C’est un circuit.
Supposons qu’il ne soit pas eul´erien.
1)S’il passe par tous les noeuds,
une arˆete manquante est de la forme (v i , v j ).
Le chemin (v i , v j , v j +1 , ..., v p , v 2 , ..., v j ) est alors de longueur p > p − 1.
2) S’il ne passe pas par tous les noeuds,
le graphe est connexe ∃ une arˆete (v i , v),
D´emonstration
Soit (v 1 , ..., v p ) chemin ´el´ementaire de longueur max p − 1 v 1 6= v p ⇒ 1 et p ne sont pas de degr´e pair
⇒ v p = v 1 C’est un circuit.
Supposons qu’il ne soit pas eul´erien.
1)S’il passe par tous les noeuds,
une arˆete manquante est de la forme (v i , v j ).
Le chemin (v i , v j , v j +1 , ..., v p , v 2 , ..., v j ) est alors de longueur p > p − 1.
2) S’il ne passe pas par tous les noeuds,
le graphe est connexe ∃ une arˆete (v i , v),
D´emonstration
Soit (v 1 , ..., v p ) chemin ´el´ementaire de longueur max p − 1 v 1 6= v p ⇒ 1 et p ne sont pas de degr´e pair
⇒ v p = v 1 C’est un circuit.
Supposons qu’il ne soit pas eul´erien.
1)S’il passe par tous les noeuds,
une arˆete manquante est de la forme (v i , v j ).
Le chemin (v i , v j , v j +1 , ..., v p , v 2 , ..., v j ) est alors de longueur p > p − 1.
2) S’il ne passe pas par tous les noeuds,
le graphe est connexe ∃ une arˆete (v i , v),
D´emonstration
Soit (v 1 , ..., v p ) chemin ´el´ementaire de longueur max p − 1 v 1 6= v p ⇒ 1 et p ne sont pas de degr´e pair
⇒ v p = v 1 C’est un circuit.
Supposons qu’il ne soit pas eul´erien.
1)S’il passe par tous les noeuds,
une arˆete manquante est de la forme (v i , v j ).
Le chemin (v i , v j , v j +1 , ..., v p , v 2 , ..., v j ) est alors de longueur p > p − 1.
2) S’il ne passe pas par tous les noeuds,
le graphe est connexe ∃ une arˆete (v i , v),
Relation d’Euler
Th´eor`eme
S : le nombre de sommets, A : le nombre d’arˆetes, F : le nombre de faces.
Si un graphe connexe est planaire, on a
S + F − A = 2
D´emonstration
Par r´ecurrence d´ecroissante :
tant qu’il y a des cycles dans le graphe, on retire une arˆete e appartenant `a un cycle, soit G 0 = G − e ;
Si le graphe est planaire cette arˆete appartient `a deux cycles en retirant l’arˆete commune ces deux cycles n’en forment plus qu’un.
Le graphe G 0 a alors une arˆete et une face en moins.
S’il n’y a plus de cycle le graphe est alors un arbre, S = A + 1
Relation d’Euler : applications
K 5 et K 3 , 3 ne sont pas planaires.
K 5 :
S = 5, A = 10, donc F = 7 ; or bord des faces = cycles,
cycles de K 5 : triangles et pentagones, ⇒ plus de 3 arˆetes,
⇒ A ≥ 7 × 3/2 donc A ≥ 10, 5 ⇒ faux.
K 3 , 3 :
S = 6, A = 9 on en d´eduit que F = 5.
Or tous les cycles sont d’ordre 4 ou 6. ⇒ A ≥ 5 × 4/2, donc
Graphes hamiltonien
D´efinition
Graphe qui poss`ede un circuit hamiltonien, i.e. qui passe par tous les sommet une fois et une seule.
Il n’existe pas de caract´erisation simple des graphes hamiltoniens.
Montrer qu’un graphe est hamiltonien est un probl`eme difficile.
Graphes hamiltonien
D´efinition
Graphe qui poss`ede un circuit hamiltonien, i.e. qui passe par tous les sommet une fois et une seule.
Il n’existe pas de caract´erisation simple des graphes hamiltoniens.
Montrer qu’un graphe est hamiltonien est un probl`eme difficile.
Le dod´eca`edre est hamiltonien
Coloriage
D´efinition
On appelle indice chromatique χ(G) d’un graphe le nombre de couleurs n´ecessaire pour colorier les sommets de fa¸con que deux sommets adjecents n’ait pas la mˆeme couleur.
Il n’existe pas de caract´erisation simple des graphes coloriable avec k > 2 couleurs.
Trouver l’indice chromatique d’un graphe est un probl`eme difficile.
Coloriage
D´efinition
On appelle indice chromatique χ(G) d’un graphe le nombre de couleurs n´ecessaire pour colorier les sommets de fa¸con que deux sommets adjecents n’ait pas la mˆeme couleur.
Il n’existe pas de caract´erisation simple des graphes coloriable avec k > 2 couleurs.
Trouver l’indice chromatique d’un graphe est un probl`eme difficile.
Repr´esentation plane d’un graphe
D´efinition
Un graphe est planaire s’il peut ˆetre repr´esent´e sur un plan, les ares
´etant des courbes sans intersection.
Th´eor`eme (Kuratowski)
Un graphe est planaire si et seulement si il ne contient pas de sous-graphe r´eductible `a K 5 ou K 3 , 3.
Th´eor`eme (Tr`es difficile)
Repr´esentation plane
Repr´esentation plane
Repr´esentation plane
Un probl`eme d’optimisation
TSP
On cherche le plus court chemin ferm´e (circuit) sur un graphe valu´e qui passe par tous les sommets.
Version “euclidienne” : Le graphe est complet.
Les valeurs sont des distances sur une carte.
Cas simple
TSP en Allemagne
TSP : 15000 noeuds
TSP : 3000 noeuds
Graphes et optimisation disc`ete
1 Math´ematiques discr`etes Objectifs du cours Exemples
Propri´et´es g´en´erales
2 La th´eorie des graphes D´efinitions
Quelques probl`emes
Le probl`emes du voyageur de commerce
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1
L’esprit des maths discr`etes.
Conclusion
Plan des s´eances
1
Graphes.
2
Probl`eme de flots.
3
Th´eorie de la complexit´e.
4
Programmation lin´eaire.
5
Les algorithmes g´en´etiques.
Objectifs
1