Algoritmos de otimização de corte e desperdício | Construpedia
Navegación
Algoritmos de otimização de corte e desperdício
Introdução
Em geral
Corte guilhotina é o processo de produção de pequenas formas retangulares de dimensões fixas a partir de uma determinada folha retangular grande, usando apenas cortes guilhotinados. Um corte de guilhotina (também chamado de corte de ponta a ponta) é uma linha reta que se estende de uma borda de um retângulo existente até a borda oposta, semelhante ao que uma guilhotina faz com o papel.
O corte guilhotina é particularmente comum na indústria do vidro. Folhas de vidro são marcadas em linhas horizontais e verticais e depois quebradas ao longo dessas linhas para obter painéis menores.[1] O procedimento também é útil para cortar chapas de aço, cortar folhas de madeira para fazer móveis e para cortar papelão usado na fabricação de caixas.[2].
Existem vários problemas de otimização relacionados ao corte guilhotinado, como maximizar a área total das peças produzidas ou o seu valor total; ou também minimizar a quantidade de desperdício (peças não utilizadas) da chapa grande, ou o número total de chapas. Eles foram estudados em geometria discreta, pesquisa operacional e engenharia industrial.[3].
Um problema relacionado, mas diferente, é o "particionamento guilhotina").
Terminologia e suposições
Os termos e notações a seguir são frequentemente usados na literatura sobre corte guilhotina.
Alguns problemas aceitam entradas adicionais, conforme explicado abaixo. O objetivo é cortar alguns retângulos menores do retângulo áspero que tenham as dimensões desejadas. As seguintes suposições são frequentemente feitas:[2].
Verificando um determinado padrão
No problema de verificação de padrões, há um padrão de corte dado como uma sequência de pontos (x,y), para i em 1,...,m, onde (x,y) é a coordenada inferior esquerda do retângulo i (há um único retângulo de cada dimensão alvo). O objetivo é decidir se esse padrão pode ser implementado utilizando apenas cortes de guilhotina e, em caso afirmativo, encontrar uma sequência para tais cortes.
Algoritmos de otimização de corte e desperdício
Introdução
Em geral
Corte guilhotina é o processo de produção de pequenas formas retangulares de dimensões fixas a partir de uma determinada folha retangular grande, usando apenas cortes guilhotinados. Um corte de guilhotina (também chamado de corte de ponta a ponta) é uma linha reta que se estende de uma borda de um retângulo existente até a borda oposta, semelhante ao que uma guilhotina faz com o papel.
O corte guilhotina é particularmente comum na indústria do vidro. Folhas de vidro são marcadas em linhas horizontais e verticais e depois quebradas ao longo dessas linhas para obter painéis menores.[1] O procedimento também é útil para cortar chapas de aço, cortar folhas de madeira para fazer móveis e para cortar papelão usado na fabricação de caixas.[2].
Existem vários problemas de otimização relacionados ao corte guilhotinado, como maximizar a área total das peças produzidas ou o seu valor total; ou também minimizar a quantidade de desperdício (peças não utilizadas) da chapa grande, ou o número total de chapas. Eles foram estudados em geometria discreta, pesquisa operacional e engenharia industrial.[3].
Um problema relacionado, mas diferente, é o "particionamento guilhotina").
Terminologia e suposições
Os termos e notações a seguir são frequentemente usados na literatura sobre corte guilhotina.
Alguns problemas aceitam entradas adicionais, conforme explicado abaixo. O objetivo é cortar alguns retângulos menores do retângulo áspero que tenham as dimensões desejadas. As seguintes suposições são frequentemente feitas:[2].
Verificando um determinado padrão
No problema de verificação de padrões, há um padrão de corte dado como uma sequência de pontos (,), para i em 1,...,, onde (,) é a coordenada inferior esquerda do retângulo (há um único retângulo de cada dimensão alvo). O objetivo é decidir se esse padrão pode ser implementado utilizando apenas cortes de guilhotina e, em caso afirmativo, encontrar uma sequência para tais cortes.
Uma condição necessária óbvia é que não haja dois retângulos de entrada sobrepostos em ambas as dimensões. Ben Messaoud, Chengbin e Espinouse[5] estabeleceram uma condição mais forte, que é ao mesmo tempo necessária e suficiente. Os retângulos de entrada são organizados da esquerda para a direita, então x = ... = x. Há uma permutação p nos índices tal que, com essa permutação, os retângulos seriam ordenados de baixo para cima, ou seja, y = ... = y. Dados quatro índices i = i e j = j, o conjunto E(i,i,j,j) contém os índices de todos os retângulos cujo canto inferior esquerdo está no retângulo [x,x] X [y,y]. Um padrão de corte é um padrão de guilhotina se e somente se, para todas as quaternas de índices i = i e j = j, pelo menos uma das seguintes condições for atendida para E(i,i,j,j):.
A condição 2 implica que os retângulos em E(i,i,j,j) podem ser separados por um corte vertical (que vai entre os dois intervalos horizontais). A condição 3 implica que os retângulos em E(i,i,j,j) podem ser separados por um corte horizontal. Todas as condições juntas implicam que se qualquer conjunto de retângulos adjacentes contiver mais de um elemento, então eles poderão ser separados por algum corte de guilhotina.
Esta condição pode ser verificada usando o seguinte algoritmo:.
Encontrar um corte de guilhotina para um determinado padrão é feito da seguinte forma:.
As etapas de classificação são realizadas uma vez e a etapa de mesclagem é realizada m-1 vezes. Portanto, o tempo de execução de todo o algoritmo é O(m).
Quando o algoritmo retorna “sim”, ele também produz uma sequência de cortes de guilhotina; quando retorna "não", também produz subconjuntos específicos de retângulos que não podem ser separados por cortes de guilhotina.
A condição necessária e suficiente pode ser usada para apresentar o problema do corte de tiras guilhotina como um programa linear inteiro misto.[5] Seu modelo tem 3n/4 variáveis binárias e 2n restrições, e não é considerado útil na prática.
Encontrando um padrão de corte ideal
Contenido
Estas son variantes de los problemas bidimensionales de corte de material, empaquetado en contenedores") y empaquetado de rectángulos, donde los cortes están obligados a ser cortes con guillotina.[6].
Algoritmos de otimização
O caso especial em que existe apenas um tipo (ou seja, todos os retângulos alvo são idênticos e na mesma orientação) é chamado de problema de "carregamento de paletes guilhotina". Tarnowski, Terno e Scheithauer[10] desenvolveram um algoritmo de tempo polinomial para resolvê-lo.
Entretanto, quando existem dois ou mais tipos, todos os problemas de otimização relacionados ao corte guilhotina são NP-difíceis. Devido à sua importância prática, vários algoritmos exatos e algoritmos de aproximação foram desenvolvidos.
separação guilhotina
Separação guilhotina é um problema relacionado onde a entrada é uma coleção de n formas convexas separadas por pares no plano, e o objetivo é separá-las usando uma sequência de cortes guilhotinados. Obviamente, pode não ser possível separá-los todos. Jorge Urrutia Galicia") colocou a questão de saber se é possível separar uma fração constante deles,[18] isto é, se existe uma constante c tal que, em qualquer coleção de tamanho n, existe um subconjunto de tamanho cn que é separável por guilhotina.
Pach e Tardos[19] mostraram que:.
Abed, Chalermsook, Correa, Karrenbauer, Pérez-Lantero, Soto e Wiese[20] demonstraram que:.
Khan e Pittu[21] demonstraram:
Mais variantes
Algumas variantes do problema incluem:
Referências
[1] ↑
[2] ↑ a b c d Beasley, J. E. (1 de abril de 1985). «Algorithms for Unconstrained Two-Dimensional Guillotine Cutting». Journal of the Operational Research Society 36 (4): 297-306. ISSN 0160-5682. S2CID 58059319. doi:10.1057/jors.1985.51.: https://doi.org/10.1057/jors.1985.51
[4] ↑ a b c Clautiaux, François; Jouglet, Antoine; Moukrim, Aziz (17 de octubre de 2011). «A New Graph-Theoretical Model for the Guillotine-Cutting Problem». INFORMS Journal on Computing 25 (1): 72-86. ISSN 1091-9856. doi:10.1287/ijoc.1110.0478.: https://pubsonline.informs.org/doi/abs/10.1287/ijoc.1110.0478
[5] ↑ a b c Ben Messaoud, Said; Chu, Chengbin; Espinouse, Marie-Laure (16 de noviembre de 2008). «Characterization and modelling of guillotine constraints». European Journal of Operational Research (en inglés) 191 (1): 112-126. ISSN 0377-2217. doi:10.1016/j.ejor.2007.08.029.: http://www.sciencedirect.com/science/article/pii/S0377221707009083
[6] ↑ a b M. Hifi, R. M’Hallah and T. Saadi, Approximate and exact algorithms for the double-constrained two-dimensional guillotine cutting stock problem. Computational Optimization and Applications, Volume 42, Number 2 (2009), 303-326, doi 10.1007/s10589-007-9081-5.: https://dx.doi.org/10.1007/s10589-007-9081-5
[7] ↑ Carlier, Jacques; Clautiaux, François; Moukrim, Aziz (1 de agosto de 2007). «New reduction procedures and lower bounds for the two-dimensional bin packing problem with fixed orientation». Computers & Operations Research (en inglés) 34 (8): 2223-2250. ISSN 0305-0548. doi:10.1016/j.cor.2005.08.012.: http://www.sciencedirect.com/science/article/pii/S0305054805002765
[8] ↑ a b Russo, Mauro; Boccia, Maurizio; Sforza, Antonio; Sterle, Claudio (2020). «Constrained two-dimensional guillotine cutting problem: upper-bound review and categorization». International Transactions in Operational Research (en inglés) 27 (2): 794-834. ISSN 1475-3995. S2CID 195551953. doi:10.1111/itor.12687.: https://onlinelibrary.wiley.com/doi/abs/10.1111/itor.12687
[10] ↑ Tarnowski, A. G.; Terno, J.; Scheithauer, G. (1 de noviembre de 1994). «A Polynomial Time Algorithm For The Guillotine Pallet Loading Problem». INFOR: Information Systems and Operational Research 32 (4): 275-287. ISSN 0315-5986. doi:10.1080/03155986.1994.11732257.: https://doi.org/10.1080/03155986.1994.11732257
[11] ↑ Gilmore, P. C.; Gomory, R. E. (1 de febrero de 1965). «Multistage Cutting Stock Problems of Two and More Dimensions». Operations Research 13 (1): 94-120. ISSN 0030-364X. doi:10.1287/opre.13.1.94.: https://pubsonline.informs.org/doi/abs/10.1287/opre.13.1.94
[12] ↑ Gilmore, P. C.; Gomory, R. E. (1 de diciembre de 1966). «The Theory and Computation of Knapsack Functions». Operations Research 14 (6): 1045-1074. ISSN 0030-364X. doi:10.1287/opre.14.6.1045.: https://pubsonline.informs.org/doi/abs/10.1287/opre.14.6.1045
[13] ↑ a b Herz, J. C. (September 1972). «Recursive Computational Procedure for Two-dimensional Stock Cutting». IBM Journal of Research and Development 16 (5): 462-469. ISSN 0018-8646. doi:10.1147/rd.165.0462.: https://ieeexplore.ieee.org/document/5391454
[14] ↑ Christofides, Nicos; Whitlock, Charles (1 de febrero de 1977). «An Algorithm for Two-Dimensional Cutting Problems». Operations Research 25 (1): 30-44. ISSN 0030-364X. doi:10.1287/opre.25.1.30.: https://pubsonline.informs.org/doi/abs/10.1287/opre.25.1.30
[15] ↑ O. B. G. Masden (1980), IMSOR working paper, Technical university of Denmark, Lyngby.
[16] ↑ Wang, P. Y. (1 de junio de 1983). «Two Algorithms for Constrained Two-Dimensional Cutting Stock Problems». Operations Research 31 (3): 573-586. ISSN 0030-364X. doi:10.1287/opre.31.3.573.: https://pubsonline.informs.org/doi/abs/10.1287/opre.31.3.573
[17] ↑ Michael L. McHale, Roshan P. Shah Cutting the Guillotine Down to Size. PC AI magazine, Volume 13, Number 1 Jan/Feb 99. http://www.amzi.com/articles/papercutter.htm.: http://www.amzi.com/articles/papercutter.htm
[18] ↑ Problem presented at ACCOTA '96, Combinatorial and Computational Aspects of Optimization Topology and Algebra, Taxco, Mexico 1996.
[19] ↑ Pach, J.; Tardos, G. (2000). «Cutting Glass». Discrete and Computational Geometry (en inglés) 24 (2–3): 481-496. ISSN 0179-5376. S2CID 1737527. doi:10.1007/s004540010050.: https://elibrary.ru/item.asp?id=986870
[20] ↑ Abed, Fidaa; Chalermsook, Parinya; Correa, José; Karrenbauer, Andreas; Pérez-Lantero, Pablo; Soto, José A.; Wiese, Andreas (2015). On Guillotine Cutting Sequences. pp. 1-19. ISBN 978-3-939897-89-7. doi:10.4230/LIPIcs.APPROX-RANDOM.2015.1.: https://kops.uni-konstanz.de/handle/123456789/33469
[21] ↑ a b Khan, Arindam; Pittu, Madhusudhan Reddy (2020). «On Guillotine Separability of Squares and Rectangles». En Byrka, Jaros\law; Meka, Raghu, eds. Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2020). Leibniz International Proceedings in Informatics (LIPIcs) (Dagstuhl, Germany: Schloss Dagstuhl–Leibniz-Zentrum für Informatik) 176: 47:1-47:22. ISBN 978-3-95977-164-1. doi:10.4230/LIPIcs.APPROX/RANDOM.2020.47.: https://drops.dagstuhl.de/opus/volltexte/2020/12650
[22] ↑ Martin, Mateus; Oliveira, José Fernando; Silva, Elsa; Morabito, Reinaldo; Munari, Pedro (8 de noviembre de 2020). «Three-dimensional guillotine cutting problems with constrained patterns: MILP formulations and a bottom-up algorithm». Expert Systems with Applications (en inglés) 168: 114257. ISSN 0957-4174. S2CID 228839108. doi:10.1016/j.eswa.2020.114257.: http://www.sciencedirect.com/science/article/pii/S0957417420309726
[23] ↑ Baazaoui, M.; Hanafi, S.; Kamoun, H. (1 de noviembre de 2014). «A Mathematical formulation and a lower bound for the three-dimensional multiple-bin-size bin packing problem (MBSBPP): A Tunisian industrial case». 2014 International Conference on Control, Decision and Information Technologies (CoDIT). pp. 219-224. ISBN 978-1-4799-6773-5. S2CID 18598442. doi:10.1109/CoDIT.2014.6996896.: https://ieeexplore.ieee.org/document/6996896
[24] ↑ Martin, Mateus; Hokama, Pedro H. D. B.; Morabito, Reinaldo; Munari, Pedro (2 de mayo de 2020). «The constrained two-dimensional guillotine cutting problem with defects: an ILP formulation, a Benders decomposition and a CP-based algorithm». International Journal of Production Research 58 (9): 2712-2729. ISSN 0020-7543. S2CID 197434029. doi:10.1080/00207543.2019.1630773.: https://doi.org/10.1080/00207543.2019.1630773
x
y
m
x
y
i
Uma condição necessária óbvia é que não haja dois retângulos de entrada sobrepostos em ambas as dimensões. Ben Messaoud, Chengbin e Espinouse[5] estabeleceram uma condição mais forte, que é ao mesmo tempo necessária e suficiente. Os retângulos de entrada são organizados da esquerda para a direita, então x = ... = x. Há uma permutação p nos índices tal que, com essa permutação, os retângulos seriam ordenados de baixo para cima, ou seja, y = ... = y. Dados quatro índices i = i e j = j, o conjunto E(i,i,j,j) contém os índices de todos os retângulos cujo canto inferior esquerdo está no retângulo [x,x] X [y,y]. Um padrão de corte é um padrão de guilhotina se e somente se, para todas as quaternas de índices i = i e j = j, pelo menos uma das seguintes condições for atendida para E(i,i,j,j):.
A condição 2 implica que os retângulos em E(i,i,j,j) podem ser separados por um corte vertical (que vai entre os dois intervalos horizontais). A condição 3 implica que os retângulos em E(i,i,j,j) podem ser separados por um corte horizontal. Todas as condições juntas implicam que se qualquer conjunto de retângulos adjacentes contiver mais de um elemento, então eles poderão ser separados por algum corte de guilhotina.
Esta condição pode ser verificada usando o seguinte algoritmo:.
Encontrar um corte de guilhotina para um determinado padrão é feito da seguinte forma:.
As etapas de classificação são realizadas uma vez e a etapa de mesclagem é realizada m-1 vezes. Portanto, o tempo de execução de todo o algoritmo é O(m).
Quando o algoritmo retorna “sim”, ele também produz uma sequência de cortes de guilhotina; quando retorna "não", também produz subconjuntos específicos de retângulos que não podem ser separados por cortes de guilhotina.
A condição necessária e suficiente pode ser usada para apresentar o problema do corte de tiras guilhotina como um programa linear inteiro misto.[5] Seu modelo tem 3n/4 variáveis binárias e 2n restrições, e não é considerado útil na prática.
Encontrando um padrão de corte ideal
Contenido
Estas son variantes de los problemas bidimensionales de corte de material, empaquetado en contenedores") y empaquetado de rectángulos, donde los cortes están obligados a ser cortes con guillotina.[6].
Algoritmos de otimização
O caso especial em que existe apenas um tipo (ou seja, todos os retângulos alvo são idênticos e na mesma orientação) é chamado de problema de "carregamento de paletes guilhotina". Tarnowski, Terno e Scheithauer[10] desenvolveram um algoritmo de tempo polinomial para resolvê-lo.
Entretanto, quando existem dois ou mais tipos, todos os problemas de otimização relacionados ao corte guilhotina são NP-difíceis. Devido à sua importância prática, vários algoritmos exatos e algoritmos de aproximação foram desenvolvidos.
separação guilhotina
Separação guilhotina é um problema relacionado onde a entrada é uma coleção de n formas convexas separadas por pares no plano, e o objetivo é separá-las usando uma sequência de cortes guilhotinados. Obviamente, pode não ser possível separá-los todos. Jorge Urrutia Galicia") colocou a questão de saber se é possível separar uma fração constante deles,[18] isto é, se existe uma constante c tal que, em qualquer coleção de tamanho n, existe um subconjunto de tamanho cn que é separável por guilhotina.
Pach e Tardos[19] mostraram que:.
Abed, Chalermsook, Correa, Karrenbauer, Pérez-Lantero, Soto e Wiese[20] demonstraram que:.
Khan e Pittu[21] demonstraram:
Mais variantes
Algumas variantes do problema incluem:
Referências
[1] ↑
[2] ↑ a b c d Beasley, J. E. (1 de abril de 1985). «Algorithms for Unconstrained Two-Dimensional Guillotine Cutting». Journal of the Operational Research Society 36 (4): 297-306. ISSN 0160-5682. S2CID 58059319. doi:10.1057/jors.1985.51.: https://doi.org/10.1057/jors.1985.51
[4] ↑ a b c Clautiaux, François; Jouglet, Antoine; Moukrim, Aziz (17 de octubre de 2011). «A New Graph-Theoretical Model for the Guillotine-Cutting Problem». INFORMS Journal on Computing 25 (1): 72-86. ISSN 1091-9856. doi:10.1287/ijoc.1110.0478.: https://pubsonline.informs.org/doi/abs/10.1287/ijoc.1110.0478
[5] ↑ a b c Ben Messaoud, Said; Chu, Chengbin; Espinouse, Marie-Laure (16 de noviembre de 2008). «Characterization and modelling of guillotine constraints». European Journal of Operational Research (en inglés) 191 (1): 112-126. ISSN 0377-2217. doi:10.1016/j.ejor.2007.08.029.: http://www.sciencedirect.com/science/article/pii/S0377221707009083
[6] ↑ a b M. Hifi, R. M’Hallah and T. Saadi, Approximate and exact algorithms for the double-constrained two-dimensional guillotine cutting stock problem. Computational Optimization and Applications, Volume 42, Number 2 (2009), 303-326, doi 10.1007/s10589-007-9081-5.: https://dx.doi.org/10.1007/s10589-007-9081-5
[7] ↑ Carlier, Jacques; Clautiaux, François; Moukrim, Aziz (1 de agosto de 2007). «New reduction procedures and lower bounds for the two-dimensional bin packing problem with fixed orientation». Computers & Operations Research (en inglés) 34 (8): 2223-2250. ISSN 0305-0548. doi:10.1016/j.cor.2005.08.012.: http://www.sciencedirect.com/science/article/pii/S0305054805002765
[8] ↑ a b Russo, Mauro; Boccia, Maurizio; Sforza, Antonio; Sterle, Claudio (2020). «Constrained two-dimensional guillotine cutting problem: upper-bound review and categorization». International Transactions in Operational Research (en inglés) 27 (2): 794-834. ISSN 1475-3995. S2CID 195551953. doi:10.1111/itor.12687.: https://onlinelibrary.wiley.com/doi/abs/10.1111/itor.12687
[10] ↑ Tarnowski, A. G.; Terno, J.; Scheithauer, G. (1 de noviembre de 1994). «A Polynomial Time Algorithm For The Guillotine Pallet Loading Problem». INFOR: Information Systems and Operational Research 32 (4): 275-287. ISSN 0315-5986. doi:10.1080/03155986.1994.11732257.: https://doi.org/10.1080/03155986.1994.11732257
[11] ↑ Gilmore, P. C.; Gomory, R. E. (1 de febrero de 1965). «Multistage Cutting Stock Problems of Two and More Dimensions». Operations Research 13 (1): 94-120. ISSN 0030-364X. doi:10.1287/opre.13.1.94.: https://pubsonline.informs.org/doi/abs/10.1287/opre.13.1.94
[12] ↑ Gilmore, P. C.; Gomory, R. E. (1 de diciembre de 1966). «The Theory and Computation of Knapsack Functions». Operations Research 14 (6): 1045-1074. ISSN 0030-364X. doi:10.1287/opre.14.6.1045.: https://pubsonline.informs.org/doi/abs/10.1287/opre.14.6.1045
[13] ↑ a b Herz, J. C. (September 1972). «Recursive Computational Procedure for Two-dimensional Stock Cutting». IBM Journal of Research and Development 16 (5): 462-469. ISSN 0018-8646. doi:10.1147/rd.165.0462.: https://ieeexplore.ieee.org/document/5391454
[14] ↑ Christofides, Nicos; Whitlock, Charles (1 de febrero de 1977). «An Algorithm for Two-Dimensional Cutting Problems». Operations Research 25 (1): 30-44. ISSN 0030-364X. doi:10.1287/opre.25.1.30.: https://pubsonline.informs.org/doi/abs/10.1287/opre.25.1.30
[15] ↑ O. B. G. Masden (1980), IMSOR working paper, Technical university of Denmark, Lyngby.
[16] ↑ Wang, P. Y. (1 de junio de 1983). «Two Algorithms for Constrained Two-Dimensional Cutting Stock Problems». Operations Research 31 (3): 573-586. ISSN 0030-364X. doi:10.1287/opre.31.3.573.: https://pubsonline.informs.org/doi/abs/10.1287/opre.31.3.573
[17] ↑ Michael L. McHale, Roshan P. Shah Cutting the Guillotine Down to Size. PC AI magazine, Volume 13, Number 1 Jan/Feb 99. http://www.amzi.com/articles/papercutter.htm.: http://www.amzi.com/articles/papercutter.htm
[18] ↑ Problem presented at ACCOTA '96, Combinatorial and Computational Aspects of Optimization Topology and Algebra, Taxco, Mexico 1996.
[19] ↑ Pach, J.; Tardos, G. (2000). «Cutting Glass». Discrete and Computational Geometry (en inglés) 24 (2–3): 481-496. ISSN 0179-5376. S2CID 1737527. doi:10.1007/s004540010050.: https://elibrary.ru/item.asp?id=986870
[20] ↑ Abed, Fidaa; Chalermsook, Parinya; Correa, José; Karrenbauer, Andreas; Pérez-Lantero, Pablo; Soto, José A.; Wiese, Andreas (2015). On Guillotine Cutting Sequences. pp. 1-19. ISBN 978-3-939897-89-7. doi:10.4230/LIPIcs.APPROX-RANDOM.2015.1.: https://kops.uni-konstanz.de/handle/123456789/33469
[21] ↑ a b Khan, Arindam; Pittu, Madhusudhan Reddy (2020). «On Guillotine Separability of Squares and Rectangles». En Byrka, Jaros\law; Meka, Raghu, eds. Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2020). Leibniz International Proceedings in Informatics (LIPIcs) (Dagstuhl, Germany: Schloss Dagstuhl–Leibniz-Zentrum für Informatik) 176: 47:1-47:22. ISBN 978-3-95977-164-1. doi:10.4230/LIPIcs.APPROX/RANDOM.2020.47.: https://drops.dagstuhl.de/opus/volltexte/2020/12650
[22] ↑ Martin, Mateus; Oliveira, José Fernando; Silva, Elsa; Morabito, Reinaldo; Munari, Pedro (8 de noviembre de 2020). «Three-dimensional guillotine cutting problems with constrained patterns: MILP formulations and a bottom-up algorithm». Expert Systems with Applications (en inglés) 168: 114257. ISSN 0957-4174. S2CID 228839108. doi:10.1016/j.eswa.2020.114257.: http://www.sciencedirect.com/science/article/pii/S0957417420309726
[23] ↑ Baazaoui, M.; Hanafi, S.; Kamoun, H. (1 de noviembre de 2014). «A Mathematical formulation and a lower bound for the three-dimensional multiple-bin-size bin packing problem (MBSBPP): A Tunisian industrial case». 2014 International Conference on Control, Decision and Information Technologies (CoDIT). pp. 219-224. ISBN 978-1-4799-6773-5. S2CID 18598442. doi:10.1109/CoDIT.2014.6996896.: https://ieeexplore.ieee.org/document/6996896
[24] ↑ Martin, Mateus; Hokama, Pedro H. D. B.; Morabito, Reinaldo; Munari, Pedro (2 de mayo de 2020). «The constrained two-dimensional guillotine cutting problem with defects: an ILP formulation, a Benders decomposition and a CP-based algorithm». International Journal of Production Research 58 (9): 2712-2729. ISSN 0020-7543. S2CID 197434029. doi:10.1080/00207543.2019.1630773.: https://doi.org/10.1080/00207543.2019.1630773