09.05.2013 Views

Algoritmos Heurísticos de Cobertura de Arcos

Algoritmos Heurísticos de Cobertura de Arcos

Algoritmos Heurísticos de Cobertura de Arcos

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Se o grafo misto G é euleriano, o traçado <strong>de</strong> um circuito euleriano compreen<strong>de</strong>rá as<br />

seguintes etapas:<br />

a) assinalar orientações para algumas arestas <strong>de</strong> G, <strong>de</strong> modo a torná-lo simétrico;<br />

b) orientar as <strong>de</strong>mais arestas <strong>de</strong> G em forma <strong>de</strong> circuitos; e<br />

c) <strong>de</strong>terminar um circuito euleriano no grafo orientado resultante.<br />

Ford e Fulkerson [For62] apresentam um procedimento para a etapa (a), para<br />

transformar um grafo não-simétrico em simétrico, o qual é <strong>de</strong>scrito abaixo:<br />

ALGORITMO<br />

SIMÉTRICO<br />

PARA TRANSFORMAR UM GRAFO MISTO EM<br />

P1) Substitua cada aresta <strong>de</strong> G por um par <strong>de</strong> arcos contrariamente orientados,<br />

obtendo o grafo completamente orientado G ′ = ( N,<br />

A′<br />

) . Assinale a cada arco <strong>de</strong><br />

A′ ∩ A um limite inferior <strong>de</strong> fluxo igual a 1, e a cada arco <strong>de</strong> A′ − A o limite<br />

inferior igual a 0. Também, atribuir a cada arco <strong>de</strong> A′ um limite superior <strong>de</strong> fluxo<br />

igual a 1;<br />

P2) Usando um algoritmo <strong>de</strong> fluxo, <strong>de</strong>termine uma circulação viável em G′ . Seja f ij<br />

o fluxo no arco ( x i , x j ) ;<br />

P3) Orientar algumas arestas <strong>de</strong> G como segue: se ( x i , x j ) ∈ E, f ij = 1 e f ji = 0,<br />

oriente ( x i , x j ) <strong>de</strong> x i para x j .<br />

A aplicação <strong>de</strong>ste algoritmo a um grafo misto qualquer resulta em um grafo simétrico,<br />

porém po<strong>de</strong>rão persistir arestas não orientadas. Caso o grafo seja euleriano, tais arestas<br />

aparecerão em ciclos, os quais po<strong>de</strong>rão ser orientados usando o algoritmo a seguir<br />

[Eis95.1], o qual é um <strong>de</strong>talhamento da etapa (b) do procedimento <strong>de</strong> construção <strong>de</strong> um<br />

circuito euleriano:<br />

ALGORITMO<br />

SIMÉTRICO<br />

PARA ORIENTAÇÃO COMPLETA DE UM GRAFO<br />

P1) Se todas as arestas estão orientadas, pare.<br />

33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!