Académique Documents
Professionnel Documents
Culture Documents
THESE DE MAGISTER
discipline : Informatique
FOUROUR Said
Octobre 2011
Modélisation et Optimisation
dans les Réseaux MPLS
Composition du Jury :
Président BENHAMAMOUCHE Djilali
Professeur, Université d'Oran, Es-senia
Key words : New Network Generation, Quality Of Service , MPLS, Branch And
Bound, Linearisation.
Table des matières
Introduction générale 1
I Etat de l'art 4
i
ii
3 Modele de reseau 50
3.1 Eléménts du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.1 Les liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.2 Les chemins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 Les coûts associés aux chemins . . . . . . . . . . . . . . . . . . 52
3.1.4 Les demandes . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.5 Les ots par chemin . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.6 La contrainte de satisfaction de la demande . . . . . . . . . . . 53
3.1.7 La contrainte sur la capacité . . . . . . . . . . . . . . . . . . . . 54
3.1.8 La contrainte sur le délai par chemin . . . . . . . . . . . . . . . 54
3.1.9 La contrainte de débit maximal . . . . . . . . . . . . . . . . . . 55
3.1.10 Domaines des variables . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.11 La fonction objectif . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.12 Les coûts des chemins . . . . . . . . . . . . . . . . . . . . . . . 57
3.1.13 Formulation du problème . . . . . . . . . . . . . . . . . . . . . 57
3.2 Nature du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
iii
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
II Contributions 60
Conclusion Générale 83
Annexe A 84
1 Eléments de base du langage AMPL [3] . . . . . . . . . . . . . . . . . . 84
Annexe B 87
1 Fichier modèle AMPL du modèle non linéaire . . . . . . . . . . . . . . 87
2 Fichier modèle AMPL du modèle linéaire . . . . . . . . . . . . . . . . . 88
3 Fichier modèle AMPL du modèle relaxation linéaire . . . . . . . . . . . 89
4 Fichier Data AMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Bibliographie 92
Introduction générale
Ce travail est né de la curiosité qu'a suscitée chez nous l'apparition de la technologie
MPLS dans le domaine des réseaux. En s'intéressant de prés à ce protocole, On s'est rendu
compte qu'il constituait la pierre angulaire des nouvelles architectures de réseaux dites
de nouvelle génération qui intègrent voix, données et vidéo et supportent des applications
multiples, xes ou mobiles, adaptables à l'utilisateur et aux capacités croissantes et variées
des réseaux d'accès et des terminaux.
L'idée était de voir dans quelle mesure la technologie MPLS [15] améliorerait le routage
(commutation), par voie de conséquence la qualité de service se trouve améliorée, par
rapport à la complexité de MPLS.
Par la suite, notre véritable objectif est d'améliorer ses performances en exploitant les
techniques récentes d'optimisation mathématique [37, 41].
En eet, la littérature [4] conrme la complexité de la qualité de service proposée par le
protocole MPLS. Nous pensons que la thèse de Becker [4] a présenté le modèle le plus com-
plet sur la problématique de dimensionnement et de reconguration des réseaux MPLS.
La technologie Mpls (Multi Protocol Label Switching) a permis d'améliorer considérable-
ment l'architecture et les protocoles de routage Ip. En eet, dans le routage IP classique,
le relayage des paquets est eectué indépendamment au niveau de chaque routeur du
réseau et il est basé uniquement sur l'adresse destination contenue dans l'entête. Le plus
court chemin, au sens d'une certaine métrique, vers la destination est choisi en exploitant
les protocoles de routage distribués. Par conséquent, quand les ressources disponibles sur
le chemin le plus court ne sont pas susantes la qualité et la performance se dégradent.
L'un des aspects clefs de MPLS est une abstraction de la connectivité : des chemins de
routage point à point explicites peuvent être établis en utilisant des mécanismes de re-
layage (commutation) basés sur les étiquettes. Cela permet une sélection de chemins par
ot et la prise en compte des paramètres de la qualité de service dans les algorithmes de
routage.
L'exigence de QOS d'une connexion peut être vue comme des contraintes sur un ensemble
de liens, c.à.d. en exigeant par l'utilisateur, pour une connexion donnée qu'il y ait su-
samment de bande passante sur le chemin sélectionné.
La capacité exigée au niveau de la couche Mpls est fournie par le réseau de transport
sous-jacent qui peut éventuellement être basé sur SDH, WDM, Frame Relay ou ATM,
selon le débit des liens.
Le réseau peut être dédié entièrement à Mpls ou alors et c'est souvent le cas, il est partagé
avec d'autres services tels que la téléphonie.
Dans cette architecture de réseau, quelques noeuds ou tous doivent supporter à la fois
1
2
logique minimisant le nombre total de chemins LSP établis entre les routeurs MPLS et le
délai global dans le réseau sous la contrainte de délai sur chaque chemin de bout en bout
, une fois donnée la topologie physique du réseau. Le modèle de [4] y est expliqué avec
détails.
Et enn, Les chapitres 4 et 5, où l'on présente notre contribution : le processus de li-
néarisation d'un terme quadratique qui intervient dans la fonction objectif et dans l'une
des contraintes du problème ainsi que la proposition d'une nouvelle fonction objectif. Le
chapitre 5 présente une étude expérimentale des modèles mathématiques exposés.
Enn, nous terminons ce mémoire avec une conclusion et des perspectives.
Première partie
Etat de l'art
4
Chapitre 1
Migration Vers les Réseaux nouvelle
génération
Au cours de ces dernières années, Internet a évolué et a inspiré le développement de
nouvelles variétés d'applications. Ces applications ont des besoins grandissant en termes
de bande passante et de sécurité de service. En plus des données traditionnelles, Internet
doit maintenant transporter voix, video et données multimédia. Les ressources nécessaires
pour ces nouveaux services, en termes de débit et de bande passante, ont entraîné une
transformation de l'infrastructure d'Internet. Cette transformation du réseau, d'une in-
frastructure par paquets à une infrastructure en cellules, a introduit de l'incertitude dans
un réseau jusque-là déterministe.
5
1.1. Réseaux nouvelle génération [38] 6
MPLS est donc une solution prometteuse parce qu'elle permet d'intégrer très facile-
ment des nouvelles technologies dans un coeur de réseau existant.
En eet, sa faculté à interagir avec la majorité des protocoles réseaux existants anciens
et nouveaux fait de lui le meilleur allié pour assurer la transition vers les réseaux NGN.
Dans ce chapitre, nous présenterons l'architecture des réseaux NGN, ainsi que celle du
protocole MPLS et nous montrerons le rôle joué par ce protocole dans ce genre de réseaux.
Nous présenterons les protocoles de l'ancienne génération et de la nouvelle génération qui
sont impliqués dans les NGN.
Application Application
Server Server
APPLICATION
SIP SIP
Softswitch
CONTROL
SIP
SIP
Cable
Routeur
UMTS
Wifi Media Gateway
Transport IP
ACCES
Depuis quelques années, les laboratoires des constructeurs et les organismes de stan-
dardisation se penchent sur une nouvelle architecture réseau (NGN) pour répondre aux
exigences suivantes :
Un c÷ur de réseau unique pour tous types d'accès et de services.
Une architecture de c÷ur de réseau décomposée en trois couches : Transport, Contrôle
et Services.
Une évolution du transport en mode paquet (transport des ux IP) en IP natif, ou
sur ATM à court terme avec une convergence progressive vers IP.
Des interfaces ouvertes et normalisées entre chaque couche, et notamment au niveau
1.2. Equipements spéciques des réseaux NGN 8
SS7 Network
Signaling
Gateway
SIP/H.323
SIGTRAN Softswitch
SIP/H.323
Media MGCP/H.248
Gateway
IP Network
POTS/Mobile
Network
1.2.1 Softswitch
Dans une infrastructure NGN, un softswitch n'est autre qu'un serveur informatique,
doté d'un logiciel de traitement des appels vocaux. Le trac voix est en général paquetisé
par le media Gateway, et pris en charge par les routeurs de paquets du réseau de l'opéra-
teur.
Un softswitch va identier les paquets voix, analyser leur contenu pour détecter le numéro
vers lequel ils sont destinés, confronter ces numéros avec une table de routage (qui indique
ce que le softswitch doit faire en fonction de chaque numéro), puis exécuter une tâche (par
exemple transmettre ou terminer).
tation circuit et le réseau de commutation de paquets. Dans ce cas, les media Gateway
transforment le trac circuit TDM en paquets, la plupart du temps IF, pour que ce trac
puisse ensuite être géré par le réseau NGN.
An d'atteindre ces objectifs,une conception en couches avec des interfaces ouvertes s'im-
pose, comme pour le modèle OSI et les diérentes architectures réseaux existantes. [38]
préconise une architecture NGN constituée de trois couches :
1.3. Architecture des réseaux NGN 10
SERVICE LAYER
NETWORK CORE
OPEN AND
NORMALIZED
INTERFACES
CONTROL LAYER
OPEN AND
NORMALIZED
INTERFACES
TRANSPORT LAYER
TERMINALS
Couche Transport
les aspects considérés à ce niveau sont l'acheminement des paquets avec les fonctions
de trac engineering associés. Le couple RNIS comme technologie d'acces et ATM comme
technologie de transport a suscité beaucoup d'espoir au début, mais les services prévus
autour de la technologie ATM sont conçus pour ne fonctionner que sur ATM comme
technologie de transport, ce qui a freiné leur essort. En vertu des infrastructures existantes,
IP est donc inévitable malgrés ses carences en trac engineering. MPLS est un moyen
directe de palier à ces carences.
Couche Contrôle
Parmi les nombreux services à integrer dans l'infrastructure NGN, les services temps
réels tels que les appels vocaux et les applications vidéo nécessitent des fonctions de
contrôle avancées qui doivent être intégrées à l'architecture, précisement au niveau de la
1.4. Le coeur des réseaux NGN 11
Couche Services
L'évolution des technologies d'accés (plus de bande passante est mise à la disposition
des clients) et des capcités des terminaux a rendu possible l'accés à des services de dif-
férentes nature(accées aux données traditionnelles tels que le web,mail, news,...etc d'une
part et les accés audio et vidéo d'autre part). Ces préoccupations sont prises en charge au
niveau de la couche services. Deux grandes tendances apparaissent pour la mise en oeuvre
de services portables et adaptables sur des terminaux diérents :
Services basés sur le Switch logiciel (SoftSwitch) : modèle adapté pour les services
Télécom nécessitant un forte participation des entités de contrôle.
Les "Web Serrvices" : Ce modèle est basé sur les protocoles utilisés dans l'internet
XML et SOAP.
Applications
IP
MPLS
Frame
Relay
ETHERNET
ATM POS
GMPLS
SDH/PDH
WDM
COPPER COAX
OPTICAL FIBER
Applications
Voice
Voice
(Data,VoIP,...)
AAL AAL
ATM
ATM ATM ATM
la couche AAL (ATM Adaptation Layer) adapte les ux d'informations à la structure
des cellules et fait le lien avec les couches applicatives ;
la couche ATM assure la communication et le multiplexage des cellules ;
la couche Physique ou PMD (Physical Medium Dependent) assure l'adaptation au
support utilisé.
Le modèle est en trois dimensions, dénissant 3 plans :
un plan utilisateur pour transférer les informations venant des applications des uti-
lisateurs ;
un plan de contrôle lié aux problèmes de signalisation ;
un plan de gestion responsable de la gestion et de la coordination des diérents
plans.
Couche physique Cette couche a pour rôle de convertir les ux de données en cellules
et de gérer la commutation et le multiplexage de celles-ci. Le trac utile (voix, vidéo,
images et données) est encapsulé dans les cellules de 53 octets pour être véhiculé sur le
réseau.
La couche ATM est complètement indépendante du support physique utilisé pour trans-
porter les cellules.
(e) trois bits sont consacrés à la dénition du type de la charge utile (PTI, Payload
Type Identication) et permettent de dénir s'il s'agit d'informations utilisa-
teur (indication de congestion, données de type 0 ou 1) ou de messages de
service du réseau (maintenance, gestion des ressources du réseau) ;
(f) un bit de référence à l'écartement (CLP, Cell Less Priority) mis à 1 dans les
cellules transportant des données de moindre importance pouvant être rejetées
en cas de congestion du réseau ;
(g) un octet pour la détection des erreurs et la correction des erreurs simples por-
tant sur l'en-tête (HEC, Header Error Check) et géré par la couche physique.
2. Fonctions de la couche ATM La couche ATM assure quatre fonctions essentielles :
(a) la commutation consistant en un traitement sur l'en-tête de la cellule (champs
VPI et VCI). Ces champs sont soit insérés soit extraits et traduits an d'ai-
guiller correctement la cellule ;
(b) le multiplexage-démultiplexage des cellules consistant principalement en une
gestion de les d'attente ;
(c) l'extraction ou l'ajout de l'en-tête devant le champ d'information avant de la
transmettre à la couche d'adaptation AAL ou à la couche physique ;
(d) un mécanisme de contrôle de ux peut être implémenté par l'intermédiaire du
champ GFC, pour l'interface utilisateur-réseau.
3. Routage des cellules Les informations sont transportées par des circuits virtuels
(VC) regroupées dans des chemins virtuels (VP)Les chemins virtuels représentent
des conduits reliant des commutateurs dans un réseau maillé.
Le commutateur est l'élément de base permettant d'orienter correctement les cellules
dans le réseau. Il agit en fonction des valeurs des indicateurs VPI et VCI contenus
dans les cellules et à l'aide de tables de routage, an de modier en conséquence
l'en-tête de la cellule et mettre en correspondance un port d'entrée avec un port de
sortie .
Parmi les 5 classes prévues, 2 sont principalement implémentées dans les équipements la
classe 1 pour l'émulation de circuit et la classe 5 pour les données informatiques et la
vidéo numérique.
1. AAL type 1 Elle est utilisée pour les communications de type voix. Seul un octet
de la charge utile est occupé par l'en-tête .
Le bit CSI (Convergence Sublayer Information) est utilisé pour délimiter les blocs
de données ou pour le calage de l'horloge du récepteur ;
Les 3 bits SNC (Sequence Number Counter) servent à numéroter, modulo 8, les
cellules ;
Le CRC (Cyclic Redundancy Check) et le bit de parité Pty (Parity bit) permettent
une détection des erreurs.
2. AAL type 5 Cette classe est employée pour transmission des données numériques,
y compris la vidéo au format MPEG. Elle transporte des blocs de données jusqu'à
64 Koctets. Ceux-ci sont divisés en cellules de 48 octets (gure 8.44).
Par exemple, il pourra servir à connecter deux réseaux IPX qui sont distants géographi-
quement. À l'interne des réseaux, le protocole utilisé sera donc IPX mais FR servira pour
véhiculer les données entre les réseaux.
Le FR sert aussi à transporter du trac asynchrone, du SNA (protocole réseau inventé
par IBM) associé au réseau de type Token-Ring ou encore de la voix. En Amérique du
Nord, le FR prend rapidement la place du X25 du fait de la présence dans quasiment tous
les réseaux informatiques du protocole SNA. C'est ensuite que le poids de l'Ethernet aug-
mentant nous amène aujourd'hui à constater une quasi disparition du SNA. En Europe la
montée du FR date du début des années 90. C'est le X.25 allégé qui permet de connecter
plusieurs stations avec un lien ultra rapide et à petit prix.
Site 1
L=18
12.3.2.125
Ingress LER
LER LSR
L=18 L=10921
L=21
LSR
LSR Domaine
L=3
MPLS
LSR
LSR L=42
LSR Site 2
12.3.2.125
LER
Egress LER
Les LSR
le Label Switched Router est un routeur qui fait partie du domaine MPLS et qui est
donc capable de fonctionner avec le protocolProtocoles de routage internee MPLS. On
parle également de LER ( Label Edge Router) il s'git des routeurs de bordure, ceux par
qui un paquet accède à ou quitte un domaine MPLS. Un LER est un Ingress LSR s'il est
le premier routeur d'un chemin MPLS, c'est un Egress LSR s'il est le dernier d'un chemin
MPLS.
Les LSP
le Label Switched Path est un chemin dans un domaine MPLS ; il est composé de
LSR. Ces chemins sont établis grâce à protocole de distribution de labels
Le Label (étiquette)
Un label est un identiant qui a une siginication locale, utilisée pour identier une
FEC. Un label apposé à un paquet particulier désigne la FEC à laquelle est aecté le
paquet.
LABEL
L'entête MPLS se situe entre les entétes des couches liaison de données et réseau.
Chaque paquet doit donc être capable de transporter un label. Il y a deux façons de
réaliser ce transport : La première solution est celle qui est appliquée aux protocoles de
la couche liaison qui peuvent transporter des labels à l'intérieur même de leur header.
C'est le cas en particulier des protocoles ATM et Frame Relay (relais de trames). Dans
le cas du protocole ATM , le label sera transporté dans le champ VPI/VCI du header,
et dans le cas du Frame Relay, c'est le champ DLCI qui sera aecté à cette tâche. Pour
les protocoles ne pouvant pas utiliser cette méthode, le label sera transporté dans le "
Shim " label header qui sera inséré entre le header de la couche liaison et le header de la
couche réseau. Cette technique permet de supporter la technique du label switching sur
n'importe quel protocole de la couche liaison.
Il est composé de quatre champs :
Architecture fonctionnelle
D'un point de vue fonctionnement, MPLS repose sur deux plans princiaux : Plan
contrôle : constitué d'un ensemble de protocoles qui contrôlent les informations de routage
de niveau réseau en exploitant des protocoles tels que (OSPF, IS-IS ou BGP) et les labels
grâce à des protocoles comme (LDP : Label Distribution Protocol), BGP (utilisé par
MPLS VPN) ou RSVP (utilisé par MPLS TE) échangés entre les périphériques adjacents.
Le plan de données : est indépendant des algorithmes de routage et d'échange de labels.Il
repose sur l'utilisation d'une base appelée Label Forwarding Information Base (LFIB)
pour forwarder les paquets avec les bons labels, Cette base est remplie par les protocoles
d'échange de label.
LIB (Label Information Base) La première table construite par le routeur MPLS est
la table LIB. Elle contient pour chaque sous-réseau IP la liste des labels aectés par
les LSR voisins. Il est possible de connaître les labels aectés à un sous-réseau par
chaque LSR voisin et donc elle contient tous les chemins possibles pour atteindre la
destination.
1.5. Architecture MPLS [15] 21
Construction des tables L'instruction des structures de données eectuée par chaque
routeur LSR doit suivre l'algorithme ci dessous :
1.5. Architecture MPLS [15] 22
Plan de controle
OSPF: 10.0.0.0/8 OSPF: 10.0.0.0/8
OSPF
LDP: 10.0.0.0/8
LDP: 10.0.0.0/8 Label 24
Label 17 LDP
Plan de donnes
A B C D
IP:X Lab:25 Lab:47 IP:X
FIB sur A
X B 25 E
Réseau X
1
1
LIB sur B 1 L’examen de L’IP est effectué dans la FIB; Le paquet est labéllisé.
Protocoles de distribution des Labels Nous avons vu que le label switching s'eec-
tuait à partir des informations présentes dans les " Forwarding Tables ". Nous allons voir
maintenant comment ces tables sont construites. Un protocole de distribution des labels
est un ensemble de procédures par lesquelles un LSR en informe un autre des aecta-
tions label/FEC qu'il a faites. On dit que deux LSR sont en " label distribution peers "
lorsqu'ils utilisent un protocole de distribution de label pour échanger leurs aectations
label/FEC. L'architecture MPLS ne préconise pas l'utilisation d'un " Label Distribution
Protocol " en particulier. En fait, plusieurs protocoles ont été standardisés : Protocoles
existants et étendus an de supporter la distribution de labels : RSVP, RSVP-TE, BGP.
Nouveaux protocoles dénis dans le but de " distribuer les labels " :
Le protocole LDP LDP a été mis en place pour MPLS exclusivement dans le but
de distribuer les labels entre les diérents LSR.
Ce protocole présente deux grandes limitations :
Contraintes posées par le protocole de routage Les Lsp établis par le protocole LDP
sont contraints par le protocole de routage, car il est impossible de spécier des
routes autres que celles dénies par le protocole de routage.
Impossibilité de réaliser une réservation de ressources le protocole n'a aucun moyen
de spécier des Paramètres pour l'agrégat de trac a acheminer sur le LSP.
Il peut être souhaitable de rajouter d'autres fonctionnalités à un protocole de distribu-
tion des labels, comme par exemple le fait de pouvoir aussi sélectionner et réserver des
ressources dans le réseau le long d'un LSP. Pour cela il y a deux manières de procéder :
1.5. Architecture MPLS [15] 24
Le constraint-Based Routing
Limitation du routage classique Supposons que l'on veuille mettre en place un
LSP entre A et E et un autre entre F et I. Pour ce faire, LDP et OSPF(Open Shortest
Path First) seront utilisés.
C E
A
D
Routeur
B Routeur
Routeur
Routeur
F
Routeur G H I
Routeur Routeur
Routeur Routeur
utilisées. Les liens entre B et C et entre C et D, seront quant à eux sur-utilisés. Avec le
routage OSPF, résultant de la minimisation des métriques, les LSP sont établis sans tenir
compte de la charge du réseau.
Explicit Routing Il peut être intéressant de forcer un paquet à suivre une route
particulière qui est explicitement choisie au moment où le paquet entre dans le réseau (ou
même avant), au lieu que cette route soit l'aboutissement du routage dynamique habituel.
Ceci correspond au " Explicit Routing ". Avec " Explicit Routing ", il est possible de
sélectionner une autre route pour le LSP entre F et I, celle passant par G et H.
C E
A
D
Routeur
B Routeur
Routeur
Routeur
F
Routeur G H I
Routeur Routeur
Routeur Routeur
données. GMPLS est basé sur la notion de "label généralisé". Ainsi, Un label généralisé
peut représenter
. un brin unique de bre dans un faisseau,
. une bande unique de longueurs d'ondes dans une bre,
. une unique longueur d'onde dans une bande (ou une bre),
. ou un ensemble de Time-slots dans une longueur d'onde (ou une bre).
. Un label généralisé peut également porter un label qui représente un label MPLS
générique, un label Frame Relay ou un label ATM.
GMPLS est composé de trois principaux protocoles :
. Un protocole de signalisation : Resource Reservation Protocol with Trac Enginee-
ring extensions (RSVP-TE)
. Un protocole de routage : Open Shortest Path First with Trac Engineering exten-
sions (OSPF-TE)
. Un protocole de gestion des liens : Link Management Protocol (LMP).
présents dans les buers de l'interface de sortie en fonction des paramètres de QoS
associés aux ux. Cette opération peut être eectuée par diérents algorithmes tels
que le Leaky bucket (le plus simple) ou le Token Bucket (Principe du Sceau à
Jetons).
Le traitement diérentié de paquets est un concept relativement ancien dans l'In-
ternet. Il est présent dès l'origine du protocole IPv4 avec le champ ToS, mais une
dénition trop vague a limité son déploiement. Ce concept a été re-déni pour orir
un traitement adapté aux besoins très hétérogènes des applications.
RSVP est utilisé par une application pour demander au réseau d'assurer une
certaine qualité de service pour un ot donné. Ce même protocole sera utilisé par
les routeurs du réseau entre eux pour établir et maintenir les tables d'états liées
au ot.
RSVP comme identie des ots unidirectionnels et est conçu pour supporter les
échanges multicast aussi bien que unicast. La réservation de ressources est ini-
tialisée par le site destinataire du ot. L'émetteur du ot envoie régulièrement
des messages de contrôle "path" vers le ou les destinataires. Chaque destinataire
répond par un message "resv" dans lequel il indique les critères de la qualité de
service qui lui convient. Les ressources nécessaires, si disponibles, sont réservées
par les routeurs sur le chemin destinataire vers l'émetteur.
Dans le cas d'un ot multicast, les diérentes réservations concourantes sont agré-
gées. Dans le cas d'absence de message "path" pendant un certain temps, les
ressources réservées sont libérées. Les messages "path" et "resv" sont transmis
comme des datagrammes ordinaires en "best-eort".
Principes de fonctionnement
Le modèle DiServ apporte une QoS diérenciée pour chaque classe de service
(constituée d'une agrégation de micro-ux) selon un contrat prédéni (SLA, Ser-
vice Level Agreement) avec l'émetteur des ux de données. Ce contrat dénit un
ensemble de paramètres (bande passante garantie, pic de données acceptés, com-
portement en cas de non-respect du contrat. . . ) ainsi que les micro-ux associés à
chaque classe de service. On associe ensuite une SLA à un domaine DiServ. Un
1.6. La Qualité de service(QoS) [11, 18, 20] 31
SLA (Service Level Agreement) Le but de la QoS est d'orir un service approprié
pour chaque classe. Ce service est déni au sein d'un contrat appelé SLA entre un client
(l'émetteur des ux de la classe ou un autre domaine DiServ) et un opérateur. Lors
d'un contrat SLA pour une classe donnée, on dénit le type de service oert ainsi qu'un
ensemble de règles pour le conditionnement du trac .
Domaine Diffserv X
Domaine Diffserv Y
Routeurs d’extrmite
Routeurs intermediaires Routeurs intermediaires
relativement longue. En eet, la fourniture de routeurs et des liens entre ces routeurs
est coûteuse et prend du temps. Ces mises à jour sont opérées par semaine, par mois
ou voir par des années.
2. Le moyen terme (de quelques minutes à quelques jours ) : plusieurs cotrôles tombent
dans cette catégorie, par exemple, l'ajustement des paramètres des protocoles de
routage internes et/ou externes, l'établissement ou l'ajustement de LSP dans un
réseau MPLS an d'éviter à des classes de ux des routes congestionnées...etc
3. Le court terme (de quelques picoseconds à quelques minutes) : Cette catégorie
concerne les évenements et les traitements au niveau du paquet. L'observation se
fait dans un intervalle de temps de l'ordre de quelques RTD (Round Trip Delay = le
temps séparant l'émission d'un paquet et l'arrivée de son accusé de réception). Ces
mécanismes sont utilisés pour contrôler et/ou signaler la congestion aux extrémi-
tés d'une communication de telle façon qu'elles puissent ajuster la vitesse du trac
injecté dans le réseau.
de capacités diérentes. En eet, les routeurs ne sont pas capables de faire un partage de
charge tenant compte de la capacité des liens.
1.8 Conclusion
Cette étude nous a permis d'aborder les principales technologies participant ou sus-
ceptibles de participer à la mise en oeuvre D'un un réseau NGN. Nous avons notamment
insisté sur le protocole MPLS et ses capacités d'interopérabilité avec les techonologies
de coeur de réseau (ATM,FRAME RELAY, WDM, SDH,..etc.). Nous avons également
insisté sur la carence de l'IP en matière d'ingénierie de trac et le rôle de MPLS pour
pallier à ce défault.
Chapitre 2
Optimisation globale et les d'attente
Nombreux sont ceux parmi la communauté de la recherche opérationnelle qui se sont
intérêssé et s'intérêssent toujours à la résolution des problèmes d'optimisation par des
méthodes de recherche locale [4,13,31,32]. L'inconvénient de ces méthodes c'est de ne pas
pouvoir armer que l'optimum trouvé est bien l'optimum global. On peut même être loin
de celui-ci.
Nous nous intérêssons dans ce chapitre à la recherche de l'optimum global par des mé-
thodes "Branch and Bound"(ou algorithme par séparation et évaluation).
Un algorithme par séparation et évaluation, est une méthode générique de résolution de
problèmes d'optimisation, et plus particulièrement d'optimisation combinatoire ou dis-
crète.
C'est une méthode d'énumération implicite : toutes les solutions possibles du problème
peuvent être énumérées mais, l'analyse des propriétés du problème permet d'éviter l'énu-
mération de larges classes de mauvaises solutions. Dans un bon algorithme par séparation
et évaluation, seules les solutions potentiellement bonnes sont donc énumérées.
Dans ce chapitre, nous allons d'abord expliquer le fonctionnement des méthodes par sé-
paration et évaluation dans le cas de la programmation en nombres entiers à l'aide des
problèmes du sac à dos et celui du voyageur de commerce, ensuite nous expliquerons le
fonctionnement de la méthode dans le cas général et nous présenterons un algorithme
(QUADOPT) basé sur les techniques de relaxation linéaire et d'analyse par intervalles.
Nous terminons le chapitre par un exposé succint des notions les plus importantes des les
d'attente, notamment celles liées à la modélisation du temps d'attente dans un routeur
MPLS.
35
2.1. Cas de la programmation linéaire en nombres entiers [10] 36
Alors qu'il existe des algorithmes polynomiaux pour résoudre les problèmes de pro-
grammation linéaire en variables réelles (l'algorithme du simplexe n'en est pas un), ce
qui établit que ces problèmes sont polynomiaux, le problème de décision associé au pro-
blème de programmation linéaire en variables entières précédent est NP-complet. Parmi les
conséquences du fait qu'un problème est NP-complet gurent les propositions suivantes :
1. On ne connait pas d'algorithme polynomial pour résoudre ce problème.
2. Si l'on connaissait un tel algorithme, alors on aurait automatiquement des algo-
rithmes polynomiaux pour résoudre tous les problèmes de la classe NP, c'est à dire
à l'heure actuelle un trés grand nombre de problèmes répertoriés, venant d'horizons
divers et pour certains trés étudiés.
3. Avoir prouvé qu'un problème est NP-complet a des conséquence sur la façon dont
on cherche à le résoudre.
4. Lorsque l'on doit traiter des problèmes de grande dimension, on peut s'attendre à ce
que les algorithmes exactes ne reussissent pas à donner la solution optimale faute de
temps. On applique alors des méthodes dites heuristiques, qui sont censées donner,
en un temps raisonnable, une approximation de la solution ( sans que l'on puisse
parfois dire beaucoup sur la façon dont elles approchent l'optimum).
5. Pour les algorithmes exactes, on fera appel à des méthodes par séparation et éva-
luation, appelées aussi méthodes arborescentes ou encore branch and bound.
1. un principe de séparation,
2. un principe d'évaluation,
3. l'utilisation d'une borne ,
4. et une stratégie de développement.
Nous allons illustrer le principe de séparation seul à partir du problème du sac à dos.
Pour cet exemple nous pouvons appliquer les critères de branchement suivants :
1. Une première séparation sera eectuée selon les valeurs de x1 ; comme d'aprés la
contrainte , x1 ne peut prendre que les valeurs 0 ou 1, nous séparons l'ensemble
de toutes les solutions associées à la racine en deux sous-ensembles : l'un contient
toutes les solutions pour lesquelles x1 vaut 1 ;
2. une deuxième séparation sera faite de la même façon suivant les valeurs possibles
de x2 , à savoir 0 ou 1 ;
3. enn une troisième séparation aura lieu selon les valeurs possibles de x3 , 0, 1 ou 2 ,
sauf pour le sommet vide correspondant aux choix x1 = x2 = 1.
Le dessin suivant montre ce qu'est l'arborescence obtenue pour notre exemple. Les car-
rés y représentent les cas pour lesquels les trois variables sont entièrement déterminées.
Les sommets de l'arborescence barrés d'une croix en sont les sommets vides.
X1=0 X1=1
X2=1
X2=0 X2=1 X2=0
Dans une première stratégie appelée "en profondeur", on peut faire une construction en
profondeur d'abord en descendant dans les branches jusqu'à ce que l'on trouve un sommet
que l'on peut éliminer, auquel cas on remonte pour redescendre dans une autre direction
(s'il en reste). Si l'arborescence était connue explicitement, cette construction correspon-
drait à l'application d'un parcours en profondeur à cette arborescence. Cette façon de
procéder présente plusieurs avantages, principalement au niveau de la place mémoire :
l'encombrement en place mémoire est souvent relativement peu important, puisqu'il ne
faut conserver que la description de la branche qu'on explore(il n'est pas nécessaire de
conserver la description complète de l'arborescence) ; elle possède également des avantages
au niveau des accés disques(en eet bien souvent on ne peut traiter tout le problème, vu
sa taille en mémoire centrale) ; enn elle permet plus facilement d'exploiter, quand il y'en
a, des informations disponibles au niveau du sommet qu'on examine et au moins partiel-
lement utilisables pour les ls de celui-ci.
On peut aussi commencer par séparer les sommets qui ont l'évaluation la plus grande(pour
une maximisation) en suspectant que ce sont eux qui contiennent la solution optimale ;
cest dans le sommet de plus grande évaluation qu'on a l'espoir, justié ou non, de trou-
ver la meilleure solution. Cette stratégie de type "meilleur d'abord", peut, pour certains
problèmes, être plus rapide du fait qu'on essaie, à chaque itération, d'exploiter la direc
tion qui semble la plus prometteuse ; en revanche, la gestion de l'arborescence n'est pas
triviale et consomme généralement beaucoup de place mémoire.
2.1. Cas de la programmation linéaire en nombres entiers [10] 41
Enn, on peut envisager une exploration en largeur d'abord, mais cette méthode est
trés rarement implémentée pour des questions d'ecacité et d'encombrement de la mé-
moire.
15
X1=0 X1=1
S5
S2
X2=1
X2=0 X2=1 X2=0
S3 S6
13 S4
11.25 13.75
11.25 comme évaluation de S4. Celle-ci étant inférieure ou égale à la nouvelle borne, on
ne développe pas S4 et on remonte en S2 puis en S1, puisque aucun autre choix n'est
possible pour x2 au niveau de S2. Quand on arrive en S5, la contrainte fait qu'il n'y a
qu'une seule possibilité viable pour x2 : 0, ce qui donne S6. Les choix pour x3 , au niveau
de S6, conduisent soit à des solutions non réalisables, soit à un sommet S7 d'évaluation
exacte mais moins bonne que la borne actuelle. On interrompt donc l'exploration de S6,
on remonte en S5 où il n'y a plus de prolongement réalisable ,puis en S1 où, de même,
il n'y a plus de prolongement à envisager. On a donc terminé : le maximum cherché vaut
13 et est atteint par x2 = x3 = 1 .
P
∀u ∈ X, Pv∈X Xuv = 2
avec les contraintes ∀Y ⊂ X avec Y 6= X, (u,v)∈E,u∈Y,v∈Y Xuv = 2
∀(u, v) ∈ E, Xuv ∈ {0, 1}
connexe et comporte 2 arêtes, c'est qu'il contient au moins un sommet de degré stricte-
ment supérieur à deux.
Considérons un tel sommet et les i(i ≤ 3) arêtes e1 , e2 , ei auxquelles il est adjacent dans
H . Pour dénir le critère de séparation , remarquons , puisqu'un cycle hamiltonien est
un graphe dans lequel tous les sommets ont un degré égal à 2 , qu'on ne perd aucune
solution en considérant successivement celles qui ne contiennent pas e1 , puis celles qui ne
contiennent pas e2 ,..et ainsi de suite jusqu'à l'arête ei ; le sommet S de l'arborescence sera
donc séparé selon i branches. Chacune d'entre elles correspondant à l'interdiction d'une
des i arêtes ek (1 ≤ k ≤ 1).
On traduit la contrainte " ne pas contenir l'arête ek " par le fait de mettre le poids de ek
à l'inni dans le graphe courant G .
Un point faisable x = (x1 , x2 , ..., xn ) est un minimum local (ou solution locale) s'il
0 0 0 0
0 0
∀x = (x1 , x2 , ..., xn ), ∀i, |xi − xi | < ε, f (x) ≥ f (x )
Malgrés l'intérêt indiscutable du principe "Branch and Bound" sa mise en oeuvre dans
les problèmes continus présente des dicultés majeurs. Son application dans ce genre de
problèmes est qusiment prohibitive.
Cependant, ce principe resuscite l'intérêt de nouveau grâce aux progrés récents enregistrés
dans les techniques de relaxation linéaire et dans les techniques d'analyse par intervalles.
En eet, l'association de "Branch and Bound" à ces nouvelles techniques a permis de
2.2. Cas de la programmation non linéaire mixte MINLP [28, 29] 45
développer des méthodes trés ecaces de résolution globale. QUADOPT [28] est un al-
gorithme basé sur l'association de ces techniques.
Principe de l'algorithme
1. A partir d'un problème P , On détermine une relaxation linéaire R qui contient
forcément toutes les solutions de P .
2. La relaxation linéaire est construite de manière à simplier la résolution (on peut
par exemple utiliser l'algorithme du simplexe).
3. La solution L obtenue de R représente un minorant pour le minimum global O
(L ≤ O).
4. Un algorithme de recherche locale est utiisé pour déterminer un minimum local U
qui est un majorant de l'optimum O (U ≥ O). La gure 2.3 est une illustration
graphique de l'encadrement de l'optimum par L et U .
0
x
5. Lorsque U − L est aussi petit que l'on veut ou ne peut être rendu plus petit, on
considère l'optimum global atteint. Dans le cas contraire, l'espace de recherche cou-
rant est séparé en deux sous espaces qui vont correspondre à deux sous problèmes
indépendants P1 et P2 .
Le test d'arret qui permet de donner la solution globale risque de nous induire en erreur
lorsqu'on travaille sur les ottants. La gure 2.3 est une illustration de ce problème ex-
pliqué dans [28]. La communauté d'analyse par intervalles travaille sur la rigueur de la
résolution et s'est plus particulièrement intéressée au développement de méthodes pour
prouver la faisabilité des solutions. cet aspect est pris en charge dans l'algorithme détaillé
ci-dessous.
2.2. Cas de la programmation non linéaire mixte MINLP [28, 29] 46
f X 0 ← min(f¯X 0 , f¯∗ );
X ← Reduce(X ) ;
0 0
f X 0 ← LowerBound(X ) ;
0
if Proved then
S ← S ∪ Xp ;
end if
if X 6= φ then
0
0 0 0 0 0
(X1 , X2 ) ← Split(X ); L ← L ∪ (X1 , X2 );
end if
if L = φ then
(f ∗ , f¯∗ ) ← (+∞, −∞);
else 00 00
(f ∗ , f¯∗ ) ← (min(f X 00 : X ∈ L), min(f¯X 00 : X ∈ S))
end if
end while
L'algorithme reçoit, en entrée, l'ensemble X de tous les domaines de toutes les variables
du problème d'optimisation ainsi que la précision ε souhaitée pour le calcul de l'optimum
global.
En sortie, il délivre un encadrement [ f ∗ , f¯∗ ] de l'optimum et l'ensemble S des boites qui
encadrent les solutions prouvées faisables.
Dans la partie initialisation, l'ensemble des boites à traiter L recçoit la boite X (le
domaine des variables tout entier), l' encadrement de l'optimum c'est R tout entier,alors
que les solutions prouvées faisables ne sont pas encore connues.
Le traitement suivant est répété tant que la précision ε n'est pas encore atteinte :
(ligne 6) On choisit dans la liste L des boites à traiter la boite X ayant la plus
0
local dans X en utilisant les techniques de Hansen pour manipuler les systèmes
0
sous-déterminés. Si celui-ci existe, la nouvelle boite située entre la borne inf trouvée
précédemment et la borne sup(le minimum local trouvé) est ajoutée dans l'ensemble
des solutions prouvées faisables.
(lignes 11,12,13,14) si la recherche du minimum local échoue, ça veut dire qu'il
n' existe pas de solutions faisables dans X , auquel cas cette boite est éliminée. On
0
l'une des variables du problème et en divisant son domaine en deux sous domaines
donnant naissance à deux nouvelles boites qui seront ajoutées à l'ensembles des
boites à traiter L.
(ligne 18) à chaque ronde de traitement (choix et traitement d'une boite), l'algo-
rithme met à jour les deux bornes de l'intervalle susceptible de contenir le minimum
global : f ∗ reçoit la plus petite borne inférieure des boites restantes L(min(f X 00 :
00
X ∈ L)), f¯∗ reoitlapluspetitebornesuprieuredesboitesprouvesf aisablesS(min(f¯X 00 :
00
X ∈ S))
L'algorithme s'arrête lorsque la précision ε est atteinte.
2.4 Conclusion
Les problèmes connus dits de "sac à dos" et de "voyageur de commerce" nous ont
permis de présenter la méthode par séparation et évaluation dans le cas de la program-
mation linéaire en nombre entiers. Nous avons ensuite présenté la méthode dans le cadre
de l'optmisation globale et de variables continues. En n de chapitre, nous avons présenté
les les d'attentes. C'est l'essentiel des outils de modélisation et d'optimisation auquels
on a eu recours dans ce travail. Dans le chapitre suivant nous aborderons le modèle de
réseau objet de l'optimisation.
Chapitre 3
Modele de reseau
Introduction
Dans ce chapitre nous étudions le modèle mathématique pour l'optimisation de "layout"
dans un réseau à base de routeurs MPLS décrit dans [4]. Nous avons apporté plus d'ex-
plications et d'enrichissements là où nous avons jugé utile de le faire.
Le réseau physique est un coeur de réseau (Backbone) MPLS fournissant des lignes de
transmissions reliant des noeuds. Ces lignes de transmission ont des capacités physiques
associées.
conformément aux techniques de trac ingeneering dans le cadre du MPLS, nous iden-
tions les noeuds par des LSR (Label Switched Router) débutant et nissant des LSP
(Label Switched Path) à travers lequel le trac est mené de la source à la destination.
Les LSP peuvent être établis manuellement ou en utilisant des protocoles de signalisation
tels que CR-LDP ou RSVP-TE. Les LSP sont établis au dessus des lignes de transmission
reliant les noeuds, une part de la capacité disponible leur est allouée. [4]
50
3.1. Eléménts du modèle 51
c1
c2
(3.1)
C=
···
···
cM
.. . . . .
. A2 .. · · · .. Aq .. · · · · · · .. AQ
A= A1 (3.3)
avec 1 ≤ q ≤ Q et 1 ≤ i ≤ K
R.F = D
c'est la contrainte sur la demande.
X = A.F ≤ C
où hkq est une variable binaire indiquant si le chemin akq est utilisé ou pas.
H est une matrice unicolonne dénie par :
3.1. Eléménts du modèle 55
h11
···
hk11
..
.
h1i
(3.9)
H= ···
hki i
..
.
h1Q
···
k
hQQ
avec
si fqk > 0
1
hkq =
0 si non
fqk indique le ot(le débit) alloué sur un chemin k reliant une paire de noeuds q corres-
pondant à un LSP si celui-ci est utilisé. Cette variable est trés liée à hkq . lacontrainte sur
cette variable s'écrit :
fqk ≥ 0, 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
Cette fonction objectif tendra à minimiser la somme des variables binaires (relatives
au choix ou non des diérents chemins entre les paires de noeuds) pondérée par les coûts
de ces chemins.
La conguration (ou l'établissement) de ces chemins engendrent donc un coût pour l'opé-
rateur et qui est justement représenté par les valeurs de wqk . Par conséquent, l'optimisation
va aller dans le sens de minimiser le nombre de chemins qui receveront les ots constituant
la matrice de demandes.
Ceci aura pour eet de voir le délai de bout en bout des chemins reliant diérentes paires
de noeuds présenter une disparité élevée par rapport à la moyenne. ce qui va accentuer le
déséquencement des paquets à l'arrivée (au niveau du noeud récepteur).
En eet, dans une stratégie par paquet,ceux-ci vont emprunter des chemins ,avec des dé-
lais de bout en bout trés diérents, ils vont arriver dans le désordre total, ce qui impose
un reséquencement des paquets.
L'eet est moindre dans une stratégie par ot.
An de minimiser cette disparité, la fonction objectif suivante fait apparaître un terme
qui prend en compte le délai de bout en bout global du layout.
Q kq Q kq M
!
λakq,i
Minimiser
X X X X X
α hkq wqk + β k
hq
q=1 k=1 q=1 k=1
c − xi
i=1 i
provient de la modélisation du délai d'attente global dans le réseau par la théorie des les
d'attente. En eet, le délai nécessaire pour traverser un lien donné reliant deux noeuds
est modélisé par une le d'attente de type M/M/1 [21, 26, 41].
3.1. Eléménts du modèle 57
Il est obtenu de la manière suivante : pour chaque paire de noeuds et pour tous les chemins
LSP retenus pour cette paire, on comptabilise les délais moyens sur chaque arc composant
ce LSP. La minimisation de ce deuxième terme permet de tenir compte de la charge sur
l'ensemble des liens du réseau et permet de produire des "layouts" qui tendent à équilibrer
la distribution de la charge sur le réseau tout en gardant une complexité réduite.
α et β permettent de contrôler l'importance des deux termes l'un par rapport à l'autre.
Le paramètre λ quant à lui représente une taille moyenne des paquets.
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i
fqk (qui indiquent la quantité de ot alloué sur un chemin donné (k) reliant une paire
de noeuds donnée (q) si celui-ci est retenu dans la solution optimale) sont continues.
Les contraintes :
L' ensembles des contraintes relatives au délai de bout en bout est non linéaire :
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i
hkq ∈ {0, 1} 1 ≤ q ≤ Q et 1 ≤ k ≤ Kq
est linéaire
la contrainte de positivité des fqk
est linéaire
3.3. Conclusion 59
La fonction objectif :
Le terme
Q kq
!
c.a.d est linéaire
X X
t
W.H hkq wqk
q=1 k=1
Le terme
Q kq M
!
λakq,i
est non linéaire
X X X
hkq
q=1 k=1
c − xi
i=1 i
La fonction objectif et une partie des contraintes sont non linéaires, une partie des
variables est continue l'autre est entière ; il s'agit donc d'un probmlème MINLP(Mixed
Integer Non Linear Programing).
Le nombre de variables total du problème est de 2K , où K est le nombre de chemins total
du réseau. Ce nombre augmente exponentiellement avec la taille de celui-ci.
3.3 Conclusion
Le modèle mathématique développé dans ce chapitre correspondant au problème de
détermination d'un "layout" optimisé sur un réseau physique, montre qu'il s'agit d'un
problème NP-Complet.
Le problème inhérent est de trouver l'optimum en un temps borné. Les solutions envisa-
geables dans ce cas, sont des solutions approchées qui font l'impasse sur diérents aspects
du modèle. Les solutions obtenues sont plus ou moins acceptables selon l'interprétation
qu'on en fait dans le problème réel modélisé.
Dans le chapitre quatre nous discuterons les solutions proposées dans [4] ainsi que celles
que nos propositions.
Deuxième partie
Contributions
60
Chapitre 4
Ranement du modèle et linéarisation
Cette partie est consacrée à notre conribution, d'une part en proposant une alternative
pour la fonction objecif, d'autre part dans la méthode de résolution. En eet, au lieu de
chercher un minimum local par des méthodes de recherche approchées, la linéarisation de
la fonction objectif va nous permettre d'améliorer le temps de recherche en appliquant
l'algorithme QUADOPT [28] qui est un algorithme de recherche du minimum global, La
linéarisation permettant d'améliorer considérablement le temps de recherche.
Nous présentons les deux démarches de linéarisation que nous avons adoptées ainsi que le
modèle stochastique implémenté pour la génération de matrices de test.
A.F ≤ C
R.F = D
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
c − xi
i=1 i
61
4.2. Linéarisation du modèle 62
L'inconvénient évident de cette résolution réside dans la qualité de la solution fournie qui
peut être éloignée de la solution optimale. Justement, on propose ici de faire appel à des
solveurs d'optimisation globale garantissant l'optimalité de la solution. Dans le chapitre
suivant, nous ferons appel au solveur BARON [36].
A.F ≤ C
R.F = D
M
λakq,i
≤ θq , 1 ≤ q ≤ Qet1 ≤ k ≤ Kq
X
hkq
i=1
c i − x i
qui intervient à la fois dans la fonction objectif et dans la contrainte du délai entre chaque
paire de noeuds.
0 ≤ x i ≤ ci (4.2)
λ
0≤ <∞
ci − x i
On peut poser
λ
yi =
ci − x i
4.2. Linéarisation du modèle 63
On en déduit que
hkq prend ses valeurs dans {0, 1}. On peut d'ores et déjà écrire que :
1 si zqk > 0
k
hq =
0 si non
En eet zqk représente le délai d'attente sur le chemin LSP akq qui est certainement nul
si le hemin n'est pas utilisé et certainement positif dans le cas contraire.
Cette dépendance entre les variables zqk et hkq peut être exprimée dans les deux contraintes
suivantes :
k k
hq ≤ zq .M
&
k zqk
hq ≥ M
hkq ≤ zqk .M
zqk
hkq ≥
M
Ainsi le terme hkq .zqk se trouvera simplié en zqk dans l'expression de la fonction objectif
et dans la contrainte sur le délai. Il en resulte que :
zqk = rqk
4.3. Linéarisation du terme stochastique λ
ci −xi
64
est contrôlé par le coecient β . Ce terme est antagoniste au premier terme, dans la me-
sure ou le premier tend à obtenir un "layout" moins complexe, c'est à dire contenant le
moins de chemins LSP possibles ce qui aura pour eet de surcharger le peu de chemins
utilisés et, par conséquent, les liens les composant ; Alors que La minimisation du second
terme tendra à produire des solutions qui réduiront la charge sur les LSP et par voie de
conséquence sur les liens composant ces chemins.
En faisant l'hypothèse que ce terme pourrait varier linéairement, nous pouvons produire
le raisonnement suivant :
0 ≤ xi < ci (4.4)
λ λ
0≤ <
ci − x i ci
M M
X λ.akq,i X λ.akq,i
0≤ <
c − xi
i=1 i i=1
ci
ou encore
M M
X X λ.akq,i
0≤ λ.akq,i .yi <
i=1 i=1
ci
Posons
M
X
tkq = λ.akq,i .yi
i=1
λ.akq,i
Le domaine de tkq est alors : [0,
PM
i=1 ci [
Nous proposons la relaxation suivante :
Q kq Q kq
Minimiser α
X X X X
hkq wqk +β tkq
q=1 k=1 q=1 k=1
On note que MINLP trouve souvent un minimum local très rapidement. Cependant,
il existe plusieurs instances où les solveurs globaux améliorent nettement la solution pro-
posée par MINLP.
4.4 Conclusion
An de rendre possible le calcul de l'optimum global dans un temps borné, nous avons
tenté de raner le modèle de [4] de deux manières : en linéariusant le terme non linéaire
λakq,i
ci − x i
ensuite en faisant une relaxation linéaire qui élimine qui la variable xi . Dans le chapitre
suivant, nous évaluerons cette linéarisation et cette relaxation en appliquant des solveurs
connus dans le domaine.
Chapitre 5
Mise en oeuvre et expérimentation
Nous présentons d'abord, le laguage AMPL et le principe de fonctionnement de celui
là, les réseaux physiques qui ont servi de platforme de test et également l'implémentation
du modèle stochastique pour la génération de matrices de trac inspiré de [4] ainsi que la
génération des chiers AMPL correspondant aux instances du problème étudié.
On décrira,ensuite, les structures internes du programme de génération des matrices de
ots. Puis, on abordera en détail l'expérimentation des deux démarches que nous avons
proposées.
68
5.1. Concepts du Langage AMPL [3] 69
Un programme informatique qui produit une représentation de ces coecients dans une
forme compacte est appelé un générateur de matrices. Plusieurs langages de programma-
tion ont été conçus spéciquement pour écrire des générateurs de matrices [19], ainsi que
des langages généralistes ont été utilisés dans cette perspective. Plusieurs des dicultés
inhérentes à la translation du modèle mathématique vers la forme algorithmique peuvent
être surmontées par l'utilisation directe d'un langage de modélisation pour la program-
mation mathématique.
Un langage de modélisation est conçu pour exprimer un modèle mathématique dans une
forme pouvant être soumise directement à un ordinateur pour être traitée entièrement par
celui-ci sans avoir à écrire le moindre programme.
Les avantages des langages de modélisations sur les générateurs de matrices ont été abor-
dés en détail dans [19].
Nous décrivons Dans cette section un langage de modélisation trés utilisé dans la com-
munauté de la recherche opérationnelle, il s'agit du langage AMPL [35].
AMPL (Mathematical Programming Language) est un langage de modélisation algébrique
pour exprimer des problèmes d'optimisation linéaires et non-linéaires sur des variables dis-
crètes ou continues. Ce langage a été développé dans les laboratoires Bell, il consiste en
une notation commune et des concepts familiers proches de la forme algébrique.
Comparé aux langages précédents, AMPL est remarquable par la généralité de sa syntaxe
et par la similarité de ces expressions à la notation algébrique utilisée dans la rédaction
des modèles mathématiques.
Ampl en lui même ne peut être utilisé que pour spécier des classes de modèles de pro-
grammation mathématique. Pour une utilisation courante du langage, il doit être intégré
dans un système qui gère les données, les modèles et les solutions.
AMPL
MPS(text)
or Binary Interface Web Internet
File
Solvers
Cplex Minos loqo Solvers Neos
Server
E−Mail Internet
Solution File
Le translateur réalise ce travail en sept phases : analyse syntaxique, lecture des don-
nées, génération, collection, presolve et sortie.
1. Analyse La phase d'analyse lit le chier modèle et le transforme en un arbre des
expressions. Elle utilise un programme LEX pour l'analyse lexicale et un analyseur
produit par le générateur d'analyseur YACC. LEX t YACC simplient considéra-
blement le développement de langage.
2. Lecture La phase de la lecture des données permet de contrôler et de vérier la
conformité de celles-ci, comme les paramètres et les ensembles peuvent apparaître
dans un ordre quelconque dans le chier DATA. Les données ne peuvent être contrô-
lées que lorsque tout a été lu. Ainsi, on vérie les doubles dénitions, les ensembles
contenant des éléments dupliqués, les membres sont à la bonne dimension, et les
valeurs saisies pour les paramètres sont bien des nombres ...etc.
3. Compilation La phase de compilation transforme l'arbre des expressions (généré
dans la phase précédente) an de permettre une évaluation ecace des ensembles,
5.1. Concepts du Langage AMPL [3] 71
paramètres, variables et les autres entités dérivées. Elle déplace les invariants de
l'intérieur des boucles par exemple. Comme le contenu des ensembles d'index dépend
du chier Data, la compilation doit donc suivre la lecture des données.
4. Génération Dans la phase de génération qui suit immédiatement, Les Data sont
minutieusement contrôlées et toutes les entités dérivées sont calculées. On vérie
toutes les conditions imposées par le modèle ( les restrictions de l'intégralité et la
non négativité sur les paramètres) et que les indices sont valides pour les composants
du modèle qu'ils indexent.
En entrée on reçoit un graphe ( sommets , arcs et valuation sur les arcs qui repré-
sentent la capacité du lien associé à cet atc).
On extrait les éléments essentiels de ce graphe, notamment les chemins élementaires entre
toutes les paires de noeuds en utilisant la structure de "List".
Le modèle stochastique de génération de matrices de trac précédent exige de calculer Cq
que nous avons interprété comme le ot maximum pouvant être acheminé entre la paire
de noeuds q.
Nous avons implémenté pour celà, l'algorithme de Ford-Fulkerson qui s'applique à un
graphe simple valué. Ce qui n'est pas le cas de nos graphes qui sont forcément des 2-
graphe, car les liens dans le réseau sont bidirectionnels.
Pour surmonter cet obstacle, On extrait des sous graphes partiels.
Une fois la matrice de trac générée, nous créons les deux chiers AMPL (modèle et Data)
correspondants qui vont être soumis aux diérents solveurs.
2 GBPS
Noeud 1 Noeud 2
2 GBPS
2 GBPS
2 GBPS
2 GBPS
2 GBPS
2 GBPS
Noeud 3 Noeud 4
2 GBPS
2 GBPS
Noeud 1 Noeud 2
2 GBPS
2 GBPS
2 GBPS
2 GBPS
2 GBPS
2 GBPS 2 GBPS
2 GBPS
Noeud 3 Noeud 4
2 GBPS
5.5 Expérimentation
L'expérimentation a été faite sous Linux Debian 11.2. Le processeur est un CoreI3.
L'application que nous avons réalisée et qui interagit avec l'environnement AMPL et le
serveur Neos (sur internet) a été développée avec le langage Java.
Pour chaque expérience, vingt cinq matrices de demandes(qui représentent une demande
de trac à un instant donné) ont été générées avec l'algorithme 2 et ont servi pour
expérimenter les diérents modèles. Globalement, les étapes de l'expérimentation sont les
suivantes :
1. On saisit le réseau physique.
2. On xe les paramètres liés aux limites physiques du réseau, au modèle stochastisque
et à la charge du réseau.
3. On calcule les chemins, leurs coûts et les ots max pouvant être acheminés entre les
diérentes paires de noeuds.
5.5. Expérimentation 75
PNL
PL
14.00
X PRL
12.00
x x
10.00 x x
x
8.00 x
x
microsecondes
x
6.00 x
x x
x
x x
4.00
x x x
x
x x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
10.00
x x
8.00 x x
x x
x
microsecondes
x
6.00 x
x x
x
x x
4.00
x x x
x
x x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
10.00 x
x
8.00 x x x x
microsecondes
x
x
6.00 x
x
x
x x x
4.00
x x x
x
x x
2.00 x
x x
x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
10.00
8.00 x
x
microsecondes
x
x x
6.00 x
x x
x x
x
4.00
x x x x
x x
x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
10.00 x
x x
8.00
x
microsecondes
x x
x
x
6.00 x
x
x x
4.00
x x x
x
x x
x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
10.00 x
x
8.00 x
x
microsecondes
x x x
6.00 x
x x
x x
x x
4.00
x x x
x
x x
2.00 x x
x x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
10.00
8.00 x
x
x
microsecondes
x x
6.00 x x
x x
x x
x x x
4.00
x x x
x
x x
x x
2.00 x
x x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
PNL
PL
14.00
X PRL
12.00
x x
10.00 x x
x
8.00 x
x
microsecondes
x
6.00 x
x x
x
x
x x
4.00 x
x x x
x
x x x
2.00 x
x
.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Matrices
des solutions pour les problèmes posés pour les deux réseaux et pour des charges
moyennes (a=4 pour Net1 et a=6 pour Net2) mais également pour une surcharge
des réseaux(a=3 pour Net1 et a=5 pour Net2).
les solutions sont données sous forme de nombres de chemins utilisés et de nombre
de sauts total pour ces chemins.
La mention NR représente une solution non réalisable.
Conclusion Générale
Le travail eectué dans ce mémoire constitue une exploration trés fructueuse dans
le domaine des réseaux nouvelle génération qui intègrent dans une même plateforme ré-
seau des services et des applications divers longtemps déployés dans des infrastructures
séparées. Ce qui constitue un interêt majeur pour les opérateurs de télécommuncation
(coût d'opérations et de maintenance) d'une part, et pour les utilisateurs naux, d'autre
part, qui ont accés à des applications et services de plus en plus diversiés sur un même
terminal.
Nous avons mis l'accent sur le protocole MPLS qui joue un rôle prépondérant dans
la cohabitation de ces applications de caractéristiques diérentes dans le même réseau,
malgrés leurs exigences qui dièrent en matière de qualité de service. En eet, Le protocole
MPLS est à même de travailler le routage ou la commutation sur des ots de données
plutôt que sur des paquets, il peut déterminer, alors, quels chemins sont à même d'assurer
la qualité de service exigée par ces diérents ots de données.
Nous avons étudié le modèle d'un réseau à base de routeurs implémentant MPLS ex-
posé dans [4]en vue d'optimiser l'établissement des LSP (constitution de chemins logiques
entre les diérentes paires de noeuds) sachant que l'établissement et la conguration de
ceux-ci engendrent un coût pour l'opérateur qu'il voudrait minimiser. Le problème s'est
avéré être non linéaire mixte (NP-complet), problème résolu dans [4] par des méthodes
approchées de recherche locale.
Notre démarche était d'aller vers une résolution golabale. Pour assurer le calcul de
l'optimum dans un délai acceptable, nous avons opté pour la simplication du terlme qui
est responsable de la non linéarité du modèle. Nous l'avons fait de deux manières :
La première consiste à linéariser ce terme qui pose problème et qui apparaît à la fois
dans la fonction objectif et dans l'une des contraintes. c'est un terme quadratique dont le
passage à une forme linéaire n'est pas du tout évident.
Le deuxième ranement opéré a consisté en une relaxation linéaire qui tient du modèle
stochastique M/M/1 lui même, puisque à notre avis les paramètres dont il faut tenir
compte sont les λet Ci seulement. Ce qui nous permettra d'éliminer xi . Les résultats
expérimentaux ont plus ou moins conrmé nos hypothèses.
Dans le volet perspectives, nous pensons que le modèle de le d'attente ne traduit pas
toute la réalité des les d'attentes engendrées dans les routeurs MPLS. En eet, les ots
ne sont pas tous égaux en matière d'exigence en (bande passante, délai,...) c'est à dire la
qualité de service. Les ots doivent être servis diéremment, ils doivent, alors se trouver
dans des les diérentes ou la même ile avec plusieurs serveurs, ce qui traduit mieux la
réalité. Le modèle se trouvera alors modié.
83
Annexe A
-
Ensembles
Un ensemble est un groupement de plusieurs éléments distincts, mais de même type.
En particulier, tous les éléments doivent avoir le même nombre de composantes (tous des
paires, des triplets,...). La denition d'un ensemble commence par { et ni par }.
Un ensemble peut être n'importe quelle collection non ordonnée d'objets pertinents à
un modèle. Par exemple, le modèle de planication de la production optimise la production
d'un ensemble de produits qui sont fabriqués à partir d'un ensemble de matières premières.
AMPL groupe les produits et les matières premières en utilisant les déclarations :
set P; # Produits
set R; # mateiéres premières
Un autre type de jeu est une suite d'entiers. Dans le modèle de l'échantillon, la séquence
de toute période allant de 1 à T est un tel ensemble. Il est représenté dans AMPL par
l'expression 1..T , où T est un paramètre dont la valeur est le nombre de périodes.
Paramètres
Un paramètre est une valeur pertinente à un modèle. Le type le plus simple d'un pa-
ramètre est une valeur unique, telle que le nombre de périodes dans notre exemple.
84
1. Eléments de base du langage AMPL [3] 85
attribs :
binary, le paramètre doit être binaire,
integer, le paramètre doit être entier,
symbolic, le paramètre peut prendre une valeur alphanumérique
(par exemple le nom d'un élément d'un autre ensemble).
relop expr, où relop peut être < <= = == ! = <> > >=.
in setxpr, vérifie si le paramètre appartient à un
ensemble donné.
:= expr, définition du paramètre.
default expr même chose que pour la déclaration
d'un ensemble.
La plupart des déclarations AMPL qui déclarent des paramètres spécie également
certaines restrictions sur ces paramètres. Par exemple, le nombre de périodes est déclaré
par : param T > 0 integer ;
Variables
Les variables d'un programme linéaire sont déclarées comme les paramètres. La seule
diérence est que les valeurs des variables doivent être déterminées par optimisation,
tandis que les valeurs des paramètres sont xes, c'est-à-dire fournies à l'avance.
Le format général de délaration des variables est le suivant :
attribs :
binary, la variable est binaire
integer, la variable est entière
>= expr, si la variable est inférieurement borné
<= expr, si la variable est supèrieurement borné
:= expr, valeur xée
Une déclaration typique de la variable "matières premières" dans l'exemple ci-dessus est
donnée comme suit :
var x {P,1..T} >= 0; # unités de produits fabriqués dans la période
Contraintes
Une contrainte peut être une égalité ou une inégalité linéaire sur les paramètres et les
variables.
En prenant l'exemple de planication de production, une contrainte de solde relative
à l'inventaire d'une période à l'autre serait :
stock {i in R, t in 1..T }:
s [i,t+1] = s [i,t] - sum {j in P} a [i,j] * x [j,t] ;
# stock pendant la prochaine période = période actuelle
- matières premières
1. Eléments de base du langage AMPL [3] 86
Objectif
Une fonction objectif est une expression linéaire sur les paramètres et les variables. La
déclaration de la fonction objectif est de la forme suivante :
maximize name [alias] [index] : expression ;
ou
minimize name [alias] [index] : expression ;
À titre d'exemple, considérons la fonction objectif :
maximize profit:
sum {t in 1..T } sum {j in P} c [j,t] * x [j,t]
- sum {i in R} d [i] *s [i,t]
+ sum {i in R} f [i] * s [i,T+1]
# total sur toutes les périodes du profit estimé
# - le coût de stockage + coûts de la valeur des
# matières premières après la dernière période
Annexe B
Les chiers modèles générés ci-dessous correspondentrespectivement à la formulation
non linéaire, linéaire et la relaxation linéaire :
################################
### Definition des ensembles ###
################################
##################
### Parametres ###
##################
param delta {couples} >= 0; # une limite dans les flux par chemin ( pour assurer chemin_utilise = 0 ou 1)
#################
### Variables ###
#################
87
2. Fichier modèle AMPL du modèle linéaire 88
##########################
### Fonction Ojectif ###
##########################
###################
### Contraintes ###
###################
################################
### Definition des ensembles ###
################################
##################
### Parametres ###
##################
3. Fichier modèle AMPL du modèle relaxation linéaire 89
param delta {couples} >= 0; # une limite dans les flux par chemin ( pour assurer chemin_utilise = 0 ou 1)
#################
### Variables ###
#################
##########################
### Fonction Ojectif ###
##########################
###################
### Contraintes ###
###################
################################
### Definition des ensembles ###
################################
##################
### Parametres ###
##################
param cout_du_chemin {(m,n,k) in chemins} := card{liens_par_chemin[m,n,k]}; # cout par chemin = nombre de sauts
param delta {couples} >= 0; # une limite dans les flux par chemin ( pour assurer chemin_utilise = 0 ou 1)
#################
### Variables ###
#################
##########################
### Fonction Ojectif ###
##########################
###################
### Contraintes #$12$& $16$##
###################
# Nombre de liens(arcs) = 8
# Nombre de chemins = 24
###########################################;
data;
data;
param N := 4;
param M := 8;
param K := 24;
param lambda := 6400.0;
param alpha := 1.0;
param beta := 1.0;
param epsilone := 1.0E-4;
param C :=
1 2500.0
2 2500.0
3 2500.0
4 2500.0
5 2500.0
6 2500.0
7 2500.0
8 2500.0
;
set incidence_chemin_arc :=
(1,2,1,*) 1
(1,2,2,*) 4 6 8
(1,3,1,*) 1 3
(1,3,2,*) 6 8
(1,4,1,*) 1 3 5
(1,4,2,*) 8
(2,1,1,*) 2
(2,1,2,*) 3 5 7
(2,3,1,*) 2 6 8
(2,3,2,*) 3
(2,4,1,*) 2 8
(2,4,2,*) 3 5
(3,1,1,*) 2 4
(3,1,2,*) 5 7
(3,2,1,*) 4
(3,2,2,*) 1 5 7
(3,4,1,*) 2 4 8
(3,4,2,*) 5
(4,1,1,*) 2 4 6
(4,1,2,*) 7
(4,2,1,*) 4 6
(4,2,2,*) 1 7
(4,3,1,*) 6
(4,3,2,*) 1 3 7
;
param d default 0.0 :
1 2 3 4 :=
1 . 1540.2426472710936 122.90583907910177 1599.0144277247834
2 1335.9640592222725 . 1252.227012148573 828.2704345221038
3 560.5691615615908 1047.897802264371 . 707.0037517846724
4 664.6726070816178 1244.7372558239117 405.0838235336888 .
;
param delta default 0 :
1 2 3 4 :=
1 . 2500.0 2500.0 2500.0
2 2500.0 . 2500.0 2500.0
3 2500.0 2500.0 . 2500.0
4 2500.0 2500.0 2500.0 .
;
param teta default 0 :
1 2 3 4 :=
1 . 3.0E-5 3.0E-5 3.0E-5
2 3.0E-5 . 3.0E-5 3.0E-5
3 3.0E-5 3.0E-5 . 3.0E-5
4 3.0E-5 3.0E-5 3.0E-5 . ;
Bibliographie
[1] P. Huang A. Feldman, A.C. Gibert and W. Willinger. Dynamics of ip trac : A
study of the role of variability and the impact of control. SIGCOM, 1999.
[2] R. A. Fourer, Gay, D.M., and Kernighan B.W. AMPL : A Mathematical Programming
Language. University of Michigan, 1995.
[3] R. A. Fourer, Gay, D.M., and Kernighan B.W. AMPL : A Modeling Language for
Mathematical Programming . Duxbury Press / Brooks/ Cole Publishing Company,
2002.
[4] S. Beker. Techniques d'Optimisation pour le Dimensionnement et la Reconguration
Des Réseaux MPLS. PhD thesis, ENST, Ecole Nationale Supérieure des Télécom-
munications, 2004.
[5] Gérard Bouyer. La hiérarchie numérique synchrone . ENSEA, 1997.
[6] R. Braden, L. Zhang, S. Berson, S. Herzog, and S. Jamin. Resource reservation
protocol (rsvp). Technical Report 2205, Network Working Group, 1997.
[7] Octavio Napoleón MEDINA CARVAJAL. Algorithmes d'attribution de priorité du
modèle DiServ. PhD thesis, ENST, Ecole Nationale Supérieure des Télécommuni-
cations, 2001.
[8] Laura Chapell. Introduction à la conguration de routeurs Cisco . CampusPress,
1999.
[9] Laura Chapell. Implémentation du modèle DiServ dans les routeurs Cisco . Cam-
pusPress, 2002.
[10] I. Charon and A. Germa. Méthodes d'optimisation combinatoire . Masson, 1996.
[11] Claudine Chassagne. Etude générale de la qos. Technical report, CNRS UREC, 1998.
[12] Robert G. Batson Der-San Chen and Yu Dan. Applied Integer Programming : Mo-
deling and Solution. Whiley, 1981.
[13] Isabelle Devarenne. Études en recherche locale adaptative pour l'optimisation combi-
natoire. PhD thesis, Université DE Technologie DE Belfort-Monbeliard, 2007.
[14] T. Jimenez E. Altman, T. Basar and N. Shimkin. Competitive routing in networks
with polynomial costs. INFOCOM, 2000.
[15] R. Callon E. Rosen, A. Viswanathan. Multiprotocol label switching architecture.
Technical Report 3031, Network Working Group, 2001.
[16] Adrian Farrel and Igor Bryskin. GMPLS : Architecture and Applications . Elsevier
Inc, 2006.
92
BIBLIOGRAPHIE 93
[17] R. Fletcher and S. Leyer. Numerical experience with lower bounds for miqp branch
and bound. SIAM Journal of Optimization , 8(2) :604616, 1998.
[18] Sébastien Florek. Qualité de service sur réseau IP . ENSEA, 2003.
[19] Robert Fourer. Modeling languages versus matrix generators for linear programming.
Journal ACM Transactions on Mathematical Software (TOMS , 9(2), 1983.
[20] Eric Gressier-Soudan. Réseaux et QoS. CNAM, 1999.
[21] D. Gross and C. M. Harris. Fundamentals of Queueing Theory . Wiley, 1998.
[22] F. Yeang-Sung Lin H. Hsu. Near-optimal constrained routing in virtual circuit net-
works,. INFOCOM, 2001.
[23] Roberts J.W. Self-similar network trac and performance evaluation, chapter engi-
neering for quality of service. Wiley-Interscience, 2000.
[24] S. Blake K. Nichols, F. Baker, and D. Black. Dénition des champs ds dans les
en-têtes d'ipv4 et ipv6. Technical Report 2474, Network Working Group, 1998.
[25] S. Blake K. Nichols, F. Baker, and D. Black. Dénition des champs ds dans les
en-têtes d'ipv4 et ipv6. Technical Report 2475, Network Working Group, 1998.
[26] Leonard Kleinrock. Queueing Systems Theory . Wiley, 1975-1976.
[27] P. Georgatsos L. Georgiadis, K. Floros and S. Sartzetakis. Lexicographically optimal
balanced networks. INFOCOM, 2001.
[28] Yahia Lebbah, Claude Michel, and Michel Rueher. An ecient and safe framework for
solving optimization problems. Journal of Computational and Applied Mathematics ,
199 :372377, 200.
[29] Yahia Lebbah, Michel Rueher, and Claude Michel. A global ltering algorithm for
handling systems of quadratic equations and inequations. Lecture Notes in Computer
Science, 2470 :109123, 2002.
[30] Jean Luc Montagnier. Les Réseaux d'entreprise par la pratique . Eyrolles, 2003.
[31] J. Nocedal and S.J. Wright. Numerical optimisation. Springer, 42(5) :20762097,
2004.
[32] LAI Hien Phuong, PHAM Quang Dung, Yves Deville, and HO Tuong Vinh. Modèles
heuristiques et metaheuristiques en comet pour le problème bin packing. Technical
Report 27, Institut de la francophonie pour l'informatique, 2008.
[33] Guy Pujolle. Les Réseaux. Editions Eyrolles, 2006.
[34] Philppe Robert. Réseaux et les d'attente : méthodes probabilistes . Springer, 2000.
[35] David M. Gay Robert Fourer and Brian W. Kernighan. A modeling language for
mathematical programming. Management Science , 36 :519554, 1990.
[36] V. Sahinidis and M. Twarmalani. Baron 5.0 : Global optimisation of mixed-integer
nonlinear programs. Technical report, University of Illinois at Urbana-Champaign,
Department of Chemical and Biomolecular Engeneering, 2002.
[37] V. Sahinidis and M. Twarmalani. Convexication and Global Optimization in Conti-
nuous and Mixed-Integer Nonlinear Programming . Kluwer Academic Publishers
Group, 2002.
BIBLIOGRAPHIE 94
[38] A. Sayeed and M.J. Morrow. MPLS and Next-Generation Networks : Foundations
for NGN and Enterprise Virtualization . Cisco Press, 2006.
[39] S. Shenker and J. Wroclawski. General characterization parameters for integrated
service network elements. Technical Report 2215, Network Working Group, 1997.
[40] H.D. Sherali and W.P. Adams. A Reformulation-Linearization Technique for Solving
Discrete and Continuous Nonconvex Problems . Kluwer Academic Publishing, 1999.
[41] W.L. Whinston. Operations Research : Applications and Algorithms , pages 569574.
Duxbury Press, Boston, USA, second edition, 2003.
[42] J. Wroclawski. The use of rsvp with ietf integrated services. Technical Report 2215,
Network Working Group, 1997.