Académique Documents
Professionnel Documents
Culture Documents
Rapport dingnieur
Stage de 2me anne
Filire F3 - Systmes dInformation et Aide la Dcision
BRAFITEC
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.
i
Rsum
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.
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
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
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
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
vi
Table des figures
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
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.
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
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.
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
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.
6
La figure 1.1 montre un exemple de rseau de communication qui utilise de diffrents
supports de communication pour transmettre linformation.
Dans ce travail nous nous intressons aux rseaux de communication qui utilisent des fibres
optiques pour transmettre linformation.
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.
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.
8
encore DWDM (Dense WDM), lorsque le nombre de longueurs donde 1 est trs important.
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.
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.
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.
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
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.
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.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.
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.
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.
Voici donc dans la figure 3.2 un exemple de graphe et de sa matrice dadjacence associe :
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.
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.
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.
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.
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.
P RIM AL DU AL
max ct x min bt y
Ax b At y c
x0 y0
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.
24
Chapitre 4
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.
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.
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.
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.
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
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.
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 :
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)
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.
min ct x (5.7)
sachant que
Ax b (5.8)
x0 (5.9)
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 .
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.
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
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
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)
Dans ce modle, les variables sont binaires, telle contrainte est reprsente par (6.4).
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)
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
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.
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)
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).
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 :
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.
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)
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.
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.
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)
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
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.
X
xdl = 1 d D, (7.1)
lL(d)
X X
xdl 1 e , s S, (7.2)
dD lQ(d,e,s)
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).
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.
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)
46
P
xdp = 1 d D (7.13)
pP (d)
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.
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.
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)
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.
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 .
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.
51
yds {0, 1} d D, s S (7.43)
yes {0, 1} e , s S (7.48)
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)
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.
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.
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.
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.
55
Figure 7.2 volution du nombre de variables pour minimiser la largeur du spectre
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.
57
Figure 7.5 volution du nombre de contraintes pour minimiser la longueur du chemin
optique
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
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)
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)
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
problmes P et P 0 , respectivement :
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).
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)
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)
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.
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)
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.
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)
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.
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.
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.
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].
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.
72
Figure 10.1 volution du temps dexcution pour minimiser la longueur du chemin
optique
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.
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.
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.
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.
[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.
[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
[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
# 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 (
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