1 - INTRODUÇÃO. Tabu) [17]; Greedy Randomized Adaptive Search Procedure (GRASP) [12]; Variable

Documentos relacionados
CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Problemas de otimização

GRASP para o Problema do Caixeiro Viajante com Limite de Calado

Anais do IX Congresso Brasileiro de Redes Neurais / Inteligência Computacional (IX CBRN) Ouro Preto de Outubro de 2009

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

3 Extensões dos modelos matemáticos

UMA METAHEURÍSTICA HÍBRIDA GRASP+TABU PARA O PROBLEMA DE ROTEAMENTO PERIÓDICO DE UMA FROTA DE VEÍCULOS

Apresentado e Publicado nos Anais do XXXV Simpósio Brasileiro de Pesquisa Operacional

UM ALGORITMO EVOLUTIVO HÍBRIDO PARA O PROBLEMA DE RECOBRIMENTO DE ROTAS COM COLETA DE PRÊMIOS

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

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

Otimização Combinatória - Parte 4

Heurística GRASP para o problema de p-medianas aplicado à localização de concentradores

Universidade Federal Fluminense

Uma Introdução à Busca Tabu André Gomes

5 VNS com Filtro e Reconexão por Caminhos

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

Pesquisa Operacional Aplicada à Mineração

Artigo aceito para o XXXVII SBPO 2005 Gramado/RS HEURÍSTICAS E METAHEURÍSTICAS PARA O PROBLEMA DO CAIXEIRO VIAJANTE BRANCO E PRETO

Fundamentos de Inteligência Artificial [5COP099]

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE

UM ALGORITMO BRANCH-AND-CUT PARA O PROBLEMA DO CICLO DOMINANTE

PCC104 - Projeto e Análise de Algoritmos

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados

ALGORITMO DE BUSCA TABU APLICADO NA SOLUÇÃO DO PROBLEMA DE MÚLTIPLAS MOCHILAS.

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

O PROBLEMA DO CICLO DOMINANTE

ANÁLISE DE RESULTADOS NA CONSTRUÇÃO DE ROTA PARA O PROBLEMA DO CAIXEIRO VIAJANTE

O Problema da Diversidade Máxima: Proposta e

UMA HEURÍSTICA GRASP PARA O PROBLEMA DO CAIXEIRO VIAJANTE PERIÓDICO

MÉTODOS EXATO E HEURÍSTICO PARA O PROBLEMA DE LOCALIZAÇÃO DAS P-MEDIANAS COM DOIS OBJETIVOS

Aula 13: Branch-and-bound

Aprimorando o Corte Peças com Forma Irregular em Chapas Retangulares

Aula 12: Programação Inteira

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

Um Método Exato para o Problema do Caixeiro Viajante com Grupamentos Euclidiano e Simétrico

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

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

Sistemas de Produção em Fluxo

Universidade Federal Fluminense

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

HEURÍSTICAS GRASP PARA O PROBLEMA DE ALOCAÇÃO DINÂMICA DE ESPAÇOS

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

Anais do IX Congresso Brasileiro de Redes Neurais / Inteligência Computacional (IX CBRN)

RESOLUÇÃO DO PROBLEMA DAS P-MEDIANAS POR MEIO DE ALGORITMOS BASEADOS EM GRASP, ILS E MULTI-START

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Otimização de horários Seminário. Clarisse Resende 25/01/2013

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

METAHEURÍSTICAS HÍBRIDAS PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM COLETA DE PRÊMIOS

ANEXO II MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

UNIVERSIDADE FEDERAL FLUMINENSE. Luciene Cristina Soares Motta. O Problema de Recobrimento por Rotas: algoritmos e regras de redução

Problema do Caixeiro Viajante

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Heurísticas para o Problema do Caixeiro Viajante Branco e Preto

ALGORITMOS HÍBRIDOS PARA UMA GENERALIZAÇÃO DO PROBLEMA DO CAIXEIRO VIAJANTE

MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO

Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional

Fabiano Vieira de Alvarenga, Marcelo Lisboa Rocha

Heurística GRASP-VND para o Problema de Roteamento de Veículos com Cross-Docking

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

HEURÍSTICA GRASP PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA SIMULTÂNEA

Otimização por Colônia de Formigas (ACO)

O Problema do Caixeiro Viajante com Limite de Calado: uma Abordagem usando Simulated Annealing

Aplicação Conjunta do Método de Dijkstra e Otimização Combinatória para Solução do Problema do Caixeiro Viajante

1-1 PESQUISA OPERACIONAL INTRODUÇÃO

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

HEURÍSTICAS GRASP PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM SETUP TIME

Celso Carneiro Ribeiro. Metaheurísticas e Aplicações

Programa. Análise de algoritmos. Notação Big-O. Sistemas de Informação Geográfica II. Análise de algoritmos

HEURÍSTICAS HÍBRIDAS PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA SIMULTÂNEAS E JANELA DE TEMPO

Tópicos Especiais em Otimização

Exemplo do jogo dos fósforos Terça-feira, 9 de maio. Exemplo para o Problema do Corpo de Bombeiros. Exemplo: Localidade do Corpo de Bombeiros

Resolução do problema do caixeiro viajante assimétrico (e uma variante) através da relaxação Lagrangeana

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

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

Teoria da Complexidade Computacional

Departamento de Engenharia de Produção UFPR 22

Análise e Implementação de Algoritmos para o Roteamento de Veículos

Metaheurísticas híbridas para resolução do problema do caixeiro viajante com coleta de prêmios

Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora

Algoritmos eficientes para o projeto de uma rede de telecomunicações com topologia em anel

Um Algoritmo Simulated Annealing Eficiente para o Problema de Roteamento de Veículos com Janela de Tempo

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

ALGORITMOS HEURÍSTICOS UTILIZANDO BUSCA LOCAL ALEATÓRIA EM VIZINHANÇA VARIÁVEL PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMENTOS

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

HEURÍSTICAS HÍBRIDAS COM BUSCA ATRAVÉS DE AGRUPAMENTOS PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM COLETA DE PRÊMIOS

Teoria da Computação. Complexidade computacional classes de problemas

GRASP COM MEMÓRIA ADAPTATIVA PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMENTOS

GRASP com Memória Adaptativa na solução de um Problema de Roteamento de Veículos com Múltiplas Origens

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Métodos Exatos para PI - Parte 1: Branch-and-Bound

Tópicos em Métodos Heurísticos META-HEURÍSTICAS

3 Metaeurísticas e Resolvedores MIP

HEURÍSTICAS USANDO GRASP E RECONEXÃO DE CAMINHOS PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMETOS

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

UM ALGORITMO HÍBRIDO PARA A SOLUÇÃO DO PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA E JANELA DE TEMPO

Transcrição:

1 - INTRODUÇÃO Nas últimas décadas, observou-se a uma grande evolução na capacidade de processamento dos computadores e o desenvolvimento de diversos pacotes matemáticos, em particular para área de otimização. Com a combinação destes recursos, tornou-se possível resolver um conjunto de problemas de otimização de dimensões mais elevadas. Ou seja, problemas com dezenas, centenas e até milhares de variáveis. Todavia, mesmo com todo este avanço, existe um conjunto de problemas de otimização combinatória de elevada complexidade computacional, isto é, problemas da classe NP- Completo ou NP-Difícil, que têm sido um dos grandes desafios de pesquisadores desta área. Em muitos casos, a solução de problemas associados a esta classe fica restrita a dimensões pequenas (problemas com número de variáveis reduzido). Desta forma, para contornar a problemática subjacente a estes problemas, várias contribuições relevantes têm sido propostas na literatura nas últimas décadas. A maioria destas contribuições está associada a trabalhos que apresentam propostas de novos métodos exatos e metaheurísticas. Ainda com intuito de poder resolver problemas com dimensões maiores, pode-se utilizar técnicas de pré-processamento que propiciem o sucesso desta meta. Estas técnicas de préprocessamento são aplicadas nos dados de entrada deste problemas. Embora se observe um melhoria no desempenho dos métodos exatos e das metaheurísticas com a aplicação destas técnicas de pré-processamento, as mesmas não têm sido muito exploradas pela literatura por vários motivos, sendo um deles pela dificuldade de obter regras eficientes de redução dos dados de entrada para diferentes problemas. No tocante a algoritmos para problemas de elevada complexidade computacional, um caminho que tem se mostrado eficiente, é o uso de heurísticas genéricas conhecidas na literatura como heurísticas inteligentes ou metaheurísticas. Dentre as metaheurísticas mais eficientes na solução aproximada de problemas de otimização combinatória destacamos: Tabu Search (Busca Tabu) [17]; Greedy Randomized Adaptive Search Procedure (GRASP) [12]; Variable Neighborhood Search (VNS) [11] e versões híbridas de Algoritmos Genéticos (incluindo fases de busca local e formas eficientes de diversificar populações de soluções) [4, 5, 9, 10, 14, 15, 16]. Apresenta-se neste trabalho uma nova regra de redução para uma generalização do Problema do Caixeiro Viajante denominado Problema de Recobrimento de Rotas (PRR) e algoritmos aproximativos baseados nas metaheurísticas GRASP e VNS. Uma outra proposta deste trabalho, é a de uma nova formulação matemática do PRR utilizando variáveis de fluxo. A eficiência desta nova formulação, está baseada no fato de que o número de restrições relacionadas com a proibição de rotas desconexas da origem cresce polinomialmente em relação ao tamanho dos dados de entrada para o problema. Para outras as formulações apresentadas na literatura, o número de restrições relacionadas com a proibição de rotas desconexas da origem cresce exponencialmente. No caso deste trabalho, a nova formulação proposta, foi implementada utilizando o pacote de otimização XPRESS[13]. Este trabalho está dividido em 6 seções : Na seção 1 temos uma introdução geral do problema, na seção 2 temos uma descrição do PRR e da literatura afim, na seção 3 apresentamos as regras de redução existentes na literatura e a nova regra de redução proposta. Na seção 4, apresentamos a nova formulação matemática e os algoritmos propostos. Em seguida, na seção 5, apresentamos os resultados computacionais estabelecendo uma comparação da nova regra proposta comas regras existentes e os resultados dos algoritmos propostos. E finalizando este trabalho, na seção 6 apresentamos várias conclusões associadas com a nova 1347

modelagem proposta, com a nova regra de redução e com os algoritmos implemantados. Em seguida são apresentadas as referências bibliográficas. 2 - O PROBLEMA DE RECOBRIMENTO DE ROTAS Seja G= (N,E) um grafo não direcionado, sendo N o conjunto de vértices formado pela união de dois conjuntos disjuntos V e W, ou seja, N = V W, e E = {(i,j) / i,j V W }, o conjunto de arestas. Definimos V como sendo o conjunto de vértices que podem ou não fazer parte da solução (rota), ou seja, podem ou não ser visitados numa rota, T é um subconjunto de vértices de V que obrigatoriamente devem fazer parte da solução (rota), ou seja, devem ser visitados. O conjunto W é formado pelos vértices que devem ser cobertos pelos vértices que fazem parte da solução (rota). A cada aresta (i,j) E associamos um peso d ij que representa a distância percorrida do vértice i ao vértice j. O Problema de Recobrimento de Rotas (PRR) consiste em determinar uma rota de comprimento mínimo sobre um subconjunto de V, tal que todos os vértices de T V estejam na rota e todos os vértices de W sejam cobertos por algum elemento desta rota. Um vértice w W é dito coberto se existir pelo menos um elemento da rota (vértice do conjunto T ou do conjunto V\T ) a uma distância de no máximo D ( D > 0 ) deste vértice, sendo D a distância de cobertura previamente fixada. Um vértice v V \T só estará na rota se ele for necessário para cobrir algum vértice w do conjunto W. Os vértices do conjunto V\T são os vértices do conjunto V, mas que não são os vértices obrigatório T, pois definimos T como um subconjunto de V. Apesar de ter uma vasta aplicação em diferentes áreas incluindo problemas de roteamento e escalonamento, o Problema de Recobrimento de Rotas, não tem recebido muita atenção na literatura desde que foi introduzido por Current [1] em 1981 em sua tese de doutorado. Em 1989, Current e Schilling [2] apresentaram um modelo de programação inteira e uma formulação multiobjetivo para o PRR. Em Current, Pirkul e Rolland [3], é proposta uma variação do PRR, onde o vértice final é diferente do inicial. Neste trabalho os autores apresentam dois algoritmos. O primeiro é uma heurística baseada na técnica de Relaxação Lagrangeana e o segundo é um método exato do tipo Branch and Bound que utiliza os limites gerados pela relaxação. Esta heurística foi executada para problemas teste com até 160 vértices. Gendreau, Laporte e Semet [7], em 1995, apresentaram uma nova formulação matemática para o PRR e um algoritmo exato baseado nos conceitos de Branch-and-Cut, assim como, uma heurística cuja função é gerar um limite superior para o método exato. Esta heurística combina a heurística GENIUS desenvolvida originalmente pelos autores para o PCV com uma heurística Lagrangeana denominada PRIMAL 1. Maniezzo et al [6] propõe uma solução para este problema através da aplicação de três algoritmos baseados na metaheurística Scatter Search. Além disso, são apresentadas neste mesmo trabalho uma nova formulação matemática baseada na técnica de Two-Commodity e algumas regras de redução para o PRR. Uma outra variante do PRR, denominado Problema de Recobrimento de Rotas Generalizado (PRRG) foi proposta em 2001 por Motta, Ochi e Martinhon [8]. No PRRG os vértices do conjunto W podem também fazer parte de uma solução. Isso cria a necessidade de se adaptar as regras de redução do PRR. Os autores apresentam estas adaptações e outras novas regras para o PRRG. O impacto destas regras foi analisado em diferentes tipos de grafos, através da implemtação de um modelo de programação inteira, utilizando o software XPRESS [13] e da implementação de um método GRASP básico [12]. 3 - REGRAS DE REDUÇÃO. 1348

O objetivo das regras de redução é reduzir o número de vértices do grafo associado aos dados de entrada do PRR, tal que o conjunto de soluções associado ao grafo reduzido (grafo obtido do original após aplicar as regras de redução) seja um subconjunto do conjunto de soluções associado ao grafo original. Ao aplicarmos as regras de redução no grafo original, devemos ter a garantia que nenhuma solução ótima associada a este grafo será descartada. Ou seja, utilizando as regras de redução, tem-se a possibilidade real de melhorar a convergência dos algoritmos tanto exatos como aproximados. Em relação aos métodos exatos, a redução do espaço de soluções viáveis pode permitir a solução de problemas teste maiores. E os métodos heurísticos tornam-se mais rápidos e/ou mais eficientes no sentido de gerar soluções de melhor qualidade. Encontramos na literatura [6, 7] quatro regras de redução para o PRR, cuja descrição veremos a seguir. Seja A, uma matriz com W linhas e V colunas, e entradas δ ij tais que, δ ij =1 se d ij D ( onde D é a distância máxima de cobertura pré-estabelecida, d ij distância entre os vértices i e j ) e δ ij =0 (caso contrário). REGRA 1) Remover o vértice i W, se δ iv =1 v V\T; REGRA 2) Remover o vértice i W, se existe j W, tal que δ iv δ jv, v V\T; REGRA 3) Remover o vértice i W, se existe t T, tal que δ it =1 ; REGRA 4) Remover o vértice j V\T δ ij =0, i W. Observamos que em alguns exemplos, ao aplicarmos a REGRA 1 e a REGRA 2 num grafo de entrada associado ao PRR geramos grafos reduzidos, que apresentam em seu conjunto solução, rotas inviáveis para o grafo original. Isto ocorre quando retiramos vértices do conjunto W sem a garantia de que existirá no grafo reduzido vértices do conjunto V que os cubram e que estarão em qualquer uma das soluções viáveis. A figura 3.1. ilustra um caso onde a REGRA 1 (parte A e B da fig 3.1) e a REGRA 2 (parte C e D da fig 3.1) propostas na literatura geram soluções inválidas. A j Regra 1 B C Regra 2 D i i j w v\t t Figura 3.1 w v\t t Na fig. 3.1 (A) aplicamos a REGRA 1 que elimina os vértices do conjunto W que são cobertos por todos os vértices do conjunto V\T. Nesta ilustração eliminamos os vértices i e j, pois todos os vértices de V\T cobrem os vértices i e j. Na fig 3.1 (B) determinamos uma rota viável para o grafo reduzido, pois esta rota contém todos os vértices de T e todos os vértices de W estão cobertos. Todavia esta rota não é viável para o grafo original (fig 3.1 (A)), pois os vértices i e j ficarão sem cobertura. Ao aplicarmos a REGRA 2 eliminamos um vértice i W, se todos os vértices v V\T que cobrem este vértice também cobrem outro vértice j W. Na fig 1349

3.1 (C) temos o exemplo de um grafo no qual podemos aplicar a REGRA 2. Desta forma, determinamos para o grafo resultante após aplicar a REGRA 2 uma rota viável (veja fig 3.1 (D)), que não é viável par ao grafo original. Utilizamos as regras de redução para reduzir o grafo de entrada original e por conseqüência resolver um problema de dimensão menor que fornece uma solução para este grafo original. Para a aplicação destas duas regras, antes de eliminar vértices do conjunto W, deve-se ter a garantia de que em qualquer rota viável do grafo reduzido exista pelo menos um vértice de T ou de V\T para cobrí-los. Esta observação, fomentou-nos a criar uma nova regra de redução, que tem como objetivo garantir que exista um vértice em qualquer rota viável para o grafo reduzido que cubra os vértices do conjunto W candidatos a serem eliminados. Ou seja, há a necessidade de se ter sempre todos os vértices do conjunto W cobertos por qualquer rota viável (condição do PRR). Apresentamos a seguir, a descrição e aplicação desta nova regra de redução, denotada por REGRA RN. Regra RN: Considere um vértice v V \T como único vértice que cobre um vértice i W, ou seja, δ iv =1 (δ iv assume valor 1 se d iv d, e zero caso contrário). Suponhamos que este vértice v também cubra outros vértices k do conjunto W, ressaltando que o vértice v não precisa ser necessariamente o único na cobertura destes vértices k W. A única exigência, é a de que o vértice v V\T seja o único na cobertura do vértice i W. Com esta consideração, qualquer rota viável deverá passar por este vértice v. Portanto, transformamos este vértice v em um vértice obrigatório do conjunto T, ou seja, v t T. A racionalidade desta regra é que se existe um único vértice v V\T cobrindo um vértice i W, então este vértice v tem presença obrigatória em qualquer solução viável para o grafo de entrada. E assim, com a transformação do vértice v em um vértice obrigatório T, temos a garantia que o vértice i W será coberto por qualquer rota no grafo resultante. Na figura 3.2 exemplificamos a REGRA RN, e em seguida a REGRA 3 e a REGRA 4. Nesta figura, os vértices em destaque são vértices eliminados, e rota descrita é uma rota viável para o grafo reduzido. Observamos que qualquer rota viável para o grafo reduzido também é viável para o grafo original. Grafo Original 11 vértices Regra RN : v V t T Grafo Reduzido 5 vértices w v t Eliminados pela REGRA 3 Eliminados pela REGRA 4 Figura 3.2. Com a utilização da regra RN conjuntamente com a REGRA 3 e a REGRA 4, observamos uma significativa redução no número de vértices dos conjuntos V e W associados 1350

ao grafo de entrada. No exemplo acima, o grafo original tem 11 vértices, mas ao aplicarmos a regra nova (RN), e as REGRA 3 e 4, passamos a ter um grafo com apenas 5 vértices. Qualquer rota viável no grafo reduzido será viável no grafo original. A redução do número de vértices no grafo original diminui o conjunto de soluções, sem tirar qualquer solução seja candidata a ótima. Na tabela 1, apresentamos o número médio de vértices eliminados pelo conjunto 1 (REGRA 3 e a REGRA 4) e pelo conjunto 2 (regra proposta neste trabalho, REGRA RN, mais a REGRA 3 e a REGRA 4). Para cada um dos grafos com número de vértices apresentados na 1 a coluna, foram gerados 10 grafos exemplo, para obtermos a média. Ou seja, 10 grafos com 10 vértices, 10 grafos com 15 vértices, etc. Estes grafos com o mesmo número de vértices se diferenciam pelo número de vértices dos conjuntos W, V e T. Número de Vértices Número de Vértices Número de Vértices do Grafo Original Reduzidos pelo Conjunto 1 Reduzidos pelo Conjunto 2 10 4,7 5,1 15 7,1 8,3 20 8,5 10,3 25 11,1 13,2 30 14,6 17,2 35 18,5 19,9 40 19,0 22,3 50 24,2 28,0 70 35,3 38,6 100 58,0 62,2 200 110,7 116,9 300 163,4 170,6 400 218,7 223,0 500 263,9 270,7 Tabela 1 - Número médio de vértices eliminados pelos conjunto 1 (regras da literatura 3 e 4) e pelo conjunto 2 (regra proposta neste trabalho mais as da literatura) das regras de redução. 4 - FORMULAÇÃO MATEMÁTICA Nesta seção apresentamos uma nova formulação matemática que se diferencia das demais formulações existentes na literatura no que concerne ao uso das restrições que asseguram a não formação de ciclos desconexos com a origem. Estas restrições estão diretamente ligadas às variáveis de fluxo que associamos a cada aresta do grafo de entrada associado ao PRR. Seja G=(N,E) o grafo de entrada associado ao PRR. Sendo N=V U W o conjunto de vértices e E o conjunto de arestas. Seja V o conjunto de vértices que podem ou não fazer parte da solução, W o conjunto de vértices que devem ser cobertos pela rota. E o T é formado por vértices do conjunto V, que obrigatoriamente devem fazer parte da rota. Seja y k uma variável binária associada a cada vértice k V, cujo valor é igual a 1 se e somente se o vértice k pertencer a rota, e zero caso contrário; d ij a distância percorrida do vértice i para o vértice j. x ij uma variável binária que está associada a aresta (i,j) (i V e j V) e que assume o valor 1 se a aresta (i,j) pertence a rota, e zero caso contrário; t 0 T, é o vértice origem; Se k T, então y k =1; O conjunto S w é formado por todos os vértice k V que cobrem w, ( w W, S w = k V/ d wk D, D distância de cobertura pré-determinada) Seja z ij uma variável inteira não-negativa, associada a cada aresta (i,j) (i V e j V ), onde z ij representa a quantidade de fluxo escoado do nó i para o nó j. Minimizar { i, j V} d ij x ij Sujeito a 1351

(1) k Sl y k 1 (l W) (2) x ik + x kj = 2y k (k V) (3) j V z kj = i V z ik + y k ( k V \{s}) (4) j V z sj = 1 (5) j V z js = j V y j (6) x ij z ij i, j V) (7) x ij z ij / V +1 ( i, j V) (8) y k = 1 (k T) (9) y k =1 ou 0 (k V \ T) (10) x ij = 0 ou 1 ( i, j V) (11) z ij Z + ( i, j V) Nesta formulação, as restrições (1) asseguram que cada vértice de W é coberto por pelo menos um vértice da rota. As restrições (2) representam as equações de conectividade da rota. As restrições (3), (4) e (5) asseguram a conservação do fluxo da rota. As restrições (6) e (7) asseguram que a rota gerada a partir da variável de fluxo z ij coincide com a rota gerada pela variável de decisão x ij. As restrições (8) asseguram que cada vértice de T necessariamente faz parte da rota. Finalmente, as restrições (9), (10) e (11) representam as condições de integralidade do problema. As variáveis x ij e y j assumem valores iguais a 1 se o vértice j pertence a rota e se aresta (i,j) fazer parte da rota. Portanto são variáveis de decisão na construção da solução ótima. Utilizando esta formulação matemática, obtivemos a solução ótima para alguns problemas teste pequenos (10, 15 e 20 vértices) associados ao PRR. Para todos os grafos exemplo de até 20 vértices conseguimos alcançar a solução ótima no tempo inferior a 4 horas de processamento. Para grafos de 25, 30 e 35 vértices conseguimos, na maioria dos casos, alcançar o valor da solução ótima neste tempo limite de 4 horas. Para os casos em que não foi possível se obter o valor ótimo no tempo limite de 4 horas, utilizamos o grafo reduzido (pela regras nova, 3 e 4) para chegar na solução ótima dentro deste tempo. Para grafos a partir de 40 vértices utilizamos um limite superior (solução inteira viável) para inicializar o XPRESS [13]. Este limite foi obtido a partir das aplicações dos algoritmos propostos neste trabalho. Na tabela 2, apresentamos o tempo médio de processamento (em segundos) do modelo exato na obtenção da solução ótima, utilizando o grafo original (coluna 2) e o grafo reduzido pelas regras nova, 3 e 4 (coluna 3). Número de Vértices Grafo Original Grafo Reduzido pelas regras Nova, 3 e 4. 10 0,4 0,0 15 5,3 0,3 20 138,2 3,0 25 ** 35,5 30 ** 82,4 35 ** 259,7 40 ** 665,2 Tabela 2 - Tempo médio de processamento em segundos da nova formulação para obtenção da solução ótima. Obs : ** a solução ótima não foi encontrada no tempo de até 4 horas de processamento 5 -METAHEURÍSTICA GRASP PARA O PRR O GRASP (Greedy Randomized Adaptive Search Procedure )[12] foi desenvolvido em 1995 por Tom Feo e Maurício Rezende e consiste em um procedimento iterativo constituído por duas fases que combinam várias propriedades de outras metaheurísticas. A primeira fase (de construção) é uma fase iterativa e adaptativa, pois a solução inicial é construída adicionando elemento a elemento e os benefícios alcançados em uma iteração ao se adicionar um elemento na solução são considerados em outras iterações. Pode-se ainda considerar nesta fase, uma 1352

componente "gulosa" que está relacionada à seleção de cada elemento em uma lista de candidatos restrita, conhecida na literatura como Restricted Candidate List (RCL). A segunda fase, chamada de busca local, consiste numa tentativa de melhoria da solução viável (x) obtida na primeira fase, tendo em vista, que esta solução viável não é necessariamente uma solução ótima para o problema. A busca local está baseada na substituição de uma solução atual (x) pela melhor solução de sua vizinhança, ou seja, alcançar na vizinhança da solução anterior uma solução melhor (x') para substituí-la. Procuramos então, x' V(x) tal que f(x')<f(x) (redução no valor da função objetivo associada ao problema). É difícil analisar formalmente a qualidade das soluções obtidas com a utilização do GRASP. Uma justificativa intuitiva é que a cada iteração do GRASP é produzida uma solução a partir de uma distribuição desconhecida de todos os resultados obtidos até a iteração atual. A característica e a variância desta distribuição são provenientes da natureza da Lista de Candidatos Restrita. Se a Lista de Candidatos Restrita contiver apenas um elemento, então apenas uma solução é produzida, acarretando em uma variância nula para a distribuição. Por outro lado, se a cardinalidade da LCR for maior que 1, diferentes soluções podem ser produzidas, implicando em uma variância maior. A metaheurística VNS (Variable Neighborhood Search) [11] proposta por Nenad Mladenovic em 1995 baseia-se em uma sistemática troca de estruturas de vizinhança associadas a um algoritmo de busca local. Diferentemente das outras metaheurísticas baseadas em busca local, o VNS não o segue uma trajetória, mas pode explorar a cada iteração vizinhanças distantes da vizinhança associada à solução atual. A principal característica do VNS é o uso de um conjunto finito V k, (k = 1,..., k max ), de estruturas de vizinhança previamente selecionadas. A maioria das metaheurísticas de busca local utilizam apenas uma estrutura de vizinhança, podendo com isso, limitar a qualidade da solução final obtida caso a vizinhança seja inadequada. Se uma melhora é alcançada em uma vizinhança V k, então retornamos a vizinhança V 1 com a solução melhorada. Caso não haja melhoria na vizinhança V k atual, retornamos para solução inicial (dada pelo algoritmo de construção) e passamos a explorar a solução em outra vizinhança, V k+1. Utilizando a estrutura das metaheurísticas GRASP e VNS, implementamos cinco novos algoritmos para encontrar soluções viáveis para o Problema de Recobrimento de Rotas. Na tabela abaixo resumimos a estrutura de cada um destes algoritmos. Algoritmo Fase de Construção Fase de Busca Local GRASP1 Vizinho mais Próximo VNS GRASP1+F Vizinho mais Próximo com filtro VNS GRASP1+F+PR Vizinho mais Próximo com filtro e Path Relinking VNS GRASP2 Vizinho mais Próximo 2-optimal GRASP2+F Vizinho mais Próximo com filtro 2-optimal Tabela 3 - Configuração dos algoritmos GRASP propostos Nos algoritmos GRASP 1 e GRASP 2 utilizamos a estrutura básica, ou seja, geramos uma solução viável na fase de construção e tentamos melhorar esta solução aplicando uma busca local. As fases de construção da solução inicial destes dois algoritmos GRASP se diferenciam apenas pela ordem de inserção dos vértices que não estão na solução inicial. Com a finalidade de melhorar a solução gerada na fase de construção destes dois algoritmos construímos 100 soluções iniciais, e escolhemos a melhor destas soluções para tomar parte na etapa de busca local (2ª fase). Ao critério de selecionar uma melhor solução entre um conjunto de soluções construídas, dar-se o nome de filtro. Com a utilização deste critério, desenvolvemos dois novos algoritmos : O GRASP 1 com FILTRO e o GRASP 2 com FILTRO. Com estas modificações obtivemos novos resultados computacionais, que em sua maioria melhoravam a solução obtida. 1353

Em seguida, fizemos uma combinação do novo algoritmo GRASP 1 com FILTRO com a técnica de Path Relinking (11). Esta técnica consiste em gerar novas soluções explorando uma trajetória que conecte soluções de boa qualidade. Partindo de uma solução, chamada de solução base, geramos um subconjunto de soluções que levem a uma outra solução previamente estabelecida, chamada de solução guia. Este processo tem por objetivo explorar este subconjunto de soluções, de forma a melhorar a solução obtida. Estas soluções são geradas através da seleção de movimentos que levem à solução guia a partir da solução base. No caso de nosso trabalho, estes movimentos são caracterizados pela troca de vértices que estão na solução base por vértices que estão na solução guia. Por exemplo, seja a solução Base: T1-V1-V3-T2-V4 e a solução Guia T2-V2-V3-T1-V4, então o primeiro passo do Algoritmo baseado na estrutura do Path Relinking seria trocar T1 por T2, ou seja, a solução intermediária seria T2-V1-V3-T1-V4. No segundo passo, esta solução intermediária passa a ser a base, e trocamos V1 por V2, ou seja, T2-V2-V3-T1-V4, e assim por diante, até alcançarmos a solução guia. Em cada troca, levamos em consideração um conjunto de restrições que garantem que nenhum vértice obrigatório será retirado da rota e que nenhum vértice do conjunto W fique descoberto. Todas as situações são analisadas pelo algoritmo, para que haja problemas de inviabilidade da solução para o problema PRR. A cada 50 iterações na fase de construção com filtro, guardamos as 2 melhores soluções das 100 soluções geradas e em seguida aplicamos a técnica de Path Relinking, obtendo as soluções intermediárias que são analisadas com o objetivo de ter a melhor solução inicial que será utilizada na fase de busca local. 6. RESULTADOS COMPUTACIONAIS A seguir, apresentamos duas tabelas que contemplam os resultados obtidos com a utilização da formulação proposta neste trabalho (implementada no XPRESS [13] ) e os resultados obtidos a partir da aplicação dos algoritmos GRASP 1 e GRASP2 e suas variações Para todos os resultados apresentados nestas tabelas, consideramos como dados de entrada: o grafo original e grafos reduzidos a partir da aplicação das regras de redução da literatura (RED 1) e do conjunto formado pela nova regra que propomos com as regras válidas da literatura (RED 2). Observamos que estes dados de entrada (grafos iniciais) foram gerados aleatoriamente por um programa que desenvolvemos em linguagem C. Nas tabelas 4 e 5 apresentadas a seguir, os número na 1 a coluna estão associados aos problemas teste utilizados na obtenção do valor exato e aproximado. Por exemplo : O problema 101 está associado a um grafo com 10 vértices, o problema 102 a um grafo também com 10 vértices, porém com uma distribuição dos vértices T, V\T e W diferente. Nas demais colunas temos, em valores percentuais, a diferença entre os valores aproximados (metaheurísticas) e os valores exatos (formulação). Nos casos que não tínhamos os valores exatos (***), ou seja, em que não foi possível se obter a solução ótima no tempo de até 4 horas, foi calculada a diferença entre o melhor limite superior (solução viável) fornecido por um dos algoritmos com os demais algoritmos. A modelagem implementada no XPRESS e os algoritmos implementados em linguagem C foram executados num computador Pentium IV de 1.6 Ghz e com 256 Mb de memória RAM. 1354

Tabela 4 Resultados computacionais utilizando o GRASP 1 Problema Resultado GRASP 1 GRASP1 com Filtro GRASP 1 com Path Rellink Modelo Original Red 1 Red 2 Original Red 1 Res 2 Original Red 1 Red 2 501 2.101,26 17,94% 8,83% 0,00% 9,78% 1,89% 0,00% 9,78% 1,89% 0,00% 502 1.915,40 15,95% 5,03% 2,88% 15,63% 5,03% 2,88% 11,26% 5,03% 2,88% 503 2.371,39 3,47% 0,00% 1,81% 0,37% 0,00% 0,00% 0,37% 0,00% 0,00% 701 2.335,17 26,82% 17,46% 18,89% 12,83% 13,74% 16,70% 12,83% 8,20% 16,70% 702 2.537,24 10,75% 1,05% 1,56% 8,31% 0,80% 0,00% 8,31% 0,56% 0,00% 703 2.629,01 10,47% 2,72% 3,37% 8,01% 0,42% 0,28% 8,01% 0,00% 0,28% Tabela 4 Resultados Computacionais utilizando o GRASP 1 1355

Problema Resultado GRASP 2 GRASP 2 com Filtro Modelo Original Red 1 Red 2 Original Red 1 Red 2 101 1.129,29 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 102 887,55 0,00% 0,00% 0,00% 0,00% 0,00% 16,37% 103 1.257,69 1,32% 1,32% 0,00% 1,32% 0,00% 1,33% 151 1.646,26 6,28% 6,28% 39,81% 6,28% 39,81% 32,44% 152 776,12 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 153 1.073,15 21,38% 21,38% 16,81% 21,38% 16,81% 0,00% 201 1.920,24 29,84% 29,84% 30,80% 29,84% 30,80% 0,00% 202 1.490,84 20,13% 20,13% 20,13% 20,13% 20,13% 33,80% 203 1.493,43 22,00% 22,00% 57,57% 22,00% 57,57% 14,61% 251 1.413,44 39,04% 39,04% 60,94% 39,04% 60,94% 27,61% 252 1.482,04 0,00% 0,00% 0,00% 0,00% 0,00% 11,63% 253 1.791,98 34,78% 34,78% 56,07% 34,78% 56,07% 21,34% 301 1.983,07 41,89% 41,89% 16,91% 41,89% 16,91% 8,85% 302 1.883,95 34,57% 34,57% 3,23% 34,57% 3,23% 15,20% 303 1.966,87 96,19% 96,19% 78,13% 96,19% 78,13% 73,08% 351 1.340,53 20,30% 20,30% 42,71% 20,30% 42,71% 9,70% 352 1.611,22 21,01% 21,01% 45,21% 21,01% 45,21% 6,62% 353 1.613,86 107,41% 107,41% 115,88% 107,41% 115,88% 56,32% 401 1.691,38 51,75% 51,75% 58,94% 51,75% 58,94% 34,23% 402 2.113,80 52,71% 52,71% 49,64% 52,71% 49,64% 17,26% 403 2.364,55 59,66% 59,66% 52,18% 59,66% 52,18% 45,54% 501 2.101,26 90,67% 90,67% 131,82% 90,67% 131,82% 15,20% 502 1.915,40 132,86% 132,86% 144,31% 132,86% 144,31% 90,19% 503 2.371,39 61,18% 61,18% 58,92% 61,18% 58,92% 43,94% 701 2.335,17 98,98% 98,98% 90,62% 98,98% 90,62% 118,84% 702 2.537,24 114,01% 114,01% 27,81% 114,01% 27,81% 15,72% 703 2.629,01 104,53% 104,53% 86,69% 104,53% 86,69% 40,90% 1001 2.306,86 64,29% 64,29% 61,15% 64,29% 61,15% 34,25% 1002 2.308,79 62,93% 62,93% 32,67% 62,93% 32,67% 21,85% 1003 *** 0,00% 0,00% 2,07% 0,00% 2,07% 1,64% 2001 *** 5,43% 5,43% 0,00% 5,43% 0,00% 1,63% 2002 *** 56,26% 56,26% 81,63% 56,26% 81,63% 0,00% 2003 *** 0,00% 0,00% 39,20% 0,00% 39,20% 24,63% 3001 *** 10,87% 10,87% 6,83% 10,87% 6,83% 0,00% 3002 *** 0,00% 0,00% 7,87% 0,00% 7,87% 15,53% 3003 *** 18,71% 18,71% 23,18% 18,71% 23,18% 0,00% 4001 *** 32,67% 32,67% 7,62% 32,67% 7,62% 0,00% 4002 *** 18,33% 18,33% 0,00% 18,33% 0,00% 5,52% 4003 *** 22,92% 22,92% 12,82% 22,92% 12,82% 0,00% 7- CONCLUSÕES Tabela 5 Resultados computacionais utilizando o GRASP 2 Conforme a apresentação inicial, observamos que o PRR é um problema de difícil solução computacional a partir de uma certa dimensão. Face a esta dificuldade, propusemos uma nova formulação matemática para o Problema de Recobrimento de Rotas, onde as restrições para evitar ciclos desconexos com a origem são tratadas através da introdução de variáveis de fluxo z ij. Nesta nova formulação o número de restrições para evitar sub rotas cresce de forma polinomial ao invés das propostas na literatura onde o crescimento é exponencial. Uma outra contribuição deste trabalho é a criação de uma nova regra de redução para o PRR, que em conjunto com as regras de redução já existentes na literatura, produz uma redução significativa no número de vértices do grafo de entrada relacionado ao PRR, ou seja, redução na dimensão do problema. Para obtermos soluções ótimas para o PRR através da nova formulação matemática apresentada nesse trabalho, utilizamos o XPRESS. Tanto para o grafo original quanto para o grafo reduzido, desejávamos saber o tempo de CPU necessário para se obter uma solução ótima. Para alguns problemas teste com número de vértices maior que 25, quando não foi possível encontrar uma solução no tempo inferior a 4 horas, utilizamos apenas o grafo reduzido para obter a solução ótima do problema. Como mostrado na tabela 1 tanto o conjunto 1 e o conjunto 2 de regras de redução reduzem de forma significativa as dimensões do grafo e 1356

possibilitam a solução de problemas teste maiores do PRR quando utilizados conjuntamente com a nova formulação de programação inteira que propomos. Em termos de métodos heurísticos, desenvolvemos novos algoritmos baseados no GRASP e no VNS. Com a aplicação destes algoritmos, obtivemos bons resultados tanto para o grafo original quanto para os grafos reduzidos. Para problemas teste com dimensão mais elevada, onde até mesmo com os grafos reduzidos não era possível se encontrar uma solução ótima em tempo computacional razoável, utilizamos o valor aproximado, ou seja, o limite superior fornecido por estas metaheurísticas para inicializar o X-PRESS na busca da solução ótima. Destacamos ainda, que com aplicação da nova regra de redução e dos algoritmos que desenvolvemos, considerando a estrutura das metaheurístias GRASP e VNS, foram produzidas soluções viáveis de bom nível para o PRR, considerando problemas teste de 50 até 400 vértices. Em particular, com a aplicação das regras de redução, considerando o grafo original associado ao PRR, houve uma significativa melhoria no desempenho tanto do modelo exato quanto dos algoritmos propostos neste trabalho. No modelo exato, foi possível resolver problemas teste maiores, isto é, considerando grafos de entrada com mais vértices. No caso dos algoritmos baseados nas metaheurísticas GRASP e VNS, ocorreu uma razoável redução nos tempos computacionais para geração das soluções. Além disso, observamos uma melhoria na qualidade das soluções geradas, ou seja, temos valores menores para função objetivo associada ao PRR. Esta melhoria colabora diretamente na solução do modelo exato no XPRESS, tendo em vista que utilizamos o valor da função objetivo produzido pelos algoritmos, como um limite superior no XPRESS, possibilitando em alguns casos chegar a solução ótima num tempo consideravelmente razoável. 8. BIBLIOGRAFIA [01]. J. Current, Multiobjective Design of Transportation Networks, Ph.D. Thesis, Department of Geography and Environmental Engineering, The Johns Hopkins University., 1981 [02] J. Current and D. A Schilling, The Covering Salesman Problem, Transportation Science 23, 208-213, 1989. [03]. J. Current, H. Pirkul and E. Rolland, Efficient Algorithms for Solving the Shortest Covering Path Problem, Transportation Science 28(4), 317-327, 1994. [04] L. M. A. Drummond, D. S. Vianna and L. S. Ochi, A Parallel Genetic Algorithm for the Vehicle Routing Problems, In Future Generations on Computer Systems Journal - Elsevier, vol. 14(5-6), 285-292,1998. [05] L.M.A.Drummond, L. S. Ochi and R. M.V.Figueiredo, Design and Implementation of a Parallel Genetic Algorithm for the Travelling Purchaser Problem, In APPLIED COMPUTING 97/ACM, 257-263, 1997, (capitulo de livro), ACM, Association for Comp. Machinery,Inc., NY. [06]. V. Maniezzo, R. Baldacci, M. Boschetti and M. Zamboni, Scatter Search Methods for The Covering Tour Problem, Scienze dell'informazione, University of Bologna, 1999 [07]. M. Gendreau, G. Laporte and F. Semet, The Covering Tour Problem, Operations Research 45 (1995), 568-576. [08]. L. Motta, L.S. Ochi, C. Martinhon, GRASP Metaheuristicas to the Generalized Covering Tour Problem, Proceedings of the Metaheuristic International Conference (MIC2001) Porto, Portugal [09] L. S. Ochi and M. L. Rocha, A New Hybrid Evolutionary Algorithm for the Vehicle Routing and Scheduling Problems, In Proc. Of the Ninth International Conference on Intelligence Systems: Artificial Intelligence Applications for the New Millennium, 135-140, 2000, Louisville, USA, International Society for Computer & Their Applications ISCA. 1357

[10] L. S. Ochi and P. W. P. Vieyra, A Hybrid Metaheuristic Using Genetic Algorithm and Ant Systems for the Clustered Traveling Salesman Problem, In Proc. of the III Metaheuristic International Conference (MIC 99), 365-371, Angra dos Reis, RJ, 1999. [11] P. Hansen and N. Mladenovic, Variable Neighborhood Search for the p-median, Location Science 5 (1995), 207-226. [12]. M. G. C. Resende and T. A. Feo, Greedy Randomized Adaptative Search Procedures, Journal of Global Optimization, 1-27 (1995). [13]. XPRESS versão 11 Dash Associates 2000. [14] D. S. Vianna, L. M. A. Drummond and L. S. Ochi, A New Parallel Hybrid Evolutionary Metaheuristic for the Vehicle Routing Problems, In Lecture Notes in Computer Science, LNCS, volume 1586, 183-192, Editors: J. Rolim et al.; Springer, 1999. [15] D. S. Vianna, L. M. A. Drummond, and L. S. Ochi, An Asynchronous Parallel Metaheuristic for the Periodic Vehicle Routing Problems, In Future Generations on Computer Systems Journal, 17(4), 379-386 - Elservier, 2001. [16] J.H.Holand, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor (1975) [17] F. Glover, Future Paths for Integer Programming and Links to Artificial Intelligence, Computers & Ops. Research 5, 533-549 (1986). 1358