• Aucun résultat trouvé

Experiments to Eliminate the Data Copy from User to Kernel Space

Atualmente existem muitas propostas de meta-heurísticas na literatura. Apesar dessa grande variedade e de muitas terem sido desenvolvidas em épocas contemporâneas, pouca interação ocorreu entre os grupos de pesquisa que as projetaram. Isto se justica pelo

Algoritmo 9 Kmeans

1: escolha aleatoriamente k elementos como os centróides para os k clusters; 2: repetir

3: atribua cada elemento e a um cluster de modo que a distância entre e e o centróide

do cluster é a menor dentre os k clusters;

4: recalcule o centróide de cada cluster c, com base nos elementos atribuídos à c 5: até que que nenhuma mudança ocorra

6: return os k clusters

fato de as meta-heurísticas terem obtido sucesso considerável: para muitos problemas, elas rapidamente se tornaram as soluções mais ecientes do estado-da-arte. Apenas quando se tornou claro que o paradigma de meta-heurística pura atingiu seus limites, a comunidade cientíca voltou esforços para a combinação de diferentes técnicas (BLUM, 2011).

Nos últimos anos foram propostos muitos algoritmos que não seguem o paradigma em que se usa uma única meta-heurísticas tradicional. Essas novas abordagens combinam vários componentes, frequentemente originados de diferentes áreas da otimização. Essa combinação de técnicas tem sido chamada de hibridização de meta-heurísticas, cuja prin- cipal motivação é a exploração de características complementares existentes em diferentes estratégias. A combinação adequada de conceitos existentes em algoritmos complementa- res pode ser a chave para atingir maior eciência ao solucionar problemas de otimização NP-Difíceis.

Contudo, o desenvolvimento de uma técnica híbrida é em geral uma tarefa difícil que envolve o conhecimento de diferentes áreas da otimização. Não obstante, várias técnicas híbridas se mostraram ecientes em várias aplicações (BLUM, 2011).

2.4.1 Classicação de meta-heurísticas híbridas

Souza (2013) apresenta um resumo das classicações para hibridização de meta- heurísticas propostas por Talbi (2002). Em síntese, existem dois grupos de classicação: horizontal e hierárquica, conforme exibido na Figura 10.

2.4.1.1 Classicação hierárquica

Para Talbi (2002), no primeiro nível da classicação hierárquica, a hibridização pode ser de baixo nível ou alto nível. O primeiro caso ocorre quando uma determinada função de uma meta-heurística é substituída por outra meta-heurística. No segundo caso, as meta- heurísticas são autônomas, não havendo interação direta entre os mecanismos internos

Figura 10: Classicação para meta-heurísticas híbridas (Fonte: Souza (2013)). das diferentes meta-heurísticas.

No segundo nível da classicação hierárquica, Talbi (2002) propõe que a hibridização pode ocorrer por revezamento ou de maneira co-evolucionária. No primeiro caso, várias meta-heurísticas são aplicadas uma após a outra, onde a meta-heurística subsequente uti- liza a saída da anterior. A hibridização co-evolucionária por sua vez representa um modelo cooperativo, no qual existem vários agentes paralelos que compartilham os resultados de suas buscas no espaço de soluções do problema.

A combinação das duas classicações anteriores resulta em quatro classicações de hibridização derivadas:

1. Hibridização de baixo nível por revezamento: esta classe representa os algo- ritmos nos quais uma meta-heurística especíca é embarcada, formando uma única solução. Talbi (2002) cita como exemplo para esta classicação a implementação da meta-heurística Simulated Annealing(KIRKPATRICK, 1983) com uma busca local incorporada.

2. Hibridização de baixo nível co-evolucionária: para Talbi (2002), esta classe inclui algoritmos populacionais nos quais algum operador é substituído por um me- canismo de intensicação de busca. O objetivo aqui é obter vantagem tanto da diver- sicação oferecida pelo método populacional quanto da intensicação provida pelos operadores modicados. Talbi (2002) cita como exemplo a implementação de um operador de mutação de um algoritmo genético como uma Busca Tabu(GLOVER; LAGUNA, 1997).

3. Hibridização de alto nível por revezamento: nos algoritmos dessa classe, vá- rias meta-heurísticas são executadas em sequência. Para Talbi (2002), um exemplo

dessa classe de hibridização ocorre quando executamos um algoritmo evolucionário, adequado para localizar regiões promissoras do espaço de busca, e logo após o seu término executar uma heurística de busca local para renar a solução nal.

4. Hibridização de alto nível co-evolucionária: (TALBI, 2002) arma que este esquema envolve várias meta-heurísticas autônomas realizando busca em paralelo e cooperando para encontrar a melhor solução. Intuitivamente, no pior caso essa abordagem teria desempenho tão bom quanto um dos algoritmo hibridizados, quan- do executado separadamente, sendo mais frequente o caso em que ocorre melhora no desempenho, com cada algoritmo provendo informações para ajudar os outros. Talbi (2002) cita como uma rede de algoritmos genéticos, onde os indivíduos migram entre as diferentes populações com uma determinada frequência.

2.4.1.2 Classicação horizontal

Ao contrário do que ocorre na classicação hierárquica, na classicação horizontal todas as classes encontram-se no mesmo nível. Talbi (2002) propôs os seguintes tipos de hibridização para essa taxonomia:

• Hibridização homogênea versus hibridização heterogênea

 Hibridização homogênea: Na hibridização homogênea, todos os algoritmos com- binados baseiam-se na mesma meta-heurística. Em geral, diferentes parâmetros são usados para as meta-heurísticas hibridizadas, levando-as a comportamentos diferentes. Talbi (2002) cita como exemplo uma rede de algoritmos genéticos cada um com sua própria população, rodando em paralelo.

 Hibridização heterogênea: Na hibridização heterogênea, são usadas meta-heurísticas diferentes. Talbi (2002) cita como exemplo um algoritmo genético cuja popula- ção é atualizada por várias buscas tabu, onde as melhores soluções encontradas pelas buscas tabu formam uma população elite.

• Hibridização global versus hibridização parcial

 Hibridização global: Em algoritmos híbridos globais, todas as meta-heurísticas realizam buscas em todo o espaço de busca, não existindo restrições que impe- çam uma meta-heurística de atuar em regiões especícas do problema otimi- zado.

 Hibridização parcial: Na hibridização parcial, o problema é decomposto em sub-problemas, cada um possuindo seu próprio espaço de busca. Então, cada algoritmo direciona suas busca para a área de um sub-problema especíco. Os diferentes algoritmos mantém comunicação com o objetivo de compartilhar restrições de modo a obter soluções viáveis globalmente.

• Hibridização geral versus hibridização especialista

 Hibridização geral: Na hibridização geral, os algoritmos resolvem um mesmo problema de otimização.

 Hibridização especialista: Na hibridização especialista algoritmos que resolvem problemas diferentes são combinados. Talbi (2002) cita como exemplo um al- goritmo que resolve o Problema Quadrático de Alocação através de uma Busca Tabu, enquanto um algoritmo genético realiza uma tarefa de diversicação em paralelo, a qual é formulada como outro problema.