mÉthode exacte pour rÉsoudre le …merlet.iiens.net/stage/3a/rapport_fin.pdfmeulle, Éric brunel,...

51
MÉMOIRE présenté en vue d’obtenir LE DIPLÔME D’I NGÉNIEUR I.I.E. RAPPORT F INAL Benoît MERLET MÉTHODE EXACTE POUR RÉSOUDRE LE PROBLÈME DE DIMENSIONNEMENT MULTICOUCHE DE RÉSEAU SÉCURISÉ Directeur de stage : M. Benoit LARDEUX, Ingénieur Lieu du stage : équipe CORE/MCN/OTT France Télécom R&D 38-40, rue du Général LECLERC 92794 Issy-les-Moulineaux, Cedex 9 Jury du stage : M. Alain BILLIONNET, Professeur des Universités M. Frédéric ROUPIN, Maître de Conférences

Upload: others

Post on 30-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

MÉMOIRE

présenté en vue d’obtenir

LE DIPLÔME D’INGÉNIEUR I.I.E.

RAPPORT FINAL

Benoît MERLET

MÉTHODE EXACTE POUR RÉSOUDRE LE PROBLÈMEDE DIMENSIONNEMENT MULTICOUCHE DE RÉSEAU

SÉCURISÉ

Directeur de stage : M. Benoit LARDEUX, Ingénieur

Lieu du stage : équipe CORE/MCN/OTTFrance Télécom R&D38-40, rue du Général LECLERC

92794 Issy-les-Moulineaux, Cedex 9

Jury du stage : M. Alain BILLIONNET, Professeur des UniversitésM. Frédéric ROUPIN, Maître de Conférences

Mémoire de fin d’études Benoît MERLET

1

Conservatoire National des Arts et Métiers

INSTITUT D’INFORMATIQUE D’ENTREPRISE

FICHE SIGNALÉTIQUE

MÉMOIRE D’INGÉNIEUR I.I.E.

MÉTHODE EXACTE POUR RÉSOUDRE LE PROBLÈMEDE DIMENSIONNEMENT MULTICOUCHE DE RÉSEAU

SÉCURISÉ

Auteur : Benoît MERLET

Directeur de stage : M. Benoit LARDEUX, Ingénieur

Descriptif : À partir d’un modèle de réseau élaboré comme un en-semble de liens sur différentes couches encapsulées lesunes dans les autres, la méthode conçue permet de dimen-sionner à moindre coût le réseau de télécommunicationsen envisageant toutes les pannes simples.

Mémoire de fin d’études Benoît MERLET

3

Mémoire de fin d’études Benoît MERLET

Résumé

Dans ce document, nous abordons un problème complexe d’optimisa-tion dans les télécommunications : le dimensionnement multicoucheavec sécurisation des réseaux en fonction des demandes de trafic. Leréseau est modélisé par un ensemble de couches encapsulées les unesdans les autres et l’écoulement des demandes de trafic par des mul-tiflots. Il s’agit de déterminer les capacités modulaires à installer surles liens des couches du réseau, tout en minimisant le coût globald’installation. Ce problème de dimensionnement est intéressant dansle contexte actuel de l’explosion des services fournis par les opérateurset de leurs nouveaux réseaux de télécommunications dits intégrés.Nous proposons un modèle polyédrique pour formaliser ce problèmeque l’on exprime par un programme linéaire en nombres entiers puisnous envisageons une nouvelle méthode de résolution exacte baséesur un Branch-and-cut. L’étude a consisté à concevoir une méthode ef-ficace de calcul d’une borne inférieure par un processus de générationde contraintes et de résolution d’une relaxation linéaire du problème,renforcée par des inégalités valides. Nous avons également réfléchi àune heuristique permettant de déterminer une borne supérieure debonne qualité.

4

Avant propos

Je tiens à remercier dans ce rapport France Télécom R&D de m’avoir accueilli pen-dant cette période de 6 mois malencontreusement raccourcie de trois semaines à caused’un problème de santé. Veluppillai CHANDRAKUMAR, responsable de l’équipe que j’ai in-tégrée, m’a été d’un grand secours pour la régularisation administrative de la situationdûe à mon accident.

Mon encadrant Benoit LARDEUX a su m’apporter son soutien et sa sympathie tout aulong de cette période. Il a énormément contribué à ce que ce stage terminant ma forma-tion me soit profitable à tous les niveaux. Ses conseils avisés, notamment concernant larédaction des rapports, m’ont permis de surmonter les difficultés que j’ai pu rencontrer.Sa motivation et son dynamisme m’ont encouragé à donner de mon mieux. Enfin, je leremercie d’avoir pris, à plusieurs reprises, de mes nouvelles lors de mon séjour à l’hôpi-tal.

Je dois également citer les autres membres de l’équipe : Guillaume BOULMIER, AnnieDRUAULT VICARD, Sébastien NICAISSE, Adam OUOROU, Carlos PEREIRA, Cynthia PERRET,Nancy PERROT, Christian TANGUY et Laurent VALEYRE qui m’ont beaucoup apporté parles moments que nous avons passé ensemble, en rapport de près ou de plus loin avec lestage.

À plusieurs reprises, Matthieu CHARDY, ainsi que les stagiaires Arnaud MALAPERT

Mathieu TRAMPONT et Thomas FRANCISZKOWSKI m’ont assisté, et permis de trouver dessolutions efficaces à mes problèmes. Ils ont su me donner des conseils précieux, ou êtreà l’origine d’idées intéressantes pour le stage.

Jordan AUGÉ et Benoit SIBAUD m’ont également aidé ponctuellement tout au long dece stage et les moments de discussions que nous avons eu m’ont été très profitables.

Je ne dois pas oublier mes collègues de bureau Antoine PARDIGON et Damien DIETSCH

qui m’ont accueilli chaleureusement et m’ont très souvent conseillé sur de nombreuxpoints. Antoine, accompagné de Jordan et de Benoit, m’ont notamment intronisé dansun groupe soudé de collègues de bureau : Mayss CHAHID, Denis CORNAZ, RomainPIEGAY, Nathalie FAURE, Sébastien MAMY, Laurence CARME, Wenping JIANG, MickaelMEULLE, Éric BRUNEL, Mahmoud EL OUJAJI et Marc-Olivier BUOB.

Je terminerai par une pensée à toutes les autres personnes que je n’ai pas cité maisque j’ai pu rencontrer pendant ces quelques mois, et aux nombreux moments que nousavons partagés.

5

Mémoire de fin d’études Benoît MERLET

6

Table des matières

Fiche signalétique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1 Introduction 101.1 Environnement du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1.1 Présentation de France Télécom R&D . . . . . . . . . . . . . . . . . . . 111.1.2 Le laboratoire CORE/MCN . . . . . . . . . . . . . . . . . . . . . . . . . 111.1.3 L’unité de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 Contexte du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3 le problème de dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . 141.4 Le sujet du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Le modèle théorique 172.1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Construction du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2.1 Fonctions de coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Formulation arcs-chemins . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.3 Passage à la formulation capacité . . . . . . . . . . . . . . . . . . . . . 212.2.4 La notion de couche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.5 La sécurisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.6 Linéarisation du problème . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 La méthode de résolution 273.1 Remarques préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2 Méthodes arborescentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Notre branch-and-cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3.1 Règle de séparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.2 Fonction d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.3 Stratégie d’exploration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.4 Heuristiques de génération de bornes . . . . . . . . . . . . . . . . . . . 32

4 Évaluation de la méthode implémentée 354.1 Tests de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1.1 Tests unitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.1.2 Tests nominaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.1.3 Tests de montée en charge . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Évaluation de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2.1 Les différentes coupes ajoutées . . . . . . . . . . . . . . . . . . . . . . 394.2.2 Les résultats obtenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.3 Bilan et autre approche . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5 Conclusion 445.1 Intêrets généraux du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2 Apports personnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

A Démonstrations 48A.1 Condition nécessaire et suffisante d’existence d’un multiflot compatible . . 48A.2 Identité des ensembles X∗ et X . . . . . . . . . . . . . . . . . . . . . . . . . . 49

7

Table des figures

1.1 Logos de France Télécom et de Orange . . . . . . . . . . . . . . . . . . . . . . 111.2 Exemple de réseau double couche . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1 Exemple de fonction de coûts croissante et constante par morceaux . . . . . 19

3.1 Pseudo-code de la méthode du branch-and-bound . . . . . . . . . . . . . . . 283.2 Pseudo-code de l’évaluation en un nœud . . . . . . . . . . . . . . . . . . . . . 303.3 Méthode de génération d’une inégalité métrique violée . . . . . . . . . . . . . 323.4 Heuristique de génération d’une borne supérieure . . . . . . . . . . . . . . . 33

4.1 Exemple d’instance de réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.3 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.4 Algorithme de génération des inégalités de bipartition isolant un nœud . . . 394.5 Algorithme de génération de toutes les inégalités de bipartition . . . . . . . . 404.6 Résultats obtenus suivant les scénarios . . . . . . . . . . . . . . . . . . . . . 41

8

Mémoire de fin d’études Benoît MERLET

9

Chapitre 1

Introduction

Depuis l’avènement des réseaux informatiques, les quantités de trafic qui y circulentn’ont cessé d’augmenter. Cette augmentation a même évolué exponentiellement avecla démocratisation d’Internet car elle a permis d’échanger facilement toutes sortes dedonnées. Depuis quelques années, les opérateurs de télécommunications ont financébon nombre de projets visant à fournir de plus en plus de services sur leurs réseaux.Ces nouveaux services nécessitent des quantités de trafic que l’on peut prévoir. Dansce contexte, il devient nécessaire de développer de nouvelles méthodes de dimensionne-ment des réseaux à partir de prévisions de trafic.

Sommaire1.1 Environnement du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1.1 Présentation de France Télécom R&D . . . . . . . . . . . . . . . . . 111.1.2 Le laboratoire CORE/MCN . . . . . . . . . . . . . . . . . . . . . . . 111.1.3 L’unité de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 Contexte du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3 le problème de dimensionnement . . . . . . . . . . . . . . . . . . . . . . 141.4 Le sujet du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

10

Mémoire de fin d’études Benoît MERLET

1.1 Environnement du stage

1.1.1 Présentation de France Télécom R&D

France Télécom R&D 1, leader européen de la recherche et du développement en té-lécommunications, regroupe l’ensemble des activités R&D 2 de France Télécom. Sonobjectif est de créer un maximum de valeur pour l’opérateur historique. Ses missionsconsistent à anticiper les évolutions technologiques, les ruptures d’usage et à innoverpour offrir à ses clients le meilleur des activités télécom présentes et à venir.

FIG. 1.1 – Logos de France Télécom et de Orange

Avec 4200 ingénieurs, chercheurs et techniciens répartis sur 17 sites, dont 9 àl’étranger (Boston, Londres, San Francisco, Tokyo, ...), sans compter la très prochaineouverture du site de Canton, France Télécom R&D représente un véritable atout pourl’opérateur France Télécom. En effet, cette entité initie et développe près de 80% des pro-duits et services commercialisés par l’opérateur. De plus, son organisation transverse etdécentralisée permet une ouverture internationale du groupe et ainsi de s’impliquer au-près des grands groupes industriels et de la communauté scientifique mondiale.

Preuve de l’activité grandissante du groupe, France Télécom détient 7800 brevets auniveau mondial et rien que ces 12 derniers mois, 530 nouveaux brevets ont été déposés,ainsi que 365 logiciels. Mais France Télécom, c’est aussi 80% de clients satisfaits, unequinzaine de start-ups internes créatrices d’une centaine d’emplois, et environ 600 étu-diants en stage ou en thèse.

1.1.2 Le laboratoire CORE/MCN

France Télécom R&D répartit ses activités dans plusieurs centres de recherche etdéveloppement (CRD), dont CORE 3. Il est implanté sur 3 sites, compte 530 personneset 22 thésards, et a la responsabilité :

– de définir, dans une vision d’opérateur intégré, l’évolution de l’architecture desréseaux, en particulier pour la convergence de tous les services (haut débit, VoIP, ...)sur le même réseau support ;

– mais aussi d’assurer les développements du cœur de réseau fixe et mobile en main-tenant une cohérence et un urbanisme favorisant l’intégration des services ;

– et enfin d’identifier les ruptures potentielles des nouvelles technologies en cœur deréseau, notamment du point de vue économique.

Chaque CRD s’organise en différents laboratoires : CORE en compte 6 dont MCN 4. Celaboratoire a pour mission la préparation de l’évolution des réseaux optiques régionauxet métropolitains de France Télécom. Pour ce faire :

– il assure la veille sur les technologies concernées, mène les études de conception,d’interfaçage et d’intégration nécessaires et conduit les évaluations comparativesdes nouveaux équipements et gestionnaires associés ;

– il évalue les conditions d’introduction dans les réseaux et participe aux opérationsde déploiement à la demande d’autres divisions ;

1Anciennement CNET, Centre National d’Étude des Télécommunications2Recherche et Développement3Cœur de Réseau4Metropolitan and Core optical Networks

11

Mémoire de fin d’études Benoît MERLET

– il assure également la responsabilité des études de France Télécom R&D dans lesdomaines temps-fréquence et synchronisation du réseau.

Ainsi, le laboratoire contribue à l’étude de l’économie des réseaux dans son périmètrede responsabilité.

1.1.3 L’unité de recherche

Tous les laboratoires de France Télécom R&D sont constitués de plusieurs unités deR&D, dont celle à laquelle j’ai pris part : OTT 5. L’équipe est composée d’une quinzainede personnes dont des ingénieurs, des post-doctorants, des doctorants et des stagiaires.

Les missions de l’équipe s’orientent suivant trois axes principaux :

– tout d’abord, nous préparons des études technico-économiques dont le but estd’imaginer des scénarios d’évolution du cœur du réseau de France Télécom, enétudiant les différentes architectures que l’on peut envisager. Cette approche per-met d’anticiper les ruptures technologiques éventuelles et les évolutions tendan-cielles d’architectures dans le réseau ;

– une autre grande partie de l’activité de l’équipe est la recherche en mathématiquesappliquées et la recherche opérationnelle (aide à la décision). L’objectif de ces tra-vaux est principalement de déterminer les modèles mathématiques les plus adap-tés aux problématiques complexes étudiées et de travailler sur les méthodes derésolution les plus efficaces ;

– enfin, pour mener à bien les études technico-économiques, nous nous chargeonsde développer des outils informatiques qui peuvent être destinés à une utilisationinterne à la R&D, ou fournis aux exploitants du réseau (ROSI 6), ou encore vendusaux opérateurs concurrents.

Mon maître de stage, Benoit LARDEUX, est ingénieur dans cette unité. Il a en outrefini sa thèse à France Télécom R&D en septembre 2005 dont le titre est � Conception deréseaux de télécommunications multicouche et évolutif �. Son activité à France TélécomR&D se partage entre la réalisation d’études technico-économiques et la recherche.

1.2 Contexte du stage

De nos jours, les réseaux de télécommunications se complexifient. Ceci a commencéavec le développement d’Internet, et reste d’actualité avec l’augmentation du nombrede services intégrés à ces réseaux : en plus du téléphone classique, on peut citer entreautres le haut débit, la téléphonie sur IP, la télévision numérique. Ces services per-mettent aux clients de s’échanger librement tout type de données (textes, images, voix,vidéos). Il en résulte une forte croissance du volume global de trafic en transit dans leréseau et une multiplication des technologies à intégrer dans le réseau pour assurer lebon fonctionnement de chaque service.

Dans le but d’exploiter au mieux des réseaux devenus si complexes, les opérateursde télécommunications considèrent des réseaux multi-couches. Pour fixer les idées, pre-nons par exemple un réseau sur 2 couches (voir figure 1.2 page 13). Les nœuds sur lacouche haute (couche IP) sont des routeurs qui peuvent potentiellement tous dialoguerentre eux : le graphe associé à cette couche est donc a priori complètement maillé.La couche haute est souvent appelée couche virtuelle car en réalité, à tout lien virtuel

5Optimization of Transport and Transmission network6Réseaux, Opérateurs et Système d’Information

12

Mémoire de fin d’études Benoît MERLET

ne correspond pas forcément un lien physique. Cette couche virtuelle est encapsuléedans une couche de transmission (couche OTN 7) dont les nœuds sont des brasseursde longueurs d’ondes et les arêtes sont des systèmes WDM 8. Cette couche physique estévidemment moins maillée que la couche virtuelle pour des considérations de coûts :il ne serait pas judicieux de tirer une fibre optique directe entre Lille et Marseille, onpréfère passer par Paris puis Lyon.

FIG. 1.2 – Exemple de réseau double couche

Un des enjeux majeurs d’un opérateur comme France Télécom devient alors de four-nir un service de qualité maximale à un coût minimal. La qualité de service s’obtienten optimisant la topologie des couches du réseau et les capacités de leurs liens selon lecritère du coût de synthèse minimal. Pour cela, on se base sur les prévisions de traficqu’il faudra être capable de router dans le réseau ainsi conçu. C’est le problème de di-mensionnement de réseau multicouche.

Cette manière de considérer les réseaux comme des empilements de couches estd’ailleurs plutôt intéressante car elle représente bien ce qu’il se passe en réalité. Parexemple, en pratique, les demandes (ou estimations) de trafic à router sont connuessur la couche IP (la plus haute). Elles permettent d’attribuer des capacités aux liens decette couche. Ces capacités vont devenir les demandes de trafic pour la couche juste endessous, qui à son tour se verra attribuer des capacités ...

Cependant, il est important de noter que les fonctions de coûts associées à l’installa-tion des capacités sur les liens ne sont pas triviales. En effet, installer une capacité surun lien se fait en installant des modules sur ce lien ou sur les deux extrémités de ce lien.Il existe différentes modules à des prix différents et avec des capacités différentes quel’on peut éventuellement combiner. Il en résulte que les capacités des liens prennent desvaleurs dans un ensemble donné de capacités et que les fonctions de coûts à considérerne sont non seulement pas linéaires, mais même pas continues : ce sont des fonctionscroissantes et constantes par morceaux.

Une fois que le réseau est mis en place et exploité, l’opérateur doit faire face à des in-cidents divers qui ne peuvent pas toujours être évités. En effet, il n’est pas rare que desliens appartenant à une couche quelconque du réseau soient défaillants (panne d’un

7Optical Transport Network8Wavelength Division Multiplexing

13

Mémoire de fin d’études Benoît MERLET

routeur, rupture d’un lien physique, ...). L’opérateur doit donc sécuriser son réseau,c’est-à-dire le rendre le plus résistant possible aux pannes. D’autant plus que dans lemarché concurrentiel des télécommunications, un client mécontent peut changer faci-lement de fournisseur.

Plutôt que de faire face aux problèmes au jour le jour, autant prévoir la sécurisationd’un réseau lors de sa conception : on élabore des stratégies de dimensionnement deréseaux robustes, ce qui nous amène à étudier le problème du dimensionnement (mul-ticouche) de réseaux sécurisés. Il s’agit de pouvoir router toutes les demandes, mêmedans le cas où un quelconque lien d’une quelconque couche du réseau serait défaillant.

1.3 le problème de dimensionnement

Pour résumer, le problème de dimensionnement multicouche (ici, deux couches) deréseau sécurisé se caractérise par :

des données :– la matrice de trafic entre toute paire de nœuds de la couche haute qui est com-

plète dans la pratique ;– les graphes potentiels associés aux maillages des deux couches, généralement

complètement maillé pour la couche haute et reflétant le réseau physique pourla couche basse ;

– les capacités que l’on peut installer sur les liens des deux couches et les coûtsd’installation associés.

un objectif :construire une topologie des deux couches et un dimensionnement des liens de cescouches qui rendent le réseau résistant aux pannes simples, tout en minimisant lecoût global d’installation.

Tout l’enjeu du stage est donc de déterminer un modèle, caractérisé par un problèmed’optimisation combinatoire dans lequel le trafic est représenté par des multiflots, etsurtout une méthode de résolution exacte. Les solutions obtenues nous donneront unetopologie et un dimensionnement des liens du réseau sur les différentes couches.

On pourrait penser que le fait de partir de graphes donnés sur chaque couche occultejustement tout le problème de conception d’une topologie optimale, mais ce n’est pas lecas. En effet, à l’optimal, les capacités sur certaines arêtes peuvent être nulles, ce quirevient à ne pas mettre de lien. Au final, une topologie est bien créée, mais il est évidentque l’installation de certains liens (Lille ←→ Marseille par exemple) n’est pas judicieusedans la pratique, donc on préfère ne pas les considérer dans le graphe de départ.

1.4 Le sujet du stage

Comme nous venons de le voir, le travail à réaliser durant le stage est de modéliserle problème de dimensionnement particulier que l’on se propose d’étudier, de concevoiret d’implémenter une méthode de résolution en rapport avec la modélisation, et enfind’évaluer cette méthode. Cepandant, ce stage s’inscrit dans la continuité de la thèse demon encadrant de stage Benoit LARDEUX : il s’agit donc d’évaluer la nouvelle méthodepar rapport à la méthode présentée dans sa thèse où les principes de sécurisation nesont pas considérés.

14

Mémoire de fin d’études Benoît MERLET

Mon travail durant le stage peut se décomposer en trois phases principales :

I – Dans un premier temps, je me suis documenté sur l’état actuel des connaissancesthéoriques et pratiques portant sur le problème de dimensionnement de réseau. Lesujet est vaste et le problème peut se modéliser de différentes manières, ainsi quese résoudre en utilisant de nombreuses méthodes d’optimisation. Après m’êtreimprégné de cet état de l’art j’ai choisi d’utiliser la formulation capacité du pro-gramme linéaire en nombres entiers modélisant le problème.

II – Dans un second temps, et après avoir travaillé sur la modélisation du problèmede dimensionnement multicouhe de réseau sécurisé, je devais développer une mé-thode de résolution exacte du problème. Je me suis concentré sur un branch-and-cut (énumération implicite des solutions avec élagage de l’arbre des possibles) uti-lisant la bibliothèque d’optimisation COIN 9. Mon travail a consisté principalementen l’élaboration d’algorithmes de génération de coupes décrivant l’ensemble dessolutions réalisables du problème. L’intégration de coupes renforçant la relaxationlinéaire du problème a également été envisagée.

III – Enfin, dans un troisième et dernier temps, il fallait tester la méthode que j’ai implé-mentée et comparer l’efficacité des coupes générées sur divers types d’instances. Ilfallait également d’une part faire grandir progressivement la taille des instances deréseaux envisagées pour faire apparaitre les points faibles, et d’autre part compa-rer l’efficacité de ma méthode face aux méthodes existantes utilisées pour résoudredes problèmes similaires.

Ce découpage en trois phases est développé dans les chapitres suivants de ce rap-port. Le chapitre 2 présente l’état de l’art du dimensionnement et introduit le modèleenvisagé en justifiant les choix faits. Le chapitre 3 quant à lui, traite de la méthode derésolution implémentée en développant les algorithmes utilisés pour générer les coupesvalides. Enfin, l’évaluation de la méthode fait l’objet du chapitre 4.

En guise de conclusion à ce premier chapitre, nous avons vu que l’unité à laquelle j’aipris part développe des logiciels, l’un d’entre eux se nomme Contrast. Il a pour but d’ai-der les exploitants du cœur du réseau de France Télécom à le dimensionner. Mon travails’inscrit dans l’anticipation des besoins des utilisateurs de ce logiciel : pouvoir à termedimensionner optimalement de gros réseaux dans des temps raisonnables. C’est pourcela qu’il faut nourrir les outils développés d’algorithmes performants en travaillant surles modélisations et les méthodes de résolution des problèmes sous-jacents.

9http://www.coin-or.org

15

Mémoire de fin d’études Benoît MERLET

16

Chapitre 2

Le modèle théorique

Dans un premier temps, ce chapitre résume brièvement l’état des recherches théo-riques en matière de dimensionnement de réseau tout en faisant un point sur les perfor-mances pratiques atteintes. La suite du chapitre présente toute la démarche théoriquede construction du modèle en insistant sur les nouveautés apportées. Enfin nous exhi-bons le programme linéaire en variables bivalentes que l’on exploite en vue de résoudrele problème.

Sommaire2.1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Construction du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2.1 Fonctions de coûts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Formulation arcs-chemins . . . . . . . . . . . . . . . . . . . . . . . . 202.2.3 Passage à la formulation capacité . . . . . . . . . . . . . . . . . . . 212.2.4 La notion de couche . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.5 La sécurisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.6 Linéarisation du problème . . . . . . . . . . . . . . . . . . . . . . . . 24

17

Mémoire de fin d’études Benoît MERLET

2.1 État de l’art

Le problème général du dimensionnement d’un réseau de télécommunications à par-tir de prévisions de trafic est étroitement lié à celui de l’existence d’un multiflot modéli-sant l’écoulement du trafic dans le graphe support du réseau soumis à des contraintesde capacité sur les arêtes. Ces deux problèmes sont en fait duaux, et nous verrons plusloin comment le démontrer. Dans le cas où le coût d’installation ϕe d’une capacité xe

sur un lien e est linéaire, c’est-à-dire ∃α, ∀e, ϕe = αxe, le problème s’écrit sous la formed’un programme linéaire en continu. On peut donc dire d’emblée que dans ce cas, c’estun problème polynomial.

Cependant, sous cette forme, il n’intéresse pas les opérateurs de télécommunica-tions comme France Télécom car il ne reflète pas le problème opérationnel réel. C’estpourquoi on s’intéresse au problème que mon sujet de stage met en avant, celui du di-mensionnement à coûts modulaires d’un réseau multicouche et sécurisé. Les fonctionsde coûts particulières envisagées rendent ce problème NP-difficile. La preuve se trouvedans l’article [BCGT95] dans le cas particulier d’un réseau à une couche possédant ungraphe support série-parallèle. Dans tous les documents que j’ai pu lire jusqu’à présent,hormis la thèse de mon encadrant, il n’existe apparemment pas de méthode exacte quirésout dans des temps raisonnables le problème sur des instances de réseaux réels.

Pour revenir au problème général du dimensionnement de réseau, beaucoup de tra-vaux de recherche (avec hypothèses simplificatrices ou non) ont été réalisés. Ils re-posent, pour la plupart, sur la modélisation de l’écoulement du trafic par un multiflotdans le graphe support du réseau. Ce modèle classique admet plusieurs formulations :la formulation sommets-arcs, la formulation arcs-chemins et la formulation capacité(voir [GM95]). Les deux premières font respectivement intervenir les matrices d’inci-dence sommets-arcs et arcs-chemins du graphe support (d’où leurs noms) mais aussiles variables de flots associées aux demandes de trafic.

La formulation capacité du modèle est en ce sens plus intéressante, car justement,les variables de flots n’y apparaissent plus. Cette formulation correspond au dual de laformulation arcs-chemins que l’on obtient en utilisant le lemme de Farkas-Minkowski.Quelques transformations nous permettent d’exprimer l’ensemble, appelé le polyèdredes multiflots réalisables, des solutions réalisables du nouveau problème en fonctiond’une structure mathématique précise : le cône métrique (voir [On70] et [DL97]). En ef-fet, ce polyèdre est entièrement caractérisé par l’ensemble des inégalités métriques. Onpeut se référer à [GKM99], [KL04] ou [La05] pour avoir plus de détails sur les manipu-lations à opérer.

Cependant, il faut bien se rendre compte que les inégalités métriques sont en nombreinfini et sont donc difficilement énumérables. Même si on peut prouver qu’il suffit des’intéresser aux inégalités métriques fournies par les rayons extrèmes du cône mé-trique, elles sont toujours en trop grand nombre. Cette remarque implique l’utilisa-tion de méthodes particulières qui permettent justement d’éviter d’énumérer toutes cescontraintes. Plusieurs méthodes ont été envisagées : on a pensé à des branch-and-cutdans lequel on génére différents types de contraintes afin de renforcer la relaxation li-néaire et d’élaguer le plus possible l’arbre de recherche (voir [BCGT95] et [Gu98]). Ons’est aussi intéressé aux inégalités de bipartition qui sont des inégalités métriques par-ticulières, ce qui a permis de résoudre des instances à 30 nœuds et 40 liens grâce à uneméthode itérative de génération de contraintes (voir [GKM99]). On peut se référer à l’ar-ticle [Mi01] qui constitue une bonne synthèse des méthodes envisagées pour différentstypes de fonctions de coûts.

Dernièrement, les opérateurs de télécommunications se sont plus particulièrementintéressés au problème de dimensionnement de réseaux multicouches, plus proche deleur réalité opérationnelle (voir [LGK03] et [OW04]). D’autant plus que le dimensionne-ment simultané de plusieurs couches permet de réduire les coûts d’installation de façon

18

Mémoire de fin d’études Benoît MERLET

non négligeable (environ 10%) en comparaison des dimensionnements itératifs coucheaprès couche qui passent par le résolution de problèmes locaux à chaque couche du ré-seau et qui ne tiennent donc pas compte de leurs interactions fortes. Mon encadrant destage a donc considéré dans sa thèse des réseaux multicouches et proposé une méthodeexacte de résolution par génération de contraintes de type BENDERS, ce qui a permis derésoudre des instances à 10 nœuds, 45 liens sur la couche haute et 28 liens sur lacouche basse (voir [La05]).

2.2 Construction du modèle

Dans ce paragraphe, nous allons construire pas à pas le problème de dimension-nement à partir d’un modèle de réseau de télécommunications générique qui peut êtreutilisé pour aborder nombre de problèmes.

Nous allons, dans un premier temps, nous intéresser à un réseau comprenant uneunique couche : il est représenté par un graphe non orienté G = (N,E), avec N l’en-semble des sommets du graphe représentant les nœuds du réseau et E l’ensemble desarêtes représentant les liens. Le dimensionnement de ce réseau se fait à partir de l’écou-lement d’un ensemble K de demandes de trafic : elles sont aussi représentées par ungraphe G0 = (N,E0), avec le même ensemble N de sommets, et E0 un ensemble d’arêtes.Dès que la demande est non nulle entre deux sommets i et j, l’arête (i, j) est dans E0.

2.2.1 Fonctions de coûts

Pour se rapprocher au plus près des réalités opérationnelles du domaine des télé-communications, les fonctions donnant le coût d’installation d’une capacité sur un liensont discontinues. En effet, installer une capacité sur un lien c’est installer un modulesur le lien. Pour un réseau IP, les modules sont des paires de cartes que l’on installesur les routeurs aux deux extrémités du lien, alors que pour un réseau de transmissionoptique, un module peut être un système WDM.

En général, on dispose de plusieurs modules différents qui sont compatibles avecle lien e ∈ E considéré. L’ensemble Ve des valeurs de capacité que l’on peut installersur ce lien e est donc un ensemble fini de valeurs discrètes. Notons p(e) son cardinal.À chacune de ces valeurs de capacité est associé un coût d’installation sur le lien e.Notons Γe l’ensemble de ces coûts.

Ve ={

v1e , . . . , vp(e)

e

}avec v1

e < · · · < vp(e)e et Γe =

{γ1

e , . . . , γp(e)e

}

O

- te

6

ϕe(te)

v2e v3

e v4e v5

e

γ2e

γ3e

γ4e

γ5e

FIG. 2.1 – Exemple de fonction de coûts croissante et constante par morceaux

19

Mémoire de fin d’études Benoît MERLET

Si l’on note ∀ e ∈ E, te la quantité de trafic empruntant le lien e et ϕe(te) le coût d’ins-tallation de la capacité xe nécessaire pour faire passer la quantité te ≤ xe par le lien e,alors la fonction ϕe est une fonction discontinue, croissante et constante par morceauxcomme le présente la figure 2.1. Ces fonctions de coûts ont été considérées pour la pre-mière fois dans l’article [SD94].

Formellement, nous pouvons écrire :

∀ e ∈ E, ∀ te ≤ vp(e)e , ∃α ∈ N avec 1 ≤ α ≤ p(e) tel que

{xe = vα

e

ϕe(te) = ϕe(xe) = γαe

2.2.2 Formulation arcs-chemins

Nous avons déjà dit que les demandes de trafic sont représentées par un grapheG0 = (N,E0). Si l’on note m0 = card(E0), nous disposons d’un ensemble de m0 demandes.Intuitivement, on se rend bien compte que le trafic de chacune de ces demandes s’écoulede sa source jusqu’à son puits en empruntant un ou plusieurs chemins.

Afin d’obtenir la formulation naturelle de notre problème, nous modélisons l’écoule-ment du trafic par un multiflot réel multirouté dans le graphe G. À chaque demandeindicée par k (avec 1 ≤ k ≤ m0) est associé un flot de source sk, de puits tk et de valeurdk, la valeur de la demande. Notons alors qk le nombre de chemins élémentaires entresk et tk dans le graphe G et (P k

j )e∈E le vecteur caractéristique du j-ème chemin dont lescomposantes P k

j (e) ont pour valeur 1 si l’arête e est empruntée par le chemin, 0 sinon.Notons enfin fk

j la valeur du flot k qui emprunte le j-ème chemin.

Le Problème de Dimensionnement de Réseau (PDR) s’écrit alors :

(PDR)

min∑e∈E

ϕe(xe)

s.c.m0∑k=1

qk∑j=1

P kj (e) · fk

j ≤ xe ∀ e ∈ E (1)

qk∑j=1

fkj = dk pour 1 ≤ k ≤ m0 (2)

fkj ≥ 0 pour 1 ≤ k ≤ m0 et 1 ≤ j ≤ qk

xe ∈ Ve ∀ e ∈ E

Les contraintes de type (1) sont les contraintes de capacité, elles imposent que lasomme des quantités de flots qui sont routés sur une arête e ne doit pas dépasser sacapacité xe. Les contraintes de type (2) traduisent la conservation du trafic : la sommedes portions du flot routant la demande k doit égaler la valeur dk de la demande.

Cette formulation comporte un nombre réduit de contraintes égal à 2|E| + |E0|, quiaugmente linéairement avec la densité du graphe G et avec le nombre de demandes. Enrevanche, elle comporte un nombre très élevé de variables, égal à

∑k qk, qui augmente

exponentiellement avec le nombre d’arêtes dans G.

Cette remarque n’empêche pas la formulation arcs-chemins d’être très utilisée dansle domaine des télécommunications car elle permet d’ajouter facilement des contraintesde routage des demandes qui se traduisent simplement par des contraintes faisant in-tervenir les vecteurs caractéristiques des chemins.

20

Mémoire de fin d’études Benoît MERLET

2.2.3 Passage à la formulation capacité

Il est vrai que la formulation arcs-chemins du problème est la plus naturelle, maisoutre son nombre de variables dépendant exponentiellement de la densité du graphesupport, elle nécessite un prétraitement fastidieux : lister en mémoire les vecteurs ca-ractéristiques de tous les chemins élémentaires entre tout couple de sommet du graphesupport. Dans ce paragraphe, nous préfèrerons une approche polyédrale, c’est à dire quenous introduisons et caractérisons le polyèdre des solutions réalisables du problème.

L’ensemble X∗ des solutions réalisables du problème de dimensionnement est appelédominant du polyèdre des multiflots réalisables. Si on note x = (xe)e∈E un vecteur decapacité et f = (fk)k∈K un multiflot routant l’ensemble K des demandes de trafic, alors :

X∗ ={

x ∈ R|E|+ tel qu’il existe un multiflot f compatible avec x

}

Lemme (Farkas-Minkowski) :Soit A une matrice de dimension m × n et b un m-vecteur. Le système des inégalitéslinéaires Ax ≤ b a des solutions positives x ≥ 0 si et seulement si

∀ y ∈ Rm+ on a y ·A ≥ 0⇒ y · b ≥ 0

La caractérisation du polyèdre X∗ est obtenue en appliquant le lemme précédent àla formulation arcs-chemins du problème d’existence d’un multiflot compatible (voir ladémonstration dans l’annexe A.1 et [GM95] en complément). On a alors :

X∗ =

x ∈ R|E|+ tel que ∀µ ∈ R|E|

+ on a∑

(i,j)∈E

µij xij ≥∑

(i,j)∈E0

l∗ij(µ) dij

où l∗ij(µ) est la longueur du plus court chemin entre i et j dans le graphe G dans lequeltoute arête (i, j) ∈ E est munie de la longueur µij.

Mais cette dernière caractérisation pose toujours problème. En effet, même si des al-gorithmes performants existent pour calculer les plus courts chemins dans un graphe,pour obtenir une inégalité caractéristique de X∗ étant donné un vecteur µ, il faudrait lescalculer pour tout couple (i, j) ∈ E0, ce qui peut devenir rapidement rédhibitoire.

Nous introduisons donc le cône métrique d’ordre n, n désignant le nombre de som-mets de G, que l’on note Metn :

Metn ={

λ ∈ Rn(n−1)

2+ tel que λij ≤ λik + λkj avec

∣∣∣∣ 1 ≤ i < j ≤ nk 6= i, k 6= j

}et nous considérons un nouvel ensemble X où µ et les longueurs des plus courts che-mins ont disparu, mais où Metn apparaît :

X =

x ∈ R|E|+ tel que ∀λ ∈Metn on a

∑(i,j)∈E

λij xij ≥∑

(i,j)∈E0

λij dij

À partir de ces définitions, on démontre les résultats qui suivent (voir annexe A.2).

Proposition :Les deux ensembles X∗ et X sont identiques : X∗ = X.

21

Mémoire de fin d’études Benoît MERLET

Théorème (dit japonnais) :Le couple (x, d) est réalisable pour le problème de dimensionnement si et seulementsi ∀λ ∈ Metn, (x − d)T · λ ≥ 0. Ces dernières inégalités sont appelées inégalitésmétriques.

Avec cette nouvelle caractérisation, une inégalité métrique sera générée en choisis-sant un λ ∈ Metn, ce qui se fait en résolvant un programme linéaire continu intégrantles inégalités caractéristiques de Metn. C’est moins contraignant que le calcul des lon-gueurs des plus courts chemins pour tous les couples (i, j) ∈ E0.

Ces résultats nous permettent d’introduire la formulation capacité du Problème deDimensionnement de Réseau :

(PDR)

min

∑e∈E

ϕe(xe)

s.c.x ∈ Xxe ∈ Ve ∀ e ∈ E

Malgré l’apparente simplicité de ce problème, il n’en reste pas moins qu’il est expriméici par un programme linéaire généralisé. En effet, la contrainte 1

� x ∈ X � cache enréalité une infinité d’inégalités métriques données par une infinité de λ ∈Metn.

Un résultat que l’on doit à H. MINKOWSKI dit que le cône métrique peut être généréà partir de ses rayons extrêmes, c’est-à-dire à partir des λ ∈ Metn qui ne peuvent pass’exprimer comme des combinaisons linéaires d’autres éléments de Metn. Le nombre derayons extêmes de Metn, dépendant de n, est fini mais reste grand (plus d’un milliardpour Met8 selon [DFPS01]).

Au final, les inégalités métriques formées à partir des éléments de Rayn, l’ensembledes rayons extrêmes de Metn, est nécessaire et suffisant pour caractériser entièrementle dominant du polyèdre des mutliflots réalisables. Le problème de dimensionnement,dans sa formulation capacité, comporte donc |E| variables et |Rayn| contraintes. Celarend la méthode d’énumération des contraintes inopérante pour des réseaux de grandetaille.

2.2.4 La notion de couche

Dans le but d’adapter le modèle théorique des réseaux de télécommunications à laréalité quotidienne des opérateurs, nous introduisons la notion de réseau multicouche.Dans un souci de généralité, et même si dans la pratique, les tests sont menés sur desréseaux à deux couches, nous ne limitons pas le nombre de couches de notre modèle.

Soit donc un ensemble L = {1, . . . , |L|} de couches classées dans leur ordre d’en-capsulation. Chaque couche se modélise par un graphe support : ∀ l ∈ L, Gl = (N,El).Comme précédemment, N est l’ensemble des n nœuds du réseau qui sont identiquespour toutes les couches et El est l’ensemble des liens disponibles pour la couche l. No-tons ml le cardinal de cet ensemble.

Nous généralisons également la notion de fonctions de coûts modulaires : nous consi-dèrons l’ensemble Ve des p(e) valeurs possibles pour la capacité du lien e ∈ El, l’ensembleΓe des coûts associés à chacune de ces valeurs, et enfin nous notons ϕe la fonction decoûts qui en résulte.

1c’est abus de language : c’est en fait un ensemble de contraintes

22

Mémoire de fin d’études Benoît MERLET

Afin d’écrire la version multicouche du problème de dimensionnement de réseau, ilfaut quelque peu adapter le nom des variables : nous notons à partir de maintenantxl(e) la capacité installée sur le lien e de la couche l. Nous disposons donc, pour chaquecouche l, du vecteur capacité de la couche : xl = (xl(e))e∈El

. Pour des raisons esthé-tiques, notons x0 = d = (dij)(i,j)∈E0 .

Dans le problème de dimensionnement de réseau multicouche, le but est de dimen-sionner simultanément toutes les couches que comporte le réseau, et non d’appliqueritérativement une méthode de dimensionnement couche après couche. Il faut donc trou-ver simultanément un multiflot par couche qui soit compatible avec les capacités ins-tallées sur les liens de cette couche. Ce multiflot doit également permettre de routerl’ensemble des demandes de la couche considérée, qui sont en fait les capacités de lacouche juste au dessus 2.

C’est pourquoi nous introduisons les polyèdres suivants :

∀ l ∈ L, Xl =

x ∈ Rml+ tel que ∀λ ∈ Rayn

∑e=(i,j)∈El

λij x(e) ≥∑

e=(i,j)∈El−1

λij xl−1(e)

D’où la formulation capacité du Problème de Dimensionnement de Réseau Multi-

couche :

(PDRM)

min∑l∈L

∑e∈El

ϕe(xl(e))

s.c.xl ∈ Xl ∀ l ∈ L

xl(e) ∈ Ve ∀ l ∈ L, ∀ e ∈ El

2.2.5 La sécurisation

Toujours dans un soucis d’adapter le modèle à la réalité, il s’agit de sécuriser le ré-seau que l’on veut créer, c’est-à-dire, en toute généralité, le rendre résistant aux pannesd’un nœud ou d’un lien. Dans ce document, nous ne nous intéressons qu’aux pannesdes liens du réseau.

Plusieurs modes de sécurisation existent lorsqu’une panne d’un lien est avérée (voir[Ph04] mais aussi [SD94] et [AGW97]). Ces modes font tous intervenir un mécanisme dereroutage des demandes. Mais là encore, plusieurs philosophies existent : les reroutagessont soit précalculés (on anticipe l’apparition de pannes), soit dynamiques (on trouveune solution de reroutage une fois que l’on sait qu’il y a effectivement une panne). Onpeut par exemple citer le reroutage local qui reroute entre les extrémités de l’arc coupé,ou bien le reroutage partiel qui reroute uniquement les demandes qui empruntaient lelien en panne, ou encore le reroutage global où toutes les demandes sont susceptiblesd’être reroutées.

Les différents modes de sécurisation ci-dessus ne sont pas tous faciles à intégrer ànotre formulation du problème. Le choix que nous avons fait pour modéliser la sécu-risation s’inscrit dans l’anticipation des pannes : on prévoit a priori d’être capable dererouter globalement toutes les demandes de trafic de la couche haute dans tous les casde panne simple 3.

2c’est pour cela que nous parlons de couches encapsulées les unes dans les autres3un seul et unique lien d’une couche quelconque du réseau tombe en panne

23

Mémoire de fin d’études Benoît MERLET

Pour écrire notre nouveau problème, nous introduisons un nouveau vecteur capacitéxe

l ∈ Rml+ par couche, légèrement modifié de façon à simuler la panne de l’arête e de la

couche l. On a alors :

∀ l ∈ L, ∀ e ∈ El, xel (e) =

{0 si e = e,

xl(e) sinon.

Nous introduisons également de nouveaux polyèdre des multiflots réalisables quiprennent en compte la panne de l’arête e :

∀ l ∈ L, ∀ e ∈ El,

X el =

x ∈ Rml+ tel que ∀λ ∈ Rayn

∑e=(i,j)∈El−{e}

λij x(e) ≥∑

e=(i,j)∈El−1

λij xl−1(e)

Et enfin, on en déduit la formulation capacité du PROBLÈME DE DIMENSIONNEMENT

DE RÉSEAU MULTICOUCHE SÉCURISÉ que l’on peut écrire comme suit :

(PDRMS)

min∑l∈L

∑e∈El

ϕe(xl(e))

s.c.xe

l ∈ X el ∀ l ∈ L, ∀ e ∈ El

xl(e) ∈ Ve ∀ l ∈ L, ∀ e ∈ El

2.2.6 Linéarisation du problème

Pour que notre formulation du problème soit exploitable, il ne nous reste plus qu’àexpliciter les fonctions de coûts. Nous pourrons ainsi utiliser un solver de programmeslinéaires en nombres entiers dans notre méthode de résolution.

Ici, expliciter les fonctions de coûts revient à linéariser le problème. Rappelons quepour une couche l ∈ L et un lien e ∈ El de cette couche nous disposons des ensemblesVe et Γe :

Ve ={

v1e , . . . , vp(e)

e

}et Γe =

{γ1

e , . . . , γp(e)e

}Ve représente l’ensemble des valeurs possibles (rangées dans l’ordre croissant) de lacapacité du lien e et Γe l’ensemble des coûts d’installation associés à chacune de cesvaleurs.

Plusieurs méthodes existent pour linéariser une fonction en escalier. Par exemple,nous pouvons introduire une variable bivalente qui correspond à la décision de prendreou non telle valeur possible et en déduire le coût associé.

Ou encore, nous pouvons introduire des variables bivalentes xαl (e), α = 2, . . . , p(e)

associées à chaque marche de la fonction de coûts en escalier. La variable xαl (e) vaut 1

si et seulement si le module permettant de passer de la capacité vα−1e à la capacité vα

e

pour le lien e de la couche l est effectivement installé.

Cette seconde méthode est privilégiée car il est apparu au travers d’expériences pra-tiques de dimensionnement que les outils résolvaient le problème plus rapidement àpartir de cette formulation. En effet, elle fournit des relaxations continues de meilleurequalité.

24

Mémoire de fin d’études Benoît MERLET

On a donc :

∀α = 1, . . . , p(e) xl(e) = vαe ⇐⇒

{xβ

l (e) = 1 ∀β ≤ α

xβl (e) = 0 ∀β > α

Et nous pouvons écrire :

xl(e) =p(e)∑α=2

(vαe − vα−1

e ) xαl (e)

ϕe(xl(e)) =p(e)∑α=2

(γαe − γα−1

e ) xαl (e)

De même, pour la contrainte d’intégrité :

xl(e) ∈ Ve ⇐⇒{

xαl (e) ∈ {0, 1} pour α = 2, . . . , p(e)

xαl (e) ≤ xα−1

l (e) pour α = 3, . . . , p(e)

Il suffit alors de substituer les dernières expressions dans la formulation capacité duproblème de dimensionnement de réseau multicouche sécurisé pour l’écrire sous formed’un programme linéaire en variables bivalentes :

(PDRMS)

min∑l∈L

∑e∈El

p(e)∑α=2

(γαe − γα−1

e ) xαl (e)

s.c. ∑e∈E1−{e}

p(e)∑α=2

λe (vαe − vα−1

e ) xαl (e) ≥

∑e∈E0

λe x0(e)

∀ e ∈ E1, ∀λ ∈ Rayn∑e∈El−{e}

p(e)∑α=2

λe (vαe − vα−1

e )xαl (e) ≥

∑e∈El−1

p(e)∑α=2

λe (vαe − vα−1

e ) xαl−1(e)

∀ l ≥ 2, ∀ e ∈ El, ∀λ ∈ Rayn

xαl (e) ≤ xα−1

l (e) ∀ l ∈ L, ∀ e ∈ El, α = 3, . . . , p(e)

xαl (e) ∈ {0, 1} ∀ l ∈ L, ∀ e ∈ El, α = 2, . . . , p(e)

On retrouve dans le problème les contraintes qui forcent les vecteurs capacité à êtreréalisables au sens des multiflots (inégalités métriques). Il est important de remarquerque ces contraintes ne sont pas en nombre fini si on considère que λ ∈Metn, et sont entrès grand nombre si on se restreint à λ ∈ Rayn. C’est pourquoi la méthode de résolutionenvisagée dans le chapitre suivant intègre un processus de génération de contraintes. Ànous de faire en sorte de générer les contraintes les plus intéressantes.

25

Mémoire de fin d’études Benoît MERLET

26

Chapitre 3

La méthode de résolution

Ce chapitre présente la méthode exacte de résolution du problème de dimension-nement de réseau multicouche et sécurisé que nous proposons. Pour cela, nous com-mençons par des remarques, puis nous faisons un point sur les méthodes généralesd’énumération implicite, et enfin nous développons les spécificités de notre méthode dedimensionnement intégrant un branch-and-cut et utilisant la bibliothèque COIN.

Sommaire3.1 Remarques préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2 Méthodes arborescentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Notre branch-and-cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3.1 Règle de séparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.2 Fonction d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.3 Stratégie d’exploration . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.4 Heuristiques de génération de bornes . . . . . . . . . . . . . . . . . 32

27

Mémoire de fin d’études Benoît MERLET

3.1 Remarques préliminaires

Le but du stage est d’implémenter une méthode pour résoudre le problème de di-mensionnement multicouche de réseau sécurisé. Comme nous l’avons vu dans le cha-pitre précédent, nous écrivons ce problème sous la forme d’un Programme Linéaire enNombre Entier (PLNE). D’où notre idée d’utiliser une méthode arborescente, et plusprécisément, un branch-and-cut. C’est une méthode exacte qui partitionne l’espace dessolutions en sous-ensembles plus petits dont la plupart sont éliminés grâce à des cal-culs de bornes. C’est pourquoi on parle aussi de méthodes d’énumération implicite.

Pour la partie implémentation de la méthode, nous utilisons la bibliothèque de re-cherche opérationnelle COIN, une alternative libre aux solvers commerciaux tels CPLEXou XPRESS. Un des enjeux du stage pour le laboratoire, en plus d’implémenter un ou-til de dimensionnement de réseau, est d’ailleurs d’évaluer selon différents critères cettebibliothèque. Ici, nous utilisons plus particulièrement Cbc, l’implémentation de l’algo-rithme du branch-and-cut fournie par COIN. De nombreux comportements classiquesexistent déjà, mais Cbc est entièrement modulaire et personnalisable pour qu’il puisses’adapter à des problèmes particuliers. Mon travail est donc d’implémenter des modulespour adapter Cbc au problème de dimensionnement multicouche de réseau sécurisé.

3.2 Méthodes arborescentes

En général, et pour Cbc en particulier, l’algorithme des méthodes arborescentescomme le branch-and-bound est toujours le même (voir figure 3.1).

1. s← solution du problème relaché2. LB ← heuristique_LB(s)3. UB ← heuristique_UB(s)4. si s est à valeurs entières ou LB = UB5. s est la solution optimale, donc on quitte6.7. A← ∅8. v ← choix_variable()9. A← A ∪ separe_domaine(v)

10.11. Tant que l’arbre de recherche A est non vide12. N ← choix_noeud(A)13. s← solution relachée du problème associé au nœud N14. UB ← min(UB, heuristique_UB(s))15.16. si s = ∅ ou evaluation(s)> UB17. on élague le nœud N18. si s est à valeurs entières19. on sauvegarde s si c’est la meilleure solution rencontrée20. on élague le nœud N21. si LB = UB22. s est la solution optimale, donc on quitte23.24. si le nœud N n’a pas été élagué25. v ← choix_variable()26. A← A∪ separe_domaine(v)27. Fin tant que

FIG. 3.1 – Pseudo-code de la méthode du branch-and-bound

28

Mémoire de fin d’études Benoît MERLET

Pour adapter la méthode arborescente au problème que l’on souhaite résoudre, troiscomposantes peuvent varier : la règle de séparation (separe_domaine), la fonction d’éva-luation (evaluation), et la stratégie d’exploration (choix_variable et choix_noeud).Il faut également disposer d’heuristiques de génération de bornes, une pour la borneinférieure (heuristique_LB), et une pour la borne supérieure (heuristique_UB).

On remarque dans la figure 3.1 qu’à l’initialisation, ainsi qu’à chaque étape de l’al-gorithme on résout une relaxation linéaire. Si à ces étapes on utilise des coupes dans lebut de renforcer cette relaxation linéaire, on parle alors de branch-and-cut. Si on utiliseles coupes uniquement à l’initialisation, c’est-à-dire uniquement à la racine de l’arbrede recherche, on parle de cut-and-branch.

3.3 Notre branch-and-cut

Pour présenter notre méthode de résolution du problème, il nous suffit maintenantde présenter ses trois composantes caractéristiques ainsi que ses deux heuristiques degénération de bornes.

3.3.1 Règle de séparation

Le but de cette règle est d’appliquer la formule diviser pour mieux régner. Plusieurssolutions sont envisageables pour notre problème de dimensionnement.

Si nous reprenons le problème formulé en programme linéaire en nombres entiers,nous pouvons séparer de deux façons différentes :

– soit par dichotomie en séparant � au milieu � le domaine de validité de la variablesur laquelle on sépare, ceci en rajoutant des contraintes dans le problème du nœudparent (ce qui créera deux nouveaux nœuds) ;

– soit en créant autant de sous-arbres que de valeurs possibles (supposées en nombrefini) pour la variable sur laquelle on sépare.

Mais comme nous l’avons dit plus haut, en pratique, nous utilisons la linéarisationdu problème introduisant des variables bivalentes xα

l (e) car sa relaxation linéaire estbien meilleure. Le comportement par défaut de Cbc est de considérer les variables duproblème comme de simples entiers compris entre deux bornes (v ∈ [v−, v+]) et d’appli-quer la rêgle de dichotomie (on scinde le domaine à v++v−

2 ).

Dans le cas d’une variable bivalente xαl (e) associée à la marche α de la fonction de

coûts du lien e de la couche l, la borne inférieure de l’intervalle de validité est 0 et laborne supérieure est 1. Cbc va donc créer deux nouveaux nœuds et les ajouter à l’arbrede recherche :

– le premier en ajoutant la contrainte xαl (e) ≤ 0, ce qui force la variable à 0 ;

– le second en ajoutant la contrainte xαl (e) ≥ 1, ce qui force le variable à 1.

À chaque fois que la procédure separe_domaine est exécutée, des contraintes sontrajoutées au problème. Dans la suite de ce document, ces contraintes sont appelées lescontraintes de séparation.

29

Mémoire de fin d’études Benoît MERLET

3.3.2 Fonction d’évaluation

La fonction d’évaluation d’un nœud de l’arbre de recherche permet de décider decontinuer à explorer le sous-arbre issu de ce nœud courant ou de l’élaguer. Dans notreméthode de résolution, l’évaluation est obtenue en calculant le coût optimal de la relaxa-tion continue du problème associé au nœud courant à laquelle on ajoute des inégalitésvalides pour la renforcer.

Relaxation continue du problème

Considérons que nous sommes en un nœud R de l’arbre de recherche. Pour parve-nir à ce nœud, nous avons fixé un certain nombre de variables bivalentes en rajoutantun ensemble fini SepR de contraintes de séparation. Nous avons également généré desinégalités métriques provenant d’un sous-ensemble RayR

n de rayons extrêmes de Metn.

Voici donc la relaxation envisagée au nœud R (les différences avec le problème généralnon relaché sont surlignées) :

(PDRMSR)

min∑l∈L

∑e∈El

p(e)∑α=2

(γαe − γα−1

e ) xαl (e)

s.c. ∑e∈E1−{e}

p(e)∑α=2

λe (vαe − vα−1

e ) xαl (e) ≥

∑e∈E0

λe x0(e)

∀ e ∈ E1, ∀λ ∈ RayRn∑

e∈El−{e}

p(e)∑α=2

λe (vαe − vα−1

e )xαl (e) ≥

∑e∈El−1

p(e)∑α=2

λe (vαe − vα−1

e ) xαl−1(e)

∀ l ≥ 2, ∀ e ∈ El, ∀λ ∈ RayRn

SepR

xαl (e) ≤ xα−1

l (e) ∀ l ∈ L, ∀ e ∈ El, α = 3, . . . , p(e)

xαl (e) ∈ [0, 1] ∀ l ∈ L, ∀ e ∈ El, α = 2, . . . , p(e)

Avant de résoudre optimalement (PDRMSR) pour obtenir en temps polynomial l’éva-luation du nœud R, nous contraignons au maximum la relaxation considérée en luirajoutant un ensemble de coupes valides pour le problème.

1. on relâche les contraintes d’intégrité du problème du nœud courant2. on appelle (PDRMSR) la programme linéaire que cela crée3. on résout (PDRMSR), ce qui nous fournit une solution x = (xl)l∈L

4. pour chaque couche l ∈ L,5. pour chaque lien e ∈ El,6. on génère une contrainte avec x, l et e7. si une inégalité a bien été générée8. on l’ajoute à (PDRMSR) via RayR

n

9. si on a généré au moins une inégalité,10. on retourne à l’étape 311. on renvoie l’évaluation du nœud : le coût optimal de (PDRMSR)

FIG. 3.2 – Pseudo-code de l’évaluation en un nœud

30

Mémoire de fin d’études Benoît MERLET

Les inégalités rajoutées sont générées à partir d’une solution x = (xl)l∈L du problèmerelâché (PDRMSR). Comme le montre la figure 3.2, à partir de ces vecteurs capacité,nous envisageons tous les cas de pannes simples en annulant méthodiquement une deleurs composantes à la fois. Ceci nous permet d’exécuter autant de fois que nécessairele processus de génération d’une inégalité métrique.

Le nœud racine de l’arborescence de recherche est traité de façon légèrement diffé-rente. Afin d’avoir une première évaluation qui soit de bonne qualité, entre les étapes2 et 3, c’est-à-dire avant d’envisager tous les cas de pannes simples et générer des in-égalités métriques, nous générons d’autres types de contraintes : coupes de bipartition,ou encore des coupes plus générales valables pour tous les PLNE comme les coupes deGomory, les coupes MIR ...

Génération d’une inégalité métrique

Nous avons vu que les inégalités métriques sont générées à partir de vecteurs capa-cité (xl)l∈L. Ces vecteurs ne sont a priori pas réalisables au sens des mutliflots, c’est-à-dire qu’ils ne permettent pas de router toutes les demandes, étant donné qu’ils pro-viennent d’une relaxation du problème. En effet, on ne dispose pas forcément de toutesles inégalités métrique nécessaires. Il faut donc rendre les vercteurs capacité réalisablesen générant les inégalités métriques manquante.

Comme les inégalités métriques caractérisent le dominant du polyèdre des multiflotsréalisables, elles n’excluent aucune solution de notre problème de dimensionnement etelles assurent même la convergence de la méthode. En effet, une fois que les bonnesinégalités métriques auront été générées, une solution du problème relaché (PDRMSR)sera réalisable pour le problème non relaché (PDRMS).

Pour générer une inégalité métrique, il nous faut trouver un rayon extrême de Metn.Pour cela, nous envisageons un problème satellite afin de trouver l’inégalité la plus vio-lée par la solution relachée x du nœud courant de l’arbre de recherche.

Soient z un vecteur capacité et t un vecteur de demandes. Considérons alors le pro-gramme linéaire suivant qui intervient dans la méthode de la figure 3.3 :

SAT (z, t)

min f(λ) =∑i<j

λij (zij − tij)

s.c.λij ≤ λik + λkj pour 1 ≤ i < j ≤ n, k 6= i, k 6= j

λij ≥ 0 pour 1 ≤ i < j ≤ n∑i<j

λij = 1

Il est à noter que z et t sont deux vecteurs à n(n−1)2 composantes. Cela signifie qu’ils

correspondent à des vecteurs étendus par rapport aux vecteurs considérés jusqu’alors :la composante zij est nulle s’il n’y a pas d’arête entre i et j, de même, la composante tijest nulle s’il n’existe aucune demande entre i et j.

Les premières contraintes de ce programme linéaire sont caractéristiques d’un vec-teur λ apartennant à Metn, alors que la dernière est une contrainte de normalisationpour éviter d’avoir une composante λij infinie dans le cas où zij − tij < 0.

31

Mémoire de fin d’études Benoît MERLET

1. soit z = xel le vecteur capacité de la couche l dans le cas de panne du lien e

2. soit t = xl−1 le vecteur des demandes de trafic sur la couche l3.4. on résout le problème SAT (z, t), ce qui nous fournit un vecteur λ∗

5.6. si f(λ∗) < 07. l’inégalité

∑λij zij ≥

∑λij tij est violée

8. sinon9. la solution x ne viole aucune inégalités sur la couche l

FIG. 3.3 – Méthode de génération d’une inégalité métrique violée

3.3.3 Stratégie d’exploration

C’est la stratégie d’exploration qui, étant donné un arbre de recherche non vide, dé-taille le choix du prochain nœud à séparer. On peut par exemple citer les parcours enprofondeur d’abord, en largeur d’abord, ou en meilleur d’abord. Le parcours par défautproposé par Cbc est un mariage de deux méthodes : on utilise le parcours en profondeurd’abord jusqu’à ce qu’on trouve une solution admissible, puis on utilise le parcours enmeilleur d’abord.

La stratégie d’exploration précise également la décision de séparation, c’est-à-dire lechoix de la variable sur laquelle brancher. Un critère heuristique est souvent appliqué.Le but est en général de précipiter la découverte d’une nouvelle solution, ou au contraire,de détecter plus vite des contradictions permettant d’élaguer le nœud. Par défaut, Cbcchoisit les variables dans l’ordre de leurs indices et c’est le comportement retenu pournotre méthode de résolution. Mais, on a aussi la possibilité d’attribuer des priorités auxvariables. Nous avons par exemple pensé à fixer d’abord les variables xα

l (e) avec α prochede sa borne supérieure puisque cela fixe implicitement toutes les variables xβ

l (e) avecβ ≤ α.

3.3.4 Heuristiques de génération de bornes

Dans la méthode du branch-and-bound de la figure 3.1, on génère grâce à des heuris-tiques des bornes globales. La borne inférieure globale est ensuite utilisée pour quitterplus rapidement le parcours de l’arborescence de recherche alors que la borne supé-rieure globale permet d’élaguer le plus de nœuds possibles.

Calcul de la borne inférieure

Dans le cas où l’on utilise le coût optimal du problème relâché comme borne infé-rieure globale, il est important de remarquer que le procédé n’est valable qu’à la racinede l’arborescence de recherche et non en chacun de ses nœuds.

En effet, l’ensemble SepR de contraintes de séparation qui sont rajoutées au problème(PDRMSR) fait que ce même problème (PDRMSR) n’est pas une relaxation du problèmegénéral (PDRMS). Et par conséquent, le coût optimal de (PDRMSR) ne constitue pasune borne inférieure du coût optimal de (PDRMS).

Cependant, on peut tout de même générer une borne inférieure en chacun des nœudsde l’arborescence. Il suffit pour cela de maintenir à jour l’ensemble ReaR (pour réali-sabilité) de toutes les inégalités violées déjà générées depuis le début du parcours de

32

Mémoire de fin d’études Benoît MERLET

l’arborescence de recherche, et de résoudre le programme linéaire suivant :

min∑l∈L

∑e∈El

p(e)∑α=2

(γαe − γα−1

e )xαl (e)

s.c.ReaR

xαl (e) ≤ xα−1

l (e) ∀ l ∈ L, ∀ e ∈ El, α = 2, . . . , p(e)

xαl (e) ∈ [0, 1] ∀ l ∈ L, ∀ e ∈ El, α = 1, . . . , p(e)

Calcul de la borne supérieure

Une borne supérieure globale sera obtenue en évaluant le coût d’une solution ad-missible, c’est-à-dire à composantes entières. Nous avons donc pensé dans un premiertemps utiliser l’heuristique classique qui arrondit supérieurement chaque composantenon entière d’une solution relâchée.

Mais, après réflexion, cela pose problème : si on arrondit les variables sans prendregarde à l’ordre dans lequel on les arrondit, on pourrait aboutir à une solution non réali-sable au sens des multiflots à cause des dépendances entre les couches. La solution estdonc d’arrondir couche après couche comme le présente la figure 3.4.

1. on se donne x une solution à valeurs non entières du problème relâché2.3. on crée un nouveau problème (P )4. pour chaque l ∈ L,5. pour chaque lien el ∈ El et pour α = 1, . . . , pl(el)6. si la variable xα

l (el) est entière,7. on ajoute xα

l (el) = xαl (el) à (P )

8. sinon,9. on ajoute xα

l (el) ≥ dxαl (el)e à (P )

10. on résout (P ), ce qui fournit un nouveau x11.12. on retourne le dernier vecteur x avec toutes les composantes entières

FIG. 3.4 – Heuristique de génération d’une borne supérieure

33

Mémoire de fin d’études Benoît MERLET

34

Chapitre 4

Évaluation de la méthodeimplémentée

Dans ce chapitre nous commençons par expliquer les différents types de tests menéssur la méthode de dimensionnement de réseaux développée durant le stage. Puis nousprésentons les différents scénarios d’évaluation de la méthode qui ont essentiellementpour but de quantifier l’efficacité des coupes envisagées.

Sommaire4.1 Tests de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1.1 Tests unitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.1.2 Tests nominaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.1.3 Tests de montée en charge . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Évaluation de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2.1 Les différentes coupes ajoutées . . . . . . . . . . . . . . . . . . . . . 394.2.2 Les résultats obtenus . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.3 Bilan et autre approche . . . . . . . . . . . . . . . . . . . . . . . . . 42

35

Mémoire de fin d’études Benoît MERLET

4.1 Tests de la méthode

4.1.1 Tests unitaires

Dans un premier temps, il est important d’être sûr que les différents modules dé-veloppés répondent à leurs spécifications. La méthode implémentée durant le stage endénombre quatre :

– le module de lecture des données à partir d’un fichier ;– le module de création du branch-and-cut à partir des données ;– le module de génération des inégalités métriques violées par une solution ;– le module de création et de résolution des problèmes satellites.

Les tests unitaires qui ont été menés sur chacun de ces modules indépendamment,ont permis de mettre en évidence des erreurs de programmation. Outre quelques clas-siques segmentation fault dûs à des étourderies, on peut citer par exemple des er-reurs dans l’ajout des contraintes de précédence portant sur les variables xα

l (e) dansle module de création du problème général, ou encore des problèmes d’arrondi des va-riables stockées sous forme de double dans le module des problèmes satellites.

4.1.2 Tests nominaux

Dans un deuxième temps, les tests nominaux permettent de se rendre compte queles modules précédents s’interfacent sans erreurs, mais aussi que la méthode dimen-sionne correctement des instances de petits réseaux en comparant les résultats obtenusaux résultats obtenus en résolvant de petits problèmes à la main.

Les tests nominaux qui on été menés sur la méthode développée ont permis de mettreen évidence un problème de génération d’une inégalité métrique à partir d’un rayon ex-trême de Metn rapidement corrigé, et aussi un problème de rapidité d’accès aux donnéesen mémoire qui a motivé le changement des structures de données utilisées.

FIG. 4.1 – Exemple d’instance de réseau

36

Mémoire de fin d’études Benoît MERLET

Dans la petite instance de la figure 4.1 comprenant 3 nœuds et 2 couches repré-sentées par 2 graphes qui sont ici complets, le réseau doit être capable de router les3 demandes suivantes : d12 = 4, d13 = 1 et d23 = 2. Les fonctions de coûts sont spéci-fiques à chaque lien du réseau et ne sont donc pas toutes exhibées. Mais, pour le lien(1, 2) de la première couche par exemple, deux modules peuvent être installés : M1 decapacité 32 et de coût 413.0 et M2 de capacité 128 et de coût 1032.5. Ce lien admet doncune fonction de coûts comprenant deux marches caractérisées par les valeurs précé-dentes.

# nb de couches, nb de noeuds, nb de liens sur la couche haute2 3 3

# matrices des graphes des couches0.0 1.0 2.01.0 0.0 3.02.0 3.0 0.0

0.0 1.0 2.01.0 0.0 3.02.0 3.0 0.0

# matrice des demandes0.0 4.0 1.04.0 0.0 2.01.0 2.0 0.0

# fonctions de coûts des liens30 032.0 413.0128.0 1032.5

30 032.0 433.0128.0 1082.5

30 032.0 195.0128.0 487.5

30 0128.0 424.0512.0 1060.0

30 0128.0 244.0512.0 610.0

30 0128.0 244.0512.0 610.0

FIG. 4.2 – Fichier de données

La figure 4.2 présente le fichier de données associé à cette petite instance. On peutremarquer que les matrices des graphes supports des couches, ainsi que la matrice desdemandes sont symétriques. On considère en effet des graphes non orientés. D’autrepart, on peut voir que chaque lien dispose de sa fonction de coûts en escalier qui estdonnée par le biais des valeurs caractéristiques des différentes marches. Enfin, on re-marque que les deux couches du réseau sont sans doute de nature différentes : lesmodules de capacités installables sur les liens de la première couche (les trois premiers)sont identiques, et ils diffèrent de ceux installables sur la seconde couche (les trois der-niers liens).

37

Mémoire de fin d’études Benoît MERLET

bob@marmite: ~/stage/dev/netdim $ ./bin/netdim data/petit.txtCreating dimensionning problem from dataData read in data/petit.txt.There are 2 layers :layer 1 (graph has 3 nodes and 3 edges)layer 2 (graph has 3 nodes and 3 edges)

And there are 3 traffic demands :{1~2, 4} {1~3, 1} {2~3, 2}

Adding cuts before solvingAll bipartition cuts : 12

Creating branch-and-cutSolving the problem ...Cbc0009I Objective coefficients multiple of 0.5Cbc0013I At root node, 0 cuts changed objective from 935.625 to 935.625 in 1 passesCbc0014I Cut generator 0 (Metric) - 0 row cuts (0 active), 0 column cutsCbc0004I Integer solution of 1953 found after 0 iterations and 0 nodes (0.02 seconds)Cbc0001I Search completed - best objective 1953, took 0 iterations and 0 nodes (0.02 seconds)Cbc0032I Strong branching done 20 times (18 iterations), fathomed 0 nodes and fixed 6 variablesdone.Verifying if solution is feasible ... ok.Printing problem solution :exact sol = [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]

FIG. 4.3 – Fichier de données

La figure 4.3 n’est autre que la sortie affichée lors de l’exécution de la méthode dedimensionnement sur la petite instance présentée. Toutes les caractéristiques de l’ins-tance sont imprimées à l’écran, puis la main est donnée à Cbc pour résoudre le pro-gramme linéaire en variables bivalentes créé à partir du fichier de données. La solutionde ce problème est ensuite affichée.

4.1.3 Tests de montée en charge

Dans un troisième et dernier temps, il s’agit de tester la montée en charge de la mé-thode en lui proposant de dimensionner des instances de réseaux comportant de plusen plus de nœuds, de couches, de liens sur ces couches et de modules différents à ins-taller sur ces liens. Cela permet d’identifier les points faibles de l’algorithme.

Le stage s’étant terminé prématurément, je n’ai pas pu mener tous les tests que j’au-rais voulu faire. Mais, à titre indicatif, l’une des instances testées comprenait 10 nœuds,2 couches, 45 liens sur la première couche, 28 liens sur la seconde, et 8 modules instal-lables par lien. La méthode de dimensionnement a tourné tout un week-end sans donnerla solution optimale de cette instance. En effet, le programme linéaire en variables bi-valentes sous-jacent comportait trop de variables (notamment à cause du nombre demodules installables par lien), ce qui impliquait une trop grande arborescence à par-courir.

Afin d’identifier les points faibles, les sources ont été compilées avec les options -g(pour produire des informations de debug) et -pg (pour produire des informations deprofilage). Cela permet de générer des comptes-rendu d’exécution en utilisant l’utilitairegprof.

Ainsi, on a su le nombre de fois que sont exécutées toutes les fonctions, ainsi quele temps passé dans ces fonctions. Les résultats ont montré que la très grande majo-rité (90 à 95%) du temps d’exécution du binaire ést dédié au générateur des inégalitésmétriques. D’ailleurs, ce résultat se comprend plutôt bien quand on remarque que legénérateur est lancé pour chaque nœud de l’arborescence de recherche et que mêmedans le cas où aucune inégalité métrique n’est rajoutée, il faut tout de même envisagertous les cas de panne simple des liens.

38

Mémoire de fin d’études Benoît MERLET

4.2 Évaluation de la méthode

Concernant l’évaluation, tout est fait par le biais de comparaisons avec des méthodesexistantes pour des problèmes moins spécifiques. Je pense notamment à la méthodede dimensionnement de réseau multicouche n’intégrant pas la notion de sécurisationprésentée dans la thèse de mon maître de stage. Elle utilise un processus itératif degénération de contraintes basé sur la décomposition de BENDERS, dans une philosophiedifférente de notre méthode. Cela nous permettra d’évaluer l’efficacité des coupes ajou-tées.

4.2.1 Les différentes coupes ajoutées

Que ce soit au nœud racine de l’arborescence, ou à tous les nœuds parcourus lors dubranch-and-bound, des coupes valides sont ajoutées au programme linéaire en variablesbivalentes. Ces coupes sont de deux natures différentes : les unes forcent la réalisabilitéde la solution au sens des multiflots, les autres forcent l’intégrité de la solution.

Les inégalités de bipartition

Si l’on partitionne l’ensemble N des nœuds du réseau en deux parties N1 et N2, lacontrainte stipulant que la somme des demandes entre les parties N1 et N2 est inférieureà la somme des capacités des liens entre N1 et N2 est valide. Cette contrainte est uneinégalité de bipartition.

Ce qui est remarquable est que les inégalités de bipartition sont des inégalités mé-triques particulières, c’est-à-dire qu’elles sont caractérisées par des vecteurs particuliersde Metn. Ces inégalités forcent donc les vecteurs capacité des couches à être réalisablesau sens des multiflots.

Mais, comme nous l’avons vu dans le chapitre précédent, nous intégrons déjà àchaque nœud de l’arborescence la génération des inégalités métriques violées par lasolution relachée du nœud. Les inégalités de bipartition ne sont donc utiles qu’à la ra-cine de l’arborescence. Elles vont ainsi permettre d’avoir dès le départ une bonne borneinférieure du coût optimal.

Plusieurs stratégies impliquant des algorithmes différents on été envisagées. Dansun premier temps, nous nous sommes intéressés plus spécialement aux partitions del’ensemble N isolant un nœud (voir figure 4.4).

1. pour tout i ∈ N2. pour tout l ∈ L3. Ei

l ← { arêtes de El issues de i }4. pour tout e ∈ Ei

l

5. si l = 16. ajouter

∑e∈Ei

1xe

1(e) ≥∑

k 6=i dik

7. sinon8. ajouter

∑e∈Ei

lxe

l (e) ≥∑

e∈Eil−1

xl−1(e)

FIG. 4.4 – Algorithme de génération des inégalités de bipartition isolant un nœud

Puis, dans un second temps, nous avons envisagé de générer toutes les inégalités debipartition par un procédé récursif présenté dans la figure 4.5.

39

Mémoire de fin d’études Benoît MERLET

1. Considérer_Bipartition(w)2. si |w| = 0 ou |w| > n/23. quitter la fonction4.5. Générer_Coupes(w)6.7. pour tout s ∈ w8. Considérer_Bipartition(w ∪ {s})9. fin

10.11. Générer_Coupes(w)12. Kw ← { demandes coupées par w }13. pour tout l ∈ L14. Ew

l ← { liens de la couche l coupés par w }15. pour tout e ∈ Ew

l

16. si l = 117. ajouter

∑e∈Ew

1xe

1(e) ≥∑

k∈Kw dk

18. sinon19. ajouter

∑e∈Ew

lxe

l (e) ≥∑

e∈Ewl−1

xl−1(e)20. fin

FIG. 4.5 – Algorithme de génération de toutes les inégalités de bipartition

Les coupes MIR et Gomory

Les coupes MIR et Gomory sont d’une autre nature que les précédentes. Elles sontvalables pour tout programme linéaire en nombres entiers et ont pour effet de forcer lescomposantes de la solution relâchée à prendre des valeurs entières. Nous les généronsà partir de modules fournis avec Cbc.

Les coupes obtenues en arrondissant les coefficients associés aux composantes en-tières de la solution relâchée ainsi que le second membre dans une contrainte d’un pro-gramme linéaire sont valides. Elles constituent les coupes MIR (Mixed Integer Rounding).

De plus une fois un problème linéaire résolu, nous pouvons décomposer la matriceen une base optimale B et une matrice F , et nous disposons de l’égalité suivante :[

B F]·[xb

xf

]=

[b]

Ce qui peut se réécrire en utilisant l’inversibilité de B :[xb

]+ A ·

[xf

]= b

Et en supposant que l’on ait une solution optimale x fractionnaire, on peut dire qu’ilexiste un indice n tel que la composante xn soit fractionnaire et vérifie :

xn +∑

j

anj xj = bn

Alors la contrainte suivante est valide :

xn +∑

j

banj xjc ≤⌊bn

⌋Les inégalités de ce type constituent les coupes de Gomory, du nom du premier mathé-maticien à les avoir considérées.

40

Mémoire de fin d’études Benoît MERLET

4.2.2 Les résultats obtenus

Le but est d’évaluer l’efficacité des différentes coupes présentées ci-dessus. Nousavons donc imaginé différents scénarios pour obtenir des temps d’exécution dans plu-sieurs configurations de la méthode.

Les configurations envisagées sont caractérisées par les coupes que l’on génère (bi-partition1 dénote les coupes de bipartition isolant un nœud alors que bipartition2 signi-fie toutes les coupes de bipartition) et les endroits où on les génère :

– S1 : bipartition1 à la racine et métriques à tous les nœuds ;– S2 : bipartition1 + Gomory à la racine et métriques à tous les nœuds ;– S3 : bipartition1 + MIR à la racine et métriques à tous les nœuds ;– S4 : bipartition1 + Gomory + MIR à la racine et métriques à tous les nœuds ;– S5 : bipartition2 à la racine et métriques à tous les nœuds ;– S6 : bipartition2 + Gomory à la racine et métriques à tous les nœuds ;– S7 : bipartition2 + MIR à la racine et métriques à tous les nœuds ;– S8 : bipartition2 + Gomory + MIR à la racine et métriques à tous les nœuds.

instance scénario temps (en sec) nœuds évalués nœuds parcourusl2n6e15m2.1 S1 407 5227 5444

S2 381 1018 4954S3 443 1331 5901S4 318 611 4499S5 828 3203 6670S6 877 5800 6225S7 806 3203 6670S8 797 1985 6508

l2n6e15m2.2 S1 721 1185 9600S2 634 3841 8709S3 1163 7031 14311S4 551 3559 7598S5 3071 10672 24866S6 3281 9580 22625S7 2978 10256 23670S8 2842 8203 21496

FIG. 4.6 – Résultats obtenus suivant les scénarios

Il faut tout d’abord noter qu’à cause de la fin prématurée du stage peu d’instancessont présentées dans ce document. Cependant, nous pouvons tout de même tirer desconclusions intéressantes de la figure 4.6.

Premièrement, nous remarquons que les scénarios impliquant toutes les coupes debipartition (bipartition2) sont moins rapides que ceux impliquant seulement les coupesde bipartition isolant un nœud (bipartition1). Il semble donc que les secondes soientplus efficaces, bien que moins nombreuses.

D’autre part, les meilleurs temps d’exécution sont obtenus lorsqu’un maximum decoupes sont ajoutées à la racine de l’arborescence. Notre intuition paraît donc vérifiée :il est important d’avoir une bonne borne inférieure du coût optimal dès le début duparcours de l’arborescence.

41

Mémoire de fin d’études Benoît MERLET

4.2.3 Bilan et autre approche

En comparaison avec la méthode présentée dans la thèse de mon encadrant, ma mé-thode est moins efficace en ce sens qu’elle ne permet pas de dimensionner des réseauxaussi étendus. Mais les deux méthodes différent sur plusieurs points. Tout d’abord, lelangage de programmation ainsi que les bibliothèques de Recherche Opérationnelle uti-lisés ne sont pas les même : C++ et COIN pour ma méthode, Java et CPLEX pour celle demon encadrant. Ensuite, les problèmes envisagés ne sont pas identiques étant donnéque j’intègre la notion de sécurisation. Enfin, les algorithmes implémentés différent :mon encadrant utilise un processus itératif de génération de contraintes basé sur ladécomposition de BENDERS alors que j’utilise un branch-and-cut.

Comme on l’a déjà vu dans ce chapitre, le point faible de ma méthode est dû aux faitsque le problème que je veux résoudre intègre la notion de sécurisation et que j’utiliseun branch-and-cut. En effet il faut alors parcourir au minimum une fois tous les casde pannes à chaque évaluation d’un nœud ce qui prend du temps. Nous avons doncessayé de générer des contraintes moins souvent, et plus précisement, uniquement auxfeuilles de l’arborescence, c’est-à-dire une fois que toutes les variables sont fixées. Celaa eu pour effet de parcourir beaucoup plus de nœuds, mais moins de temps était perdudans le générateur d’inégalités métriques intégré en chacun des nœuds. Cependant, unproblème s’est posé avec Cbc : les solutions fournies n’étaient pas réalisables. Cette ap-proche a donc été abandonnée.

42

Mémoire de fin d’études Benoît MERLET

43

Chapitre 5

Conclusion

5.1 Intêrets généraux du stage

Tout d’abord, comme je l’ai déjà dit, le but de ce stage était de créer une méthodeexacte de résolution du problème de dimensionnement de réseau multicouche et sécu-risé qui n’a pas encore d’équivalent dans l’existant. J’ai de plus eu à implémenter cetteméthode en vue de la tester et de l’évaluer. Il s’agissait également de procéder à uneétude exploratoire pour trouver des inégalités valides (classiques, ou plus exotiques)pour améliorer la convergence du branch-and-cut et de proposer des algorithmes pourles générer. De ce point de vue, mon travail a apporté à la communauté scientifique dela recherche Opérationnelle.

D’autre part, ce stage orienté recherche était en fait l’application d’enseignementsthéoriques de recherche opérationnelle à un problème concret, celui du dimensionne-ment de réseau. Il est évident que pour un opérateur de télécommunications commeFrance Télécom ce problème concret constitue un enjeu majeur pour l’entreprise puisqueles solutions obtenues sur les instances particulières représentant son réseau lui per-mettent d’élaborer des stratégies opérationnelles de planification.

5.2 Apports personnels

Ce stage apporte une conclusion plus que positive à mon cycle de formation d’in-génieur à l’IIE. Il m’a permis de donner de solides fondements à la fois théoriques etpratiques à la formation dispensée par l’école. Les apports sont nombreux tant du pointde vue technique que scientifique et méthodologique.

En l’occurrence, ce stage dont la dominante principale est le dimensionnement deréseaux de télécomunications, a été le point de concours de nombreuses disciplinesqui ont parsemé ma formation à la fois à l’IIE, mais aussi au Master STIC parcoursRecherche Opérationnelle du CNAM : réseaux informatiques, théorie des graphes, re-cherche opérationelle. En outre, de par la nature des travaux à réaliser, il a entraîné lamise en œuvre de techniques, outils et langages de programmation.

Enfin, ce stage m’a apporté personnellement par rapport à la formation dispensée àl’école, mais aussi par rapport au métier d’ingénieur en informatique. Je pense notam-ment à l’approfondissement de la connaissance du milieu de l’entreprise et du travaildans un laboratoire de recherche. Mais l’apport à mon avis essentiel reste l’apprentis-sage de la manière de réagir face à un problème, ici dans le domaine des mathématiquesappliquées : avoir une vision d’ensemble pour construire un modèle, déterminer des mé-thodes de résolution, les implémenter, puis les améliorer.

44

Mémoire de fin d’études Benoît MERLET

45

Bibliographie

[AGW97] D. ALEVRAS, M. GRÖTSCHEL et R. WESSÄLY – Capacity and Survivability Mod-els for Telecommunication Networks, rapport technique de l’institut Konrad-Zuse-Zentrum für Informationstechnik, 1997.

[BCGT95] D. BIENSTOCK, S. CHOPRA, O. GÜNLÜK et C-Y. TSAI – Minimum Cost CapacityInstallation for Multicommodity Network Flows, Math. Programming, 81:177–199,1995.

[DFPS01] A. DEZA, K. FUKUDA, D. PASECHNIK et M. SATO – On the Skeleton of the MetricPolytope, Lecture Notes in Computer Science, 2098 Springer Verlag, Berlin, 125–136,2001.

[DL97] M. DEZA et M. LAURENT – Geometry of Cuts and Metrics, Springer, Algorithmsand Combinatorics 15, 1997.

[GKM99] V. GABREL, A. KNIPPEL et M. MINOUX – Exact solution of multicommodity net-work optimization problems with general step cost functions, Operations ResearchLetters, 25:15–23, 1999.

[GM95] M. GONDRAN et M. MINOUX – Graphes et algorithmes, Eyrolles, 1995.

[Gu98] O. GÜNLÜK – A Branch-and-Cut Algorithm for Capacitated Network Design Prob-lem, 1998.

[KL04] A. KNIPPEL et B. LARDEUX – The Multi-Layered Network Design Problem, Euro-pean Journal of Operations Research, 2004.

[La05] B. LARDEUX – Conception de réseaux de télécommunications mutlicouche et évo-lutif, PhD thesis, Université de Technologie de Compiègne, 2005.

[LGK03] B. LARDEUX, A. KNIPPEL et J. GEFFARD – Efficient Algorithms for Solving the 2-Layered Network Design Problem, Proceedings of International Network OptimizationConference, 367-373, 2003.

[Mi01] M. MINOUX – Discrete Cost Multicommodity Network Optimization Problems andExact Solution Methods, Annals of Operations Research, 106:19–46, 2001.

[On70] K. ONAGA – A Multi-Commodity Flow Theorem, Electronics and Communicationin Japan, 53-A(7):16–22, 1970.

[OW04] S. ORLOWSKI et R. WESSÄLY – An Integer Programming Model for Multi-LayerNetwork Design, rapport technique de l’institut Konrad-Zuse-Zentrum für Information-stechnik, 2004.

[Ph04] T.T.L. PHAM – Optimisation et Conception de Réseaux Sécurisés, PhD thesis,Université de Technologie de Compiègne, 2004.

[SD94] M. STOER et G. DAHL – A polyhedral approach to multicommodity survivablenetwork design, Numerische Mathematik, 68:149–167, 1994.

46

Mémoire de fin d’études Benoît MERLET

47

Annexe A

Démonstrations

A.1 Condition nécessaire et suffisante d’existence d’unmultiflot compatible

Rappelons tout d’abord les notations utilisées :– xe est la capacité du lien e ∈ E,– dk est la valeur de la demande entre sk et tk,– qk est le nombre de chemins élémentaires entre sk et tk,– (P k

j ) est le vecteur caractéristique du j-ème chemin entre sk et tk,– fk

j est la quantité du flot k qui emprunte le chemin (P kj ).

Le problème d’existence d’un multiflot f compatible avec x est alors équivalent àtrouver une solution au système d’inéquations suivant :

m0∑k=1

qk∑j=1

P kj (e) fk

j ≤ xe ∀ e ∈ E (1)

−qk∑

j=1

fkj ≤ −dk pour 1 ≤ k ≤ m0 (2)

fkj ≥ 0 pour 1 ≤ k ≤ m0 et 1 ≤ j ≤ qk

Si on note P k la matrice [P k1 , . . . , P k

qk], on peut traduire le système précédent matri-

ciellement :

P 1 P 2 · · · Pm0

−1−1

. . .−1

· f ≤

x

−d

Associons alors un multiplicateur µe ≥ 0 à chacune des contraintes de type (1) et unmultiplicateur πk ≥ 0 à chacune des contraintes de type (2). En Appliquant ensuite lelemme de FARKAS-MINKOWSKI, il existe un multiflot compatible si et seulement si on ala condition (C) suivante :

(C) ∀µ ≥ 0, ∀π ≥ 0, on a ∀ k, µ · P k − πk ≥ 0 =⇒ µ · x− π · d ≥ 0

48

Mémoire de fin d’études Benoît MERLET

Mais on remarque que

µ · P k − πk ≥ 0 =⇒ πk ≤ minj

{µ · P k

j

}

Pour que la condition (C) soit vérifiée, il faut et il suffit qu’elle le soit dans le cas leplus défavorable, c’est-à-dire lorsque :

πk = minj

{µ · P k

j

}= l∗k(µ)

l∗k(µ) n’étant rien d’autre que la longueur du plus court chemin entre sk et tk dans legraphe G muni des longueurs µe sur ses arêtes.

À partir de là, on en déduit facilement le théorème qui suit.

Théorème :Une condition nécessaire et suffisante pour qu’il existe un multiflot f qui route lesdemandes d et qui soit compatible avec les capacités x est que :

∀µ ∈ R|E|+ ,

∑e∈E

µe xe ≥m0∑k=1

l∗k(µ) dk

A.2 Identité des ensembles X∗ et X

On cherche à montrer que X∗ = X avec

X∗ =

x ∈ R|E|+ tel que ∀µ ∈ R|E|

+ on a∑

(i,j)∈E

µij xij ≥∑

(i,j)∈E0

l∗ij(µ) dij

X =

x ∈ R|E|+ tel que ∀λ ∈Metn on a

∑(i,j)∈E

λij xij ≥∑

(i,j)∈E0

λij dij

Première inclusion : X∗ ⊆ X

Soit x ∈ X∗ et vérifiant donc

∀µ ∈ R|E|+ ,

∑(i,j)∈E

µij xij ≥∑

(i,j)∈E0

l∗ij(µ) dij

Cette inégalité est aussi satisfaite ∀λ ∈Metn puisque c’est un cas particulier de µ ≥ 0.Soit donc λ ∈Metn.

Pour que l’on ait x ∈ X il faut démontrer que λij = l∗ij(λ). On a évidemment l’inégalitéλij ≥ l∗ij(λ) puisque l∗ij(λ) est la longueur du plus court chemin entre i et j dans G munides longueurs λe.

De plus, si p est un chemin reliant i à j et si l’on note lpij(λ) la longueur de ce chemin,on peut prouver par récurrence sur le nombre d’arêtes de p que λij ≤ lpij(λ). La propriétéest trivialement vérifiée par les chemins composés d’une seule arête et en supposant

49

Mémoire de fin d’études Benoît MERLET

qu’elle soit vraie pour tout chemin de k arêtes, il s’agit de montrer qu’elle est vérifiée partout chemin de k + 1 arêtes.

Soit donc q un chemin de k + 1 arêtes. Il peut être découpé en deux portions : unchemin p de k arêtes et une arête (l, j). Par hypothèse de récurrence et puisque λ ∈Metn,on a alors :

lqij(λ) = lpil(λ) + λlj ≥ λil + λlj ≥ λij

Au final, λij est une borne inférieure de la longueur des chemins reliant i à j, et parconséquent, on a aussi l’inégalité λij ≤ l∗ij(λ).

Seconde inclusion : X ⊆ X∗

Raisonnons par l’absurde : supposons que ∃x ∈ X tel que x /∈ X∗. On a donc :

∃µ ∈ R|E|+ , tel que

∑(i,j)∈E

µij xij <∑

(i,j)∈E0

l∗ij(µ) dij

Construisons alors λ′

tel que ∀ (i, j) vérifiant 1 ≤ i < j ≤ n on ait λ′

ij = l∗ij(µ). Onprouve facilement que λ

′ ∈Metn et que λ′

ij ≤ µij. On a alors :∑(i,j)∈E0

λ′

ij dij =∑

(i,j)∈E0

l∗ij(µ) dij >∑

(i,j)∈E

µij xij ≥∑

(i,j)∈E

λ′

ij xij

ce qui constitue une absurdité en contredisant le fait que x ∈ X.

50