• Nenhum resultado encontrado

Um programa linear mais poderoso

No documento Curso de Otimização Combinatória (páginas 132-135)

Voltamos a considerar o problema do ep mínimo em grafos arbitrários. Uma solução ótima x do programa linear (1) pode não ser o vetor característico de um emparelha- mento perfeito. Precisamos de um pl mais “poderoso”, com restrições que “cortem fora” essas soluções.

EXEMPLO 6: Considere a instância do problema do ep mínimo descrita a seguir. Uma solução ótima do pl (1) não define um ep.

a b c d e f a − 1 1 − − 1 b 1 − 1 − 1 − c 1 1 − 1 − − d − − 1 − 1 1 e − 1 − 1 − 1 f 1 − − 1 1 − ab bc ca de ef f d be cd af c +1 +2 +3 +4 +5 +6 +7 +8 +9

As tabelas a seguir indicam uma solução viável x do pl (1) e uma solução viável y do pl dual (2), bem como o custo reduzido ¯c:

ab bc ca de ef f d be cd af x 0.5 0.5 0.5 0.5 0.5 0.5 0 0 0 ¯ c 0 0 0 0 0 0 5.5 3.5 4.5 y a +1.0 b 0.0 c +2.0 d +2.5 e +1.5 f +3.5

Confira a viabilidade das soluções e as condições de folgas complementares! Verifique também que cx = 10.5 =P yv. Portanto, x e y são soluções ótimas dos respectivos pl’s. Entretanto, é evidente

Dizemos que um corte D num grafo G tem margem ímpar (= is an odd cut) se D = ∂(S) e |S| é ímpar. (Note que a paridade de |D| é irrelevante.) Denotaremos por C o conjunto de todos os cortes de margem ímpar do grafo. Se D ∈ C e x é o vetor característico de um emparelhamento perfeito então

x(D) ≥ 1. (5)

Portanto, podemos acrescentar essas desigualdades ao pl (1). O resultado é o se- guinte pl: minimize cx sob as restrições x(∂(v)) = 1 para cada v em V x(D) ≥ 1 para cada D em C xe ≥ 0 para cada e em E. (6)

As restrições “x(D) ≥ 1” são conhecidas como desigualdades florais (= blossom ine- qualities). O vetor característico x de qualquer ep é solução viável de (1). (Na direção contrária, é preciso exigir que x seja inteiro.)

A ideia de acrescentar restrições lineares a um programa linear para eliminar soluções fracionárias indesejadas é muito efetiva e mostrou-se útil em muitos problemas de otimização combinatória além do problema que estamos estudando.

O dual de (6) tem uma variável yv para cada nó v e uma variável YD para cada D em C

e consiste em encontrar um par (y, Y ) que

maximize P (yv : v ∈ V ) +P (YD : D ∈ C)

sob as restrições

yu+ yv+P(YD : uv ∈ D ∈ C) ≤ cuv para cada uv em E

YD ≥ 0 para cada D em C.

(7)

Dado um par (y, Y ), o custo reduzido de uma aresta uv é o número ¯cuv := cuv − yu−

yv −P(YD : uv ∈ D ∈ C). Portanto, (y, Y ) é viável em (7) se e somente se ¯ce ≥ 0 para

cada e em E e YD ≥ 0 para cada D em C.

As condiçoes de folgas complementares para o par dual de programas lineares são as seguintes:

para cada e em E, xe > 0implica ¯ce= 0,

para cada D em C, YD > 0implica x(D) = 1.

Se x é o vetor característico de um ep M , essas condições podem ser escritas assim: para cada e em E, e ∈ M implica ¯ce = 0,

para cada D em C, YD > 0implica |M ∩ D| = 1.

As desigualdades florais. As desigualdade florais do programa linear (6) podem ser escritas assim:

As restrições que têm |S| = 1 podem ser eliminadas, pois já estão implícitas nas res- trições da forma x(∂(v)) = 1. Além disso, para cada partição (S, S) de V , podemos eliminar a restrição correspondente a um dos dois blocos da partição, uma vez que ∂(S) = ∂(S). Isso pode ser organizado da seguinte maneira. Escolha um nó qualquer r e seja S o conjunto de todos os subconjuntos S de V r {r} tais que |S| é ímpar e |S| ≥ 3. Com isso, as desigualdade florais do pl (6) podem ser escritas assim:

x(∂(S)) ≥ 1 para cada S em S (8)

e o vetor dual Y passa a ser indexado por S.

Feita essa alteração, pode ser interessante submeter o pl a um software de programação linear. Como S é muito grande, o seguinte truque prático pode ser útil: use apenas uma pequena parte S0 de S contendo os conjuntos S mais “promissores”; se isso não

produzir o vetor característico de um ep, acrescente a S0 mais alguns elementos de S que pareçam promissores e repita o processo. O exame do exemplo 6, por exemplo, sugere que o elemento mais promissor de S é {a, b, c}; o exemplo 7 confirma essa suspeita.

EXEMPLO7: Considere novamente a instância do problema do ep mínimo do exemplo 6, desta vez do ponto de vista dos pl’s (6) e (7).

a b c d e f a − 1 1 − − 1 b 1 − 1 − 1 − c 1 1 − 1 − − d − − 1 − 1 1 e − 1 − 1 − 1 f 1 − − 1 1 − ab bc ca de ef f d be cd af c +1 +2 +3 +4 +5 +6 +7 +8 +9

Uma solução viável x do pl (6) e uma solução viável (y, Y ) do pl dual (7) estão indicadas abaixo, juntamente com o custo reduzido ¯c. O vetor dual Y tem uma única componente não nula: YS > 0

apenas quando S = {a, b, c}.

ab bc ca de ef f d be cd af x 1 0 0 0 1 0 0 1 0 ¯ c 0 0 0 +1 0 +2 0 0 0 y a +1 b 0 c +2 d +1 e +2 f +3 Y abc 5

Confira a viabilidade das soluções e a validade das condições de folgas complementares! Verifique também que cx = 14 =P yv+P YS. Portanto, x e (y, Y ) são soluções ótimas dos respectivos pl’s.

Segue daí que M = {ab, cd, ef } é um ep mínimo.

O número de desigualdades florais é muito grande (na ordem do número de subcon- juntos de V (G)). Portanto, o número de componentes do vetor Y também é muito grande. Verifica-se, entretanto, que a maior parte das componentes de Y é nula. Mais precisamente, numa solução ótima (y, Y ) de (7), os conjuntos S para os quais YS > 0

formam uma coleção laminar — cada dois desses conjuntos são disjuntos ou estão incluídos um no outro — e portanto há menos que 2n deles.

Exercícios

8.21 Seja M um ep em um grafo G. Seja D um corte de margem ímpar. Mostre que M ∩ D não é vazio. 8.22 Mostre que o pl (7) é o dual do pl (6). Verifique que as condições de folgas complementares dadas

no texto acima.

8.23 Suponha que G é um grafo com número ímpar de nós (e portanto não tem ep). Mostre que o correspondente pl (6) é inviável e o pl (7) é ilimitado. Repita o exercício supondo que G tem duas componentes conexas, cada uma com número ímpar de nós.

8.24 Mostre que um grafo G tem um ep se e somente se o pl (6) é viável. (Sugestão: Suponha que G não tem ep e mostre que o pl dual (7) é ilimitado.) (Observação: Isso prova a primeira parte do teorema8.3.)[CCPS 5.28]

8.25 Laminaridade. Uma coleção L de subconjuntos de V é laminar se, para cada par (L1, L2) de

elementos da coleção, tem-se L1 ∩ L2 = ∅ou L1 ⊆ L2 ou L1 ⊇ L2. Mostre que |L| ≤ 2|V |.

8.26 Escreva explicitamente as desigualdades florais do exemplo 7.

8.27 Encontre um ep mínimo no grafo da figura. Encontre também uma solução ótima do pl (7). (Dica: Tire as desigualdades florais de (7) e use um software de programação linear para resolver o pl. Examine o subgrafo induzido pelas arestas e que têm 0 < xe < 1. Isso sugere as desigualdes

florais mais promissoras. Acrescente essas desigualdes ao pl e resolva-o novamente. Repita o processo.)[CCPS 5.27]

8.28 Considere o pl (7) com a alteração decorrente de (8). Suponha que (y, Y ) é uma solução viável do pl. Para cada S em S e cada v ∈ S, faça yv ← yv+ YS; depois, para cada S, faça YS ← 0. Essa

operação preserva viabilidade de (y, Y )?

No documento Curso de Otimização Combinatória (páginas 132-135)