Tải bản đầy đủ (.pdf) (68 trang)

Diversification et nouveaux objectifs de recherche locale pour l’ingénierie de trafic dans les réseaux IP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (989.67 KB, 68 trang )

Institut de la francophonie

Université catholique de

pour l’informatique

Louvain

Diversification et nouveaux objectifs de
recherche locale pour l’ingénierie de trafic
dans les réseaux IP
Rapport de stage de fin d’études

Réalisé par :
HO Trong Viet
Promotion XII - IFI
Sous la direction de :
Yves Deville
Olivier Bonaventure
Pierre François
Département d’Ingénierie Informatique
Université catholique de Louvain

Louvain La Neuve, le 10 août 2008


Table des matières
Remerciements.................................................................................................................... 3
Résumé................................................................................................................................ 4
Abstract ............................................................................................................................... 5
Liste des figures .................................................................................................................. 6


Liste des tableaux................................................................................................................ 7
Chapitre 1 : Introduction..................................................................................................... 8
1. Problématique ............................................................................................................. 8
2. Motivation................................................................................................................... 9
3. Objectifs.................................................................................................................... 10
4. Contribution .............................................................................................................. 11
5. Environnement de stage............................................................................................ 13
Chapitre 2 : Recherche Locale et Comet .......................................................................... 15
1. Recherche locale ....................................................................................................... 15
1.1. Méthodes de résolution heuristiques ................................................................ 15
1.2. Les composants principaux de LSA ................................................................. 16
1.2.1. Génération de la solution initiale .............................................................. 16
1.2.2. Heuristiques ou méta-heuristiques pour le choix du voisin...................... 16
1.2.3. Stratégie d’intensification ou de diversification ....................................... 17
1.2.4. Critères d’arrêt .......................................................................................... 18
1.3. Le générique de recherche locale ..................................................................... 18
1.3.1. Les heuristiques ........................................................................................ 18
1.3.2. Les méta-heuristiques ............................................................................... 19
2. Comet........................................................................................................................ 21
2.1. Le choix de COMET ........................................................................................ 21
2.2. Langage de COMET......................................................................................... 22
2.2.1. Architecture de COMET........................................................................... 22
2.2.2. Le programme de COMET ....................................................................... 24
2.2.2.1. Le modèle.......................................................................................... 24
2.2.2.2. Les variables de décision .................................................................. 25
2.2.2.3. Les contraintes .................................................................................. 25
2.2.2.4. La procédure de recherche ................................................................ 25
Chapitre 3 : Le problème de convergence dans les protocoles de routage IP................... 27
1. Routage IP et convergence........................................................................................ 27
1.1. Le protocole IP ................................................................................................. 27

1.2. Routage IP ........................................................................................................ 27
1.3. OSPF................................................................................................................. 27
1.3.1. Routage avec OSPF .................................................................................. 27
1.3.2. Convergence OSPF................................................................................... 28
2. Les techniques de protection de liens ....................................................................... 29
2.1. MPLS Fast Reroute .......................................................................................... 29
2.2. Loop-Free Alternates (LFA)............................................................................. 30
2.2.1. LFA par lien.............................................................................................. 31
2.2.2. LFA par préfixe ........................................................................................ 32
2.3. LFA vs MPLS FRR .......................................................................................... 33
2.4. Equal Cost Multi-Path (ECMP)........................................................................ 34


3. Le cadre d’ingénierie du réseau ................................................................................ 35
3.1. Introduction ...................................................................................................... 35
3.2. Exemple de la configuration de topologie du réseau........................................ 37
3.2.1. Configuration initiale avec les poids d’unité ............................................ 37
3.2.2. Modification locale de poids de lien encombré ........................................ 38
3.2.3. Opimisation globale de la charge de liens ................................................ 39
4. Description de problèmes ......................................................................................... 39
4.1. Problème 1........................................................................................................ 40
4.2. Problème 2........................................................................................................ 41
4.3. Problème 3........................................................................................................ 42
Chapitre 4 : Algorithme de recherche locale pour le problème de convergence .............. 43
1. Mesure du trafic ........................................................................................................ 43
2. Optimisation des métriques IGP ............................................................................... 45
2.1. La séquence de métriques clés ......................................................................... 45
2.2. Les 4 composants principaux ........................................................................... 48
2.2.1. Génération des solutions initiales ............................................................. 48
2.2.2. Fonction d’objectif.................................................................................... 50

2.2.3. Choix de la solution voisine ..................................................................... 51
2.2.4. Diversification et critères d’arrêt .............................................................. 53
2.3. Description algorithmique ................................................................................ 54
Chapitre 5 : Expérimentation et Analyse .......................................................................... 57
1. Environnement d’implémentation ............................................................................ 57
1.1. IGEN................................................................................................................. 57
1.2. TOTEM ............................................................................................................ 58
2. Algorithme IGPWO de TOTEM .............................................................................. 59
3. Comparaison entre LSA4IGPWO et IGPWO de TOTEM ....................................... 61
3.1. Point de vue algorithmique............................................................................... 61
3.2. Résultats expérimentaux................................................................................... 62
3.2.1. Minimisation de la valeur de MaxUtilisation ........................................... 63
3.2.2. Impacts sur la couverture de LFA ............................................................ 64
Conclusion ........................................................................................................................ 65
Références......................................................................................................................... 66

2


Remerciements
Je tiens d’abord à remercier Yves Deville, Olivier Bonaventure et Pierre François,
qui ont dirigé mon mémoire de fin d’études. Leurs commentaires éclairés, leurs
judicieux conseils, leur disponibilité et leurs encouragements m’ont
considérablement aidé à mener à terme mes travaux.
Je remercie aussi les membres du groupe Be-cool (Belgian Constraint Group) du
Département d’Ingenierie Informatique pour leur accueil, leur aide et leur bonne
humeur tout long de mon stage.
Ma reconnaissance s’adresse aussi aux professeurs à l’Institut de la Francophonie
pour l’Informatique (IFI). Leurs cours m’ont apporté des connaissances et des
suggestions qui sont utiles pour mon mémoire.

Finalement, j’exprime mon entière reconnaissance à ma famille et mes amis pour
leur soutien, leur aide et leurs encouragements. Sans leur aide, je n’aurais pas pu
achever ce mémoire.

3


Résumé
Les applications de multi-média comme la vidéo-conférence IP, la téléphonie IP et la
télévision IP entraînent l’augmentation de demandes de trafic dans les réseaux. Dès lors,
une utilisation efficace des ressources disponibles, par les protocoles de routage IP
traditionnels devient critique. OSPF (Open Shortest Path First) est le protocole de routage
interne le plus utilisé. Il route les flux de trafic le long des plus courts chemins dans le
graphe représentant les routeurs (noeuds) et leurs liens (arêtes) du réseau. Les poids des
liens du réseau peuvent être changés par l’opérateur du réseau. Grâce à une optimisation
de ces poids, nous pouvons améliorer considérablement la charge des liens, répondant
ainsi à l'augmentation de demandes de trafic, tout en utilisant les ressources disponibles
et sans modifier le protocole. Cependant, cette optimisation est un problème complexe
(NP-difficile), dont la solution ne peut pas être trouvée au moyen d’une méthode de
résolution exacte. Pour ce type de problèmes d'optimisation, la recherche locale est une
approche adéquate. Dans cette recherche, nous avons conçu un programme capable de
résoudre le problème d’optimisation de poids des liens en utilisant un algorithme de la
recherche locale. Nous avons proposé des heuristiques nouvelles pour cette approche.
Un autre aspect essentiel de la transmission de données fournie par OSPF est son temps
de récupération en cas de panne. Des mécanismes de récupération locale (IP Fast
Reroute) ont été récemment mis en place pour fournir une telle récupération rapide. Ces
techniques fournissent des détours locaux autour des composants en panne, et donc
changent l’utilisation des ressources du réseau au moment de leur activation.
Dans notre travail, nous avons évalué l’impact des différentes solutions d’optimisation
des poids sur l’utilisation des ressources du réseau lors de l’activation des mécanismes de

protection. Deux mécanismes de Fast Reroute ont été examinés : Loop Free Alternates et
MPLS Fast Reroute. Un aspect intéressant des LFAs est qu’ils sont applicables
uniquement dans certaines conditions portant sur le graphe du réseau et la configuration
des métriques des liens. Par conséquent, nous avons également étudié l’impact des
solutions d’optimisation des poids sur l’applicabilité de cette technique.
Nous avons implémenté les solutions présentées dans ce mémoire dans COMET, et nous
avons comparé leur performance et impact sur l’applicabilité des LFAs avec la solution
de recherche taboue de TOTEM (TOolbox for Traffic Engineering Methods).

4


Abstract
Multimedia applications as IP telephony, IP television, and IP video conferencing lead to
an increasing traffic demand in the network. Therefore, an effective use of available
resources (transit bandwidth) by the traditional IP routing suite becomes critical. Open
Shortest Path First (OSPF) is the most commonly used intra-domain routing protocol. It
routes the traffic flows along the shortest paths within the network topology graph. The
weights of the network graph can be modified by the network operator. By optimizing
the setting of these weights, we can significantly improve the load of the links while
using available resources and without changing the protocols themselves. However, this
is a complex problem (NP-hard), that can not be solved by a method of exact resolution.
For this type of optimization problem, the local search approach is thus an appropriate
solution approach. In this research, we developed a program capable of solving the link
weights optimizing problem using a local search algorithm. We have proposed new
heuristics for this local search approach. The performances of our solution are compared
with the tabu search solution of TOTEM (TOolbox for Traffic Engineering Methods).
Another critical aspect of the transit service provided by OSPF is its recovery time in the
case of failures. Local recovery mechanisms (IP Fast Reroute) have been recently
introduced to provide such a fast recovery. These techniques provide local detours around

the failing components, and hence change the utilization of the network resources upon
their activation.
Thus, in our work, we evaluated the impact of the various weight optimization solutions
on the network resource usage upon the activation of the protection mechanism. Two Fast
Reroute mechanisms were considered : Loop Free Alternates and MPLS Fast Reroute.
An interesting aspect of LFAs is that they are only applicable under some conditions on
the network graph and the setting of the link metrics. Hence, we also studied the impact
of the Weight Optimization solutions on the applicability of this technique.

5


Liste des figures
Figure 1: Recherche Locale : Optima Locaux et Solution Optimale................................ 17
Figure 2: Architecture de COMET .................................................................................. 23
Figure 3: Multiple des chemins les plus courts................................................................. 28
Figure 4 : Les opérations de MPLS Fast ReRoute............................................................ 30
Figure 5 : Exemple de la protection de LFA : Cas normal .............................................. 31
Figure 6 : Exemple de la protection de LFA : Lien B→D tombe en panne ..................... 31
Figure 7 : Exemple de LFA par lien ................................................................................ 32
Figure 8 : Exemple de LFA par préfixe ............................................................................ 33
Figure 9 : Cas normal : pas de panne de S à D ................................................................. 33
Figure 10 : LFA vs MPLS Fast Reroute ........................................................................... 34
Figure 11 : ECMP avec 5 chemins les plus courts............................................................ 35
Figure 12 : 3 composants clés du cadre d'ingénierie de trafic .......................................... 36
Figure 13 : Configuration initiale ..................................................................................... 37
Figure 14 : Modification locale de lien encombré ........................................................... 38
Figure 15 : Optimisation globale de la charge de liens .................................................... 39
Figure 16 : Image de l’utilisation du réseau...................................................................... 41
Figure 17 : Calcul de la KMS .......................................................................................... 47

Figure 18 : Calul de totalDemand - Option 1 ................................................................... 49
Figure 19 : Calcul de totalDemand - Option 2.................................................................. 50
Figure 20 : Interface d'IGEN ............................................................................................ 57
Figure 21 : Interface de TOTEM ...................................................................................... 58

6


Liste des tableaux
Tableau 1: 2 classes des LSA heuristiques ....................................................................... 19
Tableau 2 : Approches Méta-heuristiques ........................................................................ 21
Tableau 3 : Algorithme de mesure du trafic ..................................................................... 45
Tableau 4: Algorithme de LSA4IGPWO.......................................................................... 56
Tableau 5 : Algorithme : LSA4IGPWO et IGPWO de TOTEM...................................... 62
Tableau 6 : Données de tests............................................................................................. 63
Tableau 7 : Minimisation de MaxUtilization.................................................................... 63
Tableau 8 : Impacts sur la couverture de LFA.................................................................. 64

7


Chapitre 1 : Introduction
1. Problématique
Actuellement, avec l'expansion de l'Internet, les FAI (Fournisseurs d'Accès à
Internet) essaient de répondre au problème de l'augmentation de la demande de
trafic de leurs clients. En effet, les demandes de trafic sont approximativement
doublées chaque année [COF 01]. Les FAI doivent donc s'adapter à ces besoins
par l'invention de nouvelles technologies ou par une utilisation efficace des
ressources disponibles fournies par les techniques de routage classiques.
OSPF (Open Shortest Path First) et IS-IS (Intermediate System to Intermediate

System) sont deux des protocoles de routage les plus utilisés pour fournir la
connectivité de bout en bout dans un ensemble de dispositifs d'un réseau
(organisation, compagnie, campus, université, ...). Nous pouvons les classer parmi
les protocoles IGP (Interior Gateway Protocols).
Un critère important d'évaluation de ces protocoles est leur temps de convergence.
La convergence de routage peut être définie par l’adaptation des tables de routage
des routeurs du réseau lors d’un changement de la topologie du réseau,
typiquement déclenché par deux types d’événements :
- Soudain : coupures de fibres, ruptures d'alimentation.
- Prévisible : mise à jour du logiciel et du matériel, enlèvement ou installation d'un
lien ou d'un noeud (routeur) dans le réseau.
Pour réduire ce temps de convergence, des techniques de reroutage local ont été
introduites pour faire face aux pannes soudaines de liens. Elles permettent aux
services dans les réseaux IP commerciaux d'être restaurés sans échange de
messages de contrôle entre les noeuds qui détectent la panne et les autres noeuds
du réseau. Dans cette recherche, nous nous intéressons à deux techniques de
protection de lien : LFA (Loop-Free Alternates) et MPLS (Multi-Protocol Label
Switching) Fast Reroute.

8


Un problème considérable est le problème de l'optimisation de l’utilisation de la
capacité du réseau pour répondre aux demandes actuelles (la somme de demandes
de trafic qui doivent être envoyées entre chaque paire de noeuds).

2. Motivation
Une approche de TE qui est souvent utilisée, et basée sur les protocoles comme
OSPF et IS-IS est de trouver une bonne configuration de poids des liens d'une
topologie en fonction des demandes du trafic. Pour OSPF, le flux de trafic est

routé le long des plus courts chemins. Il découpe le flux de trafic aux noeuds où
les liens sortants sont sur plusieurs plus courts chemins vers la destination.
Les poids des liens dépendent souvent des distances physiques entre les noeuds.
Cependant, le but principal est d'éviter la congestion du réseau (par exemple : la
surcharge de liens). La performance et l'utilisation efficace des ressources du
réseau peuvent être améliorées sans modifier les protocoles de routage. C'est
l’optimisation de poids des liens IGP (IGP Weights Optimization – IGPWO) pour
une topologie fixée du réseau et un ensemble donné de demandes de trafic (le
trafic que nous avons besoin d'envoyer d’un routeur source à son routeur
destination). Ce problème d'optimisation est NP-difficile [FRT 02]. Nous
choisissons donc un algorithme heuristique de recherche locale pour le résoudre.
L'approche de la recherche locale est très efficace pour résoudre les problèmes
NP-difficile ou NP-complet surtout pour ceux ayant un espace de recherche avec
une taille de voisinage très grande, alors que l’on doit faire face à une explosion
combinatoire si on utilise les méthodes de résolution exactes.
Les grands avantages d’algorithmes de recherche locale (LSA) sont [YVE 07] :


Utilisation d'un petit espace de mémoire.



Parcours de l'espace de recherche d'une façon intelligente, recherche des
régions différentes de l'espace de recherche.



Production d'une solution optimale ou acceptable avec un temps de calcul
raisonnable.


Dans notre problème IGPWO, chaque solution est une attribution de valeur à
chaque lien, avec un nombre de noeuds (routeurs) de 10 à 1000 et une valeur de
poids du lien de 1 à 65535 (MAXINT). Donc, nous avons une taille énorme de
9


l'espace de recherche maximale du problème : [1000x1000]65535. C'est la raison
pour laquelle nous avons choisi les LSA comme approche pour résoudre ce
problème.
Il existe plusieurs résolutions différentes de recherche locale pour IGPWO
(comme celle de Fortz [FOR 00]) mais très peu d’entre eux considèrent les
changements de la topologie du réseau (un ou quelques liens tombent en panne par
exemple), de l'influence de techniques de protection de liens (comme LFA et
MPLS Fast Reroute) et des impacts de la solution optimale sur les autres critères :
le délai de transmission de données, la couverture de LFA du réseau (combien de
liens sont protégés par la protection de LFA). En outre, la qualité de la solution
dans un problème de grande taille reste encore un grand défi.

3. Objectifs
Dans ce travail, nous voulons résoudre trois problèmes concernant l'IGPWO et les
deux techniques de protection mentionnées ci-dessus dans le cas où la topologie
du réseau est changée.
Étant donné une configuration du réseau : le nombre de noeuds (routeurs), la
bande passante de chaque lien, les demandes de trafics entre chaque paire de
noeuds, le délai de chaque lien, les poids des liens. Les trois problèmes à résoudre
sont les suivants :
• Problème 1 : Donner une image du trafic dans le réseau lorsqu’un lien
tombe en panne. Nous mesurons la charge de chaque lien dans 4 cas :
o Avant la panne de lien.
o Après la panne de lien mais pas de protection pour chaque lien.

o Après la panne de lien et l’activation de MPLS Fast Reroute
protection pour le lien en panne.
o Après la panne de lien et l’activation de LFA protection pour le lien
en panne.
• Problème 2 : Trouver une matrice optimale de poids des liens du point de
vue de l'utilisation de liens (l'utilisation d'un lien est la proportion entre sa
charge actuelle et sa capacité – bande passante). Dans 2 cas :
o Il n'y a aucune panne de liens, tous les liens sont bons.
10


o Il y a un changement de la topologie du réseau : un lien tombe en
panne.
• Problème 3 : Trouver une matrice optimale de poids des liens du point de
vue de l'utilisation de liens et de la couverture de LFA du réseau. Dans 2
cas :
o Il n'y a aucune panne de liens, tous les liens sont bons.
o Il y a un changement de la topologie du réseau : un lien tombe en
panne.
Les résultats expérimentaux du programme sont comparés avec ceux de TOTEM
(TOolbox for Traffic Engineering Methods), une boîte à outils permettant aux
opérateurs de réseaux d’implémenter leur ingénierie du réseau et elle peut
également être utilisée par les chercheurs qui veulent mettre en œuvre leurs
nouvelles techniques.

4. Contribution
Mon stage de fin d'études s’est déroulé dans 6 mois à l'Université Catholique de
Louvain. Dans le cadre de ce stage, j’ai accompli des tâches suivantes :
Dans le premier mois :
• Étude de la théorie et des concepts fondamentaux de la recherche locale et

ses algorithmes, ses heuristiques et méta-heuristiques dans la résolution des
problèmes complexes surtout ceux d’optimisation.
• Étude du langage de programmation par contraintes Comet et conception de
quelques algorithmes de recherche locale sur Comet pour pratiquer et
améliorer les techniques de programmation sur Comet .
• Exposition devant le groupe de recherche des connaissances acquises.
Dans le deuxième mois :
• Étude des problèmes de la convergence des protocoles de routage IP :
o Définition de la convergence et les défis existants.
o Introduction d’ingénierie de trafic et ses composants principaux

11


o Le problème d’APSP (All Pairs Shortest Paths) et installer sur
Comet l’algorithme pour le résoudre.
o Le problème d’ECMP ( Equal Cost Muli-Paths) et son application
dans le protocole de routage d’état de lien comme OSPF.
o La protection de liens, étude approfondie de 2 techniques de
protection de liens : LFA et MPLS Fast Reroute.
• Réunion avec les promoteurs pour déterminer concrètement les problèmes à
résoudre.
• Rédaction du cahier des charges des problèmes définis.
Dans le troisième mois :
• Recherche bibliographique sur les problèmes définis : Lire les articles du
domaine qui ont résolu les problèmes similaires.
• Installation du programme sur Comet, résolution des problèmes
d’évaluation du trafic dans le réseau et de techniques de protection de
liens :
o Installation de l’algorithme d’APSP sur Comet

o Installation de 2 techniques de protection de liens : LFA et MPLS
Fast Reroute sur Comet
o Mesure de la charge de chaque lien du réseau dans 4 cas
• Expérimentation et test du programme pour ces premiers problèmes.
Dans le quatrième mois :
• Recherche bibliographique : étude des articles d’ingénierie de trafic dans le
domaine de réseau surtout ceux IGPWO.
• Réunion avec les promoteurs pour fixer le premier LSA pour résoudre le
problème IGPWO.
• Implémentation de LSA sur Comet : Essayer, appliquer et modifier les
heuristiques, les méta-heuristiques et leurs paramètres pour déterminer une
bonne configuration de LSA sur Comet.
• Étude de la performance de chaque configuration de LSA.

12


• Installation de 2 outils d’ingénierie de trafic sur Ubuntu : IGEN et TOTEM
Dans le cinquième mois :
• Étude de la transition de métrique IGP (augmenter ou réduire le poids d’un
lien) pour résoudre le problème de la convergence dans le réseau :
définition et application de KMS (Key Metric Sequences).
• Installation de KMS dans LSA sur Comet.
• Génération de données par IGEN : pour un test, on doit générer par IGEN
des données suivantes : Une topologie de réseau (nombre de routeurs), une
matrice IGP_metric (poids des liens), une matrice de capacités de liens
(bande passante), une matrice de demandes de trafic du réseau.
• Test du programme par des données générées par IGEN et les données
réelles du réseau d’Abilenne.
• Comparaison de la performance et de la qualité de la résolution entre notre

programme de LSA et celui IGPWO de TOTEM.
• Observation des impacts de la solution optimale sur les autres critères
comme : le délai de transmission de données ou la couverture de LFA du
réseau.
Dans le dernier mois :
• Rédaction du rapport de stage
• Exposition devant le groupe de recherche des algorithmes implémentés et
des résultats obtenus.

5. Environnement de stage
Mon stage a été réalisé au Département d’Ingénierie Informatique d’Université
Catholique de Louvain (UCL) à Louvain-La-Neuve en Belgique du 28 Mars 2008
au 28 Septembre 2008.
Trois personnes ont encadré ce travail :
• Yves Deville : Maîtrise et supervision de tous les problèmes concernant la
recherche locale et la programmation par contraintes.

13


• Olivier Bonaventure : Définitions des problèmes à résoudre et supervision
du stage au point de vue de réseau.
• Pierre François : Maîtrise et supervision de l’avancement de mon stage de
problème de convergence des protocoles de routage IP. En outre, mon sujet
de stage est aussi une partie de ses recherches.
Tout au long de mon stage, j’ai rejoint le groupe Be-cool (Belgian Constraints
Group) du Département d’Ingénierie Informatique d’UCL et j’ai aussi participé à
beaucoup des activités de recherche avec ce groupe comme : les séminaires, les
conférences en Belgique et en France, les cours de réseau, de Comet, ...


14


Chapitre 2 : Recherche Locale et Comet
Dans ce chapitre, nous donnons une vue générale de la recherche locale, les
algorithmes heuristiques et méta-heuristiques préférés dans la programmation par
contraintes. Pour la deuxième partie, nous présentons le langage de
programmation COMET, un langage fort pour la modélisation et l’implémentation
des algorithmes de recherche locale.

1. Recherche locale
1.1. Méthodes de résolution heuristiques
La recherche locale est une des méthodes de résolution heuristiques. Au contraire
des méthodes de résolution exactes, les méthodes heuristiques peuvent réduire
l’aspect combinatoire d’un problème afin de le résoudre en un temps acceptable.
Ce sont des approches incomplètes dans le sens où elles n’explorent délibérément
qu’une partie de l’espace de recherche. Donc, la complexité en temps est
généralement faiblement polynomiale. Par conséquent, elles peuvent ne pas
trouver de solution, ou prouver l’absence de solution ou l’optimalité d’une
solution à un problème d’optimisation.
Normalement, chaque solution a un ensemble de composants. Deux solutions sont
considérées comme voisines si elles ont une et une seule différence dans
l’ensemble des valeurs des composants qui les constituent. Le voisinage d’une
solution est l’ensemble de toutes ses solutions voisines.
Il existe deux principales classes d’approches heuristiques :
• Approches par voisinages : elles explorent l’espace de recherche en le
structurant en terme de voisinage. Les approches par voisinage les plus
connues sont :
o Recherche locale : elle explore l’espace de recherche étape par étape,
en partant d’une solution initiale, et en sélectionnant à chaque

itération une solution voisine de la solution courante.
o Algorithmes génétiques : ils s’inspirent de la théorie de l’évolution
et des règles de la génétique qui expliquent la capacité des espèces
15


vivantes à s’adapter à leur environnement par la combinaison de 3
mécanismes : la sélection naturelle, la reproduction par croisement et
la mutation.
• Approches constructives : génèrent de nouvelles solutions de façon
incrémentale, c.-à-d., en partant d’une solution « vide », et en ajoutant des
composants de solution jusqu’à obtenir une solution complète [SOL 08].
Dans ce travail, nous n’utilisons que l’approche par voisinages et surtout les
algorithmes de recherche locale (Local Search Algorithms – LSA). Avec les
LSAs, chaque solution du problème est représentée par un ensemble d'attributions
de valeur à chaque composant ou chaque variable. À chaque itération d’un LSA,
nous avons une solution temporaire. Le but est de choisir parmi ses voisines une
solution pour l’itération suivante qui peut améliorer la qualité de solution ou
devenir un bon point de départ pour la recherche suivante. LSA utilise une
fonction d’objectif pour évaluer la qualité d'une solution.
1.2. Les composants principaux de LSA
Pour la plupart de LSA, on doit détailler 4 composants principaux ci-après :

1.2.1. Génération de la solution initiale
C’est la position où on commence la recherche. Tout LSA doit partir d’une
solution initiale et la modifier étape par étape pour atteindre une solution optimale
ou au moins une meilleure solution.
La solution initiale est parfois générée par une heuristique ou méta-heuristique
gloutonne. Un bon choix de la solution initiale est très important dans la recherche
locale.


1.2.2. Heuristiques ou méta-heuristiques pour le choix du voisin
À chaque itération dans LSA, nous avons une solution temporaire. Le but de
chaque itération est d’améliorer la qualité de cette solution afin d’obtenir une
meilleure solution pour l’itération suivante. La qualité d’une solution est évaluée
par une fonction d’objectif.

16


Les heuristiques ou méta-heuristiques sont des stratégies gloutonnes pour
déterminer un ou plusieurs éléments de solution à modifier d’une façon la plus
efficace.

1.2.3. Stratégie d’intensification ou de diversification
Les solutions obtenues par les stratégies gloutonnes ne sont pas toujours bonnes
bien qu’elles soient
les meilleures dans leurs voisinages. Si LSA s’arrête
seulement à la solution où il ne peut pas trouver une meilleure solution voisine,
alors il peut avoir seulement la meilleure solution d’une région de l’espace de
recherche. Dans la recherche locale, ces solutions sont appelées « Optima
Locaux » comme illustrés à la Figure 1.

Figure 1: Recherche Locale : Optima Locaux et Solution Optimale

Pour échapper aux optima locaux, LSA utilise très souvent les structures de
mémoire à long terme pour intensifier et diversifier la recherche. Il existe 2
techniques principales [HEN 05]:
• Intensification : Stocker les solutions de haute qualité pendant le temps de
recherche et restituer ces solutions périodiquement (redémarrer la

recherche par une de ces solutions).
17


• Diversification : Diriger la recherche vers d'autres régions de l'espace de
recherche (accepter la réduction de la qualité de solution). Parfois, le
redémarrage de zéro (la solution initiale) est également une bonne méthode
de diversification.

1.2.4. Critères d’arrêt
C’est l'itération ou l'état où nous arrêtons le processus de recherche. Il peut être
une limite sur le nombre d'itérations, le temps d'exécution ou un état où toutes les
contraintes sont satisfaites.
Pour les problèmes complexes d’optimisation, le nombre d’itérations et le temps
d’exécution sont souvent utilisés comme critère d’arrêt.
1.3. Le générique de recherche locale
Comme nous avons déjà mentionné dans la section précédente, la recherche
locale est une méthode de résolution heuristique. Donc les LSAs sont distingués
basés sur leur stratégie heuristique et méta-heuristique.
Les heuristiques se concentrent sur le choix de la solution voisine à visiter
seulement en utilisant la solution courante et son voisinage. Tandis que les métaheuristiques collectent les informations (mémoire à long terme) sur la séquence
d’exécutions pour échapper les optima locaux et diriger la recherche vers
l’optimalité globale.

1.3.1. Les heuristiques
Nous pouvons classifier les LSAs heuristiques en 2 grandes classes : systématique
et aléatoire. La classification des LSAs heuristiques est basée sur leur façon de
changer la valeur de la fonction d’objectif [YVE 07].
Classe


Approche

Heuristique La meilleure voisine
Systématique

(Best Neighbor - BN)

Description
Choisir la solution voisine ayant la meilleure
évaluation de la qualité de solution.
Parcours complet du voisinage, trop coûteux
quand le voisinage est large.

18


La première voisine

Choisir la première solution voisine ayant une

(First Neighbor - FN)

amélioration de la qualité de solution.
Augmenter le nombre d’itérations où nous
trouvons optimum local.

Heuristique de multi-

Balancer entre la gourmandise de BN et le


niveaux

respect de temps de calcul de FN.

(Multistage Heuristic)

Marches

Amélioration aléatoire

Choisir aléatoirement une solution voisine

aléatoires

(Random Improvement)

ayant l’amélioration de la qualité de solution.

(Random

Heuristique de

Autoriser de sélectionner des voisines de moins

Walks)

Metropolis

bonne qualité selon une probabilité définie :
exp (-(f(n) – f(s))/t)

Avec : f : la fonction d’objectif ;
s : la solution courante ;
n : une solution voisine de s
t : paramètre de température (peut-être
modifié par chaque algorithme)

Tableau 1: 2 classes des LSA heuristiques

1.3.2. Les méta-heuristiques
Méta-heuristiques visent à échapper les optima locaux et à diriger la recherche
vers l’optimalité globale. Il existe plusieurs stratégies de méta-heuristiques :
• Réalisation d’une recherche locale à partir de plusieurs points de départ
(solution initiale).
• Modification de la fonction d’objectif.
• Modification de la façon de bouger (le choix de solutions voisines).
• Modification du critère d’acceptation
• ...

19


Dans cette section, nous allons citer quelques approches de méta-heuristiques
[HEN 05].
Approche

Description

Recherche locale itérée

Appliquer itérativement une recherche locale spécifique à


(Iterated Local Search)

partir de points de départ différents afin de :
- Visiter les régions différentes de l’espace de recherche
- Éviter de retourner un optimum local de faible qualité

Recuit simulé
(Simulated Annealing)

Se baser sur l’heuristique de Metropolis avec t est le
paramètre d’heuristique conciliant entre la qualité de
solution et le temps d’exécution.
Appliquer itérativement l’algorithme de Metropolis avec
une séquence décroissante de températures :
t0, t1, ..., ti (tkEspérance d’un optimum local de haute qualité quand
ti→0

Recherche Locale Guidée

Utiliser une séquence de fonctions d’objectif f0, f1, ..., fi

(Guided Local Search)

pour diriger la recherche en dehors d’optima locaux et
pour explorer l’espace de recherche plus largement.

Recherche de Voisinage


Combiner la Recherche Locale Itérée et une collection

Variable

croissante de taille de voisinages N0, N1, ..., Ni.

(Variable Neighborhood

Offrir plus d’occasions de diversification dans l’exécution.

Search)

Recherche taboue

Empêcher de boucler sur un petit nombre de solutions

(Tabu Search)

autour des optima locaux en mémorisant un nombre des
derniers mouvements effectués [SOL 08].
Étant donnée une séquence de solution S = (s0, s1, ..., sk),
choisir la solution sk+1 qui n’est pas dans la séquence et

20


qui est la meilleure voisine de sk. k est appelé tabu_length.

Colonie de fourmis


Mettre à jour les fonctions de sélection après chaque étape

(Ant Colony)

de recherche pour diriger la recherche vers les solutions à
haute qualité.
S’inspirer du comportement collectif des fourmis pour
faire évoluer le modèle probabiliste en basant sur la
définition de phéromone[SOL 08].

Recherche évolutionnaire - Algorithmes évolutionnaires combinent un ensemble de
hybride
solutions pour produire des nouvelles solutions.

(Hybrid Evolutionary

- Algorithmes de recherche évolutionnaire hybride

Search)

exploitent la puissance de tous les deux algorithmes :
recherche locale et évolutionnaire par application de la
recherche locale aux solutions dans la population avant de
les combiner.
Tableau 2 : Approches Méta-heuristiques

Dans le cadre de ce mémoire, nous pouvons présenter seulement une vue générale
des LSAs qui sont détaillés dans le livre « Constraint-Based Local Search » de
Pascal Van Hentenryck et Laurent Michel [HEN 05]. Dans ce livre, vous trouverez
plusieurs guides détaillés, applications et implémentations dans des problèmes

concrets.

2. Comet
2.1. Le choix de COMET
Le but de notre travail est de résoudre le problème de convergence dans les
protocoles de routage IP par un algorithme de recherche locale. Et nous avons
choisi COMET pour installer notre LSA pour les raisons suivantes :
• COMET est un langage de programmation orienté objet avec un nombre de
modélisations innovatrices et d’abstractions de contrôle pour la recherche
locale. Il est très puissant pour résoudre les problèmes combinatoires
complexes d’optimisation.
21


• COMET peut nettement simplifier la conception et l'implémentation de la
recherche locale (stochastique) et des algorithmes de la programmation par
contraintes en préservant l'efficacité de bas niveau, problème-spécifique et
de réalisation [COM 01].
Dans COMET, LSA est représenté par la formule :
Recherche Locale = Modèle + Recherche
Le composant de Modèle est purement déclaratif ; il exprime la structure
combinatoire de l'application en termes de contraintes et de fonctions d’objectif.
Le composant de Recherche exploite la structure exprimée dans le modèle pour
diriger l’exploration du voisinage vers les solutions de haute qualité.
Les avantages principaux de COMET sont cités ci-après [HEN 05]:
• Un langage de modélisation riche pour la recherche locale
• Un langage de recherche riche pour la recherche locale
• Séparation entre Modèle et Recherche
• Extensibilité et Flexibilité de son architecture pour les deux composants
Modèle et Recherche.

• Efficacité : le langage de modélisation est riche et la conception d’objets
différentiables le rendent souvent comparable en efficacité aux réalisations
de bas niveau, surtout pour les applications complexes.
• Nouvelles perspectives : La formule : Recherche Locale = Modèle +
Recherche met en parallèle l’expression de la programmation par
contraintes :
Programmation par Contraintes = Contraintes + Recherche
2.2. Langage de COMET

2.2.1. Architecture de COMET
L’architecture de COMET est aussi celle de la recherche locale basée sur
contraintes (Constraint-based Local Search). Elle est organisée en 3 couches cidessous [HEN 05], comme illustrées à la Figure 2.

22


Figure 2: Architecture de COMET [YVE 07]

La première couche est la conception d’invariants (ou contraintes à sens unique)
par algèbre et expressions. Les invariants sont exprimés en termes de variables
incrémentales et spécifient une relation qui doit être maintenue sous des
attributions de nouvelles valeurs à ses variables.
Par exemple : var{int} s(m) ← sum(i in 1..10) a[i] ;
déclare une variable incrémentale s de type int et l’invariant spécifie que s est
toujours la somme de a[1], a[2], ..., a[10]. Chaque fois, la valeur d’une variable
a[i] est changée, la valeur de s est mise à jour.
La deuxième couche contient la conception d’objets différentiables. Les objets
différentiables maintiennent un nombre de propriétés (utilisant les invariants) et
peuvent être questionnés pour évaluer l’effet de mouvements divers avant de
sélectionner le voisin à visiter. Il existe deux classes importantes d’objets

différentiables. Ce sont les contraintes et les objectifs.
Une contrainte maintient les propriétés comme ses satisfactions, ses violations, et
le nombre de violations d’une variable contribuant à la somme de violations.
Un objectif maintient la valeur d’une fonction (complexe) et d’une évaluation qui
peut être utilisée à distinguer entre les solutions ayant la même valeur.
La troisième couche est le composant de recherche. Les deux premières couches
sont incrémentales dans la spécification du composant de modélisation des LSA.
Le composant de recherche contient les heuristiques et méta-heuristiques de LSA.
Cette couche ne prescrit aucune heuristique ou méta-heuristique mais il comporte
les constructions et les abstractions à haut niveau pour simplifier l’exploration du
voisinage et l’implémentation de méta-heuristiques.

23


Les plus fondamentales abstractions de recherche sont les selectors, les solutions
et les checkpoints.

2.2.2. Le programme de COMET
Dans cette section, nous allons analyser un programme classique de COMET qui
résout le problème de n-reines : placer n reines sur un échiquier de la taille de nxn
de telle façon qu’il n’y ait aucune paire de reines se trouvant sur la même ligne,
colonne ou diagonale.
Voici un tel programme de COMET pour le problème de n-reines [HEN 05] :
1. include ‘‘LocalSolver’’ ;
2. int n = 8 ;
3. range Size = 1..n ;
4. LocalSover m() ;
5. UniformDistribution distr(Size) ;
6. var{int} queen[Size](m,Size) := distr.get() ;


7. ConstraintSystem S(m) ;
8. S.post(alldifferent(queen) );
9. S.post(alldifferent(all(i in Size) queen[i]+i) );
10. S.post(alldifferent(all(i in Size) queen[i]-i) );
11. m.close() ;

12. int it = 0 ;
13. while (S.violations()>0 && it<50*n) {
14.
15.

selectMax(q in Size)(S.violations(queen[q]))
selectMin(v in Size)(S.getAssignDelta(queen[q],v))

16.
17.

queen[q] := v ;
it = it+1 ;

18. }

2.2.2.1. Le modèle

24


×