Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo –...

37
Aula 04: Resolvedores LP Otimizaªo Linear e Inteira Toelio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computaªo UFOP

Transcript of Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo –...

Page 1: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula 04: Resolvedores LPOtimização Linear e Inteira

Túlio A. M. Toffolohttp://www.toffolo.com.br

BCC464/PCC174 –2018/2Departamento de Computação –UFOP

Page 2: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Previously...

Aula Anterior:

Algoritmo Simplex (Parte 2)

Exemplos de Modelagem

2 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 3: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula de Hoje

1 Exercício 1: Método Simplex

2 Exercício 2: Modelagem

3 Formato LP

4 Aula Prática

3 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 4: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula de Hoje

1 Exercício 1: Método Simplex

2 Exercício 2: Modelagem

3 Formato LP

4 Aula Prática

3 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 5: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Método Simplex

Exercício1 Resolva, usando o método Simplex (passo-a-passo):

min. 300x1+ 280x2

s.a. 70x1+ 50x2 ≥ 350

50x1+ 80x2 ≥ 400

x1 ≥ 2

x1, x2 ≥ 0

4 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 6: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Método Simplex

Exercício1 Resolva, usando o método Simplex (passo-a-passo):

min. 300x1+ 280x2

s.a. 7x1+ 5x2 ≥ 35

5x1+ 8x2 ≥ 40

x1 ≥ 2

x1, x2 ≥ 0

5 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 7: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

O Algoritmo Simplex

Passo 1 Converta o PL para a Forma Padrão.

Passo 2 Obtenha uma Solução Básica Factível (se possível) daForma Padrão.

Passo 3 Teste de Otimalidade: Determine se a Solução Básica éÓtima. Se Ótima PARE.

Passo 4 Caso não seja ótima -Mudança de Base: determine:

qual variável não básica irá entrar na base, com o intuitode melhorar a função objetivo;

qual variável básica irá sair da base.

Passo 5 Utilize as operações elementares para computar a NovaSolução Básica e volte para o Passo 3.

6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 8: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passo 1

Passo 1: Colocar na forma padrão:

min. 300x1+ 280x2

s.a. 7x1+ 5x2−x3 = 35

5x1+ 8x2 −x4 = 40

x1 −x5 = 2

7 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 9: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passo 2

Passo 2: Obter uma Solução Básica Factível (SBF) inicial:

Infelizmente a obtenção de uma solução inicial não é trivial

Motivo: as variáveis de folga (que aparecem em apenas umarestrição) não permitem uma SBF trivial (exemplo: x3 = −35 não épossível uma vez que x3 ≥ 0)

O que fazer?

Uma opção é aplicar o Método de Duas Fases

8 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 10: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Método de Duas Fases

Passo 2: Obter uma Solução Básica Factível (SBF) inicial

O Método de Duas Fases é aplicado:

Variáveis artificiais são adicionadas para que seja trivial gerar umaSolução Básica Factível (SBF).

Em seguida, um novo problema é resolvido cujo objetivo é minimizar ovalor das variáveis artificiais, ou seja: desaparecer com elas.

min. +a1+a2+a3

s.a. 7x1+ 5x2−x3 +a1 =35

5x1+ 8x2 −x4 +a2 =40

x1 −x5 +a3 = 2

Agora temos que resolver o problema acima!

9 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 11: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.1 e 2.2

Passo 2.1 (Método de Duas Fases): Colocar na forma padrão

Não é necessário pois o problema já está na forma padrão.

Passo 2.2 (Método de Duas Fases): Encontrar uma SBF inicialTrivial: a1 = 35, a2 = 40 e a3 = 2.

L0 : + a1 + a2 + a3 = 0

L1 : 7x1 + 5x2 − x3 + a1 = 35 a1 = 35

L2 : 5x1 + 8x2 − x4 + a2 = 40 a2 = 40

L3 : x1 − x5 + a3 = 2 a3 = 2

Vamos montar o tableau:

a1, a2 e a3 devem ter coeficiente 0 na função objetivo:

Logo: L0 ← L0 − L1 − L2 − L3

10 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 12: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.3 e 2.4

Passo 2.3 (Método de Duas Fases): Teste de otimalidade

A solução não é ótima, pois há variáveis com custo reduzidonegativo (e trata-se de um problema de minimização):

x1 x2 x3 x4 x5 a1 a2 a3

L0 : −13 −13 +1 +1 +1 = −77 z = −77

L1 : +7 +5 −1 +1 = 35 a1 = 35

L2 : +5 +8 −1 +1 = 40 a2 = 40

L3 : +1 −1 +1 = 2 a3 = 2

Passo 2.4 (Método de Duas Fases): Mudança de Base

Quem entra na base? x1

Quem sairá da base? a3, pois a linha L3 será a linha pivô (é a linhaque mais limita o valor de x1)

11 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 13: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.5

Passo 2.5 (Método de Duas Fases): Computar Nova Solução Básica

Temos que atualizar o tableau

x1 x2 x3 x4 x5 a1 a2 a3

L0 : −13 −13 +1 +1 +1 = −77 z = −77

L1 : +7 +5 −1 +1 = 35 a1 = 35

L2 : +5 +8 −1 +1 = 40 a2 = 40

L3 : +1 −1 +1 = 2 a3 = 2

x1 entra base na linha pivô L3 (linha que mais limita seu valor), logo:

L3 ← L3 (x1 já tinha coeficiente 1) logo: x1 = 2

x1 x2 x3 x4 x5 a1 a2 a3

L3 : +1 −1 +1 = 2 x1 = 2

12 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 14: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.5

Passo 2.5 (Método de Duas Fases): Computar Nova Solução Básica

Atualizamos as demais linhas para que x1 tenha coeficiente zero:

L0 ← L0 + 13L3

L1 ← L1 − 7L3

L2 ← L2 − 5L3

x1 x2 x3 x4 x5 a1 a2 a3

L0 : −13 +1 +1 −12 +13 = −51 z = −51

L1 : +5 −1 +7 +1 −7 = 21 a1 = 21

L2 : +8 −1 +5 +1 −5 = 30 a2 = 30

L3 : +1 −1 +1 = 2 x1 = 2

Agora voltamos ao passo 2.3...

13 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 15: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.3 e 2.4

Passo 2.3 (Método de Duas Fases): Teste de otimalidade

A solução ainda não é ótima, pois ainda há variáveis com custoreduzido negativo (e trata-se de um problema de minimização):

x1 x2 x3 x4 x5 a1 a2 a3

L0 : −13 +1 +1 −12 +13 = −51 z = −51

L1 : +5 −1 +7 +1 −7 = 21 a1 = 21

L2 : +8 −1 +5 +1 −5 = 30 a2 = 30

L3 : +1 −1 +1 = 2 x1 = 2

Passo 2.4 (Método de Duas Fases): Mudança de Base

Quem entra na base? x2

Quem sairá da base? a2, pois a linha L2 será a linha pivô (é a linhaque mais limita o valor de x2)

14 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 16: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.5

Passo 2.5 (Método de Duas Fases): Computar Nova Solução Básica

Temos que atualizar o tableau

x1 x2 x3 x4 x5 a1 a2 a3

L0 : −13 +1 +1 −12 +13 = 67 z = 67

L1 : +5 −1 +7 +1 −7 = 21 a1 = 21

L2 : +8 −1 +5 +1 −5 = 30 a2 = 30

L3 : +1 −1 +1 = 2 x1 = 2

x2 entra base na linha pivô L2 (linha que mais limita seu valor), logo:

L2 ← L2 ÷ 8, e portanto x2 =308

x1 x2 x3 x4 x5 a1 a2 a3

L2 : +1 − 18

+ 58

+ 18

− 58

= 308

x2 = 308

15 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 17: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.5

Passo 2.5 (Método de Duas Fases): Computar Nova Solução Básica

Atualizamos as demais linhas para que x2 tenha coeficiente zero:

L0 ← L0 + 13L2

L1 ← L1 − 5L2

x1 x2 x3 x4 x5 a1 a2 a3

L0 : +1 − 58

− 318

+ 138

+ 398

= 0 z = 0

L1 : −1 + 58

+ 318

+1 − 58

− 318

= 188

x5 = 188

L2 : +1 − 18

+ 58

+ 18

− 58

= 308

x2 = 308

L3 : +1 −1 +1 = 2 x1 = 2

Agora repetimos o ’loop’ e voltamos ao passo 2.3...

16 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 18: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.3 e 2.4

Passo 2.3 (Método de Duas Fases): Teste de otimalidade

A solução ainda não é ótima, pois ainda há variáveis com custoreduzido negativo (e trata-se de um problema de minimização):

x1 x2 x3 x4 x5 a1 a2 a3

L0 : +1 − 58

− 318

+ 138

+ 398

= − 188

z = − 188

L1 : −1 + 58

+ 318

+1 − 58

− 318

= 188

x5 = 188

L2 : +1 − 18

+ 58

+ 18

− 58

= 308

x2 = 308

L3 : +1 −1 +1 = 2 x1 = 2

Passo 2.4 (Método de Duas Fases): Mudança de Base

Quem entra na base? x5

Quem sairá da base? a1, pois a linha L1 será a linha pivô (é a linhaque mais limita o valor de x5)

17 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 19: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.5

Passo 2.5 (Método de Duas Fases): Computar Nova Solução Básica

Temos que atualizar o tableau

x1 x2 x3 x4 x5 a1 a2 a3

L0 : +1 − 58

− 318

+ 138

+ 398

= − 188

z = − 188

L1 : −1 + 58

+ 318

+1 − 58

− 318

= 188

a1 = 188

L2 : +1 − 18

+ 58

+ 18

− 58

= 308

x2 = 308

L3 : +1 −1 +1 = 2 x1 = 2

x5 entra base na linha pivô L1 (linha que mais limita seu valor), logo:

L1 ← L1 × 831 , e portanto x5 =

1831

x1 x2 x3 x4 x5 a1 a2 a3

L1 : − 831

+ 531

+1 + 831

− 531

−1 = 1831

x5 = 1831

18 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 20: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passos 2.5

Passo 2.5 (Método de Duas Fases): Computar Nova Solução Básica

Atualizamos as demais linhas para que x5 tenha coeficiente zero:

L0 ← L0 + 31L1 ÷ 8

L2 ← L2 − 5L1 ÷ 8

L3 ← L3 + L1

x1 x2 x3 x4 x5 a1 a2 a3

L0 : +1 +1 +1 = 0 z = 0

L1 : − 831

+ 531

+1 + 831

− 531

−1 = 1831

x5 = 1831

L2 : +1 + 531

− 731

− 531

+ 731

= 10531

x2 = 10531

L3 : +1 − 831

+ 531

831

− 531

= 8031

x1 = 8031

Agora repetimos o ’loop’ e voltamos ao passo 2.3...

19 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 21: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passo 2.3

Passo 2.3 (Método de Duas Fases): Teste de otimalidade

A solução ainda é ótima (considerando o problema artificial daprimeira fase) e, portanto, encontramos uma SBF inicial

x1 =8031 , x2 = 105

31 e x5 =1831

Como encontramos uma SBF, removemos as variáveis artificiais doproblema e voltamos à função objetivo do problema original:

x1 x2 x3 x4 x5

L0 : +300 +280

L1 : − 831

+ 531

+1 = 1831

x5 = 1831

L2 : +1 + 531

− 731

= 10531

x2 = 10531

L3 : +1 − 831

+ 531

= 8031

x1 = 8031

20 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 22: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Passo 3

Primeiro atualizamos a linha L0 para que as variáveis básicas (x1, x2e x5) tenham coeficiente zero:

L0 ← L0 − 300L3 − 280L2

x1 x2 x3 x4 x5

L0 : + 100031

− 46031

L1 : − 831

+ 531

+1 = 1831

x5 = 1831

L2 : +1 + 531

− 731

= 10531

x2 = 10531

L3 : +1 − 831

+ 531

= 8031

x1 = 8031

Passo 3: Teste de otimalidade

A solução é ótima!!!

z = 5340031 , x1 =

8031 e x2 =

10531

21 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 23: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Solução gráfica

22 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 24: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula de Hoje

1 Exercício 1: Método Simplex

2 Exercício 2: Modelagem

3 Formato LP

4 Aula Prática

23 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 25: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Modelagem

ExercícioA cia. farmacêutica Margarida fabrica 2 drogas: d1 e d2. As drogas são produzi-das pela mistura de dois compostos químicos: q1 e q2. Considerando seu pesototal, a droga d1 deve apresentar ao menos 65% de q1 e a droga d2 deve apre-sentar ao menos 55% de q1. A droga d1 vende por R$ 60,00 a grama e a droga d2vende a R$ 40,00 a grama. Os compostos q1 e q2 podem ser produzidos por doisprocessos de fabricação, p1 e p2. Executar o processo p1 por uma hora requer 30gramas de matéria-prima crua, 2 horas de trabalho e produz 15 gramas de cadacomposto químico. O processo p2 executado por uma hora requer 20 gramas dematéria-prima crua e 3 horas de trabalho, resultando em 20 gramas de q1 e 10gramas de q2. Considere a disponibilidade de 120 horas de trabalho e 100 gramasde matéria-prima crua.

Formule um PL que maximiza o faturamento da cia. Margarida.

24 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 26: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Exercício 2: Modelagem

Variáveis:

d1 e d2: quantidade produzida de cada droga

p1 e p2: tempo de execução de cada processo

qd11 , qd21 , qd12 e qd21 : quantidade produzida de cada droga a partir decada processo

25 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 27: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Exercício 2: Modelagem

max 60d1 + 40d2 (1)

s.a. d1 = qd11 + qd1

2 (2)

d2 = qd21 + qd2

2 (3)

qd11 ≥ 0.65d1 (4)

qd21 ≥ 0.55d2 (5)

qd11 + qd2

1 ≤ 15p1 + 20p2 (6)

qd12 + qd2

2 ≤ 15p1 + 10p2 (7)

30p1 + 20p2 ≤ 100 (8)

2p1 + 3p2 ≤ 120 (9)

d1, d2, qd11 , qd2

1 , qd12 , qd2

2 , p1, p2 ≥ 0 (10)

26 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 28: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula de Hoje

1 Exercício 1: Método Simplex

2 Exercício 2: Modelagem

3 Formato LP

4 Aula Prática

27 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 29: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Introdução

Formatos conhecidos para entrada de programas lineares:

MPS Mathematical Programming System :

padrão da indústria

pouco intuitivo, confuso e com limitações

LP CPLEX LP file format :

padrão criado para uso com o resolvedor CPLEX

mais fácil e prático do que o formato MPS

aceito nos principais resolvedores modernos

arquivos podem ser convertidos para MPS

28 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 30: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Formato LP

Componentes

função objetivo

restrições

informações de variáveis

limites

variáveis inteiras genéricas

variáveis binárias

29 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 31: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Problema da Dieta

DIETA.LP

1 Minimize2 3 x1 + 2.5 x234 Subject to5 6 x1 + 4 x2 >= 326 5 x1 + 6 x2 >= 3678 End

30 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 32: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Resolvendo

Comando1 gurobi.sh2 model = read('dieta.lp')3 model.optimize()

Exemplo Limites1 Optimize a model with 2 rows, 2 columns and 4 nonzeros2 Coefficient statistics:3 Matrix range [4e+00, 6e+00]4 Objective range [2e+00, 3e+00]5 Bounds range [0e+00, 0e+00]6 RHS range [3e+01, 4e+01]7 Presolve time: 0.02s8 Presolved: 2 rows, 2 columns, 4 nonzeros9

10 Iteration Objective Primal Inf. Dual Inf. Time11 0 0.0000000e+00 8.500000e+00 0.000000e+00 0s12 2 1.7750000e+01 0.000000e+00 0.000000e+00 0s1314 Solved in 2 iterations and 0.02 seconds15 Optimal objective 1.775000000e+01

31 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 33: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Limites e Integralidade

Podem ser especificadas restrições específicas sobre algumas variáveis

Essas restrições são informadas após a seção das restrições normais epodem ser dos seguintes tipos:

Restrição de limites -Seção Bounds:

Exemplo Limites1 Subject to2 ...3 Bounds4 0 <= x1 <= 405 2 <= x4 <= 3

32 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 34: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Limites e Integralidade (cont.)

Para variáveis para as quais não são permitidos valores fracionáriostemos as seções:

General: variáveis inteiras de modo geral

Binary: variáveis binárias que somente podem assumir valor zero ou um

Exemplo Integralidade1 Subject to2 ...3 Binary4 x35 General6 x17 x2

33 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 35: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula de Hoje

1 Exercício 1: Método Simplex

2 Exercício 2: Modelagem

3 Formato LP

4 Aula Prática

34 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 36: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

Aula Prática

1 Modelar os modelos da aula passada no formato LP

Exemplo de Modelagem 2 (Análise de Investimentos)

Exercício da Aula Passada (cia. farmacêutica Margarida)

2 Implementação de modelos com Python+Gurobi

Exemplo de Modelagem 1 (Planejamento da Produção)

35 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP

Page 37: Aula 04: Resolvedores LP - Otimização Linear e Inteira€¦ · 6 / 35 Túlio Toffolo – Otimização Linear e Inteira – Aula 04: Resolvedores LP. Passo 1 Passo 1: Colocar na

/ 12

Perguntas?