motivação para algoritmos em grafos
DESCRIPTION
Celso Carneiro Ribeiro. Motivação para algoritmos em grafos. 2004. Motivação. Problema: Alunos cursam disciplinas. Cada disciplina tem uma prova. Há um único horário em que são marcadas provas em cada dia. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/1.jpg)
Motivação para algoritmos em grafos
Celso Carneiro Ribeiro
2004
![Page 2: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/2.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
2
Motivação Problema:
• Alunos cursam disciplinas.• Cada disciplina tem uma prova.• Há um único horário em que são marcadas provas em
cada dia.• Provas de duas disciplinas diferentes não podem ser
marcadas para o mesmo dia se há alunos que cursam as duas disciplinas.
Montar um calendário de provas:• satisfazendo as restrições de conflito e …• … minimizando o número de dias necessários para
realizar todas as provas.
![Page 3: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/3.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
3
Motivação Modelagem por conjuntos:
A
B
C
D
E
F
![Page 4: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/4.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
4
Motivação Os alunos que fazem apenas uma
disciplina influem na modelagem? • Não!
O número de alunos que cursam simultaneamente um par de disciplinas influi na modelagem? • Não!• E se o objetivo fosse minimizar o número de
alunos “sacrificados”?• Neste caso, sim!
Este modelo pode ser simplificado?
![Page 5: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/5.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
5
Motivação Simplificação tratando-se apenas as
interseções:
A
B
C
D
E
F
A
B
C
D
E
F
Considerar apenas as interseções não-vazias.
![Page 6: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/6.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
6
Motivação Simplificação com a utilização de um grafo
de conflitos:
A
B
C
D
E
F
disciplinas → nós conflitos → arestas
A
B
C
D
E
F
A
B C F
E
D
![Page 7: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/7.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
7
Motivação Simplificação com a utilização de um grafo
de conflitos:
A
B
C
D
E
F A
B C F
E
D
disciplinas → nós conflitos → arestas
![Page 8: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/8.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
8
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 9: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/9.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
9
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 10: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/10.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
10
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 11: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/11.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
11
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 12: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/12.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
12
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 13: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/13.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
13
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 14: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/14.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
14
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 15: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/15.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
15
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 16: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/16.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
16
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 17: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/17.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
17
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
![Page 18: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/18.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
18
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
B C
E
D
F
A
Escolher por exemplo o par de disciplinas B e E para o primeiro dia e retirá-las do grafo.
![Page 19: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/19.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
19
Motivação Como montar um calendário satisfazendo as
restrições de conflito? Marcar para o primeiro dia qualquer
combinação de disciplinas sem conflitos: A, B, C, D, E, F, AE, AF, BD, BE, BF, CD, CE, DF, BDF
C
D
F
A
Escolher por exemplo o par de disciplinas B e E para o primeiro dia e retirá-las do grafo.
![Page 20: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/20.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
20
Motivação Marcar para o segundo dia qualquer
combinação de disciplinas sem conflitos: A, C, D, F, AF, CD, DF
C
D
F
A
![Page 21: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/21.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
21
Motivação Marcar para o segundo dia qualquer
combinação de disciplinas sem conflitos: A, C, D, F, AF, CD, DF
C
D
F
A
![Page 22: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/22.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
22
Motivação Marcar para o segundo dia qualquer
combinação de disciplinas sem conflitos: A, C, D, F, AF, CD, DF
C
D
F
A
![Page 23: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/23.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
23
Motivação Marcar para o segundo dia qualquer
combinação de disciplinas sem conflitos: A, C, D, F, AF, CD, DF
C
D
F
A
![Page 24: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/24.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
24
Motivação Marcar para o segundo dia qualquer
combinação de disciplinas sem conflitos: A, C, D, F, AF, CD, DF
C
D
F
A
Escolher por exemplo o par de disciplinas D e F para o segundo dia e retirá-las do grafo.
![Page 25: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/25.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
25
Motivação Marcar para o segundo dia qualquer
combinação de disciplinas sem conflitos: A, C, D, F, AF, CD, DF
C
A
Escolher por exemplo o par de disciplinas D e F para o segundo dia e retirá-las do grafo.
![Page 26: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/26.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
26
Motivação Marcar A ou C para o terceiro dia e a que
sobrar para o quarto dia:
C
A
![Page 27: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/27.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
27
Motivação A solução assim construída utiliza quatro
dias: B-E no primeiro dia, D-F no segundo dia, A no terceiro e C no quarto:
B C
E
D
F
A
Uma solução com quatro dias corresponde a colorir os nós do grafo de conflitos com quatro cores!
![Page 28: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/28.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
28
Motivação Esta solução utiliza o menor número possível de dias?
ou ... É possível montar uma solução com menos dias?
ou ... É possível colorir o grafo de conflitos com três cores?
B C
E
D
F
A
É impossível colorir o grafo de conflitos com menos de três cores! (por que?)
Sim!
![Page 29: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/29.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
29
Motivação Como montar um escalonamento com o menor
número possível de dias? Recordando: um subconjunto independente de
um grafo é um subconjunto de nós sem nenhuma aresta entre eles.
Logo, um conjunto de disciplinas que forma um subconjunto independente dos nós do grafo de conflitos pode ter suas provas marcadas para o mesmo dia.
Os nós deste subconjunto independente podem receber a mesma cor.
![Page 30: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/30.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
30
Motivação Quanto mais disciplinas forem marcadas para o
primeiro dia, menos disciplinas sobram para os dias seguintes e, portanto, serão necessários menos dias para realizar as provas das disciplinas restantes.
Então, marcar para o primeiro dia as provas das disciplinas correspondentes a um subconjunto independente máximo.
Retirar os nós correspondentes a estas disciplinas do grafo de conflitos.
Continuar procedendo da mesma maneira, até as provas de todas as disciplinas terem sido marcadas.
![Page 31: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/31.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
31
Motivação Subconjunto independente máximo no
grafo de conflito?BDF
B C
E
D
F
A
![Page 32: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/32.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
32
Motivação Subconjunto independente máximo no grafo de conflito?
BDF
B C
E
D
F
A
Eliminar os nós B, D e F do grafo de conflitos.
![Page 33: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/33.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
33
Motivação Subconjunto independente máximo no grafo de conflito?
BDF
C
EA
Eliminar os nós B, D e F do grafo de conflitos.
![Page 34: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/34.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
34
Motivação Subconjunto independente máximo no grafo de conflito?
CE
C
EA
![Page 35: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/35.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
35
Motivação Subconjunto independente máximo no grafo de conflito?
CE
C
EA
Eliminar os nós C e E do grafo de conflitos.
![Page 36: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/36.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
36
Motivação Subconjunto independente máximo no grafo de conflito?
CE
A
Eliminar os nós C e E do grafo de conflitos.
![Page 37: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/37.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
37
Motivação Subconjunto independente máximo no grafo de conflito?
A
A
![Page 38: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/38.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
38
Motivação Subconjunto independente máximo no grafo de conflito?
A
A
Eliminar o nó A do grafo de conflitos. Solução completa (todos nós coloridos).
![Page 39: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/39.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
39
Motivação A solução encontrada usa o número mínimo de
cores para colorir o grafo, logo o número de dias para aplicar todas as provas é mínimo:
B C
E
D
F
A
Foi então proposto um algoritmo para colorir um grafo com o menor número de cores.
![Page 40: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/40.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
40
Motivação O passo básico deste algoritmo corresponde a
determinar um subconjunto independente máximo. Entretanto, este subproblema a ser resolvido a cada
iteração já é um problema NP-completo por si só, ou seja, cada subproblema é computacionalmente difícil.
Além deste procedimento ser computacionalmente difícil, é possível garantir que este algoritmo sempre encontra a solução ótima com o número mínimo de cores?• Ou demonstrar que sim, ou dar um contra-exemplo.
![Page 41: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/41.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
41
Motivação Considerando-se o grafo abaixo, qual
solução seria encontrada pelo algoritmo?
DC E F
G
BA
LK
H JII
E
H
D
Os oito nós externos formam um subconjunto independente de cardinalidade máxima e podem todos ser coloridos com a mesma cor.
![Page 42: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/42.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
42
Motivação Considerando-se o grafo abaixo, qual
solução seria encontrada pelo algoritmo?Os oito nós externos formam um subconjunto independente de cardinalidade máxima e podem todos ser coloridos com a mesma cor.
DC E F
G
BA
LK
H JII
E
H
D
![Page 43: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/43.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
43
Motivação Considerando-se o grafo abaixo, qual
solução seria encontrada pelo algoritmo?
DC E F
G
BA
LK
H JII
E
H
DEsta solução é ótima, ou é possível colorir este grafo com menos cores?
Sim: o grafo pode ser colorido com apenas duas cores.
![Page 44: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/44.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
44
Motivação Considerando-se o grafo abaixo, qual
solução seria encontrada pelo algoritmo?
Esta solução é ótima, ou é possível colorir este grafo com menos cores?
DC E F
G
BA
LK
H JI
Sim: o grafo pode ser colorido com apenas duas cores
![Page 45: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/45.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
45
Motivação O algoritmo proposto nem sempre encontra a
solução ótima (isto é, uma solução com o número mínimo de cores).
Este algoritmo é então um algoritmo aproximado ou uma heurística para o problema de coloração de grafos.
Algoritmos exatos vs. algoritmos aproximados:• qualidade da solução• tempo de processamento
![Page 46: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/46.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
46
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).
Conjunto discreto de soluções (vetores de variáveis 0-1, caminhos, ciclos, …) com um número finito de elementos.
Construção de uma solução: selecionar seqüencialmente elementos de E, eventualmente descartando alguns já selecionados, de tal forma que ao final se obtenha uma solução viável, i.e. pertencente a F.
![Page 47: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/47.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
47
Algoritmos construtivos Exemplo: problema da mochila
E: conjunto de itensF: subconjuntos de E que satisfazem à restrição eS ae b
c(S) = eS ce ce: lucro do item eae: peso do item eb: capacidade da mochila
![Page 48: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/48.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
48
Algoritmos construtivos Exemplo: problema do caixeiro viajante
E: conjunto de arestas F: subconjuntos de arestas que formam um
circuito hamiltoniano (isto é, que visita cada cidade exatamente uma única vez)
c(S) = eS ce ce: custo (comprimento) da aresta e = (i,j)
![Page 49: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/49.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
49
Algoritmos construtivos
![Page 50: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/50.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
50
Problema do caixeiro viajante
5
4 3
2
11
275
34
32
3
5
Matrix de distâncias cijConjunto de nós N|N|=5
![Page 51: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/51.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
51
Algoritmo do vizinho mais próximo:Escolher o nó inicial i e fazer N N-{i}.Enquanto N fazer:
Obter jN tal que ci,j = minkN {ci,k}.N N-{j}i j
Fim-enquanto
Problema do caixeiro viajante
![Page 52: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/52.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
52
5
4 3
2
11
275
34
32
3
5
Problema do caixeiro viajante
![Page 53: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/53.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
53
5
4 3
2
1i=1
Problema do caixeiro viajante
![Page 54: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/54.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
54
5
4 3
2
1i=1
1
27
5
Problema do caixeiro viajante
![Page 55: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/55.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
55
5
4 3
2
1i=1
1
Problema do caixeiro viajante
![Page 56: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/56.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
56
5
4 3
2
1
i=21
34
3
Problema do caixeiro viajante
![Page 57: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/57.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
57
5
4 3
2
1
i=21
3
Problema do caixeiro viajante
![Page 58: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/58.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
58
5
4 3
2
1
i=51
3
23
Problema do caixeiro viajante
![Page 59: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/59.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
59
5
4 3
2
1
i=51
3
2
Problema do caixeiro viajante
![Page 60: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/60.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
60
5
4 3
2
1
i=3
13
2
5
Problema do caixeiro viajante
![Page 61: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/61.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
61
5
4 3
2
1
i=3
13
2
5
Problema do caixeiro viajante
![Page 62: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/62.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
62
5
4 3
2
1
i=4
1
3
2
57
comprimento=18
Problema do caixeiro viajante
![Page 63: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/63.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
63
4
3
2
1
2 2
3 3
1
Algoritmos construtivos simples podem falhar mesmo para casos muito simples:
Problema do caixeiro viajante
![Page 64: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/64.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
64
Problema do caixeiro viajante Podem encontrar soluções arbitrariamente
ruins:
5
4 3
2
1M
221
22
12
1
1
Heurística (1-5-4-3-2-1): M+4Ótimo (1-5-2-3-4-1): 7
A solução ótima é encontrada se o algoritmo começa do nó 5.
![Page 65: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/65.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
65
Problema do caixeiro viajante Extensões e melhorias simples:
• Repetir a aplicação do algoritmo a partir de cada nó do grafo e selecionar a melhor solução obtida. Melhores soluções, mas tempo de processamento
multiplicado por n. • A cada iteração selecionar a aresta mais curta a partir
de alguma das extremidades em aberto do circuito, e não apenas a partir da última extremidade inserida: solução de comprimento 15 (tempos multiplicados por dois).
• Critérios mais elaborados para (1) seleção do novo nó incorporado ao circuito a cada iteração e para (2) seleção da posição onde ele entra no circuito: algoritmo baseado no crescimento de um circuito até completá-lo.
![Page 66: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/66.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
66
Escolha do novo nó a ser incorporado ao circuito a cada iteração: • Selecionar o nó k fora do circuito parcial
corrente, cuja aresta de menor comprimento que o liga a este circuito parcial corrente é mínima algoritmo de inserção mais próxima
• Selecionar o nó k fora do circuito parcial corrente, cuja aresta de menor comprimento que o liga a este circuito parcial corrente é máxima algoritmo de inserção mais afastada
Problema do caixeiro viajante
![Page 67: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/67.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
67
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais próxima
Problema do caixeiro viajante
5
4 3
2
1 Seleção do nó:
![Page 68: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/68.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
68
7
4
5
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais próxima
Problema do caixeiro viajante
5
4 3
2
1 Seleção do nó:• Distância mínima do nó 4: 4
![Page 69: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/69.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
69
53
2
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais próxima
Problema do caixeiro viajante
Seleção do nó:• Distância mínima do nó 4: 4• Distância mínima do nó 5: 25
4 3
2
1
![Page 70: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/70.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
70
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais próxima
Problema do caixeiro viajante
Seleção do nó:• Distância mínima do nó 4: 4• Distância mínima do nó 5: 2• Nó selecionado: 5
5
4 3
2
1
![Page 71: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/71.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
71
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais afastada
Problema do caixeiro viajante
5
4 3
2
1 Seleção do nó:
![Page 72: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/72.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
72
7
4
5
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais afastada
Problema do caixeiro viajante
5
4 3
2
1 Seleção do nó:• Distância mínima do nó 4: 4
![Page 73: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/73.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
73
53
2
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais afastada
Problema do caixeiro viajante
Seleção do nó:• Distância mínima do nó 4: 4• Distância mínima do nó 5: 25
4 3
2
1
![Page 74: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/74.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
74
Escolha do novo nó a ser incorporado ao circuito a cada iteração pela inserção mais afastada
Problema do caixeiro viajante
Seleção do nó:• Distância mínima do nó 4: 4• Distância mínima do nó 5: 2• Nó selecionado: 4
5
4 3
2
1
![Page 75: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/75.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
75
Escolha da posição onde o nó selecionado entra no circuito: • Suponha a entrada do nó k entre o nó i e o nó j.• Devem ser inseridas as areastas (i,k) e (j,k) no
circuito parcial corrente, substituindo a aresta (i,j).• A variação no comprimento do circuito parcial
corrente é dada por ij(k) = cik + cjk – cij.
Problema do caixeiro viajante
k
j
i
![Page 76: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/76.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
76
Escolha da posição onde o nó selecionado entra no circuito: • Suponha a entrada do nó k entre o nó i e o nó j.• Devem ser inseridas as areastas (i,k) e (j,k) no
circuito parcial corrente, substituindo a aresta (i,j).• A variação no comprimento do circuito parcial
corrente é dada por ij(k) = cik + cjk – cij.
Problema do caixeiro viajante
k
cij
j
icik
cjk
![Page 77: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/77.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
77
Escolha da posição onde o nó selecionado entra no circuito: • Suponha a entrada do nó k entre o nó i e o nó j.• Devem ser inseridas as areastas (i,k) e (j,k) no
circuito parcial corrente, substituindo a aresta (i,j).• A variação no comprimento do circuito parcial
corrente é dada por ij(k) = cik + cjk – cij.
Problema do caixeiro viajante
k
cij
j
icik
cjk
![Page 78: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/78.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
78
Escolha da posição onde o nó selecionado entra no circuito parcial corrente
Exemplo: nó 4 escolhido para inserção
Problema do caixeiro viajante
5
4 3
2
11
27
43
5
12(4) = 7+4-1 = 1013(4) = 7+5-2 = 1023(4) = 5+4-3 = 6
![Page 79: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/79.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
79
Escolha da posição onde o nó selecionado entra no circuito parcial corrente
Exemplo: nó 4 escolhido para inserção
Inserção mais próxima: entre os nós 2 e 3
Problema do caixeiro viajante
5
4 3
2
11
27
43
5
12(4) = 7+4-1 = 1013(4) = 7+5-2 = 1023(4) = 5+4-3 = 6
![Page 80: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/80.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
80
Escolha da posição onde o nó selecionado entra no circuito parcial corrente
Exemplo: nó 4 escolhido para inserção
Inserção mais próxima: entre os nós 2 e 3
Problema do caixeiro viajante
5
4 3
2
11
2
4
5
12(4) = 7+4-1 = 1013(4) = 7+5-2 = 1023(4) = 5+4-3 = 6
![Page 81: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/81.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
81
Algoritmo de inserção mais próxima: Escolher o nó inicial i, inicializar um circuito
apenas com o nó i e fazer N N-{i}.Enquanto N fazer:
Encontrar o vértice k fora do circuito corrente cuja aresta de menor comprimento que o liga a ele é mínima.
Encontrar o par de arestas (i,k) e (j,k) que ligam o vértice k ao ciclo minimizando ij(k) = cik + cjk – cij.
Inserir as arestas (i,k) e (j,k) e retirar a aresta (i,j).Fazer N N-{k}.
Fim-enquanto
Problema do caixeiro viajante
![Page 82: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/82.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
82
Problema do caixeiro viajante
5
4 3
2
1
4
2
12
3
![Page 83: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/83.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
83
Problema do caixeiro viajante
5
4 3
2
11
2
3
32
12(5) = 5+3-1 = 723(5) = 2+3-3 = 213(5) = 2+5-2 = 5
![Page 84: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/84.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
84
Problema do caixeiro viajante
5
4 3
2
11
232
![Page 85: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/85.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
85
Problema do caixeiro viajante
5
4 3
2
11
232
12(4) = 7+4-1 = 1013(4) = 7+5-2 = 1035(4) = 5+3-2 = 625(4) = 4+3-3 = 4
![Page 86: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/86.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
86
Problema do caixeiro viajante
5
4 3
2
11
232
12(4) = 7+4-1 = 1013(4) = 7+5-2 = 1035(4) = 5+3-2 = 625(4) = 4+3-3 = 4
3
4
![Page 87: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/87.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
87
Problema do caixeiro viajante
5
4 3
2
11
2
2
3
4
comprimento = 12
![Page 88: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/88.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
88
Problema do caixeiro viajante Comparação: na prática, o método de inserção
mais afastada alcança melhores resultados do que o de inserção mais próxima.
Melhoria simples: método de inserção mais barata• Por que separar em dois passos (1) a seleção do novo
nó incorporado ao circuito a cada iteração e (2) a seleção da posição onde ele entra no circuito?
• Fazer a escolha da melhor combinação em conjunto.• Melhores soluções, mas tempos de processamento
maiores (cerca de n vezes maiores).
![Page 89: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/89.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
89
Algoritmo de inserção mais barata: Escolher o nó inicial i, inicializar um circuito
apenas com o nó i e fazer N N-{i}.Enquanto N fazer:
Encontrar o vértice k fora do circuito corrente e o par de arestas (i,k) e (j,k) que ligam o vértice k ao ciclo minimizando ij(k) = cik + cjk – cij.
Inserir as arestas (i,k) e (j,k) e retirar a aresta (i,j).Fazer N N-{k}.
Fim-enquanto
Problema do caixeiro viajante
![Page 90: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/90.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
90
Problema do caixeiro viajante Outra idéia diferente: considerar a fusão
de subcircuitos Considerar dois subcircuitos passando
pelo nó 1 e pelos nós i e j. Conectá-los diretamente através
da aresta (i,j).
i j
1
![Page 91: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/91.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
91
Problema do caixeiro viajante Outra idéia diferente: considerar a fusão
de subcircuitos Considerar dois subcircuitos passando
pelo nó 1 e pelos nós i e j. Conectá-los diretamente através
da aresta (i,j). Remover as arestas (1,i) e (1,j).
i j
1
![Page 92: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/92.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
92
Problema do caixeiro viajante Outra idéia diferente: considerar a fusão de
subcircuitos Considerar dois subcircuitos passando pelo
nó 1 e pelos nós i e j. Conectá-los diretamente através
da aresta (i,j). Remover as arestas (1,i) e (1,j). Economia realizada:
sij = c1i + c1j – cij i j
1
![Page 93: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/93.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
93
Problema do caixeiro viajante Algoritmo das economias: Escolher um nó inicial i (e.g., i = 1).Construir subcircuitos de comprimento 2
envolvendo o nó inicial (e.g., i = 1) e cada um dos demais nós de N.
Calcular as economias sij = c1i + c1j - cij obtidas pela fusão dos subcircuitos contendo i e j e ordená-las em ordem decrescente.
Percorrer a lista de economias e fundir os subcircuitos possíveis: a cada iteração, maximizar a distância economizada sobre a solução anterior, combinando-se dois subcircuitos e substituindo-os por uma nova aresta.
![Page 94: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/94.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
94
Problema do caixeiro viajante
5
4 3
2
1
s45 = 9s35 = 5s34 = 4s24 = 4s25 = 3s23 = 0
![Page 95: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/95.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
95
Problema do caixeiro viajante
5
4 3
2
1
s45 = 9s35 = 5s34 = 4s24 = 4s25 = 3s23 = 0
![Page 96: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/96.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
96
Problema do caixeiro viajante
5
4 3
2
1
s45 = 9s35 = 5s34 = 4s24 = 4s25 = 3s23 = 0
![Page 97: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/97.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
97
Problema do caixeiro viajante
5
4 3
2
1
s45 = 9s35 = 5s34 = 4s24 = 4s25 = 3s23 = 0
![Page 98: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/98.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
98
Problema do caixeiro viajante
5
4 3
2
1
s45 = 9s35 = 5s34 = 4s24 = 4s25 = 3s23 = 0 comprimento = 12
![Page 99: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/99.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
99
Problema de Steiner em grafos Grafo não-orientado G=(V,E)
V: vérticesE: arestasT: vértices terminais (obrigatórios)ce: peso (positivo) da aresta e E
Problema: conectar os nós terminais com custo (peso) mínimo, eventualmente utilizando os demais nós como passagem.
![Page 100: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/100.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
100
Problema de Steiner em grafos Vértices de Steiner: vértices opcionais que
fazem parte da solução ótima Aplicações: projeto de redes de
computadores (conectar um conjunto de clientes através de concentradores, cujos locais devem ser determinados), redes de telecomunicações, problema da filogenia em biologia, etc.
![Page 101: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/101.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
101
Problema de Steiner em grafos
a
dc
b1
2
5
43
2
1
1
1
1
1
2
2
2
2 2
1
![Page 102: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/102.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
102
Problema de Steiner em grafos
a
dc
b1
2
5
43
2
1
1
1
1
1
2
2
2
2 2
1
Mínimo: 6
![Page 103: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/103.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
103
Heurística da rede de distâncias:
Calcular os caminhos mais curtos entre cada par de terminais do grafo.
Criar a rede de distâncias formada pelos nós obrigatórios e pelas arestas correspondentes aos caminhos mais curtos.
Obter a árvore geradora de peso mínimo dos nós da rede de distâncias.
Expandir as arestas da árvore geradora.
Problema de Steiner em grafos
![Page 104: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/104.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
104
Problema de Steiner em grafos
a
dc
b1
2
5
43
2
1
1
1
1
1
2
2
2
2 2
1Cab: a,1,b (2)Cac: a,2,c (4)Cad: a,1,3,5,d (4)Cbc: b,1,3,5,c (4) Cbd: b,4,d (4)Ccd: c,5,d (2)
![Page 105: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/105.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
105
Problema de Steiner em grafos
a
dc
b2
2
4 4
44
Cab: a,1,b (2)Cac: a,2,c (4)Cad: a,1,3,5,d (4)Cbc: b,1,3,5,c (4) Cbd: b,4,d (4)Ccd: c,5,d (2)
![Page 106: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/106.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
106
Problema de Steiner em grafos
a
dc
b
2
4 4
44
Cab: a,1,b (2)Cac: a,2,c (4)Cad: a,1,3,5,d (4)Cbc: b,1,3,5,c (4) Cbd: b,4,d (4)Ccd: c,5,d (2)
2
![Page 107: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/107.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
107
Problema de Steiner em grafos
a
dc
b1
2
5
43
2
1
1
1
1
1
2
2
2
2 2
1Cab: a,1,b (2)Cac: a,2,c (4)Cad: a,1,3,5,d (4)Cbc: b,1,3,5,c (4) Cbd: b,4,d (4)Ccd: c,5,d (2)
Peso: 8
![Page 108: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/108.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
108
Problema de Steiner em grafos Heurística dos caminhos mais curtos:Calcular o caminho mais curto de entre cada
par de terminais.Sejam s um nó terminal, Solução {s}, S
{s}, k 0.Enquanto S ≠ T fazer:
Obter o terminal s mais próximo de Solução e o caminho correspondente C.
Fazer S S {s} e Solução Solução C.Fim-enquanto
![Page 109: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/109.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
109
S={a,b,d,c}Solução={a,1,b,3,5,d,c}
Problema de Steiner em grafos
a
dc
b1
2
5
43
2
1
1
1
1
1
2
2
2
2 2
1S={a}Solução={a}
S={a,b}Solução={a,1,b}
S={a,b,d}Solução={a,1,b,3,5,d}
Peso: 6
![Page 110: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/110.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
110
Algoritmos gulosos Algoritmos gulosos:
A construção de uma solução gulosa consiste em selecionar seqüencialmente o elemento de E que minimiza o incremento no custo da solução parcial mantendo sua viabilidade, terminando quando se obtém uma solução viável (problema de minimização).
O incremento no custo da solução parcial é chamado de função gulosa.
![Page 111: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/111.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
111
Algoritmos gulosos Cada elemento que entra na solução, nela
permanece até o final. Algoritmo guloso para o problema da mochila:
• Ordenar os itens em ordem decrescente da razão cj/aj.• Selecionar os itens que cabem na mochila segundo
esta ordem. Algoritmo do vizinho mais próximo para o PCV Cuidado: nem sempre encontram a solução
ótima exata, são portanto heurísticas para estes problemas!
![Page 112: Motivação para algoritmos em grafos](https://reader035.vdocuments.site/reader035/viewer/2022070503/56815677550346895dc42b10/html5/thumbnails/112.jpg)
Abril-agosto 2004 Modelos e métodos de otimização
112
Exercício – Avaliação Descrição de instâncias e soluções ótimas
para o problema do caixeiro viajante: http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ Estudo comparativo de heurísticas para o
problema do caixeiro viajante: http://www.research.att.com/~dsj/chtsp/ Em particular, página com gráficos comparativos:http://www.research.att.com/~dsj/chtsp/testform2.html Referência: Lawler, Lenstra, Rinnooy Kan e
Shmoys (eds.), “The traveling salesman problem”, 1985 (entre outras)