• Nenhum resultado encontrado

Problema do caixeiro viajante com coleta opcional de bônus, tempo de coleta e passageiros

N/A
N/A
Protected

Academic year: 2021

Share "Problema do caixeiro viajante com coleta opcional de bônus, tempo de coleta e passageiros"

Copied!
95
0
0

Texto

(1)

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

Doutorado Acadêmico em Sistemas e Computação

Problema do Caixeiro Viajante com Coleta

Opcional de Bônus, Tempo de Coleta e

Passageiros

José Gomes Lopes Filho

Natal-RN Dezembro de 2019

(2)

Problema do Caixeiro Viajante com Coleta Opcional de

Bônus, Tempo de Coleta e Passageiros

Tese de Doutorado apresentada ao Programa de Pós-Graduação em Sistemas e Computa-ção do Departamento de Informática e Mate-mática Aplicada da Universidade Federal do Rio Grande do Norte como requisito parcial para a obtenção do grau de Doutor em Ciên-cias da Computação.

Linha de Pesquisa:

Algoritmos Experimentais

Orientador

Dr. Marco Cesar 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 2019

(3)

Lopes Filho, José Gomes.

Problema do caixeiro viajante com coleta opcional de bônus, tempo de coleta e passageiros / José Gomes Lopes Filho. - 2019. 95f.: il.

Tese (Doutorado) - 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, 2019.

Orientador: Marco Cesar Goldbarg.

1. Computação Tese. 2. Problema do caixeiro viajante -Tese. 3. Problema do caixeiro viajante com bônus - -Tese. 4. Problema do caixeiro viajante com passageiros - Tese. 5. Ridesharing - Tese. 6. Meta-heurísticas - Tese. I. Goldbarg, Marco Cesar. II. Título.

RN/UF/CCET CDU 004

(4)

Agradeço a Deus por minha vida, família e amigos.

Agradeço ao meu orientador Prof. Dr. Marco César Goldbarg e a Profa. Dra. Elizabeth Gouveia Goldbarg não apenas pela excelente orientação acadêmica, mas por todas as lições ensinadas durante esse período de convivência.

(5)

Mas pensar o que ninguém ainda pensou, sobre o que todos veem.

(6)

Autor: José Gomes Lopes Filho Orientador(a): Dr. Marco Cesar Goldbarg

Resumo

O presente trabalho introduz uma variante do Problema do Caixeiro Viajante com Coleta de Bônus, denominada de Problema do Caixeiro Viajante com Coleta Opcional de Bô-nus, Tempo de Coleta e Passageiros (PCVP-BoTc). É uma variante de roteamento com coleta seletiva que mesclada elementos de ridesharing. O objetivo é otimizar as receitas do motorista que, seletivamente, dene quais tarefas de entrega ou coleta serão execu-tadas em sua rota. O efeito econômico da coleta é modelado através de um bônus. O modelo aplica-se na solução de sistemas híbridos de roteamento com tarefas de rota e transporte solidário. O motorista pode compartilhar assentos no carro de forma a ratear os custos de rota enquanto realiza suas tarefas selecionadas. Os passageiros são protegi-dos por restrições de valor máximo de rateio e tempo máximo de duração da viagem. A coleta de bônus demanda um tempo especíco em cada localidade afetando a duração da rota e interligando-se com o embarque de passageiros. Quatro formulações matemáticas não-lineares, sendo duas quadráticas, são apresentadas para o problema. As formulações quadráticas foram validadas através de um experimento computacional empregando um solver matemático. Sete algoritmos heurísticos são propostos, sendo seis algoritmos meta-heurísticos híbridos. As implementações das formulações foram testadas em 48 instâncias e os algoritmos sobre 96 instâncias.

Palavras-chave: Caixeiro Viajante, Caixeiro Viajante com Coleta de Bônus, Caixeiro Vi-ajante com Passageiros.

(7)

Collection, Pickup Time and Passengers

Author: José Gomes Lopes Filho Supervisor: Dr. Marco Cesar Goldbarg

Abstract

This study introduces a variant of the Bonus Collecting Traveling Salesman Problem, named Traveling Salesman Problem with Optional Bonus Collection, Pickup Time and Passengers (PCVP-BoTc). It is a vehicle routing problem variant which combines the selective collection of bonuses with ridesharing. The objective is to optimize the revenue of the driver, which selectively denes which delivery or collection tasks to perform along the route. The economic eect of the collection is modeled by a bonus. The model can be applied to the solution of hybrid routing systems with route tasks and solidary transport. The driver, while performing the selected tasks, can give rides to persons who share route costs with him. Passengers are protected by restrictions concerning the maximum value they agree to pay for a ride and maximum travel duration. The activity of collecting the bonus in each locality demands a specic amount of time, aects the route duration, and is interconnected with the embarkment of passengers. Four nonlinear mathematical formulations, two quadratic, are presented for the problem. The quadratic formulations were validated by a computational experiment using a solver. Seven heuristic algorithms have been proposed; six of them are hybrid metaheuristics. We tested the mathematical formulation implementations for 48 instances and the heuristic algorithms for 96.

Keywords: Travelling salesman Problem, Travelling salesman Problem with prots, Tra-velling salesman Problem with Ridesharing.

(8)

1 Instância. . . p. 38 2 Uma solução ótima. . . p. 39 3 Caminho trilhado pelo caixeiro na construção da solução da Figura 1. . p. 39 4 Representação da solução para o PCVP-BoTc. . . p. 50 5 Deslocamento das formigas em busca de alimento. . . p. 66

(9)

Lista de tabelas

1 Número de passageiros por Vértice . . . p. 74 2 Janelas de Tempo . . . p. 74 3 Parâmetros usados pelo irace . . . p. 75 4 Parâmetros dos algoritmos . . . p. 76 5 Resultados para as instâncias simétricas - Gurobi . . . p. 77 6 Resultados para as instâncias assimétricas - Gurobi . . . p. 78 7 Resultados do solver e dos algoritmos proposto para as instâncias

simé-tricas. . . p. 80 8 Resultados do solver e dos algoritmos proposto para as instâncias

assi-métricas. . . p. 81 9 Resultados obtidos pelos algoritmos propostos para as instâncias simétricas. p. 84 10 p-valores entre pares de algoritmos considerando a coluna Méd. da Tabela

9. . . p. 85 11 p-valores entre pares de algoritmos considerando a coluna T(s) da Tabela

9. . . p. 85 12 Resultados obtidos pelos algoritmos propostos para as instâncias

assimé-tricas. . . p. 87 13 p-valores entre pares de algoritmos considerando a coluna Méd. da Tabela

12. . . p. 88 14 p-valores entre pares de algoritmos considerando a coluna T(s) da Tabela

(10)

PCV  Problema do Caixeiro Viajante

PCV-CB  Problema do Caixeiro Viajante com Coleta de Bônus PCV-P  Problema do Caixeiro Viajante com Passageiro

PCVP-BoTc  Problema do Caixeiro Viajante com Coleta Opcional de Bônus, Tempo de Coleta e Passageiros

PCV-CB  Problema do Caixeiro Viajante com Coleta de Bônus PTP  Protable Tour Problem

OP  Orienteering Problem

PCTSP  Prize Collection Travelling Salesman Problem PCVP  Problema do Caixeiro Viajante com Passageiros SAEVs  Veículos Elétricos Autônomos Compartilhados SARP  Problema da Partilha de Viagem

PRV-MO  Problema do Roteamento de Veículo com Motoristas Ocasionais CPTP  Capacitated Protable Tour Problem

CPTP  Capacitated Protable Tour Problem

TDCPTP-TWPD  Time-Dependent Capacitated Protable Tour Problem With Time Windows And Precedence Constraints

PPTP  Probabilistic Protable Tour Problem RPTP  Rich Protable Tour Problem

PCV - Alpa  Problema do Caixeiro Viajante Alugador com Passageiros PCV-PQ  Problema do Caixeiro Viajante com Passageiros e Quota PCV-PL  Problema do Caixeiro Viajante com Passageiros e Lotação

(11)
(12)

G- Grafo Ponderado. V - Conjunto de Vértices. A - Conjunto de Arestas; P - Conjunto de Passageiros.

cij - custo para atravessar a aresta (i, j).

tij - tempo para atravessar a aresta (i, j).

bi - bônus no vértice i.

si - tempo gasto para coleta do bônus no vértice i.

Op - origem do passageiro p.

Dp - destino do passageiro p.

Tp - tarifa máxima que o passageiro p admite pagar.

Mp - duração máxima da viagem que o passageiro p admite.

Jp - intervalo de tempo que o passageiro p deseja ser embarcado.

lip - início da janela de tempo do passageiro p.

lfp - m da janela de tempo do passageiro p.

C: capacidade do veículo.

K: constante relativamente grande.

xij - variável binária que indica se a aresta (i, j) pertence à solução (xij = 1) ou não

(xij = 0).

yi - variável binária que indica se o vértice i está presente na solução (yi = 1) ou não

(yi = 0).

(13)

(vij = 0).

wip - variável binária que indica se o passageiro p permaneceu esperando no vértice i (wp

i = 1) ou não (w p i = 0).

gij - variável inteira que guarda a ordem em que a aresta (i, j) foi visitada na rota.

fij - variável inteira que guarda o tempo de chegada do caixeiro no vértice j vindo de i.

ri - variável inteira que armazena o tempo de saída do caixeiro do vértice i.

G∗ - Grafo ponderado construído a partir de G. V∗ - Conjunto de vértices construído a partir de V . A∗ - Conjunto de arestas construído a partir de A. P∗ - Conjunto de passageiros construído a partir de P . q - Vértice de saída do caixeiro pertencente a V∗. l - Vértice de chegada do caixeiro pertencente a V∗.

gijk:variável binária que controla se o uxo k trafega do vértice i para o vértice j (gkij = 1) ou não (gk

ij = 0);

yk

i: variável binária que indica se o uxo k coletou o bônus no vértice i (yki = 1) ou não

(yk i = 0).

αij - representa o valor inverso do denominador da divisão da parcela não-linear da função

objetivo.

S - Representa uma Solução ci - custo i-ésima aresta da rota.

ord(j)- representa a posição que o vértice j ocupa na rota. C - capacidade do veículo.

K - constante grande.

BR - quantidade de bônus coletado na rota.

vp - variável binária que indica se o passageiro p foi embarcado ou não.

uk

i - variável binária que indica se o veículo trafegou na aresta i com k pessoas ou não.

(14)

kmax - número máximo de vizinhanças do algoritmo VND

f (S)- Valor da solução S

α - Controle da inuência do feromônio.

β - Controle de inuência da informação heurística da rota.

γ - Controle da inuência da informação heurística dos passageiros.

ω - Inuência que a solução global e local desempenharão na atualização dos feromônios τij - Representa a quantidade de feromônio associado ao arco i − j

τ1

ij - Representa a quantidade de feromônio associado ao arco i − j com o bônus sendo

coletado no vértice j

τij2 - Representa a quantidade de feromônio associado ao arco i−j com o bônus não sendo coletado no vértice j

ηijk - Denota a visibilidade do arco i − j.

ηij1 - Denota a visibilidade do arco i − j com o bônus no vértice j sendo coletado ηij2 - Denota a visibilidade do arco i − j com o bônus no vértice j não sendo coletado N (i) - Representa o conjunto de localidades não visitadas que podem ser alcançadas a partir de i

σij - Representa a visibilidade dos passageiros que trafegam de i para j

ρ- Taxa de evaporação

(15)

Lista de Algoritmos

1 Heurística de Carregamento (HC) . . . p. 53 2 NVH . . . p. 54 3 VND Genérico . . . p. 56 4 VND Proposto . . . p. 57 5 GRASP Genérico . . . p. 59 6 GVND . . . p. 60 7 constrSolucaoR . . . p. 61 8 constrSolucaoP . . . p. 63 9 ACO Genérico . . . p. 67 10 ACO . . . p. 70

(16)

1 Introdução p. 18 1.1 Objetivos da Pesquisa . . . p. 20 1.2 Metodologia da Pesquisa . . . p. 20 1.3 Organização do trabalho . . . p. 21 1.4 Contribuições da Pesquisa . . . p. 21 2 Referencial Teórico p. 23

2.1 Problema do Caixeiro Viajante com Coleta de Bônus . . . p. 23 2.1.1 Protable Tour Problem . . . p. 24 2.1.2 Orienteering Problem . . . p. 25 2.1.3 Prize Collection Travelling Salesman Problem . . . p. 27 2.2 Ridesharing . . . p. 28 2.3 Problema do Caixeiro Viajante com Passageiros . . . p. 30 2.4 Trabalhos Relacionados . . . p. 33 3 Problema do Caixeiro Viajante com Coleta Opcional de Bônus,

Tempo de Coleta e Passageiros p. 37

3.1 Descrição do Problema . . . p. 37 3.2 Formulações Matemáticas . . . p. 40 3.2.1 Formulação Baseada em Fluxo Simples (FS) . . . p. 40 3.2.2 Formulação Baseada em MultiFluxo (MF) . . . p. 44 3.2.3 Formulações Quadráticas (FSQ e MFQ) . . . p. 47 3.3 Complexidade do Problema . . . p. 48

(17)

4.1 Representação da Solução . . . p. 50 4.2 Atribuição de Passageiros . . . p. 51 4.2.1 Atribuição de Passageiros Exata . . . p. 51 4.2.2 Atribuição de Passageiros Heurística . . . p. 52 4.3 NVH . . . p. 53 4.4 VND . . . p. 54 4.4.1 VND Proposto . . . p. 55 4.5 GRASP . . . p. 58 4.5.1 GRASP Proposto . . . p. 58 4.5.2 Métodos de Construção Semi-Gulosos . . . p. 59 4.5.2.1 Construção Semi-Gulosa 1 . . . p. 60 4.5.2.2 Construção Semi-Gulosa 2 . . . p. 62 4.6 Otimização por Colônia de Formigas (ACO) . . . p. 65 4.6.1 ACO Proposto . . . p. 68 4.7 Composição das Meta-Heurísticas . . . p. 71

5 Experimentos Computacionais p. 73

5.1 Banco de Instâncias . . . p. 73 5.1.1 Metodologia de Comparação . . . p. 74 5.2 Resultados Exatos . . . p. 76 5.3 Comparação entre Resultados Exatos e Heurísticos . . . p. 78 5.4 Resultados Heurísticos . . . p. 82 5.4.1 Instâncias Simétricas . . . p. 82 5.4.2 Instâncias Assimétricas . . . p. 85 5.4.3 Consideração sobre os Resultados Heurísticos . . . p. 88

(18)
(19)

1 Introdução

O Problema do Caixeiro Viajante (PCV) é um dos problemas mais investigados na Otimização Combinatória. Nele um caixeiro deseja determinar em um grafo ponderado G = (V, A), no qual V = {1, ..., n} representa o conjunto de vértices e A = {1, ..., m} o conjunto de arestas, um ciclo Hamiltoniano de custo mínimo. O PCV é NP-Difícil (GUTIN; PUNNEN, 2006) e possui inúmeras aplicações práticas em diversas áreas, como sistemas de manufatura, transportes, escalonamento de tarefas, roteiros de veículos, entre outros (GOLDBARG; LUNA, 2005).

O Problema do Caixeiro Viajante com Coleta de Bônus (PCV-CB) (BALAS, 1989) e o Problema do Caixeiro Viajante com Passageiro (PCV-P) (CALHEIROS, 2017), são duas, dentre algumas variantes do PCV. No PCV-CB, um bônus é associado a cada vértice de G e o objetivo do problema é encontrar o ciclo mais rentável considerando o balanço entre os custos da rota e os bônus coletados. No PCV-CB nem todas as localidades representadas no grafo G são obrigatoriamente visitadas. O caixeiro só visita as localidades que selecionar para coletar o bônus, sendo penalizado pelas localidades que deixa de visitar. Já, no Problema do Caixeiro Viajante com Passageiro (PCV-P) é incorporado características do ridesharing ao PCV, isto é, inclui a possibilidade de compartilhar o carro do caixeiro com passageiros de oportunidade e, assim, ratear as despesas de rota entre os ocupantes do carro. O PCV-P é dado por um grafo G = (V, A, P ), no qual P representa o conjunto de passageiros. Cada passageiro p ∈ P tem origem na localidade Op ∈ V e destino Dp ∈ V,

sendo Op 6= Dp e Tp representa a despesa máxima que o passageiro p aceita pagar. O

passageiro p ao ser embarcado, passa a dividir os custos, em rateio uniforme com os demais passageiros do veículo e motorista, calculando-se o rateio independentemente para cada trecho em que o passageiro seguir embarcado no veículo. O objetivo do PCV-P é de minimização, considerando que os custos de rota podem ser abatidos pelo rateio de despesas. O PCV-P é sujeito a restrições de capacidade do veículo, de precedência entre a localidade de embarque e a localidade de desembarque na rota, e o limite máximo de despesa admissível para cada um dos passageiros. (CALHEIROS, 2017) demonstra

(20)

simples de problemas que permitem o compartilhamento de caronas e provaram que são NP-difíceis mesmo quando apenas a origem, o destino e a capacidade do veículo são considerados.

O atual trabalho introduz uma variante do PCV que considera características do PCV-CB e a existência da possibilidade de carregamento de passageiros como no PCV-P, denominado Problema do Caixeiro Viajante com Coleta Opcional de Bônus, Tempo de Coleta e Passageiros (PCVP-BoTc). Na variante examinada, o objetivo é selecionar um subconjunto de localidades do problema visitadas uma única vez que permita, conside-rando o embarque de passageiros, minimizar a diferença entre os custos rateados da rota e o esquema de coleta de bônus. O modelo é sujeito as restrições de capacidade do veículo, do limite máximo de despesa para o passageiro e de um tempo máximo de permanência do passageiro embarcado no veículo. Os passageiros estão disponíveis para serem embarcados nas localidades somente dentro de uma janela de tempo xada individualmente pelo pas-sageiro. Como um problema de minimização, a solução vazia é uma solução viável para o problema. Diferentemente do problema de coletas de bônus formulado por (BALAS, 1989), o PCVP-BoTc não penaliza a ausência de visita a uma localidade, não obriga a coleta de um valor mínimo de bônus, e contabiliza, no tempo da rota, o tempo de cada coleta de bônus efetuada. O problema permite que o caixeiro opte por coletar ou não o bônus ao passar pela localidade. O caixeiro só acumula os tempos dos bônus coletados. Um embarque ao visitar uma localidade somente é possível caso o tempo da rota esteja dentro da janela de tempo do passageiro. Por m, caso o caixeiro decida coletar o bônus de uma localidade, os possíveis passageiros só serão embarcados depois que a coleta for realizada. O desembarque dos passageiros em uma localidade antecede a coleta do bônus. Os passageiros não esperam dentro do veículo o bônus ser coletado para serem desembar-cados, posteriormente, na mesma localidade. Como o PCVP-BoTc admite o PCV como caso especíco, isso implica que um grau de complexidade, ao menos semelhante ao PCV. O PCVP-BoTc encontra uma aplicação real no segmento de entregas expressas ou de courier. Courier Services são empresas que transportam e entregam documentos, pacotes e remessas de produtos. Tradicionalmente realizam entregas rápidas de documentos. Esta modalidade de negócio fornece serviços para empresas e indivíduos que precisam de serviço rápido, garantias de entrega e acompanhamento que o correio comum não aceita (PILLAC et al., 2013; GENDREAU et al., 1999). A logística colaborativa também é outro segmento que o PCVP-BoTc pode atuar produzindo impactos sociais e ecológicos positivos, bem como contribuindo para a melhoria do transporte urbano.

(21)

1.1 Objetivos da Pesquisa

O objetivo principal da presente pesquisa é propor e analisar um novo problema ainda não descrito na literatura, denominado Problema do Caixeiro Viajante com Coleta Opcional de Bônus, Passageiros, Tempo de Coleta e Janela de Tempo.

Com o objetivo de possibilitar a obtenção de soluções iniciais para o problema em ques-tão, será criado um banco de instâncias, e também serão apresentadas quatro formulações matemáticas não-lineares (das quais duas são quadráticas). As formulações quadráticas foram devidamente implementadas em um solver, denindo os primeiros limites para o problema.

Como parte da pesquisa serão desenvolvidos algoritmos heurísticos adaptados ao pro-blema, bem como será feita a análise de resultados e desempenho computacional entre os mesmos.

Com a intenção de se atingir estes objetivos, determinaram-se algumas ações especi-cas para este m: (1) Levantar o estado da arte de problemas relacionados; (2) Apresentar o problema e propor as formulações matemáticas correspondentes; (3) Criar um banco de instâncias para o problema; (4) Implementar as formulações matemáticas quadráti-cas em um solver; (5) Desenvolver e adaptar algoritmos experimentais para o problema; (6) Realizar experimentos computacionais comparativos e testes de desempenho a m de disponibilizar algoritmos competitivos para o problema.

1.2 Metodologia da Pesquisa

A primeira etapa da pesquisa foi relacionada ao estudo e denição de uma formulação matemática para o problema, que serviu de embasamento para a pesquisa. Foram elabo-rados quatro modelos matemáticos não-lineares (sendo dois quadráticos), em que somente os modelos quadráticos foram analisados.

Em seguida, foram realizadas as atividades de denição do problema, a criação das instâncias, a denição das formulações e a respectiva implementação das formulações quadráticas em um solver. Nessa etapa foi realizado um levantamento bibliográco de problemas semelhantes e estratégias de solução, de forma a estabelecer o referencial teórico da área em questão.

(22)

heu-tação da solução, operadores de busca local, de forma a servirem como base de ancoragem para escolha de um algoritmo competitivo para o novo problema.

Finalizando, experimentos computacionais foram realizados comparando-se o desem-penho de todos os algoritmos heurísticos desenvolvidos, de forma a validar a estratégia mais adaptada ao problema.

1.3 Organização do trabalho

Esta Tese está dividida em seis capítulos, que abordam os aspectos teóricos e práti-cos deste trabalho. No capítulo 2 são apresentados os principais conceitos associados ao presente trabalho e são relacionados alguns problemas com características similares ao problema proposto. No Capítulo 3 a denição do problema e as formulações matemáticas são descritas. O Capítulo 4 apresenta os algoritmos heurísticos propostos no trabalho. Já, no Capítulo 5 são apresentados os resultados dos experimentos computacionais realizados. Por m, no Capítulo 6 são apresentadas todas as conclusões e considerações nais acerca do trabalho realizado.

1.4 Contribuições da Pesquisa

A presente pesquisa teve por objetivo denir e estudar um novo problema de ro-teamento com coleta seletiva, denominado Problema do Caixeiro Viajante com Coleta com Coleta Opcional de Bônus, Tempo de Coleta e Passageiros (PCVP-BoTc) que é uma variante do PCV, combinando com elementos dos problemas de coleta de bônus e ridesha-ring. Teve como objetivo denir os primeiros modelos matemáticos, e também as primeiras adaptações metaheurísticas. As principais contribuições da pesquisa são resumidas abaixo: • Apresenta a denção do problema PCVP-BoTc e desenvolve os primeiros modelos

matemáticos para o problema, comprovando que o mesmo é novo na literatura; • Cria um banco de instâncias;

• Apresenta novos operadores de buscas locais;

• Apresenta formas de atribuição de passageiros a uma rota e novos métodos para construção de soluções para o problema;

(23)

• Apresenta um novo algoritmo heurístico duas fases e meta-heurísticas adaptadas ao problema, inserindo inovações nas mesmas, de forma a torná-las competitivas; • Realiza experimentos computacionais considerando os diversos algoritmos

(24)

2 Referencial Teórico

Neste capítulo faz-se um breve resumo dos principais conceitos teóricos e práticos que foram necessários para o desenvolvimento do trabalho. A seção 2.1 apresenta um embasamento teórico sobre os problemas clássicos de roteamento com coleta de bônus, a seção 2.2 sobre Ridesharing. O Problema do Caixeiro Viajante com Passageiros é abordado na seção 2.3. Por m, a seção 2.4 apresenta trabalhos relacionados com a presente pesquisa.

2.1 Problema do Caixeiro Viajante com Coleta de

Bô-nus

O Problema do Caixeiro Viajante com Coleta de Bônus (PCV-CB) foi proposto por (BALAS, 1989). No PCV-CB, dado o grafo G = (V, A), onde V é o conjunto de vértices e Ao conjunto de arestas. Um bônus é associado a cada vértice i inV e um custo de viagem é atribuído a cada aresta (i, j) ∈ A. O objetivo do problema é encontrar o ciclo mais rentável considerando o balanço entre os custos da rota e os bônus coletados. No PCV-CB nem todas as localidades representadas no grafo G são obrigatoriamente visitadas. O caixeiro só visita as localidades que selecionar para coletar o bônus, sendo penalizado pelas localidades que deixa de visitar.

De acordo com (JOZEFOWIEZ; GLOVER; LAGUNA, 2008), três problemas do PCV-CB podem ser denidos, dependendo da forma como os objetivos são colocados:

1. Protable Tour Problem (PTP), o objetivo desse problema é encontrar um circuito que maximize os bônus recolhidos subtraídos dos custos da viagem;

2. Orienteering Problem (OP), nesse problema o custo da rota é uma restrição e o ob-jetivo do problema é encontrar um circuito que maximiza o total de bônus recolhido não excedendo o valor máximo pré-determinado do custo da rota;

(25)

de bônus é uma restrição e o objetivo é encontrar a rota de menor custo, desde que o total de bônus recolhido não seja menor que o valor pré-determinado. No caso em que as penalidades do PCTSP são nulas, o problema torna-se conhecido como Quota TSP (QTSP).

2.1.1 Protable Tour Problem

O Protable Tour Problem (PTP) tem como objetivo determinar uma rota através de um ciclo hamiltoniano induzido sobre um subconjunto de vértices, que minimize a diferença dos custos da viagem e os bônus coletados.

(FEILLET; DEJAX; GENDREAU, 2005) apresentaram uma formulação matemática para o PTP, a modelagem é apresentada a seguir:

Parâmetros:

• cij - custo para atravessar a aresta (i, j);

• pi - bônus no vértice i.

Variáveis:

• xij - variável binária que indica se a aresta (i, j) pertence à solução (xij = 1)

ou não (xij = 0);

• yi - variável binária que indica se o vértice i está presente na solução (yi = 1)

ou não (yi = 0); minX i∈V X j∈V \{i} cijxij − X i∈V piyi (2.1) Sujeito a, X j∈V \{i} xij = yi , ∀i ∈ V (2.2) X j∈V \{i} xji = yi , ∀i ∈ V (2.3)

(26)

Restrições de Eliminação de Subciclos (2.4)

yi = 1 (2.5)

xij, yi ∈ {0, 1} ∀i, j ∈ V (2.6)

As restrições (2.2), (2.3) são as chamadas restrições de atribuição. As restrições (2.4) eliminam subtours que não envolvem o depósito.

Ainda segundo (FEILLET; DEJAX; GENDREAU, 2005), para o Quota TSP a função objetivo (2.7) é substituida por:

minX i∈V X j∈V \{i} cijxij (2.7) e a inserção da restrição: X j∈V piyi ≥ pmin , ∀i ∈ V (2.8)

onde pmin é o bônus mínimo a ser coletado.

2.1.2 Orienteering Problem

No Orienteering Problem, é dado um conjunto de vértices, cada um com uma pon-tuação. O objetivo é determinar um ciclo, de comprimento limitado, que visite alguns vértices e maximize a soma das pontuações coletadas.

De maneira geral, o OP é denido por: dado um grafo G = (V, A), onde V é o conjunto de vértices e A o conjunto de arestas. Um prêmio não-negativo Sié atribuído a cada vértice

i ∈ V e um tempo de viagem tij é associado a cada aresta. Nem todos os vértices podem

ser visitados, pois o tempo disponível é limitado a um determinado orçamento de tempo Tmax. O objetivo do OP é determinar um ciclo, limitado por Tmax, que visite alguns dos

vértices, a m de maximizar a pontuação total coletada. As pontuações são consideradas totalmente aditivas e cada vértice pode ser visitado no máximo uma vez.

(27)

au-tores apresentaram uma formulação para o OP que dene um ponto inicial (v1) e nal

(vN) para o caixeiro. Logo, o objetivo torna-se em encontrar um caminho hamiltoniano

sobre um subconjunto de V , incluindo o ponto inicial e nal do caixeiro, e comprimento inferior a Tmax que maximize o total de prêmios coletados. A formulação é apresentada

abaixo.

Parâmetros:

• tij - tempo de viagem para atravessar a aresta (i, j);

• Si - prêmio no vértice i.

• Tmax - tempo máximo disponível.

Variáveis:

• xij - variável binária que indica se a aresta (i, j) pertence à solução (xij = 1)

ou não (xij = 0);

• ui - variável inteira que indica a posição do vértice i no caminho.

max N −1 X i=2 N X j=2 Sixij (2.9) Sujeito a, N X j=2 x1j = N −1 X i=1 xiN = 1 (2.10) N −1 X i=1 x1k = N X j=2 xkj ≤ 1, ∀k = 2, ..., N − 1 (2.11) N −1 X i=1 N X j=2 tijxij ≤ Tmax (2.12) 2 ≤ ui ≤ N, ∀i = 2, ..., N (2.13) ui− uj + 1 ≤ (N − 1)(1 − xij), ∀i = 2, ..., N (2.14)

(28)

xij ∈ {0, 1} ∀i, j ∈ V (2.15)

A função objetivo (2.9) maximiza a pontuação total coletada. As restrições (2.10) garantem que o caminho comece no vértice 1 e terminam no vértice N. As restrições (2.11) garantem a conectividade do caminho e garantem que todos os vértices sejam visitados no máximo uma vez. A restrição (2.12) garante o orçamento por tempo limitado. As restrições (2.13), (2.14) são necessárias para evitar subtours. Essas restrições de eliminação do subtour são modeladas de acordo com a formulação de Miller - Tucker - Zemlin (MTZ) do TSP (MILLER; TUCKER; ZEMLIN, 1960).

2.1.3 Prize Collection Travelling Salesman Problem

O Prize Collection TSP (PCTSP) é uma variante do PCV, formulado por (BALAS, 1989). No PCTSP, o caixeiro determina um ciclo hamiltoniano sobre um subconjunto de vértices, onde prêmios não-negativos são coletados nas localidades visitadas e nas cidades que deixaram de ser visitadas são pagas penalidades. O objetivo do problema torna-se em minimizar a soma dos custos da viagem e das penalidades, incluindo na rota um número suciente de cidades que permita a coleta de um prêmio mínimo preestabelecido.

A seguir, a formulação do PCVCP proposta por Balas é apresentada. Parâmetros:

• cij - custo para atravessar a aresta (i, j);

• pi - bônus no vértice i.

• πi - penalidade paga por não visitar o vértice i;

• pmin - prêmio mínimo que deve ser coletado na rota percorrida.

Variáveis:

• xij - variável binária que indica se a aresta (i, j) pertence à solução (xij = 1)

ou não (xij = 0);

• yi - variável binária que indica se o vértice i está presente na solução (yi = 1)

(29)

minX i∈V X j∈V \{i} cijxij− X i∈V πi(1 − yi) (2.16) Sujeito a, X j∈V \{i} xij = yi , ∀i ∈ V (2.17) X j∈V \{i} xji = yi , ∀i ∈ V (2.18)

Restrições de Eliminação de Subciclos (2.19)

X

j∈V

piyi ≥ pmin , ∀i ∈ V (2.20)

xij, yi ∈ {0, 1} ∀i, j ∈ V (2.21)

A função objetivo (2.16) é composta basicamente por dois componentes: o custo total de deslocamento, representado pelo primeiro somatório, e o custo das penalidades pagas por não visitação de vértices, representado pelo segundo somatório. As restrições (2.17) e (2.18) garantem que exatamente um arco chega e exatamente um sai de cada nó presente numa rota solução. As restrições (2.19) eliminam subtours que não envolvem o depósito. A restrição (2.20) garante que o prêmio coletado na rota solução não seja inferior ao prêmio mínimo preestabelecido. A restrição (2.21) denem o domínio das variáveis.

2.2 Ridesharing

Cada dia que passa as cidades estão cada vez mais tomadas por carros levando com-plicações não só para o trânsito, como congestionamentos, mas também para a saúde da população e ao meio ambiente. A poluição despejada todos os dias nos ares pelos carros, a poluição sonora, estresse no trânsito são alguns dos fatores que favorecem a problemática. Uma característica impressionante que torna-se visível nas cidades é que a maioria desses carros são ocupados por uma única pessoa; cada viajante utilizando um carro separado despejando grandes quantidades de carbono e causando congestionamento. Assim,

(30)

práti-de ripráti-desharing, também práti-designado carpooling, é uma práti-dentre as mais populares estratégias para solução desse tipo de problema, onde refere-se à partilha de um veículo entre vários passageiros, assim como as despesas (AMEY; ATTANUCCI; MISHALANI, 2011).

As vantagens do ridesharing são signicativas, o fato de pessoas compartilharem de um mesmo veículo reduz consideravelmente os custos (passagens, combustível, etc) da viagem para cada pessoa, economia de tempo para o utilizador que, alternativamente, teria que utilizar o transporte público, bem como a socialização que as viagens promovem (KLEINER; NEBEL; ZIPARO, 2011). Esse tipo de transporte pode-se considerar como uma forma de mobilidade mais sustentável do ponto de vista ambiental, reduzindo con-gestionamento do trânsito, problemas de estacionamento, poluição sonora e emissões de gases tóxicos.

Contudo, existem também algumas desvantagens tais como segurança, pois o conceito base do ridesharing aceita que desconhecidos possam participar desse compartilhamento do veículo, perda de intimidade, dentre outras. Estas desvantagens, como é natural, cau-sam alguma insatisfação (AGATZ et al., 2011).

Atualmente, cada vez mais sistemas computacionais baseados nessas práticas es-tão sendo disponibilizados para auxilar as pessoas e implementados em diversas empre-sas/instituições. As formas de caronas da prática de ridesharing podem ser feitos através de muitos meios diferentes, incluindo sites públicos, mídia social, agindo como merca-dos, sites de empregadores, aplicativos de smartphones, agências de caronas e pontos de embarque (SILVA, 2017). A utilização dessas tecnologias em conjunto com o ridesharing podem ser visualizados em aplicados como Uber, Lyft, Waze.

Problemas de otimização que incorporam características do ridesharing ao seu núcleo são estritamente relacionados com o Problema de Roteamento com Coleta e Entrega (PR-CE), que é uma generalização do Problema de Roteamento de Veículos, na qual objetos ou pessoas demandam transporte entre origens e destinos (BERBEGLIA; CORDEAU; LAPORTE, 2010). De acordo com (PARRAGH; DOERNER; HARTL, 2008a, 2008b) o PR-CE pode ser dividido em duas classes. A primeira se refere às situações que lidam com o transporte de mercadorias do depósito para os clientes e de clientes para o depósito. Já a segunda classe, agrupa os problemas em que as mercadorias são transportadas entre locais de coleta e entrega. De todas as especicações feitas pelos autores, os problemas Dial-a-ride (DARP) são os que modelam o comportamento do ridesharing. O DARP con-siste em programar rotas e escalas de veículos de custos mínimos para atender pedidos

(31)

de transporte de usuários, os quais especicam requisições de embarque e desembarque (conhecidos como pontos de coleta e entrega, respectivamente). No DARP o serviço de transporte é compartilhado no sentido de que vários usuários, com solicitações diferentes, podem estar no mesmo veículo ao mesmo tempo (HO et al., 2018). As pesquisas sobre DARP podem ser divididas em dois domínios: estático ou dinâmico. No caso estático, o motorista é atribuído ao um conjunto de requisições conhecidas de antemão. No dinâmico, as requisições dos passageiros chegam on-line e um motorista é atribuído a uma requisi-ção que chega sem o conhecimento de requisições futuras (LI et al., 2014). (PSARAFTIS, 1980) desenvolveu um dos primeiros estudos sobre o DARP com solicitação imediata, solucionando pequenas instâncias com um algoritmo de programação dinâmica. Uma re-visão dos problemas dessa classe e métodos de soluções estão disponíveis nas referências (BERBEGLIA; CORDEAU; LAPORTE, 2010; CORDEAU; LAPORTE, 2007).

2.3 Problema do Caixeiro Viajante com Passageiros

O Problema do Caixeiro Viajante com Passageiros (PCV-P) é uma variante do PCV que envolve elementos de ridesharing, formulado por (CALHEIROS, 2017). No PCV-P às características do PCV permanecem intactas, porém são adicionadas características do ridesharing, isto é, inclui a possibilidade de compartilhar o carro do caixeiro com passageiros de oportunidade e, assim, ratear as despesas da viagem entre os ocupantes do carro. O caixeiro não é obrigado a embarcar passageiros, em casos que os embarques não são rentáveis para a viagem ou quando o objetivo é lucrar com outros passageiros mais adiante no percurso. Para que um passageiro seja viável ao embarque, é necessário que haja disponibilidade de assento no veículo, o caixeiro viajante não tenha passado pela cidade destino do passageiro e que a despesa do seu percurso não exceda a quantidade máxima de dinheiro que o passageiro pode contribuir no rateio com os demais integrantes do veículo.

O PCV-P considera um grafo G = (V, A, P ), no qual V é o conjunto de vértices, A o conjunto de arestas que interligam as localidades e P representa o conjunto de passageiros. Cada passageiro p ∈ P tem origem na localidade Op ∈ V e destino Dp ∈ V, sendo Op 6= Dp

e Tp representa a despesa máxima que o passageiro p aceita pagar. O passageiro p ao ser

embarcado, passa a dividir os custos, em rateio uniforme com os demais passageiros do veículo e motorista, calculando-se o rateio independentemente para cada trecho em que o passageiro deseja seguir embarcado no veículo. Por m, C determina a capacidade máxima de assentos no veículo do caixeiro que podem ser compartilhados. O PCV-P é sujeito a

(32)

localidade de desembarque na rota, e o limite máximo de despesa admissível para cada um dos passageiros. O objetivo do PCV-P é de minimização, considerando que os custos de rota podem ser abatidos pelo rateio de despesas.

(CALHEIROS, 2017) apresentou um modelo matemático para o PCV-P que considera a existência em cada localidade n passageiros. A formulação é descrita a seguir.

Parâmetros:

• cij - custo para atravessar a aresta (i, j);

• Op - origem do passageiro p;

• Dp - destino do passageiro p;

• Tp - tarifa máxima que o passageiro p admite pagar;

• C - capacidade do veículo. Variáveis:

• xij - variável binária que indica se a aresta (i, j) pertence à solução (xij = 1)

ou não (xij = 0);

• vijp - variável binária que indica se o passageiro p trafegou de i para j (vpij = 1) ou não (vp

ij = 0);

• ui - variável inteira que indica a posição do vértice i no caminho.

min |V | X i=1 |V | X j=1 cijxij 1 +P p∈Pv p ij (2.22) Sujeito a, |V | X j=1 xij = 1, ∀i = 1, ..., |V | (2.23) |V | X j=1 xji = 1, ∀i = 1, ..., |V | (2.24)

(33)

ui− uj + 1 ≤ |V |(1 − xij), ∀i = 2, ..., |V | (2.25) |P | X p=1 vijp ≤ Cxij, ∀ 1 ≤ i, j ≤ |V |, i 6= j (2.26) |V | X i=1 viOp p+ |V | X i=1 v1ip = 0, ∀p = 1, ..., |P |, Op 6= 1 (2.27) |V | X i=1 vDppi+ |V | X i=1 vi1p = 0, ∀p = 1, ..., |P |, Dp 6= 1 (2.28) |V | X j=1 vpij− |V | X j=1 vpji = 0, ∀p = 1, ..., |P |, i = 1, ..., |V | : i 6= Ope i 6= Dp (2.29) X 1≤i,j≤|V |:i6=j cijvpij 1 +P|P | w=1vijw ≤ Tp, ∀p = 1, ..., |P | (2.30) xij, vpij ∈ {0, 1} ∀1 ≤ i, j ≤ |V |, p = 1, ..., |P | (2.31) ui ∈ R, ∀i = 1, ..., |V | (2.32)

A função objetivo apresentada pela equação (2.22), contabiliza o custo total do cai-xeiro viajante rateado com os demais passageiros embarcados. As restrições (2.23) e (2.24) asseguram que todos os vértices sejam visitados apenas uma vez pelo caixeiro viajante. A restrição (2.25) foi proposta no modelo de Miller, Tucker e Zemlim (MILLER; TUCKER; ZEMLIN, 1960) para garantir que não ocorra subrotas na solução. A restrição (2.26) cer-tica de que a capacidade do veículo não será ultrapassada. A restrição (2.27) impede que o passageiro retorne a sua cidade de origem e que parta de sua cidade destino. A restrição (2.28) impede que nenhum passageiro passará no vértice de origem do caixeiro viajante. Enquanto que a restrição (2.29) garante que as arestas no trajeto de qualquer passageiro embarcado, formem um caminho. A restrição (2.30) introduz a tarifa máxima que cada passageiro poderá pagar durante o trecho que estiver embarcado no veículo do caixeiro viajante. Por m, as restrições (2.31) e (2.32) garantem o domínio das variáveis.

(34)

Nesta seção serão descritos alguns trabalhos da literatura que possui conexão com a presente pesquisa. Os trabalhos abordam temas dos problemas logísticos urbanos, como o compartilhamento de carona ou ridesharing (AGATZ et al., 2012), e o compartilha-mento de recursos de transporte entre pessoas e mercadorias (LI et al., 2014); as variantes clássicas do PTP e naliza com os trabalhos mais recentes sobre o PCV com ridesharing. O trabalho de Farhan e Chen (FARHAN; CHEN, 2018) expõe o impacto do ridesha-ring na eciência operacional de uma frota de veículos elétricos autônomos compartilhados (SAEVs), incluindo a determinação do tamanho da frota, locais da estação de carrega-mento, capacidade de atendimento da demanda de viagem e considerando os tempos de espera do usuário. Os autores propuseram um modelo de simulação baseado em agentes e que avalia as operações de uma frota de SAEVs em uma área metropolitana.

ALONSO-MORA et al. (2017) apresentaram um modelo matemático de alta capaci-dade para compartilhamento de caronas em tempo real, que é dimensionável para grandes números de passageiros e viagens, gerando dinamicamente rotas ótimas com relação à demanda on-line e localização de veículos. Os pesquisadores quanticaram experimental-mente a troca entre o tamanho da frota, capacidade, tempo de espera, atraso de viagem e custos operacionais para veículos de baixa a média capacidade, como táxis e van. O estudo experimental considera a possibilidade de caronas em veículos com capacidade de até dez pessoas.

MA; ZHENG; WOLFSON (2014), por sua vez, propuseram um modelo de comparti-lhamento de táxis que aceita solicitações de viagem em tempo real feitas por passageiros de táxis enviadas por meio de smartphones. O aplicativo otimiza a programação dos tá-xis de forma a atender os passageiros por meio do compartilhamento de assentos, que é sujeito a restrições de tempo, capacidade e monetária. As restrições monetárias proporci-onam incentivos tanto para os passageiros quanto para os motoristas de táxi. O objetivo é minimizar a distância de viagem associada a cada táxi, enquanto atende aos pedidos de viagem.

LI et al. (2014) expuseram, em seu estudo, os benefícios e desvantagens de combinar pessoas e uxos de encomendas usando táxis e deniram o Problema da Partilha de Viagem (SARP). Os autores apresentaram formulações de MILP e realizaram um estudo numérico de cenários estáticos e dinâmicos para o problema.

(35)

Ro-teamento de Veículo com Motoristas Ocasionais (PRV-MO). No PRV-MO, uma empresa não possui somente uma frota de veículos e motoristas disponíveis para fazer entregas, mas também pode se aproveitar de motoristas ocasionais (MOs) que estão dispostos a fazer uma única entrega usando seu veículo particular em troca de alguma compensação. Assim, a empresa procura satisfazer a demanda dos clientes com custos totais mínimos, ou seja, os custos totais das rotas dos seus próprios veículos mais as compensações paga aos MO. Os autores fornecem informações valiosas sobre o potencial de usar motoristas ocasionais para reduzir os custos de entrega, concentrando-se principalmente no número e na exibilidade dos motoristas ocasionais e do esquema de compensação empregado.

ARSLAN et al. (2018) expuseram uma versão do PRV-MO dinâmico, enquanto Dahle et al. (2019) apresentaram em seu trabalho uma extensão para o PRV-MO, em modelagem de coleta e entrega com janela de tempo e limite de tempo. Neste problema podem atender mais de uma solicitação e possuem uma restrição de compensação mínima para poder atender uma dada solicitação.

ARCHETTI et al. (2009) deniram o Capacitated Protable Tour Problem (CPTP), no qual um único veículo com capacidade está disponível e o objetivo é maximizar a diferença entre o lucro total coletado e o custo da distância total percorrida.

HANDOKO et al. (2009) apresentaram o Multi-vehicle Protable Tour Problem (MPTP). Tradicionalmente, o PTP envolve um único veículo. Entretanto, nesse trabalho os autores, consideram o PTP com vários veículos.

Por sua vez, SUN et al. (2018) introduziram o Time-Dependent Capacitated Protable Tour Problem With Time Windows And Precedence Constraints (TDCPTP-TWPD), no qual o problema diz respeito à determinação de um passeio e seu tempo de partida no depósito que maximiza o lucro coletado menos o custo total de viagem (medido pelo tempo total de viagem).

Por outro lado, ZHANG; WANG; LIU (2017) introduziram o Probabilistic Protable Tour Problem (PPTP), no qual o problema é denido em um grafo completo e cada vértice (cliente) tem uma probabilidade de exigir uma visita em um determinado dia. O objetivo é encontrar um subconjunto de vértices e identicar, a priori, através desses vértices, um passeio, maximizando a diferença entre os lucros e os custos de viagem esperados.

LAHYANI; KHEMAKHEM; SEMET (2013) apresentaram uma variação para o PTP denominada de Rich Protable Tour Problem (RPTP) que surge quando solicitações de clientes envolvem vários produtos e veículos, utilizando vários compartimentos. No RPTP,

(36)

produto. A demanda do cliente pode ser satisfeita parcialmente, entregando apenas alguns dos produtos listados na solicitação. Cumpre lembrar, entretanto, que circuitos viáveis são limitados no tempo e capacidade. Isso implica dizer que um veículo não pode visitar todos os clientes. Além disso, uma característica importante da variante é que alguns produtos são incompatíveis e devem ser mantidos separados durante o transporte. O veículo tem diferentes compartimentos com diferentes capacidades. São conhecidas incompatibilidades entre produtos e compartimentos. Por último, uma janela de tempo e um horário de atendimento estão associados a cada cliente. Os clientes podem ser coletados fora da janela de tempo mediante uma penalização na função objetivo. O custo total de uma excursão é obtido a partir do lucro total menos o custo da viagem e o custo dos tempos de espera.

SABRY; GOLDBARG; GOLDBARG (2016) deniram o Problema do Caixeiro Via-jante Alugador com Passageiros (PCV - Alpa), nele características do Problema do Cai-xeiro Alugador (PCV-Alpa) são combinadas com as propriedades do PCV-P. O objetivo do caixeiro é reduzir suas despesas pela combinação do aluguel de diferentes carros em suas devidas localidades quanto pelo compartilhamento dos trechos da viagem visando a otimização da ocupação dos assentos no carro alugado.

Silva em (SILVA, 2017) descreveu o Problema do Caixeiro Viajante com Passagei-ros e Quota (PCV-PQ), como sendo uma variação para o PCV-P, uma quota mínima preestabelecida é incorporada ao PCV-P. Assim, o caixeiro busca determinar um ciclo hamiltoniano sobre um subconjunto de vértices que cumpram esta quota se valendo do compartilhamento de assentos com passageiros. O objetivo do PCV-PQ é minimizar os custos de um caixeiro viajante que deve coletar uma quota mínima de bônus nas loca-lidades do problema, considerando a possibilidade de rateio das despesas de rota com eventuais passageiros embarcados no veículo do caixeiro.

Bastos em (BASTOS, 2017) apresentou o Problema do Caixeiro Viajante com Pas-sageiros e Lotação (PCV-PL), também é uma variação para o PCV-P, onde o caixeiro compartilha os custos de viagem com passageiros. Além de dividir os custos do percurso, o caixeiro pode se valer, também, dos descontos das High Occupancy Vehicle Lanes (HVL), que são faixas de trânsito que isentam veículos lotados do pagamento de pedágio, logo o objetivo é reduzir os custos rateando entre os passageiros tomando proveito dos descontos oferecidos das HVL.

(37)

Restrições de Tempo (PPL-RT), no qual o problema une características do PTP e PCV-P com a adição de HVL sobre as arestas. Os passageiros no PPL-RT possuem os mesmos atributos dos passageiros denidos no PCV-P com o acréscimo de uma janela de tempo para embarque do mesmo. O objetivo do problema é maximizar o lucro total dos bônus coletados menos os custos dos trechos percorridos afetados pelo rateio entre os integrantes do veículo menos os custos relativos aos pedágios.

Por m, Medeiros (MEDEIROS, 2019) apresentou o Problema do Caixeiro Viajante com Coleta de Prêmios e Passageiros (PCV-CPP), onde o PCV-P é mesclado com ele-mentos do PCTSP. Os custos do trajeto do motorista são reduzidos através do rateio de despesas em virtude do compartilhamento de assentos no veículo usado na tarefa de co-leta de prêmios. As tarefas na rota são selecionadas segundo o modelo de roteamento com coleta de prêmios, portanto se considerando penalidades pelo eventual não atendimento de tarefas existentes e, adicionalmente, determinando o cumprimento de uma demanda mínima de tarefas. Portanto, o objetivo do PCV-CPP é minimizar o custo total da viagem do caixeiro somado com a parcela das penalidades decorrentes da eventual ausência de visita em determinadas localidades.

De acordo com a revisão realizada, não foi encontrada nenhuma publicação que lide com todas as características combinadas do problema do presente estudo. Basicamente é uma variante que não pode lucrar com o compartilhamento de assentos no veículo, somente reduzir custos. Na próxima seção, será realizada uma descrição geral do problema.

(38)

3 Problema do Caixeiro Viajante

com Coleta Opcional de Bônus,

Tempo de Coleta e Passageiros

Neste capítulo será apresentado o Problema do Caixeiro Viajante com Coleta de Bô-nus, Tempo de Coleta e Passageiros, objeto de análise desse estudo. Inicialmente será feita a descrição do problema, seguida das formulações matemáticas propostas e nali-zando com a demonstração da complexidade do problema.

3.1 Descrição do Problema

Dado um grafo G = (V, A, P ), sendo V o conjunto de vértices, A o conjunto das arestas, e P o conjunto dos passageiros disponíveis em suas localidades. Um bônus não-negativo bi e um tempo gasto si para o recolhimento desse bônus são associados a cada

vértice i ∈ V . Custos cij e tempos de percurso tij são atribuídos a cada aresta. A cada

p ∈ P está associada uma origem Op ∈ V, um destino Dp ∈ V, Op 6= Dp, um valor

Tp representando a despesa máxima que p está disposto a pagar, um tempo máximo

de permanência no veículo Mp, e uma janela de tempo Jp = [lip, lfp] representando um

intervalo de tempo no qual o passageiro p deseja que o compartilhamento da viagem seja iniciado. O caixeiro é o motorista do veículo com capacidade para C passageiros. A capacidade não inclui o motorista. O objetivo do problema é encontrar um conjunto de localidades para serem visitadas uma única vez, um esquema de coleta de bônus, uma rota, e uma ordem de embarque de passageiros tais que minimizem a diferença entre os custos rateados da rota e o valor ganho com a coleta dos bônus. A solução vazia é uma solução viável para o problema, ou seja, o caixeiro decide não sair de sua origem , pois, programar uma viagem torna-se inviável.

A Figura 1 ilustra, em um grafo completo com cinco vértices, uma típica instância do PCVP-BoTc. No exemplo existe em cada vértice um rótulo < a, b, c >, onde a, b e

(39)

c denotam, respectivamente, o bônus a ser coletado, o tempo de coleta e os passageiros disponíveis na localidade. Cada aresta também possui um rótulo, com a informação do custo e o tempo de travessia. A capacidade do veículo neste exemplo é C = 3. As requi-sições dos passageiros são representadas pelos rótulos pi =< O, D, T, M, li, lf >, onde O

representa a origem do passageiro, D o destino, T a tarifa máxima a ser paga, M o tempo máximo de permanência no veículo e, li e lf o início e m da janela de tempo para ser realizado seu embarque.

Uma solução ótima para o problema exemplicado na Figura 1 é exibida na Figura 2. Os vértices 2 e 3 e os passageiros p3 e p6 estão em destaque para representar que os bônus

pertencentes aos vértices foram coletados e que os passageiros compartilharam trechos com o caixeiro. O vértice 4 pertence à solução, mas não está em destaque representando que seu bônus não foi coletado.

Figura 1: Instância.

A Figura 3 exemplica os passos que o caixeiro percorreu na construção da solução. O caixeiro parte do vértice inicial e chega ao vértice 2, Figura 3a, coleta o bônus no vértice e permanece parado o tempo necessário para realizar o trabalho. Quando o caixeiro sai do vértice, o passageiro p3 é embarcado para compartilhar o trajeto com o caixeiro até

seu destino, e a capacidade do veículo é diminuída em uma unidade. O embarque do passageiro p3, foi possível pelos fatos de o seu destino ainda não ter sido visitado, o tempo

(40)

Figura 2: Uma solução ótima.

corrente da rota estar dentro da sua janela de tempo e existir um lugar disponível no veículo.

(a) Chegada do caixeiro no vértice 2. (b) Chegada do caixeiro no vértice 3.

(c) Chegada do caixeiro no vértice 4. (d) Chegada do caixeiro no vértice inicial.

Figura 3: Caminho trilhado pelo caixeiro na construção da solução da Figura 1. Em seguida, o caixeiro chega ao vértice 3, Figura 3b, e realiza a coleta do bônus, enquanto o passageiro p3 ca à sua espera no carro uma vez que a localidade de seu

desembarque não foi alcançada. O caixeiro parte do vértice 3 embarcando o único passa-geiro viável p6 que passa a compartilhar o veículo com o caixeiro e p3 até o seu destino.

Com o embarque de p6 a capacidade do veículo diminui outra unidade e passa a ser um.

(41)

que seu destino foi alcançado e aumenta uma unidade na capacidade do carro para, em seguida, examinar a possibilidade da coleta do bônus da localidade. O passageiro p6

per-maneceu embarcado até o seu destino uma vez que foram respeitadas todas as restrições a ele associadas. O caixeiro parte do vértice 4 sem realizar a coleta e continua com o pas-sageiro p3 embarcado. Por m, o caixeiro chega ao vértice inicial, Figura 3d, e desembarca

o passageiro p3.

O custo total da solução do exemplo, corresponde ao custo (c12− b2), somado com

(c23/2 − b3), sendo o custo de c23 dividido por 2 pelo fato de o passageiro p3 ter

compar-tilhado esse trecho com o caixeiro, somado com c34/3, sendo c34 rateado por 3 pois p3 e

p6 compartilharam esse trecho e naliza com a soma de c41/2, com o passageiro p3 ainda

embarcado. Assim, a solução nal custa -168.833.

3.2 Formulações Matemáticas

São apresentadas quatro formulações não-lineares para o PCVP-BoTc baseadas em modelos de uxo para o PCV e do modelo de compartilhamento de assentos com passagei-ros do PCV-P. O primeiro modelo, apresentado na seção 3.2.1, é baseado na formulação de Gavish e Graves (GAVISH; GRAVES, 1978). O segundo modelo, exposto na seção 3.2.2, estende a formulação proposta por Claus (CLAUS, 1984), que utiliza multiuxo. Ambos os modelos utilizam a função objetivo proposta por Feillet et al. (FEILLET; DEJAX; GENDREAU, 2005) para PTP com uma simples modicação para o rateio nos trechos compartilhados com passageiros serem considerados, e algumas restrições para garantir particulares dos passageiros que foram baseadas no trabalho de (CALHEIROS, 2017) para o PCV-P. Na seção 3.2.3 é apresentado um ajuste aos modelos, permitindo que os dois sejam reescritos de forma quadrática.

3.2.1 Formulação Baseada em Fluxo Simples (FS)

O modelo é baseado em uma formulação proposta por Gavish e Graves (GAVISH; GRAVES, 1978) para o PCV, com a adição de restrições relacionadas aos passageiros e os bônus. A função objetivo proposta em (FEILLET; DEJAX; GENDREAU, 2005) para o PTP também é modicada. O problema é formulado em (3.1)-(3.24). Os parâmetros e as variáveis são denidas a seguir.

(42)

• tij - tempo para atravessar a aresta (i, j);

• bi - bônus no vértice i;

• si - tempo gasto para coleta do bônus no vértice i;

• Op - origem do passageiro p;

• Dp - destino do passageiro p;

• Tp - tarifa máxima que o passageiro p admite pagar;

• Mp - duração máxima da viagem que o passageiro p admite;

• Jp = [lip, lfp] - intervalo de tempo que o passageiro p deseja ser embarcado;

• C: capacidade do veículo;

• K: constante relativamente grande. Variáveis:

• xij - variável binária que indica se a aresta (i, j) pertence à solução (xij = 1)

ou não (xij = 0);

• yi - variável binária que indica se o vértice i está presente na solução (yi = 1)

ou não (yi = 0);

• zi - variável binária que indica se o bônus do vértice i foi coletado (zi = 1)

ou não (zi = 0);

• vijp - variável binária que indica se o passageiro p trafegou de i para j (vpij = 1) ou não (vp

ij = 0);

• wip - variável binária que indica se o passageiro p permaneceu esperando no vértice i (wp

i = 1) ou não (w p i = 0);

• gij - variável inteira que guarda a ordem em que a aresta (i, j) foi visitada

na rota;

• fij - variável inteira que guarda o tempo de chegada do caixeiro no vértice j

(43)

• ri - variável inteira que armazena o tempo de saída do caixeiro do vértice i. minX i∈V X j∈V \{i} cijxij 1 +P p∈P v p ij −X i∈V bizi (3.1) Sujeito a, X j∈V \{i} xij = yi , ∀i ∈ V (3.2) X j∈V \{i} xji = yi , ∀i ∈ V (3.3) X j∈V \{i} gij − X j∈V \{i} gji = yi , ∀i ∈ V \ {1} (3.4) gij ≤ (|V | − 1)xij , ∀i, j ∈ V (3.5) zi ≤ yi, ∀i ∈ V (3.6) X j∈V \{1} f1j = X j∈V \{1} x1jt1j (3.7) X j∈V \{i} fij = X j∈V \{i} fji+ X j∈V \{i} xijtij + zisi , ∀i ∈ V \ {1} (3.8) fij ≤ Kxij , ∀i, j ∈ V (3.9) X j∈V \{Op} vjOp p+ X j∈V \{Dp} vDp pj = 0 , ∀p ∈ P (3.10) X j∈V \{i} vjip − X j∈V \{i} vijp = 0 , ∀p ∈ P, i ∈ V \ {Op, Dp} (3.11) X j∈V \{1} v1jp + X j∈V \{1} vj1p = 0, ∀p ∈ P, Op 6= 1 e == Dp 6= 1 (3.12)

(44)

X p∈P vpij ≤ Cxij , ∀i, j ∈ V (3.13) X i∈V X j∈V \{i} cijv p ij 1 +P k∈P v k ij ≤ Tp , ∀p ∈ P (3.14) X i∈V X j∈V \{i} tijvpij + X i∈V wpisi ≤ Mp, ∀p ∈ P (3.15) X i∈V \{j} fij + zjsj = rj, ∀j ∈ V \ {1} (3.16) lip X j∈V \{Op} vpO pj ≤ rOp, ∀p ∈ P (3.17) rOp ≤ lfp + K (1 − X j∈V \{Op} vOp pj), ∀p ∈ P (3.18) wOpp+ wDpp = 0, ∀p ∈ P (3.19) 2wpj ≤ zj + X i∈V vpij, ∀p ∈ P, j ∈ V \ {Op, Dp} (3.20) wpj + 1 ≥ zj + X i∈V vpij, ∀p ∈ P, j ∈ V \ {Op, Dp} (3.21) xij, yi, zi ∈ {0, 1} ∀i, j ∈ V (3.22) vijp, wip ∈ {0, 1} ∀i, j ∈ V, p ∈ P (3.23) ri, fij, gij ∈ N ∀i, j ∈ V (3.24)

A função objetivo é expressa em (3.1). O primeiro e segundo termos da função ob-jetivo, estão relacionados ao custo total do caixeiro compartilhado com os passageiros embarcados e os lucros recolhidos, respectivamente. As restrições (3.2) e (3.3) são

(45)

conhe-cidas como restrições de atribuição, ou seja, garantem que todo vértice possuirá apenas uma aresta chegando e saindo dele, no circuito. As restrições (3.4) e (3.5) garantem que não existam subciclos e correspondem à formulação de uxo simples para o PCV. A restri-ção (3.6) garante que o bônus da localidade só poderá ser recolhido caso esteja no circuito. As restrições (3.7) e (3.8) fazem com que a variável fij acumule o tempo de percurso do

caixeiro até o momento de chegada em determinada localidade. A restrição (3.9) garante que só haja tempo acumulado nos arcos em que o caixeiro trafegar. A restrição (3.10) inviabiliza o retorno de qualquer passageiro à sua origem, e de maneira análoga, inviabi-liza o embarque de qualquer passageiro fora de sua localidade. A restrição (3.11) garante que se o passageiro for embarcado, seu desembarque é feito no seu destino. A restrição (3.12) inviabiliza que passageiros que possuem origem e destinos diferente da localidade inicial utilizem arestas relacionadas à localidade 1. A restrição (3.13) garante que as ares-tas utilizadas pelos passageiros não sejam diferentes das utilizadas pelo caixeiro e que o número de passageiros compartilhando o mesmo trajeto não seja maior do que a capaci-dade do veículo. As restrições de (3.10) a (3.13) foram baseadas no modelo proposto em (CALHEIROS, 2017). As restrições (3.14) e (3.15) garantem que, para cada passageiro, o limite máximo do resultado do rateio e o tempo de permanência, caso sejam embarcados no veículo, não seja excedido. A restrição (3.16) relaciona o tempo de chegada e saída das localidades diferentes da inicial. As restrições (3.17) e (3.18) garantem que o passageiro só seja embarcado caso esteja no intervalo de sua janela de tempo. A valor de K nas restrições (3.9) e (3.18) foi denido como K = nmaxi∈V(si), maxi,j∈V(tij)

o

∗ |V | ∗ 2 de modo que as desigualdades sejam satisfeitas para caso o caixeiro não trafegue pela aresta e para qualquer passageiro p que não tenha sido embarcado.A restrição (3.19) garante que os passageiros não quem esperando o caixeiro coletar os lucros na sua origem e no seu destino. As restrições (3.20) e (3.21) garantem que, caso o caixeiro e os passagei-ros compartilhem trechos no circuito, os passageipassagei-ros permaneçam embarcados durante o tempo da coleta do bônus da localidade, no caso de a localidade ser diferente da origem ou do destino do passageiro. Por m, as restrições (3.22) a (3.24) asseguram o domínio das variáveis.

3.2.2 Formulação Baseada em MultiFluxo (MF)

Nesta seção é apresentada uma segunda formulação para o problema derivada da formulação apresentada por Claus (CLAUS, 1984) que utiliza o conceito de multiuxo em redes para o PCV. A ideia de Claus consiste em encontrar um caminho Hamiltoniano de custo mínimo de um vértice origem para um vértice destino. Assim, valendo-se da ideia do

(46)

o vértice inicial é dividido em dois novos vértices, q e l, representando a saída e chegada do caixeiro.

Assumindo que o vértice inicial é o 1, formalmente nós denimos G∗ = (V, A, P)

como: V∗ = {q, l} ∪ V \ {1} A∗ = A \ {(1, i), (i, 1) : i ∈ V \ {1}} ∪ {(q, l), (l, q)} ∪ {(q, i) : i ∈ V \ {1}} ∪ {(i, l) : i ∈ V \ {1}} ∪ {(l, i) : i ∈ V \ {1}} ∪ {(i, q) : i ∈ V \ {1}} P∗ = P \ {(Op, Dp, Tp, Mp, Jp) : p ∈ P, Op = 1 e Dp = 1} ∪ {(q, Dp, Tp, Mp, Jp) : p ∈ P, Op = 1 e Dp 6= 1} ∪ {(Op, l, Tp, Mp, Jp) : p ∈ P, Op 6= 1 e Dp = 1}

As informações existentes em ambos os grafos, G e G∗, são consideradas com os

mesmos coecientes. Os bônus e o tempos de coleta para ambos os vértices q e l adicionados são iguais ao do vértice inicial antes de ser dividido, ou seja, bq = 0, sq = 0, bl = 0e sl = 0.

Já, os arcos adicionados:

• (q, l), possui valor de custo e tempo igual a 0; • (l, q), possui valor de custo e tempo igual a ∞;

• {(q, i) : i ∈ V \ {1}}, possuem coecientes de custo e tempo iguais aos dos arcos {(1, i)/i ∈ V \ {1}} com i correspondente;

• {(i, l) : i ∈ V \ {1}}, possuem coecientes de custo e tempo iguais aos dos arcos {(i, 1)/i ∈ V \ {1}} com i correspondente;

• {(l, i) : i ∈ V \ {1}}, todas possuem coecientes de custo e tempo iguais ∞;

• {(i, q) : i ∈ V \ {1}}, todas possuem coecientes de custo e tempo iguais ∞;

(47)

Por m, os passageiros em G que têm como origem o vértice inicial passaram a ter q como origem e os que tem como destino o vértice inicial passaram a ter l como destino em G∗. Dessa forma, esta transformação implica que podemos interpretar o PCVP-BoTc

como um problema de determinar um caminho de q para l no novo grafo que minimize o custo da rota menos o bônus coletado. A solução vazia é tratada quando o caminho de q para l não possuir vértices intermediários.

Finalmente, o PCVP-BoTc é formulado com o conceito de multiuxo por (3.1), (3.10)-(3.11), (3.13)-(3.15), (3.17)-(3.21) e (3.25)-(3.36). Os parâmetros e as variáveis xij, zi, vijp,

wip, ri são os mesmos apresentados na seção anterior com a adição das seguintes variáveis.

Variáveis: - gk

ij:variável binária que controla se o uxo k trafega do vértice i para o

vértice j (gk

ij = 1) ou não (gkij = 0);

- yk

i: variável binária que indica se o uxo k coletou o bônus no vértice i

(yk i = 1) ou não (yik= 0). X j∈V∗\{q} xqj + X j∈V∗\{l} xjl = 2 (3.25) X j∈V∗\{q} xjq+ X j∈V∗\{l} xlj = 0 (3.26) X j∈V∗\{k} xkj − X j∈V∗\{k} xjk = 0, ∀k ∈ V∗\ {q, l} (3.27) gijk ≤ xij, ∀k ∈ V∗ \ {q}, i, j ∈ V∗, i 6= j (3.28) X j∈V∗\{k} gjkk = X j∈V∗\{k} xjk, ∀k ∈ V∗\ {q} (3.29) X j∈V∗\{q} gqjk = X j∈V∗\{k} xjk, ∀k ∈ V∗ \ {q} (3.30) X j∈V∗\{i} gijk − X j∈V∗\{i} gkji = 0, ∀k, i ∈ V∗ \ {q}, i 6= k (3.31)

(48)

zk ≤ X j∈V∗\{k} xjk, ∀k ∈ V∗\ {q} (3.32) 2yki ≤ zi+ X j∈V∗\{i} gjik, ∀k, i ∈ V∗\ {q} (3.33) yik+ 1 ≥ zi+ X j∈V∗\{i} gjik, ∀k, i ∈ V∗\ {q} (3.34) rk = X i∈V∗ X j∈V∗\{i} tijgkij + X i∈V∗\{1} ykisi, ∀k ∈ V∗\ {q} (3.35) yik, gijk ∈ {0, 1} ∀i, j ∈ V∗, k ∈ V∗\ {q} (3.36) A função objetivo (3.1) e as restrições de (3.10)-(3.11), (3.13)-(3.15), (3.17)-(3.21) são as mesmas apresentadas na seção anterior com a simples mudança dos conjuntos V por V∗ e P por P∗. As restrições (3.25) e (3.26) garantem que o caminho inicie no vértice q e termine no vértice l. A restrição (3.27) assegura a conservação do caminho do caixeiro. As restrições de (3.28) a (3.32) certicam que não haja subciclos e correspondem à formulação de multiuxo para o PCV proposto por Claus em (CLAUS, 1984). A restrição (3.32) desempenha a mesma função que a restrição (3.6) do modelo anterior. As restrições (3.33) e (3.34) garantem se o uxo k coleta ou não o bônus no vértice i. A restrição (3.35) exerce a mesma função da restrição (3.16). Finalmente, a restrição (3.36) dene o domínio das novas variáveis.

3.2.3 Formulações Quadráticas (FSQ e MFQ)

O primeiro termo da função objetivo e a restrição (3.14) são não-lineares para ambos os modelos. Com objetivo de ajustar a formulação para eliminar a divisão em ambos os casos, o método proposto por (JABERI; RAFEH, 2014) foi utilizado. A estratégia utilizada pelo método é transformar a divisão em uma multiplicação por um número real. Assim, para eliminar a operação de divisão, uma nova variável αij representando o valor

inverso do denominador da divisão é introduzida permitindo que as formulações sejam reescritas de forma quadráticas. Adicionando as restrições (3.37) e (3.38) ao modelo FS a função objetivo (3.1) e a restrição (3.14) são reescritas em (3.39) e (3.40). O modelo MF também recebe as mesmas modicações levando em consideração os conjuntos V∗ e P.

(49)

αij× (1 + X p∈P vijp) = 1, ∀i, j ∈ V (3.37) 0 ≤ αij ≤ 1, ∀i, j ∈ V (3.38) minX i∈V X j∈V \{i} cijxijαij − X i∈V biyi (3.39) X i∈V X j∈V \{i} cijvpijαij ≤ Tp , ∀p ∈ P (3.40)

Desta forma, denimos a formulação quadrática de FS como FSQ consistindo da função objetivo (3.39) sujeito as restrições (3.2-3.13), (3.15-3.24), (3.37-3.38) e (3.40). Finalmente, MFQ representa a forma quadrática para o modelo MF consistindo da função objetivo (3.39) sujeito as restrições (3.10-3.11), (3.13), (3.15-3.21) e (3.25-3.36), (3.37-3.38) e (3.40).

3.3 Complexidade do Problema

A busca por uma solução ótima do PCVP-BoTc é tão difícil quanto ao do PCV. Todavia, o número de possíveis decisões no PCVP-BoTc é maior. De fato, o PCV é um subcaso do PCVP-BoTc. O resultado abaixo estabelece que o PCV pode ser reduzido em tempo polinomial para o PCVP-BoTc.

Teorema 1. O PCVP-BoTc é NP-Difícil. Demonstração:

Considere uma instância para o PCV no qual o grafo G = (V, A) está associado e possui uma solução ótima H. Assim, seja G0 = (V, A, P ) uma nova instância para o

PCVP-BoTC baseada em G. Cada vértice de G0, exceto a origem de H, possui bônus

duas vezes maior que a maior aresta de custo do grafo G. Cada vértice tem tempo de coleta igual a zero. O tempo de percorrer qualquer aresta e a capacidade do veículo são iguais a zero. Não existem passageiros disponíveis para embarque, ou seja, P ← ∅. Essa transformação é realizada em tempo polinomial. Logo, se G possui uma solução ótima H, para o PCV, a inclusão dessas características em G0 não exclui essa solução. Portanto,

(50)

custos das arestas, mas esse ciclo é H pelo fato das características aplicadas fazerem com que o caixeiro determine uma sequência com todos os vértices visitados uma única vez representando um ciclo Hamiltoniano e que possui custo mínimo, e portanto, G0 possui

uma solução ótima para o PCVP-BoTc. Determina-se, assim, a solução de G por meio da resolução de G0.

Por m, conclui-se que a redução do PCV ao PCVP-BoTc é alcançada em tempo polinomial. Como o PCV é NP-Difícil, então é o PCVP-BoTc também é NP-Difícil.

(51)

4 Algoritmos Propostos

Este capitulo descreve os algoritmos desenvolvidos neste estudo. Na seção 4.1, detalha-se como foi repredetalha-sentada a solução. A detalha-seção 4.2 apredetalha-senta as abordagens utilizadas para atribuição de passageiros a uma rota. Na seção 4.3 é descrita uma heurística denominada NVH que decompõe o problema em duas etapas solucionadas através de uma ferramenta de otimização. Na seção 4.4 é apresentado o algoritmo VND utilizado como busca local para as demais meta-heurísticas. A seção 4.5 apresentada dois algoritmos baseados na meta-heurística GRASP. Já, na seção 4.6 uma meta-heurística Colônia de Formigas é descrita. Por m, a seção 4.7 descreve as abordagens meta-heurísticas analisadas nesse trabalho com a atribuição de passageiros adequada.

4.1 Representação da Solução

Cada solução, S, é representada por dois vetores como ilustrado na Figura 4. O vetor R representa a sequência de visitas do caixeiro com a opção de coleta do bônus. Cada posição do vetor R é formada por uma dupla (x, y), onde x representa a localidade visitada e y a opção de coleta. O valor de y é 1 caso o bônus seja coletado e 0 caso contrário. O segundo vetor, P , representa os passageiros que foram embarcados na localidade. O ciclo inicia e termina sempre na localidade 1, mas ela não é representada como destino nal na solução.

Referências

Documentos relacionados

Através de uma metodologia de mapeamento de alunos e de uma tecnologia de reconhe- cimento de padrões, desenvolvemos o sistema NADID (Núcleo de Avaliação Diagnostica de Indexação

§ 2º Nos casos em que houver necessidade de assinatura do instrumento de contrato, e o proponente homologado não estiver inscrito no SICAF, o seu cadastramento deverá ser feito

No entanto, não há como não se reconhecer também a influência e a gênese do ativismo a partir da compreensão do papel preponderante da jurisprudência no sistema da common law, com

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

Acerca da redução de percentual na interessante experiência do Estado do Rio de Janeiro, Santana526 lembra-nos que existem vários exemplos de extrafiscalidade ambiental no Brasil,

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