O PCRV tem uma formulação semelhante a PCR, com N′=∅, A=∅ e E′ ⊆ , E porém com um grau de liberdade a mais: as arestas, requeridas ou não, podem ser percorridas em cada sentido com custos desiguais. Com definição apropriada dos custos para arestas em cada um de seus sentidos, todas as instâncias do PCR estudadas acima, inclusive o PCRM, podem ser formuladas como casos particulares do PCRV. Por razões óbvias, este é também um problema NP-hard.
Por ter uma formulação simples e que ao mesmo tempo abrange quase a totalidade dos casos não-capacitados de Problemas de Roteamento de Arcos, o PCRV vem recebendo atenção especial em alguns trabalhos recém publicados. Entre estes podem ser destacados Benavent et al. [Ben03.1], e Benavent et al [Ben03.2].
Dado um grafo fortemente conexo G=( , )N E com o conjunto de arestas requeridas E′ ⊆ , a solução do PCRV é um multi-grafo fortemente conexo * ( , )E G = N A que satisfaz (Benavent et al. [Ben03.1]):
Cada arco ( , )i j ∈ é uma cópia de uma aresta em E, com uma dada orientação; A Para cada ( , )i j ∈ , ( , )E´ i j ∈ , ou ( , )A j i ∈ ; A
Cada nó em *G é simétrico (isto é, seu grau de entrada é igual ao grau de saída).
Solução Exata de Benavent et al. [Ben03.1]
A idéia do método exato sugerido pelos autores é formular o PCRV como um problema de Programação Linear Inteira. Inicialmente, o problema é resolvido apenas utilizando a função objetivo com as restrições triviais, algumas outras que garantem a conectividade, e com a relaxação da condição de integridade. Um procedimento de Plano de Corte introduz gradativamente ao problema três famílias de desigualdades válidas, conhecidas como Cortes R-Odd, Desigualdades K C− , e Desigualdades Honeycomb. Estas desigualdades que descrevem o poliedro de soluções do PCRV, já estão conhecidas para algumas outras instâncias dos Problemas de Roteamento de Arcos [6, 29, 34, 35, 37]. Na medida que o algoritmo detecta a violação de qualquer uma destas desigualdades, ela é acrescida ao problema. O procedimento de corte continua até que nenhuma violação seja mais detectada. Se a solução obtida ainda não for inteira, uma rotina de branch-and-bound é invocada.
O trabalho apresenta testes computacionais com o conjunto de grafos aleatórios usados por Christofides et al. [Cri81], alterando apenas os custos das arestas, e com dois conjuntos de grafos obtidos a partir de redes de ruas de duas cidades da Espanha. Os grafos aleatórios são de dimensões menores, tendo até 84 nós, e até 74 arestas requeridas, enquanto os grafos obtidos a partir de malhas urbanas têm até 196 nós e 316 arestas, e até 70% das quais requeridas. Das 288 instâncias testadas, 185 foram resolvidas otimamente, usando apenas os planos de corte. As demais também foram resolvidas, recorrendo ao procedimento de branch-and-bound. Para os problemas de maior porte, o tempo médio de processamento foi de 62 segundos, e o máximo registrado em 109 segundos, num computador equipado com processador Pentium III - 1GHz.
Soluções Heurísticas de Benavent et al. [Ben03.1]
No mesmo trabalho, os autores apresentam 3 soluções heurísticas para o PCRV. Abaixo se encontra uma descrição sucinta da Heurística 1, a qual é baseada num trabalho de Zaw Win para o PCCV. Win [Win89] sugeriu um algoritmo para resolver o Problema de Carteiro com Vento num grafo par. A idéia da Heurística 1 é tornar o grafo conexo e par, para depois aplicar o algoritmo de Win.
Passo 1. Árvore Geradora Mínima
Acrescentar alguns links ao grafo G´ ( , ´)= N E (que em geral é formado de vários componentes), de modo a torná-lo conexo. Isto pode ser feito calculando, e acrescentando a G´ uma árvore geradora mínima. Seja G tal C grafo conexo.
Passo 2. Emparelhamento de Custo Mínimo
Identificar os nós de grau impar no G . Calcular um emparelhamento de C custo mínimo entre estes nós, considerando as distâncias mínimas entre eles, calculadas no grafo original G. Acrescentar links ao grafo, conforme a solução de emparelhamento. Seja G o grafo par, resultado desta operação. P Passo 3. Algoritmo de Win para o Grafo Par
Aplicar o algoritmo de Win [Win89] ao grafo G , obtendo o grafo orientado P
O
G . Este grafo é conexo, simétrico, e contém todas as arestas requeridas de G, em forma de arcos orientados. Portanto G é uma solução de PCRV. O
A Heurística 2 é, basicamente, composta das mesmas fases da Heurística 1, porém numa ordem diferente, enquanto que a Heurística 3 é elaborada com duas fases: cálculo de uma Árvore Geradora Mínima, e a solução de um Problema de Transporte. Os autores introduzem também um processo de melhoramento que pode ser aplicado a todas as heurísticas.
Os grafos de teste utilizados por Benavent et al [Ben03.1], para medir o desempenho do algoritmo exato, foram usados também para testar as heurísticas 1, 2 e 3. Para o conjunto de grafos aleatoriamente gerados, os desvios médios em relação à solução ótima foram 5,42%, 8,15% e 7,45%, respectivamente, isso com o emprego da rotina de melhoramento. Os resultados mostram um desempenho relativamente superior da Heurística 1.
Por serem métodos rápidos, os autores recomendam a aplicação dos três métodos, e a escolha do melhor resultado. Neste caso, o desvio médio é reduzido para 3,2%, para o mesmo conjunto de teste.
Algoritmo Scatter Search de Benavent et al. [Ben03.2]
No seu Relatório Técnico, Benavent et al [Ben03.2] relatam algumas novas heurísticas inspiradas nas heurísticas de Benavent et al [Ben03.1], e um novo algoritmo de Scatter Search (Busca Disseminada) para o PCRV.
As duas heurísticas relatadas são versões modificadas das heurísticas de Benavent et al [Ben03.1]. Os testes computacionais mostraram uma pequena melhoria em relação aos algoritmos originais.
Além destas heurísticas, são apresentados quatro procedimentos Multi-Start, obtidos com a randomização de certas etapas das duas heurísticas. Os algoritmos Multi-Start consistem basicamente na execução iterativa de um método de solução, modificando, cada vez, algum parâmetro do problema. Exemplificando, a árvore geradora utilizada nos procedimentos heurísticos para garantir a conectividade do grafo modificado (Benavent et al. [Ben03.1]), não precisa necessariamente ser mínima. Ela pode ser aleatoriamente construída a partir de um conjunto de arestas candidatas. Os testes computacionais mostraram que alguns dos procedimentos Multi-Start, quando executadas 250 iterações,
produziram soluções com desvio abaixo de 1% da solução ótima, usando os mesmos grafos de teste de Benavent et al [Ben03.1]. O tempo de processamento para os problemas de maior porte foi em geral abaixo de 40 segundos, num computador Pentium IV de 1,7 GHz.
Além das heurísticas acima, os autores apresentam um novo algoritmo baseado na Busca Disseminada. A Busca Disseminada é uma meta-heurística aplicada sobre uma população que tem mostrado resultados satisfatórios na solução de problemas combinatórios difíceis [Glo00].
O processo começa com a construção de um grande conjunto inicial de soluções diversificadas, utilizando uma das heurísticas acima mencionadas. O conjunto é ordenado de acordo com a qualidade das soluções individuais. Daí começa uma pesquisa para obter novas soluções, a partir de combinação de pares de soluções do conjunto. Uma vez gerada uma solução melhor que alguma existentes, ela entra no conjunto, substituindo a pior delas. O processo encerra, quando o conjunto permanecer inalterado depois de combinação de todas as suas soluções.
Os autores relatam testes computacionais para este método, utilizando o mesmo conjunto de grafos de teste de Benavent et al. [Ben03.1], bem como alguns grafos aleatórios de porte maior. Para os grafos maiores, as dimensões médias foram: N = 848,
2522
E = , e ´ 1149E = . Para estes, o desvio médio em relação à solução ótima ficou abaixo de 1,8%, e o tempo médio de processamento em torno de 1500 segundos, num Pentium IV de 1,7 GHz.
4.6 Considerações Sobre as Abordagens Existentes para os Problemas de