Sei sulla pagina 1di 4

Gabriel Coutinho DCC035 - Pesquisa Operacional - 2018.

Lista 7
Exercı́cio 1. Um conjunto independente em um grafo G = (V, E) é um subconjunto S dos
vértices tal que não há qualquer aresta do grafo entre dois vértices pertencentes a S. Nesta
questão, suponha que G é um grafo com n vértices e m arestas, em todo vértice de G possua
pelo menos um vizinho.
(a) Formule o problema de encontrar um conjunto independente de maior tamanho como
uma programação inteira (PI). Note que trata-se de um problema do tipo empacota-
mento.

Seja N a matriz de incidência do grafo. A formulação a seguir procura um vetor x de 0s


e 1s, indexado por vértices. Queremos o maior número de vértices, e as restrições dizem
que, para cada aresta, pegaremos no máximo um vértice incidente a ela.

max 1T x
sujeita a N T x ≤ 1
x≥0
x inteiro.

(b) Considere sua relaxação linear (P), formule a sua dual (D), e encontre um significado
combinatório para a solução da dual com restrições de integralidade (DI).

Na dual, teremos:

min 1T y
sujeita a N y ≥ 1
y ≥ 0.

Se, ademais, tivermos y ∈ Zm , então y será um vetor de 0s e 1s que escolherá arestas


de modo que todo vértice seja incidente a pelo menos uma delas. Ou seja, será uma
cobertura dos vértices por arestas.

(c) Encontre um grafo G onde o ótimo de (P) seja maior que o ótimo de (PI).

No grafo abaixo, o ótimo da PI é igual a 1. Mas há uma solução da PL de valor objetivo
3/2, obtida com o vetor x = (1/2 1/2 1/2).

(d) Encontre um grafo G onde o ótimo de (D) seja menor que o ótimo de (DI).

1
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2018.1

O mesmo do desenho acima. O ótimo de DI é 2, já que ao menos duas arestas precisam
ser escolhidas. Mas o ótimo de D é 3/2, com o vetor y = (1/2 1/2 1/2).

(e) Mostre que o ótimo de (P) é sempre maior ou igual a n/2.

O vetor constante que atribui 1/2 para todos os vértices é sempre viável e tem valor
objetivo n/2.

(f) Explique por que o ótimo de (DI) é sempre maior ou igual que n/2.

Para cada vértice precisamos pegar ao menos uma aresta, e cada aresta pode cobrir no
máximo 2 vértices. Portanto é preciso ao menos n/2 arestas.

(g) Encontre um grafo conexo com 8 vértices em que o ótimo de (PI) seja igual ao ótimo de
(DI) e seja igual a 4.

(h) Mostre que o ótimo de (DI) é sempre menor ou igual m. Mostre que o ótimo de (D) é
sempre menor ou igual a n.

A primeira frase é óbvia: se você pegar todas as arestas, todos os vértices estarão
cobertos. A segunda é quase tão óbvia quanto, e na verdade ela vale para DI também:
basta escolher, para cada vértice, uma aresta que seja incidente a ele.

Exercı́cio 2. Considere a seguinte instância do algoritmo primal-dual de cobertura. Deter-


mine os novos valores de x e y, supondo que o ponto descoberto escolhido para a instância
seguinte foi o ponto g.
Os pontos escolhidos até agora foram p, e e b, e os conjuntos ativos são os S1 , S9 e S12 .

2
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2018.1

S1 S2 S3 S4 2
S9 S10
4
a b c d S5 5
6
4
e f g h S6
3
c=
2
i j k l S7 5
6
4
m n o p S8
3
2
S11 S12

yT = 1 0 0 0 0 0 0 0 1 0 0 1
Instância atual xT = 0 4 0 0 2 0 0 0 0 0 0 0 0 0 0 2

Instância seguinte yT = 1 1 1
(complete tudo) xT = 4 2 2

S1 S2 S3 S4 2
S9 S10
4
a b c d S5 5
6
4
e f g h S6
3
c=
2
i j k l S7 5
6
4
m n o p S8
3
2
S11 S12

yT = 1 0 0 0 0 0 0 0 1 0 0 1
Instância atual T
x = 0 4 0 0 2 0 0 0 0 0 0 0 0 0 0 2
T
Instância seguinte y = 1 0 0 0 0 1 0 0 1 0 0 1
(complete tudo) xT = 0 4 0 0 2 0 1 0 0 0 0 0 0 0 0 2

Exercı́cio 3. Aplique o algoritmo primal-dual de cobertura e encontre a cobertura mı́nima


por conjuntos do exemplo abaixo. Exiba cada instância da solução inteira para a cobertura

3
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2018.1

e da solução para a dual.



min 2 3 4 3 4 y
 
1 1 0 1 0
0 1 1 0 1
 
1 1 1 0 0
 
y ≥ 1
sujeita a 0 0 1 1 1

1 0 0 1 1
 
1 1 0 1 0
1 0 1 0 1
y≥0
y ∈ Z.
 
(1) S = ∅ e x = 0. (2) x = 2 0 ... 0 e S = {1}. (3) x = 2 1 0 ... 0 e
S = {1, 2}. (4) x = 2 1 0 1 0 0 0 e S = {1, 2, 4}.

Exercı́cio 4. Construa um grafo em que o algoritmo guloso visto em sala para o problema
de cobertura por conjuntos não encontra uma cobertura por vértices de tamanho mı́nimo.

A cobertura de arestas por vértices ótimas tem tamanho três, pegando os três vértices de
grau 2. Mas o algoritmo guloso primeiro escolhe o de grau 3, e depois precisa escolher ao
menos mais três vértices. Ou seja, é uma cobertura de tamanho 4.

Potrebbero piacerti anche