Roteamento de Drones Autônomo: Um Estudo Algorítmico

138
Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departmento 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 Roteamento de Drones Autônomo: Um Estudo Algorítmico Lettiery D’Lamare Portela Procópio Natal-RN fevereiro de 2019

Transcript of Roteamento de Drones Autônomo: Um Estudo Algorítmico

Page 1: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Universidade Federal do Rio Grande do NorteCentro de Ciências Exatas e da Terra

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

Doutorado Acadêmico em Sistemas e Computação

Roteamento de Drones Autônomo: Um EstudoAlgorítmico

Lettiery D’Lamare Portela Procópio

Natal-RNfevereiro de 2019

Page 2: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Lettiery D’Lamare Portela Procópio

Roteamento de Drones Autônomo: Um Estudo

Algorítmico

Tese apresentada ao Programa de Pós-Graduação em Sistemas e Computação doDepartamento de Informática e MatemáticaAplicada da Universidade Federal do RioGrande do Norte como requisito parcial paraa obtenção do grau de Doutor em Sistemas eComputação.

Linha de pesquisa:Algoritmos Experimentais

Orientador

Prof. Dr. Marco Cesar Goldbarg

Coorientador

Prof. Dr. Lucídio dos Anjos Formiga Cabral

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

CCET – Centro de Ciências Exatas e da TerraUFRN – Universidade Federal do Rio Grande do Norte

Natal-RN

Fevereiro de 2020

Page 3: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Procópio, Lettiery D'Lamare Portela. Roteamento de drones autônomo: um estudo algorítmico /Lettiery D'Lamare Portela Procópio. - 2020. 136f.: il.

Tese (Doutorado) - Universidade Federal do Rio Grande doNorte, Centro de Ciências Exatas e da Terra, Programa de Pós-Graduação em Sistemas e Computação. Natal, 2020. Orientador: Marco Cesar Goldbarg. Coorientador: Lucídio dos Anjos Formiga Cabral.

1. Computação - Doutorado. 2. Roteamento de veículos -Doutorado. 3. Suficientemente próximo - Doutorado. 4. Heurísticageométrica - Doutorado. I. Goldbarg, Marco Cesar. II. Cabral,Lucídio dos Anjos Formiga. III. Título.

RN/UF/CCET CDU 004

Universidade Federal do Rio Grande do Norte - UFRNSistema de Bibliotecas - SISBI

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

Elaborado por Joseneide Ferreira Dantas - CRB-15/324

Page 4: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Dedico este Trabalho aos meus pais Jorge e Nilda, que me educaram para a vida. Aosmeus amigos Bruno e Luís Feliphe, minha eterna gratidão por compartilhar comigo seus

conhecimentos e momentos de diversão.

Dedico em especial esse trabalho a minha companheira de vida Amanda Portela, que detodas as formas me fortificou, encorajou e me acalmou nos momentos mais difíceis.

Dedico também esse trabalho ao meu filho Heitor por me mostrar a verdadeira alegriade viver em apenas um sorriso. Por fim, porém o mais especial, agradeço a Deus por

minha existência, sabedoria e fé.

Page 5: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Agradecimentos

Quero agradecer as meus professores, em especial ao Tio Gilberto que me mostrou abeleza da ciência e professor Lucídio, que me guio pelos caminhos dos saberes. Ao meuorientador Marco agradeço pelos conhecimentos não só na ciência mas também na vida.A professora Elizabeth agradeço o ensinamento por buscar sempre o melhor.

Agradeço também ao apoio prestado pela equipe dos laboratórios Laser e LAPORTEda Universidade Federal da Paraíba, ressaltando os importantes conselhos e auxílios doprofessor Alisson Brito.

Sem vocês esse trabalho não teriam alcançado os resultados desejados.

Page 6: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Bancos e governos imprimem dinheiro, mas, em última análise, são os cientistas quepagam a conta.

Yuval Noah Harari

Page 7: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Roteamento de Drones Autônomo: Um Estudo

Algorítmico

Autor: Lettiery D’Lamare Portela ProcópioOrientador(a): Dr. Marco Cesar Goldbarg

Resumo

Este trabalho formula a versão Assimétrica do Problema de Roteamento de Veículo Su-ficientemente Próximo, utilizado para planejamento de rotas de reconhecimento aéreo. Oproblema é formulado com programação cônica de segunda ordem e são aplicadas técni-cas de otimização heurística baseada em uma propriedade geométrica do problema pararesolvê-lo. Apresentamos os resultados de experimentos computacionais com instânciasadaptadas da literatura. Os testes mostram que o método proposto produz soluções dealta qualidade rapidamente a confrontar com o Solver e outros algoritmos desenvolvidosneste trabalho.

Palavras-chave: Roteamento de Veículos; Suficientemente Próximo; Heurística Geomé-trica.

Page 8: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Autonomous Drones Routing: An Algorithmic Study

Author: Lettiery D’Lamare Portela ProcópioSupervisor: Dr. Marco Cesar Goldbarg

Abstract

This work formulates the Assicron’s version of the Close-Enough Vehicle Routing Pro-blem, used for aerial reconnaissance route planning. We formulate the problem with thesecond-order programming model and apply heuristic optimization techniques based ona geometric property of the problem to solve it. We present the results of extensive com-putational experiments with adapted instances of the literature, the tests show that ourmethod produces high quality solutions quickly when compared to the solver.

Keywords : Vehicle Routing, Close-Enough, Geometric Heuristics.

Page 9: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Lista de figuras

1 Problemas suficientemente próximos . . . . . . . . . . . . . . . . . . . . p. 25

2 Deslocamento com interferência dos ventos . . . . . . . . . . . . . . . . p. 34

3 Representação gráfica da estrutura de solução do A-CEVRP . . . . . . p. 42

4 Posição relativa entre a reta e a circunferência . . . . . . . . . . . . . . p. 45

5 Posição relativa entre duas circunferências . . . . . . . . . . . . . . . . p. 47

6 Retas tangentes a circunferências . . . . . . . . . . . . . . . . . . . . . p. 48

7 Fluxograma do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49

8 Inicialização dos centroides . . . . . . . . . . . . . . . . . . . . . . . . . p. 50

9 Crescimentos dos centroides . . . . . . . . . . . . . . . . . . . . . . . . p. 52

10 Seleção dos pontos baseado em (GILLETT; MILLER, 1974) . . . . . . . . p. 54

11 Criação das rotas por clusters . . . . . . . . . . . . . . . . . . . . . . . p. 54

12 Deslocamento de centroides . . . . . . . . . . . . . . . . . . . . . . . . p. 56

13 Espaço de soluções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 58

14 Vizinhança secção da circunferência . . . . . . . . . . . . . . . . . . . . p. 62

15 Gráfico Variança dos resultados obtidos pelos algoritmos. . . . . . . . . p. 77

16 Gráfico Variança dos resultados obtidos pelos algoritmos CG e GRASP. p. 78

17 Solução heurística (CG) da instancia 10_0 CEVRP . . . . . . . . . . . p. 89

18 Solução do Solver da instancia 10_0 CEVRP . . . . . . . . . . . . . . p. 90

19 Solução heurística (CG) da instancia 10_0 A-CEVRP . . . . . . . . . . p. 91

20 Solução do Solver da instancia 10_0 A-CEVRP . . . . . . . . . . . . . p. 92

21 gap da média global CEVRP e A-CEVRP . . . . . . . . . . . . . . . . p. 107

Page 10: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Lista de tabelas

1 Configuração e resposta dos algoritmo pelo IRACE. . . . . . . . . . . . p. 73

2 Média dos valores obtidas por conjuntos de instâncias do CEVRP. . . . p. 76

3 Média dos valores obtidas por conjuntos de instâncias do A-CEVRP. . p. 76

4 Resultados para instâncias com 6 pontos no CEVRP de CG. . . . . . . p. 94

5 Resultados para instâncias com 8 pontos no CEVRP de CG. . . . . . . p. 94

6 Resultados para instâncias com 10 pontos no CEVRP de CG. . . . . . p. 95

7 Conjunto de instâncias com 12 pontos no CEVRP de CG. . . . . . . . p. 96

8 Resultados para instâncias com 14 pontos no CEVRP de CG. . . . . . p. 97

9 Instâncias com 16 pontos no CEVRP de CG. . . . . . . . . . . . . . . . p. 98

10 Instâncias com 18 pontos no CEVRP de CG. . . . . . . . . . . . . . . . p. 99

11 Instâncias com 20 pontos no CEVRP de CG. . . . . . . . . . . . . . . . p. 100

12 Resultados para instâncias com 6 pontos do CEVRP de CG. . . . . . . p. 101

13 Resultados para instâncias com 8 pontos do CEVRP de CG. . . . . . . p. 101

14 Resultados para instâncias com 10 pontos do CEVRP de CG. . . . . . p. 102

15 Conjunto de instâncias com 12 pontos CEVRP. . . . . . . . . . . . . . p. 103

16 Resultados para instâncias com 14 pontos de CG. . . . . . . . . . . . . p. 104

17 Conjunto de instâncias com 16 pontos CEVRP. . . . . . . . . . . . . . p. 105

18 Conjunto de instâncias com 18 pontos de CG. . . . . . . . . . . . . . . p. 106

19 Conjunto de instâncias com 20 pontos de CG. . . . . . . . . . . . . . . p. 107

20 Resultados para instâncias com 6 pontos no A-CEVRP do ACO. . . . . p. 109

21 Resultados para instâncias com 8 pontos no A-CEVRP do ACO. . . . . p. 110

22 Resultados para instâncias com 10 pontos no A-CEVRP do ACO. . . . p. 110

Page 11: Roteamento de Drones Autônomo: Um Estudo Algorítmico

23 Conjunto de instâncias com 12 pontos no A-CEVRP do ACO. . . . . . p. 111

24 Resultados para instâncias com 14 pontos no A-CEVRP do ACO. . . . p. 112

25 Conjunto de instâncias com 16 pontos no A-CEVRP do ACO. . . . . . p. 113

26 Conjunto de instâncias com 18 pontos no A-CEVRP do ACO. . . . . . p. 114

27 Conjunto de instâncias com 20 pontos no A-CEVRP do ACO. . . . . . p. 115

28 Resultados para instâncias com 6 pontos do CEVRP. . . . . . . . . . . p. 115

29 Resultados para instâncias com 8 pontos do CEVRP. . . . . . . . . . . p. 116

30 Resultados para instâncias com 10 pontos do CEVRP. . . . . . . . . . p. 117

31 Conjunto de instâncias com 12 pontos CEVRP do ACO. . . . . . . . . p. 118

32 Resultados para instâncias com 14 pontos do ACO. . . . . . . . . . . . p. 119

33 Conjunto de instâncias com 16 pontos CEVRP do ACO. . . . . . . . . p. 120

34 Conjunto de instâncias com 18 pontos do ACO. . . . . . . . . . . . . . p. 120

35 Conjunto de instâncias com 20 pontos do ACO. . . . . . . . . . . . . . p. 121

36 Resultados para instâncias com 6 pontos no A-CEVRP do GRASP. . . p. 123

37 Resultados para instâncias com 8 pontos no A-CEVRP do GRASP. . . p. 123

38 Resultados para instâncias com 10 pontos no A-CEVRP do GRASP. . p. 124

39 Conjunto de instâncias com 12 pontos no A-CEVRP do GRASP. . . . . p. 125

40 Resultados para instâncias com 14 pontos no A-CEVRP do GRASP. . p. 126

41 Conjunto de instâncias com 16 pontos no A-CEVRP do GRASP. . . . . p. 127

42 Conjunto de instâncias com 18 pontos no A-CEVRP do GRASP. . . . . p. 128

43 Conjunto de instâncias com 20 pontos no A-CEVRP do GRASP. . . . . p. 128

44 Resultados para instâncias com 6 pontos do CEVRP do GRASP. . . . p. 129

45 Resultados para instâncias com 8 pontos do CEVRP do GRASP. . . . p. 130

46 Resultados para instâncias com 10 pontos do CEVRP do GRASP. . . . p. 131

47 Conjunto de instâncias com 12 pontos CEVRP do GRASP. . . . . . . . p. 132

48 Resultados para instâncias com 14 pontos do GRASP. . . . . . . . . . . p. 133

Page 12: Roteamento de Drones Autônomo: Um Estudo Algorítmico

49 Conjunto de instâncias com 16 pontos CEVRP do GRASP. . . . . . . . p. 134

50 Conjunto de instâncias com 18 pontos do GRASP. . . . . . . . . . . . . p. 134

51 Conjunto de instâncias com 20 pontos do GRASP. . . . . . . . . . . . . p. 135

Page 13: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Lista de abreviaturas e siglas

VRP – Vehicle Route Problem

UAVs – Unmanned Aerial Vehicles

CEVRP – Close-Enough Vehicle Routing Problem

A-CEVRP – Asynchronous Close-Enough Vehicle Routing Problem

TSPN – Traveling Salesman Problem with Neighborhoods

TSP – Traveling Salesman Problem

TSPN – Close-Enough Traveling Salesman Problem

CEVRP – Close-Enough Vehicle Routing Problem

VND – Variable Neighborhood Descent

Page 14: Roteamento de Drones Autônomo: Um Estudo Algorítmico

Sumário

1 Introdução p. 16

1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18

Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18

Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18

1.2 Metodologia de pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19

1.3 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

1.4 Contribuições deste trabalho . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2 Revisão da literatura p. 22

2.1 Formulações apresentadas . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.1.1 TSPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.1.2 CETSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

2.1.3 CEVRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

3 Asymmetric Close-Enough Vehicle Routing Problem p. 32

3.1 Interferências dos ventos . . . . . . . . . . . . . . . . . . . . . . . . . . p. 33

3.2 Capacidade heterogênea dos veículos . . . . . . . . . . . . . . . . . . . p. 35

3.3 Formulação do A-CEVRP . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

3.4 Banco de instâncias do A-CEVRP . . . . . . . . . . . . . . . . . . . . . p. 39

3.4.1 Cálculo da interferência dos ventos bij . . . . . . . . . . . . . . . p. 40

3.4.2 Cálculo da capacidade de deslocamento do veículo Qk . . . . . . p. 41

3.5 Representação de uma solução do A-CEVRP . . . . . . . . . . . . . . . p. 42

Page 15: Roteamento de Drones Autônomo: Um Estudo Algorítmico

4 Clusterização Geométrica p. 43

4.1 Propriedades Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43

4.1.1 Propriedades do círculo e da circunferência . . . . . . . . . . . . p. 43

4.1.2 Propriedades de um segmento de reta . . . . . . . . . . . . . . . p. 44

4.1.3 Posição relativa entre reta e circunferência . . . . . . . . . . . . p. 45

4.1.4 Interseção de dois círculos . . . . . . . . . . . . . . . . . . . . . p. 47

4.2 Framework da Clusterização Geométrica . . . . . . . . . . . . . . . . . p. 48

4.2.1 Posição inicial dos centroides . . . . . . . . . . . . . . . . . . . . p. 49

4.2.2 Crescimento do raios . . . . . . . . . . . . . . . . . . . . . . . . p. 50

4.2.3 Heurística de agrupamento . . . . . . . . . . . . . . . . . . . . . p. 52

4.2.4 Reposicionamento dos centroides . . . . . . . . . . . . . . . . . p. 54

4.3 Busca local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57

4.3.1 Estrutura de vizinhanças . . . . . . . . . . . . . . . . . . . . . . p. 58

4.3.1.1 Interseção de arestas em circunferências . . . . . . . . p. 59

4.3.1.2 2-opt . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60

4.3.1.3 Pontos tangentes . . . . . . . . . . . . . . . . . . . . . p. 60

4.3.1.4 Secção da circunferência por retas secantes . . . . . . . p. 61

4.3.1.5 Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 63

4.3.1.6 Áreas de steiner-zone . . . . . . . . . . . . . . . . . . p. 63

4.3.1.7 Inversão assimétrica . . . . . . . . . . . . . . . . . . . p. 64

4.3.2 Ordem das vizinhanças . . . . . . . . . . . . . . . . . . . . . . . p. 65

5 Algoritmos e implementações p. 66

5.1 GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66

5.2 Ant Colony Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . p. 69

6 Experimentos computacionais p. 72

Page 16: Roteamento de Drones Autônomo: Um Estudo Algorítmico

6.1 Configurações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 72

6.1.1 Metodologia de análise dos resultados . . . . . . . . . . . . . . . p. 74

6.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 74

6.2.1 Comparação entre os métodos heurísticos . . . . . . . . . . . . . p. 75

6.2.1.1 Média das soluções obtidas pelos algoritmos . . . . . . p. 75

6.2.1.2 Teste de Friedman para as heurísticas . . . . . . . . . p. 77

6.2.1.3 Teste de PostHoc as heurísticas CG e GRASP . . . . . p. 78

6.3 Resultados acadêmicos da pesquisa . . . . . . . . . . . . . . . . . . . . p. 78

7 Considerações finais p. 80

7.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81

Referências p. 82

Apêndice A -- Pseudocódigo p. 86

Apêndice B -- Dados p. 88

Apêndice C -- Resultados individuais de cada instância p. 93

C.1 Comparação individual entre os resultados de CG e Solver . . . . . . . p. 93

C.1.0.1 Teste A-CEVRP . . . . . . . . . . . . . . . . . . . . . p. 93

C.1.0.2 Testes CEVRP . . . . . . . . . . . . . . . . . . . . . . p. 100

C.1.0.3 Análise final dos testes . . . . . . . . . . . . . . . . . . p. 107

C.2 Comparação individual entre os resultados de ACO e Solver . . . . . . p. 108

C.2.0.1 Teste A-CEVRP . . . . . . . . . . . . . . . . . . . . . p. 108

C.2.0.2 Testes CEVRP . . . . . . . . . . . . . . . . . . . . . . p. 115

C.2.0.3 Análise final dos testes . . . . . . . . . . . . . . . . . . p. 122

C.3 Comparação individual entre os resultados de GRASP e Solver . . . . . p. 122

C.3.0.1 Teste A-CEVRP . . . . . . . . . . . . . . . . . . . . . p. 122

Page 17: Roteamento de Drones Autônomo: Um Estudo Algorítmico

C.3.0.2 Testes CEVRP . . . . . . . . . . . . . . . . . . . . . . p. 129

C.3.0.3 Análise final dos testes do GRASP e Solver . . . . . . p. 135

Page 18: Roteamento de Drones Autônomo: Um Estudo Algorítmico

16

1 Introdução

O Problema de Roteamento de Veículos (VRP ) é um dos assuntos mais abordados naliteratura de otimização combinatória, devido a sua praticidade e demanda de soluções.Por ser um problema NP-Difícil (DANTZIG; RAMSER, 1959), sua resolução não é trivial eo tempo necessário para encontrar valores ótimos pode ser inviável em aplicações reais.

A necessidade de criar rotas para veículos executarem demandas específicas, se adéquade acordo com a finalidade da aplicação. Essas adaptações dão origem a variações do VRP.Para entender as variações do VRP podemos encontrar um estudo e classificação dasnomenclaturas usadas para essa classe de problema em (GOLDBARG; GOLDBARG; LUNA,2016).

O VRP e suas variantes são utilizadas para atender demandas específicas de cadacenário. Com a popularização dos Veículos Aéreos Não Tripulados (UAVs ), surge um novocenário que necessita do roteamento de um ou mais veículos para alcançar um objetivocomum.

A utilização dos UAVs pode ser observada em diversos setores, como na vigilância esegurança de grandes terrenos (COUTINHO et al., 2016), monitoramento de vias de trânsito(OUBBATI et al., 2017), na entrega e coleta de produtos (BAMBURRY, 2015), e ainda nomonitoramento de áreas agrícolas (BANDEIRA et al., 2015). Um fator presente em todasas aplicações anteriormente citadas é a capacidade restrita de deslocamento dos veículos,necessitando uma etapa prévia de planejamento das rotas realizadas pelos UAVs conside-rando as restrições de capacidade de deslocamento.

Nos problemas clássicos do VRP todas as distâncias são conhecidas e disponibilizadascomo dado de entrada do problema. Na utilização dos UAVs, geralmente o roteamentoacontece em um espaço euclidiano e as coordenadas são calculadas e alteradas em tempode execução do algoritmo.

Por fim, podemos observar forças externas que interferem no deslocamento dos veí-culos. Em ambientes totalmente controlados, a interferência dessas forças são irrisórias

Page 19: Roteamento de Drones Autônomo: Um Estudo Algorítmico

17

no cálculo do percurso, porém, em condições gerais não há possibilidade de controle dosefeitos sobre os veículos. Essa característica está presente em alguns problemas derivadosdo VRP que trazem o sufixo "assimétrica"na sua definição.

Ao observar essas particularidades, o Problema de Roteamento de Veículos Sufici-entemente Próximo (Close-Enough Vehicle Routing Problem, CEVRP ) foi inspirado nanecessidade de rotear os UAVs para monitoramento de áreas apresentadas no plano eu-clidiano. Neste problema o veículo precisa alcançar um certa distância do centro do alvopara realizar a demanda (fotos, vídeos, coleta ou entrega de dados, e até reconhecimentode objetos).

Porém, (MENNELL, 2009) ao formular o CEVRP como um modelo de programação nãolinear, não previu a ação de interferências no deslocamento dos veículos, o que impossibi-lita a aplicação da sua proposta em ambientes que não há controle dessas interferências. Apartir de aplicações em cenários reais, foi possível observar a necessidade de incluir a in-terferência dos ventos no deslocamento dos UAVs, onde existem casos que a omissão dessaforça impossibilita o cumprimento das demandas devido a capacidade de deslocamentodos veículos.

Neste trabalho é formulado uma heurística baseada em clusterização geométrica pararesolução do Problema de Roteamento de Veículos Suficientemente Próximo Assimé-trico(Asymmetric Close-Enough Vehicle Routing Problem, A-CEVRP ), uma variação doVRP criada a partir da necessidade de otimizar rotas para o monitoramento de grandesáreas por UAVs autônomos.

No A-CEVRP e na versão simétrica (CEVRP), o roteamento dos veículos é realizadono espaço euclidiano e os pontos são dados por coordenadas cartesianas. Neste problemao veículo não necessita visitar o ponto para realizar a demanda, mas deve se aproximara uma distância mínima da coordenada. Essa característica é válida para aplicações nasquais a atividade é um registro de imagem, identificação de objeto, coleta de dados porrede sem fio, etc. Ainda deve ser incluído a restrição do comprimento máximo para opercurso efetuado pelo veículo que parte e retorna a um ponto base.

A necessidade de inserir a característica assimétrica de uma rota foi percebida aotentar rotear UAV em áreas com a presença de ventos, onde o impacto dessa força naturaltem grande influência na execução do percurso, podendo até dobrar a força necessária pararealizar um deslocamento. Essa é a característica que distingue o A-CEVRP do problemaformulado por MENNELL.

Page 20: Roteamento de Drones Autônomo: Um Estudo Algorítmico

18

1.1 Objetivos

Nesta sessão são apresentados os objetivos gerais e específicos do presente trabalho.As etapas para alcançar o objetivo geral estão enumeradas nos objetivos específicos.

Objetivo geral

Criar um algoritmo que torne possível sua aplicação em cenários reais de roteamentode UAVs autônomo para o monitoramento de áreas externas. Este algoritmo deve respeitaras restrições impostas pelas condições naturais do Problema de Roteamento de VeículosSuficientemente próximo Assimétrico, e alcançar o objetivo de minimização das rotaspropostas.

Objetivos específicos

1. Apresentar e descrever o problema com todas suas características e particularidades.

2. Formalizar as variáveis e restrições presentes no problema real.

3. Criar e disponibilizar um banco de instâncias com todas as variáveis do problema.

4. Coletar e comparar dados reais que possibilitem a criação de instâncias reais doproblema.

5. Implementar a modelagem matemática em um solver para gerar limites para asinstâncias do problema.

6. Criar algoritmos específicos para a resolução do problema assim como estruturas debusca local.

7. Apresentar um estudo estatístico dos resultados computacionais obtidos pelos mé-todos propostos, para a especificação do algoritmo competitivo para o problema.

Para alcançar os objetivos propostos, o problema deve ser estudado e detalhado nassuas principais características para a compreensão do contexto em que está inserido. Estaetapa proporcionará a criação da formulação matemática do problema que atrelado a umsolver permitirá a criação dos primeiros limites do problema.

A utilização de solvers em problemas complexos e com muitas variáveis, é computaci-onalmente custosa e em alguns casos invalida sua utilização em aplicações reais. Métodos

Page 21: Roteamento de Drones Autônomo: Um Estudo Algorítmico

19

heurísticos se apresentam como boas escolhas para condições destes tipos, assim comoa utilização de estruturas de busca local possibilitam um refinamento da solução para oproblema. Para a escolha do melhor método a ser utilizado na aplicação final, é necessárioum estudo estatístico sobre um conjunto padrão de instâncias e condições idênticas deprocessamento.

1.2 Metodologia de pesquisa

A primeira fase desta pesquisa é elencar os trabalhos relacionados ao tema para com-preensão dos métodos e modelos algorítmicos utilizados. Esta etapa serviu de ponto departida para a definição de uma formulação matemática apropriada ao A-CEVRP, quetambém demonstrou a necessidade de um estudo sobre as diferentes implementações emsolvers comerciais distintos.

A pesquisa explicitou uma deficiência em instâncias com características específicaspara o A-CEVRP, dai a necessidade da criação de um banco padrão de problemas testescom todos os dados apropriados para os experimentos padronizados dos solvers e algo-ritmos implementados. Um método adaptativo foi utilizado para a criação das constantesnecessárias de cada instância com diferentes complexidades.

A partir dos primeiros limites apresentados pelo solver, a pesquisa foi direcionada paraconstrução de um método algorítmico específico de criação de soluções competitivas quepossibilite sua utilização em aplicações reais. Como o problema da classe "suficientementepróximo" tem por base a não linearidade em suas propriedades, heurísticas ad-hoc compropriedades geométricas se apresentaram como melhores escolhas em alguns trabalhosdesse tema (MENNELL, 2009; BEHDANI; SMITH, 2014).

A maioria dos métodos propostos para problemas "suficientemente próximos", tratama criação das rotas e a definição dos pontos de passagem do veículo como duas etapasdistintas, o que pode impactar diretamente no valor final da solução. Observando essascaracterísticas, foi proposto um método capaz de realizar as duas tarefas (criação das rotase a definição dos pontos) em conjunto, o que possibilitará a exploração da característicareal do problema. Essa percepção direcionou a pesquisa para a criação de um método quetratasse as duas etapas em conjunto (Clusterização Geométrica).

A ultima etapa desta pesquisa baseia-se na realização do estudo estatístico nos expe-rimentos realizados sobe os métodos propostos. Com o auxilio da base de dados criada,a análise dos dados coletados servirá de parametrização para validar as estratégias mais

Page 22: Roteamento de Drones Autônomo: Um Estudo Algorítmico

20

adequadas ao problema.

1.3 Organização do trabalho

De forma a alcançar os objetivos apresentados, além desse capítulo introdutório otrabalho possui a seguinte organização: uma pesquisa bibliográfica sobre problemas rela-cionados é apresentada no capítulo 2. A definição do problema de roteamento de veículossuficientemente próximos assimétrico e uma formulação matemática são apresentadas nocapítulo 3, assim como as especificações do banco de instâncias criado para o problema.No capítulo 4 é apresentado o método de clusterização geométrica proposto para o pro-blema, assim como as estruturas de busca local utilizada. No capítulo 5 são apresentadosalgoritmos e métodos presentes na literatura dos problemas de roteamento de veículoadaptados para o A-CEVRP. No capítulo 6 é apresentado uma análise estatística entreos métodos implementados para resolução do problema. São analisadas 240 instânciasdo problema e os resultados são comparados com os obtidos pelos solver. Por fim, asconclusões, considerações e próximas atividades da pesquisa realizada estão presentes nocapítulo 7.

1.4 Contribuições deste trabalho

A pesquisa desenvolvida por este trabalho apresentou algumas contribuições para aliteratura do problema enumeradas abaixo:

1. Definição e revisão da literatura do A-CEVRP: Uma revisão sistemática sobre pro-blemas semelhantes e evoluções necessárias para o problema, levou á criação doA-CEVRP.

2. Modelagem cônica de segunda ordem do A-CEVRP: Com as equações baseado notrabalho de (COUTINHO et al., 2016) e utilizando a restrição de subtours apresentadapor (MILLER; TUCKER; ZEMLIN, 1960), foi formulado o A-CEVRP.

3. Criação do conjunto de instâncias para o problema: Com a necessidade de novasvariáveis para testas os métodos para o A-CEVRP, criamos um conjunto de 240instâncias para o problema com todos os parâmetros de entradas necessários paraos testes.

Page 23: Roteamento de Drones Autônomo: Um Estudo Algorítmico

21

4. Criação do primeiro método baseado em clusterização para o problema: Analisandoa literatura do problema foi observado uma lacuna entre os métodos que apenasapresentam pontos significativos e outros que focam na clusterização. A Clusteriza-ção Geométrica é o único método presente na literatura dos problemas que realizamessas duas fases em conjunto.

5. Diversificação da literatura do problema: Além das publicações de artigos sobre oproblema, foi implementado dois métodos (GRASP e ACO) para o problema.

Page 24: Roteamento de Drones Autônomo: Um Estudo Algorítmico

22

2 Revisão da literatura

Como este é o primeiro trabalho a abordar e formular o A-CEVRP, a literatura dotema é resumida a problemas que também possuem a característica de "suficientementepróximo". Problemas com essa particularidade derivam do Travel Salesman Problem withNeighborhood - TSPN , introduzido por (ARKIN; HASSIN, 1994), sendo uma variante doclássico Traveling Salesman Problem - TSP . No TSPN, os n clientes são representadospor figuras geométricas. Uma solução para o problema consiste em um ciclo hamiltonianomínimo sobre pontos presentes em todas as n regiões. O custo de deslocamento é dadopela distância euclidiana entre todos os pontos do passeio, entretanto, há casos em queo problema adota funções assimétricas não negativas para valorar o comprimento dasarestas. Pode-se melhor entender o problema e suas particularidades com a figura 1 (a).

Na literatura do TSPN podemos encontrar o trabalho de (BERG et al., 2005) que apre-sentaram um algoritmo aproximativo para casos em que as regiões de visitação do TSPNsão disjuntas e convexas, além de um algoritmo polinomial que encontra o valor ótimopara casos em que as regiões de visitação são sobrepostas e não convexas. O problema,neste caso, é classificado como APX-difícil. Podemos ainda encontrar bons limites para oproblema nos recentes trabalhos de (MITCHELL, 2007) e (ELBASSIONI; FISHKIN; SITTERS,2009).

O Close-Enough Traveling Salesman Problem (CETSP ) é um caso especial do TSPN,no qual as regiões são demarcadas por círculos ou esferas. Foi formulado por (MENNELL,2009) através de equações não lineares, em que as regiões de visitação são dadas por n

circunferências centradas nas coordenadas (ai, bi) com raios ri, i = 1, ..., n. A solução écomposta por um ciclo hamiltoniano mínimo sobre pontos representativos (xj, yj) perten-centes às circunferências. Este problema é exemplificado na figura 1 (b).

(GULCZYNSKI; HEATH; PRICE, 2006) propuseram diversos métodos heurísticos paracasos em que as circunferências têm o mesmo raio, incluindo a Steiner Zone Heuristicposteriormente aprimorada por (MENNELL; GOLDEN; WASIL, 2011). Nela, três etapas são

Page 25: Roteamento de Drones Autônomo: Um Estudo Algorítmico

23

apresentadas para criação da solução. Na primeira etapa, as áreas de interseções entreos círculos de demanda (zonas de Steiner) são identificadas e enumeradas por seu graude interseção, sendo 0 para círculos que não têm interseção, 1 para círculos com umainterseção, e assim sucessivamente. Na segunda etapa, é construída uma rota criandopontos baseados no grau de cada zona de interseção. Por fim, um rearranjo da sequênciados pontos refina a solução. Como a Steiner Zone Heuristic é baseada em interseçõesdos círculos, o banco de instâncias utilizado por (GULCZYNSKI; HEATH; PRICE, 2006),(MENNELL, 2009) e (MENNELL; GOLDEN; WASIL, 2011) foi criado com sobreposição decírculos (Steiner Zone) em todos os casos, o que nem sempre acontece em aplicaçõesreais.

O problema do roteamento de robôs em uma rede de sensores sem fio com variaçãodo raio de alcance de cada cliente foi modelado por (YUAN; ORLOWSKA; SADIQ, 2007)como um CETSP. Eles apresentaram um método de permutação de sequência da rota quemodifica a rota gulosa inicialmente criada nos centros dos círculos. Posteriormente, umalgoritmo genético altera as coordenadas dos postos para minimizar o percurso realizadopelo robô, porém seu trabalho trata a restrição no formato do percurso do veículo.

Devido à complexidade do CETSP, (BEHDANI; SMITH, 2014) propuseram duas dis-cretizações para o problema chamadas de Grid-based Partition e Arc-based Partition. NaGrid-based Partition, a região da demanda é substituída por pequenos quadrados criandouma grade no círculo original. Os possíveis pontos de visita, são definidos pelos vértices dagrade. A Arc-based Partition utiliza uma heurística de secção dos círculos para espalharde forma arbitrária pontos sobre algumas regiões da circunferência. Tais pontos são basepara a criação da solução.

(COUTINHO et al., 2016) apresentaram um modelo cônico de segunda ordem parautilizar o método enumerativo branch-and-bound no CETSP. Os testes são realizados em824 instâncias e comprovam a eficácia do algoritmo em cenários de duas e três dimensões.

(CARRABS et al., 2017) apresentaram uma discretização para o CETSP, dividindo oscírculos de demandas em regiões selecionadas por um algoritmo que analisa possíveis rotas.Essa discretização tanto apresenta limites inferiores, como superiores para o problema.Além disso, foi aplicado um algoritmo de redução do grafo, que restringiu o tamanho doproblema e acelerou a computação dos limites. Os testes computacionais foram realizadosem um banco de 240 instâncias criadas para o CETSP por BEHDANI; SMITH.

Como comparação dos métodos apresentados pelos trabalhos do CETSP podemosobservar a tabela 2 expondo os autores e suas principais contribuições para a literatura

Page 26: Roteamento de Drones Autônomo: Um Estudo Algorítmico

24

do problema.

Trabalhos Métodos Ano

GULCZYNSKI; HEATH; PRICEApresentou diversos métodos heurísticosintroduzindo a heurística steiner zone. 2006

YUAN; ORLOWSKA; SADIQMétodo Heurístico com perturbação derota gulosa e um algoritmo genéticopara alterar os pontos de visitação.

2007

MENNELLHeurística Steiner Zone e formulaçãodos problemas CETSP e CEVRP. 2009 e 2011

BEHDANI; SMITHDiscretizações Grid-based Partition eArc-based Partition. 2014

COUTINHO et al.Método branch-and-bound com ummodelo cônico de segunda ordem. 2016

carrabs2017 Discretização fatiando o circulo dedemanda em possíveis regiões de visitas. 2017

O Close-Enough Vehicle Routing Problem (CEVRP) é o problema que deu origem aoA-CEVRP, porém sua literatura é resumida ao trabalho de (MENNELL, 2009), que utilizouuma programação inteira mista não linear para formular e comparar sua heurística deSteiner Zone com os resultados obtidos pelo solver GAMS do MATLAB. Seus testesforam realizados em 48 problemas testes adaptados com raios idênticos para cada clienteem um plano de duas dimensões. Assim como as instâncias do CETSP, suas instânciasforam criadas com um auto grau de Steiner Zone, ou seja, existe interseções na maioriados círculos.

Para melhor compreensão das diferentes abordagens dos trabalhos citados, podemosobservar na Figura 1 soluções para os problemas TSPN, CETSP, CEVRP, A-CEVRP esuas diferentes particularidades:

A Figura 1 (a) apresenta uma solução para o TSPN onde a demanda pode ser realizadaem qualquer ponto do polígono do cliente de forma a minimizar o tours, isso tambémacontece no CETSP Figura 1 (b), porém os polígonos são apresentados como círculos dediferentes raios. Já no CEVRP Figura 1 (c), é incluído o depósito (quadrado) no mapacomo inicio e fim das rotas dos veículos. E no A-CEVRP desenhado na Figura 1 (d),podemos observar a direção no sentido das arestas, o que proporciona uma mudança nocusto das soluções assim como pontos de execução da demanda.

Page 27: Roteamento de Drones Autônomo: Um Estudo Algorítmico

25

TSPN

(a) TSPNCETSP

(b) CETSP

CEVRP

(c) CEVRP

A-CEVRP

cost(i,j)

cost(j,i)

(d) A-CEVRP

Figura 1: Problemas suficientemente próximos

2.1 Formulações apresentadas

Foram propostas algumas formulações para os problemas suficientemente próximosapresentados anteriormente. Para a criação de um modelo de problema desta classe,fez-se necessário um estudo dos principais trabalhos que apresentam formulação parao problema. Nesta seção vamos apresentar alguns pesquisas que auxiliaram na criação damodelagem matemática do A-CEVRP.

2.1.1 TSPN

A formulação mas recente apresentada para o TSPN foi proposta por (GENTILINI;

MARGOT; SHIMADA, 2013) em um modelo de programação inteira mista não linear enão convexa, onde as regiões de demanda são enumeradas em V = {1, 2, 3, · · · , n}, umconjunto Qi ✓ Rm de polígonos para todo i 2 V . A distância é dada por uma função nãonegativa d(u, v) para todo u, v 2 Rm, nesta função é caracterizada a simetria do problema,onde d(u, v) 6= d(v, u) para todo u 6= v, o problema é assimétrico.

Page 28: Roteamento de Drones Autônomo: Um Estudo Algorítmico

26

A variável de decisão binária do problema é dado por ⇠ij que assume 1, se o cliente j

é visitado logo após o cliente i, e 0 caso contrário. Já qi 2 Rm representa o ponto de visitado caixeiro na região Qi. O modelo é dado pelas expressões (2.1) - (2.7):

Objetivo:

Min

nX

i=1

nX

j=1

⇠ijd(qi, qj) (2.1)

Sujeito à:

nX

i=1

⇠ij = 1 8 j 6= i 2 V (2.2)

nX

j=1

⇠ij = 1 8 j 6= i 2 V (2.3)

nX

i2S

nX

j2V \S

⇠ij � 1 8 S ⇢ V \1, | S |� 2 (2.4)

qi 2 Qi ✓ Rm 8 i 2 V (2.5)

⇠i 2 {0, 1} 8 i 2 V (2.6)

qi 2 Rm 8 i 2 V (2.7)

A função objetivo (2.1) calcula o valor do tour que o caixeiro realiza com o auxilio dafunção de custo não negativa d(u, v). As restrições (2.2) e (2.3) asseguram que cada vérticeé visitada exatamente uma vez. As restrições de eliminação de subtor (2.4) garantem quenenhum subtor esteja presente em uma solução forçando o número de arestas ativas quepartem de qualquer subgrafo induzido por um subconjunto dos vértices com cardinalidade

Page 29: Roteamento de Drones Autônomo: Um Estudo Algorítmico

27

maior igual a 2. Finalmente, a restrição (2.5) obriga que o vértice qi esteja dentro da regiãode visita Qi do cliente i. (2.6) e (2.7) demarcam o domínio das variáveis de decisão doproblema.

Nas instâncias testes do problema, a restrição (2.5) é linear quando o poliedro Qi éconvexo, porém quando Qi assume forma elipsoidal, essa restrição se torna não linear.(GENTILINI; MARGOT; SHIMADA) ainda apresentam uma versão do modelo com distânciadada pela norma euclidiana dos pontos par casos específicos do problema. Seu modelo étestado em instâncias com até 16 regiões de visita pelo solver não linear (COIN-OR, 2016)necessitando mais de 4 horas de processamento para uma instância.

2.1.2 CETSP

O CETSP é um caso específico do TSPN onde todas as regiões são círculos ou esferas,para este problema (MENNELL, 2009) apresenta uma formulação baseada em equaçõesnão lineares inteira mista, onde (xi, yi) são as coordenadas do ponto representativo noqual o caixeiro passará no círculo i, e (ai, bi) são constantes que demarcam o centro docírculo i de raio r. A variável de decisão binária eij assume o valor de 1 se i é predecessorimediato de j, e 0 caso contrário. As equações apresentadas por MENNELL são:

Objetivo:

Min

nX

i=0

nX

j=0

eij

q(xi � xj)2 + (yi � yj)2 (2.8)

Sujeito à:

(xi � ai)2 + (yi � bi)

2 6 r2 8i = 0, · · · , n (2.9)

nX

i=0

eij = 1 8j = 0, · · · , n (2.10)

nX

j=0

eij = 1 8i = 0, · · · , n (2.11)

Page 30: Roteamento de Drones Autônomo: Um Estudo Algorítmico

28

nX

i,j2S

eij 6 |S|� 1 8 S ✓ {1, · · · , n}, 2 6 |S| 6 n (2.12)

q(xi � xj)2 + (yi � yj)2 > ✏ 8i, j = 0, · · · , n (2.13)

eij 2 {0, 1}, (xi, yi) 2 R⇥ R 8i, j = 0, · · · , n (2.14)

A função objetivo (2.8) minimiza o passeio realizado pelos pontos representativos, ocusto da aresta que liga os pontos de coordenadas (xi, yi) à (xj, yj), é dada pelo cálculo dadistância euclidiana

p(xi � xj)2 + (yi � yj)2 o que torna a função objetivo não linear. A

restrição (2.9) garante que o ponto representativo (xi, yi) esteja dentro da circunferênciade centro (ai, bi) de raio r. A restrições (2.10) e (2.11) garantem a continuidade do fluxodo percurso do caixeiro. (2.12) é uma restrição de proibição de subtour para o problema.

A restrição (2.13) foi inserida no modelo para que toda aresta tenha uma distânciamínima de ✏. Por fim a restrição (2.14) define a variável eij binária, e as coordenadas xi, yi

como valores reais. Algumas linearizações e outras modelagens para o CETSP forampropostas por (BEHDANI; SMITH, 2014), (COUTINHO et al., 2016) e (CARRABS et al., 2017).

2.1.3 CEVRP

No mesmo trabalho (MENNELL, 2009) formulou o CEVRP, uma versão com várioscaixeiros do CETSP através da programação não linear inteira mista. No CEVRP, pelomenos uma rota deve atravessar um disco de raio r que rodeia cada nó i. O raio é o mesmopara cada nó, denotamos a circunferência envolvendo o nó i como disk(i). Qualquer rotaque toca ou passa pelo disk(i) visita o nó i (com exceção do depósito ,nó 0, que não temdisco). O nó i é um ponto fixo no plano na coordenada (ai, bi). Denotamos isto comoorig(i), a origem do nó i. Assumimos que orig(i) 6= orig(j) para todo i e j � 0.

O depósito, no entanto, pode ter as mesmas coordenadas que o nó i. Não existe nenhumrequisito de tempo de serviço em qualquer nó. Seja ✏ o menor comprimento diferente dezero de qualquer aresta. Exigir que todas as arestas tenham um comprimento diferentede zero não elimina soluções viáveis quando o depósito tem as mesmas coordenadas que

Page 31: Roteamento de Drones Autônomo: Um Estudo Algorítmico

29

o nó i, desde que ✏ esteja suficientemente próximo de zero.

Seja (xi, yi) a coordenada de um tour de um veículo que está perto o suficiente donó i. A coordenada (xi, yi) é conhecida como ponto representativo do nó i. xi e yi sãovariáveis contínuas ilimitadas. As distâncias no CEVRP assim como no CETSP são dadaspor

p(xi � xj)2 + (yi � yj)2. A variável binária eijk torna-se igual a 1 se o nó i precede

imediatamente o nó j no tour do veículo k, e 0 caso contrário. Já a variável wik assume 1,se o no i é visitado pelo veículo k, e 0 caso contrário. As constantes do problema são dadaspor: li representa o tempo de chegada no nó i; K é o número de veículos disponíveis; Q eL são constantes que representam a capacidade máxima e o comprimento dos tours paratodos os k veículos, respectivamente. Com esses valores MENNELL apresenta o CEVRP.

Objetivo:

Min

nX

i=0

nX

j=0

KX

k=1

eijk

q(xi � xj)2 + (yi � yj)2 (2.15)

Sujeito à:

x0 = a0; y0 = b0 (2.16)

(xi � ai)2 + (yi � ai)

2 6 r2 8i = 1, · · · , n (2.17)

q(xi � xj)2 + (yi � yj)2 > ✏ 8i, j (2.18)

w0k = 1 8k (2.19)

l0 = 0 (2.20)

Page 32: Roteamento de Drones Autônomo: Um Estudo Algorítmico

30

KX

k=1

wik = 1 8i = 1, · · · , n (2.21)

nX

i=1

qiwik Q 8k (2.22)

nX

i=0

eijk =nX

i=0

ejik = wjk 8j, k (2.23)

li + eijkdij � (1� eijk)L lj 8k; i � 0, j � 1, (2.24)

li + eijkdij + (1� eijk)L lj 8k; i � 0, j � 1, (2.25)

0 li + di0 L 8i � 1 (2.26)

nX

i,j2S

eijk 6 |S|� 1 8 S ✓ {1, · · · , n}, 2 6 |S| 6 n 8k (2.27)

eijk 2 {0, 1}, (xi, yi) 2 R⇥ R 8i, j, k (2.28)

A função objetivo (2.15) minimiza a distância total de todos os passeios. Os coefici-entes estão em funções dos pontos representativos. De (2.17) a (2.18) são restrições quecaracterizam o problema suficientemente próximo, idêntico ao CETSP na seção 2.1.2, jáas restrições (2.19) à (2.26) são restrições oriundas do VRP.

A restrição (2.16) obriga que o ponto representativo do depósito seja a origem, (a0, b0).A restrição (2.17) exige que cada ponto representativo i fique ao redor da circunferência

Page 33: Roteamento de Drones Autônomo: Um Estudo Algorítmico

31

(ai, bi). O índice não inclui o depósito (i = 0) como não há disco em torno do depósito.A restrição (2.18) requer que a distância entre dois pontos de visita sejam estritamentepositivos.

A restrição (2.19) exige que todos os veículos visitem o depósito e (2.20) define otempo de chegada no depósito como 0. Sem essas duas restrições, os tempos de chegadanão serão computados corretamente. A restrição (2.21) requer que todos os nós sejamvisitados enquanto (2.22) reforça as restrições de capacidade de cada veículo. Em (2.23),cada nó é obrigado a ter exatamente um antecessor e um sucessor. Juntos, (2.19) e (2.23)forçam a solução a usar todos os k veículos. As restrições (2.24) e (2.25) exigem que otempo de chegada no nó j seja igual ao tempo de chegada no nó i mais a distância entreos dois (i, j), se e somente se, i precede imediatamente j na rota de k.

A restrição (2.26) força cada rota a retornar ao depósito dentro do limite de distânciaprescrito. Finalmente, a restrição (2.27) proíbe subtours forçando o número de arestasem qualquer subconjunto de nós, excluindo o depósito, a ser no máximo um menor quea cardinalidade do subconjunto. Por fim, (2.28) define as propriedades das variáveis dedecisão. Esse é o único trabalho a tratar e formular o CEVRP.

Page 34: Roteamento de Drones Autônomo: Um Estudo Algorítmico

32

3 Asymmetric Close-Enough VehicleRouting Problem

Ao utilizar o CEVRP para rotear VANTs autônomos, compreendemos que a mode-lagem proposta por MENNELL não aborda algumas características primordiais para taltarefa. A principal dificuldade foi percebida no deslocamento assimétrico do veículo, des-considerado por sua formulação. Também foi identificado a exigência imposta naquelemodelo de utilizar todos os veículos disponíveis no depósito com a mesma capacidadede deslocamento (frota homogênea). Isso não necessariamente é verdade para todos oscenários. Então, surgiu a necessidade de formular um problema que compreenda essasespecificações. Alguns requisitos observados na aplicação do problema em casos reais sãolistados a seguir:

• Proximidade do alvo: para realizar a demanda em cada ponto, o veículo necessitaaproximar-se do centro do alvo à uma distância r mínima.

• Capacidade de deslocamento do veículo: cada veículo k possui capacidade de deslo-camento limitada por Qk.

• Deslocamento assimétrico: devido à resistência do vento sobre os veículos, o esforçode deslocamento do ponto i para j, que pode ser representado como a distânciaentre i e j, pode ser diferente no deslocamento de j para i.

A habilidade de realizar demanda em um ponto próximo do alvo, é a característicade problemas da classe suficientemente próximo, inserindo nas variáveis de decisão doproblema as coordenadas do ponto representativo, o que originalmente no VRP é dadocomo constante de entrada na matriz de distâncias entre os clientes.

Como característica do VRP, existem capacidades pré-determinadas para os veículosenvolvidos. Na maioria dos cenários esse valor é dado pela distância máxima de uma rota.Outra particularidade a ser considerada é a capacidade heterogênea da frota de veículos

Page 35: Roteamento de Drones Autônomo: Um Estudo Algorítmico

33

envolvidos, para o A-CEVRP o, diferentemente do CEVRP, valor máximo da rota que oveículo k pode percorrer é dado pela constante Qk.

3.1 Interferências dos ventos

O roteamento de VANTs em um cenário totalmente controlado sem interferências deforças externas (cenário desejado), o deslocamento de um veículo dij do ponto i até umponto j é simétrico ao deslocamento do ponto j até o ponto i. Mas em casos reais existeinterferências de fatores presentes na natureza (gravidade, chuva, vento, etc).

Algumas interferências se sobrepõem a outras devido sua intensidade no deslocamento.A gravidade por exemplo, é uma interferência presente na natureza porém, em princípio jáconsiderada no voo do veículo. No caso dos ventos, pode ser aplicada uma carga positiva(vento de cauda) ou negativa (vento de proa) no deslocamento do veículo. Com isso opercurso do ponto i até o ponto j depende da intensidade e direção do vento, e pode sermaior ou menor do que o caminho inverso.

Para incluir a perturbação dos ventos no problema, é necessário estimar a interferênciaaplicada aos veículos (sem considerar a velocidade). A álgebra vetorial é utilizada parainferir o cálculo da intensidade (interferência do vento + deslocamento do veículo), direçãoe sentido (vento de calda ou de proa). As três grandezas vetoriais podem ser utilizadaspara determinar a diferença do deslocamento do veículo com a interferência do vento,oventoij , que é dado na equação (3.1). Onde oij é o vetor deslocamento do veículo sem

nenhuma interferência, m é o vetor que representa a interferência do vento e � o ânguloformado entre eles.

oventoij = o

2ij +m

2 + 2 oij m cos � (3.1)

O valor da soma vetorial dada pela equação (3.1) está diretamente ligada ao sentidodo vento �. Essa ligação pode ser utilizada positivamente Figura 2 (a), quando o vento m

está favorável ao deslocamento oij (� � 90o), isso se dar pois o cosseno de � é positivo.Já na Figura 2 (b), oventoij sofre um decréscimo, pois o cosseno de � é negativo. Portantopode-se definir valores quando o vento é de calda (positivo), ou vento de proa (negativo),analisando o ângulo formado entre a direção de oij e m.

Com o valor de oventoij calculado é possível encontrar a interferência que o vento bij

aplica no deslocamento do veículo bij = oij � oventoij . Seu valor (bij) é normalizado em uma

Page 36: Roteamento de Drones Autônomo: Um Estudo Algorítmico

34

m

oijβ

m

oijβ

sventoij

sventoij

oventoij

oventoij

(a) Vento Positivo

m

oijβ

m

oijβ

sventoij

sventoij

oventoij

oventoij

(b) Vento Negativo

Figura 2: Deslocamento com interferência dos ventos

escala de 0.5 até 1.5, o que representa no melhor caso (0.5) a redução de 50% no impacto dadistância, e no pior caso (1.5) um aumento de 50% na interferência do deslocamento. Essesvalores podem ser ajustados de acordo com a característica dos veículos que realizarão opasseio.

Para entender o que representa bij no A-CEVRP, faz-se necessário a compreensãodas diferentes velocidades dadas pela Engenharia Aeronáutica, as quais interferem nosdescocamentos estudadas por (MANDLE; GOUDON, 1989), e (SLATTERY; ZHAO, 1997):

• Velocidade Indicada, ou VI : Também chamada de IAS (Indicated Air Speed) é avelocidade lida diretamente no instrumento, corrigida para os erros do instrumento.Essa é a velocidade na qual são baseadas todos os parâmetros de performance daaeronave.

• Velocidade Calibrada, ou VC : Também chamada de CAS (Calibrated Air Speed)que é a VI corrigida para os erros de instalação do instrumento e do sistema piloto-estático. Na maioria dos velocímetros modernos podemos considerar a V I = V C.

• Velocidade Aerodinâmica, ou VA: Também chamada de TAS (True Air Speed) é avelocidade verdadeira em relação ao ar. É a VC corrigida para os erros de altitudee temperatura. Essa correção é feita por tabelas ou por meio de um computador devoo.

• Velocidade em Relação ao Solo, ou VS : Também chamada de GS (Groundspeed) é avelocidade com que o avião se desloca em relação ao solo. Basicamente é a velocidadeaerodinâmica mais o efeito do vento. Se tivermos vento de cauda, a VS será maiordo que a VA. Com vento de proa a VS será menor do que a VA.

Page 37: Roteamento de Drones Autônomo: Um Estudo Algorítmico

35

O cálculo da Groundspeed ou Velocidade em Relação ao Solo, inclui a interferênciado vento e o deslocamento que o veículo necessita realizar. Conhecendo estes conceitos deinterferência e velocidades, pode-se incluir no cálculo do deslocamento de um ponto i atéo ponto j como a distância entre eles dij multiplicado pelo valor da interferência do ventobij na sua trajetória. Um estudo mais aprofundado sobre esse tema é feito por (MANDLE;

GOUDON, 1989) e (SLATTERY; ZHAO, 1997).

O valor de bij pode ser calculado considerando uma inferência da direção e intensidadedo vento presentes no local. Mas se for possível coletar mudanças nesses valores em pontosdistintos do mapa, por sensores presentes no local ou durante o voo de reconhecimento,pode-se recalcular o valor de impacto bij para criar rotas mais adequadas à situaçãoatual. Esses valores são dados como parâmetros de entrada do problema que interferemdiretamente no custo da solução.

O custo do deslocamento no A-CEVRP de um ponto i até outro ponto j é dadopela multiplicação da variável de decisão que representa a distância euclidiana dij (seminfluência do vento), pela constante de interferência dos ventos bij.

Para uma aplicação mais real, a leitura em diferentes partes do espaço de monitora-mento ou até um estudo nos padrões climáticos pode mostrar a velocidade e sentido dovento com mais precisão.

3.2 Capacidade heterogênea dos veículos

Em alguns problemas derivados do VRP a característica do veículo define a estra-tégia de resolução e de criação das rotas. Há cenários em que alguns tipos de veículossão destinados para uma demanda específica, como coleta e entrega de produtos, ou pes-soas (VELASCO et al., 2009), (RIERA-LEDESMA; SALAZAR-GONZÁLEZ, 2013). Existe aindasituações em que a demanda requer tempo de execução e a ordem de visita determinadiferentes demandas (GOLDBARG; GOLDBARG; DUARTE, 2010), (TRICOIRE, 2007). Con-tudo, em todos os trabalhos anteriormente citados, a distância máxima do percurso deum veículo é algo a ser considerado na aplicação.

No caso de roteamento de VANTs, a restrição no deslocamento é baseada na capa-cidade da bateria ou em alguns casos no reservatório de combustível. A heterogeneidadeda aplicação fica por conta da diferença nos veículos e até nos distintos rendimentos dasbaterias. A capacidade total Qk de deslocamento de um veículo k é obtida pelas instânciasdo problema. Mas esse valor pode ser encontrado nas especificações técnicas do equipa-

Page 38: Roteamento de Drones Autônomo: Um Estudo Algorítmico

36

mento utilizado, ou ainda inferido em testes de potência. Para o nosso problema esse éum dado de entrada que pode determinar a existência de uma solução válida, ou até anão utilização de veículos disponíveis.

3.3 Formulação do A-CEVRP

Além da capacidade heterogênea da frota (Qk) e a interferências dos ventos (bij), utili-zamos alguns métodos para criar o modelo do A-CEVRP a fim de melhorar o desempenhodo solver em comparação do modelo do CEVRP. A primeira alteração foi baseada no es-tudo de (MILLER; TUCKER; ZEMLIN, 1960), onde para proibir subtours é utilizado umarestrição de sequenciamento de visitas de cidades. Onde são necessárias O(n2) restriçõesem n

2 � 1 variáveis, esses valores representam um importante avanço para o aperfeiçoa-mento das restrições de subtours da formulação apresentada por (DANTZIG; FULKERSON;

JOHNSON, 1954), uma comparação entre os dois tipos de restrição pode ser encontradaem (GOLDBARG; GOLDBARG; LUNA, 2016).

A formulação do CEVRP apresentada por (MENNELL, 2009), não pode ser resolvidapor solver de programação linear, pois sua modelagem envolve o cálculo da distânciaeuclidiana com a utilização de raiz quadrada. Isto classifica sua formulação como ummodelo de programação não linear com funções não convexas. Essa característica restringesua aplicação em apenas solvers não lineares ou com uso de linearizações do modelo.Uma alternativa para solucionar problemas dessa classe foi proposta por (COUTINHO et

al., 2016), onde é apresentado uma formulação cônica de segunda ordem para substituira distância euclidiana. Essa proposta serviu de base para formulação do A-CEVRP comoum modelo cônico de segunda ordem.

No A-CEVRP, |V | veículos partem de um único depósito e visitam n áreas demarcadaspor circunferências de raios ri. Qualquer rota que toca ou passa pela circunferências ci

atende a demanda do nó i (com exceção do depósito, nó 0, que não tem raio), o centrodesse círculo ci é demarcado pelas coordenadas constantes (ai, bi).

As variáveis de decisão xi, yi representam as coordenadas do ponto de visitação i darota de um veículo que atenderá a demanda deste nó. A coordenada (xi, yi) é conhecidacomo ponto representativo do nó i. Qualquer um dos pontos do deslocamento do veículoque corta a circunferência ci pode ser selecionado como ponto representativo do nó i.

As distâncias no CEVRP são dadas porp

(xi � xj)2 + (yi � yj)2. Mas para a exclusãoda raiz quadrada na modelagem do A-CEVRP, é utilizada a variável de decisão auxiliar

Page 39: Roteamento de Drones Autônomo: Um Estudo Algorítmico

37

dij que demarca a distância euclidiana do ponto i para o ponto j. Com a adição dessavariável pode-se obter seu valor pela função d

2ij = (xi � xj)2 + (yi � yj)2.

Como dij é uma distância euclidiana, temos que dij = dji, ou seja, um deslocamentosimétrico entre os dois pontos. Mas para guardar a característica assimétrica no desloca-mento do A-CEVRP, utilizamos a variável de decisão zijk que representa o deslocamentodo ponto i para o ponto j com a influência do vento bij realizada pelo veículo k. Temoszijk = bijdij quando o veículo k realiza o trajeto do ponto i para j (eijk = 1), e 0 casocontrário. A soma de todos os valores de zijk de um veículo k representa o custo total darota do veículo k. O custo da rota deve ser restringido por sua capacidade Qk.

Para garantir a continuidade do fluxo da rota para de um veículo k, utiliza-se a variávelde decisão binária eijk. A qual assume o valor 1, se o veículo k realiza o deslocamento doponto i até o ponto j, e 0 caso contrário. eijk ainda auxilia na proibição de subtours e naverificação do cumprimento da demanda wik realizada pelo veículo k no nó i.

Os dados de entrada do problema são:

• (ai, bi) coordenadas cartesianas do ponto i.

• ri raio do ponto i.

• Qk distância máxima permitida para a rota do veículo k .

• bij influência dos ventos no deslocamento do ponto i para o ponto j.

As variáveis de decisão do problema são:

• wik =

(1, se o veículo k atende a demanda do ponto i.0, caso contrário.

• eijk =

(1, se o veículo k sai do ponto i para o ponto j.0, caso contrário.

• ui ordem em que o ponto i é visitado (restrição de subtours, (MILLER; TUCKER;

ZEMLIN, 1960) - MTZ).

• xi coordenada cartesiana x de um ponto suficientemente próximo de i.

• yi coordenada cartesiana y de um ponto suficientemente próximo de i.

• dij distância entre o ponto i até o ponto j, sem a influência dos ventos.

Page 40: Roteamento de Drones Autônomo: Um Estudo Algorítmico

38

• zijk distância que o veículo k percorre do ponto i até o ponto j com a interferênciado vento (bij), 0 caso i, j não esteja na rota de k.

Objetivo:

Min

nX

i=0

nX

j=0

|V |X

k=0

zijk (3.2)

Sujeito à:

(xi � ai)2 + (yi � bi)

2 6 r2i 8 i 2 N (3.3)

(xi � xj)2 + (yi � yj)

2 = d2ij 8 i, j 2 N, i 6= j (3.4)

dijeijkbij = zijk 8 i, j 2 N e 8 k 2 V (3.5)

nX

i=0

nX

j=0

zijk 6 Qk 8 k 2 V (3.6)

nX

j=1

eijk =nX

j=1

ejik = wik 8 i 2 N e 8 k 2 V (3.7)

|V |X

k=0

wik = 1 8 i 6= 0 2 N (3.8)

|V |X

k=0

w0k � 1 (3.9)

Page 41: Roteamento de Drones Autônomo: Um Estudo Algorítmico

39

ui � uj + n.eijk n� 1 8 i, j 2 N, i 6= j, i, j > 0 e 8 k 2 V (3.10)

ui n� 2 8 i 2 N, i, j > 0 (3.11)

eijk, wik 2 {0, 1}; ui 2 Z+; xi, yi, dij, zijk 2 R 8 i, j 2 N e 8 k 2 V (3.12)

A função objetivo (3.2) minimiza a distância percorrida por todos os veículos para omonitoramento dos n pontos. A restrição (3.3) garante que o ponto (xi, yi) seja suficiente-mente próximo de (ai, bi), uma vez que a distância máxima para o ponto ser consideradosuficientemente próximo é definida por ri. Em (3.4) o cálculo da distância entre i e j érealizado e atribuído à variável de decisão dij.

O valor do deslocamento de i até j com a influência dos ventos bij quando o veículok efetua esse trajeto é atribuído a zijk na restrição (3.5) . A restrição (3.6) garante que ocomprimento total da rota de cada veículo não ultrapasse o limite Qk. A restrição (3.7)assegura que, quando um veículo k entra em um círculo i, ele deve continuar sua rotapara um ponto j até retornar à base. A restrição (3.8) determina que todo ponto i deveser atendido por um veículo k. A restrição (3.9) diz que um ou mais veículos partem dodepósito. As restrições (3.10) e (3.11) são de proibição de subtours definidas conforme otrabalho de (MILLER; TUCKER; ZEMLIN, 1960). A ideia principal das restrições (MILLER;

TUCKER; ZEMLIN, 1960) é de rotular os vértices de modo que cada rótulo represente aordem em que os vértices são visitados pelos veículos, proibindo uma ordem. Por fim, arestrição (3.12) estabelece os tipos das variáveis do problema.

3.4 Banco de instâncias do A-CEVRP

Como o A-CEVRP não tem registro na literatura, foi necessário a criação de dadospara padronizar os testes desse e de trabalhos futuros. Como o CETSP foi o problema quemais se aproximou do A-CEVRP com banco de instâncias disponíveis, utilizamos as 240instâncias criadas por (BEHDANI; SMITH, 2014) para este problema. Nelas são dadas ascoordenadas centrais (ai, bi) dos círculos clientes. O banco de instâncias disponibilizado

Page 42: Roteamento de Drones Autônomo: Um Estudo Algorítmico

40

por (BEHDANI; SMITH, 2014) é dividido em oito grupos com 6, 8, 10, 12, 14, 16, 18 e20 pontos além do depósito. Cada conjunto tem 30 instâncias distintas, e os raios dasregiões de demandas são fixos em 0,5. A unidade de medida não foi informada, por isso,utilizamos nos nossos experimentos UM (unidade de medida) como unidade padrão.

3.4.1 Cálculo da interferência dos ventos bij

Os valores de bij, interferências do vento na trajetória do veículo, é dado pela soma devetores oij e m calculada na equação (3.1), apresentado na seção 3.1.Os dados do vetor dovento m são calculados por sua força fm e sua direção am. As instâncias criadas por essetrabalho, utiliza os valores de fm = 10 e am = 180o, onde o valor de am é dado em relaçãoo eixo cartesiano x. am = 180o significa que o vento está no sentido contrário ao eixocartesiano x. Como um vetor é uma grandeza matemática com módulo, direção e sentido,para encontrar o

ventoij é preciso calcular os módulos dos vetores envolvidos e o cosseno do

ângulo formado entre eles com as equações (3.13), (3.14) e (3.15).

|m| =p

(fm cos am)2 + (fmsen am)2 (3.13)

|oij| =q

(aj � ai)2 + (bj � bi)2 (3.14)

cos � =(aj � ai)(fm cos am) + (bj � bi)(fmsen am)

|oij||m| (3.15)

Na equação (3.13) o componente de m no eixo cartesiano x é dado pelo cosseno do seuângulo am. E o seno de am representa o componente de w no eixo y. fm é a intensidade dovento na sua direção. Já o modulo de oij é dado pela equação (3.14), onde (ai, bi), (aj, bj)

são as coordenadas cartesianas dos centros dos círculos i e j respectivamente. Por fim, ocosseno do ângulo formado entre oij e m (�) é apresentado na equação (3.15).

A partir desses valores é possível calcular o oventoij que representa a distância do ponto

i até j com a influência dos ventos. Porém, oventoij é calculado com as coordenadas centraisdos círculos de demanda i e j, assim para encontrar a interferências dos ventos bij partindode qualquer ponto da região de i para a região de j, utiliza-se a equação (3.16)

bij = oij � oventoij (3.16)

Page 43: Roteamento de Drones Autônomo: Um Estudo Algorítmico

41

Os valores de bij calculados na equação (3.16), são normalizados em uma escala[0.5, 1.5]. Quando oij = s

ventoij , temos bij = 1 o que representa um cenário que não existe

influência do vento na trajetória do veículo. Para oij < oventoij , bij pode chegar no seu valor

máximo 1, 5, o que caracteriza o pior cenário de interferência dos ventos na trajetóriado veículo. E para o melhor cenário oij > o

ventoij , bij pode chegar ao seu menor valor 0, 5

e reduzir a trajetória de i para a j pela metade do valor original dij. O impacto dessesvalores podem ser alterados de acordo com a características dos veículos utilizados, maspara a criação do banco de instâncias do A-CEVRP, optamos por utilizar um valor fixopara os veículos, alterando apenas a sua capacidade de deslocamento Qk.

3.4.2 Cálculo da capacidade de deslocamento do veículo Qk

Em cenários reais a capacidade do veículo é medida por tempo de voo, logo podemosinferir a distância máxima que um veículo pode percorrer com uma velocidade médiapredeterminada. Mas, para testar o algoritmo com diferentes capacidades veicular, uti-lizamos um algoritmo que disponibiliza bn

4 c veículos para criação de rotas partindo depontos distintos. Com isso, são disponibilizados 2 veículos para os conjuntos de instânciasde até 10 pontos, 3 veículos para instâncias com 12 e 14 pontos, 4 veículos para instânciascom 16 e 18 pontos, e 5 veículos para instâncias com 20 pontos.

As rotas são criadas partindo da base e percorrendo os centros de cada cliente, semprebuscando o ponto mais próximo do último nó visitado (algoritmo guloso). Esse passose repete para cada veículo k ordenado por seu índice (k = 1, · · · , k), até que todasas circunferências sejam visitadas e os veículos retornem para a base. Os índices dosveículos são redefinidos por sua capacidade, o que dar ao veículo de menor índice a maiorcapacidade de deslocamento Qk. Como esse algoritmo guloso é iterativo e determinístico,será disponibilizado no repositório do problema (LAE, 2018), para utilizá-lo na criação decapacidades em conjuntos de instâncias futuras.

Com esses valores teremos todos os dados necessários para a criação de uma soluçãodo A-CEVRP. Os arquivos com todos os valores que compõem o banco de instância criadonesse trabalho está disponibilizado em http://www.dimap.ufrn.br/lae/en/projects/

ACEVRP.php. Assim como os limites conhecidos de cada problema para análises de traba-lhos futuros.

Page 44: Roteamento de Drones Autônomo: Um Estudo Algorítmico

42

3.5 Representação de uma solução do A-CEVRP

O A-CEVRP, assim como a maioria dos problemas derivados do VRP, pode ser re-presentado por um conjunto de sequência de pontos que compõem as rotas. Também énecessário representar as coordenadas dos pontos representativos onde o veículo realizaráa demanda como exemplificado na Figura 3.

8

1.4

9.5

5

1.9

8.1

6

4.3

6.1

7

6.4

2.7

3

1.5

2.6

2

3.4

0.5

9

8.5

0.9

4

3.8

3.4

1

8.4

9.9

k = 2

k = 1

Figura 3: Representação gráfica da estrutura de solução do A-CEVRP

A Figura 3 mostra uma representação gráfica da estrutura que caracteriza uma soluçãodo A-CEVRP. As coordenadas dos pontos de visita estão nos quadrados coloridos, osvalores do eixo cartesiano x estão em azul, e as coordenadas do eixo y estão em verde. Jáo índice do ponto visitado está dentro do retângulo preto em cima das coordenadas. Oretângulo tracejado, representa todo conjunto que forma a rota do veículo k.

Vale ressaltar que no início e no fim de cada rota está o ponto base, porém não sendonecessário estar presente na estrutura de representação, uma vez que seu valor é constantee está regra aplicada em qualquer condição. O custo da rota é dado pelas distâncias entrea sequência de pontos presente nela, assim como a saída e o retorno do veículo à base. Jáo custo da solução é a soma de todas as rotas necessárias para atender as demandas dosclientes.

Page 45: Roteamento de Drones Autônomo: Um Estudo Algorítmico

43

4 Clusterização Geométrica

Na literatura do VRP é possível encontrar diversos trabalhos com métodos heurísticose exatos (SHARMA; ROUTROY; YADAV, 2018), contudo, em casos que o tempo computa-cional é um fator agravante e soluções sub-ótimas são aceitáveis, métodos heurísticos seapresentam como escolhas assertivas. Em cenários reais, a criação das rotas pode serrealizada durante o voo e esse tempo impacta diretamente no sucesso da aplicação.

Muitos dos métodos heurísticos aplicados ao VRP realizam clusterização de vérticese logo em seguida criam rotas atribuídas aos veículos específicos. Como definida por(JAIN; MURTY; FLYNN, 1999), a clusterização é a classificação de dados para criar umagrupamento ou cluster que lhe defina. Uma ação ideal para a escolha de quais pontosparticipará de qual rota.

Na literatura, a ordem em que é empregada a clusterização na heurística, determinaduas classes de algoritmo para o problema. O algoritmo proposto por esse trabalho apostano sucesso da clusterização como primeira fase da heurística. Uma revisão sobre algunsmétodos e trabalhos que também utilizam essa estratégia, pode ser encontrada em (PRINS;

LACOMME; PRODHON, 2014).

4.1 Propriedades Geométrica

No A-CEVRP, assim como em seus problemas semelhantes, a área que demarca ocliente é um círculo, quando o plano é dado em duas dimensões, e uma esfera quandoacrescentamos a terceira dimensão geográfica. Para melhor compreender as particularida-des do problema utilizamos algumas propriedades básicas da geometria euclidiana.

4.1.1 Propriedades do círculo e da circunferência

O primeiro ponto a ser entendido é a definição da superfície de um círculo, tambémchamada de circunferência: "é o conjunto de pontos com a mesma distância (chamado

Page 46: Roteamento de Drones Autônomo: Um Estudo Algorítmico

44

raio) de um único ponto chamado centro". Ou em função de duas coordenadas cartesianas(x, y), todos os pontos que satisfazem a restrição (4.1) para uma circunferência de raio r

centrada no ponto (xo, yo).

(x� xo)2 + (y � yo)

2 = r2 (4.1)

Para representar uma superfície de uma esfera (círculo em três dimensões), inserimosas variáveis z e zo na equação (4.1). Se um ponto p estiver a um distância menor doque r, então p faz parte do interior do círculo. A junção dos pontos do interior, e dacircunferência, formam o conjunto de pontos que representam um círculo.

Partindo da premissa que "a menor distância entre um ponto externo pe a um pontointerno pi do círculo, é dada por uma semi-reta formada entre pe e ps. Sendo ps pertencentea superfície do círculo" . Com isso, podemos inferir que para o veículo realizar o menordeslocamento de um ponto fora da região de demanda, até um ponto interno do círculo,deve-se deslocar em linha reta para a superfície do círculo de demanda.

4.1.2 Propriedades de um segmento de reta

Sabe-se que a menor distância entre dois pontos no plano euclidiano é representado porum segmento de reta com o comprimento dado pela distância entre eles. Para encontrar aequação que formula o segmento de reta que une dois pontos a(xa, ya) e b(xb, yb) distintos,utilizamos as coordenadas de um terceiro ponto p(x, y) também presente a esta reta. pesta alinhado simultaneamente a a e b. Com isso, pode-se encontrar a equação da reta apb

pelo determinante da matriz (4.2) formada por suas coordenadas.

2

664

x y 1

xa ya 1

xb yb 1

3

775 = (ya � yb)x+ (xa � xb)y + xayb � xb � ya (4.2)

ax+ by + c = 0 (4.3)

De forma genérica, podemos reescrever o determinante da matriz (4.2), substituindo(ya� yb) por a, (xa�xb) por b, e xayb�xb� ya por c, criando a equação reduzida de umareta dada em (4.3). Partindo das fórmulas (4.2) e (4.3), pode-se construir a equação dareta formada de um ponto externo a circunferência até seu centro.

Page 47: Roteamento de Drones Autônomo: Um Estudo Algorítmico

45

4.1.3 Posição relativa entre reta e circunferência

Quando uma reta e uma circunferência fazem parte do mesmo plano, pode-se inferirtrês condições relativa a suas posições: reta externa a circunferência, reta tangente acircunferência, e reta secante a circunferência. Essas três situações podem ser observadasna Figura 4.

c

p

r

(a) Reta externa à circunferência

rc

p

(b) Reta tangente à circunferência

cr

pt2

t1

(c) Reta secante à circunferência

Figura 4: Posição relativa entre a reta e a circunferência

No primeiro caso, Figura 4 (a), a reta (em azul) está externa a circunferência, como conjunto de interseção entre ela e a circunferência vazio. Pode-se observar a existênciade um único ponto p pertencente a reta com a menor distância do centro c (xc, yc) dacircunferência. Essa distância é maior do que o comprimento do raio pc < r.

Para o caso em que distância entre o ponto p e o centro c tem a mesma medida que oraio r, Figura 4 (b). Tem-se uma tangente a circunferência que possui apenas um pontop em comum a circunferência e a reta. p neste caso, é o ponto mais próximo do centro c

Page 48: Roteamento de Drones Autônomo: Um Estudo Algorítmico

46

pertencente a reta pc. Pode-se ainda inferir que o raio da circunferência forma um ângulode 90o graus com a reta, ou seja, uma reta tangente a uma circunferência é perpendicularao seu raio, independente da localização da reta e da circunferência.

No último caso apresentado pela Figura 4 (c), a reta corta a circunferência em doisponto distintos, assim é dito que a reta é secante à circunferência. O segmento pc per-pendicular a reta, é menor do que o raio r da circunferência, e o conjunto de interseçãoformado por dois pontos t1 e t2, estão a uma distância r do centro da circunferência. Aunião dos segmentos ct1p forma um triângulo retângulo com hipotenusa igual a r.

Com a necessidade de encontrar as coordenadas de t1 e t2, a equação reduzida da reta(4.3) é substituída na equação da esfera (4.1). Isso cria uma equação quadrática definidaem(4.4). Para solucionar essa equação de segundo grau, é necessário definir os coeficientesa, b e c através dos cálculos (4.5), (4.6) e (4.7) respectivamente, onde (xa, ya) e (xb, yb)

são dois pontos pertencente a reta que auxiliam na criação da equação (4.3), e (xo, yo) éponto central da circunferência de raio r.

ax2 + bx+ c = 0 (4.4)

a = (xb � xa)2 + (yb � ya)2 (4.5)

b = 2[(xb � xa)(xa � xo) + (yb � ya)(ya � yo)] (4.6)

c = x2o + y

2o + x

2a + y

2a � 2[xoxa + yoya]� r

2 (4.7)

A solução para a equação (4.4) é dada pela fórmula Bhaskara (4.8), e através do valor� = b

2 � 4ac é possível inferir três distintas condições: se � < 0, a reta não cruza aesfera, Figura 4 (a); se � = 0 a reta toca a esfera em um único ponto, a reta é tangentea circunferência, Figura 4 (b); e � > 0, temos dois pontos presentes na circunferência,Figura 4 (c).

⌧ =�b±

pb2 � 4ac

2a(4.8)

Quando a reta é tangente a circunferência, as coordenadas do ponto p são dadas pelasequações (4.9), com � = 0 e ⌧ = �b/2a. Para o caso de � > 0, ⌧ assume dois valores:

Page 49: Roteamento de Drones Autônomo: Um Estudo Algorítmico

47

⌧1 = �b+pb2 � 4ac/2a, e ⌧1 = �b�

pb2 � 4ac/2a. Os dois valores de ⌧ é substituído nas

equações (4.10) para definir as coordenadas de t1 e t2.

xp = xa + ⌧(xb � xa)

yp = ya + ⌧(yb � ya)(4.9)

xti = xa + ⌧i(xb � xa)

yti = ya + ⌧i(yb � ya)(4.10)

4.1.4 Interseção de dois círculos

Da mesma forma que uma reta e um circunferência presentes no mesmo plano podemestar em três posições diferentes, duas circunferências distintas podem assumir quatroposições relativas. No primeiro caso as circunferências não possuem nenhum ponto emcomum. Esse cenário é identificado quando a distância de seus centros é maior do que asoma de seus raios

p(x1 � x2)2 + (y1 � y2)2 > r1+r2, onde (x1, y1) e r1 são coordenadas e

raio da circunferência c1, e (x2, y2), r2 são coordenadas e raio da circunferência c2. Aindapode existir o cenário onde todos os pontos de uma circunferência estão dentro de outra,porém o A-CEVRP trata isso como uma única circunferência maior.

c1 r1 r2 c2p

(a) Circunferência tangente

c1r1

r2

c2

t1

t2

(b) Circunferência secante

Figura 5: Posição relativa entre duas circunferências

Para os outros cenários existem interseções entre as duas circunferências, validamosesses casos com o cálculo da distância entre seus centros comparados com a soma dosraios. Quando essa distância (distância entre os centros) é igual a soma dos seu raiosp

(x1 � x2)2 + (y1 � y2)2 = r1 + r2, temos duas circunferências tangentes exemplificadasna Figura 5 (a). Elas possuem apenas um ponto p em comum. Já quando a distância dosseus centros é menor do que a soma dos seus raios, é caracterizado duas circunferênciassecantes e existem dois pontos de interseção t1 e t2. Este caso pode ser visualizado naFigura 5 (b). Para encontrar as coordenadas dos pontos p, t1 e t2, utiliza-se as equações

Page 50: Roteamento de Drones Autônomo: Um Estudo Algorítmico

48

das duas circunferência através do sistema de equação de segundo grau (4.11).

8<

:(x� x1)2 + (y � y1)2 � r

21 = 0

(x� x2)2 + (y � y2)2 � r22 = 0

(4.11)

A solução do sistema (4.11) nos dará as coordenadas dos pontos p, t1 e t2, utilizandoa equação (4.8) como exemplificado na seção 4.1.3. Para encontrar as coordenadas dospontos tangentes t1 e t2, é necessário criar um ponto equidistante pc (ponto médio) entreo centro da circunferência c e um ponto externo a ela p. Suas coordenadas são dadas pelasequações (4.12).

xpc =xt1+xt2

2

ypc =yt1+yt2

2

(4.12)

O ponto médio calculado em (4.12), torna-se o centro da circunferência virtual cv

como demostrado na Figura 6. A partir desses valores, é possível inferir as coordenadasdos pontos tangentes t1 e t2 com o sistema de equação de segundo (4.11). Substituindox1, y1 pelas coordenadas centrais de c, e x2, y2 pelas coordenadas do centro de cv. Comocv está equidistante do centro de c e do ponto p, o raio da circunferência virtual r2 é ametade da distância de c para p, e o raio da circunferência c (r1) é um dado de entradado problema.

c

t1

t2

cvp

Figura 6: Retas tangentes a circunferências

4.2 Framework da Clusterização Geométrica

A maioria dos métodos de clusterização apresentados na literatura, (SHIRKHORSHIDI

et al., 2014), apenas agrupam dados ou valores em clusters para caracterizar um conjunto.Este trabalho propõe para o A-CEVRP um método que ao realizar a clusterização das

Page 51: Roteamento de Drones Autônomo: Um Estudo Algorítmico

49

vértices, também crie possíveis pontos representativos, os quais servirão de base para aexecução da demanda no cliente.

A particularidade do problema (círculos como alvo) é embutida na clusterização geo-métrica. Porém, o framework que modula a heurística foi criado para permitir adaptaçõesdas diferentes fases da construção e refinamento da solução. Essa modularização permitea utilização da clusterização geométrica em outros problemas com a mesma necessidade(clusterizar e criar pontos representativos). De forma geral, o algoritmo de clusterizaçãogeométrica é dividido em cinco partes e segue o fluxo da Figura 7.

Inicialização dos centroides

Crescimento dos raios

Agrupamento das regiões

Busca local

Deslocamento dos Centroides

Parar?Sim

Não

Fim

Figura 7: Fluxograma do algoritmo

4.2.1 Posição inicial dos centroides

No inicio, são criados h pontos fictícios que representarão os centros do cluster (cen-troides). A definição do valor de h é limitado por o número de veículos disponíveis, porémesse valor é alterado de forma aleatória de acordo com cada iteração do algoritmo paraprovocar mudanças nas soluções.

Na fase inicial "inicialização dos centroides", são atribuídos valores as coordenadasdos centroides através da divisão de h quadrantes do mapa de demandas (pontos dedemandas oriundos das instâncias). Cada coordenada (xh, yh) do centroide h é dada comovalor central do quadrante de índice h. O valor do raio inicial rh do centroide h é dado pelamenor distância entre (xh, yh) e a superfície da circunferência de demanda mais próxima.

Page 52: Roteamento de Drones Autônomo: Um Estudo Algorítmico

50

Figura 8: Inicialização dos centroides

A Figura 8 exemplifica a criação de dois centroides ca e cv dividindo a figura em h = 2

quadrantes. A fase de definição das coordenadas iniciais dos centroides, é realizada apenasno inicio do algoritmo com h k centroides, com k veículos disponível para o roteamento.Na Figura 8 também é possível observar a diferença entre os raios iniciais dos centroidesca e cv, isso dar-se pela diferente proximidade dos círculos de demanda.

4.2.2 Crescimento do raios

Logo após a definição das coordenadas, inicia a etapa de crescimento do raio doscentroides. Isso ocorre para a existência de colisão entre os centroides e os clientes maispróximos. Quando essa colisão ocorre pela primeira vez em uma circunferência de demandai, o centroide h que a atingiu é dito dominante da circunferência i. A função de crescimentoque provoca as colisões é dada em (4.13). Para (xh, yh, rh) como os dados do centroide,(xi, yi, ri) são as coordenadas e o raio da circunferência i, e rand = [0.0, 1.0] é um fatoraleatório que interfere diretamente na colisão das circunferência. Além do cliente maispróximo, pode ocorrer do crescimento do centroide atingir outras circunferências nãodominadas, isso acontece devido a característica de parcialmente aleatória do crescimentode rc.

f(xc, yc, rc) =p

(xc � xi)2 + (yc � yi)2 � (ri ⇤ rand) + rc (4.13)

A equação (4.13) é utilizada no algoritmo para provocar colisões controladas entre oselementos. Assim como a função fitness no Algoritmo Genético norteia a evolução doscromossomos durante as gerações, a "equação expansiva"(4.13) regula o crescimento doscentroides afim de criar clusters e pontos representativos nas áreas de demanda (círculos

Page 53: Roteamento de Drones Autônomo: Um Estudo Algorítmico

51

no A-CEVRP).

Cada iteração no crescimento dos centroides h atinge uma ou mais regiões (círculos),essa ação é feita de forma interativa ordenada pelos índices dos centroides. Cada conjuntoformado pelos pontos de interseção gerado entre o centroide e as superfícies das circun-ferências, são guardados nas listas de colisões LCi de cada centro i para a criação dasrotas.

É possível acontecer colisões em circunferências que já esteja dominada por outrocentroide, para esses casos de colisão múltipla o algoritmo pode utilizar quatro estratégias:

• Colisão mais recente: o primeiro centroide que colidir com a área i domina a regiãoe as colisões com outros centroides são desconsideradas.

• Centro mais próximo: quando a colisão múltipla acontece, o centroide de menordistância ao centro da figura, domina a região.

• Colisão mais próxima: são analisados os pontos de interseção entre o centroide e aregião, o centroide que tiver menor distância com os pontos representativos geradosdomina a área.

• Número de colisões: o número de áreas anteriormente já dominadas pelo centroideenumera sua prioridade quando acontece a colisão múltipla.

A escolha de qual tratamento de colisão múltipla é definida pelas características dasinstâncias tratadas. Aconselha-se uma fase experimental para a escolha da estratégiacorreta como feito para o A-CEVRP. Os testes revelaram que para o conjunto de instânciadescrito na seção 3.4 a "Colisão mais recente"foi a melhor estratégia para o problemaabordado. Nela são desconsiderados os pontos de colisão entre os círculos já dominados.A fase de crescimento dos centroides se repete até que todos as áreas sejam atendidaspor um centroide e os clusters estejam agrupados e com pontos representativos. Umarepresentação gráfica deste procedimento pode ser observada na Figura 9.

Page 54: Roteamento de Drones Autônomo: Um Estudo Algorítmico

52

Figura 9: Crescimentos dos centroides

A Figura 9 apresenta o crescimento dos raios de dois centroides ca e cv, e um caso decolisão múltipla na área c4 já dominada por ca. Como utilizamos a estratégia de Colisãomais recente, desconsideramos o ponto verde oriundo do crescimento de cv. Na Figura 9também é observável a criação de mais de dois pontos representativos na circunferênciac5 criado por cv, nessa situação todos os pontos gerados serão inseridos em LC5 (lista decolisão da área 5).

4.2.3 Heurística de agrupamento

Para iniciar a fase de agrupamento de regiões, todas as LCi deverão estar preenchidaspara a escolha dos pontos onde serão realizadas as demandas. Como a ClusterizaçãoGeométrica é uma heurística da classe "cluster first and second route", primeiro ocorre adefinição dos clusters para depois criar rotas com o restrição da capacidade dos veículos.

Nesta etapa o framework suporta a utilização de outras heurísticas de roteamento jáconsolidadas, como GRASP, tabu search, ant colony optimization, etc. Como o problema édado em um plano euclidiano e as coordenadas dos pontos representativos são conhecidas,a heurística de (GILLETT; MILLER, 1974) se apresentou como uma forte candidata a tarefade criação das rotas. O processo de criação de rotas baseado na heurística de (GILLETT;

MILLER, 1974) pode ser encontrado no Algoritmo 1.

Para o funcionamento do Algoritmo 1 é necessário conhecer a quantidade |V | de veícu-los disponíveis para o roteamento e suas capacidades dadas por Q. O mapa das solicitaçõesde demanda com os pontos centrais e raios das circunferências estão presentes no con-junto de circunferências C. As listas dos pontos representativos criadas no procedimento

Page 55: Roteamento de Drones Autônomo: Um Estudo Algorítmico

53

descrito na sub-seção 4.2.2. E h os clusters criados.

Algoritmo 1 Agrupamento das RegiõesEntrada: LC - listas de pontos representativos

|V | - quantidade de veículosQ - capacidades dos veículosC - circunferênciash - clusters

Saída: s - solução1: para 8h faça

2: u ( conversaoPolar(LC, h)3: para i 2 u, Cui 3 Rh faça

4: Rh ( {ui}5: fim para

6: se sh > Rh então

7: sh ( Rh

8: fim se

9: fim para

O procedimento utilizado na linha 2 do Algoritmo 1, converte as coordenadas carte-sianas dos pontos do cluster h em coordenadas polares (t, ✓). A origem do plano polar édada pela base (depósito) dos veículos, t é a distância do ponto i à origem (base), e ✓

é o ângulo formado entre o eixo x e o segmento de reta partindo da origem até o pontopertencente a LC. Essa transformação é realizada pela equação (4.14), onde x e y são asdiferenças das coordenadas da origem até o ponto. Posteriormente à conversão, os pontosde LC são ordenados pelos valores de ✓ e agrupados por proximidade de ângulos.

r =p

x2 + y2

✓ = arctan xy

(4.14)

Com os valores dos pontos representativos convertidos em coordenadas polares é pos-sível utilizar o algoritmo de (GILLETT; MILLER, 1974) para criar rotas. Os pontos de LC

são ordenados pelos valores de ✓ e agrupados por proximidade de ângulos em u. Cadaponto i pertencente à u é associado a sua circunferência Cui . Em caso de valores idênticosde ✓, o ponto u com o menor r é selecionado primeiro. O algoritmo de GILLETT; MIL-

LER seleciona dos pontos a partir de uma reta que caminha sobre os valores de ✓ comomostrado pela Figura 10.

Page 56: Roteamento de Drones Autônomo: Um Estudo Algorítmico

54

Figura 10: Seleção dos pontos baseado em (GILLETT; MILLER, 1974)

A rota Rh é criada utilizando os pontos i presentes em u. A inserção do ponto ui narota Rh (linha 4 do Algoritmo 1) só será permitida se ainda não existir pontos que cubrama demanda de circunferência Cui , essa verificação é feita na linha 3 do Algoritmo 1. ui éincrementado até que Rh visite todos as áreas do cluster. O processo é reiniciado incre-mentando os valores de i para criar várias rotas com valores e pontos iniciais diferentes.A rota com menor custo, é escolhida para representar o cluster (linha 7 do Algoritmo 1).Essa etapa acontece para criar todas as rotas que formaram a solução dada pelos pontosescolhidos. O exemplo gráfico das rotas criadas pelo Algoritmo 1 é mostrado na Figura11.

Figura 11: Criação das rotas por clusters

4.2.4 Reposicionamento dos centroides

Depois das etapas que criam as rotas, a solução inicial passa por um processo de buscalocal descrito na seção 4.3, logo em seguida acontece o deslocamento dos centroides para

Page 57: Roteamento de Drones Autônomo: Um Estudo Algorítmico

55

uma nova posição que melhor represente o centro do seu cluster. O método de reposici-onamento dos centroides é baseado no cálculo do centro de massa das áreas presente emcada cluster.

xh =PVh

i mixiPVh

i mi

yh =PVh

i miyiPVh

i mi

(4.15)

As novas coordenadas (xh, yh) do centroide h é dado pela influência das áreas perten-centes ao seu cluster. O conjunto de equações (4.15) calcula o centro de massa de cadacluster da solução, tendo mi como a massa da área i, e (xi, yi) a coordenada do centro dei. No A-CEVRP as áreas são dados por círculos e mi é igual à 2⇡r2. Como essa equaçãoé determinística, pode ocorrer do centroide permanecer na mesma posição, neste caso, oalgoritmo propõe quatro situações para resolução:

1. Remover maior massa: é desconsiderado da equação (4.15) a área de maior massapara deslocar o centroide em uma outra direção.

2. Incluir base: como a base normalmente é um ponto sem massa, atribuímos um valoraleatório a sua coordenada para atrair o centroide em sua direção e insere seusvalores na equação (4.15).

3. Fator assimétrico: em alguns problemas é possível inferir um fator de deslocamentoassimétrico que influenciará nas novas coordenadas; uma nova equação com essesfatores deve ser criada.

4. Inserir áreas de colisão múltipla: quando existe caso de colisão múltipla que a áreanão foi atendida pelo centroide, sua massa atrairá o centroide em sua direção.

5. Fator randômico: é incluído um fator multiplicador randômico rand nas equações(4.15) que interfere diretamente no descocamento do centroide.

A estratégia 1 utiliza as equações (4.15) excluindo a área de maior massa, para oA-CEVRP a massa é proporcional ao raio do círculo, e os centroides são atraídos porcircunferência de maior raio. Na estratégia 2 os centros são atraídos em direção a basede onde parte os veículos, isso é feito tentando reduzir a distância percorrida inicialmentepelo veículo com os centroides mais perto das origens das rotas. Em casos específicos, épossível inferir a influência do deslocamento assimétrico do veículo, quando essa direção

Page 58: Roteamento de Drones Autônomo: Um Estudo Algorítmico

56

é constante e conhecida, incluímos seus valores no cálculo das novas coordenadas docentroide para diminuir a influência assimétrica nas arestas.

Quando o centroide permanece na mesma posição depois da fase de reposicionamento,o algoritmo descrito neste trabalho utiliza a estratégia 4 que considera áreas pertencentes aoutros clusters para recalcular suas coordenadas, porém, em casos que não existe colisãomúltipla é utilizada a estratégia 5 para alterar a posição dos centroides, alterando asequações 4.15 para 4.16.

xh =PVh

i (mi⇤rand)xiPVh

i mi

yh =PVh

i (mi⇤rand)yiPVh

i mi

(4.16)

O deslocamento efetuado nesta etapa é exemplificado pela Figura 12, onde a força deatração é representadas por vetores (setas em preto).

Figura 12: Deslocamento de centroides

A etapa de reposicionamento dos centroides acontece logo após a avaliação do critériode parada, que dependendo da aplicação pode ser o tempo de processamento, um valoralvo à atingir, ou ainda um número máximo de soluções criadas. Caso esse critério játenha sido alcançado, o algoritmo omite a fase de reposicionamento dos centroides e amelhor solução criada é retornado como valor obtido.

Page 59: Roteamento de Drones Autônomo: Um Estudo Algorítmico

57

4.3 Busca local

A busca local utiliza de estruturas de vizinhanças para examinar um conjunto desoluções com características próximas, geralmente a capacidade de visualizar novos pontosestá associada diretamente à capacidade das estruturas de vizinhanças. A busca é iterativae reiniciada toda vez que novas melhores soluções são encontradas. Caso todo espaço sejapercorrido com as estruturas conhecidas sem avanços na redução dos valores, a soluçãoatual é considerada um "melhor local"com relação a suas vizinhas.

O método Variable Neighborhood Descent (VND) criador por (HANSEN; MLADENO-

VIĆ, 2001) apresenta bons resultados em diversas aplicações em problemas combinatórioscomo visto em (DUARTE et al., 2016). Este método é classificado como uma heurística debusca local, a qual parte de um ponto do espaço de soluções viáveis buscando um melhorlocal através de uma troca sistemática de vizinhanças. Seu método se diferencia de outrasbuscas locais pois a trajetória de otimização não é tomada apenas por uma estrutura devizinhança, mas experimenta distintas estruturas para a solução corrente.

Algoritmo 2 Variable Neighborhood DescentEntrada: s - solução inical

Ni - estruturas de vizinhançasSaída: s

0 - melhor local1: s

0 ( s

2: i ( 13: enquanto i |N | faça

4: s00 ( Ni(s0)

5: se s00< s

0então

6: s0 ( s

00

7: i ( 18: senão

9: i ( i+ 110: fim se

11: fim enquanto

O Algoritmo 2 cria soluções partindo de um método de vizinhança Ni eleito. Esseprocesso (Ni) é aplicado na cópia da melhor solução atual s0 conhecida. A nova solução s

00

criada (linha 4), possui características herdada de s0, porém com modificações aplicadas

pela estrutura Ni. Caso as alterações aplicadas tragam uma melhor no custo s00< s

0

(linha 5), o algoritmo atualiza o valor da melhor solução conhecida e reinicia o processode utilização das vizinhanças (linha 7). Se não houve melhora, é aplicado outa estruturapara buscar novos pontos no espaço de soluções viáveis. Por fim, se a utilização de todasas estruturas não aplicar redução no custo da solução atual, s0 é considerado a melhor

Page 60: Roteamento de Drones Autônomo: Um Estudo Algorítmico

58

solução local e o algoritmo finalizado sua execução.

A utilização do VND nas soluções criadas pela Clusterização Geométrica preservacaracterísticas da solução atual ao verifica soluções próximas e promissoras. Combinadocom as soluções iniciais criadas pelas fases iniciais da Clusterização Geométrica, o VNDaplica melhorias significativas no processo de otimização dos valores.

Soluções

Cus

to

Soluções Viáveis

Soluções iniciaisSoluções após busca localUtilização do VND

Figura 13: Espaço de soluções

A diversidade de pontos iniciais é um fator buscado pelas heurísticas que utilizamo VND como busca local. Uma vez que soluções próximas no espaço de busca, podemconvergir para o mesmo ponto, um exemplo desse caso pode ser observado na Figura13 quando dois pontos iniciais (azuis) distintos, convergem para o mesmo valor (verde)após a utilização do VND. Mas como cada iteração da Clusterização Geométrica objetivacriar uma nova solução sem utilizar características das demais, o VND chegará em pontosdistintos no espaço de soluções viáveis, o que pode eventualmente leva-lo ao melhor global.

4.3.1 Estrutura de vizinhanças

Uma estrutura de vizinhança pode ser descrita por uma modificação aplicada a umasolução original s0 construindo uma vizinha s

00 explorando uma ou mais característicasdo problema. Para o A-CEVRP utilizamos um conjunto de estruturas de vizinhançasque recriam pontos representativos ao longo da circunferência, oriundos das propriedadeseuclidianas apresentadas na sub-seção 4.1. Essas estruturas exploram a característica "su-ficientemente próximo"do problema, mas também podem provocar uma reorganização dasequência de pontos na rota em conjunto com vizinhanças do TSP.

Page 61: Roteamento de Drones Autônomo: Um Estudo Algorítmico

59

4.3.1.1 Interseção de arestas em circunferências

Neste método são analisadas todas as arestas i ) j presente na solução. Para cadapar ordenado de vértices (antecessor, predecessor), busca-se um terceiro círculo cb queseja tangenciado ou secado pela aresta analisada. Caso tal região exista, são calculadosos pontos b de interseção entre a circunferência c e a aresta i ) j. Logo em seguida, érealizada a substituição de cada novo ponto b pela antiga coordenada representativa de c

formando um novo conjunto de arestas i ) b ) j. Se as modificação apresentar melhorapara a solução, as coordenadas do novo ponto representativo b de c é inserida na solução,caso contrário a solução inicial do procedimento é preservada. Essa vizinhança pode sercompreendida com o auxílio do Algoritmo 3.

Algoritmo 3 Vizinhança interseção de arestasEntrada: s - solução inicialSaída: s

0 - solução modificada1: s

0 ( s

2: para todo i 2 s0faça

3: j ( i+ 1

4: para todo c 6= i 6= j 2 s0faça

5: b ( intersection(i,j,c)6: se b 6= 0 então

7: s0 � {c}

8: s0 + {i, b, j}

9: se s0< s então

10: s ( s0

11: senão

12: s0 ( s

13: fim se

14: fim se

15: fim para

16: fim para

As coordenadas dos pontos de interseção entre a aresta i ! j na linha 5 do Algoritmo3, é calculado com base nas equações (4.10) da seção 4.1.3. b pode ter até dois pontos nacircunferência cortada por i ! j. Se existir algum ponto de interseção entre a aresta eo círculo analisado (teste realizado na linha 6), seu valor (b) substituirá o ponto repre-

Page 62: Roteamento de Drones Autônomo: Um Estudo Algorítmico

60

sentativo de c (linha 4). Se b tiver algum ponto, remove-se o ponto representativo de c einsere b como novo ponto representativo criando as arestas i ) b ) j (linhas 7 e 8). Casoessa alteração aplicar uma redução no custo da nova solução s

0< s, então a s

0 substituia solução inicial s, de outra forma, reinicia a busca por novos pontos com s

0 igual a s.

4.3.1.2 2-opt

A vizinhança 2-opt é uma estrutura bastante utilizada em problemas de roteamentopara melhorar a ordem dos pontos ao longo do passeio. Este método foi apresentadopor (GENDREAU; HERTZ; LAPORTE, 1992a) para otimizar problemas derivados do TSP.O 2-opt parte de um círculo hamiltoniano c1, c2, · · · , cn, e escolhe duas arestas para serdesfeitas (ci � cj), (ck � cl). Logo em seguida testa-se a nova combinação que não criaum subtour (ci � cl), (ck � cj). Se esse novo conjunto de arestas melhorar o comprimentodo passeio, prevalecerá como nova sequência de pontos, caso contrário, é testado novosconjuntos buscando a redução do tour. Essa estrutura tem um esforço computacional paratestar todas as possíveis trocas dado pela equação (4.17) para k substituições de arestasem n vértices da rota. O pseudocódigo, testes de desempenho, e utilização no TSP podeser encontradas em (GENDREAU; HERTZ; LAPORTE, 1992b).

n!

(n� k)!k!(4.17)

4.3.1.3 Pontos tangentes

A heurística de pontos tangentes a circunferência, traça de qualquer ponto externopresente na solução, duas retas tangentes a circunferência c como descrito na seção 4.1.4.As coordenadas dos dois pontos gerados são calculados pela equação (4.11). A estruturade comparação e iteração do Algoritmo 4 é semelhante ao Algoritmo 3, a modificaçãoocorre na criação dos pontos em b, linha 4, na inserção do novo ponto representativo b,na linha 7, e ao desconsiderar o valor do ponto j. O Algoritmo 4 verifica até 2n(n � 1)

novas soluções. Para cada círculo c são criados 2 novos pontos tangentes partindo do n�1

pontos restantes presentes na solução. O alterações aplicadas a solução inicial s0 pode sermelhor entendida no Algoritmo 4.

Page 63: Roteamento de Drones Autônomo: Um Estudo Algorítmico

61

Algoritmo 4 Vizinhança pontos tangantesEntrada: s - solução inicialSaída: s

0 - solução modificada1: s

0 ( s

2: para todo i 2 s0faça

3: para todo c 6= i 2 s0faça

4: b ( tangentes(i,c)5: se b 6= 0 então

6: s0 � {c}

7: s0 + {b}

8: se s0< s então

9: s ( s0

10: senão

11: s0 ( s

12: fim se

13: fim se

14: fim para

15: fim para

4.3.1.4 Secção da circunferência por retas secantes

Como a menor distância de um ponto para um círculo é dado por um ponto presentena sua superfície (premissa apresentada na sub-seção 4.1.3), podemos inferir que "a menordistância entre dois círculos é dada por dois pontos nas suas superfícies (circunferências)".Com isso, a estrutura de vizinhança cria pontos ao longo da superfície dos círculos, como auxílio de retas fictícias paralelas aos eixos cartesianos (x, y). A Figura 14 demonstragraficamente a secção de uma circunferência por retas paralelas aos eixos. Nela, vemosque cada reta criada, gera até dois pontos na superfície do círculo.

As retas fictícias são criadas com a movimentação de dois pontos pertencente a elas.Inicialmente definimos pt = (xc + rc, yc), pb = (xc � rc, yc), pr = (xc, yc + rc) e pl =

(xc, yc � rc), com as semi-retas formadas por ptpb e prpl. O fracionamento é dado peloincremento e o decremento f vezes na posição das retas. Esse movimento gera um conjuntoD de pontos na circunferência. Todos os valores de D são testados para verificar melhorasna solução.

Page 64: Roteamento de Drones Autônomo: Um Estudo Algorítmico

62

cpr pl

pt

pb

Figura 14: Vizinhança secção da circunferência

Essa vizinhança analisa 4f(n� 1) soluções distintas para cada (n� 1) circunferênciapresente na solução (excluindo a base). São criados 2f pontos paralelos ao eixo x, e 2f

paralelos ao eixo y. Pode ocorrer a criação de pontos idênticos com retas distintas. OAlgoritmo 11 no Apêndice A traz o pseudocódigo da estrutura apresentada.

Deve-se levar em consideração na escolha do valor de f , o tempo de processamentocomputacional suficiente para gerar tais pontos. Uma vez que para um valor de f muitogrande, será criado um conjunto D com muitos pontos, e a análise de todos os valoresde D levará ao tempo de processamento mais elevado. De outro modo, se o valor de f

for bastante elevado, os pontos criados em D pode cobrir uma boa parte da superfície docírculo de demanda, o que pode proporcionar valores mais próximos do ponto de visitaótimo para essa região.

Page 65: Roteamento de Drones Autônomo: Um Estudo Algorítmico

63

4.3.1.5 Shift

Algoritmo 5 Vizinhança shiftEntrada: s - solução inicialSaída: s

0 - solução modificada1: s

0 ( s

2: para todo i 2 r 2 s0faça

3: r � {i}4: para todo h 6= r 2 s

0faça

5: h+ {i}6: se s

0< s então

7: s ( s0

8: senão

9: s0 ( s

10: fim se

11: fim para

12: fim para

A estrutura de vizinhança shift assim como a 2-opt, também é oriunda do TSP aestrutura, e tenta realocar pontos em outras rotas. Cada ponto i de uma rota r é inseridoem todas as posições da rota h verificando melhora na solução. Na linha 5 do Algoritmo5, a inserção do ponto i na rota h é realizada em todos os possíveis índices da rota.Mas a melhor inserção prevalecerá para o teste de redução do custo da solução. Caso atransformação aplique melhoras à solução corrente s0 substitui o valor de s, caso contrário,o algoritmo reinicia as substituições em outro ponto. Essa vizinhança pode reestruturarrotas formadas na clusterização.

4.3.1.6 Áreas de steiner-zone

Essa estrutura é baseada no algoritmo proposto por MENNELL; GOLDEN; WASIL parao CETSP, essas áreas (zona de steiner) são compostas por interseção de circunferênciaclassificadas pelo grau do conjunto. Se existir uma área com uma interseção de dois cír-culos, steiner-zone de grau 2, podemos criar até 2 pontos em suas extremidades que sejaem comum com as duas circunferência como mostrado na seção 4.1.4.

Page 66: Roteamento de Drones Autônomo: Um Estudo Algorítmico

64

Algoritmo 6 Vizinhança Steiner-ZoneEntrada: s - solução inicialSaída: s

0 - solução modificada1: s

0 ( s

2: para todo i 2 s0faça

3: para todo j 6= i 2 s0faça

4: se distancia(i, j) ri + rj então

5: b ( intersection(i, j)

6: se b 6= 0 então

7: s0 + {b}

8: se s0< s então

9: s ( s0

10: senão

11: s0 ( s

12: fim se

13: fim se

14: fim se

15: fim para

16: fim para

É analisado se existem steiner-zones em cada par de circunferência presente na solução(linha 4 do Algoritmo 6). As coordenadas dos pontos de interseção das circunferências i

e j são dadas pela equação (4.11) da sub-seção 4.1.4. Ainda é testado na linha 6 se a b

possui cardinalidade maior que 0, essa caso específico é realizado para círculos que estãocontidas em outras círculos, e não existe pontos de interseção nas circunferências. Essaestrutura analisa n(n-1) possíveis inserções.

4.3.1.7 Inversão assimétrica

Como o A-CEVRP tem características assimétrica no seu deslocamento, esta estruturade vizinhança inversão assimétrica busca reorganizar rotas para alterar o valor do pesonas arestas. Para cada sequência (i ! j) da rota r, é invertido a ordem das arestaspara construir uma solução com descocamento inverso (j ! i). Após essa alteração, sãoutilizados em conjunto as estruturas 2-Opt e secção de circunferências apresentas nasseções 4.3.1.2 e 4.3.1.4 respectivamente. Como mostrada no Algoritmo 7 na linha 3. Aalteração é feita apenas na rota r, assim como os métodos de busca local. Essa estrutura

Page 67: Roteamento de Drones Autônomo: Um Estudo Algorítmico

65

pode cria apenas k soluções diferentes, tendo k como o número de possíveis rotas de umasolução.

Algoritmo 7 Vizinhança Inversão assimétricaEntrada: s - solução inicialSaída: s

0 - solução modificada1: s

0 ( s

2: para todo r 2 s0faça

3: reverse(r)

4: 2opt(r)

5: seccao(r)

6: se s0< s então

7: s ( s0

8: senão

9: s0 ( s

10: fim se

11: fim para

4.3.2 Ordem das vizinhanças

Como o método de VND é sequencial e interativo, a ordem em que as vizinhançassão utilizadas influencia na performance e até no custo final da solução. Uma instânciade cada conjunto 6, 8, 10, 12, 14, 16, 18 e 20 pontos, foi escolhida aleatoriamente paraparticipar dos testes interativos de busca local. Cada utilização que ocasionou em umaredução no custo da solução, foi somado ao fator de melhora da estrutura utilizada e assimdefinido a ordem de utilização: 1. Seção de círculos; 2. 2-Opt; 3. Interseção aresta círculo;4. Shift; 5. Pontos Tangentes; 6. Inversão assimétrica; 7. Área de steiner-zone.

Page 68: Roteamento de Drones Autônomo: Um Estudo Algorítmico

66

5 Algoritmos e implementações

Além da Clusterização Geométrica apresentada na seção 4.2 foi utilizado outros mé-todos presentes na literatura do VRP para adaptação e construção de soluções de baixocusto para o CEVRP e A-CEVRP. Essas implementações servirão de parâmetro de testese comparação da eficácia tanto da Clusterização Geométrica como dos próprios métodosaplicados.

A escolha desses métodos foi baseada na eficácia mostrada em alguns trabalhos daliteratura do VRP e na variedade de suas estratégias. O GRASP (Greedy RandomizedAdaptive Search Procedure) e suas variações mostraram êxitos em diversas classes deproblemas incluindo o VRP, ainda por se tratar de uma meta-heurística que constróisoluções com um fator guloso e investimento de tempo em uma busca local estruturadapara seus resultados.

O AOC (Ant Colony Optimization) trás o conhecimento de enxames e a espertezaevolucionária das espécies para construir e melhorar soluções para problemas com carac-terísticas de roteamento. Por fim, adaptamos o modelo de programação linear do EqualityPRV para construir rotas baseadas nos pontos gerados pela Clusterização Geométrica for-mando uma matheurística para o CEVRP e A-CEVRP.

5.1 GRASP

Na literatura do VRP é possível encontrar bons resultados em trabalhos que utilizaramo GRASP (FEO; RESENDE, 1989) como algoritmo de resolução para o problema. (KONTO-

RAVDIS; BARD, 1995; LAYEB; AMMI; CHIKHI, 2013; OCAÑO et al., 2018) são exemplos daeficácia do GRASP para rotear veículos com diversas restrições.

A meta-heurística GRASP, com diversos métodos construtivos, consiste em criar umasolução inicial aleatória e se concentra em melhorá-la efetuando uma busca local. O seuprincipal objetivo e diferencial é explicado por suas três primeiras letras, Greedy (Gulosa),

Page 69: Roteamento de Drones Autônomo: Um Estudo Algorítmico

67

Randomized (Aleatória) e Adaptive (Adaptativa). O GRASP se mostra eficiente paraproblemas de otimização combinatória por se tratar de um processo interativo multistart.

Na etapa de construção gulosa da solução é utilizado o parâmetro ↵ configurável quedefine a aleatoriedade aplicada no processo. Esse parâmetro é utilizado para restringir alista restrita de candidatos (LRC) a entrar na solução. Para o A-CEVRP utilizamos comoestrutura de candidato as coordenadas cartesianas x e y de um ponto que pode fazer parteda solução. Obrigatoriamente todo candidato atende uma ou mais regiões.

Para criação das coordenadas dos pontos que forma a LRC utilizamos a estratégia decriação de linhas fictícias que seccionam a região de demanda, criando pontos na borda dacircunferência. Essa estratégia foi descrita como estrutura de vizinhança na seção 4.3.1.4.A variável 2f que demarca a quantidade de pontos gerados por região de demanda édefinida aqui como parâmetro do GRASP a ser configurado nos testes.

Todos os candidatos inciais criados são inseridos na LC (Lisca de Candiados) orde-nados pela distância euclidiana (ou distância euclidiana com interferências dos ventos noA-CEVRP), logo em seguida a escolha de n�1 candidatos são realizadas restringindo LCa LRC pela equação (5.1), onde gp é o menor custo dos candidatos, gg é o maior custode LC e ↵ é um uma variável de configuração do GRASP com valor entre 0 e 1.

gp+ ((gg � gp) ⇤ ↵) (5.1)

Com o tamanho de LRC definida pela equação (5.1), é escolhido de forma aleatória opróximo ponto a participar da atual rota. Caso ao inserir esse novo ponto a capacidade darota seja extrapolada, o ponto é inserido em outra rota ou servirá de base para criação deuma nova rota. Em cada inserção de um novo ponto i na solução é removido de LC todosos candidatos que atende a mesma região de i evitando assim a escolha de dois pontosque atendem a mesma região.

Com a escolha de n � 1 candidatos respeitando a restrição da capacidade de cadaveículo, é criado uma solução viável para o A-CEVRP pelo método de construção gulosado GRASP descrito pelo pseudocódigo 8.

Page 70: Roteamento de Drones Autônomo: Um Estudo Algorítmico

68

Algoritmo 8 Construção GRASPEntrada: ↵, fSaída: s - solução criada1: LC ( criarCandidados(f) - utlizando método da seção 4.3.1.42: lp ( 0 - último ponto a entrar na solução3: para todo i..n� 1 faça

4: calcularCustos(LC, lp)

5: valorRestricao ( gp+ ((gg � gp) ⇤ ↵)6: LRC ( restrigir(LC, valorRestricao)

7: eleito ( LCR[randon()]

8: se s[k] + eleito <= capacidadek então

9: s[k] + eleito

10: senão

11: s[k + 1] + eleito

12: fim se

13: lp ( eleito

14: fim para

O pseudocódigo 8 representa a construção gulosa do GRASP, onde a criação de todosos candidatos seguindo a estrutura de vizinhança apresentada na seção 4.3.1.4 é atribuídoa LC na linha 1. O custo de todos os candidatos pertencente a LC são atribuídos na linha4 utilizando a distância euclidiana do último ponto a entrar na solução lp e as coordenadasgeográficas do candidato.

A restrição dos candidatos pela equação (5.1) é apresentada pelas linhas 5,6. Já aescolha do próximo candidato que fará parte da solução é feito de forma randômica emLRC como visto na linha 7. O candidato eleito é inserido na solução caso a capacidadeda rota atual não seja extrapolada, caso contrário cria-se uma nova rota para inserção donovo candidato como visto na linha 11.

A meta-heurística GRASP utiliza a construção gulosa acima descrita para criar diver-sas soluções do problema, logo em seguida é executado uma etapa vizinhança local paramelhorar a qualidade das soluções do método. Para o A-CEVRP e CEVRP utilizamos asmesmas estruturas de vizinhanças descritas e agrupadas pelo método VND como apre-sentada na seção 4.3.1. Esse processo é repetido por g interações. Em cada interação oGRASP verifica se uma nova solução best é encontrada e atualiza seus valores para queno final de sua execução a melhor solução construída seja retornada.

Page 71: Roteamento de Drones Autônomo: Um Estudo Algorítmico

69

5.2 Ant Colony Optimization

Assim como o GRASP o ACO apresenta-se como um algoritmo não-determinísticocom método particular para a criação e evolução de suas soluções. O ACO foi apresen-tado originalmente por (DORIGO; CARO, 1999) com uma construção baseada na inteli-gência evolutiva de enxames com característica probabilística na sua decisão de criaçãoe reconstrução das rotas. Na literatura de problemas do VRP podemos encontrar algunsexemplos de sua eficácia e de diferentes estratégias para o ACO. (ASCONAVIETA; GOLD-

BARG; GOLDBARG, 2012; MONCAYO-MARTÍNEZ; ZHANG, 2011; GREENFIELD, 2006).

A principal ideia do ACO é utilizar formigas artificiais que se movem pelos possíveispontos da rota para buscar boas soluções para o problema. A decisão de qual será o pró-ximo ponto a participar da rota é feita utilizando um método probabilístico que manipulainformações das soluções criadas para melhorar sua eficácia.

A decisão da construção da rota de uma formiga é baseada no princípio fisiológicodo deslocamento deste animal na natureza. Ao buscar o alimento, a formiga emite oferomônio (hormônio natural exalado para o ambiente) durante seu trajeto criando umcaminho. Essa trajetória é atualizada por outras formigas quando encontra o alimento.

As formigas criadas para o A-CEVRP iniciam sua rota no ponto do depósito i = 0,logo em seguida é escolhido probabilisticamente j como o ponto sucessor da origem darota. A probabilidade da formiga que está no ponto i escolher j como seu próximo pontode visita é dada pela equação (5.2).

pij =(⌧ij)↵(⌘ij)�Pj2N(⌧ij)

↵(⌘ij)�(5.2)

Nas formigas artificiais o processo de depósito de feromônio é guiado pela variável ⌧ijrepresenta a quantidade de feromônio depositado na aresta (i, j). Já a atração pela quala formiga sente a percorrer a aresta (i, j) é dado pela variável ⌘ij. Pode-se observar queessas duas variáveis são determinantes para calcular a probabilidade pij da formiga seguirpela aresta (i, j).

Pode-se observar a utilização de dois parâmetros na equação (5.2): ↵ representa opreso reativo do feromônio na escolha da formiga, e � influencia diretamente na atrati-vidade da formiga pela aresta. Se configurarmos ↵ = 0 o algoritmo torna-se totalmenteguloso, escolhendo sempre a região mais próxima para participar da solução. Contudo sedefinirmos � = 0 acontecerá uma convergência rápida do algoritmo não garantindo uma

Page 72: Roteamento de Drones Autônomo: Um Estudo Algorítmico

70

solução de boa qualidade.

A definição do valor de ⌘ij é o inverso do custo de deslocamento da aresta (i, j),exemplificado na equação (5.3). Esse custo é calculado como a distância geométrica dij doponto i para o ponto j no CEVRP, e adicionado a interferência do vento bij no A-CEVRP.

⌘ij =1

dijbij(5.3)

Na implementação do ACO deste trabalho, toma-se a probabilidade pij = 0 quandouma região do ponto j já foi atendida impossibilitando a escolha da formiga visitar duasvezes a mesma região. A criação dos pontos representativos de cada solução utiliza omesmo princípio apresentado pela estrutura de vizinhança 4.3.1.4, como podemos observarna linha 1 do pseudocódigo 9 abaixo.

Algoritmo 9 ACOEntrada: ↵, �, ⇢, Q

Saída: s - solução criada1: pontos ( criarPontos() - utilizando método da seção 4.3.1.42: ⌧ij ( criarFeromonioAleatorio(), 8i, j 2 pontos

3: para 1...g faça

4: para f = 1...F faça

5: formigas[f] = construirSolucaoACO(pontos, ⌧,↵, �)

6: vns(formigas[f]) - utilizando método da seção 4.37: fim para

8: ⌧(g) = atualizarFeromonio(formigas, ⌧(g � 1),↵, �, ⇢, Q)

9: fim para

O pseudocódigo 9 constrói inicialmente (linha 1) um conjunto de pontos que serviráde base para a criação das soluções. Logo em seguida é definido de forma aleatória osvalores do feromônio inicial. Todo valor do feromônio é limitado pelo parâmetro ⌧max,⌧ij 2 [0, ..., ⌧max].

Em toda interação do pseudocódigo 9 (limitado pelo parâmetro g) cria-se F formigasartificiais (solução completa do problema) pelo método de construção do ACO. As mesmassoluções criadas são refinadas com o auxílio da busca local apresentada na seção 4.3. Coma solução de todas as formigas criadas, atualiza-se o feromônio (linha 8) para a próximainteração.

Page 73: Roteamento de Drones Autônomo: Um Estudo Algorítmico

71

Algoritmo 10 Criação de solução ACOEntrada: ↵, �, ⌧, pontos

Saída: s - solução criada1: last ( 0

2: para i ... N-1 faça

3: p ( atualizarProbabilidades(⌧,↵, �, pontos, last) - realizada com equação (5.2)4: last ( roleta(pontos)

5: s ( last

6: fim para

A construção da solução ACO representada pelo pseudocódigo 10 inicia suas rotassempre pelo ponto base (linha 1). Para cada interação (linha 2) do pseudocódigo 10 éescolhido um ponto que atende uma região, o que limita o algoritmo em N � 1 interações(N número de regiões de demanda). As probabilidades são calculadas na linha 3 paratodas as possíveis escolhas pela equação (5.2).

O próximo ponto a compor a solução s é escolhido baseado no método roleta de acordocom as probabilidades conhecidas.A inserção deste novo ponto (last) cria uma nova rotapara a solução caso extrapole a capacidade do veículo, preservando sempre a capacidadede todos os k-1 veículos disponíveis para o percurso.

Para calcular o depósito de feromônio deixado pela formiga ao acionar determinadaaresta, utilizamos a equação (5.4) conhecida na literatura como variante quantity quedepende exatamente do comprimento da aresta. O parâmetro Q é utilizado na equaçãocomo quantidade de feromônio depositado pela formiga durante o percurso.

�⌧ij =Q

dijbij(5.4)

Em cada interação t do algoritmo é depositado a quantidade �⌧ij(t) de feromônio emuma aresta. Contudo também acontece a evaporação deste feromônio depositado na inte-ração anterior (t-1) regido pela equação (5.5) e influenciado diretamente pelo parâmetro⇢ 2 [0, 1].

⌧ij(t) = (1� ⇢)⌧ij(t� 1) +�⌧ij(t) (5.5)

Page 74: Roteamento de Drones Autônomo: Um Estudo Algorítmico

72

6 Experimentos computacionais

Este capítulo mostra os parâmetros de configuração calculados para os métodos pro-postos neste trabalho, assim como valores obtidos na bateria de testes realizada nas ins-tâncias criadas para o A-CEVRP (descritas na sub-seção 3.4) e sua versão simétricaCEVRP.

6.1 Configurações

O modelo apresentado na seção 3.3 foi implementado no software IBM ILOG CPLEXOptimization Studio 12.4. Todo código deste trabalho foi desenvolvido na linguagem deprogramação C++, e os testes executados em um computador com processador Intel Corei5 2,3 GHz, com 8 GB de memória RAM. Foram realizadas 20 execuções independentesnos métodos propostos heurísticos.

Uma vez que não existem instâncias benchmark para o A-CEVRP, foram utilizadas asinstâncias disponibilizadas por (BEHDANI; SMITH, 2014), seguindo a metodologia análogaao seu trabalho. No caso do A-CEVRP, duas variáveis não estão presentes nas instâncias.A capacidade Qk dos veículos é dada pela solução criada por um algoritmo guloso queroteia os veículos pelo centro dos vértices, descrito na sub-seção ??. Já os valores deinterferência dos ventos bij, são dado pela inferência do deslocamento com e sem o vento,com o módulo de m = 10 e 180o em relação ao eixo cartesiano x, descrito na sub-seção??. O conjunto de instâncias, os métodos para criação dos valores de bij e Qk, e umdetalhamento dos valores obtidos pelos testes do A-CEVRP criados neste trabalho estãodisponíveis em (LAE, 2018). Também foram realizados testes na versão simétrica CEVRP,para este caso a interferência dos ventos é nula, e todos os valores de bij são iguais a 1.

Os parâmetros dos algoritmos ACO, Clusterização Geométrica e GRASP foram de-terminados por treinamento através da ferramenta IRACE (LÓPEZ-IBÁÑEZ et al., 2016),com 50 interações em 10 instâncias excluídas dos resultados finais. Os parâmetros de en-

Page 75: Roteamento de Drones Autônomo: Um Estudo Algorítmico

73

trada para cada variável dos algoritmos configurados pelo IRACE podem ser vistos naTabela 6.1 abaixo. Onde as colunas Alg demarcam o algoritmo a qual o parâmetro fazparte, Parameter descreve o nome utilizado no método, Range descreve a faixa de valoresinseridos no IRACE e Result mostra o valor final utilizado pelo algoritmo.

Alg Parâmetro Variação ResultadosACO F 2, 4, 6 2ACO ⇢ 0.2, 0.4, 0.6 0.2ACO ↵ 0.4, 0.6, 0.8 0.4ACO � 0.4, 0.5, 0.6 0.6ACO Q 40, 80, 100 80GRASP ↵ 0.2, 0.4, 0.6, 0.8 0.4ACO g 40, 50, 60 40CG g 100, 150, 200, 250 200GRASP g 100, 150, 200, 250 200Vizinhança 4.3.1.4 f 2, 4, 6, 8, 10 4

Tabela 1: Configuração e resposta dos algoritmo pelo IRACE.

A estrutura de vizinhança descrita na sub-seção 4.3.1.4 é comumente utilizada pelostrês algoritmos citados acima. Contudo testes separados em cada algoritmo retornaram omesmo resultado f = 4 o que gera 2f pontos ao redor da circunferência de demanda paraos algoritmos.

Deve-se ressaltar a diferença de gerações g = 40 do ACO quando confrontado com osoutros métodos. Isso dar-se por ter realizados testes independentes do ACO com valoresidênticos aos apresentados pela coluna Range CG e GRASP. Contudo esses testes nãoapresentaram uma eficiência nos valores das soluções apenas penalizando o tempo deprocessamento do ACO.

As instâncias testes são divididas em 8 grupos, com 6, 8, 10, 12, 14, 16, 18, e 20pontos. Cada conjunto tem 30 problemas testes, totalizando 240 instâncias para o A-CEVRP e CEVRP. Devido a capacidade restrita dos veículos, para os conjuntos de 6,8 e 10 círculos, são disponibilizados dois veículos e em algumas instâncias o roteamentopode utilizar apenas um veículo. Nos conjuntos 12 e 14 existem três veículos a disposição,mas em algumas instâncias é possível realizar a demanda com apenas dois veículos. Nosconjuntos de 16 e 18, estão disponíveis quatro veículos para o roteamento e em algumasinstâncias a rota ótima utiliza até três veículos. Por fim o conjunto de 20 clientes, tem adisponibilidade de cinco veículos.

Page 76: Roteamento de Drones Autônomo: Um Estudo Algorítmico

74

6.1.1 Metodologia de análise dos resultados

A necessidade de validar os resultados e comparar quantitativamente e qualitativa-mente os testes dos distintos parâmetros implementados, sugere a adoção de uma meto-dologia baseada em análise estatística para inferir as eficiências encontradas dos métodosque serão desenvolvidos ao longo do período da pesquisa. Os parâmetros adotados poresse trabalho são definidas a seguir:

Valores:

• Solução Best : verifica qual configuração de menor custo foi criada pelo métodoheurístico cuja execução analisa diversas soluções para cada instância testada.

• Média das soluções (Av): calcula a média dos custos finais de todas as execuçõesheurísticas analisadas. Cada execução independente fornece um valor para o cálculoda média (Av).

• Afastamento entre os valores (gap): valor que mede a diferença percentual entre ovalor esperado (soluções ótimas) e o valor obtido (soluções heurísticas). O cálculo édado pela equação (6.1).

• Média do desempenho computacional (Tav(s)): O esforço computacional empenhadopara a execução da heurística é dado em segundos (s), e o tempo médio de todas asexecuções independentes de uma instância é atribuída à Tav(s).

análises:

• Afastamento global: A média de todos os gap obtidos pelas meta-heurísticas paratodos os conjuntos de instâncias.

• Teste de Friedman: Será avaliado os diferentes desempenhos das meta-heurísticas de-senvolvidas, comparando o "p-valor"obtido pelo teste não paramétrico de Friedmanem cada conjuntos de instâncias.

6.2 Resultados

Os resultados apresentados pela heurística de Clusterização Geométrica são identifi-cados pelas colunas demarcadas com CG (apresentando no capítulo 4). Já os algoritmos

Page 77: Roteamento de Drones Autônomo: Um Estudo Algorítmico

75

apresentados no capítulo 5, GRASP, e Ant Colony Optimization com os resultados de-marcados por ACO. Estes valores são comparados com o Solver que tem um tempo limitede 4000 segundos. Em instâncias acima de 10 pontos o limite de tempo não foi suficientepara a finalização, e os valores de lower e ubber bonds obtidos pelo Solver são apresentadosrespectivamente nas colunas LB e UB das Tabelas abaixo.

O índice de cada conjunto de instância é apresentado na coluna Inst. As colunas Cost eT(s) indicam os valores da solução final e do tempo de processamento do Solver. O melhorvalor encontrado pela heurística comparada está visível na coluna Best, e a média do custodas 20 execuções de cada instância é apresentada em Av. O tempo médio de processamentoem segundos da heurística é mostrado na coluna Tav(s).O desvio percentual, gap, foicalculado pela equação 6.1, onde Y denota a melhor solução ou a média das soluçõesheurística, e X a solução de referência (Cost para os conjuntos 6,8 e 10, e UB para osconjuntos 12, 14, 16, 18 e 20 pontos).

gap =100 ⇤ (Y �X)

X(6.1)

Os valores individuais obtidos pelos métodos heurísticos de cada instância confronta-dos pelos valores do solver são demonstrados e analisados nas tabelas do C.

6.2.1 Comparação entre os métodos heurísticos

Nesta seção são comparados os resultados das heurísticas implementadas nesse traba-lho CG, GRASP e ACO

6.2.1.1 Média das soluções obtidas pelos algoritmos

Para melhor compreender numericamente o desempenho de cada algoritmo, apresen-tamos as médias dos desempenhos obtidos pelos algoritmos nos diferentes conjuntos deinstâncias para os diferentes problemas.

ConjuntosCG GRASP ACO

Best AV Tav(s) Best AV Tav(s) Best AV Tav(s)

6 28,17 28,17 0,58 29,19 29,20 1,67 29,21 29,29 6,998 36,10 36,95 2,09 36,16 36,21 6,97 36,95 38,40 26,7410 39,13 40,08 3,74 39,39 39,60 8,49 39,98 42,63 41,2212 44,90 46,17 7,17 45,70 46,45 18,76 46,30 49,23 42,05

Page 78: Roteamento de Drones Autônomo: Um Estudo Algorítmico

76

ConjuntosCG GRASP ACO

Best AV Tav(s) Best AV Tav(s) Best AV Tav(s)

14 41,29 42,18 13,25 43,18 43,40 18,06 44,30 47,98 12,8916 45,89 49,18 20,47 48,33 50,23 27,77 54,07 57,44 22,9918 47,86 50,30 28,88 48,07 51,57 35,74 53,45 59,37 24,3520 52,39 54,89 48,61 51,41 54,03 56,85 57,57 63,53 41,66

Tabela 2: Média dos valores obtidas por conjuntos deinstâncias do CEVRP.

Para o problema CEVRP os valores da média dos conjuntos são apresentados naTabela 2. Nesta Tabela é possível observar que CG obteve as melhores médias para assoluções Best encontradas em todos os conjuntos testes exceto o conjuto de 20 potos. Oque representou uma média global de 41,97 do custo das melhores soluções criadas emtodos os conjuntos de instâncias. O GRASP obteve uma média de 42,68 em todos osconjuntos. Já o ACO obteve uma média 45,23 em todas suas soluções Best criadas.

ConjuntosCG GRASP ACO

Best AV Tav(s) Best AV Tav(s) Best AV Tav(s)

6 I 22,55 2,33 23,31 23,33 1,11 23,36 23,54 0,918 28,29 28,62 6,94 28,54 28,69 4,06 29,25 30,84 3,1810 28,65 29,19 26,74 28,80 28,92 7,93 29,91 33,77 7,2512 33,32 33,68 61,23 33,67 34,82 14,62 35,31 40,06 14,1214 32,69 33,22 128,37 32,62 33,47 22,02 33,99 38,87 18,0016 36,42 37,00 222,87 36,32 37,59 36,80 38,30 45,07 28,6318 35,74 37,42 390,20 36,26 38,41 49,18 39,93 47,13 37,3820 38,73 40,54 589,39 39,84 42,17 65,94 43,46 50,43 46,87

Tabela 3: Média dos valores obtidas por conjuntos deinstâncias do A-CEVRP.

A Tabela 3 apresenta a média das soluções encontrados pelas heurísticas no conjuntode instâncias do A-CEVRP. Nestes valores é possível observar que CG supera os resultadosdos demais algoritmos nos conjuntos de instâncias 6, 8, 10, 12, 16 e 20. Já o GRASP obtevemelhor valor nos conjuntos de instâncias 14 e 16.

Analisando a média de todos os conjuntos CG obteve um custo de 32,04 nas suas

Page 79: Roteamento de Drones Autônomo: Um Estudo Algorítmico

77

melhores soluções, o GRASP alcançou 32,42 como média global e o ACO conseguiu umvalor de 34,19 no custo total das soluções Best apresentadas

6.2.1.2 Teste de Friedman para as heurísticas

O teste de Friedman é utilizado na estatística para quantificar a diferença em umconjunto de valores com diferentes amostras. Para tais testes utilizamos a ferramenta Ralimentado com as médias dos conjuntos de instâncias testes (Tabela 3 e Tabela 2). Nestestestes utilizamos o nível de significância maxT = 3.5%, .

A hipótese inicial e os testes realizados denotam que todos os algoritmos tem o mesmocomportamento. Essa hipótese inicial, também chamada de nula, é refutada pelos valoresencontrados do p-valor terem sidos menores do que o nível de significância. Foram reali-zados dois testes de acordo com o problema tratado (A-CEVRP e CEVRP). Os valoresobtidos no final dos teste foram de p-valor = 0.001333 para o A-CEVRP e p-valor =0.0005086 no CEVRP. Para melhor compreender essa diferença um gráfico de variaçãodas amostras é apresentado na Figura 15 para cada problema.

ACO CG GRASP

3035

4045

5055

Algs

Valores

(a) CEVRP

ACO CG GRASP

2530

3540

Algs

Valores

(b) A-CEVRP

Figura 15: Gráfico Variança dos resultados obtidos pelos algoritmos.

Nos gráficos da Figura 15 é possível observar o desempenho de CG obtendo o menorvalor médio dos três algoritmos testados tanto no A-CEVRP como no CEVRP. Logo em

Page 80: Roteamento de Drones Autônomo: Um Estudo Algorítmico

78

seguida o GRASP se apresenta como a segunda opção de algoritmo. E o ACO aparececomo pior método.

6.2.1.3 Teste de PostHoc as heurísticas CG e GRASP

Para o teste PostHoc analisando as duas heurísticas (CG e GRASP) que se saírammelhor nos resultados do CEVRP e A-CEVRP, obtemos um p-valor = 0.03389 para oCEVRP e p-valor = 0.1573 no A-CEVRP, o que ainda nos mostra a diferênça entre estesdos métodos utilizados.

CG GRASP

3035

4045

50

Algs

Valores

(a) CEVRP

CG GRASP

2530

3540

Algs

Valores

(b) A-CEVRP

Figura 16: Gráfico Variança dos resultados obtidos pelos algoritmos CG e GRASP.

6.3 Resultados acadêmicos da pesquisa

O estudo das tecnologias e métodos que foi implementados para solucionar os proble-mas mapeados, apresentaram resultados bibliográficos como publicações em congressos eperiódicos para o problema tratado e suas variantes, além de publicações e participaçõesem congressos com outros problemas não mencionados. Segue abaixo a lista de publicaçõese submissões realizadas oriundas da pesquisa:

Page 81: Roteamento de Drones Autônomo: Um Estudo Algorítmico

79

• Heurística para o Problema do Caixeiro Viajante com Visitas Próximas o Suficiente:artigo publicado no L Simpósio Brasileiro de Pesquisa Operacional (SBPO), no anode 2018.

• Problema de Roteamento de Veículo Suficientemente Próximo Assimétrico: Formu-lação e Heurística: em processo de avaliação pelo periódico Pesquisa Operacionalpara o Desenvolvimento.

• Close-Enough Vehicle Routing Problem Asymmetric: Formulation and Heuristics.Artigo publicado no periódico Brazilian Journal of Development, no ano de 2019.

Page 82: Roteamento de Drones Autônomo: Um Estudo Algorítmico

80

7 Considerações finais

O A-CEVRP foi formulado de acordo com a necessidade de rotear uma frota heterogê-nea de VANTs para o monitoramento de grandes áreas. A existência da interferência dosventos foi um dos principais diferenciais apresentados por esse problema. E a modelagemmatemática descrita na seção 3.3, traz métodos de redução de variáveis e linearização emalguns restrições para otimizar sua utilização nos solvers lineares que suportam equaçõescônicas de segunda ordem.

Esta também é a primeira formulação matemática proposta para o problema, e resol-vida pelo solver IBM CPLEX o qual obteve 111 soluções ótimas para instâncias de até12 pontos. Este trabalho também contribuiu para a literatura do problema, com a criaçãode um banco de 240 instâncias públicas, com todos os dados necessário para o A-CEVRP.Um banco de instâncias público para o problema, servirá como medidas padrões parapropostas de trabalhos futuros.

A utilização da Clusterização Geométrica como método para criar soluções do A-CEVRP apresentou um desvio percentual menor do que -3,02% para os valores do solver.A heurística ainda foi capaz de mostrar 90 novos limites para nas instâncias com 14, 16, 18e 20 pontos. No conjunto com 20 pontos, a heurística superou todos os valores apresentadospelo solver que só consegui finalizar sua execução no tempo limite em 5 instâncias. Nostestes comparando as heurísticas implementadas neste trabalho, CG se apresenta como emelhor média dos dois problemas deste trabalho. E no teste de estatístico não paramétricotambém se comprova CG como melhor método para as instâncias testadas.

A Clusterização Geométrica permite adaptações de acordo com a característica doproblema ou a escolha da pesquisa. Isto permite a aplicação da heurística em outrosproblemas que necessitam clusterizar e gerar postos específicos em regiões de demandas.Pode-se facilmente substituir o método de (GILLETT; MILLER, 1974) por um segundoalgoritmo. Ainda outros fatores podem ser adaptados, como o tratamento de duas coli-sões em uma mesma circunferência. Pode-se adaptar também a interferência dos valores

Page 83: Roteamento de Drones Autônomo: Um Estudo Algorítmico

81

(vento, proximidade de outros centroides, proximidade da base, etc.) no deslocamento doscentroides.

7.1 Trabalhos futuros

Acredita-se que a aplicação de outras heurísticas de agrupamento pode ser utilizadapara otimizações do problema em conjunto com o método de Clusterização Geométrica,tais como Busca Tabu e até mesmo uma heurística de Geração de Colunas. Ainda épossível optar por métodos hibridizados ou métodos exatos como Branch-and-Cut para oproblema.

Um outro estudo que deve ser desenvolvido para melhorar os limites das instânciasdo problema, é a possibilidade de linearização do modelo matemático apresentado, ou autilização de uma estratégia matheurística para aplicar otimização ao A-CEVRP.

Page 84: Roteamento de Drones Autônomo: Um Estudo Algorítmico

82

Referências

ARKIN, E. M.; HASSIN, R. Approximation algorithms for the geometric coveringsalesman problem. Discrete Applied Mathematics, Elsevier, v. 55, n. 3, p. 197–218, 1994.

ASCONAVIETA, P.; GOLDBARG, M. C.; GOLDBARG, E. F. G. Algoritmo em colôniade formigas com multiferomônios para a solução do problema do caixeiro alugador. 2012.

BAMBURRY, D. Drones: Designed for product delivery. Design Management Review,Wiley Online Library, v. 26, n. 1, p. 40–48, 2015.

BANDEIRA, T. W. et al. Analysis of path planning algorithms based on travellingsalesman problem embedded in uavs. In: 2015 Brazilian Symposium on ComputingSystems Engineering (SBESC). [S.l.: s.n.], 2015. p. 70–75.

BEHDANI, B.; SMITH, J. C. An integer-programming-based approach to theclose-enough traveling salesman problem. INFORMS Journal on Computing, INFORMS,v. 26, n. 3, p. 415–432, 2014.

BERG, M. de et al. Tsp with neighborhoods of varying size. Journal of Algorithms,Elsevier, v. 57, n. 1, p. 22–36, 2005.

CARRABS, F. et al. A novel discretization scheme for the close enough travelingsalesman problem. Computers & Operations Research, Elsevier, v. 78, p. 163–171, 2017.

COIN-OR. Computational infrastructure for operations research project. 2016.

COUTINHO, W. P. et al. A branch-and-bound algorithm for the close-enough travelingsalesman problem. INFORMS Journal on Computing, INFORMS, v. 28, n. 4, p. 752–765,2016.

DANTZIG, G.; FULKERSON, R.; JOHNSON, S. Solution of a large-scale traveling-salesman problem. Journal of the operations research society of America, INFORMS,v. 2, n. 4, p. 393–410, 1954.

DANTZIG, G. B.; RAMSER, J. H. The truck dispatching problem. Management science,Informs, v. 6, n. 1, p. 80–91, 1959.

DORIGO, M.; CARO, G. D. Ant colony optimization: a new meta-heuristic. In:IEEE. Proceedings of the 1999 congress on evolutionary computation-CEC99 (Cat. No.99TH8406). [S.l.], 1999. v. 2, p. 1470–1477.

DUARTE, A. et al. Variable neighborhood descent. Springer, 2016.

Page 85: Roteamento de Drones Autônomo: Um Estudo Algorítmico

83

ELBASSIONI, K.; FISHKIN, A. V.; SITTERS, R. Approximation algorithms for theeuclidean traveling salesman problem with discrete and continuous neighborhoods.International Journal of Computational Geometry & Applications, World Scientific,v. 19, n. 02, p. 173–193, 2009.

FEO, T. A.; RESENDE, M. G. A probabilistic heuristic for a computationally difficultset covering problem. Operations research letters, Elsevier, v. 8, n. 2, p. 67–71, 1989.

GENDREAU, M.; HERTZ, A.; LAPORTE, G. New insertion and postoptimizationprocedures for the traveling salesman problem. Operations Research, INFORMS, v. 40,n. 6, p. 1086–1094, 1992.

GENDREAU, M.; HERTZ, A.; LAPORTE, G. New insertion and postoptimizationprocedures for the traveling salesman problem. Operations Research, INFORMS, v. 40,n. 6, p. 1086–1094, 1992.

GENTILINI, I.; MARGOT, F.; SHIMADA, K. The travelling salesman problem withneighbourhoods: Minlp solution. Optimization Methods and Software, Taylor & Francis,v. 28, n. 2, p. 364–378, 2013.

GILLETT, B. E.; MILLER, L. R. A heuristic algorithm for the vehicle-dispatch problem.Operations research, INFORMS, v. 22, n. 2, p. 340–349, 1974.

GOLDBARG, M. C.; GOLDBARG, E. F. G.; DUARTE, H. D. M. Transgeneticalgorithm for the periodic mobile piston pump unit routing problem with continuousoil replenishment. International Journal of Innovative Computing and Applications,Inderscience Publishers, v. 2, n. 4, p. 203–214, 2010.

GOLDBARG, M. C.; GOLDBARG, E. G.; LUNA, H. P. L. Otimização Combinatória eMetaheurísticas: Algoritmos e Apliacações. Rio de Janeiro - RJ, Brasil: Editora Elsevier,2016. ISBN 9788535278125.

GREENFIELD, G. On evolving multi-pheromone ant paintings. In: IEEE. 2006 IEEEInternational Conference on Evolutionary Computation. [S.l.], 2006. p. 2072–2078.

GULCZYNSKI, D. J.; HEATH, J. W.; PRICE, C. C. The close enough travelingsalesman problem: A discussion of several heuristics. Perspectives in Operations Research,Springer, p. 271–283, 2006.

HANSEN, P.; MLADENOVIĆ, N. Variable neighborhood search: Principles andapplications. European journal of operational research, Elsevier, v. 130, n. 3, p. 449–467,2001.

JAIN, A. K.; MURTY, M. N.; FLYNN, P. J. Data clustering: a review. ACM computingsurveys (CSUR), Acm, v. 31, n. 3, p. 264–323, 1999.

KONTORAVDIS, G.; BARD, J. F. A grasp for the vehicle routing problem with timewindows. ORSA journal on Computing, INFORMS, v. 7, n. 1, p. 10–23, 1995.

LAE, U. F. d. R. G. d. N. A-CEVRP - Instances. 2018. http://www.dimap.ufrn.br/lae/en/projects/ACEVRP.php.

Page 86: Roteamento de Drones Autônomo: Um Estudo Algorítmico

84

LAYEB, A.; AMMI, M.; CHIKHI, S. A grasp algorithm based on new randomizedheuristic for vehicle routing problem. Journal of computing and information technology,SRCE-Sveučilišni računski centar, v. 21, n. 1, p. 35–46, 2013.

LÓPEZ-IBÁÑEZ, M. et al. The irace package: Iterated racing for automatic algorithmconfiguration. Operations Research Perspectives, Elsevier, v. 3, p. 43–58, 2016.

MANDLE, J.; GOUDON, J.-C. Method for determining the air speed of a helicopter,system for carrying on this method and method for calibrating such air speed determiningmethod and system. [S.l.]: Google Patents, maio 9 1989. US Patent 4,829,441.

MENNELL, W.; GOLDEN, B.; WASIL, E. A steiner-zone heuristic for solving theclose-enough traveling salesman problem. 2011.

MENNELL, W. K. Heuristics for solving three routing problems: Close-enough travelingsalesman problem, close-enough vehicle routing problem, sequence-dependent teamorienteering problem. Tese (Doutorado), 2009.

MILLER, C. E.; TUCKER, A. W.; ZEMLIN, R. A. Integer programming formulation oftraveling salesman problems. Journal of the ACM (JACM), ACM, v. 7, n. 4, p. 326–329,1960.

MITCHELL, J. S. A ptas for tsp with neighborhoods among fat regions in the plane. In:SOCIETY FOR INDUSTRIAL AND APPLIED MATHEMATICS. Proceedings of theeighteenth annual ACM-SIAM symposium on Discrete algorithms. [S.l.], 2007. p. 11–18.

MONCAYO-MARTÍNEZ, L. A.; ZHANG, D. Z. Multi-objective ant colony optimisation:A meta-heuristic approach to supply chain design. International Journal of ProductionEconomics, Elsevier, v. 131, n. 1, p. 407–420, 2011.

OCAÑO, A. D. R. et al. Effect of parameters tuned by a taguchi design l_9 3ˆ 4 in thegrasp algorithm to solve the vehicle routing problem with time windows. Computación ySistemas, v. 22, n. 2, 2018.

OUBBATI, O. S. et al. Intelligent uav-assisted routing protocol for urban vanets.Computer Communications, Elsevier, v. 107, p. 93–111, 2017.

PRINS, C.; LACOMME, P.; PRODHON, C. Order-first split-second methods for vehiclerouting problems: A review. Transportation Research Part C: Emerging Technologies,Elsevier, v. 40, p. 179–200, 2014.

RIERA-LEDESMA, J.; SALAZAR-GONZÁLEZ, J. J. A column generation approachfor a school bus routing problem with resource constraints. Computers & OperationsResearch, Elsevier, v. 40, n. 2, p. 566–583, 2013.

SHARMA, S. K.; ROUTROY, S.; YADAV, U. Vehicle routing problem: recent literaturereview of its variants. International Journal of Operational Research, IndersciencePublishers (IEL), v. 33, n. 1, p. 1–31, 2018.

SHIRKHORSHIDI, A. S. et al. Big data clustering: a review. In: SPRINGER.International Conference on Computational Science and Its Applications. [S.l.], 2014. p.707–720.

Page 87: Roteamento de Drones Autônomo: Um Estudo Algorítmico

85

SLATTERY, R.; ZHAO, Y. Trajectory synthesis for air traffic automation. Journalof Guidance Control and Dynamics, AMERICAN INST OF AERONAUTICS ANDASTRONAUTICS, v. 20, p. 232–238, 1997.

TRICOIRE, F. Vehicle and personnel routing optimization in the service sector:application to water distribution and treatment. 4OR, Springer Science & BusinessMedia, v. 5, n. 2, p. 165, 2007.

VELASCO, N. et al. A memetic algorithm for a pick-up and delivery problem byhelicopter. Bio-inspired algorithms for the vehicle routing problem, Springer, p. 173–190,2009.

YUAN, B.; ORLOWSKA, M.; SADIQ, S. On the optimal robot routing problem inwireless sensor networks. IEEE Transactions on Knowledge and Data Engineering, IEEE,v. 19, n. 9, p. 1252–1261, 2007.

Page 88: Roteamento de Drones Autônomo: Um Estudo Algorítmico

86

APÊNDICE A -- Pseudocódigo

Pseudocódigo do da Vizinhança de seção da circunferência por retas fictícias, apre-sentado e analisado na seção 4.3.1.4 deste trabalho.

Page 89: Roteamento de Drones Autônomo: Um Estudo Algorítmico

87

Algoritmo 11 Vizinhança secção da circunferênciaEntrada: s - solução inicial

f - fracionamentoSaída: s

0 - solução modificada1: s

0 ( s

2: para todo c 2 s0faça

3: pt = (xc + rc, yc),4: pb = (xc � rc, yc)

5: pr = (xc, yc + rc),6: pl = (xc, yc � rc)

7: D = {pt, pb, pl, pr}8: para i = {0, · · · , f} faça

9: ptY = ptY + (rc/i)

10: pbY = pbY + (rc/i)

11: plX = plX + (rc/i)

12: prX = prX + (rc/i)

13: D + intersection(pt, pb, c)

14: fim para

15: pt = (xc + rc, yc), pb = (xc � rc, yc)

16: pr = (xc, yc + rc), pl = (xc, yc � rc)

17: para i = {0, · · · , f} faça

18: ptY = ptY � (rc/i)

19: pbY = pbY � (rc/i)

20: plX = plX � (rc/i)

21: prX = prX � (rc/i)

22: D + intersection(pt, pb, c)

23: fim para

24: para todo p 2 D faça

25: s0 � {c}

26: s0 + {p}

27: se s0< s então

28: s ( s0

29: senão

30: s0 ( s

31: fim se

32: fim para

33: fim para

Page 90: Roteamento de Drones Autônomo: Um Estudo Algorítmico

88

APÊNDICE B -- Dados

Exemplos de soluções criadas para o CEVRP e A-CEVRP tanto da heurística CGcomo do Solver.

Page 91: Roteamento de Drones Autônomo: Um Estudo Algorítmico

89

Figura 17: Solução heurística (CG) da instancia 10_0 CEVRP

Page 92: Roteamento de Drones Autônomo: Um Estudo Algorítmico

90

Figura 18: Solução do Solver da instancia 10_0 CEVRP

Page 93: Roteamento de Drones Autônomo: Um Estudo Algorítmico

91

Figura 19: Solução heurística (CG) da instancia 10_0 A-CEVRP

Page 94: Roteamento de Drones Autônomo: Um Estudo Algorítmico

92

Figura 20: Solução do Solver da instancia 10_0 A-CEVRP

Page 95: Roteamento de Drones Autônomo: Um Estudo Algorítmico

93

APÊNDICE C -- Resultados individuais decada instância

C.1 Comparação individual entre os resultados de CG

e Solver

Nesta seção são apresentados os resultados da Clusterização Geométrica confrontadoscom as soluções apresentadas pelo Solver.

C.1.0.1 Teste A-CEVRP

Abaixo são apresentados e discutidos os resultados dos algorítimos para o problemaA-CEVRP, versão com interferências dos ventos.

Inst06

Solver CG Inst06

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 18,29 1,92 18,29 18,30 3,40 15 27,12 1,11 27,25 27,25 1,171 21,76 1,49 21,89 21,89 3,04 16 18,56 2,13 18,73 18,73 1,702 17,91 2,72 17,92 17,92 2,35 17 17,93 1,48 18,02 18,72 3,853 19,35 1,48 19,42 19,42 1,24 18 24,20 1,10 24,22 24,22 2,654 29,51 1,08 29,55 29,95 2,63 19 25,00 0,99 25,23 25,23 3,565 17,08 1,36 17,17 17,57 0,97 20 27,27 1,66 27,30 27,30 3,256 23,96 2,23 23,98 23,98 0,90 21 24,42 1,76 24,46 24,46 1,847 24,85 1,31 24,89 24,89 1,22 22 24,18 2,45 24,33 24,33 2,378 15,79 1,98 15,86 16,06 1,56 23 20,03 0,91 20,13 20,13 1,849 21,32 1,80 21,38 21,38 2,04 24 21,57 1,20 21,73 21,73 2,3210 28,32 1,13 28,36 28,36 3,42 25 24,23 0,66 24,28 24,28 4,5411 28,91 2,78 28,96 28,96 2,15 26 23,96 1,83 24,18 24,18 1,0612 23,76 2,18 23,84 23,84 1,35 27 23,28 0,39 23,40 23,40 1,39

Page 96: Roteamento de Drones Autônomo: Um Estudo Algorítmico

94

Inst06

Solver CG Inst06

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

13 18,51 1,17 18,63 18,63 2,89 28 29,32 0,88 29,45 29,45 3,3314 25,41 1,13 25,47 25,47 3,31 29 28,72 0,47 28,79 28,92 5,03

Tabela 4: Resultados para instâncias com 6 pontos noCEVRP de CG.

Na Tabela 4 estão expostos os resultados dos experimentos realizados no conjuntode instância com 6 pontos. Para esse conjunto o desvio percentual das melhores soluçõesobtidas pela heurística (Best) em relação aso valores apresentados pelo Solver é de 0,37%.Ao analisar a média Av das soluções encontradas por CG, tem-se um gap 0,63%. Já, otempo médio para o Solver obter os valores da Tabela 4 tem um afastamento médio de61,06% em relação ao tempo de processamento de CG.

Inst08

Solver CG Inst08

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 22,50 13,29 22,50 22,52 7,39 15 24,09 14,93 24,12 24,12 12,671 28,57 5,64 28,59 28,96 5,54 16 38,24 14,59 38,24 38,64 8,592 23,44 27,26 23,47 23,70 4,89 17 21,60 1,67 21,79 22,02 5,073 35,21 8,32 35,23 35,78 7,28 18 23,36 2,84 23,57 23,58 3,064 20,11 2,11 20,19 20,22 10,28 19 27,38 4,12 27,43 27,61 7,325 22,29 5,28 22,49 22,77 5,50 20 25,09 10,78 25,22 25,76 7,936 18,41 3,49 18,59 19,01 8,32 21 23,97 1,94 24,01 25,24 6,617 31,21 25,40 31,32 31,33 7,10 22 31,14 8,55 31,19 31,19 11,908 27,72 10,71 27,76 27,78 6,60 23 29,65 11,98 29,72 29,75 5,019 43,33 17,54 43,33 44,29 6,27 24 25,65 11,36 25,67 25,69 5,7510 22,05 19,95 22,09 22,10 8,83 25 35,46 8,36 35,49 35,54 5,0111 27,85 17,08 27,86 31,82 7,29 26 26,34 8,60 26,37 26,45 6,7012 39,93 37,76 39,98 39,99 7,40 27 25,69 8,58 25,76 25,81 8,8913 28,13 14,45 28,13 28,12 5,79 28 24,34 13,72 24,51 24,61 4,9714 38,45 17,51 38,45 38,60 5,05 29 35,72 6,52 35,74 36,73 5,25

Tabela 5: Resultados para instâncias com 8 pontos noCEVRP de CG.

Page 97: Roteamento de Drones Autônomo: Um Estudo Algorítmico

95

Para os valores apresentados na Tabela 5, CG consegue gap 0,22% em média dassoluções apresentadas pelo Solver no conjunto das 30 instâncias com 8 pontos. Já para amédias das 20 execuções independentes da heurística (Av), obteve um afastamento médiode 1,39% em relação ao Solver. Contudo, para calcular esses valores, o Solver necessitoude um tempo de processamento 42,31% a mais do que o apresentado pela heurística CG.

Inst10

Solver CG Inst10

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 29,04 177,48 29,10 29,30 31,21 15 22,46 22,58 22,60 26,93 18,371 28,57 143,76 28,65 28,73 37,21 16 23,96 54,11 23,98 23,99 29,452 37,54 37,29 37,57 37,58 15,57 17 27,04 101,86 27,09 28,33 29,243 25,01 520,62 25,06 25,09 27,49 18 29,34 57,12 29,38 29,60 25,324 28,42 171,89 28,53 28,87 24,78 19 35,90 143,35 36,00 36,10 22,715 27,55 149,52 27,67 28,01 17,42 20 26,32 151,43 26,34 26,40 24,086 29,12 176,41 29,16 29,24 30,39 21 30,27 55,52 30,31 30,77 26,217 36,66 113,07 36,72 36,75 18,84 22 29,71 269,30 29,78 29,82 35,288 24,43 69,08 24,59 24,70 30,80 23 26,41 74,52 26,48 26,59 17,529 23,50 34,58 23,52 25,03 27,05 24 30,28 157,91 30,33 30,56 26,4910 26,46 231,26 26,49 26,50 32,56 25 29,08 168,04 29,15 29,49 31,2711 23,40 75,39 23,43 23,62 32,80 26 28,49 129,91 28,57 28,62 33,2412 27,13 340,70 27,16 27,17 36,13 27 22,35 105,40 22,52 27,37 21,7913 30,15 128,85 30,31 31,28 26,37 28 30,82 213,51 30,82 30,82 30,9214 30,23 253,38 30,38 30,51 21,05 29 37,39 153,36 37,72 38,00 20,75

Tabela 6: Resultados para instâncias com 10 pontos noCEVRP de CG.

A Tabela 6 traz os resultados dos testes para as 30 instâncias com 10 pontos devisitação. Existe um gap médio de 0,27% entre as colunas Cost do Solver e Best de CG.Já para as colunas Cost e Av do Solver e CG respectivamente, tem-se um afastamento de2,18% na média das soluções. Contudo a heurística apresenta seus valores em um tempo80% menor do que o requisitado pelo Solver.

Nos conjuntos de 12, 14, 16, 18 e 20 pontos, o Solver não foi de capaz finalizar suaexecução no tempo limite de 4000 segundos. Por isso as Tabelas 7, 8, 9, 10 e 11 apresentaos limites superior (UB) e inferior (LB) no momento de sua interrupção. E nas instânciascom 16, 18 e 20 pontos, há casos onde o Solver não apresenta limites para a solução. Essas

Page 98: Roteamento de Drones Autônomo: Um Estudo Algorítmico

96

condições são demarcadas por - nas tabelas.

Inst12

Solver CGLB UB T(s) Best Av Tav(s)

12-0 29,50 29,50 921,12 29,55 29,57 64,8912-1 30,65 30,66 4000,00 30,67 30,82 67,6012-2 19,88 48,51 4000,00 48,66 49,02 62,2612-3 26,22 32,45 4000,00 32,53 33,16 50,0212-4 28,51 28,51 3647,18 26,39 28,03 64,2212-5 19,45 39,29 4000,00 39,12 39,18 49,0312-6 14,87 31,94 4000,00 31,99 32,58 65,9912-7 19,63 43,82 4000,00 43,86 44,05 51,2912-8 19,59 29,72 4000,00 29,76 31,22 51,5512-9 19,43 35,44 4000,00 35,13 35,45 84,9112-10 16,93 32,64 4000,00 32,78 33,00 58,2312-11 14,06 36,23 4000,00 29,82 33,81 57,5212-12 23,92 23,92 1704,94 24,07 25,21 48,3412-13 27,13 27,13 364,54 27,18 27,55 49,6812-14 35,68 35,68 3034,20 35,79 33,91 47,7012-15 31,48 33,65 4000,00 33,88 33,98 68,0812-16 37,62 37,62 2979,18 37,72 36,74 50,4512-17 14,34 31,95 4000,00 32,13 32,54 65,1712-18 27,40 27,40 2672,79 30,74 30,79 55,6212-19 29,92 29,93 3461,22 30,00 30,65 68,9212-20 13,60 40,58 4000,00 41,78 41,35 47,9312-21 14,08 43,73 4000,00 40,65 40,79 57,8712-22 17,81 28,85 4000,00 29,02 30,57 64,7612-23 20,24 33,70 4000,00 33,81 33,10 47,8512-24 29,82 29,82 1515,07 30,00 30,05 61,7512-25 19,97 43,22 4000,00 43,24 42,24 55,5312-26 25,97 25,98 989,12 26,03 26,06 52,9912-27 13,47 25,96 4000,00 26,27 26,75 67,4612-28 18,95 27,26 4000,00 27,29 27,39 52,5512-29 39,41 39,41 524,36 39,69 40,87 57,28

Tabela 7: Conjunto de instâncias com 12 pontos no CE-VRP de CG.

Page 99: Roteamento de Drones Autônomo: Um Estudo Algorítmico

97

Na Tabela 7, a heurística obteve 5 melhores valores do que o UB do Solver nasinstâncias 4, 5, 9, 11 e 21. Esses valores estão em itálico na coluna Best e representamnovos limites para a literatura do A-CEVRP. Neste conjunto (12 pontos), o afastamentomédio encontrado entre os valores UB do Solver e o Best de CG é de -0,50%. O valornegativo no gap encontrado significa uma redução na média dos valores encontrado porCG. Mas ao confrontar UB e Av temos um desvio percentual de 0,58% o que representaaproximadamente uma distância de 1% das melhores soluções para a média encontradaem CG. O Solver necessitou de 98% mais tempo de processamento do que CG para afinalização do seu algoritmo. Por fim, ao comparar os limites do Solver UB e LB, temosum afastamento médio de 43,60% em seus valores.

O Solver finalizou sua execução no tempo limite de 4000 segundos em todas as ins-tâncias dos conjuntos 14, 16, 18 e 20, por isso a coluna com esses valores foi excluída dasTabelas 8, 9, 10 e 11.

Inst14

Solver CG Inst14

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 12,27 29,55 29,69 29,69 127,38 15 12,25 33,59 32,80 32,80 125,281 8,30 29,32 29,52 29,52 110,36 16 9,73 54,36 48,14 48,14 121,772 12,36 35,45 36,36 36,36 123,94 17 7,48 31,37 35,82 35,82 98,763 10,47 27,37 27,62 27,62 165,35 18 10,29 32,16 32,40 32,40 111,834 9,49 34,37 34,61 34,61 98,77 19 7,31 27,20 27,82 27,82 132,065 8,13 34,19 34,61 34,61 134,03 20 7,49 29,15 29,35 29,35 144,046 6,55 26,85 27,73 27,73 108,32 21 7,38 32,04 32,25 32,25 117,967 11,10 37,66 37,94 37,94 105,42 22 14,89 35,87 37,18 37,18 149,738 7,59 39,94 38,23 38,23 160,34 23 8,75 32,32 32,77 32,77 120,059 9,87 29,21 30,94 30,94 118,45 24 10,86 33,77 34,04 34,04 144,6210 7,36 25,67 26,25 26,25 119,78 25 10,21 31,40 31,45 31,45 144,6711 11,04 32,66 33,02 33,02 130,68 26 9,80 37,44 39,49 39,49 132,5112 6,61 28,96 33,26 33,26 104,33 27 9,84 33,92 34,19 34,19 105,1013 10,70 35,99 35,70 35,70 132,81 28 7,94 29,08 29,85 29,85 130,0514 8,66 35,87 37,66 37,66 124,21 29 10,69 26,01 25,86 25,86 208,49

Tabela 8: Resultados para instâncias com 14 pontos noCEVRP de CG.

Assim como no conjunto de 12 pontos, CG foi capaz de obter 5 novos limites para o

Page 100: Roteamento de Drones Autônomo: Um Estudo Algorítmico

98

conjunto de instâncias com 14 pontos, esses valores podem ser observados nas instâncias13, 14, 15, 16 e 29. A heurística CG ainda apresentou um gap médio de -0,20% em relaçãoaos UB do Solver, e 1,40% de gap entre UB e a média das 20 execuções Av. As soluçõesde CG foram obtidas em um tempo de processamento 96,78% menor do que o Solver. Ogap entre os limites do Solver para os conjuntos 14, 16, 18 e 20, aproxima-se de 99,98%.

Inst16

Solver CG Inst16

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 - - 36,37 36,48 179,19 15 2,53 44,36 37,19 37,34 162,321 4,40 33,83 34,10 36,80 202,78 16 - - 36,66 36,78 199,782 7,82 33,29 33,84 34,23 193,59 17 2,88 25,24 25,37 25,40 347,043 4,17 40,54 40,60 40,64 188,08 18 7,75 40,61 35,04 35,28 152,874 4,94 35,20 35,33 35,39 197,50 19 7,75 42,93 41,73 41,92 259,765 2,39 33,18 33,24 33,35 231,71 20 4,37 40,91 40,67 40,92 206,236 - - 40,14 42,51 290,21 21 3,67 41,75 37,04 38,38 199,587 2,27 37,37 37,19 37,58 298,36 22 5,33 32,53 32,61 32,40 275,788 2,97 30,09 30,33 30,72 246,28 23 4,56 44,25 42,31 42,78 276,099 5,22 23,59 23,88 24,75 236,66 24 6,21 29,34 30,29 31,22 284,4310 3,67 30,01 28,55 29,00 220,09 25 5,65 35,69 33,59 33,99 149,2311 4,79 39,26 36,92 37,71 200,88 26 4,70 37,11 36,99 37,06 280,5312 - - 55,24 55,92 236,67 27 - - 41,94 41,95 155,5013 6,57 35,84 35,95 37,71 241,05 28 8,03 37,04 39,70 40,51 191,8314 10,04 37,99 36,72 36,92 143,49 29 5,94 45,47 43,08 44,21 238,72

Tabela 9: Instâncias com 16 pontos no CEVRP de CG.

No conjunto com 16 pontos o Solver não consegue limites válidos para cinco instânciase, além desses casos, CG apresenta doze novos limites (em itálico) para a literatura doproblema. Best possui um afastamento médio de -2,77% do limite UB em um tempo deprocessamento 94% menor, e -1,23% de gap médio entre os valores de Av e UB.

Inst18

Solver CG Inst18

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 5,08 30,37 29,67 31,18 364,33 15 1,42 38,39 26,35 30,81 421,001 - - 34,89 35,54 322,53 16 - - 40,71 40,91 556,932 - - 31,53 38,20 396,15 17 - - 45,94 45,32 284,163 - - 35,53 43,62 324,47 18 - - 42,27 42,39 374,87

Page 101: Roteamento de Drones Autônomo: Um Estudo Algorítmico

99

Inst18

Solver CG Inst18

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

4 4,61 39,14 32,88 33,51 598,70 19 - - 39,81 40,82 370,535 - - 37,83 38,07 444,34 20 2,76 39,43 35,40 37,14 487,926 - - 31,05 36,91 480,63 21 - - 36,26 36,03 349,267 2,19 27,08 31,68 36,51 341,34 22 - - 30,62 35,24 358,478 2,25 27,04 26,12 27,55 353,60 23 3,87 35,35 35,03 34,89 542,509 2,75 32,30 32,30 32,86 462,24 24 - - 41,83 42,70 270,2010 5,88 38,07 38,33 38,66 373,47 25 - - 40,21 41,95 342,7311 - - 47,73 48,56 296,01 26 3,73 40,15 37,16 39,52 338,2412 7,24 28,25 28,57 29,00 536,99 27 2,85 36,77 31,05 31,15 332,0313 - - 38,68 39,64 410,78 28 2,66 33,53 33,65 34,31 365,6714 - - 40,76 40,83 303,49 29 - - 38,22 38,84 302,53

Tabela 10: Instâncias com 18 pontos no CEVRP de CG.

Nos valores da Tabela 10, o Solver finalizou sua execução no tempo limite sem apre-sentar resultados válidos em 17 instâncias do conjunto com 18 pontos. Best consegue umgap médio de -6,21 em relação ao UB do Solver, em um tempo de processamento médio90% mais rápido do que requisitado pelo Solver. A média das execuções da heurísticaAv, tem um desvio percentual médio de -1,97% em relação aos valores de UB. O Solverapresenta 8 novos limites para as instâncias desse conjunto.

Inst20

Solver CG Inst20

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 - - 34,64 34,89 836,93 15 - - 35,02 40,80 709,291 - - 39,42 42,92 464,49 16 1,75 42,96 35,74 36,26 531,672 - - 33,03 33,27 668,55 17 - - 36,58 37,63 602,303 - - 41,50 42,08 479,24 18 - - 40,45 41,08 400,074 - - 42,68 42,37 551,66 19 - - 39,37 39,55 705,675 - - 46,35 47,15 511,08 20 - - 44,06 44,30 602,376 1,98 46,28 38,61 40,04 729,14 21 - - 35,20 35,65 662,837 - - 40,72 43,45 716,16 22 - - 36,91 48,65 451,388 - - 30,80 31,54 585,64 23 - - 38,97 39,08 631,499 - - 37,47 38,37 631,11 24 2,28 46,75 42,94 44,72 619,3710 1,37 40,14 39,68 39,87 634,26 25 - - 43,24 45,76 578,14

Page 102: Roteamento de Drones Autônomo: Um Estudo Algorítmico

100

Inst20

Solver CG Inst20

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

11 - - 36,32 38,97 701,98 26 4,95 44,94 41,97 42,49 339,1112 - - 41,63 42,28 455,36 27 - - 40,79 41,70 581,4813 - - 37,93 43,44 519,21 28 2,18 46,84 40,40 42,39 516,2414 - - 39,73 40,76 704,24 29 - - 29,64 34,81 561,19

Tabela 11: Instâncias com 20 pontos no CEVRP de CG.

No último conjunto de testes com 20 pontos, o Solver apresenta limites para apenas6 instâncias e todas são superadas por Best. UB e Best tem um afastamento médio de-10,66%, em um tempo 84% menor do que o Solver. CG ainda consegue um afastamentomédio de -8,26% entre a média das solução Av e UB do Solver.

C.1.0.2 Testes CEVRP

Os resultados dos testes a seguir desconsideram a presença dos ventos, caracterizandoo problema simétrico CEVRP.

Inst06

Solver CG Inst06

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 27,16 0,86 27,19 27,19 0,68 15 33,03 0,74 33,11 33,11 0,791 32,44 0,60 32,47 32,47 1,04 16 22,02 0,81 22,17 22,17 0,272 26,23 0,85 26,23 26,23 0,41 17 21,70 0,87 21,71 21,71 0,593 23,93 0,77 23,96 23,96 0,33 18 27,07 0,76 27,10 27,10 0,174 35,41 1,60 35,42 35,42 0,61 19 32,16 0,31 32,18 32,18 1,575 20,84 0,71 20,88 20,88 0,38 20 33,25 0,33 33,29 33,29 0,426 26,73 1,08 26,76 26,76 0,30 21 30,58 0,48 30,59 30,59 0,447 33,76 0,50 33,77 33,77 0,31 22 26,56 1,11 26,98 26,98 0,538 23,14 0,67 23,18 23,18 0,58 23 28,09 0,60 28,10 28,10 0,599 26,86 0,39 26,90 26,90 1,83 24 31,73 0,60 31,85 31,85 0,3310 33,64 0,32 33,64 33,64 0,28 25 29,33 0,56 29,37 29,37 0,8211 30,13 0,72 30,26 30,26 0,53 26 28,66 0,95 28,67 28,67 0,2612 31,77 0,60 31,83 31,83 0,99 27 28,98 0,68 28,99 28,99 0,6613 25,31 0,57 25,33 25,33 0,70 28 34,60 0,65 34,60 34,60 0,4914 27,15 0,77 27,16 27,16 0,55 29 39,62 0,56 39,69 39,69 0,40

Page 103: Roteamento de Drones Autônomo: Um Estudo Algorítmico

101

Inst06

Solver CG Inst06

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

Tabela 12: Resultados para instâncias com 6 pontos doCEVRP de CG.

Na Tabela 12 está exposto os resultados dos experimentos realizados no conjuntode instância com 6 pontos. Para esse conjunto a média desvio percentual das melhoressoluções obtidas pela heurística (Best) em relação aos valores apresentados pelo Solveré de 0,17%. Ao analisar a média Av das soluções encontradas por CG, tem-se um gapmédio também de 0,17%. Já, o tempo médio para o Solver obter os valores da Tabela 12foi 15,10% a mais do que o necessário para CG.

Inst08

Solver CG Inst08

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 30,94 6,46 30,95 30,95 1,96 15 31,67 16,77 31,67 31,67 4,881 39,83 5,82 39,89 40,55 1,43 16 42,33 7,90 42,33 44,43 1,582 31,77 22,14 31,78 31,78 1,24 17 30,06 3,85 30,06 30,07 2,123 39,72 5,69 39,73 40,56 2,67 18 31,44 4,05 31,46 31,48 0,964 27,77 16,39 27,77 27,77 1,80 19 33,53 8,82 33,53 33,53 3,185 34,08 2,38 34,09 35,43 1,14 20 29,18 12,60 29,18 29,20 2,626 24,42 1,85 24,47 24,51 1,48 21 43,55 17,64 43,55 43,64 2,227 38,20 25,67 38,29 39,03 3,77 22 40,24 6,02 40,25 40,25 1,308 34,01 4,67 34,01 34,89 1,30 23 34,13 8,70 34,13 34,63 3,199 56,30 73,18 56,30 56,32 2,05 24 32,33 6,38 32,37 32,37 2,7410 44,02 66,33 44,02 44,58 2,29 25 39,29 8,44 39,30 39,30 1,7411 35,57 23,28 35,58 36,63 1,10 26 39,39 2,56 39,44 39,99 1,5312 31,52 16,80 31,52 31,53 3,55 27 34,18 13,52 34,20 34,21 2,9513 31,71 18,33 31,88 31,99 1,29 28 31,00 7,29 31,01 31,89 1,3914 42,59 13,28 42,64 47,78 1,46 29 47,72 51,13 47,72 57,45 1,78

Tabela 13: Resultados para instâncias com 8 pontos doCEVRP de CG.

Para os valores apresentados na Tabela 13, CG consegui gap 0,06% em média dassoluções apresentadas pelo Solver no conjunto das 30 instâncias com 8 pontos. Já para a

Page 104: Roteamento de Drones Autônomo: Um Estudo Algorítmico

102

médias das 20 execuções independentes da heurística (Av), obteve um afastamento médiode 2,39% em relação ao Solver. Contudo, para calcular esses valores, o Solver necessitoude um tempo de processamento 86% a mais do que o apresentado pela heurística CG.

Inst10

Solver CG Inst10

Solver CGCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 46,42 603,36 46,42 47,07 3,34 15 32,30 139,91 32,30 32,31 1,401 45,00 714,34 45,00 46,11 4,90 16 30,41 105,73 30,42 31,40 3,972 45,52 244,64 45,52 46,47 3,44 17 39,98 643,06 39,98 41,60 3,153 30,01 1891,84 30,03 31,14 3,40 18 44,42 259,79 44,42 45,27 2,034 32,98 462,43 33,00 33,03 3,36 19 38,69 509,02 38,70 38,71 5,065 42,75 2096,44 42,76 43,61 3,35 20 32,36 203,94 32,38 32,39 3,566 36,69 1510,28 36,69 36,73 3,09 21 39,49 79,36 39,50 39,51 5,177 42,37 144,66 42,37 48,63 2,47 22 58,28 3684,04 58,29 59,74 2,648 32,69 202,13 32,70 32,72 5,46 23 33,58 101,50 33,66 33,89 2,369 38,53 665,02 38,54 39,33 2,37 24 38,03 747,14 38,06 38,09 5,3010 33,01 639,53 33,01 33,01 3,37 25 42,25 875,44 42,28 43,07 6,3711 29,32 452,32 29,33 29,33 5,17 26 43,19 576,07 43,23 44,65 4,2412 37,27 799,52 37,27 37,32 8,38 27 32,76 250,93 32,76 33,56 3,5413 43,94 327,00 43,94 44,32 1,88 28 39,48 616,58 39,49 42,91 5,0414 41,35 1803,49 41,35 41,52 2,28 29 50,39 215,19 50,41 54,91 2,04

Tabela 14: Resultados para instâncias com 10 pontos doCEVRP de CG.

A Tabela 14 traz os resultados dos testes para as 30 instâncias com 10 pontos devisitação. Existe um gap médio de 0,03% entre as colunas Cost do Solver e Best de CG.Já para as colunas Cost e Av do Solver e CG respectivamente, tem-se um afastamento de2,46% na média das soluções. Contudo a heurística apresenta seus valores em um tempo99% menor do que o requisitado pelo Solver.

Nos conjuntos de 12, 14, 16, 18 e 20 pontos, o Solver não foi de capaz finalizar suaexecução no tempo limite de 4000 segundos. Por isso as Tabelas 15, 16, 17, 18 e 19apresenta os limites superior (UB) e inferior (LB) no momento de sua interrupção. E nasinstâncias com 16, 18 e 20 pontos, há casos onde o Solver não apresenta limites para asolução. Essas condições são demarcadas por - nas tabelas e os valores da heurística paraesses casos, são dados pelo custo real da solução. Ainda há casos onde o gap é negativo,

Page 105: Roteamento de Drones Autônomo: Um Estudo Algorítmico

103

o que significa que a heurística apresentou melhores resultados do que o UB do Solver.

Inst12

Solver CGLB UB T(s) Best Av Tav(s)

0 27,02 47,46 4000,00 47,46 47,46 8,511 21,51 37,17 4000,00 37,19 37,25 6,482 22,16 60,57 4000,00 59,21 59,80 1,593 15,30 46,85 4000,00 46,38 47,24 9,204 26,42 37,98 4000,00 37,99 38,70 6,155 16,08 46,73 4000,00 46,77 47,50 8,086 13,03 52,32 4000,00 46,15 51,25 6,057 14,18 53,45 4000,00 53,45 53,47 8,048 19,48 44,61 4000,00 44,61 44,61 9,929 20,98 36,92 4000,00 36,95 38,47 7,3810 14,38 47,34 4000,00 47,43 48,11 10,4911 14,30 47,39 4000,00 47,40 48,99 4,2212 23,10 39,84 4000,00 39,85 39,87 5,6513 43,56 43,56 614,93 43,66 45,07 6,5914 32,84 45,00 4000,00 34,77 36,12 7,5215 16,00 46,68 4000,00 46,68 46,70 3,9516 23,92 47,77 4000,00 47,78 47,90 9,2317 14,42 42,96 4000,00 42,96 42,97 6,0418 16,01 72,02 4000,00 72,04 73,24 5,4319 24,17 45,37 4000,00 45,38 45,39 5,9320 12,34 44,75 4000,00 44,83 48,46 7,3921 13,24 45,26 4000,00 45,29 45,66 10,6822 13,79 43,57 4000,00 43,63 44,62 7,8723 16,88 35,41 4000,00 35,42 38,75 6,3724 37,17 37,17 2228,96 37,21 37,25 9,5825 21,84 46,99 4000,00 47,00 47,01 8,5426 39,65 39,65 1546,93 39,68 39,95 8,5027 14,90 40,92 4000,00 40,94 43,70 7,5828 18,35 43,35 4000,00 39,13 42,83 7,2129 49,54 49,54 849,57 49,60 56,77 5,08

Tabela 15: Conjunto de instâncias com 12 pontos CE-VRP.

Page 106: Roteamento de Drones Autônomo: Um Estudo Algorítmico

104

Na Tabela 15, a heurística obteve 5 melhores valores do que o UB do Solver nasinstâncias 2, 3, 6, 14 e 28. Esses valores estão em itálico na coluna Best e representamnovos limites para a literatura do problema. Neste conjunto (12 pontos), o afastamentomédio encontrado entre os valores UB do Solver e o Best de CG é de -1,59%. O valornegativo no gap encontrado significa uma redução na média dos valores encontrado porCG.

Ao confrontar UB e Av temos um desvio percentual de 1,21%. O Solver necessitou de99% mais tempo de processamento do que CG para a finalização do seu algoritmo. Porfim, ao comparar os limites do Solver UB e LB, temos um afastamento médio de 108,45%em seus valores. O Solver finalizou sua execução no tempo limite de 4000 segundos emtodas as instâncias dos conjuntos 14, 16, 18 e 20, por isso a coluna com esses valores foiexcluída das Tabelas 16, 17, 18 e 19.

Inst14

Solver CG Inst14

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 12,34 47,59 47,60 47,60 10,41 15 11,65 38,96 38,97 38,97 19,041 7,50 54,65 54,65 58,38 11,41 16 12,04 67,27 43,05 58,82 13,832 15,13 43,23 43,25 43,27 13,47 17 11,45 41,87 41,99 42,01 11,593 8,54 43,14 43,19 43,72 10,49 18 10,55 39,87 40,03 40,34 15,864 9,53 37,94 37,99 38,23 14,36 19 6,61 37,17 37,21 37,25 15,175 8,08 44,66 44,67 46,70 7,55 20 8,75 33,70 33,72 33,75 9,436 9,24 37,20 37,22 37,31 15,09 21 11,14 39,52 39,62 39,65 12,077 9,13 48,76 48,76 49,13 17,78 22 21,94 43,51 43,52 43,62 13,018 - - 34,62 34,67 11,23 23 8,78 41,94 42,00 42,26 13,649 8,12 36,03 36,03 36,06 15,62 24 14,19 42,16 42,16 42,17 12,5410 7,17 42,50 42,55 42,58 14,22 25 9,99 36,03 36,05 36,25 9,9011 10,30 38,27 38,30 38,33 11,59 26 10,02 48,45 48,50 49,29 13,3612 8,49 37,00 37,02 37,03 14,18 27 9,45 42,25 42,14 42,37 11,6013 7,59 44,99 44,99 45,91 8,07 28 10,58 43,75 43,78 43,85 16,4014 8,93 41,85 41,87 42,46 14,98 29 14,41 33,38 33,39 33,41 19,61

Tabela 16: Resultados para instâncias com 14 pontos deCG.

Assim como no conjunto de 12 pontos, CG foi capaz de obter 2 novos limites para oconjunto de instâncias com 14 pontos, esses valores podem ser observados nas instâncias

Page 107: Roteamento de Drones Autônomo: Um Estudo Algorítmico

105

16 e 27. A heurística CG ainda apresentou um gap médio de -1,91% em relação aos UBdo Solver, e 0,25% de gap entre UB e a média das 20 execuções Av. As soluções de CG

foram obtidas em um tempo de processamento 99,99% menor do que o Solver. O gapentre os limites do Solver para os conjuntos 14, 16, 18 e 20, ultrapassou os 100%.

Inst16

Solver CG Inst16

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 5,78 48,43 48,31 48,33 29,68 15 - - 38,83 48,76 20,271 - - 62,21 66,73 22,92 16 - - 44,27 44,88 21,442 7,60 41,44 41,45 49,77 19,06 17 4,61 44,06 44,07 44,79 19,033 - - 59,74 59,75 18,24 18 9,27 50,06 42,07 46,54 21,994 5,91 40,56 40,60 40,62 21,80 19 9,55 49,50 49,51 49,53 24,735 - - 48,96 56,88 15,49 20 6,72 59,44 52,25 54,17 26,986 - - 40,74 50,30 22,86 21 2,46 57,88 38,79 50,12 20,427 3,49 61,83 37,00 41,57 16,67 22 - - 36,63 44,33 16,558 5,88 47,02 47,03 47,99 20,30 23 - - 58,52 59,34 20,769 4,29 41,55 41,56 41,58 20,59 24 5,54 44,16 43,29 43,62 27,8810 3,82 45,88 45,89 45,90 23,23 25 - - 44,17 44,89 19,0911 5,85 57,56 57,62 61,88 18,97 26 5,68 44,82 44,83 44,86 20,1512 - - 48,76 56,21 17,92 27 6,42 48,50 48,51 48,52 17,7013 - - 40,57 41,83 14,61 28 6,93 66,89 41,82 47,87 17,7214 19,07 48,07 48,08 48,38 16,06 29 - - 40,46 45,62 20,87

Tabela 17: Conjunto de instâncias com 16 pontos CE-VRP.

No conjunto com 16 pontos o Solver não consegue limites válidos para 12 instânciase, além desses casos, CG apresenta sete novos limites (em itálico) para a literatura doproblema. Best possui um afastamento médio de -9,47% do limite UB em um tempo deprocessamento 94% menor, e -4,64% de gap médio entre os valores de Av e UB.

Inst18

Solver CG Inst18

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 4,46 48,59 48,45 49,13 38,76 15 - - 63,35 67,32 23,741 - - 44,86 45,08 29,33 16 - - 47,43 47,72 37,012 - - 42,11 44,02 30,85 17 - - 42,12 42,25 22,443 - - 41,33 41,50 24,36 18 - - 54,38 54,50 35,52

Page 108: Roteamento de Drones Autônomo: Um Estudo Algorítmico

106

Inst18

Solver CG Inst18

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

4 2,60 60,41 60,38 69,43 25,74 19 4,17 47,59 47,60 47,61 25,635 - - 41,11 48,20 22,89 20 2,29 56,13 56,14 56,16 30,756 - - 40,80 42,97 20,29 21 - - 40,47 40,88 28,227 - - 46,33 46,40 29,26 22 - - 51,20 51,38 39,068 1,80 49,04 44,94 44,94 29,52 23 - - 44,66 45,31 30,559 - - 40,91 46,53 27,28 24 - - 44,13 59,84 28,0210 - - 41,64 46,42 22,24 25 - - 42,35 44,00 28,2311 - - 46,30 46,38 28,12 26 5,18 63,12 62,33 64,18 29,0112 - - 51,11 59,14 29,65 27 2,81 58,76 58,81 61,59 25,9613 - - 40,95 41,25 38,38 28 - - 55,35 59,80 26,3414 - - 51,22 51,43 37,66 29 - - 43,19 43,59 21,65

Tabela 18: Conjunto de instâncias com 18 pontos de CG.

Nos valores da Tabela 18, o Solver finalizou sua execução no tempo limite sem apre-sentar resultados válidos em 19 instâncias do conjunto com 18 pontos. Best consegue umgap médio de -1,30 em relação ao UB do Solver, em um tempo de processamento médio99% mais rápido do que requisitado pelo Solver. A média das execuções da heurística Av,tem um desvio percentual médio de 2,45% em relação aos valores de UB.

Inst20

Solver CG Inst20

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 1,55 49,74 49,21 49,22 67,18 15 - - 52,39 54,33 40,651 - - 58,36 58,38 51,56 16 - - 57,55 57,60 59,272 - - 46,07 55,44 50,03 17 - - 62,90 63,14 43,073 - - 53,56 53,66 46,94 18 - - 66,77 68,51 41,654 - - 62,29 62,84 43,32 19 - - 40,58 46,94 45,865 - - 42,91 56,48 54,47 20 - - 50,90 50,90 51,406 - - 52,96 53,42 51,59 21 - - 43,03 43,06 53,907 - - 56,30 56,32 60,50 22 - - 57,16 58,79 37,418 4,42 45,27 43,22 44,09 55,03 23 - - 58,40 58,60 37,479 - - 55,61 55,64 39,57 24 - - 53,18 53,20 65,7010 2,54 55,27 42,45 50,57 58,79 25 - - 42,21 47,76 38,1311 4,75 61,55 48,00 53,10 49,18 26 - - 53,01 53,61 42,34

Page 109: Roteamento de Drones Autônomo: Um Estudo Algorítmico

107

Inst20

Solver CG Inst20

Solver CGLB UB Best Av Tav(s) LB UB Best Av Tav(s)

12 - - 70,26 73,53 45,92 27 - - 48,50 48,60 57,7113 - - 41,92 46,75 39,69 28 - - 66,30 69,42 46,4214 - - 51,21 51,79 45,84 29 - - 44,35 50,98 37,84

Tabela 19: Conjunto de instâncias com 20 pontos de CG.

No último conjunto de testes com 20 pontos, o Solver apresenta limites para apenas4 instâncias e todas são superadas por Best. UB e Best tem um afastamento médio de-13,66%, em um tempo 99% menor do que o Solver. CG ainda consegue um afastamentomédio de -7,01% entre a média das solução Av e UB do Solver.

C.1.0.3 Análise final dos testes

A Clusterização Geométrica mostrou-se eficiente em comparação com os valores apre-sentados pelo Solver, além de obter novos limites para os dois problemas, também foicapaz de criar soluções com gap médio de -2,80% para todas as instâncias do CEVRP,e um gap médio de -3,02% nas instâncias do A-CEVRP. Essas duas diferenças pode servisto nos gráficos da figura 21 abaixo:

MédiaGlobal41

42

43

44Solver CG

Reduçãodocustoda solução

(a) Média CEVRP

MédiaGlobal31

32

33

Solver CG

Reduçãodocustoda solução

(b) Média A-CEVRP

Figura 21: gap da média global CEVRP e A-CEVRP

O cálculo da média em todas as instâncias apresentados nos gráficos da figura 21desconsidera os testes que o Solver não apresentou resultados no tempo limite proposto. Osvalores do Solver (coluna cinza) é calculado pela média de todos os resultados apresentados

Page 110: Roteamento de Drones Autônomo: Um Estudo Algorítmico

108

na coluna Cost em instâncias de até 10 pontos, UB nas demais tabelas. Para o cálculo damédia global de CG são utilizados todos os valores apresentados na coluna Best.

É possível observar que a diferença entre o gap do Solver e CG (demarcado nos gráficoscomo "Redução do custo da solução"), é mais acentuado na versão simétrica (CEVRP) doque na versão assimétrica do problema (A-CEVRP). Essa diferença é de 0,22% na médiaglobal dos resultados.

Devido à característica não linear do problema, o Solver não apresenta soluções paratodas as instâncias, isto se agrava com o crescimento de pontos nas instâncias. Para o A-CEVRP o Solver não entrega resultados em 46 casos, e 61 instâncias do CEVRP ficaramsem respostas do Solver no limite de 4000 segundos de processamento. Esse cenário tam-bém foi descrito nos trabalhos com a característica "suficientemente próximo"(COUTINHO

et al., 2016), (BEHDANI; SMITH, 2014) e (MITCHELL, 2007). Portanto, tem-se a Clusteriza-ção Geométrica como melhor método disponível na literatura para resolução do CEVRPe A-CEVRP.

C.2 Comparação individual entre os resultados de ACO

e Solver

Nesta seção são apresentados os resultados de ACO confrontados com as soluçõesapresentadas pelo Solver.

C.2.0.1 Teste A-CEVRP

Abaixo são apresentados e discutidos os resultados do ACO para o problema A-CEVRP, versão com interferências dos ventos.

Inst06

Solver ACO Inst06

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 18,29 1,92 18,30 18,30 1,68 15 27,12 1,11 27,17 27,25 0,461 21,76 1,49 21,81 21,92 1,33 16 18,56 2,13 18,58 18,87 1,122 17,91 2,72 17,93 18,05 0,81 17 17,93 1,48 17,97 18,02 0,913 19,35 1,48 19,37 19,39 0,36 18 24,20 1,10 24,21 24,35 0,794 29,51 1,08 29,56 29,83 0,78 19 25,00 0,99 25,04 25,11 1,495 17,08 1,36 17,18 17,39 0,33 20 27,27 1,66 27,39 27,56 0,586 23,96 2,23 23,98 24,69 0,71 21 24,42 1,76 24,45 24,52 0,60

Page 111: Roteamento de Drones Autônomo: Um Estudo Algorítmico

109

Inst06

Solver ACO Inst06

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

7 24,85 1,31 24,90 24,97 0,69 22 24,18 2,45 24,24 24,31 0,838 15,79 1,98 15,82 15,98 0,33 23 20,03 0,91 20,13 20,13 0,689 21,32 1,80 21,35 21,48 0,65 24 21,57 1,20 21,66 21,74 0,3110 28,32 1,13 28,36 28,82 1,06 25 24,23 0,66 24,30 24,39 0,7111 28,91 2,78 28,96 29,07 1,09 26 23,96 1,83 24,00 24,28 0,8312 23,76 2,18 23,81 23,89 0,41 27 23,28 0,39 23,40 24,21 1,1813 18,51 1,17 18,54 18,62 0,77 28 29,32 0,88 29,39 29,42 0,5514 25,41 1,13 25,53 25,62 1,89 29 28,72 0,47 28,77 28,85 1,81

Tabela 20: Resultados para instâncias com 6 pontos noA-CEVRP do ACO.

Os resultados apresentados na Tabela 20 demonstram um gap média de 0,23% quandoanalisados os valores da coluna Best e Cost. Ao avaliar os resultados da média das exe-cuções independentes, temos um gap de 0,93 % o que é considerado indesejado para umconjunto de instâncias com apenas 6 pontos. Já o tempo média de processamento do ACOé de 0,86 segundos nesta bateria de testes.

Inst08

Solver ACO Inst08

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 22,50 13,29 28,92 29,94 3,91 15 24,09 14,93 24,10 24,27 2,441 28,57 5,64 28,62 30,39 1,98 16 38,24 14,59 38,48 38,88 2,062 23,44 27,26 23,45 23,52 2,47 17 21,60 1,67 26,90 29,32 3,753 35,21 8,32 35,30 37,43 2,23 18 23,36 2,84 23,46 23,76 6,324 20,11 2,11 20,16 20,65 3,21 19 27,38 4,12 30,17 31,67 3,395 22,29 5,28 22,88 23,03 4,00 20 25,09 10,78 25,18 26,10 1,756 18,41 3,49 18,56 19,54 4,31 21 23,97 1,94 24,24 26,16 2,997 31,21 25,40 31,30 32,00 2,76 22 31,14 8,55 31,18 38,75 3,798 27,72 10,71 27,76 32,60 3,08 23 29,65 11,98 29,86 29,93 3,349 43,33 17,54 43,56 49,32 3,39 24 25,65 11,36 28,33 28,76 2,6210 22,05 19,95 22,11 30,49 3,18 25 35,46 8,36 35,54 36,43 2,6711 27,85 17,08 33,46 33,74 2,84 26 26,34 8,60 30,54 30,59 4,0812 39,93 37,76 40,05 41,60 3,37 27 25,69 8,58 25,74 26,47 3,7013 28,13 14,45 28,17 30,18 2,44 28 24,34 13,72 25,18 25,92 3,87

Page 112: Roteamento de Drones Autônomo: Um Estudo Algorítmico

110

Inst08

Solver ACO Inst08

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

14 38,45 17,51 38,64 39,02 2,77 29 35,72 6,52 35,74 34,74 2,51

Tabela 21: Resultados para instâncias com 8 pontos noA-CEVRP do ACO.

Na Tabela 21 é exibido os resultados dos experimentos realizados no conjunto deinstância com 8 pontos. Neste conjunto o gap das melhores soluções obtidas pela heurística(Best) em relação aso valores apresentados pelo Solver é de 3,62%. Ao analisar a médiaAv das soluções encontradas por ACO, tem-se um gap 9,24%. Já o tempo médio para oACO obter os valores da Tabela 21 foi de 3,18 segundos.

Inst10

Solver ACO Inst10

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 29,04 177,48 29,62 35,68 6,14 15 22,46 22,58 22,59 28,87 5,501 28,57 143,76 29,08 40,50 7,91 16 23,96 54,11 24,31 25,64 4,232 37,54 37,29 37,57 41,13 5,91 17 27,04 101,86 27,13 35,14 7,043 25,01 520,62 25,15 27,04 7,11 18 29,34 57,12 38,55 41,33 3,974 28,42 171,89 28,60 29,38 8,86 19 35,90 143,35 36,10 36,79 7,295 27,55 149,52 41,19 41,48 6,87 20 26,32 151,43 29,16 29,66 5,796 29,12 176,41 29,19 30,26 5,23 21 30,27 55,52 30,31 33,85 8,567 36,66 113,07 39,02 39,79 4,23 22 29,71 269,30 29,79 37,62 14,328 24,43 69,08 24,64 26,40 10,23 23 26,41 74,52 26,47 27,44 8,539 23,50 34,58 23,56 27,75 5,13 24 30,28 157,91 30,34 37,20 10,9510 26,46 231,26 26,53 34,11 7,30 25 29,08 168,04 29,22 36,87 7,9511 23,40 75,39 23,43 27,59 6,48 26 28,49 129,91 28,54 35,80 19,2912 27,13 340,70 27,17 32,98 8,20 27 22,35 105,40 27,41 27,92 5,8913 30,15 128,85 30,35 38,14 5,75 28 30,82 213,51 31,36 33,96 5,7214 30,23 253,38 33,33 33,83 3,18 29 37,39 153,36 37,70 38,97 3,93

Tabela 22: Resultados para instâncias com 10 pontos noA-CEVRP do ACO.

Um gap médio de 4,71 % foi retratado ao analisar os valores das colunas Best e Costda tabela 22, essa diferença se eleva para 18,21% ao analisarmos a coluna AV da mesma

Page 113: Roteamento de Drones Autônomo: Um Estudo Algorítmico

111

tabela. O ACO levou em média 7,25 segundos para finalizar suas execução.

Inst12

Solver ACOLB UB T(s) Best Av Tav(s)

0 29,50 29,50 921,12 29,79 35,00 21,111 30,65 30,66 4000 31,18 36,07 13,462 19,88 48,51 4000 48,61 53,07 14,213 26,22 32,45 4000 32,53 40,75 19,784 28,51 28,51 3647,18 28,58 33,58 16,945 19,45 39,29 4000 39,10 46,92 17,236 14,87 31,94 4000 32,01 43,30 16,087 19,63 43,82 4000 46,64 48,64 14,528 19,59 29,72 4000 38,06 39,00 8,379 19,43 35,44 4000 36,06 38,26 13,3010 16,93 32,64 4000 33,11 44,21 17,6311 14,06 36,23 4000 34,98 40,72 13,3712 23,92 23,92 1704,94 32,35 37,29 12,2113 27,13 27,13 364,54 28,22 29,49 10,7814 35,68 35,68 3034,20 38,83 41,37 11,4015 31,48 33,65 4000 34,01 41,38 14,3516 37,62 37,62 2979,18 37,71 39,74 15,1217 14,34 31,95 4000 32,35 38,99 12,9818 27,40 27,40 2672,79 30,84 40,42 19,5819 29,92 29,93 3461,22 30,06 35,29 16,5420 13,60 40,58 4000 42,96 53,23 10,1721 14,08 43,73 4000 42,87 45,31 12,2022 17,81 28,85 4000 29,61 41,96 15,7823 20,24 33,70 4000 33,76 34,97 14,5324 29,82 29,82 1515,07 30,90 33,29 10,4225 19,97 43,22 4000 53,18 47,38 13,5226 25,97 25,98 989,12 26,07 27,04 11,4527 13,47 25,96 4000 26,82 32,31 12,3328 18,95 27,26 4000 36,50 37,57 10,7629 39,41 39,41 524,36 41,73 45,17 13,58

Tabela 23: Conjunto de instâncias com 12 pontos no A-CEVRP do ACO.

Page 114: Roteamento de Drones Autônomo: Um Estudo Algorítmico

112

No conjunto de instâncias de 12 pontos (resultados apresentados na Tabela 23) o ACOfoi capaz de obter 3 melhores resultados do que o UB do Solver nas instâncias 5, 11 e21. Contudo o gap médio das melhores soluções do ACO (Best) é de 5,47% em relação aoUB. Esse gap eleva-se para 19,63% quando analisado a coluna AV. O ACO finaliza suaexecução em média de 14,12 segundos neste conjunto de instâncias.

Inst14

Solver ACO Inst14

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 12,27 29,55 29,83 32,86 22,20 15 12,25 33,59 33,94 36,50 19,281 8,30 29,32 39,31 40,68 12,74 16 9,73 54,36 53,68 66,81 13,062 12,36 35,45 36,76 42,22 11,37 17 7,48 31,37 35,56 40,42 21,863 10,47 27,37 27,57 40,63 23,70 18 10,29 32,16 32,42 37,00 15,554 9,49 34,37 34,86 40,20 14,63 19 7,31 27,20 27,64 38,20 25,955 8,13 34,19 34,52 40,74 13,76 20 7,49 29,15 30,55 36,72 18,096 6,55 26,85 28,75 35,12 19,06 21 7,38 32,04 32,77 35,12 14,737 11,10 37,66 38,17 42,72 15,96 22 14,89 35,87 36,03 39,65 16,328 7,59 39,94 38,71 46,88 19,19 23 8,75 32,32 32,65 36,75 17,629 9,87 29,21 29,31 31,85 16,16 24 10,86 33,77 33,83 35,89 14,8710 7,36 25,67 25,93 28,16 14,05 25 10,21 31,40 34,87 35,02 16,9711 11,04 32,66 33,39 37,82 22,07 26 9,80 37,44 39,59 43,55 21,5312 6,61 28,96 29,82 37,46 30,59 27 9,84 33,92 36,99 39,09 14,3013 10,70 35,99 35,82 39,71 13,72 28 7,94 29,08 29,62 38,67 21,2314 8,66 35,87 40,99 43,28 16,98 29 10,69 26,01 25,91 26,52 22,53

Tabela 24: Resultados para instâncias com 14 pontos noA-CEVRP do ACO.

No conjunto de instâncias com 14 pontos o ACO foi capaz de obter 4 melhores valoresdo que o UB nas instâncias 8, 13, 16 e 29. A heurística ACO ainda apresentou um gapmédio de 3,77% em relação aos UB do Solver, e 18,67% de gap entre UB e a média das 20execuções Av. O que representa uma evolução ao observa os testes com 12 e 10 pontos. Assoluções do ACO foram obtidas em um tempo de processamento médio de 18,00 segundosnesse conjunto de testes.

Inst16

Solver ACO Inst16

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 - - 36,42 41,28 41,20 15 2,53 44,36 38,93 47,86 26,47

Page 115: Roteamento de Drones Autônomo: Um Estudo Algorítmico

113

Inst16

Solver ACO Inst16

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

1 4,40 33,83 42,45 44,86 29,02 16 - - 37,07 46,68 34,632 7,82 33,29 35,19 42,73 21,26 17 2,88 25,24 25,44 33,84 32,123 4,17 40,54 40,65 52,45 24,58 18 7,75 40,61 37,38 42,11 23,474 4,94 35,20 35,45 45,17 23,99 19 7,75 42,93 41,83 51,38 27,905 2,39 33,18 34,31 38,64 28,17 20 4,37 40,91 44,67 48,59 35,136 - - 48,47 53,12 22,69 21 3,67 41,75 39,87 44,56 29,447 2,27 37,37 38,51 50,47 31,03 22 5,33 32,53 32,80 37,02 18,708 2,97 30,09 30,50 39,92 24,39 23 4,56 44,25 43,05 49,03 22,359 5,22 23,59 28,72 31,27 36,50 24 6,21 29,34 31,50 35,29 67,4710 3,67 30,01 31,49 35,78 33,84 25 5,65 35,69 41,76 43,59 25,7311 4,79 39,26 39,28 43,29 22,60 26 4,70 37,11 37,96 41,85 27,1212 - - 56,09 64,35 27,69 27 - - 42,02 53,83 17,5413 6,57 35,84 36,02 44,65 30,85 28 8,03 37,04 40,51 47,13 27,7614 10,04 37,99 37,29 44,04 24,67 29 5,94 45,47 43,30 57,32 20,45

Tabela 25: Conjunto de instâncias com 16 pontos no A-CEVRP do ACO.

Para o conjunto com 16 pontos o ACO obteve melhor desempenho do que o Solvernas instâncias 14, 15, 18, 19, 21, 23 e 29. O que representa um gap de 2,37% nas melhoressoluções do algoritmo. E um gap de 20,44% na média das soluções apresentadas pelo ACO.O tempo de processamento médio para esse conjunto de instância foi de 28,63 segundospor execução do ACO.

Inst18

Solver ACO Inst18

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 5,08 30,37 29,94 36,03 39,01 15 1,42 38,39 37,08 47,26 42,081 - - 38,43 45,70 40,71 16 - - 41,48 5- 37,882 - - 39,50 51,89 31,02 17 - - 46,27 56,23 30,433 - - 42,94 48,66 47,70 18 - - 42,47 50,43 39,464 4,61 39,14 38,81 43,36 46,56 19 - - 40,22 50,31 31,275 - - 37,85 48,17 34,35 20 2,76 39,43 41,36 48,72 34,836 - - 39,86 44,94 28,38 21 - - 36,42 41,70 32,977 2,19 27,08 37,12 37,97 31,39 22 - - 38,68 45,70 50,19

Page 116: Roteamento de Drones Autônomo: Um Estudo Algorítmico

114

Inst18

Solver ACO Inst18

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

8 2,25 27,04 30,51 34,13 34,45 23 3,87 35,35 35,61 45,33 54,609 2,75 32,30 32,23 37,32 46,65 24 - - 45,73 58,33 34,4010 5,88 38,07 43,90 46,88 24,20 25 - - 42,74 47,79 30,9811 - - 51,48 56,92 37,18 26 3,73 40,15 40,38 46,77 27,6412 7,24 28,25 28,93 35,92 50,67 27 2,85 36,77 41,09 49,48 31,5413 - - 40,46 48,56 37,04 28 2,66 33,53 35,17 41,97 38,3414 - - 44,08 53,00 32,23 29 - - 57,13 64,28 43,20

Tabela 26: Conjunto de instâncias com 18 pontos no A-CEVRP do ACO.

No conjunto com 18 pontos o ACO apresentou 4 melhores valores nas instâncias 0, 4,9 e 15. Um gap médio de 5,89% foi registrado nesse conjunto de instância, o que representasoluções com custo bastante elevado do ACO neste conjunto de instância. Os valores deAV apresentam um gap de 23,61%. O tempo médio de finalização das execuções para esseconjunto de instância foi de 37,38 segundos.

Inst20

Solver ACO Inst20

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 - - 35,19 38,54 49,27 15 - - 40,34 48,85 46,691 - - 45,92 50,13 54,74 16 1,75 42,96 41,28 49,24 54,012 - - 37,01 44,35 35,69 17 - - 40,05 46,08 43,593 - - 41,73 48,87 52,62 18 - - 49,62 60,12 39,834 - - 43,71 53,19 32,59 19 - - 39,44 45,56 49,455 - - 55,95 60,03 58,54 20 - - 44,14 51,85 57,496 1,98 46,28 43,17 51,21 54,57 21 - - 35,19 40,20 42,417 - - 45,14 52,45 39,57 22 - - 49,20 55,28 35,218 - - 32,58 39,35 45,64 23 - - 48,48 51,11 35,019 - - 42,68 43,79 32,56 24 2,28 46,75 50,01 55,68 40,8910 1,37 40,14 40,40 46,71 47,18 25 - - 46,01 57,27 36,7311 - - 38,87 52,93 90,08 26 4,95 44,94 46,02 50,63 51,1712 - - 43,68 60,75 50,35 27 - - 48,18 51,82 51,3913 - - 45,79 52,19 50,25 28 2,18 46,84 44,47 50,98 46,5114 - - 42,29 48,32 46,61 29 - - 47,13 55,57 35,50

Page 117: Roteamento de Drones Autônomo: Um Estudo Algorítmico

115

Inst20

Solver ACO Inst20

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

Tabela 27: Conjunto de instâncias com 20 pontos no A-CEVRP do ACO.

Para o conjunto de instâncias com 20 pontos, das 4 instâncias que o Solver foi capazde apresentar soluções teve seu valor superado pelo ACO em 3 com índices 6, 16 e 28.Neste conjunto o ACO finalizou sua execução com gap médio de -0,95% no conjunto dasmelhores solução, e 13,64% nos valores da coluna Av. O tempo médio de processamentopara essas instâncias foi de 46,87 segundos do ACO.

C.2.0.2 Testes CEVRP

Os resultados dos testes a seguir desconsideram a presença dos ventos, caracterizandoo problema simétrico CEVRP.

Inst06

Solver ACO Inst06

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 27,16 0,60 27,17 27,20 4,31 15 33,03 0,81 33,03 33,11 6,631 32,44 0,85 32,50 32,61 6,06 16 22,02 0,87 22,03 22,14 4,152 26,23 0,77 26,24 26,28 3,16 17 21,70 0,76 21,75 21,84 6,023 23,93 1,60 23,95 23,96 4,54 18 27,07 0,31 27,12 27,13 9,484 35,41 0,71 35,42 35,48 5,26 19 32,16 0,33 32,16 32,18 11,215 20,84 1,08 20,85 21,00 5,59 20 33,25 0,48 33,36 33,44 4,176 26,73 0,50 26,74 26,75 7,91 21 30,58 1,11 30,60 30,60 9,217 33,76 0,67 33,78 33,79 6,45 22 26,56 0,60 26,56 26,70 5,878 23,14 0,39 23,15 23,24 3,22 23 28,09 0,60 28,09 28,11 4,249 26,86 0,32 26,92 27,06 11,89 24 31,73 0,56 31,77 31,86 3,0410 33,64 0,72 33,64 33,67 2,56 25 29,33 0,95 29,37 29,37 5,9711 30,13 0,60 30,14 30,21 5,25 26 28,66 0,68 28,72 28,83 7,7912 31,77 0,57 31,87 31,87 11,73 27 28,98 0,65 28,99 29,24 5,1513 25,31 0,77 25,31 25,47 5,19 28 34,60 0,56 34,60 34,61 4,5114 27,15 0,74 27,22 27,28 5,90 29 39,62 6,46 39,66 39,78 4,68

Tabela 28: Resultados para instâncias com 6 pontos doCEVRP.

Page 118: Roteamento de Drones Autônomo: Um Estudo Algorítmico

116

Na Tabela 28 apresentamos os resultados dos testes referente ao conjunto de instânciacom 6 pontos. Para esse conjunto o gap médio das melhores soluções obtidas pela heurística(Best) em relação aos valores apresentados pelo Solver é de 0,09%. Ao analisar a médiaAv das soluções encontradas por ACO, tem-se um gap médio de 0,34%. Já, o tempo médiopara sua finalização foi de 6,04 segundos.

Inst08

Solver ACO Inst08

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 30,94 5,82 30,95 30,96 36,16 15 31,67 7,90 31,68 31,75 49,121 39,83 22,14 39,87 40,45 40,73 16 42,33 3,85 42,36 42,43 18,412 31,77 5,69 31,78 28,35 14,28 17 30,06 4,05 30,07 37,94 24,553 39,72 16,39 39,74 39,75 13,67 18 31,44 8,82 31,48 36,46 16,664 27,77 2,38 27,85 28,54 21,20 19 33,53 12,60 33,55 41,23 32,695 34,08 1,85 44,00 45,55 39,96 20 29,18 17,64 29,19 29,39 16,546 24,42 25,67 24,47 24,53 37,66 21 43,55 6,02 43,56 43,95 29,577 38,20 4,67 38,45 37,47 19,07 22 40,24 8,70 40,31 40,31 29,168 34,01 73,18 37,37 37,38 22,87 23 34,13 6,38 39,64 39,64 27,689 56,29 66,33 56,33 56,55 20,30 24 32,33 8,44 32,38 45,50 19,9810 44,02 23,28 44,09 44,15 32,62 25 39,29 2,56 39,31 42,81 29,3111 35,57 16,80 35,69 38,33 12,73 26 39,39 13,52 39,54 40,66 22,8212 31,52 18,33 31,54 31,66 35,49 27 34,18 7,29 40,19 40,46 31,5513 31,71 13,28 31,78 34,26 21,52 28 31,00 51,13 31,07 31,27 28,8214 42,59 16,77 42,61 42,66 15,32 29 47,72 603,36 47,73 47,73 41,61

Tabela 29: Resultados para instâncias com 8 pontos doCEVRP.

Para os valores apresentados na Tabela 29, ACO consegui gap 2,41% em média dassoluções apresentadas pelo Solver no conjunto das 30 instâncias com 8 pontos. Já paraa médias das execuções independentes (Av), obteve um afastamento médio de 6,43% emrelação ao Solver. O tempo médio de processamento para esse conjunto de instâncias foide 26,74 segundos.

Inst10

Solver ACO Inst10

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 46,42 714,34 46,44 46,44 41,06 15 32,30 105,73 32,38 33,07 34,611 44,99 244,64 45,01 45,02 57,93 16 30,41 643,06 30,44 39,33 42,60

Page 119: Roteamento de Drones Autônomo: Um Estudo Algorítmico

117

Inst10

Solver ACO Inst10

Solver ACOCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

2 45,52 1891,84 47,80 48,26 39,09 17 39,98 259,79 40,04 40,26 35,473 30,00 462,43 30,05 40,04 33,42 18 44,41 509,02 45,17 45,19 43,884 32,98 2096,44 33,07 33,10 51,49 19 38,68 203,94 38,72 39,18 38,995 42,74 1510,28 52,63 54,42 38,75 20 32,35 79,36 43,89 44,55 30,806 36,68 144,66 36,72 38,30 30,82 21 39,49 3684,04 39,53 47,57 64,887 42,37 202,13 42,39 42,45 17,00 22 58,27 101,50 58,30 58,83 20,628 32,69 665,02 32,72 35,47 51,99 23 33,58 747,14 33,89 35,64 39,289 38,53 639,53 38,60 42,35 34,87 24 38,02 875,44 38,09 39,18 32,9410 33,00 452,32 33,12 46,21 34,44 25 42,25 576,07 42,30 42,60 86,1411 29,32 799,52 29,48 30,19 54,35 26 43,18 250,93 43,28 43,75 52,2112 37,26 327,00 37,44 45,72 77,08 27 32,76 616,58 32,79 32,85 29,0913 43,93 1803,49 43,94 50,64 22,11 28 39,47 215,19 39,51 42,72 38,8014 41,34 139,91 41,35 41,35 33,63 29 50,39 4000 50,41 54,14 28,32

Tabela 30: Resultados para instâncias com 10 pontos doCEVRP.

Neste conjunto de instância o gap médio das melhores execuções foi de 2,22%. Já namédia das soluções (Av) o ACO obteve um gap médio de 8,98% das soluções apresentadaspelo Solver. O ACO finaliza suas execuções na média de 41,22 segundos.

Inst12

Solver ACOLB UB T(s) Best Av Tav(s)

0 27,02 47,46 4000 47,47 47,52 103,711 21,51 37,17 4000 37,17 37,31 39,722 22,16 60,57 4000 59,32 63,70 75,283 15,30 46,85 4000 46,41 47,15 112,734 26,42 37,98 4000 38,11 38,14 56,245 16,08 46,73 4000 52,07 54,33 89,176 13,03 52,32 4000 52,34 56,73 110,637 14,18 53,45 4000 53,45 54,09 106,468 19,48 44,61 4000 44,67 44,78 54,459 20,98 36,92 4000 39,52 44,75 108,9710 14,38 47,34 4000 47,50 50,54 121,08

Page 120: Roteamento de Drones Autônomo: Um Estudo Algorítmico

118

Inst12

Solver ACOLB UB T(s) Best Av Tav(s)

11 14,30 47,39 4000 47,42 56,68 95,5612 23,10 39,84 614,93 39,86 40,02 11,6313 43,56 43,56 4000 43,58 42,81 6,6214 32,84 45,00 4000 45,77 46,70 9,3515 16,00 46,68 4000 46,74 50,92 5,1416 23,92 47,77 4000 47,79 49,87 8,1217 14,42 42,96 4000 43,04 44,79 8,0418 16,01 72,02 4000 72,03 72,10 7,0319 24,17 45,37 4000 45,39 45,42 15,0220 12,34 44,75 4000 47,45 47,80 12,3821 13,24 45,26 4000 45,47 55,03 12,0722 13,79 43,57 4000 43,65 54,43 10,9423 16,88 35,41 2228,96 35,46 49,06 6,6224 37,17 37,17 4000 37,24 38,74 11,8925 21,84 46,99 1546,93 47,01 50,94 15,7626 39,65 39,65 4000 39,78 46,30 11,5227 14,90 40,92 4000 50,34 50,37 15,2528 18,35 43,35 849,57 43,39 46,18 10,6329 49,54 49,54 4000 49,65 49,73 9,50

Tabela 31: Conjunto de instâncias com 12 pontos CEVRPdo ACO.

A Tabela 31 traz os resultados dos testes para as 30 instâncias com 12 pontos devisitação. Para esses testes o ACO foi capaz de obter 4 melhores valores do que o Solvernas instâncias 2, 3, 26 e 29. Ainda existe um gap médio de 1,50% entre as colunas Cost doSolver e Best de ACO. Já para as colunas Cost e Av do Solver e ACO respectivamente,tem-se um afastamento de 7,92% na média das soluções. Para construir suas soluções oACO levou em média 42,05 segundos.

Inst14

Solver ACO Inst14

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 12,34 47,59 47,78 47,83 22,48 15 11,65 38,96 39,05 40,58 12,191 7,50 54,65 54,68 54,75 8,07 16 12,04 67,27 77,96 78,42 10,11

Page 121: Roteamento de Drones Autônomo: Um Estudo Algorítmico

119

Inst14

Solver ACO Inst14

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

2 15,13 43,23 43,66 45,35 10,73 17 11,45 41,87 42,06 47,48 18,773 8,54 43,14 43,38 45,96 9,47 18 10,55 39,87 42,11 44,97 15,414 9,53 37,94 38,63 39,85 11,97 19 6,61 37,17 37,45 51,22 10,875 8,08 44,66 51,40 52,24 10,49 20 8,75 33,70 33,94 43,33 14,766 9,24 37,20 37,27 37,66 11,92 21 11,14 39,52 39,74 39,94 8,497 9,13 48,76 48,77 50,25 14,11 22 21,94 43,51 43,62 49,74 14,808 - - 59,49 56,18 9,15 23 8,78 41,94 42,28 46,19 7,939 8,12 36,03 36,09 46,46 13,77 24 14,19 42,16 42,17 42,32 18,0410 7,17 42,50 44,24 45,97 9,86 25 9,99 36,03 42,76 53,52 8,7011 10,30 38,27 38,40 48,43 14,52 26 10,02 48,45 48,55 53,10 15,4712 8,49 37,00 37,56 42,75 20,50 27 9,45 42,25 42,16 48,48 17,7613 7,59 44,99 44,99 53,30 5,56 28 10,58 43,75 45,61 47,43 12,5114 8,93 41,85 49,81 51,67 15,45 29 14,41 33,38 33,43 33,91 12,75

Tabela 32: Resultados para instâncias com 14 pontos doACO.

No conjunto de 14 pontos o ACO foi capaz de obter na instância 27 melhor valor doque o Solver. O ACO ainda apresentou um gap médio de 4,65% em relação aos UB doSolver, e 3,41% de gap entre UB e a média das 20 execuções Av. As soluções de ACO

foram obtidas em um tempo de processamento médio de 12,67 segundos.

Inst16

Solver ACO Inst16

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 5,78 48,43 48,33 48,49 40,41 15 - - 57,25 68,15 21,661 - - 62,21 63,03 30,31 16 - - 44,29 45,23 24,352 7,60 41,44 46,17 49,41 14,11 17 4,61 44,06 44,08 49,78 17,283 - - 59,74 70,97 20,45 18 9,27 50,06 50,12 50,53 20,334 5,91 40,56 40,59 41,21 21,72 19 9,55 49,50 49,57 50,89 36,985 - - 48,99 49,67 12,40 20 6,72 59,44 52,84 62,30 28,796 - - 58,12 58,95 21,55 21 2,46 57,88 57,85 60,39 22,337 3,49 61,83 61,93 63,17 17,53 22 - - 55,94 59,19 24,538 5,88 47,02 47,09 51,51 29,90 23 - - 58,53 62,06 21,029 4,29 41,55 41,60 42,66 35,13 24 5,54 44,16 43,28 44,00 25,21

Page 122: Roteamento de Drones Autônomo: Um Estudo Algorítmico

120

Inst16

Solver ACO Inst16

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

10 3,82 45,88 45,95 47,50 30,17 25 - - 51,91 52,47 13,8611 5,85 57,56 57,39 61,24 31,98 26 5,68 44,82 44,92 45,89 23,4712 - - 83,43 86,81 14,40 27 6,42 48,50 48,65 60,68 7,7613 - - 75,50 77,18 24,51 28 6,93 66,89 66,52 68,86 19,4514 19,07 48,07 48,39 59,15 17,15 29 - - 70,96 71,94 21,09

Tabela 33: Conjunto de instâncias com 16 pontos CEVRPdo ACO.

No conjunto com 16 pontos o ACO apresenta melhores resultados do que os obtidospelo Solver nas instâncias de índice 0, 20, 21, 24 e 28. Ainda neste conjunto os valores deBest possui um afastamento médio de -0,27% do limite UB, e 6,69% de gap médio entreos valores de Av e UB. Esses resultados foram obtidos com um tempo médio de 22,99segundos.

Inst18

Solver ACO Inst18

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 4,46 48,59 48,49 55,18 42,31 15 - - 63,50 70,43 13,751 - - 49,95 58,74 27,78 16 - - 58,15 60,14 23,892 - - 59,08 62,66 22,84 17 - - 73,71 84,02 24,323 - - 64,61 65,20 33,87 18 - - 54,52 71,53 18,454 2,60 60,41 60,40 65,52 20,98 19 4,17 47,59 47,61 51,39 26,005 - - 67,41 76,76 18,78 20 2,29 56,13 56,18 67,59 31,336 - - - - - 21 - - 52,33 64,68 22,897 - - 46,51 47,38 21,80 22 - - 51,31 57,46 29,228 1,80 49,04 44,94 47,50 36,34 23 - - 44,74 49,21 19,759 - - 67,60 60,85 33,09 24 - - 65,56 73,97 28,2810 - - 53,68 61,37 11,61 25 - - 62,36 65,63 23,9711 - - 64,73 68,85 38,17 26 5,18 63,12 - - -12 - - 51,17 58,04 29,56 27 2,81 58,76 58,85 70,20 21,8713 - - 57,20 65,86 31,92 28 - - 59,53 67,60 26,2614 - - 51,30 62,26 27,11 29 - - 68,16 71,00 24,32

Tabela 34: Conjunto de instâncias com 18 pontos doACO.

Page 123: Roteamento de Drones Autônomo: Um Estudo Algorítmico

121

O valores da Tabela 34 apresentam um gap médio de -3,77% entre as colunas Best eUB, e 8,68% entre as colunas Av e UB. Tudo isso em um tempo médio de processamentode 26,09 segundos. O ACO ainda foi capaz de obter 3 melhores soluções do que o Solvernas instâncias 0, 4, e 8. Contudo nas instâncias 6 e 26 o ACO não conseguiu finalizarsua execução com uma solução válida para o problema extrapolando a capacidade dosveículos disponíveis para a instância.

Inst20

Solver ACO Inst20

Solver ACOLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 1,55 49,74 49,22 53,89 76,97 15 - - 52,60 59,06 36,051 - - 58,44 67,69 47,93 16 - - 57,80 66,97 49,372 - - 51,23 58,98 33,65 17 - - 62,93 66,51 40,603 - - 56,24 59,16 44,79 18 - - 74,77 78,34 30,434 - - 62,29 76,03 42,72 19 - - 54,22 55,27 52,695 - - 73,52 73,74 38,45 20 - - 62,56 67,39 30,926 - - 53,16 65,74 51,27 21 - - 43,09 48,46 39,887 - - 56,42 67,40 48,29 22 - - 57,22 57,32 30,538 4,42 45,27 43,24 57,14 36,91 23 - - 58,41 59,90 20,129 - - 55,71 60,81 19,18 24 - - 53,26 59,63 74,7210 2,54 55,27 51,09 62,03 47,94 25 - - 58,86 61,17 42,1311 4,75 61,55 61,61 62,39 41,98 26 - - 53,54 58,49 42,6512 - - 70,38 71,91 44,46 27 - - 48,59 61,30 41,2013 - - 60,68 68,27 25,65 28 - - 66,22 66,74 54,2714 - - 51,22 60,21 36,12 29 - - 68,48 73,93 27,86

Tabela 35: Conjunto de instâncias com 20 pontos doACO.

Neste último conjunto de testes (Tabela 35) o ACO foi capaz de superar os resultadosdo Solver em 3 das quatro instâncias com valores. Isso é visível no gap médio de -3,14%para as melhores soluções da heurística, e 11,16 % para a média das soluções apresentadas.O ACO precisou de um tempo médio de 41,66 segundos de processamento para finalizarsua execução.

Page 124: Roteamento de Drones Autônomo: Um Estudo Algorítmico

122

C.2.0.3 Análise final dos testes

O ACO obteve alguns resultados inferiores as outras heurísticas (CG e GRASP)quanto analisado seus valores em relação ao Solver. Nas instâncias do A-CEVRP ob-teve um gap médio de 3,14% de todos os valores apresentados pela coluna Best. E umvalor de 0,31% como gap global de todos os valores do problema CEVRP. Esses resultadosdemonstram uma ineficiência do algoritmo para os problemas tratados neste trabalho.

C.3 Comparação individual entre os resultados de GRASP

e Solver

Nesta seção são apresentados os resultados de GRASP confrontados com as soluçõesapresentadas pelo Solver.

C.3.0.1 Teste A-CEVRP

Abaixo são apresentados e discutidos os resultados dos algorítimos para o problemaA-CEVRP, versão com interferências dos ventos.

Inst06

Solver GRASP Inst06

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 18,29 1,92 18,30 18,30 1,66 15 27,12 1,11 27,15 27,18 0,861 21,76 1,49 21,77 21,80 1,74 16 18,56 2,13 18,56 18,63 1,272 17,91 2,72 17,91 17,91 0,88 17 17,93 1,48 17,95 17,96 1,153 19,35 1,48 19,37 19,37 0,41 18 24,20 1,10 24,21 24,21 1,094 29,51 1,08 29,53 29,55 0,86 19 25,00 0,99 25,01 25,03 1,615 17,08 1,36 17,08 17,09 0,60 20 27,27 1,66 27,28 27,29 0,686 23,96 2,23 23,96 23,97 0,82 21 24,42 1,76 24,44 24,44 0,717 24,85 1,31 24,86 24,87 0,84 22 24,18 2,45 24,19 24,20 1,008 15,79 1,98 15,79 15,81 0,59 23 20,03 0,91 20,04 20,05 0,809 21,32 1,80 21,32 21,34 0,85 24 21,57 1,20 21,65 21,68 0,6810 28,32 1,13 28,32 28,35 1,11 25 24,23 0,66 24,23 24,26 0,8111 28,91 2,78 28,92 28,94 1,31 26 23,96 1,83 23,97 23,99 0,9112 23,76 2,18 23,78 23,80 0,48 27 23,28 0,39 23,30 23,33 1,2613 18,51 1,17 18,52 18,54 0,84 28 29,32 0,88 29,33 29,33 0,6414 25,41 1,13 25,44 25,48 2,09 29 28,72 0,47 28,72 28,76 2,83

Page 125: Roteamento de Drones Autônomo: Um Estudo Algorítmico

123

Inst06

Solver GRASP Inst06

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

Tabela 36: Resultados para instâncias com 6 pontos noA-CEVRP do GRASP.

Os resultados apresentados na Tabela 36 demonstram o valores alcançados pelo GRASPno conjunto de instâncias com 6 pontos, cujo apresentado um desvio percentual das melho-res soluções obtidas (Best) em relação aos valores do Solver de 0,06%. Confrontando coma média Av das soluções encontradas pelo GRASP 0.13%. O tempo médio de finalizaçãodo GRASP para esse conjunto de instâncias foi de 1,05 segundos.

Inst08

Solver GRASP Inst08

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 22,50 13,29 22,51 23,37 4,21 15 24,09 14,93 24,09 24,10 5,331 28,57 5,64 28,59 28,61 3,32 16 38,24 14,59 38,30 31,38 3,322 23,44 27,26 23,44 23,45 1,83 17 21,60 1,67 21,91 26,50 3,683 35,21 8,32 37,20 37,25 3,93 18 23,36 2,84 23,44 23,45 6,894 20,11 2,11 20,18 20,20 6,02 19 27,38 4,12 27,44 29,88 4,425 22,29 5,28 22,46 22,74 4,73 20 25,09 10,78 25,12 25,16 2,896 18,41 3,49 18,47 18,53 4,73 21 23,97 1,94 24,04 24,07 3,317 31,21 25,40 31,30 33,30 2,79 22 31,14 8,55 31,19 31,23 5,008 27,72 10,71 27,75 27,76 4,22 23 29,65 11,98 29,71 29,73 4,129 43,33 17,54 43,90 43,98 4,78 24 25,65 11,36 25,70 25,77 3,0910 22,05 19,95 22,08 22,10 4,27 25 35,46 8,36 35,49 35,56 3,0911 27,85 17,08 27,86 27,87 3,36 26 26,34 8,60 27,24 27,35 3,9212 39,93 37,76 39,95 40,01 4,10 27 25,69 8,58 25,74 25,76 6,5613 28,13 14,45 32,29 32,41 3,21 28 24,34 13,72 24,43 24,58 4,1614 38,45 17,51 38,54 38,61 3,23 29 35,72 6,52 35,74 35,88 3,33

Tabela 37: Resultados para instâncias com 8 pontos noA-CEVRP do GRASP.

Os valores da Tabela 37, GRASP apresentou um gap 1,09% em média das soluçõesapresentadas pelo Solver para as instâncias com 8 pontos. Já para a médias das 20 exe-

Page 126: Roteamento de Drones Autônomo: Um Estudo Algorítmico

124

cuções independentes da heurística (Av), obteve um afastamento médio de 1,61% emrelação ao Solver. O GRASP necessitou um tempo médio de 4,06 segundos para finalizaras execuções independentes do seu algoritmo.

Inst10

Solver GRASP Inst10

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 29,04 177,48 29,07 29,40 8,36 15 22,46 22,58 22,48 22,55 7,971 28,57 143,76 28,75 29,02 8,87 16 23,96 54,11 23,98 23,99 11,822 37,54 37,29 37,56 37,57 6,27 17 27,04 101,86 27,09 27,71 6,503 25,01 520,62 25,10 25,13 7,71 18 29,34 57,12 29,36 29,61 7,394 28,42 171,89 28,45 28,49 6,87 19 35,90 143,35 35,94 36,01 6,885 27,55 149,52 27,65 27,80 6,51 20 26,32 151,43 26,35 26,53 6,176 29,12 176,41 29,15 29,17 8,83 21 30,27 55,52 30,30 30,31 11,997 36,66 113,07 36,69 36,73 5,42 22 29,71 269,30 29,77 30,24 7,358 24,43 69,08 24,62 24,66 9,96 23 26,41 74,52 26,43 26,46 7,059 23,50 34,58 23,51 23,54 8,79 24 30,28 157,91 30,34 30,35 7,5910 26,46 231,26 26,49 26,52 9,13 25 29,08 168,04 29,15 29,30 8,1811 23,40 75,39 23,43 23,51 8,27 26 28,49 129,91 28,54 28,55 10,2712 27,13 340,70 27,16 27,18 10,97 27 22,35 105,40 27,21 27,62 6,8613 30,15 128,85 30,28 30,33 6,73 28 30,82 213,51 30,82 30,85 6,2514 30,23 253,38 30,48 30,76 6,70 29 37,39 153,36 37,76 37,78 6,12

Tabela 38: Resultados para instâncias com 10 pontos noA-CEVRP do GRASP.

A Tabela 38 traz os resultados dos testes para as 30 instâncias com 10 pontos devisitação. Existe um gap médio de 0,80% com relação aos valores Cost do Solver e Bestde GRASP. Já para as colunas Cost e Av do Solver e GRASP respectivamente, tem-seum afastamento de 1,24% na média das soluções. O GRASP finaliza sua execução emmédia de 7,93 segundos.

Inst12

Solver GRASPLB UB T(s) Best Av Tav(s)

0 29,50 29,50 921,12 29,69 29,71 17,261 30,65 30,65 4000 30,90 31,85 9,272 19,87 48,51 4000 48,60 48,69 17,913 26,21 32,45 4000 32,54 35,25 15,84

Page 127: Roteamento de Drones Autônomo: Um Estudo Algorítmico

125

Inst12

Solver GRASPLB UB T(s) Best Av Tav(s)

4 28,50 28,51 3647,18 28,53 29,34 15,765 19,45 39,28 4000 39,10 39,15 14,516 14,86 31,94 4000 31,99 32,01 15,537 19,63 43,81 4000 46,43 46,54 15,958 19,58 29,71 4000 29,74 29,78 13,429 19,42 35,43 4000 35,14 35,43 10,8010 16,92 32,64 4000 32,82 34,17 18,0311 14,06 36,23 4000 28,66 37,05 15,1912 23,91 23,92 1704,94 30,72 30,74 16,9313 27,13 27,13 364,54 27,17 27,23 10,4014 35,67 35,68 3034,20 40,22 42,88 12,2215 31,47 33,65 4000 33,88 34,01 16,6416 37,62 37,62 2979,18 37,90 37,99 16,3817 14,33 31,94 4000 32,19 32,28 13,9918 27,40 27,40 2672,79 30,72 30,77 16,8919 29,92 29,92 3461,22 30,00 30,11 18,3820 13,59 40,57 4000 37,39 39,64 11,5321 14,08 43,73 4000 41,80 46,72 15,1622 17,81 28,85 4000 29,07 29,22 16,3123 20,24 33,70 4000 33,81 35,23 13,0324 29,81 29,82 1515,07 30,11 34,82 14,2625 19,97 43,22 4000 41,99 43,82 11,9726 25,97 25,97 989,12 25,99 26,03 11,3727 13,47 25,95 4000 26,09 26,70 14,5928 18,95 27,25 4000 27,29 27,33 17,1929 39,41 39,41 524,36 39,57 40,16 11,90

Tabela 39: Conjunto de instâncias com 12 pontos no A-CEVRP do GRASP.

Na Tabela 39, a heurística obteve 6 melhores valores do que o UB do Solver nasinstâncias 5, 9, 11, 21, 22 e 25. Neste conjunto de instâncias, o afastamento médio en-contrado entre os valores UB do Solver e o Best de GRASP é de 0,55%. Já para o gapconsiderando AV e UB temos o valor de 3,99%. O GRASP necessitou de 14,62 segundos

Page 128: Roteamento de Drones Autônomo: Um Estudo Algorítmico

126

em média para finalizar suas execuções.

Inst14

Solver GRASP Inst14

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 12,27 29,55 29,78 30,06 20,86 15 12,25 33,59 31,59 33,15 25,291 8,297 29,32 29,34 29,80 26,95 16 9,73 54,35 47,74 52,05 19,422 12,36 35,45 36,37 36,99 18,32 17 7,47 31,37 33,82 37,15 21,583 10,48 27,37 27,55 28,41 21,37 18 10,29 32,15 32,35 33,54 20,064 9,49 34,36 34,32 34,47 17,72 19 7,30 27,20 27,32 27,41 23,215 8,12 34,19 29,98 30,76 20,14 20 7,48 29,14 29,37 29,76 22,486 6,54 26,85 26,93 27,08 25,40 21 7,37 32,03 32,15 32,60 20,647 11,09 37,66 37,81 37,93 19,79 22 14,89 35,87 35,88 36,22 19,018 7,58 39,93 38,55 39,04 19,66 23 8,75 32,31 32,50 32,72 24,199 9,87 29,21 29,31 29,97 23,48 24 10,85 33,76 33,84 33,85 22,3410 7,36 25,67 25,95 26,07 22,17 25 10,20 31,40 31,54 32,18 27,5311 11,03 32,66 32,91 34,96 25,13 26 9,79 37,43 37,53 40,05 20,1912 6,60 28,96 32,26 32,67 21,03 27 9,83 33,91 34,08 35,00 19,2013 10,69 35,98 35,72 35,79 20,89 28 7,94 29,08 29,27 29,49 21,8314 8,65 35,86 36,89 39,08 20,70 29 10,69 26,01 25,87 25,89 30,12

Tabela 40: Resultados para instâncias com 14 pontos noA-CEVRP do GRASP.

Para o conjunto de instâncias com 14 pontos (Tabela 40) apresenta 7 melhores re-sultados do que o UB nas instâncias 4, 5, 8, 13, 15, 16 e 29. A média das soluções Bestalcançaram um gap médio de -0,43% em relação as soluções apresentadas pelo Solver.Já os resultados apresentados na coluna AV demonstram um gap médio de 2,17%. Assoluções do GRASP finalizam em um tempo médio de 22,02 segundos nesse conjunto deinstâncias.

Inst16

Solver GRASP Inst16

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 - - 36,37 37,12 34,24 15 2,53 44,35 37,24 38,08 31,241 4,40 33,82 34,70 40,94 37,14 16 - - 36,73 36,78 37,892 7,82 33,28 34,11 34,45 31,61 17 2,88 25,23 25,35 25,75 41,323 4,17 40,53 40,58 40,71 41,12 18 7,74 40,60 35,09 35,61 30,884 4,94 35,19 35,34 35,64 32,20 19 7,74 42,93 41,74 45,92 31,84

Page 129: Roteamento de Drones Autônomo: Um Estudo Algorítmico

127

Inst16

Solver GRASP Inst16

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

5 2,38 33,18 33,23 35,27 35,55 20 4,37 40,90 40,62 41,91 35,226 - - 38,69 39,07 32,20 21 3,67 41,74 36,99 39,36 35,027 2,27 37,37 37,46 37,51 36,63 22 5,32 32,52 32,62 34,54 42,378 2,96 30,08 30,30 30,93 40,09 23 4,55 44,24 42,30 43,00 40,489 5,21 23,58 24,44 25,25 36,98 24 6,21 29,33 29,85 31,29 64,2610 3,66 30,01 28,60 29,24 46,09 25 5,64 35,69 33,34 33,81 29,4411 4,79 39,25 36,78 39,14 34,72 26 4,70 37,11 36,98 37,08 35,9412 - - 55,16 55,83 36,33 27 - - 39,70 41,37 29,8213 6,57 35,84 35,99 37,70 40,04 28 8,03 37,03 39,61 41,65 34,2414 10,03 37,98 36,69 38,79 36,69 29 5,94 45,40 43,06 44,03 32,43

Tabela 41: Conjunto de instâncias com 16 pontos no A-CEVRP do GRASP.

O GRASP foi capaz de obter 12 resultados melhores do que o UB do Solver nasinstâncias com 16 pontos, esses valores podem ser observados nas instâncias 10, 11, 14,15, 18, 19, 20, 21, 23, 25, 26 e 29. A heurística GRASP ainda apresentou um gap médiode -2,69% em relação aos UB do Solver, e 1,13% de gap entre UB e a média das 20execuções Av. As soluções de GRASP foram obtidas em um tempo de processamentomédio de 36,89 segundos.

Inst18

Solver GRASP Inst18

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 5,08 30,37 29,94 31,84 56,95 15 1,42 38,39 26,33 30,26 50,381 - - 34,85 36,03 51,11 16 - - 40,74 40,91 51,042 - - 39,28 42,08 47,63 17 - - 46,00 53,68 46,423 - - 36,94 39,36 45,97 18 - - 42,23 42,35 46,554 4,61 39,14 38,62 38,68 56,24 19 - - 39,71 42,31 47,015 - - 31,03 32,92 55,97 20 2,76 39,43 35,38 39,74 59,916 - - 33,54 37,35 44,23 21 - - 36,18 39,13 49,737 2,19 27,08 31,35 35,50 55,11 22 - - 30,69 37,60 48,128 2,25 27,04 26,05 30,11 50,50 23 3,87 35,35 35,04 35,29 47,339 2,75 32,30 32,28 32,37 58,61 24 - - 41,77 42,28 42,1310 5,88 38,07 38,32 38,33 48,89 25 - - 40,26 43,22 47,28

Page 130: Roteamento de Drones Autônomo: Um Estudo Algorítmico

128

Inst18

Solver GRASP Inst18

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

11 - - 48,42 48,87 41,89 26 3,73 40,15 38,81 39,74 46,3712 7,24 28,25 28,56 29,74 53,46 27 2,85 36,77 36,67 37,10 45,8213 - - 34,64 35,53 43,99 28 2,66 33,53 33,63 33,95 47,1414 - - 40,77 42,68 45,11 29 - - 39,89 43,47 44,40

Tabela 42: Conjunto de instâncias com 18 pontos no A-CEVRP do GRASP.

Nos valores apresentados na Tabela 42, os valores de Best do GRASP consegue umgap médio de -3,34% em relação ao UB do Solver, em um tempo de processamento médio57,73 segundos. A média das execuções da heurística Av, tem um desvio percentual médiode 1,52% em relação aos valores de UB.Contudo o GRASP conseguiu 9 melhores valoresdo que os apresentados pelo Solver nas instâncias 0, 4, 8, 9, 15, 20, 23, 26 e 27, e finalizousuas execuções na média de 49,18 segundos.

Inst20

Solver GRASP Inst20

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 - - 34,55 34,94 85,18 15 - - 34,80 37,04 71,031 - - 39,32 43,86 76,95 16 1,75 42,96 36,24 42,71 68,322 - - 33,34 34,27 69,39 17 - - 35,91 37,69 66,073 - - 41,54 41,89 67,00 18 - - 40,77 43,74 55,924 - - 42,64 45,90 69,51 19 - - 39,33 39,53 62,185 - - 55,83 59,18 78,33 20 - - 43,82 44,25 64,586 1,98 46,28 39,96 40,43 61,92 21 - - 35,21 35,39 59,777 - - 39,57 47,08 67,06 22 - - 50,56 53,76 56,968 - - 30,73 31,22 59,65 23 - - 38,98 39,63 55,929 - - 37,31 39,22 65,69 24 2,28 46,75 37,41 42,71 85,5310 1,37 40,14 39,69 39,91 64,33 25 - - 46,56 50,79 50,7411 - - 38,79 39,14 97,82 26 4,95 44,94 42,45 45,36 48,0112 - - 40,32 42,05 60,35 27 - - 41,32 42,16 67,5413 - - 39,24 43,07 56,19 28 2,18 46,84 40,36 44,94 59,8314 - - 39,51 41,45 69,68 29 - - 39,07 41,80 56,79

Tabela 43: Conjunto de instâncias com 20 pontos no A-CEVRP do GRASP.

Page 131: Roteamento de Drones Autônomo: Um Estudo Algorítmico

129

Para as instâncias do último conjunto de testes com 20 pontos, o Solver apresentalimites para apenas 6 instâncias e todas são superadas por Best. UB e Best tem umafastamento médio de -11,88%, com um tempo médio de 65,90 segundos em cada execução.GRASP ainda consegue um afastamento médio de -4,43% entre a média das solução Ave UB do Solver.

C.3.0.2 Testes CEVRP

Os resultados dos testes a seguir desconsideram a presença dos ventos, caracterizandoo problema simétrico CEVRP para o GRASP.

Inst06

Solver GRASP Inst06

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 27,16 0,60 27,16 27,17 0,73 15 33,03 0,81 33,04 33,05 1,571 32,44 0,85 32,44 32,49 1,35 16 22,02 0,87 22,02 22,02 1,102 26,23 0,77 26,24 26,24 0,71 17 21,70 0,76 21,70 21,70 1,593 23,93 1,60 23,95 23,95 1,03 18 27,07 0,31 27,08 27,11 2,124 35,41 0,71 35,42 35,44 1,23 19 32,16 0,33 32,16 32,16 2,565 20,84 1,08 20,85 20,85 1,37 20 33,25 0,48 33,26 33,28 1,146 26,73 0,50 26,74 26,74 1,51 21 30,58 1,11 30,58 30,59 2,177 33,76 0,67 33,76 33,76 1,60 22 26,56 0,60 26,56 26,56 1,418 23,14 0,39 23,15 23,15 0,77 23 28,09 0,60 28,10 28,10 1,049 26,86 0,32 26,87 26,89 2,97 24 31,73 0,56 31,74 31,75 0,8110 33,64 0,72 33,64 33,64 0,73 25 29,33 0,95 29,33 29,34 1,7111 30,13 0,60 30,14 30,14 1,40 26 28,66 0,68 28,67 28,72 2,0612 31,77 0,57 31,77 31,78 3,02 27 28,98 0,65 28,99 28,99 1,6713 25,31 0,77 25,31 25,31 1,36 28 34,60 0,56 34,60 34,60 1,2814 27,15 0,74 27,16 27,19 1,50 29 39,62 6,46 39,63 39,65 1,37

Tabela 44: Resultados para instâncias com 6 pontos doCEVRP do GRASP.

A Tabela 44 demostra os resultados dos experimentos realizados no conjunto de instân-cia de 6 pontos. Neste conjunto a média desvio percentual das melhores soluções obtidaspelo GRASP em relação aos valores apresentados pelo Solver é de 0,02%. Ao analisar amédia Av das execuções do GRASP, tem-se um gap médio de 0,05%. A média do tempode execução do GRASP é de 1,50 segundos para esse conjunto.

Page 132: Roteamento de Drones Autônomo: Um Estudo Algorítmico

130

Inst08

Solver GRASP Inst08

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 30,94 5,82 30,94 30,95 7,65 15 31,67 7,90 31,67 31,67 12,541 39,83 22,14 40,62 40,67 7,27 16 42,33 3,85 42,35 42,35 5,732 31,77 5,69 31,84 31,95 3,83 17 30,06 4,05 30,07 30,07 7,463 39,72 16,39 39,73 39,73 6,83 18 31,44 8,82 31,45 31,46 4,764 27,77 2,38 27,78 27,78 8,32 19 33,53 12,60 33,53 33,54 8,055 34,08 1,85 34,11 33,38 10,63 20 29,18 17,64 29,19 29,19 8,936 24,42 25,67 24,42 24,42 10,11 21 43,55 6,02 43,56 43,57 8,817 38,20 4,67 38,38 38,99 6,03 22 40,24 8,70 40,25 40,29 9,138 34,01 73,18 34,02 34,02 5,50 23 34,13 6,38 34,13 34,13 10,529 56,29 66,33 56,31 56,32 3,88 24 32,33 8,44 32,34 32,37 4,6110 44,02 23,28 44,02 44,08 6,67 25 39,29 2,56 39,30 39,30 6,1511 35,57 16,80 35,58 35,63 3,42 26 39,39 13,52 39,42 39,44 3,9912 31,52 18,33 31,53 31,53 10,90 27 34,18 7,29 34,19 34,23 7,8213 31,71 13,28 31,72 32,76 5,63 28 31,00 51,13 31,02 31,04 4,0414 42,59 16,77 42,96 42,99 4,06 29 47,72 603,36 48,31 48,32 5,84

Tabela 45: Resultados para instâncias com 8 pontos doCEVRP do GRASP.

No conjunto de instâncias com 8 pontos o GRASP apresenta um gap 0,21% em médiadas soluções apresentadas pelo Solver. Já para a médias das 20 execuções independentes(Av) temos um afastamento médio de 0,34% em relação ao Solver. Contudo, para obteresses valores o GRASP finalizou sua execução na média de 6,97 segundos.

Inst10

Solver GRASP Inst10

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

0 46,42 714,34 46,42 46,42 4,26 15 32,30 105,73 32,72 32,77 5,371 44,99 244,64 45,22 45,22 7,03 16 30,41 643,06 30,42 30,92 10,822 45,52 1891,84 45,55 46,67 5,99 17 39,98 259,79 39,99 40,01 8,313 30,00 462,43 30,03 30,04 7,65 18 44,41 509,02 44,45 44,46 9,334 32,98 2096,44 33,07 33,08 7,61 19 38,68 203,94 38,71 38,71 11,705 42,74 1510,28 42,75 42,76 6,58 20 32,35 79,36 32,36 32,39 7,296 36,68 144,66 36,69 36,72 5,78 21 39,49 3684,04 39,50 39,50 15,937 42,37 202,13 42,74 42,99 3,56 22 58,27 101,50 58,78 58,84 7,01

Page 133: Roteamento de Drones Autônomo: Um Estudo Algorítmico

131

Inst10

Solver GRASP Inst10

Solver GRASPCost T(s) Best Av Tav(s) Cost T(s) Best Av Tav(s)

8 32,69 665,02 32,70 32,70 10,35 23 33,58 747,14 33,63 33,67 8,059 38,53 639,53 43,95 47,44 5,27 24 38,02 875,44 38,06 38,08 11,7510 33,00 452,32 33,02 33,05 7,21 25 42,25 576,07 42,27 42,29 21,3711 29,32 799,52 29,33 29,33 8,37 26 43,18 250,93 43,21 43,23 10,9812 37,26 327,00 37,29 37,30 10,64 27 32,76 616,58 32,77 32,77 7,5113 43,93 1803,49 44,59 44,75 3,82 28 39,47 215,19 39,48 39,49 13,3714 41,34 139,91 41,35 41,49 4,47 29 50,39 4000,00 50,73 50,74 7,20

Tabela 46: Resultados para instâncias com 10 pontos doCEVRP do GRASP.

Na Tabela 46 temos os resultados das instâncias com 10 pontos para o CEVPR. Aoobservarmos os resultados do Solver e do GRASP temo o gap média de 0,71%. Já namédia das execuções (Av) tem-se um gap de 1,23 %. Onde o GRASP necessitou de 8,49segundos em média para finalizar suas execuções.

Inst12

Solver GRASPLB UB T(s) Best Av Tav(s)

0 27,02 47,46 4000 47,46 47,47 23,631 21,51 37,17 4000 37,18 37,20 11,662 22,16 60,57 4000 59,25 59,28 20,583 15,30 46,85 4000 46,38 46,38 18,904 26,42 37,98 4000 38,01 38,02 14,115 16,08 46,73 4000 46,77 46,78 20,056 13,03 52,32 4000 56,15 56,04 17,097 14,18 53,45 4000 53,18 53,78 12,338 19,48 44,61 4000 44,61 45,02 24,629 20,98 36,92 4000 39,48 39,58 22,0010 14,38 47,34 4000 47,43 47,47 31,7811 14,30 47,39 4000 47,41 43,36 26,5212 23,10 39,84 614,93 39,85 39,85 18,9413 43,56 43,56 4000 43,65 42,06 10,8714 32,84 45,00 4000 45,09 44,76 16,6515 16,00 46,68 4000 46,68 46,69 17,76

Page 134: Roteamento de Drones Autônomo: Um Estudo Algorítmico

132

Inst12

Solver GRASPLB UB T(s) Best Av Tav(s)

16 23,92 47,77 4000 47,79 47,66 20,3317 14,42 42,96 4000 42,98 42,74 14,8018 16,01 72,02 4000 72,48 79,21 24,3319 24,17 45,37 4000 45,38 45,39 32,9820 12,34 44,75 4000 47,44 58,95 18,6921 13,24 45,26 4000 45,29 45,37 22,5222 13,79 43,57 4000 43,60 43,67 15,9423 16,88 35,41 2228,96 35,41 35,42 19,6224 37,17 37,17 4000 37,20 37,22 19,4425 21,84 46,99 1546,93 47,00 47,33 15,7826 39,65 39,65 4000 39,09 39,62 10,3027 14,90 40,92 4000 40,94 45,33 16,7628 18,35 43,35 849,57 43,36 43,36 15,4829 49,54 49,54 4000 44,30 48,43 8,37

Tabela 47: Conjunto de instâncias com 12 pontos CEVRPdo GRASP.

Na Tabela 47 onde o Solver atingiu seu tempo limite de processamento (4000 segun-dos), o GRASP apresenta 5 melhores valores do que UB nas instâncias de 2, 3, 7, 26 e29. Na comparação de todos os valores entre UB e Best tem-se um gap de 0,16. Ao com-pararmos a média das execuções (Av) tem-se um gap de 1,82 onde o GRASP precisou de18,76 segundos em média para finalizar sua execução.

Inst14

Solver GRASP Inst14

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 12,34 47,59 47,60 47,61 22,83 15 11,65 38,96 38,97 39,00 23,711 7,50 54,65 54,66 57,39 17,28 16 12,04 67,27 67,32 73,56 12,472 15,13 43,23 43,25 43,32 18,38 17 11,45 41,87 41,98 42,01 21,783 8,54 43,14 43,18 43,24 16,25 18 10,55 39,87 40,01 41,46 19,524 9,53 37,94 37,98 38,22 17,19 19 6,61 37,17 37,23 37,25 18,215 8,08 44,66 51,04 49,39 15,73 20 8,75 33,70 33,72 33,80 16,166 9,24 37,20 37,25 37,31 15,53 21 11,14 39,52 39,62 39,67 17,747 9,13 48,76 48,76 48,77 22,02 22 21,94 43,51 43,55 43,59 18,09

Page 135: Roteamento de Drones Autônomo: Um Estudo Algorítmico

133

Inst14

Solver GRASP Inst14

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

8 - - 60,39 55,14 11,76 23 8,78 41,94 41,97 42,80 16,819 8,12 36,03 36,05 36,08 23,53 24 14,19 42,16 42,16 42,17 22,1010 7,17 42,50 42,52 42,58 13,59 25 9,99 36,03 36,05 36,10 17,5611 10,30 38,27 38,29 38,33 16,81 26 10,02 48,45 48,50 48,50 18,7912 8,49 37,00 37,02 37,09 26,05 27 9,45 42,25 42,14 42,21 17,0913 7,59 44,99 44,99 45,00 8,21 28 10,58 43,75 43,79 43,87 16,3614 8,93 41,85 41,88 43,26 18,79 29 14,41 33,38 33,40 33,42 21,48

Tabela 48: Resultados para instâncias com 14 pontos doGRASP.

Neste conjunto de instâncias (14 pontos) o GRASP foi capaz de obter na instância 27o resultado melhor do que UB do Solver. A heurística GRASP ainda apresentou um gapmédio de 0,59% em relação aos UB do Solver, e 1,58% de gap entre UB e a média das20 execuções Av. As soluções de GRASP foram obtidas em um tempo de processamentomédio de 18,06 segundos.

Inst16

Solver GRASP Inst16

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 5,78 48,43 48,33 48,34 39,96 15 - - 49,68 51,21 28,381 - - 59,60 60,07 32,09 16 - - 44,27 44,28 24,272 7,60 41,44 41,46 43,11 20,23 17 4,61 44,06 44,07 44,08 23,653 - - 59,74 59,44 22,64 18 9,27 50,06 45,09 47,02 21,614 5,91 40,56 38,60 40,14 27,09 19 9,55 49,50 49,52 50,71 35,225 - - 38,79 38,82 19,56 20 6,72 59,44 52,28 52,38 33,856 - - 55,02 55,29 30,76 21 2,46 57,88 45,01 53,54 31,417 3,49 61,83 61,92 56,73 22,19 22 - - 44,06 44,07 28,758 5,88 47,02 46,38 51,20 31,79 23 - - 58,52 58,52 26,659 4,29 41,55 41,56 41,58 29,74 24 5,54 44,16 45,21 45,23 38,4310 3,82 45,88 45,95 44,87 34,87 25 - - 44,18 46,10 25,5111 5,85 57,56 45,88 53,37 23,04 26 5,68 44,82 44,86 44,87 31,4012 - - 64,01 73,18 23,16 27 6,42 48,50 48,52 48,52 23,4713 - - 50,49 50,53 32,63 28 6,93 66,89 47,24 57,01 28,5714 19,07 48,07 48,11 48,15 17,41 29 - - 41,62 54,51 24,85

Page 136: Roteamento de Drones Autônomo: Um Estudo Algorítmico

134

Inst16

Solver GRASP Inst16

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

Tabela 49: Conjunto de instâncias com 16 pontos CEVRPdo GRASP.

Para o conjunto de 16 pontos o GRASP obteve 6 valores melhores do que UB nasinstâncias 4, 11, 18, 20, 21 e 28, apresentando um gap médio de -6,43% entre UB e Best.Já na média das 30 execuções independentes (AV ) temos um gap de -2,99% e um tempomédio de finalização de 27,77 segundos.

Inst18

Solver GRASP Inst18

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 4,46 48,59 48,46 48,07 53,96 15 - - 49,16 53,43 23,641 - - 48,23 48,25 41,57 16 - - 47,46 47,48 33,252 - - 46,46 52,25 36,67 17 - - 57,52 59,94 31,903 - - 47,57 53,36 37,23 18 - - 50,49 52,56 30,864 2,60 60,41 48,13 54,82 33,02 19 4,17 47,59 47,60 47,27 33,085 - - 38,16 46,19 34,70 20 2,29 56,13 51,60 59,87 45,176 - - 47,24 47,13 29,18 21 - - 36,01 47,06 37,377 - - 36,46 44,09 40,25 22 - - 51,21 60,73 38,618 1,80 49,04 44,94 47,10 37,14 23 - - 47,65 47,69 25,539 - - 42,07 42,10 43,66 24 - - 49,06 58,97 30,9510 - - 47,47 49,37 24,42 25 - - 47,50 50,78 35,3211 - - 56,35 59,23 34,40 26 5,18 63,12 50,36 59,02 33,6712 - - 53,13 48,29 31,05 27 2,81 58,76 54,88 58,01 38,8313 - - 46,84 48,53 47,76 28 - - 48,28 52,30 29,4614 - - 51,23 51,25 44,43 29 - - 50,62 51,95 35,18

Tabela 50: Conjunto de instâncias com 18 pontos doGRASP.

Com 6 melhores valores apresentados pelo GRASP em relação ao UB do Solver nasinstâncias 0, 4, 8, 20, 26 e 27, tem-se um afastamento média de -9,82% para o conjunto deinstância com 18 pontos. Na média das execuções independentes tem-se um gap de -2,47% também em relação ao UB do Solver. O GRASP precisa de 35,74 segundos em média

Page 137: Roteamento de Drones Autônomo: Um Estudo Algorítmico

135

para finalizar sua execução.

Inst20

Solver GRASP Inst20

Solver GRASPLB UB Best Av Tav(s) LB UB Best Av Tav(s)

0 1,55 49,74 49,11 49,16 88,81 15 - - 52,75 46,97 57,351 - - 56,71 56,99 75,38 16 - - 51,44 58,45 63,102 - - 51,34 50,52 50,84 17 - - 62,94 64,59 53,993 - - 53,63 54,17 54,60 18 - - 68,92 68,32 46,324 - - 47,71 49,74 54,45 19 - - 51,03 58,08 68,345 - - 56,31 67,79 59,15 20 - - 50,90 52,06 70,616 - - 52,94 55,32 54,61 21 - - 43,03 43,06 57,087 - - 53,04 53,62 49,57 22 - - 57,25 51,19 48,348 4,42 45,27 43,24 43,01 55,08 23 - - 46,93 56,68 39,749 - - 47,10 57,15 41,18 24 - - 53,21 53,22 95,4210 2,54 55,27 60,33 64,03 58,73 25 - - 47,99 49,09 54,8311 4,75 61,55 48,00 55,97 47,07 26 - - 53,69 55,08 42,9212 - - 44,78 51,95 55,24 27 - - 48,58 48,78 66,2013 - - 46,74 51,59 44,15 28 - - 49,27 54,90 49,7214 - - 48,61 51,15 55,43 29 - - 44,66 48,15 47,33

Tabela 51: Conjunto de instâncias com 20 pontos doGRASP.

No último conjunto de testes com 20 pontos, o Solver apresenta apenas 4 limites ondenas instâncias 0, 8 e 11 o GRASP supera seus valores. Nesse conjunto tem-se o gap de-5,26% entre os valores apresentados pelo Solver. E na média das execuções independentetem-se um gap de 0,17%. O GRASP necessitou de 56,85 segundos para finalizar suasexecuções nessa instância.

C.3.0.3 Análise final dos testes do GRASP e Solver

O GRASP apresentou bons resultados para os problemas A-CEVRP e CEVRP. Con-tudo ao confrontar com os valores obtidos pelo Solver o GRASP sai-se melhor apenas nosconjuntos 16, 18 e 20 no CEVRP, 14 e 20 no A-CEVRP. O que representa o afastamentomédio de -2,48% para todas as instâncias do CEVRP, e um gap médio de -1,98% nasinstâncias do A-CEVRP.

Page 138: Roteamento de Drones Autônomo: Um Estudo Algorítmico

136

A média de todas as soluções apresentadas pelo GRASP para as instâncias do A-CEVRP é de de 32,40 quando considerado as melhores soluções do algoritmo. Já noCEVRP tem-se 42,66 como custo médio das soluções de Best apresentados pelo GRASP.