Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para...

44
Métodos de Otimização CIV 7031 1 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado um computador, e os programas estão amplamente disponíveis. Utilizaremos em nosso curso o aplicativo Solver disponível nas ferramentas do Excell. Serão apresentados os principais aspectos do método simplex para resolver qualquer problema de programação linear tal que b i > 0 para todo i = 1, 2, ...,m.

Transcript of Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para...

Page 1: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 1

2- O Método Simplex

Objetivo: Este é o procedimento geral para resolver problemas

de programação linear. É sempre usado um computador, e os programas estão

amplamente disponíveis. Utilizaremos em nosso curso o aplicativo Solver

disponível nas ferramentas do Excell. Serão apresentados os principais aspectos do

método simplex para resolver qualquer problema de programação linear tal que bi > 0 para todo i = 1, 2, ...,m.

Page 2: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 2

2- O Método SimplexO método simplex é um algoritmo. Um algoritmo é um processo onde um procedimento

sistemático é repetido (iterado) seguidamente até que o resultado desejado seja obtido.

Cada percurso do procedimento sistemático é chamado de iteração.

Conseqüentemente, um algoritmo substitui um problema difícil por uma série de outros fáceis.

Além das iterações, os algoritmos também incluem um procedimento de dar início e um critério para determinar quando parar.

Page 3: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 3

2- O Método SimplexEm resumo:

Estrutura dos Algoritmos:

Passo de inicialização Preparar para iniciar iterações

Passo iterativo Repetir quantas vezes necessário

Regra de parada Foi obtido o resultado desejado?

Se simSe não Pare

Page 4: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 4

2- O Método SimplexAplicação do método simplex ao problema da Wyndor Glass Co.Estabelecimento do Método Simplex É muito mais conveniente lidar com equações do que

com relações de desigualdade. Por isso, o primeiro passo para se estabelecer o método

simplex é converter as restrições funcionais de desigualdade em restrições equivalentes de igualdade.

Isto é feito introduzindo variáveis de folga.

Page 5: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 5

2- O Método SimplexConsideremos a primeira restrição do exemplo:

A variável de folga para esta restrição é:

Portanto,

A constate original x1<4 se mantém sempre que x3>0. Conseqüentemente, x1<4 é inteiramente equivalente ao conjunto de restrições

e

41 x

13 4 xx

431 xx03 x

431 xx

Page 6: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 6

Pela introdução de variáveis de folga de maneira idêntica para as outras variáveis funcionais, o modelo de programação linear original pode agora ser substituído pelo modelo equivalente.

Maximizar Z = 3x1+5x2

sujeito a(1) x1 + x3 = 4(2) 2x2 +x4 = 12(3) 3x1+2x2 +x5 = 18

e

xj > 0, para j = 1,2,...,5

 

2- O Método Simplex

Page 7: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 7

Note-se que o novo sistema de restrições funcionais tem duas variáveis mais que equações. (3 equações e 5 variáveis)Isto nos dá dois graus de liberdade na solução do sistema, uma vez que quaisquer duas variáveis podem ser escolhidas para serem consideradas igual a qualquer valor arbitrário a fim de resolver as três equações em termos das três variáveis restantes.O método simplex usa o zero para este valor arbitrário.As variáveis consideradas zero são chamadas de variáveis não-básica.As outras são chamadas de variáveis básicas.A solução resultante é chamada de solução básica.Se todas as variáveis básicas forem não-negativas, tratar-se-á de uma solução básica viável.Pela teoria da programação linear, uma solução ótima tem que ser uma solução básica viável.

2- O Método Simplex

Page 8: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 8

É conveniente considerar e manipular a equação da função-objetivo ao mesmo tempo que as novas equações de restrição. Por isso, antes de começar o método 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

exj > 0, para j = 1,2,...,5

2- O Método Simplex

Page 9: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 9

Agora podemos resumir simplesmente a idéia básica do método simplex.

O sistema de equações é resolvido repetidamente para uma seqüência de soluções básicas viáveis, cada uma melhor que a sua predecessora, até que seja alcançada uma solução (básica viável) ótima.

Cada nova solução básica viável é obtida a partir de sua predecessora, transformando uma variável não-básica em variável básica (a variável básica entrando) e transformado uma variável básica numa variável não-básica ( a variável básica saindo).

Duas destas soluções básicas viáveis diferindo apenas por uma única troca de variáveis básica e não-básica são chamadas de adjacentes.

2- O Método Simplex

Page 10: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 10

Resumo do Método Simplex

Passo de inicialização Identificar uma solução básica viável inicial

Passo iterativo Mover-se para a melhor solução básica viável adjacente

Regra de parada Parar quando não houver nenhuma solução básica viável adjacente melhor.

Cada uma destas partes do algoritmo será descrita para o exemplo.

2- O Método Simplex

Page 11: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 11

Passo de inicialização: Introduza variáveis de folga (x3,x4,x5) como descrito

acima. Selecione as variáveis originais (x1,x2) para serem as

variáveis não-básicas originais, iguale a zero e considere as variáveis de folga como sendo as variáveis básicas iniciais.

Quando estiver resolvendo um problema à mão, é conveniente usar a forma tabular do método simplex.

2- O Método Simplex

Page 12: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 12

Passo de inicialização: O quadro simplex para registro de informações inclui:1. Os coeficientes das variáveis2. As constantes do lado direito das equações e 3. A variável básica que aparece em cada equação. O quadro simplex para o exemplo é mostrado abaixo:

2- O Método Simplex

Variável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 -3 -5 0 0 0 0x3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18

Coeficiente de

Page 13: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 13

Passo de inicialização: Uma vez que cada equação contém apenas uma

variável básica, a qual tem um coeficiente de +1, cada variável básica é igual à constante do lado direito de sua equação.

Assim, a solução básica viável inicial para o exemplo (x1,x2,x3,x4,x5) = (0,0,4,12,18).

Vá a seguir para a regra de para parada para determinar se essa solução é ótima

2- O Método Simplex

Page 14: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 14

Regra de parada: A atual solução básica viável é ótima se e somente se

cada coeficiente na Eq. (0) for não-negativo (> 0). Se assim é, pare; de outro modo, vá para o passo

iterativo para obter a próxima solução básica viável – a qual envolve transformar uma variável não-básica numa variável básica (parte 1) e vice-versa (parte 2) e então resolva para a nova solução (parte 3).

O exemplo possui dois coeficientes negativos, portanto, vá para o passo iterativo.

2- O Método Simplex

Page 15: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 15

Passo iterativo: Parte 1:

Determine a variável básica entrando selecionando a variável com o maior coeficiente negativo na Eq. (0).

Faça um retângulo circunscrevendo a coluna abaixo deste coeficiente que será chamada de coluna pivô.

Parte 2: Determine a variável básica saindo

1. selecionando cada coeficiente na coluna circunscrita que seja estritamente positivo.

2. Dividindo o valor “lado direito” de cada linha pelo coeficiente correspondente.

3. Identificando as equações que tenham as menores destas razões.

4. Selecionando a variável básica para esta equação.

2- O Método Simplex

Page 16: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 16

Passo iterativo: Parte 2:

Faça um retângulo circunscrevendo esta linha da equação no quadro à direita da coluna Z, e chame a linha circunscrita de linha pivô.

Chame também o número que está em ambos os retângulos de número pivô.

2- O Método Simplex

Page 17: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 17

Passo iterativo: Parte 3:

Determine a nova solução básica viável a partir da construção de um novo quadro simplex abaixo do atual.

As três primeiras colunas não são modificadas com exceção de que a variável básica saindo na primeira coluna é substituída pela variável básica entrando.

O coeficiente da nova variável básica deverá ser mudado para +1, dividindo-se toda a linha pivô pelo número pivô, de modo que:

Nova linha pivô = antiga linha pivô número pivô

2- O Método Simplex

Page 18: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 18

2- O Método Simplex

Variável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 -3 -5 0 0 0 0x3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18

Coeficiente de

Maior coeficiente negativo

Coluna pivôRazão12 = 6 (mín) 218= 92Linha pivô Número pivô

Variável Básica quesai

Variável básica que entra

Page 19: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 19

2- O Método Simplex

Variável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 -3 -5 0 0 0 0x3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18

Coeficiente de

Z 0 1x3 1 0x2 2 0 0 1 0 1/2 0 6x5 3 0

Iteração

1

2 Nova linha pivô = antiga linha pivô número pivô

Para eliminar a nova variável básica das outras equações, todas asLinhas (inclusive da Eq.0), exceto a linha pivô, são modificadas paraUsando se a seguinte fórmula:Nova linha = antiga linha – (coeficiente da coluna pivô)x nova linha pivô

Page 20: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 20

As nova linhas do exemplo são:

Linha 0 [ -3 -5 0 0 0, 0] -(-5) [ 0 1 0 1/2 0, 6]Nova linha= [ -3 0 0 5/2 0, 30]

Linha 1. Não modificada pois o coeficiente da coluna pivô é zero

Linha 3 [ 3 2 0 0 1, 18] -(2) [ 0 1 0 1/2 0, 6]Nova linha= [ 3 0 0 -1 1, 6]

O novo quadro para a iteração 1, é mostrado a seguir:

2- O Método Simplex

Page 21: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 21

2- O Método SimplexVariável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 -3 -5 0 0 0 0x3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18

Coeficiente de

Z 0 1 -3 0 0 5/2 0 30x3 1 0 1 0 1 0 0 4x2 2 0 0 1 0 1/2 0 6x5 3 0 3 0 0 -1 1 6

Iteração

1

2

Uma vez que cada variável básica é igual ao lado direito de sua equação, a nova solução viável é (0, 6, 4, 0, 6), com Z=30Como a Eq.0 ainda possui um coeficiente negativo a solução ainda não é ótima e deve ser feita uma nova iteração.

Page 22: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 22

2- O Método SimplexZ 0 1 -3 0 0 5/2 0 30

x3 1 0 1 0 1 0 0 4x2 2 0 0 1 0 1/2 0 6x5 3 0 3 0 0 -1 1 6

Iteração

1

Razão4 = 4 16= 2 (mín)3Linha 3 = Esta é a nova linha pivô

Nova linha= 1/3 [ 3 0 0 -1 1, 6] = [ 1 0 0 -1/3 1/3, 2]

Linha 0 [ -3 0 0 -5/2 0, 30] -(-3) [1 0 0 -1/3 1/3, 2]

Nova linha = [ 0 0 0 3/2 1, 36]

Linha 1 [ 1 0 1 0 0, 4] -(1) [1 0 0 -1/3 1/3, 2]

Nova linha = [ 0 0 1 1/3 -1/3, 2]

Page 23: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 23

2- O Método SimplexVariável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 -3 -5 0 0 0 0x3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18

Coeficiente de

Z 0 1 -3 0 0 5/2 0 30x3 1 0 1 0 1 0 0 4x2 2 0 0 1 0 1/2 0 6x5 3 0 3 0 0 -1 1 6

Iteração

0

1

2Z 0 1 0 0 0 3/2 1 36

x3 1 0 0 0 1 1/3-1/3 2x2 2 0 0 1 0 1/2 0 6x1 3 0 1 0 0 -1/31/3 2

A solução básica viável é (2, 6, 2, 0, 0) com Z = 36 -> solução ótima

Page 24: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 24

Olha quem voltou!!

Page 25: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 25

Preços-Sombra: Além de encontrar a solução ótima, o método simplex

também fornece outras informações valiosas para análises adicionais no modelo.

Os problemas de programação linear podem ser tipicamente interpretados como alocação de recursos a atividades, onde bi representa a quantidade dos recursos feitos disponíveis para as atividades em consideração.

Como pode haver alguma variação nas quantidades que são colocadas à disposição, freqüentemente seria extremamente útil ter informações sobre a contribuição econômica dos recursos.

2- O Método Simplex

Page 26: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 26

Preços-Sombra:Por definição:

O preço-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 disponível.

O método-simplex identifica este preço-sombra como yi* = coeficiente da i-ésima variável de folga da Eq. (0) do quadro simplex final.

2- O Método Simplex

Page 27: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 27

Preços-Sombra: Em nosso exemplo temos:

y1* = 0 = preço-sombra do recurso 1, y2* = 3/2 = preço-sombra do recurso 2, y3* = 1 = preço-sombra do recurso 3,

Onde esses recursos são as capacidades de produção disponíveis das fábricas 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 três casos respectivos, tem-se:(1) x1=2, x2=6 com Z = 36 (Z = 0 = yi* )(2) x1=5/3, x2=13/2 com Z = 37 1/2 (Z = 3/2 = y2* )(3) x1=7/3, x2=6 com Z = 37 (Z = 1 = y3* )

2- O Método Simplex

Page 28: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 28

Empate para a Variável Básica Entrando: A parte 1 do passo iterativo escolhe a variável não-

básica que tenha o coeficiente negativo maior. Como deveria ser feito o desempate caso duas ou

mais variáveis não-básicas tenham o maior coeficiente negativo?

A resposta é que a seleção entre estes coeficientes pode ser feita arbitrariamente.

A solução ótima será encontrada eventualmente, não importando a variável empatada escolhida.

A diferença estará no número de iterações necessárias para se chegar a solução ótima.

Não há um método conveniente para predizer antecipadamente que escolha conduzirá mais rapidamente à solução ótima.

O Desempate no Método Simplex

Page 29: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 29

Empate para a Variável Básica Saindo - Degeneração

Suponha agora que duas ou mais variáveis básicas empatem para ser a variável básica saindo na parte 2 do passo iterativo.

Será que importa qual delas é escolhida? Teoricamente sim, podendo gerar um Z que não

aumente a cada iteração. Foram construídas regras especiais para

desempates, entretanto estas regras têm sido virtualmente ignoradas na aplicação atual.

Para nossos propósitos, vamos simplesmente fazer o desempate arbitrariamente.

O Desempate no Método Simplex

Page 30: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 30

Variável básica saindo inexistente – Z ilimitado Isto ocorre se a variável básica entrando pudesse ser

aumentada indefinidamente sem dar valores negativos a qualquer das variáveis básicas atuais.

Na foram tabular, isto significa que todo o coeficiente na coluna pivô [excluindo a Eq. (0)] é negativo ou zero.

A interpretação de uma tal ocorrência é que as restrições não previnem o aumento do valor da função-objetivo (Z) indefinidamente na direção favorável.

Uma vez que nem a programação linear descobriu um modo de ter lucros infinitos, para problemas práticos deve ter havido algum engano!

O Desempate no Método Simplex

Variável básica

Eq. No. Z x1 x2 x3

Lado direito

Z 0 1 -3 -5 0 0x3 1 0 1 0 1 4

RazãoNenhum mínimo

Page 31: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 31

Soluções ótimas múltiplas: Toda a vez que um problema tem mais que uma

solução básica viável ótima, pelo menos uma das variáveis não-básicas tem um coeficiente de zero na Eq. (0) final.

Portanto, qualquer aumento nessa variável não mudaria o valor de Z.

Por isso, essas outras soluções ótimas podem ser identificadas perfazendo-se iterações adicionais do método simplex, escolhendo a cada vez uma variável não-básica com um coeficiente zero como a variável básica entrando.

O Desempate no Método Simplex

Page 32: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 32

Variável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 -3 -2 0 0 0 0x3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18

Coeficiente de

Z 0 1 0 -2 3 0 0 12x1 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 0 2 -3 0 1 6

Iteração

0

1

2

Extra

Z 0 1 0 0 0 0 1 18x1 1 0 1 0 1 0 0 4x4 2 0 0 0 3 1 -1 6x2 3 0 1 0 -3/2 0 1/2 3

Para a função-objetivo Z = 3x1+2x2, temos:

Z 0 1 0 0 0 0 1 18x3 1 0 0 0 1 -1/31/3 2x2 2 0 0 1 0 1/3-1/3 2x1 3 0 1 0 0 1/2 0 6

SoluçõesÓtimas

Page 33: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 33

Adaptação para outras formas de modelo

Até o momento foram apresentado detalhes do método simplex, assumindo que o problema esteja na forma padrão, com bi>0 para todo i=1, 2, ..., m.O único problema real que as outras formas para restrições funcionais (=, >, ou bi<0) introduzem está na identificação de uma solução básica viável.A abordagem-padrão que é usada para todos esses casos é a técnica da variável artificial.Esta técnica constrói um problema revisado, introduzindo, em cada restrição que precise uma variável dummy (chamada de variável artificial) com o propósito de ser a variável básica inicial para aquela equação.

Page 34: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 34

Restrições de IgualdadeQualquer restrição de igualdade:

ai1x1+ ai2x2+ ... + ainxn = bi

Equivale a um par de restrições de desigualdade:ai1x1+ ai2x2+ ... + ainxn < bi

ai1x1+ ai2x2+ ... + ainxn > bi

Entretanto, em lugar de fazer esta substituição, é mais conveniente usar a técnica da variável artificial.

A técnica da variável artificial introduz uma variável artificial não-negativa (a qual chamamos de ) nesta equação, exatamente como se fosse uma variável de folga!

ix

Page 35: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 35

Restrições de IgualdadeEm nosso exemplo, caso a restrição de desigualdade 3x1+2x2 <18

fosse igualdade 3x1+2x2 = 18, o conjunto de equações se tornaria :

(0)Z - 3x1- 5x2 = 0(1) x1 + x3 = 4(2) 2x2 +x4 = 12(3) 3x1+2x2 = 18, desta forma estas equações não possuem

uma solução viável inicial óbvia porque não existe mais uma variável de folga para ser usada como a variável básica inicial para a Eq.(3).

• A técnica muda a Eq.(3) para:(3) 3x1+2x2 + x5 = 18, com uma solução básica viável original

(x1,x2,x3,x4,x5)= (0,0,4,12,18)

Page 36: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 36

Restrições de IgualdadeSuponha que seja permitido ao método simplex prosseguir e obter uma solução ótima para o problema revisado e que aconteça de essa solução ser viável para o problema original.Não há garantia de que a solução ótima para o problema revisado também seja viável para o problema original.Para que se tenha esta garantia, é utilizado o método do grande M, que aplica uma penalidade tão esmagadora para quando estiver fora da região viável para o problema original.Portanto, se a função-objetivo é Z = 3x1+5x2 temos:

Z = 3x1+5x2- Mx5 onde,

M denota algum número muito grande. O valor de Z tem que ocorrer quando X5=0. Ajustando a Eq. (0) tem-se:

Z - 3x1- 5x2 + Mx5 = 0

Page 37: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 37

Restrições de IgualdadeNa forma tabular:

L0= [-3 -5 0 0 M, 0]Pelo método, toda a variável básica deve ter o coeficiente

zero, e x5 é uma variável básica.É realizada a seguinte operação:

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 inicialização e o resto do método simplex prossegue como antes. Para o nosso exemplo temos:

Page 38: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 38

Variável básica

Eq. No. Z x1 x2 x3 x4 x5

Lado direito

Z 0 1 (-3M-3) (-2M-5) 0 0 0 -18Mx3 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 3 2 0 0 1 18Z 0 1 0 (-2M-5) (3M+3) 0 0 (-6M+12)

x1 1 0 1 0 1 0 0 4x4 2 0 0 2 0 1 0 12x5 3 0 0 2 -3 0 1 6Z 0 1 0 0 -9/2 0 ´(M+5/2) 27

x1 1 0 1 0 1 0 0 4x4 2 0 0 0 3 1 -1 6x2 3 0 1 0 -3/2 0 1/2 3Z 0 1 0 0 0 3/2 (M+1) 36

x3 1 0 0 0 1 -1/3 1/3 2x2 2 0 0 1 0 1/3 -1/3 2x1 3 0 1 0 0 1/2 0 6

Coeficiente de Iteração

0

1

2

3

Page 39: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 39

Restrições de Desigualdade >A direção de uma desigualdade é sempre revertida quando ambos os lados são multiplicados por (-1).Esta abordagem para a terceira restrição do exemplo fica:

3x1+2x2 > 18-3x1-2x2 < -18-3x1-2x2 +x5= -18

Ainda será necessária uma mudança que será vista a seguir.

Page 40: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 40

Lado Direito NegativoO método simplex pressupõe que bi>0 , no entanto como a terceira restrição o lado direito está negativoMultiplicando a equação por (-1), o lado direito fica positivo mas a variável de folga seria negativa, com isto, seria necessário a inclusão de mais uma variável artificial, assim temos:

3x1+2x2 > 18

3x1+2x2 -x5 = 18 (x5>0)

3x1+2x2 -x5 + x6 = 18 (x5>0, x6>0)

Nesta forma x5 é chamado de variável de excesso.

Page 41: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 41

Soluções Viáveis InexistentesSe não há uma escolha óbvia para a solução básica viável inicial, isto pode ser devido à não haver soluções viáveis como um todo.Contudo, na construção de uma solução “viável” artificial, não há nada que impeça o método simplex de proceder como de costume e finalmente registrar uma solução supostamente ótima.A técnica da variável artificial fornece o seguinte indicador para se saber quando isso aconteceu.Se o problema original não tem soluções viáveis, então qualquer solução ótima para o problema revisado tem pelo menos uma variável artificial não igual a zero.

Page 42: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 42

Variáveis que podem ser negativasNa maioria dos problemas práticos, os valores negativos para as variáveis de decisão não teriam nenhuma significação física.Entretanto, nem sempre este é o caso.Suponha que a variável de decisão x1 represente o aumento na taxa de produção. Então o valor negativo de x1 indica que o produto deve ser

reduzido nesta quantidade. Estas reduções poderiam permitir uma taxa de produção maior

para um outro produto mais lucrativo.Qualquer problema contendo variáveis que possam ser negativas tem que ser convertido num problema equivalente envolvendo variáveis não-negativasA modificação requerida para cada variável depende se ela tem ou não um limite inferior nos valores permitidos.

Page 43: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 43

Variáveis com um limite nos valores negativos permitidos

Para obter o modelo equivalente necessário para uma restrição (x1> -10), esta variável seria redefinida como ( x’1=x1+10), a qual produz as seguintes mudanças na função-objetivo e restrições:

Z = 3x1 + 5x2X1 < 4

X2< 12 X1 + X2< 18 X1> -10,X2> 0

Z = 3(x’1-10) + 5x2 (x’1-10) < 4

X2< 12 3(x’1-10) + X2< 18 (x’1-10) > -10,X2> 0

Z = -30+3x’1 + 5x2 x’1 < 14

X2< 12 x’1 + X2< 48 x’1 > 0,X2> 0

Page 44: Métodos de Otimização CIV 70311 2- O Método Simplex Objetivo: Este é o procedimento geral para resolver problemas de programação linear. É sempre usado.

Métodos de Otimização CIV 7031 44

Variáveis sem limite nos valores negativos permitidos

No caso em que a variável de decisão não tem uma restrição no modelo formulado, a variável é substituída por todo o modelo pela diferença de duas novas variáveis não-negativas. Caso x1 possa assumir qualquer valor, seria efetuada a seguinte substituição:

x1=x’1-x”1, onde X’1> 0, X”1> 0Como mostrado:

Z = 3x1 + 5x2

X1 < 4 X2< 12 X1 + X2< 18 X2> 0 (somente)

Z = 3x’1-3x”1 + 5x2

x’1-x”1 < 4 X2< 12 3x’1-3x”1 + X2< 18 X’1> 0, X”1> 0,X2> 0