sistemas canônicos - DCCE/Ibilce/Unesp

Propaganda
D:\874018081.doc
22/06/17
Métodos de Otimização I – Socorro Rangel
SISTEMAS CANÔNICOS
Considere o seguinte problema de otimização linear na forma padrão:
max
Z  cx
s.a
Ax  b (1)
x0
onde: c, x  R n , A  R mxn , b  R m e A possui posto igual a m.
Uma solução básica do sistema (1) pode ser obtida selecionando um conjunto de m colunas
L.I. de A para formar uma sub-matriz básica B. Considerando, sem perda de generalidade, que
B é composta pelas m-primeiras colunas de A o sistema em (1) pode ser rescrito como:
Ax  b
[B : N ] x  b
fazendo a partição adequada no vetor x, para permitir a multiplicação matricial, temos:
x 
[B : N ]  B   b
xN 
Bx B  Nx N  b (2)
Como B é uma matriz inversível o sistema pode ser reescrito como:
B 1 Bx B  B 1 NxN  B 1b
Ix B  B 1 NxN  B 1b
(3)
Fazendo:
A  B 1 N , b  B 1b
(3) pode ser reescrito como:
IxB  AxN  b
(4)
O sistema (4) é chamado de sistema canônico relativo a base B associado ao sistema (1), pois
considerando:
x B  x1 , x2 ,, xm 
x N  xm1 , xm 2 ,, xn 
e
a variável básica xi , i  1,, m possui coeficiente igual a i na i-ésima equação e coeficiente
igual a zero nas demais equações. A solução básica associada ao sistema canônico é:
x B  b e x N  0 , isto é:
x1  b1 , x2  b 2 ,, xm  b m ;
xm1  xm2    xn  0
Efetuando as multiplicações, o sistema (4) pode ser escrito como:
1
D:\874018081.doc
22/06/17
 a 1,m 1 x m 1    a 1 j x j    a 1n x n  b1
x1
 a 2,m 1 x m 1    a 2 j x j    a 2 n x n  b 2
x2


(5)

x m  a m ,m 1 x m 1    a m, j x j    a mn x n  bm
onde a ij , b i são constantes.
Isolando o valor das variáveis básicas em (5) temos:
x1  b1  a1m1 xm1    a1 j x j    a1n xn
x2  b 2  a 2 m1 xm1    a 2 j x j    a 2 n xn
(6)

xm  b m  a m m1 xm1    a mj x j    a mn xn
O valor da função objetivo associado à base B pode ser obtido facilmente através do sistema
canônico (5).
Seja Z  c T x  c1 x1  c2 x2    cm xm  cm1 xm1    c j x j    cn xn
Usando as expressões obtidas em (6) temos:

c b

Z  c1 b1  a1m1 xm1    a ij x j    a1n xn 
2

2

 a 2 m1 xm1    a 2 j x j    a 2 n xn   


cm b m  a m m1 xm1    a mj x j    a mn xn  cm1 xm1    c j x j  cn xn
Efetuando os produtos e agrupando os termos semelhantes temos:
Z  c1 b1  c2 b 2    cm b m 
c
c
m 1

j

 c j a1 j  c2 a 2 j    cm a mj x j   

c
n

 c1 a1m1  c2 a 2 m1    cm a m m1 xm1   

 c1 a1n  c2 a 2 n    cm a mn xn
Fazendo:
Z 0  c1 b1  c2 b 2    cm b m
e
c j  c j  c1 a1 j  c2 a 2 j    cm a mj
temos que:
Z  Z 0  c m1 xm1    c j x j    c n xn
2
p/
j  m  1, m  2,, n
D:\874018081.doc
22/06/17
Como xm1    x j    xn  0
o valor de Z relativo à base B é
Z = Z0
Observação: Multiplicar o sistema (2) por B 1 é equivalente a efetuar uma série de
pivoteamentos na matriz A, aumentada pelo vetor b, isto é
[ Ab]  [ B : N b]
para transformá-la em:
[ I : B 1 N  B 1b] = [ I : Ab]
Os passos principais da operação de pivoteamento são:
Considerando como elemento pivô o termo a rs x s , onde ars  0
1 - Susbstitua a r-ésima equação pela r-ésima equação multiplicada por 1 / a rs  ;
2 - Para cada i  1,, m, i  r substitua a i-ésima equação pela soma da i-ésima equação e a résima equação obtida em 1 multiplicada por (-ais)
Exemplo: Considere o problema
max Z   x1  2 x 2
s.a  x1  x 2  x3  2
2 x1  x 2  x 4  6
(7 )
x1 , x 2 , x3 , x 4  0
O sistema:
 x1  x2  x3
2
2 x1  x2  x4  6
já é um sistema canônico relativo à base formada pelas variáveis x3 e x4. Por que?
Como encontrar o sistema canônico associado ao sistema (7) relativo à base formada pelas
variáveis x1 e x2?
Vamos efetuar as operações de pivoteamento, escolhendo como elemento pivot o termo
a11x1 de (7)
Passo 1 – Multiplicar a 1a equação por (-1). A equação resultante é:
x1  x2  x3  2
3
D:\874018081.doc
22/06/17
Passo 2 – Substituir a 2a equação pela soma da 2a equação e a 1a equação obtida em 1
multiplicada por (-2). Temos então:
multiplicar a 1a equação por (-2):
 2 x1  2 x2  2 x3  4
e somar com a 2a equação:
2 x1  x2 
 2 x1  2 x2  2 x3
x4  6 
 4
3x2  2 x3  x4  10
O sistema obtido após esta 1a operação de pivoteamento é:
x1  x 2 
x3
 2
(8)
3x 2  2 x3  x 4  10
que ainda não é um sistema canônico reativo à base formada por x1 e x2. (Por que não?)
Vamos então fazer uma segunda operação de pivotemento.
Considerando como elemento pivot o termo a22 x2 de (8) temos:
Passo 1- Multiplicar a 2a equação por : (1/3):
x2  2 3 x3  13 x4  10 3 (9)
Passo 2 - Multiplicar a equação (9) por (1): somar com a 1a equação:
x1  x2  x3
 2
x2  2 3 x3  13 x4  10 3
x1 
1
3
x3  13 x4  4 3
O sistema obtido após esta 2a operação de pivoteamento é:
x1  13 x3  13 x4  4 3
x2  2 3 x3  13 x4  10 3
que é um sistema canônico relativo à base formada por x1, x2, pois cada variável básica possui
coeficiente diferente de zero em apenas uma equação.
Fazendo: x N  ( x3 , x 4 )  0 , temos
x B  ( x1 , x2 )  ( 4 3 , 10 3 )
Qual é o sistema canônico relativo à base formada por x1 e x4 e qual a solução básica
associada?
4
D:\874018081.doc
22/06/17
Exercícios:
1) Resolva pelo método simplex:
Max x1
Sujeito a:
x1  x2  1
 x1  6 x2  3
3x1  4 x2  12
x1
4
x1 , x2  0
2) Considere o seguinte problema de programação linear:
min z  4 x1
 9 x3 12 x4 3x5
7 x6
s. a.
x1
 x1
2 x2
 x3
 x4
2 x5
2 x6
3
x2
 x3
2 x4
 x5
2 x6
6
2 x3
2 x4
2 x5
 x6
5
x j  0, j  1,...,6
A solução ótima para este problema é composta pelas seguintes variáveis básicas:  x1 , x2 , x3  .
Encontre o valor das variáveis na solução ótima e valor da função objetivo associado.
5
Download