• Nenhum resultado encontrado

Poliedros limitados

No documento Algoritmos de Programação Linear (páginas 191-196)

O poliedro X(A, b) é limitado se existe um número ψ tal que x[j] ≤ ψ para todo x em X(A, b) e todo j . O conceito é geometricamente intuitivo, mas um tanto abstrato, uma vez que não está claro, de imediato, como verificar algorit- micamente se um dado poliedro é ou não limitado. Também não está claro, de imediato, como certificar o caráter limitado ou ilimitado de um poliedro. Ainda assim é útil restringir a atenção aos poliedros limitados pois eles têm uma estru- tura muito simples.

Teorema C.7 (da decomposição) Se X(A, b) é limitado então todo ele- mento de X(A, b) é combinação convexa de vértices.

DEMONSTRAÇÃO: Seja x um elemento de X(A, b). Se x é um vértice então a proposição é trivialmente verdadeira. Suponha agora que x não é um vértice e adote como hipótese de indução a validade da proposição para todo elemento x0 de X(A, b) tal que S(x0) ⊂ S(x).

De acordo com a proposiçãoC.3, S(x) é ld em A. Portanto, existe um vetor utal que

Au = o , u[S]6= o e u[N −S] = o ,

onde S é uma abreviatura para S(x). É preciso investigar agora para que valores de λ o vetor x ± λu está em X(A, b). É claro que A(x ± λu) = b para qualquer λ; resta estudar a validade de x ± λu ≥ 0.

Suponha por um instante que u ≤ o. Então, para qualquer λ positivo, o vetor x − λu estará em X(A, b). Como u[j] 6= 0 para algum j, o valor de (x − λu)[j] será tanto maior quanto maior for λ, e isso é inconsistente com o caráter limitado de X(A, b). É forçoso concluir, portanto, que u tem pelo menos um componente positivo.

A partir daqui os cálculos são iguais aos da demonstração da proposiçãoC.3. Seja λ o maior número que satisfaz a restrição

λ ≤ x[k]/u[k]

para todo k em S tal que u[k] > 0. Não é difícil verificar que x − λu está em X(A, b). Também é fácil constatar que S(x−λu) ⊂ S . Nossa hipótese de indução garante então que x − λu é uma combinação convexa de vértices.

Um raciocínio paralelo ao que acabamos de fazer permite concluir que u tem pelo menos um componente negativo e portanto existe um número λ0 tal que x + λ0u está em X(A, b) e S(x + λ0u) ⊂ S(x). A partir daí, nossa hipótese de indução garante que x + λ0u é uma combinação convexa de vértices.

Como x é combinação convexa de x − λu e x + λ0u(de fato, x = λ+λλ0 0(x −

λu) +λ+λλ 0(x + λ0u)), e esses dois vetores são combinações convexas de vértices,

também x é combinação convexa de vértices.2

Esta demonstração pode ser facilmente convertida num algoritmo que, ao receber um sistema A, b e um elemento x de X(A, b), constata que X(A, b) não é limitado ou devolve vértices z1, . . , zp e números não-negativos λ1, . . , λp tais queP λi= 1e x =P λizi.

O teoremaC.7tem o seguinte corolário imediato: Se X(A, b) é limitado então X(A, b) = [Z], onde Z é o conjunto dos vértices do poliedro. Isso mostra que, em termos geométricos, os vértices estão na “casca” ou “fronteira” de X(A, b).

Exercícios

C.1 Suponha que W é um conjunto finito de vetores sobre N e c um vetor sobre N . Mostre que o mínimo de cx para x em [W ] é igual ao mínimo de cwpara w em W .

C.2 Um conjunto li K é maximal se nenhum superconjunto próprio de K é li. Mostre que todos os conjuntos li maximais têm a mesma cardinalidade (veja exercício2.11).

C.3 Mostre que o número de vértices de X(A, b) não passa de |N ||Q| , onde Q é qualquer conjunto li maximal (veja exercícioC.2) em A.

C.4 Suponha que um elemento x de X(A, b) é combinação convexa de dois elementos de X(A, b)−{x}; mostre que x não é um vértice. Agora suponha que um elemento x de X(A, b) não é vértice e mostre que x é combinação convexa de dois vetores em X(A, b) − {x}.

C.5 Suponha que X(A, b) = [W ], onde W é um conjunto finito de vetores. Mostre que X(A, b) é limitado.

C.6 Suponha que o poliedro X(A, b) é limitado e mostre que X(A, b) é vazio ou X(A, o) = {o}. Suponha que X(A, o) = {o} e mostre que X(A, b) é limitado.

C.7 Escreva um algoritmo que receba um sistema A, b e decida se o poliedro X(A, b)é ou não limitado.

C.8 Suponha que X(A, b) é limitado. Mostre que, para qualquer vetor c, o problema CP(A, b, c) é inviável ou tem solução.

C.9 Mostre que todo vetor em X(A, b) é da forma x + r onde x é uma combi- nação convexa de vértices e r um elemento de X(A, o).

C.10 Um elemento r de X(A, o) − {o} é um raio se seu suporte, S(r), é minimal. Uma combinação cônica de vetores x1, . . , xké qualquer combinação linear λ1x1+ · · · + λkxktal que λi≥ 0 para todo i. Mostre que todo elemento de X(A, o)é combinação cônica de raios.

Poliedro canônico dual

Este apêndice estuda algumas propriedades geométricas do poliedro canônico dual

Y (A, c) .

Esse é o conjunto de todos os vetores y tais que yA ≤ c. Suporemos, ao longo do apêndice, que A é uma matriz sobre M × N e que c é um vetor sobre N .

D.1

Conjuntos geradores

A seguinte observação é uma espécie de “dual” da proposiçãoC.1.

Proposição D.1 Para qualquer parte K de N , vale uma e apenas uma das seguintes alternativas:

(1) existem matrizes F e G tais que F G = I e GA é uma matriz escalo- nada cuja base de colunas é parte de K ;

(2) existe um vetor v tal que (vA)[K] = omas (vA)[N −K]6= o.

DEMONSTRAÇÃO: Seja B a matriz A[ , K]. De acordo com algoritmo de Gauss-Jordan, existem matrizes F e G tais que F G = I e GB é escalonada. Seja Q uma base de colunas de GB. Se a matriz GA é escalonada então vale a alternativa (1). Suponha agora que GA não é escalonada. Então (GA)[i, ] 6= o para algum i em M − P , onde P é a base de linhas de GB. Seja v o vetor G[i, ]. Então

(vA)[K] = (GA)[i, K] = (GB)[i, ] = o .

Mas (vA)[N −K] 6= o, uma vez que vA = (GA)[i, ] 6= o. Assim, vale a alterna- tiva (2).

Resta mostrar que as duas alternativas não podem ser simultaneamente verdadeiras. Suponha que vale a alternativa (1). Seja E a matriz escalonada GA, seja P a base de linhas de E e seja Q uma base de colunas de E tal que

Q ⊆ K. Tome qualquer vetor v tal que (vA)[K] = oe seja w o vetor vF . Como E[M −P, ]= O, temos

w[P ]E[P, ] = wE = vF GA = vA .

Em particular, w[P ]E[P, Q] = (vA)[Q]. Mas (vA)[Q] = o uma vez que Q ⊆ K . Logo,

w[P ]= o ,

já que E[P, Q] é uma matriz de bijeção. Segue daí que vA = w[P ]E[P, ] = o. Portanto, a alternativa (2) não pode valer.2

Na linguagem da álgebra linear, a alternativa (1) afirma que cada coluna de A[ , N −K] é uma combinação linear das colunas de A[ , K] enquanto a alter- nativa (2) afirma que alguma coluna da matriz A[ , N −K] é linearmente inde-

pendente das colunas de A[ , K]. Diremos que K é um gerador de A se vale a gerador alternativa (1). É óbvio que todo superconjunto de um gerador também é gera-

dor.

A demonstração da proposiçãoD.1pode ser facilmente convertida em um

algoritmo que, ao receber A e K , decide se K é ou não um gerador. No primeiro algoritmo caso, o algoritmo devolve um par F, G de matrizes para atestar o caráter gerador

de K ; no segundo caso, o algoritmo devolve um vetor v para atestar que K não é um gerador.

D.2

Combinações convexas

O poliedro canônico dual é um conjunto convexo no seguinte sentido:

Proposição D.2 Para qualquer parte finita Z de Y (A, c), toda combina- ção convexa de elementos de Z está em Y (A, c).

DEMONSTRAÇÃO: Seja P λizi uma combinação convexa dos elementos de Z . Como ziA ≤ ce λi≥ 0 para todo i,

(P λizi)A = P λiziA ≤ P λic = (P λi) c = c , uma vez queP λi = 1. Portanto,P λizi está em Y (A, c).2

A proposição D.2 mostra que [Z] ⊆ Y (A, c) para toda parte finita Z de Y (A, c), onde [Z] é a envoltória convexa de Z . Em certas circunstâncias, Y (A, c) = [Z] para um certo conjunto finito Z . A caracterização de um tal Z é o principal objetivo deste apêndice.

No documento Algoritmos de Programação Linear (páginas 191-196)

Documentos relacionados