COMPUTACIONAL PARA APOIO CONSTRUO DE PROGRAMAS DE PRODUO NUMA LINHA DE INSERO DE COMPONENTES ELETRNICOS EM PLACAS DE CIRCUITO IMPRESSO.
Manoel Carlos Pego Saisse (INT) manoelca@int.gov.br
Resumo O presente trabalho prope um novo modelo para tratamento de problemas de programao da produo baseado nas tcnicas de algoritmos genticos aliadas algoritmos de simulao computacional com programao por capacidade finita. A etapa dee codificao do cromossomo no algoritmo gentico aqui proposto foi formulada com base na dimenso temporal do programa de produo, particionando o horizonte de planejamento em perodos de tempo que representam os genes do cromossomo. O simulador de capacidade finita atua no apenas como decodificador dos cromossomos gerados pelo algoritmo 31 de Julho a 02 de Agosto de 2008
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
2 gentico, mas tambm como aprimorador das solues construdas a cada nova gerao. O modelo foi codificado em linguagem computacional e testado num ambiente real de produo, tendo apresentado resultados expressivamente promissores, tanto no que se refere qualidade das solues obtidas frente aos objetivos gerenciais buscados, quando velocidade de gerao destas solues
Abstract This paper presents a new model for dealing with production scheduling problems based on genetic algorithms, computer simulation and finite capacity scheduling. The coding phase of the genetic algorithm is based on the temporal dimension off the production schedule. The planning horizon is divided into temporal periods, each of which represents a gene of the chromosome. The finite capacity simulator not only translates de chromosomes in terms of the objective function but also improves the solutions formulated in each new generation of the genetic algorithm. This model has been codified in computational language and tested with real production scheduling data. The results obtained are significantly promising both in terms of quality and speed of the production schedules generated.
Palavras-chaves: Programao da Produo, Algoritmos Genticos, Simulao Computacional
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
3
1. INTRODUO
A expanso da variedade de produtos ofertados e a acelerao da introduo de novos produtos tem sido uma constante nos mercados modernos de bens manufaturados. Em funo destas tendncias os planos de produo se tornaram cada vez mais instveis e as alternativas de produo disponveis no cho de fbrica se ampliaram, o que tornou mais complexa a tarefa de gesto da capacidade produtiva no curto prazo. Como bem observa Vollmann(2005) na medida em que passam a lidar com uma variedade cada vez maior de materiais, produtos e alternativas de processamento o universo de solues possveis para os problemas de programao da produo tambm se amplia, portanto os sistemas de planejamento e controle devem se adaptar no sentido de desenvolver uma capacidade de resposta cada vez mais ampla e rpida. O presente trabalho prope um novo modelo para tratamento de problemas de programao da produo baseado nas tcnicas de algoritmos genticos e simulao computacional. O algoritmo gentico aqui proposto atua em conjunto com um simulador de capacidade finita para dar suporte ao processo de busca de uma soluo satisfatria de programao da produo no curto prazo. Os algoritmos genticos trabalham diretamente com os valores da funo objetivo dos problemas tratados, o que, lhes d maior flexibilidade quando os objetivos do problema se alteram com freqncia, na medida em que a esta tcnica evita anlises que envolvam a estrutura interna do problema. O universo de solues possveis para o problema explorado a partir de grupos de solues alternativas (diferentemente dos mtodos tradicionais de busca que analisam uma soluo por vez), o que reduz o risco dos algoritmos serem atrados para timos locais e os torna mais adequado para navegao em universos de solues complexos, como o caso daqueles formados pelos problemas reais de programao da produo. O algoritmo proposto foi desenvolvido a partir de um problema real de produo e seus primeiros testes demonstraram resultados extremamente promissores, tanto no que se refere qualidade das solues geradas quanto aos tempos de processamento necessrios para ger-las.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
4
2. UM PROBLEMA REAL DE PROGRAMAO DA PRODUO
A empresa manufatureira cuja linha de produo serviu de referncia para o desenvolvimento do modelo proposto neste trabalho uma multinacional, lder mundial de mercado no setor de produtos eletro-eletrnicos. A linha de produo em questo, que denominaremos daqui por diante de LIAC (Linha de Insero Automtica de Componentes), localiza-se na cidade de Manaus, no Estado do Amazonas. A LIAC recebe como material bsico para suas operaes, placas de material polimrico com o desenho do circuito eletrnico previamente impresso, e componentes eletrnicos (resistores, capacitores, circuitos integrados), e tem como funo montar, atravs de soldagem e meios mecnicos, os componentes eletrnicos nas placas formando assim as placas de circuito impresso prontas, que sero usadas na montagem final dos produtos eletro-eletrnicos. O programador da produo da LIAC possui longa experincia tanto tcnica como gerencial. Sua percepo global das possibilidades e limitaes da LIAC foi significativamente ampliada com o uso de um sistema computacional de apoio programao da produo baseado em tcnicas de simulao computacional e capacidade finita, adquirido a cerca de dois anos pela empresa. Mesmo dispondo desta ferramenta, que lhe permite avaliar rapidamente vrias solues alternativas para os problemas dirios que enfrenta, ele se ressente do pouco tempo de que dispe para gerar novos programas de produo a partir do instante em que as necessidades de replanejamento so identificadas. A complexidade do universo de solues possveis de serem aplicadas a problemas reais de programao da produo aliada freqncia de replanejamento e a urgncia com que a fbrica demanda solues para lidar com ambientes de mercado cada vez mais instveis faz com que o planejador da LIAC seja forado a emitir programas de produo que no atingem a totalidade das metas pretendidas, o que o leva freqentemente a recorrer a renegociao de alguns prazos de entrega. A insero dos componentes eletrnicos nas placas feita por mquinas automticas. As placas so colocadas nas mquinas manualmente, uma a uma, sendo removidas tambm manualmente aps o trmino do processamento. Cada mquina recebe uma placa de cada vez.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
5 H quatro tipos de mquinas envolvidas no processo de insero de componentes: (i) Seqenciadores, VCDs, Radiais e SMDs. Cada mquina possui um horrio de funcionamento que pode ou no ser diferente dos horrios das demais mquinas, e que previamente conhecido. Os horrios de funcionamento das mquinas no so contnuos, podendo incluir paradas regulares (almoo e janta), folgas (domingos e feriados) e paradas programadas eventuais (manuteno preventiva). H um nmero fixo e previamente conhecido de mquinas de cada tipo. Considera-se que sempre h um operador disponvel para cada mquina. Cada placa s processada uma nica vez em cada tipo de mquina. O roteiro de fabricao de cada placa nico, e deve seguir sempre uma mesma ordem, definida a partir dos tipos de operao a serem processadas. O roteiro de fabricao de cada placa indica, para cada tipo de operao, as mquinas especficas nas quais a placa pode ser processada. A velocidade de processamento das mquinas medida em termos da quantidade de placas que uma mquina pode processar em uma hora de trabalho contnuo, e varia em funo do modelo da placa, do nmero e da posio dos componentes eletrnicos a serem inseridos em cada operao. Estoques de placas semi-processadas so formados ao final de cada estgio de fabricao, bem como um estoque de placas prontas ao final da linha de produo. Limitaes de capacidade de armazenamento destes estoques no so consideradas para efeitos de montagem do programa de produo. Parte-se do princpio que os materiais necessrios fabricao das placas (placas e componentes eletrnicos) estaro sempre disponveis, logo os processamentos referentes ao primeiro estgio dos roteiros de produo podem ser iniciados sem nenhuma verificao prvia de disponibilidade de materiais. Para os demais estgios de fabricao, s possvel iniciar o processamento de uma quantidade Q de placas quando houver, no mnimo, Q placas do mesmo tipo disponveis no estoque aps processo do estgio imediatamente anterior do roteiro de fabricao. No incio do horizonte de planejamento so registradas as quantidades de placas disponveis nos estoques aps processo de cada estgio do roteiro de fabricao. Estes estoques iniciais de placas semi-processadas so considerados quando do clculo da demanda de fabricao de cada placa em cada um dos seus estgios de fabricao ao longo do horizonte de planejamento.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
6 As placas so processadas numa estrutura de lotes. Os lotes de processamento (que definem a quantidade placas de um mesmo tipo que pode ser processada seguidamente por um mesmo recurso) no possuem tamanho mximo definido, porm, possuem um tamanho mnimo determinado pelo lote de transferncia de um determinado estgio para o estgio seguinte. O tamanho do lote de transferncia de cada placa em cada um dos seus estgios de fabricao um dado de entrada do problema. Como cada recurso s pode produzir, no mnimo, uma quantidade equivalente a um lote de transferncia de uma placa de cada vez, os lotes de produo sero sempre mltiplos inteiros dos lotes de transferncia, sendo que, cada vez que um recurso completa a quantidade equivalente a um lote de transferncia, esta imediatamente transferida para o estgio seguinte. O repasse das placas prontas do seu ltimo estgio de processamento para os estoques finais que abastecem a linha de montagem tambm segue esta mesma lgica. O material necessrio ao processamento de cada lote de transferncia (placas semi- processadas at o estgio anterior ao do lote em questo quando o lote no se refere ao primeiro estgio de um roteiro de processamento) reservado antes do incio do processamento. Uma vez iniciado, o processamento de um lote de transferncia numa determinada mquina dever seguir at o fim nesta mesma mquina e no poder ser interrompido em hiptese alguma. Diariamente, a linha de montagem requisita dos estoques finais de placas da LIAC as quantidades de placas definidas no cronograma de produo. Chamaremos de Entregas, s requisies dirias de placas prontas. Todas as requisies programadas para serem entregues num mesmo dia so cobradas num mesmo horrio pr-definido, quando a linha de montagem transfere para seus estoques de materiais as placas requisitadas do estoque final da LIAC. A esta transferncia chamaremos Pagamento de Entrega. O nmero mximo de aparelhos que podem ser pagos num determinado instante com os estoques disponveis de placas prontas determinado pelo menor estoque das placas prontas que compem o aparelho a ser pago. Assim, se o aparelho RADIO_A utiliza duas placas, RADIO_A_PLACA1 e RADIO_A_PLACA2 e se, no momento do pagamento de uma entrega que requisita 800 aparelhos, os estoques e placas prontas apontam uma quantidade de 500 placas RADIO_A_PLACA1 e 800 placas RADIO_A_PLACA2, s ser possvel pagar o equivalente a 500 aparelhos RADIO_A. As 300 placas prontas RADIO_A_PLACA2 que
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
7 permanecero nos estoques de placas prontas s podero ser utilizadas em pagamentos do aparelho RADIO_A quando houver uma quantidade igual de placas prontas RADIO_A_PLACA1 em estoque. Se a quantidade de placas prontas disponvel nos estoques finais for menor do que a requisitada por uma determinada entrega no dia previsto para o seu pagamento, a quantidade que falta continuar sendo requisitada com prioridade mxima nos dias seguintes, no mesmo horrio fixo, at que a entrega em questo tenha sido completamente paga. Consequentemente, o pagamento de uma entrega planejada para um determinado dia s pode ser iniciado aps o pagamento integral de todas as entregas prevista para o mesmo aparelho que a antecedem. Continuando o exemplo acima, suponha que haja uma entrega prevista de mais 400 aparelhos RADIO_A prevista para o dia 9 no cronograma de produo. O pagamento desta entrega s poder ser iniciado aps a fbrica ter produzido as 300 placas RADIO_A_PLACA1 que faltam para o pagamento integral da entrega deste mesmo aparelho prevista para o dia 8. O cumprimento dos prazos de entrega objetivo fundamental a ser perseguido no ambiente de produo estudado, portanto, estabeleceremos que os planos de produo gerados sero avaliados conforme o seguinte ndice de pontualidade :
Entregas Pontuais / Total de Entregas Demandadas no Horizonte de Planejamento
3. ALGORITMOS GENTICOS, SIMULAO COMPUTACIONAL E PROBLEMAS DE PROGRAMAO DA PRODUO
Uma das maiores dificuldades impostas pelos problemas reais de seqenciamento e programao de tarefas a enorme complexidade da relao entre as variveis envolvidas e as solues possveis. Fang et al.(1994), observam que, para problemas de seqenciamento, a complexidade e o tamanho do universo de possveis solues aliado grande ocorrncia de timos locais, dificulta a obteno de solues timas em tempo razovel atravs de mtodos convencionais de busca e/ou inteligncia artificial. Esta caracterstica faz com que mtodos convencionais enumerativos - tais como branch and bound e programao dinmica que tentam resolver o problema atravs de um processo de mapeamento do universo de solues
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
8 seguido da eliminao de solues no timas - se tornem extremamente demorados quanto aplicados a problemas reais de produo (French, 1982). Estas dificuldades so freqentemente citadas na literatura como sendo tpicas dos problemas para os quais os algoritmos genticos oferecem uma alternativa bastante adequada Goldberg(1989). Com relao complexidade estrutural dos problemas de seqenciamento, os algoritmos genticos trabalham apenas com os valores da funo objetivo, sem realizar nenhum tipo avaliao que inclua a explorao da estrutura interna do problema. No que se refere ocorrncia de timos locais, os algoritmos genticos so especialmente hbeis em evitar este tipo de armadilha. Os algoritmos genticos necessitam avaliar um grupo de solues vlidas luz da funo objetivo do problema a cada nova iterao, por isso, devem atuar em conjunto com mecanismos de avaliao precisos e rpidos. No caso dos problemas de programao da produo, os simuladores de capacidade finita podem preencher a funo do mecanismo de avaliao, uma vez que, os exemplares mais modernos so capazes de gerar um programa de produo vivel de porte real e avali-lo em poucos segundos (Carvalho & Costa, 2004), (Sasse & Wilding, 1997), (Saisse, 2001).
4. O CROMOSSOMO TEMPORAL
Para codificar, na forma de uma matriz finita, uma soluo vlida para o problema de programao da produo descrito anteriormente, tomamos como ponto de partida o conjunto de programas de trabalho das mquinas envolvidas no problema. Cada um destes programas de trabalho define os instantes de incio e fim de processamento dos lotes de transferncia atribudos a cada mquina, e, por excluso, os momentos durante os quais esta dever permanecer inativa. Para o problema de programao da produo tratado neste trabalho, todas as possveis solues ocorrem dentro de um mesmo intervalo de tempo (horizonte de planejamento) determinado previamente, portanto, optamos por fragmentar este intervalo em perodos de tamanho fixo.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
9
Figura 1- Fragmentao do Horizonte de Planejamento em Perodos
O cromossomo temporal tem a forma de uma matriz de recursos x perodos, onde as linhas representam os recursos e as colunas os perodos. Cada posio da matriz corresponde a um par recurso x perodo, e contem informaes que indicam o estado de ocupao do recurso durante o intervalo de tempo abrangido pelo perodo considerado. processamento de um lote de tranferncia do Item l1 Recurso R1 Tempo P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 Recurso R2 Recurso R3 processamento de um lote de transferncia do Item l2 P14 P15 P16 P17 Perodo do Cromossoma Temporal Lote de Transferncia do Modelo l1 no recurso R1
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
Operao_1- Cdigo identificador da primeira operao que atravessa o perodo Inicio_de_Operao1 - Instante no qual a operao descrita no campo Operao_1 inicia seu atravessamento no perodo considerado Fim_de_Operao1- Instante no qual a operao descrita no campo Operao_1 termina o seu atravessamento no perodo considerado Entrega_1 - Entrega relacionada operao descrita no campo Operao_1 Operao_2 - Cdigo identificador da primeira operao que atravessa o perodo Inicio_de_Operao2 - Instante no qual a operao descrita no campo Operao_1 inicia seu atravessamento no perodo considerado Fim_de_Operao2 - Instante no qual a operao descrita no campo Operao_1 termina o seu atravessamento no perodo considerado Entrega_2 - Entrega relacionada operao descrita no campo Operao_2
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
11
Para determinar o tamanho do perodo, tomamos o conjunto dos dados relativos aos tempos de processamento de todos os lotes de transferncia definidos para o problema tratado e calculamos o menor tempo necessrio, Tmin, para processar um lote de transferncia. Na descrio do problema assumimos que, uma vez iniciado, o processamento de um lote de transferncia deve seguir at o fim no mesmo recurso, portanto, se estabelecermos o tamanho do perodo como sendo igual a Tmin, podemos garantir que nenhum perodo ser atravessado pelo processamento de mais do que duas operaes distintas (veja o perodo 9 do recurso 2 na figura 1). As informaes contidas em cada perodo funcionam como ordens de ativao/desativao com incio e fim definidos, que indicam, para um determinado intervalo de tempo, se o recurso dever permanecer parado ou se dever estar processando uma determinada operao. Como o perodo pode envolver at duas operaes distintas, necessrio dispor de dois grupos de campos identificadores de operao e intervalo de processamento. Os campos identificadores de operaes informaro quais operaes foram processadas durante os perodos. Os campos relativos aos intervalos de processamento informaro os instantes de incio e fim de cada uma das duas operaes processadas durante o perodo. Alm destes, o perodo conter ainda mais dois campos que armazenaro informaes sobre as entregas que esto relacionadas a cada uma das operaes que o atravessam. Estes dois ltimos campos sero discutidos em mais detalhes na prxima seo deste trabalho. Apesar de poderem abranger at duas operaes distintas, muitos perodos abrangem apenas uma operao. Neste caso, apenas os campos de identificao de operaes e de incio e fim de processamento referentes primeira operao do perodo sero preenchidos. Caso nenhuma operao esteja sendo executada pelo recurso durante o perodo em questo, nenhum dos campos do perodo ser preenchido. Por fim, apenas quando o perodo abrange duas operaes distintas todos os seus campos sero preenchidos. Os genes so as unidades mnimas de informao que podero ser retiradas de uma soluo durante o processo de formao de uma nova soluo filha. No caso do cromossomo temporal, os genes so o conjunto de informaes relacionados a cada perodo (figura 2).
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
12 Denominaremos genes de produo aos genes que estiverem ligados a um perodo que prev o processamento de ao menos uma operao. Caso o gene esteja associado a um intervalo de tempo durante o qual o recurso dever permanecer parado ele ser chamado de gene vazio.
5. A DECOMPOSIO DA FUNO OBJETIVO
A funo objetivo do problema proposto neste trabalho - medida a partir da razo entre o nmero de entregas pagas no prazo e o total de entregas previstas para serem pagas no horizonte de planejamento - pode ser decomposta numa srie de objetivos parciais, cada um dos quais definidos pela busca de pontualidade no pagamento de uma das entregas envolvidas no problema. Cada um destes objetivos parciais se constitui, portanto, numa entrega isolada, que pode ser analisada independentemente das demais. Se a entrega foi paga no prazo, trata-se de um objetivo atingido que representa uma boa caracterstica do indivduo. Quanto mais boas caractersticas o indivduo conseguir acumular, maior o seu valor. Esta decomposio da funo objetivo ser muito til, na medida em que, como veremos adiante, o cromossomo temporal permite que se estabelea uma ligao entre alguns de seus genes e os objetivos parciais que formam a funo objetivo do problema.
6. O MAPEAMENTO DO CROMOSSOMO TEMPORAL
No cromossomo temporal, possvel estabelecer uma cadeia de relacionamentos que une os genes de produo funo objetivo do problema. Cada gene de produo est diretamente ligado a um lote de transferncia. O algoritmo de simulao discreta utilizado no processo de decodificao permite rastrear cada lote de transferncia e determinar em qual entrega os seus itens foram utilizados (Nunes & Costa, 2004). Esta relao aplicada ao vetor de quantidades acumuladas, calculado a partir da frmula apresentada nesta seo, permite estabelecer uma ligao entre cada gene de processamento do cromossomo e uma entrega. Com base na ligao identificada entre os genes de processamento e as entregas previstas, foram estabelecidas duas classes de valor para os genes de processamento: (i) Genes Promissores - Para que uma entrega qualquer E j seja paga no prazo, preciso que
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
13 todos os itens I k por ela demandados atinjam o nvel mnimo de produo acumulada Q min (E j.
I k ) at a data prevista para o seu pagamento. Conforme citamos acima, o decodificador utilizado no modelo proposto capaz de estabelecer uma ligao entre cada um dos genes de produo do cromossomo e uma das entregas envolvidas no problema. Para que um gene seja considerado promissor, preciso que a entrega E j , que foi paga com os itens I k produzidos em funo da informao contida no gene, tenha sido integralmente paga dentro do prazo previsto;(ii) Genes Pobres - Se o gene de processamento no atinge a condio da entrega qual se encontra relacionado ele denominado pobre. Cabe notar que o conceito de gene promissor pode ser desenvolvido de diferentes formas. Os genes promissores, como o prprio nome sugere, so aqueles responsveis pelas boas caractersticas do indivduo, porm o que se considera uma boa caracterstica certamente varia de acordo com a estrutura do problema considerado. A classificao de valor dos genes de processamento e o mtodo de mapeamento dos genes do cromossomo temporal foram desenvolvidos para aumentar a eficincia do operador de cruzamento. As informaes sobre o mapeamento e o valor do gene podem ser armazenadas no prprio gene. Para isso servem os dois campos denominados Entrega_1 e Entrega_2. Cada um deles ser preenchido com o cdigo identificador da entrega E j qual o gene est ligado. Adicionalmente, cabe lembrar que, nos genes de parada, os campos referentes s entregas permanecero vazios.
7. SELEO E COMPLEMENTARIDADE
Deste ponto em diante, denominaremos genitores s solues que so selecionadas para serem combinadas e gerarem novas solues. s solues resultantes do cruzamento de um par de genitores denominaremos solues filhas. Nesta etapa, os pares para cruzamento sero montados percorrendo-se toda a populao e buscando, para cada indivduo, o seu complementar em maior grau, que ser o seu par para cruzamento. Um indivduo IC dito complementar de outro indivduo principal I P quando, para uma mesma entrega, o nmero de aparelhos pagos na data prevista da entrega
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
14 em I C maior do que o nmero de aparelhos pagos na mesma entrega em I P. Quanto maior o nmero de entregas nesta situao, maior o grau de complementaridade entre dois indivduos. Este procedimento pode resultar na duplicao de pares quando, por exemplo, numa determinada populao, a soluo B a que apresenta o maior grau de complementaridade em relao soluo A e, simultaneamente, a soluo A apresenta o maior grau de complementaridade em relao soluo B. Neste caso, apenas um dos pares formados submetido ao cruzamento. Numa populao contendo M indivduos este mtodo de seleo poder formar, no mximo, M pares para cruzamento - se no houver nenhuma duplicao de par e, no mnimo, M/2 pares para cruzamento - se todos os pares para cruzamento se duplicam. Cada par d origem a duas solues filhas que podero ser passadas para a gerao seguinte, portanto o conjunto de novas solues formadas por cruzamento poder conter de M at 2M elementos. Para evitar que este processo resulte num crescimento indefinido do tamanho da populao, estabelecemos que o tamanho de populao ser fixo ao longo de todo o algoritmo. Quando, para um tamanho fixo de populao M, uma determinada gerao de um algoritmo gentico temporal contiver a mais do que M indivduos filhos, eles sero ordenados em ordem decrescente de valor da funo objetivo, e apenas os M primeiros indivduos filhos sero considerados para realizar os cruzamentos que daro origem prxima gerao. Os genes responsveis por entregas que tiveram seu pagamento realizado com atraso no sero transmitidos para o filho. Para orientar o preenchimento dos vazios deixados por estes genes fracos, cada novo cromossomo montado receber uma lista anexa que conter os cdigos de todas as operaes ligadas s entregas que no receberam genes durante o cruzamento. Esta lista, denominada Lista_de_Operaes/Entregas_Crticas, comear a ser preenchida aps a formao do par para cruzamento, com os cdigos de todas as operaes ligadas s entregas que se encontram com o pagamento de entrega atrasado em ambos os genitores.
8. O MTODO DE CRUZAMENTO
O mtodo de cruzamento utilizado neste modelo aplicado sobre cada um dos pares de solues complementares, formados segundo o mtodo de seleo descrito anteriormente.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
15 Cada par de genitores realizar dois cruzamentos, dando origem assim a dois indivduos filhos. Para formar o primeiro filho um dos genitores, denominado dominante, ser escolhido para exercer um papel preponderante na transmisso de genes promissores para o filho enquanto que o outro, denominado recessivo, transmitir ao filho apenas os genes que complementam as deficincias do genitor dominante. O segundo filho de cada par ser gerado invertendo-se os papis atribudos aos genitores, ou seja, o indivduo dominante se torna recessivo e o indivduo recessivo se torna a dominante. A classificao de valor dos genes de processamento apresentada neste trabalho permite um melhor aproveitamento da situao de complementaridade dos genitores resultante do processo de seleo, uma vez que possibilita a identificao dos genes mais "fortes" de cada indivduo. O genitor recessivo dever contribuir apenas com o que de melhor ele puder oferecer para reforar as caractersticas do genitor dominante. Para tanto, devero ser selecionados do genitor recessivo, apenas os genes de processamento promissores para os quais as entregas correspondentes no genitor dominante estejam atrasadas. Tais genes sero denominados Complementares, e devem atender s seguintes condies dentro do par formado para cruzamento: (i) Os itens I k fabricados em funo da informao contida no gene devem ter sido utilizados no pagamento de uma entrega E j que foi paga integralmente dentro do prazo previsto. (ii) A mesma entrega E j deve ter tido o seu pagamento integral realizado com atraso no genitor dominante. Os genes de processamento do genitor recessivo que no atenderem a estes requisitos sero denominados de Genes No Complementares. O operador de cruzamento desenvolvido funciona em duas etapas. Na primeira, todos os genes promissores do genitor dominante so transmitidos para o novo filho. Para tanto, o operador de cruzamento percorre as linhas dos recursos do cromossomo temporal no sentido crescente do tempo. Para os genes de processamento, verifica-se se a entrega correspondente foi integralmente paga dentro do prazo. Caso esta condio se verifique, o gene copiado para o indivduo filho na mesma posio (instante do horizonte de planejamento) que ocupava no genitor dominante. Na segunda etapa do cruzamento so copiados para o novo filho, os genes complementares o genitor dominante que ocupam posies distintas dos genes promissores que j lhe foram transmitidos na etapa anterior do cruzamento. Em outras palavras, os genes
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
16 complementares s podero ocupar, no cromossomo do filho, os espaos de tempo que permaneceram vazios aps a execuo da primeira etapa de cruzamento.
9. A LISTA DE ENTREGAS CRTICAS
O filho parcialmente formado na primeira etapa no recebe nenhum gene referente s entregas que no conseguiram ser pagas no prazo no genitor dominante. Na segunda etapa do cruzamento, os genes complementares transmitidos ao filho pelo genitor recessivo podem no ser suficientes para cobrir todas as entregas envolvidas no problema. Os pares (operao,entrega) referentes s entregas que no conseguiram receber genes de nenhum dos genitores tambm foram so copiados para um vetor denominado Lista_de_Operaes/Entregas_Crticas, que servir de guia para o preenchimento das lacunas do cromossomo formado a partir da etapa de cruzamento. Veremos a seguir que este preenchimento ser realizado pelo algoritmo de simulao discreta, durante a etapa de decodificao do cromossoma temporal.
10. ESPAOS VAZIOS NO CROMOSSOMO TEMPORAL
Aps a realizao do cruzamento, faz-se necessrio decodificar os cromossomos resultantes para que se possa avaliar os novos indivduos formados em funo do valor que a funo objetivo assume em cada um deles. A etapa de decodificao do cromossomo temporal realizada por um algoritmo de simulao discreta, inspirado na estrutura proposta por Costa (1996) para um simulador de capacidade finita voltado para ambientes de produo sob encomenda. No modelo de algoritmo gentico proposto, o algoritmo de simulao no apenas decodifica o cromossomo, mas tambm participa ativamente no processo de construo da nova soluo gerada. A soluo formada aps a etapa de cruzamento apresenta diversos espaos vazios, portanto, caber ao algoritmo de simulao preench-los tomando como base as informaes contidas na Lista_de_Operaes/Entregas_Crticas. Este preenchimento fundamental no s para se tentar cobrir as reas do problema no resolvidas durante o
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
17 cruzamento, mas tambm para assegurar o bom desempenho dos genes promissores transmitidos ao filho na etapa de cruzamento. Durante o processo de decodificao, o algoritmo de simulao executar, sempre que possvel, os carregamentos ordenados pelo cromossomo. A Lista_de_Operaes/Entregas_Crticas funciona como uma lista de operaes crticas, que ordenada em funo da data de entrega. Sempre que o algoritmo de simulao detecta, num determinado recurso, um espao vazio onde no h carregamentos previstos pelo cromossomo, ele percorre a Lista_de_Operaes/Entregas_Crticas, buscando encontrar uma operao que possa ser carregada no recurso sem invadir o espao dos genes promissores. Por outro lado, sempre que se atinge a quantidade mnima acumulada que uma entrega demanda de uma operao, o par (operao, entrega) retirado da Lista_de_Operaes/Entregas_Crticas. Suponhamos que uma determinada placa P1 seja demandada por seis entregas consecutivas denominadas respectivamente E1, E2, E3, E4, E5, E6, sendo que E1, E2, E3 e E6 foram pagas no prazo e E4 e E5 foram pagas com atraso. Suponhamos ainda que, durante o cruzamento, no se conseguiu transmitir para o filho formado nenhum gene promissor ligado s entregas E4 e E5. O cromossomo filho apresentar um "vazio" com relao aos genes que comandam a fabricao de placas para cobrir as entregas E4 e E5, vazio este que deveria ser coberto pelos carregamentos comandados pela Lista_de_Operaes/Entregas_Crticas.
E1 E6 E5 E4 E3 E2 t1 t4 t3 t2 Genes promissores ligados s entregas E1,E2,e E3 Vazio (Genes ligados a E4 e E5 atrasados no foram copiados) Genes promissores ligados entrega E6 Incio do HP Tempo Vazio a ser Preenchido com a Lista De Entregas/Operaes Crticas
Figura 3 - Vazios resultantes da etapa de cruzamento
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
18 Por outro lado, a Lista_de_Operaes/Entregas_Crticas atua como uma lista ordenada, e provavelmente conter, no apenas as operaes relativas s entregas E4 e E5, mas todos os pares (operao, entrega) crticos que no foram cobertos pelos genes do cruzamento e que esto ligados a outras placas que no P1. A disputa pelos espaos vazios pode se dar de uma forma tal que no se consiga pagar a entrega E5 a tempo (antes do instante t3), o que faria com que os primeiros genes que foram transmitidos originalmente para pagar a entrega E6 passassem a comandar carregamentos que seriam utilizados para pagar a entrega E5 com atraso. Neste caso, a entrega E6 passa a ser uma entrega crtica no problema. Sempre que o algoritmo de simulao projeta o carregamento de um lote de transferncia decorrente de um gene originrio do cruzamento, ele avalia em qual entrega este carregamento ser utilizado. Se o lote resultante estiver sendo direcionado para uma entrega anterior quela a qual o gene estava ligado originalmente no genitor de origem, os comandos de carregamento desta entrega para o recurso considerado contidos no cromossomo so cancelados e os pares (operao, entrega) correspondentes so transferidos para a Lista_de_Operaes/Entregas_Crticas, que tentar carreg-los de uma forma mais intensa porm atuando em contexto com as demais entregas crticas. No caso do exemplo mostrado acima, se durante um carregamento decorrente de um gene que estava ligado entrega E6 no genitor principal, o algoritmo de simulao detecta que o lote resultante encontra-se na faixa de pagamento de E5, os comandos de carregamento de E5 contidos no cromossomo sero cancelados para o recurso em questo e a operao, juntamente com a entrega E5, sero adicionadas Lista_de_Operaes/Entregas_Crticas.
11. AVALIAO DO MODELO PROPOSTO
Para efeitos de teste e avaliao, desenvolvemos uma implementao do Algoritmo Gentico Temporal em Visual Basic 6. Para leitura de dados de entrada e gravao dos resultados utilizamos um banco de dados implementado em Microsoft Access. Esta plataforma a mesma utilizada pelo simulador de capacidade finita See The Future, atualmente implantado na empresa de referncia. Os testes foram realizados num microcomputador de tipo PC, com processador Pentium 2.4 GHz e 1 Gb de memria RAM.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
19 Optamos por realizar os experimentos de avaliao do Algoritmo Gentico Temporal com base em dois conjuntos dados extrados de uma situao real de produo na empresa de referncia. O porte e a complexidade dos problemas representados nestes conjuntos de dados so muito superiores aos da maior parte dos problemas Benchmark de seqenciamento (Taillard, 1993). Os dois problemas envolvem um conjunto de 23 mquinas, processando 10 placas pertencentes a 7 aparelhos eletrnicos distintos. Os cronogramas de produo englobam demandas de mais de 20000 unidades de aparelhos, resultando na programao de mais de 2900 lotes de transferncia no problema de maior porte. O problema inclui complicadores tais como horrios de funcionamento de mquinas que incluem paradas dirias para refeies, roteiros de produo que incluem mquinas alternativas, lotes de produo variveis, dentre outros fatores. Os dois conjuntos de dados utilizados para teste envolvem basicamente: (i) Dados referentes aos recursos produtivos disponveis; (ii) dados referentes aos produtos a serem fabricados; (iii) O cronograma de produo da fbrica. Os dados referentes aos recursos so os mesmos nos dois conjuntos de dados, e representam a estrutura da linha de produo da empresa de referncia, composta por 23 mquinas agrupadas em quatro diferentes grupos, de acordo com o tipo de operao que so capazes realizar. Os dados de produtos utilizados tambm foram os mesmos, envolvendo 10 diferentes placas com caractersticas de produo distintas. A distino entre os dois conjuntos de dados de teste reside nos planos de entrega e nos estoques iniciais de placas.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
20 12. AS SOLUES INICIAIS
Os cronogramas de produo semanais - que formam nos dados de entrada de demanda da programao de curto prazo - so montados com base num planejamento de mdio prazo, que considera, de forma agregada, as limitaes de capacidade da fbrica. Disto resulta que as solues iniciais de programao montadas pelo planejador de produo com o auxlio de um sistema de capacidade finita aberto apresentam, em geral, padres de desempenho de pontualidade que atingem ndices superiores a 70% de entregas pontuais. As maiores dificuldades comeam a surgir quando o planejador tenta se aproximar dos nveis prximos ao timo de pontualidade da situao de produo corrente. O ciclo de construo de solues de programao nos sistemas abertos segue a lgica: ajustar novas decises gerenciais, acionar algoritmo de capacidade finita, avaliar nova soluo gerada. As decises quase timas, em geral, so muito frgeis uma vez que so concebidas sobre um grande conjunto de decises gerenciais fortemente interligadas. Estas solues representam timos locais do universo de busca, que podem dar ao planejador a falsa impresso de que o timo global j foi atingido. O Algoritmo Gentico Temporal trabalha num nvel de muito mais especfico do que o que programador da produo quando da tomada das decises gerenciais. Isto permite que os pontos fortes de cada uma das solues de programao disponveis sejam precisamente identificados e extrados para serem recombinados na forma de novas solues aperfeioadas. Dois conjuntos de quatro solues de programao geradas pelo simulador See The Future para o problema acima foram utilizados como populao inicial para as corridas do algoritmo gentico temporal. Cada uma destas solues se constitui num programa de produo que abrange de cerca de 3000 lotes de transferncia distintos, indicando precisamente os instantes de incio e fim de processamento de cada um dos lotes, a mquina responsvel por cada processamento e os tempos de preparao envolvidos. Estas solues foram construdas pelo planejador da produo responsvel pela linha de produo utilizada nos testes, utilizando um sistema programao da produo por simulao com capacidade finita, e serviram de ponto de partida para os testes do algoritmo gentico temporal.
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
21 13. APRESENTAO E ANLISE DOS RESULTADOS
O algoritmo gentico temporal foi aplicado aos dois problemas descritos anteriormente com uma populao inicial de 4 indivduos e um total de 10 geraes. O tempo de processamento do algoritmo gentico temporal para o problema 1 foi de 5 minutos e para o problema 2, 7 minutos. Anlise dos Resultados do Problema 1 Mdia de Pontualidade da Populao 80 85 90 95 100 0 1 2 3 4 5 6 7 8 9 10 Gerao
Figura 4 - Evoluo da mdia da pontualidade e do nmero de aparelhos entregues com atraso no problema 1
Na primeira gerao do algoritmo gentico temporal foi formada uma soluo com ndice de pontualidade (97%) e nmero de aparelhos entregues com atraso (295), muito mais favorveis do que os da melhor soluo fornecida na populao inicial (91,1% de pontualidade e 795 aparelhos entregue com atraso). Esta foi a primeira soluo construda na primeira gerao do algoritmo gentico temporal. Ela resulta do cruzamento da melhor soluo inicial com a sua soluo complementar. Em todos os cruzamentos da primeira gerao a nova soluo obtida apresentou um desempenho de entrega melhor do que o desempenho do genitor dominante que a gerou. Isto nem sempre se mantm. O primeiro indivduo da segunda gerao, por exemplo, apresenta um desempenho de pontualidade igual ao do seu genitor principal, porm seu desempenho de nmero de aparelhos atrasados inferior. Este mtodo de cruzamento incrementa a ainda diversidade criando novos genes que podero favorecer a outros indivduos, o que nos levou a dispensar a etapa de mutao. A Mdia de Aparelhos Entregues com Atraso 0 1000 2000 3000 0 1 2 3 4 5 6 7 8 9 10 Gerao
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
22 mdia de pontualidade da populao continua a aumentar at a stima gerao e a mdia de aparelhos entregues com atraso decai at a terceira gerao. Na segunda gerao surge, no terceiro indivduo, a melhor soluo desta corrida do algoritmo gentico, com 97 % de pontualidade e 195 aparelhos entregues com atraso, o que representa uma reduo de 75 % no nmero de aparelhos atrasados da melhor soluo da populao inicial. Anlise dos Resultados do Problema 2
Figura 5 - Evoluo da mdia da pontualidade e do nmero de aparelhos entregues com atraso no problema 2
No caso do problema 2, a reduo obtida no nmero de entregas pagas fora do prazo foi de cinco entregas atrasadas, na melhor soluo da populao inicial, para duas entregas atrasadas, na melhor entrega gerada pelo algoritmo gentico temporal. A reduo no nmero de aparelhos atrasados no segundo problema atingiu ndice de cerca de 84 % - 2025 aparelhos entregues com atraso na melhor soluo da populao inicial contra 325 aparelhos entregues com atraso na melhor soluo gerada pelo algoritmo gentico temporal. Estes resultados, bem como os do Problema 1 mostram que o algoritmo gentico temporal foi capaz de agir no s ampliando o ndice global de pontualidade, mas tambm reduzindo o nmero de itens entregues com atraso. Mdia de Aparelhos Entregues Com Atraso 0 2000 4000 6000 0 1 2 3 4 5 6 7 8 9 10 Gerao Mdia de Pontualidade da Populao 70 75 80 85 90 95 100 0 1 2 3 4 5 6 7 8 9 10 Gerao
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
23 14. CONCLUSES E POSSVEIS DESDOBRAMENTOS
A idia de particionamento do horizonte de planejamento em intervalos de tempo discretos representa uma profunda inovao nos mtodos de codificao de algoritmos genticos aplicados a problemas de seqenciamento. O algoritmo gentico temporal prope que o tempo seja utilizado como eixo bsico do processo de codificao, o que contribui para reduzir a ocorrncia de fenmenos aleatrios - disrupo e epistasia - inerentes ao uso dos algoritmos genticos. O algoritmo gentico temporal se utiliza do mtodo de codificao baseado no tempo e na possibilidade de rastreamento do caminho percorrido por cada lote de produo ao longo do horizonte de planejamento - oferecida pelas tcnicas de simulao discreta utilizadas nos sistemas de capacidade finita -, para avaliar o grau de contribuio de cada gene do cromossomo para a funo objetivo de pontualidade. Com isso, foi possvel criar um mtodo de cruzamento onde os genes a serem transmitidos para os filhos so escolhidos de forma determinstica, de acordo com a sua contribuio para a funo objetivo. O mtodo de seleo proposto gera pares para cruzamento onde os indivduos genitores apresentam caractersticas complementares no que se refere funo objetivo, ou seja, as caractersticas mais "fracas" de um genitor do par pertencem ao conjunto das caractersticas "fortes" no seu par de cruzamento. O Algoritmo Gentico Temporal foi implementado e testado em problemas reais de produo, de porte e complexidade muito mais elevados do que os tradicionais problemas benchmark de seqenciamento disponveis na literatura. Nestes testes, o Algoritmo Gentico Temporal foi capaz de gerar programas de produo aperfeioados demandando um tamanho de populao e um nmero de geraes expressivamente menor do que os usualmente utilizados na literatura corrente de algoritmos genticos. O tempo de processamento do algoritmo gentico temporal nos testes feitos com base em dados reais de produo indica que ele perfeitamente adequado para o uso em situaes reais de produo. A estrutura do algoritmo gentico temporal pode facilmente ser adaptada para outros ambientes de produo que no o abordado neste trabalho. Em determinados ambientes de produo sob encomenda, onde equipamentos com complexas estruturas de material so
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
24 fabricados em quantidades reduzidas, o rastreamento do caminho percorrido por cada item de produo ainda mais simples do que nas estruturas de produo em massa. O conceito de gene promissor pode tambm ser trabalhado de diferentes formas. No caso dos ambientes de produo sob encomenda citado acima, o conceito de gene promissor poderia incluir no apenas os itens ligados a entregas pontuais, mas sim todos os itens cujos processamentos se encerraram com uma antecedncia tal que seria possvel ainda processar os demais itens que o sucedem na rvore de material adicionados de um tempo de espera estimado e ainda assim entregar o produto dentro do prazo previsto. Isto permitiria o aproveitamento de partes potencialmente promissoras do programa de produo relacionadas a produtos previstos para serem entregues com atraso.
REFERNCIAS
Carvalho, A. R. N., Costa, R. S., Simulao Computacional para programar as atividades de produo, Revista Mquinas e Metais, So Paulo, p. 122 - 133, Maro, 2004. Costa, R. S., Pontualidade Total na Produo sob Encomenda: Conceito, Tecnologia e Uso da Simulao Computacional na Gesto do Cho-de-Fbrica, Tese de Doutorado, COPPE/Universidade Federal do Rio de Janeiro, Rio de Janeiro, Brasil, 1996. Fang, H. F., Genetic Algorithms in Timetabling and Scheduling, Tese de Doutorado, Universidade de Edimburgo, Edimburgo, Inglaterra, 1994. French, S., "Sequencing and Scheduling: An Introduction to The Mathematics of the Job Shop", London, Ellis Horwood Limited, 1982. Goldberg, D. E., "Genetic Algorithms in Search, Optimisation, and Machine Learning", United Kingdom, Addison-Wesley Publishing, 1989. Saisse, M. C. P. ,Wilding, R. Short-Term Strategic Management in Mass Customized Markets. Logistics Information Management, Inglaterra, Vol 10, Num. 4 e 5, p. 199-207, 1997. Saisse, M.C. P. Inovao e flexibilidade na produo em massa Uma investigao sobre o uso de programao evolucionria aliada simulao computacional para apoio
IV CONGRESSO NACIONAL DE EXCELNCIA EM GESTO Responsabilidade Socioambiental das Organizaes Brasileiras Niteri, RJ, Brasil, 31 de julho, 01 e 02 de agosto de 2008
IV CNEG
25 programao da produo no curto prazo. Tese de Doutorado, COPPE/Universidade Federal do Rio de Janeiro, Rio de Janeiro, Brasil. Taillard, E., (1993), Benchmarks for Basic Scheduling Problems, European Journal of Operational Research, v. 64, n. 2, pp. 278-285. Vollman, T. E., Berry, W. L., Whybark, D. C. , J acobs, F. R. Manufacturing Planning & Control Systems for Sopply Chain Management, NewYork, McGraw-Hill, 2005.