Академический Документы
Профессиональный Документы
Культура Документы
Aulas 4 e 5 / 29 e 31 de agosto
1
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
max cT x
sujeita a Ax = b
x ≥ 0.
Suponha que A possui m linhas e n colunas. Explique por que podemos assumir, sem
qualquer prejuı́zo à solução da PL, que n ≥ m, que há precisamente m colunas linearmente
independentes em A.
Ao longo dos exercı́cios acima, vimos que sempre que uma PL estiver em FPI, podemos
assumir que existe uma escolha de colunas para a matriz A que formam uma base para o
espaço. Por exemplo, se essas colunas forem as primeiras n colunas, a matriz A estará na
forma abaixo
|
A= AB | AN (1)
|
onde AB é uma matriz quadrada não singular, e AN é uma matriz cujas colunas são com-
binações lineares das colunas de AB . Note que pode haver diferentes escolhas para as matrizes
AB e AN (elas podem estar intercaladas...), sempre dependendo da matriz original A.
Quando temos Ax, podemos separar as variáveis que compõem o vetor x entre aquelas
indexadas pelas colunas linearmente independentes e as outras. As variáveis de x que cor-
respondem às colunas de AB são chamadas de variáveis básicas, ao passo que as demais são
as variáveis não-básicas. No exemplo (1), teremos exatamente que o vetor x está dividido
como
xB
x= ,
xN
onde o vetor xB possui as variáveis básicas, e xN as não-básicas. Note que, mesmo que as
matrizes AB e AN estejam originalmente intercaladas em A, vale a igualdade abaixo:
Ax = AB xB + AN xN .
Ax = b,
note que b é uma combinação linear das colunas em AB , ou seja, existe um vetor z tal que
Az = b, e
AB zB = b e zN = 0.
Um vetor z como descrito acima é chamado de uma solução básica da PL.
2
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
Note que uma vez escolhida a matriz AB , existe uma única solução básica associada
z, e ela é definida por zB = A−1
B b, e zN = 0, com
zB
z= .
zN
Note que as colunas 3, 4 e 5 desta PL formam uma base, e que nesta base, AB = I, e as
entradas correspondentes de c são 0.
Quando uma PL está em forma canônica e há uma solução básica viável, sempre é possı́vel
(tentar) melhorar a solução da maneira como fizemos no exemplo! Portanto o problema de
achar a solução ótima de uma PL se reduz ao problema de colocar uma PL em forma
canônica. O exemplo abaixo deverá ser esclarecedor.
(iii) Identificamos no vetor c uma entrada positiva. Escolhemos esta entrada. No caso, a
primeira. Então alteramos esta solução x aumentando o valor da variável x1 e deixando
T
x2 fixo. Observe que se z = 1 0 −2 −1 −1 ,
Az = 0,
e então achamos o maior t tal que x + tz ≥ 0. No caso, t = 4, logo temos a nova solução
x= 4 0 0 4 1 .
3
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
(iv) Queremos que esta se torne uma solução básica para uma PL em forma canônica. Logo
devemos alterar a PL de modo que
Para (b), subtraı́mos a função objetiva por 3 vezes a primeira equação (e compensamos
adicionando 3 × 4 = 12). Portanto o problema de otimização não se altera, e teremos
max 0 1/2 −3/2 0 0 x + 12
1 1/2 1/2 0 0 4
sujeita a 0 3/2 −1/2 1 0 x = 4
0 1/2 −1/2 0 1 1
x ≥ 0.
Note que a função objetiva não é mais linear, mas a adição de uma constante não afeta
em qualquer maneira o problema de otimização. De fato, a solução básica
x= 4 0 0 4 1
4
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
(vii) Repetimos (ou tentamos repetir) o item (iii). Note entretanto que não existe variável
que faça sentido aumentar em x tendo em vista o atual formato do vetor c.
Exercı́cio 7. Note que o cálculo explı́cito dos vetores z não é necessário (passo iii). A única
coisa que você precisa fazer é, uma vez que a variável a ser aumentada seja decidida, achar
a entrada da coluna associada que será transformada em 1, e portanto qual coluna deixa de
fazer parte da identidade. Em outras palavras: você só precisa achar a coluna que entra na
base, e a coluna que sai. Como fazer essa escolha?
Exercı́cio 8. Refaça este exemplo, mas na primeira vez que chegar ao passo (iii), comece
aumentando x2 , deixando x1 fixo. Daı́ pra frente, faça como achar melhor. Note que no
final, o valor de ótimo precisa ser o mesmo.
Algumas observações:
(i) Este método sempre resolverá uma PL. Nós entretanto não demonstraremos isto.
(ii) Geometricamente, cada iteração dos pontos (ii)-(iv) correspondem a: achar uma solução
na região viável, caminhar até uma face aumentando o valor da função objetiva, depois
achar o melhor caminho para caminhar pela face até a próxima face.
(iii) Na próxima seção, veremos uma maneira esquemática de repetirmos esses passos.
e os vetores
(a) 1 1 0 0 0 0 0
(b) 2 −1 2 0 1 0 0
(c) 1 0 1 0 1 0 0
(d) 0 0 1 1 0 0 0
(e) 0 1/2 0 0 1/2 0 1
5
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
6
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
Esta PL está na forma canônica para as colunas 3 e 4. Aplique o método simplex do Exemplo
(1) para resolvê-la. O que aconteceu? Se você concluir algo interessante a respeito desta PL,
ache um certificado para tal.
onde a variável w representa o valor objetivo. Note que esta PL já se encontra em forma
canônica para a base viável formada pelas colunas 3, 4 e 5. Vamos reescrever as equações e
a função objetiva como um sistema:
w
1 −2 −3 0 0 0 x1
0
0 1 1 1 0 0 x2 6
= 10 .
0 2 1 0 1 0 x 3
0 −1 1 0 0 1 x4 4
x5
Note que a primeira linha da matriz corresponde a w − 2x1 − 3x2 = 0, ou w = 2x1 + 3x2 ,
que é o valor objetivo. Escrevemos agora a matriz aumentada deste sistema
1 −2 −3 0 0 0 0
0 1 1 1 0 0 6
T1 =
0 2
1 0 1 0 10
0 −1 1 0 0 1 4
No simplex, escolhemos uma entrada de c que seja positiva. Como a matriz T1 possui −cT
na primeira linha, faremos agora:
(1) Escolhemos uma coluna cuja primeira entrada seja negativa. Digamos a 2a coluna.
(2) Escolhemos agora uma linha da 2a a 5a tal que a razão entre os elementos da última
coluna e da 2a coluna seja o menor possı́vel. No caso, 3a linha.
(3) Daı́ transformamos a 2a coluna usando eliminação Gaussiana, de modo que apenas o
elemento na 3a linha e 2a coluna seja igual a 1, e o resto seja 0. Isso se chama “pivotear”
o elemento (3,2).
7
Gabriel Coutinho DCC035 - Pesquisa Operacional - 2017.2
1 0 −2 0 1 0 10
0 0 1/2 1 −1/2 0 1
T2 =
0
1 1/2 0 1/2 0 5
0 0 3/2 0 1/2 1 9
Repetimos agora na 3a coluna, pivoteando o elemento (2,3).
1 0 0 4 −1 0 14
0 0 1 2 −1 0 2
T2 = 0 1 0 −1 1 0 4
0 0 0 −3 2 1 6
Não há mais elementos negativos na 1a linha, e de fato, a função objetiva agora é
5 1
w = 17 − x3 − x5 ,
2 2
cujo valor máximo , igual a 17, ocorre com x3 = x5 = 0, e corresponde à solução básica
viável
x= 1 5 0 3 0 ,
que é facilmente observada em T3 .