170 likes | 288 Views
Primena metaheuristike mravljih kolonija za re šavanje jednodimenzionog problema pakovanja. MPIO 2013-2014. J ednodimenzion i proble m pakovanja.
E N D
Primenametaheuristike mravljih kolonijaza rešavanjejednodimenzionog problemapakovanja MPIO 2013-2014
Jednodimenzioniproblempakovanja • Dat je skup paketa sa pridruženim veličinama koje treba spakovatiu skladištaunapredzadatogkapaciteta, takoda je brojiskorišćenihskladištaminimalan. • Jednodimenzioni problem pakovanja(Bin Packing Problem - BPP) pripada klasi NP teških problema (Garey i Johnson, 1979). • Egzaktnemetodeprimenjenena BPP efikasno rešavaju instance problemamanjihdimenzija, dok se za instance većih dimenzija koriste heuristike i metaheuristike. • Najčešće, problem se rešava hibridnim metodama, jer one daju najbolje rezultat
Definicijaproblema Dati su: konačan skup Lodnpaketakojisuzadatisvojimveličinama lj, j= 1,…,n konstantaC (kapacitet skladišta) , brojraspoloživih skladištaN Cilj: spakovati pakete u što manji broj otvorenih skladištabezprekoračenjakapaciteta skladišta. Matematička fomulacijaproblema: Binarnepromenljive: Minimizujemo funkciju Uzuslove:
Primenejednodimenzionogproblemapakovanja • Problem utovaraprtljaga– minimizujemo broj vozila koja prevoze pakete određenih veličina do zadatih destinacija; ovde minimizujemo i troškove transporta tih vozila. • Primene u industriji – papirna, čelična, drvna industrija. Sečemo materijale na određene veličine, a cilj je minimizovati materijal koji otpada. Ovde je reč o 2D ili 3D BPP-u. • Neki problemi koji su suštinski slični BPP-u, mada izgledaju drugačije npr. VLSI dizajn (Very Large Scale Integration),tj. kreiranjeintegrisanih kola kombinovanjemvelikogbrojatranzistora u jedan čip (VLSI uređaj), problemi u ekonomiji, upravljanje kapitalom... 4/20
Dosadašnje rešavanje problema • Heuristike – FFD, BFD, NFD, WFD. Zajednička ideja:paketise ređajuu nerastućem poretku (po veličini), a koriste se različite strategije FFD – paket se smešta u prvoskladište u koje može stati. BFD –paket se smešta u prvoskladište u koje može stati, a kojeimanajmanjepreostalogslobodnogprostora. NFD –paketi se smeštaju u otvorenoskladište dok god mogu u njegastati. WFD –paket se smešta u prvoskladište u koje može stati, a kojeimanajviše preostalogslobodnogprostora. Heuristike sezaustavljaju kadasusvipaketiraspoređeni. • Heuristikaredukcije(Reduction Procedure - MTP) • Metaheuristike: Hibridnigenetskialgoritamgrupisanja (Hybrid Grouping GeneticAlgorithm - HGGA) Metodaoptimizacijepomoću mravljekolonije (Ant Colony Optimization - ACO)
Prilagođavanje ACO algoritma BPP-u • Neophodno je izabrati strategije i parametre algoritma u zavisnosti od toga koji problem rešavamo. • ACO uspešno rešava probleme poretka. • Kod BPP-a, imamo problem grupisanja – ono što mi želimo da uradimo je da pakete odvojimo u grupe • Ovakaj problem se po strukturi razlikuje od problema kojeACO obično rešava
Trag feromona • Tragferomonadefinišemopremaprirodiproblemakoji rešavamo. • Definicija traga feromona za BPP: τ(i,j) je pristrasnost (poželjnost) da se paket veličine i i paket veličine j nađu u istom skladištu. • Prednosti: - Matrica feromona je kompaktna. - Matrica predstavlja šablon za pakovanje, jerčuvainformacije o “dobrim” pakovanjima.
Izbor heuristike • Heuristika gradi rešenja u kombinaciji sa tragom feromona. • U ACO ugrađujemo različite pomoćne heuristike • Upoređujemoperformanse ACO saheuristikama FFD, NFD, BFD, WFD. • Metode FFD i NFD: punimoskladištezaskladištem. Proveravamodalisledećipaketmožestati u otvorenoskladište. Ukolikomože, smeštamoga. U suprotnom, otvaramo novo (NFD – zatvaramostaro). • Metode BFD i WFD: punimoskladištezaskladištem.Proveravamodali je preostaliprostorotvorenogskladištaminimalan (WFD – maksimalan) u odnosunaostalaotorenaskladišta. Akopaketmožestati u to skladište, smeštamoga. U suprotnom, otvaramo novo skladište. • Uvekćemoizabrativelikipaketza smeštanje pre nego mali. Dakle, heuristički odabir paketa je u direktnoj vezi sa njegovom veličinom. η(j)=j
Izgradnja rešenja • Svakimravpočinjesapraznimskladištem iskupompaketakojitrebadasmesti u skladišta. On konstruiše rešenje tako što puni sva skladišta dok svi paketi nisuspakovani. U slučajudanijedanodpreostalihpaketa ne možestati u trenutnootvorenoskladište, ono se zatvaraiotvara se novo. • Koji paketsmestiti u otvorenoskladište? Odluka se zasnivanainformacijiizheuristike, aliinainformacijiizferomona. Verovatnoća da će u mrav k izabrati da paketj smesti u otvoreno skladište b je definisanasa: Jk(s,b) broj paketa koji mogu stati u otvoreno skladište b nakonparcijalnog rešenja s μ(j) je veličinapaketa j τb(j) je vrednost feromona za paket j koji se nalazi u skladištu bipredstavljasumusvihvrednostiferomonaizmeđu paketaiij, a koji se većnalazeskladištub, podeljenasumomveličinasvihpaketaskladištab. 12/20
Pojačavanje feromona i funkcijaprilagođavanja • Ideja je da se feromon pojačava svaki put kada se i i j nađu zajedno u najboljem rešenju • m = brojkojioznačava koliko puta su se paketii i j našli u istom skladištu u najboljem rešenju • Funkcijaprilagođavanjaje pokazatelj kvaliteta rešenja: • Fije popunjenost skladišta i • parametar z pomaže raznolikost. Optimalno, z=2.
Pojačavanje feromona i funkcijaprilagođavanja Ostavljanje feromona se dozvoljava samo najboljem mravu? • Korišćenjesamonajboljegmravazapojačavanje feromonačinipretragu previše usmerenom.Bićepodržanesamo kombinacijeskladištakoje se čestojavljaju u dobrimrešenjima. • Postojinekolikonačinada se balansiraizmeđu eksploatacijeipretraživanja. Jedanodnačina je odabirizmeđu najboljegmrava u tekućoj iteraciji 𝑠Lb i globalnonajboljegmrava𝑠Gb. • Najpogodnije je uvestiparametar𝛾 kojinagoveštavakoliko koristimo 𝑠loc.bestdok ne upotrebimo𝑠Gbponovo.
Lokalnopretraživanje • U mnogim aplikacijama za rešavanje NP teških problema, ACO je kombinovan sa lokalnimpretraživanjem • Local search vrši pretragu u okolini nekog inicijalnog rešenja, koje dobijamo pomoću ACO • Ideja: Prazni se loc najmanje punih skladišta čime je određen broj paketa u inicijalnom rešenju je oslobođen. Pokušava se zamena 2t sa 2s ili 2t sa 1s ili 1tsa 1s. • Uslov: Skladište mora biti više popunjeno nego pre zamene. • Ostali slobodni paketi koji nisu nigde dodati se ubacuju pomoću izabraneheuristike. • Procedura se ponavlja dok se ne popravifunkcijaprilagođavanja. • Feromon se pojačava pomoću ovako dobijenih rešenja
Eksperimentalni rezultati – podešavanje parametara Parametar br_mrava: Parametar β: Parametarϒ : 15/20
Eksperimentalni rezultati – podešavanje parametara Parametarρ: Parametarloc :
Poređenjeheuristika Iskorišćenaskladišta: Poređenjebrzina izvršavanja:
Efikasnostalgoritma u zavisnostiodheuristike • Iskorišćenaskladišta: • Poređenjebrzina izvršavanja: • Rezultati poređenja : ACO (NFD) < ACO (FFD) < ACO (WFD) < ACO (BFD) 18/20
Poređenje sa drugim pristupima Iskorišćenaskladišta: Poređenjebrzina izvršavanja: