Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Ciência da Computação
Pesquisa Operacional
Pesquisa Operacional
Professor: Fernando Stela
E-mail: fernando.stela@docente.unip.br
1
mailto:fernando.stela@docente.unip.br
Ciência da Computação
Pesquisa Operacional
Método Simples
O que é o 
método simplex
Teste de 
Otimalidade
Forma Algébrica 
e Tabular
Algoritmo 
SIMPLEX
2
Ciência da Computação
Pesquisa Operacional
Método Simplex
O método simplex é um método sequencial de otimização e pode ser empregado, 
tanto para maximizar como minimizar uma resposta.
Esse método é formado por um grupo de critérios para escolha de soluções 
básicas que melhorem o desempenho do modelo, e também de um teste de 
otimalidade. 
Para isso o problema deve apresentar uma solução básica inicial e as soluções 
básicas subsequentes são calculadas com a troca de variáveis básicas por não 
básicas, gerando novas soluções
Ciência da Computação
Pesquisa Operacional
Breve Histórico
Foi desenvolvido por 1947 George Dantzig capaz de resolver qualquer problema de Programação 
Linear.
Desenvolvido quando Dantzig trabalhava na Rand Corporation no projeto SCOOP (Scientific 
Computation of Optimal Programs) para a Força Aérea Americana para resolver problema militares
O algoritmo simplex implica em uma quantidade muito grande de cálculos e, nos primeiros anos de 
uso, ele se apoiou exclusivamente na resolução manual.
Com o surgimento do computador em 1951, a programação linear encontrou seu aliado natural e foi 
expandido de uma maneira extraordinária.
Ciência da Computação
Pesquisa Operacional
Método Simplex
• Um procedimento para solucionar problemas de 
programação linear
• É um procedimento algébrico e utiliza conceitos geométricos
• Transforma o sistema de inequações em um sistema de 
equações
• Utiliza eliminações gaussianas
Ciência da Computação
Pesquisa Operacional
Restrições Método Simplex
6
Ciência da Computação
Pesquisa Operacional
P1 (0,0)
P2 (0,6) P3 (2,6)
P4 (4,3)
P5 (4,0)
[Max]
Z = 3x1 + 5x2
[S.A.]
X1 = 0
Ponto X1 X2 Z = 3x1 + 5x2
P1 0 0 0
P2 0 6 30
P3 2 6 36
P4 4 3 27
P5 4 0 12
Fábrica de Vidros
Para explicar o algoritmo SIMPLEX será 
utilizado o exemplo da fábrica de vidros 
visto nas aulas passadas
Ciência da Computação
Pesquisa Operacional
[Max]
Z = 3x1 + 5x2
[S.A.]
X1 = 0
Essa solução indica que a Wyndor Glass Co. deveria fabricar os produtos 1 
e 2 a uma taxa de, respectivamente, dois lotes por semana e seis lotes por 
semana, com um lucro total resultante de US$ 36 mil por semana. Nenhum 
outro mix de produtos seria tão lucrativo de acordo com o modelo.
Fábrica de Vidros
Resolução em aulas 
passadas
Ciência da Computação
Pesquisa Operacional
• O procedimento algébrico se baseia em sistemas de 
equações para solução
• Deve-se primeiro entender o conceito de variável de folga
• A primeira restrição: X1 = 0
Fábrica de Vidros – Método Simplex
Ciência da Computação
Pesquisa Operacional
Forma Algébrica e Tableau
• Transformando Inequação em Equação com variável de folga:
X1 = 0
Modelo na 
Forma 
Padrão
𝑚𝑎𝑥 𝑍 − 3𝑥1 − 5𝑥2 − 0𝑥3 − 0𝑥4 − 0𝑥5 = 0
𝑆. 𝐴.
1𝑥1 + 0𝑥2 + 1𝑥3 + 0𝑥4 + 0𝑥5 = 4
0𝑥1 + 2𝑥2 + 0𝑥3 + 1𝑥4 + 0𝑥5 = 12
3𝑥1 + 2𝑥2 + 0𝑥3 + 0𝑥4 + 1𝑥5 = 18
𝑥1, 𝑥2, 𝑥3, 𝑥4, 𝑥5 ≥ 0
Modelo 
Original
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
Determine a coluna pivô 
selecionando o Z mais 
negativo
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
Razão
12/2 = 6
18/2 = 9
Determine a 
linha pivô 
selecionando a 
menor razão
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
Razão
12/2 = 6
18/2 = 9
Determine a 
linha pivô 
selecionando a 
menor razão
Atenção: escolher a 
menor razão 
estritamente positiva
(>=0)
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
Razão
12/2 = 6
18/2 = 9
Determine a 
linha pivô 
selecionando a 
menor razão
Atenção: ignorar a 
linha da Eq. 0
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
Razão
12/2 = 6
18/2 = 9
Determine a 
linha pivô 
selecionando a 
menor razão
Atenção: ignorar se 
tiver divisão por zero
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3
x4 0 1 0 1/2 0 6
X5
Z
Iteração
0
1
Divida cada 
número da 
linha pelo
Número Pivô
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3
x2 0 1 0 1/2 0 6
x5
Z
Iteração
0
1
Algoritmo Simplex
x2 substitui x4 
como variável 
básica para a 
linha2
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3
x2 0 1 0 1/2 0 6
x5
Z
Iteração
0
1
Eliminação Gaussiana:
Utilize operações 
elementares em linhas, 
multiplique ou divida 
uma linha por uma 
constante não-zero; 
adicione ou subtraia um 
múltiplo de uma linha 
para outra
Veja mais detalhes em:
https://www.ufrgs.br/rea
mat/CalculoNumerico/li
vro-sci/sdsl-
eliminacao_gaussiana.h
tml
Algoritmo Simplex
https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/sdsl-eliminacao_gaussiana.html
https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/sdsl-eliminacao_gaussiana.html
https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/sdsl-eliminacao_gaussiana.html
https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/sdsl-eliminacao_gaussiana.html
https://www.ufrgs.br/reamat/CalculoNumerico/livro-sci/sdsl-eliminacao_gaussiana.html
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3
x2 0 1 0 1/2 0 6
x5
Znew -3 0 0 5/2 0 30
Iteração
0
1
Algoritmo Simplex
𝑍𝑛𝑒𝑤 = 𝑥2 ∗ 5 + 𝑍
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
x5
Z -3 0 0 5/2 0 30
Iteração
0
1
Algoritmo Simplex
𝑥3 = 𝑥2 ∗ 0 + 𝑥3
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 01 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
x5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
Iteração
0
1
Algoritmo Simplex
𝑥5 = 𝑥2 ∗ −2 + 𝑥5
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
Iteração
0
1
Terminei a iteração pois o objetivo é 
transformar o número pivô em 1 e os 
outros números da coluna em 0
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
x5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
Iteração
0
1
Determine a coluna pivô 
selecionando o Z mais 
negativo
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
x5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
Iteração
0
1
Razão
4/1 = 4
6/3 = 2
Determine a 
linha pivô 
selecionando a 
menor razão
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
X1 1 0 0 -1/3 1/3 2
Z
Iteração
0
1
2
Dividimos a 
linha 3 pelo 
número pivô (3)
Algoritmo Simplex
Razão
4/1 = 4
6/3 = 2
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
X1 1 0 0 -1/3 1/3 2
Znew 0 0 0 3/2 1 36
Iteração
0
1
2
Revisão de Cálculo com Frações:
-1 + 5/2 = ?
5/2 - 1 = 
5/2 - 1/1 = 
5/2 - 2/2 = 
3/2
Algoritmo Simplex
𝑍𝑛𝑒𝑤 = 𝑥1 ∗ 3 + 𝑍
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
X2 0 1 0 1/2 0 6
X1 1 0 0 -1/3 1/3 2
Z 0 0 0 3/2 1 36
Iteração
0
1
2
Algoritmo Simplex
𝑥2 = 𝑥1 ∗ 0 + 𝑥2
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
X3 0 0 1 1/3 -1/3 2
X2 0 1 0 1/2 0 6
X1 1 0 0 -1/3 1/3 2
Z 0 0 0 3/2 1 36
Iteração
0
1
2
Algoritmo Simplex
𝑥3 = 𝑥1 ∗ −1 + 𝑥3
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
Z -3 0 0 5/2 0 30
X3 0 0 1 1/3 -1/3 2
X2 0 1 0 1/2 0 6
X1 1 0 0 -1/3 1/3 2
Z 0 0 0 3/2 1 36
Iteração
0
1
2
Algoritmo Simplex
Ciência da Computação
Pesquisa Operacional
Forma Tabular
Variável
Básica
Lado 
DireitoX1 X2 X3 X4 X5
x3 1 0 1 0 0 4
x4 0 2 0 1 0 12
x5 3 2 0 0 1 18
Z -3 -5 0 0 0 0
x3 1 0 1 0 0 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
0 0 0 5/2 0 30 0
X3 0 0 1 1/3 -1/3 2
X2 0 1 0 1/2 0 6
X1 1 0 0 -1/3 1/3 2
Z 0 0 0 3/2 1 36
Iteração
0
1
2
Algoritmo Simplex
𝑥2 = 6
𝑥1 = 2
𝑍 𝑚𝑎𝑥 = 36
	Slide 1: Pesquisa Operacional
	Slide 2: Método Simples
	Slide 3: Método Simplex
	Slide 4: Breve Histórico
	Slide 5: Método Simplex
	Slide 6: Restrições Método Simplex
	Slide 7
	Slide 8
	Slide 9: Fábrica de Vidros – Método Simplex
	Slide 10: Forma Algébrica e Tableau
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32

Mais conteúdos dessa disciplina