61
Introduction à la Recherche Opérationnelle CERMICS, ENPC Diapositives : F. Meunier, Intervenant : A. Parmentier 27 septembre 2017

Introduction à la Recherche Opérationnelle · Introduction à la Recherche Opérationnelle CERMICS, ENPC Diapositives : F. Meunier, Intervenant : A. Parmentier 27 septembre 2017

Embed Size (px)

Citation preview

Introduction à la Recherche Opérationnelle

CERMICS,ENPC

Diapositives : F. Meunier, Intervenant : A. Parmentier

27 septembre 2017

Voyageur de commerce

10

5

4

11

12

1

10

4

7

13

6

65

8

2

3

2

10 10

31

47

9

8

5

5

10

7

???????

Monsieur R. doit organiser sa tournée.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 2 / 59

Voyageur de commerce

10

5

4

11

12

1

10

4

7

13

6

65

8

2

3

2

10 10

31

47

9

8

5

5

10

7

Monsieur R. a organisé sa tournée.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 3 / 59

Voyageur de commerce

A 25 villes, cela fait 24! = 24× 23× 22× · · · × 2× 1 possibilités, soitenviron 6.204× 1025 possibilités.

A la main, à raison d’une possibilité par seconde, il faudrait environ1.976× 1016 années.

Avec un ordinateur, à raison d’1 million de possibilités par seconde, ilfaudrait environ 19 milliards d’années.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 4 / 59

Plan

• Qu’est-ce que la Recherche Opérationnelle ?• Déroulement du cours.• Notions de bases (un peu de théorie).

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 5 / 59

Qu’est-ce que la RechercheOpérationnelle ?

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 6 / 59

La Recherche Opérationnelle

Ce que nous venons de voir, c’est un problème typique de laRecherche Opérationnelle : problème du voyageur de commerce.

Recherche Opérationnelle, ou RO :discipline des mathématiques appliquées traitant des questionsd’utilisation optimale des ressources en entreprise.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 7 / 59

Exemples de problème de RO

• trouver la meilleure tournée10

5

4

11

12

1

10

4

7

13

6

65

8

2

3

2

10 10

31

47

9

8

5

5

10

7

• organiser le meilleur emploi du temps

• concevoir le réseau le plus robuste

• remplir de manière optimale un conteneur

• positionner intelligemment ses entrepôts

• ordonnancer des tâches sur des machinesDebut Fin

A

B

C

D

E

F

0

0

080

7080

30

30

30

50

40

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 8 / 59

Les Pères

Monge, Blackett, Dantzig.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 9 / 59

A partir des années 50, fort développement de la RO :I laboratoires (mathématiques, informatique),I entreprises (supply chain, transport, télécommunications, etc.)

Deux mots-clés : Modélisation et Optimisation.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 10 / 59

Progrès des performances sur le problème du voyageur de commerce

1954 Dantzig, Fulkerson, Johnson 49 villes1971 Held, Karp 64 villes1975 Camerini, Fratta, Maffioli 67 villes1977 Grötschel 120 villes1980 Crowder, Padberg 318 villes1987 Padberg, Rinaldi 532 villes1987 Grötschel, Holland 666 villes1987 Padberg, Rinaldi 2′392 villes1994 Applegate, Bixby, Chvátal, Cook 7′397 villes1998 Applegate, Bixby, Chvátal, Cook 13′509 villes2001 Applegate, Bixby, Chvátal, Cook 15′112 villes2004 Applegate, Bixby, Chvátal, Cook, Helsgaun 24′978 villes

Et ce n’est pas avant tout une question de puissance d’ordinateur.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 11 / 59

Déroulement du cours

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 12 / 59

“Fondements”

1. Plus courts chemins et programmation dynamique

2. Flots

3. Graphes bipartis4. Problèmes difficiles : programmation linéaire en nombres entiers, heuristiques

et métaheuristiques

e−z

kBT

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 13 / 59

“Problématiques”

1. Localisation d’entrepôts

2. Remplissage de conteneurs

3. Conception de réseau

4. Tournées

5. OrdonnancementDebut Fin

A

B

C

D

E

F

0

0

080

7080

30

30

30

50

40

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 14 / 59

Intervenants extérieurs

A cela s’ajouteront des interventions d’1h par des personnes du mondeindustrielI Innovation 24.I Air France.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 15 / 59

Support de cours et mode d’évaluation

Support Polycopié.Page web Educnet.

Mode d’évaluation Par ordre décroissant de pondération.1. Contrôle final de 2h45 le 24 janvier (c)2. Un miniprojet (p)

I Donné le 29 novembreI Retour pour le 11 janvier minuit

3. Deux contrôles surprises de 20 minutes (qi pouri = 1, 2)

4. Participation, assiduité.

note =19(max(q1, q2) + 3p + 5c).

Pas de rattrapage si manque d’assiduité.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 16 / 59

Séances en autonomie

Les deux séances en autonomie seront les 29 novembre et 10 janvier.

I ExercicesI Miniprojet

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 17 / 59

Notions de base

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 18 / 59

Quelles notions ?

1. Modélisation.2. Optimisation.3. Graphes.4. Problèmes.5. Algorithmes et Complexité.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 19 / 59

Modélisation

Modèle =Un modèle mathématique est une traduction de la réalité pourpouvoir lui appliquer les outils, les techniques et les théoriesmathématiques, puis généralement, en sens inverse, latraduction des résultats mathématiques obtenus en prédictionsou opérations dans le monde réel.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 20 / 59

Graphes

Brique de base en modélisation.

Graphe : G = (V ,E)V : ensemble de sommetsE : ensemble d’arêtes ; à toute arête correspond une paire de sommets.

v1

v2

v3

v4

v5

v6

v1v2

v1v2

v3v3

v5v6

v3v4

v2v5

degré d’un sommet : nombre d’arêtes incidentes au sommet.Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 21 / 59

Graphes complets, graphes bipartis

Graphe complet : toute paire de sommets est reliée par une arête.

Graphe biparti : sommets peuvent être partitionnés en deux partiesn’induisant chacune aucune arête.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 22 / 59

Graphes : Chaîne

Chaîne : suite de la forme

v0, e1, v1, . . . , ek , vk

vi ∈ V , ej ∈ E avec ej = vj−1vj .

Chaîne ne passant jamais plus d’une fois par une arête : chaîne simple.

Chaîne ne passant jamais plus d’une fois sur un sommet : chaîneélémentaire.

Chaîne simple passant par toutes les arêtes d’un graphe : chaîneeulérienne.

Chaîne élémentaire passant par tous les sommets du graphe : chaînehamiltonienne.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 23 / 59

Graphes : Chaîne hamiltonnienne

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 24 / 59

Hamilton inventa l’“Icosian Game” au XIXe siècle, mais ce fut un bidecommercial.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 25 / 59

Hamilton (1805–1865)

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 26 / 59

Graphes : connexité, cycles

Graphe connexe : entre toute paire de sommets, il y a une chaîne.

Cycle : chaîne simple fermée.

Cycle élémentaire, hamiltonien, eulérien.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 27 / 59

Graphes : Coloration

Coloration : c : V → N (N= couleurs).

Coloration propre : pour toute paire de voisins u, v , on a c(u) 6= c(v).

nombre minimum de couleurs d’une coloration propre : nombrechromatique (noté χ(G))

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 28 / 59

Graphes : Couplage et couverture

Ensemble d’arêtes deux à deux disjointes : couplage

Ensemble de sommets tel que toute arête touche au moins un de seséléments : couverture

: couverture par les sommets du graphe

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 29 / 59

Les ponts de Königsberg

Euler, 1736.

FIGURE – Königsberg et ses 7 ponts

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 30 / 59

Euler (1707–1783)

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 31 / 59

Chaîne et cycle eulériens : existence

Modélisation

Un graphe connexe admet une chaîne eulérienne si et seulement si ilpossède au plus deux sommets de degré impair. Un graphe connexeadmet un cycle eulérien si et seulement si il n’a pas de sommet dedegré impair.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 32 / 59

Optimisation

Min f (x)s.c. x ∈ X .

f : critère.« s.c. » = « sous contraintes »X : ensemble des solutions réalisables« x ∈ X » : contraintes du programme.

Parmi les solutions réalisables, on veut chercher une solution optimalex∗, i.e. une solution réalisable qui minimise le critère.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 33 / 59

Minimisation : De l’importance des bornes inférieures

OPT = Min f (x)s.c. x ∈ X .

Toujours se demander s’il n’y a pas une borne inférieure simple et debonne qualité à OPT.

Une borne inférieure permet d’évaluer la qualité d’une solutioncourante→ évite de continuer à chercher des solutions etéventuellement, montre l’optimalité d’une solution.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 34 / 59

Coloration

b

vb

b

b

b

v

r

r

r

n

j

j

Graphe colore avec cinq couleurs: r, b, j, v, n.

Peut-on colorer ce graphe avec moins de cinq couleurs ?Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 35 / 59

Coloration et sous-graphe complet : une inégalité

cardinalité d’un sous-graphe complet ≤ nombre de couleurs dans une coloration propre.

La cardinalité maximale d’un sous-graphe complet de G se note ω(G).

ω(G) ≤ χ(G).

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 36 / 59

Couplage

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 37 / 59

Couplage et couverture : une inégalité

Soit M un couplage et C une couverture par les sommets. Alors

|M| ≤ |C|.

τ (G) : cardinalité minimale d’une couvertureν(G) : cardinalité maximale d’un couplage

ν(G) ≤ τ (G).

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 38 / 59

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 39 / 59

Problèmes

Problème :I “Donnée”I “Tâche” ou “Question”.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 40 / 59

Exemples de problèmes

PROBLÈME DE LA CHAÎNE EULÉRIENNE

Donnée : Un graphe G = (V ,E).

Question : G a-t-il une chaîne eulérienne ?

PROBLÈME DU COUPLAGE DE PLUS GRAND POIDS

Donnée : Un graphe G = (V ,E), une fonction de poids w : E → R+.

Tâche : Trouver le couplage de G de plus grand poids.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 41 / 59

Problème de décision, problème d’optimisation

Problème de décision : consiste à répondre ‘Oui’ ou ‘Non’ à unequestion.

Problème d’optimisation : consiste à trouver l’optimum d’une fonction.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 42 / 59

Algorithmes et complexité

algorithme = suite d’opérations élémentaires implémentable dans unordinateur

Supposons donnés un problème P et un algorithmeA qui le résout. Sepose alors la question de son efficacité.→ Théorie de la complexité.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 43 / 59

Fonction de complexité

Fonction de complexité f (n) d’un algorithme : nombre d’opérationsélémentaires qu’il faut effectuer si la donnée est de taille n.

Exemples :Trier n entiers : O(n log(n)).Tester l’existence d’un cycle eulérien : O(n + m).

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 44 / 59

Les ponts de Königsberg – optimisation

FIGURE – Königsberg et ses 7 ponts

ExerciceQuel est le nombre mini-mum de ponts qu’il faut tra-verser pour traverser tousles ponts de Königsberg(un pont traversé n foiscompte pour n) ?

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 45 / 59

Les ponts de Königsberg – optimisation

FIGURE – Königsberg et ses 7 ponts

ExerciceQuel est le nombre mini-mum de ponts qu’il faut tra-verser pour traverser tousles ponts de Königsberg(un pont traversé n foiscompte pour n) ?

Réponse : 8

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 45 / 59

Algorithme polynomial/exponentiel

Algorithme polynomial : fonction de complexité = O(na) avec aconstante.

Sinon, algorithme exponentiel.Taille n

Fonction de complexité 10 20 50 60n 0, 01 µs 0, 02 µs 0, 05 µs 0, 06 µsn2 0, 1 µs 0, 4 µs 2, 5 µs 3, 6 µsn3 1 µs 8 µs 125 µs 216 µsn5 0, 1 ms 3, 2 ms 312, 5 ms 777, 6 ms2n ∼ 1 µs ∼ 1 ms ∼ 13 jours ∼ 36 années et 6 mois

TABLE – Comparaison de diverses fonctions de complexité pour un ordinateureffectuant 1 milliard d’opérations par seconde.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 46 / 59

Une question de puissance des ordinateurs ?

Soit A un algorithme résolvant un problème P en 2n opérations.On a une machine qui résout P avec A en 1 heure jusqu’à n = 438.

Si on a un machine 1000 fois plus rapide ?

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 47 / 59

Une question de puissance des ordinateurs ?

On a une machine qui résout P avec A en 1 heure jusqu’à n = 438.

Machine 1000 fois plus rapide→ en une heure, jusqu’à n = 448.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 48 / 59

Une question de puissance d’ordinateurs ?

Taille de l’instance la plus large que l’on peut résoudre en 1 heureFonction Avec un ordinateur Avec un ordinateur Avec un ordinateur

de complexité actuel 100 × plus rapide 1000 × plus rapiden N1 100N1 1000N1

n2 N2 10N2 31.6N2

n3 N3 4.64N3 10N3

n5 N4 2.5N4 3.98N42n N5 N5 + 6.64 N5 + 9.973n N6 N6 + 4.19 N6 + 6.29

TABLE – Comparaison de diverses fonctions de complexité.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 49 / 59

Classe P

Problème (de décision) est polynomial ou dans P : il existe unalgorithme polynomial qui le résout.

Problème (de décision) est non-déterministiquement polynomial oudans NP : si la réponse est oui pour l’instance considérée, il existe uncertificat et un algorithme polynomial qui permet de vérifier que laréponse est bien oui.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 50 / 59

Classe NP

PROBLÈME DU CYCLE HAMILTONIEN

Donnée : Un graphe G = (V ,E).

Question : G a-t-il un cycle hamiltonien ?

Pour F ⊆ E , on peut tester en temps polynomial si F est un cyclehamiltonien.F est un certificat.Le problème du cycle hamiltonien est dans NP.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 51 / 59

Classe NP

Proposition

P ⊆ NP.

Démonstration.En cas de réponse ‘Oui’, la donnée est un certificat.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 52 / 59

Problèmes NP-complets

problème de décision est NP-complet : s’il existe un algorithmepolynomial qui le résout, alors il existe un algorithme polynomial pourtout problème NP.

On ne connaît pas d’algorithme polynomial résolvant un problèmeNP-complet.

Theorem (Cook, 1970)

Il existe des problèmes NP-complets.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 53 / 59

Exemple de problème NP-complet

PROBLÈME DU CYCLE HAMILTONIEN

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

Question : G a-t-il un cycle hamiltonien ?

est NP-complet.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 54 / 59

Problèmes NP-difficiles

problème est NP-difficile : s’il existe un algorithme polynomial qui lerésout, alors il existe un algorithme polynomial pour tout problème NP.

Différence avec NP-complet : pas nécessairement un problème dedécision.

Exemple : le problème du voyageur de commerce est NP-difficile.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 55 / 59

Les problèmes NP

P

NP-complets

NP

NP-difficiles

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 56 / 59

Question à 1 millions de $

P ?= NP.

offerts par la Fondation Clay.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 57 / 59

NP-complétude du cycle Hamiltonien

Montrer que le problème de l’existence de la chaîne hamiltonnienneest NP-complet, sachant que celui du cycle hamiltonien l’est.

Soit une instance ...Réciproquement, montrer que le problème de l’existence du cycle ha-miltonnien est NP-complet, sachant que celui de la chaîne hamilto-nienne l’est.

Soit une instance ...

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 58 / 59

NP-complétude du cycle Hamiltonien

Montrer que le problème de l’existence de la chaîne hamiltonnienneest NP-complet, sachant que celui du cycle hamiltonien l’est.

Soit une instance du cycle hamiltonien, etc.

Réciproquement, montrer que le problème de l’existence du cycle ha-miltonnien est NP-complet, sachant que celui de la chaîne hamilto-nienne l’est.

Soit une instance de la chaîne hamiltonienne, etc.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 58 / 59

NP-complétude de la chaine Eulérienne – correction

Montrer que le problème de l’existence de la chaîne Hamiltonienneest NP-complet, sachant que celui du cycle hamiltonien l’est.

Correction : Soit G = (V ,E) un graphe (une instance du problème decycle Hamiltonien). Pour chaque arête (u, v) de E , on crée un grapheG′ une instance du problème de chaine Hamiltonienne en ajoutantdeux sommets u′ et v ′ à E et en enlevant l’arête (u, v) (toutes lesarêtes entre u et v si le graphe n’est pas simple). Alors le problème dela chaine Hamiltonienne sur admet une solution si et seulement si ilexiste un cycle Hamiltonien passant par (u, v) (ou par une autre arêteentre u et v ). Le problème du cycle Hamiltonien admet donc uneréponse positive si au moins une des instances de la chaineHamiltonienne crée admet une réponse positive.

Diapositives : F. Meunier, Intervenant : A. Parmentier, ENPC 27 septembre 2017 59 / 59