120 likes | 254 Views
The Orienteering Problem. 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
E N D
The Orienteering Problem 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.
Valor do Ponto Distância limite = 15 Pontuação Máxima=120 Distancia=14.95 Pontos iniciais e finais 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. Valor máximo aceito: 15
Shaking • Grandes Pertubações no sistema: • Pode ser haver mudança de sequências de nós inteiras. 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. Futuros Shakes são realizados sobre a pior solução, isso nos gera uma maior variabilidade.