Capítulo 5 Modelo de programação por restrções para o problema de empacotamento ortogonal trdmensonal Olvana Xaver do Nascmento 1 Llane de Azevedo Olvera 1 Thago Alves de Queroz 1 Resumo: O Problema de Empacotamento Ortogonal em três dmensões (largura, altura e profunddade) tem por obetvo decdr se todas as caxas de um conunto cabem dentro de um recpente sem que elas se sobreponham. Para este problema, o presente trabalho apresenta um modelo de programação por restrções que o resolve. O modelo não busca pela melhor solução para o problema e sm por uma que sea vável. Além dsso, utlza-se um mecansmo, baseado nos pontos de dscretzação, para dmnur o número de varáves do modelo que é testado sobre váras nstâncas da lteratura. Palavras-chave: Problema de Empacotamento Ortogonal Trdmensonal. Programação por Restrções. Pontos de Dscretzação. Introdução Os problemas de empacotamento vsam, como o própro nome sugere, empacotar tens dentro de recpentes. Tas problemas podem ser tratados em uma ou mas dmensões e sob varados escopos. Dentre estes problemas há um tpo que se propõem a decdr se um conunto de tens pode ser empacotado sem que os tens ocupem a mesma posção no recpente, ou sea, sem que ocorra sobreposção, 1 Unversdade Federal de Goás UFG. Regonal Catalão, Undade Acadêmca Especal de Matemátca e Tecnologa. Contato: olvanaxn@gmal.com, llaneazevedolvera@hotmal.com, taq@ufg.br.
76 Tecnologas em pesqusa: engenharas com os tens nteramente contdos no recpente e com os tens empacotados com os seus lados paralelos aos lados do recpente. Este é chamado de Problema de Empacotamento Ortogonal (OPP). O OPP e suas versões b- e trdmensonal são problemas recorrentes no contexto ndustral. Eles aparecem no carregamento de mercadoras em contêneres, camnhões e outros veículos de carga, no emplhamento de caxas sobre paletes, no corte de bobnas de papel, placas de madera (ndústra movelera) ou placas e barras de aço (ndústra sderúrgca). Isso ustfca o estudo do OPP e de suas versões do ponto de vsta aplcado. No OPP a decsão com relação a um conunto de tens ser empacotado é tomada verfcando se exste, para a cada tem, um ponto no recpente no qual ele é empacotado satsfazendo as restrções mpostas. Se estes pontos exstrem, há uma solução vável para o caso em questão, se não, ele é consderado nvável. Neste artgo, o OPP é tratado na sua versão trdmensonal (3OPP), que consdera largura, altura e profunddade e os tens como sendo caxas. O 3OPP é resolvdo por meo de um modelo de programação por restrções, sendo antes realzado um teste para verfcar se o volume total das caxas excede o volume do recpente. Além dsso, foram utlzados os pontos de dscretzação de Herz (1972) para dmnur o número de varáves do problema. A técnca de programação por restrções se fundamenta em varáves e restrções. As varáves representam as decsões do problema e as restrções determnam os valores que tas varáves podem receber. Assm, esta técnca procura uma atrbução de valores para as varáves que satsfaça todas as restrções defndas. Sobre a programação por restrções, Tavares (2000) pontuou que ela é uma técnca que se mostrou efcaz para a resolução de problemas ntratáves quando se recorreu a outras técncas. No que dz respeto a complexdade computaconal, o 3OPP é NP-completo, o que sgnfca a pouca provável exstênca de um algortmo determnístco cuo o tempo de solução sea uma função polnomal do tamanho da entrada (GAREY; JOHNSON, 1979). Assm, usar a programação por restrções para resolver o problema é uma alternatva perante às formulações nteras que geralmente demandam muto tempo para encontrar uma solução. Em uma formulação ntera para o 3OPP, as varáves estão relaconadas com todas as posções onde os tens podem ser empacotados e o método de resolução percorre uma árvore de enumeração para achar uma solução vável. Já em um modelo de programação por restrções, observa-se dretamente o domíno assumdo para as varáves que representam as posções para empacotar os tens. Dferente do método de resolução usado pela programação ntera, na programação por restrções não se lda com varáves reas.
Modelo de programação por restrções para o problema de empacotamento ortogonal trdmensonal 77 Na lteratura o 3OPP fo resolvdo por Fekete, Schepers e Veen (2007). Tas autores propuseram uma abordagem válda tanto para duas quanto para três dmensões, sendo baseada em grafos de ntervalo utlzados para obter classes de empacotamentos váves. Clautaux et al. (2008) e Mesyagutov, Schethauer e Belov (2012) resolveram a versão bdmensonal do OPP usando programação por restrções e os resultados foram bons quando comparados com outros resultados da lteratura. Este artgo está organzado da segunte manera: na Seção 1, o 3OPP é caracterzado, além de ser defndo o teste de vabldade, o modelo de programação por restrções e a estrutura do algortmo usado para resolvê-lo. A Seção 2 mostra como foram realzados os expermentos computaconas, em que nstâncas foram adaptadas da lteratura, além de apresentar e dscutr os resultados. Por fm, apresentam-se as conclusões e dreções para trabalhos futuros. 1 O Problema de Empacotamento Ortogonal Trdmensonal O Problema de Empacotamento Ortogonal Trdmensonal, o 3OPP, consdera como nstânca I um par (V, R), no qual V = {1,, m} é um conunto de caxas que devem ser empacotadas em R, sendo R = (L, P, A) um recpente de largura L, profunddade P e altura A. Cada caxa de V possu largura l, profunddade p e altura a, com l, p, a Ν. O sstema de referênca adotado se dá em termos dos exos x, y e z, que representam, respectvamente, largura, profunddade e altura. Dada uma nstânca do 3OPP, o obetvo é verfcar se todos as caxas de V podem ser empacotadas em R sem que ocorra sobreposção entre quasquer caxas, além dsso as caxas devem estar todas contdas em R e devem ser organzadas de manera ortogonal aos lados de R. Se sso é verfcado, então há uma solução para a nstânca I. 1.1 Teste de nvabldade De acordo com Belov et al. (2009), se o volume total dos tens excede o volume do recpente, o empacotamento não é possível. Anda de acordo os autores, esta verfcação consste em um lmtante para o problema e permte verfcar rapdamente se o empacotamento é nvável. Isso é mportante, pos, não exstndo empacotamento possível e tal fato podendo ser dentfcado de manera bastante rápda, evta-se a resolução do modelo de programação por restrções.
78 Tecnologas em pesqusa: engenharas 1.2 Modelo de programação por restrções A prncpal restrção envolvendo o 3OPP é a que garante a não sobreposção das caxas. Em um modelo de programação por restrções para o problema, esta restrção pode ser defnda sobre as varáves X, Y e Z. Elas representam o ponto (X, Y, Z ) onde a caxa é empacotada com relação a seu canto nferor frontal esquerdo. A essas varáves são assocados os respectvos domínos: Dom (X ) = {0, 1, 2,, L - l }, Dom (Y ) = {0, 1, 2,, P - p } e Dom (Z ) = {0, 1, 2,, A- a }. Tas domínos garantem que as caxas não ultrapassem os lmtes defndos pelas dmensões do recpente. Os domínos podem ser reduzdos usando os pontos de dscretzação de Herz (1972), obtdos a partr da combnação cônca entre as dmensões dos tens. Com este mecansmo, pontos redundantes para empacotar os tens podem ser descartados dos domínos das varáves de decsão. O modelo de programação por restrções possu, então, uma restrção defnda para cada par de caxas e, qual sea: X Y Z + l + p + a Y X Z X Y Z + l + p + a Y X Z (1) A restrção (1) garante que a caxa é empacotada a esquerda, atrás ou abaxo da caxa (e vce-versa). Deste modo, a restrção (1), uma vez defnda para todo par de caxas e, evta que as caxas se sobreponham no recpente. 1.3 Algortmo proposto O algortmo para resolver o 3OPP prmero consdera uma nstânca para o problema e computa os pontos de dscretzação de Herz (1972), que contrbuem para dmnur o número de varáves. Em seguda, realza-se o teste de nvabldade, baseado no volume das caxas e do recpente. Caso o volume total das caxas sea maor que o volume do recpente, não exste solução para a nstânca consderada. Caso ocorra o contráro, o modelo de programação por restrções é chamado para resolver o problema e, se exste um conunto de pontos (X, Y, Z ) tas que as caxas são empacotadas sem gerar sobreposção com quasquer outras caxas, dz-se que há uma solução vável para a nstânca, caso contráro, a nstânca é consderada nvável. A Fgura 5.1 lustra o algortmo.
Modelo de programação por restrções para o problema de empacotamento ortogonal trdmensonal 79 Fgura 5.1 Algortmo para resolver o 3OPP. 2 Expermentos Computaconas O algortmo apresentado para o 3OPP fo codfcado na lnguagem C++ e usando as classes e bblotecas do IBM ILOG CPLEX Optmzaton Studo (IBM, 2014). Os expermentos ocorreram em um computador com processador Intel Core 5-3570 de 3,40 GHz, 8 GB de memóra RAM e sstema operaconal Lnux. Os expermentos foram realzados com nstâncas contendo 10 e 20 caxas, recpentes de tamanho 10, 20 e 30 e caxas pequenas e grandes em relação ao tamanho do recpente. Estas nstâncas foram usadas por Junquera, Morabto e Yamashta (2012) para resolver o problema de Carregamento em um Únco Contêner. Como aqu o problema tratado é o 3OPP, foram consderados, nas nstâncas, somente os parâmetros que dzem respeto a este problema, que são: o número de tens, o tamanho do recpente e o tamanho dos tens. Na dentfcação das nstâncas, n10, n20 e n30 representam que o tamanho do recpente consderado na nstânca possu tamanho 10, 20 e 30, respectvamente; m10 e m20 representam o número de tens, sendo eles 10 e 20; b2d1 representa que as caxas são pequenas em relação ao recpente e b2d2 que as caxas são grandes. As Tabelas de 1 a 5 trazem os resultados para um conunto de 50 nstâncas adaptadas para o 3OPP, nas quas as caxas são consderadas pequenas em relação ao tamanho do recpente. Elas mostram o nome da nstânca, se exste uma solução vável para a nstânca e o tempo, em segundos, gasto para obter a resposta. Os resultados obtdos mostram que todas as nstâncas são váves, sendo resolvdas muto rapdamente.
80 Tecnologas em pesqusa: engenharas Tabela 5.1 Resultados para nstâncas com recpente de tamanho 10 e 10 caxas pequenas. (s) n10m10b2d1-01 Sm 0,012 n10m10b2d1-02 Sm 0,012 n10m10b2d1-03 Sm 0,013 n10m10b2d1-04 Sm 0,012 n10m10b2d1-05 Sm 0,011 n10m10b2d1-06 Sm 0,011 n10m10b2d1-07 Sm 0,013 n10m10b2d1-08 Sm 0,011 n10m10b2d1-09 Sm 0,013 n10m10b2d1-10 Sm 0,012 Tabela 5.2 Resultados para nstâncas com recpente de tamanho 10 e 20 caxas pequenas. (s) n10m20b2d1-01 Sm 0,031 n10m20b2d1-02 Sm 0,024 n10m20b2d1-03 Sm 0,023 n10m20b2d1-04 Sm 0,048 n10m20b2d1-05 Sm 0,029 n10m20b2d1-06 Sm 0,025 n10m20b2d1-07 Sm 0,029 n10m20b2d1-08 Sm 0,032 n10m20b2d1-09 Sm 0,031 n10m20b2d1-10 Sm 0,034
Modelo de programação por restrções para o problema de empacotamento ortogonal trdmensonal 81 Tabela 5.3 Resultados para nstâncas com recpente de tamanho 20 e 10 caxas pequenas. n20m10b2d1-01 Sm 0,014 n20m10b2d1-02 Sm 0,012 n20m10b2d1-03 Sm 0,016 n20m10b2d1-04 Sm 0,013 n20m10b2d1-05 Sm 0,01 n20m10b2d1-06 Sm 0,015 n20m10b2d1-07 Sm 0,015 n20m10b2d1-08 Sm 0,012 n20m10b2d1-09 Sm 0,012 n20m10b2d1-10 Sm 0,012 Tabela 5.4 Resultados para nstâncas com recpente de tamanho 20 e 20 caxas pequenas. n20m20b2d1-01 Sm 0,033 n20m20b2d1-02 Sm 0,036 n20m20b2d1-03 Sm 0,093 n20m20b2d1-04 Sm 0,033 n20m20b2d1-05 Sm 0,03 n20m20b2d1-06 Sm 0,041 n20m20b2d1-07 Sm 0,052 n20m20b2d1-08 Sm 0,049 n20m20b2d1-09 Sm 0,025 n20m20b2d1-10 Sm 0,034
82 Tecnologas em pesqusa: engenharas Tabela 5.5 Resultados para nstâncas com recpente de tamanho 30 e 10 caxas pequenas. n30m10b2d1-01 Sm 0,014 n30m10b2d1-02 Sm 0,011 n30m10b2d1-03 Sm 0,012 n30m10b2d1-04 Sm 0,011 n30m10b2d1-05 Sm 0,013 n30m10b2d1-06 Sm 0,011 n30m10b2d1-07 Sm 0,015 n30m10b2d1-08 Sm 0,015 n30m10b2d1-09 Sm 0,013 n30m10b2d1-10 Sm 0,013 As Tabelas de 6 a 10 trazem os resultados para um conunto de 30 nstâncas para o 3OPP, nas quas as caxas são consderadas grandes em relação ao tamanho do recpente. Elas mostram o nome da nstânca, se exste uma solução vável e o tempo, em segundos, gasto para obter a resposta. Os resultados obtdos mostram que a maora dessas nstâncas são nváves, ou sea, não é possível empacotar todas as caxas. Observa-se anda que o tempo gasto para decdr que as nstâncas são nváves fo menor do que o tempo gasto para mostrar a vabldade do empacotamento. Isto se deve ao teste de nvabldade, que evta resolver o problema pelo modelo de programação por restrções para os casos em que as caxas são grandes e excedem o volume do recpente, assm resultando em um tempo menor de resolução. Tabela 5.6 Resultados para nstâncas com recpente de tamanho 10 e 10 caxas grandes. n10m10b2d2-01 Não 0,111 n10m10b2d2-02 Não 0,012 n10m10b2d2-03 Sm 0,018 n10m10b2d2-04 Sm 0,015 Contunua
Modelo de programação por restrções para o problema de empacotamento ortogonal trdmensonal 83 Tabela 5.6 Resultados para nstâncas com recpente de tamanho 10 e 10 caxas grandes. (Contnuação) n10m10b2d2-05 Sm 0,013 n10m10b2d2-06 Sm 0,022 n10m10b2d2-07 Sm 0,017 n10m10b2d2-08 Não 0,071 n10m10b2d2-09 Não 0,077 n10m10b2d2-10 Não 0,019 Tabela 5.7 Resultados para nstâncas com recpente de tamanho 10 e 20 caxas grandes. n10m20b2d2-01 Não <0,001 n10m20b2d2-02 Não <0,001 n10m20b2d2-03 Não <0,001 n10m20b2d2-04 Não <0,001 n10m20b2d2-05 Não <0,001 n10m20b2d2-06 Não <0,001 n10m20b2d2-07 Não <0,001 n10m20b2d2-08 Não <0,001 n10m20b2d2-09 Não 0,011 n10m20b2d2-10 Não <0,001 Tabela 5.8 Resultados para nstâncas com recpente de tamanho 20 e 10 caxas grandes. n20m10b2d2-01 Não <0,001 n10m20b2d2-02 Não 0,002 n10m20b2d2-03 Não <0,001 n10m20b2d2-04 Não <0,001 Contunua
84 Tecnologas em pesqusa: engenharas Tabela 5.8 Resultados para nstâncas com recpente de tamanho 20 e 10 caxas grandes. (Contnuação) n10m20b2d2-05 Não <0,073 n10m20b2d2-06 Não <0,001 n10m20b2d2-07 Não <0,108 n10m20b2d2-08 Não <0,001 n10m20b2d2-09 Não <0,001 n10m20b2d2-10 Não <0,001 Tabela 5.9 Resultados para nstâncas com recpente de tamanho 30 e 10 caxas grandes. n30m10b2d2-01 Não <0,001 n30m10b2d2-02 Não <0,001 n30m10b2d2-03 Não <0,001 n30m10b2d2-04 Não <0,001 n30m10b2d2-05 Não <0,001 n30m10b2d2-06 Não <0,001 n30m10b2d2-07 Não <0,001 n30m10b2d2-08 Não <0,001 n30m10b2d2-09 Não <0,001 n30m10b2d2-10 Não <0,001 Tabela 5.10 Resultados para nstâncas com recpente de tamanho 30 e 10 caxas grandes. n30m20b2d2-01 Não <0,001 n30m20b2d2-02 Não <0,001 n30m20b2d2-03 Não <0,001 n30m20b2d2-04 Não <0,001 Contunua
Modelo de programação por restrções para o problema de empacotamento ortogonal trdmensonal 85 Tabela 5.10 Resultados para nstâncas com recpente de tamanho 30 e 10 caxas grandes. (Contnuação) n30m20b2d2-05 Não <0,001 n30m20b2d2-06 Não <0,001 n30m20b2d2-07 Não <0,001 n30m20b2d2-08 Não <0,001 n30m20b2d2-09 Não <0,001 n30m20b2d2-10 Não <0,001 Conclusões Neste artgo fo usada uma abordagem para resolver o 3OPP que ncalmente checa se o volume total das caxas é maor do que o volume do recpente, em um teste para detectar rapdamente casos nváves. Caso o volume total das caxas sea menor ou gual ao volume do recpente, sgnfca que a nstânca pode ser vável e sto é checado, em seguda, por meo de um modelo de programação por restrções. O modelo consdera o domíno das varáves reduzdo por meo dos pontos de dscretzação de Herz (1972). Os resultados computaconas foram satsfatóros, pos fo possível resolver todas as nstâncas em pouco tempo computaconal. Eles confrmam que realzar o teste de nvabldade é um mecansmo que torna o modelo mas rápdo para as nstâncas nváves. Para os casos resolvdos neste artgo, a dferença de tempo entre os casos váves e nváves é bem pequena. Mas, dependendo da nstânca, realzar o teste de nvabldade pode representar uma dferença de tempo consderável. Quanto ao modelo de programação por restrções, este se mostrou efcaz na resolução das nstâncas consderadas, uma vez que retornou com a solução em pouco tempo de processamento. Agradecmentos Os autores agradecem o apoo fnancero recebdo do CNPq (Conselho Naconal de Desenvolvmento Centífco e Tecnológco) e da Fundação de Amparo à Pesqusa do Estado de Goás (FAPEG).
86 Tecnologas em pesqusa: engenharas Referêncas BELOV, G. et al. One-dmensonal relaxatons and lp bounds for orthogonal packng. Internatonal Transactons n Operatonal Research, v.16, p. 745 766, 2009. CLAUTIAUX, F. et al. A new constrant programmng approach for the orthogonal packng problem. European Journal of Operatonal Research, v. 95, n.3, p. 944-959, 2008. FEKETE, S. P.; SCHEPERS, J; VEEN, J.C. van der. An exact algorthm for hgherdmensonal orthogonal packng. Operatons Research, v. 55, n. 3, p. 569-587, 2007. GAREY, M. R.; JOHNSON, D. S. Computers and ntractablty: a gude to the theory of NP-completeness. San Francsco: Freeman, 1979. HERZ, J. C. A recursve computatonal procedure for two-dmensonal stock-cuttng. IBM Journal of Research Development, p. 462-469, 1972. JUNQUEIRA, L.; MORABITO, R.; YAMASHITA, D. S. Three-dmensonal contaner loadng models wth cargo stablty and load bearng constrants. Computers & Operatons Research, v. 39, n. 1, p. 74 85, 2012. MESYAGUTOV, M.; SCHEITHAUER, G.; BELOV, G. Lp bounds n varous constrant programmng approaches for orthogonal packng. European Journal of Operatonal Research, v. 39, n. 10, p. 2425-2438, 2012. TAVARES, J. A. Geração de confgurações de sstemas ndustras com o recurso à tecnologa das restrções e computação evoluconára. Tese (Doutorado) Tese de doutorado em Informátca. Unversdade de Mnho, Braga, Portugal, 2000.