modelagem matemática e otimização para a resolução de...
TRANSCRIPT
Modelagem matematica e otimizacao para aresolucao de problemas
Cristiano Arbex Valle e Alexandre Salles da Cunha
EVCOMP 2020
Objetivos
Introduzir o conceito de resolucao de problemas atraves daotimizacao matematica,
Construir um modelo de otimizacao abstrato que descreve umproblema da vida real,
Exemplificar a diversa gama de problemas que sao resolvidos comotimizacao,
Mostrar a otimizacao como uma ferramenta analıtica poderosade auxılio a tomada de decisoes.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 2 / 32
Objetivos
Introduzir o conceito de resolucao de problemas atraves daotimizacao matematica,
Construir um modelo de otimizacao abstrato que descreve umproblema da vida real,
Exemplificar a diversa gama de problemas que sao resolvidos comotimizacao,
Mostrar a otimizacao como uma ferramenta analıtica poderosade auxılio a tomada de decisoes.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 2 / 32
Processo Otimizacao + Ciencia de Dados
1 Compreensao de como os dados se relacionam:
insights sobre as interdependencias dos dados,
previsoes de dados desconhecidos.
Melhor compreensao do problema que precisa ser resolvido.
2 Utilizar esta compreensao para melhorar os processos de tomadade decisao:
Modelagem matematica do sistema como um problema deotimizacao, representando as interdependencias entre os dados, ecomo estes afetam o objetivo.
Resolucao do Modelo (via pacote de otimizacao).
Analise de resultados e retro-alimentacao do sistema.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 3 / 32
Processo Otimizacao + Ciencia de Dados
1 Compreensao de como os dados se relacionam:
insights sobre as interdependencias dos dados,
previsoes de dados desconhecidos.
Melhor compreensao do problema que precisa ser resolvido.
2 Utilizar esta compreensao para melhorar os processos de tomadade decisao:
Modelagem matematica do sistema como um problema deotimizacao, representando as interdependencias entre os dados, ecomo estes afetam o objetivo.
Resolucao do Modelo (via pacote de otimizacao).
Analise de resultados e retro-alimentacao do sistema.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 3 / 32
O que e otimizacao?
Considere a funcao:
y = f (x) = x2
Qual e o mınimo dela no domınio R? E o maximo?
min y = x2
max y = x2
x ∈ R
E se a funcao tiver duas variaveis?
y = f (x , z) = x2 + z2, x ∈ R, z ∈ R
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 4 / 32
O que e otimizacao?
Considere a funcao:
y = f (x) = x2
Qual e o mınimo dela no domınio R? E o maximo?
min y = x2
max y = x2
x ∈ R
E se a funcao tiver duas variaveis?
y = f (x , z) = x2 + z2, x ∈ R, z ∈ R
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 4 / 32
O que e otimizacao?
Funcao y = f (x , z) = x2 + z2:
x
z
y
Otimizacao e essencialmente encontrar o ponto demınimo/maximo de uma funcao matematica dentre os possıveisvalores das variaveis.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 5 / 32
O que e otimizacao?
Funcao y = f (x , z) = x2 + z2:
x
z
y
Otimizacao e essencialmente encontrar o ponto demınimo/maximo de uma funcao matematica dentre os possıveisvalores das variaveis.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 5 / 32
O que e otimizacao?
Nem sempre e um problema facil. Por exemplo, qual o mınimoda funcao de Rastrigin com duas variaveis?
min 20 +2∑
i=1
(x2i − 10 cos(2πxi )
)com domınio xi ∈ [−5.12, 5.12]
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 6 / 32
O que e otimizacao?
Nem sempre e um problema facil. Por exemplo, qual o mınimoda funcao de Rastrigin com duas variaveis?
min 20 +2∑
i=1
(x2i − 10 cos(2πxi )
)com domınio xi ∈ [−5.12, 5.12]
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 6 / 32
O que e otimizacao?
No exemplo anterior vimos duas caracterısticas:
1 A funcao a ser otimizada e “complicada”.
2 O domınio do problema e restrito:
−5.12 ≤ x1 ≤ 5.12
−5.12 ≤ x2 ≤ 5.12
Existem algoritmos diferentes para problemas de otimizacao comcaracterısticas diferentes.
1 Alguns tipos de problema podem ser resolvidos eficientemente.
2 Para outros, so conhecemos algoritmos exponenciais no pior caso.
3 Temos tambem varios problemas onde nem se conhece algoritmocapaz de resolve-los.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 7 / 32
O que e otimizacao?
No exemplo anterior vimos duas caracterısticas:
1 A funcao a ser otimizada e “complicada”.
2 O domınio do problema e restrito:
−5.12 ≤ x1 ≤ 5.12
−5.12 ≤ x2 ≤ 5.12
Existem algoritmos diferentes para problemas de otimizacao comcaracterısticas diferentes.
1 Alguns tipos de problema podem ser resolvidos eficientemente.
2 Para outros, so conhecemos algoritmos exponenciais no pior caso.
3 Temos tambem varios problemas onde nem se conhece algoritmocapaz de resolve-los.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 7 / 32
O que e otimizacao?
No exemplo anterior vimos duas caracterısticas:
1 A funcao a ser otimizada e “complicada”.
2 O domınio do problema e restrito:
−5.12 ≤ x1 ≤ 5.12
−5.12 ≤ x2 ≤ 5.12
Existem algoritmos diferentes para problemas de otimizacao comcaracterısticas diferentes.
1 Alguns tipos de problema podem ser resolvidos eficientemente.
2 Para outros, so conhecemos algoritmos exponenciais no pior caso.
3 Temos tambem varios problemas onde nem se conhece algoritmocapaz de resolve-los.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 7 / 32
O que e otimizacao?
No exemplo anterior vimos duas caracterısticas:
1 A funcao a ser otimizada e “complicada”.
2 O domınio do problema e restrito:
−5.12 ≤ x1 ≤ 5.12
−5.12 ≤ x2 ≤ 5.12
Existem algoritmos diferentes para problemas de otimizacao comcaracterısticas diferentes.
1 Alguns tipos de problema podem ser resolvidos eficientemente.
2 Para outros, so conhecemos algoritmos exponenciais no pior caso.
3 Temos tambem varios problemas onde nem se conhece algoritmocapaz de resolve-los.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 7 / 32
O que e otimizacao?
No exemplo anterior vimos duas caracterısticas:
1 A funcao a ser otimizada e “complicada”.
2 O domınio do problema e restrito:
−5.12 ≤ x1 ≤ 5.12
−5.12 ≤ x2 ≤ 5.12
Existem algoritmos diferentes para problemas de otimizacao comcaracterısticas diferentes.
1 Alguns tipos de problema podem ser resolvidos eficientemente.
2 Para outros, so conhecemos algoritmos exponenciais no pior caso.
3 Temos tambem varios problemas onde nem se conhece algoritmocapaz de resolve-los.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 7 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Por que otimizacao?
Um ainfinidade de problemas da vida real se resumem a problemas deotimizacao:
1 Escala de trabalho de tripulacao, estafe medico, etc
2 Gerenciamento de minas, desde a extracao do minerio ate a exportacao
3 Tabela do Campeonato Brasileiro
4 Definicao das rotas de caminhoes de lixo
5 Tratamento de cancer com quimioterapia / radioterapia
6 Investimentos financeiros com controle de risco e retorno
7 Todo problema de Machine Learning
Mas como transformar problemas da vida real em um problemamatematico de otimizacao?
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 8 / 32
Problema de localizacao
Uma empresa precisa decidir onde instalar armazens de forma aatender seus clientes.
Apos levantamento da area comercial, foi identificado umconjunto N de possıveis localizacoes para estes potenciaisarmazens.
Os clientes da empresa sao representados por um conjunto M.
Caso o armazem i ∈ N seja aberto, um custo fixo fi e incorrido.
O custo de atender 100% da demanda do cliente j ∈ M peloarmazem i ∈ N e dij .
Deseja-se definir onde instalar os armazens e como atender cadacliente, considerando os armazens que foram abertos.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 9 / 32
Problema de localizacao
Uma empresa precisa decidir onde instalar armazens de forma aatender seus clientes.
Apos levantamento da area comercial, foi identificado umconjunto N de possıveis localizacoes para estes potenciaisarmazens.
Os clientes da empresa sao representados por um conjunto M.
Caso o armazem i ∈ N seja aberto, um custo fixo fi e incorrido.
O custo de atender 100% da demanda do cliente j ∈ M peloarmazem i ∈ N e dij .
Deseja-se definir onde instalar os armazens e como atender cadacliente, considerando os armazens que foram abertos.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 9 / 32
Problema de localizacao
Uma empresa precisa decidir onde instalar armazens de forma aatender seus clientes.
Apos levantamento da area comercial, foi identificado umconjunto N de possıveis localizacoes para estes potenciaisarmazens.
Os clientes da empresa sao representados por um conjunto M.
Caso o armazem i ∈ N seja aberto, um custo fixo fi e incorrido.
O custo de atender 100% da demanda do cliente j ∈ M peloarmazem i ∈ N e dij .
Deseja-se definir onde instalar os armazens e como atender cadacliente, considerando os armazens que foram abertos.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 9 / 32
Problema de localizacao
Uma empresa precisa decidir onde instalar armazens de forma aatender seus clientes.
Apos levantamento da area comercial, foi identificado umconjunto N de possıveis localizacoes para estes potenciaisarmazens.
Os clientes da empresa sao representados por um conjunto M.
Caso o armazem i ∈ N seja aberto, um custo fixo fi e incorrido.
O custo de atender 100% da demanda do cliente j ∈ M peloarmazem i ∈ N e dij .
Deseja-se definir onde instalar os armazens e como atender cadacliente, considerando os armazens que foram abertos.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 9 / 32
Problema de localizacao
Uma empresa precisa decidir onde instalar armazens de forma aatender seus clientes.
Apos levantamento da area comercial, foi identificado umconjunto N de possıveis localizacoes para estes potenciaisarmazens.
Os clientes da empresa sao representados por um conjunto M.
Caso o armazem i ∈ N seja aberto, um custo fixo fi e incorrido.
O custo de atender 100% da demanda do cliente j ∈ M peloarmazem i ∈ N e dij .
Deseja-se definir onde instalar os armazens e como atender cadacliente, considerando os armazens que foram abertos.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 9 / 32
Problema de localizacao
Uma empresa precisa decidir onde instalar armazens de forma aatender seus clientes.
Apos levantamento da area comercial, foi identificado umconjunto N de possıveis localizacoes para estes potenciaisarmazens.
Os clientes da empresa sao representados por um conjunto M.
Caso o armazem i ∈ N seja aberto, um custo fixo fi e incorrido.
O custo de atender 100% da demanda do cliente j ∈ M peloarmazem i ∈ N e dij .
Deseja-se definir onde instalar os armazens e como atender cadacliente, considerando os armazens que foram abertos.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 9 / 32
Problema de localizacao
Representacao grafica do problema:
Grafo bipartido Possıvel solucao com custofC + fA +dC3 +dC4 +dA1 +dA2
C
B
A
1
2
3
4
C
B
A
1
2
3
4
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 10 / 32
Problema de localizacao
Representacao grafica do problema:
Grafo bipartido Possıvel solucao com custofC + fA +dC3 +dC4 +dA1 +dA2
C
B
A
1
2
3
4
C
B
A
1
2
3
4
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 10 / 32
Problema de localizacao
Ha multiplas formas de garantir o atendimento dos clientes:
C
B
A
1
2
3
4
C
B
A
1
2
3
4
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 11 / 32
Problema de localizacao
Ha multiplas formas de garantir o atendimento dos clientes:
C
B
A
1
2
3
4
C
B
A
1
2
3
4Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 11 / 32
Problema de localizacao
Abordagem de otimizacao:
Preparacao: entendimento do problema, tratamento dos dados.
Modelagem: traducao do problema no problema de Otimizacao,segundo uma premissa de dissociacao da instancia do problema edo artefato abstrato que e o modelo.
Codificacao: O modelo matematico deve ser representadocomputacionalmente (escolha de um ambiente de modelagem,Pyomo+Python, por exemplo).
Instanciacao e resolucao do problema: inclusao dos dadosreais e escolha do algoritmo/ferramenta computacional capaz deresolve-lo.
Analise dos resultados.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 12 / 32
Problema de localizacao
Abordagem de otimizacao:
Preparacao: entendimento do problema, tratamento dos dados.
Modelagem: traducao do problema no problema de Otimizacao,segundo uma premissa de dissociacao da instancia do problema edo artefato abstrato que e o modelo.
Codificacao: O modelo matematico deve ser representadocomputacionalmente (escolha de um ambiente de modelagem,Pyomo+Python, por exemplo).
Instanciacao e resolucao do problema: inclusao dos dadosreais e escolha do algoritmo/ferramenta computacional capaz deresolve-lo.
Analise dos resultados.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 12 / 32
Problema de localizacao
Abordagem de otimizacao:
Preparacao: entendimento do problema, tratamento dos dados.
Modelagem: traducao do problema no problema de Otimizacao,segundo uma premissa de dissociacao da instancia do problema edo artefato abstrato que e o modelo.
Codificacao: O modelo matematico deve ser representadocomputacionalmente (escolha de um ambiente de modelagem,Pyomo+Python, por exemplo).
Instanciacao e resolucao do problema: inclusao dos dadosreais e escolha do algoritmo/ferramenta computacional capaz deresolve-lo.
Analise dos resultados.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 12 / 32
Problema de localizacao
Abordagem de otimizacao:
Preparacao: entendimento do problema, tratamento dos dados.
Modelagem: traducao do problema no problema de Otimizacao,segundo uma premissa de dissociacao da instancia do problema edo artefato abstrato que e o modelo.
Codificacao: O modelo matematico deve ser representadocomputacionalmente (escolha de um ambiente de modelagem,Pyomo+Python, por exemplo).
Instanciacao e resolucao do problema: inclusao dos dadosreais e escolha do algoritmo/ferramenta computacional capaz deresolve-lo.
Analise dos resultados.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 12 / 32
Problema de localizacao
Abordagem de otimizacao:
Preparacao: entendimento do problema, tratamento dos dados.
Modelagem: traducao do problema no problema de Otimizacao,segundo uma premissa de dissociacao da instancia do problema edo artefato abstrato que e o modelo.
Codificacao: O modelo matematico deve ser representadocomputacionalmente (escolha de um ambiente de modelagem,Pyomo+Python, por exemplo).
Instanciacao e resolucao do problema: inclusao dos dadosreais e escolha do algoritmo/ferramenta computacional capaz deresolve-lo.
Analise dos resultados.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 12 / 32
Problema de localizacao
Construcao de um objeto Modelo do problema de otimizacao,composto por:
Parametros: conjuntos, custos fixos, custos variaveis(N,M, fi , dij).
Variaveis de decisao: aquilo que se deseja decidir.
A funcao objetivo, que deve ser maximizada ou minimizada.
As restricoes a serem respeitadas pelas variaveis escolhidas.
Estas limitam a gama de valores numericos que as variaveispodem assumir.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 13 / 32
Problema de localizacao
Construcao de um objeto Modelo do problema de otimizacao,composto por:
Parametros: conjuntos, custos fixos, custos variaveis(N,M, fi , dij).
Variaveis de decisao: aquilo que se deseja decidir.
A funcao objetivo, que deve ser maximizada ou minimizada.
As restricoes a serem respeitadas pelas variaveis escolhidas.
Estas limitam a gama de valores numericos que as variaveispodem assumir.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 13 / 32
Problema de localizacao
Construcao de um objeto Modelo do problema de otimizacao,composto por:
Parametros: conjuntos, custos fixos, custos variaveis(N,M, fi , dij).
Variaveis de decisao: aquilo que se deseja decidir.
A funcao objetivo, que deve ser maximizada ou minimizada.
As restricoes a serem respeitadas pelas variaveis escolhidas.
Estas limitam a gama de valores numericos que as variaveispodem assumir.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 13 / 32
Problema de localizacao
Construcao de um objeto Modelo do problema de otimizacao,composto por:
Parametros: conjuntos, custos fixos, custos variaveis(N,M, fi , dij).
Variaveis de decisao: aquilo que se deseja decidir.
A funcao objetivo, que deve ser maximizada ou minimizada.
As restricoes a serem respeitadas pelas variaveis escolhidas.
Estas limitam a gama de valores numericos que as variaveispodem assumir.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 13 / 32
Problema de localizacao
Decisoes a serem tomadas:
1 Quais armazens abrir?:
Para cada armazem i ∈ N, definimos uma variavel yi ∈ {0, 1}.Neste modelo, a variavel yi assumira valor 1 caso o armazem sejaaberto. Caso contrario, yi = 0.
2 Como atender as demandas dos clientes?
Para cada par (armazem,cliente), (i , j), i ∈ N, j ∈ M, definimosuma variavel xij que representa o percentual da demanda docliente j que sera atendida pelo armazem i , caso este seja aberto.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 14 / 32
Problema de localizacao
Decisoes a serem tomadas:
1 Quais armazens abrir?:
Para cada armazem i ∈ N, definimos uma variavel yi ∈ {0, 1}.Neste modelo, a variavel yi assumira valor 1 caso o armazem sejaaberto. Caso contrario, yi = 0.
2 Como atender as demandas dos clientes?
Para cada par (armazem,cliente), (i , j), i ∈ N, j ∈ M, definimosuma variavel xij que representa o percentual da demanda docliente j que sera atendida pelo armazem i , caso este seja aberto.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 14 / 32
Problema de localizacao
Decisoes a serem tomadas:
1 Quais armazens abrir?:
Para cada armazem i ∈ N, definimos uma variavel yi ∈ {0, 1}.Neste modelo, a variavel yi assumira valor 1 caso o armazem sejaaberto. Caso contrario, yi = 0.
2 Como atender as demandas dos clientes?
Para cada par (armazem,cliente), (i , j), i ∈ N, j ∈ M, definimosuma variavel xij que representa o percentual da demanda docliente j que sera atendida pelo armazem i , caso este seja aberto.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 14 / 32
Problema de localizacao
Decisoes a serem tomadas:
1 Quais armazens abrir?:
Para cada armazem i ∈ N, definimos uma variavel yi ∈ {0, 1}.Neste modelo, a variavel yi assumira valor 1 caso o armazem sejaaberto. Caso contrario, yi = 0.
2 Como atender as demandas dos clientes?
Para cada par (armazem,cliente), (i , j), i ∈ N, j ∈ M, definimosuma variavel xij que representa o percentual da demanda docliente j que sera atendida pelo armazem i , caso este seja aberto.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 14 / 32
Problema de localizacao
Exemplo: atribuicao de variaveis em solucoes viaveis:
yC = yA = 1 yC = yB = 1xC3 = xC4 = 1 xC4 = xB1 = xB2 = 1xA1 = xA2 = 1 xB3 = xC3 = 0.5
C
B
A
1
2
3
4
C
B
A
1
2
3
4
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 15 / 32
Problema de localizacao
Exemplo: atribuicao de variaveis em solucoes viaveis:
yC = yA = 1 yC = yB = 1xC3 = xC4 = 1 xC4 = xB1 = xB2 = 1xA1 = xA2 = 1 xB3 = xC3 = 0.5
C
B
A
1
2
3
4
C
B
A
1
2
3
4
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 15 / 32
Problema de localizacao
Condicoes a serem respeitadas:
1 Armazem fechado nao atende cliente algum.
2 A demanda total do cliente deve ser atendida.
3 Natureza das variaveis de decisao (discreta, faixa de valores).
1
xij ≤ yi , i ∈ N, j ∈ M
2 ∑i∈N
xij = 1, j ∈ M
3
xij ≥ 0 i ∈ N, j ∈ M
yi ∈ {0, 1} i ∈ N
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 16 / 32
Problema de localizacao
Condicoes a serem respeitadas:
1 Armazem fechado nao atende cliente algum.
2 A demanda total do cliente deve ser atendida.
3 Natureza das variaveis de decisao (discreta, faixa de valores).
1
xij ≤ yi , i ∈ N, j ∈ M
2 ∑i∈N
xij = 1, j ∈ M
3
xij ≥ 0 i ∈ N, j ∈ M
yi ∈ {0, 1} i ∈ N
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 16 / 32
Problema de localizacao
Condicoes a serem respeitadas:
1 Armazem fechado nao atende cliente algum.
2 A demanda total do cliente deve ser atendida.
3 Natureza das variaveis de decisao (discreta, faixa de valores).
1
xij ≤ yi , i ∈ N, j ∈ M
2 ∑i∈N
xij = 1, j ∈ M
3
xij ≥ 0 i ∈ N, j ∈ M
yi ∈ {0, 1} i ∈ N
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 16 / 32
Problema de localizacao
Condicoes a serem respeitadas:
1 Armazem fechado nao atende cliente algum.
2 A demanda total do cliente deve ser atendida.
3 Natureza das variaveis de decisao (discreta, faixa de valores).
1
xij ≤ yi , i ∈ N, j ∈ M
2 ∑i∈N
xij = 1, j ∈ M
3
xij ≥ 0 i ∈ N, j ∈ M
yi ∈ {0, 1} i ∈ N
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 16 / 32
Problema de localizacao
Funcao a ser minimizada:
Custo total da operacao:
1 Custo fixo, depende de quais armazens foram abertos:
fi para os i ∈ N abertos, isto e, tais que yi = 1.
2 Custo variavel, depende da demanda e de quais armazens saoempregados para atender os clientes:
Para algum armazem i ∈ N aberto, e algum cliente j ∈ M, dijxij .
Funcao objetivo:
min∑i∈N
fiyi +∑i∈N
∑j∈M
dijxij
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 17 / 32
Problema de localizacao
Funcao a ser minimizada:
Custo total da operacao:
1 Custo fixo, depende de quais armazens foram abertos:
fi para os i ∈ N abertos, isto e, tais que yi = 1.
2 Custo variavel, depende da demanda e de quais armazens saoempregados para atender os clientes:
Para algum armazem i ∈ N aberto, e algum cliente j ∈ M, dijxij .
Funcao objetivo:
min∑i∈N
fiyi +∑i∈N
∑j∈M
dijxij
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 17 / 32
Problema de localizacao
Funcao a ser minimizada:
Custo total da operacao:
1 Custo fixo, depende de quais armazens foram abertos:
fi para os i ∈ N abertos, isto e, tais que yi = 1.
2 Custo variavel, depende da demanda e de quais armazens saoempregados para atender os clientes:
Para algum armazem i ∈ N aberto, e algum cliente j ∈ M, dijxij .
Funcao objetivo:
min∑i∈N
fiyi +∑i∈N
∑j∈M
dijxij
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 17 / 32
Problema de localizacao
Modelo matematico completo:
min∑i∈N
fiyi +∑i∈N
∑j∈M
dijxij
sujeito a: xij ≤ yi , i ∈ N, j ∈ M∑i∈N
xij = 1, j ∈ M
xij ≥ 0 i ∈ N, j ∈ M
yi ∈ {0, 1} i ∈ N
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 18 / 32
Problema de localizacao
Flexibilidade para representar condicoes adicionais da vida real:
E se as localizacoes 1 e 2 sao no mesmo bairro, e a empresa quer evitarconstruir dois armazens proximos?
y1 + y2 ≤ 1
A prefeitura de uma cidade esta oferecendo benefıcios fiscais caso aempresa abra armazens em ambas as localidades 3 e 4. Como garantirque que a empresa construa tanto em 3 e 4, ou em nenhuma delas?
y3 = y4
O dono da empresa e supersticioso e quer construir um numero ımparde armazens.
Adicione uma variavel inteira nao negativa z ∈ Z+ e faca∑i∈N
yi = 2z + 1
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 19 / 32
Problema de localizacao
Flexibilidade para representar condicoes adicionais da vida real:
E se as localizacoes 1 e 2 sao no mesmo bairro, e a empresa quer evitarconstruir dois armazens proximos?
y1 + y2 ≤ 1
A prefeitura de uma cidade esta oferecendo benefıcios fiscais caso aempresa abra armazens em ambas as localidades 3 e 4. Como garantirque que a empresa construa tanto em 3 e 4, ou em nenhuma delas?
y3 = y4
O dono da empresa e supersticioso e quer construir um numero ımparde armazens.
Adicione uma variavel inteira nao negativa z ∈ Z+ e faca∑i∈N
yi = 2z + 1
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 19 / 32
Problema de localizacao
Flexibilidade para representar condicoes adicionais da vida real:
E se as localizacoes 1 e 2 sao no mesmo bairro, e a empresa quer evitarconstruir dois armazens proximos?
y1 + y2 ≤ 1
A prefeitura de uma cidade esta oferecendo benefıcios fiscais caso aempresa abra armazens em ambas as localidades 3 e 4. Como garantirque que a empresa construa tanto em 3 e 4, ou em nenhuma delas?
y3 = y4
O dono da empresa e supersticioso e quer construir um numero ımparde armazens.
Adicione uma variavel inteira nao negativa z ∈ Z+ e faca∑i∈N
yi = 2z + 1
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 19 / 32
Problema de localizacao
Flexibilidade para representar condicoes adicionais da vida real:
E se as localizacoes 1 e 2 sao no mesmo bairro, e a empresa quer evitarconstruir dois armazens proximos?
y1 + y2 ≤ 1
A prefeitura de uma cidade esta oferecendo benefıcios fiscais caso aempresa abra armazens em ambas as localidades 3 e 4. Como garantirque que a empresa construa tanto em 3 e 4, ou em nenhuma delas?
y3 = y4
O dono da empresa e supersticioso e quer construir um numero ımparde armazens.
Adicione uma variavel inteira nao negativa z ∈ Z+ e faca∑i∈N
yi = 2z + 1
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 19 / 32
Problema de localizacao
Flexibilidade para representar condicoes adicionais da vida real:
E se as localizacoes 1 e 2 sao no mesmo bairro, e a empresa quer evitarconstruir dois armazens proximos?
y1 + y2 ≤ 1
A prefeitura de uma cidade esta oferecendo benefıcios fiscais caso aempresa abra armazens em ambas as localidades 3 e 4. Como garantirque que a empresa construa tanto em 3 e 4, ou em nenhuma delas?
y3 = y4
O dono da empresa e supersticioso e quer construir um numero ımparde armazens.
Adicione uma variavel inteira nao negativa z ∈ Z+ e faca∑i∈N
yi = 2z + 1
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 19 / 32
Problema de localizacao
Flexibilidade para representar condicoes adicionais da vida real:
E se as localizacoes 1 e 2 sao no mesmo bairro, e a empresa quer evitarconstruir dois armazens proximos?
y1 + y2 ≤ 1
A prefeitura de uma cidade esta oferecendo benefıcios fiscais caso aempresa abra armazens em ambas as localidades 3 e 4. Como garantirque que a empresa construa tanto em 3 e 4, ou em nenhuma delas?
y3 = y4
O dono da empresa e supersticioso e quer construir um numero ımparde armazens.
Adicione uma variavel inteira nao negativa z ∈ Z+ e faca∑i∈N
yi = 2z + 1
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 19 / 32
Problema de localizacao
Caracterısticas deste modelo:
Linear: a contribuicao de cada variavel para a funcao objetivo epara as restricoes e um termo que varia linearmente com avariavel.
Inteiro-misto: ha variaveis (yi ∈ {0, 1}) que so podem assumirvalores discretos e variaveis (xij ∈ [0, 1]) que podem assumirvalores reais, em um intervalo contınuo de valores.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 20 / 32
Outros tipos de problemas de otimizacao
1 Puramente lineares.
2 Nao lineares.
3 Binarios quadraticos.
4 Nao lineares inteiros, inteiros-mistos.
5 ...
O tipo de modelo define o tipo de algoritmo a ser empregado.No caso do modelo que obtivemos (linear+variaveis discretas) para oproblema de localizacao de armazens, pode-se empregar algumavariante de algoritmo Branch-and-bound.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 21 / 32
Outros tipos de problemas de otimizacao
1 Puramente lineares.
2 Nao lineares.
3 Binarios quadraticos.
4 Nao lineares inteiros, inteiros-mistos.
5 ...
O tipo de modelo define o tipo de algoritmo a ser empregado.No caso do modelo que obtivemos (linear+variaveis discretas) para oproblema de localizacao de armazens, pode-se empregar algumavariante de algoritmo Branch-and-bound.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 21 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
0
10
20
5 10 15 20x
y
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 22 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
0
10
20
5 10 15 20x
y
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 23 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
0
10
20
5 10 15 20x
y
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 24 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
0
10
20
5 10 15 20x
y
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 25 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
0
10
20
5 10 15 20x
y
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 26 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
{y − (ax + b)
f(x) = ax + b
0
10
20
0 5 10 15 20x
y
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 27 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
{y − (ax + b)
f(x) = ax + b
0
10
20
0 5 10 15 20x
y
Otimizar a soma dos erros: min∑N
i=1
(yi − (axi + b)
)
Erro pode ser positivo ou negativo.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 28 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
{y − (ax + b)
f(x) = ax + b
0
10
20
0 5 10 15 20x
y
Otimizar a soma dos erros: min∑N
i=1
(yi − (axi + b)
)Erro pode ser positivo ou negativo.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 28 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
{y − (ax + b)
f(x) = ax + b
0
10
20
0 5 10 15 20x
y
Solucao: min∑N
i=1
(yi − (axi + b)
)2
Ha bons algoritmos para este tipo de problema (mınimos quadrados).
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 29 / 32
Outro exemplo
Regressao linear
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
{y − (ax + b)
f(x) = ax + b
0
10
20
0 5 10 15 20x
y
Solucao: min∑N
i=1
(yi − (axi + b)
)2Ha bons algoritmos para este tipo de problema (mınimos quadrados).
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 29 / 32
Pyomo: Python Optimization Modelling Objects
https://pyomo.readthedocs.io/en/
Suporta a modelagem de problemas de otimizacao e analise desolucoes em ambiente Python. O conjunto de funcionalidades permite:
1 Criar o modelo: classes ConcreteModel() ou AbstractModel()
2 Instanciacao: antes de criar o modelo (no caso Concreto) ou aoexportar o modelo (no caso Abstrato),
3 Exportar o modelo instanciado para um algoritmo de otimizacaodefinido pelo usuario,
4 Comandar a sua resolucao,
5 Recuperar e analisar a solucao obtida.
O Pyomo nao incorpora os algoritmos de otimizacao propriamente,deve ser utilizado em conjunto com um solver.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 30 / 32
Pyomo: Python Optimization Modelling Objects
https://pyomo.readthedocs.io/en/
Suporta a modelagem de problemas de otimizacao e analise desolucoes em ambiente Python. O conjunto de funcionalidades permite:
1 Criar o modelo: classes ConcreteModel() ou AbstractModel()
2 Instanciacao: antes de criar o modelo (no caso Concreto) ou aoexportar o modelo (no caso Abstrato),
3 Exportar o modelo instanciado para um algoritmo de otimizacaodefinido pelo usuario,
4 Comandar a sua resolucao,
5 Recuperar e analisar a solucao obtida.
O Pyomo nao incorpora os algoritmos de otimizacao propriamente,deve ser utilizado em conjunto com um solver.
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 30 / 32
Referencias bibliograficas
Modelagem matematica:
1 H. P. Williams. Model Building in Mathematical Programming,4a. Edicao, John Wiley & Sons, 1999.
2 S. Sra, S. Nowozin, S.J. Wright (Ed.). Optimization for MachineLearning. The MIT Press, 2012.
Pyomo:
1 W.E. Hart, J-P Watson, D.L. Woodruff. Pyomo: modeling andsolving mathematical programs in Python, MathematicalProgramming Computation, 3:219–260, 2011.
2 W.E. Hart, C.D. Laird, J-P Watson e outros. Pyomo -Optimization Modeling in Python. 2a. Edicao, Springer, 2012.
3 On-line Pyomo Project: http://www.pyomo.org/
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 31 / 32
Obrigado
Cristiano Arbex e Alexandre Cunha Modelagem matematica e otimizacao para a resolucao de problemas 32 / 32