Acessibilidade / Reportar erro

Métodos exatos baseados em relaxações lagrangiana e surrogate para o problema de carregamento de paletes do produtor

Resumos

Neste artigo apresentamos métodos exatos, baseados em relaxações Lagrangiana e surrogate, com bom desempenho para resolver o problema de carregamento de paletes do produtor. Este problema consiste em arranjar ortogonalmente e sem sobreposição o máximo número de retângulos de dimensões (l,w) ou (l,w) sobre um retângulo maior (L,W). Os métodos propostos são procedimentos de busca em árvore do tipo branch and bound que, em cada nó, utilizam limitantes derivados de relaxações Lagrangiana e/ou surrogate de uma formulação de programação linear 0-1. Algoritmos de otimização do subgradiente são usados para otimizar estes limitantes. São aplicados ainda testes de redução do problema e heurísticas Lagrangiana e surrogate para se obter boas soluções factíveis na otimização do subgradiente. Testes computacionais foram realizados utilizando exemplos da literatura e exemplos reais de uma transportadora. Os resultados mostram que um dos métodos propostos é competitivo com outros métodos da literatura, incluindo o software GAMS/CPLEX.

problema de carregamento de paletes do produtor; relaxação Lagrangiana e/ou surrogate; método branch and bound; otimização do subgradiente


In this paper we present exact methods, based on Lagrangean and surrogate relaxations, with good performance to solve the manufacturer's pallet loading problem. This problem consists of orthogonally arranging the maximum number of rectangles of sizes (l,w) or (l,w) into a larger rectangle (L,W) without overlapping. The proposed methods involve a branch and bound based tree search procedure for which the bounds, in each node of the tree, are derived from Lagrangean and/or surrogate relaxations of a 0-1 linear programming formulation. Subgradient optimization algorithms are used to optimize such bounds. Problem reduction tests and Lagrangean and surrogate heuristics are also applied to obtain good feasible solutions in the subgradient optimization. Computational experiments were performed with instances of the literature and actual instances of a carrier. The results show that one of the proposed methods is competitive with methods found in the literature, including the software GAMS/CPLEX.

manufacturer's pallet loading problem; Lagrangean and/or surrogate relaxation; branch and bound method; subgradient optimization


Métodos exatos baseados em relaxações lagrangiana e surrogate para o problema de carregamento de paletes do produtor

Lilian Kátia de Oliveira; Reinaldo Morabito* * Corresponding author / autor para quem as correspondências devem ser encaminhadas

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

RESUMO

Neste artigo apresentamos métodos exatos, baseados em relaxações Lagrangiana e surrogate, com bom desempenho para resolver o problema de carregamento de paletes do produtor. Este problema consiste em arranjar ortogonalmente e sem sobreposição o máximo número de retângulos de dimensões (l,w) ou (l,w) sobre um retângulo maior (L,W). Os métodos propostos são procedimentos de busca em árvore do tipo branch and bound que, em cada nó, utilizam limitantes derivados de relaxações Lagrangiana e/ou surrogate de uma formulação de programação linear 0-1. Algoritmos de otimização do subgradiente são usados para otimizar estes limitantes. São aplicados ainda testes de redução do problema e heurísticas Lagrangiana e surrogate para se obter boas soluções factíveis na otimização do subgradiente. Testes computacionais foram realizados utilizando exemplos da literatura e exemplos reais de uma transportadora. Os resultados mostram que um dos métodos propostos é competitivo com outros métodos da literatura, incluindo o software GAMS/CPLEX.

Palavras-chave: problema de carregamento de paletes do produtor; relaxação Lagrangiana e/ou surrogate; método branch and bound; otimização do subgradiente.

ABSTRACT

In this paper we present exact methods, based on Lagrangean and surrogate relaxations, with good performance to solve the manufacturer's pallet loading problem. This problem consists of orthogonally arranging the maximum number of rectangles of sizes (l,w) or (l,w) into a larger rectangle (L,W) without overlapping. The proposed methods involve a branch and bound based tree search procedure for which the bounds, in each node of the tree, are derived from Lagrangean and/or surrogate relaxations of a 0–1 linear programming formulation. Subgradient optimization algorithms are used to optimize such bounds. Problem reduction tests and Lagrangean and surrogate heuristics are also applied to obtain good feasible solutions in the subgradient optimization. Computational experiments were performed with instances of the literature and actual instances of a carrier. The results show that one of the proposed methods is competitive with methods found in the literature, including the software GAMS/CPLEX.

Keywords: manufacturer's pallet loading problem; Lagrangean and/or surrogate relaxation; branch and bound method; subgradient optimization.

1. Introdução

Este trabalho trata de um caso particular dos problemas de corte e empacotamento, denominado problema de carregamento de paletes do produtor (PCP do produtor), o qual é classificado como 2/B/O/C (bidimensional, seleção de itens, único objeto, itens iguais), de acordo com a tipologia de Dyckhoff (1990). Basicamente, este problema 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). Admitimos 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.

Discussões sobre as vantagens da paletização de carga podem ser encontradas, por exemplo, em Sobral (1996), Novamad Pallets (2004) e Interlogis (2004). 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). Ele pode ser aplicado para apoiar decisões tanto num nível mais estratégico (por exemplo, o projeto ou a escolha de paletes mais adequados, o desenvolvimento de embalagens para produtos), quanto num nível mais operacional (por exemplo, a geração de padrões de carregamento para armazenagem e distribuição). Além disso, o PCP do produtor é NP-difícil do ponto de vista de complexidade computacional, o que implica que provavelmente não deve existir um algoritmo polinomial capaz de resolvê-lo (Tarnowski et al., 1994; Nelissen, 1994; Letchford & Amaral, 2001; Martins, 2002).

Poucos autores propuseram métodos exatos para resolver o PCP do produtor, entre eles, Dowsland (1987), Tsai et al. (1993) e Bhattacharya et al. (1998) (este último método nem sempre é válido, conforme mostrado em Martins, 2002). Dowsland (1987) apresentou um algoritmo que consiste em encontrar o máximo conjunto estável de um grafo, representando o carregamento do palete. O algoritmo funciona bem para problemas em que o número de caixas por camada não é grande, por exemplo, menor que 30, o que nem sempre corresponde aos casos práticos. Tsai et al. (1993) formularam o PCP do produtor como um modelo 0-1 com restrições disjuntivas, e sugeriram resolvê-lo por algoritmos do tipo branch and bound explorando a estrutura particular do modelo. Porém, o número destas restrições cresce exponencialmente com o número de caixas disponíveis. Nenhum destes trabalhos apresentou extensivos experimentos computacionais com seus métodos, o que dificulta a comparação com outros métodos.

Devido à dificuldade com os métodos exatos, diversas heurísticas têm sido propostas na literatura para resolver o PCP do produtor. Exemplos podem ser encontrados em Steudel (1979), Smith & De Cani (1980), Bischoff & Dowsland (1982), Dowsland (1993), Nelissen (1994, 1995), Arenales & Morabito (1995), Scheithauer & Terno (1996), Herbert & Dowsland (1996), Scheithauer & Sommerweiss (1998), Morabito & Morales (1998, 1999), Farago & Morabito (2000), G & Kang (2001), Martins (2002), Lins et al. (2003), Pureza & Morabito (2003, 2006), Alvarez-Valdes et al. (2005a) e Birgin et al. (2005). Lins et al. (2003) apresentaram uma abordagem explorando partições na forma de um L, e conjeturaram que ela é exata para o PCP do produtor. A desvantagem desta abordagem é o relativamente grande requisito de tempo computacional, o que foi atenuado no estudo recente em Birgin et al. (2005). Limitantes superiores para o PCP do produtor foram estudados em Nelissen (1995), Letchford & Amaral (2001), Morabito & Farago (2002) e Martins (2002).

Neste trabalho, modelamos o PCP do produtor como um problema inteiro , similarmente a Farago & Morabito (2000). O modelo pode ser visto como um caso particular do modelo proposto em Beasley (1985) para o problema mais geral de corte 2/B/O/M (bidimensional, seleção de itens, único objeto, vários itens diferentes). Apresentamos métodos exatos baseados na aplicação de relaxações Lagrangiana e/ou surrogate e, para otimizar os limitantes superiores, utilizamos procedimentos de otimização do subgradiente. Testes de redução do problema e heurísticas Lagrangiana e surrogate são aplicados na otimização do subgradiente para otimizar os limitantes inferiores (soluções factíveis). Um procedimento enumerativo de busca em árvore é usado para a obtenção da solução ótima do problema. Heurísticas construtivas também são exploradas para melhorar os limitantes inferiores, além do uso de outros limitantes superiores disponíveis na literatura para o PCP do produtor. Os resultados computacionais foram realizados utilizando exemplos da literatura e exemplos reais de uma empresa transportadora.

É importante observar que o trabalho de Beasley (1985) analisa somente o uso de relaxação Lagrangiana combinada com relaxação surrogate (LAGSUR), e não reporta resultados utilizando apenas relaxação Lagrangiana (LAG) ou apenas relaxação surrogate (SUR). Além disso, o trabalho trata do problema de corte mais geral, os limitantes obtidos para tal problema não são apertados e os resultados mostram que a abordagem produz bons resultados apenas para problemas de tamanhos moderados (similarmente para o trabalho de Hadjiconstantinou & Christofides, 1995). O trabalho de Farago & Morabito (2000) aplica LAG e LAGSUR no PCP do produtor e utiliza uma heurística Lagrangiana para encontrar boas soluções factíveis na otimização do subgradiente. No entanto, não incorpora a otimização do subgradiente em uma árvore de busca e por isso o método não tem garantia de otimalidade. O presente trabalho pode ser visto como uma extensão do trabalho de Farago & Morabito (2000). Nossa motivação é avaliar o desempenho de métodos exatos baseados em LAG, SUR e LAGSUR para tratar o PCP do produtor.

O artigo está organizado da seguinte maneira: na seção 2 apresentamos uma formulação do PCP do produtor adaptada de Beasley (1985), e na seção 3 discutimos limitantes superiores e apresentamos as aplicações de LAG, SUR e LAGSUR para o problema. Na seção 4 discutimos técnicas de redução do problema e apresentamos heurísticas Lagrangiana e surrogate para melhorar os limitantes inferiores. Na seção 5 detalhamos o procedimento de busca em árvore do tipo branch and bound. Na seção 6 os desempenhos dos métodos LAG, SUR e LAGSUR são analisados e comparados em diversos experimentos com exemplos da literatura e exemplos reais de uma transportadora. Os resultados mostram que o método LAG é competitivo com outros métodos da literatura, incluindo o software GAMS/CPLEX. Finalmente, a seção 7 apresenta as conclusões e perspectivas para pesquisa futura.

2. Formulação do Problema

O PCP do produtor pode ser modelado como um programa inteiro 0–1 (Farago & Morabito, 2000), o qual é um caso particular do modelo proposto em Beasley (1985) para o problema de corte bidimensional não-guilhotinado. Admitimos que L, W, l e w são números inteiros, e que l > w e l < {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) tal que a utilização da superfície do palete seja a máxima possível.

Sejam P e Q o número mínimo e o máximo de caixas por camada, respectivamente, a serem 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 e 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 de uma caixa dentro do palete. Sem perda de generalidade, podemos restringir os conjuntos X e Y para os conjuntos normais (Christofides & Whitlock, 1977):

Definimos a função a 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 e r Î X, s Î Y, e i=1,2 (Figura 1):


Note que indica que aipqrs=1 coordenada (r,s) fica ocupada, ao se colocar uma caixa com orientação i na coordenada (p,q) do palete. Para todo p Î X tal que p< L–li, q Î Y tal que e 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 problema linear 0 - 1:

sujeito a:

A função objetivo maximiza o número de caixas colocadas sobre o palete. Note que a restrição garante que cada posição (r,s) seja ocupada por no máximo uma caixa e, desta maneira, evita sobreposição no arranjo de caixas (Figura 1). A restrição garante que o número de caixas arranjadas esteja dentro do intervalo [P,Q]. Em geral temos P=0 e Q é um limitante superior para o problema. Em certos casos a restrição pode ser reescrita como:

para todo i, para impor limitantes para o número de caixas arranjadas em cada orientação i. Isto pode ser útil para gerar padrões mais estáveis do ponto de vista da amarração da carga. O problema - 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, dependendo do tamanho dos conjuntos X e Y. Estes conjuntos podem ser ainda mais reduzidos, usando o conceito de raster points (para mais detalhes, veja Scheithauer & Terno, 1996; Morabito & Morales, 1998):

Outras formulações para o PCP do produtor podem ser encontradas em Tsai et al. (1993), Hadjiconstantinou & Christofides (1995) e Martins (2002) (o modelo de Hadjiconstantinou & Christofides (1995) nem sempre é válido, conforme mostrado em Amaral & Letchford, 1999). No presente trabalho, a escolha do modelo (1)-(4) deveu-se às experiências anteriores da literatura com LAGSUR para o problema de corte mais geral (Beasley, 1985) e com LAG e LAGSUR para o PCP do produtor (Farago & Morabito, 2000), e o fato dos limitantes superiores obtidos com as relaxações linear, LAG e LAGSUR deste modelo para o PCP do produtor serem bem apertados (Letchford & Amaral, 2001; Morabito & Farago, 2002).

3. Limitantes Superiores e Relaxações Lagrangiana e Surrogate

Diversos limitantes superiores para o problema (1)-(4) são encontrados na literatura (Nelissen, 1995; Letchford & Amaral, 2001; Morabito & Farago, 2002; Martins, 2002). O mais simples e intuitivo é o limitante da razão da área, definido por ëLW/lwû. Outros limitantes são o de Barnes (1979) e de exemplos equivalentes (usando a noção de partições eficientes), dado por: ëL*W*/lwû, onde L* = max{x|x= rl+sw< L,r,s > 0, inteiro} (similarmente para W*). Limitantes mais apertados para o PCP do produtor são obtidos com a relaxação linear do problema (1)-(4) e as relaxações discutidas abaixo.

3.1 Relaxação Lagrangiana (LAG)

A relaxação Lagrangiana (LAG) tal como é conhecida hoje foi introduzida por Held & Karp (1970, 1971). Para mais detalhes de LAG, os leitores podem consultar, por exemplo, Nemhauser & Wolsey (1988) e Reeves (1993). Introduzindo os multiplicadores de Lagrange lrs (>0) para todo rÎX e todo sÎY da expressão (2), obtemos o seguinte problema Lagrangiano do limitante superior:

sujeito a:

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

Note que ZUB corresponde a um limitante superior para o valor ótimo do problema original (1)-(4), para quaisquer {lrs} não negativos. Dados {lrs}, o problema (5)-(7) pode ser facilmente resolvido por inspeção. 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.

O problema Lagrangiano (5)-(7) possui a propriedade de integralidade, uma vez que, dados {lrs}, 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 (note que todos os coeficientes de (6) são iguais a 1, e P e Q são números inteiros). Isto implica que o melhor limitante superior produzido pelo problema dual Lagrangiano:

para o problema (1)-(4) não é melhor do que o limitante superior obtido pela relaxação linear de (1)-(4). Para resolver o problema dual Lagrangiano é utilizado o método de otimização do subgradiente (Camerini et al., 1975; Crowder, 1976; Beasley, 1985; Farago & Morabito, 2000), resumido a seguir (o algoritmo em pseudo-código está apresentado em Oliveira, 2004):

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 lrs para todo sÎY, e todo rÎX, como valores iniciais para os multiplicadores.

Passo 2:

Resolva o problema Lagrangiano - 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 superior Zmin com ZUB.

Passo 4:

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

Passo 5:

Calcule os subgradientes:

, para todo (r,s) Î(X,Y).

Passo 6:

Defina o tamanho do passo t por:

onde 0 < f < 2, e atualize os multiplicadores de Lagrange por:

lrs= max(0, lrs +tGrs), para todo (r,s) Î (X,Y).

Passo 7:

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

Algumas variações deste algoritmo podem ser encontradas na literatura. Por exemplo, Camerini et al. (1975) sugeriram modificações na atualização do tamanho do passo em cada iteração m(tm). Na primeira iteração o tamanho é dado por um valor fixo (t1 =10-5) e nas demais iterações, (tm) é definido pela expressão a seguir (note que os subgradientes utilizados dependem dos subgradientes das iterações anteriores):

onde:

Em Reeves (1993) é sugerido que uma boa prática para a convergência do procedimento de otimização do subgradiente é ajustar os subgradientes antes do cálculo do tamanho do passo (t) (durante o Passo 5), usando Grs=0 sempre que Grs< lrs=0 e (veja também Lucena, 2004). Ou seja, se a restrição (2) não está violada (isto é, Grs< lrs) na iteração corrente, e não possui multiplicador associado não nulo (isto é, lrs>0), seu gradiente é desconsiderado, fixando-o em zero (Passo 5). Com isso, Grs não contribui no cálculo do tamanho do passo t (Passo 6).

3.2 Relaxação surrogate (SUR)

A relaxação surrogate (SUR) foi introduzida por Glover (1965, 1968). Para mais detalhes de SUR, os leitores podem consultar, por exemplo, Greenberg & Pierskalla (1970), Glover (1975) e Karvan & Rardin (1979). Introduzindo os multiplicadores surrogate µrs>0 para todo rÎX e todo sÎY da expressão (2) e aplicando SUR nesta expressão, obtemos o seguinte problema surrogate (relaxado):

sujeito a:

onde (por conveniência, usamos a mesma notação anterior Vipq). Note que Vipq sempre é não negativo, dado que µrs>0. Dados {µrs}, o modelo (8)-(11) resulta em um problema 0–1 com coeficientes reais fácil de se resolver por inspeção, pois os coeficientes da função objetivo são todos iguais a 1. Seja n o número de variáveis xipq:

&middot Se n>Q, então escolha as Q variáveis com menores valores Vipq, não ultrapassando o valor de , e fixe-as em 1. Se ultrapassar este limite, escolha o maior número possível de variáveis com menores valores Vipq não ultrapassando o limite, e fixe-as em 1.

&middot Se P<n<Q, então escolha as n variáveis com menores valores Vipq, não ultrapassando o valor de , e fixe-as em 1. Se ultrapassar este limite, escolha o maior número possível de variáveis com menores valores Vipq não ultrapassando o limite, e fixe-as em 1.

&middot Se n<P, então escolha as P variáveis com menores valores Vipq, não ultrapassando o valor de , e fixe-as em 1. Se ultrapassar este limite o problema é infactível (isto nunca ocorre se P for definido como um limitante inferior para o problema).

As demais variáveis são fixadas em 0.

Não encontramos um contra-exemplo do PCP do produtor (usando P = 0 e Q como um limitante de Barnes ou de exemplos equivalentes, definidos no início da seção 3), mostrando que o problema surrogate (8)-(11) não satisfaz a propriedade de integralidade. Também não encontramos, ao longo dos experimentos computacionais apresentados na seção 6, um contra-exemplo cujo limitante gerado pela relaxação surrogate fosse melhor do que o limitante gerado pela relaxação Lagrangiana. Isto sugere que o melhor limitante superior produzido pelo problema dual surrogate:

para o problema (1)-(4) não deve ser melhor do que o limitante superior obtido pela relaxação linear de (1)-(4). Para resolver o problema dual surrogate pode ser utilizado o método de otimização do subgradiente, porém, não há garantia teórica de convergência (Galvão et al., 2000). Métodos com garantia de convergência estão discutidos em Banerjee (1971), Dyer (1980) e Sarin et al. (1987), mas, devido às suas complexidades e dificuldades de implementação, estão além do escopo deste trabalho.

O procedimento de otimização do subgradiente para a resolução do problema (8)-(11) é similar ao da seção 3.1, trocando-se o problema Lagrangiano (5)-(7) pelo problema surrogate (8)-(11), com algumas adaptações nos Passos 1 e 6 descritos 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 µrs=1 para todo rÎX e sÎY, como valores iniciais para os multiplicadores.

Passo 6:

Defina o tamanho do passo t por:

onde 0 < f < 2, e atualize os multiplicadores surrogate por:

3.3 Relaxação Lagrangiana surrogate (LAGSUR)

Beasley (1985) utilizou as duas restrições surrogate apresentadas abaixo, obtidas pela soma de todos os comprimentos possíveis rÎX (usando µr=1) da restrição (2), e todas as larguras possíveis sÎY (usando µr=1) da restrição (2):

Substituindo no problema (1)-(4) a restrição (2) pelas restrições surrogate (12) e (13), e introduzindo os multiplicadores de Lagrange gs(>0) para todo s Î Y em (12) e hr(>0) para todo r Î X em (13), obtemos o seguinte problema 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 problema (5)-(7).

sujeito a:

onde (por conveniência, novamente usamos a mesma notação anterior Vipq ). Sejam {Xipq} representando os valores das variáveis {xipq} na solução do problema Lagrangiano (14)-(16), com valor dado por:

Note que ZUB corresponde a um limitante superior para o valor ótimo do problema (1)-(4), para quaisquer {gs} e {hr} não negativos. Este limitante não é melhor do que o limitante produzido pelo problema (5)-(7), uma vez que deriva de um problema Lagrangiano construído a partir de restrições surrogate (com µr=1 e µs=1). Por outro lado, é mais fácil de ser computado, dado que envolve um menor número de multiplicadores de Lagrange. Convém observar que esta LAGSUR é diferente da relaxação Lagrangiana e surrogate utilizada em outros estudos da literatura como, por exemplo, em Lorena & Senne (1996) e Narciso & Lorena (1999).

Assim como no problema (5)-(7), dados {gs} e {hr}, o problema (14)-(16) também pode ser facilmente resolvido por inspeção. O mesmo procedimento anteriormente descrito para resolver o problema (5)-(7) também pode ser aqui aplicado. Para resolver o problema dual Lagrangiano (com relaxação surrogate):

podemos utilizar o método de otimização do subgradiente, o qual é similar ao da seção 3.1, trocando-se o problema Lagrangiano (5)-(7) pelo problema (14)-(16), com pequenas modificações nos Passos 1, 5 e 6, conforme Farago & Morabito (2000):

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:

gs=max(0,gs+tGs), para todo s Î Y,

hr=max(0,hr+tHr), para todo r ÎX.

4. Limitantes Inferiores e Heurísticas Lagrangiana e Surrogate

As soluções dos problemas Lagrangiano e surrogate do limitante superior podem ser utilizadas na obtenção de soluções factíveis (limitantes inferiores) para o problema (1)-(4) por meio de heurísticas Lagrangiana e surrogate. É possível também reduzir o tamanho do problema por meio de técnicas de redução, tentando fixar, sem perda de generalidade, certas variáveis em 0 ou 1. Tanto as heurísticas Lagrangiana e surrogate, quanto às técnicas de redução, podem ser aplicadas no procedimento de otimização do subgradiente.

4.1 Redução do problema

Em Farago & Morabito (2000) foram discutidas técnicas de fixação de variáveis (isto é, xipq= 0 ou xipq= 1) em cada iteração do procedimento de otimização do subgradiente, para reduzir o tamanho do problema. Estas técnicas foram definidas para LAG e LAGSUR, mas podem ser estendidas também para SUR. Naquele trabalho foram realizados testes quanto à inclusão ou não destas técnicas de redução para LAG e LAGSUR. Os autores concluem que é melhor utilizar a redução, dado que o esforço computacional de tentar fixar variáveis ao longo das iterações é compensatório. Desta forma, no presente trabalho estas técnicas de redução foram incluídas no procedimento de otimização do subgradiente para LAG, SUR e LAGSUR. Para detalhes destas técnicas, o leitor pode consultar Farago & Morabito (2000) e Oliveira (2004).

4.2 Heurística Lagrangiana

O desempenho dos testes de redução depende da qualidade do limitante inferior. Dessa forma, utilizamos o procedimento heurístico em Farago & Morabito (2000), que é simples e relativamente eficaz para encontrar uma solução factível (limitante inferior) a partir de uma solução do problema Lagrangiano. Por conveniência, descrevemos a seguir os passos desta heurística Lagrangiana:

Passo 1 :

Coloque todas as variáveis fixadas em 1 pela redução do problema na solução da heurística e retire-as da lista dos {Vipq}. Ordene os {Vipq} restantes de 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 término deste procedimento, podemos estar com uma solução factível melhor que as das iterações anteriores. Neste caso, atualizamos o limitante inferior ZLB do problema (1)-(4). A otimalidade desta solução é testada no decorrer do método de otimização do subgradiente.

Consideramos também um procedimento de melhoria na heurística Lagrangiana apresentada acima. A idéia deste procedimento consiste em modificar a solução atual obtida com o objetivo de se encontrar uma melhor solução. Inicialmente, ordena-se a solução corrente de forma decrescente (ou seja, consideramos primeiramente todas as variáveis fixadas em 1). Em seguida, desconsideramos uma variável da solução ordenada e aplicamos novamente a heurística Lagrangiana, na tentativa de se obter uma solução melhor que a anterior. Este procedimento é repetido para cada variável fixada em 1 na solução corrente. No caso de termos um grande número de variáveis presentes na solução, estipula-se um número máximo de repetições deste procedimento (por exemplo, apenas para as primeiras m variáveis fixadas em 1).

4.3 Heurística surrogate

Utilizamos um simples procedimento heurístico, muito similar ao da seção 4.2, para encontrar uma solução factível (limitante inferior) a partir de uma solução do problema surrogate. A única diferença em relação à heurística Lagrangiana está no Passo 1, descrito abaixo:

Passo 1 :

Coloque todas as variáveis fixadas em 1 pela redução do problema na solução da heurística e retire-as da lista dos {Vipq}. Ordene os {Vipq} restantes de forma crescente e forme uma lista F com as variáveis xipq correspondentes aos Vipq.

Ao término deste procedimento, podemos estar com uma solução factível melhor que as das iterações anteriores. Neste caso, atualizamos o limitante inferior ZLB. A otimalidade desta solução é testada no decorrer do método de otimização do subgradiente. Assim como a heurística Lagrangiana, a heurística surrogate é aplicada em cada iteração do procedimento de otimização do subgradiente.

5. Busca em Árvore

No final do procedimento de otimização do subgradiente, o menor limitante superior (Zmin) e o máximo limitante inferior (ZLB) correspondente a uma solução factível podem não coincidir e, para resolver este problema, aplicamos o método branch and bound (Nemhauser & Wolsey, 1988). O problema é resolvido utilizando uma busca em árvore binária em que, em cada nó da árvore, é computado um limitante superior das relaxações Lagrangiana e/ou surrogate. Em cada nó da árvore é aplicado o procedimento de otimização do subgradiente e, se em qualquer iteração do procedimento, obtivermos Zmin= ZLB, então o problema é resolvido otimamente.

O conjunto inicial de multiplicadores de cada nó é o conjunto associado com o melhor limitante superior encontrado no nó predecessor da árvore. Durante cada iteração do método de otimização do subgradiente, é aplicada a heurística Lagrangiana ou surrogate (seções 4.2 e 4.3) para gerar soluções factíveis para o problema original (1)-(4), a partir da solução obtida para o problema Lagrangiano e/ou surrogate (modelos LAG (5)-(7), SUR (8)-(11) e LAGSUR (14)-(16)). Também é aplicada a técnica de redução do problema mencionada na seção 4.1 para tentar fixar, sem perda de generalidade, alguma variável em 0 ou 1, e, desta maneira, reduzir o tamanho do problema (1)-(4).

Os critérios para sondagem do método branch and bound para os nós da árvore são: otimalidade, infactibilidade e valor de dominância. No caso de encontrarmos uma solução factível Zmin > ZLB com devemos fazer a divisão (branch) do nó e teremos então dois novos subproblemas a serem resolvidos, ou seja, um novo nó à esquerda e outro à direita. Neste caso, selecionamos uma variável e esta será fixada com valor igual a 1 no nó da esquerda e valor igual a 0 no nó da direita. O nó da esquerda é considerado primeiro do que o da direita; assim, ao fazermos a sondagem de um nó, exploramos primeiro o nó da esquerda. Intuitivamente, estamos interessados em colocar o máximo número de caixas em um palete e, portanto, devemos explorar primeiro a possibilidade de se colocar tais variáveis na solução do problema e avaliar se esta solução é viável ou não.

A seguir é apresentado resumidamente o algoritmo do procedimento de busca em árvore implementado neste trabalho (Nemhauser & Wolsey, 1988). Este algoritmo está detalhado em pseudo-código em Oliveira (2004). Sejam:

L lista de problemas inteiros (Pi) que devem ser investigados ou lista de nós abertos; Si

conjunto das soluções factíveis do problema (Pi) pertencente a L;

ZLB

limitante inferior para o valor objetivo de P (solução factível);

ZUB

limitante superior para o valor objetivo de P (relaxação);

Z

Z valor da função objetivo do problema P.

Passo 1:

Inicialização: forme uma lista L={P} (sendo P o problema (1)-(4)) com os problemas ainda não resolvidos, .

Passo 2:

Teste de parada: se L=Æ então a solução xi que assegura ZLB= Z é a solução ótima.

Passo 3 :

Seleção do problema e relaxação: selecione e elimine um problema Pi de L. Resolva a relaxação do problema selecionado (RPi). Seja o valor ótimo da relaxação e seja a solução ótima se existir.

Passo 4 :

Sondagem:

a) se

< ZLB, vá para o Passo 2;

b) se Ï Si, vá para o Passo 5;

c) se Î Si, faça Z= e se Z>ZLB, então faça ZLB = Z , elimine de L todos os problemas com < ZLB e vá para o Passo 2.

Passo 5:

Divisão (branch): Seja {Sij}, j=1,2, a divisão de Si. Assim teremos dois novos subproblemas e devemos selecionar uma variável e esta será fixada com valor igual a 1 no nó da esquerda e valor igual a 0 no nó da direta. Esses novos subproblemas (Pij), j=1,2, são incluídos na lista L onde =. Em seguida, vá para o Passo 2.

5.1 Regras para escolha da variável a ser fixada

No Passo 5 do algoritmo de busca em árvore acima, devemos fazer a divisão dos nós (branching), ou seja, temos dois novos subproblemas e devemos selecionar uma variável para ser fixada com valor igual a 1 no nó da esquerda e valor igual a 0 no nó da direta. As três regras definidas abaixo foram testadas para escolher a variável a ser fixada na divisão dos nós. Nos experimentos realizados (seção 6), estas regras se comportaram melhor do que simplesmente escolher a variável a ser fixada na divisão dos nós de forma aleatória, sem considerar nenhum critério pré-definido, ou simplesmente escolher a variável com maior valor Lagrangiano, ou seja, com maior Vipq para ser fixada em 0 ou em 1.

• Regra 1 (Beasley, 1985)

Em qualquer nó da árvore de busca, seja G={(i,p,q)} Ï F |xipq ¹ 0} (onde F é a lista com as variáveis xipq correspondentes aos Vipq), isto é, G é o conjunto de posições onde ainda é possível colocar uma caixa, pois este conjunto não considera as posições (i,p,q) com xipq=1 ((i,p,q) Ï F)e ainda, as posições (i,p,q) com xipq=0. Então definimos,

R=min (r|(i,r,s) Î G), S=min (s|(i,r,s) Î G) e VjRS = max(ViRS|(i,R,S) Î G) .

A escolha da variável a ser fixada em 0 e em 1 corresponde a colocar a caixa j no palete (L,W) com o seu canto inferior esquerdo em (R,S). Intuitivamente esta escolha corresponde a colocar no palete (L,W) a caixa j com máximo valor Lagrangiano, que então será colocada na posição mais abaixo e mais a esquerda, ou seja, no ponto (R,S) formando um padrão normalizado na busca em árvore. Podemos dizer que a escolha dessas variáveis nos dá padrões de empacotamento em camadas, pois as caixas são colocadas sempre de forma a encontrar os pontos com coordenadas mais abaixo e mais a esquerda e, desta maneira, as caixas são colocadas lado a lado sem espaços entre elas (ou com o mínimo espaço).

Ainda, ao ser considerado que xjRS=1 significa que devemos ter xipq=0 se existe um ponto (r,s) tal que ajRSrs+aipqrs=2. Isto porque, ao fixar a variável xjRS=1, não podemos ter outra caixa no ponto (r,s), pois, neste caso, haverá sobreposição das peças e assim devemos retirar tais variáveis do problema, isto é, considerar tais variáveis como iguais a zero (xipq=0).

• Regra 2 (Reeves, 1993)

No procedimento de busca em árvore baseado no limitante de relaxação Lagrangiana (modelo (5)-(7)), a regra de seleção da variável a ser fixada é a seguinte:

  1. Seja (

    l

    , X)representando os multiplicadores e os valores das variáveis associados com o melhor limitante inferior encontrado no nó que está sendo ramificado;

  2. Considere o vetor de valor

    e escolha a restrição com maior valor absoluto neste vetor;

  3. Selecione a seguir a variável com maior valor Lagrangiano, ou seja, com maior

    Vipq.

• Regra 3 – Estratégia utilizando o conceito de memória de longo prazo de busca tabu

Utilizamos uma estratégia para a escolha da variável que aplica o conceito de memória de longo prazo da meta-heurística busca tabu. Nesta estratégia, consideramos a freqüência com que as variáveis aparecem na solução do problema. A cada determinado número de iterações (por exemplo, 5 ou 10 iterações), escolhe-se uma variável que tenha baixa freqüência (por exemplo, freqüência menor que 0,35, ou seja, se a variável escolhida apareceu em 35% ou menos das soluções nas iterações anteriores) e então esta variável é escolhida para ser fixada na divisão dos nós. A idéia é diversificar a solução do problema, fazendo com que as variáveis que tenham baixa freqüência façam parte da solução. No restante das iterações, utilizamos a regra 1 definida acima.

Alguns autores recomendam aplicar um maior esforço computacional (maior número de iterações na otimização do subgradiente) no nó inicial da árvore. Com isto a heurística Lagrangiana tem maior chance de encontrar boas soluções factíveis, o procedimento de redução tem maior chance de reduzir o tamanho do problema e, ainda, a otimização do subgradiente tem maior chance de encontrar melhores limitantes. Com respeito a inicialização dos multiplicadores de Lagrange e ao número de iterações na otimização do subgradiente, autores têm sugerido (Reeves, 1993): (a) iniciar os multiplicadores de Lagrange em cada nó da árvore com o conjunto associado com o melhor limitante superior encontrado no nó predecessor da árvore; (b) executar 30 iterações do subgradiente, com f (0 < f < 2) sendo dividido a cada 5 (ou 10) iterações nos nós da árvore das ramificações seguintes e, (c) duplicar ambos os parâmetros (para 60 sendo dividido a cada 10 (ou 20)) nos nós da árvore associados com a sondagem.

No presente trabalho, nos métodos LAG, SUR e LAGSUR os multiplicadores de Lagrange e/ou surrogate são iniciados em cada nó da árvore com o conjunto associado com o melhor (máximo) limitante superior encontrado no nó predecessor da árvore, segundo a estratégia apresentada acima. Ainda, na árvore de busca, para o cálculo do limitante superior foram utilizados os limitantes da Razão da Área e o de Barnes. O limitante inferior pode ser iniciado com a solução homogênea com todas as caixas arranjadas na mesma direção, ou ainda com a heurística de Morabito & Morales (1998), que é relativamente simples e efetiva.

6. Resultados Computacionais

Nesta seção são descritos os resultados dos testes computacionais realizados com o objetivo de avaliar o desempenho dos métodos exatos LAG, SUR e LAGSUR. As implementações foram codificadas em linguagem Pascal (compilador Delphi 5), e os testes foram realizados em um Pentium III 650 MHz. Nestes experimentos, admitimos no modelo (1)-(4) que P = 0 e Q é igual ao mínimo entre os limitantes de Barnes e de exemplos equivalentes (seção 3).

6.1 Resultados com Grupos 1 e 2

Inicialmente foram realizados diversos testes computacionais preliminares para se verificar o desempenho de possíveis variações nos procedimentos de otimização do subgradiente e na busca em árvore dos métodos LAG, SUR e LAGSUR. Em relação à otimização do subgradiente consideramos: (i) utilizar ou não o método de redução do problema (seção 4.1), (ii) utilizar ou não as heurísticas Lagrangiana e surrogate (seções 4.2 e 4.3), (iii) utilizar ou não a melhoria da heurística Lagrangiana (seção 4.2), (iv) utilizar ou não modificações na atualização dos multiplicadores baseados na discussão da seção 3.1 (v) utilizar ou não modificações propostas por Camerini et al. (1975) para cálculo do tamanho do passo t (seção 3.1), e (vi) qual variação escolher para iniciar e reduzir o valor do parâmetro f do tamanho do passo t (seção 3.1).

Com respeito a este último item, investigamos iniciar este parâmetro com f=2 ou f=1, sendo reduzido após um determinado número de iterações. Sete variações foram exploradas para reduzir o valor de f ao longo das iterações: (i) dividir f a cada 60 iterações, (ii) dividir f a cada 30 iterações, (iii) dividir f a cada 15 iterações, (iv) dividir f a cada 60 iterações se Zmin não diminuir nas últimas 60 iterações, (v) dividir f a cada 30 iterações se Zmin não diminuir nas últimas 30 iterações, e (vi) dividir f a cada 15 iterações se Zmin não diminuir nas últimas 15 iterações, (vii) dividir f a cada |X||Y| iterações se Zmin não diminuir nas últimas iterações até , então dividir f a cada 30 iterações se Zmin não diminuir nas últimas 30 iterações (conforme Farago & Morabito, 2000).

Em relação ao procedimento de busca em árvore consideramos: (i) qual regra escolher para a seleção da variável a ser fixada na divisão dos nós (seção 5.1), (ii) executar ou não um número maior de iterações no nó inicial da árvore (seção 5), (iii) utilizar ou não valores de multiplicadores associados com o melhor limitante superior obtido no nó predecessor da árvore (seção 5), (iv) utilizar ou não os conjuntos de raster points ao invés dos conjuntos normais (seção 2), e (v) utilizar ou não a heurística construtiva de Morabito & Morales (1998) para gerar bons limitantes inferiores iniciais (seção 5).

Para viabilizar a realização destes diversos testes preliminares, optamos por utilizar apenas dois grupos de exemplos com características diferentes. No primeiro grupo (subdivido nos Grupos 1A e 1B conforme Tabelas 1 e 2), escolhemos aleatoriamente 20 exemplos do conjunto Cover I da literatura (Nelissen, 1993, 1994; Scheithauer & Terno, 1996), que contém exemplos do PCP do produtor com solução ótima conhecida (composta de até 50 caixas). O Grupo 1A contém 10 exemplos (L1-L10) que não tem gap entre o valor da solução ótima e o valor da solução da relaxação linear de -, enquanto o Grupo 1B contém 10 exemplos (L11-L20) que tem gap e, portanto, são mais desfavoráveis para os métodos aqui propostos. Nas tabelas abaixo, as colunas 2|X||Y| e 2|X'||Y'| representam o número (aproximado) de variáveis 0–1 envolvidas no modelo (1)-(4) usando os conjuntos normais X e Y e os conjuntos de raster points X' e Y', respectivamente.

O segundo grupo de exemplos foi subdividido nos Grupos 2A e 2B conforme Tabelas 3 e 4. No Grupo 2A consideramos 9 exemplos (L21-L29) analisados em diversos artigos, como Dowsland (1993), Nelissen (1994), Scheithauer & Terno (1996), Morabito & Morales (1998), Farago & Morabito (2000) e Pureza & Morabito (2006). Assim como o Grupo 1A, tais exemplos não tem gap entre o valor da solução ótima e o valor da relaxação linear de (1)-(4). Os 10 exemplos do Grupo 2B (L30-L39) foram analisados em Letchford & Amaral (2001) e, assim como o Grupo 1B, tem gap e, portanto são mais desfavoráveis para os métodos aqui propostos. Todos os exemplos dos Grupos 1A, 1B, 2A e 2B têm solução ótima não-guilhotinada de primeira ordem (esta classificação foi definida em Arenales & Morabito (1995) e refere-se a padrões não-guilhotinados mais simples).

Em relação à otimização do subgradiente, os resultados destes testes com os exemplos dos Grupos 1 e 2 apontaram para: (i) utilizar o método de redução do problema, (ii) utilizar as heurísticas Lagrangiana e surrogate, (iii) não utilizar a melhoria da heurística Lagrangiana, (iv) não utilizar as modificações na atualização dos multiplicadores (seção 3.1), (v) não utilizar as modificações propostas por Camerini et al. (1975) para cálculo do tamanho do passo t, e (vi) iniciar o parâmetro com f = 1 e dividi-lo a cada 30 iterações.

Em relação ao procedimento de busca em árvore, os resultados dos testes apontaram para: (i) utilizar a regra 1 para a seleção da variável a ser fixada na divisão dos nós, (ii) não executar um número maior de iterações no nó inicial da árvore, (iii) utilizar os valores de multiplicadores associados com o melhor limitante superior obtido no nó predecessor da árvore, (iv) utilizar os conjuntos de raster points ao invés dos conjuntos normais, e (v) utilizar a heurística construtiva de Morabito & Morales (1998) para gerar bons limitantes inferiores iniciais.

Por motivo de espaço, a seguir apresentamos apenas alguns resultados destes testes. Os demais resultados encontram-se detalhados em Oliveira (2004). Convém salientar que em todos estes testes o método LAG em média superou os métodos SUR e LAGSUR. Por exemplo, a Tabela 5 compara os resultados obtidos com os métodos LAG, SUR e LAGSUR para os exemplos L1-L10 do Grupo 1A, iniciando com parâmetro f = 2 e dividindo-o a cada 60 iterações, utilizando os conjuntos normais e não utilizando a heurística de Morabito & Morales (1998). A tabela apresenta as médias do limitante superior (Zmin) e do limitante inferior (ZLB) no nó inicial da árvore para cada um dos métodos. Ainda são apresentados os valores médios da solução ótima (Z*), da solução obtida em um tempo computacional limitado em 3 horas de processamento, do número de nós envolvidos na busca em árvore, e do tempo total (em minutos) gasto para se resolver o conjunto de exemplos (computado apenas para os exemplos resolvidos em menos de 3 horas).

Podemos observar na Tabela 5 que entre os três métodos, o que apresentou melhores resultados quanto ao valor da solução ótima e ao tempo computacional foi o método LAG (lembre-se que os tempos correspondem à média apenas dos exemplos resolvidos em menos de 3 horas). O método LAG conseguiu resolver todos os exemplos do Grupo 1A (indicado na tabela com um asterisco), diferente dos métodos SUR e LAGSUR. Outros experimentos foram realizados com os outros grupos, variando-se os parâmetros da otimização do subgradiente e da busca em árvore, e o método LAG continuou apresentando desempenho superior aos métodos SUR e LAGSUR. Uma vantagem do método LAG sobre o método LAGSUR é o maior número de multiplicadores (|X||Y| ao invés de |X|+|Y|), o que implica em mais informações sobre as restrições do problema ao longo das iterações da otimização do subgradiente. Com relação ao método SUR, aparentemente ele não produz limitantes (do dual surrogate) melhores do que os limitantes do método LAG (do dual Lagrangiano). Além disso, a otimização do subgradiente para SUR não tem garantia de convergência, conforme discussão na seção 3.2.

A seguir apresentamos alguns resultados obtidos para os Grupos 1 e 2 comparando algumas das variações descritas acima para a otimização do subgradiente e a busca em árvore do método LAG. Outros resultados estão apresentados em Oliveira (2004). As tabelas apresentam a solução obtida num tempo computacional máximo de 3 horas, iniciando com parâmetro f = 1 e dividindo-o a cada 30 iterações. Por ilustração, as Tabelas 6 a 8 comparam o impacto de: (i) utilizar conjuntos normais ou conjuntos de raster points, e (ii) utilizar ou não a heurística construtiva de Morabito & Morales (1998) para gerar bons limitantes inferiores iniciais. A Tabela 7 mostra que, utilizando os conjuntos de raster points, o método LAG foi capaz de resolver todos os exemplos em tempos computacionais menores do que os apresentados na Tabela 6, especialmente para os Grupos 2A e 2B. Note também que o número de nós envolvidos na busca em árvore foi em média um pouco menor considerando os raster points. A Tabela 8 mostra que, utilizando a heurística de Morabito & Morales (1998), os tempos computacionais foram reduzidos nos problemas que não apresentam gap entre a solução ótima e a solução de relaxação linear (Grupos 1A e 2A). Já para os Grupos 1B e 2B, os tempos computacionais foram aproximadamente mantidos, em relação aos mostrados na Tabela 7.

6.2 Resultados com Grupos 3 e 4

Também consideramos outros grupos de exemplos além dos Grupos 1 e 2. O terceiro grupo de exemplos foi subdividido nos Grupos 3A e 3B conforme Tabelas 9 e 10. Os 16 exemplos do Grupo 3A (L40-L55) foram escolhidos aleatoriamente do conjunto Cover II da literatura (Nelissen, 1993, 1994; Scheithauer & Terno, 1996), que contém exemplos do PCP do produtor com solução ótima conhecida (composta de 51 a 100 caixas). Todos os exemplos do Grupo 3A têm solução ótima não-guilhotinada de primeira ordem. Os 16 exemplos do Grupo 3B (L56-L71) são exemplos do Cover II difíceis de se resolver com as heurísticas de literatura (Morabito & Morales, 1998; Lins et al., 2003), pois nenhum deles tem solução ótima não-guilhotinada de primeira ordem. O quarto grupo de exemplos (Grupo 4) refere-se a 30 exemplos reais (R1-R30 na Tabela 11) de uma transportadora em Campinas, SP. Estes exemplos utilizam o palete Brasil (PBR: 120x100 cm), adotado na maioria das empresas brasileiras. Note nas tabelas que o número médio de variáveis 0–1 dos Grupos 3A e 3B é bem maior, se comparado aos demais grupos, enquanto que o número médio de variáveis 0–1 no Grupo 4 é bem menor.

A Tabela 12 apresenta os resultados do método LAG obtidos para os exemplos dos Grupos 3A e 3B, usando as melhores variações para a otimização do subgradiente e a busca em árvore descritas na seção 6.1. Observe na tabela que o método não encontrou a solução ótima de todos os exemplos do Grupo 3B dentro do limite de tempo de 3 horas. Nos exemplos L68, L69 e L70, a melhor solução obtida pelo método LAG empacota uma caixa a menos do que a solução ótima.

Lins et al. (2003) também realizaram testes computacionais com o Grupo 3B, e os resultados apresentados mostraram que o método proposto pelos autores (com conjetura de ser exato) resolve a maioria dos exemplos em menos de 1 hora de tempo computacional. Em outros exemplos, como os L67, L68 e L71, o tempo computacional foi bem maior, em torno de 8 horas. Convém observar, no entanto, que o método de Lins et al. (2003), ao resolver cada problema, também resolve muitos subproblemas deste problema, dado que utiliza programação dinâmica. O tempo médio dos 13 exemplos resolvidos em Lins et al. (2003) foi de 60,50 minutos, ou seja, maior que o tempo médio dos 13 exemplos resolvidos pelo método LAG (22,76 minutos, conforme a Tabela 12). O microcomputador utilizado foi um Pentium III 700 MHz, ou seja, comparável ao microcomputador utilizado no presente trabalho (Pentium III 650 MHz). Recentemente Birgin et al. (2005) realizaram experimentos adicionais com a abordagem em Lins et al. (2003), explorando estruturas de dados diferentes daquelas utilizadas em Lins et al. (2003), mostrando que os tempos computacionais da abordagem podem ser bem reduzidos. No entanto, os requisitos de memória computacional são bem maiores do que os anteriores. Uma comparação mais efetiva entre os dois métodos está além do escopo deste trabalho.

A Tabela 13 compara as soluções do método LAG com as soluções utilizadas pela transportadora, para os 30 exemplos reais do Grupo 4. Note que o método LAG foi capaz de resolver otimamente todos os exemplos em um tempo médio relativamente pequeno (0,10 minutos), o que sugere que ele pode ser uma boa alternativa para resolver exemplos reais. Observamos ainda que em 16 exemplos, a solução da transportadora não é ótima. Podemos dizer que, em média, o método LAG é capaz de melhorar em 0,97 caixas (por camada do palete) a solução da transportadora. Observe nos exemplos R9 e R28 que a solução do método coloca 4 caixas a mais que a solução da transportadora.

6.3 Comparação com GAMS/CPLEX e resultados com Cover I e II

Implementamos o modelo (1)-(4) na linguagem de modelagem GAMS (Brooke et al., 1992) e resolvemos todos os exemplos dos Grupos 1-4 pelo software CPLEX (versão 7 – que utiliza um método branch and cut). A Tabela 14 compara as soluções obtidas pelo GAMS/CPLEX e pelo método LAG. Note que, assim como o método LAG, o pacote GAMS/CPLEX foi capaz de resolver todos os exemplos em um tempo computacional máximo de 3 horas, exceto para o Grupo 3B. Nos Grupos 1 e 2, o método LAG é mais rápido do que o GAMS/CPLEX, principalmente nos Grupos 1A e 2A (que correspondem a exemplos sem gap). No Grupo 3, ele é mais rápido no Grupo 3A (1,34 minutos contra 9,23 minutos), mas mais lento no Grupo 3B (22,76 minutos contra 17,55 minutos). E no Grupo 4, ele é bem mais rápido (0,10 minutos contra 18,52 minutos). Assim, o método LAG parece ser uma boa alternativa para resolver exemplos reais.

Finalmente, realizamos experimentos limitados com os 3179 exemplos do conjunto Cover I com L,W < 1000, com padrões ótimos de até 50 caixas. Dentre esses exemplos, 116 tem gap. O número médio de elementos dos conjuntos normais e raster points são |X|=25,9, |Y|=14,2, |X'|=19,8 e |Y'|=11,0. O número médio de variáveis 0–1 envolvidas no modelo (1)-(4) é 2|X||Y|=735,56 e 2|X'||Y'|=435,60, respectivamente. Estes exemplos são de interesse nas aplicações práticas do PCP do produtor. Também realizamos experimentos limitados com os 16938 exemplos do conjunto Cover II com L,W < 1000, com padrões ótimos de 51 a 100 caixas. O número médio de elementos dos conjuntos normais e raster points são |X|=54,6, |Y|=29,7, |X'|=38,4, e |Y'|=20,8. O número médio de variáveis 0–1 envolvidas no modelo (1)-(4) é 2|X||Y|=3243,24 e 2|X'||Y'|=1597,44, respectivamente.

A Tabela 15 apresenta resumidamente os resultados obtidos com o método LAG para os conjuntos Cover I e II. Os tempos médios foram computados apenas para os exemplos resolvidos dentro do limite de tempo de 3 horas. Note que o método resolveu todos os exemplos de Cover I em menos de 3 horas (indicado na tabela com um asterisco), mas não foi capaz de resolver todos os exemplos de Cover II (82 dos 16938 exemplos não foram resolvidos; em todos eles o padrão obtido tem uma caixa a menos do que o padrão ótimo). Os tempos médios são bem aceitáveis para apoiar os tipos de decisões envolvidas nas situações práticas, tipicamente com problemas envolvendo menos de 50 caixas no carregamento (Cover I).

7. Conclusões

Neste trabalho estudamos métodos exatos baseados nas relaxações Lagrangiana (LAG), surrogate (SUR) e Lagrangiana com restrições surrogate (LAGSUR) para tratar o PCP do produtor. Diversos experimentos computacionais foram realizados e o desempenho do método LAG foi em média sempre superior aos dos métodos SUR e LAGSUR. Com relação ao método SUR, aparentemente ele não produz limitantes (do dual surrogate) melhores do que os limitantes do método LAG (do dual Lagrangiano). Além disso, a otimização do subgradiente do método SUR não tem garantia de convergência, conforme discussão na seção 3.2.

Nos diversos experimentos, o método LAG resolveu a maioria dos exemplos em um tempo computacional aceitável, levando-se em conta as decisões envolvidas na prática. Comparado com o software GAMS/CPLEX (que utiliza um método branch and cut), o método LAG foi em média mais rápido na maioria dos experimentos, principalmente nos exemplos reais de uma transportadora, o que sugere que ele seja eficiente para aplicações práticas. Apesar do desempenho do método LAG ser competitivo com outros métodos, capaz de gerar soluções ótimas e provar suas otimalidades em tempos computacionais relativamente pequenos (considerando as decisões envolvidas no PCP do produtor), nossa expectativa inicial era de que ele teria desempenho computacional melhor do que o obtido ao longo dos experimentos, devido aos resultados obtidos em Morabito & Farago (2000).

Uma das perspectivas para pesquisas futuras é tentar reduzir os tempos computacionais dos métodos LAG, SUR e LAGSUR. Em particular pretende-se considerar as idéias apresentadas no trabalho de Alvarez-Valdes et al. (2005b) para reduzir o problema, considerando a redução de variáveis e restrições nos modelos com os conjuntos de raster points e considerações de dominância de posições nestes conjuntos. Pesquisas futuras podem ainda ser realizadas para melhorar o desempenho dos métodos LAG, SUR e LAGSUR, em particular, desenvolvendo heurísticas Lagrangianas e surrogates mais poderosas, com o objetivo de obter limitantes de melhor qualidade. Também, pode-se estudar a aplicação de técnicas de relax and cut (Lucena, 2004) no PCP do produtor, incorporando algoritmos de planos de corte aos métodos Lagrangianos.

Outra perspectiva importante para pesquisa futura é aplicar as técnicas de relaxação Lagrangiana e/ou surrogate em outros modelos 0–1 como, por exemplo, nos modelos de Tsai et al. (1993), Amaral & Letchford (1999) e Martins (2002) comparando, dessa forma, o desempenho de métodos LAG, SUR e LAGSUR com os diferentes modelos para o PCP do produtor. Uma outra contribuição seria desenvolver um procedimento para a busca dos multiplicadores do dual surrogate utilizando uma sucessão de buscas no dual Lagrangiano, como apresentado no trabalho de Sarin et al. (1987). Finalmente, seria importante mostrar se a relaxação surrogate produz ou não melhores limitantes do que a relaxação Lagrangiana 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 do CNPq (processos 141337/2000-1 e 522973/95-7) e FAPESP (processo 9522-0).

Recebido em 07/2005; aceito em 03/2006

Received July 2005; accepted March 2006

  • (1) Alvarez-Valdes, R.; Parreño, F. & Tamarit, J.M. (2005a). A Tabu Search Algorithm for the Pallet Loading Problem. OR Spectrum, 27(1), 43-61.
  • (2) Alvarez-Valdes, R.; Parreño, F. & Tamarit, J.M. (2005b). A Branch-and-Cut Algorithm for the Pallet Loading Problem. Computers & Operations Research, 32(11), 3007-3029.
  • (3) Amaral, A. & Letchford, A. (1999). An Exact Algorithm for General, Orthogonal, Two-dimensional Knapsack Problems. Working paper, Department of Management Science, Lancaster University.
  • (4) Arenales, M. & Morabito, R. (1995). An AND/OR-Graph to the Solution of Two-Dimensional Non-guilhotine Cutting Problems. European Journal of Operational Research, 84, 599-617.
  • (5) Banerjee, K. (1971). Generalized Lagrange Multipliers in Dynamic Programming. Research Report No. OCR 71-12, Operations Research Center, University of California, Berkeley, California.
  • (6) Barnes, F.W. (1979). Packing the Maximum Number of mxn Tiles in a Large pxq Rectangle. Discrete Mathematics, 26, 93-100.
  • (7) Beasley, J. (1985). An Exact Two-Dimensional Non Guillotine Cutting Tree Search Procedure. Operations Research, 33, 49-64.
  • (8) 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.
  • (9) Birgin, E.G.; Morabito, R. & Nishihara, F.H. (2005). A Note on a L-Approach for Solving the Manufacturer's Pallet Loading Problem. Journal of the Operational Research Society, 56, 1448-1451.
  • (10) Bischoff, E. & Dowsland, W. (1982). An Application of the Micro to Product Design and Distribution. Journal of the Operational Research Society, 33, 271-280.
  • (11) Brooke, A.; Kendrick, D.; Meeraus, A. & Raman, R. (1998). GAMS: A User's Guide GAMS Development Corporation, Washington.
  • (12) Camerini, P.M.; Fratta, L. & Maffioli, F. (1975). On Improving Relaxation Methods by Gradient Techniques. Mathematical Programming Study, 3, 26-34.
  • (13) Christofides, N. & Whitlock, C. (1977). An Algorithm for Two-Dimensional Cutting Problems. Operations Research, 25, 30-45.
  • (14) Crowder, H. (1976). Computational Improvements for Subgradient Optimization. Symposio Matematica, Rome, 17, 357-372.
  • (15) Dowsland, K. (1987). An Exact Algorithm for the Pallet Loading Problem. European Journal of Operational Research, 31, 78-84.
  • (16) Dowsland, K. (1993). Some Experiments With Simulated Annealing Techniques for Packing Problems. European Journal of Operational Research, 68, 389-399.
  • (17) Dyckhoff, H. (1990). A Typology of Cutting and Packing Problems. European Journal of Operational Research, 44, 145-159.
  • (18) Dyer, M.E. (1980). Calculating Surrogate Constraints. Mathematical Programming, 19, 255-278.
  • (19) Farago, R. & Morabito, R. (2000). Um Método Heurístico Baseado em Relaxação Lagrangiana para o Problema de Carregamento de Paletes do Produtor. Pesquisa Operacional, 2(20), 197-212.
  • (20) G, Y. & Kang, M. (2001). A Fast Algorithm for Two-dimensional Pallet Loading Problems of Large Size. European Journal of Operational Research, 134, 193-200.
  • (21) Galvão, R.D.; Espejo, L.G.A. & Boffey, B. (2000). A Comparison of Lagrangean and Surrogate Relaxations for the Maximal Covering Location Problem. European Journal of Operational Research, 124, 377-389.
  • (22) Glover, F. (1965). A Multiphase Dual Algorithm for the Zero-One Integer Programming Problem. Operations Research, 13, 879-919.
  • (23) Glover, F. (1968). Surrogate Constraints. Operations Research, 16(4), 741-749.
  • (24) Glover, F. (1975). Surrogate Constraints Duality in Mathematical Programming. Operations Research, 23, 434-451.
  • (25) Greenberg, H.J. & Pierskalla, W.P. (1970). Surrogate Mathematical Programming. Operations Research, 18, 924-939.
  • (26) Hadjiconstantinou, E. & Christofides, N. (1995). An Exact Algorithm for General, Orthogonal, Two-Dimensional Knapsach Problems. European Journal of Operational Research, 83, 39-56.
  • (27) Held, M. & Karp, R.M. (1970). The Traveling Salesman Problem and Minimum Spanning Trees. Operations Research, 18, 1138-1162.
  • (28) Held, M. & Karp, R.M. (1971). The Traveling Salesman Problem and Minimum Spanning Trees: Part II. Mathematical Programming, 1, 6-25.
  • (29) Herbert, A. & Dowsland, K. (1996). A Family of Genetic Algorithms for the Pallet Loading Problem. Annals of Operations Research, 63, 415-436.
  • (30) Interlogis (2004). Disponível em: <www.interlogis.com.br/artigos>. Acesso em: 02/08/2004.
  • (31) Karvan, M.H. & Rardin, R.L. (1979). Some Relationship between Lagrangian and Surrogate Duality in Integer Programming. Mathematical Programming, 17, 320-334.
  • (32) Letchford, A.N. & Amaral, A. (2001). Analysis of Upper Bounds for the Pallet Loading Problem. European Journal of Operational Research, 132(3), 582-593.
  • (33) Lins, L.; Lins, S. & Morabito, R. (2003). An L-Approach for Packing (l,w)-Rectangles into Rectangular and L-Shaped Pieces. Journal of the Operational Research Society, 54, 777-789.
  • (34) Lorena, L.A.N. & Senne, E.L.F. (1996). A Lagrangean/Surrogate Heuristic for Uncapacitaded Facility Location Problems. In: Anais dos resumos estendidos VIII CLAIO e XXVIII SBPO, Rio de Janeiro, 854-859.
  • (35) Lucena, A. (2004). Relax and Cut Algorithms. Submetido para publicação.
  • (36) Martins, G.H.A. (2002). Packing in Two and Three Dimensions. Tese de Doutorado, Naval Postgraduate School, Monterey, California.
  • (37) 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.
  • (38) Morabito, R. & Morales, S.R. (1999). Errata: A Simple and Effective Recursive Procedure for the Manufacturer's Pallet Loading Problem. Journal of the Operational Research Society, 50, 876.
  • (39) Morabito, R.; Morales, S.R. & Widmer, J.A. (2000). Loading Optimization of Palletized Products on Trucks. Transportation Research, 36, 285-296.
  • (40) Morabito, R. & Farago, R. (2002). A Tight Lagrangean Relaxation Bound for the Manufacturer's Pallet Loading Problem. Studia Informatica Universalis, 2(1), 57-76.
  • (41) Narciso, M.G. & Lorena, L.A.N. (1999). Lagrangean/surrogate Relaxation for Generalized Assignment Problems. European Journal of Operational Research, 114(1), 165-177.
  • (42) Nelissen, J. (1993). New Approaches to the Pallet Loading Problem. Working paper, RWTH Aachen. <ftp://ftp.informatik.rwth-aachen.de/pub/reports/pallet.ps.Z>.
  • (43) Nelissen, J. (1994). Solving the Pallet Loading Problem More Efficiently. Working Paper, Graduiertenkolleg Informatik und Technik, Aachen.
  • (44) Nelissen, J. (1995). How to Use Constraints to Compute an Upper Bound for the Pallet Loading Problem. European Journal of Operational Research, 84, 662-680.
  • (45) Nemhauser, G.L. & Wolsey, L.A. (1988). Integer and Combinatorial Optimization John Wiley & Sons, Inc.
  • (46) Novamad Pallets (2004). Disponível em: <www.lpnet.com.br/novamad/palletscom.htm>. Acesso em: 02/08/2004.
  • (47) Oliveira, L.K. (2004). Métodos Exatos Baseados em Relaxação Lagrangiana e Surrogate para o Problema de Carregamento de Paletes do Produtor. Tese de Doutorado, Departamento de Engenharia de Produção, Universidade Federal de São Carlos.
  • (48) Pureza, V. & Morabito, R. (2003). Uma Heurística de Busca Tabu Simples para o Problema de Carregamento de Paletes do Produtor. Pesquisa Operacional, 23(2), 259-378.
  • (49) Pureza, V. & Morabito R. (2006). Some Experiments with a Simple Tabu Search Algorithm for the Manufacturer's Pallet Loading Problem. Computers & Operations Research, 33, 804-819.
  • (50) Reeves, C.R. (1993). Modern Heuristic Techniques for Combinatorial Problem. Department of Statistics and Operational Research, School of Mathematical and Information Sciences, Coventry University.
  • (51) Sarin, S.; Karvan, M.H. & Rardin, R.L. (1987). A New Surrogate Dual Multiplier Search Procedure. Naval Research Procedure, 34, 431-450.
  • (52) Scheithauer, G. & Terno, J. (1996). The G4-Heuristic for the Pallet Loading Problem. Journal of the Operational Research Society, 47, 511-522.
  • (53) Scheithauer, G. & Sommerweiss, G. (1998). 4-block Heuristic for the Rectangle Packing Problem. European Journal of Operational Research, 108(3), 509-526.
  • (54) Smith, A. & De Cani, P. (1980). An Algorithm to Optimize the Layout of Boxes in Pallets. Journal of the Operational Research Society, 31, 573-578.
  • (55) Sobral, F.H.A. (1996). Técnicas de Unitização de Cargas em Paletes Associação Brasileira de Logística (ASLOG) Comitê de Unitização de Cargas.
  • (56) Steudel, H. (1979). Generating Pallet Loading Patterns: a Special Case of the Two-Dimensional Cutting Stock Problem. Management Science, 10, 997-1004.
  • (57) Tarnowski, A.G.; Terno, J. & Scheithauer, G. (1994). A Polynomial Time Algorithm for the Guillotine Pallet Loading Problem. Information Systems and Operational Research, 32, 275-287.
  • (58) Tsai, R.D.; Malstrom, E.M. & Kuo, W. (1993). Three Dimensional Palletization of Mixed Box Sizes. IIE Transactions, 25(4), 64-75.
  • *
    Corresponding author / autor para quem as correspondências devem ser encaminhadas
  • Datas de Publicação

    • Publicação nesta coleção
      26 Set 2006
    • Data do Fascículo
      Ago 2006

    Histórico

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