Você está na página 1de 30

Andr Luis de Moraes RA 0300518

Otimizao do processo produtivo de montagem de placas SMT, especificamente aparelhos celulares, rdios de comunicao e placas de estao de rdio base.

Jaguarina 2006

Andr Luis de Moraes RA 0300518

Otimizao do processo produtivo de montagem de placas SMT.

Monografia apresentada disciplina Trabalho de Graduao, do Curso de Cincia da Computao da Faculdade de Jaguarina, sob a orientao do Prof. Slvio Petroli Neto, como exigncia essencial concluso do curso de graduao.

Jaguarina 2006
1

MORAES, Andre Luis. Otimizao do processo produtivo de montagem de placas SMT, especificamente aparelhos celulares, rdios de comunicao e placas de estao de rdio base. Monografia defendida e aprovada na FAJ em 12 de dezembro de 2005 pela banca examinadora constituda pelos professores:

________________________________________________________________ Prof. Slvio Petroli Neto Orientador Faculdade de Jaguarina

________________________________________________________________ Prof. Jos Arnaldo Geraldini Nunes Faculdade de Jaguarina

________________________________________________________________ Prof. Paulo Roberto Galvo Faculdade de Jaguarina


2

Aos meus pais, Almando Luiz (in memria) e Maria Izabel que sempre motivaram e apoiaram meus estudos. E tambm Mariana e Arthur por sua pacincia, apoio e dedicao.

Agradecimentos.

A realizao desta Monografia s foi possvel pelo apoio de inmeras pessoas. A todos manifesto minha gratido. E de modo particular: Ao Professor e orientador Slvio Petroli Neto pela orientao dedicada e pelo constante estmulo em todas as fases de realizao deste trabalho e durante as fases do meu estudo. Aos engenheiros Dahyl Salvadego, Ronaldo Yamamura e Humberto Lastori da Motorola Industrial pelas varias informaes cedidas, pelas explicaes e pelo incentivo durante as muitas etapas deste trabalho.

MORAES, Andr Luis. Otimizao do processo produtivo de montagem de placas SMT, especificamente aparelhos celulares, rdios de comunicao e placas de estao de rdio base. Monografia (Bacharelado em Cincia da Computao) Curso de Cincia da Computao da Faculdade de Jaguarina, Jaguarina.

Resumo
Este trabalho apresenta uma pesquisa em algoritmos genticos e suas aplicaes em otimizao de processo produtivo. Nele so apresentadas aplicaes bsicas de um algoritmo gentico como criao de populao, mutao, cruzamento funo de avaliao, e de eliminao de populao. Para realizao dos testes computacionais foram utilizados arquivos que contem informaes sobre placas de circuitos eletrnicos que so adaptados para um determinado equipamento fazendo com que ele consiga interpretar as informaes e executar a montagem da placas de circuito impresso, com o menor tempo possvel.
Palavras-chave: ALGORITMOS GENTICOS, PLACAS STM, MONTAGEM DE PLACAS, CIRCUITO IMPRESSO

Lista de figuras
Figura 1 - Soldagem PTH e SMT............................................................................................ 10 Figura 2 Modelo circuito SMT............................................................................................. 10 Figura 3 - Processo de Montagem SMT. ................................................................................ 11 Figura 4 Modelo de linha SMT. ........................................................................................... 12 Figura 5 - Exemplo da funo cruzamento. ............................................................................ 23 Figura 6 - Exemplo da funo Mutao. ................................................................................. 25

Sumrio
Resumo ......................................................................................................................................5 Lista de figuras ..........................................................................................................................6 Sumrio......................................................................................................................................7 1. Introduo. ............................................................................................................................8 1.1. Tecnologias...................................................................................................................... 8 2. Estrutura do Trabalho. ..........................................................................................................8 3. Otimizao.............................................................................................................................9 4. Processo SMT. .......................................................................................................................9 4.1. Fluxograma do processo SMT....................................................................................... 11 5. Algoritmo Gentico. ............................................................................................................12 5.1. Historia e conceitos bsicos do Algoritmo Gentico..................................................... 12 5.1.1. Gerao de uma populao inicial.......................................................................... 15 5.2. Introduo algoritmos gentico. .................................................................................... 16 5.3. Codificao.................................................................................................................... 16 5.4. Funo de Avaliao. .................................................................................................... 17 5.5. Convergncia Prematura................................................................................................ 17 5.6. Finalizao Lenta........................................................................................................... 17 5.7. Reproduo.................................................................................................................... 17 5.8. Crossover. ...................................................................................................................... 18 5.9. Mutao. ........................................................................................................................ 18 5.10. Convergncia. .............................................................................................................. 18 6. Formulao. ........................................................................................................................19 6.1. Equipamento.................................................................................................................. 19 6.1.2. Velocidade da mesa XY. ........................................................................................ 19 6.2. Componente................................................................................................................... 20 6.3. Arquivo tratando as informaes do arquivo .CAD. ..................................................... 20 6.4. Abordagem do AG para otimizao do problema. ........................................................ 21 6.4.1. Funo principal. .................................................................................................... 21 6.4.2. Funo iniciar. ........................................................................................................ 21 6.4.3. Funo Avaliar. ...................................................................................................... 22 6.4.4. Funo Cruzamento................................................................................................ 23 6.4.4.1. Cdigo da Funo Cruzamento. ...................................................................... 24 6.4.5. Funo Mutao. .................................................................................................... 24 6.4.5.1. Cdigo da Funo Mutao............................................................................. 25 6.4.6. Funo Elimina....................................................................................................... 25 7. Testes elaborados. ...............................................................................................................26 8. Concluso. ...........................................................................................................................28 9. Referncias Bibliogrficas. .................................................................................................29

1. Introduo.
1.1. Tecnologias.
Os grandes avanos tecnolgicos, experimentados nos ltimos anos, possibilitaram a utilizao de equipamentos, tcnicas e produtos que at pouco tempo s existiam em teses, em conseqncia deste avano tecnolgico, os processos produtivos da indstria foram amplamente automatizados. A utilizao da tecnologia disponvel possibilitou um grande avano nos nveis de preciso, flexibilidade e capacidade de realizar grandes volumes de produo. O processo de montagem de circuitos eletrnicos um exemplo. Para a montagem das placas de circuitos eletrnicos h a necessidade de um alto grau de preciso e de controle das variveis de processo, e na maioria dos casos, as fbricas so configuradas para atender um grande volume de produo, e de forma geral, os trabalhos manuais tm sido cada vez menos aplicados, dando lugar ao uso da inteligncia e do raciocnio. A otimizao do processo produtivo de montagem de placas SMT (Surface Mount Technology), um exemplo dessa inteligncia aplicada ao processo produtivo. Estaremos fazendo uso da inteligncia artificial para conseguir melhorar o desempenho das mquinas incersoras de componentes eletrnicos, garantido um menor tempo de montagem e obtendo maior produtividade. Para otimizao foi utilizada a tcnica de algoritmo gentico, que tem como vantagem a simplificao que ele permite na formulao e solues de problemas de otimizao.

2. Estrutura do Trabalho.
Este trabalho apresenta as seguintes etapas: A pesquisa bibliogrfica sobre os algoritmos genticos, processo produtivo de linha SMT, mtodo de otimizao utilizando algoritmo gentico, resultados obtidos com a abordagem proposta para otimizao. O trabalho esta dividido em introduo, conceitos de otimizao, processo SMT, conceitos bsicos de algoritmo gentico, abordagem do problema utilizando algoritmo gentico e resultados obtidos. No capitulo 3, apresentada uma descrio de otimizao. No capitulo 4 descreve-se o processo produtivo de montagem de circuito eletrnico com tecnologia SMT, onde feita uma comparao com a tecnologia que a antecedeu.
8

No capitulo 5 so apresentados conceito bsicos sobre algoritmos genticos, e entre as etapas de um algoritmo gentico pesquisou-se as etapas de gerao da populao, codificao de um algoritmo gentico e os operadores genticos cruzamento e mutao. No capitulo 6 descreve-se a abordagem do problema, como utilizamos o algoritmo gentico para solucionar o problema de otimizao. No capitulo 7 so descritos os testes feitos e os resultados obtidos com o algoritmo elaborado e o capitulo 8 a concluso do trabalho.

3. Otimizao.
Pode se definir otimizao como uma necessidade de eficincia. Ela pode-se dividir em duas etapas: O reconhecimento de alternativas e a deciso. Na primeira fase, se reconhece uma tarefa ou problema, e possibilidade de optar entre vrias hipteses, em seguida, acaba por escolher aquela que considera-se a melhor opo (KANITZ,STEPHEN,2003). Pode ser considerada qualitativa, quando o julgamento feito atravs do bom senso uma escolha por achar que a opo a melhor entre as demais, ou quantitativa quando a escolha se baseia em metodos e conseitos matemticos. Existem trs categorias de otimizao: I. Preferencial, baseada na preferncia e no gosto; II. Matemtica, que se baseia no aspecto quantitativos e; III. Econmica, que surge como uma combinao das duas categorias anteriores (KANITZ, STEPHEN, 2003).

4. Processo SMT.
O processo de montagem SMT (Surface Mount Technology) ou Tecnologia de Montagem em Superfcie, tambm conhecido como SMD (Surface Mount Device, ou Dispositivos de Montagem em Superfcie). Nessa tecnologia, os componentes eletrnicos so montados sob a superfcie de uma placa de circuito impresso, j na tecnologia que antecedeu a SMT, conhecida como PTH (Pin Through Hole ou Pinos atravs de Furos), os pinos ou terminais dos componentes eram inseridos manualmente e soldados atravs de furos na placa de circuito impresso. Nesse tipo de tecnologia PTH normalmente so usadas pessoas para realizar a montagem dos componentes e a soldagem dos componentes acontece numa
9

mquina atravs de uma onda de solda lquida que percorre a superfcie inferior do circuito impresso. Na tecnologia SMT normalmente so usadas mquinas incersoras de componentes, chip placer e large placer durante todo o processo de produo, desde a aplicao da pasta de solda ate mesmo a montagem dos componentes e a refuso da pasta de solda, pois os componentes em geral so muito pequenos, sensveis e necessitam de grande preciso de montagem, exigindo um controle muito rgido dos parmetros do processo. A figura 1 abaixo ilustra a diferena das duas tecnologias PTH e SMT.

Figura 1 - Soldagem PTH e SMT

Figura 2 Modelo circuito SMT

10

4.1. Fluxograma do processo SMT.


Na figura 2, ilustra-se um modelo proposto para uma linha de produo SMT, com a grande variedade de equipamentos que trabalham com a tecnologia SMT podemos ter diferentes configuraes de linha de produo. Na montagem com tecnologia SMT ainda h alguns componentes que so inseridos manualmente mas isso ocorre devido alguns componentes no serem fornecidos com em embalagem apropriada para que as mquina consigam mont-los, mas esse nmero de componente atualmente bem reduzido.

Figura 3 - Processo de Montagem SMT

11

Figura 4 Modelo de linha SMT

5. ALGORITMO GENTICO.
5.1. Historia e conceitos bsicos do Algoritmo Gentico.

Denominamos nossa espcie homo sapiens, pois temos capacidades mentais muito importantes, ate as datas atuais, pesquisas e mais pesquisas so feitas para entender como que funciona nossa forma de pensar, agir, interpretar e responder. A inteligncia artificial (IA), trabalha em paralelo com esses estudos mas vai ainda mais a adiante, ao entender como funciona, l tentar construir algo que represente a capacidade do ser humano(GOLDBARG, PACCA, 2005). O termo IA apareceu pela primeira vez por volta de 1956 e desde que se pronunciou vem crescendo de forma significativa, uma rea de trabalho abrangente que envolve de varias cincias e subcampos como aprendizado e percepo, jogos e demonstrao de teoremas matemticos e ate mesmo diagnstico mdico. (RUSSEL,2004) A IA automatiza tarefas intelectuais, por isso utilizada em um campo de pesquisa e utilidade muito amplo. No h concluses concretas do que realmente a IA, pois vrios livros trazem definies diferentes sobre inteligncia artificial; alguns se baseiam em pensamentos e raciocnios, como [Haugeland,1985] e [Bellman,1978], comportamentos como [kurzwell,1990] e [Poole et.al,1998], comparando a fidelidade ao desempenho humano e o outro mede o sucesso comparando-o a um conceito ideal de inteligncia. (RUSSEL,2004)

12

Alguns fundamentos de inteligncia artificial so baseados em varias reas e disciplinas descritas abaixo como alguns questionamentos que ajudaram os pesquisadores a buscar respostas para tais perguntas e desenvolver tcnicas para solucion-las. (RUSSEL,2004) 1. Filosofia: De onde vem o conhecimento? Regras formais podem ser usadas para obter concluses validas? O que pode ser computado? Como raciocinamos com informaes insertas? Quais so as regras formais para obter concluses validas? Como devemos tomar decises para maximizar o lucro? Como devemos fazer isso quando outros no podem nos acompanhar? Como o celebro processa as informaes? Como os serem humanos pensam e agem? Como podemos construir um computador eficiente?

2. Matemtica:

3. Economia:

4. Neurocincia: 5. Psicologia: 6. Engenharia de Computadores: Entre muitas outras disciplinas, podemos notar que so questes chaves de cada rea (cincia) que a IA busca entender para responder com sistemas capazes de realizar tarefas feitas por humanos. (RUSSEL,2004) Se ns estivermos resolvendo algum problema, ns normalmente estamos procurando alguma soluo que ser a melhor entre outras. O espao de todas as possveis solues (significa objetos entre esse a soluo desejada e) chamado espao de procura (tambm espao estatal). Cada ponto no espao de procura representa uma possvel soluo. Cada possvel soluo pode ser marcada por seu valor ou aptido pelo problema. Nos estamos procurando nossa soluo que um ponto (ou mais) entre possveis solues - isso um ponto no espao de procura. (RUSSEL,2004) O procurar uma soluo ento igual a um procurar algum extremo (mnimo ou Maximo) no espao de procura. O espao de procura pode estar inteiro conhecido ate que de resolver um problema, mas normalmente nos sabemos s alguns pontos disto e nos estamos
13

gerando outros pontos como o processo de achar soluo continua. O problema que a procura pode ser muito complicada. As pessoas no sabem onde procurar a soluo e onde comear. H muitos mtodos, como achar alguma soluo satisfatria (no necessariamente a melhor soluo), por exemplo, colina procura de tabus, reconhecimento simulado e algoritmo gentico. A soluo achada por estes mtodos considerada frequentemente como uma soluo boa, porque no frequentemente possvel provar qual a melhor soluo. (RUSSEL,2004) O processo e dado por otimizaes e buscas a partir de um candidato que, iterativamente, e controlado pela utilizao de algumas heursticas diretamente ligadas ao problema a ser resolvido. Geralmente, o processo heurstico no e algortmico e sua emulao em computadores podem ser muito complexos. Entretanto, por estes mtodos no apresentarem um elevado grau de robustez no significa que sejam inteis, mas so largamente utilizados com sucesso, em inmeras aplicaes. No entanto, as tcnicas de computao evolucionaria trabalham sobre uma populao de candidatos em paralelo. Sendo assim, pode-se executar a busca em diferentes reas do espao de soluo, alocando um nmero de membros apropriados para a busca em varias regies. (RUSSEL,2004) Os AGs diferem dos procedimentos normais de otimizao e busca em quatro aspectos.

Trabalham com uma codificao de conjunto de parmetros, e no com parmetros prprios; Buscam em uma populao de pontos, no com um simples ponto; Utilizam informaes de recompensa (funes objetivo), no derivada de outro conhecimento auxiliar; Utilizam regras de transio probabilsticas, e no regras determinsticas. Desde seu aparecimento na dcada de 50, principalmente nos primeiros anos da

inteligncia artificial foram obtidos muitos sucessos, limitados tecnologia equivalente a sua poca, como computadores primitivos e ferramentas de programao, alem de existir a teoria de que os computadores eram vistos como mquinas para executar operaes aritmticas e nada mais, surpreendia o fato de um computador executar atividade remotamente inteligente. Os pesquisadores apresentavam solues e mais solues, como o modelo de aprendizagem de HEBB que utilizado ate hoje como um modelo para esse tipo de solues. (RUSSEL,2004) Os primeiros pesquisadores eram bastante otimistas quando se falavam de inteligncia artificial, e segundo um deles j previa que em 10 anos uma mquina jogaria xadrez com o
14

melhor jogador do mundo e seria capaz de venc-lo, isso realmente aconteceu mas no como previsto, demorou-se 40 anos para se obter um resultado como esse, pois as primeiras experincias foram feitas com programas que continham poucos ou nenhum conhecimento do assunto e os pequenos resultados eram obtidos por meio de manipulaes sintticas simples. O poder computacional no ficou limitado aos programas de resoluo de problemas. Os primeiros experimentos dos algoritmos genticos em meados de 1958, por Freedlberg, baseava-se em suas apropriadas e pequenas mutaes em um programa de baixo nvel, essa foi opo encontrada para obter um bom desempenho. Os algoritmos genticos atuais utilizam representaes melhores e tem mais sucessos. (RUSSEL,2004) O algoritmo gentico gerado pela combinao de dois estados chamados de estado pai, ao em vez de serem gerados de um nico estado, tambm so gerados atravs da reproduo sexuada.(GOLDBARG, PACCA, 2005) Eles se iniciam com um conjunto de X estados que so gerados aleatoriamente e recebem o nome de populao, onde, cada estado recebe o nome de individuo que representado por um alfabeto finito e freqentemente com valores 0 e 1.(GOLDBARG, PACCA, 2005). Cada estado avaliado por uma funo de avaliao que devera retornar valores mais altos para os melhores estados, esse valor de retorno da funo fundamental pois a probabilidade de um individuo ser escolhido para reproduo proporcional a sua pontuao que a funo de avaliao retorna.(GOLDBARG, PACCA, 2005).

5.1.1. Gerao de uma populao inicial.


O nmero de elementos da populao inicial varia de problema para problema. A gerao desses indviduos feita aleatoriamente obedecendo as regras criadas pelo usuario no decorrer do estudo do problema. A quantidade de elementos da populao influencia no resultado final do algoritmo gentico, pois, quanto maior, maior a probabilidade de convergncia, levando em considerao que o tempo de processamento tambm ser maior (BARRETO, 1999).

15

5.2. Introduo algoritmos gentico.


Segundo RUSSEL a implementao de um algoritmo gentico se d a partir de uma populao de cromossomos gerada aleatoriamente, e os prximos estados so obtidos da mutao de dois estado chamados de estado pai. (...) os estados sucessores so gerados pela combinao de dois estados pais [RUSSEL,2004]. Essa estrutura ser avaliada para reproduo de forma que os melhores resultados encontrados, so associados aos cromossomos que representam uma melhor soluo do problema. A busca da soluo definida com relao populao corrente.

5.3. Codificao.
Se um determinado problema pode ser representado por genes, esses genes podem ser unidos para formar uma cadeia de valores denominados pelo AG como cromossomo. (...) Cada estado, ou indivduo, representado como um cadeia sobre um alfabeto finito muito freqentemente um cadeia de valores 0 e 1. [RUSSEL,2004]. Podemos utilizar como exemplo, um problema de maximizao de uma funo de trs variveis, F (X, Y, Z), poder ser representado cada varivel por um nmero binrio de 10 bits, obtendo-se um cromossomo de 30 bits de longitude e 3 genes. Para codificao de um problema devem-se levar em conta algumas observaes: Deve-se utilizar um alfabeto o menor possvel; As variveis do problema devem ser descritas para poder representar as cadeias de bits; Se o problema pode ser tratado de forma linear e se existe relao entre as variveis que formam a soluo; O tratamento dos gentipos invlidos deve ser tomado em conta para o desenho da codificao.

16

5.4. Funo de Avaliao.


Obtido um cromossomo, a funo de avaliao tem como principal caracterstica associar um valor, que deve ser proporcional a sua utilidade e habilidade do indivduo representado. O desenvolvimento da funo de avaliao pode representar somente uma avaliao parcial do problema; deve ser rpida, j que a mesma deve ser aplicada para cada indivduo de cada populao e em todas as sucessivas geraes de indivduos. (...) deve retornar valores mais altos para estados melhores [RUSSEL,2004].

5.5. Convergncia Prematura.


A convergncia prematura um problema encontrado no AG devido uma m formulao do algoritmo, um exemplo onde isso pode acontecer quando um gene possui poucos indivduos relativamente bem adaptados, mas no timos, isso pode rapidamente dominar a populao levando-a que converge a um mximo local. Quando isso ocorre, a habilidade de buscar melhores solues extinta completamente. Para evitar este tipo de problema, preciso controlar o nmero de oportunidades reprodutivas de cada indivduo. (RUSSEL,2004)

5.6. Finalizao Lenta.


um problema ao contrrio do anterior, e ao longo de muitas geraes, a populao haver convergido, mas poder no alcanar um timo resultado. O tempo para adaptao ser alto e diferena entre o maior e o menor indivduo ser pouca, por conseqncia disso ser baixa a tendncia da funo de adaptao e levara o algoritmo ao mximo (RUSSEL,2004).

5.7. Reproduo.
Durante a fase de reproduo de um AG, selecionam-se indivduos da populao sendo recombinados para formar descendentes que formaro a prxima gerao de indivduos. Os melhores pares so selecionados, utilizando um mtodo que favorece os

17

melhores indivduos adaptados, assim que escolhidos os pares, seus cromossomos so mesclados e combinados usando crossover e mutao (BARRETO,1999).

5.8. Crossover.
Seleciona os indivduos de uma partio, para produzir os segmentos anteriores e posteriores, os posteriores realizam uma interface para obter dois novos cromossomos. Essa funo responsvel pela gerao de novos cromossomos a partir do cruzamento de dois cromossomos, isso resultar em novos cromossomos com caractersticas herdadas dos cromossomos pai (RUSSEL,2004).

5.9. Mutao.
um processo importante nos AG's, a pesar que assume um papel secundrio na execuo do algoritmo. Trabalhando com variveis em binrio a mutao consiste em substituir com certa probabilidade (taxa de mutao) o valor de um bit. So duas as maneiras de implement-las; A primeira troca o bit que no teste de probabilidade permite decidir se o i-simo bit vale 1 e passa o teste de probabilidade, o novo valor dever conter zero na i-sima posio. A Segunda se gera um novo bit para substituir o bit que passou no teste de probabilidade, sendo assim, 50% das vezes o novo bit no trocar de valor, e a taxa de mutao ser a metade da primeira tcnica (RUSSEL,2004).

5.10. Convergncia.
Se o AG foi corretamente implementado, a populao tende a evoluir ao longo de sucessivas geraes e a adaptao do melhor indivduo, convergir para um timo resultado final. Essa convergncia uma progresso uniforme onde um gene ser convertido quando a populao tem o mesmo valor, e a convergncia concluda quando todos os genes de cada indivduo estiverem convergidos.(BARRETO,1999) Para atingir esse resultado somente os melhores elementos, os mais aptos da reproduo, devem participar da prxima reproduo, com essa seleo o algoritmo garante que os elementos mal adaptados no sero utilizados.(BARRETO,1999)
18

6. FORMULAO.
O problema de otimizao de processo produtivo de placas de circuito eletrnico, um processo bastante robusto e exige o controle de diversas variveis que devem ser observadas durante o estudo do problema.

6.1. Equipamento.
A mquina possui trs eixos que se movimentam a todo o momento, um eixo da mesa de feeder se move na horizontal em dois sentidos, pois esse eixo o responsvel por carregar os componentes para mquina montar. O outro eixo o da mesa XY onde a placa de circuito impresso fixada no equipamento para que o mesmo execute a montagem da placa, esse eixo se movimenta em duas dimenses X e Y, a velocidade de movimentao desse eixo fundamental para estudo do nosso problema, e ele o responsvel por movimentar a placa durante a montagem, obedecendo uma seqncia estabelecida no programa, o terceiro eixo chamado de torre, nele preso a cabea e na cabea se encontra os nozzles, so os nozzles os responsveis por fazer o pick up (pegar) dos componentes nos feeders e inserir na placa, esse eixo da torre possui movimento circular, e as cabeas se movimentam em Z. Todos esses eixos possuem particularidades que devem ser observadas, como: Velocidade da mesa XY, (estipulada por componente); Velocidade de rotao da torre; Distancia da movimentao da mesa XY;

6.1.2. Velocidade da mesa XY.


O tempo de montagem da mesa XY foi extrado de um equipamento Panasonic modelo MVIIF modelo 2559FA, devido a dificuldade de se conseguir com o fornecedor a especificao de velocidade de movimentao da mesa XY do equipamento foi elaborado um programa que realizava a montagem de componentes com isso foi possivel extrair a velocidade que a mesa se movimenta. A mquina mesa de feeders se movimenta em dois sentidos X e Y, para montar um componente com distncia entre ele de 100mm a mquina

19

demora 1 segundo. Esse tempo foi extraido de varios testes e estes podem sofrer uma pequena variao.

6.2. Componente.
Tambm ser avaliada as caractersticas de cada componente. As medidas do componente so: comprimento, largura e altura. Com essas informaes a mquina pode ser configurada para realizar a montagem de um componente, e durante a montagem a mquina faz um verificao desses valores setados na biblioteca do componente (onde contem as informaes do componente). O nome dado a biblioteca de cada componente segue um padro que facilita a identificao do tamanho do componente sem que seja necessrio abrir a biblioteca do componente para depois verificar suas demisses. Abaixo segue a regra de criao desse nome de biblioteca: uma cadeia com 16 caracteres, entre dgitos e nmeros por exemplo RS032016T06XXTXX; 1 R 2 S 3 > 4 > 5 > 6 < 7 < 8 < 9 T 10 @ 11 @ 12 X 13 X 14 $ 15 X 16 X

Onde: a) RS - a descrio do componente; b) - a dimenso em X do componente; c) < - a dimenso em Y do componente; d) T@@ - indica a altura do componente; e) XX indica reviso de data de criao e alteraes; f) $ - indica o tipo de feeder que montado; O Exemplo de nome dado anteriormente (RS032016T06XXTXX) significa que: RS um componente do tipo resistor, ele mede 3.2mm em X, 1.6mm em Y e sua altura de 0.6mm. Para busca da melhor soluo do nosso problema essas trs informaes so as necessrias para que possamos saber com que velocidade a mquina deve montar os componentes.

6.3. Arquivo tratando as informaes do arquivo .CAD.

20

Para elaborao de um novo programa para um produto, o engenheiro responsvel pelo produto deve extrair o arquivo .cad que gerado pelo projetista do produto. O arquivo CAD contm todas as informaes referentes a atualizaes de verses do produto, datas que referenciam essas alteraes, informaes de off set de placa que deve ser usada no equipamento e de off set de fiduciais. Essas informaes no devem estar no mesmo arquivo que vai ser otimizado, pois, elas podem atrapalhar a gerao do novo arquivo otimizado. Para soluo desse tipo de problema foi tratado o arquivo cad, deixando apenas as informaes necessrias para o algoritmo gentico. Esse algoritmo remove todos os espaos em branco todas as linhas que iniciam com caracteres especiais e adiciona um ponto-e-vrgula no final de cada coluna e no final de cada linha um /0 para indicar fim de linha, isso facilita a manipulao dos dados no algoritmo gtico.

6.4. Abordagem do AG para otimizao do problema.


6.4.1. Funo principal.
Visando uma abordagem mais clara do algoritmo gentico foram elaborados vrias funes que so chamadas assim que necessrio para busca do resultado esperado, a funo principal responsvel pela chamada das demais funes, e tambm por fazer a leitura das informaes do produto que estara sendo otimozado, e fazer a chamada das funes conforme necessrio a execuo e resposta das funes.

6.4.2. Funo iniciar.


A funo iniciar, responsvel pela gerao do cromossomo, esse cromossomo gerado conforme o nmero de linhas do programa a ser otimizado, e no devem conter nmeros repetidos para compor o cromossomo. O cromossomo gerado de forma aleatria iniciando em 1 ate o nmero de linha do programa a ser otimizado. A limitao quanto ao nmero de linha do programa faz-se necessrio para o cromossomo pois ele ser o resultado obtido da otimizao e tambm esse nmero que vai referenciar o cromossomo a linha de

21

cdigo do programa a ser otimizado. A funo iniciar deve retornar um vetor string com o seguinte formato: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tabela 1: Cromossomo Gerado pela funo iniciar.

6.4.3. Funo Avaliar.


A funo avaliao responsvel pela verificao de quo bom o cromossomo gerado, ele faz a leitura dos dados do programa, essas informaes so alocadas em uma matriz que contem o nmero de linha igual a o nmero de linhas de cdigo do programa e 3 colunas sendo elas: Referncia, Coordenada X e Coordenada Y, e recebe como parmetro o cromossomo gerado. Com as informaes acima o algoritmo vai percorrer todo o cromossomo calculando o tempo que levara para montar todas as posies com a configurao gerada pelo algoritmo. Partindo de um determinado ponto considerado como X=0 e Y=0, a funo verifica qual o componente a ser montado, por exemplo 5, extrado os valores de X e Y. Supondo que X = 45.450mm e Y = 132.321mm, o algoritmos subtrai a informao atual com a anterior, obtendo a distncia a ser percorrida para montar o proximo componente, isso feito para X e para Y, o algoritmos estar somando essa distncia obtendo uma distncia total que posterior ser calculado o tempo total de montagem. O algoritmo utiliza o tempo de movimentao da mesa X Y multiplicando-o pelo valor da soma das distncias de X e Y somando-os para obter o tempo de montagem para esse cromossomo. Esse calculo feito pela funo: X_total = Xatual Xnovo Y_total = Yatual Ynovo T-Total= X_total+Y_total O tempo total do cromossomo dever ser colocado na ultima posio do vetor que possui a configurao onde foi calculado o tempo, esse tempo total a informao que vai definir qual o cromossomo melhor adaptado, levando em considerao que quem possuir menor tempo o melhor adaptado, os cromossomos sero ordenados em ordem crescente pelo tempo total.

22

6.4.4. Funo Cruzamento.


A funo de cruzamento utilizada para gerar novos cromossomos, para o cruzamento o algoritmo utiliza 50% do nmero total de cromossomos, com isso cada par de cromossomo que passarem pelo processo de cruzamento dar origem a dois novos cromossomos, esses so os filhos. Os dois novos cromossomos gerados sero avaliados e receberam da funo de avaliao um tempo de montagem que os classificar em relao aos outros. Como o cruzamento feito dos melhores cromossomos j classificados a possibilidade do cromossomo ideal ser encontrado maior, pois estamos cruzando cromossomos bem adaptados para se obter outros dois cromossomos. Para fazer o cruzamento o algoritmo converte todo o cromossomo para nvel binrio, essa converso necessria para fazer a troca de bits entre os cromossomos selecionados, com o cromossomo j em nvel binrio o algoritmo define um ponto de corte, onde esse igual para ambos os cromossomos que vo fazer o cruzamento. O ponto de corte a parte do cromossomo que vai ser trocada com o outro cromossomo selecionado. A figura 4 ilustra como feito o cruzamento dos dois cromossomos. O vetor binrio que representa um cromossomo que possui 10 bits, o algoritmo define que o ponto de corte para esse cruzamento deve ser feito no bit 4 do vetor, na prxima etapa o algoritmo retira os 4 primeiros bits do vetor 1 colocando-os nas 4 primeiras posies do vetor 2, isso tambm feito no vetor 2 que recebe os 4 primeiros bits do vetor 1.

Figura 7 - Exemplo da funo cruzamento.

23

6.4.4.1. Cdigo da Funo Cruzamento.


.... %Seleciona quais cromossomos deveram fazer parte do cromossomo. for i=1:floor(tam/2) for k=1:2 escolhido=floor(soma*rand(1))+1;%escolhe um nmero aleatrio for j=0:tam-1 aux = aux+tam-j; if (escolhido<=aux) pai(k)=j+1; break; end %Fim do for end %Fim do for end %Fim do for end %Fim do for ..... [l,c]=size(xbin); %Tamanho da varivel xbin em linha/coluna for p=1:corte filho1 = [filho1,xbin(pai(1),p)];//atribui a primeira metade do cromossomo 1 filho2 = [filho2,xbin(pai(2),p)]; //atribui a primeira metade do cromossomo 2 end %Fim do for for p=corte+1:c filho1 = [filho1,xbin(pai(2),p)]; //atribui a segunda metade do cromossomo 1 filho2 = [filho2,xbin(pai(1),p)]; //atribui a segunda metade do cromossomo 2 end %Fim do for

6.4.5. Funo Mutao.


A mutao como nome mesmo diz, muta um cromossomo, essa mutao feita para mudar um cromossomo que foi escolhido por acaso. uma funo de grande importncia para o algoritmo gentico ela conduz um cromossomo a uma classificao melhor ou ate mesmo pior, como o algoritmo escolhe um cromossomo qualquer, esse poderia demorar a sofrer o cruzamento ou at mesmo ser eliminado sem sequer passar por um cruzamento, por no ser um cromossomo considerado bom para a busca da melhor otimizao, isso pode fazer com que o algoritmo demore mais para alcanar o resultado ideal. O processo de mutao simples, o cromossomo tambm convertido para nvel binrio, onde um bit alterado, onde o bit for 1 se altera para 0 e onde o bit for 0 altera-se para 1, isso faz com que um individuo diferente seja criado podendo esse ser um bom
24

cromossomo, aps o processo de mutao os cromossomos so novamente avaliados e classificados novamente.

6.4.5.1. Cdigo da Funo Mutao


%Cdigo fonte escrito em MatLab. %transforma para o nmero selecionado para binrio. xbin = dec2bin(x); mudar = floor(cbin*rand(1))+1; if(xbin(escolhido,mudar)=='0') xbin(escolhido,mudar)='1'; else xbin(escolhido,mudar)='0'; end end } A figura 5 demonstra como feito o processo de mutao.

Figura 8 - Exemplo da funo Mutao.

6.4.6. Funo Elimina.


O cromossomo mal avaliado ser sempre classificado como ruim ou pior, todos os cromossomos avaliados com tempo mais alto estaro sempre nas ultimas posies. Com o cruzamento de dois cromossomos pais, teremos sempre dois cromossomos filhos, isso acarretara em um crescimento do nmero de cromossomos, e como o problema analisado
25

deve conter o nmero de cromossomo equivalente ao nmero de linha de cdigo do programa, deve-se eliminar os cromossomos que ultrapassem esse parmetro, para isso a funo vai eliminar sempre os ltimos cromossomos, que so os menos adaptados. Para eliminar os cromossomos mal adaptados o algoritmo faz a avaliao dos cromossomos, atualizando a ordem de classificao de todos os cromossomos, seguindo a classificao de que os melhores devem sempre estar no topo, com isso os menos adaptados so eliminados pelo parmetro de limite de cromossomos estipulado pelo problema.

7. Testes elaborados.
Para testar o algoritmo utilizamos trs arquivos que aqui sero identificados como produto 1, produto 2 e produto 3, ambos so arquivos de um determinado produto diferentes, onde tempo de montagem real de cada produto, esta descrito em um tempo total de montagem somando-se o tempo de montagem de todos os equipamentos da linha SMT, salvo de que para comparao com nossos resultados devemos subtrair o tempo de carregamento, leitura de fiducial ( utilizado para fazer a correo do componente durante a montagem) e o descarregamento da placa. Deve-se desconsiderar esse tempo pelo motivo de que nosso algoritmo no tratou desse tipo de informao, essa varivel adicional no interfere nos resultados obtidos com a otimizao do produto em estudo, o tempo que deve ser subtrado de 2 min e 60 sec. Quando um programa gerado se estipula um tempo de montagem, se tudo ficar como programado, esse tempo deve ser considerado. O processo deve tambm garantir a qualidade do produto e respeitar as limitaes do equipamento, isso o software no consegue prever, apenas na implementao do produto no equipamento que se tem uma idia de como ele vai tratar cada componente, isso nos leva a fazer modificaes que podem alterar o tempo de montagem. Esse tipo de alterao sempre adicionado ao final do programa para evitar maiores perdas. Com isso devemos ter um atraso de 10% do tempo obtido na otimizao de nosso problema. Para o produto 1, um produto com maior nmero de linhas de comandos e com um tempo total de montagem atual de 10 min e 50sec, com a otimizao obtivemos um tempo de 9 min e 21 sec, que representa 17.5% de melhoria no tempo de montagem.

26

Para o produto 2, um produto com nmero mdio de linhas de comandos e com um tempo total de montagem atual de 9 min e 20sec, com a otimizao obtivemos um tempo de 7 min e 52 sec, que representa 15.6% de melhoria. Para o produto 3, um produto com poucas linhas de comandos e com um tempo total de montagem atual de 8 min e 20sec, com a otimizao obtivemos um tempo de 6 min e 57 sec, que representa 16.6% de melhoria.

Para as informaes acima ainda podemos ter um atraso de 10% devido os ajuste feitos na implementao do programa no equipamento. Produto Produto 1 Produto 2 Produto 3 N Inseres 1.323 873 756 Tempo atual 10:50min 9:20min 8:20min Novo Tempo 9:21min 7:52min 6:57min Percentual de melhoria 17,5% 15,6% 16,6%

27

8. Concluso.
Este trabalho foi desenvolvido com intuito de demonstrar como os algoritmos genticos podem ajudar na otimizao de processos, e busca de melhores solues, com uma abordagem simples, mas bem estruturada os resultados so satisfatrios. O algoritmo utilizado um algoritmo gentico simples, que executa as funes bsicas de um algoritmo gentico como: criao da populao, cruzamento dos cromossomos que geraram novos filhos, e mutao e a eliminao que remove os menos adaptados para soluo do problema. Para os testes foram utilizados trs produtos correntes que possuem um desempenho razovel com a otimizao atual, devido ao grande nmero de informaes que possuem os produtos analisados. Utilizaram-se esses modelos devido ao tempo atual de montagem ser elevado, onde pode ficar mais clara a anlise da nova configurao Os resultados dos testes demonstram uma convergncia do algoritmo para uma nova configurao, e com tempos relativamente melhores em relao ao que possumos atualmente, sabendo que ao implementar o programa nas mquinas podemos ter o novo tempo, podendo ser prximo ao tempo atual, os testes variaram entre 15% e 17% que um tempo de aproximadamente 20 segundos a 40 segundos por equipamento.

28

9. Referncias Bibliogrficas.

BARRETO,J. M., Inteligncia Artificial no limiar do sculo XXI, 3a. edio, Florianpolis, 2001, Duplic. GOLDBARG, M. C.; PACCA H. L. L., Otimizao Combinatria e Programao Linear: Modelos e Algoritmos, 2a. edio, Rio de Janeiro, 2005, Campos. GSI Grupo de sistemas inteligentes. Algoritmos Genticos[Internet: HTTP://WWW.DIN.UEM.BR/IA/GENETICOS/, recuperado em 26/05/2006] KANITZ, STEPHEN, O perigo dos "6 Sigmas, 2003 [Internet: HTTP://WWW.KANITZ.COM.BR/VEJA/SIGMA.HTM, recuperado em 01/06/2006] ORCI, EMERSON RODRIGO, Abordagem Evolutiva na instalao de capacitores para reduo de perdas em linhas de transmisso de energia eltrica, 2005. 34f. Trabalho de concluso de curso superior. Faculdade de cincia da computao, Faculdade de Jaguarina, Jaguarina. RUSSELL,S. J.; Norvig, P.,Inteligncia Artificial, 2a. edio, Rio de Janeiro, 2004, Campos.

29