• Nenhum resultado encontrado

PROBLEMA DO CARTEIRO CHINÊS (CPP): ESTUDO COMPARATIVO COMPUTACIONAL PARA CASOS PRÁTICOS NÃO DIRECIONADOS, DIRECIONADOS E MISTOS

N/A
N/A
Protected

Academic year: 2021

Share "PROBLEMA DO CARTEIRO CHINÊS (CPP): ESTUDO COMPARATIVO COMPUTACIONAL PARA CASOS PRÁTICOS NÃO DIRECIONADOS, DIRECIONADOS E MISTOS"

Copied!
12
0
0

Texto

(1)

PROBLEMA DO CARTEIRO CHINÊS (CPP): ESTUDO COMPARATIVO

COMPUTACIONAL PARA CASOS PRÁTICOS NÃO DIRECIONADOS,

DIRECIONADOS E MISTOS

Moacir Godinho Filho

Universidade Federal de São Carlos

Endereço: Via Washington Luiz, km 235 - Caixa Postal 676 CEP 13.565-905 São Carlos-SP (e-mail: moacir@dep.ufscar.br)

Rogério de Ávila Ribeiro Junqueira

LogTrac Consultores Associados

Endereço: Rua Virgílio Pozzi, 423 – São Carlos–SP (e-mail: rogério@logtrac.com.br)

Resumo: O problema do carteiro chinês (CPP) é um problema que busca encontrar a mínima

distância/custo que deve ser coberta por um elemento, passando por todos os arcos de uma rede pelo menos uma vez e retornando até a origem. Na literatura é conhecido que a complexidade computacional da solução ótima para o CPP com uma única entidade em problemas mistos (NP-completo) é muito maior do que para problemas direcionados e não direcionados. Este trabalho objetiva verificar se esta dificuldade representa realmente um problema para a utilização na prática de soluções matemáticas otimizantes para o CPP. Para isto são selecionados casos reais de coleta de lixo e correios em uma cidade do interior paulista e estudada a influência de características destas redes no tempo computacional. Este trabalho conclui que para problemas extraídos de situações reais (nos casos estudados aproximadamente 200 nós) inexistem significantes diferenças entre o tempo computacional para soluções matemáticas para os problemas não direcionados, direcionados e mistos. Portanto, mesmo em grafos mistos, é possível se encontrar a solução ótima para o CPP.

Palavras Chave: problema do carteiro chinês, comparativo, tempo computacional, casos reais.

Abstract: Chinese Postman Problem (CPP) is to find a least distance/cost way to transverse each arc

of a network at least once and to return to the vertex from which you started. It is well-known in the literature that the obtaining the optimal solution for the mixed 1 vehicle CPP is NP complete and more difficult that directed and undirected cases. This paper goals to check if this computational complexity really represents a problem in the practical use of the CPP. To accomplish this goal real-world cases are selected (household refuse collection and postal service) and it is studied the influences of some characteristics of these cases on computational time. This work concludes that for real-world situations (about 200 vertex) there are no significant differences on computational time between directed, undirected and mixed CPP. So, even on mixed graphs it is possible to find an optimal solution for the CPP.

Keywords: Chinese Postman Problem, comparative, computational time, real-world cases.

1.Introdução

Rede ou grafo é definido por LARSON & ODONI (1981) como uma estrutura G (N,A) que consiste de um conjunto finito de N nós (ou vértices) e de um conjunto finito de A arcos (ou arestas) que conectam pares de nós. Dentro do escopo da teoria de grafos, o problema do carteiro chinês (CPP) é um problema no qual, dado um grafo G (N,A) cujos arcos (i,j) tem um comprimento não negativo cij,

deseja-se identificar o mínimo comprimento de um caminho que se inicie em algum nó , passe por todos os arcos da rede pelo menos uma vez e retorne ao nó inicial (AHUJA et al, 1993). Desde a sua aparição na moderna literatura em KWAN (1962) o problema do carteiro chinês vem ganhando muita atenção de pesquisadores que tratam de logística, principalmente logística urbana.

Na literatura, os problemas do carteiro chinês se dividem basicamente conforme o tipo de orientação da rede que se propõe a resolver. Existem basicamente três tipos de orientação de redes possíveis para este problema: redes direcionadas, não direcionadas e mistas. De acordo com AHUJA

et al (1993) um grafo ou rede direcionada G (N,A) consiste de um conjunto de N nós e um conjunto de

(2)

grafo ou rede não direcionada G (N,A) pode ser definido do mesmo modo que um grafo direcionado com a exceção de que os arcos são pares não ordenados de nós distintos. As redes mistas são aquelas nas quais alguns arcos são pares ordenados e outros são pares não ordenados de nós distintos (LARSON & ODONI, 1981).

A partir de uma revisão bibliográfica sobre o problema do CPP notou-se que diversos autores citam que a complexidade computacional da solução de modelos matemáticos para problemas mistos é muito maior do que para problemas não direcionados e direcionados. Por exemplo, PEARN & CHOU (1999) destacam que o CPP para redes direcionadas e não direcionadas é um problema polinomial resolvido facilmente; porém para redes mistas este problema não é polinomial, é um problema do tipo NP-completo, de difícil solução, principalmente para redes grandes. Na prática, esta importante afirmação realmente representa um problema? É exatamente esta questão que este trabalho pretende resolver. Acreditamos que em cidades de médio e grande porte, a rede pode ser caracterizada como sendo grande, possuindo milhares de nós e arcos os quais devem ser percorridos por um número maior do que um de entidades (caminhões, pessoas, etc..). Porém tratar o CPP em redes grandes envolve mais de uma entidade. Se o problema for simplificado para se trabalhar com apenas uma entidade haverão restrições de distância máxima percorrida o que impedirá a entidade de percorrer uma rede muito grande por dia. Isto fará que o problema real para uma entidade dificilmente será nunca uma rede de enormes proporções. Restará determinar então se este tamanho real de rede para uma entidade é um número passível a ser resolvido com um esforço computacional aceitável.

Portanto este trabalho estuda a influência de características da rede no tempo computacional, testando a hipótese de que os tempos computacionais para os grafos não direcionados, direcionados e mistos em grafos que representam o problema real em muitas cidades brasileiras não apresentam grande diferença. Em outras palavras, mostramos que a afirmação de PEARN & CHOU (1999) não é válida para problemas pequenos que na maioria das vezes refletem a realidade. Desta forma soluções exatas para o CPP, mesmo em redes mistas, são possíveis para casos reais em cidades brasileiras. Utilizamos em todos estes testes modelos matemáticos propostos na literatura revisada e o software GAMS, de amplo conhecimento na área de Gestão da Produção. Além disso, dados reais coletados em uma cidade brasileira de aproximadamente 200000 habitantes são utilizados no trabalho.

A estrutura do presente trabalho é o que segue: na seção 2 apresentamos os métodos de solução para problemas CPP utilizados no trabalho. Na seção 3 realizamos os testes computacionais para verificar a complexidade dos problemas não direcionados, direcionados e mistos, dando maior ênfase aos grafos mistos, os quais apresentam maior complexidade computacional. Na seção 4 tecemos algumas conclusões.

Antes de entrarmos na seção 2, apresentamos a seguir algumas definições importantes em teoria de grafos (baseado em LARSON & ODONI, 1981), bem como a notação matemática utilizada no trabalho. Isto facilitará o entendimento e a aplicação do trabalho.

Algumas definições importantes dentro da teoria de grafos

o Grau de um nó => num grafo não direcionado é o número de arcos incidentes nele; num grafo direcionado tem-se o grau de entrada e o grau de saída de um nó;

o Caminho (ou cadeia) => é uma seqüência de arcos adjacentes e nós; nos grafos direcionados, os caminhos também são direcionados;

o Ciclo (ou circuito) => é um caminho cujo nó inicial e final coincidem;

o Grafo não direcionado conectado=> é um grafo no qual existe um caminho entre todos os pares de nós i, j

N

o Grafo direcionado conectado => um grafo direcionado é conectado se o seu grafo não direcionado associado (isto é, o grafo que resulta se a orientação é removida de seus arcos) for conectado.

(3)

Notação utilizada nos modelos matemáticos:

2. Os métodos de solução para o CPP

A partir de uma completa revisão da literatura sobre CPP notamos que o método básico para a solução do CPP pode ser resumido em três passos básicos, independentemente da rede ser não direcionada, direcionada e mista:

¾ Primeiro Passo: Verificar se o grafo é Euleriano (grafos nos quais existem roteiros que passam exatamente uma única vez por todos os arcos). Caso a resposta seja afirmativa, então vá para o terceiro passo; caso contrário vá para o segundo passo.

¾ Segundo Passo: Obter um grafo Euleriano. Neste passo transforma-se o grafo inicialmente não Euleriano em um grafo Euleriano através da inclusão de arcos artificiais duplicados. Busca-se fazer isto a um mínimo o custo, ou seja, os arcos artificiais devem ser os menores possíveis. Após este passo deve-se ir para o terceiro passo

¾ Terceiro Passo: Obter o circuito ou caminho Euleriano a partir do grafo Euleriano.

Analisando estes três passos básicos, verificamos que é basicamente no segundo passo que se encontram as modelagens matemáticas dos problemas CPP e portanto também é neste passo que está a complexidade do CPP, uma vez que, nos casos nos quais o grafo não é Euleriano, há necessidade de se aumentar este grafo pela adição de arcos até tornar este grafo Euleriano. Isto deve ser feito a menor custo possível. Daí a utilização muitas vezes de modelos matemáticos exatos: i) modelos de “casamento” (minimun-lenght pairwise matching) para grafos não direcionados (principalmente os não conectados, uma vez que os conectados podem utilizar o método manual); ii) modelos de fluxo de custo mínimo (minimum cost flow problem) para grafos direcionados e iii) uma combinação de ambos os problemas ou modelos de programação inteira para grafos mistos.

Baseado nestes comentários, esta seção é focada exatamente neste segundo passo da resolução de um CPP (determinação de um grafo Euleriano), mais especificamente com a utilização de modelos matemáticos. Mostramos os modelos matemáticos encontrados na literatura referente à CPP para os casos não direcionados, direcionados e misto. São estes modelos que são utilizados em nossa análise computacional na seção 3.

2.1 O CPP para redes não direcionadas

O primeiro resultado conhecido referente ao CPP para redes não direcionadas é devido a EULER (1736). EULER (1736) mostrou que um grafo conectado não direcionado G (N,A) tem um roteiro que passa exatamente uma vez por todos os seus arcos se e somente se todos os nós deste grafo tiveram exatamente zero nós de grau ímpar (em outras palavras, se todos os nós forem pares). Já para um grafo não conectado ter um roteiro que passa exatamente uma vez por todos os seus arcos, o número de nós de grau ímpar deve ser exatamente 2 nós. Esta importante relação (tanto para grafos conectados como não conectados) é conhecida na literatura por Teorema de Euler. Os grafos nos quais existem roteiros que passam exatamente uma única vez por todos os arcos são denominados grafos

Eulerianos (os roteiros formados dentro destes grafos são denominados: circuito ou ciclo Euleriano

para grafos conectados e caminho ou cadeia Euleriana para grafos não conectados).

Uma vez determinado que um grafo é Euleriano, ou seja, tem um roteiro que passa exatamente uma vez por todos os arcos deste grafo a solução para se encontrar os circuitos ou caminhos Eulerianos neste grafo é trivial. Uma série de algoritmos, dentre eles o algoritmo de Fleury,

s arco A e nós N com grafo A N G j i arco o percorre carteiro o que vezes de número x j i arco do o compriment l j i l rede na s arco de número m rede na nós de número n ij j i ⇒ ⇒ ⇒ = ⇒ ⇒ ) , ( ) , ( ) , ( ) , ( ,

(4)

mostrado em KAUFFMAN (1967), o algoritmo de LARSON & ODONI (1981), o algoritmo de EDMONDS & JOHNSON, 1973 (complexidade O(n)), além de outros algoritmos que se encontram no trabalho de FLEISCHNER (1991) apud EISELT et al (1995a) tratam desta questão.

Quando o grafo não apresenta inicialmente um circuito ou caminho de Euler deve-se transformar o grafo G em um grafo G’ (N, A’) através da inclusão de arcos artificiais duplicados, que transformem G em um grafo Euleriano. Na literatura muitos algoritmos trabalham exatamente com esta idéia. É o caso do algoritmo mostrado em LARSON & ODONI (1981). O passo crucial deste algoritmo é encontrar o “casamento de pares com a mínima distância”. Isto significa encontrar, dentre um número par de nós, a combinação dois a dois que fornece a menor distância total entre eles. Para se resolver este problema podemos empregar um método manual, o qual MORÁBITO (1996) cita que, num contexto geográfico, fornece excelentes soluções ou então um método exato baseado em programação matemática. LARSON & ODONI (1981) citam dois algoritmos que realizam o “casamento” ótimo do PASSO 2; o algoritmo de EDMONDS & JOHNSON (1973), o qual tem

complexidade O(n3) e o algoritmo de CHRISTOFIDES (1975). Também uma versão modificada do

modelo de BAKER (1983) para grafos conectados, mostrada em WANG & WEN (2002), pode ser utilizada. Além destes, existe uma série de outros algoritmos para resolver o problema do “casamento”, como por exemplo, o modelo de programação inteira mostrado em EISELT et al (1995a), o modelo de LAWLER (1976), com complexidade O(n3), o modelo proposto por GALIL et

al (1986) e o modelo de DERIGS & METZ (1991). Neste trabalho utilizamos uma versão modificada (voltado para grafos não orientados) do modelo proposto por BAKER (1983). Denominamos este algoritmo de modelo matemático 1.

Modelo matemático 1: Encontrar o mínimo custo de aumento de um grafo não

direcionado

Sujeito a:

Para a resolução em grafos não conectados deve ser utilizado um dos métodos exatos citados acima, uma vez que métodos manuais se tornam inviáveis para problemas maiores. De acordo com MORÁBITO (1996) a combinação de casamentos no passo 2 do algoritmo 2 cresce muito rapidamente; por exemplo, quando o valor de m é 10, existem 945 combinações possíveis.

2.2 O CPP para redes direcionadas

Para o caso de grafos direcionados, diferentemente dos grafos não direcionados, existe uma condição de extrema importância para que o CPP tenha solução. Esta condição é que o grafo deve ser fortemente conectado, ou seja, deve haver um caminho direcionado ligando todos os nós do grafo (WANG & WEN, 2002). Nas palavras de MORÁBITO (1996): “todo nó deve ser alcançável de qualquer outro nó”. Portanto em redes direcionadas excluímos de nossa discussão grafos não conectados.

Assim como nos grafos não direcionados, o primeiro passo para se resolver o problema CPP em redes direcionadas é a verificação se o grafo possui um circuito Euleriano. Um grafo conectado orientado G (N,A) possui um circuito de Euler se e somente se contiver todos os nós com grau de

∈A j i ij ij

x

l

Min

) , (

A

j

i

x

x

i

x

x

ji ij A j i j j ji A ji ij

+

=

∈ ∈

)

,

(

1

,

) , ( : ;( ,)

(5)

entrada igual ao grau de saída (na literatura de grafos se um grafo tiver esta característica ele é conhecido como grafo simétrico).

Caso o grafo possua um circuito de Euler, o problema passa a ser determiná-lo. Para se realizar isto a literatura traz vários algoritmos, dentre eles podemos citar uma adaptação do algoritmo de Fleury para grafos direcionados encontrado em CHRISTOFIDES (1975), o algoritmo sugerido por VAN AARDENNE-EHRENFEST & DE BRUIJN (1951) ou mesmo o algoritmo mostrado em MORÁBITO (1996).

Nos casos de não se ter inicialmente um grafo Euleriano, então se deve utilizar uma metodologia para tornar o grafo Euleriano. A idéia aqui é a mesma dos grafos não orientados, ou seja, deve-se acrescentar arcos até tornar o grafo Euleriano. O objetivo passa a ser então fazer isto a um menor custo (ou distância entre nós). Para se realizar isto são propostos na literatura diversas soluções, a grande maioria delas baseada em programação matemática. Estes modelos são denominados na literatura de problemas de fluxo de custo mínimo (minimum cost flow problem). Exemplos são

encontrados nos trabalhos de EDMONDS & JOHNSON, 1973 (complexidade O (n3)); ORLOFF

(1974); BELTRAMI & BODIN, 1974 (complexidade O(mn2)); BAKER (1983); LIN & ZHAO, 1988 (complexidade O(kn2). O fator k citado está relacionado a estrutura da rede; para uma rede dispersa, k pode ser bem menor que m e n. Os modelos citados de EDMONDS & JOHNSON,1973; ORLOFF (1974) e BELTRAMI & BODIN,1974 para resolução do problema de fluxo de custo mínimo trabalham com uma abordagem do clássico problema do transporte, o qual segundo RARDIN (1998) é um caso especial dos modelos de fluxo de custo mínimo.

Mostramos um modelo proposto por BAKER (1983) o qual modela o problema do fluxo de custo mínimo. Denominamos este modelo de modelo matemáticos 2.

Modelo matemático 2: Determinação de um grafo Euleriano para redes direcionadas

(BAKER (1983))

Sujeito a:

Sobre a complexidade do modelo matemáticos 2, algumas explicações básicas são de extrema importância. Estes modelos requerem uma solução inteira, uma vez que o número de vezes que o carteiro deve percorrer um arco deve ser necessariamente um valor inteiro. Na literatura de Pesquisa Operacional é conhecido que problemas de programação inteira ou inteira mista (que resultam em soluções inteiras) tem um custo computacional alto. De acordo com BUDNICK et al (1988), um modelo de programação inteira com algumas centenas de variáveis causam grande ansiedade nos analistas computacionais (devido a natureza combinatorial do problema inteiro), enquanto que um modelo de programação linear simples com alguns milhares de variáveis é facilmente resolvido.

A partir do explicitado acima, temos que o modelo matemático 2, teoricamente deveriam ser inteiros. Como podemos notar, ambos não possuem estas características. As razões para isto advêm de duas propriedades matemáticas importantes. A primeira delas, denominada na literatura de

propriedade da integralidade de fluxos em rede, declara que se modelos de fluxo de custo mínimo,

com valores da matriz de restrições (esta matriz é também chamada de matriz de incidência nó-arco e é representada pela letra A no modelo matemático 3) inteiros, possuírem soluções ótimas, estas soluções serão inteiras (RARDIN (1998)). A segunda propriedade é a chamada unimodularidade

total. De acordo com esta propriedade, uma matriz é totalmente unimodular se os determinantes em

cada uma de suas submatrizes quadradas tiverem valor –1, 0 ou 1 (AHUJA et al (1993)). Se uma

∈A j i ij ij

x

l

Min

) , (

A

j

i

x

i

x

x

ij A j i j j ji A ji ij

=

∈ ∈

)

,

(

1

,

) , ( : ;( ,)

(6)

matriz for totalmente unimodular, pela regra de Cramer, não haverá valores não inteiros nas restrições (RARDIN (1998)) e daí passa a ser válida a propriedade da integralidade. Portanto se a matriz de restrições em um problema de fluxo de custo mínimo for totalmente unimodular e este problema tiver solução esta será necessariamente inteira, não necessitando de um modelo de programação inteira para resolver tal problema, simplificando computacionalmente esta resolução. É exatamente isto que ocorre nos modelos matemáticos 2 e 3 mostrados anteriormente. A matriz de restrições para um grafo direcionado é totalmente unimodular e, portanto, estes problemas são mais facilmente resolvíveis computacionalmente. Devemos salientar que o mesmo não ocorre no caso dos grafos mistos (AHUJA

et al (1993)), o que faz com que esta classe de problemas deva ser resolvida com a utilização de

programação linear inteira, a qual traz uma complexidade computacional muito maior. Mais detalhes sobre estas duas propriedades pode ser encontrado em RARDIN (1998) ou em AHUJA et al (1993).

Uma vez obtido um grafo direcionado Euleriano, a tarefa passa a ser somente encontrar o circuito Euleriano deste grafo, o que pode ser feito utilizando-se, por exemplo, o algoritmo de VAN AARDENNE-EHRENFEST & DE BRUIJN (1951) ou mesmo o algoritmo mostrado em MORÁBITO (1996).

2.3 O CPP para redes mistas

Uma rede mista contém tanto arcos orientados como não orientados. Assim como nas redes direcionadas, nas redes mistas também o grafo deve ser totalmente conectado para que o CPP tenha solução.

A condição para que uma rede mista tenha um roteiro Euleriano é que esta rede seja par e balanceada (EISELT et al, 1995). Uma rede par é aquela na qual o número total de arcos (direcionados ou não) em cada um de seus nós é par; em outras palavras a rede não deve ter nós de grau ímpar. Já uma rede balanceada é aquela na qual, para todo nó genérico S, a diferença entre o número de arcos direcionados que saem deste nó e o número de arcos direcionados que entram neste nó deve ser menor ou igual ao número de arcos não direcionados que ligam S a qualquer nó (NOBERT & PICARD (1991) apud EISELT et al (1995)). Estas duas condições são versões modificadas do Teorema de Euler para o caso de redes mistas.

Caso o grafo misto seja Euleriano, o problema passa a ser determinar o roteiro Euleriano neste grafo. Isto pode ser feito utilizando-se a metodologia de EISELT et al (1995).

Caso o grafo não seja Euleriano deve-se proceder a uma abordagem semelhante à descrita anteriormente para os casos não direcionados e direcionados: duplicar um número suficiente de arcos de tal forma que o grafo se torne Euleriano. De acordo com EISELT et al (1995) muitos autores usam a programação inteira para determinar este aumento do grafo misto a um custo mínimo, porém os resultados computacionais são apenas esboçados e, portanto, comparações entre as abordagens são difíceis. A única conclusão a respeito de todos estes modelos é que eles são ineficientes computacionalmente e que somente problemas de pequeno e médio porte podem ser resolvidos (PEARN & LIU, 1995). Exemplo deste tipo de abordagem exata para a resolução do CPP misto pode ser encontrado em GROTSCHEL & WIN (1992); CHRISTOFIDES et al (1983) e MORÁBITO (1996). Neste trabalho trabalhamos computacionalmente com o modelo encontrado em MORÁBITO (1996). Este modelo inicialmente prevê que todos os arcos não orientados (i,j) devem ser transformados em dois arcos orientados (i,j) e (j,i) e então deve-se utilizar o modelo matemático de fluxo de custo mínimo mostrado a seguir. Denominamos este modelo de modelo matemático 3.

(7)

Modelo matemático 3: Modelo de fluxo de custo mínimo para grafos mistos

Sujeito a:

3. Estudo de tempos computacionais de modelos matemáticos para CPP em

grafos reais não direcionados, direcionados e mistos

Os estudos de tempos computacionais apresentados nesta seção utilizaram modelos matemáticos mostrados na seção 2. Para os grafos não direcionados foi utilizado o modelo matemático 1, para os grafos direcionados foi utilizado o modelo matemático 2 e para os grafos mistos foi utilizado o modelo matemático 3. O software utilizado foi o GAMS, versão 19.2, com o solver Cplex 7.0. O computador utilizado possui um processador AMD-K6 400 MHz com 160 MB de memória RAM.

3.1 A Validação dos modelos matemáticos

Antes de realizar o estudo dos tempos computacionais propriamente dito, são utilizados 3 exemplos (um não direcionado, um direcionado e um misto) para os quais já se conhece a solução, para validar a modelagem no GAMS dos modelos matemáticos 1, 2 e 3.

3.2 A escolha do tamanho dos grafos para os teste computacionais

Para se determinar o tamanho de grafos em problemas reais foram entrevistadas duas empresas de setores distintos que confrontam com a necessidade de resolver problemas de cobertura de arcos (CPP) em suas operações. Estas empresas são: uma empresa de coleta de lixo e outra dos Correios. A coleta de lixo de uma cidade utilizando caminhões pode ser considerada um problema de cobertura de arcos, pois as ruas representam os arcos, os cruzamentos de ruas, os nós e a área de influência seria o grafo completo. Os caminhões têm que percorrer todas as ruas (arcos) de sua área de influência, coletando o lixo das casas. Como esses veículos devem obedecer às regras de trânsito e as ruas podem ter sentido único ou mão dupla, o grafo pode ser considerado misto. Para os correios tomaremos como unidade de análise o carteiro. O carteiro também defronta com a possibilidade de sua área de influência ser caracterizada por um grafo não euleriano. No entanto, diferentemente do caso anterior, o carteiro não necessariamente precisa respeitar às regras de trânsito. Sendo assim, ele defronta com um problema de encontrar uma rede euleriana em um grafo não direcionado.

Na tabela 1 é realizada uma comparação entre algumas características dos dois casos pesquisados.

∈ ∈

+

' ) , ( ) , ( i j A ij ij A j i ij ij

x

l

x

l

Min

' ) , ( int ) , ( int ) , ( , 1 ' ) , ( , 1 , ' ) , ( : ) , ( : :( ,) ' ) , ( : A j i x A j i x A j i x A j i x x i x x x x ij ij ij ji ij A i j j ij A j i j j ji A ji ij A j i j ij ∈ ∀ ∈ ∀ ∈ ∀ ≥ ∈ ∀ ≥ + ∀ + = +

∈ ∈ ∈ ∈

(8)

Variável Coleta de Lixo Correio

Unidade Caminhão Carteiro

Tipo de Grafo Misto Não Direcionado

Tamanho do grafo para uma unidade 350 a 400 arcos, diurno 80 a 120 arcos, centro 200 a 230 arcos, bairro

Nível de estoque do recurso móvel Aumenta com a distância percorrida

Diminui com a distância percorrida

Delimitação do grafo para uma unidade de referência

Setores da Cidade CEP e bairro

Determinação do roteiro Centralizada Próprio Carteiro

Relevância do problema com relação aos custos operacionais

Alta Pequena/Média

Tabela 1: Comparação entre algumas características dos casos analisados

Vê-se na tabela 1 que um número tamanho real para um grafo misto (coleta de lixo) é de 350 a 400 arcos, enquanto que para um grafo não direcionado pode chegar a 230 arcos. Estes tamanhos serão utilizados para se realizar os testes computacionais.

3.3 Os tempos computacionais nos grafos não direcionados

Para os grafos não direcionados avaliou-se o tempo computacional de um grafo com 200 nós e 361 arcos, compatível com os problemas reais como vimos anteriormente. O tempo computacional deste grafo foi de 0,05 s, ou seja bastante pequeno, como já era esperado a partir da literatura.

3.4 Os tempos computacionais nos grafos direcionados

Para facilitar comparações, foram utilizados para os grafos conectados o mesmo número de nós e arcos utilizados no problema não conectado. Na verdade o grafo foi o mesmo utilizado para o caso não direcionado, apenas orientado e fortemente conectado. O tempo computacional para este caso foi 0,01 s, totalmente coerente com a literatura.

3.5 Os tempos computacionais nos grafos mistos

Para os grafos mistos deu-se um maior foco aos estudos computacionais, uma vez que é neste tipo de grafo que a literatura reporta que existem problemas. Para verificar os tempos computacionais dos grafos mistos, foi feito um experimento baseado no grafo exibido na figura 2. Este grafo ilustra basicamente um caso real, apresentando uma parte mais irregular e outra mais regular. Esta rede, originalmente com 200 nós foi desmenbrada em grafos menores de 20, 30, 40, 50, 60, 80, 100, 120, 140, 160 e 180 nós (os recortes seguem uma ordem numérica dos nós). Estes recortes também são mostrados na figura 2.

(9)

Figura 2: Rede mista com recortes utilizada para testes computacionais 1 11 22 21 31 41 42 51 52 61 62 71 72 81 82 91 92 101 102 111 112 121 122 131 132 141 142 151 152 161 162 171 172 181 182 191 192 2 3 12 13 23 33 32 43 53 63 73 83 93 103 113 123 133 143 153 163 173 183 193 4 24 14 25 34 45 44 55 54 65 64 75 74 85 84 95 94 105 104 115 114 125 124 135 134 145 144 155 154 165 164 175 174 185 184 195 194 5 26 15 35 46 56 66 76 86 96 106 116 126 136 146 156 166 176 186 196 6 27 16 36 47 57 67 77 87 97 107 117 127 137 147 157 167 177 187 197 7 8 18 28 17 37 48 58 68 78 88 98 108 118 128 138 148 158 168 178 188 198 9 29 19 38 39 49 59 69 79 89 99 109 119 129 139 149 159 169 179 189 199 10 30 20 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 100 110 90 100 100 100 110 90 90 150 100 100 100 100 160 150 150 90 90 110 120 110 80 90 100 100 90 90 100 120 120 100 110 110 100 100 110 110 100 90 90 90 100 150 100 110 120 120 110 150 150 100 100 100 100 90 100 90 130 110 100 160 100 150 100 210 100 210 200 100 150 90 100 90 100 90 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

(10)

Especialmente para programação inteira, observou-se que o tempo computacional apresentou variações entre as diferentes execuções do modelo no GAMS/CPLEX. Sendo assim para cada rede, foram tomadas 10 observações de tempo. Dessas observações foram calculadas as médias e elaborada a tabela 2. Esta tabela mostra o número de nós, o número de iterações, o tempo computacional médio e o valor da função objetivo para cada grafo analisado.

NÚMERO NÓS ITERAÇÕES TEMPO (S) FO 20 57 0,003 3.390 30 96 0,09 5.430 40 119 0,131 7.270 50 220 0,057 10.240 60 388 0,054 13.000 80 554 0,051 17.350 100 450 0,05 20.540 120 704 0,042 25.930 140 3.615 0,042 30.660 160 563 0,031 33.970 180 20.491 3,729 39.270 200 1.244 0,058 42.050 Tabela 2: Resoluções do CPP misto utilizando o solver CPLEX

Por meio da tabela 2, observa-se que o tempo de execução aumenta até o tamanho de rede de 40 nós. Entretanto, entre 50 e 200 nós, o tempo computacional permaneceu estável (com exceção da rede de 180 nós, o qual teve um número de iterações elevado). Este fato pode ser explicado pela rede até 40 nós ser mais distante de um circuito euleriano que a rede com 200 nós. De fato observa-se que a rede até o nó 40 é bem mais irregular que para os nós de 40 a 200. Isto nos leva a supor que o tempo computacional não é somente dependente do tamanho de um grafo, mas também de sua geometria (se regular ou irregular). Porém, a maioria dos quarteirões em cidades brasileiras são mais regulares do que irregulares. Não conseguiu-se chegar a uma razão para o número elevado de iterações necessárias nas redes com 140 e 180 nós. Porém isto em nada impacta nas conclusões extraídas desta seção.

A partir dos tempos computacionais mostrados vemos que problemas como este, de porte pequeno ou médio, são facilmente resolvidos com os solvers disponíveis no mercado.

Esta seção nos permite concluir que para problemas de pequeno/médio porte, com as características analisadas (e que como vimos, refletem casos reais) são computacionalmente tratáveis utilizando os solvers disponíveis no mercado.

4. Conclusões

O presente trabalho trata do problema do carteiro chinês (CPP), um problema que busca encontrar a mínima distância que deve ser coberta por um elemento (caminhão de lixo, carteiro, jornaleiro, dentre outros), passando por todos os caminhos pelo menos uma vez e retornando até a origem.

O objetivo do trabalho é realizar um estudo computacional dos problemas CPP conforme estes sejam direcionados à grafos não direcionados, direcionados e mistos. Este trabalho mostra que para problemas reais (no caso estudado 200 nós) inexistem significantes diferenças entre o tempo computacional para soluções matemáticas para os problemas não direcionados, direcionados e mistos. Portanto, mesmo em grafos mistos são possíveis soluções matemáticas otimizantes.

Ainda com relação aos grafos mistos este trabalho mostra que o tempo de execução computacional não somente está relacionado ao número de nós, mas também ao número de iterações

(11)

Acreditamos que além de conseguir trazer benefícios à literatura sobre CPP, a principal contribuição deste trabalho é mostrar que os métodos de solução que a literatura recomenda à “problemas pequenos”, são, na verdade, aplicáveis a problemas reais (embora de escopo limitado) e portanto estes problemas podem ser resolvidas por modelos matemáticos exatos.

5.

Referências

AHUJA, R.K.; MAGNANTI, T.L.; ORLIN, J.B.; Network Flows – Theory, Algorithms and

Applications. Prentice Hall, Upper Saddle River, New Jersey, 1993.

BAKER, E.K.; An exact algorithm for the time constrained travelling salesman problem. Operations

Research, vol. 31, n. 5, pp. 938-945, 1983.

BELTRMI, E.; BODIN, L.; Networks and vehicle routing for municipal waste collection. Networks, vol 4, pp. 65-94, 1974.

BUDNICK, F.S.; MCLEAVEY, D.W.; MOJENA, R.; Principles of Operations Research for Management. IRWIN, Homewood, Illinois, 2nd Edition, 1988.

CHRISTOFIDES, N.; Graph Theory – An Algorithmic Approach. Academic Press, London, 1975. CHRISTOFIDES, N.; BENAVENT, E.; CAMPOS, A.; CORBRAN, A.; MOTA, E.; An optimal

method for the mixed postman problem. Proceedings of the 11th IFIP Conference,

Copenhagen, Denmark, pp. 641-649, 1993.

COSTA, M.A.B.; Métodos para construção de rotas Eulerianas em grafos mistos com aplicação na distribuição de bens e serviços. Dissertação de Mestrado. Campina Grande. Paraíba, 1982. DERIGS, U. & METZ, A.; Solving (Large Scale) Matching Problems. Mathematical Programming,

vol. 50, pp. 113-121, 1991.

EDMONDS, J. & JOHNSON, E.; Matching, Euler Tours and the Chinese Postman Problem.

Mathematical Programming, vol. 5, pp. 88-124, 1973.

EISELT, H.A.; GENDREAU, M.; LAPORTE, G.; Arc Routing Problems, Part I: The Chinese Postman Problem. Operations Research, vol. 43, n. 2, March-April, 1995a.

EISELT, H.A.; GENDREAU, M.; LAPORTE, G.; Arc Routing Problems, Part II: The Rural Postman Problem. Operations Research, vol. 43, n. 2, March-April, 1995b.

EULER, L.; Solutio Problematis ad Geometrian Situs Pertinentis. Commentarii academiae scientarum

Petropolitanae, 8, pp. 128-140, 1736.

FLEISCHNER, H.; Eulerian Graphs and Related Topics (Part 1, Volume 1). Annals of Discrete

Mathematics, vol. 45, North-Holland, Amsterdan, 1990.

GALIL, Z.; MICALI, S.; GABOW, H.; An O(EV log V) Algorithm for Finding a Maximal Weighted Matching in General Graphs. SIAM J. Comp., vol. 15, pp. 120-130, 1986.

GROTSCHEL, M.; WIN, Z.; A Cutting plane algorithm for the Windy Postman Problem. Math.

Prog., vol. 55, pp. 339-358, 1992.

KAUFFMAN, A.; Graphs, Dynamic Programming and Finite Games. Academic Press, New York, 1967.

KWAN, M.; Graphic Programming using odd or even points. Chinese Math, 1, pp.273-277, 1962. LARSON, R.C. & ODONI, A.R.; Urban Operations Research. Prentice-Hall, Englewood Cliffs, New

Jersey, 1981.

LIN, Y. & ZHAO, Y.: A New Algorithm for the directed Chinese Postman Problem. Computers &

Operations Research, vol. 15, n.6, pp. 577-584, 1988.

MORÁBITO, R.N.: Notas de Aula de Pesquisa Operacional Aplicada à Logística. DEP, Ufscar, 1996. NOBERT, Y; PICARD, J.C.; An Optimal Algorithm for the Mixed Chinese Postman Problem.

Publication # 799. Centre de Recherche sur les transports. Montreal, Canadá, 1991. ORLOFF, C.S; A fundamental problem in vehicle routing. Networks, vol. 4, pp. 35-64, 1974

PEARN, W.L. & CHOU, J.B.; Algorithms for the Chinese Postman problem on Mixed Networks.

Computers & Operations Research, vol. 22, n.5, pp. 479-489, 1995.

PEARN, W.L. & CHOU, J.B.; Improved Solutions for the Chinese postman problem on mixed networks. Computers & Operations Research, vol. 26, pp. 819-827, 1999.

RARDIN, R.L.; Optimization in Operations Research. Prentice Hall, Upper Saddle River, New Jersey, 1998.

(12)

VAN AARDENNE-EHRENFEST, T.; BRUIJN, N.G; Circuits and Trees in Oriented Linear graphs.

Simon Stevin, vol. 28, pp. 293-217, 1951.

WANG, H.; WEN, Y.; Time constrained Chinese Postman Problems. Computers and mathematics

Referências

Documentos relacionados

R$ 1.000.000,00 7.6 Criação e manutencão de um banco de dados nacional de efeitos da malha viária R$ 400.000,00 7.7 Modelar e identificar áreas críticas de efeitos da malha

Efetividade de gestão das unidades de conservação estaduais e federais de gestão e módulos de análise... no módulo recursos humanos é a existência de oportunidades de

(1983) estudaram o efeito da adição de monensina (l00mg) em dietas de novilhas da raça holandesa, recebendo 33% de concentrado e 67% de volumoso, verificaram que houve aumento de

Foram incluídos pa- cientes de ambos os gêneros, com ida- de ≥18 anos, que utilizaram ventilação mecânica não invasiva devido ao quadro de insuficiência respiratória secundária

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

Resumo da análise de variância efetuada para Densidade básica (DB), comprimento de fibra (CF), espessura da parede da fibra (EPF), comprimento de vaso (CV), diâmetro de vaso

Dessa distância, é impossível errar, e a criatura tomba sobre a mesa. Um burburinho junto à porta indica que você foi observado, e o que quer que estivesse espiando você,

§ 1º As reuniões ordinárias do Conselho Técnico da DRI, previstas no calendário, deverão ser convocadas por seu Presidente, mediante comunicação escrita aos demais membros e