Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns...

22
Franklina M. B. Toledo / Alysson M. Costa 09:19 12 mar 2009. Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos

Transcript of Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns...

Page 1: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

Franklina M. B. Toledo / Alysson M. Costa 09:19 12 mar 2009.

Otimização em grafos

Traveling Salesman Problem: Alguns métodos heurísticos

Page 2: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

• Procedimentos de construção• Procedimentos de melhoria

Page 3: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Procedimentos de construção

• Três etapas:– escolha de um ciclo (ou ponto) inicial– critério de seleção– critério de inserção

Page 4: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

• ciclo inicial:– um ponto aleatório– o envoltória convexa dos pontos

Page 5: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Flood, 1956: todo TSP euclidiano tem uma solução ótima que visita os pontos da fronteira do envoltória convexa na mesma ordem em que eles aparecem.

Page 6: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Nearest neighbor algorithm

Belmore and Nemhauser (Survey paper, 1968)

1. comece com uma cidade i (arbitrária); 2. encontre o nó ainda não adicionado que seja

mais próximo do último nó adicionado; Conecte estes dois nós.

3. Enquanto o último nó não tiver sido adicionado, volte para 2.

4. Quando o último nó tiver sido adicionado, conecte-o ao primeiro nó que foi adicionado.

Page 7: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Nearest neighbor algorithm (exemplo 1)

Page 8: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Nearest neighbor algorithm (exemplo 2)

Page 9: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Nearest addition

1. comece com uma cidade i (arbitrária) e seu vizinho mais próximo j; T={i,j}

2. (seleção) encontre (j,k) que minimiza cjk, com j 2 T e k T. T= T+{k}.

3. (inserção) elimine o arco (i,j), onde i é um vizinho imediato de j no ciclo atual e adicione os arcos (i,k) e (k,j).

4. enquanto não for formado um ciclo hamiltoniano, volte para 2.

Page 10: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC

Retirado de: www.math.wsu.edu/faculty/bkrishna/FilesMath566/F08/Handouts/TSPApproxSchemes.ppt

Page 11: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Arbitrary insertion procedure

Rosenkrantz, Stearns, Lewis, 1977

1. comece com uma cidade i (arbitrária) e seu vizinho mais próximo j; Forme o subciclo (i,j)

2. (Seleção) Selecione arbitrariamente uma cidade k não pertencente ao subciclo.

3. (Inserção) Encontre o arco (i,j) que minimiza cik+ ckj - cij. Insira k entre i e j.

4. Volte para 3 a menos que todos os arcos tenham sido inseridos.

Page 12: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Convex hull insertion procedure

Stewart, 1977

1. Forme o convex hull (envoltória convexa) das cidades. Este é o subciclo inicial.

2. (Inserção) Para cada cidade k fora do subciclo, decida onde ela deve ser inserida, i.e., (i,j) tal que cik+ckj-cij é mínimo.

3. (Seleção) Para todo (i,j,k) do item anterior, escolha (i*,j*,k*) aquele que minimiza (cik+ckj)/cij.

4. Insira k* entre i* e j*.5. Enquanto um ciclo hamiltoniano não tiver sido

encontrado, retorne ao passo 2.

Page 13: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

pelo critério (cik+ckj)/cij, escolha qual inserir

Page 14: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Greatest angle insertion procedure

Norback & Love, 1977, 1979

1. Forme o convex hull (envoltória convexa) das cidades. Este é o subciclo inicial.

2. (Seleção e Inserção) Escolha a cidade k* ainda não incluida e o arco (i*,j*) do subtour tal que o ângulo formado pelos arcos (i,k) e (k,j) seja máximo.

3. Insira a cidade k* entre as cidades i e j.4. Enquanto um ciclo hamiltoniano não tenha sido

obtido, volte ao passo 2.

Page 15: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Ratio times difference insertion procedure

Or, 1976

1. Forme o convex hull (envoltória convexa) das cidades. Este é o subciclo inicial.

2. (Seleção e Inserção) Escolha a cidade k* ainda não incluida e o arco (i*,j*) do subtour tal que o produto

{ci*k*+ck*j*-ci*j*}£{(ci*k*+ck*j*)/ci*j*}}

seja mínimo3. Insira a cidade k* entre as cidades i e j.4. Enquanto um ciclo hamiltoniano não tenha sido obtido,

volte ao passo 2.

Page 16: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Clarke-Wright savings heuristic

(idéia)

1. Inicie com n-1 subciclos conectando uma cidade qualquer (hub) a cada uma das outras.

2. Para cada par de cidades, calcule a economia obtida na redução do subciclo.

3. Faça a redução

Page 17: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Clarke-Wright savings heuristic

i j

k

savings: cjk + cik - cij

£ £

Page 18: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Outras heurísticas

• Heurísticas baseadas em árvores– Cristofides– Minimum spanning tree heuristics

Page 19: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Heurísticas de melhoria

• 2-opt• Lin-Kernighan (1973)• k-opt

Page 20: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

2-opt

• Idéia de vizinhança: trocar um arco por outro.

i j

k l

i j

k l

Page 21: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

3-opt, k-opt

i

j

k l

n

m

i

j

k l

n

m

k-opt...

Page 22: Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Traveling Salesman Problem: Alguns métodos heurísticos.

FMBT/ AMC 09:48 12 mar 2009.

Lin-Kernighan

• Restringir k-opt àquelas configurações que podem ser obtidas como uma sequência de movimentos 2-opt.

• (Por que simplesmente não usar 2-opt ?)

k-opt2-opt Lin-Kernighan