13.07.2015 Views

Problema do Caixeiro Viajante - DEINF/UFMA

Problema do Caixeiro Viajante - DEINF/UFMA

Problema do Caixeiro Viajante - DEINF/UFMA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4 Formulaçõeso Dantzig-Fulkerson-Johnson: n(n-1) variáveis e O(2 n ) restriçõeso Miller-Tucker-Zemlin: n 2 -1 variáveis e O(n 2 ) restriçõesmin ∑ i ∑ j c ij x ij ,De todas as cidades chega apenas um: ∑ i x ij = 1 for all j.Escolhe apenas uma cidade para partir: ∑ j x ij = 1 for all i.Subtour inviável: u i ≤ u j + 1 + n(1 – x ij ),for i = 2, …, n, i ≠ j, j = 2,…,n,x ij ∈ {0, 1} for all i, j; u i ≥ 0 for all i, onde u i é ordem emque a cidade i é visitada.Assim, se existir uma aresta x ij (=1), então a ordem em que acidade i é visitada, u i , é uma unidade a menos que a ordem emque a cidade j é visitada, u j . Caso contrário essa diferença é nomáximo n.o Claus: (n 3 +n 2 +3n) variáveis e n 3 restrições


5 Formulação MTZ no LINDOmin 500 x1,1 + 70.9 x1,2 + 41.6 x1,3 + 29.1 x1,4+ 17.1 x1,5 + 56.1 x1,6 + 55.6 x1,7 + 7.3 x1,8... + 104 x12,10 + 39.4 x12,11 + 500 x12,12subject to3] x2,1 + x3,1 + x4,1 + x5,1 + x6,1 + x7,1+ x8,1 + x9,1 + x10,1 + x11,1 + x12,1 = 14] x1,2 + x1,3 + x1,4 + x1,5 + x1,6 + x1,7+ x1,8 + x1,9 + x1,10 + x1,11 + x1,12 = 1...25] x1,12 + x2,12 + x3,12 + x4,12 + x5,12 + x6,12+ x7,12 + x8,12 + x9,12 + x10,12 + x11,12 = 126] x12,1 + x12,2 + x12,3 + x12,4 + x12,5 + x12,6+ x12,7 + x12,8 + x12,9 + x12,10 + x12,11 = 127] 12 x2,2


6 Heurísticas• Heurística <strong>do</strong> Vizinho Mais PróximoDa<strong>do</strong> um grafo G(V, E) completo e simétrico o Algoritmo<strong>do</strong> Vizinho Mais Próximo para construir um circuitohamiltoniano T(G):• Escolha aleatoriamente um vértice v V(G)• Inclua v em T• Seja u o vizinho mais próximo de v que ainda não foiincluí<strong>do</strong> em T• Inclua u e a aresta (v,u) em T• Faça v=u• Se |V(T)| < |V(G)| então vá para o passo 3• Inclua a aresta entre o primeiro e o último vérticesincluí<strong>do</strong>sO tempo de computação O(n 2 ) para instâncias quesatisfazem a desigualdade triangularGuloso em relação ao próximo vértice que será incluí<strong>do</strong>na solução,


• Heurística GulosaDa<strong>do</strong> um grafo G(V, E) completo e simétrico e os custos c ede cada e∈ E(G), o Algoritmo Guloso para construir umcircuito hamiltoniano T de G é o seguinte:• Faça V(T) = V(G)• Seja e∈E(G) — E(T) tal que c e é mínimo e que suainclusão não implique na formação de um ciclo em T(minimal spanning tree) ou deixe algum vértice de Tcom grau maior que 2• Inclua e em E(T)• Se |E(T)| < |V(G)| então vá para o passo 2É guloso em relação à próxima aresta.O tempo de computação envolvi<strong>do</strong> ao algoritmo guloso é dee(n 2 log(n),Solução encontrada geralmente é melhor que NN.As heurísticas de construção podem ser usadas para gerarpontos de partida usa<strong>do</strong>s por heurísticas de busca local.


7 Exemplos


8 Algoritmos genéticos• Fuzzy Genetic Algorithm, 1998

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!