• Nenhum resultado encontrado

Um estudo sobre o problema de corte de estoque bidimensional 2-estágios

N/A
N/A
Protected

Academic year: 2021

Share "Um estudo sobre o problema de corte de estoque bidimensional 2-estágios"

Copied!
103
0
0

Texto

(1)

CAMPINAS

Instituto de Matemática, Estatística e

Computação Científica

LUCAS LEONARDO SILVEIRA COSTA

Um estudo sobre o problema de corte de

estoque bidimensional 2-estágios

Campinas–SP

2016

(2)

Lucas Leonardo Silveira Costa

Um estudo sobre o problema de corte de estoque

bidimensional 2-estágios

Dissertação apresentada ao Instituto de Mate-mática, Estatística e Computação Científica da Universidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Mestre em Matemática Aplicada.

Orientadora: Kelly Cristina Poldi

Este exemplar corresponde à versão

final da Dissertação defendida pelo

aluno Lucas Leonardo Silveira Costa e

orientada pela Profa. Dra. Kelly

Cris-tina Poldi.

Campinas–SP

2016

(3)

Ficha catalográfica

Universidade Estadual de Campinas

Biblioteca do Instituto de Matemática, Estatística e Computação Científica Maria Fabiana Bezerra Muller - CRB 8/6162

Costa, Lucas Leonardo Silveira,

C823e CosUm estudo sobre o problema de corte de estoque bidimensional 2-estágios / Lucas Leonardo Silveira Costa. – Campinas, SP : [s.n.], 2016.

CosOrientador: Kelly Cristina Poldi.

CosDissertação (mestrado) – Universidade Estadual de Campinas, Instituto de Matemática, Estatística e Computação Científica.

Cos1. Problema de corte de estoque. 2. Teoria dos grafos. 3. Pesquisa operacional. 4. Programação linear. 5. Programação inteira. I. Poldi, Kelly Cristina,1979-. II. Universidade Estadual de Campinas. Instituto de Matemática, Estatística e Computação Científica. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: A study on the two-stage two-dimensional cutting stock problem Palavras-chave em inglês:

Cutting stock problem Graph theory

Operational research Linear programming Integer programming

Área de concentração: Matemática Aplicada Titulação: Mestre em Matemática Aplicada Banca examinadora:

Kelly Cristina Poldi [Orientador] Antonio Carlos Moretti

Washington Alves de Oliveira

Data de defesa: 13-06-2016

Programa de Pós-Graduação: Matemática Aplicada

(4)

Dissertação de Mestrado defendida em 13 de junho de 2016 e aprovada

Pela Banca Examinadora composta pelos Profs. Drs.

Prof.(a). Dr(a). KELLY CRISTINA POLDI

Prof.(a). Dr(a). ANTONIO CARLOS MORETTI

Prof.(a). Dr(a). WASHINGTON ALVES DE OLIVEIRA

A Ata da defesa com as respectivas assinaturas dos membros encontra-se no processo de vida acadêmica do aluno.

(5)
(6)

Agradecimentos

À Deus, por me oferecer tais oportunidades.

À meus pais Glaucilene e Roberto, as minhas irmãs Leticia, Delaila, e Helaia e ao meu irmão Roger por todo o suporte e ajuda que me deram para os estudos ao longo da minha vida.

À minha bisavó Esther e minha tia Esterleine, por toda a motivação para os estudos.

À minha orientadora Kelly Cristina Poldi, pela orientação, por motivar meu crescimento acadêmico, e por confiar e ajudar a desenvolver esse trabalho.

À minha namorada Ana pelo incentivo e por ser a grande mulher por de trás desse pequeno homem.

Aos professores e funcionários do IMECC que, direta ou indiretamente, deram suporte e ajuda para este trabalho.

A todos os meus amigos da Ala 1, aos amigos do IMECC, aos parceiros de estudos, ao amigos do laboratório de pesquisa operacional.

(7)

Nesta dissertação tratamos do problema de corte de estoque bidimensional, guilhotinado, 2-estágios, não-exato nos casos restrito e irrestrito. Apresentamos o problema de corte de estoque e duas tipologias da literatura são revistas. Depois de apresentar algumas características e propriedades utilizadas na montagem dos padrões de corte, apresentamos um modelo matemático e um método de resolução propostos por Gilmore e Gomory (1961, 1963 e 1965) e, apresentamos também, um modelo de fluxo em arcos, proposto por Valério de Carvalho (1999), para o problema de corte de estoque unidimensional e por Macedo et al. (2010), para o problema de corte de estoque bidimensional. A solução do modelo de fluxo em arcos determina a quantidade ótima de objetos utilizada para atender a demanda, mas não fornece os padrões de corte explicitamente. Como contribuição, propomos um método para recuperar os padrões de corte do modelo de fluxo em arcos. Realizamos alguns testes computacionais com dois conjuntos de dados da literatura, retirados de Cintra (2004) e outro de Ghidini (2008). Ao final da dissertação, apresentamos as conclusões e propostas de trabalhos futuros.

Palavras-chave: problema de corte de estoque bidimensional, corte guilhotinado,

(8)

ABSTRACT

This dissertation deals with the guillotine, 2-stage, non-exact, two-dimensional cutting stock problem, regarding both the constrained and unconstrained cases. We presented the cutting stock problem and two typologies from the literature are reviewed. After presenting some features and properties used in the assembly of the cutting patterns, we present the mathematical model and its solution method, proposed by Gilmore and Gomory (1961, 1963 and 1965). Furtermore, we also present the arc-flow model, proposed by Valério de Carvalho (1999, 2002), for the one-dimensional cutting stock problem and Macedo et al. (2010), for the two-dimensional cutting stock problem. The arc flow model’s solution provides the optimal number of stock objects used to fulfill demand, although it does not explicitly provide the associated cutting patterns. So we present a method on how to determine such cutting patterns. We carried out some computational tests considering two example-sets from the literature, one by Cintra (2004) and the other by Ghidini (2008). Finally, we present the conclusions and proposals for future research.

Keywords: two-dimensional cutting stock problem, guillotine cutting, 2-stage, arc-flow

(9)

Figura 1 – Ilustração do (a) PCE1D, (b) PCE2D e (c) PCE3D. . . 18

Figura 2 – Problemas de corte e empacotamento com maximização. Fonte: Adap-tado de Wäscher et al. [31]. . . 25

Figura 3 – Problemas de corte e empacotamento com minimização. Fonte: Adap-tado de Wäscher et al. [31]. . . 26

Figura 4 – Exemplo de um padrão de corte bidimensional. . . 30

Figura 5 – Padrões de corte equivalentes. . . 31

Figura 6 – Padrões de corte homogêneo (a) simples e (b) composto. . . 32

Figura 7 – Corte guilhotinado (a) horizontal e (b) vertical. . . 32

Figura 8 – Exemplo de padrão de corte 2-estágios. . . 33

Figura 9 – Exemplo de padrão de corte 4-estágios guilhotinado. . . 33

Figura 10 – Aparo necessário nos itens tipo 1 e 2. . . 34

Figura 11 – Aparo necessário nos itens tipo 6. . . 34

Figura 12 – Rotação feita em um item. . . 35

Figura 13 – (a) objetos; (b) itens demandados; (c) exemplos de padrões de corte do PCE1D. . . 37

Figura 14 – (a) objetos; (b) itens demandados; (c) exemplos de padrões de corte do PCE2D. . . 38

Figura 15 – Dimensões dos itens. . . 49

Figura 16 – Possibilidades de faixas na primeira iteração do método de GC para o Exemplo 1. . . 51

Figura 17 – Padrão de corte gerado na primeira iteração do método de GC para o Exemplo 1. . . 52

Figura 18 – Padrões de corte ótimos do Exemplo 1. (a) cortado 42 vezes; (b) cortado 6 vezes; (c) cortado 30 vezes; cortado 101 vezes. . . 54

Figura 19 – Exemplo de grafo do modelo de fluxo em arcos. Fonte: Reproduzido de [27]. . . 56

Figura 20 – Exemplo do caminho e o respectivo padrão de corte. Fonte: Reproduzido de [27]. . . 56

Figura 21 – Ação da variável de decisão. Fonte: Adaptado de [27]. . . 57

(10)

Figura 23 – Padrões de corte do Exemplo 2. . . 59

Figura 24 – Relação entre os grafos e os estágios. . . 60

Figura 25 – Grafos do Exemplo 3. . . 63

Figura 26 – (a) padrão de corte; (b) caminho do grafo; e (c) vetor associado ao padrão de corte. . . 66

Figura 27 – Diagrama de Venn para os caminhos. . . 68

Figura 28 – Árvore de possibilidades. . . 74

Figura 29 – Grafos do Exemplo 3. . . 76

Figura 30 – Grafo Gsf ac, s = 4 (2o estágio), sem a informação de qual item a coluna representa. . . 76

Figura 31 – Padrões de corte do primeiro estágio com larguras (a) w3 = 7 e w5 = 12; (b) w1 = w2 = 5 e w4 = 10; (c) w4 = 10; (d) w1 = w2 = 5 e w5 = 12. . 78

Figura 32 – Padrões de corte do segundo estágio com largura: (a) w1 = w2 = 5 (s = 1); (b) w3 = 7 (s = 2); (c) w4 = 10 (s = 3); w5 = 12 (s = 4). . . . 79

Figura 33 – Padrões de corte completo. Cortados (a) 3 vezes; (b) 3 vezes; (c) 1 vez; (d) 1 vez. . . 80

Figura 34 – Gráfico que indica a diferença no valor da heurística de aproximação e a busca GCCplex . . . 85

Figura 35 – Gráfico que indica a quantidade de objetos utilizados em cada exem-plar (Cintra) segundo cada abordagem. Cintra [4] não realizou testes computacionais para o exemplar gcut13d (13). . . 86

Figura 36 – Gráfico que indica a diferença no valor da heurística de aproximação e a busca GCCplex . . . 91

Figura 37 – Gráfico que indica a quantidade de objetos utilizadas em cada problema (Ghidini) segundo cada abordagem. . . 91

(11)

Tabela 1 – Resumo da tipologia de Dyckhoff. . . 21

Tabela 2 – Dados do Exemplo 1. . . 49

Tabela 3 – Matriz resultante da formulação do Exemplo 2. . . 58

Tabela 4 – A coluna Gj da matriz das equações de balanceamento de fluxo. . . 66

Tabela 5 – Possiblidades de caminhos. . . 67

Tabela 6 – Matriz G do caso unidimensional. . . 69

Tabela 7 – Matriz D do caso unidimensional. . . 70

Tabela 8 – Vetor xx0z0zsxs e as matrizes blocadas F e D. . . . 72

Tabela 9 – Dados dos exemplares de Cintra [4]. . . 82

Tabela 10 – Resultados dos testes computacionais (problema irrestrito). * CPLEX informou que o problema não possui solução factível. . . 83

Tabela 11 – Resultados dos testes computacionais (problema irrestrito). *CPLEX informou que o problema não possui solução factível. **Cintra [4] não realizou testes computacionais para esse problema. . . 84

Tabela 12 – Média do tempo dos testes computacionais. *CPLEX informou que o problema não possui solução factível. . . 85

Tabela 13 – Perda e excesso de produção em porcentagem dos testes computacionais. *CPLEX informou que o problema não possui solução factível. . . 86

Tabela 14 – Resultado dos testes computacionais (problema restrito). . . 87

Tabela 15 – Resultado dos testes computacionais (problema restrito). . . 87

Tabela 16 – Dados dos exemplares de Ghidini [10]. . . 88

Tabela 17 – Resultado dos testes computacionais (problema irrestrito). . . 89

Tabela 18 – Resultado dos testes computacionais (problema irrestrito). *** Falta de memória. . . 90

Tabela 19 – Média do tempo dos testes computacionais. *** Falta de memória. . . 92

Tabela 20 – Perda e excesso de produção em porcentagem dos testes computacionais. *** Falta de memória. . . 93

Tabela 21 – Resultado dos testes computacionais (problema restrito). . . 94

Tabela 22 – Resultado dos testes computacionais (problema restrito). . . 95

Tabela 23 – Vetor xx0zsxDr e as matrizes blocadas F e D. . . . 98

(12)

Lista de abreviaturas e siglas

PCE Problema de Corte de Estoque. 1D Unidimensional.

2D Bidimensional. 3D Tridimensional.

PCE1D Problema de Corte de Estoque Unidimensional. PCE2D Problema de Corte de Estoque Bidimensional.

PCE2DG2E Problema de Corte de Estoque Bidimensional Guilhotinado 2-Estágios. C&E problema de Corte e Empacotamento.

GC método simplex com Geração de Colunas para problema de corte de estoque.

PPL Problema de Programação Linear.

PPI Problema de Programação linear Inteira. FO Função Objetivo.

(13)

bxc maior inteiro menor que ou igual a x. dxe menor inteiro maior que ou igual a x. |bxe| inteiro mais próximo a x.

(14)

Lista de algoritmos

Algoritmo 1 – Algoritmo do método simplex. . . 43

Algoritmo 2 – Heurística de aproximação. . . 48

Algoritmo 3 – Algoritmo para obtenção do padrão de corte no caso unidimensional. 70

(15)

1 INTRODUÇÃO . . . 17

2 REVISÃO BIBLIOGRÁFICA . . . 20

2.1 Tipologia para problemas de corte e empacotamento . . . 20

2.1.1 Dimensão . . . 22

2.1.2 Tipo de atribuição . . . 22

2.1.3 Classificação dos itens . . . 22

2.1.4 Classificação dos objetos . . . 23

2.1.5 Tipos/Características dos itens . . . 23

2.2 Estudos sobre problema de corte bidimensional guilhotinado 2-estágios 27 3 DESCRIÇÃO DO PROBLEMA . . . 30

3.1 Características dos padrões de corte . . . 31

3.1.1 Padrões de corte equivalentes . . . 31

3.1.2 Padrão de corte restrito . . . 31

3.1.3 Padrão de corte homogêneo . . . 31

3.1.4 Corte guilhotinado . . . 32

3.1.5 O problema k-estágios . . . 33

3.1.6 Problema de corte guilhotinado . . . 33

3.1.7 Trimming . . . 33

3.1.8 Rotação . . . 34

4 MODELAGEM MATEMÁTICA E MÉTODO DE SOLUÇÃO . . . . 36

4.1 O problema de corte de estoque . . . 36

4.2 O método simplex com geração de colunas para o PCE . . . 39

4.2.1 Problema de programação linear . . . 39

4.2.2 O método simplex . . . 39

4.2.3 O método simplex com geração de colunas para o PCE . . . 42

4.2.4 Subproblema para o caso unidimensional . . . 44

4.2.5 Subproblema para o caso bidimensional . . . 45

4.2.6 Abordagens para obter a solução inteira do método de GC . . . 47

4.2.6.1 Heurística de aproximação . . . 47

4.2.6.2 Busca GCCplex . . . 48

4.2.7 Exemplo para o PCE2D . . . 49

4.3 Formulação baseada em fluxo em arcos . . . 55

(16)

4.3.1.1 Critérios de redução da quantidade de arcos no caso 1D . . . 57

4.3.1.2 Exemplo do modelo de fluxo em arcos para o PCE1D . . . 58

4.3.2 Modelo para o caso bidimensional . . . 59

4.3.2.1 Critérios de redução da quantidade de arcos no caso 2D . . . 61

4.3.2.2 Exemplo do modelo do fluxo em arcos para o PCE2DG2E . . . 62

4.3.3 Abordagem de resolução do modelo de fluxo em arcos . . . 63

5 RECUPERAÇÃO DOS PADRÕES DE CORTE DO MODELO DE FLUXO EM ARCOS . . . 65

5.1 Recuperação dos padrões de corte da formulação baseada em fluxo em arcos . . . 65

5.1.1 Definições e relações . . . 65

5.1.2 Obtenção dos padrões de corte para o caso unidimensional . . . 68

5.1.3 Obtenção dos padrões de corte para o caso bidimensional . . . 70

5.1.4 Particularidade na obtenção da matriz de padrões de corte do segundo estágio no caso 2D . . . 73 5.2 Solução do Exemplo 3 . . . 74 6 TESTES COMPUTACIONAIS . . . 81 6.1 Exemplares de Cintra [4] . . . 81 6.1.1 Caso irrestrito . . . 82 6.1.2 Caso restrito . . . 85 6.2 Exemplares de Ghidini [10] . . . 87 6.2.1 Caso irrestrito . . . 88 6.2.2 Caso restrito . . . 92

6.3 Análise dos resultados . . . 92

6.3.1 Caso Irrestrito. . . 93

6.3.2 Caso Restrito . . . 96

7 CONCLUSÕES E PROPOSTAS DE TRABALHOS FUTUROS . . . 97

7.1 Conclusões . . . 97

7.2 Propostas de trabalhos futuros . . . 98

(17)

Capítulo 1

Introdução

O Problema de Corte de Estoque (PCE) consiste em cortar um conjunto de

objetos, disponíveis em estoque para a produção de um conjunto de itens em quantidades

e tamanhos especificados, isto é, atender uma demanda, otimizando uma função linear que representa o objetivo do problema.

Esse problema é comum em indústrias que necessitam cortar objetos maiores para a produção de itens menores. O PCE pode ser classificado de acordo com a dimensão do objeto que é importante no processo de corte, ou seja, o problema pode ser unidimensional (1D), quando apenas uma dimensão é relevante no processo de corte; bidimensional (2D), quando duas dimensões são relevantes no processo de corte; tridimensional (3D), quando as três dimensões dos objetos são relevantes. No caso tridimensional, o problema mais comum na prática é o de empacotamento. Assim, um problema semelhante ao problema de corte é o problema de empacotamento, uma vez que empacotar itens em um objeto é (geometricamente) análogo a cortar itens a partir de um objeto.

A Figura 1ailustra o Problema de Corte de Estoque Unidimensional (PCE1D), presentes nas indústrias de bobinas de aço ou papel, que necessitam cortar as bobinas em tamanhos menores. A Figura 1bapresenta o Problema de Corte de Estoque Bidimensional (PCD2D), tal problema pode aparecer, por exemplo, na indústria moveleira, na qual é necessário cortar placas de madeira para a montagem dos móveis. A Figura 1c apresenta o caso tridimensional (PCD3D) que pode ser interpretado como o problema de alocar caixas em contêineres ou em indústrias que fabricam colchões, que necessitam realizar cortes em espumas.

Nessa dissertação tratamos do Problema de Corte de Estoque Bidimensional Guilhotinado 2-Estágios (PCE2DG2E) e consideramos os casos restrito e irrestrito. A palavra guilhotinado se refere ao tipo de corte, feito em um objeto retangular, secante em relação a dois lados paralelos do objeto e o sentido do corte é ortogonal a esses lados. A palavra estágio se refere às mudanças na orientação do corte, vertical ou horizontal. No caso restrito existe uma quantidade limite de itens cortados em um dado objeto e o

(18)

Capítulo 1. Introdução 18

(a)

(b)

(c)

Figura 1 – Ilustração do (a) PCE1D, (b) PCE2D e (c) PCE3D.

irrestrito não possui esse limitante. Estudamos dois modelos para o problema de corte de estoque, um proposto por Gilmore e Gomory [9] e outro por Macedo et al. [16]. Para resolver o problema, utilizamos duas abordagens: i) resolver o modelo de Gilmore e Gomory pelo método simplex com Geração de Colunas (GC) implementado no MATLAB [19] e ii) Utilizar as regras propostas por Macedo et al. [16] para montar as matrizes das restrições do modelo de fluxo em arcos no MATLAB. Em ambas as abordagens os Problemas de Programação linear Inteira (PPI) serão resolvidos pelo pacote CPLEX [11].

(19)

aborda-gens de resolução do PCE2DG2E citadas anteriormente. Além disso, e como contribuição, propomos uma maneira de recuperação dos padrões de cortes determinados pela resolução do modelo propostos por Valério de Carvalho [29] e por Macedo et al. [16], já que a solução do modelo determina somente a quantidade mínima de objetos utilizados para satisfazer a demanda, mas não informa como os objetos serão cortados.

A organização do texto é feita da seguinte maneira; no Capítulo 2, revisamos duas tipologias para problemas de Corte e Empacotamento (C&E) da literatura e apresen-tamos uma breve revisão bibliográfica do PCE2DG2E. No Capítulo 3, descrevemos algumas características do PCE2D e no Capítulo 4, apresentamos as formulações matemáticas e duas abordagens de resolução propostos na literatura para o PCE2DG2E. No Capítulo

5, com contribuição, apresentamos um método para recuperação de como os itens serão cortados nos objetos no modelo de fluxo em arcos. No Capítulo 6, realizamos alguns testes computacionais com instâncias da literatura e no Capítulo 7, apresentamos algumas conclusões e propomos trabalhos futuros.

As figuras apresentadas nessa dissertação que não possuem fonte especifi-cada, pois, foram produzidas pelo autor. Caso o leitor não for familiarizado com o PCE, recomenda-se a leitura do Capítulo 3 e das Seções 4.1 e 4.2 (4.2.1 - 4.2.2 - 4.2.3) do Capítulo 4, antes do Capítulo 2.

(20)

20

Capítulo 2

Revisão bibliográfica

O estudo do PCE teve início na década de 60 com os trabalhos de Gilmore e Gomory [7, 8, 9]. Um desafio na resolução desse problema se deve ao fato da grande quantidade de combinações na maneira como podem ser cortados os itens do objeto. Segundo Garey e Johnson [6] o PCE pode ser classificado como NP-difícil.

Neste capítulo, primeiramente, apresentamos o sistema de classificação dos problemas de C&E proposto por Dyckhoff [5] e uma nova tipologia elaborada por Wäscher et al. [31]. Também apresentamos uma revisão bibliográfica dos trabalhos da literatura que tratam dos PCE2DG2E.

2.1

Tipologia para problemas de corte e empacotamento

Nessa seção, apresentamos duas tipologias para os PCE de acordo com Dyckhoff [5] e Wäscher et al. [31], que estende a classificação dos problemas de C&E feita por Dyckhoff e por esse motivo tem sido a mais usada atualmente.

Uma tipologia é uma organização sistemática de problemas em categorias homogêneas com base em um conjunto de critérios e características. Logo, uma tipologia para problemas de C&E busca caracterizar os problemas existentes levando em conta algumas propriedades, como por exemplo, se temos somente um tipo de objeto em estoque ou temos vários, se os itens possuem um determinado padrão, se são retangulares etc. Um dos objetivos da tipologia também é facilitar a busca de trabalhos já realizados para uma classe de problemas que compartilham certas características.

Todo PCE possui no mínimo dois principais conjuntos de dados, um deles é o conjunto dos objetos (matéria-prima) e o outro é o conjunto dos itens (resultado da matéria-prima depois de cortada). Existem algumas condições geométricas que os elementos desses conjuntos devem satisfazer, uma delas é que podemos cortar um determinado item em qualquer objeto, isto é, qualquer item pode ser alocado em qualquer objeto. A outra condição é que não haja sobreposição na alocação dos itens no objeto.

(21)

Dyckhoff [5] percebeu a necessidade de uma tipologia para os problemas de C&E, pois notou que certos problemas que possuíam características semelhantes poderiam receber nomes diferentes na literatura.

A Tabela 1resume a proposta de Dyckhoff. A ideia de Dyckhoff foi definir uma clase de problemas utilizando siglas, assim, um exemplo de uma classe de problemas é dada por 1/V/I/F, ou seja, o problema é unidimensional, usa alguns objetos em estoque e todos os itens devem ser cortados, existem vários objetos de um mesmo tipo e os itens são de diferentes tipos. Nessa classificação é possível ter 96 (= 4x2x3x4) tipos diferentes de problemas e a definição de cada critério apresentado na tabela é feita em paralelo com as definições dos critérios usados por Wäscher et al. [31].

1. Dimensão (1) unidimensional (2) bidimensional (3) tridimensional (N ) N-dimensional com N > 3 2. Tipo de atribuição

(B) usar todos os objetos e uma seleção dos itens (V) usar uma seleção de objetos e todos os itens 3. Classificação dos objetos

(O) um objeto

(I) vários objetos de um mesmo tipo (D) vários objetos de tipos diferentes 4. Classificação dos itens

(F) alguns itens de tipos diferentes (M) muitos itens e muitos tipos

(R) muitos itens e alguns tipos (não congruentes) (C) congruentes

Tabela 1 – Resumo da tipologia de Dyckhoff.

Uma tipologia aprimorada foi apresentada por Wäscher et al. [31], que reuniram dados de mais de cem trabalhos da literatura e definiram uma tipologia para problemas de C&E com base nas notações e características usadas nesses trabalhos. Eles propuseram, como ponto de partida, cinco critérios de classificação: dimensão, tipo de atribuição, classificação dos itens, classificação dos objetos e forma dos itens. A seguir, apresentamos cada critério e as classificações existentes em cada um deles.

(22)

Capítulo 2. Revisão bibliográfica 22

2.1.1

Dimensão

Esse critério refere-se as dimensões a serem consideradas no processo de corte do objeto. As possíveis classificações são: unidimensional (1D), bidimensional (2D), tridi-mensional (3D) e N-ditridi-mensional (N > 3). Como exemplos podemos citar os problemas que envolvem bobinas e têm como itens bobinas de tamanhos menores, são considerados problemas unidimensionais, pois apenas uma dimensão do objeto é relevante no processo de corte. Já os problemas que tratam do corte de placas são ditos bidimensionais, pois duas dimensões do objeto são relevantes no processo de corte. Os problemas que envolvem carregamento de contêineres são considerados tridimensionais, pois três dimensões são relevantes no processo de carregamento.

2.1.2

Tipo de atribuição

O tipo de atribuição segue a mesma ideia proposta por Dyckhoff, porém no lugar das letras (B) e (V) são usados os nomes output (value) maximisation e input (value)

minimisation, respectivamente, que são:

• output (value) maximisation (maximização): um pequeno conjunto de itens são atribuídos à um dado conjunto de objetos. Geralmente, é usado quando não é possível cortar ou alocar todos os itens nos objetos existentes, assim o objetivo é maximizar a utilização dos objetos existentes.

• input (value) minimisation (minimização): um conjunto de itens são atribuídos à um conjunto de objetos e, nesse caso, os objetos existentes são suficientes para que todos os itens sejam alocados ou cortados. Logo, como os objetos existentes são suficientes para atender a demanda de cada item, temos o objetivo de usar o mínimo possível de objetos.

2.1.3

Classificação dos itens

Wäscher et al. [31] propõem que os itens podem ser classificados como:

• identical small items: existe um único tipo de item, ou seja, todos os itens possuem as mesmas dimensões e aparência.

• weakly heterogeneous assortment: a classificação dos itens é fracamente heterogênea, ou seja, a classificação dos itens é dita fracamente heterogênea quando há muitos itens semelhantes, ou seja, é possível agrupar os itens em poucos grupos e em cada grupo há vários itens idênticos.

(23)

• strongly heterogeneous assortment: a classificação dos itens é dita fortemente

hetero-gênea quando poucos itens são iguais, ou seja, há vários grupos de itens com poucos

itens em cada grupo.

Em comparação com Dyckhoff [5], a classificação para um único tipo de objeto usa a sigla (C), a fracamente heterogênea usa (F), a fortemente heterogênea, a sigla (M). A sigla (R) é a classificação fortemente heterogênea com a classificação de tipos/características de itens que é explicada na Subseção 2.1.5.

2.1.4

Classificação dos objetos

Wäscher et al. [31] propõem que os objetos sejam classificados como:

• one large object, ou seja, um único objeto está disponível para a alocação de itens; • several large object, isto é, temos vários objetos disponíveis. Porém, para

determinar-mos se todos os objetos são iguais ou diferentes, usadeterminar-mos as classificações apresentadas para os itens, portanto, temos os casos: identical small items, weakly heterogeneous

assortment e strongly heterogeneous assortment, que têm os mesmos significados

apresentados anteriormente.

Note que a classificação several large object ainda possui outras três subclassifi-cações e esse é um dos motivos pelo qual Wäscher et al. [31] apresentam uma classificação mais detalhada dos problemas de C&E. Em comparação com Dyckhoff [5] o caso com um único objeto usa a sigla (O) e vários tipos de objetos usa as siglas (I) ou (D).

2.1.5

Tipos/Características dos itens

Esse critério existe para classificar os itens em regulares (retângulos, círculos, caixas, cilindros, bolas, etc) ou irregulares.

Após Wascher et al. [5] definirem os critérios e as classificações apresentados anteriormente, eles apresentam a mudança proposta na nomenclatura de problemas de C&E que, ao invés de usar as siglas propostas por Dyckhoff [31] usam abreviações de nomes que representam classes de problemas os quais compartilham alguns critérios.

Segundo a nova tipologia proposta, apresentamos seis tipos de problemas de C&E e as classes existentes, bem como as suas respectivas abreviações. Nas Figuras 2e

3 são apresentados dois esquemas para identificação de características que classificam os problemas.

(24)

Capítulo 2. Revisão bibliográfica 24

1. Identical Item Packing Problem (IIPP) 2. Placement Problem (PP)

a) Single Large Object Placement Problem (SLOPP)

b) Multiple Identical Large Object Placement Problem (MILOPP) c) Multiple Heterogeneous Large Object Placement Problem (MHLOPP) 3. Knapsack Problem (KP)

a) Single Knapsack Problem (SKP)

b) Multiple Identical Knapsack Problem (MIKP) c) Multiple Heterogeneous Knapsack Problem (MHKP) 4. Open Dimension Problem (ODP)

5. Cutting Stock Problem (CSP)

a) Single Stock Size Cutting Stock Problem (SSSCSP) b) Multiple Stock Size Cutting Stock Problem (MSSCSP) c) Residual Cutting Stock Problem (RCSP)

6. Bin Packing Problem (BPP)

a) Single Bin Size Bin Packing Problem (SBSBPP) b) Multiple Bin Size Bin Packing Problem (MBSBPP) c) Residual Bin Packing Problem (RBPP)

O problema IIPP possui um único tipo de item e é conhecido também como problema de layout, pois, para obtermos uma solução ótima, basta determinarmos a melhor maneira de alocar a maior quantidade de itens em um dado objeto. O problema OPD trata do problema com uma dimensão aberta, por exemplo, se o objeto for um rolo de papel, podemos considerar que ele se desenrola infinitamente e apenas a largura deve ser considerada no processo de corte. Wäscher et al. [5] ainda propõem formas de realizar nomenclaturas de outro tipos de problemas que não estão dentre os apresentados. Dentro de cada subclassificação ainda podem existir subclasses.

Nessa dissertação, trabalhamos com os problemas do tipo Single Stock Size

Cutting Stock Problem Two-Dimensional (SSSCSP-2D), que são problemas com um único

tipo de objeto em estoque e os itens são classificados como fracamente heterogêneos. Consideramos objetos com formato retangular com dimensões de comprimento e largura, denominados L e W , respectivamente, disponível em quantidade ilimitada e os itens

(25)

C&E tipo de item tipo do C&E tipo de objeto idêntico ou heterogêneo nome do problema output ma-ximisation único tipo de item fracamente heterogêno fortemente heterogêno Identical Item Packing Problem Placement Problem um único objeto Single Large Object Placement Problem vários tipos de objetos objetos idênticos (Multiple) Identical Large Object Placement Problem classificação heterogênea (Multiple) Heterogeneous Large Object Placement Problem Knapsack Problem um único objeto Single Knapsack Problem vários tipos de objetos objetos idênticos (Multiple) Identical Knapsack Problem classificação heterogênea (Multiple) Heterogeneous Knapsack Problem

Figura 2 – Problemas de corte e empacotamento com maximização. Fonte: Adaptado de Wäscher et al. [31].

(26)

Capítulo 2. Revisão bibliográfica 26

C&E tipo de item tipo do C&E tipo de objeto nome do problema input mi-nimisation arbitrário fracamente heterogêno fortemente heterogêno Open Dimension Problem objeto com dimensão aberta Cutting Stock Problem único tipo de objeto Single Stock Size Cutting Stock Problem fracamente heterogêneo Multiple Stock Size Cutting Stock Problem fortemente heterogêneo Residual Cutting Stock Problem Bin Packing Problem único tipo de objeto Single Bin Size Bin Packing Problem fracamente heterogêneo Multiple Bin Size Bin Packing Problem fortemente heterogêneo Residual Bin Packing Problem

Figura 3 – Problemas de corte e empacotamento com minimização. Fonte: Adaptado de Wäscher et al. [31].

(27)

também são regulares em formato retangular, sendo cada item i de comprimento `i e largura wi. No Capítulo 3apresentamos a descrição detalhada do problema SSSCSP-2D, o qual denotamos nesta dissertação por PCE2DG2E.

2.2

Estudos sobre problema de corte bidimensional guilhotinado

2-estágios

O artigo de Gilmore e Gomory [9] com o objetivo de obter a solução do PCE2DG2E se tornou um clássico na literatura, e desde então, vários trabalhos com o objetivo de oferecer maneiras para se resolver problemas desse tipo foram acrescentados na literatura.

Em 1977, Christofides e Whitlock [3] propõem uma abordagem para a constru-ção do padrão de corte guilhotinado e restrito. Nessa abordagem, os autores utilizam uma representação em grafos na qual cada arco representa um possível corte no objeto e os nós representam os retângulos gerados por esse corte. Em seguida, descrevem uma estratégia para a ramificação da árvore gerada por essa abordagem e uma estratégia de backtracking é utilizada para obter uma solução, isto é, um padrão de corte.

Em 1985, Beasley [2] trata o PCE2D guilhotinado, irrestrito, k-estágios e com um único objeto. Inicialmente, Beasley propõe uma modificação no algoritmo de programação dinâmica proposto por Gilmore e Gomory [9] em 1965 para geração de padrões de corte k-estágios, em seguida faz adaptações na fórmula recursiva para que sejam tratados os padrões de corte equivalentes e, propõe também, uma outra adaptação para tratar do problema não estagiado. Como essas abordagens são computacionalmente inviáveis, ou seja, levam um tempo computacional muito alto, o autor apresenta uma heurística para determinar uma solução para o problema.

Arenales et al. [1] e Morabito e Arenales [20] apresentam um método heurístico para gerar padrões de corte, guilhotinados, não estagiados e irrestritos em 1992 e k-estágios e restritos em 1996, respectivamente. A proposta dos autores é baseada em uma abordagem em grafo, chamada de Grafo E-OU, no qual os arcos do tipo OU são as possibilidades de cortes que podem ser feitos no objeto, e os arcos do tipo E, arcos bifurcados (⊥), que são o resultado de um possível corte no objeto, isto é, ao realizar um corte guilhotinado no objeto temos um retângulo E outro retângulo. O método consiste em criar uma árvore até algum nível k (estágio) e então, usando a estratégia de busca backtracking, obter a melhor decisão até aquele estágio, depois aplica-se essa ideia para os retângulos que ainda não são itens finais. A diferença dessa abordagem para a abordagem de Christofides e Whitlock [3] é que os nós do Grafo E -OU só possuem um retângulo e na outra abordagem temos os retângulos gerados pelo cortes de estágios anteriores.

(28)

Capítulo 2. Revisão bibliográfica 28

Em 2000, Morabito e Arenales [21] apresentam uma aplicação do PCE2D em uma indústria que corta placas de madeira. Eles revisam o modelo proposto por Gilmore e Gomory [9] para o PCE2D com vários tamanhos de objetos, com limite superior no número de objetos cortados e consideram cortes guilhotinados. Também revisam os métodos para a construção dos padrões de corte que envolvem 2 e 3-estágios. Além disso, os autores propõem uma mudança no modelo de Gilmore e Gomory [9], a qual prioriza o uso de padrões de corte one-group, que são padrões de corte 2-estágios exatos. Esses padrões são obtidos com um corte na vertical e outro na horizontal (vice-versa) sem que haja movimentação do objeto. Morabito e Arenales [21] realizam testes computacionais que comparam fatores como: minimizar o desperdício versus minimizar o custo, usar 2-estágios versus 3-estágios, padrões one-group versus padrões que não são one-group.

Lodi e Monaci [14] propõem um modelo de programação linear inteira para a montagem do padrão de corte guilhotinado 2-estágios restrito, não-exato, com valores de utilidade para os itens e sem rotação de itens, sendo possível realizar adaptações que consideram os casos exato, ou com rotação de itens, irrestrito, com ou sem valor de utilidade para os itens. São propostos dois modelos, no primeiro modelo é definido um novo conjunto para os itens, em que são repetidos os itens i, i = 1, ..., m, até a quantidade máxima dada por ri (caso restrito), o modelo é baseado na ideia de que k, k = 1, ..., m, faixas com as larguras dos itens serão criadas e a variável de decisão (binária) do modelo informa se o item i é alocado na faixa k. No segundo modelo, a variável não é mais binária e sim passa a assumir valores inteiros positivos, informando o número de vezes que o item é alocado e uma variável binária informa se a faixa k aparece ou não no padrão de corte.

Em 2004, Cintra [4] apresenta e avalia as técnicas de resolução, existentes na época, para os PCEs. Cintra considera vários problemas de corte, dentre eles: PCE2D binário (demanda de cada item é um); PCE2D com demandas; PCE2D guilhotinado com demandas; PCE2D guilhotinado com demandas e com rotações; PCE2D guilhotinado com demandas e objetos variados; PCE2D guilhotinado com demandas, objetos variados e rotações; PCE2D guilhotinado com valor de utilidade; PCE2D guilhotinado com valor de utilidade com demanda. O autor apresenta métodos de resolução para o PCE e para a montagem dos padrões de corte. Dentre os métodos que são usados para gerar os padrões de corte podemos citar: Next Fit, First Fit, First Fit Decreasing, Next Fit Decreasing

Heigth, First Fit Decreasing Heigth, Hibryd First Fit. Por exemplo, se pensarmos no

preenchimento de faixas, Next Fit aloca o objeto na próxima posição (na faixa atual ou na próxima), First Fit aloca na primeira faixa que couber (anterior, atual ou próxima), os demais são variações. Cintra realiza a adaptação proposta por Beasley [2] na geração das colunas (subproblemas) no método de Gilmore e Gomory [9], a qual usa programação dinâmica para gerar os padrões de corte.

(29)

de estoque de forma acoplado. Na modelagem proposta por Ghidini [10] são consideradas a programação da produção e a redução dos custos no processo de produção e estoque de uma empresa moveleira. A partir do modelo é possível avaliar se é viável, ou não, produzir itens e armazená-los para atender futuras demandas. Ghidini [10] propõe duas heurísticas, a heurística de acoplamento que trata os problemas de forma acoplada e a heurística de decomposição que trata os problemas individualmente e depois busca a factibilidade da solução do problema de dimensionamento de lotes, e em ambas heurísticas é aplicada uma heurística para se obter a solução inteira. Ghidini [10] utiliza a abordagem de Grafo E-OU proposta por Morabito e Arenales [20] para gerar dos padrões de corte, e o método de solução proposto por Gilmore e Gomory [7,8, 9] para auxiliar a resolução das heurísticas.

Em 2010, Silva et al. [26] propõem um modelo de programação inteira para o problema de corte de estoque guilhotinado restrito no qual cada variável de decisão informa quantas vezes um item i foi retirado de uma placa j. O item i é cortado da seguinte maneira: um corte para obter uma faixa com a largura do item e depois mais um corte para obter o item. O objeto é representado pela placa j = 0 e os demais valores de

j representam, as chamadas placas residuais, que são os retângulos resultantes do corte

de um item i. O objetivo considerado na formulação é minimizar os cortes realizados nas placas do tipo j = 0. Os autores ainda propõem alternativas na formulação, como exemplo, considerar ou não o caso exato, rotação nos itens, vários tamanhos de objetos e a função-objetivo pode minimizar o desperdício.

Em 2013, Yanasse e Morabito [32] apresentam modelos lineares e não lineares inteiros para problemas da mochila bidimensional 2-estágios, isto é, modelos para geração de padrões de cortes bidimensional 2-estágios (guilhotinados). Inicialmente, apresentam alguns modelos inteiros lineares e não lineares, como por exemplo, os modelos de Lodi e Monaci [14]. Eles propõem modelos alternativos baseado em adaptações ou em extensões de modelos que consideram padrões one-group (padrões de corte 2-estágios exatos). Dentre as adaptações, podemos citar a linearização de modelos não lineares e a adaptação de modelos one-group para casos não-exatos. Yanasse e Morabito [32] propõem como trabalho futuro a utilização dos modelos no subproblema do método de GC proposto por Gilmore e Gomory [9].

No próximo capítulo, descrevemos o PCE2D e as características dos padrões de corte.

(30)

30

Capítulo 3

Descrição do problema

O PCE2D consiste em cortar um conjunto de objetos disponíveis em estoque para a produção de um conjunto de itens menores atendendo uma demanda, sendo que, tanto no objeto quanto nos itens duas dimensões são relevantes, o comprimento e a largura. Definimos como padrão de corte a combinação geométrica de itens em um dado objeto. Um padrão de corte pode ser representado por um vetor coluna aj ∈ Nm, sendo

m o número de tipos de itens, assim o padrão de corte j possui aij itens do tipo i. Por exemplo, a Figura 4ilustra o padrão de corte representado por aj = (1, 2, 1, 1, 0)t, quando temos 5 itens (m = 5).

Figura 4 – Exemplo de um padrão de corte bidimensional.

Para entender em que momento são criados os padrões de cortes nas abordagens de resolução usadas nessa dissertação, propomos a definição de três tipos de padrões de corte, são eles:

1. Padrões de corte a priori: são padrões de corte já estabelecidos antes de utilizar alguma abordagem de resolução.

2. Padrões de corte intermediários: são padrões de corte definidos durante a abordagem de solução, e geralmente esses tipos de padrões de corte, ocorrem quando a abordagem

(31)

de solução cria os padrões de corte no decorrer do método.

3. Padrões de corte a posteriori: são padrões de corte obtidos após utilizar alguma abordagem de resolução. Geralmente usa-se um método para a recuperação desses padrões de corte.

Algumas propriedades para a montagem dos padrões de corte e a nomenclatura de certos padrões de corte com características específicas são descritas a seguir.

3.1

Características dos padrões de corte

3.1.1

Padrões de corte equivalentes

Padrões de corte equivalentes são padrões de corte que geram a mesma quanti-dade de itens para cada tipo de item. Na Figura 5, podemos observar dois padrões de corte que possuem a mesma representação vetorial aj = (1, 2, 1)t, ou seja, ambos os padrões geram a mesma quantidade de itens.

Figura 5 – Padrões de corte equivalentes.

3.1.2

Padrão de corte restrito

Um padrão de corte é chamado restrito quando há um limite no número de cada item no padrão de corte. Desse modo, a quantidade máxima de cada tipo de item

i no padrão de corte deve ser ri, i = 1, ...m. Quando existe essa restrição o problema de corte de estoque é dito restrito, caso contrário é dito irrestrito. Seja bL

`i

c · bW

wi c a quantidade máxima de itens do tipo i, i = 1, . . . , m, que é possível cortar do objeto, se ∀i, ri ≥ b

L `i

c · bW

wi

c, então o padrão de corte é irrestrito e se existe algum i tal que

ri < b

L `i

c · bW

wi

c, então o padrão de corte é restrito.

3.1.3

Padrão de corte homogêneo

No PCE2D podemos considerar dois tipos de padrões de corte homogêneo: o homogêneo simples e o homogêneo composto. Quando é utilizado somente um tipo de item

(32)

Capítulo 3. Descrição do problema 32

no padrão de corte damos o nome de padrão homogêneo simples. Morabito e Arenales [20] explicam que o padrão de corte homogêneo composto ocorre quando o padrão de corte é restrito, sendo assim, cortamos no padrão de corte o limitante de um item e depois, com o resto do objeto, cortamos o limitante ou o quanto couber de outro item e assim por diante. Cintra [4] define outro tipo de padrão de corte chamado de padrão de corte semi-homogêneo, que é formado por faixas homogêneas. Na ilustração da Figura6atemos a apresentação de um padrão de corte homogêneo simples e na Figura 6b temos o padrão de corte homogêneo composto, considerando, por exemplo, r5 = 12 e r6 = 8, e em particular, também é semi-homogêneo.

(a) (b)

Figura 6 – Padrões de corte homogêneo (a) simples e (b) composto.

3.1.4

Corte guilhotinado

Um corte guilhotinado em uma placa retangular é um corte que divide a placa em outras duas placas retangulares. Por exemplo, esse tipo de corte pode surgir na indústria de vidros, pois evita trincas na placa de vidro fazendo com que não se perca matéria-prima, ou em metalúrgicas que utilizam uma guilhotina industrial para o corte das placas metálicas. A Figura 7ailustra um corte guilhotinado horizontal e a Figura 7b o vertical.

(a) (b)

(33)

3.1.5

O problema k-estágios

Cada mudança na orientação do corte guilhotinado é considerada uma mudança de estágio, assim se existe um limite k na quantidade dessas mudanças o problema é chamado de k-estágios, caso contrário, ele é chamado de não estagiado.

Consideramos nesse trabalho o padrão de corte 2-estágios. As Figuras 8 e 9

ilustram o que são os estágios de corte, sendo 2-estágios e 4-estágios, respectivamente.

Figura 8 – Exemplo de padrão de corte 2-estágios.

3.1.6

Problema de corte guilhotinado

O problema de corte guilhotinado consiste em realizar uma sequência de cortes guilhotinados horizontais e verticais em uma placa retangular, ou seja, realizar estágios de cortes, de modo a obter peças retangulares menores e que ao final do processo são os itens ou as perdas. A Figura 9ilustra uma sequências de cortes realizadas em um objeto, nela são apresentados 4 estágios.

Figura 9 – Exemplo de padrão de corte 4-estágios guilhotinado.

3.1.7

Trimming

Em alguns casos pode haver a necessidade de aparar os retângulos para obtermos o item final, chamamos esse processo de trimming ou aparo. O processo de trimming não

(34)

Capítulo 3. Descrição do problema 34

é considerado como um estágio. A Figura 10ilustra quando é necessário o trimming. O problema é dito não-exato quando é necessário fazer o processo de trimming, caso contrário é chamado exato. Consideramos nesse trabalho o caso não-exato.

Figura 10 – Aparo necessário nos itens tipo 1 e 2.

Como consideramos o caso 2-estágios, o processo de trimming é essencial para auxiliar em soluções que aproveitam melhor o objeto. Sem o aparo, os padrões de corte seriam todos do tipo não-exato, fazendo com que alguns pedaços da placa não sejam utilizados de forma adequada. Um exemplo disso pode ser observado na Figura 11, a qual apresenta um padrão de corte com um item a mais do que o padrão de corte apresentado na Figura 6b, porém é necessário que se faça um aparo em alguns itens na Figura11 e nenhum aparo nos itens da Figura 6b.

Figura 11 – Aparo necessário nos itens tipo 6.

3.1.8

Rotação

Cada item i, i = 1, .., m, tem uma orientação específica (`i, wi) sendo seu comprimento e sua largura. Em alguns casos é permitido que cada item seja rotacionado, isto é, sua orientação pode sofrer uma mudança de 90 graus. Consideramos o caso em que não é permitido rotação nos itens e nem no objeto. Aparentemente rotacionar o item pode parecer não ser um problema, mas certos materiais, como madeira, podem possuir

(35)

desenhos e a orientação desses desenhos pode ser significante. Na Figura 12, podemos observar a importância de considerar ou não a rotação do item.

Figura 12 – Rotação feita em um item.

Nesse capítulo, vimos a definição do PCE2D e algumas características de tipos de padrões de corte viáveis para o problema. No próximo capítulo usamos essas características para auxiliarem na formulação dos modelos apresentados para o PCE2DG2E e na maneira como o método de resolução construirá os padrões de corte.

(36)

36

Capítulo 4

Modelagem matemática e método de

solução

Nesse capítulo apresentamos na Seção 4.1 uma formulação para o PCE2DG2E e na Seção 4.2 apresentamos o método de resolução, sendo ambos propostos por Gilmore e Gomory [9]. Na Seção 4.2 apresentamos, também, os modelos propostos por Valério de Carvalho [27, 28, 29] para o PCE1D e por Macedo et al. [16] para o PCE2DG2E. Como contribuição propomos no Capítulo 5 um método para determinar os padrões de corte usados no modelo proposto por Macedo et al. [16].

4.1

O problema de corte de estoque

O PCE pode ser definido da seguinte forma. Suponha que temos objetos disponíveis em estoque, em quantidade suficiente para atender toda a demanda de produção de itens menores. Além disso, temos um conjunto de m tipos de itens menores que devem ser cortados a partir dos objetos maiores em estoque para atender uma dada demanda di,

i = 1, . . . , m. O problema consiste em produzir os itens demandados de forma a minimizar

uma função objetivo, como por exemplo, minimizar a perda de material, minimizar custos, entre outros.

Consideremos agora os seguintes dados:

Objetos em estoque:

L : comprimento do objeto (caso 1D);

L × W : largura e comprimento do objeto (caso 2D);

Itens demandados:

(37)

di : demanda do item tipo i;

`i : comprimento do item tipo i (caso 1D);

`i× wi : largura e comprimento do item tipo i (caso 2D).

Sejam N o número de padrões de corte possíveis no objeto e aij o número de itens do tipo i no padrão de corte j. Um vetor aj = (a1j, a2j, . . . , amj)t representa o

j–ésimo padrão de corte para o objeto em estoque, que deve satisfazer algumas condições.

Para o caso unidimensional, um padrão de corte j deve satisfazer:

`1a1j + `2a2j + . . . + `mamj ≤ L e aij ∈ Z, i = 1, . . . , m,

(4.1)

que são as restrições do problema conhecido na literatura como problema da mochila (Martello e Toth [18]). A Figura 13 representa possíveis configurações para os objetos e itens demandados de um exemplar para o PCE1D. Nela, vemos os objetos disponíveis em estoque para serem cortados, cujo comprimento é L, vemos também quatro tipos de itens demandados, com dimensões `1, `2 , `3 e `4. Nessa figura, também são apresentados três padrões de corte factíveis, isto é, padrões de corte que satisfazem 4.1. São eles: a1 = (12, 0, 0, 0)t, que é um padrão de corte homogêneo simples com uma perda; a2 = (3, 4, 1, 0)t, que também tem uma perda; e a3 = (0, 0, 3, 2)t que não apresenta nenhuma perda de material.

(a) (b) (c)

Figura 13 – (a) objetos; (b) itens demandados; (c) exemplos de padrões de corte do PCE1D.

De forma análoga, consideramos na Figura 14 um exemplar para o PCE2D. Nela estão os objetos disponíveis em estoque para serem cortados, cujas dimensões são

L×W e também, quatro tipos de itens demandados, com dimensões `1×w1, `2×w2, `3×w3 e `4× w4. Nessa figura também estão representados dois padrões de corte guilhotinados, o primeiro associamos o vetor a1 = (0, 1, 0, 2)t e o outro é representado por a2 = (1, 0, 3, 0)t.

Na construção de padrões de corte bidimensionais algumas restrições de corte surgem naturalmente nos problemas práticos, outras são impostas para simplificações. Por exemplo, cortes do tipo guilhotinados (Figura 7). Veja os detalhes na Seção 3.1.

Considere cj o custo de cortar um objeto conforme o j–ésimo padrão de corte,

j = 1, . . . , N , e a variável de decisão xj que determina o número de objetos cortados segundo o padrão de corte j.

(38)

Capítulo 4. Modelagem matemática e método de solução 38

(a) (b) (c)

Figura 14 – (a) objetos; (b) itens demandados; (c) exemplos de padrões de corte do PCE2D.

O problema de corte de estoque pode ser descrito da seguinte forma. Determine as frequências xj, j = 1, . . . , N , que minimizam os custos totais e que atendam toda a demanda. O modelo matemático que representa este problema é dada por:

minimizar N X j=1 cjxj sujeito a: N X j=1 αijxj ≥ di, i = 1, . . . , m, xj ≥ 0 e inteiro, j = 1, . . . , N. (4.2)

Para simplificar a notação, reescrevemos o modelo matemático (4.2) na forma matricial:

minimizar ctx

sujeito a: Ax ≥ d

x ≥ 0 e inteiro,

(4.3)

em que cada coluna da matriz A ∈ Nm×N é um vetor associado a um padrão de corte. Além disso, o vetor c ∈ RN é o vetor com os custos referentes a cada coluna, isto é, o custo associado a cada padrão de corte e o vetor d ∈ Nm é o vetor com as demandas dos itens. A condição de integralidade sobre as variáveis xj é, geralmente, encontrada em problemas de corte de estoque e torna estes problemas difíceis de serem resolvidos

(39)

computacionalmente. Outra dificuldade é o alto número de possíveis padrões de corte (colunas), inviáveis de serem determinados a priori. Para contornar estas dificuldades, Gilmore e Gomory [7, 8, 9] propuseram relaxar a condição de integralidade, isto é, ignorar essas restrições no processo de solução e resolver o Problema de Programação Linear (PPL) resultante pelo método de GC. Nesse processo, a cada iteração, uma coluna é gerada para fazer parte da solução, ou seja, a cada iteração do método é determinado um novo padrão de corte. O método fornece uma solução ótima contínua para o problema de corte de estoque. Ao final, técnicas de arredondamento podem ser utilizadas para determinar soluções inteiras para o problema de corte de estoque.

4.2

O método simplex com geração de colunas para o PCE

O método simplex com Geração de Colunas (GC) para o problema de corte de estoque foi proposto por Gilmore e Gomory [7,8] para o caso unidimensional e depois estendido para o caso bidimensional ainda por Gilmore e Gomory [9].

A seguir, apresentamos uma breve descrição do método simplex para resolução de um PPL e, em seguida, o método de GC.

4.2.1

Problema de programação linear

Um PPL na forma padrão e matricial é dado por:

minimizar ctx (4.4)

sujeito a: Ax = d (4.5)

x ≥ 0, (4.6)

em que A ∈ Rm×n é uma matriz de posto completo, isto é, posto(A) = m, c ∈ Rn, d ∈ Rm e x ∈ Rn. Dessa forma, resolver tal problema consiste em encontrar uma solução que satisfaça as restrições (4.5) e (4.6), além de minimizar o valor da função-objetivo (4.4).

4.2.2

O método simplex

O método simplex foi proposto por Dantzig [12] em 1947 e tem como objetivo encontrar uma solução ótima para um PPL.

O método, inicialmente, faz uma partição na matriz A = [B N ], sendo B ∈ Rm×m contendo m colunas linearmente independentes de A. Desse modo, as colunas de B formam uma base para o espaço Rm e, por isso, é chamada de matriz básica. A matriz N contém as demais m × (n − m) colunas de A e é chamada de matriz não básica.

(40)

Capítulo 4. Modelagem matemática e método de solução 40

Também é feita a correspondente partição no vetor solução x = [xB xN] e no vetor de custos c = [cB cN]. O vetor xB é o vetor das variáveis básicas e vetor xN é o vetor das variáveis não básicas. O vetor cB é o vetor de custos das variáveis básicas e cN é o vetor das variáveis não básicas. Sendo que xB= B−1d ≥ 0.

Com a partição realizada podemos reescrever o PPL da seguinte maneira:

minimizar f (x) = ctBxB+ ctNxN (4.7)

sujeito a: BxB+ N xN = d (4.8)

xB ≥ 0, xN ≥ 0, xB ∈ Rme xN ∈ R(n−m). (4.9) E, portanto, podemos obter uma solução que satisfaça as restrições (4.8) da seguinte forma:

BxB+ N xN = d ⇔ BxB = d − N xN ⇔ xB = B−1d − B−1N xN.

Isso significa que atribuições de valores às variáveis não básicas xN fazem com que se obtenha uma solução para xB.

Em particular, para se obter uma solução básica, fixamos xN = 0 e resolvemos

xB = B−1d. Se xB ≥ 0, então x satisfaz a restrição (4.8) e dizemos que xB é uma solução

básica factível. Nesse caso, a partição básica realizada diz-se factível. Se além de ser solução

básica factível, ela minimizar o valor de f (x), então xB é solução básica factível ótima ou simplesmente solução ótima.

Demonstra-se em [15] que dado um PPL na forma padrão:

1. Se existe uma solução factível com um valor de função-objetivo finito, então existe uma solução básica factível.

2. Se existe uma solução factível ótima com um valor de função-objetivo finito, então existe uma solução básica factível ótima.

Logo, se temos uma solução, podemos então encontrar o seu respectivo valor da função-objetivo, dada por:

f (x) = ctBxB+ ctNxN = ctB(B−1d − B−1N xN) + ctNxN = ctBB−1d − ctBB−1N xN + ctNxN = ctBB−1d + (ctN − ct BB −1 N )xN. (4.10)

(41)

Considere uma solução particular x0 para o problema (4.7) – (4.9) tal que

x0B = B−1b ≥ 0 e x0N = 0. O valor da função-objetivo será f (x0) = ctBB−1d, uma vez que xN = 0.

O vetor π ∈ Rm, dado por πt= ctBB−1, é chamado de vetor das variáveis duais ou vetor multiplicador simplex. Assim, a função-objetivo pode ser reescrita em termos das variáveis não básicas:

f (x) = f (x0) + n−m X j=1 (ctN j − π ta Nj)xNj.

Para cada variável xNj, correspondente à j–ésima coluna não básica de A,

temos um valor cNj − π

ta

Nj associado a ela, o qual é chamado de custo reduzido ou custo

relativo.

Dessa forma, podemos dizer se a solução obtida é uma solução ótima, se

cNj− π

ta

Nj ≥ 0, ∀j = 1, ..., n − m, ou seja, nenhuma coluna consegue melhorar o valor da

função-objetivo.

Mas se existir cNk− π

t

aNk < 0, para algum k, então é possível atribuir um valor

para xNk tal que o valor da função-objetivo decresce e, desse modo, a solução atual não é

ótima. Assim, podemos aplicar a estratégia simplex que é definida como uma alteração da solução básica através da perturbação de apenas uma componente de xN.

Faça xNk = ε ≥ 0 e xNj = 0, ∀j ∈ N − {k}, assim a nova solução será dada

por:

xB = x0B− εy,

xNk = εek,

em que y = B−1aNk e ek = (0, ..., 1, ..., 0)

t, isto é, e

k é o k–ésimo vetor canônico. O novo valor da função-objetivo é dado por:

f (x) = f (x0) + (cNk− π

t

aNk)ε.

Para determinar o maior valor possível para ε, observe expressão a seguir:

xB = x0B− εy ≥ 0. (4.11)

Dessa forma,

x0B ≥ εy.

(42)

Capítulo 4. Modelagem matemática e método de solução 42 x0Bi ≥ εyi, e o valor de ε satisfaz: x0 Bi yi ≥ ε.

Para garantir que todas as componentes da solução continuem positivas, esco-lhemos o valor de ε tal que:

ε0 = x 0 Bq yq = min ( x0 Bi yi : yi > 0, i = 1, ..., m ) .

A expressão descrita acima é conhecida como teste do mínimo ou teste da razão e q é o índice no qual o mínimo é obtido.

Observe então que o valor dado a ε0 faz com que a componente q de xB seja anulada e, portanto, isso induz a retirada da coluna q do conjunto das colunas básicas e a adicioná-la ao conjunto das colunas não básicas. Fazemos o inverso com a coluna k.

Observe na expressão (4.11) que se y < 0, então não há limitação para ε e, portanto, f (x) → −∞, nesse caso, o problema é ilimitado e o processo é interrompido.

Assim, se s = (−y, ek)t é a direção simplex, temos uma nova solução, dada por:

x1 = x0+ ε0s.

Portanto, basta repetirmos o processo até que a solução ótima seja encontrada, ou seja, repetimos o processo, até que cNj − π

ta

Nj ≥ 0, ∀j = 1, ..., n − m (ou até que seja

identificado que o problema é ilimitado).

Se tivermos mais que um valor de custo reduzido negativo podemos aplicar a

regra de Dantzig, a qual consiste em escolher o menor deles, isto é: cNk− π

t

aNk = min{cNj − π

t

aNj, ∀j = 1, ..., n − m}.

O Algoritmo 1 apresenta o método simplex.

4.2.3

O método simplex com geração de colunas para o PCE

O método de GC, proposto por Gilmore e Gomory [7,8, 9] inicia-se com uma base inicial B factível (uma matriz quadrada, m × m) e a cada iteração do método uma coluna da matriz B é substituída.

(43)

Algoritmo 1: Algoritmo do método simplex. Entrada: A, c e d

Inicialização:

Determine uma partição básica factível inicial tal que:

A = [B N ], x = [xB xN] e c = [cB cN] Passos:

1. Determine uma solução básica primal-factível: xB = B−1d ≥ 0 2. Determine uma solução básica dual: πt= ctBB−1

3. Determine o menor custo relativo:

cNk − π t aNk = min{cNj− π t aNj, ∀j = 1, ..., n − m} 4. Teste de otimalidade: Se cNk − π ta

Nk ≥ 0 então a solução atual é ótima, PARE.

5. Senão: Determine a direção simplex: y = B−1aNk

6. Determine o passo: ε = xBq

yq

= min{xBi

yi

; yi > 0, i = 1, ..., m}

7. Se yi ≤ 0 para todo i = 1, .., m então PARE o problema é ilimitado. 8. Atualize a matriz básica: aBq ↔ aNk

9. Retorne ao passo 1

Saída: x= [xB xN] = [B−1d 0]

Usamos como base inicial uma matriz com padrões de corte homogêneos simples, isto é, uma matriz diagonal na qual cada coluna é dada por [0 ... aii ... 0]t, sendo que para o PCE1D, aii= b L `i c (irrestrito) ou aii = min{b L `i

c, ri} (restrito), sendo ri um limitante superior na quantidade de itens do tipo i que podem ser alocados no padrão de corte. Para o PCE2D, aii= b L `i c · bW wi c (irrestrito) ou aii= min{b L `i c · bW wi c, ri} (restrito).

Nesta dissertação, consideramos que o vetor de custos é dado por: ci = 1, i = 1, ..., m, e, desse modo, a função-objetivo minimiza o somatório das frequências dos padrões de corte. Demonstra-se em Poldi [23], que considerar ci = 1, i = 1, ..., m é equivalente a minimizar o desperdício de matéria-prima se as restrições do problema forem todas de igualdade.

Para obter uma nova coluna, isto é, um novo padrão de corte que irá substituir uma das atuais colunas na base, vamos considerar a regra de Dantzig para o caso em que

ci = 1, i = 1, ..., m: cNk − π ta Nk = min{cNj− π ta Nj, ∀j = 1, ..., n − m} 1 − πtaNk = min{1 − π t aNj, j = 1, ..., n − m}.

Assim, a regra de Dantzig encontra qual coluna aNk minimiza o valor 1 − π

ta Nj,

(44)

Capítulo 4. Modelagem matemática e método de solução 44

ou então que maximiza o valor πtaNj. Dessa forma, podemos resolver um subproblema, um

Problema de Programação linear Inteira (PPI), cuja função-objetivo é dada por πtaNj com

aNj ∈ Z

m +.

Logo, os padrões de cortes usados nesse método são do tipo intermediários, uma vez que os padrões de cortes são obtidos no decorrer de cada iteração do método.

Inicialmente, explicamos o subproblema para caso unidimensional e depois apresentamos a extensão para o caso bidimensional 2-estágios.

4.2.4

Subproblema para o caso unidimensional

O subproblema para o caso unidimensional também é conhecido como problema

da mochila e tem esse nome, devido a semelhança do problema em escolher itens para

ser colocados em uma mochila respeitando sua capacidade e cada item tem um valor de

utilidade e um peso associado.

No caso do problema de corte, essa capacidade é o comprimento do objeto em estoque L, o valor de utilidade do item i = 1, ..., m será informado pelo valor πi, que é o vetor multiplicador simplex, o peso será o comprimento `i de cada item e o problema tem a seguinte formulação: maximizar πta sujeito a: m X i=1 `iai ≤ L a ∈ Zm+,

sendo a ∈ Zm+, a nova coluna da matriz de restrições, isto é, um novo padrão de corte que será usado pelo método simplex. Após resolver o subproblema e obter o novo padrão de corte, basta continuar os passos do método simplex (Passo 4).

Consideramos agora, o caso restrito, o qual há uma limitação na quantidade de itens que são colocadas em um padrão de corte. Para o caso unidimensional, basta considerarmos que a variável é canalizada, ou seja, a formulação do problema é dada por:

maximizar πta sujeito a: m X i=1 `iai ≤ L 0 ≤ a ≤ r, a ∈ Zm+,

em que r estabelece o limite superior para cada item. Em algumas situações o vetor da demanda d pode ser considerado no limite de itens do padrão de corte e, nesse caso,

(45)

podemos considerar:

ri = min{

L `i

, di}

4.2.5

Subproblema para o caso bidimensional

A extensão para o caso bidimensional 2-estágios foi proposta por Gilmore e Gomory [9]. Neste caso, duas dimensões são relevantes: comprimento e largura. Como dito anteriormente, usamos L e W para representar, respectivamente, o comprimento e a largura do objeto e para cada item i, temos `i e wi, sendo o comprimento e a largura, respectivamente.

O procedimento para a montagem dos padrões de corte considera, inicialmente, uma das dimensões e depois a outra, conforme descrito a seguir:

1. Ordenar o vetor w de forma não decrescente e realizar a respectiva mudança em `. 2. Criar m faixas, de tamanhos wi × L, i = 1, . . . , m, decidir quais os melhores itens

w0js para alocar na faixa, de modo que wj ≤ wi. 3. Decidir quais as melhores faixas para cortar o objeto.

A expressão wj ≤ wi no item 2 serve para alocar somente itens de largura menor ou igual que a largura da faixa. O vetor multiplicador simplex determina quais os melhores itens a serem alocados nas faixas.

Assim, para cada faixa i, i = 1, . . . , m, temos de resolver um subproblema da mochila com a seguinte formulação:

φi = maximizar πitz i (4.12) sujeito a: i X k=1 `ikzik≤ L (4.13) zi ∈ Zi+, (4.14)

sendo que `i e πti possuem i entradas de ` e π, respectivamente, como por exemplo: `2 = [`1

`2] e zi possui a solução da faixa i. O vetor zi é completado com zeros, nas posições m − i, para obtermos um vetor zi ∈ Nm. O valor da função-objetivo do problema da mochila referente a faixa i é dado por φi e φ = [φ1 . . . φi . . . φm], ou seja, φ é um vetor que possui o valor da função-objetivo dos problemas da mochila das m faixas.

Para a repetição das faixas, ou seja, para a outra dimensão, a largura, resolvemos um outro problema da mochila, formulado da seguinte maneira:

Referências

Documentos relacionados

Não foram observadas diferenças (P&gt;0,05) para a digestibilidade in vitro da matéria seca (DIVMS) entre as amostras de extrusa esofágica e as obtidas por simulação manual de

A mortalidade neonatal precoce constitui-se em um sério problema de saúde pública, principalmente em países em desenvolvimento como é o caso do Brasil, pois a Taxa de

Quando a válvula seletora se encontra nesta posição a água procedente da bomba recircula diretamente para a piscina, sem passar pelo interior do filtro.. Assegure-se de que

Obtenha as correntes de curtos-circuitos conhecendo-se os parâmetros do gerador, do transformador e da linha.. Exemplo 2: falta monofásica e influência da conexão

Em geral, a arquitetura faixa estreita está associada a sistemas com alta capacidade – o número de canais em que a banda é dividida dá uma dimensão da capacidade do sistema quanto

Cada estudante receberá uma ausência justificada para participar do Dia de Levar Nossos Filhos e Filhas ao Trabalho em 17 de abril de 2014... Trabalho

7.12.3 - O candidato que concorrer à vaga definitiva no subitem anterior deverá, no ato de ins- crição, declarar sua condição e enviar ao IMIP, no prazo fixado para inscrição,

Ao analisar o cumprimento da legislação vigente sobre transparência pública pelos portais eletrônicos das sete capitais da região norte entre maio e setembro de 2015, Souza (2016,