Vous êtes sur la page 1sur 57

MEMOIRE DE FIN DETUDES

Planification du rseau fixe du GSM


Localisation des sites dinstallation des BSCs et MSCs

Prpar par :
M. LAMALLAM Abdessamad

Membres du jury
M. ZOUAKIA Rochdi (ANRT) : Prsident
M. SLALMI Ahmed (ANRT)
M. DERGAMOUN Mohammed (INPT)
M. HAZAOUD Ahmed (INPT)
M. BELAFKIH Mohammed (INPT)

JUIN 2004

Ddicaces

Je ddie ce travail

Mes parents
Ma sur
Mes frres
Ma famille
Mes amis

Remerciements
Je tiens remercier particulirement M. SLALMI Ahmed et M.
ZOUAKIA Rochdi, mes encadrants externes, pour leurs directives et conseils
pertinents pour mener bien ce travail.
Je
remercie
galement
mes
encadrants
internes,
M
DERGAMOUN Mohammed, M. HAZAOUD Ahmed et M. BELAFKIH Mohammed
pour leurs soutiens, orientations et conseils.
Mes remerciements vont galement Monsieur le Prsident et les
membres du jury qui mont fait lhonneur daccepter dvaluer mon travail.

Rsum
Dans le processus de planification dun rseau mobile ltape de
planification du rseau fixe intervient aprs celle de la partie radio, elle
consiste dterminer le nombre et lemplacement des diffrents
concentrateurs et bases de donnes ainsi que les liaisons de transmissions
entre quipements et leurs capacits.
Dans ce travail, nous avons ralis une application Mini logiciel Java avec interface graphique qui propose une architecture de rseau entre
les BTS et les BSC dune part et entre les BSC et les MSC dune autre part et
cela dune faon minimiser le cot total des quipements dployer. Nous
avons utilis pour rsoudre ce problme combinatoire la mthode heuristique
dite mthode de Recherche Taboue.

Table de matires
INTRODUCTION GENERALE ------------------------------------------------------------------------------------------- - 1 ARCHITECTURE DU RESEAU GSM ------------------------------------------------------------------------------------ - 2 1.1 INTRODUCTION ---------------------------------------------------------------------------------------------------------- - 3 1.2. LA STATION MOBILE (LE TELEPHONE PORTABLE) --------------------------------------------------------------------- - 4 1.3. LE SOUS SYSTEME RADIO (BSS)---------------------------------------------------------------------------------------- - 4 1.4. LE SOUS SYSTEME RESEAU (NSS) -------------------------------------------------------------------------------------- - 5 1.5 LE CENTRE D'EXPLOITATION ET DE MAINTENANCE OMC----------------------------------------------------------- - 5 GENERALITES SUR LA PLANIFICATION DES RESEAUX ---------------------------------------------------------- - 6 2.1 PLANIFICATION CELLULAIRE : GENERALITES --------------------------------------------------------------------------- - 7 2.2 DIMENSIONNEMENT DES RESEAUX CELLULAIRES. -------------------------------------------------------------------- - 8 2.3 PLANIFICATION DU SOUS SYSTEME RADIO --------------------------------------------------------------------------- - 10 2.4 PLANIFICATION DE LA PARTIE FIXE (NSS) ---------------------------------------------------------------------------- - 10 2.4.1 Prsentation gnrale et objectifs ---------------------------------------------------------------- - 10 2.4.2 Donnes dentre et contraintes ----------------------------------------------------------------- - 11 2.4 CONCLUSION ----------------------------------------------------------------------------------------------------------- - 12 FORMULATION DES PROBLEMATIQUES DE PLANIFICATION DU NSS ------------------------------------- - 13 3.1 LOCALISATION DES CONCENTRATEURS [3] ------------------------------------------------------------------------- - 14 3.1.1 Introduction ----------------------------------------------------------------------------------------------- - 14 3.1.2 Formulation du problme ---------------------------------------------------------------------------- - 14 3.2. AFFECTATION DES TERMINAUX AUX CONCENTRATEURS AVEC PRISE EN CHARGE DE LA SIGNALISATION --- - 17 3.2.1 Introduction ----------------------------------------------------------------------------------------------- - 17 3.2.2 Formulation du problme [7]------------------------------------------------------------------------ - 17 3.3 PLANIFICATION DES ZONES DE LOCALISATION (LOCAL AREA) [3] ---------------------------------------------- - 19 3.3.1 Introduction au problme---------------------------------------------------------------------------- - 19 3.3.2 Formulation du problme ---------------------------------------------------------------------------- - 20 3.4 CONCLUSION ----------------------------------------------------------------------------------------------------------- - 21 LES ALGORITHMES HEURISTIQUES : PRINCIPE ET DESCRIPTION -------------------------------------------- - 22 4.1 INTRODUCTION ---------------------------------------------------------------------------------------------------------- - 23 4.2 METHODE DE RECHERCHE TABOUE ----------------------------------------------------------------------------------- - 23 4.3 LES ALGORITHMES GENETIQUES (AG). ------------------------------------------------------------------------------ - 24 4.4 LE RECUIT SIMULE (RS) ------------------------------------------------------------------------------------------------- - 25 4.4.1 Principe gnrale -------------------------------------------------------------------------------------------- - 25 4.4.2 Le paramtre temprature -------------------------------------------------------------------------- - 26 4.5 COMPARAISON DES DIFFERENTS ALGORITHMES. ------------------------------------------------------------------- - 27 RESOLUTION DE LA PROBLEMATIQUE DE LOCALISATION DES CONCENTRATEURS PAR LA METHODE
DE RECHERCHE TABOUE --------------------------------------------------------------------------------------------- - 28 5.1 INTRODUCTION ---------------------------------------------------------------------------------------------------------- - 29 5.2 PLATE FORME INFORMATIQUE ----------------------------------------------------------------------------------------- - 29 5.2.1 Choix de loutil de programmation --------------------------------------------------------------- - 29 5.2.2 Les modules utiliss dans lapplication----------------------------------------------------------- - 29 5.2.3 La solution propose par lapplication ---------------------------------------------------------- - 31 5.3 CONCLUSION ----------------------------------------------------------------------------------------------------------- - 34 CONCLUSION GENERALE -------------------------------------------------------------------------------------------- - 35 BIBLIOGRAPHIE ---------------------------------------------------------------------------------------------------------- - 36 LISTE DES FIGURES------------------------------------------------------------------------------------------------------- - 37 -

Introduction gnrale

Le march des tlcommunications mobiles devient de plus en plus


concurrent et les oprateurs doivent faire face cette concurrence en
rduisant au maximum le cot dployer dans le rseau tout en assurant les
demandes en trafic et en couverture des utilisateurs qui ne cesse
daugmenter.
Au dbut de la vie dun rseau mobile, la partie radio cote trop
chre compare la partie rseau, mais au fur et mesure que le rseau
slargie, la partie rseau devient aussi coteuse et donc elle doit faire sujet
une planification ds le dpart.
Ce projet de fin dtude sintresse la planification de la partie fixe
du rseau GSM (Le NSS) et suggre la rsolution du problme de localisation
des sites dinstallation des BSCs et MSCs. Aprs une formulation de ce
problme, il savre quil ne peut pas tre rsolu avec des mthodes exactes,
ce qui oblige lutilisation de lune des mthodes qui donne des solutions
proches de loptimale, la mthode choisie est Recherche Taboue qui est
simple mettre en oeuvre et permet essentiellement dchapper du
problme des minimums locaux. Ce problme est implant dans une
application Java qui permet dafficher graphiquement une architecture
globale du rseau aprs la saisie des donnes dentres qui sont collectes
lors de la planification de la partie radio.
Pour introduire le sujet, le lecteur trouvera dans le premier chapitre
une brve description de larchitecture du rseau GSM et de ces
composants. Le deuxime chapitre discutera les tapes de planification dun
rseau cellulaire parmi lesquelles on trouve celle du rseau fixe. Le troisime
chapitre sera consacr la description et la formulation des diffrentes
problmatiques qui se posent lors de la planification du rseau fixe. Et avant
de se lancer dans le chapitre cinq qui explique les diffrents modules utiliss
dans lapplication, le chapitre quatre explique le principe de quelques
mthodes heuristiques utilises pour la rsolution des problmes tel que celui
tudi dans ce travail.

-1-

Chapitre1

Architecture du rseau GSM

-2-

Le prsent chapitre dcrit les diffrents composants du rseau GSM,


et cela pour faciliter au lecteur la comprhension des autres chapitres.

1.1 Introduction
Le rseau GSM peut tre divis en 3 parties :
1. La station mobile qui est transporte par lutilisateur.
2. Le sous systme radio (BSS : Base Station Sub-system) qui contrle
les liaisons radio qui s'tablissent avec le tlphone portable.
3. Le sous systme rseau (NSS : Network Sub-system) qui permet la
connexion d'un mobile vers un autre mobile ou vers un utilisateur du
rseau fixe.
Ainsi, on peut reprsenter schmatiquement un rseau radiomobile de
la manire suivante :

Figure 1 architecture du rseau GSM

-3-

1.2. La station mobile (le tlphone portable)


La station mobile est compose de l'quipement possdant son
identit internationale IMEI (International Mobile Equipement Identity) et de la
carte SIM (Subscriber Identity Mobile) contenant principalement l'identit de
l'abonn IMSI (International Mobile Subscriber Identity) et la cl secrte pour
la scurit Ki (Individual Subscriber Authencation Key) servant
lauthentification et au chiffrement de la liaison radio avec la station de base.
LIMEI et lIMSI sont transmis automatiquement l'oprateur lors de la
mise en marche ou lors du retour en zone de couverture du mobile.
On distingue trois types de stations mobiles :

les stations mobiles embarques (classe1) de puissance 20 W.


les mobiles portables (classe2) de 8 W.
les mobiles portatifs de classe 3 (5 W), 4 (2 W) et 5 (0.8 W).

Les mobiles portatifs 2 W sont actuellement les plus rpandus dans


les rseaux GSM. [1][8]

1.3. Le sous systme radio (BSS)


Le sous systme radio est compos de deux parties : la station de
base (BTS : Base Transceiver Station) et du contrleur de station de base (BSC :
Base Station Controller). Ces deux parties communiquent entre elles par
l'intermdiaire de l'interface Abis (voir figure1.1).
Le BTS gre une cellule, il dfinit entre autre la taille de la cellule
suivant l'environnement. Ainsi dans une zone urbaine, on dploiera plus de
BTS que dans une zone rurale. En effet, les BTS sont rsistants, fiables, mobiles
et peu onreux.
Le BTS assure galement les transmissions radio entre les mobiles et
le rseau, ainsi il gre :

l'mission/rception radio.
La couche physique (mission en TDMA, saut de frquence lent ).
Les mesures de qualit des signaux reus.
La liaison radio.

Toute station de base est surveille par un poste appel BSC. Un


rseau GSM comporte plusieurs BSC, qui commandent chacun une ou
plusieurs stations de base. Le BSC est responsable de toutes les fonctions lies
la transmission radio, comme le handover, la gestion des ressources du
rseau, le niveau de puissance des BTS et des mobiles connects ... [1]

-4-

1.4. Le sous systme rseau (NSS)


L'lment central du sous systme rseau est le MSC. Il agit comme
un commutateur classique de rseau numrique (RNIS) auquel on a ajout
les fonctionnalits ncessaires pour grer la mobilit des abonns, comme
l'enregistrement, l'authentification, la mise jour de la localisation, les
handovers et le routage des appels. A chacune de ces fonctionnalits
correspond une entit fonctionnelle, lesquelles forment avec le commutateur
classique, le sous systme rseau.
Quatre bases de donnes sont associes au MSC : le HLR, le VLR, le
EIR, et le AuC :

Le HLR contient toutes les caractristiques d'abonnement de tous les


utilisateurs du rseau GSM, leurs identits IMSI et MSISDN (numro
dappel du portable) ainsi que les localisations des portables. Le HLR
travaille en troite collaboration avec les diffrents VLR, notamment
pour les handovers, et la numrotation.
Le VLR contient les informations ncessaires la gestion des mobiles
prsents dans sa zone notamment celles ncessaires la
numrotation, la localisation, et le type d'abonnement. Elle gre
plusieurs dizaines de milliers d'abonns, ce qui correspond une
rgion.
Le EIR contient une liste de tous les mobiles valides sur le rseau, et
chaque tlphone portable est identifi dans cette base de donnes
par un numro IMEI (International Mobile Equipment Identity). LIMEI
est marqu comme invalide si le mobile a t dclar comme vol.
La base de donnes AuC (Authentification Center), est une base de
protection qui contient une copie dune cl secrte, galement
contenue dans la carte SIM de chaque abonn. Cette dernire est
utilise pour lauthentification dun portable. Ce contrle se fait par
lintermdiaire de canaux radio. [1]

1.5 Le centre d'exploitation et de maintenance OMC


Le centre d'exploitation et de maintenance OMC (Opration and
Maintenance Centre) est dcompos en deux centres l'OMC-R et l'OMC-S.
Le centre d'exploitation et de maintenance du sous-systme
rseau OMC-S (Operation and Maintenance Centre Switching Part) supervise,
dtecte et corrige les anomalies du NSS.
Le centre d'exploitation et de maintenance OMC-R (Operation
and Maintenance Centre-Radio part) exploite et maintient le sous-systme
radio. [2]

-5-

Chapitre2

Gnralits sur la
Planification des rseaux
cellulaires

-6-

Nous aborderons dans la premire partie de ce chapitre


quelques gnralits lies la planification cellulaire, nous parlerons
ensuite des tapes de dimensionnement, de planification de la partie
radio et de planification de la partie rseau.

2.1 Planification cellulaire : gnralits


La planification dun rseau cellulaire est une tche difficile et
continue dont le rsultat conditionne la russite de loprateur. Celui-ci
doit rpondre aux besoins des usagers en garantissant une qualit de
service acceptable tout en minimisant les cots dinvestissement. En plus,
loprateur doit tre toujours lcoute des diffrents changements et
vnements qui se droulent sur son rseau afin de sadapter aux besoins
de ces clients.
Ainsi, loprateur doit dterminer un calendrier de modification
de son rseau permettant de supporter les volutions futures du trafic et
des technologies en garantissant la qualit attendue des communications
et en induisant le cot le plus faible possible.
Pour matriser le problme de planification, loprateur doit
valuer en premier lieu les caractristiques de lenvironnement couvrir,
savoir les caractristiques radio de lenvironnement de propagation, puis
les caractristiques des abonns desservir qui se rsument dans leur
densit, mobilit, et leurs besoins en trafic. Ainsi, en possdant en main des
modles de propagation appropris et des prvisions en trafic sur le court
et le long terme, en ralisant des mesures sur le rseau existant,
loprateur doit aboutir un ensemble de dcisions en tablissant :

Un plan de stations de bases qui va dterminer leurs emplacements,


leurs capacits et les puissances mises en jeu.
Un plan de frquences affectant chaque station de base les
frquences de travail.
Un plan des quipements du rseau fixe.
Un rseau de connexion entre les diffrentes entits du rseau.
Le processus de planification se droule suivant les tapes suivantes :

Dimensionnement des quipements du rseau en dterminant le


volume des quipements et logiciels acqurir et dployer pour la
fourniture des services de tlcommunication mobiles.
Planification du sous-systme radio qui doit mener la dtermination
des positions et capacits des stations de base et aussi spcifier un
plan de frquences.
Planification du sous-systme rseau en spcifiant les emplacements
et capacits des quipements du rseau fixe et les interconnexions
entre eux.

-7-

Voici une reprsentation simplifie du processus de planification


cellulaire :
Donnes et prvisions

Outils et formules de
dimensionnement

Dimensionnement
des quipements

Positions, taille et capacit


des cellules.

Allocation des frquences et


paramtrage des cellules.

Planification
du rseau fixe

Donnes
Outils

Figure 2 : Prsentation simplifie du processus de planification cellulaire

Dans la suite de ce chapitre nous allons consacrer trois


paragraphes qui traitent ltape de dimensionnement, de planification du
BSS et celle du NSS.

2.2 Dimensionnement des rseaux cellulaires.


Le dimensionnement des quipements et interfaces est la
premire tape intervenant dans le cycle de vie dun rseau cellulaire.
Elle permet en effet de prdire, dun premier coup, le nombre des
quipements et autres moyens acqurir pour mettre les services de
tlcommunications mobiles des rseaux cellulaires en marche.
Le dimensionnement des ressources du systme est li au
besoin en trafic des utilisateurs. Ainsi en connaissant le trafic qui doit tre
couler par un systme on peut le dimensionner. Pour le cas des rseaux
cellulaires, la dtermination de la charge de trafic1 pour chaque cellule
-8-

permet de dimensionner les diffrents liens (trafic et signalisation) sur


linterface radio. Ensuite, le dimensionnement des BTS peut se faire partir
de la charge estime de sa zone de couverture. Le processus se droule
ainsi de proche en proche pour dimensionner la fin les interfaces et
quipement du rseau fixe (commutateurs et bases de donnes).
Les trafics quil faut tenir en compte sont principalement :

Le taux dappels (nombre et dure des appels)


Le trafic li la mobilit (mise jour de localisation, handover, ).

Le premier problme de dimensionnement qui se pose est


celui de linterface radio, il sagit de dimensionner les canaux de trafic
TCH, les canaux de signalisation ddis SDCCH (un appel dbute par une
demande dallocation de canal et par une ngociation utilisant un canal
de signalisation ddi), et les canaux de signalisation (RACH, PCH/AGCH).
Le schma suivant illustre la procdure de dimensionnement des
canaux TCH :
Trafic par abonn
(mesur ou estim)
Trafic par cellule
Nombre dabonns dans
la cellule (estim)

Formule
dErlang

Nombre de
canaux TCH

Taux de blocage (QoS)

Figure 3 : dimensionnement des canaux TCH

On dtermine aussi le nombre de canaux SDCCH et ceux de


diffusion et de contrle commun. Chaque canal reprsente un intervalle
de temps (IT), on calcule donc le nombre total N dITs pour dduire en fin
de compte le nombre de TRX (porteuses) dans la cellule correspondante
en divisant N sur 8.

1 : nombre dunits dinformation couler par unit de temps. Deux


paramtres permettent de dfinir la charge en trafic : taux moyen darrive
des informations et dure moyenne de transmission des informations.

-9-

Une fois le nombre de TRX est connu, on procde au


dimensionnement des liaisons de transmission. Sachant que ces liaisons
utilisent des supports appels liaisons MIC vhiculant des trames de 32 IT,
chaque IT possde un dbit de 64kb/s, et tant donn que dans le GSM, le
codage de la parole se fait sur 16kb/s, 4 IT de linterface radio correspond
un IT de linterface Abis. Pour dterminer le nombre de liaisons MICs
ncessaires au raccordement dune station de base avec son contrleur de
station de base, il suffit donc de diviser le nombre dIT de linterface radio par
4 pour obtenir le nombre dIT ncessaires sur linterface Abis. Ce nombre est
ensuite divis par 30 pour obtenir le nombre de trames MIC fournir sur
linterface Abis.
Le dimensionnement des commutateurs, contrleurs de stations
de base et des bases donnes se fait comme celui du rseau fixe.

2.3 Planification du sous systme radio


La planification du BSS comprend les tapes suivantes :

Un plan de couverture : qui a comme objectif de dterminer les


emplacements des stations de base, leurs capacits et leurs
puissances.
Un plan de frquence associ : La rutilisation plus serre signifie plus
de capacit dans le rseau, mais plus dinterfrence. Il y a un
compromis entre la capacit et les interfrences. Lobjectif de la
planification des frquences doit rduire au minimum possible les
interfrences un niveau de capacit acceptable.
Un plan de transmission : Les dpenses pour la transmission sont de
lordre de 20% des dpenses totales dexploitation dun oprateur par
an. Le cot financier tant important, il faut trouver la solution la plus
efficace et la moins coteuse pour une topologie donne du rseau.

Nous arrivons maintenant au vif de notre sujet qui est la


planification du sous systme rseau. Le paragraphe suivant tale les
diffrentes problmatiques lies la planification du NSS qui vont tre traites
en dtail dans le chapitre 4.

2.4 Planification de la partie fixe (NSS)


2.4.1 Prsentation gnrale et objectifs
La planification du sous-systme rseau vient aprs celle du soussystme radio. Elle comprend les tapes suivantes [4]:

Dtermination des nombres et localisations des concentrateurs (BSC


et MSC)
Allocation des BTS aux BSC et des BSC aux MSC.

- 10 -

Dfinition des zones de localisation.


Dfinition des connexions entre les MSC.
Le schma suivant illustre le processus de planification du rseau

fixe :
Positions des BTS

Cots des
diffrentes
configurations
possibles (liaisons
BTS-BSC)

Sites possibles
des BSC

Cots de
signalisation due
aux handovers
inter et intra BSC.

Optimisation

Emplacement des
BSC (impos ou non)

Cots des
diffrentes
configurations
possibles (liaisons
BSC-MSC)

Cots de
signalisation due
aux handovers
inter MSC et mises
jour de
localisaion.

Optimisation

- Nombre et emplacement des BSC.


- BTS raccords aux BSC.

- Nombre et emplacement des MSC.


- BSC raccords aux MSC.
- Zones de localisation.

Figure 4 : droulement du processus de planification du rseau fixe.

2.4.2 Donnes dentre et contraintes


Larchitecture du sous-systme rseau comprend les
concentrateurs (BSC, MSC), les quipements tels que les bases de donnes,
les serveurs de messagerie, les plates formes du rseau intelligent, les
passerelles vers les autres rseaux ainsi que les liaisons de transmission
connectant les quipements entre eux et avec les quipements des rseaux
extrieurs. Pour cela les donnes suivantes doivent tre connues :

Sites et capacits des stations de base.


Capacits des diffrents types de concentrateurs (BSC, MSC).
Emplacements possibles des concentrateurs.
Cots dacquisition ou de location des sites des concentrateurs.
Cots dexploitation et de maintenance des concentrateurs pour
chaque site possible.
Cot des liaisons de transmission entre les entits du rseau mobile.
- 11 -

Plusieurs contraintes sont prises en compte dans le processus de


planification. Parmi les contraintes techniques, on note:

Positions des concentrateurs qui sont souvent imposes en fonction de


la disponibilit des sites.
capacit des liaisons de transmission entre les diffrents sites.
Capacit de raccordement des concentrateurs. Cette capacit
dpend des types et constructeurs de ces concentrateurs.
Minimisation de la charge de signalisation. La signalisation ici est celle
due aux diffrents types de handovers et de mises jour de
localisation.
Et parmi les contraintes de cot on note :

Minimisation des cots dinvestissement, dinstallation et dexploitation


des concentrateurs.
Minimisation des cots des liaisons de transmission.
Minimisation des interconnexions.

2.4 Conclusion
Nous avons propos dans ce chapitre quelques notions sur la
planification du rseau GSM savoir la phase de dimensionnement et celles
de la planification de la partie radio et rseau. Chaque tape doit tre
ralise avant le commencement de ltape suivante. Ces trois tapes entre
dans le cadre dune planification initiale qui sera suivie dun travail
dingnierie tout aussi important. La monte en charge avec la croissance du
nombre dabonns va ncessiter la densification du rseau, une tape que
nous nallons pas aborder dans ce mmoire.

- 12 -

Chapitre3

Formulation des problmatiques


de planification du NSS

- 13 -

Dans le chapitre prcdent, nous avons introduit la planification


de la partie fixe. Dans le prsent chapitre on essayera de dfinir les diffrentes
problmatiques qui dcoulent de cette planification. On va donner une
formulation mathmatique de chacune delles. La formulation du problme
de localisation du concentrateur va nous aider par la suite (chapitre 5)
concevoir un outil java qui se base sur une mthode heuristique(voir chapitre
4).

3.1 Localisation des concentrateurs [3]


3.1.1 Introduction
La premire problmatique laquelle doit rpondre le
planificateur du sous-systme rseau est de dterminer lemplacement des
concentrateurs. Le principal objectif considr consiste minimiser les cots
incluant cots des liaisons de transmission, des concentrateurs, dinstallation
(acquisition et amnagement du site), dexploitation et de maintenance. Le
recours des contrleurs de capacit importantes permet de rduire leur
nombre et par consquent permet de rduire le cot des sites et de
maintenance mais conduit un surcot au niveau des liaisons de transmission
puisque il faut raccorder des sites terminaux loigns. Il est donc important de
dfinir une topologie de rseau permettant de minimiser le cot total incluant
le cot des concentrateurs et celui des liaisons de transmission. Ce problme
est class NP-difficile (voir annexe 1).
Les concentrateurs sont de deux types et se situent des
niveaux diffrents dans le rseau : Les contrleurs de stations de base
constituent des concentrateurs pour les stations de base et les commutateurs
constituent leur tour des concentrateurs pour les contrleurs de stations de
base.
Dans les paragraphes qui suivent, on donnera une formulation
du problme de positionnement des concentrateurs pour donner ensuite une
approche de rsolution du problme par la mthode de recherche taboue
que nous allons expliquer le principe dans le chapitre suivant. Reste noter
nous dsignons par concentrateur (BSC ou MSC) lentit laquelle des sites
terminaux (BTS ou BSC) sont raccords.

3.1.2 Formulation du problme


La rsolution du problme de localisation des concentrateurs
revient trouver un compromis entre les cots dinvestissement des
concentrateurs et les cots des liaisons de transmission. On propose de
formuler ce problme pour les deux cas suivant : localisation des MSC
connue (impos le plus souvent par des contraintes de disponibilit du site)
ou non connue.

- 14 -

3.1.2.1 Localisation des MSC suppose fixe [3]


Le problme revient seulement trouver les positions des sites
dinstallation des BSC. Le rseau minimiser comporte un MSC et N stations
de base connectes M contrleurs de stations de base. Chaque station de
base ne peut tre connectes qu un BSC et le nombre de BTS connectes
un BSC est limit (limite impose par le matriel) par MAX_BTS. Tous les BSC
sont connects un seul MSC.
Les emplacements des BTS et du MSC sont connus, lobjectif
du processus doptimisation consiste trouver le site optimal pour chaque
BSC et dterminer des BTS qui doivent lui tre raccordes.
On a plusieurs sites possibles dimplantation des BSC, pour
chaque site j on a un cot dimplantation Fj dun concentrateur sur ce site. Le
but est donc de minimiser la somme des cots dimplantation et la somme
des cots des liaisons. Ces liaisons comportent les liaisons entre les BTS et BSC
et les liaisons entre les BSC et MSC.
Soit donc :

1 si la BTS i est raccord au site j.


Xij =
0 sinon.
Et :
1 si une BSC est installe au site j
Yj =
0 sinon.
Il sagit de minimiser la fonction cot suivante :
N

f =

CijXij
i=1

j=1

Fj yj + Dj yj
j=1

j=1

Avec :
Cij : le cot de raccordement du BTS i au site j
Fj : le cot dimplantation dun BSC sur le site j
Dj : le cot de raccordement du MSC au site j.
Il apparat clairement que le premier et le troisime terme
reprsentent les cots de raccordement des BSC aux BTS et des BSC aux MSC,
tandis que le deuxime terme reprsente le cot dimplantation des BSC.

- 15 -

Les contraintes du problme sont les suivantes :


M

Xij= 1

pour i=1,..,N

cette contrainte signifie quun

j=1

BTS ne peut tre raccord qu un seul BSC.


N

xij K yj

pour j=1,.., M, cette contrainte signifie que

i=1

le nombre de BTS raccords un BSC ne peut dpasser la capacit K de


raccordement de ce dernier.
pour i=1,.., N et j=1,, M : Xij et Yj {0,1}
On a pu ainsi formuler le problme de localisation des BSC sachant
que la localisation des MSC est fixe. Ce problme est class NP_difficile et sa
rsolution ne peut se faire rapidement que par les mthodes heuristiques (voir
chapitre 4).
3.1.2.2 Localisation du MSC non fixe [3]
Dans ce cas la localisation des MSC est non connue, donc il faut
trouver les sites dinstallation des MSC et ceux des BSC. Cette tche est
ralise en deux tapes : Il sagit dabord de localiser les BSC et dterminer
les BTS raccordes aux BSC, et ensuite localiser les MSC et dterminer les BSC
qui leur sont raccords.
La formulation du problme est semblable la prcdente sauf
quici la connexion des BTS aux BSC et celle des BSC aux MSC se font
sparment et les deux se formulent de la mme manire.
On considre N sites terminaux et M
concentrateurs. La fonction minimiser est la suivante :
N

f =

CijXij
i=1

j=1

site

possibles

des

Fj yj
j=1

Les paramtres et contraintes du problmes sont les mmes que


pour le cas de localisation du MSC fixe.

- 16 -

3.2. Affectation des terminaux aux concentrateurs avec prise en


charge de la signalisation
Le problme daffectation des cellules aux commutateurs dans
les rseaux cellulaires pour mobiles peut se diviser en deux sous problmes
similaires, le premier est le problme daffectation des BTS aux BSC et le
deuxime est laffectation des concentrateurs BSC aux commutateurs MSC.
On va traiter dans ce paragraphe juste le premier problme puisque la
dmarche et la modlisation du deuxime problme sont similaires au
premier.

3.2.1 Introduction
Dans un rseau de radiocommunications avec les mobiles, la zone
de couverture est, Comme dj voqu prcdemment, dcoupe
gographiquement en cellules hexagonales affectes chacune un ou
deux commutateurs. Chaque cellule est couverte par un BTS qui change
des signaux avec les terminaux mais aussi avec le BSC qui lui est li.
Les utilisateurs peuvent changer de cellule, donc de BSC
ventuellement. Lopration qui consiste noter le changement de cellule et
effectuer les mises jour ncessaires constitue un transfre intercellulaire ou
une relve (handover). Quand la relve seffectue entre deux BTSs relis au
mme BSC, on parle de relve simple car les mises jour faire sont peu
nombreuses. Par contre, quand la relve se droule entre deux BTSs relis
des BSCs diffrents, on parle de relve complexe puisque les mises jour
consomment plus de ressources.
Le problme daffectation des BTSs aux BSCs est une minimisation
dune fonction cot compose des cots de cblage (ou de connexion) et
des cots des relves (simples et complexes) sous des contraintes de
capacit des BSCs.

3.2.2 Formulation du problme [7]


Soient N BTSs affecter M BSCs tant donn que la localisation
des BTSs et BSCs est fixe et connue. Soient Hij le cot par unit de temps dune
relve simple entre les BTS i et j, et Hij celui dune relve complexe en les BTSs i
et j impliquant deux BSCs. Notons que Hij et Hij sont proportionnels la
frquence des relves entre i et j.
Dsignons par Cik le cot de la liaison entre le BTS i et le BSC k et par
i le nombre de TRX destins la cellule i. La capacit dun commutateur k
en nombre de TRX est note Mk.

- 17 -

Soit :
1 si la cellule i est relie au commutateur k.
Xik =
0 sinon

Lune des contraintes du problme est que chaque BTS doit tre
affect un et un seul BSC, ce qui se traduit par :
M

Xik = 1

(1)

pour i=1,..,N

k=1

Soient Zijk et Yij dfinis par :

Zijk = XikXjk pour i,j=1,,N et k=1,,M et i j . Zijk est gal 1 si les


cellules sont toutes deux connectes au mme BSC k, sinon il est nul.
M

Yij =

Zijk = 1

pour i,j=1,..,N et i j . Yij prend la valeur 1


k=1

si les cellules i et j sont connectes un mme BSC et


0 sinon.
Ainsi, on peut exprimer le cot f par unit de temps ainsi :
N

(2)

f =


i=1

CikXik +

k=1


i=1

j=1, ji

Hij (1- Yij) +


i=1

HijYij

j=1, ji

Le premier terme reprsente le cot de liaison, le deuxime


exprime le cot des relves complexes et le troisime celui des relves simples.
On signale ici que la fonction cot f est une fonction quadratique en X (car Y
est quadratique en X).
La contrainte sur les capacits des BSC impose la relation
suivante (selon laquelle la charge totale de toutes les cellules ne dpasse par
la capacit du BSC correspondant):
N

(3)

i Xik

Mk

pour tout k=1,...,M

Avec i le

i=1

nombre dappels par unit de temps destins la cellule i et Mk la capacit


du BSC numro k.
Le problme peut alors se reformuler ainsi : Minimiser (2) sous les
contraintes (1) et (3).

On peut simplifier le problme en posant : hij = Hij - Hij, la


relation (2) peut scrire sous la forme :

- 18 -

f =

i=1

CikXik +

k=1


i=1

hij (1- Yij) +

j=1, ji


i=1

Hij

j=1, ji

Le dernier terme tant une constante, donc le problme


daffectation des BTSs aux BSCs peut prendre la forme suivante :
Minimiser :
N

f =

i=1

CikXik +

k=1


i=1

hij (1- Yij)

j=1, ji

tel que:

Xik = 0 ou 1 pour i=1,...,N et k= 1,...,M


M

Xik = 1

pour i=1,..,N
k=1

i Xik

Mk

pour tout k=1,...,M

i=1

Zijk Xik

Zijk Xik + Xjk -1 et Zijk 0

et Zijk Yjk

3.3 Planification des zones de localisation (Local Area) [3]


3.3.1 Introduction au problme
Pour supporter un grand nombre dabonns, un oprateur
radiomobile dcoupe le territoire servir par des surfaces de petites tailles
appeles cellules. Le terminal lintrieur dune cellule communique avec le
rseau mobile via une BTS qui reprsente le point daccs au rseau par tous
les terminaux qui rsident dans cette cellule.
Lorsquun terminal entre dans une autre cellule, son point
daccs au rseau devient immdiatement la BTS de la nouvelle cellule. Et
puisque les terminaux sont libres de passer dune cellule une autre, il
devient ncessaire de mettre en uvre un mcanisme qui permet
lenregistrement des emplacements des diffrents terminaux. Sinon, et
lorsquun terminal est appel, le rseau ne connatra pas dans quelle cellule
se trouve ce terminal.
Pour localiser un terminal, lensemble des cellules est partitionn
en des zones dites zones de localisation ou LA (Location Area), chaque LA
contient un ensemble de cellules. Et ainsi, labonn doit enregistrer sa
localisation chaque fois quil entre dans une nouvelle LA et lorsquun appel
arrive, le rseau cherche le terminal en diffusant la demande de recherche

- 19 -

dans toutes les cellules appartenant au LA dans laquelle le terminal est


enregistr.
La planification des zones de localisation est lune des tapes
primordiales dans la planification de la partie fixe dun rseau cellulaire, il
sagit de partitionner lensemble des cellules en des zones de MSC/VLR.
Une zone de localisation ou LA (Location Area) est une zone
contenant un ensemble de cellules dans lesquelles le systme lance des
messages de recherche dun terminal mobile lors de ltablissement dun
appel, ce terminal doit donc faire des mises jour de localisation chaque fois
quil entre dans une nouvelle LA. Supposons que nous navons quune seule
LA pour tout le systme, dans ce cas il ny a plus de mises jour de
localisation mais les messages de recherche vont tre diffuss partout et
donc une norme consommation des ressources va tre engendre sans
revenue pour loprateur. Et dans le cas contraire o chaque cellule
reprsente une LA, les messages de recherches vont se restreindre cette
cellule mais les messages de mise jour de localisation vont tre trs
nombreux et leurs nombres crot surtout si la mobilit de la population est
grande. Il faut donc trouver un compromis entre ces deux cas extrmes en
cherchant le meilleur partitionnement des cellules de faon minimiser la
fois le cot des mises jour de localisation et celui des messages de
recherche ou de paging.

3.3.2 Formulation du problme


Le problme doptimisation des tailles de zones de localisation
peut tre formul de la faon suivante :
Etant donn les paramtres suivants :

fij est le flot de mobilit de la cellule i vers la cellule j.


gij = fij + fji flot total de mobilit entre les deux cellules i et j.
Xik = 1 si la cellule i appartient la zone de localisation k.
N : nombre total de cellule dans le systme.
ti : nombre dappels entrants dans la cellule i pendant un intervalle de
temps considr.
tmax : nombre maximum dappels entrants dans une zone de
localisation pendant un intervalle de temps considr.
On cherche minimiser la fonction cot suivante :
N

F=

fji xik(1-xjk)
k

i=1 j V(i)

Sous les contraintes :


N

xikti tmax

quelque soit K qui exprime que le maximum

i=1

- 20 -

dappels entrants par zone de localisation ne doit pas tre dpass.


-

xik =1

pour chaque cellule i , pour dire que chaque

cellule appartient une et une seule zone de localisation.


Ce problme est aussi class parmi les NP-difficile. Seules les
approches heuristiques permettent dapprocher la solution optimale.

3.4 Conclusion
Loptimisation du sous-systme rseau dun rseau cellulaire se base
principalement sur deux aspects: le cot des liaisons et dimplantation des
concentrateurs et le cot de signalisation engendr par les handovers et la
gestion de la localisation.
Aprs une phase de planification initiale, que nous avons voqu
les principales tapes dans le chapitre prcdent, il reste un travail
dingnierie tout fait important pour le planificateur, en effet, La monte en
charge avec la croissance du nombre dabonns va ncessiter la
densification du rseau, ainsi le processus de planification doit tre rpt
chaque volution du rseau.

- 21 -

Chapitre4

Les algorithmes heuristiques :


Principe et description

- 22 -

4.1 Introduction
Les diffrents problmes lis la planification de la partie fixe ne
peuvent pas se rsoudre en des temps de calcul raisonnables par des
mthodes exhaustives, en effet le nombre de solution possible devient trop
grand ds que le nombre dquipement dpasse une centaine par exemple,
cest pourquoi on doit avoir recours aux mthodes dites heuristiques qui
donnent des solutions proches de la solution optimale en des temps
raisonnables et en consommant moins de ressources.
Dans ce chapitre, on exposera le principe de chacune des trois
mthodes heuristiques les plus connues savoir la mthode de recherche
taboue quon va utiliser pour rsoudre le problme daffectation des cellules
aux commutateurs (qui comprend laffectation des BTS aux BSC et des BSC
aux MSC), le recuit simul et les algorithmes gntiques. Et la fin du chapitre,
on donnera un tableau comparatif ce ces trois mthodes.

4.2 Mthode de recherche taboue


La mthode de recherche taboue vise diriger lexploration de
lespace de solutions vers la dcouverte de bonnes solutions ou de solutions
optimales.
Gnralement, deux mcanismes sont utiliss pour guider la
recherche. Le premier mcanisme vise prvenir que la recherche ne fait
pas de cycle travers une liste taboue qui garde une trace des solutions
rcemment visites lors de la recherche. Le second mcanisme utilise une ou
plusieurs mmoires pour diriger la recherche dans des rgions prometteuses
ou vers des rgions non encore explores de lespace des solutions.
Une procdure de recherche taboue peut tre vue comme une
combinaison de trois phases principales : recherche locale, intensification de
la recherche dans des rgions identifies comme prometteuses de lespace
de solutions et enfin, redmarrage de la recherche dans une rgion de
lespace non encore explore (diversification).

- 23 -

Voici un diagramme reprsentant le mcanisme de recherche


taboue :

DEBUT
Initiation

Recherche locale
OUI

Test1
NON

Critre
darrt

Intensification
OUI

OUI

Test1
NON

FIN

Diversification

Figure 5:Diagramme de transition de recherche taboue

4.3 Les algorithmes gntiques (AG).


Les algorithmes gntiques sont une abstraction de la thorie de
lvolution. Ils rsolvent des problmes n'ayant aucune mthode de rsolution
dcrite prcisment ou dont la solution exacte, si elle est connue, est trop
complexe pour tre calcule en un temps raisonnable. C'est notamment le
cas quand des contraintes multiples, complexes doivent tre satisfaites
simultanment.
Le but des AG est de dterminer les extrmes d'une fonction
: X  R, o X est un ensemble quelconque appel espace de recherche et
est appele fonction d'adaptation ou fonction d'valuation. Cette fonction
agit comme une boite noire pour l'AG.
Le premier pas dans l'implantation des algorithmes gntiques est
de crer une population d'individus initiaux. En effet, les algorithmes
gntiques agissent sur une population d'individus, et non pas sur un individu
isol. Chaque individu de la population est cod par un chromosome. Une

- 24 -

population est donc un ensemble de chromosomes. Chaque chromosome


code un point de l'espace de recherche. L'efficacit de l'algorithme
gntique va donc dpendre du choix du codage d'un chromosome. A
chaque tape (appele gnration), ces chromosomes se combinent,
mutent, et sont slectionns en fonction de leur qualit rpondre au
problme. [5]

Cration de la population initiale

Evaluation de chaque individu

Slection des meilleurs individus

Reproduction (croisement, mutation,)

Critre
darrt
OUI
Rsultat : Meilleur individu de la population finale
Figure 6: Organigramme dun algorithme gntique

4.4 Le recuit simul (RS)


4.4.1 Principe gnrale
La mthode du recuit simul est inspire du principe
thermodynamique dans lequel les dplacements dans l'espace de
recherche sont bass sur la distribution de Boltzmann. Le nom de cette
mthode provient du domaine de la mtallurgie o pour donner des formes
au mtal on le chauffe et on le refroidie, parfois de manire rptitive. Le
recuit sert obtenir des mtaux plus mallables et plus rsistant aux chocs.
Pour appliquer ce principe au problme de minimisation de cot,
le processus de recherche peut tre assimil un processus de recuit comme
en mtallurgie. Quand on chauffe un mtal une temprature trs leve, le
mtal devient liquide et peut occuper toute configuration. Quand la
temprature dcrot, le mtal va se figer peu peu dans une configuration
- 25 -

qu'il est de plus en plus difficile dformer. Et si on le rchauffe (recuit), le


mtal peut tre retravaille de nouveau pour lui donner la forme dsire.
L'algorithme de Recuit simul simule ce processus en combinant les
mcanismes de refroidissement et de recuit. Le principe de "recuit" qui se
traduit par une augmentation du niveau d'nergie, permet de sortir des
minima locaux (voir figure 3.3).

Figure 7: Parcours de l'espace de recherche avec le recuit simul.

Le principe du recuit simul est le suivant : A partir d'une premire


solution fixe par l'utilisateur, une nouvelle solution est gnre selon une
certaine fonction de distribution de probabilit g(x), la valeur de la fonction
minimiser est calcule pour cette solution.
La solution est accepte ou rejete, selon la valeur d'une certaine
fonction d'acceptation h(x), qui est fonction d'un paramtre appel
"temprature, et de la diffrence des valeurs de la fonction minimiser entre
la solution courante et la solution prcdente. La solution prcdente
devient la solution courante, la temprature est abaisse, et le processus
recommence.
Initialement, la valeur de la temprature est leve, et la nouvelle
solution est accepte prs de la moiti du temps. Puis, au fur et mesure que
la temprature baisse, il devient de plus en plus improbable d'accepter une
solution dont la valeur est plus grande que la valeur de la solution
prcdente, ce qui effectue bien une minimisation de la fonction. Le fait
qu'une solution peut tre accepte parfois mme si elle donne une valeur de
la fonction plus grande que la valeur prcdente permet l'algorithme de
sauter les minima locaux et de trouver le minimum global dans l'espace de
dfinition de la fonction.

4.4.2 Le paramtre temprature


La temprature est un paramtre de contrle. Le but est d'avoir une
temprature assez haute pour sauter les barrires et suffisamment basse pour
tre malgr tout attir vers le minimum le plus profond. La loi selon laquelle la
temprature dcrot est galement importante pour l'efficacit de
l'algorithme, puisqu'elle doit aussi laisser le temps au systme de tester le
maximum de configurations pour tre sr d'obtenir le minimum global. Aussi,

- 26 -

la temprature initiale doit-elle tre suffisamment leve pour que la


descente en temprature soit aussi lente que possible.
Mais le problme de minima local n'est pas pour autant limin.
Le recuit simul est trs dpendant de la structure de voisinage et le nombre
de paramtres qui gre la recherche. Des techniques d'amlioration du RS
ont t proposes, notamment la technique du recuit trs rapide . [6]

4.5 Comparaison des diffrents algorithmes.


A linverse des autres algorithmes, la mthode de Recherche
Taboue est simple comprendre et mettre en uvre et permet facilement
dchapper au problme du minimum local. En plus le programmeur peut en
ajouter des options pour lamliorer sa guise. Nanmoins, la rapidit de
lalgorithme est conditionne par le choix des paramtres comme la
longueur de la liste taboue ou bien le nombre de voisins gnrer pendant
une itration.
Nous prsentons dans le tableau suivant une synthse de la
comparaison des trois algorithmes exposs dans ce chapitre :

Recherche Taboue

Recuit simul

Algorithme gntique

Avantages :

Avantages :

Avantages :

Absorption de plus
Aboutit

un
grand nombre de
minimum global.
problmes
Peut
supporter
doptimisation.
plusieurs contraintes.
Rsultat plus proche
de loptimale.
Inconvnients :
Convergence rapide

Inconvnients :

Le
caractre
probabiliste.
Rapidit
de
convergence
dpendant du chois
de
la
population
initiale.

Aboutit

un
minimum global.
Moins sensible au
changement
des
paramtres.
Facile
dans
son
implmentation.
Peut tre adapt
divers problmes

Convergence assez

lente.
Sensible au rglage
des paramtres.
Inconvnients :
Temps de calculs
relativement
Convergence lente.
importants.
Temps de recherche
La
difficult
de
relativement lent.
dfinir une loi de
descente de
la
temprature.

- 27 -

Chapitre5

Rsolution de la problmatique
de localisation des
concentrateurs par la mthode
Recherche Taboue

- 28 -

5.1 Introduction
Nous proposons dans ce chapitre de donner une approche de
rsolution de la problmatique de localisation des concentrateurs formule
dans 4.1 en utilisant la mthode Recherche Taboue en supposant que les
positions des MSC ne sont pas fixes, nous avons utilis pour cela le langage
java.

5.2 Plate forme informatique


5.2.1 Choix de loutil de programmation
Lapplication dcrite par la figure 3.1 est ralise avec le langage
JAVA, le choix de Java est justifi par les raisons suivantes :
Cest un langage orient objet ce qui a simplifi la tche de
conception de lapplication et qui facilitera la comprhension rapide
du programme par dautres personnes.
Il donne la possibilit damliorer linterface graphique.
Il propose la notion de classe interne ce qui nous a simplifi laccs aux
variables globaux de lapplication.

5.2.2 Les modules utiliss dans lapplication


La tche principale de lapplication est de trouver une architecture
globale du rseau qui ralisera un cot minimal. Cette architecture est
construite en passant par deux tapes :
la premire tape spcifie larchitecture entre les BTS et les BSC et
comporte la dtermination du nombre de BSC dployer dans le
rseau, leurs positions et les connexions quils tablissent avec les BTS.
La deuxime spcifie une architecture entre les BSC et les MSC en
prcisant le nombre de MSC devant tre utiliss, leurs positions et les
connexions quils tablissent avec les BSC.
Dans les deux cas nous somme appels rsoudre un problme
combinatoire entre des sites terminaux et des sites concentrateurs. La
formulation du problme est dj donne dans le chapitre prcdant. Il
sagit de minimiser une fonction cot compose des cots de raccordement
et des cots dimplantation des concentrateurs sous la contrainte de
capacit de raccordement.
Une solution quelconque du problme, c'est--dire une architecture
entre sites terminaux et sites concentrateurs, est une instance de la classe
Solution dclare en java comme suit :
class Solution
{
boolean[] y;
boolean[][] x;
- 29 -

Solution(int n,int p)
{
y=new boolean[p];
x=new boolean[n][p];
}
}
Y est un tableau de boolens (true ou false) qui indique que si y[j]=true
alors un concentrateur est install dans le site j et y[j]=false sinon.
X est un tableau de deux dimensions indiquant ltat des liaisons entre
les sites terminaux et les concentrateurs : On a donc x[i][j]=true sil existe une
liaison entre le site terminal numro i et le site concentrateur numro j.
On parlera dans la suite des fonctions utilises pour traiter la premire
problmatique quest le positionnement des BSC et laffectation des BTS au
BSC, les fonctions utilises pour la deuxime problmatique sont presque les
mmes.
Les fonctions utilises sont les suivantes :

int getNombreBSC() : Cette fonction retourne un entier indiquant le


nombre de BSC quil faut avoir pour satisfaire 60 pourcent des
demandes en trafic provenant des BTS.
Solution solution_initiale() : cette fonction gnre une solution initiale
en affectant les BTS aux BSC les plus proche sans dpasser les
capacits de ces derniers.
Solution mouvement_connexion(Solution s,int indice_BTS,int indice
BSC) :
gnre une solution voisine de la solution s donne en
paramtre en connectant la BTS au BSC indiqus par leurs indices.
Solution mouvement_position_BSC(Solution s,int j,int k) : gnre une
solution voisine de s en commutant les valeurs de y[j] et y[k] de s, en
dautres termes, permet de choisir de nouvelles positions des BSC
parmi les sites possibles.

Double cout(Solution s) : Calcule le cot dune solution compos du


cot de liaisons et le cot dimplantation des BSC.
Solution meilleur_voisin_connexion(Solution s,int nombre_voisin) : Cest
une fonction qui retourne la meilleure des solutions voisines de s
obtenues par la fonction mouvement_connexion, le paramtre
nombre_voisin indique le nombre de voisin quon gnre partir de s
et quon compare pour obtenir la meilleure.

- 30 -

Solution meilleur_voisin_BSC(Solution s,int nombre voisin) : Retourne la


meilleure solution voisines de s obtenues par la fonction
mouvement_position_BSC().
Solution
RechercheTaboue(Solution
s_initiale,int
nombre_voisin_conexion,int
nombre_voisin_position_BSC,int
taille
listeTaboue,int Kmax)

Cette fonction est celle permettant dobtenir la solution propose


par la RT,le premier paramtre est une solution initiale obtenue par la
fonction : solution_initiale() ,le deuxime et le troisime reprsentent le
nombre de voisins gnrer pour chaque itration de lalgorithme. Le
quatrime indique la taille de la liste taboue quil ne faut pas dpasser sinon
la recherche sarrte. Et le dernier indique le seuil maximal de la diffrence
entre deux entier nbiter et bestiter : nbiter sincrmente chaque itration et
bestiter devient gal nbiter si on trouve une solution plus optimale que la
dernire trouve.
Voici lalgorithme gnral de recherche taboue :
Initialisation :

Choisir une solution initiale S dans X (lensemble de solutions)


S* := S (S* est la meilleur solution obtenue jusquici)
Nbiter :=0 (nbiter est le compteur des itrations)
Bestiter :=0 (bestiter est le numro de litration laquelle on
a obtenu la dernire amlioration, i.e le dernier S*)
T := h (T est la liste Taboue)
Continuer :=vrai
Tant que
Continuer :=vrai
Si (nbiter-bestiter>Kmax) ou (V-T=h) ou taille(T)>Taille_MAX
Alors Continuer :=faux
Sinon : nbiter=nbiter+1
Gnrer V inclus dans N(s)
Trouver la meilleure solution S' dans V tel que :
Cout(S')=min(cout(S)) avec S V-T
S := S'
Mette jour T.
Si cout(S') < cout(S)
alors S* := S
Bestiter :=nbiter
Fin si
Fin si
Fin tant que

5.2.3 La solution propose par lapplication


Dans ce paragraphe nous allons prsenter les diffrentes tapes
par lesquelles on gnrera une solution acceptable (et qui peut tre
loptimale) propose par lalgorithme de recherche taboue.

- 31 -

Lutilisateur doit saisir tout dabord les paramtres des BTS dans la
forme de saisi suivante :

Figure 8: paramtres des BTS

Ensuite, il doit saisir les paramtres des sites possibles des BSC.
Parmi ces paramtres on trouve la capacit en TRX des BSC et la capacit
de raccordement. Ces capacits peuvent tre changes par lutilisateur.

Figure 9: Paramtres des sites de BSC possibles

Aprs la phase de saisi des paramtres, on peut lancer lalgorithme qui


nous donne le rsultat suivant :

- 32 -

Figure 10: architecture propos par lalgorithme Recherche Taboue entre les BTS et les BSC.

Le cot de cette solution, qui est compos du cot dimplantation


des BSC plus le cot des liaisons entre BTS et BSC, est mentionn plus bas
droite de lapplication.
Nous procdons ensuite la recherche dune architecture de liens
entre BSC et MSC qui ralise un cot minimal puisque nous avons dj trouv
les positions des BSC dployer dans le rseau. Pour cela lutilisateur doit
saisir les paramtres concernant les sites possibles des MSC. Ces paramtres
sont les positions en longitude et latitudes des sites possibles,le cot
dimplantation dun MSC dans chaque site et la capacit de raccordement
des MSC.
On obtient le rsultat suivant obtenu en appliquant la mthode de
recherche taboue:

Figure 11: architecture propos par lalgorithme Recherche Taboue entre les BSC et les
MSC.

- 33 -

Cest ainsi quon peut visualiser la solution globale qui permet


dafficher une architecture gnrale du rseau ralisant un cot trs rduit si
on le compare une solution initiale.

Figure 12: Solution globale propose par lalgorithme de Recherche Taboue.

5.3 Conclusion
Dans ce chapitre nous avons expos notre travail doptimisation qui
consiste appliquer la mthode de recherche Taboue au problme de
positionnement des concentrateurs en utilisant le langage Java, lutilisateur
de lapplication peut enregistrer les paramtres des BTS, des sites possibles
des BSC, des sites possibles des MSC et ceux de lalgorithme de RT qui
peuvent tre utiliss ultrieurement.
Pour plus dinformation, vous pouvez voir en annexe le code source
des modules utiliss accompagn de quelques explications.

- 34 -

Conclusion gnrale
La planification du NSS est une tche complexe pouvant tre divise
en plusieurs sous tche. La modlisation mathmatique de ces
problmatiques les place parmi les problmes NP- complexe, ce qui oblige
passer par des mthodes de rsolution non exactes.
Nous avons donn la formulation de ces problmatiques, et en
particulier nous avons tudi le problme la localisation des BSC et MSC en
proposant comme solution la mthode heuristique dite de recherche Tabou.
Ce projet de fin dtude nous a permis dtudier la fois les
algorithmes doptimisation (la recherche Taboue, le recuit simul, les
algorithmes gntiques) qui font lobjet des tudes et des travaux lchelle
internationale dans le domaine des tlcommunications, il nous a permis
aussi de se lancer dans la programmation Java sur deux plans, le premier est
celui de la modlisation du problme de positionnement des concentrateurs
et la mise en uvre des connexions avec les sites terminaux, quil sagit du
problme entre les BTS et BSC ou celui entre les BSC et MSC, et cela en
utilisant le mthode de recherche Taboue. Le deuxime plan est celui de la
manipulation du IHM (Interface Homme Machine) en Java, en effet raliser
une bonne interface graphique permet de mettre en valeur le travail ralis.
Comme perspective de notre travail, nous proposons ltude du
problme avec les deux autres mthodes savoir le recuit simul et les
algorithmes gntiques pour faire une comparaison relle des performances
de chacune delles concernant le problme combinatoire trait.

- 35 -

Bibliographie
[1] http://www.lirmm.fr/~ajm/Cours/0102/DESS_TNI/TER9/prercqu/fonction.htm
[2] http://www.telecom.gouv.fr/documents/rap_mobile/annexe9.html
[3] Sami Tabbane, Ingnierie des rseaux cellulaires , dition: HERMES, 2002
[4] Planification du sous-systme rseau transparent du cours cycle dingnieurs
dtat troisime anne lINPT.
[5] sis.univ-tln.fr/~tollari/TER/AlgoGen1/AlgoGen1.html.
[6] http://www.vtt.fi/tte/staff/bon/thesis/chap3/chap3.html.
[7] Affectation heuristique de cellules des commutateurs dans les rseaux
cellulaires pour mobiles ANN. TELECOMMUN. , 56, no 3-4, 2001 par F.HOUETO et
S.PIERRE.
[8] Xavier Lagrange, Philippe Godlewski, Sami Tabbane Rseaux GSM-DCS ,
troisime dition, HERMES, 1997.
[9] http://www.aromath.net/Page.php

- 36 -

Liste des figures


FIGURE 1 ARCHITECTURE DU RESEAU GSM.................................................................- 3 FIGURE 2 : PRESENTATION SIMPLIFIEE DU PROCESSUS DE PLANIFICATION
CELLULAIRE..................................................................................................................- 8 FIGURE 3 : DIMENSIONNEMENT DES CANAUX TCH ..................................................- 9 FIGURE 4 : DEROULEMENT DU PROCESSUS DE PLANIFICATION DU RESEAU
FIXE. ............................................................................................................................- 11 FIGURE 5:DIAGRAMME DE TRANSITION DE RECHERCHE TABOUE......................- 24 FIGURE 6: ORGANIGRAMME DUN ALGORITHME GENETIQUE ...........................- 25 FIGURE 7: PARCOURS DE L'ESPACE DE RECHERCHE AVEC LE RECUIT SIMULE. ...26 FIGURE 8: PARAMETRES DES BTS ...............................................................................- 32 FIGURE 9: PARAMETRES DES SITES DE BSC POSSIBLES ............................................- 32 FIGURE 10: ARCHITECTURE PROPOSE PAR LALGORITHME RECHERCHE TABOUE
ENTRE LES BTS ET LES BSC........................................................................................- 33 FIGURE 11: ARCHITECTURE PROPOSE PAR LALGORITHME RECHERCHE TABOUE
ENTRE LES BSC ET LES MSC.....................................................................................- 33 FIGURE 12: SOLUTION GLOBALE PROPOSEE PAR LALGORITHME DE RECHERCHE
TABOUE.......................................................................................................................- 34 -

- 37 -

ANNEXE A: PROBLEMES NP- DIFFICILES [9]


Nous avons classifis le problme de positionnement des BSC et MSC
parmi les problmes NP difficiles. Nous prsentons ici une description de cette
classe de problmes.
Une des tches importantes dun informaticien thoricien est de
classifier les problmes rsoudre dans une des classes suivantes :
- Classe des problmes pour lesquels il existe un algorithme de rsolution
polynomial, dnot P.
- Classe des problmes qui nont pas dalgorithme de rsolution
polynomial, mais pour lesquels on est capable de vrifier dans un
temps polynomial si s (une proposition de solution) est ou non une
solution, cette classe est dnote par NP.

Dans le monde informatique il existe un groupe de problmes pour


lesquels on peut vrifier dans un temps polynomial si s (une proposition de
solution) est ou non une solution, mais il nexiste pas dalgorithmes
polynomiaux de rsolution et en mme temps on na pas t capable de
dmontrer que de tels algorithmes nexistent pas. Ils forment la classe des
problmes NP-complet. La question qui nest pas encore dcide est la
suivante :

- 38 -

Exemple : Dcider si on veut trouver pour le graphe G=(V,E), le cycle


qui passe par tous les nuds du graphe une seul et unique fois(exception
pour le premier = dernier nud du cycle) qui a la longueur minimale(chaque
arrte ou arc du graphe ayant un cot). Cest le problme du commis
voyageur.
Ce problme est un problme doptimisation. On doit chercher
parmi les cots associs aux cycles passant par tous les nuds du graphe, le
cot minimal et identifier le cycle associ. Cest un problme NP-difficile.
On peut associer au problme du commis voyageur un problme
de dcision qui est un peu moins compliqu.
Soit un graphe G. Peut on trouver un cycle qui passe par tous ses
nuds et qui a un cot plus petit que K ?
Si quelquun propose une solution s, on peut vrifier dans un temps
polynomial si la valeur de s est ou non infrieur K.
Pour trouver si on peut rpondre ou non la question du problme,
on peut considrer les cycles possibles en G, calculer leurs cots et comparer
chacun avec K. Ds quon trouve un qui a le cot infrieur K, on a trouv
la solution du problme. Si chaque cot calcul est plus grand que K, alors
pour rpondre non la question du problme on doit vrifier tous les cycles
du graphe. Ce problme est NP complet.
Comment se dbrouiller si on doit rsoudre un problme NP complet
ou NP difficile ?
Vrifier si les instances rsoudre sont vraiment gnrales, c'est-dire si on peut identifier certains restrictions concernant les instances
rsoudre qui permettront de rsoudre le problme dans un temps polynomial.
Exemple : Le problme de coloration dun graphe
Trouver pour le graphe G, le nombre minimum des couleurs (chaque
nud est color) tel que chaque deux nuds adjacents ont des couleurs
distinctes. Cest un problme NP difficile. Si le graphe est bipartite alors on
peut trouver une solution en un temps polynomial. Si linstance est petite,
alors concevoir un algorithme qui numre tous les candidats possibles. Et
aprs chercher parmi eux celui qui est une solution. Sinon concevoir un
algorithme qui trouve une solution approximative par rapport la solution
demande et essayer dvaluer votre approximation par rapport la solution
optimale. Ou bien concevoir une mthode heuristique qui offre un candidat
de solution qui peut ventuellement satisfaire le client.

- 39 -

ANNEXE B: CODE SOURCE DES MODULES LES


PLUS IMPORTANTS
Dans cette annexe, nous ne prsentons que le code des modules
principaux du problme de localisation des BSC et MSC puisque les fonctions
et classes de laffichage sont trop longues (3600 lignes en total):

Voici tout dabord les variables globales utilises :


/***************************** Les listes des BTS, des sites des BSC possibles, des
BSC, des sites des MSC possibles et des MSC ***********************************/
ArrayList listeBTS = new ArrayList();
ArrayList listeBSC_possible = new ArrayList();
ArrayList listeBSC = new ArrayList();
ArrayList listeMSC_possible=new ArrayList();
ArrayList listeMSC = new ArrayList();
/************************ La liste des solutions taboues ****************************/
ArrayList listeTabou=new ArrayList();
/*********** ***** Les capacities des BSC et des MSC *****************************/
int capacite_BSC_TRX;
int capacite_BSC_connexion;
int capacite_MSC_connexion;
/**************************** Ces deux entiers enregistrent les nombres des BSC
et MSC choisis parmi les BSC et MSC possibles ***********************************/
int nombre_BSC;
int nombre_MSC;
/****************** Variables de type Solution qui enregistrent les solutions
initiale, courante et optimale obtenues pour les BSC et les MSC ***************/
Solution s_initiale_BSC;
Solution s_courante_BSC;
Solution s_optimale_BSC;
Solution s_initiale_MSC;
Solution s_courante_MSC;
Solution s_optimale_MSC;
/******************** Paramtres de lalgorithme *************************/
int taille_tabou;
int voisin_connexion;
int voisin_position_concentrateur;
- 40 -

int MaxPlusOptimale;
int NombreDiversification;
int nombre_tout_voisin_tabou;
Et voici les classes utilises :
/***************************** Classe des Solution ********************************/
/*** cette classe contient deux tableaux boolean (true ou false), le premier y[]
est unidimensionnel et permet de signaler les sites o on a install un BSC
parmi les sites possibles. Et le deuxime x[][] est bidimensionnel et permet de
signaler si une connexion entre un BTS et BSC existe ou non *******************/
class Solution
{

boolean[] y;
boolean[][] x;
Solution(int n,int p)
{
y=new boolean[p];
x=new boolean[n][p];
}
}
/****************************** Classe des BTS *************************************/
class BTS {
int nombreTRX;
int left,top,width,height ;
}
class BSC_possible {
int cout_implantation;
int left,top,width,height ;
}
/************************ Classe des BSC possibles ********************************/
class BSC_possible
{
double cout_implantation;
int left,top,width,height ;
}

- 41 -

/************************ Classe des MSC possibles ********************************/


class MSC_possible
{
double cout_implantation;
int left,top,width,height ;
}
Ces classes sont utilises dans lalgorithme de manire quil hritent tous
dune classe que jai appele Shape (dessin en franais) puisque jai
implment graphiquement ces objets.
La fonction quil faut penser raliser dans nimporte quel problme
doptimisation est la fonction qui calcule le cot de chaque solution
propose.
Pour le problme de connexion des BTS et BSC, on compte deux cots : le
cot des liaisons entre BTS et BSC et le cot dimplantation des BSC dans les
sites choisis, pour cela il nous faut deux fonctions cots les voici :

/************* fonction qui calcule le cot dimplantation *********************/


double cout_implantation(Solution s)
{
int nb_bsc_possible;
nb_bsc_possible=canvas.listeBSC_possible.size();
double somme_cout_implantation=0;
for(int i=0;i<nb_bsc_possible;i++)
{
if(s.y[i]==true)
{
somme_cout_implantation=somme_cout_implantation+((BSC_possible)canva
s.listeBSC_possible.get(i)).cout_implantation;
}
}
return somme_cout_implantation;
}
/*************** fonction qui calcule le cot des liaisons
double cout_liaison(Solution s)
{
int nb_bts;

- 42 -

*********************/

nb_bts=canvas.listeBTS.size();
int nb_bsc_possible;
nb_bsc_possible=canvas.listeBSC_possible.size();

double somme_cout_liaison=0;
double distance;
for(int i=0;i<nb_bts;i++)
{
for(int j=0;j<nb_bsc_possible;j++)
{
if(s.x[i][j]==true)
{
distance=Math.sqrt( Math.pow( ((BSC_possible)canvas.listeBSC_possible.get(j
)).left((BTS)canvas.listeBTS.get(i)).left,2)+Math.pow(((BSC_possible)canvas.listeBSC_
possible.get(j)).top-((BTS)canvas.listeBTS.get(i)).top,2) );
somme_cout_liaison=somme_cout_liaison+(distance/100);
}}}
return somme_cout_liaison;
}
Et le cot total sobtient en faisant la somme des cots de liaison et
dimplantation :
/************ fonction calculant le cot total dune solution ***************/
double cout(Solution s)
{
return cout_implantation(s)+cout_liaison(s);
}
/*********************************************************************************/
Pour notre problme, on cherche la solution optimale en passant dune
solution une autre voisine de la premire, pour cela on doit spcifier une
relation de voisinage entre les solutions.
S est voisine de S dans deux cas :
- si on raffecte une BTS un nouvel BSC et dans ce cas on on dit que S

est un voisin de connexion de S.


- si on change la position dun BSC vers un autre site parmi les sites
possibles et dans ce cas on dit que S est un voisin par position de
concentrateurs de S.
Il fallait donc deux fonctions dfinissant le mouvement de S S :
/********* fonction qui retourne une solution voisine de s en spcifiant lindice
du BTS et celui du BSC ncessaire pour la raffectation **********************/
Solution
mouvement_connexion(Solution
indice_concentrateur,int n,int p)

- 43 -

s,int

indice_terminal,int

{
Solution solution=new Solution(n,p);
for(int j=0;j<p;j++)
{
for(int i=0;i<n;i++)
{
solution.x[i][j]=s.x[i][j];
}
solution.y[j]=s.y[j];
}

for(int i=0;i<p;i++)
{
if(solution.x[indice_terminal][i]==true)
{
solution.x[indice_terminal][i]=false;
}
}
solution.x[indice_terminal][indice_concentrateur]=true;
return solution;
}
/*************** fonction permettant de donner une solution voisine de s en
spcifiant deux indice des sites des BSC possibles pour faire la transposition de
positionnement des BSC entre ces deux sites ************************************/
Solution mouvement_position_concentrateur(Solution s,int u,int v,int n,int p)
{
boolean b;
Solution solution = new Solution(n,p);
for(int j=0;j<p;j++)
{
for(int i=0;i<n;i++)
{
solution.x[i][j]=s.x[i][j];
}
solution.y[j]=s.y[j];
}
b=solution.y[u];
solution.y[u]=solution.y[v];
solution.y[v]=b;
for(int i=0;i<n;i++)
{
if(s.x[i][u]==true)

- 44 -

{
solution.x[i][u]=false;
solution.x[i][v]=true;
}
if(s.x[i][v]==true)
{
solution.x[i][v]=false;
solution.x[i][u]=true;
}
}
return solution;
}

/*************************************************************************************/

Une fois nous avons pu gnrer une solution voisine dune solution par lune
des deux critres de voisinages, on peut programmer une fonction qui nous
donne le meilleur voisin pour chaque type de voisinage.
/****** fonction qui retourne la meilleur solution voisine par connexion dune
solution s *************************************************************************/
Solution meilleur_voisin_connexion(Solution s,int nombre_voisin)
{

int nb_bts;
nb_bts=canvas.listeBTS.size();
int nb_bsc_possible;
nb_bsc_possible=canvas.listeBSC_possible.size();

Solution meilleur_voisin=new Solution(nb_bts,nb_bsc_possible);


if(nb_bts>0&&nb_bsc_possible>0)
{
int nb_bsc;
nb_bsc=canvas.nombre_BSC;
int concentrateur[] = new int[nb_bsc];
int k;

- 45 -

int indice_terminal[] = new int[nombre_voisin];


int indice_concentrateur[] = new int[nombre_voisin];
k=0;
for(int i=0;i<nb_bsc_possible;i++)
{
if(s.y[i]==true)
{
concentrateur[k]=i;
k++;
}
}
Random r=new Random();
for(int i=0;i<nombre_voisin;i++)
{
indice_terminal[i] = r.nextInt(nb_bts);
indice_concentrateur[i] = concentrateur[r.nextInt(nb_bsc)];
}
Solution[] voisinage = new Solution[nombre_voisin];

meilleur_voisin=mouvement_connexion(s,indice_terminal[0],indice_concentra
teur[0],nb_bts,nb_bsc_possible);
for(int i=1;i<nombre_voisin;i++)
{
voisinage[i]
=mouvement_connexion(s,indice_terminal[i],indice_concentrateur[i],nb_bts,n
b_bsc_possible);

if((cout_liaison(voisinage[i])<cout_liaison(meilleur_voisin))&&conforme_capaci
te(voisinage[i]))
{
meilleur_voisin=voisinage[i];
}
}
}
return meilleur_voisin;
}

- 46 -

/****** fonction qui retourne la meilleur solution voisine par position de


concentrateurs dune solution s **********************************************/
Solution meilleur_voisin_position_concentrateur(Solution s,int nombre_voisin)
{
int nb_bts;
nb_bts=canvas.listeBTS.size();
int nb_bsc_possible;
nb_bsc_possible=canvas.listeBSC_possible.size();
Solution meilleur_voisin=new Solution(nb_bts,nb_bsc_possible);
if(nb_bts>0&&nb_bsc_possible>0)
{
int nb_bsc;
nb_bsc=canvas.nombre_BSC;
int concentrateur[] = new int[nb_bsc];
int k;
k=0;
for(int i=0;i<nb_bsc_possible;i++)
{
if(s.y[i]==true)
{
concentrateur[k]=i;
k++;
}
}
int pos1[] = new int[nombre_voisin];
int pos2[] = new int[nombre_voisin];

Random r=new Random();


for(int i=0;i<nombre_voisin;i++)
{
pos1[i] = r.nextInt(nb_bsc_possible);
pos2[i] = concentrateur[r.nextInt(nb_bsc)];
}
Solution[] voisinage = new Solution[nombre_voisin];

meilleur_voisin=mouvement_position_concentrateur(s,pos1[0],pos2[0],nb_bts,
nb_bsc_possible);
for(int i=1;i<nombre_voisin;i++)
{

- 47 -

voisinage[i]
=mouvement_position_concentrateur(s,pos1[i],pos2[i],nb_bts,nb_bsc_possible
);

if((cout(voisinage[i])<cout(meilleur_voisin))&&conforme_capacite(voisinage[i]
))
{
meilleur_voisin=voisinage[i];
}
}
}
return meilleur_voisin;
}
Ainsi on peut obtenir la meilleure voisine en mlangeant les deux fonctions
prcdentes :
/****** fonction qui retourne la meilleur solution voisine dune solution s
**********************************************/
Solution
meilleur_voisin(Solution
s,int
nombre_voisin_connexion,int
nombre_voisin_position_concentrateur)
{
return
meilleur_voisin_connexion(meilleur_voisin_position_concentrateur(s,nombre_v
oisin_position_concentrateur),nombre_voisin_connexion);
}

/*************************************************************************************/
Pour les contraintes de capacit, cette mthode vrifie si une solution est
valable ou non :
/********** fonction qui return true si la solution respecte la contraintes de
capacit et false sinon *********************************************************/
boolean conforme_capacite(Solution s)
{
int k;
boolean a;
a=true;
int sommeTRX;
int nb_bts;
nb_bts=canvas.listeBTS.size();
int nb_bsc_possible;

- 48 -

nb_bsc_possible=canvas.listeBSC_possible.size();
for(int j=0;j<nb_bsc_possible;j++)
{
sommeTRX=0;
if(s.y[j]==true)
{
k=0;
for(int i=0;i<nb_bts;i++)
{
if(s.x[i][j]==true)
{
sommeTRX=sommeTRX+((BTS)canvas.listeBTS.get(i)).nombreTRX;
k=k+1;
}
}

if((sommeTRX>canvas.capacite_BSC_TRX)||(k>canvas.capacite_BSC_conne
xion))
{
a=false;
}
}
}
return a;
}
Et pour commencer lalgorithme, il nous faut une solution initiale qui est
conforme aux contraintes de capacits et qui relie les BTS aux BSC les plus
proches :
/******* fonction qui gnre une solution initiale ***************************/
Solution solution_initiale_BSC()
{

double MIN;
double DISTANCE;
int k;
int nb_BSC;
int q,w,h;
boolean valide=false;

- 49 -

nb_BSC=getNombreBSC();
q=canvas.listeBSC_possible.size();
w=canvas.listeBTS.size();
Solution s_init=new Solution(w,q);
if(q>0&&w>0)
{
int[] site=new int[nb_BSC];
while(valide==false)
{
Random r=new Random();
for(int i=0;i<nb_BSC;i++)
{
site[i]=r.nextInt(q);
}
for(int i=0;i<w;i++)
{
MIN
=
Math.sqrt( Math.pow( ((BSC_possible)canvas.listeBSC_possible.get(site[0])).lef
t((BTS)canvas.listeBTS.get(i)).left,2)+Math.pow(((BSC_possible)canvas.listeBSC_
possible.get(site[0])).top-((BTS)canvas.listeBTS.get(i)).top,2) );
k=site[0];

for(int j=1;j<nb_BSC;j++)
{

DISTANCE=Math.sqrt( Math.pow( ((BSC_possible)canvas.listeBSC_possible.get


(site[j])).left((BTS)canvas.listeBTS.get(i)).left,2)+Math.pow(((BSC_possible)canvas.listeBSC_
possible.get(site[j])).top-((BTS)canvas.listeBTS.get(i)).top,2) );
if (DISTANCE < MIN)
{
MIN=DISTANCE;
k=site[j];
}

- 50 -

for(int j=0;j<q;j++)
{
if(j==k)
s_init.x[i][j]=true;
else
s_init.x[i][j]=false;
}
for(int j=0;j<q;j++)
{
s_init.y[j]=false;
}
for(int j=0;j<nb_BSC;j++)
{
s_init.y[site[j]]=true;
}
}
valide=conforme_capacite(s_init);
}
int t=0;
for(int i=0;i<q;i++)
{
if(s_init.y[i]==true)
t++;
}
canvas.nombre_BSC=t;
}
return s_init;
}

Enfin la fonction Recherche Taboue va gnrer une solution qui rduit au


maximum le cot total :
/********* fonction appliquant lalgorithme de RT qui retourne une bonne
solution ************************************************************************/
Solution RechercheTabou(Solution s_init,int
nombre_voisin_position_concentrateur,int
MaxPlusOptimale)
{

- 51 -

nombre_voisin_connexion,int
taille_liste_tabou,int

int nbiter=0,h;
int bestiter=0;
Solution s,s_opt;
s_opt=s_init;
s=s_init;
canvas.listeTabou.clear();
canvas.listeTabou.add(codage(s));
boolean critere_arret=false;
while(critere_arret==false)
{
if(((nbiterbestiter)>MaxPlusOptimale)||(canvas.listeTabou.size()>taille_liste_tabou))
{
critere_arret=true;
}
else
{
nbiter++;
h=0;
while((canvas.listeTabou.contains(codage(s))==true)&&h<canvas.nombre_to
ut_voisin_tabou)
{
s=meilleur_voisin(s,nombre_voisin_connexion,nombre_voisin_position_concent
rateur);
h++;
}
if(h>canvas.nombre_tout_voisin_tabou)
{
critere_arret=true;
}
canvas.listeTabou.add(codage(s));
if(cout(s)<cout(s_opt))
{
s_opt=s;
bestiter=nbiter;
}
}
}
return s_opt;
}

- 52 -

Vous aimerez peut-être aussi