Escolar Documentos
Profissional Documentos
Cultura Documentos
Programao Linear ca
Mtodo Simplex e
1 / 27
Resoluo de um PPL pelo Mtodo Simplex ca e O algoritmo Simplex um mtodo algbrico, iterativo e e e e convergente para a soluo ptima, caso exista, que permite ca o resolver problemas de PL com a forma geral: Max ou f (X ) = c1 x1 + c2 x2 + ... + cn xn Min s.a. a11 x1 + a12 x2 + ... + a1n xn b1 a21 x1 + a22 x2 + ... + a2n xn b2 ... am1 x1 + am2 x2 + ... + amn xn bm x1 , x2 , ...xn 0
2 / 27
Terminologia:
Designa-se por soluo bsica um ponto (x1 , ..., xm+n ) Rm+n ca a que satisfaz as m restries funcionais e que tem, no mximo, co a m variveis com valor diferente de zero. a Se a soluo bsica satisfaz tambm as restries de no ca a e co a negatividade diz-se soluo bsica admiss ca a vel. Num PPL, uma base identica um conjunto de variveis que a conduz a uma soluo bsica poss ca a vel. Para que a varivel xi possa pertencer ` base tem de satisfazer a a as condies seguintes: co
na funo objectivo, o coeciente de xi igual a zero; e ca e xi s tem coeciente diferente de zero numa das m restrioes o c funcionais e esse coeciente , obrigatoriamente, igual a 1. e
3 / 27
Terminologia:
Designa-se por soluo bsica um ponto (x1 , ..., xm+n ) Rm+n ca a que satisfaz as m restries funcionais e que tem, no mximo, co a m variveis com valor diferente de zero. a Se a soluo bsica satisfaz tambm as restries de no ca a e co a negatividade diz-se soluo bsica admiss ca a vel. Num PPL, uma base identica um conjunto de variveis que a conduz a uma soluo bsica poss ca a vel. Para que a varivel xi possa pertencer ` base tem de satisfazer a a as condies seguintes: co
na funo objectivo, o coeciente de xi igual a zero; e ca e xi s tem coeciente diferente de zero numa das m restrioes o c funcionais e esse coeciente , obrigatoriamente, igual a 1. e
4 / 27
1o passo Colocar o problema na forma padro a Para escrever o problema na forma padro devemos ter em conta o a seguinte:
Os segundos membros das restries tcnicas tm de ser no co e e a negativos (as restries com termos independentes negativos co devem ser multiplicadas por (-1)); Todas as variveis do modelo tm de ser no negativas; a e a
se alguma varivel for no positiva (xi 0) devemos proceder ` a a a substituio xi = xi com xi 0 ca se alguma varivel for livre devemos proceder ` substituio a a ca xi = xi xi com xi , xi 0;
Exemplo: Admita que se pretende resolver o seguinte PPL Max s.a. f (X ) = 60x1 + 80x2 30x1 + 20x2 300 5x1 + 10x2 110 x1 , x2 0
Colocando o modelo na forma padro obtm-se a e Max s.a. f (X , F) = 60x1 + 80x2 30x1 + 20x2 + f1 = 300 5x1 + 10x2 + f2 = 110 x1 , x2 , f1 , f2 0
6 / 27
2o passo Identicar uma base inicial para o problema Recordemos que uma varivel xi pode pertencer ` base se: a a
o coeciente de xi na funo objectivo igual a zero; e ca e xi s tem coeciente diferente de zero numa das m restries o co funcionais e esse coeciente toma o valor 1.
Exemplo (cont.): No modelo em estudo
o sistema das restries funcionais tem duas equaes lineares co co a quatro variveis; a as variveis f1 e f2 tm coeciente 0 (zero) na funo objectivo; a e ca a varivel f1 s tem coeciente diferente de zero na primeira a o restrio e esse coeciente igual a 1; e ca e a varivel f2 s tem coeciente diferente de zero na segunda a o restrio e esse coeciente igual a 1. ca e
conclu mos ento que a base inicial constitu pelas variveis f1 e f2 (x1 a e da a e x2 so as variveis no bsicas). a a a a
7 / 27
3o passo Passagem para o primeiro membro de todos os parmetros da funo objectivo a ca Encontrada a base inicial, os parmetros da funo objectivo devem ser a ca passados para o primeiro membro, para que que com uma estrutura semelhante ` das restrioes. a c Exemplo (cont.): O modelo em estudo car: a Max s.a. f (X , F ) 60x1 80x2 0f1 0f2 = 0 30x1 + 20x2 + f1 = 300 5x1 + 10x2 + f2 = 110 x1 , x2 , f1 , f2 0
8 / 27
O quadro simplex formado por n + m + 2 colunas (no de e variveis + no de resties + 2) e por m + 1 linhas (no de a co restries + 1). co Na primeira coluna, V.B., so registados os elementos da base a corrente. A cada uma das colunas seguintes est associada uma das a variveis do problema. a Na ultima coluna, T.I, so registados os valores dos termos a independentes da funo objectivo e das restries. ca co Em cada linha so escritos os coecientes da funo objectivo a ca e de cada uma das restries. co
Exemplo (cont.): O quadro simplex inicial para o modelo em estudo e
V.B. f (X ) f1 f2 x1 -60 30 5 x2 -80 20 10 f1 0 1 0 f2 0 0 1 T.I. 0 300 110 Valor de f (X ) Valor de f1 Valor de f2
9 / 27
base corrente{
O quadro simplex formado por n + m + 2 colunas (no de e variveis + no de resties + 2) e por m + 1 linhas (no de a co restries + 1). co Na primeira coluna, V.B., so registados os elementos da base a corrente. A cada uma das colunas seguintes est associada uma das a variveis do problema. a Na ultima coluna, T.I, so registados os valores dos termos a independentes da funo objectivo e das restries. ca co Em cada linha so escritos os coecientes da funo objectivo a ca e de cada uma das restries. co
Exemplo (cont.): O quadro simplex inicial para o modelo em estudo e
V.B. f (X ) f1 f2 x1 -60 30 5 x2 -80 20 10 f1 0 1 0 f2 0 0 1 T.I. 0 300 110 Valor de f (X ) Valor de f1 Valor de f2
10 / 27
base corrente{
5o passo Regra de paragem do algoritmo Para sabermos se a base corrente conduz ` soluo optima necessrio a ca e a analisar os coecientes da funo objectivo. Podem dar-se duas ca situaoes: c
Nenhum dos coecientes contribui para um aumento (resp. diminuio) da funo objectivo do problema de maximizao ca ca ca (resp. minimizao), ou seja, todos os coecientes da funo ca ca objectivo so no negativos (resp. no positivos). Neste caso o a a a objectivo foi atingido encontrmos a soluo ptima; ou a ca o Pelo menos um dos coecientes contribui para um valor mais favorvel da funo objectivo. Neste caso necessrio a ca e a encontrar uma nova soluo. ca
11 / 27
Exemplo (cont.): No quadro simplex anterior h duas variveis no a a a bsicas com coecientes negativos (x1 e x2 ) a
V.B. f (X ) f1 f2 x1 -60 30 5 x2 -80 20 10 f1 0 1 0 f2 0 0 1 T.I. 0 300 110
A funo objectivo dada por ca e f (X , F ) 60x1 80x2 0f1 0f2 = 0 ou, equivalentemente, f (X , F ) = 60x1 + 80x2 ou seja,
Por cada unidade incrementada no valor de x1 (mantendo x2 = 0) a funo objectivo aumenta 60 unidades; e ca Por cada unidade incrementada no valor de x2 (mantendo x1 = 0) a funo objectivo aumenta 80 unidades. ca
Logo, a base actual no conduz ` soluo optima. a a ca
12 / 27
6o passo Passagem de uma soluo bsica para outra soluo ca a ca bsica adjacente a Quando se conclui que a base corrente no conduz ` soluo ptima a a ca o e necessrio responder `s seguintes questes: a a o
13 / 27
V.B. f (X ) f1 f2
x1 -60 30 5
f1 0 1 0
f2 0 0 1
linha pivot
Uma vez que qualquer varivel que pertena ` base tem, a c a obrigatoriamente,
Coeciente igual a zero na funo objectivo; e ca Coeciente diferente de zero (e igual a 1) apenas numa das restrioes. c
o quadro simplex da prxima iterao ser obtido atravs de operaoes o ca a e c elementares sobre as linhas do quadro anterior,1 nomeadamente,
Multiplicao de uma linha por uma constante; e ca Adio de uma linha a outra multiplicada por uma constante. ca
1
A leitura do quadro indica que a soluo encontrada no optima j que ca a e a se trata de um problema de maximizao e existe uma varivel no bsica ca a a a com coeciente negativo na funo objectivo (x1 ). Deste modo, x1 ca passar a integrar a base, determinando-se em seguida qual a varivel que a a ir sair da base. a
x1 entra na base x1 -20 20 1/2
V.B. f (X ) f1 x2
x2 0 0 1
f1 0 1 0
f2 8 -2 1/10
T.I. 880 80 11
f1 sai da base
15 / 27
Exemplo (cont.): Efectuando novamente operaoes elementares sobre as c linhas do quadro anterior obtm-se o novo quadro simplex e
V.B. f (X ) f1 f2 f (X ) f1 x2 f (X ) x1 x2 x1 -60 30 5 -20 20 1/2 0 1 0 x2 -80 20 10 0 0 1 0 0 1 f1 0 1 0 0 1 0 1 1/20 -1/40 f2 0 0 1 8 -2 1/10 6 -1/10 3/20 T.I. 0 300 110 880 80 11 960 4 9 L1 = L1 + L2 1 L2 = 20 L2 1 L3 = L3 40 L2
Na base (x1 , x2 ), a expresso da funo objectivo a ca e f (X , F ) = 960 f1 6f2 Deste modo, um aumento em qualquer uma das variveis no bsicas a a a conduzir a uma dimunuio do valor da funo objectivo. Encontrmos a ca ca a portanto a soluo optima: ca X = (x1 , x2 , f1 , f2 ) = (4, 9, 0, 0) com f (X ) = 960
16 / 27
17 / 27
Exemplo (cont.):
O modelo na forma padro ca a Max s.a. f (X , F ) 8x1 8x2 = 0 2x1 + 2x2 + f1 = 12 2x1 + x2 + f2 = 9 x1 + 3x2 + f3 = 16 x1 , x2 , f1 , f2 , f3 0
O conjunto (f1 , f2 , f3 ) constitui uma base. Escrevendo os coecientes do modelo no quadro simplex V.B. f (X , F ) f1 f2 f3 x1 -8 2 2 1 x2 -8 2 1 3 f1 0 1 0 0 f2 0 0 1 0 f3 0 0 0 1 T.I. 0 12 9 16
verica-se que estamos perante um caso particular do mtodo, originado pelo e empate na escolha da varivel no bsica que entra na base. As variveis no a a a a a bsicas candidatas a entrar na base, x1 e x2 , tm igual coeciente na funo a e ca objectivo. Deste modo, qualquer uma delas pode entrar na base. Escolhe-se uma arbitrariamente, por exemplo, x1 , e o algoritmo prossegue de forma usual.
18 / 27
19 / 27
Por exemplo, se X1 e X2 so duas soluoes optimas para o mesmo problema, a c denido no espao vectorial Rn , ento qualquer ponto X Rn obtido por c a combinao linear convexa de X1 e X2 , tambm, uma soluo optima, ca e e ca situao traduzida algebricamente da forma ca X Rn : X = X1 + X2
com
, 0 + =1
soluo optima. e ca
a e c Se X1 , X2 e X3 so trs soluoes optimas para o mesmo problema, denido no espao vectorial Rn , ento qualquer ponto X Rn obtido por combinao c a ca linear convexa de X1 , X2 e X3 , tambm, uma soluo ptima, situao e e ca o ca traduzida algebricamente da forma X Rn : X = X1 + X2 + X3
com
, , 0 ++ =1
soluo optima. e ca
20 / 27
Exemplo:
Suponhamos que a resoluo de um PPL de maximizao pelo mtodo simplex ca ca e deu origem ao quadro seguinte V.B f (X , F ) x2 x1 f3 x1 0 0 1 0 x2 0 1 0 0 f1 4 1 -1/2 -5/2 f2 0 -1 1 2 f3 0 0 0 1 T.I. 48 3 3 4
Uma vez que todos os coecientes da funo objectivo so no negativos, a ca a a soluo encontrada optima. ca e Contudo, o coeciente 0 da varivel f2 indica que, se a varivel entrar na base, a a no provoca qualquer alterao na funo objectivo mas permite obter uma a ca ca nova combinao de valores para as variveis. Para encontrar uma soluo ca a ca alternativa h que efectuar mais uma iterao do algoritmo. a ca
21 / 27
Exemplo (cont.):
V.B f (X , F ) x2 x1 f3 f (X , F ) x2 x1 f2 x1 0 0 1 0 0 0 1 0 x2 0 1 0 0 0 1 0 0 f1 4 1 -1/2 -5/2 4 -1/4 3/4 -5/4 f2 0 -1 1 2 0 0 0 1 f3 0 0 0 1 0 1/2 -1/2 1/2 T.I. 48 3 3 4 48 5 1 2 Quoc. 3/1=3 4/2=2
Alm da soluo optima j encontrada X1 = (x1 , x2 , f1 , f2 , f3 ) = (3, 3, 0, 0, 4), a e ca a soluo X2 = (x1 , x2 , f1 , f2 , f3 ) = (1, 5, 0, 2, 0) tambm ptima. Mais, qualquer ca e e o soluo X da forma ca X = X1 + X2
com
, 0 + =1
22 / 27
23 / 27
Exemplo (cont.):
O modelo na forma padro ca a Max s.a. f (X , F ) 10x1 + 4x2 = 0 2x1 x2 + f1 = 6 x1 + 2x2 + f2 = 10 5x1 x2 + f3 = 15 x1 , x2 , f1 , f2 , f3 0
O conjunto (f1 , f2 , f3 ) constitui uma base. Escrevendo os coecientes do modelo no quadro simplex verica-se que a varivel a entrar na base x1 . No entanto, a e h um empate entre os quocientes entre os termos independentes e os a elementos homlogos positivos da coluna pivot. o V.B. f (X , F ) f1 f2 f3 x1 -10 2 -1 5 x2 4 -1 2 -1 f1 0 1 0 0 f2 0 0 1 0 f3 0 0 0 1 T.I. 0 6 10 15 Quoc. 3 3
Neste caso, escolhe-se uma varivel arbitrariamente, por exemplo, f1 e o a algoritmo prossegue de forma usual.
24 / 27
Soluo degenerada ca
A soluo do problema diz-se degenerada quando, na soluo ptima, ca ca o uma das variveis bsicas tem valor zero. a a Exemplo:
Suponhamos que a aplicao do mtodo simplex a um PPL de maximizao ca e ca resultou no seguinte quadro optimo V.B f (X , F ) x2 x1 f3 x1 0 0 1 0 x2 0 1 0 0 f1 4 1 -1/2 -5/2 f2 3 -1 1 2 f3 0 0 0 1 T.I. 480 0 3 4
Neste caso diz-se que o problema tem soluo degenerada j que a varivel ca a a bsica x2 tem valor 0. a
25 / 27
Soluo ilimitada ca
O problema tem soluo ilimitada quando todos os coecientes ca tcnicos da varivel no bsica que entra na base so nulos ou e a a a a negativos. Exemplo:
Suponha que se pretende resolver o PPL seguinte Min s.a. f (X ) = 36x1 30x2 + 3x3 + 4x4 x1 + x2 x3 5 6x1 + 5x2 x4 10 x1 , x2 , x3 , x4 0
26 / 27
Exemplo (cont.):
O modelo na forma padro ca a Min f (X ) + 36x1 + 30x2 3x3 4x4 = 0 s.a. x1 + x2 x3 + f1 = 5 6x1 + 5x2 x4 + f2 = 10 x1 , x2 , x3 , x4 , f1 , f2 0 O conjunto (f1 , f2 ) constitui uma base. A resoluo do problema pelo mtodo ca e simplex d origem aos quadros seguintes: a V.B. f (X , F ) f1 f2 f (X , F ) f1 x1 f (X , F ) x4 x1 x1 36 1 6 0 0 1 0 0 1 x2 30 1 5 0 1/6 5/6 -2 1 1 x3 -3 -1 0 -3 -1 0 9 -6 -1 x4 -4 0 -1 2 1/6 -1/6 0 1 0 f1 0 1 0 0 1 0 -12 6 1 f2 0 0 1 -6 -1/6 1/6 -4 -1 0 T.I. 0 5 10 -60 10/3 5/3 -100 20 5 Quoc. 5 5/3 (10/3)/(1/6)=20 -
No ultimo quadro, x3 deveria entrar na base. Contudo, todos os elementos homlogos da coluna pivot so no positivos logo no poss determinar qual o a a a e vel a varivel a sair da base o problema tem soluo ilimitada. a ca
27 / 27