Luận văn thạc sĩ VNU algorithmes dembaquetage et de couverture fractionnaire

61 15 0
Luận văn thạc sĩ VNU algorithmes dembaquetage et de couverture fractionnaire

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Table des matières Résumé v Abstract vi Table des figures vii Liste des tableaux 1 Introduction 1.1 Problématique 1.2 Contribution 1.3 Environnement de stage 1.4 Organisation 2 4 6 10 11 11 11 12 Théorie des graphes et définitions de base 2.1 Théorie des graphes 2.2 Définitions de base 2.3 Problèmes d’empaquetage fractionnaire 2.4 Problèmes de couverture fractionnaire 2.4.1 Problème de coloration 2.4.2 Coloration fractionnaire Algorithmes basés sur les méthodes de fonction nentielle 3.1 Méthode de fonction potentielle exponentielle 3.1.1 Problématique 3.1.2 Algorithme de base 3.2 Algorithme de Plotkin et al 3.2.1 Procédure principale 3.2.2 Analyse 3.2.3 Problème généralisé 3.3 Comparaison avec d’autres approches 3.3.1 Fonctions potentielles alternatives potentielle expo 14 14 14 16 17 17 18 20 20 20 ii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com iii Table des matières 3.3.2 3.3.3 Arrondissement inconscient 20 Algorithmes de Garg-Könemann et de Fleischer 21 Problème des flots maximum 4.1 Introduction 4.2 Algorithme de Fleischer 4.2.1 Algorithme 4.2.2 Analyse 4.3 Algorithme de Plotkin et al 4.3.1 Algorithme 4.3.2 Analyse 4.4 Comparaison 4.4.1 Solution initiale 4.4.2 Flot de recheminement 4.5 Histoire plusieurs commodités 22 22 23 23 24 24 24 25 26 26 26 29 Implémentation du problème des flots plusieurs commodités 31 5.1 Améliorations heuristiques 31 5.2 Implémentation 33 5.3 Résultats expérimentaux 33 Conclusion et perspectives 37 A Bibliothèque Mascopt A.1 Architecture A.2 Entreée et sortie des données A.3 Interface graphique d’utilisateur A.4 Quelques classes de base 38 38 40 42 43 B Programmation Linéaire 45 C Méthode primale - duale pour des algorithmes d’approximation 48 D Relaxation Lagrangienne 49 E Série de Taylor 52 Bibliographie 53 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Remerciements J’aimerais consacrer cette section pour remercier toutes les personnes qui m’ont supporté tout au long de mon stage : – Je suis très reconnaissant mon responsable de stage, Monsieur le professeur Stéphane Pérennes pour m’avoir donné le sujet très intéressant et m’avoir aidé bien mener ce travail par ses conseils, ses remarques et ses suggestions ; – Je tiens remercier M Jean-Claude Bermond, Directeur de Recherche - le responsable de projet Mascoptte, pour m’avoir accueilli au sein de son équipe et sa gentillesse – Je remercie Monsieur Nelson Morales, doctorant l’Inria, qui travaille dans le même bureau avec moi pour sa gentillesse, son aide, et pour les discussions grâce auxquelles j’ai pu bien mener mon travail ; – Je tiens remercier Ephie Deriche pour sa gentillesse et sa efficacité résoudre les embarras administratifs ; – Je voudrais aussi remercier toutes les autres membres du projet Mascotte qui m’ont supporté tout au long de mon stage ; – Je tiens remercier tous mes amis qui m’ont donné beaucoup d’aides et d’encouragements depuis le début de mon stage en France LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Résumé Les problèmes d’empaquetage et de couverture sont des classes généraux de nombreuse applications en réalité Un cas spécial du problème d’empaquetage est le problème des flots plusieurs commodités Ici, on doit transférer les commodités pour remplir les demandes sous les contraintes de capacités des arêtes Les problèmes de coloration et de découple sont ceux de couverture Malheureusement, si ces problèmes sont contraints être entiers alors ils sont NP-Complets Cependant, on peut trouver une solution d’approximation pour ces problèmes en se basant sur leurs versions fractionnaires Dans ce rapport, nous présentons une technique de relaxation Lagrangienne pour la conception des algorithmes d’approximation pour des problèmes ci-dessus L’idée principale est simple : partant du problème initial P , certaines contraintes sont relâchées et remplacées par des pénalités selon le degré de leur violation En général, on utilise deux types de fonction potentielle exponentielle et logarithmique pour cette technique Dans ce cadre de ce travail, nous nous concentrons seulement sur des algorithmes qui appliquent la fonction potentielle exponentielle Nous faisons aussi des études sur le problème des flots plusieurs commodités Après, nous faisons aussi une comparaison avec des autres méthodes de génération de chemins dans le cas du flot et de génération de colonnes dans le cas général Nous décrivons et examinons notre implémentation du problème des flots plusieurs commodités basée sur l’algorithme d’approximation de Plotkin et al [20, 17] Leur algorithme est efficace en théorie, cependant une implémentation directe est lent en pratique Nous modifions cet algorithme et démontrons que sa performance est en pratique garantie comme la prédiction en théorie v LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Abstract Packing and covering problems are the class general for several applications An important problem, that fits into the packing framework is the multicommodity flow problem It involves simultaneously shipping multiple commodities through a single network so that the total amount of flow on each edge is not more than the capacity of the edge Colouring and cut-stock problems are covering Unfortunately, the integer version of these problems are NP-Complete However, we can find approximated solution for these problems based on theirs fractional versions In this thesis, we will present a Lagrangian decomposition method for the design of the approximation algorithms for problems above The principal idea is simple: based on the initial problem P , certain constraints are relaxed and replaced by penalties according to the degree of their violation In general, we use two types of potential function for this technique: exponential and logarithmic In this framework, we focus on the algorithms which apply the exponential potential function for fractional packing and covering problems We also study on the multicommodity flow problem Afterwards, we will make also a comparison with paths generation methods in the case of the flow and of columns generation methods in the general case We describe and examine our multicommodity flow implementation based on the recent combinatorial approximation algorithm of Plotkin et al [20, 17] Their algorithm is effective in theory, however a direct implementation is slow in practice We modify this algorithm and show that its performance is guaranteed in practice like the prediction in theory vi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Table des figures 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Graphe G1 , V = 1, 2, 3, 4, 5, Graphe orienté G2 Matrice adjacente associée au graphe G1 Flot sur un réseau Exemple : un réseau N Réseau résiduel N (f ) Coupe dans un réseau Coloration d’un graphe 10 12 4.1 4.2 4.3 4.4 Flot Flot Flot Flot 27 27 28 28 5.1 5.2 5.3 5.4 Graphe des câbles Graphe des demandes Relation entre le nombre d’itérations et La solution des flots la précision 34 34 36 36 initiale de Plotkin et al initiale de Fleisccher recheminé de Plotkin et al recheminé de Fleischer A.1 Diagrame de classes de la bibliothèque Mascopt 39 A.2 Réseau avec un chemin 43 A.3 Graphe avec des étiquettes montrant des valeurs 44 C.1 Algorithme primal-dual de base 48 vii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Liste des tableaux 4.1 4.2 Comparaison entre Fleischer et PST91 28 Histoire de développement du problème des flots 30 5.1 Quelques fonctions principales pour le problème des flots 35 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chapitre Introduction 1.1 Problématique Les problèmes d’empaquetage et de couverture fractionnaire sont généraux pour plusieurs applications en réalité, par exemple : le problème des flots maximum, sac dos, coloration, Dans ce rapport, nous présentons et examinons quelques algorithmes pour ces problèmes En fait, il existe quelques méthodes pour les résoudre : la programmation dynamique et des méthodes heuristiques (recherche locale, recherche Taboue, branch-and-bound) La plupart de ces problèmes sont peut-être formulés comme une programmation linéaire, on peut trouver leur solution optimale en temps polynomial en utilisant la méthodes ellipsoïde [13, 14] Karmarmar [12] a aussi proposé une fonction potentielle logarithmique comme une fonction barrière Cette méthode est élargie sous le nom "méthode intérieur point" Elle a prouvé le caractère polynomiale de la programmation linéaire Cependant, ces méthodes pour la programmation linéaire sont très générales, elles ne tiennent pas compte la structure combinatoire des instances de problèmes traités En réalité, la complexité est peut-être polynôme de la taille très grandes de données d’entrées L’objectif de ce rapport est alors d’introduire une algorithme d’approximation efficace pour des problèmes d’empaquetage et de couverture fractionnaire Un algorithme d’approximation nous donne seulement une solution faisable pour une instance entrée d’un problème d’optimisation avec une précision spécialisée Cependant, dans plusieurs applications, il est suffisant de traiter les solutions qui sont près de l’optimum L’algorithme que nous introduirons est celui amélioré de Plotkin et al [20, 17, 5] dans le cas de la génération de chemins pour le problème des flots Ces améliorations heuristiques sont basées sur la technique de relaxation Lagrangienne En particulier, on va développer des algorithmes pour des problèmes d’empaquetage et de couverture fractionnaire Un problème d’empaquetage peut être formulé comme des problèmes de la programmation linéaire : max t.q cT x Ax ≤ b x ≥ (1.1) Où, A est une matrice m×n, b et c sont des vecteurs m et n dimensionnels Le but LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.1 Problématique dans un problème d’empaquetage est de trouver un choix maximum de bénéfice des colonnes tels que chaque rangée i est empaquetée par des unités de bi Intuitivement, on peut présenter ce problème comme suivant : comment peut-on placer des objets dans des btes tel que ils satisfont des contraintes de capacités de btes ? Par exemple, pour le problème de sac dos, on doit mettre des objets dans le sac tel que le total de values d’objets est maximum, le problème des flots est similaire, on doit maximiser le flot transféré dans un réseau sous des contraintes de capacité des arêtes Un problème de couverture peut être décrit par une instance de programmation linéaire suivante : t.q yT b AT y ≥ c y ≥ (1.2) Où, A, c, b sont définis comme dans le cas ci-dessus Le but de ce problème est contraire au problème d’empaquetage On doit trouver un choix minimum de coût des colonnes tels que chaque rangée i est couverte par des unités de bi On trouve que : le dernier problème est le dual de programmation linéaire (1.1) Lorsque l’on s’autorise découper les objets en sous parties le problème est polynomial, il s’exprime en effet sous la forme d’un problème de programmation linéaire entière La complexité de la résolution par programmation linéaire standard n’est cependant pas toujours satisfaisante L’algorithme de Rao et al [20] a pour objet de fournir une méthode plus rapide Il peut être considéré la fois comme une méthode primale - duale et une relaxation Lagrangienne du problème Son principe est simple, partant du problème initial P , certaines contraintes sont relâchées et remplacées par une pénalité exponentielle selon le degré de leur violation (relaxation Lagrangienne) A chaque étape, l’algorithme effectue une descente de type gradient, celle-ci nécessite l’optimisation d’un problème plus simple P pour lequel on utilise une méthode aussi efficace que possible Ici, leur objectif est de chercher un point x ∈ P tel que Ax ≥ (1 − )b pour le problème de couverture (ou bien chercher un point x ∈ P tel que Ax ≤ (1 + )b pour le problème d’empaquetage) Le nombre d’itérations (le nombre d’appels la sous-tâche) est O( −2 ρ log(m −1 )) pour le problème d’empaquetage et O(m + ρ log2 m + −2 ρ log(m −1 )) pour le problème de couverture Où, ρ la largeur de P , ρ = maxi maxx∈P abiix Dans une autre approche, en utilisant une fonction potentielle logarithmique modifiée de Karmarkar, J Villavicencio et M.D Grigoriadis [24], K Jansen et H Zhang [11] ont présenté un algorithme d’approximation pour des problèmes d’empaquetage Cet algorithme peut trouver une solution d’approximation pour n’importe quelle erreur ∈ (0, 1) dans O(M ( −2 ln −1 + ln M )) itérations Un problème important traité dans le cadre d’empaquetage est le problème des flots plusieurs commodités Ici, on donne un réseau de flots G = (V, E), une fonction de capacité sur des arêtes c et k commodités Chacune de ces commodités correspond soit une couple de sommets (source et puits) dans le cas simple soit quelques couples de source-puits dans le cas général (dans le cadre de ce travail, on va traiter seulement le premier) On a un ensemble de couples des sommets T = (s1 , t1 ), , (sk , tk ) et chacune associe avec chaque commodité Ce qu’on veux chercher LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 40 Chapitre A Bibliothèque Mascopt VertexSet V = new VertexSet() ; V.add(n0) ; V.add(n1) ; V.add(n2) ; ArcSet E = new ArcSet(V) ; E.add(a0) ; E.add(a1) ; DiGraph G0 = new DiGraph(V, E) ; } } A.2 Entreée et sortie des données Format MGL Mascopt utilise XML pour décrire des graphes et d’autres objets de réseau plutôt que mise en forme de texte simple Mascopt fournit plusieurs formats d’entrés et de sorties Nous présentons seulement MGL qui signifie la bibliothèque de graphe de Mascopt Le format de MGL est basé sur la norme de XML Il fournit une description lisible des objets de Mascopt qui peuvent être facilement prolongés pour les propres objets ou les spécialisations de l’utilisateur Le fichier est tout fait compréhensible L’information contenue dans un fichier de MGL reflète la structure dorienter-objet de Mascopt Cest une faỗon simple pour permettre de partager des objets Un échantillon d’un code pour un digraphe : < ?xml version="1.0" ?> < !DOCTYPE OBJECTS SYSTEM "ftp ://ftp-sop.inria.fr/mascotte/mascopt/dtd/mgl_v1.1.dtd"> 50.0 0.0 node0 10.0 50.0 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com A.2 Entreée et sortie des données 41 0.0 0.0 6.8 110 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 42 Chapitre A Bibliothèque Mascopt Lire et écrire une valeur Mascopt permet de lire et d’écrire la valeur d’objet d’un graphe avec un contexte ou avec sans contexte Avec sans contexte Pour sauvegarder un "String" sur des sommets, arcs, : getValue(String name) setValue(String name, String value) Et c’est pareil avec d’autres types de données (Interger, int, double, ) Avec contexte Pour sauvegarder un "String" sur des sommets, arcs, : getValue(String name, Object context) setValue(String name, String value, Object context) Et c’est pareil avec d’autres types de données (Interger, int, double, ) A.3 Interface graphique d’utilisateur Il existe dans mascopt une classe permettant l’affichage des graphes, MascoptViewer Pour afficher un graphe, il faut donc créer un objet de type MascoptViewer Cette objet va alors contenir une liste de vues (qui correspondent différentes fenêtres qui seront créées) et chaque vue contient une liste de “layers” contenant chacun un ou plusieurs graphes Cette organisation permet en particulier de superposer différents graphes en ajoutant leur layers respectives dans les vues Il est aussi possible d’ajouter la même layer différentes vues Les vues sont implémentées par la classe GView et les layers par la classe GLayer En pratique on peut procéder de la manière suivante : On instancie un objet de type MascoptViewer MascoptViewer mv = new MascoptViewer() ; On instancie un objet de type GView GView gv = mv.newView(G.getName()) ; On instancie un objet de type GLayer GLayer gl = mv.newLayer(G.getName()) ; On associe le graphe et le layer mv.addGraphInLayer(G,gl,true) ; On ajoute la layer dans la vue LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com A.4 Quelques classes de base 43 mv.addLayerInView(gl,gv) ; Et tout devrait s’afficher de la manière souhaitée Fig A.2 – Réseau avec un chemin A.4 Quelques classes de base Paquet MascoptLib.abstractGraph MascoptAbstractVertex Décrire un sommet d’un graphe MascoptAbstractVertexSet Décrire un ensemble de sommets MascoptAbstractEdge Décrire une arête d’un graphe MascoptAbstractEdgeSet Décrire un ensemble d’arêtes MascoptAbstractPath Décrire un chemin sur un graphe LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 44 Chapitre A Bibliothèque Mascopt Fig A.3 – Graphe avec des étiquettes montrant des valeurs MascoptAbstractPathSet Décrire en emsemble de chemins MascoptAbstractGraph Décrire un graphe qui contient un ensemble de sommets et un ensemble d’arêtes MascoptAbstractGraphSet Décrire un ensemble de graphes LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Annexe B Programmation Linéaire Définition La programmation linéaire forme un cas spécial important des problèmes de programmation mathématiques En fait, des algorithmes abordés dans ce rapport sont basés sur la relaxation Lagrangien, une technique de relaxation pour la programmation linéaire et convexe D’un point de vue géométrique, les contraintes linéaires forment un polytope convexe Si la fonction objective est aussi linéaire, tous les optimums locaux sont également des optimums globaux ; cela reste vrai si cette fonction augmente de faỗon monotone sur chaque variable considộrộe, le cas linéaire ne représentant qu’un cas particulier dont la propriété n’est d’ailleurs pas utilisée Il y a deux cas où il n’existe pas de solution optimale Le premier si les contraintes se contredisent mutuellement (x ≥ et x ≤ par exemple) Dans un tel cas, le polytope est vide et il n’y a pas de solution optimale puisqu’il n’y a pas du tout de solution La programmation linéaire est alors infaisable Le polytope peut également être non-borné dans la direction définie par la fonction objective (par exemple x1 + 3x2 tel que x1 ≥ 0, x2 ≥ 0, x1 + x2 ≥ 10) Dans ce cas, il n’y a pas de solution optimale puisqu’il est possible de construire des solutions satisfaisant aux contraintes avec des valeurs arbitrairement élevées (ou basses) de la fonction objectif En dehors de ces deux cas (qui sont finalement rares dans les problèmes pratiques), l’optimum atteint toujours un sommet du polytope Cependant, l’optimum n’est pas nécessairement unique : il est possible d’avoir un ensemble de solutions optimales correspondant une arête ou une face du polytope, voire au polytope en entier La programmation linéaire fournit une technique forte pour décrire une classe large des problèmes d’optimisation, en même temps il fournit également des techniques générales pour leur solution Mathématiquement, on a une matrice m x n, suppose M est un ensemble de lignes correspondantes avec des contraintes d’égalité, et suppose M est celles correspondent avec des contraintes d’inégalité Supposons x ∈ Rn Alors, une instance 45 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 46 Chapitre B Programmation Linéaire de la programmation linéaire générale est définie par : maximiser cT x soumettre a ` x ≤ b i x ∈ P (B.1) Où, b est un vecteur m − dimensionnel, c est un vecteur n − dimensionnel Une programmation linéaire sur n variables réels x = x1 , , xn demande de minimiser (ou maximiser) la valeur de la fonction d’objective qui est définie comme une combinatoire linéaire des variables dans x soumettre au ensemble de m d’égalités ou d’inégalités Algorithmes Quelques algorithmes sont proposés pour résoudre des programmations linéaires Le plus utilisé est la méthode simplexe développé par Dantzig dans les dernières années 40du 20ème siècle L’algorithme simplexe permet de résoudre les problèmes de la programmation linéaire en construisant tout d’abord une solution faisable qui est un sommet du polytope puis en se dộplaỗant selon les arờtes du polytope pour atteindre des sommets pour lesquels la valeur de l’objectif est de plus en plus grande, jusqu’à atteindre l’optimum Bien que cet algorithme soit efficace en pratique et qu’il soit assuré de trouver l’optimum, son comportement dans le pire cas peut être mauvais Il est ainsi possible de construire un PL pour lequel la méthode du simplexe requiert un nombre d’étapes exponentiel en la taille du problème Ainsi, pendant plusieurs années, savoir si la programmation linéaire était un problème NP-complet ou polynomial reste une question ouverte Le premier algorithme polynomial pour la programmation linéaire a été proposé par Leonid Khachiyan en 1979 Il est basé sur la méthode ellipsoïde en optimisation non linéaire précédemment proposée par Naum Shor Cette méthode est elle-même une généralisation de la méthode de l’ellipsoïde optimisation convexe due Arkadi Nemirovski, et D Yudin Cependant, l’efficacité pratique de l’algorithme de Khachiyan est décevante : l’algorithme simplex est pratiquement toujours plus performant En revanche, ce résultat a encouragé la recherche dans les méthodes de point intérieur Par opposition l’algorithme simplex qui considère uniquement la frontière du polytope définie par les contraintes, les méthodes de point intérieur évoluent l’intérieur du polytope En 1984, N Karmarkar propose la méthode projective C’est le premier algorithme efficace la fois en théorie et en pratique Sa complexité dans le pire cas est polynomiale et les expérimentations sur les problèmes pratiques montrent que la méthode peut être raisonnablement comparée l’algorithme simplex Et après, plusieurs méthodes de point intérieur ont été proposées et étudiées Une des méthodes les plus célèbres est la méthode prédictive/corrective qui fonctionne très bien en pratique même si son étude théorique est encore imparfaite Pour la résolution pratique de problèmes de la programmation linéaire ordinaires, on utilise actuellement deux méthodes : la méthode simplexe dérivée et celle du point intérieur LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 47 La théorie de la dualité est aussi un résultat très important de la programmation linéaire Les algorithmes d’approximation basés sur la méthode primale - duale nous permettent de efficacement résoudre une classe large des problèmes N P -Complets Les algorithmes abordés dans des parties au-dessus sont également considérés en même temps comme la méthode primale - duale et la technique de la relaxation Lagrangienne La programmation linéaire duale de PL (7.1) est formulée comme suivante : minimiser bT y soumettre a ` y ≥ ci y ∈ D (B.2) Proposition La dualité du programme dual est la programmation linéaire duale Proposition (Dualité faible) Si x est une solution primale faisable et y est une solution duale faisable, alors cT x ≤ zp∗ ≤ zd∗ ≤ bT y Où, zp∗ et zd∗ sont des solutions optimales de PL de (7.1) et de celle de (7.2) Proposition (Dualité forte) Si (7.1) et (7.2) sont faisables, alors zp∗ = zd∗ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Annexe C Méthode primale - duale pour des algorithmes d’approximation La méthode primale-duale pour des algorithmes d’approximation considère en même temps toutes les deux une formulation de programmation entière du problème primale et la dualité d’une relaxation de programmation linéaire de la programmation entière L’idée fondamentale était d’abord utilisée par Kuhn pour donner l’ algorithme hongrois pour résoudre le problème de tâche Elle a été alors prolongée par Dantzig, Ford, et Fulkerson un algorithme général pour la programmation linéaire L’idée fondamentale est qu’on donne une solution duale faisable y, nous essayons chercher une solution primale faisable x qui obéit les conditions complémentaires d’écartes Si on peut trouver un tel x, on a des solutions optimales Si il n’existe pas aucun, ceci donne une manière de modifier la solution duale pour augmenter la dualité de la valeur objective Si l’un des deux problèmes suivants : (P )max cT x | Ax ≤ b(D)min bT y | y ≥ 0, yA = c admet une solution finie alors il en est de même pour l’autre on a : by | y ≥ 0, yA = c = max cx | Ax ≥ b L’algorithme primal-dual de base y←0 x←0 Tans dis x n’est pas faisable (satisfaire d’écartes) – Augmenter y – Mettre jour x les conditions complémentaires Retourne x Fig C.1 – Algorithme primal-dual de base 48 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Annexe D Relaxation Lagrangienne La relaxation Lagrangienne est une parmi des premières méthodes proposées pour résoudre des programmes linéaires Il a apparu aux premières années 50 Notre algorithme est basé sur cette technique Supposons que nous considérons un problème d’optimisation convexe comme suivant : minimiser f (x), x∈P (D.1) Où P ⊆ Rn est un ensemble convexe dans l’espace Euclidiennen − dimensionnel et f est une fonction convexe définit sur P Et supposons que OP T est la valeur optimale de (D.1) Un ensemble P est convexe si et seulement si pour deux vecteurs quelconques u, v ∈ P , et n’importe quelle combinaison convexe λ1 u + λ2 v (où λ1 , λ2 ≥ et λ1 + λ2 = 1) lie aussi P Une fonction convexe f si pour u, v sont deux ensembles sur son domaine convexe, nous avons f (λ1 u+λ2 v) ≤ λ1 f (u)+λ2 f (v) pour n’importe quels λ1 , λ2 ≥ tel que λ1 + λ2 = L’idée de la relaxation Lagrangienne est simple On part du problème initial P, certaines contraintes sont relâchées et remplacées par une pénalité exponentielle selon le degré de leur violation A chaque étape, l’algorithme effectue une descente de type gradient, celle-ci nécessite l’optimisation d’un problème plus simple P’ pour lequel on utilise une méthode aussi efficace que possible Maintenant supposons que l’ensemble convexe P peut former comme suivant : P = P ∩ {x ∈ Rn : hi (x) ≤ 0, ≤ i ≤ m} Où P ∈ Rn est un ensemble convexe et hi sont des fonctions convexes Supposons que P est "facile" minimiser tandis que des contraintes h1 , h2 , , hn sont "difficiles" satisfaire Cette technique fait une relaxation des contraintes difficiles et résout le problème après seulement avoir incorporé des contraintes faciles Cependant, nous devons ajouter une pénalité la fonction objective selon la violation de contraintes "difficiles" Le problème peut re-exprimer selon la forme : m minimiser f (x) + y i hi i=1 yi ≥ x∈P i = m (D.2) 49 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 50 Chapitre D Relaxation Lagrangienne Nous associons des multiplications non-négatives yi avec des fonctions hi x Attendez que, pour des valeurs fixées de yi ≥ 0, alors la fonction objective m f (x) + yi hi i=1 est convexe Attendons que pour n’importe quelles valeurs fixées de yi , la valeur optimale du programme relâchée (D.2) est une borne inférieure que OP T , où OP T est la valeur optimum du programme origine (D.1) C’est vrai car n’importe quelle solution faisable x ∈ P du programme origine (D.1) est aussi une solution faisable de celui relâché (D.2) et la valeur objective de cette solution du programme relâché (D.2) est au plus par rapport celle du programme (D.1) C’est pourquoi, pour obtenir la meilleure borne, on cherche des valeurs de yi tel que la borne inférieure est maximum m maxy1 , ,ym ≥0 minx∈P f (x) + y i hi i=1 Ce programme est considéré comme un dual Lagrangienne d’origine programme Voyons des arguments au-dessus, il est clair que la valeur optimum est au plus OP T Attendons que pour n’importe quel x ˜ ∈ P et yi ≥ 0, i = 1, , m on a : m minx∈P f (x) + yi hi ≤ OP T ≤ f (x) i=1 Pour indiquer une valeur presque-optimum x ˜ ∈ P du programme (1.1), on doit chercher yi ≥ 0, i = 1, , m tel que : f (˜ x) ≤ + minx∈P (f (x) + m i=1 y i hi ) En fait, on utilise deux types de fonction potentielle pour la pénalité Lagrangienne Dans la partie ci-dessous, nous allons aborder deux ces fonctions ainsi que des travaux précédents qui les appliquent Fonction potentielle exponentielle Les fonctions potentielles exponentielles ont été introduites dans l’optimisation par Motzkin (1952) qui a suggéré des méthodes de la descente de type gradient pour résoudre des systèmes linéaire des inégalités Polyak (1988) a étudié des propriétés convergentes et des applications de fonctions potentielles exponentielles pour des problèmes d’optimisation (aussi dans Bertsekas 1977 et Schnabel 1982) Shahrokhi et Matula (1990) [23] ont obtenu un schéma d’approximation totalement en temps polynomial pour le problème des flots uniforme de concurrence Leur borne a été améliorée par Tardos (1989), Klein et al (1990), et Leighton et al (1991) [17], et élargit plus pour des problèmes linéaires par Plotkin et al (1991) [20] Des bornes de la complexité de la coordination le plus connu ont été actuellement fournis pour tous les deux problèmes linéaire et non-linéaire par Grigoriadis et Khachiyan (1994) [9] LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 51 Fonction potentielle logarithmique Des premiers résultats concernant la fonction potentielle logarithmique a introduit par Frish pour l’optimisation linéaire et convexe (1954, 1955) Puis, Karmarkar a proposé une fonction potentielle : Φ(x) = nlncT x − ni=1 lnxi Ensuite, Grigoriadis et al a présenté une fonction modifié : t Φt (θ, x) = θ − M M ln(θ − fm (x)) (D.3) m=1 M sont des variables, λ(f (x)) ≤ Où, t est un paramètre tolérante, θ ∈ R+ et f ∈ R+ θ ≤ +∞ Cette fonction a des propriétés suivantes : (1) Φt (θ, x) est continue et, (2) la propriété barrière : Φt (θ, x) → +∞ si θ → λ(f ) ou θ → +∞, où λ(f ) = max{f1 , , fM } La solution du problème orginal peut être calculée travers le problème suivant : (P Φ) Φt (θ, x)|x ∈ P, θ ∈ R+ Quand (P Φ) est optimal, on peut calculer θ(x) qui est racine unique de l’équation ci-dessous en calculant la dérivée de Φt (θ, x) selon θ(x) : t M M θ = θ − fm (x) m=1 (D.4) La fonction ci-dessus a la racine unique parce que la côté gauche est une fonction diminue de faỗon monotone quand augmente Lemme 14 (1 − t)θ(x) ≤ λ(x) ≤ (1 − t/M )θ(x) pour x ∈ P Preuve : À partir de (1.5) et fm (x) ≤ λ(x), on a : = ρsumM m=1 θ(x) θ(x) ρM θ(x) ≤ ρsumM = m=1 θ(x) − fm (x) θ(x) − λ(x) θ(x) − λ(x) Alors, on a démontré l’inégalité gauche Où, ρ = À partir de (1.5), on a aussi : t M M ρ θ(x) ≤ θ(x) − fm (x) m=1 ∀m = M Dans la cas particulier fm (x) = λ(x), on obtient l’inégalité droite Lemme 15 (1 − t)lnλ(x) ≤ φt (x) ≤ (1 − t)lnλ(x) + tln(e/t) pour x ∈ P On trouve que θ(x) est approximativement λ(x) et φ(x) est approximativement lnλ(x) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Annexe E Série de Taylor Soit f une fonction définie sur un intervalle I de R, x0 un point de cet intervalle, et on suppose que f est indéfiniment dérivable en x0 La série de Taylor de f en x0 est la série de fonctions : ∞ f (n) (x0 ) (x − x0 )n n! n=0 Où, n! est la factorielle de n et f (n) (x0 ) désigne la dérivée nème de f au point x0 Lorsque le point xO est l’origine, on parle parfois de série de Mac-Laurin plutôt que de série de Taylor Liste des séries de Taylor importantes utilisées dans ce rapport Nous allons donner d’importants développements en série de Taylor Tous ces développements sont aussi valables pour une variable complexe x Fonction exponentielle et logarithme naturel : ∞ pour tout x, x e = n=0 xn n! ∞ pour |x| < 1, ln(1 + x) = n=1 −1n+1 n x n 52 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bibliographie [1] D Bienstock Potential function methods for approximately solving linear programs : Theory and practice, 2001 [2] M Bouklit, D Coudert, J-F Lalande, C Paul, and H Rivano Approximate multicommodity flow for wdm networks design In J Sibeyn, editor, SIROCCO 10, number 17 in Proceedings in Informatics, pages 43–56, Umea, Sweden, 2003 Carleton Scientific [3] D Coudert, H Rivano, and X Roche A combinatorial approximation algorithm for the multicommodity flow problem In K Jansen and R Solis-Oba, editors, WAOA 03, number 2909 in Lecture Notes in Computer Science, pages 256–259, Budapest, Hungary, September 2003 Springer-Verlag [4] Jack Edmonds and Richard M Karp Theoretical improvements in algorithmic efficiency for network flow problems Journal ACM, 19(2) :248–264, 1972 [5] Lisa K Fleischer Approximating fractional multicommodity flow independent of the number of commodities SIAM J DISCRETE MATH, 13 :505–520, 1999 [6] Naveen Garg, Vijay V Vazirani, and Mihalis Yannakakis Approximate maxflow min-(multi)cut theorems and their applications SIAM J Comput., 25(2) :235–251, 1996 [7] N Grag and J Konemann Faster and simpler algorithms for multicommodity flow and the other fractional packing problems IEEE Symposium on Foundations of Computer Science, pages 300–309, 1998 [8] M.D Grigoriadis An efficient implementation of the network simplex method Mathematical Programming Study, 26 :83–111, 1986 [9] M.D Grigoriadis and L.G Khachiyan Fast approximation schemes for convex programs with many blocks and couping constraints SIAM Journal on Optimization, pages 86–107, 1994 [10] Michael D Grigoriadis and Leonid G Khachiyan Coordination complexity of parallel price-directive decomposition Math Oper Res., 21(2) :321–340, 1996 [11] K Jansen and H Zhang Approximation algorithms for general packing problems with modified logarithmic potential function Proceedings of the 2nd IFIP International Conference on Theoretical Computer Science (TCS’02), pages 25 – 30, 2002 [12] N K Karmarkar A new polynomial-time algorithm for linear programming Combinatorica, :373–395, 1984 [13] L G Khachiyan A polynomial algorithm in linear programming English Translation : Soviet Mathematics Doklady, 20 :191–194, 1979 53 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 54 Bibliographie [14] L G Khachiyan Polynomial algorithms in linear programming English Translation : U.S.S.R Computational Mathematics and Mathematical Physics, 20 :53–72, 1980 [15] P Klein, S A Plotkin, C Stein, and É Tardos Faster approximation algorithms for the unit capacity concurrent flow problem with applications to routing and finding sparse cuts Proceedings of the 22nd Annual ACM Symposium on Theory of Computing, pages 310–321, 1990 [16] F.T Leighton and S Rao An approximate max-fow min-cut theorem for uniform multicommodity flow problems with application to approximation algorithms In Proceedings, 29th Symposium on Foundations of Computer Science, pages 422–431, 1988 [17] T Leighton, F Makedon, S Plotkin, C Stein, É Tardos, and S Tragoudas Fast approximation algorithms for multicommodity flow problems 25th Annual ACM Symposium on the Theory of Computing, pages 101–111, 1991 [18] Jr L.R Ford and D.R Fulkerson Maximal fow through a network Canadian Journal of Mathematics, :191–194, 1956 [19] Tomomi Matsui Approximation algorithms for maximum independent set problems and fractional coloring problems on unit disk graphs In JCDCG ’98 : Revised Papers from the Japanese Conference on Discrete and Computational Geometry, pages 194–200, London, UK, 2000 Springer-Verlag [20] Serge A Plotkin, David B Shmoys, and Eva Tardos Fast approximation algorithms for fractional packing and covering problems In Proceedings of the 32nd annual symposium on Foundations of computer science, pages 495–504, Los Alamitos, CA, USA, 1991 IEEE Computer Society Press [21] Project Mascotte, Inria - Sophia Mascopt [22] Prabhakar Raghavan Probabilistic construction of deterministic algorithms : approximating packing integer programs J Comput Syst Sci., 37(2) :130–143, 1988 [23] Farhad Shahrokhi and D W Matula The maximum concurrent flow problem Journal ACM, 37(2) :318–334, 1990 [24] J Villavicencio and M Grigoriadis Approximate lagrangian decomposition with a modified karmarkar logarithmic potential Network Optimization (Pardalos and Hager, eds.), pages 471 – 485, 1997 [25] Neal E Young Randomized rounding without solving the linear program In In 6th Annual Symposium on Discrete Algorithms (SODA95), pages 170–178, 1995 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Introduire généralement des problèmes d’empaquetage et de couverture fractionnaire et des algorithmes développés récemment pour ces problèmes – Introduire et analyser la méthode de fonction potentielle... problème des flots uniforme de concurrencegrâce cette méthode Leur borne est améliorée par Klein et al [15](1990), et Leighton et al (1991) [17], et de plus élargie pour des problèmes d’empaquetage et. .. d’approximation de base pour des problèmes d’empaquetage et de couverture fractionnaire basé sur la méthode de la fonction potentielle exponentielle Ensuite, nous analyserons l’algorithme de Plotkin et al

Ngày đăng: 06/12/2022, 15:48

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan