Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos...

110
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Diretoria de Pesquisa e Pós-Graduação Curso de Mestrado em Modelagem Matemática e Computacional Algoritmos Evolutivos Mono e Multiobjetivos para Problemas Bidimensionais de Corte Dissertação de Mestrado, submetida ao Curso de Mestrado em Modelagem Matemática e Computa- cional, como parte dos requisitos exigidos para a obtenção do título de Mestre em Modelagem Ma- temática e Computacional. Aluno: Mariana Silva Faleiro de Andrade Engenheira de Produção Civil (CEFET/MG) Orientador: Prof. Dr. Sérgio Ricardo de Souza (CEFET/MG) Co-Orientador: Prof. Dr. Marcone Jamilson Freitas Souza (UFOP) Belo Horizonte, setembro de 2009.

Transcript of Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos...

Page 1: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

CENTRO FEDERAL DE EDUCAÇÃOTECNOLÓGICA DE MINAS GERAIS

Diretoria de Pesquisa e Pós-Graduação

Curso de Mestrado em ModelagemMatemática e Computacional

Algoritmos Evolutivos Mono e

Multiobjetivos para Problemas

Bidimensionais de Corte

Dissertação de Mestrado, submetida ao Curso deMestrado em Modelagem Matemática e Computa-cional, como parte dos requisitos exigidos para aobtenção do título de Mestre em Modelagem Ma-temática e Computacional.

Aluno: Mariana Silva Faleiro de AndradeEngenheira de Produção Civil (CEFET/MG)

Orientador: Prof. Dr. Sérgio Ricardo de Souza (CEFET/MG)

Co-Orientador: Prof. Dr. Marcone Jamilson Freitas Souza (UFOP)

Belo Horizonte, setembro de 2009.

Page 2: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Livros Grátis

http://www.livrosgratis.com.br

Milhares de livros grátis para download.

Page 3: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Aos meus pais,Carlos e Lúcia.

ii

Page 4: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Agradecimentos

Agradeço a Deus, pela incrível dádiva da vida e por ter colocado no meu caminho,durante esse período, tantas pessoas boas, generosas e solidárias.

Agradeço aos meus pais, Carlos e Lúcia, pelo amor imenso e incondicional, pelocalor do ninho e pelo constante incentivo, em todos os momentos da minha vida.

Ao meu orientador, Sérgio Ricardo de Souza, pela amizade dispensada desde ostempos da graduação, pela extrema paciência, pela confiança, e, principalmente, poracreditar em mim, tantas e tantas vezes, muito mais do que eu mesma.

Ao meu professor e co-orientador Marcone Jamilson Freitas Souza, pelo conheci-mento transmitido em sua disciplina, pela permanente boa vontade e pelas valiosassugestões durante o desenvolvimento deste trabalho.

Às minhas irmãs, Valéria e Siomara, pelo carinho e apoio durantes esses anos.

A minha irmã Isabela, por ser minha querida amiga e companheira de todas ashoras.

A minha irmãzinha Gabriela, por tornar minha vida mais alegre e mais leve nesteperíodo tão atribulado.

A minha sobrinha Catarina, por ter chegado e por ser a prova de que as pessoasainda têm esperança num mundo melhor.

Agradeço especialmente ao meu querido amigo, Elias, pela parceria na progra-mação (pela paciência em me ensinar a programar) e pela generosa colaboração nodesenvolvimento de todo este trabalho.

Agradeço, em especial, ao meu querido noivo Elias, por ser o amigo do agrade-cimento anterior e por ser, agora, esse noivinho que tenta, a todo custo, me fazerfeliz (tendo alcançado, muitas vezes, resultados ótimos).

A todos os professores que contribuíram para meu aperfeiçoamento, através dasdisciplinas que cursei durante o mestrado.

iii

Page 5: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Aos colegas do CEFET-MG, em especial os irmãos Fábio e Felipe, que me in-centivaram e com quem compartilhei bons momentos.

A CAPES e ao CEFET-MG, pela credibilidade e apoio financeiro.

Enfim, agradeço a todas as pessoas que contribuíram, direta ou indiretamente,na elaboração deste trabalho.

iv

Page 6: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

“O correr da vida embrulha tudo, a vida é assim: esquenta e esfria, aperta e daíafrouxa, sossega e depois desinquieta. O que ela quer da gente é coragem.”

Guimarães Rosa

v

Page 7: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Resumo

Diversas indústrias têm a necessidade de cortar peças maiores, de modo a produ-zir peças menores, atendendo a uma determinada demanda, ou, ainda, necessitamempacotar peças menores. Estes problema são chamados de Problemas de Corte eEmpacotamento (PCE), e, geralmente, são problemas difíceis de serem solucionados,sendo, muitos deles, classificados como problemas NP-Difíceis. Em muitas situaçõesreais, as peças maiores (objetos) e as peças menores (itens) possuem duas dimensõesrelevantes para o corte, além de serem retangulares, como ocorre, por exemplo, nocorte de placas de madeira. Dentre estes problemas, classificados como Problemasde Corte Bidimensionais, existem aqueles nos quais cada corte deve ser feito deforma paralela a um dos lados do retângulo, se estendendo de um lado até o ladooposto do objeto. Cortes que apresentam essa restrição são conhecidos como cortesguilhotinados. Problemas com as características descritas acima são chamados deProblemas de Corte Bidimensionais Guilhotinados. Métodos de solução para estesproblemas constituem o tema central dessa dissertação.

Foram estudados dois problemas de corte muito citados na litetatura: o Problemade Corte com Dimensão Aberta (PCDA) (mais conhecido como Open DimensionProblem ou Strip Packing Problem) e o Problema de Corte de Estoque Bidimensional(PCEB). No primeiro, o corte para produção de itens retangulares é feito a partirde um único objeto, que possui uma dimensão fixa e a outra grande o bastante paracortar todos os itens, como ocorre no corte de rolos e bobinas. No problema de cortede estoque, temos vários objetos idênticos em estoque, com as duas dimensões fixas,que devem ser cortados para a produção de itens com uma demanda pré-definida.Devido à natureza NP-Difícil destes, desenvolvemos métodos heurísticos para suaresolução, tendo em vista a comprovada eficiência destes métodos na solução de taisproblemas.

No PCDA, consideramos como critério de otimização a minimização da perda dematerial. Para solucioná-lo, utilizamos um algoritmo genético híbrido, que incorporaa um algoritmo genético tradicional operadores de busca local e metaheurísticas,em diferentes etapas do processo. Foram testadas diferentes metaheurísticas, assimcomo diferentes métodos aproximados para o encaixe dos itens. Nos testes realizadosem problemas-teste da literatura, foram obtidas soluções ótimas em quase todos oscasos. O algoritmo também mostrou um bom desempenho, em termos de tempode execução. Tais evidências empíricas mostram a possibilidade de utilização destealgoritmo na resolução de problemas-teste associados a problemas reais.

No PCEB, consideramos como objetivos, além da minimização da perda, a mini-mização do número de padrões distintos. Estes objetivos são, geralmente, conflitan-

vi

Page 8: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

tes. Tratamos o problema com uma abordagem de otimização multiobjetivo, com ointuito de obter soluções que apresentem um compromisso entre os dois objetivos.Para tanto, utilizamos um algoritmo evolutivo multiobjetivo, baseado no métodoNSGA-II. Para a geração dos padrões, utilizamos um método de duas fases. Naresolução do problema, ainda são utilizadas metaheurísticas em diversas partes doalgoritmo evolutivo. Nos testes realizados, na resolução de problemas da literaturae de problemas gerados aleatoriamente, verificamos que o algoritmo é capaz de en-contrar soluções competitivas em termos da perda de material, além de ser capazde encontrar um conjunto de soluções que mostram o compromisso entre os doisobjetivos. Verificamos também que o algoritmo apresenta curvas de trade-off quemelhoram ao longo das gerações. Ressaltamos que não foram encontramos traba-lhos que tratassem do problema de corte bidimensional considerando os objetivosde minimizar a perda e o número de padrões distintos.

Palavras-Chave: Problema de Corte com Dimensão Aberta, Problema de Cortede Estoque Bidimensional, Metaheurísticas, Otimização Multiobjetivo.

vii

Page 9: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Abstract

This paper deals with the development of heuristic methods for solving two bidimen-sional cutting problems: the Open Dimensional Problem (ODP) and the CuttingStock Multiobjective Problem (CSMP). In the first problem, given a set of rectan-gular small items and a rectangular large object of fixed width and variable length,the problem consists of placing all the items within the large object, such that thematerial waste is minimised. To solve this problem, a hybrid genetic algorithm isproposed, which incorporates local search and metaheuristics, in different stages ofthe solution process, in one traditional genetic algorithm. Variations of this hybridalgorithm are evaluated, as well as different approximate methods to fit the items.Computational experiments realized with instances from the literature show thatthe proposed algorithms are able to reach the optimal solution in almost all cases.The algorithms also showed a good performance in terms of run time. Such empi-rical evidences indicate the possibility of using these algorithms to solve instancesassociated with real problems. In the CSMP, several identical objects with two fi-xed dimensions are in stock, which must be cut to the production of items with apre-defined demand. The objectives are to minimize loss material and number ofdifferent patterns. These objectives are usually conflicting. It is therefore a problemwith multiobjective optimization approach, in order to obtain solutions to present acompromise between the two goals. A multiobjective evolutionary algorithm, basedon NSGA-II method, is proposed to solve the problem. For the pattern generation,it is used a two-staged method. Computational experiments realized with instan-ces from the literature and randomly generated instances show that the proposedmethod is able to find a set of competitive solutions in terms of loss of material aswell as being able to find a set of solutions that show compromise between the twogoals. The trade-off curves showed by the algorithm are improved over the genera-tions. It is noteworthy that no research were found that addressed the problem oftwo-dimensional considering simultaneously the objectives of minimizing both theloss of material and the number of distinct patterns.Keywords: Open Dimensional Problem; Bidimensional Cutting Stock Problem;Metaheuristic; Multiobjective Optimization; Evolutionary Algorithm.

viii

Page 10: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Sumário

1 Introdução 11.1 Considerações Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Problemas de Corte e Empacotamento 52.1 Caracterização dos Problemas de Corte e Empacotamento . . . . . . 52.2 Tipologia de Dyckhoff . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Problemas de Corte Bidimensional . . . . . . . . . . . . . . . . . . . 112.4 Problema de Corte com Dimensão Aberta . . . . . . . . . . . . . . . 14

2.4.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4.2 Revisão Bibliográfica . . . . . . . . . . . . . . . . . . . . . . . 142.4.3 Formulação Matemática . . . . . . . . . . . . . . . . . . . . . 15

2.5 Problema de Corte de Estoque Multiobjetivo . . . . . . . . . . . . . . 172.5.1 Caracterização do Problema . . . . . . . . . . . . . . . . . . . 172.5.2 Revisão Bibliográfica . . . . . . . . . . . . . . . . . . . . . . . 212.5.3 Formulação Matemática do Problema . . . . . . . . . . . . . . 23

3 Métodos Heurísticos 263.1 Otimização Combinatória Mono-objetivo . . . . . . . . . . . . . . . . 263.2 Heurísticas Construtivas . . . . . . . . . . . . . . . . . . . . . . . . . 273.3 Heurísticas de Refinamento . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3.1 Método de Descida . . . . . . . . . . . . . . . . . . . . . . . . 293.3.2 Método de Descida Randômico . . . . . . . . . . . . . . . . . 29

3.4 Metaheurísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4.1 Metaheurísticas baseadas em Busca Local . . . . . . . . . . . 303.4.2 Algoritmos evolutivos . . . . . . . . . . . . . . . . . . . . . . . 323.4.3 Algoritmos Genéticos Híbridos . . . . . . . . . . . . . . . . . . 38

3.5 Otimização Combinatória Multiobjetivo . . . . . . . . . . . . . . . . 383.6 Otimização Multiobjetivo Evolutiva . . . . . . . . . . . . . . . . . . . 41

3.6.1 Algoritmos Multiobjetivos baseados em Algoritmos Géneticos 42

4 Algoritmos Evolutivos aplicados ao PCDA 504.1 Representação de uma solução . . . . . . . . . . . . . . . . . . . . . . 504.2 Operadores genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2.1 Operadores de Recombinação . . . . . . . . . . . . . . . . . . 53

ix

Page 11: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.2.2 Operadores de Mutação . . . . . . . . . . . . . . . . . . . . . 534.3 Função de custo e função de aptidão dos indivíduos . . . . . . . . . . 544.4 Seleção dos indivíduos para a próxima geração . . . . . . . . . . . . . 554.5 Geração da população inicial . . . . . . . . . . . . . . . . . . . . . . . 56

4.5.1 Geração da população inicial - ILS . . . . . . . . . . . . . . . 564.5.2 Geração da população inicial - Multi-Start . . . . . . . . . . . 56

4.6 Experimentos Computacionais . . . . . . . . . . . . . . . . . . . . . . 564.6.1 Problemas teste para o PCDA . . . . . . . . . . . . . . . . . . 574.6.2 Resultados do AEH-MS . . . . . . . . . . . . . . . . . . . . . 594.6.3 Resultados do AEH-ILS . . . . . . . . . . . . . . . . . . . . . 60

4.7 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Algoritmo Evolutivo Multiobjetivo aplicado ao PCEB 635.1 Geração de Padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.1.1 Etapa de Geração das Faixas . . . . . . . . . . . . . . . . . . 645.1.2 Etapa de Geração dos Padrões . . . . . . . . . . . . . . . . . . 69

5.2 Algoritmo Evolutivo Multiobjetivo aplicado ao Problema de CorteBidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.2.1 Representação da solução . . . . . . . . . . . . . . . . . . . . 705.2.2 Geração da População Inicial . . . . . . . . . . . . . . . . . . 705.2.3 Avaliação das soluções e Função de Aptidão . . . . . . . . . . 735.2.4 Operadores Genéticos . . . . . . . . . . . . . . . . . . . . . . . 75

5.3 Experimentos Computacionais . . . . . . . . . . . . . . . . . . . . . . 765.3.1 Problemas-teste de um indústria de móveis . . . . . . . . . . . 775.3.2 Experimentos com exemplos aleatórios . . . . . . . . . . . . . 80

5.4 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6 Conclusões Gerais e Trabalhos Futuros 856.1 Conclusões Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Referências 88

x

Page 12: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Lista de Tabelas

3.1 Método da Roleta: análise de aptidão. . . . . . . . . . . . . . . . . . 363.2 Método da Roleta: seleção. . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1 Problemas-teste de Hopper e Turton (2001) . . . . . . . . . . . . . . 584.2 Parâmetros dos métodos AEHMS e AEHILS, sendo n o número de

itens do problema-teste. . . . . . . . . . . . . . . . . . . . . . . . . . 594.3 Resutados do AEHMS aplicado ao PCDA. . . . . . . . . . . . . . . . 604.4 Resutados do AEHILS aplicado ao PCDA. . . . . . . . . . . . . . . . 62

5.1 Exemplo de solução. . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.2 Parâmetros do algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . 765.3 Problemas-teste de Figueiredo (2006)- Armário de 5 portas (15 mm). 785.4 Problemas-teste de Figueiredo (2006) - Cômoda (12 mm). . . . . . . . 785.5 Resultados - Armário de 5 portas (15 mm). . . . . . . . . . . . . . . . 795.6 Resultados - Cômoda (12 mm). . . . . . . . . . . . . . . . . . . . . . 805.7 Problemas gerados aleatoriamente . . . . . . . . . . . . . . . . . . . . 805.8 Resultados Médios para os 10 exemplos de cada classe. . . . . . . . . 81

xi

Page 13: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Lista de Figuras

2.1 Problema de corte de bobinas. . . . . . . . . . . . . . . . . . . . . . . 52.2 Problema de corte de placas: (a)Objetos em estoque, (b)Itens de-

mandados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Problema de carregamento de contêineres. . . . . . . . . . . . . . . . 62.4 Tipologia dos Problemas de Corte e Empacotamento. . . . . . . . . . 92.5 Estrutura Intermediária dos PCE - Minimização do consumo . . . . . 102.6 Tipos de corte: (a)Guilhotinado, (b)Não-Guilhotinado. . . . . . . . . 122.7 Exemplo de itens com orientação fixa e rotacionados. . . . . . . . . . 132.8 Problema de corte com dimensão aberta . . . . . . . . . . . . . . . . 142.9 Faixas no PCDA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.10 Problema de corte de estoque bidimensional. . . . . . . . . . . . . . . 172.11 Padrão de corte bidimensional. . . . . . . . . . . . . . . . . . . . . . . 182.12 Exemplo de problema de corte de estoque. . . . . . . . . . . . . . . . 192.13 Padrões do exemplo de problema de corte de estoque. . . . . . . . . . 202.14 Solução viável com 5 padrões. . . . . . . . . . . . . . . . . . . . . . . 202.15 Solução viável com 4 padrões. . . . . . . . . . . . . . . . . . . . . . . 21

3.1 pseudocódigo de Heurística Construtiva. . . . . . . . . . . . . . . . . 283.2 Pseudocódigo do método de descida. . . . . . . . . . . . . . . . . . . 293.3 pseudocódigo do Método de Descida Randômico. . . . . . . . . . . . 303.4 Pseudocódigo da Metaheurística ILS. . . . . . . . . . . . . . . . . . . 313.5 Esquema do método ILS, para o caso de funções contínuas. . . . . . . 323.6 pseudocódigo do Método Multi-Start. . . . . . . . . . . . . . . . . . . 333.7 pseudocódigo de um AG simples. . . . . . . . . . . . . . . . . . . . . 343.8 Representação da Roleta - Seleção do primeiro indivíduo. . . . . . . . 363.9 Fronteiras geradas pelo método Fast-non-dominated-sort. . . . . . . . 453.10 pseudocódigo do procedimento Fast Non Dominated Sort. . . . . . . . 463.11 Crowding distance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.12 Pseudocódigo do procedimento crowding distance. . . . . . . . . . . . 473.13 Pseudocódigo do procedimento NSGA-II. . . . . . . . . . . . . . . . . 483.14 Comportamento do NSGA−II. . . . . . . . . . . . . . . . . . . . . . . 49

4.1 Ação dos algoritmos aproximados First-Fit e Best-Fit. . . . . . . . . 514.2 pseudocódigo do algoritmo First-Fit. . . . . . . . . . . . . . . . . . . 524.3 pseudocódigo do algoritmo Best-Fit. . . . . . . . . . . . . . . . . . . 524.4 Operador de Recombinação. . . . . . . . . . . . . . . . . . . . . . . . 534.5 Operador de mutação: troca. . . . . . . . . . . . . . . . . . . . . . . . 544.6 Operador de mutação: realocação. . . . . . . . . . . . . . . . . . . . . 54

xii

Page 14: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.7 Pseudocódigo da Metaheurística ILS para geração de solução inicialpara o PCDA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.1 Exemplo da Abordagem 1. . . . . . . . . . . . . . . . . . . . . . . . . 665.2 Faixa formada pela Abordagem 1. . . . . . . . . . . . . . . . . . . . . 665.3 Pseudocódigo da Abordagem 1 para a geração de faixas. . . . . . . . 665.4 Pseudocódigo da Abordagem 2 para a geração de faixas. . . . . . . . 675.5 Faixas formadas pela Abordagem 2. . . . . . . . . . . . . . . . . . . . 685.6 Pseudocódigo da Abordagem 3 para a geração de faixas. . . . . . . . 685.7 Faixas formadas pela Abordagem 3. . . . . . . . . . . . . . . . . . . . 695.8 Padrões formados pela abordagem 1. . . . . . . . . . . . . . . . . . . 695.9 Crossover uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.10 Fronteiras no problema dos armários de 5 portas. . . . . . . . . . . . 785.11 Fronteiras no problema das cômodas. . . . . . . . . . . . . . . . . . . 795.12 Curva de trade-off entre a perda e o número de padrões distintos no

exemplo da classe 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.13 Curva de trade-off entre a perda e o número de padrões distintos no

exemplo da classe 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.14 Curva de trade-off entre a perda e o número de padrões distintos no

exemplo da classe 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.15 Curva de trade-off entre a perda e o número de padrões distintos no

exemplo da classe 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.16 Curva de trade-off entre a perda e o número de padrões distintos no

exemplo da classe 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.17 Curva de trade-off entre a perda e o número de padrões distintos no

exemplo da classe 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

xiii

Page 15: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Capítulo 1

Introdução

Neste capítulo, além da introdução sobre o trabalho desenvolvido, são apresentadosos objetivos, motivação e organização do trabalho.

1.1 Considerações Iniciais

Problemas que envolvem o corte de matéria-prima são comuns a diversas ativi-dades produtivas. Geralmente, deseja-se atender uma demanda por peças menores(itens), que devem ser cortadas a partir de peças maiores (objetos), a um customínimo. Isso ocorre, por exemplo, quando é preciso cortar placas de vidro paraprodução de portas e janelas, ou cortar placas de madeira em peças menores, paraa confecção de móveis. Podem ser citadas ainda diversas indústrias, tais como asde aço, papel, alumínio e espuma, em que situações como estas fazem parte docotidiano industrial.

Geralmente, os problemas de corte têm como objetivo minimizar a quantidadede material utilizado, ou seja, minimizar o número de objetos utilizados ou a perda(desperdício) de material. Esses objetivos interferem diretamente sobre os custos daprodução. Entretanto, outros custos podem ser importantes na atividade de corte,como, por exemplo, o tempo de preparação de máquina para a troca de padrões decorte (setup), ou seja, o número de padrões de corte distintos utilizados, e os custosde estoque para a produção excedente.

Outra atividade comum nas indústrias, análoga à atividade de corte, é o empa-cotamento de itens dentro de objetos, que ocorre, por exemplo, no carregamentode containers. Devido à semelhança na estrutura lógica dos problemas de corte eempacotamento, e à grande variedade de situações práticas que envolvem essas ati-vidades, tais problemas foram agrupados em uma classe de problemas de otimizaçãocombinatória conhecidos na literatura como Problemas de Corte e Empacotamento(PCE).

As pesquisas sobre os PCE foram iniciadas por Kantorovich (1960), sendo in-tensificadas nos anos 60, a partir do trabalho de Gilmore e Gomory (1961). Desdeentão, os PCE têm sido extensivamente tratados na literatura. Isso se deve a suaimportância econômica, aliada à dificuldade de resolução destes problemas. Nasúltimas duas décadas, vários artigos, de revisão bibliográfica, relacionados ao pro-blema de corte e empacotamento foram publicados, sendo relevante citar os devidos

1

Page 16: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

1.1 Introdução 2

a Dyckhoff (1990), Sweeney e Parternoster (1992), Dowsland e Dowsland (1992) eWäscher et al. (2006).

Um PCE, dependendo do número de dimensões relevantes para o corte ou empa-cotamento, pode ser unidimensional (corte de barras de aço), bidimensional (cortede placas de madeira) ou tridimensional (corte de espuma para produção de col-chões). Existem, entretanto, diversos outros critérios necessários para definir umPCE. Essa fato, somado à grande diversidade de problemas, originou a proposiçãode sistemas de classificação dos PCE.

O sistema mais recente de classificação é a tipologia proposta por Wäscher et al.(2006). Nela, são considerados aspectos como dimensionalidade, tamanho e varie-dade dos itens e objetos, além de diversos outros critérios que buscam diferenciar edefinir de maneira única cada problema de corte.

Neste trabalho, são estudados os problemas de corte bidimensionais classificados,segundo Wäscher et al. (2006), como:

• Problema de Corte Bidimensional com Dimensão Aberta - PCDA (Open Di-mensional Problem): o problema consiste em cortar da melhor forma possívelum objeto retangular, dado que uma dimensão do objeto é variável, para aprodução de itens retangulares. Esse problema ocorre, por exemplo, quandoa produção envolve o corte de itens a partir de uma bobina ou de um rolo dematerial. Diversos problemas de corte que surgem nas indústrias papeleira,têxtil e metalúrgica podem ser modelados como um PCDA.

• Problema Bidimensional de Corte de Estoque - PCEB: trata-se do problemaclassificado, segundo a tipologia de Wäscher et al. (2006), como Single Stock-Size Cutting Stock Problem - SSSCSP. Consiste em cortar, da melhor maneira,objetos retangulares idênticos disponíveis em estoque, de forma a produziritens também retangulares. Como exemplo, tem-se os problemas de corte daindústria de móveis, que geralmente são modelados como um PCEB.

Como estes problemas são bidimensionais, ainda são acrescidas outras restrições,além dos critérios propostos por Wäscher et al. (2006). Tais restrições se devema detalhes do processo de produção e à características do equipamento de corte.Dentre elas, estão as restrições relativas ao tipo de corte, que pode ser guilhotinadoou não; à limitação no número de cortes em uma determinada direção (restritospelo equipamento); além de imposições relativas à orientação do corte (com rotaçõespermitidas ou não), que acrescentam maiores dificuldades à resolução do problema.

Em geral, os PCE são formulados como problemas de otimização linear inteirae são difíceis de serem tratados, devido ao grande número de variáveis envolvidase à restrição de integralidade das variáveis. Estes problemas pertencem à classede problemas NP-Difícil, o que significa que é improvável obter soluções exatasem tempos computacionais razoáveis. Esse fato justifica a intensa utilização deheurísticas para solução destes problemas.

Neste trabalho, para solucionar o PCDA, tendo como objetivo, a minimização daperda de material, foram utilizados métodos heurísticos e algoritmos aproximados.Os últimos são algoritmos desenvolvidos especificamente para a resolução do PCDA.Quanto às heurísticas, foram utilizados algoritmos conhecidos como metaheurísti-cas, que apresentam uma série de vantagens em relação aos métodos heurísticos

Page 17: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

1.3 Introdução 3

convencionais, sendo que a principal delas é sua capacidade de escapar de ótimoslocais. Foram implementadas e comparadas, mais especificamente, metaheurísticaspopulacionais e metaheurísticas populacionais híbridas.

Na resolução do PCEB, foi considerado mais de um objetivo: buscou-se soluci-onar o problema de forma a mostrar o compromisso entre a minimização da perdade material e a redução no número de padrões distintos (tempo de preparação demáquina - setup). Trata-se o problema, portanto, com uma abordagem multiobje-tivo. Para gerar as soluções do problema, utilizou-se um método exato da literatura(método das duas fases, Hifi e Hallah (2006) e (Morabito e Garcia, 1998)) para ageração dos padrões de corte. Para a resolução do problema de corte de estoquemultiobjetivo, foi implementado um algoritmo evolutivo multiobjetivo, baseado emum algoritmo bastante eficiente, conhecido como NSGA-II (Deb et al., 2002).

Para comprovar o potencial da técnica proposta e a possibilidade de sua utilizaçãoem situações práticas, os algoritmos acima foram testados, utilizando-se problemas-teste da literatura. Os resultados obtidos foram comparados com outros relatadosem trabalhos anteriores.

1.2 Objetivos

O presente trabalho tem como objetivos principais:

• Desenvolver métodos heurísticos híbridos eficientes para a minimizar as perdasno PCDA.

• Tratar, através de uma abordagem da otimização multiobjetivo o PCBE, comos objetivos de minimizar, simultaneamente, a perda e o número de padrõesdistintos.

Mais especificamentte, este trabalho buscou:

• Testar algoritmos aproximados propostos na literatura para o encaixe de itens,no PCDA.

• Combinar heurísticas de refinamento e metaheurísticas , tanto aquelas base-adas em busca local quanto as metaheurísticas evolutivas (ou populacionais),com o intuito de obter um algoritmo híbrido eficiente para solucionar o PCDA.

• Apresentar, com base nos modelos para o caso unidimensional, um modelomatemático para tratar o PCEB multiobjetivo.

• Gerar os padrões necessários à solução do PCBE, através de um método deduas fases.

• Desenvolver um algoritmo evolutivo híbrido, inspirado nos algoritmos descritosna literatura , para a resolução do PCBE.

• Analisar a adequação dos métodos de solução, através de testes com problemasda literatura e instâncias geradas aleatoriamente.

Page 18: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

1.4 Motivação 4

1.3 Motivação

A motivação para estudar e solucionar um problema de corte vem, principal-mente, do grande número de aplicações práticas deste problema. Em particular, osproblemas de corte bidimensional aparecem na fabricação de chapas de aço, vidro,papel, móveis, dentre outros.

Além disso, o estudo dos PCE por diversos autores tem contribuído de formasignificativa para o desenvolvimento de diversas áreas do conhecimento, tais comoprogramação linear, programação dinâmica, complexidade computacional, algorit-mos de aproximação e metaheurísticas.

Os problemas de corte, apesar de serem facilmente entendidos, têm uma natu-reza complexa, sendo que muitos deles são comprovadamente problemas da classeNP-Difícil. A dificuldade de resolução destes problemas levou ao emprego de mé-todos heurísticos na resolução dos mesmos. Assim, além de solucionar o problema,este trabalho foi motivado pelo interesse em estudar, desenvolver e combinar mé-todos heurísticos, assim como verificar a adequação destes métodos aos problemasestudados.

1.4 Organização do Trabalho

Este trabalho está organizado da seguinte maneira: no próximo capítulo, é feitaa caracterização dos problemas de corte estudados, além de uma revisão bibliográ-fica acerca dos PCE. No capítulo 3, são apresentados os conceitos básicos sobreotimização mono e multiobjetivo, além de serem descritos os métodos de resoluçãoaplicados neste trabalho. No capítulo 4, é apresentada a metodologia de resolu-ção do PCDA, além de serem descritos os testes computacionais e apresentados osresultados obtidos e sua respectiva análise. O capítulo 5 descreve os métodos de re-solução do PCEB, além de apresentar os testes utilizados para validá-lo, assim comoos resultados obtidos. No capítulo 6, são apresentadas as conclusões do trabalho esugestões para trabalhos futuros.

Page 19: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Capítulo 2

Problemas de Corte e

Empacotamento

Neste capítulo, são apresentados os principais sistemas de classificação dos Pro-blemas de Corte e Empacotamento (PCE), além de serem caracterizados, de umaforma geral, os Problemas de Corte Bidimensionais (PCB) tratados neste trabalho:Problema de Corte com Dimensão Aberta e Problema de Corte de Estoque.

2.1 Caracterização dos Problemas de Corte e Em-pacotamento

A estrutura lógica de diferentes PCE pode ser compreendida através de exemploscomo:

• O corte de bobinas de aço em estoque (Fig. 2.1(a)), que serão usadas para aprodução de bobinas menores (Fig. 2.1(b)), que devem ser produzidas paraatender a uma determinada demanda.

(a)

(b)

Figura 2.1: Problema de corte de bobinas.

5

Page 20: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.2 Tipologia de Dyckhoff 6

• O corte de uma placa de vidro, ou de um painel de madeira, que consiste emencontrar a melhor forma de cortar o objeto (Fig. 2.2).

(a) (b)

Figura 2.2: Problema de corte de placas: (a)Objetos em estoque, (b)Itens deman-dados.

• O corte de blocos de espuma para produção de colchões, ou o carregamentode contêineres (Fig. 2.3).

Figura 2.3: Problema de carregamento de contêineres.

Os problemas apresentados mostram como são diversas as aplicações práticas dosPCE. Em decorrência disso e devido à dificuldade de resolução desses problemas,foram publicados, a partir dos anos 60, diversos estudos tratando deste tema. Ostrabalhos pioneiros foram realizados por Kantorovich (1960), que apresentou mode-los matemáticos de programação linear e métodos de solução para o planejamentoe organização da produção, e por Gilmore e Gomory (1961), que propuseram umatécnica de geração de colunas para obtenção de uma solução aproximada para osproblemas de corte.

A grande quantidade de estudos feitos a partir de então levou Dyckhoff (1990) apropor uma classificação que considera a estrutura lógica dos PCE e suas principaiscaracterísticas. Esta classificação é descrita a seguir.

2.2 Tipologia de Dyckhoff

Em Dyckhoff (1990) é apresentada uma sistematização dos diversos tipo de Pro-blemas de Corte e Empacotamento (PCE). Os seguintes critérios são utilizados paraclassificá-los:

Page 21: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.2 Tipologia de Dyckhoff 7

1. Dimensionalidade: esta característica está relacionada com o número dedimensões relevantes para o processo de corte. Um problema de corte podeser:

− Unidimensional: quando o corte do objeto é feito em apenas umadimensão, como ocorre no corte de bobinas de aço.

− Bidimensional: nesse caso, duas dimensões, largura e comprimento, sãorelevantes para o problema. Esses problemas são encontrados, por exemplo,nas indústrias de móveis e vidros.

− Tridimensional: nestes problemas, uma terceira dimensão é conside-rada. Ele acontece, por exemplo, em empresas de transporte, que queremminimizar o número de viagens e, por isso, têm que empacotar as caixas noscaminhões da melhor maneira possível.

− n-dimensional: ocorre quando mais de três dimensões são relevantespara o problema. Neste caso, além das dimensões dos objetos, outras carac-terísticas do problema podem ser consideradas, como, por exemplo, o tempodisponível para realizar os cortes.

2. Seleção de itens e objetos: os itens a serem produzidos são combinadosrespeitando-se restrições associadas aos objetos. Itens e objetos podem serselecionados de acordo com as seguintes possibilidades de combinação:

− Alocar todos os objetos e uma parte dos itens.

− Alocar uma parte dos objetos e todos os itens.

3. Sortimento dos Objetos: classifica o corte quanto à diversificação dos ob-jetos. O corte pode ser realizado a partir de:

− Um objeto;

− Objetos idênticos;

− Objetos diferentes.

4. Sortimento dos itens: classifica o corte quanto à diversificação dos itens. Oconjunto de itens a serem cortados pode ser constituído de:

− Poucos itens (diferentes);

− Muitos itens de muitos tamanhos diferentes;

− Muitos itens com relativamente poucos tamanhos diferentes;

− Tamanhos congruentes.

A tipologia de Dyckhoff (1990) foi um marco na pesquisa dos PCE, pois, aodestacar a estrutura básica comum entre os problemas de corte e os problemas deempacotamento, promoveu a integração dessas duas áreas de pesquisa, vistas atéentão separadamente. No entanto, a tipologia de Dyckhoff tornou-se limitada paraacompanhar o desenvolvimento dos estudos sobre o problema.

Motivado pela constatação das limitações da tipologia de Dyckhoff (1990) e pelocrescente número de publicações sobre PCE, principalmente nas últimas duas déca-das, Wäscher et al. (2006) desenvolveram uma nova tipologia, parcialmente baseada

Page 22: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.2 Tipologia de Dyckhoff 8

na tipologia de Dyckhoff (1990). Atualmente, a tipologia de Wäscher et al. (2006)é utilizada em vários trabalhos, além de ser adotada pelo European Special InterestGroup on Cutting and Packing (ESICUP) para fins de classificação de trabalhos.Trata-se de uma classificação mais consistente e abrangente que a de Dyckhoff. Paracomprovar essa abrangência e a maior aplicabilidade de sua tipologia, em Wäscheret al. (2006) é apresentada a classificação de diversos trabalhos da literatura, publi-cados entre 1995 e 2002.

A nova tipologia introduziu novos critérios de classificação à tipologia de Dyckhoff(1990), definindo, assim, novas categorias de problemas. A tipologia de Wäscherclassifica os PCE com base em cinco critérios:

1. Dimensionalidade: os problemas são divididos, segundo esse critério, emproblemas unidimensionais, bidimensionais e tridimensionais.

2. Tipo de Designação (Alocação): Os problemas, de acordo com este crité-rio, podem ter objetivos de:

• Maximização da produção (output maximisation): neste caso, os objetosdisponíveis não são suficientes para alocar todos os itens, ou seja, não é possívelproduzir todos os itens. Como o objetivo é maximizar a produção dos itens,serão utilizados todos os objetos. Assim, em geral, tem-se um problema deseleção de itens;

• Minimização do consumo (input minimisation): neste caso, os objetosdisponíveis são suficientes para alocar todos os itens. Assim, é necessárioacomodar todos os itens, buscando minimizar o valor dos objetos necessáriospara o atendimento da demanda, de acordo com a função objetivo adotada,que pode ser, por exemplo, o custo ou a quantidade de material desperdiçado.

3. Tipo dos Itens:

• Idênticos;

• Pouco heterogêneos;

• Muito heterogêneos.

4. Tipo de Objetos:

• Um único objeto:

− com todas dimensões fixas;

− com uma ou mais dimensões variáveis.

• Muitos objetos

− idênticos;

− pouco heterogêneos;

− muito heterogêneos.

5. Forma dos Itens:

• regulares;

• irregulares.

Page 23: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.2 Tipologia de Dyckhoff 9

Pro

ble

ma

de

Cort

e e

Em

pac

ota

men

to

Min

imiz

ação

da

Entr

ada

Max

imiz

ação

da

Saí

da

Arb

itrá

rio

Fra

cam

ente

Het

erogên

eos

Pro

ble

ma d

aM

och

ila

Pro

ble

ma d

eA

loca

ção

Open

Dim

ensi

on

al

Pro

ble

m

Pro

ble

ma d

eC

ort

e e

Est

oq

ue

Todas

dim

ensõ

es f

ixas

Dim

ensã

o(õ

es)

vari

áve

isTodas

dim

ensõ

es f

ixas

Fort

emen

teH

eter

ogên

eos

Fra

cam

ente

Het

erogên

eos

Idên

tico

s

Pro

ble

ma d

eE

mp

aco

tam

ento

de

Iten

s Id

ênti

cos

Fort

emen

teH

eter

ogên

eos

Pro

ble

ma d

eE

mp

aco

tam

ento

Tip

o d

eA

trib

uiç

ão

Obje

tos

Tip

o d

eIt

ens

Figura 2.4: Tipologia dos Problemas de Corte e Empacotamento.

Page 24: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.2 Tipologia de Dyckhoff 10

A partir do objetivo do problema e dos critérios apresentados acima, a classifi-cação de um PCE, de acordo com a tipologia de Wäscher et al. (2006), é realizadada seguinte maneira:

• Os critérios tipo de designação e tipo de itens são combinados, definindo assima estrutura básica do PCE. A estrutura básica dos PCE é apresentada na Fig.2.4.

• Em seguida, o critério tipo de objetos é combinado ao problema básico, for-mando assim a estrutura intermediária. Na Fig. 2.5, é apresentada a estruturaintermediária para os problemas que possuem como objetivo geral a minimi-zação da entrada. Este é o foco deste trabalho. Estão destacados nessa figuraos problemas a serem tratados neste trabalho.

Mutiple Stock SizeCutting Stock Problem

(MSSCSP)

Mutiple Bin SizeBin Stock Problem

(MBSBSP)

Single Stock SizeCutting Stock Problem

(SSSCSP)

Single Bin SizeBin Stock Problem

(SBSBSP)

ResidualCutting Stock Problem

(MSSCSP)

ResidualBin Stock Problem

(MBSBSP)

PoucoHeterogêneos

MuitoHeterogêneos

Idênticos

PoucoHeterogêneo

MuitoHeterogêneo

TodasDimensões

Fixas

Um único objetocom uma dimensão variável

Open Dimensional ProblemODP

Tipo deItensTipo de

Objetos

Figura 2.5: Estrutura Intermediária dos PCE - Minimização do consumo

• Por fim, são adicionados os critérios dimensionalidade e forma dos itens àestrutura intermediária do problema, sendo definida, assim, a classe do mesmo.

O resultado final da estrutura proposta por Wäscher et al. (2006), portanto, édado pela seguinte regra:

{1,2,3}-D {retangular, circular, ..., irregular} {classificação intermediária}.

Nos termos da classificação de Wäscher, neste trabalho são estudados os proble-mas de corte classificados como:

• 2D - (Rectangular) Open Dimensional Problem - ODP: Problema de cortebidimensional (retangular) com uma dimensão aberta;

• 2D - (Rectangular) Single Stock Size Cutting Stock Problem - SSSCSP: Pro-blema de corte de estoque bidimensional (retangular), com um único tipo deobjeto em estoque.

Page 25: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.3 Problemas de Corte Bidimensional 11

Neste trabalho, denota-se o Problema de Corte Bidimensional com DimensãoAberta apenas por PCDA, e o Problema do Corte de Estoque por PCEB.

O PCDA e o PCEB possuem as seguintes características em comum:

• São problemas bidimensionais (com objetos e itens retangulares);

• Os objetos disponíveis são suficientes para alocar todos os itens (minimizaçãoda entrada);

• Tratam de itens muito heterogêneos.

As características que diferenciam os dois problemas são:

• Número de objetos: no PCDA, é utilizado um único objeto para cortar todosos itens, ao passo que, no PCEB, são utilizados vários objetos idênticos paraatender à demanda dos itens.

• Número de dimensões fixas: no PCDA, uma dimensão é fixa e a outra éconsiderada infinita. No PCEB, as duas dimensões são fixas.

As características gerais dos problemas de corte bidimensional são discutidas napróxima seção.

2.3 Problemas de Corte Bidimensional

O problema do corte bidimensional aparece quando, no processo de corte, osobjetos em estoque e os itens a serem produzidos possuem duas dimensões relevantes.Este problema é bastante comum em indústrias que utilizam como matéria-primaplacas de vidro, aço, papel, plástico, couro, tecidos, madeira, dentre outros produtos.

A combinação dos itens dentro do objeto é chamada de padrão de corte. Ospadrões de corte, no caso bidimensional, devem obedecer a diversas restrições fí-sicas impostas pelo tipo de material (por exemplo, no caso da madeira, quando énecessário o corte ao longo de suas fibras) e aos equipamento de corte (por exemplo,quando há limitação no número de facas). Essas restrições têm que estar presentesnos algoritmos desenvolvidos para solucioná-los. As características mais relevantese presentes na literatura para problemas de corte bidimensionais são descritas aseguir.

Tipo de corte

Em muitos casos, o equipamento de corte opera somente de forma paralela aoslados do objeto e sempre corta o material de um lado ao outro. Este tipo de corteé conhecido como corte guilhotinado. Nesse tipo de corte, a cada corte são gerados,sempre, dois retângulos, como pode ser visto pela Fig.2.6(a).

No caso contrário, ou seja, quando o corte descaracteriza o objeto (o corte con-torna o item), o corte é dito não-guilhotinado, como na Fig.2.6(b)). Neste trabalho,para os dois problemas, consideram-se cortes guilhotinados.

Page 26: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.3 Problemas de Corte Bidimensional 12

3º3º

(b)(a)

Figura 2.6: Tipos de corte: (a)Guilhotinado, (b)Não-Guilhotinado.

Estágios de corte

Como pode ser visto na Fig.2.6, no corte do tipo guilhotina ocorrem mudançasortogonais na direção do corte. Cada uma dessas mudanças, ou seja, cada sequênciade cortes, feitos na mesma direção, é chamada de estágio de corte. A Fig.2.6(a)mostra o exemplo de um corte em 4 estágios.

Em muitos processos de corte, o número estágios, deve ser limitado. Os cortesguilhotinados, com estágios limitados, são muito comuns na indústria, devido aointenso uso de guilhotinas. Neste trabalho, para os dois problemas de corte, sãoconsiderados cortes feitos em 2 estágios (ou seja, é necessária apenas uma mudançana direção de corte).

Rotação dos itens

Em algumas indústrias, o material dos objetos possui uma característica que de-termina a orientação do corte (fibras de madeira, estampas em tecidos, etc). Quandoos itens não podem ser rotacionados, diz-se que os itens têm orientação fixa e, casocontrário, diz-se que os itens têm rotação permitida. Considere objetos com dimen-sões L×W e itens i de dimensões li×hi. No caso de rotação permitida dos itens, seo problema original tem n itens, o problema da geração de padrões de corte passaa ter, no máximo, o dobro do número de itens (2n), pois os itens tais que hi > Lou li > H não podem ser incluídos no padrão de corte depois de rotacionados. Arotação dos itens pode permitir um melhor aproveitamento da matéria-prima, comopode ser visto pela Fig. 2.7.

Quantidade de itens por padrão

Em problemas nos quais são usados mais de um objeto, pode haver uma limitaçãona quantidade de vezes que um determinado item pode ser cortado a partir de umobjeto. Nesse caso, trata-se de um problema restrito. Caso contrário, tem-se umproblema irrestrito. Neste trabalho, ambos os problemas são considerados irrestritos.

Page 27: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.4 Problemas de Corte Bidimensional 13

1

l1

h1

2h2

l2

1 1 1

2 2

2 2

1 1 1

22 2 22 2 2

Itens não-rotacionados Item 2 rotacionado

Figura 2.7: Exemplo de itens com orientação fixa e rotacionados.

Objetivos

Os objetivos relacionados aos problemas de corte podem envolver os itens, oobjeto, os padrões, ou ainda o processo de alocação. Exemplos de critérios deotimização são:

• Minimização da quantidade de objetos utilizados;

• Minimização do custo dos objetos utilizados (neste caso, cada objeto deve terum custo associado);

• Minimização do desperdício (perda) nos padrões;

• Maximização do valor dos itens produzidos.

Apesar desses exemplos serem os mais tratados, existem outros objetivos con-siderados, como a minimização do número de pilhas abertas (uma pilha é abertaquando se inicia a produção (corte) de um determinado item, sendo fechada apenasquando sua demanda é totalmente produzida) e a minimização do número de trocasde padrões (que geralmente implicam em perda de tempo de produção (setup)).

Outros trabalhos ainda consideram mais de um objetivo. Um exemplo é o tra-balho de Pileggi et al. (2006), no qual os autores buscaram minimizar, de formaintegrada, a perda de material e o número de pilhas abertas, considerando o com-promisso entre os objetivos. Outro exemplo é o trabalho de Golfeto et al. (2007),que desenvolveu um algoritmo genético simbiótico para o problema de corte unidi-mensional multiobjetivo (minimização da perda de material e tempo de preparaçãoda máquina de corte (setup)).

Nesta dissertação, são desenvolvidos algoritmos para solucionar problemas decorte com os seguintes objetivos:

• Para o PCDA: minimização da utilização do objeto;

• Para o PCEB: minimização da perda de material e minimização do número depadrões distintos.

A seguir serão apresentados, para cada um dos problemas tratados neste traba-lho, sua definição, caracterização e formulação matemática.

Page 28: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.4 Problema de Corte com Dimensão Aberta 14

2.4 Problema de Corte com Dimensão Aberta

2.4.1 Definição

O PCDA é um problema que trata do corte em objetos com dimensões variáveis,sendo, portanto, definido para itens e objetos com duas ou mais dimensões. Alémdisso, usualmente este problema trata do corte de um único objeto. Conforme ditono Capítulo 1, neste trabalho é tratado o PCDA bidimensional, com o objeto e ositens retangulares.

Considerando estas características, o PCDA pode ser enunciado como na Defi-nição 1 a seguir.

Definição 1 Dado um objeto com o comprimento (L) fixo e altura (H) grande obastante para cortar todos itens, o PCDA consiste em determinar sobre ele o arranjode um conjunto de itens (li × hi) que minimize a altura utilizada.

A Fig. 2.8 ilustra o PCDA conforme definido.Este problema ocorre, por exemplo, em fábricas de papel, ou de tecidos, onde

grandes rolos devem ser cortados. A largura destes rolos geralmente é bem definida,mas sua altura pode ser considerada infinita, pois é muito maior que a altura neces-sária para cortar todos os itens demandados. O PCDA também é muito comum naindústria de polímeros e na metalurgia.

Conforme dito na seção 2.3, o PCDA tratado neste trabalho considera que oscortes são guilhotinados em 2-estágios e que os itens possuem orientação fixa.

L

Altura utilizada

li

hi

Figura 2.8: Problema de corte com dimensão aberta

2.4.2 Revisão Bibliográfica

O PCDA é bastante estudado, devido ao grande interesse teórico e prático des-pertados por esse problema. O PCDA é encontrado na literatura, principalmente,com o nome de (Rectangular) Strip Packing Problem ou Two-Dimensional StripPacking Problem, conforme pode ser visto em Hopper e Turton (2001b), Martelloet al. (2003) e Yeung e Tang (2004). Outro nome foi dado por Jakobs (1996), Hopper

Page 29: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.4 Formulação Matemática 15

e Turton (2001a) e Martello et al. (2003), que o denominam de Orthogonal Rectan-gular Strip Packing Problem, enquanto Lodi et al. (2004) denominam o problemade Level Packing Problem.

Diversos autores já mostraram que o PCDA pertence à classe dos problemasNP-Difíceis (Hochbaum e Wolfgang, 1985), (Leung et al., 1990). Esse fato, aliadoao enorme número de aplicações práticas do problema, como, por exemplo, no cortede bobinas de papel (Maculan, 1988), de tecido (Richter, 1992), de bobinas dealumínio (Helmberg, 1995), dentre outras, são as principais motivações para quevários trabalhos na literatura tenham seu foco em técnicas para resolvê-lo.

Dentre os trabalhos que solucionam o PCDA de forma exata, podemos citar Hifi(1998), que apresenta um método para o PCDA guilhotinado e com rotações orto-gonais, baseado em um procedimento branch-and-bound, que soluciona problemasde pequeno porte. Lesh et al. (2004) também apresenta um método baseado embranch-and-bound para o PCDA sem perdas, para problemas com até 30 itens. Noentanto, os métodos exatos não se mostraram capazes de solucionar problemas degrande porte, sendo estimulada, assim, a utilização de métodos heurísticos.

A maioria dos trabalhos que propõem uma solução heurística para o PCDA uti-lizam algoritmos evolutivos, em especial algoritmos baseados em Algoritmos Gené-ticos (AG). Dentre eles, podemos citar Yeung e Tang (2004), que tratam um PCDAnão-guilhotinado através de uma heurística de encaixe de itens, que transforma oPCDA em um simples problema de permutação, que, então é solucionado pelo AG.Métodos baseados em AG também são apresentados em Kroger (1995), Liu e Teng(1999) e Yeung e Tang (2004). Uma revisão sobre a utilização de AG na resoluçãodo PCDA é feita em Kroger (1995).

Neste trabalho, para representar o PCDA, foi utilizado o modelo de programaçãolinear inteira proposto por Lodi et al. (2004), apresentado a seguir.

2.4.3 Formulação Matemática

O modelo de Lodi et al. (2004) trata do PCDA guilhotinado, de forma que ositens alocados no objeto formam faixas ou níveis (com altura corresponde à alturado item mais alto da faixa), conforme indicado na Fig.2.9. Assim, minimizar a perdade material corresponde, nesta formulação, à minimização da soma das alturas dasfaixas.

1ª Faixa

2ª Faixa

Figura 2.9: Faixas no PCDA.

Page 30: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.4 Formulação Matemática 16

As seguintes observações acerca do modelo são feitas no trabalho de Lodi et al.(2004):

(i) Os itens são previamente ordenados de forma decrescente com relação à altura;

(ii) Em cada faixa, o item mais à esquerda é o mais alto;

(iii) A primeira faixa é a faixa mais alta.

Sejam, então, os seguintes dados de um PCDA:

- L: comprimento do objeto;

- li: comprimento do item, para i = 1, . . . , n.

- hi: altura do item, para i = 1, . . . , n;

Sendo n o número de faixas formadas para alocar todos os itens demandados,pode-se definir a seguinte variável de decisão:

• yi: é uma variável binária que assume valor 1 se o item i inicializa a faixa i eassume valor 0 caso contrário.

Deve-se observar que, devido à observações (i) e (iii), somente os itens j, taisque j > i, podem ser alocados na faixa iniciada pelo item i. Essa condição se deveao fato de que, se um item j, tal que j = i, inicializa a faixa i, não pode ser atribuídonovamente a essa faixa. Assim sendo, uma segunda variável de decisão é dada por:

• xij : variável binária, que assume valor 1 se o item j estiver alocado na faixa ie assume valor 0 caso contrário,j > i.

O modelo de Programação Linear Inteira, segundo Lodi et al. (2004), é apresen-tado a seguir:

min f =n∑

i=1

hiyi (2.1)

sujeito a

j−1∑

i=1

xij + yj = 1, (j = 1, . . . , n); (2.2)

n∑

j=i+1

ljxij ≤ (L− li)yi, (i = 1, . . . , n); (2.3)

xij , yi ∈ {0, 1}, ∀i, j (2.4)

A função objetivo, representada pela expressão (2.1), tem, como critério de oti-mização, a minimização da altura utilizada do objeto. A restrição (2.2) garante quecada item é alocado apenas uma vez, ou seja, ou o item inicializa a faixa ou está

Page 31: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 17

numa faixa inicializada por outro item. A restrição (2.3) garante que, em cada faixa,o comprimento L do objeto não será ultrapassada. A restrição (2.4) define o tipodas variáveis do problema.

Ressalta-se que o modelo de Lodi et al. (2004) trata do PCDA restrito, enquantoo presente trabalho considera o caso irrestrito. O modelo de Lodi et al. (2004) érestrito, pois considera que todos os itens são de tipos diferentes, mesmo que tenhamas mesmas dimensões, ou seja, mesmo que sejam itens idênticos. Neste trabalho,apesar de se considerar que os métodos propostos são aplicavéis a problemas irres-tritos, utilizou-se, para validar tais métodos, o modelo de Lodi et al. (2004). Issopode ser feito, sem maiores problemas, porque é possível solucionar um problemairrestrito utilizando o modelo de Lodi et al. (2004). Para isso, basta considerar ositens com uma demanda d, tal que d > 1, com d itens com demanda igual a 1.Assim, tranforma-se um problema irrestrito em um problema restrito.

O capítulo 4 apresenta a metodologia utilizada para a resolução do PCDA.

2.5 Problema de Corte de Estoque Multiobjetivo

2.5.1 Caracterização do Problema

Os problemas de corte de estoque bidimensionais (PCEB) consistem, de ummodo geral, em determinar a melhor maneira de se cortar objetos em estoque, comdimensões L×H , de forma a produzir um conjunto de itens com uma demanda di,de dimensões li×hi, e otimizar uma função objeto de interesse, como, por exemplo,minimizar a perda de material. Neste trabalho, considera-se o comprimento (L)como a dimensão horizontal e a altura (H) como a dimensão vertical. A Fig. 2.10mostra um exemplo de problema de corte de estoque bidimensional.

hi1 2

3 4

56

liC

Itens demandados

L

Objetos em estoque

H

7

Figura 2.10: Problema de corte de estoque bidimensional.

Para introduzir a formulação do problema de corte de estoque aqui tratado, énecessário definir formalmente um padrão de corte.

Definição 2 Cada arranjo geométrico dos itens dentro do objeto é chamado depadrão de corte.

Page 32: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 18

A Fig. 2.11 representa um exemplo de padrão de corte bidimensional, utilizando oobjeto e os itens mostrados na Fig. 2.10.

1 1

42

3 6 6 6

1

Figura 2.11: Padrão de corte bidimensional.

A cada padrão de corte j está associado um vetor n-dimensional:

aj = (α1j, α2j , . . . , αnj)

em que αij corresponde ao número de vezes que o item i aparece no padrão j.O vetor correspondente ao padrão mostrado da Fig. 2.11, considerando que são

demandados 7 itens diferentes, é dado por (3 1 1 1 0 3 0). As partes do objetocortado não utilizadas com o corte dos itens são denominadas perdas (representadapela parte cinza na Fig. 2.11). Com elas, parte da matéria-prima, muitas vezes, ficainutilizada, por não possuir as dimensões requeridas para a produção.

Considerando, então, conhecidos a priori todos os p padrões de corte possíveis, oproblema de corte de estoque pode ser formulado como (Gilmore e Gomory, 1961):

min

p∑

j=1

cjxj (2.5)

sujeito a

p∑

j=1

αijxj ≥ di, (i = 1, . . . , n); (2.6)

xj ≥ 0 e inteiro, (j = 1, . . . , p); (2.7)

em que cj é o custo associado ao padrão j, xj é o número de vezes que o padrão j éutilizado e di é a demanda de cada um dos itens. A função objetivo (2.5) minimizao custo dos objetos, as restrições (2.6) garantem que toda a demanda seja atendidae as restrições (2.7) garantem que o número de vezes que cada padrão de corte éutilizado é um número inteiro não-negativo.

O custo cj tem valor cj = 1, ∀ j, no caso da minimização do número de objetos.Caso o objetivo seja a minimização da perda, esse custo é substituído pela soma daperda dos padrões que integram a solução. No caso de padrões bidimensionais, ocusto cj é dado por:

cj = LH −n∑

i=1

αijlihi (2.8)

Page 33: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 19

Esta formulação apresenta duas dificuldades em termos computacionais. A pri-meira, é a resolução deste problema de programação linear inteira; a segunda, éa determinação de todos os padrões, que em casos práticos, pode ser um númeromuito grande, o que inviabiliza solucionar o problema otimamente.

Apesar da extensa literatura que trata do problema de corte com o objetivo deminimizar a perda de material, na prática, existem outros objetivos importantes aserem considerados. Um objetivo pouco citado na literatura, mas que tem consi-derável importância em diversas indústrias, é a redução no número de padrões decorte distintos.

A troca de padrões em um plano de corte demanda tempo (setup), podendoaumentar consideravelmente o tempo total do processo de corte. Isso ocorre, porexemplo, quando é preciso preparar um equipamento para cada novo padrão. Du-rante o tempo de preparação, os equipamentos se encontram ociosos, o que podeocasionar uma diminuição na produtividade (Figueiredo, 2006). Segundo Fogliattoe Fagundes (2003), em média, 6,5% do tempo total de operação no setor de corte égasto pelo setup, podendo chegar a mais de 8%.

Assim, quando o custo de preparação para o corte de um novo padrão é signifi-cativo, pode-se estar disposto a aceitar uma solução com um desperdício levementemaior, mas com um número menor de padrões distintos.

Isso ocorre, geralmente, porque reduzir o número de padrões distintos aumenta aperda de material, ou seja, há um conflito de objetivos entre o diminuição da perdade material e a diminuição do número de padrões de corte distintos. Daí o interesseem avaliar os efeitos destes fatores em uma minimização global de custo (Limeira,2003).

Considere, o seguinte exemplo de um problema bidimensional de corte de estoque,mostrado na Fig. 2.12, que tem objetos de dimensões (L × H) em quantidadeilimitadas em estoque, que devem ser cortados em itens menores de dimensões (li×hi), i = 1, 2, 3, para atender uma demanda di de cada item.

35

30

Objetos Itens ( )l ,hi i

3

8

52

13

10

d1= 12 d2= 10

Demanda (di)

d3= 40

1

15

16

Figura 2.12: Exemplo de problema de corte de estoque.

A partir dos itens, foram construídos os padrões de corte mostrados na Fig. 2.13,a serem usados na solução do problema:

Page 34: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 20

Padrões de Corte

1 1

1

11

11

111

2 2

22222

22

22 3

3

3

3

3

333333

3 33

33

333

333 3

1 2 3 4 5 6

Figura 2.13: Padrões do exemplo de problema de corte de estoque.

Uma solução viável para este exemplo pode ser obtida utilizando-se cinco pa-drões, mostrados na Fig. 2.14, que esquematiza uma solução viável, indicando afreqüência de cada padrão, de modo a atender à demanda, além da perda de mate-rial da solução.

Solução 1

Perda padrão = 14,3% 23% 18,3% 15,2% 8,6%

Freqüência = 1 2 2 2 1

Perda total = 17,0 %

11

1111

22

2222

22

22

33

333

33

333

3

3

3

3

3

3

3

3

3333

11

Padrão: 1 2 3 5 6

Figura 2.14: Solução viável com 5 padrões.

No entanto, é possível encontrar uma outra solução viável alternativa com um nú-mero menor de padrões de corte distintos (apenas 4), atendendo à mesma demanda,conforme esquematizado na Fig. 2.15.

Tomando-se a segunda solução, pode-se obter uma redução nos custos produtivosem que o tempo de preparação de máquina é significativo. No caso do exemploacima, o índice de perda de material foi menor na primeira solução. Esse fato écomum em problemas práticos (maior número de itens), pois geralmente a reduçãodo número de padrões produz soluções com maior índice de perda.

Os trabalhos que tratam do problema de redução de padrões geralmente apre-sentam as seguintes prioridades relativas aos critérios de otimização:

• considerar como objetivo principal a redução de padrões. Conforme já dito,isso resulta em soluções que utilizam uma quantidade maior de objetos. Ape-nas quando o custo da matéria-prima for realmente insignificante, o númerode padrões deve ser individualmente minimizado.

• Combinar os dois objetivos, sendo que esta abordagem tem se mostrado a

Page 35: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 21

Perda padrão = 23% 18,3% 22,3% 8,6%

Freqüência = 3 3 2 1

Perda total = 19,7 %

Solução 22

22 211

11

1

1

1 1

333

333

3

3

3

3

3

33

3

3

Padrão: 2 3 4 6

Figura 2.15: Solução viável com 4 padrões.

melhor para a realidade das aplicações industriais. Esta abordagem leva emconta o compromisso (trade-off ) entre a perda e o número de padrões.

Observou-se, com relação aos problemas de corte bidimensionais multiobjetivos,que a literatura mostra-se bastante limitada com respeito aos problemas de cortebidimensional. Este fato, aliado à dificuldade de resolução do problema, são as moti-vações para que este trabalho tenha seu foco no problema de, conjuntamente, reduziros padrões e a perda de material num problema de corte de estoque bidimensional.

Neste trabalho, o problema de corte de estoque bidimensional, considerando-seos objetivos de minimizar a perda de material e o número de padrões, foi resolvidoatravés de uma abordagem multiobjetivo. Deve-se ressaltar que, na pesquisa biblio-gráfica realizada, não foram encontrados artigos que tratassem desse problema parao caso de objetos e itens bidimensionais.

A seguir, é apresentada uma revisão sobre o problema de corte de estoque e sobreo problema de redução de padrões.

2.5.2 Revisão Bibliográfica

O problema de corte de estoque foi formulado inicialmente por Gilmore e Gomory(1961) e Gilmore e Gomory (1963). A partir de então, diversos estudos foramrealizados, principalmente nas duas ultimas décadas. Existe, portanto, uma vastaliteratura sobre os problemas de corte de estoque.

A literatura a respeito dos problemas de corte de estoque bidimensionais tambémé bastante extensa, conforme mostram os artigos de revisão e edições especiais emBischoff e Wäscher (1995), Dyckhoff et al. (1997), Arenales et al. (1999), Wange Waescher (2002), Hifi (2002) e Lodi et al. (2002). Também tratam desse temaos seguintes trabalhos: Gilmore e Gomory (1965), Christofides e Whitlock (1977),Wang (1983), Beasley (1985), Morabito e Arenales (1992), Yanasse et al. (1991),Morabito e Arenales (1996), Gramani (1996), Pinto (1999), Katsurayama (2002),dentre outros.

No que se refere ao problema de redução de padrões, uma das referências maisantigas é a de Haessler (1975), que propôs uma formulação para o problema de

Page 36: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 22

corte de estoque unidimensional, considerando os custos da troca de padrões. Nestemétodo, um padrão é repetido se satisfizer determinados níveis de aspiração comrelação à perda e à freqüência.

O problema de redução de padrões é fortemente NP-difícil, mesmo quando oproblema de corte de estoque correspondente tem uma solução trivial (McDiarmid,1999). Por essa razão, geralmente são encontradas abordagens heurísticas para suaresolução. Uma revisão detalhada sobre os principais métodos heurísticos aplicadosao problema de redução de padrões pode ser encontrada em Limeira (2003).

Dentre estes métodos, está aquele desenvolvido por P. e Gascon (1995). Nele, osautores analisam quatro diferentes abordagens para o problema de corte de estoque:

1. Heurística de Haessler (1975);

2. Heurística utilizada pela companhia (estudo de caso);

3. SGPI: heurística baseada no método de resolução de Gilmore e Gomory, mi-nimizando apenas a perda;

4. SGPI*: heurística baseada na adaptação da heurística de Haessler (1975) àSGPI.

Foram realizados testes com as quatro heurísticas, em que foram calculadas, paracada uma, as perdas de material e o número de padrões distintos. O estudo concluiuque a heurística de Haessler (1975) é a mais vantajosa, pois diminui a quantidade depadrões distintos (em alguns casos, reduções maiores que 50%), mantendo o índicede perda em um nível aceitável.

Em Diegel et al. (1993) é apresentado um método que identifica pares de padrõesque podem ser substituídos por um único padrão. Uma generalização deste métodofoi feita por Foerster e Wäscher (2000), surgindo assim a heurística KOMBI, queapresentou resultados melhores (apesar de um aumento no tempo computacional).

Morabito e Arenales (2000) analisam o compromisso entre cortar padrões maissimples de serem produzidos e padrões que resultam em menores perdas de material,apesar de reduzir a produtividade do equipamento de corte.

Vanderbeck (2000) apresenta um método exato para o problema de minimizaçãoda troca de padrões de corte para problemas com um número pequeno de itens.

Umetami et al. (2003) apresentam um procedimento baseado na metaheurísticaIterated Local Search (ILS), em que, a priori, o número de diferentes padrões decorte é limitado.

Em um estudo recente, Yanasse e Limeira (2006) apresentaram um algoritmohíbrido para reduzir a quantidade de padrões de corte. Inicialmente, são geradospadrões de corte com perda limitada, atendendo a demanda de no mínimo dois itens.Em seguida, estes padrões são cortados o número máximo de vezes possível, semque ocorra produção excedente. Resta, então, um problema residual, sobre o qual éaplicada uma técnica de redução de padrões.

Quanto à literatura sobre a aplicação de métodos de otimização multiobjetivo,destaca-se que foram encontrados apenas os trabalhos de Kolen e Spieksma (2000) eGolfeto et al. (2007), que tratam de problemas de corte de estoque unidimensionais.

Page 37: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 23

O primeiro trabalho utiliza um método baseado em branch-and-bound para so-lucionar problema de pequeno porte, com até 8 tipos de itens, sendo que os própriosautores afirmam que o método somente se aplica a esta dimensão de problemas.

No segundo artigo, os autores desenvolveram um algoritmo genético simbiótico,com uma estratégia de nicho, e testaram o método em problemas com até 20 ti-pos de itens. Entretanto, não foram encontrados trabalhos que tratassem do cortebidimensional através de um tratamento multiobjetivo.

Em vista das motivos apresentados, este trabalho traz uma abordagem multiob-jetivo que visa encontrar soluções para o PCEB, que mostrem o compromisso entreos seguintes objetivos:

(i) Minimização da perda de material;

(ii) Minimização do número de padrões distintos.

Neste trabalho, optou-se pela utilização de um algoritmo evolutivo multiobje-tivo, em virtude dos bons resultados encontrados por este método em problemas damesma natureza. Na seção 3.5, é feita uma breve revisão sobre estes métodos.

Resta ainda observar que, conforme dito na seção anterior, os problemas decorte bidimensional apresentam outras restrições, definidas pelo processo de corte.No estudo do Problema de Corte Bidimensional, considera-se, no presente trabalho,que os cortes são guilhotinados, irrestritos e com a rotação ortogonal dos itenspermitida.

2.5.3 Formulação Matemática do Problema

Considere os seguintes os seguintes dados de um PCEB:

• L: comprimento do objeto;

• H : altura do objeto;

• li: comprimento do item i = 1;

• hi: altura do item i;

• di: demanda do item i.

O problema de otimização multiobjetivo que visa minimizar o número de padrõese a perda de material pode ser formulada como:

Page 38: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 24

min(f1, f2) =

(

p∑

j=1

cjxj ,

p∑

j=1

δ(xj)

)

(2.9)

sujeito a

p∑

j=1

αijxj ≥ di, (i = 1, . . . , n); (2.10)

xj ≥ 0 e inteiro, (j = 1, . . . , p); (2.11)

δ(xj) =

{

1, se xj > 0;0, caso contrário.

(2.12)

cj = LH −n∑

i=1

αijlihi (2.13)

em que p é o número de padrões de corte do problema, n é número total de itens,αij é número de vezes que o item i aparece no padrão j e xj é a variável de decisãoque representa o número de vezes que o padrão j é utilizado (freqüência).

A expressão (2.9) minimiza os dois objetivos considerados: a perda de material,dada pela função f1 (que avalia a perda em área, dada pela soma da perda cj de cadapadrão mutiplicada pelo número de vezes que o padrão aparece na solução (xj)) e onúmero de padrões distintos, dado por f2. A restrição 2.10 garante que a demandade todos os itens é atendida. A restrição 2.11 garante que o número de vezes quecada padrão é cortado é um número inteiro não negativo. As expressões 2.12 e 2.13,mostram, respectivamente, a função que indica o uso ou não do padrão j e a funçãoque calcula a perda em área de cada padrão j.

Conforme apresentado na seção 2.5.1, os padrões bidimensionais possuem carac-terísticas especiais, em função dos equipamentos de corte e do tipo de material aser cortado. Algumas destas características podem ser introduzidas como restriçõesno problema apresentado acima. Considerando que neste trabalho é permitida arotação ortogonal dos itens (desde que li < H ou hi < L), para o caso de n itens, arestrição (2.10) do problema de corte de estoque será dada por:

p∑

j=1

(αij + α(i+n)j)xj ≥ di, (i = 1, . . . , n); (2.14)

em que o item (i + n) corresponde ao item i rotacionado.Segundo Golfeto et al. (2007), em problemas multiobjetivos discretos, mesmo que

lineares, como é o caso do problema descrito acima, nem sempre é possível obtersoluções através da resolução de problemas de programação linear, ao contrário deproblemas lineares multiobjetivos (em que as soluções eficientes são obtidas pelaresolução de um problema ponderado).

Encontrar soluções que apresentam um compromisso entre os objetivos citadospode ser de fundamental importância na prática, pois os custos envolvidos com o

Page 39: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

2.5 Problemas de Corte de Estoque Multiobjetivo 25

processo de corte (material, tempo de preparação de máquinas) podem variar deacordo com a variação da demanda. A partir disso, pode-se afirmar que a apre-sentação destas soluções ao decisor pode contribuir de forma significativa para oplanejamento da produção (Golfeto et al., 2007). Fica demonstrada, assim, além darelevância teórica, a importância prática deste problema. O capítulo 5 apresenta ametodologia proposta de resolução do PCBE.

Page 40: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Capítulo 3

Métodos Heurísticos

Este capítulo discute os principais métodos heurísticos apresentados na literaturapara a resolução de problemas de otimização combinatória, com ênfase nos algorit-mos evolutivos, foco deste trabalho.

3.1 Otimização Combinatória Mono-objetivo

Na sua forma geral, problemas de otimização têm como objetivo minimizar oumaximizar uma função, dentro de certo domínio. Na teoria clássica da otimização,são tratados os casos em que esse domínio é infinito. Nos problemas de otimizaçãocombinatória, entretanto, esse domínio é tipicamente finito, sendo, portanto, possívela enumeração de seus elementos, assim como verificar se um elemento pertence ounão a esse domínio. No entanto, testar todos os elementos desse domínio em busca domelhor, mostra-se, em geral, inviável na prática, mesmo para problemas de tamanhomédio.

Muitos problemas de otimização combinatória são classificados como NP-Difíceis,o que significa que, até hoje, não existe um algoritmo que seja capaz de obter asolução ótima desses problemas em tempo polinomial.

Devido à essa característica, o uso de métodos exatos torna-se bastante limi-tado. No entanto, na prática, é satisfatório encontrar uma boa solução, num temporazoável, em vez da solução ótima, que pode demandar muito tempo e grande es-forço computacional. Tais soluções podem ser obtidos pelo uso de heurísticas. Asheurísticas buscam soluções próximas da otimalidade, em um tempo computacionalrazoável, não sendo, no entanto, capaz de definir se esta é a solução ótima, nemquão distante ela está da solução ótima. O esforço das pesquisas nessa área se con-centram, portanto, em métodos que obtenham soluções o mais próximas possíveisda solução ótima, em menores tempos de execução.

Muitas heurísticas foram desenvolvidas para resolver uma classe particular deproblemas. Somente na década de 1980 começaram a ser criados métodos heurísticoscom um caráter mais geral, que podem ser aplicadas a uma variedade maior deproblemas. Esses procedimentos heurísticos foram chamados de metaheurísticas,sendo que sua característica básica é uma menor rigidez, quando comparadas aosmétodos clássicos de resolução de problemas de otimização. Segundo Blum e Roli(2003), as metaheurísticas se fundamentam nas seguintes propriedades:

26

Page 41: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.2 Heurísticas Construtivas 27

• O objetivo é explorar eficientemente o espaço de busca, para encontrar soluçõespróximas do ótimo (em um problema de otimização combinatória definido porum conjunto de variáveis X = (x1, x2, ..., xn), um conjunto de restrições sobreas variáveis e uma função objetivo, o espaço de busca é o conjunto de todasas soluções factíveis para o problema, ou seja, todas aquelas que satisfazem oconjunto de restrições);

• Os algoritmos de metaheurísticas variam de um simples procedimento de buscalocal a processos complexos de aprendizagem;

• As metaheurísticas devem incorporar mecanismos capazes de escapar de ótimoslocais;

• Metaheurísticas não são voltadas para a solução de problemas específicos;

• Metaheurísticas podem utilizar experiências de busca para guiar sua busca.

As metaheurísticas têm, portanto, o objetivo de guiar a exploração do espaço debusca utilizando diversas estratégias. Dentre as estratégias que permitem escapar deótimos locais, estão os movimentos de piora da solução, geração de novas soluçõesiniciais e o uso de memória (baseada em decisões tomadas anteriormente ou emexperiências de busca), ou, até mesmo, decisões probabilísticas.

No entanto, os melhores resultados encontrados com uso de metaheurísticas fo-ram obtidos a partir de técnicas de hibridismo (Blum e Roli, 2003). Um algoritmohíbrido combina uma ou mais metaheurísticas e/ou estratégias, com o objetivo demelhorar o desempenho da busca. A utilização de operadores de busca local emmétodos como os algoritmos evolutivos é uma forma de hibridismo.

As metaheurísticas utilizam, em seu processo de busca, heurísticas subordinadas,métodos de construção e refinamento (melhoria) das soluções. Geralmente, para afase de refinamento, as metaherísticas utilizam métodos baseados em busca local.Estes métodos buscam soluções, trocando, sistematicamente, a solução corrente poruma solução melhor, contida numa vizinhança previamente definida. Os métodos deconstrução geram uma solução inicial, ou um conjunto de soluções para o problema.Tais soluções são geradas, geralmente, de forma aleatória ou através de heurísticasou metaheurísticas.

As subseções 3.2 e 3.3 descrevem com detalhes estas heurísticas. A subseção3.4 faz uma introdução sobre as metaheurísticas que serão aplicadas aos problemastratados neste trabalho.

3.2 Heurísticas Construtivas

As heurísticas construtivas são responsáveis pela construção de uma solução viá-vel para um dado problema. Essas heurísticas constroem uma solução s, elementopor elemento, de acordo com a função de avaliação escolhida, que, por sua vez,depende do problema em questão.

O procedimento geral das heurísticas construtivas pode ser visto no pseudocódigorepresentado pela Fig. 3.1.

Page 42: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.3 Heurísticas de Refinamento 28

procedimento HeuristicaConstrutiva(f(·), s)

1 s← ∅;

2 Inicialize o conjunto C de elementos candidatos

3 enquanto (C 6= ∅) faça

4 e← escolha um elemento e do conjunto C

5 s← s ∪ e;

6 Atualize o conjunto C de elementos candidatos

7 fim-enquanto;

8 Retorne s;

fim HeuristicaConstrutiva();

Figura 3.1: pseudocódigo de Heurística Construtiva.

Nas heurísticas clássicas, geralmente os elementos da solução são ordenados poruma função gulosa, que avalia a melhora trazida por cada elemento. Assim, a cadaiteração, o melhor elemento é escolhido.

Os elementos também podem ser escolhidos de forma aleatória, sendo este o tipomais simples de construção.

As construções gulosas geralmente apresentam resultados muito melhores, quantoà obtenção de valores próximo do ótimo da função, quando comparadas à construçãoaleatória. No entanto, apresentam a desvantagem de que uma decisão tomada nainserção de um elemento não pode ser alterada. Se a decisão for ruim, não existea possibilidade de corrigí-la. Além disso, as soluções finais geradas por esse tipo deheurísticas apresentam uma diversidade muito pequena, ainda que sejam utilizadasregras para conduzir a procura. Essas desvantagens podem ser minimizadas com autilização de uma componente aleatória na construção.

Geralmente, as heurísticas construtivas (gulosas e aleatórias), aplicadas de formaisolada, não resultam em soluções de boa qualidade, necessitando de métodos derefinamento dos resultados obtidos. Esses métodos são discutidos a seguir.

3.3 Heurísticas de Refinamento

As heurísticas de refinamento, ou técnicas de Busca Local, são métodos quetentam melhorar uma solução, encontrada inicialmente a partir de métodos cons-trutivos. Essas heurísticas são baseadas na noção de vizinhança.

Definição 3 Uma estrutura de vizinhança é uma função N : S → 2S , que define,para todo ponto s ∈ S, um conjunto de vizinhos N (s) ⊆ S. O conjunto N (s) échamado de vizinhança do ponto s.

Uma solução s′ faz parte da vizinhança da solução s se, e somente se, s′ éresultado de uma modificação em s, causada por um determinado movimento m, detal maneira que continue a fazer parte do conjunto de soluções possíveis.

A seguir, são apresentados dois métodos clássicos de busca local.

Page 43: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Metaheurísticas 29

3.3.1 Método de Descida

O Método de Descida parte de uma solução inicial s qualquer e, a cada passo,analisa todos os seus possíveis vizinhos (considerando uma vizinhança N (s) qual-quer), movendo-se somente para aquele que apresentar uma melhora no valor atualda função de avaliação. Assim, o método pára quando um ótimo local é encontrado.A Fig. 3.2 mostra o pseudocódigo do algoritmo.

procedimento Descida(f(·), N (·), s)1 V = {s′ ∈ N (s) | f(s′) < f(s)};2 enquanto (|V| > 0) faca3 Selecione s′ ∈ V , sendo s′ = arg min{f(s′) | s′ ∈ V};4 s← s′ ;5 V = {s′ ∈ N (s) | f(s′) < f(s)};6 fim-enquanto;7 Retorne s;fim Descida;

Figura 3.2: Pseudocódigo do método de descida.

3.3.2 Método de Descida Randômico

O Método de Descida Randômico é uma variação do Método de Descida. Estemétodo parte de uma solução inicial qualquer e, a cada iteração, escolhe aleatoria-mente uma estrutura de vizinhança, que é aplicada à solução corrente. Em seguida,analisa um vizinho qualquer, movendo-se somente para o vizinho que representaruma melhora estrita no valor atual da função de avaliação. O método é interrom-pido após um número fixo de iterações sem melhora no valor da melhor soluçãoobtida até então.

A Fig. 3.3 apresenta o pseudocódigo do método de descida randômico.

3.4 Metaheurísticas

Como visto na seção anterior, as heurísticas de construção e de refinamento, emgeral, ficam presos em um ótimo local. Aí reside a inovação das metaheurísticas,pois estas têm a capacidade de escapar de ótimos locais. Isso é feito através deestratégias que permitem uma melhor exploração do espaço de busca.

As metaheurísticas são definidas, de acordo com Osman e Laporte (1996), comoum processo de geração iterativo, que guia uma heurística subordinada, combinandointeligentemente diferentes conceitos para explorar o espaço de busca.

As metaheurísticas podem ser classificadas, segundo o princípio que utilizampara explorar o espaço de busca, em metaheurísticas baseadas em busca local emetaheurísticas baseadas em busca populacional.

Nas metaheurísticas baseadas em busca local, a exploração é realizada através daaplicação de movimentos à solução corrente, que levam o algoritmo a uma solução

Page 44: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Metaheurísticas 30

procedimento DescidaRandomica(f(·),N (·), s, iterMax)

1 iter = 0; contador de iterações sem melhora

2 enquanto (iter < iterMax faça

3 iter = iter + 1;

4 selecione aleatóriamente s′ ∈ N (s);

5 Se (f(s′) < f(s)) faça

6 iter = 0;

7 s← s′;

8 fim-se;

9 fim-enquanto;

10 Retorne s;

fim DescidaRandomica();

Figura 3.3: pseudocódigo do Método de Descida Randômico.

promissora de sua vizinhança. Pertencem a essa categoria as metaheurísticas BuscaTabu, GRASP, Iterated Local Search e Simulated Annealing (SA).

As metaheurísticas baseadas em busca populacional se inspiram nos mecanismosencontrados na natureza. Consistem em manter um conjunto de boas soluções ecombiná-las, de forma a tentar produzir soluções ainda melhores. Se enquadramnessa categoria as metaheurísticas Algoritmos Genéticos (AG), Algoritmos Memé-ticos (AM), Ant Colony System (ACS) e Particle Swarm Optimization (PSO).

Neste trabalho, para solucionar o PCDA, são utilizados métodos evolutivos com-binados com métodos de busca local, resultando, assim, em métodos híbridos. Pararesolver o PCEB, é usado um algoritmo baseado em um algoritmo evolutivo multi-objetivo descrito na literatura. Estes métodos serão abordados nas seções a seguir.

3.4.1 Metaheurísticas baseadas em Busca Local

Os algoritmos baseados em busca local descritos a seguir foram utilizados na reso-lução dos problemas de corte tratados nesta dissertação.

3.4.1.1 Iterated Local Search

A metaheurística Iterated Local Search - ILS (Lourenço et al., 2002) é baseadana idéia de que se pode melhorar um procedimento de busca local com a geração denovas soluções de partida, obtidas com a aplicação de perturbações sobre a soluçãoótima. É um método que não explora o espaço completo das soluções, mas umpequeno subespaço composto por soluções que são ótimos locais, ou ainda, soluçõesque sofreram uma busca local, mas sem a garantia de otimalidade de determinadosprocedimentos de otimização.

O algoritmo ILS inicia-se com a geração de uma solução aleatória, que, em se-guida, sofre uma busca local. A seguir, é aplicada uma perturbação nessa solução.Tais perturbações são divididas em níveis. Neste trabalho, o primeiro nível de per-turbação consiste em aplicar uma vez um determinado movimento sobre a solução.

Page 45: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Metaheurísticas 31

No segundo nível, esse movimento é aplicado duas vezes sobre a solução, e assimsucessivamente. Após a perturbação, a solução passa por uma busca local, sendoavaliada em seguida. Se esta solução for pior que a anterior, o movimento é desfeitoe o nível de perturbação cresce. Caso contrário, a solução encontrada passa a ser asolução corrente, e o nível de perturbação atual é aplicado. A solução corrente é amelhor solução encontrada até então. O procedimento pára após um certo númerode iterações.

Como se pode perceber, a perturbação deve ser forte o suficiente para garantir aexploração de diferentes soluções e fraca o bastante para que não ocorra um reinícioaleatório. A eficiência do ILS é baseada no conjunto de amostragem de ótimos locaise na escolha do método de busca local, das perturbações e do critério de aceitação.O pseudocódigo do método é apresentado na Fig. 3.4.

procedimento ILS(·)

1 s0 ← GeraSoluçãoInicial();

2 s← BuscaLocal(s0);

3 enquanto (os critérios de parada não estiverem satisfeitos) faça

4 s′ ← Perturbação(s, historico);

5 s′′ ← BuscaLocal(s′);

6 s← CriterioAceitação(s, s′′);

7 fim-enquanto;

8 Retorne s;

fim ILS();

Figura 3.4: Pseudocódigo da Metaheurística ILS.

Observa-se, no pseudocódigo da Fig. 3.4, que a metaheurística ILS possui cincopontos importantes para seu funcionamento:

(a) Procedimento de geração da solução inicial: a solução inicial pode ser geradaaleatoriamente ou utilizando-se uma heurística ou metaheurística. O impor-tante é que a solução inicial não deve ser muito cara computacionalmente edeve ser, de preferência, de boa qualidade, ou seja, estar em um subespaço debusca promisor.

(b) Procedimento de busca local: responsável por pesquisar, no subespaço geradopelas estruturas de vizinhança, uma solução ótima local. Novamente, existe aliberdade de escolher qualquer método de busca local, ou, até mesmo, utilizaruma metaheurística.

(c) Procedimento de perturbação: responsável por gerar uma nova solução, mo-dificando a solução corrente.

(d) Critérios de parada: vários critérios podem ser empregados, como, por exem-plo, número fixo de iterações; parar após a passagem de um certo tempocomputacional; parar após um certo número de iterações sem melhora no va-lor da função objetivo; parar quando a melhora no valor da função objetivo setornar insignificante.

Page 46: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Algoritmos evolutivos 32

Figura 3.5: Esquema do método ILS, para o caso de funções contínuas.

(e) Critérios de aceitação: o critério de aceitação mais comum é de acordo com ovalor da função objetivo. Porém, outros critérios podem ser empregados.

A Fig. 3.5 ilustra, através de um esquema hipotético, o comportamento dométodo.

3.4.1.2 Método Multi-Start

Em 1973, Lin e Kernighan (1973) propuseram a heurística Multi-Start, que con-siste em fazer amostragens do espaço de busca, seguidas de refinamento. Um dosmétodos mais conhecidos, baseados em Multi-Start, é o Greedy Random AdaptiveSearch Procedure (GRASP), introduzido por Feo e Resende (1995).

O Multi-Start é uma metaheurística iterativa, composta por duas fases, conformeapresentado na 3.6. Na primeira fase, se constrói uma solução, aleatoriamente ouutilizando uma heurística. Na segunda fase, é aplicada uma busca local sobre asolução obtida na construção. A metaheurística é executada até que um critériode parada seja atingido (número de iterações, tempo de processamento, número deiterações sem melhora (MSmax), etc). O método retorna a melhor das soluçõesrefinadas. O pseudocódigo do método é mostrado na Fig. 3.6.

Os detalhes da implementação de cada um dos métodos, para o problema decorte objeto de interesse, pode ser vista nos Capítulos 4 e 5.

3.4.2 Algoritmos evolutivos

A computação evolutiva surgiu nos ano 50, e tem, como idéia básica, a aplicaçãodo processo de evolução natural como um modelo de solução de problemas, a partirde sua implementação em computador.

Segundo Von-Zuben (2000), a principal vantagem da computação evolutiva estána possibilidade de resolver problemas pela simples descrição matemática do quese espera de uma solução, não havendo necessidade de se indicar explicitamente ospassos até o resultado, que certamente seriam específicos para cada caso. É lógicoque os algoritmos evolutivos correspondem a uma seqüência de passos até a solução,

Page 47: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Algoritmos evolutivos 33

procedimento Multi-Start (·)

1 f ∗ ←∞;

2 iter ← 0;

3 enquanto (iter < MSmax) faça

4 s← ConstroiSolução();

5 s′ ← BuscaLocal(s);

6 Se (f(s′) < f ∗) faça

7 s∗ ← s′;

8 f ∗ ← f(s′);

9 fim-se;

10 iter ← iter + 1;

11 fim-enquanto;

12 Retorne s∗;

fim Multi-Start();

Figura 3.6: pseudocódigo do Método Multi-Start.

mas estes passos são os mesmos para uma ampla gama de problemas, fornecendorobustez e flexibilidade.

Apesar de não garantir a otimalidade da solução, essas técnicas são capazes desolucionar problemas intratáveis por outros métodos. Uma descrição das pesquisasem computação evolutiva pode ser encontrada em Bäck et al. (2000a) e Bäck et al.(2000b).

Os métodos evolutivos operam sobre uma população de candidatos em paralelo.Assim, eles podem fazer a busca em diferentes áreas do espaço de solução, atravésda colocação de um número de pontos adequado para a busca em várias regiões.

Um dos primeiros algoritmos evolutivos desenvolvidos foram os Algoritmos Ge-néticos (AG), propostos inicialmente por Holland (1975) e popularizados por umdos seus alunos, David Goldberg (Goldberg, 1989). Os AG se mostraram bastanteeficientes para encontrar soluções ótimas ou aproximadamente ótimas.

O método se baseia nos conceitos da evolução genética, segundo a qual quantomelhor um indivíduo se adaptar ao seu meio, maior será sua chance de sobrevivere gerar descendentes. É um processo composto por diversos passos, que podemapresentar grandes variações. Daí a razão pela qual estes algoritmos são chamadosde “um Algoritmo Genético”, em vez de “o Algoritmo Genético”. Os detalhes destemétodo são apresentados a seguir.

3.4.2.1 Algoritmos Genéticos

Algoritmos Genéticos (AG) são algoritmos de otimização baseados nos princípiosda seleção natural e da genética. Segundo a teoria da seleção natural, dada umapopulação, os indivíduos com características genéticas mais favoráveis têm maioreschances de sobreviver e gerar descendentes cada vez mais aptos, enquanto indivíduosmenos aptos tendem a serem extintos.

Page 48: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Algoritmos evolutivos 34

Os AG utilizam uma estratégia de busca paralela e aleatória, com a busca voltadapara pontos de alta aptidão (pontos nos quais a função a ser minimizada (maximi-zada) assumem valores relativamente baixos (altos)).

Apesar de serem compostos por procedimentos aleatórios, os AG não são ummecanismo de busca aleatório não-direcionado, pois exploram informações históricaspara encontrar novos e promissores pontos no espaço de busca. O processo de buscaé iterativo, no qual cada iteração é chamada de geração.

Nos AG, cada indivíduo da população representa uma solução do problema. Emcada geração, os mecanismos de seleção e reprodução são aplicados a uma populaçãode candidatos (que varia com a complexidade do problema).

Através da seleção, determinam-se quais indivíduos conseguirão se reproduzir,gerando um determinado número de descendentes para a próxima geração. A pro-babilidade de um indivíduo ser selecionado é proporcional ao seu nível de aptidão.A Fig. 3.7 mostra o pseudocódigo de um AG simples.

procedimento Algoritmo Genético

1 t← 0;

2 Gerar a população inicial P (t);

3 Avaliar P (t);

4 enquanto(os critérios de parada não estiverem

satisfeitos) faça

5 t← t + 1;

6 Gerar P (t) a partir de P (t− 1);

7 Avaliar P (t);

8 Definir a população sobrevivente;

9 fim-enquanto;

fim AlgoritmoGenetico;

Figura 3.7: pseudocódigo de um AG simples.

A seguir são apresentados os principais elementos de um AG.

Representação da solução

Para que possam ser aplicados os operadores genéticos, é necessário que os indivíduosestejam codificados em cromossomos. Cada cromossomo representa uma variável doproblema. No caso de apenas uma variável, o indivíduo e o cromossomo têm omesmo significado.

A codificação mais usada é a binária, em função da facilidade de implementaçãodo algoritmo. Nela, os indivíduos são representados por vetores binários, nos quaiscada elemento denota a presença (1) ou ausência (0) de uma determinada caracte-rística. Entretanto, se for necessário trabalhar com maior precisão em problemascom parâmetros contínuos, provavelmente serão utilizados longos cromossomos pararepresentar as soluções, necessitando de uma grande quantidade de memória. Alémdisso, não existe uniformidade nos operadores. Por exemplo, mutação nos primeirosbits do gene afeta mais a aptidão que mutação nos últimos bits do gene.

Page 49: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Algoritmos evolutivos 35

Outra codificação bastante difundida é a representação do cromossomo usandovalores reais. Essa representação apresenta a vantagem de ser naturalmente com-preendida pelo ser humano e requer menos memória que aquela usando uma cadeiade bits (Michalewicz, 1992). Outra vantagem da representação real é a possibilidadede criar novos operadores e variações dos operadores existentes.

Função de aptidão

A avaliação dos indivíduos é feita através de uma função que representa o problemae tem, por objetivo, fornecer uma medida de aptidão de cada indivíduo na popu-lação corrente. Nem sempre a função de aptidão corresponde à função objetivo doproblema (função a ser otimizada).

A função objetivo e a função de aptidão não são as mesmas, por exemplo, quandoo objetivo do problema é a minimização da uma função. Isso porque os AG são de-finidos para problemas de maximização, ou seja, buscam indivíduos com as maioresaptidões. Nesse caso, por exemplo, pode-se tomar a função de aptidão como o in-verso da função objetivo. Assim, quanto menor o valor da função objetivo, maior ovalor da função de aptidão. Essa conversão, no entanto, pode, em alguns casos, fazercom que a função de aptidão assuma valores muitos próximos (tornando a seleçãoaleatória). É o que ocorre no exemplo a seguir, no qual são dados os valores dafunção objetivos de dois indivíduos de um problema de minimização:

fobjetivo(s1) = 500

fobjetivo(s2) = 600

Invertendo-se o valor da função objetivo, obtém-se os seguintes valores para a funçãode aptidão:

faptidão(s1) = 0, 0020

faptidão(s2) = 0, 0017

Como pode ser visto, soluções com uma diferença importante na função objetivotornam-se soluções muito próximas se for feita apenas a inversão dos valores. Umaalternativa para se obter a função de aptidão sem tais distorções é a utilização deum método de escalamento linear. Neste método, a aptidão do indivíduo é obtidaatravés de uma equação linear. Este método, utilizado neste trabalho, é descrito noCapítulo 4.

Seleção dos indivíduos

A seleção corresponde à seleção natural que ocorre entre os seres vivos, que escolheos indivíduos mais aptos para sobreviver e gerar descendentes. No caso do AG, sãoselecionados os indivíduos com maior valor na função de aptidão para gerar filhosatravés dos operadores de recombinação e mutação.

Existem diversos métodos de seleção, mas em todos eles os melhores indivíduosterão uma probabilidade maior de sobrevivência e reprodução.

Na estrutura do AG, proposto por Holland, a população se mantém fixa durantetodas as gerações. Por isso, a cada geração devem ser selecionados quais indivíduosirão se reproduzir e quais vão desaparecer da população. Após a seleção, seguida

Page 50: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Algoritmos evolutivos 36

pela reprodução, todos os indivíduos estão sujeitos aos operadores de recombinaçãoe mutação.

O método apresentado por Holland (1975) para seleção é conhecido como métododa roleta. Neste método, cada indivíduo tem uma probabilidade (aptidão relativa)de ser escolhido de acordo com a sua aptidão fapt.

A Tabela 3.1 ilustra um exemplo da aplicação deste método de seleção. O pro-cesso se inicia com a soma de todas as funções de aptidão dos indivíduos da popula-ção corrente. Em seguida, calcula-se a porcentagem de cada indivíduo com relaçãoa essa soma. Após esse cálculo, é feita uma lista com as porcentagens acumuladas.

O próximo passo é o sorteio de um número aleatório r (retirado de uma distri-buição uniforme) no intervalo [0, soma], conforme mostra a Tabela 3.2. Por fim, oindivíduo selecionado é o primeiro que possuir uma aptidão acumulada maior quer. O processo é repetido até que toda a população seja preenchida. A Fig. 3.8apresenta o processo.

Tabela 3.1: Método da Roleta: análise de aptidão.

Indivíduo i 1 2 3 4 5 6 7 8 9 10Aptidão fapt(i) 8 2 17 7 2 12 11 7 3 7Apt. Relativa % 10,5 2,6 22,4 9,2 2,6 15,8 14,5 9,2 3,9 9,2Apt. Rel. Acumulada % 10,5 13,1 35,5 44,7 47,3 63,1 77,6 86,8 90,7 99,9

Tabela 3.2: Método da Roleta: seleção.

no aleatório r 23 49 76 30 1 38 57Indivíduo selecionado 3 7 10 4 1 6 7

4 9

2

7

1

310

6

5

8

Figura 3.8: Representação da Roleta - Seleção do primeiro indivíduo.

Como se pode observar, no método da roleta, apesar dos indivíduos mais aptospossuírem maior probabilidade de sobreviverem, todos indivíduos, inclusive os menosaptos, têm chances de sobrevivência.

Page 51: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.4 Algoritmos evolutivos 37

A cada dois indivíduos escolhidos desta maneira são gerados dois novos indiví-duos (idênticos aos selecionados). O processo de seleção termina quando é selecio-nado um número de indivíduos igual ao tamanho da população anterior. Quandoisso ocorre, a população antiga é substituída por essa nova população.

Reprodução

Os operadores genéticos de recombinação e mutação são utilizados para garantir quea próxima geração se renove, mas que mantenha, de certa forma, as característicasadquiridas pelas gerações anteriores. Estes operadores são os principais mecanismosde busca dos AG para explorar regiões desconhecidas do espaço de soluções.

Recombinação O operador de recombinação é aplicado a um par de indivíduosretirados da população selecionada pela roleta (população intermediária), gerandodois indivíduos filhos.

Um exemplo simples de recombinação, para um AG com representação binária,é a recombinação de um ponto. Nele, cada um dos cromossomos pais tem sua cadeiade bits cortada em uma posição aleatória, produzindo duas partes. Essas partes sãotrocadas, gerando dois novos cromossomos.

Quando se utiliza a representação real, é possível a utilização de diversos ope-radores de recombinação. Neste trabalho, as soluções para os dois problemas decorte originam indivíduos representados por número inteiros. Por isso, no algoritmodesenvolvido para a solução do PCDA, foi utilizado um operador conhecido comoOrder recombinação - OX, específico para o tipo de representação (descrito no Capí-tulo 4). No algoritmo evolutivo para o PCEB, utilizou-se o recombinação uniforme,descrito no Capítulo 5.

O operador de recombinação é aplicado com uma dada probabilidade a cada parde cromossomos selecionados, sendo que, na prática, essa probabilidade varia entre60% e 90% (como na natureza, nem todos os casais têm filhos). Caso não ocorraa recombinação, os filhos serão iguais aos pais, permitindo, assim, que algumassoluções sejam preservadas.

Mutação Após a recombinação, o operador de mutação é aplicado, com dadaprobabilidade, em cada elemento dos dois filhos. Quando se usa o código binário,a mutação consiste em simplesmente inverter os valores de bits, ou seja, mudar ovalor de um dado bit de 1 para 0 ou de 0 para 1.

A mutação tem o objetivo de introduzir e manter a diversidade dos indivíduosna população. Por outro lado, pode destruir informações contidas nos indivíduos.Por isto, a probabilidade de mutação deve ser pequena (geralmente entre 0,1% a5%), mas suficiente para assegurar a diversidade.

Para prevenir que os melhores indivíduos não desapareçam da população pelamanipulação dos operadores genéticos, eles podem ser automaticamente colocadosna próxima geração. Esta operação é conhecida como elitismo.

Page 52: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.5 Otimização Combinatória Multiobjetivo 38

Critério de Convergência

Como os algoritmos estocásticos não são capazes de indicar se foi encontrado o ótimoglobal, é necessário determinar critérios de convergência para que se limite o tempode execução do algoritmo.

O critério utilizado neste trabalho é encerrar o algoritmo após um número má-ximo de gerações. Assim, quando o AG alcança uma determinada geração, é fina-lizado, e a solução é o melhor indivíduo obtido até então. Para obter o númeromáximo de gerações, geralmente são realizadas análises de convergência para váriassimulações.

3.4.3 Algoritmos Genéticos Híbridos

Os AG, em sua forma original, são eficientes para solucionar diversos problemas deotimização. No entanto, para problemas de grande complexidade, seu desempenho,seguindo a formulação original, não tem se mostrado satisfatório.

Entretanto, devido à facilidade, apresentada pelos AG, de combinação com ou-tros métodos, em especial com métodos de busca local, diversos pesquisadores têmproposto modificações na estrutura básica do algoritmo, nas quais são incorporadas,aos AG, técnicas de busca local, ou, de outro modo, são incluídos conceitos de ou-tras metaheurísticas, como, por exemplo, Simulated Annealing, Tabu Search (buscatabu) ou Iterated Local Search. São obtidas, assim, versões conhecidas como Algorit-mos Genéticos Híbridos, Algoritmos Meméticos (Moscato, 1989) ou, simplesmente,Algoritmos Evolutivos (AE).

A aplicação de busca local nos indivíduos está relacionada com a combinação deaprendizado e evolução (Whitley, 1992). O aprendizado seria uma busca local pelasolução mais próxima, e a incorporação das modificações ocorridas pelo indivíduo.O que ocorre, portanto, é a conservação das características evolutivas dos AG associ-adas a utilização de heurísticas que provocam melhorias individuais nos indivíduos.O algoritmo evolutivo resultante, portanto, possui as características básicas dos AG,mas são mais especializados para determinadas aplicações.

Neste trabalho é desenvolvido um algoritmo evolutivo híbrido, que combina umAG em sua formulação clássica com as metaheurísticas ILS e Multi-Start, para aresolução do Problema de Corte com Dimensão Aberta. Os detalhes do método sãodescritos no Capítulo 4.

O Problema de Corte de Estoque Bidimensional também foi solucionado porum método evolutivo desenvolvido para resolução de problemas multiobjetivos. Adescrição do método é apresentada no Capítulo 5.

Em ambos os casos, optou-se pela utilização de métodos evolutivos devido à suaflexibilidade e simplicidade de implementação, além do sucesso que apresentaramquando aplicados à diversos problemas de difícil resolução.

3.5 Otimização Combinatória Multiobjetivo

Um problema de otimização multiobjetivo (POMO) consiste em minimizar (oumaximizar) simultaneamente um conjunto de critérios (objetivos) satisfazendo umconjunto de restrições. Em otimização multiobjetivo, não existe uma única solução

Page 53: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.5 Otimização Combinatória Multiobjetivo 39

que otimize cada um dos objetivos, mas sim um conjunto de soluções eficientes, ousoluções Pareto-ótimas, no qual nenhuma solução é melhor que outra solução paratodos os objetivos. Assim, o decisor é o responsável pela escolha de uma soluçãoeficiente particular que satisfaça os objetivos globais do problema.

Um problema geral de otimização multiobjetivo consiste em encontrar um vetorde soluções que satisfaça restrições e otimize uma função vetorial cujos elementosrepresentam as funções objetivos. Os objetivos considerados, geralmente, são con-flitantes entre si. Neste contexto, portanto, o termo “otimizar” significa encontrarsoluções nas quais os valores de todos objetivos não podem ser melhorados simulta-neamente.

Um enunciado geral para um POMO é o seguinte:

max / min {f1(x) = z1, . . . , fn(x) = zn} (3.1)

sujeito a x ∈ X (3.2)

em que a solução x é um vetor de variáveis de decisão e X é o conjunto de soluçõesfactíveis presentes no espaço de decisões.

A imagem da solução x no espaço objetivo factível, denotado por Z, é um pontozx = [zx

1 , zx2 , . . . , zx

n] = f(x), tal que zxj = fj(x), j = 1, . . . , n.

Na otimização mono-objetivo, o espaço dos objetivos é inteiramente ordenado,ou seja, dados dois elementos x e y ∈ X, existem apenas duas possibilidades: ouf(x) ≥ f(y) ou f(x) ≤ f(y).

Na otimização multiobjetivo, no entanto, não existe uma solução que seja ótimapara todos os objetivos. Pode ocorrer, por exemplo, que a minimização de umdeterminado objetivo provoque um aumento nos outros objetivos.

Apesar do espaço objetivo não ser, em geral, completamente ordenado, é possívelordená-lo parcialmente (Pareto, 1896). Essa ordenação parcial permite diferenciaras soluções de um problema de otimização multiobjetivo. Em um conjunto parcial-mente ordenado, dadas duas soluções x e y ∈ X, existem três possibilidades:

• f(x) ≤ f(y)

• f(y) ≤ f(x)

• (f(x) � f(y) e f(y) � f(x)

em que (�) é o operador de não-dominância. Assim, pode-se dizer que uma soluçãox, domina uma solução y, se:

(a) A solução x não é pior que a solução y em nenhum dos objetivos, ou seja, fj(x)≤ fj(y), para j = 1, . . . , n, onde n é número de objetivos.

(b) A solução x é estritamente melhor que a solução y em pelo menos um objetivo,ou seja, fj(x) < fj(y) para algum j ∈ {1, . . . , n}.

Assim, uma solução eficiente, ou Pareto-ótima, é uma solução não-dominada pornenhuma outra solução factível. O conjunto de todas as soluções não-dominadas,dentre as soluções factíveis, é chamado de Conjunto Pareto-ótimo. Os pontos noespaço das funções-objetivo que correspondem ao conjunto Pareto-ótimo formam aFronteira de Pareto.

Page 54: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.5 Otimização Combinatória Multiobjetivo 40

Caso não exista diferença na relevância relativa entre os objetivos a serem aten-didos, todos os pontos na Fronteira de Pareto são qualitativamente equivalentes, soba perspectiva de otimização.

As Fronteiras de Pareto podem apresentar diversas conformações, incluindo des-continuidade. Além disso, durante o processo de busca, o fato de uma soluçãoser não-dominada frente às propostas de solução já investigadas não implica quea mesma pertença à Fronteira de Pareto. Assim sendo, o processo de busca terásempre dois objetivos principais:

(i) Convergir para a fronteira de Pareto;

(ii) Manter uma distribuição tão uniforme quanto possível das soluções não-domi-nadas.

O segundo objetivo é o principal motivo pelo qual as heurísticas populacionaissão reconhecidas como as mais adequadas para a busca de solução de problemas deotimização multiobjetivo de elevada dimensão.

A resolução de problemas multiobjetivo é dividida, basicamente, em duas etapas:

• Etapa de determinação das soluções eficientes;

• Etapa de decisão.

A primeira etapa consiste na busca de soluções Pareto-ótimas dentro do espaçofactível. A segunda etapa, consiste em selecionar a solução que representa um com-promisso final dentre aquelas soluções de Pareto. Nessa fase, o decisor faz umaescolha externa ao processo de otimização. Dependendo de como e quando o pro-cesso de otimização e a etapa de decisão são combinados, os métodos de resoluçãopodem ser classificados em três categorias:

(a) Decisão antes do processo de busca (a priori): o decisor opta pelo compromissoque ele quer obter antes de iniciar o método de resolução. Basicamente, o quese faz é transformar um problema multiobjetivo em uma aproximação mono-objetivo. Após está transformação, pode-se aplicar qualquer técnica mono-objetivo para a resolução do problema. Entretanto, a adequação dos pesosatribuídos a cada objetivo não é trivial, principalmente quando os objetivossão extremamente conflitantes.

(b) Decisão durante o processo de busca (progressivo): é o procedimento de decidirdurante o processo de obtenção das soluções não-dominadas. A escolha dodecisor é utilizada na busca de novas soluções eficientes. Esta abordagemexige certa experiência do decisor, já que as escolhas deverão ser tomadas demodo a orientar o processo de otimização no sentido de formar a fronteiraPareto-ótima.

(c) Decisão após o processo de busca (a posteriori): é considerada a opção mais ló-gica, pois as escolhas serão feitas de acordo com os resultados encontrados. Ouseja, com o conjunto Pareto-ótimo definido, torna-se possível conhecer o com-portamento do problema em relação aos objetivos em questão. Conhecendo-seas relações de dependência entre eles, a escolha torna-se mais fácil.

Page 55: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Otimização Multiobjetivo Evolutiva 41

A qualificação das metodologias de busca de soluções eficientes depende do co-nhecimento de dificuldades de solução usualmente encontradas nos problemas mul-tiobjetivo. Assim como na otimização mono-objetivo, as dificuldades de resoluçãode problemas multiobjetivo se devem à presença de restrições e do comportamentodas funções objetivo.

As principais dificuldades encontradas na otimização de problemas multiobjetivosão:

• não-convexidade;

• descontinuidades; e

• multimodalidade ou existência de múltiplos ótimos locais ou globais.

Além destas dificuldades, pode-se citar a não uniformidade das soluções no espaçodos objetivos. Certos métodos de resolução podem apresentar características queconcentram as soluções em determinadas áreas. Se estas regiões não forem próximasàs soluções Pareto ou se elas contemplarem apenas uma parte da fronteira ótima, acaracterização de todo o conjunto Pareto-ótimo pode ser comprometida.

O objetivo deste trabalho é desenvolver um método de otimização multiobjetivoà posteriori, baseado em algoritmos evolutivos aplicados ao Problema de Corte eEmpacotamento Bidimensional. Os métodos evolutivos para otimização multiobje-tivo são detalhados na seção a seguir.

3.6 Otimização Multiobjetivo Evolutiva

Os métodos evolutivos, ou métodos de busca por populações, trabalham comum conjunto de soluções corrente simultaneamente. Além disso, a população sub-seqüente é baseada nas informações obtidas em mais de um ponto no espaço desoluções. Essas informações dizem respeito aos valores das funções objetivo, asquais permitem determinar quais soluções são melhores. Os métodos de busca porpopulações são, portanto, os que mais se aproximam do conceito de algoritmos deotimização para problemas genéricos (multimodais, com restrições, convexos e nãoconvexos, etc.).

Os métodos de busca por populações, no entanto, têm suas limitações. Dentreelas, está a dependência do método com relação à distribuição da população inicial.Dificilmente o método convergirá se o ótimo global estiver afastado da região ondese concentra a população inicial. Assim, fica claro que a eficiência desses métodosdepende de uma população inicial que explore bem todo o espaço de busca. Outradesvantagem é a velocidade de convergência. Comparando com outros métodos, elespodem ser mais lentos, por necessitar de maior número de avaliações do problema.O esforço computacional desses métodos pode ser maior para atingir os mesmosresultados (quando os outros métodos obtém um resultado).

Os aspectos apresentados, nesta seção, somados às características do problemamultiobjetivo aqui tratado, mostram que o grupo mais adequado para sua resoluçãoé o de busca por população.

Page 56: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 42

3.6.1 Algoritmos Multiobjetivos baseados em Algoritmos Gé-

neticos

O surgimento dos Algoritmos Genéticos Multiobjetivos é recente. O primeirotrabalho foi proposto por Schaffer (1984). Após este trabalho nenhum estudo rele-vante foi apresentado por quase uma década, com exceção de um esboço apresentadono livro de Goldberg (1989), de um novo procedimento de ordenamento de soluçõesnão-dominadas. Este livro tornou-se um marco dos algoritmos evolutivos e alavan-cou o tratamento de problemas de otimização multiobjetivo. Baseados nas idéiasconceituais apresentadas por Goldberg, diversos pesquisadores passaram a desenvol-ver diferentes versões de algoritmos de otimização multiobjetivos.

Desde Goldberg, o número de publicações nesta área tem crescido muito (estãodisponíveis atualmente em Coello (1999) mais de 2500 referências). Coello (1999)apresenta uma revisão, que classifica e avalia inúmeras técnicas de otimização mul-tiobjetivos. Esse trabalho ainda mostra que a maioria dos métodos utilizados ébaseado nos AG mono-objetivo.

A principal diferença entre os AG mono-objetivo e multiobjetivo está, basica-mente, na maneira como a seleção beneficia as soluções não-dominadas e as soluçõesmais dispersas (situadas em regiões menos povoadas). De acordo com autores jácitados, os principais métodos propostos e suas estratégias para a seleção são:

• Vector Evaluated Genetic Algorithm − VEGA (Schaffer, 1984): o operadorgenético de seleção é modificado de forma a criar populações separadas paracada objetivo. Com isso, são geradas especializações, ou seja, cada populaçãotende ao ponto ótimo para aquele objetivo e não para a fronteira Pareto-ótimaassociada ao problema;

• Multiobjective Genetic Algorithm −MOGA (Fonseca e Fleming, 1993): a idéiado MOGA é estabelecer uma ordem entre os indivíduos: os não-dominadostêm classificação igual, já os dominados são penalizados de acordo com suadominância. A dificuldade está em encontrar uma forma de intercalar estesdois grupos, de modo a permitir uma boa disposição da fronteira Pareto-ótima;

• Nondominated Sorting Genetic Algorithm − NSGA I (Srinivas e Deb, 1993),NSGA II (Deb et al., 2002): neste método, somente as soluções não-dominadassão selecionadas. Por todas serem eficientes, terão a mesma probabilidade parase reproduzir. Nesta metodologia, a desvantagem é a dificuldade em conseguirmanter a diversidade da população. A falta de diversidade pode gerar umafronteira incompleta, ou seja, a concentração de soluções em algumas regiões;

• Niched Pareto Genetic Algorithm − NPGA (Horn e Nafpliotis, 1993): umadas técnicas de seleção para AG mono-objetivo é o torneio entre os indivíduos(Goldberg, 1989). Os autores implementaram um torneio no qual a regrade competição é a idéia de dominância por Pareto. Neste método, existe adificuldade de determinar quais e quantos indivíduos participarão do torneio;

• Método das Populações Intermediárias (Viennet e Marc, 1996): o métodosegue três passos básicos: a determinação dos pontos mínimos de cada objetivo;a procura de uma população intermediária (baseada na escolha de n indivíduos

Page 57: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 43

para cada objetivo) e, a partir desta população, a definição da fronteira Pareto-ótima. A principal restrição desta metodologia é que em cada objetivo devehaver um único ótimo no espaço de estudo (função unimodal);

• Strength Pareto Evolutionary Algorithm − SPEA I (Zitzler e Thiele, 1998),SPEA II (Zitzler, 1999) e (Zitzler et al., 2001): um escalar indicando umamedida de força para cada indivíduo é criado para o processo de seleção. Osindivíduos não-dominados devem possuir maior força.

Diversos trabalhos apresentam comparações feitas entre os vários algoritmos de-senvolvidos: Zitzler (1999), Dias (1999) e Régnier (2003). De acordo com estestrabalhos, os algoritmos SPEA−II e NSGA−II parecem ser os métodos mais sóli-dos.

Entretanto, para escolher ou desenvolver um algoritmo evolutivo, é necessárioconhecer seus mecanismos básicos e sua interação com a busca multiobjetivo. Emgeral, um algoritmo evolutivo é caracterizado por um conjunto de soluções candi-datas que, após serem submetidas a um processo de seleção, são manipuladas poroperadores genéticos, com o intuito de melhorar o conjunto.

Em razão de seu paralelismo, os métodos baseados em AG’s têm o potencial deencontrar múltiplas soluções em uma única iteração. No entanto, nem sempre épossível encontrar soluções ótimas, sendo menos provável ainda encontrar o Pareto-ótimo completo. Em conseqüencia disso, as metas para a otimização multiobjetivopassam a ser:

(i) Minimizar a distância entre a fronteira não-dominada obtida e a fronteiraPareto-ótima;

(ii) Manter uma boa distribuição das soluções encontradas.

Além dos aspectos apresentados acima, existem duas questões importantes naresolução de um problema de otimização multiobjetivo através de métodos baseadosem AG:

(i) Como atribuir a função de aptidão às soluções, sendo esta a principal diferençaentre um AG multiobjetivo e um AG mono-objetivo. Devido à indiferença en-tre as soluções dominantes de um problema multiobjetivo, é necessário definiralgumas estratégias para calcular a função de aptidão e para selecionar assoluções com maior probabilidade de reprodução.

(ii) Como manter a diversidade da população, evitando uma convergência prema-tura, e garantindo a obtenção de uma fronteira bem distribuída.

Neste trabalho, foi utilizado um algoritmo evolutivo multiobjetivo baseado noNSGA-II, descrito a seguir.

Page 58: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 44

3.6.1.1 Nondominated Sorting Genetic Algorithm - NSGA-II

O algoritmo NSGA, proposto por Srinivas e Deb (1995) é uma das diversasimplementações baseadas nas sugestões de Goldberg (1989). Nesse algoritmo, éutilizado um procedimento de seleção por ordenamento, que prioriza as soluções não-dominadas correntes, além de um método voltado para a manutenção da diversidadeda população.

A única diferença desta implementação em relação a um algoritmo genético sim-ples está na maneira como o operador de seleção é empregado. Tanto o operador derecombinação quanto o operador de mutação são os usuais da técnica.

O NSGA foi um dos primeiros algoritmos evolutivos multiobjetivo desenvolvido.No entanto, ao longo dos anos, esse algoritmo recebeu críticas no que se referia a:

(i) Alta complexidade computacional, o que torna o método computacionalmentecaro para populações grandes;

(ii) Ausência de uma estratégia de elitismo: Rudolph (1999) e Zitzler et al. (2000).mostraram que o elitismo é capaz de melhorar significativamente o desempenhode um algoritmo genético, além de prevenir a perda de boas soluções;

(iii) Dificuldade em especificar o parâmetro de compartilhamento σshare, utilizadona função de compartilhamento, que mantém a diversidade da população. Esteparâmetro está relacionado com a distância métrica escolhida para calcular amedida da proximidade de dois membros da população.

Em vista dessas limitações, os autores do NSGA propuseram, em (Deb et al.,2002), uma versão melhorada, chamada de NSGA-II . Nos resultados encontradospara diversos problemas difíceis, em termos de encontrar um conjunto diversificadode soluções e convergir para soluções próximas do verdadeiro Pareto-ótimo, o NSGA-II superou os resultados de dois algoritmos multiobjetivos contemporâneos: o PAES(Knowles e Corne, 1999) e o SPEA (Zitzler, 1999).

Nas próximas seções, são descritos o algoritmo de ordenação de soluções não-dominadas, que cria as fronteiras de soluções no algoritmo, e o algoritmo crowdingdistance, responsável por manter a diversidade no NSGA-II.

Fast Non-Dominated Sort

O procedimento Fast Non Dominated Sort atribui um valor de aptidão às soluçõesda população de acordo com o seu nível de não-dominância. Inicialmente, o FastNon Dominated Sort encontra, para cada solução p:

(i) O contador de dominância np, que mostra o número de soluções que dominama solução p.

(ii) O conjunto Sp, formado pelas soluções dominadas por p.

Todas as soluções da primeira fronteira não-dominada (soluções da população quedominam todas as outras) têm o contador de dominância np igual a zero. Para cadasolução p com np = 0, são visitadas as q soluções pertencente ao conjunto Sp, eo contador de dominância nq é decrementado em uma unidade. As soluções q que

Page 59: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 45

tiverem seu contador de dominância nq reduzido a zero são, então, separadas emuma lista Q. Estas soluções formam a segunda fronteira. O procedimento acima érepetido para cada membro de Q, sendo identificada assim a terceira fronteira. Oprocesso continua até que todas as fronteiras sejam identificadas.

Ao fim do procedimento Fast Non Dominated Sort, as soluções estão agrupadasem diferentes fronteiras, conforme a Fig. 3.9, e possuem um atributo, chamadode nondomination rank, que corresponde ao número da fronteira a qual pertencem.O pseudocódigo do procedimento Fast Non Dominated Sort é apresentado na Fig.3.10.

f2

F3

F2

f1

F1

Figura 3.9: Fronteiras geradas pelo método Fast-non-dominated-sort.

Crowding Distance

As soluções que pertencem a uma mesma fronteira, identificada com o procedimentoFast Non Dominated Sort, possuem, obviamente, o mesmo nível de dominância, ouseja, são indiferentes. Portanto, para classificá-las, torna-se necessário um outroparâmetro. No NSGA-II, é utilizada a proximidade das soluções indiferentes. Nessecaso, as soluções que estão mais distantes de suas soluções vizinhas são favorecidas.Para isso, é calculada, para cada solução, uma estimativa do número de soluçõesque a rodeiam no espaço objetivo.

Inicialmente as soluções são ordenadas em forma crescente do primeiro objetivo,ou seja, z1, . . . , zn, em que n é o número de soluções na fronteira considerada. Paracada ponto zi, calcula-se a distância:

dj(fi) = fj(z

i+1)− fj(zi−1) (3.3)

Este procedimento é repetido para j = 1, . . . , m, considerando-se que existam mobjetivos a serem satisfeitos.

A estimativa das soluções em volta de uma determinada solução é, então, dadapor:

cd(zi) =m∑

j=1

dj (3.4)

Page 60: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 46

Procedimento Fast Non Dominated Sort

1 Para Cada p ∈ P

2 Sp = ∅

3 np = 0

4 Para Cada q ∈ P

5 Se (p ≺ q) faça (Se p domina q)

6 Sp = Sp ∪ {q} (Adicione q ao conjunto de soluções dominadas por p)

7 Senão se (q ≺ p) faça

8 np = np + 1

9 Se (np = 0) faça (p pertence à primeira fronteira)

10 prank = 1

11 F1= F1 ∪ {p}

12 i = 1 (Inicializa o contador de fronteiras)

13 Enquanto Fi 6= ∅

14 Q = ∅ ( Armazena os membros da próxima fronteira)

15 Para Cada p ∈ Fi

16 Para Cada q ∈ Sp

17 nq = nq − 1

18 Se (nq = 0) faça ( q pertence à próxima fronteira)

19 qrank = i + 1

20 Q= Q ∪ {q}

21 i = i + 1

22 Fi = Q

fim Fast Non Dominated Sort;

Figura 3.10: pseudocódigo do procedimento Fast Non Dominated Sort.

Esta medida é conhecida como Crowding distance, também citada na literaturacom o nome de distância de agrupamento, e indica o valor do perímetro docubóide criado a partir de uma solução e tendo, como vértices, suas soluções vi-zinhas. Às soluções extremas z1 e zn são atribuídos valores de Crowding distancearbitrariamente grandes (e, portanto, sempre são priorizadas no método elitista).

Após atribuir um valor de Crowding distance a cada uma das soluções de umadeterminada fronteira, torna-se possível comparar duas soluções através de suasmedidas de proximidade com as demais soluções. A Fig. 3.11 ilustra a crowdingdistance para dois objetivos.

A solução com menor valor dessa medida de distância tem, portanto, mais so-luções em sua volta, quando comparada às outras soluções. Essa é a medida usadapelo operador de comparação Crowded-Comparison Operator, descrito a seguir.

O algoritmo para cálculo da crowding distance das n soluções de uma fronteiraSfront é mostrado na Fig. 3.12.

Page 61: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 47

f2

f1

i i+1

i-1

Cubóide

Figura 3.11: Crowding distance.

Algoritmo Crowding distance

1 para cada ponto zi ∈ f(Sfront) faça

2 dist(zi) = 0

3 para cada objetivo j faça

4 Ordene os pontos em Sfront de acordo com o objetivo j

obtendo z1, ..., zn;

5 dist(z1)= α

6 dist(zn) = α (α é um valor suficientemente grande)

7 para i = 2 até (n− 1) faça

8 dist(zi) = dist(zi) + (fj(zi + 1)− fj(z

i − 1))(fj(z

i) é o valor da j-ésima função objetivo em zi)

9 fim-para

10 fim-para

11 fim-para

Figura 3.12: Pseudocódigo do procedimento crowding distance.

Crowded-Comparison Operator

O crowded-comparison operator (≺n) guia o processo de seleção nos diferentes está-gios do algoritmo, em direção a uma fronteira Pareto-ótima uniformemente distri-buída.

Assim, assumindo que todo indivíduo i da população tem dois atributos:

(i) nondomination rank (irank);

(ii) crowding distance (idist);

pode-se definir a seguinte ordem parcial (≺n):

i ≺n j se {(irank < jrank) ou ((irank = jrank)e(idist > jdist))}

Page 62: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 48

Isso quer dizer que, entre duas soluções com ranks diferentes, tem a preferênciaaquela com menor rank. Por outro lado, se duas soluções estão na mesma fronteira(mesmo rank), prefere-se aquela que está em uma região menos povoada.

A apresentação dos procedimentos acima permite a descrição do algoritmo NSGA-II, feita a seguir.

Algoritmo NSGA-II

O algoritmo inicia-se com a geração aleatória de uma população inicial, P0, detamanho N . Esta população é ordenada de acordo o critério de não-dominância.

Em função do seu nível de não-dominância, cada solução recebe um rank, cor-respondente ao índice da fronteira à qual a solução pertence (1 é melhor nível, 2 éo segundo melhor nível, e assim por diante).

Após a classificação das soluções, é gerada uma nova população Q0, de tamanhoN , através dos mecanismos de seleção, recombinação e mutação. Como o elitismoé introduzido pela comparação da população corrente com a população anterior, oprocedimento é diferente após a geração inicial. A seguir, o algoritmo é descritopara a t−ésima geração. O pseudocódigo do algoritmo, para a t−ésima geração, éapresentado na Fig.

Procedimento NSGA-II

1 Rt = Pt

Qt

2 F = fast-nondominated-sort(Rt)

3 Pt+1 = 0

4 i = 1

5 Enquanto |Pt+1|+|F i|≤ N

6 crowding-distance(F i)

7 Pt+1 = Pt+1

F i

8 i = i + 1

9 Ordene(F i,≺n)

10 Pt+1 = Pt+1

F i[1 : (N − |Pt+1|)]

11 Qt+1 = crie− nova− populao(Pt+1)

12 t = t + 1

Figura 3.13: Pseudocódigo do procedimento NSGA-II.

Inicialmente, com a combinação das populações Pt e Qt, é formada a populaçãoRt, de tamanho 2N . A população Rt é então ordenada por não-dominância. Comotodas as populações (anteriores e corrente) estão incluídas em Rt, é garantido oelitismo do algoritmo.

As soluções pertencentes a F1 são as melhores soluções na população combinada.Se o tamanho de F1 é menor que N , todas as soluções de F1 são escolhidas paraa nova população, P t+1. Para completar P t+1, são escolhidos os indivíduos dasfronteiras subseqüentes. Deste modo, as próximas soluções a serem escolhidas são

Page 63: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

3.6 Algoritmos Multiobjetivos baseados em AG’s 49

aquelas pertencentes à F2, seguidas pelas soluções de F3, e assim por diante. Esteprocedimento continua, até que não seja mais possível acomodar inteiramente umafronteira. A última fronteira além da qual não podem mais ser adicionadas novasfronteiras será chamada de FL.

Geralmente, a soma das soluções de todas as fronteiras entre F1 e FL são mai-ores que o tamanho da população. Para que sejam escolhidos, então, não mais queN indivíduos, as soluções da fronteira FL são ordenadas de acordo com o crowded-comparison operator≺n, em ordem decrescente. Em seguida, para finalizar o preen-chimento da nova população, são escolhidas as soluções com maior valor de crowdingdistance, seguindo a lista ordenada obtida acima. Um esquema do comportamentodo NSGA-II é mostrado na Fig. 3.14.

Pt

Qt

Rt

F1

F2

F3

Pt+1

Rejeitadas

CrowdingDistance

Non-dominatedSorting

Figura 3.14: Comportamento do NSGA−II.

A nova população P t+1, de tamanho N , passa agora pelos processos de seleção,crossover e mutação, dando origem a uma nova população Qt+1, de tamanho N .

Neste trabalho, o método NSGA-II foi adaptado para sua aplicação ao Problemade Corte de Estoque Multiobjetivo. As principais adaptações estão nos operadoresde seleção, recombinação e mutação. Além disso, foi necessária a utilização de outrasheurísticas e metaheurísticas para a obtenção de soluções que pudessem constituir apopulação inicial do NSGA-II. O Capítulo 5 apresenta os detalhes da implementaçãoAlgoritmo Evolutivo Multiobjetivo (AEMO) aplicado ao PCEB.

Page 64: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Capítulo 4

Algoritmos Evolutivos aplicados ao

PCDA

Nesta dissertação, para solucionar o Problema de Corte com Dimensão Aberta(PCDA), caracterizado na seção 2.3, propõe-se um Algoritmo Evolutivo Híbrido(AEH). Tal escolha se deve às diversas vantagens apresentadas pelos algoritmos evo-lutivos na resolução de problemas intratáveis por métodos convencionais. Optou-se,ainda, por um algoritmo evolutivo híbrido, já que diversas combinações de algorit-mos, especialmente combinações entre AG e outras heurísticas ou metaheurísticas,têm apresentado resultados promissores e muito superiores àqueles obtidos pelo AGconvencional. O AEH desenvolvido neste trabalho apresenta as seguintes particula-ridades em relação a um AG convencional:

(a) No AG, a população inicial é gerada de maneira aleatória. No AEH, os indiví-duos são gerados por duas metaheurísticas: Multi-Start (MS) e Iterated LocalSearch (ILS). Assim, são originadas, para fins de comparação, duas versões doAEH, designadas por AEH-MS e AEH-ILS.

(b) Em vez do operador de recombinação tradicional (uniforme ou n pontos),utilizou-se o operador Order Crossover (OX).

(c) Um operador de busca local é aplicado nos melhores indivíduos da populaçãoa cada geração, realizando, assim, uma busca intensiva na vizinhança dasmelhores soluções encontradas pelo AEH, com o objetivo de atingir um númeromaior de soluções com nível de aptidão mais alto.

A seguir, o algoritmo evolutivo proposto é descrito, bem como resultados computa-cionais de sua aplicação são apresentados.

4.1 Representação de uma solução

Neste problema, um indivíduo representa a seqüência em que os itens serãoinseridos no objeto, ou seja, é um vetor de n valores inteiros, sendo n o númerode itens da solução. Assim, cada gene representa um item, e sua posição no vetorindica a seqüência utilizada pelos algoritmos de encaixe de itens, descritos a seguir.

50

Page 65: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.1 Representação de uma solução 51

Foram utilizados dois algoritmos aproximados tradicionalmente usados para aresolução de problemas de corte bidimensional: First-Fit e Best-Fit. Estes algorit-mos são capazes de gerar apenas padrões guilhotinados (um padrão de corte é aforma como os itens são dispostos em um objeto).

Dada uma solução qualquer, os dois algoritmos se iniciam com o encaixe dositens na ordem em que aparecem, até que a largura do objeto se torne insuficientepara encaixar o próximo item. Neste momento, está formada a primeira faixa, cujaaltura corresponde ao item de maior altura presente nela.

A partir da segunda faixa, os algoritmos encaixam os itens das seguintes formas:

- No algoritmo First-Fit, antes de um item ser inserido, são pesquisadas aslarguras disponíveis de cada faixa já formada, para avaliar a possibilidade deencaixá-lo. Caso não seja possível sua inserção em nenhuma faixa já formada,é criada uma nova faixa. Assim, os itens são alocados na primeira faixa emque couberem, sem ultrapassar o comprimento L do objeto. Portanto, umanova faixa somente é formada quando não é possível encaixar o item em umafaixa já existente.

- No algoritmo Best-Fit, antes de um item ser inserido, são verificadas, alémda largura, a área restante de cada faixa já formada (essa área é dada peladiferença entre a área da faixa e a soma das áreas dos itens). O item seráencaixado na faixa onde o espaço for mais bem utilizado, ou seja, onde aárea restante após sua inserção seja menor. Se não for possível encaixá-lo, éformada uma nova faixa.

O encaixe de itens utilizando os algoritmos First-Fit e Best-Fit descritos acimaé mostrado na Fig. 4.1.

25

6

83

7

1 R104

25 6 8

371 R104

25

6

8

3

71

R104

First-fit Best-fit

Figura 4.1: Ação dos algoritmos aproximados First-Fit e Best-Fit.

Os pseudocódigos dos algoritmos são apresentados na Fig. 4.2, para o caso doalgoritmo First Fit, e na Fig. 4.3, para caso do algoritmo Best Fit.

Os dois algoritmos são utilizados, portanto, como parte do método evolutivoproposto. Na seção de resultados, além de listados os resultados obtidos pelo AEH

Page 66: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.2 Representação de uma solução 52

procedimento First-fit()

1 L← comprimento do objeto;

2 hi ← altura do item i, i = 1, . . . , n;

3 li ← comprimento do item i, i = 1, . . . , n;

4 ldfj ← L {comprimento disponível na faixa j, j = 1, . . . , n};

5 j ← 1;

6 para i = 1 até i = n faça

7 enquanto (li > ldfj) faça

8 j ← j + 1

9 fim-enquanto

10 ldfj ← ldfj − li {insere o item i na faixa j}

11 fim-para;

fim First-fit();

Figura 4.2: pseudocódigo do algoritmo First-Fit.

procedimento Best-fit()

1 L← comprimento do objeto;2 hi ← altura do item i, i = 1, . . . , n;3 li ← comprimento do item i, i = 1, . . . , n;4 hfj ← 0 {altura da faixa j, j = 1, . . . , n};5 ldfj ← L {comprimento disponível na faixa j, j = 1, . . . , n};6 j ← 1;

7 para i = 1 até i = n faça8 melhorRel ←∞

9 Ai ← hi ∗ li; {área do item i}10 para j = 1 até j = n faça11 Adfj ← hfj ∗ ldfj ; {área disponível na faixa j}12 Rel ← Adfj/Ai; {relação das áreas}

13 se (li ≤ ldfj) e (hi ≤ hfj) e (Rel < melhorRel) então14 melhorRel ← Rel15 k ← j {armazena a faixa que contém a melhor relação}16 fim-se17 fim-para18 ldfk ← ldfk − li {insere o item i na faixa k}19 fim-para;fim Best-fit();

Figura 4.3: pseudocódigo do algoritmo Best-Fit.

com a utilização de cada um dos algoritmos de encaixe, os desempenhos de ambossão comparados.

Page 67: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.2 Operadores genéticos 53

4.2 Operadores genéticos

4.2.1 Operadores de Recombinação

O cruzamento é o principal mecanismo do AG para explorar o espaço de busca,através da criação de novos pontos, obtidos pela troca de informação genética entreos indivíduos.

Neste trabalho, deve-se evitar que uma operação provoque a repetição de umavariável em um mesmo individuo. Por isso, para realizar o cruzamento (crossover),foi utilizado o operadorOrder Crossover (OX), aplicado com uma dada probabili-dade. Este operador gera filhos a partir da escolha de uma seqüência parcial dosgenes de um dos pais, preservando a ordem relativa dos genes do outro pai, conformedescrito a seguir.

São escolhidos aleatoriamente dois indivíduos p1 e p2 (pais). Os pais são divididosem três partes, por dois pontos de corte escolhidos aleatoriamente. Os filhos f1 ef2 herdam a parte do meio de seus respectivos pais, p1 e p2. Em seguida, partindodo segundo corte de um pai (por exemplo, p2), copiam-se, em f1, os elementos dep2, na ordem em que aparecem, sendo removidos os elementos contidos entre os doiscortes do outro pai (no caso, p1), conforme a Fig. 4.4.

p1 = (1 6 8 | 3 2 5 | 4 7) p2 = (6 2 7 | 1 4 3 | 5 8)

f1 = (7 1 4 | 3 2 5 | 8 6) f2 = (8 2 5 | 1 4 3 | 7 6)

Figura 4.4: Operador de Recombinação.

4.2.2 Operadores de Mutação

A mutação é um operador genético que tem a função de introduzir caracterís-ticas na população, ou mesmo recuperar aquelas que se perderam em operações,como, por exemplo, o operador de recombinação. Além disso, a mutação é usadapara prevenir a convergência prematura para ótimos locais, através da amostragemde novos pontos no espaço de busca. Este operador é aplicado, numa dada pro-babilidade, a cada descendente individualmente, após a aplicação do operador derecombinação. Neste trabalho, foram aplicados dois operadores de mutação, esco-lhidos aleatoriamente, em indivíduos também selecionados de forma aleatória. Sãoeles:

- Operador troca: consiste em trocar a ordem de encaixe de dois itens, escolhidosaleatoriamente, conforme ilustrado na Fig. 4.5. Nesse operador, dado umconjunto de n itens, existem n(n− 1)/2 indivíduos mutantes possíveis.

- Operador realocação: consiste em realocar um item da posição i para a posiçãoj, sendo i e j escolhidos aleatoriamente. Nesse operador, dado um conjunto den itens, existem (n − 1)2 indivíduos mutantes possíveis. Por exemplo, sendo

Page 68: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.3 Operadores de Mutação 54

s = (1 6 8 3 2 5 4 7)

s’ = (1 6 5 3 2 8 4 7)

Figura 4.5: Operador de mutação: troca.

i = 2 e j = 6 (realocar o item da segunda posição para a sexta posição),obtém-se, a partir do individuo s, o indivíduo mutante s′ mostrado na Fig.4.6. Nessa estrutura, são permitidos movimentos para posições sucessoras(como no exemplo acima) ou antecessoras à posição em que o item se encontrana seqüência do vetor.

s = (1 6 8 3 2 5 4 7)

s’ = (1 8 3 2 5 6 4 7)

Figura 4.6: Operador de mutação: realocação.

- Operador realoca grupo: consiste em realocar um grupo composto por x itensque ocupam posições seqüenciais dentro do vetor de solução, ou seja, de j atéj + x. O tamanho (x) deste grupo de itens, obtido experimentalmente, variaentre 2 e 6 itens. A nova posição k do primeiro item do grupo é escolhidade forma aleatória. O grupo de itens de tamanho x será então realocado nasposições k até k + x , desde que k 6= j e k ≤ n − x, em que n representa onúmero de itens da solução.

- Operador troca altura: consiste em realocar um item, escolhido aleatoria-mente, que ocupa a posição j do vetor de solução, para uma nova posição k,escolhida da seguinte maneira: inicialmente, calcula-se o módulo da diferença(dif) entre as alturas h do item da posição j e do item da posição j + 1,ou seja dif =| hj − hj+1 | . Em seguida, é pesquisada uma posição k talque | hj − hk |< dif . Para evitar uma busca exaustiva pela posição k, sãoexecutados 0, 1∗n pesquisas, sendo n o número de itens da solução. Se nãofor encontrada uma posição que obedeça à condição acima, o item não serárealocado.

4.3 Função de custo e função de aptidão dos indiví-duos

Função de custo dos indivíduos

A função de custo é a altura utilizada do objeto em determinada solução, obtida apósa execução de um procedimento de encaixe dos itens, ou seja, a solução é avaliada

Page 69: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.5 Seleção dos indivíduos para a próxima geração 55

pela própria função objetivo, dada pela expressão (2.1) do modelo de ProgramaçãoLinear Inteira apresentado no seção 2.3.

Função de aptidão de um indivíduo

A função de aptidão avalia a possibilidade de sobrevivência de cada indivíduo geradopelo AG. A partir desta avaliação, é possível descobrir o grau de adaptação dosindivíduos e eliminar aqueles menos adaptados. Devido à utilização do mecanismoda roleta para selecionar os indivíduos da próxima geração, não foi possível usar afunção de custo como função de aptidão, pois este trabalho trata de um problemade minimização. Além disso, o método da roleta depende muito da escala da funçãode aptidão. Por exemplo, considerando-se uma população com 10 indivíduos comos seguintes valores de função de aptidão: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, a probabilidadede seleção do melhor indivíduo (com aptidão igual a 10) é de 16, 6% e a do pior1, 5%. Se, aos valores de função de aptidão de todos os indivíduos, forem somadas100 unidades, as probabilidades de escolha do melhor e pior indivíduo passam a serde 10, 4% e 9, 5%, respectivamente. Como pode ser observado, as probabilidadestornaram-se muito próximas. Esta é uma característica indesejável, que provocou osurgimento de vários métodos de escalonamento. O método utilizado neste trabalhofoi o escalonamento linear.

No procedimento de escalonamento, para converter o valor da função objetivo emfunção de aptidão, é utilizada uma função linear. Neste trabalho, a função utilizadaé dada por uma equação que corresponde à equação da reta, que passa pelos pontos(fmin, a) e (fmax, β). Considerando β = 0, tem-se:,

faptidao(s) =a (fmax − fo(s))

(fmax − fmin)

para:

• fo(s) = valor da função objetivo da solução s;

• faptidao(s) = valor da função de aptidão da solução s;

• fmax = valor máximo de função objetivo encontrado na população;

• fmin = valor mínimo de função objetivo encontrado na população;

• a = valor da função de aptidão atribuída ao indivíduo com fmin;

• β = valor da função de aptidão atribuída ao indivíduo com fmax.

4.4 Seleção dos indivíduos para a próxima geração

O mecanismo de seleção para as próximas gerações utilizado foi o método daroleta, descrito na seção 3.4.2. Como este método pode fazer com que o melhorindivíduo da população seja perdido, optou-se por uma seleção elitista, que mantém(após um refinamento) na nova população, as duas melhores soluções da população.

Page 70: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.6 Geração da população inicial 56

4.5 Geração da população inicial

Para gerar uma população inicial, são utilizados vários procedimentos, que po-dem ser aleatórios ou heurísticos. Gerar soluções aleatórias diversifica o espaço desoluções, mas, geralmente, cria soluções de baixa qualidade, que exigem um tempo deprocessamento muito elevado para ser melhorada. Por outro lado, soluções gulosas,apesar de serem de boa qualidade, apresentam baixa diversidade. Como alternativaaos métodos totalmente aleatórios ou totalmente gulosos, vários autores sugerem autilização de heurísticas para gerar a população inicial.

Neste trabalho foram implementadas e testadas as metaheurísticas ILS e Multi-Start, conforme descrito em Andrade et al. (2008a) e Andrade et al. (2008b), para ageração da população inicial do AEH. A aplicação das metaheurísticas ao problemaé detalhada a seguir.

4.5.1 Geração da população inicial - ILS

Os seguintes procedimentos são utilizados neste trabalho nas etapas que com-põem o ILS:

(a) Geração da solução inicial: solução inicial gerada aleatoriamente;

(b) Busca Local: Método Randômico de Descida, utilizando, como estrutura devizinhança, os movimentos descritos na seção 4.2, usados originalmente comooperadores de mutação;

(c) Perturbação: em cada nível, são escolhidos aleatoriamente e aplicados à solu-ção os movimentos descritos na seção 4.2, por (nível + 1);

(d) Critério de aceitação: valor da função de avaliação.

O pseudocódigo da implementação desenvolvida neste trabalho é apresentada naFig. 4.7.

4.5.2 Geração da população inicial - Multi-Start

Na primeira fase de construção do algoritmo Multi-Start, uma solução é constru-ída aleatoriamente. Na segunda fase, a busca local aplicada sobre a solução obtidana construção é o Método Randômico de Descida, utilizando a mesma estruturade vizinhança descrita acima. O critério de parada do algoritmo é o número deiterações sem melhora (MSmax).

Os resultados obtidos com os métodos apresentados, assim como os parâmetrosutilizados, são descritos na seção de experimentos computacionais a seguir.

4.6 Experimentos Computacionais

O Algoritmo Evolutivo Híbrido proposto (AEH) foi implementado na linguagem C, ecompilado em C++ Builder 5.0; enquanto a formulação de programação matemáticado PCDA apresentada na seção 2.4.3 foi resolvida no otimizador CPLEX, versão 11.

Page 71: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.6 Problemas teste para o PCDA 57

procedimento ILS(·)

1 s0 ← ConstroiSoluçaoAleatoria(·);

2 s← DescidaRandomica(s0);

3 nivel = 1; iter = 1;

4 enquanto (nivel < nniveis) faça

5 enquanto (iter < ILSmax) faça

6 s′ ← Perturbação(s, nivel);

7 s′′ ← DescidaRandomica(s′);

8 se (f(s”) < f(s)) então

9 s← s";

10 nivel ← 1;

11 iter ← 0;

12 senão

13 iter ← iter + 1;

14 fim-enquanto

15 nivel ← nível + 1;

16 iter ← 0;

17 fim-enquanto

18 Retorne s;

19 fim-enquanto;

8 Retorne s;

fim ILS();

Figura 4.7: Pseudocódigo da Metaheurística ILS para geração de solução inicial parao PCDA.

Os testes computacionais foram feitos em um PC Intel Core 2 Quad (Q6600) 2.40GHz, com 8 GB de RAM, tendo, como sistema operacional, o ambiente WindowsVista Ultimate.

4.6.1 Problemas teste para o PCDA

Para avaliar o AEH proposto, foram utilizados os problemas-teste de Hopper eTurton (2001b), disponíveis na OR-Library Beasley (1990). Estes problemas-testeforam construídos para um problema de corte/empacotamento bidimensional comas seguintes características:

• Um conjunto de itens, que podem conter itens idênticos;

• Um único objeto com comprimento fixo e altura infinita;

• Todas as peças são retangulares.

Ressalta-se que, apesar de ser possível a existência de itens com dimensões idên-ticas em um problema-teste, os tipos de itens são muito diversificados, ou seja, cada

Page 72: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.6 Problemas teste para o PCDA 58

problema-teste apresenta um elevado número de tipos diferentes de itens. Essa di-versificação dos itens se mostrou bastante adequada ao modelo implementado nestetrabalho (Lodi et al., 2004), para validação dos métodos aqui propostos, pois omesmo trata de um problema irrestrito. Assim, apesar de existirem poucos itensidênticos em um mesmo problema-teste, quando isto ocorre, estes dois (ou maisitens) são considerados itens diferentes, cada um com uma demanda associada iguala um.

Os problemas-teste de Hopper e Turton (2001b) foram construídos de forma anão apresentarem perda quando solucionados de maneira não-guilhotinada e coma rotação ortogonal dos itens permitida. Eles estão divididos em sete categorias,sendo que cada categoria contém três problemas. Cada categoria dos problemas-teste apresenta o número de itens, o comprimento do objeto (Lobj) e a altura ótima(H∗), conforme a Tabela 4.1. Para cada problema são dados o comprimento e alturados itens.

Tabela 4.1: Problemas-teste de Hopper e Turton (2001)

Categoria No de itens Lobj H∗

P1 P2 P3C1 16 17 16 20 20C2 25 25 25 40 15C3 28 29 28 60 30C4 49 49 49 60 60C5 73 73 73 60 90C6 97 97 97 80 120C7 196 197 196 160 240

A seguir, são apresentados os resultados obtidos, a partir dos dados dos pro-blemas-teste, para o PCDA guilhotinado, nos termos tratados no presente trabalho,aplicando-se o otimizador CPLEX, versão 11.0, e o AEH proposto. São apresentadose comparados os resultados das duas versões do AEH, utilizando as metaheurísticasILS e Multi-Start, para geração da população inicial. As versões do método serãochamadas, a partir deste momento, de AEHMS e AEHILS.

Também é feita a comparação dos métodos de encaixe (Firs-Fit e Best-Fit). Por-tanto, para cada versão do AEH, serão apresentados e discutidos os resultados envol-vendo cada um dos algoritmos de encaixe (AEHMS(FF ), AEHMS(BF ), AEHILS(FF )

e AEHILS(BF )).Neste ponto, é importante ressaltar que estes resultados, na medida em que tra-

tam do PCDA guilhotinado e sem a rotação dos itens, têm soluções com alturasmaiores que as alturas ótimas encontradas nos problemas-teste, solucionados, se-gundo sua formulação original, de forma não-guilhotinada e com a rotação dos itenspermitida.

Para testar todas as versões do AEH, foram resolvidos problemas-teste com 16a 196 itens, totalizando 21 problemas. Cada problema foi resolvido 10 vezes pelosmétodos propostos. Os parâmetros dos AEH’s, obtidos experimentalmente, sãoapresentados na Tabela 4.2.

Page 73: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.6 Resultados do AEH-MS 59

Tabela 4.2: Parâmetros dos métodos AEHMS e AEHILS, sendo n o número de itensdo problema-teste.

Parâmetros ValoresCategoria do Problema-teste C1, C2, C3, C4 No de indivíduos n

C5, C6, C7 n/2C1,C2,C3,C4,C5,C6 No de gerações n

C7 n/2Parâmetro α da função de escalamento linear 100Probabilidade de recombinação (pc) 0,85Probabilidade de mutação (pm) 0,05Número máximo de iterações sem melhora do Multi-Start (MSmax) 50Número máximo de iterações sem melhora do ILS (ILSmax) 20Número máximo de iterações sem melhora do MRD (MRDmax) n

4.6.2 Resultados do AEH-MS

A Tabela 4.3 apresenta os resultados dos experimentos computacionais. A pri-meira coluna apresenta o problema-teste e a segunda, o número de itens correspon-dente. A terceira coluna apresenta os resultados obtidos pela resolução do modelomatemático apresentado na seção 2.3, pelo software de otimização CPLEX, versão11.0, limitado a uma hora de processamento.

Nas colunas “Melhor Solução” e “Solução Média” são apresentados, para cadaproblema-teste e para cada versão do AEH, o valor da melhor solução obtida emdez execuções do algoritmo e o valor médio, respectivamente. As últimas três colunasapresentam o tempo de processamento do CPLEX e das duas versões do AEH. Oerro relativo, apresentado nas oitava e nona colunas, é calculado pela expressão:

gap =(rmedio − rmelhor)

rmelhor

× 100

em que rmedio é o resultado médio obtido pela aplicação do AEH e rmelhor é o resul-tado obtido pelo otimizador CPLEX para cada problema-teste.

Como pode ser observado pela Tabela 4.3, o CPLEX obteve a solução ótima paratodos os problemas-teste com até 49 itens, e também para um problema com 73 itens.Para o restante dos problemas, este otimizador não foi capaz de provar a otimalidadedas soluções obtidas em uma hora de execução. O desvio da solução média produzidapelo método AEHMS(FF ) chegou a 18,63%, e, para o AEHMS(BF ), não ultrapassou10,87%. Os tempos de processamento variaram, para o AEHMS(FF ), de 0,07 a 26,38segundos e, para o AEHMS(BF ), de 0,21 a 487,40 segundos, em média. Observa-seque o AEHMS(FF ) alcançou o resultado ótimo conhecido para os problemas-testecom até 29 itens e para um problema com 49 itens. O AEHMS(BF ) alcançou oresultado ótimo para todos os problemas com até 49 itens e para um problema com73 itens. Com relação aos tempos de processamento, nota-se que para problemascom mais de 49 itens os tempos gastos pelos algoritmos propostos foram, geralmente,inferiores àqueles demandados pelo otimizador aplicado ao modelo de PLI.

Page 74: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.6

Resu

ltados

do

AE

H-M

S60

Tab

ela4.3:

Resutados

doA

EH

MS

aplicadoao

PC

DA

.

Problema n Melhor solução Solução média Gap(%) Tempo Médio (s)Exato AEFF AEBF AEFF AEBF AEFF AEBF Exato AEFF AEBF

C1P1 16 27* 27* 27* 27* 27* 0 0 0,10 0,07 0,23C1P2 17 29* 29* 29* 29* 29* 0 0 0,12 0,08 0,25C1P3 16 23* 23* 23* 23* 23* 0 0 0,05 0,07 0,22C2P1 25 20* 20* 20* 20* 20* 0 0 0,06 0,07 0,21C2P2 25 34* 34* 34* 34* 34* 0 0 0,18 0,17 0,69C2P3 25 23* 23* 23* 23* 23* 0 0 0,06 0,07 0,22C3P1 28 40* 40* 40* 40,90 40* 2,25 0 0,12 0,15 0,58C3P2 29 42* 42* 42* 42,10 42* 0,24 0 0,09 0,18 0,63C3P3 28 43* 43* 43* 44,50 43* 3,49 0 0,13 0,17 0,61C4P1 49 74* 74* 74* 76,90 75 3,92 1,35 15,74 2,15 13,39C4P2 49 74* 77 74* 78,40 75,40 5,95 1,89 1,02 2,15 13,31C4P3 49 80* 81 80* 82,70 80,50 3,38 0,63 0,80 2,00 13,03C5P1 73 101 102 101 105,30 102,30 4,26 1,29 3600** 7,32 92,73C5P2 73 106* 106* 106* 108,70 106,50 2,55 0,47 27,25 8,54 93,57C5P3 73 106 109 106 113,10 107,30 6,70 1,23 3600** 8,14 89,82C6P1 97 136 144 137 150,10 140,24 10,37 3,12 3600** 11,13 136,63C6P2 97 145 152 145 154,40 146,90 6,48 1,31 3600** 11,12 148,02C6P3 97 139 145 141 148,90 142,80 7,12 2,73 3600** 11,17 148,91C7P1 196 263 310 282 312,00 291,60 18,63 10,87 3600** 23,79 458,97C7P2 197 283 309 292 319,10 299,20 12,76 5,72 3600** 26,38 487,40C7P3 196 283 319 299 329,60 302,20 16,47 6,78 3600** 24,95 457,56

*Solução

ótima

**Lim

itede

tempo

deexecução

4.6

.3R

esu

ltados

do

AEH

-ILS

ATab

ela4.4

apresentaos

resultadosdo

algoritmo

evolutivono

quala

população

inicialé

geradapela

metaheurística

ILS.

Pode-se

observarque

asduas

versõesdo

Page 75: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.7 Conclusões 61

método encontraram o ótimo conhecido para todos os problemas com até 29 itens,sendo que o AEHILS(BF ) encontrou a solução ótima para todos os problemas com49 itens e para um problema com 73 itens. Além disso, o desvio da solução médiachegou a 19,6% no AEHILS(FF ) e, no método AEHILS(BF ), não ultrapassou 9,5%.

4.7 Conclusões

Nos experimentos computacionais realizados mostrou-se a importância do uso deuma heurística que gere soluções de boa qualidade para inicializar um AG e tambéma necessidade de incorporar, ao AG, um mecanismo eficiente de busca local. Foiobservado que o trabalho computacional adicional exigido pela busca local pode sercompensado pela redução do número de indivíduos e do número de iterações doalgoritmo.

O algoritmo heurístico proposto foi aplicado nos problemas-teste de Hopper eTurton (2001b), que tratam o PCDA de forma não-guilhotinada. Mostrou-se nosexperimentos que o AEHMS e o AEHILS propostos alcançaram as soluções ótimasdos problemas com até 49 itens. Em um problema-teste, com 73 itens, o AEHMS,em suas duas versões (First-Fit e Best-Fit) e o AEHILS(BF ) encontraram a soluçãoótima conhecida.

Em termos de valor da função de avaliação, as versões do método que utilizaramo First-Fit apresentaram, para problemas com mais de 49 itens, resultados bastanteinferiores àqueles obtidos pelas versões com o Best-Fit. É demonstrada, assim, asuperioridade do algoritmo aproximado Best-Fit em relação ao First-Fit, quando osproblemas-testes usados têm um número grande de itens.

O método AEHILS encontrou, em termos de função de avaliação, para problemascom mais de 49 itens, resultados razoavelmente melhores que os encontrados peloAEHMS. Isso mostra a eficiência do ILS para esse tipo de problema.

O tempo de processamento das quatro versões do algoritmo, para problemascom mais de 49 itens, foi pequeno se comparado ao tempo gasto pelo método exato,nos problemas com mais de 49 itens. Ressalta-se que a grande diferença observadaentre os tempos médios das versões com o First-Fit e o Best-Fit se deve ao modocomo são encaixados os itens. O Best-Fit sempre pesquisa todas as faixas formadasantes de alocar um item, ao passo que o First-Fit pesquisa as faixas somente atéencontrar a primeira faixa onde é possível encaixar o item. O primeiro algoritmoexige, portanto, um esforço computacional maior.

Os resultados obtidos e descritos acima mostram o potencial da técnica propostae a possibilidade da utilização desta em situações práticas.

Page 76: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

4.7

Conclu

sões

62

Tab

ela4.4:

Resutados

doA

EH

IL

Saplicado

aoP

CD

A.

Problema n Melhor solução Solução média Gap (%) Tempo Médio (s)Exato AEFF AEBF AEFF AEBF AEFF AEBF Exato AEFF AEBF

C1P1 16 27* 27* 27* 27* 27* 0 0 0,10 0,05 0,12C1P2 17 29* 29* 29* 29* 29* 0 0 0,12 0,05 0,14C1P3 16 23* 23* 23* 23* 23* 0 0 0,05 0,05 0,12C2P1 25 20* 20* 20* 20* 20* 0 0 0,06 0,07 0,22C2P2 25 34* 34* 34* 34* 34* 0 0 0,18 0,20 0,70C2P3 25 23* 23* 23* 23* 23* 0 0 0,06 0,07 0,21C3P1 28 40* 40* 40* 40,9 40* 2,25 0 0,12 0,20 0,65C3P2 29 42* 42* 42* 42,1 42* 0,24 0 0,09 0,22 0,70C3P3 28 43* 43* 43* 44,5 43* 3,49 0 0,13 0,21 0,69C4P1 49 74* 75 74* 77,4 75 4,59 1,08 15,74 1,75 9,23C4P2 49 74* 76 74* 79,2 75,2 7,03 1,62 1,02 1,88 9,90C4P3 49 80* 83 80* 84,3 80,7 5,38 0,88 0,80 1,72 9,01C5P1 73 101 106 101 109 102,4 7,92 1,39 3600** 3,76 45,75C5P2 73 106* 110 106* 112,4 106,4 6,04 0,38 27,25 4,24 51,27C5P3 73 106 113 106 116,7 107,3 10,09 1,23 3600** 3,76 47,60C6P1 97 136 145 137 150,7 138,3 10,81 1,69 3600** 18,48 235,56C6P2 97 145 154 145 155,8 146,8 7,45 1,24 3600** 19,14 245,60C6P3 97 139 148 141 151 142,6 8,63 2,59 3600** 18,35 239,76C7P1 196 263 306 280 314,5 288,1 19,58 9,54 3600** 90,30 1533,75C7P2 197 283 309 292 320,5 295,7 13,25 4,49 3600** 101,39 1712,10C7P3 196 283 313 292 323,9 297,1 14,45 4,98 3600** 97,06 1661,57

*Solução

ótima

**Lim

itede

tempo

deexecução

Page 77: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Capítulo 5

Algoritmo Evolutivo Multiobjetivo

aplicado ao PCEB

O objetivo deste Capítulo é apresentar a aplicação de um Algoritmo Evolutivo Mul-tiobjetivo (AEMO) ao Problema de Corte de Estoque Bidimensional Multiobjetivo.Na seção a seguir, é descrita a estratégia desenvolvida para a construção das so-luções. A seção 5.2 mostra os detalhes da implementação do AEMO aplicado aoPCEB. Na seção 5.3, são propostos os problemas-teste utilizados para avaliar o mé-todo, assim como testes computacionais realizados, além dos resultados obtidos esua análise.

5.1 Geração de Padrões

No capítulo 2 é visto que uma das etapas da modelagem matemática do Problemade Corte de Estoque é a definição de todos os possíveis padrões de corte. Trata-se de um problema combinatório no qual, para algumas dezenas de tipos de itens,podem ser encontrados milhões ou bilhões de padrões distintos. Entretanto, a etapade geração dos padrões não precisa ser realizada completamente, ou seja, é possívelencontrar boas soluções a partir de um número finito de padrões.

Neste trabalho, optou-se por gerar um tipo de padrão de corte conhecido naliteratura como padrão de corte guilhotinado bidimensional em 2-estágios não-exato.Considera-se que o padrão é não-exato quando ao menos um item necessitar deajuste, o que ocorre quando os tipos de itens requeridos não são cortados em suatotalidade na guilhotina. Além disso, o problema de corte aqui tratado é irrestrito,ou seja, não há limitações para o número de vezes em que um mesmo tipo de itempode aparecer no padrão.

Para gerar os padrões (guilhotinados bidimensionais em 2-estágios não-exatos),foi utilizado um método exato de duas fases, baseado nos trabalhos de Hifi e Hallah(2006) e Morabito e Garcia (1998). O uso de modelos de duas fases é comum naliteratura, devido ao êxito obtido pelo modelo proposto em Gilmore e Gomory (1965)para o corte de chapas retangulares.

Morabito e Garcia (1998) apresentam uma abordagem para o problema de cortenuma fábrica brasileira de chapas de fibra de madeira reconstituída, na qual estãoenvolvidas restrições pouco usuais, como limitações para a diferença entre o maior

63

Page 78: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.1 Etapa de Geração das Faixas 64

e menor comprimento dos tipos presentes no padrão. O problema é modelado emduas fases, cada uma por meio de um problema de otimização inteira, e resolvidoutilizando-se um método baseado em enumeração implícita. Em seu trabalho, Hifi eHallah (2006) também utiliza um método de duas fases para solucionar um problemade corte restrito.

O método de duas fases, com base nos autores citados, é utilizado neste tra-balho na geração dos padrões de corte. Com respeito aos dados do problema, sãoconsiderados:

- objetos com comprimento L e altura H ;

- um conjunto de itens I = 1, . . . , n, tendo cada item i ∈ I comprimento li ealtura hi.

Além disso, considera-se que os itens estão ordenados de forma crescente com relaçãoà altura, ou seja, h1 ≤ h2 ≤ . . . ≤ hn.

As duas fases da modelagem do problema de geração de padrões são as seguintes:

(i) Escolha dos itens que serão arranjados ao longo de faixas de comprimentoL e alturas variáveis, especificadas a seguir. Com esse processo são obtidas,portanto, as faixas que integrarão o padrão.

(ii) Escolha das faixas que serão arranjadas ao longo da altura H do objeto dedimensões (L, H).

As duas etapas do método são descritas nas seções a seguir.

5.1.1 Etapa de Geração das Faixas

Para geração das faixas, foram utilizadas três abordagens, detalhadas a seguir.

Abordagem 1

Nesta abordagem, são geradas faixas uniformes, ou seja, faixas com comprimentoL que possuem itens com a mesma altura. Para tanto, inicialmente, os itens sãoordenados de forma crescente com relação à altura. Em seguida, os itens (i ∈ I)são agrupados em função de sua altura em r grupos, que formam o conjunto J ={1, ..., r}, no qual cada item i do grupo j ∈ J possui altura hi = h̄j .

Para cada grupo j ∈ J , deseja-se encontrar a melhor combinação de itens dotipo i, para cada uma das r faixas (L, hj). Deve-se observar, ainda, que uma faixauniforme só será construída para grupos j ∈ J que tenham ao menos um item i talque hj = hi, j 6= i, ou seja, são formadas faixas uniformes com dois ou mais itensde mesma altura, mas de comprimentos distintos. Sejam:

• F 1hj

: valor da melhor combinação de itens na faixa (L, hj).

• xij : número de vezes que o item i aparece na faixa j.

• Sh̄j= {i ∈ I, hi = h̄j}: conjunto dos itens com a mesma altura.

Page 79: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.1 Etapa de Geração das Faixas 65

Cada valor F 1hj

pode ser obtido com a solução do seguinte Problema da MochilaIrrestrito PMI1:

PMI1 max F 1hj

=∑

i∈Sh̄j

lihixij (5.1)

sujeito a∑

i∈Sh̄j

lixij ≤ L (5.2)

xij ≥ 0 e inteiro (5.3)

Após a resolução do problema acima, caso o modelo não tenha utilizado todo ocomprimento da faixa, o comprimento restante Lrest é completado, resolvendo-se o(PMI2) com os próximos itens i tal que {i ∈ Qh̄j

= {i ∈ I, hi < h̄j}}.

PMI2 max F 2hj

=∑

i∈Qh̄j

lihix′

ij (5.4)

sujeito a∑

i∈Qh̄j

lix′

ij ≤ Lrest (5.5)

x′

ij ≥ 0 e inteiro (5.6)

Verificou-se, experimentalmente, que a tentativa de utilizar o comprimento res-tante da faixa gera resultados melhores do que aqueles obtidos apenas com o primeiromodelo.

Os itens que compõem as faixas, assim como sua freqüência, são dados pelo valorobtido para as variáveis xij e x′

ij . Portanto, o cálculo da perda de cada faixa, emárea, é dado por:

Perda = Lh̄j − (F 1hj

+ F 2hj

)

Para exemplificar a abordagem, considere a formação de faixas uniformes em umproblema de corte com as seguintes características: objetos com dimensões (100, 100)e 4 tipos de itens, com as dimensões (li, hi) constantes na Fig. 5.1.

No exemplo, tem-se I = 1, 2, 3, 4 e J = 1, com h1 = h2 (existe, portanto, apenasum grupo de dois itens distintos que têm a mesma altura). Considerando os itens1 e 2, é, então, solucionado o PMI1, que resulta na faixa mostrada na Fig. 5.2. Asolução para o PMI1 é x11 = 2, x12 = 2, com F 1

h1= 3000 e Perda = 0. Como a

faixa é completamente utilizada, não é solucionado o PMI2.O pseudocódigo do procedimento é apresentado na Fig. 5.3.

Abordagem 2

Esta abordagem se inicia com a construção de n faixas, que contém, cada uma,apenas um item i, i ∈ I. Em seguida, o comprimento restante da faixa (L −li) é completado, resolvendo-se um Problema da Mochila Irrestrito com os itensk, k = i + 1, . . . , n, tal que hk ≤ hi. Esse processo garante que todos os itens

Page 80: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.1 Etapa de Geração das Faixas 66

100

100

1

30

30

230

20

320

40

4

Objeto Itens ( )l ,hi i

15

10

Figura 5.1: Exemplo da Abordagem 1.

11 22

Figura 5.2: Faixa formada pela Abordagem 1.

Procedimento 1

1 Para j = 1 até r faça

2 Sh̄j= {i ∈ I, hi = h̄j};

3 (F 1hj

, xij)←Resolva (PMI1);

4 Lrest = L−∑

i∈Sh̄j

lixij ;

5 Se (Lrest > 0) faça

6 Qh̄j= {i ∈ I, hi < h̄j};

7 (F 2hj

, x′

ij)←Resolva (PMI2);

8 fim-se;

9 Crie a faixa j usando xij e x′

ij ;

10 Perda = h̄jL− (F 1hj

+ F 2hj

)

11 fim-para;

fim Procedimento 1;

Figura 5.3: Pseudocódigo da Abordagem 1 para a geração de faixas.

estarão presentes no conjunto de faixas. O Problema da Mochila Irrestrito (PMI3)é apresentado a seguir.

Page 81: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.1 Etapa de Geração das Faixas 67

PMI3 max F3 =n∑

k=i+1

lkhkxki (5.7)

sujeito an∑

k=1+1

lkxki ≤ L− li (5.8)

xki ≥ 0 e inteiro (5.9)

Neste problema, xki representa o número de vezes que o item k aparece na faixainiciada por i e n é o número de itens.

Os itens que pertencem à faixa, assim como sua freqüência, são dados, portanto,pela valor da variável xki, além de uma unidade do item i. A perda em cada faixaé dada por:

Perda = Lhi − (lihi + F3)

O pseudocódigo do procedimento é apresentado na Fig. 5.4.

Procedimento 2

1 Para i = 1 até n faça

2 Para k = i + 1 até n faça (Percorre o restante dos itens)

3 (F 3, xki)← Resolva (PMI3);

4 fim-para;

5 Crie a faixa i usando 1 unidade do item i e xki ;

6 Perda = Lhi − (lihi + F3)

7 fim-para;

fim Procedimento 2;

Figura 5.4: Pseudocódigo da Abordagem 2 para a geração de faixas.

Considerando o exemplo dado na Abordagem 1, com a aplicação da Abordagem2 tem-se a formação das faixas mostradas na Fig. 5.5.

A solução do PMI3 para o exemplo é a seguinte:

- Primeira faixa: x21 = 3, x41 = 3, F3 = 1950, Perda = 5%;

- Segunda faixa: x32 = 2, F3 = 1600, Perda = 26, 66%;

- Terceira faixa: x43 = 6, F3 = 900, Perda = 15%;

Abordagem 3

Na terceira abordagem do procedimento de formação das faixas, para cada itemi, i ∈ I, é construida uma faixa homogênea (i.e. faixa que contém apenas umtipo de item). Em seguida, é verificado o comprimento restante da faixa (Lrest =L − (⌊L/li⌋li)). Caso seja possível (se Lrest for maior que o comprimento do itemde menor li), o comprimento restante é completado resolvendo-se o PMI4 com os

Page 82: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.1 Etapa de Geração das Faixas 68

23 3

3 4 4 4 4 4 4

1 224

2

Figura 5.5: Faixas formadas pela Abordagem 2.

próximos itens (itens k, k = i + 1, . . . , n, tal que hk ≤ hi). O Problema da MochilaIrrestrito (PMI4) é apresentado a seguir.

PMI4 max F4 =n∑

k=i+1

lkhkxki (5.10)

sujeito an∑

k=i+1

lkxki ≤ L− ⌊L/li⌋li (5.11)

xki ≥ 0 e inteiro (5.12)

Neste problema, xki representa o número de vezes que o item k aparece na faixahomogênea de itens i. A perda de cada faixa é dada por:

Perda = Lhi − (⌊L/li⌋lihi + F4)

O pseudocódigo do procedimento é apresentado na Fig. 5.6.

Procedimento 3

1 Para i = 1 até n faça

2 Para k = i + 1 até n faça (Percorre o restante dos itens)

3 (F 4, xki)← Resolva (PMI4);

4 fim-para;

5 Crie uma faixa i usando ⌊L/li⌋ itens i e xki ;

6 Perda = Lhi − (⌊L/li⌋lihi + F4)

7 fim-para;

fim Procedimento 3;

Figura 5.6: Pseudocódigo da Abordagem 3 para a geração de faixas.

Considerando o exemplo referente à Abordagem 1, com a aplicação da presenteabordagem formam-se as faixas mostradas na Fig. 5.7.

A solução do PMI4 para o exemplo é a seguinte:

Page 83: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Etapa de Geração dos Padrões 69

433 4

4 4 4 4 4 4 4 4 4 4

4

11 1

22 2 22

Figura 5.7: Faixas formadas pela Abordagem 3.

- Primeira faixa: x41 = 1, F4 = 150, P erda = 5%;

- Segunda faixa: faixa homogênea (item 2);

- Terceira faixa: x43 = 2, F4 = 300, Perda = 5%;

- Quarta faixa: faixa homogênea (item 4);

5.1.2 Etapa de Geração dos Padrões

A partir do conjunto de faixas obtidas pelos procedimentos descritos acima, sãogerados os padrões de corte através dos mesmos três procedimentos, sendo que agoranos PMI’s serão considerados como itens as faixas geradas anteriormente. As faixasserão, então, combinadas ao longo da altura H do objeto. Tomando o exemplo dadona formação das faixas, os padrões gerados pela primeira abordagem são aquelesmostrados na Fig. 5.8.

11 22

433 4

433 4

433 4

433 4

433 4

11 22

11 22

Figura 5.8: Padrões formados pela abordagem 1.

Page 84: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Algoritmo Evolutivo Multiobjetivo aplicado ao PCEB 70

5.2 Algoritmo Evolutivo Multiobjetivo aplicado aoProblema de Corte Bidimensional

Com os padrões obtidos na seção anterior, são construídas as soluções do pro-blema, que formarão o espaço de busca. Ressalta-se que este algoritmo é baseadono algoritmo NSGA-II, principalmente no que se refere às estratégias de:

• Classificação da população: a função de aptidão de cada solução é calculadade acordo com a não dominância das soluções.

• Elitismo: é mantido um subconjunto de soluções dominantes encontradas atéo momento.

• Preservação de diversidade na população: as soluções de uma mesma fronteiratêm sua função de aptidão expressa também em termos de sua crowding-distance.

A seguir são descritas as etapas do AEMO.

5.2.1 Representação da solução

A solução do PCEB deve mostrar quais padrões são utilizados, assim como afreqüência de cada padrão. Uma representação bastante utilizada é feita através deum vetor, com dimensão correspondente ao número de padrões, no qual a posiçãoindica o padrão utilizado e o elemento indica sua freqüência.

Neste trabalho, entretanto, observou-se que, nesse tipo de representação, poucostipos distintos de padrões eram utilizados, quando comparados ao número total depadrões (npadroes). Assim, conclui-se, experimentalmente, que um vetor de tamanhonpadroes exigia um esforço computacional adicional desnecessário. Por isso, optou-sepor representar a solução por meio de uma matriz, de dimensão 2 × np, sendo np

o número de padrões utilizados na solução. A primeira linha desta matriz indica osíndices dos padrões utilizados, e a segunda linha sua respectiva freqüência, conformeo exemplo de solução mostrado a seguir:

s =

[

10 5 3 8 28 2 8 6 9

]

(5.13)

Neste caso, o padrão 10 está sendo utilizado 8 vezes; o padrão 5 está sendoutilizado 2 vezes e assim por diante.

5.2.2 Geração da População Inicial

Cada indivíduo da população inicial é construído conforme o procedimento des-crito a seguir.

Page 85: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Geração da População Inicial 71

Construção das soluções

A construção da solução se inicia com a definição do número de padrões distintos,ou seja, o número de colunas da matriz solução. Os padrões são escolhidos aleato-riamente, dentro do intervalo [1, npadroes]. Em seguida, essa primeira linha do vetorsolução é preenchida com np padrões, escolhidos aleatoriamente.

Com os tipos de padrões distintos definidos, a próxima etapa do procedimentoé a verificação da viabilidade da solução, ou seja, a confirmação de que a soluçãoé capaz de gerar todos os tipos de itens demandados. Para tanto, são somadas asfreqüências de cada tipo de itens nos padrões escolhidos. Se essa soma for igual azero, a solução é inviável, e o processo de escolha aleatório de padrões é reiniciado,até que se encontre um padrão viável.

Uma das formas de se obter a segunda linha, seria gerar a freqüência de cadapadrão aleatoriamente. Entretanto, as soluções geradas dessa maneira apresentam,no caso médio, um excesso ou uma falta de itens, com relação à demanda, muitoelevado.

Então, para obter, as soluções iniciais, adotou-se um procedimento parcialmenteguloso, no qual, a cada iteração escolhe-se, aleatoriamente, um padrão. Em seguida,calcula-se um limite superior para a freqüência do padrão, de modo que os itensgerados pela solução não ultrapassem a demanda, de acordo com a equação (5.14):

Fj = min

{

⌊di

fij

⌋|fij > 0

}

(5.14)

em que Fj representa a freqüência do padrão j, di a demanda do item i e fij afreqüência do item i no padrão j.

Com esse procedimento espera-se que a solucão apresente um número baixo defalta de itens. Posteriormente, para corrigir essa falta de itens que ainda ocorre,utiliza-se a metaheuristica ILS.

Para exemplificar o procedimento, será considerada a seguinte solução:

s =[

10 5 3 8 2]

A Tabela 5.1 mostra os itens que compõem os padrões dessa solução, bem comoa demanda de cada item:

Tabela 5.1: Exemplo de solução.

Padrão Itens1 2 3 4 5

2 0 1 0 2 33 2 4 3 0 05 1 0 2 0 18 0 3 0 0 410 2 3 0 1 2

Demanda 10 20 18 16 27

Inicialmente, escolhe-se aleatoriamente um padrão, e, em seguida, calcula-se olimite superior. Supondo que o padrão 2 foi escolhido, tem-se:

Page 86: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Geração da População Inicial 72

F2 = min{20/1, 16/2, 27/3} = 8 vezes;

Este resultado representa, portanto, a freqüência do padrão 2 na solução. Comoo padrão 2 é utilizado, por 8 vezes, deve-se atualizar a demanda. A Tabela abaixomostra, na primeira linha, os tipos de itens e, na segunda linha, a demanda atu-alizada (em negrito). Por exemplo, tomando-se o item 5, que aparece 3 vezes nopadrão 2. Como o padrão 2 é utilizado por 8 vezes, são produzidos 24 itens do tipo5. Deve-se, portanto, diminuir a demanda de 27 para 3 itens do tipo 5.

Item 1 2 3 4 5Demanda 10 12 18 0 3

A partir de então, o processo se repete, para cada um dos padrões da solução,conforme mostrado a seguir (supondo que a seqüência de padrões escolhidos aleato-riamente foi 2, 5, 10, 3 e 8).

F5 = min{10/1, 18/2, 3/1} = 3 vezes;

Item 1 2 3 4 5Demanda 7 12 12 0 0

F10 = min{7/2, 12/3, 0/1, 0/2} = 0 vezes;

Item 1 2 3 4 5Demanda 7 12 12 0 0

F3 = min{7/2, 12/4, 12/3} = 3 vezes;

Item 1 2 3 4 5Demanda 1 0 3 0 0

F8 = min{0/3, 0/4} = 0 vezes.

Item 1 2 3 4 5Demanda 1 0 3 0 0

Finalmente, obtém-se uma solução representada pela seguinte matriz:

s =

[

10 5 3 8 20 3 3 3 8

]

Como pode ser visto pelo exemplo anterior, após o procedimento ainda são ge-radas soluções que apresentam falta de itens. Conforme dito anteriormente, após oprocedimento acima, utiliza-se a metaheurística ILS com o objetivo de minimizar aperda, o excesso e a falta de itens.

Page 87: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Avaliação das soluções e Função de Aptidão 73

Aplicação da metaheurística ILS ao PCEB

As etapas do algoritmo ILS estão postas na Fig. 3.4 da seção 3.4.1.1. A aplicaçãodesta metaheurística para o Problema em tela exige decisões de implementação,descritas a seguir:

• Busca Local: Método Randômico de Descida, utilizando como estrutura devizinhança os seguintes movimentos:

– Movimento 1: neste movimento, a freqüência de um padrão da matrizsolução, escolhido aleatoriamente, é aumentada em 1 a 6 unidades (valoresobtidos experimentalmente).

– Movimento 2: neste movimento, são subtraídas da freqüência de um pa-drão escolhido aleatoriamente de 1 a 6 unidades.

– Movimento 3: inicialmente, são escolhidos dois padrões da matriz solução.Em seguida, à freqüência do primeiro padrão é somada 1 unidade, e àfreqüência do segundo padrão subtraída 1 unidade.

• Perturbação: em cada nível, são escolhidos aleatoriamente e aplicados à solu-ção os movimentos descritos acima, por (nível +1) vezes;

• Critério de aceitação: valor da função objetivo perda.

5.2.3 Avaliação das soluções e Função de Aptidão

A função que avalia a solução quanto à perda, além de calcular a perda interna(área) em cada objeto, também considera o excesso na produção de itens, assim comoa falta, em relação à demanda. As soluções que apresentem um grande excesso deitens, ou falta deles, são penalizadas ao receber um alto valor de função de avaliação,sendo assim excluídas do processo evolutivo. A falta de itens é mais fortementepenalizada, em vista da necessidade do atendimento da demanda. O excesso naprodução é comum em situações reais, e nem sempre é considerado perda, devido àpossibilidade de seu uso posterior. Por esse motivo, o excesso é menos penalizado.A função de avaliação da perda de uma solução s é apresentada a seguir. Sejam:

- xj : número de vezes que o padrão de corte j é utilizado;

- np: número de padrões de corte da solução;

- n: número de tipos de itens;

- aij : número de itens do tipo i no padrão de corte j;

- di: número demandado de itens do tipo i;

- gi: número de itens i gerados na solução;

- α: penalidade atribuída à falta de itens ;

- β: penalidade atribuída ao excesso de itens.

Page 88: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Avaliação das soluções e Função de Aptidão 74

A função de avaliação da perda é, então, dada por:

f1(s) =

np∑

j=1

cjxj

np∑

j=1

xj

+ αcfalta + βcexcesso (5.15)

em que:

cj = LH −n∑

i=1

lihiaij (5.16)

cfalta =

n∑

i=1

|min{0, gi − di}|

n∑

i=1

di

(5.17)

cexcesso =

n∑

i=1

max{0, gi − di}

n∑

i=1

di

(5.18)

A equação (5.16) calcula a perda interna, ou seja, a diferença entre a área doobjeto e a soma da área dos itens utilizados. Na equação (5.17), a falta de itens écalculada pela diferença entre a quantidade de itens i gerados (dada por gi) e suademanda (di). A equação (5.18), de forma semelhante, calcula o excesso de cadatipo de item.

A função que avalia o número de padrões das soluções, é dada por:

f2(s) =

np∑

j=1

δ(xj) (5.19)

em que:

δ(xj) =

{

1, se xj > 0;0, se xj = 0.

A função de aptidão de uma solução depende da fronteira à qual ela pertence eda sua crowding-distance, as quais são calculadas utilizando-se os valores das funçõesde avaliação de cada solução. As soluções na fronteira Fj sempre possuirão maiorprobabilidade de reprodução que qualquer solução em Fj+1. É importante notar que,para problemas de maximização e minimização, a função de aptidão é maximizada,isto é, altos valores de aptidão correspondem a altas probabilidades de reprodução.

Seleção

A estratégia usada para selecionar as soluções para a reprodução é o método daroleta, descrito na seção 3.4.2.1.

Page 89: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.2 Avaliação das soluções e Função de Aptidão 75

5.2.4 Operadores Genéticos

Esta seção concentra-se em descrever os operadores genéticos implementadospara a solução do PCEB, além de demais caracterísitcas da implementação compu-tacional realizada.

Operadores de Recombinação

Nesse operador, são selecionadas duas soluções da população de pais. A partir destasduas soluções pais, são geradas duas soluções filhos, que herdam características deambos pais. Para o PCEB foi utilizado um operador conhecido como crossoveruniforme.

No crossover uniforme, são escolhidos, aleatoriamente, dois indivíduos da popu-lação e, em seguida, é determinada a porcentagem de genes que vão ser trocados. Ocruzamento acontece então da forma descrita a seguir.

Dados dos pais p1 e p2, para gerar o descendente f1, é criado aleatoriamente umvetor de bits do mesmo comprimento de p1. Em seguida, f1 é preenchido, copiando-se os elementos da coluna de p1 nas posições em que o vetor é igual a 1. Nas posiçõesdo vetor onde aparece zero, são copiados os elementos da coluna de p2. A Fig. 5.9mostra um exemplo deste operador em duas soluções do PCEB.

[ ]

[ ]

úúû

ù

êêë

é

­­

¯¯¯

úúû

ù

êêë

é

6284513

5317264

18251 0

96828

28351 0

01011

2

1

1

p a i

f i l h o

p a i

Figura 5.9: Crossover uniforme.

Após a recombinação, obtém-se uma população de tamanho 2N . Dessa popu-lação, são mantidos apenas os N melhores indivíduos. Dentre eles, estão aquelesque sofrerão mutação. Além disso, arbitrou-se que três melhores indivíduos dessapopulação são mantidos a salvo de sofrerem mutação.

No operador de recombinação, como os padrões usados são modificados, é ne-cessário corrigir a sua freqüência, já que o novo indivíduo pode apresentar grandeexcesso ou falta de itens, ou ainda ser indivíduo inviável. Para isso, é utilizada ametaheurística ILS, com o objetivo de minimizar a perda (que inclui a perda intrín-seca dos padrões, o excesso e a falta de itens). Assim, o indivíduo, caso inviável,tem a possibilidade de se tornar viável.

Page 90: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.3 Avaliação das soluções e Função de Aptidão 76

Operadores de Mutação

Os seguintes operadores de mutação são aplicados, a uma dada probabilidade:

- Operador de mutação 1: consiste em inserir no indivíduo um novo padrão,escolhido aleatoriamente.

- Operador de mutação 2: consiste em eliminar um padrão do indivíduo, esco-lhido aleatoriamente (a matriz de dimensão 2×np, que representa o indivíduo,passa a ter dimensão 2× (np − 1).

Critério de Parada

O critério de parada escolhido para esta implementação é o número máximo degerações.

Determinação de Parâmetros

Um conjunto de parâmetros foi testado para o NSGA-II aplicado ao PCEB. NaTabela 5.2, é mostrada a combinação de parâmetros com a qual se obteve melhoresresultados.

Tabela 5.2: Parâmetros do algoritmo.

Parâmetros ValoresNúmero de indivíduos 50Número de gerações 30Probabilidade de crossover (pc) 0,85Probabilidade de mutação (pm) 0,05Penalidade falta (α) 100Penalidade excesso (β) 10ILSmax 20

5.3 Experimentos Computacionais

O algoritmo baseado no NSGA-II foi implementado na linguagem C e compiladoem C++ Builder 5.0. Os testes computacionais foram feitos em um computadorAMD Atlon XP 64 Bits 4000+ (aproximadamente 2.11 GHz), com 1 GB de memóriaRAM, sob plataforma Windows XP.

Os modelos matemáticos apresentados na seção 5.1 foram resolvidos pelo softwarede otimização CPLEX, versão 10 da ILOG. A solução gerada pelo CPLEX paraestes modelos fornece os padrões de corte necessários para se iniciar a utilização doalgoritmo evolutivo proposto.

Foi encontrada certa dificuldade para analisar o desempenho do algoritmo pro-posto, devido à falta de métodos exatos e de exemplos resolvidos otimamente naliteratura para comparação. Em vista dessas limitações, foram utilizados os seguin-tes problemas-teste:

Page 91: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.3 Avaliação das soluções e Função de Aptidão 77

• Dois problemas apresentados em Figueiredo (2006), em que é apresentadoum estudo de caso em uma indústria de móveis. Em seu trabalho, o autoranalisou os padrões de corte adotados por uma indústria de móveis, e, a partirdas características levantadas, propôs uma heurística para a geração de umconjunto de pool de padrões tabuleiros compostos (uma composição de padrõesdo tipo tabuleiro, nos quais os itens podem ser obtidos com um corte noprimeiro estágio, que origina faixas que serão cortadas simultaneamente nosegundo estágio). Com estes padrões, são solucionados problemas que utilizamos dados da fábrica. Ressalta-se que o objetivo tratado no trabalho é apenas aminimização da perda de material, ou seja, a parte não utilizada do conjuntode objetos da solução, sendo que os itens gerados em excesso (sobra) não sãoconsiderados perda. Apesar dos resultados para a perda, considerada comoo único objetivo, não ser necessariamente um resultado de referência parao problema combinado (com os objetivos de minimizar a perda e o númerode padrões), esses problemas foram escolhidos devido a características como,por exemplo, o fato do corte ser feito em dois estágios e dos padrões seremguilhotinados. Vale ainda destacar que foram testados apenas os problemasde Figueiredo (2006) com maior número de itens.

• Problemas gerados aleatoriamente, com o intuito de testar a capacidade doalgoritmo de solucionar problemas com maior número de itens e com umavariação na dimensão dos itens.

5.3.1 Problemas-teste de um indústria de móveis

Os problemas teste descritos em Figueiredo (2006) consideram a produção delotes dos produtos assim distribuídos:

• 1 lote de criados (300 unidades);

• 1 lote de armários de 5 portas (40 unidades);

• 1 lote de cômodas (160 unidades).

Nesta dissertação, foram solucionados apenas os problemas da produção de umlote de armários de 5 portas (formado por 7 itens com espessura de 15 mm) e de umlote de cômodas (6 itens com espessura de 12 mm), por estes problemas apresentaremum maior número de itens.

Os dados para estes problemas podem ser vistos nas Tabelas 5.3 e 5.4. Sãoapresentados o comprimento li e a altura hi de cada item i, tendo como unidadede medida milímetros (mm); a quantidade de cada item requerida por unidadedo produto Qtde; além da demanda di de cada item. Os objetos utilizados têmdimensões L × H de 2750 × 1830, para a produção das cômodas, e dimensões de2750× 1850 para a produção dos armários.

Os resultados da aplicação do algoritmo evolutivo proposto são mostrados nasFig.s 5.10 e 5.11. São apresentadas as fronteiras obtidas na primeira e na últimageração de uma rodada típica do algoritmo. Como pode ser observado, os resultadosobtidos para os dois problemas demonstram que o AEMO é capaz de otimizar os

Page 92: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.3 Avaliação das soluções e Função de Aptidão 78

Tabela 5.3: Problemas-teste de Figueiredo (2006)- Armário de 5 portas (15 mm).

Item li hi Qtde di

1 1050 535 2 802 535 500 2 803 1049 452 5 2004 499 452 5 2005 535 430 2 806 452 429 2 807 700 212 4 160

Tabela 5.4: Problemas-teste de Figueiredo (2006) - Cômoda (12 mm).

Item li hi Qtde di

1 635 180 3 4802 454 180 6 9603 635 135 2 3204 454 135 4 6405 440 65 2 3206 635 50 1 160

4

4,5

5

5,5

6

6,5

7

7,5

8

2 4 6 8 10 12

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.10: Fronteiras no problema dos armários de 5 portas.

dois objetivos simultaneamente, gerando um conjunto de soluções que mostram aação de um objetivo em relação ao outro.

Claramente se observa que um menor número de padrões implica na ocorrênciade uma maior perda de material, em ambos os casos. As soluções obtidas para aperda de material (não inclui as sobras, i.e. excedente de produção) e para o númerode padrões são apresentados nas Tabelas 5.5 e 5.6. Ressalta-se que Figueiredo (2006)

Page 93: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.3 Avaliação das soluções e Função de Aptidão 79

0

0,5

1

1,5

2

2,5

3

3,5

4

5 6 7 8 9 10

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.11: Fronteiras no problema das cômodas.

trata apenas do objetivo de minimizar a perda.Pela Tabela 5.5, observa-se que o AEMO, em termos de perda, apresenta resulta-

dos bastante próximos daqueles encontrados por Figueiredo (2006), com a vantagemde apresentar outras soluções que mostram ao decisor o compromisso entre a perdae número de padrões. Considerando isoladamente o número de padrões, pode-severificar que todas as soluções fornecidas pelo AEMO apresentaram um menor nú-mero de padrões. Com relação ao tempo de execução, o AEMO se mostrou bastanterazoável, mesmo não sendo apropriado comparar os tempos de execução de métodosde otimização mono e multiobjetivo.

A Tabela 5.6 mostra, da mesma forma, que foram obtidas perdas muito próximasdaquelas de Figueiredo (2006). Considerando o número de padrões, observa-se queo AEMO forneceu duas soluções com um número menor de padrões, e uma soluçãocom o mesmo número de padrões. Essa solução, e a solução de Figueiredo (2006),mostram, praticamente, a mesma perda. Isso demonstra a capacidade do AEMOem encontrar soluções de qualidade para ambos os objetivos. O tempo de execuçãoAEMO se mostrou, novamente, bastante razoável.

Tabela 5.5: Resultados - Armário de 5 portas (15 mm).

Armário de 5 portas Figueiredo (2006) AEMONúmero de Padrões 9 3 4 6 7

Perda (%) 4 5,7 5,4 4,9 4,7Tempo (seg) 66,2 150,8

Page 94: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.3 Avaliação das soluções e Função de Aptidão 80

Tabela 5.6: Resultados - Cômoda (12 mm).

Cômoda Figueiredo (2006) AEMONúmero de Padrões 8 6 7 8

Perda (%) 0,7 1,22 0,81 0,73Tempo (seg) 36,2 123,6

Ressalta-se que não foram obtidas as soluções correspondentes aos mínimos indi-viduais das duas funções objetivo, fato que impediu que as fronteiras apresentassemsoluções com uma perda menor do que aquela encontrada por Figueiredo (2006).

5.3.2 Experimentos com exemplos aleatórios

Na realização dos experimentos com exemplos aleatórios, observou-se que, alémda quantidade de itens, a diversidade na dimensão dos itens afetava consideravel-mente a qualidade das soluções (Figueiredo, 2006). Por isso, optou-se por agrupar osexemplos em classes, que diferem entre si pelo número de itens n e pela diversidadena dimensão dos itens.

Nos experimentos analisados, considerou-se L = 100 e H = 100, com a de-manda dos itens gerada aleatoriamente no intervalo [200, 800]. O comprimento dositens li foi gerado aleatoriamente nos intervalos [0, 10L; 0, 50L] (tamanhos diver-sos) e [0, 05L; 0, 30L] (tamanhos pequenos). Da mesma forma, a altura dos itenshi foi gerada aleatoriamente nos intervalos [0, 10H ; 0, 50H ] (tamanhos diversos) e[0, 05H ; 0, 30H ] (tamanhos pequenos). Estes experimentos foram divididos em seisclasses, mostradas na Tabela 5.7.

Tabela 5.7: Problemas gerados aleatoriamente

.

Classes n li hi

1 10 0, 05L; 0, 30L 0, 05H ; 0, 30H2 10 0, 10L; 0, 50L 0, 10H ; 0, 50H3 20 0, 05L; 0, 30L 0, 05H ; 0, 30H4 20 0, 10L; 0, 50L 0, 10H ; 0, 50H5 30 0, 05L; 0, 30L 0, 05H ; 0, 30H6 30 0, 10L; 0, 50L 0, 10H ; 0, 50H

Em cada classe, foram gerados 10 exemplos aleatórios. A Tabela 5.8 mostra osresultados médios obtidos. A primeira coluna da Tabela indica a classe do problema,a segunda mostra a perda média (%), a terceira o número médio de padrões e aquarta o tempo de execução do algoritmo. A perda representa a soma da perdaintrínseca de cada padrão (não inclui os itens produzidos em excesso).

Page 95: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.4 Avaliação das soluções e Função de Aptidão 81

Tabela 5.8: Resultados Médios para os 10 exemplos de cada classe.

Classe Perda (%) Número de padrões Tempo1 2,70 11,03 277,502 3,35 10 281,103 3,90 18,8 1472,714 6,65 15,92 2533,265 4,12 35,14 3258,986 6,88 28,83 5810,71

Conforme se pode observar pela Tabela 5.8, os resultados do AEMO foram sa-tisfatórios, em termos de perda, para todas as classes de problemas, mostrando ummelhor desempenho para as classes com menor número de itens e com dimensõesmenos heterogêneas.

Nas Fig.s 5.12 a 5.17 são apresentados as fronteiras, ou curvas de trade-off,obtidas pelo AEMO aplicado a um exemplo (escolhido arbitrariamente) de cadauma das seis classes de problemas. São mostradas, respectivamente, a fronteiraobtida na primeira geração e a fronteira obtida na última geração (30a geração).

Pode-se observar, na maioria das classes, que existem poucas soluções viáveis napopulação inicial, devido à penalização das soluções pelo grande excesso ou falta.Entretanto, pode-se verificar que este fato não compromete a resolução do pro-blema, já que tais soluções viáveis são encontradas naturalmente durante o processoevolutivo, possibilitando assim a convergência das populações para regiões mais pro-missoras.

Como pode ser observado, os resultados obtidos para esse conjunto de proble-mas confirma a eficiência do algoritmo desenvolvido em encontrar fronteiras quemelhoram ao longo das gerações. Comparando-se as classes com o mesmo númerode itens, observou-se que as classes com maior dispersão nas dimensões dos itens(classes 2, 3 e 6) apresentaram uma elevação no índice de perda, além de tempo deprocessamento maior.

5.4 Conclusões

Este trabalho apresentou um Algoritmo Evolutivo Multiobjetivo para a resoluçãodo Problema de Corte de Estoque Bidimensional, considerando a minimização dedois objetivos: perda de material e número de padrões distintos. Nos testes com-putacionais realizados, o algoritmo mostrou-se capaz de produzir um conjunto desoluções que mostram o compromisso entre os dois objetivos, a partir do qual o de-cisor pode selecionar uma solução de acordo com a sua aplicação particular. Alémdisso, verificou-se que a fronteira de soluções melhora ao longo do tempo.

O AEMO proposto foi aplicado a dois problemas-teste de Figueiredo (2006), quetrata do problema de corte em uma fábrica de móveis. Mostrou-se nos experimentosque o AEMO alcançou resultados bastante próximos daqueles obtidos por Figueiredo(2006), em termos do número de padrões. Com relação à perda de material, tambémforam encontrados resultados bastante próximos aos resultados médios de Figueiredo(2006).

Page 96: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.4 Avaliação das soluções e Função de Aptidão 82

1

2

3

4

5

5 7 9 11 13 15 17 19 21

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.12: Curva de trade-off entre a perda e o número de padrões distintos noexemplo da classe 1.

0

2

4

6

8

10

12

14

7 9 11 13 15 17

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.13: Curva de trade-off entre a perda e o número de padrões distintos noexemplo da classe 2.

Além disso, foram gerados seis conjuntos de testes aleatórios, com o intuito detestar o algoritmo com um maior número de itens, além de verificar a influência dadispersão na dimensão dos itens na qualidade da solução. Os conjuntos com itensde dimensões mais homogêneas, como era de se esperar, apresentaram melhoresresultados em termos de perda (e, conseqüentemente, piores resultados quanto aonúmero de padrões).

Estes resultados iniciais mostram o potencial da técnica proposta e a possibili-dade da utilização desta em situações práticas. Deve-se observar, ainda, que não

Page 97: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.4 Avaliação das soluções e Função de Aptidão 83

0

1

2

3

4

5

6

7

8

9

10 15 20 25 30 35 40

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.14: Curva de trade-off entre a perda e o número de padrões distintos noexemplo da classe 3.

3

5

7

9

11

13

15

17

8 10 12 14 16 18 20 22 24 26 28 30 32

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.15: Curva de trade-off entre a perda e o número de padrões distintos noexemplo da classe 4.

foram encontrados, na literatura analisada, outros trabalhos que relatassem tentati-vas de obtenção de soluções que apresentassem um compromisso entre os objetivosaqui tratados para o problema de corte de estoque bidimensional.

Page 98: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

5.4 Avaliação das soluções e Função de Aptidão 84

3

4

5

6

7

8

24 29 34 39 44 49

Número de Padrões

Perd

a(%

)

30ª Geração 1ª Geração

Figura 5.16: Curva de trade-off entre a perda e o número de padrões distintos noexemplo da classe 5.

4

5

6

7

8

9

10

11

12

20 24 28 32 36 40 44 48 52

Número de Padrões

Pe

rda

(%)

30ª Geração 1ª Geração

Figura 5.17: Curva de trade-off entre a perda e o número de padrões distintos noexemplo da classe 6.

Page 99: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Capítulo 6

Conclusões Gerais e Trabalhos

Futuros

6.1 Conclusões Gerais

O presente trabalho abordou dois problemas de corte bidimensional bastanteusuais em situações práticas: o problema de corte com dimensão aberta guilhoti-nado (PCDA) e o problema de corte de estoque guilhotinado (PCEB). No primeiroproblema, considerou-se apenas um critério de otimização, que foi a minimização daperda de material. No segundo problema, foram considerados dois critérios de otimi-zação: a minimização da perda de material e a minimização do número de padrõesdistintos (troca de padrões), tratando-se, portanto, de um problema multiobjetivo.

Para a resolução do PCDA, foram estudadas, implementadas e testadas as se-guintes abordagens, já existentes, para a etapa de encaixe dos itens: First-Fit eBest-Fit. Os testes com os dois métodos mostram que, para problemas com poucositens (até 49 itens), tanto a técnica First-Fit quanto a técnica Best-Fit atingema solução ótima, sendo que a primeira apresentou um tempo de execução menor.Entretanto, a observação mais importante foi a de que, quanto se eleva o número deitens (de 73 a 197 itens), o algoritmo Best-Fit obtém resultados bastante superioresao First-Fit. Para solucionar o problema de corte com dimensão aberta guilhotinadoem estudo, desenvolveu-se uma proposta baseada nos algoritmos evolutivos híbridos.Mais especificamente, foram implementadas as seguintes combinações de algoritmos:Algoritmo Genético com a população inicial gerada pela metaheurística IteratedLocal Search e algoritmo genético com a população gerada pela metaheurística Multi-Start.

No início do desenvolvimento deste trabalho, foi implementado um algoritmoevolutivo, baseado em um AG simples, que contava apenas com a incorporação deoperadores de busca local, sendo que tal estudo, assim como seus resultados, forampublicados em Andrade et al. (2008f). Em seguida, foi testada o efeito do usode metaheurísticas para a geração da população inicial do AG com operadores debusca local. A primeira metaheurística a ser testada foi a Multi-Start, sendo que esteestudo é apresentado Andrade et al. (2008d) e Andrade et al. (2008c). Testou-se,ainda, a utilização da metaheurística Iterated Local Search (ILS), para a geraçãoda população inicial do algoritmo evolutivo. Este último estudo é mostrado emAndrade et al. (2008e).

85

Page 100: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

6.2 Trabalhos Futuros 86

Verificou-se, no desenvolvimentos dos trabalhos citados acima, que os algoritmospropostos apresentaram um bom desempenho, tendo em vista a dificuldade de reso-lução problema. Em termos de valor da função de avaliação, os melhores resultadosforam obtidos com a utilização do algoritmo evolutivo cuja população inicial foi ge-rada pelo ILS (AEILS). Com relação ao tempo computacional, observou-se que ostempos encontrados pelos métodos propostos foram, em média, inferiores àquelesrequeridos pelo método exato.

Os estudos iniciais acerca do problema de corte são apresentados em Andradeet al. (2007). Neste trabalho, o PCEB foi solucionado por um AG simples. Ao longodeste trabalho, surgiu o interesse pelo estudo do PCEB através de uma abordagemmultiobjetivo, que considerasse, além do objetivo de minimizar a perda, a minimiza-ção do número de padrões distintos (setup). Desenvolveu-se, então, uma formulaçãomatemática multiobjetivo para o problema, baseada na formulação para problemasunidimensionais, que tratam dos mesmos objetivos, apresentada em (Golfeto et al.,2007).

Para a geração dos padrões de corte, foi utilizado um método de duas fases,baseado nos trabalhos de Morabito e Garcia (1998) e Hifi e Hallah (2006). O PCEBmultiobjetivo foi solucionado por um algoritmo evolutivo multiobjetivo (AEMO) ba-seado no método NSGA-II (Deb et al., 2002). Os resultados obtidos para problemas-teste reais de uma indústria de móveis, retirados do trabalho de Figueiredo (2006)(mostrados em Andrade et al. (2009)), e para problemas gerados aleatoriamente,mostraram que o AEMO é capaz de encontrar soluções que apresentam um com-promisso entre os dois objetivos. Não foram encontrados trabalhos que tratassemdo PCEB envolvendo os objetivos aqui tratados. Em razão disso, não houve comocomparar os resultados obtidos. Observou-se, entretanto, que os índices de perdaobtidos foram baixos, em todos os problemas. Além disso, mostra-se que o AEMOé capaz de produzir fronteiras não dominadas cada vez melhores, no decorrer dasgerações.

Considera-se que a principal contribuição deste trabalho está no fato deste seruma das primeiras abordagens do problema de corte de estoque bidimensional mul-tiobjetivo que envolve a redução do número de padrões distintos.

As evidências empíricas obtidas neste trabalho indicam que os algoritmos pro-postos são adequados para solucionar problemas associados a situações reais.

6.2 Trabalhos Futuros

Com respeito ao algoritmo evolutivo desenvolvido para o PCDA, poderiam sertestados os desempenhos de outras heurísticas para geração da população inicial.

Por se tratar de uma abordagem inicial, há muito a ser feito em termos de estudose testes para o PCEB multiobjetivo. Algumas sugestões são:

• Aperfeiçoar o método de geração de padrões;

• Testar outros métodos evolutivos multiobjetivos;

• Estudar a possibilidade da utilização de busca local multiobjetivo;

• Desenvolver mecanismos para aumentar diversidade das fronteiras;

Page 101: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

6.2 Trabalhos Futuros 87

• Verificar a qualidade das fronteiras não-dominadas obtidas pelos algoritmos.

Por se tratar de uma abordagem inicial do problema de corte bidimensional mul-tiobjetivo, muitas melhorias podem ser realizadas no método, como a implementaçãode novas estratégias para aumentar o número de soluções não-dominadas.

Page 102: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas

Andrade, M. S. F.; Souza, S. R.; Souza, M. J. e Temponi, E. C. C. (2008)a. Umalgoritmo evolutivo híbrido aplicado à solução do problema de corte bidimensionalguilhotinado. Anais do XL Simpósio Brasileiro de Pesquisa Operacional - SBPO,João Pessoa, PA.

Andrade, M. S. F.; Souza, S. R.; Souza, M. J. e Temponi, E. C. C. (2008)b. Umalgoritmo evolutivo híbrido aplicado à solução do problema de corte bidimensionalguilhotinado. Anais do XXVIII ENEGEP - Encontro Nacional de Engenharia deProdução, Rio de Janeiro, RJ.

Andrade, M. S. F.; Souza, S. R. e Souza, M.J. (2008)c. Um algoritmo evolutivo hí-brido aplicado à solução do problema de corte bidimensional guilhotinado. Anais doXXVIII ENEGEP - Encontro Nacional de Engenharia de Produção, Rio de Janeiro.

Andrade, M. S. F.; Souza, S. R.; Souza, M.J. e Temponi, E. C. C. (2008)d. Algo-ritmos evolutivos aplicados à resolução do problema de corte bidimensional. Anaisdo XXXIX CILAMCE - Congresso Ibero Latino Americano de Métodos Computa-cionais em Engenharia, Maceió.

Andrade, M. S. F.; Souza, S. R. e Temponi, E. C. C. (2007). Problema de cortebidimensional com padrões de corte: abordagem via metaheurísticas populacionais.Anais do X EMC - Encontro de Modelagem Computacional, Nova Friburgo.

Andrade, M. S. F.; Souza, S. R. e Temponi, E. C. C. (2008)e. Um algoritmo evolutivohíbrido aplicado à solução do problema de corte bidimensional guilhotinado. Anaisdo XL SBPO - Simpósio Brasileiro de Pesquisa Operacional, João Pessoa.

Andrade, M. S. F.; Souza, S. R. e Temponi, E. C. C. (2008)f. Um algoritmo meméticoaplicado à solução do problema de corte bidimensional guilhotinado. Anais do XISPOLM - Simpósio de Pesquisa Operacional e Logística da Marinha, Rio de Janeiro,RJ.

Andrade, M. S. F.; Souza, S. R. e Temponi, E. C. C. (2009). Um algoritmo evo-lutivo híbrido aplicado à solução do problema multiobjetivo de corte bidimensionalguilhotinado. Anais do XLI SBPO - Simpósio Brasileiro de Pesquisa Operacional,Porto Seguro.

Arenales, M.; Morabito, R. e Yanasse, H. (1999). Special issue: Cutting and packingproblems. Pesquisa Operacional, v. 19, n. 2, p. 107–299.

88

Page 103: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas 89

Bäck, T.; Fogel, D.B e Michalewicz, Z. (2000)a. Evolutionary computation 1: Basicalgorithms and operators. Institute of Physics Publishing, v. .

Bäck, T.; Fogel, D.B e Michalewicz, Z. (2000)b. Evolutionary computation 2: Basicalgorithms and operators. Institute of Physics Publishing, v. .

Beasley, J. E. (1985). Algorithms for unscontrained two-dimensional guilhotinecutting. Journal of the Operational Research Society, v. 36, n. 4, p. 297–306.

Beasley, J. E. (1990). Or-library: distributing test problems by electronic mail.Journal of the Operational Research Society, v. 41, n. 11, p. 1069–1072.

Bischoff, E. E. e Wäscher, G. (1995). Cutting and packing. European Journal ofOperational Research, v. 84, p. 503–505.

Blum, C. e Roli, A. (2003). Metaheuristics in combinatorial optimization: Overviewand conceptual comparison. ACM Computing Surveys, v. 35, n. 3, p. 268–308.

Christofides, N. e Whitlock, C. (1977). An algorithm for two dimensional cuttingproblems. Operations Research, v. 25, n. 1, p. 30–44.

Coello, C. A. (1999). A Comprehensive Survey of Evolutionary-Based MultiobjectiveOptimization Techniques. Laboratorio Nacional de Informatica Avanzada, Mexico.

Deb, K.; Agrawal, S.; Pratab, A. e Meyarivan, T. Apr.(2002). A fast and elitistmulti-objective genetic algorithm: Nsga-ii. IEEE - Transactions on EvolutionaryComputation, volume 6, p. 182–197, Apr.(2002).

Dias, A. H. F. (1999). Algoritmos genéticos aplicados a problemas com múlti-plos objetivos. Master’s thesis, UFMG, Belo Horizonte. Dissertação (Mestrado emEngenharia Elétrica).

Diegel, A.; Chetty, M.; Schalkwyck, S. VAn e Naidoo, S. (1993). Setup combiningin trim loss problem 3 to 2 and 2 to 2. Working paper, v. Business Administration,n. University of Natal, p. Durban.

Dowsland, K. A. e Dowsland, W. B. (1992). Packing problems. European Journalof Operational Research, v. 56, p. 02–14.

Dyckhoff, H. (1990). A topology of cutting and packing problems. European Journalof Operational Research, v. 44, p. 145–159.

Dyckhoff, H.; Scheithauer, G. e Terno, J. (1997). Cutting and packing. In M.Amico, F. Maffioli, F., S. Martello (eds.). Annotated bibliographies in combinatorialoptimisation. John Wiley and Sons, New York, NY, p. 393–414.

Feo, T. A. e Resende, M. G. C. (1995). Greedy randomized adaptive search proce-dures. Journal of Global Optimization, v. 6, p. 109–133.

Figueiredo, A. G. Análise de produtividade de padrões de corte na indústria demóveis. Dissertação de Mestrado, Universidade Estadual Paulista, Instituto de Bi-ociências, Letras e Ciências Exatas, São José do Rio Preto, (2006).

Page 104: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas 90

Foerster, H. e Wäscher, G. (2000). Pattern reduction in one-dimensional cuttingstock problem. International Journal of Production Research, v. 38, p. 1657–76.

Fogliatto, F. S. e Fagundes, P. R. M. (2003). Troca rápida de ferramentas: propostametodológica e estudo de caso. Revista Gestão & Produção, v. 10.

Fonseca, C. M. e Fleming, P. J. Aug.(1993). Genetic algorithm for multiobjectiveoptimization: Formulation, discussion and generalization. In: 5th Conference onGenetic Algorithm, p. 416–423, San Mateo, California.

Gilmore, P. e Gomory, R. (1961). A linear programming approach to the cuttingstock problem. Operational Research, v. 9, p. 849–859.

Gilmore, P. e Gomory, R. (1963). A linear programming approach to the cuttingstock problem - part ii. Operational Research, v. 11, p. 863–888.

Gilmore, P. e Gomory, R. (1965). Multistage cutting stock problems of two andmore dimensions. Operational Research, v. 13, p. 94–120.

Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machinelearning. Addison-Wesley, v. .

Golfeto, R. R.; Moretti, A. C. e Neto, L. L. Sales. novembro(2007). Algoritmogenético simbiótico co-evolucionário aplicado ao problema de corte multi-objetivo.X Encontro de Modelagem Computacional, Nova Friburgo, RJ. Anais do EMC 2007,CD-ROM.

Gramani, M. C. N. Problema de corte bidimensional guilhotinado e restrito em 2-estágios. Dissertação de Mestrado, Instituto de Ciências Matemáticas de São Carlos- Universidade de São Paulo, São Carlos, (1996).

Haessler, R. W. (1975). Controlling cutting pattern changes in one-dimensional trimproblems. Operations Research, v. 23, n. 3, p. 483–493.

Helmberg, C. (1995). Cutting aluminum coils with high length variables. Annals ofOperations Research, volume 57, p. 175–789, (1995).

Hifi, M. (1998). Exact algorithms for the guillotine strip cutting/packing problem.Computers and Operations Research, v. 25, p. 925–940.

Hifi, M. (2002). Special issue on cutting and packing. Studia Informatica Universalis,v. 2, p. 1–161.

Hifi, M. e Hallah, R. (2006). Strip generation algorithms for constrained two-dimensional two-staged cutting problems. European Journal of Operational Rese-arch, v. 172, n. 2, p. 515–527.

Hochbaum, D. S. e Wolfgang, M. (1985). Approximation schemes for coveringand packing problems in image processing and vlsi. Journal of the Association forComputing Machinery, v. 32, p. 130–136.

Holland, J. H. (1975). Adaptation in natural and artificial systems. MIT Press, v. .

Page 105: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas 91

Hopper, E. e Turton, B.C. (2001)a. An empirical investigation of meta-heuristicand heuristic algorithms for a 2d packing problem. European Journal of OperationalResearch, v. 1, p. 34–57.

Hopper, E. e Turton, B.C. (2001)b. A review of the application of meta-heuristicalgorithm to 2d strip packing problems. Artificial Intelligence Review, v. 16, p.257–300.

Horn, J. e Nafpliotis, N. (1993). Multiobjective optimization using the niched paretogenetic algorithm. Relatório técnico, Illinois.

Jakobs, S. (1996). On genetic algorithms for the packing of polygons. EuropeanJournal of Operational Research, v. 88, p. 165–181.

Kantorovich, L. V. (1960). Mathematical methods of organizing and planning pro-duction (tradução de um trabalho em russo datado de 1939). Management Science,v. 6, p. 366–422.

Katsurayama, D. M. Estudo sobre o efeito da utilização de padrões tabuleirosna produtividade do equipamento de cortes. Dissertação de Mestrado, InstitutoNacional de Pesquisas Espaciais, São José dos Campos, (2002).

Knowles, J. e Corne, D. (1999). The pareto archived evolution strategy: A newbaseline algorithm for multiobjective optimization. Press, IEEE, editor, Proceedingsof the 1999 Congress on Evolutionary Computation, p. 98–105, Piscataway, NJ.

Kolen, A. W. e Spieksma, F. C. R. (2000). Solving a bi-criterion cutting stockproblem with open-ended demand: a case study. Journal of the Operational ResearchSociety, v. 51, p. 1238–1247.

Kroger, B. (1995). Guillotineable binpacking: A genetic approach. European Journalof Operational Research, v. 84, p. 645–661.

Lesh, N.; Maks, J.; McMahon, A. e Mitzenmacher, M. (2004). Exhaustive approa-ches to 2d rectangular perfect packings. Information Processing Letters, v. 90, p.7–14.

Leung, J.; Tam, T.; Wong, C.S.; Young, G. e Chin, F. (1990). Packing squares intosquare. Journal of Parallel and Distributed Computing, v. 10, p. 271–275.

Limeira, M. S. Redução do número de padrões em problemas de corte de estoque.Tese de Doutorado, Instituto Nacional de Pesquisas Espaciais - INPE, São José dosCampos, Brasil, (2003).

Lin, S. e Kernighan, B. W. (1973). An effective heuristic algorithm for the travelling-salesman problem. Operations Research, v. , n. 11, p. 498–516.

Liu, D. e Teng, H. (1999). An improved bl-algorithm for genetic algorithm of theorthogonal packing of rectangles. European Journal of Operational Research, v. 112,p. 413–420.

Page 106: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas 92

Lodi, A.; Martello, S. e Monaci, M. (2002). Two-dimensional packing problems: asurvey. European Journal of Operational Research, v. 141, p. 241–252.

Lodi, A.; Martelo, S. e Vigo, D. (2004). Models and bounds for two-dimensionallevel packing problems. Journal of Combinatorial Optimization, v. 8, p. 363–379.

Lourenço, H. R.; Martin, O. e Stuetzle, T. (2002). Iterated local search. Handbookof Metaheuristics, p. 321–353, Norwell, MA. Kluwer Academic Publishers.

Maculan, N. (1988). Problemas de otimização relacionados ao corte de bobinas depapel. ANAIS - COLÓQUIO BRASILEIRO DE MATEMÁTICA, volume 16, p.159–182, Rio de Janeiro, RJ.

Martello, S.; Monaci, M. e Vigo, D. (2003). An exact approach to strip-packingproblem. INFORMS Journal on Computing, v. 15, p. 310–319.

McDiarmid, C. (1999). Pattern minimisation in cutting stock problems. DiscreteApplied Mathematics, v. 98, p. 121–130.

Michalewicz, Z. (1992). Genetic algorithms + data structures = evolution programs.Springer-Verlag, v. .

Morabito, R. e Arenales, M. (1992). Um exame dos problemas de corte e empaco-tamento. Pesquisa Operacional, v. 12, n. 1, p. 1–20.

Morabito, R. e Arenales, M. (2000). Optimizing the cutting of stock plates in afurniture company. International Journal of Production Research, v. 38, n. 12, p.2725–42.

Morabito, R. e Arenales, M. N. (1996). Staged and constrained two-dimensionalguilhotine cutting problems: an and/or-graph approach. European Journal of Ope-rational Research, v. 94, n. 3, p. 548–560.

Morabito, R. e Garcia, V. (1998). Uma abordagem para o problema de cortes dechapas de fibra de madeira reconstituída. Pesquisa Operacional, v. 18, n. 1, p.37–57.

Moscato, P. (1989). On evolution, search, optimization, genetic algorithms andmartial arts: Towards memetic algorithms. Relatório técnico, California Instituteof Technology, Pasadena, California, USA.

Osman, I. H. e Laporte, G. (1996). Metaheuristics: A bibliography. OperationalResearch, v. 63, p. 513–623.

P., Le François e Gascon, A. (1995). Solving a one-dimensional cutting-stock problemin a small manufacturing firm: a case study. IIE Transactions, v. 27, p. 483–496.

Pareto, V. (1896). Cours D’Economie Politique. F. Rouge.

Pileggi, G. C. F.; Morabito, R. e Arenales, M. N. (2006). Abordagens para otimiza-ção integrada dos problemas de geração e sequênciamento de padrões de corte: casounidimensional. Pesquisa Operacional, v. 25, n. 3, p. 417–447.

Page 107: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas 93

Pinto, M. J. O problema de corte de estoque inteiro. Dissertação de Mestrado, Ins-tituto de Ciências Matemáticas e de Computação - ICMC-USP, São Carlos, (1999).

Régnier, J. Conception de Systèmes Hétérogènes en Génie Electrique par Optimi-sation Evolutionnaire Multicritère. PhD thesis, Institut National Polytechnique deToulouse, Toulouse, (2003). Tese (Docteur de l’INPT).

Richter, K. (1992). Solving sequential interval cutting problems via dynamic pro-gramming. European Journal of Operations Research, v. 57, p. 332–338.

Rudolph, G. (1999). Evolutionary search under partially ordered sets. Relatóriotécnico, Dortmund, Germany.

Schaffer, J. D. (1984). Some Experiments in Machine Learning using Vector Eva-luated Genetic Algorithms. Thesis (Doctor of Philosophy) - Vanderbilt University,Vanderbilt University,Nashville.

Srinivas, N. e Deb, K. (1993). Multiobjective optimization using nondominatedsorting in genetic algorithms. Relatório técnico, Kanput, India.

Srinivas, N. e Deb, K. (1995). Multiobjective function optimization using nondomi-nated sorting genetic algorithms. Evol. Comput., volume 2, p. 221–248, (1995).

Sweeney, P. e Parternoster, E. (1992). Cutting and packing problems: A categorized.Application - Oriented Research Bibliography, v. , n. 43, p. 691–706.

Umetami, S.; Yagiura, M. e Ibaraki, T. (2003). One-dimensional cutting stockproblem to minimize the number of different patterns. Operations Research, v. 146,p. 388–402.

Vanderbeck, F. (2000). Oexact algorithm for minimizing the number of setups in theone dimensional cutting stock problem. European Journal of Operational Research,v. 48, n. 6, p. 915–926.

Viennet, C. F. e Marc, I. (1996). Multicriteria optimization using a genetic algorithmfor determining a pareto set. International Journal of Systems Science, v. 27, n. 2,p. 255–260.

Von-Zuben, F. J. (2000). Computação evolutiva: Uma abordagem pragmática.Anais da I Jornada de Estudos em Computação de Piracicaba e Região, v. 1, p.24–45.

Wang, P. Y. (1983). Two algorithms for constrained two-dimensional cutting stockproblems. Operations Research, v. 31, n. 3, p. 573–586.

Wang, P. Y. e Waescher, G. (2002). Two algorithms for constrained two-dimensionalcutting stock problems. European Journal of Operational Research, v. 141, p. 239–469.

Wäscher, G.; Haußner, H. e Schumann, H. (2006). An improved typology of cuttingand packing problems. European Journal of Operational Research, v. 4, p. 44–454.

Page 108: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Referências Bibliográficas 94

Whitley, D.L. (1992). A genetic algorithm tutorial. Relatório Técnico CS93103,Colorado State University.

Yanasse, H. H. e Limeira, M. S. (2006). A hybrid heuristic to reduce the number ofdifferent patterns in cutting stock problems. Computers and Operations Research,v. 33, n. 9, p. 2744–2756.

Yanasse, H. H.; Zinober, A. S. I. e Harris, R.G. (1991). Two-dimensional cuttingstock with multiple stock sizes. Journal of the Operational Research Society, v. 42,n. 8, p. 673–683.

Yeung, L.H.W. e Tang, W.K.S. (2004). Strip-packing using hybrid genetic approach.Engineering Applications of Articial Intelligence, v. 17, p. 169–177.

Zitzler, E. Evolutionary Algorithms for Multi-objective Optimization: Methods andApplications. PhD thesis, Swiss Federal Institute of Technology Zurich, (1999).Thesis (Doctor of Technical Sciences).

Zitzler, E.; Deb, K. e Thiele, L. (2000). Comparison of multiobjective evolutionaryalgorithms: Empirical results. Evol. Comput., v. 8, n. 2, p. 173–195.

Zitzler, E.; Laumanns, M. e Thiele, L. Sept.(2001). Spea2: Improving the strengthpareto evolutionary algorithm. In: EUROGEN 2001, Evolutionary Methods forDesign, Optimization and Control with Applications to Industrial Problems, p. 12–21, Athens.

Zitzler, E. e Thiele, L. (1998). An evolutionary algorithm for multi-objective opti-mization: The strength pareto approach. Relatório técnico, Zurich.

Page 109: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Livros Grátis( http://www.livrosgratis.com.br )

Milhares de Livros para Download: Baixar livros de AdministraçãoBaixar livros de AgronomiaBaixar livros de ArquiteturaBaixar livros de ArtesBaixar livros de AstronomiaBaixar livros de Biologia GeralBaixar livros de Ciência da ComputaçãoBaixar livros de Ciência da InformaçãoBaixar livros de Ciência PolíticaBaixar livros de Ciências da SaúdeBaixar livros de ComunicaçãoBaixar livros do Conselho Nacional de Educação - CNEBaixar livros de Defesa civilBaixar livros de DireitoBaixar livros de Direitos humanosBaixar livros de EconomiaBaixar livros de Economia DomésticaBaixar livros de EducaçãoBaixar livros de Educação - TrânsitoBaixar livros de Educação FísicaBaixar livros de Engenharia AeroespacialBaixar livros de FarmáciaBaixar livros de FilosofiaBaixar livros de FísicaBaixar livros de GeociênciasBaixar livros de GeografiaBaixar livros de HistóriaBaixar livros de Línguas

Page 110: Algoritmos Evolutivos Mono e Multiobjetivos para …livros01.livrosgratis.com.br/cp149644.pdfNos testes realizados, na resolução de problemas da literatura e de problemas gerados

Baixar livros de LiteraturaBaixar livros de Literatura de CordelBaixar livros de Literatura InfantilBaixar livros de MatemáticaBaixar livros de MedicinaBaixar livros de Medicina VeterináriaBaixar livros de Meio AmbienteBaixar livros de MeteorologiaBaixar Monografias e TCCBaixar livros MultidisciplinarBaixar livros de MúsicaBaixar livros de PsicologiaBaixar livros de QuímicaBaixar livros de Saúde ColetivaBaixar livros de Serviço SocialBaixar livros de SociologiaBaixar livros de TeologiaBaixar livros de TrabalhoBaixar livros de Turismo