Este documento discute a otimização em negócios, incluindo:
1) A motivação para usar ferramentas analíticas de planejamento devido à mudança na natureza da competição;
2) Exemplos de problemas acadêmicos de otimização e como eles se aplicam a problemas reais de negócios;
3) O rápido progresso nos algoritmos de otimização e no poder de computação, permitindo resolver problemas cada vez maiores.
2. SUMÁRIO
A GAPSO
OTIMIZAÇÃO NOS NEGÓCIOS – MOTIVAÇÃO E EVOLUÇÂO
MODELOS MATEMÁTICOS
ALGORITMOS DE RESOLUÇÃO
PILARES PARA UMA IMPLANTAÇÃO BEM SUCEDIDA
5. Sistemas para
Definir estratégias
Planejar e Programar Operações
Objetivos
Maximizar receita/margem/retorno
Melhorar nível de serviço
Reduzir custos
Avaliar riscos e investimentos
Características
Aderência
Qualidade analítica
Usabilidade
Integrabilidade
Adoção e Acompanhamento
Evolução permanente
6. Setores atendidos
Mineração
Siderurgia
Petróleo
Papel e celulose
Transporte (ferroviário, marítimo, aéreo, rodoviário)
Bioenergia
Telecomunicações, Mercado Financeiro, Educacional
Aplicações
Otimização de fluxos e capacidades
Otimização de redes
Previsão e planejamento de demanda
Planejamento de produção e transporte
Planejamento de estoques
Escalonamento de recursos humanos
12. Clientes
PROA – Planejamento da Produção na Aciaria
LOOMA – Planejamento do Transporte de Madeira
PLANNER – Supply Chain Planning
SICLE – Planejamento de rede logística de
combustíveis e comercial
CARGA CERTA – Planejamento tático e operacional
do transporte rodoviário de carga
VOX – Otimização de carteiras de investimento
13. Clientes
Planejamento de fluxo de containers e rotas de
navios para navegação de cabotagem
Planejamento de configuração e utilização de diversas
redes de telecomunicações
Planejamento operacional da utilização de vagões
Dimensionamento de equipamentos/equipes para
expansão e manutenção das redes
Sistema de Planejamento da Rede de Suprimentos,
Produção e Logística
14. Mais Receita Redução de 7%
Redução de 5% da Menos Custo
4% + Embarque no ciclo de
frota necessária US$ - 24MM
Vagões
Menos Custo == 200 novos
400 novos Menos Risco
6% - Multas vagões
vagões 18% - Pousos
19. Principais Sistemas na Vale
Network Planning, Supply Chain
Scheduling e Blending
Sistema de Planejamento para a
Produção de Pelotas
Sistema Integrado de Otimização
das Operações Portuárias
Sistema de Gerenciamento e
Dimensionamento de Equipamentos
de Mina
20. Sistemas em utilização em
6 diferentes áreas da empresa
Modelos e respectivos Solvers de
18 uso frequente.
21.
22. Arquitetura de um sistema de otimização
Model
GUI
with solver
Interface
Interface
Main
Legacy with legacy Solver
Module
systems
Information Systems
Tests Solver Tests
26. COMPETIÇÃO
ANALÍTICA
Por que as empresas líderes
estão usando inteligência analítica?
As bases da competição mudaram
Antigas vantagens competitivas não são
mais suficientes
27. COMPETIÇÃO
ANALÍTICA
Por que as empresas líderes
estão usando inteligência analítica?
As bases da competição mudaram
Antigas vantagens competitivas não são
mais suficientes
Localização geográfica
Novos Produtos
Custos básicos
28. COMPETIÇÃO
ANALÍTICA
Por que as empresas líderes
estão usando inteligência analítica?
As bases da competição mudaram
Antigas vantagens competitivas não são
mais suficientes
Localização geográfica
Novas Produtos
Custos básicos
Mundo Plano
Cópia
China
32. PROBLEMAS ACADÊMICOS PROBLEMAS REAIS
TSP Solda em circuitos
TWCVRP Roterização para coleta e entrega
Scheduling Escalonamento de força de trabalho
Steiner Projeto de redes de trans. de energia elétrica
Lot sizing Planejamento de produção
Multifuxos Movimentação de vagões
Facility Location Network Design
Knapsack Otimização de portfolios financeiros
Generalized assignment Carragamento de caminhões
Roterização de arestas Carteiros, coleta de lixo
33. PROBLEMAS ACADÊMICOS PROBLEMAS REAIS
TSPP Solda em circuitos
TWCVRP Roterização para coleta e entrega
Scheduling Escalonamento de força de trabalho
Steiner Projeto de redes de trans. de energia elétrica
Lot sizing Planejamento de produção
Multifuxos Movimentação de vagões
Facility Location Network Design
Knapsack Otimização de portfolios financeiros
Generalized assignment Carragamento de caminhões
Roterização de arestas Carteiros, coleta de lixo
42. PROBLEMA DO CAIXEIRO VIAJANTE
1800 1954 1962
Hamilton´s Game 42 cidades USA Concurso Proctor & Gamble
Dantzig – Fulkerson - Jonhson 33 cidades específicas USA
43. PROBLEMA DO CAIXEIRO VIAJANTE
2001 2004
Alemanha – 15.112 cidades – 66.000 Suecia – 24.978 cidades – 72.500 km.
km. Rede de 110 processadores – Cluster de maquinas com processadores
Intel Xeon dual - 84.8 anos de CPU
22.6 anos de CPU
44. Próximos Passos
PROBLEMA DO CAIXEIRO VIAJANTE
1954: 49
2006 1977: 120
Maior instância do TSP já resolvida - VLSI - 85.900
1987: 532
pontos. Cluster de máquinas com processadores 1987: 666
Intel Xeon Dual e AMD Athlon - 136 anos de CPU. 1987: 2392
1994: 7397
1998: 13509
2001: 15112
2004: 24978
2006: 85.900
45. Complexidaden 20 50 100 200 500 1000
1000 n .02 seg .05 seg 0.1 seg 0.2 seg 0.5 seg 1 seg
1000 n log n 0.09 seg 0.3 seg 0.6 seg 1.5 seg 4.5 seg 10 seg
100 n^2 0.04 seg 0.25 seg 1 seg 4 seg 25 seg 2 min
10 n^3 0.02 seg 1 seg 10 seg 1 min 2 min 2.7 hs
5 x 10^8
n^log n 0.4 seg 1.1 hs. 220 dias 125 Séculos
Séculos
3 x 10^4
2^n/3 0.0001 seg 0.1 seg 2.7 hs
Séculos
3 x 10^4
2^n 1 seg 35 anos
Séculos
2 x 10^9
3^n 58 min
Séculos
CONSIDERANDO QUE
UMA OPERAÇÂO
ELEMENTAR
LEVA 10^(-6) seg
46. PROGRAMAÇÃO LINEAR
1988 >>> 2004
Algoritmos (independentemente do computador) 3.300 X
Computadores 1.600 X
TOTAL (Algoritmos x Computadores) 5.300.000 X
47. PROGRAMAÇÃO LINEAR
1988 >>> 2004
Algoritmos (independentemente do computador) 3.300 X
Computadores 1.600 X
TOTAL (Algoritmos x Computadores) 5.300.000 X
2 MESES / 5.300.000 ~ = 1 segundo
48. APLICAÇÕES ATUAIS
• Área Militar • Construção Civil
• Companhia aéreas • RH: Work force scheduling
• Setor elétrico (geração e transmissão) • Precificação
• SCP: produção, transporte, armazéns, • Telecomunicações
network design, product flow, estoque • Esportes
• Corte (papel, vidro, vergalhões, etc.) • Saúde
• Finanças • Locadoras de vídeo
• Agro negócio • Etc., etc.
49. logomarca da sua
empresa aqui
Problema de Transporte de
Helicóptero de Passageiros
em Operações Offshore
52. Exemplo - Otimização
Helicópteros: caso real • 100 plataformas • 4 aeroportos
• 50 helicópteros • 5 tipos de helicop.
• 25000 pessoas • 2000 pax por dia
54. OTIMIZAÇÃO
Busca pela melhoria.
Quando não se pode melhorar diz-se que o Ótimo foi alcançado.
Otimização Existe Medida de Qualidade
Medidas: Lucro, Receita, Produção, Produtividade, Disponibilidade,
Qualidade de Serviço, Demurrage, etc.
Otimização: entre as possíveis soluções (viáveis), encontrar aquela cuja
medida é a melhor possível.
56. Um modelo é uma representação simplificada de um sistema real
SISTEMA MODELAGEM /
OU FORMULAÇÃO
PROBLEMA MODELO
REAL
AVALIAÇÃO / DEDUÇÃO /
JULGAMENTO ANÁLISE
CONCLUSÕES INTERPRETAÇÃO /
SOBRE O INFERÊNCIA CONCLUSÕES
SISTEMA REAL / DO MODELO
DECISÕES
57. logomarca da sua
empresa aqui
Problema decisório X Modelo
Objetivo
Problema Regras de
Restrições Decisório Negocio
Complexo
Modelo
Matemático e
Input Algoritmos de Output
Resolução
58. Problema decisório X Modelo
Um modelo é útil quando permite que se chegue a conclusões
adequadas sobre o sistema real, dentro de seu limite de aplicabilidade.
No caso de um modelo matemático, a utilidade depende
também da existência de algoritmos computacionais capazes
de “resolver” o modelo.
59. Modelos Matemáticos de Otimização
Lineares
Não lineares
Com restrições
Sem restrições
Variáveis contínuas Variáveis inteiras
Funções diferenciáveis e não diferenciáveis
Funções convexas ou não convexas
Regiões viáveis convexas ou não convexas
Otimização estocástica
Etc, etc
60. Algumas aplicações
Otimização de fluxos e capacidades
Otimização de redes
Previsão e planejamento de demanda
Planejamento de produção
Planejamento de transporte
Planejamento de estoques
Escalonamento de recursos humanos
61. Modelos Matemáticos de Otimização
LINEARES
Não lineares
COM RESTRIÇÕES
Sem restrições
VARIÁVEIS CONTÍNUAS
VARIÁVEIS INTEIRAS
Funções diferenciáveis e não diferenciáveis
Funções convexas ou não convexas
Regiões viáveis convexas ou não convexas
Otimização estocástica
Etc, etc
62. Programação Linear
Modelagem matemática em que as decisões são representadas por n
variáveis contínuas (Reais) em um certo intervalo
As combinações de valores das variáveis que não representam decisões
possíveis devem ser eliminadas através de m restrições lineares
(de igualdade ou desigualdade) sobre essas variáveis
63. Programação Linear Inteira
Modelagem matemática que difere da programação linear simplesmente
porque algumas (ou todas as) variáveis podem ser definidas como
inteiras
Esse recurso adicional permite modelar um número muito maior de
situações
64. Modelos Matemáticos de Otimização
LINEARES
Não lineares
LMIP
Linear Mix Integer Programming
COM RESTRIÇÕES
Sem restrições
VARIÁVEIS CONTÍNUAS
VARIÁVEIS INTEIRAS
Funções diferenciáveis e não diferenciáveis
Funções convexas ou não convexas
Regiões viáveis convexas ou não convexas
Otimização estocástica
Etc, etc
65. Modelos Matemáticos de Otimização
LINEARES
Não lineares
LMIP
Linear Mix Integer Programming
COM RESTRIÇÕES
Sem restrições
VARIÁVEIS CONTÍNUAS
VARIÁVEIS INTEIRAS
Funções diferenciáveis e não diferenciáveis
Funções convexas ou não convexas
Regiões viáveis convexas ou não convexas
Otimização estocástica
Etc, etc
66. Exemplo - Modelo
Problema de Mix Ótimo de Produção de Cadeiras
Para maximizar seu lucro, uma fábrica de cadeiras precisa decidir quais
modelos deve produzir
67. Mix ótimo de produção de cadeiras:
Lucro vs. Consumo de matéria-prima
150 300 300 250
1 4 3 1
1 1 1 2
73. Exemplo - Modelo
Problema da Mochila
Um viajante precisa decidir entre n possíveis objetos para colocar na sua
mochila com capacidade de peso P;
Cada objeto i oferece um ganho gi mas possui um peso pi. O problema é
escolher um subconjunto dos objetos com peso total ≤ P que maximize
o ganho total.
81. Técnicas de resolução
METAHEURÍSTICAS
HEURÍSTICAS ESPECÍFICAS
ALGORITMOS DE RESOLUÇÃO EXATA
MATEHEURÍSTICAS
82. Metaheruristicas
Metaheurísticas
Tabu search: buscas locais com mecanismos para fugir de ótimos locais
baseados em movimentos proibidos (tabu);
Genetic Algorithms: considera uma “população” (conjunto de soluções) finita
que “evolui” de geração em geração;
Simulated annealing: buscas locais com mecanismos para fugir de ótimos
locais baseados em probabilidades associadas aos valores da função e um
parâmetro global (T);
Ant colony optimization: técnica probabilística para busca de caminhos em
grafos (diferentes estados do problema) inspirado no comportamento das
formigas na procura de alimentos (pheromone trails);
85. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
A B C D E
F G
H I J
Máquina 1
Máquina 2
Máquina 3
0 Tempo
86. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
B C D E
F G
H I J
A Máquina 1
Máquina 2
Máquina 3
0 Tempo
87. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
C D E
F G
H I J
A Máquina 1
B Máquina 2
Máquina 3
0 Tempo
88. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
D E
F G
H I J
A Máquina 1
B Máquina 2
C Máquina 3
0 Tempo
89. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
E
F G
H I J
A Máquina 1
B D Máquina 2
C Máquina 3
0 Tempo
90. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
F G
H I J
A E Máquina 1
B D Máquina 2
C Máquina 3
0 Tempo
91. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
G
H I J
A E Máquina 1
B D Máquina 2
C F Máquina 3
0 Tempo
92. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
H I J
A E Máquina 1
B D Machine 2 G
C F Máquina 3
0 Tempo
93. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
I J
A E Máquina 1
H
B D Machine 2 G
C F Máquina 3
0 Tempo
94. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
J
A E H
Machine 1 I
B D Machine 2 G G
C F Máquina 3
0 Tempo
95. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
A E H
Machine 1 I
B D Machine 2 G
C F Machine 3 J
0 Tempo
96. Balanceamento de Carga:
Algoritmo de Escalonamento de Lista
D E H Machine 1 C B
A Machine 2
G
I F Machine 3 J
0
Escalonamento Ótimo
A E H
Machine 1 I
B D Machine 2 G
C F Machine 3 J
0
Escalonamento de lista
98. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8 9 10 11
99. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B
0 1 2 3 4 5 6 7 8 9 10 11
100. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B C
0 1 2 3 4 5 6 7 8 9 10 11
101. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B A
0 1 2 3 4 5 6 7 8 9 10 11
102. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B E
0 1 2 3 4 5 6 7 8 9 10 11
103. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B D
E
0 1 2 3 4 5 6 7 8 9 10 11
104. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B E F
0 1 2 3 4 5 6 7 8 9 10 11
105. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B E G
0 1 2 3 4 5 6 7 8 9 10 11
106. Escolha de Atividades (Escalonamento de Intervalos)
B (1)
C (2)
A (3)
E (4)
D (5)
F (6)
G (7)
H (8) Tempo
0 1 2 3 4 5 6 7 8 9 10 11
B E H
0 1 2 3 4 5 6 7 8 9 10 11
124. PPLI
y
Nova Região Viável (anterior + uma nova rest.)
Nova solução (fracionária)
125. PPLI: Minimização
Trade off: TEMPO de EXECUÇÃO
X
QUALIDADE da SOLUÇÃO
Soluções
x inteiras
y Solução ótima
GAP
Soluções
fracionárias
126. Metodologia de Desenvolvimento de Solvers da GAPSO
A GAPSO sempre inicia o processo de resolução
de um problema escrevendo e implementando um
modelo de Programação Inteira:
Permite uma verificação minuciosa da
especificação do problema
Com a alta qualidade dos Solvers atuais é difícil
afirmar a priori que não será capaz de atender os
requisitos de eficiência (tempo de resolução)
Quando o Solver inicialmente não atende aos
requisitos, é possível parametrizá-los para
encontrar soluções viáveis no tempo
especificado.
127. Metodologia de Desenvolvimento de Solvers da GAPSO
Caso o Solver atenda, temos os seguintes ganhos:
Menor índice de erros no sistema: Solvers são
extensivamente testados.
Evolução/modificação é mais rápida e tem menos
consequências no sistema.
Quando os Solvers evoluem a qualidade das
soluções no sistema também evoluem.
128. Metodologia de Desenvolvimento de Solvers da GAPSO
Caso o Solver não atenda, a GAPSO desenvolve
metaheurísticas, tendo os seguintes ganhos:
Temos uma referência para a qualidade da solução
gerada.
As soluções geradas pelo Solver podem
sugerir abordagens heurísticas.
Permite testar a corretude das soluções geradas
pelas heurísticas.
Pode-se construir um resolvedor híbrido, onde uma
solução heurística pode ser entrada no Solver que é
utilizado para melhorá-la.
129. Metodologia de Desenvolvimento de Solvers da GAPSO
O servidor de otimização desenvolvido tem
sempre como meta a resolução no tempo
requisitado.
A qualidade da solução gerada é a melhor
encontrada neste tempo.
A ênfase do resolvedor se modifica em função do
tempo que se leva para obter uma primeira boa
solução.
130. Integração vertical e horizontal
Garantias e Metas
Compromissos
Decisões alinhadas do estratégico ao operacional
131. Conclusão
Hoje, até mesmo as maiores e mais
complexas operações produtivas
podem se beneficiar fortemente com
a utilização de ferramentas analíticas
de planejamento