• Nenhum resultado encontrado

Neste cap´ıtulo, apresentamos um algoritmo de Branch & Bound combinat´orio com um desempenho melhor que os outros algoritmos do estado da arte na mesma categoria, aten- dendo a uma das principais motiva¸c˜oes do nosso trabalho. Os resultados computacionais mostraram que BITCLIQUE reduz tanto a quantidade de subproblemas quanto o tempo de execu¸c˜ao na maior parte das instˆancias testadas.

O principal ativo de BITCLIQUE ´e a heur´ıstica de colora¸c˜ao ponderada inteira BITCOLOR. Essa heur´ıstica consegue o melhor compromisso entre a qualidade do limite superior e o tempo gasto para comput´a-lo. A qualidade do limite deve-se, em boa parte, a ordem ρ dos v´ertices adotada. Observe que ela ´e utilizada a todo momento sem a necessidade de reordena¸c˜ao dos v´ertices. J´a a eficiˆencia computacional ´e garantida pela utiliza¸c˜ao de uma estrutura de dados, chamada de vetores de bits (bitmaps), usada para representar o grafo e as estruturas relacionadas a ele. Ela possibilita a realiza¸c˜ao de opera¸c˜oes recorrentes com menos instru¸c˜oes. Al´em disso, ela fornece uma outra ordena¸c˜ao dos v´ertices π usada pela estrat´egia de ramifica¸c˜ao.

BITCLIQUE1 ´e mais r´apido que os algoritmos anteriores em quase todas as densidades. Essa vantagem cresce `a medida que a densidade do grafo aumenta. Ela s´o ´e

superada por BITCLIQUE2, quando a densidade do grafo ultrapassa 90%.

No pr´oximo cap´ıtulo, mostraremos como incorporar a heur´ıstica BITCOLOR em um algoritmo de Bonecas Russas. Essa adapta¸c˜ao est´a sendo chamada de BITRDS.

5 ALGORITMOS DE BONECA RUSSA

O m´etodo de Busca de Bonecas Russas (Russian Doll Search) foi proposto ori- ginalmente em 1996 para problemas de satisfa¸c˜ao de restri¸c˜oes em Verfaillie, Lemae, and Schiex (1996). De maneira independente, ¨Osterg˚ard apresentou uma varia¸c˜ao do m´etodo de Bonecas Russas para um problema de otimiza¸c˜ao discreta em Ostergard (2002). Re- centemente, o m´etodo de Bonecas Russas foi aplicado em outros problemas de otimiza¸c˜ao discreta:

• Problema da clique m´axima Ostergard (2002); Corrˆea et al. (2014).

• Problema da clique m´axima ponderada Ostergard (1999); Kumlander (2008); Shi- mizu et al. (2012).

• Problema da cobertura tripla de Steiner Ostergard and Vaskelainen (2011).

• Problema do subtorneio transitivo m´aximo Kiviluoto, terg, and Vaskelainen (2014). • Problema do melhor barbeque combinat´orioOstergard, Vaskelainen, and Mosig (2007). • Problema s-plex m´axima McClosky and Hicks (2012); Trukhanov et al. (2013);

Gschwind et al. (2015).

• Problema da clique s-deficiente m´axima Trukhanov et al. (2013); Gschwind et al. (2015).

• Problema s-feixo m´aximo Gschwind et al. (2015).

• Problema da clique m´axima probabil´ıstica Miao, Balasundaram, and Pasiliao (2014). • Problema da clique m´axima ponderada com restri¸c˜ao de agrupamentos Malladi

(2014).

De maneira geral, o m´etodo consiste em resolver iterativamente subproblemas cada vez maiores (tamb´em chamados de bonecas) at´e chegar ao problema completo. As bonecas s˜ao geradas de maneira que uma esteja contida na pr´oxima, o que sugere o nome do m´etodo. Por exemplo, uma boneca pode ser definida por um subproblema contendo menos vari´aveis (ou menos restri¸c˜oes) que aquele relativo `a pr´oxima.

A eficiˆencia do m´etodo de Bonecas Russas depende tamb´em da utiliza¸c˜ao do co- nhecimento acumulado durante a resolu¸c˜ao de subproblemas menores (bonecas menores), de modo a reduzir o tamanho da ´arvore de busca empregada na resolu¸c˜ao dos subproble- mas maiores (bonecas maiores). Com a ajuda das bonecas, podemos definir uma rela¸c˜ao de domina¸c˜ao entre subproblemas que permite podar os subproblemas dominados. Dizer que um subproblema S1 domina um outro subproblema S2 significa que, para qualquer solu¸c˜ao de S2, existe uma solu¸c˜ao melhor ou igual em S1. A partir dessa rela¸c˜ao, podemos definir regras de poda que utilizem eficientemente o conhecimento previamente obtido.

A estrutura geral do m´etodo de Busca das Bonecas Russas pode ser separada em duas partes:

• Estrat´egia de enumera¸c˜ao das bonecas. • Estrat´egia de solu¸c˜ao das bonecas.

Para o problema da clique (ponderada) m´axima Ostergard (1999, 2002) , ¨

Osterg˚ard prop˜oe a seguinte implementa¸c˜ao dessas estrat´egias. A enumera¸c˜ao das bo- necas baseia-se em uma ordem inicial dos v´ertices. Uma boneca corresponde ao problema da clique ponderada m´axima no subgrafo que inclui um v´ertice a mais seguindo essa or- dem. Cada boneca ´e resolvida por um algoritmo de Branch & Bound, fortalecido por uma estrat´egia de poda obtida pela rela¸c˜ao entre os subproblemas.

Em Trukhanov et al. (2013), mostra-se que o m´etodo de Busca de Bonecas Russas pode ser estendido para qualquer propriedade Π que seja heredit´aria nos subgrafos induzidos, ou seja, para qualquer S ⊆ V tal que G[S] satisfaz a propriedade Π, a remo¸c˜ao de qualquer subconjunto de v´ertices em G[S] n˜ao produz um grafo que viola a propriedade Π.

V´arias propriedades em grafos s˜ao heredit´arias, tais como: clique, conjunto independente, bipartido, ac´ıclico, perfeito, planar entre outros. Trukhanov apresenta uma extens˜ao do algoritmo das Bonecas Russas para o problema s-plex m´axima e o problema da clique s-deficiente m´axima. De maneira geral, esses dois problemas s˜ao relaxa¸c˜oes do problema da clique m´axima e/ou conjunto independente m´aximo.

Em Corrˆea et al. (2014), apresenta-se um algoritmo de Busca das Bonecas Russas para o problema da clique m´axima que apresenta duas modifica¸c˜oes importantes em rela¸c˜ao ao algoritmo de ¨Osterg˚ard:

• O processo de enumera¸c˜ao de bonecas ´e alterado para que um n´umero significativo de bonecas deixem de ser resolvidas devido `a ado¸c˜ao de uma regra de elimina¸c˜ao. • Cada boneca ´e resolvida por um algoritmo de enumera¸c˜ao recursivo, baseado nos

princ´ıpios do m´etodo das Bonecas Russas. Mais precisamente, os subproblemas associados `as bonecas tamb´em s˜ao resolvidos por chamadas ao m´etodo de Bonecas Russas.

Documentos relacionados