Otimização de Processos COQ 897 Prof. Evaristo C. Biscaia Jr. Prof. Príamo A. Melo Jr. Trabalho...
Transcript of Otimização de Processos COQ 897 Prof. Evaristo C. Biscaia Jr. Prof. Príamo A. Melo Jr. Trabalho...
Otimização de Processos COQ 897
• Prof. Evaristo C. Biscaia Jr.
• Prof. Príamo A. Melo Jr.
Trabalho Final do Curso – 3º Período 2002
Utilização de Algoritmos Naturais no Planejamento Seqüencial
da Produção em Plantas Seriais Multiproduto Operando em Regime
de Batelada
Aluno: Alexandre Rodrigues Tôrres
Tópicos do Trabalho
• Introdução• Descrição do Problema de Planejamento da
Produção• Implementação e Testes dos Algoritmos de Busca da
Seqüência Ótima • Emprego dos Algoritmos SA e ACO na solução de
Problemas de Programação da Produção • Comparação com resultados da literatura • Conclusões
Introdução
• Novas Tecnologias – Automação e Informatização
• Produtos com alto valor agregado• Plantas Químicas — ‘Química Fina’• Problemas de PPCP• Aplicativos para ERP’s• Emprego de Algoritmos Naturais (SA e ACO)
Tópicos do Trabalho
• Introdução• Descrição do Problema de Planejamento da
Produção• Implementação e Testes dos Algoritmos de Busca da
Seqüência Ótima • Emprego dos Algoritmos SA e ACO na solução de
Problemas de Programação da Produção • Comparação com resultados da literatura • Conclusões
Descrição do Problema de Planejamento da Produção
• Programação da Produção– ordens de fabricação – jobs– recursos disponíveis – equipamentos
• Objetivo – menor make span– sem estoques intermediários– com estoques intermediários
• limitados
• ilimitados
Descrição do Problema de Planejamento da Produção
• Formas de Avaliação dos PPP – GRAVES(1981)– geração de pedidos;– complexidade do processo produtivo;– critérios de programação.
Descrição do Problema de Planejamento da Produção
• Geração de Pedidos– reposição de estoques de produto acabado ou a
chamada produção empurrada (make to stock ou closed shop)
– atendimento aos pedidos dos clientes, com a reposição de estoques em sentido contrário ao fluxo de produção ou produção puxada (make to order ou open shop)
Descrição do Problema de Planejamento da Produção
• Complexidade do Processos– um estágio, um processador para cada ordem
de fabricação;– um estágio, processadores paralelos;– múltiplos estágios e mesma seqüência (flow
shop ou planta multiproduto);– múltiplos estágios e várias seqüências (job
shop ou planta multiprocesso).
• multipropósito — multiproduto ou multiprocesso
Descrição do Problema de Planejamento da Produção
• Critérios de Programação– existência de estoques intermediários limitados
ou ilimitados– possibilidades de formar seqüências e suas
influência nos tempos de preparação dos recursos (setups dos equipamentos)
– existência de seqüências proibidas.
Descrição do Problema de Planejamento da Produção
• Abordagem do PPP– regras de prioridade;– otimização combinatorial;– análise de restrições
• Abordagem neste trabalho– otimização combinatorial com o emprego de
algoritmos estocásticos de busca global
Tópicos do Trabalho
• Introdução• Descrição do problema de planejamento da
produção• Implementação e testes dos algoritmos de busca da
seqüência ótima • Emprego dos algoritmos SA e ACO na solução de
problemas de programação da produção • Comparação com resultados da literatura • Conclusões
Implementação e Testes dos Algoritmos de Busca da Seqüência
Ótima
• Algoritmos testados– Recozimento Simulado (SA – Simulated
Annealing)– Colônia de Formigas (ACO – Ant Colony
Optimization)
• Ambiente / Linguagem = MathCAD®
Implementação e Testes dos Algoritmos de Busca da Seqüência
Ótima• Características dos Algoritmos
SA – Recozimento Simulado ACO – Colônia de Formigas
Entrada (Requisitados)
x – vetor inicial;f – função objetivo;T – ‘temperatura’ inicial; – fator de redução da ‘temperatura’;nx – número de ciclos em x;nT – número de ciclos para ‘temperatura’.
n – dimensão do problema;m – número de ‘formigas’;N – número de ciclos para busca; – expoente de peso na probabilidade relacionado à quantidade de ‘feromônio’; – expoente de peso na probabilidade relacionado à ‘distância’; – fator de evaporação do ‘feromônio’;T0 – quantidades iniciais de ‘feromônio’Q – numerador de normalização da distância total para acréscimo do ‘feromônio’;D – matriz das ‘distâncias’ entre cada dimensão da solução.
Saída (Resultados)
– valor da função objetivo no ponto ótimo;– vetor x correspondente ao ponto ótimo
– valor da função objetivo no ponto ótimo;– vetor x correspondente ao ponto ótimo
Implementação e Testes dos Algoritmos de Busca da Seqüência
Ótima
• Problema Teste: Problema do Caixeiro Viajante (PCV)
PC
20
30
20
45
55
85
80
55
15
35
60
75
50
55
25
30
Implementação e Testes dos Algoritmos de Busca da Seqüência
Ótima
•S
oluç
ão d
o P
CV
pro
post
o
35
75
TP1i 2
TP2i 2
8555
TP1i 1 TP2
i 110 20 30 40 50 60 70 80 90
10
20
30
40
50
60
70
80
90
Solução do PCV com 8 cidades
Implementação e Testes dos Algoritmos de Busca da Seqüência
Ótima
• Exemplos de Soluções do SA e ACO
p0
1
6
7
3
4
8
2
5
S Annnealing p0 f 60 0.80 200 20( ) S
229.769
0
0
0
0
0
0
0
1
8
7
6
5
4
3
2
1
2
7
8
6
5
4
3
ACO 8 5 20 1 5 0.5 10 6 100 D
5
4
3
2
1
8
7
6
229.769
A solução do PCV corresponde a um ciclo fechado ótimo portanto a solução (5,4,3,2,1,8,7,6), obtida com o algoritmo ACO é idêntica a (1,8,7,6,5,4,3,2) obtida pelo algoritmo SA.
Tópicos do Trabalho
• Introdução• Descrição do problema de planejamento da
produção• Implementação e testes dos algoritmos de busca da
seqüência ótima • Emprego dos algoritmos SA e ACO na solução de
problemas de programação da produção • Comparação com resultados da literatura • Conclusões
Emprego dos algoritmos SA e ACO na solução de PPP
• Estrutura de dados do PPP• Entrada idêntica ao PCV• Características do PPP:
– número de ordens de fabricação ou jobs (j);
– número de máquinas ou equipamentos (m);
– tempo de operação de cada job em cada equipamento (top)
Emprego dos algoritmos SA e ACO na solução de PPP
• Critérios de Programação Testados– não existência de estoques intermediários
(WIS – without intermediate stocks);– existência de estoques intermediários com
limitações (LIS – limited intermediate stocks);– existência de estoques intermediários
ilimitados (UIS – unlimited intermediate stocks).
• Não foram testadas as influências dos tempos de setup e a existência de seqüências proibidas
Emprego dos algoritmos SA e ACO na solução de PPP
• PPP TESTE básico– 8 ordens de produção– 4 equipamentos– nível de complexidade: flow shop– critérios de programação: WIS, LIS e UIS
Emprego dos algoritmos SA e ACO na solução de PPP
• Matriz de tempos de operação do PPP TESTE
top
4
12
1
2
11
2
6
1
3
3
2
4
3
4
7
2
2
4
3
5
4
5
8
3
1
4
4
8
6
6
9
8
Emprego dos algoritmos SA e ACO na solução de PPP
• Cenários verificados com o PPP TESTECenários Estoques Intermediários Tipo Função Objetivo
FS01 Sem WIS MS
FS02 Limitado (no equipamento)
LIS MS
FS03 Limitado (no equipamento)
LIS MS + EU
FS04 Limitado – único(fora do equipamento)
LIS MS
FS05 Limitado – único(fora do equipamento)
LIS MS + EU
FS07 Ilimitado UIS MS
MS = make span; EU = estoque utilizado
Emprego dos algoritmos SA e ACO na solução de PPP
• Resultados com o SA e ACO
Cenários
MS EU Exemplo de Seqüência
FS01 59 0 (8,4,5,6,7,2,3,1)
FS02 53 27 (3,8,4,7,5,6,2,1)
FS03 57 11 (3,1,8,4,7,5,2,6)
FS04 52 24 (8,6,4,7,2,5,3,1)
FS05 55 11 (8,4,5,6,7,2,3,1)
FS07 52 31 (8,6,4,7,2,5,3,1)
Emprego dos algoritmos SA e ACO na solução de PPP
• Gráfico de Gantt para o problema denominado Teste, sem estoques intermediários, com a melhor solução obtida representando um make span de 59 unidades de tempo (FS01).
Emprego dos algoritmos SA e ACO na solução de PPP
• Gráfico de Gantt para o problema denominado Teste, com estoques intermediários limitados, com a melhor solução obtida representando um make span de 52 unidades de tempo e uma utilização total de estoque de 31 unidades de tempo(FS07).
Emprego dos algoritmos SA e ACO na solução de PPP
• Análise dos Resultados do PPP TESTE
Emprego dos algoritmos SA e ACO na solução de PPP
• Exemplo de evolução da solução, do problema Teste, em uma dada execução da rotina do método Simulated Annealing (SA) no MathCAD com os seguintes parâmetros:
HR AnnnealingG p0 FO 5 0.01 0.90 200 20( )Evolução da Solução - Problema Teste - SA (FS07)
52
HRis 1
is0 500 1000 1500 2000 2500 3000 3500 4000
40
50
60
70
80
Emprego dos algoritmos SA e ACO na solução de PPP
• Exemplo de evolução da solução, do problema Teste, em uma dada execução da rotina do método Ant Colony Optimization (ACO) no MathCAD com os seguintes parâmetros:
SACO ACO 8 5 200 1 2 0.6 10 6 100 DopEvolução da Solução - ProblemaTeste - ACO (FS07)
52
SACO9 is
is0 20 40 60 80 100 120 140 160 180 200
50
55
60
65
Emprego dos algoritmos SA e ACO na solução de PPP
• Testes com o SA:– ‘Temperatura’ inicial– Vizinhança– Número de iterações
Emprego dos algoritmos SA e ACO na solução de PPP
• Testes com o SA: ‘Temperatura’ inicial– DAS et al. (1996) T_inicial p0( )
ri
FO p0( )
rnd 1( )
p0 viz p0 ( )
i 1 20for
FO_max max r( )
FO_min min r( )
FO FO_max FO_min
T0 FO
ln 0.10( )
T0
Emprego dos algoritmos SA e ACO na solução de PPP
• Testes com o SA: Vizinhança– viz — idêntica a utilizada no PCV, uma posição na seqüência é sorteada randomicamente e trocada
com a posição seguinte;– viz1 — são sorteadas duas posições randomicamente e trocados os jobs um com o outro;– viz2 — somente uma posição é sorteada randomicamente, este job é deslocado para a última
posição da seqüência, enquanto os demais são deslocados uma posição em cascata.
Emprego dos algoritmos SA e ACO na solução de PPP
• Testes com o SA: Número de iterações– nx– nt
s)(tentativa iterações de númerontnx
com 8 jobs o número de combinações é de 40.320 (possibilidades)
Emprego dos algoritmos SA e ACO na solução de PPP
0
20
40
60
80
100
120
Make sapn mínimo
0
20
40
60
80
100
120
Make span mínimo
0
20
40
60
80
100
120
Make span mínimo
20 300
8 0.149
SA
Parâmetros:T= 3; = 0.9; nx= 300; nT= 20viz viz1 viz2
MS* = 52 (100%) MS* = 52 (25%) MS* = 52 (100%)
Emprego dos algoritmos SA e ACO na solução de PPP
• Testes com o ACO:– Matriz ‘distâncias’– Número de iterações: número de ‘formigas’ x
número de ciclos
Emprego dos algoritmos SA e ACO na solução de PPP
0
10
20
30
40
Make span mí nimo
0
10
20
30
40
Make span mí nimo
0
10
20
30
40
Make span mí nimo
5 300
8 0.037
10 300
8 0.074
15 300
8 0.112
ACO
Parâmetros: N = 300; = 1; = 2; = 0.6; T0 = 10-6; Q =1005 ‘formigas’ 10 ‘formigas’ 15 ‘formigas’
MS* = 52 (6%) MS* = 52 (9%) MS* = 52 (8%)
Emprego dos algoritmos SA e ACO na solução de PPP
• Testes como o ACO: Matriz de ‘distâncias’– MS de dois jobs isolados [ 2 8 ] [ 8 2 ] (Seq. I)– diferença de MS em uma determinada seqüência
de j jobs de dois determinados jobs (Seq. II)
Emprego dos algoritmos SA e ACO na solução de PPP
• Exemplo da influência da matriz ‘distância’Seqüência I Seqüência II
st1
1
2
3
4
5
6
7
8
st2
1
2
3
5
4
6
7
8
st3
8
7
6
4
5
3
2
1
st4
8
7
6
5
4
3
2
1
FO st1( ) 70 FO st2( ) 72 FO st3( ) 60 FO st4( ) 60
Tópicos do Trabalho
• Introdução• Descrição do problema de planejamento da
produção• Implementação e testes dos algoritmos de busca da
seqüência ótima • Emprego dos algoritmos SA e ACO na solução de
problemas de programação da produção • Comparação com resultados da literatura • Conclusões
Comparação com resultados da literatura
• Resultados de AHON et al. (2000) – Problema Castier1– Problema Castier2
Comparação com resultados da literatura
• Problema Castier 1– com 6 jobs distribuídos em 10 equipamentos
top
5
10
1
9
5
9
7
5
10
6
6
5
3
8
6
3
1
9
6
4
6
2
9
5
3
4
6
7
2
9
5
6
10
10
8
9
9
4
1
7
2
5
2
6
7
2
1
5
9
4
3
4
3
2
3
9
10
1
1
8
Comparação com resultados da literatura
• Problema Castier2– com 12 jobs
distribuídos em 6 equipamentos
top
1
6
7
6
5
5
3
3
7
9
3
8
0
1
10
1
7
9
2
4
5
8
9
2
1
7
8
9
0
8
2
7
5
6
8
6
2
5
3
10
4
1
7
3
4
4
8
0
6
8
4
1
1
4
4
8
1
9
6
3
7
3
1
1
6
3
4
8
6
5
9
5
Comparação com resultados da literatura
• Desempenho do SA em AHON et al. (2000)– Castier1 : MS mínimo = 88 unidades de tempo
em mais de 99% das execuções realizadas;– Castier2 : MS mínimo = 86 unidades de tempo
em mais de 70% das execuções realizadas.
Comparação com resultados da literatura
• Resultados para Castier1– apresentou resultados ainda melhores que o
Problema Teste para os algoritmos SA e ACO. Este fato já era esperado pois é um problema de dimensão menor que o PPP TESTE, pois Castier1 tem 6! possibilidades enquanto o Problema Teste tem 8!.
Comparação com resultados da literatura
• Resultados para Castier2– ... tem uma dimensão bem maior, constituindo-se
uma avaliação bastante adequada para este trabalho. O número de combinações possíveis é 11880 vezes maior que o PPP TESTE.
Comparação com resultados da literatura
• Resultados ótimos obtidos com os algoritmos SA e ACO para o Problema Castier2
Cenários MS EU Exemplo de Seqüência
FS01 108 0 (1,2,4,11,10,3,5,7,8,6,9,12)
FS07 86 105 (8,1,11,3,7,10,9,2,5,4,6,12)
Comparação com resultados da literatura
• Testes com o cálculo do MS – Castier2ig 1 6000 S Compara 6000 p0( )
Sig 2
Sig 1
86
Sig 1
85 90 95 100 105 110 115 120 125 13080
90
100
110
120
130
Gráfico dos resultados da busca aleatória para a solução ótima (mínimo) do Problema Castier2 Cenário FS07 com 20*300 = 6000 tentativas (Sig,1 = FO deste trabalho, Sig,2 =
FO de AHON et al. (2000)).
Comparação com resultados da literatura
• Testes com o cálculo do MS – PPP Testeig 1 600 S Compara 600 p0( )
Sig 2
Sig 1
52
Sig 1
50 55 60 65 70 75 8050
60
70
80
Gráfico dos resultados da busca aleatória para a solução ótima (mínimo) do Problema Teste Cenário FS07 com 20*30 = 600 tentativas (Sig,1 = FO deste trabalho, Sig,2 = FO de
AHON et al. (2000))
Comparação com resultados da literatura
• Resultados para Castier2SA
Parâmetros:T= 5; = 0.9; nx= 300; nT= 20viz viz1 viz2
MS* = 86 (3%) MS* = 86 (1%) MS* = 86 (3%)
0
10
20
30
40
50
60
Make span mínimo
0
10
20
30
40
50
60
Make span mínimo
0
10
20
30
40
50
60
Make span mínimo
Comparação com resultados da literatura
• Resultados para Castier2SA
Parâmetros:T= 3; = 0.9; nT= 20- viz
nx = 300 nx = 500 nx = 1000
MS* = 86 (7%) MS* = 86 (7%) MS* = 86 (14%)
0
10
20
30
40
50
60
70
85 86 87 88 89 90 Mais
Make span mínimo
0
10
20
30
40
50
60
70
85 86 87 88 89 90 Mais
Make span mínimo
0
10
20
30
40
50
60
70
85 86 87 88 89 90 Mais
Make span mínimo
Comparação com resultados da literatura
• Resultados para Castier2ACO
Parâmetros: N = 200; = 1; = 2; = 0.6; T0 = 10-6; Q =100
8 ‘formigas’ 16 ‘formigas’ 32 ‘formigas’
MS* = 90 (1%) MS* = 90 (1%) MS* = 89 (1%)
0
24
6
8
1012
14
16
Make span mínimo
0
5
10
15
20
25
30
Make span mínimo
0
5
10
15
20
25
30
Make span mínimo
Comparação com resultados da literatura
Tópicos do Trabalho
• Introdução• Descrição do problema de planejamento da
produção• Implementação e testes dos algoritmos de busca da
seqüência ótima • Emprego dos algoritmos SA e ACO na solução de
problemas de programação da produção • Comparação com resultados da literatura • Conclusões
Conclusões• o ambiente MathCAD é promissor na solução de PPP;
• em todos os testes realizados o algoritmo SA; mostrou-se, em condições de comparação, com desempenho superior ao ACO;– a simplicidade da estrutura de funcionamento do método SA é uma
vantagem inexorável sobre o ACO;
– a dependência do método ACO em relação à forma construção da matriz de ‘distâncias’ é muito elevada;
• as limitações impostas pelo ambiente MathCAD traduziram-se num tempo de execução elevado;
• A estrutura de definição da vizinhança é um fator preponderante para o sucesso na busca da solução para o método SA
Conclusões• a estrutura de construção da matriz de ‘distâncias’, decide o
desempenho do método ACO;
• a definição da ‘temperatura’ inicial com o algoritmo de DAS et al. (1990), é muito mais eficiente que qualquer outra forma de definir o parâmetro