Professional Documents
Culture Documents
BCO
BCO
zadamo broj pela B npr B=3, zadamo broj interacija npr I=100 (toliko puta e da nau reenje pele a zapamtie samo najbolje, ukupno emo da dobijemo 3*100 reenja, neka e da budu ista neka razliita), 2. i=1 sve dok nije ispunjen uslov i=I radi sledee, na poetku su T1=0,T2=0,T3=0 (jo nijedan zadatak nije dodeljen), to su trokovi reenja koje prave pele, cena koju bi terminal platio radnike 3. j=1 sve dok nije ispunjeno j=m radi sl. (m je broj zadataka na koje se rasporeuju radnici, ako nam npr u svakoj smeni treba po 5 timova a sastav timova je 1,1,1,3,2, m=4*5*(1+1+1+3+2), svakom timu treba da se dodeli 8 zadataka * broj timova * br smena, ako je isti broj timova potreban u svakoj smeni), Napravis spisk radnika npr od 1 100 to je ukupan broj radnika i sa odreenom smenom i sa fleksibilnom smenom i na kraju spiska dodas unajmljene radnike,pele e redom dodeljivati zadatke i bitno je da ima dovoljno radnika, kad dodele sve zadatke prestae sa algoritmom pa viku unajmljenih radnika nee biti dodeljen zadatak. U ovom koraku svaka od 3 pela e da dodeli zadatak prvom radnuku, moda iste moda razliite to se odreuje ovako. Ako je prvom radniku ve odreena smena npr druga a stepen obuenosti mu je operator krana onda njemu moe da bude dodeljen taj zadatak ili drugi zadatak nie strunosti u istoj (drugoj) smeni znai imamo 5 alternativa. Za svaku alternativu (za svaki zadatak )se rauna verovatnoa da e pela da izabere tu alternativu na sledei nain:
p 21 =
kom je odreena druga smena) da se dodeli prvi zadatak u drugoj smeni i to izraunamo za svih 5 zadataka koji njemu mogu da budu dodeljeni. Ovo prvi zadatak, drugi zadatak se odnosi na operator krana, voza kontejnerskog jahaa, kontrolor ... Vij- je korist koju bi pela imala ako ovom prvom radniku u i-toj smeni dodeli zadatak j (ovo i i j nema veze sa onim predhodnim ). Ovo Vij raunamo kao 1/(cenu rada radnika na tom zadatku u toj smeni) tj to je cena rada vea to je korist koju pela ima manja. Ako su npr ve dodeljeni svi peti zadaci u drugoj smeni onda tu alternativu ne uzima u obzir, mora nekako da napravi da ne dodeljuje zadatke koji su ve popunjeni. Kad izraunamo verovatnoe svih 5 alternativa onda generiemo sluajan broj izmeu 0 i 1, npr u Excel-u postoji f-ja Rand(0,1), i sad ako je taj broj manji od p21 onda je pela izabrala tu alternativu ako je izmeu p21 i p21+p22 onda je izabrala drugu tj dodelila mu je drugi zadatak u drugoj smeni, ako je izmeu p21+p22 i p21+p22+p23 onda je trei zadatak u drugoj smeni,ako je izmeu p21+p22+p23 i p21+p22+p23+p24 onda je dodelila etvrti zadatak i ako je izmeu
eV21 + eV22
p21+p22+p23+p24 i 1 onda je ovom radniku ova pela dodelila peti zadatak. Ovo radi kao rulet, verovatnoe su povrine na ruletu(poreane bilo kojim redosledom) zavrti rulet i gaa koju povrinu pogodi tu je izabrala. Verovatnoe su iste za sve pele a sluajan broj se generie za svaku posebno pa ove 3 pele mogu da dodele sve 3 isti zadatak radniku a mogu i razliite. U sluaju da radniku kom trenutno dodeljujemo zadatak nije jo odreena smena onda on moe da obavlja zadatak u sve 4 smene zavisno od stepena strunosti npr ako je to radnik koji ima najnii stepen strunosti onda njemu moe da bude dodeljen samo zadatak najnieg stepena u jednoj od 4 smene pa imamo 4 alternative odnosno raunamo 4 verovatnoe p15,p25,p35,p45, ako je 5-zadatak najnie strunosti. U optem sluaju kad postoje sve alternative tj kad moe biti dodeljen bilo koji zadatak u bilo kojoj smeni onda imamo 20 alternativa (u svakoj smeni po 5 zadataka):
pij =
Vij
Zapamte se trokovi za sve 3 pele C1,C2 i C3 to je cena koja e biti plaena radniku ako mu se dodeli zadatak koji je izabrala prva, druga i trea pela. T1=T1+C1 T2=T2+C2 T3=T3+C3 Sad se pele vrate u konicu i razmenjuju informacije o rezultatima koje su postigle tj o ceni koja e biti plaena radniku ako mu se dodeli zadatak koji je ta pela izabrala. Svaka pela na osnovu tih informacija odluuje da li e da ostane pri svom reenju ili e da odustane od njega I krene sa nekom drugom pelom odnosno da se opredeli za taj zadatak koji je dodelila druga pela . To se ovako rauna:
Tnorm i =
Tmax Ti , Tnorm i [0,1], i= 1, b Tmax Tmin
Tnorm i -normalizovana vrednost trokova koje je napravila i-ta pela Tmax= max(T1,T2,T3) Tmin= min(T1,T2,T3)
u +1 i
=e
Tnorm max Ti u
, i= 1, b
opredeliti za reenje neke druge pele koja je ovom radniku dodelila neki drugi zadatak u-je redni broj leta unapred a to je ustvari redni broj zadatka koji dodeljujemo, ono j koje smo na poetku postavili da je =1. u Opet generiemo sluajan broj izmeu o i 1. Ako je generisani broj manji od p1 +1 onda prva pela ostaje pri svom izboru odnosno generisanom parcijalnom reenju,
ako je vei onda ona odbacuje to to je izabrala i opredeljuje se za reenje pele koja je radniku dodelila zadatak sa min cenom (min(T1,T2,T3)) i njeni trokovi postaju minimalni T1=Tmin.(ako je odustala od svog reenja onda njenim trokovima dodeljujemo vrednost trokova koje je ostvarila najbolja pela i imamo dve pele sa istim reenjima do sada, u sledeem koraku kad dodeljuju drugi zadatak radniku one mogu dodeliti razliit zadatak ali prvi e im ostati isti dok se opet neka od njih dve ne opredeli za reenje neke druge pele).Npr da je ovo 5-ti korak, dodelili smo 5-ti zadatak onda ako pela odustane ona potpuno prihvata reenje njbolje pele tj sad je i ona ovih 5 zadataka dodelila kao i ova najbolja pela
Kad zavri svih 100 interacija onda imamo jedno najbolje reenje, tj najmanje trokove T * i to je to nije bitno kom radniku je dodelila koji zadatak bitno je koji su ukupni trokovi i njih uporedimo sa onim algoritmom koji si ti ve radio naravno za potpuno iste ulazne podatke i zakljuak e biti bolje reenje tj nie ukupne trokove daje taj i taj algoritam ali to treba ponoviti vie puta, promenimo npr broj potrebnih timova ili broj radnika koji moe da radi u dodatnoj smeni itd , Dovoljno je da ih uporedimo za 5 razliitih podataka ve moemo da zakljuimo koji je bolji a naravno moe i vie puta.