Algoritmos Heurísticos de Cobertura de Arcos
Algoritmos Heurísticos de Cobertura de Arcos
Algoritmos Heurísticos de Cobertura de Arcos
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