You are on page 1of 3

1.

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

eV21 , ovo je verovatnoa da e prvom radniku (ovom + eV13 + eV24 + eV25

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

eV11 + eV12 + eV13 + eV14 + eV15 + eV21 ... + eV45

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

1 piu + -verovatna da e i- ta pela nastaviti da proiruje svoje reenje tj. nee se

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

4. j=j+1 i ponavljamo ovo predhodno


Sad nam je j=2 I sve isto ponavljamo a drugog radnika sa spiska Kad zavrimo sa ovih 100 radnika tj dodelimo im redovne smene i zadatke u njima onda dodeljujemo dodatne smene, tj ispitujemo radnike koji mogu da rade u dodatnoj smeni. Ako su sve tri pele na razliite naine dodelile ovih 100 zadataka onda za sve tri pele e se razlikovati one verovatnoe alternativa.Prva pela krene od prvog zadatka koji je ona dodelila prvom radniku i ide du svog reenja, kad naie na radnika kojem je ona dodelila drugu ili treu smenu a moe da radi u dodatnoj smeni onda mu ona dodeli zadatak u dodatnoj smeni na isti nain kao i redovni zadatak (raunamo verovatnoe alternativa). U sluaju da ova pela ispita svih 100 radnika kojima je dodelila redovne zadatke i nema nijednog radnika kom moe da dodeli dodatni zadatak ona e da dodeli zadatak unajmljenom radniku 101. na spisku dok e druge npr da dodeljuju dodatne zadake. 5. Ako je j=m pele su dodelile svih m zadataka tj napravile su najmanje 1 a moda i 3 reenja zadatka. Ako je jedno od ova tri reeja bolje od najboljeg do sada otkrivenog reenja onda postavljamo da je to reenje najbolje do sada otkriveno i postavimo i=i+1 i pravimo novo reenje.

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.

You might also like