Trabalho abordando a utilização de algoritmos genéticos e grafos em software de roteirização pura de veículos. Com estudo de caso da cidade de Barra do Bugres, Mato Grosso.
Apresentação do trabalho da disciplina de Monografia II do curso de Bacharelado em Ciência da Computação pela Universidade do Estado de Mato Grosso, em Novembro de 2009.
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Roteirização de veículos usando algoritmos genéticos
1. GOVERNDO DO ESTADO DE MATO GROSSO
SECRETARIA DE ESTADO DE CIÊNCIA, TECNOLOGIA E EDUCAÇÃO SUPERIOR
UNIVERSIDADE DO ESTADO DE MATO GROSSO
FACULDADE DE CIÊNCIAS EXATAS
CAMPUS UNIVERSITÁRIO DEPUTADO ESTADUAL RENÊ BARBOUR
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
ROTEIRIZAÇÃO PURA DE VEÍCULOS
UTILIZANDO
ALGORITMOS GENÉTICOS
Acadêmico: Ricidleiv Alexandre da Silva Tondatto
Orientador: Luciano Zamperetti Wolski
4. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
• Roteirização de Veículos:
características do problema;
• Teoria dos Grafos: estrutura de
dados para representação do mapa;
• Algoritmos Genéticos: a busca pelo
menor caminho;
• Estudo de Caso: apresentação de
um programa que demonstra o uso
de Algoritmos Genéticos em
Roteirização.
4
5.
6. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Conceito
• Processo que determina roteiros para os
veículos visitarem um conjunto de pontos
geograficamente dispersos;
• Aplicada em logística e em indústria.
6
7. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Classificação
• Roteirização Pura
– Não considera variáveis temporais;
– Estratégias espaciais dos pontos a serem atendidos.
7
8. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Classificação (cont.)
• Combinados de Roteirização e Programação
– Considera restrições quanto ao tempo, precedência
entre atividades;
8
9. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Problema do Caixeiro Viajante
9
Fonte: Google Maps, 2009
10. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Problema do Caixeiro Viajante (cont.)
10
11. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Estratégias Heurísticas
• Apoiam-se numa abordagem intuitiva;
• A estrutura particular do problema é
considerada e explorada de forma
inteligente;
• Algoritmo Genético é um exemplo.
11
12.
13. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Conceitos
• Área da matemática que estuda as relações
entre objetos de um determinado conjunto;
• Possui três objetos de estudo:
– Grafo; 2
1
– Vértice;
– Aresta.
3
13
14. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Exemplo de Grafo
100m 80m
1 4 3 5
100m
100m 100m
100m
2 9 8
150m
100m
6 250m 7
Um exemplo de grafo G = (V, A), onde:
• V = {1, 2, 3, 4, 5, 6, 7, 8, 9}
• A = {(1,2), (1,4), (2,9), (3,5), (3,8), (4, 8), (4, 9), (5,8), (6,9), (7,6), (7,8), (8,9)}
14
15. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Caminho
• Sequência alternada de vértices e arestas que iniciam
num vértice e terminam em um vértice tal que cada
aresta é incidente em seu vértice antecessor e sucessor.
2 5
7
1 9
4
3 6 8
C = {(2,4), (4,6), (6,8), (8,9)}
15
16. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Algoritmo de Dijkstra
• Criado por Edsger Dijkstra em 1959;
• Mantém um conjunto de vértices cujos caminhos mais
curtos até um vértice origem já são conhecidos;
enquanto Q ≠ VAZIO
u ← extraia-min(Q);
S ← S ,u};
para cada v adjacente a u faça
se d[v] > d[u] + p(u,v) então
d*v+ ← d*u+ + p(u,v);
π*v+ ← u;
16
17. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Usabilidade
• Representação gráfica de um mapa;
• Cálculo do menor caminho entre
dois pontos;
17
18.
19. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Teorias da Evolução e Seleção Natural
• Algoritmos Genéticos se baseiam
nas teorias da Evolução das
Espécies e de Seleção Natural;
• Teorias criadas por Charles
Darwin, em 1859;
• Defende que todos os organismos
decendem de ancestrais comuns e
que o mecanismo de modificação
foi a seleção natural. 19
20. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Fundamentos Biológicos
• O Algoritmo Genético considera uma solução como
um cromossomo;
• Um gene representa uma
característica do indivíduo.
20
21. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Fundamentos Biológicos: Reprodução
• A reprodução permite a
geração de uma nova célula a
partir da combinação do
material genético das células
pais.
Fonte: SIVANANDAM e DEEPA, 2008
21
22. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Fundamentos Biológicos: Mutação
• O processo de cópia do DNA pela célula
pode ocorrer algum erro que venha alterar a
sequência do código genético, causando
uma mutação.
22
23. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Computação Evolutiva
• Abstrai técnicas dos princípios da teoria
evolutiva como os mecanismos da auto-
organização e o comportamento adaptativo;
• É um novo paradigma em alternativa ao
processamento de dados atual;
• Não exige o conhecimento de uma maneira
para se encontrar uma solução.
23
24. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Abordagem Histórica
• Décadas de 50 e 60 iniciaram os estudos;
• Algoritmo Genético foi publicado em 1975
por John Holland através do seu livro
Adaptation in Natural and Artificial Systems;
• Área está em constante evolução.
24
25. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
O Algoritmo
2. Calcula o valor de fitness
1. Inicia a população
de cada cromossomo;
03514762
03514762 150
07614532
07614532 35
04275163
04275163 80
01234567
07354512
3. Seleciona dois 01234567 162
... cromossomos 07354512 90
03514762 150 ... ...
Fim
07614532 35
04275163 80
Não
01234567 162
07354512 90 Critério de parada
confirmado
... ...
25
26. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
O Algoritmo
5. Realiza a mutação
4. Realiza a permutação 04235167 04235167
04275163 04235167 01274563 01574263
01234567 01274563
7. Volta ao passo 2 6. Guarda novos indivíduos
na nova população
26
27. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Elitismo
• Processo de manter um número x dos
melhores indivíduos a cada nova geração;
27
30. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
A cidade de Barra do Bugres
• Sudoeste de Mato Grosso;
• 150 km de Cuiabá;
• 34.349 habitantes;
• Aproximadamente 100 km
de malha viária.
30
31. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Visão Geral da Aplicação
• Sistema de Informação Geográfica;
• Ferramenta de Desenvolvimento Java;
• IDE NetBeans;
• Frameworks:
– Grafos: JUNG;
– Algoritmos Genéticos: JGAP;
• XML.
31
32. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Criando o Grafo
32
33. Roteirização Pura de Veículos Utilizando Algoritmos Genéticos
Fluxo de Processos ao Traçar Rota
Lê os endereços
Executa Lê o melhor
Algoritmo roteiro
Genético encontrado
Lê os
parâmetros
Instancia classe Identifica no
Cria matriz de
de controle do mapa o caminho
distância
AG do roteiro
33