• Nenhum resultado encontrado

Novas heurísticas para o agrupamento de dados pela soma mínima de distâncias quadráticas

N/A
N/A
Protected

Academic year: 2021

Share "Novas heurísticas para o agrupamento de dados pela soma mínima de distâncias quadráticas"

Copied!
100
0
0

Texto

(1)UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE. U NIVERSIDADE F EDERAL DO R IO G RANDE DO N ORTE C ENTRO DE T ECNOLOGIA P ROGRAMA DE P ÓS - GRADUAÇÃO EM E NGENHARIA E LÉTRICA E DE C OMPUTAÇÃO. Novas heurísticas para o agrupamento de dados pela soma mínima de distâncias quadráticas. Thiago Correia Pereira. Orientador: Prof. Dr. Daniel Aloise. Dissertação de Mestrado apresentada ao Programa de Pós-graduação em Engenharia Elétrica e de Computação da UFRN (Área de concentração: Engenharia de Computação). como parte dos requisitos para obtenção do título de Mestre em Engenharia Elétrica e de Computação.. Número de ordem do PPgEEC: M491 Natal, RN, abril de 2017..

(2)

(3) Universidade Federal do Rio Grande do Norte – UFRN Sistema de Bibliotecas – SISBI Catalogação da Publicação na Fonte - Biblioteca Central Zila Mamede Pereira, Thiago Correia. Novas heurísticas para o agrupamento de dados pela soma mínima de distâncias quadráticas / Thiago Correia Pereira. - 2017. 100 f. : il. Dissertação (Mestrado) - Universidade Federal do Rio Grande do Norte, Centro de Tecnologia, Programa de Pós-Graduação em Engenharia Elétrica e de Computação. Natal, RN, 2017. Orientador: Prof. Dr. Daniel Aloise. 1. Heurística - Dissertação. 2. VNS - Dissertação. 3. MSSC Dissertação. 4. Agrupamento de dados - Dissertação. I. Aloise, Daniel. II. Título. RN/UFRN/BCZM. CDU 162.6.004.

(4)

(5)

(6)

(7) À minha esposa Agda, pelo incentivo e paciência durante a realização deste trabalho..

(8)

(9) Agradecimentos. Primeiramente a Deus, pois sem Ele esta caminhada não seria possível. Ao meu orientador, professor Daniel, sou grato pela orientação, amizade e incentivo. À minha família pelo amor, apoio e estímulo durante esta jornada. Ao professor Nenad pela ajuda e sugestões. Aos meus grandes amigos Rodrigo, Leandro, Daniel e Allyson por todo o auxílio. À CAPES, pelo apoio financeiro..

(10)

(11) Resumo. Devido ao grande volume de dados gerados pelo crescimento de aplicações que provêm novas informações, tanto em volume quanto em variedade, técnicas cada vez mais eficientes são exigidas para classificá-los e processá-los. Uma técnica muito utilizada é o agrupamento de dados, cujo objetivo é extrair conhecimento dos dados através da divisão de entidades em subconjuntos homogêneos e/ou bem separados. Critérios podem ser utilizados para expressar a classificação dos dados. Dentre eles, um critério frequentemente utilizado é a soma mínima das distâncias euclidianas quadráticas, do inglês, minimun sum-of-squares clustering (MSSC). Neste critério, entidades são elementos no espaço n-dimensional. O problema de agrupamento de dados pelo MSSC é NP-árduo, logo heurísticas são técnicas extremamente úteis para este tipo de problema. Este trabalho propõe novas heurísticas, baseadas na busca de vizinhanças variáveis gerais, do inglês, general variable neighborhood search (GVNS). Também é proposto neste trabalho, a adaptação da heurística reformulation descent (RD) para o problema MSSC, na forma de duas variantes, de forma inédita na literatura. Os experimentos computacionais mostram que as variantes GVNS propostas neste trabalho apresentam melhores resultados, para instâncias grandes. Palavras-chave: Heurística, VNS, MSSC, Agrupamento de dados..

(12)

(13) Abstract. Due to the large volume of data generated by the growth of applications that provide new information, both in volume and variety, more efficient techniques are required to classify and processes them. A widely used technique is data grouping whose aim is to extract characteristics of the entities dividing them into homogeneous and/or well separated subsets. Many different criteria can be used to express the data classification. Among them, a commonly used criteria is the minimun sum-of-squares clustering (MSSC). In this criterion, entities are elements in n-dimensional Euclidean space. The data clustering problem by MSSC is NP-hard, then heuristics are extremely useful techniques for this type of problem. This work proposes new heuristics, based on the general variable neighborhood search (GVNS). Also proposed in this work is the adaptation of the heuristic reformulation descent (RD) to the MSSC problem, in the form of two variants, unapplied to this problem before in literature. The computational experiments show that the GVNS variants proposed in this work present better results, in large instances, than the current state of the art. Keywords: Heuristic, VNS, MSSC, Clustering..

(14)

(15) Sumário. Lista de Figuras. iii. Lista de Tabelas. v. Lista de Algoritmos. ix. Lista de Abreviaturas e Siglas. xi. 1. Introdução. 1. 1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.1.1. Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . .. 4. Organização e Estrutura do Texto . . . . . . . . . . . . . . . . . . . . . .. 5. 1.2 2. 3. 4. Revisão da Literatura. 7. 2.1. Método hierárquico Ward . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.2. Heurísticas K-means . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10. 2.3. Heurística H-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2.4. Heurística J-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 2.5. Heurística 1-interchange . . . . . . . . . . . . . . . . . . . . . . . . . .. 17. 2.6. Metaheurística de Busca em Vizinhança Variável . . . . . . . . . . . . .. 19. 2.7. Algoritmo de Suavização . . . . . . . . . . . . . . . . . . . . . . . . . .. 24. Método Proposto. 27. 3.1. Reformulação de Descida . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 3.2. Pontos de Injeção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 3.3. VND misto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 32. 3.4. VND sequencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 3.5. Novas variantes de GVNS para o MSSC . . . . . . . . . . . . . . . . . .. 33. Resultados. 39. 4.1. 39. Experimentos Computacionais . . . . . . . . . . . . . . . . . . . . . . . i.

(16) 4.2 4.3 4.4 5. Comparação entre RD e RD+ . . . . . . . . . . . . . . . . . . . . . . . . Comparação entre variantes de GVNS . . . . . . . . . . . . . . . . . . . Comparação com o Estado da Arte . . . . . . . . . . . . . . . . . . . . .. Considerações Finais. 40 42 44 47. Bibliografia. 49. A Tabelas comparativas das variantes de GVNS. 55. B Tabelas comparativas com o estado da arte. 71.

(17) Lista de Figuras. 2.1 2.2 2.3. Exemplo de execução do algoritmo K-means. . . . . . . . . . . . . . . . Exemplo de execução do algoritmo H-means. . . . . . . . . . . . . . . . Exemplo ilustrativo do uso de suavização. . . . . . . . . . . . . . . . . .. 3.1 3.2. Nova busca local baseada na Reformulação de Descida. . . . . . . . . . . 29 Exemplo da estrutura de vizinhança para a perturbação no VNS para b = 2. 35. iii. 12 14 25.

(18)

(19) Lista de Tabelas. 4.1. Instâncias utilizadas nos experimentos computacionais. . . . . . . . . . .. 40. 4.2. Plataforma utilizada nos experimentos. . . . . . . . . . . . . . . . . . . .. 40. 4.3. Comparativo entre as estratégias RD e RD+. . . . . . . . . . . . . . . . .. 41. 4.4. Comparação dos melhores comportamentos de soluções de cada instância N para cada variante GVNS, com tmax = . . . . . . . . . . . . . . . . . . 2 Comparação das médias de soluções de cada instância para cada variante N GVNS, com tmax = . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Comparação da média dos comportamentos médios de cada variante GVNS N para cada instância, com tmax = . . . . . . . . . . . . . . . . . . . . . 10 Comparação da média do melhor comportamento das variantes GVNS em N cada instância, com tmax = . . . . . . . . . . . . . . . . . . . . . . . 10 Comparação dos comportamentos médios de cada variante GVNS com o SCA para a instância Pla85900, com tmax = 600 . . . . . . . . . . . . . .. 45. Comparação da média dos melhores comportamentos das variantes GVNS para a instância Pla85900, com tmax = 600 . . . . . . . . . . . . . . . . .. 45. 4.5 4.6 4.7 4.8 4.9. 43 43 45 45. A.1 Comparação do comportamento médio de 10 execuções da instância RusN pini para as diferentes variantes GVNS, com tmax = segundos. . . . . . 56 2 A.2 Comparação dos melhores resultados de 10 experimentos da instância N Ruspini para as diferentes variantes GVNS, com tmax = segundos. . . . 57 2 A.3 Comparação do comportamento médio de 10 execuções da instância Grostshel and Holland’s 202 cities coordinates para as diferentes variantes GVNS, N com tmax = segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2 A.4 Comparação dos melhores resultados de 10 experimentos da instância Grostshel and Holland’s 202 cities coordinates para as diferentes variN antes GVNS, com tmax = segundos. . . . . . . . . . . . . . . . . . . . 59 2 A.5 Comparação do comportamento médio de 10 execuções da instância Grostshel and Holland’s 666 cities coordinates para as diferentes variantes GVNS, N com tmax = segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2 v.

(20) A.6 Comparação dos melhores resultados de 10 experimentos da instância Grostshel and Holland’s 666 cities coordinates para as diferentes variN antes GVNS, com tmax = segundos. . . . . . . . . . . . . . . . . . . . 2 A.7 Comparação do comportamento médio de 10 execuções da instância Padberg and Rinald’s hole-drilling para as diferentes variantes GVNS, com N tmax = segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 A.8 Comparação dos melhores resultados de 10 experimentos da instância Padberg and Rinaldi’s hole-drilling para as diferentes variantes GVNS, N com tmax = segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 A.9 Comparação do comportamento médio de 10 execuções da instância Fisher’s N Iris para as diferentes variantes GVNS, com tmax = segundos. . . . . . 2 A.10 Comparação dos melhores resultados de 10 experimentos da instância N Fisher’s Iris para as diferentes variantes GVNS, com tmax = segundos. . 2 A.11 Comparação do comportamento médio de 10 execuções da instância Glass N identification para as diferentes variantes GVNS, com tmax = segundos. 2 A.12 Comparação dos melhores resultados de 10 experimentos da instância N Glass identification para as diferentes variantes GVNS, com tmax = 2 segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 61. 62. 63 64 65 65. 66. A.13 Comparação do comportamento médio de 10 execuções da instância Body N measurements para as diferentes variantes GVNS, com tmax = segundos. 66 2 A.14 Comparação dos melhores resultados de 10 experimentos da instância N Body measurements para as diferentes variantes GVNS, com tmax = 2 segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.15 Comparação do comportamento médio de 10 execuções da instância Telugu Indian vowel sounds para as diferentes variantes GVNS, com tmax = N segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 A.16 Comparação dos melhores resultados de 10 experimentos da instância Telugu Indian vowel sounds para as diferentes variantes GVNS, com N tmax = segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 A.17 Comparação do comportamento médio de 10 execuções da instância Concrete compressive strength para as diferentes variantes GVNS, com tmax = N segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 A.18 Comparação dos melhores resultados de 10 experimentos da instância Concrete compressive strength para as diferentes variantes GVNS, com N tmax = segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. 67. 68. 68. 69.

(21) A.19 Comparação do comportamento médio de 10 execuções da instância Image N segmentation para as diferentes variantes GVNS, com tmax = segundos. 69 10 A.20 Comparação dos melhores resultados de 10 experimentos da instância N Image segmentation para as diferentes variantes GVNS, com tmax = 10 segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 B.1 Comparação do comportamento médio de 10 execuções da instância Reinelt’s hole-dreilling para as variantes GVNS e o algoritmo Smoothing N Clustering, com tmax = segundos. . . . . . . . . . . . . . . . . . . . . 72 10 B.2 Comparação dos melhores resultados de 10 execuções da instância ReiN segundos . . 72 nelt’s hole-dreilling para as variantes GVNS, com tmax = 10 B.3 Comparação do comportamento médio de 10 execuções da instância TSPLIB3038 para as variantes GVNS e o algoritmo Smoothing Clustering, N segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . 73 com tmax = 10 B.4 Comparação dos melhores resultados de 10 execuções da instâncias TSN segundos . . . . . . 73 PLIB3038 para cada variante GVNS, com tmax = 10 B.5 Comparação do comportamento médio de 10 execuções da instância Pla85900 para as variantes GVNS e o algoritmo Smoothing Clustering, com tmax = 600 segundos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 B.6 Comparação dos melhores resultados de 10 execuções da instância Pla85900 para as variantes GVNS, com tmax = 600 segundos . . . . . . . . . . . . 74.

(22)

(23) Lista de Algoritmos. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. Método Ward . . . . . . . . . . . . . . . . Heurística K-means . . . . . . . . . . . . . Heurística K-means+ . . . . . . . . . . . . Heurística H-means . . . . . . . . . . . . . Heurística J-means . . . . . . . . . . . . . Heurística 1-interchange . . . . . . . . . . VNS genérico . . . . . . . . . . . . . . . . VNS básico . . . . . . . . . . . . . . . . . VND sequencial básico . . . . . . . . . . . VND aninhado . . . . . . . . . . . . . . . VND misto . . . . . . . . . . . . . . . . . GVNS . . . . . . . . . . . . . . . . . . . . Algoritmo genérico da RD. . . . . . . . . . Busca Local baseada na RD. . . . . . . . . Passo sequencial de mudança de vizinhança. Forma genérica do GVNS. . . . . . . . . .. ix. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. 9 10 11 15 16 19 20 21 22 22 23 23 28 29 36 36.

(24)

(25) Lista de Abreviaturas e Siglas. GVNS. General Variable Neighborhood Search. MSSC. Minimum Sum-of-Squares Clustering. RD. Reformulation Descent. SCA. Smoothing Clustering Algorithm. VND. Variable Neighborhood Descent. VNS. Variable Neighborhood Search. xi.

(26)

(27) Capítulo 1 Introdução. Na era digital atual, onde a internet e tecnologias online estão bem desenvolvidas, um grande volume de informações é gerado diariamente através da interação entre pessoas e entre pessoas e objetos [Fahad et al. 2014]. Como consequência disso, e com o desenvolvimento de grandes e poderosos data centers, uma grande quantidade de dados pode ser armazenada de forma a ser estudada. Observando as ferramentas utilizadas diariamente por grande parte da população mundial, como redes sociais, armazenamentos em nuvem, web sites, consumo e produção de conteúdos online, é possível perceber o quão presente a geração de dados e informações está em nosso cotidiano. Diversos grupos especulam os potenciais benefícios da análise das informações presentes em plataformas como Twitter, Google, Facebook, Youtube, Wikipedia, nas quais um grande número de usuários produz diariamente um grande volume de dados [Fahad et al. 2014]. Devido a este grande volume de dados produzidos, são necessárias ferramentas que possam ajudar a extrair informações úteis, compactar e classificá-los. Na literatura é feita uma distinção entre classes de modelos de aprendizagem. Os modelos de classificação que fazem uso de técnicas de análises de dados de forma supervisionada, ou seja, quando há um conhecimento prévio a respeito dos dados que estão sendo trabalhados; e os modelos de agrupamento de dados que fazem uso de técnicas de análise de dados de forma não supervisionada, isto é, quando não há conhecimento prévio a respeito dos dados. Devido a ausência de conhecimento prévio dos dados, os modelos de agrupamento de dados podem ser ditos como mais difíceis [Jain 2010]. O objetivo do agrupamento de dados é descobrir grupos naturais em um conjunto de padrões, pontos ou objetos. Seu propósito pode ser descrito como, partindo de uma representação de N objetos, encontrar M grupos baseados em uma medida de similaridade de forma que, objetos em um mesmo grupo sejam bastante similares ao mesmo tempo que objetos de grupos diferentes apresentem baixa similaridade [Hartigan 1975]..

(28) 2. CAPÍTULO 1. INTRODUÇÃO. Na literatura pode ser encontrado o uso do agrupamento de dados em diversas áreas, como diagnósticos médicos, sistemas de informática, marketing e segmentação de imagens. Alguns exemplos de aplicações são: • Na área de diagnósticos médicos o agrupamento de dados foi utilizado em Wang & Garibaldi (2005) para auxiliar na identificação de células cancerígenas. Nesta aplicação os algoritmos de agrupamento de dados analisaram características obtidas através de espectros de infra-vermelho de amostras de tecido. Classificando assim as células em grupos cancerígenos e não cancerígenos. • Em motores de buscas de imagens modernos, existem bilhões de imagens que tornam qualquer simples atividade sobre este grande conjunto não trivial. Em Liu et al. (2007) foi utilizado o agrupamento de dados para trabalhar com um conjunto de 1 bilhão de imagens com a finalidade de melhorar a organização e a navegação neste conjunto identificando imagens repetidas ou bem parecidas. • Na área de sistemas de informática, o agrupamento de dados foi utilizado em Guan et al. (2003) para identificar intrusos em sistemas. Partindo da ideia que em sistemas comuns a maior quantidade de dados trafegados são dados normais, ou seja, não intrusos. A identificação das intrusões foi feita através da observação dos dados de entrada provindos da internet, classificando-os em dados normais e intrusões através da análise de assinaturas dos dados. • Aplicado a reconhecimento de caracteres, Jain et al. (2002) aplicaram o agrupamento de dados para descobrir subclasses em um conjunto de caracteres escritos a mão disponíveis online. Pessoas diferentes escrevem os mesmos dígitos de formas diferentes. Desta forma, a identificação de subclasses de escrita auxilia o processo de reconhecimento de caracteres através da adição de subclasses para um determinado caractere ao invés de uma única classe, o que melhora a precisão no reconhecimento de caracteres. • No estudo de como consumidores se comportam, suas escolhas e preferências, o agrupamento de dados pode ser utilizado na resolução de problemas de marketing. Informações que descrevem um consumidor, como produtos de interesse e avaliações de produtos podem ser utilizadas para prever comportamentos futuros como interesses e compras, baseados em dados de consumidores semelhantes. Em Santi et al. (2016) o agrupamento de dados foi aplicado em dois níveis. No primeiro nível indivíduos são identificados em grupos baseados em suas opiniões sobre um conjunto de produtos. No segundo nível são identificados grupos dos produtos baseados nas opiniões dos indivíduos de cada grupo do primeiro nível, ou seja, é identificado como os o produtos são agrupados e quais são os principais produtos.

(29) 3 em cada um destes grupos. Podem ser citadas ainda outras aplicações como, segmentação de imagens [Sammouda et al. 2015], segmentação de dados [Cornillier et al. 2009], análise de dados biológicos [Hartuv et al. 2000, Pensa & Boulicaut 2008] e distribuição de sensores sem fio [Akkaya et al. 2009] . Apesar da definição do problema do agrupamento de dados ser simples, este problema pode apresentar diferentes variações dependendo do modelo adotado e do tipo de dado que será utilizado [Aggarwal & Reddy 2013]. Entre muitos critérios utilizados no agrupamento de dados, o critério mais natural, intuitivo e frequentemente adotado é o agrupamento pela soma mínima das distâncias quadráticas, do inglês Minimum Sum of Squares Clustering (MSSC) [Xavier & Xavier 2011]. Formalmente, o MSSC tem como objetivo, partindo de um conjunto de entidades X = {x1 , ..., xN }, presentes no espaço euclidiano com d dimensões, separá-las em M conjuntos C j de forma que a soma das distâncias quadráticas entre cada entidade e o centroide x¯ j do conjunto ao qual ela pertence C j seja mínima. Podemos expressar isto conforme descrito na Equação 1.1 em que wi j é uma variável de decisão binária que apresenta valor 1 caso a entidade xi pertença ao conjunto C j e apresenta valor 0 caso contrário. Na Equação 1.1a é definida a função objetivo do problema que deseja minimizar a somatória das distâncias quadráticas de cada entidade xi ao centroide do conjunto ao qual ela pertence. Sendo essa função objetivo restrita pela condição imposta na Equação 1.1b, que determina que cada entidade deve ser atribuída a um único conjunto.. N. M. ∑ wi j ||xi − x¯ j ||2. (1.1a). ∑ wi j = 1, ∀i = 1, ..., N. (1.1b). wi j ∈ {0, 1}, ∀i = 1, ..., N; ∀ j = 1, ..., M,. (1.1c). min ∑ x,x¯. i=1 j=1. sujeito a: M j=1. A formulação do problema do MSSC produz um problema matemático de otimização global não convexo e com um grande número de mínimos locais [Xavier & Xavier 2011]. Em Aloise et al. (2009) foi provado que o problema da soma mínima das distâncias quadráticas é NP-difícil, isto é, critérios de solução exata requerem no pior caso um tempo computacional exponencial no tamanho da instância considerada. Devido a esta com-.

(30) 4. CAPÍTULO 1. INTRODUÇÃO. plexidade, normalmente heurísticas são desenvolvidas para resolver o problema [Hansen et al. 1998]. Neste trabalho, são propostos métodos heurísticos baseado na metaheurística Busca em Vizinhanças Variáveis Gerais, do inglês General Variable Neighborhood Search (GVNS) [Caporossi et al. 1999] para resolver o problema MSSC. Também é proposta a utilização de uma heurística de busca local chamada reformulação de descida, do inglês Reformulation Descent (RD) [Mladenovi´c et al. 2005]. Atualmente esta busca local já foi aplicada para a resolução de outros problemas, como o de empacotamento de círculos [Mladenovi´c et al. 2005] e problema planar das p-medianas [Brimberg et al. 2014]. Porém sua aplicação para resolver o problema de agrupamento de dados pelo critério da soma mínima das distâncias quadráticas é inédita. Os experimentos computacionais mostram que os métodos heurísticos propostos apresentaram resultados inferiores quando comparados ao algoritmo estado da arte em instâncias de tamanho médio. Porém, apresentaram bons resultados, tanto em qualidade quanto em tempo de execução, quando comparados em instâncias de tamanho grande.. 1.1. Objetivo. O objetivo principal deste trabalho consiste em resolver o problema do agrupamento de dados pela soma mínima das distâncias quadráticas eficientemente através de um novo método heurístico baseado na busca em vizinhanças variáveis gerais. Para realizar uma comparação entre os métodos desenvolvidos e os encontrados na literatura testes serão realizados com instâncias benchmark.. 1.1.1. Objetivos Específicos. Os objetivos específicos desta pesquisa estão listados abaixo: 1. Identificar a melhor composição de algoritmos e estratégias para uma nova busca local; 2. Analisar diferentes estratégias de busca local para selecionar candidatas a serem usadas nas variantes GVNS; 3. Implementar o novo método heurístico proposto, RD, com diferentes variantes de busca local; 4. Testar empiricamente quais estratégias de busca local geram melhores resultados;.

(31) 1.2. ORGANIZAÇÃO E ESTRUTURA DO TEXTO. 5. 5. Analisar os experimentos, comparar com o algoritmo estado da arte, e justificar o uso das novas heurísticas propostas.. 1.2. Organização e Estrutura do Texto. Este trabalho está organizado da seguinte forma: no Capítulo 2 é feita uma revisão dos principais métodos utilizados para solução do problema da soma das distâncias mínimas quadráticas que poderão ser utilizados na formação de uma nova busca local; no Capítulo 3 são apresentadas novas heurísticas de busca local bem como o desenvolvimento da nova heurística baseada no GVNS; Em seguida, no Capítulo 4 são apresentados e discutidos os resultados computacionais adquiridos. Por fim, no Capítulo 5 são apresentadas as considerações finais e conclusões a respeito da pesquisa desenvolvida..

(32) 6. CAPÍTULO 1. INTRODUÇÃO.

(33) Capítulo 2 Revisão da Literatura. Em problemas de otimização global, uma solução S do problema é dita ótima quando a solução encontrada é comprovadamente melhor que qualquer outra solução existente no conjunto de soluções S para o problema. Sendo f (S) o valor na função objetivo do problema de minimização temos a Equação 2.1 min f (S)|S ∈ S. (2.1). desta forma uma solução exata do problema, S∗ , satisfaz a seguinte expressão: f (S∗ ) ≤ f (S) ∀ S ∈ S. (2.2). Algoritmos exatos são algoritmos que encontram soluções que satisfazem a equação / Para problemas de otimização 2.2, ou determinam a sua não existência, isto é, S = 0. classificados como NP-difíceis, como é o caso do MSSC, os algorítimos exatos são geralmente não escaláveis, isto é, não conseguem encontrar a solução exata do problema para instâncias grandes em tempo hábil. Com isso, métodos heurísticos foram desenvolvidos para resolver problemas deste tipo. Heurísticas são métodos que utilizam estratégias para resolver problemas de otimização e encontrar soluções próximas do ótimo de maneira mais rápida, porém sem a garantia de que a solução encontrada é ótima. Devido a seu potencial, heurísticas tornaram-se uma alternativa frequentemente utilizada para resolver este tipo de problema. Na literatura é possível encontrar diversos métodos para solução do problema MSSC. Dentre eles podemos citar as heurísticas, K-means [Forgey 1965], K-means global [Likas et al. 2003, Ordin & Bagirov 2015], J-means [Hansen & Mladenovi´c 2001], H-means [MacQueen 1967], algoritmos genéticos [Laszlo & Mukherjee 2006, Laszlo & Mukherjee 2007] e algoritmo de suavização hiperbólica [Xavier 2010]. Apesar de ampla utilização das heurísticas, estas interrompem seu progresso assim.

(34) 8. CAPÍTULO 2. REVISÃO DA LITERATURA. que não conseguem mais melhorar a função objetivo do problema. Levando assim com que estas fiquem presas no primeiro ótimo local encontrado. Com o intuito de evitar tal característica, metaheurísticas foram desenvolvidas. Metaheurísticas conseguem sair de ótimos locais aceitando temporariamente pioras no valor da função objetivo. É possível afirmar então que, Metaheurísticas são heurísticas mais sofisticadas que controlam uma ou mais heurísticas na busca da solução ótima global para o problema abordado. Uma de suas características é o fato de essas não tem um critério de parada definido, quanto mais tempo executam na procura do ótimo global, maior a probabilidade de encontrá-lo. Recentemente, metaheurítiscas para o MSSC aplicadas utilizando a busca tabu [Turkensteen & Andersen 2009], recozimento simulado [Selim & Alsultan 1991], busca genética [Rahman & Islam 2014] e a busca em vizinhança variável [Mladenovi´c & Hansen 1997]. Quando analisamos métodos de solução voltados para o MSSC, podemos classificálos geralmente em dois tipos: métodos de partição e métodos hierárquicos. Métodos hierárquicos produzem partições de um conjunto desejado de acordo com a estratégia adotada, aglomerativa ou divisiva. Na estratégia divisiva, incia-se com o conjunto inicial de grupos (clusters), com apenas um cluster, e de forma sucessiva, biparte-se os clusters até que haja um cluster para cada entidade do conjunto inicial. Na estratégia aglomerativa, o processo realiza-se de forma inversa, partindo de um conjunto onde há um cluster para cada entidade, junta-se sucessivamente dois clusters até que todas as entidades pertençam a um único cluster. Métodos de partição, de forma geral, iniciam com um número de clusters desejado e procuram otimizar uma função objetivo, buscando homogeneidade intracluster e/ou separação entre clusters distintos. Neste capítulo inicialmente é apresentado um método hierárquico na Seção 2.1. Também são apresentadas heurísticas de busca local nas Seções 2.2, 2.3, 2.4 e 2.5. Ainda neste capítulo é apresentada na Seção 2.6, a metaheurística genérica da busca em vizinhança variável, na qual o método desenvolvido neste trabalho se baseia. Por fim, é apresentado o algoritmo encontrado em nossa pesquisa como o estado da arte para o problema do MSSC, na Seção 2.7.. 2.1. Método hierárquico Ward. Apresentado por Ward (1963), o método hierárquico Ward, tem como objetivo formar partições PN , PN−1 , ..., P1 de forma a minimizar a perda de informação associada a cada junção de um par de clusters. Normalmente esta perda de informação é quantificada em.

(35) 2.1. MÉTODO HIERÁRQUICO WARD. 9. termos do critério do erro das somas quadráticas [Aggarwal & Reddy 2013]. Porém, para o caso no qual a matriz de dissimilaridade faz uso de distâncias euclidianas quadráticas, esta pode ser atualizada através das fórmulas de Lance-Williams durante o processo de agrupamento [Wishart 1969]. O método Ward considera inicialmente uma partição na qual cada entidade do problema está atribuída a um cluster. Esta condição inicial é descrita na Igualdade 2.3 N. N. ∑ ∑ wi j = 1. (2.3). i=1 j=1. A partir desta condição inicial, são encontrados dois clusters Ca e Ce cuja junção causa o menor impacto possível na função objetivo. Criado o novo cluster, resultante da junção dos clusters Ca e Ce , é então atualizada a posição do centroide deste novo cluster. Com isso, tem-se uma nova partição de N − 1 clusters. O processo então se repete até que o número desejado de clusters finais seja atingido. No Algoritmo 1 o passo a passo deste método pode ser observado.. Algoritmo 1 Método Ward 1. Iniciando a partir de uma partição incial C j , j = 1, ..., N do conjunto de entidades X = {x1 , x2 , ..., xN } onde x¯ j são os centroides correspondentes de cada cluster. 2. Encontre o um par de clusters Ca e Ce cuja junção representa o menor acréscimo a função objetivo, ou seja, encontre na matriz de dissimilaridades a posição que corresponde ao menor valor da matriz onde a e e são diferentes. 3. Faça a fusão dos clusters Ca e Ce e atualize a matriz de dissimilaridades agora com um novo cluster Ca ∪Ce . 4. Caso o número desejado de clusters tenha sido atingido, pare. Caso contrário, volte para o Passo 2 com menos um cluster na nova partição encontrada.. Para o caso do MSSC, que faz uso de distâncias Euclidianas quadráticas, como mencionado anteriormente, no passo de atualização da matriz de dissimilaridades podem ser utilizadas as fórmulas de Lance-Williams. Desta forma, para cada cluster C j da partição, a sua distância, na matriz de dissimilaridades, para um novo cluster criado pela fusão Ca ∪Ce representada por D(C j ,Ca ∪Ce ) pode ser calculada pela Equação 2.4, onde na , ne e n j são o número de entidades associadas aos clusters Ca ,Ce e C j , respectivamente..

(36) 10. CAPÍTULO 2. REVISÃO DA LITERATURA. D(C j ,Ca ∪Ce ) =. ne + n j nj na + n j D(Ca ,C j ) + D(Ce ,C j ) − D(Ca ,Ce ) na + ne + n j na + ne + n j na + ne + n j (2.4). O uso desta equação proporciona uma melhoria no processo de atualização da matriz de distâncias, assim evitando que todas as distâncias tenham que ser recalculadas em relação a este novo cluster criado.. 2.2. Heurísticas K-means. A heurística K-means foi inicialmente proposta por Forgey (1965). Esta heurística aparece constantemente na literatura apesar da sua data de criação. Este fato ocorre devido a sua eficiência e fácil implementação. Sua associação ao problema do MSSC é tão comum que em alguns casos é chamado de problema do K-means. Para o funcionamento do K-means é necessária uma solução inicial do problema, podendo esta solução inicial ser aleatória ou construída. Inicia-se de uma partição inicial, onde cada entidade xi está atribuída a um cluster C j com centroide x¯ j . Toda entidade xi é atribuída para o cluster C j que possui o centroide mais próximo x¯ j . Caso não ocorra modificações nas atribuições, a heurística para. Caso contrário, a posição de todos os centroides é atualizada, e assim o processo se repete até que não haja mais mudanças nas atribuições das entidades aos centroides. O cálculo de cada centroide é descrito pela Equação 2.5 para cada dimensão d. x¯dj. d ∑N i=1 wi j xi = N ∑i=1 wi j. (2.5). O algoritmo do K-means é descrito no Algoritmo 2. Algoritmo 2 Heurística K-means 1. Iniciando a partir de uma partição incial C j , j = 1, ..., M do conjunto X onde x¯ j são os centroides correspondentes de cada cluster. 2. Atribua cada entidade xi (i = 1, ..., N) ao seu centroide mais próximo x¯ j . 3. Se alguma mudança nas atribuições ocorrer, atualize a localização de cada centroide x¯ j e retorne para o Passo 2, caso contrário, um ótimo local foi encontrado e algoritmo para.. Como um pequeno exemplo, podemos considerar a Figura 2.1a como uma solução inicial obtida de forma aleatória para o K-means. Partindo da solução inicial, cada enti-.

(37) 2.2. HEURÍSTICAS K-MEANS. 11. dade será atribuída ao cluster cujo centroide se encontra mais próximo. No caso, como demonstra a Figura 2.1b, apenas as entidades x1 e x3 mudarão de atribuição. Na Figura 2.1c temos uma ilustração de como está a solução após a mudança, porém, antes do passo de atualização de centroides. Por fim, na Figura 2.1d ocorre o passo de atualização da posição de centroides e retorna-se para o primeiro passo. Como todas as entidades estão atribuídas aos clusters de centroide mais próximos, nenhuma mudança nas atribuições é feita e o algoritmo para em um mínimo local. Apesar de boa eficiência e fácil implementação, o K-means apresenta algumas desvantagens. Uma desvantagem é que a solução da heurística depende fortemente da solução inicial. Sabendo desta desvantagem, muitos trabalhos podem ser encontrados voltados para sua solução. Como exemplo, o trabalho não publicado de Hansen et al. apresentou um estudo sobre 25 métodos de inicialização encontrados na literatura. Outra característica do K-means ocorre em casos que a heurística apresenta a solução final com degeneração, isto é, quando a solução apresenta menos clusters que os desejados M. Em seu trabalho Hansen & Mladenovi´c (2001) propuseram uma solução para esta característica. Dada uma solução degenerada com t clusters vazios, t entidades, com a maior distância quadrática de seus centroides, são selecionadas e realocadas para os t clusters vazios. Com esta modificação, uma nova solução de menor custo é gerada, e devido a possibilidade de melhoria da solução, o processo do K-means é recomeçado. Esta modificação foi chamada de K-means+. Posteriormente em Aloise et al. (2016) foi feito um estudo sobre soluções para resolver o problema da degeneração e este foi o método encontrado como mais eficiente. Devido a esta melhoria o K-means+ foi escolhido para ser utilizado na pesquisa. O algoritmo da heurística pode ser observado no Algoritmo 3.. Algoritmo 3 Heurística K-means+ 1. Iniciando a partir de uma partição incial C j , j = 1, ..., M do conjunto X onde x¯ j são os centroides correspondentes de cada cluster. 2. Atribua cada entidade xi (i = 1, ..., N) para seu centroide mais próximo x¯ j . 3. Se nenhuma mudança nas atribuições ocorrer, um ótimo local foi encontrado. Se a solução não está degenerada o algoritmo para, caso contrário, se está degenerada com t clusters vazios, encontre t entidades que possuem a maior distância de seus centroides. Atribua cada uma para os t clusters vazios e retorne para o Passo 2. 4. Atualize a localização de cada centroide x¯ j e retorne para o Passo 2..

(38) 12. CAPÍTULO 2. REVISÃO DA LITERATURA. (a) Ilustração da solução inicial aleatória para o algoritmo K-means.. (b) Ilustração do primeiro passo do K-means.. (c) Resultado após a mudança das entidades x1 (d) Ilustração do passo de atualização da posie x3 . ção dos centroides do algoritmo K-means.. Figura 2.1: Exemplo de execução do algoritmo K-means..

(39) 2.3. HEURÍSTICA H-MEANS. 2.3. 13. Heurística H-means. Outra heurística bem conhecida é a heurística H-means, apresentada por MacQueen (1967). Esta tem como princípio atuar sobre a solução analisando uma entidade por vez. A partir de uma solução inicial, o algoritmo, para cada entidade xi , encontra-se o cluster C j , cujo o impacto na solução da mudança da entidade xi do cluster ao qual ela pertence Cl para o cluster C j apresenta melhoria. Caso exista uma mudança que apresente melhoria, esta é feita de imediato, seguida da atualização das posições dos centroides da solução. Desta forma, o processo se repete até que nenhuma melhoria possa ser encontrada, isto é, nenhuma mudança nas atribuições das entidades proporciona melhoria na solução. Diferente da heurística K-means, o H-means muda a atribuição de uma entidade por vez, e logo após atualiza a posição dos centroides. Partindo de um pequeno exemplo, na Figura 2.2a temos uma solução inicial aleatória para o algoritmo H-means. Na Figura 2.2b é ilustrado o início do primeiro passo, inciando pelas entidades x1 e x2 , nenhuma mudança de atribuição acarreta em melhoria da solução. Na entidade x3 , é encontrada uma melhoria através da mudança de sua atribuição do cluster de cor azul para o cluster de cor rosa. Assim a mudança é realizada seguida da atualização das posições dos centroides c1 e c2 , apresentada na Figura 2.2c. Continuando o processo, as possíveis mudanças das entidades x4 e x5 não apresentam melhoria na solução, assim o primeiro passo é repetido. Novamente, começando pela entidade x1 , nenhuma mudança de atribuição acarreta em melhoria para a solução. Seguindo para a próxima entidade, na Figura 2.2d, x2 apresenta melhoria na solução através da mudança de atribuição do cluster rosa para o cluster de cor laranja. Após identificação da melhoria, a mudança ocorre seguida da atualização dos centroides, como demonstra a Figura 2.2e. Finalizada a atualização, as entidades x3 , x4 e x5 são visitadas mas nenhuma melhoria é encontrada. Como uma melhoria foi encontrada nesta iteração, o processo se repete. Todas as entidades são novamente visitadas, porém, desta vez nenhuma melhoria é encontrada pela mudança de atribuição das entidades, então o algoritmo para em um ótimo local. Em Späth (1980) foram sugeridas fórmulas que tornam fácil obter a nova posição dos centroides e o impacto no custo da solução quando uma entidade xi é designada de um cluster Cl para um cluster C j . Para calcular a mudança na posição dos centroides a seguinte fórmula pode ser utilizada, onde nl e n j representam as quantidades de entidades atribuídas aos clusters Cl e C j respectivamente. x¯l ←. nl x¯l − xi , nl − 1. x¯ j ←. n j x¯ j + xi nj +1. (2.6).

(40) 14. CAPÍTULO 2. REVISÃO DA LITERATURA. (a) Ilustração da solução inicial aleatória para o (b) Ilustração da melhoria identificada, provenialgoritmo H-means. ente da mudança na atribuição de x3 .. (c) Passo de atualização da posição dos centroi- (d) Ilustração da melhoria identificada, provenides após uma mudança. ente da mudança na atribuição de x2 .. (e) Composição final da solução do algoritmo H-means após a finalização do algoritmo.. Figura 2.2: Exemplo de execução do algoritmo H-means..

(41) 2.3. HEURÍSTICA H-MEANS. 15. O impacto no custo da solução pode ser calculado pela seguinte fórmula:. vi j =. nj nl ||x¯ j − xi ||2 − ||x¯l − xi ||2 , xi ∈ Cl nj +1 nl − 1. (2.7). A heurística H-means é mostrada no Algoritmo 4.. Algoritmo 4 Heurística H-means 1. Iniciando a partir de uma partição incial C j , j = 1, ..., M do conjunto X onde x¯ j são os centroides correspondentes de cada cluster. 2. Para cada entidade xi (i = 1, ..., N) a. Defina vi j como o impacto no custo da solução de mudar a entidade xi para o cluster C j. b. Se vi j apresenta melhoria, realize a mudança e atualize a posição dos centroides. Caso contrário, continue para a próxima entidade. 3. Caso nenhuma mudança nas atribuições ocorra, um mínimo local foi encontrado e o algoritmo para, caso contrário retorne para o Passo 2.. No H-means, quanto ao passo de melhoria, é possível abordar duas estratégias; maior melhoria e primeira melhoria. Para o caso da primeira melhoria, durante a busca descrita na linha 2 do Algoritmo 4, a mudança de atribuição, de cada entidade, é feita para o primeiro cluster cujo impacto na solução apresenta melhoria. Ou seja, não há certeza que a mudança realizada é a que apresenta melhor impacto na solução dentre todas as possíveis para a entidade visitada. Para o caso de maior melhoria, primeiramente são analisados todos os impactos na solução provenientes das possíveis mudanças de uma entidade. A partir destes impactos, é então escolhido o que apresenta a maior melhoria para a solução. Em Hansen & Mladenovi´c (2006), foi feito um estudo a respeito da utilização dessas duas estratégias com diferentes soluções iniciais para avaliar o desempenho do algoritmo Hmeans. Como resultado, foi identificado que para os casos em que a solução inicial é de baixa qualidade a estratégia primeira melhoria apresenta melhor comportamento. Já para o caso de soluções iniciais de boa qualidade a estratégia maior melhoria foi a indicada. Basado nestas conclusões, a estratégia adotada por este trabalho foi a maior melhoria..

(42) 16. CAPÍTULO 2. REVISÃO DA LITERATURA. 2.4. Heurística J-means. Uma importante heurística para o problema do MSSC, é o algoritmo J-means. Este foi desenvolvido por Hansen & Mladenovi´c (2001) baseado na ideia de que em casos onde o valor de M é grande, as melhores posições para os centroides podem estar localizadas na posição de entidades na solução. Partindo do conceito de que uma entidade é dita ocupada quando existe um centroide localizado na sua posição. A heurística J-means para cada entidade xi não ocupada, insere na solução um novo centroide x¯M+1 localizado em sua posição tornando assim a solução com M +1 clusters. A partir disto, é verificado qual o melhor centroide x¯ j a ser retirado da solução para que o número de clusters volte a ser o desejado inicialmente M. O impacto na função objetivo vi j é calculado referente a mudança na solução com o par de entrada e saída (x¯i e x¯ j ). Ao final, encontrado o melhor impacto na função objetivo vi0 j0 , é feita a mudança na solução seguida da atualização das atribuições de entidades a clusters. O processo então é reiniciado até que não haja mais um par de centroides de entrada e saída que melhore a solução. A heurística J-means é mostrada no Algoritmo 5 Algoritmo 5 Heurística J-means 1. (Inicialização): Seja SM = {C j } ( j = 1, ..., M), x¯ j ( j = 1, ..., M) e fopt , a partição inicial do conjunto de entidades X, os centroides correspondentes, e o valor da função objetivo, respectivamente. 2. (Pontos ocupados): Encontre os pontos não ocupados, i.e., as entidades que não coincidem com o centroide de algum cluster, com uma pequena tolerância. 0 e o seu valor correspondente da 3. (Movimento de salto): Encontre a melhor partição SM 0 função objetivo f no movimento de salto da solução atual SM .. 4. (Término ou movimento): Se f 0 > fopt , pare (um mínimo local foi encontrado na itera0 (S ← S0 , f ção anterior.); caso contrário mova para a melhor solução vizinha SM M M opt ← 0 f ) e retorne para o passo 2.. O passo 3 ainda pode ser desmembrado para sua simplificação: • Para cada j( j = 1, ..., M) repita os seguintes passos: (a) Realocação: Adicione um novo centroide x¯M+1 na localização de uma entidade não ocupada xi e encontre o índice j do melhor centroide para ser removido; assuma vi j a mudança no valor da função objetivo referente a inserção do novo centroide e remoção do centroide x¯ j ..

(43) 2.5. HEURÍSTICA 1-INTERCHANGE. 17. (b) Mantenha o melhor: Guarde o par de índices i0 e j0 , onde vi j é mínimo. • Mova: Substitua o centroide x¯ j por xi , e atualize as atribuições das entidades para 0 ; defina os clusters mais próximos com a finalidade de obter a nova partição SM f 0 := fopt + vi0 j0 .. Devido a um alto custo computacional no passo 3 do algoritmo, é importante que este seja o mais otimizado possível. Em Whitaker (1983) e Hansen & Mladenovi´c (1997), foi proposta uma implementação eficiente para o passo 3 descrito. Esta melhoria foi chamada de Fast interchange. Devido a sua eficiência, esta proposta foi utilizada no algoritmo da pesquisa.. J-means+. Ainda em seu trabalho Hansen & Mladenovi´c (2001), propuseram uma modificação no algoritmo J-means, tornando-o uma heurística híbrida. Esta modificação consiste em executar os algoritmos K-means e H-means sobre cada melhoria do algoritmo J-means. Esta resultante híbrida foi então chamada de J-means+.. 2.5. Heurística 1-interchange. Semelhante ao algoritmo J-means a heurística 1-interchange é voltada para o problema das p-medianas. O objetivo deste problema é particionar as entidades em M clusters, de forma que a soma das distâncias entre cada entidade e o objeto central (i.e. mediana) do seu respectivo cluster seja mínima. Este problema permite realizar o agrupamento de dados considerando cada entidade do problema como uma candidata a centro do cluster. Seja um conjunto de N entidades X = {x1 , ..., xN }, presentes no espaço euclidiano com d dimensões, são então definidas M potenciais medianas y ∈ X. Dentre todas as medianas, são selecionadas M para serem centros dos clusters C j ( j = 1, ..., M). Como todos os possíveis centros dos clusters são conhecidos, o problema das pmedianas é considerado como um problema discreto. Desta forma, é possível formulá-lo através da programação inteira. Seja wi j uma variável de decisão binária, que assume valor 1 caso a entidade xi esteja designada ao cluster C j , e 0 caso contrário. Assim, a formulação pode ser descrita pela Equação 2.8..

(44) 18. CAPÍTULO 2. REVISÃO DA LITERATURA. N. min ∑. M. ∑ wi j ||xi − y j ||2. (2.8a). i=1 j=1. sujeito a: M. ∑ wi j = 1,. ∀i = 1, ..., N. (2.8b). j=1. yj ∈ X. ∀ j = 1, ..., M. wi j ∈ {0, 1},. ∀i = 1, ..., N,. (2.8c) ∀ j = 1, ..., M,. (2.8d). onde y j , que pertence ao conjunto de entidades candidatas X, pela restrição (2.8c), é a mediana selecionada para o clusters C j . As restrições (2.8b) definem que cada entidade xi só pode estar designada a um único cluster C j .. Analisando as formulações dos dois problemas, p-medianas e MSSC, é possível perceber uma grande semelhança entre eles. Em ambas as formulações, é considerada a distância quadrática entre as entidades e os centros dos clusters. Quanto a diferença, é possível citar a não obrigatoriedade do centro de um cluster coincidir com a localidade de uma entidade, no problema MSSC, enquanto no problema das p-medianas há esta restrição.. A heurística 1-interchange, inicialmente apresentada por Teitz & Bart (1968), possui a ideia principal bastante semelhante a heurística J-means apresentada na seção anterior. A diferença entre os algoritmos, essencialmente ocorre no número de candidatos a centros dos clusters, na 1-interchange o número de candidatos a centros não obrigatoriamente deve ser N, podendo ser mais ou menos, enquanto para o J-means sempre haverá N candidatos a centros dos clusters. No Algoritmo 6 são detalhados os passos de funcionamento da heurística 1-interchange.. Como mencionado anteriormente, para esta heurística também foi utilizada a estratégia para acelerar este algoritmo, proposta por Whitaker (1983) e Hansen & Mladenovi´c (1997)..

(45) 2.6. METAHEURÍSTICA DE BUSCA EM VIZINHANÇA VARIÁVEL. 19. Algoritmo 6 Heurística 1-interchange 1. Partindo de uma solução inicial e sendo fopt o valor da função objetivo. 2. Encontre todas as entidades não ocupadas, neste caso, são todas as entidades xi que não coincidem com qualquer outra mediana y j . 3. Para cada entidade não ocupada xi , adicione uma nova mediana yM+1 na localidade xi e encontre o índice da melhor mediana a ser removida. Denote vi j como o impacto na função objetivo referente a esta mudança. 4. Encontre o melhor i0 e j0 onde vi j é mínimo. 5. Mude a posição de y j0 para xi0 e atualize as atribuições de cada entidade a seu cluster com o intuito de obter a nova solução f 0 = fopt + vi0 j0 . 6. Se f 0 > fopt então pare. Caso contrário, mova para a nova solução obtida, faça fopt = f 0 e recomece o passo 2 partindo desta nova solução.. 2.6. Metaheurística de Busca em Vizinhança Variável. Uma metaheurística é um algoritmo desenvolvido para resolver, aproximadamente, uma grande diversidade de problemas, sem ter uma adaptação profunda para cada problema [Boussaïd et al. 2013]. Apresentada por Mladenovi´c & Hansen (1997), a metaheurística busca em vizinhança variável, do inglês Variable Neighborhood Search (VNS) consiste na exploração de estruturas de vizinhanças em busca da solução ótima (ou próxima da ótima). Na literatura é possível encontrar o VNS associado a um elevado número de aplicações para o problema de agrupamento de dados [Belacel et al. 2002, Hansen et al. 2012, Hansen & Mladenovi´c 2001, Santi et al. 2016]. De forma genérica, a vizinhança de uma solução S pode ser descrita como um conjunto de soluções próximas, definidas por uma função de vizinhança B. Desta forma, toda solução contida em B(S) pode ser dita vizinha de S. Em geral, vizinhanças de uma solução dependem do problema que está sendo estudado e nenhuma regra geral pode ser utilizada. Para um problema específico, diferentes estruturas de vizinhanças podem ser utilizadas, inclusive a associação de diferentes estruturas. No caso do MSSC, podemos definir uma estrutura de vizinhança que apresenta o conjunto de soluções obtidas através de uma simples modificação na atribuição das entidades aos clusters. Para resolver problemas de otimização, a metaheurística VNS baseia-se nas seguintes.

(46) 20. CAPÍTULO 2. REVISÃO DA LITERATURA. observações: • O mínimo local de uma estrutura de vizinhança, não necessariamente é o mínimo local de outra estrutura de vizinhança. • Um ótimo global é um ótimo local em relação a todas a estruturas de vizinhanças • A maioria dos ótimos locais estão relativamente próximos uns dos outros. Para aplicação da metaheurística VNS, é necessária a definição de alguns procedimentos essenciais, o procedimento de pertubação, procedimento de melhoria e o passo de mudança de vizinhança. O VNS é descrito no Algoritmo 7 de forma genérica. Algoritmo 7 VNS genérico 1. Partindo de uma solução inicial S. 2. Defina b ← 1 para início da exploração de vizinhanças. 3. Encontre S0 como resultado da aplicação do procedimento de pertubação da solução S na estrutura de vizinhança Bb 4. Encontre S00 como resultado da aplicação do procedimento de melhoria na solução S0 com a estrutura de vizinhança Bb . 5. Mude de vizinhança seguindo os critérios do passo de mudança de vizinhança. 6. Se b ≤ bmax retorne para o Passo 3. 7. Caso o critério de parada tenha sido alcançado, pare; senão recomece pelo Passo 2.. O procedimento de perturbação tem o objetivo de evitar que o algoritmo fique preso em mínimos locais. Supondo uma sequência de vizinhanças B1 , B2 , ..., Bmax , para evitar a prisão em ótimos locais, a perturbação, partindo de uma solução S, seleciona aleatoriamente uma solução na vizinhança Bb , 1 ≤ b ≤ bmax para ser explorada. Desta forma, caso o algoritmo tenha ficado preso na vizinhança anterior, a exploração poderá ser feita na nova vizinhança em busca de um melhor mínimo local. Para o passo de mudança de vizinhança podem ser encontradas várias estratégias sendo a mais comum e utilizada o passo de mudança sequencial. O passo sequencial define que as estruturas de vizinhanças sejam exploradas de forma sequencial, dessa forma, definida uma sequência de vizinhanças {B1 , B2 , B3 } o VNS explora cada uma delas na ordem definida. Caso uma melhoria seja encontrada em alguma delas a sequência volta a ser explorada a partir da primeira estrutura de vizinhança da sequência, caso contrário a exploração continua para a próxima vizinhança..

(47) 2.6. METAHEURÍSTICA DE BUSCA EM VIZINHANÇA VARIÁVEL. 21. Nos procedimentos de melhoria podemos destacar dois tipos, a busca local e a descida em vizinhança variável (do inglês, Variable Neighborhood Descent - VND). Um procedimento de melhoria pela busca local consiste na exploração de uma única estrutura de vizinhança de uma solução S em cada iteração. Em uma busca local, partindo de uma solução S, em cada iteração é encontrada uma solução melhor S0 (caso exista) dentro da mesma estrutura de vizinhança. A busca local tem sua finalização quando um ótimo local, da estrutura de vizinhança utilizada, é encontrado. Como busca local na metaheurística VNS, diferentes heurísticas podem ser utilizadas, por exemplo, K-means, H-means, J-means e até mesmo outras metaheurísticas. Ao aplicar a busca local como procedimento de melhoria para o VNS, este passa a ser chamado de VNS básico. No Algoritmo 8 é apresentada a nova estrutura desta metaheurística. Algoritmo 8 VNS básico 1. Partindo de uma solução inicial S. 2. Defina b ← 1 para início da exploração de vizinhanças. 3. Encontre S0 como resultado da aplicação do procedimento de pertubação da solução S na estrutura de vizinhança Bb 4. Encontre S00 como resultado da aplicação da busca local na solução S0 . 5. Mude de vizinhança seguindo os critérios do passo de mudança de vizinhança. 6. Se b ≤ bmax retorne para o Passo 3. 7. Caso o critério de parada tenha sido alcançado, pare; senão recomece pelo Passo 2.. O VND parte do princípio que uma solução que é ótimo local de várias estruturas de vizinhanças, é mais provável que seja um ótimo global do que um ótimo local de apenas uma vizinhança. Mais precisamente, o VND explora várias estruturas de vizinhanças de forma sequencial ou aninhadas para melhorar uma solução dada [Hansen et al. 2016]. O VND sequencial básico, explora várias estruturas de vizinhanças em uma sequência pré-determinada até que uma melhoria na solução inicial S seja encontrada. Quando encontrada uma solução melhor, a lista de estruturas de vizinhanças volta a ser percorrida pelo início. O processo então repete até que o VND explore todas as estruturas de vizinhanças sem melhoria na solução. No Algoritmo 9 são apresentados os procedimentos que compõem este passo de melhoria. O VND aninhado explora um grande número de estruturas de vizinhanças obtidas.

(48) 22. CAPÍTULO 2. REVISÃO DA LITERATURA. Algoritmo 9 VND sequencial básico 1. Partindo de uma solução inicial S e sendo f (S) o valor da função objetivo. 2. Defina S0 ← S e b ← 1 para que inicio seja dado pela primeira vizinhança. 3. Encontre uma solução S00 na vizinhança Bb , se existir, de tal forma que f (S00 ) < f (S). 4. Se f (S00 ) < f (S), faça S ← S00 e mova para a próxima vizinhança, ou seja, b ← b + 1. Senão, apenas mova para a próxima vizinhança b ← b + 1. 5. Se b < bmax então volte para o Passo 3. 6. Se f (S0 ) ≤ f (S) então pare com a solução resultado S0 . Senão recomece pelo Passo 2.. através de uma composição de varias vizinhanças. Basicamente, quando uma estrutura de vizinhança B1 é explorada, para cada solução nesta estrutura de vizinhança outra estrutura de vizinhança pré-definida é explorada, sendo assim B1 (B2 ). A primeira estrutura de vizinhança B1 então volta a ser explorada após o término da exploração da estrutura de vizinhança aninhada B2 . Podemos citar como exemplo um VND aninhado com três estruturas de vizinhanças B1 , B2 e B3 . Ao explorar a primeira vizinhança B1 , esta mapeia a solução em uma outra estrutura de vizinhança, por exemplo, B2 . Desta forma podemos dizer que, a estrutura de vizinhança de um VND aninhado pode ser vista como uma combinação de vizinhanças B(S) = (B1 (B2 (B3 ))) para o caso em que o número de estruturas de vizinhanças definidas é três. Para melhor compreensão, no Algoritmo 10 são apresentados os passos deste passo de melhoria. Algoritmo 10 VND aninhado 1. Partindo de uma solução inicial S, sendo f (S) o valor da função objetivo e B∗ = B1 ◦ B2 ◦ ... ◦ Bmax a combinação de todas as estruturas de vizinhanças. 2. Defina S0 ← S. 3. Encontre uma solução S na vizinhança B∗ , se existir, de tal forma que f (S) < f (S0 ). 4. Se f (S0 ) ≤ f (S) então pare com a solução resultado S0 . Senão recomece pelo Passo 2.. Por fim, temos o VND misto, este é formado quando há tanto estruturas de vizinhanças aninhadas como sequenciais. Isto é, dadas estruturas de vizinhanças aninhadas, ao explorar cada uma delas, um VND sequencial é explorado. Seja B0 = {B1 , ..., Bz } o con-.

(49) 2.6. METAHEURÍSTICA DE BUSCA EM VIZINHANÇA VARIÁVEL. 23. junto de vizinhanças aninhadas, cada vez que uma solução é visitada nesta estrutura, um conjunto de vizinhanças sequenciais B00 = {Bz+1 , ..., Bmax } é visitado. No Algoritmo 11 são apresentados os passos do funcionamento deste passo de melhoria. Algoritmo 11 VND misto 1. Partindo de uma solução inicial S, sendo f (S) o valor da função objetivo e B∗ = B1 ◦ B2 ◦ ... ◦ Bz a combinação das estruturas de vizinhanças aninhadas. 2. Defina S0 ← S. 3. Para cada solução encontrada na vizinhança B∗ (a) Encontre a solução S00 resultado da aplicação do VND sequencial básico na solução S com as estruturas de vizinhanças B00 = Bb+1 , ..., Bmax (b) Se f (S00 ) ≤ f (S0 ) então S0 ← S00 . 4. Se nenhuma melhoria for encontrada pelo passo 3, pare. Caso contrário retorne para o Passo 2.. Quando o VND é escolhido como procedimento de melhoria no VNS genérico, esta metaheurística passa a ser chamada de busca em vizinhanças variáveis gerais (GVNS), sendo esta aplicada pela primeira vez para o problema de grafos extremos [Caporossi et al. 1999], porém a nomenclatura GVNS ainda não era utilizada. No Algoritmo 12 estão apresentados os passos desta variante. Algoritmo 12 GVNS 1. Partindo de uma solução inicial S. 2. Defina b ← 1 para início da exploração de vizinhanças. 3. Encontre S0 como resultado da aplicação do procedimento de pertubação da solução S na estrutura de vizinhança Bb 4. Encontre S00 como resultado da aplicação do VND na solução S0 . 5. Mude de vizinhança seguindo os critérios do passo de mudança de vizinhança. 6. Se b ≤ bmax retorne para o Passo 3. 7. Caso o critério de para tenha sido alcançado, pare; senão recomece pelo Passo 2..

(50) 24. 2.7. CAPÍTULO 2. REVISÃO DA LITERATURA. Algoritmo de Suavização. A ideia básica dos algoritmos de suavização na solução de problemas de otimização não diferenciáveis é transformá-los em um problema diferenciável equivalente. Isto é feito adicionando alguns valores pequenos em pontos não suaves, tornando a função original diferenciável. Uma vez que podem haver muitas funções não diferenciáveis no modelo de otimização restrita, pode ser necessária a introdução de uma grande quantidade de valores pequenos no modelo. Com isso, o modelo torna-se mais fácil de resolver por métodos de otimização não-linear (como métodos de gradiente ou de Newton), porém a estimativa destes parâmetros adicionais e a forma como tendem a zero, torna esta ideia computacionalmente complexa. O problema MSSC na sua formulação original é diferenciável e não convexo. Nos algoritmos de suavização hiperbólica de Xavier (2010) e Xavier & Xavier (2011), o MSSC é transformado em formulações não diferenciáveis, mas convexas, adicionando novos parâmetros (representados como números pequenos) que devem tender a zero no intuito de obter formulações equivalentes. Então, o problema é solucionado pelo método do gradiente para um conjunto inicial de valores para os parâmetros. Em cada iteração dos procedimentos de suavização, um problema de otimização de suavização é resolvido. Estes, diferem apenas nos valores dos parâmetros que tendem a zero. A última variante do algoritmo de suavização, chamada de algoritmo de suavização de agrupamento de dados incremental (do inglês, Smooth Incremental Clustering Algorithm - (SCA)) foi proposta por Bagirov et al. (2015). Algoritmos incrementais tem como objetivo, adicionar um novo cluster, otimamente, de cada vez até atingir o número desejado de clusters no problema. Como exemplo de algoritmos que trabalham desta forma, é possível citar os algoritmos K-means global, Likas et al. (2003), e o K-means global modificado, Ordin & Bagirov (2015). Como exemplo de suavização, pode-se observar a Figura 2.3. Na Figura 2.3a, é apresentado um exemplo de uma função não convexa com vários mínimos locais. Na Figura 2.3b, é apresentado um exemplo ilustrativo do que poderia ser uma função suavizada convexa da função na Figura 2.3a..

(51) 2.7. ALGORITMO DE SUAVIZAÇÃO. (a) Exemplo do função não convexa com muitos mínimos locais.. 25. (b) Ilustração de uma possível suavização.. Figura 2.3: Exemplo ilustrativo do uso de suavização..

(52) 26. CAPÍTULO 2. REVISÃO DA LITERATURA.

Referências

Documentos relacionados

A elaboração das atividades pautou-se em quatro pontos importantes enumerados por Sasseron (2011) para fundamentar o planejamento de Sequências de Ensino

Grupo: RESUMO.

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

O objetivo do presente estudo foi avaliar se há diferença no número de linfonodos e em determi- nados parâmetros histopatológicos em peça cirúrgica de pacientes com câncer

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Este estudo foi desenvolvido com o objetivo de estimar a prevalência do consumo de álcool entre acadêmicos de Educação Física de uma universidade pública,

Considerando que a resolução de problemas está intimamente relacionada a procedimentos, nesta aula, discutiremos a natureza dos procedimentos e sua classificação,

Especificamente, a organização do currículo do curso de Técnico em Logística , na modalidade integrada ao Ensino Médio, cuja denominação está de acordo com