Acessibilidade / Reportar erro

Abordagens para problemas de carregamento de contêineres com considerações de múltiplos destinos

Approaches for container loading problems with multi-drop considerations

Resumos

Neste trabalho, apresentamos um modelo de programação linear inteira mista 0-1 e abordagens baseadas neste modelo para tratar problemas de carregamento de caixas retangulares dentro de um contêiner ou caminhão, considerando restrições práticas de múltiplos destinos. Em particular, estamos interessados apenas no arranjo da carga dentro do caminhão, assumindo que o roteiro que este deve percorrer já é conhecido a priori e que a carga cabe dentro dele. O objetivo, portanto, é determinar o melhor padrão de empacotamento, garantindo que as caixas não se sobreponham umas às outras dentro do caminhão e considerando a ordem em que elas devem ser descarregadas, sem que para isso seja necessário um manuseio adicional. Testes computacionais com as abordagens propostas foram realizados utilizando o aplicativo GAMS/CPLEX e exemplos gerados a partir de dados aleatórios e exemplos da literatura. Os resultados mostraram que o modelo e as abordagens são coerentes e representam adequadamente as situações tratadas, embora estejam limitados a resolver otimamente apenas problemas de tamanho bem moderado. No entanto, o modelo e as abordagens podem ser úteis para motivar pesquisas futuras para tratar problemas maiores e mais realistas na prática, assim como para tratar o caso combinado deste problema com o problema de roteamento e programação de veículos.

Problemas de corte e empacotamento; Carregamento de contêineres com múltiplos destinos; Otimização combinatória; Modelagem matemática


In this paper, we present a 0-1 mixed integer linear programming model and approaches based on this model to solve problems of packing rectangular boxes inside a container or a truck. In particular, we are only interested in the arrangement of the cargo inside the truck. We assume that the route of the truck is already known in advance and that the cargo fits inside the truck. Therefore, the objective is to find the best loading pattern ensuring that the boxes do not overlap each other inside the truck and considering the sequence that they must be unloaded in order to avoid additional handling. Computational tests with the proposed approaches were performed using the software GAMS/CPLEX with randomly generated instances and instances from the literature. The results show that the model and the approaches are consistent and properly represent the situations treated although limited to optimally solve only problems of a moderate size. However, the model and the approaches can be useful to motivate future research to solve larger and more realistic problems in practice, as well as to solve the coupled vehicle routing and container loading problem.

Cutting and packing problems; Container loading with multi-dropping; Combinatorial optimization; Mathematical modeling


Leonardo Junqueira; Reinaldo Morabito; Denise Sato Yamashita

Departamento de Engenharia de Produção, Universidade Federal de São Carlos - UFSCar, Rod. Washington Luis, Km 235, CEP 13565-905, Monjolinho, São Carlos - SP, E-mails: leo_junqueira@yahoo.com; morabito@ufscar.br; denisesy@dep.ufscar.br

RESUMO

Neste trabalho, apresentamos um modelo de programação linear inteira mista 0-1 e abordagens baseadas neste modelo para tratar problemas de carregamento de caixas retangulares dentro de um contêiner ou caminhão, considerando restrições práticas de múltiplos destinos. Em particular, estamos interessados apenas no arranjo da carga dentro do caminhão, assumindo que o roteiro que este deve percorrer já é conhecido a priori e que a carga cabe dentro dele. O objetivo, portanto, é determinar o melhor padrão de empacotamento, garantindo que as caixas não se sobreponham umas às outras dentro do caminhão e considerando a ordem em que elas devem ser descarregadas, sem que para isso seja necessário um manuseio adicional. Testes computacionais com as abordagens propostas foram realizados utilizando o aplicativo GAMS/CPLEX e exemplos gerados a partir de dados aleatórios e exemplos da literatura. Os resultados mostraram que o modelo e as abordagens são coerentes e representam adequadamente as situações tratadas, embora estejam limitados a resolver otimamente apenas problemas de tamanho bem moderado. No entanto, o modelo e as abordagens podem ser úteis para motivar pesquisas futuras para tratar problemas maiores e mais realistas na prática, assim como para tratar o caso combinado deste problema com o problema de roteamento e programação de veículos.

Palavras-chave: Problemas de corte e empacotamento. Carregamento de contêineres com múltiplos destinos. Otimização combinatória. Modelagem matemática.

ABSTRACT

In this paper, we present a 0-1 mixed integer linear programming model and approaches based on this model to solve problems of packing rectangular boxes inside a container or a truck. In particular, we are only interested in the arrangement of the cargo inside the truck. We assume that the route of the truck is already known in advance and that the cargo fits inside the truck. Therefore, the objective is to find the best loading pattern ensuring that the boxes do not overlap each other inside the truck and considering the sequence that they must be unloaded in order to avoid additional handling. Computational tests with the proposed approaches were performed using the software GAMS/CPLEX with randomly generated instances and instances from the literature. The results show that the model and the approaches are consistent and properly represent the situations treated although limited to optimally solve only problems of a moderate size. However, the model and the approaches can be useful to motivate future research to solve larger and more realistic problems in practice, as well as to solve the coupled vehicle routing and container loading problem.

Keywords: Cutting and packing problems. Container loading with multi-dropping. Combinatorial optimization. Mathematical modeling.

1 Introdução

Os problemas de carregamento de contêineres devem satisfazer basicamente duas considerações: i) as caixas devem ser empacotadas completamente dentro do contêiner; e ii) as caixas empacotadas não devem se sobrepor, isto é, não devem ocupar um mesmo lugar dentro do contêiner. Os primeiros trabalhos a tratar problemas de carregamento de contêineres tinham como meta contemplar estas duas considerações (GEORGE; ROBINSON, 1980; HAN; KNOTT; EGBELU, 1989; BISCHOFF; MARRIOTT, 1990; HAESSLER; TALBOT, 1990; DOWSLAND, 1991). Outros estudos são encontrados em Morabito e Arenales (1994, 1997), Lins, Lins e Marabito (2002), Miyazawa e Wakabayashi (1999), Silva e Soma (2003), Cecilio e Morabito (2004) e Araujo e Armentano (2007). No entanto, com o avanço das pesquisas, outras considerações (exigências) práticas também passaram a ter um apelo maior ao tratar estes problemas.

Bischoff, Ratcliff (1995) apresentam doze exigências práticas que podem ser levadas em consideração quando se deseja modelar problemas de carregamento de contêineres mais realistas. Considerações tais como estabilidade, empilhamento, fragilidade, múltiplos destinos, limite de peso, distribuição de peso dentro do contêiner, entre outras, são muito comuns e importantes na prática. Em trabalho recente, Junqueira et al. (2010) apresentaram modelos de programação linear inteira 0-1 para tratar problemas de carregamento de contêineres, considerando restrições de estabilidade e de empilhamento do carregamento. Os modelos também podem ser utilizados para problemas tridimensionais de carregamento de caixas retangulares sobre paletes, em que as caixas não precisam ser arranjadas em camadas horizontais sobre o palete.

Neste trabalho, estamos interessados em tratar problemas de carregamento de um contêiner ou caminhão com considerações de múltiplos destinos, além de estabilidade do carregamento. Nestes problemas, caixas a serem entregues para diferentes clientes (destinos) devem ser posicionadas próximas umas das outras dentro do caminhão (como é mais comum na prática) e devem ser carregadas de modo a considerar o roteiro a ser percorrido pelo caminhão e a ordem em que elas serão descarregadas. Não existem muitos trabalhos na literatura que tratam problemas de carregamento de contêineres considerando múltiplos destinos. Exemplos aparecem em Bischoff, Ratcliff (1995), Scheithauer et al. (1996), Lai et al. (1998), Terno et al. (2000), Jin et al. (2004), Moura, Oliveira (2005, 2009), Araujo (2006), Lin et al. (2006), Gendreau et al. (2006), Iori et al. (2007), Campos (2008), Christensen, RousØe (2009) e Moura, Bortfeldt (2009).

Bischoff, Ratcliff (1995) foram os primeiros autores a tratar a questão dos múltiplos destinos. Eles propõem uma heurística que visa construir padrões de carregamento densos, em que as caixas são carregadas uma a uma, obedecendo a um esquema de ordenação baseado em quatro critérios, sendo um principal e três para desempate. O critério principal seleciona a caixa com maior potencial de utilização do espaço, e favorece a construção de pilhas de caixas do mesmo tipo. O primeiro critério de desempate seleciona a caixa com menor proeminência ao longo do comprimento e favorece a construção de uma frente de carregamento homogênea. O segundo critério de desempate seleciona a caixa com maior volume e favorece o carregamento o mais cedo possível das caixas maiores. E, por fim, o terceiro critério de desempate seleciona a caixa para ocupar o espaço vazio com menor coordenada ao longo da largura do contêiner. Os autores apresentam resultados computacionais para centenas de exemplos gerados aleatoriamente, nos quais fica comprovada a eficiência da heurística, tanto para tratar o problema com múltiplos destinos, quanto para tratar o problema apenas com restrições volumétricas.

Em trabalho mais recente, Christensen, RousØe (2009) propõem uma heurística baseada em uma estrutura de busca em árvore, em que cada nó da árvore corresponde a uma caixa, e soluções gulosas são utilizadas para avaliar cada escolha feita. Em particular, uma determinada caixa pode ocupar qualquer espaço vazio dentro do caminhão, desde que haja um acesso até ela na desova do seu destino. Além disso, caso não haja espaço disponível suficiente para empacotar todas as caixas de todos os destinos, é permitido que algumas caixas sejam eventualmente deixadas de fora do carregamento. Os autores apresentam resultados computacionais para oito exemplos baseados no caso real de distribuição de materiais de construção de uma companhia dinamarquesa, além de outros nove exemplos gerados aleatoriamente com base nos exemplos do caso real. Os resultados computacionais mostram que a heurística é promissora para tratar exemplos reais e que ela possui desempenho comparável aos de outros métodos da literatura que se propuseram a tratar o problema apenas com restrições volumétricas.

Considerações de múltiplos destinos podem ser tratadas de duas maneiras: na primeira, assume-se que o roteiro que o caminhão deve percorrer já é conhecido a priori, restando apenas encontrar o melhor arranjo da carga dentro do caminhão; na segunda, o roteiro ainda não está definido, o que leva a uma abordagem combinada do roteamento dos caminhões com o arranjo da carga dentro deles. Neste trabalho, em particular, estamos interessados na primeira situação, em que se supõe que a carga cabe dentro do caminhão, e o objetivo do problema é basicamente determinar o melhor padrão de empacotamento, garantindo que as caixas não se sobreponham umas às outras dentro do caminhão e considerando a ordem em que elas serão descarregadas, sem que para isso seja necessário um manuseio adicional.

Conforme mencionado, nosso objetivo neste trabalho é apresentar um modelo de programação linear inteira mista 0-1 e abordagens baseadas neste modelo para tratar problemas de carregamento de um contêiner ou caminhão, considerando restrições práticas de múltiplos destinos. Não temos conhecimento de outros trabalhos que apresentaram uma formulação matemática considerando explicitamente restrições de estabilidade do carregamento e de carga fracionada em múltiplos destinos. O modelo e as abordagens podem ser facilmente estendidos para considerar outras restrições, tais como empilhamento, fragilidade e limite de peso. Para verificar a coerência do modelo e das abordagens e analisar seus desempenhos computacionais, eles foram codificados na linguagem de modelagem GAMS e resolvidos utilizando-se o aplicativo CPLEX.

Este trabalho está organizado da seguinte maneira. Na Seção 2, descrevemos resumidamente problemas de carregamento de contêineres que consideram carga fracionada em múltiplos destinos. Na Seção 3, apresentamos um novo modelo matemático para estes problemas, considerando o roteiro do veículo como definido a priori e, adicionalmente, a estabilidade do carregamento. Na Seção 4, apresentamos algumas abordagens de solução baseadas no modelo apresentado na Seção 3. Na Seção 5, analisamos os resultados dos testes computacionais com as abordagens propostas, utilizando o aplicativo GAMS/CPLEX e exemplos gerados a partir de dados aleatórios e alguns exemplos da literatura. Finalmente, na Seção 6, discutimos as conclusões deste trabalho e algumas perspectivas para pesquisa futura.

2 Descrição do problema

A carga fracionada em múltiplos destinos trata situações em que um contêiner (ou caminhão, como é mais comum na prática) está carregado com caixas com produtos encomendados por diferentes clientes (destinos), que estão espalhados por uma região. O caminhão deve então percorrer um roteiro de entrega, saindo de um depósito (onde ele é carregado) e passando pelos diferentes destinos. Em cada destino, as caixas com produtos encomendados por aquele cliente devem ser descarregadas. Após realizar todas as entregas, o caminhão pode retornar, vazio, para o depósito. A questão que surge é como planejar o carregamento do caminhão de modo a considerar, na medida do possível, a ordem em que as caixas devem ser descarregadas, para evitar desperdícios de tempo descarregando e recarregando as caixas dos destinos remanescentes. A Figura 1 ilustra um caminhão que parte (carregado) de um depósito e é descarregado ao longo de cinco destinos (indicados pelas diferentes cores de caixas), retornando (vazio) para o depósito de partida (isto é, o roteiro depósito-1-2-3-4-5-depósito).


Note que este problema, inversamente, pode ser visto como o problema de um caminhão de coleta que sai do depósito vazio, e, em cada destino do seu roteiro, as caixas são carregadas dentro do caminhão sem descarregar as caixas já carregadas dos destinos anteriores do roteiro. Note que o roteiro de coleta é o inverso do roteiro de entrega (isto é, o roteiro depósito-5-4-3-2-1-depósito na Figura 1). A Figura 2 ilustra um caminhão carregado com caixas de cinco diferentes destinos (indicados pelas diferentes cores de caixas). As caixas devem ser descarregadas conforme seqüência já ilustrada na Figura 1. Note que se as caixas forem carregadas como ilustrado na Figura 2 à esquerda, provavelmente se incorrerá em desperdícios de tempo na desova dos destinos, pois algumas caixas precisarão ser descarregadas e posteriormente recarregadas. Neste caso, um simples rearranjo das mesmas caixas dentro do caminhão, como ilustrado na Figura 2 à direita, é capaz de evitar que desperdícios de tempo ocorram na desova dos destinos.


3 Modelo matemático considerando carga fracionada em múltiplos destinos

Considere um caminhão com carroceria de comprimento L, largura W e altura H, que deve percorrer um roteiro com n destinos. Para cada destino k (k = 1,..., n), tem-se que bik caixas, de um total de bi caixas do tipo i (i = 1,..., m), com comprimento li, largura wi e altura hi, devem ser carregadas (descarregadas) no caminhão (note que se pode ter bik = 0 para algum i e k). Admite-se que as dimensões das caixas são números inteiros, que elas só podem ser empacotadas ortogonalmente (isto é, com os seus lados paralelos aos lados do caminhão), e que as suas orientações são fixas (isto é, as caixas não podem girar em torno de nenhum de seus eixos). Esta última suposição pode ser facilmente relaxada no modelo, e é aqui mantida apenas por simplicidade de apresentação das formulações. Convém notar que k = 1 se refere ao conjunto de caixas que são carregadas primeiro e descarregadas por último. Consequentemente, k = n se refere ao conjunto de caixas que são carregadas por último e descarregadas primeiro.

Adotando-se um sistema de coordenadas cartesianas com origem no canto inferior frontal esquerdo do caminhão, seja (p, q, r) a posição em que o canto inferior frontal esquerdo de uma determinada caixa é colocado. As possíveis posições, ao longo do comprimento L, da largura W e da altura H do caminhão, em que cada caixa pode ser colocada, podem ser definidas por meio dos conjuntos:

Herz (1972) e Christofides e Whitlock (1977) observaram que, em um dado padrão de empacotamento (ou de corte), cada caixa empacotada pode ser movida para baixo e/ou para frente e/ou para esquerda, até que sua face inferior, lateral da frente e lateral esquerda fiquem adjacentes às demais caixas ou ao próprio caminhão. Estes padrões, chamados padrões normais ou combinações cônicas, permitem reduzir os conjuntos X, Y e Z para:

Sejam ainda os subconjuntos definidos como a seguir:

Define-se α ∈ [0,1] como o parâmetro de estabilidade em relação ao eixo z (ou parâmetro de estabilidade vertical). Este parâmetro é comum na literatura de carregamento de contêineres (ELEY, 2002) e indica o percentual de estabilidade vertical que se deseja para todas as caixas. Em um extremo, α = 1 indica que as faces inferiores de todas as caixas devem estar 100% suportadas pelas faces superiores de uma ou mais caixas colocadas imediatamente abaixo delas (ou pelo piso do caminhão), e, no outro extremo, α = 0 indica que não há exigências quanto à estabilidade das caixas em relação ao eixo z (por exemplo, as caixas podem estar apenas parcialmente apoiadas, ou mesmo "flutuando" dentro do caminhão).

Seja ainda o parâmetro δ ∈ [0, L], relativo ao alcance do operador responsável por fazer o carregamento do caminhão. Definimos este parâmetro como uma função da dimensão de comprimento, uma vez que o carregamento e o descarregamento do caminhão são feitos no seu sentido longitudinal. Estando as caixas de um determinado destino carregadas dentro do caminhão, as caixas do próximo destino podem ser carregadas aproveitando espaços vazios eventualmente criados pelas caixas de destinos anteriores. Isto é, este parâmetro indica o quanto, para além da "fronteira natural" entre as caixas dos diferentes destinos, o operador pode adentrar para arranjar uma caixa. A Figura 3 ilustra à esquerda esta fronteira natural (em tracejado) deixada por caixas de um destino anterior (k - 1). A partir desta fronteira, é permitido ao operador adentrar até δ unidades para carregar caixas do próximo destino (k). Por sua vez, as caixas do próximo destino (k), uma vez carregadas, deixam uma nova fronteira natural, até δ unidades, além da qual, caixas de um próximo destino poderiam ser empacotadas (Figura 3 à direita).


O uso deste parâmetro é de particular importância na prática para ajudar a preservar a integridade da carga, pois ele evita que o operador se apoie ou mesmo suba nas caixas de destinos anteriores (já arranjadas) para colocar ou retirar alguma caixa do próximo destino, o que poderia acarretar alterações na forma da embalagem protetora e, consequente, possível avaria dos produtos dentro dela. Note ainda que este parâmetro também pode ser representativo do alcance do "braço" do operador, ou mesmo de algum equipamento utilizado para carregar/descarregar as caixas, como uma paleteira, por exemplo.

Sejam as variáveis de decisão xikpqr definidas como:

Sejam ainda as variáveis de decisão L'k relativas ao comprimento necessário para empacotar todas as caixas dos destinos 1, 2,..., k, e M um número suficientemente grande. O problema de carregamento de caixas dentro de um único caminhão, considerando a estabilidade do carregamento e a carga fracionada em múltiplos destinos, pode ser formulado como uma extensão direta do modelo de programação linear inteira 0-1 proposto em Junqueira, Morabito e Yamashita (2010), denominado pelos autores de modelo base:

em que X, Y, Z, Xi, Yi e Zi são definidos conforme (4)-(9). No modelo (10)-(18), a função objetivo (10) visa minimizar o comprimento L'n necessário para empacotar todas as caixas dos n destinos; as restrições (11) garantem que não haja sobreposição entre as caixas dentro do caminhão; as restrições (12) garantem que o número de réplicas da caixa do tipo i seja igual ao valor bik requerido pelo destino (cliente) k (em que as restrições (13) garantem que uma fração mínima α das faces inferiores de todas as caixas deve estar suportada pelas faces superiores de uma ou mais caixas colocadas imediatamente abaixo delas (note nesta restrição que as caixas de um determinado destino devem ser empacotadas ou sobre caixas do mesmo destino ou sobre caixas de destinos anteriores, para que não se comprometa o manuseio das caixas); as restrições (14) garantem que as caixas do destino k não terminem de ser empacotadas além do comprimento necessário L'k; as restrições (15) garantem que as caixas do destino k não comecem a ser empacotadas δ unidades aquém do comprimento necessário L'k-1; as restrições (16) garantem que o comprimento necessário para empacotar as caixas do destino k - 1 não esteja além do comprimento mínimo necessário para empacotar as caixas do destino k; e as restrições (17) e (18) definem o domínio das variáveis de decisão. É importante notar que o modelo (10)-(18) tem perda de generalidade quando se considera α < 1 e são utilizados os conjuntos (4)-(6).

Convém observar que o modelo (10)-(18) envolve variáveis binárias mais n variáveis reais, além de

restrições.

4 Abordagens considerando carga fracionada em múltiplos destinos

Com base no modelo (10)-(18) apresentado na Seção 3, podemos desenvolver algumas abordagens para tratar problemas de carregamento de contêineres considerando diferentes situações de carga fracionada em múltiplos destinos. Em particular, estas situações estão diretamente relacionadas ao parâmetro δ, relativo ao alcance do operador responsável por fazer o carregamento do caminhão. Para as abordagens propostas, admite-se que o caminhão tem um comprimento suficientemente grande para empacotar todas as caixas de todos os destinos. Convém aqui observar que as abordagens propostas em 4.1 e 4.2 são abordagens exatas, enquanto a abordagem proposta em 4.3 é uma abordagem heurística. Portanto, a não obtenção de soluções factíveis nos dois primeiros casos implica que o problema original não tem solução, enquanto no terceiro caso implica que algumas caixas precisariam ser deixadas de fora do carregamento, ou que um caminhão maior precisaria ser alocado para receber o carregamento.

4.1 Caso em que δ = 0

Esta situação representa um primeiro caso extremo, em que não é permitido ao operador adentrar para além da "fronteira natural" entre as caixas dos diferentes destinos, isto é, o operador não pode aproveitar nenhum dos espaços vazios eventualmente criados pelas caixas de destinos anteriores para empacotar as caixas do próximo destino. Isto nos permite decompor, sem perda de generalidade, o problema (10)-(18) de minimizar o comprimento necessário para empacotar todas as caixas de todos os n destinos, em n problemas independentes. Cada um destes problemas consiste em minimizar o comprimento necessário para empacotar todas as caixas de cada destino k, e a solução final obtida é uma composição das n soluções ótimas. Note que esta abordagem, embora não aproveite os espaços vazios eventualmente criados, facilita o manuseio das caixas na desova dos destinos.

Pelo fato do problema poder ser decomposto, é possível redefinir as possíveis posições (1), (2) e (3), ao longo do comprimento L, da largura W e da altura H do caminhão, onde cada caixa pode ser colocada, agora para cada destino k, por meio dos conjuntos:

em que Mk = {i = 1,..., m | bik > 0}, isto é, o subconjunto de tipos i de caixas que devem ser descarregadas no destino k. Estes subconjuntos podem ser reduzidos, sem perda de generalidade, aos padrões normais ou combinações cônicas:

Sejam ainda os conjuntos definidos como a seguir:

Assim, com base no modelo (10)-(18), e usando os conjuntos Xk, Yk, Zk, Xik, Yik e Zik e definidos conforme (22)-(27), é possível reescrever uma formulação alternativa, exclusiva para cada destino k, dentro do seguinte procedimento iterativo em k:

Para k = 1,... n, resolva a formulação (28)-(34):

Retorne L'1*, L'2*,..., L'n* (i.e., os comprimentos ótimos nas iterações 1, 2,..., n)

Se , então a solução é factível.

Note que o índice k está fixo em cada iteração e, portanto, que a função objetivo (28) visa minimizar o comprimento L'k necessário para empacotar todas as caixas apenas do destino k (e não de todos os destinos 1, 2,..., n, como no modelo (10)-(18)). Logo, as restrições (15) e (16) do modelo (10)-(18) não aparecem no modelo (28)-(34). Em outras palavras, cada modelo (28)-(34) em k é independente dos demais em 1, 2, k - 1, k + 1, n. Assim, espera-se que seja bem mais fácil resolver o modelo (28)-(34) no procedimento acima, do que o modelo (10)-(18) da seção anterior, uma vez que as possíveis posições onde cada caixa pode ser colocada precisam ser consideradas apenas para cada destino k, e não para todos os n destinos. A Figura 4 ilustra uma possível disposição, utilizando este procedimento, de caixas de três destinos diferentes. Os desenhos à direita são os respectivos desenhos à esquerda vistos da perspectiva de cima. Observe que é criada uma espécie de "cortina divisória" (imaginária) entre as caixas de dois destinos consecutivos dentro do caminhão. De fato, a criação de subdivisões (compartimentos) é uma prática que aparece no carregamento de caminhões em algumas transportadoras.


Convém observar que o modelo (28)-(34) envolve, para cada destino k, | Mk | . | Xik | . | Yik | . | Zik | variáveis binárias mais 1 variável real, além de | Xk | . | Yk | . | Zk | + | Mk | + | Mk | . | Xik | . | Yik | . (| Zik | -1) + | Mk | . | Xik | . | Yik | . | Zik | restrições.

4.2 Caso em que δ = L

Esta situação representa um segundo caso extremo, em que é permitido ao operador adentrar totalmente para além da "fronteira natural" entre as caixas dos diferentes destinos, isto é, o operador pode aproveitar quaisquer espaços vazios eventualmente criados pelas caixas de destinos anteriores para empacotar as caixas do próximo destino. Isto viola a consideração de carga fracionada em múltiplos destinos, pois não impede que o operador tenha que descarregar uma parte das caixas que não precisem ser descarregadas em um determinado destino, para alcançar uma caixa que precise. Isto nos permite reduzir o problema (10)-(18) de minimizar o comprimento necessário para empacotar todas as caixas de todos os n destinos, ao clássico Strip Packing Problem (MIYAZAWA; WAKABAYASHI, 1999) (com considerações adicionais de estabilidade do carregamento), cujo objetivo é minimizar o comprimento necessário para empacotar todas as caixas disponíveis, independentemente de elas pertencerem a diferentes destinos. Note que esta abordagem, ao contrário da anterior, embora aproveite os espaços vazios eventualmente criados, dificulta o manuseio das caixas na desova dos destinos.

Alternativamente, e redefinindo-se a variável de decisão L'n em (10) simplesmente como L para o comprimento necessário para empacotar todas as caixas disponíveis, é possível reescrever o modelo (10)-(18) de modo a representar o problema de carregamento de caixas dentro de um caminhão, considerando apenas a estabilidade do carregamento:

em que X, Y, Z, Xi, Yi e Zi são definidos conforme (4)-(9). Note no modelo (35)-(41) que a função objetivo (35) visa minimizar o comprimento L' necessário para empacotar todas as caixas disponíveis, que o índice k desaparece de todas as restrições, bem como também desaparecem as restrições (15) e (16) do modelo (10)-(18). A Figura 5 ilustra uma possível disposição utilizando este procedimento. O desenho à direita trata-se do respectivo desenho à esquerda visto da perspectiva de cima. Observe que as caixas dos diferentes destinos podem estar misturadas. Note também que uma solução obtida com o modelo (35)-(41) não é equivalente a uma solução obtida com o modelo (10)-(18) com δ = L, pois a restrição (13) garante que as caixas de um determinado destino estarão sempre acima de caixas do mesmo destino ou de caixas de destinos que serão descarregados posteriormente, ao passo que o modelo (35)-(41) permite que as caixas estejam completamente misturadas.


Convém observar que o modelo (35)-(41) envolve restrições.

4.3 Caso em que 0 < δ < L

Esta situação representa casos intermediários entre as duas abordagens anteriores, em que ao operador é permitido adentrar parcialmente para além da "fronteira natural" entre as caixas dos diferentes destinos, isto é, o operador pode aproveitar alguns espaços vazios eventualmente criados pelas caixas de destinos anteriores para empacotar as caixas do próximo destino. Note que esta abordagem visa aproveitar os espaços vazios eventualmente criados sem prejudicar o manuseio.

Definindo-se a variável de decisão L'k para o comprimento necessário para empacotar todas as caixas dos destinos 1, 2,..., k, conforme o modelo (10)-(18), e usando-se os conjuntos X, Y, Z, Xi, Yi e Zi definidos conforme (4)-(9), é possível escrever o seguinte procedimento iterativo em k:

Faça k = 1 e resolva a formulação (42)-(49):

Fixe as variáveis referentes à solução do modelo (42)-(49) para o destino k.

Faça k = k + 1 e resolva o modelo acima em k, com as variáveis acima fixadas, para todos os destinos k' = 1, 2,..., k - 1 anteriores.

Repita este procedimento para todos os n destinos.

Retorne o último L'n* obtido.

Se L'n*< L, então a solução é factível.

Note que o índice k está fixo em cada iteração e, portanto, que a função objetivo (42) visa minimizar o comprimento L'k necessário para empacotar todas as caixas dos destinos 1, 2,..., k, e que as soluções do modelo (42)-(49) nas iterações anteriores k' = 1, 2,..., k - 1 estão fixadas em x*ikpqr = 1 e em L'k* na iteração k. Note também que as restrições (16) do modelo (10)-(18) não aparecem no modelo (42)-(49), em função de o procedimento ser iterativo (portanto, Entretanto, note que este procedimento é diferente do procedimento do caso em que δ = 0, porque cada modelo (42)-(49) fixo em k depende dos anteriores em k - 1, k - 2,..., 1. Convém observar que este procedimento realiza uma otimização míope para as caixas de cada destino k, dado que as caixas de um destino, uma vez fixadas na iteração k, não podem mais ser rearranjadas, o que pode implicar na "perda" da solução ótima global, ao contrário de quando se considera de uma só vez a otimização de todas as caixas de todos os n destinos. A Figura 6 ilustra uma possível disposição, utilizando este procedimento com δ = 3, de caixas de três destinos diferentes. Os desenhos à direita são os respectivos desenhos à esquerda vistos da perspectiva de cima. Observe que o aspecto criado pelo padrão de empacotamento lembra uma versão tridimensional do jogo "Tetris" (TETRIS, 2009), desenvolvido nos anos 80, e cujo objetivo é encaixar peças bidimensionais (poliminós) de diversos formatos que descem do topo de uma tela de computador. Quando uma linha na tela é completada, esta desaparece e pontos extras são dados ao jogador. O jogo termina quando as linhas incompletas se empilham até o topo da tela. De fato, a grande desvantagem do procedimento descrito nesta seção, em relação ao modelo apresentado na Seção 3, é que o primeiro desconhece quais são as próximas caixas que devem ser carregadas dentro do caminhão, e, portanto, assume uma postura gananciosa (gulosa) em relação às caixas do destino atual. Para um estudo relacionado, veja, por exemplo, Azevedo et al. (2009).


Convém observar que o modelo (42)-(49) envolve, para cada destino variáveis binárias mais 1 variável real, além de restrições.

Como observado anteriormente, este procedimento realiza uma otimização míope para as caixas de cada destino k. No entanto, podemos "auxiliar" este procedimento a criar espaços vazios mais acessíveis, para que caixas de destinos posteriores sejam ali colocadas, respeitando-se o limite dado pelo parâmetro δ, relativo ao alcance do operador. A ideia consiste em adicionar um termo de "desempate" à função objetivo (42), com um valor fracionário entre 0 e 1, para que o padrão de empacotamento obtido privilegie carregamentos com as caixas de um destino "empurradas" o mais para o fundo possível do caminhão. Com isso, caixas de destinos posteriores têm mais chances de serem arranjadas, sem prejudicar o manuseio. Note que esta função objetivo modificada (50) não é mais integral.

A Figura 7 ilustra uma possível disposição, utilizando este procedimento com δ = 3 e a função de desempate, de caixas de três destinos diferentes. Os desenhos à direita são os respectivos desenhos à esquerda vistos da perspectiva de cima. Compare esta Figura com a Figura 6 e veja que a função objetivo modificada propicia um ganho significativo em termos do comprimento mínimo necessário para empacotar todas as caixas.


5 Resultados computacionais

Os procedimentos apresentados na Seção 4 foram implementados na linguagem de modelagem GAMS (versão 22.7) e o solver CPLEX 11.0 (com parâmetros default) foi utilizado para resolvê-los. Todos os testes foram realizados em um microcomputador PC Pentium D (3,2 GHz, 2,0 GB). A título de ilustração, os modelos foram testados com oito exemplos gerados a partir de dados aleatórios, que foram divididos de acordo com as seguintes características:

  • Quatro quantidades diferentes de tipos de caixas:

    m = 1 (neste caso, as caixas podem girar em torno de todos os seus eixos),

    m = 5,

    m = 10 e

    m = 20 (nestes três últimos casos, as caixas têm orientação fixa).

  • Duas maneiras diferentes de gerar as dimensões das caixas: (A

    m,

    m = 1, 5, 10 e 20) dimensões das caixas variando entre 25% e 75% das dimensões do contêiner, ou seja,

    li

    [0,25

    L, 0,75

    L],

    wi

    [0,25

    W, 0,75

    W] e

    hi

    [0,25

    H, 0,75

    H]; (B

    m,

    m = 1, 5, 10 e 20) dimensões das caixas variando entre 10% e 50% das dimensões do contêiner, ou seja,

    li

    [0,10

    L, 0,50

    L],

    wi

    [0,10

    W, 0,50

    W] e

    hi

    [0,10

    H, 0,50

    H].

Para o caso de m = 1, que ilustra o problema tridimensional de carregamento de paletes do produtor, foi criada uma variável de decisão adicional para cada possível orientação da caixa, totalizando seis variáveis de decisão, e os modelos envolvidos com os procedimentos foram modificados apropriadamente para considerar estas novas variáveis. Uma maneira alternativa de se tratar este caso seria considerar cada uma das seis possíveis rotações de uma caixa simplesmente como seis caixas diferentes, isto é, m = 6, e limitar o número máximo de caixas empacotadas destes seis tipos artificiais nas restrições (30), (37) e (44) dos modelos.

Por simplicidade, e apenas para a geração das dimensões das caixas e das quantidades delas nos exemplos, consideramos caminhões com L = W = H = 10. No entanto, as dimensões do caminhão consideradas nos testes computacionais foram L = 15 e W = H = 10. O número n de destinos foi definido com sendo 3. A quantidade bi de caixas do tipo i foi definida como bi = [(L · W · H) (li · wi · hi )] para os exemplos com m = 1, e uniformemente sorteada no intervalo [1, [L/li]·[W/wi]·[H/hi]] para os exemplos com m = 5, 10 e 20, i = 1,..., m. Por sua vez, para a obtenção do número bik de caixas do tipo i para cada destino k, o número de caixas presentes na solução ótima, obtida ao se resolver o modelo base apresentado em Junqueira, Morabito e Yamashita (2010), foi uniformemente sorteado entre os n destinos, tal que

O valor α do parâmetro de estabilidade vertical foi definido como sendo 1, isto é, as faces inferiores de todas as caixas devem estar 100% suportadas pelas faces superiores de uma ou mais caixas colocadas imediatamente abaixo delas, ou pelo piso do caminhão. Note que, conforme discutido em Junqueira, Morabito e Yamashita (2010), a condição α < 1 nas restrições (13), (31), (38) e (45) pode implicar na perda de soluções ótimas ao se utilizar combinações cônicas, isto é, pode haver perda de generalidade dos modelos, devido à ocorrência de "buracos" no padrão de empacotamento, caso não seja exigido que as faces inferiores de todas as caixas estejam 100% suportadas pelas faces superiores de uma ou mais caixas colocadas imediatamente abaixo delas (ou pelo piso do caminhão). Os valores δ do parâmetro de alcance do operador foram arbitrariamente escolhidos como sendo 0, 1, 3, 5 e L. Note que, nos casos de δ = 0, de δ = 1, 3 e 5 e de δ = L, respectivamente, as abordagens utilizadas são as descritas nas seções 4.1, 4.2 e 4.3.

A Tabela 1 apresenta, para cada exemplo, o número total de caixas que devem ser carregadas para todos os n destinos. Além disso, e para ilustrar o tamanho dos modelos gerados nos grupos Am e Bm, esta tabela também apresenta os tamanhos dos conjuntos X, Y e Z para cada um dos oito exemplos, além dos números de variáveis e restrições dos modelos (28)-(34), (42)-(49) e (35)-(41) reportados pelo CPLEX após o pré-processamento para cada uma das abordagens apresentadas na Seção 4. Convém ressaltar que, no caso das abordagens com δ = 0 e δ = 1, 3 e 5, os números de variáveis e restrições apresentados nesta tabela se referem aos valores máximos obtidos entre os n destinos. Note também que, à medida que as cardinalidades dos conjuntos X, Y e Z crescem, os números de variáveis e restrições também crescem, e as dificuldades para solução dos modelos aumentam significativamente.

Nos experimentos a seguir, o tempo computacional para resolver cada modelo foi arbitrariamente limitado em 1 h (3600 s) e os gaps de otimalidade foram calculados como:

Assim, quatro situações são possíveis de ocorrer quanto à qualidade da solução obtida pelo aplicativo GAMS/CPLEX: i) solução ótima, com gap igual a zero; ii) solução factível (inteira), com gap maior que zero e com o limite de tempo excedido pelo CPLEX; iii) sem solução factível, sem gap e com o limite de tempo excedido pelo CPLEX; (iv) insuficiência de memória do computador para compilar o modelo pelo GAMS, sem gap e sem informação relevante sobre o tempo. Estas duas últimas situações estão representadas nas tabelas pelo símbolo "-".

As tabelas 2 a 9 apresentam, para cada um dos oito exemplos, o gap de otimalidade (em %) obtido e o tempo computacional (em segundos) utilizado. Para os modelos em (28)-(34) com δ = 0, estes valores correspondem à soma dos valores necessários para resolver os modelos para todos os n destinos. Lembre-se que estes modelos são resolvidos independentemente para cada destino k (veja Seção 4.1). Em seguida, são apresentados os comprimentos mínimos L'k* necessários para empacotar as caixas de cada destino k. Note que para os modelos em (42)-(49) com δ = 1, 3 e 5, estes valores estão na forma agregada, isto é, são os comprimentos mínimos L'k* necessários para empacotar todas as caixas do destino k, mais as caixas dos destinos precedentes 1, 2,..., k - 1. Para cada valor de δ = 1, 3 e 5, também são apresentados os resultados obtidos ao se utilizar a função objetivo modificada (50), em substituição à função objetivo (42). A título de comparação, também apresentamos os resultados para os modelos em (35)-(41) com δ = L, lembrando que neste caso o carregamento não leva em conta os diferentes destinos das caixas.

Note que as soluções de todos os modelos foram comprovadamente ótimas, com exceção do exemplo B20 com δ = L. Note também que, como esperado, o comprimento total necessário para empacotar as caixas de todos os destinos diminui à medida que δ aumenta (compare, por exemplo, na Tabela 2 para δ = 0,3 e L, e na Tabela 7 para δ = 1 e 5). Além disso, note o quanto a função objetivo (50) (com o termo de desempate), quando utilizada com a abordagem com 0 < δ < L, em geral ajuda a diminuir o comprimento total necessário para empacotar todas as caixas de todos os destinos (veja, por exemplo, na Tabela 3 para δ = 5, e na Tabela 8 para δ = 1).

Também realizamos testes computacionais com estes oito exemplos e a formulação original (10)-(18) para valores de δ = 0, 3 e L. A Tabela 10 a seguir apresenta, para cada um dos oito exemplos, o número de variáveis e de restrições do modelo (10)-(18) reportados pelo CPLEX após o pré-processamento, o gap de otimalidade (em %) obtido, o tempo computacional (em segundos) utilizado, e os comprimentos mínimos L'n* necessários para empacotar todas as caixas de todos os destinos. Note que apenas o exemplo A10 foi resolvido na otimalidade para δ = 0,3 e L (com L'n* = 10, 10 e 12, respectivamente), e apenas o exemplo B10 para δ = L (com L'n* = 10), enquanto os demais exemplos excederam o limite de tempo de 1 hora, encontrando soluções inteiras com gaps muito altos, ou mesmo nem encontrando soluções inteiras. Isso se deve ao fato de as variáveis e restrições obtidas com esta formulação serem dependentes entre os n destinos. Por exemplo, os números de variáveis e restrições reportados pelo CPLEX após o pré-processamento do modelo (10)-(18) para o exemplo A10 foram, respectivamente, 2014 e 5263, isto é, valores maiores quando comparados com os obtidos com as abordagens para este mesmo exemplo (veja Tabela 1).

Tabela 10 - Clique para ampliar

A título de ilustração, as Figuras 8 e 9 apresentam os padrões de empacotamento para o exemplo A10 obtidos com a formulação (10)-(18) com δ = 0, 3 e L, e com as três abordagens apresentadas na Seção 4 com δ = 0, 3 (sem e com a função de desempate) e L, respectivamente. Os desenhos à direita são os respectivos desenhos à esquerda vistos da perspectiva de cima. Note que, ao contrário das abordagens das seções 4.1 e 4.2, a abordagem da Seção 4.3 com δ = 3 (mesmo com a função de desempate) não conseguiu obter a solução ótima encontrada pela formulação (10)-(18) com mesmo δ.



Também realizamos testes computacionais com a abordagem com δ = 0 e oito exemplos reportados em Christensen e RousØe (2009), baseados no caso real de distribuição de materiais de construção de uma companhia dinamarquesa. A Tabela 11 a seguir apresenta o número de destinos e de caixas para cada um dos oito exemplos, o gap de otimalidade (em %) obtido, o tempo computacional (em segundos) utilizado, e os comprimentos mínimos L'n* necessários para empacotar todas as caixas de todos os destinos. As dimensões do caminhão consideradas nestes exemplos são (L, W, H) = (720, 250, 280).

Note na Tabela 11 que, apenas para o exemplo 7, a abordagem não foi capaz de encontrar uma solução factível. Além disso, note que, para os exemplos 2, 3 e 6, a abordagem foi capaz de encontrar soluções que incluem todas as caixas, respeitando o comprimento do caminhão, enquanto para os exemplos 1, 4, 5 e 8, para carregar todas as caixas, seria necessário utilizar caminhões com comprimentos maiores. É importante lembrar que esses resultados foram obtidos com a nossa abordagem mais conservadora, i.e., com δ = 0. Também é importante observar que a abordagem proposta por Christensen e RousØe (2009) não é comparável com nenhuma das abordagens propostas no presente artigo, uma vez que as definições de múltiplos destinos são diferentes. Na abordagem proposta por aqueles autores, uma determinada caixa pode ocupar qualquer espaço vazio dentro do caminhão, desde que haja um acesso até ela na desova do seu destino. Além disso, a abordagem proposta por eles permite, caso não haja espaço disponível suficiente para empacotar todas as caixas, que algumas delas sejam eventualmente deixadas fora do carregamento.

6 Conclusões

Neste trabalho, apresentamos um modelo de programação linear inteira mista 0-1 e abordagens baseadas neste modelo para tratar problemas de carregamento de caixas retangulares dentro de um contêiner ou caminhão, considerando restrições práticas de múltiplos destinos da carga, além da estabilidade do carregamento. O modelo e as abordagens podem ser facilmente estendidos para considerar outras restrições práticas, como empilhamento e fragilidade das caixas e limite de peso do contêiner. Assumimos que o roteiro que cada caminhão deve percorrer já é conhecido a priori e que a carga de todos os destinos cabe dentro do caminhão. O objetivo, portanto, é determinar o melhor padrão de empacotamento, considerando a ordem em que as caixas são descarregadas (ou carregadas), sem que para isso seja necessário um manuseio adicional na carga. Alguns testes computacionais com as abordagens propostas foram realizados utilizando o aplicativo GAMS/CPLEX e exemplos gerados a partir de dados aleatórios e alguns exemplos da literatura. Os resultados mostraram que o modelo e as abordagens são coerentes e representam adequadamente as situações tratadas, embora estejam limitados a resolver otimamente apenas problemas de tamanho bem moderado. Acreditamos que o modelo e as abordagens podem ser úteis para motivar pesquisas futuras para tratar problemas maiores e mais realistas na prática, assim como para tratar o caso combinado deste problema com o problema de roteamento e programação de veículos.

Agradecimentos

Os autores gostariam de agradecer aos dois revisores anônimos pelos úteis comentários e sugestões. Esta pesquisa contou com o apoio da FAPESP (processos 06/03496-3, 07/00209-6 e 09/07423-9) e do CNPq (processo 522973/95-7).

Recebido em 21/10/2009 - Aceito em 14/11/2010

Suporte financeiro: FAPESP, CNPq.

  • ARAUJO, O. C. B. Problemas de corte e empacotamento tridimensional e integração com roteamento de veículos 2006. 171 f. Tese (Doutorado em Engenharia Elétrica)- Faculdade de Engenharia Elétrica e de Computação, Universidade Estadual de Campinas, Campinas, SP, 2006.
  • ARAUJO, O. C. B.; ARMENTANO, V. A. A multi-start random constructive heuristic for the container loading problem. Pesquisa Operacional, v. 27, n. 2, p. 311-331, 2007.
  • AZEVEDO, B. L. P. et al. A branch-and-cut approach for the vehicle routing problem with two-dimensional loading constraints. In: SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL, 41., 2009, Porto Seguro. Anais
  • BISCHOFF, E. E.; MARRIOTT, M. D. A comparative evaluation of heuristics for container loading. European Journal of Operational Research, v. 44. n. 2, p. 267-276, 1990.
  • BISCHOFF, E. E.; RATCLIFF, M. S. W. Issues in the development of approaches to container loading. Omega, v. 23, n. 4, p. 377-390, 1995.
  • CAMPOS, D. S. Integração dos problemas de carregamento e roteamento de veículos com janela de tempo e frota heterogênea 2008. 119 f. Tese (Doutorado em Engenharia de Produção)-Departamento de Engenharia de Produção, Universidade de São Paulo, São Paulo, SP, 2008.
  • CECILIO, F. O.; MORABITO, R. Refinamentos na heurística de George e Robinson para o problema de carregamento de caixas dentro de contêineres. Transportes, v. 11. n. 2, p. 32-45, 2004.
  • CHRISTENSEN, S. G.; ROUSØE, D. M. Container loading with multi-drop constraints. International Transactions in Operational Research, v. 16. n. 6, p. 727-743, 2009.
  • CHRISTOFIDES, N.; WHITLOCK, C. An algorithm for two-dimensional cutting problems. Operations Research, v. 25. n. 1, p. 30-44, 1977.
  • DOWSLAND, W. B. Three-dimensional packing - solution approaches and heuristic development. International Journal of Production Research, v. 29, n. 8, p. 1673-1685, 1991.
  • ELEY, M. Solving container loading problems by block arrangement. European Journal of Operational Research, v. 141, n. 2, p. 393-409, 2002.
  • GENDREAU, M. et al. A tabu search algorithm for a routing and container loading problem. Transportation Science, v. 40, n. 3, p. 342-350, 2006.
  • GEORGE, J. A.; ROBINSON, D. F. A heuristic for packing boxes into a container. Computers and Operations Research, v. 7, n. 3, p. 147-156, 1980.
  • HAESSLER, R. W.; TALBOT, F. B. Load planning for shipments of low density products. European Journal of Operational Research, v. 44, n. 2, p. 289-299, 1990.
  • HAN, C. P.; KNOTT, K.; EGBELU, P. J. A heuristic approach to the three-dimensional cargo-loading problem. International Journal of Production Research, v. 27, n. 5, p. 757-774, 1989.
  • HERZ, J. C. Recursive computational procedure for two-dimensional stock cutting. IBM Journal of Research and Development, v. 16, n. 5, p. 462-469, 1972.
  • IORI, M.; GONZALEZ, J. S.; VIGO, D. An exact approach for the vehicle routing problem with two-dimensional loading contraints. Transportation Science, v. 41, n. 2, p. 253-264, 2007.
  • JIN, Z.; OHNO, K.; DU, J. An efficient approach for the three-dimensional container packing problem with practical constraints. Asia-Pacific Journal of Operational Research, v. 21, n. 3, p. 279-295, 2004.
  • JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S. Modelos de otimização para problemas de carregamento de contêineres com considerações de estabilidade e de empilhamento. Pesquisa Operacional, v. 30, n. 1, p. 73-98, 2010.
  • LAI, K. K.; XUE, J.; XU, B. Container packing in a multi-customer delivering operation. Computers and Industrial Engineering, v. 35. n. 1-2, p. 323-326, 1998.
  • LIN, J. L.; CHANG, C. H.; YANG, J. Y. A study of optimal system for multiple-constraint multiple-container packing problems. In: INTERNATIONAL CONFERENCE ON INDUSTRIAL, ENGINEERING AND OTHER APPLICATIONS OF APPLIED INTELLIGENT SYSTEMS, 19., 2006, Annecy. Proceedings
  • LINS, L.; LINS, S.; MORABITO, R. An n-tet graph approach for non-guillotine packing of n-dimensional boxes into an n-container. European Journal of Operational Research, v. 141, n. 2, p. 421-439, 2002.
  • MIYAZAWA, F. K.; WAKABAYASHI, Y. Approximation algorithms for the orthogonal Z-oriented three-dimensional packing problem. SIAM Journal on Computing, v. 29, n. 3, p. 1008-1029, 1999.
  • MORABITO, R.; ARENALES, M. Abordagens para o problema do carregamento de contêineres. Pesquisa Operacional, v. 17. n. 1, p. 29-56, 1997.
  • MORABITO, R.; ARENALES, M. An And/Or-graph approach to the container loading problem. International Transactions in Operational Research, v. 1. n. 1, p. 59-73, 1994.
  • MOURA, A.; BORTFELDT, A. A packing and routing application for a portuguese trading company. In: ESICUP MEETING, 6., 2009, Valencia. Resumos
  • MOURA, A.; OLIVEIRA, J. F. A GRASP approach to the container-loading problem. IEEE Intelligent Systems, v. 4, n. 20, p. 50-57, 2005.
  • MOURA, A.; OLIVEIRA, J. F. An integrated approach to vehicle routing and container loading problems. OR Spectrum, v. 31, n. 4, p. 775-800, 2009.
  • SCHEITHAUER, G. et al. A new heuristic approach for solving the multi-pallet packing problem Dresden: Technische Universität Dresden, 1996. Technical Report.
  • SILVA, J. L. C.; SOMA, N. Y. Um algoritmo polinomial para o problema de empacotamento de contêineres com estabilidade estática da carga. Pesquisa Operacional, v. 23. n. 1, p. 79-98, 2003.
  • TERNO, J. et al. An efficient approach for the multi-pallet loading problem. European Journal of Operational Research, v. 123, p. 372-381, 2000.
  • TETRIS. 25th Anniversary 2009. Disponível em: <http://www.tetris.com>. Acesso em: 14 out. 2009.
  • Abordagens para problemas de carregamento de contêineres com considerações de múltiplos destinos

    Approaches for container loading problems with multi-drop considerations
  • Datas de Publicação

    • Publicação nesta coleção
      14 Jul 2011
    • Data do Fascículo
      2011

    Histórico

    • Recebido
      21 Out 2009
    • Aceito
      14 Nov 2010
    Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
    E-mail: gp@dep.ufscar.br