Anda di halaman 1dari 38

Sumario

A estrutura do conjunto de pontos viaveis (caracterizac~ao de poliedros)


2.1 Introduca~o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Conjuntos Convexos e Cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Combinaco~es Convexas e Casco Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.1

Caracterizaca~o de Casco Convexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.4 Vertices de Poliedros Can^onicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.4.1

Caracterizaca~o de Vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.4.2

Metodo Conceitual para Obtenca~o de Vertice (MCOV) . . . . . . . . . . . . . . . . . .

17

2.5 Caracterizaca~o de Poliedros Can^onicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.5.1

Caracterizaca~o nita de poliedros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

O teorema fundamental de programac~ao linear e algumas implicaco~es em termos de algoritmos


22
3.1 O Teorema Fundamental de Programaca~o Linear. . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.2 Um Modelo de Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.3.1

Metodo para C^omputo de V (X ) para posto A = m . . . . . . . . . . . . . . . . . . . .

29

3.3.2

Metodo Matricial para C^omputo de V (X ) para posto A = m . . . . . . . . . . . . . . .

31

3.4 Algoritmos usando a Caracterizaca~o Matricial de Vertices . . . . . . . . . . . . . . . . . . . . .

32

Vertices e Soluco~es Basicas

Indice Remissivo

38

Carlos Humes Jr. e Ana Flora P. de Castro Humes


Le^onidas O. Brand~ao (revis~oes: Fev. e Maio de 2000; Fev. e Marco 2002; Agosto de 2007)
16 de agosto de 2007

Cap
tulo 2

A estrutura do conjunto de pontos viaveis


(caracterizac~ao de poliedros)
2.1 Introduc~ao
Neste captulo, iniciaremos o estudo de programaca~o linear propriamente dita. Na medida em que o ttulo
apropriado para o material que se segue e: \caracterizac~ao de poliedros", a a rmaca~o que comecamos a estudar
programaca~o linear pode parecer falsa.
Retornaremos ao esprito da introduca~o. Nesta procuramos motivar o ponto de que a pergunta \o problema e facil (difcil)?" tem \a priori" a resposta \depende". Mais do que isto, a resposta e \depende da
estrutura".
Neste sentido, a pergunta \problemas de otimizaca~o s~ao faceis (difceis)?" deve ser respondida com
\depende da estrutura". A nos, parece que linearidade e uma forte estrutura ou pelo menos, uma estrutura
bem conhecida.
No caso de programac~ao linear, esta forte estrutura aparece tanto na funca~o objetivo como no conjunto de
pontos viaveis, que sera sempre descrito por equaco~es e inequaco~es lineares. Esta constataca~o leva naturalmente
a busca de resultados uteis para a soluca~o do problema de programac~ao linear, baseados na \estrutura linear".
Dentro desta orientaca~o de nimos:

De nic~ao 2.1 Diz-se que P e um poliedro 1 se P coincide com a intersecc~ao de um numero nito de hiperplanos 2 e semi-espacos .
Esta de nica~o algebricamente caracteriza poliedro como a soluca~o de um sistema linear com um numero nito
de equaco~es e inequaco~es. (Cada equaca~o do sistema linear de ne um hiperplano e cada inequaca~o um semi> dg .
espaco.) Assim, um exemplo de poliedro e o conjunto Y = fy 2 IRn = Ay = b e By =
Note que a omiss~ao do quali cador \ nito" na de nica~o acima, levar-nos-ia a classi car crculos como
poliedros.
Uma classe particular de poliedros e a dos polgonos (supostos limitados). Uma pergunta interessante e
como caracterizar polgonos no IR2 (ou poliedros limitados \usuais" no IR3 ), usando o mnimo de informaca~o
possvel.
1 Alguns autores usam esta de nica~o e seguem com a de nica~o \politopo e poliedro limitado". Outros autores usam a de nica~o
acima para politopos e de nem \poliedro e um politopo limitado". Optamos pela de nica~o acima e a n~ao dar nome espec co a
poliedros limitados
2 A de nica~o que adotaremos de hiperplano aqui, em texto de Algebra

Linear, deveria ser chamado de hiperplano a m: Hc ; :=
fx 2 IR : c0x = g.

2.2 Conjuntos Convexos e Cones - PL

16 de agosto de 2007 3

No caso do tri^angulo ABC da gura 2.1.(a), o tri^angulo e univocamente determinado pelos vertices. Ja
o pentagono DEF GH n~ao esta univocamente determinado pelo conjunto de seus vertices, como pode ser visto
nas guras 2.1.(b);2.1.(c) e 2.1.(d). A resposta \natural" de que um polgono e determinado pelos seus vertices,
e valida se considerarmos implicitamente polgonos convexos. Ou seja, se eliminarmos os casos de polgonos
com pontas protuberantes ou \vazios" internos.
E

s
...s
..
...
..
...
...
..
...
..
...
..
...
.
.
...
.
...
..
...
...
..
...
..
...
..
...
..
...
.
.
...
.
...
..
...
... ...
... .
... ..
....s

..s
.s
..
...
..
...
..
...
..
...
..
...
...
..
.
.
..
...
.
..
.
.
..
...
.
..
.
.
..
...
.
..
.
.
..
...
.
.
..
s
.
..
....
..
....
..
....
..
..
....
..
....
..
....
..s
....
..
....
....
.....
.
.
....
....
.
.
.
....
.
....
....
.
.
.
.
....
...
....
.....
....
.....
....
.....
....
.....
....
.....
....
.
.
.
.
.
....
.... ........
.....s
..

(a)

(b)

.s
.s
.
.....
......
.... ..
.. ...
.... ....
.. ..
.. ....
....
..
..
....
..
..
.
.
.
..
..
.
...
..
..
..
....
..
..
..
....
..
..
..
..
..
....
.
.
.
.
.
..
.
..
.
...
..
.
.
.
.
.
.
..
..s
..
....
..
..
..
.
....
..
..
.
....
.
..
.
.
..
....
..
..
..
....
..
.
..
....
..
..
..
....
..
.
..
.
...s
....
.
.
.
....
..
.
.....
....
.
.
.
.
.
.
..
....
....
.
..
..
.
....
.
.
.
..
....
....
.
..
.
..
.
....
.
.
...
..
.
....
.
..
.....
....
.....
..
.... ....
.....
.... .. ...
.....
.... .. ..
.... .. .. .........
...... . ....
............
.......
s

(c)

...s
.s
.........
........
.. .....
....... ...
......
.. .....
..
.....
.......
..
.................
..
..
.
.
.
.
..
.
.. ............ .........
..
.....
.....
..
.....
.........
..
.....
...... ....
..... ...
.......
..
.......
.......
.
.
.
.
.
.
.
..
.
......
.....s
.
.........
.............
............. ...
.. .........
..............
.....
..
.................
.....
............. ...
..
..
...............
..
............. .........
.
..
..................
.
..
.
.......s
.
..
..
..
.
..
..
..
.
..
..
.
..
.
..
..
..
..
..
.. ...
.. .
.. ..
.. ..
.. ..
....s
.

(d)

Figura 2.1: De nica~o de polgonos a partir de seus vertices


A consideraca~o de convexidade esta presente na de nica~o de poliedros (de nica~o 2.1) implicitamente.
Como pre-requisito para caracterizaca~o de poliedros abordaremos na proxima secca~o o conceito e propriedades
basicas de conjuntos convexos.

2.2 Conjuntos Convexos e Cones


De nic~ao 2.2 Um conjunto A  IRn e dito convexo se

8(;xx1;xx2) 2 [0; 1]  A  A ) (xx1 + (1 )x2) 2 A:


Em termos geometricos, a de nica~o de conjunto convexo equivale a dizer que qualquer segmento de reta
com extremos no conjunto, esta inteiramente contido no conjunto. Seja por esta vis~ao, ou por simples inspecca~o,
e trivial que o quali cador (8 2 [0; 1]) pode ser substituido indiscriminadamente por \8 2 (0; 1)", \8 2 [0; 1)"
ou \8 2 (0; 1]" sem que a de nica~o seja afetada.
s

.... .
..... ....
..... ........
.....
.
.....
..
.....
.
.
.
..
.
..
....
........... ...... ..... ....... ..
...s
. ..........
..... .
.
.
.
.
.
.
.
...
..
.
.....
.....
.
..
.s
.
.
.
.....
.
.
........
..
.
....
. ...
....
. .
....
. ..
s
....
..
....
.
..............
.
....
..
.......
.. .
....
.....
.....
....
.. ..
.
.
.
.
.
..
....
.
.
.....
....
..
. ..s
.....
....
..
...
.... ...
...........
.... .. ..............
.............
.s
..

x  := aa + (1 )b = b + (a b )


b a

(b a )

Figura 2.2: x  = aa + (1

)b = b + (a b ) pertence ao segmento [a ;bb].

Os seguintes conjuntos s~ao exemplos de conjuntos convexos:


(i) 
(ii) IRn
(iii) Subespacos lineares
(iv) Hiperplanos
(v) Semiespacos

2.2 Conjuntos Convexos e Cones - PL

16 de agosto de 2007 4

(vi) Conjunto unitario3


> 0g
(vii) X = fx 2 IRn = Ax = b e x =

(viii) A bola (aberta ou fechada) de centro x (x 2 IRn ) e raio r (r > 0), denotada B (x ; r) (ou B [x ; r]).
Todos estes exemplos s~ao de facil veri caca~o ou ate mesmo uma a rmaca~o e caso particular de outra
(por exemplo, (iii) implica (i) e (ii)). Por utilizarem argumentos usuais e para exempli car provas derivadas
diretamente da de nica~o, provaremos os exemplos (iii), (vii) e (viii).
(iii) Todo subespaco linear L e convexo.
Como L e fechado em relaca~o a multiplicaca~o por escalar e a soma,

8(;xx1;xx2) 2 IR  L  L; temos que (xx1 + (1 )x2) 2 L.


Particularizando para  2 [0; 1], segue que L e convexo.
> 0 g e convexo.
(vii) X = fx 2 IRn = Ax = b e x =
Sejam (x 1 ;xx2 ) 2 X  X e  2 [0; 1].
)
>
x 1 => 0 e 
xx1 => 0
= 0 =)
xx1 + (1 )x 2 => 0
x2 => 0 e (1 ) => 0 =) (1 )x2 => 0

( a)

Mais ainda

A(xx1 + (1 )x 2 ) = Ax 1 + (1 )Ax 2


= bb + (1 )b
=b

(por linearidade)
(pois x i 2 X =) Ax i = b ; i = 1; 2)
( c)

De (a) e (c) segue que X e convexo.


(viii) B (x ; r) = fx 2 IRn = kx

x k =< rg e convexa.
Sejam (x 1 ;xx2 ) 2 B (x ; r)  B (x ; r) e  2 [0; 1]

kxx1 + (1 )x2 xk

= kxx1 + (1 )x 2
1
<
x )k + k(1
= k(x
<
 kr
= k k r + k1
= r

xx (1 )x k
)(x 2 x )k

portanto B (x ; r) e convexa.
Uma forma mais simples de derivar resultados e provar convexidade de conjuntos e usar propriedades de
convexos. Vejamos algumas destas propriedades:

Propriedade 1 Intersecc~ao de conjuntos convexos e um conjunto convexo.


Prova Seja a famlia de conjuntos fAi gi2I , tal que, Ai e convexo, para todo i 2 I . Assim,
8(x1;xx2) 2 D  D; D := Ti2I Ai; 8 2 [0; 1] segue que
8i 2 I; (x1;xx2) 2 Ai, e pela convexidade de Ai, (xx1 + (1 )x2) 2 Ai.
Portanto
(xx1 + (1

)x 2 ) 2 D =

isto e, D e convexo.

i
i2I A ,

3 Os unicos conjuntos convexos n~ao vazios e enumeraveis s~ao os conjuntos unitarios, i.e, aqueles formados por um unico elemento.

2.2 Conjuntos Convexos e Cones - PL

16 de agosto de 2007 5

Exerccio 2.1 Usando a propriedade 1, prove que C = fx 2 IRn kx x0 k =< rg e convexo.


Desta propriedade e da convexidade de hiperplanos e semiespacos segue que todo poliedro e convexo, em
particular o apresentado no exemplo (vii).
 importante notar que:
E
S

1) A e B convexos 6) A B convexo.
Basta tomar A = fx g e B = fy g com x 6= y .
2) A convexo 6) complemento de A e convexo.
Basta tomar A = f0 g.

Propriedade 2 Combinac~ao linear de conjuntos convexos e um conjunto convexo.


Sem perda de generalidade, provar a propriedade 2 e equivalente a provar que para quaisquer subconjuntos
convexos de IRn (A e B ) e para quaisquer escalares ( e )

C = ( A + B ) e um conjunto convexo, onde


( A + B ) := fz = z = aa + bb; a 2 A e b 2 B g:
Prova Sejam (x 1 ;xx2 ) 2 C  C e  2 [0; 1]:
Ent~ao, como

x i = aai + bbi ; com a i 2 A e b i 2 B; i = 1; 2,

temos que

xx1 + (1 )x 2

= ( aa1 + bb1 ) + (1 )( aa2 + bb2 )


= (aa1 + (1 )a 2 ) + (bb1 + (1 )b 2 )
= ( v + w) 2 C

onde v 2 A e w 2 B pela convexidade de A e B .


Portanto, C = A + B e convexo.

Esta propriedade admite duas particularizaco~es de grande import^ancia.

Propriedade 3 Soma ou subtrac~ao (A B = A + ( 1)B ) de conjuntos convexos e um conjunto convexo.


Propriedade 4 Convexidade mantem-se com translac~ao.
(Uma translac~ao de A e o conjunto A + fx g. )
Outras propriedades interessantes cuja prova ca a cargo do leitor s~ao:

Propriedade 5 Produto cartesiano de conjuntos convexos e um conjunto convexo.


Propriedade 6 A imagem de uma transformac~ao linear L; L : IRn ! IRm , aplicada a um conjunto convexo
A  IRn , L(A), e convexa.
Propriedade 7 Se A e convexo ent~ao o interior de A e convexo.
Propriedade 8 Se A e convexo fechado com interior n~ao vazio ent~ao A coincide com o fecho do seu interior.

2.2 Conjuntos Convexos e Cones - PL

16 de agosto de 2007 6

Uma particular classe de conjuntos convexos que ser~ao uteis em nosso estudo e a dos cones convexos.
Inicialmente de namos cones:

De nic~ao 2.3 B

 IRn

e dito ser um cone se, e somente se for fechado em relac~ao a multiplicac~ao por
> 0; 8b 2 B; (b) 2 B:
escalar n~ao negativo, i.e, 8 =
De modo analogo a caracterizaca~o de convexidade por segmentos, semi-retas com incio na origem fornecem uma caracterizaca~o geometrica para cone, pois um conjunto e cone se, e somente se, ele contem toda
semi-reta iniciada na origem e passando por um de seus pontos. Vejamos alguns exemplos e propriedades
interessante de cones.

Exemplos e propriedades de cones


(i) IRn , f0g, ; s~ao cones triviais;
(ii) Todo subespaco linear e um cone;
(iii) O hiperplano H e um cone () o hiperplano H contem a origem.
> 0g e um cone;
(iv) C = fh 2 IRn = Ah = 0 e h =

(v) Duas retas distintas que se interceptam na origem e um cone;


(vi) B e um cone limitado () B  f0g ou B  ;;
(vii) Intersecca~o e uni~ao de cones e cone;
(viii) Soma de cones e cone;
(ix) Origem pertence ao cone se cone e n~ao vazio;
(x) Translaca~o de cones n~ao necessariamente e cone;
(xi) Nem todo cone e convexo;
(xii) A uni~ao do complemento de um cone com a origem e um cone;
(xiii) Qualquer cone e ilimitado se contiver mais que um elemento.
Observemos que o fato de duas retas que se interceptem na origem formarem um cone (exemplo (v)), n~ao
corresponde a intuica~o usual de cone, baseada em cones gerados por conjuntos convexos.

De nic~ao 2.4 Dado A  IRn ; A n~ao vazio, de nimos cone gerado por A, denotado C (A), como
C (A) := fx 2 IRn = 9(a ; ) 2 A  IR+ : x = aag .
Em termos geometricos, o cone gerado por A e a uni~ao de todas as semi retas iniciando na origem e
passando por algum ponto de A. Se A for um conjunto convexo, vale a propriedade:

Propriedade 9 A convexo =) C (A) e um cone convexo.


Prova Seja C := C (A). Devemos demonstrar que: 8(c1 ;cc2 ) 2 C  C , 1 2 (0; 1) e 2 2 (0; 1), para
1 + 2 = 14 , teremos c  := 1c 1 + 2c 2 2 C . Tambem suporemos c 1 6= c 2 (caso a igualdade ocorra segue
diretamente o resultado).

Como C e gerado por A, devem existir (a 1 ;aa2 ) 2 A  A e ( 1 ; 2 ) 2 IR+  IR+ para os quais:

4 Os casos 1 = 0 e 2 = 0 s~ao triviais.

c 1 = 1a 1 ;
c 2 = 2a 2 :

(2.1)
(2.2)

2.2 Conjuntos Convexos e Cones - PL

16 de agosto de 2007 7
c 1 = 1 a 1

..
... .
........ .
. ..
..
.s
..
.
.......
..
......... .
..
.
.
..
.
.
..
..
.
.
.
.
..
..
.
.. ..
.
.
.
.. ...
.
.
.s
.. ..
.
..............
.s ..
.
.
.
.
.
..
.... .
.....
.
.
.
........ ...s
.
. . ..
.....
.
.
.
.
.
.
. . .
...
. .........
... ..
... .
.......s
.... .............
.... .......... .
.....
...s
.
.
.

a1

c 2 = 2 a 2

a2

Figura 2.3: Dado c 2 [c ;cc2 ], encontrar o correspondente a 2 [a 1 ;aa2 ].


1

Como 1 6= 0 e 2 6= 0, sejam

1 :=

1 1 + 2 2

>0 e

2 :=

1 1 + 2 2

> 0:

(2.3)

Assim, tomando c := 1 1a1 + 2 2a2 , segue que

c 2 A;

(2.4)

(2:3)

pois, 1 1 + 2 2 = 1 1 1 +12 2 + 2 1 1 +22 2 = 1 e A e convexo por hipotese.


Alem disso,
(2:1)
(2:2)
c  = 1c 1 + 2c 2 = 1 1a 1 + 2c 2 = 1 1a 1 + 2 2a 2
(2:3)
= (1 1 + 2 2 )(1 1a 1 + 2 2a 2 ) = (1 1 + 2 2 )c :
Portanto, de (2.4) e da de nica~o de cone, segue a tese.
Notemos que a convexidade de C (A) n~ao implica na convexidade de A.

Exerccio 2.2 Veri que atraves de um contra-exemplo que C (A) convexo =6 ) A convexo.
Exerccio 2.3 Se D e um cone, prove que D

 C (D \ B (00; 1)).

Exerccio 2.4 Se D e um cone, D 6= f0 g, ent~ao D  C (D \ @B (00; 1)).


< rg, de nimos @B (a ; r)) como a fronteira
Lembrando que B (a ; r) := fb : jja b jj < rg e B [a ; r] := fb : jja b jj =
da bola (B [a ; r] n B (a ; r)).
Propriedade 10 Se B e um cone, ent~ao: B e convexo () B  B + B .
(i.e, B e cone convexo () B e um cone fechado em relac~ao a soma)
Prova Como 0 2 B (para  = 0, bb 2 B ) segue que B  B + B . Assim, resta provar que:

hB e convexoi () B + B  B:
()) Sendo B convexo e cone,

8(b1;bb2) 2 B  B B e=convexo
) 21 b1
portanto B + B  B

1 2
b
2

2 B B =e )cone 2( 12 b1

1 2
b)
2

2 B =) b1

+ b2

2 B;

2.3 Combinaco~es Convexas e Casco Convexo - PL

16 de agosto de 2007 8

(() Sendo B  B + B ,

8(;bb1;bb2) 2 [0; 1]  B  B B =e )cone bb1 2 B e (1 )b2 2 B B+=B)B bb1

+ (1

)b 2 2 B:

portanto B e convexo.
Cones convexos s~ao conjuntos \semelhantes" a subespacos lineares. Subespacos lineares s~ao conjuntos
fechados em relaca~o a soma e multiplicaca~o por escalar e cones convexos s~ao conjuntos fechados em relaca~o a
soma e multiplicaca~o por escalar n~ao negativo.

Exerccio 2.5 Prove que se C (A) e convexo ent~ao C (A) e o conjunto dos pontos que s~ao combinac~oes lineares
de elementos de A com coe cientes n~ao negativos.
Uma categoria de cones convexos que nos interessa e a dos cones poliedrais:

De nic~ao 2.5 C e um cone poliedral se, e somente se, C e um cone e C e um poliedro.


Exemplos de cones poliedrais
(i) f0 g; ;; IRn , subespacos lineares;
> 0 g;
(ii) IRn+ = fx 2 IRn = x =
> 0 g.
(iii) C = fh 2 IRn = Ah = 0 e h =

2.3 Combinac~oes Convexas e Casco Convexo


As de nico~es apresentadas na secca~o anterior podem ser vistas como generalizaco~es de subespacos lineares.
Para tornar mais clara esta observaca~o, repetimos abaixo, de forma suscinta, as caracterizaco~es de subespaco
linear, cone convexo e conjunto convexo:
(a) X e subespaco linear
(

se

(i) 8(x; y ) 2 X  X
(ii) 8( ; ) 2 IR  IR

; ent~ao ( x + y) 2 X

(b) X e cone convexo


(

se

(i) 8(x; y ) 2 X  X
(ii) 8( ; ) 2 IR+  IR+

; ent~ao ( x + y) 2 X

(c) X e conjunto convexo


(

se

(i) 8(x; y ) 2 X  X
(ii) 8( ; ) 2 IR+  IR+ = + = 1

; ent~ao ( x + y) 2 X

Da mesma forma que subespacos lineares s~ao caracterizados por combinaca~o linear de um numero nito
de elementos, no exerccio 2.5 caracterizamos cones convexos atraves de combinac~ao linear a coe cientes n~ao
negativos. Para o estudo de conjuntos convexos, introduzimos o conceito analogo:

2.3 Combinaco~es Convexas e Casco Convexo - PL

16 de agosto de 2007 9

De nic~ao 2.6 Um ponto x e dito ser combinac~ao convexa 5 de fxi gpi=1


se existem

8
<
:

i 2 IR; i 2 f1; 2; : : : ; pg;


i => 0; i 2 f1; 2; : : : ; pg; e

p
P
i=1

9
=

i = 1

tais que x =

p
X
i=1

ix i :

Em termos geometricos, x e combinaca~o convexa de p pontos fx i gi=1;2;:::;p , se existirem massas fmi gi=1;2;:::;p
que associadas aos correspondentes pontos, de nam o centro de gravidade (CG) coincidente com x . Isto e,
p i
P
m xi

p
P

ix i
i=1
i
onde M
i = mM .
> 0 e Pp i = 1.
Lembrando que mi s~ao massas, segue que i =
i=1
CG =

=x =

i=1 M
P
= pi=1 mi , e

 conveniente notar que os coe cientes que de nem a combinaca~o convexa n~ao s~ao necessariamente
E
unicos.
Utilizando a de nica~o acima podemos caracterizar conjuntos convexos atraves de:

Teorema 2.1 A e convexo se e somente se qualquer combinac~ao convexa de pontos de A e um ponto de A, ou


mais precisamente

A e convexo

()

8
*
>
<
>
:

+
8p 2 IN
p
8fxigip=1; xi 2 A; i 2Pf1p ; : : : ; pg
=)
8f igi=1; i => 0 e i=1 i = 1;

p
P
i=1

ix i

2 A:

Prova A prova no sentido ((=) e trivial, pois p = 2 e a de nica~o de convexidade. A prova no sentido (=))
sera feita por induca~o:

Base de induc~ao: (p = 1) trivial.


Passo da induc~ao: Suponhamos que qualquer combinaca~o convexa de p (ou menos) elementos de A seja
um ponto de A e vamos analisar combinac~oes convexas de p + 1 elementos de A. Isto e, seja
P +1
P +1
i = 1:
x = pi=1
ix i onde x i 2 A; i => 0 para i 2 f1; : : : ; p + 1g e pi=1
(i) Se p+1 = 1, ent~ao 1 = 2 = ::: = p = 0 e x = x p+1 2 A.
(ii) Se p+1 2 [0; 1), ent~ao, tomando i =

1
p+1 i , segue que

Pp

i + x p+1
p+1
i=1 ix P
= (1 p+1 ) pi=1 ix i + p+1x p+1
= (1 p+1 )y + p+1x p+1 :

x =

sendo y = pi=1 ix i . Por construca~o, y e combinaca~o convexa de fx i gpi=1 com pesos f i gpi=1 , pois:

i = [(1 p+1 ) 1 i ] => 0; e


p
P
i=1

p
P

p+1 ) 1 ( i )]
i=1
= (1 p+1 ) 1 (1 p+1 )
= 1:
= [(1

p+1

.....
x
..........
..
.
.
..t
......
........ x
.
..
..
..
.
.tx
.. ..............
...
.......
...
........
....... ..
...
..t
...
.. .
...
.. ..t
...t
.. . y
..
..
..
..
..
.
..
.....
..
.
.t
.. .t
.
.
..
.. x
..
..
.
..
t
t

..
.

Figura 2.4: y 2 [a 1 ; : : : ;aap ], tal que x 2 [y ;aap+1 ].

5 A de nica~o 2.6 implicitamente nos restringe a considerar somente combinaca~o convexa de um numero inteiro de pontos.

2.3 Combinaco~es Convexas e Casco Convexo - PL

16 de agosto de 2007 10

Portanto, por hipotese de induca~o, y 2 A. Como p+1 2 [0; 1), (y ;xxp+1 ) 2 A  A e A e convexo, segue
que x 2 A, o que completa a demonstraca~o.
Uma forma mais elegante de apresentar este resultado pode ser obtida atraves da introduca~o do conceito
de casco convexo:

De nic~ao 2.7 O casco convexo de um conjunto Y , denotado [Y ], e o conjunto das combinac~oes convexas
dos elementos de Y , i.e:
def

[Y ] =

x 2 IRn =

9p 2 IN; 9fxigpi=1  Y; 9f igpi=1Pp IR


> 0; i 2 f1; : : : ; pg;
tais que i =
i=1 i = 1

+ )

e x=

Pp

i
i=1 ix :

Em termos geometricos, o casco convexo de um conjunto Y e o lugar geometrico dos centros de gravidade
de quaisquer conjuntos nitos de pontos de Y com quaisquer massas associadas.
Da de nica~o de casco convexo de um conjunto, seguem as seguintes propriedades:

 [Y ];
Z  Y =) [Z ]  [Y ];

(i) Y
(ii)

(iii) [Y ] e convexo;
(iv) Y e convexo () [Y ]  Y

() Y  [Y ];

(v) [ [Y ] ] = [Y ];
(vi) Z convexo e Y

 Z =) [Y ]  Z .

A gura 2.5 contem alguns exemplos de conjuntos e seus respectivos cascos convexos.
s

s
s

s
s

...s
..s
...
..
...
...
..
...
..
...
..
...
..
...
.
.
...
.
...
..
...
...
..
...
..
...
..
...
..
...
.
...
..
...
... ....
... .
... ..
....s

(a)

s
..s
...
..
...
..
...
..
...
..
...
..
.
.
.
..
...
.
..
.
..
...
.
.
..
.
..
...
.
.
..
.
..
...
.
.
..
..
..
s
...
..
....
..
....
..
....
..
..
....
..
....
..
....
..
....
....
...s
....
.....
.
.
.
....
....
....
.
.
.
.
....
....
.
....
.
.
.
....
....
....
.....
....
.....
....
.....
....
.....
....
.....
.
....
.
.
.... ......
.....s
..

...
.......... ...
.........
..
..........
..
..........
..
..........
..
.........
..
..........
.
s
.
.
..
..
..
.
..
..
..
.
..
..
..
.
..
..
..
.
..
..
.
..
..
..
.
..
..
..
.
..
..
..
.
..
..
.s
.
s
.....
..
.
.
.
.
..s
.....
....
.
.
.
.
.....
....
.....
.
.
.
.
.....
....
.....
.....
.....
.....
.....
.....
....
.....
.....
.....
.....
.
.
.
.....
.
..... .......
......s
.

...............
.............
..
.............
..
.............
..
.............
..
.............
..
.............
...s
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
s
........s
.
.
.
..
.
...............
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
..
...............
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
..
..............
.. .............................
.
..s

(b)

(c)

(d)

Figura 2.5: Alguns exemplos de geraca~o de casco convexo.


As propriedades (i) e (ii) s~ao consequ^encias imediatas da de nica~o, assim como a propriedade (iii), apesar
da prova desta ser menos imediata.
A propriedade (iv) e uma importante caracterizaca~o de conjuntos convexos. A propriedade (v) pode ser
generalizada como:

2.3 Combinaco~es Convexas e Casco Convexo - PL

16 de agosto de 2007 11

(v') [Y ]p = [Y ], onde, [Y ]p e de nido por:


(

a) [Y ]1 = [Y ]
b) [Y ]i+1 = [ [Y ]i ]:

Tanto (v) quanto (v') tem suas provas baseadas no seguinte argumento:
por (iii), [Y ] e convexo, portanto, por (iv), [[Y ]]  [Y ].

Exerccio 2.6 Prove as propriedades (i) a (vi) e (v').


Exerccio 2.7 Prove que o casco convexo de um numero nito de pontos e um conjunto limitado.
Exerccio 2.8 Qualquer quePseja c 2 IRn , prove que para o casco convexo de um numero nito de pontos,
A := fa 1 ;aa2 ; : : : ;aak g, c 0a = ni=1 ci ai e limitado (8a 2 [A]).
Exerccio 2.9 A recproca dos dois exerccios anteriores valem ? (se sim, demonstre, caso contrario apresente
contra-exemplo).

A propriedade (vi), de casco convexo, permite uma caracterizaca~o alternativa de casco convexo, utilizada
como de nica~o por alguns autores, a ser explorada na proxima subseca~o.

2.3.1 Caracterizac~ao de Casco Convexo


O casco convexo [Y ], de um conjunto Y , e o menor (no sentido de inclus~ao) convexo que contem Y .
Entenda-se A e menor que B no sentido de inclus~ao, se A
esta caracterizaca~o s~ao:

 B . Portanto as formas precisas de enunciar

f[Y ] e a intersecca~o de todos os convexos que contem Y g, ou


fY  A e A convexo =) [Y ]  Ag.

Esta interpretaca~o ou caracterizaca~o alternativa justi ca os exemplos gra cos da gura 2.5. Note-se que
a operaca~o casco convexo dos 5 pontos da gura 2.5.b gera o pentagono como esperado.
Portanto, voltando a ideia de caracterizaca~o de polgonos e lembrando que todo poliedro e convexo, a
nossa pergunta sobre o mnimo de informaca~o necessaria para caracterizar um poliedro pode ser reformulada
como: \qual o conjunto minimal M tal que o poliedro convexo X possa ser descrito por [M ]?".
Claramente tal conjunto minimal devera conter todos os pontos do conjunto original que n~ao podem ser
expressos como combinaca~o convexa de outros pontos do conjunto original. Se veri carmos na gura 2.5, estes
pontos s~ao os vertices do tri^angulo, do pentagono e do quadrilatero.
Por sua import^ancia, estes pontos merecem uma de nica~o:

De nic~ao 2.8 O ponto a pertencente ao conjunto convexo A, e dito ponto extremo de A se 6 9(b; c; )
A  A  (0; 1) tal que a = b + (1 )c com c 6= a 6= b
ou equivalentemente: a e ponto extremo de A se, e somente se
9
a = b + (1 )c >
=
0<<1
=) b  c  a
>
;
(b; c) 2 A  A
Exemplos
(i) Todo conjunto unitario e formado por um ponto extremo;

2.4 Vertices de Poliedros Can^onicos - PL

16 de agosto de 2007 12

<1ex=
> 0g tem como pontos extremos ( 0 ); ( 1 ) e ( 0 );
(ii) fx 2 IR2 =x1 + x2 =
0
0
1

> 0 g tem um u
(iii) IRn+ = fx 2 IRn =xx =
nico ponto extremo que e a origem;
< 1g tem como pontos extremos fx 2 IRn =kx k2 = 1g;
(iv) fx 2 IRn =kx k2 =
< 1g tem quatro pontos extremos;
(v) fx 2 IR2 =kx k1 =
> x1 =
> 0g n~
(vi) fx 2 IR2 = 1 =
ao tem pontos extremos;

(vii) qualquer conjunto aberto n~ao tem pontos extremos.

2.4 Vertices de Poliedros Can^


onicos
No caso particular de poliedros, usamos o termo vertice para designar ponto extremo e, dado um poliedro P,
denotamos
V (P ) = fx 2 P = x e vertice de P g:
Nos exemplos de polgonos apresentados na gura 2.5, podemos veri car que o poliedro P (polgono)
pode ser representado por P  [V (P )] e que o numero de elementos de V (P ) (que denotaremos por #V (P )) e
nito.
Porem, veremos que este resultado so vale quando o poliedro for limitados, isto e, a a rmaca~o \P 
[V (P )]" n~ao e necessariamente verdadeira. Tomando P = IRn+ , a raz~ao da n~ao validade da a rmaca~o e bastante
clara, pois IRn+ e ilimitado e o casco convexo de um numero nito de pontos e um conjunto limitado (ver
exerccio 2.7 e exemplo (iii) acima.).

> x1 =
> 0g) e mais intrigante, pois V (P ) e vazio. Entretanto, se
O exemplo (vi) acima (P = fx 2 IR2 = 1 =
reescrevermos as restrico~es que descrevem o poliedro P na forma can^onica, obteremos o poliedro Pe , dado por:

Pe = fz 2 IR4 = z => 0 e z1 + z4 = 1g
onde

z1 = x1
z2
z3 = x2
z4 = 1 x1

+
(z2 = x+
2 e z3 = x2 )
(z4 = x r ).

Para este poliedro, V (Pe ) = f(0; 0; 0; 1)T e (1; 0; 0; 0)T g.


Por este exemplo, procuramos ilustrar que a propria exist^encia de vertices e uma propriedade que pode
estar associada a descrica~o algebrica do poliedro.
Por esta raz~ao e por facilidade de apresentaca~o uni cada, doravante estudaremos somente a caracterizaca~o
de vertices de poliedros correspondentes a conjuntos de pontos viaveis de programas lineares na forma can^onica.
Isto e, utilizaremos como hipotese desta secca~o que os poliedros em considerac~ao ser~ao descritos algebricamente
na forma can^onica
X = fx 2 IRn = Ax = b e x => 0 g:
Para tornar clara tal hipotese, o ttulo da secca~o e \vertices de poliedros can^onicos" como abreviaca~o de
\vertices de poliedros correspondentes a conjuntos de pontos viaveis de programas lineares na forma can^onica".
Para caracterizar os vertices do poliedro X na forma can^onica, uma primeira ideia pode ser veri car o
que caracterizaria um ponto do poliedro que n~ao e vertice.
Para um conjunto convexo Y, um ponto de Y n~ao e ponto extremo se e so se ele estiver contido no interior
(relativo) de um segmento de reta com extremos no conjunto. N~ao ha perda de generalidade em assumir que
x 2 Y n~ao e ponto extremo de Y se e so se ele for ponto medio de um segmento (n~ao trivial) 6 cujos extremos
s~ao pontos de Y. Isto e,
6 Um segmento e dito n~ao trivial quando seus extremos s~ao distintos.

2.4 Vertices de Poliedros Can^onicos - PL

16 de agosto de 2007 13

Lema 2.1 Dado Y convexo,

hy 2 Y

e y 62 V (Y )i () h9h 2 IRn : h 6= 0 e (y + h ;yy

h) 2 Y

 Y i:

Prova
((=) Sejam (;yy 1 ;yy 2 ) 2]0; 1[Y  Y , de nidos por  := 1=2, y 1 := y + h e y 2 := y h . Portanto y 62 V (Y ),
uma vez que y 1 6= y 2 ,  2]0; 1[ e y = yy 2 + (1 )y 1 .
(=)) Sendo

h 1 := y 1 y ; h 2 := y 2 y e h 2 arg minfkh 1 k2 ; kh 2 k2 g;
mostaremos que (y + h ;yy h ) 2 Y  Y .
Seja  2]0; 1[ tal que
y = yy 2 + (1 )y 1 = y 1 + (y 2 y 1 ):

(? )

Da segue que


(??)
h 1 = (y 2 y 1 );
pois, h 1 = (y 2 y 1 ) , y h 1 = y + (y 2 y 1 ) , y h 1 = y 1 h 1 + (y 2 y 1 ) , y = y 1 + (y 2 y 1 ):
Sem perda de generalidade, suporemos h = h 1 . Neste caso, e facil ver que  2]0; 1=2], pois, considerando
a direca~o y 2 y 1 , y se encontra antes do ponto medio do segmento [y 1 ;yy 2 ].
Deste modo, tomando  := 2, teremos  2]0; 1] e da convexidade de Y (usada na ultima identidade)
(??)
(?)
y h 1 = y + (y 2 y 1 ) = y 1 + 2(y 2 y 1 ) = y 1 + (y 2 y 1 ) 2 Y:

Como y + h 1 = y 1 e h = h 1 , segue a tese (y + h 1 ;yy

h1) 2 Y

Y.

O lema 2.1 substitui a caracterizaca~o de pontos extremos em termos de intervalos pela exist^encia de
direco~es que de nem os mesmos intervalos. A prova deste fato e imediata.
Esta caracterizaca~o, em termos de direco~es, sera doravante utilizada. Para o caso em estudo (poliedros
na forma can^onica), estas direco~es possuem a seguinte caracterizaca~o algebrica:

Lema 2.2 Sendo x 2 X , X := fx 2 IRn = Ax = b e x => 0 g,

f9 > 0 =(x + hh; x hh) 2 X  X g () fx 2 X; Ah = 0

Prova
(=))

i) A(x + hh) = A(x


(

ii)

>0
(x + hh) =
>0
(x hh) =

hh) = b () Ah = Ah = 0 e Ax = b ;
=)

x => 0 ;

> 0; (x h
h)j => 0 =) hj = 0.
iii) xj = 0; (x + hh)j =
(Observe que (xj = 0 =) hj = 0) equivale a (hj 6= 0 =) xj =
6 0)).
De i), ii) e iii) segue a primeira parte da prova.

((=) i) Se h = 0 o resultado e trivial.


ii) Se h 6= 0 ,
a) 8 2 IR; A(x + hh) = Ax + Ah = b + 0 = b ;

hxj = 0 =) hj = 0ig:

2.4 Vertices de Poliedros Can^onicos - PL

16 de agosto de 2007 14

b) xj = 0: 8 2 IR; (x + h)j = xj + hj = 0 + 0 = 0;


xj
> 0 ()  =
>
c) xj > 0 e hj > 0: (x + h)j =
hj (< 0);

()  =< hxjj (> 0).


Para h 6= 0 e necessario que x 6= 0 , pois (x = 0 =) h = 0 ).
> 0
d) xj > 0 e hj < 0: (x + h)j =

Portanto de nimos
 = suphj >0 hxjj (sup ao inves de max para considerar o caso h =< 0 , quando + = sup

+ = inf hj <0 hxjj (inf ao inves de min para considerar o caso h => 0 , quando  = inf
 = minf  ; + g 2 IR++ isto e,  2 IR e  > 0:
Assim, da construca~o de , teremos
(x + hh;xx hh) 2 X  X;

; = 1)
; = +1)

o que completa a demonstraca~o.


No fato acima, o escalar  ( > 0), n~ao altera a direca~o no sentido geometrico. Este fator de escala e
importante para garantirmos que, dada uma direca~o conveniente, n~ao \andamos demais" ao longo desta.

Esta observaca~o esta ligada a L = f(x + hh) =  2 IRg de nir uma reta, se h 6= 0 . Acompanhando
a prova do fato 2.2, temos que a intersecca~o da reta L com o poliedro
X e dada pelo segmento de reta
T
f(x + hh) =  2 [ ; +]g, se  e + forem nitos. Caso contrario, L X e uma semi-reta,
pois ou  ou +
T
e nito. Em qualquer caso com h 6= 0 , (x + hh) ou (x hh) sera ponto extremo de L X .

Um resultado que sera utilizado repetidas vezes e que este ponto extremo tem pelo menos uma componente
nula a mais do que x. Para formalizar esta constataca~o, introduzimos a notaca~o:

Notac~ao 2.1 Para y 2 IRn ; I (y ) = fj 2 f1; 2; :::ng = yj =


6 0g: Ou seja, I (y ) e o conjunto dos ndices cujas
componentes yi sejam n~ao nulas (yi 6= 0).
Esta notaca~o e as observaco~es acima conduzem ao seguinte:

Exerccio 2.10 Prove que

8
>
>
>
<

(x ;hh) 2 IRn  IRn >


=

x 2 X; h 6= 0
Ah = 0 e I (h )  I (x )

=)

>
;

>
>
>
:

9 > 0 tal que :

i) (y ;zz ) = (x + hh;xx hh) 2 X  X


ii) I (y )  I (x ); I (z )  I (x ) e
#I (x ) > minf#I (y ); #I (z )g:

Uma ilustraca~o numerica do exerccio 2.10 e:

Exerccio 2.11 Seja x = (1; 1; 1; 1; 0)


(

X=

x2

"

IR5

2 X , h = (1;

1 0 1 0
0 1 0 1

10
5

"

x=

5; 1; 5; 0) e
2
2

x => 0

i) veri que que Ah = 0 e I (h )  I (x ).

ii) Calcule a intersecc~ao da reta L com o poliedro X onde

L = fx 2 IR5 = x = (1; 1; 1; 1; 0) + (1; 5; 1; 5; 0);  2 IRg.


T
iii) Calcule y 2 L X tal que #I (y ) < #I (x) e veri que que y = x + hh
( como na prova do fato 2.2).
T
iv) Mostre que o maior segmento de reta, simetrico em relac~ao a x e contido em L X e
fx 2 IR5 = x = (x + hh) :  2 [ ; +]g

2.4 Vertices de Poliedros Can^onicos - PL

16 de agosto de 2007 15

Estas construco~es baseadas nos fatos 2.1 e 2.2, s~ao dirigidas a caracterizaca~o de pontos do poliedro que
n~ao s~ao vertices (ou equivalentemente a vertices). Na medida em que esta caracterizaca~o e baseada na exist^encia
(ou n~ao) de direco~es convenientes, introduzimos a notaca~o:

Notac~ao 2.2 Hx = fh 2 IRn = Ah = 0 e I (h )  I (x )g7 .


Exerccio 2.12 Prove que Hx e um subespaco linear e portanto um cone convexo (x 2 X := fx : Ax = b;xx =>

0 g).

Podemos ent~ao enunciar o seguinte resultado,

Lema 2.3 Para todo x 2 X , x 2 V (X )

() Hx  f0g, que equivale a forma,


x 62 V (X ) () Hx 6 f0 g:

Prova Dado x 2 X
x 62 V (X ) () 9h 2 IRn = h 6= 0 e (x + h ;xx h ) 2 X  X (pelo fato 2.1)
() 9h 6= 0 =9 > 0; (x + hh;xx hh) 2 X  X (hh = h)
() 9h 6= 0 =Ah = 0 e hxj = 0 =) hj = 0i (pelo fato 2.2)
() 9h 6= 0 =hh 2 Hx:
Ou seja, x 2 V (X ) () Hx = f0 g.

2.4.1 Caracterizac~ao de Vertices


Lembrando que Ah =
equivalentes8 ,

n
P
j =1

hj a j =

j 2I (h )

hj a j , e facil veri car o seguinte encadeamento de caracterizaco~es

Teorema 2.2 Dado x 2 X ,

x 2 V (X )

() Hx  f0g
()6 9h 2 IRn = h 6= 0; Pj2I (x) hjaj = 0
() faj gj2I (x) s~ao linearmente independentes.

Prova Imediata do resultado anterior e da de nica~o de depend^encia linear.


Este encadeamento prova um resultado basico que e chamado de caracterizac~
ao de vertices por
colunas linearmente independentes , que pode ser apresentado resumidamente como: dado x 2 X = fx 2
> 0g
IRn = Ax = b e x =

x 2 V (X )

() faj gj2I (x) s~ao l.i. (linearmente independentes):

Esta caracterizaca~o, basica para o desenvolvimento que se segue, tem como um de seus varios corolarios,
o abaixo:

Lema 2.4 O poliedro X = fx 2 IRn = Ax = b e x => 0 g tem um numero nito de vertices.


7 Hx = fh 2 N (A) = I (h )  I (x )g, onde N (A) e o espaco nulo de A.
8 Vale lembrar que a j e a j -esima coluna da matriz A.

2.4 Vertices de Poliedros Can^onicos - PL

16 de agosto de 2007 16

Prova Basta apresentar um limitante superior nito, gerado por todos os possveis vertices,
#V (X )

< #fJ  f1; 2; : : : ; ng=fa j gj 2J e l.i.g


<
<
= #fJ  f1; 2; : : : ; ng=#J = mg
n
n
n
<
= ( 0 ) + ( 1 ) +    + ( m ):
=

Exerccio 2.13 Se A tem caracterstica p (p =< m) ent~ao #V (X ) =< ( np ).


Exerccio 2.14 Prove as equival^encias: h0 2 X i

() h0 2 V (X )i () hf0g  V (X )i:

O resultado acima utiliza a hipotese do poliedro X estar na forma can^onica, isto e, X = fx 2 IRn = Ax =
b e x => 0 g.

> x1 =
> 0g, para o qual V (Y )  ;, e f
Considerando novamente o exemplo Y = fx 2 IR2 = 1 =
acil ver
que 0 2 Y , o que mostra que a validade do resultado apresentada no exerccio 2.14 depende da representaca~o
algebrica do poliedro.

Uma das raz~oes para escolhermos a forma can^onica e a exist^encia de resultados fortes ligando o poliedro
nesta forma ao conjunto de seus vertices. Por exemplo:

Lema 2.5 Dado X = fx 2 IRn = Ax = b e x => 0 g


X 6 ; () V (X )

6 ;:

Prova
((=) Trivial pois V (X )  X .
(=)) Se X 6 ;, ent~ao (pelo axioma da escolha), seja x 0 2 X  IRn .
+1
:
Podemos gerar a seguinte sequ^encia fx i gni=0
i) se x i 2 V (X ), x i+1 = x i ;
ii) se x i 62 V (X ), x i+1 = y i 2 X : #I (y i ) < #I (x i ).
A exist^encia de y i como em ii) e garantida pelo exerccio 2.10 (pagina 14).
< n e, x i 2 V (X ) ou #I (x i ) =
< n i.
Claramente #I (x 0 ) =
> 0 temos que x n+1 2 V (X ).
Como #I (x n+1 ) =
A prova construtiva apresentada acima e algortmica, no sentido que a partir de um ponto do poliedro
e gerada uma sequ^encia de pontos, tambem do poliedro. Apos no maximo n iteraco~es, esta sequ^encia produz
um vertice.

Se x i n~ao for vertice, o conjunto de colunas associadas as componentes n~ao nulas de x i (fa j gj 2I (x i ) ) e
linearmente dependente. Em cada iteraca~o do processo e gerado x i+1 com menos componentes n~ao nulas do que
x i (I (x i+1 ) estritamente incluso em I (x i ) ). Portanto a cada iteraca~o ou detectamos um vertice ou reduzimos o
conjunto de colunas fa j gj 2I (x k ) , buscando um subconjunto de colunas linearmente independentes, e portanto,
correspondente a um vertice.

2.5 Caracterizac~ao de Poliedros Can^onicos - PL

16 de agosto de 2007 17

2.4.2 Metodo Conceitual para Obtenc~ao de Vertice (MCOV)


Esta vis~ao e os resultados anteriores, sugerem que o problema de encontrar um vertice do poliedro X , a partir
de um ponto qualquer deste poliedro, possui uma soluca~o algortmica simples, como pode ser visto por:

Inicializac~ao: i
0; x 0 2 X
Passo (?):
Encontre, se existir, h i tal que:
h i 6= 0
h i 2 Hxi = fh 2 IRn Ah = 0 e I (h )  I (x i )g.
Caso n~ao exista, x i 2 V (X ): pare.
Se 9hij > 0, faca:

 = maxhik >0

x i+1
i

xi + 

i+1

xik
hik
hi

retorne ao passo (?).


Caso contrario, faca:

+ = minhik <0
x i+1
i

xik
hik

xij + 

i
xi
xik
i ( xj
)
=
h
hij = hij ( hji + max
i
j
hij
j
hik >0 hk

0
@xi

i
j + + hj =

x i + + h i

xi
hij ( hji
j

xik
+ min
i )
hik <0 hk

xi
hij ( hji
j

xik >
min
i)=0
hi >0 hk

xik
max
i)
hik <0 hk

hij <0
>
= 0A

i+1
retorne ao passo (?).

A transformaca~o deste metodo conceitual em algoritmo e obtida pela clara discriminaca~o de como construir h i 2 Hx i , tal que h i 6= 0 . Isto corresponde a encontrar, se existir, uma soluca~o n~ao trivial para o sistema
homog^eneo de equaco~es lineares:
P
j
j 2J hj a = AJ h J = 0 ,
onde J = I (xi ).

Exerccio 2.15 Descreva detalhadamente o algoritmo indicado no paragrafo anterior (coloque na forma de
alguma linguagem de programac~ao alto-nvel, indicando como obter o hi ).
O metodo conceitual (MCOV), alem de ser a base para a soluca~o de problemas que veremos adiante, sera
utilizado, na proxima seca~o, para a construca~o de caracterizaca~o nita de poliedros.

2.5 Caracterizac~ao de Poliedros Can^onicos


A caracterizaca~o nita de poliedros e a resposta a quest~ao levantada anteriormente sobre exist^encia de um
conjunto minimal M tal que X possa ser descrito a partir de M atraves da operaca~o casco convexo. Uma
interpretaca~o geometrica de (MCOV) sera a base usada para derivar tal caracterizaca~o.
A cada iteraca~o do (MCOV), se n~ao detetarmos um vertice, construimos uma direca~o tal como a utilizada
no lema 2.2. Relembrando a interpretaca~o geometrica deste resultado, dado um ponto z do poliedro (z n~ao
vertice), existe uma reta L cuja intersecca~o com o poliedro X contem z no seu interior (relativo). Como ja
discutido anteriormente, a reta L intercepta o poliedro ou em um segmento de reta ou em uma semireta. Os
extremos do segmento de reta, ou a origem da semireta, s~ao pontos do poliedro \mais proximos" de serem
vertices, pois possuem menos componentes n~ao nulas do que z .

Usando estas direco~es podemos mostrar que o primeiro conjunto n~ao vazio do tipo Xq := fx 2 X :
< q g, com um n
#I (x ) =
umero minimal de componentes n~ao nulas, esta contido no conjunto dos vertices de X .

2.5 Caracterizac~ao de Poliedros Can^onicos - PL

16 de agosto de 2007 18

Lema 2.6 Se p = minfq : Xq 6= ;g, ent~ao Xp  V (X ).


Prova Por contradica~o, suponha existir x 2 Xp tal que x 62 V (X ). Neste caso existe h 6= 0 para o qual
Ah = 0

(x

h;xx + h) 2 X  X:

Neste caso existe i tal que hi > 0 (se h  0 , tome h no lugar de h ). Assim, se tomarmos  = min hxjj > 0,
hj >0
teremos x hh 2 X , pois

 A(x hh) = Ax Ah = Ax = b; e


 x hh => 0 ( 2 IR+): o caso hk = 0 e trivial, assim examinaremos
{ hk < 0: xk hk > xk > 0 (do lema 2.2, hk =
6 0 ) xk > 0);! e
{ hk > 0: xk

hk = xk

n o
min hxjj hk = hk hxkk

hj >0

n o
>
min hxjj
= 0.

hj >0

Alem disso, do lema 2.2, xj = 0 ) hj = 0 e portanto teramos


#I (x

hh) < #I (x ) = p;

mas isso contraria a escolha de p. Logo n~ao pode existir um tal x 2 Xp n V (X ), concluindo da a tese.
Agora podemos demonstrar um importante resultado, que poliedros can^onicos s~ao somas diretas do casco
convexo de um numero nito de pontos mais um cone.

Teorema 2.3 Se X = fx 2 IRn = Ax = b e x => 0 g e C = fh 2 IRn = Ah = 0 ; h => 0 g, ent~ao

 [ V (X ) ]

+ C:

Prova Devemos demonstrar que: (i) [V (X )] + C  X e (ii) X  [V (X )] + C .


(i) Se x 2 [V (X )] + C , ent~ao existem

y=

k
X
i=1

ix i

2 [V (X )]

k
X
i=1

i = 1; => 0 e fx i gki=1

 V (X )

e h 2 C;

tais que x = y + h . Da,

{ Ax = A(y + h ) Ah==00 Ay =
{

k
P
i=1

h =>0
k
P
x = y + h => y = ix => 0 .
i=1

i Ax i Ax==b
i

k
P
i=1

ib = b ;

Portanto, x 2 X .

(ii) Suporemos X 6 ; e X 6 [V (X )], pois estes casos s~ao diretos. Faremos a demonstraca~o por induca~o no
< q g. Seja novamente p := minfq : Xq 6 ;g.
ndice q de Xq := fx 2 X : #I (x ) =

Base: Do lema 2.6, vale Xp  V (X ) e da segue que Xp  [V (X )] + C .

<i=
< k.
Passo: Supor que Xi  [V (X )] + C , para todo p =

Seja x 2 Xk+1 . Se x 2 V (X ) ja segue que x 2 [V (X )] + C (basta tomar h = 0 ).


Se x 62 V (X ), existe h 6= 0, para o qual Ah = 0, I (h)  I (x) e (x h;xx + h) 2 X  X (lema 2.2),
analisaremos separadamente tr^es casos, a partir da seguinte construca~o:

2.5 Caracterizac~ao de Poliedros Can^onicos - PL

16 de agosto de 2007 19

(1) Se h =
6> 0, mostraremos que x + 1h => 0, 1 = min hxjj .

hj <0
>
>
>
Se hj = 0, ent~ao xj + hj = xj = 0, 8 > 0.
Se hj < 0, ent~ao xj + 1 hj = hj ( hxjj + minhl <0 hxl l ) = hj ( hxjj

> 0. Deste modo,


maxhl <0 hxll ) =
I (x ), e por hipotese de induca~o x + 1h 2 [V (X )] + C .

I (x + 1h ) 
6=
xj
<
(2) Se h =
6 0, mostraremos que x 2h => 0, 2 = hmin
.
j >0 hj
> 0.
Se hj > 0, ent~ao xj 2 hj = hj ( hxjj minhl >0 hxll ) =
< 0, ent~
> xj =
> 0, 8 > 0.
Se hj =
ao xj hj =
Do mesmo modo, I (x 2h)  I (x), e por hipotese de induca~o x 2h 2 [V (X )] + C .
6=

Existem tr^es possibilidade,


 Se h  0, teremos h 2 C e, usando o item (2) acima, y := x

2h 2 [V (X )] + C . Deste modo,

x = y + 2h 2 [V (X )] + C:




Se h  0 , teremos h 2 C e, usando o item (1) acima, segue que y := x + 1h 2 [V (X )] + C .


Deste modo, 1h 2 C e
x = y 1h 2 [V (X )] + C:
> 0 e h 6=
< 0 , concluimos que
Se h 6=

x + 1h 2 [V (X )] + C e x 2h 2 [V (X )] + C;
portanto x 2 [fx

2h ;xx + 1h g], e da segue que9


x 2 [V (X )] + C .

Este teorema tem uma particularizaca~o importante:

Corolario 2.1 Seja X = fx 2 IRn = Ax = b e x => 0 g

X e limitado

() X  [V (X )]:

Prova
(=)) Se X = ;, ent~ao segue a tese. Se X 6= ; e limitado, ent~ao 6 9h 6= 0 em C (caso contrario x + hh 2 X ,
para todo (x ; ) 2 X  IR+ ). Logo C  f0 g e da, pelo teorema acima, segue que X  [V (X )].
((=) Esta outra parte e baseada em que o conjunto de vertices e nito (lema 2.4) e que o casco convexo de um
numero nito de pontos e limitado (exerccio 2.7).
O resultado acima corresponde a enunciar o resultado intuitivo que um poliedro convexo limitado (vazio
ou n~ao) e descrito de forma minimal pelo conjunto de seus vertices. Mais ainda, esta ligado a constatac~ao de
que um poliedro (n~ao vazio) e limitado se, e so se, o cone associado ao poliedro reduz-se a origem.

Exerccio 2.16 Prove que:


(i) C  f0 g =) X limitado
(ii) X limitado n~ao vazio =) C  f0 g
(iii) X limitado 6=) C  f0 g
9 Note que, como C e cone convexo, [C ] = C e [A + C ] = [A] + C .

2.5 Caracterizac~ao de Poliedros Can^onicos - PL

16 de agosto de 2007 20

Portanto, o conjunto de vertices ( nito) n~ao e informaca~o su ciente para caracterizaca~o ( nita) de poliedros somente no caso ilimitado (C 6 f0g).
A ideia basica desta caracterizaca~o e que conhecendo o cone poliedral em uma regi~ao limitada, o restante
do cone poliedral pode ser descrito atraves de fatores de escala (de forma similar ao exerccio 2.3). Ora, se a
regi~ao limitada for um poliedro, a intersecca~o do cone poliedral com este poliedro limitado sera um poliedro
limitado e passvel de descrica~o como casco convexo de um numero nito de pontos. Esta ideia intuitiva e
formalmente expressa como:

Lema 2.7 Se C = fh 2 IRn = Ah = 0 e h => 0 g e


C 1 = fh 2 C= khk1 = 1g  fh 2 IRn = Ah = 0 ; h => 0 e
ent~ao C 6 f0g () C 1 6 ;
() C  C (C 1)

Pn

j =1 hj = 1g,

Prova
(i) C 6 f0 g =) C 1 6 ;
Trivial, pois se h 2 C e h 6= 0;
(ii) C 1 6 ; =) C

khk1 1h 2 C 1.

 C (C 1 )

C (C 1 )  C : Como C e cone e C 1  C , segue que C (C 1 )  C .


C  C (C 1 ): Tome um h 2 C qualquer:
 Se h = 0, podemos tomar h = 0h, h 2 C 1 6 ;.
 Se h 6= 0, de nimos h := kh1k1 h, e da h 2 C 1.
> 0, h
h 2 C (C 1 ). Assim, tomando
Como C (C 1 ) e o cone gerado por C 1 , qualquer que seja  =
1
 := kh k1 teremos h = hh 2 C (C ).
(iii) C  C (C 1 ) =) C 6 f0 g
Como 0 2 C 6 ;, C  C (C 1 ) =) C 1 6 ; e para todo h 2 C 1 , h 2 C e h 6= 0 .
Observe que, utilizando o lema 2.7, C ca completamente descrito atraves de C 1 . Se C 1  ; ent~ao
C  f0g; caso contrario C  C ( C 1 ). Alem disso, como C 1 e um poliedro limitado, ele e completamente
descrito por seus vertices.

2.5.1 Caracterizac~ao nita de poliedros


De nic~ao 2.9 Os vertices de C 1 s~ao chamados raios extremais de C .
Exerccio 2.17 Mostre que h 2 C; h =

Pq

i
>
i=0 ir onde i = 0;

r0 = 0 e

fr igqi=1  V (C 1).

Este resultado pode ser considerado como uma caracterizaca~o de cones poliedrais.
O encadeamento de resultados acima nos permite enunciar a

Caracterizac~ao nita de poliedros: Sejam X = fx 2 IRn = Ax = b e x => 0 g e


n
P
C 1 = fh 2 IRn = Ah = 0 ;
hi = 1 e h => 0 g.
Ent~ao

i=1

2.5 Caracterizac~ao de Poliedros Can^onicos - PL

x2X

()

8
>
>
>
>
>
>
>
>
<

x=
onde

>
>
>
>
>
>
>
>
:

16 de agosto de 2007 21

Pp

Pq
j
i
j =1 j v +
i=0 ir

fv igpiq=1  V (X )
fPr j gj=1  V (C 1)

j => 0; j 2 f1; 2; : : : ; pg;


r = 0 ; 0 = 1; j => 0; j 2 f1; 2; : : : ; qg
0

p = 1;
j =1 j

Este resultado e basico para os desenvolvimentos que se seguem, mas n~ao deve ser esquecido que o poliedro
tem que estar na forma can^onica

X = fx 2 IRn = Ax = b e x => 0 g
Se por exemplo o poliedro fosse:

X = fx 2 IR2 = 1 => x1 => 0g 6 ;


este resultado n~ao seria valido pois V (X )  ;.

Cap
tulo 3

O teorema fundamental de programac~ao


linear e algumas implicaco~es em termos de
algoritmos
3.1 O Teorema Fundamental de Programac~ao Linear.
Tendo estudado a caracterizaca~o de poliedros, o passo seguinte e aplicar este conhecimento ao problema de
programaca~o linear. Como discutido anteriormente, sem perda de generalidade nos concentraremos no problema
can^onico de programaca~o linear (PLC), e utilizando os resultados de caracterizaca~o de poliedros (can^onicos), o
(PLC) pode ser escrito como::
(PLC)

8
>
<
>
:

max

s:a

hc;xxi

Ax = b
x => 0

9
>
=
>
;

8
>
>
>
<
>
>
>
:

max

s:a

onde

hc;xxi
x 2 [V (X )] + C
X  fx 2 IRn = Ax = b;xx => 0g e
C  fh 2 IRn = Ah = 0 ;hh => 0 g:

9
>
>
>
=
>
>
>
;

O primeiro resultado que decorre trivialmente da caracterizac~ao acima e que

Lema 3.1 O (PLC) e inviavel

() X  ;
() V (X )  ;
() valor otimo do (PLC) = 1:

Estas equival^encia dispensam prova formal, pois s~ao apenas uma colet^anea de de nico~es equivalentes e
do lema 2.5 (X  ; () V (X )  ;).
Portanto, se nos concentrarmos nos problemas viaveis, estaremos maximizando a funca~o

X 2 [V (X )] + C , onde V (X ) 6 ; (PLC viavel) e C 6 ; (pois 0 2 C ).

hc;xxi

para

Logo, o valor otimo do (PLC) (supondo viabilidade) pode ser escrito como
valor otimo do (PLC) = sup hc ;xxi =
x 2X

sup

hc;xxi + suphc;hhi:
h 2C

x 2[V (X )]

Em relaca~o ao primeiro termo que comp~oe a express~ao acima notemos que:

Lema 3.2 Para todo c 2 IRn e todo x 2 X , X  fx 2 IRn = Ax = b ;xx


sup

> 0g

6 ;;

hc;xxi = v 2max
hc;vv i = hc;vv i
V (X )

x2[V (X )]

onde v 2 argmaxfhc ;vv i= v 2 V (X )g

> hc ;vv i, 8v 2 V (X )).


(i.e., v 2 V (X ) e hc ;vv i =

22

3.1 O Teorema Fundamental de Programac~ao Linear. - PL

16 de agosto de 2007 23

Prova Como X 6 ;, temos que V (X ) 6 ; e assim p := #V (X ), p > 0. Denotaremos os vertices de X por


V (X ) = fv 1 ;vv 2 ; : : : ;vv p g (do lema 2.4, #V (X ) e nito).
Da de nica~o de casco convexo,

8x 2 [V (X )]; 9
Portanto, 8c 2 IRn ;

p
X
p
f igi=1 : i = 1;
i:=1

i => 0 (i = 1; 2; : : : ; p) tais que x =

p
X
i:=1

iv i :

8x 2 [V (X )], teremos
hc;xxi

p
P

i hc ;vv i i =<

p
P

i maxj =1;2;:::;p hc ;vv j i


i:=1 p
P
P
=
i hc ;vv i = hc ;vv i i = hc ;vv i:
i:=1
i=1
=

i:=1
p

Quanto ao segundo termo da express~ao apresentada para o valor otimo do (PLC), suph 2C hc ;hhi, temos:
> 0 g, sup
h2C

Lema 3.3 Qualquer que seja c 2 IRn , usando C := fh 2 IRn = Ah = 0 ; h

hc;hhi 2 f0; +1g:

Alem disso,

< 0 () hsup
h
h
(i) D8h 2 C; hc ;hhi =
E h2C hc ;h i = maxh 2C hc ;h i = 0i e
(ii) 9h 2 C tal que hc ;hhi > 0 () hsuph 2C hc ;hhi = +1i :

Prova Se

8h 2 C; hc;hhi =< 0 ,

e deste modo

< 0. Como 0 2 C e hc ; 0 i = 0, segue que sup


hi => 0 ,
ent~ao suph 2C hc ;hhi =
h 2C hc ;h

8h 2 C; hc;hhi =< 0 () suphc;hhi = max


hc;hhi = 0:
h 2C
h 2C

De forma analoga, e facil ver que hsuph 2C hc ;hhi = maxh 2C hc ;hhii ,


parte (i).

8h 2 C; hc;hhi =< 0 , o que conclui a

Caso exista h 2 C , para o qual hc ;hhi > 0, pelo fato de C ser cone, e facil ver que

L := fh 2 IRn = h = hh;  => 0g  C:


> sup
hi => lim!1 hc ;hhi = hc ;hhi lim!1  = +1, e portanto
Deste modo, suph 2C hc ;hhi =
h 2L hc ;h

suphc ;hhi = +1:

h 2C

A prova se completa notando que

6 9h 2 C

hc;hhi > 0 () 8h 2 C; hc;hhi =< 0

Estes resultados formam a base do teorema fundamental de programac~


ao linear :

Teorema 3.1 Dado um problema de programac~ao linear na forma can^onica, (PLC), valem as equival^encias
abaixo:

(a) Valor otimo do (PLC) =

(b) Valor otimo do (PLC) = +1


(c) Valor otimo do (PLC) pertence aos reais

() (PLC) e inviavel
() V (X )  ;;
() (PLC) e ilimitado
() X 6 ; e 9h 2 C = hc;hhi > 0;
() (PLC) tem soluc~ao otima
() 9v 2 V (X ) que e soluc~ao otima do (PLC).

3.1 O Teorema Fundamental de Programac~ao Linear. - PL

16 de agosto de 2007 24

Prova O item (a) decorre diretamente do lema 3.1. Os itens (b) e (c) decorrem da identidade supx2X hc;xxi =
supx2[V (X )] hc ;xxi + suph2C hc ;hhi e dos lemas 3.2 e 3.3.
Este teorema admite um corolario, por vezes chamado na literatura de teorema fundamental:

Corolario 3.1 Se o (PLC) possui soluc~ao otima, ent~ao existe um vertice que e soluc~ao otima.
Prova A prova e trivial a partir da implicaca~o h (PLC) tem soluca~o otima
(c) do teorema 3.1.
Do teorema
linear, \se o valor
\maximizar (1 e

valor otimo e real i e da parte

3.1 e do corolario acima podemos concluir uma propriedade de problemas de programaca~o


otimo e real, ent~ao existe soluca~o otima". Tal n~ao e o caso geral, como pode ser visto por
x ), para x > 0", que tem valor o
timo igual a 1, mas n~ao possui soluca~o otima.
=

Dos resultados acima, podemos observar a exist^encia de duas condico~es necessarias para o (PLC) ser
ilimitado (valor otimo = +1) que s~ao: i) X e ilimitado; e
ii) 9h 2 C : hc ;hhi > 0.
Entretanto, e importante notar que estas condico~es n~ao s~ao su cientes para ilimitaca~o do (PLC).

Exerccio 3.1 Prove que

i) valor otimo = +1 =)
ii) 9h 2 C :

C 6 f0g e existe h 2 C :

hc;hhi > 0 6) valor otimo = + 1

hc;hhi > 0

(a menos que acrescentemos a hipotese X

6 ;).

Exerccio 3.2 Prove que

i) Valor otimo = +1 =) X ilimitado;

ii) X ilimitado =
6 ) valor otimo = +
iii) valor otimo

1;

2 IR 6=) X limitado.

Utilizando a caracterizaca~o nita de poliedros, podemos reescrever o teorema 3.1 como:

Lema 3.4 Dado o (PLC), sejam


V (X ) = fv i gpi=1 e
(por convenca~o: p = 0 () V (X )  ;)
(por convenc~ao: q = 0 , V (C 1 )  ;),
V (C 1 ) = fr j gqj=1
> 0 ; kh k1 = 1g, ent~
onde C 1 = fh 2 IRn = Ah = 0 ; h =
ao:
(a) (PLC) inviavel () V (X )  ;;
(b) (PLC) ilimitado () V (X ) 6 ; e 9j 2 f1; 2; : : : ; q g : hc ;rr j i > 0;

< 0; 8j:
(c) (PLC) tem soluc~ao otima x () 9v 2 V (X ); hc ;xxi = hc ;vv i = maxi=1;2;:::;p hc ;vv i i e hc ;rr j i =
Prova O item (a) segue do teorema 2.5 (pagina 16: X
seguinte equival^encia

9h 2 C

: hc ;hhi > 0

()
C 1 6 ;

6 ; , V (X ) 6 ;).

9r 2 V (C 1) : hc;rr i > 0 .

Exerccio 3.3 Seja X  o conjunto de soluco~es otimas do (PLC). Prove que


X  = [fv i gi2I  ] + C  ,
onde

I  := fi : v i 2 V (X ) e hc ;vv i i = valor otimo de (PLC) e


C  = fh 2 IRn = Ah = 0; h => 0; hc ;hhi = 0 g.

Os itens (b) e (c) seguem da

3.2 Um Modelo de Algoritmo - PL

16 de agosto de 2007 25

Exerccio 3.4 Construa um exemplo no qual X  6 ; e C  6 0.

3.2 Um Modelo de Algoritmo


O lema 3.4 motiva naturalmente um metodo nito de resolver o problema de programaca~o linear (can^onico),
que e descrito abaixo:

Algoritmo 1 Um primeiro esquema de algoritmo para resolver o (PLC)


> 0g
Passo 1: Calcule V (X ), o conjunto dos vertices de X = fx 2 IRn = Ax = b; x =
Se V (X )  ; pare: o problema e inviavel!

Passo 2: Denote V (X ) = fv 1 ;vv 2 ; : : : ;vv p g (6 ;)


Encontre v 2 argmaxfhc ;vv i i : i 2 f1; 2; : : : ; pgg (podera-se usar um algoritmo combinatorio)

> 0 ; kh k1 = 1g
Passo 3: Calcule V (C 1 ), o conjunto dos vertices de C 1 = fh 2 IRn = Ah = 0 ; h =
1
Se V (C ) = ;, ent~ao pare: v e soluc~ao do (PLC)! (isso decorre do lema 3.4)

Passo 4: Seja V (C 1 ) = fr 1 ;rr 2 ; : : : ;rr q g (6 ;)


Se 9r k 2 V (C 1 ); tal que hc ;rr k i > 0, ent~ao pare: o problema e ilimitado!
Pois L = fx
Se hc ;rr j i

IRn = x = v + rr k ;

> 0g e uma semireta de ilimitac~


ao, isto e,

L  X e lim!1 hc ;vv i + rr k = +1:


<
e soluc~ao do (PLC)!
= 0; 8j 2 f1; : : : ; q g, pare: v 

Este algoritmo e nito se soubermos computar os vertices de um poliedro qualquer em um numero nito
de passos. Portanto, para poder discutir como implementar este tipo de algoritmo, temos que discutir como
determinar vertices de um poliedro (X ou C 1 ).
Para gerar vertices e natural que nos apoiemos em uma caracterizac~ao algebrica de vertices, dada pelo
teorema 2.2 (pagina 15):

x 2 V (X )

()

(i) x 2 X; e
< m)
(ii) fa j gj 2I (x ) e l.i. (=) #I (x ) =

Esta caracterizaca~o sugere um metodo \inocente" de c^omputo de elementos de V (X ), descrito a seguir.

Algoritmo 2 Metodo Combinatorio \Inocente" para C^omputo de V (X )


Passo 1: Seja J =

f 1; 2; : : : ; n g

(m  n)

Passo 2: Calcule: (combinac~ao de n elementos, m a m)


0 := fI  J= #I =< mg
1 := fI 2 0 = fa j gP
j 2I e um conjunto l.i.g
2 := fI 2 1 = b = j 2I j a j e => 0 g

Passo 3: Para cada I 2 2 , faca


vi = i ; se i 2 I e
vj = 0, se j 62 I

(se o passo 3, 2  ; n~ao for executado sequer uma vez, ent~ao teremos V (X )  ;)
Em relaca~o a este procedimento cabem as seguintes observaco~es:

3.3 Vertices e Soluco~es Basicas - PL

16 de agosto de 2007 26

1: A logica para gerar 0 e facil, porem muito \trabalhosa" no sentido que # 0 =

Pm

n
i=0 ( i ).

2: Diferentes I 2 2 , podem gerar o mesmo vertice, mas cada I 2 2 gera um unico vertice
pois o conjunto
P
j
a
b
f gj2I ser linearmente independente implica na unicidade dos f j gj2I tais que = j2I j aj .
Cabe a pergunta: Sera necessario gerar todos os vertices para resolver o (PLC)? Isto e, sera realmente
necessaria uma enumeraca~o explcita dos vertices ou sera possvel uma enumeraca~o implcita ?
Para responder a estas quest~oes, e conveniente explorar mais a caracterizaca~o algebrica de vertices.
Iniciemos o estudo no caso em que a matriz (A) associada ao poliedro (X ) tem caracterstica plena (posto
A = m), ou seja, as restrico~es (Ax = b ) s~ao linearmente independentes.

3.3

Vertices e Soluc~oes Basicas

Consideremos o exemplo

Exemplo 3.3.1 Seja Y = fx 2 IR2 = x1 + x2"=> 2 #e x2 =< 2; x => 0 g


= fx 2

IR2

2
2

Ax =<

1 + 2 => 2

....
.......
....
..................
....
....
.... . x
x
.... .......
........
....
...
....
.... ......
.... . ..
....
..
.........................
....
....
....
....
.. ..
....
....
....
.... x
....
.
....
....
....
....
....
.....................
....
....
....
....
....
....
....
....
....
....
.... ..
.
.
.......
...
.....
.
s
.
.
..........
...
....
....
....
....
;
.

Figura 3.1:

onde A =

..........
........

(na dimens~
ao de

1
0

1
:
1

(a) Poliedro

"

.
.
.
.
.
.
.
.
.
.
...
.
.
.
.......
.
.
..
.
.
.
. b
...... ...... ...... ................ ..... ....... ...... ...... ...... ...... ...... .
...... ......
.s
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
.pppp
p
.
ppppppppppppp
pp pp
p
p
p
p
p
.
p
a
p.pp
ppppppppppp
.
pppppppppppppppppp
.
pp pp
p ppp
p
p
p
pp. p
. ppppppppppppp pp
.
.
p
.
.
. ppppppppp ppppppppp
ppppp
.
pppppppppp
........
.
pp
pppppppppp
pp
.
pp
p
p
p
p
p
t
p
p
p
p
p
. . . . . . .ppppppp.ppppppp. . ... . .ppp.ppppppp.pppp . . . . . .. . . . . . . . . . ... . . . . . . ..
..........
.
.
.
.
.
.
.
.
.
a
a
.
.
.
.
.
.
.

2 =< 2

(0 0)

x => 0 g

x)

(b) Representac~
ao das colunas de

(a) Poliedro Y de nido por dois semi-espacos


(b) Correspondente can^onico no espaco de b .

A (na dimens~ao de

no

ortante

b)

positivo;

Da gura (a) acima, que representa o poliedro Y , e facil ver que V (Y ) = fy 1 ;yy 2 g onde y 1 = (2; 0); y 2 = (0; 2).
Para discutir este caso, dentro de nosso escopo teorico, ha a necessidade de recairmos em um poliedro com a
forma can^onica (representado, via colunas, na gura (b) acima):

= f(x ;xxr ) 2 IR2  IR2 =


=

"

x1 + x2 xr1 = 2 ; x > 0 ; x r > 0 g


=
x2 + xr2 = 2 " =
#

fx 2 IR4= Ax = b; x => 0g;

1 1
onde A :=
0 1

1 0
0 1

e b :=

" #

2
:
2

A relaca~o entre V (Y ) e V (X ) e dada pelo seguinte resultado,

Lema 3.5 Seja Y = fx 2 IRn = Mx =< b ; x => 0 g e X = f(x ;xxr ) 2 IRn  IRm = Mx + x r = b ; x => 0 ; x r => 0 g
Ent~ao x 2 V (Y ) e x r = b Mx () (x ;xxr ) 2 V (X ).
Prova Deixada a cargo do leitor.

3.3 Vertices e Soluco~es Basicas - PL

16 de agosto de 2007 27

Observac~ao: E importante notar que sem a restrica~o x => 0 no poliedro original, a implicaca~o \(" n~ao e valida.
< x1 =
< 1g).
Um exemplo onde esta n~ao vale e quando Y n~ao tem sequer um vertice (p.e., V (Y ) := fx 2 IR2 = 0 =
Portanto, usando o lema 3.5, segue que V (X ) = fv 1 ;vv 2 g, onde v 1 = (2; 0; 0; 2) e v 2 = (0; 2; 0; 0).
Tendo em mente este resultado, vamos aplicar o metodo inocente para c^omputo de V (X ) ao exemplo 3.3.1.
Isto e, apliquemos o metodo da seca~o anterior para computar os vertices, no caso
"

A = [MjI] =

1
0

1 1 0
1 0 1

"

e b=

2
;
2

com identi cac~ao x3 = xr1 e x4 = xr2 . Ent~ao, J = f1; 2; 3; 4g, com m = 2 e

0 = fI  J = #I =< 2g = f;; f1g; f2g; f3g; f4g; f1; 2g; f1; 3g; f1; 4g; f2; 3g; f2; 4g; f3; 4gg = fI i g10
i=0 ;
m n
P

# 0 = ( 40 ) + ( 41 ) + ( 42 ) = 1 + 4 + 6 = 11 =

( ):
i=0 i

Para cada I
associado:

2 0, testamos sucessivamente se I 2 1 e se I 2 2.

(I 0 ) I 0 = ; : I 0

2 1 (trivial) e I 0 62 2 pois b 6= 0.

(I

1)

I = f1g : I

(I

2)

I = f 2g : I

2 (a 6= 0) e 6 9 1 : 1a

2 (a 6= 0) e 2a
2

(I

5)

I = f1; 2g : I
5

"

#"

" #

= 1
" #

1
= 2
1

y 2 = (0; 2 ; 0; 0) = (0; 2; 0; 0).


(I 3 ; I 4 ) Analogamente a (I 1 ); I j

Caso I

2 2, computamos o vertice

" #

1
0

2
, portanto I 1 62 2 .
2

" #

2
2

= b ; portanto I 2

2 2; e temos o vertice

62 2; j 2 f3; 4g.

pois f

" # " #

1
; 11
0

= fa 1 ;aa2 g; e um conjunto l.i.

" #

1 1 1
2
> 0; 2 =
> 0), portanto
Mais ainda,
=
admite soluca~o unica 1 = 0 e 2 = 2 ( 1 =
0 1 2
2
I 5 2 2 e temos o vertice y 5 = (0; 2; 0; 0).
(I

6)

(I

7)

I = f1; 3g : I

62

I = f1; 4g : I

"

(I

8)

I = f2; 3g : I
8

1
4

pois f
#

1
;
0

1
0

" # " #

"

1
0
;
0
1

#"

= fa 1 ;aa3 g; e um conjunto l.d. .

= fa 1 ;aa4 g; e um conjunto l.i.


#

" #

1 0 1
2
> 0; 4 =
>
Mais ainda, (a ;aa
=
=
admite soluca~o unica 1 = 2 e 4 = 2 ( 1 =
0 1 4
2
0), portanto I 7 2 2 e temos o vertice y 7 = (2; 0; 0; 2).
1

4)

pois f

" # "

"

pois f
#

" # "

"

1
;
1

#"

2 = 1 1
Mais ainda, (a ;aa
3
1
0
0), e temos o vertice y 8 = (0; 2; 0; 0).
2

3)

1
0

g = fa2;aa3g; e um conjunto l.i.


#

" #

2 = 2 admite soluca~o unica = 2 e = 0 ( > 0; >


2
3
2 =
3 =
3
2

(I 9 ) I 9 = f2; 4g, analogamente a I 8 , I 9 2 2 e temos o vertice y 9 = (0; 2; 0; 0).

3.3 Vertices e Soluco~es Basicas - PL


(I

10 )

I = f3 ; 4 g : I
10

10

Mais ainda, (a ;aa


3

4)

portanto I 10 62 2

pois f

"

3 =
4

"

"

16 de agosto de 2007 28

# " #

1
0
;
0
1

1 0
0 1

#"

= fa 3 ;aa4 g; e um conjunto l.i.

" #

3 = 2 admite soluca~o unica = 2 < 0 e = 2,


3
4
2
4

Pelo metodo inocente obtivemos V (X ) = fy 2 ;yy 5 ;yy 7 ;yy 8 ;yy 9 g,com

y 2 = y 5 = y 8 = y 9 = (0; 2; 0; 0) = v 2 e y 7 = (2; 0; 0; 2) = v 1 . Isto e, V (X ) = fv 1 ;vv 2 g, como ja haviamos


determinado.

O primeiro ponto que o exemplo ilustra e que distintos I


2
5
I ; I ; I 8 e I 9 geram o vertice v 2 .

2 2 podem gerar o mesmo vertice.

No caso

A raz~ao pela qual isto ocorre, e que I (v 2 ) = f2g = I 2 , isto e, b pertence ao subespaco gerado pela coluna
a 2 . Ao considerarmos os conjuntos I 5 = f1; 2g; I 8 = f2; 3g; e I 9 = f2; 4g, usamos respectivamente as colunas
a 1 ; a 3 e a 4 para completar bases do IR2 . Em outros termos, como b = 2a 2 = 2a 2 + 0a 1 = 2a 2 + 0a 3 = 2a 2 + 0a 4 ,
existem varios conjuntos em 2 associados ao mesmo vertice.
Esta constataca~o serve de motivaca~o para o seguinte,

Lema 3.6 Seja X = fx


A = m). Ent~ao

v 2 V (X )

8
>
>
>
<
>
>
>
:

2 IRn = Ax = b; x => 0g onde A e uma matriz com caracterstica plena (posto

9I  f1; 2:::ng
(i)fa i gi2I e uma base do IRm
(ii)

i2I

ia i = b tem como unica soluc~ao

i = vi => 0 (i 2 I )
i = vi = 0 (i 62 I )

Prova
((=) Trivial, pois (ii) implica que v
vertices por colunas l.i.

2X

e que I (v )

 I.

Assim sendo, (i) corresponde a caracterizaca~o de

(=)) (a) Se #I (v ) = m, ent~ao trivialmente I  I (v ).


(b) Se #I (v ) = p < m, como A tem caracterstica plena e fa j gj 2I (v ) s~ao l.i. , existem fji gm
i=p+1 tais que
j
j
m
m
i
a
a
[ f gj 2I (v ) ; f gi=p+1 ] formam uma base do IR .
Logo

i2I (v )

e da temos

ia i +

m
P

i=p+1

ia ji = b tem soluca~o unica . Como v 2 V (X ), segue que


i = vi => 0;
i = vi = 0;

i 2 I (v )
i 2 fp + 1; p + 2; : : : ; mg:

fji = i = p + 1; p + 2; : : : ; mg;

j 2I (v )

jaj = b,

Portanto,

I = I (v )
e o conjunto desejado.

A formulaca~o usual do resultado acima na literatura e calcada nas seguintes de nico~es:

De nic~ao 3.1 O ponto x e dito soluc~ao basica do sistema linear Ax = b, se existe I f1; 2; : : : ; ng tal que
(i) fa i gi2I e uma base do IRm ;
(ii) I (x )  I:

3.3 Vertices e Soluco~es Basicas - PL

16 de agosto de 2007 29

De nic~ao 3.2 O ponto x e dito soluc~ao basica viavel do sistema linear fAx = b; x => 0g, se x e soluc~ao
> 0.
basica de Ax = b e x =
Por simplicidade falaremos em soluca~o basica e soluca~o basica viavel, sem indicar os sistemas lineares
associados, sempre que n~ao haja ambiguidade. Assim sendo o lema 3.6 pode ser reescrito como:

Lema 3.7 Seja X = fx 2 IRn = Ax = b ; x => 0 g, onde A e uma matriz com caracterstica plena. Ent~ao
v 2 V (X ) () v e soluc~ao basica viavel (de Ax = b ; x => 0 ).
A caracterizac~ao de vertices por soluco~es basicas viaveis indica que a cada vertice podemos associar uma
ou mais bases do IRm extraidas das colunas de A. Isto implica que a enumeraca~o de todos os conjuntos de p
< m) e redundante, no caso da matriz A ter caracterstica plena. Pois, se o vertice v for tal que
colunas (p =
#I (v ) < m, ele sera encontrado na enumeraca~o de todos os conjuntos de m colunas l.i. que contiverem as
colunas associadas a I (v ). Isto e retratado no exemplo, onde I (v 2 ) = f2g e v 2 e \encontrado" ao enumerarmos
f2 ; 1 g ; f 2; 3g e f2 ; 4 g.
Portanto, se A tem caracterstica plena, para encontrarmos os vertices basta enumerar os conjuntos de
m colunas l.i. e veri car se a cada conjunto pode ser associado um ponto viavel.

Esta veri caca~o e simples pois m colunas l.i. formam uma base B do IRm e, portanto, b admite uma
unica representaca~o nesta base (soluca~o basica). Se todas as componentes de b, em relaca~o a base B , s~ao n~ao
negativas, ent~ao obtivemos um vertice (soluca~o basica viavel). Caso contrario, a esta base do IRm esta associada
uma soluc~ao basica, porem n~ao a um vertice.
Com estas observaco~es, podemos enunciar o seguinte metodo para encontrar o conjunto V (X ), quando
A tiver caracterstica plena.

3.3.1 Metodo para C^omputo de V (X ) para posto A = m


> m.
Estamos sempre assumindo n =

Algoritmo 3 Algoritmo Combinatorio \melhorado"


Vers~ao 1: analoga ao algoritmo 1
Passo 1: Seja J = f1; 2; : : : ; ng
(m  n)

Vers~ao 2: melhora na vers~ao 1


Passo 1: Seja J = f1; 2; : : : ; ng

(m  n)

Passo 2: Calcule: (combinac~ao n, m a m)


Passo 2: Calcule: (combinac~ao n, m a m)
M := fI  J= #I = mg
P erm := fI  J : #I = mg
CB := fI 2 M= fa j gj 2IPe um conjunto l.i.g
CBV := fI 2 CB= b = j 2I j a j e => 0 g Passo 3: Para cada Ii 2 P erm, faca
se (fa gi2I e l.i.) ent~ao
P
Passo 3: Para cada I 2 CBV , faca (vertice v )
encontre 2 IRm tal que
ia i = b
i2I
vi = i ; se i 2 I e
se (  0 ) ent~ao de na
vj = 0, se j 62 I
vi = i se i 2 I e
vj = 0 se j 62 I
(se o passo 3 n~ao for executado sequer uma vez, ent~ao teremos V (X )  ;)
Observe que CB 6= ; (existe alguma soluca~o basica para Ax = b ) se, e somente se, A tem caracterstica
plena. Em relaca~o a este procedimento e ao metodo inocente apresentado anteriormente, cabem as seguintes
comparaco~es:
<
(i) Este procedimento, apesar de computacionalmente custoso, e superior ao inocente pois #M < # 0 ; #CB =
1
2
<
# e #CBV = # :

3.3 Vertices e Soluco~es Basicas - PL

16 de agosto de 2007 30

(ii) A possibilidade de diferentes bases fAi gi2I gerarem o mesmo vertice e mantida, porem se houver duplicaca~o, esta sera menor que no metodo inocente.

Exerccio 3.5 Aplique o metodo para c^omputo de V(X) para o exemplo 3.3.1 e compare com o metodo combinatorio inocente.

A exist^encia de mais de uma base associada a um unico vertice e parcialmente respondida por:

Lema 3.8 Se x e soluc~ao basica e #I (x ) = m, ent~ao existe e e unica a base fa j gj 2I associada ao ponto x .
Prova Trivial, pois I = I (x).
Como no caso em que #I (x ) < m podem existir varias bases associadas a mesma soluca~o basica, dizemos que:

De nic~ao 3.3 Uma soluc~ao basica e dita degenerada (soluc~ao basica degenerada ), se #I (x ) < m, e uma
soluc~ao basica viavel degenerada e dita ser um vertice degenerado .
Portanto uma condica~o su ciente para garantir que a cada vertice corresponde uma unica base e supor
que n~ao existam vertices degenerados no poliedro X . Esta suposica~o e formalizada por:

De nic~ao 3.4 Dizemos que a hipotese de n~ao degeneresc^encia (HND) e valida para o poliedro X =
fx 2 IRn = Ax = b; x => 0g, se para todo v 2 V (X ), #I (v ) = m.
 claro que a hipotese de n~ao degeneresc^encia (HND) implica que, se X
E
A e m (posto de A). Mais ainda

6 ;, ent~ao a caracterstica de

Lema 3.9 Seja x 2 X := fx 2 IRn = Ax = b ; x => 0 g, para o qual vale (HND). Ent~ao

x 2 V (X )

() #I (x) = m:

Prova
()) Trivial pela de nic~ao de (HND).
(() Suponha por contradica~o exista x 2 X , x 62 V (X ) tal que #I (x) = m. Aplicando o metodo conceitual
para obtenca~o de vertices (MCOV), na pagina 17, podemos obter y 2 V (X ) tal que #I (y ) < #I (x ) = m,
que contraria a (HND).
 facil veri car que sob (HND) todo ponto do poliedro X tem m componentes n~ao nulas:
E

Exerccio 3.6 Prove que sob (HND), x 2 X =) #I (x ) => m.


Sob a hipotese de n~ao degeneresc^encia, n~ao ha sentido em utilizar o metodo inocente para o c^omputo
> m). Alem disto, ao aplicarmos o metodo para c^
de V (X ) (sob (HND), x 2 X =) #I (x ) =
omputo de V (X )
(posto A = m) cada vertice e gerado uma unica vez. Isto e, a cada vertice
esta associado um unico conjunto
> 0 , para b = P j a j ).
de ndices I 2 CBV (fa j gj 2I forma uma base do IRm e =
j 2I

Uma observaca~o interessante e que


para toda soluca~o basica x cuja base e fa j gj 2I podemos obter m! reP
presentaco~es matriciais para o sistema j 2I xj a j = b . Estas varias representaco~es est~ao associadas as diferentes
ordenaco~es de colunas e correspondentes variaveis.

3.3 Vertices e Soluco~es Basicas - PL

16 de agosto de 2007 31

Para podermos trabalhar dentro de um contexto matricial, doravante assumiremos uma ordenaca~o quando
analisarmos qualquer subconjunto de m-ndices das colunas a i que formam uma base. Ou seja, um conjunto
I de m ndices sera sempre tratado atraves de uma m-upla ordenada (lista ) B = (j1 ; j2 ; : : : ; jm ). Para
simpli car notaca~o utilizaremos estas listas como se fossem conjuntos, isto e, usaremos \j 2 B " para signi car
j 2 fj1 ; j2 ; : : : ; jm g.

Esta ideia de ordenaca~o n~ao e nova, pois sabemos que quaisquer m vetores l.i. no IRm formam uma base.
Mas para podermos exprimir um vetor em coordenadas associadas a esta base, devemos xar uma ordenaca~o
da base dada. Por exemplo o vetor (2; 1) pode ser expresso em relac~ao a base e 1 = (1; 0), e 2 = (0; 1) de duas
formas diferentes:
(2; 1) = 2  (1o vetor base ) + 1  (2o vetor base), se B = (e 1 ;ee2 ) e

(2; 1) = 1  (1o vetor base ) + 2  (2o vetor base), se B = (e 2 ;ee1 ).

Lema 3.10 Dado um conjunto I , I = fj1 ; j2 ; : : : ; jm g, as seguintes a rmac~oes s~ao equivalentes sobre a lista
B associada:
(a) B 2 CB , isto e, fa j gj 2B e um conjunto l.i. e #B = m;
(b) B = (j1 ; j2 ; : : : ; jm ) esta associado a base ordenada do IRm (a j1 ; : : : ;aajm );
(c) a matriz AB = [a j1 j    ja jm ], onde a i-esima coluna e a ji , e uma matriz (quadrada) n~ao singular.
Prova Omitida por ser elementar.
Podemos ent~ao reescrever o metodo para c^omputo de V (X ), no caso de A ter caracterstica plena sob
forma matricial, cujas vantagens computacionais ser~ao exploradas adiante.

3.3.2 Metodo Matricial para C^omputo de V (X ) para posto A = m


Algoritmo 4 Algoritmo Matricial para C^omputo de V (X )
Passo 1: Seja J = f1; 2; : : : ; ng

(m  n)

Passo 2: Calcule M = fI1 ; I2 ; : : : ; IQ g = fI

 J = #I = mg

i )
Passo 3: Para i 2 f1; 2; : : : ; Qg, enumere Ii = (j1i ; j1i ; : : : ; jm
Seja B := Ii = (j1 ; j2 ; : : : ; jm )
(para simpli car notac~ao)
Se existe AB1 = [a j1 ja j2 j    ja jm ] 1 , ent~ao
b := AB1b
> 0 , ent~
ao Ii e base viavel
Se b =
/* calcule o vertice v associado a Ii fazendo: */
vjk := bk , k 2 f1; 2; : : : ; mg (jk 2 Ii ), e
vj := 0, j 2 f1; 2; : : : ; ng n Ii .
Sen~ao: n~ao ha vertice associado a Ii

Desta forma o calculo dos vertices de V (X ) recaiu em um estudo de soluco~es de sistemas lineares, isto e, de
invers~ao de matrizes (ou ao menos, diagonalizaca~o). No caso em que det(AB ) 6= 0, a m-upla B = (j1 ; j2 ; : : : ; jm )
esta associada a uma base (a j1 ;aaj2 ; : : : ;aajm ) e AB e denominada matriz de base B . Mais importante do que
AB e sua inversa e a ela nos referiremos com frequ^encia.

De nic~ao 3.5 Dada uma m-upla B = (j1 ; j2 ; : : : ; jm ) (lista com m componentes), tal que (a j1 ;aaj2 ; :::;aajm )
formam uma base ordenada do IRm , dizemos que AB1 = [a j1 ja j2 j    ja jm ] 1 e a inversa da matriz associada
a base ordenada cujos ndices s~ao dados por B , ou simplesmente, AB1 e a inversa de base .

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices - PL

16 de agosto de 2007 32

A raz~ao pela qual destacamos a inversa de uma base e que a correspondente soluca~o basica x e obtida
pelo c^omputo de AB1b (= x ). Mas precisamente, se B = (j1 ; : : : ; jm ) e b := AB1b , temos que
se k 2 B , isto e, k = ji para algum i 2 f1; 2; : : : ; mg, ent~ao xk = b0i (= xji ), e

se k 62 B ,

ent~ao xk = 0.

"

1
0

Exemplo 3.3.2 Se considerarmos A =


base. Calculando b = AB1b , teremos
"

b = 01

1
0

# 1"

2
=
3

"

1 1 0
1 0 1
0 1
1 0

#"

"

e b=
#

2
, ent~ao B = (4; 1) resulta em uma
3

" #

2
3
=
,
3
2

e da podemos obter a soluc~ao basica x , fazendo


x1 = xj2 = b0 2 = 2 (1 2 B )

x2 = 0
(2 62 B )
x3 = 0
(3 62 B )
0
x4 = xj1 = b 1 = 3 (4 2 B ).
Neste caso (posto A = m), e facil ver que o c^omputo de vertices e feito atraves da detecc~ao de bases,

calculo das soluc~oes basicas utilizando as inversas de base e teste de viabilidade (n~ao negatividade).

O algoritmo 1 para resoluc~ao do (PLC) continua aplicavel se substituirmos a palavra vertice por \base
viavel" ou por \soluc~ao basica viavel", com ressalva que a um mesmo vertice podem corresponder varias soluc~oes
basicas viaveis (para vertice degenerado).

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices


No algoritmo 1, para resolver o (PLC), geramos todos os elementos de V (X ) sucessivamente (usando um dos
algoritmos combinatorios 2, 3:1 ou 3:2). Portanto, se ao gerar o vertice v pudessemos determinar se este e o
melhor vertice, obteriamos um algoritmo que so no pior caso calcule todos os vertices do poliedro.
Para tal precisamos de um teste de otimalidade que veri que se o vertice gerado e o melhor dentro todos
os vertices. Isto e, dado o vertice v , queremos saber se

2 argmax fhc;vv i= v 2 V (X )g:

De posse deste teste poderamos enunciar o algoritmo abaixo:

Algoritmo 5 Algoritmo de enumerac~ao de vertices


Passo 1: /* Teste de viabilidade do problema */
encontre um vertice v 1 2 V (X );
se V (X )  ;, ent~ao: problema inviavel, PARE
faca i
1;
Passo 2: /* Teste de otimalidade do vertice e gerac~ao de novo vertice*/
se
v i 2 argmaxfhc ;vv i= v 2 V (X )g, ent~ao faca: v  = v i
sen~ao
se ainda existir vertice n~ao pesquisado, ent~ao
encontre v i+1 2 V (X ) n~ao computado;

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices - PL


faca i

16 de agosto de 2007 33

i + 1 e volte ao passo 2

Passo 3: /* Cone coincide com a origem? */


encontre r i 2 V (C 1 );
se V (C 1 )  ;, ent~ao: v  e uma soluc~ao otima, PARE
faca i
1
Passo 4: /* Semireta de ilimitac~ao */
> 0g e uma semireta de ilimitac~
se hc ;rr i i > 0, ent~ao: S = fx 2 IRn = x = v  + rr i ;  =
ao: PARE
Passo 5: /* Gera novo raio extremal */
< 0, pois passou pelo passo 4 */
/* hc ;rr i i =
i
se r 2 argmaxfhc ;rr i= r 2 V (C 1 )g, ent~ao: v  e uma soluc~ao otima do (PLC), PARE
sen~ao
se ainda existir vertice n~ao pesquisado, ent~ao
encontre r i+1 2 V (C 1 ) n~ao computado;
faca i
i + 1 e volte ao passo 4
Para este algoritmo, existem tr^es quest~oes em aberto:
(i) Como testar otimalidade?
(ii) Como achar outro vertice ainda n~ao computado?
(iii) Sera que a enumeraca~o de bases ate encontrar a primeira base viavel e o melhor metodo para gerar o
vertice inicial?
Para responder a primeira das perguntas (teste de otimalidade), vamos utilizar mais detalhadamente a
caracterizaca~o matricial associada a um vertice, em particular, utilizaremos a inversa de base a ele associada.
E, para tal, novamente introduziremos notaco~es adicionais:

Notac~ao Dado um vertice v e uma base B = (j1 ; j2 ; : : : ; jm ) a ele associada (isto e, I (v ) = fj1 ; j2 ; : : : ; jm g)
denotaremos
(a) xB

2 IRm por (xB )i = xji ou xB = (xj1 ; xj2 ; : : : ; xjm )

(b) N = (jm+1 ; jm+2 ; : : : ; jn ) uma lista com (n-m) elementos, cujas componentes s~ao os ndices j
e, indices fora da base)

62 I (v ) (isto

~ = [a jm+1 ja jm+2 j : : : ja jn ]
(c) AN = A
(d) x N = x~ = (xjm+1 ; xjm+2 ; : : : ; xjn )t ou x~k = xjm+k .
Chamaremos as variaveis correspondentes aos ndices da base B (xji ; i 2 f1; 2; : : : ; mg, componentes
x
de B ) vari
aveis na base ou variaveis basicas enquanto que as correspondentes aos demais ndices, N
(xji ; i 2 fm + 1; : : : ; ng, componentes de x~ ) chamaremos de vari
aveis fora da base ou variaveis n~ao
basicas . A mesma denominaca~o e dada as respectivas colunas de A. Respeitando a ordenaca~o dos elementos
da m-upla B , construimos a matriz de base AB (de nica~o 3.5) e, analogamente, respeitando a ordenaca~o da
~ . Assim, com a conveniente
(n m)-upla N , construimos a matriz associada as variaveis n~ao basicas AN = A
reordenaca~o das variaveis (e correspondentes colunas da matriz dos coe cientes) do sistema linear Ax = b
temos

Ax = b
Portanto,

()

"

~ ] xB = b
[AB jA
x~

Ax = b

() AB xB + A~ x~ = b:

() xB = AB1b AB1A~ x~;

relaca~o esta que nos permite escrever as variaveis basicas em funca~o das variaveis n~ao basicas, e que sera
utilizada repetidas vezes no que segue.

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices - PL


8
>
<

16 de agosto de 2007 34
9

>
x1 + x2 x3
=4 +
=
5
>
x4
=6
Exemplo 3.4.1 Seja X = >x 2 IR = x1 + 3x2
e x=0
>
:
;
x1 + x2
+x5 = 10
O ponto x = (3; 1; 0; 0; 6)t e um vertice de X , pois x 2 X e fa 1 ;aa2 ;aa5 g s~ao l.i. Esta ultima veri cac~ao e
facil, pois adotando B = (5; 1; 2) ou equivalentemente x B = (x5 ; x1 ; x2 )t , temos
2

1: 0
0 1 1
6 0; e AB1 = 64 1:5
AB = 64 0 1 3 75 ; det AB = 2 =
0: 5
1 1 1

Tomando N = (4; 3)1 , temos

"

12

0:0 1 :0
0: 5 0 : 0 7
5:
0:5 0 :0

0
1
7
~ =6
1
0
x~ = xx4 ; A
5:
4
3
0
0
A aplicac~ao do metodo matricial para c^omputo de vertices corresponde a xar as variaveis n~ao basicas como
nulas e ent~ao resolver o sistema linear AB xB = b, para obter as variaveis basicas. Deste modo, o vertice x e
obtido por
"

" #

x~ = xx4 = 00
3
3
2
2 3
0 1 1
x5
x B = 64 x1 75 = AB1b = 64 0 1 3 75
1 1 1
x2

2 3

32

1 :0
4
6
6 7
4 6 5 = 4 1 :5
0 :5
10

6
4
0 :0 1 :0
6 7
76 7
0 :5 0 :0 5 4 6 5 = 4 3 5
1
0:5 0:0 10

Utilizando as ordenac~oes induzidas por B e N , temos


2

1 1
6
41 3
1 1

1
0
0

z1 2 3
6
0 0 6 z2 7
4
7
6 7 6 7
1 07
5 6 z3 7 = 4 6 5
6 7
0 1 4 z4 5
10
z5
3

32

,
,

0
0 1 1 z5
6
76 7 6
4 0 1 3 5 4 z1 5 + 4 1
0
1 1 1 z2
3

z5
1
6 7 6
4 z1 5 = 4 1:5
z
0 :5
2 23 2 3
z5
6
6 7 6 7
z
=
4 1 5 435
1
z2

32

2
6
4

1 " #
z4 = 6 46 7
07
5
4 5
z
3
0
10
3

0 1
4
1
6 7 6
0 :5 0 7
5 4 6 5 4 1 :5
0:5 0 10
0 :5
3
"
#
0
1
z4
0: 5
1: 5 7
5
z3
0: 5
0:5

32

0 1
0
6
0 :5 0 7
54 1
0 :5 0
0

1 " #
z4
07
5
z3
0

ou seja, podemos escrever as variaveis basicas em func~ao das n~ao basicas como:
8
z = 6
z3
>
< 5
1
3
z1 = 3
2 z4 + 2 z3
>
:

z2 = 1 + 21 z4

1
2 3

Claramente o vertice x e obtido xando z3 = z4 = 0.

Utilizando o fato de podermos exprimir as variaveis basicas em funca~o das n~ao basicas, lembrando que
pontos viaveis do (PLC) tem componentes n~ao negativas e que este problema e de maximizaca~o, segue

Teorema 3.2 (Condic~ao su ciente de otimalidade para o (PLC) )


Seja v um vertice de X , conjunto de pontos viaveis do (PLC). Ent~ao v e soluc~ao otima do (PLC) se existe
uma base B a ele associada tal que:
< 0.
~ t (A 1 )t c B =
~ = c~ A
B
1 No exemplo poderiamos tomar N = (3; 4). Em geral existem (n-m)! ordenaco~es para N .

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices - PL

16 de agosto de 2007 35

Prova Como v e viavel em (PLC), basta provar que:


hc;xxi =< hc;vv i, 8x 2 X := fx 2 IRn= Ax = b; x => 0g.
Utilizando a base B associada a v (que existe por hipotese) podemos escrever
hc;xxi = hcB ;xxB i + hc~; x~i.
Como para todo x 2 X tem-se que Ax = b , ent~ao
hc;xxi = hcB ; AB1b AB1A~ x~i + hc~; x~i = hcB ; AB1bi + hcB ; (AB1A~ )~xi + hc~; x~i
~ )tc B ; x~ i = hc B ; A 1b i + h ~ ; x~ i;
= hc B ; AB1b i + hc~ (AB1 A
B
1 t
~
t
lembrando que ~ = c~ A (AB ) c B .
O vertice v e obtido anulando as variaveis n~ao basicas, portanto
hc;vv i = hcB ; AB1bi.
< 0 e para todo x 2 X , segue da que
Como, por hipotese, ~ =
hc;xxi = hcB ; AB1bi + h ~; x~i =< hcB ; AB1bi = hc;vv i, 8x 2 X .
 necessario notar que o teorema 3.2 fornece apenas uma condica~o su ciente de otimalidade. Portanto,
E
< 0 , esta e uma soluca
~o otima do (PLC) e pode-se interromper os demais
se um vertice encontrado produz ~ =
passos do algoritmo.
Outra caracterstica importante do teste de otimalidade e que caso n~ao seja veri cado, ele indica como
encontrar um ponto \melhor" (com valor de funca~o objetivo maior) que o vertice testado. Observando a prova,
e facil ver que se pudermos tornar positiva uma variavel n~ao basica xk , com k > 0, geraremos um novo ponto
x 0 tal que hc ;xx0 i > hc ;vv i.

Exerccio 3.7 Seja B = (j1 ; j2 ; : : : ; jm ) uma base associada a um vertice v . Se existe (k; ) 2 N  IR, tal que
 e estritamente positivo e
(i) k = ck
(ii) AB1b

(A B 1 a k )t c B > 0

 AB 1 a k

>0

ent~ao o ponto x 0 de nido por


8
1
1 k
0
>
< xji = (AB b AB a )i ; i 2 f1; 2; : : : ; mg
x0k = 
>
: x0
l = 0; se l 62 B e l 6= k

e um ponto viavel do (PLC) tal que hc ;xx0 i > hc ;vv i. Observe que se  = 0, ent~ao x 0 = v .
Dos algoritmos anteriores notamos que, xado um vertice x (e portanto X 6= ;) podem ocorrer tr^es
possibilidades: v e vertice otimo; existe outro vertice \melhor" que v ; existe um semireta de ilimitaca~o.
O teorema 3.2 nos fornece ferramentas para resolver o primeiro caso: uma condica~o su ciente de otimalidade para v . E o exerccio anterior, nos da um criterio para encontrar um vertice \melhor" quando a condica~o
su ciente n~ao for satisfeita e tivermos algumas hipoteses adicionais.
Resta determinarmos quando, a partir de um dado vertice, podemos identi car ilimitaca~o, o que e estabelecido no lema abaixo, e em caso contrario, como gerar um vertice melhor.

Lema 3.11 Dado v 2 V (X ) com base associada B = (j1 ; j2 ; : : : ; jm ), se existir k 62 B tal que:
(
k = ck (AB1a k )tc B > 0
 = AB1a k =< 0 ;

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices - PL

16 de agosto de 2007 36

ent~ao existe uma semireta de ilimitac~ao SI para o (PLC), dada por:

SI = fx 2 IRn = x = v + hh;  => 0g


onde h := e k

8
>
<

ji
ji 2B ia , ou seja, >
:

hji = i ; i 2 f1; 2; : : : ; mg (e ji 2 B )
hk = 1
hj = 0;
j 62 B; j 6= k:

Prova Para provar que conjunto SI acima descrito, uma semireta com origem em v e direca~o h e uma semireta
de ilimitaca~o para o (PLC), basta veri car que: h 2 C e hc ;hhi > 0.
Para provar que h 2 C , basta notar que
Ah = ABh B + AN h N = ABh B + hka k = AB ( AB1a k ) + a k = 0 ,
< 0 implica que h =
> 0 (logo h 2 C ).
e que  =
Para mostrar que hc ;hhi > 0, tambem usaremos a decomposica~o x = (x B ;xxN )t ,
hc;hhi = hcB ;hhB i + hc~; h~i = hcB ;  i + ck = ck hcB ; AB1ak i = ck h(AB1)tcB ;aak i
= k > 0:
base.

Ainda falta uma situaca~o a ser analisada: quando =


6> 0 e  =6> 0, situaca~o que indica a exist^encia de outra

Lema 3.12 Dado v 2 V (X ) com base associada B = (j1 ; : : : ; jm ), se existir k 62 B tal que:
(
k = ck (AB1a k )t cB > 0
 = AB1a k =6< 0;
ent~ao existe uma base viavel B 0 diferente de B em um unico ndice, tal que:
(i) ou B 0 de ne um vertice v 0 : hc ;vv 0 i > hc ;vv i;
(ii) ou B 0 e outra base associada ao vertice v (neste caso v e vertice degenerado).
P

ji
Prova De nindo h como no lema anterior, isto e, h := e k
ji 2B ia , temos que, como Ah = 0 e
1 >
b = Av = ABv B + AN v N = ABv B (v B = AB b = 0 ). De nindo x () := v + hh, para  => 0, temos que:

x () = v + hh 2 X

Sejam l

0
tal que bll =  e

() x() = xB () + xN () => 0


() v B + hhB + v N + hhN = AB1b  B + 0 + eek = AB1b  + eek => 0
0 >
(AB1 b)i
()  2 [0; ]; onde  = min
= min bii =
0 (eek  0; 8 > 0):

i
i >0
i >0
B 0 := (j10 ; : : : ; jm0 ) (= B n fjl g [ fkg), ou seja,

ji0 = ji ; se i 6= l
jl0 = k:

Claramente I (x ())  B 0 . Portanto, se B 0 formar uma base, esta sera viavel. Suponhamos por contradi0
j
ji m ao l.i. e fa ji0 gm = fa ji g
k
ca~o, que fa ji gm
ao a k pode
ji 2B;i6=l [fa g l.d., ent~
i=1 = fa gj 2B seja l.d. Como fa gi=1 s~
i=1
ser escrito como combinaca~o linear de fa ji gji 2B;i6=l . Logo, existem f i = i 2 f1; 2; : : : ; mg; i 6= lg, n~ao todos
nulos, tais que
0

a jl = a k =

m
X
i=1;i6=l

iaji =

m
X
i=1

iaji ; com l = 0:

Isto e, existe 2 IRm , para o qual AB = a k , com l = 0. Como AB e n~ao singular, = AB1a k =  , com
l = 0. Portanto l = 0, o que resultaria em uma contradica~o, da fa ji0 gm
i=1 e l.i.
Assim x () e uma soluca~o basica viavel do (PLC), ou seja, x () e um vertice de X . Em resumo:

3.4 Algoritmos usando a Caracterizac~ao Matricial de Vertices - PL




Se  = 0, ent~ao x() = v e B 0 e uma nova base associada ao vertice v ;


Se  > 0, x () e um vertice tal que
hc;xx()i = hc;vv i + k  > hc;vv i.

16 de agosto de 2007 37

Indice Remissivo
m-upla ordenada [Cap. 3]

variaveis basicas [Cap. 3]


variaveis fora da base [Cap. 3]
variaveis n~ao basicas [Cap. 3]
variaveis na base [Cap. 3]

, 31

C (A) := fx 2 IRn = 9(a ; ) 2 A  IR+ : x = aag


[Cap. 2]

,6

caracterstica plena [Cap. 3]


, 26
caracterizaca~o de vertices por colunas linearmente
independentes [Cap. 2]
, 15
caracterizaca~o nita de poliedros [Cap. 2]
, 20
casco convexo [Cap. 2]
, 10
combinaca~o convexa [Cap. 2]
,8
Condica~o su ciente de otimalidade para o (PLC)
[Cap. 3]
, 34
cone [Cap. 2]
,6
cone gerado [Cap. 2]
,6
cone poliedral [Cap. 2]
,8
convexo [Cap. 2]
,3
hipotese de n~ao degeneresc^encia (HND) [Cap. 3] ,
30
hiperplanos [Cap. 2]
,2
inversa da matriz associada a base ordenada cujos
ndices s~ao dados por B [Cap. 3]
, 31
inversa de base [Cap. 3]
, 31
lista [Cap. 3]

, 31

Metodo Conceitual para Obtenca~o de Vertice (MCOV)


[Cap. 2]
, 17
matriz de base B [Cap. 3]
, 31
poliedro [Cap. 2]
ponto extremo [Cap. 2]

,2
, 11

raios extremais [Cap. 2]

, 20

semi-espacos [Cap. 2]
soluca~o basica [Cap. 3]
soluca~o basica degenerada [Cap. 3]
soluca~o basica viavel [Cap. 3]

,2
, 28
, 30
, 29

teorema fundamental de programaca~o linear [Cap.


3]
, 23
vertice [Cap. 2]
vertice degenerado [Cap. 3]

, 12
, 30
38

, 33
, 33
, 33
, 33

Anda mungkin juga menyukai