Acessibilidade / Reportar erro

Modelos de otimização para o problema de corte nas indústrias de papel e papelão e de móveis

Optimization models of the cutting stock problem in furniture and corrugated paper industries

Resumos

Este trabalho examina alguns modelos de otimização conhecidos da literatura para o problema de corte, e reporta uma experiência real da aplicação destes modelos numa indústria de papel e papelão (problema unidimensional) e numa indústria de móveis (problema bidimensional). Também são discutidas algumas modificações nos modelos originais para incorporar restrições práticas dos processos de corte, tais como, unidades de estoque com tamanhos e custos diferentes, tolerância na demanda de clientes, entre outras. Alguns resultados computacionais são apresentados para um exemplo real da indústria de móveis, utilizando-se um microcomputador.

problema de corte; indústria de móveis; indústria de papel e papelão


This work examines some well-known optimization models for the cutting stock problem and reports a real experience of their application to a corrugated paper industry (one- dimensional problem) and to a furniture industry (two-dimensional problem). It is also discussed some modifications in the original models to incorporate practical constraints of the cutting processes, such as tolerance in the customer orders, among others. Some computational results from a real example of the furniture industry are presented utilizing a micro-computer.

cutting stock problem; furniture industry; corrugated paper industry


Modelos de otimização para o problema de corte nas indústrias de papel e papelão e de móveis

Optimization models of the cutting stock problem in furniture and corrugated paper industries

Reinaldo Morábito

Universidade Federal de São Carlos - Departamento de Engenharia de Produção C.P. 676, 13565-905 São Carlos, SP

RESUMO

Este trabalho examina alguns modelos de otimização conhecidos da literatura para o problema de corte, e reporta uma experiência real da aplicação destes modelos numa indústria de papel e papelão (problema unidimensional) e numa indústria de móveis (problema bidimensional). Também são discutidas algumas modificações nos modelos originais para incorporar restrições práticas dos processos de corte, tais como, unidades de estoque com tamanhos e custos diferentes, tolerância na demanda de clientes, entre outras. Alguns resultados computacionais são apresentados para um exemplo real da indústria de móveis, utilizando-se um microcomputador.

Palavras-chaves: problema de corte, indústria de móveis, indústria de papel e papelão.

ABSTRACT

This work examines some well-known optimization models for the cutting stock problem and reports a real experience of their application to a corrugated paper industry (one- dimensional problem) and to a furniture industry (two-dimensional problem). It is also discussed some modifications in the original models to incorporate practical constraints of the cutting processes, such as tolerance in the customer orders, among others. Some computational results from a real example of the furniture industry are presented utilizing a micro-computer.

Key-words: cutting stock problem, furniture industry, corrugated paper industry.

1. Introdução

O problema de corte (de estoque) consiste, genericamente, em cortar unidades maiores (unidades de estoque) em unidades menores (unidades demandadas) de maneira a otimizar certos objetivos, como por exemplo, minimizar o número de unidades de estoque necessárias para produzir as unidades demandadas, ou minimizar a perda de material ao arranjar geometricamente as unidades demandadas dentro das unidades de estoque. Este problema aparece em diversos processos industriais, como na produção de papel, papelão, móveis, vidro, plástico, calçados, roupas, chapas metálicas, circuito impresso, etc. A importância deste problema tem sido evidenciada pela freqüência com que ele é tratado na literatura de pesquisa operacional e de gerência da produção. Desde os anos 50, diversos autores têm apresentado modelos teóricos e métodos de solução, e ressaltado o potencial técnico e econômico das aplicações práticas.

Recentemente, o problema de corte passou a ser visto através de uma noção mais geral, denominada problemas de corte e empacotamento (PCE). DYCKHOFF (1990) e DYCKHOFF & FINKE (1992) apresentaram uma classificação para os PCE, referenciando centenas de trabalhos dentro desta visão. Outras fontes bibliográficas podem ser encontradas nos exames recentes de DOWSLAND & DOWSLAND (1992), SWEENEY & PARTERNOSTER (1992) e MORÁBITO & ARENALES (1993).

Neste trabalho, alguns modelos de otimização são analisados para as classes de problemas 1/V/./F, 1/V/./R e 2/V/./R (estas classes estão definidas em DYCKHOFF, 1990). Também são discutidas algumas adaptações para aplicá-los numa indústria de papel e papelão (caso unidimensional) e numa indústria de móveis (caso bidimensional), ambas situadas no interior do estado de São Paulo. Esta experiência baseia-se fundamentalmente nos modelos introduzidos há três décadas por GILMORE & GOMORY (1961) (1963) (1965) (1966), que até hoje são eficazes para representar estas duas situações reais.

Na próxima seção, os modelos originais são apresentados e, em particular, a estratégia de GILMORE & GOMORY é introduzida. Na seção 3, estes modelos são modificados para incorporar alguns aspectos práticos, como os vários tamanhos de unidades de estoque com custos unitários diferentes, a limitação na disponiblidade dos tamanhos das unidades de estoque, o balanceamento de produção das máquinas, a tolerância na demanda de clientes, entre outros. Na seção 4, são discutidos alguns métodos para resolver os modelos e os detalhes sobre a implementação destes métodos num microcomputador. Finalmente, os resultados computacionais de um exemplo real são apresentados na seção 5 e as conclusões e perspectivas deste trabalho, na seção 6.

2. Modelagem Matemática

Algumas classes dos PCE podem ser formuladas matematicamente através de programação linear inteira (PLI). Sem perda de generalidade, consideremos inicialmente apenas o caso unidimensional (classes 1/V/./F e 1/V/./R).

Sejam o conjunto D={1,2,..,m}, denominado demanda, consistindo de m tamanhos diferentes de bobinas (ou barras) demandadas, e o conjunto E={1,2,..,M}, denominado estoque, consistindo de M tamanhos diferentes de bobinas disponíveis em estoque. Cada tamanho i, i D, tem comprimento li e demanda bi, e cada tamanho j, j E, tem comprimento Lj e disponibilidade Bj. Os comprimentos são tais que max {li, i D} max {Lj, j E}.

A demanda deve ser totalmente satisfeita, isto é, todas as bobinas demandadas devem ser produzidas, cortando-se as bobinas de estoque em bobinas menores. As bobinas menores que resultarem diferentes das bobinas demandadas são consideradas perda ou apara (trim-loss).

Suponha inicialmente que:

(i) o conjunto E é unitário (M=1) e, portanto, todas as bobinas 1,2,..,B disponíveis em estoque são iguais e tem comprimento L (classes 1/V/I/F e 1/V/I/R) (na próxima seção, relaxamos esta suposição);

(ii) o número total B de bobinas estocadas é suficientemente grande para produzir todas as bobinas demandadas.

Assim, o objetivo deste PCE é encontrar o mínimo número inteiro z, z B, necessário para produzir todas as bobinas demandadas.

O modelo de PLI é dado por:

min z = k=1,B yk

sujeito a:

i D li xik L yk, k=1,2,..,B

k=1,B xik = bi, i D

com: yk {0,1}, xik 0 e inteiro, i D, k=1,2,..,B. (1)

onde,

yk = 1, se a bobina de estoque k for utilizada; 0, caso contrário.

xik = número de bobinas demandadas de tamanho i produzidas a partir da bobina de estoque k.

Note que se todas as bobinas demandadas forem de tamanhos diferentes (classe 1/V/I/F), então bi=1 e xik {0,1}, i D, k=1,2,..,B, resultando no problema de carregamento de veículos (EILON & CHRISTOFIDES, 1971), ou no problema de empacotamento de "bins" (bin packing problem) (MARTELLO & TOTH, 1990, cap.8). EILON & CHRISTOFIDES apresentaram um modelo que simplifica (1). Seja dk uma penalidade associada à utilização da bobina k, tal que d k+1 dk 0, k=1,2,..,B-1, onde é o maior número possível de bobinas encomendadas produzido a

partir de uma bobina de estoque. As variáveis yk desaparecem de (1), agora dado por:

min

k=1,B (dk

i D xik)

sujeito a:

i

D li xik

L,

k=1,2,..,B

k=1,B xik = bi,

i D

com:

xik

0 e inteiro,

i

D, k=1,2,..,B. (2)

Observe que ao minimizarmos a função objetivo em (2), obtemos o menor número possível de bobinas de estoque utilizadas, uma vez que sempre é menos penoso recortarmos uma bobina já utilizada, ao invés de cortarmos uma nova bobina. Observe também que se bi=1 para todo i D, então xik {0,1}, k=1,2,..,B, resultando num caso especial do problema de atribuição generalizado (generalized assignment problem) (MARTELLO & TOTH, 1990, cap.7).

Ambos os modelos (1) e (2) são de difícil resolução nas situações reais. Consideremos o exemplo de um lote de bobinas encomendadas com m=100 tamanhos diferentes e um estoque com B=100 bobinas disponíveis. O número de variáveis inteiras chega a 10000. A simples relaxação das restrições de integralidade destas variáveis (relaxação PL) nos fornece um limitante inferior, dado por: i Db ili / L. Este limitante é relativamente pobre, conforme mostraram VANCE et al. (1992).

Estratégia de Gilmore e Gomory

GILMORE & GOMORY (1961) (1963) apresentaram uma outra relaxação PL para resolver (1), baseada num número exponencial de variáveis e num procedimento de geração de colunas.

Podemos notar inicialmente em (1) e (2) que, para cada bobina de estoque k, k=1,2,..,B, o vetor (x1k, x2k,..,xmk) satisfaz:

i D li xik L

com xik 0 e inteiro, i D. (3)

Entretanto, várias bobinas de estoque, ao serem cortadas, podem eventualmente produzir o mesmo conjunto de bobinas demandadas. Em outras palavras, é possível existir um certo vetor satisfazendo (3) para diferentes valores de k.

Seja o vetor (x1p, x2p,..,xmp ) a descrição de um padrão de corte para qualquer bobina de estoque de comprimento L, desde que satisfaça:

i D li xip L

com xip 0 e inteiro, i D. (4)

Este vetor representa uma bobina de comprimento L produzindo x1p bobinas de comprimento l1, x 2p bobinas de comprimento l2, ..., x mp bobinas de comprimento lm. Seja P o número de diferentes vetores satisfazendo (4), isto é, todos os possíveis padrões de corte para uma bobina de comprimento L. Observe que P pode resultar um número muito grande. Podemos reescrever (1) por:

min

z =

p=1,P

k=1,B ypk

sujeito a:

p=1,P (xip

k=1,B ypk) = bi,

i D

p=1,P ypk

1,

k=1,2,..,B

(5)

com:

ypk {0,1},

p=1,2,..,P, k=1,2,..,B.

onde, ypk = 1, se a bobina de estoque k for utilizada com o padrão de corte (x1p, x2p,..,xmp);

0, caso contrário.

Note que incluímos restrições adicionais em (5) para garantir que cada bobina k seja utilizada com, no máximo, um padrão de corte. Ao definirmos yp = k=1,B ypk e substituirmos em (5), obtemos:

min

z =

p=1,P yp

sujeito a:

p=1,P xip yp = bi,

i D

(6)

com:

yp

0 e inteiro, p=1,2,..,P.

onde, yp nos indica agora o número de vezes que o padrão de corte (x1p, x2p,..,xmp) é utilizado. Observe que se todas as bobinas demandadas forem de tamanhos diferentes, então bi=1 e xik {0,1}, i D, k=1,2,..,B, resultando no problema da partição de conjuntos (set partitioning problem) (SYSLO et al., 1983, cap.2). Similarmente a (1), o objetivo de (6) é encontrar o mínimo número z de bobinas de estoque necessário para produzir todas as bobinas demandadas, uma vez que cada padrão utiliza uma única bobina.

Em problemas onde bi é grande em relação a L/li para todo i D, e, portanto, grande em relação a xip, dado que L/li xip, então o valor de yp tende a ser grande. GILMORE & GOMORY (op.cit.) sugeriram relaxar a restrição de integralidade de yp, justificando que nestes problemas o simples arredondamento da solução ótima do programa linear (PL) pode resultar numa boa solução para o PLI em (6).

A princípio, podemos utilizar o método simplex para resolver a relaxação PL de (6), gerando inicialmente todos os P possíveis padrões de corte satisfazendo (4). Entretanto, este número pode chegar facilmente à ordem de milhões de padrões nos casos práticos (GILMORE & GOMORY, 1961 e LASDON, 1970, cap.4), o que inviabiliza a utilização do método. GILMORE & GOMORY então sugeriram resolver a relaxação PL de (6), gerando apenas um subconjunto destes padrões. Primeiro, uma base inicial factível é obtida e depois, a cada iteração do método simplex, um novo padrão p é gerado através da solução de um problema da mochila, definido por:

max

i

D i xip

sujeito a:

i

D li xip

L

com: xip 0 e inteiro, i D. (7)

onde, i é o valor da variável dual (multiplicador de Lagrange) associada à restrição i de (6). Se o custo relativo i D i xip - 1 for positivo, então o padrão p deve entrar na base; caso contrário, a solução ótima da relaxação PL de (6) foi encontrada (note que isto é equivalente a obter uma solução menor ou igual a 1 no problema da mochila). Apesar do simples arredondamento da solução relaxada não ter garantia de factibilidade para o PLI original em (6), ele tem sido largamente utilizado na prática. Alguns autores também têm sugerido técnicas para a obtenção da solução ótima inteira a partir da solução relaxada. Um exemplo é o trabalho de VANCE et al. (op.cit.) que apresenta um algoritmo branch-and-bound, utilizando a solução relaxada como um efetivo limitante inferior.

DYCKHOFF (1981) também apresentou um modelo alternativo para (6) e sugeriu uma nova relaxação PL para resolvê-lo. Este modelo não será visto neste trabalho.

PCE com Mais de Uma Dimensão

A estratégia de Gilmore e Gomory também nos permite resolver os PCE com mais de uma dimensão (classe 2/V/I/R).

Consideremos, por exemplo, o PCE bidimensional de cortar o mínimo número possível de placas de estoque (retângulos maiores) para produzir as peças encomendadas (retângulos menores). Similarmente ao PCE unidimensional, também podemos utilizar a relaxação PL de (6) para resolver o PCE bidimensional. O vetor (x1p, x2p,..,xmp) agora descreve um padrão de corte onde uma placa de dimensões (L,W) produz x1k peças de dimensões (l1,w 1 ), x2k peças de dimensões (l2,w2), ..., xmk peças de dimensões (lm,wm). Além disto, devemos substituir (7) por:

max i D i xip

sujeito a: (x1p, x2p,..,xmp) representa um padrão de corte bidimensional

com: xip 0 e inteiro, i D. (8)

Note que (8) não corresponde ao problema da mochila bidimensional (SYSLO et al., 1983, cap.2). As dificuldades para resolver (8) são grandes, se comparadas com as dificuldades para resolver (7), e diversas abordagens de solução têm sido propostas na literatura (por exemplo, o procedimento recursivo em HERZ (1972), as fórmulas de programação dinâmica em BEASLEY (1985) e a abordagem em grafo-E/OU em MORÁBITO et al. (1992)). No entanto, restrições adicionais ainda devem ser impostas em (7) e (8) para produzirem padrões de corte factíveis para as duas indústrias visitadas; o que é visto a seguir. Assim como para o caso bidimensional, a generalização para o caso multidimensional também pode ser facilmente descrita (MORÁBITO, 1992).

3. Adaptação dos Modelos

Devemos incorporar algumas adaptações nos modelos (6), (7) e (8) para que eles melhor representem as situações reais das duas indústrias visitadas, a de papel e papelão e a de móveis. Estas adaptações incluem:

(i) restrições adicionais nos padrões de corte gerados por (7) e (8);

(ii) vários tamanhos de unidades de estoque com custos unitários diferentes em (6);

(iii) disponibilidade das unidades de estoque e balanceamento de máquinas em (6);

(iv) tolerância na demanda de clientes em (6).

Restrições Adicionais nos Padrões de Corte Gerados

Consideremos inicialmente o PCE unidimensional da indústria de papel e papelão. Apesar da restrição geométrica ser facilmente descrita em (7), outras restrições associadas aos processos de corte podem aparecer e dificultar significativamente a geração de padrões. Por exemplo, os padrões unidimensionais produzidos não podem envolver mais do que r cortes, devido ao número máximo de facas instaladas no equipamento de corte. Além disto, estes padrões também não podem conter mais do que mo, mo m, tamanhos diferentes de bobinas encomendadas, devido a uma limitação imposta por equipamentos subseqüentes aos equipamentos de corte.

Seja z o maior número inteiro menor ou igual a z, e Ni, i D, um número grande, satisfazendo Ni L/li . Devemos substituir (7) por:

max

i

D i xip

sujeito a:

i

D li xip

L

i

D xip

r + 1

i

D yi

mo

xip

Ni yi,

i

D

com:

xip

0 e inteiro, yi

{0,1},

i

D.

(9)

onde,

yi = 1, se a bobina encomendada i for produzida no padrão p; 0, caso contrário.

Consideremos agora o PCE bidimensional da indústria de móveis visitada. Devido aos equipamentos de corte, os padrões bidimensionais produzidos devem conter apenas cortes guilhotinados (um corte é guilhotinado se, ao ser produzido sobre um retângulo, produz dois retângulos) e cortes em 2-estágios (no primeiro estágio, os primeiros cortes guilhotinados são produzidos numa certa direção e, no segundo estágio, os demais cortes guilhotinados são produzidos perpendiculares aos primeiros). GILMORE & GOMORY (1965) apresentaram um modelo simples e eficaz para produzir padrões de corte guilhotinados e em 2-estágios. O modelo envolve duas etapas:

Sejam Dw={ j | wj wi, i j, i,j D} e mw o número de elementos em Dw. Na primeira etapa, as peças de dimensões (li,wi), i D, são escolhidas e arranjadas em mw faixas de dimensões (L,wj), j Dw, resultando nos valores Vj. Sejam ij o número de peças de tamanho i na faixa j, e Wj={ i | wi wj, i D}. Cada valor Vj, j Dw, é obtido por:

Vj = max

i

Wj

i ij

sujeito a:

i

Wj li

ij

L

com:

ij

0 e inteiro, i

D.

(10)

Na segunda etapa, estas mw faixas são escolhidas e arranjadas na placa de estoque de dimensões (L,W), para produzir padrões de corte guilhotinados e em 2-estágios. Seja j o número de faixas j na placa. Temos:

max

j

Dw Vj

j

sujeito a:

j

Dw wj

j

W

com:

j

0 e inteiro,

j

Dw.

(11)

Devemos substituir (8) por (10) e (11). O valor das variáveis originais xip é finalmente obtido com:

xip = j Dw ij j, i D. (12)

Os mw+1 problemas da mochila em (10) e (11) produzem o padrão ótimo, ao considerarmos os cortes do primeiro estágio paralelos ao comprimento L da placa. O processo deve ser repetido, considerando agora os cortes do primeiro estágio paralelos à largura W e, portanto, resultando em outros ml+1 problemas da mochila (onde, similarmente, ml é o número de elementos em Dl). O padrão com maior valor deve então ser escolhido. Note que (10) e (11) reduzem o PCE bidimensional, com cortes guilhotinados e em 2-estágios, a um conjunto de PCEs unidimensionais similares a (7). Um terceiro estágio de corte também pode ser considerado, demandando pouco esforço computacional adicional (MORÁBITO, 1989).

Até agora, consideramos que as peças sejam cortadas seguindo a orientação da placa, isto é, admitimos que as peças não possam sofrer rotações de 90 graus ao serem arranjadas num padrão de corte. Se isto não for válido para alguma peça i, i D, então basta considerá-la em (10) e (12) como duas peças diferentes de dimensões (l i,wi) e (wi,li), respectivamente (note que os conjuntos Dw e Dl devem ser redefinidos).

Também consideramos até agora que a espessura do equipamento de corte seja nula ou desprezível. Se isto não for razoável, então basta adicioná-la às dimensões das unidades de estoque e às dimensões das unidades demandadas. Por exemplo, seja s uma espessura não desprezível de uma serra de corte de placas de madeira. As novas dimensões a serem usadas em (10) e (11) devem ser (L+s,W+s) e (li+s,w i+s), para todo i D (similarmente para o problema unidimensional em (9)).

Vários Tamanhos de Unidades de Estoque com Custos Unitários Diferentes

Nos modelos apresentados até agora, supomos o conjunto E unitário, ou seja, que todas as unidades de estoque têm o mesmo tamanho. Isto não é válido nas duas indústrias visitadas, onde unidades de tamanhos diferentes estão disponíveis em estoque.

Suponha agora que:

(i) o conjunto E={1,2,..,M}, M 1;

(ii) a disponibilidade Bj de cada tamanho j, j E, seja suficientemente grande para produzir todas as unidades demandadas (a seguir, relaxamos esta suposição).

Assim, o objetivo anterior de minimizar o número de unidades de estoque necessárias para produzir todas as unidades encomendadas deve ser substituído.

Um objetivo alternativo é minimizar o comprimento (ou a área) total das unidades de estoque necessárias para produzir todas as unidades demandadas. Este objetivo pode ser utilizado na indústria de papel, onde todas as bobinas de estoque tem o mesmo custo unitário. Na indústria de móveis, no entanto, os fornecedores de placas de estoque oferecem descontos diferenciados, resultando em custos unitários diferentes para cada tamanho. Portanto, um objetivo mais adequado é minimizar o custo das unidades de estoque necessárias para produzir todas as unidades demandadas. Nos dois casos, a relaxação PL em (6) agora é dada por:

min z = p=1,P cp yp

sujeito a: p=1,P xip yp = bi, i D

com: yp 0, p=1,2,..,P. (13)

onde, cp corresponde ao comprimento ou ao custo da unidade de estoque utilizada no padrão p. O custo relativo agora é i D i xip - cp. Se ele for positivo, então o padrão p deve entrar na base; caso contrário, a solução ótima de (13) foi encontrada. Os modelos (9), para o PCE unidimensional, e (12), para o PCE bidimensional, agora devem ser resolvidos para cada um dos tamanhos j, j E, de unidades de estoque, e o maior valor obtido entre eles deve ser comparado com cp. Note que a solução ótima de (13) agora consiste em encontrar o subconjunto ótimo E*, E* E, de tamanhos de unidades de estoque e o número ótimo de unidades de cada um destes tamanhos para produzir todas as unidades demandadas.

Disponibilidade das Unidades de Estoque e Balanceamento de Máquinas

Até agora, supomos que a disponibilidade Bj de cada tamanho j, j E, seja suficientemente grande para produzir todas as unidades demandadas. Isto não é válido na indústria de móveis, onde é comum ocorrer períodos com baixos níveis de estoque para certos tamanhos de placas. Ao incluirmos as restrições de oferta em (13), obtemos:

min

z =

p=1,P cp yp

sujeito a:

p=1,P xip yp = bi,

i

D

p=1,P xm+j,p yp

Bj,

j

E

com:

yp 0,

p=1,2,..,P.

(14)

onde,

xm+j,p = 1, se o padrão p utiliza a unidade de estoque j; 0, caso contrário,

e, portanto, satisfazendo j E xm+j,p = 1. Note agora que o padrão p é representado pelo vetor (x1p, x2p ,.., xmp, xm+1,p, xm+2,p,.., xm+M,p). O novo custo relativo é: i D i xip + j E m+j xm+j,p - cp. Seja k, k E, o tamanho da unidade de estoque utilizada pelo padrão p. Assim, o custo relativo é simplesmente: i D i xip + m+k - cp, onde m+k é o valor da variável dual (multiplicador de Lagrange) associada à restrição m+k de (14).

GILMORE & GOMORY (1963) observaram que também podemos utilizar (14) para nos auxiliar no balanceamento de máquinas (de corte) paralelas na indústria de papel. Neste caso, cada máquina opera com um tamanho diferente de bobina de estoque. Se supusermos que a disponibilidade de qualquer tamanho de bobina é ilimitada (logo, a capacidade de produção de qualquer máquina também é ilimitada), então (13) pode eventualmente nos fornecer uma solução que utiliza somente um tamanho de bobina em todos os padrões de corte (e assim sendo, uma única máquina opera e todas as outras ficam ociosas). Podemos evitar soluções deste tipo utilizando (14), que permite limitar a produção de cada máquina.

Tolerância na Demanda de Clientes

Em ambas as indústrias de papel e de móveis, os clientes usualmente aceitam uma variação na quantidade das unidades demandadas. Na indústria de papel, por exemplo, eles toleram em geral uma variação de mais ou menos 5% sobre a quantidade inicialmente encomendada. Na indústria de móveis esta tolerância pode chegar até 10%.

Seja i, i D, a tolerância na demanda bi, e b'i = (1- i)bi e b''i = (1+ i)bi os limites inferior e superior, respectivamente. Ao canalizarmos no intervalo [b'i,b''i] as restrições de demanda de (14), obtemos:

min

z =

p=1,P cp yp

sujeito a:

p=1,P xip yp - si = b'i,

i

D

p=1,P xm+j,p yp

Bj,

j

E

com:

yp 0,

p=1,2,..,P, 0

si

b''i-b'i,

i

D

(15)

onde,

si =variável de folga da restrição de demanda i.

Note que para cada tamanho i, i D, das unidades demandadas, se si=0, então a quantidade produzida é igual a b'i, e se si=b''i-b'i, então a quantidade produzida é igual a b''i. No caso de i=0, então a variável de folga si desaparece e a quantidade produzida deve ser igual à demanda bi, conforme (14).

Com a demanda canalizada no intervalo [b'i,b''i], devemos modificar a função objetivo de (15), pois, ambos os objetivos, minimização do comprimento (ou área) e minimização do custo das unidades de estoque necessárias para produzir todas as unidades demandadas, tendem a produzir a mínima demanda possível b'i para todo i D.

GILMORE & GOMORY (1963) sugeriram o objetivo de minimizar a perda percentual, definida como: z = ( p=1,P cp yp) / p=1,P yp, onde, para o PCE unidimensional, cp = Lp - i D li x ip, e para o PCE bidimensional, cp = LpWp - i

D liwi xip (Lp e Wp são o comprimento e largura da unidade de estoque utilizada no padrão p). Os autores mostraram como superar as dificuldades com esta função não linear (racional), utilizando a mesma estratégia de geração de colunas para o PL. A mínima perda percentual pode ser vista como uma medida mais adequada da eficiência técnica.

ARCARO (1988) propôs o objetivo de maximizar o lucro, considerando os preços e os custos de cada unidade demandada. Este objetivo tende a produzir a máxima demanda possível b''i, para todo i D que seja lucrativo. O máximo lucro, diferente da mínima perda percentual, pode ser visto como uma medida mais adequada da eficiência econômica.

Estes dois objetivos não foram utilizados neste trabalho.

4. Métodos de Solução e Detalhes da Implementação

O problema da mochila (7) é usualmente resolvido através de programação dinâmica. Outros métodos de solução podem ser encontrados nos exames de GILMORE & GOMORY (1966), SALKIN & DE KLUYVER (1975) e MARTELLO & TOTH (1990). Neste trabalho, foi implementado o algoritmo lexicográfico, descrito em GILMORE & GOMORY, para resolver (7) (PCE unidimensional), e (10) e (11) (PCE bidimensional com cortes guilhotinados e em 2-estágios). Um método para resolver (9), baseado em programação dinâmica, também deverá ser implementado em breve.

Para resolver o PL em (15), o algoritmo primal simplex revisado foi implementado com o procedimento especial de geração de padrões em cada iteração (utilizando (7) ou (12), para cada j E). Seja Ni, i D, um número suficientemente grande. Ao incluirmos em (15) as variáveis de folga adicionais e as variáveis artificiais, obtemos o problema artificial:

min

z = p=1,P cp yp +

i D Ni ai

sujeito a:

p=1,P xip yp - si + ai = b'i, i

D

p=1,P xm+j,p yp + sm+j = Bj,

j

E

com:

yp 0, p=1,2,..,P, 0 si

b''i-b'i,

ai

0,

i

D,

sm+j

0,

j

E.

(16)

onde,

si = variável de folga da restrição de demanda i (variável limitada superiormente);

sm+j = variável de folga da restrição de oferta m+j;

ai = variável artificial da restrição de demanda i.

Na primeira iteração, as colunas das variáveis a1, a2,.., am e sm+1, sm+2,.., sm+M formam uma base inicial factível para (16) (veja o esquema na tabela abaixo).

Tabela 1

Nas iterações seguintes, se alguma variável não-básica em s1 , s2,.., sm, sm+1,.., sm+M tiver custo relativo positivo, então ela é uma candidata a entrar na base. Caso contrário, para cada j E, um novo padrão é gerado através de (7) ou (12), e o padrão mais valioso entre eles é escolhido, digamos (x1p, x 2p,.., xmp, xm+1,p, xm+2,p,.., xm+M,p) (lembre-se que todos os elementos xm+1,p, xm+2,p,.., xm+M,p são nulos, com exceção do elemento xm+k,p, k E, representando o tamanho k da unidade de estoque utilizada pelo padrão p). Se o custo relativo i D i x ip + m+k - cp for positivo, então a variável yp deve entrar na base; caso contrário, a solução ótima do problema artificial (16) foi encontrada. Se houver alguma variável artificial nesta solução ótima, então o problema original (15) é infactível.

Note que, com este procedimento, esperamos gerar somente alguns dos possíveis padrões 1, 2,.., P até obter a solução ótima de (16). Além disto, os padrões gerados que saem da base em cada iteração não precisam ser armazenados e, desta maneira, as necessidades de memória computacional são significativamente reduzidas para O((m+M)2).

GILMORE & GOMORY (1963) recomendaram o uso de um critério de parada (cutoff) para interromper o algoritmo simplex em casos onde o ganho adicional no valor da função objetivo é desprezível em relação ao custo computacional das iterações restantes. Neste trabalho, foi implementado o critério de abandonar as iterações restantes, se as últimas 10 iterações não produzirem uma redução de pelo menos 0.1% no valor da função objetivo.

5. Resultados Computacionais

A seguir, são apresentados os resultados computacionais de um exemplo real fornecido pela indústria de móveis. Para resolvê-lo, foi utilizado um microcomputador PC-AT- 486 (RAM 640 Kbytes, clock 33 Mhz, DOS 5.0). As implementações foram escritas em linguagem Pascal e compiladas no compilador Turbo-Pascal 5.5. Uma tolerância de mais ou menos 1.0E-06 foi considerada para os erros computacionais.

A tabela 2 apresenta as placas disponíveis em estoque (E={1,2,..,5}) e a tabela 3, as peças demandadas (D={1,2,..,25}). Note que as placas têm custos diferentes. Desejamos encontrar a solução de custo mínimo de (16), usando (12) para a geração de padrões bidimensionais com cortes guilhotinados e em 2-estágios. A serra de corte na indústria de móveis tem espessura s=0.004 metros; logo, consideramos cada tamanho j, j E, com dimensões (Lj+s,Wj+s). Além disto, todas as placas são isotrópicas; logo, consideramos (apenas em (12)) cada tamanho i, i D, como dois tamanhos diferentes com dimensões (lj+s,wj+s) e (wj+s,lj+s), respectivamente. Neste exemplo, não há tolerância na demanda das peças.

A tabela 4 resume a solução ótima arredondada obtida com custo $22598.07. Esta solução utiliza 5836 placas de estoque (ou 22173.3 m2) para produzir as 48230 peças demandadas (ou 21072.7 m2), resultando numa perda de 4.96% (ou 1100.6 m2, incluindo a perda devido à espessura da serra). Para isto, as placas devem ser cortadas em 27 padrões de corte diferentes (veja alguns deles no anexo). Foram necessárias 184 iterações que consumiram aproximadamente 1.9 minutos.

Observe que todas as placas de tamanhos 3 e 4 disponíveis em estoque foram utilizadas (compare as tabelas 2 e 4). Observe também que, para este exemplo, qualquer base é composta de no máximo 30 colunas (isto é, m+M restrições linearmente independentes), mas, somente 27 padrões de corte compõem a base ótima obtida. As outras 3 colunas desta base ótima correspondem às colunas das variáveis de folga (veja tabela 1) relativas às restrições de disponibilidade das placas de tamanhos 1, 2 e 5.

6. Conclusões e Perspectivas

O objeto deste trabalho foi o problema de corte aplicado em duas indústrias, uma de papel e papelão e outra de móveis. Em suma:

(i) alguns modelos de otimização, conhecidos na literatura, foram revistos para o problema de corte;

(ii) algumas adaptações destes modelos foram discutidas para os aspectos práticos dos processos de corte envolvidos nas duas indústrias;

(iii) alguns modelos clássicos de otimização combinatorial, como o problema da partição de conjuntos e o problema de atribuição generalizado, foram apresentados como casos especiais dos problemas de corte.

Os modelos foram implementados e, para ilustrar, um exemplo real fornecido pela indústria de móveis foi resolvido, utilizando um microcomputador. Outros exemplos da indústria de papel e papelão e da indústria de móveis estão sendo compilados e os resultados computacionais deverão ser reportados em breve.

Algumas perspectivas deste trabalho são:

(i) implementação e análise de outras funções objetivo, como a minimização da perda percentual ou a maximização do lucro (seção 3), mais adequadas quando há tolerâncias na demanda de clientes;

(ii) estudo do problema de seqüenciamento dos padrões de corte obtidos através destes modelos, baseado nos trabalhos anteriores de DYSON & GREGORY (1974) e MADSEN (1988).

  • ARCARO, V. F.: Recorte de Estoque Unidimensional Dissertaçăo de Mestrado, Instituto de Cięncias Matemáticas de Săo Carlos, Universidade de Săo Paulo, 1988.
  • BEASLEY, J.: "Algorithms for Unconstrained Two-Dimensional Guillotine Cutting". Journal of the Operational Research Society, 36, p. 297-306, 1985.
  • DOWSLAND, W. & DOWSLAND, K.: "Packing Problems". European Journal of Operational Research, 56, p. 2-14, 1992.
  • DYCKHOFF, H.: "A New Linear Programming Approach to the Cutting Stock Problem". Operations Research, 29, p. 1092-1104, 1981.
  • DYCKHOFF, H.: "A Typology of Cutting and Packing Problems". European Journal of Operational Research, 44, p. 145-159, 1990.
  • DYCKHOFF, H. & FINKE, U.: Cutting and Packing in Production and Distribution. Springer-Verlag Co., Heildelberg, 1992.
  • DYSON, R. & GREGORY, A.: "The Cutting Stock Problem in the Flat Glass Industry". Operational Research Quartely, 25, p. 41-53, 1974.
  • EILON, S. & CHRISTOFIDES, N.: "The Loading Problem". Management Science, 17, p. 259-267, 1971.
  • GILMORE, P. & GOMORY, R.: "A Linear Programming Approach to the Cutting Stock Problem". Operations Research, 9, p. 849-859, 1961.
  • GILMORE, P. & GOMORY, R.: "A Linear Programming Approach to the Cutting Stock Problem - Part II". Operations Research, 11, p. 863-888, 1963.
  • GILMORE, P. & GOMORY, R.: "Multistage Cutting Stock Problems of Two and More Dimensions". Operations Research, 14, p. 94-120, 1965.
  • GILMORE, P. & GOMORY, R.: "The Theory and Computation of Knapsack Functions". Operations Research, 14, p. 1045-1074, 1966.
  • HERZ, J.: "Recursive Computational Procedure for Two-Dimensional Stock Cutting". IBM Journal of Research and Development, 16, p. 462-469, 1972.
  • LASDON, L.: Optimization Theory for Large Systems. MacMillan, New York, 1970.
  • MADSEN, O.: "An Application of Travelling-Salesman Routines to Solve Pattern-Allocation Problems in the Glass Industry". Journal of the Operational Research Society, 39, p. 249-256, 1988.
  • MARTELLO, S. & TOTH, P.: Knapsack Problems: Algorithms and Computer Implementations, John Wiley & Sons, West Sussex, 1990.
  • MORÁBITO, R.: Corte de Estoque Bidimensional Dissertaçăo de Mestrado, Instituto de Cięncias Matemáticas de Săo Carlos, Universidade de Săo Paulo, 1989.
  • MORÁBITO, R.: Uma Abordagem em Grafo -E/OU para o Problema do Empacotamento: Aplicaçăo ao Carregamento de Paletes e Contęineres. Tese de Doutorado, Escola de Engenharia de Săo Carlos, Universidade de Săo Paulo, 1992.
  • MORÁBITO, R & ARENALES, M. N.: "Um Exame dos Problemas de Corte e Empacotameto". Cadernos DEP, Ano X, n.19, p. 20-46, Departamento de Engenharia de Produçăo, Universidade Federal de Săo Carlos, 1993.
  • MORÁBITO, R.; ARENALES, M. N.; ARCARO, V. F.: "An AND/OR-Graph Approach for Two-Dimensional Cutting Problems". European Journal of Operational Research, 58(2), p. 263-271, 1992.
  • SALKIN, H. & DE KLUYVER, C.: "The Knapsack Problem: A Survey". Naval Research Logistics Quartely, 22, p. 127-144, 1975.
  • SWEENEY, P. & PARTERNOSTER, E.: "Cutting and Packing Problems: A Categorized, Application-Oriented Research Bibliography". Journal of the Operational Research Society, 43, p.691-706, 1992.
  • SYSLO, M.; DEO, N.; KOWALIK, J.: Discrete Optimization Algorithms with Pascal Programs. Prentice-Hall Inc., New Jersey, 1983.
  • VANCE, P.; BARNHART, C.; JOHNSON, E. L.; NEMHAUSER, G. L.: "Solving Binary Cutting Stock Problems by Column Generation and Branch-and-Bound". Technical Report, School of Industrial and Systems Engineering, Georgia Institute of Technology, 1992.

Datas de Publicação

  • Publicação nesta coleção
    21 Jun 2010
  • Data do Fascículo
    Abr 1994
Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
E-mail: gp@dep.ufscar.br