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 Entrada (Requisitados) Saída (Resultados) ACO – Colônia de Formigas 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. – 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) 20 15 30 35 20 60 PC 45 75 55 50 85 55 80 25 55 30 • Solução do PCV proposto Implementação e Testes dos Algoritmos de Busca da Seqüência Ótima Soluç ão do PC V c om 8 c idades 90 55 85 80 75 70 60 TP1 i2 TP2 i2 50 40 35 30 20 10 10 20 30 40 TP1 50 60 TP2 i1 i1 70 80 90 Implementação e Testes dos Algoritmos de Busca da Seqüência Ótima • Exemplos de Soluções do SA e ACO p0 1 2 29 .76 9 1 1 5 6 0 8 2 4 7 0 7 7 3 0 6 8 0 5 6 8 0 4 5 2 0 3 4 5 0 2 3 4 S A nn neal in gp ( 0 f 6 0 0 .80 2 00 2 0) S 3 2 6 A CO 8 5 2 0 1 5 0 .5 1 0 1 00 D 1 8 7 6 2 29 .76 9 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 4 3 2 1 12 3 4 4 1 2 3 4 t op 2 4 5 8 11 3 4 6 2 4 5 6 6 7 8 9 1 2 3 8 Emprego dos algoritmos SA e ACO na solução de PPP • Cenários verificados com o PPP TESTE Cená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ário s FS01 MS EU Exemplo de Seqüência 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: AnnnealingG ( p0 FO 5 0.01 0.90 200 20) HR Ev oluç ão da Soluç ão - Problem a Tes te - SA (F S07) 80 70 HR is 1 60 52 50 40 0 500 1000 1500 2000 is 2500 3000 3500 4000 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: 6 SACO ACO 8 5 200 1 2 0.6 10 100 Dop Ev oluç ão da Soluç ão - ProblemaTest e - ACO (FS07) 65 60 SACO 9 is 55 52 50 0 20 40 60 80 100 is 120 140 160 180 200 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_i ni cialp ( 0) fo r i 1 2 0 ri FO( p 0) rnd( 1 ) p 0 v iz( p 0 ) FO_ max max( r ) FO_ min mi n( r ) FO FO_ max FO_ min T0 FO l n( 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 nx nt númerode iterações(tentativa s) com 8 jobs o número de combinações é de 40.320 (possibilidades) Emprego dos algoritmos SA e ACO na solução de PPP SA viz Parâmetros:T= 3; = 0.9; nx= 300; nT= 20 viz1 MS* = 52 (100%) MS* = 52 (25%) 20 300 8 0.149 viz2 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 ACO Parâmetros: N = 300; = 1; = 2; = 0.6; T0 = 10-6; Q =100 5 ‘formigas’ 10 ‘formigas’ 15 ‘formigas’ MS* = 52 (6%) 5 300 8 0.037 MS* = 52 (9%) 10 300 8 0.074 MS* = 52 (8%) 15 300 8 0.112 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 st 1 Seqüência I I 1 1 8 8 2 2 7 7 3 3 6 6 4 5 4 5 5 st 2 4 st 3 5 st 4 4 6 6 3 3 7 7 2 2 8 8 1 1 FO( st 1) 7 0 FO( st 2) 7 2 FO( st 3) 6 0 FO( st 4) 6 0 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 5 7 3 6 3 5 9 2 9 3 10 5 8 4 4 6 4 6 4 9 t op 1 10 6 6 6 10 1 7 3 10 9 6 3 2 7 10 7 2 4 1 5 6 1 9 2 8 2 1 3 1 9 5 9 5 9 9 5 5 2 8 Comparação com resultados da literatura 1 0 1 2 6 7 • Problema Castier2 6 1 7 5 8 3 – com 12 jobs distribuídos em 6 equipamentos 7 10 8 3 4 1 6 1 9 10 1 1 5 7 0 4 1 6 t op 5 9 8 1 4 3 3 2 2 7 4 4 3 4 7 3 8 8 7 5 5 4 1 6 9 8 6 4 9 5 3 9 8 8 6 9 8 2 6 0 3 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 – Castier2 ig 1 6 00 0 S 0) Co mpara( 6 00 0p 130 86 120 S ig 2 S ig 1 110 100 90 80 85 90 95 100 110 105 S 115 120 125 130 ig 1 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 Teste ig 1 6 00 S Co mpara( 6 00 p 0) 80 52 70 S ig 2 S ig 1 60 50 50 55 60 65 S 70 75 80 ig 1 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 Castier2 SA viz Parâmetros:T= 5; = 0.9; nx= 300; nT= 20 viz1 MS* = 86 (3%) MS* = 86 (1%) viz2 MS* = 86 (3%) Comparação com resultados da literatura • Resultados para Castier2 nx = 300 SA Parâmetros:T= 3; = 0.9; nT= 20- viz nx = 500 nx = 1000 MS* = 86 (7%) MS* = 86 (7%) MS* = 86 (14%) Comparação com resultados da literatura • Resultados para Castier2 ACO 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%) 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