• Nenhum resultado encontrado

RESUMO

N/A
N/A
Protected

Academic year: 2021

Share "RESUMO"

Copied!
11
0
0

Texto

(1)

Estudo Comparativo entre Algoritmos Imunol´ogicos e Algoritmo

Gen´etico Aplicados ao Problema de Estabelecimento de Rotas com

Restric¸˜ao de Capacidade utilizando o Protocolo MPLS

Alessandro Vivas Andrade

Departamento de Computac¸˜ao, UFVJM – Diamantina (MG) – Brasil alessandrovivas@ufvjm.edu.br

Luciano de Errico

Departamento de Eng. Eletrˆonica e LabCOM, UFMG – Belo Horizonte (MG) – Brasil l.errico@cpdee.ufmg.br

Luciana Pereira de Assis

Departamento de Computac¸˜ao, UFVJM – Diamantina (MG) – Brasil lpassis@ufvjm.edu.br

RESUMO

O problema de estabelecimento de rotas em redes com MPLS ´e essencial para o provimento de Qualidade de Servic¸o (QoS) em redes IP. O MPLS d´a suporte `a Engenharia de Tr´afego (TE), que tem como objetivo tornar as operac¸˜oes de rede mais simples e eficientes e, ao mesmo tempo, otimizar a utilizac¸˜ao dos recursos internos. Este trabalho aplica os algoritmos imunol´ogicos Copt-Ainet e Opt-Ainet na resoluc¸˜ao do problema de estabelecimento de rotas em redes com MPLS. Adicionalmente, s˜ao introduzidas alterac¸˜oes nas fases de maturac¸˜ao de afinidade do algoritmo Copt-Ainet, para melhoria do desempenho. Estes algoritmos s˜ao ent˜ao comparados a um Algoritmo Gen´etico (AG), onde observa-se, nos cen´arios avaliados, a superioridade dos algoritmos imunol´ogicos para redes com grande n´umero de rotas. J´a para redes com poucas ro-tas, o AG mostra-se mais interessante, devido ao seu reduzido tempo de execuc¸˜ao se comparado com os algoritmos imunol´ogicos implementados.

PALAVRAS CHAVE. Redes de Computadores, Sistemas Imunol´ogicos Artificiais, MPLS. ´

AREA PRINCIPAL. Metaheur´ısticas.

ABSTRACT

The problem of finding routes in a MPLS network is essential for the provision of Quality of Service (QoS) in IP networks. MPLS offers support for Traffic Engineering (TE), which aims to keep the network operations simpler and efficient, while optimizing the use of internal re-sources. The present work uses the Copt-Ainet and Opt-Ainet immunologic algorithms in the route finding problem for MPLS networks. Improvements are introduced in the Copt-Ainet algorithm, during the affinity maturation stages, to increase performance. In sequence, both algorithms are compared to a Genetic Algorithm (GA) and it is observed the superiority of the immunologic algorithms for evaluated network scenarios with a high number of routes. In con-trast, for networks with a small number of routes, the AG presents a more interesting approach, given its smaller execution time if compared to the implemented immunologic algorithms. KEYWORDS. Computer Networks, Artificial Immmune Systems, MPLS.

(2)

1. Introduc¸˜ao

O Multiprotocol Label Switching (MPLS) ´e um framework da Internet Engineering Task

Force (IETF) que provˆe o encaminhamento de fluxos de tr´afego atrav´es de uma rede

(TRIL-LIUM, 2005) (Rosen et al., 2001), muito utilizado em redes baseadas no protocolo IP. Ele pode ser definido como uma t´ecnica de roteamento onde os pacotes s˜ao marcados com r´otulos, sendo que estes r´otulos identificam o caminho que os pacotes ir˜ao seguir na rede (Awduche et al., 1999). O MPLS d´a suporte `a Engenharia de Tr´afego (TE – Traffic Engineering), que tem como objetivo tornar as operac¸˜oes de rede mais simples e eficientes e, ao mesmo tempo, otimizar a utilizac¸˜ao dos recursos internos e garantir a Qualidade de Servic¸o (QoS) necess´aria para atender aos usu´arios. Para que isso seja atingido, o mecanismo central do MPLS ´e o estabelecimento de rotas que atendam aos requisitos dos fluxos de comunicac¸˜ao que atravessam a rede, dentro dos limites dos recursos que a pr´opria rede possui.

Para a otimizac¸˜ao de rotas em redes MPLS, diversas abordagens j´a foram propostas, sendo que a grande maioria aplica Algoritmos Gen´eticos (AG) como forma recorrente para a soluc¸˜ao do problema (Cuihong, 1997), (Riedl, 2003), (de Andrade Oliveira et al., 2005), (Maia, 2006), (Barreto, 2007). Entretanto, a utilizac¸˜ao de outras abordagens pode viabilizar a soluc¸˜ao de problemas para os quais os AGs n˜ao apresentam resultados satisfat´orios.

Sistemas Imunol´ogicos Artificiais (SIA) (de Castro e Zuben, 2000) podem ser definidos como sistemas computacionais inspirados na imunologia te´orica, observando func¸˜oes imu-nol´ogicas, princ´ıpios e mecanismos para resolver problemas. Os SIAs visam reproduzir em um computador algumas de suas principais caracter´ısticas e habilidades biol´ogicas, como ca-pacidade de reconhecimento de padr˜oes e de processamento de informac¸˜oes, adaptac¸˜ao, apren-dizado, mem´oria e auto-organizac¸˜ao e cognic¸˜ao, dentre outras. O sucesso dos algoritmos imu-nol´ogicos artificiais nas ´areas de reconhecimento e classificac¸˜ao de padr˜oes, otimizac¸˜ao, an´alise de dados, seguranc¸a computacional e rob´otica tem atra´ıdo muita atenc¸˜ao de pesquisas na ´area de computac¸˜ao e engenharia.

Dentre os diversos algoritmos imunol´ogicos aplicav´eis, trˆes se destacam: Ainet, Opt-Ainet e Copt-Ainet. O Ainet foi desenvolvido por de Castro e Zuben (2001) e pode ser utilizado para compress˜ao de dados e clusterizac¸˜ao, incluindo problemas n˜ao linearmente separ´aveis de muitas dimens˜oes. Ele foi inspirado na teoria da rede imunol´ogica e pode ser definido como um grafo ponderado composto por um conjunto de n´os, denominados de anticorpos, e um conjunto de pares de n´os, chamados de conex˜oes, com um valor caracter´ıstico associado, chamado de peso (de Castro e Timmis, 2002). A rede Opt-Ainet (de Castro e Timmis, 2002) ´e uma vers˜ao da rede Ainet para otimizac¸˜ao que oferece: tamanho da populac¸˜ao ajust´avel dinamicamente, explorac¸˜ao do espac¸o de busca, localizac¸˜ao de m´ultiplos ´otimos, capacidade de manter soluc¸˜oes de ´otimos locais e definic¸˜ao de um crit´erio de parada. J´a o algoritmo Copt-Ainet (de Souza et al., 2004) ´e uma extens˜ao do modelo Ainet, utilizado para resolver problemas de otimizac¸˜ao combinat´oria e acrescentando novas t´ecnicas tais como o uso de selec¸˜ao clonal e a maturac¸˜ao da afinidade.

Este trabalho teve como objetivo avaliar a aplicac¸˜ao do algoritmo Copt-Ainet para a resoluc¸˜ao do problema de estabelecimento de rotas em redes MPLS. As principais contribuic¸˜oes foram a aplicac¸˜ao dos algoritmos Opt-Ainet e Copt-Ainet na otimizac¸˜ao de redes de computadores e a proposta de um novo sistema de busca local, utilizando Grasp, na fase de maturac¸˜ao forte do algoritmo Copt-Ainet. Os resultados foram comparados aos de um Algoritmo Gen´etico com selec¸˜ao por torneio e cruzamento em dois pontos e observada, nos cen´arios avaliados, a superi-oridade do Copt-Ainet modificado para instˆancias com grande n´umero de rotas. Para instˆancias com poucas rotas, se mostrou prefer´ıvel utilizar o AG, devido ao seu menor tempo de execuc¸˜ao

(3)

em relac¸˜ao ao Copt-Ainet. 2. Formulac¸˜ao do Problema

O MPLS ´e comumente utilizado em redes que usam a tecnologia TCP/IP. Nessas redes, um pacote (datagrama) ´e encaminhado do computador de origem at´e o computador de destino, atra-vessando diversos roteadores interligados por enlaces de comunicac¸˜ao (links). Em cada roteador o pacote ´e recebido e encaminhado para a porta de sa´ıda que o coloca na direc¸˜ao do enderec¸o IP de destino (enderec¸o este contido no pr´oprio pacote). Nessa forma de encaminhamento n˜ao h´a definic¸˜ao pr´evia da rota, a qual vai sendo constru´ıda `a medida que o pacote vai sendo enca-minhado na rede. Cada roteador mant´em uma tabela de roteamento, atualizada dinamicamente, que indica a melhor porta de sa´ıda para cada conjunto poss´ıvel de enderec¸os de destino. Dada o conte´udo dinˆamico destas tabelas, ´e poss´ıvel que pacotes enviados em seq¨uˆencia percorram rotas diferentes e n˜ao cheguem ao destino na mesma ordem original. Tamb´em n˜ao h´a qualquer garantia do tempo gasto no processo (atraso) ou mesmo da entrega de cada pacote.

Essa forma de roteamento intr´ınseca ao protocolo IP pode alterada com a introduc¸˜ao do MPLS na rede. Com o MPLS, cada comunicac¸˜ao segue por uma rota fixa previamente alocada, sendo que cada pacote dessa comunicac¸˜ao recebe um r´otulo, inserido entre os cabec¸alhos do protocolo de rede e do protocolo de enlace. Cada roteador passa a encaminhar os pacotes apenas baseado no valor desse r´otulo e em tabelas (em cada roteador) que associam cada r´otulo a uma porta de sa´ıda. Quando o estabelecimento de cada rota segue crit´erios determinados, atendendo por exemplo a exigˆencias de Qualidade de Servic¸o (QoS) das aplicac¸˜oes, temos um cen´ario de Engenharia de Tr´afego (TE – Traffic Engineering), onde h´a controle sobre o que e como as comunicac¸˜oes circulam na rede.

Nesse sistema a alocac¸˜ao de rotas, chamadas no contexto MPLS de LSPs (Label Switching

Paths), assume papel crucial. Cada LSP atravessa v´arios roteadores e v´arios enlaces. O

pro-blema pode ser enunciado como segue:

Problema: Qual ´e o conjunto de LSPs que satisfaz as restric¸˜oes impostas pelo sistema e

mini-miza o custo de alocac¸˜ao?

O problema de alocac¸˜ao de LSPs (rotas) pode ser expresso como um problema de rotea-mento com restric¸˜oes. Neste trabalho foi utilizado a formulac¸˜ao matem´atica proposta por Girish et al. (2000) e que cont´em as considerac¸˜oes seguintes. Pode-se definir a topologia f´ısica de rede como um grafo G = (V, E,C), onde V representa um conjunto de n´os roteadores, E representa os enlaces entre esses n´os (ligac¸˜oes entre rotadores) e C s˜ao as capacidades e outras restric¸˜oes associadas aos n´os e enlaces. Os roteadores s˜ao denominados LSRs (Label Switching Routers) e o grafo correspondente ao MPLS ser´a H = (U, F, D), onde U ´e o conjunto de LSRs de ori-gem e de destino para os LSPs, F ´e o conjunto de LSPs (rotas) e D ´e o conjunto de demandas associadas aos LSPs.

Al´em disso, o modelo matem´atico possui os seguintes parˆametros: ul – LSR (roteador) de

origem de um enlace; vl – LSR (roteador) de destino de um enlace; µl – largura de banda de

um enlace (taxa em bits por segundo, bps, suportada pelo enlace); al – custo administrativo de

um enlace;λi– largura de banda exigida por um LSP (segundo a demanda imposta); si– LSR

(roteador) de entrada de um LSP; di– LSR (roteador) de sa´ıda de um LSP.

O problema ´e encontrar o estabelecimento ´otimo de LSPs sobre a dada topologia da rede, obedecendo `as restric¸˜oes impostas. A vari´avel de decis˜ao xil indica se determinado LSP ser´a

(4)

xil =

½

1, se o LSP i ∈ F ´e roteado no enlace l ∈ E 0, caso contr´ario

A func¸˜ao objetivo deve minimizar a soma, em todos os enlaces, do produto do custo pelo fluxo total naquele enlace. Isso pode ser modelado como:

Minimize(ZR) =

l∈E al

i∈F λixil, (1) sujeito a

i∈F λixil µl, ∀l ∈ E (2)

∀l|ul=n xil = 1, ∀n ∈ U ∀i | si= n (3)

∀l|vl=n xil = 1, ∀n ∈ U ∀i | di= n (4)

∀l|ul=n xil−

∀l|vl=n xil = 0, ∀n ∈ V ∀i | si6= n, di6= n (5) xil ∈ {0, 1}, ∀i ∈ F, l ∈ E (6)

A restric¸˜ao (2) assegura que, para cada enlace, a soma das demandas n˜ao ultrapassa a ca-pacidade total do enlace. O conjunto de restric¸˜oes (3) e (4) garante o roteamento de cada LSP tanto no enlace de origem quanto no enlace de destino, enquanto que a restric¸˜ao (5) assegura o roteamento de cada LSP atrav´es dos roteadores e enlaces intermedi´arios que sejam necess´arios. A restric¸˜ao (6) especifica que todas as vari´aveis de decis˜ao poder˜ao assumir valores 0 ou 1. 3. Algoritmo Opt-Ainet

A fim de avaliar o desempenho do algoritmo Copt-Ainet para a resoluc¸˜ao do problema de estabelecimento de rotas em redes MPLS, conforme proposto, foi necess´ario determinar contra quais abordagens esse desempenho seria comparado. A escolha recaiu sobre o algoritmo Opt-Ainet, por ser uma variante de SIA similar ao Copt-Opt-Ainet, e sobre uma implementac¸˜ao de Algoritmo Gen´etico, dada ser esta uma abordagem muito aplicada na literatura.

A vers˜ao do algoritmo Opt-Ainet utilizada neste trabalho pode ser vista no Algoritmo 1. Alterac¸˜oes foram feitas no algoritmo original (de Castro e Timmis, 2002) para adapt´a-lo ao problema em quest˜ao. Como o algoritmo foi desenvolvido originalmente para trabalhar com valores reais, aqui o processo de mutac¸˜ao foi alterado para processar valores em codificac¸˜ao bin´aria. Um network cell passa a ser um indiv´ıduo da populac¸˜ao que possui um valor bin´ario, o qual representa um conjunto de LSPs para uma determinada instˆancia de teste. A func¸˜ao objetivo do problema define a aptid˜ao de cada c´elula e o seu valor ´e calculado em func¸˜ao da formulac¸˜ao matem´atica do programa. Os clones s˜ao c´elulas idˆenticas da c´elula pai que sofrer˜ao mutac¸˜ao som´atica proporcional `a sua aptid˜ao.

No passo 5, o programa comec¸a com a gerac¸˜ao de um conjunto aleat´orio de c´elulas iniciais. Em seguida o programa entra em um loop que representa a evoluc¸˜ao do algoritmo. No passo 8 ´e calculada a aptid˜ao de cada c´elula da rede. Para isso cada palavra bin´aria de cada c´elula ´e avaliada atrav´es de uma func¸˜ao objetivo, que calcula o custo total para o conjunto de LSPs da rede. Neste passo tamb´em ´e calculada a aptid˜ao normalizada de cada c´elula, em func¸˜ao da

(5)

Algoritmo 1: Heur´ıstica Baseada no Opt-Ainet

Inicialize a estrutura que armazena a topologia de simulac¸˜ao;

1

Inicialize a estrutura que armazena as requisic¸˜oes de caminhos;

2

Para cada requisic¸˜ao gere k caminhos m´ınimos;

3

Codifique cada caminho em uma palavra bin´aria;

4

Inicialize aleatoriamente uma populac¸˜ao de c´elulas (o n´umero inicial de c´elulas n˜ao ´e

5

relevante);

enquanto o crit´erio de parada n˜ao ´e encontrado fac¸a

6

enquanto o erro m´edio da populac¸˜ao n˜ao ´e significativamente diferente da iterac¸˜ao

7

pr´evia fac¸a

Determine a aptid˜ao de cada c´elula e normalize o vetor de aptid˜ao;

8

Gere N clones de cada c´elula;

9

Realize a mutac¸˜ao de cada clone proporcionalmente `a aptid˜ao de sua c´elula pai,

10

mas mantenha a c´elula pai ;

Determine a aptid˜ao de todos os clones da populac¸˜ao ;

11

Para cada clone, selecione a c´elula com a maior aptid˜ao e calcule a aptid˜ao m´edia

12

da populac¸˜ao selecionada; fim

13

Determine a afinidade de todas as c´elulas da rede. Suprima todas, com excec¸˜ao das

14

com maior aptid˜ao, daquelas c´elulas cujas afinidades s˜ao menores do que o limiar de supress˜aoσs. Determine o n´umero de c´elulas de rede, chamadas c´elulas de mem´oria,

ap´os a supresss˜ao;

Introduza um percentual d de c´elulas geradas aleatoriamente;

15

fim

16

aptid˜ao da c´elula de maior valor. Este parˆametro ser´a importante na realizac¸˜ao da selec¸˜ao clonal do algoritmo.

Mantendo a c´elula pai, s˜ao gerados N clones da mesma. A quantidade de clones gerados depende da natureza do problema a ser resolvido. Os clones servir˜ao para realizar uma busca no espac¸o de soluc¸˜oes do problema e, por isso, quanto maior o espac¸o de busca mais clones ser˜ao necess´arios para o sucesso do algoritmo. O processo de gerac¸˜ao de clones consiste apenas na c´opia da c´elula pai. Deve ser ressaltado que neste ponto os valores de aptid˜ao normalizada j´a devem estar dispon´ıveis para cada c´elula.

A gerac¸˜ao dos clones ´e o primeiro passo da selec¸˜ao clonal, pois estes clones ser˜ao gerados para sofrerem mutac¸˜ao e assim explorarem novos pontos no espac¸o de busca. O processo de mutac¸˜ao utilizado foi o de bit a bit e a taxa de mutac¸˜ao varia para cada clone, de acordo com sua afinidade. Assim, o valor presente na c´elula sofrer´a uma mutac¸˜ao proporcional ao parˆametro de mutac¸˜ao global e `a sua afinidade normalizada. Isso implica que quanto maior a afinidade normalizada, menor ser´a a mutac¸˜ao sofrida pelos clones da c´elula, e isso pode ser considerado um processo de selec¸˜ao parecido com os utilizados nos algoritmos gen´eticos.

As Equac¸˜oes 7 e 8 apresentam o c´alculo do parˆametro de mutac¸˜ao da c´elula. O parˆametro

c0 ´e a c´elula clone ap´os a mutac¸˜ao, c ´e a c´elula clone inicial, N(0, 1) ´e uma vari´avel aleat´oria gaussiana de m´edia 0 e desvio padr˜aoσ = 1, β ´e o parˆametro que controla o decaimento da exponencial e f∗ ´e a aptid˜ao normalizada da c´elula clone.

(6)

c0= c +α∗ N(0, 1) (7)

α = 1

β ∗ e

− f∗ (8)

O processo de manter a c´elula pai para ser avaliada em conjunto com os clones ´e uma estrat´egia elitista. Assim, uma boa c´elula n˜ao ´e eliminada, mantendo na execuc¸˜ao uma soluc¸˜ao j´a existente.

Para cada c´elula pai s˜ao gerados N clones que sofrer˜ao mutac¸˜ao e depois devem ser avaliados atrav´es da func¸˜ao objetivo. No passo 11 ´e calculada a aptid˜ao para cada clone gerado, para que um processo de selec¸˜ao dos melhores possa ser realizado no pr´oximo passo.

No passo 12 ´e selecionado o melhor clone atrav´es da aptid˜ao da populac¸˜ao. Se a aptid˜ao do melhor clone for superior `a da c´elula pai, este clone ser´a mantido e continuar´a na pr´oxima gerac¸˜ao, tornando-se uma c´elula de mem´oria. As c´elulas de mem´oria ser˜ao mantidas nas pr´oximas gerac¸˜oes e possuem os melhores valores do processo de selec¸˜ao citado nos passos anteriores.

O processo de 7 at´e 13 se repete at´e que o erro m´edio n˜ao seja superior ao da iterac¸˜ao anterior. A cada novo processo de gerac¸˜ao de clones ´e calculada a aptid˜ao m´edia da populac¸˜ao. No passo 12 ´e calculada a diferenc¸a entre as aptid˜oes m´edias entre gerac¸˜oes subsequentes. Se a aptid˜ao m´edia for inferior ao erro de supress˜ao (parˆametro global passado no in´ıcio do programa) o programa sai do loop e continua. Caso n˜ao seja, ele retorna ao passo 6. Este loop funciona como um processo de otimizac¸˜ao local, onde tenta-se homogeneizar a populac¸˜ao para a explorac¸˜ao de uma mesma regi˜ao no espac¸o.

No passo 14, ap´os a populac¸˜ao atingir um estado est´avel, as c´elulas interagem entre si atrav´es do c´alculo da diferenc¸a de afinidades e c´elulas similares s˜ao retiradas para evitar redundˆancias. Isso ´e feito atrav´es da definic¸˜ao de um valor m´aximo, onde s˜ao mantidas c´elulas cuja a diferenc¸a de aptid˜ao seja superior a um determinado limiar. Estas c´elulas de mem´oria ficar˜ao presentes no sistema para a pr´oxima gerac¸˜ao e ser˜ao importantes por guardar os melhores valores e continuar o processo de otimizac¸˜ao.

Como no passo 14 c´elulas foram removidas da rede, e a cada nova interac¸˜ao novas c´elulas ser˜ao tamb´em removidas, ´e necess´ario inserir novas c´elulas na rede. Estas c´elulas s˜ao geradas aleatoriamente e o percentual de gerac¸˜ao ´e um parˆametro passado como opc¸˜ao do programa. Assim o processo se reinicia com um conjunto de c´elulas de mem´oria e com a adic¸˜ao de novas c´elulas aleat´orias, o que implica na adic¸˜ao de novos pontos no espac¸o de busca do problema.

O algoritmo de Opt-Ainet tem sua populac¸˜ao ajust´avel dinamicamente. A entrada de novos indiv´ıduos somente ´e permitido quando n˜ao existe melhora significativa na aptid˜ao m´edia da populac¸˜ao.

Em Campelo et al. (2006) s˜ao realizadas modificac¸˜oes no Opt-Ainet, como crit´erios de estabilizac¸˜ao parciais, inclus˜ao de um esquema espec´ıfico para trabalhar com problemas com restric¸˜oes e o uso da maturac¸˜ao hiperc´ubica, mas estas modificac¸˜oes s˜ao adequadas para pro-blemas eletromagn´eticos. Para propro-blemas de otimizac¸˜ao em redes de computadores, essas modificac¸˜oes no Opt-Ainet n˜ao s˜ao interessantes.

4. Algoritmo Cop-ainet

O algoritmo Copt-Ainet ´e uma extens˜ao do modelo Ainet, utilizado para resolver problemas de otimizac¸˜ao combinat´oria. Tem como principais diferenc¸as os passos de maturac¸˜ao fraca da

(7)

Algoritmo 2: Algoritmo Copt-Ainet

Inicializac¸˜ao: crie uma populac¸˜ao P de anticorpos aleatoriamente;

1

enquanto a condic¸˜ao de parada n˜ao seja satisfeita fac¸a

2

enquanto a instabilidade da rede fac¸a

3

Clonagem da populac¸˜ao;

4

Hipermutac¸˜ao da populac¸˜ao;

5

Aplica algoritmo de selec¸˜ao ;

6

fim

7

Supress˜ao Clonal: elimine todas as c´elulas de mem´oria em que a afinidade entre elas

8

seja maior do que um limiar s;

se a populac¸˜ao atual for menor do que o tamanho m´ınimo estipulado ent˜ao

9

Gerar novos anticorpos para completar a populac¸˜ao;

10

fim

11

se os K melhores n˜ao obtiveram melhorias nas K iterac¸˜oes ent˜ao

12

Aplicar operador de maturac¸˜ao fraca;

13

fim

14

Aplicar maturac¸˜ao intensiva nos k melhores;

15

fim

16

afinidade, maturac¸˜ao intensiva da afinidade e tamanho m´ınimo da rede. O algoritmo Copt-Ainet utilizado neste trabalho ´e mostrado no Algoritmo 2 (de Souza et al., 2004).

No Copt-Ainet, aptid˜ao e afinidade tem diferentes significados. Aptid˜ao ´e o valor de uma c´elula quando a mesma ´e submetida `a func¸˜ao objetivo, enquanto que a afinidade indica o grau de similaridade entre duas c´elulas. O conceito de afinidade ´e utilizado pelo algoritmo para regular o n´umero de c´elulas e preservar a diversidade da populac¸˜ao. A supress˜ao de c´elulas ocorre quando a afinidade entre as mesmas ´e superior a um determinado limiar.

A otimizac¸˜ao local ´e feita a cada iterac¸˜ao, atrav´es dos processos de selec¸˜ao clonal e mutac¸˜ao. A mutac¸˜ao ´e realizada de forma semelhante aos outros algoritmos, atrav´es da proporcionalidade com a aptid˜ao. No processo de clonagem, cada c´elula gera N clones e nenhuma c´elula pai tem vantagem sobre as demais. Isso contribui para a otimizac¸˜ao multimodal do algoritmo. Se algum clone tiver um valor de aptid˜ao superior ao pai, este ser´a substitu´ıdo.

Para manter a diversidade ´e aplicado um operador semelhante ao algoritmo Opt-Ainet. Ao chegar a um estado est´avel, algumas c´elulas similares s˜ao removidas da rede e isso ´e chamado de supress˜ao. Atrav´es deste operador ´e poss´ıvel manter a diversidade da populac¸˜ao.

O processo de maturac¸˜ao fraca ocorre quando nenhuma das k melhores soluc¸˜oes melhorou durante um n´umero pr´e-definido de iterac¸˜oes. Este processo de maturac¸˜ao ´e implementado atrav´es de uma busca local. J´a a maturac¸˜ao intensiva dos k melhores indiv´ıduos (maturac¸˜ao forte) ´e sempre realizada, sendo o passo final do loop de otimizac¸˜ao. Na proposta original do algoritmo (de Souza et al., 2004), tanto para a busca local na maturac¸˜ao fraca quanto na maturac¸˜ao intensiva ´e usado o procedimento de Busca Tabu (Glover, 1986).

A Busca Tabu (BT) pode ser definida como uma metaheur´ıstica sobreposta a outra heur´ıstica (Glover, 1986). BT executa buscas locais at´e encontrar um ´otimo local. Movimentos que pioram a soluc¸˜ao corrente podem ser permitidos at´e que seja poss´ıvel sair do ´otimo local. Para evitar que movimentos previamente visitados sejam explorados, as soluc¸˜oes s˜ao armazenadas em uma

(8)

mem´oria denominada lista tabu (Goldbarg e Luna, 2000; Souza, 2008).

O Greedy Randomized Adaptative Search Procedure (Grasp) (Goldbarg e Luna, 2000) ´e uma t´ecnica de busca local interativa que segue dois passos: cria uma soluc¸˜ao inicial e depois realiza uma busca local para melhorar a qualidade desta soluc¸˜ao. Computacionalmente, o Grasp ´e mais simples que o m´etodo BT, exigindo menor tempo de execuc¸˜ao.

No presente trabalho foram realizadas duas diferentes simulac¸˜oes para o algoritmo Copt-Ainet. A primeira simulac¸˜ao utilizou o algoritmo tradicional, aplicando-se Busca Tabu tanto na maturac¸˜ao fraca quanto na forte. A outra simulac¸˜ao aplicou a Busca Tabu na maturac¸˜ao fraca e o m´etodo Grasp na maturac¸˜ao forte.

5. Algoritmos Gen´eticos

Conforme j´a citado, a maioria dos trabalhos com otimizac¸˜ao de rotas em redes MPLS aplica Algoritmos Gen´eticos (AGs) para a soluc¸˜ao do problema. Isto porque os AGs em geral ofere-cem uma boa raz˜ao custo/benef´ıcio, oferecendo bons resultados a partir de uma implementac¸˜ao relativamente simples.

Algoritmos gen´eticos s˜ao m´etodos de busca e otimizac¸˜ao combinat´oria que usam como princ´ıpio a teoria da selec¸˜ao natural das esp´ecies desenvolvida por Charles Robert Darwin. A teoria da selec¸˜ao natural das esp´ecies ´e baseada na evoluc¸˜ao dos seres vivos, onde as gerac¸˜oes mais adaptadas continuam existindo enquanto as menos adaptadas desaparecem. Os Algoritmos Gen´eticos s˜ao algoritmos evolucion´arios que partem de uma populac¸˜ao inicial e evoluem atrav´es de operadores gen´eticos de selec¸˜ao, cruzamento e mutac¸˜ao.

Um Algoritmo Gen´etico pode ser definido como uma t´ecnica de busca aleat´oria direcionada, desenvolvida por (Holland, 1975) e que pode ser aplicada em diversos problemas de otimizac¸˜ao. Uma das vantagens dos Algoritmos Gen´eticos ´e que trabalham com uma populac¸˜ao de pontos simultaneamente, selecionando entre eles os melhores, podendo assim formar subpopulac¸˜oes que se distribuem em v´arias regi˜oes do espac¸o de busca, aumentando assim a probabilidade de incluirem a soluc¸˜ao ´otima global.

Neste trabalho, ap´os a realizac¸˜ao de testes preliminares com diferentes variantes de AGs, optou-se por utilizar aquela que produziu melhores resultados: Algoritmo Gen´etico com mento em dois pontos, m´etodo de selec¸˜ao por torneio, taxa de mutac¸˜ao de 1%, taxa de cruza-mento de 70% e mutac¸˜ao bit a bit com elitismo simples.

6. Topologias de Simulac¸˜ao

Os testes foram realizados em quatro diferentes topologias de rede, selecionadas de acordo com suas caracter´ısticas. A topologia carrier, apresentada na Figura 1(a), ´e uma vers˜ao modifi-cada de um backbone IP real, sendo muito utilizada em simulac¸˜oes (de Andrade Oliveira et al., 2005). A topologia 10 n´os, introduzida neste trabalho e apresentada na Figura 1(b), possui 10 n´os totalmente interconectados e oferece um cen´ario de teste com grande quantidade de enlaces e, consequentemente, muitas alternativas para a criac¸˜ao de rotas. A topologia Mesh, de seis n´os, apresentada na Figura 1(c), ´e interessante para obter resultados num´ericos para proble-mas complexos (de Andrade Oliveira et al., 2005). A topologia Dora, apresentada na Figura 1(d), foi a topologia utilizada nos trabalhos de Boutaba et al. (2002) e Dias et al. (2003), sobre estabelecimento de rotas em redes MPLS.

7. Experimentos e Resultados

Os testes foram realizados aplicando-se os algoritmos Opt-Ainet, Copt-Ainet e o Algoritmo Gen´etico selecionado em cada uma das topologias e nos cen´arios de 50, 100 e 500 LSPs. Para

(9)

(a) Carrier (b) 10 n´os

(c) Mesh (d) Dora

Figura 1: Exemplos de topologias

Tabela 1: Custo M´edio e Desvio das Instˆancias Aplicando Diferentes Algoritmos

M´etodos Mesh 10 n´os Dora Carrier

50 100 500 50 100 500 50 100 500 50 100 500 Opt-Ainet/M´edia 380,00 760,00 6860,00 250,00 500,00 5800,00 295,00 590,00 8170,00 310,00 620,00 4197,25 Opt-Ainet/Desvio 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 18,47 CoptTabu/M´edia 380,00 760,00 6860,00 250,00 500,00 5800,00 295,00 590,00 8170,00 310,00 620,00 4198,95 CoptTabu/Desvio 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 11,31 CoptGrasp/M´edia 380,00 760,00 6860,00 250,00 500,00 5800,00 295,00 590,00 8170,00 310,00 620,00 4177,50 CoptGrasp/Desvio 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 6,91 GA/M´edia 380,00 760,00 6950,80 250,00 500,00 7010,05 295,00 590,00 9295,05 310,00 620,00 4673,50 GA/Desvio 0,00 0,00 17,14 0,00 0,00 142,23 0,00 0,00 147,28 0,00 0,00 77,48

cada combinac¸˜ao de algoritmo, tipo de topologia e n´umero de LSPs, foram realizadas 100 execuc¸˜oes do mesmo teste. Os resultados computacionais s˜ao apresentados na Tabela 1.

Para 50 e 100 LSPs n˜ao houve diferenc¸a nos resultados apresentados pelos trˆes algoritmos. Nestes cen´arios deve-se escolher o algoritmo que apresenta o menor tempo de execuc¸˜ao. Neste caso o Algoritmo Gen´etico apresentou menor tempo de convergˆencia, quando comparado com o Opt-Ainet e com o Copt-Ainet (m´edia de 42% mais r´apido).

(10)

imunol´ogicos. Para 500 LSPs, na topologia Mesh o AG apresentou resultados inferiores em 1, 32%, para a topologia 10 n´os o AG apresentou piora de 21, 86%, para a topologia Dora a piora foi de 12, 07% e para a Carrier foi inferior em 10, 61% em relac¸˜ao ao algoritmo Copt-Ainet com Grasp.

Os algoritmos imunol´ogicos apresentaram entre si diferenc¸as apenas para a topologia Car-rier, quando submetida a uma carga de 500 LSPs. Utilizando o Copt-Ainet com Grasp obteve-se melhora de 0, 47% em relac¸˜ao ao Opt-Ainet e 0, 51% em relac¸˜ao ao Copt-Ainet com busca Tabu. Outro ponto a ser destacado ´e que o Copt-Ainet com Grasp apresentou menor variabilidade, quando comparado com os outros algoritmos.

8. Conclus˜oes

Os resultados obtidos neste trabalho sugerem que os algoritmos imunol´ogicos artificiais tem grande potencial de aplicac¸˜ao para problemas de roteamento em redes de computadores. Eles produziram, em cen´arios com grande n´umero de rotas, resultados superiores ao do Algoritmo Gen´etico testado. Entretanto, os Algoritmos Gen´eticos apresentam como principais vantagens em relac¸˜ao aos sistemas imunol´ogicos artificiais: a facilidade de implementac¸˜ao, a velocidade de execuc¸˜ao e a ampla aceitac¸˜ao pela comunidade cient´ıfica.

Os resultados sugerem um escopo de aplicac¸˜ao para cada tipo de heur´ıstica. Para alocac¸˜oes pr´oximas a 100 LSPs, os AGs apresentam resultados similares e maior velocidade de execuc¸˜ao. Para alocac¸˜ao acima de 100 LSPs, sugere-se a aplicac¸˜ao dos algoritmos imunol´ogicos artificiais. Em relac¸˜ao ao Copt-Ainet, com a alterac¸˜ao do m´etodo de busca local para Grasp, proposto neste trabalho, obteve-se uma pequena melhoria nos resultados em relac¸˜ao ao Copt-Ainet com Busca Tabu. Al´em da melhoria da resultado, o procedimento Grasp apresenta menor tempo de execuc¸˜ao do que a Busca Tabu.

Como trabalhos futuros pretende-se desenvolver um Algoritmo Gen´etico com busca local e fazer um estudo comparativo do mesmo com o algoritmo Copt-Ainet com busca local Grasp. Agradecimentos

Este trabalho teve o apoio da Fundac¸˜ao de Amparo `a Pesquisa do Estado de Minas Gerais, FAPEMIG.

Referˆencias

Awduche, D., Malcolm, J., Agogbua, J., O’Dell, M., e McManus, J. (1999). Requirements for Traffic Engineering Over MPLS. RFC 2702 (Informational).

Barreto, P. A. S. M. (2007). Uma metodologia de Engenharia de Tr´afego baseada na

aborda-gem auto-similar para a caracterizac¸˜ao de parˆametros e a Otimizac¸˜ao de redes multim´ıdia.

PhD thesis, Universidade de Bras´ılia.

Boutaba, R., Szeto, W., e Iraqi, Y. (2002). Dora: Efficient routing for mpls traffic enginee-ring. In Journal of Network and Systems Management, volume 10, pages 309–325. Kluwer Academic/Plenum Publishers.

Campelo, F., Guimar˜aes, F. G., Igarashi, H., Ramirez, J. A., e Noguchi, S. (2006). A modified immune network algorithm for multimodal electromagnetic problems. IEEE

Tran-sactions on Magnetics, 42(4):1111–1114.

Cuihong, H. (1997). Route selection and capacity assigment in computer communication networks based on genetic algorithms. In IEEE International Conference on Intelligent

(11)

de Andrade Oliveira, A., Ravetti, M. G., e Mateus, G. R. (2005). Traffic engineering in mpls networks: Ars - an adapatative routing scheme based on control charts. In Simp´osio

Brasileiro de Redes de Computadores, Fortaleza, Cear´a. SBC.

de Castro, L. N. e Timmis, J. (2002). An artificial immune network for multimodal function optimization. Proceedings of IEEE Congress on Evolutionary Computation.

de Castro, L. N. e Zuben, F. J. V. (2000). An evolutionary immune network for data clustering. In 6th Brazilian Symposium on Neural Networks, pages 84–89. IEEE Computer Society. de Castro, L. N. e Zuben, F. J. V. (2001). Dada Mining: A Heuristic Approach. Idea Group

Publishing, 1 edition.

de Souza, J. S., Zuben, F. J. V., de Castro Silva, L. N., e Sousa, J. S. (2004). An immune-evolutionary algorithm for multiple rearrangements of gene expression data. In Genetic

Pro-gramming and Evolvable Machines, volume 5, pages 157–179, Hingham, MA, USA. Kluwer

Academic Publishers.

Dias, R. A., Camponogara, E., Farines, J. M., e Willrich, R. (2003). Implementing traffic engineering in mpls-based ip networks with lagrangean relaxation. In Proceedings of IEEE

ISCC, pages 373–378.

Girish, M. K., Zhou, B., e Hu, J.-Q. (2000). Formulation of the traffic engineering problems in mpls based ip networks. In ISCC Proceedings of the Fifth IEEE Symposium on Computer

and Communications (ISCC 2000), pages 214–219. IEEE Computer Society.

Glover, F. (1986). Future paths for integer programming and links to artificial intelligence.

COR, 5:533–549.

Goldbarg, M. C. e Luna, H. P. L. (2000). Otimizac¸˜ao Combinat´oria e Programac¸˜ao Linear. Campus, 2 edition.

Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. MIT Press, Cambridge, MA, USA, 1 edition.

Maia, N. A. (2006). Engenharia de Tr´afego em Dom´ınio MPLS utilizando T´ecnicas de

Inte-ligˆencia Computacional. PhD thesis, Universidade Federal de Minas Gerais, Belo Horizonte.

Riedl, A. (2003). Routing Optimization and Capacity Assignment in Multi-Service Ip Networks. PhD thesis, Universidade T´ecnica de Munich.

Rosen, E., Viswanathan, A., e Callon, R. (2001). Multiprotocol Label Switching Architecture. RFC 3031 (Proposed Standard).

Souza, M. J. F. (2008). Notas de aula da disciplina inteligˆencia computacional para otimizac¸˜ao. http://www.decom.ufop.br/prof/marcone.

TRILLIUM (2005). Multiprotocol label switching (mpls).

Referências

Documentos relacionados

Buscando propor novas alternativas de fármacos que combate esta doença um grupo de sul coreanos sintetizaram e testaram in vitro e in vivo os derivados análogos da

A análise de PCA indica que para a molécula se tornar mais ativa precisa ter os valores numéricos de carga no átomo 15 aumentado, ou seja, a densidade eletrônica sobre

Diante do exposto, o objetivo deste artigo é apresentar uma caracterização pedo- geomorfológica da área seguida de uma análise temporal de uso da cobertura da terra e da

A par disso, analisa-se o papel da tecnologia dentro da escola, o potencial dos recursos tecnológicos como instrumento de trabalho articulado ao desenvolvimento do currículo, e

15, estão representados os teores médios de safrol contido em óleo essencial obtido, no decorrer do progresso de extração, da biomassa aérea de pimenta longa procedente de cultivos

II - os docentes efetivos, com regime de trabalho de 20 (vinte) horas semanais, terão sua carga horária alocada, preferencialmente, para ministrar aulas, sendo o mínimo de 8 (oito)

Para Kessides (1990 apud IPEA, 2010b), a infraestrutura contribui também para o aumento da produtividade dos fatores de produção e melhora da qualidade de vida

Com o quadro, foi possível identificar que CENNI (1991), COELHO NETO (1997), MILANESI (1997), NUÑES (2002), RAMOS (2006) e RAMOS (2008) são os autores que trazem uma série