SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Roteamento em Redes Ópticas Utilizando
Algoritmo Genético
Eduardo R. Benayon
Faculdade de Engenharia
Universidade do Estado do Rio de Janeiro
Rio de Janeiro, Brasil
eduardo.benayon@gmail.com
Resumo—As redes ópticas de transmissão estão se tornando
cada vez mais complexas e com maior capacidade para atender
a crescente demanda de tráfego originada por novos serviços de
telecomunicações. Diante desse cenário é importante otimizar os
recursos das redes como na solução do problema de roteamento
e alocação de comprimento de onda (RWA).
O Artigo apresenta um algoritmo genético 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-chave—Roteamento, Alocação de Comprimento de
Onda, Redes Ópticas, DWDM, Algoritmo Genético, Função
Aptidão.
I. INTRODUÇÃO
Nos últimos anos o tráfego nas redes de telecomunicações
cresceu de forma acentuada devido ao surgimento de novas
tecnologias e serviços como a internet banda larga, vídeo em
alta definição, vídeo sob demanda, IPTV, comércio eletrônico,
internet móvel, etc.
O único meio de transmissão capaz de suportar essa enorme
demanda por banda é a fibra óptica, e a tecnologia adotada nas
redes de transmissão por explorar melhor essa capacidade foi
a DWDM (Dense Wavelength Division Multiplexing).
As redes DWDM passaram por uma grande evolução nos
últimos anos, começando com sistemas ponto a ponto,
passando pelas redes em anel e chegando às redes em malha.
Com o desenvolvimento e comercialização dos equipamentos
OXC (optical cross connect), que possuem a funcionalidade
de comutação e roteamento de comprimentos de onda, foi
possível implementar redes totalmente ópticas que são
conhecidas como redes com roteamento por comprimento de
onda (WRON - Wavelength-routed optical network).
O estabelecimento de uma conexão entre dois pontos em
uma rede WRON exige a escolha de uma rota física (conjunto
de segmentos de fibras ópticas) e de uma rota luminosa
(conjunto de comprimentos de onda utilizados ao longo da
rota física). Este processo é conhecido como o problema de
roteamento e alocação de comprimento de onda (RWA -
Routing and Wavelength Assignment problem).
O problema RWA é bastante complexo e está diretamente
ligado ao desempenho e otimização da rede óptica, e é
dividido em estático e dinâmico. Além disso, o problema de
roteamento geralmente é tratado separadamente da alocação
de comprimento de onda com o objetivo de tornar o problema
RWA mais simples.
Existem muitas soluções na literatura para o problema do
RWA dinâmico, como os métodos heurísticos da Alocação
aleatória (Random Assignment), Primeiro da fila (First-Fit),
Menos usado (Least-Used/SPREAD), Menor carga (Least
Loaded) entre outros.
Este artigo avalia a viabilidade da utilização de algoritmo
genético na solução do subproblema de roteamento e compara
seu desempenho com algoritmo Dijkstra, que é um dos mais
usados para cálculo de caminho com custo mínimo.
A seção II introduz o problema do roteamento em redes
ópticas, a técnica utilizada para reproduzir a rede óptica no
ambiente Matlab e o objetivo do Trabalho. A seção III
descreve sucintamente o funcionamento do algoritmo
genético. O algoritmo genético proposto e a ferramenta
utilizada para realizar as simulações são explicados na seção
IV. A seção V apresenta o algoritmo Dijkstra enquanto a
seção VI compara as simulações realizadas no Matlab com
ambos os algoritmos.
Finalmente, a seção VII apresenta as conclusões e os
trabalhos futuros seguida das referências utilizadas na
elaboração deste artigo.
II. ROTEAMENTO EM REDES ÓPTICAS
Ao chegar uma solicitação de conexão 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 possível, seja pelo menor número de
enlaces percorridos, pela menor distância entre os nós ou pela
medição de outros parâmetros de desempenho.
A Fig. 1 abaixo mostra um exemplo de rede óptica e
algumas possibilidades de roteamento entre os nós 1 e 6:
2
3
1
4
5
6
6
10
32
Fig. 1. Rede óptica e possibilidades de roteamento entre os nós 1 e 6
É possível observar que os nós são interligados por enlaces
e cada um deles possui um peso, que pode estar relacionado a
distância, a relação sinal ruído, dispersão cromática ou outras
características ópticas.
Mesmo em uma rede simples, existem diversas
possibilidades de roteamento o que mostra a complexidade de
solução do problema em cenários mais complexos.
A. Definição do Problema
Dada uma solicitação de conexão entre dois nós, o objetivo
é estabelecer uma rota com o menor número de enlaces
(saltos).
B. Desenho da Rede
Foi considerada uma rede de seis nós, similar a da figura 1,
porém com pesos unitários, modelada com um gravo G (V,E),
onde V é o conjunto de nós da Rede, representando os
equipamentos optical cross connects (OXC) e E o enlace de
fibras representando a conexão física entre os nós da rede.
A rede será representada através de uma Matriz de
Adjacência do Grafo apresentada na figura 2. Nesta matriz, os
índices i e j representam os nós e os elementos A(i,j)
representam as ligações entre os nós. Quando o elemento da
matriz for um significa que os nós estão conectados e no caso
de zero não existe conexão. Caso as conexões tenham peso,
deverá ser usado o valor do custo ao invés de um. O artigo
considera a rede com pesos unitários.
Essa representação permite realizar as simulações no
Matlab.
1 2 3 4 5 6
1 0 1 1 0 0 0
2 1 0 1 1 0 0
A= 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 adjacência da rede estudada
A matriz de adjacência pode ser visualizada no Matlab
através 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 genético e mostrar a
possibilidade do uso dessa técnica para ser explorado em
redes mais complexas em trabalhos futuros.
A validação da eficiência do algoritmo genético será feita
através da comparação com o algoritmo Dijkstra, um dos mais
utilizados na literatura para solução desse tipo de problema.
III. ALGORITMO GENÉTICO
O Algoritmo Genético (GAs-Genetic Algorithm) é uma
técnica de busca e otimização inspirada no princípio
Darwiniano de seleção natural e reprodução genética. O GA
trabalha com indivíduos, cada um representando uma possível
solução para o problema que está sendo tratado.
Uma função de aptidão (fitness function) é definida a fim
de avaliar quão bom uma solução é para um dado problema.
A população inicial é criada, geralmente de forma aleatória,
e depois evoluída por meio dos operadores genéticos, como a
seleção, o crossover e a mutação, formando uma nova geração
que se espera ser mais apta que a anterior. O processo de
evolução é repetido por um número pré-definido de iterações
ou até atingir outro critério (critério de parada).
O operador seleção determina a probabilidade dos
indivíduos serem selecionados. O operador crossover é
aplicado a pares de indivíduos a fim de trocar parte de seus
materiais genéticos, imitando a reprodução natural. Aplicando
esse operador nos indivíduos mais aptos, as características
boas devem se propagar através das gerações. O Operador de
mutação realiza uma alteração aleatória no material genético
de um indivíduo, permitindo que o GA explore novos pontos
no espaço de busca. Ao final do processo de evolução é
esperado que a população final possua uma solução próxima
da ótima.
É importante destacar que o GA é um método genérico e
deve ser customizado de acordo com o problema a ser
resolvido.
IV. O GAOT E ALGORITMO GENÉTICO PROPOSTO
O GAOT (Genetic Algorithms Optimization Toolbox) é um
toolbox que realiza evoluções simuladas no ambiente Matlab.
O programa permite a utilização de representação binária ou
real, possui boa flexibilidade na utilização dos operadores
genéticos, função de seleção e critério de parada e possibilita
acompanhar a evolução do melhor indivíduo e da papulação
por gráficos. A ferramenta foi desenvolvido pela Universidade
da Carolina do Norte, EUA, Houck et al (1995).
O algoritmo genético proposto utiliza o GAOT para realizar
as simulações e os parâmetros utilizados estão elencados na
sequencia.
A. População Inicial
A população inicial é formada pelo conjunto de rotas
possíveis entre os nós 1 e 6 e foi definida com dez indivíduos.
B. Função Aptidão Desenvolvida
A função de Aptidão deve ser definida de acordo com cada
problema e a evolução satisfatória do algoritmo genético está
diretamente ligada a sua correta elaboração.
O problema de roteamento em questão tem o objetivo de
escolher uma rota possível ente dois nós com o menor número
de enlaces (saltos). Diante disso a função de aptidão (fa) de
uma possível rota será calculada como o inverso da soma dos
enlaces (fibras que conectam dois nós) que compõe a rota,
conforme a equação a seguir.
N-1
S C (i,j)
i=1
1
fa =
Onde N é o número de nós da rede (no problema em
questão seis) e C(i,j) o custo dois nós adjacentes.
Para cada nó de origem um nó de destino é selecionado
através dos limites (parâmetro bounds).
Com o objetivo de eliminar as rotas que não são factíveis,
ou seja, que não possuem enlace entre nós, os valores da
matriz de adjacência marcados como zero foram substituídos
por 1000 e com isso essas rotas ficam com notas muito baixa e
conseqüentemente tem a probabilidade de serem escolhidas
diminuídas durante o processo de evolução.
C. Demais parâmetros Utilizados
- Representação: Binária
- Taxa de Crossover: 75%
- Mutação: 2,5%
- Critério de Parada: 40 gerações
- Função de Seleção: Normalização Geométrica (q=0,08)
- Função de Aptidão: gaArtigo5Eval
- População Inicial: 10 indivíduos
V. O ALGORITMO DE DIJKSTRA
O Algoritmo Dijkstra é o mais utilizado para calcular o
caminho mais curto entre dois nós de uma rede usando Grafo
formado por vértice e Arestas.
Escolhido um nó da rede como raiz da busca (origem), este
algoritmo calcula o custo mínimo deste vértice para todos os
demais vértices do grafo. O algoritmo pode ser usado sobre
grafos orientados, ou não, e admite que todas as arestas
possuam pesos não negativos. Esta restrição é perfeitamente
possível no contexto de redes ópticas, onde as arestas
representam normalmente distâncias ou características ópticas
(Dispersão cromática, OSNR, PMD, etc).
O algoritmo divide os nós em dois conjuntos: provisório e
permanente. O nó escolhido é definido inicialmente como
provisório e após 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 nós.
3. Examinar cada nó vizinho ao último nó permanente.
4. Atribuir um custo cumulativo para cada nó e torná-lo
provisório.
5. Na lista de nós provisórios:
a. Encontrar o nó com o menor custo acumulado e marcá-lo
como permanente. Um nó permanente não será verificado
novamente e seu custo registrado será o final.
b. Se um nó pode ser alcançado a partir de mais de uma
direção, selecione a direção com o menor custo cumulativo.
6. Os passos de 3 a 5 são repetidos até que cada nó se torne
permanente.
VI. COMPARAÇÃO DO ALGORITMO DIJKSTRA COM
ALGORITMO GENÉTICO
Nesta etapa o desempenho do roteamento pelo caminho
mais curto utilizando o Algoritmo Dijkstra e o Algoritmo
Genético proposto é comparado. O objetivo é avaliar se em
ambos os casos a menor rota será escolhida e confirmar a
possibilidade de utilização do algoritmo genético para
roteamento em redes ópticas.
As simulações de ambas as técnicas foram realizadas
utilizando o software Matalb.
A. Rede utilizada nas Simulações
Buscou-se utilizar uma rede de baixa complexidade, uma
vez que o objetivo é comprovar a viabilidade da utilização do
algoritmo genético em problemas de roteamento. A rede é
composta por 6 nós 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.
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 nós de origem, os nós de
destino e os pesos respectivamente.
Para visualizar o gráfico, basta utilizar o comando abaixo:
h = view(biograph(A,[],'ShowWeights','on'))
B. Simulação usando Algritumo Dijkstra
No Matlab é possível aplicar o Algoritmo Dijkstra através
do comando:
[dist,path,pred] = graphshortestpath(A,1,6)
Na simulação em questão o objetivo é descobrir a menor
rota entre os nós 1 e 6 da rede apresentada.
O resultado encontrado pelo algoritmo Dijkstra aponta para
uma distância de três percorrendo o caminho pelos nós 1-3-5-
6. Vale ressaltar que o caminho 1-2-4-6 possui o mesmo
custo.
É possível colorir o caminho encontrado pelo algoritmo
através do comando set(h.Nodes(path(1,:)),'Color',[1 0 0]). O
resultado é apresentado na figura 3.
Fig. 4. Menor caminho pelo Algoritmo Dijkstra
C. Simulação usando o Algritumo Genético Proposto
A simulação do Algoritmo Genético foi realizada utilizando
Toolboox GAOT em ambiente Matlab de acordo com os
parâmetros e função aptidão definidas na seção IV.
O algoritmo genético proposto teve resultado idêntico ao do
algoritmo Dijkstra e achou como menor caminho a rota
passando pelos nós 1, 3, 5 e 6 conforme o print da tela de
resposta abaixo:
x = 3 3 5 6 6
Vale ressaltar que o nó 1 não apareceu na resposta, uma vez
que foi designado como nó de origem na função aptidão.
A evolução da melhor solução e das gerações ocorreu de
forma satisfatória, considerando que a rede em questão é
muito simples e espaço de busca é relativamente pequeno.
A evolução começa com o valor zero, que corresponde as
rotas que não são viáveis, por não terem conexões entre os
nós, passando pelas rotas que passam por 5 enlaces e enfim
chegando a menor rota possível que constitui apenas 3
enlaces.
A figura 5 apresenta o gráfico da evolução do melhor
indivíduo e das gerações do algoritmo Genético Proposto.
O valor apresentado na evolução representa o inverso do
custo da rota conforme a função de Aptidão, 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
gráfico é 0,33.
0 5 10 15 20 25 30 35 40 45 50
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Gerações
Avaliação
Fig. 5. Evolução do melhor indivíduo e das gerações no GA proposto
VII. COCNLUSÃO E TRABALHOS FUTUROS
A utilização do algoritmo genético proposto se mostrou
viável para solução do problema de roteamento em uma rede
óptica de baixa complexidade composta por seis nós.
O resultado das simulações obtido afirmou o potencial do
algoritmo proposto que alcançou o mesmo resultado que o
algoritmo Dijkstra.
As simulações do GA utilizaram o toolbox GAOT
enquanto para o algoritmo Dijkstra foram utilizados comandos
específicos disponíveis no Matlab.
Em trabalhos futuros, pretende-se utilizar o algoritmo
genético proposto para realizar o roteamento em redes mais
complexas e adequar a função de aptidão para tratar do
problema de alocação 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 IJECS-
IJENS 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 95-
09.
[6] Finding shortest path in a Network using MATLAB, Available online
at http://hubpages.com/hub/Shortest-Path-Routing---Finding-Shortest-
Path-in-Network-using-MATLAB.

Mais conteúdo relacionado

Semelhante a Roteamento Óptico com Algoritmo Genético

Dissertação Eduardo Benayon
Dissertação Eduardo BenayonDissertação Eduardo Benayon
Dissertação Eduardo Benayonedubenayon
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadascesar do amaral
 
Apresentacao tcc - Redes Mesh Cognitiva
Apresentacao tcc - Redes Mesh CognitivaApresentacao tcc - Redes Mesh Cognitiva
Apresentacao tcc - Redes Mesh CognitivaIuri Andreazza
 
Logística tese marcos-roberto_silva
Logística tese marcos-roberto_silvaLogística tese marcos-roberto_silva
Logística tese marcos-roberto_silvaAndré Jun Miki
 
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...Renato Arbex
 
Fluxos em Rede e Associação
Fluxos em Rede e AssociaçãoFluxos em Rede e Associação
Fluxos em Rede e AssociaçãoIorgama Porcely
 
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...Renato Arbex
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Ricardo Brasil
 
Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...
Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...
Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...Heitor Galvão
 
Redes Complexas (2009)
Redes Complexas (2009)Redes Complexas (2009)
Redes Complexas (2009)Rafael Dahis
 
Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)Joao Gonçalves
 
Manual solucoes redes_tanenbaum
Manual solucoes redes_tanenbaumManual solucoes redes_tanenbaum
Manual solucoes redes_tanenbaumredesinforma
 
Redes de computadores II - 3.Roteamento
Redes de computadores II - 3.RoteamentoRedes de computadores II - 3.Roteamento
Redes de computadores II - 3.RoteamentoMauro Tapajós
 
ASS - Estagio de Aprendizagem GTI.pdf
ASS - Estagio de Aprendizagem GTI.pdfASS - Estagio de Aprendizagem GTI.pdf
ASS - Estagio de Aprendizagem GTI.pdfViniciusAlmeida137
 

Semelhante a Roteamento Óptico com Algoritmo Genético (20)

Dissertação Eduardo Benayon
Dissertação Eduardo BenayonDissertação Eduardo Benayon
Dissertação Eduardo Benayon
 
Rct 16 - camada de rede
Rct   16 - camada de redeRct   16 - camada de rede
Rct 16 - camada de rede
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadas
 
Tbr de redes
Tbr de redesTbr de redes
Tbr de redes
 
11480 6
11480 611480 6
11480 6
 
App
AppApp
App
 
Apresentacao tcc - Redes Mesh Cognitiva
Apresentacao tcc - Redes Mesh CognitivaApresentacao tcc - Redes Mesh Cognitiva
Apresentacao tcc - Redes Mesh Cognitiva
 
Logística tese marcos-roberto_silva
Logística tese marcos-roberto_silvaLogística tese marcos-roberto_silva
Logística tese marcos-roberto_silva
 
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
 
Fluxos em Rede e Associação
Fluxos em Rede e AssociaçãoFluxos em Rede e Associação
Fluxos em Rede e Associação
 
Daniel jung
Daniel jungDaniel jung
Daniel jung
 
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
Projeto de Redes Otimizadas de Transporte Público por Ônibus Utilizando Algor...
 
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso ...
 
Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...
Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...
Análise do Gerador Comb Óptico para transmissão de altas taxas em Redes Óptic...
 
Redes Complexas (2009)
Redes Complexas (2009)Redes Complexas (2009)
Redes Complexas (2009)
 
Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)Estudo Sobre Mobile Ad Hoc Networks(MANETs)
Estudo Sobre Mobile Ad Hoc Networks(MANETs)
 
Manual solucoes redes_tanenbaum
Manual solucoes redes_tanenbaumManual solucoes redes_tanenbaum
Manual solucoes redes_tanenbaum
 
Redes de computadores II - 3.Roteamento
Redes de computadores II - 3.RoteamentoRedes de computadores II - 3.Roteamento
Redes de computadores II - 3.Roteamento
 
ASS - Estagio de Aprendizagem GTI.pdf
ASS - Estagio de Aprendizagem GTI.pdfASS - Estagio de Aprendizagem GTI.pdf
ASS - Estagio de Aprendizagem GTI.pdf
 

Roteamento Óptico com Algoritmo Genético

  • 1. Roteamento em Redes Ópticas Utilizando Algoritmo Genético Eduardo R. Benayon Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Rio de Janeiro, Brasil eduardo.benayon@gmail.com Resumo—As redes ópticas de transmissão estão se tornando cada vez mais complexas e com maior capacidade para atender a crescente demanda de tráfego originada por novos serviços de telecomunicações. Diante desse cenário é importante otimizar os recursos das redes como na solução do problema de roteamento e alocação de comprimento de onda (RWA). O Artigo apresenta um algoritmo genético 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-chave—Roteamento, Alocação de Comprimento de Onda, Redes Ópticas, DWDM, Algoritmo Genético, Função Aptidão. I. INTRODUÇÃO Nos últimos anos o tráfego nas redes de telecomunicações cresceu de forma acentuada devido ao surgimento de novas tecnologias e serviços como a internet banda larga, vídeo em alta definição, vídeo sob demanda, IPTV, comércio eletrônico, internet móvel, etc. O único meio de transmissão capaz de suportar essa enorme demanda por banda é a fibra óptica, e a tecnologia adotada nas redes de transmissão por explorar melhor essa capacidade foi a DWDM (Dense Wavelength Division Multiplexing). As redes DWDM passaram por uma grande evolução nos últimos anos, começando com sistemas ponto a ponto, passando pelas redes em anel e chegando às redes em malha. Com o desenvolvimento e comercialização dos equipamentos OXC (optical cross connect), que possuem a funcionalidade de comutação e roteamento de comprimentos de onda, foi possível implementar redes totalmente ópticas que são conhecidas como redes com roteamento por comprimento de onda (WRON - Wavelength-routed optical network). O estabelecimento de uma conexão entre dois pontos em uma rede WRON exige a escolha de uma rota física (conjunto de segmentos de fibras ópticas) e de uma rota luminosa (conjunto de comprimentos de onda utilizados ao longo da rota física). Este processo é conhecido como o problema de roteamento e alocação de comprimento de onda (RWA - Routing and Wavelength Assignment problem). O problema RWA é bastante complexo e está diretamente ligado ao desempenho e otimização da rede óptica, e é dividido em estático e dinâmico. Além disso, o problema de roteamento geralmente é tratado separadamente da alocação de comprimento de onda com o objetivo de tornar o problema RWA mais simples. Existem muitas soluções na literatura para o problema do RWA dinâmico, como os métodos heurísticos da Alocação aleatória (Random Assignment), Primeiro da fila (First-Fit), Menos usado (Least-Used/SPREAD), Menor carga (Least Loaded) entre outros. Este artigo avalia a viabilidade da utilização de algoritmo genético na solução do subproblema de roteamento e compara seu desempenho com algoritmo Dijkstra, que é um dos mais usados para cálculo de caminho com custo mínimo. A seção II introduz o problema do roteamento em redes ópticas, a técnica utilizada para reproduzir a rede óptica no ambiente Matlab e o objetivo do Trabalho. A seção III descreve sucintamente o funcionamento do algoritmo genético. O algoritmo genético proposto e a ferramenta utilizada para realizar as simulações são explicados na seção IV. A seção V apresenta o algoritmo Dijkstra enquanto a seção VI compara as simulações realizadas no Matlab com ambos os algoritmos. Finalmente, a seção VII apresenta as conclusões e os trabalhos futuros seguida das referências utilizadas na elaboração deste artigo. II. ROTEAMENTO EM REDES ÓPTICAS Ao chegar uma solicitação de conexão 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 possível, seja pelo menor número de enlaces percorridos, pela menor distância entre os nós ou pela medição de outros parâmetros de desempenho. A Fig. 1 abaixo mostra um exemplo de rede óptica e algumas possibilidades de roteamento entre os nós 1 e 6: 2 3 1 4 5 6 6 10 32 Fig. 1. Rede óptica e possibilidades de roteamento entre os nós 1 e 6
  • 2. É possível observar que os nós são interligados por enlaces e cada um deles possui um peso, que pode estar relacionado a distância, a relação sinal ruído, dispersão cromática ou outras características ópticas. Mesmo em uma rede simples, existem diversas possibilidades de roteamento o que mostra a complexidade de solução do problema em cenários mais complexos. A. Definição do Problema Dada uma solicitação de conexão entre dois nós, o objetivo é estabelecer uma rota com o menor número de enlaces (saltos). B. Desenho da Rede Foi considerada uma rede de seis nós, similar a da figura 1, porém com pesos unitários, modelada com um gravo G (V,E), onde V é o conjunto de nós da Rede, representando os equipamentos optical cross connects (OXC) e E o enlace de fibras representando a conexão física entre os nós da rede. A rede será representada através de uma Matriz de Adjacência do Grafo apresentada na figura 2. Nesta matriz, os índices i e j representam os nós e os elementos A(i,j) representam as ligações entre os nós. Quando o elemento da matriz for um significa que os nós estão conectados e no caso de zero não existe conexão. Caso as conexões tenham peso, deverá ser usado o valor do custo ao invés de um. O artigo considera a rede com pesos unitários. Essa representação permite realizar as simulações no Matlab. 1 2 3 4 5 6 1 0 1 1 0 0 0 2 1 0 1 1 0 0 A= 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 adjacência da rede estudada A matriz de adjacência pode ser visualizada no Matlab através 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 genético e mostrar a possibilidade do uso dessa técnica para ser explorado em redes mais complexas em trabalhos futuros. A validação da eficiência do algoritmo genético será feita através da comparação com o algoritmo Dijkstra, um dos mais utilizados na literatura para solução desse tipo de problema. III. ALGORITMO GENÉTICO O Algoritmo Genético (GAs-Genetic Algorithm) é uma técnica de busca e otimização inspirada no princípio Darwiniano de seleção natural e reprodução genética. O GA trabalha com indivíduos, cada um representando uma possível solução para o problema que está sendo tratado. Uma função de aptidão (fitness function) é definida a fim de avaliar quão bom uma solução é para um dado problema. A população inicial é criada, geralmente de forma aleatória, e depois evoluída por meio dos operadores genéticos, como a seleção, o crossover e a mutação, formando uma nova geração que se espera ser mais apta que a anterior. O processo de evolução é repetido por um número pré-definido de iterações ou até atingir outro critério (critério de parada). O operador seleção determina a probabilidade dos indivíduos serem selecionados. O operador crossover é aplicado a pares de indivíduos a fim de trocar parte de seus materiais genéticos, imitando a reprodução natural. Aplicando esse operador nos indivíduos mais aptos, as características boas devem se propagar através das gerações. O Operador de mutação realiza uma alteração aleatória no material genético de um indivíduo, permitindo que o GA explore novos pontos no espaço de busca. Ao final do processo de evolução é esperado que a população final possua uma solução próxima da ótima. É importante destacar que o GA é um método genérico e deve ser customizado de acordo com o problema a ser resolvido. IV. O GAOT E ALGORITMO GENÉTICO PROPOSTO O GAOT (Genetic Algorithms Optimization Toolbox) é um toolbox que realiza evoluções simuladas no ambiente Matlab. O programa permite a utilização de representação binária ou real, possui boa flexibilidade na utilização dos operadores genéticos, função de seleção e critério de parada e possibilita acompanhar a evolução do melhor indivíduo e da papulação por gráficos. A ferramenta foi desenvolvido pela Universidade da Carolina do Norte, EUA, Houck et al (1995). O algoritmo genético proposto utiliza o GAOT para realizar as simulações e os parâmetros utilizados estão elencados na sequencia. A. População Inicial A população inicial é formada pelo conjunto de rotas possíveis entre os nós 1 e 6 e foi definida com dez indivíduos. B. Função Aptidão Desenvolvida A função de Aptidão deve ser definida de acordo com cada problema e a evolução satisfatória do algoritmo genético está diretamente ligada a sua correta elaboração. O problema de roteamento em questão tem o objetivo de escolher uma rota possível ente dois nós com o menor número de enlaces (saltos). Diante disso a função de aptidão (fa) de uma possível rota será calculada como o inverso da soma dos enlaces (fibras que conectam dois nós) que compõe a rota, conforme a equação a seguir. N-1 S C (i,j) i=1 1 fa = Onde N é o número de nós da rede (no problema em questão seis) e C(i,j) o custo dois nós adjacentes.
  • 3. Para cada nó de origem um nó de destino é selecionado através dos limites (parâmetro bounds). Com o objetivo de eliminar as rotas que não são factíveis, ou seja, que não possuem enlace entre nós, os valores da matriz de adjacência marcados como zero foram substituídos por 1000 e com isso essas rotas ficam com notas muito baixa e conseqüentemente tem a probabilidade de serem escolhidas diminuídas durante o processo de evolução. C. Demais parâmetros Utilizados - Representação: Binária - Taxa de Crossover: 75% - Mutação: 2,5% - Critério de Parada: 40 gerações - Função de Seleção: Normalização Geométrica (q=0,08) - Função de Aptidão: gaArtigo5Eval - População Inicial: 10 indivíduos V. O ALGORITMO DE DIJKSTRA O Algoritmo Dijkstra é o mais utilizado para calcular o caminho mais curto entre dois nós de uma rede usando Grafo formado por vértice e Arestas. Escolhido um nó da rede como raiz da busca (origem), este algoritmo calcula o custo mínimo deste vértice para todos os demais vértices do grafo. O algoritmo pode ser usado sobre grafos orientados, ou não, e admite que todas as arestas possuam pesos não negativos. Esta restrição é perfeitamente possível no contexto de redes ópticas, onde as arestas representam normalmente distâncias ou características ópticas (Dispersão cromática, OSNR, PMD, etc). O algoritmo divide os nós em dois conjuntos: provisório e permanente. O nó escolhido é definido inicialmente como provisório e após 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 nós. 3. Examinar cada nó vizinho ao último nó permanente. 4. Atribuir um custo cumulativo para cada nó e torná-lo provisório. 5. Na lista de nós provisórios: a. Encontrar o nó com o menor custo acumulado e marcá-lo como permanente. Um nó permanente não será verificado novamente e seu custo registrado será o final. b. Se um nó pode ser alcançado a partir de mais de uma direção, selecione a direção com o menor custo cumulativo. 6. Os passos de 3 a 5 são repetidos até que cada nó se torne permanente. VI. COMPARAÇÃO DO ALGORITMO DIJKSTRA COM ALGORITMO GENÉTICO Nesta etapa o desempenho do roteamento pelo caminho mais curto utilizando o Algoritmo Dijkstra e o Algoritmo Genético proposto é comparado. O objetivo é avaliar se em ambos os casos a menor rota será escolhida e confirmar a possibilidade de utilização do algoritmo genético para roteamento em redes ópticas. As simulações de ambas as técnicas foram realizadas utilizando o software Matalb. A. Rede utilizada nas Simulações Buscou-se utilizar uma rede de baixa complexidade, uma vez que o objetivo é comprovar a viabilidade da utilização do algoritmo genético em problemas de roteamento. A rede é composta por 6 nós 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. 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 nós de origem, os nós de destino e os pesos respectivamente. Para visualizar o gráfico, basta utilizar o comando abaixo: h = view(biograph(A,[],'ShowWeights','on')) B. Simulação usando Algritumo Dijkstra No Matlab é possível aplicar o Algoritmo Dijkstra através do comando: [dist,path,pred] = graphshortestpath(A,1,6) Na simulação em questão o objetivo é descobrir a menor rota entre os nós 1 e 6 da rede apresentada. O resultado encontrado pelo algoritmo Dijkstra aponta para uma distância de três percorrendo o caminho pelos nós 1-3-5- 6. Vale ressaltar que o caminho 1-2-4-6 possui o mesmo custo. É possível colorir o caminho encontrado pelo algoritmo através do comando set(h.Nodes(path(1,:)),'Color',[1 0 0]). O resultado é apresentado na figura 3.
  • 4. Fig. 4. Menor caminho pelo Algoritmo Dijkstra C. Simulação usando o Algritumo Genético Proposto A simulação do Algoritmo Genético foi realizada utilizando Toolboox GAOT em ambiente Matlab de acordo com os parâmetros e função aptidão definidas na seção IV. O algoritmo genético proposto teve resultado idêntico ao do algoritmo Dijkstra e achou como menor caminho a rota passando pelos nós 1, 3, 5 e 6 conforme o print da tela de resposta abaixo: x = 3 3 5 6 6 Vale ressaltar que o nó 1 não apareceu na resposta, uma vez que foi designado como nó de origem na função aptidão. A evolução da melhor solução e das gerações ocorreu de forma satisfatória, considerando que a rede em questão é muito simples e espaço de busca é relativamente pequeno. A evolução começa com o valor zero, que corresponde as rotas que não são viáveis, por não terem conexões entre os nós, passando pelas rotas que passam por 5 enlaces e enfim chegando a menor rota possível que constitui apenas 3 enlaces. A figura 5 apresenta o gráfico da evolução do melhor indivíduo e das gerações do algoritmo Genético Proposto. O valor apresentado na evolução representa o inverso do custo da rota conforme a função de Aptidão, 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 gráfico é 0,33. 0 5 10 15 20 25 30 35 40 45 50 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 Gerações Avaliação Fig. 5. Evolução do melhor indivíduo e das gerações no GA proposto VII. COCNLUSÃO E TRABALHOS FUTUROS A utilização do algoritmo genético proposto se mostrou viável para solução do problema de roteamento em uma rede óptica de baixa complexidade composta por seis nós. O resultado das simulações obtido afirmou o potencial do algoritmo proposto que alcançou o mesmo resultado que o algoritmo Dijkstra. As simulações do GA utilizaram o toolbox GAOT enquanto para o algoritmo Dijkstra foram utilizados comandos específicos disponíveis no Matlab. Em trabalhos futuros, pretende-se utilizar o algoritmo genético proposto para realizar o roteamento em redes mais complexas e adequar a função de aptidão para tratar do problema de alocação 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 IJECS- IJENS 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 95- 09. [6] Finding shortest path in a Network using MATLAB, Available online at http://hubpages.com/hub/Shortest-Path-Routing---Finding-Shortest- Path-in-Network-using-MATLAB.