Post on 18-Apr-2015
Alysson M. Costa – ICMC/USP
Tópicos em otimização combinatória
Heurísticas construtivas
Alysson M. Costa – ICMC/USP
Heurísticas construtivas
4 mar 2009 . 11:37
Slide baseado em material da professora Vitória Pureza - UFSCAR
Alysson M. Costa – ICMC/USP
4 mar 2009 . 11:37
Slide do Professor Antonio A. Chaves – UNIFESP.
Alysson M. Costa – ICMC/USP
4 mar 2009 . 11:37
Slide do Professor Antonio A. Chaves – UNIFESP.
Alysson M. Costa – ICMC/USP
4 mar 2009 . 11:37
Slide do Professor Antonio A. Chaves – UNIFESP.
Alysson M. Costa – ICMC/USP
4 mar 2009 . 11:37
Slide do Professor Antonio A. Chaves – UNIFESP.
Alysson M. Costa – ICMC/USP
4 mar 2009 . 11:37
Slide do Professor Antonio A. Chaves – UNIFESP.
Alysson M. Costa – ICMC/USP
Alguns comentátios
Passo 4: a escolha do critério é, obviamente, essencial. Passo 6: note que a cada iteração, o conjuntos dos
elementos candidatos pode mudar. (Assim sendo, uma solução parcial inicial pode mudar toda a solução).
4 mar 2009 . 11:37
Alysson M. Costa – ICMC/USP
Heurísticas construtivas para o TSP Alguns exemplos de heurísticas construtivas para
o TSP.
Três etapas: escolha de um ciclo (ou ponto) inicial critério de seleção critério de inserção
4 mar 2009 . 11:37
Slide baseado no material do professor Stephan Mertens: http://www-e.uni-magdeburg.de/mertens/TSP/TSP.html
Alysson M. Costa – ICMC/USP
ciclo inicial: um ponto aleatório o envoltória convexa dos pontos
Alysson M. Costa – ICMC/USP
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.
Alysson M. Costa – ICMC/USP
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.
Alysson M. Costa – ICMC/USP
Nearest neighbor algorithm (exemplo 1)
Alysson M. Costa – ICMC/USP
Nearest neighbor algorithm (exemplo 2)
Alysson M. Costa – ICMC/USP
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.
Retirado de: www.math.wsu.edu/faculty/bkrishna/FilesMath566/F08/Handouts/TSPApproxSchemes.ppt
Alysson M. Costa – ICMC/USP
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.
Alysson M. Costa – ICMC/USP
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.
Alysson M. Costa – ICMC/USP
pelo critério (cik+ckj)/cij, escolha qual inserir
Alysson M. Costa – ICMC/USP
Greatest angle insertion procedureNorback & 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.
Alysson M. Costa – ICMC/USP
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.
Alysson M. Costa – ICMC/USP
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
Alysson M. Costa – ICMC/USP
Clarke-Wright savings heuristic
i j
k
savings: cjk + cik - cij
£ £