SciELO - Scientific Electronic Library Online

 
vol.20 número2Um modelo de minimização de custos em diagnósticos com um caso de aplicação em um banco de sangueSuinocultura no Estado de Goiás: aplicação de um modelo de localização índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

Compartilhar


Pesquisa Operacional

versão impressa ISSN 0101-7438versão On-line ISSN 1678-5142

Pesqui. Oper. v.20 n.2 Rio de Janeiro dez. 2000

https://doi.org/10.1590/S0101-74382000000200005 

UM MÉTODO HEURÍSTICO BASEADO EM RELAXAÇÃO LAGRANGIANA PARA O PROBLEMA DE CARREGAMENTO DE PALETES DO PRODUTOR

 

Randal Farago
Reinaldo Morabito
Departamento de Engenharia de Produção, UFSCar
13565-905 São Carlos-SP
(rfarago@risa.com.br, morabito@power.ufscar.br)

 

 

Resumo

Neste trabalho desenvolvemos um método heurístico, baseado em relaxação Lagrangiana e surrogate, para resolver o problema de carregamento de paletes do produtor. Tal problema consiste em arranjar o máximo número de caixas por camada sobre o palete, otimizando, assim, o aproveitamento da superfície do palete. Aplicamos um método de redução do problema e uma heurística Lagrangiana no procedimento de otimização do subgradiente. Comparamos as soluções encontradas com soluções produzidas por outros métodos da literatura e com soluções utilizadas em situações práticas. Para isso, utilizamos dados obtidos na literatura e dados reais fornecidos por uma transportadora.

Palavras-chave: problema do carregamento de paletes do produtor, otimização do subgradiente, heurística Lagrangiana, relaxação Lagrangiana e surrogate.

 

Abstract

In this study we develop a heuristic method, based on Lagrangean and surrogate relaxation, to solve the manufacturer’s pallet loading problem. Such a problem consists in arranging the maximum number of boxes by layer on the pallet, thus optimizing the utilization of the pallet’s surface. We applied a method of reduction of the problem and a Lagrangean heuristic in a subgradient optimization procedure. We compare the solutions that were found with the solutions produced by other methods of the literature and solutions utilized in practice. For this, we utilize data obtained from the literature as well as actual data provided by a local carrier.

Keywords: manufacturer’s pallet loading problem, subgradient optimization, Lagrangean heuristic, Lagrangean and surrogate relaxation.

 

 

1. Introdução

Neste trabalho estudamos um caso particular dos problemas de corte e empacotamento, denominado problema de carregamento de paletes do produtor (PCP do produtor). Este problema é classificado como 2/B/O/C (bidimensional, seleção de itens, único objeto, itens iguais), de acordo com a tipologia de Dyckhoff (1990). Basicamente, o PCP do produtor consiste em arranjar sem sobreposição, o máximo número de retângulos de dimensões (l,w) ou (w,l)(faces inferiores das caixas), sobre um retângulo maior (L,W)(superfície do palete). Admite-se que as caixas estão disponíveis em grandes quantidades e devem ser arranjadas ortogonalmente, isto é, com seus lados paralelos aos lados do palete. Estes arranjos de caixas formam camadas que são então empilhadas sobre o palete. Devido à escala e extensão de certos sistemas logísticos, um pequeno aumento do número de produtos carregados sobre cada palete pode resultar em economias substanciais.

Nossa motivação para estudá-lo é que, além de ser um problema de difícil solução exata (o problema parece ser NP-completo, embora isso ainda não tenha sido provado, conforme Nelissen, 1995), o PCP do produtor é importante nas atividades logísticas de armazenagem e transporte de produtos embalados em caixas e carregados sobre paletes e caminhões (Morabito et al, 2000). Devido à dificuldade de solução desse problema, poucos autores têm proposto métodos de solução exatos, como Dowsland (1987), Tsai et al (1993), e Bhattacharya et al (1998). Outros propuseram métodos heurísticos, tais como Steudel (1979), Smith e De Cani (1980), Bischoff & Dowsland (1982), Nelissen (1994, 1995), Arenales & Morabito (1995), Scheithauer & Terno (1996) e Morabito & Morales (1998).

No presente trabalho, modelamos o PCP do produtor conforme um programa inteiro 0-1. O modelo pode ser visto como um caso particular do modelo proposto em Beasley (1985) para o problema mais geral da classe 2/B/O/M (bidimensional, seleção de itens, único objeto, vários itens diferentes). Desenvolvemos um método heurístico baseado na aplicação de técnicas de relaxação Lagrangiana e surrogate, edo procedimento de otimização do subgradiente. Exploramos duas variações do método: (i) o caso utilizando apenas relaxação Lagrangiana, e (ii) o caso combinando relaxação Lagrangiana e relaxação surrogate, similarmente ao que foi feito em Beasley (1985) para o problema mais geral de corte bidimensional não-guilhotinado. Em ambos os casos são aplicados um método de redução do problema e uma heurística Lagrangiana. As soluções encontradas são comparadas com soluções produzidas por outros métodos da literatura e soluções utilizadas em situações reais. Para isso, utilizamos dados obtidos na literatura e dados fornecidos por uma transportadora do interior de São Paulo.

Convém salientar que no artigo de Beasley (1985) foi explorado o uso de relaxação Lagrangiana combinada com relaxação surrogate (caso (ii)), ou seja, não foi explorado o uso de relaxação Lagrangiana diretamente nas restrições originais do problema (caso (i)). Além disso, o trabalho de Beasley (1985) tratou um problema mais geral do que o PCP do produtor. Uma questão que nos motivou para o presente trabalho é como se comportam estas duas abordagens (casos (i) e (ii)) ao serem aplicadas num problema bem mais particular, como é o caso do PCP do produtor.

 

2. Modelagem do PCP do Produtor

Um palete (L,W), de comprimento L e largura W, deve ser carregado com caixas iguais com faces inferiores de dimensões l e w. Admitimos que L, W, l e w são números inteiros, e que l³ w e l£ min{L,W}. Por simplicidade, definimos (l1,w1) = (l,w) e (l2,w2) = (w,l), assim, (li,wi), i=1,2, correspondem ao comprimento e largura da face de uma caixa com orientação i. O problema consiste em encontrar um arranjo de caixas em camadas horizontais (padrão de carregamento bidimensional; veja figura 3), tal que a utilização da superfície do palete seja a máxima possível.

 

 

 

 

Sejam P e Q o mínimo e o máximo número de caixas por camada, respectivamente, que podem ser colocadas sobre o palete (0 £ P £ Q). Adotamos um sistema de coordenadas cartesianas com origem no canto inferior esquerdo do palete. Sabemos que as caixas podem ser colocadas em várias posições ao longo do comprimento L e largura W do palete. Sejam: X = {p |0 £ p £ L-w, inteiro} e Y = {q | 0 £ q £ W-w, inteiro}, os conjuntos das coordenadas (p,q), respectivamente, para se colocar o canto inferior esquerdo da face (l,w) de uma caixa dentro do palete. Sem perda de generalidade (Beasley, 1985), podemos restringir os conjuntos X e Y para:

Definimos a função a que é útil para descrever restrições de sobreposição de caixas sobre o palete, e que pode ser computada com antecedência para cada posição (p,q), cada posição (r,s), e cada orientação i, com pÎ X tal que p £ L-li, qÎ Y tal que q £ W-wi, rÎ X, sÎ Y, e i=1,2 (Beasley, 1985) (Figura 2.1):

Finalmente, para todo pÎ X tal que p £ L-li, qÎ Y tal que q £ W-wi,e i=1,2, definimos a variável de decisão xipq:

O PCP do produtor pode então ser formulado pelo seguinte programa linear 0-1 (Beasley, 1985):

Note que a restrição (2) garante que cada par (r,s) seja ocupado por no máximo uma caixa e, desta maneira, evita sobreposição no arranjo de caixas (figura 1). A restrição (3) garante que o número de caixas arranjadas esteja dentro do intervalo [P,Q] (em geral temos P = 0). O problema (1)-(4) envolve O(|X||Y|) variáveis e restrições, o que o torna em geral difícil de ser resolvido otimamente nos casos práticos.

 

3. Aplicação de Relaxação Lagrangiana

3.1 Relaxação Lagrangiana Sem Relaxação Surrogate

Introduzindo os multiplicadores de Lagrange grs (³ 0) para todo rÎ X e todo sÎ Y da expressão (2), obtemos o seguinte programa Lagrangiano do limitante superior (note que temos |X||Y| multiplicadores):

onde . Sejam {Xipq} representando os valores das variáveis {xipq} na solução do programa Lagrangiano (5)-(7), com valor dado por:

que corresponde a um limitante superior para o valor ótimo do problema original (1)-(4), para quaisquer {grs} não negativos.

Note que, dados {grs}, o programa (5)-(7) pode ser facilmente resolvido. Seja n o número de variáveis xipq com valores Vipq estritamente positivos:

• Se n ³ Q, então escolha as Q variáveis com maiores valores Vipq, e fixe-as em 1.

• Se P £ n < Q, então escolha as n variáveis com maiores valores Vipq, e fixe-as em 1.

• Se n < P, então escolha as P variáveis com maiores valores Vipq, e fixe-as em 1.

As demais variáveis são fixadas em 0. Note que o programa Lagrangiano (5)-(7) possui a propriedade de integralidade, uma vez que, dados {grs}, sua solução não se altera ao trocarmos a restrição de integralidade: xipqÎ {0,1}, por sua relaxação linear: 0 £ xipq £ 1. Isto implica que o melhor limitante superior produzido pelo programa Lagrangiano (5)-(7) para o problema (1)-(4) não é melhor do que o limitante superior obtido pela relaxação de programação linear do problema (1)-(4).

3.2 Relaxação Lagrangiana Com Relaxação Surrogate

Beasley (1985), ao tratar o problema de corte mais geral, sugeriu utilizar as duas restrições surrogate (8) e (9) apresentadas abaixo, obtidas pela soma de todos os comprimentos possíveis r ÎX, e todas as larguras possíveis s ÎY,da restrição (2).

Substituindo no problema (1)-(4) a restrição (2) pelas restrições (8) e (9), e introduzindo os multiplicadores de Lagrange gs (³ 0) para todo s ÎY em (8), e hr (³ 0) para todo r ÎX em (9), obtemos o seguinte programa Lagrangiano do limitante superior (com relaxação surrogate). Note agora que temos apenas |X|+|Y| multiplicadores, ao invés de |X||Y| multiplicadores, como no programa (5)-(7).

onde . Sejam {Xipq} representando os valores das variáveis {xipq} na solução do programa Lagrangiano (10)-(12), com valor dado por:

que corresponde a um limitante superior para o valor ótimo do problema original (1)-(4), para quaisquer {gs} e {hr} não negativos. Note, entretanto, que este limitante não é melhor do que o limitante produzido pelo programa (5)-(7), uma vez que deriva de um programa Lagrangiano construído a partir de restrições surrogate. Por outro lado, é mais fácil de ser computado, como é visto na seção 4, dado que envolve um menor número de multiplicadores de Lagrange. Na seção 6 comparamos a qualidade dos dois limitantes e o esforço computacional para obtê-los, a partir da solução de diversos exemplos.

Assim como no programa (5)-(7), dados {gs} e {hr}, o programa (10)-(12) também pode ser facilmente resolvido por inspeção. O mesmo procedimento anteriormente descrito para resolver o programa (5)-(7) também pode ser aqui aplicado.

 

4. Método de Otimização do Subgradiente

4.1 Relaxação Lagrangiana sem Relaxação Surrogate

Para resolver o programa dual Lagrangiano: {programa Lagrangiano (5)-(7)}, utilizamos o método de otimização do subgradiente, que está descrito a seguir. Para maiores detalhes do método, o leitor pode consultar, por exemplo, Camerini et al (1975), Crowder (1976) e Beasley (1985, 1993).

Passo 1: Gere uma solução factível, por exemplo, a solução homogênea com todas as caixas arranjadas sob a mesma orientação. Faça ZLB igual ao valor desta solução homogênea. Seja ITMAX o máximo número de iterações e faça it = 0. Fixe grs = 0 para todo s ÎY, e todo r ÎX, como valores iniciais para os multiplicadores.

Passo 2: Resolva o programa Lagrangiano (5)-(7) com o conjunto de multiplicadores atual, obtendo a solução {Xipq} e valor ZUB. Faça it = it +1.

Passo 3: Teste de factibilidade: se a solução Lagrangiana é factível para o problema original (1)-(4), então atualize ZLB, o limitante inferior para o problema, correspondendo a uma solução factível. Atualize o menor limitante Zmin com a parte inteira de ZUB.

Passo 4: Teste de otimalidade: pare se Zmin = ZLB; caso contrário, vá para o Passo 5.

Passo 5: Calcule os subgradientes:

Passo 6: Defina o tamanho do passo t por: , onde 0 < f £ 2, e atualize os multiplicadores de Lagrange por:

Passo 7: Se it = ITMAX, pare; caso contrário, vá para o Passo 2.

Existem várias maneiras de se variar o parâmetro f ao longo das iterações, para acelerar a convergência do método. As alternativas exploradas neste trabalho estão discutidas na seção 6. Note que, se em alguma iteração obtivermos Zmin = ZLB no passo 4, então o procedimento acima termina com a solução ótima do problema original (1)-(4).

4.2 Relaxação Lagrangiana com Relaxação Surrogate

O método de otimização do subgradiente para resolver o programa dual Lagrangiano (com relaxação surrogate): {programa Lagrangiano (10)-(12)}, é muito similar ao da seção 4.1, com pequenas modificações nos passos 1, 5 e 6, conforme a seguir:

Passo 1: Gere uma solução factível, por exemplo, a solução homogênea com todas as caixas arranjadas sob a mesma orientação. Faça ZLB igual ao valor desta solução homogênea. Seja ITMAX o máximo número de iterações e faça it = 0. Fixe gs = 0 para todo s ÎY, e hr = 0 para todo r ÎX, como valores iniciais para os multiplicadores.

Passo 5: Calcule os subgradientes:

Passo 6: Defina o tamanho do passo t por: , onde 0 < f £ 2, e atualize os multiplicadores de Lagrange por:

 

5. Redução do Problema e Heurística Lagrangiana

Durante cada iteração do método de otimização do subgradiente, podemos aplicar alguma heurística Lagrangiana para gerar soluções factíveis para o problema original (1)-(4), a partir da solução obtida para o programa Lagrangiano do passo 2 (modelo (5)-(7) ou (10)-(12)). Também podemos aplicar alguma técnica de redução do problema para tentar fixar, sem perda de generalidade, alguma variável em 0 ou 1, e, desta maneira, reduzir o tamanho do problema (1)-(4). Convém salientar que, tanto a definição da heurística Lagrangiana como a redução do problema, pode ser aplicada nos métodos de otimização do subgradiente com e sem relaxação surrogate.

5.1 Redução do Problema

Em cada iteração, seja n o número de variáveis com valor 1 na solução do programa Lagrangiano do passo 2.

Fixando xipq = 0:

O seguinte limitante superior pode ser obtido quando fixamos xipq em 1 (com Xipq = 0):

Note em (13) que Vipq é o valor do coeficiente da variável xipq fora da solução corrente do programa Lagrangiano, e {Virs} é o conjunto dos valores dos coeficientes das n variáveis que estão fazendo parte da solução corrente (i.e., Xirs = 1).

Se n = Q, então, ao colocarmos a variável xipq na solução (i.e., ao fixarmos xipq = 1), precisamos retirar da solução atual a variável xirs (com Xirs = 1) com mínimo valor Virs, para não ultrapassarmos a quantidade máxima de caixas Q.

Se n ¹ Q, então dividimos este caso em dois sub-casos:

(i) Se P < n < Q, então, ao colocarmos a variável xipq na solução, não precisamos retirar da solução atual nenhuma variável xirs (com valor Xirs = 1) de valor Virs positivo, já que não ultrapassamos a quantidade máxima de caixas Q (i.e., n+1 £ Q). Note que, neste caso, não podemos ter variáveis xirs com Virs negativo, dado que n > P.

(ii) Se P = n < Q, então, ao colocarmos a variável xipq na solução, não precisamos retirar da solução atual nenhuma variável xirs (com valor Xirs = 1) de valor Virs positivo (pelo mesmo motivo anterior), ou precisamos retirar a variável xirs com menor valor, caso esta tenha Virs negativo. Note que, neste caso, podemos ter variáveis xirs com Virs negativo, dado que n = P.

Se o valor do limitante superior em (13) for menor que o valor do limitante inferior, isto é, se Z'UB <= ZLB, então podemos fixar xipq em 0, ou seja, reduzir o problema original ao desconsiderar a possibilidade de colocar uma caixa na posição (p,q) sob orientação i.

Fixando xipq = 1:

O seguinte limitante superior pode ser obtido quando fixamos xipq em 0 (com Xipq = 1):

O leitor pode verificar que o raciocínio aqui é análogo ao do caso anterior. Se o valor do limitante superior em (14) for menor que o valor do limitante inferior, isto é, se Z'UB <= ZLB, então podemos fixar xipq em 1, ou seja, reduzir o problema original ao desconsiderar a possibilidade de não colocar uma caixa na posição (p,q) sob orientação i.

5.2 Heurística Lagrangiana

A idéia básica da heurística Lagrangiana é, partindo da solução do programa Lagrangiano da iteração corrente, convertê-la numa solução factível para o problema original (1)-(4). Esta solução constitui um limitante inferior para a solução ótima deste problema.

Passo 1: Coloque todas as variáveis fixadas em 1 pela redução do problema na solução heurística, e retire seus valores correspondentes da lista dos {Vipq}. Ordene os {Vipq} restantesde forma decrescente, e forme uma lista F com as variáveis xipq correspondentes aos Vipq.

Passo 2: Pare se a lista F estiver vazia, caso contrário, coloque na solução heurística a primeira variável da lista F,e retire-a dessa lista.

Passo 3: Teste a factibilidade da solução heurística em questão. Se for factível, mantenha a variável correspondente na solução; caso contrário, desconsidere-a e volte para o passo 2.

Ao terminarmos este procedimento, podemos estar com uma solução factível melhor que a da iteração anterior. Neste caso, atualizamos esse limitante inferior ZLB. A otimalidade desta solução é testada no decorrer do método de otimização do subgradiente.

Para maiores detalhes da redução do problema e da heurística Lagrangiana, o leitor pode consultar Farago (1999).

 

6. Resultados Computacionais

Dois programas computacionais foram desenvolvidos para resolver o PCP do produtor, o primeiro combinando relaxação Lagrangiana e surrogate (seções 3.2 e 4.2), similarmente ao que foi explorado em Beasley (1985) para o problema mais geral de corte bidimensional não-guilhotinado, aqui denominado programa LAGSUR, e o segundo baseado apenas em relaxação Lagrangiana (seções 3.1 e 4.1), aqui denominado programa LAG. Ambos os programas LAGSUR e LAG utilizaram as técnicas de redução do problema (seção 5.1) e a heurística Lagrangiana (seção 5.2). Eles foram implementados na linguagem Pascal (compilador Delphi 4), e executados em um microcomputador Pentium II (300 Mhz, 128 Mbytes de RAM, Windows 95).

As tabelas 1 e 2 apresentam, respectivamente, os exemplos da literatura L1-L10, que vem sendo utilizados por diversos autores na literatura (Morabito & Morales, 1998), e os exemplos reais R1-R30, coletados no centro de distribuição de uma transportadora do interior de São Paulo. A transportadora utilizava o Palete Brasil (PBR), com dimensões (L,W) = (120,100) cm. As colunas ‘2(|X|+|Y|)’ e ‘2(|X||Y|)’ das tabelas 1 e 2 apresentam o número (aproximado) de variáveis envolvidas nos modelos (10)-(12) e (5)-(7), respectivamente.

 

 

 

O procedimento de otimização do subgradiente foi iniciado sempre com o parâmetro f = 2(veja passo 6 na seção 4), conforme Beasley (1985, 1993). Quatro variações foram exploradas para reduzir o valor de f ao longo das iterações: (i) dividir f a cada 30 iterações (Beasley, 1993), (ii) dividir f a cada 60 iterações, (iii) apenas no programa LAGSUR, fixar f = 2 para 2(|X|+|Y|) iterações e, em seguida, dividir ambos f e o número de iterações a cada 2(|X|+|Y|) iterações, até que o número de iterações atingisse o valor 5. A partir daí, dividir f a cada 5 iterações (Beasley, 1985), (iv) apenas no programa LAG, fixar f = 2 para 2(|X||Y|) iterações e, em seguida, dividir ambos f e o número de iterações a cada 2(|X||Y|) iterações, até que o número de iterações atingisse o valor 5. A partir daí, dividir f a cada 5 iterações. Em todas as variações (i)-(iv), reduzimos f até os valores 0,005 (Beasley, 1985, 1993) e 0,0005 serem atingidos (note que, neste último, permitimos um maior número máximo de iterações, ITMAX).

Ambos os programas LAGSUR e LAG obtiveram os melhores resultados utilizando a variação (ii), isto é, dividindo f a cada 60 iterações desde 2 até 0,0005 (i.e., com ITMAX = 720 iterações), tanto para os exemplos da literatura como para os exemplos reais. Estes resultados estão apresentados nas tabelas 3 e 4. Por motivo de limitação de espaço, os demais resultados utilizando as variações (i), (iii) e (iv) não foram aqui incluídos, mas podem ser encontrados em Farago (1999). A tabela 3 também apresenta as soluções obtidas pela heurística de Morabito & Morales (1998), e a tabela 4, as soluções utilizadas na prática pela transportadora.

 

 

 

Note nas tabelas 3 e 4 que ambos os programas LAGSUR e LAG produziram excelentes limitantes superiores para o PCP do produtor. Em todos os exemplos da literatura L1-L10, obtivemos Zmin = Z* com ambos os programas LAGSUR e LAG. Esta condição também foi satisfeita em quase todos os exemplos reais R1-R30 (exceto nos exemplos R16 e R22) com o programa LAG. Além disso, os programas LAGSUR e LAG produziram soluções em geral muito boas para os exemplos reais, mas tiveram dificuldades para resolver os (difíceis) exemplos da literatura (veja p.e. o exemplo L4). O programa LAG superou os carregamentos reais da transportadora em mais de 50% dos exemplos (em média, foram arranjados 0,87 caixas a mais por camada), por outro lado, não superou o método de Morabito & Morales (1998) em nenhum dos exemplos da literatura.

O desempenho médio do programa LAG foi superior ao do programa LAGSUR, por exemplo, o programa LAG encontrou solução ótima em 90% dos exemplos reais, contra apenas 80% do programa LAGSUR, utilizando tempos computacionais próximos (i.e., em média 8,45 seg contra 10,68 seg). Apenas para ilustrar, a figura 2 mostra a convergência dos limitantes superiores (ZUB e Zmin) e inferiores (ZLB) para o exemplo R21 da tabela 4, utilizando o programa LAG, e a figura 3 apresenta o correspondente padrão ótimo de carregamento obtido. Outros resultados podem ser encontrados em Farago (1999).

Também fizemos alguns testes quanto a aplicação ou não do método de redução do problema proposto na seção 5.1. Por simplicidade, utilizamos somente o programa LAG com f sendo dividido a cada 60 iterações, desde 2 até 0,0005 (o que resulta em no máximo 720 iterações). As tabelas 5 e 6 apresentam as soluções obtidas sem a aplicação do método de redução do problema, utilizando os exemplos L1-L10 e R1-R30, respectivamente.

 

 

 

Comparando as tabelas 5 e 6 com as tabelas 3 e 4, respectivamente, notamos que os tempos computacionais para o programa LAG sem redução do problema foram maiores ou iguais aos tempos computacionais do programa LAG com redução (p.e., em média de 79,18 seg para 72,90 seg nos exemplos da literatura), para as mesmas soluções encontradas. Isso nos faz concluir que é interessante utilizar o método de redução do problema em cada iteração do subgradiente, apesar da economia no esforço computacional não ser substancial.

Um outro aspecto a ser investigado no método de redução do problema é saber qual dos casos de fixação (fixar xipq = 0 ou xipq = 1) é mais efetivo. Para as mesmas soluções, os tempos computacionais do programa LAG sem redução do problema foram muito próximos dos tempos computacionais do programa LAG somente para o caso de fixar xipq = 0 (sem o caso de fixar xipq = 1) (i.e., em média 79.18 seg para 80.07 seg nos exemplos da literatura, e 8,44 seg para 8,44 seg nos exemplos reais). Podemos concluir que o método de redução do problema para o PCP do produtor fixa um maior número de variáveis em 0 do que em 1.

 

7. Conclusões e Perspectivas

7.1 Conclusões

Os modelos estudados neste trabalho, baseados em relaxação Lagrangiana com e sem relaxação surrogate (programas LAGSUR e LAG, respectivamente), produziram excelentes limitantes superiores para o PCP do produtor. Como visto na seção anterior, todos os limitantes superiores encontrados pelos programas LAGSUR e LAG para os (difíceis) exemplos da literatura têm o mesmo valor das soluções ótimas, ou seja, satisfazem Zmin = Z*. Isso também foi verificado em quase todos os exemplos reais com o programa LAG. A qualidade destes limitantes para o PCP do produtor foi um resultado de certa forma surpreendente e bem vindo; convém salientar que isso não ocorreu para o problema mais geral de corte bidimensional não guilhotinado analisado em Beasley (1985). Já os limitantes inferiores (soluções factíveis) produzidos pelos programas LAGSUR e LAG para o PCP do produtor, apesar de muito bons para os exemplos reais, não foram tão bons para os exemplos da literatura. Pretendemos ainda realizar pesquisas adicionais para tentar melhorar a qualidade destes limitantes inferiores, eventualmente combinando LAGSUR/LAG com outros métodos. Nossa recomendação com base nos resultados da seção anterior é dividir f a cada 60 iterações e deixá-lo variar desde 2 até 0,0005.

Também recomendamos utilizar o método de redução do problema nos programas LAGSUR e LAG, dado que o esforço computacional de tentar fixar variáveis ao longo das iterações é compensatório, conforme mostram os resultados da seção anterior e em Farago (1999). A heurística Lagrangiana, utilizada para melhorar o limitante inferior ZLB no método de otimização do subgradiente, funcionou melhor no programa LAG. O programa LAG melhorou as soluções factíveis e encontrou soluções ótimas com mais freqüência do que o programa LAGSUR, principalmente nos exemplos reais. Por exemplo, utilizando os mesmos parâmetros e tempos computacionais muito próximos, o programa LAG encontrou 90% das soluções ótimas dos exemplos reais, enquanto que o programa LAGSUR encontrou 80% delas. Além disso, o programa LAG superou os carregamentos reais da transportadora em mais de 50% dos exemplos.

7.2 Perspectivas

Como perspectivas para pesquisa futura, podemos utilizar, conforme Crowder (1976) e Camerini, Fratta & Maffioli (1975), algumas técnicas para melhorar o desempenho do método da otimização do subgradiente. Basicamente, estas técnicas selecionam a direção do passo do gradiente, fazendo somas ponderadas dos gradientes anteriores, mas valorizando mais os gradientes mais recentes. Com isso, além de podermos obter melhores soluções, poderá haver uma diminuição nas variações dos multiplicadores de Lagrange, e o limitante superior poderá convergir mais rapidamente.

Acreditamos que ainda seja necessário realizar pesquisa adicional na calibragem dos parâmetros usados no procedimento de otimização do subgradiente, principalmente com respeito a variação de f ao longo das iterações. Tivemos um caso (exemplo R16) em que o valor do limitante superior Zmin (passo 3) encontrado pela relaxação Lagrangiana não atingiu o valor do limitante superior encontrado pela relaxação de programação linear do problema (1)-(4), quando, teoricamente, deveria ter atingido (dado que o programa Lagrangiano (5)-(7) tem a propriedade de integralidade, conforme discussão na seção 3). Poderíamos então utilizar a solução da relaxação linear para calibrar os parâmetros do programa LAG. Uma das dificuldades deste estudo é o tamanho dos programas lineares envolvidos, tipicamente com ordem de milhares de restrições e variáveis. Por exemplo, o problema (1)-(4) para o exemplo L4 tem cerca de 67 x 27 = 1809 restrições de sobreposição. Algumas linguagens de modelagem poderiam ser utilizadas para isso, como por exemplo o GAMS e o LINGO, com os solvers CPLEX, MINOS, OSL, LINDO, etc.

Outra perspectiva para pesquisa futura é incluir os algoritmos LAGSUR e LAG aqui estudados num procedimento exato do tipo branch-and-bound, similarmente ao que foi feito em Beasley (1985) para o problema mais geral de corte bidimensional não guilhotinado. Além dos excelentes limitantes superiores gerados por estes algoritmos, também poderíamos reduzir o espaço de busca do método branch-and-bound por meio dos limitantes inferiores gerados pela heurística Lagrangiana. Poderíamos também combinar os algoritmos LAGSUR e LAG com a heurística de Morabito & Morales (1998), onde utilizaríamos esta última heurística para encontrar o limitante inferior (ZLB) inicial dos algoritmos. Ou, inversamente, poderíamos utilizar os limitantes Zmin e ZLB dos algoritmos, como limitantes iniciais para a heurística de Morabito & Morales (1998). O resultado poderia ser uma poderosa heurística híbrida para o PCP do produtor.

 

Agradecimentos

Os autores agradecem aos três revisores anônimos pelos úteis comentários e sugestões. Esta pesquisa contou com apoio da FAPESP (processos 1995/9522-0, 1997/13930-1, 1997/9411-9) e CNPq (processo 522973/95-7, 680082/95-6). Agradecemos também ao eng. José Pedretti Junior da Transportadora Americana pela colaboração na coleta de dados.

 

Referências Bibliográficas

(1) Arenales, M. & Morabito, R. (1995). An and/or-graph approach to the solution of two-dimensional non-guillotine cutting problems. European Journal of Operational Research, 84, 599-617.        [ Links ]

(2) Beasley, J. (1985). An exact two-dimensional non guillotine cutting tree search procedure. Operations Research, 33, 49-64.        [ Links ]

(3) Beasley, J. (1993). Chapter 6, Lagrangean relaxation. In: Modern Heuristic Techniques for Combinatorial Problems [edited by C.R. Reeves], Blackwell Scientific Publications.        [ Links ]

(4) Bhattacharya, S.; Roy, R. & Bhattacharya, S. (1998). An exact depth-first algorithm for the pallet loading problem. European Journal of Operational Research, 110, 610-625.        [ Links ]

(5) Bischoff, E. & Dowsland, W. (1982). An application of the micro to product design and distribution. Journal of the Operational Research Society, 33, 271-280.        [ Links ]

(6) Camerini, P.M.; Fratta, L. & Maffioli, F. (1975). On improving relaxation methods by gradient techniques. Mathematical Programming Study, 3, 26-34.        [ Links ]

(7) Crowder, H. (1976). Computational improvements for subgradient optimization. Symposio Matematica, Roma, 17, 357-372.        [ Links ]

(8) Dowsland, K. (1987). An exact algorithm for the pallet loading problem. European Journal of Operational Research, 31, 78-84.        [ Links ]

(9) Dyckhoff, H. (1990). A typology of cutting and packing problems. European Journal of Operational Research, 44, 145-159.        [ Links ]

(10) Farago, R. (1999). Um método heurístico baseado em relaxação lagrangiana para resolver o problema de carregamento de paletes do produtor. Dissertação de Mestrado, Departamento de Engenharia de Produção, Universidade Federal de São Carlos.        [ Links ]

(11) Morabito, R. & Morales, S.R. (1998). A simple and effective recursive procedure for the manufacturer’s pallet loading problem. Journal of the Operational Research Society, 49, 819-828.        [ Links ]

(12) Morabito, R.; Morales, S.R. & Widmer, J.A. (2000). Loading optimization of palletized products on trucks. Transportation Research, Part E 36, 285-296.        [ Links ]

(13) Nelissen, J. (1994). Solving the pallet loading problem more efficiently. Working Paper, Graduiertenkolleg "Informatik und Technik", agosto, Alemanha.        [ Links ]

(14) Nelissen, J. (1995). How to use the structural constraints to compute an upper bound for the pallet loading problem. European Journal of Operational Research, 84, 662-680.        [ Links ]

(15) Scheithauer, G. & Terno, J. (1996). The G4-heuristic for the pallet loading problem. Journal of the Operational Research Society, 47, 511-522.        [ Links ]

(16) Smith, A. & De Cani, P. (1980). An algorithm to optimizar the layout of boxes in pallets. Journal of the Operational Research Society, 31, 573-578.        [ Links ]

(17) Steudel, H. (1979). Generating pallet loading patterns: A special case of the two-dimensional cutting stock problem. Management Science, 10, 997-1004.        [ Links ]

(18) Tsai R.; Malstrom, E. & Kuo, W. (1993). Three dimensional palletization of mixed box sizes, IEE Transactions, 25, 64-75.        [ Links ]

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons