• Nenhum resultado encontrado

Cap´ıtulo 4 Metodologia

4.2 Solu¸ c˜ ao Inicial

Nas pr´oximas se¸c˜oes deste cap´ıtulo, muitas vezes se far´a necess´ario o conhecimento de uma solu¸c˜ao primal durante a execu¸c˜ao de outros algoritmos. Esta informa¸c˜ao ´e ´util n˜ao apenas como uma solu¸c˜ao inicial para o resolvedor de programa¸c˜ao inteira, mas tamb´em na constru¸c˜ao do pr´oprio modelo de Programa¸c˜ao Linear Inteira (PLI), influenciando o n´umero de vari´aveis e restri¸c˜oes que o comp˜oem. Com este objetivo, desenvolvemos a Heur´ıstica 1, discutido a seguir.

O algoritmo se baseia em escolhas gulosas para construir conjuntos independentes de guardas, ou seja, sem conflitos de visibilidade, onde cada conjunto dever´a receber uma cor diferente. Portanto minimizar o n´umero destes conjuntos implica em minimizar a quantidade de cores. O algoritmo come¸ca considerando todas as testemunhas como n˜ao cobertas (Linha 3). A partir da´ı, d´a-se in´ıcio a um processo iterativo, atrav´es da atribui¸c˜ao de pesos aos guardas, que denotam o n´umero de testemunhas n˜ao cobertas vistas por eles (Linha 6). Com estes pesos, um programa linear inteiro, cujo objetivo ´e encontrar um conjunto independente de guardas com a maior soma de pesos poss´ıvel, ´e resolvido. Com

4.3. Modelo Natural 17

Heur´ıstica 1 Solu¸c˜ao Inicial

1: function GreedyDCAGP(G, W , GW)

2: S ← ∅ . Solu¸c˜ao (vetor de conjuntos independentes).

3: U ← W . Testemunhas ainda n˜ao cobertas.

4: repeat

5: for all g ∈ G do

6: wg ← {w ∈ V(g) e w ∈ U }

7: x ← solu¸c˜ao do modelo (4.1)–(4.3)

8: T ← ∅ . Novo conjunto independente de guardas.

9: for all g ∈ G do 10: if xg = 1 then 11: T ← T ∪ {g} 12: U ← U \ {w ∈ V(g)} 13: S ← S ∪ T 14: until U = ∅ 15: return S 16: end function

isto, garantimos que o conjunto encontrado cobre o maior n´umero poss´ıvel de novas tes- temunhas naquela itera¸c˜ao, uma vez que, por constru¸c˜ao, nenhuma testemunha ´e coberta duas vezes. Com este novo conjunto atualizamos as testemunhas cobertas (Linha 12) e a solu¸c˜ao (Linha 13). O algoritmo continua enquanto houver testemunhas n˜ao cobertas.

Observe que o problema de encontrar um conjunto independente de peso m´aximo ´e NP-dif´ıcil [13]. Uma forma de resolvˆe-lo exatamente ´e atrav´es da solu¸c˜ao da formula¸c˜ao PLI abaixo. z = max X g∈G wgxg s. a (4.1) xu+ xv ≤ 1 ∀ (u, v) ∈ EG (4.2) xg ∈ B ∀ g ∈ G. (4.3)

Apesar da escolha de um novo conjunto independente na Linha 7 poder ser computada atrav´es de outro m´etodo, como uma heur´ıstica, em todas as instˆancias testadas a resolu¸c˜ao do modelo (4.1) − (4.3) se mostrou extremamente r´apida e eficiente. Por isso, em nossos experimentos optamos por usar um resolvedor PLI para executar tal tarefa.

4.3

Modelo Natural

Para a resolu¸c˜ao exata do dcagp iremos empregar t´ecnicas de Programa¸c˜ao Linear In- teira (PLI). Programa¸c˜ao Inteira ´e amplamente usada para a resolu¸c˜ao dos mais diversos

18 Cap´ıtulo 4. Metodologia

problemas, principalmente aqueles da classe NP-dif´ıcil. Nesta se¸c˜aom iremos descrever um modelo de PLI para o problema, o qual chamaremos de Modelo Natural. Adicionalmente, descrevemos t´ecnicas que ir˜ao ajudar na resolu¸c˜ao do modelo pelo resolvedor, como o uso de lazy constraints.

O nome modelo natural deriva da forma como as vari´aveis da formula¸c˜ao foram esco- lhidas, associadas `as decis˜oes que levam a uma transcri¸c˜ao direta da solu¸c˜ao do problema. No caso de problemas de colora¸c˜ao em grafos, essa escolha se reflete nas restri¸c˜oes de colora¸c˜ao uma vez que, em uma modelagem b´asica, para cada par de v´ertices adjacentes (u, v), uma desigualdade do tipo xuk + xvk ≤ 1 impede que ambos os v´ertices recebam a mesma cor k, sendo que k varia entre 1 e K, um limitante superior do n´umero de cores necess´arias. Este tipo de modelo para problemas de colora¸c˜ao tem duas grandes desvantagens:

1. O n´umero de restri¸c˜oes pode ser muito grande, uma vez que depende de K, onde

K ∈ O(|G|);

2. Este modelo apresenta fortes problemas de simetria. Por exemplo, dada uma solu¸c˜ao do problema linear que utiliza cores (nesta ordem) 1, 2 e 3, e k = 5, podemos cons- truir uma solu¸c˜ao de mesmo custo simplesmente renomeando estas cores para 3, 1 e 2, ou 1, 5 e 2. Esta caracter´ıstica, em geral, leva o resolvedor a encontrar solu¸c˜oes teoricamente iguais, que diferem apenas na atribui¸c˜ao de cores aos guardas, e im- pedem que o resolvedor conclua a otimalidade de uma solu¸c˜ao com maior rapidez. Al´em disso, a simetria ´e agravada quanto maior for o valor de K.

Apesar das dificuldades acima, o cagp consegue amenizar drasticamente a desvanta- gem 1 devido `a pr´opria natureza do problema que, em geral, requer pouqu´ıssimas cores e, ´e claro, `a nossa Heur´ıstica 1, que obt´em solu¸c˜oes vi´aveis (limitantes primais) de alta qualidade. J´a com rela¸c˜ao a desvantagem 2, al´em de poder ser amenizada pela obten¸c˜ao de valores menores de K, ainda existem diversas formas de reduzir a simetria atrav´es de restri¸c˜oes que limitam as escolhas de cores.

4.3. Modelo Natural 19

A seguir apresentamos o modelo natural para o cagp:

z = min X κ∈K s. a (4.4) X g∈G|w∈V(g) X κ∈K xgκ≥ 1 ∀ w ∈ W (4.5) xuκ+ xvκ− cκ ≤ 0 ∀ (u, v) ∈ EG, κ ∈ {1, . . . , K} (4.6) X κ∈K xgκ≤ 1 ∀ g ∈ G (4.7) cκ− cκ+1≥ 0 ∀ κ ∈ {1, . . . , K − 1} (4.8) X g∈G xgκ− X g∈G xgκ+1 ≥ 0 ∀ κ ∈ {1, . . . , K − 1} (4.9) ∈ B ∀ κ ∈ {1, . . . , K} (4.10) xgκ∈ B ∀ g ∈ G, κ ∈ {1, . . . , K} (4.11) No modelo acima, as vari´aveis bin´arias cκrepresentam as poss´ıveis cores que os guardas podem receber, enquanto as vari´aveis bin´arias xgκindicam se o guarda g com a cor κ ser´a usado. A fun¸c˜ao objetivo (4.4) minimiza o n´umero de cores utilizadas. As restri¸c˜oes (4.5) garantem que todas as testemunhas ser˜ao cobertas, e, consequentemente, todo o pol´ıgono. As restri¸c˜oes (4.6) por sua vez asseguram que dois guardas adjacentes no grafo de conflitos n˜ao recebam a mesma cor, ao mesmo tempo garantindo que se um deles for usado, a respectiva cor tamb´em ser´a. As restri¸c˜oes (4.7) impedem que um mesmo guarda possa ser colorido com mais de uma cor. ´E f´acil ver que se estas restri¸c˜oes forem removidas do modelo o valor ´otimo n˜ao se altera. Contudo, na pr´atica, observou-se que a sua manuten¸c˜ao diminui consideravelmente o tempo de computa¸c˜ao. As restri¸c˜oes (4.8) e (4.9) tentam reduzir a simetria intr´ınseca do problema. Enquanto (4.8) for¸ca que a cor κ + 1 s´o possa ser usada se a cor κ tamb´em o foi, as restri¸c˜oes em (4.9) for¸cam que o conjunto de guardas de cor κ tenha cardinalidade maior ou igual ao conjunto de cor

κ + 1.

4.3.1

Fortalecendo o modelo

Enquanto o modelo acima pode ser usado sem nenhuma altera¸c˜ao, ele pode ser fortale- cido, o que significa aproxim´a-lo mais da envolt´oria convexa dos pontos que representam solu¸c˜oes desse problema. Nesta se¸c˜ao, descrevemos uma forma de fortalecer o modelo (4.4)–(4.11).

A Figura 4.1 representa um subgrafo induzido de um grafo GC qualquer. De acordo com o modelo da se¸c˜ao anterior, as restri¸c˜oes do tipo (4.6), para uma dada cor κ, referentes

20 Cap´ıtulo 4. Metodologia

a este subgrafo corresponderiam a:

x1κ+ x2κ− cκ ≤ 0, x1κ+ x3κ− cκ ≤ 0, x2κ+ x3κ− cκ ≤ 0. g1 g2 g3

Figura 4.1: Subgrafo induzido de GC.

Estas trˆes restri¸c˜oes impedem que algum par de v´ertices em {g1, g2, g3} receba a mesma

cor κ. N˜ao ´e dif´ıcil enxergar que, sendo as vari´aveis bin´arias, o mesmo efeito poderia ser obtido atrav´es da restri¸c˜ao abaixo:

x1κ+ x2κ+ x3κ− cκ ≤ 0. ´

E f´acil perceber que esta ´unica restri¸c˜ao ´e mais forte do que a uni˜ao das trˆes restri¸c˜oes anteriores (coeficientes menores). Obviamente esta ideia pode ser estendida para outras cliques, i.e, subgrafos induzidos completos. Assim, podemos substituir as restri¸c˜oes do tipo (4.6) por um conjunto de restri¸c˜oes do tipo clique, como aquela vista acima. Para tanto, devemos encontrar cliques que cubram todas as arestas de GC, isto ´e, todos os poss´ıveis conflitos entre guardas, formando o que se costuma chamar de cobertura de

arestas por cliques, ou em inglˆes, clique edge cover. Seja ent˜ao H uma cobertura de arestas por cliques. Podemos agora substituir as restri¸c˜oes (4.6) pelas restri¸c˜oes (4.12):

X

g∈η

xgκ ≤ cκ ∀ η ∈ H, κ ∈ {1, . . . , K} (4.12) Apesar de n˜ao podermos considerar formalmente como um fortalecimento, em vez de fazer uso de apenas uma cobertura por cliques, podemos fazer uso de K coberturas diferentes, uma para cada poss´ıvel cor do modelo. Intuitivamente, podemos pensar nessa modifica¸c˜ao como uma forma adicional de diminuir a simetria do modelo. Para esta tarefa empregamos o Algoritmo 2 que tenta construir coberturas diferentes. Neste algoritmo

N (v) e δ(v) representam, respectivamente, a vizinhan¸ca e o grau do v´ertice v.

O algoritmo come¸ca por construir um emparelhamento de tamanho K selecionando

K arestas com soma dos graus dos vizinhos dos seus extremos m´ınima (Linha 3). Estas

4.3. Modelo Natural 21

Documentos relacionados