400 likes | 697 Views
Otimização em grafos. Traveling Salesman Problem Métodos exatos (breve perspectiva histórica). Caixeiro viajante (DFJ). Cada nó: grau 2. Caixeiro viajante (DFJ). Cada nó: grau 2. caso direcionado. Caixeiro viajante (DFJ). Assignment problem. Caixeiro viajante (DFJ).
E N D
Otimização em grafos Traveling Salesman Problem Métodos exatos (breve perspectiva histórica)
Caixeiro viajante (DFJ) Cada nó: grau 2.
Caixeiro viajante (DFJ) Cada nó: grau 2. caso direcionado
Caixeiro viajante (DFJ) Assignment problem
Caixeiro viajante (DFJ) Assignment problem Eliminação de ciclos
Oncan, T.; Altinel, I. K. & Laporte, G. A comparative analysis of several asymmetric traveling salesman problem formulations, Computers & Operations Research, 36, 637-654, 2009
Miller-Tucker-Zemlin Miller, C. E.; Tucker, A. W. & Zemlin, R. A. Integer programming formulations and travelling salesman problems, Journal of the Association of Computing Machinery, 1960, 7, 326-329 • originalmente no contexto de problema de roteamento de veículos: • nó 0 é o depot. (Miller-Tucker-Zemlin constraints)
u2 u1 u3 Miller-Tucker-Zemlin • Para um dado arco (i,j) na solução: xij = 1 • Para cada (i,j) que não contém a origem, isso implica:
Miller-Tucker-Zemlin • E para o TSP ? adicionar origem na restrição do AP
Miller-Tucker-Zemlin • Contra LP fraca. (não são facetas) • Pró Generaliza muito bem para problemas de roteamento de veículos VRP (e outros, como veremos mais adiante)
Miller-Tucker-Zemlin • Forma mais moderna: • É possível fortalecê-las ? (lift) Desrochers, M. & Laporte, G., Improvements and extensions to the Miller-Tucker-Zemlin subtour elimination constraints, Operations Research Letters, 1991, 10, 27-36
MTZ (Desrochers-Laporte) Prova: xji = 0 : ui - uj + (n-1)xij· n-2 (o que tínhamos antes) xji =1 : ui - uj + (n-3) xji· n-2 ui - uj + (n-3) · n-2 ui - uj· 1 (que é o que se obtém com a equação original para (j,i).
MTZ (Desrochers-Laporte) • Ainda assim MTZ é mais fraca que DFJ: S= { v1, v2, v3, v4}
15 • Dantzig, Fulkerson, Johnson, Solution of a large-scale traveling-salesman problem,Operations Research 2, 393-410,1954 Cutting-plane algorithm 11:16
Contexto • Simplex (Dantzig, 1948) • Problema das 49 (42) cidades • Ótimo: 699 • LP: 641
Solução do LP (641) SEC: x1,2 + x2,42 + x41,4 + x1,41· 3 Alternativamente: xij¸ 2 (para i em um subconjunto e j no outro)
Beyond SEC • Comb inequalities (desigualdades pente): • Combs são estruturas com uma alça (handle) e um conjunto de dentes com as seguintes características: • A alça encontra os dentes, mas não contém nenhum deles; • Os dentes são disjuntos dois a dois; • O número de dentes é ímpar e no mínimo igual a 3. teeth (Ti) handle (H)
Comb inequality: x((H)} + j=1...s x((Tj)) ¸ 3s+1 Notação: Applegate et al. x((S)) = arcos do ciclo x com apenas uma extremidade no conjunto S Demonstração: Defina:
como os dentes são disjuntos, temos: x((H)) ¸i ci e, por definição, i ci· s além disso, x((H)) é par, enquanto s é ímpar x((H)) ¸ 2ici -s + 1
x((H)) ¸ 2ici -s + 1 por outro lado: x((Ti)) ¸ 4 - 2ci x((H)} + j=1...s x((Tj)) ¸ 3s+1
Conclusão (e eles tinham acabado de resolver um problema inédito e inventado o método de planos de corte)
Cutting-plane method • Questão principal: • como encontrar as desigualdades (método de separação).
branch & bound • Bock, 1958 • Croes, 1958 • Eastman, 1958 • Rossman and Twery, 1958 • Land and Doig, 1960 • Generalização (fora do contexto do TSP) • Little, Murty, Sweeney and Karel, 1963 • Batismo (branch & bound)
branch & bound • divisão do problema em dois problemas complementares. • uso de limitantes para eliminar nós não-promissores.
Held and Carp,1970 • 1-tree (Lawlwer and Wood, 1965) • dois arcos mais baratos associados ao nó v + minimum spanning tree conectando os outros nós
Held and Carp,1970 • Held and Carp: melhoria crucial do limitante remover um valor fixo, yv, do custo de cada arco chegando em um nó v não muda a solução do TSP (apenas diminui seu valor em 2yv)... ...mas pode mudar drasticamente a solução 1-tree
Held and Carp,1970 idéia: aproximar 1-tree do TSP através da adição/ remoção de yv.
yv para cada nó v: c'(u,v) = c(u,v) - yv - yu • Limitante sobre o grafo modificado: B • Limitante sob o grafo original: B + v 2 V 2yv Idéia: Escolher yv que façam B descer menos que o fator de correção (v 2 V 2yv).
Para cidades (nós) com grau 1 na sol. original: • Valor positivo de yv (o que implica reduzir o custo dos arcos incidentes) de modo a tornar os arcos incidentes mais baratos. • Para cidades (nós) com grau >2 na sol. original: • Valor negativo de yv (o que implica aumentar o custo dos arcos incidentes) de modo a tornar os arcos incidentes mais caros.
Held and Carp (1971), Held, Wolfe and Croder (1974): métodos para escolha de yv • Held and Carp (1970): a melhor escolha de yv leva ao mesmo limitante conseguido com a adição de todos as SEC.
Held and Karp (best known time complexity) fonte: http://xkcd.com/