Aluno: Rafael Durbano Lobato
Orientador: Ernesto G. Birgin
Tipo de trabalho: Iniciação científica (com apoio financeiro
da FAPESP)
O problema clássico de empacotamento de retângulos em retângulos
consiste em arranjar ortogonalmente itens retangulares, de dimensões
, num retângulo maior, de dimensões
, sem
sobreposição. O objetivo é determinar uma disposição com a maior
quantidade possível de itens. Conjectura-se que a versão
não-guilhotinada do problema é
NP-difícil. Neste trabalho abordaremos este problema, assim como
uma variante na qual os itens retangulares devem ser empacotados em
regiões convexas arbitrárias. Para os dois problemas,
estudaremos os métodos existentes e proporemos novos modelos e
algoritmos.
Palavras-chave: Empacotamento, modelos, programação não-linear, programação dinâmica, algoritmos recursivos.
Neste trabalho abordaremos inicialmente duas variantes do problema de
empacotamento de retângulos: (a) empacotamento ortogonal de
retângulos em retângulos (problema de carregamento de palete - PCP)
e (b) empacotamento ``ortogonal'' de retângulos em regiões convexas
arbitrárias. O PCP consiste em arranjar, sem sobreposição, caixas
retangulares idênticas num palete retangular. As caixas devem ser
colocadas ortogonalmente, isto é, seus lados devem ser paralelos aos
lados do palete, e podem sofrer rotações de 90
. O objetivo é
determinar um arranjo com a maior quantidade possível de caixas.
Morabito e Morales [11] apresentaram um método para
empacotar ortogonalmente retângulos idênticos
e
em um retângulo
, sem sobreposição, considerando que
são inteiros positivos satisfazendo
,
e
.
Trata-se de um procedimento recursivo, que divide o retângulo em cinco
partes (seguindo o padrão de corte não-guilhotinado de primeira ordem),
cada uma destas com tamanhos
, conforme a Figura
1, e resolve o problema para cada uma destas novas partes.
Os locais onde são feitas as divisões são determinados pelas
coordenadas
,
,
e
, como mostra a Figura
2. Como
e
pertencem ao conjunto
e
e
ao conjunto
, existem infinitas possibilidades de particionamento do
palete. No entanto, pode-se mostrar que estes conjuntos podem ser
reduzidos, sem perda de generalidade, aos conjuntos normais
(Beasley [2])
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
ou aos conjuntos dos raster points (Scheithauer e
Terno [12])
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
onde
max
. Esses conjuntos formam uma grade de pontos, limitando as
possibilidades de particionamento.
Em outro trabalho, Lins, Lins e Morabito [8] propuseram substituir o particionamento recursivo em cinco regiões por um particionamento recursivo de um retângulo (R) ou uma peça em forma de L (L) em duas peças, cada uma das quais sendo um R ou um L. A eficiência do método depende fortemente da quantidade de partições e do cálculo de limitantes para o número de itens retangulares que podem ser empacotados num determinado objeto. A Figura 3 mostra um exemplo de uma das possíveis divisões em L. Apesar dos autores afirmarem que há sete formas de particionar um retângulo, aparentemente existem mais duas, ilustradas na Figura 4, não relacionadas neste artigo.
Em [8] os autores informam que foi possível resolver
todos os problemas de testes (mais de 20000, incluindo as 18 instâncias
não resolvidas pelo método anterior). Eles conjecturaram que a
abordagem em L sempre encontra empacotamentos ótimos de
retângulos
em peças retangulares.
![]() |
Neste estudo queremos agregar ao método proposto em [8]
as vantagens da utilização dos conjuntos dos raster points
para formar a grade de particionamento. A cardinalidade destes
conjuntos é menor do que a dos conjuntos normais, podendo-se reduzir
consideravelmente a quantidade de chamadas recursivas ao método. Outro
ponto importante a ser abordado é o da determinação eficiente de bons
limitantes, principalmente inferiores, para o número de caixas que
podem ser arranjadas em um retângulo. Experimentos realizados
em [11] revelaram que o método pode se tornar muito mais
eficiente começando-se com um bom limitante inferior. É possível,
também, que uma combinação dos algoritmos propostos em [11]
e [8] resulte num programa com melhor desempenho,
utilizando-se os resultados do primeiro algoritmo como limitantes
inferiores iniciais para o segundo. Finalmente, analisaremos se a
inclusão dos novos padrões de cortes (apresentados neste projeto)
permite resolver o problema apresentado em [8] como
contra-exemplo de que o Algortimo-
é ótimo para o problema de
empacotar retângulos num objeto com forma de
.
Modelos não-lineares têm sido recentemente empregados com sucesso para modelar diversos problemas de corte e empacotamento. Uma formulação não-linear para o problema bidimensional de cortes não-guilhotinados foi apresentada em [4], onde o modelo foi utilizado para a definição de uma heurística populacional. O Método de Sentinelas para empacotamento de itens poligonais em objetos arbitrários foi introduzida em [7]. O método é baseado em análise convexa e formulações não-lineares para o tratamento da sobreposição dos itens. Modelos não-lineares também foram utilizados com sucesso em outros problemas de empacotamento, como o empacotamento de moléculas [9] e o empacotamento de itens circulares em diversos tipos de objetos [5,13,14,10], dentre outros.
Em [6] é considerado o problema de empacotar, ortogonalmente,
itens retangulares em regiões convexas. O problema é modelado como o
problema de decidir se é possível empacotar
retângulos, com base
em um conjunto de equações e inequações não-lineares que compõem as
restrições do problema. Ao contrário deste, que possui restrições
sobre a orientação dos retângulos, o Método de Sentinelas [7]
permite rotações livres dos itens. A idéia principal está na definição
de um conjunto de pontos sobre cada item, com a propriedade de que
dois itens estão sobrepostos se, e somente se, pelo menos um destes
pontos de um item está no interior do outro. Tais pontos são chamados
de sentinelas e estão ilustrados na Figura 5.
No caso do corte (ou empacotamento) possuir restrições de ortogonalidade, os modelos são mais simples, no sentido de que os problemas são mais fáceis de resolver, e são variantes do modelo proposto em [6]. Esta situação pode ocorrer, por exemplo, quando uma máquina não possui liberdade para efetuar cortes em diversas direções, permitindo apenas cortes ortogonais, ou quando o material a ser cortado é anisotrópico e deve-se manter uma determinada orientação no desenho das peças. Por outro lado, se for interessante permitir rotações livres dos itens a serem empacotados ou cortados, então as restrições serão baseadas no conceito de sentinelas.
Com relação ao problema de carregamento de palete, pretendemos:
Com relação ao problema de empacotar itens retangulares numa região convexa arbitrária, seguiremos de perto os métodos propostos em [7,6]. Em [7] foi abordado o problema de empacotar itens retangulares em regiões convexas arbitrárias com rotações livres. Em [6] foi abordado o mesmo problema, mas restringindo o empacotamento a configurações com os itens ortogonais aos eixos cartesianos. No primeiro caso, a liberdade das rotações livres tem o potencial de permitir que um número maior de itens seja empacotado. Porém, o modelo que considera as rotações livres, baseado no conceito de ``Sentinelas'', é um modelo de programação não-linear mais difícil de ser resolvido do que o modelo do problema que só permite rotações ortogonais.
Pretendemos desenvolver um novo modelo que tente capturar as vantagens dos dois modelos anteriores: (i) ter o potencial de empacotar um número maior de itens; e (ii) ser fácil de resolver. Estamos nos referindo a um modelo que modele a situação na qual os retângulos têm que ser ortogonais entre si, mas não necessariamente ortogonais aos eixos cartesianos. Esse modelo será adequado para o problema de corte no qual a máquina de corte está restrita a fazer cortes ortogonais, mas o objeto a ser cortado é isotrópico e, portanto, os itens não precisam ter uma orientação fixa dentro do objeto.
Estudamos e implementamos o algoritmo descrito em [11],
incorporando de forma eficiente os conjuntos de raster points
[12]. Também estudamos e implementamos o algoritmo descrito em
[8]. Incorporamos os raster points ao
Algoritmo-
e introduzimos duas novas formas de dividir uma peça em
em dois novos
s, que não estavam previstas em
[8].
Provamos resultados importantes a respeito dos raster points. Em particular, provamos resultados que mostram que: (i) as simetrias envolvidas nas divisões dos retângulos continuam válidas com a utilização de raster points e (ii) a quantidade de memória exigida para armazenar informações dos subproblemas pode ser ainda menor do que foi mostrado em [3].
A monografia será composta por duas partes: uma parte técnica, na qual descreverei o trabalho realizado e uma parte subjetiva, onde será relacionada a experiência adquirida na iniciação científica com o Bacharelado em Ciência da Computação. A estrutura esperada da monografia será a seguinte:
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html proposta.tex -style proposta.css -address http://www.ime.usp.br/ lobato/ -t 'Rafael Durbano Lobato' -split 1 -show_section_numbers -antialias
The translation was initiated by on 2006-07-03