Escolar Documentos
Profissional Documentos
Cultura Documentos
Formulação algébrica
Método Simplex: Simplex Parte 1
Simplex Parte 2
forma padrão
Exemplo
Transformação de inequações em
Formulação algébrica equações
Para resolver problemas de Programação Linear Para usar os métodos algébricos, precisamos
com mais de duas variáveis precisamos de uma transformar inequações em equações:
formulação que não dependa do gráfico o Quando a restrição é do tipo menor ou igual ( ), adicionamos
uma variável de folga (f), que representará a diferença entre
Para isso, precisamos responder duas questões os dois lados da inequação
utilizando apenas as equações
o Quando a restrição é do tipo maior ou igual ( ), subtraímos
o Como saber se uma dada solução é viável? uma variável de excesso (e), que representará a diferença
o Quais soluções são candidatas a ponto ótimo? entre os dois lados da inequação
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
3 4
1. Como saber se uma dada solução 2. Quais soluções são candidatas a
é viável? ponto ótimo?
Exemplo: Seja A uma restrição relacionada a capacidade Nem toda solução viável é candidata a ponto ótimo!
A: Para qualquer ponto no interior é possível traçar outra
x2 P1: , P2: , P3: ,
reta perpendicular a z e que ainda possua pontos sobre
10 a região viável (não precisamos procurar pontos nessa
P3
Sobram 20h da região)
P2 capacidade Usa toda sua Faltam 30h de B
A 4 capacidade capacidade x2 Precisamos procurar a
10 solução ótima apenas nos
x1 P1 e P2 são viáveis, vértices que formam a região
P1
pois de soluções viáveis.
z
5 10 15 20
4
Quando todas as variáveis do problema são A x1
maiores ou iguais a zero as restrições são
satisfeitas (ponto viável). 5 10 15 20
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
5 6
A x1 O número de variáveis V1 x1
básicas é igual ao número
de equações. 5 10 15 20
5 10 15 20
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
7 8
Exemplo Exemplo
x1 x1
Solução inviável!!
5 10 15 20 5 10 15 20
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
9 10
Exemplo Exemplo
A 4 A 4
V4 x1 V5 x1
Solução inviável!!
5 10 15 20 5 10 15 20
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
11 12
Exemplo Formulação algébrica
s.a. s.a.
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
17 18
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
23 24
Passo 4: Identificar a nova base que Passo 4: Identificar a nova base que
gera uma solução melhor gera uma solução melhor
Identificar a variável que entra na base: Identificar a variável que entra na base:
o Vimos que as variáveis não-básicas com coeficiente Coluna pivô
negativo na tabela tem potencial de melhorar z. x1 x2 f1 f2
o Logo, escolhemos para entrar na base a variável que z -2 -3 0 0 0
mais contribui para a melhora de z (a mais negativa) f1 1 5 1 0 20
f2 2 1 0 1 10
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
25 26
Passo 4: Identificar a nova base que Passo 4: Identificar a nova base que
gera uma solução melhor gera uma solução melhor
Identificar a variável que sai da base: Identificar a variável que sai da base:
o Ao trocarmos uma variável básica devemos garantir
Coluna pivô
que o próximo vértice também pertença a região de
x1 x2 f1 f2 Teste da mínima
soluções viáveis.
z -2 -3 0 0 0 razão:
o Para isso existe o teste da mínima razão, que Linha
f1 1 5 1 0 20 20/5 = 4
pivô
consiste em dividir o bi por aij, quando aij > 0; f2 2 1 0 1 10 10/1 = 10
o A variável que sai da base é aquela que apresenta o pivô
menor valor no teste da mínima razão. Variável que sai da base é f1 para entrada de x2, pois é a
que apresenta o menor valor no teste da mínima razão.
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
27 28
Passo 4: Identificar a nova base que Passo 4: Identificar a nova base que
gera uma solução melhor gera uma solução melhor
O teste da mínima razão indica qual o valor que a variável que Atualizar a tabela:
entra na base irá assumir para cada uma das variáveis candidatas a
sair da base. o Consiste em resolver o sistema de equações considerando o
novo conjunto de variáveis básicas (x2 e f2);
Queremos o menor valor positivo pois esse corresponde a um
vértice que pertence a região viável. o Na prática, consiste em reproduzir o padrão de valores que
estão na variável que sai da base na coluna da variável que
B C entra na base utilizando operações algébricas elementares.
Se x2 for 10, a restrição A será
x2 inviável:
10
Se f2 sair da base, f2=0. x1 x2 f1 f2
Logo, x2 será 10 z -2 -3 0 0 0
A 4 f1 1 5 1 0 20
Se f1 sair da base, f1=0. f2 2 1 0 1 10
Logo, x2 será 4
x1
D
Vértice
5 10 15 20
Atual
Programação Linear - Prof. Lynceo Braghirolli
29 30
Passo 4: Identificar a nova base que Passo 4: Identificar a nova base que
gera uma solução melhor gera uma solução melhor
As operações elementares consistem em: Exemplo:
o Multiplicar a linha pivô por uma constante, e o Para zerar os valores na coluna pivô, vamos utilizar a linha pivô
multiplicada por uma constante (m).
o Adicionar a linha pivô nas outras linhas
o
Isso equivale ao método da adição para
o Para cada um dos valores:
resolução de sistemas de equações.
x1 x2 f1 f2
z -2 -3 0 0 0
f1 1 5 1 0 20
f2 2 1 0 1 10
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
31 32
Passo 4: Identificar a nova base que Passo 4: Identificar a nova base que
gera uma solução melhor gera uma solução melhor
Atualizando a linha 1 Atualizando a linha 2
o Nosso objetivo é zerar o valor na coluna pivô: -3 o Nosso objetivo é transformar o pivô (5) no valor 1;
x1 x2 f1 f2 x1 x2 f1 f2
z -2 -3 0 0 0 z -2 -3 0 0 0
1. Calculamos m: f1 1 5 1 0 20 1. Atualizamos a f1 1 5 1 0 20
variável básica f1 para x2
f2 2 1 0 1 10 f2 2 1 0 1 10
x1 x2 f1 f2 x1 x2 f1 f2
2. Atualizamos a Linha2
2. Atualizamos a Linha1 z 0 0 12 dividindo pelo pivô z 0 0 12
Coluna1= Coluna1=
Coluna2= Coluna2= x2 1 0 4
Coluna3= Coluna3=
Coluna4= Coluna4=
Coluna5= Coluna5=
33 34
Passo 4: Identificar a nova base que Passo 4: Identificar a nova base que
gera uma solução melhor gera uma solução melhor
Atualizando a linha 3 A nova tabela representa um novo vértice:
o z melhorou, passando de 0 para 12
o Nosso objetivo é zerar o valor na coluna pivô: 1
o x2 agora vale 4 (produzir 4 un.)
x1 x2 f1 f2
o f2 agora vale 6 (existem 6 horas de folga em B)
z -2 -3 0 0 0 x1 x2 f1 f2
1. Calculamos m: f1 1 5 1 0 20
B C z 0 0 12
f2 2 1 0 1 10
x2
x1 x2 f1 f2 10 x2 1 0 4
x1 x2 f1 f2 x2 1 0 4
z 0 0 12
f2 0 1 6
x2 1 0 4
Variável que entra: x1
f2 0 1 6
Variável que sai: f2
Atualizar a tabela!
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
37 38
f2 0 1 6 x1 x2 f1 f2
z 0 0
x1 x2 f1 f2
x2 0 1
z 0 0
x1 1 0
x2 0 1
x1 1 0
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
39 40
Passo 3: Interpretar a solução ótima Exercício
O melhor desempenho de z é 50/3
Na solução ótima, x1 = 10/3 e x2 = 10/3.
f1 = f2 = 0 (variáveis não-básicas)
x1 x2 f1 f2 sa
B C z 0 0
x2 x2 0 1
10
Vértice x1 1 0
Anterior Vértice
A 4 Atual
x1
D
5 10 15 20
Programação Linear - Prof. Lynceo Braghirolli
41 42
Exercício Exercício
x1 x2 f1 f2 f3 x1 x2 f1 f2 f3
z -1 -1,5 0 0 0 0 z -¼ 0 0 ¾ 0 90
f1 2 2 1 0 0 160 f1 1 0 1 -1 0 40
f2 1 2 0 1 0 120 x2 ½ 1 0 ½ 0 60
f3 4 2 0 0 1 280 f3 3 0 0 -1 1 160
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
43 44
Exercício Exercício
Terceira tabela
x1 x2 f1 f2 f3
sa
z 0 0 ¼ ½ 0 100
x1 1 0 1 -1 0 40
x2 0 1 -½ 1 0 40
f3 0 0 -3 2 1 40
Solução ótima:
Z=100
x1 = 40, x2 = 40 e f3 = 40
f1 = f2 = 0 (variáveis não-básicas)
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
45 46
Exercício Exercícios
Tableau x1 x2 x3 f1 f2 f3
Z 0 32 0 1 0 1,333333 700
x3 0 3 1 0,1 0 0 54
f2 0 5 0 1 1 -5 340
x1 1 2 0 0 0 0,333333 40
Programação Linear - Prof. Lynceo Braghirolli Programação Linear - Prof. Lynceo Braghirolli
47 48