Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Documentos relacionados
Algoritmo Evolucionário no Tratamento do Problema de Roteamento de Veículos com Janela de Tempo

Um Arcabouço para o Problema de Roteamento Dinâmico de Veículos com Janelas de Tempo e Tempos de Viagem Variáveis

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

3. Resolução de problemas por meio de busca

3 Algoritmos Genéticos

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

5 Estudo de Caso. 5.1 Planejamento de um Porto Fictício

1 Introdução 1.1 Motivação

Um Estudo Empírico de Hiper-Heurísticas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

Modelos Evolucionários e Tratamento de Incertezas

Planejamento Hidrotérmico Utilizando Algoritmos Genéticos

Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários

4 Implementação Computacional

Marcone Jamilson Freitas Souza

4. Modelo Co-evolucionário para Otimização da Programação da Produção.

Caixeiro Viajante. Estruturas de Dados II. Prof. a Mariella Berger. 1. Objetivo

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Avaliação de Heurísticas de Melhoramento e da Metaheurística Busca Tabu para Solução de PRV

Algoritmos Genéticos

1. Computação Evolutiva

Algoritmos Genéticos

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Implementação Paralela do Algoritmo de Roteamento de Veículos com Janelas de Tempo sob a Plataforma CUDA

Algoritmos Genéticos

Inteligência Artificial

Geração de Colunas Online para o Problema de Roteamento de Veículos Dinâmico

5 Projeto de Novos Polímeros Condutores

INF 1771 Inteligência Artificial

ALGORITMO GENÉTICO APLICADO AO PROBLEMA DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem)

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

XLVI Pesquisa Operacional na Gestão da Segurança Pública

Um Estudo da Aplicação de Heurísticas Construtivas e de Melhoramento para um Problema de PRV

4 Sistema de Identificação de Parâmetros em Dados Sísmicos por Algoritmos Genéticos

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Introdução aos Problemas de Roteirização e Programação de Veículos

Problema do vendedor: uma abordagem via algoritmos genéticos

4 Algoritmo Genético com Chaves Aleatórias

Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial. Algoritmo Memético

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Problema de Roteamento de Veículos (VRP)

4 Métodos Existentes. 4.1 Algoritmo Genético

ELABORAÇÃO DE UMA HEURÍSTICA PARA O PROBLEMA DE QUADRO DE HORÁRIOS DOS PROFESSORES DA UNIVERSIDADE ESTADUAL DO PARANÁ CAMPUS CAMPO MOURÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Algoritmos Evolutivos Canônicos

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

INF 1771 Inteligência Artificial

5 Detalhamento da solução

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes

6 Estudos de Casos Porta Lógica OU de 4 Entradas

Um Estudo Empírico de Métodos Hiper-Heurísticos

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

1. Computação Evolutiva

Algoritmo Genético aplicado ao Sistema de Análise de Concessão de Crédito (SACC) Rosini Antonio Monteiro Bezerra Professor Marco Aurélio

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Departamento de Engenharia de Produção UFPR 22

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

Figura 4.1: Módulos que compõe o sistema de otimização do OCTOPUS

COMPOSIÇÃO DE UMA CARTEIRA DE AÇÕES COM RISCO MÍNIMO E RETORNO ESPECIFICADO: UM ESTUDO UTILIZANDO ALGORITMO GENÉTICO E A FUNÇÃO SOLVER

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

3 Otimização Evolucionária de Problemas com Restrição

ABORDAGEM MONO-OBJETIVO E MULTIOBJETIVO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

UMA COMPARAÇÃO EMPÍRICA DE OPERADORES DE CROSSOVER PARA O PROBLEMA DE JOB SHOP COM DATAS DE ENTREGAS

Abordagem Multiobjetivo para o Problema de Roteamento de Veículos com Transporte Reativo a Demanda

3 Metaeurísticas e Resolvedores MIP

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Pesquisa Operacional Aplicada à Mineração

UMA SOLUÇÃO DO PROBLEMA DE ROTEAMENTO ABERTO DE VEÍCULOS COM JANELAS DE TEMPO UTILIZANDO METAHEURÍSTICAS GRASP E ILS

MODELAGEM E SOLUÇÃO DO PROBLEMA DE SELEÇÃO DE PONTOS DE PARADA DE ÔNIBUS CONTRATADOS PARA TRANSPORTE DE FUNCIONÁRIOS

Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

UMA ARQUITETURA MULTIAGENTES PARA SOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO COMBINATÓRIA: APLICAÇÃO AO PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM JANELA DE TEMPO

por exemplo, a natureza dos bens que são transportados pela frota, bem como a qualidade com que o serviço deva ser prestado, seja ele de entrega ou

Inteligência Artificial

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Figura 4.1: Módulos que compõem o modelo de solução

Algoritmos Exatos 3.1. Relaxação Lagrangeana

Problema de Roteamento com Janelas de Tempo: Uma Abordagem via Geração de Colunas

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela.

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Estruturas de Dados II. Caixeiro Viajante

Árvores de Agregação Média para a Análise e Otimização do Problema de Roteamento de Veículos com Muitos Objetivos e Janelas de Tempo Flexíveis

Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas

Resolução de Problemas de Busca

3. Resolução de problemas por meio de busca

Um Modelo Híbrido Estocástico para Tratamento do Problema de Roteamento de Veículos com Janela de Tempo

Tópicos Especiais em Informática Fatec Indaiatuba

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

Transcrição:

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática DI fviana@inf.puc-rio.br Resumo. Este artigo descreve um algoritmo genético desenvolvido para se obter soluções para o problema de roteamento de veículos com janelas de tempo. Foi utilizado o framework GACOM, mais especificamente seus operadores voltados para problemas com representação baseada em ordem. Foi implementado o algoritmo de decodificação da solução, bem como a função de avaliação do cromossomo, utilizando duas métricas analisadas separadamente: o número de veículos necessários para o roteamento e a distância total percorrida no roteamento. Testes e análise dos resultados obtidos foram apresentados. Palavras-chave: Roteamento de Veículos, Algoritmo Evolucionário, Problema Dinâmico. Otimização Combinatória. Área de classificação principal: Otimização Combinatória. 1. Introdução Este artigo descreve as fases de um algoritmo genético proposto para minimizar o número de veículos necessarios para se efetuar um roteamento, considerando que as demandas têm janelas de tempo a elas associadas e que a frota de veículos é homogênea, ou seja, e composta por k veículos com igual capacidade. Este trabalho é baseado em Alvarenga et al. (2007) que propuseram uma heurística robusta para o Problema de Roteamento de Veículos con Janelas de Tempo - PRVJT usando a distância total percorrida pela frota como métrica principal. Trata-se de uma heurística de geração de colunas aplicada ao PRVJT que faz uso de um Algoritmo Genético - AG e de uma formulação matemática para o Problema de Partição de Conjuntos. Os resultados obtidos são muito expressivos, estabelecendo melhores soluções para algumas instâncias da literatura. 2. Descrição do Problema

Dada uma frota com k veículos de capacidade Q e um conjunto de requisições de coleta ou de entrega a serem atendidas, o objetivo do problema é minimizar a quantidade de veículos mínima necessária para se efetuar o roteamento. Cada requisição contém os seguintes campos: Identificador numérico sequencial; Coordenadas (x,y) do cliente que efetuou a referida requisição; Valor da demanda de coleta (d), ou seja, quantidade de peso/volume que a encomenda irá ocupar no veículo; Janela de tempo de atendimento [ e, l ], ou seja, intervalo de tempo no qual a requisição deve ser atendida; Assume-se que matriz das distâncias entre os todos os pontos de demanda é conhecida e considera-se o tempo de viagem entre dois pontos, por questão de simplificação como sendo igual à distância. O horizonte de planejamento do problema é discretizado em instantes de tempo. Todas as rotas devem iniciar e terminar em um depósito central. Cada requisição deve ser atendida em uma e somente uma rota. 3. O Algoritmo Genético Para se obter soluções viáveis e de boa qualidade para este problema, neste trabalho, foi utilizado um algoritmo genético com representação baseada em ordem. 3.1.Representação do Cromossomo A representação do cromossomo adotada consiste em uma string de identificadores de requisições, cuja sequencia determina a ordem na qual essas requisições serão inseridas nas rotas pelo algoritmo de decodificação da solução. 8 5 4 12 9 3 6 2 10 1 7 11 Ilustração 1- Representação dos Cromossomos A Ilustração 1 mostra um exemplo de cromossomo com a ordem das requisições a serem alocadas às rotas. 3.2 Decodificação da Solução Foi implementado um algoritmo para gerar a solução a partir do cromossomo utilizado no algoritmo genético. Este algoritmo segue os seguintes passos: É criada uma entidade Rota e a ela são adicionadas as requisições de acordo com a ordem especificada no cromossomo. A inserção da requisição não é

efetuada no caso de implicar infração da restrição de janela de tempo ou da restrição da capacidade do veículo que irá efetuar a referida rota; Ao chegar ao final do cromossomo, o algoritmo verifica se ainda há requisições a serem inseridas na rota. Em caso afirmativo, o passo anterior é reptido sendo crida uma nova rota. Há uma entidade solução que armazena o conjunto de rotas criadas a partir do cromossomo. E, à cada rota, é associado um veículo para executá-la; 8 5 4 12 9 3 6 2 10 1 7 11 Ilustração 2- Representação da Solução A Ilustração 2 mostra a representação de uma solução gerada após a decodificação de um cromossomo. Cada Linha representa uma rota que deve ser atribuída a um veículo. Cada célula é um gene que representa uma requisição que é atribuída à referida rota. Repare que cada requisição aparce uma e somente uma vez em uma solução. 3.3 Avaliação Foram implemetadas duas funções de avaliação, cada uma destinada a avaliar uma métrica específica. A primeira função atribui ao cromossomo uma avaliação igual à quantidade de veículos ecessária para o roteamento da solução gerada pel.o referido cromossomo, ou seja, depois da decodificação da solução verifica-se quantas rotas foram geradas. Este valor é usado como sendo a avaliação do cromossomo que gerou a referida solução. A segunda função de avaliação atribui um fitness ao cromossomo igual à distância total percorrida por todas as rotas geradas pelo cromossomo após a decodificação da solução. 3.4 Operadores genéticos Foram utilizados os seguintes operadores de crossover aplicados ao problemas com representação baseada em ordem como o PRVJT. Crossover PMX: Uma subsequência de tours é trocada entre os cromossomos ancestrais. Essa subsequência é delimitada por dois pontos de corte. Assim, tem-se dois novos cromossomos de modo que o F1 (filho 1) herda material genético do P2 (pai 2) e o F2 herda material genético do P1, nesta região delimitada pelos pontos de corte. Depois, as demais posições de F1 são preenchidas com os genes de P1 da mesma posição desde que não haja duplicação de genes no cromossomo. O mesmo acontece com o F2. As posições que não puderem ser preenchidas desta forma são preenchidas com os genes das posições correspondentes ao gene que deveria ter sido herdado, mas que não foi herdado diretamente para evitar duplicação (Michalewick (1996)).

Crossover OX: Este operador faz dois pontos de corte nos dois cromossomos P1 e P2 e gera um novo par de cromossomos F1 e F2, de modo que o F1 tenha material genético herdado de P1 e F2 tenha material genético herdado de P2 na posições delimitadas pelos pontos de corte. As demais posições de F1 são preenchidas segundo a ordem relativa que aparecem no cromossomo P2 e vice-versa (Michalewick (1996)). Crossover CX: Este operador primeiramente copia o primeiro gene de P1 em F1 e depois continua a inserir os genes em F1 de modo que a a sequencia de genes a ser inserida é obtida copiando alternadamente um gene de cada cromossomo ancestral. A posição de um gene copiado de P1 é determinada pela ordem que ele aparece em P2 (Michalewick (1996)). O Algoritmo de mutação utilizado foi o swap que troca duas posições de um cromossomo. 4 Parâmetros do GA Na execução do GA foram utilizados os parâmetros listados na Tabela 1. Tabela 1-Parâmetros do GA Parâmetro Valor Número de Gerações 10000 Tamanho da População 60 Taxa de Crossover Inicial 0,8 Taxa de Crossover Final 0,6 Taxa de Mutação Inicial 0,05 Taxa de Mutação Final 0,1 Taxa inicial de steady-state 0,5 Taxa final de steady-state 0,5 Número de experimentos 40 5 Resultados Para testar o algoritmo genético foi utilizada uma das instâncias clássicas propostas por Solomon(1987). Esta instância é denominada R101. É uma instância que contém um depósito central, um conjunto de cem requisições efetuadas por clientes dispostos em uma área de 100 x 100 aleatoriamente de acordo com uma distribuição uniforme. A Ilustração 3 mostra que o menor número de veículos para efetuar o roteamento,respeitando-se as restrições de janelas de tempo de atendimento das requisições, bem como a capacidade limitada dos veículos, obtido nos experimentos foi em torno de 22 veículos.

Melhor Indivíduo (Métrica Número de Veículos) Avaliação 28,99 27,99 26,99 25,99 24,99 23,99 22,99 21,99 Experimentos Melhor Indivíduo Ilustração 3 - Melhor indivíduo por experimento (número de veículos) Avaliação média (Métrica Número de Veículos) 28,20 28,00 27,80 27,60 27,40 Avaliação Média 27,20 27,00 26,80 Ilustração 4 - Avaliação média dos indivíduos por experimento (número de veículos) A Ilustração 4 indica que o número médio de veículos utilizados no roteamento ficou entre 27 e 28 veículos.

Média das Avaliações (Métrica Distância) Avaliações 2940,00 2920,00 2900,00 2880,00 2860,00 2840,00 Média 2820,00 Experimentos Ilustração 5 - Avaliação média por experimento (distância) Com relação à outra métrica analisada, a distância total percorrida no roteamento considerando-se todas as rotas da solução, pode-se constatar que a distância média percorrida ficou, na maioria dos casos, entre 2860 e 2940. Melhor Indivíduo (Métrica Distância) 2600,00 2550,00 Avaliações 2500,00 2450,00 2400,00 2350,00 Melhor Indivíduo 2300,00 Experimentos Ilustração 6 - Avaliação do melhor indivíduo por experimento (distância) Com realação ainda à métrica distância total percorrida, quando analisado o fitness do melhor indivíduo da população, verificou-se que a melhor das melhores soluções percorreu ao todo 2400 unidades de distancia.

6 Conclusões Observando-se os resultados obtidos observou-se que o GACOM é uma ferramenta que pode ser muito útil para a implementação rápida, confiável e que pode gerar resultados satisfatórios quando aplicada a problemas de otimização que podem ser representados por cromossomos baseados em ordem. Neste trabalho, especificamente, foi tratado o PRVJT, um problema clássico da área de Otimização Combinatória, classificado como NP-Hard. Os resultados obtidos mostram que o AG proposto consegue de fato evoluir a solução no decorrer das gerações, sendo alcançados resultados razoáveis. Vale destacar que a literatura apresenta resultados mais satisfatórios do que os resultados listados nesse trabalho aplicando-se diversas técnicas de otimização tanto baseadas em métodos exatos como em métodos heurísticos. Diversos destes trabalhos, inclusive, utilizam a técnica de algoritmos genéticos, como por exemplo o trabalho de Alvarenga et al.(2007) que consegue alcançar a solução ótima para diversas instâncias propostas por Solomon(1987). Como trabalhos futuros, pode-se buscar empiricamente ou até mesmo utilizando outro GA, otimizar os parâmetros deste GA a fim de se obter resultados ainda mais satisfatórios do que os que foram apresentados neste artigo. Pretende-se também abordar o VRPJT como um problema de otimização multiobjetivo, utilizando técnicas como fronteira de Pareto, por exemplo. 7 Referências Alvarenga, G., Mateus, G., and Tomi, G. (2007). A genetic and set partitioning two-phase approach for the vehicle routing problem with time windows. Computers & Operations Research, 34:1561 1584. Solomon,M. (1987). Algorithms for the vehicle routing and scheduling problems with time window constraints. Operations Research, 35:254 265. Michalewick (1996) : Genetic Algoritms = Data Structures + Evolution Programs.