LEONARDO JUNQUEIRA PRÊMIO ABRALOG Documentação apresentada à Banca Examinadora do Prêmio ABRALOG como parte dos requisitos para participação do Prêmio ABRALOG (Edição 2013) na categoria Estudante de Logística. São Paulo SP Novembro de 2013
SUMÁRIO Apresentação... 1 1. Informações gerais... 1 2. Dificuldades encontradas... 2 3. O projeto que foi desenvolvido... 4 4. Resultados e benefícios alcançados... 6 5. Anexos para referência, ilustração e consulta... 6
Apresentação Neste documento é apresentada a documentação do candidato Leonardo Junqueira como parte dos requisitos para participação do Prêmio ABRALOG (Edição 2013) na categoria Estudante de Logística. Este documento apresenta as informações gerais desta documentação, descritas na Seção 1, as dificuldades encontradas, descritas na Seção 2, o projeto que foi desenvolvido, descrito na Seção 3, e os resultados e benefícios alcançados, descritos na Seção 4. Por fim, a Seção 5 apresenta os anexos para referência, ilustração e consulta. 1. Informações gerais Nome: Leonardo Junqueira Nome da empresa: Universidade Federal de São Carlos, Centro de Ciências Exatas e de Tecnologia, Departamento de Engenharia de Produção, Programa de Pós-Graduação em Engenharia de Produção Endereço: Avenida Doutor Luis Rocha Miranda, Número 215, Apartamento 62, 04344-010, Jabaquara, São Paulo - SP Pessoa de contato: Leonardo Junqueira Telefone: (016) 997 146 211 e-mail: leo_junqueira@yahoo.com Segmento de atuação: Logística, Roteamento de Veículos, Carregamento de Contêineres Título do projeto: Modelos e Algoritmos para Problemas Integrados de Roteamento e Carregamento de Veículos Resumo do projeto: Neste projeto foram abordados problemas combinados do Problema de Roteamento de Veículos com o Problema de Carregamento de Contêineres, também tratados como Problemas Integrados de Roteamento e Carregamento de Veículos. Nestes problemas, genericamente, busca-se otimizar simultaneamente o planejamento dos roteiros dos veículos e o arranjo da carga dentro dos mesmos. Em particular, os pedidos dos clientes são formados por caixas retangulares, e a determinação dos roteiros deve ser decidida levando em consideração a acomodação destas caixas dentro de cada veículo. São relevantes aspectos relacionados a não sobreposição das caixas dentro dos veículos, a estabilidade vertical do carregamento, a ordem de descarregamento das caixas ao longo dos roteiros de visitas e a resistência das caixas ao empilhamento. Além de serem problemas difíceis e relativamente pouco estudados, a principal justificativa para o estudo destes problemas é que, com métodos de solução eficazes para a otimização do roteamento dos veículos e do carregamento das cargas, decisões operacionais e 1
táticas podem ser tomadas com maior segurança, acurácia, rapidez e menor incerteza em situações reais, além de possibilitar um melhor desempenho do pessoal encarregado da montagem e descarregamento da carga. Por outro lado, estes métodos também podem ser úteis na redução de custos fixos e variáveis de uma empresa que venha a utilizá-los. Em uma primeira fase deste projeto, foram propostos modelos de programação matemática para representar Problemas Integrados de Roteamento e Carregamento de Veículos, inexistentes na literatura até então. Experimentos computacionais foram realizados com alguns destes modelos utilizando o aplicativo GUROBI e exemplos gerados aleatoriamente. Os resultados mostraram que os modelos são coerentes e representam adequadamente as situações tratadas, embora esta abordagem (na sua versão atual) esteja limitada a resolver otimamente apenas problemas de tamanho bem moderado, isto é, em que haja poucos clientes, poucos veículos, e, principalmente, em que o número de possíveis posições para se arranjar as caixas dentro de cada veículo seja relativamente pequeno. Isso motivou o desenvolvimento de métodos heurísticos e meta-heurísticos para resolver problemas de tamanhos mais realistas de roteamento e carregamento de veículos, o que foi realizado em uma segunda fase deste projeto. Os algoritmos são baseados na combinação de heurísticas clássicas das literaturas de Roteamento de Veículos e de Carregamento de Contêineres, bem como em duas estratégias meta-heurísticas e nos uso delas em procedimentos mais elaborados. Experimentos computacionais foram realizados com estes métodos, implementados na linguagem C++, considerando exemplos baseados na literatura de Roteamento de Veículos e em pedidos reais de cargas, bem como exemplos baseados no caso real de uma transportadora. Embora não haja garantias de que as soluções obtidas para os respectivos problemas sejam ótimas, tratam-se de heurísticas relativamente simples, suficientemente rápidas para resolver problemas reais, razoavelmente flexíveis para incorporar aspectos práticos, e que normalmente garantem soluções relativamente boas em tempos computacionais aceitáveis na prática. Os resultados mostraram que os algoritmos são capazes de resolver exemplos reais com centenas de clientes e milhares de caixas. Categoria a que está concorrendo: Estudante de Logística 2. Dificuldades encontradas Dentre as principais dificuldades (ou oportunidades ) encontradas durante a realização deste projeto, destaca-se que Problemas Integrados de Roteamento e Carregamento de Veículos ainda são pouco estudados na literatura, datando o primeiro trabalho do ano de 2006. Além disso, até a conclusão deste projeto, somavam apenas onze os trabalhos tratando sobre este tema, ora publicados em periódicos especializados da área, ora apresentados na forma de teses ou dissertações. Dentre estes trabalhos, nenhum apresentava modelos de programação matemática para 2
representar Problemas Integrados de Roteamento e Carregamento de Veículos. Logo, uma primeira motivação deste projeto foi propor modelos de programação matemática para representar estes problemas. Ainda, os trabalhos existentes na literatura apresentam métodos de solução sofisticados e difíceis de serem implementados na prática, desenvolvidos especificamente para resolver exemplos ( instâncias ) que envolvem conjuntos de caixas fortemente heterogêneos, isto é, em que há poucas caixas de relativamente muitos tipos diferentes, o que não necessariamente condiz com a realidade de muitas empresas, que pode envolver muitas caixas de relativamente poucos tipos diferentes, isto é, conjuntos de caixas fracamente heterogêneos. Logo, uma segunda motivação deste projeto foi desenvolver métodos de solução para Problemas Integrados de Roteamento e Carregamento de Veículos que fossem eficientes na obtenção de boas soluções para exemplos reais e que fossem relativamente simples para serem implementados na prática, sendo ainda adaptados para tratar conjuntos de caixas fracamente heterogêneos. Um outro ponto importante diz respeito à realidade da transportadora visitada. Nesta empresa, as caixas coletadas na região de atendimento ou recebidas de outros terminais eram triadas durante todo o dia e eram entregues na região de atendimento ou expedidas para outros terminais no dia seguinte. A definição dos roteiros que os veículos deveriam seguir no dia seguinte era feita durante a noite, tendo a empresa adquirido há alguns anos o software Roadnet, um pacote de roteamento desenvolvido e comercializado pela Roadnet Tecnologies, e que utiliza o estado da arte dos métodos de solução para Problemas de Roteamento de Veículos para auxiliar na tomada de decisão em situações reais. Os roteiros eram então entregues para as equipes de arrumadores (ou montadores ) de cargas ao longo da madrugada. Uma vez carregado um veículo, o seu motorista podia então realizar o roteiro que lhe foi atribuído. Embora os arrumadores de cargas tivessem larga experiência nesta atividade, em alguns casos ocorria deles não conseguirem carregar completamente as caixas de um ou mais clientes dentro do caminhão. Nestes casos, o que normalmente ocorria era a empresa alocar um outro veículo menor para realizar a entrega das caixas que ficaram de fora do caminhão. Ou seja, as soluções obtidas pela empresa, apesar de serem de boa qualidade, não tinham garantias de que os carregamentos resultantes seriam factíveis na prática, como pôde ser verificado em alguns casos. Dessa forma, uma última motivação deste projeto foi desenvolver métodos de solução para Problemas Integrados de Roteamento e Carregamento de Veículos que pudessem vir a ser utilizados por esta empresa (ou outras empresas que passem por uma situação semelhante) para resolver estes dois problemas de forma integrada e evitar situações contingenciais como a descrita. 3
3. O projeto que foi desenvolvido O objeto de estudo deste projeto foi um problema combinado do Problema de Roteamento de Veículos com o Problema de Carregamento de Contêineres, tratado mais recentemente na literatura como Problema Integrado de Roteamento e Carregamento de Veículos. Neste problema, genericamente, busca-se otimizar simultaneamente o planejamento dos roteiros dos veículos e o arranjo da carga dentro dos mesmos, respeitando-se uma série de considerações práticas que advêm tanto do Problema de Roteamento de Veículos como do Problema de Carregamento de Contêineres. Neste projeto, o problema estudado considera frota homogênea e limitada de veículos. Cada veículo deve realizar um único roteiro, partindo e retornando para o único depósito, estando todos igualmente disponíveis para atender a demanda de um conjunto de clientes, desde que sua capacidade volumétrica não seja excedida. Cada cliente, por sua vez, possui localização e demanda conhecidas e deve ter sua demanda completamente atendida por um único veículo. As demandas dos clientes são compostas por caixas retangulares que devem ser empacotadas ortogonalmente dentro dos veículos. Os carregamentos são todos feitos do fundo em direção à porta de cada veículo, todos os carregamentos devem estar completamente estáveis verticalmente, o limite de empilhamento de cada caixa não deve ser excedido, e a carga de cada cliente deve estar empacotada de maneira a facilitar o descarregamento da mesma. Assume-se que há uma conexão direta entre cada par de clientes, e os custos (simétricos ou assimétricos) (ou as distâncias) de viagem entre o depósito e os clientes, e entre os clientes, são também conhecidos. O objetivo é então planejar um conjunto de roteiros de custo mínimo para os veículos (não necessariamente todos eles). Os objetivos deste projeto foram: (i) estudar a integração do Problema de Roteamento de Veículos com o Problema de Carregamento de Contêineres; (ii) desenvolver modelos de programação matemática para representar Problemas Integrados de Roteamento e Carregamento de Veículos; (iii) desenvolver e implementar métodos heurísticos e meta-heurísticos para resolver alguns destes problemas; (iv) analisar e comparar o desempenho da solução dos modelos, via linguagens de modelagem e aplicativos de otimização, e dos métodos heurísticos desenvolvidos ao resolver exemplos extraídos da literatura e de situações reais em que este problema ocorre. Em particular, foi visitada uma transportadora em que este problema aparece, com o objetivo de entender melhor o problema na prática e coletar dados e informações. Entre as principais justificativas deste projeto, destaca-se que são problemas difíceis e relativamente pouco estudados, além do que com métodos de solução eficazes para a otimização do roteamento dos veículos e do carregamento das cargas, decisões operacionais e táticas de uma empresa podem ser tomadas com maior segurança, acurácia, rapidez e menor incerteza, além de possibilitar um melhor desempenho do pessoal encarregado da montagem e descarregamento da 4
carga. Por outro lado, estes métodos também podem ser úteis na redução de custos fixos e variáveis de uma empresa que venha a utilizá-los. Um aspecto importante foi a motivação para analisar e comparar os resultados obtidos por métodos científicos e os obtidos da prática de sistemas reais de distribuição de mercadorias. Em suma, as principais contribuições deste projeto foram: (i) a proposição de modelos de programação matemática para o Problema Integrado de Roteamento e Carregamento de Veículos, inexistentes na literatura até então; (ii) a investigação e a análise das soluções destes modelos via linguagens de modelagem e aplicativos de otimização; (iii) a pesquisa e o desenvolvimento de heurísticas e meta-heurísticas para resolução do problema. Quanto à sua abordagem de pesquisa, este projeto possuiu uma abordagem quantitativa, e, quanto ao seu método de pesquisa, este projeto utilizou a modelagem (matemática), sendo a primeira fase da pesquisa (proposição de modelos de programação matemática) caracterizada como axiomática e normativa e a segunda fase da pesquisa (desenvolvimento de métodos heurísticos e meta-heurísticos) caracterizada como empírica e normativa. Os modelos de programação matemática propostos para o Problema Integrado de Roteamento e Carregamento de Veículos foram implementados na linguagem de modelagem GAMS (versão 23.0), convertidos em formato.lp, e o solver GUROBI (versão 5.0) foi utilizado para resolvê-los. Todos os parâmetros do solver foram deixados como default. Todos os experimentos foram realizados em uma estação de trabalho HP Z800 com dois processadores Intel Xeon X5690 3.47 GHz com seis núcleos cada, 48.0 GB e sistema operacional Linux. Os modelos foram testados com exemplos gerados aleatoriamente. Os métodos de solução desenvolvidos para o Problema Integrado de Roteamento e Carregamento de Veículos foram implementados na linguagem C++. Os códigos de parte das implementações computacionais foram obtidos a partir de trabalhos desenvolvidos previamente em Groër (2008) [GROËR, C. S. Parallel and serial algorithms for vehicle routing problems. 2008. 429p. Tese (Doctor of Philosophy) Faculty of the Graduate School, University of Maryland, College Park MD, 2008.] e Cecilio (2003) [CECILIO, F. O. Heurísticas para o problema de carregamento de carga dentro de contêineres. 2003. 100p. Dissertação (Mestrado em Engenharia de Produção) Departamento de Engenharia de Produção, Universidade Federal de São Carlos, São Carlos SP, 2003.]. Todos os experimentos foram realizados em um microcomputador PC Core i7 2.10 GHz, 8.0 GB e sistema operacional Windows. Foram considerados exemplos baseados na literatura de Roteamento de Veículos e em pedidos reais de cargas, bem como exemplos baseados no caso real de uma transportadora. 5
4. Resultados e benefícios alcançados Em relação à primeira fase deste projeto, tratando da proposição de modelos de programação matemática para representar Problemas Integrados de Roteamento e Carregamento de Veículos, inexistentes na literatura até então, os resultados computacionais obtidos mostraram que os modelos são coerentes e representam adequadamente as situações tratadas, embora esta abordagem (na sua versão atual) esteja limitada a resolver otimamente apenas problemas de tamanho bem moderado, isto é, em que haja poucos clientes, poucos veículos, e, principalmente, em que o número de possíveis posições para se arranjar as caixas dentro de cada veículo seja relativamente pequeno. Em relação à segunda fase deste projeto, tratando do desenvolvimento de métodos heurísticos e meta-heurísticos para resolver problemas de tamanhos mais realistas de roteamento e carregamento de veículos, os resultados obtidos mostraram que os algoritmos são capazes de resolver exemplos reais com centenas de clientes e milhares de caixas e, embora não haja garantias de que as soluções obtidas sejam ótimas, tratam-se de procedimentos relativamente simples, suficientemente rápidos para resolver problemas reais, razoavelmente flexíveis para incorporar aspectos práticos, e que normalmente garantem soluções relativamente boas em tempos computacionais aceitáveis na prática. Pesquisas futuras de interesse prático podem ser realizadas a partir dos modelos propostos, ao serem exploradas desigualdades válidas, métodos de decomposição, métodos de relaxação, métodos heurísticos, entre outros, para resolver problemas mais realistas de roteamento e carregamento de veículos, bem como a partir dos algoritmos desenvolvidos, ao serem estendidos para tratar outras variações do Problema de Roteamento de Veículos, tais como quando há janelas de tempo, pontos de coleta e entrega, frota heterogênea, múltiplos depósitos, entre outras. 5. Anexos para referência, ilustração e consulta Arquivo em.pdf com o texto final da tese de doutorado do candidato (em anexo). Artigos completos publicados em periódicos em decorrência deste projeto (referências apenas): JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S. Abordagens para problemas de carregamento de contêineres com considerações de múltiplos destinos. Gestão & Produção, v. 18, n. 2, p. 265-284, 2011. 6
JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S. MIP-based approaches for the container loading problem with multi-drop constraints. Annals of Operations Research, v. 199, n. 1, p. 51-75, 2012. JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R. An optimization model for the vehicle routing problem with practical three-dimensional loading constraints. International Transactions in Operational Research, v. 20, n. 5, p. 645-666, 2013. JUNQUEIRA, L.; MORABITO, R. Simple and effective heuristics for a three-dimensional loading capacitated vehicle routing problem. 2013 (em preparação). Resumos publicados em anais de congressos em decorrência deste projeto (referências apenas): JUNQUEIRA, L.; MORABITO, R. Heuristics for the three-dimensional loading capacitated vehicle routing problem. In: XXV European Conference on Operational Research, 2012, Vilnius. Book of Abstracts: XXV European Conference on Operational Research, 2012. JUNQUEIRA, L. Models and heuristics for the three-dimensional loading capacitated vehicle routing problem. In: EURO Summer Institute on Cutting and Packing (ESI-CP), 2012, Porto. Book of Abstracts: EURO Summer Institute on Cutting and Packing (ESI-CP), 2012. JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R. Um modelo de otimização para o problema do caixeiro viajante com restrições de empacotamento tridimensional. In: XV Congresso da Associação Portuguesa de Investigação Operacional, 2011, Coimbra. Livro de Resumos: XV Congresso da Associação Portuguesa de Investigação Operacional, 2011. JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S. Some experiments with a 3d-container loading model and its relation with vehicle routing problems. In: II Industrial Engineering and Management Symposium, 2011, Porto. Book of Abstracts: II Industrial Engineering and Management Symposium, 2011. JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R. An optimization model for the vehicle routing problem with three-dimensional loading constraints. In: VIII ESICUP Meeting, 2011, Copenhague. Book of Abstracts: VIII ESICUP Meeting, 2011. 7
JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R. An optimization model for the vehicle routing problem with three-dimensional loading constraints. In: II International Workshop on Industrial Extensions to Production Planning and Scheduling, 2011, Porto. Livro de Resumos: II International Workshop on Industrial Extensions to Production Planning and Scheduling, 2011. JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R. A heuristic for the vehicle routing problem with three-dimensional loading constraints. In: IX International Workshop on Cutting, Packing and Related Topics, 2011, Porto. Book of Abstracts: IX International Workshop on Cutting, Packing and Related Topics, 2011. JUNQUEIRA, L.; OLIVEIRA, J. F.; CARRAVILLA, M. A.; MORABITO, R. An optimization model for the traveling salesman problem with three-dimensional loading constraints. In: VII ALIO/EURO Workshop on Applied Combinatorial Optimization, 2011, Porto. Book of Abstracts: VII ALIO/EURO Workshop on Applied Combinatorial Optimization, 2011. JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S. Approaches for 3d container loading problems with multi-drop considerations. In: ALIO-INFORMS Joint International Meeting, 2010, Buenos Aires. Book of Abstracts: ALIO-INFORMS Joint International Meeting, 2010. 8