• Nenhum resultado encontrado

O problema do caixeiro viajante com múltiplos passageiros e quota

N/A
N/A
Protected

Academic year: 2021

Share "O problema do caixeiro viajante com múltiplos passageiros e quota"

Copied!
263
0
0

Texto

(1)

Departmento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação

Mestrado Acadêmico em Sistemas e Computação

O Problema do Caixeiro Viajante com

Múltiplos Passageiros e Quota

Allan Vilar de Carvalho

Natal-RN Dezembro de 2018

(2)

O Problema do Caixeiro Viajante com Múltiplos

Passageiros e Quota

Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Sistemas e Computação do Departamento de Infor-mática e MateInfor-mática Aplicada da Universi-dade Federal do Rio Grande do Norte como requisito parcial para a obtenção do grau de Mestre em Sistemas e Computação.

Linha de pesquisa:

Algoritmos Experimentais

Orientador

Prof. Dr. Marco César Goldbarg

PPgSC – Programa de Pós-Graduação em Sistemas e Computação

DIMAp – Departamento de Informática e Matemática Aplicada

CCET – Centro de Ciências Exatas e da Terra

UFRN – Universidade Federal do Rio Grande do Norte

Natal-RN Dezembro de 2018

(3)

Carvalho, Allan Vilar de.

O problema do caixeiro viajante com múltiplos passageiros e quota / Allan Vilar de Carvalho. - 2018.

262f.: il.

Dissertação (Mestrado) - Universidade Federal do Rio Grande do Norte, Centro de Ciências Exatas e da Terra, Programa de Pós-Graduação em Sistemas e Computação. Natal, 2018.

Orientador: Marco César Goldbarg.

1. Algoritmos Dissertação. 2. Caixeiro viajante

-Dissertação. 3. Problemas de Ridesharing - -Dissertação. 4. Meta-heurísticas - Dissertação. I. Goldbarg, Marco César. II. Título.

RN/UF/CCET CDU 004.021

Catalogação de Publicação na Fonte. UFRN - Biblioteca Setorial Prof. Ronaldo Xavier de Arruda - CCET

(4)
(5)

Primeiramente agradeço a Deus por ser meu guia e protetor.

Agradeço também aos meus pais Adão Vilar de Carvalho e Acioneide Torres Vilar de Carvalho por todo o amor e carinho.

Agradeço as minhas irmãs Arilania Vilar de Carvalho e Alânia Vilar de Carvalho que sempre estão torcendo pelo meu sucesso.

Agradeço especialmente a Marco Cesar Goldbarg por toda orientação, pelo apren-dizado e pelo empenho na construção deste trabalho.

Agradeço a Elizabeth Ferreira Gouveia Goldbarg, Sílvia Maria Diniz Monteiro Maia e a Matheus da Silva Menezes por toda contribuição dada a este trabalho.

Agradeço a minha noiva Fiderlane Islane Gomes dos Santos pela ajuda dada em momentos difíceis da minha vida de mestrando.

(6)
(7)

Passageiros e Quota

Autor: Allan Vilar de Carvalho Orientador(a): Prof. Dr. Marco César Goldbarg

Resumo

O presente trabalho apresenta o Problema do Caixeiro Viajante com Múltiplos Passa-geiros e Quota, variante do Problema do Caixeiro Viajante com Quota. O problema consiste em minimizar os custos de um caixeiro viajante que deve coletar uma cota mínima de bônus nas localidades do problema, considerando a possibilidade de rateio das despesas de rota com eventuais passageiros embarcados no veículo do caixeiro. Os passageiros, se embarcados, devem ser transportados obrigatoriamente até seus desti-nos previamente conhecidos. Os passageiros participam do rateio dos custos da rota nos trechos em que estiverem embarcados. O trabalho propõe e valida um modelo de Programação Matemática Linear para formalizar o problema. São propostos também um banco de instâncias e métodos heurísticos para a solução do problema. Experimen-tos computacionais validam os métodos proposExperimen-tos através da solução das instâncias do banco proposto. Desenvolve-se um experimento computacional para obter conclusões sobre a eficiência e eficácia dos métodos propostos.

(8)

Passengers and Quota

Author: Allan Vilar de Carvalho Supervisor: Prof. Dr. Marco César Goldbarg

Abstract

The present work presents the Traveling Salesman Problem with Multiple Passengers and Quota, variant of the Traveling Salesman Problem with Quota. The problem is to minimize the costs of a salesman who must collect a minimum quota of bonuses in the localities of the problem, considering the possibility of apportionment of expenses for any passengers on the route with embedded vehicle traveling. Passengers, if shipped, must be transported obligatorily to their destinations previously known. Passengers participate in the apportionment of the costs of the route in excerpts in which you sail. The paper proposes and validates a Linear Mathematical Programming model to formalize the problem. Are proposed also a bank of instances and heuristics for sol-ving the problem. Computational experiments validate the proposed methods through the solution of the instances of the proposed bank. Developing a computational expe-riment to obtain conclusions about the efficiency and effectiveness of the proposed methods.

(9)

1 Exemplo de operação do BuscaLocalEH . . . p. 56 2 Exemplos de caminhos PR . . . p. 65 3 Exemplos de operações das vizinhanças . . . p. 70 4 Conteúdo da instância a-10-21-4-1 . . . p. 252

(10)

1 Configuração do algoritmo G-LK para as instâncias simétricas . . . . p. 91 2 Configuração do algoritmo G-LK para as instâncias assimétricas . . . p. 91 3 Configuração do algoritmo G-PR . . . p. 91 4 Configuração do algoritmo G-VNDP . . . p. 91 5 Configuração do algoritmo ACO-OR . . . p. 91 6 Configuração do algoritmo ACO-AL . . . p. 92 7 Configuração do algoritmo ACO-ORVNDP . . . p. 92 8 Configuração do algoritmo ACO-ALVNDP . . . p. 92 9 Configuração do algoritmo ACO-GALVNDP . . . p. 93 10 Configuração do algoritmo BA . . . p. 93 11 Quantidade de melhores soluções encontradas pelos algoritmos

meta-heurísticos nas instâncias simétricas . . . p. 102 12 Comparação das médias de solução dos algoritmos meta-heurísticos

por grupo de instâncias simétricas (vitórias x derrotas) . . . p. 103 13 Comparação das soluções mínimas dos algoritmos meta-heurísticos

por grupo de instâncias simétricas (vitórias x derrotas) . . . p. 105 14 Comparação das médias dos tempos médios de execução dos

algo-ritmos meta-heurísticos nas instâncias simétricas, por quantidade de

localidade da instância . . . p. 107 15 Quantidade de maior desvio e quantidade de menor desvio dos

algo-ritmos meta-heurísticos nas instâncias simétricas . . . p. 108 16 p-valores do teste de Friedman realizado utilizando as médias de

(11)

18 p-valores do teste de Conover realizado utilizando as médias de so-lução dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 10 . . . p. 111 19 p-valores do teste de Conover realizado utilizando as médias de

so-lução dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 20 . . . p. 111 20 p-valores do teste de Conover realizado utilizando as médias de

so-lução dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 30 . . . p. 112 21 p-valores do teste de Conover realizado utilizando as médias de

so-lução dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 40 . . . p. 112 22 p-valores do teste de Conover realizado utilizando as médias de

so-lução dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 50 . . . p. 113 23 p-valores do teste de Conover realizado utilizando as médias de

so-lução dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 100 . . . p. 113 24 p-valores do teste de Conover realizado utilizando as soluções

mí-nimas dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 10 . . . p. 115 25 p-valores do teste de Conover realizado utilizando as soluções

mí-nimas dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 20 . . . p. 115 26 p-valores do teste de Conover realizado utilizando as soluções

mí-nimas dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 30 . . . p. 116 27 p-valores do teste de Conover realizado utilizando as soluções

mí-nimas dos algoritmos meta-heurísticos nas instâncias simétricas com

(12)

quantidade de localidade 50 . . . p. 117 29 p-valores do teste de Conover realizado utilizando as soluções

mí-nimas dos algoritmos meta-heurísticos nas instâncias simétricas com

quantidade de localidade 100 . . . p. 117 30 Quantidade de melhores soluções encontradas pelos algoritmos

meta-heurísticos nas instâncias assimétricas . . . p. 119 31 Comparação das médias de solução dos algoritmos meta-heurísticos

por grupo de instâncias assimétricas (vitórias x derrotas) . . . p. 120 32 Comparação das soluções mínimas dos algoritmos meta-heurísticos

por grupo de instâncias assimétricas (vitórias x derrotas) . . . p. 122 33 Comparação das médias dos tempos médios de execução dos

algorit-mos meta-heurísticos nas instâncias assimétricas, por quantidade de

localidade da instância . . . p. 124 34 Quantidade de maior desvio e quantidade de menor desvio dos

algo-ritmos meta-heurísticos nas instâncias assimétricas . . . p. 125 35 p-valores do teste de Friedman realizado utilizando as médias de

so-lução dos algoritmos meta-heurísticos nas instâncias assimétricas . . . p. 126 36 p-valores do teste de Friedman realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas . . . p. 126 37 p-valores do teste de Conover realizado utilizando as médias de

solu-ção dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 10 . . . p. 127 38 p-valores do teste de Conover realizado utilizando as médias de

solu-ção dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 20 . . . p. 127 39 p-valores do teste de Conover realizado utilizando as médias de

solu-ção dos algoritmos meta-heurísticos nas instâncias assimétricas com

(13)

quantidade de localidade 40 . . . p. 128 41 p-valores do teste de Conover realizado utilizando as médias de

solu-ção dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 50 . . . p. 129 42 p-valores do teste de Conover realizado utilizando as médias de

solu-ção dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 100 . . . p. 129 43 p-valores do teste de Conover realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 10 . . . p. 131 44 p-valores do teste de Conover realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 20 . . . p. 131 45 p-valores do teste de Conover realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 30 . . . p. 132 46 p-valores do teste de Conover realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 40 . . . p. 132 47 p-valores do teste de Conover realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 50 . . . p. 133 48 p-valores do teste de Conover realizado utilizando as soluções

míni-mas dos algoritmos meta-heurísticos nas instâncias assimétricas com

quantidade de localidade 100 . . . p. 133 49 Resultados doSolver e do algoritmo heurístico para o conjunto de

ins-tâncias com demanda 1 . . . p. 143 50 Resultados doSolver e do algoritmo heurístico para o conjunto de

(14)

52 Resultados do algoritmo G-LK para o conjunto de instâncias com

de-manda 2 . . . p. 150 53 Resultados do algoritmo G-PR para o conjunto de instâncias com

de-manda 1 . . . p. 155 54 Resultados do algoritmo G-PR para o conjunto de instâncias com

de-manda 2 . . . p. 160 55 Resultados do algoritmo G-VNDP para o conjunto de instâncias com

demanda 1 . . . p. 165 56 Resultados do algoritmo G-VNDP para o conjunto de instâncias com

demanda 2 . . . p. 170 57 Resultados do algoritmo ACO-OR para o conjunto de instâncias com

demanda 1 . . . p. 175 58 Resultados do algoritmo ACO-OR para o conjunto de instâncias com

demanda 2 . . . p. 180 59 Resultados do algoritmo ACO-AL para o conjunto de instâncias com

demanda 1 . . . p. 185 60 Resultados do algoritmo ACO-AL para o conjunto de instâncias com

demanda 2 . . . p. 190 61 Resultados do algoritmo ACO-ORVNDP para o conjunto de instâncias

com demanda 1 . . . p. 195 62 Resultados do algoritmo ACO-ORVNDP para o conjunto de instâncias

com demanda 2 . . . p. 200 63 Resultados do algoritmo ACO-ALVNDP para o conjunto de instâncias

com demanda 1 . . . p. 205 64 Resultados do algoritmo ACO-ALVNDP para o conjunto de instâncias

com demanda 2 . . . p. 210 65 Resultados do algoritmo ACO-GALVNDP para o conjunto de

(15)

67 Resultados do algoritmo BA para o conjunto de instâncias com

de-manda 1 . . . p. 225 68 Resultados do algoritmo BA para o conjunto de instâncias com

de-manda 2 . . . p. 230 69 Melhores soluções encontradas pelos algoritmos meta-heurísticos para

o conjunto de instâncias com demanda 1 por grupo de instâncias

si-métricas . . . p. 235 70 Melhores soluções encontradas pelos algoritmos meta-heurísticos para

o conjunto de instâncias com demanda 2 por grupo de instâncias

si-métricas . . . p. 237 71 Desvio percentual dos algoritmos meta-heurísticos por grupo de

ins-tâncias simétricas . . . p. 240 72 Melhores soluções encontradas pelos algoritmos meta-heurísticos para

o conjunto de instâncias com demanda 1 por grupo de instâncias

as-simétricas . . . p. 243 73 Melhores soluções encontradas pelos algoritmos meta-heurísticos para

o conjunto de instâncias com demanda 2 por grupo de instâncias

as-simétricas . . . p. 246 74 Desvio percentual dos algoritmos meta-heurísticos por grupo de

ins-tâncias assimétricas . . . p. 248 75 Instâncias assimétricas dos experimentos . . . p. 253 76 Instâncias simétricas dos experimentos . . . p. 256 77 Instâncias do irace . . . p. 259

(16)

PCV – Problema do Caixeiro Viajante

PCV-Q – Problema do Caixeiro Viajante com Quota

PCV-CP – Problema do Caixeiro Viajante com Coleta de Prêmios PCV-P – Problema do Caixeiro Viajante com Passageiros

PCV-PQ – Problema do Caixeiro Viajante com Passageiros e Quota

PPL-PRTC – Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo e Custo

PCV-MPQ – Problema do Caixeiro Viajante com Múltiplos Passageiros e Quota PCV-PL – Problema do Caixeiro Viajante com Passageiros e Lotação

PEP – Problema do Embarque de Passageiros

GRASP –Greedy Randomized Adaptive Search Procedure

LRC – Lista Restrita de Candidatos PR –Path-Relinking

EH – Embarque Heurístico

VNS –Variable Neighborhood Search

VNDP –Variable Neighborhood Descending with Perturbation

ACO –Ant Colony Optimization

BA –Bees Algorithm

CA – Construtor Aleatório BLA – Busca Local Aleatória

(17)

1 EH . . . p. 54 2 BuscaLocalEH . . . p. 55 3 AH . . . p. 59 4 GRASP . . . p. 60 5 G-LK . . . p. 62 6 PR . . . p. 64 7 G-PR . . . p. 67 8 VNDP . . . p. 68 9 G-VNDP . . . p. 71 10 ACO-OR . . . p. 74 11 ACO-AL . . . p. 76 12 ACO-ORVNDP . . . p. 78 13 ACO-ALVNDP . . . p. 80 14 ACO-GALVNDP . . . p. 82 15 BA . . . p. 84 16 CA . . . p. 85 17 BLA . . . p. 86

(18)

1 Introdução p. 20 1.1 Justificativa e Importância . . . p. 20 1.2 Metodologia . . . p. 22 1.3 Objetivos . . . p. 22 1.4 Contribuições . . . p. 23 1.5 Organização do trabalho . . . p. 24 2 PCV-MPQ p. 25

2.1 Contextualização do PCV-MPQ no estado da arte . . . p. 25 2.1.1 O Problema do Caixeiro Viajante . . . p. 25 2.1.1.1 Modelo do PCV . . . p. 26 2.1.2 O Problema do Caixeiro Viajante com Quota . . . p. 26 2.1.3 O Problema do Caixeiro Viajante com Passageiros . . . p. 28 2.1.3.1 Modelo quadrático do PCV-P . . . p. 29 2.1.4 O Problema do Caixeiro Viajante com Passageiros e Quota . . p. 30 2.1.4.1 Modelo quadrático do PCV-PQ . . . p. 32 2.1.5 O Problema do Caixeiro Viajante com Passageiros e Lotação . . p. 33 2.1.5.1 Modelo quadrático do PCV-PL . . . p. 34 2.1.6 O Problema do Passeio Lucrativo com Passageiros e Restrições

de Tempo e Custo . . . p. 36 2.1.6.1 Modelo quadrático do PPL-PRTC . . . p. 38 2.1.7 Conexões do PCV-MPQ com outros problemas de roteamento p. 40

(19)

2.1.7.2 Conexões do PCV-MPQ com o Carpooling . . . p. 44 2.1.7.3 Conexões do PCV-MPQ com o Pickup and Delivery . p. 45 2.2 Descrição do PCV-MPQ . . . p. 47 2.3 Formalização do PCV-MPQ . . . p. 48 2.3.1 Linearização do modelo . . . p. 48 2.3.1.1 Modelo linear do PCV-MPQ . . . p. 50 2.4 Conceitos do PCV-MPQ . . . p. 52

3 O Problema do Embarque de Passageiros - PEP do PCV-MPQ p. 53

3.1 Subproblema do PCV-MPQ . . . p. 53 3.2 Abordagem de solução do PEP . . . p. 53 3.2.1 Método heurístico . . . p. 53 3.2.1.1 Busca local EH . . . p. 54 3.3 Modelo matemático para o PEP . . . p. 56

4 Abordagens de solução do PCV-MPQ p. 58

4.1 Método heurístico . . . p. 58 4.1.1 Heurística ad hoc - AH . . . p. 58 4.2 Métodos meta-heurísticos . . . p. 59 4.2.1 Greedy Randomized Adaptive Search Procedure - GRASP . . . p. 59 4.2.1.1 GRASP com a heurística LKH . . . p. 60 4.2.1.2 GRASP com o Path-Relinking - PR . . . p. 63 4.2.1.3 GRASP com o Variable Neighborhood Descending with

Perturbation - VNDP . . . p. 68 4.2.2 Ant Colony Optimization - ACO . . . p. 71 4.2.2.1 ACO-OR . . . p. 72 4.2.2.2 ACO-AL . . . p. 75

(20)

4.2.2.4 ACO-ALVNDP . . . p. 79 4.2.2.5 ACO com GRASP e VNDP . . . p. 81 4.2.3 Bees Algorithm - BA . . . p. 83 4.2.3.1 Algoritmo construtivo aleatório . . . p. 85 4.2.3.2 Algoritmo busca local aleatória . . . p. 86

5 Experimentos computacionais p. 87

5.1 Definição das instâncias de teste do PCV-MPQ . . . p. 87 5.2 Metodologia . . . p. 89 5.2.1 Ajuste de parâmetros . . . p. 90 5.3 Resultados . . . p. 93 5.3.1 Solver X Heurística AH . . . . p. 93 5.3.2 GRASP X Heurística AH . . . p. 94 5.3.2.1 G-LK X Heurística AH . . . p. 94 5.3.2.2 G-PR X Heurística AH . . . p. 95 5.3.2.3 G-VNDP X Heurística AH . . . p. 95 5.3.3 ACO X Heurística AH . . . p. 96 5.3.3.1 ACO-OR X Heurística AH . . . p. 96 5.3.3.2 ACO-AL X Heurística AH . . . p. 97 5.3.3.3 ACO-ORVNDP X Heurística AH . . . p. 98 5.3.3.4 ACO-ALVNDP X Heurística AH . . . p. 98 5.3.3.5 ACO-GALVNDP X Heurística AH . . . p. 99 5.3.4 BA X Heurística AH . . . p. 100 5.3.5 Comparação das meta-heurísticas . . . p. 101 5.3.5.1 Instâncias simétricas . . . p. 101 5.3.5.2 Instâncias assimétricas . . . p. 118

(21)

6.1 Trabalhos futuros . . . p. 135

Referências p. 137

Apêndice A -- Dados de experimentos computacionais p. 142

(22)

1

Introdução

O presente trabalho relata pesquisas realizadas abordando um novo problema de roteamento nomeado Problema do Caixeiro Viajante com Múltiplos Passageiros e Quota (PCV-MPQ). Este capítulo tem por objetivo justificar a importância desse modelo de aplicação e alvo da pesquisa. Na seção 1.1 discorre sobre a justificativa e importância do problema de aplicação. Na seção 1.2, descreve a metodologia empregada no traba-lho. Na seção 1.3, assenta os objetivos da pesquisa. Na seção 1.4, resume as contribui-ções da pesquisa. Na seção 1.5 descreve como o texto do trabalho está organizado.

1.1

Justificativa e Importância

O problema alvo da pesquisa está contextualizado na área de problema de trans-porte enriquecidos especificamente abordando a aplicação de transtrans-portes solidários. O transporte solidário hoje, representa uma das soluções possíveis para promover a mobilidade sustentável e a otimização dos sistemas de transporte, especialmente em sistemas urbanos e suburbanos.

O transporte solidário é um meio de locomoção no qual diferentes pessoas se reú-nem para compartilhar um veículo. A modalidade está difundindo em várias cidades do mundo, por exemplo, por meio de aplicativos como Carona Direta, Me leva, BlaBla-Car e outros. Em outros casos é o próprio poder público que fomenta o compartilha-mento de veículos através de isenção de pedágios.

As vantagens do compartilhamento de veículos são múltiplas e impactam dife-rentes áreas da economia, administração, ecologia e sociologia. Destacam-se: redução da poluição ambiental, diminuição dos tempos de viagens, diminuição dos custos de transporte, redução das áreas nobres destinadas à estacionamento de veículos, maior conforto ao usuário, socialização e minimização dos engarrafamentos.

(23)

Esta-dos UniEsta-dos, Canadá e alguns estaEsta-dos da União Europeia. Este tipo de transporte pode ser feito seguindo várias estruturas como exemplo bike-sharing (SHAHEEN; GUZMAN; ZHANG, 2010), definida pelo uso coletivo de bicicletas, carsharing (SHAHEEN; COHEN; ROBERTS, 2006), em que carros são alugados, ridesharing (CHAN; SHAHEEN, 2012), que realiza o compartilhamento de acentos de carros, personal vehicle sharing (SHAHEEN; MALLERY; KINGSLEY, 2012), na qual carros pessoais são alugados, carpooling (GRUEBELE, 2008), que segue a ideia da lotação de veículos para redução de pedágio, slugging (MA; WOLFSON, 2013), em que caronas que exigem carros com vários ocupantes são dadas em locais próximos a localidades livres de pedágio e taxi-sharing (HOSNI; NAOUM-SAWAYA; ARTAIL, 2014), que realiza o compartilhamento de viagens de taxi (NOURINEJAD, 2014). Um exemplo de aplicação possível do problema alvo é o da empresa, como por exemplo a iFast Courier, Rappi e outras, que contrata entregadores ou denominados couriers para realizar viagens de coleta de mercadorias. A empresa neste caso, pode exigir do courier coletar ou entregar uma quantidade mínima de mercadorias sobre um conjunto de pontos de coleta ou entrega. Os pontos alvo podem estar localizados em área urbana, suburbana ou mesmo em diferentes localidades fora da cidade. O courier pode ser livre para organizar sua rota e eventual lotação de seu veículo, desde que atenda a entrega ou recolhimento dos itens dentro do horizonte de trabalho fi-xado pela empresa contratante. Consequentemente, nada impede que o courier utilize o seu carro para compartilhar assentos com eventuais interessados e assim possa redu-zir seus custos de rota. No caso abordado, considera-se que o courier só tem permissão para embarcar um passageiro caso possa entrega-lo em seu destino. Adicionalmente, considera-se que o passageiro é protegido por um acordo prévio que fixa o valor má-ximo do rateio a ser cobrado. A restrição evita que o courier mantenha o passageiro embarcado de forma abusiva ou desnecessária, visando prolongar a permanência do passageiro no veículo e, consequentemente, o rateio dos custos.

Possivelmente outros exemplos de aplicação do modelo pesquisado são possíveis na área de transporte ou, eventualmente, em outras áreas. Como o problema pesqui-sado é uma variante do Caixeiro com Coleta de Prêmios (BALAS, 1989), é de solução algorítmica pelo menos tão difícil quanto o problema de substrato, um conhecido pro-blema NP-Difícil. Contudo, o modelo compartilha elementos em comum com vários outros modelos de roteamento como o Pickup Delivery (PARRAGH; DOERNER; HARTL, 2008a) pela função de embarque e desembarque e Ridesharing (AMEY; ATTANUCCI; MISHALANI, 2011) pela função de planejamento dos passageiros embarcados, repre-senta uma aplicação real para os problemas de transporte solidário. Trata-se de uma

(24)

aplicação real de difícil solução e bastante importante para a classe dos problemas de transporte solidário.

1.2

Metodologia

A metodologia de pesquisa abordou os seguintes passos:

1. Análise de modelos correlatos da literatura, para definir relações do problema alvo com outros problemas;

2. Modelagem matemática linear do novo problema, para formalizar o modelo e permitir sua solução ótima através do uso de software de solução - solvers; 3. Criação de bancos de casos testes que representassem situações típicas do

pro-blema e que não exibissem evidentes vieses estatísticos, para analisar a qualidade de métodos de solução;

4. Alcançar a solução exata dos casos do banco de instâncias e, quando a solução exata se mostrou inalcançável em tempo computacional razoável, alcançar limi-tes inferiores de casos de limi-teslimi-tes;

5. Criação de algoritmo heurísticoad hoc de solução buscando solucionar, de forma

ótima ou aproximada, cada etapa de decisão do problema, a saber: primeira etapa: rota com bônus. Segunda etapa: embarque de passageiros; como se as eta-pas fossem independentes entre si. Com essa aproximação objetivou-se alcançar boas soluções, principalmente para os problemas que deixaram de ser soluciona-dos pela abordagem exata, e examinar o grau de acoplamento existente entre a rota mais barata e os embarques ótimos.

6. Criação, parametrização e teste estatístico de algoritmos meta-heurísticos de so-lução, para estabelecer melhores soluções aproximativas do problema;

7. Análise dos resultados, para avaliar a eficiência e a eficácia dos métodos de solu-ção desenvolvidos.

1.3

Objetivos

(25)

• Objetivo geral

– Apresentar e formalizar a variante PCV-MPQ, desenvolvendo métodos de solução para o modelo.

• Objetivos específicos

– Exibir um modelo de Programação Matemática Linear para formalizar o PCV-MPQ;

– Construir o banco de casos de testes;

– Validar e avaliar a eficácia e a eficiência dos métodos de solução a partir de análises quantitativas e qualitativas.

1.4

Contribuições

Dentre as contribuições do presente trabalho, destacam-se as que se segue:

1. A formalização do problema.

2. Uma linearização de modelo matemático quadrático.

3. Um banco de casos de testes com 216 instâncias para o problema. 4. A solução exata do modelo linear proposto.

5. Um método de solução heurísticoad hoc que decompõe a tomada de decisão do

problema, definindo a rota e depois o embarque do veículo. 6. Nove algoritmos meta-heurísticos de solução.

7. Um experimento estatístico de validação e aferição de eficiência e eficácia dos algoritmos.

8. A publicação do seguinte artigo:

(a) CARVALHO, A. V.; GOLDBARG, M. C.; GOLDBARG, E. F. G. O PROBLEMA DO CAIXEIRO VIAJANTE COM MÚLTIPLOS PASSAGEIROS E QUOTA. In:

(26)

1.5

Organização do trabalho

O presente trabalho está estruturado da seguinte maneira. No capítulo 2 contextu-aliza, descreve e formaliza o problema alvo. No capítulo 3 apresenta o subproblema do PCV-MPQ e um método de solução para resolvê-lo. No capítulo 4 aborda um método heurístico e nove métodos meta-heurísticos de solução para o PCV-MPQ. No capítulo 5 apresenta experimentos e análises computacionais. E por fim, no capítulo 6 aborda as considerações finais e propõe trabalhos futuros.

(27)

2

PCV-MPQ

Este capítulo tem o objetivo de contextualizar o problema alvo na seção 2.1 a partir de problemas relacionados, descrever o problema alvo na seção 2.2 mostrando sua relação com outros problemas da literatura, e apresentar a formalização na seção 2.3 e conceitos na seção 2.4.

2.1

Contextualização do PCV-MPQ no estado da arte

2.1.1

O Problema do Caixeiro Viajante

O problema abordado na presente pesquisa tem por base o conhecido modelo do Problema do Caixeiro Viajante (PCV) (FLOOD, 1956), que possui significativa re-lação com outros modelos (LAPORTE; ASEF-VAZIRI; SRISKANDARAJAH, 1996). O PCV é NP-difícil (KARP, 1975) e um dos problemas de Otimização Combinatória mais citados na literatura, tanto por sua extensa aplicação prática como no roteamento de veículos, perfuração de placas de circuito (MATAI; SINGH; MITTAL, 2010) e outras, como por sua dificuldade de solução algorítmica.

Dentre os métodos de solução aproximativos para o PCV, destacam-se a heurís-tica 2-opt (CROES, 1958), heurísheurís-tica 3-opt, heurísheurís-tica Lin-Kernighan (LIN; KERNIGHAN, 1973), Otimizações por Colônia de Formiga, Algoritmos Genéticos, e entre outros. Va-riantes principais do PCV são descritas em (GOLDBARG; GOLDBARG; LUNA, 2017).

Dado um grafo G = (N, M) onde N = {1, ..., n} é um conjunto de vértices ou

lo-calidades de uma rede e M = {1, ..., m} um conjunto de arestas ou estradas que ligam as localidades da rede, o problema consiste em definir a rota de menor custo que li-gue todas as localidades, considerando que o caixeiro motorista do veículo visite cada localidade uma única vez. A cada aresta (i, j) ∈ M está associado um custo, cij, que

representa o custo do deslocamento da localidadei para a j, e uma variável binária xij,

(28)

é utilizada e 0, caso contrário. Com base nestas informações, temos na seção 2.1.1.1 o modelo matemático linear do PCV, proposto por (DANTZIG; FULKERSON; JOHNSON, 1954). 2.1.1.1 Modelo do PCV Minimizar: Z = X i∈N X j∈N \{i} cijxij (2.1) Sujeito à: X j∈N \{i} xij= 1 i = 1, . . . , n (2.2) X i∈N \{j} xij= 1 j = 1, . . . , n (2.3) X i∈S X j∈S\{i} xij≤ |S| − 1S ⊂ N , S , ∅ (2.4) xij∈ {0, 1} i, j = 1, . . . , n, i , j (2.5)

A função objetivo expressa na equação (2.1) realiza o cálculo do custo do percurso do caixeiro. As restrições (2.2) e (2.3) garantem que toda localidade da rede, o caixeiro chega apenas uma vez na localidade e sai apenas uma vez da localidade. A restrição (2.4) assegura a formação de uma única rota que visita todas as localidades da rede uma única vez.

2.1.2

O Problema do Caixeiro Viajante com Quota

O modelo pesquisado neste trabalho também compartilha elementos com o conhe-cido problema do Caixeiro Viajante com Coleta de Prêmios (PCV-CP), variante do PCV (BALAS, 1989). Nesse tradicional problema o caixeiro não é obrigado a visitar todas as localidades da rede.

(29)

vérti-ces ou localidades de uma rede e M = {1, ..., m} um conjunto de arestas ou estradas que ligam as localidades da rede, o objetivo do problema é minimizar uma função objetivo constituída pelo custo da rota afetado por penalidades associadas ao não atendimento eventual de localidades. A cada aresta(i,j) ∈ M está associado um custo, cij, que

repre-senta o custo do deslocamento da localidadei para a j, e uma variável binária xij, que

representa a utilização da aresta(i,j) pelo caixeiro e terá valor 1 se a aresta (i,j) é

uti-lizada e 0, caso contrário. A cada localidadei ∈ N está associado uma penalidade pi, e

uma variável binária yi, que representa a visita do caixeiro na localidadei, e terá valor

1 se a localidadei é visitada e 0, caso contrário. Com base nestas informações, temos a

seguir a formulação matemática do PCV-CP, proposta por (FEILLET; DEJAX; GENDREAU, 2005). Minimizar: Z = X (i, j)∈M cijxij− X i∈N piyi (2.6) Sujeito à: X j∈N \{i} xij= yi (i ∈ N ) (2.7) X i∈N \{j} xij= yj (j ∈ N ) (2.8)

restrições de eliminação de subciclo (2.9)

y1= 1 (2.10)

xij ∈ {0, 1} ((i, j) ∈ M) (2.11)

yi ∈ {0, 1} (i ∈ N ) (2.12)

A função objetivo expressa na equação (2.6) realiza o cálculo do custo do percurso do caixeiro. As restrições (2.7) e (2.8) são as restrições de atribuição de localidade no percurso do caixeiro. As restrições (2.9) asseguram a formação de um único ciclo na solução. Diferentes restrições para as restrições (2.9) são apresentadas em (FEILLET; DEJAX; GENDREAU, 2005).

O problema pode ou não conter uma restrição de coleta mínima de bônus. Quando o modelo contém somente uma restrição de coleta de bônus distribuídos nos vértices

(30)

potencialmente visitáveis e não considera penalidades para os vértices não visitados, o modelo é denominado Caixeiro Viajante com Cotas ( PCV-Q ), modelo introduzido por (AWERBUCH et al., 1998). Sendo assim, para termos a formulação PCV-Q, precisa-ríamos realizar na formulação PCV-CP apresentada, o que se segue, mudar a restrição (2.6) pela restrição (2.13), e acrescentar a restrição (2.14), na qualq representa o valor

mínimo de bônus a ser coletado.

Z = X (i, j)∈M cijxij (2.13) X i∈N piyiq (j ∈ N ) (2.14)

O modelo do PCV com Quota é pouco visitado na literatura, destacando-se os tra-balhos de (AUSIELLO et al., 2004) que relatam um algoritmo para o On-Line Quota Tra-veling Salesman Problem. Em (YU; LIU; BAO, 2014) é relatado algoritmos exatos para variantes online desse problema.

Uma estruturação sistemática dos problemas de coleta de prêmios é encontrada em (GOLDBARG; GOLDBARG, 2012) que propõem uma classificação dos problemas dessa classe em cinco diferentes grupos. No trabalho (JOZEFOWIEZ; GLOVER; LAGUNA, 2008), é apresentado uma versão multiobjetivo do problema, que trata da otimização de dois objetivos conflitantes: a minimização do tamanho da rota e a maximização do bônus coletado.

2.1.3

O Problema do Caixeiro Viajante com Passageiros

Uma variante do PCV já examinada na literatura e que possui similaridades com o modelo da presente pesquisa, é o Problema do Caixeiro Viajante com Passageiros (PCV-P) (CALHEIROS, 2017). O PCV-P tem por característica realizar um rateio dos custos da rota entre o caixeiro e os passageiros embarcados. Trata-se de um modelo que aborda o problema do transporte solidário. Além do rateio, o modelo caracteriza-se por atender restrições de rota e de custos impostas pelos passageiros. O objetivo é minimizar as despesas do caixeiro, através de embarques de passageiros. Em (CALHEIROS, 2017) são apresentados algoritmos evolucionários (Genético e Memético) e construtivos (ACO e GRASP) de solução para o PCV-P.

O PCV-P é definido por um grafo G = (N, M) e um conjunto de passageiros P =

(31)

M = {1, ..., m} um conjunto de arestas ou estradas que ligam as localidades da rede. A

cada p ∈ P , estão associados uma origem, org(p), de modo que todo vértice possua exa-tamente um único passageiro, um destino,dst(p), org(p) , dst(p), e um recurso máximo, trf(p), que p está disposto a pagar para realizar sua viagem no veículo do caixeiro. A

cada aresta (i, j) ∈ M está associado um custo, cij, que é dividido igualmente com todos

os ocupantes do veículo e representa o custo do deslocamento da localidadei para a j.

Com base nestas informações, temos na seção 2.1.3.1 o modelo matemático quadrático do PCV-P, proposto por (CALHEIROS, 2017). O modelo é capacitado, de forma que o veículo do caixeiro não pode embarcar mais passageiros que sua capacidade máxima declarada.

Definição das variáveis e parâmetros do modelo do PCV-P:

• xij: variável binária que representa a utilização da aresta(i,j) pelo caixeiro e terá

valor 1 se a aresta(i,j) é utilizada e 0, caso contrário;

• vpij : variável binária que representa o transporte do passageiro p pela aresta(i,j)

e terá valor 1 se o passageirop é transportado pela aresta (i,j) e 0, caso contrário;

• ui : variável inteira que representa a ordem do vérticei na rota do caixeiro;

K : parâmetro inteiro que representa a capacidade máxima de passageiro no

veí-culo do caixeiro. 2.1.3.1 Modelo quadrático do PCV-P Minimizar: Z = X 1≤i, j≤n cijxij 1 +Pn p=1vpij (2.15) Sujeito à: n X j=1 xij= 1 (1 ≤ i ≤ n) (2.16) n X j=1 xji= 1 (1 ≤ i ≤ n) (2.17) uiuj+ 1 ≤ n(1 − xij) (2 ≤ i, j ≤ n) (2.18)

(32)

n X p=1 vpijKxij (1 ≤ i, j ≤ n) (2.19) n X i=1 vpir + n X i=1 vp1i= 0 (1 ≤ p ≤ n | r = org (p) , r , 1) (2.20) n X i=1 vpsi+ n X i=1 vpi1= 0 (1 ≤ p ≤ n | s = dst (p) , s , 1) (2.21) n X j=1 vpij= n X j=1 vpji (1 ≤ i, p ≤ n | i , org (p) , i , dst(p)) (2.22) X 1≤i, j≤n cijvpij 1 +Pn p=1vlijt (1 ≤ p ≤ n | t = trf (p)) (2.23) xij, vpij ∈ {0, 1} (1 ≤ i, j, p ≤ n) (2.24) ui ∈ R+ (2 ≤ i ≤ n) (2.25)

A função objetivo expressa na equação (2.15) realiza o cálculo do custo total da rota, dividindo os custos com os ocupantes do veículo, incluindo o caixeiro. As restri-ções (2.16) e (2.17) garantem que todo vértice visitado pelo caixeiro terá uma aresta de entrada e uma aresta de saída. A restrição (2.18) é a contribuição de (MILLER; TUCKER; ZEMLIN, 1960) para o PCV, utilizada para impedir a criação de subciclo na solução. A restrição (2.19) estabelece que a capacidade máxima de passageiros do veículo não será ultrapassada. A restrição (2.20) assegura que todo passageiro embarcado, com origem diferente da localidade 1, não retornará a sua cidade de origem e não embarcará na localidade 1. A restrição (2.21) garante que todo passageiro embarcado, com destino diferente da localidade 1, não embarcará na sua localidade de destino e não desem-barcará na localidade 1. A restrição (2.22) assegura que o passageiro embarcado será desembarcado na sua localidade de destino. A restrição (2.23) garante que os passagei-ros embarcados não pagaram mais que seu recurso máximo.

A linearização do modelo descrito nesta seção é apresentada em (CALHEIROS, 2017).

2.1.4

O Problema do Caixeiro Viajante com Passageiros e Quota

Um problema derivado da união do modelo do PCV-P ao PCV-Q, que possui se-melhança com o problema alvo da pesquisa, é o Problema do Caixeiro Viajante com Passageiros e Quota (PCV-PQ) (SILVA, 2017). O modelo do problema visa minimizar o custo da rota considerando o ganho do compartilhamento de despesas proposto no

(33)

PCV-P, mas tendo que cumprir uma restrição de coleta do bônus mínimo conforme o do PCV-Q. O PCV-PQ consiste em desenvolver uma solução do PCV-Q, levando em consideração que o caixeiro pode compartilhar os assentos do veículo com passageiros que podem embarcar e desembarcar em localidades da sua rota. Como um modelo de coleta de bônus, o caixeiro não é obrigado a visitar todas as localidades. Como um mo-delo de coleta de passageiros, o caixeiro não é obrigado a embarcar passageiros. O cai-xeiro e os passageiros não levam em consideração o tempo de viagem, a permanência nas localidades ou a quantidade de localidades visitadas. Em (SILVA, 2017) são apre-sentados três algoritmos Genético, três algoritmos Memético, um algoritmo GRASP e um algoritmo heurístico de solução para o problema.

O PCV-PQ é definido por um grafo G = (N, M, B) e um conjunto de passageiros P = {1, ..., n}, onde N = {1, ..., n} é um conjunto de vértices ou localidades de uma rede, M = {1, ..., m} um conjunto de arestas ou estradas que ligam as localidades da rede

e B = {b1, ..., bn} um conjunto de bônus associado à cada localidade, considerando-se

bs = 0, ondes é a localidade em que o caixeiro inicia e finaliza seu percurso. O bônus é

coletado no momento da visita. A cada p ∈ P , estão associados uma origem, op, de modo que todo vértice possua exatamente um único passageiro, um destino, dp, op, dp, e um

recurso máximo, wp, quep está disposto a pagar para realizar sua viagem no veículo do

caixeiro. A cada aresta (i, j) ∈ M está associado um custo, cij, que é dividido igualmente

com todos os ocupantes do veículo e representa o custo do deslocamento da localidade

i para a j. Com base nestas informações, temos na seção 2.1.4.1 o modelo matemático

quadrático do PCV-PQ proposto por (SILVA, 2017).

Definição das variáveis e parâmetros do modelo do PCV-PQ:

• xij: variável binária que representa a utilização da aresta(i,j) pelo caixeiro e terá

valor 1 se a aresta(i,j) é utilizada e 0, caso contrário;

• vijp : variável binária que representa o transporte do passageirop pela aresta (i,j)

e terá valor 1 se o passageirop é transportado pela aresta (i,j) e 0, caso contrário;

• ui : variável inteira que representa a ordem do vérticei na rota do caixeiro;

Q : parâmetro real que representa a quota mínima de bônus, que o caixeiro

pre-cisa coletar.

K : parâmetro inteiro que representa a capacidade máxima de passageiro no

(34)

2.1.4.1 Modelo quadrático do PCV-PQ Minimizar: Z = X (i,j)∈M xijcij P p∈Pv p ij+ 1 (2.26) Sujeito à: X i∈N \{j} xij≤1 ∀j ∈ N \{s} (2.27) X i∈N \{j} xji≤1 ∀j ∈ N \{s} (2.28) X i∈N \{s} xsi= 1 (2.29) X i∈N \{s} xis= 1 (2.30) X i∈N \{j} xij− X i∈N \{j} xji= 0 ∀j ∈ N \{s} (2.31) uiuj+ (n − 1) xijn − 2 2 ≤ i, j ≤ n, i , j (2.32) X (i, j) ∈ M i , j bixijQ (2.33) X p∈P vijpKxij(i, j) ∈ M, i , j (2.34) X (i,j)∈M vijpcij P p∈Pv p ij+ 1 −wp0p ∈ P (2.35) X j∈N \{i} vjip − X j∈N \{i} vijp = 0 ∀p ∈ P , i ∈ N \{op, dp} (2.36) X i∈N \{op} viopp = 0 ∀p ∈ P (2.37) X i∈N \{dp} vdp pi = 0 ∀p ∈ P (2.38) X i∈N \{s} vsip = 0 ∀p ∈ P , op, s (2.39)

(35)

1 ≤ uin − 1 2 ≤ i ≤ n (2.40)

vijp ∈ {0, 1}(i, j) ∈ M (2.41)

xij ∈ {0, 1}(i, j) ∈ M (2.42)

cij ∈ R+ ∀(i, j) ∈ M (2.43)

A função objetivo expressa em (2.26) realiza o cálculo do custo do percurso di-vidindo igualmente com todos os ocupantes do veículo, visando minimizar o custo total do caixeiro. As restrições (2.27) e (2.28) estabelecem as condições necessárias de formação de uma única rota considerando um subconjunto de localidades de N. As

restrições (2.29) e (2.30) garantem o início e o término da rota no vértice origem. A restrição (2.31) obriga que qualquer vértice visitado pelo caixeiro possua uma aresta de entrada e uma de saída. A restrição (2.32) assegura a formação de um único ciclo na solução (MILLER; TUCKER; ZEMLIN, 1960). A restrição (2.33) obriga a coleta da quota mínima de bônusQ. A restrição (2.34) garante que a capacidade máxima do veículo, K, não será ultrapassada. A restrição (2.35) assegura que a despesa total de cada

pas-sageiro p ∈ P não ultrapasse wp. A restrição (2.36) garante que os passageiros em fluxo

continuarão em fluxo exceto no destino e origem. As restrições (2.37) e (2.38) garantem que os passageiros não são embarcados antes do vértice de embarque ou que perma-neçam no veículo após o caixeiro visitar o vértice de destino do passageiro. A restrição (2.39) proíbe o embarque de qualquer passageiro ems, se ele não tiver origem em s. As

restrições de (2.40) a (2.43) definem os limites e a natureza das variáveis de decisão.

2.1.5

O Problema do Caixeiro Viajante com Passageiros e Lotação

Outro problema que possui similaridade com o problema alvo da pesquisa é o Problema do Caixeiro Viajante com Passageiros e Lotação (PCV-PL) (BASTOS, 2017). O PL inclui na característica do compartilhamento dos assentos do veículo do PCV-P, eventuais descontos decorrentes dehigh-occupancy toll lanes, ou hov, que são faixas

de transito, que isentam veículos com ocupação acima de um determinado limite, do pagamento de pedágio. Trata-se de um problema que causa implicações diretas sobre o uso do espaço urbano. As faixas hov são incentivos de governo para redução do trafego de veículos em áreas com incidência de congestionamento. O caixeiro neste problema, é beneficiado pela divisão das despesas com os passageiros e pelos descontos das faixas

hov. No trabalho (BASTOS, 2017), é apresentado para o PCV-PL, um algoritmo branch-and-bound e cinco algoritmos baseados nas heurísticas, Simulated Annealing, Variable

(36)

Neighborhood Search, Colônia de Abelhas e Algoritmo Genético.

Dado um grafo G = (N , M) onde N = {1, ..., n} é um conjunto de vértices ou loca-lidades de uma rede e M = {1, ..., m} um conjunto de arestas ou estradas que ligam as localidades da rede, um grafo esparso W = (N , M0), onde M0 é o conjunto de arestas ou estradashov que possuem isenção de pagamento de pedágio, e um conjunto de

pas-sageiros L = {1, ..., n}, o objetivo do problema é encontrar a rota de custo mínimo PCV, considerando que o caixeiro pode compartilhar os assentos do veículo com passagei-ros, e adicionalmente, beneficie-se com as faixas de trânsito hov. A cada passageiro l ∈ L, estão associados uma origem, Pl, de modo que todo vértice possua exatamente

um único passageiro, um destino, Ql, Pl , Ql, e um recurso máximo, tl, quel está

dis-posto a pagar para realizar sua viagem no veículo do caixeiro. A cada aresta (i, j) ∈ M está associado um custo, cij, que é dividido igualmente com todos os ocupantes do

veículo e representa o custo do deslocamento da localidade i para a j. A cada aresta

(i, j) ∈ M0 está associado um custo, wij, que será adicionado ao custo total do caixeiro

se o deslocamento da localidadei para a j for utilizado com o veículo não lotado e 0,

caso contrário. Com base nestas informações, temos na seção 2.1.5.1 o modelo mate-mático quadrático do PCV-PL proposto por (BASTOS, 2017).

Definição das variáveis e parâmetros do modelo do PCV-PL:

• xij: variável binária que representa a utilização da aresta (i, j) pelo caixeiro e terá

valor 1 se a aresta (i, j) é utilizada e 0, caso contrário;

• φij : variável binária que representa a utilização da aresta (i, j) pelo caixeiro com

o veículo lotado e terá valor 1 se a aresta (i, j) é utilizada com o veículo lotado e 0, caso contrário;

• vijl : variável binária que representa o transporte do passageiro l pela aresta (i, j) e terá valor 1 se o passageiro l é transportado pela aresta (i, j) e 0, caso contrário; • ui : variável inteira que representa a ordem do vértice i na rota do caixeiro;

• C : parâmetro inteiro que representa a capacidade máxima de passageiro no veí-culo do caixeiro.

2.1.5.1 Modelo quadrático do PCV-PL Minimizar:

(37)

Z = X i,j∈N cijxij P l∈Lvijl + 1 + ϕijwijxij (2.44) Sujeito à: n X j=1 xij= 1 ∀i ∈ N (2.45) n X j=1 xji= 1 ∀i ∈ N (2.46) u1= 1 (2.47) uiuj+ 1 ≤ (n − 1)(1 − xij) i , j, ∀i, j ∈ N \{1} (2.48) n X l=1 vijlCxij0 i , j, ∀i, j ∈ N (2.49) n X i=1 n X j = 1 j , i vlijcij Pn k=1vijk + 1 −tl0l ∈ L (2.50) ϕij= 1 −          Pn l=1vijl + 1 C + 1          i , j, ∀i, j ∈ N (2.51) n X j = 1 j , i vijln X j = 1 j , i vjil = 0 i , l, i , Ql, ∀i ∈ N , ∀l ∈ L (2.52) n X i = 1 i , l vill + n X i = 1 i , Ql vlQli = 0 ∀l ∈ L (2.53) n X i=2 v1il = 0 ∀l ∈ L\{1} (2.54) xij ∈ {0, 1}i, j ∈ N (2.55) uiN \{1}i ∈ N \{1} (2.56) vijl ∈ {0, 1}i, j ∈ N (2.57) ϕij∈ {0, 1}i, j ∈ N (2.58)

(38)

A função objetivo expressa na equação (2.44) realiza o cálculo do custo total do per-curso do caixeiro dividindo os custos com os ocupantes do carro. As restrições (2.45) e (2.46) garantem que as cidades serão visitadas uma única vez. As restrições (2.47) e (2.48) é a contribuição de (MILLER; TUCKER; ZEMLIN, 1960) para o PCV, utilizada para impedir a criação de subciclo na solução. A restrição (2.49) assegura que a capacidade máxima de passageiros no veículo não será ultrapassada. A restrição (2.50) garante que os passageiros embarcado não irão pagar mais que seu recurso máximo. A restri-ção (2.51) assegura que o pedágio das estradas utilizadas pelo caixeiro seja cobrado sempre que o carro não esteja lotado. A restrição (2.52) garante que todos os passagei-ros embarcados sejam desembarcados. A restrição (2.53) assegura que todo passageiro embarcado será desembarcado em sua localidade de destino. A restrição (2.54) garante que todo passageiro com origem diferente localidade 1, não será embarcado na locali-dade 1.

2.1.6

O Problema do Passeio Lucrativo com Passageiros e Restrições

de Tempo e Custo

O Problema do Passeio Lucrativo com Passageiros e Restrições de Tempo e Custo (PPL-PRTC) (PETCH, 2018) é um problema recente que possui características simila-res as do problema alvo da pesquisa. O PPL-PRTC possui a característica da divisão dos custos do motorista do veículo com passageiros vista no PCV-P e dos eventuais descontos decorrentes da alta ocupação do veículo do motorista vista no PCV-PL. No problema o motorista realiza serviços de entrega e coleta em uma cidade e aproveita para compartilhar os assentos do veículo com passageiros que solicitam carona na sua rota. Todo serviço de coleta ou entrega realizado pelo motorista resulta em um paga-mento (bônus), e um gasto de tempo na entrega. O motorista é livre para escolher as localidades a visitar, os passageiros a embarcar e os serviços a realizar, e é restrito em realizar apenas uma entrega ou coleta em cada localidade visitada. O motorista pode visitar uma localidade e não realizar serviço, no qual gastaria tempo. Para o moto-rista realizar embarque de passageiro, primeiramente, o veículo terá que ter assento livre, segundo, o passageiro terá que estar disponível para embarque, e terceiro, terá de concordar com a localidade de desembarque e o recurso máximo a ser gasto com o transporte definidos pelo passageiro. O custo total da rota do motorista é composto pelo custo da rota dividido com os ocupantes do veículo e pelo custo do pedágio, am-bos definidos para cada trecho da rota. O objetivo do problema é encontrar a melhor rota, serviços e embarques que proporcionem o maior lucro possível para um

(39)

moto-rista. Algoritmo exato de solução, e algoritmos meta-heurísticos (VNS, GRASP, Gené-tico, MeméGené-tico, TransgenéGené-tico, ACO e uma hibridização do Memético com VNS) de aproximação de solução são propostos em (PETCH, 2018) para o PPL-PRTC.

O PPL-PRTC é definido por um grafo G = (V , E), um conjunto de passageiros P = {1, ..., p} e um conjunto de pedágios O = {1, ..., m}, onde V = {1, ..., n} é um conjunto de vértices ou localidades de uma cidade e E = {1, ..., m} é um conjunto de arestas ou estradas que ligam as localidades da cidade. A cada localidade i ∈ V , estão associados um bônus, dv, que representa o ganho pelo serviço realizado na localidade e um tempo,

sv, que representa o tempo para realizar o serviço na localidade. A cada p ∈ P , estão

associados uma origem, sp, um destino, ep, sp , ep, um recurso máximo, rp, quep está

disposto a pagar para realizar sua viagem no veículo do motorista, e uma janela de tempo, [lp, np], que representa o intervalo de tempo quep estar solicitando embarque.

A cada aresta (i, j) ∈ E estão associados um custo, cij, que é dividido igualmente com

todos os ocupantes do veículo e representa o custo do deslocamento da localidade i

para a j, um tempo, tij, que representa o tempo de travessia da localidade i para a

j, e um valor de pedágio, oijk, que será adicionado ao custo total do motorista se no

deslocamento da localidade i para a j o veículo tiver k passageiros. Com base nestas

informações, temos na seção 2.1.6.1 o modelo matemático quadrático do PPL-PRTC proposto por (PETCH, 2018).

Definição das variáveis e parâmetros do modelo do PPL-PRTC:

• xij : variável binária que representa a utilização da aresta(i,j) pelo motorista e

terá valor 1 se a aresta(i,j) é utilizada e 0, caso contrário;

• yi : variável binária que representa a visita do motorista na localidade i e terá

valor 1 se a localidadei é visitada e 0, caso contrário;

• zi : variável binária que representa a coleta do bônus da localidadei e terá valor

1 se o bônus é coletado e 0, caso contrário;

• vijk : variável binária que representa o transporte do passageiroi pela aresta (j,k)

e terá valor 1 se o passageiroi é transportado pela aresta (j,k) e 0, caso contrário;

• fij : variável real que representa a quantidade de tempo gasto até a aresta (i,j)

desde o vértice inicial;

(40)

• qijk : variável binária que representa a utilização da aresta (i,j) pelo motorista

com o veículo contendo k passageiros e terá valor 1 se a aresta (i,j) é utilizada

com o veículo contendok passageiros e 0, caso contrário;

K : parâmetro inteiro que representa a capacidade máxima de passageiro no

veí-culo do motorista;

C : constante grande o suficiente, que deve ser maior do que o maior tempo gasto

de todas as arestas do grafo.

2.1.6.1 Modelo quadrático do PPL-PRTC Minimizar: Z = X i∈V dizi− X i∈V X j∈V \{i} xi,jci,j 1 +P k∈P vk,i,j −X i∈V X j∈V \{i} X k∈K

qi,j,kxi,joi,j,k (2.59)

Sujeito à: X j∈V \{i} xi,j= yii ∈ V (2.60) X j∈V \{i} xj,i= yii ∈ V (2.61) X j∈V \{1} f1,i= X j∈V \{1} x1,jt1,j (2.62) X j∈V \{1} fj,1= X i∈V X j∈V \{i} xi,jti,j+ X i∈V \{1} zisi (2.63) X j∈V \{i} fi,j= X j∈V \{i} fj,i + X i∈V \{i} xi,jti,j+ zisii ∈ V \{1} (2.64) Cxi,jfi,ji, j ∈ V (2.65) X j ∈ V \{sp} vp,j,sp+ X j ∈ V \{ep} vp,ep,j = 0 ∀p ∈ P (2.66) X j ∈ V \{i} vp,j,i− X j ∈ V \{i} vp,i,j = 0 ∀p ∈ P , i ∈ V \{sp, ep} (2.67)

(41)

X p ∈ P vp,i,jKxi,ji, j ∈ V (2.68) X j∈V \{1} vp,1,i+ X j∈V \{1} vp,j,1= 0 ∀p ∈ P , sp , 1, ep, 1 (2.69) X i∈V X j∈V \{i} ci,jvp,i,j 1 +P k∈Pvk,i,jrkp ∈ P (2.70) b1= 0 (2.71) X i∈V \{j} fi,j = bjj ∈ V \{1} (2.72) bsklk X j∈V \{sp} vp,sp,jp ∈ P (2.73) bsknk+ C(1 − X j∈V {sp} vp,sp,j) ∀p ∈ P (2.74) z1= 0 (2.75) z1≤y1 ∀i ∈ V \{1} (2.76) X k∈K=0 qi,j,k = 1 ∀i, j ∈ V (2.77) X k∈K kqi,j,k =X k∈P vi,j,ki, j ∈ V (2.78) xi,j∈ {0, 1}i, j ∈ N (2.79) yi ∈ {0, 1}i ∈ N (2.80) zi∈ {0, 1}i ∈ N (2.81) wi,j ∈ {0, 1}i ∈ P , j ∈ V (2.82) vi,j,k ∈ {0, 1}i ∈ P , ∀j, k ∈ V (2.83) qi,j,k∈ {0, 1}i, j ∈ V , ∀k ∈ K (2.84) bi ≥0 ∀i ∈ N (2.85) fi,j≥0 ∀i, j ∈ N (2.86)

A função objetivo expressa na formula (2.59), realiza o cálculo do lucro do moto-rista. As restrições (2.60) e (2.61) garantem que toda localidade visitada pelo motorista será visitada uma única vez. As restrições (2.62), (2.63) e (2.64) asseguram o cálculo do tempo gasto pelo motorista, e adicionalmente, proíbem a formação de múltiplas

(42)

rotas. A restrição (2.65) garante que só haverá fluxo passando por um vértice caso esteja na solução. A restrição (2.66) proíbe o desembarque de passageiro na sua locali-dade de origem. A restrição (2.67) assegura que todos os passageiros embarcados serão desembarcados. A restrição (2.68) garante que a capacidade máxima de passageiros do veículo não seja ultrapassada. A restrição (2.69) assegura que as arestas utilizadas pelos passageiros serão utilizadas pelo motorista. A restrição (2.70) garante que todo passageiro embarcado não pagará mais que seu recurso máximo. A restrição (2.71) determina o tempo na localidade inicial da rota. A restrição (2.72) relaciona o tempo percorrido vinculado às arestas para um vínculo relacionado aos vértices. As restrições (2.73) e (2.74) proíbem que um passageiro seja embarcado fora da sua janela de tempo. A restrição (2.75) garante que nenhum serviço será realizado na localidade 1. A restri-ção (2.76) assegura que serviço é só realizado em localidade visitada. A restrirestri-ção (2.77) garante o pagamento de um único pedágio em cada aresta utilizada. A restrição (2.78) define o valor de qijk a partir da quantidade de passageiros na aresta. A linearização

do modelo descrito nesta seção é apresentada em (PETCH, 2018).

2.1.7

Conexões do PCV-MPQ com outros problemas de roteamento

O PCV-MPQ possui características que são visíveis em problemas da classe de pro-blemas denominada de Ridesharing (AMEY; ATTANUCCI; MISHALANI, 2011), em proble-mas de Carpooling e em modelos denominados de Pickup and Delivery (PARRAGH; DOERNER; HARTL, 2008a).

2.1.7.1 Conexões do PCV-MPQ com o Ridesharing

A classe de problemas Ridesharing pode ser definida de uma forma geral como o problema de reunir duas ou mais pessoas para compartilhar uma única viagem em um veículo, sem levar em conta um acordo prévio ou um histórico de cooperação (DAILEY; LOSEFF; MEYERS, 1999). Nesse sentido geral, o PCV-MPQ poderia ser classificado como um problema de Ridesharing.

O Ridesharing basicamente é um modelo de lotação de veículo para uma dada via-gem previamente definida pelo motorista, no qual os viajantes compartilham os custos da viajem, como combustível, pedágio e taxas de estacionamentos. Ridesharing é uma viagem conjunta de pelo menos dois participantes que compartilham um veículo. Nor-malmente o transporte é feito por veículos privados, os quais dão maior conforto e segurança. Outras implicações são possíveis além da lotação de veículo, com impactos

(43)

em áreas como transportes, economia e ciências sociais (KLEINER; NEBEL; ZIPARO, 2011). O Ridesharing, é omisso na literatura presente, nos casos onde o embarque e de-sembarque de passageiros é muito constante. Mas ao passar do tempo, estar se tor-nando mais flexível, chegando a considerar serviço de taxi ou transporte personalizado que segue um trajeto com condições previamente definidas (CHAN; SHAHEEN, 2012).

O sistema Ridesharing pode combinar a flexibilidade e a velocidade dos carros particulares com o custo reduzido dos sistemas de linha fixa (FURUHATA et al., 2013). Vários incentivos podem ser oferecidos pelo setor público, como exemplo, desconto de licenciamento e pedágio.

Os benefícios do Ridesharing incluem, custos reduzidos de viagem, menos conges-tionamento de trânsito e menos poluição ambiental. A poluição dos veículos é uma das principais fontes de emissões de gases, e uma das causas das alterações climáticas globais.

Mesmo os Ridesharing podendo oferecer uma grande quantidade de benefícios, há uma série de desafios que restringiram sua adoção generalizada. A privacidade e a responsabilidade legal do serviço são umas das preocupações dos participantes dos sistemas Ridesharing (FURUHATA et al., 2013). A segurança pessoal é também uma preo-cupação quando compartilha uma viagem com estranhos. Em (LEIBSON; PENNER, 1994) são identificados possíveis riscos nos programas tradicionais Ridesharing.

Para (AMEY; ATTANUCCI; MISHALANI, 2011), um sistema Ridesharing de sucesso, re-duziria as emissões, o consumo de combustível, os custos de estacionamento, o conges-tionamento durante os períodos de pico de viagem, forneceria um modo alternativo e confiável para os viajantes e promoveria uma maior igualdade no transporte. Para os viajantes, os principais benefícios incluem diminuição do tempo de viagem e diminui-ção dos custos (combustível e estacionamento).

Algumas estratégias de adoção do Ridesharing: sistemas de Vanpooling, pistas HOV (high-occupancy vehicle), Carpooling casuais e instalações de Park-and-Ride (CHAN; SHAHEEN, 2012). Os telefones com GPS, as redes sociais e a internet, são também im-portantes. Os telefones com GPS ajudam a rastrear a localização dos viajantes com o objetivo de atender melhor a solicitação de novos viajantes no serviço. As redes sociais ajudam a estabelecer confiança entre os viajantes.

O Ridesharing é promovido por muitas agências e empresas públicas. Um exem-plo é o clube online NuRide, que recompensa com pontos, quando viajantes utilizam

(44)

o transporte público, andam de bicicleta ou trabalham remotamente. Estes pontos po-dem ser utilizados para cupons de restaurante, descontos em compras, e ingressos para atrações. Outro exemplo é o serviço PickupPal, promovido por uma empresa que uti-liza redes sociais para combinar viagens. A utiuti-lização de redes sociais pode limitar o compartilhamento de viagens, com viajantes menos experientes em tecnologia. Algu-mas empresas não cobram pelo serviço e não compensam os que oferecem viagens, já em outras empresas é realizado a cobrança pelo serviço e a compensação dos que oferecem viagens. O Ridesharing também é promovido por operadores de serviço, que normalmente utilizam seus carros próprios e motoristas, por exemplo, para disponibi-lizar transporte para aeroportos (FURUHATA et al., 2013). Nestes Ridesharing oferecidos por operadores de serviço, normalmente as decisões são tomadas pelos operadores e os passageiros simplesmente decidem se aceitam ou não, mas normalmente os locais de embarque e desembarque são ajustados para os passageiros.

O problema básico de Ridesharing é um problema de atribuição, em que cada pas-sageiro só pode combinar com um motorista e vice e versa. Este problema é NP-hard, e pode ser expandido para múltiplos passageiros e múltiplos motoristas (NOURINEJAD, 2014).

Alguns problemas Ridesharing são considerados problemas estáticos. Os estáticos assumem que o serviço possui todas as informações de todos os pedidos de viagem dos passageiros. Portanto estes problemas são, mais apropriados para serviços em que todas as solicitações de viagens são conhecidas previamente.

Dentre as versões Ridesharing existentes, a conhecida como "real-time"(GRUEBELE, 2008) ou "dinâmica"(DEAKIN; FRICK; SHIVELY, 2010) está se destacando atualmente e ganhando cada vez mais espaço.

O Ridesharing dinâmico é um novo tipo de problema Ridesharing originado com o aumento do uso dos telefones inteligentes, que torna possível compartilhar viagens em um curto prazo (DOERNER; SALAZAR-GONZÁLEZ, 2014). Neste tipo de problema os passageiros buscam um veículo em tempo real, sem planejamento prévio. O uso de tecnologia, por exemplo GPS e web, é fundamental para o estabelecimento das viagens em um curto prazo, bem como para auxiliar nos valores e formas de pagamento.

Os sistemas Ridesharing dinâmicos, executam modelos dinâmicos várias vezes du-rante seu funcionamento, diferentemente dos sistemas Ridesharing estáticos. A cada execução do modelo o sistema considera os viajantes que estão no sistema e os que estão aguardando confirmação de transporte pelo sistema. A todo momento de

(45)

execu-ção do sistema, novos viajantes estão sendo inseridos e removidos no sistema. Esses sistemas são de natureza dinâmica, já que os usuários noticiam sua participação em momentos de execução específicos do sistema (NOURINEJAD, 2014).

Muitos sistemas Ridesharing dinâmicos incluem recursos extras, como exemplo: armazenamento do perfil do usuário, integração com redes sociais, avaliação dos vi-ajantes, transações financeiras automatizadas, incentivos e recompensas (AMEY; ATTA-NUCCI; MISHALANI, 2011). Em alguns sistemas há a integração com informações de ou-tros sistemas não Ridesharing, como exemplo, informações de ônibus, que podem ser utilizadas pelo viajante quando uma viagem Ridesharing não poder ser estabelecida.

Os serviços Ridesharing dinâmicos oferecem uma maior flexibilidade para os via-jantes encontrarem ou disponibilizarem viagens compartilhadas, permitindo-lhes su-perar muitos desafios encontrados nas versões clássicas do Ridesharing. Essa flexibi-lidade elimina a necessidade dos viajantes se comprometerem antecipadamente com um horário fixo de viagem. Normalmente o viajante precisa apenas enviar uma men-sagem que solicita ou oferece uma viajem, utilizando um telefone ou um computador, para um serviço Ridesharing dinâmico, e o sistema disponibilizará rapidamente uma viagem compartilhada se existir uma disponível. Na América do Norte muitos destes serviços utilizam softwares, por exemplo,GreenRidew e Jack Bell Ride-Share, vendidos

por empresas privadas para aproximar os viajantes. Em julho de 2011, existia aproxi-madamente 12 empresas na América do Norte oferecendo este tipo de software (CHAN; SHAHEEN, 2012). Diferentes softwares ou empresas oferecem diferentes níveis de fle-xibilidade de viagem. Desvantagens do serviço incluem preocupações relacionadas à segurança e proteção dos viajantes.

Existe também as versões Ridesharing centralizada (GHOSEIRI; HAGHANI; HAMEDI, 2011) e descentralizada (KLEINER; NEBEL; ZIPARO, 2011). O Ridesharing centralizado é pouco flexível, em situações que necessitam de trocas constantes de passageiros em um mesmo veículo.

Outra versão Ridesharing é a multiobjetivo, que tem como objetivo otimizar si-multaneamente mais de um objetivo normalmente conflitantes entre se. Uma versão Ridesharing multiobjetivo é apresentada em (HERBAWI; WEBER, 2012), nesta versão os objetivos conflitantes incluem: custo, tempo e a quantidade de motoristas.

Uma revisão abrangente de problemas Ridesharing, é apresentada em (FURUHATA et al., 2013). Este trabalho propõe padrões de problemas Ridesharing, definidos a partir de características do percurso do motorista, capacidade do veículo e quantidade de

(46)

passageiros. Outro trabalho de Ridesharing também importante é o (AGATZ et al., 2012), que oferece uma revisão abrangente de sistemas Ridesharing dinâmicos.

2.1.7.2 Conexões do PCV-MPQ com o Carpooling

Em problemas de Carpooling são visíveis conexões com o PCV-MPQ e com os pro-blemas de Ridesharing. Ridesharing normalmente inclui Carpooling. Características dos problemas Carpooling que diferencia dos problemas Ridesharing: demanda regu-lar, destinos pouco variáveis para os participantes e longo horizonte de planejamento (MORENCY, 2007).

O Carpooling pode ser definido como transporte simultâneo de duas ou mais pes-soas de um ponto de embarque comum ou nas proximidades para um ponto de de-sembarque comum ou nas proximidades. Exemplo comum de Carpooling: pessoas que trabalham em um mesmo local, moram próximas e concordam em compartilhar um veículo para ir ao trabalho. Carpooling representa um compartilhamento de veículos mais fácil e comum (CIASULLO et al., 2018). Muitos problemas do setor de viagem po-dem ser resolvidos com o Carpooling (BEN-AKIVA; ATHERTON, 1977).

Os serviços de Carpooling são disponibilizados na web e/ou em aplicativos de te-lefone para os usuários solicitarem ou disponibilizarem viagens de carro (CIASULLO et al., 2017). Alguns aplicativos permitem os usuários deixarem um feedback após a utilização do serviço, com o objetivo de reduzir a preocupação dos usuários em viajar com pessoas não conhecidas. Estes serviços visam aumentar a ocupação dos veículos de pessoas que estão partindo para o trabalho ou saindo do trabalho. O funcionamento do serviço de Carpooling é melhor em locais de trabalho onde há um grande número de pessoas chegando e saindo (DEAKIN; FRICK; SHIVELY, 2010).

Nos EUA para aumentar a utilização dos serviços de Carpooling, implantou-se muitas faixas expressas de trânsito reservadas para veículos com uma quantidade mí-nima de ocupantes (DOERNER; SALAZAR-GONZÁLEZ, 2014). Ao trafegar por essas faixas o motorista é beneficiado, com por exemplo, isenção de pagamento de pedágio.

A redução dos carros na rua, poluição, congestionamento, e de custos relacionados ao uso de veículos como por exemplo, combustível, estacionamento e pneus, são uns dos benefícios do Carpooling. O Carpooling oferece solução para muitos problemas de trânsito e ao mesmo tempo oferece muitos benefícios aos utilizadores e ao meio ambiente.

Referências

Documentos relacionados

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

Como parte do aldeído formado era transformado nos correspondentes ácido benzóico e álcool benzílico com conse­ quente queda no rendimento da reaçao, decidiu-se

Sendo assim, o Grupo A foi composto com as crianças que realizaram procedimento cirúrgico para tratamento de catarata até 06 meses de idade consideradas, em nosso estudo, de

foram realizadas: Centro Cirúrgico, Unidade de Tratamento In -. tensivo e Berçário, mostrando, de certa forma, pacientes

No Capítulo 2 são apresentados conceitos de processamento de imagens e visão computacional, operações básicas e filtros utilizados no pré-processamento a fim de melhorar a imagem

Antes disso, como estratégia para vericar se a proporção de carros a gasolina rodando na cidade é uma boa medida para representar a relação entre as concentrações de O3 e NOx ,

Para aperfeiçoar ainda mais o nosso dinâmico sistem a de controle de constitucionalidade das leis, ainda pouco meditado e menos ainda utilizado, com efeitos impactantes

Estágios da flutuação inversa com detalhes da adição de reagentes(Adaptado de Wills, 2016).. Resposta Teor As previsto versus Teor As observado. Representação das