Problem med soptunnan

I soptäckningsproblemet måste föremål av olika storlekar packas i ett ändligt antal kärl eller behållare, som var och en måste innehålla åtminstone en viss given totalstorlek, på ett sätt som maximerar antalet kärl som används.

Det här problemet är en dubbel av problemet med papperskorgen : vid täckning av kärl är kärlstorlekarna avgränsade underifrån och målet är att maximera antalet; vid sopförpackning är kärlstorlekarna avgränsade uppifrån och målet är att minimera antalet.

Problemet är NP-hårt , men det finns olika effektiva approximationsalgoritmer :

  • Algoritmer som täcker minst 1/2, 2/3 eller 3/4 av det optimala antalet fack asymptotiskt och löper i tiden respektive.
  • En asymptotisk PTAS , algoritmer med begränsat värsta tänkbara beteende vars förväntade beteende är asymptotiskt optimalt för vissa diskreta distributioner, och en inlärningsalgoritm med asymptotiskt optimalt förväntat beteende för alla diskreta distributioner.
  • En asymptotisk FPTAS .

Algoritmen för dubbelriktad påfyllning av fack

Csirik, Frenk, Lebbe och Zhang presenterar följande enkla algoritm för 2/3 approximation. Anta att papperskorgen är 1 och det finns n objekt.

  • Beställ artiklarna från den största (1) till den minsta ( n ).
  • Fyll ett fack med de största objekten : 1, 2, ..., m , där m är det största heltal för vilket summan av objekt 1, ..., m är mindre än 1.
  • Lägg till de minsta föremålen : n , n -1, ..., tills dess värde höjs över 1.

För alla fall I , beteckna med antalet fack i den optimala lösningen och med antalet fulla fack i den dubbelriktade fyllningsalgoritmen. Sedan , eller motsvarande, .

bevis


För beviset används följande terminologi.

  • antalet fack som fylls av algoritmen.
  • t - facken fyllda av algoritmen.
  • Inledande artiklar - de t objekten som infogas först i var och en av t- fackarna.
  • Slutliga föremål - de t föremål som infogas sist i var och en av t- fackarna.
  • Mellanposter - alla föremål som varken är initiala eller slutgiltiga.
  • := antalet slutföremål som är högst 1/2 (motsvarande är antalet slutföremål större än 1/2).

Summan av varje fack är minst 1, men om den slutliga artikeln tas bort från den är den återstående summan mindre än 1. Var och en av de första -facken innehåller ett initialt objekt, möjligen några mellanobjekt, och ett sista objekt . Vart och ett av de sista -facken innehåller endast ett initialt objekt och ett sista objekt, eftersom båda är större än 1/2 och deras summa redan är större än 1.

Beviset tar hänsyn till två fall.

Det enkla fallet är , det vill säga alla slutartiklar är mindre än 1/2. Sedan är summan av varje ifylld högst 3/2, och summan av återstående poster är högst 1, så summan av alla poster är högst . Å andra sidan, i den optimala lösningen minst 1, så summan av alla objekt är minst . Därför, efter behov.

Det hårda fallet är , det vill säga vissa slutartiklar är större än 1/2. Vi bevisar nu en övre gräns på genom att presentera den som en summa där:

  • de optimala papperskorgen utan initiala/slutliga föremål (endast mellanobjekt).
  • de optimala papperskorgen med exakt en initial/avslutande artikel (och några mellanobjekt).
  • de optimala lådorna med två eller flera initiala/slutliga objekt (och några mellanobjekt).

Vi fokuserar först på de optimala fackarna i och . Vi presenterar en bijektion mellan objekten i varje sådant fack till några objekt i som är minst lika värdefulla.

  • Det enda initiala/slutliga objektet i -fack mappas till det initiala objektet i . Observera att dessa är de största initiala föremålen.
  • Mellanposterna i och mappade till mellanposterna i . Observera att dessa papperskorgar innehåller alla de mittersta föremålen.
  • Därför mappas alla poster i och , plus alla mittposter i .
  • Summan av varje fack utan dess slutliga artikel är mindre än 1. Dessutom är den initiala artikeln mer än 1/2, så summan av endast de mellersta posterna är mindre än 1/2. Därför summan av alla icke-slutliga poster i , plus alla mittposter i är högst .
  • Summan av varje optimal bin är minst 1. Därför: vilket innebär .

Vi fokuserar nu på de optimala fackarna i och .

  • Det totala antalet initiala/slutliga artiklar i och fack är minst , men deras totala antal är också eftersom det finns exakt två initiala/slutliga objekt i varje fack. Därför .
  • Att summera de två sistnämnda olikheterna innebär att vilket innebär .

2/3-faktorn är snäv för BDF. Tänk på följande instans (där är tillräckligt liten):

BDF initierar det första facket med det största föremålet och fyller det med de minsta objekten. Sedan kan de återstående objekten endast täcka fack i trillingar, så allt som allt är fack fyllda. Men i OPT kan man fylla fack, som var och en innehåller två av medelstora föremål och två små föremål.

Tre-klassers bin-filling-algoritm

Csirik, Frenk, Lebbe och Zhang presenterar en annan algoritm som uppnår en 3/4 approximation. Algoritmen ordnar objekten från stora till små och delar upp dem i tre klasser:

  • X: Varorna med storleken minst 1/2;
  • Y: Artiklar med storlek mindre än 1/2 och minst 1/3;
  • Z: Artiklar med storlek mindre än 1/3.

Algoritmen fungerar i två faser. Fas 1:

  • Initiera en ny papperskorg med antingen det största föremålet i X, eller de två största föremålen i Y, beroende på vilket som är störst. Observera att i båda fallen är den initiala papperskorgssumman mindre än 1.
  • Fyll den nya behållaren med föremål från Z i ökande värdeordning.
  • Upprepa tills antingen XUY eller Z är tomma.

Fas 2:

  • Om XUY är tom, fyll papperskorgar med föremål från Z enligt den enkla nästa-passningsregeln.
  • Om Z är tom, packa de återstående föremålen i X parvis och de som återstår i Y i tripletter.

I exemplet ovan, som visar tätheten hos BDF, är uppsättningarna:

TCF uppnår det optimala resultatet, eftersom det initierar alla fack med par av objekt från Y och fyller dem med par av objekt från Z.

För alla fall I , beteckna med antalet fack i den optimala lösningen och med antalet fulla fack i fyllningsalgoritmen med tre klasser. Sedan .

3/4-faktorn är snäv för TCF. Tänk på följande instans (där är tillräckligt liten):

TCF initierar det första facket med de två största objekten och fyller det med de minsta objekten. Sedan kan de återstående objekten endast täcka fack i grupper om fyra, så allt som allt är fack fyllda. Men i OPT kan man fylla fack, som var och en innehåller 3 medelstora föremål och 3 små föremål.

Polynom-tidsapproximationsscheman

Csirik, Johnson och Kenyon presenterar en asymptotisk PTAS. Det är en algoritm som, för varje ε >0, fyller minst fack om summan av alla poster är mer än , och minst annars. Den körs i tiden . Algoritmen löser en variant av det linjära konfigurationsprogrammet , med variabler och begränsningar. Denna algoritm är bara teoretiskt intressant, eftersom för att få bättre än 3/4 approximation måste vi ta och då är antalet variabler mer än .

De presenterar också algoritmer för onlineversionen av problemet. I online-inställningen är det inte möjligt att få en asymptotisk approximationsfaktor i värsta fall bättre än 1/2. Det finns dock algoritmer som fungerar bra i genomsnittsfallet.

Jansen och Solis-Oba presenterar en asymptotisk FPTAS. Det är en algoritm som, för varje ε >0, fyller minst bins om summan av alla objekt är mer än (om summan av objekt är mindre än så är optimum högst i alla fall). Den går i tid där är körtidskomplexiteten för bästa tillgängliga algoritm för matrisinversion (för närvarande runt . Denna algoritm blir bättre än 3/4 approximationen redan när rimliga - ca .

Relaterade problem

I problemet med tilldelning av rättvisa föremål finns det olika personer som var och en tillskriver varje föremål olika värde. Målet är att tilldela varje person en "bin" full med föremål, så att värdet på varje papperskorg är åtminstone en viss konstant, och så många som möjligt får en papperskorg. Många tekniker från tunntäckning används också i detta problem.

Genomföranden