Algoritmos de aproximação para problemas de
empacotamento
Flávio K. Miyazawa
UNICAMP
Seminários de Teoria da Computação
Novembro, 2020
Conteúdo
1 Problemas de Empacotamento 2 Curiosidades e Complexidade 3 Algoritmos de Aproximação 4 Mochila 5 Empacotamento em Faixa 6 Empacotamento em Recipientes 7 Outras variantes 2P
ROBLEMAS DE
E
MPACOTAMENTO
Problemas de Empacotamento
Problemas de empacotamento d -dimensionais ortogonais da Mochila / Knapsack (1K, 2K, 3K,...,d K)
em Faixa / Strip Packing (1S, 2S, 3S,...,d S)
em Recipientes / Bin Packing (1B, 2B, 3B,...,d B)
Interesse nas versões orientadas e com rotação.
Empacotamento (em um recipiente)
Entrada:
Lista de itens geométricosL(arestas alinhadas/ortogonais aos eixos) Um recipiente (geométrico)B
(Nas versões orientadas, recipientes tem dimensões iguais a 1) Saída:
EmpacotamentoP de L em B tal que
Dois itens empacotados não se interseptam Todo item deve estar contido no recipiente
Versão orientada: Itens empacotados na orientação inicial Versão c/ rotação: Itens podem ser girados de 90◦
Exemplos de empacotamentos:
Barras Retângulos Círculos Caixas
Problema da Mochila - d K
Entrada:
Lista de itens geométricosL Valorvi para cada item i ∈ L
Um recipiente (geométrico)R Itens Recipiente 8 3 4 2 2 9 3 7 3 1 Saída: SubconjuntoS⊆ L
EmpacotamentoP de S em R tal quev (S)=Pi∈Sviémáximo
Solução Ótima
7
8
9
Problema da Mochila
Aplicações
Carregamento de itens com restrições de peso Seleção de Portfolio com restrições de orçamento Escolha de itens para transmissão de dados Alocação de Propagandas
Alocação de dados em mídias, pré-paginação Problemas de alocação de banda
A B
Como subproblema de outros problemas Escalonamento de tarefas
Corte de barras, vigas, bobinas etc etc
Problema da Mochila
Alocação de propagandas
Empacotamento em Faixa - d S
Entrada:
Lista de itens geométricosL Um recipienteRde altura ilimitada Saída:
EmpacotamentoP de (todos os itens em) L em R tal que aalturade P émínima
Minimizar
Faixa 2D Faixa 2D Faixa 3D
retângulos discos caixas
Empacotamento em Faixa
Aplicações
Corte de tecido e peças de roupas Escalonamento de tarefas tempo de processamento memória da tarefa Tarefa
Retângulo: memória × tempo de processamento
Memória do computador
Tempo do escalonamento = altura do empacotamento
Problema de Empacotamento em Faixa
Alocação de propagandas
Tempo
Empacotamento em Recipientes - d B
Entrada:
Lista de itens geométricosL
Conjunto de recipientes idênticosR
Recipientes Itens
Saída:
EmpacotamentoP de (todos os itens em) L em recipientes de R tal que onúmero de recipientesem P émínimo
Um empacotamento
Empacotamento em recipientes - d B
Empacotamento de Retângulos
Empacotamento de Discos
Empacotamento em Contêineres
Empacotamento em recipientes - d B
Aplicações
Corte de barras, placas e chapas (madeira, metal, vidro etc)
161(300x269) 97(352x339) 168(343x365) 187(303x362) 129(162x359) 177(169x362) 37(221x295) 53(316x362) 125(116x285) 103(344x338) 183(346x291) Placa 1
Area ocupada 983850 ( 0.98), No. retangulos = 11 Tamanho da placa: 1000 x 1000 63(186x161) 121(169x267) 166(185x149) 124(151x184) 78(198x158) 103(179x263) 50(161x274) 173(184x156) 27(179x122) 151(187x126) 159(178x170) 95(176x188) 111(143x272) 120(187x189) 115(161x260) 178(181x115) 187(167x275) 168(188x262) 109(170x139) 140(274x109) 88(127x263) 165(268x166) 177(187x146) 97(179x268) 127(178x137) 189(176x159) 190(166x262) 102(116x174) 155(160x269) Placa 1
Area ocupada 988185 ( 0.99), No. retangulos = 29 Tamanho da placa: 1000 x 1000 168(343x453) 85(430x128) 178(424x123) 72(205x310) 163(444x137) 118(303x284) 97(352x419) 46(137x118) 103(344x418) 53(450x316) 73(202x137) 40(304x132) Placa 1
Area ocupada 990449 ( 0.99), No. retangulos = 12 Tamanho da placa: 1000 x 1000
Transporte de carga
C
URIOSIDADES E
C
OMPLEXIDADE
Curiosidades e Complexidade
Dificuldade para obter empacotamentos ótimos Pallet Loading Problem
Entrada:PlacaR = (A, B)e retângulor = (a, b)
Saída: Maximizar número de retângulos r = (a, b) ou rT = (b, a) empacotados em R.
T
r r
Só se sabe que está em EXPSPACE.
Demaine, Mitchell, O’Rourke: The Open Problems Project -Problem 55
Curiosidades e Complexidade
Dificuldade para obter empacotamentos ótimos Empacotamento de esferas iguais no espaço
Conjectura de Kepler’1611: Arranjo mais denso de esferas iguais
Provado por Thomas Hales em 1998
Curiosidades e Complexidade
On the dissection of rectangles into squares. R. L. Brooks, C. A. B. Smith, A. H. Stone, and W. T. Tutte’40.
On Packing Squares with Equal Squares. P. Erdös and R. L. Graham’75.
On Packing of Squares and Cubes. A. Meir and L. Moser’68.
Complexidade Computacional
Dificuldade para obter empacotamentos ótimos Problemas de Empacotamento são NP-difíceis Mochila 1D (versão Subset Sum), Karp’72
Versão de decisão é problema NP-completo
Curiosidades e Complexidade
Dificuldade para obter empacotamentos ótimos
Improvável existir algoritmos eficientes para problemas NP-difíceis Só se conhece algoritmos de tempo exponencial
Algoritmo eficiente leva a algoritmos eficientes para toda (imensa) classe NP
Conjectura P=NP?: Prêmio de US$ 1 milhão
A
LGORITMOS DE
A
PROXIMAÇÃO
Algoritmos de Aproximação
Algoritmoseficientes(tempo polinomial)
Análise: Quão longe do valor da solução ótima ?
Compromisso:
Tempo computacional ×Qualidade da solução
Algoritmos de Aproximação - Minimização
AAlgoritmo de tempo polinomial
A(I)Valor da solução produzida por A para entrada I OPT(I)Valor de uma solução ótima de I
A temfator de aproximação αse
A(I) ≤ α OPT(I) para toda entrada I,
A(I)
OPT(I)≤ α para toda entradaI
OPT(I) A(I)
Minimizar
A temfator de aproximação assintótico αse
A(I) ≤ α OPT(I) + β para toda entrada I, para alguma constante β
Iremos nos concentrar em fatores assintóticos
Algoritmos de Aproximação - Maximização
AAlgoritmo de tempo polinomial
A(I)Valor da solução produzida por A para entrada I OPT(I)Valor de uma solução ótima de I
A temfator de aproximação αse
OPT(I)
Maximizar
A(I)
OPT(I)≥ α para toda entradaI
A(I)
Algoritmos de Aproximação
Problemas de minimização
PTAS:Esquema de aproximação polinomial (Polynomial Time Approximation Scheme) Algoritmos Aε, para ε > 0, que
é detempo polinomialna entrada e ε fixo temfatorde aproximação1 + ε
APTAS:Esquema de aproximação assintótico (Asymptotic PTAS) Algoritmos Aε, para ε > 0, que
é detempo polinomialna entrada e ε fixo temfatorde aproximaçãoassintótico 1 + ε
M
OCHILA
Problema da Mochila
Problema 1K quando vi é tamanho de i
Algoritmo Aε(L) com mochila decapacidade 1eε >0
1.G← {i ∈ L : si ≥ ε} // itens grandes
2.P← L \ G // itens pequenos
3.Seja G conjunto de todos empacotamentos viáveis de G 4. Escolha PG ∈ G tal que tamanho P é máximo
5.Seja P obtido de PG acrescentando itens de P de maneira gulosa. 6.Devolva P.
Problema da Mochila
Mochila 1D por EspaçoTeorema. Aε é um PTAS para Mochila 1D maximizando ocupação
Ideia:
PG PG+Pequenos SejaO⊆ L uma solução ótima,
OG itens grandes de O eOP itens pequenos de O tamanho(PG)≥ tamanho(OG)
Caso 1: Se todos itens pequenos foram empacotados em PG: tamanho(PG+P)+ ≥ tamanho(OG+OP)
Caso 2: Se sobraram itens de P não empacotados: tamanho(P) ≥ 1 − ε
Problema da Mochila
Problema Fator
1K 1 − ε Ibarra, Kim’75
2K 1/3 − ε Steinberg’97
2K 1/2 − ε Jansen, Zhang’07
2K 0,529 Gálvez, Grandoni, Heydrich
Ingala, Khan, Wiese’17
3K 1/7 − ε Diedrich, Harren, Jansen Thöle, Thomas’08
(*) Recipiente aumentado de ε.
Problema da Mochila
Algoritmo A2KD(L, v )- Corolário do Algoritmo de Steinberg’97
1.P ← FPTAS-Mochila-1D(L, v), usando área como tamanho 2.S← Itens em P
3.PS ←Steinberg(S) - empacotamento em recipiente (1 × 2) 4.Particione PSem P1,P2,P3em recipientes unitários
5.Devolva Pi que tem maior valor, i ∈{1, 2, 3}
Teorema. A2KD é uma 1/3 − ε aproximação para Problema 2K.
E
MPACOTAMENTO EM
F
AIXA
Problema de Empacotamento em Faixa
Empacotamento de Quadrados
NFDHs(L)
1. Ordene L = (1, . . . , n) tal que y1≥ · · · ≥ yn
2. Para i← 1 até n:
3. Empacote i no último nível,se possível
4. caso contrário, empacote i em um novo
nível no topo do anterior m
m+1 Lt Lk L1 1 L2 s
Lema. Se xi,yi ≤ m1 para todo i ∈ L e m ∈ Z+ então
NFDHs(L) ≤ m+1m Area(L) +m1 Prova. Exercício.
Teorema. NFDHs tem fator de aproximação assintótico 2 para itens quadrados.
Prova. Exercício. Obs.: O fator também vale para itens retangulares.
Problema de Empacotamento em Faixa (*)
Problema Fator
2S 2 Sleator’80
2S 1,7 Coffman, Garey, Johnson e Tarjan’80
2S 1,25 Baker, Brown, Katseff’81
2S 1 + ε Kenyon and Rémila’00
3S 3,25 Li, Cheng’90
3S 2,89 Li, Cheng’92
3S 2,67 M., Wakabayashi’97
3S 1,69 Bansal, Han, Iwama’07
3S 1,5 Jansen, Prädel’14
(*) fatores assintóticos (**) a menos que P=NP
E
MPACOTAMENTO EM
R
ECIPIENTES
Problema de Empacotamento em Recipientes
NFDHb(L)
# Para o empacotamento de quadrados 1. Ordene L = (1, . . . , n) tal que y1≥ · · · ≥ yn 2. Para i ← 1 até n:
3. Empacote i no último nível (do último recipiente),se possível 4. caso contrário, em novo nível no topo do nível anterior, 5. caso contrário, em novo nível de um novo recipiente.
Lema. Se xi,yi ≤ m1 para todo i ∈ L e m ∈ Z+ então
NFDHb(L) ≤ m+1 m
2
Area(L) +m+2m
Teorema. NFDHb tem fator de aproximação assintótico 4 para quadrados.
Prova. Exercício.
Problema de Empacotamento em Recipientes - d B
Problema Fator
1B 1,222 . . . Johnson’73
1B 1 + ε Fernandez de la Vega, Lueker’81
2B 2,125 Chung, Garey, Johnson’82
2B 2 + ε Kenyon, Remila’00
2B 1,691 . . . Caprara’02
2B 1,52 . . . Bansal, Caprara, Sviridenko’09
2B 1,5 Jansen, Prädel’13
2B 1,405 . . . Bansal, Khan’14
2B Não admite APTAS(**) Bansal, Correa, Kenyon, Sviridenko’06
3B 4,84 . . . Li, Cheng’92; Csirik, van Vliet’93
3B 3,38 + ε Bansal, Han, Iwama’07
3B 3 + ε Jansen, Prädel’14
(*) fatores assintóticos; (**) a menos que P=NP
Problema de Empacotamento 1B
Algoritmo Aε(L),ε >0
1.G← {i ∈ L : si ≥ ε} // itens grandes
2.P← L \ G // itens pequenos
3.Obtenha empacotamento quase ótimo PG para G
4.Seja P obtido de PG acrescentando itens de P de maneira gulosa. 5.Devolva P.
Fernandez de la Vega, Luecker’81: Utilizaram técnica de
arredondamento Linear Grouping e arredondamento por programas lineares para o passo 3.
Corolário: Para todo ε > 0, existe algoritmo de tempo polinomial A para o Problema 1B tal que
A(L) ≤ (1 + ε)OPT(L) + 1
Com rotações ortogonais
Directions for further research [...] A second line of attack would be to design and analyze algorithms which could make use of the fact that, in some applications, 90◦rotations of rectangles might be allowable.
Algorithms which consider the possibility of rotations might well yield improvements. Can one prove worst case bounds that reflect these improvements ?
F.R. Chung, M.R. Garey and D.S. Johnson’82 E.G. Coffman Jr., M.R. Garey, D.S. Johnson and R.E. Tarjan’80
Fato. Se existe uma α-aproximação para o caso geral com rotações ortogonais dos problemas d K, d S ou d B, esta aproximação também vale para o caso orientado.
Com rotações ortogonais
Problema Fator
2K 1/2 − ε Jansen, Zhang’07
2S 2 Coffman Jr., Garey, Johnson, Tarjan’80
2S 1,5 Epstein, van Stee’04
2S 1 + ε Jansen, van Stee’05
2B 2,67 M., Wakabayashi’00
2B 2,64 M., Wakabayashi’04
2B 2 + ε Jansen, van Stee’05
3S 2,76 M., Wakabayashi’00
3S & z-orientado 2,54 M., Wakabayashi’00 3S & z-orientado 2,25 Epstein, van Stee’05
3B 4,89 M., Wakabayashi’04
Com rotações ortogonais em quadrados/cubos
Problema Fator
2K em quadrados 2/3 Gálvez, Grandoni, Heydrich Ingala, Khan, Wiese’17 3K em cubos 1/5 − ε Diedrich, Harren, Jansen,
Thöle, Thomas’08 2B & em quadrados 2,543 M., Wakabayashi’00 2B & em quadrados 2,25 Epstein, van Stee’05 2B & em quadrados 1,52 Bansal, Caprara, Sviridenko’09 2B & em quadrados 1,5 Jansen, Prädel’13 2B & em quadrados 1,405 Bansal, Khan’14 3B & em cubos 4,5 Epstein, van Stee’05
O
UTRAS VARIANTES
Problema d B com Cubos d -dimensionais
Fator
(3/2)d − (3/4)d+1 Coppersmith, Raghavan’89 (4/3)d − (8/9)d+1 M., Wakabayashi’00
2 − (2/3)d Kohayakawa, M., Raghavan, Wakabayashi’01
1 + ε Bansal, Correa, Kenyon, Sviridenko’04
Problema de Empacotamento Círculos, Esferas,
Elipsóides,... d -dimensionais
(∗)Teorema. Decidir se um conjunto de círculos pode ser empacotado em um quadrado é NP-difícil. Demaine, Fekete, Lang’10.
Problema Fator
Circle Knapsack 1−ε Lintzmayer, M., Xavier’18 Sphere d -Bin(+) 1+ε M., Pedrosa, Schouery,
Sviridenko, Wakabayashi’14 Sphere d -Strip(+) 1+ε M., Pedrosa, Schouery,
Sviridenko, Wakabayashi’14
(∗)Recipientes aumentados de ε e d constante. (+)Outras formas válidas: elipsóides, polígonos regulares, uma das abaixo,...
Problema de Empacotamento Círculos, Esferas,
Elipsóides,... d -dimensionais
Ideia do APTAS para círculos e esferas
Algoritmo Aε(L),ε >0
1.Encontre conjunto S ⊂ L e partição G1,G2, . . . ,Gk de L\ S tal que: Existe empacotamento PS de S tal que|PS| ≤ εOPT(L)
Itens de Gi são muito menores que os de Gi−1, para i = 2, 3, . . . , k . Razão entre maior e menor itens em Gi é limitado por constante.
2.Obtenha empacotamentos quase ótimos Pide Gi, para i = 1, . . . , k
3.P ← P1
4.Para i = 2 a k faça
5. Empacote os recipientes de Pi entre itens de Pi−1
6.Devolva P.
Outras variantes/linhas
Empacotamentos Online Triângulos e outras formas Algoritmos quasi-polinomiais
(1 + ε)-approximação para Problema 2K - Adamaszek, Wiese’15 Empacotamentos de itens irregulares
Ex: Quasi-Polynomial O(1)-approximation for 2K with convex polygons - Merino, Wiese’20
Em prateleiras, estágios, cortes guilhotinados, etc Parametrizados no tamanho
Restrições de itens com classes, cores etc Integração com outros problemas e restrições
Problemas de roteamento Problemas em Teoria dos Jogos Problemas de clusterização etc
OBRIGADO!