Vous êtes sur la page 1sur 101

Institut Suprieur dInformatique, Universidade Federal de Minas

de Modlisation et de leurs Applications Gerais

Campus des Czeaux Avenida Presidente Antnio


24 Avenue des Landais Carlos, 6627
BP 10125 Pampulha, Belo Horizonte
63137 Aubire CEDEX MG, 31270-901, Brasil

Rapport dingnieur
Stage de 2me anne
Filire F3 - Systmes dInformation et Aide la Dcision
BRAFITEC

Problme de routage et dallocation du


spectre dans un rseau optique flex-grid

Prsent par : Raquel Rugani Lage


Wesley da Silva Coelho

Dure : 02 Mai 2016 29 Juin 2016


Responsable ISIMA : Herv Kerivin
Date de la soutenance : Juin 2016
Remerciements

Avant de commencer la prsentation de ce travail, nous voudrions remercier toutes les


personnes qui ont contribu la ralisation de ce stage.

Notre premier remerciement va Monsieur Herv KERIVIN pour lorientation et pour son
aide, sa disponibilit et sa patience tout au long du stage. Nous remercions galement les
coordonnateurs responsables du programme dchange BRAFITEC : M. Philippe MAHEY
lISIMA et Messieurs Carlos Roberto VENNCIO DE CARVALHO et Maurcio CARDOSO
DE SOUZA lUFMG pour leur soutien et confiance.

Nos remerciements vont aussi tous nos professeurs et toutes les personnes qui nous
ont soutenus au Brsil et en France. Nous les remercions pour tout lapprentissage et les
connaissances quils nous ont transmis.

Finalement, nous tenons remercier la CAPES (Coordenao de Aperfeioamento de


Pessoal de Nvel Superior) pour leur financement qui nous a permis de raliser nos tudes
en France. tous, nous exprimons toute notre gratitude.

i
Rsum

Le stage concerne loptimisation du routage et de lutilisation des ressources dans un


rseau optique flex-grid. Nous pouvons dfinir un rseau optique comme un rseau de com-
munication qui utilise des fibres optiques pour transmettre de linformation entre ses nuds.
Le but de ce stage est donc de travailler sur le problme de routage et dallocation du spectre
(RSA) dans un rseau optique flex-grid en minimisant diffrentes paramtres. Ce problme se
rsume traiter un rseau en trouvant une route pour transmettre des donnes et ainsi que
en affectant des frquences ces routes tout en respectant un certain nombre de contraintes.

Ce problme est un sujet rcent de ltat de lart. Par ailleurs, il est trs important pour les
acteurs du monde de la tlcommunication ds que pour bien analyser, concevoir, planifier et
exploiter des rseaux, des mthodes efficaces sont ncessaires pour le problme RSA. Dans
le contexte des rseaux optiques flex-grid, la majorit des problmes doptimisation sont
des extensions du RSA. Par ailleurs, il est un problme doptimisation combinatoire NP-
difficile qui demande des techniques informatiques particulires pour les rsoudre de manire
optimale avec un temps dexcution raisonnable.

Nous avons travaill sur des modles mathmatiques rcents du RSA et nous avons pro-
pos des modles en les adaptant. Nous cherchons donc savoir lefficace de chaque modle
pour minimiser soit la longueur du chemin optique, soit la largeur du spectre, soit le niveau
de congestion du rseau, soit la charge moyenne des liens. Dans ce travail nous utilisons,
avec loutil doptimisation CPLEX, des techniques mathmatiques comme la gnration de
colonnes, le branch and bound et le branch and cut ; assurant loptimalit de la solution com-
binant ces techniques avec la Programmation lineaire en nombres entiers. Nous prsentons
galement les rsultats de calcul pour chaque modle propos, avec des diffrentes instances.

Mots-cls : rseau optique flex-grid, problme de routage et dallocation du spectre,


gnration de colonnes, branch and bound, branch and cut.

ii
Abstract

This internship concerns the optimization of routing and allocating resources in an flexible
optical network. We can define an optical network as a communication network which uses
optical fibers to transmit information between its nodes. The purpose of this internship is
therefore to work on the Routing and Spectrum Allocation (RSA) problem in a flexible
optical network. This problem comes down to treating a network by finding a route for
transmitting data and as well as assigning frequencies to these routes while respecting a
certain number of constraints.

This problem is a recent matter from the literature. Whereas, it is very important for
everyone concerning the telecommunication world. That is on the grounds that to properly
analyze, design, plan and operate networks, efficient methods are needed for the RSA pro-
blem. In the context of flexible optical networks, the majority of optimization problems are
extensions of the RSA problem. Moreover, it is a NP-hard combinatorial optimization pro-
blem that requires special computer techniques in order to solve it optimally in a reasonable
time.

In this internship we have worked on recent mathematical models of the RSA problem
and, in addition, we have suggested models adapting those. We seek to know the efficacy of
each formulation in order to minimize either the total sum of lengths of all utilized lighpaths,
or the number of spectrum slots, or the congestion level of the network, or the spectrum link
usage. In this work we use, with CPLEX optimization tool, mathematical techniques such
as column generation, branch and bound and branch and cut ; ensuring the optimality of the
solution when we combine these techniques with Integer linear programming. We present in
this rapport also the computational results for each proposed model, using different instances.

Keywords : flexible optical network, routing and spectrum assignment problem, column
generation, branch and bound, branch and cut.

iii
Table des matires

Remerciements i

Rsum ii

Abstract iii

Introduction 1

Droulement du stage 3

1 Les rseaux optiques flex-grid 6


1.1 Rseaux de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Rseaux optique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Rseaux optique WDM . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Rseaux optique flex-grid . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Formalisation du problme de routage et dallocation du spectre (RSA) 12

3 Aspects thoriques 16
3.1 Thorie des graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Reprsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.3 Le plus court chemin entre deux sommets . . . . . . . . . . . . . . . 19
3.2 Programmation linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1 Programmation linaire en nombres entiers et programmation linaire
en variables binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 Dualit en programmation linaire . . . . . . . . . . . . . . . . . . . 23

iv
4 Branch and Bound et Branch and Cut 25
4.1 Branch and Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Branch and Cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5 Gnration de colonnes 29
5.1 Problme avec beaucoup de contraintes . . . . . . . . . . . . . . . . . . . . . 30
5.2 Problme avec beaucoup de variables . . . . . . . . . . . . . . . . . . . . . . 32

6 Modles 35
6.1 LPC : Modle lien-chemin avec des canaux . . . . . . . . . . . . . . . . . . . 36
6.2 LPS : Modle lien-chemin avec des tranches de spectre . . . . . . . . . . . . 37
6.3 LPCS : Modle lien-chemin avec la continuit des tranches de spectre . . . . 38
6.4 NLS : Modle nud-lien avec des tranches de spectre . . . . . . . . . . . . . 39
6.5 MLS : Modle pour minimiser la largeur de spectre . . . . . . . . . . . . . . 40
6.6 MNCR : Modle pour minimiser le niveau de congestion du rseau et la charge
moyenne des liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.7 Analyse quantitative des modles . . . . . . . . . . . . . . . . . . . . . . . . 42

7 Proposition des modles modifis 44


7.1 LPC2 : Modle lien-chemin avec des canaux . . . . . . . . . . . . . . . . . . 44
7.1.1 LPC2 : minimisation de la largeur du spectre . . . . . . . . . . . . . 45
7.1.2 LPC2 : minimisation du niveau de congestion du rseau . . . . . . . . 45
7.1.3 LPC2 : minimisation de la charge moyenne des liens . . . . . . . . . . 46
7.2 LPS2 : Modle lien-chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.2.1 LPS2 : minimisation de la largeur du spectre . . . . . . . . . . . . . . 47
7.2.2 LPS2 : minimisation du niveau de congestion du rseau . . . . . . . . 47
7.2.3 LPS2 : minimisation de la charge moyenne des liens . . . . . . . . . . 48
7.3 LPCS2 : Modle lien-chemin avec la contigit des tranches de spectre . . . 49
7.3.1 LPCS2 : minimisation de la largeur du spectre . . . . . . . . . . . . . 49
7.3.2 LPCS2 : minimisation du niveau de congestion du rseau . . . . . . . 50
7.3.3 LPCS2 : minimisation de la charge moyenne des liens . . . . . . . . . 51
7.4 NLS2 : Modle nud-lien . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.4.1 NLS2 : minimisation de la largeur du spectre . . . . . . . . . . . . . . 53
7.4.2 NLS2 : minimisation du niveau de congestion du rseau . . . . . . . . 53
7.4.3 NLS2 : minimisation de la charge moyenne des liens . . . . . . . . . . 54

v
7.5 Analyse quantitative des modles modifis . . . . . . . . . . . . . . . . . . . 54
7.5.1 volution du nombre variables . . . . . . . . . . . . . . . . . . . . . . 55
7.5.2 volution du nombre de contraintes . . . . . . . . . . . . . . . . . . . 57

8 Application de la mthode de gnration de colonnes 61


8.1 Trouver une solution ralisable . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.2 Trouver une solution optimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

9 Implmentation 68
9.1 Les instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.2 Mise en uvre de la mthode de Branch and Bound . . . . . . . . . . . . . . 70
9.3 Mise en uvre de la mthode de Gnration de Colonnes . . . . . . . . . . . 70

10 Rsultats 72
10.1 Temps dexcution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.2 Modle LPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.3 Analyse des allocations trouves . . . . . . . . . . . . . . . . . . . . . . . . . 76

Conclusion 78

Bibliographie iv
Rfrences bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Webographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Annexes vii

A Instance avec dix demandes viii

vi
Table des figures

1 Chronogramme prvisionnel de lavancement des activits du stage . . . . . . 4


2 Chronogramme rel de lavancement des activits du stage . . . . . . . . . . 4

1.1 Rseau optique de France Tlcom . . . . . . . . . . . . . . . . . . . . . . . 7


1.2 Liaison par fibre optique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Multiplexage en longueur donde . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Concept de canal de transmission . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Allocation de la bande passante pour une demande de 28 GHz . . . . . . . . 11

2.1 Exemple paramtres doptimisation . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 Reprsentation dun graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


3.2 Un graphe et sa matrice dadjacence associe . . . . . . . . . . . . . . . . . . 18

5.1 Interaction entre le problme matre restreint et le sous-problme . . . . . . 30

7.1 volution du nombre de variables pour minimiser la longueur du chemin optique 55


7.2 volution du nombre de variables pour minimiser la largeur du spectre . . . 56
7.3 volution du nombre de variables pour minimiser le niveau de congestion du
rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.4 volution du nombre de variables pour minimiser la charge moyenne des liens 57
7.5 volution du nombre de contraintes pour minimiser la longueur du chemin
optique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.6 volution du nombre de contraintes pour minimiser la largeur du spectre . . 58
7.7 volution du nombre de contraintes pour minimiser le niveau de congestion
du rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.8 volution du nombre de contraintes pour minimiser la charge moyenne des liens 59

9.1 Topologie utilise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

vii
10.1 volution du temps dexcution pour minimiser la longueur du chemin optique 73
10.2 volution du temps dexcution pour minimiser la largeur du spectre . . . . 73
10.3 volution du temps dexcution pour minimiser le niveau de congestion du
rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.4 volution du temps dexcution pour minimiser la charge moyenne des liens 74
10.5 volution du temps dexcution modle LPC . . . . . . . . . . . . . . . . . . 75
10.6 volution du nombre de variables modle LPC . . . . . . . . . . . . . . . . . 76

viii
Liste des tableaux

6.1 Notations : indices, ensembles et constantes . . . . . . . . . . . . . . . . . . 36


6.2 Notations : variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3 Nombre de variables et contraintes des modles originaux . . . . . . . . . . . 42

ix
Introduction

Ce rapport est prsent dans le cadre du stage de deuxime anne lInstitut Suprieur
dInformatique, de Modlisation et de leurs Applications (ISIMA), pendant la priode allant
de mai 2015 juin 2016. Ce stage est une continuation du travail de projet de deuxime
anne allant de novembre 2015 avril 2016. Dans cette tude, nous utiliserons des outils
mathmatiques et informatiques pour rsoudre un problme propos.

Notre sujet de stage a t propos par Herv KERIVIN, enseignant-chercheur au D-


partement de Mathmatiques et Informatique de lUniversit Blaise Pascal et membre du
Laboratoire dinformatique, Modlisation et Optimisation (LIMOS). Il sagit dun problme
doptimisation dans un rseau optique flex-grid, appel le problme de routage et dallocation
des spectres (RSA).

Une grande quantit de donnes digitales est transporte chaque seconde dans toutes les
parties du monde via des rseaux de optiques, et les attentes sont une croissance fortement
acclre avec des demandes de plus en plus volumineuses. Dans ce contexte, dans quelques
annes ces rseaux pourraient atteindre leurs capacits maximales en terme de transmission
de donnes. Ainsi, les rseaux optique flex-grid on t mis en vidence, ds quils permettent
de mieux optimiser lutilisation des ressources par rapport aux rseaux optiques dploys
actuellement : les rseaux optique de multiplexage en longueur donde (WDM). Dans ce
contexte, on trouve la motivation doptimiser les ressources disponibles des rseaux optiques
flex-grid en travaillant sur le problme RSA.

Dans la priode de notre projet, nous avons travaill sur les modles rcents de la thse
de H. Dao Thanh, 2014 [1], et aussi sur ceux du travail de M. Zotkiewicz, et al 2013 [2].
Aprs avoir tudi ces diffrents modles mathmatiques, nous avons propos les ntres en
adaptant les modles du travail de [2] et en considrant quatre paramtres doptimisation :

1
la longueur du chemin optique, la largeur du spectre, le niveau de congestion du rseau et
la charge moyenne des liens.

Par la suite, nous travaillons sur la rsolution de ce type de problme de faon optimale.
Lorsquil sagit dun problme de la programmation linaire en nombres entires, le challenge
est que ce type de problme fait partie des problmes difficiles rsoudre, ceux pour lesquels
le temps de calcul crot de manire exponentielle en fonction de la taille du problme. Nous
recherchons alors quels sont les techniques mathmatiques et informatiques les plus adap-
tes pour chaque modle afin de rsoudre le problme RSA de faon optimal. Nous allons
dailleurs dcrire dans ce rapport comment appliquer ces techniques sur ces modles afin de
les implmenter. En implmentant ces diffrents modles, nous pourrons les comparer les
uns aux autres et ainsi vrifier sil y a un modle plus appropri la rsolution du problme
RSA.

Dans la suite de ce rapport, nous expliquerons avant tout comment tait la mise en uvre
de ce stage. En second lieu nous parlerons propos des concepts dun rseau flex-grid et ainsi
comme les motivations dtudier ce type de rseau. Ensuite, nous prsenterons le problme
RSA, avec ses dfinitions, son objectif et ses contraintes. Subsquemment nous aborderons
quelques aspects thoriques pour une meilleure comprhension du problme. En outre, nous
dfinirons les techniques mathmatiques de branch and bound, branch and cut et la gnra-
tion de colonnes. Nous montrons, dans la suite, les modles du travail de M. Zotkiewicz, et
al 2013 ainsi que les modles de la thse de H. Dao Thanh, 2014, et encore les modles que
nous avons propos. De plus, nous prsenterons les rsultats de calcul des modles, avec des
diffrentes instances. En dernier lieu, nous ferons une analyse des rsultats. En conclusion
nous ferons un bilan du produit ralis.

2
Droulement du stage

Ce stage est propos aux lves brsiliens de lcole de lISIMA grce au programme
dchange Brafitec (BRAsil France Ingnieurs TEChnologie) qui permet aux coles ding-
nieurs franaises et aux universits brsiliennes dtablir des accords de collaborations scien-
tifiques, dchanges dtudiants et denseignants, dans les domaines de lingnierie. Pendant
la priode de mai 2015 juin 2016 nous avons travaill sur le problme de RSA. Nous avons
eu pour notre stage une salle rserve ainsi que les ordinateurs des salles de classe de lISIMA
pour implmenter les modles.

Tout dabord, dans les premires tapes de notre stage nous avons travaill avec loutil
doptimisation CPLEX, en langage C++, afin de dvelopper de bonnes connaissances sur
celui-ci. Nous pouvions ensuite travailler sur les modles mathmatiques du travail de [2] avec
les quatre paramtres doptimisation diffrents : la longueur du chemin optique, la largeur
du spectre, le niveau de congestion du rseau et la charge moyenne des liens.

Aprs avoir fait limplmentation de chaque modle, nous les avons tests avec diffrentes
instances afin dtre sr quils taient corrects. Nous avons prvu de choisir des instances
relles de rseaux pour pouvoir comparer les modles les uns aux autres. Et enfin, nous avons
choisi de finaliser le rapport la dernire semaine de notre stage.

La figure 1 montre laide dun diagramme de Gantt une planification prvisionnelle des
phases de ce stage, associe aux contraintes de temps, tandis que la figure 2 montre dans un
diagramme de Gantt la planification relle.

3
Figure 1 Chronogramme prvisionnel de lavancement des activits du stage

Figure 2 Chronogramme rel de lavancement des activits du stage

Nous avions prvu une semaine afin dimplmenter et de tester chaque modle avec les
quatre fonctions objectives. Dans un premier temps, nous pensions les tester avec diffrentes
instances de rseaux rels. Cela na pas t ralisable pour diverses raisons ; trop de temps
pour rsoudre le problme, crash du serveur de lcole li la quantit de calcul, ou encore,
lobligation darrter le processus lors des cours dans les autres salles de lcole. Nous avons
donc pris quune instance et nous avons fait varier le nombre de demandes allant jusqu un
maximum de dix demandes.

Nous avons galement essay dimplmenter la mthode mathmatique de relaxation la-


grangienne dans une contrainte problmatique dun modle, cependant nous avons pas ob-
tenu de rsultats pertinent, et donc nous ne parlerons pas a propos de cette mthode ou de

4
son implmentation dans ce rapport. Nous pensions conclure notre projet en comparant la
mthode de gnration de colonnes pour trois modles, mais, aprs implmentation avec la
mthode branch-and-bound, nous nous sommes aperu quil ne sagissait pas la meilleure
mthode mathmatique. Nous avons donc implment la gnration de colonne dans une
seule formulation.

5
Chapitre 1

Les rseaux optiques flex-grid

Dans ce chapitre nous prsenterons quelques gnralits sur les rseaux optiques flex-grid
afin de prciser le cadre technique de notre tude. Pour cela, nous dcrirons les rseaux relatifs
au rseaux optique flex-grid : nous commencerons par une description succincte des rseaux
de communication. Ensuite, nous donnerons quelques gnralits sur les rseaux optiques
ainsi que des renseignements sur le rseau optique de multiplexage en longueur donde et sur
le rseau optique flex-grid.

1.1 Rseaux de communication


Selon [4], un rseau de communication est un ensemble de moyens matriels et logiciels
mis en uvre pour garantir les communications entre diffrents entits selon des rgles bien
dfinies. Partant, le rseau de communication nous aide changer des donnes et des in-
formations de faon scurise, en reliant des machines terminales entre elles, telles que des
stations de travail ou des serveurs. La connexion entre les diffrents lments constitutifs
dun rseau peut seffectuer par des cbles (coaxiaux ou tlphoniques), par des ondes radio
(comme le Wi-Fi), par la fibre optique, etc. Le type de support de communication choisi
dans un rseau influence sur la vitesse de transmission des donnes.

On peut dfinir la topologie dun rseau de communication comme un ensemble de nuds


et de liens, dont les liens dcrivent comment les diffrents nuds sont relis entre eux afin
que linformation soit transmise dun nud lautre.

6
La figure 1.1 montre un exemple de rseau de communication qui utilise de diffrents
supports de communication pour transmettre linformation.

Figure 1.1 Rseau optique de France Tlcom


Source : [6]

Dans ce travail nous nous intressons aux rseaux de communication qui utilisent des fibres
optiques pour transmettre linformation.

1.2 Rseaux optique


Les rseaux optique permettent de transporter des signaux sous forme de lumire. Un
systme de transmission optique est constitu gnralement de trois parties : un metteur,
une fibre optique et un rcepteur. La figure 1.2 montre des metteurs et des rcepteurs qui
sont responsables de la transformation des signaux lectriques en signaux lumineux dans la
fibre optique et vice versa.[7]

7
Figure 1.2 Liaison par fibre optique
Source : [7]

Selon [4], les avantages lis la transmission de linformation par les fibres optiques sont
multiples par rapport aux autres supports de communication (les cbles ou les ondes de radio,
par exemple). En particulier, les signaux sont mieux prservs, puisquils sont insensibles
aux perturbations lectromagntiques, et que la vitesse de transmission de donnes est trs
rapide.

De plus, la fibre optique est le support de communication le plus performant, permettant de


bnficier de la plus grande capacit dinformation potentielle allant jusqu 100 GHz/km, et
des meilleurs dbits - sous certaines conditions.[4] Cependant, selon [7], la demande toujours
plus forte de capacit de transmission pourrais conduire une saturation rapide des fibres
optiques.

Dans ce contexte, selon [7], de nombreux efforts de recherche ont t mis en uvre afin de
pouvoir rpondre laugmentation du trafic dans les rseaux optiques sans devoir raliser
des nouveaux investissements. Ses recherches se sont focalises sur la possibilit daugmenter
la capacit de transmission des fibres optiques. Les rseaux optiques WDM et flex-grid ont
alors t raliss dans le but daugmenter la capacit de ces transmissions.

1.2.1 Rseaux optique WDM


Selon [4], laugmentation de la capacit de transmission des fibres optiques a t rendue
possible grce des avances technologiques marquantes telle que le multiplexage en longueur
donde. Cette technique est aussi appele WDM (Wavelength Division Multiplexing) ou

8
encore DWDM (Dense WDM), lorsque le nombre de longueurs donde 1 est trs important.

Grce au multiplexage en longueur donde, plusieurs longueurs donde distinctes peuvent


emprunter la mme fibre pour transporter un trs haut dbit diffrents flux de donnes
sans interfrence. Cest--dire quon fournit plusieurs fibres virtuelles sur une seule fibre
en associant chaque signal lumineux une longueur donde. Dans ce rseau, chaque longueur
donde correspond un canal de transmission ; en dautres termes, une connexion.

On fait le multiplexage en longueur donde en remplaant lmetteur unique, gnralement


utilis, par plusieurs sources lasers fonctionnant chacune une longueur donde diffrente.[8]
La figure 1.3 montre le schma de multiplexage en longueur donde.

Figure 1.3 Multiplexage en longueur donde


Source : [10]

Les rseaux optiques actuellement dploys utilisent le WDM qui opre sur une grille de
frquences rigide caractrise par un espacement identique en GHz entre deux canaux adja-
cents (gnralement 50 GHz ou 100 GHz).[4] Nous pouvons dire quon a donc des longueurs
donde de capacit de 50 GHz ou 100 GHz. Cette taille rigide et large de la grille de fr-
quences provoque lutilisation inefficace des ressources en termes de capacit. En effet, dans
les rseaux optiques actuels, il est ncessaire de faire lattribution de lintgralit dune lon-
gueur donde pour tablir une connexion, mme lorsque la bande passante 2 requise par une
1. La longueur donde sexprime comme tant la vitesse de londe divise par sa frquence. On lexprime
en mtre.
2. La bande passante est dfinie comme la quantit de donnes que lon peut transmettre sur un support
pendant un intervalle de temps. On lexprime en bits par seconde (bps). La bande passante dsigne aussi la

9
demande est infrieure la capacit dun canal de transmission (dune longueur donde). En
dautres termes, on a une longueur donde qui a trop de capacit par rapport la demande. Il
faut donc trouver une faon dutiliser plus efficacement les ressources du rseau, en termes de
capacit. Et dans ce contexte, nous travaillons sur le concept de rseau optique flex-grid qui
peut aider amliorer la flexibilit du rseau et ainsi utiliser plus efficacement ses ressources.

1.2.2 Rseaux optique flex-grid


Dans un rseau optique flex-grid on enlve la grille de frquences rigide de la technologie
prcdente, et on la remplace par une spectre des frquences flexible de granularit plus
fine : les tranches de spectre (de 25 GHz, 12.5 GHz ou 6.25 GHz).[1] Dans ce cas l, une
squence conscutive de tranche de spectre peut correspondre un canal de transmission
(contrairement au WDM dont chaque longueur donde correspond un canal). Donc on
a des canaux de transmission qui ont une largeur de bande qui varie conformment la
ncessit de bande passante de chaque demande.

La figure 1.4 montre, dans un spectre de frquences dune fibre optique, le concept de canal
de transmission lie aux tranches de spectre. Dans la figure, le canal c1 utilise les tranches
de spectre 1 et 2 tandis que le canal c2 utilise les tranches de spectre 2 4.

Figure 1.4 Concept de canal de transmission dans un rseau optique flex-grid

Selon [10], le concept des tranches de spectre est daffecter la dimension approprie de la
bande passante, par opposition la grille fixe, tout au long dun chemin optique. Ces rseaux
permettent donc des gains de capacit par rapport aux rseaux WDM ds quils oprent sur
un spectre flexible, en affectant une bande passante minimale demande.
largeur de lintervalle de frquences utilisables sur un support, elle sexprime alors en Hertz (Hz).

10
Par exemple, dans un rseau optique flex-grid, si la bande passante requise par une de-
mande est de 28 GHz et on a une grille de frquences de largeur 6.25 GHz, 5 tranches de
spectre sont ncessaires, donc 5 x 6,25 GHz est la largeur de bande totale attribue cette
demande et, ensuite, le spectre non utilis correspond 3,25 GHz. Pendant que dans un
rseau optique WDM, pour la mme demande de 28 GHz, si on a une grille de frquence
de largeur 50 GHz, 1 longueur donde est ncessaire, donc 50 GHz est la largeur de bande
totale attribu cette demande et, ensuite, le spectre non utilis correspond 22 GHz : 6
fois plus grand par rapport ce qui est utilis avec une spectre de granularit plus fine. La
figure 1.5 montre le exemple donn.

Figure 1.5 Allocation de la bande passante pour une demande de 28 GHz


(a) WDM (b) Flex-grid
Source : [11]

Dans ce travail nous nous intresserons alors aux rseaux flex-grid et la manire daffecter
ses ressources afin de satisfaire les demandes de bande passante. Cela se rsume au problme
de routage et dallocation du spectre (RSA), que nous dfinirons par la suite.

11
Chapitre 2

Formalisation du problme de routage et


dallocation du spectre (RSA)

Dans ce chapitre nous allons formaliser le problme concernant cette tude. Nous commen-
cerons par dfinir quelques termes qui seront toujours utiliss dans ce problme. Ensuite nous
dfinirons le problme RSA et ses contraintes. la fin nous donnerons lintrt dtudier ce
type de problme.

Dans cette tude, nous considrons un rseau flex-grid qui est reprsent par un ensemble
de nuds lis par des fibres optiques. Plusieurs techniques existent pour modliser des pro-
blmes concernant les rseaux optiques, telle que la reprsentation graphique du rseau en
question : les sommets peuvent reprsenter des entits et les artes linterrelation entre celles-
ci. Notre problme peut donc tre reprsent par ce moyen simple et prcis. 1

Nous dfinissons une demande d dans le rseau comme un ensemble de paires de nuds de
(x, y) pour toute requte allant du nud x au nud y. Chaque demande sera aussi associe
un volume de demande de bande passante h(d). Nous avons ainsi, un ensemble D comprenant
tous les demandes.

Nous appellerons les fibres optiques des liens. Chaque lien a donc un spectre de frquences
S qui est divis en frquences plus fines : les tranches de spectre s qui ont une capacit
soit de 25 GHz, soit de 12.5 GHz ou encore de 6.25 GHz. Donc on peut dire que S est un
1. Les formalisations rigoureux de la modlisation dun rseau comme un graphe seront faites aprs la
dfinition thorique dun graphe.

12
ensemble de tranches de spectre S = {1, 2, ...,|S|}, dont |S| est le nombre de tranches de
spectre disponible pour chaque lien.

Pour un rseau optique flex-grid, comme mentionn prcdemment, on peut tablir un ca-
nal de transmission comme une squence conscutive de tranches de spectre. Nous dfinissons
alors un canal Cd comme une telle squence associe une demande d D.

Nous dfinissons une route comme un chemin au travers du rseau depuis un nud source
vers un nud de terminaison dune demande. La route est donc un ensemble de liens. Et
enfin, nous dfinissons le concept de chemin optique qui comprend une paire : une route et
un canal.

Nous voulons traiter un rseau optique flex-grid en optimisant lutilisation des ressources,
cest--dire satisfaire les demandes en affectant les ressources disponibles de la mieux faon
possible. Cela signifie trouver une route et affecter les tranches de spectre chaque demande,
ou encore, attribuer un chemin optique chaque demande de faon que le volume de demande
soit satisfaite. Cela se rsume trouver une solution au problme de routage et dallocation
du spectre.

Selon [1], le problme RSA vise allouer le moins de ressources pour un rseau optique
afin de satisfaire le nombre maximum de demandes selon un certain nombre de contraintes.
Les contraintes associes au RSA sont :
Continuit du spectre : la continuit du spectre au long des liens dun chemin optique
donn signifie que lensemble des tranches de spectre utilises doit rest le mme dans
tous les liens de la route.
Contigut du spectre : la contigit de spectre pour lattribution des frquences dune
demande signifie que lensemble des tranches de spectre attribues une demande doit
tre contigu.
Non-recouvrement du spectre : le non-recouvrement du spectre sur chaque lien de fibre
optique signifie que chaque tranche de spectre sur une fibre doit tre utilise par une
demande seulement.

Selon [1], la croissance significative du volume de demande impose des innovations dans le
rseau de transport afin de rpondre aux exigences de trafic de faon contenir les cots et

13
la consommation dnergie. Cest pourquoi le problme RSA est important. Il permet luti-
lisation efficace des ressources dans un rseau optique flex-grid, afin de satisfaire le nombre
maximum de demandes.

Nous nous intressons dans ce travail au cas mono-objectif de ce problme, cest--dire que
nous choisissons un seul paramtre minimiser. Nous travaillons soit la minimisation de
la longueur des chemins optiques (mesure en termes de nombre de liens utiliss), soit la
minimisation de la largeur du spectre (mesure en termes de nombre de tranches de spectre
utiliss), soit le niveau de congestion du rseau (mesure en termes de nombre de tranches
de spectre utiliss dans chaque lien), soit la charge moyenne des liens (mesure en termes
de nombre de tranches de spectre utiliss dans tous les liens par rapport au nombre de liens
du rseau). Selon [1], limportance de ces objectifs est de fournir des informations pour le
rseau planificateur au sujet dun certain nombre de ressources ncessaires pour tre utilis,
et donc des cots lis ces ressources pour soutenir une demande de trafic donn.

Par ailleurs, surtout quand on minimise la largeur du spectre nous pouvons peut-tre sa-
tisfaire plus de demandes par rapport quand on minimise la longueur des chemins optiques.
Cest--dire que si on minimise le nombre de tranches de spectre utiliss dans le rseaux, il
serait possible quil y ai des spectres non utiliss pouvant satisfaire dautres demandes. Nous
donnons une illustration de cela avec la figure 2.1.

Figure 2.1 Exemple paramtres doptimisation

14
Dans cette exemple, nous supposons que la demande d1,10 a t satisfaite par lallocation
des tranches de spectre {1,2,3}, avec la route rose qui utilise les deux liens e1,12 et e12,10 .
Ensuite nous voulons traiter ce rseau afin de satisfaire la demande d6,5 dont le volume de
tranches de spectre est 3 :
Si nous optons pour une minimisation de la longueur des chemins optiques, le rsultat
sera la route marqu en bleu dans la figure dexemple : la route minimum possible de
4 liens (e6,11 , e11,12 , e12,10 et e10,5 ). Toutefois pour ce chemin, nous pouvons pas utiliser
les tranches de spectre {1,2,3} de sorte respecter la contrainte de non-recouvrement
du spectre. Et donc on alloue nimporte quelle autre squence conscutive de tranche
de spectre.
Dautre part, si nous optons pour une minimisation de la largeur du spectre, le rsultat
sera la route marqu en rouge dans la figure dexemple : la route qui minimise le nombre
tranches de spectre utilis (e6,11 , e11,12 , e12,13 , e13,14 et e14,5 ). Dans ce cas l, comme
cette route na aucun lien en commun route de la demande d1,10 , nous pouvons
allouer les tranches de spectre {1,2,3} pour la demande d6,5 aussi. Et grce cela,
nous avons dautres squences conscutives de tranches de spectre non-utiliss pour
satisfaire dautres demandes.

Les modles tudis dans ce travail traitent un rseau optique en respectant les contraintes
du RSA et en utilisant les dfinitions qui nous avons spcifi dans ce chapitre. Nous dfinirons
ces modles dans le chapitre 6 et 7, aprs dtailler les aspects thoriques du cadre de notre
tude.

15
Chapitre 3

Aspects thoriques

Dans ce chapitre nous dcrivons les diffrents aspects thoriques qui seront fondamen-
taux la comprhension du notre problme RSA dans un rseau optique flex-grid. Nous
commencerons par dcrire la Thorie des graphes, qui est important pour comprendre la mo-
dlisation dun rseau en un graphe. Ensuite nous dcrivons la Programmation linaire afin
dintroduire la Programmation linaire en nombres entiers et la Programmation linaire en
variables binaires, qui est le type du problme RSA. Toujours dans le contexte de program-
mation linaire, nous parlerons la fin, de la notion de dualit en programmation linaire.
Pour introduire les techniques mathmatiques de branch and bound, de branch and cut et la
Gnration de colonnes nous eux ddierons un chapitre aprs celui-ci.

3.1 Thorie des graphes


Les graphes sont trs utiliss en informatique et en mathmatiques appliques. Nous les
trouvons partout : dans les rseaux, dans lordonnancement de processus, etc. Mais, ils
sont surtout utiliss pour modliser des problmes plus ou moins complexes. Cette section
formalisera la dfinition de graphe pour mieux comprendre les rseaux optiques.

3.1.1 Dfinitions
Selon [12], un graphe est compos de sommets et darcs (ou dartes). Un graphe G est
dfini de manire formelle par un couple (S, A) o :
S est un ensemble fini dlments. Chacun de ces lments est appel sommet du
graphe.

16
A est un sous ensemble (ventuellement nul) de paires dlments de S. Dans le cas
dun graphe simple orient, A est un ensemble de couples dlments de S. Chacun de
ces lments de A est appel arc si le graphe est orient, ou arte si le graphe est un
graphe non orient.

Lensemble A dun graphe orient, par exemple, est donc compos de paires (x, y), o x
et y sont appels les extrmits de larc.

Nous appellerons taille du graphe la cardinalit de lensemble A, cest--dire le nombre


darcs du graphe. De mme, nous appelons ordre la cardinalit de lensemble S, cest--dire
le nombre de sommets du graphe.

Les graphes non orients sont des graphes qui nont pas dorientation sur leurs arcs (nous
utiliserons donc le terme arrte), cest--dire que sil y a une arrte entre les sommets u et
w, le flux dinformation suit les deux orientations : de u w et de u w. Tant u que w
peuvent tre extrmits initiales et extrmits finales de larrte, dpendant du cas. La figure
3.1 montre la reprsentation dun graphe non orient de taille 6 et dordre 5.

Figure 3.1 Reprsentation dun graphe


Source : [14]

Dans ce contexte, un chemin de longueur k entre un sommet u et un sommet w dun


graphe G = (S, A) est une squence de sommets v0 , v1 , ..., vk tels que u = v0 , w = vk , et
(vi1 , vi ) appartient A pour i = 1, ..., k. Nous dirons quun sommet w est atteignable partir
dun sommet u sil existe un chemin entre u et w tel que sa longueur k est zero . Deux
sommets sont appels adjacents si k = 1. Dans ce contexte, un graphe complet est un graphe
dont tous les sommets sont adjacents, cest--dire que tout couple de sommets disjoints est

17
reli par une arte. Un cycle dans le graphe est dfinie comme un chemin v0 , v1 , ..., vk tel
que k > 0 et v0 = vk . Et finalement, un chemin est dit lmentaire si tous ses sommets sont
distincts.

3.1.2 Reprsentation
Dans cette tude nous avons choisi une matrice dadjacence pour reprsenter les graphes
de chaque problme. Ce type de reprsentation consiste en utiliser une matrice carr ayant
pour taille lordre du graphe.

Considrons la matrice M carre, o le coefficient mij , qui est le coefficient lintersection


de la ligne i et de la colonne j, peut prendre deux valeurs pour les arc qui nont pas de poids
associs : soit 1 , soit 0. Elle vaut 1 si larc (i, j) existe, cest--dire quil existe un arc reliant
le sommet j au sommet j. Elle vaut alors 0 si les sommets ne sont pas adjacentes.

Voici donc dans la figure 3.2 un exemple de graphe et de sa matrice dadjacence associe :

Figure 3.2 Un graphe et sa matrice dadjacence associe


Source : [15]

Nous remarquons aisment quun graphe non orient sera reprsent par une matrice
symtrique, cest--dire mij = mji . Cest aussi clair que dans un graphe complet mij >
0 (i, j) A.

18
3.1.3 Le plus court chemin entre deux sommets
Dans la thorie des graphes, le problme du plus court chemin est de minimiser le cot
de la traverse dun graphe entre deux sommets. Ce cot est donn par la somme des poids
de chaque arc (ou arte). Sil ny a pas de poids associs aux arcs de manire explicite, nous
devons assumer la valeur 1 pour tous les arcs existante.

Le problme du plus court chemin est un des problmes gntiques intensivement tudis et
utiliss dans divers domaines tels que lingnierie des transports, la recherche oprationnelle,
informatique et intelligence artificielle. Ceci provient de son application potentielle de
nombreux problmes pratiques qui se produisent dans le transport, dans la logistique, dans
les rseaux informatiques, etc.

Selon [15], il existe plusieurs faon pour rsoudre les problmes plus court chemin, chacun
adapt un ensemble de problmes diffrents :
problme dunique destination : consiste dterminer le plus court chemin entre chacun
des sommets du graphe et un sommet de destination donn ;
problme dunique origine : dterminer le plus court chemin entre un sommet donn
et tous les autres sommets du graphe ;
problme dorigine-destination : dterminer le plus court chemin entre sommets don-
nes ;
problmes de toutes les paires : dterminer le plus court chemin entre chaque paire de
sommets prsents dans le graphe.

Selon les mmes auteurs, les algorithmes spcialiss pour rsoudre le problme du plus
court chemin sont parfois appels algorithmes de recherche de chemin. Parmi les algorithmes
de cette classe, les plus connus sont :
Algorithme de Dijkstra : il rsout le problme avec un sommet dorigine dans un graphe
dont les arcs ont des poids suprieur ou gale zro. Cet algorithme est capable de
dterminer le plus court chemin en partant dun sommet de dpart tous les autres
sommets du graphe ;
Algorithme de Bellman-Ford : il rsout le problme avec un sommet dorigine dans un
graphe dont les arcs peuvent avoir des poids ngatifs ;

19
Algorithme de Johnson : il dtermine la distance entre toutes les paires de sommets
dans un graphe.

Pour en savoir plus propos de ces algorithmes, nous indiquons une bref lecture de [16].

Dans notre problme nous modlisons le rseau traiter comme un graphe G(V, E) non-
orient o chaque nud du rseau est reprsent par un sommet du graphe et il y a une
arte entre deux sommets qui reprsente un lien de fibre optique entre les deux nuds
correspondants. On a donc une topologie physique de G avec |V | nuds et |E| liens.

Une demande d dans G est dfinie comme un ensemble de paires de nuds de V . Une
route dans G est dfinie alors comme un ensemble de liens E. Pour une solution du problme
RSA, il y a la possibilit que telle route ne soit pas lmentaire, cest--dire quon peut avoir
des cycles dans le graphe G. Pourtant, une solution dsir du problme RSA est de telle
sorte que les routes soient lmentaires. Nous utiliserons des algorithmes pour calculer le
plus court chemin pour chaque demande d dans G, afin de trouver la route associ son
chemin optique.

3.2 Programmation linaire


Le dveloppement de la programmation linaire a t class comme un des plus grands
progrs scientifiques depuis les annes 1950. Selon [17], le problme doptimisation dune
fonction linaire soumis des contraintes linaires a eu son origine avec les tudes de Fourier
des systmes dingalits linaires en 1826. Cependant, seulement en 1939 Kantorovich [18]
note limportance pratique de ces questions, en crant un algorithme pour sa solution.

Ce type de problme a son apoge avec George Dantzick dans les annes 1940, avec la
formulation du problme de lalimentation comme tant un problme de mlange de com-
posants. Dantzig non seulement formule le problme de programmation linaire, mais cre
galement lalgorithme Simplex pour sa solution en 1947. Son impact sur le milieu du XXe
sicle a permis aux entreprises dconomiser des millions deuros, en continuant aider les
diffrents secteurs aujourdhui.

Selon [19], un problme gnral rsoudre par la programmation linaire peut tre dfini
comme lobjectif de allouer de la meilleure faon possible - faon optimale - les ressources

20
limites pour les activits qui sont en concurrence les unes avec les autres. Ainsi, le choix du
niveau dactivit dtermine la quantit de chaque ressource consomme chaque activit.

La programmation linaire utilise donc un modle mathmatique pour dcrire le problme


tudi. Selon [17], ladjectif linaire dit que toutes les fonctions mathmatiques de ce modle
sont ncessairement des fonctions linaires 1 . Par contre, le nom programmation, dans ce
contexte, ne se rfre pas directement la programmation informatique. Il est, par essence,
un synonyme de planification.

Ainsi, la programmation linaire enroule les activits de planification pour obtenir un


rsultat optimal, i.e., un rsultat qui permet dobtenir la meilleure allocation des ressources
entre tous les scnarios possibles.

Nous pouvons donc dfinir un modle gnrique pour tout problme de programmation
linaire comme suit :
max ct x (3.1)

Ax b (3.2)

x0 (3.3)

O c et b sont des vecteurs ayant des valeurs constantes et ont pour taille la quantit de
variables de dcision et la quantit de contraintes respectivement. A est une matrice [|b|, |c|]
ayant aussi des valeurs constantes pour reprsenter les coefficients de chaque variable dans
chaque contrainte. Ici, x est la reprsentation, galement par un vecteur, des variables de
dcision. L algorithme Simplex est une puissant outil pour rsoudre ce type de problme.

3.2.1 Programmation linaire en nombres entiers et programmation


linaire en variables binaires
Selon [17], un problme de programmation linaire en nombres entiers est un problme
de programmation linaire dans lequel toutes ou partie des variables sont discrtes - ils
doivent tre des valeurs entires. Lorsque toutes les variables sont soumises la condition de
lintgralit, nous parlons de problme de programmation linaire en nombres entiers pure.
1. Une fonction affine est une fonction du type f (x) = ax + b, o x est variable et a et b sont des constants
relles. Son graphique est toujours une ligne droite. Une fonction linaire, quant lui, est une fonction affine
o b est gal zro, prenant la forme f (x) = ax.

21
Cependant, sil y a des variables continues et discrtes, le modle mathmatique est donc un
problme de programmation linaire entire mixte en nombres entiers.

Nous pouvons donc crire le programme de la manire suivante :

min{cx : Ax b, x 0, x Z}

Lauteur de [20] considre comme une des applications les plus importantes les problmes
de programmation linaire impliquant dcisions du type oui ou non. Dans ces dcisions les
seuls choix possibles sont oui ou non. Avec seulement deux options, ces dcisions peuvent
tre reprsentes par des variables de dcision qui sont limites seulement deux valeurs,
typiquement 0 ou 1.

Ainsi, li-me dcision de cette nature est reprsent par xi , tel que :

1 , si la dcision est oui
xi =
0 , si la dcision est non

Ces variables sont appeles variables binaires. Par consquent, les problmes de program-
mation linaire qui contiennent des variables binaires peuvent tre classs comme des pro-
blmes de programmation en variables binaires.

Selon [21], ces types de problme sont de problme combinatoire appartenant intrinsque-
ment la classe des problmes N P dif f icile. Un problme est dite de la classe P sil
existe un algorithme pour le rsoudre en temps polynmial 2 . Cest la classe des problmes
dits facile rsoudre. La classe de problmes N P dif f icile possde des solution exponen-
tielle 3 , ou pire quexponentielle. Cest la classe des problmes dits trs difficile rsoudre.
Pour rsoudre un PLNE en temps polynomial il faut relaxer les contraintes qui dterminent
que les variables sont entiers, et on a donc pour le problme :

min{cx : Ax b, x 0, x 0}
2. La complexit dun algorithme est son temps de calcul dans le pire cas. Il est dite polynomiale si elle
est O (nk ), pour un certain entier k.
3. Un algorithme est en temps exponentiel si et seulement si il nest pas polynomial.

22
Dans notre problme RSA nous travaillons avec ce type de problme, ds que nos variables
sont du type entire {0, 1}. Nous pouvons donc utiliser de la technique de relaxation des
contraintes du domaine des variables pour rsoudre le problme en temps polynomial.

3.2.2 Dualit en programmation linaire


Selon [17], tout problme de programmation linaire est associ un autre problme de
programmation linaire appel dual. Et on appelle ce problme original le problme primal.
Les relations entre le problme dual et le problme dorigine (primal) sont extrmement
utiles. Nous utiliserons ces relations et des thormes de la dualit comme base thorique
pour aider la comprhension de la mthode de gnration de colonnes.

Soit un problme de programmation linaire primal dcrit de la manire suivante gauche,


nous avons pour son problme dual correspondant la modlisation droite :

P RIM AL DU AL

max ct x min bt y

Ax b At y c

x0 y0

Si le problme primal est de maximisation, le problme dual est de minimisation. Le


problme dual utilise les mmes paramtres que son problme primal associ, mais selon la
faon suivante :
Les coefficients de la fonction objective du problme primal sont les cts droits des
contraintes dans le problme dual.
Les cts droits des contraintes dans le problme primal sont les coefficients de la
fonction objectif du problme dual.
Les coefficients dune variable dans les contraintes du problme primal sont les coeffi-
cients dune contrainte du problme dual.

Sachant que le dual est aussi un problme de programmation linaire, on peut dire qui
lui aussi est associ un autre problme de programmation linaire appel dual. Si on remonte
le problme, on aperoit que ce dernier nest autre que le problme dual du dpart. Donc on
a que le dual dun problme dual est gal au problme primal. Les autres relations primal

23
<=> dual peuvent tre dcrits par les thormes de la dualit. Dans ce travail nous citerons
les thormes mais nous nexpliquerons pas.
Thorme 1. Thorme faible de la dualit. Si x est une solution ralisable du problme
primal, et y une solution ralisable du problme dual, alors ncessairement ct x bt y.
En particulier, si ct x = bt y alors x est une solution optimale du primal et y est une
solution optimale du dual.
Thorme 2. Thorme fort de la dualit. Si le problme primal possde une solution
optimale x alors le problme dual possde une solution optimale y. Dans ce cas, on a
ncessairement ct x = bt y.
Thorme 3. Thorme des carts complmentaires. Si x est une solution ralisable du
problme primal, et y une solution ralisable du problme dual. Alors x et y sont des
solutions ralisables optimales si et seulement si les conditions suivantes sont vrifies :
Si une contrainte est satisfaite en tant quingalit stricte dans le primal(dual)
alors la variable correspondante du dual(primal) est nulle.
Si la valeur dune variable dans le primal(dual) est strictement positive alors la
contrainte correspondante de du dual(primal) est une galit.

Le problme dual a aussi une interprtation conomique beaucoup utilise, appel le cot
rduit. La valeur de la variable dual correspondant une contrainte du primal donne la valeur
du cot rduit de cette contrainte. On considre le cot rduit comme le gain potentiel quon
peut avoir dans la fonction objectif du primal : son valeur nous donne leffet sur la fonction
objectif si on augmente dune unit le ct droit de la contrainte. On calcule le cot rduit
cr associ une variable x du primal : cr = c At y. Si on regarde la contrainte At y c du
modle dual dcrit prcdemment, on peut facilement voir que le cot rduit est associ au
fait de la contraint tre satisfaite ou non.

Nous utiliserons ces concepts de primal-dual quand nous formaliserons la mthode de


gnration de colonnes afin de rsoudre un modle, du cadre de ce stage, de faon optimal.

24
Chapitre 4

Branch and Bound et Branch and Cut

Dans ce chapitre, nous parlerons propos des algorithmes Branch and Bound et Branch
and Cut. Ces deux algorithmes sont lis et serons utiliss pour rsoudre les problmes RSA
ici proposs.

4.1 Branch and Bound


La rsolution de problmes NP-difficiles doptimisation discrets pour optimalit est sou-
vent un travail immense ncessitant des algorithmes trs efficaces, et le paradigme Branch
and Bound est lun des principaux outils dans la construction de ces derniers. Un algorithme
Branch and Bound recherche lespace complet de solutions pour un problme donn pour
la meilleure solution. Toutefois, lnumration explicite est normalement impossible en rai-
son du nombre exponentiellement croissant de solutions potentielles. Lutilisation de limites
pour la fonction optimiser combine la valeur de la meilleure solution actuelle permet
lalgorithme de recherche des parties de lespace de solution que de faon implicite.

tout moment pendant le processus de recherche de la solution, ltat de la solution


par rapport la recherche de lespace de solution est dcrite par un sous-ensemble encore
inexplor de cela et la meilleure solution trouve jusquau prsent. Selon [17], dans un premier
moment, un seul sous-ensemble existe, savoir lespace de solution complte, et la meilleure
solution trouve jusqu prsent est . Les sous-espaces inexplors sont reprsents comme
des nuds dans un arbre de recherche gnr dynamiquement, qui, initialement, ne contient
que la racine, et chaque itration de lalgorithme classique traite un tel nud. Litration
comporte trois composantes principales : la slection du nud traiter, calcul de la limite,

25
et la ramification. La squence de ceux-ci peuvent varier en fonction de la stratgie choisie
pour slectionner le nud suivant traiter.

Si la slection de sous-problme suivant est bas sur la valeur de la limite des sous-
problmes, la premire opration dune itration aprs avoir choisi le nud est la ramifi-
cation, cest--dire la subdivision de lespace de la solution du nud en deux ou plusieurs
sous-espaces tudier dans une itration subsquente. Pour chacun deux, on vrifie si le
sous-espace consiste en une solution unique, auquel cas elle est compare la meilleure
solution courante en gardant le meilleur dentre eux. Sinon, la fonction de slection du sous-
espace est calcule et compare la meilleure solution actuelle. Si elle peut tre tabli que
le sous-espace ne peut pas contenir la solution optimale, tout le sous-espace est rejet, sinon
il est stock dans lensemble de nuds vivants avec sa limite. Dans [22], cela est appel de
stratgie impatient pour lvaluation de nud, car les limites sont calcules ds que nuds
sont disponibles.

Lalternative est de commencer par le calcul de la limite du nud slectionn, puis se


ramifier sur le nud si ncessaire. Les nuds crs sont ensuite stocks avec la limite du
nud trait. Cette stratgie est appele paresseux et est souvent utilise lorsque le nud
suivant traiter est choisi pour tre un nud vivant de la profondeur maximale dans larbre
de recherche. La recherche se termine quand il ny a plus de parties inexplores de lespace
de solution, et la solution optimale est alors celle enregistre comme la meilleur courante.

Dans ce qui suit, nous considrons les problmes de minimisation - le cas de problmes de
maximisation peut tre traite de faon similaire. Le problme est de minimiser une fonction
f (x) de variables (x1 , x2 ...xn ) sur une rgion de solutions ralisables S. La fonction f est
appele la fonction objective Lensemble des solutions possibles est gnralement dtermine
par les conditions gnrales sur les variables, comme par exemple. que ceux-ci doivent tre des
entiers non ngatifs ou binaire, et des contraintes particulires qui dterminent la structure
de lensemble ralisable. Dans de nombreux cas, un ensemble de solutions potentielles P S,
pour chaque f , est bien dfini. Une nouvelle fonction f 0 (x), dfinie sur P avec la proprit
que f 0 (x) f (x) pour tous x0 P , se pose naturellement.

26
4.2 Branch and Cut
Branch and Cut est une mthode doptimisation combinatoire pour rsoudre des pro-
grammes linaires entiers, soit des problmes de programmation linaire, o quelques-uns ou
tous les inconnues sont limites des valeurs entires. Il consiste excuter un algorithme de
Branch and Bound et dutiliser les plans de coupe pour serrer les relaxations de programma-
tion linaire. Notez que si les coupes ne sont utilises que pour serrer la premire relaxation
problme linaire, lalgorithme est appel Cut and Branche.

La mthode rsout le programme linaire sans la contrainte de nombre entier en utilisant


lalgorithme simplex rgulire. Selon [23] Quand une solution optimale est obtenue, et cette
solution a une valeur non entire pour une variable qui est cense tre un nombre entier, un
algorithme de plan coupant peut tre utilis pour trouver de nouvelles contraintes linaires
qui sont satisfaites par tous les points entiers possibles mais viols par le solution fractionnaire
actuelle. Ces ingalits peuvent tre ajoutes au programme linaire, de telle sorte que la
rsolution il produira une autre solution qui est moins fractionnelle. A cette tape, une
partie de lalgorithme Branch and Bound est dmarre. Le problme est divis en plusieurs
(gnralement deux) versions. Ces nouveaux programmes linaires sont ensuite rsolus en
utilisant la mthode du simplex, et le processus se rpte.

Au cours du processus, des solutions non entiers relaxations du problme linaire servent
comme des limites suprieures et des solutions intgrales servent de limites infrieures. Un
nud peut tre lagu si une limite suprieure est infrieure une limite infrieure existante.
En outre, selon [17], lors de la rsolution des relaxations du problme linaire, plans de coupe
supplmentaires peuvent tre gnrs, qui peuvent tre des coupes mondiales, cest--dire que
elles sont valables pour toutes les solutions entires possibles, ou des coupes locales, ce qui
signifie que elles sont satisfaits par lensemble des solutions rpondant aux contraintes du
ct de la branche actuellement considr.

Lalgorithme est rsum ci-dessous :

27
DBUT
Ajouter le problme linaire en nombre entiers initial L, la liste des problmes actifs
Initialiser x0 = null et f 0 (x) =
Rpter
Slectionner et supprimer un problme de L
Rsoudre le problme de la relaxation linaire
Si solution infaisable alors
Revenir au dbut de la boucle.
Sinon
Dnoter la solution par x avec lobjectif valeur f 0 (x)
Fin Si
Si f (x) f 0 (x) alors
Revenir au dbut de la boucle.
Fin Si
Si x entier alors
fixer x0 = x
fixer f 0 (x) = f (x)
Revenir au dbut de la boucle.
Fin Si
Rechercher des plans qui sont viols en la coupant
Si lon trouve alors
Ajoutez-le la relaxation du problme linaire et revenir deuxime tape
de la boucle.
Fin Si
Ramifier le problme avec les rgions possibles restreintes
Ajouter ce problme L
Tant que L est vide
Retourner x0
FIN

Cette mthode est dj implmente par CPLEX et est aussi utilise par default quand
loutil trouve des variables entires dans le modle. Donc, nous navons pas besoin de crer
un code spcifique pour lutiliser.

28
Chapitre 5

Gnration de colonnes

Dans ce chapitre nous parlerons de la mthode de rsolution de gnration de colonnes.


Elle est une technique utilise pour rsoudre un programme linaire lorsque le nombre de
variables du modle rsoudre est trs important.

Lorigine des mthodes de gnration de colonne nest pas nouvelle. Les principes de base
de gnration de colonnes ont t publis depuis plus de quatre dcennies [24]. Ainsi, sont
nes les mthodes de sparation et la gnration de colonnes (branch-and-price). Lune des
premires applications pratiques avec succs a t faite en 1961 et 1963 par Gilmore et
Gomory [3] sur le problme de dcoupage. Dans cette application, la solution a t trouve
par larrondissement.

Dans la mthode de gnration de colonnes, le problme initial se dcompose en deux


problmes :
problme matre restreint : le problme rsoudre, avec moins de colonnes ;
sous-problme : gnrateur de nouvelles colonnes pour le problme matre.

Ces colonnes sont intgres dans lensemble des colonnes utilises par le problme matre
restreint pour amliorer la solution actuelle. Selon [24], le problme matre restreint est
un problme de programmation linaire et na pas la proprit dintgralit de la solution.
Par consquent, il ne dispose toujours pas dun problme dual associ dont la solution a
exactement la mme valeur, empchant le calcul correct des cots du problme dual. Selon
le mme auteur, pour obtenir les valeurs duales ncessaires dans la solution du sous-problme,
le problme de matre restreint nest pas rsolu directement, nous devons donc rsoudre sa

29
relaxation linaire. Dans ce cas, les variables correspondant chaque colonne ne sont plus
binaires, mais elles restent comme variables non-ngatifs.

Pour [25], le but du sous-problme est donc de gnrer des nouvelles colonnes (des va-
riables). Ces nouvelles colonnes sont ajoutes au problme matre restreint qui amliore la
valeur de la solution ou met jour les variables duales pour permettre la production dautres
nouvelles colonnes par le sous-problme.

Linteraction entre ces deux problmes est reprsent sur la figure 5.1 ci-dessous :

Figure 5.1 Interaction entre le problme matre restreint et le sous-problme

Comme le problme principal ne fonctionne quavec un sous-ensemble de colonnes, un


paquet de programmation linaire peut trouver rapidement la solution. Lorsque des nouvelles
colonnes sont ajouts peu peu, une solution peut tre obtenue partir de la solution
antrieure. Ainsi, la plupart de la modlisation concentre sur les approches pour rsoudre le
sous-problme de manire plus efficacement.

5.1 Problme avec beaucoup de contraintes


Dans les problmes avec beaucoup de contraintes est commun dutiliser la mthode de
plans de dcoupage, ne pas pour crer des nouvelles contraintes, mais pour ajouter peu peu
les contraintes existantes sur le problme. cette effet, soit P1 un problme de programma-
tion linaire gnrique, dans lequel le nombre de contraintes est trs grand :

min ct x (5.1)

sachant que
Ax b (5.2)

30
x0 (5.3)

Il est possible rsoudre le problme, mme sans utiliser toutes les contraintes. Lide est
donc de rsoudre plusieurs problmes plus petits, avec moins de contraintes. Pour cela, nous
rsolvons le problme P2
min ct x (5.4)

sachant que
A0 x b0 (5.5)

x0 (5.6)

ou A0 A et b0 b, cest--dire que le problme P2 est le problme P1 avec moins de


contraintes.

Selon [26], la solution optimale de P2 est soumis un test pour savoir quelles contraintes
de lensemble (5.2) de P1 qui ne sont pas satisfaites. Toutes ou partie de ces contraintes
non satisfaits sont inclues dans lensemble (5.5), modifiant les sous-ensembles A0 et B 0 du
problme P2 . Le problme P2 est modifi et alors rsolu de nouveau, gnrant une nouvelle
solution qui satisfait le sous-ensemble actuel de contraintes. Des nouvelles contraintes sont
dcouvertes et ajouts et le processus est rpt jusqu ce quil ny ait plus de contrainte
viole. ce moment, la solution optimale de P2 est galement une solution optimale du
problme dorigine P1 , car elle satisfait toutes ses contraintes.

Le grand avantage de cette mthode, en plus dtre simple et direct, est que la taille des
contraintes finale dans le sous-ensemble (5.5) du problme P2 est gnralement beaucoup
plus petite que lensemble original (5.2) du problme P1 , puis la solution de ce modle de
programmation linaire est plus rapide.

Pour les auteurs en [27], pour rsoudre un problme avec cette mthode, nous devons
prendre des dcisions sur trois points :
Comment dterminer lensemble initial de contraintes ;
comment trouver les contraintes non satisfaites par la solution actuelle ;
tant donn un ensemble de contraintes non satisfaites, comment dcider quelles contraintes
nous devons inclure dans le modle.

31
Selon les mmes auteurs, en rgle gnrale, ce qui influe le plus sur les performances de la
mthode en termes de temps dexcution est lalgorithme utilis dans le deuxime point, cest-
-dire lalgorithme qui permet de tester la solution en cours pour dcouvrir les contraintes
qui sont violes. Il est convient de rsoudre le problme appel problme de sparation qui
spare une partie qui comprend la solution en cours de la rgion viable du problme, en
ajoutant des nouvelles contraintes qui fonctionnent comme des plans de coupage.

Comme nous partons de lhypothse que le problme dorigine a un grand nombre de


contraintes, vrifier une par une serait un processus trs laborieux pour rsoudre le pro-
blme dorigine directement. Le problme de sparation peut tre modlis comme un autre
problme doptimisation galement rsolu par programmation linaire.

5.2 Problme avec beaucoup de variables


Dans la section prcdente, nous avons montr une faon de traiter un problme qui
prsente un grand nombre de contraintes en utilisant le problme de sparation pour ajouter
itrativement contraintes un modle rduit du problme dorigine. Des ides similaires
peuvent tre utiliss pour rsoudre les problmes avec grand nombre de variables. Si nous
pensons en termes de dualit, en fait, les ides sont identiques. Soit le problme P3

min ct x (5.7)

sachant que
Ax b (5.8)

x0 (5.9)

Ce problme a un grand nombre de variables, il peut donc tre impossible de le rsoudre


directement. Nous rsolvons dabord un problme P4 plus petit, avec un sous-ensemble x0 x
de variables :
min c0t x0 (5.10)

sachant que
A0 x0 b (5.11)

x0 0 (5.12)

32
Pour des nombreuses contraintes, chaque solution trouve doit tre teste si elle satisfait
toutes les contraintes, mme lesquelles qui ne figurent pas encore dans le modle. Nous
appelons ce test comme text de viabilit. Dans le cas ou le problme a un grand nombre de
variables nous devons faire le teste doptimalit, cest--dire que chaque solution trouve doit
tre teste pour savoir si la solution est une solution optimale du problme, mme sans les
variables qui ne figurent pas encore dans le modle.

Le test doptimalit peut tre effectu par problme de sparation du problme dual P D1
correspondant :
max by (5.13)

sachant que
At y c (5.14)

y0 (5.15)

Quand nous rsolvons le modle P4 nous trouvons une solution x0 . Soit y la solution
du problme dual correspondent P D1 . Cette solution est soumis un test pour trouver les
contraintes violes par y dans lensemble dual en (5.14). Toutes ou une partie des variables
correspondent aux contraintes violes sont ajoutes au problme P4 , en modifiant x0 , c0 et
A0 . Ce processus doit tre fait jusqu ce quil ny ait plus de contraintes violes dans le
problme dual. P D1 .

Le test en (5.14) pour un solution y , rcrit comme c At y 0, montre de faon plus


claire la signification du problme de sparation dans le modle dual. Pour chaque variable xj
le premier terme de linquation 5.16 est le cot rduit, dans le problme primal P4 , calcul
par les prix duales yi des contraintes.
X
c aij yi 0 (5.16)
i

Il est noter quune contrainte non satisfaite dans le problme dual est quivalente une
variable de cot rduit ngative dans le problme primal. Cette variable, quand ajoute au
modle, peut produire une solution ayant une meilleure valeur dans la fonction objective, et
il est donc intressant lajouter au problme.

33
La mthode est appele gnration de colonnes. Le problme dorigine avec moins de va-
riables est appel problme de matre. Le problme de sparation dans le modle dual (ou
pricing), qui est le problme pour trouver ou de gnrer une nouvelle colonne, est commu-
nment appel sous-problme.

Comme indiqu prcdemment, ce processus peut tre utilis dans les problmes o le
nombre de variables est trs grand, ce qui rendrait impossible de dvelopper un modle avec
chacun deux de faon exacte. Selon [28], il ne faut pas introduire toutes les variables dans le
modle, il suffit de crer un algorithme qui, partir des prix duales de la solution actuelle,
trouve des variables de cot rduit, puis il suffit dajouter ces variables au problme matre.

Nous pouvons aller encore plus loin : il peut tre appliqu des problmes o nous ne
connaissons pas encore toutes les variables. Il suffit de gnrer itrativement les variables de
cot rduit ngatif qui sont intressantes dans le problme doptimisation.

Dans ce chapitre, nous avons exemplifi la mthode pour une problme de minimisation,
mais lide peut tre utilise dune manire similaire aux problmes de maximisation, il suffit
de trouver les variables cot rduit positif.

Nous vrifierons par la suite que concernant les modles du cadre du notre stage, il y
a ceux qui utilisent un ensemble L(d) pour chaque d D, dont L(d) comprend tous les
chemins optiques (routes + canal) possibles dans un graphe du nud origine au nud
destination de la demande d. La combinatoire de toutes les routes lmentaire (i.e. chemin
lmentaire) possibles pour aller dun nud un autre, pour un graphe complet avec n
nuds, est (n 1)!. De plus, pour chaque demande d avec une demande de s slots, nous
avons ( |S| s + 1) (n 1)! ) chemins optiques possibles. Travailler donc avec tous les
variables qui ont le domaines L(d) est impraticable. Nous avons donc besoin dutiliser
la technique de gnration de colonnes pour ajouter de faon itrative un nouvel chemin
optique au problme maitre restreint.

34
Chapitre 6

Modles

Nous utiliserons ce chapitre pour introduire les modles proposs pour rsoudre le pro-
blme RSA. Chaquun des modles a une approche diffrente pour traiter les contraintes
techniques. Les fonctions objectifs sont aussi diffrentes dans chaque modle. Aprs la pr-
sentation des modles, nous ferons quelques comparaisons entre eux pour mieux comprendre
leur approches.

Dans un de ses travaux, [2] propose quatre modles de programmation linaire pour le
problme RSA, considrant diffrents scnarios. Dans les trois premiers modles qui seront
prsents, la fonction objectif cherche minimiser la longueur totale de toutes les routes
utilises. Le dernier modle, quant lui, cherche la minimisation du nombre total de liens
utiliss par toutes les demandes. Le but de son travail tait de faire des modles dont la
fonction objectif peut tre facilement modifi, ds quils ont juste comme objectif dfinir
des restrictions qui respectent les contraintes du RSA et donc qui donnent des solutions
ralisables pour ce problme.

Le cinquime et le sixime modle presents dans ce chapitre - MLS et MNCR - ont t


propos par lauteur [1] de la thse tudie. Il aussi a propos diffrentes scnarios pour traiter
le problme RSA. Contrairement de [2], il propose un modle de minimisation multi-objectif.

La notation utilise dans chaque modle suit les tableaux 6.1 et 6.2 ci-dessous. Partant,
nous utiliserons cette notation dans tout notre travail.

35
Table 6.1 Notations : indices, ensembles et constantes
Source : [1] et [2] adaptes

Indices
e lien v nud
d demande l chemin optique
p route s tranche de spectre
Ensembles
Cd ensemble de canaux admissibles pour la demande d ensemble de liens
P (d) ensemble de routes admissibles pour la demande d D ensemble de demandes
S spectre de frquences, S = {1, 2, ..., |S|} V ensemble de nuds
< ensemble de paires ((d, p), (d0 , p0 )) qui utilisent un lien L(d) ensemble de chemins
en commun optiques admissibles pour la demande d
+ (v) ensemble de liens qui sortent du nud v (v) ensemble de liens qui arrivent au nud v
pe pe = 1 si la route p utilise le lien e, cs cs = 1 si le canal c a la
pe = 0 sinon tranche de spectre s, cs = 0 sinon
Q(d, e, s) ensemble de chemins optiques pour la demande d C(l) ensemble de tranches de spectre
utilisant la tranche de spectre s dans le lien e du canal associ au chemin optique l
(l) ensemble de liens de la route (p) ensemble de liens de la route p
associ au chemin optique l 0 ensemble de liens orient
Constantes
s(d) nud source de la demande d c(l) longueur du chemin optique l
c(p) longueur de la route p h(d) volume de la demande d
B larguer de la bande passante dans une tranche t(d) nud destination de la demande d
de spectre

Table 6.2 Notations : variables


Source : [1] et [2] adaptes

Variables
xdl binaire, xdl = 1, si la demande d utilise le chemin optique l, xdl = 0 sinon
xdp binaire, xdp = 1, si la demande d utilise la route p, xdp = 0 sinon
yds binaire, yds = 1, si la demande d utilise la tranche de spectre s, yds = 0 sinon
ads binaire, ads = 1, si la demande d utilise des tranches de spectre suprieures s, ads = 0 sinon
bds binaire, bds = 1, si la demande d utilise des tranches de spectre infrieures s, bds = 0 sinon
ad premire tranche de spectre utilise par la demande d, cest--dire que les tranches de spectre entre 0 et ad1
ne sont pas utilises par la demande d
bd dernire tranche de spectre utilise par la demande d, cest--dire que les tranches de spectre entre bd+1 et |S|
ne sont pas utilises par la demande d
cdd0 binaire, cdd0 = 1, si ad ad0 , cdd0 = 0 sinon
xde binaire, xde = 1, si la demande d utilise le lien e, xde = 0 sinon
xpc binaire, xpc = 1, si la canal c est utilis dans la route p, xpc = 0 sinon
yes binaire, yes = 1, si la tranche de spectre s est occupe dans le lien e, yes = 0 sinon
zs binaire, zs = 1, si la tranche de spectre est utilise dans nimporte quel lien e, zs = 0 sinon
zde binaire, zde = 1, si la demande d utilise le lien orient e, zde = 0 sinon

6.1 LPC : Modle lien-chemin avec des canaux


Le nom de ce modle a t adapt de son nom dorigine Link-path formulation involving
channels. Dans ce modle, le concept de chemin optique est utilis et un ensemble de chemins
optiques admissibles L(d) est donn pour chaque demande. Un ensemble Q(d, e, s) de chemins
optiques en utilisant une certaine tranche de spectre dans un lien pour chaque demande est
aussi donn.

Lquation (6.2) reprsente la restriction qui assume que chaque demande doit utiliser
exactement un chemin optique. Lingalit (6.3) est la contrainte technique qui assure quil
ny aura quun chemin optique en utilisant la mme tranche de spectre sur le mme lien.

36
P P
min c(l)xdl (6.1)
dD lL(d)

sachant que
P
xdl = 1 d D (6.2)
lL(d)
P P
xdl 1 s S, e (6.3)
dD lQ(d,e,s)

xdl {0, 1} d D, l L(d) (6.4)

Dans ce modle, les variables sont binaires, telle contrainte est reprsente par (6.4).

6.2 LPS : Modle lien-chemin avec des tranches de spectre


Le nom de ce modle a t adapt de son nom dorigine Link-path formulation involving
slots. Dans ce modle, la notion de chemin optique est abandonne et remplace par la notion
de routes xdp et de tranche de spectre yds .

Le modle suppose que les tranches de spectre sont en ordre, cest--dire S = {1, 2, . . . , |S|},
et il se prsente comme suit :
P P
min c(p)xdp (6.5)
dD pP (d)

sachant que
P
xdp = 1 d D (6.6)
pP (d)

xdp + yds + xd0 p0 + yd0 s 3 s S, (d, d0 , p, p0 ) < (6.7)


ads ads+1 d D, s S \ {|S|} (6.8)
bds bds1 d D, s S \ {1} (6.9)
yds + ads + bds = 1 d D, s S (6.10)
P
B yds hd d D (6.11)
sS
yds , ads , bds {0, 1} d D, s S (6.12)
xdp {0, 1} d D, p P (d) (6.13)

Dans ce modle, un ensemble < de paires de routes pour diffrentes demandes qui partagent
au moins un lien est utilis et est formellement dfini comme

< = {((d, p), (d0 , p0 )) : d, d0 D, d 6= d0 , p P (d), p0 P (d0 ), p p0 6= 0}

37
Lquation (6.6) assure que chaque demande utilisera exactement une route. Lingalit
(6.7), quant lui, garantit la satisfaction de la contrainte qui oblige lutilisation des mmes
ressources pour deux ou plusieurs demandes diffrentes. La contrainte technique propos de
la contigut des tranches de spectre est assure par les ingalits (6.8), (6.9) et (6.10). Enfin,
la contrainte qui garantit la taille minimum du canal est contrle par lingalit (6.11).
savoir, (6.12) et (6.13) sont les domaines des variables de dcision.

6.3 LPCS : Modle lien-chemin avec la continuit des


tranches de spectre
Le nom de ce modle a t adapt de son nom dorigine Link-path formulation with
continuous spectrum. Le modle prsent prcdemment peut tre impraticable si le problme
avec une instance assez grande. Due la quantit de variables pour reprsenter si un slice est
utilis dans une certaine demande ou non, la quantit de mmoire alloue peut compromettre
lefficacit des calculs informatiques.

Pour contourner ce problme, nous pouvons utiliser des variables pour dterminer seule-
ment les premire ad et dernire bd tranches de spectre parmi tous ceux qui sont utiliss par
une demande particulire. Il convient de rappeler que cette restriction technique exige que
les tranches de spectre attribues la mme demande doivent tre continues. Ainsi, toutes
les tranches de spectre intermdiaires entre la premire ad et la dernire bd nauront pas de
variables pour les reprsenter. Cela rduit considrablement la quantit de mmoire alloue,
ce qui permet lutilisation de ce modle aux problmes RSA plus grands.
P P
min c(p)xdp (6.14)
dD pP (d)

sachant que
P
xdp = 1 d D (6.15)
pP (d)

(xdp + xd0 p0 + cdd0 3)|S| < ad0 bd (d, d0 , p, p0 ) < (6.16)


0 0
(xdp + xd0 p0 cdd0 2)|S| < ad bd0 (d, d , p, p ) < (6.17)
B(bd ad + 1) hd d D (6.18)
ad , bd {1, 2, ..., |S|} d D (6.19)
cdd0 {0, 1} d, d0 D (6.20)
xdp {0, 1} d D, p P (d) (6.21)

38
Ici, lquation (6.15) assure que chaque demande utilisera un seul chemin optique. Cepen-
dant, la restriction qui interdit lutilisation de la mme tranche de spectre sur le mme lien
par deux ou plusieurs demandes est satisfaite par les ingalits (6.16) et (6.17).

Dans ce contexte, il faut prendre deux scnarios o deux routes distinctes - d et d0 -


partagent au moins un lien. Dans le cas o la demande d utilise des tranches optiques ayant
des indices infrieurs auxquels de la demande d0 (cdd0 = 1), le ct droit de lingalit (6.16)
prend la valeur zro, forant bd avoir une valeur infrieur ad0 .

De faon similaire, dans le cas o la demande d0 utilise des tranches de spectre ayant des
indices infrieurs auxquels de la demande d (cdd0 = 0), le ct droit de lingalit (6.17) prend
la valeur zro, forant bd0 avoir une valeur infrieur ad .

savoir, les librairies du CPLEX nadmis pas de ingalits du type strictement infrieur.
Pour bien utiliser le CPLEX, nous avons d changer les ingalits (6.16) et (6.17) par :

(xdp + xd0 p0 + cdd0 3)|S| ad0 bd 1 (d, d0 , p, p0 ) < (6.22)


(xdp + xd0 p0 cdd0 2)|S| ad bd0 1 (d, d0 , p, p0 ) < (6.23)

Enfin, le nombre minimum de tranches de spectre utilises pour les besoins de chaque
demande se traduit par ingalit (6.18). Dans ce contexte, (6.19), (6.20) et (6.21) sont les
domaines des variables de dcision.

6.4 NLS : Modle nud-lien avec des tranches de spectre


Le nom de ce modle a t adapt de son nom dorigine Node-link formulation involving
slots. Cette formulation est similaire la deuxime prsente dans ce chapitre. Cependant,
la variable de dcision xdp est remplac par xde qui reprsente lutilisation du lien l par la
demande d ou non.

Dans ce modle, il y a seulement quatre contraintes diffrents par rapport le deuxime


modle ici prsent. savoir, les nouvelles quations (6.25) et (6.26) sont pour exprimer les

39
PP
min xde (6.24)
dD e
sachant que
P P
xde xde = 1 d D (6.25)
e + (s(d)) e (s(d))
P P
xde xde = 0 d D, v V \ {s(d), t(d)} (6.26)
e + (v) e (v)

xde + yds + xd0 e + yd0 s 3 s S, d, d0 D, e (6.27)


ads ads+1 d D, s S \ {|S|} (6.28)
bds bds1 d D, s S \ {1} (6.29)
yds + ads + bds = 1 d D, s S (6.30)
P
B yds hd d D (6.31)
sS
yds , ads , bds {0, 1} d D, s S (6.32)
xde {0, 1} d D, e (6.33)

lois de Kirchhoff pour les flux 1 . De faon similaire la contrainte (6.7), lingalit (6.27)
garantit la satisfaction de la contrainte qui oblige lutilisation des mmes ressources pour
deux ou plusieurs demandes diffrentes.

6.5 MLS : Modle pour minimiser la largeur de spectre


Dans son modle mono-objectif, lauteur [1] veut minimiser le nombre de tranches de
spectre dans un ensemble de demandes dans un rseau informatique physique. Sont problme
est dfinis pour lauteur comme suit :
Compte tenu de la topologie physique et dun ensemble dexigences respecter,
trouver litinraire et assigner des frquences chaque demande selon un certain nombre
de contraintes (continuit du spectre, contigut du spectre et non-recouvrement du
spectre), de sorte que tous les demandes soient servies et en minimisant la larguer
totale du spectre, mesure en terme de nombre de tranche de spectre.
1. Pour [29], il y a deux lois de Kirchhoff du champ de la physique applique que nous intresse. La
premire sappelle loi de Kirchhoff des nuds qui dit que la somme des courants qui entrent dans un nud
est gale la somme de courant qui en ressort. La deuxime loi est la loi de Kirchhoff des mailles : dans une
maille quelconque dun rseau, dans lapproximation des rgimes quasi stationnaires et condition que les
variations de flux travers de la maille soient ngligeables, la somme algbrique des diffrences de potentiel
au long de la maille est constamment nulle. Avec ces dfinitions, nous pouvons bien faire un lien entre les
rseaux ici tudi et les lois mentionnes.

40
Selon lauteur, limportance de tel objectif est de fournir des informations pour le rseau
planificateur au sujet dun certain nombre de tranches de frquences ncessaires pour tre
utilis, et donc lies au cot apparent pour soutenir un trafic de demande donn.
P
min zs (6.34)
sS
sachant que
P P
xpc = 1 d D (6.35)
pPd cCd
P P P
xpc pe cs = yes e , s S (6.36)
dD pPd cCd
P
yes |E| zs s S (6.37)
eE
zs {0, 1} s S (6.38)
xpc {0, 1} p Pd , c Cd (6.39)
yes {0, 1} e , s S (6.40)

Lquation (6.35) assure que chaque demande utilisera un seul canal. Lquation (6.36),
quant lui, indique quil ny a pas de superposition du spectre, cest--dire que chaque
tranche de spectre peut tre utilise par au plus un canal entre lensemble existant. Enfin,
la dernire ingalit, (6.37), assure quune tranche de spectre est considre comme occupe
sil y a un lien qui lutilise.

6.6 MNCR : Modle pour minimiser le niveau de conges-


tion du rseau et la charge moyenne des liens
Dans son modle multi-objectif, lauteur [1] veut minimiser le niveau de congestion du
rseau et la charge moyenne des liens pour un ensemble de demandes dans un rseau infor-
matique physique.

Les contraintes (6.42) et (6.43) sont identiques les contraintes (6.35) et (6.36) prsents
dans la section prcdente. Les termes F et G reprsentent le niveau de congestion du rseau
et la la charge moyenne des liens. Lquation (6.44) reprsente donc la charge moyenne des
liens. Lquation (6.45), quant lui, dfinit le niveau de congestion du rseau.

41
min G + F (6.41)
sachant que
P P
xpc = 1 d D (6.42)
pPd cCd
P P P
xpc pe cs = yes e , s S (6.43)
dD pPd cCd
PP
yes = G (6.44)
sS e
P
yes F e (6.45)
sS
xpc {0, 1} p Pd , c Cd (6.46)
yes {0, 1} e , s S (6.47)

6.7 Analyse quantitative des modles


Dans cette section nous ferons une bref comparaison entre les nombre de variables et
de contraintes de chaque modle prsent dans ce chapitre. Pour cela, nous avons utilis le
concept de cardinalit, cest--dire la quantit de individus dans un certain ensemble. La
cardinalit dun ensemble E est ici reprsente comme Card(E). Dans le tableau 6.3 nous
avons les formules mathmatiques afin de prvoir le nombre de variables et de contraintes
par rapport la quantit de demandes du problme et la topologie du rseau tudi. Nous
avons utilis dans ce tableau les mmes notations des tableaux 6.1 et 6.2.

Table 6.3 Nombre de variables et contraintes

Modle Nombre de variables Nombre de contraintes

LPC Card(D)Card(LD ) Card(D) + Card(S)Card()


LPS Card(D)(3Card(S) + Card(Pd )) Card(D)(2 + 2(Card(S) 1) + Card(S))
+Card(<)Card(S)
LPCS Card(D)(2 + Card(D) + Card(Pd )) 2 (Card(D) + Card(<))
NLS Card(D)(Card() + 3Card(S)) Card(D)(2 + (Card(V ) 2) + 2(Card(S) 1)
+Card(D)Card(E)Card(S) 2Card(S))
MLS Card(S) + (Card() 1)Card(Cd ) Card(D) + Card(S)(Card() + 1)
MNCR Card(Pd )Card(Cd ) + Card()Card(S) Card(D) + Card()(Card(S) + 1)

42
Nous pouvons constater alors que le modle LPC a trop de variables par rapport au
nombre de contraintes. La faon recommandable daborder ce modle est avec la technique de
gnration de colonnes [2]. Le modle LPS, LPCS et NLS ont trop de contraintes par rapport
au nombre de variables. Nous pouvons laborder avec la mthode de plans de dcoupage, ou
alors avec lapproche classique de branch-and-bound, dont la dernier est rcommand par
[2]. Finalement, pour les modles MLS et MNCR nous pouvons constater que le nombre
de demandes ninterfre pas dans lvolution du nombre de variables, cependant il fait crot
linairement lvolution du nombre de contraintes. La recommandation de [1] pour aborder
ces modles est en utilisant des heuristiques 2 .

tant donn que les modles du travail de [2] ont t faits dans le but que leurs fonctions
objectifs peuvent tre facilement modifi, nous avons propos des modles en adaptant chaque
modle de son travail. Nous avons utilis les propositions de [1] en optimisant soit la longueur
du chemin optique, soit la largeur du spectre, soit le niveau de congestion du rseau, soit
la charge moyenne des liens. Les modles de la thse de [1] sont utilis seulement comme
base thorique. Nous nirons pas les implmenter informatiquement. Nous prsenterons ces
modles adaptes par la suite.

2. Une heuristique est une mthode qui fournit rapidement (en temps polynomial) une solution ralisable,
pas ncessairement optimale, pour un problme doptimisation NP-difficile. [21]

43
Chapitre 7

Proposition des modles modifis

Dans ce chapitre nous dfinissons les modles que nous avons propos. Nous avons adapt
les modles du travail de [2] en modifiant les fonctions objectifs de faon minimiser soit
la largeur du spectre (mesure en termes de nombre de tranches de spectre utiliss), soit
le niveau de congestion du rseau (mesure en termes de nombre de tranches de spectre
utiliss dans chaque lien), soit la charge moyenne des liens (mesure en termes de nombre
de tranches de spectre utiliss dans tous les liens par rapport au nombre de liens du rseau).
Nous avons fait cela dans le but de trouver des modles pour le problme RSA qui peuvent
peut-tre mieux traiter un rseau optique flex-grid en optimisant lutilisation des ressources,
cest--dire satisfaire les demandes en affectant les ressources disponibles de la mieux faon
possible.

7.1 LPC2 : Modle lien-chemin avec des canaux


Dans ce modle nous avons modifi la formulation LPC, propos par [2], prsente dans
le chapitre prcdent dans la section 6.1. Les contraintes suivantes sont du modle original
et sont communes tous les trois nouvelles approches de minimisation proposes.

X
xdl = 1 d D, (7.1)
lL(d)
X X
xdl 1 e , s S, (7.2)
dD lQ(d,e,s)

xdl {0, 1} d D, l L(d), (7.3)

44
Afin de altrer le paramtr minimiser de la fonction objectif du modle dorigine, nous
avons ajout des nouvelles variables et contraintes les nouvelles formulations. Nous re-
marquons quun chemin optique l comprend une route p et un canal c et que ceux mme
comprennent un ensemble de liens e et un ensemble de tranches de spectre s S
respectivement. Nous pouvons donc dfinir que, pour un chemin optique l associ la va-
riable xdl d D, l L(d) du modle original, il y a deux sous-ensemble qui dfinissent la
route et le canal associs lui. Cette route peut tre dfinie comme un ensemble de liens
e e (l), e Q(d, e, s) L(d). De faon similaire, le canal c peut tre dfini comme
s s C(l), s Q(d, e, s) L(d).

7.1.1 LPC2 : minimisation de la largeur du spectre


En ce qui concerne la minimisation du nombre de tranches de spectre, on ajoute la variable
zs , et aussi des contraintes pour faire le lien entre la nouvelle variable et la variable xdl du
modle original. Cette formulation utilise les contraintes ci-dessous, en plus des contraintes
(7.1), (7.2) et (7.3).
P
min zs (7.4)
sS
sachant que
xdl zs d D, l L(d), s C(l) (7.5)
zs 0 s S (7.6)

La nouvelle contrainte (7.5) assure que zs soit gale 1 quand la demande d utilise la
tranche de spectre s lie au canal du chemin optique l, cest--dire, quand xdl est gale 1 ;
et que zs soit gale 0 quand xdl est gale 0. Lingalit (7.6) assure que les variables zs
appartiennent lensemble des nombres rels positifs ou nuls.

7.1.2 LPC2 : minimisation du niveau de congestion du rseau


De la part de faire la minimisation du niveau de congestion du rseau, les variables yes et
r ont t ajoutes, et aussi des nouvelles contraintes pour faire le lien entre yes et la variable
xdl du modle original. Cette formulation utilise les contraintes (7.7) (7.11) ci-dessous, en
plus des contraintes (7.1), (7.2) et (7.3).

45
min r (7.7)
sachant que
P
r yes e (7.8)
sS
xdl yes d D, l L(d), e (l), s C(l) (7.9)
yes {0, 1} e , s S (7.10)
r0 (7.11)

La variable r dfinit le niveau de congestion du rseau, donc lingalit (7.8) donne sa


dfinition. La contrainte (7.9) assure que yes soit gal 1 lorsque la demande d utilise la
tranche de spectre s qui appartient au canal du chemin optique l dans le lien e associ la
route du chemin optique l, cest--dire, lorsque xdl est gal 1 ; sinon, yes est gal 0 lorsque
xdl est gal 0. Lingalit (7.10) assure que les variables yes soient binaires, alors que (7.11)
assure que r est un nombre rel positif ou nul.

7.1.3 LPC2 : minimisation de la charge moyenne des liens


Afin de minimiser la charge moyenne des liens, la variable yes a t ajoute, et aussi des
nouvelles contraintes pour faire le lien entre yes et la variable xdl du modle original. Donc
cette formulation utilise des contraintes similaires celui de la sous-section prcdente. De
ce fait, en plus des contraintes (7.1), (7.2) et (7.3), cette formulation contient galement les
contraintes (7.9) et (7.10) prsentes dans la sous-section prcdente. Enfin, nous avons la
fonction objective pour ce modle comme suit.
P P
yes
sS e
min ||
(7.12)
sachant que
xdl yes d D, l L(d), e (l), s C(l) (7.9)
yes {0, 1} e , s S (7.10)

7.2 LPS2 : Modle lien-chemin


Identique au modle prcdent, pour celui-ci, nous avons modifi le modle original LPS
du travail de [2], afin de travailler avec les trois fonctions objectifs diffrents. Les contraintes
suivantes sont du modle original, prsentes dans la section 6.2, et sont communes tous
les trois nouvelles approches de minimisation proposes.

46
P
xdp = 1 d D (7.13)
pP (d)

xdp + yds + xd0 p0 + yd0 s 3 s S, (d, d0 , p, p0 ) < (7.14)


ads ads+1 d D, s S \ {|S|} (7.15)
bds bds1 d D, s S \ {1} (7.16)
yds + ads + bds = 1 d D, s S (7.17)
P
B yds hd d D (7.18)
sS
yds , ads , bds {0, 1} d D, s S (7.19)
xdp {0, 1} d D, p P (d) (7.20)

Analogue aux formulations dans la section prcdente, afin de faire la modification du


paramtre minimiser dans la fonction objectif du modle original, des nouvelles variables
et des contraintes ont t ajoutes.

7.2.1 LPS2 : minimisation de la largeur du spectre


En appliquant la minimisation du nombre de tranches de spectre, on ajoute la variable zs ,
aussi comme des contraintes pour faire le lien entre la nouvelle variable et la variable yds du
modle original. Cette formulation utilise les contraintes suivantes, de plus les contraintes de
(7.13) (7.20).
P
min zs (7.21)
sS
sachant que
yds zs , d D, s S (7.22)
zs 0 s S (7.23)

Les nouvelles contraintes (7.22) crent le lien entre le nouveau modle et loriginal. Elles
assurent que zs soit gal 1 lorsque la demande d utilise la tranche de spectre s, cest--dire,
quand yds est gal 1 ; sinon, zs est gal 0 lorsque yds est gal 0. Lingalit (7.23) assure
que les variables zs appartiennent lensemble des nombres rels positifs ou nuls.

7.2.2 LPS2 : minimisation du niveau de congestion du rseau


Du ct de minimiser le niveau de congestion du rseau, les variables yes et r ont t
ajoutes, et aussi comme des contraintes pour faire le lien entre yes et les variables xdp et

47
yds du modle original. Nous remarquons quune route p est un ensemble de liens e .
Nous pouvons donc dfinir que, pour une route p associe la variable xdp d D, p P (d)
du modle original LPS, il y a le sous-ensemble qui dfinissent les liens de cette route :
e e (p), e P (d).

Cette formulation utilise les contraintes suivantes, de plus les contraintes de (7.13) (7.20).

min r (7.24)
sachant que
P
r yes e (7.25)
sS
xdp + yds yes 1 d D, p P (d), e (p), s S (7.26)
yes {0, 1} e , s S (7.27)
r0 (7.28)

Ayant la mme fonction objectif que la formulation donne dans la sous-section 7.1.2, cette
formulation utilise les contraintes communes (7.24), (7.25), (7.27) et (7.28). La variable r
dfinit le niveau de congestion du rseau, donc lingalit (7.24) donne sa dfinition. Lin-
galit (7.27) assure que les variables yes soient binaires, alors que (7.28) assure que r est un
nombre rel positif ou nul.

Les nouvelles contraintes (7.26) crent le lien entre la nouvelle formulation et loriginal.
Elles assurent que yes soit gal 1 lorsque la demande d utilise la tranche de spectre s dans
le lien e associ la route p, cest--dire, quand xdp et yds sont gal 1.

7.2.3 LPS2 : minimisation de la charge moyenne des liens


En ce qui concerne la minimisation de la charge moyenne des liens, la variable yes a t
ajoute, et aussi des contraintes pour faire le lien entre la nouvelle variable et les variables xdp
et yds du modle original. Par consquent, cette formulation utilise des contraintes similaires
celui de la sous-section prcdente. De ce fait, de plus les contraintes de (7.13) (7.20),
cette formulation contient galement des contraintes (7.26) et (7.27).

48
P P
yes
sS e
min ||
(7.29)
sachant que
xdp + yds yes 1 d D, p P (d), e (p), s S (7.26)
yes {0, 1} e , s S (7.27)

7.3 LPCS2 : Modle lien-chemin avec la contigit des


tranches de spectre
quivalent au modle prcdent, pour celui-ci, nous avons modifi le modle original
LPCS du travail de [2], afin de travailler avec les trois fonctions objectifs diffrents. Les
contraintes suivantes sont du modle original, prsentes dans la section 6.3, et sont com-
munes tous les trois nouvelles approches de minimisation proposes.
P
xdp = 1 d D (7.30)
pP (d)

xdp + xd0 p0 + cdd0 3)|S| ad0 bd 1 (d, d0 , p, p0 ) < (7.31)


xdp + xd0 p0 cdd0 2)|S| ad bd0 1 (d, d0 , p, p0 ) < (7.32)
B(bd ad + 1) hd d D (7.33)
ad , bd {1, 2, ..., |S|} d D (7.34)
cdd0 {0, 1} d, d0 D (7.35)
xdp {0, 1} d D, p P (d) (7.36)

Identique aux autres formulations donnes dans ce travail, afin de faire la modification du
paramtre tre minimise dans la fonction de objectif du modle original, LPCS, nouvelles
variables et contraintes ont t ajoutes.

7.3.1 LPCS2 : minimisation de la largeur du spectre


Dans le but de minimiser la largeur du spectre, les variables zs et yds ont t ajoutes, et
aussi des contraintes pour faire le lien entre les nouvelles variables et les variables ad et bd du
modle original. Cette formulation utilise les contraintes suivantes, en plus des contraintes
de (7.30) (7.36).

Les nouvelles contraintes ajoutes au modle dorigine allant de (7.38), (7.39) et (7.40)
crent le lien entre la nouvelle formulation et le modle original. Lquation (7.38) force la

49
P
min zs (7.37)
sS
sachant que
P
yds = bd ad + 1 d D (7.38)
sS
bd s yds 0 d D, s S (7.39)
ad + (|S| s)yds |S| d D, s S (7.40)
0 00
yds + yds00 yds0 1 d D, s < s < s S (7.41)
yds zs d D, s S (7.42)
yds {0, 1} d D, s S (7.43)
zs 0 s S (7.44)

variable yds tre gale 1 s [ad , bd ]. Au mme temps, linquation (7.39) force yds tre
gale 0 s > bd . Linquation (7.40), quant elle, force yds tre gale 0 s < ad .

Linquation (7.41) fait partie de lensemble de contraintes concernant la restriction de la


contigut du spectre. Avec ces contraintes nous avons que, pour tous tranches de spectres
s utilises par une demande d, yds sera gale 1. Linquation (7.42) cre le lien entre les
nouvelles variables en assurant que zs soit gale 1 quand yds est gale 1, et que zs soit
gale 0 quand yds est gale 0. Enfin (7.43) et (7.44) assurent que les variables soient
binaires et appartiennent lensemble des nombres rels positifs ou nuls, respectivement.

7.3.2 LPCS2 : minimisation du niveau de congestion du rseau


De la part de minimiser le niveau de congestion du rseau, les variables yes , yds et r ont
t ajoutes, et aussi des contraintes pour faire un lien entre les nouvelles variables et les
variables ad et bd du modle original. Cette formulation utilise les contraintes suivantes dont
des contraintes similaires ceux de la sous-section prcdente : (7.38) (7.41) et (7.43), en
plus des contraintes de (7.30) (7.36).

Ayant la mme fonction objectif que la formulation donne dans la sous-section 7.1.2, cette
formulation utilise les contraintes communes (7.45), (7.46), (7.48) et (7.49). La variable r
dfinit le niveau de congestion du rseau, donc lingalit (7.46) donne sa dfinition. Lin-
galit (7.48) assure que les variables yes soient binaires, alors que (7.49) assure que r soit
un nombre rel positif ou nul.

50
min r (7.45)
sachant que
P
r yes e (7.46)
sS
P
yds = bd ad + 1 d D (7.38)
sS
bd s yds 0 d D, s S (7.39)
ad + (|S| s)yds |S| d D, s S (7.40)
0 00
yds + yds00 yds0 1 d D, s < s < s S (7.41)
xdp + yds yes 1 d D, p P (d), e (p), s S (7.47)
yds {0, 1} d D, s S (7.43)
yes {0, 1} e , s S (7.48)
r0 (7.49)

Les contraintes (7.47), donnes dans la sous-section 7.2.2, cre un lien entre les variables
yes , yds et la variable xdp du modle original. Elles assurent que yes soit gal 1 lorsque la
demande d utilise la tranche de spectre s dans le lien e associ la route p, cest--dire,
quand xdp et yds sont gal 1.

7.3.3 LPCS2 : minimisation de la charge moyenne des liens


Dans lintrt de minimiser le niveau de congestion du rseau, les variables yes et yds
ont t ajouts, et aussi des contraintes pour faire un lien entre les nouvelles variables et les
variables ad et bd du modle original. Par consquent, cette formulation utilise des contraintes
similaires celui dans la sous-section prcdente. De ce fait, outre les contraintes de (7.30)
(7.36), cette formulation contient galement les contraintes (7.38) (7.41) et (7.43) de la
sous-section 7.3.1 et les contraintes (7.47) et (7.48) de la sous-section prcdente.
P P
yes
sS e
min ||
(7.50)
sachant que
P
yds = bd ad + 1 d D (7.38)
sS
bd s yds 0 d D, s S (7.39)
ad + (|S| s)yds |S| d D, s S (7.40)
0 00
yds + yds00 yds0 1 d D, s < s < s S (7.41)
xdp + yds yes 1 d D, p P (d), e (p), s S (7.47)

51
yds {0, 1} d D, s S (7.43)
yes {0, 1} e , s S (7.48)

7.4 NLS2 : Modle nud-lien


quivalent aux autres modles, pour ce dernire, nous avons modifi la formulation ori-
ginal NLS dans le travail de [2], afin de travailler avec les trois fonctions objectifs diffrents.
Les contraintes suivantes appartient au modle original.
P P
xde xde = 1 d D (7.51)
e + (s(d)) e (s(d))
P P
xde xde = 0 d D, v V \ {s(d), t(d)} (7.52)
e + (v) e (v)

xde + yds + xd0 e + yd0 s 3 s S, d, d0 D, e (7.53)


ads ads+1 d D, s S \ {|S|} (7.54)
bds bds1 d D, s S \ {1} (7.55)
yds + ads + bds = 1 d D, s S (7.56)
P
B yds hd d D (7.57)
sS
yds , ads , bds {0, 1} d D, s S (7.58)
xde {0, 1} d D, e (7.59)

Dans ce modle, nous avons galement modifi les contraintes originaux (7.51) et (7.52)
dans le but de travailler avec un graphe non orient. Cest la raison que la variable zde a t
ajoute. Cette variable est diffrente de xde car elle fonctionne avec des liens fictifs orients
dans le graphe. Donc, nous dcomposons un lien non-orient dans deux orient, contenant
la mme direction mais le sens oppos, et nous crons lensemble 0 qui contient lensemble
des liens orients. Par consquent, nous avons que |0 | = 2 ||.
P P
zde zde = 1 d D (7.60)
e + (s(d)) e (s(d))
P P
zde zde = 0 d D, v V \ {s(d), t(d)} (7.61)
e + (v) e (v)

xde = zde + zd(e+||) d D, e 0 \[|| + 1, ..., |0 |] (7.62)


0
zde {0, 1} d D, e (7.63)

52
Les galits (7.60) et (7.61) expriment la loi de Kirchhiff des flux. Chaque route est mainte-
nant un flux unitaire de s(d) t(d). Ces deux contraintes ont t adapte du modle original
en incluant la nouvelle variable zde . Afin de crer un lien entre cette nouvelle variable et la
variable originale xde , nous ajoutons la contrainte (7.62) qui assure que lorsquune demande
utilise lune des liens fictives orients e in varepsilon0 , le lien correspondant non-orient sera
utilis par cette demande, cest--dire xde sera value 1. Enfin, la contrainte (7.63) assure
que les variables soient binaires.
Les contraintes allant de (7.53) (7.63) sont communs tous les trois nouvelles approches
de minimisation prsentes par la suite.

7.4.1 NLS2 : minimisation de la largeur du spectre


En appliquant la minimisation du nombre de tranches de spectre, la variable zs et yes ont
t ajoutes, et aussi des nouvelles contraintes pour faire le lien entre les nouvelles variables
et les variables du modle original. Cette formulation utilise les contraintes ci-dessous, en
plus des contraintes de (7.53) (7.63).
P
min zs (7.64)
sS
sachant que
xde + yds yes 1 d D, e , s S (7.65)
P
yes || zs , s S (7.66)
e
zs 0 s S (7.67)
yes {0, 1} e , s S (7.68)

Les nouvelles contraintes (7.65) crent le lien entre le nouveau modle et loriginal. Elles
assurent que yes est gal 1 lorsque la demande d utilise la tranche de spectre s dans le lien
e, cest--dire, lorsque xde et yds sont gal 1. Lingalit (7.66) cre le lien entre zs et yes .
Elle assure que zs soit gal 1 si la tranche de spectre s est utilis dans nimporte quel lien
du graphe. Enfin (7.67) et (7.68) assurent que les variables soient des nombres rels positifs
ou nuls, et binaires, respectivement.

7.4.2 NLS2 : minimisation du niveau de congestion du rseau


En ce qui concerne la minimisation du niveau de congestion du rseau, les variables yes et r
ont t ajoutes, et aussi des contraintes pour faire le lien entre yes et les variables xde and yds

53
du modle original. Cette formulation utilise les contraintes ci-dessous dont des contraintes
similaires ceux de la sous-section prcdente : (7.65) et (7.68), en plus des contraintes de
(7.53) (7.63).

min r (7.69)
sachant que
P
r yes e (7.70)
sS
xde + yds yes 1 d D, e , s S (7.65)
yes {0, 1} e , s S (7.68)
r0 (7.71)

Ayant la mme fonction objectif que la formulation donne dans la sous-section 7.1.2,
cette formulation utilise les contraintes communes (7.69), (7.70), (7.68) et (7.71). La variable
r dfinit le niveau de congestion du rseau, donc lingalit (7.70) donne sa dfinition. Lin-
galit (7.68) assure que les variables yes soient binaires, alors que (7.71) assure que r soit
un nombre rel positif ou nul.

7.4.3 NLS2 : minimisation de la charge moyenne des liens


Dans le but de minimiser la charge moyenne des liens, la variable yes a t ajoute, et
aussi des nouvelles contraintes pour faire le lien entre yes et les variables xde et yds du
modle original. Cette formulation utilise donc les contraintes ci-dessous dont des contraintes
similaires ceux de la sous-section prcdente : (7.65) et (7.68), en plus des contraintes de
(7.53) (7.63).
P P
yes
sS e
min ||
(7.72)
sachant que
xde + yds yes 1 d D, e , s S (7.65)
yes {0, 1} e , s S (7.68)

7.5 Analyse quantitative des modles modifis


Dans cette session, nous montrerons quelques analyses pour bien comprendre lvolution
du nombre de variables et contraintes par rapport le nombre de demandes. Nous avons fix

54
un rseau avec 12 nuds, 18 liens et 24 tranches de spectre de 25 Ghz chacune. Ce rseau
est celui reprsent dans lannexe de ce rapport et il sera plus dtaill dans le chapitre ddi
limplmentation. Les analyses dans les deux prochaines sessions utilisent une quantit de
demandes varie entre 1 et 10.

7.5.1 volution du nombre variables


Les images 7.1, 7.2, 7.3 et 7.4 ci-dessous illustrent lvolution des variables dans chaque
modle par rapport au nombre de demandes.

Figure 7.1 volution du nombre de variables pour minimiser la longueur du chemin


optique

55
Figure 7.2 volution du nombre de variables pour minimiser la largeur du spectre

Figure 7.3 volution du nombre de variables pour minimiser le niveau de congestion du


rseau

56
Figure 7.4 volution du nombre de variables pour minimiser la charge moyenne des liens

Pour tous les quatre objective, nous pouvons voir que le modle LPCS2 a la plus petite
quantit de variables. En revanche, le modle LPC2 a la plus grande quantit de variables,
sauf pour le objectif de minimiser la largeur du spectre. Dans la figure 7.2 nous pouvons
voir que le modle NLS2 a un nombre trs important de variable par rapport tous les autres
modles. Le modle LPS2 a, pour tous les quatre paramtres de minimisation, un nombre
raisonnable de variables.

7.5.2 volution du nombre de contraintes


Les images 7.5, 7.6, 7.7 et 7.8 ci-dessous illustrent lvolution des contraintes dans chaque
modle par rapport le nombre de demandes.

57
Figure 7.5 volution du nombre de contraintes pour minimiser la longueur du chemin
optique

Figure 7.6 volution du nombre de contraintes pour minimiser la largeur du spectre

58
Figure 7.7 volution du nombre de contraintes pour minimiser le niveau de congestion
du rseau

Figure 7.8 volution du nombre de contraintes pour minimiser la charge moyenne des
liens

Nous pouvons remarquer que la croissance du nombre de contraintes dans les modles LPS2
et NLS2 est extrmement rapide quand nous augmentons le nombre de demandes. La grande
quantit de contraintes pour le modle LPS2 peut tre explique par la grande contraintes
qui dpend de la cardinalit de lensemble <. La majorit des contraintes du modle LPCS2
est aussi lie au mme ensemble. Contrairement aux autres modles, la croissance du nombre
de contraintes dans le modle LPC2, pour tous les diffrents objectifs, est linaire.

59
Considrant que presque tous les formulations ont un nombre de contraintes trs important
par rapport au nombre de variables, nous avons choisi de travailler avec la mthode branch
and bound pour les rsoudre. Sauf le modle LPC original qui minimise la longueur du chemin
optique a un nombre de variables trs important par rapport au nombre de contraintes,
et donc nous avons le rsoudre avec la mthode de gnration de colonnes. Dans la suite
nous expliquerons comment a tait faite cette application de cette mthode, et ensuite nous
montrons les rsultats de calcul.

60
Chapitre 8

Application de la mthode de gnration


de colonnes

Dans ce chapitre nous allons dcrire lapplication du mthode de gnration de colonnes


dans le premier modle du travail de [2] : le modle LPC. Nous faisons cela afin de limpl-
menter informatiquement avec loutil doptimisation CPLEX et donc le rsoudre de faon
optimal. Par suite, la fin du chapitre nous expliquons brivement comment a t fait le
codage des modles.

Le modle traiter cest le modle original ci-dessous dont notre variable de dcision
xdl = 1 si la demande d utilise le chemin optique l ; 0, sinon.
P P
min c(l)xdl (7.1)
dD lL(d)

sachant que
P
xdl = 1 d D (7.2)
lL(d)
P P
xdl 1 e , s S (7.3)
dD lQ(d,e,s)

xdl {0, 1} d D, l L(d) (7.4)

Il y a trop de variable xdl pour pouvoir toutes les considrer. Soient L0 (d) L(d) et
Q0 (d, e, s) = Q(d, e, s) L0 (d). Soit P 0 le problme doptimisation linaire obtenu partir de
P en remplaant L(d) par L0 (d) et Q(d, e, s) par Q0 (d, e, s), dont P est le problme original.
On peut avoir le modle P 0 :

61
P P
min c(l)xdl (7.5)
dD lL0 (d)

sachant que
P
xdl = 1 d D (7.6)
lL0 (d)
P P
xdl 1 e , s S (7.7)
dD lQ0 (d,e,s)

xdl {0, 1} d D, l L0 (d) (7.8)

Dont on a pour les solutions obtenus de P et P 0 :


P P P P
min c(l)xdl min c(l)xdl
dD lL(d) dD lL0 (d)

Pour rsoudre les problmes en temps polynomial, on relaxe les contraintes qui dterminent
que les variables sont entiers. Nous faisons cela en supprimant les contraintes (7.4) et (7.8),
et en additionnant les contraintes (7.9), (7.11) et (7.10), (7.12) pour les problmes P et P 0 ,
respectivement. Et nous avons pour le domaine de notre variable de dcision xdl pour les

xdl 1 d D, l L(d) (7.9)


xdl 1 d D, l L0 (d) (7.10)

problmes P et P 0 , respectivement :

xdl 0 d D, l L(d) (7.11)


0
xdl 0 d D, l L (d) (7.12)

Nous pouvons alors modliser le problme dual D associ au problme P de la faon ci-
dessous, dont la variable dual d est associ la contrainte (7.2) ; la variable dual es est
associ la contrainte (7.3) et la variable dual dl est associ la contrainte (7.9).

On obtient le problme dual D0 associ au problme P 0 partir de D en remplaant


L(d) par L0 (d) et Q(d, e, s) par Q0 (d, e, s). Avec cela nous pouvons appliquer la mthode de
gnration de colonne dans le problme restreint P 0 . Pourtant, il faut rappeler que afin de
trouver une solution optimal avec ce mthode, il faut tre sr que nous avons dabord une
ensemble initial des variables donnant une solution ralisable.

62
P PP P P
max d + es + dl (7.13)
dD e sS dD lL(d)

sachant que
P
d + dl + es c(l) l L(d), d D (7.14)
e,s: lQ(d,e,s)

d R d D (7.15)
es 0 e , s S (7.16)
dl 0 d D, l L(d) (7.17)

8.1 Trouver une solution ralisable


Dans ce but, il faut construire un modle partir de P 0 dans lequel nous introduisons
une variable derreur dans la contrainte (7.7) de faon relaxer celle-ci. Cette variable
prend une valeur positif si cette contrainte est viole et une valeur nulle sinon. Ensuite nous
voulons trouver donc une solution telle que prend une valeur nulle, cest--dire une solution
ralisable qui respecte toutes les contraintes du modle P 0 . Ce modle est alors de la faon
suivante ci-dessous. Nous lappellerons ce problme P 0 initial .

min (7.18)
sachant que
P
xdl = 1 d D (7.19)
lL0 (d)
P P
xdl 1 e , s S (7.20)
dD lQ0 (d,e,s)

xdl 1 d D, l L0 (d) (7.21)


xdl 0 d D, l L0 (d) (7.22)
0 (7.23)

Nous avons alors le dual D0 initial correspondant :


P PP P P
max d + es + dl (7.24)
dD e sS dD lL0 (d)

sachant que
l L0 (d), d D
P
d + dl + es 0 (7.25)
e,s: lQ0 (d,e,s)
P
es 1 (7.26)
e,s: lQ0 (d,e,s)

63
d R d D (7.27)
es 0 e , s S (7.28)
dl 0 d D, l L0 (d) (7.29)

Nous avons aussi les deux problmes primal et dual avec tous les variables du problme
original : Pinitial et Dinitial . Nous obtiennent ces problmes partir de P 0 initial et D0 initial ,
respectivement, en remplaant L0 (d) par L(d) et Q0 (d, e, s) par Q(d, e, s).

Pour avoir un ensemble initial de variables donnant une solution ralisable, il faut gale-
ment faire la gnration de colonnes en utilisant le modle restreint P 0 initial . Dabord, nous
initialisons notre problme avec un ensemble de chemins optiques L0 (d) et Q0 (d, e, s) de faon
avoir au moins un chemin optique par demande.

Le processus de gnration de colonnes, afin de trouver un ensemble initial de variables


donnant une solution ralisable, suit lalgorithme ci-dessous.

DBUT
Initialiser les ensembles L0 (d) et Q0 (d, e, s) par chaque d D
avec au moins un chemin optique par demande.
Rpter
Rsoudre P 0 initial
Si > 0 alors
Ajouter des colonnes.
Sinon
Solution ralisable est atteint.
Fin Si
Tant que !Solution ralisable
FIN

Pour ajouter les colonnes on regarde sil existe xdl : d D, l L(d)\L0 (d) dont laug-
mentation de valeur ferait diminuer la fonction objectif de P 0 initial . Cest--dire sil existe
une variable xdl : d D, l L(d)\L0 (d) dont le cot rduit est infrieur zro. Sil existe
tel variable, alors il faut lajouter au problme P 0 initial .

64
Dans ce contexte, il faut dabord rsoudre le problme dual D0 initial pour obtenir les valeurs
des variables duales. Et donc on cherche un chemin optique (route + canal) dans L(d)\L0 (d)
dont les contraintes de Dinitial ne sont pas satisfaites pour la solution d , es , dl de D0 initial .
Donc en fixant une demande d D et un canal Cd pour cette demande, il faut trouver une
P
route telle que d + dl + e,s > 0.
e,s: lQ(d,e,s)

Sachant que
X X X
es = es
e,s: lQ(d,e,s) eroute(l) scanal(l)
0
et que pour xdl : d D, l L(d)\L (d) nous avons dl = 0 ; nous voulons donc une route
telle que
X X
d > es
eroute(l) scanal(l)

Si on associe chaque arte du graphe de linstance du problme une valuation de


P
es , le problme de trouver cette nouvelle route devient un problme de trouver
scanal(l)
le plus court chemin pour la demande d D et le canal Cd . Si le cot de cette route est
plus petit d , alors nous ajoutons P 0 initial le chemin optique qui utilise cette route et le
canal qui a t fix. Ensuite, donc, on rpte le processus de lalgorithme jusqu trouver une
solution ralisable.

Nous pouvons, maintenant que nous avons une solution ralisable, faire la gnration de
colonnes dans le problme P 0 avec les ensembles initiaux L0 (d) et Q0 (d, e, s) afin de trouver
une solution optimal.

8.2 Trouver une solution optimal


Nous travaillerons maintenant avec notre problme restreint P 0 , son dual D0 et le dual
de P : D. Le principe de gnrer les colonnes ici est pareil de ce que nous avons fait pour
trouver une solution ralisable, la diffrence est les problmes que nous travaillons dessus.
Lalgorithme pour trouver la solution optimal est donc :

65
DBUT
Rpter
Rsoudre P 0
Rsoudre D0
Si xdl d D, l L(d)\L0 (d) : cot rduit < 0 alors
Ajouter des colonnes.
Sinon
Solution optimal est atteint.
Fin Si
Tant que !Solution optimal
FIN

Suivant le principe davant : regarder le cot rduit associ chaque variable xdl d D, l
L(d)\L0 (d) est quivalent chercher un chemin optique (route + canal) dans L(d)\L0 (d) dont
les contraintes de D ne sont pas satisfaites pour la solution d , es , d,l de D0 . Donc en fixant
une demande d D et un canal Cd pour cette demande, il faut trouver une route telle que
P
d + dl + es > c(l).
e,s: lQ(d,e,s)

Sachant que
X X X
es = es
e,s: lQ(d,e,s) eroute(l) scanal(l)
X
c(l) = 1
eroute(l)

Et que pour xdl : d D, l L(d)\L0 (d) nous avons dl = 0 ; nous voulons donc une route
telle que
X X
d > (1 es )
eroute(l) scanal(l)

Si on associe chaque arte du graphe de linstance du problme une valuation de (1


P
es ), le problme de trouver cette nouvelle route devient un problme de trouver le
scanal(l)
plus court chemin pour la demande d D et le canal Cd . Si le cot de cette route est plus
petit que d , alors nous ajoutons P 0 le chemin optique qui utilise cette route et le canal
qui a t fix. Si nexiste d D, canal C(d) une route telle que sont cot est plus petit

66
que d , la solution optimal est atteint. Nous avons alors que la solution optimal de P 0 est
galement la solution optimal de notre problme original P.

partir de cette dmarche, nous pourrons implmenter le modle LPC informatiquement


et rsoudre le problme RSA de faon optimal laide doutil doptimisation CPLEX.

67
Chapitre 9

Implmentation

Afin de mettre en uvre les modles, les mthodes Branch and Bound et Branch and
Cut, et aussi la dmarche de la gnration de colonnes prsente, nous avons utilis quelques
bibliothques dj dveloppes.

Nous avons implment informatiquement tous les modles avec loutil doptimisation
CPLEX afin de pouvoir les comparer les uns aux autres. Nous avons utilis galement le
langage informatique C++ pour faire telle implmentation. savoir, nous reprsenterons le
rseau dune instance du problme informatiquement comme une matrice dadjacence.

Nous avons utilis la bibliothque SNDlib, qui est une librairie des instances testes pour
Survivable fixed telecommunication Network Design (Tlcommunications fixes surviable
de conception de rseau). La bibliothque comprend un ensemble dinstances de conception
de rseau ainsi que les meilleures solutions connues et les bornes dual de solution, ainsi
que dautres informations lies ce domaine. Les instances des rseaux utilises dans notre
problme sont donc fournies par cette bibliothque. Nous utiliserons la prochaine session
pour mieux expliquer les instances utilises.

9.1 Les instances


Nous avons utilis une instance retir au hasard de la bibliothque Survivable fixed tele-
communication Network Design (SNDlib) pour tester tous les modles.

Limage 9.1 montre plus clairement la topologie utilise pour appliquer les modles.

68
Figure 9.1 Topologie utilise
Source : [30]

Pour tester les fonctions objectifs qui visent minimiser des diffrents paramtres proposs
ici pour les modles, nous avons dcid dtablir la topologie prsente ci-dessous et en faisant
varier la quantit de demandes. Nous avons donc travaill avec le rseau dorigine qui a 12
nuds et 18 liens. Nous avons effectu les mmes tests avec une capacit des tranches de
spectre spcifique : les liens ont 24 tranches de spectre de 25 GHz chacun.

En raison de la grande complexit du modle, nous avons travaill avec des instances qui
varie entre 1 et 10 demandes pour mieux comprendre comment la combinatoire du problme
interfre dans sa rsolution. Ces diffrents instances sont jointes lannexe du rapport 1 . En
guise de rappel, une demande est dfinie comme une paire de nuds (source et destination),
et le volume de donnes transport entre eux.
1. Dans lannexe nous avons montr que linstance avec dix demandes. Pourtant les autres instances ont le
mme rseau et se diffrent de celui seulement dans le nombre de demandes. Linstance avec cinq demandes,
par exemple, a les premires cinq demandes de celle reprsent dans lannexe.

69
Pour faire des comparaisons, nous avons utilis quatre paramtres diffrents pour tre
minimiss avec le modle ici prsent :
Longueur du chemin optique : reprsente soit par la variable xdl , soit par xdp , soit par
xde .
Largeur du spectre : reprsente par la variable zs ;
Niveau de congestion du rseau : reprsente par la variable r ;
Charge moyenne des liens : qui reprsente la quantit moyenne de tranches de spectre
utilises dans les liens.

9.2 Mise en uvre de la mthode de Branch and Bound


Les mthodes de branch and bound et branch and cut sont utilises par dfaut par loutil
CPLEX quand toutes ou une partie des variables sont nombres rels entires. Donc nous
navons pas eu besoin dimplmenter de faon directe ces mthodes. En plus de lalgorithme
branch and cut, ILOG CPLEX offre galement un algorithme de recherche dynamique. Lal-
gorithme de recherche dynamique consiste des mmes blocs de construction du branch and
cut : LP relaxation, de branching, des cuts et des heuristiques.

Dans lalgorithme de branch and cut, ILOG CPLEX rsout une srie de sous-problmes
continus. Pour grer ces sous-problmes efficacement, ILOG CPLEX construit une arbre dans
lequel chaque sous-problmes est un nud. La racine de larbre est la relaxation continue du
problme MIP initial.

Pour plus de dtails sur cette mthode, nous recommandons une lecture de [31].

9.3 Mise en uvre de la mthode de Gnration de Co-


lonnes
Limplmentation de la mthode de gnration de colonnes a t faite conforme la d-
marche prsente dans le chapitre 8, en utilisant le langage C++ et loutil CPLEX pour aider
rcuprer les valeurs duales chaque itration. Afin de trouver une solution ralisable, notre
dmarche exige linitialisation de notre problme avec un ensemble de chemins optiques L0 (d)
et Q0 (d, e, s) de faon avoir au moins un chemin optique par demande. Dans ce but, dans

70
notre code, nous avons toujours initialiser cet ensemble avec le chemin optique qui contient
la premire route exprime dans linstance du problme et le canal dont la premire tranche
de spectre utilis est celle dindex 1, pour chaque demande.

71
Chapitre 10

Rsultats

Ce chapitre est ddi les rsultats de calcul des modles du travail de [2] et ses dif-
frentes formulations proposs dans ce rapport. Nous montrerons dabord lvolution du
temps dexcution du temps de calcul des formulations avec les instances prsentes dans la
section 9.1. Ensuite nous ferons la comparaison entre les temps dexcution de la mthode
branch-and-bound avec la mthode de gnration de colonnes, pour le modle LPC.

10.1 Temps dexcution


Nous avons fait des comparaisons de temps dexcution pour chaque paramtres dopti-
misation : la longueur du chemin optique, la largeur du spectre, le niveau de congestion du
rseau et la charge moyenne des liens. Nous montrons cela laide des figures 10.1, 10.2,
10.3 et 10.4. Il nest pas sans importance de faire remarquer que les rsultats suivants ont
t faits utilisant la mthode mathmatique branch-and-bound, mme pour le modle LPC.

72
Figure 10.1 volution du temps dexcution pour minimiser la longueur du chemin
optique

Figure 10.2 volution du temps dexcution pour minimiser la largeur du spectre

73
Figure 10.3 volution du temps dexcution pour minimiser le niveau de congestion du
rseau

Figure 10.4 volution du temps dexcution pour minimiser la charge moyenne des liens

Nous pouvons remarquer que la performance computationnelle des formulations qui mi-
nimisent soit la longueur du chemin optique soit la largeur du spectre (sauf pour le modle
NLS2) est beaucoup plus efficace par rapport aux autres deux approches. Dans nos testes,
nous avons observ que ces formulations prsentent un mieux temps dexcution, un nombre
de nuds dans larbre plus petit, et, encore, la quantit de mmoire utilise est relativement

74
plus petite. Nous avons obtenu 0% de gap pour presque toutes les formulations, cest--dire,
que nous avons trouv la solution optimale. Cependant, pour certain instances de quelques
formulations, par exemple, pour minimiser le niveau de congestion du rseau les modles
LPCS2 et NLS2, pour des instances avec plus de huit demandes, prennent trop de temps
dexcution et ils se coincent pour trouver des nuds dans larbre pendant le processus de
branch-and-bound quand le gap tait entre 10% et 20%. Cela a arriv aussi pour minimiser
la charge moyenne des liens pour les modles LPS2 et LPCS2, et pour le modle NLS2,
pour des instances avec plus de neuf demandes et plus de sept demandes, respectivement.
Pour ces instances de ces formulations nous navons pas obtenu la solution optimal en temps
raisonnable, et sans que le serveur de lcole tombe en panne, ou encore, sans avoir arrter
le processus lors des cours dans les autres salles de lcole.

10.2 Modle LPC


Nous avons fait des comparaisons de temps dexcution et de lvolution du nombre de
variables pour le modle original LPC, en utilisant la mthode mathmatique branch-and-
bound et la mthode de gnration de colonnes.

Figure 10.5 volution du temps dexcution modle LPC

75
Figure 10.6 volution du nombre de variables modle LPC

Nous pouvons remarquer que pour ce rseau, partir de sept demandes, le temps dex-
cution avec la gnration de colonnes devient plus grand que avec la mthode branch-and-
bound. Pourtant, pour trouver la solution optimal le nombre de variables utilise est toujours
plus petite pour la mthode de gnration de colonnes que pour la mthode branch-and-
bound, comme attendu.

Pour mieux comparer les deux mthodes lun lautre, nous avons les test avec ce mme
rseau, mais avec toutes les demandes de cette instance (66 demandes). Pourtant, nous avons
obtenu solution infaisable.

10.3 Analyse des allocations trouves


Comme la minimisation du niveau de congestion et la minimisation de la largeur du
spectre sont atteints en rpartissant le trafic sur des routes diverses (normalement routes plus
longs), avec des demandes que nont pas normalement des liens en commun dans leurs routes,
provoquant intrinsquement laugmentation de la charge moyenne des liens. Par consquence,
la minimisation de la largeur du spectre vise lallocation des tranches de spectre qui ont les
mmes index dj utilises par dautres demandes.

76
Dautre part, une rduction de la charge moyenne des liens et la minimisation de la lon-
gueur du chemin optique, signifie que la demande prend tout simplement les routes les plus
courts, en partagent normalement des liens avec dautres demandes, qui provoque potentiel-
lement la congestion des liens. Ds que la minimisation de la longueur du chemin optique
ne travaille pas avec la minimisation de tranches de spectre, dans quelques instances, pour
quelques demandes, il y a une allocation dune tranche de spectre en plus que le ncessaire.

77
Conclusion

Le but de ce travail tait dutiliser des outils mathmatiques et informatiques pour rsoudre
le problme doptimisation dans un rseau optique flex-grid : le problme de routage et
dallocation des spectres (RSA).

Le problme RSA est trs important pour les acteurs du monde de la tlcommunication
ds quil permet non seulement dallouer le moins de ressources pour un rseau optique afin
datteindre le nombre maximum de demandes, mais aussi danalyser, concevoir, planifier et
exploiter ces rseaux.

Il a t propos dans ce travail de travailler sur des modles mathmatiques rcents du


problme RSA et avec des formulations que nous avions propos. Nous avons donc travaill
sur les modles de la thse de [1] et ceux du travail de [2]. Nous les avons analys en fonction
de leur complexit et dfini des mthodes de rsolution plus appropries d leurs carac-
tristiques. Ensuite, nous avons travaill sur les nouvelles formulations qui ont t fait en
adaptant les modles du travail de [2] et en considrant les paramtres doptimisation que
[1] utilise dans sa thse : la largeur du spectre (mesure en termes de nombre de tranches
de spectre utiliss), le niveau de congestion du rseau (mesure en termes de nombre de
tranches de spectre utiliss dans chaque lien), et la charge moyenne des liens (mesure en
termes de nombre de tranches de spectre utiliss dans tous les liens par rapport au nombre
de liens du rseau).

Nous avons implment informatiquement les modles originaux de [2] et ses formulations
adaptes. Nous avions prvu de tester les modles avec diffrentes instances de rseaux rels.
Cela na pas t possible pour diverses raisons ; trop de temps pour rsoudre le problme,
crash du serveur de lcole li la quantit de calcul, ou encore, lobligation darrter le
processus lors des cours dans les autres salles de lcole. Une possible solution serait dutiliser
une machine ddie aux ces calculs.

78
Nous avons obtenu comme rsultat que les formulations qui minimisent soit la longueur
du chemin optique soit la largeur du spectre (sauf pour le modle NLS2) sont beaucoup
plus efficaces par rapport aux autres deux approches de minimisation. Et comme cette pre-
mire cherche une solution avec des routes plus courtes, dont les demandes partagent ses
liens et, subsquemment, allouant des tranches de spectre des index diffrentes pour ces de-
P
mandes. Nous obtenons pour cette solution que la somme zs sapproche ventuellement
sS
de Card(S).

P
Dautre part, la minimisation de la largeur du spectre (min zs ) est atteint en rpartis-
sS
sant le trafic sur des routes diverses, normalement plus longs, avec des demandes que nont
pas des liens en commun dans leurs routes et, subsquemment, allouant des tranches de
spectre des index dj utilises par dautres demandes.

Une fois que les deux approches ont un temps computationnel assez rapide pour rsoudre
mme les instances qui sont relativement grandes, nous pouvons essayer futurement une
nouvelle approche bi-critre utilisant ces deux objectifs.

Les formulations qui minimisent soit le niveau de congestion du rseau, soit la charge
moyenne des liens ont un temps dexcution beaucoup plus grand par rapport aux autres.
Un faon dessayer de contourner ce problme est en utilisant la mthode mathmatique de
plans de dcoupage puisque ces formulations ont une silhouette marquant avant un nombre
trs important de contraintes par rapport au nombre de variables. Cela cest due lensemble
< des modles, qui grandit trs rapidement lorsque le nombre de variables accroit.

79
80
Bibliographie

Rfrences bibliographiques

[1] Thanh, H. D. (2014). Contribution to Flexible Optical Network Design : Spectrum Assi-
gnment and Protection (Doctoral dissertation, Tlcom Bretagne ; Universit de Bretagne
Occidentale).

[2] Zotkiewicz, M., Piro, M., Ruiz, M., Klinkowski, M., & Velasco, L. (2013, June). Opti-
mization models for flexgrid elastic optical networks. In Transparent Optical Networks
(ICTON), 2013 15th International Conference on (pp. 1-4). IEEE.

[3] Gilmore, P. C., & Gomory, R. E. (1961). A linear programming approach to the cutting-
stock problem. Operations research, 9(6), 849-859.

[4] Pujolle, G. (2014). Les rseaux : Edition 2014. Editions Eyrolles.

[7] Thon-Adjalin, C. (2011). tude dun systme de transmission sur fibre optique plastique
saut dindice (Doctoral dissertation, Universit Laval).

[8] Dobremez, V. (2013). Convergence des techniques de transmission fibre optique et radio
MIMO haut dbit (Doctoral dissertation, Grenoble).

[10] Jinno, M., Takara, H., Kozicki, B., Tsukishima, Y., Sone, Y., & Matsuoka, S. (2009).
Spectrum-efficient and scalable elastic optical path network : architecture, benefits, and
enabling technologies. Communications Magazine, IEEE, 47(11), 66-73.

[11] Recalcati, M., Musumeci, F., Tornatore, M., Bregni, S., & Pattavina, A. (2014, No-
vember). Benefits of elastic spectrum allocation in optical networks with dynamic traffic.
In Communications (LATINCOM), 2014 IEEE Latin-America Conference on (pp. 1-6).
IEEE.

iv
[12] Gibbons, A. (1985). Algorithmic graph theory. Cambridge University Press.

[15] Goldberg, A. V. (2009). The Shortest Path Problem (Dimacs Series in Discrete Mathe-
matics and Theoretical Computer Science) (USA : American Mathematical Society).

[16] Bollobs, B. (2013). Modern graph theory (Vol. 184). Springer Science & Business Me-
dia.

[17] Hillier, F. S., & Lieberman, G. J. (2013). Introduo pesquisa operacional. McGraw
Hill.

[18] Kantorovich, L. V. (1939). The mathematical method of production planning and or-
ganization. Management Science, 6(4), 363-422.

[19] Boussard, J. M., & Daudin, J. J. (1988). La programmation lineaire dans les modeles
de production.

[20] Rao, S. S. (2009). Engineering optimization : theory and practice. John Wiley & Sons.

[21] Fouilhoux, P. (2015). Optimisation Combinatoire : Programmation Linaire et Algo-


rithmes.

[22] Clausen, J. (1999). Branch and bound algorithms-principles and examples. Department
of Computer Science, University of Copenhagen, 1-30.

[23] Mart, R., Reinelt, G. Branch-and-Cut. In The Linear Ordering Problem (pp. 95-116).
Springer Berlin Heidelberg (2011).

[24] Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W., & Vance, P.
H. (1998). Branch-and-price : Column generation for solving huge integer programs.
Operations research, 46(3), 316-329.

[25] Sarah, L., Proll, L., & Wren, A. (1996, September). A column generation approach to
bus driver scheduling. In Proceedings of the 4th Meeting of the EURO Working Group
on Transportation (pp. 36-52).

[26] Mehrotra, A., & Trick, M. A. (1996). A column generation approach for graph coloring.
informs Journal on Computing, 8(4), 344-354.

v
[27] Poldi, K. C., & Arenales, M. N. (2006). Heursticas para o problema de corte de estoque
unidimensional inteiro. Pesquisa Operacional, 26(3), 473-492.

[28] Pileggi, G. C., Morabito, R., & Arenales, M. N. (2007). Heursticas para os problemas
de gerao e sequenciamento de padres de corte bidimensionais. Pesquisa operacional,
27(3), 549-568.

[29] Young, H. D., & Freedman, R. A. (2004). Fsica III : eletromagnetismo. Fsica III :
Eletromagnetismo.

[31] CPLEX, IBM ILOG. Users manual for CPLEX. International Business Machines Cor-
poration 46.53 (2009) : V12. 1.

Webographie

[6] Rseau optique de France Tlcom. La Fibre.info, tout sur la fibre optique. [en ligne],
[consult le 16 mars 2016]. Disponible sur : https ://lafibre.info/free-la-fibre/fibre-
optique-free-entre-en-conflit-avec-france-telecom/

[7] Mbonda Nkenko, Aristote. tude et mise en uvre dun systme streaming via le rseau
internet < http ://www.memoireonline.com/01/14/8610/Etude-et-mise-en-oeuvre-d-
un-systeme-streaming-via-le-reseau-internet.html >, 13 fvrier, 2016

[10] Universit Nice Sophia Antipolis. Course. Intro telecom <


http ://www.unice.fr/optics/course/Intro_telecom/print.htm >, 13 fvrier, 2016

[14] Exemple de graphe. Developpez.com [en ligne], [consult le 4 mars 2016]. Disponible sur :
http ://rperrot.developpez.com/articles/algo/theorie/graphes/ ?page=Page_1#LI-B-1

[15] Adjacency Matrix. Usman, Q. [en ligne], [consult le 5 mars 2016]. Disponible sur :
http ://usmanqayyum.blogspot.fr/2012/04/adjacencyincidence-matrix.html

[30] Image of the network, Problem polskaU-U-M-N-C-A-N-N. SNDlib [en ligne], [consult
le 06 mai 2016]. Disponible sur : http ://sndlib.zib.de/resource.get.action?objectName
=polska&resource=image&fileName=polska.jpg&objectType=network

vi
Annexes

vii
Annexe A

Instance avec dix demandes

?SNDlib native format ; type : network ; version : 1.0


# network polska

# NODE SECTION
#
# <node_id> [(<longitude>, <latitude>)]

NODES (
Gdansk ( 18.60 54.20 )
Bydgoszcz ( 17.90 53.10 )
Kolobrzeg ( 16.10 54.20 )
Katowice ( 18.80 50.30 )
Krakow ( 19.80 50.00 )
Bialystok ( 23.10 53.10 )
Lodz ( 19.40 51.70 )
Poznan ( 16.80 52.40 )
Rzeszow ( 21.90 50.00 )
Szczecin ( 14.50 53.40 )
Warsaw ( 21.00 52.20 )
Wroclaw ( 16.90 51.10 )
)

# LINK SECTION

viii
#
# <link_id> ( <source> <target> ) <pre_installed_capacity> <pre_installed_capacity_cost>
<routing_cost> <setup_cost> ( {<module_capacity> <module_cost>}* )

LINKS (
Link_0_10 ( Gdansk Warsaw ) 0.00 0.00 0.00 156.00 ( 155.00 156.00 622.00 468.00 )
Link_0_2 ( Gdansk Kolobrzeg ) 0.00 0.00 0.00 272.00 ( 155.00 272.00 622.00 816.00 )
Link_1_2 ( Bydgoszcz Kolobrzeg ) 0.00 0.00 0.00 156.00 ( 155.00 156.00 622.00 468.00 )
Link_1_7 ( Bydgoszcz Poznan ) 0.00 0.00 0.00 186.00 ( 155.00 186.00 622.00 558.00 )
Link_1_10 ( Bydgoszcz Warsaw ) 0.00 0.00 0.00 272.00 ( 155.00 272.00 622.00 816.00 )
Link_2_9 ( Kolobrzeg Szczecin ) 0.00 0.00 0.00 237.00 ( 155.00 237.00 622.00 711.00 )
Link_3_4 ( Katowice Krakow ) 0.00 0.00 0.00 208.00 ( 155.00 208.00 622.00 624.00 )
Link_3_6 ( Katowice Lodz ) 0.00 0.00 0.00 181.00 ( 155.00 181.00 622.00 543.00 )
Link_3_11 ( Katowice Wroclaw ) 0.00 0.00 0.00 208.00 ( 155.00 208.00 622.00 624.00 )
Link_4_8 ( Krakow Rzeszow ) 0.00 0.00 0.00 250.00 ( 155.00 250.00 622.00 750.00 )
Link_4_10 ( Krakow Warsaw ) 0.00 0.00 0.00 324.00 ( 155.00 324.00 622.00 972.00 )
Link_5_8 ( Bialystok Rzeszow ) 0.00 0.00 0.00 324.00 ( 155.00 324.00 622.00 972.00 )
Link_5_10 ( Bialystok Warsaw ) 0.00 0.00 0.00 250.00 ( 155.00 250.00 622.00 750.00 )
Link_6_10 ( Lodz Warsaw ) 0.00 0.00 0.00 165.00 ( 155.00 165.00 622.00 495.00 )
Link_6_11 ( Lodz Wroclaw ) 0.00 0.00 0.00 305.00 ( 155.00 305.00 622.00 915.00 )
Link_7_9 ( Poznan Szczecin ) 0.00 0.00 0.00 142.00 ( 155.00 142.00 622.00 426.00 )
Link_7_11 ( Poznan Wroclaw ) 0.00 0.00 0.00 195.00 ( 155.00 195.00 622.00 585.00 )
Link_0_5 ( Gdansk Bialystok ) 0.00 0.00 0.00 294.00 ( 155.00 294.00 622.00 882.00 )
)

# DEMAND SECTION
#
# <demand_id> ( <source> <target> ) <routing_unit> <demand_value> <max_path_length>
DEMANDS (
Demand_0_1 ( Gdansk Bydgoszcz ) 1 195.00 UNLIMITED
Demand_1_11 ( Bydgoszcz Wroclaw ) 1 163.00 UNLIMITED
Demand_2_6 ( Kolobrzeg Lodz ) 1 128.00 UNLIMITED
Demand_3_9 ( Katowice Szczecin ) 1 109.00 UNLIMITED
Demand_4_11 ( Krakow Wroclaw ) 1 127.00 UNLIMITED

ix
Demand_5_6 ( Bialystok Lodz ) 1 105.00 UNLIMITED
Demand_6_7 ( Lodz Poznan ) 1 169.00 UNLIMITED
Demand_8_9 ( Rzeszow Szczecin ) 1 123.00 UNLIMITED
Demand_9_10 ( Szczecin Warsaw ) 1 181.00 UNLIMITED
Demand_10_11 ( Warsaw Wroclaw ) 1 141.00 UNLIMITED
)

# ADMISSIBLE PATHS SECTION


#
# <demand_id> ( {<path_id> ( <link_id>+ )}+ )

ADMISSIBLE_PATHS (
Demand_0_1 (
P_0 ( Link_0_2 Link_1_2 )
P_1 ( Link_0_10 Link_1_10 )
P_2 ( Link_0_2 Link_2_9 Link_7_9 Link_1_7 )
P_3 ( Link_0_5 Link_5_10 Link_1_10 )
P_4 ( Link_0_10 Link_4_10 Link_3_4 Link_3_11 Link_7_11 Link_1_7 )
P_5 ( Link_0_2 Link_2_9 Link_7_9 Link_7_11 Link_3_11 Link_3_4 Link_4_10 Link_1_10
)
P_6 ( Link_0_5 Link_5_8 Link_4_8 Link_4_10 Link_1_10 )
)
Demand_1_11 (
P_0 ( Link_1_7 Link_7_11 )
P_1 ( Link_1_2 Link_0_2 Link_0_5 Link_5_8 Link_4_8 Link_3_4 Link_3_11 )
P_2 ( Link_1_7 Link_7_9 Link_2_9 Link_0_2 Link_0_5 Link_5_8 Link_4_8 Link_3_4
Link_3_11 )
P_3 ( Link_1_10 Link_4_10 Link_3_4 Link_3_11 )
P_4 ( Link_1_2 Link_2_9 Link_7_9 Link_7_11 )
P_5 ( Link_1_2 Link_0_2 Link_0_10 Link_4_10 Link_3_4 Link_3_11 )
P_6 ( Link_1_2 Link_0_2 Link_0_5 Link_5_10 Link_4_10 Link_3_4 Link_3_11 )
)
Demand_2_6 (
P_0 ( Link_0_2 Link_0_5 Link_5_8 Link_4_8 Link_3_4 Link_3_6 )

x
P_1 ( Link_1_2 Link_1_10 Link_6_10 )
P_2 ( Link_0_2 Link_0_10 Link_6_10 )
P_3 ( Link_0_2 Link_0_5 Link_5_10 Link_6_10 )
P_4 ( Link_0_2 Link_0_5 Link_5_8 Link_4_8 Link_4_10 Link_6_10 )
P_5 ( Link_0_2 Link_0_5 Link_5_8 Link_4_8 Link_3_4 Link_3_11 Link_6_11 )
P_6 ( Link_2_9 Link_7_9 Link_1_7 Link_1_10 Link_6_10 )
)
Demand_3_9 (
P_0 ( Link_3_4 Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_2_9 )
P_1 ( Link_3_6 Link_6_10 Link_0_10 Link_0_2 Link_2_9 )
P_2 ( Link_3_4 Link_4_10 Link_0_10 Link_0_2 Link_2_9 )
P_3 ( Link_3_4 Link_4_8 Link_5_8 Link_5_10 Link_0_10 Link_0_2 Link_2_9 )
P_4 ( Link_3_4 Link_4_8 Link_5_8 Link_0_5 Link_0_10 Link_1_10 Link_1_2 Link_2_9
)
P_5 ( Link_3_4 Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_1_2 Link_1_7 Link_7_9
)
P_6 ( Link_3_11 Link_7_11 Link_7_9 )
)
Demand_4_11 (
P_0 ( Link_3_4 Link_3_11 )
P_1 ( Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_1_2 Link_1_7 Link_7_11 )
P_2 ( Link_3_4 Link_3_6 Link_6_11 )
P_3 ( Link_4_10 Link_6_10 Link_6_11 )
P_4 ( Link_4_8 Link_5_8 Link_5_10 Link_6_10 Link_6_11 )
P_5 ( Link_4_8 Link_5_8 Link_0_5 Link_0_10 Link_6_10 Link_6_11 )
P_6 ( Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_2_9 Link_7_9 Link_7_11 )
)
Demand_5_6 (
P_0 ( Link_5_8 Link_4_8 Link_3_4 Link_3_6 )
P_1 ( Link_5_10 Link_6_10 )
P_2 ( Link_5_8 Link_4_8 Link_4_10 Link_6_10 )
P_3 ( Link_5_8 Link_4_8 Link_3_4 Link_3_11 Link_6_11 )
P_4 ( Link_0_5 Link_0_10 Link_6_10 )
P_5 ( Link_5_10 Link_4_10 Link_3_4 Link_3_6 )

xi
P_6 ( Link_5_8 Link_4_8 Link_4_10 Link_1_10 Link_1_7 Link_7_11 Link_6_11 )
)
Demand_6_7 (
P_0 ( Link_3_6 Link_3_4 Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_1_2 Link_1_7
)
P_1 ( Link_6_10 Link_1_10 Link_1_7 )
P_2 ( Link_3_6 Link_3_11 Link_7_11 )
P_3 ( Link_3_6 Link_3_4 Link_4_10 Link_1_10 Link_1_7 )
P_4 ( Link_3_6 Link_3_4 Link_4_8 Link_5_8 Link_5_10 Link_1_10 Link_1_7 )
P_5 ( Link_3_6 Link_3_4 Link_4_8 Link_5_8 Link_0_5 Link_0_10 Link_1_10 Link_1_7
)
P_6 ( Link_3_6 Link_3_4 Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_2_9 Link_7_9
)
)
Demand_8_9 (
P_0 ( Link_5_8 Link_0_5 Link_0_2 Link_2_9 )
P_1 ( Link_4_8 Link_4_10 Link_0_10 Link_0_2 Link_2_9 )
P_2 ( Link_5_8 Link_5_10 Link_0_10 Link_0_2 Link_2_9 )
P_3 ( Link_5_8 Link_0_5 Link_0_10 Link_1_10 Link_1_2 Link_2_9 )
P_4 ( Link_5_8 Link_0_5 Link_0_2 Link_1_2 Link_1_7 Link_7_9 )
P_5 ( Link_4_8 Link_3_4 Link_3_6 Link_6_10 Link_0_10 Link_0_2 Link_2_9 )
P_6 ( Link_4_8 Link_4_10 Link_1_10 Link_1_2 Link_2_9 )
)
Demand_9_10 (
P_0 ( Link_2_9 Link_0_2 Link_0_10 )
P_1 ( Link_7_9 Link_1_7 Link_1_10 )
P_2 ( Link_2_9 Link_1_2 Link_1_10 )
P_3 ( Link_2_9 Link_0_2 Link_0_5 Link_5_10 )
P_4 ( Link_7_9 Link_7_11 Link_3_11 Link_3_4 Link_4_10 )
P_5 ( Link_7_9 Link_1_7 Link_1_2 Link_0_2 Link_0_10 )
P_6 ( Link_2_9 Link_1_2 Link_1_7 Link_7_11 Link_3_11 Link_3_4 Link_4_10 )
)
Demand_10_11 (
P_0 ( Link_4_10 Link_3_4 Link_3_11 )

xii
P_1 ( Link_6_10 Link_6_11 )
P_2 ( Link_4_10 Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_1_2 Link_1_7 Link_7_11
)
P_3 ( Link_4_10 Link_3_4 Link_3_6 Link_6_11 )
P_4 ( Link_1_10 Link_1_7 Link_7_11 )
P_5 ( Link_6_10 Link_3_6 Link_3_11 )
P_6 ( Link_4_10 Link_4_8 Link_5_8 Link_0_5 Link_0_2 Link_2_9 Link_7_9 Link_7_11
)
)
)

xiii