problemas de otimização
TRANSCRIPT
![Page 1: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/1.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 1/61
Problemas de otimização
• Problemas de decisão: “Existe uma soluçãosatisfazendo certa propriedade?”Resultado: “sim” ou “não”
• Problemas de otimização: “Entre todas as soluçõessatisfazendo determinada propriedade, obter aquelaque otimiza certa função de custo.”Resultado: uma solução viável ótima
![Page 2: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/2.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 2/61
Problemas de otimização
• Exemplo: problema do caixeiro viajanteEntrada: n cidades e distâncias ci,j
Problema de decisão: “dado um inteiro L, existeuma rota que visite cada cidade exatamente umavez e cujo comprimento seja menor ou igual a L?”
Problema de otimização: “obter uma rota que visitecada cidade exatamente uma vez e cujocomprimento seja mínimo.”
![Page 3: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/3.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 3/61
Problemas de otimização
• Exemplo: problema da mochilaEntrada: n itens, peso máximo b, lucros cj e pesos aj associados a cada item j=1,…,n
Problema de decisão: “dado um inteiro L, existeS ⊆ {1,…,n} tal que ∑j∈S aj ≤ b e ∑j∈S cj ≥ L?”
Problema de otimização: “obter um subconjunto S*maximizando ∑j∈S cj entre todos os conjuntosS ⊆ {1,…,n} tais que ∑j∈S aj ≤ b.”
![Page 4: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/4.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 4/61
Problemas de otimização
• Estes problemas de decisão pertencem à classe dos problemas NP-completos, para os quais não sãoconhecidos algoritmos determinísticos de complexidade polinomial.
• A versão de otimização destes problemas (e de muitos outros) também são intrinsecamente “intratáveis” do ponto de vista computacional, não se conhecendo algoritmos eficientes (polinomiais) para sua solução exata.
![Page 5: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/5.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 5/61
Problemas de otimização
• Como tratar e resolver estes problemas?– Algoritmos exatos não-polinomiais– Algoritmos pseudo-polinomiais em alguns casos– Processamento paralelo: aceleração na prática, mas
sem redução da complexidade!– Casos especiais polinomiais– Algoritmos aproximativos: encontram uma solução com
custo a distância máxima garantida do valor ótimo– Algoritmos probabilísticos: convergência em valor
esperado ou em probabilidade
![Page 6: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/6.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 6/61
Problemas de otimização
• Como tratar e resolver estes problemas? – Heurísticas: métodos aproximados projetados com base
nas propriedades estruturais ou nas características das soluções dos problemas, com complexidade reduzidaem relação à dos algoritmos exatos e fornecendo, em geral, soluções viáveis de boa qualidade
• Algoritmos construtivos• Busca local (algoritmos de melhoria)• Metaheurísticas
![Page 7: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/7.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 7/61
Problemas de otimização• Avanços no estudo e no desenvolvimento de
heurísticas:– Resolver problemas maiores– Resolver problemas em tempos menores– Obter melhores soluções
• Heurísticas e metaheurísticas permitem resolverproblemas de grande porte em tempos realistas, fornecendo sistematicamente soluções ótimas oumuito próximas da otimalidade:– Exemplo: problema do caixeiro viajante com milhões de
cidades
![Page 8: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/8.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 8/61
Algoritmos construtivos
• Problema de otimização combinatória: dado um conjunto finito E = {1,2, …,n} e uma função de custo c: 2E → R, encontrar S* ∈ F tal que c(S*) ≤c(S) ∀S ∈ F, onde F ⊆ 2E é o conjunto de soluções viáveis do problema (minimização).
• Construção de uma solução: selecionarseqüencialmente elementos de E, eventualmentedescartando alguns já selecionados, terminandoquando for encontrada uma solução viável
![Page 9: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/9.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 9/61
Algoritmos construtivos
• Exemplo: problema do caixeiro viajante– E: conjunto de arestas– F: subconjuntos de E que formam um circuito
hamiltoniano, visitando cada cidade exatamente umavez
– c(S) = Σe∈S ce
– ce= ci,j: custo da aresta e=(i,j)
![Page 10: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/10.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 10/61
Algoritmos construtivos
• Algoritmo do vizinho mais próximo:Escolher o nó inicial i e fazer N ← N-{i}.Enquanto N ≠ ∅ fazer:
Obter j∈N: ci,j = mink∈N {ci,k}N ← N-{j}i ← j
Fim-enquantoCalcular o custo da solução e terminar.
![Page 11: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/11.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 11/61
5
4 3
2
1
Algoritmos construtivos
127
5
3
4
3
2
3
5
![Page 12: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/12.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 12/61
5
4 3
2
1i=1
Algoritmos construtivos
![Page 13: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/13.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 13/61
5
4 3
2
1
Algoritmos construtivos
i=1
1
27
5
![Page 14: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/14.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 14/61
5
4 3
2
1
Algoritmos construtivos
i=1
1
![Page 15: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/15.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 15/61
5
4 3
2
1
Algoritmos construtivos
i=2
1
34
3
![Page 16: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/16.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 16/61
5
4 3
2
1
Algoritmos construtivos
i=2
1
3
![Page 17: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/17.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 17/61
5
4 3
2
1
Algoritmos construtivos
i=5
1
3
23
![Page 18: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/18.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 18/61
5
4 3
2
1
Algoritmos construtivos
i=5
1
3
2
![Page 19: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/19.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 19/61
5
4 3
2
1
Algoritmos construtivos
i=3
1
3
2
5
![Page 20: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/20.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 20/61
5
4 3
2
1
Algoritmos construtivos
i=3
1
3
2
5
![Page 21: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/21.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 21/61
5
4 3
2
1
Algoritmos construtivos
i=4
1
3
2
5
7
comprimento=18
![Page 22: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/22.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 22/61
4
3
2
1
2 2
3 3
1
• Podem falhar mesmo para casos muito simples!
Algoritmos construtivos
![Page 23: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/23.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 23/61
Algoritmos gulosos
• Algoritmos gulosos:
A construção de uma solução gulosa consiste em selecionar a cada passo o elemento de E ainda nãoutilizado que minimiza o incremento no custo dasolução parcial sem torná-la inviável, terminandoquando se obtém uma solução viável.
O incremento no custo da solução parcial échamado de função gulosa.
![Page 24: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/24.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 24/61
Algoritmos gulosos
• Algoritmo guloso de Kruskal para o problema da árvore geradora de peso mínimo– Sempre encontra a solução ótima: este problema
pertence a uma classe particular de problemas onde um algoritmo guloso sempre encontra a solução ótima.
• Algoritmo do vizinho mais próximo para o PCV– Cuidado: nem sempre encontra a solução ótima exata,
é portanto uma heurística para este problema!
![Page 25: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/25.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 25/61
Algoritmos gulosos randomizados
• Um algoritmo guloso encontra sempre a mesmasolução para um dado problema.
• Algoritmo guloso randomizado:– Criar uma lista de candidatos a cada iteração com os
melhores elementos ainda não selecionados e forçaruma escolha aleatória a cada iteração
• Aplicar o algoritmo repetidas vezes, obtendo soluções diferentes a cada iteração.
![Page 26: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/26.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 26/61
5
4 3
2
1i=1
Algoritmos gulosos randomizados
![Page 27: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/27.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 27/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=1
1
27
5
![Page 28: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/28.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 28/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=1
1
2
![Page 29: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/29.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 29/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=1
1
![Page 30: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/30.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 30/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=2
1
34
3
![Page 31: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/31.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 31/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=2
1
3
3
![Page 32: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/32.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 32/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=2
1
3
![Page 33: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/33.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 33/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=5
1
3
23
![Page 34: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/34.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 34/61
5
4 3
2
1
Algoritmos gulosos randomizados
i=5
1
3
3
![Page 35: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/35.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 35/61
5
4 3
2
1
Algoritmos gulosos randomizados
1
3
5i=4
3
![Page 36: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/36.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 36/61
5
4 3
2
1
Algoritmos gulosos randomizados
1
3
5i=4
3
![Page 37: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/37.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 37/61
5
4 3
2
1
Algoritmos gulosos randomizados
1
3
5i=5
3
2
comprimento=14
![Page 38: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/38.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 38/61
5
4 3
2
1
Algoritmos gulosos randomizados
1
3
5
3
2
comprimento=14
5
4 3
2
1
L=18
![Page 39: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/39.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 39/61
Algoritmos gulosos randomizados
• A qualidade da solução obtida depende daqualidade dos elementos na lista de candidatos.
• A diversidade das soluções encontradas dependeda cardinalidade da lista de candidatos.
• Casos extremos:– algoritmo guloso puro (o candidato único é o melhor)– solução gerada de forma completamente aleatória
(todos pendentes são candidatos)
![Page 40: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/40.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 40/61
Vizinhanças
• Conjunto F de soluções viáveis formado porsubconjuntos do conjunto suporte E que satisfazemdeterminadas condições.
• Representação de uma solução: indicar quaiselementos de E estão presentes e quais não estão.
• Problema da mochila:itens j=1,…,n, peso máximo b, lucros cj e pesos ajSolução representada por um vetor 0-1 com n posições: xj = 1 se o item j é selecionado, xj = 0 caso contrário
![Page 41: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/41.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 41/61
• Problema do caixeiro viajante: representar cadasolução pela ordem em que os vértices sãovisitados, como uma permutação circular dos n vértices (o primeiro vértice é arbitrário) - (a)bcd- (a)bdc- (a)cbd- (a)dcb- (a)cdb- (a)dbc
Vizinhanças
a
cd
b
![Page 42: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/42.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 42/61
Vizinhanças
• Problema: c(S*) = mínimo { c(S): S ∈ F ⊆ 2E }
• Vizinhança: um conceito que introduz a noção de proximidade entre as soluções em F
• Uma vizinhança é um mapeamento que associacada solução a um conjunto de soluções (vizinhos)N(S) = {S1,S2,…,Sk} soluções vizinhas de S
![Page 43: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/43.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 43/61
![Page 44: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/44.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 44/61
![Page 45: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/45.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 45/61
![Page 46: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/46.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 46/61
![Page 47: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/47.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 47/61
Vizinhanças
• Boas representações permitem representar de forma compacta o conjunto de soluções vizinhasde uma solução S qualquer e percorrer de modoeficiente o conjunto de soluções.
![Page 48: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/48.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 48/61
Vizinhanças
• Exemplo: problema da mochila
Solução S = (x1,…,xi,…,xn) xi ∈ {0,1}, i=1,…,n
N(S) = {(x1,…,1-xi,…,xn): i=1,..,n}
Vizinhos de (1,0,1,1) = {(0,0,1,1), (1,1,1,1), (1,0,0,1), (1,0,1,0)}
![Page 49: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/49.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 49/61
000
010 011
001
100
110 111
101
Vizinhanças
![Page 50: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/50.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 50/61
Vizinhanças
• Espaço de busca: grafo cujos vértices são as soluções, com arestas entre pares de vérticesassociados a soluções vizinhas.
• Caminho: seqüência de soluções, onde duassoluções consecutivas são vizinhas.
• Ótimo local: solução melhor ou tão boa quantoqualquer uma das soluções vizinhas
![Page 51: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/51.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 51/61
![Page 52: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/52.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 52/61
Busca local
• Algoritmos de busca local: estratégia de exploraçãodo espaço de busca
1. Partida: solução inicial obtida através de um método construtivo
2. Iteração: melhoria da solução corrente através de uma busca na sua vizinhança
3. Parada: primeiro ótimo local encontrado (nãoexiste solução vizinha aprimorante)
![Page 53: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/53.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 53/61
Busca local
• Melhoria iterativa: a cada iteração, selecionarqualquer (eventualmente a primeira) soluçãoaprimorante na vizinhança
• Descida mais rápida: a cada iteração, selecionar a melhor solução aprimorante na vizinhança
![Page 54: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/54.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 54/61
Busca local
• Questões fundamentais: – Definição da vizinhança– Estratégia de busca na vizinhança– Complexidade de cada iteração
• Proporcional ao tamanho da vizinhança• Eficiência depende da forma como é calculada a função
objetivo para cada solução vizinha: algoritmos eficientes sãocapazes de atualizar os valores quando a solução corrente se modifica, evitando cálculos repetitivos e desnecessários dafunção objetivo.
![Page 55: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/55.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 55/61
Busca local
• Vizinhança 2-opt para o problema do caixeiro viajante:
• Um vizinho para cada par de arestas: número de vizinhos é O(n2)
• Custo de cada vizinho pode ser avaliado em O(1): complexidade de cada iteração da busca local é O(n2)
![Page 56: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/56.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 56/61
5
4 3
2
11
3
23
5
L=14
5
4 3
2
1
L=18 (+)
5
4 3
2
1
L=17 (+)
5
4 3
2
1
L=18 (+)
5
4 3
2
1
L=19 (+)L=12 (-)
5
4 3
2
1melhor vizinho
![Page 57: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/57.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 57/61
Busca local
• Vizinhança 3-opt parao problema do caixeiro viajante
• Combinar diferentes vizinhanças no mesmo algoritmo de busca local
![Page 58: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/58.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 58/61
Busca local
• Um vizinho para cada tripla de arestas: número de vizinhos é O(n3)
• Custo de cada vizinho pode ser avaliado em O(1): complexidade de cada iteração da busca local é O(n3)
• Vizinhança (k+1)-opt inclui as soluções de k-opt.• Extensão até n-opt corresponderia a uma busca
exaustiva do espaço de soluções!• A complexidade de cada iteração aumenta com k,
enquanto o ganho possível diminui.
![Page 59: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/59.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 59/61
Busca local
• Diferentes aspectos do espaço de busca influenciamo desempenho da busca local
• Conexidade: deve existir um caminho entre qualquerpar de soluções no espaço de busca
• Distância entre duas soluções: número de soluçõesvisitadas ao longo do caminho mais curto entre elas
• Diâmetro: distância entre as duas soluções maisafastadas (diâmetros reduzidos)
![Page 60: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/60.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 60/61
Busca local
• Dificuldades:– Término no primeiro ótimo local encontrado– Sensível à solução de partida– Sensível à vizinhança escolhida– Sensível à estratégia de busca– Pode exigir um número exponencial de iterações!
• Como melhorar seu desempenho?
![Page 61: Problemas de otimização](https://reader030.vdocuments.pub/reader030/viewer/2022012411/616a67f311a7b741a35225dd/html5/thumbnails/61.jpg)
Outubro 2007 Metaheurísticas e AplicaçõesTransparência 61/61
Metaheurísticas
• Simulated annealing• Busca tabu• GRASP• VNS (Variable Neighborhood Search)• Algoritmos genéticos• Scatter search• Colônias de formigas