1 / 13

Problema do Caixeiro Viajante Utilizando VNS e VND

Problema do Caixeiro Viajante Utilizando VNS e VND. Fernando Cota Viana Ricardo Sérgio Prado. VNS – Algoritmo Básico. S  s 0 While (critério de parada) do K  1 While (k  max) do Gerar aleatoriamente uma solução s’ pertencente à vizinhança N k (s)

ishana
Download Presentation

Problema do Caixeiro Viajante Utilizando VNS e VND

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Problema do Caixeiro Viajante Utilizando VNS e VND Fernando Cota Viana Ricardo Sérgio Prado

  2. VNS – Algoritmo Básico S  s0 While (critério de parada) do K1 While (k  max) do Gerar aleatoriamente uma solução s’ pertencente à vizinhança Nk(s) Aplicar busca local a partir de s’, obtendo a solução s’’ If f(s’’) < f(s) Then S  s’’ K  1 Else k  k + 1 End-if End-while End-while

  3. VND – Algoritmo Básico S  s0 melhoria .verdadeiro. While (melhoria) do K1 melhoria .falso. While (k  max) do Aplicar busca local a partir de s utilizando a vizinhança Nk(s), obtendo a solução s’ If f(s’) < f(s) Then S  s’ melhoria .verdadeiro. Else k  k + 1 End-if End-while End-while

  4. Métodos de melhoria de roteiros • Os mais utilizados são do tipo k-opt • K arcos são removidos de um roteiro e substituídos por outros k arcos; Objetivo: Diminuir a distância total percorrida; Na prática são considerados 2-opt e 3-opt;

  5. Método 2-opt • Testa as trocas possíveis entre pares de arcos; Roteiro Básico Roteiro Modificado 2_opt_VNS fosl= (*fo - c[s[x]][s[y]] - c[s[w]][s[z]] + c[s[x]][s[w]] + c[s[y]][s[z]]);

  6. Método 3-opt • Testa as trocas possíveis entre 3 arcos: Resulta em 7 combinações possíveis: Roteiro Básico

  7. Método 3-opt 3.1_opt_VNS 3.3_opt_VNS 3.4_opt_VNS 3.2_opt_VNS fosl= (*fo -c[s[a]][s[a1]]-c[s[b]][s[b1]]-c[s[d]][s[d1]] +c[s[a]][s[d]]+c[s[b1]][s[a1]]+c[s[b]][s[d1]]);

  8. Método de Descida - 2opt • Troca de duas cidades: S = [ 1 2 3 4 5 ] 1>2 = [ 2 1 3 4 5 ] 2>5 = [ 1 5 3 4 2 ] 1>3 = [ 3 2 1 4 5 ] 3>4 = [ 1 2 4 3 5 ] 1>4 = [ 4 2 3 1 5 ] 3>5 = [ 1 2 5 4 3 ] 1>5 = [ 5 2 3 4 1 ] 4>5 = [ 1 2 3 5 4 ] 2>3 = [ 1 3 2 4 5 ] 2>4 = [ 1 4 3 2 5 ]

  9. Método de Descida - 3opt • Troca de três cidades: S = [ 1 2 3 4 5 ] 1>2>3 = [ 2 3 1 4 5 ] 2>3>5 = [ 1 3 5 4 2 ] 1>2>4 = [ 2 4 3 1 5 ] 2>4>5 = [ 1 4 3 5 2 ] 1>2>5 = [ 2 5 3 4 1 ] 3>4>5 = [ 1 2 4 5 3 ] 1>3>4 = [ 3 2 4 1 5 ] 1>3>5 = [ 3 2 5 4 1 ] 1>4>5 = [ 4 2 3 5 1 ] 2>3>4 = [ 1 3 4 2 5 ]

  10. Teste: Problema lin105 • 3 Estruturas de Vizinhança VNS utilizadas: - 2 opt - 3.3 opt - 3.4 opt • 1 Estrutura de Vizinhança VND utilizada: - 2 opt

  11. Resultados Obtidos: • Solução Inicial: 17.173,4 • Tempo: 60 seg. • 1) 10.823,4 • 2) 14.116,9 • 3) 14.461,1

  12. Resultados Obtidos: • S. Inicial S. Final Parcialmente Gulosa 69.558,6 19.669,9 69.526,4 20.828,8 70.273,9 16.563,9

  13. Resultados Obtidos: • S. Inicial Aleatória S. Final 130.233,8 14.581,2 130.274,9 19.502,0 127.230,1 18.281,4

More Related