Você está na página 1de 33

Fundamentos de otimização para

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)

Observações feitas a partir dos exemplos e atividades:

▪ As soluções ótimas de um problema LP bem posto estarão nos pontos de


fronteira ou em um ponto extremo (vértice) da região factível

▪ Um problema com uma única solução ótima irá recair em um ponto


extremo vértice da região factível

▪ Se um ponto de fronteira é ótimo então os vértices (pontos extremos)


da fronteira também serão

2
Conceitos básicos sobre programação linear (LP)
Implicações para um problema LP bem posto

A solução ótima estará em cima de uma restrição ou nos vértices das


restrições

Ponto ótimo

Pontos ótimos

Conclusão: Posso focar nos vértices da região factível !!

3
Restrições ativas e inativas

As restrições que definem um ponto extremo (vértice)


sob análise são consideradas restrições ativas
Res. 4

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

A possível solução ótima terá algumas restrições que a definem,


veja os exemplos a seguir

5
Restrições ativas e inativas

Suponha que iniciemos a análise do problema no vértice A

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

Obs.: os algoritmos iniciam na origem (0,0) quando possível

6
Restrições ativas e inativas

Ponto extremo ou vértice B

restrições ativas
res. 4 e res. 1
B
C

Seguindo pela direção indicada

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)

Ponto extremo ou vértice C

restrições ativas
B res. 1 e res. 2
C
Res. 4

Res. 3 D
A

Res. 4 deixa de ser ativa e a Res. 2 passa a ser ativa

8
Restrições ativas e inativas

Ponto extremo ou vértice C

B
C
Res. 4

restrições ativas
res. 2 e res. 3

Res. 3 D
A

Seguindo pela direção indicada verificamos que a Res. 1 deixa de


ser ativa e a Res. 3 passa a ser ativa
9
Conceitos básicos sobre programação linear (LP)

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

(A) Problema LP em formato padrão estendido:

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

Como modificar as inequações (desigualdades)


para relações de igualdade ??

11
Reestruturando o problema LP em um formato padrão

(B) Problema LP em formato padrão matricial (canônica):

𝑻 Sejam n variáveis de decisão e


max min 𝒄 𝒙 m restrições de igualdade
𝒙
s. a: 𝐴 ∈ ℝ𝑚×𝑛
𝑨𝒙 = 𝒃
𝑏 ∈ ℝ𝑚×1
𝒙≥0
𝑥 ∈ ℝ𝑛×1
Mesmo que o modelo anterior, 𝑐 ∈ ℝ𝑛×1
descrito na forma matricial

12
Reestruturando o problema LP em um formato padrão
Características observadas no formato padrão

Check list para o formato padrão!!

✓ Somente restrições de igualdade


𝑇
min 𝑐 𝑥
𝑥
✓ Todas as variáveis de decisão
s. a: 𝐴𝑥 = 𝑏 (graus de liberdade) positivas

𝑥≥0 ✓ Constantes no lado direito das


equações de restrição

✓ Todos os valores de b devem ser


positivos (facilitará a interpretaçã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

❑ Utilize uma variável folga diferente para cada inequação

❑ Garantir que cada folga adicionada seja estritamente positiva

…≥𝑏 adiciono folga por subtração

… ≤𝑏 adiciono folga por adição

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:

0,3𝑥1 + 0,4𝑥2 − 𝑥3 = 2 ▪ uma variável folga diferente


para cada inequação
0,4𝑥1 + 0,2𝑥2 + 𝑥4 = 40
▪ deve-se garantir não neg.
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0 para as novas variáveis
(estritamente positivas)

16
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃

Exemplo 1 (resolução)

Colocando na forma matricial

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

16𝑥1 + 10𝑥2 ≤ 1000


𝑥1 + 𝑥2 ≥ −20
𝑥1 , 𝑥2 ≥ 0

18
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃

Exemplo 2: Verificar checklist !!

16𝑥1 + 10𝑥2 ≤ 1000 Checklist:


𝑥1 + 𝑥2 ≥ −20 ✓ Todos os valores de b positivos
𝑥1 , 𝑥2 ≥ 0 (facilitará a interpretação)

× −1
16𝑥1 + 10𝑥2 ≤ 1000
−𝑥1 − 𝑥2 ≤ +20
𝑥1 , 𝑥2 ≥ 0

19
Colocando o conjunto de restrições na forma 𝑨𝒙 = 𝒃

Exemplo 2: Folgas Checklist:

✓ Somente restrições de igualdade


16𝑥1 + 10𝑥2 ≤ 1000 ✓ Todas as variáveis de decisão
−𝑥1 − 𝑥2 ≤ 20 (graus de liberdade) positivas
𝑥1 , 𝑥2 ≥ 0

16𝑥1 + 10𝑥2 + 𝑥3 = +1000


−𝑥1 − 𝑥2 + 𝑥4 = +20
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

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:

Reescreva o problema abaixo na forma padrão estendida e interprete as


variáveis folga para diferentes valores de x1 e x2

max 𝑧 = 3𝑥1 + 5𝑥2


𝑥1 , 𝑥2

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

Reescrevendo o problema na forma estendida:

max 𝑧 = 3𝑥1 + 5𝑥2 max 𝑧 = 3𝑥1 + 5𝑥2


𝑥1 , 𝑥2 𝑥1 , 𝑥2

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?

▪ Restrições ativas tem suas


variáveis folga NULAS

▪ Restrições inativas, por outro


lado, tem suas variáveis folga
diferente de zero

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

max 𝑓(𝑥) = min [−𝑓 𝑥 ]

Parte das rotinas de otimização utilizam o critério “min” como padrão

32
Conceitos básicos sobre programação linear (LP)

Exemplo 4
Reescrever o problema abaixo com o critério “min”

max 𝑧 = 10𝑥1 + 15𝑥2 min 𝑧 = −10𝑥1 − 15𝑥2


𝑥1 , 𝑥2 = 𝑥1 , 𝑥2
s. a: restrições s. a: restrições

❑ Os dois problemas são idênticos e possuem


a mesma solução

33

Você também pode gostar