9
Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante Elisabete Longo Isabel Branco

Embed Size (px)

Citation preview

Page 1: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Elisabete Longo

Isabel Branco

Page 2: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Um caixeiro viajante tem de visitar um determinado número de cidades e cada

deslocação entre duas cidades envolve um certo custo. Qual será a volta mais

económica, visitando cada uma das cidades uma única vez e regressando aquela

de onde partiu?

A solução ótima para este tipo de problema consiste em encontrar um circuito de

Hamilton de comprimento mínimo.

Circuito de Hamilton (ou hamiltoniano)

É um caminho que começa e acaba no mesmo vértice percorrendo todos os vértices

uma só vez (exceto o último que também é o primeiro).

Page 3: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

O Gustavo precisa de visitar alguns clientes para entregar encomendas. O grafo

seguinte traduz os pontos da região onde se encontram os clientes, bem como as

distâncias (em km) entre eles:

Determine qual é o melhor percurso (percurso mínimo), que o Gustavo deve

escolher.

A

B

CD

E

15

14

20

10

9

8

12

16

74

Page 4: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

algoritmo dos mínimos sucessivos ou algoritmo do vizinho mais próximo;

Para encontrar percursos mínimos que ajudem a resolver problemas do tipo

do Caixeiro Viajante, temos dois algoritmos:

algoritmo por ordenação dos pesos das arestas ou algoritmo das arestas

classificadas.

Page 5: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Algoritmo dos mínimos sucessivos 

Começa-se o percurso numa das cidades e segue-se sempre para a cidade mais próxima ainda não visitada.

A

B

CD

E

O menor percurso, com um total de 44 km, começa e acaba na cidade E.

15

14

20

10

9

8

12

16

74

A BDCE <56 km>4 8 9 20

A15

B DAEC <49 km>10 8 4 7

B20

C BDAE <49 km>8 4 7 20

C10

D BCEA <49 km>7 4 8 10

D20

E BCDA <44 km>4 7 9 10

E14

Page 6: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Algoritmo por ordenação dos pesos das arestas A

B

CD

E

Escolhem-se sucessivamente as arestas com o peso

mais baixo mas:

15

14

20

10

9

8

12

16

74A E ;

4A D ;

7C E ;

8C D ;

9

B C ;10

A C ;12

B E ; 14

A B ;15

D E ;16

B D;20

• nunca escolhendo 3 arestas concorrentes no mesmo vértice;

• nunca fechando um circuito quando ainda há vértices por visitar.

Page 7: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Algoritmo por ordenação dos pesos das arestas 

CD

A E4

A D7

C E.8

C D9

B C10

A C, 12

B E, 14

A B15

D E,16

Escolhemos a aresta para começar

A

E

e juntamos a seguir e

A aresta não pode ser acrescentada

pois fecharia o circuito.

Acrescenta-se e as arestas,

e

serão eliminadas pois fariam com que

concorressem no mesmo vértice três arestas.

B

Page 8: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Algoritmo por ordenação dos pesos das arestas 

B D20

Acrescenta-se a aresta (última),

que fecha o circuito.

O percurso tem um comprimento de 4

8

7

4

CD

A

E

B

10

+ 7 + 8 + 10 + 20 = 49 km.

20

Page 9: Problema do caixeiro viajante Elisabete Longo Isabel Branco

Problema do caixeiro viajante

Algoritmo por ordenação dos pesos das arestas 

8

7

4

CD

A

E

B

1020

Algoritmo dos mínimos sucessivos

Percurso mínimo de 49 km

Percurso mínimo de 44 km

74

CD

A

E

B

10

14

9