Containeriseringsproblemet er et NP - hårdt kombinatorisk problem. Opgaven er at pakke objekter med en foruddefineret form i et begrænset antal beholdere med en foruddefineret form på en sådan måde, at antallet af brugte beholdere er det mindste eller antallet eller volumen af objekter (denne pakke) er størst.
Der er mange variationer af dette problem ( todimensionel pakning , lineær pakning , pakning efter vægt , pakning efter værdi , osv.), som kan anvendes på forskellige områder, såsom optimal fyldning af containere, lastning af lastbiler med en vægtgrænse, skabelse redundante kopier på flytbare medier osv. Da problemet er NP-hårdt , er brugen af en nøjagtig opregningsalgoritme kun mulig for små dimensioner. Normalt bruges heuristiske tilnærmede polynomielle algoritmer til at løse problemet.
Lad der være et sæt beholdere af størrelse og et sæt objekter af størrelse . Det er nødvendigt at finde et helt antal beholdere og en opdeling af sættet i undersæt , således at for alle . En løsning kaldes optimal, hvis den er minimal. Minimum er yderligere angivet ved OPT .
Containeriseringsproblemet kan formuleres som et heltalsprogrammeringsproblem som følger:
Minimer | ||
under restriktioner | ||
hvor , hvis beholderen er brugt , og hvis varen er placeret i beholderen . [en]
De enkleste polynomielle pakningsalgoritmer er Best Fit Decreasing - BFD (Best Fit Descending) og First Fit Decreasing - FFD (First Fit Descending). Varerne sorteres i ikke-stigende størrelse og pakkes sekventielt enten i en beholder, hvori der efter pakning er det mindste ledige volumen tilbage - BFD, eller i den første beholder, hvor det er placeret - FFD. Disse algoritmer har vist sig at bruge højst
beholdere [2] .
Der er dog også asymptotisk ε-optimale polynomielle algoritmer til pakningsproblemet.
Problemet med at afgøre, om OPT er to eller tre, er NP-hårdt. For enhver ε > 0 er det derfor vanskeligt at pakke varer i (3/2 − ε)OPT- beholdere. (Hvis en sådan polynomiel algoritme eksisterer, så er det i polynomiel tid muligt at bestemme, om n ikke-negative tal deler sig i to mængder med samme sum af elementer. Dette problem er dog kendt for at være NP-hårdt.) Derfor, hvis P falder ikke sammen med NP, så for pakningsproblemet er der ingen Approximate Polynomial Time SchemePTAS-algoritme ( . På den anden side kan man for enhver ε >0 finde en løsning med højst (1 + ε)OPT + 1 beholdere i polynomisk tid. Sådanne algoritmer hører til den asymptotiske PTAS. [3] Men da begge konstanter vilkårligt afhænger af ε ved estimering af kompleksiteten af denne klasse af algoritmer, kan sådanne algoritmer, i modsætning til FFD og BFD, være praktisk talt ubrugelige.
For en bestemt klasse af sandsynlighedsfordelinger af størrelserne af pakkede emner, inklusive fordelingsfunktioner konveks op og ned, er der en praktisk polynomiel pakkealgoritme, der er asymptotisk optimal næsten sikkert , da antallet af emner stiger i det uendelige. For fordelinger, der ikke er inkluderet i denne klasse, kan individuelle polynomiske asymptotisk optimale algoritmer konstrueres. [fire]
Emballeringsopgaver | |
---|---|
Pakke cirkler |
|
Ballonpakning |
|
Andre pakker | |
Gåde |
NP-komplette problemer | |
---|---|
Maksimeringsproblem ved stabling (pakning) |
|
grafteori mængdeteori | |
Algoritmiske problemer | |
Logiske spil og puslespil | |