68
i UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO ALGORITMOS GENÉTICOS E SIMULATED ANNEALING APLICADOS NO ENCAIXE DE FIGURAS IRREGULARES Pesquisa Operacional por Leonardo Vitor da Silva Edson Tadeu Bez, Dr. Orientador São José (SC), dezembro de 2007

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

  • Upload
    vanhanh

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

i

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

ALGORITMOS GENÉTICOS E SIMULATED ANNEALING APLICADO S NO ENCAIXE DE FIGURAS IRREGULARES

Pesquisa Operacional

por

Leonardo Vitor da Silva

Edson Tadeu Bez, Dr. Orientador

São José (SC), dezembro de 2007

Page 2: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

ii

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

ALGORITMOS GENÉTICOS E SIMULATED ANNEALING APLICADO S NO ENCAIXE DE FIGURAS IRREGULARES

Pesquisa Operacional

por

Leonardo Vitor da Silva Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Edson Tadeu Bez, Dr.

São José (SC), dezembro de 2007

Page 3: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

iii

DEDICATÓRIA

Aos meus pais Vitor Teófilo da Silva e Laura Maria de Souza da Silva

Page 4: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

iv

AGRADECIMENTOS

Registro nesta pesquisa um especial agradecimento:

• ao professor Edson Tadeu Bez pelo conhecimento passado e por toda a disponibilidade e

colaboração durante a execução desta pesquisa;

• a professora Anita Maria da Rocha Fernandes que esteve sempre disponível para

qualquer esclarecimento; e

• aos meus pais pelo apoio.

Page 5: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

v

SUMÁRIO

LISTA DE ABREVIATURAS................................................................. vii

LISTA DE FIGURAS .............................................................................. viii

LISTA DE TABELAS ............................................................................... ix

LISTA DE EQUAÇÕES ............................................................................ x

RESUMO .................................................................................................... xi ABSTRACT ............................................................................................... xii I INTRODUÇÃO ...................................................................................... 13

1.1 PROBLEMATIZAÇÃO ................................................................................... 14

1.1.1 Formulação do Problema ............................................................................... 14

1.1.2 Solução Proposta ............................................................................................. 15 1.2 OBJETIVOS ...................................................................................................... 15 1.2.1 Objetivo Geral ................................................................................................. 15 1.2.2 Objetivos Específicos ...................................................................................... 15 1.3 METODOLOGIA .............................................................................................. 16

1.4 ESTRUTURA DO TRABALHO ..................................................................... 16

2 FUNDAMENTAÇÃO TEÓRICA ...................................................... 18

2.1 PROBLEMAS DE CORTE E EMPACOTAMENTO ................................... 18 2.1.1 Problemas de Corte e Empacotamento ......................................................... 20

2.2 PROBLEMAS DE CORTE INDUSTRIAL .................................................... 23

2.3 PROBLEMA DE ENCAIXE DE FIGURAS IRREGULARES ........ ............ 24 2.3.1 Definição do problema .................................................................................... 25

3 DESENVOLVIMENTO ...................................................................... 28

3.1 MÉTODOS UTILIZADOS PARA RESOLUÇÃO DOS PROBLEMAS DE ENCAIXE ................................................................................................................... 28 3.1.1 Ordenação das figuras .................................................................................... 28

3.1.2 Encaixe das Figuras ........................................................................................ 42 3.1.3 Tratamento de Sobreposição das Figuras .................................................... 43

3.2 MODELAGEM ALGORÍTMICA ............................. ..................................... 48

3.3 ENSAIOS NUMÉRICOS .................................................................................. 50

3.3.1 Ensaios realizados com Algoritmo Genético ................................................ 51

3.3.2 Ensaios realizados com Simulated Annealing ............................................... 54

3.3.3 Comparativo entre os resultados ................................................................... 56

4 CONCLUSÕES .................................................................................... 60

5 Trabalhos futuros ................................................................................. 62

REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 63

Page 6: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

vi

TIPOS DE FIGURAS UTILIZADAS NOS TESTES ........................... 66 Exemplos de encaixes de figuras ............................................................. 67

Exemplo 1 de encaixe de figuras .............................................................................. 67 Exemplo 2 de encaixe de figuras .............................................................................. 68

Page 7: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

vii

LISTA DE ABREVIATURAS

AGs Algoritmos Genéticos CX Cycle Crossover ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic Polynomial-time Hard OX Order Crossover PMX Partially Mapped Crossover. PNP Ponto no Polígono SICUP Special Interest Group on Cutting and Packing TCC Trabalho de Conclusão de Curso UNIVALI Universidade do Vale do Itajaí

Page 8: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

viii

LISTA DE FIGURAS

Figura 1. Tipos de Polígonos: (a) Polígono convexo; (b) Polígono não convexo ............................. 25 Figura 2. Tipos de Preenchimento ...................................................................................................... 26

Figura 3. Estrutura do algoritmo genético .......................................................................................... 30

Figura 4. Método da roleta ................................................................................................................. 33

Figura 5. Cruzamento simples ............................................................................................................ 34

Figura 6. Cruzamento de dois pontos ................................................................................................. 34

Figura 7. Cruzamento uniforme ......................................................................................................... 34

Figura 8. Tratamento de Inconsistência por PMX ............................................................................. 35 Figura 9. Tratamento de Inconsistência por OX ................................................................................ 36 Figura 10. Mutação ............................................................................................................................ 36

Figura 11. Mutação com mudança na ordem dos genes .................................................................... 37 Figura 12. Algoritmo genético genérico ............................................................................................ 38

Figura 13. Estado desordenado das moléculas da matéria em fusão ................................................. 39 Figura 14. Estado desordenado das moléculas após a um resfriamento rápido ................................. 40 Figura 15. Estado ordenado das moléculas após a um resfriamento lento ......................................... 40 Figura 16. Simulated Annealing ......................................................................................................... 41 Figura 17. Simulated Annealing ......................................................................................................... 42 Figura 18. Left-Bottom ....................................................................................................................... 43 Figura 19. Ponto interno ao polígono ................................................................................................. 44

Figura 20. Quantidade de cruzamentos nos segmentos do polígono ................................................. 45 Figura 21. Representação de uma figura em matriz de bits ............................................................... 46 Figura 22. Exemplificação de Ponto e Reta ....................................................................................... 47

Figura 23. Intersecção das Retas AB e CD ........................................................................................ 48

Figura 24. Intersecção de segmentos de reta ...................................................................................... 50

Figura 25. Figuras utilizadas no encaixe ............................................................................................ 51

Figura 26. Definição da Taxa de Cruzamentos .................................................................................. 52 Figura 27. Definição da Taxa de Mutação ......................................................................................... 52

Figura 28. Definição do Tamanho da População ............................................................................... 53 Figura 29. Temperatura Inicial ........................................................................................................... 55

Figura 30. Decremento da Temperatura ............................................................................................. 55

Figura 31. Quantidade de Iterações .................................................................................................... 56

Figura 32. Resultado do Algoritmo Genético e Simulated Annealing ............................................... 57

Figura 33. Melhor solução com Algoritmo Genético ........................................................................ 57 Figura 34. Melhor solução com Simulated Annealing ....................................................................... 58 Figura 35. Resultado do encaixe com Algoritmo Genético ............................................................... 58 Figura 36. Resultado do encaixe com Simulated Annealing .............................................................. 59 Figura 37. Figuras utilizadas no encaixe ............................................................................................ 66

Figura 38. Exemplo 1 de encaixe de figuras ...................................................................................... 67

Figura 39. Exemplo 2 de encaixe de figuras ...................................................................................... 68

Page 9: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

ix

LISTA DE TABELAS

Tabela 1. Problemas de Corte e Empacotamento ............................................................................... 20 Tabela 2. Características do problema de corte da indústria tecido ................................................... 24 Tabela 3. Variação da Quantidade de Gerações ................................................................................. 53

Page 10: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

x

LISTA DE EQUAÇÕES

Equação 1 ........................................................................................................................................... 26

Equação 2 ........................................................................................................................................... 26

Equação 3 ........................................................................................................................................... 26

Equação 4 ........................................................................................................................................... 42

Equação 5 ........................................................................................................................................... 47

Equação 6 ........................................................................................................................................... 47

Page 11: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

xi

RESUMO

SILVA, Leonardo Vitor. Algoritmos Genéticos e Simulated Annealing aplicados no encaixe de figuras irregulares. São José, 2007. 68f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, São José, 2007. O problema de corte e empacotamento vem sendo estudado por diversos pesquisadores que desde a metade do século passado iniciaram seus estudos em problemas de corte de retângulos. O rápido crescimento de estudos tratando do problema de corte e empacotamento aconteceu na década de 60, período onde foram publicados os três trabalhos de Gilmore e Gomory. Estes trabalhos tratavam o problema de corte industrial e se tornaram clássicos para este tipo de estudo. Os trabalhos subseqüentes focavam no estudo do problema de corte de retângulos e gradativamente alguns outros trabalhos surgiram para o encaixe de figuras irregulares, podendo citar entre estes, a solução proposta por Dias no ano de 1991 que trata o encaixe de figuras irregulares em um retângulo maior. O presente estudo apresenta um algoritmo para o encaixe de figuras irregulares em um retângulo maior. Propõe-se um modelo matemático para este problema. O problema do encaixe de figuras irregulares abordado nesta pesquisa é baseado no problema de corte da indústria têxtil, que possui em sua complexidade, figuras com formas geométricas não convexas e variáveis que permitem a manipulação destas figuras durante o processo de encaixe para se obter um melhor aproveitamento. Este trabalho considera a forma geométrica do objeto delimitador como sendo um retângulo de comprimento variável e figuras convexas e não convexas. Palavras-chave: Encaixe de figuras irregulares. Algoritmos Genéticos. Simulated Annealing.

Page 12: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

xii

ABSTRACT

The cutting and packing problem has been studied for many researchers which have already been studying the problems of cutting rectangles since the mid of the twenty century. The fast growing number of articles related to cutting and packing started in the 60’s, period where the articles from Gilmore and Gomony were published. These articles talked about the industrial cutting problem, and became a reference for this kind of studies. The subsequent projects were focus on the study of cutting and packing, and gradually there were some studies about the nesting of irregular shapes in a rectangle. Between these projects we can mention the solution proposed by Dias in 1991, that shows about the nesting of irregular object in a rectangle. This study presents an algorithm for the nesting of irregular object in a rectangle. A mathematical method has been proposed for this problem. The nesting of irregular shape problem in this research was based on the cutting problem in the textile industry. This problem from the textile industry has got objects with non-convex geometrical forms and many other variables which allow the manipulation of these objects during the nesting for a better progress. This research will consider the geometrical form of the object delimiter, which in this case, is a rectangle with a variable length and the objects in this research will have a geometric convex and non-convex form. Keywords: Nesting of irregular shapes, Genetic Algorithms, Simulated Annealing.

Page 13: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

13

I INTRODUÇÃO

Ao longo da história é possível observar a busca por meios para se tentar diminuir esforços,

obtendo mais conforto. Esta busca pela diminuição de esforços trouxe consigo várias inovações e

avanços na tecnologia. A utilização de robôs na linha de montagem de automóveis ou mesmo a

execução de uma folha de pagamento utilizando-se de um computador, apesar de serem trabalhos

bem distintos, sofreram mudanças significativas durante os tempos e são exemplos práticos dos

avanços tecnológicos. Estes avanços já se tornaram comuns à sociedade. É importante enfatizar que

tudo isso se iniciou com a Revolução Industrial a partir do século XVIII. “Este provavelmente foi o

mais importante acontecimento na história do mundo, pelo menos desde a invenção da agricultura e

das cidades” (HOBSBAWM, 1982, p. 45).

O surgimento dos computadores foi uma grande inovação e também contribui em muito para

os avanços tecnológicos. Segundo Monteiro (1996, p. 09): “O primeiro computador eletrônico e

digital, [...], foi denominado ENIAC (Electronic Numerical Integrator And Computer).”.

As inovações tecnológicas trouxeram consigo uma mudança no processo de trabalho em

muitas empresas. Trabalhos de alto risco ou de alta complexidade puderam ter soluções

automatizadas. As novas tecnologias trouxeram consigo uma difusão do conhecimento, onde é

possível comprar tecnologia e se tornar uma empresa atuante no mercado. Surge então, a

necessidade de diminuir custos e aumentar a produtividade.

Indústrias de couro, plástico, vidro, papel, metal, tecido, dentre outras, possuem em comum

a necessidade pela redução do desperdício de matéria-prima (FRITSCH; VORNBERGER, 1995).

Trata-se de um problema em que se faz necessário o ajuste das peças em uma área maior, área esta,

referente à matéria-prima. Estes tipos de problemas denominam-se problemas de corte e

empacotamento. No caso da indústria têxtil, o problema envolve o encaixe dos moldes de roupas no

tecido.

Análogo ao problema do corte do tecido há o problema do corte de chapas. Este problema

trata peças retangulares que devem ser ajustadas em uma determinada área. O corte de peças

retangulares considera a largura e altura da área onde as peças serão ajustadas. É um problema que

ocorre, por exemplo, em indústrias que necessitam do corte de vidro, metal ou madeira. Outro

Page 14: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

14

problema é o ajuste de peças em contêineres1, neste caso, considera-se a largura, a altura e a

profundidade da área onde as peças serão ajustadas, é um tipo de problema tridimensional

(DYCKHOFF, 1990). Todos estes problemas industriais possuem diversas variáveis que tornam as

soluções bem complexas.

Nesta mesma linha de estudo, este TCC (trabalho de conclusão de curso) apresentará um

algoritmo para o encaixe de polígonos irregulares, baseando-se no problema do encaixe de peças no

tecido. O algoritmo irá processar peças de 2 dimensões considerando a largura e a altura do

polígono e ajustando-o para obter um melhor aproveitamento da área (LIU, 2005).

O algoritmo que será apresentado não é uma proposta de solução para o problema da

indústria têxtil. Este considera, conforme o problema do encaixe de peças no tecido, apenas a

restrição de largura do tecido, sem se importar com o comprimento e outras restrições existentes da

indústria têxtil. Ao considerar a largura do tecido, o algoritmo limitará sua área de encaixe em um

retângulo de largura fixa e um comprimento que varia conforme a necessidade de espaço para o

encaixe de todas as figuras.

As demais restrições presentes no problema de encaixe da indústria têxtil podem ser

exemplificadas como o fato de um molde poder ser girado, ficando fora do sentido do fio do tecido.

Outras restrições presentes no problema têxtil é o fato dos moldes poderem ou não ser espelhados e

ainda se estes poderão estar em qualquer posição do tecido e em posições específicas, pois alguns

moldes podem ser encaixados dobrados e estes devem ficar sempre na borda do tecido.

1.1 PROBLEMATIZAÇÃO

1.1.1 Formulação do Problema

O problema de encaixe de figuras irregulares é uma classe dos problemas de corte e

empacotamento. É um tipo de problema de análise combinatória e computacionalmente de difícil

resolução, as soluções devem ser procuradas num espaço grande de possíveis soluções, sendo

enquadrado na classe de problemas NP-Hard (Nondeterministic Polynomial-time Hard) (ARAUJO,

2004).

1 Grande caixa, de dimensões e outras características padronizadas, para acondicionamento da carga geral a transportar, com a finalidade de facilitar o seu embarque, desembarque e transbordo entre diferentes meios de transporte.

Page 15: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

15

A forma geométrica das figuras que serão encaixadas faz com que os resultados de

aproveitamento do encaixe variem bastante, visto que estas figuras possuem formas irregulares.

Assim ordem das figuras torna-se importante na definição da qualidade do resultado. A obtenção de

um algoritmo eficiente ocorre através de um bom processo de encaixe das figuras e ordenamento

das mesmas.

1.1.2 Solução Proposta

Para formulação do problema serão enfatizados nesta pesquisa dois processos de

fundamental importância para o encaixe. Nascimento (2006) destaca a utilização de heurísticas e

metaheurísticas nas soluções recentes para o tipo problema em questão. Seguindo esta linha, esta

solução propõe a utilização de metaheurísticas para a ordenação das figuras que serão encaixadas,

utilizando-se para isso, Algoritmos Genéticos e Simulated Annealing.

A utilização das metaheurísticas foi uma das partes importantes do processo. Outro processo

de fundamental importância foi o posicionamento das figuras que utilizou left-bottom. Em conjunto

com o posicionamento das figuras foi necessária a garantia de não sobreposição das figuras.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objeto principal deste estudo foi de aplicar as metaheurísticas: Algoritmos Genéticos e

Simulated Annealing no encaixe de figuras irregulares, através do desenvolvimento de um

algoritmo que efetuasse o mesmo, simulando assim, o problema de encaixe de peças de roupa da

indústria têxtil. A restrição de problema foi a utilização de uma largura pré-fixada da área de

encaixe, não se importando com o comprimento necessário para o encaixe de todas as figuras.

1.2.2 Objetivos Específicos

Os objetivos específicos desta pesquisa foram:

• Estudar os problemas de corte;

• Estudar algoritmos propostos para resolução do problema de corte;

• Selecionar os algoritmos de suporte ao problema proposto;

Page 16: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

16

• Modelar os algoritmos selecionados para o problema, neste caso, Algoritmos Genéticos

e Simulated Annealing;

• Implementar computacionalmente os algoritmos selecionados para o estudo;

• Realizar os testes computacionais com os algoritmos selecionados; e

• Realizar uma análise comparativa dos resultados obtidos.

1.3 Metodologia

A fundamentação teórica envolveu a leitura de trabalhos relacionados aos problemas de

corte e empacotamento geral. Foram analisados materiais de pesquisadores que envolviam a

utilização de metaheurísticas para o problema de corte e trabalhos referentes aos Algoritmos

Genéticos e Simulated Annealing.

A escolha do tema de pesquisa levou em consideração a maneira que o problema poderia ser

tratado, neste caso, utilizando-se de metaheurísticas como parte fundamental da ordem das figuras e

também a utilização da geometria analítica para o encaixe das figuras.

A utilização dos Algoritmos Genéticos e do Simulated Annealing levou em consideração

trabalhos recentes que utilizavam diferentes metaheurísticas. Sendo que muitos destes trabalhos não

utilizavam em específico os Algoritmos Genéticos e o Simulated Annealing, o que motivou a idéia

de utilizar essas metaheurísticas e então poder comprovar, ou não, a eficiência dos mesmos.

O resultado desta pesquisa foi um algoritmo para o encaixe das figuras, sendo que sua

implementação computacional foi necessária para testes e obtenção dos resultados para diversos

tipos de figuras. A implementação ocorrida na segunda parte do projeto utilizou a linguagem C++

para programação. A escolha desta linguagem é pela familiaridade com a mesma. Esta pesquisa tem

como produto final o modelo algorítmico, não um software.

1.4 Estrutura do trabalho

Este documento está estruturado em quatro capítulos. O primeiro capítulo foi referente à

Introdução do TCC e apresentou uma contextualização e uma visão geral do problema. O segundo

capítulo refere-se à Fundamentação Teórica, é apresentada uma revisão bibliográfica dos problemas

de corte e empacotamento e corte industrial, referenciando alguns trabalhos realizados na área. A

Fundamentação Teórica descreveu de forma geral os problemas de corte e empacotamento,

Page 17: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

17

problemas de corte industrial e o encaixe de figuras irregulares. O terceiro capítulo apresenta o

desenvolvimento do problema proposto, descrevendo as metaheurísticas que serão utilizadas para o

problema, os métodos que deram o suporte para o encaixe das figuras e os resultados obtidos com

os ensaios numéricos. O quarto capítulo apresenta a conclusão desta pesquisa.

Page 18: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

18

2 FUNDAMENTAÇÃO TEÓRICA

2.1 Problemas de Corte e Empacotamento

O problema de corte e empacotamento vem sendo estudado desde a metade do século

passado e durante este período, diversos pesquisadores trouxeram importantes contribuições para

este tipo de problema. O problema de corte e empacotamento é conhecido na literatura inglesa

como problema de Cutting and Packing (CUNHA, 1998). Este é um tipo de problema de análise

combinatória e computacionalmente de difícil resolução, as soluções devem ser encontradas num

espaço grande de possíveis soluções, sendo enquadrado na classe dos NP-Hard (ARAUJO, 2004).

O problema de corte e empacotamento teve a primeira formulação apresentada em 1939 por

Kantorovitch, um artigo escrito em russo que tratou o problema de encaixe unidimensional. Na

década de 50, mais precisamente nos anos de 1955, 1956 e 1958, Paul, Walter e Vadja apresentaram

formulações para problema de encaixe de retângulos (CUNHA, 1998).

Segundo Dias (1991), o problema de encaixe de retângulos num retângulo maior começou a

ser estudado na década de 50. Mas as maiores contribuições foram apresentadas em três artigos

clássicos de Gilmore e Gomory em 1961, 1963 e 1965. E a partir desta década, vários pesquisadores

têm publicado trabalhos sobre o assunto, apresentando variações tanto na formulação, como nas

ferramentas usadas para solucionar o problema.

Os três artigos de Gilmore e Gomory descrevem a primeira técnica que foi empregada e

aplicada para problemas de tamanho médio, a clássica Técnica de Geração de Colunas (Delayed

Column Generation Technique) (CUNHA, 1998). Em problemas de tamanho médio do tipo

1/V/I/R 2, a lista de pedidos possui em torno de 50 itens e a quantidade para cada item diferente fica

em torno de centenas ou milhares de peças. Os autores também utilizaram o processo de

Programação Dinâmica para otimização de padrões de corte multidimensionais do tipo guilhotina.

Gilmore e Gomory também ressaltaram a importância do Problema de Knapsack (PISINGER,

1995) como um subproblema que ocorre em variantes do problema de corte industrial (CUNHA,

1998).

2 Segundo Dyckhoff (1990), um problema do tipo 1/V/I/R (problema de corte industrial) possui respectivamente: uma dimensão (1), tratamento de objetos selecionados de todos os itens (V), os objetos maiores são idênticos (I) e são muitos objetos com pouca diferença (R).

Page 19: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

19

Em 1968, Haesler abordou Problemas de Corte Industrial usando uma formulação

semelhante ao Problema de Knapsack. Em 1974, Dyson e Gregory trataram o problema de encaixe

das indústrias de vidros usando programação linear e regras heurísticas. Em 1976, Stoyan e Gil

publicaram um livro descrevendo métodos e algoritmos para o encaixe de figuras planas. Em 1997,

Christofides e Whitlock utilizaram um algoritmo de enumeração para problemas de corte

bidimensional, tipo guilhotina com limitação do número de vezes que uma peça entra no padrão de

corte (VINADÉ, 1997; CUNHA, 1998).

Segundo Cunha (1998), um passo muito importante para colaborar com a pesquisa

internacional envolvendo os problemas de corte e empacotamento, foi a criação do Special Interest

Group on Cutting and Packing (SICUP) por Dyckhoff e Wäscher em 1988. Um número

considerável de documentos sobre problemas de corte e empacotamento foram lançados pelo

SICUP em conferências internacionais. O SICUP tem uma publicação própria publicada duas vezes

ao ano.

Dyckhoff (1990) desenvolveu uma classificação dos problemas de corte e empacotamento

com base nas características de geometria e lógica destes problemas. Seu trabalho teve como

finalidade integrar os vários tipos de problema existentes na literatura, propiciando uma unificação

do uso de terminologias para os mesmos. Seu trabalho considerava alguns critérios como: a

dimensionalidade, a forma geométrica, o sortimento, os tipos de objetos (matérias-primas do

problema estudado), a quantidade e disponibilidade das peças. A Tabela 1 mostra alguns trabalhos

com aspectos especiais sobre o problema de corte e empacotamento.

Page 20: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

20

Tabela 1. Problemas de Corte e Empacotamento

Autores Ano Assunto Área Brown 1971 Empacotamento Ciência da Computação Salkin / de Kluyver 1975 Knapsack Logística Golden 1976 Corte Engenharia Industrial Hinxman 1980 Redução de sobras Pesquisa Operacional Garey / Johnson 1981 Empilhamento de caixas Otimização Israni / Sanders 1982 Leiaute Fabricação Rayward-Smith / Shing 1983 Empilhamento de caixas Matemática Coffman et al. 1984 Empilhamento de caixas Ciência da Computação Dowsland 1985 Empacotamento Pesquisa Operacional Dyckhoff et al. 1985 Redução de sobras Administração Israni / Sanders 1985 Encaixe de peças Produção Berkey / Wang 1987 Empilhamento de caixas Pesquisa Operacional Dudzinski / Walukiewicz 1987 Knapsack Pesquisa Operacional Martello / Toth 1987 Knapsack Matemática Rode / Rosenberg 1987 Redução de sobras Engenharia / Produção Dyckhoff et al. 1988 Corte Produção

Fonte: Dyckhoff (1990).

Na década de 90 o trabalho de Dias (1991) tratou o problema de encaixe de figuras

irregulares em uma área retangular. Ghandforoush et al. em 1992 e Macleod et al. em 1993

(CUNHA, 1998) contemplaram novas heurísticas para o problema de corte tipo guilhotina de

retângulos com restrição e também métodos para obtenção da solução ótima dos problemas

propostos por Oliveira e Ferreira em 1990, Viswanathan e Bachi em 1993, Christofides e

Hadjiconstantinou em 1995 e Daza et al. em 1995 (CUNHA, 1998). Vinadé (1997) tratou o

problema de encaixe de figuras irregulares em uma área irregular.

2.1.1 Problemas de Corte e Empacotamento

O problema de corte consiste em efetuar o arranjo de peças diversas em uma região maior,

com intuito de efetuar o corte dessas peças e obter o melhor aproveitamento possível da matéria-

prima envolvida no processo. Já o problema de empacotamento, consiste neste mesmo arranjo de

peças do problema de corte, sendo que o intuito deste arranjo de peças não é o corte, e sim, obter

uma melhor ocupação do espaço.

O problema de empacotamento pode ser entendido como o inverso do problema de corte,

onde o problema de corte trata o ajuste das peças para o corte da matéria-prima, obtendo assim, o

menor desperdício e uma minimização das perdas. Já o problema de empacotamento trata o ajuste

Page 21: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

21

das peças para uma melhor ocupação da área envolvida, neste caso a peça maior, com o intuito de

uma maximização da área. Atenta-se que os objetivos dos problemas são inversos (minimização de

perdas e maximização da área ocupada), mas as abordagens para solução destes problemas são as

mesmas.

Para que se possa obter um maior rendimento da matéria-prima, faz-se necessário um

processo eficiente de agrupamento das peças envolvidas no processo. Este agrupamento é um

arranjo das áreas menores em uma área maior, visando assim, uma ocupação maior do objeto

delimitador, que neste caso, refere-se à área maior, citada anteriormente (DIAS, 1991).

Os problemas de corte e empacotamento podem ter dimensões variadas. Segundo a tipologia

definida por Dyckhoff (1990), os problemas podem ser unidimensionais, onde apenas uma

dimensão é considerada; bidimensionais, onde duas dimensões são consideradas; tridimensionais,

que considera três dimensões e multidimensionais, que considera mais de três dimensões. No caso

dos problemas multidimensionais, são problemas com mais de três dimensões. Dyckhoff (1990)

exemplifica um problema multidimensional que possui quatro dimensões. Este problema envolve o

posicionamento de peças em um contêiner, neste caso um problema tridimensional, sendo que as

peças devem ficar posicionadas por um tempo determinado. Neste caso, a variável tempo torna o

problema com quatro dimensões.

O estudo dos problemas de corte e empacotamento contribui para diversos problemas

existentes nas indústrias. A cada ano, novas abordagens e propostas de soluções surgem para estes

tipos de problemas, contribuindo para que indústrias de couro, plástico, vidro, papel, metal, tecido,

dentre outras, possam diminuir o desperdício de matéria-prima utilizada na produção de Peças

(FRITSCH; VORNBERGER, 1995). Para muitas empresas, uma alternativa para redução de custos

é um melhor aproveitamento ou redução de sobras da matéria-prima utilizada.

Nascimento (2006) mostrou algumas definições para o problema de corte e empacotamento,

estas definições foram adaptadas do trabalho de Cunha (1998). Seguem abaixo estas definições:

1. Trim Loss Problem (Problema de Perdas por Corte): Problema referente à redução do

desperdício de matéria-prima. Trata a otimização do corte de peças maiores para

produção de peças menores. Este problema pode estar envolvido em complexidades

unidimensional, bidimensional, tridimensional ou multidimensional.

Page 22: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

22

2. Bin Packing Problem (Empacotamento de caixas, tiras ou faixas): Problema referente à

redução de espaços vazios dentro de objetos. Trata o empilhamento de itens da uma lista

de pedidos.

3. Knapsack Problem (Problema da Mochila): Segundo Nascimento (2006),

O problema da mochila consiste na escolha de um subconjunto de itens, cada qual com uma correspondente utilidade e um valor (em geral denominado “peso”) que define o quanto este item utilizará da capacidade da mochila. A escolha dos itens a serem inseridos na mochila deve repercutir no maior beneficio possível, medido de acordo com a natureza do problema em estudo.

4. Vehicle Loading (Carregamento de Veículos): Problema de acomodamento de itens

diversos dentro de um veículo, visando uma ocupação melhor do espaço e, diminuindo

assim, o número de viagens necessárias para o transporte de todos estes itens.

5. Container and Pallet Loading (Carregamento de Paletes e Contêineres): Problema de

acomodamento de itens dentro de um volume. Este volume pode ser palete ou contêiner.

Trata itens com três dimensões (3D), empilhando-os de maneira a reduzir os espaços

vazios (NASCIMENTO, 2006).

6. Layout Problems (Problemas de Leiaute): Segundo Nascimento (2006),

Envolve a alocação de componentes em um espaço disponível, de forma que um conjunto de objetivos pré-especificados possam ser atingidos, respeitando-se restrições de espaço e performance.

7. Nesting and Partitioning Problems (Problemas de Encaixe e Particionamento):

Segundo Whitwell (2004, apud NASCIMENTO, 2006),

O termo “encaixe” é utilizado para representar o empacotamento de itens com duas dimensões e formato irregular, problema muito comum na indústria metal-mecânica. O arranjo proposto de itens é referenciado como um “particionamento” por este segmento da indústria.

8. Budgeting Capital Problem (Problemas de Cálculo de Capital): Problema de alocação

de investimentos. Deve-se maximizar o retorno auferido dos investimentos respeitando

os recursos disponíveis e o nível mínimo e máximo associado a cada investimento

possível (MATHEMATICAL PROGRAM GLOSSARY, 2005 apud NASCIMENTO,

2006).

Page 23: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

23

9. Assembly Line Balancing (Balanceamento de Linhas de Montagem): Problema da

divisão do trabalho necessário para montar uma variedade de produtos ao longo de

diferentes estações e linhas de montagem. O objetivo é otimizar a utilização de recursos

disponíveis em uma indústria (BOCKMAYR, PISARUK, 2001 apud NASCIMENTO,

2006).

10. Multiprocessor Scheduling Problems (Problemas de Ordenamento de Tarefas com

Múltiplos Processadores): Problema na programação de uma série de tarefas ao longo

de um período definido, respeitando as restrições de tempo, mão-de-obra e

seqüenciamento.

Conforme pôde ser observado anteriormente, diversos pesquisadores contribuíram para o

tratamento dos problemas de corte e empacotamento. Cada pesquisador sugeriu ou implementou

técnicas novas para tentar obter os melhores resultados nos seus trabalhos. Segundo Nascimento

(2006): “Nos últimos anos, vem-se dando prioridade à resolução dos problemas de corte a partir da

utilização de algoritmos heurísticos e metaheurísticos, podendo-se destacar a utilização dos

algoritmos genéticos.”. A utilização de algoritmos heurísticos e metaheurísticos contribuem para

melhorias no sorteamento das peças envolvidas no problema.

A utilização de Algoritmos Genéticos e Simulated Annealing para este tipo de problema

podem ser vistos nos trabalhos de Parada, Sepúlveda & Alvarenga (1998) que utilizaram Simulated

Annealing para o problema de corte guilhotina. Liang et al. (2001) tratou o problema de corte

unidimensional utilizando-se Algoritmos Genéticos. Hifi, Paschos & Zissimopoulos (2004)

utilizaram Simulated Annealing para o problema de corte circular.

2.2 Problemas de corte industrial

O problema de corte industrial é conhecido na literatura inglesa como Cutting Stock

Problem. O estudo dos problemas de corte e empacotamento contribui para que problemas

industriais (indústrias de couro, tecido, metal, vidro, plástico e outras) possam ser resolvidos, visto

que irão tratar o melhor arranjo das peças que serão cortadas, diminuindo o desperdício de matéria-

prima (NASCIMENTO, 2002).

Para que se possa obter um maior rendimento da matéria-prima, faz-se necessário um

processo eficiente de agrupamento das peças que a empresa irá cortar. Este agrupamento é um

arranjo das áreas menores em uma área maior delimitadora, visando assim, uma ocupação maior

Page 24: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

24

do objeto delimitador, que neste caso, refere-se à área maior citada anteriormente (DIAS,

1991).

Dentre os problemas existentes na indústria, o problema de corte no segmento têxtil está

relacionado ao tema proposto nesta pesquisa. Este problema consiste no ajuste de peças que serão

cortadas em uma mesa do corte com o intuito de diminuir o desperdício de tecido (NASCIMENTO,

2006). A Tabela 2 mostra as características do problema do corte de tecido conforme os critérios de

classificação propostos por Dyckhoff (1990).

Tabela 2. Características do problema de corte da indústria tecido

Critério Características do problema Dimensionalidade Bidimensional Sistema de medidas Sistema de medida discreta ou inteira Forma geométrica Formas irregulares e assimétricas Sortimento Itens com figuras diferentes quanto à forma e tamanho Disponibilidade Disponibilidade finita de itens e objetos

Fonte: Nascimento (2006).

Nascimento (2006) descreve o problema da indústria têxtil relacionado com a ordem de

corte das peças. Esta pesquisa irá se basear no problema da indústria têxtil como sendo o encaixe de

figuras irregulares e não serão tratadas as variáveis envolvidas no problema em questão. O motivo

de escolha do problema da indústria têxtil é à disposição das formas geométricas das peças

envolvidas e da área delimitadora. O item 2.3.1 desta pesquisa descreve a geometria das peças e da

área delimitadora envolvida nesta pesquisa.

A utilização de heurísticas e metaheurísticas para os problemas de corte industrial pode ser

observada em trabalhos recentes como Constantino e Gomes (2002) que utilizaram Algoritmos

Genéticos como técnica da otimização para o problema de corte bidimensional. Araujo (2004)

propôs em seu trabalho a utilização de p-medianas e Busca Tabu para o problema de corte

guilhotina bidimensional. Burke et al. (2006) utilizou Busca Tabu e Hill Climbing para o problema

do encaixe bidimensional de peças irregulares.

2.3 Problema de Encaixe de figuras irregulares

O problema de encaixe de figuras irregulares pode ser entendido como uma classe dos

problemas de corte e empacotamento. O encaixe de figuras irregulares consiste no posicionamento

das figuras em uma área maior. Este processo de posicionamento tem o intuito de obter o melhor

Page 25: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

25

posicionamento das figuras, minimizando o desperdício do espaço que será ocupado. O processo

deverá garantir que não haverá sobreposição das figuras encaixadas (DIAS, 1991).

A garantia de não sobreposição das figuras deve-se ao fato de que a forma de ocupação de

um espaço bidimensional classifica-se em três tipos: encaixe, cobertura e enchimento (VINADÉ,

1997). Esta pesquisa irá tratar o encaixe das figuras.

O encaixe de figuras irregulares envolve qualquer polígono fechado (DIAS, 1991). Estes

polígonos são figuras discretizadas em seqüências de segmentos de reta, formando o polígono.

Este tipo de problema envolve como área delimitadora, ou área maior, polígonos convexos e

não convexos. Na indústria, o problema pode ser encontrado em indústrias metal-mecânica, têxtil e

calçadista (VINADÉ, 1997).

2.3.1 Definição do problema

Para o entendimento do processo de encaixe de figuras irregulares, é necessário entender, ou

conhecer, as diferenças entre polígonos convexos e não convexos. Os polígonos convexos (Figura

1-a) são formados por segmentos de retas cujo ângulo entre essas retas não ultrapassa 180°. Ao

traçar qualquer reta internamente a um polígono convexo, todos os pontos da reta serão internos a

este polígono. Já os polígonos não convexos (Figura 1-b), o ângulo entre os segmentos de retas

poderá ser maior que 180° e retas que forem traçadas internamente a este tipo de polígono, poderá

não ter todos os seus pontos internos a este polígono. A Figura 1 exemplifica polígonos convexos e

não convexos respectivamente.

(a) (b)

Figura 1. Tipos de Polígonos: (a) Polígono convexo; (b) Polígono não convexo

Fonte: Adaptado de Vinadé (1997).

Page 26: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

26

O posicionamento das figuras poderá ser do tipo encaixe, onde não ocorrerá a sobreposição,

do tipo cobertura, onde é permitida a sobreposição e do tipo enchimento, onde também não é

permitida a sobreposição das figuras. No caso da cobertura e do enchimento, a área delimitadora

deverá ser preenchida, sem sobrar espaços vazios. A Figura 2 mostra os tipos de encaixe descritos

anteriormente (DIAS, 1991).

Figura 2. Tipos de Preenchimento

Fonte: Adaptado de Vinadé (1997).

A eficiência do processo de posicionamento das figuras é determinada pela razão entre a

soma das áreas das figuras envolvidas e a área do objeto delimitador (VINADÉ, 1997). As

Equações Equação 1, Equação 2 e Equação 3 mostram os valores limites de eficiência que se podem

obter no processo de encaixe, cobertura e enchimento, respectivamente. As equações se baseiam no

modelo apresentado por Vinadé (1997), onde Ap refere-se a soma das áreas das figuras utilizadas no

processo em questão e A refere-se a área onde as figuras serão posicionadas.

��� � 1 Equação 1

��� � 1 Equação 2

��� � 1 Equação 3

A Equação 1 determina que quanto mais próximo de 1 for o valor resultante da equação,

melhor será o rendimento do processo de encaixe das figuras. Onde valores próximos de 1,

significam que a soma da área das figuras encaixadas é próximo do valor da área do retângulo que

delimita a área de encaixe. Fazendo que o desperdício de matéria-prima seja menor. Apesar da

Page 27: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

27

porcentagem da área ocupada pelas figuras ser um fator de medição da qualidade do processo de

encaixe, será considerado o comprimento ocupado pelas figuras encaixadas como sendo o fator de

decisão de qualidade. Assim o menor comprimento das figuras encaixadas determinará o melhor

encaixe.

Page 28: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

28

3 DESENVOLVIMENTO

3.1 Métodos utilizados para resolução dos problemas de encaixe

A metodologia abordada nesta pesquisa considerou uma seqüência de passos que definiram

o processo de encaixe das figuras. O processo envolveu, de forma mais geral, três procedimentos: a

ordenação das figuras, o encaixe das figuras e a garantia de não sobreposição destas figuras. A

ordenação das figuras utilizou dois métodos metaheurísticos: Algoritmos Genéticos e Simulated

Annealing. O encaixe das figuras foi feito utilizando a regra de movimento left-bottom e a garantia

de sobreposição foi feita utilizando um processo de verificação se um ponto é interno a um

polígono, este processo de verificação utilizou um método denominado nesta pesquisa como PNP

(ponto no polígono) e uma função de verificação de intersecção entre duas retas, função esta,

apresentada nos trabalhos de Dias (1991) e Vinadé (1997), denominada função D.

3.1.1 Ordenação das figuras

O processo de ordenação das figuras foi o responsável por definir a ordem que cada figura

deveria ser encaixada. Foram utilizados métodos metaheurísticos para a definição da ordem das

figuras. Estes métodos não exigem um elevado esforço computacional, permitindo assim, a busca

pela melhor ordem de encaixe das figuras durante o processo.

3.1.1.1 Algoritmos Genéticos

Introdução

Os Algoritmos Genéticos estão incluídos na classe de métodos evolucionários. Os métodos

evolucionários pertencem a uma classe de métodos que se baseiam em mecanismos probabilísticos.

Estes métodos probabilísticos se diferem de métodos determinísticos por não necessitarem de

características de continuidade e diferenciabilidade. Dentro do contexto de métodos probabilísticos

há os métodos estocásticos que se baseiam na classe de métodos probabilísticos (BEZ, 2005).

Mesmo os Algoritmos Genéticos pertencerem à classe de algoritmos probabilísticos de busca e

otimização, estes não são aleatórios. Estes se utilizam de conceitos de probabilidade, mas não de

buscas aleatórias que, pelo contrário, dirigem a busca para regiões do espaço onde é “provável” que

os pontos ótimos estejam (CORRÊA, 2000).

Page 29: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

29

Os algoritmos genéticos foram introduzidos por Holland em 1975 no seu livro "Adaptation

in Natural and Artificial Systems" (BEZ, 2005). Representam técnicas de buscas baseadas na

seleção natural, que foi apresentada por Charles Darwin em 1858 com sua Teoria da Evolução. Os

trabalhos de Holland juntamente com a publicação “Genetic Algorithms in Search, Optimization

and Machine Learning” de Goldberg (1989) são considerados pioneiros sobre este tema (BEZ,

2005).

Os métodos evolucionários como já citado, são baseados na teoria da evolução de Charles

Darwin. A partir de uma população inicial, a busca é realizada com base na seleção do indivíduo

mais apto. A aptidão de cada indivíduo é medida a cada geração que surge, onde os indivíduos mais

aptos ou adaptados se destacam para uma seleção. Segundo Bez (2005), os métodos evolucionários

operam sobre uma população de soluções potenciais, aplicando o princípio de sobrevivência do

mais apto para produzir melhores aproximações para uma solução.

Segundo Goldberg (1989 apud CORRÊA, 2000), os algoritmos genéticos possuem as

seguintes características:

• Operam sobre uma população, que é o equivalente a um conjunto de pontos, não a partir

de um único ponto;

• Operam num espaço de soluções codificadas, não no espaço de busca diretamente;

• Necessitam somente de informações sobre o valor de uma função objetivo para cada

membro da população, não requerendo que a função seja diferenciável ou contínua; e

• Usam regras de transições probabilísticas, neste caso referente à mudança de um estado

para outro, diferentes da utilização de regras determinísticas.

Os algoritmos genéticos partem de uma população inicial de indivíduos. Estes indivíduos

irão evoluir e se modificar através recombinação entre os indivíduos e mutações que ocorrerão em

uma parcela da população. Os indivíduos mais aptos sobreviverão, sendo que a aptidão é definida

através de uma função denominada justamente de função de aptidão ou avaliação. Esta função irá

classificar os indivíduos pelo seu grau de aptidão (BEZ, 2005). A estrutura de um algoritmo

genético pode ser vista na Figura 3.

Page 30: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

30

Figura 3. Estrutura do algoritmo genético

Fonte: Adaptado de Bez (2005).

Tanomaru (1995, apud ROSÁRIO, 2002) sugere a seguinte definição para algoritmos

genéticos: “Algoritmos Genéticos (AGs) são métodos computacionais de busca baseados nos

mecanismos de evolução natural e na genética. Em AGs, uma população de possíveis soluções para

o problema em questão evolui de acordo com operadores probabilísticos concebidos a partir de

metáforas biológicas, de modo que há uma tendência de que, na média, os indivíduos representem

soluções cada vez melhores à medida que o processo evolutivo continua”.

Conceitos dos Algoritmos Genéticos

A partir do próximo tópico, serão mostrados outros aspectos do algoritmo genético. Para

isso, fazem-se necessários o entendimento de conceitos importantes presentes neste algoritmo.

Segue abaixo a descrição destes conceitos com base na descrição feita por Bez (2005).

• Função Aptidão: é conhecida como Fitness, trata-se do mecanismo de avaliação

utilizado a cada geração processada. Cada indivíduo possui um valor desta função, valor

Page 31: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

31

este, que irá definir o nível de adaptação deste indivíduo no ambiente. Quanto melhor o

valor da função, mas são as chances do individuo sobreviver, se perpetuar e gerar

descendentes.

• Gene: é a representação de cada parâmetro. É através deste que as características dos

indivíduos serão transmitidas.

• Genótipo: é a constituição genética do indivíduo. Nos algoritmos genéticos, ele é

responsável pela distribuição dos genes num cromossomo.

• Fenótipo: é o cromossomo codificado.

• Cromossomo: representa uma possível solução. Ele é formado por um conjunto de

genes e é responsável pela informação genética do indivíduo.

Representação e codificação

Originalmente, os Algoritmos Genéticos possuem representação binária (zero-um), sendo

que atualmente, também podem apresentar uma representação decimal ou mesmo uma

representação baseada na ordem. Essa representação baseada na ordem torna-se eficaz no problema

do caixeiro viajante (BEZ, 2005).

Utilizando a terminologia Genética, cada indivíduo no espaço de busca, é um fenótipo

correspondente a realização de um dado código, neste caso, o seu genótipo. A escolha da

codificação para um determinado problema é a escolha da função ou regra que associa os elementos

do espaço dos genótipos, com aqueles do espaço de busca, os fenótipos (ROSÁRIO, 2002).

Ao utilizar uma representação do tipo posicional, a posição de cada gene no cromossomo

influencia diretamente no fenótipo. Seja uma representação do indivíduo dada por 10110001, este

indivíduo será diferente de um indivíduo com representação 10100110, isso porque a representação

posicional considera a posição dos genes. O primeiro indivíduo tem o fenótipo 177 e o segundo

indivíduo tem o fenótipo 166. Em uma representação não posicional, os fenótipos mostrados acima

serão considerados iguais, visto que neste tipo de representação, a quantidade de genes com valor 1

é que são considerados, portanto os indivíduos possuem fenótipo 4 (BEZ, 2005).

Operadores Genéticos

Os operadores genéticos são de fundamental importância para os algoritmos genéticos. São

estes operadores que irão evoluir os indivíduos (cromossomos) e sem eles, os indivíduos

Page 32: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

32

permanecem inalterados. Sem a utilização dos operadores, as evoluções não ocorreriam,

impossibilitando o processo de otimização.

Segundo Goldberg (1989, apud BEZ, 2005), os operadores conhecidos por seleção,

cruzamento e mutação apresentam bons resultados em problemas de otimização aplicando

algoritmos genéticos. Estes operadores serão vistos a seguir.

Seleção

A seleção tem por objeto fazer com que os indivíduos mais aptos tenham uma maior

probabilidade de serem inseridos na nova população. A seleção utiliza-se do valor de aptidão que

cada indivíduo possui, e assim aplicar-se, conforme a técnica pré-definida, a escolha dos indivíduos

que formarão nova população.

Dentre os processos de determinação de uma nova população, Barbosa (1997, apud

ROSÁRIO, 2002) apresenta um esquema de seleção que pode ser enquadrado em uma das seguintes

categorias:

• seleção estabilizante, também chamada normalizante, tende a eliminar indivíduos com

valores extremos de aptidão;

• seleção direcional, que tem o efeito de aumentar (ou diminuir, em caso de minimização)

a aptidão média da população;

• seleção perturbante, que tende a eliminar os indivíduos moderados de aptidão.

Outros métodos de seleção são conhecidos, podendo-se destacar o método da roleta e o

método elitista.

O método da roleta consiste inicialmente em colocar os indivíduos em uma roleta atribuindo

a cada um destes indivíduos uma parte proporcional à sua aptidão, sendo assim, os indivíduos mais

aptos tem um valor maior na roleta, aumentando a probabilidade de estarem na nova população. Em

seguida, roda-se a roleta e o indivíduo correspondente à fatia onde a agulha parar permanecerá para

a próxima geração. A roleta é acionada quantas vezes forem necessárias para gerar a quantidade de

indivíduos requerida para formar a população. A Figura 4 ilustra o processo de seleção pelo método

da roleta, nesta, as partes possuem tamanhos diferenciados que expressão as diferentes

probabilidades dos indivíduos. Já o método elitista, é um processo que previne a eliminação dos

melhores indivíduos e mantendo sempre na população os indivíduos mais aptos. O método consiste

Page 33: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

33

na ordenação de todos os indivíduos em ordem decrescente ou crescente, de acordo com o tipo do

problema, do valor de aptidão. Retiram-se os n primeiros indivíduos, onde n é a quantidade de

indivíduos requerida para formar a população.

Figura 4. Método da roleta

Fonte: Boechel (2005).

Cruzamento

Este operador genético é conhecido na literatura inglesa como crossover e é responsável

pela reprodução dos indivíduos da população. O cruzamento irá gerar indivíduos a partir da

combinação do material genéticos de pelo menos dois “pais” e irá gerar um ou dois “filhos”. A

seguir serão mostrados três tipos de cruzamento, sendo eles: cruzamento simples, cruzamento de

dois pontos e cruzamento uniforme.

Cruzamento simples

Após a seleção dos indivíduos que irão efetuar um cruzamento, é feito um sorteio de uma

posição de crossover e é feita a troca de material genético entre esses indivíduos “Pais”. A Figura 5

mostra a troca do material genético entre o “Pai 1” e o “Pai 2”, resultando no “Filho 1” e ‘Filho 2”.

É importante perceber que a troca dos genes foi efetuada na posição três do cromossomo.

Os valores expressados nos cromossomos utilizam a notação decimal e são valores definidos

sem seguir um padrão. São valores decimais sem repetição, apenas exemplificam as operações

feitas sobre os cromossomos.

Page 34: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

34

Figura 5. Cruzamento simples

Fonte: Adaptado de Rosário (2002).

Cruzamento de dois pontos

Neste tipo de cruzamento, dois pontos são sorteados e o material genético entre esses dois

pontos é recombinado. Os genes localizados entre os dois pontos sorteados serão trocados, ou seja,

o “Filho1” terá os genes localizados entre os pontos sorteados do “Pai 1” e os genes que não

pertencem ao intervalo sorteado do “Pai 2”. O “Filho 2” terá o seu material genético formado pelo

inverso do processo realizado com o “Filho 1”. A Figura 6 ilustra o cruzamento de dois pontos.

Figura 6. Cruzamento de dois pontos

Fonte: Adaptado de Rosário (2002).

Cruzamento uniforme

Neste cruzamento é introduzida uma máscara que irá definir as posições de troca de genes.

Neste caso, trata-se de uma máscara de bits (01001) com o mesmo comprimento do cromossomo

que indicará a ocorrência ou não da troca de genes no ponto determinado. Uma máscara m formada

por 1 0 1 0 1 indicará que as posições um, três e cinco terão trocas de genes entre os “Pais”. A

Figura 7 exemplifica esta troca de genes com a utilização de uma máscara.

Figura 7. Cruzamento uniforme

Fonte: Adaptado de Rosário (2002)

Um problema decorrente dos cruzamentos realizados entre os cromossomos é a

inconsistência. Trata-se de um problema com os cromossomos filhos, onde seus genes se repetem

Page 35: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

35

no mesmo cromossomo. Este problema pode ocorrer, por exemplo, no cruzamento simples ou de

dois pontos. Para esses casos, é sorteada uma posição aleatória e a troca de genes é realizada. Neste

momento, o cromossomo dos “pais” pode repetir algum gene nos filhos gerados. Esta condição não

pode acontecer, assim é preciso efetuar um tratamento de inconsistência.

Para o tratamento de inconsistências, podem ser aplicados diversos métodos. Entre estes

métodos, há o operador PMX (Partially Mapped Crossover). Este operador funciona com o

cruzamento de dois pontos, onde se percorre o cromossomo testando cada gene. Inicia-se o percurso

a partir da posição de corte 2. Para cada gene é testado se o mesmo se repete, caso este gene esteja

repetido, efetua-se a troca do gene na posição testada pelo gene relativo do outro filho gerado. Este

teste é feito para todos os genes do cromossomo. A Figura 8 mostra o operador PMX. Os genes

marcados com “*” se repetiram e foram trocados pelos genes marcados com uma seta. A troca dos

genes é feita com o gene do outro filho gerado.

Figura 8. Tratamento de Inconsistência por PMX

Além do operador PMX, utilizam-se os operadores OX (Order Crossover), CX (Cycle

Crossover) e outros para o tratamento de inconsistência (GOLDBERG, 1989). No caso do operador

OX, seleciona-se um fragmento de um dos “pais” e este fragmento é adicionado ao “filho”

mantendo a posição dos genes no cromossomo. Este fragmento é obtido a partir de dois pontos do

cromossomo. Então os genes não preenchidos do “filho” serão completados com os genes do outro

“pai”. Para isso percorre-se o segundo “pai” selecionando seus genes unitariamente. Para cada gene

selecionado, verifica-se se o mesmo já existe no filho gerado, caso não se exista, este gene é

adicionado ao “filho”. A Figura 9 mostra os passos da aplicação do operador OX.

Page 36: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

36

Figura 9. Tratamento de Inconsistência por OX

Fonte: Mendes (1999).

Mutação

Segundo Bez (2005), o operador genético de mutação tem como principal objetivo

introduzir algumas características que não estão presentes na população inicial. Nesse processo, os

indivíduos são escolhidos aleatoriamente.

A mutação poderá proporcionar novas regiões promissoras no espaço de busca, afinal novos

indivíduos com características diferentes surgirão na população.

O processo de mutação é simples, basta selecionar um ou mais genes do cromossomo e

então efetuar a troca destes genes. O processo de seleção dos genes é realizado através de uma

escolha aleatória. A Figura 10 exemplifica o processo de mutação em um indivíduo com notação

binária.

Figura 10. Mutação

Fonte: Adaptado de Rosário (2002).

O operador de mutação não precisa se restringir a troca de apenas um gene, podem-se

escolher n genes e assim efetuar a troca dos mesmos. Outro processo é a escolha de dois pontos no

cromossomo e partir destes pontos, mudarem a ordem dos genes entre esses pontos conforme a

Figura 11. Esta figura representa um cromossomo com notação decimal.

Page 37: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

37

Figura 11. Mutação com mudança na ordem dos genes

Parâmetros Genéticos

Os algoritmos genéticos, como muitos métodos de otimização, possuem parâmetros que

influenciam no seu comportamento. O número de indivíduos da população, a taxa de cruzamentos e

a taxa de mutação são os parâmetros dos algoritmos genéticos.

O número de indivíduos é importante para a definição do espaço de busca. A utilização de

poucos indivíduos acarreta na redução deste espaço de busca e problemas de convergência

prematura, já a utilização de um número maior de indivíduos resultará em uma maior cobertura do

espaço de busca, prevenindo esta convergência prematura. O tamanho da população está ligado ao

esforço computacional exigido pelo o algoritmo (BEZ, 2005).

Quanto maior a taxa de cruzamento, mais rapidamente novos indivíduos serão introduzidos

na população. Com uma taxa de mutação muito alta a busca se torna essencialmente aleatória. Bons

resultados geralmente são obtidos com valores baixos para a taxa de mutação, o qual introduz e

mantém a diversidade genética da população (CORRÊA, 2000 apud ROSÁRIO, 2002).

O importante é perceber que os cruzamentos de cromossomos irão gerar os indivíduos com

mais chances de sobrevivência, e a mutação poderá tornar esses indivíduos mais aptos na

população, norteando a busca.

Pseudocódigo de um AG

Barbosa (1997, apud ROSÁRIO, 2002), descreve um algoritmo que consegue englobar a

grande maioria dos algoritmos genéticos existentes, conforme a Figura 12.

Page 38: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

38

Algoritmo Genético genérico 1. Inicialize a população 2. Avalie indivíduos na população Repita 3. Selecione indivíduos para reprodução 4. Aplique os operadores de recombinação e m utação 5. Selecione indivíduos para sobreviver Até critério de parada satisfeita Fim

Figura 12. Algoritmo genético genérico

Fonte: Adaptado de Barbosa (1997, apud ROSÁRIO, 2002).

As linhas enumeradas são processos do algoritmo onde estão incluídos os operadores

genéticos.

O primeiro passo é a inicialização da população, que criará a primeira geração de indivíduos

que será utilizada inicialmente pelo algoritmo. No segundo passo, é a avaliação inicial dos

indivíduos da população, esta avaliação irá efetuar a primeira ordenação dos indivíduos conforme

suas aptidões. Os próximos passos irão acontecer em um loop, cujo não irá terminar até que um

critério de parada seja satisfeito. No terceiro passo é feita a seleção dos indivíduos que irão se

reproduzir, a escolha poderá ser aleatória ou pelo grau de aptidão dos indivíduos, ou seja, um

número n de indivíduos mais aptos serão selecionados. O quarto passo contempla o cruzamento dos

indivíduos e a mutação dos mesmos, para o mesmo são aplicados os operadores de cruzamento de

mutação explicados anteriormente. E no quinto passo é feita a seleção dos indivíduos que irão

sobreviver. Os passos três, quatro e cinco ocorrem em um loop até que um critério de parada seja

satisfeito.

3.1.1.2 Algoritmo Simulated Annealing

O Simulated Annealing é uma técnica heurística que foi publicada inicialmente por

Metropolis et al (1953 apud BEZ, 2005) e baseia-se no processo de recozimento que ocorre na

indústria metalúrgica, no qual se busca a obtenção de um material sem impurezas (METROPOLIS

et al, 1953; KIRKPATRICK et al, 1983 apud BEZ, 2005).

Busseti (2001a apud GOMES, 2003) afirma sobre o Simulated Annealing que, “Sua

principal vantagem sobre os outros métodos é a sua habilidade e flexibilidade para se aproximar do

ótimo global. O algoritmo é bastante versátil desde que ele não dependa de alguma propriedade

restritiva do modelo”.

Page 39: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

39

Segundo Oliveira (2004), a técnica publicada por Metropolis et al. em 1953 trata de um

método numérico simples que representa o estado de um conjunto de átomos em equilíbrio em uma

certa temperatura. O método era análogo ao processo de recozimento (annealing) da indústria

metalúrgica. Este processo trata a exposição do metal a altas temperaturas, fazendo com que os

átomos do metal vibrem violentamente. Após a elevação da temperatura, o metal é esfriado

gradualmente para que os átomos atinjam padrões estáveis. Com base neste processo, surgiu o

algoritmo de simulação computacional Simulated Annealing ou Recozimento Simulado

(OLIVEIRA, 2004).

O comportamento dos átomos pode ser observado na Figura 13, Figura 14 e Figura 15. Estas

figuras representam respectivamente: a desordem dos átomos durante a elevação da temperatura,

onde os átomos estão se agitando por causa desta elevação na temperatura; um resfriamento brusco

da temperatura, provocando assim, um estado conhecido como amorfo, onde o nível de energia via

baixar rapidamente deixando este estado menos estável que o estado da Figura 15, esse resfriamento

rápido estaciona os átomos; e um estado onde a temperatura foi diminuída lentamente, ao contrário

da Figura 14 que teve uma diminuição brusca da temperatura. Este estado mostra um

comportamento ordenado das moléculas por causa da diminuição gradativa da temperatura

(NORONHA, 2000). A Figura 13 representa as moléculas se agitando, sendo as setas uma

indicação do movimento das moléculas.

Figura 13. Estado desordenado das moléculas da matéria em fusão

Fonte: Adaptado de Noronha (2000).

Page 40: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

40

Figura 14. Estado desordenado das moléculas após a um resfriamento rápido

Fonte: Adaptado de Noronha (2000).

Figura 15. Estado ordenado das moléculas após a um resfriamento lento

Fonte: Adaptado de Noronha (2000).

Segundo Bez (2005), “Simulated Annealing, como todo método estocástico, tem como

característica uma busca exploratória estocástica, ou seja, aleatória. A origem desta técnica

computacional é da mecânica estatística e tem como objetivo principal determinar soluções

próximas do menor custo global para grandes problemas de otimização”.

O algoritmo apresentado por Metropolis et al. (1953 , apud BEZ, 2005) tira o nome do fato

que seu procedimento de otimização simula o resfriamento lento da matéria. A principal variável de

controle é chamada temperatura, por analogia ao fenômeno físico. Na Figura 16 é apresentada a

formulação geral do Simulated Annealing,onde s* representa a melhor solução encontrada durante a

execução do algoritmo (NORONHA, 2000).

Page 41: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

41

Início Estabelecer uma solução realizável S0; s = s0; Determine uma temperatura inicial T > 0; Enquanto o sistema não estiver resfriado faça efetuar L iterações de: escolher aleatoriamente um vizinho v ∈ v(s) ∆ = objetivo( ν) – objetivo( s) Se ∆ < 0 então s = v; Se objetivo( ν) < objetivo( s*) então s* = ν; Senão

s = ν com a probabilidade �∆ �� ; Fim da Busca Interna; Reduzir a temperatura; Fim do Enquanto Fim

Figura 16. Simulated Annealing

Fonte: Adaptado de Noronha (2000).

Segundo Noronha (2000), este algoritmo decompõe duas grandes buscas sobrepostas. A

busca externa que controla o término do processo e é baseado na noção de estado resfriado e a

busca interna que contém o processo de otimização.

Durante a busca interna, para uma determinada temperatura, escolhe-se um vizinho (v)

aleatoriamente. Caso v seja um vizinho melhor, neste caso seu valor objetivo deverá ser inferior ao

valor objetivo da solução corrente s, v será aceito como uma nova solução. Caso a passagem de s a

ν degrade o objetivo, aceita-se o movimento com uma probabilidade ligada a diferença das

quantidades objetivo e a temperatura corrente. Isto é um mecanismo de aceitação condicional das

“ascensões” que permitem ao método de sair dos mínimos locais. Ao fim de L iterações diminuem-

se a temperatura (NORONHA, 2000).

Quando a temperatura se eleva, praticamente todos os movimentos serão autorizados.

Quanto mais a temperatura é reduzida, mais as degradações serão penalizadas em função de lucro

dos movimentos melhores, e assim, o método então convergirá para o ótimo local mais próximo

(NORONHA, 2000).

Será considerado que o problema está resfriado no seu estado se não houver mais chances de

se achar uma melhor solução na continuação da exploração. Dentre os numerosos critérios para

tomar a decisão de parar o algoritmo, um dos mais utilizados é a não melhoria do objetivo em certo

número n de iterações a uma determinada temperatura (NORONHA, 2000).

Page 42: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

42

Uma revisão do algoritmo é a administração da temperatura. Existem numerosas regras de

administração da temperatura. A mais simples consiste em trabalhar a temperatura fixa

(NORONHA, 2000). Um caso freqüentemente encontrado é a diminuição lenta da temperatura.

Para este, existem dois parâmetros a ajustar: a temperatura inicial e a regra de diminuição da

mesma. A temperatura pode ser diminuída, por exemplo, através de um valor fixo, onde é definido

um valor para a diminuição e temperatura é decrementada. Hajek (1988 apud NORONHA, 2000)

propôs uma diminuição logarítmica da temperatura que assegura a convergência do algoritmo. A

temperatura evolui segundo a Equação 4:

� � �ln�� � 1� Equação 4

onde Tk é a temperatura na iteração k. Hajek (1988 apud NORONHA, 2000) apresentou as regras de

diminuição de “C” assegurando a convergência do algoritmo sob reserva que a vizinhança tenha

boas propriedades. Na Figura 17 é apresentada uma modificação do algoritmo do Simulated

Annealing que foi apresentado anteriormente para contemplar a administração da temperatura.

Neste algoritmo, a função de probabilidade é modificada para contemplar o modelo de

administração de temperatura.

Início Estabelecer uma solução realizável S0; s* = s = s0; k = 0; Determine uma temperatura inicial T > 0; Enquanto o sistema não estiver resfriado faça k = k + 1; escolher aleatoriamente um vizinho v ∈ v(s) ∆ = objetivo( ν) – objetivo( s) Se ∆ < 0 então s = v; Se objetivo( ν) < objetivo( s*) então s* = ν; Senão

s = ν com a probabilidade �∆���������/��; Reduzir a temperatura; Fim do Enquanto Fim Figura 17. Simulated Annealing Fonte: Adaptado de Noronha (2000).

3.1.2 Encaixe das Figuras

O encaixe consistiu no posicionamento das figuras conforme a ordem definida a partir da

utilização das metaheurísticas apresentadas anteriormente. O posicionamento das figuras utilizou o

processo left-bottom. O left-bottom, como o nome já diz, trata-se do movimento das figuras no

Page 43: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

43

sentido esquerdo e inferior. Neste caso, as figuras antes de serem encaixadas, estarão posicionadas

em coordenadas aleatórias que variarão conforme a criação destas figuras. O left-bottom funcionou

como uma regra de encaixe, onde todas as figuras são encaixadas, ou posicionadas, seguindo a regra

do sentido esquerdo e inferior. A Figura 18 mostra o sentido do encaixe por left-bottom. O

responsável pela qualidade do encaixe é o processo de ordenamento das figuras.

Figura 18. Left-Bottom

3.1.3 Tratamento de Sobreposição das Figuras

O tratamento de sobreposição garantiu que as figuras posicionadas não ficassem

sobrepostas. Foi um processo importante do algoritmo, pois a partir da ordem das figuras geradas

pelas metaheurísticas, o processo de encaixe das figuras inicia o posicionamento das mesmas

utilizando left-bottom. O processo de encaixe necessita de uma verificação de sobreposição e uma

correção do posicionamento das figuras, que é realizado nesta parte do algoritmo.

Este trabalho sugeriu um método chamado de função PNP (Ponto no polígono), trata-se de

um método para verificar se um ponto é interno ou não a um polígono. Os trabalhos de Dias (1991)

e Vinadé (1997) descrevem dois métodos denominados para o ajuste das figuras denominados

Intersecção de Matrizes e Função D.

A função D em particular, utiliza-se da geometria analítica para verificar a intersecção entre

duas retas. É possível saber através do valor resultante da função, se um segmento de reta está ou

não fazendo intersecção com outra reta de um polígono, podendo assim identificar uma possível

Page 44: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

44

sobreposição entre os polígonos. A função D foi utilizada durante a verificação de sobreposição do

algoritmo.

3.1.3.1 Função PNP

A função PNP verifica se um ponto, neste caso se uma coordenada (x,y) é interna a um

polígono. Para que isso seja possível, a função utiliza-se a idéia de traçar uma reta que cortará o

polígono em questão. Esta reta poderá ter qualquer direção, sendo que a partir do ponto em questão,

traça-se uma reta de uma direção única qualquer. A partir desta reta, são verificadas quantas

intersecções ela possui com o polígono, esse número de intersecções ou cruzamentos é conhecido

como crossing number. Caso o número de intersecções seja “par”, significará que o ponto é externo

ao polígono, caso o número de intersecções seja “ímpar”, significará que o ponto é interno ao

polígono (HAINES, 1994). A Figura 19 ilustra as intersecções da reta, nesta figura são utilizados

polígonos não convexos para exemplificar uma maior quantidade de intersecções do ponto com os

segmentos do polígono.

Figura 19. Ponto interno ao polígono

Alguns tratamentos são necessários durante a identificação da quantidade de cruzamentos

existentes entre o ponto de verificação e o polígono em questão. A Figura 20 exemplifica alguns

problemas existentes com os cruzamentos entre os segmentos do polígono.

Page 45: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

45

Figura 20. Quantidade de cruzamentos nos segmentos do polígono

O algoritmo segue algumas regras durante a verificação do ponto interno ao polígono.

Conforme mostrado na Figura 20, há o problema de traçar uma reta que corte um ponto de junção

entre dois segmentos ou esta reta traçar um segmento por completo, neste caso, a reta teria o mesmo

ângulo do segmento traçado. Por estes casos, definiu-se que o algoritmo traçará sempre uma reta

horizontal (sem ângulo ou ângulo de 0º) para a verificação da quantidade de cruzamento ocorridos,

segmentos horizontais são excluídos da verificação e um segmento inclui seu ponto inicial e exclui

seu ponto final da verificação. A inclusão ou exclusão do ponto inicial e final do segmento faz que

quando uma reta traçar um ponto de junção entre dois segmentos seja possível definir o cruzamento

de forma correta conforme definido neste problema.

3.1.3.2 Intersecção de Matrizes

O método consiste na discretização da área de encaixe e das figuras que serão encaixadas em

uma matriz de bits. O valor nulo desta matriz representa uma área vazia (DIAS, 1991; VINADÉ,

1997). A Figura 21 ilustra a representação de uma figura por uma matriz de bits.

Page 46: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

46

Figura 21. Representação de uma figura em matriz de bits

Fonte: Dias (2000).

O posicionamento das figuras com a utilização do método de intersecção de matrizes ocorre

percorrendo a área maior com a matriz de bits da figura em questão. Serão executadas rotinas para

verificar a sobreposição de figuras. Para a nova posição da figura discretizada, é verificado se os

pontos dos vértices estão em uma área já ocupada e uma verificação com os pontos das arestas da

peça. Somente após esses passos, é definida a nova posição da figura (VINADÉ, 1997).

3.1.3.3 Método de Deslizamento e Função D

Um processo de posicionamento das figuras pode ser a partir de um deslizamento das

figuras no plano de encaixe. Considerando que as figuras são formadas por segmentos de retas é

possível fazer uma aproximação da figura que será encaixada com as demais. Utiliza-se a definição

de uma direção de deslizamento e a partir da obtenção da distancia de um ponto a uma reta o

deslizamento é realizado (DIAS, 1991). Segundo Dias (1991), a técnica de posicionamento das

figuras por deslizamento foi proposta por Bernardo (1987, apud DIAS, 1991). Defini-se através de

um vetor V a direção que a figura será deslocada e com a utilização de uma função denominada D é

possível definir quais arestas das figuras já posicionadas fazem intersecção com a figura que se

deseja posicionar. Assim é possível determinar a distância de colisão entre os vértices das figuras já

posicionadas e obter um conjunto de valores mínimos de deslocamento para a figura que será

posicionada até o momento (DIAS, 1991).

Page 47: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

47

A partir da função D é possível conhecer a posição relativa de um ponto com relação a uma

reta. A função D é obtida a partir da equação que calcula a distância de um ponto P a uma reta AB

(DIAS, 1991). A distância (d) de um ponto P a uma reta AB é dada pelas Equação 5 e Equação 6:

� � �� ! �"�#$ ! $%& ! �$ ! $"��� ! �%�' Equação 5

onde:

' � (��) ! �*�2 � �$) ! $*�2 Equação 6

A Figura 22 mostra os elementos de cálculo da distância entre o Ponto P e a reta AB.

Figura 22. Exemplificação de Ponto e Reta

Fonte: Adaptado de Dias (1991).

Segundo Dias (1991), a função D é definida pelo produto de d e L. A posição relativa do

ponto P em relação a reta AB é dada pelo sinal do valor resultante da função D. Dias (1991), diz que

partir da função D, pode-se saber que:

• P encontra-se à esquerda de AB se o valor de D > 0;

• P encontra-se à direita de AB se o valor de D < 0;

• P encontra-se sobre o segmento AB se o valor de D = 0;

Page 48: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

48

O teste de intersecção das peças com a utilização da função D exige que todos os segmentos

da peça sejam verificados. Para este, deve-se percorrer cada segmento de reta da figura e verificar

se este segmento faz intersecção com algum outro segmento das figuras já encaixadas. A partir de

dois segmentos de retas formados, por exemplo, pelos pontos AB e CD, uma possível intersecção

ocorrerá se os sinais dos resultados da aplicação da função D do ponto A para o segmento CD e do

ponto B para o segmento CD forem contrários. A intersecção só será confirmada se os sinais da

aplicação da função D para os pontos C e D em relação ao segmento AB também forem contrários

(DIAS, 19991). A Figura 23 ilustra a intersecção das retas AB e CD.

Figura 23. Intersecção das Retas AB e CD

Fonte: Adaptado de Dias (1991).

3.2 Modelagem algorítmica

A seqüência de passos descrita anteriormente para definição do processo de encaixe das

figuras envolvia os procedimentos de ordenação, encaixe e a garantia de não sobreposição destas

figuras. Esta seqüência de passos possui dois modelos algorítmicos que são seguidos. Esta

diferenciação se deve pelo uso de dois métodos metaheurísticos para definir a ordem das peças.

O modelo que utilizou Algoritmo Genético tem a ordem de encaixe de cada figura definida

pelo cromossomo. Por exemplo, em um encaixe de 10 figuras, estas figuras foram enumeradas e

assim geraram-se os cromossomos. Estes possuíam 10 genes, referentes a cada figura deste

exemplo. A ordem dos genes no cromossomo foi a ordem que cada figura foi encaixada. Para um

Page 49: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

49

cromossomo com genótipo: 5 1 8 9 6 3 7 4 2 10 significam que a primeira figura encaixada foi a de

número 5, a segunda figura encaixada foi a de número 1 e assim por diante.

Durante a execução do Algoritmo Genético, é necessário definir os melhores indivíduos para

então permitir ao algoritmo convergir para o indivíduo mais apto. O indivíduo mais apto foi o que

permitiu a obtenção do menor comprimento da área utilizada para o encaixe de todas as figuras.

O fitness, neste caso, a aptidão dos indivíduos foi definida, como informado anteriormente,

pelo menor comprimento da área de encaixe das figuras cuja seqüência destas figuras foi definida

pelo indivíduo em questão.

A seleção dos melhores indivíduos necessita que este valor de aptidão de cada indivíduo já

esteja calculado, assim antes de efetuar a seleção dos indivíduos é necessário efetuar o encaixe das

figuras para cada indivíduo da população e assim, efetuar a seleção dos mais aptos (com menor

comprimento de encaixe). O algoritmo tem como critério de parada inicial um número n de

iterações.

O modelo que utilizou Simulated Annealing para definição da ordem das figuras que foram

encaixadas utilizou uma solução inicial s. Esta solução é definida por uma seqüência de valores que

define o número da figura encaixada. Conforme o modelo que utilizou Algoritmo Genético, onde

um cromossomo possuía a ordem das figuras encaixadas, a solução s utilizada no Simulated

Annealing, também possui uma lista de ordens de figuras. Assim durante a execução do algoritmo, a

cada solução gerada é calculado o valor objeto desta solução (neste caso o valor de objetivo é

comprimento da área das figuras encaixadas). Conforme as regras do algoritmo, ao final a solução

que gerar o menor comprimento da área de encaixe é escolhida.

Para ambos os modelos de encaixe, o processo de posicionamento das figuras é o mesmo.

As figuras são movidas no sentido esquerdo e inferior e a cada iteração de movimentação é feita

uma verificação de sobreposição. Caso o movimento deixe a figura sobrepondo as demais figuras já

encaixadas, este movimento é cancelado.

A verificação de sobreposição foi inicialmente planejada para utilizar apenas a função PNP,

sendo que também foi necessária a utilização da função D. A função PNP apenas verifica se um

ponto é interno ao polígono, mas há casos em que este procedimento não é suficiente, assim sempre

que a função PNP retorna a informação que não há sobreposição, é feita uma verificação com a

função D para certificar que não há uma sobreposição de segmentos de retas. A Figura 24 ilustra um

Page 50: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

50

tipo de sobreposição onde não há pontos internos aos polígonos, apenas intersecções entre os

segmentos.

Figura 24. Intersecção de segmentos de reta

3.3 Ensaios Numéricos

A realização dos ensaios numéricos envolveu a definição de um conjunto de figuras que

serviram para toda a coleta de dados que foi efetuada. Foram definidas 48 figuras com tamanhos e

formas geométricas variadas. Estas figuras são exemplos de peças encontradas na indústria têxtil,

portanto possuem formas geométricas não convexas.

A coleta de dados para ambos os processos de encaixe, neste caso, para o processo que

utilizou Algoritmo Genético e o processo que utilizou Simulated Annealing, foi realizada com a

definição de diferentes valores para os parâmetros necessários para cada processo. A Figura 25

mostra as figuras que foram utilizadas durante os testes dos algoritmos.

Os ensaios numéricos aplicados ao Algoritmo Genético e Simulated Annealing consideraram

respectivamente como valor de Aptidão e Objetivo, o comprimento necessário para o encaixe das

figuras. Não foram consideradas unidades de medidas.

Os testes foram repetidos 8 vezes para cada valor diferente dos parâmetros definidos nos

testes de cada metaheurística. Foram totalizadas 360 execuções do processo de encaixe. A média de

Page 51: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

51

tempo para o processo por Algoritmo Genético variou de 293 a 1.860 segundos. O processo por

Simulated Annealing teve uma variação de tempo entre 168 e 447 segundos.

Figura 25. Figuras utilizadas no encaixe

3.3.1 Ensaios realizados com Algoritmo Genético

Os ensaios numéricos realizados com o procedimento de encaixe que utilizou Algoritmo

Genético consideraram três variáveis: o tamanho da população, a taxa de cruzamento e a taxa de

mutação.

O processo completo de coleta de dados necessitou de uma análise inicial dos parâmetros

que deveriam ser utilizados para a definição cada parâmetro. Assim, inicialmente foram feitas

combinações de valores para definir qual o tamanho da população, taxa de cruzamento e taxa de

mutação deveriam ser utilizados para o inicio dos testes.

Definiu-se que o tamanho inicial da população seria de 25 indivíduos e que a taxa de

mutação seria de 5%. A taxa de cruzamentos que variou de 25% a 75% nos primeiros testes. A

Figura 26 mostra os resultados da variação da taxa de cruzamentos.

Page 52: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

52

Figura 26. Definição da Taxa de Cruzamentos

A Figura 26 mostrou que a melhor taxa de cruzamentos foi o valor de 65% da população. O

segundo parâmetro que foi analisado foi a taxa de mutação. Esta análise manteve o tamanho da

população já definido de 25 indivíduos e a taxa de cruzamentos em 65% conforme definida na

análise anterior. A taxa de mutação variou entre 5% a 21% da população. A Figura 27 mostra os

resultados da variação da taxa de mutação.

Figura 27. Definição da Taxa de Mutação

A Figura 27 mostrou que a melhor taxa de mutação foi o valor de 17% da população. Com

as taxas de cruzamento e mutação definidas, foi feita uma análise da quantidade de gerações para a

quantidade de 25 indivíduos, que já está utilizada nos testes, e também para uma quantidade de 35

indivíduos. A Tabela 3 mostra esta variação da quantidade de gerações. É possível verificar que

305

306

307

308

309

310

311

25 35 45 55 65 75

Va

lor

Ap

tid

ão

Percentual de

Cruzameto

Taxa de Cruzamentos

301

302

303

304

305

306

307

308

309

310

5 7 9 13 17 21

Va

lor

de

Ap

tid

ão

Percentual de

Mutação

Taxa de Mutação

Page 53: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

53

para um população de 25 indivíduos o maior número de gerações convergiu para um melhor

resultado. Já para uma população de 35 indivíduos, verifica-se o início de uma convergencia, sendo

que uma quantidade maior de gerações pudesse melhorar o resultado. É importante verificar o

tempo de processamento para cada situação, pois algumas situações possuem tempos elevados de

processamento.

Tabela 3. Variação da Quantidade de Gerações

Tamanho da População Qtd. De Gerações Aptidão Tempo Processamento 25 30 309,564184 394 segundos 25 40 309,074695 531 segundos 25 50 308,321043 648 segundos 25 60 307,611869 780 segundos 35 30 306,565446 562 segundos 35 40 307,855062 736 segundos 35 50 309,564395 925 segundos 35 60 307,317809 1157 segundos

A variação do tamanho da população foi analisada e definiram-se valores de 20 a 70

indivíduos. A quantidade de gerações definida para a análise do tamanho da população foi de 30

gerações. Este valor foi definido devido ao resultado de aptidão e tempo de processamento que pôde

ser verificado na Tabela 3. A Figura 28 mostra os resultados da variação do tamanho da população

para as iterações executadas.

Figura 28. Definição do Tamanho da População

A Figura 28 mostrou que o melhor resultado foi obtido foi para uma população de 60

indivíduos. É importante analisar que para uma população de 20 indivíduos, o resultado foi bem

303,5

304

304,5

305

305,5

306

306,5

307

307,5

308

308,5

309

20 30 40 50 60 70

Va

lor

de

Ap

tid

ão

Tamanho da

População

Tamanho da População

Page 54: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

54

próximo ao melhor obtido e o tempo de processamento para este foi cerca de 3 vezes menos ao

tempo da melhor solução. É importante registrar que normalmente quanto maior a quantidade de

indivíduos de uma população, melhor deveria ser o resultado de aptidão do melhor indivíduo. A

Figura 28 mostrou que o aumento do tamanho da população não convergiu para resultados

melhores, apenas no caso da utilização de 60 indivíduos. O que pode ter acontecido é que valores

maiores de população não tenham gerado soluções piores, mas sim, não conseguiram gerar soluções

melhores para a quantidade de gerações definida.

Durante todos os testes, verificou-se que na média os tamanhos da população próximos de

30 indivíduos e a quantidade de 30 gerações geraram bons resultados, principalmente se for

considerado o tempo de processamento.

3.3.2 Ensaios realizados com Simulated Annealing

Os ensaios numéricos realizados com o procedimento de encaixe que utilizou Simulated

Annealing consideraram três variáveis de manipulação: a temperatura inicial, o decremento da

temperatura e a quantidade de iterações do processo.

O processo completo de coleta de dados necessitou de uma análise inicial dos parâmetros

que deveriam ser utilizados para a definição cada parâmetro. Assim, inicialmente foram feitas

combinações de valores para definir qual a temperatura inicial, o decremento da temperatura e a

quantidade de iterações deveriam ser utilizados para o inicio dos testes. Definiu-se que a quantidade

de iterações inicial seria de 500 e o decremento da temperatura seria de 0,3. A temperatura inicial

foi de 50. A partir destes valores foram iniciadas as coletadas de dados. A Figura 29 mostra os

valores obtidos para a definição de uma temperatura inicial.

Page 55: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

55

Figura 29. Temperatura Inicial

Após a definição da temperatura inicial, foi necessário definir qual decréscimo de

temperatura possibilitou a obtenção de uma solução. Foram geradas soluções que utilizaram

diferentes valores de decremento de temperatura. A Figura 30 mostra os resultados obtidos para as

diferentes variações no decremento da temperatura. Para estes testes utilizou-se uma temperatura

inicial de 150.

Figura 30. Decremento da Temperatura

A Figura 30 mostrou que o valor que decremento da temperatura que gerou a melhor

solução foi de 1,3. Já foram definidos o valor da temperatura inicial e o decremento da temperatura,

sendo que o próximo valor a ser ajustado é a quantidade de iterações. A variação da quantidade de

iterações variou de 300 a 1200. A Figura 31 mostra os resultados obtidos com os diferentes valores

da quantidade de iterações.

307,5

308

308,5

309

309,5

310

310,5

311

311,5

50 100 150 230 270 320 380 450 520

Va

lor

Fu

nçã

o O

bje

tiv

o

Temperatura

Temperatura Inicial

304

305

306

307

308

309

310

311

312

0,1 0,3 0,8 1,3 1,5 1,9 2,3 2,6 3,1

Va

lor

Fu

nçã

o O

bje

tiv

o

Decremento da

temperatura

Decremento da Temperatura

Page 56: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

56

Figura 31. Quantidade de Iterações

É possível verificar na Figura 31 que a quantidade de iterações que gerou a solução foi de

400. Assim, a melhor temperatura inicial foi de 150, o decremento de 1,3 e 400 iterações para o

processo.

3.3.3 Comparativo entre os resultados

A análise realizada entre o processo de encaixe por Algoritmo Genético e Simulated

Annealing, mostrou que o Algoritmo Genético retornou valores melhores que os valores retornados

pelo processo por Simulated Annealing. O processo realizado com Algoritmo Genético levou mais

tempo de processamento, o que pode ser um fator no momento da escolha de qual metaheurística

melhor se aplica ao processo de encaixe. A Figura 32 mostra o melhor resultado gerado pelo

Algoritmo Genético e pelo Simulated Annealing.

303

304

305

306

307

308

309

310

311

300 400 500 600 800 900 1000 1100 1200

Va

lor

Fu

nçã

o O

bje

tiv

o

Quantidade de

Iterações

Quantidade de Iterações

Page 57: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

57

Figura 32. Resultado do Algoritmo Genético e Simulated Annealing

O melhor resultado obtido com o Algoritmo Genético utilizou uma população de 25

indivíduos, uma taxa de cruzamento de 65%, uma taxa de mutação de 17% e foram geradas 30

gerações de indivíduos. O tempo de processamento foi de 395 segundos e o valor foi de

304,006023. A Figura 33 mostra os dados gerados durante a execução do teste.

Figura 33. Melhor solução com Algoritmo Genético

O melhor resultado obtido com o Simulated Annealing utilizou uma temperatura inicial de

150, um valor de decremento da temperatura de 1,3 e a quantidade de iterações de 400. O tempo de

processamento foi de 133 segundos e o valor da solução foi de 306,072381. A Figura 34 mostra os

dados gerados durante a execução do teste.

302,5

303

303,5

304

304,5

305

305,5

306

306,5

Algoritmo Genético Simulated Annealing

Co

mp

rim

en

to d

o e

nca

xie

Resultado

302

304

306

308

310

312

314

316

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

Va

lor

de

Ap

tid

ão

Gerações

Solução com Algoritmo Genético

Page 58: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

58

Figura 34. Melhor solução com Simulated Annealing

Ao comparar os dois resultados gerados pelas metaheurísticas, verifica-se que o Algoritmo

Genético gerou a melhor solução, porém o tempo processamento de sua melhor solução é quase três

vezes o tempo de processamento do encaixe com Simulated Annealing.

As Figuras Figura 35 e Figura 36 mostram respectivamente o resultado do encaixe

utilizando Algoritmo Genético e Simulated Annealing. É importante perceber que foi utilizado o

mesmo algoritmo de encaixe das figuras, sendo que as diferentes ordens geradas pelas

metaheurísticas definiram o melhor resultado.

Figura 35. Resultado do encaixe com Algoritmo Genético

302

322

342

362

382

402

1 16 31 46 61 76 91 106 121 136

Va

lor

Fu

nçã

o O

bje

tiv

o

Solução com Simulated Annealing

Page 59: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

59

Figura 36. Resultado do encaixe com Simulated Annealing

Page 60: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

60

4 CONCLUSÕES

Esta pesquisa apresentou um problema de encaixe de figuras irregulares e propôs uma

solução para o mesmo. São utilizadas metaheurísticas para definir a ordem que as figuras serão

encaixadas.

A opção de utilizar metheurísticas neste tipo de problema, é o foco na otimização do

processo de definição da ordem em que as figuras serão encaixadas. Este foco na utilização de

metaheurísticas no ordenamento das figuras ocorreu após perceber esta utilização em trabalhos

pesquisados.

Foram pesquisados trabalhos que trataram o problema de corte e empacotamento em geral,

pesquisaram-se livros, artigos e outras publicações sobre este tipo de problema. Esta pesquisa teve

dois grandes problemas para solucionar: um algoritmo eficiente para ordenação das figuras e um

processo rápido e eficiente de encaixe destas figuras. As metaheurísticas utilizadas, Algoritmos

Genéticos e Simulated Annealing, provaram-se eficientes quanto ao tempo de processamento para a

busca de uma solução. Em contra partida, o processo de encaixe das figuras foi o responsável pelo

maior consumo de processamento durante o processo de encaixe.

Durante os testes com o algoritmo de encaixe, verificou-se que quando há figuras com

tamanhos bem variados e com grandes diferenças nas suas áreas, a busca por soluções boas se torna

mais difícil e exigiria um processo mais lento no geral. A lentidão se daria pelo número de iterações

que seria necessário para buscar melhores soluções e mesmo assim não seria possível prever se o

elevado número de iterações resultaria em bons resultados. O processo de encaixe implementado

não efetuou nenhuma classificação e agrupamento das figuras conforme suas áreas assim couberam

as metaheurísticas encontrarem boas ordens de figuras.

A separação das figuras em grupos de menores e maiores pode ser observado no trabalho de

Dias (1991), cujo após efetuar a separação das figuras, efetua o encaixe das peças grandes e

pequenas em conjunto. É feito o encaixe de um grupo de figuras grandes, que neste caso formam

uma coluna na largura definida, e as figuras menores são encaixadas para preencher espaços que

podem ter ficado durante o encaixe das figuras grandes.

Os resultados gerados pelas metaheurísticas mostraram que o Algoritmo Genético é mais

eficiência. Este bom resultado pode ser explicado pelas próprias características dos Algoritmos

Page 61: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

61

Genéticos, onde uma solução boa pode ser melhorada aplicando os operadores genéticos. Em contra

partida, o tempo de execução do processo completo foi quase três vezes maior ao processo com

Simulated Annealing. O processo com Simulated Annealing é bem aleatório e enquanto a

temperatura está elevada, a possibilidade de aceitação de soluções piores é maior, visto que a

função de probabilidade de aceitação varia conforme a temperatura do momento. Quando a

temperatura está chegando a níveis baixos, somente novas boas soluções começam a serem aceitas,

fazendo que o resultado seja uma boa solução e o processo possa convergir.

Page 62: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

62

5 TRABALHOS FUTUROS

A pesquisa realizada neste trabalho mostrou que o problema de encaixe da indústria têxtil é

uma área muito interessante de ser estudada e carente de materiais com propostas de solução. É um

problema que possui diversas restrições que dificultam seu tratamento, mas podem trazer bons

resultados quando aplicadas. É um bom problema a ser pesquisado e junto à uma pesquisa de

melhoria no processo de encaixe, seja ela com a separação das figuras em grupos de tamanhos ou

mesmo com procedimentos mais eficientes para a definição da posição das figuras durante o

encaixe, dariam boas linhas de estudo. Envolvendo uma complexidade tanto na área de corte e

empacotamento como na área da geometria analítica.

Outra linha de melhoria que pode ser seguida é a aplicação de diferentes operadores

genéticos para o encaixe que utilizou Algoritmo Genético. A pesquisa considerou apenas um tipo de

tratamento de inconsistência nos cruzamentos e um tipo de mutação. Assim a aplicação de outras

técnicas pode resultar em resultados melhores no encaixe das figuras.

Este trabalho não é uma solução para um problema em específico, assim a aplicação de

procedimentos de encaixe em problemas específicos pode trazer melhores resultados, visto que o

processo de encaixe poderá se especificar para o problema a ser tratado. A separação das figuras em

grupos de tamanhos que possuirão prioridades no momento de encaixe, novos tratamentos

geométricos para a definição da posição da peça e de verificação de sobreposição são sugestões de

melhorias para o processo de encaixe.

Page 63: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

63

REFERÊNCIAS BIBLIOGRÁFICAS

ARAUJO, R. S. Uma Abordagem para o problema de corte guilhotinado bi-dimensional para peças regulares com a utilização de p-medianas e pesquisa tabu. 2004. 72f. (Monografia) – Universidade do Vale do Rio do Sinos, São Leopoldo, 2004. BEZ, E. T. Procedimento de representação de soluções em otimização global: Aplicação em modelos de interação espacial. 2005. 224f. Tese (Doutorado em Engenharia de Produção) – Universidade Federal de Santa Catarina, Florianópolis, 2005. BOECHEL, T. Algoritmo de otimização: uma abordagem híbrida utilizando o algoritmo das formigas e genético. 2005. 70 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação. Universidade Federal de Santa Catarina. Florianópolis, 2005 BURKE, E. K.; HELLIER, R. S. R.; KENDALL, G.; WHITWELL, G. A new bottom-left fill heuristic algorithm for the two-dimensional irregular packing problem. Operations Research. v. 54, 2006. P. 587-601. CONSTANTINO, A. A.; GOMES JUNIOR, A. M.. Um algoritmo genético aplicados ao problema de corte bidimensional. Acta Scientiarum, Maringá-PR, v. 24, n. 6, p. 1727-1731, 2002. CORRÊA, E. S. Algoritmos genéticos e busca tabu aplicados ao problema das p-medianas. 2000. 102 f. Dissertação (Mestrado em Métodos Numéricos) – Universidade Federal do Paraná, Curitiba, 2000. CUNHA, R. R. M. Um Algoritmo de minimização de Sobras em Corte Unidimensional. 1998. 91 f. Dissertação (Mestrado em Engenharia Mecânica) – Pós-Graduação em Engenharia Mecânica, Universidade Federal de Santa Catarina, Florianópolis, 1998. DIAS, A. Encaixe geral de figuras planas. 1991. 127 f. Tese (Doutorado em Engenharia Mecânica) – Universidade Católica do Rio de Janeiro, Rio de Janeiro, 1991. DIAS, A. General nesting of non-convex 2-D parts. In: Flexible Automation and Intelligent Manufacturing 2000, 2000, College Park, MD - USA. Proceedings of the Tenth International FAIM Conference. Wheaton, MD - USA: Econo Printing Graphics, Inc, 2000. v. 1. p. 382-391. DYCKHOFF, H. A typology of cutting and packing problems. European Journal of Operational Research. N. 44, 1990. P. 145-159. FRITSCH, A.; VORNBERGER, O. Cutting stock by iterated matching. Operations Research Proceedings. 1995. P. 92-97. GOLDBERG, D. E. Genetic algorithms in search, optimization, and machine learning. Reading, Mass: Addison-Wesley, c1989. 412 p. HAINES, E. Point in Polygon Strategies. In: HERCKBERT, P. S. Graphics Gems IV. San Diego, 1994. cap 1. p 24 – 46.

Page 64: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

64

HIFI, M.; PASCHOS V. T.; ZISSIMOPOULOS V. A simulated annealing approach for the circular cutting problem. European Journal of Operational Research. N. 159, 2004. P. 430-448. HOBSBAWM, E.J. A Era das revoluções: Europa: 1789-1848. Trad. Port. Rio de Janeiro: Paz e Terra, 1982. LIANG, Ko-Hsin; YAO, Xin; NEWTOWN, C.; HOFFMAN D. A new evolutionary approach to cutting stock problems with and without contiguity. Computers & Operations Research, 2001. LIU, H. Algorithm for 2D irregular-shaped nesting problem based on the NFP algorithm and lowest-gravity-center principle. Shanghai, 2005. MENDES, A. S. Algoritmos meméticos aplicados aos problemas de seqüenciamento de máquinas. 1999. 91 f. Tese (Mestrado em Engenharia Elétrica) – Universidade Estadual de Campinas, Campinas, 1999. MONTEIRO, M. A. Introdução a organização de computadores. 3. ed. Rio de Janeiro: São Paulo: Livros Técnicos e Científicos, 1996. 397p. NASCIMENTO, D. B. Otimização da programação de ordens de corte em indústrias têxteis. 2006. 215 f. Tese (Doutorado em Engenharia de Produção) – Universidade Federal de Santa Catarina, Florianópolis, 2006. NORONHA, T. F.; ALOISE, D. J.; SILVA, M. M. Uma Abordagem sobre estratégias metaheurísticas. REIC. Revista eletrônica de iniciação científica. v. 1, 2000. Disponível em <http://www.sbc.org.br/index.php?language=1&subject=101&content=article&option=pdf&aid=97>. Acesso em: 13 maio 2007. OLIVEIRA, M. H.; STEFFEN, V. Jr. Estudo de otimização e casos utilizando algoritmos genéticos e recozimento simulado. FAMAT em Revista. N 03, 2004. P. 101-108. PARADA, V.; SEPULVEDA, M.; ALVARENGA, A. G. Solución al problema de corte de piezas mediante el algoritmo simulated annealing. Computers & Operations Research. v. 25, n. 01, 1998. PISINGER, D. Algoritms for knapsack problems.1995.200f. Ph.D. prize of the Danish Academy of Natural Sciences – University of Copenhagen, Copenhagen 1995. ROSÁRIO, R. R. L. Proposta de solução para o problema das p-medianas na localização de unidades de Saúde 24 horas. 2002. Dissertação (Mestrado em Métodos Numéricos em Engenharia) – Universidade Federal do Paraná, 2002. VINADÉ, C. A. C. Problema de encaixe de figuras não convexas em contorno não convexo. 1997. 107 f. Dissertação (Mestrado em Engenharia Mecânica) – Pós-Graduação em Engenharia Mecânica, Universidade Federal de Santa Catarina, Florianópolis, 1997.

Page 65: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

65

APÊNDICES

Page 66: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

66

TIPOS DE FIGURAS UTILIZADAS NOS TESTES

As figuras utilizadas nos testes variaram entre figuras convexas e não convexas. Apesar

destas figuras terem um resultado visual que aparenta uma figura com curvas e retas, suas curvas

foram discretizadas em segmentos de retas, estas figuras são todas formadas por segmentos de retas.

A Figura 37 mostra o desenho sem repetição das figuras utilizadas nos ensaios numéricos.

Figura 37. Figuras utilizadas no encaixe

Page 67: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

67

EXEMPLOS DE ENCAIXES DE FIGURAS

Exemplo 1 de encaixe de figuras

A Figura 38 mostra um exemplo de encaixe para figuras pequenas e de tamanhos próximos.

Figura 38. Exemplo 1 de encaixe de figuras

Page 68: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Leonardo Vitor da Silva.pdf · ENIAC Electronic Numerical Integrator And Computer NP-HARD Nondeterministic

68

Exemplo 2 de encaixe de figuras

A Figura 39 mostra um exemplo de encaixe para figuras com variação de peças grandes e

pequenas.

Figura 39. Exemplo 2 de encaixe de figuras