• Nenhum resultado encontrado

ILP, algoritmo genético e caminho mínimo para projetos de redes ópticas elásticas e sua probabilidade de bloqueio

N/A
N/A
Protected

Academic year: 2023

Share "ILP, algoritmo genético e caminho mínimo para projetos de redes ópticas elásticas e sua probabilidade de bloqueio"

Copied!
42
0
0

Texto

(1)

INSTITUTO FEDERAL DO ESPÍRITO SANTO BACHARELADO EM SISTEMAS INFORMAÇÃO

HARRISON FELIPE SANCHES MACHADO

ILP, ALGORITMO GENÉTICO E CAMINHO MÍNIMO PARA PROJETOS DE REDES ÓPTICAS ELÁSTICAS E SUA PROBABILIDADE DE BLOQUEIO

Serra 2022

(2)

HARRISON FELIPE SANCHES MACHADO

ILP, ALGORITMO GENÉTICO E CAMINHO MÍNIMO PARA PROJETOS DE REDES ÓPTICAS ELÁSTICAS E SUA PROBABILIDADE DE BLOQUEIO

Trabalho de Conclusão de Curso apresentado à Coordenadoria do Curso de Bacharelado em Sistemas de Informação do Instituto Federal do Espírito Santo, Campus Serra, como requisito parcial para a obtenção do título de Bacharel em Sistemas de Informação.

Orientador: Prof. Dr. Leandro Colombi Resendo

Serra 2022

(3)

Dados Internacionais de Catalogação na Publicação (CIP)

Bibliotecária Rogeria Gomes Belchior - CRB6/ES 417

M149i

2022 Machado, Harrison Felipe Sanches

ILP, algoritmo genético e caminho mínimo para projetos de redes ópticas elásticas e sua probabilidade de bloqueio / Harrison Felipe Sanches Machado. - 2022.

40 f.; il.; 30 cm

Orientador: Prof. Dr. Leandro Colombi Resendo.

Monografia (graduação) - Instituto Federal do Espírito Santo, Coordenadoria de Informática, Curso de Bacharelado em Sistemas de Informação, 2022.

1. Programação linear. 2. Algoritmos genéticos. 3. Redes de computadores. I. Resendo, Leandro Colombi. II. Instituto Federal do Espírito Santo. III. Título.

CDD 004.6

(4)

HARRISON FELIPE SANCHES MACHADO

ILP, ALGORITMO GENÉTICO E CAMINHO MÍNIMO PARA PROJETOS DE REDES ÓPTICAS ELÁSTICAS E SUA PROBABILIDADE DE BLOQUEIO

Trabalho de Conclusão de Curso apresentado como parte das atividades para obtenção do título de Bacharel em Sistemas de Informação, do curso de Bacharelado em Sistemas de Informação do Instituto Federal do Espírito Santo.

Aprovado em 27 de junho de 2022.

COMISSÃO EXAMINADORA

_________________________________________________

Prof. Dr. Leandro Colombi Resendo (Orientador) Instituto Federal do Espírito Santo - Campus Serra

__________________________________________________

Profª. Drª. Cristina Klippel Dominicini Instituto Federal do Espírito Santo - Campus Serra

__________________________________________________

Prof. Dr. Fábio de Oliveira Lima

Instituto Federal do Espírito Santo - Campus Serra

(5)

MINISTÉRIO DA EDUCAÇÃO

INSTITUTO FEDERAL DO ESPÍRITO SANTO

SISTEMA INTEGRADO DE PATRIMÔNIO, ADMINISTRAÇÃO E CONTRATOS

FOLHA DE ASSINATURAS

Emitido em 27/06/2022

FOLHA DE APROVAÇÃO-TCC Nº 3/2022 - CMPCA (11.02.32.01.07.08) NÃO PROTOCOLADO)

(Nº do Protocolo:

(Assinado digitalmente em 27/06/2022 20:03 ) CRISTINA KLIPPEL DOMINICINI

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO SER-CGEN (11.02.32.01.08.02)

Matrícula: 2154146

(Assinado digitalmente em 27/06/2022 19:29 ) FABIO DE OLIVEIRA LIMA

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO SER-CGEN (11.02.32.01.08.02)

Matrícula: 1534604

(Assinado digitalmente em 27/06/2022 18:59 ) LEANDRO COLOMBI RESENDO

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO CMPCA (11.02.32.01.07.08)

Matrícula: 1687072

Para verificar a autenticidade deste documento entre em https://sipac.ifes.edu.br/documentos/ informando seu número: , ano: 3 2022, tipo: FOLHA DE APROVAÇÃO-TCC, data de emissão: 27/06/2022 e o código de

verificação: 2b4985f864

(6)

Este trabalho é todo dedicado aos meus pais e amigos, pois é graças aos seus esforços, amor e carinho que hoje posso concluir o meu curso.

(7)

AGRADECIMENTOS

Agradeço a minha família, por todo apoio, carinho e confiança nos momentos que eu mais precisei.

Agradeço aos meus amigos que foram meu porto seguro inúmeras vezes.

Agradeço a todos os meus professores por todo conhecimento que me passaram.

Aos Profª. Drª. Cristina Klippel Dominicini e Prof. Dr. Fábio de Oliveira Lima por aceitarem o convite para avaliar esse trabalho e pelas contribuições fornecidas.

Por fim, agradeço ao orientador Prof Dr. Leandro Colombi Resendo, por toda paciência, dedicação e por sempre ter confiado em mim. O levarei sempre como uma inspiração em minha jornada.

(8)

"Eu vou derrotar a fantasia com ciência!"

Senku Ishigami

(9)

RESUMO

Neste trabalho é investigada a influência da otimização do projeto de rede na probabilidade de bloqueio em uma rede óptica elástica. Duas abordagens de otimização foram propostas para o problema de roteamento e alocação de espectro em redes ópticas elásticas, baseadas em programação linear inteira (ILP-RSA) e baseadas em algoritmos genéticos (AG-RSA). Após sintonizar o AG-RSA proposto, minimizando o enlace mais carregado (número de slots utilizado), os resultados numéricos mostram a comparação da configuração da rede para ILP-RSA, AG-RSA e algoritmo de caminho mais curto. Além disso, cada configuração de rede obtida foi avaliada, utilizando o framework de simulação ElasticO ++. Minimizando o número de slots para o link mais carregado, os experimentos mostram que o AG-RSA pode encontrar configurações de design de rede próximas do ótimo, enquanto o roteamento de caminho mais curto tende a gerar poucos links sobrecarregados, mantendo o restante da rede subutilizado. Além disso, o caminho mais curto precisa de 31,12 % a mais de slots de frequência em cada link para alocar a matriz de tráfego. Nos resultados obtidos, o método de roteamento do caminho mais curto apresentou os melhores resultados para a probabilidade de bloqueio.

Palavras-chave: Programação Linear Inteira, Algoritmo Genético, Roteamento e Alocação de Espectro, ElasticO++, Rede Ótica Elástica.

(10)

ABSTRACT

In this work it is investigated the influence of network design optimization has on blocking probability in an elastic optical network. Two optimization approaches were proposed to routing and spectrum allocation problem in elastic optical network, based on integer linear programming (ILP-RSA) and based on Genetic Algorithmic (GA-RSA). After to tune the GA-RSA proposed, minimizing the most loaded link, the numerical results show the comparison of network configuration for ILP-RSA, GA-RSA, and shortest path algorithm. Moreover, each network configuration obtained was evaluated, using the framework of simulation ElasticO++.

Minimizing the number of slots for the most loaded link, experiments show that GA-RSA could found network design configurations close to optimal, while shortest path routing tends to generate few links overloaded keeping the remainder of network underused. In addition, shortest path needs 31,12

Keywords: Integer Linear Programming, Genetic Algorithm, Routing and Spectrum Allocation, ElasticO++, Elastic Optical Network.

(11)

LISTA DE FIGURAS

Figura 1 – Domicílios com acesso à Internet no Brasil. . . 12

Figura 2 – Diferença entre uma rede tradicional e elástica. . . 13

Figura 3 – Rede bidirecional de 6 nós. . . 19

Figura 4 – Esquematização do algoritmo genético . . . 23

Figura 5 – Roleta probabilística na seleção por roleta. . . 26

Figura 6 – Exemplificação dos duelos em uma seleção por torneio . . . 27

Figura 7 – Exemplificação do processo de elitismo . . . 28

Figura 8 – Exemplificação do processo de Crossover . . . 29

Figura 9 – Redes investigadas . . . 32

Figura 10 – Calibração do tamanho da população e número de gerações do AG-RSA para as redes de 6, 8 e 10 nós . . . 33

Figura 11 – Calibração do percentual de mutação do AG-RSA para as redes de 6, 8 e 10 nós 34 Figura 12 – Histograma de Pareto - ILP . . . 36

(12)

LISTA DE TABELAS

Tabela 1 – Comparação de aptidão para ILP-RSA Vs AG-RSA Vs Caminho mais curto 35 Tabela 2 – Simulação de probabilidade de bloqueio para ILP-RSA Vs AG-RSA Vs

Caminho mais curto . . . 35

(13)

SUMÁRIO

1 INTRODUÇÃO . . . 12

1.1 DEFINIÇÃO DO PROBLEMA . . . 13

1.2 OBJETIVOS . . . 16

1.2.1 Objetivos Específicos . . . 16

1.3 ORGANIZAÇÃO DO TRABALHO . . . 17

1.4 PUBLICAÇÕES . . . 17

2 DESCRIÇÃO DO PROBLEMA . . . 18

3 MODELO ILP (ILP-RSA) . . . 20

3.1 PARÂMETROS, VARIÁVEIS E FUNÇÃO OBJETIVO . . . 20

4 ALGORITMO GENÉTICO (AG-RSA) . . . 23

4.1 MODELO DE ENTRADA E SOLUÇÃO . . . 25

4.2 POPULAÇÃO INICIAL . . . 25

4.3 SELEÇÃO DE REPRODUTORES . . . 25

4.3.1 Seleção por roleta . . . 25

4.3.2 Seleção de torneio . . . 26

4.3.3 Seleção por elitismo . . . 26

4.4 CROSSOVER . . . 27

4.4.1 Crossover em um ponto . . . 28

4.5 MUTAÇÃO . . . 28

4.6 MANUTENÇÃO DA POPULAÇÃO . . . 29

5 SIMULAÇÃO COM ELASTICO++ . . . 30

6 EXPERIMENTOS, RESULTADOS E DISCUSSÕES . . . 32

6.1 CALIBRAÇÃO DO AG-RSA . . . 32

6.2 COMPARAÇÃO DE ABORDAGENS DE OTIMIZAÇÃO . . . 34

6.3 SIMULAÇÕES DE CONFIGURAÇÕES DE REDE . . . 35

7 CONCLUSÕES . . . 37

REFERÊNCIAS . . . 38

(14)

12

1 INTRODUÇÃO

A Internet é atualmente uma das principais fontes de distribuição de conteúdo e serviços em ambientes abertos, da qual o usuário comum vem se tornando cada vez mais um importante consumidor e fornecedor (COSTA; BIANCHINI, 2008). Tal demanda, associada à crescente dos serviços destreamingtem tornado uma tarefa difícil mapear e prever a origem do tráfego.

Além disso, o número de acesso da população brasileira a internet vem crescendo cada vez mais, atingindo 71% dos domicílios brasileiros. Em suma, 3 a cada 4 brasileiros utilizam internet.

Outro fato importante é que, dentro desses 71% dos domicílios com internet, 44% utiliza rede de fibra óptica/cabeada em sua residência. A Figura 1 demonstra, graficamente, os dados sobre o crescimento da internet no Brasil.

Figura 1 – Domicílios com acesso à Internet no Brasil.

Fonte: TIC DOMICÍLIOS 2019

Dentro desse cenário, atender essa grande demanda de tráfego, crescimento do acesso à internet e imprevisibilidade da origem do tráfego, as redes ópticas elásticas têm se mostrado uma excelente solução para os problemas de transmissão óptica. A rede óptica elástica é caracterizada por permitir uma banda de onda uniforme para uso eficiente de uma grande gama de tráfego, não obstante, uma rede óptica elástica também é caracterizada pela separação dos caminhos ópticos na rede através da utilização bandas de guarda, que é uma faixa de frequência sem uso entre dois canais para evitar interferência entre os mesmos. A Figura 2 exemplifica a diferença entre a rede tradicional e a rede elástica.

A Figura 2 (a) mostra uma alocação em uma rede WDN tradicional, onde cada caminho óptico é alocado de forma uniforme. A Figura 2 (b) mostra alocação em uma Rede Óptica Elástica, onde a largura do canal é dividida em muitas subportadoras que enviam dados independentemente (QPSK -Quadrature Phase Shift Keying- com 4 subportadoras). As subportadoras compactam bastante o domínio da frequência, assim, os sinais de cada portadora se estendem para as adjacentes. Com isso, uma das características mais importantes dessas redes é a capacidade

(15)

13

Figura 2 – Diferença entre uma rede tradicional e elástica.

Fonte: (ASSIS et al., 2013)

de crias supercanais de transmissão "juntando"faixas de frequências adjacentes, economizando banda de guarda e promovendo um mais uso do espectro óptico (CHATTERJEE; SARMA; OKI, 2015).

Desta forma, adquirimos uma grande vantagem e liberdade na distribuição do tráfego solicitado, pois possui alta eficiência espectral, permitindo a alocação do espectro de forma flexível, podendo assim fazer uma alocação de acordo com o tráfego solicitado.

1.1 DEFINIÇÃO DO PROBLEMA

A rede óptica tradicional, que utiliza tecnologiaWavelength Division Multiplexing(WDM), é caracterizada por dividir a largura de banda de uma fibra óptica em vários canais de comprimento de onda não sobrepostos, dentro de uma faixa de frequência fixa. Com esse conjunto fixo de canais, as redes que usam a arquitetura WDM geralmente precisam atribuir canais maiores do que as demandas. Assim, frequentemente a rede WDM tem canais subutilizados. Tentando oferecer flexibilidade, as redes WDM podem ser projetadas usando três estratégias: transparente, opaca e translúcida, dependendo da arquitetura do nó utilizada (CERCóS L. C. RESENDO;

MONROY, 2015).

Atualmente, para superar as desvantagens da tecnologia WDM, uma nova arquitetura de rede óptica foi projetada e tem sido aprimorada nos últimos anos, que é denominada rede óptica elástica (elastic optical network - EON)(CAPUCHO; RESENDO, 2013). Uma EON usa a tecnologia OFDM (do inglês Orthogonal Frequency Division Multiplexing), que fornece o potencial de alocar espectro para caminhos ópticos de acordo com a largura de banda exigida pelos clientes (BANDIRI SYM, 2020). Na tecnologia EON, o espectro óptico é dividido em centenas de pequenas fatias de frequência. Assim, cada demanda de conexão pode solicitar um conjunto de fatias, que podem formar um subcanal (uma fatia, por exemplo) ou um supercanal (usando 16 fatias, por exemplo).

(16)

14

Em redes ópticas WDM, as demandas de tráfego costumavam ser de velocidade mais baixa do que os canais oferecidos por esta arquitetura. Portanto, para melhorar o uso da frequência óptica, é necessário processar as demandas eletronicamente para preparar múltiplos tráfegos de baixa velocidade em canais de alta capacidade. No entanto, esta estratégia impõe custos adicionais para instalação e operação da rede, chamados de Capex ( do inglêsCapital Expenditure) e OpEx operacional (do inglêsOperational Expenditure). Para a gerência e arrumação do tráfego nesse contexto, é definido o problema de GRWA (do inglêsTraffic Grooming, Routing and Wavelength Assignment), que é o problema de como “arrumar” a solicitação de conexão de baixa velocidade para caminhos de ópticos de alta capacidade, escolher um conjunto de enlaces para estabelecer a conexão entre os nós de origem e destino, e selecionar o comprimento de onda que será usado.

Analogamente, na EON também é necessário otimizar o uso de recursos, portanto, o problema de Roteamento e Alocação de Espectro (Routing and Spectrum Allocation, RSA) tem sido investigado por diversos trabalhos. O problema RSA é definido quando, dada uma topologia de rede óptica elástica e um conjunto de demandas de tráfego, é necessário encontrar uma rota para cada demanda de tráfego e alocar um número de slotsde espectro necessário, de forma que a utilização do espectro seja otimizada (P. REDDY; DE, 2020). Também considerando o processamento eletrônico, nos nós de uma rede óptica elástica, é possível definir caminhos ópticos translúcidos e usar as demandas de concatenação eletrônica. Esse problema é chamado de problema da Arrumação de Tráfego, Roteamento e Alocação de Espectro (Grooming, Routing and Spectrum Allocation, GRSA) (RESENDO, 2015). Além disso, quando RSA trata da atribuição do formato de modulação é definido o Problema de Roteamento, Modulação e Alocação de Espectro (Routing, Modulatio and Spectrum Allocation, RMSA)(ABKENAR FOROUGH RAHBAR, 2016).

Com uma pesquisa sobre o problema de RSA, em Chatterjee e Oki (2015) foi investigado diferentes métodos para encontrar boas soluções para esse problema, incluindo suas vantagens e desvantagens. Nesse trabalho, são apresentados vários aspectos, como fragmentação, modulação, qualidade de transmissão, preparação de tráfego, capacidade de sobrevivência, economia de energia e custo de rede relacionado ao RSA. Além disso, o artigo explora as demonstrações experimentais que testaram a funcionalidade da rede óptica elástica. Comparando RSA e RMSA, Shirin Abkenar e Ghaffarpour Rahbar (2017) apresentaram os principais algoritmos para otimizar esses problemas, considerando diferentes funções objetivo e restrições. O trabalho investiga algoritmos para otimizar problemas de projeto de rede usados, separando os métodos em duas categorias; (1) algoritmos que suportam tráfego estático, para projeto de rede e (2) algoritmos que suportam tráfego dinâmico.

Um projeto de rede geralmente consiste na determinação dos nós e links que precisam ser instalados e qual é o equipamento a ser adquirido para atender as tráfego enquanto minimiza os gastos de capital da rede (CAPEX). Além disso, no projeto de uma rede, é comum definir sua

(17)

15

topologia física e estimar uma demanda de tráfego pré-definida, que pode ser tanto com base no número de habitantes de cada região atendida pelos nós da rede, quanto estimar a recursos necessários para atender essa demanda. Ainda dentro do projeto de rede, o cenário de tráfego estático é quando o o conjunto de requisições de chamadas é conhecido antecipadamente, e o objetivo principal é minimizar o número de recursos necessários para estabelecer um conjunto predefinido de solicitações de chamadas para um determinado topologia física da rede. O tráfego dinâmico, um caminho de luz é configurado para cada solicitação de chamada assim que chega, e o caminho de luz é liberado após uma quantidade finita de tempo. (VELASCO et al., 2017) Para o cenário de tráfego estático, os algoritmos são divididos em dois métodos; abordagens exatas, como programação linear inteira (integer linear programming - ILP), e heurísticas, como algoritmo genético, colônia de formigas e outras (CAPUCHO; RESENDO, 2013). A principal função objetivo desses métodos, encontrada na literatura, em um cenário de tráfego estático é a minimização do número deslotsde frequência utilizados. Porém, outras métricas e características do problema podem ser encontradas. Por exemplo, P. Reddy e De (2020) investigaram as demandas de tráfegomulticastem EON, comparando a abordagem da árvore de Steiner para RSA com o roteamento baseado em árvore do caminho mais curto e alocação de espectro. Investigando proteção dedicada para redes ópticas flexíveis, Xavier et al. (2017) propuseram uma alocação das demanda usando um par de caminhos mínimos e considerando continuidade e contiguidade (Spectrum Continuity and Contiguity based Shortest Path, SCCSP).

O método criou rotas de enlaces disjuntos para o mecanismo de proteção para capacidade de sobrevivência de falha de link. Procurando reduzir o consumo de energia, Bandiri SYM (2020) apresentaram os métodos denominados Modulação e Codificação Adaptativa, que minimizam o consumo de energia mantendo como restrições a qualidade de serviço (QoS) e a qualidade de transmissão (QoT).

Levando em consideração o tráfego dinâmico, Xiong et al. (2019) propôs um método de aprendizado de máquina para economia de energia em redes ópticas elásticas. Os autores usaram uma máquina de aprendizado extremo de sequência online para prever a carga de tráfego nos caminhos ópticos e reconstruir um modelo de energia contendo componentes de consumo de energia em toda a rede, de modo a reduzir o consumo de energia. No problema RSA para EON, as conexões são dinamicamente configuradas e interrompidas, o que causaria muitos fragmentos de espectro. Portanto, podem ser encontrados trabalhos investigando o Problema de Fragmentação de Espectro em EON. Em Yousefi, Ghaffarpour Rahbar e Yaghubi-Namaad (2019) são propostos seis algoritmos para lidar com o problema de fragmentação e melhorar a probabilidade de bloqueio. Nesses métodos, uma demanda de conexão é dividida em vários tamanhos para ser configurada em várias rotas. Ao fornecer essa oportunidade na alocação e atribuição de espectro, a probabilidade de bloqueio de conexão é reduzida.

Comumente, os trabalhos que lidam com matrizes de tráfego estático propõem abordagens para

(18)

16

o de otimização de redes usando diferentes métricas para projetos de redes, como minimização deslots, consumo de energia, etc. No entanto, devido ao escopo dos trabalhos, eles costumavam negligenciar o impacto do projeto de rede proposto em um cenário dinâmico, que analisaria a vazão do tráfego e probabilidade de bloqueio. Por outro lado, trabalhos que investigam cenários de rede dinâmica usualmente desconsideram o projeto da rede. Considerando uma dada topologia de rede e arquitetura de nós, os trabalhos propõem métodos dinâmicos usados para analisar seu desempenho, pela probabilidade de bloqueio.

Com uma solução de compromisso entre esses dois cenários de rede, estático e dinâmico, este trabalho propõe uma investigação sobre a influência da estratégia de roteamento de tráfego, gerada por uma abordagem de projeto de rede, na probabilidade de bloqueio. No trabalho são propostas duas abordagens para otimização de uma projeto de redes EON, um modelo ILP (ILP-RSA), que tem como contribuição a utilização da banda de guarda, e um algoritmo genético (GA-RSA), para obter um esquema de roteamento minimizando o número deslotsusados. Além disso, um roteamento usando o caminho mínimo também foi usado como referência, para a comparação das duas estratégias (ILP-RSA e GA-RSA).

Em seguida, esses três esquemas de roteamento, obtidos por uma abordagem ótima exata, uma heurística usando algoritmo genético e o caminho mais curto, foram avaliados em um simulador de redes ópticas elásticas, medindo a probabilidade de bloqueio. Para avaliar cada solução de roteamento, modificamos o módulo de roteamento do simulador ElasticO ++ (TESSINARI et al., 2016). Os resultados numéricos mostram que ambas as abordagens de otimização propostas podem encontrar uma boa configuração de rede, mas o roteamento pelo caminho mínimo encontrou a melhor probabilidade de bloqueio. No entanto, o algoritmo do caminho mais curto tende a gerar uma configuração de rede injusta, sobrecarregando alguns links e mantendo o restante da rede subutilizado.

1.2 OBJETIVOS

Simular o comportamento e a probabilidade de bloqueio de métodos de roteamento em redes ópticas elásticas e avaliar comparativamente os resultados obtidos por métodos de otimização exato (com modelo ILP) e heurístico (como Algoritmo Genético).

1.2.1 Objetivos Específicos

• Implementar um algoritmo genético para a otimização de projetos de redes ópticas elásticas, minimizando o número deslotsusados

• Propor um modelo ILP para o mesmo problema e implementá-lo nosoftwarede otimização CPLEX.

(19)

17

• Fazer alterações no módulo de roteamento do ElasticO++, fazendo com que o simulador seja capaz de aceitar e processar tabelas de roteamento externos.

• Fazer alterações no módulo de geração de demandas do ElasticO++ a fim de captar essas demandas para geração de matrizes de tráfego estáticas

• Realizar experimentos computacionais para a otimização de projetos de redes EON e simular os resultados no Elástic0++.

1.3 ORGANIZAÇÃO DO TRABALHO

O trabalho está dividido em 7 capítulos. O Capítulo 1 contém a introdução do trabalho. O Capítulo 2 contém a descrição do problema e referenciais teóricos para entendimento do mesmo.

O Capítulo 3 apresenta a descrição completa do modelo ILP utilizado. O Capítulo 4 apresenta a descrição do algoritmo genético e como foi feita a sua implementação; O Capítulo 6 contém a descrição dos experimentos, resultados obtidos e discussões. Por fim, no Capítulo 7 é apresentada a conclusão do trabalho.

1.4 PUBLICAÇÕES

Este trabalho tem como fruto o artigo intitulado "ILP, Algoritmo Genético e Caminho Mínimo para o Roteamento e Alocação de Espectro em Redes Ópticas Elásticas e suas Probabilidades de Bloqueio", publicado nos anais do Simpósio Brasileiro de Pesquisa Operacional (SBPO) 2021.

(20)

18

2 DESCRIÇÃO DO PROBLEMA

Os autores em (JINNO et al., 2009) e (Jinno et al., 2010) descreveram os conceitos de redes ópticas elásticas, apresentando a arquitetura dessa redes. Além disso, nestes trabalhos foram destacadas as diferenças entre as redes ópticas elásticas e WDM, considerando a arquitetura dos nós da rede, e seus tipos de transponders.

Nas redes elásticas é possível concatenar slots de frequência contíguos para criar canais personalizando o tamanho da largura de banda, sendo possível criar supercanais, com até 1 Tbs, ou subcanais, menores que 40 Gbs. A acomodação de subcomprimentos de onda pode ser obtida no domínio óptico usando subportadoras que possuem uma taxa de dados mais baixa do que um comprimento de onda de redes WDM. Para demandas de tráfego de taxas mais altas, os caminhos do espectro podem ser criados atribuindo várias subportadoras (faixas de frequências ópticas) consecutivas, usando a banda de guarda de separação dos canais para a transmissão de dados (Wang et al., 2012). Por outro lado, a tecnologia de canais WDM, que cria canais de comprimento de onda fixos com 40 Gbs, 100 Gbs ou 400 Gbs.

O problema RSA apresentado neste trabalho leva em consideração a restrição de continuidade de frequência, onde o mesmo conjunto de subportadoras deve ser usado ao longo do caminho para atender a uma solicitação. Além disso, a tecnologia OFDM requer que um dado caminho do espectro deve ser alocado usando sub-portadoras consecutivas no domínio do espectro, para ser efetivamente modulado (Wang; Cao; Pan, 2011). Essa restrição é chamada de contiguidade de espectro (XAVIER et al., 2017). No problema RSA, dado um conjunto de demandas, o objetivo é encontrar caminhos ópticos ponta-a-ponta e atribuir o número solicitado deslotsde frequência (FS’s), de forma contígua sem sobreposição (Klinkowski; Walkowiak, 2011). Então, o problema considera o roteamento como uma decisão conjunta de caminho e frequência. Portanto, cada conexão pode ser interpretada como um conjunto de números sequências identificando osslots, que devem ser separados de qualquer outra conexão por pelo menos umslot, chamado banda de guarda (Christodoulopoulos; Tomkos; Varvarigos, 2010)(ESTEBAN et al., 2013).

A Figura 3 ilustra 7 demandas em uma rede bidirecional de 6 nós e suas respectivas alocações.

Além disso, o vetor direcional entre os nós representa osslotsdisponíveis, indexados de 0 a 10. Esta figura mostra que as demandas devem ser alocadas em FS’s na mesma posição para todos os caminhos ópticos, ou a demanda será bloqueada (como ocorre com a demanda de 4 slotsentre os nós 2 e 4), conforme descrito no problema do RSA. As demandas bloqueadas são aquelas que não podem alcançar o nó de destino sem sobrescrever outro. Além disso, este trabalho trata e tem como contribuição a utilização da banda de guarda como mais umslotem cada solicitação, representada na figura por um slot cinza. Por exemplo, a variávelC1,01,3=1 indica que a solicitação de 1 a 3 é atendida pela rota 1 e o primeiroslotpara esta demanda é 0, e a variávelX5,2,4=1 indica que oslot4 do enlace (5,2) está sendo usado. Essas variáveis serão devidamente definidas no próximo capítulo, onde será apresentado o modelo de programação

(21)

19

linear inteira mista usado nesse trabalho. Além disso, observe que desconsiderando a banda de guarda será possível atribuir a solicitação entre os nós 2 e 4.

Figura 3 – Rede bidirecional de 6 nós.

Fonte: Criado pelo autor.

É bem sabido que a estratégia de roteamento influencia o desempenho da rede, principalmente a probabilidade de bloqueio. Este trabalho investiga uma solução entre esquemas de roteamento para otimizar o uso deslotsde frequência e a probabilidade de bloqueio dentro da rede. Três métodos são analisados: um método ótimo, por um modelo ILP; uma heurística, por um algoritmo genético; e o caminho mais curto, pois é um método amplamente encontrado em dispositivos de rede. Posteriormente, a topologia, a tabela de roteamento e a matriz de tráfego são simuladas no framework ElasticO ++. Os resultados mostram o impacto da otimização de recursos de rede na probabilidade de bloqueio das solicitações.

(22)

20

3 MODELO ILP (ILP-RSA)

Neste capítulo é detalhado o modelo matemático proposto para a obtenção do esquema de roteamento. A função objetivo utilizada foi a minimização do número deslotsno enlace mais carregado, chamado de congestionamento. Este modelo foi apresentado anteriormente por (CAPUCHO; RESENDO, 2013), porém o trabalho negligenciou a alocação de banda de guarda.

Conforme ilustrado na 3, a alocação da faixa de guarda pode influenciar a atribuição de demandas.

Para nosso modelo ILP proposto, em uma rede de topologia em malha, as solicitações da matriz de tráfego devem ser roteadas sem divisão de tráfego e sujeitas às restrições de continuidade e contiguidade na alocação dosslotsde frequência.

3.1 PARÂMETROS, VARIÁVEIS E FUNÇÃO OBJETIVO

A seguir é apresentado a descrição do modelo ILP utilizado nesse trabalho.

Parâmetros

• N: conjunto de nós da rede,s,d,i,j∈N. Onde|N|é o número de nós. Além disso,sed são usados para trafegar os nós de origem e destino, respectivamente;

• F: conjunto deslotsde frequência,k,f ∈F; OndeF é o número total deslotsdisponíveis em cada link;

• Rsd: conjunto de rotas entre os nóssed,r∈Rsd:;

• GB:slotusado para banda de guarda;

• E[i][j]: a matriz de adjacência (que pode ser composta por conexões físicas e / ou lógicas);

• tra f[s][d]: Matriz de tráfego. É considerada uma demanda como um número de solicitação deslot de frequência, então cada demanda na matriz de tráfego é uma solicitação de uma quantidade deslotde frequência;

• δi j,rsd : É um binário definido como 1 caso o enlace ij seja usado na rota r para atender à demandasd e zerado caso contrário. O Algoritmo de Yen é empregado a fim de gerar um conjunto com todos os caminhos K-mais curtos (contagem de saltos) entre os nós (YEN, 1971). Além disso, cria o conjunto de rotasRsd;

Variáveis

(23)

21

• Xi j,k: é uma variável binária que indica o uso de um intervalo de frequência em um link, e é igual a 1 se o intervalo de frequênciakfor usado no linki je 0 em caso contrário;

• Csdr,f: é um binário, 1 se o slot de frequência f é o primeiro slot reservado para atender a solicitaçãosdna rotar, e zero caso contrário.

• M: Número deslotsusados no link mais carregado;

Função objetivo

Min:M (1)

Restrições

r∈R

sd

f∈F

Cr,sdf =1∀s,d∈N (2)

A Expressão 2 garante que cada demanda terá um e apenas um “primeiroslotde frequência”.

Cr,sdf ≤Xi j,k;





f ={1, ...,|F| −tra f[s][d]−GB};

k={f, ...,f−tra f[s][d]};

∀s,d∈N:s6=d;r∈Rsd;i,j∈N:E[i][j] =1;

(3)

A Expressão 3 garante que o primeiroslot, para cada demanda, não pode exceder a quantidade máxima de slotsde frequência menos a quantidade deslot exigida pelo sd de demanda. Em outras palavras, devido à restrição de continuidade doslot de frequência, o primeiroslot não deve ser maior que a posição doslot(N−tra f[s][d]−G).

sd∈N

∑ ∑

r∈Rsd

f∈F

δi j,rsd ×Cr,sdf ≤Xi j,k;

( ∀k∈F :k≥ f and

k≤ f+tra f[s][d] +GB (4)

A Expressão 4 atribui a quantidade deslotssolicitados pelo sd de demanda nas frequências disponíveis em cada link ao longo das rotas, incluindo a banda de guarda (GB). Além disso, essa expressão garante a restrição de continuidade doslotde frequência.

k∈F

Xi j,k≤M; ∀i,j∈N:E[i][j] =1; (5)

A Expressão 5 garante que o slot total usado em um link i j não deve exceder a quantidade máxima permitida.

(24)

22

O modelo tem|N|2× |Rsd| × |F|+|N|2× |F|variáveis de decisão binárias, correspondendo a Cr,sdf eXi j,krespectivamente, e 1 variável de decisão inteira (M). Como exemplo, a variável binária Xi j,k deve indexar a combinação de cada par de nós(|N|2)com cada slot de frequência (|F|), e então temos(|N|2)×(|F|)variáveis. Além disso, o modelo tem 2× |N|2+|N|4× |Rsd|+|F|

restrições. Como exemplo, o número de equações no conjunto de Restrições (1) depende do número de nóssed∈N, portanto, esta expressão tem|N| × |N|igualdades.

(25)

23

4 ALGORITMO GENÉTICO (AG-RSA)

Para obter soluções heurísticas para o problema de RSA, nesse trabalho é proposto um algoritmo genético (AG). O conceito básico de um AG é a ideia de seleção natural de Charles Darwin.

Portanto, o algoritmo simula processos naturais de sobrevivência, reprodução de populações e sua capacidade de manter boas características da população, presentes em sua evolução (GOLDBERG’S, 1989). Assim, após criar uma população inicial (um conjunto de soluções) alguns indivíduos são selecionados para reproduzir, mesclando a característica de dois indivíduos, gerando novos elementos. Em seguida, tentando explorar características diferentes daquelas encontradas na população inicial, algumas soluções são selecionadas para alterar uma característica de forma aleatória. Esse processo é chamado de mutação. Por fim, os indivíduos são selecionados, por meio de uma função de aptidão, para manter o número de soluções na população. Este processo é ilustrado na Figura 4

Figura 4 – Esquematização do algoritmo genético

Fonte: Criado pelo autor.

Para a implementação desses processo, foi utilizada a linguagem python. O diretório da

(26)

24

implementação contém 4 arquivos: Genetic_Algorithm.py, individuo.py, link.py e rota.py. O arquivo Genetic_Algorithm.py contém os processos principais do AG. Ele tem a responsabilidade de ler os dados de entrada, preparar as estruturas de dados utilizadas nos processos e executar a esquematização descrita na Figura 4. O arquivo individuo.py contém a classe responsável pelos indivíduos do AG, onde um desses indivíduos será a solução do problema. A classe contém os atributos cromossomos, quantidades_slots_ocupados e "alocacao". O atributo cromossomos descreve os cromossomos do individuo, ou seja, É onde contém as configurações das rotas e os links que fazem parte daquele individuo. A configuração do cromossomo definirá a aptidão do individuo em ser uma boa solução ou não. O atributo quantidades_slots_ocupados representa a quantidade deslotsocupados da rede caso ela utilizasse o roteamento disposto nas configurações do cromossomo do individuo. O atributo "alocacao"representa as alocações feitas na rede.

c l a s s I n d i v i d u o :

d e f _ _ i n i t _ _ ( s e l f , cromossomos , q u a n t i d a d e _ s l o t s _ o c u p a d o s , a l o c a c a o ) : s e l f . c r o m o s s o m o s = c r o m o s s o m o s

s e l f . q u a n t i d a d e _ s l o t s _ o c u p a d o s = q u a n t i d a d e _ s l o t s _ o c u p a d o s s e l f . a l o c a c a o = a l o c a c a o

Código 4.1 – Classe Individuo

O arquivo link.py contém a classe responsável pelos links da rede. Ela contém os atributos origem, destino, "ocupacao"e "alocacoes". O atributo origem descreve qual é a origem do link.

O atributo destino descreve qual é o destino do link. O atributo "ocupacao"descreve o estado de ocupação do link, por fim, o atributo "alocacoes"contém as alocações feitas naquele link.

c l a s s L i n k :

d e f _ _ i n i t _ _ ( s e l f , o r i g e m , d e s t i n o , c a p a c i d a d e , o c u p a c a o , a l o c a c o e s ) : s e l f . o r i g e m = o r i g e m

s e l f . d e s t i n o = d e s t i n o s e l f . o c u p a c a o = o c u p a c a o s e l f . a l o c a c o e s = a l o c a c o e s

Código 4.2 – Classe Link

O arquivo rota.py contém a classe responsável pelas rotas utilizadas no AG. A classe contém os atributos origem, destino, links e id. O atributo origem descreve qual é a origem da rota. O atributo destino descreve qual é o destino da rota. O atributo links é uma lista composta por objetos da classe Link, descrita anteriormente. E o atributo id é o identificador da rota.

c l a s s R o t a :

d e f _ _ i n i t _ _ ( s e l f , o r i g e m , d e s t i n o , l i n k s , i d) : s e l f . o r i g e m = o r i g e m

s e l f . d e s t i n o = d e s t i n o s e l f . l i n k s = l i n k s s e l f .i d = i d

Código 4.3 – Classe Rota

(27)

25

4.1 MODELO DE ENTRADA E SOLUÇÃO

O algoritmo recebe como entrada uma topologia de rede, com uma matriz de adjacência, e uma matriz de tráfego, com as demandas da rede. Assim, o primeiro passo é gerar o conjunto de rotas possíveis para cada demanda, que são calculadas usando o algoritmo de Yen (YEN, 1971). Os indivíduos são modelados por meio de uma matriz de inteiros, onde o númerokna posição na posiçãosdrepresenta o índice de rota utilizado para atender a demanda entre os nóssed. Este valor é denominado genesd. Então, a população é representada por um conjunto de matrizes.

4.2 POPULAÇÃO INICIAL

A inicialização da população é a base para o funcionamento do algoritmo pois determina o processo de criação dos indivíduos para o primeiro ciclo do algoritmo. Comumente, a população inicial é formada a partir de indivíduos de forma aleatória, indo de encontro com a esquematização da solução proposta pelo GA. Não obstante, quanto se conhece, a principio, o valor de bons cromossomos como sendo uma boa solução. Populações iniciais aleatórias podem ser preenchidas com bons cromossomas para uma evolução mais rápida. A população para iniciar o processo do algoritmo é formada porα indivíduos, como ilustrados na Figura 4.

Como parte da calibração da heurística, melhor valor paraα no problema investigado é analisado no Capítulo 6. O caminho mais curto é uma rota amplamente usada para proteger recursos de rede, como frequência de slots. No entanto, uma solução utilizando apenas o caminho mais curto para cada demanda tende a gerar gargalos nos enlaces. Para evitar esse fenômeno, as rotas escolhidas para demandas dos indivíduos da população inicial foram escolhidas de duas formas.

Selecionadas aleatoriamente, 30% das demandas utilizam o caminho mais curto e as rotas para o restante das demandas são escolhidas aleatoriamente. Para a alocação do conjunto de slots solicitados para cada demanda foi utilização o algoritmofirst-fit.

4.3 SELEÇÃO DE REPRODUTORES

O processo de seleção de reprodutores tem a responsabilidade de selecionar os melhores indivíduos daquela geração para o processo de crossover. Alguns métodos de seleção são apresentados a seguir.

4.3.1 Seleção por roleta

A seleção da roleta é uma das técnicas tradicionais de seleção do GA. A roleta é a técnica de seleção mais simples. (LATA; YADAV; SOHAL, 2017) Nesta técnica, todos os indivíduos da população são colocados na roleta de acordo com seu valor de aptidão. A cada indivíduo é atribuído um segmento de roleta cujo tamanho é proporcional ao valor da aptidão do indivíduo.

(RAZALI; GERAGHTY, 2011) A Figura 5 exemplifica a distribuição de indivíduos de uma população x dentro da roleta.

(28)

26

Figura 5 – Roleta probabilística na seleção por roleta.

Fonte: Criado pelo autor.

Como mostrado na Figura 5, o individuo representado com a cor azul detém a maior parte (porcentagem) da roleta, pois apresentou um valor de aptidão maior que o restante da população.

4.3.2 Seleção de torneio

A seleção de torneio consistem em realizar um torneio entre n competidores, sendo n o tamanho do torneio. O vencedor do torneio é o indivíduo com a maior aptidão dos competidores do torneio (LATA; YADAV; SOHAL, 2017). O número de indivíduos participantes do torneio deve ser maior ou igual a 2.

A Figura 6 exemplifica como ocorrem os duelos na seleção por torneio em um grupo de 4 indivíduos.

Na Figura 6 foram selecionados, aleatoriamente, 4 indivíduos: W, X, Y e Z para a realização de 2 duelos, a fim de determinar os dois melhores para o processo decrossover. Como podemos observar, o primeiro duelo é realizado entre o indivíduos W e indivíduos X, tendo como vencedor o indivíduo X (maior aptidão). Já o segundo duelo é realizado entre o indivíduo Y e Z, tendo como vencedor o indivíduos Y. Assim, os dois vencedores X e Y serão os escolhidos para o processo decrossover, a fim de gerar novos induviados para a população.

4.3.3 Seleção por elitismo

Ao criarmos novas populações, corremos o risco de perdemos alguns bons indivíduos devido ao processo de seleção utilizado. A fim de garantir a preservação e a continuidade desses bons indivíduos nas próximas gerações, é utilizado o método de elitismo. A seleção por elitismo consiste em priorizar e repassar um grupo dos nmelhores indivíduos de uma geração para a

(29)

27

Figura 6 – Exemplificação dos duelos em uma seleção por torneio

Fonte: Criado pelo autor.

geração seguinte. Ou seja, parte nova geração receberá essesnmelhores indivíduos e o restante será composto por algum outro método de seleção, como torneio ou roleta.

A ideia básica do elitismo já foi introduzida. Quando criamos uma nova população por cruzamento e mutação, nós temos uma grande chance de perder os melhores cromossomas.

Elitismo é o nome do método que primeiro copia os melhores cromossomas para a nova população. O resto da população é construída das formas descritas acima. Elitismo pode aumentar rapidamente o desempenho do AG, porque previne a perda da melhor solução já encontrada. A Figura 7 exemplifica esse processo de elitismo, onde os indivíduos B e C, representando uma porcentagem da população inicial, são separados para fazerem parte da nova população, de forma direta (sem sofrer mutação ou passar por um processo decrossover, por exemplo), pois apresentaram uma melhor aptidão em relação aos demais indivíduos.

Para a seleção dos reprodutores, nesse trabalho foi utilizada a seleção por torneio (GOLDBERG’S, 1989). A função de aptidão utilizada é a mesma apresentada em nossa função objetivo do modelo ILP-RSA, pelas Expressões 1 e 5. A função de aptidão avalia o melhor reprodutor em um duelo entre dois indivíduos selecionados aleatoriamente na população. Este processo selecionaráβ porcentos de indivíduos para o processo de cruzamento. A indicação do parâmetroβ no sistema está apresentada na Figura 4.

4.4CROSSOVER

O Crossover é o principal mecanismo para a troca de informação entre indivíduos. é através desse processo que novos indivíduos são gerados com novas informações e, consequentemente, novas soluções. Esse processo acontece após o processo de seleção dos melhores indivíduos de uma população. Existem diversos tipos de crossovers na literatura, alguns deles serão apresentados a

(30)

28

Figura 7 – Exemplificação do processo de elitismo

Fonte: Criado pelo autor.

seguir.

4.4.1 Crossover em um ponto

Nesse processo, após selecionar aleatoriamente dois indivíduos, um ponto é escolhido, também aleatoriamente, para dividir a solução em duas partes. Em seguida, dois novos indivíduos terão seus cromossomos compostos pela primeira metade dos cromossomos do primeiro reprodutor e o restante pelos cromossomos do segundo reprodutor. Os novos indivíduos gerados são descendentes da população inicial e formarão uma nova geração de indivíduos. No processo de manutenção da população, as soluções serão avaliadas e selecionadas para compor a nova geração. A Figura 8 ilustra esse processo.

4.5 MUTAÇÃO

Mutação é uma alteração, natural ou induzida por algum agente mutagênico, que ocorre no genoma (material genético do organismo ou vírus). Ela pode ocorrer tanto em células somáticas

(31)

29

Figura 8 – Exemplificação do processo de Crossover

1 0 1 1 1 1

0 1 1 1 0 0

1 0 1 1 0 0

0 1 1 1 1 1

INDIVIDUO 1 INDIVIDUO 2

DESCENDENTE 1 DESCENDENTE 2

Ponto de corte escolhido aleatoriamente

Fonte: Criado pelo autor.

como em células germinativas, podendo, assim, ser herdada. As mutações são as principais fontes de variabilidade genética, influenciando diretamente o processo de evolução dos seres vivos. Podem ser classificadas de acordo com o lugar onde ocorrem e efeitos causados. A mutação pode ser Molecular, onde afeta um nucleotídeo ou um grupo de nucleotídeos do DNA;

Cromossômica, que ocorre em mais de um gene, afetando, assim, a estrutura do cromossomo;

Ou Genômica, que altera o conjunto do genoma, podendo afetar o número total de cromossomos ou os cromossomos presentes nos pares de forma individual.

Diante disso, neste processo do GA, o processo de mutação ocorre quando uma solução é selecionada aleatoriamente e sua característica é alterada também aleatoriamente. A mutação será feita em µ por cento da população, analisada na Seção 6.

4.6 MANUTENÇÃO DA POPULAÇÃO

ApósCrossovere mutação os indivíduos são avaliados pela função defitness. A função fitness fornece como saıda o melhor indivíduo encontrado apos o processo evolutivo. (REFERENCIAR).

Assim, os melhores indivíduos, resultantes do fitness, irão compor a nova geração. Isto é feito, de forma a manter o mesmo número de elementos da população inicial. Esse processo é repetido e cada iteração, como a sua população, é chamada de geração. Nesse trabalho, o critério de parada usado no algoritmo foi o número de gerações,λ. Quando o critério de parada é alcançado, o algoritmo retorna o melhor indivíduo encontrado. Por fim, a análise do valor ideal para o número de gerações está descrita no Capítulo 6

(32)

30

5 SIMULAÇÃO COM ELASTICO++

Para simular os resultados obtidos através do ILP-RSA e do GA-RSA foi utilizado o ElasticO++, um framework criado para permitir o teste de uma ampla gama de roteamentos, modulação, atribuição de espectro e algoritmos de desfragmentação, parâmetros e topologias em redes ópticas elásticas(TESSINARI et al., 2016). Porém, para inserir um política de roteamento específica foi necessário criar um método para alterar os roteamentos pré-existente no sistema. A modificação foi feita no módulo de roteamento, que é responsável por criar, verificar e selecionar as rotas utilizadas pelo ElasticO++.

Em princípio, o ElasticO++ só utiliza um roteamento advindo de diversos algoritmos incluídos dentro do sistema, impossibilitando a utilização de roteamentos externos. Dessa forma, este trabalho teve como contribuição no ElasticO++ a possibilidade de permitir a utilização de roteamentos externos. Em especifico, é feita uma alteração na função KShortestPaths para que função deixe de utilizar o seu próprio roteamento e passe a utilizar o roteamento obtido através dos resultados do ILP-RSA e do GA-RS. As rotas geradas pela função são inseridas em uma tabela de rotas, na qual será usada para consulta de quais rotas podem ser acessadas pela topologia de rede. O código 5.1 apresenta o código original da função KShortestPaths.

v o i d K S h o r t e s t P a t h s : : s e t u p ( A l g o r i t h m C o n f i g& c o n f i g ) { R o u t e A l g o r i t h m : : s e t u p ( c o n f i g ) ;

i n t r o u t e _ k = c o n f i g . g e t R o u t e K ( ) ;

i n t n u m _ c l i e n t s = t o p o l o g y _ t a b l e _ −> g e t C l i e n t C o u n t ( ) ;

Graph * my_graph_pt = new Graph ( t o p o l o g y _ t a b l e _ −> g e t A d j a c e n c y M a t r i x ( ) ) ; Y e n T o p K S h o r t e s t P a t h s A l g * yenAlg ;

B a s e P a t h * r e s u l t ;

f o r (i n t i = 0 ; i < n u m _ c l i e n t s ; ++ i ) {

i n t c l i e n t _ i = t o p o l o g y _ t a b l e _ −> g e t C o n n e c t e d R o a d m ( i ) ; f o r (i n t j = 0 ; j < n u m _ c l i e n t s ; ++ j ) {

i n t c l i e n t _ j = t o p o l o g y _ t a b l e _ −> g e t C o n n e c t e d R o a d m ( j ) ; i f ( i ! = j ) {

i n t c o u n t = 0 ;

y e n A l g = new Y e n T o p K S h o r t e s t P a t h s A l g ( * my_graph_pt , m y _ g r a p h _ p t −> g e t _ v e r t e x ( c l i e n t _ i ) ,

+ m y _ g r a p h _ p t −> g e t _ v e r t e x ( c l i e n t _ j ) ) ;

w h i l e( yenAlg −> h a s _ n e x t ( ) && c o u n t < r o u t e _ k ) { ++ c o u n t ;

r e s u l t = yenAlg −> n e x t ( ) ;

r o u t e _ t a b l e _ −> a d d R o u t e ( * r e s u l t ) ; }

d e l e t e y e n A l g ; } } } }

Código 5.1 – Função KShortestPaths

(33)

31

A Função read_route presente na linha 3 do Código 5.2 é responsável por receber um arquivo de entrada e criar o novo vetor de rotas que será usado pela função KShortestPaths, presente no código 5.1. O arquivo contém em suas linhas 4 números inteiros separados por espaço onde o primeiro inteiro é id da rota, o segundo id é o tamanho da rota, e o restante dos inteiros são os nós que compõem a rota. A linha que contém os inteiros "02 3 0 1 2", por exemplo, significa que o id da rota é 02, a rota tem 3 nós em sua composição, e a rota é composta pelos nós 0→1→2.

Após a extração das rotas geradas pelo ILP e o GA e a geração do vetor de inteiros com o novo roteamento, o vetor é usado para configuração dos vértices e endereçamentos da topologia de rede presentes no elasticO++. Por fim, na linha 31 a tabela de rota é preenchida com as rotas extraídas pela função read_route e o elasticO++ está pronto para usar a o novo roteamento.

/ / @ a u t h o r H a r r i s o n S a n c h e s v e c t o r <i n t>

r e a d _ r o u t e ( FILE * f p t r ) { i n t i d , n , v e r t e x _ i d ; v e c t o r <i n t> r o u t e ;

f s c a n f ( f p t r , "%d %d ", &i d , &n ) ; f o r (i n t i = 0 ; i < n ; i ++) {

f s c a n f ( f p t r , "%d ", &v e r t e x _ i d ) ; r o u t e . p u s h _ b a c k ( v e r t e x _ i d ) ; }

r e t u r n r o u t e ; }

v o i d K S h o r t e s t P a t h s : : s e t u p ( A l g o r i t h m C o n f i g& c o n f i g ) { R o u t e A l g o r i t h m : : s e t u p ( c o n f i g ) ;

i n t r o u t e _ k = c o n f i g . g e t R o u t e K ( ) ; t o p o l o g y _ t a b l e _ −> p r i n t C l i e n t M a t r i x ( ) ; t o p o l o g y _ t a b l e _ −> p r i n t R o a d m M a t r i x ( ) ;

Graph * my_graph_pt = new Graph ( t o p o l o g y _ t a b l e _ −> g e t A d j a c e n c y M a t r i x ( ) ) ; B a s e V e r t e x * v0 = my_graph_pt −> g e t _ v e r t e x ( 0 ) ;

/ / @ a u t h o r H a r r i s o n S a n c h e s

FILE * f _ r o u t e s = f o p e n (" a r q _ R o t a s . t x t ", " r ") ; f o r (i n t i = 0 ; i < n u m _ c l i e n t s ; i ++) {

f o r (i n t j = 0 ; j < n u m _ c l i e n t s ; j ++) { i f ( i ! = j ) {

v e c t o r <i n t> r o u t e = r e a d _ r o u t e ( f _ r o u t e s ) ; v e c t o r < B a s e V e r t e x *> v e r t i c e s =

c r e a t e _ v e r t i c e s ( r o u t e , m y _ g r a p h _ p t ) ; B a s e P a t h * b a s e _ p a t h =

new B a s e P a t h ( v e r t i c e s , v e r t i c e s . s i z e ( ) − 1 ) ; r o u t e _ t a b l e _ −> a d d R o u t e ( * b a s e _ p a t h ) ; } } } }

Código 5.2 – Função read_route

(34)

32

6 EXPERIMENTOS, RESULTADOS E DISCUSSÕES

Este capítulo apresenta resultados para AG-RSA e ILP-RSA para três topologias de rede com 6, 8 e 10 nós, ilustradas na Figura 9. Os experimentos foram divididos em 3 partes: a calibração da heurística AG-RSA; comparação dos métodos de otimização, AG-RSA e ILP-RSA, em relação à função objetivo do projeto de redes, e; simulação de roteamento obtido pelas abordagens de otimização e o método de caminho mínimo. Os experimentos foram executados em um processador i7 de 1,99 GHz com 16 GB de RAM

Figura 9 – Redes investigadas

Fonte: Criado pelo autor.

6.1 CALIBRAÇÃO DO AG-RSA

Para o ajuste de abordagem heurística foram comparados diferentes tamanhos de população, probabilidade de um indivíduo sofrer mutação e número de gerações, para as três redes analisadas.

Os testes para tamanho da população e mutação foram realizados com diferentes tamanhos de geração, 30, 60, 90 e 100. A Figura 10 apresenta ofitnessda população com 60, 90, 120 e 150 indivíduos, para rede com 6, 8 e 10 nós, respectivamente. Como pode ser visto na Figura 10, para rede de 6 nós, todo tamanho de população converge após 60 gerações. Como cada número de gerações é uma nova simulação, devido à aleatoriedade do AG, de 90 para 100 gerações pode-se observar o aumento de 1slotno experimento de 90 indivíduos. Porém, a simulação indica que basta uma população com 90 indivíduos para a convergência do resultado. Os gráficos para as redes de 8 e 10 nós, ainda na Figura 10, mostram que os resultados podem ser afetados pelo tamanho da rede, isso é causado pelo aumento da variação da solução. O AG-RSA apresentou bons resultados mesmo para experimentos de 30 gerações. Portanto, o número de indivíduos na população é mais impactante do que o número de gerações. Por exemplo, na rede de 10 nós apresentada da Figura 10, o número de indivíduos afeta muito a aptidão heurística, enquanto o número de gerações afetou pouco o desempenho do AG-RSA.

Levando em consideração os resultados da Figura 10, foram usados 30 gerações e 150 indivíduos para o restante dos experimentos. Adicionalmente, o experimento com esses parâmetros, para a rede de 10 nós, foi executado em 148 segundos de tempo de processamento. A Figura 11 mostra os experimentos com fator de mutação, para as 3 redes analisadas. O percentual de

(35)

33

Figura 10 – Calibração do tamanho da população e número de gerações do AG-RSA para as redes de 6, 8 e 10 nós

Fonte: Criado pelo autor.

mutação na população variou de 1 a 4 por cento, considerando 30 gerações e 150 indivíduos. Em geral, os aumentos da taxa de mutação não ajudam a heurística a encontrar boas soluções. Por exemplo, em uma rede de 8 nós, o aumento da taxa de mutação foi diretamente proporcional ao aumento dofitnessobtido pelo AG-RSA. Nas redes com 6 e 10 nós, os resultados da heurística

(36)

34

apresentaram comportamentos semelhantes. Portanto, para o restante dos experimentos, a taxa de mutação é fixada em 1%.

Figura 11 – Calibração do percentual de mutação do AG-RSA para as redes de 6, 8 e 10 nós

Fonte: Criado pelo autor.

6.2 COMPARAÇÃO DE ABORDAGENS DE OTIMIZAÇÃO

Esta seção apresenta uma comparação do número deslotsdos projetos de redes obtidos pelos métodos ILP-RSA, AG-RSA e roteamento para o caminho mais curto. Para criar a matriz de tráfego, utilizando o ElasticO ++ foram gerados 10.000 pedidos de tráfego com demanda de 40 Gb/s (requer 4 slots), 100 Gb/s (requer 8slots), ou 400Gb/s (requer 16slots). Em seguida, a matriz de tráfego é preenchida com a média de solicitações entre cada par de nós fonte e destino.

O CPLEX Studio 12.8 foi usado para resolver a formulação ILP. Para o ILP-RSA, o limite de tempo para obtenção dos resultados foi limitado por 2 horas e 5% foi o pior gap alcançado, para a instância da rede de 10 nós, conforme apresentado na Tabela 1. Além dofitnesse do tempo de processamento, na Tabela 1 também é apresentada a média carga dos enlaces (coluna Média).

Como esperado, o ILP-RSA obteve os melhores resultados para todas as instâncias, mesmo para rede de 10 nós com 5% de gap. No entanto, o AG-RSA encontrou bons resultados, obtendo o resultado ótimo para uma rede de 6 nós, e apenas 3slotsa mais no pior caso, uma rede de 10 nós.

Além disso, o algoritmo de roteamento clássico de caminho mais curto encontrou 30,12% mais slotsdo que o AG-RSA, para rede de 10 nós. A estratégia de caminho mais curto apresentou uma pequena carga média de enlaces, mesmo com umfitnessalto. Por exemplo, em uma rede de

(37)

35

10 nós o link de maior carga possuía 108slotsocupados, enquanto a carga média dos links era de 57. Isso significa que esta solução gerou uma configuração de roteamento desbalanceado e com gargalos em alguns links mantendo a maioria dos links subutilizados.

Tabela 1 – Comparação de aptidão para ILP-RSA Vs AG-RSA Vs Caminho mais curto

Rede ILP-RSA AG-RSA Caminho Mínimo

Fitness Média GAP Tempo

(seg) Fitness Média Tempo

(seg) Fitness Média

6 56 45,6 - 24 56 36 30 76 16

8 84 78,2 - 1060 86 70,2 106 103 35,5

10 80 69,9 5 7200 83 66 148 108 57

Fonte: Criado pelo autor.

6.3 SIMULAÇÕES DE CONFIGURAÇÕES DE REDE

Nesta seção são apresentados os resultados da simulação da configuração da rede obtida pelo ILP-RSA, AG-RSA e o caminho mais curto, para as 3 redes investigadas. As demandas de tráfego foram geradas conforme descrito na Seção 6.2. Cada capacidade de link de rede foi fixada com os resultados obtidos pelo algoritmo de caminho mais curto, por ser o método com mais número deslots, como 76slotspara rede de 6 nós, 103slotspara rede de 8 nós e 108slots para rede de 10 nós. Configurando a tabela de roteamento no ElasticO ++, a alocação do espectro é realizada pelo algoritmo de primeiro ajuste, previamente implementado neste framework.

A Tabela 2 mostra os resultados da probabilidade de bloqueio encontrados pelo ElasticO ++.

Para cada estratégia de roteamento é apresentado o número de solicitações bloqueadas, quantas demandas foram atribuídas antes do primeiro bloqueio e a porcentagem do tráfego total (Gbps) bloqueado. O algoritmo do caminho mais curto obteve os melhores resultados de probabilidade de bloqueio para as três redes. No entanto, isso pode ser explicado pelo fato de que o roteamento pelo caminho mais curto costumava congestionar um link mantendo o resto da rede subutilizado, enquanto o ILP-RSA e o AG-RSA distribuíam o tráfego pela rede. Como consequência, o bloqueio gerado pelo caminho mais curto provavelmente estará sempre nos mesmos links, pois esta estratégia bloqueia um conjunto específico de demandas. Enquanto ILP-RSA e AG-RSA tendem a distribuir a probabilidade de bloqueio.

Tabela 2 – Simulação de probabilidade de bloqueio para ILP-RSA Vs AG-RSA Vs Caminho mais curto

Redes ILP-RSA AG-RSA Caminho Mínímo

Bloq (req)

1ª bloq

bloq (Gbps)

Bloq (req)

1ª bloq

bloq (Gbps)

Bloq (req)

1ª bloq

Bloq (Gbps)

6 4240 79 58.64% 4235 62 60,11% 3237 85 45.94%

8 2757 129 41.09% 2995 97 45.72% 2300 159 36.79%

10 1042 277 18.22% 1019 277 18.31% 678 317 12.24%

Fonte: Criado pelo autor.

(38)

36

A Figura 12 apresenta, para a rede de 10 nós, o Histograma de Pareto de cada requisição bloqueada obtido pelo ElasticO ++ na simulação de esquemas de roteamento gerados pelas abordagens ILP-RSA, AG-RSA e Caminho Mínimo, respectivamente. Nos três casos foram observadas demandas com alta concentração de bloqueio e outras sem bloqueio durante a simulação. Conforme mostrado na Tabela 2, a estratégia de caminho mais curto alcançou a melhor probabilidade de bloqueio. Esta estratégia ilustrada pelo terceiro gráfico da Figura 12, apresentou o dobro de demandas sem bloqueio quando comparada ao AG-RSA. Por exemplo, o AG-RSA obteve 14 demandas sem bloqueio, enquanto o Caminho Mínimo obteve 34. No entanto, para o projeto de rede, o roteamento do caminho mais curto precisa de maisslotspara alocar a matriz de demandas da rede.

Figura 12 – Histograma de Pareto - ILP

Fonte: Criado pelo autor.

(39)

37

7 CONCLUSÕES

Este trabalho propôs a investigação da influência de estratégias de roteamento de tráfego na probabilidade de bloqueio. As configurações de roteamento foram geradas usando três métodos de projeto de rede: abordagem de roteamento por método exato, heurística e rota única. Para métodos ótimos e heurísticos foram propostos um modelo ILP (ILP-RSA) e Algoritmo Genético (AG-RSA), e para o método da rota única foi utilizado o algoritmo de caminho mínimo. Além disso, a configuração da rede obtida por esses três métodos foi avaliada no framework de simulação EON denominado ElasticO++.

No experimento proposto, inicialmente o ElasticO++ é utilizado para gerar a matriz de tráfego dos métodos de projeto de rede. Foram gerados 10.000 pedidos de tráfego com demanda de 40 Gb/s (exigindo 4slots), 100 Gb/s (exigindo 8slots) ou 400 Gb/s (exigindo 16slots). Em seguida, a matriz de tráfego é preenchida com a média de solicitações entre cada nó fonte e destino.

Assim, a tabela de roteamento é calculada, pelas duas abordagens propostas, minimizando o enlace mais carregado, e o algoritmo do caminho mais curto. Finalmente, cada configuração de rede é simulada no ElasticO++ e a probabilidade de bloqueio é analisada.

Em resultados numéricos, três topologias de rede foram investigadas, com 6, 8 e 10 nós. Antes da comparação dos métodos de otimização, foi apresentado o ajuste dos parâmetros do AG-RSA, como número de gerações, tamanho da população e taxa de mutação. A função objetivo utilizada para ILP-RSA e AG-RSA foi a minimização do enlace mais carregado. Essa métrica reduz o número deslotsusados na rede, enquanto mantém os links balanceados. O AG-RSA encontrou resultados próximos ao ILP-RSA, como para a rede de 10 nós que o GA-RSA encontrou 3slots a mais do que o ILP-RSA, o que representa um acréscimo de 3,7%. Por outro lado, o algoritmo do caminho mais curto encontrou 30,12% maisslotsdo que o AG-RSA, para rede de 10 nós.

Após a geração das tabelas de roteamento para essas três abordagens, cada configuração de rede foi simulada no ElasticO ++, avaliando-se a probabilidade de bloqueio. Como resultado, as soluções de caminho mais curto alcançaram os melhores resultados de probabilidade de bloqueio.

No entanto, isso pode ser explicado pelo fato de que o roteamento pelo caminho mais curto costumava congestionar um link, mantendo o resto da rede subutilizado.

(40)

38

REFERÊNCIAS

ABKENAR FOROUGH RAHBAR, Akbar Shirin. ). study and analysis of routing and spectrum allocation (rsa) and routing, modulation and spectrum allocation (rmsa) algorithms in elastic optical networks (eons).Optical Switching and Networkings, p. 23s, 2016. ISSN 2212-6716.

Disponível em: <https://www.sciencedirect.com/science/article/abs/pii/S1573427716300741>.

Acesso em: 15 feb. 2021.

ASSIS, K.D.R. et al. Adaptação do algoritmo bsr para redes Ópticas slice. 05 2013.

BANDIRI SYM, Pimenta TC Durand FR Spadoti DH. Adaptive modulation allocation algorithm in elastic optical networks.Int J Commun Syst, p. 33, 2020. ISSN 2212-6716. Disponível em:

<https://ieeexplore.ieee.org/document/6646487>. Acesso em: 15 feb. 2021.

CAPUCHO, J. H. L.; RESENDO, L. C. Ilp model and effective genetic algorithm for routing and spectrum allocation in elastic optical networks. SBMO/IEEE MTT-S International Microwave Optoelectronics Conference (IMOC), p. 1–5, 2013. ISSN 2212-6716. Disponível em: <https://ieeexplore.ieee.org/document/6646487>. Acesso em: 15 feb. 2021.

CERCóS L. C. RESENDO, M. R. N. Ribeiro A. M. Fagertun S. S.; MONROY, I. T. Power-aware rationale for using coarse-grained transponders in ip-over-wdm networks.IEEE/OSA Journal of Optical Communications and Networking, v. 7, p. 825–836, 2015. ISSN 2212-6716. Disponível em: <https://ieeexplore.ieee.org/document/7255250>. Acesso em: 15 feb. 2021.

CHATTERJEE, Bijoy Chand; SARMA, Nityananda; OKI, Eiji. Routing and spectrum allocation in elastic optical networks: A tutorial.IEEE Communications Surveys Tutorials, v. 17, n. 3, p.

1776–1800, 2015.

CHATTERJEE, N. Sarma [7] B. C.; OKI, E. Routing and spectrum allocation in elastic optical networks: A tutorial.IEEE Communications Surveys Tutorials, p. 1776–1800, 2015. ISSN 2212-6716. Disponível em: <https://ieeexplore.ieee.org/document/7105364>. Acesso em: 15 feb. 2021.

Christodoulopoulos, K.; Tomkos, I.; Varvarigos, E. A. Routing and spectrum allocation in ofdm-based optical networks with elastic bandwidth allocation. In: 2010 IEEE Global Telecommunications Conference GLOBECOM 2010. [S.l.: s.n.], 2010. p. 1–6.

COSTA, Paulo; BIANCHINI, David. Caracterização da demanda futura de usuários da internet no brasil: uma contribuição para o desenvolvimento de políticas governamentais de inclusão digital e acesso a internet.Journal of Information Systems and Technology Management, v. 5, 09 2008.

ESTEBAN, Luis Velasco et al. Modeling the routing and spectrum allocation problem for flexgrid optical networks.Photonic Network Communication, v. 24, p. 177–186, 01 2013.

GOLDBERG’S, D.Genetic Algorithms in Search, Optimization, and Machine Learning. [S.l.]:

Addison-Wesley Professiona, 1989.

Jinno, M. et al. Distance-adaptive spectrum resource allocation in spectrum-sliced elastic optical path network [topics in optical communications].IEEE Communications Magazine, v. 48, n. 8, p. 138–145, 2010.

Referências

Documentos relacionados

Neste capítulo, será apresentada a Gestão Pública no município de Telêmaco Borba e a Instituição Privada de Ensino, onde será descrito como ocorre à relação entre

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

Em janeiro, o hemisfério sul recebe a radiação solar com menor inclinação e tem dias maiores que as noites, encontrando-se, assim, mais aquecido do que o hemisfério norte.. Em julho,

Os elementos caracterizadores da obra são: a presença constante de componentes da tragédia clássica e o fatalismo, onde o destino acompanha todos os momentos das vidas das

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

aquilo e comentou na semana passada na palavra livre que a administração começou perdendo tirando a EPAGRI daqui, e acha que perdeu bastante, quando a gente coloca

Mediante a síntese das publicações, o presente estudo destacou que as características definidoras mais encontradas (em mais de 44% das publicações) para o DE