Usando VNS
Por: Vitor de Araújo
Gabriel Leffa
André Moraes
(E Mestre Huang Ho)
O que é o problema?
 Parecido com o caixeiro viajante
 Deve-se visitar os nós uma unica vez
 Grafo completo não direcionado
 Dado um ponto inicial e um final
 Percorrer um caminho


Que seja menor que uma Distância dada
Que some o maior número de pesos dos nós percorrido.
20
Valor do Ponto
50
18
30
16
14
30
40
30
30
12
40
20
20
10
20
15
15
8
20
Distância limite = 15
10
10
0
6
15
20
Pontuação Máxima=120
Distancia=14.95
10
25
0
4
Pontos iniciais e finais
2
0
0
2
4
6
8
10
12
14
16
Fonte: VNS for the Orienteering Problem-ISCIS'06 Nov 1-2-3
O que é o VNS
 Uma meta-heuristica
 Se contenta com uma solução boa ao invés da ótima.
 Requer muito menos computação.
 A análise começa com uma solução factivel qualquer
 O algoritmo então dá saltos (shaking) para que possa
buscar soluções distantes.
 O algoritmo busca uma solução local.
 O algoritmo mantém a melhor solução, e repete o
processo.
O que uma solução
 Vetor de tamanho N-2
 O nó inicial e final são desconsiderados, já que são fixos.
 Permutação das cidades intermediarias
 Apenas a parte inicial que respeita a restrição identifica a
solução de nós que fazem parte da solução e a ordem
deles.
Como gerar soluções
 Busca Local:
 Mudança de apenas 1 elemento por vez: pode ser uma
troca entre 2 elementos

Entretanto podem significar que um nó saia da solução final
sem que outro entre e vice versa.
4
2
9
13
7
2
1
5
4
1
4
2
13
9
7
2
1
5
4
1
Valor máximo aceito: 15
Shaking
 Grandes Pertubações no sistema:
 Pode ser haver mudança de sequências de nós inteiras.
1º
2º
3º
4º
5º
6º
7º
8º
9º
10º
5º
6º
7º
8º
1º
2º
3º
4º
9º
10º
A solução é totalmente outra e portanto uma busca local pode melhorá-la
Estruturas de vizinhança
 Path insert
 Sequências são deslocadas
 Path exchange
 Sequências são trocadas de posição
 Point insert
 Nó é inserido e a sequência é deslocada.
 Point exchange
 2 nós trocam de posição, sem afetar posição dos demais.
 Path Randomize
 Faz permutação aleatória entre elementos em um conjunto
local.
Modificações do Mestre
 Quando o algoritmo fica muitas iterações sem
encontrar uma solução melhor
 Ele armazena esta solução.
 Desenvolve busca locais sobre uma solução pior em
separado.
 No final, compara se a solução pior pode ser melhorada
de tal forma que ultrapasse a melhor solução anterior.
Timings
Problema
S. Inicial
S. Final
S. Ótimo
Melhora
Dif. GLPK T. Solver
T. GLPK
Brazil, tipo1
5
43
46
760%
6.52%
18.859s
8.6s
Brazil, tipo2
285
1975
2220
592.98%
11.03%
18.721s
55.4s
Brazil, tipo3
206.72
1723.04
1702
733.48%
1,23%
19.149s
14.5s
Eil, tipo1
10
58
64
480%
9.37%
118.89s
50.5s
Eil, tipo 2
495
3356
3655
577.97%
8.18%
127.13s
113.3s
Eil, tipo 3
443.12
3237
3345
630.53%
3.22%
2m 3s
244.8s
Gil tipo 1
12
127
158
958.33%
19.62%
22m
-
Gil tipo 2
586
6551
8321
1018%
21.27%
22.2m
-
Gil tipo 3
653
8054
9246
1132.5%
12.88%
23m
-
Obrigado!
Download

apresentacao-otimizacao