Introdução aos Conceitos de Problemas de Transporte e Roteamento de Veículos Alexandre da Costa 1 1 Acadêmico do Curso de Matemática - Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste do Paraná Caixa Postal 711-85819-110 - Cascavel - PR - Brasil alex2dc@hotmail.com Resumo. Este trabalho aborda os problemas de transporte e de roteamento de veículos na perspectiva de levar ao conhecimento, de quem venha a se interessar pelo assunto, as dificuldades que se encontra e as estratégias abordadas para se modelar problema como esses. Problemas de roteamento de veículos pertencem a uma classe particular dos problemas de transporte e a programação linear não é capaz de lhes oferecer, sozinha, resultados eficazes. Utiliza-se, então de métodos heurísticos para se obter uma solução otimizada. Além disso, o tratamento dado a cada tipo de problema, por mais semelhantes que estes possam ser, é bastante diversificado, variando não apenas nos algoritmos utilizados, mas também no tipo de tratamento dado às particularidades próprias de cada um [BODIN, 1983]. Palavras Chaves. Problemas de Transporte, Roteamento de Veículos, Programação Linear, NP-hard. 1. Problemas de Transporte Geralmente os problemas de transporte requerem uma otimização de seus processos com objetivo de minimizar os gastos. Procura-se assim encontrar a forma mais econômica de distribuir um bem disponível em certa quantidade, não necessariamente em um mesmo local, para outros locais onde se exige determinada quantidade desse bem. O Problema do Transporte é muito usado em exemplos de Problemas de PL por sua grande aplicação prática e por ser alvo de estudado de vários investigadores, embora tenha sido George Dantzig o primeiro a estabelecer a sua formulação como modelo de PL e a propor um método sistemático de resolução, conhecido como método simplex. [CANAVARRO, 2005] Alguns problemas desse tipo, devido as suas estruturas particulares, podem ser resolvidos com métodos derivados do simplex e com maior eficiência
[CANAVARRO, 2005]. Já problemas de roteirização (ou roteamento) necessitam de métodos mais complexos abordando, além de programação linear, conceitos como os de grafos e heurísticas particulares. Problemas de transporte são amplamente estudados pela Investigação Operacional, ciência que surgiu em 1947 e veio com o objetivo de resolver com maior eficiência problemas envolvendo administração nas organizações, distribuição ótima de recursos, etc.. Essa ciência se vale da Programação Linear como uma de suas ferramenta mais poderosas para tratar de problemas como os de transporte. 2. Problemas de Transporte e Programação Linear Problemas de Programação Linear (PL) pertencem a uma categoria especial de problemas de Programação Matemática (PM) 1, onde a função objetivo e as restrições podem ser representadas por funções lineares. A aplicação da Programação Linear visa estabelecer um plano otimizado que representa a melhor solução entre todas as soluções possíveis do problema [C. JORDÁN, 2002]. Sendo assim um problema de transporte pode ser formalizado em termos de PL: enviar um bem que encontra-se alocado em m origens (depósitos) nas quantidades a i > 0 com i = 1,2,...,m e é requerido emndestinos (Pontos de demanda) nas quantidades b j > 0 comj = 1,2,...,n O produto deve ser enviado diretamente para os destinos, esgotando as disponibilidades em cada origem e satisfazendo os requerimentos em cada destino; Cada percurso entre origem e destino tem um determinado custo de transporte; O problema tem por objetivo a minimização do custo total envolvido na distribuição desse produto, sabendo os custos unitários de transporte de cada origem para cada destino. Minimizar : m n z = c ij x ij i=1 j=1 Sujeito a: n x ij = a i i = 1,2,...,m i=1 n x ij = b j j = 1,2,...,n i=1 Com: x ij : número de unidades a transportar da origem i para o destino j; c ij :custo do transporte de uma unidade da origem i para o destino j; a i : quantidade disponível na origem i; b j : quantidade requerida no destino j. 1 ver C. JORDÁN, 2002, I. Introdução, Capítulo 3, pg. 1.
Esta equação deve ser sempre respeitada, mesmo que para tal seja necessário criar um destino fictício com uma necessidade igual ao excesso de disponibilidade (se a procura total for inferior à oferta total), ou criar uma origem fictícia com uma disponibilidade igual ao défice se a procura total exceder a oferta total [CRUZ, 2000]. Existe ainda uma restrição adicional da oferta total ter que ser igual à procura total. 3. Problema de Roteamento de veículos O termo roteamento ou roteirização de veículos vem sendo utilizado para definir problemas de transporte em que o objetivo é a determinação de uma ou mais rotas ótimas. Essas rotas podem ser constituídas por vários pontos de parada geograficamente dispersos que necessitam de atendimento. Problemas dessa natureza formam uma classe especial de problemas de otimização que busca principalmente minimizar a distância total a ser percorrida pela frota inteira [CUNHA, 1983]. Roteamento ou roteirização são as expressões adotadas como equivalente ao inglês routing ou routeing Esses problemas ocorrem com bastante frequência na distribuição de produtos e serviços. Alguns exemplos são listados a seguir [NOVAES,2004] Entrega, em domicílio, de produtos comprados nas lojas de varejo ou pela internet; Distribuição de bebidas em bares e restaurantes; Distribuição de dinheiro para caixas eletrônicos de bancos; Distribuição de combustíveis para postos de gasolina; Coleta de lixo urbano; Entrega domiciliar de correspondência; Distribuição de produtos dos Centros de Distribuição (CD) de atacadistas para lojas do varejo. Baseando se nos ambientes operacionais e objetivos a serem alcançados Ronen propôs uma classificação dos diversos problemas de roteamento e programação descritos a seguir [RONEN, 1988]: problemas relativos ao transporte de passageiros: programação de linhas de ônibus; de sistemas de táxi; de sistemas de transporte de pessoas, em geral idosos e deficientes, conhecidos como dial-a- ride ; de transporte de escolares por ônibus, entre outros; problemas de prestação de serviços: roteirização e programação de equipes de reparos ou de serviços públicos, tais como de coleta de lixo, entrega postal, varrição de ruas e leitura de parquímetros, entre outros; problemas relativos ao transporte de carga (coleta e distribuição). Segundo Bodin (1983), os problemas de roteamento podem ser classificados em três grupos principais: problemas de roteamento puro de veículos (PRV), problemas de programação de veículos e tripulações (PRVT); e problemas combinados de roteamento e programação de veículos.
3.1. Problemas de Roteamento Puro, Problemas de Programação de Veículos e Problemas Combinados de Programação de Veículos 3.1.1. Problemas de roteamento puro Nos problemas de roteamento puro, os aspectos espaciais da localização dos pontos a serem atendidos são o objetivo principal das estratégias de solução. puro. Na tabela 1. estão relacionados os principais tipos de problemas de roteamento Tabela 1: Classificação dos problemas de roteirização pura. Fonte: Adaptado de [BODIN, 1983] Denominação Problemas de roteamento em nós com uma única base Problemas de roteamento com múltiplas bases Problemas de roteamento em nós com demandas incertas Problemas de roteamento em arcos com limite de capacidade Número de Localização Limite de Número de Demandas roteiros dos clientes Capacidade nos bases veículos múltiplos nós sim uma determinísticas múltiplos nós sim múltiplas determinísticas múltiplos nós sim uma estocásticas múltiplos arcos sim uma determinísticas 3.1.2. Problemas de programação de veículos e tripulações (PRVT) Em problemas de programação de veículos e tripulações, os roteiros ou sequências de viagens a serem realizadas já estão pré-estabelecidos, restando definir a alocação de veículos e tripulações ao conjunto de viagens programadas. Os (PRVT) são encontrados no transporte aéreo, ferroviário, por ônibus, etc. 3.1.3. Problemas combinados de roteamento e programação A maioria dos problemas combinados de roteamento e programação, ou simplesmente problemas de roteirização e programação, ocorrem em situações em que estão presentes restrições de janelas de tempo (horário de atendimento) e de precedência entre tarefas (coleta deve preceder a entrega e ambas devem estar alocadas ao mesmo veículo) [BODIN, 1983].
Os principais problemas típicos apontados pelos autores como afirma Cunha são os seguintes: Problema de roteamento e programação de ônibus escolares para atendimento de um conjunto de escolas; Problema de roteamento e programação de cavalos mecânicos responsáveis por tracionar carretas com carga completa, em que cada carreta é tracionada individualmente de um ponto de origem para um ponto de destino; Problema de definição de rotas e programação de serviços de coleta de resíduos domiciliares e de varrição de ruas, com restrições de capacidade nos veículos, de duração máxima da jornada e de janelas de tempo associadas aos horários de proibição de estacionamento, de forma a possibilitar a execução do serviço de varrição; Problema de roteamento e programação de serviços de transporte de pessoas, conhecidos como dial-a-ride, em geral para o transporte porta-a-porta de idosos e deficientes, onde cada usuário possui locais de origem e destino diferentes e eventualmente janelas de tempo. 3.2. Modelação de problemas de roteamento um problema NP-hard Problemas de roteamento no transporte é um dos assuntos mais estudados na área de Pesquisa Operacional e existem muitos trabalhos que abordam o assunto. No entanto o tratamento dado a cada tipo de problema, por mais semelhantes que possam ser, é bastante diversificado, variando não apenas nos algoritmos utilizados, mas também no tipo de abordagem dado às particularidades próprias de cada problema [BODIN,1983]. Problemas dessa natureza são considerados pela literatura a cerca do assunto como sendo NP-hard, um problema matemático para o qual, mesmo em teoria, nenhum atalho ou algoritmo levaria a uma solução rápida ou simples, pois possuem ordem de complexidade exponencial. Em outras palavras, o esforço computacional para a sua resolução cresce exponencialmente com o tamanho do problema (dado pelo número de pontos a serem atendidos). Em vez disso, a única maneira de encontrar uma solução ideal é uma computação intensiva e exaustiva análise, em que todos os resultados possíveis são testadas. Exemplos de problemas NP-hard incluem o problema do caixeiro viajante e popular jogo Tetris 2 resolvê-los como Problemas de Programação Inteira Binária (PPIB), como é proposto e formulado por Golden [GOLDEN, 1977] é inviável e por este motivo, a solução é obtida, em geral, através de procedimentos heurísticos. Métodos heurísticos são algoritmos exploratórios que buscam resolver problemas. Geralmente não envolvem a implementação computacional de um conhecimento especializado (por exemplo, um método heurístico, para resolver uma equação de segundo grau, não usaria, necessariamente, a fórmula de Bháskara, mas buscaria, por outros métodos, uma solução que atendesse à equação). Por este motivo, muitas vezes, esses métodos são classificados como busca cega [BUENO, 2009]. Comumente, os trabalhos encontrados na literatura para o VRP (Vehicle Routing Problem) que utilizam métodos exatos buscam reduzir a distância total percorrida. Já as heurísticas visam minimizar o número total de veículos utilizados. Os conceitos de grafos, programação linear inteira, atrelados aos processos heurísticos, também são amplamente usados. 2 ver http://www.daviddarling.info/encyclopedia/n/np-hard_problem.html
3.3. Problema do Caixeiro Viajante: Clássico Problema de transporte O problema do caixeiro viajante tradicional consiste em encontrar um circuito hamiltoniano de menor custo em um grafo completo não direcionado. Um circuito hamiltoniano é um caminho fechado que passa por todos os vértices do grafo sem repetição [GOLDBARG E LUNA, 2000]. 3.4. Uma Heurística, Vizinho Mais Próximo A heurística do Vizinho Mais Próximo é muito utilizada por ser bastante simples e rápida. Os pontos de demanda são inseridos na rota segundo seu vizinho mais próximo, ou seja, a cada passo é adicionado na rota o vizinho mais próximo do último ponto inserido na mesma. O processo do algoritmo Vizinho mais Próximo é detalhadamente exposto abaixo. O algoritmo recebe como entrada um grafo completo contendo os pontos de demanda e o depósito [LAWLER, 1985]. Algorítimo VP: 1. VP (Grafo completo com os consumidores e depósito) 2. r = Criar nova rota 3. Inserir depósito na rota r 4. último Vértice Inserido = depósito 5. Enquanto existir consumidor não roteado 6. vértice = Buscar vértice mais próximo de último Vértice Inserido 7. Inserir vértice na rota na posição seguinte ao último Vértice Inserido 8. último Vértice Inserido = vértice Referências BODIN, L.D.; B. Golden; A. Assad e M. Ball Routing and scheduling of vehicles and crews: The state of the art. 2. Computers and Operations Research. 1983, vol.10, n. BUENO, Fabrício. Métodos Heurísticos Teoria e Implementações. IFSC/Araranguá, 2009. CANAVARRO, C Problema de transporte, 2005. Disponível em: http://docentes.esa.ipcb.pt/ccanavarro/io2003/seb5.pdf. Acesso em: 23 set 2010. CASTILLO JORDÁN, Gladys Investigação Operacional e Optimização. Apontamentos. Disponível em: <http://www2.mat.ua.pt/io/documentos/apontamentos/capituloi_3.pdf>. Acesso em: 25 jun. 2010 CUNHA, C. B. Aspectos Práticos Da Aplicação De Modelos De Roteirização De Veículos A Problemas Reais. Disponível em:<http://www.ptr.usp.br/docentes/cbcunha/files/roteirizacao_aspectos _praticos_cbc.pdf> Acesso em 10/05/2010. CRUZ, José. Acetatos de Métodos de Apoio à Decisão / Sistemas de Apoio à Decisão, 2000. GOLDBARG, M. C. LUNA H. P. L. Otimização Combinatória e Programação Linear. Ed. Campus 2000.
LAWLER,E. L.; LENSTRA,J. K.; KAN, A. H. G. R. e SHMOYS, D. B. The Traveling Salesman Problem. John Wiley & Sons, New York 1985. NEVES P., JARDIM, SILVA, CRUZ. Métodos de Apoio à Decisão. Disponível em: <http://www.est.ipcb.pt/tecnologias/tec_mad/transportes.pdf 7>. Acesso em: 25 de set. 2010. NOVAES, A. G. Logística e gerenciamento da cadeia de distribuição, Editora Campus, 2a. Edição,2004. FEREIRA DE ASSIS, Luciana P Algoritmos Para o Problema de Roteamento de Veículos com Coleta e Entrega Simultâneas. Disponível em <http://opus.grude.ufmg.br/opus/opusanexos.nsf/>. Acesso em 24 set. 2010. PROBLEMAS NP-hard. Problemas NP-hard. Disponível em: <http://www.daviddarling.info/encyclopedia/n/np-hard_problem.html>. Acesso em: 23 set 2010. RONEM, D. Perspectives on pratical aspects of truck routing and scheduling. European Journal of Operational Research,35(2):137-145, 1988.