1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães...

42
1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães [email protected]

Transcript of 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães...

Page 1: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

1

Programação Linear

Pesquisa Operacional

Profa. Leila Jane Brum Lage Sena

Guimarães

[email protected]

Page 2: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

2

Tema da aula 12

Pesquisa Operacional:

Método Simplex

Page 3: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

3

Método Simplex

O método Simplex é um algoritmo que permite resolver problemas de Programação Linear.

A idéia básica do método Simplex consiste em resolver repetidas vezes um sistema de equações lineares para obter uma sucessão de soluções básicas, cada uma "melhor" do que a anterior, até se chegar a uma solução básica ótima.

Page 4: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Problema de PLUm empreendedor decidiu comerciar barcos.

Depois de empregar alguns trabalhadores e de descobrir os preços aos quais venderia os modelos, chegou às seguintes observações: cada modelo comum rende um lucro de R$ 520,00, e cada modelo rápido rende um lucro de R$ 450,00. Um modelo comum requer 40 horas para ser construído e 24 horas para o acabamento. Cada modelo rápido requer 25 horas para a construção e 30 horas para o acabamento. Este empreendedor dispõe de 400 horas de trabalho por mês para a construção e 360 horas para o acabamento. Quanto deve produzir de cada um dos modelos de maneira a maximizar o lucro?

4

Page 5: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

ModeloComum

ModeloRápido

Disponibilidade

Horas construção 40 25 400

Horas acabamento 24 30 360

Lucro 520 450

Montagem do Modelo

–Variáveis de decisão• x1: quantidade de barcos a produzir do Modelo

Comum• x2: quantidade de barcos a produzir do Modelo

Rápido

–Função-objetivo: Maximizar o lucro. 5

Page 6: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

– Conjunto de restrições

• Tempo para construção

• Tempo para acabamento

utilização de recurso disponibilidade do recurso

1 240x 25x 400

1 224x 30x 360

6

Page 7: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Modelo

1 2

1 2

1 2

1 2

Maximizar L = 520x 450x

40x 25x 400

sujeito a: 24x 30x 360

x 0, x 0

Restrições de não-

negatividade

7

Page 8: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

1 2 3 4

1 2 3

1 2 4

1 2 3 4

Maximizar L = 520x 450x 0x 0x

40x 25x x 400

sujeito a: 24x 30x x 360

x 0, x 0, x 0, x 0

Passo 1: Introduzir as variáveis de folga.

1ª Iteração

Procedimento do Método Simplex

8

Page 9: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 2: Montagem do quadro de cálculos.

0x450x520L 21

BASE x1 x2 x3 x4 b

x3

x4

L

24 30 0 1 360

-520 -450 0 0 0

40 25 1 0 400

9

Page 10: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 3: Escolha da solução básica viável inicial.

– Variáveis não-básicas:

– Variáveis básicas:

– Função objetivo:

0xx 21

360x

400x

4

3

0L

BASE x1 x2 x3 x4 b

x3

x4

L

24 30 0 1 360

-520 -450 0 0 0

40 25 1 0 400

10

Page 11: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

40 25 1 0 400

BASE x1 x2 x3 x4 b

x3

x4

L

Passo 4: Variável que deve entrar na base.

– Qual é o produto que mais contribui para o lucro?

24 30 0 1 360

-520 -450 0 0 0

X1

11

Page 12: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 5: Variável que deve sair da base.

Divisões:1ª linha:2ª linha:

O menor quociente ocorreu na 1ª linha. Logo, a variável que deve sair é : X3

1040/400 1524/360

12

Page 13: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x3 40 25 1 0 400

x4 24 30 0 1 360

L -520 -450 0 0 0

Pivô

13

Page 14: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1 1

x4 0

L 0

Passo 6: Transformação da matriz.

Deverão ser realizadas as operações com as linhas da matriz, de forma que a coluna de X1 venha a se tornar um vetor identidade, com o elemento 1 na 1ª linha.Entra X1

no lugar de X3

14

Page 15: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

1 0,625 0,025 0 10

BASE x1 x2 x3 x4 b

x1

x4

L

1ª operação: Dividir a 1ª linha por 40.

24 30 0 1 360

-520 -450 0 0 0

15

Page 16: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

24 30 0 1 360

BASE x1 x2 x3 x4 b

x1

x4

L

1 0,625 0,025 0 10

2ª operação: Substituir a 2ª linha pela soma dela mesma com a 1ª linha multiplicada por (-24).

122 L24LL

-520 -450 0 0 0

16

Page 17: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x4

L -520 -450 0 0 0

1 0,625 0,025 0 100 15 -0,6 1 120

17

Page 18: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x4 0 15 -0,6 1 120

L -520 -450 0 0 0

3ª operação: Substituir a 3ª linha pela soma dela mesma com a 1ª linha multiplicada por 520.

133 L520LL

1 0,625 0,025 0 10

18

Page 19: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x4

L

Assim, obtemos o seguinte quadro:

1 0,625 0,025 0 100 15 -0,6 1 120

0 -125 13 0 5200

19

Page 20: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Nova solução: (voltar para o passo 3)

– Variáveis não-básicas:

– Variáveis básicas:

– Função objetivo:

0xx 32

120x

10x

4

1

5200L

BASE x1 x2 x3 x4 b

x1

x4

L

1 0,625 0,025 0 100 15 -0,6 1 120

0 -125 13 0 5200

20

Page 21: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1 1 0,625 0,025 0 10

x4 0 15 -0,6 1 120

L 0 -125 13 0 5200

Passo 4: Variável que deve entrar na base.

– Qual é o produto que mais contribui para o lucro?X2

2ª Iteração

21

Page 22: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 5: Variável que deve sair da base:

Divisões:1ª linha:2ª linha:

O menor quociente ocorreu na 2ª linha.Logo, a variável que deve sair é: X4

16625,0/10 815/120

22

Page 23: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1 1 0,625 0,025 0 10

x4 0 15 -0,6 1 120

L 0 -125 13 0 5200

Pivô

23

Page 24: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1 1 0

x4 0 1

L 0 0

• Passo 6: Transformação da matriz.

Encontrar o vetor identidade para a variável com o elemento 1 na 2ª linha.2x

24

Page 25: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1 1 0,625 0,025 0 10

x4 0 15 -0,6 1 120

L 0 -125 13 0 5200

1ª operação: Dividir a 2ª linha por 15.

25

Page 26: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x4

L

1 0,625 0,025 0 10

0 1 -0,04 1/15 8

0 -125 13 0 5200

26

Page 27: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

2ª operação: Substituir a 1ª linha pela soma dela mesma com a 2ª linha multiplicada por (-0,625).

211 L625,0LL

BASE x1 x2 x3 x4 b

x1

x4

L

1 0,625 0,025 0 10

0 1 -0,04 1/15 8

0 -125 13 0 5200

27

Page 28: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1 1 0 0,05 -0,042 5

x4

L

0 1 -0,04 1/15 8

0 -125 13 0 5200

28

Page 29: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

3ª operação: Substituir a 3ª linha pela soma dela mesma com a 2ª linha multiplicada por 125.

233 L125LL

BASE x1 x2 x3 x4 b

x1 1 0 0,05 -0,042 5

x4

L

0 1 -0,04 1/15 8

0 -125 13 0 5200

29

Page 30: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x2

L

Assim, obtemos o seguinte quadro:

1 0 0,05 -0,042 50 1 -0,04 1/15 8

0 0 8 125/15 6200

30

Page 31: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x2

L

Assim, obtemos o seguinte quadro:

1 0 0,05 -0,042 50 1 -0,04 1/15 8

0 0 8 125/15 6200

31

Page 32: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

BASE x1 x2 x3 x4 b

x1

x2

L

Assim, obtemos o seguinte quadro:

1 0 0,05 -0,042 50 1 -0,04 1/15 8

0 0 8 125/15 6200

32

Page 33: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Nova solução: (voltar para o passo 3)

– Variáveis não-básicas:

– Variáveis básicas:

– Função objetivo:

0xx 43

8x

5x

2

1

6200L

BASE x1 x2 x3 x4 b

x1

x2

L

1 0 0,05 -0,042 50 1 -0,04 1/15 8

0 0 8 125/15 6200

33

Page 34: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Nova solução: (voltar para o passo 3)

– Variáveis não-básicas:

– Variáveis básicas:

– Função objetivo:

0xx 43

8x

5x

2

1

6200L

BASE x1 x2 x3 x4 b

x1

x2

L

1 0 0,05 -0,042 50 1 -0,04 1/15 8

0 0 8 125/15 6200

34

Page 35: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 4: Ao procurarmos a próxima variável que deve entrar na base, verificamos que todos os coeficientes da 3ª linha são positivos ou nulos, o que significa que qualquer aumento no valor das variáveis não-básicas faria diminuir o valor de L. Logo, concluímos que a solução encontrada é ótima.

3ª Iteração

35

Page 36: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Resposta (Solução ótima)

5 barcos modelo comum8 barcos modelo rápidoLucro = 6200 reais

36

Page 37: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 1: Introduzir as variáveis de folga; uma para cada desigualdade.

Passo 2: Montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com os respectivos sinais e, na última linha, incluir os coeficientes da função objetivo transformada.

Passo 3: Estabelecer uma solução básica inicial, usualmente atribuindo valor zero às variáveis originais e achando valores positivos para as variáveis de folga.

Procedimento do Método Simplex (Problemas de Maximização)

37

Page 38: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 4: Como próxima variável a entrar na base, escolher a variável não básica que oferece, na última linha, a maior contribuição para o aumento da função objetivo (ou seja, tem o maior valor negativo). Se todas as variáveis que estão fora da base tiverem coeficientes nulos ou positivos nesta linha, a solução atual é ótima. Se alguma dessas variáveis tiver coeficiente nulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da função objetivo. Isso quer dizer que temos uma solução ótima, com o mesmo valor da função Objetivo.

38

Page 39: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 5: Para escolher a variável que deve deixar a base, deve-se realizar o seguinte procedimento:

a) Dividir os elementos da última coluna pelos correspondentes elementos positivos da coluna da variável que vai entrar na base. caso não haja elemento algum positivo nesta coluna, o processo deve parar, já que a solução seria ilimitada.

b) O menor quociente indica a equação cuja respectiva variável básica deverá ser anulada, tornando-se variável não básica.

39

Page 40: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

Método Simplex

Passo 6: Usando operações válidas com as linhas da matriz, transformar o quadro de cálculos de forma a encontrar a nova solução básica. A coluna da nova variável básica deverá se tornar um vetor identidade, onde o elemento 1 aparece na linha correspondente à variável que está sendo anulada.

Passo 7: Retornar ao passo 4 para iniciar outra iteração.

40

Page 41: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

41

Memória de aula

1. Formulação de um problema utilizando modelos matemáticos.

1. Algoritmo Simplex.Passo 1: Introduzir as variáveis de folga.

Passo 2: Montagem do quadro de cálculos.

Passo 3: Escolha da solução básica viável inicial.

Passo 4: Variável que deve entrar na base.

Passo 5: Variável que deve sair da base.

Passo 6: Transformação da matriz.

Passo 7: Nova solução (voltar para o passo 3 até encontrar a solução ótima).

Page 42: 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães leila_lage@uol.com.br.

42

Bibliografia indicada

LISBOA, Erico Fagundes Anicet. Rio de Janeiro, 2002. versão digital disponível na Internet (http://www.ericolisboa.eng.br).

ANDRADE, Eduardo Leopoldino de. Introdução à Pesquisa Operacional: métodos e modelos para a análise de decisão. Rio de Janeiro: Editora LTC, 2005.

LACHTERMACHER, Gerson. Pesquisa Operacional na Tomada de Decisões: modelagem em Excel. Rio de Janeiro: Editora Elsevier, 2004.