A pesquisa Operacional e os Recursos Renováveis
4 a 7 de novembro de 2003, Natal-RN
PROBLEMAS DE CORTE EM DUAS FASES: UMA REVISÃO PARCIAL
Robinson Hoto
Universidade Estadual de Londrina, CCE, Departamento de Matemática
CEP 86051-970, CP 6001, fone (43) 3371 4226, [email protected]
Campus Universitário, Londrina, PR, Brasil
Fabiano Marques
Universidade de São Paulo, ICMC, Departamento de Computação e Estatística
CEP 13560-970, fone (16) 273 9648, [email protected]
Campus Universitário, São Carlos, SP, Brasil
Resumo
Problemas de Corte e Empacotamento são amplamente estudados e diversos trabalhos sobre o
tema podem ser encontrados na literatura, seja no aspecto puramente teórico ou nas aplicações
práticas. Dentre estes inúmeros problemas, alguns autores relataram ao longo dos anos, casos
em que o processo de corte necessita ser efetuado em duas fases. Este trabalho, que é parcial,
pretende iniciar uma revisão de problemas de corte em duas fases.
Palavras-Chave: corte e empacotamento, duas fases, padrões compartimentados.
Abstract
Cutting and packing problems are widely studied and several works about these problems can
be found in literature, in theorical aspect and also practical applications. Among these various
problems, some authors had told, along years, cases in which the cutting process needs to be
done in two phases. This work, which is a partial study, intends to start a two-phases cutting
problems review.
Keywords: cut and packing, two-phases, compartmented patterns.
Introdução
No contexto dos problemas de corte e empacotamento, o termo “objeto” é usado para designar
uma peça do estoque, e o termo “itens” designa as peças a serem cortadas dos objetos. Num
problema de corte em duas fases os itens são obtidos dos objetos intermediários, induzindo uma
fase de corte (originando os objetos intermediários) e recorte (originando os itens demandados).
Caso objetos intermediários (compartimentos) necessitem ser definidos como padrões
compartimentados o problema de corte será em três fases (fase 1 de corte + fase 2 de corte +
recorte), neste caso os padrões de corte serão denominados bi-compartimentados
(compartimentos no interior de compartimentos). Um problema de corte em n+1 fases (fase 1 de
corte + fase 2 de corte + ... + fase n de corte + recorte) é aquele que apresenta padrões de corte
n-compartimentados, onde os itens demandados são obtidos após o recorte (a última fase de
corte).
Um exemplo bastante comum de corte em duas fases é o problema do corte de bobinas de aço
sujeitas a laminação. Na figura 1 observamos como é a configuração de um padrão de corte
compartimentado, onde o corte contínuo define dois objetos intermediários (sub-bobinas) e os
cortes tracejados definem os itens (fitas de aço). Observe que os itens que compõem o padrão
são provenientes de dois grupos distintos (laminações distintas). Os itens de cada grupo irão
definir compartimentos (sub-bobinas) que por sua vez definirão o padrão compartimentado.
Após a primeira fase de corte (corte) são obtidos os objetos intermediários (sub-bobinas que
sofrerão laminações distintas). Após a segunda fase de corte (recorte) são obtidos os itens (fitas
de aço). Em algumas empresas, após a laminação algumas fitas recebem um tipo especial de
revestimento, neste caso, além da compatibilidade no processo de laminação é preciso verificar
compatibilidade no processo de revestimento, pois, itens de subconjuntos distintos sofrerão
revestimentos distintos. Considere oito itens (parte de uma carteira) agrupados da seguinte
forma:
Grupo B
Grupo C
Grupo 1
Grupo 2
Grupo3
Grupo A
Revestimento Revestimento Revestimento Laminação Laminação Laminação
de Cobre
de Teflon
de Níquel
Fraca
Média
Forte
Itens
Itens
Itens
Itens
Itens
Itens
3e4
5e6
7e8
1e2
3, 4, 5 e 6
7e8
Na figura 1 ilustramos um possível padrão de corte, onde os itens 1 e 2 são cortados em duas
fases, e os demais são cortados em três fases de corte.
Padrão de Corte Compartimentado
objeto
1.o corte
objetos
intermediários
p/ laminação
2.o corte
objetos
intermediários
p/ revestimento
itens
1700
Os autores estudam o problema da mochila compartimentada com restrições adicionais
(caso restrito), essencial na obtenção de uma solução inteira viável do corte de bobinas de aço.
• Sessão 8 (Zaq, 2002) [33, 34]
O autor propõe uma técnica de geração simultânea de linhas e colunas aplicada na
resolução do corte de bobinas de papel.
1 As abordagens de Haessler
O Professor Robert Haessler da Universidade de Michigan descreveu em 1971 [09] um modelo
não-linear para o corte de bobinas de papel, numa abordagem em duas fases de corte. Em
problemas como este estudado por Haessler, fruto de sua tese de doutoramento [08], há uma
limitação no número de facas a serem usadas num padrão, ou analogamente, o número de itens
num padrão de corte deve ser limitado. Esta restrição pode ser considerada ao gerar padrões,
entretanto, Haessler optou em modelar o problema, permitindo a geração de padrões que
excedessem o limite de itens (o mesmo que a limitação no número de facas). Neste caso, há a
necessidade de efetuar um corte, dividindo a bobina em sub-bobinas, onde o número de itens
não excede o limite tolerado, seguido de um recorte para obter os rolos (itens). Na figura 2
ilustramos o caso em que o limite de itens é no máximo 5 (o mesmo que 4 facas). Na prática, do
total de facas, duas serão utilizadas para aparar as bordas das bobinas e sub-bobinas.
Outra situação técnica que Haessler encontrou, induzindo corte em duas fases, surge quando
o número de bobinas a serem cortadas, segundo um padrão, é muito reduzido. Neste caso, o
número alto de trocas de padrões na máquina de corte prejudica o rendimento da máquina de
papel (a que confecciona as bobinas) [10]. Para contornar o problema, Haessler propôs cortar e
recortar bobinas para aliviar a pressão da produção da máquina de papel sobre a de corte. Sob
este aspecto o problema difere do corte de bobinas de aço, pois, não há necessidade de agrupar
os itens já que não existem restrições quanto à compatibilidade.
Padrão de Corte com
k=1
Padrão de Corte com
k=2
corte
corte
recorte
Fig 2. Padrões de corte em bobinas de papel, segundo a abordagem de Haessler.
Vejamos como Haessler modelou o problema: considere uma carteira de n rolos (itens) de
larguras l i e demandas di , admita que as bobinas (objetos) tenham comprimento L. Sejam
ainda:
ct : (cost of trim loss) custo associado à perda de material por unidade de comprimento;
c p : (cost of processing) custo associado a processamentos de sub-bobinas em relação aos
padrões;
aijk :
número de itens do tipo i no padrão j tal que, se o número de itens no padrão excede o
limite de
facas então k=2, caso contrário k=1. Tendo em vista esta notação, seja P2 o
conjunto dos índices dos padrões para os quais k=2 e P1 o conjunto dos índices dos padrões
para os quais k=1 (
figura 2);
k
x j : número de rolos a serem cortados segundo o padrão j, conforme k=1 ou k=2;
1701
n
Observe que um padrão de corte será viável se ∑ aijk l i ≤ L , com aijk ≥ 0 e inteiro para i=1,
i =1
...,
n.
O
custo
associado
às
perdas de material pode ser dado por
n
n


ct  ∑ ( L − ∑ aijk l i ) x1j + ∑ ( L − ∑ aijk l i ) x 2j  . Haessler observou que o custo do papel não é
i =1
j∈P2
i =1
 j∈P1

significativo se comparado com custos operacionais, de modo que, é recomendável otimizar não
apenas as perdas, mas, os custos de produção que contemplem as perdas e os processos
operacionais. Tendo em vista a pressão exercida pela máquina de papel sobre a máquina de
corte, ele sugeriu valores mínimos LBc e LB p ≤ LBc para número de bobinas completas e
parciais (sub-bobinas) a serem cortadas na máquina de corte, de modo que, os seguintes casos
foram considerados:
1. se x1j < LB p ≤ LBc , então 2 x1j sub-bobinas serão recortadas na máquina de recorte (figura
3a). Isto devido ao baixo número de bobinas a serem cortadas;
2. se LB p ≤ x1j < LBc , então x1j sub-bobinas serão recortadas na máquina de corte e x1j subbobinas serão recortadas na máquina de recorte (figura 3b);
3. se x 2j < LB p , então 2 x 2j sub-bobinas serão recortadas na máquina de recorte (figura 3c). Isto
devido ao limite de facas;
Assim, 2 x1j sub-bobinas serão processadas conforme os casos 1 e 2, este número pode ser
computado da seguinte forma: ∑ x1j δ( x1j − LB p ) + ∑ x1j δ( x1j − LBc ) , onde δ( x − LB) = 1 se
j∈P1
j∈P1
0 < x < LB , e δ( x − LB) = 0 em caso contrário. Analogamente, 2 x 2j sub-bobinas serão
processadas conforme o caso 3, este número pode ser computado da seguinte forma:
2
2
∑ x j (1 + δ( x j − LB p )) . Como nem todos os padrões de corte irão ser efetuados em duas fases
j∈P2
(figura 2), Haessler optou por computar o custo da porção de sub-bobinas processadas em
relação
aos
padrões
de
corte,
dado
por

 

c p  ∑ x1j δ( x1j − LB p ) + ∑ x1j δ( x1j − LBc ) + ∑ x 2j (1 + δ( x 2j − LB p ))   ∑ x1j + ∑ x 2j  . Na
j∈P1
j∈S 2
j∈P2
 j∈P1
  j∈P1

prática as demandas di dos itens possuem tolerâncias, de modo que, dimin ≤ di ≤ dimax para
cada i = 1, ..., n, veja [13]. O modelo não-linear proposto por Haessler é o seguinte:
n
n


minimizar ct  ∑ ( L − ∑ aijk l i ) x1j + ∑ ( L − ∑ aijk l i ) x 2j  +
i =1
j∈P2
i =1
 j∈P1



+ c p  ∑ x1j δ( x1j − LB p ) + ∑ x1j δ( x1j − LBc ) + ∑ x 2j (1 + δ( x 2j − LB p )) 
j∈P1
j∈P2
 j∈P1

sujeito a:

1
2
 ∑ x j + ∑ x j 
j∈P2
 j∈P1

dimin ≤ ∑ aij1 x1j + ∑ aij2 x 2j ≤ dimax ; x1j , x 2j ≥ 0 e inteiros com i = 1, ..., n e
j∈P1
j∈P2
j ∈ P1 ∪ P2
Para resolver o problema Haessler desenvolveu uma heurística [08]. Inicialmente ele avalia o
total de bobinas e o número médio de itens numa bobina, computando os seguintes valores:
n
n
n
i =1
i =1
i =1
( ∑ di l i ) L e L ( ∑ di ) ( ∑ di l i ) .
1702
(a) n.o baixo de bobinas
a serem cortadas
(b) parte das bobinas são cortadas
no corte e parte no recorte
corte
(c) o limite de facas é excedido
corte
corte
recorte
recorte
recorte
Fig 3. Corte e recorte de bobinas de papel na abordagem de Haessler.
A seguir, é construído um padrão de corte que satisfaça as seguintes condições:
n
1. L − Tmax ≤ ∑ aijk l i ≤ L , aijk ≥ 0 e inteiro, onde Tmax é a perda máxima tolerada;
i =1
n
2. N min ≤ ∑ aijk ≤ N max , onde N min e N max são respectivamente o número mínimo e máximo
i =1
de itens tolerados;
3. aijk LB ≤ di , para todo aijk > 0 , onde LB é o número mínimo de bobinas que devem ser
processadas;
O padrão obtido é usado até a exaustão, as demandas dos itens são atualizadas, as estimativas
do total de bobinas e do número médio de itens são recalculadas e gera-se um novo padrão,
segundo 1, 2 e 3. Este processo é repetido até que toda demanda seja satisfeita, ou quando não
for possível gerar um padrão, neste caso, 1, 2 e 3 são relaxadas para gerar um padrão,
finalizando com uma solução viável para o problema. Haessler citou a dificuldade de resolver o
problema como um programa linear, devido à natureza dos padrões de corte. Ele acrescentou
que o ajuste dos parâmetros necessários para gerar o próximo padrão, após a atualização das
demandas, não consiste em tarefa elementar.
Haessler estudou também um problema numa indústria de filme plástico [12], onde as
bobinas do estoque necessitam ser cortadas em sub-bobinas para processamentos em máquinas
que não suportam a largura de uma bobina do estoque. Adicionalmente este problema apresenta
uma característica peculiar, pois, as demandas são rolos de filmes de largura l i e comprimento
Li (figura 4a), de modo que, além do corte se passar em duas fases o problema é 1.5dimensional [11]. Num problema 1.5-dimensional a variável de decisão x j , associada ao padrão
j, não é mais inteira, pois, ela passa a medir o comprimento que será cortado da bobina, segundo
o padrão (figura 4b). Este problema pode ser modelado como um programa linear e novamente
a dificuldade consiste em construir um padrão de corte, uma vez que, é preciso decidir a largura
e a quantidade de cada sub-bobina (objeto intermediário) a ser cortada de uma bobina (objeto).
(a)
(b)
rolo aberto
x j2
l2
Li
rolo
x j1
l 15
li
li
l3
l9
l2
l9
L
Fig 4. a) Rolo de largura l i e comprimento Li ; b) corte 1.5-dimensional.
1703
2 Ferreira-Neves-Castro e o Corte de Bobinas de Aço
Na introdução deste trabalho citamos o problema do corte em bobinas de aço sujeitas à
laminação (figura 1). O Professor Jose Antonio Soeiro Ferreira da Universidade do Porto,
juntamente com seus colegas António Neves e Fonseca e Castro, propuseram em 1990 [04] para
o problema em questão, um procedimento heurístico que passaremos a descrever, onde di e l i
são respectivamente as demandas (em Kg) e larguras (em mm) das fitas de aço (itens) para i = 1,
..., n, e L é a largura (em mm) das bobinas do estoque (objetos):
1. Defina os fatores µi = di l i para cada i = 1, ..., n e ordene-os da seguinte forma:
µ1 ≥ µ 2 ≥ K ≥ µ n ;
2. Escolha uma quantidade p de itens segundo o fator µ do passo 1 (5 a 9 primeiros itens foram
os valores experimentados). Seja m o número de bobinas intermediárias (objetos
intermediários) do padrão que será escolhido e faça m = 3 . Seja S1 a largura (em mm) da
apara retirada das bordas da bobina e S2 a largura (em mm) da apara retirada das bordas das
bobinas intermediárias, assim a largura útil da bobina será Lútil = L − ( S1 + mS2 ) , onde
inicialmente m = 3 ;
3. Ordene as larguras dos itens da seguinte forma: l1 ≥ l 2 ≥ Kl p ;
4. Para cada j = 1, ..., p gere um padrão de corte segundo a heurística FFD (p padrões serão
gerados);
5. Determine x j ≥ 0 , o total de vezes que cada padrão será usado sem exceder as demandas dos
itens. Se nenhum padrão tiver uso, incremente o valor de p e de m , recalcule
Lútil = L − ( S1 + mS2 ) e retorne ao passo 3 para gerar novos padrões no passo 4;

p

6. Defina os fatores γ j = x j  Lútil − ∑ aij  , onde aij ≥ 0 é o número de itens do tipo i no
i =1


padrão j e ordene-os da seguinte forma: γ1 ≥ γ 2 ≥ K ≥ γ p ;
7. Selecione o padrão j* que está associado a γ1 e verifique se ele é viável, segundo as
seguintes restrições:
 L − S1 
 L − S1 
(a) 
≤m≤
 , onde L min e L max são respectivamente as larguras
 L min + S 2 
 L max + S2 
mínima e máxima (em mm) permitidas para uma bobina intermediária,  .  é o maior inteiro
menor ou igual a... e  .  é o menor inteiro maior ou igual a...
(b) Lmin ≤ ∑ aij*l i + S 2 ≤ Lmax , onde N kj* é o conjunto dos índices dos itens que
i ∈ N kj*
compõem a bobina intermediária k = 1, ..., m. Estes itens devem ser compatíveis entre si, de
modo que possam sofrer o mesmo tipo de laminação, do contrário o padrão não será viável;
(c) ∑ aij*l i ≤ N max , para cada bobina intermediária k = 1, ..., m, onde N max é o número
i ∈ N kj*
total de itens permitido numa bobina intermediária (é devido à limitação no número de
facas);
Se o padrão j* que está associado a γ1 não for viável, teste os demais padrões até que um
padrão viável seja encontrado, caso contrário incremente o valor de p e de m , recalcule
Lútil = L − ( S1 + mS 2 ) e retorne ao passo 3 para gerar novos padrões no passo 4;
8. Use o padrão selecionado e atualize as demandas. Se houver demanda remanescente retorne
ao passo 1, caso contrário PARE.
Os autores relataram terem obtido bons resultados práticos com a heurística descrita,
entretanto, observamos que a escolha de determinados parâmetros é crítica, por exemplo, no
passo 2 os valores de r e m são iniciados em seus “mínimos” e gradativamente são
1704
incrementados até que padrões viáveis passem a ser gerados, ocorre que em problemas como
este um procedimento guloso pode ser desastroso. A geração dos padrões é efetuada por meio
da heurística FFD, muito rápida e simples, porém, muito pobre para casos elaborados, além do
mais, ao gerar um padrão, as restrições que determinam sua natureza de ser compartimentado
não são consideradas, de modo que, no passo 7 é possível que todos os padrões gerados sejam
descartados por violarem justamente estas condições, uma situação indesejada.
3 Carvalho-Rodrigues e a abordagem de Geração de Colunas para o Corte de Bobinas de
Aço
Em 1991 o Professor Valério de Carvalho da Universidade do Minho apresentou sua tese de
doutoramento [01] (sob orientação do Professor Guimarães Rodrigues da Universidade do
Minho), cujo foco é a utilização da técnica de geração de colunas [05, 06] na resolução do
problema do corte de bobinas de aço. Posteriormente ambos publicaram dois trabalhos, um em
1994 [02] e outro em 1995 [03], que abordam o assunto.
Considere N o conjunto dos índices dos itens (fitas de aço) e J o conjunto dos padrões de
corte viáveis (padrões compartimentados). Sejam dimin e dimax as demandas mínima e máxima
de cada item i ∈ N , e aij ≥ 0 o número de itens i no padrão j ∈ J . O objetivo será o de
minimizar custos de material e processamento, onde c perda é o custo associado a perda de
material, clam é o custo associado ao processo de laminação, c1 é o custo associado ao acerto de
um padrão na primeira fase de corte (as trocas de padrões serão medidas pela função δ ), por
fim, c2 é o custo associado ao acerto de padrões na segunda fase de corte. Nestas condições, a
função
de
custo
que
Carvalho
e
Rodrigues
utilizaram
é
dada
por:
c perda ∑ T j x j + clam ∑ m j x j + c1 ∑ δ( x j ) + c2 m , onde x j é o número de vezes que o padrão
j∈J
j∈ J
j∈ J
j ∈ J é utilizado, m j é o número de bobinas intermediárias no padrão e m é o total de bobinas
intermediárias. Finalmente, o modelo que os autores formularam para o problema é escrito
como:
minimizar
c perda ∑ T j x j + clam ∑ m j x j + c1 ∑ δ( x j ) + c2 m
sujeito a:
dimin ≤ ∑ ai j x j ≤ dimax ; x j ≥ 0 e inteiro com i ∈ N e j ∈ J
j∈J
j∈ J
j∈ J
j∈J
Os autores efetuaram simplificações no modelo anterior, resolveram a relaxação contínua do
programa linear resultante, tomaram a solução arredondada para baixo e utilizaram a heurística
FFD para completar a demanda. Para construir um padrão viável (gerar uma coluna), os autores
reduziram o espaço de busca, construindo para cada item i ∈ N , todas as bobinas intermediárias
“homogêneas” (compostas por apenas um tipo de item). Assim, para cada i ∈ N , seja o
conjunto Ki dos índices das bobinas intermediárias homogêneas e mik o número de itens i na
bobina intermediária k, eles resolveram o seguinte problema clássico da mochila [26], onde πi é
um multiplicador Simplex, e yik é a variável da mochila que decide quantas bobinas
intermediárias de índice k ∈ Ki irão compor o padrão:
maximizar
sujeito a:
∑ ∑ ((πi + c perda l i )mik − clam ) yi k
i∈N k∈Ki
∑ ∑ (mik l i ) yik ≤ L ; yik ≥ 0 e inteiro com i ∈ N e
i∈N k∈Ki
k ∈ Ki
A abordagem de Carvalho e Rodrigues parece ser muito promissora, entretanto, os autores
“anularam” o poder combinatório do problema quando reduziram drasticamente o espaço de
1705
busca. Novamente podemos perceber que a dificuldade maior do problema é gerar um padrão
compartimentado.
4 A abordagem de Pereira para a Programação de Fitas Laminadas
No ano de 1993, Marcos Antonio Pereira apresentou sua dissertação de mestrado [27] (sob
orientação do Professor Miguel Taube da UNICAMP), onde descreveu um programa linear
misto (variáveis inteiras e reais) em que o objetivo é o de minimizar o custo pela utilização de
uma bobina e o custo pelo processo de laminação.
Pereira considerou que os itens de um subconjunto N − N * ⊂ N podem ser cortados a partir
de mais de um tipo de bobina do estoque (é dada a opção de decidir entre alguns tipos de aço),
onde N * constitui o subconjunto de índices que não admite esta possibilidade. O autor reuniu
os índices dos itens com compatibilidade para laminação em agrupamentos N s , s ∈ G . Cada
bobina r ∈ R do estoque pode atender um subconjunto Gr de agrupamentos N s , note que os
elementos de Gr não são índices, mas agrupamentos N s , estes por sua vez são conjuntos de
índices de itens com mesma compatibilidade para laminação. Assim, para cada item i ∈ N
existirá um único agrupamento N s , com i ∈ N s , de modo que, várias bobinas possam atender
os itens indexados por N s , este conjunto de bobinas é indexado por Rs . Os vários tipos de aço
são indexados por h = 1, ..., H. Considere cr o custo da bobina r ∈ R . Seja a variável inteira
mrs ≥ 0 , que contabiliza o número de bobinas intermediárias da bobina r ∈ R designadas ao
agrupamento N s e TLamrs o tempo de laminação de uma destas bobinas intermediárias. A


função de custo que Pereira modelou é dada por: ∑ cr yr + α ∑  ∑ TLamrs mrs  , onde yr é


r∈R
r∈R  N s ∈Gr

igual a 1 se a bobina r ∈ R foi escolhida, e igual a 0 no caso contrário. O parâmetro α é para
compatibilizar as unidades de custo das bobinas e de tempo de laminação das bobinas
intermediárias (ele mede a importância da laminação no processo). As restrições consideradas
por Pereira foram:


1. ∑  ∑ air l i  ≤ yr ( Lr − S1 − mrs S2 ) , para cada r ∈ R . A variável inteira air ≥ 0


N s ∈Gr  i∈N s

contabiliza o número de itens i cortados da boina r. A restrição determina que o total das
larguras dos itens cortados da bobina r ∈ R seja inferior à sua largura útil Lr − S1 − mrs S 2 ( Lr é
a largura da bobina r);
P
2. ∑ r air l i ≥ shi di , para cada i ∈ N * , tal que N s é o agrupamento em que i ∈ N s ( Pr é o
r∈Rs Lr
“peso” da bobina r). A variável de decisão uhi é igual a 1 se o tipo de aço h foi escolhido para
H
atender o item i ∈ N k , e igual a 0 no caso contrário, portanto, ∑ uhi = 1 para cada i ∈ N *
h =1
(somente um tipo de aço será escolhido para o item em questão). Observe que a quantidade
produzida do item i nunca será inferior a seu pedido;
P
3. ∑ r air l i ≥ vhi , para cada i ∈ N − N * , tal que N s é o agrupamento em que i ∈ N s . A
r∈Rs Lr
variável real vhi ≥ 0 mede a quantidade produzida do item i no tipo de aço h, portanto,
H
∑ vhi ≥ di para cada i ∈ N − N * (mais de um tipo de aço poderá ser escolhido para o item em
h =1
questão). Observe que a quantidade produzida do item i nunca será inferior a seu pedido;
1706
4. wrs Lmin ≤ ∑ air l i ≤ wrs M e (mrs − 1 + ε) Lmax ≤ ∑ air l i ≤ mrs Lmax , para cada r ∈ R e
i∈N s
i∈N s
N s ∈ Gr com TLamrs > 0 . A variável de decisão wrs é igual a 1 se a bobina r ∈ R foi escolhida
para atender o agrupamento N s ∈ Gr , e igual a 0 no caso contrário. Estas restrições possuem
relação com os tamanhos das bobinas intermediárias e com o tempo de laminação, onde
0 ≤ ε < 1 e M é um número grande.
Pereira relaxou restrições relacionadas com o tempo de laminação e com a designação de
tipos de aço alternativos (cada pedido passaria a ser atendido por um único tipo de aço). O autor
procurou descrever bounds para a solução de seu modelo e relatou dificuldades, pois, algumas
bobinas intermediárias possuíam larguras inferiores à largura mínima permitida ( Lmin ), além
disto, alguns pedidos não eram atendidos. Se observarmos bem, o modelo de Pereira não
contempla a compartimentação dos padrões, de modo que, as dificuldades relatadas eram
naturais de ocorrer.
5 A Heurística de Hoto-Arenales para o Corte de Bobinas de Aço
Em 1996, sob orientação do Professor Marcos Arenales da USP de São Carlos, Hoto apresentou
em sua dissertação de mestrado [14] um procedimento heurístico para o corte de bobinas de aço
baseado nas idéias da heurística de Ferreira-Neves-Castro (seção 2), porém, os itens são préprocessados em agrupamentos, viabilizando a geração de um padrão efetivamente factível.
Um importante aspecto é que as bobinas intermediárias (compartimentos) passaram a ser
construídas por meio do seguinte problema da mochila restrito:
maximizar
∑ λis ai
i ∈ Ns
sujeito a:
∑ l i ai ≤ Lmax e ∑ ai ≤ NF −1
i ∈ Ns
0 ≤ ai ≤
i ∈ Ns
Lrem di
; ai ≥ 0 e inteiro com i ∈ N s
P li
Na mochila anterior, λ is são coeficientes calculados a partir da demanda remanescente di ,
da largura l i e da dificuldade em laminar os itens de N s , Lmax é a largura máxima que uma
bobina intermediária pode assumir, Lrem é a largura remanescente de uma bobina do estoque,
cujo peso é P, finalmente ai é a variável.
Um grande problema na heurística de Hoto-Arenales é que ela valoriza bobinas
intermediárias de largura máxima, gerando padrões com perdas consideráveis, entretanto, há
algumas fitas que não necessitam de laminação e podem completar esta ociosidade no padrão.
Outra alternativa que foi sugerida [14] e [15] consiste em retirar itens das bobinas
intermediárias, que por um lado aumenta a ociosidade, mas por outro, permite construir uma
nova bobina intermediária.
6 Hoto-Arenales-Maculan e a abordagem de Geração de Colunas com Mochila
Compartimentada
Um problema muito incômodo na prática do corte de bobinas de aço, comum em muitos outros,
é a baixa demanda dos itens (figura 5). Tendo em vista a bordagem 1.5-dimensional de Haessler
[11] (seção 1), Hoto, Maculan e Arenales [16] em 1998, sugeriram um modelo que trata o
problema em questão via geração de colunas [05, 06] sob o enfoque 1.5-dimensional.
A abordagem não foi levada adiante para o corte de bobinas de aço, porém, motivou os
autores a explorarem o problema com geração de colunas. Naturalmente o grande entrave
consistiu na geração dos padrões compartimentados. Em 1999, Hoto, Arenales e Maculan [17]
descreveram uma primeira versão da mochila compartimentada, onde não era permitida a
replicação de compartimentos (não era permitido que uma mesma bobina intermediária
figurasse mais de uma vez no padrão). Os autores descreveram um branch-and-bound com boas
1707
soluções, porém, com tempo de processamento que comprometia a geração de colunas. Em
2000 Marques apresentou sua dissertação de mestrado [22], sob orientação do Professor
Arenales, cujo foco são heurísticas para a resolução de mochilas compartimentadas, e em 2001,
Hoto apresentou sua tese de doutoramento [19], sob orientação do professor Nelson Maculan da
COPPE – UFRJ, cujo tema é a aplicação de mochilas compartimentadas no corte de bobinas de
aço.
bobina de "peso" 10.000 Kg, com largura de 1.000 mm
item de demanda
500 Kg, com
largura de 100 mm
se cortado integralmente
da bobina, a produção
será 1.000 Kg (o dobro
de sua demanda)
Fig 5. Exemplo de baixa demanda no corte de bobinas de aço.
Para descrever uma Mochila Compartimentada Irrestrita, Hoto, Arenales, Maculan e
Marques consideraram para cada agrupamento N s , o conjunto Vs , s = 1, ..., q, dos
índices dos compartimentos (bobinas intermediárias) viáveis, de modo que, Vs ∩ Vs′ = ∅
para s, s′ = 1, K, k , s ≠ s′ . Seja ck , k ∈Vs , s = 1, ..., q, um custo por utilizar o
compartimento k, o modelo da mochila compartimentada irrestrita é dado por:




maximizar ∑  ( ∑ ui aik ) − ck  yk + L + ∑  ( ∑ ui aik ) − ck  yk

k∈V1  i∈N1
k∈Vq 

 i∈N q

sujeito a:
∑ ( ∑ l i aik + S2 ) yk + L + ∑ ( ∑ l i aik + S2 ) yk + S1 ≤ L
k∈V1 i∈N1
k∈Vq i∈N q
 yk 
 yk 

 Lmin ≤ ∑ l i aik + S 2 ≤ 
 Lmax , k ∈Vs , s = 1, ..., q
i∈N s
 yk + 1 
 yk + 1 
aik , yk ≥ 0 e inteiros, i ∈ N = N1 ∪ L ∪ N q , k ∈V = V1 ∪ L ∪ Vq
No modelo anterior a variável aik contabiliza o número de itens i no compartimento k. A
variável yk contabiliza o número de vezes que o compartimento k deve ser considerado na
mochila. O parâmetro ui está relacionado com os multiplicadores Simplex na abordagem de
geração de coluna [05,06], todavia, eles medem uma utilidade do item i na composição da
 y 
mochila. Por fim,  .  é a função menor inteiro maior ou igual a..., observe que  k  é
 yk + 1 
igual a 1 se yk > 0 e igual a 0 se yk = 0 .
Para resolver o modelo anterior, Hoto, Arenales, Maculan e Marques [19, 20, 24, 25]
construíram todos os compartimentos viáveis, utilizando o algoritmo de Yanasse-Soma [31]
para mochilas com restrição física de igualdade, em seguida resolveram uma mochila irrestrita
para decidir quais compartimentos viáveis integrariam o padrão. Os autores provaram que a
decomposição descrita obtém a solução ótima da compartimentação, desde que cada mochila
clássica do processo detecte uma solução ótima [19, 20]. Hoto [19] propôs substituir os valores
1708
das utilidades das mochilas resolvidas pelo algoritmo de Yanasse-Soma por bounds [26],
fornecendo soluções competitivas em qualidade e tempo [20].
Hoto usou mochilas compartimentadas para gerar padrões no corte de bobinas de aço sujeitas
a
laminação,
ele
adotou
n
m rj
i =1
k =1
cr
custos
associados
à
perda
de
aço
T jr = ( Lr − S1 ) − ( ∑ l i aijr ) − ( S2 ∑ ykjr ) numa bobina r do estoque, e custos ckjr associados à
laminação de uma bobina intermediária k definida por um padrão de corte compartimentado j
[19]. Na expressão de T jr , n é o número total de itens (fitas de aço), m rj é o número total de
bobinas intermediárias (compartimentos) na bobina r, e a variável ykjr contabiliza o número de
bobinas intermediárias k na bobina r, segundo o padrão compartimentado j. Hoto contabilizou o
número de bobinas do tipo r, cortadas segundo o padrão j, pela variável x rj , e admitiu um
estoque de bobinas limitado, considerando e r a disponibilidade de bobinas do tipo r, de modo
que modelo por ele proposto é dado por:
mrj

m pr 
r
r
minimizar ∑ ∑  c T j + ∑ (ckjr ykjr )  x rj

r =1 j =1 
k =1


m pr P
r r
sujeito a:
∑ ∑ r l i aij x j = di , i = 1, K, n
r =1 j =1 Lr
p1
1
≤ e1
∑ xj
j =1
O
M
pm
m
m
∑ xj ≤ e
j =1
x rj
≥ 0 e inteiro, j = 1, K, pr , r = 1, K, m
Uma solução inteira viável foi obtida por meio de uma heurística sugerida por Stadtler [29],
veja também [28] e [30]. A abordagem de geração de colunas com mochilas compartimentadas
de Hoto, Maculan e Arenales [16, 19] obteve soluções superiores em qualidade quando
comparada com a abordagem de Carvalho-Rodrigues [01, 02 ,03], que restringiu o espaço de
busca.
7 Marques-Arenales e a Mochila Compartimentada Restrita
O caso restrito da compartimentação de uma mochila [19, 22, 23, 24, 25] prevê as seguintes
condições adicionais:
1. a quantidade de cada item i que compõe a mochila deve ser limitada por di :
q
∑ ∑ aik yk ≤ di , i ∈ N = N1 ∪ L ∪ N q ;
s =1 k∈Vs
2. a quantidade de itens em cada compartimento k deve ser limitada por bk :
∑ aik ≤ bk , k ∈V = V1 ∪ L ∪ Vq , s = 1, ..., q;
i∈N s
3. a quantidade de compartimentos na mochila deve ser limitada por c:
q
∑ ∑ yk ≤ c ;
s =1 k∈Vs
Em sua dissertação, Marques [22] abordou o problema restrito da mochila
compartimentada, considerando apenas a adição da restrição 1. Três heurísticas gulosas
foram descritas por Marques [22, 25]:
1709
A heurística de decomposição de Marques-Arenales
Nesta heurística é construído um compartimento de largura máxima associado a cada
agrupamento. Destes compartimentos serão escolhidos aqueles que melhor montarão a mochila
compartimentada. Aqui, como na heurística de Hoto-Arenales (seção 5), pode haver ociosidade
no padrão que é eliminada com a adição de itens que não necessitam de laminação.
A heurística do melhor compartimento de Marques-Arenales
Semelhante a heurística anterior, ele visa a construção de compartimentos com larguras
adequadas, procurando evitar a ociosidade no padrão.
A heurística dos k-melhores compartimentos de Marques-Arenales
Consiste num aperfeiçoamento das heurísticas anteriores, de modo que, ao invés de construir
apenas um compartimento associado a cada agrupamento, constroem-se os k-melhores
compartimentos, isto pode ser feito por meio do algoritmo de Yanasse-Soma-Maculan [32] que
determinando as k-melhores soluções de uma mochila clássica.
Em sua tese [19], Hoto também descreveu uma heurística baseada na construção de todos os
compartimentos viáveis para a resolução de uma mochila compartimentada restrita, porém, a
variável yk , que contabiliza o número de ocorrências do compartimento de índice k na mochila,
é considerada binária, indicando que o compartimento em questão poderá figurar apenas uma
vez na mochila.
Atualmente estamos trabalhando numa abordagem de geração de colunas para resolver uma
mochila compartimentada restrita. Assim, ao utilizar geração de colunas no corte de bobinas de
aço, por exemplo, uma coluna será gerada por outra geração de colunas, isto é, teremos uma
geração de colunas embutida noutra. Este raciocínio é compatível com a abordagem de Eugene
Zaq que veremos a seguir.
8 Zaq e a abordagem de Geração de Linhas e Colunas
Em 2002, Eugene Zaq da empresa americana de desenvolvimento de softwares TietoEnator
Majiq, Inc. (Redmond, WA, USA), especializada no segmento industrial de papel, apresentou
dois trabalhos [33, 34] que abordaram o corte de bobinas de papel descrito por Haessler [08, 09]
(seção 1).
Zak considerou que as bobinas intermediárias (compartimentos) devem possuir suas larguras
limitadas entre um valor mínimo Lmin e um valor máximo Lmax , assim como feito no corte de
bobinas de aço. Para modelar o problema, ele distinguiu os padrões compartimentados em dois
momentos: na primeira fase de corte (os padrões são construídos para cortar as bobinas do
estoque) e na segunda fase de corte (os padrões são construídos para cortar bobinas
intermediárias). O autor introduziu a variável x1j ≥ 0 que contabiliza as ocorrências do padrão j
da primeira fase de corte, e xk2 ≥ 0 que contabiliza as ocorrências do padrão k da segunda fase
de corte. A quantidade de itens (bobinas intermediárias) do tipo k, cortadas do padrão j da
primeira fase de corte, é contabilizada por a1kj ≥ 0 , já a quantidade de itens (rolos de papel) do
tipo i, cortados do padrão k da segunda fase de corte, é contabilizada por aik2 ≥ 0 . O objetivo de
Zak foi simplesmente minimizar o total de bobinas do estoque cortadas para atender a demanda
di de cada item, tomando o cuidado de que a utilização de bobinas intermediárias na segunda
fase de corte não deve exceder a respectiva produção na primeira fase. O modelo que Zak
propôs é dado por:
minimizar
1 1
∑ akj x j
j
1710
sujeito a:
1 1
2
∑ akj x j ≥ xk , k = 1, ..., m
j
2 2
∑ aij x j ≥ di ; x1j , xk2 ≥ 0 e inteiros para todo j, k e i = 1, ..., n
j
Na modelagem de Zak, além de conhecermos todos itens i, necessitamos conhecer todas as
bobinas intermediárias (compartimentos) k. Zak efetuou a geração das colunas (dos padrões)
com o mesmo raciocínio que Hoto et al. [19, 20] (seção 6) empregou para resolver mochilas
compartimentadas. De fato, a geração dos padrões de Zak pode ser feita por uma mochila
compartimentada, cujos itens estão reunidos num único agrupamento, portanto, seus padrões
podem ser considerados compartimentados.
Zak, entretanto, considerou a situação em que o número de bobinas intermediárias não é
computável e sugeriu a geração simultânea de linhas e colunas (compartimentos e padrões), e
embora a cada passo do Simplex revisado [05, 06], saibamos gerar colunas desconhecidas, nada
sabemos sobre linhas desconhecidas. Assim, ele restringiu a busca de bobinas intermediárias,
gerando não mais que uma nova bobina intermediária a cada passo do Simplex. Na geração de
linhas e colunas simultâneas (bobinas intermediárias e padrões), Zak utilizou o seguinte
problema de otimização que gera uma bobina intermediária de largura Lk = ∑ l i aik2 + S2 a ser
i
π1k
1
πi2
e
são respectivamente os multiplicadores Simplex
utilizada a vezes no padrão j, onde
da primeira e segunda fase de corte (variáveis duais do modelo principal):
maximizar
1 1
2 2
k
sujeito a:
1
∑ πk akj + (∑ πi aij )a
i
1
2
1
∑ Lk akj + (∑ l i akj + S2 )a + S1 ≤ L
k
i
Lmin ≤ ∑ l i aij2 + S2 ≤ Lmax ; a1kj , aij2 , a1 ≥ 0 e inteiros
i
 L − S1 
Zak considerou a1 = 1, 2, K, 
 como um parâmetro a ser ajustado, e resolveu o
 Lmin 
modelo anterior como uma mochila clássica com a restrição adicional
Lmin ≤ ∑ l i aij2 + S2 ≤ Lmax .
i
Teoricamente, as limitações impostas por Zak restringiram as escolhas na geração das
bobinas intermediárias. Note que quando não existem novos padrões de corte envolvendo
apenas uma nova bobina intermediária, no mínimo duas novas bobinas intermediárias devem ser
incluídas num padrão da primeira fase de corte. Pode-se esperar que esta situação seja mais
provável no início do Simplex revisado, quando o número de bobinas intermediárias ainda é
escasso, por outro lado, à medida que o procedimento gera mais bobinas intermediárias, a
situação torna-se menos provável.
Considerações Finais
Neste trabalho iniciamos um texto de revisão sobre corte em duas ou mais fases. Fizemos a
descrição parcial de trabalhos da literatura que tratam de problemas de corte em duas fases.
Os primeiros trabalhos são os de Haessler que trata do corte de bobinas de papel e filme
plástico (seção 1), onde os itens não necessitam de pré-processamento (não precisam estar
agrupados). A seguir foi apresentado o problema do corte de bobinas de aço, estudado por
Ferreira-Neves-Castro (seção 2), Carvalho-Rodrigues (seção 3), Pereira (seção 4), HotoArenales-Maculan (seções 5 e 6) e Marques-Arenales (seção 7), cujos itens necessitam estar
agrupados segundo compatibilidades. Vimos que uma mochila compartimentada encontra um
padrão de um problema de corte unidimensional em duas fases (seção 6). O caso restrito desta
mochila não apresenta uma resolução elementar, sendo justificável o desenvolvimento de
1711
heurísticas (seção 7), tendo em vista sua aplicabilidade em problemas de corte que se passam
em duas fases. Por fim, vimos o trabalho de Zak (seção 8), que sugere um mecanismo de
geração de linhas e colunas simultâneas para o corte de bobinas de papel, onde uma linha
representa uma bobina intermediária (um compartimento) e uma coluna representa um padrão
de corte.
A noção de compartimentação de padrões pode ser aplicada em problemas de corte em duas
fases com ou sem restrições de agrupamento, por exemplo, o corte de bobinas de aço e de papel
respectivamente. Quando não há restrições quanto à compatibilidade de itens, basta considerar
um único agrupamento, e em vista deste fato, sugerimos a seguinte definição para Problemas de
Corte em duas Fases:
Corte em duas Fases
Um problema possui corte em duas fases quando seus padrões são compartimentados.
Padrões Compartimentados
Um padrão de corte é denominado compartimentado quando é necessário definir objetos
intermediários (compartimentos) a serem cortados dos objetos em estoque, neste caso os itens
serão cortados dos objetos intermediários.
Como contribuição, esperamos que este trabalho seja o início de um texto que possa servir
como um documento de consulta. Vale destacar que durante a elaboração deste texto surgiu a
idéia de se resolver mochilas compartimentadas restritas via geração de colunas, o que
esperamos ser uma contribuição futura significativa por abordar questões relevantes.
Agradecimentos
Agradecemos ao Professor Arenales pelos seus valiosos apontamentos, e pelas proveitosas
discussões durante a escrita deste texto. Agradecemos também aos revisores deste trabalho, que
em tarefa anônima, fizeram excelentes e importantes observações. O autor Fabiano Marques
contou com apoio da FAPESP, a quem agradecemos.
Bibliografia
[01] J. M. V. Valério de CARVALHO (1991). A two-phase cutting problem. Doctor Thesis,
University of Minho, Portugal. (in portuguese)
[02] J. M. V. Valério de CARVALHO and A. J. Guimarães RODRIGUES (1994). A computer
based interactive approach to a two-stage cutting-stock problem. INFOR, 32(4), 243-252.
[03] J. M. V. Valério de CARVALHO and A. J. Guimarães RODRIGUES (1995). An LP-based
approach to a two-stage cutting-stock problem. European Journal of Operational Research, 84,
580-589.
[04] J. S. FERREIRA, M. A. NEVES and P. F. CASTRO (1990). A two-phase roll cutting
problem. European Jounal of Operational Research, 44, 185-196.
[05] P. C. GILMORE and R. E. GOMORY (1961). A linear programming approach to the
cutting stock problem, Operations Research, 9(6), 849-859.
[06] P. C. GILMORE and R. E. GOMORY (1963). A Linear Programming Approach to the
cutting stock problem, parth II, Operations Research, 11(6), 863-888.
[07] P. C. GILMORE and R. E. GOMORY (1965). Multistage cutting stock problems of two
and more dimensions. Operations Research, 13(1), 94-120.
[08] R. W. HAESSLER (1968). An application of heuristic programming to a nonlinear
cutting-stock problem occurring in the paper industry. Unpublished Doctoral Dissertation, The
university of Michigan, Ann Arbor, USA.
[09] R. W. HAESSLER (1971). A heuristic programming solution to a nonlinear cutting-stock
problem. Management Science, 17(12), 793-802.
[10] R. W. HAESSLER (1975). Controlling cutting pattern changes in one dimensional trim
problems. Operations Research, 23(3), 483-493.
1712
[11] R. W. HAESSLER (1978). A procedure for solving the 1.5 - dimensional coil slitting
problem. AIIE Transactions, 10, 70-75.
[12] R. W. HAESSLER (1979). Solving the two-stage cutting-stock problem. Omega, The
International Journal of Management Science, 7(2), 145-151.
[13] R. W. HAESSLER (1980). A note on computational modifications to the Gilmore-Gomory
cutting stock algorithm. Operations Research, 28(4), 1001-1005.
[14] R. HOTO (1996). Optimization in the cut of the one-dimensional items with restrictions of
grouping. MSc. Dissertation, ICMC, USP, São Carlos, S.P., Brazil. (in portuguese)
[15] R. HOTO and M. ARENALES (1996). A one-dimensional cutting problem with restriction
of grouping and industrial applications. I ON PCE, IME-USP, São Paulo, S.P., Brazil. (in
portuguese)
[16] R. HOTO, N. MACULAN and M. N. ARENALES (1998). The steel roll cutting stock
problem with columns generation. XXX Brazilian Symposium of Operational Research,
Curitiba, P.R., Brazil, 267-268. (in portuguese)
[17] R. HOTO, M. N. ARENALES and N. MACULAN (1999). The compartmented knapsack
problem. Technical Report, Department of Mathematics, Center of Exact Sciences, State
University of Londrina, Londrina, P.R., Brazil. (in portuguese)
[18] R. HOTO, N. MACULAN and M. N. ARENALES (2000). A branch-and-bound for a
simplified version of the compartmented knapsack problem. XXXII Brazilian Symposium of
Operational Research, Viçosa, M.G., Brasil, 1824-1836 (in portuguese).
[19] R. HOTO (2001). The compartmented knapsack problem applied in steel roll cutting stock
problem. Doctor Thesis, COPPE/UFRJ, Engineering of Systems and Computation, Rio de
Janeiro, R.J., Brazil. (in portuguese)
[20] R. HOTO, N. MACULAN, M. N. ARENALES and F. P. MARQUES (2002). A new
procedure for the calculation of the compartmented knapsacks. Operational Research - APDIO,
22, 213-234. (in portuguese)
[21] R. HOTO, N. MACULAN, F. P. MARQUES and M. N. ARENALES (2003). A cut
problem with compartmented patterns. Operational Research – SOBRAPO. (to be published in
portuguese)
[22] F. P. MARQUES (2000). The compartmented knapsack problem. MSc. Dissertation,
ICMC, USP, São Carlos, S.P., Brazil. (in portuguese)
[23] F. P. MARQUES and M. N. ARENALES (2000). “The compartmented knapsack
problem.” XXXII Brazilian Symposium of Operational Research, Viçosa, M.G., Brasil, 803-816.
(in portuguese)
[24] F. P. MARQUES, M. N. ARENALES and R. HOTO (2002). The compartmented knapsack
problem: a review of the unrestrict and restrict cases. VI ON PCE. Campinas, S.P., Brasil.( in
portuguese)
[25] F. P. MARQUES and M. N. ARENALES (2002). The compartmented knapsack problem
and applications. Operational Research - SOBRAPO, 22(3), 285-304. (in portuguese)
[26] S. MARTELLO and P. TOTH (1990). Knapsack problems: algorithms and computer
implementations. John Wiley & Sons, Chichester.
[27] M. A. PEREIRA (1993). A mathematical approach for the cut problem and lamination of
ribbons of steel. MSc. Dissertation, UNICAMP, Campinas, São Paulo, Brazil. (in portuguese)
[28] K. C. POLDI (2003). Extensions of the cutting-stock problem. MSc. Dissertation, ICMC,
USP, São Carlos, S.P., Brazil. (in portuguese)
[29] H. STADTLER (1990). A one dimensional cutting-stock problem in the aluminium
industry and its solution. European Journal of Operational Research, 44, 209-223.
[30] G. WÄSCHER and T. GAU (1996). Heuristics for the integer one dimensional cuttingstock problem: a computacional study. OR Spektrum, 18, 131-144.
[31] H. H. YANASSE, N. Y. SOMA (1987). A new enumeration scheme for the knapsack
problem. Discrete Applied Mathematics, 18, 235-245.
[32] H. H. YANASSE, N. Y. SOMA and N. MACULAN (2000). An algorithm for determining
the k-best solutions of one-dimensional knapsack problem. Operational Research – SOBRAPO,
20(1), 117-134.
1713
[33] Eugene J. ZAK (2002). Modeling multistage cutting stock problems. European Journal of
Operations Research, 141, 313-327.
[34] Eugene J. ZAK (2002). Row and column generation technique for a multistage cutting
stock problem. Computers & Operations Research, 29, 1143-1156.
1714
Download

problemas de corte em duas fases: uma revisão parcial