A konténerezési probléma NP - kemény kombinatorikus probléma. A feladat az előre meghatározott alakú objektumok véges számú előre meghatározott alakú konténerbe történő becsomagolása oly módon, hogy a felhasznált konténerek száma a legkisebb legyen, vagy az objektumok száma vagy térfogata (az a csomag) a legnagyobb legyen.
Ennek a problémának számos változata létezik ( kétdimenziós csomagolás , lineáris csomagolás , tömeg szerinti csomagolás , érték szerinti csomagolás stb.), amelyek különböző területeken alkalmazhatók, mint például konténerek optimális feltöltése, teherautók súlykorlátozással történő rakodása, létrehozása redundáns másolatok cserélhető adathordozón stb. Mivel a probléma NP-nehéz , a pontos felsorolási algoritmus csak kis méretek esetén lehetséges. Általában heurisztikus közelítő polinomiális algoritmusokat használnak a probléma megoldására.
Legyen egy méretű tárolókészlet és egy méretű objektumkészlet . Meg kell találni egy egész számú tárolót és a halmaz részhalmazokra való felosztását úgy, hogy minden . Egy megoldást akkor nevezünk optimálisnak, ha minimális. A minimumot tovább jelöli az OPT .
A konténerezési probléma egészszámú programozási problémaként a következőképpen fogalmazható meg:
Minimalizálás | ||
korlátozások alatt | ||
hol , ha a tárolóedényt használják , és ha a tételt a konténerbe helyezték . [egy]
A legegyszerűbb polinomiális csomagolási algoritmusok a Best Fit Decreasing - BFD (Best Fit Descending) és a First Fit Decreasing - FFD (First Fit Descending). A tételeket nem növekvő méretben válogatják, és egymás után csomagolják vagy egy tartályba, amelyben a csomagolás után a legkisebb szabad térfogat marad - BFD, vagy az első konténerbe, ahová elhelyezik - FFD. Ezek az algoritmusok legfeljebb bizonyítottan használhatók
konténerek [2] .
Vannak azonban aszimptotikusan ε -optimális polinomiális algoritmusok is a csomagolási problémára.
Annak meghatározása, hogy az OPT kettő vagy három, NP-nehéz. Ezért minden ε > 0 esetén nehéz a tételeket (3/2 − ε)OPT tartályokba csomagolni. (Ha létezik ilyen polinomiális algoritmus, akkor polinom időben meg lehet határozni, hogy n nemnegatív szám osztódik-e két halmazra azonos elemösszeggel. Ez a probléma azonban köztudottan NP-nehéz.) Ezért, ha P nem esik egybe NP-vel, akkor a csomagolási problémára nincs Approximate Polynomial Time SchemePTAS ( . Másrészt bármely ε >0 esetén lehet olyan megoldást találni, amelyben polinomiális időben legfeljebb (1 + ε)OPT + 1 konténer található. Az ilyen algoritmusok az aszimptotikus PTAS-hoz tartoznak. [3] Mivel azonban mindkét konstans tetszőlegesen függ ε-tól az algoritmusok ezen osztályának komplexitásának becslésében, az ilyen algoritmusok, ellentétben az FFD-vel és a BFD-vel, gyakorlatilag használhatatlanok lehetnek.
A csomagolt tételek méretének valószínűségi eloszlásának egy bizonyos osztályához , beleértve a felfelé és lefelé konvex eloszlásfüggvényeket, létezik egy gyakorlatias polinomiális csomagolási algoritmus, amely szinte biztosan aszimptotikusan optimális , mivel az elemek száma korlátlanul növekszik. Az ebbe az osztályba nem tartozó eloszlások számára egyedi polinomiális aszimptotikusan optimális algoritmusok szerkeszthetők. [négy]
Csomagolási feladatok | |
---|---|
Csomagolási körök |
|
Léggömb csomagolás |
|
Egyéb csomagok | |
Kirakós játék |
NP-teljes problémák | |
---|---|
A halmozás (csomagolás) maximalizálási problémája |
|
gráfelmélet halmazelmélet | |
Algoritmikus problémák | |
Logikai játékok és rejtvények | |