• Nenhum resultado encontrado

Devido à falta de trabalhos experimentais para o PBS, tornou-se necessária a criação de um conjunto de instâncias de teste para serem utilizadas durante este trabalho. Nas seções seguintes, vamos descrever o processo de geração dessas instâncias desde a construção do grafo até a escolha de vértices de elite (conjunto T ) e do foco de incêndio. Nessa dissertação, trabalhamos com instâncias nas quais apenas um brigadista está disponível em cada rodada, assim como todas as instâncias de teste contêm apenas um foco de incêndio. Esta decisão foi tomada com o propósito de realizar uma análise mais profunda sobre esse tipo de instância.

4.2.1

Geração de grafos planares

Com o intuito de gerar instâncias similares àquelas que modelam casos do mundo real, de- cidimos realizar nossos experimentos com grafos planares, já que eles se adequam bastante bem para a representação de regiões geográficas (vértices) e suas relações de vizinhança (arestas), através das quais um incêndio pode se alastrar.

Os grafos usados neste trabalho foram gerados a partir de uma triangulação de De- launay [3] de um conjunto de pontos no plano, cuja implementação está disponível na biblioteca Stanford Graph Base (SGB) [20]. A escolha por uma triangulação foi feita devido a que esta constitui um grafo planar maximal no número de arestas.

Uma triangulação de Delaunay para um conjunto de pontos P , é uma triangulação onde nenhum ponto P está dentro da circunferência circunscrita a qualquer triângulo da triangulação [3]. Na Figura 4.1 está ilustrada a triangulação de Delaunay para um conjunto de pontos.

Figura 4.1: Exemplo da triangulação de Delaunay para um conjunto de pontos.

Foram gerados grafos planares a partir da triangulação de Delaunay de um conjunto de pontos no plano escolhidos de maneira aleatória, e através da remoção de algumas arestas, foram produzidas instâncias com 50, 100, 200, 300, 400 e 500 vértices.

4.2.2

Escolha dos vértices de T

Para entender melhor o procedimento empregado na construção do conjunto T , considere a seguinte situação. Suponha que dois vértices de elite u e v são adjacentes entre si e não estão queimados. Se o vértice u é atingido pelo incêndio em uma rodada r, o vértice v será garantidamente queimado na mesma rodada ou na rodada posterior. Isso é verdade, pois a defesa de um vértice de T é proibida. Assim, uma vez que o incêndio atinge um vértice vizinho a um vértice de T , é impossível salvar tal vértice.

Considere agora um subgrafo S induzido pelos vértices de T . Suponha que S é conexo, ou seja, existe um caminho entre quaisquer dois vértices de S passando apenas por vértices do próprio conjunto. A partir do argumento anterior, sabemos que uma vez que o incêndio atinge qualquer vértice de S, todos os outros vértices deste subgrafo serão queimados em rodadas posteriores, independentemente das defesas que forem feitas.

Assim, durante este trabalho, desenvolvemos instâncias onde esse caso não ocorre. Ou seja, as instâncias de teste não possuem arestas ligando dois vértices de T .

Dito isto, seja G um grafo gerado pelo processo descrito nas seções anteriores. Pre- cisamos agora decidir quais vértices fazem parte de T de forma que não existam vértices adjacentes entre si. Para isso, encontramos um conjunto independente maximal H em G e, após escolher um vértice u ∈ H como foco de incêndio (ver seção a seguir), colocamos em T os vértices de H\{u}.

4.2.3

Escolha do foco de incêndio

Considere novamente o conjunto de vértices H obtido pelo processo descrito anterior- mente. Seja a distância máxima de um vértice v ∈ H a maior distância mínima entre v e qualquer outro vértice de H no grafo. Definimos como vértice central de H, um vértice deste conjunto cuja distância máxima é mínima. Deste modo, para criar as instâncias do nosso benchmark, um vértice u respeitando esta propriedade é escolhido como sendo o foco do incêndio. a b c d e f g h i j (a) Grafo G. a b c d e f g h i j

(b) Conjunto independente maximal T .

a b c d e f g h i j

(c) Vértice central d como foco do incêndio.

Figura 4.2: Escolha dos vértices de T e foco de incêndio.

4.2.4

Densidade da instância

Nesta seção, vamos discutir a densidade de uma instância gerada pelos procedimentos descritos previamente, sua relação com a quantidade de vértices salvos em uma solução ótima e um procedimento para remoção de arestas e ajuste de instâncias.

Um grafo gerado a partir de uma triangulação é o mais denso grafo planar de arestas retas para um dado conjunto de pontos. Tal densidade fez com que, para as instâncias geradas neste trabalho, o número de vértices de elite que possam salvos em uma solução ótima seja baixo em relação ao total de vértices em T .

Com o intuito de criar instâncias nas quais uma fração maior de vértices de elite é salva, desenvolvemos um procedimento para reduzir a densidade do grafo gerado a partir da triangulação por meio da remoção de uma porcentagem de suas arestas.

Na Figura 4.3, apresentamos resultados que suportam a decisão de remover arestas com a intenção de tornar possível o salvamento de uma quantidade maior de vértices.

Para um valor p no eixo horizontal, calculamos o número de instâncias nas quais uma solução ótima salva pelo menos p% dos vértices de elite. Os resultados apresentados na Figura 4.3 são para instâncias com 0%, 25%, 50% e 75% de arestas removidas a partir da triangulação. Cada um desses grupos contém 100 instâncias.

10 20 30 40 50 60 70 80 90 100 20 40 60 80 100

Porcentagem de vértices de elite salvos em instâncias com 100 vértices

Número de instâncias 0% 25% 50% 75%

Figura 4.3: Porcentagem de vértices de T salvos ao variar a densidade do grafo.

A partir de uma instância I composta por grafo G correspondente a uma triangulação de pontos no plano, conjunto de vértices de elite T e por um foco de incêndio u, geramos uma nova instância com menor densidade através do seguinte procedimento:

1. Encontre uma árvore geradora A de maneira aleatória em G. 2. Tome G0 = G\A.

3. Remova k% das arestas de G0.

4. Seja M = T ∪ {u}.

5. Expanda M para um conjunto independente maximal no grafo G0∪ A.

6. Se não houver em M um vértice com grau maior que 1, rejeite a instância. Caso contrário, encontre o vértice u0 com grau maior do que 1 de M mais central em

G0∪ A, em relação aos vértices de M. 7. Crie o conjunto de elite T0 = M \{u0}.

8. Crie uma nova instância I0 composta pelo grafo G0∪ A, conjunto de elite T0 e foco

de incêndio u0.

Para todas as combinações entre números de vértices (50, 100, 200, 300 e 400) e arestas removidas (0%, 25%, 50% e 75%), 100 instâncias foram geradas, totalizando 2000 instâncias criadas.

4.2.5

Vértices salvos durante o processo

Como discutido anteriormente (seção 2.4), ao utilizar a heurística de ThPath, no cálculo da DMFr, é possível que existam vértices inatingíveis pelo fogo.

Vamos relembrar o funcionamento do ThPath. Explicamos que, entre os vértices ame- açados em uma rodada r, defendemos aquele que, quando defendido, maximiza o DMF da rodada r + 1.

Ao simular a defesa de um vértice u, quanto mais vértices estiverem desconexos do fogo, maior deveria ser a “bonificação” dada à probabilidade de defender esse vértice. De agora em diante, vamos nos referir a essa bonificação como θ.

Inicialmente, pensamos em representar θ como o número de vértices da instância que está sendo resolvida (n), representando, dessa forma, o tamanho do maior caminho possível entre dois vértices no grafo.

Com o intuito de encontrar um limitante mais justo para θ, decidimos considerar o valor de √n. Essa decisão é baseada no fato de que a esperança para a maior distância mínima entre dois vértices em uma triangulação de Delaunay é, de fato,√n [9].

Na próxima seção, vamos discutir a escolha do parâmetro α, que representa o nível de aleatoriedade da meta-heurística, e do parâmetro θ, que determina o valor da bonificação na escolha de qual é o próximo a ser defendido.

Documentos relacionados