Harmonisk binförpackning

Harmonic bin-packing är en familj av onlinealgoritmer för bin-packing . Indata till en sådan algoritm är en lista över objekt av olika storlekar. Utgången är en packning - en uppdelning av föremålen i lådor med fast kapacitet, så att summan av storlekarna på föremålen i varje fack är som mest kapaciteten. Helst skulle vi vilja använda så få papperskorgar som möjligt, men att minimera antalet papperskorgar är ett NP-hårt problem.

De harmoniska bin-packing-algoritmerna är beroende av att dela upp föremålen i kategorier baserat på deras storlekar, efter en harmonisk progression . Det finns flera varianter av denna idé.

Harmonisk- k

Harmonic - k -algoritmen delar upp storleksintervallet harmoniskt i bitar för och så att . Ett objekt kallas ett -objekt, om .

Algoritmen delar upp mängden tomma fack i oändliga klasser för en facktyp för varje Objekttyp. En fack av typ används endast för fack för att packa föremål av typ . Varje fack av typ för kan innehålla exakt - föremål. Algoritmen fungerar nu enligt följande:

  • Om nästa objekt är ett -objekt för placeras objektet i det första (endast öppna) facket som innehåller färre än -bitar eller öppnar ett nytt om det inte finns något sådant.
  • Om nästa objekt är ett -objekt, placerar algoritmen det i facket av typ med Next-Fit.

Denna algoritm beskrevs först av Lee och Lee. Den har en tidskomplexitet på där n är antalet inmatade objekt. Vid varje steg finns det högst öppna fack som potentiellt kan användas för att placera objekt, dvs det är en k -gränsad rymdalgoritm.

Lee och Lee studerade också det asymptotiska approximationsförhållandet. De definierade en sekvens , för och bevisade att för gäller att . För gäller att . Dessutom presenterade de en familj av värsta exempel på att

Raffinerad-harmonisk (RH)

The Refined-Harmonic kombinerar idéer från Harmonic-k-algoritmen med idéer från Refined-First-Fit . Den placerar föremålen större än liknande som i Refined-First-Fit, medan de mindre föremålen placeras med Harmonic- Intuitionen för den här strategin är att minska det enorma avfallet för papperskorgar som innehåller bitar som bara är större än {

Algoritmen klassificerar objekten med hänsyn till följande intervall: I I , , för och . Algoritmen placerar -objekt som i Harmonic-k, medan det följer en annan strategi för objekten i och . Det finns fyra möjligheter att packa -objekt och -artiklar i papperskorgar.

  • En -bin innehåller endast ett -objekt.
  • En -bin innehåller endast ett -objekt.
  • An -bin innehåller ett -objekt och ett -objekt.
  • En -bin innehåller två -objekt.

En -bin betecknar en bin som är designad att innehålla ett andra -objekt. Algoritmen använder talen N_a, N_b, N_ab, N_bb och N_b' för att räkna antalet motsvarande fack i lösningen. Vidare, N_c= N_b+N_ab

Algoritm Förfinad-Harmonic-k för en lista L = (i_1, \dots i_n): 1. N_a = N_b = N_ab = N_bb = N_b' = N_c = 0 2. Om i_j är en I_k-bit använd då algoritmen Harmonic-k att packa det 3. annars om i_j är ett I_a-objekt då om N_b != 1, packa sedan i_j i valfri J_b-bin; N_b--; N_ab++; annars placera i_j i en ny (tom) papperskorg; N_a++; 4. annars om i_j är ett I_b-objekt så om N_b' = 1, placera då i_j i I_b'-bin; N_b' = 0; N_bb++; 5. annars, om N_bb <= 3N_c, placera i_j i en ny bin och beteckna den som en I_b'-bin; N_b' = 1 annat om N_a != 0 placera sedan i_j i valfri I_a-bin; N_a--; N_ab++;N_c++ annars placera i_j i en ny bin; N_b++;N_c++

Denna algoritm beskrevs först av Lee och Lee. De bevisade att för gäller att .

Andra varianter

Modifierad harmonisk (MH) har ett asymptotiskt förhållande .

Modifierad harmonisk 2 (MH2) har ett asymptotiskt förhållande .

Harmonisk + 1 (H+1) har ett asymptotiskt förhållande .

Harmonisk ++ (H++) har asymptotiskt förhållande och .

  1. ^ a b   Lee, CC; Lee, DT (juli 1985). "En enkel on-line bin-packing algoritm". Journal of the ACM . 32 (3): 562–572. doi : 10.1145/3828.3833 . S2CID 15441740 .
  2. ^ a b Ramanan, Prakash; Brown, Donna J; Lee, CC; Lee, DT (september 1989). "On-line bin packning i linjär tid". Journal of Algorithms . 10 (3): 305–326. doi : 10.1016/0196-6774(89)90031-X . hdl : 2142/74206 .
  3. ^ a b c   Seiden, Steven S. (2002). "Om problemet med att packa papperskorgen online". Journal of the ACM . 49 (5): 640–671. doi : 10.1145/585265.585269 . S2CID 14164016 .