Aula 2 - TSP e MTSP
Aula 2 - TSP e MTSP
Aula 2 - TSP e MTSP
Transportes
TSP - MTSP
Problema do Caixeiro-Viajante (Traveling
Salesman Problem – TSP)
1
TSP
• O Problema do Caixeiro Viajante (TSP) é um problema que tenta
determinar a menor rota para percorrer uma série de cidades
(visitando uma única vez cada uma delas), retornando à cidade de
origem.
2
NP-difícil (NP-completo)?
3
NP-difícil
• A classe NP, do acrônimo de Tempo Polinomial não Determinístico
(Non-deterministic Polynomial time), deriva da teoria fundamentada por
Cook (1971) e, como o próprio nome sugere, é composta por
problemas com instâncias de médio e grande porte que são
intratáveis por algoritmos determinísticos em tempo polinomial,
devido ao consumo demasiado de recursos computacionais.
5
TSP
• Dodecaedro
6
TSP
7
TSP
• O problema do caixeiro-viajante consiste na procura de um circuito
que possua a menor distância, começando numa cidade qualquer,
entre várias, visitando cada cidade precisamente uma vez e
regressando à cidade inicial.
8
TSP
• Exemplo de ciclo hamiltoniano com n=7.
9
Formulação do Problema
10
TSP
11
TSP
12
TSP – Aplicações
• Logística
13
TSP
14
TSP
• Para acharmos o número R(n) de rotas para o caso de n cidades,
basta fazer um raciocínio combinatório simples e clássico.
16
TSP
• Assim que nossa estratégia reducionista consiste em gerar cada
uma dessas R(n) = (n - 1)! rotas,
17
Exemplos Práticos
• Um tour ideal por 15.112
cidades na Alemanha,
provou ser a solução ideal
em abril de 2001.
• Tempo de CPU:
22,6 anos
18
Exemplos Práticos
• Dado os avanços tecnológicos que se sucederam a partir da
década de 1990, nos anos de 1994, 1998 e 2001, nos laboratórios
da AT&T Bell, pesquisadores, usando métodos heurísticos e plano
de corte, otimizaram instâncias contendo 7397, 13509 e 15112
cidades respectivamente.
Applegate, D.; Bixby, R.; Chvátal, V.; Cook, W.. (2006) The Traveling Salesman Problem: A
Computational Study. Princeton University Press.
19
TSP
20
TSP
121 645 100 408 832 000 (ou, aproximadamente, 1.2 x 1017).
21
TSP
22
TSP – Métodos de Solução
Existem basicamente duas formas:
• Métodos exatos.
• Métodos heurísticos.
23
Métodos Exatos
• Analisam todas as alternativas possíveis.
• A complexidade é fatorial!
24
Métodos Heurísticos
• Um método heurístico pode ser definido como uma técnica que
busca boas soluções, com um custo computacional (tempo)
relativamente inferior ao dos métodos determinísticos (exatos).
26
Métodos Heurísticos
Basicamente, técnicas de inteligência artificial.
27
Algoritmo Guloso
Algoritmo Guloso (greedy) pertence a classe de Heurísticas
Construtivas, e é uma solução comum para problemas de otimização
onde:
Pontos Contra
• Dependentes de informações;
• Correm o risco de entrarem em loops infinitos;
• Situacionais, só resolvem tipos específicos de problemas;
• Decisões tomadas são irrevogáveis;
29
Heurísticas Construtivas
Exemplo:
30
Heurística do Vizinho mais Próximo
• Nearest neighbor search (NNS).
31
Heurística do Vizinho mais Próximo
Rota da Heurística do Vizinho Mais Próximo, iniciando por c1.
1. Deleta um Nó.
2. Elenque os pares (menor custo ao maior custo) até conectar
todos.
3. Somar os custos.
4. Conectar o Nó deletado novamente a rota (escolhendo os dois
caminhos de menor custo).
34
Rota Ótima
35
Heurística da Inserção Mais Barata
• Proposta por Karg e Thompson (1964) e referenciada como
Heurística da Inserção Mais Barata (HIMB) por Solomon (1987),
– este método heurístico procura definir um roteiro inicial com
somente três cidades, sendo as demais cidades ainda não
incluídas no roteiro, selecionadas para inserção no roteiro
parcial, aquelas que proporcionam menor acréscimo de
distância total percorrida.
Karg, R.L.; Thompson, G.L. A Heuristic Approach to Solving Travelling Salesman Problems.
Management Science, Vol. 10, pp.225-248. 1964.
Solomon, M. M. Algorithms for the Vehicle Routing and Scheduling Problems with Time
Window Constraints. Operations Research Vol. 35, pp. 254−265. 1987.
36
Heurística da Inserção Mais Barata
• Esse procedimento é repetido sucessivamente, com a análise da
inserção entre cada par de cidades do roteiro parcial, até que
todas as cidades sejam inseridas.
37
Heurística da Inserção Mais Barata
• Rota construída pela HIMB.
38
Heurística de Clarke e Wright
• A Heurística de Clarke e Wright, também conhecida como
Heurística de Savings (economias), é um método econômico-
iterativo construtivo de busca de soluções para problemas de
roteirização.
39
Heurística de Clarke e Wright
O algoritmo de Clarke & Wright pode ser dividido em 5 passos:
40
Heurística de Clarke e Wright
• Dado estes 5 pontos e o custo (distâncias) entre eles.
• Origem em zero (0).
41
Heurística de Clarke e Wright
• Formar rotas (pares) a partir do ponto de origem.
42
Heurística de Clarke e Wright
Remover Adicionar
43
Heurística de Clarke e Wright
44
Heurística de Clarke e Wright
45
Heurística de Clarke e Wright
46
Heurística de Clarke e Wright
47
Heurística de Clarke e Wright
48
Heurística de Clarke e Wright
49
Heurística de Clarke e Wright
• Ordenar os “Savings” do maior para o menor.
S23 (= S23) = 17
S34 (= S43) = 16
S12 (= S21) = 13
S24 (= S42) = 11
S13 (= S31) = 10
S14 (= S41) = 5
50
Heurística de Clarke e Wright
51
Heurística de Clarke e Wright
52
Heurística de Clarke e Wright
53
Heurística de Clarke e Wright
54
Heurística de Clarke e Wright
55
Heurística de Clarke e Wright
56
Meta Heurística
57
Meta-Heurística
• Meta-Heurísticas podem fornecer boas soluções para diferentes tipos de
problemas, assim sendo consideradas heurísticas de uso e aplicação
geral.
60
Meta-Heurística Híbrida
61
Hiper-Heurística
62
Exercício 2
• Partindo de “A”, encontre a rota de menor custo.
– Método do Vizinho mais próximo. (determinar Upper e Lower
Bound).
– Método de Clarke e Wright.
B
16 18
4
22 E 23
A C
7
14 19
D
63
Exercício 3
• Partindo de “A”, encontre a rota de menor custo.
– Método do Vizinho mais próximo. (determinar Upper e Lower
Bound).
– Método de Clarke e Wright.
B 7
C
3
5 8
5
4 G 9
A D
4 4
3 7
8
F E
64
MTSP
(Multiple Traveling Salesman Problem)
65
Multiple Traveling Salesman Problem
(MTSP)
• Como o próprio nome sugere, nesta variação, múltiplos caixeiros
são designados para que todos os pontos do problema sejam
visitados.
• Logo, roteiros com o custo mínimo são configurados para que cada
caixeiro viajante atenda ao menos a um ponto da rede.
66
MTSP
67
(Depósitos únicos) x (múltiplos)
68
Taxas fixas
69
Janelas de tempo
70
Outras restrições especiais
71