• Nenhum resultado encontrado

EXPLORANDO A METAHEURÍSTICA HÍBRIDA DM-GRASP PARA O PROBLEMA DE MULTICAST CONFIÁVEL

N/A
N/A
Protected

Academic year: 2021

Share "EXPLORANDO A METAHEURÍSTICA HÍBRIDA DM-GRASP PARA O PROBLEMA DE MULTICAST CONFIÁVEL"

Copied!
12
0
0

Texto

(1)

EXPLORANDO A METAHEURÍSTICA HÍBRIDA DM-GRASP PARA O

PROBLEMA DE MULTICAST CONFIÁVEL

Erick R. Fonseca, Richard Fuchshuber, Luis F. M. Santos, Alexandre Plastino, Simone de L. Martins

Universidade Federal Fluminense Niterói – RJ – Brasil

{efonseca, rfuchshuber, lsantos, plastino, simone}@ic.uff.br

RESUMO

Metaheurísticas representam uma importante ferramenta para obtenção de soluções de qualidade, em tempo viável, para problemas de otimização computacionalmente intratáveis. Uma versão híbrida da metaheurística GRASP, que incorpora técnicas de mineração de dados, chamada DM-GRASP, tem obtido resultados promissores. Nessa estratégia, um algoritmo de mineração de dados é utilizado para reconhecer padrões em soluções sub-ótimas, os quais são utilizados para guiar a busca por melhores soluções.

Este trabalho visa explorar a metaheurística DM-GRASP e tentar determinar a melhor forma de executar essa técnica, abordando questões como quantas vezes se deve realizar o algoritmo de mineração de dados e em que momentos. Nessa investigação, foi utilizado o problema de replicação de servidores para transmissão multicast confiável – um problema NP-Difícil. Como resultado, obteve-se uma variação da metaheurística híbrida que superou o desempenho do GRASP e do próprio DM-GRASP original na quase totalidade dos experimentos realizados, com tempos de execução menores.

PALAVRAS CHAVE. Metaheurística Híbrida, GRASP, Mineração de Dados. Áreas: Metaheurística, Otimização Combinatória, Mineração de Dados, Redes.

ABSTRACT

Metaheuristics are among the most important tools for obtaining good solutions, in reasonable time, for computationally intractable optimization problems. A hybrid version of the GRASP metaheuristic that incorporates a data mining process, called DM-GRASP, has achieved promising results. In this strategy, a data mining algorithm is used to recognize patterns within sub-optimal solutions, which are used to guide the search for better solutions.

This work aims at exploring the DM-GRASP metaheuristic and trying to determine the best approach to execute this technique, discussing questions such as how many times the data mining should be performed and at which moments. For this investigation, the server replication for reliable multicast problem was used – an NP-Hard problem. As a result, a new version of the hybrid metaheuristic was obtained, which almost always outperformed both GRASP and DM-GRASP, with shorter execution times.

KEYWORDS. Hybrid Metaheuristic, GRASP, Data Mining.

(2)

1. Introdução

Metaheurísticas representam uma importante ferramenta para obtenção de soluções de qualidade, em tempo viável, para problemas de otimização computacionalmente intratáveis (Osman e Laport (1996)). Pesquisas demonstraram que a hibridização desses métodos com técnicas e conceitos de outras áreas tem o potencial de melhorar o desempenho e a robustez dos mesmos (Talbi (2002)). A metaheurística DM-GRASP (Data Mining GRASP) é uma versão híbrida da metaheurística GRASP (Greedy Randomized Adaptative Search Procedure) (Resende e Ribeiro (2003)) que incorpora técnicas de mineração de dados e que tem apresentado resultados promissores (Ribeiro et al. (2006), Santos et al. (2005), Santos et al. (2006), Santos et al. (2008)).

A metaheurística GRASP já foi aplicada com sucesso a diversos problemas (Festa (2002)). Nesse método, a busca por soluções é realizada através de um processo iterativo, no qual cada iteração é composta de duas fases: construção e busca local. Na fase de construção, uma solução completa é gerada. Essa solução não representa garantidamente um ótimo local, o que serve de motivação para a realização da fase seguinte. Na fase de busca local, a vizinhança dessa solução é explorada até que se obtenha uma solução que seja ótima localmente.

Processos de mineração de dados são caracterizados pela extração automática de informações úteis, implícitas em bases de dados, sob a forma de regras e padrões (Han (2006)). No contexto do DM-GRASP, um algoritmo de mineração é utilizado para reconhecer padrões em soluções sub-ótimas, os quais são utilizados para guiar a busca por melhores soluções.

A metaheurística híbrida DM-GRASP é dividida em duas partes. Na primeira, um conjunto de n iterações, como definidas no GRASP, é executado. Em seguida, um algoritmo de mineração de dados é executado sobre o conjunto das melhores soluções obtidas para extrair os padrões que caracterizam as soluções sub-ótimas. Na segunda fase, são executadas outras n iterações adaptadas, nas quais os padrões são utilizados para guiar a construção das soluções.

Essa proposta híbrida foi utilizada com sucesso em três problemas de otimização combinatória: problema de empacotamento de conjuntos (Ribeiro et al. (2006)), problema da maximização da diversidade (Santos et al. (2005)) e o problema de replicação de servidores em transmissão multicast confiável (Santos et al. (2006)). Nas três aplicações, como sugere a especificação anterior, o algoritmo de mineração de dados foi executado apenas uma vez e exatamente no meio do processo, dividindo a execução da metaheurística em dois grupos de iterações de mesmo tamanho.

Apesar dos bons resultados obtidos, algumas questões em relação à melhor forma de se executar essa proposta híbrida permanecem abertas, tais como: quantas vezes e em que momentos o algoritmo de mineração de dados deve ser executado. Executar a mineração logo no início do processo pode não ser uma boa opção na medida em que o conjunto das melhores soluções pode ainda não ter a qualidade necessária para que sejam extraídos bons padrões. Executá-lo apenas no fim do processo pode representar um adiamento desnecessário, na medida em que os padrões já poderiam estar beneficiando a busca. Além disso, a execução do algoritmo de mineração mais de uma vez pode refinar o conjunto de padrões extraídos. Diante do exposto, o principal objetivo deste trabalho é investigar tais questões.

Para tanto, serão desenvolvidas e avaliadas diferentes versões da metaheurística DM-GRASP originalmente implementada em Santos et al. (2006) para o problema de replicação de servidores em multicast confiável. Esse problema consiste em selecionar, a partir de um conjunto de nós de uma rede de computadores, aqueles que devem atuar como servidores de réplica para que se forneça um serviço de transmissão multicast confiável e para que os recursos da rede sejam eficientemente utilizados.

O restante deste artigo está organizado da seguinte forma. Na Seção 2, define-se o problema de replicação de servidores. As metaheurísticas GRASP e sua versão híbrida DM-GRASP são descritas na Seção 3. Especificam-se, na Seção 4, as variações da técnica híbrida propostas neste trabalho. Na Seção 5, são analisados os experimentos computacionais e, finalmente, na Seção 6, são apresentadas as conclusões e direções para trabalhos futuros.

(3)

2. O Problema de Replicação de Servidores em Multicast Confiável

Transmissões do tipo multicast correspondem ao envio de informações para múltiplos receptores simultaneamente. Essa transmissão pode vir de uma única fonte (multicast de um para muitos) ou de várias (multicast de muitos para muitos). Entre as aplicações potenciais desse tipo de transmissão, podemos citar envio de notícias, atualizações de software e os populares

streamings de áudio e vídeo.

Os serviços de rede para transmissão do tipo unicast convencional não são suficientes para transmissões multicast, pois seria necessário criar uma conexão entre o transmissor e cada receptor, o que acarretaria no envio de várias cópias dos mesmos dados pela rede. Para evitar esse desperdício de banda, a estratégia usada em serviços de rede fornecidos correntemente para transmissões multicast é a criação de uma árvore de transmissão, onde o nó raiz representa a fonte, as folhas representam os receptores e os nós internos, os roteadores. Dessa forma, cópias de dados só precisam ser criadas em ramificações da rede.

Uma questão importante relacionada à transmissão multicast é como prover um serviço confiável. O serviço fornecido pelo modelo do IP multicast segue uma política de melhor esforço, o que não garante que todos os pacotes de dados enviados pela fonte sejam efetivamente entregues aos receptores. Nas transmissões unicast convencionais, o protocolo de transporte TCP realiza essa tarefa eficientemente. Porém, em transmissões multicast, essa tarefa é substancialmente mais complexa.

O fornecimento de serviço multicast confiável está relacionado à forma de gerenciamento de retransmissões de dados. Em transmissões unicast, a fonte é responsável pela retransmissão de pacotes perdidos. Uma adaptação dessa estratégia para transmissões multicast sobrecarregaria a fonte, especialmente em situações em que o número de receptores é grande. Uma estratégia que tem apresentado bons resultados é a divisão dos receptores em grupos, com a realização de técnicas de recuperação local (Kasera et al. (1998), Nonnenmacher et al. (1998)). Além da redução de carga na fonte, esse método tem a vantagem de melhorar a vazão do sistema e de reduzir o uso de banda da rede.

A técnica aqui abordada é a replicação de servidores, que segue a estratégia de recuperação local. Nessa técnica, os dados são replicados em alguns nós da rede e cada um desses nós é responsável pela retransmissão dos pacotes aos receptores do seu grupo. Esses nós são chamados servidores de réplica ou servidores de reparo.

Para que a técnica de replicação de servidores seja efetiva, é necessário encontrar a alocação de servidores de réplica que leve ao melhor desempenho de transmissão multicast. Ou seja, é necessário definir quais nós devem funcionar como servidores de réplica para que se alcance uma árvore de transmissão que minimize o custo da transmissão.

Suponha que um nó s seja a fonte de uma transmissão multicast e que os nós de um conjunto R sejam os receptores. Nesse caso, uma árvore de transmissão T é construída com raiz em s e com os nós de R como folhas. Seja MR o conjunto de nós internos dessa árvore. Uma probabilidade de perda de pacotes está associada a cada aresta de T. Agora, suponha que os dados sejam replicados em um subconjunto P de nós de MP (P MR). Dessa forma, P é o subconjunto dos nós internos que funcionarão como servidores de réplica.

A Figura 2.1 ilustra uma árvore de transmissão T com raiz na fonte s. Os receptores, R = {r1, r2, ..., r9} são as folhas. Os nós intermediários estão no conjunto MR = {n1, n2, n3, p1, p2, p3}. O conjunto P = {p1, p2, p3} corresponde aos servidores de réplica.

O custo de transmitir um pacote foi formulado em Li et al. (2000). A idéia fundamental é considerar o custo de transmitir um pacote como sendo o produto entre o número total de transmissões (a transmissão original mais as retransmissões subseqüentes) e o número de arestas percorridas até que o pacote chegue em todos os receptores (Nonnenmacher et al. (1998)). Então, de acordo com essa idéia, a árvore na qual esse custo é mínimo é aquela que proporciona o melhor uso dos recursos da rede, o que leva ao melhor desempenho da transmissão multicast.

(4)

Figura 2.1: Uma árvore de transmissão. Nós acinzentados representam os servidores de réplica. Essa formulação é uma especialização do problema das p-medianas, que foi provado ser NP-Difícil (Kariv e Hakimi (1979)). Como para qualquer outro problema NP-Difícil, abordagens baseadas em heurísticas são ferramentas extremamente úteis para a obtenção de soluções de qualidade e em tempos computacionais viáveis. Li et al. (2000) propuseram um GRASP para solucionar o problema de selecionar os servidores de réplica em uma transmissão multicast confiável. Santos et al. (2006) utilizaram a técnica híbrida DM-GRASP para resolver o problema e obtiveram resultados de qualidade superior em um menor tempo computacional.

3. As Metaheurísticas GRASP e DM-GRASP

Nesta seção, serão revisadas a metaheurística GRASP e a sua versão híbrida DM-GRASP, que incorpora um módulo de mineração de dados. Além disso, serão descritas as instanciações dessas metaheurísticas para o problema de multicast confiável.

3.1. GRASP – Greedy Randomized Adaptive Search Procedure

A metaheurística GRASP é um método para obtenção de soluções de boa qualidade para problemas de otimização combinatória. Desde sua criação, essa metaheurística vem sendo utilizada com considerável sucesso em diversos problemas computacionalmente intratáveis (Festa e Resende (2002)).

Sua idéia central é combinar um algoritmo guloso com um componente aleatório. Algoritmos gulosos são geralmente iterativos e, a cada iteração, incluem na solução em construção o elemento que traz o melhor incremento possível na sua qualidade. Apesar de levarem a boas soluções, normalmente não atingem soluções ótimas. Métodos completamente aleatórios incluem elementos à solução aleatoriamente, o que, apesar de gerar soluções de baixa qualidade média, permite bastante diversificação.

O GRASP é um processo iterativo, sendo cada iteração composta de duas fases: construção e busca local. Na primeira fase, uma solução é construída, sem que seja necessariamente um ótimo local. Na segunda fase, a vizinhança dessa solução é percorrida em busca de melhores soluções. O processo é repetido até que um critério de parada seja atingido. A melhor solução encontrada dentre todas as iterações é retornada como resultado. A Figura 3.1 contém o pseudocódigo do GRASP para um problema de maximização.

A fase de construção, ilustrada pela Figura 3.2, constrói a solução elemento por elemento. A cada passo, os elementos que não estão na solução são avaliados por uma função gulosa. Os elementos com melhor avaliação são incluídos numa lista, chamada Lista Restrita de Candidatos (LRC). O critério para inclusão de um elemento na lista pode ser definido usando-se

um parâmetro α ∈ [0, 1]. Suponha que, num problema de maximização, o elemento com melhor

avaliação tenha o valor maior_val. A LRC pode ser composta por todos os elementos no intervalo [α × maior_val, maior_val]. Um elemento é selecionado aleatoriamente dessa lista e inserido na solução. Note que esse processo seria puramente guloso se α = 1, e puramente aleatório se α = 0.

(5)

procedimento GRASP(α)

1. melhor_sol ← ø;

2. repita

3. sol ← Fase_de_Construcao(α); 4. sol ← Busca_Local(sol);

5. se Aval(sol) > Aval(melhor_sol) então

6. melhor_sol ← sol;

7. fim-se

8. até Criterio_de_Parada();

9. retorne melhor_sol;

Figura 3.1: Pseudocódigo da metaheurística GRASP procedimento Fase_de_Construcao(α) 1. sol ← ø; 2. repita 3. LRC ← Constroi_LRC(α); 4. s ← Escolha_Aleatoria(LRC); 5. sol ← sol U {s}; 6. até Solucao_Completa(sol); 7. retorne sol;

Figura 3.2: Pseudocódigo da fase de construção do GRASP

A fase de busca local está baseada no conceito de vizinhança de uma solução. A vizinhança N de uma solução s é definida a partir de uma operação O que se realiza sobre s para se gerar uma nova solução. O conjunto de todas as soluções que podem ser geradas a partir de s por O constitui a vizinhança N de s. Nessa fase, a vizinhança da solução é percorrida e, se uma solução melhor for encontrada, é realizada uma nova busca local nessa solução. Quando não se encontram mais soluções melhores dentro de uma vizinhança, conclui-se que um ótimo local foi atingido e a busca local termina.

3.2. A Metaheurística Híbrida DM-GRASP

Processos de mineração de dados são caracterizados pela extração automática de informações úteis a partir de bases de dados, na forma de regras e padrões. A idéia que motiva sua aplicação em conjunto com o GRASP é a possibilidade de se encontrar padrões que representem características das melhores soluções geradas, o que pode auxiliar a busca por soluções mais próximas do valor ótimo em um menor tempo computacional.

A versão híbrida do GRASP que incorpora um módulo de mineração de dados, denominada DM-GRASP, encontra-se ilustrada na Figura 3.3. Sua execução é dividida em duas etapas: na primeira, chamada fase de geração do conjunto elite, é executada uma determinada quantidade de iterações do GRASP (num_it_conj_elite), e um conjunto de soluções, chamado conjunto elite, é criado para armazenar as melhores tam_elite soluções encontradas ao longo dessas iterações. Em seguida, é executado um algoritmo de mineração de dados (MCF) para extrair padrões das soluções desse conjunto elite. A quantidade de padrões a serem minerados é definida pelo parâmetro qtd_padroes. O parâmetro chamado suporte mínimo (sup_min) indica o número mínimo de vezes que um trecho de solução deve aparecer para ser considerado um padrão. Na etapa seguinte, chamada fase híbrida, são executadas novas iterações do GRASP. Nessas iterações, a fase de construção é modificada para usar os padrões encontrados como soluções iniciais parciais. A fase de busca local permanece igual.

3.3. Implementação do GRASP e do DM-GRASP para o Problema de Multicast Confiável Li et al. (2000) utilizaram pela primeira vez o GRASP para o problema de multicast confiável. Santos et al. (2006) implementaram não somente a versão proposta por Li et al. (2000), mas também sua proposta DM-GRASP para o mesmo problema. Na comparação realizada, a versão híbrida obteve, como comportamento geral, soluções de melhor qualidade em menos tempo computacional.

(6)

procedimento GRASP_Hibrido(num_it_conj_elite, tam_elite, qtd_padroes, sup_min, α)

01. melhor_sol ← ø; 02. Conjunto_Elite ← ø;

03. para it ← 1 até num_it_conj_elite faça

04. sol ← Fase_de_Construcao(α); 05. sol ← Busca_Local(sol);

06. Atualiza_Conjunto_Elite(Conjunto_Elite, sol, tam_elite); 07. se Aval(sol) > Aval(melhor_sol)

08. melhor_sol ← sol; 09. fim se

10. fim para

11. Padroes ← MCF(Conjunto_Elite, qtd_padroes, sup_min); 12. p ← Proximo_Padrao(Padroes); 13. repita 14. sol ← Fase_de_Construcao_Adaptada(p, α); 15. sol ← Busca_Local(sol); 16. se Aval(sol) > Aval(melhor_sol) 17. melhor_sol ← sol; 18. fim se 19. p ← Proximo_Padrao(Padroes); 20. até Critério_de_Parada(); 21. retorne melhor_sol;

Figura 3.3: Pseudocódigo do DM-GRASP

Na implementação do GRASP, na fase de construção, nós intermediários são adicionados à solução iterativamente. Em cada iteração, todo nó interno n MR que não faz parte da solução é avaliado, conforme formulação de custo definida em Li et al. (2000). Em uma transmissão

multicast com uma única fonte s, cada um desses nós é avaliado da seguinte forma: seja csol o custo da árvore de transmissão Ts que possui os nós da solução parcial corrente sol como servidores de réplica. O nó n é adicionado a esse conjunto de servidores de réplica e o custo csolUn da árvore Tn é avaliado. A avaliação do nó n é dada pela diferença entre csol e csolUn. Quanto maior a redução no custo csol proporcionada pelo nó n, melhor será sua avaliação. Para o caso de uma transmissão multicast com várias fontes, existe uma árvore de transmissão para cada fonte. A avaliação de um nó n é, então, igual ao somatório de sua avaliação em cada uma dessas árvores.

Seja avalmax a avaliação do melhor nó interno. A LRC é constituída com todos os nós internos que possuem avaliação melhor que uma porcentagem de avalmax. Essa porcentagem é definida pelo parâmetro α, ou seja, um nó só será incluído na LRC caso sua avaliação seja melhor ou igual a α × avalmax (0 < α < 1). A cada iteração da fase de construção, um elemento da LRC é escolhido aleatoriamente para ser integrado à solução.

Na fase de busca local, a estrutura de vizinhança é baseada em um procedimento chamado k-trocas. Nesse procedimento, cada solução sol', que pode ser obtida através da troca de

k elementos a partir de uma solução sol, faz parte da vizinhança de sol. O valor de k escolhido foi

um, fazendo com que o procedimento tenha um custo computacional viável. Além disso, é utilizada outra restrição: um nó interno n só pode ser substituído por outro nó n' se existir exatamente uma aresta ligando n a n'.

Soluções para o problema de multicast confiável são caracterizadas por um conjunto de nós internos que devem funcionar como servidores de réplica. Conjuntos de nós freqüentes nas soluções, extraídos de um conjunto de soluções elite, podem ser considerados como padrões de boas soluções e, por isso, podem ser utilizados para guiar a busca por melhores soluções.

Na implementação do DM-GRASP, foi utilizado o algoritmo FPmax* (Grahne e Zhu (2003)) para extrair conjuntos freqüentes maximais – padrões – do conjunto elite. Esse algoritmo é executado max - 1 vezes, onde max é o tamanho do conjunto elite. Nessas execuções, o suporte mínimo varia no intervalo [2,max]. Todos os padrões encontrados em cada execução são agrupados em um conjunto F e os dez padrões com o maior número de elementos obtidos de F são escolhidos para integrar o conjunto de padrões utilizados na fase híbrida.

(7)

4. Variações do DM-GRASP

Nesta seção, serão apresentadas as variações propostas do DM-GRASP com o objetivo de investigar quantas vezes o processo de mineração deve ser executado e em que momentos. 4.1. DM-20 e DM-80

Na estratégia DM-GRASP, a fase de construção do conjunto elite e a fase híbrida têm o mesmo número de iterações. As estratégias DM-20 e DM-80 são versões do DM-GRASP em que o processo de mineração de dados não divide as iterações em dois conjuntos iguais. Na estratégia DM-20, reservam-se 20% das iterações para a geração do conjunto elite. Em seguida, o algoritmo de mineração de dados é executado e as iterações restantes compõem a fase híbrida, na qual as soluções são construídas com base em algum padrão extraído. Já a estratégia DM-80 deixa a mineração de dados mais para o fim do processo, reservando 80% das iterações para a geração do conjunto elite e a fase híbrida é executada nos 20% de iterações restantes.

O objetivo da mudança do ponto onde a mineração de dados é executada foi avaliar se, logo no início do processo (DM-20), o conjunto elite já possui qualidade suficiente para gerar bons padrões ou se seria melhor deixar a mineração mais para o fim (DM-80), quando o conjunto elite provavelmente já teria atingido um nível adequado de qualidade.

4.2. DM-3X

A versão DM-3X executa o algoritmo de mineração de dados três vezes: após a execução de 20%, 50% e 80% das iterações. Até serem executadas 20% das iterações, é realizada a fase de construção do conjunto elite. Após isso, começa a fase híbrida. Nesse caso, a fase híbrida continua atualizando o conjunto elite. Assim, as possíveis boas soluções geradas pela utilização dos padrões da mineração anterior podem ser utilizadas para a geração de novos padrões nas execuções seguintes do algoritmo de mineração de dados.

A motivação para o desenvolvimento da variação DM-3X foi verificar se a execução do algoritmo de mineração mais de uma vez ajuda a refinar o conjunto de padrões extraídos.

4.3. DM-D5, DM-D10 e DM-D20

Nas versões DM-D5, DM-D10 e DM-D20, não existe um momento predefinido para se executar o algoritmo de mineração de dados, sendo definido dinamicamente. A extração de padrões é realizada toda vez que o conjunto elite passa um determinado número de iterações sem ser atualizado – o que representa um nível de estabilização da qualidade de suas soluções. Essas variações têm o objetivo de tornar o DM-GRASP mais adaptativo e dinâmico. Nelas, o comportamento durante a sua execução é que define os momentos quando a mineração de dados deve ser executada.

Nessas estratégias, a extração de padrões é realizada toda vez que um determinado número de iterações não conseguir gerar soluções melhores do que as já existentes no conjunto elite. Acredita-se que essa quantidade de iterações sirva como indicação de que o conjunto elite já apresenta soluções boas o suficiente para gerar bons padrões.

A versão DM-D5 realiza uma execução do algoritmo de mineração de dados toda vez que o conjunto elite fica um número de iterações, equivalente a 5% do total de iterações, sem sofrer alterações. Já nas versões DM-D10 e DM-D20, esse número equivale a 10% e 20% do número total de iterações, respectivamente.

5. Resultados Experimentais

Ambientes de transmissão multicast podem ser bastante diferentes. Eles podem possuir diferentes números de participantes, números de fontes, volumes de tráfego, etc. No entanto, são normalmente classificados em dois grupos principais: broadcasts e conferências virtuais. O primeiro é caracterizado por ter uma única fonte e um grande número de receptores. O segundo possui um número menor de membros, mas esses, em geral, atuam tanto como fontes como receptores.

(8)

As avaliações dos algoritmos foram realizadas em cinco cenários de transmissão

multicast simulados, com três desses representando conferências virtuais (CONF1, CONF2 e

CONF3) e os outros dois (BROAD1 e BROAD2), transmissões do tipo broadcast. Esses cenários

foram gerados da seguinte forma: primeiramente, as topologias de rede foram criadas com a ferramenta GT-ITM (Georgia Tech Internetwork Topology Models) (Calvert et al. (1997)). A seguir, uma probabilidade de perda foi associada a cada aresta dessas redes. Depois disso, foram definidos nós que representariam as fontes e os receptores das transmissões multicast e, finalmente, uma árvore de transmissão foi construída para cada fonte.

A Tabela 5.1 descreve os cenários de transmissão multicast simulados. Para cada um, são descritas sua topologia e a transmissão multicast realizada. As topologias são descritas pelo número de nós de trânsito (nós intermediários), número de arestas e intervalo de probabilidade de perda associado às arestas. A probabilidade de perda de todas as arestas é distribuída uniformemente nesse intervalo. As transmissões multicast são descritas pelo número de fontes, número de receptores e número de nós candidatos, que correspondem aos nós que podem funcionar como servidores de réplica. São considerados candidatos os nós de trânsito que fazem parte de pelo menos uma das árvores de transmissão.

# Nós de

Trânsito # Arestas

Faixa de Prob.

de Perda # Fontes # Receptores

# Nós Candidatos CONF1 200 4194 1-70% 50 50 164 CONF2 200 1931 1-15% 50 50 130 CONF3 400 7497 1-15% 50 50 186 BROAD1 1000 10612 1-15% 1 500 682 BROAD2 2000 40495 1-15% 1 500 797 Cenário

Topologia Transmissão multicast

Tabela 5.1: Descrição dos cenários de transmissão multicast simulados

Para os cenários CONF1, BROAD1 e BROAD2, os algoritmos foram executados para

encontrar subconjuntos dos nós candidatos de tamanhos correspondentes a 2,5%, 5%, 7,5% e 10% do total de nós de trânsito para funcionarem como servidores de réplica. Para os outros dois cenários, esses tamanhos corresponderam a 5%, 10%, 15% e 20%.

Os algoritmos foram implementados em C++ e compilados na plataforma Linux, com o compilador g++ 4.1.2. Os testes foram realizados em um computador AMD Athlon 64 3500+ (2.2 Ghz) com 2GB de memória RAM.

As estratégias foram executadas 10 vezes para cada instância, cada uma utilizando uma semente de números aleatórios diferente (de 1 a 10). O valor do parâmetro α escolhido para todas as estratégias foi 0.7, que já havia apresentado bons resultados em Santos et al. (2006). Cada execução constituiu-se de 500 iterações. O tamanho do conjunto elite, utilizado nas metaheurísticas híbridas descritas neste artigo, foi igual a 10.

A qualidade das soluções obtidas é apresentada nas Tabelas 5.2 e 5.3. As duas primeiras colunas descrevem informações sobre as instâncias, que são o cenário de transmissão e o número de nós a serem definidos como servidores de réplica. As próximas colunas contêm os resultados alcançados por cada metaheurística testada. Na Tabela 5.2, os resultados apresentados são, para cada instância, a melhor solução obtida dentre as dez execuções de cada metaheurística e a diferença percentual entre essa melhor solução e a melhor solução obtida nos experimentos realizados neste trabalho para aquela instância. A Tabela 5.3 apresenta, para cada metaheurística, a média das soluções obtidas nas dez execuções para cada instância e a diferença percentual entre a média obtida pela metaheurística e a melhor média obtida nos experimentos deste trabalho. Para comparação entre as metaheurísticas, valores em negrito indicam qual metaheurística obteve o melhor desempenho.

Considerando as vinte instâncias, o DM-D5 alcançou as melhores soluções 15 vezes, dentre as quais em cinco vezes nenhuma outra metaheurística testada obteve o mesmo resultado. Em relação às distâncias percentuais às melhores soluções obtidas, o DM-D5 apresentou o menor

(9)

índice médio, de apenas 0,01%. Comparando os valores médios, o DM-D5 obteve o melhor resultado oito vezes, dentre as quais em quatro vezes nenhuma outra metaheurística testada obteve o mesmo resultado. Em relação às distâncias percentuais às melhores médias obtidas, o DM-D5 alcançou o menor índice médio, juntamente com o DM-D10, de 0,03%.

Em relação ao DM-GRASP, o DM-D5 obteve a melhor solução 11 vezes, empatou oito vezes, e obteve um resultado pior apenas uma vez. Considerando os valores médios, o DM-D5 alcançou o melhor resultado oito vezes, empatou quatro vezes e obteve um resultado pior oito vezes.

Cenário m Melhor % Melhor % Melhor % Melhor % Melhor % Melhor % Melhor % Melhor % 25 2818,92 0,46 2807,22 0,05 2807,22 0,05 2807,22 0,05 2805,89 0,00 2805,89 0,00 2805,89 0,00 2805,89 0,00 50 2296,58 0,73 2281,84 0,09 2281,84 0,09 2281,95 0,09 2279,84 0,00 2279,84 0,00 2280,88 0,05 2281,95 0,09 75 2039,27 1,68 2022,92 0,87 2020,87 0,77 2020,91 0,77 2014,12 0,43 2005,48 0,00 2006,12 0,03 2023,62 0,90 100 1873,62 0,30 1877,69 0,52 1873,62 0,30 1873,62 0,30 1877,69 0,52 1868,02 0,00 1870,19 0,12 1873,62 0,30 50 2444,07 0,88 2422,82 0,00 2425,57 0,11 2427,36 0,19 2422,82 0,00 2422,82 0,00 2425,57 0,11 2429,23 0,26 100 2018,97 0,06 2019,22 0,07 2018,86 0,05 2018,86 0,05 2019,22 0,07 2017,78 0,00 2018,11 0,02 2018,86 0,05 150 1836,32 0,05 1837,14 0,09 1836,24 0,04 1835,46 0,00 1837,04 0,09 1835,85 0,02 1835,91 0,02 1836,32 0,05 200 1727,94 0,08 1728,92 0,14 1726,50 0,00 1726,50 0,00 1728,92 0,14 1728,62 0,12 1726,50 0,00 1726,50 0,00 5 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 10 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 15 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 20 23625,20 0,00 23625,20 0,00 23625,20 0,00 23625,20 0,00 23625,20 0,00 23625,20 0,00 23625,20 0,00 23625,20 0,00 10 11894,10 0,03 11894,10 0,03 11894,10 0,03 11894,10 0,03 11894,10 0,03 11890,10 0,00 11894,10 0,03 11894,10 0,03 20 10076,30 0,29 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 30 9207,78 0,00 9207,79 0,00 9207,78 0,00 9207,78 0,00 9207,79 0,00 9207,78 0,00 9207,78 0,00 9207,78 0,00 40 8668,47 0,34 8642,26 0,04 8642,26 0,04 8642,26 0,04 8642,26 0,04 8642,26 0,04 8638,68 0,00 8642,26 0,04 20 11182,70 0,65 11114,50 0,03 11114,50 0,03 11114,50 0,03 11114,50 0,03 11110,90 0,00 11114,50 0,03 11114,50 0,03 40 9631,74 0,57 9589,91 0,13 9584,32 0,08 9577,13 0,00 9577,13 0,00 9579,13 0,02 9577,13 0,00 9584,32 0,08 60 8855,88 0,12 8855,88 0,12 8848,12 0,03 8855,88 0,12 8846,57 0,02 8846,57 0,02 8845,18 0,00 8855,88 0,12 80 8550,42 0,00 8556,14 0,07 8550,42 0,00 8550,42 0,00 8556,14 0,07 8550,42 0,00 8550,42 0,00 8550,42 0,00 CONF2 CONF3 DM-D20 BROAD1 BROAD2 CONF1 DM-80 DM-3X DM-D5 DM-D10

Instância GRASP DM-20 DM-GRASP

Tabela 5.2: Melhor solução encontrada por cada metaheurística para cada um dos cenários

Cenário m Média % Média % Média % Média % Média % Média % Média % Média % 25 2818,92 0,43 2809,29 0,08 2807,22 0,01 2807,22 0,01 2808,63 0,06 2808,76 0,06 2808,63 0,06 2806,94 0,00 50 2299,07 0,68 2285,00 0,06 2287,36 0,17 2287,64 0,18 2283,53 0,00 2283,74 0,01 2284,50 0,04 2290,81 0,32 75 2045,93 1,43 2033,75 0,83 2030,76 0,68 2031,58 0,72 2023,10 0,30 2017,01 0,00 2020,78 0,19 2043,20 1,30 100 1877,53 0,06 1880,96 0,24 1877,87 0,08 1876,89 0,02 1880,23 0,20 1878,00 0,08 1876,43 0,00 1877,36 0,05 50 2444,20 0,68 2427,96 0,02 2431,39 0,16 2431,11 0,15 2427,89 0,01 2427,58 0,00 2429,68 0,09 2435,45 0,32 100 2020,22 0,05 2020,37 0,06 2020,11 0,04 2020,01 0,04 2019,22 0,00 2019,83 0,03 2020,05 0,04 2020,05 0,04 150 1837,07 0,01 1837,84 0,05 1836,92 0,00 1836,89 0,00 1837,46 0,03 1837,23 0,02 1836,85 0,00 1836,93 0,00 200 1729,60 0,04 1731,07 0,12 1729,35 0,02 1728,95 0,00 1731,10 0,12 1730,11 0,07 1728,96 0,00 1729,05 0,01 5 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 63762,20 0,00 10 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 44480,70 0,00 15 31347,25 0,06 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 31328,60 0,00 20 23775,91 0,08 23782,68 0,10 23763,75 0,02 23757,91 0,00 23789,73 0,13 23764,96 0,03 23763,75 0,02 23777,19 0,08 10 11894,10 0,00 11894,10 0,00 11894,10 0,00 11894,10 0,00 11894,10 0,00 11893,70 0,00 11894,10 0,00 11894,10 0,00 20 10076,30 0,29 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 10047,10 0,00 30 9208,73 0,00 9223,08 0,16 9211,66 0,03 9210,17 0,02 9223,08 0,16 9222,61 0,15 9220,17 0,12 9211,14 0,03 40 8676,55 0,39 8651,07 0,09 8646,28 0,04 8642,98 0,00 8648,71 0,07 8647,78 0,06 8645,10 0,02 8647,75 0,06 20 11182,70 0,62 11114,50 0,01 11114,50 0,01 11114,50 0,01 11114,50 0,01 11113,78 0,00 11114,50 0,01 11114,50 0,01 40 9652,90 0,68 9603,02 0,16 9596,54 0,09 9592,32 0,04 9588,82 0,01 9588,66 0,01 9588,02 0,00 9614,50 0,28 60 8869,29 0,05 8881,24 0,18 8869,45 0,05 8867,27 0,02 8876,61 0,13 8866,16 0,01 8865,85 0,01 8865,23 0,00 80 8557,80 0,00 8563,04 0,06 8559,13 0,02 8558,23 0,01 8562,92 0,06 8560,45 0,03 8558,49 0,01 8557,57 0,00 0,28 0,11 0,07 0,06 0,07 0,03 0,03 0,12 CONF2 CONF3 Média DM-D20 BROAD1 BROAD2 CONF1 DM-80 DM-3X DM-D5 DM-D10

Instância GRASP DM-20 DM-GRASP

Tabela 5.3: Média das soluções encontradas por cada metaheurística para cada um dos cenários Os gráficos das Figuras 5.4, 5.5 e 5.6 permitem uma avaliação mais detalhada do comportamento do DM-D5. Os gráficos da Figura 5.4 ilustram a variação do custo das soluções obtidas nas fases de construção e busca local, ao longo das iterações de uma execução para as instâncias com cenários: (a) BROAD1 e m = 75 e (b) BROAD2 e m = 150.

Os dois gráficos da Figura 5.4 permitem concluir que, após a extração dos padrões, a qualidade das soluções geradas na fase de construção aumenta significativamente. Na busca local, essa qualidade também aumenta. Isso reforça a idéia de que a utilização de padrões faz com que a busca se concentre em regiões mais promissoras, aumentando a probabilidade de se alcançar soluções melhores. Observa-se também que as várias execuções da mineração

(10)

conseguiram melhorar gradualmente a qualidade das soluções geradas. Executar o algoritmo de mineração de dados várias vezes também obteve algum sucesso em quebrar o ciclo de soluções repetidas que ocorria durante a fase híbrida do DM-GRASP. O comportamento do DM-D5 para as outras instâncias foi similar a esse apresentado.

Figura 5.4: Qualidade das soluções obtidas pelo DM-D5 ao longo das iterações para as instâncias com cenários: (a) BROAD1 e m = 75 (semente 7) e (b) BROAD2 e m = 150 (semente 8)

Em relação aos gráficos da Figura 5.5, que ilustram os tempos de execução, observa-se que, após a extração dos padrões, os tempos da busca local são significativamente reduzidos. Isso é conseqüência de as soluções geradas na fase de construção serem melhores, o que reduz o esforço necessário para a busca local encontrar um ótimo local. Também é possível notar que as várias execuções da mineração causam uma redução gradual nos tempos de execução da busca local, indicando um aumento contínuo na qualidade dos padrões extraídos.

Figura 5.5: Tempos computacionais das fases do DM-D5 ao longo das iterações para as ins-tâncias com cenários: (a) BROAD1 e m = 75 (semente 7) e (b) BROAD2 e m = 150 (semente 8)

Os gráficos da Figura 5.6 apresentam uma comparação entre as metaheurísticas GRASP, DM-80 e DM-D5. Gráficos time-to-target (TTT) (Aiex et al. (2007)) podem ser utilizados para comparar procedimentos de busca local através dos seus tempos de execução. Um gráfico TTT é gerado executando-se um algoritmo várias vezes e medindo-se o tempo necessário para alcançar

(11)

uma solução no mínimo tão boa quanto uma determinada solução-alvo. Os gráficos da Figura 5.6 foram gerados através da execução de cada metaheurística 100 vezes, com sementes diferentes, para a instância com cenário BROAD1 e m = 25 para: (a) um alvo fácil e (b) um alvo difícil.

Observa-se que o DM-D5 alcança soluções difíceis mais rapidamente que as outras duas estratégias, comprovando a robustez dessa heurística.

Figura 5.6: Gráficos time-to-target para a instância com cenário BROAD1 e m = 25 com (a) um alvo fácil e (b) um alvo difícil

Em relação ao tempo de execução das 500 iterações, o DM-D5 foi, em média, 51% mais rápido que o GRASP e 24% mais rápido que o DM-GRASP. Também foram realizados alguns testes para avaliar o comportamento dos algoritmos quando o número de iterações varia. Nesses testes, as estratégias DM-D5, DM-D10 e DM-D20 foram executadas com 250, 1.000, 2.000 e 4.000 iterações, para algumas instâncias. Em seguida, foi realizado o cálculo da diferença percentual em relação às soluções obtidas para cada número de iterações, de cada uma das três estratégias. O DM-D5 obteve a menor diferença média, de apenas 0,02%. DM-D10 e DM-D20 obtiveram diferenças de, respectivamente, 0,1% e 0,25%.

6. Conclusões

Neste artigo, foram propostas diversas variações da metaheurística DM-GRASP, abordando questões como a quantidade de vezes a se realizar o algoritmo de mineração de dados e em que momentos. Dentre elas, o DM-D5 destacou-se por apresentar os melhores resultados e tempos de execução menores. O sucesso dessa nova metaheurística híbrida pode ser atribuído a dois fatos: a constatação de que realizar a mineração de dados mais de uma vez melhora a qualidade dos padrões extraídos e o fato de que o momento no qual o algoritmo de mineração de dados deve ser executado não é fixo, e sim dependente do comportamento de cada instância do problema.

Santos (2006) mostrou que a metaheurística DM-GRASP, em sua forma original, é paralelizável e que o comportamento de sua versão paralela é totalmente escalável em relação ao número de processadores, ou seja, o tempo de execução decresce linearmente com o aumento do número de processadores. Um novo desafio é paralelizar a heurística DM-D5, que apresentou o melhor desempenho entre as novas heurísticas. Nesse caso, os pontos de execução do algoritmo de mineração de dados não são conhecidos a priori e ocorrem dinamicamente ao longo da execução da heurística.

Outra linha de investigação a ser iniciada é a hibridização de outras metaheurísticas, como a busca tabu, com a incorporação de um módulo de mineração de dados.

(12)

Referências

Aiex, R.M., Resende, M.G.C. e Ribeiro, C.C. (2007), TTTPLOTS: A perl program to create

time-to-target plots, Optimization Letters, 1, 355-366, 2007

Calvert, K. Doar, M. e Zegura, E. (1997) Modeling Internet topology, IEEE Communications

Magazine, 35:6,160–163.

Festa, P. e Resende, M., GRASP: An annotated bibliography, em Ribeiro, C. C. e Hansen, P.

(Eds.), Essays and Surveys in Metaheuristics, Kluwer Academic Publishers, 325-367, 2002.

Grahne, G. e Zhu, J. (2003), Efficient Using Prefix-Trees in Mining Frequent Itemsets,

Proceedings of the IEEE ICDM Workshop on Frequent Itemset Mining Implementations.

Han, J. e Kamber, M., Data Mining: Concepts and Techniques, Morgan Kaufmann, 2006. Kariv, O. e Hakimi, S. L. (1979), An Algorithmic Approach to Network Location Problems. II:

The p-Medians, SIAM Journal of Applied Mathematics, 37:3, 513-538.

Kasera, S. K., Kurose, J. e Towsley, D. (1998), A Comparison of Server-Based and

Receiver-Based Local Recovery Approaches for Scalable Reliable Multicast, Proceedings of the IEEE

INFOCOM, 988-995.

Li, B., Chen, F. e Yin, L. (2000), Server Replication and its Placement for Reliable Multicast,

Proceedings of the 9th International Conference on Computer Communication and Networks,

396-401.

Nonnenmacher, J., Lacher, M. S., Jung, M., Biersack, E. e Carle, G. (1998), How Bad is

Reliable Multicast without Local Recovery?, Proceedings of the IEEE INFOCOM, 972-979.

Osman, I. e Laporte, G. (1996), Metaheuristics: A Bibliography, Annals of Operations

Research, 63, 513-623.

Resende, M e Ribeiro, C., Greedy Randomized Adaptive Search Procedures, em Glover, F. e

Kochenberger, G. (Eds.), Handbook of Metaheuristics, 219-249, 2003.

Ribeiro, M. H., Plastino, A. e Martins, S. L. (2006), Hybridization of GRASP Metaheuristic

with Data Mining Techniques, Journal of Mathematical Modeling and Algorithms, 5:1, 23-41.

Ribeiro, M.H., Trindade, V., Plastino, A. e Martins, S. (2004), Hybridization of GRASP

Metaheuristic with Data Mining Techniques, Proceedings of the 1st International Workshop on Hybrid Metaheuristics, 69-78.

Santos, L. F. M., Metaheurística Híbrida GRASP-MD: Novas Aplicações e Paralelização,

Dissertação de mestrado, UFF, 2006.

Santos, L. F. M., Milagres, R., Albuquerque, C., Plastino, A. e Martins, S. L. (2006), A

Hybrid GRASP with Data Mining for Efficient Server Replication for Realiable Multicast,

Proceedings of the IEEE GLOBECOM Conference.

Santos, L. F. M., Plastino, A. e Martins, S. L. (2008), Applications of the DM-GRASP

Heuristic: A Survey, International Transactions in Operational Research, a ser publicado.

Santos, L. F. M., Ribeiro, M. H., Plastino, A. e Martins, S. L. (2005), A Hybrid GRASP with

Data Mining for the Maximum Diversity Problem, Proceedings of the International Workshop on

Hybrid Metaheuristics, 69-78.

Referências

Documentos relacionados

Por isso, respondendo a Heurgon acerca de sua tese, Le Goff sinalizou que em função de suas leituras, havia conquistado certa familiaridade com o conjunto da Idade Média,

O CES é constituído por 54 itens, destinados a avaliar: (a) cinco tipos de crenças, a saber: (a1) Estatuto de Emprego - avalia até que ponto são favoráveis, as

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Recentemente foram identificadas marcas de corte para decapitação e desarticu lação das carcaças de cães, assim como de seccionamento e até de queimaduras em ossos,

(2013 B) avaliaram a microbiota bucal de oito pacientes submetidos à radioterapia na região de cabeça e pescoço através de pirosequenciamento e observaram alterações na

Narrativamente consensual, o sexo anal, assim como nas cenas de Sasha Grey, parece destravar a boca como caixa de ressonância.. Olham fixamente

ed è una delle cause della permanente ostilità contro il potere da parte dell’opinione pubblica. 2) Oggi non basta più il semplice decentramento amministrativo.