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



Documentos relacionados
Moacir Godinho Filho (UFSCar) Rogério de Ávila Ribeiro Junqueira (LogTrac)

PROBLEMA DO CARTEIRO CHINÊS

Grafo: Algoritmos e Aplicações

Problema do Carteiro Chinês: escolha de métodos de solução e análise de tempos computacionais

CAPÍTULO 2. Grafos e Redes

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

MS877 Problema do Carteiro Chinês: Estudo da modelagem e software XNÊS

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

A otimização é o processo de

PESQUISA OPERACIONAL TEORIA DOS GRAFOS

Programação Inteira. Fernando Nogueira Programação Inteira 1

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Potenciação no Conjunto dos Números Inteiros - Z

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas ICEB

A TEORIA DOS GRAFOS NA ANÁLISE DO FLUXOGRAMA DO CURSO DE ENGENHARIA DE PRODUÇÃO DA UFF

O USO DE PROGRAMAS COMPUTACIONAIS COMO RECURSO AUXILIAR PARA O ENSINO DE GEOMETRIA ESPACIAL

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Algumas Aplicações da Teoria dos Grafos

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

AULA 6 Esquemas Elétricos Básicos das Subestações Elétricas

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Sua interface é semelhante a de um processador de textos do tipo WYSIWYG, ou seja, What you see is what you get (o que você vê é o que você faz).

Controle da produção baseado em códigos de barras

SP 04/92 NT 141/92. Velocidade Média: Considerações sobre seu Cálculo. Engº Luiz Henrique Piovesan. 1. Introdução

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Notas de Cálculo Numérico

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho

Teoria dos Grafos. Edson Prestes

Análise de Redes de Transportes. Útil também para várias outras áreas além de Transportes!

Aula 3 OS TRANSITÒRIOS DAS REDES ELÉTRICAS

Exercícios Adicionais

AMOSTRAGEM ESTATÍSTICA EM AUDITORIA PARTE ll

Introdução aos Conceitos de Problemas de Transporte e Roteamento de Veículos

ELETROTÉCNICA ELM ROTEIRO DA AULA PRÁTICA 01 A LEI DE OHM e AS LEIS DE KIRCHHOFF

9. Derivadas de ordem superior

Notas sobre a Fórmula de Taylor e o estudo de extremos

Capítulo 12 Simulador LOGSIM

Montagem e Manutenção. Luís Guilherme A. Pontes

Aplicações Computacionais da linguagem N-GraphML

Resolução de sistemas lineares

Descrição do Produto. Altus S. A. 1

Material Teórico - Módulo de Métodos sofisticados de contagem. Princípio das Casas dos Pombos. Segundo Ano do Ensino Médio

TÉCNICAS DE PROGRAMAÇÃO

Metodologia para seleção de amostras de contratos de obras públicas (jurisdicionados) utilizando a programação linear aplicativo Solver

Equações Diferenciais Ordinárias

5 Considerações finais

UMA HEURÍSTICA GRASP PARA O PROBLEMA ESTENDIDO DE SEQUENCIAMENTO DE CARROS

Problema do Carteiro Chinês

Eventos independentes

Contas. Osni Moura Ribeiro ; Contabilidade Fundamental 1, Editora Saraiva- ISBN

Modelagem Matemática Aplicada ao Ensino de Cálculo 1

UM MODELO PARA AVALIAÇÃO DE PRÉ-REQUISITOS ENTRE DISCIPLINAS DO CURSO DE ENGENHARIA DE PRODUÇÃO

Tomada de Decisão Multicritério na Logística

Classificação: Determinístico

INVESTIGANDO O ENSINO MÉDIO E REFLETINDO SOBRE A INCLUSÃO DAS TECNOLOGIAS NA ESCOLA PÚBLICA: AÇÕES DO PROLICEN EM MATEMÁTICA

Exercícios Teóricos Resolvidos

Prof. Clodoaldo Valverde Universidade Estadual de Goiás Orientador. Prof. Renato Medeiros. Prof. Elber Magalhães Torres. Prof. XXYYXX.

MÓDULO 4 DISTRIBUIÇÃO DE FREQÜÊNCIAS

MOQ 43 PESQUISA OPERACIONAL. Professor: Rodrigo A. Scarpel

Aula 4 Estatística Conceitos básicos

UTILIZANDO O BARCO POP POP COMO UM EXPERIMENTO PROBLEMATIZADOR PARA O ENSINO DE FÍSICA

ORIENTAÇÕES BÁSICAS PARA COMPRA DE TÍTULOS NO TESOURO DIRETO

MODELAGEM MATEMÁTICA NA ANÁLISE DE SISTEMAS DE CRIAÇÃO DE FRANGO DE CORTE RESUMO

Figura 1.1: Representação gráfica das pontes de Königsberg.

O comportamento conjunto de duas variáveis quantitativas pode ser observado por meio de um gráfico, denominado diagrama de dispersão.

Como foi visto no tópico anterior, existem duas formas básicas para representar uma função lógica qualquer:

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

3 Estratégia para o enriquecimento de informações

COBERTURA EM UMA REDE DE SENSORES SEM FIO

Fundamentos de Física e Matemática para Biologia-FFCLRP-USP Primeiro Semestre de 2007 Professor: Antônio C. Roque (DFM-FFCLRP-USP)

Sistemas Lineares. Módulo 3 Unidade 10. Para início de conversa... Matemática e suas Tecnologias Matemática

PROGRAMAÇÃO DA PRODUÇÃO EM PROCESSOS BATELADAS UTILIZANDO PLANILHAS ELETRÔNICAS

4- PROJETO DE BANCO DE DADOS

PARADOXO DA REALIZAÇÃO DE TRABALHO PELA FORÇA MAGNÉTICA

Análise e Complexidade de Algoritmos

Satisfação dos consumidores: estudo de caso em um supermercado de Bambuí/MG

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

3 - CONJUNTO DOS NÚMEROS RACIONAIS

Reaproveitando algoritmos

INSTITUTO TECNOLÓGICO

1 Propagação de Onda Livre ao Longo de um Guia de Ondas Estreito.

Caso de uma Central de distribuição. Seqüência de processamento. Injeção de plásticos

UNIDADE 6 - PROGRAMAÇÃO MODULAR

Brasil avança em duas áreas da Matemática

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

Programação em papel quadriculado

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Capítulo 5: Aplicações da Derivada

Unidade II - Sistemas de Equações Lineares

Lista 1 para a P2. Operações com subespaços

AS CONTRIBUIÇÕES DAS VÍDEO AULAS NA FORMAÇÃO DO EDUCANDO.

6. Programação Inteira

Trabalho Computacional

Manual das planilhas de Obras v2.5

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE II): ATINGIR META E SOLVER

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Transcrição:

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 - Caia 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 Pozz 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 compleidade computacional da solução ótima para o CPP com uma única entidade em problemas mistos (NPcompleto) é 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 lio 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 etraídos de situações reais (nos casos estudados aproimadamente 200 nós) ineistem 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 verte from which you started. It is well-known in the literature that the obtaining the optimal solution for the mied 1 vehicle CPP is NP complete and more difficult that directed and undirected cases. This paper goals to check if this computational compleity 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 verte) there are no significant differences on computational time between directed, undirected and mied CPP. So, even on mied 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 ( tem um comprimento não negativo c, 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. Eistem 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 A arcos cujos elementos são pares ordenados de nós distintos. Ainda de acordo com estes autores um

grafo ou rede não direcionada G (N,A) pode ser definido do mesmo modo que um grafo direcionado com a eceçã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 compleidade computacional da solução de modelos matemáticos para problemas mistos é muito maior do que para problemas não direcionados e direcionados. Por eemplo, 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? É eatamente 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áima 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 eatas 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 aproimadamente 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 compleidade dos problemas não direcionados, direcionados e mistos, dando maior ênfase aos grafos mistos, os quais apresentam maior compleidade 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 o o o 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ó; Caminho (ou cadeia) => é uma seqüência de arcos adjacentes e nós; nos grafos direcionados, os caminhos também são direcionados; Ciclo (ou circuito) => é um caminho cujo nó inicial e final coincidem; Grafo não direcionado conectado=> é um grafo no qual eiste um caminho entre todos os pares de nós j N 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. 978

Notação utilizada nos modelos matemáticos: n número de nós na rede m número de arcos na rede l = l ( j comprimento do arco ( número de vezes que o carteiro percorre o arco ( G( N, A) grafo com N nós e A arcos 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 eistem roteiros que passam eatamente 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 compleidade 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 eatos: 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 fluo 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 eatamente 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 eatamente uma vez por todos os seus arcos se e somente se todos os nós deste grafo tiveram eatamente 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 eatamente uma vez por todos os seus arcos, o número de nós de grau ímpar deve ser eatamente 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 eistem roteiros que passam eatamente 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 eatamente 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, 979

mostrado em KAUFFMAN (1967), o algoritmo de LARSON & ODONI (1981), o algoritmo de EDMONDS & JOHNSON, 1973 (compleidade 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 eatamente 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 conteto geográfico, fornece ecelentes soluções ou então um método eato 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 compleidade O(n 3 ) 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, eiste uma série de outros algoritmos para resolver o problema do casamento, como por eemplo, o modelo de programação inteira mostrado em EISELT et al (1995a), o modelo de LAWLER (1976), com compleidade O(n 3 ), 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: Min ) ( i, j A = l ji j: ( A j;( j, i) A, i + ji 1 ( A Para a resolução em grafos não conectados deve ser utilizado um dos métodos eatos 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 eemplo, quando o valor de m é 10, eistem 945 combinações possíveis. 2.2 O CPP para redes direcionadas Para o caso de grafos direcionados, diferentemente dos grafos não direcionados, eiste uma condição de etrema 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 ecluí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 980

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 fluo de custo mínimo (minimum cost flow problem). Eemplos são encontrados nos trabalhos de EDMONDS & JOHNSON, 1973 (compleidade O (n 3 )); ORLOFF (1974); BELTRAMI & BODIN, 1974 (compleidade O(mn 2 )); BAKER (1983); LIN & ZHAO, 1988 (compleidade O(kn 2 ). 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 fluo 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 fluo de custo mínimo. Mostramos um modelo proposto por BAKER (1983) o qual modela o problema do fluo 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)) Min ) ( i, j A l Sujeito a: = ji j: ( A j;( j, i) A, i 1 ( A Sobre a compleidade do modelo matemáticos 2, algumas eplicações básicas são de etrema 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 eplicitado 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 fluos em rede, declara que se modelos de fluo 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 981

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 fluo 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. É eatamente 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 compleidade 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 eemplo, 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). Eemplo deste tipo de abordagem eata 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 ( devem ser transformados em dois arcos orientados ( e (j,i) e então deve-se utilizar o modelo matemático de fluo de custo mínimo mostrado a seguir. Denominamos este modelo de modelo matemático 3. 982

Modelo matemático 3: Modelo de fluo de custo mínimo para grafos mistos Min j:( A' l + ( i, j ) A ( i, j ) A ' Sujeito a: + = +, i + ji ji j: ( A j:( j, i) A 1, ( A' 1, ( A int ( A int ( A' l j:( j, i) 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 Cple 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 eemplos (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 lio e outra dos Correios. A coleta de lio 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 lio 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. 983

Variável Coleta de Lio 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 Diminui com a distância percorrida percorrida Delimitação do grafo para uma unidade Setores da Cidade CEP e bairro de referência 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 lio) é 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 eistem problemas. Para verificar os tempos computacionais dos grafos mistos, foi feito um eperimento baseado no grafo eibido 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,, 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. 984

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

Especialmente para programação inteira, observou-se que o tempo computacional apresentou variações entre as diferentes eecuçõ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 ITERAÇÕES TEMPO NÓS (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 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 eecuçã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 eceção da rede de 180 nós, o qual teve um número de iterações elevado). Este fato pode ser eplicado 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 etraí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 lio, 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) ineistem 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 eecução computacional não somente está relacionado ao número de nós, mas também ao número de iterações para a resolução numérica do problema, a qual, por sua vez, é função da geometria do grafo. 986

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 eatos. 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 eact 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, 2 nd 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 mied postman problem. Proceedings of the 11 th 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 Maimal 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 Mied 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 Mied 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 mied 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. 987

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 with Applications, vol. 44, n. 3-4, pp. 375-387, 2002 988