Anda di halaman 1dari 105

Captulo 3

Soluo de Problemas de Programao Linear:


6ROXomR*UiFD$QDOtWLFDSHOR0pWRGR6LPSOH[HSRU&RPSXWDGRU
A Geometria existe por toda parte.
preciso, porm, olhos para v-la,
inteligncia para compreend-la
e alma para admir-la.

Malba Tahan em O Homem que Calculava

Ao nal deste captulo, voc ser capaz de:


i

Conhecer e utilizar os mtodos de soluo de problemas de programao linear.

Determinar, de forma grca, o conjunto de solues factveis e a soluo tima de um problema


simples de programao linear.

Determinar, pelo mtodo analtico, o conjunto de solues factveis e a soluo tima de um problema
simples de programao linear.

Entender a importncia do mtodo Simplex para resoluo de problemas de programao linear.

Identicar as origens do mtodo Simplex.

Compreender a lgica do mtodo Simplex.

Utilizar o conceito de variveis articiais para tratar problemas de programao linear com restries
de desigualdade do tipo t ou equaes de igualdade.

Compreender o mtodo das penalidades (Big M) e o mtodo das duas fases, e como os mesmos
utilizam o conceito de variveis articiais.

Avaliar os diversos softwares existentes no mercado para soluo de problemas de programao


linear.

Resolver problemas de programao linear pelo Solver do Excel.

Identicar gracamente, pelo mtodo Simplex e por computador, os casos especiais que podem
ocorrer em um modelo de programao linear.

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

3.1 Introduo
Neste captulo, apresentaremos diversas maneiras de resolver um problema de programao linear
(PL): a) de forma grca; b) pelo mtodo analtico; c) pelo mtodo Simplex; d) por computador.
Um problema simples de programao linear com apenas duas variveis de deciso pode ser
facilmente resolvido de forma grca ou pelo mtodo analtico. A soluo grca pode ser aplicada para
resoluo de problemas com, no mximo, trs variveis de deciso, porm, com maior complexidade.
Analogamente, a soluo analtica torna-se impraticvel para problemas com muitas variveis e equaes,
j que calcula todas as possveis solues bsicas. Como alternativa a esses procedimentos, utiliza-se o
algoritmo Simplex ou, diretamente, um software existente no mercado (GAMS, AMPL, AIMMS, softwares
de planilhas eletrnicas como o Solver do Excel e Whats Best, entre outros) para resoluo de qualquer
problema de programao linear. Neste captulo, resolveremos cada um dos problemas gerenciais
modelados no captulo anterior (Exemplos 3.3 a 3.12) pelo Solver do Excel.
Alguns problemas de programao linear no apresentam uma nica soluo tima no degenerada,
podendo cair em um dos quatro casos: a) mltiplas solues timas; b) funo objetivo z ilimitada; c) no
existe soluo tima; d) soluo tima degenerada. Apresentaremos ao longo do captulo como identicar
cada um desses casos especiais de forma grca, pelo mtodo Simplex e por computador.

3.2 Soluo Grfica de um Problema de Programao Linear


Um problema simples de programao linear que envolve duas variveis de deciso pode ser
facilmente resolvido de forma grca. Segundo Hillier e Lieberman (2009), qualquer problema de PL que
apresente duas variveis de deciso pode ser resolvido gracamente. Os problemas com at trs variveis
de deciso tambm podem ser solucionados de forma grca, porm, com complexidade maior.
Na resoluo grca de um modelo de programao linear, primeiramente, determina-se o espao de
solues viveis ou regio factvel em um eixo cartesiano. Uma soluo vivel ou factvel aquela que
satisfaz todas as restries do modelo, inclusive as de no negatividade. Se determinada soluo viola pelo
menos uma das restries do modelo, a mesma chamada soluo invivel ou infactvel.
O passo seguinte consiste em determinar a soluo tima do modelo, isto , a soluo factvel
que apresente o melhor valor da funo objetivo. Para um problema de maximizao, determinado o
conjunto de solues viveis, a soluo tima aquela que fornece o maior valor funo objetivo dentro
desse conjunto. J para um problema de minimizao, a soluo tima aquela que minimiza a funo
objetivo.
O conjunto de solues factveis de um problema de programao linear representado por K. Da
surge o primeiro teorema:
Teorema 3.1
O conjunto K convexo.
Denio: Um conjunto K convexo quando todos os segmentos de reta que unem dois pontos
quaisquer de K esto contidos em K. Um conjunto convexo fechado se ele compreende a sua fronteira.
A representao grca de conjuntos convexos e no convexos, por meio de um exemplo ilustrativo,
est na Figura 3.1.

68

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.1 Exemplo de conjuntos convexos e no convexos.

A soluo grca para um problema de maximizao e minimizao de programao linear com


uma nica soluo tima ser ilustrada por meio dos Exemplos 3.1 e 3.2, respectivamente. Tambm sero
apresentados os casos especiais (mltiplas solues timas, funo objetivo ilimitada, soluo infactvel
e soluo tima degenerada), por meio dos Exemplos 3.3, 3.4, 3.5 e 3.6.

3.2.1 Problema de Maximizao de Programao Linear com uma nica Soluo tima
A soluo grca de um problema de maximizao de PL com uma nica soluo tima ser ilustrada
por meio do Exemplo 3.1.
Exemplo 3.1
Considere o seguinte problema de maximizao de PL:
max z = 6x1 + 4x2
sujeito a:
2x1 + 3x2 d 18
5x1 + 4x2 d 40
d6
x1
x2 d 8
x1, x2 t 0
Determinar o conjunto de solues factveis, alm da soluo tima do modelo.
Soluo
Regio factvel
Nos eixos cartesianos x1 e x2, determina-se o espao de solues factveis que represente as restries
do modelo de maximizao estudado. Inicialmente, para cada restrio, traa-se a reta que represente
a equao de igualdade (sem considerar o sinal do tipo t ou d) e, a partir da, determina-se a direo
da reta que satisfaa a desigualdade. Assim, para a primeira restrio, a reta que representa a equao
2x1 + 3x2 = 18 pode ser traada a partir de dois pontos. Se x1 = 0, tem-se que x2 = 6. Analogamente,
se x2 = 0, tem-se que x1 = 9. Para determinar o espao de solues ou a direo da reta que satisfaz a
desigualdade 2x1 + 3x2 d 18, podemos considerar qualquer ponto fora da reta. Usualmente, utiliza-se
o ponto de origem (x1, x2) = (0, 0), em funo de sua simplicidade. Verica-se que o ponto de origem
satisfaz a primeira desigualdade, pois 0 + 0 d 18. Portanto, podemos identicar a direo da reta que
apresenta solues factveis, conforme mostra a Figura 3.2.
Da mesma forma, para a segunda restrio, a reta que representa a equao de igualdade
5x1 + 4x2 = 40 traada a partir de dois pontos. Se x1 = 0, tem-se que x2 = 10. Analogamente, se x2 = 0,
tem-se que x1 = 8. Verica-se tambm que o ponto de origem satisfaz a desigualdade 5x1 + 4x2 d 40,
pois 0 + 0 d 40, representando a direo da reta que contm solues factveis, de acordo com a Figura
3.2.

69

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Analogamente, pode-se determinar o espao de solues factveis para as demais restries x1 d 6, x2 d 8,


x1 t 0 e x2 t 0.
As restries 5x1 + 4x2 d 40 e x2 d 8 so redundantes, isto , caso elas fossem excludas do modelo,
o espao de solues factveis no seria afetado.
A regio factvel representada pelo polgono de quatro lados ABCD. Qualquer ponto na superfcie
do polgono ou no seu interior representa a regio factvel. Por outro lado, qualquer ponto fora do polgono
no satisfaz pelo menos uma das restries do modelo.

Figura 3.2 Regio factvel do Exemplo 3.1.

Soluo tima
O passo seguinte busca determinar a soluo tima do modelo que maximize a funo z = 6x1 + 4x2,
dentro do espao de solues factveis determinado na Figura 3.2.
Como o espao de solues contm um nmero innito de pontos, necessrio um procedimento
formal para identicar a soluo tima (Taha, 2007). Primeiramente, precisamos identicar a direo
correta em que a funo cresce (funo de maximizao). Para isso, traaremos diferentes retas com
base na equao da funo objetivo, atribuindo diferentes valores a z, por tentativa e erro. Identicada a
direo em que a funo objetivo aumenta, possvel identicar a soluo tima do modelo, dentro do
espao de solues factveis.
Primeiramente, atribuiu-se um valor de z = 24, seguido por z = 36, obtendo-se as equaes
6x1 + 4x2 = 24 e 6x1 + 4x2 = 36, respectivamente. A partir dessas duas equaes, foi possvel identicar
a direo, dentro do espao de solues factveis, que maximiza a funo objetivo, concluindo que o
ponto C o timo. Como o vrtice C a interseo das retas 2x1 + 3x2 = 18 e x1 = 6, os valores de
x1 e x2 podem ser calculados algebricamente a partir dessas duas equaes. Logo, tem-se que x1 = 6 e
x2 = 2 com z = 6 6 + 4 2 = 44. O procedimento completo apresentado na Figura 3.3.

70

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.3 Soluo tima do Exemplo 3.1.

Como todas as linhas so representadas pela equao z = 6x1 + 4x2, alterando apenas o valor de z,
conclui-se, pela Figura 3.3, que as retas so paralelas.
Outro importante teorema arma que uma soluo tima de um problema de programao linear est sempre
associada a um vrtice ou ponto extremo do espao de solues:
Teorema 3.2
Para problemas de programao linear com uma nica soluo tima, a funo objetivo atinge seu
ponto mximo ou mnimo em um ponto extremo do conjunto convexo K.

3.2.2 Problema de Minimizao de Programao Linear com uma nica Soluo tima
Exemplo 3.2
Considere o seguinte problema de minimizao:
min z = 10x1 + 6x2
sujeito a:
4x1 + 3x2 t 24
2x1 + 5x2 t 20
d8
x1
x2 d 6
x1, x2 t 0
Determinar o conjunto de solues factveis e a soluo tima do modelo.
Soluo
Regio factvel
O mesmo procedimento do Exemplo 3.1 utilizado para obter o espao de solues factveis do
problema de minimizao.

71

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Primeiramente, determina-se a regio factvel a partir das restries do modelo de minimizao.


Considerando a primeira 4x1 + 3x2 t 24 e a segunda 2x1 + 5x2 t 20 restries, verica-se que o ponto de
origem (x1, x2) = (0, 0) no satisfaz nenhuma das desigualdades. Assim, a direo factvel das duas retas
no contm esse ponto. Incluindo as restries x1 d 8 e x2 d 6, o espao de solues factveis tornou-se
limitado, como mostra a Figura 3.4. Diferentemente do Exemplo 3.1, verica-se que, nesse caso, todas
as restries so no redundantes, isto , so responsveis pela denio da regio de factibilidade do
modelo. A regio factvel representada pelo polgono ABCD que est destacado na Figura 3.4.

Figura 3.4 Regio factvel do Exemplo 3.2.

Soluo tima
O mesmo procedimento do Exemplo 3.1 utilizado para encontrar a soluo tima do problema de
minimizao.
Busca-se, assim, determinar a soluo tima do modelo que minimize a funo z = 10x1 + 6x2,
dentro do espao de solues factveis determinado na Figura 3.4.
Para analisar a direo em que a funo objetivo decresce (funo de minimizao), diferentes valores
de z foram atribudos, por tentativa e erro. Primeiramente, atribui-se um valor de z = 72, obtendo-se a
equao 10x1 + 6x2 = 72, seguido por z = 60 em que 10x1 + 6x2 = 60. Dessa forma, foi possvel identicar
a direo que minimiza a funo objetivo, concluindo que o ponto D representa a soluo tima do
modelo (ver Figura 3.5).
As coordenadas x1 e x2 do ponto D podem ser calculadas algebricamente a partir das equaes
4x1 + 3x2 = 24 e 2x1 + 5x2 = 20, j que o ponto D a interseo dessas duas equaes. Assim, tem-se
que x1 = 1,5 e x2 = 6 com z = 10 1,5 + 6 6 = 51.
Da mesma forma que no exemplo anterior, o problema de PL apresenta uma nica soluo tima que
est associada a um vrtice timo do espao de solues (Teorema 3.2).

72

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.5 Soluo tima do Exemplo 3.2.

3.2.3 Casos Especiais


As Sees 3.2.1 e 3.2.2 apresentaram a soluo grca de um problema de maximizao (Exemplo 3.1)
e minimizao (Exemplo 3.2), respectivamente, com uma nica soluo tima no degenerada. O conceito
grco de soluo degenerada ser apresentado na Seo 3.2.3.4. Porm, alguns problemas de programao
linear no apresentam uma nica soluo tima no degenerada, podendo cair em um dos quatro casos:
Mltiplas solues timas
Funo objetivo z ilimitada
No existe soluo tima
Soluo tima degenerada
Esta seo tem como objetivo identicar, de forma grca, cada um dos casos especiais listados que
podem ocorrer em um problema de programao linear. Estudaremos tambm como identic-los pelo
mtodo Simplex (ver Seo 3.4.6) e por computador (casos 2 e 3 na Seo 3.5.3 e casos 1 e 4, na Seo 4.2.4
do prximo captulo).

3.2.3.1 Mltiplas Solues timas


Um problema de programao linear pode apresentar mais de uma soluo tima. Nesse caso,
considerando um problema com duas variveis de deciso, diferentes valores de x1 e x2 alcanam o mesmo
valor timo na funo objetivo. Esse caso ilustrado, gracamente, por meio do Exemplo 3.3.
De acordo com Taha (2007), quando a funo objetivo paralela a uma restrio ativa, tem-se um caso com
mltiplas solues timas. A restrio ativa aquela responsvel pela determinao da soluo tima do modelo.
Exemplo 3.3
Determinar o conjunto de solues factveis e as solues timas do modelo, para o seguinte problema
de programao linear:
max z = 8 x1 + 4 x2
sujeito a:
4 x1 + 2 x2 16
x1 + x2 6
x1 , x2 0

73

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Soluo
O mesmo procedimento utilizado nos exemplos anteriores para encontrar a soluo tima foi
aplicado neste caso.
A Figura 3.6 apresenta a regio factvel determinada a partir das restries do modelo analisado.
Nota-se que o espao de solues factveis representado pelo polgono de quatro lados ABCD.
Para a determinao da soluo tima do modelo, atribuiu-se primeiramente um valor de z = 16,
obtendo-se a reta apresentada na Figura 3.6. Como a funo objetivo de maximizao, quanto maiores
os valores de x1 e x2, maior o valor da funo z, de modo que a direo em que a funo cresce pode
ser facilmente identicada. Nota-se que as retas representadas pelas equaes z = 16 = 8x1 + 4x2 e
4x1 + 2x2 = 16 so paralelas. Assim, verica-se um caso com mltiplas solues timas representadas
pelo segmento BC. Por exemplo, para o ponto B, x1 = 4, x2 = 0, o valor de z 8 4 + 4 0 = 32. O
ponto C a interseo das retas 4x1 + 2x2 = 16 e x1 + x2 = 6. Calculando algebricamente, obtm-se
x1 = 2 e x2 = 4 com z = 8 2 + 4 4 = 32. Qualquer outro ponto desse segmento uma soluo tima
alternativa e tambm apresenta z = 32.
Surge, assim, um novo teorema:
Teorema 3.3
Para problemas de programao linear com mais de uma soluo tima, a funo objetivo assume
esse valor em pelo menos dois pontos extremos do conjunto convexo K e em todas as combinaes
lineares convexas desses pontos extremos (todos os pontos do segmento da reta que unem esses dois
extremos, ou seja, a aresta do polgono que contm esses extremos).
Figura 3.6 Regio factvel com mltiplas solues timas.

3.2.3.2 Funo Objetivo z Ilimitada


Nesse caso, no existe limite para o crescimento do valor de pelo menos uma varivel de deciso, resultando em
uma regio factvel e uma funo objetivo z ilimitada. Para um problema de maximizao, o valor da funo
objetivo cresce ilimitadamente, enquanto para um problema de minimizao, o valor decresce de forma
ilimitada.
O Exemplo 3.4 ilustra um caso, de forma grca, que apresenta um conjunto ilimitado de solues,
resultando em um valor ilimitado da funo objetivo.

74

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Exemplo 3.4
Determinar o espao de solues factveis e a soluo tima do modelo para o seguinte problema de
programao linear:
max z = 4x1 + 3x2
sujeito a:
2x1 + 5x2 t 20
d8
x1
x1, x2 t 0
Soluo
A partir das restries do Exemplo 3.4, obtm-se o espao de solues factveis, que neste caso
ilimitado, pois no existe limite para o crescimento de x2, conforme mostra a Figura 3.7. Consequentemente,
a funo objetivo z tambm pode crescer de forma ilimitada. O procedimento completo est ilustrado na
Figura 3.7.
Figura 3.7 Conjunto ilimitado de solues viveis e funo de maximizao z ilimitada.

3.2.3.3 No Existe Soluo tima


Nesse caso, no possvel encontrar uma soluo factvel para o problema estudado, ou seja, no
existe soluo tima. O conjunto de solues factveis vazio. O Exemplo 3.5 ilustra, em termos de
soluo grca, um caso em que no existe soluo tima.
Exemplo 3.5
Considere o seguinte problema de programao linear:
max z = x1 + x2
sujeito a:
5x1 + 4x2 t 40
2x1 + x2 d 6
x1, x2 t 0
Determinar a regio factvel e a soluo tima do modelo de programao linear.

75

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Soluo
A Figura 3.8 apresenta a soluo grca do Exemplo 3.5, considerando cada uma das restries do
modelo, alm da funo objetivo com valor arbitrrio de z = 7.
A partir da Figura 3.8, pode-se identicar que nenhum ponto satisfaz todas as restries do problema.
Isso signica que o espao de solues viveis no Exemplo 3.5 vazio, resultando em problema de PL
infactvel que no tem soluo tima.
Figura 3.8 Conjunto vazio de solues factveis sem soluo tima.

3.2.3.4 Soluo tima Degenerada


Pode-se identicar, gracamente, um caso especial de soluo degenerada quando um dos vrtices da regio
factvel obtido pela interseo de mais de duas retas distintas. Tem-se, portanto, um vrtice degenerado. Se
a degenerao ocorrer na soluo tima, tem-se um caso conhecido como soluo tima degenerada.
O conceito de soluo degenerada e o problema da degenerao esto mais bem detalhados nas
Sees 3.4.6.4 do presente captulo (identicao de uma soluo tima degenerada pelo mtodo
Simplex) e 4.2.4.2 do prximo captulo (identicao de uma soluo tima degenerada pelo Relatrio de
Sensibilidade do Solver do Excel).
Exemplo 3.6
Considere o seguinte problema de programao linear:
min z = x1 + 5x2
sujeito a:
2x1 + 4x2 t 16
x1 + x2 d 6
x1
d4
x1, x2 t 0
Determine a regio factvel e a soluo tima do modelo de programao linear.

76

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Soluo
O espao de solues factveis do Exemplo 3.6 est ilustrado na Figura 3.9, representado pelo tringulo
ABC. Nota-se que a restrio x1 d 4 redundante. Como o vrtice B a interseo de trs retas, tem-se um
vrtice degenerado.
A funo de minimizao consiste na equao z = x1 + 5x2 que busca o ponto mnimo que satisfaa
todas as restries do modelo. Assim, a partir de um valor de z = 50, possvel identicar a direo da
reta que minimiza a funo z, conforme mostra a Figura 3.9. Dessa forma, podemos notar que o ponto B
consiste na soluo tima degenerada. Como o ponto B a interseo das retas 2x1 + 4x2 = 16 e x1 + x2 = 6,
as coordenadas x1 e x2 podem ser calculadas algebricamente a partir dessas equaes. Logo, tem-se que
x1 = 4 e x2 = 2 com z = 4 + 5 2 = 14.
Figura 3.9 Regio vivel com soluo tima degenerada.

3.3 Soluo Analtica de um Problema de Programao Linear em que m < n


Na Seo 3.2, foi apresentado o procedimento grco para soluo de problemas de PL. Esta seo
apresenta o procedimento analtico para a soluo de um problema de programao linear.
Considere um sistema Ax = b de m equaes lineares e n variveis, em que m < n. Segundo Taha
(2007), se m = n e as equaes so coerentes, o sistema tem uma nica soluo. Em casos em que m > n,
pelo menos m n equaes devem ser redundantes. Porm, se m < n e as equaes tambm forem coerentes,
o sistema ter um nmero innito de solues.
Para encontrar uma soluo para o sistema Ax = b, em que m < n, primeiramente escolhe-se um conjunto
de variveis n m de x, chamadas variveis no bsicas (VNB), as quais so atribudas valores iguais a
zero. As m variveis restantes do sistema, chamadas variveis bsicas (VB), so ento determinadas. Essa
soluo chamada soluo bsica (SB). O conjunto de variveis bsicas chamado base.
Se a soluo bsica atende as restries de no negatividade, isto , as variveis bsicas so no
negativas, a mesma chamada soluo bsica factvel (SBF).
Segundo Winston (2004), uma varivel bsica tambm pode ser denida como aquela que apresenta
coeciente 1 em apenas uma equao e 0 nas demais. Todas as variveis restantes so no bsicas.
Para o clculo da soluo tima, basta calcular o valor da funo objetivo z de todas as possveis solues
bsicas e escolher a melhor alternativa. O nmero mximo de solues bsicas a serem calculadas :

n
n!
Cmn = =
m m!(n m)!

(3.1)

77

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Portanto, o mtodo analtico aplicado nesta seo analisa todas as possveis combinaes de n
variveis escolhidas m a m, escolhendo a melhor delas. A resoluo por um sistema de equaes lineares
vivel em casos em que m e n so pequenos. Porm, para valores elevados de m e n, o clculo torna-se
impraticvel. Como alternativa, pode-se utilizar o mtodo Simplex que ser estudado na Seo 3.4.
Exemplo 3.7
Considere o seguinte sistema com trs variveis e duas equaes:
x1 + 2x2 + 3x3 = 28
x3 = 4
3x1
Determinar todas as solues bsicas para esse sistema.
Soluo
Para um sistema com trs variveis e duas equaes, tem-se n m = 3 2 = 1 varivel no bsica e
m = 2 variveis bsicas. O nmero total de solues bsicas possveis, neste exemplo, 3.
Soluo 1
VNB = {x1} e VB = {x2, x3}
Atribui-se o valor zero varivel no bsica, isto , x1 = 0. Dessa forma, calculam-se algebricamente
os valores das variveis x2 e x3 da soluo bsica, a partir do sistema de equaes do enunciado. Logo,
x2 = 20 e x3 = 4.
Como x3 < 0, a soluo infactvel.
Soluo 2
VNB = {x2} e VB = {x1, x3}
Se x2 = 0, a soluo bsica x1 = 4 e x3 = 8. Tem-se, portanto, uma soluo bsica factvel (SBF).
Soluo 3
VNB = {x3} e VB = {x1, x2}
Se x3 = 0, a soluo bsica x1 = 1,33 e x2 = 13,33. Da mesma forma que no caso anterior, tem-se
aqui uma SBF.
Exemplo 3.8
Considere o seguinte problema de programao linear:
max 3x1 + 2x2
sujeito a:
x1 + x2 d 6
5x1 + 2x2 d 20
x1, x2 t 0
Resolver o problema de forma analtica.

78

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Soluo
Para que o procedimento de soluo analtico possa ser aplicado, o problema deve estar na forma
padro (ver Seo 2.3.1, do Captulo 2). Para que as restries de desigualdade possam ser reescritas na
forma de igualdade, devem ser includas as variveis de folga x3 e x4. Assim, o problema original reescrito
na forma padro passa a ser:
max 3x1 + 2x2
sujeito a:
=6
x1 + x2 + x3
+ x4 = 20
(3.2)
5x1 + 2x2
x1, x2, x3, x4 t 0
O sistema tem m = 2 equaes e n = 4 variveis. Para que uma soluo bsica seja encontrada, sero
atribudos valores iguais a zero a n m = 4 2 = 2 variveis no bsicas, de forma que os valores das m = 2
variveis bsicas restantes possam ser determinados pelo sistema de equaes (3.2). O total de solues bsicas
nesse exemplo :

4
4!
C24 = =
=6
2 2!(4 2)!
Soluo A
VNB = {x1, x2} e VB = {x3, x4}
Atribuiu-se, primeiramente, o valor zero s variveis no bsicas x1 e x2, de forma que os valores das
variveis bsicas x3 e x4 possam ser calculados algebricamente a partir do sistema de equaes (3.2). Logo,
tem-se que:
Soluo no bsica: x1 = 0 e x2 = 0
Soluo bsica:
x3 = 6 e x4 = 20
Funo objetivo:
z=0
O mesmo clculo ser efetuado para obteno de diferentes solues bsicas. A cada nova soluo,
uma varivel do conjunto de variveis no bsicas entra no conjunto de variveis bsicas (base) e,
consequentemente, uma sair da base.
Soluo B
Nesse caso, a varivel x1 entra na base no lugar da varivel x4 que passa a fazer parte do conjunto de
variveis no bsicas.
VNB = {x2, x4} e VB = {x1, x3}
Soluo no bsica: x2 = 0 e x4 = 0
Soluo bsica:
x1 = 4 e x3 = 2
Funo objetivo:
z = 12

79

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Soluo C
Nesse caso, a varivel x4 entra na base no lugar da varivel x3.
VNB = {x2, x3} e VB = {x1, x4}
Soluo no bsica: x2 = 0 e x3 = 0
Soluo bsica:
x1 = 6 e x4 = 10
Como x4 < 0, a soluo infactvel.
Soluo D
Nesse caso, a varivel x2 entra na base no lugar da varivel x4.
VNB = {x3, x4} e VB = {x1, x2}
Soluo no bsica: x3 = 0 e x4 = 0
Soluo bsica:
x1 = 2,67 e x2 = 3,33
Funo objetivo:
z = 14,7
Soluo E
Nesse caso, a varivel x4 entra na base no lugar da varivel x1.
VNB = {x1, x3} e VB = {x2, x4}
Soluo no bsica: x1 = 0 e x3 = 0
Soluo bsica:
x2 = 6 e x4 = 8
Funo objetivo:
z = 12
Soluo F
Nesse caso, a varivel x3 entra na base no lugar da varivel x4.
VNB = {x1, x4} e VB = {x2, x3}
Soluo no bsica: x1 = 0 e x4 = 0
Soluo bsica:
x2 = 10 e x3 = 4
Como x3 < 0, a soluo infactvel.
Logo, a soluo tima a D, com x1 = 2,67, x2 = 3,33, x3 = 0, x4 = 0 e z = 14,67.
A Figura 3.10 apresenta a soluo grca para cada uma das seis solues obtidas, a partir dos eixos
cartesianos x1 e x2. As solues A, B, D e E correspondem a um ponto extremo da regio factvel. J as
solues C e F, por serem infactveis, no pertencem ao conjunto de solues factveis. Da surge um novo
teorema.
Teorema 3.4
Toda soluo bsica factvel de um problema de programao linear um ponto extremo do conjunto
K convexo.

80

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.10 Representao grfica do Exemplo 3.8.

3.4 Mtodo Simplex


Como apresentado na Seo 3.2, a soluo grca pode ser aplicada para a resoluo de problemas de
programao linear com duas ou, no mximo, trs variveis de deciso (maior complexidade). Da mesma
forma, a soluo analtica apresentada na Seo 3.3 torna-se impraticvel para problemas com muitas
variveis e equaes, pois calcula todas as possveis solues bsicas, para ento determinar a soluo tima.
Como alternativa, o mtodo Simplex pode ser aplicado para a resoluo de qualquer problema de PL.
A origem do mtodo Simplex para resoluo de problemas de programao linear deu-se em 1947,
com a disseminao da Pesquisa Operacional nos Estados Unidos depois da Segunda Guerra Mundial, por
uma equipe liderada por George B. Dantzig.
Para Goldbarg e Luna (2005), o algoritmo Simplex o mtodo mais utilizado para a soluo de
problemas de programao linear.
O mtodo Simplex um procedimento algbrico iterativo que parte de uma soluo bsica factvel
inicial e busca, a cada iterao, uma nova soluo bsica factvel com melhor valor na funo objetivo, at
que o valor timo seja atingido. Os detalhes do algoritmo sero discutidos na prxima seo.
Esta seo est dividida em trs partes. A lgica do mtodo Simplex apresentada na Seo 3.4.1.
Na Seo 3.4.2, o mtodo Simplex descrito na forma analtica. A forma tabular do mtodo Simplex
discutida na Seo 3.4.3.

3.4.1 A Lgica do Mtodo Simplex


O algoritmo Simplex um mtodo iterativo que parte de uma soluo bsica factvel inicial e busca,
a cada iterao, uma nova soluo bsica factvel, chamada soluo bsica factvel adjacente, com melhor
valor na funo objetivo, at que o valor timo seja atingido. O conceito de SBF adjacente est descrito
a seguir.
A partir de uma soluo bsica atual, uma varivel no bsica entra na base no lugar de outra varivel
bsica que passa a ser no bsica, gerando uma nova soluo chamada soluo bsica adjacente. Para
um problema com m variveis bsicas e n m variveis no bsicas, duas solues bsicas so adjacentes
se elas tiverem em comum m 1 variveis bsicas, podendo as mesmas apresentar valores numricos
diferentes. Isso implica tambm que n m 1 variveis no bsicas sejam comuns.

81

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Se a soluo bsica adjacente atende as restries de no negatividade, ela chamada soluo bsica
factvel adjacente (SBF adjacente).
De acordo com o Teorema 3.4, toda soluo bsica factvel um ponto extremo (vrtice) da regio
factvel. Dessa forma, dois vrtices so adjacentes se esto ligados por um segmento de reta chamado
aresta, o que signica que eles compartilham n 1 restries.
A descrio geral do algoritmo Simplex apresentada na Figura 3.11. Analogamente ao procedimento
analtico, para que o mtodo Simplex seja aplicado, o problema deve estar na forma padro (ver Seo
2.3.1, do Captulo 2).
Figura 3.11 Descrio geral do algoritmo Simplex.
Incio: O problema deve estar na forma padro.
Passo 1: Encontrar uma SBF inicial para o problema de PL.
SBF inicial = SBF atual
Passo 2:s^&W>
Enquanto^&W>faa
^&
SBF adjacente = SBF atual
Fim enquanto

O algoritmo tambm pode ser descrito por meio de um uxograma, conforme mostra a Figura 3.12.
Figura 3.12 Fluxograma da descrio geral do algoritmo Simplex.

Fonte: Lachtermarcher (2009).

3.4.2 Soluo Analtica do Mtodo Simplex para Problemas de Maximizao


Cada um dos passos do algoritmo geral descrito nas Figuras 3.11 e 3.12 est reescrito na
Figura 3.13 de forma detalhada, baseado em Hillier e Lieberman (2005), para soluo analtica do
mtodo Simplex de problemas de programao linear em que a funo objetivo z de maximizao
(max z = c1 x1 + c2 x2 + .... + cn xn = 0).

82

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.13 Passos detalhados do algoritmo geral das Figuras 3.11 e 3.12 para a soluo de problemas de

maximizao de PL pela forma analtica do mtodo Simplex.


Incio: O problema deve estar na forma padro.
Passo 1:^&W>
h^&W

Passo 2:d
hh^&
^&z^&
^&zz
^&
Iterao: Determinar uma SBF adjacente melhor.
zW
trs passos devem ser tomados:
1. 
incremento em zz.
2. 

3. Z
mtodo
de eliminao de Gauss-Jordan.

    z


No Exemplo 3.8, da Seo 3.3, para o clculo da soluo tima do modelo, foram calculadas todas
as possveis solues bsicas e escolhida a melhor delas. O mesmo exerccio resolvido no Exemplo 3.9,
porm pela soluo analtica do mtodo Simplex.
Exemplo 3.9
Resolver o problema a seguir pela soluo analtica do mtodo Simplex.
max z = 3x1 + 2x2
sujeito a:
x1 + x2 d 6
5x1 + 2x2 d 20
x1, x2 t 0
Soluo
Cada um dos passos do algoritmo ser detalhado a seguir, baseado em Hillier e Lieberman (2005).
Incio: O problema deve estar na forma padro:
(0)
max z = 3x1 + 2x2
sujeito a:
=6
(1)
x1 + x2 + x3
+ x4 = 20 (2)
(3.3)
5x1 + 2x2
(3)
x1, x2 x3, x4 t 0
Passo 1: Encontrar uma SBF inicial para o problema de PL.
Uma soluo bsica inicial pode ser obtida atribuindo valores iguais a zero s variveis de deciso x1
e x2 (variveis no bsicas).

83

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Note que os valores das variveis bsicas (x3, x4) podem ser obtidos imediatamente a partir do sistema
de equaes (3.3), j que cada equao possui apenas uma varivel bsica com coeciente 1 e cada varivel
bsica aparece em apenas uma equao. Alm disso, como a funo objetivo est escrita em funo de
cada uma das variveis no bsicas, o teste de otimalidade pode ser facilmente aplicado no Passo 2. O
resultado completo da soluo inicial :
VNB = {x1, x2} e VB = {x3, x4}
Soluo no bsica: x1 = 0 e x2 = 0
Soluo bsica factvel: x3 = 6 e x4 = 20
Soluo: {x1, x2, x3, x4} = {0, 0, 6, 20}
Funo objetivo: z = 0
Essa soluo corresponde ao vrtice A da regio factvel ilustrada no Exemplo 3.8, da Seo 3.3,
conforme apresentado na Figura 3.10.
Passo 2: Teste de otimalidade.
Podemos armar que a SBF inicial obtida no Passo 1 no tima, j que os coecientes das variveis
no bsicas x1 e x2 na funo objetivo do sistema de equaes (3.3) so positivos. Se qualquer uma das
variveis deixar de assumir o valor zero, passando a assumir um valor positivo, haver um incremento
positivo no valor da funo objetivo z. Dessa forma, possvel obter uma SBF adjacente melhor.
Iterao 1: Determinar uma SBF adjacente melhor.
Cada um dos trs passos a serem implementados nessa iterao est detalhado a seguir.
1. Varivel no bsica que entrar na base.
De acordo com o sistema de equaes (3.3), pode-se vericar que a varivel x1 possui maior coeciente
positivo na funo objetivo comparada com a varivel x2, gerando assim maior incremento positivo em z,
caso fossem consideradas as mesmas unidades de medida para x1 e x2. Logo, a varivel no bsica escolhida
a entrar na base x1:

VNB = x1 , x2

2. Varivel bsica que sair da base.


Para selecionar a varivel bsica que sair da base, devemos escolher aquela que limita o crescimento
da varivel no bsica escolhida no passo anterior a entrar na base (x1). Para isso, primeiramente, devemos
atribuir o valor zero s variveis que permaneceram no bsicas (nesse caso apenas x2) em todas as
equaes. A partir da, pode-se obter as equaes de cada uma das variveis bsicas em funo da varivel
no bsica escolhida a entrar na base (x1). Como todas as variveis bsicas devem assumir valores no
negativos, inserindo-se o sinal de desigualdade do tipo t 0 em cada uma das restries pode-se identicar
a varivel bsica que limita o crescimento de x1.
Assim, atribuindo o valor zero varivel x2 nas equaes 1 e 2 do sistema de equaes (3.3), pode-se
obter as equaes das variveis bsicas x3 e x4 em funo de x1:
x3 = 6 x1
x4 = 20 5x1
Como as variveis x3 e x4 devem assumir valores no negativos, logo:
x3 = 6 x1 t 0 x1 d 6
x4 = 20 5 x1 t 0 x1 d 4

84

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Podemos concluir que a varivel que limita o crescimento de x1 a varivel x4, j que o valor mximo
que x1 pode atingir a partir de x4 menor comparado varivel x3 (4 < 6). Portanto, a varivel bsica
escolhida para sair da base x4:

VB = x3 , x4

3. Transformar o sistema de equaes utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a


soluo bsica.
Conforme mostrado nos dois passos anteriores, a varivel x1 entra na base no lugar da varivel x4,
de forma a gerar uma soluo bsica adjacente melhor. Portanto, o conjunto de variveis no bsicas e o
conjunto de variveis bsicas passa a ser:
VNB = {x2, x4} e VB = {x1, x3}
Busca-se, nessa etapa, recalcular os valores da nova soluo bsica factvel. Como x4 representa a
nova varivel no bsica na soluo adjacente, juntamente com x2 que permaneceu no bsica, tem-se
que x2 = 0 e x4 = 0. A partir da, os valores das variveis bsicas x1 e x3 da soluo adjacente devem ser
recalculados, alm do valor da funo objetivo z.
Primeiramente, o sistema de equaes deve ser convertido, por meio de operaes elementares,
para uma forma mais conveniente, utilizando-se o mtodo de eliminao de Gauss-Jordan, de modo
que cada equao possua apenas uma varivel bsica (x1 ou x3) com coeciente igual a 1, cada varivel
bsica aparea em apenas uma equao e de forma que a funo objetivo possa ser escrita em funo das
variveis no bsicas x2 e x4.
Para isso, os coecientes da varivel x1 no sistema de equaes atual (3.3) devem ser transformados de
3, 1 e 5 (equao 0, 1 e 2, respectivamente) para 0, 0 e 1 (coecientes da varivel x4 no sistema de equaes
atual). Duas operaes algbricas elementares a serem utilizadas, segundo Hillier e Lieberman (2005), so:
i Multiplicar (ou dividir) uma equao por uma constante diferente de zero.
i Adicionar (ou subtrair) um mltiplo de uma equao antes (ou depois) de outra equao.
Primeiramente, converteremos o coeciente da varivel x1 na equao 2 do sistema de equaes (3.3)
de 5 para 1. Para isso, basta dividir a equao 2 por 5, de forma que a nova equao (3.4) passa a ser escrita
em funo de uma nica varivel bsica (x1) com coeciente 1:
x1 +

2
1
x2 + x4 = 4
5
5

(3.4)

Outra transformao deve ser efetuada de modo a converter o coeciente da varivel x1 na equao 1 do
sistema de equaes (3.3) de 1 para 0. Para isso, basta subtrair a equao (3.4) da equao 1 de (3.3), de forma
que a nova equao (3.5) passa a ser escrita em funo de uma nica varivel bsica (x3) com coeciente 1:
3
1
x2 + x3 x4 = 2
5
5

(3.5)

85

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Finalmente, deve-se converter o coeciente da varivel x1 na funo objetivo (equao 0 do sistema


de equaes (3.3) de 3 para 0. Para isso, basta multiplicar a equao (3.4) por 3 e subtra-la da equao 0
de (3.3), de forma que a nova equao (3.6) passa a ser escrita em funo de x2 e x4:
z=

4
3
x2 x4 + 12
5
5

(3.6)

O sistema de equaes completo, obtido aps a aplicao do mtodo de eliminao de Gauss-Jordan,


:
(0)
(1)
(2)

4
3
x2 x4 + 12
5
5
3
1
x2 + x3 x4 = 2
5
5
2
1
+ x4 = 4
x1 + x2
5
5

z=

(3.7)

A partir do novo sistema de equaes (3.7), possvel obter imediatamente os novos valores de x1, x3
e z. O resultado completo da nova soluo :
VNB = {x2, x4} e VB = {x1, x3}
Soluo no bsica: x2 = 0 e x4 = 0
Soluo bsica factvel: x1 = 4 e x3 = 2
Soluo: {x1, x2, x3, x4} = {4, 0, 2, 0}
Funo objetivo: z = 12
Essa soluo corresponde ao vrtice B da regio factvel ilustrada no Exemplo 3.8 da Seo 3.3 (Figura
3.10). Portanto, houve um movimento do ponto extremo A para o B (A o B).
Dessa forma, foi possvel obter uma SBF adjacente melhor, j que houve um incremento positivo em
z comparado com a SBF atual. A SBF adjacente obtida nessa iterao passa a ser a SBF atual.
Passo 2: Teste de otimalidade.
A SBF atual ainda no a tima, j que o coeciente da varivel no bsica x2 na equao 0 do sistema
de equaes (3.7) positivo. Se essa varivel passar a assumir qualquer valor positivo, haver um incremento
positivo no valor da funo objetivo z. Dessa forma, possvel obter uma SBF adjacente melhor.
Iterao 2: Determinar uma SBF adjacente melhor.
Os trs passos a serem implementados para determinar uma nova SBF adjacente esto detalhados a
seguir.
1. Varivel no bsica que entrar na base.
De acordo com o novo sistema de equaes (3.7), pode-se vericar que a varivel x2 a nica com
coeciente positivo na equao 0, de forma a gerar um incremento positivo na funo objetivo z para
qualquer valor positivo que a varivel x2 possa assumir. Logo, a varivel escolhida a passar do conjunto de
variveis no bsicas para o conjunto de variveis bsicas x2:

VNB = x2 , x4

86

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

2. Varivel bsica que sair da base.


A varivel bsica que sair da base aquela que limita o crescimento da varivel no bsica escolhida
no passo anterior a entrar na base (x2). Atribuindo o valor zero varivel que permaneceu no bsica
(x4 = 0), em cada uma das equaes 1 e 2 de (3.7), possvel obter as equaes de cada uma das variveis
bsicas x1 e x3 da soluo bsica atual em funo da varivel no bsica escolhida a entrar na base (x2):
2
x2
5
3
x3 = 2 x2
5

x1 = 4

Como as variveis x1 e x3 devem assumir valores no negativos, logo:


2
x2 0 x2 10
5
3
10
x3 = 2 x2 0 x2
5
3
x1 = 4

Podemos concluir que a varivel que limita o crescimento de x2 a varivel x3, j que o valor mximo
que x2 pode assumir a partir de x3 menor comparado varivel x1. Portanto, a varivel bsica escolhida
para sair da base x3:

VB = x1 , x3

3. Transformar o sistema de equaes utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a


soluo bsica.
Conforme mostrado nos dois passos anteriores, a varivel x2 entra na base no lugar da varivel x3,
de forma a gerar uma soluo bsica adjacente melhor. Portanto, o conjunto de variveis no bsicas e o
conjunto de variveis bsicas passa a ser:
VNB = {x3, x4} e VB = {x1, x2}
Antes de calcular os valores da nova soluo bsica, o sistema de equaes deve ser convertido por
meio do mtodo de eliminao de Gauss-Jordan.
Nesse caso, os coecientes da varivel x2 no sistema de equaes atual (3.7) devem ser transformados
de 4/5, 3/5 e 2/5 (equaes 0, 1 e 2, respectivamente) para 0, 1 e 0 (coecientes da varivel x3 no sistema
de equaes atual), por meio de operaes algbricas elementares.
Primeiramente, converteremos o coeciente da varivel x2 na equao 1 de (3.7) de 3/5 para 1. Para
isso, basta multiplicar a equao 1 por 5/3, de forma que a nova equao (3.8) passa a ser escrita em
funo de uma nica varivel bsica (x2) com coeciente 1:

x2 +

5
1
10
x3 x4 =
3
3
3

(3.8)

87

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Analogamente, deve-se converter o coeciente da varivel x2 na equao 2 de (3.7) de 2/5 para 0.


Para isso, basta multiplicar a equao (3.8) por 2/5 e subtra-la da equao 2 de (3.7), de forma que a nova
equao (3.9) passa a ser escrita em funo de uma nica varivel bsica (x1) com coeciente 1:
x1

2
1
8
x3 + x4 =
3
3
3

(3.9)

Finalmente, deve-se converter o coeciente da varivel x2 na funo objetivo (equao 0 do sistema


de equaes (3.7)) de 4/5 para 0. Para isso, basta multiplicar a equao (3.8) por 4/5 e subtra-la da equao
0 de (3.7), de forma que a nova equao (3.10) passa a ser escrita em funo de x3 e x4:
4
1
44
z = x3 x4 +
3
3
3

(3.10)

O sistema de equaes completo est representado em (3.11):


(0)

z=

(1)
(2)

x1

4
1
44
x3 x4 +
3
3
3
5
1
10
x2 + x3 x4 =
3
3
3
2
1
8
x3 + x4 =
3
3
3

(3.11)

A partir do novo sistema de equaes (3.11), possvel obter imediatamente os novos valores de x1,
x2 e z. O resultado completo da nova soluo :
VNB = {x3, x4} e VB = {x1, x2}
Soluo no bsica: x3 = 0 e x4 = 0
Soluo bsica factvel: x1 = 8/3 = 2,67 e x2 = 10/3 = 3,33
Soluo: {x1, x2, x3, x4} = {8/3, 10/3, 0, 0}
Funo objetivo: z = 44/3 = 14,67
Essa soluo corresponde ao vrtice D da regio factvel ilustrada na Figura 3.10. A direo de
incremento em z, a partir da soluo inicial, passa pelos vrtices A o B o D da soluo grca.
Assim, foi possvel obter uma SBF adjacente melhor, j que houve um incremento positivo em z
comparada com a SBF atual. A SBF adjacente obtida nessa iterao passa a ser a SBF atual.
Passo 2: Teste de otimalidade.
A SBF atual a tima, j que os coecientes das variveis no bsicas x3 e x4 na equao 0 do sistema
de equaes (3.11) so negativos. Portanto, no mais possvel nenhum incremento positivo no valor da
funo objetivo z, nalizando aqui o algoritmo do Exemplo 3.9.

3.4.3 Forma Tabular do Mtodo Simplex para Problemas de Maximizao


A seo anterior apresentou o procedimento analtico do mtodo Simplex para resoluo de um
problema de maximizao de programao linear. Esta seo apresenta o mtodo Simplex na forma tabular.
Para a compreenso da lgica do algoritmo Simplex, importante utilizar o mtodo Simplex na forma
analtica. Porm, quando o clculo for feito manualmente, mais conveniente utilizar a forma tabular. A
forma tabular utiliza os mesmos conceitos apresentados na Seo 3.4.2, porm de maneira mais prtica.

88

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Conforme apresentado na Seo 2.3.1, do captulo anterior, a forma padro de um modelo geral de
maximizao de programao linear :
max z = c1 x1 + c2 x2 + ... + cn xn
sujeito a:
a11 x1 + a12 x2 + ... + a1n xn = b1
a21 x1 + a22 x2 + ... + a2n xn = b2
(3.12)



am1 x1 + am2 x2 + ... + amn xn = bm
xi t 0, i = 1, 2,..., m
Esse mesmo modelo pode ser representado na forma tabular:
Quadro 3.1 Modelo geral de programao linear na forma tabular
Coecientes

no da
equao

x1

x2

xn

c1

c2

cn

a11

a12

a1n

b1

a21

a22

a2n

b2

am1

am2

amn

bm

Constante

De acordo com o Quadro 3.1, podemos vericar que a funo z de maximizao, na forma tabular,
passa a ser reescrita como z c1x1 c2x2 ... cnxn = 0. As colunas intermedirias apresentam os coecientes
das variveis do lado esquerdo de cada equao, alm do coeciente de z. As constantes do lado direito de
cada equao esto representadas na ltima coluna.
Cada um dos passos do algoritmo geral descrito nas Figuras 3.11 e 3.12 est reescrito na Figura 3.14,
de forma detalhada, para a soluo de problemas de maximizao de programao linear pela forma
tabular do mtodo Simplex. A lgica apresentada nesta seo a mesma da soluo analtica do mtodo
Simplex, porm, em vez de utilizar um sistema algbrico de equaes, a soluo calculada diretamente
da forma tabular, utilizando os conceitos de coluna piv, linha piv e nmero piv, que sero denidos
ao longo do algoritmo.
Figura 3.14 Passos detalhados do algoritmo geral das Figuras 3.11 e 3.12 para a soluo de problemas de
maximizao de PL pela forma tabular do mtodo Simplex.
Incio: O problema deve estar na forma padro.
Passo 1: Encontrar uma SBF inicial para o problema de PL.
Analogamente forma analtica do mtodo Simplex apresentada na Seo 3.4.2, uma soluo bsica inicial pode
ser obtida atribuindo valores iguais a zero s variveis de deciso. A SBF inicial corresponde SBF atual.
Passo 2: Teste de otimalidade.
A SBF atual tima se, e somente se, os coecientes de todas as variveis no bsicas da equao 0 da forma
tabular so no negativos (t 0). Enquanto houver pelo menos uma das variveis no bsicas com coeciente
negativo na equao 0, h uma SBF adjacente melhor.
Iterao: Determinar uma SBF adjacente melhor.

89

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

A direo de maior incremento em z deve ser identicada, para que uma melhor soluo bsica factvel seja
determinada. Para isso, trs passos devem ser tomados:
1. Determinar a varivel no bsica que entrar na base.
Ela deve ser aquela que tem maior incremento em z, isto , com maior coeciente negativo na equao 0. A coluna
da varivel no bsica escolhida a entrar na base chamada coluna piv.
2. Determinar a varivel bsica que sair da base.
Analogamente forma analtica, a varivel escolhida deve ser aquela que limita o crescimento da varivel no
bsica selecionada no passo anterior a entrar na base. Para que a varivel seja escolhida, trs etapas so necessrias,
conforme apresentado em Hillier e Lieberman (2005):
a) Selecionar os coecientes positivos da coluna piv que representam os coecientes da nova varivel bsica em
cada restrio do modelo atual.
b) Para cada coeciente positivo selecionado no passo anterior, dividir a constante da mesma linha por ele.
c) Identicar a linha com menor quociente. Essa linha contm a varivel que sair da base.
A linha que contm a varivel bsica escolhida a sair da base chamada linha piv. O nmero piv o valor
que corresponde interseo da linha piv com a coluna piv.
3. Transformar a forma tabular atual utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a soluo
bsica.
Analogamente soluo analtica, a forma tabular atual deve ser convertida para uma forma mais conveniente,
por meio de operaes elementares, de forma que os valores das novas variveis bsicas e da funo objetivo z
podem ser obtidos diretamente na nova forma tabular. A funo objetivo passa a ser reescrita em funo das
novas variveis no bsicas da soluo adjacente, de forma a vericar facilmente o teste de otimalidade.
A nova forma tabular, segundo Taha (2007), obtida aps as seguintes operaes elementares:
a) Nova linha piv = linha piv atual y nmero piv
b) Para as demais linhas, incluindo z:
Nova linha = (linha atual) (coeciente da coluna piv da linha atual) u (nova linha piv)

O Exemplo 3.9 apresentou a resoluo de um problema de programao linear pela soluo analtica
do mtodo Simplex. O mesmo exerccio ser resolvido no Exemplo 3.10 pela forma tabular do mtodo
Simplex.
Exemplo 3.10
Resolver o problema a seguir pela forma tabular do mtodo Simplex.
max z = 3x1 + 2x2
sujeito a:
x1 + x2 d 6
5x1 + 2x2 d 20
x1, x2 t 0
Soluo
O problema de maximizao tambm deve estar na forma padro:
(0)
max z = 3 x1 + 2 x2
sujeito a:
=6
(1)
x1 + x2 + x3
+ x4 = 20
(2)
5x1 + 2x2
(3)
x1, x2, x3, x4 t 0

90

(3.13)

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Na forma tabular, a funo z de maximizao passa a ser escrita como:


z = 3x1 + 2x2 z 3x1 2x2 = 0
A Tabela 3.1 apresenta a forma tabular do sistema de equaes (3.13):
Tabela 3.1 Forma tabular inicial do Exemplo 3.10
Varivel bsica

no da
equao

Coecientes

Constante

x1

x2

x3

x4

x3

x4

20

A partir da Tabela 3.1, verica-se que uma nova coluna foi adicionada comparada ao Quadro 3.1. A
primeira coluna apresenta as variveis bsicas consideradas em cada etapa (as variveis bsicas iniciais
sero x3 e x4).
Passo 1: Encontrar uma SBF inicial.
As variveis de deciso x1 e x2 foram selecionadas para o conjunto inicial de variveis no bsicas,
representando assim a origem da regio factvel (x1, x2) = (0, 0). J o conjunto de variveis bsicas
representado por x3 e x4:
VNB = {x1, x2} e VB = {x3, x4}
A soluo bsica factvel pode ser obtida imediatamente a partir da Tabela 3.1.
Soluo bsica factvel: x3 = 6 e x4 = 20 com z = 0
Soluo: {x1, x2, x3, x4} = {0, 0, 6, 20}
Passo 2: Teste de otimalidade
Como os coecientes de x1 e x2 so negativos na linha 0, a SBF atual no tima, pois um incremento
positivo em x1 ou x2 resultar em SBF adjacente melhor do que a SBF atual.
Iterao 1: Determinar uma SBF adjacente melhor.
Cada iterao composta por trs passos:
1. Determinar a varivel no bsica que entrar na base.
Escolhe-se a varivel com maior coeciente negativo na equao 0 da Tabela 3.1. Para o problema
em questo, a varivel com maior contribuio unitria para a funo objetivo z x1 (3 > 2). Portanto, a
varivel x1 selecionada para entrar na base, e a coluna dessa varivel a coluna piv.
2. Determinar a varivel bsica que sair da base.
Busca-se aqui selecionar a varivel bsica que sair da base (e se tornar nula), que aquela que limita
o crescimento de x1. Os resultados das trs etapas necessrias para a escolha da varivel, a partir da Tabela
3.1, esto detalhados a seguir e tambm podem ser visualizados na Tabela 3.2:
a) Os coecientes positivos da coluna piv (coluna da varivel x1) selecionados so os coecientes
1 e 5 (equaes 1 e 2, respectivamente).
b) Para a equao 1, dividir a constante 6 pelo coeciente 1 da coluna piv. Para a equao 2, dividir
a constante 20 pelo coeciente 5.
c) A linha com menor quociente equao 2 (4 < 6). Portanto, a varivel escolhida a sair da base x4.

91

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

O Passo 1 (determinao da varivel que entra na base) e as trs etapas do Passo 2 listadas para
determinar a varivel que sai da base esto ilustrados na Tabela 3.2.
Tabela 3.2 Determinao da varivel que entra e sai da base na primeira iterao
Entra
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3

x4

20

Constante

6/1 = 6
20/5 = 4
Sai

coluna
piv

O quociente 4 da equao 2 representa o valor mximo que a varivel x1 pode assumir nessa equao
(5x1 + x4 = 20), caso a varivel x4 passe a assumir o valor zero (x4 = 0). J o quociente 6 representa o valor
mximo que a varivel x1 pode assumir na equao 1 (x1 + x3 = 6), considerando x3 = 0. Como queremos
maximizar o valor de x1, escolhemos, para sair da base e assumir o valor nulo, a varivel x4 que limita o
seu crescimento.
A linha piv e a coluna piv esto destacadas na Tabela 3.2. O nmero piv (interseo da linha piv
com a coluna piv) 5.
3. Transformar a forma tabular atual utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a
soluo bsica.
Da mesma forma que no procedimento analtico, os coecientes da varivel x1 na forma tabular
atual (Tabela 3.2) devem ser transformados de 3, 1 e 5 (equaes 0, 1 e 2, respectivamente) para 0, 0
e 1 (coecientes da varivel x4 na forma tabular atual), por meio de operaes elementares (mtodo de
eliminao de Gauss-Jordan), de forma que os valores das novas variveis bsicas e da funo objetivo z
podem ser obtidos diretamente na nova forma tabular.
A nova forma tabular obtida aps as seguintes operaes elementares:
a) Nova linha piv = linha piv atual y nmero piv
b) Para as demais linhas, incluindo z:
Nova linha = (linha atual) (coeciente da coluna piv da linha atual) u (nova linha piv)
Aplicando a primeira operao na forma tabular atual (dividir a equao 2 por 5), obtm-se a nova
linha piv, conforme mostra a Tabela 3.3.
Tabela 3.3 Nova linha piv (Iterao 1)

92

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3
x1

1
2

0
0

1
1

1
2/5

1
0

0
1/5

6
4

Constante

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Como a varivel x1 entrou na base no lugar da varivel x4, a coluna da varivel bsica na nova linha
piv deve ser alterada, conforme mostra a Tabela 3.3.
A etapa (b) ser aplicada para as demais linhas (equaes 0 e 1).
Iniciaremos pela equao 1, que tem coeciente positivo na coluna piv (+1). Primeiramente,
multiplica-se esse coeciente (+1) pela nova linha piv (equao 2 da Tabela 3.3). Esse produto ento
subtrado da equao 1 atual, resultando na nova equao 1:
x1

x2

x3

x4

constante

equao 1

equao 2 u
(+1)

2/5

1/5

subtrao:

3/5

1/5

A nova equao 1 est reescrita na Tabela 3.4:


Tabela 3.4 Etapa (b) para obteno da nova equao 1 (Iterao 1)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

x3

3/5

1/5

x1

2/5

1/5

A etapa (b) tambm aplicada para a equao 0 que possui coeciente negativo na coluna piv (3).
Primeiramente, multiplica-se o valor desse coeciente (3) pela nova linha piv (equao 2 da Tabela 3.3).
Esse produto subtrado da equao 0 atual, resultando na nova equao 0:
x1

x2

x3

x4

constante

equao 0

equao 2 u
(3)

6/5

3/5

12

subtrao:

4/5

3/5

12

A nova forma tabular, aps a aplicao das operaes elementares descritas, apresentada na Tabela 3.5.
Tabela 3.5 Nova forma tabular aps o mtodo de eliminao de Gauss-Jordan (Iterao 1)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

4/5

3/5

12

x3

3/5

1/5

x1

2/5

1/5

93

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

A partir da nova forma tabular (Tabela 3.5), possvel obter imediatamente os novos valores de x1, x3 e z.
A nova soluo bsica factvel x1 = 4 e x3 = 2 com z = 12.
A nova soluo {x1, x2, x3, x4} = {4, 0, 2, 0}.
Passo 2: Teste de otimalidade.
Conforme mostra a Tabela 3.5, a equao 0 passa a ser reescrita em funo das novas variveis no
bsicas (x2 e x4), de forma a vericar facilmente o teste de otimalidade.
A SBF atual ainda no a tima, pois o coeciente de x2 na equao 0 da Tabela 3.5 negativo.
Qualquer incremento positivo em x2 resultar em incremento positivo no valor da funo objetivo z, de
forma que uma SBF adjacente melhor pode ser obtida.
Iterao 2: Determinar uma SBF adjacente melhor.
Os trs passos a serem implementados nessa iterao esto detalhados a seguir.
1. Determinar a varivel no bsica que entrar na base.
De acordo com a nova forma tabular (Tabela 3.5), pode-se vericar que a varivel x2 a nica com
coeciente negativo na equao 0. Logo, a varivel escolhida a entrar na base x2. A coluna da varivel x2
passa a ser a coluna piv.
2. Determinar a varivel bsica que sair da base.
A varivel bsica escolhida a sair da base (e se tornar nula) aquela que limita o crescimento de x2.
Os resultados das trs etapas necessrias para a escolha da varivel, a partir da Tabela 3.5, so detalhados
a seguir e tambm podem ser visualizados na Tabela 3.6:
a) Os coecientes positivos da coluna piv (coluna da varivel x2) selecionados so os coecientes 3/5
e 2/5 (equaes 1 e 2, respectivamente).
b) Para a equao 1, dividir a constante 2 pelo coeciente 3/5. Para a equao 2, dividir a constante 4
pelo coeciente 2/5.
c) A linha com menor quociente a equao 1 (10/3 < 10). Portanto, a varivel escolhida a sair da base x3.
O Passo 1 (determinao da varivel que entra na base), alm das trs etapas do passo 2 para
determinar a varivel que sai da base, est ilustrado na Tabela 3.6.
Tabela 3.6 Determinao da varivel que entra e sai da base na segunda iterao
Entra

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

4/5

3/5

12

x3

3/5

1/5

2/3/5
=10/3
Sai

x1

1/5

4/2/5 =10

Constante

2/5
coluna
piv

A linha da varivel x3 (equao 1) passa a ser a linha piv. O nmero piv 3/5.

94

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

3. Transformar a forma tabular atual utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a


soluo bsica.
Os coecientes da varivel x2 na forma tabular atual (Tabela 3.6) devem ser transformados de 4/5,
3/5 e 2/5 (equaes 0, 1 e 2, respectivamente) para 0, 1 e 0 (coecientes da varivel x3 na forma tabular
atual), de forma que os valores das novas variveis bsicas e da funo objetivo z podem ser obtidos
diretamente na nova forma tabular.
Da mesma forma que na primeira iterao, a nova forma tabular obtida aps as seguintes operaes
elementares:
a) Nova linha piv = linha piv atual y nmero piv
b) Para as demais linhas, incluindo z:
Nova linha = (linha atual) (coeciente da coluna piv da linha atual) u (nova linha piv)
Aplicando a primeira operao na forma tabular atual (dividir a equao 1 por 3/5), obtm-se a nova
linha piv, conforme mostra a Tabela 3.7.
Tabela 3.7 Nova linha piv (Iterao 2)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

4/5

3/5

12

x2

5/3

1/3

10/3

x1

2/5

1/5

Como a varivel x2 entrou na base no lugar da varivel x3, a coluna da varivel bsica na nova linha
piv deve ser alterada, conforme mostra a Tabela 3.7.
A etapa (b) ser aplicada para as demais linhas (equaes 0 e 2).
Iniciaremos pela equao 2, que tem coeciente positivo na coluna piv (2/5). Primeiramente,
multiplica-se esse coeciente (2/5) pela nova linha piv (equao 1 da Tabela 3.7). Esse produto ento
subtrado da equao 2 atual, resultando na nova equao 2:
x1

x2

x3

x4

constante

equao 2

2/5

1/5

equao 1 u
(2/5)

2/5

2/3

2/15

4/3

subtrao:

2/3

1/3

8/3

A nova equao 2 aparece na Tabela 3.8:


Tabela 3.8 Forma tabular com a nova equao 2 (Iterao 2)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

4/5

3/5

12

x2

5/3

1/3

10/3

x1

2/3

1/3

8/3

95

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

A etapa (b) tambm aplicada para a equao 0, que possui coeciente negativo na coluna piv
(4/5). Primeiramente, multiplica-se o valor desse coeciente (4/5) pela nova linha piv (equao 1 da
Tabela 3.7). Esse produto subtrado da equao 0 atual, resultando na nova equao 0:
x1

x2

x3

x4

constante

equao 0

4/5

3/5

12

equao 1 u
(4/5)

4/5

4/3

4/15

8/3

subtrao:

4/3

1/3

44/3

A nova forma tabular, aps a aplicao do mtodo de eliminao de Gauss-Jordan, apresentada na


Tabela 3.9:
Tabela 3.9 Nova forma tabular aps o mtodo de eliminao de Gauss-Jordan (Iterao 2)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

4/3

1/3

44/3

x2

5/3

1/3

10/3

x1

2/3

1/3

8/3

A partir da Tabela 3.9, pode-se obter imediatamente os novos valores de x1, x2 e z.


A nova soluo bsica factvel x1 = 8/3 e x2 = 10/3, com z = 44/3.
A nova soluo {x1, x2, x3, x4} = {8/3, 10/3, 0, 0}.
Passo 2: Teste de otimalidade.
A SBF atual a tima, pois os coecientes das variveis no bsicas x3 e x4 na equao 0 da Tabela
3.9 so positivos.

3.4.4 O Mtodo Simplex para Problemas de Minimizao


O mtodo Simplex tambm pode ser utilizado para a soluo de problemas de minimizao de
programao linear. Os problemas de minimizao discutidos nesta seo sero resolvidos pela forma
tabular. H duas formas de resolver um problema de minimizao pelo mtodo Simplex:
Soluo 1
Transformar um problema de minimizao em um problema de maximizao e utilizar o mesmo
procedimento descrito na Seo 3.4.3. Conforme apresentado na equao 6 da Seo 2.3.3, do Captulo
2, um problema de minimizao pode ser convertido em outro de maximizao utilizando-se a seguinte
transformao:
min z = f(x1, x2,..., xn) max z = f(x1, x2,..., xn)
Soluo 2
Adaptar o procedimento descrito na Seo 3.4.3 para problemas de minimizao de programao
linear.

96

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

A Figura 3.14 apresentou os passos detalhados do algoritmo geral descrito nas Figuras 3.11 e
3.12 para a soluo de problemas de maximizao de programao linear na forma tabular. Para
a soluo de problemas de minimizao de PL pela forma tabular, o Passo 2 (teste de otimalidade)
e o Passo 1 de cada Iterao (determinao da varivel no bsica que entrar na base) devem ser
adaptados da Figura 3.14, j que suas decises so baseadas na equao 0 da funo objetivo. A Figura
3.15 apresenta as adaptaes do Passo 2 e do Passo 1 de cada iterao em relao Figura 3.14 para
a soluo de problemas de minimizao de PL pela forma tabular. Essas adaptaes encontram-se
destacadas na Figura 3.15.
Figura 3.15 Adaptao dos passos detalhados da Figura 3.14 para a soluo de problemas de minimizao de PL

pela forma tabular do mtodo Simplex.


Incio: O problema deve estar na forma padro.
Passo 1: Encontrar uma SBF inicial para o problema de PL.
Utiliza-se o mesmo procedimento da Figura 3.14 para problemas de maximizao.
Passo 2: Teste de otimalidade.
A SBF atual tima se, e somente se, os coecientes de todas as variveis no bsicas da equao 0 da forma
tabular so no positivos ( 0). Enquanto houver pelo menos uma das variveis no bsicas com coeciente positivo
na equao 0, h uma SBF adjacente melhor.
Iterao: Determinar uma SBF adjacente melhor.
1. Determinar a varivel no bsica que entrar na base.
Ela deve ser aquela que tem maior incremento negativo em z, isto , com maior coeciente positivo na equao 0.
2. Determinar a varivel bsica que sair da base.
Utiliza-se o mesmo procedimento da Figura 3.14 para problemas de maximizao.
3. Transformar a forma tabular atual utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a soluo
bsica.

Conforme mostra a Figura 3.15, com exceo do Passo 2 (teste de otimalidade) e do Passo 1 de cada
Iterao (determinao da varivel no bsica que entrar na base), pode-se vericar que os demais passos
so iguais aos apresentados na Figura 3.14 para problemas de maximizao.
Exemplo 3.11
Considere o seguinte problema de minimizao de programao linear:
min z = 4x1 2x2
sujeito a:
2x1 + x2 d 10
x 1 x2 d 8
x1, x2 t 0

(3.14)

Determinar a soluo tima do problema.


Soluo 1
Primeiramente, para que o problema (3.14) esteja na forma padro, devem ser introduzidas variveis
de folga em cada uma das restries do modelo. O problema tambm pode ser reescrito a partir de uma
funo de maximizao:

97

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

max z = 4x1 + 2x2


sujeito a:
= 10
2x1 + x2 + x3
+ x4 = 8
x1 x2
x1, x2, x3, x4 t 0

(3.15)

A forma tabular inicial que representa o sistema de equaes (3.15) est na Tabela 3.10:
Tabela 3.10 Forma tabular inicial do sistema de equaes (3.15)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3

10

x4

Constante

O conjunto inicial de variveis no bsicas representado por x1 e x2, enquanto o conjunto inicial de
variveis bsicas representado por x3 e x4. A soluo inicial {x1, x2, x3, x4} = {0, 0, 10, 8} no tima, j
que o coeciente da varivel no bsica x2 na equao 0 negativo.
Para determinao de uma SBF adjacente melhor, a varivel x2 entra na base (maior coeciente negativo)
no lugar da varivel x4, que a nica que limita o crescimento de x2, conforme mostra a Tabela 3.11.
Tabela 3.11 Varivel que entra e sai da base na primeira iterao
Entra

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

x3

10

x4

10/1=10
Sai

coluna
Piv

A nova forma tabular, utilizando o mtodo de eliminao de Gauss-Jordan, :


Tabela 3.12 Nova forma tabular utilizando o mtodo de eliminao de Gauss-Jordan (Iterao 1)

98

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

20

x2

10

x4

18

Constante

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

A partir da Tabela 3.12, pode-se obter imediatamente os novos valores de x2, x4 e z. Os resultados da
nova soluo bsica factvel so x2 = 10 e x4 = 18 com z = 20. A nova soluo pode ser representada por
{x1, x2, x3, x4} = {0, 10, 0, 18}.
A nova soluo bsica obtida a tima, j que todos os coecientes das variveis no bsicas na
equao 0 so no negativos.
Soluo 2
Para que o mtodo Simplex seja aplicado, o problema inicial de minimizao descrito em (3.14) deve
estar na forma padro:
min z = 4x1 2x2
sujeito a:
2x1 + x2 + x3
= 10
x1 x2
+ x4 = 8
(3.16)
x1, x2, x3, x4 t 0
A forma tabular inicial do sistema de equaes (3.16) est representada na Tabela 3.13.
Tabela 3.13 Forma tabular inicial do sistema de equaes (3.16)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3

10

x4

Constante

Analogamente soluo 1, o conjunto inicial de variveis no bsicas representado por x1 e


x2, enquanto o conjunto inicial de variveis bsicas representado por x3 e x4. Para um problema de
minimizao, a soluo tima se todos os coecientes das variveis no bsicas na equao 0 so no
positivos (d 0). Portanto, a soluo inicial {x1, x2, x3, x4} = {0, 0, 10, 8} no tima, j que o coeciente
da varivel no bsica x2 na equao 0 positivo.
Conforme mostra a Tabela 3.14, a varivel x2 entra na base (maior coeciente positivo) no lugar da
varivel x4, que a nica com coeciente positivo na coluna piv.
Tabela 3.14 Varivel que entra e sai da base na primeira iterao
Entra

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3

10

x4

Constante

10/1=10
Sai

coluna
Piv

99

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

A nova forma tabular, utilizando o mtodo de eliminao de Gauss-Jordan, est na Tabela 3.15.
Tabela 3.15 Nova forma tabular utilizando o mtodo de eliminao de Gauss-Jordan (Iterao 1)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

20

x2

10

x4

18

Constante

De acordo com a Tabela 3.15, a nova soluo adjacente {x1, x2, x3, x4} = {0, 10, 0, 18} com z = 20.
A soluo bsica obtida tima, pois os coecientes de todas as variveis no bsicas na equao 0 so
no positivos.

3.4.5 Variveis Artificiais para Encontrar uma SBF Inicial em Problemas com Restries
de Igualdade e Desigualdade do Tipo
Todos os problemas de maximizao e minimizao resolvidos at aqui pelo mtodo Simplex
apresentavam apenas restries de desigualdade do tipo d com constantes no negativas do lado direito
(tambm chamado RHS right hand side). Para que essas inequaes pudessem ser transformadas
em equaes de igualdade (forma padro), era adicionada uma varivel de folga do lado esquerdo
de cada restrio. Assim, uma SBF inicial poderia ser facilmente obtida atribuindo-se valores nulos
s variveis de deciso (variveis no bsicas) do modelo e considerando as variveis de folga como
variveis bsicas.
Porm, quando as restries do modelo so representadas por inequaes do tipo t ou equaes de
igualdade, a SBF inicial no bvia, j que essas restries no apresentam variveis de folga que possam
ser utilizadas como variveis bsicas iniciais. Como alternativa, deve ser adicionada uma nova varivel,
do lado esquerdo de cada equao, chamada varivel articial, que ser utilizada como varivel bsica
inicial, a m de proporcionar facilmente uma SBF inicial. A restrio de no negatividade das variveis
articiais deve ser adicionada ao modelo, e a funo objetivo tambm modicada. O mtodo das
penalidades (Big M) e o mtodo de duas fases so variantes do mtodo Simplex que utilizam o conceito
de variveis articiais para que uma SBF inicial possa ser obtida facilmente. Como essas variveis
articiais no fazem parte do modelo e tm como objetivo apenas proporcionar uma SBF inicial, elas
tendem a desaparecer ao longo do algoritmo at que todas elas assumam valores nulos na ltima
iterao.
Exemplo 3.12
Considere o seguinte problema de programao linear:
min z = 10x1 + 6x2
sujeito a:
4x1 + 2x2 t 24
d8
x1
x1 + 2x2 = 12
x1, x2 t 0

100

(3.17)

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Para que o problema (3.17) possa ser escrito na forma padro, subtrai-se uma varivel de excesso x3
do lado esquerdo da primeira equao e soma-se uma varivel de folga x4 do lado esquerdo da segunda
equao:
min z = 10x1 + 6x2
sujeito a:
4x1 + 2x2 x3
= 24
x1
+ x4 = 8
(3.18)
x1 + 2x2
= 12
x1, x2, x3, x4 t 0
Para a soluo de problemas de PL com restries do tipo d pelo mtodo Simplex, o conjunto inicial
de variveis no bsicas representado pelas variveis de deciso, nesse caso x1 e x2, e o conjunto inicial
de variveis bsicas pelas variveis de folga. Podemos vericar, a partir de (3.18), que apenas a segunda
equao possui uma varivel de folga. A primeira equao possui apenas uma varivel de excesso, de forma
que, se x1 e x2 assumissem valores nulos, a varivel x3 assumiria um valor negativo (soluo infactvel).
Analogamente, no existe uma varivel de folga que possa ser utilizada como varivel bsica inicial na
terceira equao.
Como alternativa, deve ser introduzida uma varivel articial do lado esquerdo da primeira equao
e outra na ltima equao, para que uma SBF inicial possa ser obtida. Como essas variveis articiais no
fazem parte do problema original, a funo objetivo tambm deve ser alterada, de forma que as mesmas
assumam valores nulos no nal do algoritmo.
Esse mesmo exemplo ser resolvido nas Sees 3.4.5.1 e 3.4.5.2 pelo mtodo das penalidades (Big M)
e pelo mtodo das duas fases, respectivamente.

3.4.5.1 Mtodo das Penalidades (Big M)


No mtodo das penalidades (Big M), dado um problema de programao linear na forma padro, para
cada uma das equaes i que no tm varivel de folga, deve ser adicionada uma varivel articial ai do
lado esquerdo da equao. Como essas variveis articiais no fazem parte do problema original de PL, o
mtodo atribui uma penalizao M s variveis articiais (M o f), subtraindo o produto Mai da funo
objetivo (problemas de maximizao) ou adicionando o produto Mai funo objetivo (problemas de
minimizao), de forma a obrigar essas variveis a sair da base e assumir o valor nulo na soluo tima,
desde que haja uma soluo factvel.
A descrio completa do mtodo das penalidades est na Figura 3.16. Para que o mtodo possa ser
aplicado, o problema deve estar na forma padro.
Figura 3.16 Descrio detalhada do mtodo das penalidades (Big M).

Incio: Problema original na forma padro, adicionando variveis articiais para as equaes que no tm
variveis de folga.
Convertido o problema inicial para a forma padro, para as restries que eram do tipo t, alm da varivel
de excesso subtrada do lado esquerdo da equao, adicionar uma varivel articial ai (ai t 0) do mesmo lado
Analogamente, para as equaes de igualdade, adicionar uma varivel articial do lado esquerdo da equao.
Passo 1: Considere M um valor positivo sucientemente grande (M o f). Para um problema de maximizao
de PL, para cada varivel articial ai introduzida, i = 1,...,k, subtrair o produto Mai da funo objetivo (max z =
c1 x1 + ... + cn xn M1a1 ... Mkak).
Para um problema de minimizao, para cada varivel articial ai introduzida, adicionar o produto Mai funo
objetivo (min z = c1 x1 + ... + cn xn + M1a1 + ... + Mkak).

101

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

Passo 2: Como as variveis articiais sero as variveis bsicas iniciais, elas devem ser eliminadas da linha 0
(funo objetivo) da forma tabular inicial. Para que os coecientes das variveis articiais sejam nulos na linha 0,
para problemas de minimizao, deve-se multiplicar a constante M para cada equao i em que foi introduzida
uma varivel articial ai e somar cada um desses produtos equao 0 atual. Para problemas de maximizao, o
valor da constante M negativo:
a) Nova linha 0 = linha 0 atual + equaco i M
(problemas de minimizao)
i

b) Nova linha 0 = linha 0 atual +

equaco i

(problemas de maximizao)

Passo 3: Aplicar o mtodo Simplex para o problema original adaptado. A soluo tima obtida quando todas
as variveis no bsicas da equao 0 tm coecientes no negativos (problemas de maximizao) ou coecientes
no positivos (problemas de minimizao) e quando todas as articiais assumem valores nulos.
Se qualquer uma das variveis articiais assume valor positivo na ltima iterao, temos uma soluo infactvel (caso
especial que detalhado na Seo 3.4.6.3).

Exemplo 3.13
Resolver o Exemplo 3.12 pelo mtodo das penalidades (Big M).
Soluo
Conforme apresentado em (3.18), a forma padro do Exemplo 3.12 :
min z = 10x1 + 6x2
sujeito a:
= 24
4x1 + 2x2 x3
+ x4 = 8
x1
= 12
x1 + 2x2
x1, x2, x3, x4 t 0

(3.18)

A partir da, ser aplicado o mtodo das penalidades (Big M), conforme descrito na Figura 3.16.
Incio
A partir do sistema de equaes (3.18), para cada uma das equaes i que no tm varivel de folga
(equaes 1 e 3), adicionar uma varivel articial ai do lado esquerdo da equao:
min z = 10x1 + 6x2
sujeito a:
+ a1
= 24
4x1 + 2x2 x3
+ x4
=8
x1
(3.19)
x1 + 2x2
+ a2 = 12
x1, x2, x3, x4, a1, a2 t 0

102

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Passo 1
Como o problema de minimizao, para cada varivel articial ai introduzida (i = 1, 2), adicionar
o produto Mai funo objetivo:
min z = 10x1 + 6x2 + Ma1 + Ma2
sujeito a:
+ a1
= 24
4x1 + 2x2 x3
+ x4
=8
x1
(3.20)
x1 + 2x2
+ a2 = 12
x1, x2, x3, x4, a1, a2 t 0

Passo 2
Eliminar as variveis articiais da linha 0 (funo objetivo) de (3.20), j que as mesmas sero
consideradas variveis bsicas iniciais:
6x2
Ma1 Ma2 = 0
equao 0
z 10x1
= 24M
equao 1 M
4Mx1 + 2Mx2 Mx3 + Ma1
+Ma2 = 12M
equao 3 M
Mx1 + 2Mx2
soma (nova equao 0): z + (5M 10)x1 + (4M 6)x2 Mx3 = 36M
Passo 3: Aplicar o mtodo Simplex ao problema original adaptado.
A forma tabular inicial que combina a nova equao 0 com o sistema de equaes (3.20) est
representada na Tabela 3.16.
Tabela 3.16 Forma tabular inicial do sistema de equaes (3.20)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

a2

Constante

5M 10

4M 6

36M

a1

24

x4

a2

12

O conjunto inicial de variveis no bsicas representado por x1, x2 e x3, enquanto o conjunto inicial
de variveis bsicas representado por a1, x4 e a2 (variveis de folga e articiais). Como o problema de
minimizao, a soluo tima se todos os coecientes das variveis no bsicas na equao 0 so no
positivos (d 0). Portanto, a soluo inicial {x1, x2, x3, x4, a1, a2} = {0, 0, 0, 8, 24, 12} no tima, j que os
coecientes das variveis no bsicas x1 e x2 na equao 0 da Tabela 3.16 so positivos.
Conforme mostra a Tabela 3.17, a varivel x1 com maior coeciente positivo (5M 10 > 4 M 6) entra
na base no lugar da varivel a1 (linha com menor quociente positivo).

103

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

Tabela 3.17 Varivel que entra e sai da base na primeira iterao


Entra
Varivel
no da
bsica equao

Coecientes
z

x1

x2

x3

x4

a1

a2

Constante

5M 10

4M 6

36M

a1

24

6
Sai

x4

a2

12

12

1
1
coluna
piv

A nova forma tabular obtida na primeira iterao, utilizando o mtodo de eliminao de GaussJordan, est na Tabela 3.18.
Tabela 3.18 Nova forma tabular (Iterao 1)
Varivel
bsica

Eq.

Coecientes
z

x1

x2

x3

x4

a1

a2

Constante

3/2M 1

1/4M
5/2

5/4M +
5/2

6M + 60

x1

1/2

1/4

1/4

x4

1/2

1/4

1/4

a2

3/2

1/4

1/4

De acordo com a Tabela 3.18, a nova soluo adjacente {x1, x2, x3, x4, a1, a2} = {6, 0, 0, 2, 0, 6} com
z = 6M + 60. A soluo bsica obtida no tima, pois os coecientes das variveis no bsicas x2 e x3
na equao 0 so positivos. Verica-se tambm que o coeciente da varivel articial a2 ainda positivo.
Busca-se, portanto, determinar uma nova SBF adjacente.
Conforme mostra a Tabela 3.19, a varivel x2 entra na base (3/2M 1 > 1/4M 5/2) no lugar da
varivel a2 (linha com menor quociente positivo).
Tabela 3.19 Varivel que entra e sai da base na segunda iterao
Entra
Varivel
bsica

Eq.

Coecientes
z

x1

x2

x3

x4

a1

a2

Constante

3/2M
1

1/4M
5/2

5/4M
+ 5/2

6M + 60

x1

1/2

1/4

1/4

x4

1/2

1/4

1/4

a2

3/2

1/4

1/4

12
4
Sai

A nova forma tabular (Iterao 2), utilizando o mtodo de eliminao de Gauss-Jordan, est na Tabela 3.20.

104

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Tabela 3.20 Nova forma tabular obtida na segunda iterao


Coecientes

Varivel
bsica

Eq.

Constante

x1

x2

x3

x4

a1

a2

7/3

M +
7/3

M +
2/3

64

x1

1/3

1/3

1/3

x4

1/3

1/3

1/3

x2

1/6

1/6

2/3

De acordo com a Tabela 3.20, podemos vericar que a nova soluo adjacente {x1, x2, x3, x4, a1, a2}
= {4, 4, 0, 4, 0, 0} com z = 64. A soluo bsica obtida tima, pois os coecientes de todas as variveis
no bsicas na equao 0 so no positivos. Verica-se tambm que todas as variveis articiais a1 e a2
assumem valor nulo na soluo tima.

3.4.5.2 Mtodo das Duas Fases


Da mesma forma que o mtodo das penalidades (Big M), o mtodo das duas fases tambm utiliza
o conceito de variveis articiais para que uma soluo bsica factvel inicial possa ser encontrada em
problemas de PL com restries de desigualdade do tipo t ou equaes de igualdade. O mtodo das
penalidades, segundo Taha (2007), pode gerar erros de arredondamento que podem prejudicar a acurcia
do mtodo Simplex. Como alternativa, pode-se utilizar o mtodo das duas fases.
Analogamente ao mtodo das penalidades, para um problema original escrito na forma padro,
deve-se introduzir uma varivel articial em cada uma das restries que no possui varivel de folga.
A fase 1 tem como objetivo encontrar uma SBF inicial para o problema original. Para isso, cria-se
uma funo objetivo de minimizao que representa a soma de todas as variveis articiais. A soluo
tima obtida nessa fase, por meio da aplicao do mtodo Simplex para o problema original adaptado,
utilizada como SBF inicial para a fase 2.
O objetivo da fase 2 encontrar uma soluo tima para o problema original, a partir da soluo
tima obtida na fase 1. Como as variveis articiais no fazem parte do problema original e tinham
como objetivo apenas gerar uma SBF inicial para essa fase, elas devem ser eliminadas da fase 2. A funo
objetivo, nessa fase, equivalente funo objetivo original. Portanto, a fase 2 uma combinao da
funo objetivo do problema original com as restries da soluo tima obtida na fase 1. A soluo tima
obtida nessa fase corresponde soluo tima do problema original.
A descrio completa do mtodo das duas fases pode ser encontrada na Figura 3.17.
Figura 3.17 Mtodo das duas fases detalhado

Incio: Problema original na forma padro, adicionando variveis articiais para as equaes que no tm variveis
de folga.
Analogamente ao mtodo das penalidades (Big M), convertido o problema original para a forma padro, para as
restries que eram do tipo t, alm da varivel de excesso subtrada do lado esquerdo da equao, adicionar uma
varivel articial ai (ai t 0) do mesmo lado. Analogamente, para as equaes de igualdade, adicionar uma varivel
articial do lado esquerdo da equao.
Fase 1
Cria-se uma nova funo objetivo articial w (sempre de minimizao) que corresponde soma de k variveis
articiais ai, i = 1,...,k:
min w = a1 + a2 + ... + ak

(3.21)

105

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

sujeito s restries denidas em Incio.


Da mesma forma que no mtodo das penalidades, como as variveis articiais sero as variveis bsicas iniciais,
elas devem ser eliminadas da linha 0 (funo objetivo) na forma tabular inicial. Para que os coecientes das
variveis articiais sejam nulos na linha 0, deve-se somar (problemas de minimizao) ou subtrair (problemas de
maximizao) cada uma das equaes i em que foi introduzida uma varivel articial ai equao 0 atual:
a) Nova linha 0 = linha 0 atual +

equaco i

1 (problemas de minimizao).

equaco i

1 (problemas de maximizao).

b) Nova linha 0 = linha 0 atual +

A partir da, aplica-se o mtodo Simplex para o problema original adaptado.


Como queremos minimizar a funo w, e as variveis articiais devem assumir valores no negativos, a soluo
tima factvel dessa fase atingida quando todas as variveis articiais so no bsicas e assumem valores nulos
(a1 = a2 = ... = ak = 0) e, consequentemente, a funo objetivo tambm nula (w = 0).
Porm, dois casos especiais podem ocorrer:
a) Nesse caso, todas as variveis articiais tambm assumem valores nulos (a1 = a2 = ... = ak = 0) e,
consequentemente, a funo objetivo tambm nula (w = 0), porm, pelo menos uma das variveis articiais
ai bsica (soluo degenerada em relao a uma varivel articial). Dessa forma, uma varivel no
bsica, que no seja a varivel articial, deve entrar na base no lugar de outra varivel bsica. O procedimento
deve ser repetido at que todas as variveis articiais saiam da base, se no estivermos diante de um problema
ilimitado. Quando todas as variveis articiais foram removidas da base, ir para a fase 2. Esse caso especial
(soluo tima degenerada) est detalhado na Seo 3.4.6.4.
b) Se pelo menos uma das variveis articiais ai assume valor positivo (nesse caso w > 0) na ltima iterao
dessa fase, temos uma soluo infactvel para o problema original (pelo menos uma das restries no
respeitada). Quando isso ocorrer, o algoritmo naliza aqui. Esse caso especial (no existe soluo tima) est
detalhado na Seo 3.4.6.3.
Fase 2
Essa fase combina a funo objetivo do problema original com as restries da soluo tima obtida na fase 1.
Porm, algumas alteraes so necessrias na nova forma tabular antes da aplicao do mtodo Simplex.
Primeiramente, a partir da forma tabular tima obtida na fase 1, eliminam-se todas as colunas correspondentes s
variveis articiais. Alm disso, a funo objetivo do problema original deve ser reescrita, por meio de operaes
elementares, de forma que as variveis bsicas da soluo tima da fase 1 tenham coecientes nulos na funo
objetivo do problema original.
O mtodo Simplex ento aplicado para que a soluo tima seja obtida. A soluo tima da fase 2 corresponde
soluo tima do problema original.

Exemplo 3.14
Resolver o Exemplo 3.12 pelo mtodo das duas fases. A formulao inicial do Exemplo 3.12 :
min z = 10x1 + 6x2
sujeito a:
4x1 + 2x2 t 24
d8
x1
x1 + 2x2 = 12
x1, x2 t 0
Soluo
O mtodo das duas fases detalhado na Figura 3.17 ser aplicado para o Exemplo 3.14.

106

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Incio
Conforme mostrado no mtodo das penalidades, primeiramente o problema deve ser convertido para
a forma padro, introduzindo-se variveis de folga e excesso. A partir da, para cada uma das equaes i que
no tm varivel de folga (equaes 1 e 3), adicionar uma varivel articial ai do lado esquerdo da equao:
min z = 10x1 + 6x2
sujeito a:
+ a1
= 24
4x1 + 2x2 x3
x1
+ x4
=8
(3.22)
x1 + 2x2
+ a2 = 12
x1, x2, x3, x4, a1, a2 t 0

Fase 1
Cria-se uma funo objetivo w, que a soma das variveis articiais a1 e a2, sujeita s restries do
problema 3.22:
min w = a1 + a2
sujeito a:
+ a1
= 24
4x1 + 2x2 x3
x1
+ x4
=8
(3.23)
x1 + 2x2
+ a2 = 12
x1, x2, x3, x4, a1, a2 t 0
Os coecientes das variveis articiais devem ser nulos na linha 0 de (3.23), j que as mesmas sero
as variveis bsicas iniciais. Para isso, deve-se somar (problema de minimizao) as equaes 1 e 3 em que
foram introduzidas as variveis articiais a1 e a2 equao 0 atual:
w

equao 0
equao 1
equao 2

a1 a2 = 0
4x1 + 2x2 x3 + a1
= 24
x1 + 2x2
+ a2 = 12

soma (nova equao 0): w + 5x1 + 4x2 x3

= 36

A forma tabular inicial que combina a nova equao 0 com o sistema de equaes (3.23) est
representada na Tabela 3.21.
Tabela 3.21 Forma tabular inicial da fase 1
Varivel
bsica

Eq.

Coecientes
w

x1

x2

x3

x4

a1

a2

Constante

36

a1

24

x4

a2

12

Analogamente ao mtodo das penalidades (Big M), o conjunto inicial de variveis no bsicas
representado por x1, x2 e x3, e o conjunto inicial de variveis bsicas representado por a1, x4 e a2 (variveis

107

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

de folga e articiais). A soluo inicial {x1, x2, x3, x4, a1, a2} = {0, 0, 0, 8, 24, 12} no tima, j que os
coecientes das variveis no bsicas x1 e x2 na equao 0 da Tabela 3.21 so positivos.
Conforme mostra a Tabela 3.22, a varivel x1 com maior coeciente positivo entra na base no lugar
da varivel a1 (linha com menor quociente positivo).
Tabela 3.22 Varivel que entra e sai da base na primeira iterao da fase 1
Entra
Varivel
bsica

Eq.

Coecientes
w

x1

x2

x3

x4

a1

a2

Constante

36

a1

24

6
Sai

x4

12

12

a2

A nova forma tabular obtida na primeiraw iterao, utilizando o mtodo de eliminao de GaussJordan, est na Tabela 3.23.
Tabela 3.23 Nova forma tabular (Iterao 1)
Coecientes

Varivel
bsica

Eq.

x1

x2

x3

x4

a1

a2

Constante

3/2

1/4

5/4

x1

1/2

1/4

1/4

x4

1/2

1/4

1/4

a2

3/2

1/4

1/4

De acordo com a Tabela 3.23, a nova soluo adjacente {x1, x2, x3, x4, a1, a2} = {6, 0, 0, 2, 0, 6} com
z = 6. A soluo bsica obtida no tima, pois os coecientes das variveis no bsicas x2 e x3 na equao
0 so positivos. Busca-se, portanto, determinar uma nova SBF adjacente.
Conforme mostra a Tabela 3.24, a varivel x2 com maior coeciente positivo na linha 0 entra na base
no lugar da varivel a2 (linha com menor quociente positivo).
Tabela 3.24 Varivel que entra e sai da base na segunda iterao
Entra
Varivel
bsica

Eq.

108

Coecientes
w

x1

x2

x3

x4

a1

a2

Constante

3/2

1/4

5/4

x1

1/2

1/4

1/4

x4

1/2

1/4

1/4

a2

3/2

1/4

1/4

12
4
Sai

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

A nova forma tabular (Iterao 2), utilizando o mtodo de eliminao de Gauss-Jordan, est na
Tabela 3.25.
Tabela 3.25 Nova forma tabular obtida na segunda iterao
Coecientes

Varivel
bsica

No da
equao

x1

x2

x3

x4

a1

a2

Constante

x1

1/3

1/3

1/3

x4

1/3

1/3

1/3

x2

1/6

1/6

2/3

De acordo com a Tabela 3.25, podemos vericar que a soluo bsica x1 = 4, x2 = 4 e x4 = 4 com
w = 0 tima, pois os coecientes de todas as variveis no bsicas (x3, a1 e a2) na equao 0 so no
positivos. Portanto, a soluo tima factvel atingida quando todas as variveis articiais so no
bsicas (a1 = 0, a2 = 0) e w = 0.
Podemos vericar que as formas tabulares utilizadas nessa fase, em cada iterao, com exceo da
linha 0 da funo objetivo, so iguais quelas utilizadas no mtodo das penalidades (Big M).
Fase 2
Esta fase tem como objetivo determinar a soluo tima do problema original. A fase 2 combina
a funo objetivo do problema original (min z = 10x1 + 6x2) com as restries da forma tabular tima
obtida na fase 1 (equaes 1, 2 e 3 da Tabela 3.25). Porm, algumas alteraes so necessrias na nova
forma tabular antes da aplicao do mtodo Simplex.
Primeiramente, eliminam-se as colunas correspondentes s variveis articiais a1 e a2 da Tabela 3.25.
Como a soluo tima da fase 1 {x1, x2, x3, x4, a1, a2} = {4, 4, 0 4, 0, 0} utilizada como SBF inicial
dessa fase, as variveis bsicas x1 e x2 devem ser eliminadas de z 10x1 6x2 = 0. Para isso, deve-se
multiplicar a linha 1 da Tabela 3.25 (linha da varivel bsica x1) por 10, multiplicar a linha 3 da Tabela 3.25
(linha da varivel bsica x2) por 6 e som-las funo objetivo do problema original (z 10x1 6x2 = 0):
equao 0
z 10x1 6x2
=0
equao 1 10
10x1
10/3x3 = 40
equao 2 6
6x2 +
x3 = 24
soma (nova equao 0): z

10/3x3 = 64

A nova forma tabular inicial da fase 2 est na Tabela 3.26.


Tabela 3.26 Forma tabular inicial da fase 2
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

10/3

64

x1

1/3

x4

1/3

x2

1/6

Constante

109

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

A partir da, o mtodo Simplex aplicado para a determinao da soluo tima do problema original.
De acordo com a Tabela 3.26, verica-se que essa soluo j a tima, j que o coeciente da varivel
no bsica x3 na linha 0 no positivo. A soluo tima do problema original , portanto, x1 = 4, x2 = 4,
x3 = 0 e x4 = 4 com z = 64.

3.4.6 Casos Especiais do Mtodo Simplex


Conforme apresentado na Seo 3.2.3, um problema de PL pode no apresentar uma nica soluo
tima no degenerada, podendo cair em um dos casos especiais:
i Mltiplas solues timas.
i Funo objetivo z ilimitada.
i No existe soluo tima.
i Soluo tima degenerada.
A Seo 3.2.3 apresentou a soluo grca para cada um dos casos especiais listados. Os mesmos
exemplos sero resolvidos nesta seo por meio do mtodo Simplex, de forma a identicar as peculiaridades
de cada caso especial em uma das formas tabulares (inicial, intermediria ou nal).

3.4.6.1 Mltiplas Solues timas


Conforme abordado na Seo 3.2.3.1, em um problema de programao linear com innitas solues
timas, vrios pontos alcanam o mesmo valor timo na funo objetivo. Gracamente, quando a funo
objetivo paralela a uma restrio ativa, tem-se um caso com mltiplas solues timas.
Pode-se identicar, pelo mtodo Simplex, um caso com mltiplas solues timas quando, na
forma tabular tima, o coeciente de uma das variveis no bsicas for nulo na linha 0 da funo objetivo.
Exemplo 3.15
Resolver o Exemplo 3.3 da Seo 3.2.3.1 (soluo grca de um caso com innitas solues timas) pelo
mtodo Simplex. O Exemplo 3.3 est reescrito a seguir:
max z = 8x1 + 4x2
sujeito a:
4x1 + 2x2 d 16
x1 + x2 d 6
x1, x2 t 0
Soluo
Primeiramente, repare que 8x1 + 4x2 = (4x1 + 2x2) 2, o que mostra que a reta da funo objetivo e
a reta da primeira restrio so paralelas (ver Figura 3.18). Como essa restrio ativa, estamos diante de
um caso com innitas solues timas.
Para que o problema possa ser escrito na forma padro, as variveis de folga x3 e x4 (que sero as
variveis bsicas iniciais) so includas nas equaes 1 e 2, respectivamente. A forma tabular inicial est
representada na Tabela 3.27.

110

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Tabela 3.27 Forma tabular inicial


Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3

16

x4

Constante

A soluo inicial {x1, x2, x3, x4} = {0, 0, 16, 6} no tima, j que as variveis no bsicas x1 e x2
apresentam coecientes negativos na linha 0.
Para um problema de maximizao, a varivel x1 com maior coeciente no positivo entra na base no
lugar da varivel x3 com menor quociente positivo, conforme mostra a Tabela 3.28.
Tabela 3.28 Varivel que entra e sai da base na primeira iterao
Entra
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

x3

16

16/4 = 4
Sai

x4

6/1 = 6

Constante

coluna
piv

A nova forma tabular, utilizando o mtodo de eliminao de Gauss-Jordan, est na Tabela 3.29.
Tabela 3.29 Nova forma tabular na primeira iterao
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

32

x1

1/2

1/4

x4

1/2

1/4

Constante

A soluo adjacente {x1, x2, x3, x4} = {4, 0, 0, 2} com z = 32 tima, j que os coecientes das
variveis no bsicas x2 e x3 na equao 0 so no negativos (t 0). Essa soluo corresponde ao ponto
extremo B da Figura 3.18.
Nos problemas vistos at aqui, apenas as variveis bsicas apresentavam coecientes nulos na linha
0. Porm, estamos diante de um caso com mltiplas solues timas, j que o coeciente da varivel no
bsica x2 na linha da funo objetivo zero. Se a varivel x2 entrar na base, a funo objetivo no se altera,
porm obteremos outra soluo tima alternativa.
A m de apresentar uma nova soluo tima alternativa, a varivel x2 entrar na base no lugar
da varivel x4. Como o coeciente da nova coluna piv na linha da funo objetivo zero, a linha 0
permanece inalterada. A outra forma tabular tima apresentada na Tabela 3.30.

111

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

Tabela 3.30 Outra forma tabular, tima alternativa (Iterao 2)


Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

32

x1

1/2

x2

1/2

Constante

A soluo tima alternativa {x1, x2, x3, x4} = {2, 4, 0, 0} com z = 32. Essa soluo corresponde ao
ponto extremo C da Figura 3.18.
Figura 3.18 Regio factvel do Exemplo 3.15.

Vericamos que o mtodo Simplex determina apenas os pontos extremos B e C do conjunto de solues
timas alternativas no segmento BC. Os demais pontos podem ser determinados matematicamente.
Podemos representar, por meio de uma equao, a reta que passa pelos pontos extremos B(4,0) e C(2,4).
Para isso, precisamos de um ponto pertencente reta (B ou C), alm do coeciente angular da reta que
pode ser calculado como:
m=

x2B x2A
40

= 2
B
A
24
x1 x1

(3.24)

0
0
Substituindo o ponto B(4,0) e m = 2 em x2 x2 = m( x1 x1 ) , obtemos a equao da reta que passa
pelos pontos extremos B e C:

x2 0 = 2(x1 4) x2 + 2x1 8 = 0

(3.25)

A partir de (3.25), qualquer ponto entre o segmento B e C (soluo tima alternativa) pode ser
determinado. Por exemplo, para x1 = 2,5, tem-se:
x2 = 8 2 x1 = 8 2 2,5 = 3 z = 8 x1 + 4 x2 = 8 2,5 + 4 3 = 32
Portanto, o ponto com as coordenadas x1 = 2,5 e x2 = 3 outra soluo tima alternativa com z = 32.

112

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

3.4.6.2 Funo Objetivo z Ilimitada


Conforme descrito na Seo 3.2.3.2, nesse caso no existe limite para o crescimento do valor de pelo
menos uma varivel de deciso, resultando em uma regio factvel e uma funo objetivo z ilimitada.
Para um problema de maximizao, o valor da funo objetivo cresce ilimitadamente, enquanto para um
problema de minimizao o valor decresce de forma ilimitada.
Pode-se identicar, pelo mtodo Simplex, um caso cuja funo objetivo seja ilimitada quando,
em uma das formas tabulares, uma varivel no bsica candidata ca impossibilitada de entrar na base porque
as linhas de todas as variveis bsicas possuem coecientes no positivos na coluna da varivel no bsica
candidata.
Exemplo 3.16
Resolver o Exemplo 3.4 da Seo 3.2.3.2 (soluo grca de um caso com uma funo objetivo ilimitada)
pela forma tabular. O Exemplo 3.4 est reescrito a seguir:
max z = 4x1 + 3x2
sujeito a:
2x1 + 5x2 t 20
x1
d8
x1, x2 t 0
Soluo
Como o problema possui uma restrio de desigualdade do tipo , o mtodo das penalidades (Big M)
ou o mtodo das duas fases deve ser aplicado utilizando o conceito de variveis articiais, para que uma
SBF inicial possa ser obtida facilmente. Utilizaremos o mtodo das duas fases descrito na Figura 3.17 para
a soluo do Exemplo 3.16.
Incio
Convertido o problema original para a forma padro, adicionar variveis articiais para as equaes
que no tm variveis de folga:
max z = 4x1 + 3x2
sujeito a:
2x1 + 5x2 x3
+ a1 = 20
x1
+ x4
=8
(3.26)
x1, x2, x3, x4, a1 t 0
Fase 1
Cria-se uma funo objetivo w, que a soma das variveis articiais (nesse caso equivale a1), sujeita
s restries do problema (3.26):
min w = a1
sujeito a:
+ a1 = 20
2x1 + 5x2 x3
+ x4
=8
(3.27)
x1
x1, x2, x3, x4, a1 t 0

113

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

Como o coeciente da varivel articial a1 deve ser nulo na linha 0 de (3.27), j que a1 ser uma das
variveis bsicas na forma tabular inicial, soma-se a equao 1, que contm a varivel articial a1, equao 0
atual:
equao 0
w
a1 = 0
equao 1
2x1 + 5x2 x3 + a1 = 20
w + 2x1 + 5x2 x3

soma (nova equao 0):

= 20

A forma tabular inicial que combina a nova equao 0 com o sistema de equaes (3.27) est
representada na Tabela 3.31.
Tabela 3.31 Forma tabular inicial da fase 1
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

20

a1

20

x4

Constante

A soluo inicial {x1, x2, x3, x4, a1} = {0, 0, 0, 8, 20} com w = 20 no tima, j que os coecientes
das variveis no bsicas x1 e x2 na equao 0 da Tabela 3.31 so positivos.
Conforme mostra a Tabela 3.32, a varivel x2 com maior coeciente positivo entra na base no lugar
da varivel a1 (linha nica com quociente positivo).
Tabela 3.32 Varivel que entra e sai da base na primeira iterao da fase 1
Entra

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

Constante

20

a1

20

x4

4
Sai

A nova forma tabular obtida na primeira iterao, utilizando o mtodo de eliminao de GaussJordan, est na Tabela 3.33.
Tabela 3.33 Nova forma tabular na primeira iterao da fase 1

114

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

Constante

x2

2/5

1/5

1/5

x4

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

De acordo com a Tabela 3.33, a nova soluo adjacente {x1, x2, x3, x4, a1} = {0, 4, 0, 8, 0} com w = 0
tima, pois os coecientes das variveis no bsicas x1, x3 e a1 na equao 0 so no positivos.
Fase 2
Primeiramente, elimina-se a coluna correspondente varivel articial a1 da Tabela 3.33. Alm disso,
a varivel bsica x2 da soluo tima da fase 1 deve ser eliminada de z 4x1 3x2 = 0:
=0
equao 0
z 4x1 3x2
equao 1 3
6/5x1 + 3x2 3/5x3 = 12
z 14/5x1 3/5x3 = 12

soma (nova equao 0):

A nova forma tabular inicial da fase 2 est na Tabela 3.34.


Tabela 3.34 Forma tabular inicial da fase 2
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

14/5

3/5

12

x2

2/5

1/5

x4

Constante

Para um problema de maximizao, a soluo atual no tima, j que os coecientes das variveis
no bsicas x1 e x3 so negativos.
Conforme mostra a Tabela 3.35, a varivel x1 com maior coeciente negativo na linha 0 entra na base
no lugar da varivel x4 (linha com menor quociente positivo).
Tabela 3.35 Varivel que entra e sai da base na primeira iterao da fase 2
Entra
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

14/5

3/5

12

x2

2/5

1/5

4*2/5 =
10

x4

8/1 =
8
Sai

A nova forma tabular (Iterao 1 da fase 2), utilizando o mtodo de eliminao de Gauss-Jordan,
est na Tabela 3.36.
Tabela 3.36 Nova forma tabular na primeira iterao da fase 2
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

3/5

14/5

172/5

x2

1/5

2/5

4/5

x4

Constante

115

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

A nova soluo adjacente {x1, x2, x3, x4, a1} = {8, 4/5, 0, 0, 0} com z = 172/5.
De acordo com a Tabela 3.36, podemos vericar que estamos diante de um caso com funo objetivo
ilimitada, pois a varivel no bsica x3 candidata a entrar na base ca impossibilitada de tornar-se bsica
porque as linhas das variveis bsicas x2 e x1 possuem coecientes no positivos na coluna da varivel no bsica
x3 candidata. Isso signica que nenhuma das variveis bsicas (x2 e x1) limita o crescimento da varivel
no bsica x3. Podemos concluir, ainda, que medida que x3 aumenta o valor da varivel x2 tambm cresce
(x2 = 4/5 + 1/5x3, x2, x3 t 0), no existindo limite para o crescimento da varivel de deciso x2. Para um
valor de x2 = 1.000, o valor mximo que a funo z pode assumir (x1 = 8) z = 4 8 + 3 1.000 = 3.032.

3.4.6.3 No Existe Soluo tima


Segundo Taha (2007), esse caso nunca ocorre com restries do tipo d com constantes no negativas
do lado direito da restrio, j que as variveis de folga garantem uma soluo factvel.
Na implementao do algoritmo Simplex na forma tabular, sempre que as variveis bsicas
assumem valores no negativos, estamos diante de uma soluo bsica factvel. Por outro lado, quando
pelo menos uma das variveis bsicas assume valores negativos, estamos diante de um caso com soluo
bsica infactvel. Esse caso ser visto de forma detalhada no mtodo dual Simplex (Seo 4.3.5 do
prximo captulo).
Pode-se identicar, pelo mtodo das penalidades (Big M) ou mtodo das duas fases, um caso
com soluo infactvel quando a soluo nal obtida no mtodo das penalidades ou na fase 1 do mtodo das
duas fases tiver pelo menos uma varivel articial com coeciente positivo.
Exemplo 3.17
Resolver o Exemplo 3.5 da Seo 3.2.3.3 (soluo grca de um caso com soluo infactvel) pela forma
tabular. O Exemplo 3.5 est reescrito a seguir:
max z = x1 + x2
sujeito a:
5x1 + 4x2 t 40
2x1 + x2 d 6
x1, x2 t 0
Soluo
Como o problema possui uma restrio de desigualdade do tipo t, utilizaremos o mtodo das
penalidades (Big M) descrito na Figura 3.16 para a soluo do Exemplo 3.17.
Incio
Convertido o problema original para a forma padro, adicionar variveis articiais para as equaes
que no tm variveis de folga:
max z = x1 + x2
sujeito a:
+ a1 = 40
5x1 + 4x2 x3
+ x4
=6
(3.28)
2x1 + x2
x1, x2, x3, x4, a1 t 0

116

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Passo 1
Como o problema de maximizao, para cada varivel articial a1 introduzida (nesse caso i = 1),
subtrair o produto Ma1 funo objetivo:
max z = x1 + x2 Ma1
sujeito a:
+ a1 = 40
5x1 + 4x2 x3
+ x4
=6
(3.29)
2x1 + x2
x1, x2, x3, x4, a1 t 0
Passo 2
Eliminar a varivel articial da linha 0 da funo objetivo de (3.29), j que a varivel a1, juntamente
com a varivel x4, ser considerada varivel bsica inicial:
z
x1
x2
+ Ma1 = 0
5Mx1 4Mx2 + Mx3 Ma1 = 40M

equao 0
equao 1 M

soma (nova equao 0): z (5M + 1) x1 (4M + 1) x2 + Mx3 = 40M


Passo 3: Aplicar o mtodo Simplex ao problema original adaptado.
A forma tabular inicial que combina a nova equao 0 com o sistema de equaes (3.29) est
representada na Tabela 3.37.
Tabela 3.37 Forma tabular inicial do sistema de equaes (3.29)
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

Constante

5M 1

4M 1

40M

a1

40

x4

A soluo inicial {x1, x2, x3, x4, a1} = {0, 0, 0, 6, 40} no tima, j que os coecientes das variveis
no bsicas x1 e x2 na equao 0 da Tabela 3.37 so negativos.
Conforme mostra a Tabela 3.38, a varivel x1 com maior coeciente negativo entra na base no lugar
da varivel x4, que limita o seu crescimento (3<8).
Tabela 3.38 Varivel que entra e sai da base na primeira iterao do mtodo Big M
Entra
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

Constante

5M 1

4M 1

40M

a1

40

x4

Sai

117

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

A nova forma tabular obtida na primeira iterao, utilizando o mtodo de eliminao de Gauss-Jordan, est na Tabela 3.39.
Tabela 3.39 Nova forma tabular obtida na primeira iterao do mtodo Big M
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

3/2M 1/2

5/2M +1/2

25M + 3

a1

3/2

5/2

25

x1

1/2

1/2

Constante

De acordo com a Tabela 3.39, a nova soluo adjacente {x1, x2, x3, x4, a1} = {3, 0, 0, 0, 25} com z =
25M + 3 ainda no tima, j que o coeciente da varivel no bsica x2 na equao 0 negativo. Verica-se
tambm que o coeciente da varivel articial a1 ainda positivo. Busca-se, portanto, determinar uma
nova SBF adjacente.
Conforme mostra a Tabela 3.40, a varivel x2 entra na base no lugar da varivel x1. Repare que a
varivel x1 j era uma varivel no bsica na soluo inicial. Para que uma soluo tima factvel pudesse ser
obtida, a varivel x2 deveria entrar na base no lugar de a1 , porm no foi isso o que ocorreu neste caso.
Tabela 3.40 Varivel que entra e sai da base na segunda iterao do mtodo Big M
Entra
Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

3/2M 1/2

5/2M +1/2

25M + 3

a1

3/2

5/2

25

50/3

x1

1/2

1/2

Constante

Sai

A nova forma tabular (Iterao 2), utilizando o mtodo de eliminao de Gauss-Jordan, est na Tabela 3.41.
Tabela 3.41 Nova forma tabular na segunda iterao

118

Coecientes

Varivel
bsica

no da
equao

x1

x2

x3

x4

a1

3M +1

4M +1

16M + 6

a1

16

x2

Constante

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Podemos vericar, a partir da Tabela 3.41, que todos os coecientes das variveis no bsicas, na equao
zero, so positivos. Porm, a soluo nal {x1, x2, x3, x4, a1} = {0, 6, 0, 0, 16} infactvel, j que o coeciente
da varivel bsica articial a1 positivo. Como a varivel articial no faz parte do problema original, a mesma
deveria ser nula na soluo nal. Segundo Taha (2007), essa soluo pode ser chamada pseudo-tima.

3.4.6.4 Soluo tima Degenerada


Conforme abordado na Seo 3.2.3.4, pode-se identicar um caso especial de soluo degenerada, em
termos grcos, quando um dos vrtices da regio factvel obtido pela interseo de mais de duas retas
distintas.
J pelo mtodo Simplex, pode-se identicar um caso com soluo degenerada quando, em uma
das solues do mtodo Simplex, o valor de uma das variveis bsicas for nulo. Essa varivel chamada varivel
degenerada. Quando todas as variveis bsicas assumem valores positivos, diz-se que a soluo bsica
factvel no degenerada. Se a degenerao ocorrer na soluo tima, tem-se um caso conhecido como
soluo tima degenerada.
Dado um problema de programao linear na forma tabular com pelo menos uma varivel articial,
a degenerao pode ocorrer em relao varivel articial, conforme especicado na fase 1 do mtodo das
duas fases, se a mesma for bsica e assumir o valor nulo.
A soluo degenerada obtida quando h empate entre pelo menos duas variveis bsicas para a
escolha de qual delas deve sair da base (linhas com mesmo quociente positivo). Quando isso ocorrer,
pode-se escolher qualquer uma delas, aleatoriamente. A varivel bsica no escolhida permanece na base,
porm, seu valor passa a ser nulo na nova soluo adjacente.
Analogamente, durante a soluo de qualquer problema de programao linear pelo mtodo Simplex,
se ocorrer empate na escolha da varivel no bsica que entrar na base, escolhe-se uma das variveis
aleatoriamente.
O problema da degenerao que, em alguns casos, o algoritmo Simplex pode entrar em loop, gerando
as mesmas solues bsicas, j que no consegue sair daquele espao de solues. Nesse caso, a soluo
tima nunca ser atingida.
Exemplo 3.18
Resolver o Exemplo 3.6 da Seo 3.2.3.4 (soluo grca de um caso com soluo tima degenerada) pela
forma tabular. O Exemplo 3.6 est reescrito a seguir:
min z = x1 + 5x2
sujeito a:
2x1 + 4x2 t 16
x1 + x2 d 6
x1
d4
x1, x2 t 0
Analogamente seo anterior, como o problema possui uma restrio de desigualdade do tipo t, o
mtodo das penalidades (Big M) descrito na Figura 3.16 ser aplicado para a soluo do modelo.

119

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

Incio
Convertido o problema original para a forma padro, adicionar variveis articiais para as equaes
que no tm variveis de folga:
min z = x1 + 5x2
sujeito a:
2x1 + 4x2 x3
+ a1 = 16
x1 + x2
+ x4
=6
(3.30)
x1 +
+ x5
=4
x1, x2, x3, x4, x5, a1 t 0

Passo 1
Como o problema de minimizao, para cada varivel articial ai introduzida (nesse caso i = 1),
somar o produto Ma1 funo objetivo:
min z = x1 + 5x2 + Ma1
sujeito a:
2x1 + 4x2 x3
+ a1 = 16
x1 + x2
+ x4
=6
(3.31)
x1 +
+ x5
=4
x1, x2, x3, x4, x5, a1 t 0

Passo 2
Eliminar a varivel articial da linha 0 da funo objetivo de (3.31), j que a varivel a1, juntamente
com as variveis x4 e x5, ser considerada varivel bsica inicial:
equao 0
equao 1 M

x1
2Mx1 +

5x2
Ma1 = 0
4Mx2 Mx3 + Ma1 = 16M

soma (nova equao 0): z + (2M 1)x1 + (4M 5)x2 Mx3

= 16M

Passo 3: Aplicar o mtodo Simplex ao problema original adaptado.


A forma tabular inicial que combina a nova equao 0 com o sistema de equaes (3.31) est
representada na Tabela 3.42.
Tabela 3.42 Forma tabular inicial do sistema de equaes (3.31)

120

Varivel
bsica

Eq.

Coecientes
z

x1

x2

x3

x4

x5

a1

Constante

2M 1

4M 5

16M

a1

16

x4

x5

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

A soluo inicial {x1, x2, x3, x4, x5, a1} = {0, 0, 0, 6, 4, 16} no tima, j que os coecientes das
variveis no bsicas x1 e x2 na equao 0 da Tabela 3.42 so positivos.
Conforme mostra a Tabela 3.43, a varivel x2 com maior coeciente positivo entra na base no lugar
da varivel a1, que limita o seu crescimento (4 < 6).
Tabela 3.43 Varivel que entra e sai da base na primeira iterao do mtodo Big M
Entra
Varivel
bsica

Eq.

Coecientes
z

x1

x2

x3

x4

x5

a1

Constante

2M 1

4M-5

16M

a1

16

4
Sai

x4

x5

1
0

A nova forma tabular obtida na primeira iterao, utilizando o mtodo de eliminao de GaussJordan, est na Tabela 3.44.
Tabela 3.44 Nova forma tabular obtida na primeira iterao
Varivel
bsica

Eq.

Coecientes

Constante

x1

x2

x3

x4

x5

a1

3/2

5/4

M +
5/4

20

x2

1/2

1/4

1/4

x4

1/2

1/4

1/4

x5

De acordo com a Tabela 3.44, a nova soluo adjacente {x1, x2, x3, x4, x5, a1} = {0, 4, 0, 2, 4, 0} com
z = 20 ainda no tima, j que o coeciente da varivel no bsica x1 na equao 0 positivo.
Conforme mostra a Tabela 3.45, a varivel x1 escolhida para entrar na base, porm, h um empate
entre as variveis bsicas x4 e x5 para a escolha de qual delas deve sair da base. Escolhe-se, aleatoriamente,
a varivel x4 para sair da base.
Tabela 3.45 Varivel que entra e sai da base na segunda iterao do mtodo Big M
Entra
Varivel
bsica

Eq.

Coecientes

Constante

x1

x2

x3

x4

x5

a1

3/2

5/4

M +
5/4

20

x2

1/2

1/4

1/4

x4

1/2

1/4

1/4

4
Sai

x5

121

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

A nova forma tabular (Iterao 2), utilizando o mtodo de eliminao de Gauss-Jordan, est na
Tabela 3.46.
Tabela 3.46 Nova forma tabular obtida na segunda iterao do mtodo Big M
Varivel
bsica

Eq.

Coecientes
z

x1

x2

x3

x4

x5

a1

Constante

M + 2

14

x2

1/2

1/2

x1

1/2

1/2

x5

1/2

1/2

Podemos vericar, a partir da Tabela 3.46, que a nova soluo adjacente {x1, x2, x3, x4, x5, a1} = {4, 2,
0, 0, 0, 0} com z = 14 tima, j que os coecientes das variveis no bsicas x3, x4 e a1 na equao 0 so
negativos.
Repare que a varivel bsica x5 no escolhida para sair da base possui valor nulo na nova soluo a
djacente. A varivel x5 ento chamada varivel degenerada. Temos, portanto, um caso conhecido
como soluo degenerada. Como a degenerao ocorre na soluo tima, temos uma soluo tima
degenerada.

3.5 Soluo por Computador


Neste captulo, apresentamos diversas maneiras de resolver um problema de PL: a) de forma grca
para problemas com duas variveis de deciso; b) pelo mtodo analtico para casos em que m < n;
c) pelo mtodo Simplex. O entendimento terico de cada um desses mtodos fundamental; porm,
para minimizar o tempo despendido na soluo de um modelo de PL, os mesmos problemas podem ser
resolvidos por computador, sem a necessidade de clculos e grcos manuais.
Atualmente, existem diversos softwares no mercado para soluo de problemas de programao
linear, incluindo GAMS, AMPL, AIMMS, softwares de planilhas eletrnicas (Solver do Excel, Whats
Best!), entre outros.
Os softwares GAMS, AMPL e AIMMS so linguagens ou sistemas de modelagem algbrica (Algebraic
Modeling Language AML), isto , linguagens de programao de alto nvel utilizadas para a soluo
de problemas de programao matemtica complexos e de larga escala. Essas linguagens possuem uma
interface aberta que possibilita a conexo com diversos pacotes de otimizao ou Solver (LINDO, LINGO,
CPLEX, XPRESS, MINOS, OSL etc.) que encontram a soluo do modelo. Esses pacotes de otimizao
tambm podem ser utilizados de forma isolada, mas muitos deles costumam rodar dentro de um ambiente
de desenvolvimento. Descreveremos a seguir as principais caractersticas de cada um dos softwares.
O LINDO (Linear INteractive and Discrete Optimizer), da empresa LINDO Systems (http://www.lindo.
com/), resolve problemas de programao linear, no linear e inteira, sendo de fcil utilizao e alta
velocidade. A verso completa do software no apresenta limitaes em relao ao nmero de restries,
variveis reais e inteiras. Para a soluo de problemas de programao linear, o Solver do LINDO utiliza
mais de um mtodo de otimizao, incluindo o mtodo Simplex, Simplex revisado, dual Simplex e
mtodos de ponto interior. Diferentemente do algoritmo Simplex, nos mtodos de ponto interior, novas
solues podem ser encontradas no interior da regio factvel. O Solver do LINDO possui interface com as
linguagens de programao Visual Basic, C, C++, entre outras. A verso livre do software pode ser baixada

122

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

diretamente do site http://www.lindo.com/. No Brasil, a empresa LINDO Systems representada pela


Produttare (www.produttare.com.br).
O software LINGO (Language for Interactive General Optimizer), tambm da LINDO Systems, resolve
problemas de programao linear, no linear e inteira de forma rpida e ecaz. A verso completa do
software tambm no apresenta limitaes em relao ao nmero de restries, variveis reais e inteiras. O
Solver do LINGO tambm utiliza o mtodo Simplex, Simplex revisado, dual Simplex e mtodo dos pontos
interiores para determinar a soluo tima de um modelo de programao linear. A leitura dos dados de
entrada pode ser feita diretamente do LINGO, porm, muitas vezes, o software utiliza como interface
planilhas eletrnicas, como o Excel. O Solver do LINGO tambm possui interface com as linguagens de
programao Visual Basic, C, C++, entre outras. A verso livre do software tambm pode ser baixada do
site http://www.lindo.com/.
O software Whats Best!, tambm da empresa LINDO Systems, um mdulo a ser instalado dentro de
planilhas eletrnicas como o Excel e utilizado para a resoluo de problemas de programao linear, no
linear e inteira. A verso completa do software tambm no apresenta limitaes em relao ao nmero de
restries, variveis reais e inteiras. O Solver do Whats Best! utiliza os mesmos mtodos de otimizao
do LINDO e LINGO. O Whats Best! tambm compatvel com o VBA (Visual Basic for Applications) do
Excel, permitindo a criao de macros e cdigos de programao. A verso livre do software tambm pode
ser baixada do site http://www.lindo.com/.
O CPLEX um pacote de otimizao que foi originalmente desenvolvido por Robert Bixby da
empresa CPLEX Optimization. Em 1997, foi adquirido pela ILOG, e posteriormente (2009) pela empresa
IBM. O CPLEX vem sendo bastante utilizado para a resoluo de problemas de programao linear,
inteira e no linear de grande porte, servindo, muitas vezes, como um Solver dentro de sistemas de
modelagem algbrica, como GAMS, AMPL e AIMMS. O Solver do CPLEX utiliza o mtodo Simplex e o
mtodo de pontos interiores para determinar a soluo tima de um problema de programao linear.
Possui interface com as linguagens de programao C, C++, C e Java. O download da verso livre do
CPLEX pode ser feito a partir do site http://www-01.ibm.com/software/integration/optimization/
cplex/.
O XPRESS, da Dash Optimization Ltd, um software de otimizao que resolve problemas complexos
de problemas de programao linear, no linear e inteira. O Solver XPRESS permite a escolha de um mtodo
de soluo (Simplex, dual Simplex, mtodo dos pontos interiores) para determinar a melhor soluo de
um problema de programao linear. O XPRESS possui interface com as linguagens de programao C,
C++, Java, Visual Basic, Net. Mais informaes sobre o software podem ser encontradas diretamente no
site http://dashoptimization.com/.
O MINOS, desenvolvido por Bruce Murtagh e Michael Saunders, da Universidade de Stanford,
um software de otimizao que resolve problemas de programao linear e no linear de larga escala.
Para a soluo de problemas de programao linear, o MINOS utiliza o mtodo Simplex. O MINOS
tambm vem sendo bastante utilizado como um Solver para linguagens de modelagem algbrica. Possui
interface com linguagens de programao como Fortran, C e Matlab. Mais informaes sobre o software
MINOS podem ser encontradas em http://www.sbsi-sol-optimize.com/asp/sol_product_minos.htm/.
O OSL (Optimization Subroutine Library) da IBM um software de otimizao que resolve problemas
de programao linear, no linear e inteira de grande porte. O Solver do OSL utiliza o mtodo Simplex
e mtodos de ponto interior para determinar a soluo tima de um problema de programao linear.
O software possui interface com linguagens de programao como C e Fortran. Mais informaes sobre
o software esto em http://web.utk.edu/~mnewman/ibmguide18.html/.

123

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

O software GAMS (General Algebraic Modeling System), desenvolvido pela empresa GAMS
Development Corporation, um sistema de modelagem algbrica de alto nvel que vem sendo utilizado
para a soluo de problemas complexos e de grande porte de programao linear, no linear e inteira.
Conforme especicado anteriormente, o GAMS possui interface que se conecta com diversos pacotes
de otimizao, incluindo CPLEX, MINOS, OSL, XPRESS, LINGO, LINDO, entre outros. Uma verso
livre do software GAMS pode ser baixada diretamente do site http://www.gams.com/.
O AMPL (A Mathematical Programming Language) tambm uma linguagem de modelagem
algbrica, desenvolvida pelo laboratrio Bell, para a soluo de problemas de programao linear, inteira
e no linear de alta complexidade. O AMPL possui interface aberta que possibilita a conexo com
diversos tipos de Solver (como CPLEX, MINOS, OSL, XPRESS, entre outros) que encontram a soluo
tima do modelo. A verso livre do software AMPL pode ser baixada diretamente do site http://www.
ampl.com/.
O software AIMMS (Advanced Integrated Multidimensional Modeling Software), desenvolvido pela
empresa Paragon Decision Technology, tambm uma linguagem de modelagem algbrica de alto nvel
que resolve problemas de programao linear, no linear e inteira de alta complexidade. Utiliza pacotes
de otimizao como CPLEX, MINOS, XPRESS, entre outros, para determinar a soluo tima de um
modelo de programao linear. Possui interface com as linguagens de programao C, C++, Visual
Basic, Excel. Uma verso livre do software pode ser obtida do site http://www.aimms.com/.
O Solver um suplemento do Excel que tem sido bastante utilizado para a soluo de problemas de
programao linear, no linear e inteira de pequeno porte, em funo de sua popularidade e simplicidade.
O Solver utiliza o algoritmo Simplex para determinar a soluo tima de um modelo de programao
linear. Para resolver problemas no lineares, o Solver utiliza o algoritmo GRG2 (Generalized Reduced
Gradient). J para problemas de programao inteira, usa o algoritmo branch-and-bound. O Solver possui
interface com outras linguagens de programao, de forma que a soluo nal possa ser exportada para
outro pacote. Detalharemos como us-lo, passo a passo, na prxima seo.

3.5.1 Solver do Excel


O Solver capaz de resolver problemas com at 200 variveis de deciso e 100 restries. Para que
o mesmo possa ser utilizado, necessrio ativar o suplemento Solver do Excel. Primeiramente, selecione
o menu Ferramentas e escolha a opo Suplementos (Figura 3.19). A partir da caixa de dilogo
Suplementos (Figura 3.20), selecione a opo Solver e clique em OK. Caso essa opo no esteja
disponvel, necessrio reinstalar o Excel.
Figura 3.19 Ativao do Solver a partir do menu Ferramentas (Excel 2003).

124

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.20 Ativao do Solver na caixa de dilogo Suplementos (Excel 2003).

Depois da ativao, o Solver do Excel passar a estar disponvel no menu Ferramentas, conforme
mostra a Figura 3.21.
Figura 3.21 Disponibilidade do Solver no menu Ferramentas (Excel 2003).

Os procedimentos demonstrados nas Figuras 3.19 a 3.21 para ativao do Solver so referentes ao
Excel 2003. Para uma nova verso (Excel 2007), primeiramente deve-se selecionar o boto do Ofce e
clicar em Opes do Excel (Figura 3.22). A partir da caixa de dilogo Opes do Excel (Figura 3.23),
escolher a opo Suplementos e selecionar a opo Solver. Ainda na Figura 3.23, o prximo passo
consiste em clicar no boto Ir, que abrir a mesma caixa de dilogo Suplementos apresentada na Figura
3.20. Finalmente, conrmar em OK. Assim, o Solver do Excel passar a estar disponvel no menu Dados,
dentro da coluna Anlise, conforme mostra a Figura 3.24.

125

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Figura 3.22 Ativao do Solver a partir de Opes do Excel (verso 2007).

Figura 3.23 Ativao do Solver a partir da opo Suplementos (verso 2007).

Figura 3.24 Disponibilidade do Solver a partir do menu Dados (verso 2007).

Selecionada a opo Solver, surge a caixa de dilogo Parmetros do Solver (Figura 3.25).
Descreveremos a seguir cada um dos seus campos.

126

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.25 Parmetros do Solver.

1. Denir clula de destino


A clula de destino aquela que contm o valor da funo objetivo.
2. Igual a
Deve-se selecionar se a funo objetivo de maximizao (Mx) ou de minimizao (Mn). O Solver
tambm pode usar a opo Valor de. Nesse caso, o Solver buscar uma soluo cujo valor da funo
objetivo (clula de destino) seja o mesmo ou o mais prximo possvel do valor estipulado.
3. Clulas variveis
Referem-se s variveis de deciso do modelo. So as clulas cujos valores variam at que a soluo
tima do modelo seja alcanada. Se o boto Estimar for selecionado, o Solver passa a considerar como
clulas variveis todas as clulas referenciadas pela clula de destino.
4. Submeter s restries
Cada uma das restries do modelo deve ser includa por meio do boto Adicionar da Figura 3.25,
surgindo, assim, a caixa de dilogo Adicionar restrio, conforme mostra a Figura 3.26.
Figura 3.26 Caixa de dilogo Adicionar restrio.

Primeiramente, na caixa Referncia de clula, deve-se selecionar a clula que representa o lado
esquerdo da restrio a ser adicionada. Selecionar o sinal da restrio (d, ou t), int (varivel inteira) ou
bin (varivel binria). Na caixa Restrio, selecionar uma constante, uma clula de referncia ou uma
frmula com valor numrico que represente o lado direito da restrio. Enquanto houver novas restries
a serem includas no modelo, clique em Adicionar. As restries de no negatividade das variveis de

127

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

deciso tambm devem ser includas nessa fase, a no ser que seja utilizada a opo Presumir no
negativos, que ser apresentada adiante. No caso da ltima restrio, pressionar OK para retornar
caixa de dilogo Parmetros do Solver.
Conforme mostra a Figura 3.25, para cada restrio j adicionada, possvel alter-la ou exclu-la.
Para isso, basta selecionar a restrio desejada e clicar no boto Alterar ou Excluir.
5. Redenir tudo
O boto Redenir tudo da Figura 3.25 limpa todos os dados referentes ao modelo atual.
6. Opes do Solver
Retornando caixa de dilogo Parmetros do Solver, possvel ativar tambm o boto Opes, o
que torna disponvel a janela Opes do Solver (Figura 3.27).
Figura 3.27 Caixa de dilogo Opes do Solver.

Verica-se, a partir da Figura 3.27, que diversos parmetros podem ser estipulados, como tempo
mximo, iteraes, preciso, tolerncia e convergncia. Com relao ao Tempo mximo de CPU (em
segundos), seu valor padro corresponde a 100 segundos, mas esse valor pode atingir um limite de at 32.767
segundos. Analogamente, o nmero mximo de Iteraes do algoritmo Simplex 32.767. A Preciso
mede o grau de proximidade entre duas ou mais solues. Seu valor varia entre 0 e 1. Quanto mais prximo
de zero, maior o grau de proximidade e, consequentemente, maior a preciso. A Tolerncia corresponde
ao grau de aceitao de uma soluo e uma medida (em porcentagem) utilizada para problemas de
programao inteira. Segundo Schwartz Filho (2006), a tolerncia mede o quanto determinada soluo
pode divergir do valor timo, atendendo s restries de integralidade das variveis de deciso e ainda ser
considerada aceitvel. Para que a soluo tima do modelo possa ser determinada, a tolerncia deve ser
zero. Porm, para minimizar o tempo computacional, pode-se estipular uma tolerncia maior do que zero.
Finalmente, pode-se estipular a Convergncia do algoritmo para soluo do problema. A convergncia

128

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

uma medida utilizada para a soluo de problemas de programao no linear, variando entre 0 e 1.
Quanto mais prximo de zero, maior ser o tempo de convergncia para encontrar uma soluo.
Para problemas de programao linear, deve-se selecionar a opo Presumir modelo linear. Conforme
apresentado anteriormente, as restries de no negatividade podem ser includas na caixa de dilogo
Adicionar restrio. Outra alternativa selecionar a opo Presumir no negativos. A opo Usar
escala automtica padroniza os dados de entrada de um modelo que possui diferentes escalas de medida.
J a opo Mostrar resultado de iterao faz com que os resultados sejam apresentados a cada iterao.
Tem-se tambm as opes Carregar modelo e Salvar modelo. No primeiro caso, especica-se o
modelo que se deseja carregar, enquanto a segunda opo especica o modelo a ser salvo.
Ainda na caixa de dilogo Opes do Solver, dois tipos de Estimativas podem ser usados para
estimar as solues bsicas iniciais: Tangente e Quadrtica. A tangente utiliza extrapolao linear,
enquanto a quadrtica utiliza extrapolao quadrtica, sendo esta ltima aplicada para problemas de
programao no linear.
Para estimar as Derivadas parciais da funo objetivo e das restries do modelo, dois mtodos
podem ser usados: Adiante e Central. O mtodo Central exige maior tempo computacional, porm,
pode gerar melhor soluo comparado ao mtodo Adiante.
Finalmente, para o campo Pesquisar, dois mtodos podem ser utilizados: Newton e Conjugado. O
mtodo de Newton exige maior capacidade de memria computacional comparado ao mtodo Conjugado,
porm necessita de um nmero menor de iteraes para atingir a preciso requerida.
7. Resolver
Retornando caixa de dilogo Parmetros do Solver, clique no boto Resolver, obtendo a caixa
de dilogo Resultados do Solver.
Em casos em que o Solver encontrar uma soluo vivel para o problema em questo, que atenda a
todas as restries do modelo, uma mensagem correspondente aparecer na caixa de dilogo Resultados
do Solver, conforme a Figura 3.28.
Figura 3.28 Caixa de dilogo Resultados do Solver soluo vivel.

Nesse caso, o resultado do Solver aparecer automaticamente na planilha em anlise, bastando clicar
em OK para manter a soluo tima encontrada. Para restaurar os valores iniciais do modelo, selecione
a opo Restaurar valores originais e, nalmente, clique em OK. O cenrio atual tambm pode ser
gravado por meio do boto Salvar cenrio.

129

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

O Solver fornece trs tipos de relatrio: Resposta, Sensibilidade e Limites. Para que os mesmos
sejam disponibilizados em novas planilhas do Excel, basta selecionar a opo desejada antes de ativar o
boto OK da caixa de dilogo Resultados do Solver. O relatrio de Resposta apresenta os resultados
da soluo tima do modelo. O relatrio Limites apresenta os limites inferiores e superiores de cada uma
das clulas variveis. Os relatrios de Resposta e Limites sero discutidos na Seo 3.5.4 do presente
captulo. O relatrio de anlise de Sensibilidade ser discutido na Seo 4.2.4 do prximo captulo.

3.5.2 Soluo dos Exemplos da Seo 2.5, do Captulo 2, pelo Solver do Excel
Cada um dos exemplos da Seo 2.5 do captulo anterior (modelagem de problemas reais de
programao linear) ser resolvido pelo Solver do Excel.

3.5.2.1 Soluo do Exemplo 3.3 do Captulo 2 (Problema do Mix de Produo da Empresa Venix
Brinquedos)
O Exemplo 2.3, do Captulo 2, referente ao problema do mix de produo da empresa Venix do
setor de brinquedos, ser resolvido a partir do Solver do Excel. A Figura 3.29 apresenta como o modelo de
programao linear deve ser editado em uma planilha do Excel para que o mesmo possa ser resolvido pelo
Solver (ver arquivo Exemplo 3.3_Venix.xls).
Figura 3.29 Modelo de mix de produo da empresa Venix Brinquedos no Excel.

Primeiramente, pode-se vericar que os lucros unitrios de cada produto esto representados pelas
clulas B5 e C5. J as variveis de deciso (quantidade semanal a ser fabricada de carrinhos e triciclos)
esto representadas pelas clulas B14 e C14, respectivamente. A funo objetivo representada pela clula
D14 (ver frmula no Quadro 3.2). As restries de disponibilidade de mo de obra para as atividades de
usinagem, pintura e montagem esto representadas nas linhas 8, 9 e 10, respectivamente. Por exemplo,
a restrio de disponibilidade de mo de obra para a atividade de usinagem representada pela equao
0,25x1 + 0,5x2 d 36. Para que a mesma possa ser adicionada caixa Submeter s restries da caixa de
dilogo Parmetros do Solver, o lado esquerdo da restrio deve estar representado em uma nica clula.
Portanto, o termo 0,25x1 + 0,5x2 passa a ser representado pela clula D8 (ver a frmula no Quadro 3.2).
Repete-se o mesmo procedimento para as demais restries. A soluo inicial apresenta os seguintes
valores: x1 = 0, x2 = 0 e z = 0.

130

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Quadro 3.2 Frmula da funo objetivo e do total de horas usadas em cada atividade
Clula

Frmula

D8

=B8*$B$14+C8*$C$14

D9

=B9*$B$14+C9*$C$14

D10

=B10*$B$14+C10*$C$14

D14

=B5*$B$14+C5*$C$14

Para problemas complexos, pode-se utilizar diretamente a funo SOMARPRODUTO, que multiplica
os componentes correspondentes aos intervalos ou matrizes fornecidas e retorna a soma desses produtos,
conforme mostra o Quadro 3.3.
Quadro 3.3 Alternativa ao Quadro 3.2 utilizando a funo SOMARPRODUTO
Clula

Frmula

D8

=SOMARPRODUTO(B8:C8;$B$14:$C$14)

D9

=SOMARPRODUTO(B9:C9;$B$14:$C$14)

D10

=SOMARPRODUTO(B10:C10;$B$14:$C$14)

D14

=SOMARPRODUTO(B5:C5;$B$14:$C$14)

Repare que, no Quadro 3.3, os intervalos esto separados por ponto e vrgula (verso 2007 do Excel).
No caso do Excel 2003, esses intervalos so representados apenas por vrgula.
O problema j est pronto para ser resolvido pelo Solver do Excel. Clicando na opo Solver,
obtm-se a caixa de dilogo Parmetros do Solver, conforme mostra a Figura 3.30. Primeiramente,
deve-se selecionar a clula de destino (D14), que aquela que contm o valor da funo objetivo.
Como o problema de maximizao, selecionar a opo Mx. O prximo passo consiste em
selecionar as clulas variveis (B14:C14), que representam as variveis de deciso do modelo.
Finalmente, deve-se adicionar cada uma das restries do modelo caixa Submeter s restries.
Com relao s restries de disponibilidade de mo de obra para cada uma das atividades, como elas
so todas do mesmo tipo, em vez de adicion-las individualmente, as mesmas podem ser adicionadas
simultaneamente. Para isso, primeiramente, clique no boto Adicionar. Selecione o intervalo de
clulas D8:D10 na caixa Referncia de clula, o sinal d, alm do intervalo de clulas F8:F10 na
caixa Restrio, conforme mostra a Figura 3.31. Para nalizar a incluso da atual restrio, pode-se
clicar no boto OK. Porm, como ser includa ainda a restrio de no negatividade das variveis de
deciso do modelo, clique em Adicionar. Surge, novamente, a caixa de dilogo Adicionar restrio,
de forma que a nova restrio do modelo j pode ser includa. Dessa forma, selecionam-se as clulas
variveis (B14:C14) na caixa Referncia de clula, alm do sinal t e do valor 0 a ser includo na
caixa Restrio, conforme mostra a Figura 3.32. Como ela a ltima restrio, nalize clicando em
OK.

131

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Figura 3.30 Caixa de dilogo Parmetros do Solver para o Exemplo 2.3, do Captulo 2.

Figura 3.31 Adio da restrio de disponibilidade de mo de obra para as trs atividades.

Figura 3.32 Adio da restrio de no negatividade das variveis de deciso.

O prximo passo consiste em clicar no boto Opes, obtendo-se assim a caixa de dilogo Opes
do Solver (Figura 3.33). Os valores referentes aos parmetros Tempo mximo, Iteraes, Preciso,
Tolerncia e Convergncia sero mantidos. Caso o Solver no consiga encontrar uma soluo
vivel, deve-se testar uma menor preciso, a m de encontrar uma soluo factvel. Outra alternativa
aumentar o tempo mximo e o nmero de iteraes. Se o problema persistir, o modelo deve ser
infactvel (Taha, 2007). Como estamos diante de um problema de programao linear, selecionar a
opo Presumir modelo linear. As restries de no negatividade tambm podem ser ativadas por
meio da opo Presumir no negativos. Finalmente, clique em OK para retornar caixa de dilogo
Parmetros do Solver.

132

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.33 Opes do Solver para o Exemplo 2.3, do Captulo 2.

A partir da, o Solver est pronto para ser resolvido. Clique, portanto, no boto Resolver. No caso
de soluo factvel, pode-se atualizar a planilha atual do Excel com a nova soluo clicando na opo
Manter soluo do Solver. A Figura 3.34 apresenta o resultado da soluo tima do Exemplo 3.3 da
empresa Venix Brinquedos.

Figura 3.34 Soluo tima do problema do mix de produo da empresa Venix Brinquedos.

Verica-se, portanto, que a soluo tima do modelo x1 = 70 e x2 = 20 com z = 2.040 (R$2.040,00).


Os mesmos resultados podem ser visualizados, de forma mais detalhada, pelo Relatrio de resposta
(ver Seo 3.5.4). O Relatrio de Limites da empresa Venix brinquedos tambm ser discutido na
Seo 3.5.4.

133

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Resoluo Usando Nomes em uma Clula ou Intervalo de Clulas


Segundo Haddad e Haddad (2007), usar nomes em uma clula ou intervalo de clulas facilita a
compreenso da frmula. Para nomear, basta clicar em uma clula ou em um intervalo de clulas, colocar
o nome desejado na Caixa de Nome que aparece do lado esquerdo da Barra de frmulas e nalizar
teclando Enter. Dessa forma, as clulas passaro a ser referenciadas pelo nome e no mais pelas colunas e
linhas correspondentes. Por exemplo, o conjunto de clulas B5:C5 ser nomeado Lucro_unitrio, conforme
mostra a Figura 3.35. Outra forma de fazer isso clicar com o boto direito do mouse em Nomear
Intervalo (opo vlida para o Excel 2007). Surgir, assim, a caixa de dilogo Novo Nome (Figura 3.36),
de forma que o nome desejado deve ser adicionado na caixa Nome. Uma terceira alternativa, no caso
do Excel 2007, selecionar o menu Frmulas e a opo Gerenciar Nomes (CTRL + F3), surgindo,
assim, a caixa de dilogo Gerenciador de Nomes (Figura 3.37). Conforme mostra a Figura 3.37, pode-se
incluir um novo nome por meio do boto Novo (aparecer novamente a caixa de dilogo Novo Nome)
ou selecionar uma clula ou um conjunto de clulas j existentes e clicar na opo Editar para alterar o
nome atual ou Excluir.
No Excel 2003, basta selecionar o menu Inserir, selecionar a opo Nome e, em seguida, Denir
(CTRL + F3), que surgir a caixa de dilogo Denir nome.
Figura 3.35 Inserindo nome em um conjunto de clulas.

Figura 3.36 Caixa de dilogo Novo Nome.

134

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.37 Caixa de dilogo Gerenciador de Nomes.

Repare que a Figura 3.37 apresenta o nome de cada clula ou intervalo de clulas, seu valor
correspondente, alm de sua(s) respectiva(s) linha(s) e coluna(s).
Dessa forma, cada clula ou intervalo de clulas includo no Gerenciador de Nomes passa a ser
referenciado pelo nome em vez de sua(s) linha(s) e coluna(s) correspondente(s). Por exemplo, as frmulas
do Quadro 3.3 referentes s clulas D8, D9, D10 e D15 passam a ser escritas em funo dos novos nomes,
conforme mostra o Quadro 3.4.
Quadro 3.4 Frmulas do Quadro 3.3 escritas em funo dos novos nomes
Clula
D8
D9
D10
D15

Frmula
=SOMARPRODUTO(B8:C8;Quantidades_produzidas)
=SOMARPRODUTO(B9:C9;Quantidades_produzidas)
=SOMARPRODUTO(B10:C10;Quantidades_produzidas)
=SOMARPRODUTO(Lucro_unitrio;Quantidades_produzidas)

A Figura 3.38 uma adaptao da Figura 3.30, em que cada clula ou intervalo de clulas passa a ser
chamado por seu respectivo nome.
Figura 3.38 Parmetros do Solver aps a incluso de novos nomes.

135

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Repare que a clula de destino D14 passa a ser referenciada como Lucro_total, as clulas variveis
(B14:C14) e o lado esquerdo da segunda restrio, como Quantidades_produzidas, o lado esquerdo da
primeira restrio (D8:D10) como Horas_usadas, e o lado direito da segunda restrio (F8:F10) como
Horas_disponveis.

3.5.2.2 Soluo do Exemplo 2.4, do Captulo 2 (Problema do Mix de Produo da Empresa


Naturelat Laticnios)
O Exemplo 2.4, do Captulo 2, referente ao problema do mix de produo da empresa Naturelat do
setor de laticnios, tambm ser resolvido a partir do Solver do Excel. A Figura 3.39 ilustra a representao
do modelo em uma planilha do Excel (ver arquivo Exemplo 3.4_Naturelat.xls).
Figura 3.39 Representao em Excel do modelo do mix de produo da empresa Naturelat Laticnios.

As frmulas utilizadas na Figura 3.39 esto especicadas no Quadro 3.5.


Quadro 3.5 Frmulas da Figura 3.39

136

Clula

Frmula

G8

=SOMARPRODUTO(B8:F8;$B$24:$F$24)

G9

=SOMARPRODUTO(B9:F9;$B$24:$F$24)

G10

=SOMARPRODUTO(B10:F10;$B$24:$F$24)

G13

=SOMARPRODUTO(B13:F13;$B$24:$F$24)

G16

=SOMARPRODUTO(B16:F16;$B$24:$F$24)

G17

=SOMARPRODUTO(B17:F17;$B$24:$F$24)

G18

=SOMARPRODUTO(B18:F18;$B$24:$F$24)

G19

=SOMARPRODUTO(B19:F19;$B$24:$F$24)

G20

=SOMARPRODUTO(B20:F20;$B$24:$F$24)

G24

=SOMARPRODUTO(B5:F5;$B$24:$F$24)

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Analogamente ao exemplo da empresa Venix Brinquedos, foram atribudos nomes s clulas e


intervalos de clulas da Figura 3.39 que sero referenciadas no Solver, a m de facilitar a compreenso do
modelo. A Figura 3.40 apresenta os nomes atribudos s respectivas clulas.
Figura 3.40 Gerenciador de Nomes para o problema da empresa Naturelat Laticnios.

A representao do problema da empresa Naturelat Laticnios na caixa de dilogo Parmetros do


Solver est ilustrada na Figura 3.41. Como foram atribudos nomes s clulas do modelo, a Figura 3.41
passa a ser referenciada pelos respectivos nomes.
Figura 3.41 Parmetros do Solver referentes ao problema da empresa Naturelat Laticnios.

Repare, na Figura 3.41, que as restries esto ordenadas alfabeticamente. O mesmo ocorre com o
Gerenciador de Nomes (Figura 3.40).
Analogamente ao exemplo da empresa Venix Brinquedos, selecione as opes Presumir modelo
linear e Presumir no negativos na caixa de dilogo Opes do Solver. As demais opes permanecem
inalteradas.
Finalmente, clique em Resolver e selecione a opo Manter soluo do Solver na caixa de dilogo
Resultados do Solver. A Figura 3.42 apresenta a soluo tima do modelo do mix de produo da
empresa Naturelat Laticnios.

137

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Figura 3.42 Resultado do modelo Naturelat Laticnios.

3.5.2.3 Soluo do Exemplo 2.5, do Captulo 2 (Problema da Mistura da Refinaria Petrisul)


O Exemplo 2.5, do Captulo 2, referente ao problema da mistura da renaria de petrleo Petrisul,
tambm ser resolvido a partir do Solver do Excel. A Figura 3.43 ilustra a representao do modelo em
uma planilha do Excel (ver arquivo Exemplo 3.5_Petrisul.xls).

Figura 3.43 Representao em Excel do problema da mistura da refinaria Petrisul.

As linhas 6 a 10 representam as restries de porcentagem mxima ou mnima permitida de


determinado tipo de leo na composio de determinado tipo de gasolina. Para que todas as restries
possam ter o mesmo sinal (d), as inequaes do tipo t foram multiplicadas por (1).
As frmulas utilizadas na Figura 3.43 esto especicadas no Quadro 3.6.

138

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Quadro 3.6 Frmulas da Figura 3.43


Clula

Frmula

K6

=SOMARPRODUTO(B6:J6;$B$26:$J$26

K7

=SOMARPRODUTO(B7:J7;$B$26:$J$26)

K8

=SOMARPRODUTO(B8:J8;$B$26:$J$26)

K9

=SOMARPRODUTO(B9:J9;$B$26:$J$26)

K10

=SOMARPRODUTO(B10:J10;$B$26:$J$26)

K13

=SOMARPRODUTO(B13:J13;$B$26:$J$26)

K14

=SOMARPRODUTO(B14:J14;$B$26:$J$26)

K15

=SOMARPRODUTO(B15:J15;$B$26:$J$26)

K18

=SOMARPRODUTO(B18:J18;$B$26:$J$26)

K19

=SOMARPRODUTO(B19:J19;$B$26:$J$26)

K20

=SOMARPRODUTO(B20:J20;$B$26:$J$26)

K23

=SOMARPRODUTO(B23:J23;$B$26:$J$26)

K26

=SOMARPRODUTO(B4:J4;$B$26:$J$26)

A m de facilitar a compreenso do modelo, foram atribudos nomes s principais clulas e intervalos


de clulas da Figura 3.43, conforme mostra a Figura 3.44.
Figura 3.44 Gerenciador de Nomes para o problema da refinaria Petrisul.

Atribudos os nomes s clulas ou intervalos de clulas da Figura 3.43, as mesmas passaro a ser
referenciadas por seus respectivos nomes. Dessa forma, a representao do problema da renaria Petrisul
na caixa de dilogo Parmetros do Solver est ilustrada na Figura 3.45.

139

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Figura 3.45 Parmetros do Solver referentes ao problema da refinaria Petrisul.

Selecionar as opes Presumir modelo linear e Presumir no negativos na caixa de dilogo


Opes do Solver. As demais opes permanecem inalteradas.
A Figura 3.46 apresenta a soluo tima do problema da mistura da renaria Petrisul.
Figura 3.46 Resultado do problema da mistura da refinaria Petrisul.

3.5.2.4 Soluo do Exemplo 2.6, do Captulo 2 (Problema da Dieta)


O Exemplo 2.6, do Captulo 2, referente ao problema da dieta, tambm ser resolvido a partir do Solver
do Excel. A Figura 3.47 representa o modelo em uma planilha do Excel (ver arquivo Exemplo 3.6_Dieta.xls).
Figura 3.47 Representao em Excel do problema da dieta.

140

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

As frmulas utilizadas na Figura 3.47 esto especicadas no Quadro 3.7.


Quadro 3.7 Frmulas da Figura 3.47
Clula
N8
N9
N10
N11
N14
N18

Frmula
=SOMARPRODUTO(B8:M8;$B$18:$M$18)
=SOMARPRODUTO(B9:M9;$B$18:$M$18)
=SOMARPRODUTO(B10:M10;$B$18:$M$18)
=SOMARPRODUTO(B11:M11;$B$18:$M$18)
=SOMARPRODUTO(B14:M14;$B$18:$M$18)
=SOMARPRODUTO(B5:M5;$B$18:$M$18)

Os nomes atribudos s principais clulas e intervalos de clulas da Figura 3.47 esto especicados
na Figura 3.48.
Figura 3.48 Gerenciador de Nomes para o problema da dieta.

Dessa forma, a caixa de dilogo Parmetros do Solver referentes ao problema da dieta exibe os
nomes atribudos s respectivas clulas ou intervalos de clulas, conforme mostra a Figura 3.49.
Figura 3.49 Parmetros do Solver referentes ao problema da dieta.

As opes Presumir modelo linear e Presumir no negativos devem ser selecionadas na caixa de
dilogo Opes do Solver. As demais opes permanecem inalteradas.

141

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

A Figura 3.50 apresenta a soluo tima do problema da dieta.


Figura 3.50 Resultado do problema da dieta.

3.5.2.5 Soluo do Exemplo 2.7, do Captulo 2 (Problema do Fazendeiro)


Para que o Exemplo 2.7, do Captulo 2 (problema do fazendeiro), possa ser resolvido a partir do
Solver do Excel, o mesmo deve estar representado em uma planilha do Excel, conforme mostra a Figura
3.51 (ver arquivo Exemplo 3.7_Fazendeiro.xls).
Figura 3.51 Representao do problema do fazendeiro em uma planilha do Excel.

O Quadro 3.8 apresenta as frmulas utilizadas na Figura 3.51.


Quadro 3.8 Frmulas utilizadas na Figura 3.51
Clula
G8
G11
G12
G13
G16
G19
G20
G21
G25

142

Frmula
=SOMARPRODUTO(B8:F8;$B$25:$F$25)
=SOMARPRODUTO(B11:F11;$B$25:$F$25)
=SOMARPRODUTO(B12:F12;$B$25:$F$25)
=SOMARPRODUTO(B13:F13;$B$25:$F$25)
=SOMARPRODUTO(B16:F16;$B$25:$F$25)
=SOMARPRODUTO(B19:F19;$B$25:$F$25)
=SOMARPRODUTO(B20:F20;$B$25:$F$25)
=SOMARPRODUTO(B21:F21;$B$25:$F$25)
=SOMARPRODUTO(B5:F5;$B$25:$F$25)

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

A Figura 3.52 apresenta os nomes atribudos s clulas e intervalos de clulas da Figura 3.51 que sero
referenciados no Solver.
Figura 3.52 Gerenciador de Nomes para o problema do fazendeiro.

J a Figura 3.53 apresenta os parmetros do Solver referentes ao problema do fazendeiro. Repare que
as clulas e intervalos de clulas esto representados pelos respectivos nomes.
Figura 3.53 Parmetros do Solver referentes ao problema do fazendeiro.

As opes Presumir no negativos e Presumir modelo linear devem estar selecionadas na caixa
de dilogo Opes do Solver. As demais opes permanecem inalteradas.
A Figura 3.54 apresenta a soluo tima do problema do fazendeiro.

143

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Figura 3.54 Soluo tima do problema do fazendeiro.

3.5.2.6 Soluo do Exemplo 2.8, do Captulo 2 (Seleo de Carteiras Maximizao do Retorno


Esperado)
O Exemplo 2.8, do Captulo 2, tambm ser resolvido a partir do Solver do Excel. A Figura 3.55
mostra a representao do problema de otimizao de carteiras em uma planilha do Excel (ver arquivo
Exemplo 3.8_Portfolio.xls).
Figura 3.55 Representao do Exemplo 2.8, do Captulo 2, em uma planilha do Excel.

O Quadro 3.9 apresenta as frmulas utilizadas na Figura 3.55.


Quadro 3.9 Frmulas utilizadas na Figura 3.55
Clula

Frmula

B9

=SOMA(B18:K18)

B14

=SOMARPRODUTO(B6:K6;B18:K18)

L18

=SOMARPRODUTO(B5:K5;B18:K18)

A Figura 3.56 apresenta os nomes atribudos s clulas e intervalos de clulas da Figura 3.55.

144

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Figura 3.56 Gerenciador de Nomes para o problema de seleo de carteiras (maximizao do retorno esperado).

J a Figura 3.57 apresenta os Parmetros do Solver referentes ao problema de seleo de carteiras


(maximizao do retorno esperado), em que cada clula ou intervalo de clulas passa a ser referenciado
por seu respectivo nome.
Figura 3.57 Parmetros do Solver referentes ao problema de seleo de carteiras (maximizao do retorno esperado).

As opes Presumir no negativos e Presumir modelo linear devem estar selecionadas na caixa
de dilogo Opes do Solver. As demais opes permanecem inalteradas.
A Figura 3.58 apresenta a soluo tima do problema de seleo de carteiras.
Figura 3.58 Soluo tima do problema de seleo de carteiras.

145

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

3.5.2.7 Soluo do Exemplo 2.9, do Captulo 2 (Seleo de Carteiras Minimizao do Desvio


Absoluto Mdio da Carteira)
O Exemplo 2.9, do Captulo 2, que busca determinar a composio tima da carteira a m de
minimizar seu desvio absoluto mdio, ser resolvido a partir do Solver do Excel. A representao do
problema em uma planilha do Excel est na Figura 3.59 (ver arquivo Exemplo 3.9_Portfolio.xls).
Figura 3.59 Representao do Exemplo 2.9 em uma planilha do Excel.

O clculo do MAD da carteira est especicado na Figura 3.60 e tambm pode ser encontrado no mesmo
arquivo Exemplo 3.9_Portfolio.xls. Para uma carteira que apresenta em sua composio 10% de cada ativo, a
linha 250 da Figura 3.60 apresenta o desvio absoluto mdio de cada ativo e da carteira. Conforme mostra a linha
250 ou a frmula da clula P250 no Quadro 3.10, o percentual de cada ativo na carteira pode ser multiplicado
diretamente por seu desvio absoluto mdio, j que o percentual constante em todos os perodos.
Figura 3.60 Desvio absoluto mdio de cada ativo e da carteira.

O Quadro 3.10 apresenta as principais frmulas utilizadas nas Figuras 3.59 e 3.60. Verica-se, a partir
das frmulas das clulas P248 e P250, o clculo do desvio absoluto mdio do primeiro ativo (BBAS3). Para
os demais ativos, utiliza-se o mesmo procedimento.

146

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Quadro 3.10 Principais frmulas utilizadas nas Figuras 3.59 e 3.60


Clula

Frmula

B9

=SOMA(B18:K18)

B12

=SOMARPRODUTO(B5:K5;B18:K18)

O248

=MDIA(O2:O247)

P2

=ABS(O2-$O$248)

P248

=MDIA(P2:P247)

P250

=P248*B18

AI250

=SOMA(P250:AH250)

L18

=AI250

A Figura 3.61 apresenta os nomes atribudos s clulas e intervalos de clulas da Figura 3.59.
Figura 3.61 Gerenciador de Nomes para o problema de seleo de carteiras (minimizao do MAD).

J a Figura 3.62 apresenta os parmetros do Solver referentes ao problema de seleo de carteiras


(minimizao do MAD).
Figura 3.62 Parmetros do Solver referentes ao problema de seleo de carteiras (minimizao do MAD).

As opes Presumir no negativos e Presumir modelo linear devem estar selecionadas na caixa
de dilogo Opes do Solver. As demais opes permanecem inalteradas.

147

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

A Figura 3.63 apresenta a soluo tima do problema de seleo de carteiras (minimizao do MAD).
Figura 3.63 Soluo tima do problema de seleo de carteiras (minimizao do MAD).

3.5.2.8 Soluo do Exemplo 2.10, do Captulo 2 (Problema de Produo e Estoque da Empresa


Fenix&Mveis)
O Exemplo 2.10, do Captulo 2, referente ao problema de produo e estoque da empresa
Fenix&Mveis, ser resolvido a partir do Solver do Excel. A Figura 3.64 ilustra a representao do problema
em uma planilha do Excel (ver arquivo Exemplo 3.10_ Fenix&Moveis.xls).
Figura 3.64 Representao do problema de produo e estoque da empresa Fenix&Mveis em uma planilha do Excel.

148

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Observe que, na soluo inicial apresentada na Figura 3.64, foram produzidas 2.000 unidades de cada
produto em cada perodo. Aplicando a frmula Iit = Ii,t1 + xit Dit, obtm-se os nveis de estoque de cada
produto em cada perodo que devem assumir valores no negativos. importante mencionar que essa
soluo no a tima.
O Quadro 3.11 apresenta as frmulas utilizadas na Figura 3.64.
Quadro 3.11 Frmulas utilizadas na Figura 3.64
Clula

Frmula

Clula

Frmula

Clula

Frmula

C35

=B35+C42-C18

C37

=B37+C44-C20

C39

=B39+C46-C22

D35

=C35+D42-D18

D37

=C37+D44-D20

D39

=C39+D46-D22

E35

=D35+E42-E18

E37

=D37+E44-E20

E39

=D39+E46-E22

F35

=E35+F42-F18

F37

=E37+F44-F20

F39

=E39+F46-F22

G35

=F35+G42-G18

G37

=F37+G44-G20

G39

=F39+G46-G22

H35

=G35+H42-H18

H37

=G37+H44-H20

H39

=G39+H46-H22

C36

=B36+C43-C19

C38

=B38+C45-C21

D36

=C36+D43-D19

D38

=C38+D45-D21

E36

=D36+E43-E19

E38

=D38+E45-E21

F36

=E36+F43-F19

F38

=E38+F45-F21

G36

=F36+G43-G19

G38

=F38+G45-G21

H3

=G36+H43-H19

H38

=G38+H45-H21

A Figura 3.65 apresenta os nomes atribudos s principais clulas e intervalos de clulas da Figura
3.64.
Figura 3.65 Gerenciador de Nomes para o problema de produo e estoque da empresa Fenix&Mveis.

Os parmetros do Solver referentes ao problema de produo e estoque da empresa Fenix&Mveis


esto representados na Figura 3.66. Como foram atribudos nomes s principais clulas e intervalos de
clulas, os mesmos passam a ser referenciados pelos respectivos nomes.

149

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Figura 3.66 Parmetros do Solver referentes ao problema da empresa Fenix&Mveis.

Finalmente, selecionar as opes Presumir no negativos e Presumir modelo linear na caixa de


dilogo Opes do Solver. As demais opes permanecem inalteradas.
A Figura 3.67 apresenta a soluo tima do problema de produo e estoque da empresa Fenix&Mveis.
Figura 3.67 Soluo tima da empresa Fenix&Mveis.

150

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

3.5.2.9 Soluo do Exemplo 2.11 do Captulo 2 (Problema da Fabricante de Sucos Naturais


Lifestyle)
O Exemplo 2.11, do Captulo 2, referente ao problema de planejamento agregado da empresa
fabricante de sucos naturais Lifestyle, ser resolvido a partir do Solver do Excel. A Figura 3.68 ilustra a
representao do problema em uma planilha do Excel (ver arquivo Exemplo 3.11_ Lifestyle.xls).

Figura 3.68 Representao do problema de planejamento agregado da empresa Lifestyle em uma planilha do

Excel.

Observe que, na soluo inicial apresentada na Figura 3.68, foram produzidos 1.000 litros
adicionais no ms de julho com a contratao de funcionrios no ms anterior, de forma que os
valores de Rt do ms de julho ao ms de dezembro passam a ser 5.000 (Rt = Rt-1 + CFt DFt).
Aplicando a frmula It = It-1 + Rt + HEt + St Dt, obtm-se os nveis de estoque em cada perodo. Os
valores das demais variveis de deciso permanecem nulos. importante mencionar que essa soluo
no a tima.

151

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

O Quadro 3.12 apresenta as frmulas utilizadas na Figura 3.68.


Quadro 3.12 Frmulas utilizadas na Figura 3.68
Clula

Frmula

C22

=B22+C27+C28+C29-C14

D22

=C22+D27+D28+D29-D14

E22

=D22+E27+E28+E29-E14

F22

=E22+F27+F28+F29-F14

G22

=F22+G27+G28+G29-G14

H22

=G22+H27+H28+H29-H14

C23

=B23+C30-C31

D23

=C23+D30-D31

E23

=D23+E30-E31

F23

=E23+F30-F31

G23

=F23+G30-G31

H23

=G23+H30-H31

I26

=SOMARPRODUTO(C6:H11;C26:H31)

A Figura 3.69 apresenta os nomes atribudos s clulas e intervalos de clulas da Figura 3.68.
Figura 3.69 Gerenciador de Nomes para o problema de planejamento agregado da empresa Lifestyle.

152

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Os parmetros do Solver referentes ao problema de planejamento agregado da empresa Lifestyle


esto representados na Figura 3.70. Como foram atribudos nomes s principais clulas e intervalos de
clulas, os mesmos passam a ser referenciados pelos respectivos nomes.
Figura 3.70 Parmetros do Solver referentes ao problema da empresa Lifestyle.

Finalmente, selecionar as opes Presumir no negativos e Presumir modelo linear na caixa de


dilogo Opes do Solver. As demais opes permanecem inalteradas.
A Figura 3.71 apresenta a soluo tima do problema de planejamento agregado da empresa Lifestyle.
Figura 3.71 Soluo tima da empresa Lifestyle.

153

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

3.5.3 Mensagens de Erro do Solver para Solues Ilimitadas e Infactveis


A Seo 3.2.3 e a Seo 3.4.6 apresentaram como identicar, de forma grca e pelo mtodo Simplex,
respectivamente, cada um dos casos especiais que podem ocorrer em um problema de programao linear:
i Mltiplas solues timas.
i Funo objetivo z ilimitada.
i No existe soluo tima.
i Soluo tima degenerada.

Analisaremos nesta seo as mensagens de erro geradas na caixa de dilogo Resultados do Solver
para os casos 2 e 3 (funo objetivo z ilimitada e soluo infactvel). Os casos especiais 1 e 4 sero discutidos
nas Sees 4.2.4.1 e 4.2.4.2 do prximo captulo, respectivamente, por meio do Relatrio de Sensibilidade
do Solver.

3.5.3.1 Funo Objetivo z Ilimitada


Para o problema de maximizao (max z = 4x1 + 3x2) apresentado na Seo 3.2.3.2 (Exemplo 3.4),
foi obtida a seguinte soluo grca:

Resolvendo o mesmo exemplo pelo Solver do Excel, uma mensagem de erro exibida na caixa de
dilogo Resultados do Solver: Os valores de Denir clula no convergem.
Figura 3.72 Mensagem de erro para um problema com funo objetivo ilimitada.

154

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Portanto, sempre que estivermos diante de um problema com funo objetivo ilimitada, aparecer a
mensagem da Figura 3.72.

3.5.3.2 No Existe Soluo tima


Para o problema de maximizao (max z = x1 + x2) apresentado na Seo 3.2.3.3 (Exemplo 3.5), foi
obtida a seguinte soluo grca:

Resolvendo o Exemplo 3.5 pelo Solver do Excel, uma nova mensagem de erro exibida na caixa de
dilogo Resultados do Solver, j que estamos diante de um caso em que no possvel encontrar uma
soluo vivel (ver Figura 3.73).
Figura 3.73 Mensagem de erro para um problema com soluo invivel.

3.5.4 Anlise dos Resultados Utilizando os Relatrios de Resposta e Limites do Solver


A Seo 3.5.2 apresentou os resultados do Solver, para cada um dos exemplos apresentados na
Seo 2.5 do captulo anterior (modelagem de problemas reais de programao linear), diretamente nas
planilhas do Excel. Uma anlise detalhada dos resultados tambm pode ser feita por meio dos Relatrios
de Resposta, Limites e Sensibilidade do Solver. Conforme mencionado anteriormente, o Relatrio de

155

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Sensibilidade ser discutido na Seo 4.2.4, do prximo captulo. J os Relatrios de Resposta e Limites
sero discutidos nesta seo para o problema da empresa Venix (Exemplo 2.3 do Captulo 2). A modelagem
e a soluo do problema na mesma planilha do Excel foi ilustrada na Seo 3.5.2.1.

3.5.4.1 Relatrio de Resposta


O Relatrio de Resposta fornece os resultados da soluo tima encontrada pelo Solver em uma
nova planilha do Excel. A Figura 3.74 apresenta o Relatrio de Resposta do problema da empresa Venix
Brinquedos.
Figura 3.74 Relatrio de Resposta para o problema da empresa Venix Brinquedos.

De acordo com a Figura 3.74 verica-se que os resultados do Relatrio de Resposta esto divididos
em trs partes principais: clula de destino, clulas ajustveis e restries.
Conforme ilustrado na Figura 3.29 (Seo 3.5.2.1), a funo z de maximizao do problema da
empresa Venix Brinquedos representada pela clula de destino D14 (Lucro_total). A linha 8 da Figura
3.74 apresenta o valor original e o valor nal (lucro mximo) da clula de destino.
As variveis de deciso do modelo so representadas pelas clulas ajustveis B14 e C14 da Figura
3.29 (Seo 3.5.2.1). As linhas 13 e 14 da Figura 3.74 apresentam o valor original e nal de cada clula
ajustvel. Verica-se, a partir da coluna E, que a quantidade tima a ser produzida de carrinhos x1 = 70
e a quantidade tima a produzir de triciclos x2 = 20.
As restries de disponibilidade de recursos de usinagem, pintura e montagem esto representadas
pelas linhas 19, 20 e 21, respectivamente, enquanto as restries de no negatividade de cada varivel de
deciso, pelas linhas 22 e 23. As clulas D8, D9 e D10 representam o total de horas usadas ou a quantidade
de recursos necessrios para os setores de usinagem, pintura e montagem, respectivamente. O valor de
cada clula (coluna D) pode ser obtido substituindo-se os valores timos de cada varivel de deciso (x1 =
70 e x2 = 20) do lado esquerdo de cada restrio. A coluna E apresenta a frmula utilizada para representar
cada restrio. J a coluna F apresenta o status de cada restrio: agrupar ou sem agrupar. O status agrupar
acontece quando o total de recursos utilizados (coluna D) igual ao limite mximo disponvel, isto , no
h folga ou ociosidade de recursos. Conforme ilustrado na Figura 3.29 (Seo 3.5.2.1), as quantidades de
recursos disponveis para os setores de usinagem, pintura e montagem esto representadas pelas clulas
F8, F9 e F10, respectivamente. O status sem agrupar indica que a capacidade mxima de recursos no
foi utilizada. J o campo transigncia indica a diferena entre o total de recursos disponveis e o total

156

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

de recursos utilizados ou a quantidade de recursos ociosa. Por exemplo, para o setor de usinagem, do
total de recursos disponveis (36 horas), utilizaram-se apenas 27,5 horas, gerando uma ociosidade de 8,5
horas (transigncia). Para os setores de pintura e usinagem, como foi utilizada a capacidade mxima dos
recursos, a transigncia zero.

3.5.4.2 Relatrio de Limites


Os principais resultados fornecidos pelo Relatrio de Limites referem-se ao limite inferior e superior
de cada clula varivel (varivel de deciso). A Figura 3.75 apresenta o Relatrio de Limites para o problema
da empresa Venix Brinquedos.
Figura 3.75 Relatrio de Limites para o problema da empresa Venix Brinquedos.

De acordo com a Figura 3.75, verica-se que os resultados do Relatrio de Limites esto divididos em
duas partes principais: clula de destino e clulas ajustveis.
Analogamente ao Relatrio de Resposta, o Relatrio de Limites tambm fornece o valor timo da
clula de destino.
J os dados referentes a cada uma das clulas variveis esto representados nas linhas 13 e 14 da
Figura 3.75. Analogamente ao Relatrio de Resposta, o valor timo de cada clula ajustvel tambm
fornecido pelo Relatrio de Limites (coluna D). A coluna F apresenta os limites inferiores das clulas
ajustveis que se referem ao valor mnimo que cada varivel pode assumir. Atribuindo limites inferiores
a uma das variveis (x1 = 0) e mantendo as demais constantes (x2 = 20), obtm-se uma soluo factvel
com z = 1.200 (clula G13). Por outro lado, se x1 = 70 e x2 = 0, obtm-se outra soluo factvel com z =
840 (clula G14). Finalmente, a coluna I apresenta os limites superiores das clulas ajustveis, isto , os
valores mximos que cada varivel pode atingir. Nesse caso, o valor da funo objetivo z 2.040.

3.6 Exerccios
Seo 3.2 (ex. 1). Determinar o espao de solues factveis que satisfaz cada uma das restries isoladamente,
considerando que x1, x2 0:
a) 3x1 + 2x2 12
b) 2x1 + 3x2 24
c) 3x1 2x2 6
d) x1 x2 4
e) x1 + 4x2 16
f) x1 + 2x2 10

157

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Seo 3.2.1 (ex. 1). Para cada funo z de maximizao, determinar a direo que a funo objetivo cresce:
a) max z = 5x1 + 3x2
b) max z = 4x1 2 x2
c) max z = 2 x1 + 6x2
d) max z = x1 2x2
Seo 3.2.1 (ex. 2). Determinar a soluo grfica (espao de solues factveis e a soluo tima) dos seguintes
problemas de maximizao de PL:
a) max z = 3x1 + 4x2
sujeito a:
2x1 + 5x2 18
4x1 + 4x2 12
5x1 + 10x2 20
x1, x2 0
b) max z = 2x1 + 3x2
sujeito a:
2x1 + 2x2 10
3x1 + 4x2 24
x2 4
x1, x2 0
c) max z = 4x1 + 2x2
sujeito a:
x1 + x2 16
3x1 2x2 36
10
x1
x2 6
x1, x2 0

Seo 3.2.1 (ex. 3). Resolver, graficamente, o problema do mix de produo da empresa Venix Brinquedos
(Exemplo 2.3, do Captulo 2, resolvido pelo Solver do Excel na Seo 3.5.2.1 deste captulo).
Seo 3.2.1 (ex. 4). As solues a seguir pertencem regio factvel do problema da empresa Venix
Brinquedos?
a) x1 = 30, x2 = 25
b) x1 = 30, x2 = 30
c) x1 = 44, x2 = 24
d) x1 = 45, x2 = 28
e) x1 = 75, x2 = 15
f) x1 = 90, x2 = 14
g) x1 = 100, x2 = 14

158

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

h) x1 = 120, x2 = 10
i) x1 = 130, x2 = 5
Seo 3.2.2 (ex. 1). Para cada funo z de minimizao, determinar a direo que a funo objetivo decresce:
a) min z = 5x1 + 8x2
b) min z = 2x1 3x2
c) min z = 4x1 + 5x2
d) max z = 7x1 5x2
Seo 3.2.2 (ex. 2). Determinar a soluo grfica dos seguintes problemas de minimizao de PL:
a) min z = 2x1 + x2
sujeito a:
x1 x2 10
2x1 + 3x2 30
x1, x2 0
b) min z = 2x1 x2
sujeito a:
x1 2x2 2
x1 + 3x2 6
x1, x2 0
c) min z = 6x1 + 4x2
sujeito a:
2x1 + 2x2 40
x1 + 3x2 30
4x1 + 2x2 60
x1, x2 0
Seo 3.2.3 (ex. 1). Identificar, graficamente, em qual dos casos especiais cada problema de PL se insere:
a) mltiplas solues timas; b) funo objetivo z ilimitada; c) no existe soluo tima; d) soluo tima
degenerada.
a) max z = 2x1 + x2
sujeito a:
x1 + 4x2 12
4x1 + 2x2 20
3x2 6
x1, x2 0
b) min z = 2x1 + x2
sujeito a:
4x1 + 5x2 20
x1 + x2 3
x1, x2 0

159

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

c) max z = 2x1 + 3x2


sujeito a:
4x1 + 2x2 20
x1 x2 10
x1, x2 0
d) max z = 6x1 + 4x2
sujeito a:
4x1 4x2 20
3x1 + 2x2 30
x2 12
x1, x2 0
e) min z = 2x1 + 3x2
sujeito a:
x1 + x2 10
4x1 + 2x2 20
4x2 40
x1, x2 0
f) min z = 2x1 + 3x2
sujeito a:
x1 + x2 10
4x1 + 2x2 20
x1 + x2 4
x1, x2 0
Seo 3.2.3 (ex. 2). Determine, graficamente, as solues timas alternativas dos seguintes problemas de PL:
a) max z = 6x1 + 4x2
sujeito a:
3x1 + 2x2 90
2x1 + x2 50
x1, x2 0
b) min z = 2x1 + 3x2
sujeito a:
4x1 x2 11
4x1 + 6x2 32
x1, x2 0

160

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Seo 3.3 (ex. 1) Considere o seguinte problema de minimizao de PL:


min z = 3x1 + 2x2
sujeito a:
8x1 + 5x2 140
4x1 + 3x2 80
x1, x2 0
Resolvendo o problema pela forma analtica, determinar:
a) O nmero de solues bsicas possveis para esse sistema.
b) As solues bsicas factveis para o problema; represent-las graficamente.
c) A soluo tima.
Seo 3.3 (ex. 2) Idem para o seguinte problema de maximizao de PL:
max z = 4x1 + 3x2 + 5x3
sujeito a:
3x1 x2 + 2x3 10
4x1 + 2x2 + 5x3 50
x1, x2, x3 x3 0
Seo 3.4.2 (ex. 1) Considere o seguinte problema de maximizao de PL:
max z = 4x1 + 5x2 + 3x3
sujeito a:
2x1 + 3x2 x3 48
x1 + 2x2 + 5x3 60
3x1 + x2 + 2x3 30
x1, x2, x3 0
Resolver o problema pela forma analtica do mtodo Simplex.
Seo 3.4.3 (ex. 1) Resolver o problema do mix de produo da empresa Venix Brinquedos pelo mtodo
Simplex.
Seo 3.4.3 (ex. 2) Utilizar o mtodo Simplex para resolver os seguintes problemas de maximizao de PL:
a) max z = 3x1 + 2x2
sujeito a:
3x1 x2 6
x1 + 3x2 12
x1, x2 0
b) max z = 2x1 + 4x2 + 3x3
sujeito a:
x1 + x2 + 2x3 6
2x1 + 2x2 + 3x3 16
x1 + 4x2 + x3 18
x1, x2, x3 0

161

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

c) max z = 3x1 + x2 + 2x3


sujeito a:
2x1 + 2x2 + x3 d 20
3x1 + x2 + 4x3 d 60
x1 + x2 + 2x3 d 30
x1, x2, x3 t 0
Seo 3.4.3 (ex. 3) Qual a dificuldade de se resolver o problema do fazendeiro (Exemplo 2.7, do Captulo 2,
resolvido pelo Solver do Excel na Seo 3.5.2.5 do presente captulo) pelo mtodo Simplex?
Seo 3.4.4 (ex. 1) Utilizar o mtodo Simplex para resolver os seguintes problemas de minimizao de PL:
a) min z = 2x1 x2
sujeito a:
2x1 + 6x2 d 24
8x1 + 2x2 d 40
x1, x2 t 0
b) min z = 5x1 6x2
sujeito a:
4x1 + 2x2 d 10
x1 + 3x2 d 22
x1, x2 t 0
c) min z = 2x1 x2 x3
sujeito a:
3x1 + 5x2 + 4x3 d 120
x1 + 2x2 + 4x3 d 90
2x1 x2 + 2x3 d 60
x1, x2, x3 t 0
d) min z = x1 + 3x2 x3
sujeito a:
4x1 2x2 + 2x3 d 160
2x1 + 5x2 + 10x3 d 200
x1 x2 + x3 d 50
x1, x2, x3 t 0
Seo 3.4.5.1 (ex. 1) Utilizar o mtodo das penalidades (Big M) para resolver os seguintes problemas de PL:
a) min z = 4x1 + 6x2
sujeito a:
3x1 + 2x2 t 24
2x1 + 6x2 t 30
x1, x2 t 0

162

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

b) min z = 6x1 + 4x2 + 5x3


sujeito a:
2x1 x2 + 4x3 d 20
2x1 + 6x2 + 2x3 = 60
x1 + x2 + 3x3 t 22
x1, x2, x3 t 0
c) min z = 2x1 + 2x2 + 3x3
sujeito a:
x1 + 2x2 + 5x3 t 30
3x1 + 4x2 x3 t 60
2x1 + x2 + 2x3 = 40
x1, x2, x3 t 0
d) max z = 4x1 + 5x2
sujeito a:
x1 + x2 = 98
2x1 x2 t 10
2x1 + x2 d 5
x1, x2 t 0
Seo 3.4.5.2 (ex. 1) Considerando ainda os problemas de PL acima (Exemplo 3.1 da Seo 3.4.5.1):
a) Resolv-los novamente pelo mtodo das duas fases.
b) Comparar as solues bsicas factveis obtidas pelos dois mtodos.
c) As solues bsicas obtidas so factveis para o problema real?
Seo 3.4.5.2 (ex. 2) Como se pode identificar uma soluo infactvel pelo mtodo das penalidades (Big M)
e pelo mtodo das duas fases?
Seo 3.4.5.2 (ex. 3) Como se pode identificar uma soluo degenerada pelo mtodo das duas fases? Qual
medida deve ser tomada nesse caso para prosseguir para a fase 2?
Seo 3.4.5.2 (ex. 4) Como se pode identificar um problema ilimitado pelo mtodo das duas fases?
Seo 3.4.6.1 (ex. 1) Resolva o seguinte problema de maximizao de PL pelo mtodo Simplex:
max z = 4x1 x2
sujeito a:
3x1 3x2 d 175
8x1 2x2 d 460
d 60
x1
x1, x2 t 0
a) Mostre que estamos diante de um caso especial com mltiplas solues timas.
b) Determine pelo menos duas das solues timas alternativas.
c) Resolva o problema graficamente e compare os resultados obtidos.

163

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

Seo 3.4.6.1 (ex. 2) Idem para o problema de minimizao de PL a seguir:


min z = 3x1 + 6x2
sujeito a:
2x1 + 4x2 t 620
7x1 + 3x2 t 630
x1, x2 t 0
Seo 3.4.6.1 (ex. 3) Determinar todas as SBF timas do seguinte problema de maximizao:
max z = 4x1 + 4x2
sujeito a:
x1 + x2 d 1
x1, x2 t 0
Seo 3.4.6.2 (ex. 1) Demonstre que o problema de maximizao de PL a seguir tem funo objetivo z
ilimitada.
max z = 5x1 + 2x2
sujeito a:
2x1 3x2 d 66
9x1 3x2 d 99
x1, x2 t 0
Seo 3.4.6.2 (ex. 2) Demonstre que este problema de maximizao de PL tem funo objetivo z ilimitada.
min z = 3x1 2x2
sujeito a:
2x1 + x2 d 12
3x1 2x2 d 24
x1, x2 t 0
Determine uma soluo bsica factvel com z = 90.
Seo 3.4.6.3 (ex. 1) Demonstre que o seguinte problema de maximizao de PL tem soluo infactvel.
max z = 18x1 + 12x2
sujeito a:
4x1 + 16x2 d 1.850
8x1 5x2 t 4.800
x1, x2 t 0
Seo 3.4.6.3 (ex. 2) Idem para o seguinte problema de minimizao:
min z = 7x1 + 5x2
sujeito a:
6x1 + 4x2 t 24
x1 + x2 d 3
x1, x2 t 0

164

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Seo 3.4.6.4 (ex. 1) Demonstre que o problema de maximizao de PL a seguir tem soluo tima
degenerada.
max z = 2x1 + 3x2
sujeito a:
x1 x2 t 10
2x1 + 3x2 d 90
d 24
x1
x1, x2 t 0
Seo 3.4.6.4 (ex. 2) Idem para este problema de minimizao.
min z = 6x1 + 8x2
sujeito a:
2x1 + 4x2 t 60
5x1 4x2 t 80
3x1 + 8x2 t 100
x1, x2 t 0
Seo 3.4.6 (ex. 1) Identificar, utilizando o mtodo Simplex, Big M ou o mtodo das duas fases, em qual dos
casos especiais cada problema de PL se insere: a) mltiplas solues timas; b) funo objetivo z ilimitada; c)
no existe soluo tima; d) soluo tima degenerada.
a) max z = x1 + 3x2
sujeito a:
2x1 + 6x2 d 48
3x1 + 5x2 d 60
x1 + 8x2 d 6
x1, x2 t 0
b) min z = 2x1 6x2
sujeito a:
3x1 + 2x2 t 24
2x1 + 6x2 t 30
x1, x2 t 0
c) max z = 2x1 + x2
sujeito a:
8x1 + 4x2 d 600
4x1 + 2x2 d 300
x1, x2 t 0
d) min z = 3x1 + 2x2
sujeito a:
2x1 + 7x2 t 184
5x1 + 3x2 d 254
x2 d 12
x1, x2 t 0

165

ELSEVIER

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

e) min z = 3x1 + 2x2


sujeito a:
2x1 + 5x2 t 90
2x1 + 3x2 d 60
x2 d 15
x1, x2 t 0
f) min z = 2x1 + 5x2
sujeito a:
7x1 + 3x2 t 260
2x1 + 9x2 d 480
d 70
x1
x2 t 40
x1, x2 t 0
Seo 3.4.6 (ex. 2) Identifique, a partir de cada uma das formas tabulares apresentadas a seguir, se estamos
ou no diante de um caso especial do mtodo Simplex. Em caso positivo, determinar o caso especial em que
o problema analisado se insere: a) mltiplas solues timas; b) funo objetivo z ilimitada; c) no existe
soluo tima; d) soluo tima degenerada. Em cada forma tabular, especifica-se se o problema original
de maximizao ou minimizao.
a) Problema de maximizao
Coecientes

Varivel no da
bsica equao

x1

x2

x3

x4

Constante

20

x2

10

x4

18

b) Problema de minimizao
Varivel
bsica

no da
equao

x1

x2

x3

x4

x5

Constante

10

60

x4

7/3

1/3

14

x1

2/3

1/3

10

Coecientes

c) Problema de minimizao
Varivel no da
bsica equao

166

Coecientes
z

x1

x2

x3

x4

a2
M +
3/4
1/4

Constante

7/4

x1

1/4

a1
M +
7/4
1/4

x3

1/4

1/4

1/4

x4

1/5

1/5

3/4

86
2

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

d) Problema de maximizao
Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

3.000

x3

8/3

2/3

1.120

x1

2/3

1/3

500

Coecientes

e) Problema de minimizao
Varivel
bsica

no da
equao

x1

x2

x3

x4

Constante

x3

840

x4

500

Coecientes

Seo 3.5.2 (ex. 1). Considere o Exerccio 1 proposto na Seo 2.5.1, do Captulo 2, referente ao problema
do mix de produo da empresa KMX:
a) Represente o problema em uma planilha do Excel.
b) Determine a soluo tima pelo Solver do Excel.
Seo 3.5.2 (ex. 2). Idem para o Exerccio 2 proposto na Seo 2.5.1, do Captulo 2, referente ao problema
do mix de produo da empresa Refresh.
Seo 3.5.2 (ex. 3). Idem para o Exerccio 3 da Seo 2.5.1, do Captulo 2, referente empresa Golmobile.
Seo 3.5.2 (ex. 4). Idem para o Exerccio 1 da Seo 2.5.2, do Captulo 2, referente ao problema da mistura
de petrleo.
Seo 3.5.2 (ex. 5). Idem para o Exerccio 1 da Seo 2.5.4, do Captulo 2, referente ao problema de oramento
de capital da empresa GWX.
Seo 3.5.2 (ex. 6). Idem para o Exerccio 1 da Seo 2.5.5, do Captulo 2, referente ao problema de
otimizao de carteiras.
Seo 3.5.2 (ex. 7). Idem para o Exerccio 3 da Seo 2.5.5, do Captulo 2, referente ao problema de otimizao
de carteiras do banco CTA Investimentos.
Seo 3.5.2 (ex.8). Idem para o Exerccio 1 da Seo 2.5.7, do Captulo 2, referente ao problema de
planejamento agregado da empresa Farmacom.

3.7 Resumo
O objetivo deste captulo foi apresentar como resolver um problema de programao linear de forma
grca, pelo mtodo analtico, pelo mtodo Simplex e por computador.

167

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

a) Soluo Grfica
Um problema com apenas duas variveis pode ser facilmente resolvido de forma grca. Os problemas
com at trs variveis de deciso tambm podem ser solucionados de forma grca, porm, com uma
complexidade maior.
Na resoluo grca de um modelo de programao linear, primeiramente determina-se o espao de
solues viveis ou factveis em um eixo cartesiano. Uma soluo factvel aquela que satisfaz todas as
restries do modelo, inclusive as de no negatividade. Se determinada soluo viola pelo menos uma das
restries do modelo, a mesma chamada soluo infactvel. O passo seguinte consiste em determinar
a soluo tima do modelo, isto , a soluo factvel que apresente o melhor valor (ponto mximo ou
mnimo) da funo objetivo.
Alguns problemas de programao linear no apresentam uma nica soluo tima no degenerada,
podendo cair em um dos quatro casos: a) mltiplas solues timas; b) funo objetivo z ilimitada; c) no
existe soluo tima; d) soluo tima degenerada.
Gracamente, pode-se identicar um caso com mltiplas solues timas quando a funo objetivo
paralela a uma restrio ativa, isto , responsvel pela determinao da soluo tima do modelo. J no caso
de funo objetivo ilimitada, no existe limite para o crescimento do valor de pelo menos uma varivel de
deciso, resultando em uma regio factvel e uma funo z ilimitada. Se a soluo for infactvel, o conjunto
de solues factveis para o problema estudado vazio, ou seja, no existe soluo tima. Finalmente,
identica-se um caso especial de soluo tima degenerada quando o vrtice timo for determinado pela
interseo de mais de duas retas distintas.

b) Soluo Analtica
Para um sistema Ax = b com n variveis e m restries, em que m < n, o mtodo analtico analisa todas
as possveis combinaes de n variveis escolhidas m a m, e escolhe a melhor delas. Dessa forma, o mtodo
analtico torna-se impraticvel para problemas com muitas variveis e equaes. Para encontrar uma soluo
para o sistema, primeiramente escolhe-se um conjunto de variveis n m de x, chamadas variveis no
bsicas (VNB), as quais so atribudos valores iguais a zero. As m variveis restantes do sistema, chamadas
variveis bsicas (VB), so ento determinadas. Essa soluo chamada soluo bsica (SB). O conjunto
de variveis bsicas chamado base. Se a soluo bsica atende as restries de no negatividade, a mesma
chamada soluo bsica factvel (SBF). Se a soluo viola pelo menos uma das restries do modelo, a
mesma chamada soluo bsica infactvel. Para determinar a soluo tima, basta calcular o valor da
funo objetivo z de todas as possveis solues bsicas e escolher a melhor alternativa.
Uma varivel bsica tambm pode ser denida como aquela que apresenta coeciente 1 em apenas
uma equao e 0 nas demais. Todas as variveis restantes so no bsicas.

c) Mtodo Simplex
Como alternativa ao mtodo grco e analtico, o mtodo Simplex pode ser aplicado para resoluo
de qualquer problema de PL. O algoritmo Simplex um mtodo iterativo que parte de uma soluo bsica
factvel inicial e busca, a cada iterao, uma nova soluo bsica factvel, chamada soluo bsica factvel
adjacente (SBF adjacente), com melhor valor na funo objetivo at que o valor timo seja atingido. Para
um problema com m variveis bsicas e n m variveis no bsicas, duas solues bsicas so adjacentes se
elas tiverem em comum m 1 variveis bsicas, podendo as mesmas apresentar valores numricos diferentes.

168

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

Antes de determinar a nova soluo bsica adjacente, o sistema de equaes deve ser convertido para
uma forma mais conveniente, por meio de operaes algbricas elementares, utilizando-se o mtodo de
eliminao de Gauss-Jordan. A partir do novo sistema de equaes, cada nova equao deve possuir
apenas uma varivel bsica com coeciente igual a 1, cada varivel bsica deve aparecer em apenas uma
equao, e a funo objetivo deve ser escrita em funo das variveis no bsicas, de forma que os valores
das novas variveis bsicas e da funo objetivo z podem ser obtidos diretamente, e o teste de otimalidade
pode ser vericado facilmente.
A soluo de um problema de maximizao de PL pela forma tabular do mtodo Simplex (a funo
z passa a ser reescrita como z c1x1 c2x2 ... cnxn = 0):
Incio: O problema deve estar na forma padro.
Passo 1: Encontrar uma soluo bsica factvel (SBF) inicial para o problema de PL, atribuindo valores iguais a
zero s variveis de deciso.
Passo 2: Teste de otimalidade.
A SBF atual tima se, e somente se, os coecientes de todas as variveis no bsicas da equao 0 da forma
tabular so no negativos (t 0). Enquanto houver pelo menos uma das variveis no bsicas com coeciente
negativo na equao 0, h uma SBF adjacente melhor.
Iterao: Determinar uma SBF adjacente melhor.
1. Determinar a varivel no bsica que entrar na base: aquela com maior coeciente negativo na equao
0 (coluna piv).
2. Escolher a varivel bsica que sair da base: a linha com menor quociente (constante da linha i/coeciente
positivo da linha i com a coluna piv).
3. Transformar a forma tabular atual utilizando o mtodo de eliminao de Gauss-Jordan e recalcular a
soluo bsica.

O mtodo Simplex tambm pode ser utilizado para a soluo de problemas de minimizao de
programao linear. Para isso, pode-se transformar o problema de minimizao em um problema de
maximizao e utilizar o mesmo procedimento descrito. Outra alternativa adaptar o procedimento
descrito para problemas de minimizao de programao linear.
A varivel no bsica a entrar na base aquela com maior incremento negativo em z, isto , com
maior coeciente positivo na equao 0. Enquanto houver pelo menos uma das variveis no bsicas com
coeciente positivo na equao 0, h uma SBF adjacente melhor. A SBF atual tima se, e somente se,
os coecientes de todas as variveis no bsicas da equao 0 da forma tabular so no positivos (d 0). Os
demais passos no se alteram.

d) Mtodo das Penalidades (Big M) e Mtodo das Duas Fases que Utilizam o Conceito
de Varivel Artificial
Para problemas de maximizao e minimizao com restries de desigualdade do tipo d (e constantes
no negativas do lado direito), pode-se obter facilmente uma SBF inicial adicionando-se variveis de folga
do lado esquerdo da equao. Porm, quando as restries do modelo so representadas por inequaes
do tipo t ou equaes de igualdade, a SBF inicial no bvia. Como alternativa, deve ser adicionada,
do lado esquerdo de cada equao, uma nova varivel, chamada varivel articial, que ser utilizada
como varivel bsica inicial, a m de proporcionar facilmente uma SBF inicial. O mtodo das penalidades
(Big M) e o mtodo de duas fases so variantes do mtodo Simplex que utilizam o conceito de variveis
articiais para que uma SBF inicial possa ser obtida facilmente. Como essas variveis articiais no fazem
parte do modelo e tm como objetivo apenas proporcionar uma SBF inicial, elas tendem a desaparecer ao
longo do algoritmo at que todas elas assumam valores nulos na ltima iterao.

169

Pesquisa Operacional para Cursos de Engenharia I Patrcia Belfiore e Luiz Paulo Fvero

ELSEVIER

d1) Mtodo das Penalidades (Big M)


Incio: Problema original na forma padro, adicionando variveis articiais ai (ai t 0) para as equaes que no
tm variveis de folga.
Passo 1: Considere M um valor positivo sucientemente grande. Para um problema de maximizao
de PL, para cada varivel articial ai introduzida, i = 1,...,k, subtrair o produto Mai da funo
objetivo (max z = c1x1 + ... + cnxn M1a1 ... Mkak). Para um problema de minimizao, para cada
varivel articial ai introduzida, adicionar o produto Mai funo objetivo (min z = c1x1 + ... +
cnxn + M1a1 + ... + Mkak).
Passo 2: Para que os coecientes das variveis articiais sejam nulos na linha 0 (as variveis articiais sero as
variveis bsicas iniciais), para problemas de minimizao deve-se multiplicar a constante M por cada equao
i em que foi introduzida uma varivel articial ai e somar cada um desses produtos equao 0 atual. Para
problemas de maximizao, o valor da constante M negativo:
a) Nova linha 0 = linha 0 atual + equao i M (problemas de minimizao).
i

b) Nova linha 0 = linha 0 atual +

equao

i M (problemas de maximizao).

Passo 3: Aplicar o mtodo Simplex para o problema original adaptado. Todas as articiais devem assumir valores
nulos na soluo tima.

d2) Mtodo das Duas Fases


O mtodo das penalidades pode gerar erros de arredondamento que podem prejudicar a acurcia do
mtodo Simplex. Como alternativa, pode-se utilizar o mtodo das duas fases:
IncioW
Fase 1
wkaiik
w = a + a2 + ... + akIncio
W                  
iai
 E

equaco i 1 
i

 E

equaco i 1
i

^
Fase 2
 W
^
W


K^


e) Identificao dos Casos Especiais pelo Mtodo Simplex


Pode-se identicar, pelo mtodo Simplex, um caso especial de innitas solues timas quando,
na forma tabular tima, o coeciente de uma das VNB for nulo na linha 0 da funo objetivo. J um
problema com funo objetivo ilimitada pode ser identicado quando, em uma das formas tabulares,

170

Captulo 3 I Soluo de Problemas de Programao Linear: Soluo Grfica, Analtica, pelo Mtodo Simplex e por Computador

uma VNB ca impossibilitada de entrar na base porque as linhas de todas as VB possuem coecientes
no positivos na coluna da VNB candidata. Um caso com soluo infactvel identicado quando a
soluo nal obtida pelo mtodo das penalidades (Big M) ou na fase 1 do mtodo das duas fases tiver
pelo menos uma varivel articial com coeciente positivo. Finalmente, quando em uma das solues do
mtodo Simplex o valor de uma das VB for nulo, tem-se um caso especial conhecido como soluo tima
degenerada. Pelo mtodo das duas fases, identica-se uma soluo degenerada quando pelo menos uma
varivel articial for bsica (fase 1).

f) Soluo por Computador


Para minimizar o tempo despendido na soluo de um modelo de PL, pode-se utilizar diretamente
um software existente no mercado (GAMS, AMPL, AIMMS, softwares de planilhas eletrnicas, entre
outros) para a resoluo de qualquer problema de programao linear. O Solver do Excel tem sido
bastante utilizado para a soluo de problemas de programao linear e no linear de pequeno porte,
em funo de sua popularidade e simplicidade. O Solver um suplemento do Excel que utiliza o
algoritmo Simplex para determinar a soluo tima de um modelo de programao linear. O Solver
possui interface com outras linguagens de programao, de forma que a soluo nal possa ser
exportada para outro pacote.

171