Acessibilidade / Reportar erro

Heurísticas para os problemas de geração e sequenciamento de padrões de corte bidimensionais

Resumos

Neste artigo é tratado o clássico problema de corte de estoque bidimensional, cuja solução consiste em um conjunto de padrões de corte que otimiza uma função objetivo, por exemplo, a perda de material. Porém, os padrões de corte podem ser seqüenciados de modo que um outro objetivo também seja otimizado, como, por exemplo, o número máximo de pilhas abertas de itens (uma pilha é aberta quando um tipo de item é cortado pela primeira vez e fechada quando todos os itens deste tipo foram cortados). Uma boa solução para o problema de geração de padrões de corte freqüentemente não resulta numa boa solução para o problema de sequenciamento de padrões de corte, e vice-versa. Em geral, esses dois problemas são abordados, tanto na prática como na literatura, de forma independente e sucessiva. Pileggi et al. (2005) propuseram abordagens heurísticas para resolver esses dois problemas de forma integrada, considerando o trade-off entre os objetivos envolvidos, e analisaram o caso de corte unidimensional (p.e., corte de barras). No presente trabalho estas abordagens são estendidas e aplicadas para analisar o caso de corte bidimensional guilhotinado (p.e., corte de chapas). Resultados computacionais são apresentados para exemplos gerados aleatoriamente e para um exemplo real de uma fábrica de móveis.

problema de corte bidimensional; sequenciamento de padrões de corte; heurísticas; otimização bi-objetivo


This paper is concerned with the classical two-dimensional cutting stock problem, whose solution consists of a set of cutting patterns that optimize an objective function, for example, the waste of material. Nevertheless, the cutting patterns have to be sequenced so that another criterion is also optimized, for example, the maximum number of open stacks of the items (a stack is opened when a type of item is cut for the first time and closed when all items of this type were cut). A good solution for the problem of generating cutting patterns often does not result in a good solution for the problem of sequencing cutting patterns, and vice-versa. In general, these two problems are treated, either in practice or in the literature, in an independent and successive way. Pileggi et al. (2005) proposed heuristic approaches to solve these two problems in an integrated way, considering the trade-off between the objectives involved, and they analyzed the one-dimensional cutting case (e.g., cut of bars). In the present study these approaches are extended and applied to analyze the two-dimensional guillotine cutting case (e.g., cut of plates). Computational results are presented for randomly generated examples and for an actual instance of a furniture company.

two-dimensional cutting problem; cutting pattern sequencing; heuristics; bi-objective optimization


Heurísticas para os problemas de geração e sequenciamento de padrões de corte bidimensionais

Gisele C. F. PileggiI; Reinaldo MorabitoII,* * Corresponding author / autor para quem as correspondências devem ser encaminhadas ; Marcos Nereu ArenalesIII

ICurso de Engenharia de Produção Universidade Presbiteriana Mackenzie São Paulo – SP giselepileggi@mackenzie.com.br

IIDepartamento de Engenharia de Produção Universidade Federal de São Carlos (UFSCar) São Carlos – SP morabito@power.ufscar.br

IIIDep. de Matemática Aplicada e Estatística / ICMC Universidade de São Paulo (USP) São Carlos – SP arenales@icmc.usp.br

RESUMO

Neste artigo é tratado o clássico problema de corte de estoque bidimensional, cuja solução consiste em um conjunto de padrões de corte que otimiza uma função objetivo, por exemplo, a perda de material. Porém, os padrões de corte podem ser seqüenciados de modo que um outro objetivo também seja otimizado, como, por exemplo, o número máximo de pilhas abertas de itens (uma pilha é aberta quando um tipo de item é cortado pela primeira vez e fechada quando todos os itens deste tipo foram cortados). Uma boa solução para o problema de geração de padrões de corte freqüentemente não resulta numa boa solução para o problema de sequenciamento de padrões de corte, e vice-versa. Em geral, esses dois problemas são abordados, tanto na prática como na literatura, de forma independente e sucessiva. Pileggi et al. (2005) propuseram abordagens heurísticas para resolver esses dois problemas de forma integrada, considerando o trade-off entre os objetivos envolvidos, e analisaram o caso de corte unidimensional (p.e., corte de barras). No presente trabalho estas abordagens são estendidas e aplicadas para analisar o caso de corte bidimensional guilhotinado (p.e., corte de chapas). Resultados computacionais são apresentados para exemplos gerados aleatoriamente e para um exemplo real de uma fábrica de móveis.

Palavras-chave: problema de corte bidimensional, sequenciamento de padrões de corte, heurísticas, otimização bi-objetivo.

ABSTRACT

This paper is concerned with the classical two-dimensional cutting stock problem, whose solution consists of a set of cutting patterns that optimize an objective function, for example, the waste of material. Nevertheless, the cutting patterns have to be sequenced so that another criterion is also optimized, for example, the maximum number of open stacks of the items (a stack is opened when a type of item is cut for the first time and closed when all items of this type were cut). A good solution for the problem of generating cutting patterns often does not result in a good solution for the problem of sequencing cutting patterns, and vice-versa. In general, these two problems are treated, either in practice or in the literature, in an independent and successive way. Pileggi et al. (2005) proposed heuristic approaches to solve these two problems in an integrated way, considering the trade-off between the objectives involved, and they analyzed the one-dimensional cutting case (e.g., cut of bars). In the present study these approaches are extended and applied to analyze the two-dimensional guillotine cutting case (e.g., cut of plates). Computational results are presented for randomly generated examples and for an actual instance of a furniture company.

Keywords: two-dimensional cutting problem, cutting pattern sequencing, heuristics, bi-objective optimization.

1. Introdução

O problema de corte de estoque consiste em cortar objetos de tamanhos e quantidades conhecidos, para atender uma demanda de itens de tamanhos e quantidades especificados pelos clientes, de forma a, por exemplo, minimizar a perda do material cortado. Em geral esses problemas pertencem à classe de problemas NP-difíceis (Dyckhoff & Finke, 1992; Dyckhoff et al., 1997; Lodi et al., 2002; Wäscher et al., 2007; SICUP, 2007). O problema de sequenciamento de padrões de corte (um padrão de corte define uma maneira de arranjar itens dentro de objetos) consiste em definir uma seqüência em que os padrões serão processados a fim de, por exemplo, minimizar o número máximo de pilhas abertas.

Este último problema surge em determinados processos de corte, por exemplo, quando há restrições dos equipamentos de corte, como ocorre com estações de descarregamento automáticas dos itens cortados em fábricas de chapas duras (Morabito & Belluzzo, 2007), ou no caso de limitação de espaço físico para armazenagem dos itens ao redor da máquina de corte. Antes de cortar os objetos é preciso decidir a seqüência para o corte dos padrões, que interfere no número máximo de pilhas abertas, nos níveis de estoque intermediário de itens, no manuseio de materiais, nos prazos de entrega de produtos, entre outros, uma vez que os padrões podem conter diferentes conjuntos de itens. Os problemas de sequenciamento em geral também pertencem à classe de problemas NP-difíceis (Linhares & Yanasse, 2002).

Tanto na prática como na literatura, esses dois problemas são, em geral, resolvidos de forma independente e sucessiva, como nos trabalhos de Dyson & Gregory (1974), Madsen (1979, 1988) e Yanasse (1996, 1997). Primeiramente resolve-se o problema de corte e, com o conjunto de padrões de perda mínima obtido, resolve-se o problema de sequenciamento. Isto pode resultar numa boa solução para o primeiro problema (do ponto de vista da perda), mas não necessariamente numa boa solução para o problema de sequenciamento (do ponto de vista das pilhas abertas), evidenciando o conflito entre os objetivos desses dois problemas. Alguns estudos tratam os dois problemas de forma integrada, tais como Armbruster (2002), Pinto (2004), Pileggi et al. (2005), Belov & Scheithauer (2007) e Yanasse & Lamosa (2007). Todos estes estudos tratam o caso de corte unidimensional (p.e., corte de barras). De acordo com a tipologia de problemas de corte e empacotamento recentemente apresentada em Wäscher et al. (2007), este problema pode ser classificado como um problema de corte estendido, uma vez que considera aspectos adicionais relevantes do problema de corte, como o sequenciamento dos padrões de corte.

Dentre as diferentes estratégias de otimização para resolver, de forma integrada, os problemas de geração e sequenciamento de padrões, uma consiste em otimizar o objetivo do problema de sequenciamento e considerar o objetivo do problema de geração como uma restrição, e uma outra otimiza o objetivo do problema de geração e considera o objetivo do problema de sequenciamento como uma restrição. Pileggi et al. (2005) apresentaram três abordagens heurísticas (Abordagens 1, 2 e 3), inspiradas nesta segunda estratégia, que podem ser aplicadas para analisar problemas de corte de qualquer dimensão, mas analisaram seus desempenhos apenas para o caso de corte unidimensional. Estas abordagens são relativamente simples e facilmente aplicadas na prática para dar apoio ao processo de tomada de decisão.

No presente trabalho as Abordagens 1, 2 e 3 são aplicadas para resolver problemas de corte bidimensional guilhotinado 2-estágios e guilhotinado não-estagiado (p.e., corte de chapas). A motivação para considerar estes padrões é que eles são freqüentemente encontrados na prática, em particular em fábricas de móveis (Yanasse et al., 1991; Carnieri et al., 1994; Morabito & Arenales, 2000) e de chapas duras (Morabito & Garcia, 1998; Belluzzo & Morabito, 2005). As abordagens também podem ser utilizadas para gerar pontos da curva de trade-off entre a perda do material cortado e o número de pilhas abertas durante o corte dos padrões. Convém salientar que não se tem conhecimento de outras abordagens na literatura para problemas integrados de geração e sequenciamento de padrões de corte bidimensionais.

Este artigo está organizado da seguinte maneira: na seção 2 os problemas de corte bidimensional e sequenciamento de padrões de corte são brevemente revisados e é discutida a dependência entre esses problemas. Na seção 3 apresentam-se as Abordagens 1, 2 e 3 para solução do problema integrado para o caso bidimensional. Na seção 4 os desempenhos destas abordagens são comparados analisando-se os resultados computacionais obtidos para exemplos aleatórios de corte bidimensional guilhotinado 2-estágios e guilhotinado nãoestagiado, e para um exemplo real de uma fábrica de móveis com alto grau de padronização e larga escala de produção. Finalmente, a seção 5 discute as conclusões deste trabalho.

2. Problemas de geração e sequenciamento de padrões de corte

O problema de corte de estoque bidimensional consiste em recortar peças retangulares (objetos) de dimensões (L,W) em peças retangulares menores (itens demandados) de dimensões (li,wi), i=1,...,m, em quantidades específicas com o objetivo de, por exemplo, minimizar a perda gerada pelo corte dos padrões. Existem muitos trabalhos na literatura abordando o problema de corte bidimensional, conforme mostram os artigos de revisão e edições especiais em Bischoff & Wäscher (1995), Dyckhoff et al. (1997), Arenales et al. (1999), Wang & Wäscher (2002), Hifi (2002), Lodi et al. (2002), Wäscher et al. (2007) e SICUP (2007). Para cada padrão de corte, por exemplo o padrão j, associa-se o vetor aj = (a1j, a2j, ..., amj), em que aij corresponde ao número de vezes que o item i aparece no padrão j. Seja cj o custo ou a perda associada ao padrão j (i.e., ) e bi a demanda do item i. Considerando que todos os possíveis p padrões de corte sejam conhecidos, o problema de corte pode ser formulado matematicamente da seguinte forma:

em que xj é o número de vezes que o padrão de corte j é cortado. Como nas situações reais o número de padrões de corte em geral é bastante grande, uma boa solução (aproximada) do problema (1)-(3) pode ser obtida pelo simples arredondamento da solução da relaxação linear deste problema, a qual pode ser determinada pelo método simplex com um procedimento de geração de colunas (Gilmore & Gomory, 1961; 1963; 1965). As Abordagens 1 e 3 apresentadas na seção 3 utilizam sub-rotinas baseadas nesta aproximação para resolver o problema integrado de corte e sequenciamento. Uma outra aproximação para resolver o problema (1)-(3) consiste em utilizar heurísticas construtivas gulosas, que reduzem o problema por meio da geração sucessiva de bons padrões de corte (Dyckhoff & Finke, 1992; Poldi & Arenales, 2006). A Abordagem 2, apresentada na seção 3, utiliza uma sub-rotina baseada nesta aproximação para resolver o problema integrado de corte e sequenciamento.

Em muitas situações reais os equipamentos de corte restringem os possíveis padrões de corte. Um exemplo é a restrição de cortes guilhotinados (um corte é guilhotinado se, ao ser feito sobre um retângulo, produzir dois novos retângulos). Uma classe importante de padrões envolvendo somente cortes guilhotinados consiste nos padrões de corte 2-estágios. No primeiro estágio cortes guilhotinados são feitos paralelos ao comprimento (ou largura) do objeto, produzindo um conjunto de faixas longitudinais (ou transversais). No segundo estágio, cortes guilhotinados são feitos perpendiculares aos anteriores. Quando todos os itens têm a mesma largura (ou comprimento) em cada faixa longitudinal (ou transversal), o padrão é denominado padrão guilhotinado 2-estágios exato (Figura 1a); caso contrário é denominado padrão guilhotinado 2-estágios não-exato (Figura 1b).


Neste trabalho, para gerar padrões de corte bidimensionais guilhotinados 2-estágios como os da Figura 1, as utilizam um método exato de duas fases proposto em Gilmore & Gomory (1965). Basicamente, este Abordagens 1, 2 e 3 método envolve resolver uma combinação de problemas da mochila. Para gerar padrões de corte bidimensionais guilhotinados não-estagiados (um problema é dito não-estagiado quando não existe restrição para o número máximo de estágios nos quais os cortes poderão ser realizados), as três abordagens utilizam um método estudado em Morabito & Arenales (1996), baseado numa busca em um grafo-e/ou (um grafo-e/ou é uma generalização de um grafo comum ou grafo-ou). A Figura 2 ilustra um padrão de corte não-estagiado e sua representação em grafo-e/ou. Outros métodos poderiam ser utilizados nas abordagens para gerar padrões guilhotinados estagiados e não-estagiados, por exemplo, os propostos em Beasley (1985), Oliveira & Ferreira (1990), Christofides & Hadjiconstantinou (1995), Daza et al. (1995), Riehme et al. (1996), Hifi (1997), Hifi & Roucairol (2001), Lodi & Monaci (2003) e Morabito & Pureza (2007).


Conforme mencionado na seção 1, em alguns processos de corte, antes de cortar os padrões, é preciso definir a seqüência na qual os mesmos serão processados a fim de otimizar algum critério. Alguns trabalhos tratando este problema podem ser encontrados em Dyson & Gregory (1974), Madsen (1979, 1988), Lins (1989), Yuen (1991, 1995), Yanasse (1996, 1997), Faggioli & Bentivoglio (1998), Foerster & Wäscher (1998), Fink & Vob (1999), Ashikaga (2001), Linhares & Yanasse (2002), Becceneri et al. (2004), Pinto (2004) e Yanasse & Lamosa (2007). Em particular neste trabalho considera-se o critério de minimizar o número máximo de pilhas abertas, MOSP (do inglês Minimization of Open Stack Problem). Quando o corte de um padrão é iniciado, diferentes tipos de itens são produzidos e uma nova pilha é associada a cada tipo de item. Uma pilha é dita aberta se a produção do item associado foi iniciada, mas ainda não terminou e permanece aberta até que o último padrão que contenha este item seja processado. Considerando que uma pilha só pode ser removida após um padrão ser completamente cortado, o número máximo de pilhas abertas ocorre exatamente após o processamento de um padrão e antes que qualquer pilha completa seja removida.

Para resolver o MOSP diferentes métodos podem ser utilizados. Neste trabalho escolheu-se a heurística 3 de Yuen (1995), devido à sua simplicidade e superioridade quando comparada com as demais heurísticas propostas por esse autor com relação à qualidade das soluções obtidas e ao tempo computacional, e também devido à facilidade de sua implementação computacional. Essa heurística é baseada na medida de adequação de um padrão com as pilhas abertas. Quanto maior o número de itens num novo padrão de corte em comum com as pilhas que já foram abertas, melhor a adequação do padrão. Por outro lado, quanto maior o número de itens novos introduzidos, pior a adequação com as pilhas já abertas. Para mais detalhes dessa heurística, veja Yuen (1995) e Pileggi (2002).

2.1 Trade-off entre os problemas de geração e sequenciamento de padrões

Em função da dificuldade de resolver separadamente de forma ótima os problemas de geração e sequenciamento de padrões (os dois problemas são NP-difíceis), admite-se que combiná-los num único problema também resulte num problema difícil. Considere como objetivo do problema de geração a minimização da perda nos padrões de corte (denotada por pe) e, como objetivo do problema de sequenciamento, a minimização do número máximo de pilhas abertas (denotado por pi). Como existem dois problemas a serem resolvidos com objetivos de importância equivalente, trata-se de um problema bi-objetivo. Conforme mencionado, esses objetivos são em geral conflitantes (i.e., melhorar um objetivo pode causar a piora de outro, e vice-versa), e deve-se considerar o trade-off entre os critérios a serem otimizados.

Este problema bi-objetivo pode ser formulado da seguinte forma. Considere a1, a2, ..., ap os possíveis p padrões de corte (colunas) para o problema (1)-(3) e X o espaço de soluções factíveis do problema (1)-(3), ou seja, x = (x1, x2, ..., xpX se e somente se satisfaz às restrições (2) e (3). Se xj > 0 então a solução x utiliza o padrão de corte aj. Suponha que x utilize n padrões e seja s(x) = (a[1], a[2], ..., a[n]) uma seqüência destes n padrões ([k]=j indica que o padrão aj ocupa a k-ésima posição desta seqüência). Seja S(x) o conjunto de todas as possíveis seqüências s(x) e g(s(x)) o número máximo de pilhas abertas na seqüência s(x). Denotando pe = f(x) e pi = g(s(x)), tem-se o seguinte problema bi-objetivo: min z = (pe, pi) = (f(x), g(s(x)), sujeito a: x = (x1, x2, ..., xpX, s(x) Î S(x). Existem diversos métodos para resolver problemas multi-objetivos (Cohon, 1978; Steuer, 1986). Neste trabalho, um método a posteriori é aplicado, baseado na minimização de um dos objetivos, sujeito à limitação do outro objetivo. Define-se o problema P que consiste em minimizar a perda de material, sujeito à uma limitação (diga-se,) para o número máximo de pilhas abertas, ou seja: minimizar pe = ¦(x), sujeito a: pi = g(s(x)) <, x = (x1, x2, ..., xpX, s(x) Î S(x).

A idéia deste método é que, variando-se esta limitação , é possível gerar os pontos da curva de trade-off (fronteira eficiente). A solução do problema P consiste na menor perda (pe) obtida por um conjunto de padrões de corte (x), sujeito à restrição de que o número máximo de pilhas abertas (pi) obtido com o sequenciamento desses padrões seja menor ou igual ao número máximo de pilhas abertas tolerado (). Alternativamente pode-se minimizar o número máximo de pilhas abertas (pi) sujeito a uma limitação () para a perda de material (pe) (para mais detalhes, vide Pileggi et al., 2005). A Figura 3 ilustra uma fronteira eficiente entre a perda de material e o número máximo de pilhas abertas, onde é um limitante superior para a perda (a solução obtida por padrões homogêneos, isto é, padrões com apenas um tipo de item cada um), pe é um limitante inferior para a perda (a solução ótima da relaxação linear do problema (1)-(3)) e é um limitante superior para o número de pilhas abertas (o número máximo de pilhas abertas encontrado com o sequenciamento dos padrões obtidos da relaxação linear do problema (1)-(3)).


Nesta curva, os pontos correspondem às soluções de perda mínima para diferentes valores de número máximo de pilhas abertas ou, inversamente, às soluções de número máximo de pilhas abertas mínimo para diferentes valores de perda de material. Note que o ponto B pode ser facilmente obtido pela solução composta de padrões homogêneos. O ponto A corresponde à solução ótima da relaxação linear do problema (1)-(3), com perda mínima pe. Além desta solução não ter garantia de ser uma solução inteira, ela pode ser infactível, como na Figura 3, pois > . Os demais pontos da fronteira eficiente podem ser obtidos variando-se o valor de (lembre-se que é um número inteiro) no problema P. Como na prática é comum que as soluções precisem satisfazer critérios de tolerância dos problemas de geração e sequenciamento de padrões, os valores e delimitam a parte da curva que contém soluções factíveis do ponto de vista destas tolerâncias estabelecidas.

3. Abordagens para o problema integrado de geração e sequenciamento de padrões

Nas subseções que seguem, as Abordagens 1, 2 e 3, inspiradas no problema P e originalmente apresentadas em Pileggi et al. (2005) para o caso de corte unidimensional, são apresentadas para o caso de corte bidimensional. A principal modificação nas abordagens é a substituição dos geradores de padrões unidimensionais pelos geradores de padrões bidimensionais.

3.1 Abordagem 1

Na Abordagem 1 o problema P é resolvido de forma seqüencial e iterativa, assim como em geral é feito na prática. Primeiramente um conjunto de padrões de corte é obtido resolvendo o problema de corte de estoque (1)-(3) na rotina geração de padrões e, então, este conjunto de padrões é seqüenciado minimizando o número máximo de pilhas abertas na rotina sequenciamento (Figura 4). Se a seqüência de padrões obtida não for factível para o problema P (i.e., pi > ), alguns padrões são substituídos por padrões mais simples (homogêneos), de forma a obter uma solução factível para o problema P (ao custo de um aumento da perda). A idéia é tentar encontrar uma solução com pi <substituindo o menor número possível de padrões. Para isso, a rotina avalia eliminação procura no conjunto de padrões, na mesma seqüência em que aparecem na solução, algum padrão para ser eliminado cuja substituição por padrões mais simples factibilizem a solução. Se todos os padrões forem avaliados e a eliminação (de apenas um padrão) e posterior factibilização da solução não satisfizer o número máximo de pilhas tolerado, um padrão é escolhido para ser eliminado na rotina eliminação de padrões, que elimina o padrão cuja substituição pelos padrões homogêneos resultar no menor aumento de perda. O novo conjunto de padrões p' (com p' > p ) é novamente avaliado, até que se encontre um conjunto que, quando seqüenciado, resulte em pi < (ind é uma variável auxiliar que identifica o número de padrões de corte já avaliados). Para gerar e seqüenciar novos conjuntos de padrões nas próximas iterações, este procedimento é repetido evitando a geração de alguns padrões anteriormente gerados. Isto continua até que um número fixo de iterações seja atingido.


A Figura 4 apresenta um esquema ilustrativo da Abordagem 1. Esta abordagem está descrita em mais detalhes em Pileggi et al. (2005), aplicada para o caso unidimensional. A principal mudança em relação ao caso bidimensional é na sub-rotina de geração de padrões (Figura 4). Conforme a seção 2, para gerar padrões bidimensionais, a relaxação linear do problema (1)-(3) é resolvida utilizando o método simplex com um procedimento de geração de colunas. Neste procedimento o método de duas fases em Gilmore & Gomory (1965) é utilizado para gerar padrões bidimensionais guilhotinados 2-estágios (caso (i)), e o método de busca em grafo-e/ou em Morabito & Arenales (1996) é utilizado para gerar padrões bidimensionais guilhotinados não-estagiados (caso (ii)). Estes dois métodos foram modificados para considerar as restrições adicionais do número máximo de tipos de itens em cada padrão, e dos padrões proibidos na sub-rotina de inclusão de padrões proibidos, que determina um ou mais padrões que não poderão ser gerados na próxima iteração (Figura 4).

Por exemplo, no caso (i), primeiramente faz-se uma verificação com relação ao número de tipos de itens na geração das faixas: se a inserção de um tipo de item tornar o padrão infactível, i.e. com pi > , este tipo não é inserido na faixa. Na geração do padrão, a cada inserção de uma nova faixa, é verificado se o número máximo de tipos de itens é menor que e se a faixa que está sendo inserida não faz com que o padrão que está sendo gerado seja igual a um padrão proibido. Neste caso a faixa não é inserida e avalia-se a inserção da segunda faixa mais valiosa, e assim sucessivamente, até que o padrão seja gerado. No caso (ii), os detalhes de como a limitação no número de tipos de itens pode ser incluída na geração de um padrão foram apresentados em Vianna (2000). As restrições com relação a e aos padrões proibidos são verificadas no cálculo do limitante inferior (solução factível) do método de busca em grafo-e/ou.

A solução obtida na sub-rotina de geração de padrões (com pe = pe) é simplesmente arredondada para se obter uma solução factível para o problema (1)-(3). As demais subrotinas da Figura 4 são similares às do caso unidimensional discutidas em Pileggi et al. (2005). Cabe observar que na rotina de atualização da solução, uma atualização é feita quando uma solução factível ( pi < ) possui perda menor que a perda da solução incumbente ( pe < pei ), ou quando possui perda igual mas com um número de pilhas menor que a da solução incumbente.

3.2 Abordagem 2

A Abordagem 2 resolve o problema P iterativamente, considerando em cada iteração a dependência entre os problemas de geração e sequenciamento de padrões. Para resolver o problema (1)-(3) considerando a restrição do número máximo de pilhas abertas do problema P (i.e., pi < ), uma heurística construtiva gulosa é utilizada. Repete-se este procedimento até que um número máximo de iterações seja atingido, variando-se os valores relativos dos tipos de itens em cada iteração. Inicialmente estes valores são iguais às áreas dos itens e, em cada iteração, são "corrigidos" (aumentados ou diminuídos) com base na solução de um sistema linear. A idéia é evitar padrões com grandes perdas conforme o procedimento evolui, deteriorando assim a solução global do problema.

Na Figura 5 um esquema ilustrativo da Abordagem 2 é apresentado. Esta abordagem está descrita em mais detalhes em Pileggi et al. (2005), aplicada para o caso unidimensional. Assim como na Abordagem 1, a principal mudança em relação ao caso bidimensional é na sub-rotina de geração do melhor padrão (Figura 5). Nesta sub-rotina, o padrão mais valioso considerando os valores relativos dos itens é gerado, respeitando a limitação do número máximo de pilhas que pode ser aberto, . Para isso, é preciso levar em conta as pilhas de itens que já estão abertas, para saber quantos e quais tipos de itens podem fazer parte do padrão que está sendo gerado, pois nesta abordagem os problemas de geração e sequenciamento são resolvidos simultaneamente. Os dois métodos para geração de padrões nos casos (i) e (ii) (método de duas fases e método de busca em grafo-e/ou) foram modificados para considerar a restrição de sequenciamento do problema P, isto é, pi < .


Similarmente à discussão apresentada na Abordagem 1, no caso (i), na geração das faixas, a cada inserção de um novo tipo de item é verificado se esta inserção não viola a restrição do número máximo de tipos de itens. Em caso afirmativo o item é inserido; caso contrário, avalia-se a inserção do próximo tipo de item mais valioso, repetindo este procedimento até que a faixa seja gerada. Na geração do padrão, uma faixa é inserida somente se o número de tipos de itens desta faixa, mais o número de tipos de itens das pilhas que já estão abertas, for menor ou igual a . No caso (ii), na geração do padrão, um novo tipo de item é inserido somente se o número de tipos de itens no padrão, mais o número de tipos de itens das pilhas que estão abertas, for menor que . Isto é feito no cálculo do limitante inferior (solução factível).

3.3 Abordagem 3

A Abordagem 3 consiste em resolver o problema P pelo método simplex com uma modificação no procedimento de geração de colunas. Nesta abordagem, diferentemente do que ocorre com a Abordagem 1, o limite do número máximo de pilhas abertas é considerado dentro do procedimento de geração de colunas, por meio da incorporação da heurística de sequenciamento de padrões. Desta forma, nas iterações do método simplex, os conjuntos de padrões de corte gerados são sempre factíveis do ponto de vista do problema de sequenciamento de padrões, isto é, satisfazem pi <. Nesta abordagem, só são avaliadas as colunas com custos relativos negativos (como no método simplex tradicional), isto é, só as colunas que se inseridas na base melhoram o valor da função objetivo. Além disso, é verificado se a inclusão da coluna na base resulta em pi < . Esta abordagem está descrita em mais detalhes em Pileggi et al. (2005), aplicada para o caso unidimensional. Assim como nas Abordagens 1 e 2, a principal mudança em relação ao caso bidimensional é na sub-rotina para geração de colunas nos casos (i) e (ii) (método de duas fases e método de busca em grafo-e/ou) para satisfazer a restrição do número de pilhas abertas, pi < . Em cada iteração do método simplex, esta sub-rotina determina para entrar na base a coluna com o menor custo relativo e que seja seqüenciável, isto é, o novo conjunto de padrões gerado, quando seqüenciado, abre um número de pilhas menor ou igual a .

Por exemplo, no caso (i), para verificar se pi < cada vez que uma coluna é determinada para entrar na base, a heurística de sequenciamento é executada, considerando o novo conjunto de padrões. Se o número máximo de pilhas abertas resultante for maior que , a coluna não entra na base e a próxima coluna com melhor custo relativo negativo é avaliada, até que uma coluna com custo relativo negativo ao entrar na base resulte em um número de pilhas abertas menor que . Para gerar o padrão com pi < a verificação é feita assim como na Abordagem 1, primeiramente na geração das faixas e depois na geração do padrão. No caso (ii), a cada tipo de item avaliado para inserção no padrão, a heurística de sequenciamento é aplicada para verificar se o número de tipos de itens resultante do sequenciamento dos padrões (considerando na base o padrão que está sendo gerado) não resulta em pi > , além de considerar, no cálculo do limitante inferior, o número máximo de tipos de itens no padrão.

As Abordagens 1, 2 e 3 podem ser utilizadas para gerar pontos da curva de trade-off, aplicando-as para diversos valores de = 1, 2, ..., .

4. Resultados computacionais

Nesta seção os desempenhos computacionais das Abordagens 1, 2 e 3 para resolver o problema P e gerar curvas de trade-off entre a perda (pe) e o número máximo de pilhas abertas (pi) são analisados. As implementações computacionais foram codificadas na linguagem Pascal e foram compiladas em Delphi (versão 5.0). O microcomputador utilizado foi um Pentium IV com 1600Mhz e 512Mb de memória. Para resolver a relaxação linear do problema de geração de padrões de corte (1)-(3), implementou-se o método primal simplex com geração de colunas, utilizando os padrões homogêneos como solução inicial para a fase I, e os sistemas lineares foram resolvidos pelo método de eliminação de Gauss com pivotamento parcial. O critério de parada utilizado foi interromper o método se após 10 iterações a redução no valor da função objetivo não fosse superior a 0,1% (Gilmore & Gomory, 1961, 1963). Considerou-se uma tolerância de ±10-6 para os erros de ponto flutuante.

4.1 Experimentos com exemplos gerados aleatoriamente

Nos experimentos a seguir o número máximo de pilhas abertas tolerado foi arbitrariamente fixado em 3 para as três abordagens. O número máximo de iterações utilizado pelas Abordagens 1 e 2 foram, respectivamente, 100 e m (onde m é o número de tipos de itens). Estes parâmetros foram definidos após diversos experimentos computacionais preliminares; para mais detalhes da aferição destes parâmetros, veja Pileggi (2002). Para cada uma das classes descritas a seguir, foram gerados exemplos aleatoriamente até se obter 50 exemplos para o problema P, de forma que, para cada exemplo, o conjunto ótimo de padrões de corte da relaxação linear do problema (1)-(3) quando seqüenciado abria mais que = 3 pilhas.

As Abordagens 1, 2 e 3 foram comparadas com o limitante inferior pe para a perda, obtido resolvendo a relaxação linear do problema (1)-(3), a fim de avaliar a qualidade das soluções obtidas pelas mesmas. Nas tabelas a seguir, o valor na linha "LI" e coluna "pe" refere-se a este limitante inferior, obtido pelo método simplex com um procedimento de geração de padrões contendo no máximo = 3 tipos de itens. O conjunto de padrões obtido é então seqüenciado pela heurística 3 de Yuen (1995) para calcular (aproximadamente) o limitante superior pi para o número máximo de pilhas abertas (linha "LI" e coluna "pi" nas tabelas). As colunas "pe", "pi" e "t" correspondem, respectivamente, à média das perdas (em percentagem), à média do número máximo de pilhas abertas e a média do tempo computacional (em segundos). A perda percentual é calculada da seguinte forma: área total dos objetos cortados menos área total dos itens produzidos, sobre a área total dos objetos cortados.

Foram considerados objetos de comprimento L e largura W iguais a 100, e os comprimentos li e larguras wi dos itens foram gerados aleatoriamente nos intervalos [0,10L;0.75L] e [0,10W;0,75W] (tamanhos diversos), e [0,05L;0,50L] e [0,05W;0,50W] (tamanhos pequenos), respectivamente. Sem perda de generalidade, admite-se que os itens têm orientação fixada (i.e., eles devem ser cortados com seus comprimentos paralelos ao comprimento do objeto). A demanda bi dos itens foi gerada aleatoriamente no intervalo [1000;10000]; intencionalmente foram geradas demandas relativamente grandes para se obter uma solução arredondada da relaxação linear do modelo (1)-(3) perto da solução ótima deste modelo. Os testes foram então divididos em quatro classes descritas nas colunas da Tabela 1, sendo que cada classe é composta de 50 exemplos. Os resultados computacionais para as quatro classes obtidos pelas Abordagens 1, 2 e 3 com padrões de corte guilhotinados 2-estágios estão descritos na Tabela 1.

Note que para satisfazer o limite de = 3 pilhas nos exemplos das classes 1, 2, 3 e 4, em média as abordagens precisam reduzir o número de pilhas abertas de 5,32, 8,44, 6,24 e 11,70 para 3, respectivamente. À medida que esta diferença entre e aumenta, espera-se que o limitante inferior pe para a perda (baseado apenas no problema de corte) fique menos apertado, e o gap entre este limitante e o valor das soluções obtidas pelas abordagens aumente. Isto é observado na Tabela 1. Para os exemplos com m=10 tipos de itens (classes 1 e 3), a Abordagem 1 obteve as menores perdas (ao custo de tempos computacionais maiores). Conforme o número de tipos de itens aumenta, o tamanho dos mesmos diminui e a diferença entre e cresce (classe 4), a Abordagem 3 comporta-se melhor do que as demais (veja pe e pi na Tabela 1). A Abordagem 2 apresentou os menores tempos computacionais para todas as classes e encontrou a melhor solução para a classe 2.

Como esperado, à medida que o número de tipos de itens aumenta (de m=10 para m=20), os tempos computacionais também aumentam (particularmente para as Abordagens 1 e 3). Similarmente, conforme o tamanho dos itens diminui, os tempos computacionais também aumentam (particularmente para as Abordagens 1 e 3). As perdas médias considerando as quatro classes para as Abordagens 1, 2 e 3 são, respectivamente, 17,13%, 18,15% e 17,31%, com tempos computacionais médios de 50,81, 0,49 e 15,90 segundos. O valor médio do limitante inferior pe considerando as quatro classes é 12,45%. Note que a diferença entre esses valores de perda e o limitante inferior para as Abordagens 1 e 3 são relativamente próximos (4,68% e 4,86%, respectivamente). Os tempos computacionais requeridos pelas Abordagens 1, 2 e 3 (em geral, menores que 1 minuto) são aceitáveis para o tipo de decisão envolvida na prática. A Abordagem 3 apresenta uma perda média quase tão boa quanto à Abordagem 1, num tempo computacional bem inferior e, então, poderia ser entendida como a mais promissora, embora nenhuma das abordagens tenha sido dominada pelas demais, em termos de perda e tempo computacional.

A Tabela 2 apresenta os resultados computacionais para as classes 1 e 2 obtidos pelas Abordagens 1, 2 e 3 para padrões de corte guilhotinados não-estagiados. As classes 3 e 4 não foram consideradas devido aos excessivos tempos computacionais requeridos. Como estas classes envolvem itens de tamanhos pequenos, os conjuntos das combinações lineares não negativas dos comprimentos e larguras destes itens (conjuntos normais) utilizados no método de busca em grafo-e/ou têm muitos elementos, o que resulta em grafos-e/ou com muitos nós e arcos e, portanto, bem demorados para serem percorridos. Convém ainda observar que os valores de pe na linha LI podem não ser um limitante inferior para a perda pois, o método de busca em grafo-e/ou não é exato. Como esperado, as soluções obtidas por este método são melhores quando comparadas com os valores da Tabela 1, uma vez que os padrões são não estagiados, entretanto, os tempos computacionais são bem maiores. As Abordagens 3 e 2 obtiveram as menores perdas para as classes 1 e 2, respectivamente.

4.2 Curvas de trade-off entre a perda de material e o número máximo de pilhas abertas

Nos experimentos anteriores fixou-se = 3. Para avaliar o desempenho das abordagens para gerar curvas de trade-off, realizou-se um novo experimento com diferentes valores de = 1,2,..., . As três abordagens foram utilizadas para resolver um exemplo (escolhido arbitrariamente) da classe 1, cujos dados estão listados na Tabela 3.

As Figuras 6 e 7 ilustram as curvas de trade-off obtidas pelas Abordagens 1, 2 e 3 utilizando o método de duas fases e o método de busca em grafo-e/ou para a geração dos padrões, respectivamente, ambos com = 6. O número ao lado do círculo das figuras corresponde ao limitante inferior da perda pe. Observe nas figuras que as Abordagens 1 e 3 tiveram um comportamento melhor que a Abordagem 2. Os resultados obtidos pelas curvas de trade-off mostram que as abordagens não dominam uma a outra.




4.3 Experimentos com exemplo de uma fábrica de móveis

Nos exemplos anteriores avaliou-se o desempenho das Abordagens 1, 2 e 3 para exemplos gerados aleatoriamente. Para avaliar o comportamento das mesmas em uma situação prática, foi resolvido um exemplo real de uma fábrica de móveis analisado em Morabito & Arenales (2000). Para este exemplo não existe nenhuma restrição quanto ao número máximo de pilhas que podem ser abertas; entretanto, a redução deste número contribui para a diminuição da movimentação de materiais, tornando a solução mais conveniente do ponto de vista operacional. Os objetos têm dimensão (L, W) = (1,850m, 3,670m) e os pedidos são compostos por 15 tipos de itens diferentes cujas dimensões (em metros) e demandas estão descritas na Tabela 4. Por simplicidade, admite-se que a orientação dos itens é fixada. A máquina de corte desta fábrica de móveis está limitada aos padrões guilhotinados 2-estágios.

As Abordagens 1, 2 e 3 foram utilizadas para resolver o exemplo da Tabela 4 com o método de duas fases para a geração dos padrões de corte 2-estágios, considerando inicialmente piˆ = 3. A solução obtida pelo método simplex resultou em uma perda de 6,52% (LI) e 14 pilhas abertas (obtido pela heurística 3 de Yuen, 1995), em um tempo de 0,05 segundo. Note que para satisfazer a restrição sobre é necessária uma redução de 11 pilhas. As Abordagens 1, 2 e 3, encontraram perdas de 9,26%, 11,68% e 8,26%, respectivamente, com os seguintes tempos computacionais: 13,30, 0,53 e 5,41 segundos. A Abordagem 3 apresenta uma solução relativamente próxima do limitante inferior (com gap de 1,74%), seguida das Abordagens 1 e 2. Note que, assim como nos experimentos com exemplos gerados aleatoriamente, a Abordagem 3 comporta-se melhor do que as demais quando a diferença entre e é grande. Os tempos computacionais das três abordagens são aceitáveis para o tipo de decisão envolvida.

A Figura 8 ilustra o comportamento das Abordagens 1, 2 e 3 na geração de curvas de trade-off para diferentes valores de . Assim como nos exemplos gerados aleatoriamente, as Abordagens 1 e 3 produzem soluções um pouco melhores que a Abordagem 2, e uma abordagem não domina a outra.

5. Conclusões

Neste trabalho três abordagens heurísticas para resolver o problema combinado de geração e sequenciamento de padrões de corte bidimensional foram descritas. As abordagens foram comparadas entre si e com o limitante inferior para a perda, obtido da relaxação linear do problema de geração de padrões. Para isso, foram utilizados diversos exemplos gerados aleatoriamente de problemas de corte bidimensional guilhotinado 2-estágios e nãoestagiados, e um exemplo real de uma fábrica de móveis com alto grau de padronização e larga escala de produção. De forma geral, as três abordagens tiveram um bom desempenho, particularmente para o caso de corte guilhotinado 2-estágios.

A Abordagem 1 obteve em média as melhores soluções, seguida bem de perto da Abordagem 3 e da Abordagem 2. A Abordagem 3 se comporta melhor do que as demais quando a diferença entre e é grande. A Abordagem 2 é a mais rápida, seguida da Abordagem 3 e da Abordagem 1. Os tempos computacionais requeridos pelas abordagens são considerados razoáveis para os tipos de decisões envolvidas. As abordagens podem ser utilizadas para gerar curvas de trade-off entre a perda e o número máximo de pilhas abertas, variando-se a limitação do problema de sequenciamento. Conforme ilustrado pelas curvas das Figuras 6 a 8, as Abordagens 1, 2 e 3 não dominam uma a outra. As três abordagens também podem ser utilizadas para tratar problemas de corte e empacotamento de outras dimensões, por exemplo, o corte unidimensional, conforme em Pileggi et al. (2005).

Uma perspectiva importante para pesquisa futura é desenvolver efetivamente estudos de casos aplicando as abordagens propostas em situações reais e comparar os resultados com os obtidos pelas empresas, por exemplo, em fábricas de chapas duras e fábricas de móveis. Outra perspectiva interessante é avaliar a utilização de outras heurísticas de sequenciamento (mais efetivas do que a heurística 3 de Yuen, 1995) no desempenho das abordagens, e avaliar a utilização de outros geradores de padrões de corte além dos aqui usados.

Agradecimentos

Os autores agradecem aos três revisores anônimos pelos úteis comentários e sugestões. Esta pesquisa teve apoio da FAPESP e CNPq.

Recebido em 01/2007; aceito em 10/2007 após 1 revisão

Received January 2007; accepted October 2007 after one revision

  • (1) Arenales, M.; Morabito, R. & Yanasse, H. (1999). Cutting and packing problems. Pesquisa Operacional, 19(2), 107-299.
  • (2) Armbruster, M. (2002). A solution procedure for a pattern sequencing problem as part of a one-dimensional cutting stock problem in the steel industry. European Journal of Operational Research, 141, 328-340.
  • (3) Ashikaga, F.M. (2001). Um método frugal para o problema de minimização de pilhas abertas. 91f. Dissertação (Mestrado em Ciências no Curso de Engenharia Eletrônica e Computação na Área de Informática) Instituto Tecnológico de Aeronáutica, São José dos Campos.
  • (4) Beasley, J.E. (1985). Algorithms for unconstrained two-dimensional guillotine cutting. Journal of the Operational Research Society, 36(4), 297-306.
  • (5) Becceneri, J.; Yanasse, H. & Soma, N. (2004). A method for solving the minimization of the maximum number of open stacks problem within a cutting process. Computers and Operations Research, 31, 2315-2332.
  • (6) Belluzzo, L. & Morabito, R. (2005). Otimização nos padrões de corte de chapas de fibra de madeira reconstituída: um estudo de caso. Pesquisa Operacional, 25(3), 391-415.
  • (7) Belov, G. & Scheithauer, G. (2007). Setup and open stacks minimization in one-dimensional stock cutting. INFORMS Journal on Computing, 19, 27-35.
  • (8) Bischoff, E. & Wäscher, G. (1995). Special issue: Cutting and packing. European Journal of Operational Research, 84(3).
  • (9) Carnieri, C.; Guillermo, A. & Gavinho, L. (1994). Solution procedures for cutting lumber into furniture parts. European Journal of Operational Research, 73, 495-501.
  • (10) Cohon, J.L. (1978). Multiobjective Programming and Planning Academic Press, New York.
  • (11) Christofides, N. & Hadjiconstantinou, E. (1995). An exact algorithm for orthogonal 2-D cutting problems using guillotine cuts. European Journal of Operational Research, 83(1), 21-38.
  • (12) Daza, V.P.; Alvarenga, A.G. & Diego, J. (1995). Exact solutions for constrained two-dimensional cutting problems. European Journal of Operational Research, 84, 633-644.
  • (13) Dyckhoff, H. & Finke, U. (1992). Cutting and packing in production and distribution: Typology and bibliography Springler-Verlag, Heidelberg.
  • (14) Dyckhoff, H.; Scheithauer, G. & Terno, J. (1997). Cutting and packing. In: Annoted bibliographies in combinatorial optimization [edited by M. Amico; F. Maffioli and S. Martello], John Wiley & Sons, New York, 393-414.
  • (15) Dyson, R.G. & Gregory, A.S. (1974). The cutting stock problem in the flat glass industry. Operational Research Quarterly, 25, 41-53.
  • (16) Faggioli, E. & Bentivoglio, C.A. (1998). Heuristic and exact methods for the cutting sequencing problem. European Journal of Operational Research, 110(3), 564-575.
  • (17) Fink, A. & Vob, S. (1999). Applications of modern heuristic search methods to pattern sequencing problems. Computer and Operations Research, 26(1), 17-34.
  • (18) Foerster, H.E. & Wäscher, G. (1998). Simulated annealing for order spread minimization in sequencing cutting patterns. European Journal of Operational Research, 110, 272-281.
  • (19) Gilmore, P. & Gomory, R. (1961). A linear programming approach to the cutting stock problem. Operations Research, 9, 849-859.
  • (20) Gilmore, P. & Gomory, R. (1963). A linear programming approach to the cutting-stock problem II. Operations Research, 11, 863-888.
  • (21) Gilmore, P. & Gomory, R. (1965). Multistage cutting stock problems of two and more dimensions. Operations Research, 14, 94-120.
  • (22) Hifi, M. (1997). The DH/KD algorithm: a hybrid approach for unconstrained two-dimensional cutting problems. European Journal of Operational Research, 97(1), 41-52.
  • (23) Hifi, M. (2002). Special issue: Cutting and packing problems. Studia Informatica Universalis, 2(1), 1-161.
  • (24) Hifi, M. & Roucairol, C. (2001). Approximate and exact algorithms for constrained (un)weighted two-dimensional two-staged cutting stock problems. Journal of Combinatorial Optimization, 5, 465-494.
  • (25) Linhares, A. & Yanasse, H.H. (2002). Connections between cutting-pattern sequencing, VLSI design, and flexible machines. Computers & Operations Research, 29, 1759-1772.
  • (26) Lins, S. (1989). Traversing trees and scheduling tasks for duplex corrugator machines. Pesquisa Operacional, 9, 40-54.
  • (27) Lodi, A.; Martello, S. & Monaci, M. (2002). Two-dimensional packing problems: a survey. European Journal of Operational Research, 141, 241-252.
  • (28) Lodi, A. & Monaci, M. (2003). Integer programming models for 2-staged two-dimensional knapsack problems. Mathematical Programming, 94, 257-278.
  • (29) Madsen, O. (1979). Glass cutting in a small firm. Mathematical Programming, 17, 85-90.
  • (30) Madsen, O. (1988). An application of travelling-salesman routines to solve pattern-allocation problems in the glass industry. Journal of the Operational Research Society, 39, 249-256.
  • (31) Morabito, R. & Arenales, M.N. (1996). Staged and constrained two-dimensional guillotine cutting problems: an AND/OR-graph approach. European Journal of Operational Research, 94, 548-560.
  • (32) Morabito, R. & Arenales, M. (2000). Optimizing the cutting of stock plates in a furniture company. International Journal of Production Research, 38, 2725-2742.
  • (33) Morabito, R. & Belluzzo, L. (2007). Optimizing the cutting of wood fibre plates in the hardboard industry, European Journal of Operational Research, 183, 1405-1420.
  • (34) Morabito, R. & Garcia, V. (1998). The cutting stock problem in a hardboard industry: a case study. Computers and Operations Research, 25(6), 469-485.
  • (35) Morabito, R. & Pureza, V. (2007). Geração de padrões de cortes bidimensionais guilhotinados restritos via programação dinâmica e busca em grafo-e/ou. Produção, 17(1), 33-51.
  • (36) Oliveira, J. & Ferreira, J. (1990). An improved version of Wang's algorithm for two dimensional cutting problems. European Journal of Operational Research, 44, 256-266.
  • (37) Pileggi, G.C.F. (2002). Abordagens para otimização integrada dos problemas de geração e sequenciamento de padrões de corte. 154f. Tese (Doutorado em Ciências da Computação e Matemática Computacional) Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos.
  • (38) Pileggi, G.C.F.; Morabito, R. & Arenales, M. (2005). Abordagens para otimização integrada dos problemas de geração e sequenciamento de padrões de corte: caso unidimensional. Pesquisa Operacional, 25(3), 417-447.
  • (39) Pinto, M.J. (2004). Algumas contribuições à resolução do problema de corte integrado ao problema de sequenciamento dos padrões. Monografia (Doutorado em Computação Aplicada) Instituto Nacional de Pesquisas Espaciais, São José dos Campos.
  • (40) Poldi, K.C. & Arenales, M. (2006). Heurísticas para o problema de corte de estoque unidimensional inteiro. Pesquisa Operacional, 26(3), 473-492.
  • (41) Riehme, J.; Scheithauer, G. & Terno, J. (1996). The solution of two-stage guilhotine cutting stock problems having extremely varying order demands. European Journal of Operational Research, 91, 543-552.
  • (42) SICUP (2007). Special Interest Group on Cutting and Packing. Disponível em: <http://www.apdio.pt/sicup/>.
  • (43) Steuer, R.E. (1986). Multiple Criteria Optimization: Theory, Computation & Application. John Wiley, New York.
  • (44) Vianna, A.C.G. (2000). Problemas de corte e Empacotamento: uma abordagem em grafo e/ou. Tese (Doutorado em Ciências da Computação e Matemática Computacional) Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos.
  • (45) Yanasse, H.; Zinober, A. & Harris, R. (1991). Two-dimensional cutting stock with multiple stock sizes. Journal of the Operational Research Society, 42(8), 673-683.
  • (46) Yanasse, H.H. (1996). Minimization of open orders polynomial algorithms for some special cases. Pesquisa Operacional, 16, 1-26.
  • (47) Yanasse, H. (1997). On a pattern sequencing problem to minimize the maximum number of open stacks. European Journal of Operational Research, 100(3), 454-463.
  • (48) Yanasse, H.H. & Lamosa, M.J.P. (2007). An integrated cutting stock and sequencing problem. European Journal of Operational Research, 183(3), 1353-1370.
  • (49) Yuen, B. (1991). Heuristics for sequencing cutting patterns. European Journal of Operational Research, 55, 183-190.
  • (50) Yuen, B. (1995). Improved heuristics for sequencing cutting patterns. European Journal of Operational Research, 87, 57-64.
  • (51) Wäscher, G.; Haubner, H. & Schumann, H. (2007). An improved typology of cutting and packing problems. European Journal of Operational Research, 183(3), 1109-1130.
  • (52) Wang, P.Y. & Wäscher, G. (2002). Cutting and packing. European Journal of Operational Research, 141(2), 239-469.
  • *
    Corresponding author / autor para quem as correspondências devem ser encaminhadas
  • Datas de Publicação

    • Publicação nesta coleção
      05 Mar 2008
    • Data do Fascículo
      2007

    Histórico

    • Recebido
      Jan 2007
    • Aceito
      Out 2007
    Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
    E-mail: sobrapo@sobrapo.org.br