aula 08: modelagem - otimização linear e inteira · modelagem (básico) método gráfico...

25
Aula 08: Modelagem Otimizaªo Linear e Inteira Toelio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computaªo UFOP

Upload: dodat

Post on 11-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Aula 08: ModelagemOtimização Linear e Inteira

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

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

Page 2: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Previously...

Aulas anteriores:

Modelagem (básico)

Método gráfico

Algoritmo Simplex (Parte 2)

Dualidade

Análise de sensibilidade

... e um pouco de prática (implementação)

2 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 3: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Aula de Hoje

1 Dicas de Modelagem

2 Exemplo 1: Fábrica de brinquedos

3 Exemplo 2: Transporte

4 Aula Prática

3 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 4: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Aula de Hoje

1 Dicas de Modelagem

2 Exemplo 1: Fábrica de brinquedos

3 Exemplo 2: Transporte

4 Aula Prática

3 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 5: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo-a-passo para modelar um problema:

1 Elabore um esquema do problema.

2 Encontre e escreva uma solução qualquer para o problema.

3 Olhando para a solução, defina as variáveis de decisão.

4 Observando as variáveis de decisão, defina a função objetivo, ouseja, o que deve ser maximizado ou minimizado.

5 Finalmente, defina as restrições do problema.

4 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 6: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Aula de Hoje

1 Dicas de Modelagem

2 Exemplo 1: Fábrica de brinquedos

3 Exemplo 2: Transporte

4 Aula Prática

5 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 7: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Exemplo 1: Fábrica de brinquedos

Fonte: [1] Luís Herique Rodrigues et al. (2014), Pesquisa Operacional -Programação Linear Passo a Passo, Editora Unisinos.

Uma pequena oficina de brinquedos produz dois tipos de brinquedos: caminhãode madeira e boneca de pano. O lucro do caminhão é de R$ 10,00 por unidade eda boneca de pano é de R$ 8,00 por unidade. São necessárias seis pessoaspara fazer um lote de dez caminhões por dia e quatro pessoas para fazer um lotede 14 bonecas por dia. Há 18 pessoas disponíveis para produzir os itens,podendo ser alocadas em qualquer um dos dois, em qualquer etapa. Devido àdemanda existente é necessário fazer ao menos um lote de caminhões e um lotede bonecas por dia.

Formule um modelo de Programação Linear que maximize a lucratividade diária.

6 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 8: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 1: Esquema

Figura 3 – Esquema simplificado do problema 1 – Oficina de brinquedos.

Nessa Figura é possível observar que, conforme tomamos a decisão de fazer maisou menos lotes de caminhões ou bonecas, precisaremos alocar mais ou menos pessoasda empresa na produção de um produto, resultando em um lucro maior ou menor deacordo com a nossa decisão.

Passo 2 – Definindo uma solução para o problema

Definir uma solução para o problema nos ajudará a entender qual é a variável dedecisão. Nesse exemplo, para decidir quantos lotes de caminhões ou bonecas poderemosfazer, precisaremos considerar as restrições quanto à mão de obra disponível, bem comoa quantidade mínima de produtos a vender. O Quadro 3 representa uma possível soluçãopara o problema.

Quadro 3 – Solução para o problema 1 – Oficina de brinquedos

Produto Quantidade de lotes aproduzir

Lucro resultante

Bonecas 1 R$ 112,00Caminhões 2 R$ 200,00

Totais - R$ 312,00

Lucro: R$ 100,00 por lote (10 caminhões) Lucro: R$ 112,00 por lote (14 bonecas)

Figura: Esquema (imagem extraída de Rodrigues et. al [1])

7 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 9: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 2: Solução

Qual seria uma solução para o problema?

Produzir 1 lote de caminhões e 1 lote de bonecas?

Utilizaríamos neste caso 10 pessoas (6 + 4)

Lucraríamos R$ 212,00 (R$ 100,00 + R$ 112,00)

Solução parece ok... não utilizamos mais de 18 pessoas eatendemos à demanda mínima de fazer ao menos um lote decaminhões e um lote de bonecas.

Solução viável!

8 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 10: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 3: Variáveis

Solução: 1 lote de caminhões e 1 lote de bonecas!

Qual decisão foi tomada?

Número de lotes de caminhões: x1

Número de lotes de bonecas: x2

9 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 11: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 4: Função objetivo

O que estamos minimizando/maximizando?

Maximizando o lucro!

Ou seja: max 100x1 + 112x2

10 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 12: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 5: Restrições

Quais são as restrições?

1 Há 18 pessoas disponíveis:

6x1 + 4x2 ≤ 18

2 Devemos produzir no mínimo 1 lote de caminhões:

x1 ≥ 1

3 Devemos produzir no mínimo 1 lote de bonecas:

x2 ≥ 1

11 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 13: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Modelo

Logo, devemos resolver o modelo de programação linear a seguir:

max 100x1 + 112x2

s.a. 6x1 + 4x2 ≤ 18

x1 ≥ 1

x2 ≥ 1

12 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 14: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Aula de Hoje

1 Dicas de Modelagem

2 Exemplo 1: Fábrica de brinquedos

3 Exemplo 2: Transporte

4 Aula Prática

13 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 15: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Exemplo 2: Transporte

Fonte: [1] Luís Herique Rodrigues et al. (2014), Pesquisa Operacional -Programação Linear Passo a Passo, Editora Unisinos.

Você possui três fábricas localizadas em regiões geográficas distintas, e precisasaber quanto deve produzir e transportar para quatro diferentes mercados a umcusto mínimo. As informações do custo de transporte unitário entre as fábricas eos mercados estão no quadro a seguir.

Xij – Quantidade de unidades de produto produzidos na fábrica i a ser enviado parao mercado j

Passo 4 – Identificando o que deve ser minimizado ou maximizado

Esse problema indica que “Você possui três fábricas localizadas em regiõesgeográficas distintas e precisa saber quanto deve produzir e transportar para quatrodiferentes mercados, a um custo mínimo”. Dessa maneira, podemos entender que oproblema trata-se da minimização dos custos, e sua função objetivo pode ser definida daseguinte forma:

MINIMIZAR CUSTO

Onde o custo é: custo de transporte da fábrica i para o mercado j multiplicadopela quantidade de unidades de produto produzidos na fábrica i a ser enviado para omercado j.

Passo 5 – Identificando classes de restrições

Ao observar o quadro que apresenta os dados do problema, identificam-se duasclasses de restrições, destacadas a seguir:

Quadro 9 – Classes de restrições do problema 3 – transporte

Custo de transporteMercados

Capacidade Produtiva1 2 3 4

FábricasA $ 0,90/un $ 1,00/un $ 1,80/un $ 1,05/un 22.500 unB $ 2,10/un $ 0,80/un $ 0,70/un $ 1,15/un 21.000 unC $ 1,10/un $ 1,00/un $ 1,20/un $ 1,50/un 19.500 un

Demanda mínima 10.000un 15.000un 11.000un 10.000un

Demanda mínima: Para cada um dos mercados deve ser expedido uma quantidade

14 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 16: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 1: Esquema

Deve-se definir quantas produtos de cada fábrica devem ser enviados acada mercado, considerando capacidade e demanda mínima...

Figura 6 – Esquema do Problema 3 – Transporte.

Passo 2 – Definindo uma solução para o problema

Uma proposta de solução para o problema deve indicar quantas unidades deproduto devem ser enviadas de cada fábrica para cada mercado, atendendo tanto àscapacidades produtivas máximas quanto às demandas mínimas de cada mercado. Umasolução possível para o problema é evidenciada no Quadro 8.

Quadro 8 – Solução para o problema 3 – transporte

Unidades enviadasPara o mercado...

1 2 3 4

Da Fábrica...A 5000 5000 5000 5000B 5000 5000 5000 5000C 4000 5000 4000 4000

Passo 3 – Definindo variáveis de decisão

Ao definirmos quantas unidades devem ser enviadas de cada fábrica para cadamercado, deparamo-nos com a própria variável de decisão, que pode ser expressa daseguinte maneira:

Figura: Esquema (imagem extraída de Rodrigues et. al [1])

15 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 17: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 2: Solução

Uma solução para o problema deve indicar quantas unidades de produtodevem ser enviadas de cada fábrica para cada mercado, atendendo tantoàs capacidades produtivas quanto às demandas mínimas de cadamercado.

Eis uma solução possível (extraída de [1]):

Figura 6 – Esquema do Problema 3 – Transporte.

Passo 2 – Definindo uma solução para o problema

Uma proposta de solução para o problema deve indicar quantas unidades deproduto devem ser enviadas de cada fábrica para cada mercado, atendendo tanto àscapacidades produtivas máximas quanto às demandas mínimas de cada mercado. Umasolução possível para o problema é evidenciada no Quadro 8.

Quadro 8 – Solução para o problema 3 – transporte

Unidades enviadasPara o mercado...

1 2 3 4

Da Fábrica...A 5000 5000 5000 5000B 5000 5000 5000 5000C 4000 5000 4000 4000

Passo 3 – Definindo variáveis de decisão

Ao definirmos quantas unidades devem ser enviadas de cada fábrica para cadamercado, deparamo-nos com a própria variável de decisão, que pode ser expressa daseguinte maneira:

16 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 18: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 3: Variáveis

Estamos decidindo quanto enviar de cada fábrica para cada mercado...

Seja F o conjunto de fábricas

Seja M o conjunto de mercados

Variáveis:

xi,j : quantidade a enviar da fábrica i ∈ F para o mercado j ∈M .

17 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 19: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 4: Função objetivo

Devemos minimizar o custo de transporte...

Seja ci,j o custo de enviar uma unidade do produto produzido nafábrica i ∈ F para o mercado j ∈M

Função objetivo:

min∑i∈F

∑j∈M

ci,jxi,j

18 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 20: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Passo 5: Restrições

Xij – Quantidade de unidades de produto produzidos na fábrica i a ser enviado parao mercado j

Passo 4 – Identificando o que deve ser minimizado ou maximizado

Esse problema indica que “Você possui três fábricas localizadas em regiõesgeográficas distintas e precisa saber quanto deve produzir e transportar para quatrodiferentes mercados, a um custo mínimo”. Dessa maneira, podemos entender que oproblema trata-se da minimização dos custos, e sua função objetivo pode ser definida daseguinte forma:

MINIMIZAR CUSTO

Onde o custo é: custo de transporte da fábrica i para o mercado j multiplicadopela quantidade de unidades de produto produzidos na fábrica i a ser enviado para omercado j.

Passo 5 – Identificando classes de restrições

Ao observar o quadro que apresenta os dados do problema, identificam-se duasclasses de restrições, destacadas a seguir:

Quadro 9 – Classes de restrições do problema 3 – transporte

Custo de transporteMercados

Capacidade Produtiva1 2 3 4

FábricasA $ 0,90/un $ 1,00/un $ 1,80/un $ 1,05/un 22.500 unB $ 2,10/un $ 0,80/un $ 0,70/un $ 1,15/un 21.000 unC $ 1,10/un $ 1,00/un $ 1,20/un $ 1,50/un 19.500 un

Demanda mínima 10.000un 15.000un 11.000un 10.000un

Demanda mínima: Para cada um dos mercados deve ser expedido uma quantidadeSeja pi a capacidade produtiva da fábrica i ∈ F

∀i ∈ F :∑j∈M

xi,j ≤ pi

Seja dj a demanda mínima do mercado j ∈M

∀j ∈M :∑i∈F

xi,j ≥ dj

19 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 21: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Exemplo 2: Transporte

Eis o modelo de programação linear:

min∑i∈F

∑j∈M

ci,jxi,j

s.a.∑j∈M

xi,j ≤ pi ∀i ∈ F

∑i∈F

xi,j ≥ dj ∀j ∈M

xi,j ≥ 0 ∀i ∈ F,∀j ∈M

20 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 22: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Aula de Hoje

1 Dicas de Modelagem

2 Exemplo 1: Fábrica de brinquedos

3 Exemplo 2: Transporte

4 Aula Prática

21 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 23: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Exercício

Exercício 1

Uma empresa mineradora deve exportar 6000 toneladas de minério deferro atendendo as especificações a seguir:

Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Disciplina: BCC464 / PCC174 – Otimização Linear e Inteira Professor: Túlio A. M. Toffolo

BCC464 / PCC174 Data: 17/04/2018 Página 1 de 5

Aluno: __________________________________________ CPF ou Matrícula: ______________

Prova 01 – 20,0 pontos

Questão 01 Questão 02 Questão 03 Questão 04 Nota Total

• A interpretação das questões faz parte da avaliação, por isso faça as observações que achar

necessário, por escrito; • Utilize o espaço abaixo de cada questão para responde-la. Se necessário, utilize o verso das

folhas disponibilizadas.

Questão 01 (6,0 pontos)

Uma empresa mineradora deve exportar 6.000 toneladas de minério de ferro atendendo as especificações a seguir:

Fe Al2O3 P PPC He Teor mínimo 44,5 0,27 0,035 2,05 38 Teor máximo 49,5 0,37 0,043 2,65 50

A mineradora dispõe de um conjunto de pilhas de minérios, cuja composição, disponibilidade e custo são dados a seguir:

Fe Al2O3 P PPC He Disp. Custo Pilha 1 52,64 0,52 0,084 4,48 45 1500t 10,5 Pilha 2 39,92 0,18 0,029 0,65 97 2000t 12,5 Pilha 3 47,19 0,5 0,05 2,52 52 1700t 12 Pilha 4 49,36 0,22 0,039 1,74 78 1450t 10 Pilha 5 43,94 0,46 0,032 2,36 41 1250t 11,5 Pilha 6 48,97 0,54 0,057 4,34 90 1890t 11 Pilha 7 47,46 0,2 0,047 5,07 9 1640t 10,8 Pilha 8 46,52 0,32 0,039 3,51 4 1124t 11,2 Pilha 9 56,09 0,95 0,059 4,1 80 1990t 10,4 Pilha 10 46 0,26 0,031 2,51 21 900t 12 Pilha 11. 49,09 0,22 0,04 4,2 12 1540t 10,3 Pilha 12 49,77 0,2 0,047 4,81 12 1630t 11,9 Pilha 13 53,03 0,24 0,047 4,17 1 1320t 12,3 Pilha 14 52,96 0,29 0,052 4,81 1 1245t 11,1 Pilha 15 42,09 0,17 0,031 1,38 47 1859t 12,1

A mineradora dispõe de um conjunto de pilhas de minérios, cujacomposição, disponibilidade e custo são dados no próximo slide.

. . .

22 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 24: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Disciplina: BCC464 / PCC174 – Otimização Linear e Inteira Professor: Túlio A. M. Toffolo

BCC464 / PCC174 Data: 17/04/2018 Página 1 de 5

Aluno: __________________________________________ CPF ou Matrícula: ______________

Prova 01 – 20,0 pontos

Questão 01 Questão 02 Questão 03 Questão 04 Nota Total

• A interpretação das questões faz parte da avaliação, por isso faça as observações que achar

necessário, por escrito; • Utilize o espaço abaixo de cada questão para responde-la. Se necessário, utilize o verso das

folhas disponibilizadas.

Questão 01 (6,0 pontos)

Uma empresa mineradora deve exportar 6.000 toneladas de minério de ferro atendendo as especificações a seguir:

Fe Al2O3 P PPC He Teor mínimo 44,5 0,27 0,035 2,05 38 Teor máximo 49,5 0,37 0,043 2,65 50

A mineradora dispõe de um conjunto de pilhas de minérios, cuja composição, disponibilidade e custo são dados a seguir:

Fe Al2O3 P PPC He Disp. Custo Pilha 1 52,64 0,52 0,084 4,48 45 1500t 10,5 Pilha 2 39,92 0,18 0,029 0,65 97 2000t 12,5 Pilha 3 47,19 0,5 0,05 2,52 52 1700t 12 Pilha 4 49,36 0,22 0,039 1,74 78 1450t 10 Pilha 5 43,94 0,46 0,032 2,36 41 1250t 11,5 Pilha 6 48,97 0,54 0,057 4,34 90 1890t 11 Pilha 7 47,46 0,2 0,047 5,07 9 1640t 10,8 Pilha 8 46,52 0,32 0,039 3,51 4 1124t 11,2 Pilha 9 56,09 0,95 0,059 4,1 80 1990t 10,4 Pilha 10 46 0,26 0,031 2,51 21 900t 12 Pilha 11. 49,09 0,22 0,04 4,2 12 1540t 10,3 Pilha 12 49,77 0,2 0,047 4,81 12 1630t 11,9 Pilha 13 53,03 0,24 0,047 4,17 1 1320t 12,3 Pilha 14 52,96 0,29 0,052 4,81 1 1245t 11,1 Pilha 15 42,09 0,17 0,031 1,38 47 1859t 12,1

1 Apresente um programa linear para encontrar uma mistura dos

minérios disponíveis que atenda à demanda minimizando o custo total.2 Implemente esta formulação (utilizando o solver gurobi).

23 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 08: Modelagem

Page 25: Aula 08: Modelagem - Otimização Linear e Inteira · Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática

/ 12

Perguntas?