Вы находитесь на странице: 1из 4

Roteamento em Redes pticas Utilizando

Algoritmo Gentico
Eduardo R. Benayon
Faculdade de Engenharia
Universidade do Estado do Rio de Janeiro
Rio de Janeiro, Brasil
eduardo.benayon@gmail.com
ResumoAs redes pticas de transmisso esto se tornando
cada vez mais complexas e com maior capacidade para atender
a crescente demanda de trfego originada por novos servios de
telecomunicaes. Diante desse cenrio importante otimizar os
recursos das redes como na soluo do problema de roteamento
e alocao de comprimento de onda (RWA).
O Artigo apresenta um algoritmo gentico para resolver o
subproblema do roteamento utilizando o GAOT (Genetic
Algorithm Genetic Toolbox) e compara com os resultados
obtidos com o algoritmo Dijkstra, ambos em ambiente Matlab.
Palavras-chaveRoteamento, Alocao de Comprimento de
Onda, Redes pticas, DWDM, Algoritmo Gentico, Funo
Aptido.

I.

INTRODUO

Nos ltimos anos o trfego nas redes de telecomunicaes


cresceu de forma acentuada devido ao surgimento de novas
tecnologias e servios como a internet banda larga, vdeo em
alta definio, vdeo sob demanda, IPTV, comrcio eletrnico,
internet mvel, etc.
O nico meio de transmisso capaz de suportar essa enorme
demanda por banda a fibra ptica, e a tecnologia adotada nas
redes de transmisso por explorar melhor essa capacidade foi
a DWDM (Dense Wavelength Division Multiplexing).
As redes DWDM passaram por uma grande evoluo nos
ltimos anos, comeando com sistemas ponto a ponto,
passando pelas redes em anel e chegando s redes em malha.
Com o desenvolvimento e comercializao dos equipamentos
OXC (optical cross connect), que possuem a funcionalidade
de comutao e roteamento de comprimentos de onda, foi
possvel implementar redes totalmente pticas que so
conhecidas como redes com roteamento por comprimento de
onda (WRON - Wavelength-routed optical network).
O estabelecimento de uma conexo entre dois pontos em
uma rede WRON exige a escolha de uma rota fsica (conjunto
de segmentos de fibras pticas) e de uma rota luminosa
(conjunto de comprimentos de onda utilizados ao longo da
rota fsica). Este processo conhecido como o problema de
roteamento e alocao de comprimento de onda (RWA Routing and Wavelength Assignment problem).
O problema RWA bastante complexo e est diretamente
ligado ao desempenho e otimizao da rede ptica, e
dividido em esttico e dinmico. Alm disso, o problema de
roteamento geralmente tratado separadamente da alocao

de comprimento de onda com o objetivo de tornar o problema


RWA mais simples.
Existem muitas solues na literatura para o problema do
RWA dinmico, como os mtodos heursticos da Alocao
aleatria (Random Assignment), Primeiro da fila (First-Fit),
Menos usado (Least-Used/SPREAD), Menor carga (Least
Loaded) entre outros.
Este artigo avalia a viabilidade da utilizao de algoritmo
gentico na soluo do subproblema de roteamento e compara
seu desempenho com algoritmo Dijkstra, que um dos mais
usados para clculo de caminho com custo mnimo.
A seo II introduz o problema do roteamento em redes
pticas, a tcnica utilizada para reproduzir a rede ptica no
ambiente Matlab e o objetivo do Trabalho. A seo III
descreve sucintamente o funcionamento do algoritmo
gentico. O algoritmo gentico proposto e a ferramenta
utilizada para realizar as simulaes so explicados na seo
IV. A seo V apresenta o algoritmo Dijkstra enquanto a
seo VI compara as simulaes realizadas no Matlab com
ambos os algoritmos.
Finalmente, a seo VII apresenta as concluses e os
trabalhos futuros seguida das referncias utilizadas na
elaborao deste artigo.
II.

ROTEAMENTO EM REDES PTICAS

Ao chegar uma solicitao de conexo entre um n de


origem e um n de destino em uma rede ptica, deve ser
escolhida preferencialmente uma rota que utilize os recursos
da rede da melhor forma possvel, seja pelo menor nmero de
enlaces percorridos, pela menor distncia entre os ns ou pela
medio de outros parmetros de desempenho.
A Fig. 1 abaixo mostra um exemplo de rede ptica e
algumas possibilidades de roteamento entre os ns 1 e 6:

10

Fig. 1. Rede ptica e possibilidades de roteamento entre os ns 1 e 6

possvel observar que os ns so interligados por enlaces


e cada um deles possui um peso, que pode estar relacionado a
distncia, a relao sinal rudo, disperso cromtica ou outras
caractersticas pticas.
Mesmo em uma rede simples, existem diversas
possibilidades de roteamento o que mostra a complexidade de
soluo do problema em cenrios mais complexos.
A. Definio do Problema
Dada uma solicitao de conexo entre dois ns, o objetivo
estabelecer uma rota com o menor nmero de enlaces
(saltos).
B. Desenho da Rede
Foi considerada uma rede de seis ns, similar a da figura 1,
porm com pesos unitrios, modelada com um gravo G (V,E),
onde V o conjunto de ns da Rede, representando os
equipamentos optical cross connects (OXC) e E o enlace de
fibras representando a conexo fsica entre os ns da rede.
A rede ser representada atravs de uma Matriz de
Adjacncia do Grafo apresentada na figura 2. Nesta matriz, os
ndices i e j representam os ns e os elementos A(i,j)
representam as ligaes entre os ns. Quando o elemento da
matriz for um significa que os ns esto conectados e no caso
de zero no existe conexo. Caso as conexes tenham peso,
dever ser usado o valor do custo ao invs de um. O artigo
considera a rede com pesos unitrios.
Essa representao permite realizar as simulaes no
Matlab.

A=

1
2
3
4
5
6

1
0
1
1
0
0
0

2
1
0
1
1
0
0

3
1
1
0
0
1
0

4
0
1
0
0
1
1

5
0
0
1
1
0
1

6
0
0
0
1
1
0

Fig. 2. Matriz de adjacncia da rede estudada

A matriz de adjacncia pode ser visualizada no Matlab


atravs do seguinte comando: A = [0 1 1 0 0 0 ; 1 0 1 1 0 0 ; 1
1 0 0 1 0; 0 1 0 0 1 1; 0 0 1 1 0 1; 0 0 0 1 1 0].
C. Objetivo do Trabalho
Implementar o roteamento de comprimentos de onda em
redes pticas utilizando algoritmo gentico e mostrar a
possibilidade do uso dessa tcnica para ser explorado em
redes mais complexas em trabalhos futuros.
A validao da eficincia do algoritmo gentico ser feita
atravs da comparao com o algoritmo Dijkstra, um dos mais
utilizados na literatura para soluo desse tipo de problema.
III.

ALGORITMO GENTICO

O Algoritmo Gentico (GAs-Genetic Algorithm) uma


tcnica de busca e otimizao inspirada no princpio
Darwiniano de seleo natural e reproduo gentica. O GA

trabalha com indivduos, cada um representando uma possvel


soluo para o problema que est sendo tratado.
Uma funo de aptido (fitness function) definida a fim
de avaliar quo bom uma soluo para um dado problema.
A populao inicial criada, geralmente de forma aleatria,
e depois evoluda por meio dos operadores genticos, como a
seleo, o crossover e a mutao, formando uma nova gerao
que se espera ser mais apta que a anterior. O processo de
evoluo repetido por um nmero pr-definido de iteraes
ou at atingir outro critrio (critrio de parada).
O operador seleo determina a probabilidade dos
indivduos serem selecionados. O operador crossover
aplicado a pares de indivduos a fim de trocar parte de seus
materiais genticos, imitando a reproduo natural. Aplicando
esse operador nos indivduos mais aptos, as caractersticas
boas devem se propagar atravs das geraes. O Operador de
mutao realiza uma alterao aleatria no material gentico
de um indivduo, permitindo que o GA explore novos pontos
no espao de busca. Ao final do processo de evoluo
esperado que a populao final possua uma soluo prxima
da tima.
importante destacar que o GA um mtodo genrico e
deve ser customizado de acordo com o problema a ser
resolvido.
IV.

O GAOT E ALGORITMO GENTICO PROPOSTO

O GAOT (Genetic Algorithms Optimization Toolbox) um


toolbox que realiza evolues simuladas no ambiente Matlab.
O programa permite a utilizao de representao binria ou
real, possui boa flexibilidade na utilizao dos operadores
genticos, funo de seleo e critrio de parada e possibilita
acompanhar a evoluo do melhor indivduo e da papulao
por grficos. A ferramenta foi desenvolvido pela Universidade
da Carolina do Norte, EUA, Houck et al (1995).
O algoritmo gentico proposto utiliza o GAOT para realizar
as simulaes e os parmetros utilizados esto elencados na
sequencia.
A. Populao Inicial
A populao inicial formada pelo conjunto de rotas
possveis entre os ns 1 e 6 e foi definida com dez indivduos.
B. Funo Aptido Desenvolvida
A funo de Aptido deve ser definida de acordo com cada
problema e a evoluo satisfatria do algoritmo gentico est
diretamente ligada a sua correta elaborao.
O problema de roteamento em questo tem o objetivo de
escolher uma rota possvel ente dois ns com o menor nmero
de enlaces (saltos). Diante disso a funo de aptido (fa) de
uma possvel rota ser calculada como o inverso da soma dos
enlaces (fibras que conectam dois ns) que compe a rota,
conforme a equao a seguir.

fa =

1
N-1

C (i,j)

i=1

Onde N o nmero de ns da rede (no problema em


questo seis) e C(i,j) o custo dois ns adjacentes.

Para cada n de origem um n de destino selecionado


atravs dos limites (parmetro bounds).
Com o objetivo de eliminar as rotas que no so factveis,
ou seja, que no possuem enlace entre ns, os valores da
matriz de adjacncia marcados como zero foram substitudos
por 1000 e com isso essas rotas ficam com notas muito baixa e
conseqentemente tem a probabilidade de serem escolhidas
diminudas durante o processo de evoluo.
C.

Demais parmetros Utilizados


- Representao: Binria
- Taxa de Crossover: 75%
- Mutao: 2,5%
- Critrio de Parada: 40 geraes
- Funo de Seleo: Normalizao Geomtrica (q=0,08)
- Funo de Aptido: gaArtigo5Eval
- Populao Inicial: 10 indivduos
V.

As simulaes de ambas as tcnicas foram realizadas


utilizando o software Matalb.
A. Rede utilizada nas Simulaes
Buscou-se utilizar uma rede de baixa complexidade, uma
vez que o objetivo comprovar a viabilidade da utilizao do
algoritmo gentico em problemas de roteamento. A rede
composta por 6 ns e o custo de cada enlace foi definido como
um, neste caso o problema do roteamento se resume a escolha
da rota com a menor quantidade de saltos.
A figura 3 apresenta a topologia da rede utilizada neste
trabalho.

O ALGORITMO DE DIJKSTRA

O Algoritmo Dijkstra o mais utilizado para calcular o


caminho mais curto entre dois ns de uma rede usando Grafo
formado por vrtice e Arestas.
Escolhido um n da rede como raiz da busca (origem), este
algoritmo calcula o custo mnimo deste vrtice para todos os
demais vrtices do grafo. O algoritmo pode ser usado sobre
grafos orientados, ou no, e admite que todas as arestas
possuam pesos no negativos. Esta restrio perfeitamente
possvel no contexto de redes pticas, onde as arestas
representam normalmente distncias ou caractersticas pticas
(Disperso cromtica, OSNR, PMD, etc).
O algoritmo divide os ns em dois conjuntos: provisrio e
permanente. O n escolhido definido inicialmente como
provisrio e aps ser analisado depois marcado como
permanente. O algoritmo pode ser definido resumidamente
pelas seguintes etapas:
1. O n de origem escolhido.
2. Atribuir o custo de 0 ao n de origem e marc-lo como
permanente e atribuir o custo infinito ao resto dos ns.
3. Examinar cada n vizinho ao ltimo n permanente.
4. Atribuir um custo cumulativo para cada n e torn-lo
provisrio.
5. Na lista de ns provisrios:
a. Encontrar o n com o menor custo acumulado e marc-lo
como permanente. Um n permanente no ser verificado
novamente e seu custo registrado ser o final.
b. Se um n pode ser alcanado a partir de mais de uma
direo, selecione a direo com o menor custo cumulativo.
6. Os passos de 3 a 5 so repetidos at que cada n se torne
permanente.
VI.

COMPARAO DO ALGORITMO DIJKSTRA COM


ALGORITMO GENTICO

Nesta etapa o desempenho do roteamento pelo caminho


mais curto utilizando o Algoritmo Dijkstra e o Algoritmo
Gentico proposto comparado. O objetivo avaliar se em
ambos os casos a menor rota ser escolhida e confirmar a
possibilidade de utilizao do algoritmo gentico para
roteamento em redes pticas.

Fig. 3. Topologia da rede estudada

A rede criada usando o seguinte comando:


A = sparse([1 1 2 2 3 4 4 5],[2 3 3 4 5 5 6 6 ],[1 1 1 1 1 1 1
1],6,6)
Onde os vetores linha representam os ns de origem, os ns de
destino e os pesos respectivamente.
Para visualizar o grfico, basta utilizar o comando abaixo:
h = view(biograph(A,[],'ShowWeights','on'))
B. Simulao usando Algritumo Dijkstra
No Matlab possvel aplicar o Algoritmo Dijkstra atravs
do comando:
[dist,path,pred] = graphshortestpath(A,1,6)
Na simulao em questo o objetivo descobrir a menor
rota entre os ns 1 e 6 da rede apresentada.
O resultado encontrado pelo algoritmo Dijkstra aponta para
uma distncia de trs percorrendo o caminho pelos ns 1-3-56. Vale ressaltar que o caminho 1-2-4-6 possui o mesmo
custo.
possvel colorir o caminho encontrado pelo algoritmo
atravs do comando set(h.Nodes(path(1,:)),'Color',[1 0 0]). O
resultado apresentado na figura 3.

0.35

0.3

Avaliao

0.25

0.2

0.15

0.1

0.05

10

15

20

25
30
Geraes

35

40

45

Fig. 5. Evoluo do melhor indivduo e das geraes no GA proposto

VII. COCNLUSO E TRABALHOS FUTUROS

Fig. 4. Menor caminho pelo Algoritmo Dijkstra

C. Simulao usando o Algritumo Gentico Proposto


A simulao do Algoritmo Gentico foi realizada utilizando
Toolboox GAOT em ambiente Matlab de acordo com os
parmetros e funo aptido definidas na seo IV.
O algoritmo gentico proposto teve resultado idntico ao do
algoritmo Dijkstra e achou como menor caminho a rota
passando pelos ns 1, 3, 5 e 6 conforme o print da tela de
resposta abaixo:
x= 3

Vale ressaltar que o n 1 no apareceu na resposta, uma vez


que foi designado como n de origem na funo aptido.
A evoluo da melhor soluo e das geraes ocorreu de
forma satisfatria, considerando que a rede em questo
muito simples e espao de busca relativamente pequeno.
A evoluo comea com o valor zero, que corresponde as
rotas que no so viveis, por no terem conexes entre os
ns, passando pelas rotas que passam por 5 enlaces e enfim
chegando a menor rota possvel que constitui apenas 3
enlaces.
A figura 5 apresenta o grfico da evoluo do melhor
indivduo e das geraes do algoritmo Gentico Proposto.
O valor apresentado na evoluo representa o inverso do
custo da rota conforme a funo de Aptido, ou seja, para o
uma rota com 5 enlaces, o valor apresentado ser o inverso de
5, ou seja, 0,2. O mesmo ocorre para a menor rota que
percorre 3 enlaces, o valor correspondente encontrado no
grfico 0,33.

A utilizao do algoritmo gentico proposto se mostrou


vivel para soluo do problema de roteamento em uma rede
ptica de baixa complexidade composta por seis ns.
O resultado das simulaes obtido afirmou o potencial do
algoritmo proposto que alcanou o mesmo resultado que o
algoritmo Dijkstra.
As simulaes do GA utilizaram o toolbox GAOT
enquanto para o algoritmo Dijkstra foram utilizados comandos
especficos disponveis no Matlab.
Em trabalhos futuros, pretende-se utilizar o algoritmo
gentico proposto para realizar o roteamento em redes mais
complexas e adequar a funo de aptido para tratar do
problema de alocao de comprimento de onda em conjunto
com o roteamento.
REFERENCES
[1] Nagib G. and Ali W. G.: Network Routing Protocol using Genetic
Algorithms, International Journal of Electrical & Computer Sciences IJECSIJENS Vol:10 No:02.
[2] Bisbal, D., et al: Dynamic Routing and Wavelength Assignment in
Optical Networks by Means of Genetic Algorithms, Photonic Network
Communications, 7:1(2004) 43-58.
[3] Banerjee, N., Mehta, V. and Pandey, S.: A genetic algorithm approach for
solving the Routing and Wavelength Assignment Problem in WDM
Networks - International Conference on Networks, ICN'04, Pointe-a-Pitre,
Guadeloupe, French Caribbean (2004).
[4] Zang H. et al.: A review of routing and wavelength assignment
approaches for wavelength-routed optical WDM networks. Optical Networks
Magazine, vol. 1, no. 1 (2000) 47-60.
[5] Houck, C.R. et al., 1995, "A Genetic Algorithm for Function
Optimization: A Matlab Implementation", NCSU-IE Technical Report 9509.
[6] Finding shortest path in a Network using MATLAB, Available online
at http://hubpages.com/hub/Shortest-Path-Routing---Finding-ShortestPath-in-Network-using-MATLAB.

50

Вам также может понравиться