Online ládapakolás. 1. Ládapakolási modellek

Hasonló dokumentumok
p j p l = m ( p j ) 1

1. Bevezet példák, síbérlés

Approximációs algoritmusok

1. A k-szerver probléma

1. Online kiszolgálóelhelyezés

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online migrációs ütemezési modellek

Ütemezési modellek. Az ütemezési problémák osztályozása

Ládapakolási játékok

Opponensi vélemény. Dósa György Tightness results for several variants of the First Fit bin packing algorithm (with help of weighting functions)

Az optimális megoldást adó algoritmusok

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.

Beszámoló az "Online er forrás allokációs problémák" cím F számú OTKA kutatási projekt eredményeir l

Általános algoritmustervezési módszerek

1. feladat Az egyensúly algoritmus viselkedése: Tekintsük a kétdimenziós Euklideszi teret, mint metrikus teret. A pontok

Algoritmuselmélet 18. előadás

Ütemezési feladatok. Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

ÁTPAKOLÁST HASZNÁLÓ SZEMI-ON-LINE LÁDAPAKOLÁSI ALGORITMUSOK. 1. Bevezetés

Az online algoritmusok k-szerver probléma

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Előrenéző és paraméter tanuló algoritmusok on-line klaszterezési problémákra

Online algoritmusok versenyképességi

Függvények növekedési korlátainak jellemzése

Lomoschitz Lilla Anna. Közelít algoritmusok a 2 dimenziós online ládapakolási feladatra forgatással

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

ÜTEMEZŽ ALGORITMUSOK HIBAFÜGGVÉNYEI (Processzorszámot minimalizáló algoritmusok) Iványi Antal, április Bevezetés

Programozási módszertan. Mohó algoritmusok

Gibbs-jelenség viselkedésének vizsgálata egyszer négyszögjel esetén

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Az online algoritmusok k-szerver probléma

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

A First Fit ládapakolási algoritmus néhány változatának éles eredményei

A First Fit algoritmus abszolút hibájáról. TDK dolgozat

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A k-szerver probléma

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

L'Hospital-szabály március 15. ln(x 2) x 2. ln(x 2) = ln(3 2) = ln 1 = 0. A nevez határértéke: lim. (x 2 9) = = 0.

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx.

A Markowitz modell: kvadratikus programozás

Pénzügyi matematika. Vizsgadolgozat I. RÉSZ. 1. Deniálja pontosan, mit értünk amerikai vételi opció alatt!

álló algoritmusosztályok. Approximációs algoritmusoknak egy olyan algoritmust. Minden algoritmusnak polinomiális idejűnek kell

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

Határérték. Wettl Ferenc el adása alapján és Wettl Ferenc el adása alapján Határérték és

Sorozatok és Sorozatok és / 18

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Kétfázisú szimplex algoritmus és speciális esetei

Tuza Zsolt 60 éves. (speciális szeminárium) 14:20-15:05 Körner János: Végtelen gráfsorozatok az információelméletben

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

2. A ξ valószín ségi változó eloszlásfüggvénye a következ : x 4 81 F (x) = x 4 ha 3 < x 0 különben

Gauss-Seidel iteráció

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

24. szakkör (Csoportelméleti alapfogalmak 3.)

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

VIZSGÁLATA. Doktori (PhD) értekezés tézisei. Dr. Dósa György PANNON EGYETEM. Matematika Tanszék Informatikai Tudományok Doktori Iskola 2014.

DiMat II Végtelen halmazok

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Optimális és közel-optimális online és félig online algoritmusok ütemezési feladatokra

angolul: greedy algorithms, románul: algoritmi greedy

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

Analízis I. Vizsgatételsor

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Versenyképes algoritmusok a diszkrét optimalizálásban. Doktori értekezés tézisei

Wigner tétele kvantummechanikai szimmetriákról

ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az eredmény. A kérdés a következő: Mikor mondhatjuk azt, hogy bizonyos események közül

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Diszkrét démonok A Borsuk-probléma

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

A 2007/2008 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. II. (programozás) kategória

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

Konvex optimalizálás feladatok

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Visszalépéses keresés

A szimplex algoritmus

2010. október 12. Dr. Vincze Szilvia

Korlátozás és szétválasztás elve. ADAGOLO adattípus

Analízisfeladat-gyűjtemény IV.

Deníciók és tételek a beugró vizsgára

Vektorok. Wettl Ferenc október 20. Wettl Ferenc Vektorok október / 36

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió

A félév során előkerülő témakörök

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

5. házi feladat. AB, CD kitér élpárra történ tükrözések: Az ered transzformáció: mivel az origó xpont, így nincs szükség homogénkoordinátás

Háromszögek fedése két körrel

2017/ Szegedi Tudományegyetem Informatikai Intézet

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

A brachistochron probléma megoldása

Elemi matematika szakkör

A mérési eredmény megadása

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Elméleti összefoglaló a Valószín ségszámítás kurzushoz

Átírás:

Online ládapakolás 1. Ládapakolási modellek A ládapakolási problémában inputként tárgyak egy sorozatát kapjuk meg, ahol az i-edik tárgyat a mérete határozza meg, ami egy a i (0, 1] érték. Célunk a tárgyak elhelyezése a lehet legkevesebb egység méret ládába. Formálisabban megfogalmazva a tárgyakat olyan csoportokba akarjuk osztani, hogy minden csoportra a benne lev tárgyakra a a i 1 feltétel teljesüljön. Ebben a részben az online ládapakolási problémát vizsgáljuk, amely problémában az algoritmusnak az i-edik tárgyat az a 1,..., a i értékek alapján kell elhelyezni a további tárgyakra vonatkozó információk ismerete nélkül. Az online algoritmusok hatékonyságát elméleti szempontból két módszerrel szokás vizsgálni. Az átlagos eset analízis során feltételezünk valamilyen típusú eloszlást a tárgyak méretér l és a használt ládák várható számát vizsgáljuk. A másik megközelítés a versenyképességi analízis, amely egy legrosszabb esetkorlát. Ebben a jegyzetben ez utóbbi módszert használjuk, ezért az alábbiakban megadjuk a pontos deníciót. A ládapakolási problémák elemzésére a versenyképességi hányados helyett az aszimptotikus versenyképességi hányadost vizsgálják. (Az ütemezés esetén használt fogalmat a legtöbb ládapakolási modellben nem vizsgálják, ha igen akkor abszolút versenyképességi hányadosnak hívják.) Egy A algoritmus aszimptotikus versenyképességi hányadosa (RA ) a következ formulákkal deniálható: R n A = max{a(l)/op T (L) OP T (L) = n} R A = lim sup RA. n n Az aszimptotikus hányados f tulajdonsága az, hogy azt vizsgálja, miként viselkedik az algoritmus akkor, ha az input mérete nagy, azaz ha az optimális költség végtelenhez tart. Ez azt jelenti, hogy az algoritmus szabadon helyezheti el a kezdeti elemeket a listáról. A fentiekben deniált ládapakolási problémának számos változata, általánosítása van. Az alábbiakban megemlítünk néhányat. A ládapakolási probléma három különböz módon általánosítható több dimenzióra. Az els általánosítás a vektorpakolás, amelyben a tárgyak d-dimenziós vektorok és úgy kell elpakolni ket, hogy minden ládában minden koordinátára az ott szerepl értékek összege ne legyen nagyobb 1-nél. A második általánosítás a dobozpakolás, ahol többdimenziós dobozokat kell pakolni többdimenziós egységládákba. Végül a harmadik általánosítás a sávpakolás, ahol egy egységnyi széles sávba pakolunk tárgyakat és célunk, minimalizálni a használt magasságot. Fontos még megemlítenünk a ládafedési problémát, amelyben célunk, hogy a tárgyakkal a

lehet legtöbb ládát töltsük legalább egységnyi méret re. Ezeket a modelleket itt nem tárgyaljuk, részletek találhatók a [1] áttekint dolgozatban. 2. Az NF algoritmus, helykorlátos algoritmusok Érdemes még megemlítenünk azt a modellt, amelyben az egyid ben nyitott ládák száma korlátozott. Ez azt jelenti, hogy amennyiben a nyitott ládák száma elér egy k-korlátot, akkor ezt követ en csak akkor nyithatunk új ládát, ha az eddig nyitott ládák valamelyikét bezárjuk, ami azt jelenti, hogy többet nem használhatjuk. Ha a nyitott ládák száma csak egy lehet, akkor az egyetlen algoritmus, amely használható a következ NF algoritmus: NF algoritmus: Amennyiben a tárgy elfér a nyitott ládában tegyük oda! Ellenkez esetben zárjuk be a nyitott ládát, nyissunk egy új ládát és tegyük abba a tárgyat! Tétel Az NF algoritmus aszimptotikus versenyképességi hányadosa 2. Bizonyítás Vegyünk egy tetsz leges σ tárgysorozatot. Jelölje n az NF algoritmus által használt ládák számát, továbbá legyen S i, i = 1,..., n az i-edik ládában lev tárgyak méreteinek összege. Ekkor S i + S i+1 1, hiszen ellenkez esetben az i + 1-edik láda els eleme elfért volna az i-edik ládában, ami ellentmond az algoritmus deníciójának. Következésképp a tárgyak méreteinek összege legalább n/2. Másrészt az optimális oine algoritmus sem rakhat 1-nél több összméret tárgyakat egy ládába, így azt kapjuk, hogy OP T (σ) n/2. Ez azt jelenti, hogy NF (σ) OP T (σ) n n/2 2 + 1/ n/2. Másrészt ha n tart végtelenbe, akkor 1/ n/2 tart a 0-hoz, amivel igazoltuk, hogy az algoritmus aszimptotikusan 2-versenyképes. Most megmutatjuk, hogy az algoritmus aszimptotikus versenyképességi hányadosa legalább 2. Ehhez tekintsük minden n-re a következ σ n sorozatot. A sorozat 4n tárgyból áll, a 2i 1-edik tárgy mérete 1/2, a 2i-edik tárgy mérete 1/2n, ahol i = 1,..., 2n. Ekkor az NF algoritmus az i-edik ládába a 2i 1-edik és a 2i-edik tárgyat teszi, és NF (σ n ) = 2n. Az optimális algoritmus az 1/2 méret tárgyakat párosítja, és a kis tárgyakat egy további ládába teszi, így OP T (σ n ) = n + 1. Mivel NF (σ n )/OP T (σ n ) = 2 2/(n + 1) a 2 értékhez konvergál, ha n tart végtelenbe, ezért igazoltuk, hogy az algoritmus aszimptotikus versenyképességi hányadosa legalább 2. Itt érdemes megemlítenünk, hogy amennyiben egynél több (de korlátozott számú) láda lehet nyitva, az NF algoritmusnál jobb algoritmusok is ismertek. A jelenlegi legjobb algoritmusok a harmonikus algoritmusok családjába tartoznak, ahol az alapötlet az, hogy a (0, 1] intervallumot részintervallumokra osztjuk, és minden tárgynak az az intervallum lesz a típusa, amely intervallumba a mérete esik. A különböz típusú tárgyakat különböz ládákba pakoljuk, az algoritmus

párhuzamosan alkalmaz egy-egy NF algoritmust az egyes típusokhoz tartozó tárgyakra. 3. Alsó korlátok on-line algoritmusokra Ebben a részben azt vizsgáljuk, miként találhatunk általános alsó korlátokat a lehetséges versenyképességi hányadosokra. Els ként egy egyszer alsó korlátot tekintünk, ezt követ en megmutatjuk miként általánosíható a bizonyítás alapgondolata egy általános módszerré. Tétel Nincs olyan online algoritmus a ládapakolási problémára, amelynek az aszimptotikus versenyképességi hányadosa kisebb, mint 4/3. Bizonyítás: Legyen A egy tetsz leges online algoritmus. Tekintsük tárgyaknak a következ sorozatát. Legyen ε < 1/12 és L 1 egy n darab 1/3 + ε méret tárgyból álló sorozat, L 2 pedig n darab 1/2 + ε méret tárgyból álló sorozat. Els ként az algoritmus megkapja az L 1 listát. Ekkor az algoritmus bizonyos ládákba két tárgyat tesz, bizonyos ládákba egyet. Jelölje k azon ládák számát, amelyek két tárgyat tartalmaznak. Ekkor az algoritmus költsége A(L 1 ) = k + n 2k = n k. Másrészt az optimális oine algoritmus minden ládába két tárgyat tesz, így a költség OP T (L 1 ) = n/2. Amennyiben ugyanez az algoritmus az L 1 L 2 összetett listát kapja, akkor az els részben szintén k ládát használ két tárgynak. (Az online algoritmus nem tudja, hogy az L 1 vagy az L 1 L 2 lista alapján kapja a tárgyakat.) Következésképp az 1/2 + ε méret tárgyak közül csak n 2k darabot párosíthat az el z tárgyakhoz a többihez mindhez új ládát kell nyitnia. Tehát A(L 1 L 2 ) n k + (n (n 2k)) = n + k. Mászrészt az optimális oine algoritmus minden ládába egy kisebb, 1/3 + ε méret és egy nagyobb, 1/2 + ε méret tárgyat tesz, így OP T (L 1 L 2 ) = n. Következésképpen azt kapjuk, hogy az A online algoritmusra van olyan L lista, amelyre A(L)/OP T (L) max{ n k n/2, n + k n } 4/3. Másrészt a fenti hányadosokban az OP T (L) érték legalább n/2, ami tetsz legesen nagynak választható. Így a fenti egyenl tlenség l adódik, hogy az A algoritmus aszimptotikus versenyképességi hányadosa legalább 4/3, amivel a tétel állítását igazoltuk. A pakolási minták módszere A fenti bizonyítás alapötlete, hogy egy hosszabb tárgysorozatot (a fentiekben L 1 L 2 ) veszünk és az algoritmus viselkedését l függ en választjuk ki azt a kezd szeletét a sorozatnak, amelyre a költségek hányadosa maximális. Természetes gondolat a bizonyításban használt sorozatnál bonyolultabb sorozatot használni. Több alsó korlát született különböz sorozatok felhasználásával. Másrészt a sorozatok elemzéséhez szükséges számítások egyre bonyolultabbak lettek. Az

alábbiakban megmutatjuk miként írható fel a sorozat elemzése vegyes egészérték programozási feladatként, amely lehet vé teszi, hogy az alsó korlátot számítógép segítségével határozzuk meg. Tekintsük a következ tárgysorozatot. Legyen L = L 1 L 2... L k, ahol L i n i = α i n egyforma méret tárgyat tartalmaz, amelyek mérete a i. Amennyiben egy A algoritmus C-versenyképesség, akkor minden j-re teljesülnie kell a C lim sup n A(L 1... L j ) OP T (L 1... L j ) feltételnek. A fentiekben tekinthetjük azt az algoritmust, amelyre az általunk adható alsó korlát minimális, így célunk az R = min A max j=1,...,k lim sup n A(L 1... L j ) OP T (L 1... L j ) érték meghatározása, amely érték egy alsó korlát lesz a versenyképességi hányadosra. Ezen érték meghatározható egy vegyes egészérték programozási feladat optimumaként. A feladat megadásához szükségünk van a következ fogalmakra. Egy tetsz leges ládára a láda tartalma leírható a láda pakolási mintájával, amely azt adja meg, hogy az egyes részlistákból hány elemet tartalmaz a láda. A pakolási minta egy k-dimenziós vektor (p 1,..., p k ), amelynek a p i koordinátája azt adja meg, hány elemet tartalmaz a láda az L j részlistából. Pakolási minta olyan nemnegatív egész koodinátájú vektor lehet, amelyre a k j=1 a jp j 1 feltétel teljesül. (Ez a feltétel azt írja le, hogy a minta által leírt tárgyak valóban elférnek egy ládában.) Osztályozzuk a lehetséges minták T halmazát a következ képpen. Minden j-re legyen T j azon minták halmaza, amelyeknek az els pozitív együtthatója a j-edik. (Egy p minta a T j halmazba kerül, ha p i = 0 minden i < j esetén, és p j > 0.) Most tekintsük az A algoritmus által kapott pakolást. Az algoritmus minden ládát valamely pakolási minta alapján töltött meg, így az algoritmus által kapott pakolás leírható a pakolási minták segítségével. Jelölje n(p) minden p T esetén azon ládák számát, amely ládákat a p mintának megfelel en pakolt az algoritmus. Vegyük észre, hogy egy láda, amely egy a T j osztályba es mintának megfelel en lett megtöltve az els elemét az L j részlistából kapja. Következésképpen azt kapjuk, hogy az algoritmus által az L 1... L j részlista pakolása során kinyitott ládák száma a következ képpen adható meg az n(p) értékekkel: A(L 1... L j ) = j i=1 p T i n(p). Tehát egy adott n-re a keresett A értéket a következ vegyes egészérték programozási feladat megoldásával számíthatjuk ki.

Min R p T p jn(p) = n j, j i=1 p T i n p R OP T (L 1... L j ), n(p) {0, 1,...}, 1 j k 1 j k p T Az els k feltétel azt írja le, hogy az összes tárgyat el kell helyeznünk a ládákban. A második k feltétel az írja le, hogy az R érték valóban nem kisebb, mint az algoritmus költségének és az optimális költségnek a hányadosa a vizsgált részlistákra. Az L 1 L 2... L k lista alapján a pakolási minták T halmaza és az optimális OP T (L 1... L j ) értékek meghatározhatók. A problémában a változók igen nagy értékeket vehetnek fel és a változók száma is nagy lehet, ezért a probléma helyett a lineáris programozási relaxációt szokás tekinteni. Továbbá a megoldást azon feltétel mellett kell meghatároznunk, hogy n tart a végtelenbe, és ezen feltétel mellett az egészérték feladat és a relaxáció ugyanazokat a korlátokat adják. Az eljárást megfelel en választott listákra alkalmazva kapták meg a jelenleg ismert legjobb alsó korlátot, amely azt mondja ki, hogy nincs olyan online algoritmus, amelynek kisebb a versenyképességi hányadosa, mint 1.5401. Ezen tétel részletes bizonyítása, a módszer részletesebb tárgyalása egyéb ládapakolási alkalmazásokkal megtalálható a [4] doktori disszertációban. 4. Az FF algoritmus, a súlyfüggvény technika Ebben a részben egy módszert mutatunk be, amely gyakran használt a ládapakolási algoritmusok analízise során. A módszert az FF (First Fit) algoritmuson mutatjuk be. Az FF algoritmus az NF algoritmus továbbfejlesztett változata, arra az esetre, amelyben nincs korlátozva a nyitott ládák száma. FF Algoritmus: A tárgyat a legkorábban kinyitott ládába tesszük ahol elfér. Ha nem fér el egyik ládában sem, kinyitunk egy új ládát és abba rakjuk. Itt deniáljuk a hasonló elven m köd BF Best Fit algoritmust. BF Algoritmus: A tárgyat a legnagyobb össztöltéssel rendelkez ládába tesszük ahol elfér. Ha nem fér el egyik ládában sem, kinyitunk egy új ládát és abba rakjuk. A FF algoritmusra teljesül a következ állítás. Tétel Az FF algoritmus aszimptotikus versenyképességi hányadosa 1.7. Bizonyítás: Mivel ezen rész f célja a súlyfüggvény technika bemutatása, ezért pusztán azzal a résszel foglalkozunk, amely azt igazolja, hogy az algoritmus aszimptotikusan 1.7-versenyképes. A korlát élességének bizonyítása megtalálható a [3] dolgozatban. A bizonyítás alapötlete a súlyfüggvény technika, amely azt jelenti, hogy minden tárgyhoz egy súlyt rendelünk, amely azt adja meg valamilyen értelemben, hogy mennyire sok helyet foglalhat el a tárgy egy pakolásban. A tárgyaknak veszük az összsúlyát, és ezen érték segítségével becsüljük mind az oine és az online célfüggvények értékét. Deniáljuk a következ súlyfüggvényt:

6x/5, ha 0 x 1/6 9x/5 1/10, ha 1/6 x 1/3 w(x) = 6x/5 + 1/10, ha 1/3 x 1/2 6x/5 + 2/5, ha 1/2 < x. A tárgyak egy tetsz leges H halmazára legyen w(h) = i H w(a i). Ekkor a súlyfüggvényre teljesülnek az alábbi állítások. Lemma Amennyiben tárgyak egy H halmazára teljesül, hogy i H a i 1, akkor ezen tárgyakra w(h) 17/10. Lemma Tárgyak tetsz leges L listájára w(l) > F F (L) 2. Bizonyítás: Mindkét lemma bizonyítása azon alapul, hogy eseteket különböztetünk meg a tárgyak méretét l függ en. A bizonyítások hosszúak és sok technikai részletet tartalmaznak, ezért jelen jegyzetben az bemutatásuktól eltekintünk. Az érdekl d olvasó megtalálhatja a részleteket a [3] cikkben. A lemmák alapján könnyen igazolható, hogy az algoritmus aszimptotikusan 1.7 versenyképes. Tekintsük tárgyaknak egy tetsz leges L listáját. Mivel az optimális oine algoritmus el tudja pakolni a lista elemeit OP T (L) ládába úgy, hogy minden ládába a tárgyak méreteinek összege legfeljebb 1, ezért az els lemma alapján w(l) 17 10OP T (L). Másrészt a második lemma alapján F F (L) 2 w(l), így azt kapjuk, hogy F F (L) 17 10OP T (L) + 2, amib l következik, hogy az algoritmus 1.7-versenyképes. Érdemes megjegyeznünk, hogy számos az F F algoritmusnál jobb algoritmus került kifejlesztésre. A jelenleg ismert legjobb algoritmus aszimptotikus versenyképességi hányadosa 1.5888. 5. Többdimenziós változatok 5.1. On-line sávpakolás A sávpakolási feladatban téglalapok egy halmaza adott a szélességükkel és magasságukkal, és a célunk az, hogy ezeket a téglalapokat elhelyezzük forgatások nélkül egy függ leges w szélesség sávba úgy, hogy minimalizáljuk a felhasznált rész magasságát. A továbbiakban feltételezzük, hogy a tárgyak magassága legfeljebb 1. Általában az ütemezés megosztott er forrásokkal két dimenziót eredményez, az er forrást és az id t. Ebben az esetben tekinthetjük a szélességet a felhasznált er forrás nagyságának, a magasságot pedig a felhasznált id nek, így célunk a felhasznált id minimalizálása. A feladat on-line változatát vizsgáljuk, ahol a téglalapok egy listáról érkeznek, és a megérkezett téglalapot el kell helyeznünk a függ leges sávban a további téglalapokra vonatkozó ismeretek nélkül. Az on-line sávpakolási feladatra kidolgozott algoritmusok többsége a polc algoritmusok családjába tartozik. az alábbiakban ezt az algoritmuscsaládot ismertetjük.

Polc algoritmusok Egy alapvet módszer a téglalapok pakolására az, hogy polcokat deniálunk és a téglalapokat ezekre a polcokra helyezzük el. Polcon a feltöltend sávnak egy vízszintes részét értjük. A Polc algoritmus minden téglalapot egy polcra helyez. Miután az algoritmus kiválasztotta azt a polcot, amely a téglalapot tartalmazni fogja, az algoritmus a téglalapot elhelyezi a polcon annyira balra, amennyire lehetséges a már a polcon lev egyéb téglalapok átfedése nélkül. Tehát a téglalap érkezése után az eljárásnak két döntést kell hoznia. Az els döntés az, hogy az eljárás kialakít-e egy új polcot vagy sem. Ha új polcot alakítunk ki, meg kell határoznunk a polc magasságát is. Az újonnan kialakított polcokat mindig az el z polc tetejére helyezzük, az els polc a sáv legalján van. A második döntés, hogy az algoritmusnak ki kell választani azt a polcot, amelyre a téglalapot helyezi. A továbbiakban akkor mondjuk, hogy egy téglalap elhelyezhet egy polcon, ha a polc magassága nem kisebb a téglalap magasságánál és a polcon elég hely van ahhoz, hogy a téglalapot elhelyezzük rajta. Egy eljárást vizsgálunk részletesen a fenti feladat megoldására. Ez az algoritmus a Baker és Schwarz által 1983-ban kifejlesztett NFS r algoritmus. Az algoritmus egy r < 1 paramétert l függ. Az algoritmus minden j-re legfeljebb egy r j magasságú aktív polcot tart fent és egy tárgy érkezése után a következ szabállyal deniálhatjuk. A p i = (w i, h i ) téglalap érkezése után válasszunk egy olyan k értéket, amelyre teljesül, hogy r k+1 < h i r k. Amennyiben van r k magasságú aktív polc, és a téglalap elhelyezhet ezen a polcon, akkor helyezzük el. Ellenkez esetben alakítsunk ki egy új r k magasságú polcot, helyezzük el a téglalapot rajta, és a továbbiakban legyen ez a polc az r k magasságú aktív polc (ha volt korábbi aktív polc, azt lezárjuk). példa Legyen r = 1/2. Legyen az els tárgy mérete (w/2, 3/4). Ez a tárgy 1 magasságú polcra kerül. Ekkor létrehozunk egy 1 magasságú polcot a sáv legalján, ez lesz az 1-magasságú aktív polc, és ennek a polcnak a bal sarkára helyezzük el a tárgyat. Legyen a következ tárgy mérete (3w/4, 1/4). Ez a tárgy 1/4 magasságú polcra kerül. Mivel nincs ilyen aktív polc, ezért létrehozunk egy 1/4 magasságú polcot az el z 1 magasságú polc tetején, ez lesz az 1/4 magasságú aktív polc, és ennek a polcnak a bal sarkára helyezzük el a tárgyat. Legyen a következ tárgy mérete (3w/4, 5/8). Ez a tárgy ismét 1 magasságú polcra kerül. Mivel az 1 magasságú aktív polcon nem fér el, ezért azt lezárjuk, és létrehozunk egy új 1 magasságú polcot az el z 1/4 magasságú polc tetején, ez lesz az 1 magasságú aktív polc, és ennek a polcnak a bal sarkára helyezzük el a tárgyat. Legyen a következ tárgy mérete (w/8, 3/16). Ez a tárgy 1/4 magasságú polcra kerül. Az 1/4 magasságú aktív polcon még elfér a tárgy, ezért arra polcra rakjuk, annyira balra, amennyire lehetséges a második tárgy mellé. NFS r versenyképességére igazak az alábbi állítások. Tétel Az NFS r algoritmus ( 2 r + 1 r(1 r)) -versenyképes. Az NFSr algoritmus aszimptotikusan 2/r-versenyképes.

Bizonyítás Tekintsük téglalapoknak egy tetsz leges L listáját, jelölje H a legmagasabb téglalap magasságát. Mivel ekkor OPT(L) H teljesül, ezért a tétel állításának igazolásához elegend belátnunk, hogy erre a sorozatra NFS r (L) 2/rOPT(L) + H/r(1 r). Jelölje H A az L lista végén az aktív polcok összmagasságát, H Z pedig a többi lezárt polcok összmagasságát. Els ként vizsgáljuk az aktív polcokat. Jelölje h a legmagasabb aktív polc magasságát. Ekkor az aktív polcok magasságai a hr i értékeket vehetik fel és minden i-re legfeljebb egy aktív polc van hr i magassággal. Tehát az aktív polcok összmagasságára H A h r i = h 1 r. i=0 Másrészt a H > rh egyenl tlenségnek is teljesülnie kell, hiszen különben a legmagasabb téglalap is elfért volna a legfeljebb rh magasságú polcokon és nem nyitottuk volna meg a h magasságú polcot. Következésképpen H A H/r(r 1). Most vizsgáljuk a lezárt polcokat. Vegyük egy tetsz leges i-re a hr i magasságú polcokat, jelölje ezeknek a számát n i. Minden ilyen lezárt S polcra a következ S polc els ként egy olyan elemet tartalmaz, amely már nem volt elhelyezhet, így a két egymást követ polcra az elhelyezett téglalapok teljes szélessége legalább w. Másrészt a hr i magasságú polcokon minden tárgy magassága legalább hr i+1, hiszen egyébként a tárgyat egy kisebb magasságú polcra helyeznénk. Tehát párosítva a lezárt polcokat és használva az aktív hr i magasságú polcot is, ha a lezárt polcok száma páratlan, azt kapjuk, hogy az ilyen polcokon elhelyezett tárgyak összterülete legalább wn i hr i+1 /2. Következésképpen az összes téglalapnak az összterülete legalább i=0 wn ihr i+1 /2, így OPT(L) i=0 n ihr i+1 /2. Másrészt a lezárt polcok összmagassága H Z = i=0 n ihr i, így azt kaptuk, hogy H Z 2OPT(L)/r. Mivel NFS r (L) = H A + H Z, ezért a fentiek alapján adódik a kívánt egyenl tlenség. A fenti algoritmuson kívül további polc algoritmusokat is vizsgáltak a feladat megoldására. A fenti algoritmus alapgondolata, hogy az egyes polctípusokat ládaként fogjuk fel, és az adott polctípushoz rendelt tárgyakat az NF ládapakolási algoritmussal helyezzük el. Természetes gondolat más ládapakolási algoritmusok használata. A jelenlegi legjobb polc algoritmust Csirik és Woeginger fejlesztették ki 1997-ben, amely algoritmus a harmonikus ládapakolási algoritmust használja az adott polctípusokhoz rendelt tárgyak elhelyezésére. 5.2. On-line sávpakolás nyújtható tárgyakkal Amennyiben a sávpakolási feladattal azt az er forrás allokációs problémát modellezük, amelyben a tárgyak szélessége az er forrásigény a tárgyak magassága az id, akkor használhatjuk azt a változatot, amelyben a tárgyak mérete nem x, hanem az egyes tárgyakat megnyújthatjuk a területüket xen hagyva (ld [2]). Ebben a részben az egyszer bb tárgyalás érdekében feltesszük, hogy a

sáv szélessége 1. Egyszer en látható, hogy ebben az esetben az oine probléma könnyen megoldható. Az oine optimum értéke OP T (L) = max{s, H}, ahol S = i L w i h i a teljes terület, és and H = max i L h i a maximális magasság. Az aszimptotikus versenyképességi hányadost használva tetsz legesen közel juthatunk az 1 értékhez ha nagyon nagy additív konstanst engedünk meg az algoritmus elemzésében, következésképpen ebben az esetben a versenyképességi hányadost érdemes használni. A feladat megoldására egyb l adódik az NFS r algoritmus következ módosítása. A p i = (w i, h i ) téglalap érkezése után válasszunk egy olyan k értéket, amelyre teljesül, hogy r k+1 < h i r k. Nyújtsuk meg a téglalapot r k magasságúra. Amennyiben van r k magasságú aktív polc, és az új téglalap elhelyezhet ezen a polcon, akkor helyezzük el. Ellenkez esetben alakítsunk ki egy új r k magasságú polcot, helyezzük el a téglalapot rajta, és a továbbiakban legyen ez a polc az r k magasságú aktív polc (ha volt korábbi aktív polc, azt lezárjuk). Az így kapott algoritmusra igaz a következ állítás. Tétel Az NFS r algoritmus ( 2 + 1 r(1 r)) -versenyképes. Bizonyítás Tekintsük téglalapoknak egy tetsz leges L listáját, jelölje H a legmagasabb téglalap magasságát. Mivel ekkor OPT(L) H teljesül, ezért a tétel állításának igazolásához elegend belátnunk, hogy erre a sorozatra NFS r (L) 2OPT(L) + H/r(1 r). Jelölje H A az L lista végén az aktív polcok összmagasságát, H Z pedig a többi lezárt polcok összmagasságát. Els ként vizsgáljuk az aktív polcokat. Jelölje h a legmagasabb aktív polc magasságát. Ekkor az aktív polcok magasságai a hr i értékeket vehetik fel és minden i-re legfeljebb egy aktív polc van hr i magassággal. Tehát az aktív polcok összmagasságára H A h r i = h 1 r. i=0 Másrészt a H > rh egyenl tlenségnek is teljesülnie kell, hiszen különben a legmagasabb téglalap is elfért volna a legfeljebb rh magasságú polcokon és nem nyitottuk volna meg a h magasságú polcot. Következésképpen H A H/r(r 1). Most vizsgáljuk a lezárt polcokat. Vegyük egy tetsz leges i-re a hr i magasságú polcokat, jelölje ezeknek a számát n i. Minden ilyen lezárt S polcra a következ S polc els ként egy olyan elemet tartalmaz, amely már nem volt elhelyezhet, így a két egymást követ polcra az elhelyezett téglalapok teljes szélessége legalább 1. Továbbá a téglalapokat megnyújtjuk miel tt az aktuális polcra raknánk, így minden téglalap magassága pontosan hr i. Tehát párosítva a lezárt polcokat és használva az aktív hr i magasságú polcot is, ha a lezárt polcok száma páratlan, azt kapjuk, hogy az ilyen polcokon elhelyezett tárgyak összterülete legalább n i hr i /2. Következésképpen az összes téglalapnak az összterülete legalább i=0 n ihr i /2, így OPT(L) i=0 n ihr i /2. Másrészt a lezárt polcok

összmagassága H Z = i=0 n ihr i, így azt kaptuk, hogy H Z 2OPT(L). Mivel NFS r (L) = H A + H Z, ezért a fentiek alapján adódik a kívánt egyenl tlenség. Ennél jobb versenyképességi hányadossal rendelkezik a következ DUPLAZO algoritmus. DUPLAZO ALGORITMUS Az els téglalap érkezése után vegyünk egy h 1 magas polcot a sáv legalján és legyen ez az aktív polc. A további elemeket pakoljuk az alábbi szabály szerint: 1. Lépés Ha lehetséges a téglalapot berakni az aktív polcra, azt követ en, hogy megnyújtjuk az aktív polc magasságára, akkor nyújtsuk meg és rakjuk az aktív polcra annyira balra, amennyire lehetséges. Egyébként 2. lépés. 2. Lépés Vegyünk egy új aktív polcot, amely kétszer olyan magas, mint az el z tegyük az eddigi polcok tetejére. Lépjünk az 1. lépésre. Az algoritmusra teljesül a következ állítás. Tétel A DUPLAZO algoritmus versenyképességi hányadosa 4. Bizonyítás: Els ként igazoljuk, hogy az algoritmus 4 versenyképes. Vegyünk egy tetsz leges L listáját téglalapoknak. Legyen H az utolsó aktív polc magassága. Amikor az algoritmus ezt a polcot megkonstruálta, akkor az aktuális téglalap nem fért el az el z H/2 magas aktív polcon, következésképpen H 2 OP T (L). Másrészt a használt polcmagasságok H/2, H/4,..., H/2 i valamely i-re, így a teljes sávmagasság legfeljebb 2H. A korlát élességének igazolásához vegyük a következ L i listát. Az els i téglalap legyen (1/4, 2 j ), j = 1,..., i, az utolsó pedig legyen (1/4, 2 i + 1). Végrehajtva az algoritmust, és megkonstruálva az optimális oine megoldást azt kapjuk, hogy DS(L i )/OP T (L i ) = 2 i+2 /(2 i + 1), ami tart 4-hez, amint i tart a végtelenbe. Hivatkozások [1] J. Csirik, G. Woeginger, On-line packing and Covering problems, Online algorithms: The State of the Art Vol. 1442 of Lecture Notes in Computer Science, Fiat A., G. J. Woeginger (eds.), Springer-Verlag, Berlin - Heidelberg, 1998 147177 [2] Cs. Imreh, Online strip packing with modiable boxes, Operation Research Letters, 66, 79-86, 2001. [3] D. S. Johnson, A. Demers, J. D. Ullman, R. M. Garey, R. L. Graham, Worst-case performance bounds for simple one-dimensional packing algorithms, SIAM J. of Computing 3 256278, 1974. [4] A. van Vliet, Lower and upper bounds for on-line bin packing and scheduling heuristics, PhD thesis, Erasmus University, Rotterdam, The Netherlands, 1995.