Programmation linéaire et Recherche opérationnelle http://www.lri.fr/~mdr Licence d’Econométrie Professeur Michel de Rougemont mdr@lri.fr http://www.lri.fr/~mdr Cours 7,8,9
Recherche opérationnelle Problèmes de transport Simplex Réseau Problèmes de flux maximum Méthode Ford et Fulkerson Méthode primal-dual
Graphes : nœuds et arêtes Sources : 6,7 Puits: 3,4,5 Simplex et réseaux 1 5 4 3 2 6 7 Graphes : nœuds et arêtes Sources : 6,7 Puits: 3,4,5 Matrice d’incidence
Rappels sur les graphes 1 5 4 3 2 6 7 Graphes : nœuds et arêtes Degré d’un nœud Chemin : Composante connexe : Graphe Connexe, Eulérien, Hamiltonien
Matrice d’incidence
Solution possible Flux conservé sources puits noeuds 1 2 2 9 6 3 2 10 5 2 2 4 9 6 3 3 2 10 2 6 7 4 Flux conservé sources puits noeuds
Solution d’arbres Arbre recouvrant : n noeuds n-1 arêtes Flux unique 8 5 1 4 9 9 3 15 6 2 6 7 Arbre recouvrant : n noeuds n-1 arêtes Flux unique
Propriété des arbres recouvrants : on peut énumérer les nœuds Solution d’arbres 8 1 5 1 4 9 9 3 15 6 2 6 7 Propriété des arbres recouvrants : on peut énumérer les nœuds 7, 2, 3, 6, 1, 4, 5
B est triangulaire et unimodulaire (detB=0,1,-1). Solution d’arbres 8 1 5 1 4 9 9 3 15 6 2 6 7 Prendre 7, 2, 3, 6, 1, 4, 5 B est triangulaire et unimodulaire (detB=0,1,-1).
Solution d’arbres 8 1 5 1 4 9 9 3 15 6 2 6 7 Prix
Déterminer arc qui n’est pas dans l’arbre tel que : Solution d’arbres 8 1 5 1 4 9 9 3 15 6 2 6 7 Résoudre Déterminer arc qui n’est pas dans l’arbre tel que : Interprétation économique: acheter à et vendre à En théorie prendre le maximum de :
Trouver le plus grand t tel que : Solution d’arbres 8-t 1 5 1+t 4 9-t 9 t 3 15-t 6 2 6 7 Par exemple: Trouver le plus grand t tel que : Prendre t=8
Nouvel arbre 1 5 9+t 4 t 1-t 9 8 3 7 6 2 6 7 Par exemple:
Nouvel arbre 1 5 10 4 1 9 8 3 7 6 2 6 7 Par exemple: Enfin: OPTIMUM
Simplex réseau et révisé Etape 1 : Résoudre Etape 2: Choisir une colonne entrante. Colonne a tel que : Etape 3: résoudre Etape 4: trouver le plus grand t tel que colonne entrante Etape 5: mettre à jour
Intégralité Problème de transport: Si b a des valeurs entières, alors la solution optimale (si elle existe) est entière. A est une matrice d’incidence et le problème est facile. En général la programmation linéaire entière est difficile.
Problème d’affectation Problème de transport en solution 0 ou 1:
Méthode hongroise Faire apparaître des 0 dans les lignes et les colonnes en soustrayant la plus grande valeur:
Méthode hongroise Solution partielle: a3, b4, c1, e2 Pour l’étendre, utiliser l’algorithme hongrois: Marquer les lignes sans affectation Marquer les colonnes qui ont des zéros dans les ligne marquées Marquer les lignes qui ont des affectations dans les colonnes marquées Couvrir lignes non marquées et colonnes marquées
Matrice d’incidence Elément minimum: 2 Soustraire 2 au tableau et le rajouter aux lignes et colonnes couvertes. Itérer Solution : a1, b4, c5, d3, e2 Valeur : 11+6 + 16+17+10=60
Flots et coupes Problème de transport avec capacité maximum: Solution optimale simple: Exemple : flux de passagers entre SF et NYC C 4 NYC 2 5 D 4 7 5 A 5 SF 6
Flots et coupes Conservation sur chaque nœud: Flux de s vers t C 4 NYC 2 5 D 4 7 5 A 5 SF 6
Coupes Coupe C partage les nœuds avec s et t dans deux composantes: Capacité de C : C 4 NYC 2 5 D 4 7 5 A 5 SF 6
Ford et Fulkerson Chemin augmenté: Chercher un chemin possible entre s et t de capacité faisable. Mettre à jour les flots. C 4 NYC 2 5 D 4 : 4 4 : 7 4: 5 A 5 SF 6
Ford et Fulkerson C 1 : 4 NYC 1 :2 D 4 : 4 4 : 7 5: 5 A 5 SF 6 1 : 4 7 : 7 5: 5 A 3 : 5 SF 3 : 6
Ford et Fulkerson C 2 : 4 NYC 2 :2 D 3 : 4 7 : 7 5: 5 A 4 : 5 SF 4 : 6 5 : 4 7 : 7 5: 5 A Coupe Maximum 4 : 5 SF 4 : 6
Théorème fondamental Théorème 1 : Max flot = Min Coupe Théorème 2 : Max flot a une valeur entière lorsque toutes les capacités sont entières. C 4 NYC 2 5 7 D 4 7 5 A 5 SF 6