ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO STRICTO SENSU EM ENGENHARIA DE PRODUÇÃO CURSO DE DOUTORADO EM ENGENHARIA DE PRODUÇÃO
ANDRÉ SOARES VELASCO
ALGORITMOS HÍBRIDOS PARA O PROBLEMA DE CORTE BIDIMENSIONAL
Tese apresentada ao Curso de Doutorado em Engenharia de Produção da Universidade Federal Fluminense como requisito parcial para obtenção do Grau de Doutor em Engenharia de Produção.
Professor Orientador:
Prof. EDUARDO UCHOA BARBOZA, DSc.
Niterói 2017
Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação da UFF
V433 Velasco, André Soares
Algoritmos híbridos para o problema de corte bidimensional / André Soares Velasco. – Niterói, RJ : [s.n.], 2017.
134 f.
Tese (Doutorado em Engenharia de Produção) - Universidade Federal Fluminense, 2017.
Orientador: Eduardo Uchoa Barboza.
1. Pesquisa operacional. 2. Metaheurística. 3. Programação inteira. 4. Programação dinâmica. I. Título.
CDD 658.4034
ANDRÉ SOARES VELASCO
ALGORITMOS HÍBRIDOS PARA O PROBLEMA DE CORTE BIDIMENSIONAL
Tese apresentada ao Curso de Doutorado em Engenharia de Produção da Universidade Federal Fluminense como requisito parcial para obtenção do Grau de Doutor em Engenharia de Produção.
Aprovada em 22 de março de 2017
BANCA EXAMINADORA
____________________________________________ Professor Orientador: Eduardo Uchoa Barboza, D.Sc.
Universidade Federal Fluminense
____________________________________________ Artur Alves Pessoa, D.Sc.
Universidade Federal Fluminense
____________________________________________ Luiz Satoru Ochi, D.Sc.
Universidade Federal Fluminense
____________________________________________ Geraldo Galdino de Paula Junior, D.Sc.
Universidade Estadual do Norte Fluminense ____________________________________________
Reinaldo Morabito Neto, D.Sc. Universidade Federal de São Carlos
Niterói 2017
DEDICATÓRIA
A minha doce mãe Hudinéa†
, ao meu corajoso irmão Julinho†
e aos queridos avós Irani e Florentino†
AGRADECIMENTOS
Agradeço a Deus, por ter me conduzido e iluminado em todos os momentos.
Ao meu orientador Eduardo Uchoa Barboza, pela valiosa orientação, amizade, compreensão e, sobretudo, pela confiança depositada no desenvolvimento deste trabalho.
Aos amigos Frederico Galaxe e Marcos Roboredo, pelo apoio e amizade imprescindíveis para essa conquista. A vocês minha eterna gratidão.
Aos professores Artur Alves Pessoa, Luiz Satoru Ochi, Geraldo Galdino de Paula Junior e Reinaldo Morabito Neto, membros da comissão examinadora, pelas sugestões apresentadas para o aperfeiçoamento deste trabalho.
Aos meus amigos, colegas de doutorado e servidores da UFF:
Leonardo Lube, Alex Barcellos, Ricardo Gurgel, Wirley Almeida, Diogo Nadai, Ricardo Torres, Ronaldo Rangel, Elaine Moreira, Roberta Ramalho, Augusto Pimentel, Philippe Leal, Tiago Santos, Ailton Ferreira, Érik Oliveira, Liana Souza, Hugo Kramer, Max Oliveira, Daniel Dias, Luiz Santanna, Eduardo Montalvão, José Mauricio Brasil, Luiz Aizemberg, Ana Paula dos Santos, Mario Brazão, Hermilcinéa Alves, Tânia Machado e tantos outros que, direta ou indiretamente, contribuíram para realização deste trabalho, não hesitando momento algum em me incentivar.
Ao querido casal Marcelo e Danielle Velasco e a todos os demais familiares, pelo apoio irrestrito e palavras de encorajamento nos momentos difíceis.
Ao meu filho Pedro Julio, pela sua presença na minha vida ser a maior fonte de encorajamento para realização deste trabalho.
Ao Instituto Federal Fluminense e a CAPES pelo incentivo e apoio financeiro durante o período de doutorado.
RESUMO
O presente trabalho tem como objetos de estudo dois tipos de Problemas de Corte e Empacotamento, conhecidos na literatura como Problema de Corte Bidimensional Guilhotinado Restrito (PCBGR) e Problema de Corte de Estoque Bidimensional Guilhotinado (PCEBG), ambos pertencendo à classe NP-difícil, nos casos com e sem rotação de itens. Esses problemas possuem grande aplicabilidade em diversos setores produtivos que consideram as ações de corte na transformação de materiais em produtos semiacabados ou finais, tais como: metal mecânico, moveleiro, rochas ornamentais, entre outros. Primeiramente, são apresentadas as contribuições para o PCBGR: o algoritmo RG2D, fundamentado no Reactive Greedy Randomized Adaptive Search Procedure (GRASP Reativo) e implementado a partir de melhorias feitas no algoritmo GRASP-2D (G2D), para tratar o problema em destaque; o algoritmo X, baseado em Programação Inteira e capaz de provadamente obter os pesos ótimos para a relaxação de espaço de estados da Programação Dinâmica proposta em (CHRISTOFIDES; HADJICONSTANTINOU, 1995); o algoritmo X2, proposto como uma generalização de X que usa pesos bidimensionais para obter limites ainda mais fortes; o algoritmo X2H que consiste na adaptação de X2 para transformá-lo em uma heurística primal; o método X2D, resultante da combinação desses quatro elementos, foi testado em um grande conjunto de instâncias e mostrou ser capaz de encontrar soluções com garantias de qualidade ou mesmo certificado de otimalidade nas variantes com e sem rotação dos itens. A seguir, tendo como objeto de estudo o PCEBG, as contribuições são: a proposta de um algoritmo híbrido que combina a técnica de Geração de Colunas com Programação Dinâmica e o novo algoritmo RG2D. Os resultados computacionais obtidos até o momento foram bastante positivos. Em todas as instâncias testadas as soluções encontradas nunca ficaram mais do que 1 unidade além do limite inferior dado pela Geração de Colunas.
Palavras-chave: Corte Bidimensional, GRASP, Programação Dinâmica, Programação Inteira, Geração de Colunas.
ABSTRACT
The present work addresses two types of Cutting and Packing Problems, known in the literature as dimensional Guillotine Restricted Cutting Problem (TGRCP) and Two-dimensional Guillotine Cutting Stock Problem (TGCSP), both in the NP-hard class, with and without item rotation. Those problems have applications in industry, where cutting operations are performed for transforming raw stocks into final or semi-final products, in sectors like metallurgy, furniture, glass, ornamental stones, among others. Firstly, the following contributions are presented: the RG2D algorithm based on the Reactive Greedy Randomized Adaptive Search Procedure (GRASP Reactive) and implemented from improvements made in the GRASP-2D (G2D) algorithm, to address the highlighted problem; the Algorithm X, based on Integer Programming and capable of provably to obtain the optimal weights for the Dynamic Programming state space relaxation proposed in (CHRISTOFIDES; HADJICONSTANTINOU, 1995); the X2 algorithm proposed as a generalization of X that uses two-dimensional weights in order to obtain even stronger upper bounds; the X2H algorithm that consists in the adaptation of X2 to transform it into a primal heuristic; the method X2D that results from the combination of those four elements was tested in a large set of instances and showed to be able to find solutions with quality guarantees or even certificate of optimality. Next, in order to handle TGCSP, the contributions are: hybrid algorithms that combine in different ways Column Generation with Dynamic Programming and the new RG2D algorithms are proposed. The computational results obtained so far were very positive. In all tested instances, the final solutions were never more than 1 unit above the lower bound given by the Column Generation.
Keywords: Two-dimensional Cutting, GRASP, Integer Programming, Dynamic Programming, Column Generation.
LISTA DE TABELAS
Tabela 4.1: Instância de Christofides e Whitlock Adaptada...53
Tabela 4.2: Resultados nas Instâncias Clássicas sem Rotação e com Peso ... 78
Tabela 4.3: Resultados nas Instâncias Clássicas sem Rotação e sem Peso ... 79
Tabela 4.4: Resultados nas Instâncias APT sem Rotação e com Peso ... 80
Tabela 4.5: Resultados nas Instâncias APT sem Rotação e sem Peso ... 80
Tabela 4.6: Resultados nas Instâncias gcut sem Rotação e sem Peso ... 81
Tabela 4.7: Resultados nas Instâncias Clássicas com Rotação e com Peso ... 82
Tabela 4.8: Resultados nas Instâncias Clássicas com Rotação e sem Peso ... 82
Tabela 4.9: Resultados nas Instâncias APT com Rotação e com Peso ... 83
Tabela 4.10: Resultados nas Instâncias APT com Rotação e sem Peso ... 83
Tabela 4.11: Resultados nas Instâncias gcut com Rotação e sem Peso ... 84
Tabela 5.1: Resultados nas Instâncias Clássicas sem Rotação e com Peso ... 106
Tabela 5.2: Resultados nas Instâncias Clássicas sem Rotação e sem Peso ... 107
Tabela 5.3: Resultados nas Instâncias Randômicas da Classe 1 sem Rotação e sem Peso ... 109
Tabela 5.4: Resultados nas Instâncias Randômicas da Classe 2 sem Rotação e sem Peso ... 110
Tabela 5.5: Resultados nas Instâncias Randômicas da Classe 3 sem Rotação e sem Peso ... 111
Tabela 5.6: Resultados nas Instâncias APT sem Rotação e com Peso ... 112
Tabela 5.7: Resultados nas Instâncias APT sem Rotação e sem Peso ... 112
Tabela 5.8: Resultados nas Instâncias gcut sem Rotação e sem Peso ... 113
Tabela 5.9: Resultados nas Instâncias Clássicas com Rotação e com Peso ... 114
Tabela 5.10: Resultados nas Instâncias Clássicas com Rotação e sem Peso ... 114
Tabela 5.11: Resultados nas Instâncias Randômicas da Classe 1 com Rotação e sem Peso ... 115
Tabela 5.12: Resultados nas Instâncias Randômicas da Classe 2 com Rotação e sem Peso ... 115
Tabela 5.13: Resultados nas Instâncias Randômicas da Classe 3 com Rotação e sem Peso ... 116
Tabela 5.14: Resultados nas Instâncias APT com Rotação e com Peso ... 117
Tabela 5.15: Resultados nas Instâncias APT com Rotação e sem Peso ... 117
Tabela 5.16: Resultados nas Instâncias gcut com Rotação e sem Peso ... 118
Tabela 5.17: Limites Superiores e Inferiores por Fases do X2D para o PCBGR ... 119
Tabela 5.18: Limites Superiores e Inferiores por Fases do X2D para o PCBGR Rotacionado ... 119
Tabela 6.1: Resultados do GCH2D com Padrões de Corte Residuais RG2Da ... 124
LISTA DE FIGURAS
Figura 1.1: Problema de Corte de Estoque Bidimensional Guilhotinado ... 13
Figura 2.1: Estrutura dos Problemas de Corte e Empacotamento ... 20
Figura 2.2: Padrões de Corte Bidimensionais Ortogonais ... 24
Figura 3.1: Itens Regulares e Irregulares ... 28
Figura 3.2: Corte Guilhotinado Ortogonal ... 29
Figura 3.3: Cortes Guilhotinados em Dois Estágios ... 29
Figura 4.1: Cortes Guilhotinados e Faixas Guilhotinas ... 47
Figura 4.2: Faixas Guilhotinas Horizontais e Verticais ... 48
Figura 4.3: Padrão de Corte para o PCBGR ... 49
Figura 4.4: Geração de Faixas Guilhotinas Horizontais e Verticais com Algoritmo G2D ... 54
Figura 4.5: Geração de Faixas Guilhotinas Horizontais e Verticais com Algoritmo G2D ... 55
Figura 4.6: Padrão de Corte Ótimo da Instância CU2 com Repetição de Faixas Homogêneas ... 58
Figura 4.7: Faixas Guilhotinas Horizontais e Verticais com Melhoria A ... 59
Figura 4.8: Padrão de Corte Ótimo da Instância OF1 com Melhorias M e A ... 62
Figura 4.9: Padrão de Corte Ótimo da Instância ChW1 com Algoritmo G2Dv ... 64
Figura 4.10: Faixas Guilhotinas Horizontais e Reaproveitamento de Dentes ... 66
Figura 4.11: Faixas Guilhotinas Verticais e Reaproveitamento de Dentes ... 67
Figura 4.12: Padrão de Corte com Reaproveitamento de Dentes ... 70
Figura 4.13: Padrão de Corte gcut13 com Reaproveitamento de Dentes e LRF ... 71
Figura 4.14: Padrões de Corte APT33 com Algoritmo RG2D ... 85
Figura 5.1: Padrões de Corte Inviáveis da Instância CW4 com Algoritmo X ... 94
LISTA DE QUADROS
Quadro 2.1: Nomenclatura da Tipologia ... 26
Quadro 2.2: Tipologia de Alguns Problemas ... 27
Quadro 3.1: Artigos Revisados do Problema de Corte de Estoque ... 41
SUMÁRIO
1 INTRODUÇÃO ... 12
2 TIPOLOGIA DOS PROBLEMAS DE CORTE E EMPACOTAMENTO ... 19
2.1 DIMENSIONALIDADE ... 20
2.2 MEDIDAS QUANTITATIVAS ... 21
2.3 FORMATO DAS FIGURAS ... 21
2.4 SORTIMENTO ... 22
2.5 DISPONIBILIDADE ... 22
2.6 RESTRIÇÕES DE PADRÃO ... 23
2.7 RESTRIÇÕES DE ALOCAÇÃO ... 24
2.8 OBJETIVOS ... 25
2.9 ESTADO DA INFORMAÇÃO E VARIABILIDADE ... 25
2.10 NOMENCLATURA DE DYCKHOFF ... 25
3 PROBLEMAS DE CORTE BIDIMENSIONAL ... 28
3.1 PROBLEMA DE CORTE DE ESTOQUE BIDIMENSIONAL GUILHOTINADO ... 30
3.2 PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO RESTRITO ... 32
3.3 REVISÃO BIBLIOGRÁFICA ... 33
4 AMPLIAÇÕES DO ALGORITMO G2D PARA O PCBGR ... 43
4.1 METAHEURÍSTICA GRASP ... 43
4.1.1 Fase de Construção da GRASP ... 44
4.1.2 Fase de Melhoria da GRASP ... 45
4.1.3 GRASP Reativo ... 46
4.2 ALGORITMO G2D ORIGINAL ... 46
4.2.1 Fundamentos para Implementação do G2D ... 47
4.2.2 Fase de Construção das Faixas no Algoritmo G2D ... 50
4.2.3 Fase de Melhoria das Faixas no Algoritmo G2D ... 51
4.2.4 Geração de Padrão de Corte no Algoritmo G2D ... 53
4.2.5 Algoritmo G2D ... 56
4.3 ALGORITMOS G2Da E G2Dv ... 57
4.3.1 Parâmetro φ e Repetição de Faixas Homogêneas ... 58
4.3.2 Movimento de Melhoria A ... 59
4.3.2 Pseudocódigo do Algoritmo G2Da ... 62
4.3.3 Lista Restrita de Candidatos do Algoritmo G2Dv ... 63
4.4 ALGORITMOS G2D REATIVOS ... 64
4.4.1 Parâmetro δ e Dentes nas Faixas Guilhotinas ... 66
4.4.2 Parâmetro ψ e Lista Restrita de Faixas ... 70
4.4.3 Pseudocódigo Genérico do Algoritmo RG2D ... 72
4.5 RESULTADOS COMPUTACIONAIS ... 74
5 ALGORITMO PRIMAL-DUAL PARA O PCBGR ... 86
5.1 PROGRAMAÇÃO DINÂMICA PARA O PCBGI ... 86
5.1.1 Programação Dinâmica para Discretização ... 87
5.1.2 Algoritmo
Dynamic Programming
... 875.2 PROGRAMAÇÃO DINÂMICA PARA O PCBGR ... 89
5.2.1 Relaxação do Espaço de Estados da Programação Dinâmica ... 90
5.3 LIMITES SUPERIORES PARA O PCBGR POR PROGRAMAÇÃO DINÂMICA E INTEIRA ... 92
5.3.2 Algoritmo X2 ... 96
5.4 LIMITES INFERIORES PARA O PCBGR POR GRASP, PROGRAMAÇÃO DINÂMICA E INTEIRA ... 99
5.4.1 Heurística X2H ... 100
5.4.2 Múltiplos Padrões na Matriz da Programação Dinâmica ... 102
5.4.3 Heurística de Viabilização ... 102
5.5 ALGORITMO X2D ... 103
5.6 RESULTADOS COMPUTACIONAIS ... 104
6 ALGORITMOS GERAÇÃO DE COLUNAS PARA O PCEBG ... 120
6.1 ALGORITMOS GCH2D E GCH2Dr ... 120
6.2 RESULTADOS COMPUTACIONAIS ... 122
7 CONCLUSÕES E TRABALHOS FUTUROS ... 125
REFERÊNCIAS BIBLIOGRÁFICAS ... 129
1 INTRODUÇÃO
O planejamento operacional de ações que consistem na transformação de materiais em produtos semiacabados ou finais, não somente evidenciam a tecnologia de processos como também destacam a produtividade, utilizando de forma inteligente os recursos da produção. Nas empresas atuantes em setores produtivos que consideram o beneficiamento de materiais, através do corte realizado em madeiras, metais, vidros, rochas ornamentais, tecidos entre outras matérias-primas, cujas sobras praticamente não são reaproveitadas, o objetivo de minimizar o desperdício nestas transformações resultariam em considerável melhoria e eficiência dos processos, promovendo estimável redução nos custos e, principalmente, agregando diferencial competitivo a esses produtos.
Nesse contexto, é importante ressaltar que as empresas bem sucedidas consideram imprescindível um rigoroso controle de seus custos. As empresas que desejam aumentar sua competitividade no mercado devem ter como objetivos a alta qualidade e a eficiência, pois um processo não otimizado pode significar altos custos. Diminuir o desperdício de matéria prima no processo produtivo reduz os custos e, consequentemente, esses produtos podem chegar ao mercado com um preço menor, aumentando o volume de vendas, a receita da empresa e a satisfação do consumidor. Ressaltando ainda que os custos de uma operação podem ser reduzidos melhorando a eficiência do processo. Assim, a realização de suas atividades de forma apropriada, no menor custo possível, proporciona a uma empresa considerável vantagem competitiva.
Dos problemas de Engenharia de Produção que podem ser representados através de um modelo de otimização, o trabalho destaca alguns dos Problemas de Corte e Empacotamento, como são conhecidos na literatura, evidenciando variantes dos clássicos Problema de Corte (Cutting Problem) e Problema de Corte de Estoque (Cutting Stock Problem). Restringido a cortes ortogonais do tipo guilhotina, possivelmente realizados por lâminas ou lasers, para obtenção de produtos retangulares a partir de materiais com o mesmo formato, o Problema de Corte Bidimensional Guilhotinado Restrito (PCBGR) e o Problema de Corte de Estoque Bidimensional Guilhotinado (PCEBG) apresentam-se como objeto de estudo no presente trabalho.
Nessa ordem, um problema com relativo destaque na literatura é o Problema de Corte Bidimensional (PCB) que busca determinar um único padrão de corte, com duas dimensões relevantes, comprimento e largura, que minimize a perda de matéria prima gerada ou maximize o lucro total, com o corte dos itens, dá as características necessárias para
identificar as variantes do PCB. Aos itens, atribui-se um valor de utilidade que pode ser a medida de sua área (PCB sem peso) ou estar relacionado à sua importância em presença aos outros itens (PCB com peso). Uma rotação de 90º nos itens pode ser aceita (PCB com rotação) ou proibida (PCB sem rotação). Os cortes ortogonais podem ser guilhotinados e gerar dois novos retângulos (PCBG) ou não guilhotinados (PCBNG). A quantidade de cada item produzido a partir de cortes guilhotina pode ser restrita (PCBGR) ou ilimitada (PCBGI), e abordagens para estas variantes também são evidenciadas neste trabalho. O número de estágios no padrão de corte está relacionado à quantidade de mudanças permitidas na direção dos cortes guilhotina, ou seja, pode-se admitir apenas k rotações de 90º nas direções destes cortes (k-estagiado) ou não restringir esta quantidade (não estagiado). A Figura 1.1 destaca dois padrões de corte distintos com dois e quatro estágios, respectivamente, e indicando a sequência dos k estágios por Gk.
FIGURA 1.1 – Problema de Corte de Estoque Bidimensional Guilhotinado
Já o PCEBG consiste em determinar como se deve cortar um conjunto de peças retangulares (Objetos) em quantidade suficiente, a partir de cortes ortogonais a um dos lados dessas peças, com o intuito de produzir certa quantidade de peças retangulares menores (Itens), utilizando a menor quantidade possível desses objetos. Com sua grande aplicabilidade em variados setores de produção, anteriormente exemplificados, uma solução ótima para este problema apresentaria quais padrões bidimensionais, produzidos a partir de cortes com guilhotina, devem ser repetidos o mínimo de vezes para atender uma demanda, conforme ilustrado na Figura 1.1.
Na tipologia apresentada por Dyckhoff (1990) para os Problemas de Corte e Empacotamento, o PCBGR é apontado pela quádrupla 2/B/O/R, que determina ser um
Itens a Produzir Padrão de Corte 1 Padrão de Corte 2
problema da classe bidimensional (2), (B) determina a alocação de todos os objetos e uma parte dos itens, (O) delimita o problema a um objeto e relativamente poucos itens, com várias cópias de cada item (R). Já o PCEBG é indicado pela quádrupla ordenada 2/V/I/R, com todos os itens sendo designados a uma seleção de objetos (V) e estes possuindo formatos idênticos (I). Uma nova tipologia, aprimorada a partir desta por Wäscher et al. (2007), na qual os Problemas de Corte e Empacotamento são caracterizados por dimensionalidade, tipo de alocação, variedade dos itens, variedade dos objetos e forma dos itens, também aparece em destaque na literatura e atribui aos respectivos problemas supracitados a seguinte classificação: 2-d Retangular SLOPP (Two-dimensional Rectangular Single Large Object Placement Problem) e 2-d Retangular SSSCSP (Two-dimensional Rectangular Single Stock-Size Cutting Stock Problem).
Do ponto de vista prático, o PCBGR e o PCEBG estão presentes no cotidiano das várias empresas do setor de beneficiamento de rochas ornamentais, por exemplo, as encontradas nas regiões Norte e Noroeste Fluminense. As marmorarias, como são conhecidas essas empresas, produzem peças sob encomenda para a construção civil, cortando-se placas de mármore ou granito em pedaços menores. Os cortes nessas placas podem ser arranjados de várias maneiras e, geralmente, produzem retalhos de matéria prima, provenientes dos pedaços que sobram, após o corte das peças desejadas. Nos casos em que a otimização das placas não se faz presente, os retalhos, sobras de matéria-prima que dificilmente são reaproveitadas, acabam influenciando o preço do produto final, devido ao valor irrelevante destes no mercado. Como em muitas dessas empresas, a forma de se determinar este arranjo não é fundamentada em métodos científicos, e sim por métodos, que, baseados apenas na experiência, acabam produzindo retalhos em quantidades indesejáveis, refletindo diretamente no custo final do produto. Portanto, minimizar a perda de matéria prima, ou maximizar o seu aproveitamento, com a melhoria e a eficiência das atividades de corte, pode resultar em economias substanciais vindos a ser um importante diferencial de competitividade para as empresas deste setor.
A fácil compreensão destes problemas supracitados esconde a sua real complexidade quando o objetivo é obter soluções rápidas, que atendam às necessidades cotidianas dos setores produtivos em tempo real. De uma forma geral, os Problemas de Corte pertencem à classe de problemas denominada NP-Difícil (GAREY; JOHSON, 1979), em que não é interessante o uso exclusivo de algoritmos exatos para problemas de médio e grande porte. Isto significa que a determinação da solução ótima para todas essas variantes do PCB, assim como o PCEBG correspondente, está relacionada a um processo de otimização combinatória
intratável do ponto de vista computacional, devido ao grande número de padrões de corte possíveis. Nestes casos, os métodos heurísticos e híbridos são bastante considerados, constituindo-se uma alternativa válida para os respectivos problemas.
Uma abordagem clássica para o tratamento dos Problemas de Corte de Estoque (PCE) em geral, é a Geração de Colunas (GC), introduzida por Gilmore e Gomory (1961, 1963, 1965). Para determinar as colunas interessantes no Problema Linear Mestre (PL Mestre), a GC exige a solução dos chamados problemas de corte com peso (subproblema de apreçamento), que buscam por um padrão de corte que maximize o lucro total dos itens produzidos nesse padrão. Na literatura, as técnicas baseadas em GC têm alcançado bons resultados no PCEBG k-estagiado, onde os subproblemas de apreçamento são do tipo PCBGR k-estagiado ou PCBGI k-estagiado. Neste caso, abordagens utilizando híbridos com GC e heurísticas, ou mesmo modelos completos de Programação Inteira Mista (PIM), podem ser conferidas em Cintra et al. (2008), Silva et al. (2010) e Furini et al.(2012).
Entretanto, sabe-se que o PCBGR é fortemente NP-Difícil (HIFI, 2004b) e o não estagiado é mais difícil de resolver de forma exata do que o PCBGR k-estagiado ou o PCBGI não estagiado. Existem relativamente poucos trabalhos propondo métodos exatos para a resolução do PCBGR, como os algoritmos exatos propostos por Christofides e Whitlock (1977), Christofides e Hadjiconstantinou (1995), Hifi (1997a), Cung et al. (2000) e Dolatabadi et al. (2012). Algumas abordagens utilizam também Programação Inteira Mista (PIM) como apresentado em Furini et al. (2016). Porém, todos estes métodos ainda apresentam tempos proibitivos nas instâncias consideradas de médio e grande porte. Consequentemente, a utilização de métodos heurísticos e híbridos aparece com uma alternativa plausível e algumas dessas abordagens podem ser conferidas nos trabalhos de Alvarez-Valdés et al. (2002a), Hifi (2004b), Morabito e Pureza (2010).
Defronte a esta dificuldade, o trabalho apresenta um estudo sobre a aplicação da técnica Reactive Greedy Randomized Adaptive Search Procedure (GRASP Reativo), juntamente a algoritmos baseados em Programação Dinâmica (PD) e Programação Inteira (PI), para o PCBGR. Com a mesma incumbência, propõe-se reunir as técnicas GC, PD e a metaheurística GRASP na construção de um algoritmo para tratar do PCEBG.
Apresentado inicialmente em (VELASCO et al., 2008), as novas ampliações do algoritmo GRASP-2D (G2D) são inspiradas nos conceitos GRASP Reativo (PRAIS; RIBEIRO, 2000) para determinação do melhor parâmetro α. Entretanto, a fase de ajustes nesses novos algoritmos reativos vai incorporar o parâmetro ψ, associado à escolha da nova faixa que compõe um padrão de corte. Sendo as ampliações reativas denominadas RG2Da e
RG2Dv para as variantes sem peso e com peso do PCBGR, estas também passam a considerar os casos sem rotação e com rotação via RG2Dar e RG2Dvr. Além disso, são realizados melhorias nas faixas que consideram inclusive o reaproveitamento dos subretângulos categorizados como perdas e chamados de dentes. Para fins de validação, os resultados para o caso sem rotação são comparados com os apresentados nos trabalhos de Alvarez-Valdés et al. (2002a), Morabito e Pureza (2010), e Dolatabadi et al. (2012).
Sabendo que Christofides e Hadjiconstantinou (1995) propuseram uma PD com relaxação do espaço de estados para obter de limites superiores ZUB fortes para o PCBGR, onde a qualidade desse limite depende de um vetor de pesos q, com dimensão dada pelo total de itens distintos. Para ajustar tais pesos, criaram um algoritmo inspirado no método do subgradiente para relaxação lagrangeana. O presente trabalho propõe o algoritmo dual X, em que os pesos são calculados por PI. Esse algoritmo é provadamente ótimo no sentido de sempre obter os pesos que minimizam o limite superior final alcançado. É proposta também uma generalização da relaxação do espaço de estados que utiliza pesos bidimensionais, para melhorar ainda mais a qualidade dos limites superiores, e o algoritmo dual X2 é apresentado para esse ajuste ótimo dos pesos. O algoritmo primal X2H é outra proposta que consiste em uma heurística primal baseada na adaptação de X2. Assim como os novos algoritmos RG2D, X2H tem a finalidade de obter um padrão de corte viável que melhore o limite inferior ZLB. Admitindo a possibilidade de que a substituição de itens que apresentam quantidade acima da demanda por outros ainda não produzidos pode gerar uma solução de maior valor, é apresentada uma heurística de viabilização do padrão de corte. Esse processo de viabilização pode ser realizado nos padrões ótimos e subótimos da PD relaxada para algum vetor de pesos q. Finalmente, o método composto pelos algoritmos X, X2 RG2D e X2H é proposto para resolução do PCBGR, nas variantes que se diferenciam pelo valor de utilidade dos itens e a questão de sua rotação. Chamado de X2D, este algoritmo é capaz de fornecer certificado de otimalidade a solução de valor ZLB igual a ZUB. Este algoritmo X2D é testado em 513 instâncias que se dividem nas variantes sem rotação e seus respectivos resultados são comparados com os algoritmos DP_AOG e A1, propostos por Morabito e Pureza (2010) e Dolatabadi et al. (2012). No caso rotacionado, é importante ressaltar que ainda não há resultados disponíveis na literatura para comparação com o algoritmo X2D.
A aplicação conjugada da técnica GC para o PCEBG, com um algoritmo de Programação Dinâmica para o PCBGI e a versão reativa RG2D para o PCBGR, constitui o algoritmo híbrido GCH2D, proposto por Velasco e Uchoa (2015). Sabendo que o algoritmo denominado DP, incialmente apresentado por Beasley (1985) para o PCBGI, foi reestruturado
para o subproblema da GC proposta por Cintra et al. (2008) e caso a solução ótima do PL Mestre não seja inteira, basicamente o processo consiste em utilizar o RG2D para resolver o problema residual como um PCBGR até que a demanda seja atendida. Para avaliar o desempenho dos algoritmos híbridos GCH2D e GCH2Dr, nos casos sem e com rotação, foram realizados testes em 24 instâncias do PCEBG e comparados com os algoritmos CG, CGP, CGR e CGRP apresentados em Cintra et al. (2008).
Este trabalho está dividido em 7 capítulos. Além do Capítulo 1 introdutório, duas estruturas lógicas, compreendendo as características essenciais para a classificação dos Problemas de Corte e Empacotamento, segundo Dyckhoff (1990) e Wäscher et al.(2007), são descritas no Capítulo 2.
No Capítulo 3, são apresentadas as definições dos Problemas de Corte Bidimensional que caracterizam o PCEBG e o PCBGR. Ainda neste capítulo, são mostradas as dificuldades envolvidas na modelagem destes problemas e uma introdução conceitual do método Geração de Colunas, concluindo com uma revisão bibliográfica que aborda ambos.
No Capítulo 4, é apresentada a implementação computacional das ampliações do algoritmo G2D que culminaram nas suas versões reativas para o PCBGR, com e sem peso ou rotação. Este capítulo inicia-se com os procedimentos característicos da metodologia GRASP e as definições necessárias na arquitetura dos procedimentos que dão origem as faixas horizontais e verticais do padrão de corte guilhotinado. Os novos parâmetros e estratégias de ajuste, definição de uma Lista Restrita de Faixas e suas atualizações e movimentos de melhoria que incluem o reaproveitamento de dentes nas faixas guilhotinas são apresentados com ênfase no decorrer desse Capítulo. Por último, é descrito o pseudocódigo geral do algoritmo RG2D e confrontados os respectivos resultados computacionais com algoritmos reconhecidos da literatura.
Inicialmente no Capítulo 5, é descrito o algoritmo DP para o PCBGI apresentado em (CINTRA et al., 2008), incluindo o algoritmo DDP que retorna um conjunto de pontos de discretização de um padrão canônico. Também é dada a devida ênfase a relaxação do espaço de estados proposta por Christofides e Hadjiconstantinou (1995). Em seguida, os algoritmos duais X e X2 são apresentados de forma a obter limites superiores sempre mais fortes, com os respectivos vetores de pesos da PD relaxada sendo calculados por Programação Inteira. Descreve-se então, a heurística primal X2H e a possibilidade de atualizar os limites inferiores com os respectivos algoritmos RG2D, nos múltiplos padrões subótimos da PD ou através de uma heurística de viabilização aplicada nos padrões inviáveis gerados por X, X2 e X2H. Sendo o algoritmo X2D uma composição dos algoritmos supracitados, este é apresentado com
destaque por ter a capacidade de garantir certificação de otimalidade para soluções do PCBGR, nas variantes com e sem rotação. Ao final desse Capítulo, são expostos os testes computacionais e suas devidas comparações para validação do algoritmo proposto.
O Capítulo 6 apresenta o desenvolvimento dos algoritmos híbridos GCH2D e GCH2Dr, para o PCEBG com e sem rotação. O Capítulo inicia-se com a apresentação dos fundamentos necessários na arquitetura desses algoritmos, seguido de um pseudocódigo genérico e dos resultados computacionais dos algoritmos relacionados.
Finalmente, no Capítulo 7, são apresentadas algumas considerações sobre as contribuições adquiridas com a utilização dos algoritmos RG2D, X2D e GCH2D propostos para otimização dos respectivos PCBGR e PCEBG, além de expor novas sugestões para continuidade da pesquisa.
2 TIPOLOGIA DOS PROBLEMAS DE CORTE E EMPACOTAMENTO
O Problema de Corte consiste em determinar a melhor maneira de produzir um conjunto de peças menores (denominadas itens) efetuando cortes em peças maiores (denominadas objetos). Enquanto, o Problema de Empacotamento consiste basicamente em determinar o melhor arranjo de um conjunto de itens dentro de objetos. Empacotar itens dentro de objetos também pode ser visto como cortes de espaços, sendo estes espaços ocupados por itens ou considerados perdas. De forma recíproca, o problema de corte pode ser encarado como empacotamento de espaços ocupados por itens em espaços ocupados por objetos (DYCKHOFF, 1990).
Os Problemas de Corte e Empacotamento, tais como corte de barras de ferro e barrotes de madeira na construção civil, corte de placas de granito nas marmorarias, corte de espumas para colchões e empacotamento de caixas em contêineres estão centrados em objetos e itens definidos por uma, duas ou três dimensões do espaço Euclidiano. De forma análoga, problemas desta categoria podem ter objetos e itens com dimensões abstratas, como por exemplo, o balanceamento de uma linha de montagem com dimensões temporais. Neste caso, o estoque de objetos é definido pelas estações de trabalho com intervalos de tempo fixados e a lista de itens é dada por tarefas específicas com durações que devem ser determinadas. Exceto pela restrição que impõe um ordenamento nas tarefas a cumprir, a estrutura lógica é a mesma encontrada nos problemas de empacotamento.
Assim como em Dyckhoff (1990), a Figura 2.1 exibe uma estrutura dos Problemas de Corte e Empacotamento, evidenciando a questão das dimensões espaciais e abstratas. E também, nos exemplos citados são apresentadas algumas das aplicações para os problemas dessa natureza.
Em vista da multiplicidade dos Problemas de Corte e Empacotamento nos setores produtivos e da importância desses problemas no planejamento da produção de algumas empresas há um incessante interesse de administradores, economistas, engenheiros, matemáticos, entre outros pesquisadores, em buscar soluções para esses problemas. Com a finalidade de classificar os Problemas de Corte e Empacotamento, identificar características comuns e concentrar pesquisas futuras em problemas de tipos específicos, Dyckhoff (1990) sugeriu em seu artigo uma nomenclatura baseada em uma estrutura lógica. A notoriedade deste trabalho culmina na publicação do livro Cutting and Packing in Production and Distribution, por Dyckhoff e Finke (1992), relacionando esta estrutura lógica junto à realidade dos Problemas de Corte e Empacotamento.
FIGURA 2.1 –Estrutura dos Problemas de Corte e Empacotamento.
Esta estrutura lógica inclui características suficientes para especificar o tipo de um problema de corte e empacotamento. A seguir, uma precisa descrição dessas características é apresentada.
2.1 DIMENSIONALIDADE
A dimensionalidade é a característica mais importante, já que determina o número de dimensões relevantes, em objetos e itens, na definição de um padrão para o problema. Um padrão corresponde a uma disposição de itens em objetos. Quanto à dimensionalidade, um problema pode ser classificado como:
Unidimensional; Bidimensional; Tridimensional; Multidimensional; n½ - dimensional.
O problema é unidimensional quando uma única dimensão é relevante para a definição de um padrão. Por exemplo, na indústria de papel, bobinas de comprimento padronizado devem ser cortadas em rolos de vários comprimentos pré-determinados. O problema mencionado anteriormente de balanceamento de uma linha de montagem é um problema unidimensional.
Quando duas dimensões são relevantes na determinação de um padrão, o problema é bidimensional. No corte de placas de granito em peças menores, nas empresas do setor de beneficiamento de rochas ornamentais (marmorarias), a largura e o comprimento são as medidas relevantes. A Figura 1.1 ilustra padrões de corte para o problema bidimensional.
No corte de colchões a partir de blocos de espumas ou no empacotamento de caixas em contêineres, a largura, o comprimento e a altura de objetos e itens são imprescindíveis na resolução do problema. Este problema é dito tridimensional devido às três dimensões relevantes na definição de um padrão.
Se o número de dimensões relevantes para definição de um padrão for maior que três, então este problema é multidimensional. Um exemplo de problema de quatro dimensões seria estocar caixas num contêiner por períodos de tempo fixados e ininterruptos. Neste caso, junto ao problema de empacotamento tridimensional, apresenta-se uma quarta dimensão, o tempo de permanência de cada caixa.
Os problemas n½ - dimensionais têm n+1 dimensões relevantes na definição de um padrão, sendo n dimensões fixas e uma variável. No cotidiano das gráficas, o corte de lona em rolos, para produção de cartazes de dimensões fixas, é um exemplo de problema 1,5 dimensional. Um padrão de corte para este problema, que apresenta 1+1 dimensões relevantes, é definido em um tecido de largura fixa e comprimento variável, ou seja, com comprimento suficiente para atender a demanda.
2.2 MEDIDAS QUANTITATIVAS
Os valores atribuídos às variáveis que indicam o número de objetos e itens em uma solução podem ser:
Discretos; Contínuos.
Em problemas com dimensões bem definidas, como o caso bidimensional, as variáveis estão condicionadas a assumir valores discretos. Enquanto nos problemas com uma dimensão variável há variáveis assumindo valores contínuos.
2.3 FORMATO DAS FIGURAS
Outra característica a ser observada é o formato das figuras de objetos e itens envolvidos no problema. Seja uma figura distinguida por:
Forma; Tamanho; Orientação.
Figuras de mesma forma podem diferir em tamanho ou orientação no espaço relevante. Como por exemplo, no corte de vergalhões para armadura na construção civil (VIEIRA NETO et al., 2013), onde objetos e itens apresentam comprimentos variados, ou no corte de peças retangulares de vidro, onde é permitida uma rotação de 90 graus em objetos e itens. Em problemas com mais dimensões relevantes, as figuras possuem formas regulares, especialmente retangulares ou em blocos, ou irregulares, no caso destas serem assimétricas ou não convexas tipicamente encontradas nas indústrias têxteis e de calçados.
O tamanho de uma figura pode ser determinado pela medida de seu comprimento, área ou volume. Este consiste em um importante aspecto, pois o tamanho dos itens em relação aos objetos pode impor dificuldades na resolução de um problema específico. Em um problema bidimensional, o tamanho das figuras pode ser definido pelas suas respectivas áreas. De acordo com o problema, a posição ou orientação de itens em relação a objetos pode ser fixa, admitindo-se apenas 90 graus de rotação ou permitindo-se qualquer orientação. Neste trabalho, também se trata a hipótese de um item qualquer poder ser rotacionado em 90 graus e as respectivas figuras rotacionadas ou não rotacionadas serem consideradas idênticas. Sob essa hipótese, um item retangular de comprimento x e largura y não difere de outro item que possui comprimento y e largura x.
2.4 SORTIMENTO
Tanto o formato quanto a diversidade das figuras de objetos e itens são fundamentais na caracterização de um problema. Por exemplo, a indústria de circuito impresso convive com o problema de cortar chapas retangulares (objetos com formatos idênticos) de fibra de vidro para fabricação de placas (muitos itens com formatos distintos) de circuito impresso.
2.5 DISPONIBILIDADE
Com respeito à disponibilidade de objetos e itens são considerados três fatores: Limites, superior e inferior, em sua quantidade;
Sequência ou ordem; Data de utilização.
De acordo com o problema, a quantidade de objetos e itens pode ser restrita ou irrestrita, isto é, limitada ou ilimitada, respectivamente. Em alguns problemas, os padrões são determinados em uma quantidade limitada de objetos com itens em quantidades ilimitadas. Já em outros, deseja-se obter padrões que produzam itens em quantidades limitadas ou não, a partir de uma indefinida quantidade de objetos. Por exemplo, no cotidiano das empresas do
setor vidraceiro, uma quantidade suficiente de chapas é utilizada na produção de uma determinada quantidade de peças.
Nas metalúrgicas, a necessidade de se respeitar certa ordem para objetos e itens, quanto ao tempo na definição de um padrão, é observado quando barras incandescentes cobertas de aço são produzidas, em um processo sequencial e sem retardos.
2.6 RESTRIÇÕES DE PADRÃO
Basicamente, as restrições de padrão estão ligadas às características geométricas e operacionais do problema. Estas restrições são esclarecidas e distinguidas em quatro importantes grupos descritos a seguir.
i) Os espaços entre os itens em um padrão são extremamente importantes em alguns casos, como por exemplo, no corte de placas de vidro, onde estes espaços resultam em perda de matéria-prima. Outra situação relevante em processos produtivos está relacionada ao desperdício do objeto, ocasionado por um instrumento cortante. Neste caso, geralmente, esta espessura está adicionada às dimensões dos itens encontrados no padrão em questão.
ii) A posição dos itens, em relação aos mesmos, ou em relação ao objeto, tem de ser levada em consideração, como no caso do carregamento de produtos frágeis.
iii) Podem existir restrições quanto ao número de itens em um padrão, como por exemplo, no empacotamento de bombons de chocolate em caixas para comercialização, onde a quantidade de itens distintos é limitada.
iv) O tipo de corte executado e o número de cortes permitidos são essenciais nos problemas em que objetos e itens são retangulares ou em forma de blocos. Em um problema bidimensional, cujo padrão é definido através de cortes guilhotinados e ortogonais, a sua complexidade depende do número de mudanças nas direções de corte (estágios) como também do número de cortes paralelos por estágio.
Pode haver padrões resultantes de cortes não ortogonais e guilhotinados, como também, de cortes ortogonais e não guilhotinados. A Figura 2.2 destaca dois tipos de padrões resultantes de cortes ortogonais, com cinco itens em ambos, sendo o padrão de corte guilhotinado configurado com cinco estágios. Ainda nessa figura, os k estágios são indicados por Gk e consideram uma sequência de rotações de 90º na direção dos cortes, paralelas aos lados do objeto.
FIGURA 2.2 – Padrões de Corte Bidimensionais Ortogonais.
2.7 RESTRIÇÕES DE ALOCAÇÃO
Em relação à designação de itens para objetos, são evidenciadas as seguintes restrições:
Tipo de alocação; Número de estágios;
Número, frequência ou sequência dos padrões; Dinâmica de alocação.
O tipo de alocação é uma propriedade fundamental na classificação de um problema de corte e empacotamento. O corte de objetos para produção de itens pode ser visto como uma alocação de itens em objetos, onde duas categorias de alocação se destacam na distinção de um problema:
i) Típica dos problemas clássicos de corte e empacotamento, a designação de um conjunto de itens a um subconjunto de objetos.
ii) Observada no carregamento de pallet, quando um subconjunto de itens é designado a um conjunto de objetos.
O número de estágios de um problema está relacionado com a quantidade de passos necessários para definição de um padrão. No problema bidimensional, um padrão pode ser obtido por cortes ou empacotamentos, estagiados (com um número pré-determinado de estágios) ou não estagiados (sem limitação de estágios).
Nos processos produtivos, tanto as conexões estabelecidas entre as etapas, como as tecnologias envolvidas nos processos de alocação podem impor restrições relacionadas à
Padrão Ortogonal Não Guilhotinado
Padrão Ortogonal Guilhotinado
sequência ou ordem de padrões. Também podem existir limitações quanto ao número de padrões de mesmo tipo ou de tipos distintos.
A alocação de itens em objetos pode ser de natureza dinâmica ou estática. Na alocação estática, se os objetos e itens são previamente conhecidos, o processo é dito off-line, caso contrário o processo é on-line. Já no processo dinâmico, em função da não disponibilidade de objetos e itens em um mesmo período, as alocações seguem uma regra pré-estabelecida que permita a realocação dos itens em objetos.
2.8 OBJETIVOS
Um objetivo significa usar um critério a ser maximizado ou minimizado para expressar a dimensão da eficácia obtida na solução de um problema. Alguns critérios a serem satisfeitos em Problemas de Corte e Empacotamento são listados abaixo.
i) Minimizar a perda de material nos processos de corte ou empacotamento.
ii) Minimizar os custos envolvidos no processo produtivo, como por exemplo, despesas com armazenagem.
iii) Maximizar os lucros com a eficácia e a qualidade dos processos. 2.9 ESTADO DA INFORMAÇÃO E VARIABILIDADE
Determinar se os dados de um problema são determinísticos ou estocásticos, ou ainda, se estes são exatos ou podem ser variáveis, são características relevantes não apenas para os Problemas de Corte e Empacotamento. Por exemplo, uma demanda de determinados itens ordenada em um pedido geralmente possui dados determinísticos podendo ser variável caso certas mudanças sejam admitidas pelos clientes.
2.10 NOMENCLATURA DE DYCKHOFF
As características dimensionalidade, sortimento e restrições de alocação constituem uma base para elaboração de uma nomenclatura que associe os Problemas de Corte e Empacotamento afins, além de influenciarem diretamente na escolha e na complexidade do método de solução. A tipologia de um problema é indicada através da quádrupla, dimensionalidade/ tipo de alocação/ sortimento de objetos/ sortimento de itens, e cada característica é subdividida em determinados tipos que são indicados por letras, conforme o quadro 2.1 a seguir.
QUADRO 2.1 – Nomenclatura da Tipologia.
Dimensionalidade Tipo de Alocação
(1) Unidimensional (2) Bidimensional (3) Tridimensional
(N) N-dimensional, com N > 3
(B) Todos os objetos e uma seleção de itens (V) Uma seleção de objetos e todos os itens
Sortimento de Objetos Sortimento de Itens
(O) Um objeto
(I) Objetos de formatos idênticos (D) Objetos de formatos distintos
(F) Poucos itens de diferentes formatos (M)Muitos itens de muitos formatos distintos (R) Muitos itens de formatos distintos em relativa
quantidade
(C) Itens de formatos congruentes
Os agrupamentos formados por todos os tipos destas quatro características indicam 96 tipos distintos de Problemas de Corte e Empacotamento, onde cada agrupamento consta de uma quadrúpla ordenada α/β/γ/δ, em que α representa o número de dimensões relevantes do problema, β o tipo de alocação considerada com relação a objetos e itens, γ o sortimento dos objetos envolvidos e δ o sortimento dos itens requisitados. Por exemplo, a notação 2/V/I/R é utilizada para indicar o PCEBG, enfatizado neste trabalho, que é do tipo bidimensional (2), com todos os itens sendo designados a uma seleção de objetos (V), objetos estes de formatos idênticos (I) e itens de formatos distintos em relativa quantidade (R). No quadro 2.2 são listados alguns dos clássicos da literatura atribuídos à classe dos Problemas de Corte e Empacotamento, com as suas respectivas quadrúplas, como o PCBGR que é apontado pela quádrupla 2/B/O/R, onde (B) determina a alocação de todos os objetos e uma parte dos itens e (O) delimita o problema a um objeto.
É importante ressaltar, também, que uma nova tipologia, aprimorada a partir dessa por Wäscher et al. (2007), onde os Problemas de Corte e Empacotamento são caracterizados por dimensionalidade, tipo de alocação, variedade dos itens, variedade dos objetos e forma dos itens. Segundo Wäscher et al. (2007), as modificações permitiram que cada problema tivesse uma codificação única, de acordo com a sua modelagem e os respectivos métodos, e atribui aos objetos deste estudo a seguinte classificação: 2-d Retangular SSSCSP (Two-dimensional Rectangular Single Stock-Size Cutting Stock Problem) e 2-d Retangular SLOPP (Two-dimensional Rectangular Single Large Object Placement Problem).
QUADRO 2.2 – Tipologia de alguns problemas.
Problema Tipo
Problema da mochila clássico
1/B/O/
Problema da mochila multidimensional
/B/O/
Problema do carregamento de pallet2/B/O/C
Problema do carregamento de veículos1/V/I/F ou 1/V/I/F
Problema do carregamento de contêiner3/V/I/ ou 3/B/O/
Problema do bin packing clássico
1/V/I/M
Problema do bin packing dual
1/B/O/M
Problema do bin packing bidimensional
2/V/D/M
Problema do cutting stock clássico1/V/I/R
Problema do cutting stock bidimensional2/V/I/R
Problema do cutting stock generalizado1/ / / , 2/ / / ou 3/ / /
Problema do balanceamento de uma linha de montagem1/V/I/M
Problema de alocação de memória
1/V/I/M
Problema de alocação de tarefas em multiprocessador
1/V/I/M
Problema de câmbio monetário
1/B/O/R
3 PROBLEMAS DE CORTE BIDIMENSIONAL
Em diversos processos produtivos encontram-se atividades de corte de material, que são efetuadas em objetos retangulares para atender a uma demanda de itens retangulares menores, de maneira que o desperdício de material durante este processo seja minimizado. Este problema caracteriza-se como bidimensional quando duas dimensões são fundamentais na sua resolução, ou seja, a largura e o comprimento dos objetos e itens envolvidos no processo são essenciais na definição de um padrão de corte.
A geração de padrões de corte para o problema bidimensional, envolvendo objeto e itens que a presentam forma regular, isto é, de formato retangular, aparecem com relativo destaque na literatura deste problema. Porém, em alguns casos, os itens podem ser irregulares, ou seja, não apresentam formato retangular. A Figura 3.1 exibe alguns exemplos de contornos de itens que possuem forma regular e irregular.
FIGURA 3.1 – Itens Regulares e Irregulares.
De acordo com a geometria dos itens envolvidos e as características operacionais do problema, se os itens apresentam formato retangular, um padrão de corte pode ser obtido através de cortes guilhotinados ou não guilhotinados. Esses padrões guilhotinados são distinguidos em ortogonais e não ortogonais. Se um corte ao ser realizado em um objeto retangular gerar outros dois retângulos, este é chamado de guilhotinado ortogonal, quando não, é denominado de guilhotinado não ortogonal. A fim de delimitar o problema, os cortes efetivados devem ser paralelos aos lados do retângulo, conforme é apresentado na Figura 3.2, e um padrão de corte guilhotinado é aquele definido por série de cortes guilhotinados verticais ou horizontais.
FIGURA 3.2 – Corte Guilhotinado Ortogonal.
Na utilização de cortes guilhotinados, estes ainda são classificados em: Cortes estagiados;
Cortes não estagiados.
Os cortes são estagiados se houver restrições, provenientes das características operacionais do problema, que limitam o número de estágios permitidos para determinação de um padrão de corte. No entanto, se o número de estágios em um padrão de corte é irrelevante na solução de um problema, os cortes são ditos não estagiados. A Figura 3.3 ilustra um processo de execução de cortes guilhotinados, onde os cortes efetuados em uma única direção definem um estágio e a cada mudança na direção dos cortes, um novo estágio é estabelecido.
FIGURA 3.3 – Cortes Guilhotinados em Dois Estágios.
Assim como no cotidiano das empresas, os valores associados aos objetos e itens podem estar relacionados a grandezas de natureza quantitativa ou qualitativa distintas. Neste
Corte Guilhotinado
Corte Vertical Corte Horizontal
Corte Guilhotinado
1º Estágio 2º Estágio Itens Produzidos
P2 P1 P1 P3 P2 P2 P1 P1 P3 P2 P2 P2 P1 P1 P3
trabalho, os cortes guilhotinados são realizados em objetos idênticos, com suas dimensões previamente padronizadas, onde não se fez necessário discutir seu valor. Porém, aos itens têm-se associado um valor de utilidade que pode ser a medida de sua área ou estar relacionado à sua importância em presença aos outros itens.
Com relação ao número de itens existentes em um padrão de corte, o problema pode ser restrito ou irrestrito. Se não houver restrições de limitação associadas ao número de itens, o problema é irrestrito. Caso contrário, o problema é dito restrito. A imposição de um limite superior à quantidade de um determinado item no padrão de corte, assim como o desimpedimento relativo ao número de estágios permitidos, acrescenta considerável dificuldade à resolução deste problema.
Para o melhor entendimento dos problemas objeto de estudo deste trabalho, as seções seguintes discriminaram as especificidades do PCEBG e do PCBGR.
3.1 PROBLEMA DE CORTE DE ESTOQUE BIDIMENSIONAL GUILHOTINADO Com os padrões de corte bidimensionais guilhotinados definidos e uma quantidade de objetos em estoque suficiente para atender a uma demanda de itens pré-estabelecida, o PCEBG consiste em escolher quais e quantos destes padrões devem ser executados para que todos os itens sejam produzidos. É importante ressaltar que esta seleção dos objetos pode ser modelada como um problema de Programação Linear Inteira. A formulação clássica para o PCEBG a seguir, consiste em determinar o número de vezes xj que cada padrão de corte j é utilizado, de forma a atender a demanda di, consumindo-se o menor número possível de objetos. n j j=1 n ij j i j=1 j M in x s.a: a x d , i = 1,...,m (3.1) x 0 e Inteiro, j = 1,...,n ≥ ≥
∑
∑
Onde:xj é a variável que representa o total de vezes que o padrão de corte j é utilizado; aij é a constante que indica número de itens i gerados no padrão de corte j; di é a constante que indica a demanda de itens i;
m é a constante que indica o número de itens distintos; n é a constante que indica o número total de padrões de corte.
A condição que o modelo impõe às variáveis xj de não assumir valores contínuos torna o problema difícil de ser resolvido, até para instâncias relativamente pequenas. Mas mesmo resolver a relaxação contínua do modelo pode não ser fácil. Se a quantidade de itens diferentes, encontrados em problemas de médio e grande porte, promove um aumento considerável no número n de padrões viáveis e para encontrar a solução ótima da relaxação contínua é preciso conhecer todos os padrões de corte, então a utilização do método simplex para resolução deste problema se torna inviável nestas circunstâncias, visto que o número de colunas do modelo pode ultrapassar facilmente a casa dos bilhões.
Esse impedimento pode ser contornado com o método conhecido como Geração de Colunas (DANTIZG; WOLFE, 1960). Este método pode ser visto como uma extensão do Simplex Revisado, onde o apreçamento (pricing) das variáveis é realizado através da resolução de um subproblema, e foi primeiramente introduzido por Gilmore e Gomory (1961, 1963) para versão unidimensional desse problema.
De forma geral, a GC é iniciada montando-se o Problema Linear Mestre (PL Mestre), que corresponde ao modelo 3.1 sem a restrição de integralidade e contendo apenas um pequeno subconjunto das variáveis, correspondendo a alguns dos muitos padrões de corte viáveis. Por exemplo, este subconjunto inicial pode ser formado apenas pelos padrões de corte homogêneos, onde um único item é colocado o maior número de vezes possível. A GC baseia-se na utilização do método do simplex revisado, onde, a cada iteração, é gerado e inserido um novo padrão desde que ele possa melhorar o valor da função objetivo. Caso contrário, a solução corrente relaxada é ótima. Sendo o problema de minimização, deve-se buscar por novos padrões que correspondam as variáveis com custo reduzido negativo. Sejam
cj = 1
zj = cB B-1aj ⇔ zj = Пaj ⇔ zj = ∑ πmi=1 iaij Onde:
П é o vetor dos multiplicadores duais;
cj é o coeficiente da variável j na função objetivo no PL Mestre;
cB é o vetor de coeficientes das variáveis básicas na função objetivo no PL Mestre;
B-1 é a inversa da matriz dos coeficientes das variáveis básicas nas restrições no PL Mestre;
aj é a coluna da variável j na matriz dos coeficientes do PL Mestre e aij é o coeficiente na linha i nessa coluna.
O custo reduzido de uma variável j é dado por cj - zj. O objetivo de selecionar essas melhores colunas ou padrões com custo reduzido negativo resulta no seguinte subproblema:
[
]
m i i t 1 m i=1 i Min (1 - π y )s.a: é um padrão viável (3.2) y 0 e y ,.. In ., o y teir ≥
∑
Onde:yi é a variável que representa o número de itens i no padrão de corte; πi é o multiplicador da restrição i no PL Mestre.
É importante ressaltar que no PCEBG tratado neste trabalho, o subproblema 3.2 seria apenas um PCBGI com peso. Ainda assim, é dada a devida ênfase ao PCBGR, pois este além de ser resolvido pelos algoritmos propostos, também é fundamental na resolução da instância residual obtida após o arredondamento da solução ótima do PL Mestre.
A relaxação contínua do modelo (3.1) costuma ser muito forte, no sentido em que o limite inferior obtido costuma ser muito próximo da solução ótima. Para o caso do PCE Unidimensional, antes do trabalho de Marcote (1986) não se conhecia uma única instância em que esse limite inferior arredondado para cima não fosse igual ao valor da solução ótima. Depois disso, Scheithauer e Terno (1995) propuseram a seguinte conjectura, conhecida como Modified Integer Round-Up Property (MIRUP):
Conjectura MIRUP (para o caso unidimensional). O limite inferior do modelo 3.1 arredondado para cima está no máximo uma unidade abaixo do valor da solução ótima inteira.
Até hoje, a maior diferença conhecida entre o limite inferior e a solução ótima é de 1,16666... (RIETZ et al., 2002). Entretanto, apesar de um grande esforço de pesquisa, ainda não foi possível provar essa conjectura.
Não foi publicada uma conjectura equivalente para qualquer variante do PCE Bidimensional, mas o autor desta tese desconhece a existência de alguma instância que mostre que ela não é verdadeira.
3.2 PROBLEMA DE CORTE BIDIMENSIONAL GUILHOTINADO RESTRITO O PCBGR consiste em determinar a melhor forma de se gerar uma quantidade de itens menor ou igual a uma demanda pré-estabelecida, realizando cortes ortogonais do tipo
guilhotinado em um objeto também retangular e de dimensão insuficiente para atender toda a demanda. Diferentemente do problema já apresentado, o PCBGR é abordado na literatura como uma seleção de itens para um objeto.
Seja o objeto (C, L), de comprimento C e largura L, n itens com demanda di e dimensões fixas pi = (ci, li), com i = 1,...,m. Uma solução ótima do PCBGR consiste em determinar o melhor arranjo destes itens, que não extrapolem as dimensões do objeto, nem apresentem superposição dos mesmos, por meio de cortes guilhotinados, respeitando os limites di. Então, esta seleção de itens, que atribui o maior somatório de utilidade a um padrão de corte restrito, pode ser descrito pelo seguinte modelo analítico.
[
]
m i i i=1 i t 1 m M ax v ys.a: é um padrão viável (3.3) y 0 y ,. e .., y Inteiro ≥
∑
Onde:yi é a variável que representa o número de itens i produzido no padrão de corte; vi é a constante que indica o valor de utilidade do item i.
A viabilidade de um padrão de corte depende das restrições geométricas e operacionais envolvidas em cada problema. Diante da dificuldade de se apresentar uma formulação que utiliza cortes guilhotinados não estagiados para o PCBGR, são desenvolvidos nos próximos Capítulos algoritmos primais e duais, utilizando as técnicas GRASP, PD e PI, para a resolução do problema supracitado, com estratégias que se distinguem pela forma como é determinado o valor de utilidade e a permissão por rotação dos itens.
3.3 REVISÃO BIBLIOGRÁFICA
Diversos pesquisadores têm se dedicado a buscar soluções para os problemas de corte de estoque. Alguns trabalhos, referindo-se ao problema abordado serão citados seguindo uma evolução cronológica.
Em trabalhos pioneiros, Gilmore e Gomory (1961, 1963) propuseram o procedimento Geração de Colunas (GC) para obtenção de soluções aproximadas com garantia de qualidade para o PCE Unidimensional. Para a resolução eficiente do subproblema da mochila (equivalente ao problema de corte unidimensional), Gilmore e Gomory apresentaram em 1961, uma PD e, em 1963, um algoritmo de enumeração lexicográfica.
Gilmore e Gomory (1965) trataram do PCEBG restrito a dois e três estágios aplicado ao corte de rolos de papel. Nesse trabalho, o subproblema de corte é decomposto em duas
etapas que são resolvidas pelo algoritmo lexicográfico. Na primeira etapa, são produzidas faixas ótimas, maximizando o valor dos itens que são encaixados em uma faixa com largura lj (lj ≤ L), e na segunda etapa, as faixas são selecionadas e arrumadas em um retângulo (C, L), com o intuito de gerar um padrão de corte com maior valor possível. Com respeito à geração de padrões em dois ou três estágios, em dois estágios é imposto que os itens pertencentes às faixas tenham larguras iguais, e em três estágios é necessário apenas que a largura dos itens que compõem a faixa (C, lj) não seja superior à largura lj da faixa.
Já em Gilmore e Gomory (1966), foi apresentada uma rotina fundamentada em PD, que gera padrões guilhotinados para o PCE Bidimensional k-estagiado. Como ainda ocorre, a PD apenas pode ser aplicada de forma eficiente nos casos em que o número de vezes que um item pode ser produzido em um padrão de corte não está limitado, ou seja, são problemas irrestritos.
Herz (1972) propôs uma alteração na PD apresentada por Gilmore e Gomory (1966), redefinindo as funções recursivas para determinar o melhor padrão de corte na resolução do PCBGI. Segundo Oliveira e Ferreira (1993), as melhorias feitas por Herz (1972) e posteriormente por outros pesquisadores não compensam o acréscimo de dificuldade na implementação desses algoritmos de PD, nem suprime o verdadeiro problema do algoritmo de Gilmore e Gomory, ou seja, continuam não sendo praticáveis para instâncias de médio ou grande porte do problema. Como constatado a seguir no presente trabalho, isso não é mais verdade. Atualmente, algoritmos de PD são capazes de resolver bem instâncias com dimensões bastante razoáveis.
Utilizando um algoritmo de busca em árvores, que emprega uma rotina baseada no problema de transporte, Christofides e Whitlock (1977) sugeriram um método exato para resolução do PCBGR que utiliza PD junto a um procedimento para a avaliação de nós. Neste caso, cada nó determinado por um conjunto de itens cortados, a localização do próximo corte a ser efetuado e os ramos da árvore são definidos com as condições impostas para realização de um corte guilhotinado.
Wang (1983) apresenta dois métodos combinatórios que geram padrões de corte a partir de uma sequência de construções horizontais e verticais em estruturas resultantes da composição dos itens requeridos. Estas estruturas são produtos do agrupamento dos itens na horizontal ou na vertical. Com a finalidade de diminuir o número de subconjuntos de estruturas armazenados, adota-se um limite para o percentual de perda aceitável em cada subconjunto. Desta forma, as abordagens heurísticas propostas nesse trabalho são clássicas na literatura do PCBGR.
Beasley (1985) propôs uma formulação baseadas em PD para o PCBGI que, diferentemente das propostas feitas por Gilmore e Gomory (65) e, posteriormente, por Christofides e Whitlock (1977), não restringe o número de estágios no padrão de corte. Essa fórmula de recorrência é de grande importância no desenvolvimento dos algoritmos descritos neste trabalho para o PCEBG e, portanto, será apresentada de forma mais detalhada no Capítulo 5.
Oliveira e Ferreira (1990) introduzem modificações no algoritmo desenvolvido por Wang, melhorando o desempenho. O algoritmo Wang Modificado (MWA) é o resultado de uma alteração no nível de aspiração, isto é, no critério de rejeição de soluções indesejáveis. Desta forma, o algoritmo avalia a perda associada a cada solução parcial construída (padrão embrionário). Caso este valor seja maior que o limite estabelecido, a solução parcial é rejeitada.
O PCBGI é tratado por Morabito, Arenales e Arcaro (1992) adotando a representação grafo E/OU, apresentada anteriormente em Morabito et al. (1989), para construção de soluções viáveis do referido problema. Um percurso completo no grafo supracitado representa uma sequência de cortes guilhotinados (arcos) a ser efetuada no objeto original, produzindo novos retângulos (nós) de forma a gerar uma solução viável para o problema. O caminho a ser escolhido é aquele que maximiza o valor dos itens gerados e, portanto, representa o melhor padrão de corte produzido. Nesse trabalho, a proposta de uma busca híbrida, combinando as estratégias clássicas de busca depht-first e hill-climbing com procedimentos heurísticos específicos, conseguem diminuir significantemente os branchings e, em consequência, o tempo de execução.
Um procedimento de busca em grafos E/OU invertido foi apresentado por Alvarenga e Daza (1992) para o PCBGR. A composição entre retângulos, tal como empregado no algoritmo de Wang, foi representada por um grafo E/OU invertido, sendo que cada estrutura equivale a um nó e cada agrupamento entre as estruturas representa um arco. Os nós são agrupados dois a dois para gerar um terceiro. Assim, um par de nós dá origem a dois novos nós considerando a geração de um agrupamento horizontal e um vertical. Quando comparado ao algoritmo Wang Modificado, apresentou vantagens, tanto em relação à memória requerida como em número de operações.
Os algoritmos heurísticos Busca Tabu e Simulated Annealing são apresentados por Amaral (1994) para tratar o PCBGR. Com o objetivo de produzir padrões, de uma forma ótima, esta abordagem permite aceitar padrões de corte inviáveis como soluções na busca do melhor padrão. Sendo assim, uma penalidade é inserida na função objetivo, de forma a