Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo:
Este o procedimento geral para resolver problemas de programao linear. sempre usado um computador, e os programas esto amplamente disponveis. Utilizaremos em nosso curso o aplicativo Solver disponvel nas ferramentas do Excell. Sero apresentados os principais aspectos do mtodo simplex para resolver qualquer problema de programao linear tal que bi > 0 para todo i = 1, 2, ...,m.
Mtodos de Otimizao CIV 7031 1
2- O Mtodo Simplex
O mtodo simplex um algoritmo.
Um algoritmo um processo onde um procedimento sistemtico repetido (iterado) seguidamente at que o resultado desejado seja obtido. Cada percurso do procedimento sistemtico chamado de iterao. Conseqentemente, um algoritmo substitui um problema difcil por uma srie de outros fceis. Alm das iteraes, os algoritmos tambm incluem um procedimento de dar incio e um critrio para determinar quando parar.
Mtodos de Otimizao CIV 7031 2
2- O Mtodo Simplex
Em resumo:
Estrutura dos Algoritmos: Passo de inicializao Passo iterativo Regra de parada Se sim Se no Pare
Mtodos de Otimizao CIV 7031 3
Preparar para iniciar iteraes Repetir quantas vezes necessrio Foi obtido o resultado desejado?
2- O Mtodo Simplex
Aplicao do mtodo simplex ao problema da Wyndor Glass Co. Estabelecimento do Mtodo Simplex
muito mais conveniente lidar com equaes do que com relaes de desigualdade. Por isso, o primeiro passo para se estabelecer o mtodo simplex converter as restries funcionais de desigualdade em restries equivalentes de igualdade. Isto feito introduzindo variveis de folga.
2- O Mtodo Simplex
Consideremos a primeira restrio do exemplo:
x1 e 4
A varivel de folga para esta restrio : Portanto,
x3 ! 4 x1
x1 x3 ! 4
A constate original x1<4 se mantm sempre que x3>0. Conseqentemente, x1<4 inteiramente equivalente ao conjunto de restries e
x1 x3 ! 4 x3 u 0
2- O Mtodo Simplex
Pela introduo de variveis de folga de maneira idntica para as outras variveis funcionais, o modelo de programao linear original pode agora ser substitudo pelo modelo equivalente. Maximizar Z = 3x1+5x2 sujeito a
(1) (2) (3)
x1 2x2 3x1+2x2
+ x3
= 4 +x4 = 12 +x5 = 18
2- O Mtodo Simplex
Note-se que o novo sistema de restries funcionais tem duas variveis mais que equaes. (3 equaes e 5 variveis) Isto nos d dois graus de liberdade na soluo do sistema, uma vez que quaisquer duas variveis podem ser escolhidas para serem consideradas igual a qualquer valor arbitrrio a fim de resolver as trs equaes em termos das trs variveis restantes. O mtodo simplex usa o zero para este valor arbitrrio. As variveis consideradas zero so chamadas de variveis nobsica. As outras so chamadas de variveis bsicas. A soluo resultante chamada de soluo bsica. Se todas as variveis bsicas forem no-negativas, tratar-se- de uma soluo bsica vivel. Pela teoria da programao linear, uma soluo tima tem que ser uma soluo bsica vivel.
Mtodos de Otimizao CIV 7031 7
2- O Mtodo Simplex
conveniente considerar e manipular a equao da funo-objetivo ao mesmo tempo que as novas equaes de restrio. Por isso, antes de comear o mtodo simplex o problema escrito mais uma vez de maneira equivalente como: Maximizar Z, sujeito a (0)Z - 3x1- 5x2 = 0 (1) x1 + x3 = 4 (2) 2x2 +x4 = 12 (3) 3x1+2x2 +x5 = 18 e xj > 0, para j = 1,2,...,5
Mtodos de Otimizao CIV 7031 8
2- O Mtodo Simplex
Agora podemos resumir simplesmente a idia bsica do mtodo simplex.
O sistema de equaes resolvido repetidamente para uma seqncia de solues bsicas viveis, cada uma melhor que a sua predecessora, at que seja alcanada uma soluo (bsica vivel) tima. Cada nova soluo bsica vivel obtida a partir de sua predecessora, transformando uma varivel no-bsica em varivel bsica (a varivel bsica entrando) e transformado uma varivel bsica numa varivel no-bsica ( a varivel bsica saindo). Duas destas solues bsicas viveis diferindo apenas por uma nica troca de variveis bsica e no-bsica so chamadas de adjacentes.
Mtodos de Otimizao CIV 7031 9
2- O Mtodo Simplex
Resumo do Mtodo Simplex Passo de inicializao Passo iterativo Regra de parada Identificar uma soluo bsica vivel inicial Mover-se para a melhor soluo bsica vivel adjacente Parar quando no houver nenhuma soluo bsica vivel adjacente melhor.
2- O Mtodo Simplex
Passo de inicializao:
Introduza variveis de folga (x3,x4,x5) como descrito acima. Selecione as variveis originais (x1,x2) para serem as variveis no-bsicas originais, iguale a zero e considere as variveis de folga como sendo as variveis bsicas iniciais. Quando estiver resolvendo um problema mo, conveniente usar a forma tabular do mtodo simplex.
11
2- O Mtodo Simplex
Passo de inicializao:
1. 2. 3.
O quadro simplex para registro de informaes inclui: Os coeficientes das variveis As constantes do lado direito das equaes e A varivel bsica que aparece em cada equao. O quadro simplex para o exemplo mostrado abaixo:
oefic iente de Varivel q. bs ic a No. 1 x3 x x 1 2 3 x1 x2 x3 x x -3 1 1 2 1 3 2 1 Lado direito
12 1
12
2- O Mtodo Simplex
Passo de inicializao:
Uma vez que cada equao contm apenas uma varivel bsica, a qual tem um coeficiente de +1, cada varivel bsica igual constante do lado direito de sua equao. Assim, a soluo bsica vivel inicial para o exemplo (x1,x2,x3,x4,x5) = (0,0,4,12,18). a seguir para a regra de para parada para determinar se essa soluo tima
13
2- O Mtodo Simplex
Regra de parada:
A atual soluo bsica vivel tima se e somente se cada coeficiente na Eq. (0) for no-negativo (> 0). Se assim , pare; de outro modo, v para o passo iterativo para obter a prxima soluo bsica vivel a qual envolve transformar uma varivel no-bsica numa varivel bsica (parte 1) e vice-versa (parte 2) e ento resolva para a nova soluo (parte 3). O exemplo possui dois coeficientes negativos, portanto, v para o passo iterativo.
14
2- O Mtodo Simplex
Passo iterativo:
Parte 1:
Determine a varivel bsica entrando selecionando a varivel com o maior coeficiente negativo na Eq. (0). Faa um retngulo circunscrevendo a coluna abaixo deste coeficiente que ser chamada de coluna piv. Determine a varivel bsica saindo
1.
Parte 2:
2.
3.
4.
selecionando cada coeficiente na coluna circunscrita que seja estritamente positivo. Dividindo o valor lado direito de cada linha pelo coeficiente correspondente. Identificando as equaes que tenham as menores destas razes. Selecionando a varivel bsica para esta equao.
Mtodos de Otimizao CIV 7031 15
2- O Mtodo Simplex
Passo iterativo:
Parte 2:
Faa um retngulo circunscrevendo esta linha da equao no quadro direita da coluna Z, e chame a linha circunscrita de linha piv. Chame tambm o nmero que est em ambos os retngulos de nmero piv.
16
2- O Mtodo Simplex
Passo iterativo:
Parte 3:
Determine a nova soluo bsica vivel a partir da construo de um novo quadro simplex abaixo do atual. As trs primeiras colunas no so modificadas com exceo de que a varivel bsica saindo na primeira coluna substituda pela varivel bsica entrando. O coeficiente da nova varivel bsica dever ser mudado para +1, dividindo-se toda a linha piv pelo nmero piv, de modo que: Nova linha piv = antiga linha piv nmero piv
17
2- O Mtodo Simplex
Varivel bsica que entra Maior coeficiente negativo Varivel Bsica que sai
Coeficiente de i el i Z x3 x4 x5 o 0 1 2 3 x x2 -3 -5 1 0 0 2 3 2
1 0 0 0
Linha piv
2- O Mtodo Simplex
Iterao 1
oeficiente de ari el Eq. i a o. 0 x3 1 x4 2 x5 3 x1 -3 1 0 3 x2 -5 0 2 2 x3 0 1 0 0 x4 0 0 1 0 x5 0 0 0 1 Lado direito 0 4 12 18
Nova linha piv = antiga linha piv nmero piv
1 0 0 0
x3 x2 x5
0 1 2 3
1 0 0 0
0 1/2 0
Para eliminar a nova varivel bsica das outras equaes, todas as Linhas (inclusive da Eq.0), exceto a linha piv, so modificadas para Usando se a seguinte frmula: Nova linha = antiga linha (coeficiente da coluna piv)x nova linha piv
Mtodos de Otimizao CIV 7031 19
2- O Mtodo Simplex
As nova linhas do exemplo so: inha 0 [ -3 -(-5) [ 0 Nova linha= [ -3 -5 1 0 0 0 0 0 1/2 5/2 0, 0, 0, 0] 6] 30]
inha 1. No modificada pois o coeficiente da coluna piv zero inha 3 [3 -(2) [ 0 Nova linha= [ 3 2 1 0 0 0 0 0 1/2 -1 1, 0, 1, 18] 6] 6]
2- O Mtodo Simplex
Coeficiente de
Iterao 1
ari el ica Z x3 x4 x5
q. o. Z x 1 0 1 -3 1 0 1 2 0 0 3 0 3
x2 -5 0 2 2
x3 0 1 0 0
x4 0 0 1 0
x5 0 0 0 1
Lado direito 0 4 12 18
Z x3 x2 x5
0 1 2 3
1 -3 0 0 1 0 0 0 1 0 3 0
0 1 0 0
5/2 0 1/2 -1
0 0 0 1
30 4 6 6
Uma vez que cada varivel bsica igual ao lado direito de sua equao, a nova soluo vivel (0, 6, 4, 0, 6), com Z=30 Como a Eq.0 ainda possui um coeficiente negativo a soluo ainda no tima e deve ser feita uma nova iterao.
Mtodos de Otimizao CIV 7031 21
2- O Mtodo SimplexRazo
/2
Iterao 1
x x2 x
/2 -
Linha 3 = Esta a nova linha piv Nova linha= 1/3 [ 3 0 0 = [1 0 0 Linha 0 [ -3 -(-3) [1 Nova linha = [ 0 Linha 1 [1 -(1) [1 Nova linha = [ 0 0 0 0 0 0 0 0 0 0 1 0 1
4=4 1 6= 2 (mn) 3
1, 1/3, 0, 1/3, 1, 0, 1/3, -1/3, 6] 2] 30] 2] 36] 4] 2] 2]
22
2- O Mtodo Simplex
Iterao 0
Coeficiente de ari el ica Z x3 x4 x5 q. o. Z x 1 0 1 -3 1 0 1 2 0 0 3 0 3 x2 -5 0 2 2 x3 0 1 0 0 x4 0 0 1 0 x5 0 0 0 1 Lado direito 0 4 12 18
Z x3 x2 x5 Z x3 x2 x1
0 1 2 3 0 1 2 3
30 4
36 2 6 2
23
24
2- O Mtodo Simplex
Preos-Sombra:
Alm de encontrar a soluo tima, o mtodo simplex tambm fornece outras informaes valiosas para anlises adicionais no modelo. Os problemas de programao linear podem ser tipicamente interpretados como alocao de recursos a atividades, onde bi representa a quantidade dos recursos feitos disponveis para as atividades em considerao. Como pode haver alguma variao nas quantidades que so colocadas disposio, freqentemente seria extremamente til ter informaes sobre a contribuio econmica dos recursos.
25
2- O Mtodo Simplex
Preos-Sombra:
Por definio:
O preo-sombra para o recurso i (denotado por yi*) mede o valor marginal deste recurso, isto a taxa qual Z poderia ser aumentado, aumentando (ligeiramente) a quantidade deste recurso (bi) feito disponvel. O mtodo-simplex identifica este preo-sombra como yi* = coeficiente da i-sima varivel de folga da Eq. (0) do quadro simplex final.
26
2- O Mtodo Simplex
Preos-Sombra:
y1* = 0 = preo-sombra do recurso 1, y2* = 3/2 = preo-sombra do recurso 2, y3* = 1 = preo-sombra do recurso 3,
Onde esses recursos so as capacidades de produo disponveis das fbricas 1, 2 e 3. Pode-se verificar que aumentando de uma unidade cada bi, de fato aumentaria de yi* o valor timo de Z. Nos trs casos respectivos, tem-se:
(1) (2) (3)
x1=2, x2=6 com Z = 36 ((Z = 0 = yi* ) x1=5/3, x2=13/2 com Z = 37 1/2 ((Z = 3/2 = y2* ) x1=7/3, x2=6 com Z = 37 ((Z = 1 = y3* )
Mtodos de Otimizao CIV 7031 27
A parte 1 do passo iterativo escolhe a varivel nobsica que tenha o coeficiente negativo maior. Como deveria ser feito o desempate caso duas ou mais variveis no-bsicas tenham o maior coeficiente negativo? A resposta que a seleo entre estes coeficientes pode ser feita arbitrariamente. A soluo tima ser encontrada eventualmente, no importando a varivel empatada escolhida. A diferena estar no nmero de iteraes necessrias para se chegar a soluo tima. No h um mtodo conveniente para predizer antecipadamente que escolha conduzir mais rapidamente soluo tima.
Mtodos de Otimizao CIV 7031 28
Suponha agora que duas ou mais variveis bsicas empatem para ser a varivel bsica saindo na parte 2 do passo iterativo. Ser que importa qual delas escolhida? Teoricamente sim, podendo gerar um Z que no aumente a cada iterao. Foram construdas regras especiais para desempates, entretanto estas regras tm sido virtualmente ignoradas na aplicao atual. Para nossos propsitos, vamos simplesmente fazer o desempate arbitrariamente.
Mtodos de Otimizao CIV 7031 29
Isto ocorre se a varivel bsica entrando pudesse ser aumentada indefinidamente sem dar valores negativos a qualquer das variveis bsicas atuais. Na foram tabular, isto significa que todo o coeficiente na coluna piv [excluindo a Eq. (0)] negativo ou zero.
arivel bs ic a Z x q. o. Z x x x ado direito
A interpretao de uma tal ocorrncia que as restries no previnem o aumento do valor da funoobjetivo (Z) indefinidamente na direo favorvel. Uma vez que nem a programao linear descobriu um modo de ter lucros infinitos, para problemas prticos deve ter havido algum engano!
Mtodos de Otimizao CIV 7031 30
Toda a vez que um problema tem mais que uma soluo bsica vivel tima, pelo menos uma das variveis no-bsicas tem um coeficiente de zero na Eq. (0) final. Portanto, qualquer aumento nessa varivel no mudaria o valor de Z. Por isso, essas outras solues timas podem ser identificadas perfazendo-se iteraes adicionais do mtodo simplex, escolhendo a cada vez uma varivel no-bsica com um coeficiente zero como a varivel bsica entrando.
31
Iterao 0
Extra
Z x1 x4 x5 Z x1 x4 x2 Z 3 2 x1
0 1 2 3 0 1 2 3 0 1 2 3
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 1 0 0 0 1
12 4 12 6 18 4 6 3 18 2 2 6
Solues timas
32
Restries de Igualdade
Qualquer restrio de igualdade: ai1x1+ ai2x2+ ... + ainxn = bi Equivale a um par de restries de desigualdade: ai1x1+ ai2x2+ ... + ainxn < bi ai1x1+ ai2x2+ ... + ainxn > bi Entretanto, em lugar de fazer esta substituio, mais conveniente usar a tcnica da varivel artificial. A tcnica da varivel artificial introduz uma varivel artificial no-negativa (a qual chamamos de i ) nesta equao, exatamente como se fosse uma varivel de folga!
Mtodos de Otimizao CIV 7031 34
Restries de Igualdade
Em nosso exemplo, caso a restrio de desigualdade 3x1+2x2 <18 fosse igualdade 3x1+2x2 = 18, o conjunto de equaes se tornaria : (0)Z - 3x1- 5x2 = 0 (1) x1 + x3 = 4 (2) 2x2 +x4 = 12 (3) 3x1+2x2 = 18, desta forma estas equaes no possuem uma soluo vivel inicial bvia porque no existe mais uma varivel de folga para ser usada como a varivel bsica inicial para a Eq.(3). A tcnica muda a Eq.(3) para: (3) 3x1+2x2 + x5 = 18, com uma soluo bsica vivel original (x1,x2,x3,x4,x5)= (0,0,4,12,18)
35
Restries de Igualdade
Suponha que seja permitido ao mtodo simplex prosseguir e obter uma soluo tima para o problema revisado e que acontea de essa soluo ser vivel para o problema original. No h garantia de que a soluo tima para o problema revisado tambm seja vivel para o problema original. Para que se tenha esta garantia, utilizado o mtodo do grande M, que aplica uma penalidade to esmagadora para quando estiver fora da regio vivel para o problema original. Portanto, se a funo-objetivo Z = 3x1+5x2 temos: Z = 3x1+5x2- Mx5 onde, M denota algum nmero muito grande. O valor de Z tem que ocorrer quando X5=0. Ajustando a Eq. (0) tem-se: Z - 3x1- 5x2 + Mx5 = 0
Mtodos de Otimizao CIV 7031 36
Restries de Igualdade
Na forma tabular: L0= [-3 -5 0 0 M, 0] Pelo mtodo, toda a varivel bsica deve ter o coeficiente zero, e x5 uma varivel bsica. realizada a seguinte operao: Linha 0 [ -3 -5 0 0 M, 0] -M [ 3 2 0 0 1, 18] -> Eq.(3) Nova linha = [(-3M-3),(-2M-5), 0 0 0, -18M] Isto completa o trabalho adicional no passo de inicializao e o resto do mtodo simplex prossegue como antes. Para o nosso exemplo temos:
Mtodos de Otimizao CIV 7031 37
Iterao 0
Coeficiente de Varivel Eq. Lado bsica No. Z x1 direito x2 x3 x4 x5 Z 0 1 (-3M-3) (-2M-5) 0 0 0 -18M x3 1 0 1 0 1 0 0 4 x4 2 0 0 2 0 1 0 12 x5 3 0 3 2 0 0 1 18 0 (-6M+12) Z 0 1 0 (-2M-5) (3M+3) 0 x1 1 0 1 0 1 0 0 4 x4 2 0 0 2 0 1 0 12 x5 3 0 0 2 -3 0 1 6 Z 0 1 0 0 -9/2 0 (M+5/2) 27 x1 1 0 1 0 1 0 0 4 x4 2 0 0 0 3 1 -1 6 x2 3 0 1 0 -3/2 0 1/2 3 Z 0 1 0 0 0 3/2 (M+1) 36 x3 1 0 0 0 1 -1/3 1/3 2 x2 2 0 0 1 0 1/3 -1/3 2 x1 3 0 0 0 1/2 0 6 Mtodos1 Otimizao CIV 7031 de
38
39
Ento o valor negativo de x1 indica que o produto deve ser reduzido nesta quantidade. Estas redues poderiam permitir uma taxa de produo maior para um outro produto mais lucrativo.
Qualquer problema contendo variveis que possam ser negativas tem que ser convertido num problema equivalente envolvendo variveis no-negativas A modificao requerida para cada varivel depende se ela tem ou no um limite inferior nos valores permitidos.
Mtodos de Otimizao CIV 7031 42
43
Z = 3x1 + 5x2
<4 X2< 12 X1 + X2< 18 X2> 0 (somente) X1