METHODES D’OPTIMISATION COMBINATOIRE IRENE CHARON, OLIVIER HUDRY, ANNE GERMA RE

METHODES D’OPTIMISATION COMBINATOIRE IRENE CHARON, OLIVIER HUDRY, ANNE GERMA RESUME Cet ouvrage propose une introduction aux méthodes généralement utilisées dans le domaine de l'optimisation combinatoire. Son objectif est double : proposer un ensemble de modélisations classiques, à l'aide principalement de la théorie des graphes et de la programmation linéaire ; décrire un ensemble de méthodes exactes ou approchées pour résoudre les problèmes d'optimisation ainsi modélisés Composé de trois parties (programmation linéaire, algorithmes dans les graphes, méthodes d'optimisation combinatoire), l'ouvrage propose de nombreux exercices, tous corrigés. Issu d'un cours de première et deuxièmes années de l'Ecole Nationale Supérieure des Télécommunications, il s'adresse aux élèves des écoles d'ingénieurs, aux étudiants de deuxième cycle, ainsi qu'à tous ceux (ingénieurs, chercheurs...) qui souhaitent se familiariser avec les méthodes d'optimisation combinatoire le plus souvent utilisées. TABLE DES MATIERES Introduction 1 I. L'algorithme du simplexe 5 I.1.Introduction 5 I.2.L'algorithme du simplexe appliqué à un exemple 7 I.3.La dégénérescence et le cyclage 10 I.4.Recherche d'un dictionnaire réalisable 13 I.5.Annexe : la forme du pivot 15 I.6.Exercices 16 II. Forme matricielle de la méthode du simplexe 19 II.1 Généralités 19 II.2.Version matricielle d'une itération de la méthode du simplexe 21 II.2.1.Recherche d'une variable entrante 21 II.2.2.Recherche d'une variable sortante 22 II.2.3.Actualisation 22 II.2.4.Résumé 22 II.3.Un exemple d'application de la méthode 23 II.4.Application au problème de découpe 26 II.5.Exercice 31 III. Dualité 33 III.1.Définition du problème dual 33 III.2.Théorème de la dualité 34 III.3.Le théorème des écarts complémentaires : un certificat d'optimalité 37 III.4.La signification économique du dual 38 III.5.Problème dual-réalisable 40 III.6.Exercices 41 IV. Généralités sur les graphes. Arbre couvrant de poids minimum 43 IV.1.Introduction à la théorie des graphes et définitions 43 IV.2.Représentation des graphes en machine 44 IV.2.1.Matrice d'adjacence (sommets-sommets) 45 IV.2.2.Tableau de listes d'adjacence 45 IV.3.Complexité d'un algorithme 46 IV.4.Le problème de l'arbre couvrant de poids minimum 47 IV.4.1.Définition du problème 47 IVA.2.Une application en réseaux 47 IVA.2.Une application en réseaux 47 IV.4.3.Une application en traitement d'images 48 IV.4.4.Algorithme de Kruskal 48 IV.4.5.Algorithme de Prim 50 IV.5.Exercices 52 V. Problèmes de plus courts chemins 55 V.1.Définition des différents problèmes 55 V.1.1.Définitions nécessaires à ce chapitre 55 V.1.2.Problèmes 56 V.2.Plus courts chemins d'un sommet à tous les autres : cas des valuations positives 57 V.2.1.Motivation 57 V.2.2.Algorithme de Dijkstra 58 V.3.Plus courts chemins d'un sommet à tous les autres : cas des graphes sans circuit 60 V.3.1.Motivation 60 V.3.2.Algorithme de Bellman 60 V.4.Plus courts chemins d'un sommet à tous les autres : cas général 62 V.4.1.Motivation 62 V.4.2.Algorithme de Ford 62 V.4.3.Algorithme général de Ford-Dantzig 63 V.5.Plus courts chemins de tout sommet à tout sommet : cas général 64 V.6.Exercices 65 VI. Parcours de graphes 69 VI.1.Définition d'un algorithme de « parcours de graphe » 69 VI.1.1.Cas orienté 69 VI.1.2.Cas non orienté 72 VI.1.3.Complexité 72 VI.2.Les parcours « marquer-examiner » 73 VI.2.1.Généralités 73 VI.2.2.Résultat d'un parcours « marquer-examiner » selon une file le parcours en largeur 74 VI.2.3.Résultat d'un parcours « marquer-examiner » suivant une pile 74 VI.3.Les parcours en profondeur 74 VI.3.1.Le cas orienté 74 VI.3.2.Le cas non orienté 76 VI.4 Applications des parcours en profondeur 78 VI.4.1.Application à la détermination des composantes fortement connexes 78 VI.4.2.Application à la détermination des sommets d'articulation d'un graphe non orienté 80 VI.4.3.Application à la détermination des composantes 2‑connexes d'un graphenon orienté 82 VI.5 Exercices 84 VII. Flot maximum et coupe de capacité minimum 85 VII.I.Introduction, théorème du flot et de la coupe 85 VII.1.1.Introduction 85 VII.1.2.Définitions, notations et problèmes 86 VII.1.3.Résultats théoriques 86 VII.1.4.Lien avec la programmation linéaire 87 VII.2.Algorithme de Ford et Fulkerson 88 VII.2.1.Chaîne augmentante 88 VII.2.2.Description de l'algorithme de Ford et Fulkerson 89 VII.2.3.Un exemple 91 VII.2.4.Preuve, convergence et complexité de l'algorithme 92 VII.3.Compléments : algorithme de Dinic et algorithme de Busacker et Gowen 93 VII.3.1.Graphe d'écart 94 VII.3.2.Algorithme de Dinic 94 VII.3.3.Algorithme de Busacker et Gowen 95 VII.4.Exercice 96 VIII. Applications de la théorie des flots 97 VIII.1.Application à la détermination des connectivités d'un graphe 97 VIII.1.1.Forte arc-connectivité d'un graphe orienté 97 VIII.1.2.Détermination de l'arête connectivité d'un graphe non orienté 99 VIII.1.3.Forte connectivité d'un graphe orienté, connectivité d'un graphe non orienté 100 VIII.2.Couplage maximum dans un graphe biparti 101 VIII.2.1.Un exemple et quelques définitions 101 VIII.2.2.Modélisation d'un problème d'affectation et solution du problème des mariages 102 VIII.3.Exercice 103 IX. Le problème de transport 105 IX.1.Position du problème 105 IX.2.Arbres réalisables 107 IX.3.Recherche d'une solution optimale à partir d'une solution réalisable 108 IX.4.Recherche d'un arbre réalisable 112 IX.4.Recherche d'un arbre réalisable 112 IX.5.Modélisation et résolution à l'aide de la théorie des flots 113 IX.6.Exercices 114 X. Complexité d'un problème 117 X.1.Présentation et premières définitions 117 X.1.1.Problème du voyageur de commerce 117 X.1.2.Taille d'une instance 118 X.1.3.Machine de Turing et complexité d'un algorithme 118 X.1.4.Problème de reconnaissance 121 X.2.Classes P et NP ; problèmes NP-complets 123 X.2.1.La classe P 123 X.2.2.La classe NP 123 X.2.3.Problèmes NP‑complets 124 X.2.4.Problèmes NP‑difficiles 128 X.3.Exercices 129 XI. Méthodes par séparation et évaluation 131 XI.1.Introduction 131 XI.2.Problème du sac à dos : méthodes heuristiques 132 XI.2.1.Première heuristique 133 XI.2.2.Seconde heuristique 133 XI.3.Méthode par séparation et évaluation pour le problème du sac à dos 133 XI.3.1.Principe de séparation 134 XI.3.2.Principe d'évaluation et utilisation de la borne 135 XI.3.3.Stratégie de développement 136 XI.3.4.Application au problème de sac à dos 137 XI4.Application au problème du voyageur de commerce 138 XI.4.1.Forme linéaire en 0‑1 du problème du voyageur de commerce 138 XI.4.2.Définition d'une fonction d'évaluation 139 XI.4.3.Description d'une méthode par séparation et évaluation 139 XI.5.Exercices 140 XII. La programmation dynamique 141 XII.l.Les problèmes de la partition et du sac à dos 141 XII.1.1.Le problème de la partition 141 XII.1.2.Résolution du problème de la partition par la programmation dynamique 142 XII.1.3.Résolution du problème du sac à dos par la programmation dynamique 143 XII.2.Un problème d'entrepôt 144 XII.3.Le problème du voyageur de commerce 146 XII.4.Complexité de la méthode utilisée 148 XII.5.Exercices 149 XIII. Relaxation la grangienne 153 XIII.1.Position du problème 153 XIII.2.Résolution du problème dual 155 XIII.2.1.Principe de la méthode 155 XIII.2.2.Etude du problème de chemin de coût minimum à une contrainte 157 XIII.3.Maximum du minimum d'une famille de fonctions linéaires 161 XIII.4.Exercice 163 XIV. Méthodes approchées définies par un voisinage 165 XIV.1.Introduction 165 XIV.1.1.La fable des randonneurs 165 XIV.1.2.Formulation du problème 167 XIV.2.Principe des méthodes de descente (méthodes d'amélioration itérative) 167 XIV.2.1.Voisinage d'une solution 168 XIV.2.2.Quelques voisinages habituels 168 XIV.2.3.Exemple : le problème du voyageur de commerce 169 XIV.2.4. Schéma général d'une descente 170 XIV.2.5. Algorithmes gloutons 171 XIV.2.6. Méthodes par partitionnement 172 XIV.3. Le recuit simulé 173 XIV.3.1. Une analogie avec la thermodynamique 173 XIV.3.2. Schéma du recuit simulé 174 XIV.3.3. Interprétation de cette méthode, appliquée au problème du voyageur de commerce 176 XIV.3.4. Modèles de recuit 177 XIV.3.5. Exemple d'application : le problème du voyageur de commerce euclidien 180 XIV.4. La méthode Tabou 181 XIV.4.1. Principe de la méthode Tabou 181 XIV.4.2. Amélioration de la méthode Tabou 183 XIV.4.3. Un exemple d'application : le partitionnement de graphes 183 XIV.5. Exercices 185 XIV.5. Exercices 185 XV. Algorithmes génétiques 187 XV.1. Introduction : de la génétique à l'algorithmique 187 XV.2. Principe des algorithmes génétiques 188 XV.2.1. Le codage 189 XV.2.2. La sélection 190 XV.2.3. Le croisement 192 XV.2.4. La mutation 193 XV.2.5. Autres opérateurs 193 XV.3. La théorie des schémas 194 XV.4. Application à un problème d'antennes 195 XV.4.1. Codage 195 XV.4.2. Croisement 195 XV.4.3. Mutation 196 XV.4.4. Résultats 196 XV.5.Exercices 196 Corrigés des exercices 199 1.Chapitre I 199 2.Chapitre II 205 3.Chapitre III 206 4.Chapitre IV 216 5.Chapitre V 218 6.Chapitre VI 223 7.Chapitre VII 227 8.Chapitre VIII 229 9.Chapitre IX 230 10.Chapitre X 238 11.Chapitre XI 241 12.Chapitre XII 246 13.Chapitre XIII 250 14.Chapitre XIV 257 15.Chapitre XV 260 Bibliographie 263 Index 265 TOP uploads/Voyage/ flot-max.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 28, 2022
  • Catégorie Travel / Voayage
  • Langue French
  • Taille du fichier 0.0599MB