Проблем паковања у простору

С Википедије, слободне енциклопедије

Проблем паковања у простору подразумева паковање објеката различитих запремина у коначно много контејнера са циљем да се минимизује број потребних контејнера за складиштење датих објеката. У теорији сложености овај проблем се класификује као NP-тежак проблем. Постоје различите варијације овог проблема, 2Д Паковање, Линеарно паковање, Паковање у односу на тежину, Паковање у односу на цену итд. Области у којима се примењује решење овог проблема су: Попуњавање контејнера, Утовар у камион са задатим тежинским ограничењем, Проналажење оптималног распореда предмета у простору са задатим условима баланса итд.

Иако је проблем класификован као NP-тежак (што значи да за велике инстанце проблема не постоји егзактни алгоритам полиномијалне сложености који даје оптимално решење, осим ако P = NP) развијено је мноштво хеуристика које проналазе задовољавајућа решења (блиска оптималном, која задовољавају све критеријуме паковања) у полиномијалном времену. Већина описаних хеуристика користе сортирање као круцијални корак у алгоритму и тиме се постиже логаритамска сложеност у односу на број објеката .

Формална дефиниција проблема[уреди | уреди извор]

Проблем паковања у простору се дефинише на следећи начин, дато је елемената (квадрова) и неограничен број идентичних контејнера димензија . Димензије -тог објекта, , дефинишу се са . Претпоставка је да се објекти не могу ротирати. Циљ је упаковати објеката тако да су испуњени следећи услови:

  • Свака поставка предмета мора бити ортогонална (паралелна у односу на осу)
  • Сваки објекат се мора налазити у потпуности унутар контејнера
  • За свака два објекта унутар истог контејнера важи да се не секу
  • Потребно је минимизовати број потребних контејнера

Приступ решавању проблема[уреди | уреди извор]

Један од главних проблема који се јављају приликом проучавања овог проблема је како на ефикасан начин одабрати позицију објекта унутар простора (контејнера) тако да се позиционирањем објекта на одабрано место не наруше ограничења (баланса, редоследа, итд.) Перформансе као и квалитет добијеног решења алгоритама кој се користи за паковање објеката у великој мери зависи од стратегије за одабир тачака које одређују позицију објекта. Хеуристика која је у досадашњем истраживању произвела најбоље резултате, како по питању ефикасности тако и по квалитету крајњих решења, уводи концепт Екстремних тачака које представљају скуп потенцијалних позиција на које је могуће сместити текући објекат у односу на текућу конфигурацију.

Применом претходно описане стратегије добијају се квалитетна решења приближна оптималном али се такође примећују и недостаци. Наиме приликом уметања објеката долази до фрагментисања простора на испуњен простор (простор који заузима тренутна конфигурација објеката) и резидуални простор (простор који је слободан за уметање преосталих објеката). Могуће је да се приликом уметања објекта простор фрагментише тако да резидуални простор запремински може да прихвати текући објекат али не постоји ни једна екстремна тачка у резидуалном простору која задовољава услов да се након смештања објекта на њену позицију може избећи пресек са неким од објеката у тренутној конфигурацији. Што чини уметање текућег објекта немогућим.

Приликом решавања проблема паковања у простору неопходно је дакле размотрити два суштинска подпроблема:

  1. Како одабрати скуп тачака које представљају потенцијалне позиције објекта који је потребно спаковати?
  2. Како учинити да резидуални простор буде што боље искоришћен?

Хеуристика уметања коришћењем екстремних тачака[уреди | уреди извор]

Хеуристика уметања коришћењем екстремних тачака је конструктивна хеуристика која умеће објекте редом, један по један у односу на задату секвенцу објеката док сви објекти нису уметнути у простор (контејнер). Ова хеуристика је тренутно најбоља у овом домену. Концепт екстремних тачака посматра простор као листу екстремних тачака, где свака тачка представља потенцијалну позицију за уметање новог објекта. Празан простор (контејнер) се посматра као листа која садржи само једну екстремну тачку . Уметање новог објекта повлачи заузимање једне екстремне тачке из листе и увођење константног броја нових тачака. Слика 1(а) и 1(б) илуструју увођење 2 односно 6 екстремних тачака уметањем новог објекта за (редом) 2Д и 3Д случај.

За задату секвенцу објеката описана хеуристика покушава да уметне објекат на екстремну тачку у постојећем простору. Уколико не постоји екстремна тачка која задовољава критеријуме, инстанцира се нови простор (контејнер) и објекат се умеће на позицију . Поступак се понавља док се не уметну сви објекти. Природно може постојати подскуп скупа екстремних тачака који задовољава услове уметања у том случају потребно је одабрати стратегију за одабир неке од потенцијалних тачака. Неке од стратегија су: Најмање еуклидско растојање, Одабир прве тачке која задовољава критеријуме, итд.

Хеуристика за дефрагментисање простора[уреди | уреди извор]

Главни циљ код проблема паковања у простору је добијање густих конфигурација чиме се постиже висока искоришћеност датог простора за паковање. Конструкцијом густих конфигурација објеката природно се смањује број потребних контејнера за смештање објеката из секвенце. Хеуристика за дефрегментисање простора у суштини покушава да постави објекат на позицију , уколико је позиција заузета (на позицији се налази неки од објеката из тренутне конфигурације) хеуристика транслира све објекте максимално у односу на координатни почетак како би се направило место за нови објекат. Приликом имплементирања овог поступка прво је потребно утврдити да ли овјекат и може да се постави на позицију а затим и мора бити постављен на позицију .

Да би се наведени поступак спровео посматрају се геометријска својства објеката, за сваки објекат се посматра његова пројекција на и осу. Поступак је довољно описати за једну од оса за преостале се поступак спроводи аналогно. За сбаки објекат посматра се његова пројекција на осу означена са , скуп пројекција називаће се скуп крајњих тачака. Поступак се може дефинисати на следећи начин замишљајући вертикалну линију која се креће здесна улево:

  1. Сортирати скуп од крајњих тачака, леви крајеви се пореде уколико су десни једнаки.
  2. Вертикална линија у сваком тренутку дефинише скуп интервала који се налазе потпуно лево од објекта , где је позиција вертикалне линије.
  3. Вертикална линија ажурира граничну вредност која представља највећу вредност десног краја за све интервале из
  4. Када вертикална линија скенира ажурира се
  5. Када вертикална линија скенира ажурира се

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. Vazirani, Vijay V. (2003), Approximation Algorithms, Berlin: Springer, ISBN 978-3-540-65367-7 
  2. Yue, Minyi (октобар 1991), „A simple proof of the inequality FFD (L) ≤ 11/9 OPT (L) + 1, ∀L for the FFD bin-packing algorithm”, Acta Mathematicae Applicatae Sinica, 7 (4): 321—331, ISSN 0168-9673, S2CID 189915733, doi:10.1007/BF02009683  |contribution= игнорисан (помоћ)
  3. Dósa, György (2007), „The Tight Bound of First Fit Decreasing Bin-Packing Algorithm Is FFD(I)≤(11/9)OPT(I)+6/9”, Ур.: Chen, Bo; Paterson, Mike; Zhang, Guochuan, Combinatorics, Algorithms, Probabilistic and Experimental Methodologies, Lecture Notes in Computer Science, 4614/2007, Springer Berlin / Heidelberg, стр. 1—11, ISBN 978-3-540-74449-8, ISSN 0302-9743, doi:10.1007/978-3-540-74450-4 
  4. Xia, Binzhou; Tan, Zhiyi (2010), „Tighter bounds of the First Fit algorithm for the bin-packing problem”, Discrete Applied Mathematics, 158 (15): 1668—1675, ISSN 0166-218X, doi:10.1016/j.dam.2010.05.026  |contribution= игнорисан (помоћ)
  5. Garey, Michael R.; Johnson, David S. (1985), „A 71/60 theorem for bin packing*1”, Journal of Complexity, 1: 65—106, doi:10.1016/0885-064X(85)90022-6  |contribution= игнорисан (помоћ)
  6. Yue, Minyi; Zhang, Lei (јул 1995), „A simple proof of the inequality MFFD(L)≤71/60 OPT(L) + 1,L for the MFFD bin-packing algorithm”, Acta Mathematicae Applicatae Sinica, 11 (3): 318—330, ISSN 0168-9673, S2CID 118263129, doi:10.1007/BF02011198  |contribution= игнорисан (помоћ)
  7. Fernandez de la Vega, W.; Lueker, G. S. (децембар 1981), „Bin packing can be solved within 1 + ε in linear time”, Combinatorica, Springer Berlin / Heidelberg, 1 (4): 349—355, ISSN 0209-9683, S2CID 10519631, doi:10.1007/BF02579456  |contribution= игнорисан (помоћ)
  8. Lewis, R. (2009), „A General-Purpose Hill-Climbing Method for Order Independent Minimum Grouping Problems: A Case Study in Graph Colouring and Bin Packing” (PDF), Computers and Operations Research, 36 (7): 2295—2310, S2CID 1577334, doi:10.1016/j.cor.2008.09.004 
  9. Silvano Martello and Paolo Toth (1990), Knapsack Problems Algorithms and Computer Implementations.
  • Michael R. Garey and David S. Johnson , Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. . 1979. ISBN 978-0-7167-1045-5.  Недостаје или је празан параметар |title= (помоћ) A4.1: SR1. стр. 226.
  1. David S. Johnson, Alan J. Demers, Jeffrey D. Ullman, M. R. Garey, Ronald L. Graham. Worst-Case Performance Bounds for Simple One-Dimensional Packing Algorithms. SICOMP, Volume 3, Issue 4. 1974.
  2. Lodi A., Martello S., Monaci, M., Vigo, D. (2010) Two-Dimensional Bin Packing Problems. In V.Th. Paschos (Ed.), “Paradigms of Combinatorial Optimization”, Wiley/ISTE. стр. 107-129
  3. Dósa G., Sgall J. (2013) First Fit bin packing: A tight analysis. To appear in STACS 2013.
  4. Sindelar, Michael; Sitaraman, Ramesh; Shenoy, Prashant (2011), „Sharing-Aware Algorithms for Virtual Machine Colocation”, Proceedings of 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), San Jose, CA, June 2011: 367—378