1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães...
Transcript of 1 Programação Linear Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães...
1
Programação Linear
Pesquisa Operacional
Profa. Leila Jane Brum Lage Sena
Guimarães
2
Tema da aula 12
Pesquisa Operacional:
Método Simplex
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Método Simplex
Resposta (Solução ótima)
5 barcos modelo comum8 barcos modelo rápidoLucro = 6200 reais
36
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
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
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
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
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).
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.