Buscar

Programação linear

Prévia do material em texto

36 Cap´ıtulo 2. Programac¸a˜o Linear
Dada uma matriz A de ordem n, se existir uma matriz B, tambe´m de ordem
n, tal que
AB = BA = I,
enta˜o que B e´ a matriz inversa de A. Existindo, a inversa de A e´ u´nica. E´ comum
representar a inversa de A como A−1.
O menor ij de uma matriz quadrada A de ordem n e´ a submatriz denotada
por Aij obtida deletando-se a i-e´sima linha e a j-e´sima coluna de A. O determi-
nante de A e´ o escalar representado como det A ou | A |, definido recursivamente
da seguinte forma: se n = 1, enta˜o
det A = a11.
Se n = 2,
det A = a11a22 − a21a12.
Se n > 2, seleciona-se qualquer linha i e enta˜o
detA = (−1)i+1ai1(det Ai1) + (−1)
i+2ai2(det Ai2)+
· · ·+ (−1)i+nain(det Ain). (2.16)
A quantidade det Aij e´ o cofator ij da matriz A e (2.16) e´ chamada de
expansa˜o pelos cofatores da linha i de A. A matriz cofatora de A e´ a matriz
definida como cof A = {det Aij}. Finalmente, a matriz adjunta de A e´ dada por
adj A = (cof A)T .
Uma matriz A de ordem n e´ singular se det A = 0. A inversa de uma matriz
A existe se e somente se A e´ na˜o-singular, ou seja, se det A 6= 0. Neste caso, A−1
pode ser calculada pela expressa˜o
A−1 =
adj A
detA
.
Rank
Considere uma matriz A ∈m×n definida por meio de vetores-colunas:
A =
[
a:1
... a:2
... · · ·
... a:n
]
,
aT:j =
[
a1j a2j · · · amj
]
, j = 1, 2, . . . , n.
Alternativamente e´ possivel representar A por meio de vetores-linhas:
A =


a1:
. . .
a2:
. . .
...
. . .
am:


,
2.9. Sistemas de equac¸o˜es lineares 37
ai: =
[
ai1 ai2 · · · ain
]
, i = 1, 2, . . . ,m.
O rank ou poˆsto de A ∈ Rm×n, denotado como rank A, e´ igual ao nu´mero
ma´ximo de colunas linearmente independentes de A. Como e´ poss´ıvel mostrar
que rank A = rank AT , o rank de A tambe´m pode ser definido como o nu´mero
ma´ximo de linhas linearmente independentes de A. Desta propriedade se conclui
que rank A = min{m,n}. O rank de uma matriz nula e´ igual a zero.
Exemplo 2.13 Considere a seguinte matriz de dimensa˜o 3× 4:
A =

 1 1 1 01 1 0 1
1 1 1 0

 .
A matriz possui quatro colunas, mas a primeira e a segunda colunas podem
ser obtidas somando-se a terceira e a quarta. Existem no ma´ximo duas colunas
linearmente independentes. Portanto, rankA = 2. Alternativamente, a primeira
e a terceira linhas sa˜o linearmente dependentes. Existem no ma´ximo duas linhas
linearmente independentes, e, novamente, rank A = 2. 2.
Um importante resultado para matrizes quadradas estabelece que A ∈ Rn×n
e´ invert´ıvel se e somente se rank A = n, isto e´, se todas as n colunas (n linhas) de
A sa˜o linearmente independentes.
2.9 Sistemas de equac¸o˜es lineares
Considere o sistema linear com m equac¸o˜es e n inco´gnitas a seguir. Os aij ’s e
bi’s sa˜o quantidades dadas. Assuma que m ≤ n.∣∣∣∣∣∣∣∣∣
a11x1 + a12x2 + · · ·+ a1nxn = b1,
a21x1 + a22x2 + · · ·+ a2nxn = b2,
...
am1x1 + am2x2 + · · ·+ amnxn = bm,
(2.17)
Definindo
A =


a11 a12 · · · a1n
a21 a22 · · · a2n
...
...
. . .
...
am1 am2 · · · amn

 , x =


x1
x2
...
xn

 e b =


b1
b2
...
bm

 ,
obte´m-se a forma matricial do sistema (2.17):
Ax = b. (2.18)
Se A for representada por meio das suas colunas a:1, a:2, . . . , a:n, o sistema
assume a forma alternativa
a:1x1 + a:2x2 + · · ·+ a:nxn = b. (2.19)
38 Cap´ıtulo 2. Programac¸a˜o Linear
E´ poss´ıvel interpretar o lado esquerdo de (2.19) como uma combinac¸a˜o linear
das colunas de A, com x1, x2, . . . , xn fazendo o papel dos escalares da combinac¸a˜o.
Assim, (2.17) ((2.18), (2.19)) possui soluc¸a˜o se b pode ser escrito como combinac¸a˜o
linear das colunas de A. Na discussa˜o a seguir, assume-se que rankA = m
Se m = n, enta˜o m colunas linearmente independentes de A formam uma base
e qualquer vetor b pode ser escrito como combinac¸a˜o linear destas colunas de A.
Como a representac¸a˜o de b nesta base e´ u´nica, a soluc¸a˜o de (2.17) tambe´m e´ u´nica.
Se m < n, enta˜o (2.17) exibe infinitas soluc¸o˜es.
Exemplo 2.14 Considere o sistema representado por
A =
[
1 2 2
2 1 1
]
, x =

 x1x2
x3

 e b =
[
4
4
]
. (2.20)
Na forma de colunas,[
1
2
]
x1 +
[
2
1
]
x2 +
[
2
1
]
x3 =
[
4
4
]
.
Observe que rank A = m = 2 < 3 = n. Como a segunda e a terceira colunas
de A sa˜o iguais (linearmente dependentes), pode-se escrever
[
1
2
]
x1 +
[
2
1
]
(x2 + x3) =
[
4
4
]
.
Restam m = 2 colunas linearmente independentes da matriz A e a ana´lise se
reduz ao caso m = n com rank A = m. A soluc¸a˜o u´nica do sistema reduzido e´
x1 = 4/3 e x2 + x3 = 4/3. Como existem infinitas maneiras de se escolher x2 e x3
tais que x2 + x3 = 4/3, o sistema (2.20) possui infinitas soluc¸o˜es. 2
Sistemas de equac¸o˜es lineares com m < n e rank A = m sa˜o particularmente
importantes por estarem presentes na maioria dos problemas de programac¸a˜o linear
na forma padra˜o, reescrita aqui por convenieˆncia:
∣∣∣∣∣∣∣∣∣∣∣∣∣
minimizar z = c1x1 + c2x2 + · · · + cnxn
sujeito a a11x1 + a12x2 + · · · + a1nxn = b1,
a21x1 + a22x2 + · · · + a2nxn = b2,
...
...
...
...
am1x1 + am2x2 + · · · + amnxn = bm,
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0.
(2.21)
Introduzindo o vetor adicional
c =
[
c1 c2 · · · cn
]
,
expressando a func¸a˜o objetivo como o produto z = cx e representando as restric¸o˜es
de na˜o-negatividade como x ≥ 0, no sentido de que cada componente do vetor de
2.9. Sistemas de equac¸o˜es lineares 39
varia´veis de decisa˜o deve ser na˜o-negativa, obte´m-se a representac¸a˜o matricial de
(2.21):
∣∣∣∣∣∣
minimizar z = cx,
sujeito a Ax = b,
x ≥ 0.
(2.22)
O exemplo a seguir relembra as operac¸o˜es necessa´rias para se obter a forma
padra˜o de um problema de programac¸a˜o linear. A forma matricial do problema e´
obtida em seguida.
Exemplo 2.15 Obtenha a forma matricial do problema de programac¸a˜o linear
∣∣∣∣∣∣∣∣
maximizar z = x1 − 2x2 − 3x3,
sujeito a x1 + 2x2 + x3 ≤ 14,
x1 + 2x2 + 4x3 ≥ 12,
x1 − x2 + x3 = 2,
com x1 e x2 varia´veis livres e x2 ≤ −3.
As varia´veis livres x1 e x2 sa˜o representadas por varia´veis na˜o-negativas x11,
x12, x21 e x22 como x1 = x11−x12 e x2 = x21−x22. Observe que se −x3 ≥ 3, enta˜o
definindo −x3 − 3 = x31 obtemos a restric¸a˜o na˜o-negativa equivalente x31 ≥ 0. O
problema com varia´veis na˜o-negativas seria
∣∣∣∣∣∣∣∣
maximizar z = x11 − x12 − 2x21 + 2x22 − 3x31 + 9,
sujeito a x11 − x12 + 2x21 − 2x22 − x31 ≤ 17,
x11 − x12 + 2x21 − 2x22 − 4x31 ≥ 0,
x11 − x12 − x21 + x22 − x31 = 5,
com x11 ≥ 0, x12 ≥ 0, x21 ≥ 0, x22 ≥ 0 e x31 ≥ 0. Eliminando a constante 9,
invertendo os sinais dos coeficientes da func¸a˜o-objetivo e renomeando as varia´veis
como x1 = x11, x2 = x12, x3 = x21, x4 = x22 e x5 = x31, obte´m-se a formulac¸a˜o
equivalente
∣∣∣∣∣∣∣∣
minimizar z¯ = −x1 + x2 + 2x3 − 2x4 + 3x5,
sujeito a x1 − x2 + 2x3 − 2x4 − x5 ≤ 17,
x1 − x2 + 2x3 − 2x4 − 4x5 ≥ 0,
x1 − x2 − x3 + x4 − x5 = 5,
com x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0 e x5 ≥ 0. Introduzindo x6 ≥ 0 e x7 ≥ 0 como
varia´veis de folga e de excesso na primeira e segunda restric¸o˜es, respectivamente,
chega-se finalmente a` forma padra˜o do problema linear.
Para obter o problema na forma matricial (2.22), basta identificar as matrizes
c, b e A (n = 7 e m = 3). No caso em questa˜o,
c =
[
−1 1 2 −2 3 0 0
]
, b =

 170
5

 ,
40 Cap´ıtulo 2. Programac¸a˜o Linear
e
A =

 1 −1 2 −2 −1 1 01 −1 2 −2 −4 0 −1
1 −1 −1 1 −1 0 0

 .
2
Soluc¸o˜es ba´sicas de sistemas
Considere o sistema de equac¸o˜es lineares (2.17) presente na forma padra˜o da
programac¸a˜o linear. Conforme discutido, o sistema de equac¸o˜es pode ser represen-
tado como Ax = b, A ∈ Rm×n, b ∈ Rm. A restric¸a˜o de na˜o-negatividadex ≥ 0 sera´
reintroduzida oportunamente. Assume-se que rank A = m.
Seja I um conjunto de ı´ndices relativos a m colunas linearmente independentes
de A e J o conjunto complementar de I, no sentido de que I ∪ J = {1, 2, . . . , n}.
Os conjuntos I e J conte´m m e n−m ı´ndices, respectivamente. Em geral existem
va´rias maneiras de se definir I e J . O sistema de equac¸o˜es Ax = b pode ser enta˜o
reescrito como
Ax = a:1x1 + a:2x2 + · · ·+ a:nxn =
∑
i∈I
a:ixi +
∑
j∈J
a:jxj = b.
Suponha que as colunas indicadas em I e em J componham as matrizes
B ∈ Rm×n e N ∈ Rm×(n−m). Agrupando as varia´veis associadas a`s colunas de B e
N nos vetores xB ∈ Rm e xN ∈ Rn−m, respectivamente, o sistema original Ax = b
pode ser reescrito de forma equivalente como
BxB + NxN = b.
Como as m colunas de B sa˜o linearmente independentes, B e´ uma matriz
na˜o-singular, existindo a inversa B−1. Uma poss´ıvel soluc¸a˜o para Ax = b enta˜o
seria xB = B−1b e xN = 0 (xm+1 = xm+2 = · · · = xn = 0). As varia´veis de
decisa˜o em xB e xN sa˜o chamadas de varia´veis ba´sicas e varia´veis na˜o-ba´sicas,
respectivamente. Esta forma de soluc¸a˜o para Ax = b, no qual pelo menos n − m
varia´veis assumem valor nulo, e´ chamada de soluc¸a˜o ba´sica. O sistema Ax = b
apresentara´ tantas soluc¸o˜es ba´sicas quantas forem as maneiras de se selecionar m
colunas linearmente independentes dentre as n colunas de A.
Existeˆncia de soluc¸o˜es ba´sicas
As condic¸o˜es para a existeˆncia de soluc¸o˜es ba´sicas para o sistema de equac¸o˜es
Ax = b sa˜o relativamente fracas: se o nu´mero de equac¸o˜es (linhas de A) e´ menor do
que o nu´mero de inco´gnitas (colunas de A), e se as m linhas de A sa˜o linearmente
independentes, enta˜o Ax = b possui ao menos uma soluc¸a˜o ba´sica.
De fato, se o rank de A e´ igual a m, enta˜o A possui m colunas linearmente
independentes, as quais podem ser escolhidas para formar a matriz ba´sica B. As
demais colunas ira˜o compor a matriz na˜o-ba´sica N .
Dado que A ∈ Rm×n e m < n, de quantas maneiras e´ poss´ıvel selecionar m
colunas de A ? A resposta fornece um limite superior para o nu´mero de soluc¸o˜es
2.9. Sistemas de equac¸o˜es lineares 41
ba´sicas de Ax = b, pois em geral nem toda combinac¸a˜o de m colunas de A conduz
a uma matriz na˜o-singular (base). O nu´mero de combinac¸o˜es poss´ıveis e´(
n
m
)
=
n!
m! (n−m)!
.
Exemplo 2.16 Considere o sistema de equac¸o˜es abaixo.

 1 0 0 4 −2 0 10 −1 0 −2 0 1 5
0 0 1 1 0 0 0




x1
x2
x3
x4
x5
x6
x7


=

 24
6

 .
Observe que m = 3 < 7 = n e que A possui treˆs colunas linearmente inde-
pendentes, as 3 primeiras, por exemplo. Portanto, as treˆs linhas de A sa˜o tambe´m
linearmente independentes. Nem toda combinac¸a˜o de treˆs colunas constitui uma
base – as colunas 1,2 e 5, por exemplo. O nu´mero de soluc¸o˜es ba´sicas e´ menor do
que (
7
3
)
=
7!
3! 4!
=
7 · 6 · 5 · 4!
3! 4!
= 35.
Duas das soluc¸o˜es ba´sicas sa˜o:
Soluc¸a˜o 1: xB1 = 2, x
B
2 = −4, x
B
3 = 3, x
N
4 = x
N
5 = x
N
6 = x
N
7 = 0;
Soluc¸a˜o 2: xB1 = 2, x
B
6 = 4, x
B
3 = 3, x
N
2 = x
N
4 = x
N
5 = x
N
7 = 0.
2
Soluc¸o˜es ba´sicas degeneradas
Diz-se que uma soluc¸a˜o ba´sica e´ degenerada se uma ou mais varia´veis ba´sicas
assume valor nulo. Portanto, uma soluc¸a˜o ba´sica degenerada possui mais do que
n−m varia´veis assumindo valor nulo, dado que as varia´veis na˜o-ba´sicas sa˜o sempre
iguais a zero. E´ deseja´vel trabalhar apenas com soluc¸o˜es ba´sicas na˜o-degeneradas,
porque isso simplifica bastante certos aspectos da implementac¸a˜o do Me´todo Sim-
plex. As soluc¸o˜es ba´sicas do exemplo anterior sa˜o na˜o-degeneradas.
Soluc¸o˜es ba´sicas via´veis
Neste ponto reintroduz-se a restric¸a˜o adicional de na˜o-negatividade x ≥ 0 a`s
soluc¸o˜es de Ax = b. Qualquer soluc¸a˜o via´vel para o problema de programac¸a˜o
linear na forma padra˜o deve satisfazer Ax = b e x ≥ 0. Diz-se enta˜o que x e´ uma
soluc¸a˜o ba´sica via´vel se x for ao mesmo tempo ba´sica e via´vel, isto e´, se x for uma
soluc¸a˜o ba´sica e os valores das varia´veis ba´sicas forem na˜o-negativos. A Soluc¸a˜o 1
do exemplo anterior e´ uma soluc¸a˜o ba´sica invia´vel (x2 < 0); a Soluc¸a˜o 2 e´ via´vel.
Soluc¸o˜es ba´sicas via´veis podem ser degeneradas.
42 Cap´ıtulo 2. Programac¸a˜o Linear
Soluc¸o˜es via´veis o´timas
Diz-se que x? e´ uma soluc¸a˜o via´vel o´tima do problema (2.22) se x∗ for uma
soluc¸a˜o via´vel (Ax? = b, x? ≥ 0) e, dada qualquer outra soluc¸a˜o via´vel x de (2.22),
z∗ = cx∗ ≤ cx.
Em outras palavras, x∗ e´ uma das soluc¸o˜es via´veis – pode existir mais de uma
– que leva ao menor valor da func¸a˜o-objetivo do problema. O principal resultado
em programac¸a˜o linear pode ser enunciado como segue.
Teorema 2.17 (Teorema Fundamental da Programac¸a˜o Linear). Dado um proble-
ma linear na forma padra˜o (2.22), com A ∈ Rm×n, rankA = m,
i) se (2.22) possui uma soluc¸a˜o via´vel, enta˜o (2.22) possui uma soluc¸a˜o ba´sica
via´vel;
ii) se (2.22) possui uma soluc¸a˜o via´vel o´tima, enta˜o (2.22) possui uma soluc¸a˜o
ba´sica via´vel o´tima.
O item i) do Teorema 2.17 estabelece que se o problema for via´vel, isto e´, se
o problema possuir pelo menos uma soluc¸a˜o via´vel, enta˜o sera´ poss´ıvel determinar
uma soluc¸a˜o ba´sica via´vel. O item ii) estabelece que se o problema possui uma
soluc¸a˜o via´vel o´tima, enta˜o deve existir uma soluc¸a˜o ba´sica via´vel que leva ao menor
valor para a func¸a˜o-objetivo do problema. Em outras palavras, se x? e´ uma soluc¸a˜o
via´vel o´tima, enta˜o deve existir uma soluc¸a˜o ba´sica via´vel o´tima
x? = (x?B , x?N ) = (x?B , 0).
Se cB e cN representarem os custos da func¸a˜o-objetivo relativos a`s varia´veis
ba´sicas e na˜o-ba´sicas, respectivamente, enta˜o
z? = cx? =
[
cB cN
] [ xB
xN
]
= cBx
?B + cNx
?N = cBx
?B ,
Em geral, o sistema Ax = b, x ≥ 0 possui infinitas soluc¸o˜es, mas de acordo
com o Teorema 2.17, item ii), no ma´ximo
(
n
m
)
=
n!
m! (n−m)!
soluc¸o˜es precisam ser exploradas. Geralmente o nu´mero de soluc¸o˜es ba´sicas via´veis
e´ bem menor do que este ma´ximo.
Exemplo 2.18 Considere o problema de programac¸a˜o linear∣∣∣∣∣∣
minimizar z = 2x1 + x2,
sujeito a x1 + x2 ≤ 6,
x2 ≤ 3,
(2.23)
com x1 ≥ 0 e x2 ≥ 0. A Figura 2.9 ilustra a soluc¸a˜o gra´fica do problema (2.23).
2.9. Sistemas de equac¸o˜es lineares 43
PSfrag replacements
0 3
3
6
6 x1
x2
I
II III
IV
x1 + x2 = 6
x2 = 3
2x1 + x2 = 2
Figura 2.9: Soluc¸a˜o gra´fica do problema (2.23).
A regia˜o delimitada pelas linhas mais escuras, resultante da intersec¸a˜o das
restric¸o˜es x1 + x2 ≤ 6, x2 ≤ 3, x1 ≥ 0 e x2 ≥ 0, corresponde a` regia˜o via´vel do
problema. Observe que o problema possui infinitas soluc¸o˜es via´veis. A Figura 2.1
ilustra o conjunto dos pontos tais que 2x1 + x2 = z para z = 2. O valor o´timo do
problema (2.23) e´ z? = 0, atingido no ponto x? = (0, 0).
A forma padra˜o do problema e´∣∣∣∣∣∣∣∣
minimizar z = 2x1 + x2,
sujeito a x1 + x2 + x3 = 6,
x2 + x4 = 3,
x1 ≥ 0, x2 ≥ 0,
com x3 ≥ 0 e x4 ≥ 0 representando varia´veis de folga. As matrizes c, b e A
correspondentes a` forma matricial (m = 2, n = 4) sa˜o
c =
[
2 1 0 0
]
, b =
[
6
3
]
,
e
A =
[
1 1 1 0
0 1 0 1
]
.
Existem (
4
2
)
=
4!
2! 2!
= 6
maneiras de se combinar as quatro colunas de A duas-a-duas, como indicado na
Tabela 2.5.
44 Cap´ıtulo 2. Programac¸a˜o Linear
Tabela 2.5: Soluc¸o˜es ba´sicas do problema (2.23).
Combinac¸a˜o Colunas Soluc¸a˜o Ba´sica
I 3,4 xN1 = 0, x
N
2 = 0, x
B
3 = 6, x
B
4 = 3
II 2,3 xN1 = 0, x
B
2 = 3, x
B
3 = 3, x
N
4 = 0
III 1,2 xB1 = 3, x
B
2 = 3, x
N
3 = 0, x
N
4 = 0
IV 1,4 xB1 = 6, x
N
2 = 0, x
N
3 = 0, x
B
4 = 3
V 1,3 (matrizsingular)
VI 2,4 xN1 = 0, x
B
2 = 6, x
N
3 = 0, x
B
4 = −3 (invia´vel)
As quatro primeiras combinac¸o˜es correspondem a soluc¸o˜es ba´sicas via´veis. A
quinta combinac¸a˜o na˜o da´ origem a uma soluc¸a˜o ba´sica porque a matriz resultante
e´ singular. A sexta combinac¸a˜o e´ uma soluc¸a˜o ba´sica invia´vel (x4 < 0). O Teorema
2.1 assegura que uma das soluc¸o˜es ba´sicas via´veis, I, II, III ou IV, indicadas na
Figura 2.9, deve levar ao menor valor da func¸a˜o objetivo. Calculando os custos
z = cx correspondentes, obte´m-se
I: z =
[
2 1 0 0
]


0
0
6
3

 = 0;
II: z =
[
2 1 0 0
]


0
3
3
0

 = 3;
III: z =
[
2 1 0 0
]


3
3
0
0

 = 9;
IV: z =
[
2 1 0 0
]


6
0
0
3

 = 12.
Portanto, o valor o´timo (mı´nimo) da func¸a˜o objetivo e´ z? = 0 e ocorre na
soluc¸a˜o ba´sica via´vel o´tima x?N1 = 0, x
?N
2 = 0, x
?B
3 = 3 e x
?B
4 = 3, como esperado.
2
Geometria das soluc¸o˜es ba´sicas
O Exemplo 2.18 ilustra uma importante propriedade geome´trica: as soluc¸o˜es
ba´sicas via´veis de Ax = b, x ≥ 0 correspondem a ve´rtices (pontos extremos) da
regia˜o Ax ≤ 0, x ≥ 0. Por serem obtidas por meio da intersecc¸a˜o de restric¸o˜es que
descrevem semi-espac¸os, as regio˜es via´veis de problemas de programac¸a˜o linear sa˜o
2.9. Sistemas de equac¸o˜es lineares 45
poliedrais, exibindo pontos extremos, arestas e, eventualmente, faces, se poliedros
no Rn, n ≥ 3, forem condiderados.
Outra caracter´ıstica importante, ilustrada na Figura 2.9, e´ a adjaceˆncia das
soluc¸o˜es ba´sicas via´veis. Partindo da soluc¸a˜o ba´sica via´vel I, obte´m-se a soluc¸a˜o
ba´sica via´vel II, adjacente a I, por meio de uma troca conveniente de uma varia´vel
ba´sica por uma varia´vel na˜o-ba´sica, e assim sucessivamente, ate´ que todas as soluc¸o˜es
ba´sicas via´veis sejam percorridas.

Continue navegando