Escolar Documentos
Profissional Documentos
Cultura Documentos
processos químicos
Programação Linear
Folgas, restrições (ativas e inativas) e forma padrão
Engenharia Química
Prof. Thiago Costa
Junho, 2021
thiagocosta@unifei.edu.br
Conceitos básicos sobre programação linear (LP)
2
Conceitos básicos sobre programação linear (LP)
Implicações para um problema LP bem posto
Ponto ótimo
Pontos ótimos
3
Restrições ativas e inativas
Res. 3
4
Restrições ativas e inativas
Toda vez que deixo um ponto extremo (vértice) para o próximo (adjacentes)
eu descarto uma restrição ativa e a outra se torna ativa
B
Res. 4 C
A Res. 3 D
5
Restrições ativas e inativas
B
Caso a análise dos C
vértices seja iniciada
neste ponto, temos:
Res. 4
Restrições ativas:
Res. 3 e Res. 4
Res. 3 D
A
6
Restrições ativas e inativas
restrições ativas
res. 4 e res. 1
B
C
Res. 4
verificamos que a Res. 3 deixa
de ser ativa (fica inativa) e a
Res. 1 passa a ser ativa
Res. 3 D
A
7
Conceitos básicos sobre programação linear (LP)
restrições ativas
B res. 1 e res. 2
C
Res. 4
Res. 3 D
A
8
Restrições ativas e inativas
B
C
Res. 4
restrições ativas
res. 2 e res. 3
Res. 3 D
A
Conclusão
As restrições que definem um ponto extremo (vértice) serão consideradas
restrições ativas quando este estiver em análise
Res. 4
Res. 3
10
Reestruturando o problema LP em um formato padrão
max min 𝑧 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛
𝑥1 , 𝑥2 , … , 𝑥𝑛
s. a: 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2
⋮
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 = 𝑏𝑛
𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0
11
Reestruturando o problema LP em um formato padrão
12
Reestruturando o problema LP em um formato padrão
Características observadas no formato padrão
13
Reestruturando o problema LP em um formato padrão
Variáveis folga
❑ Variáveis folga permitem que uma restrição seja reescrita na forma de uma igualdade
14
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
Exemplo 1
Seja o conjunto de restrições de desigualdades
0,3𝑥1 + 0,4𝑥2 ≥ 2
0,4𝑥1 + 0,2𝑥2 ≤ 40
𝑥1 , 𝑥2 ≥ 0
15
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
Exemplo 1 (resolução)
Devo adicionar duas folgas
(uma para cada inequação)
Antes
adiciono folga por subtração
0,3𝑥1 + 0,4𝑥2 ≥ 2
0,4𝑥1 + 0,2𝑥2 ≤ 40
𝑥1 , 𝑥2 ≥ 0 adiciono folga por adição
Depois
Observações:
16
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
Exemplo 1 (resolução)
0,3𝑥1 + 0,4𝑥2 − 𝑥3 = 2
0,4𝑥1 + 0,2𝑥2 + 𝑥4 = 40
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0
𝑥1
0,3 0,4 −1 0 𝑥2 2
=
0,4 0,2 0 +1 𝑥3 40
𝑥4
𝐴 𝑥 𝑏
17
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
Exemplo 2
Transformar o conjunto de restrições
18
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
× −1
16𝑥1 + 10𝑥2 ≤ 1000
−𝑥1 − 𝑥2 ≤ +20
𝑥1 , 𝑥2 ≥ 0
19
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
20
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃
Exemplo 2: Folgas
Checklist: 𝐴𝑥 = 𝑏
𝑥≥0
16𝑥1 + 10𝑥2 + 𝑥3 = +1000
−𝑥1 − 𝑥2 + 𝑥4 = +20
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0
𝑥1
16 10 +1 0 𝑥2 1000
=
−1 −1 0 +1 𝑥3 20
𝑥4
𝐴 𝑥 𝑏
21
Conceitos básicos sobre programação linear (LP)
Interpretação da variável folga
Exemplo 3:
s. a: 𝑥1 ≤ 4
𝑥2 ≤ 6
3𝑥1 + 2𝑥2 ≤ 18
𝑥1 , 𝑥2 ≥ 0
22
Conceitos básicos sobre programação linear (LP)
Interpretação da variável folga
s. a: 𝑥1 ≤ 4 s. a: 𝑥1 +𝑥3 = 4
𝑥2 ≤ 6 𝑥2 + 𝑥4 = 6
3𝑥1 + 2𝑥2 ≤ 18 3𝑥1 + 2𝑥2 +𝑥5 = 18
𝑥1 , 𝑥2 ≥ 0 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0
23
Conceitos básicos sobre programação linear (LP)
Interpretação da variável folga
𝑥2 + 𝑥4 = 6
3𝑥1 + 2𝑥2 + 𝑥5 = 18
𝑥1 + 𝑥3 = 4
24
Conceitos básicos sobre programação linear (LP)
Qual o valor das var. folga nas restrições que definem a solução
ótima? ∗ ∗
𝒙𝟏 , 𝒙𝟐 = ( 𝟐 , 𝟔 )
𝑥2 + 𝑥4 = 6
3𝑥1 + 2𝑥2 + 𝑥5 = 18
𝑥1 + 𝑥3 = 4
25
Conceitos básicos sobre programação linear (LP)
Calculando as folgas nas restrições indicadas
𝒙∗𝟏 , 𝒙∗𝟐 = ( 𝟐 , 𝟔 )
𝑥2 + 𝑥4 = 6
𝑥4 = 6 − 𝑥2
3𝑥1 + 2𝑥2 + 𝑥5 = 18
𝑥5 = 18 − 3𝑥1 − 2𝑥2
𝑥3 = 4 − 𝑥1
26
Conceitos básicos sobre programação linear (LP)
Calculando as folgas nas restrições indicadas
𝒙∗𝟏 , 𝒙∗𝟐 = ( 𝟐 , 𝟔 )
𝑥4 = 6 − 6 = 0
𝑥5 = 18 − 3(2) − 2(6)
𝑥5 = 0
𝑥3 = 4 − 2 = 2
27
Conceitos básicos sobre programação linear (LP)
Veja que as folgas são nulas nas restrições ativas
(ponto de análise) ∗ ∗
𝒙𝟏 , 𝒙𝟐 = ( 𝟐 , 𝟔 )
𝑥4 = 0
𝑥5 = 0
𝑥3 = 2
28
Conceitos básicos sobre programação linear (LP)
Considere um ponto qualquer dentro da região factível, por exemplo,
o ponto (1,4):
𝑥2 + 𝑥4 = 6
𝑥4 = 2
(𝟏, 𝟒)
3𝑥1 + 2𝑥2 + 𝑥5 = 18
𝑥5 = 7
29
𝑥3 = 3
Conceitos básicos sobre programação linear (LP)
Calcule as folgas analisando os outros vértices da fronteira
𝑥2 + 𝑥4 = 6
3𝑥1 + 2𝑥2 + 𝑥5 = 18
𝑥1 + 𝑥3 = 4
30
Conceitos básicos sobre programação linear (LP)
Quais são as implicações da análise realizada?
31
Conceitos básicos sobre programação linear (LP)
Observação
De forma geral, qualquer problema de otimização pode ser
reescrito da seguinte forma
32
Conceitos básicos sobre programação linear (LP)
Exemplo 4
Reescrever o problema abaixo com o critério “min”
33