rasporeĐivanje u okruŽju nesrodnih strojeva uporabom evolucijskog raČunanja

Upload: karlo-knezevic

Post on 07-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    1/45

    SVEUILITE U ZAGREBU

    FAKULTET ELEKTROTEHNIKE I RAUNARSTVA

    ZAVRNI RAD br. 1991

    RASPOREIVANJE U OKRUJU

    NESRODNIH STROJEVA UPORABOM

    EVOLUCIJSKOG RAUNANJA

    Karlo Kneevi

    Zagreb, srpanj 2011.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    2/45

    Posveujem ovaj rad svojim roditeljima,

    sestri,

    bakama i djedu.

    Zahvaljujem mentoru, doc.dr.sc. Domagoju Jakoboviu,na pruenim savjetima tijekom izrade ovog rada.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    3/45

    ii

    Sadraj

    Uvod .................................................................................................................................................. 1

    1. Algoritam kolonije mrava ........................................................................................................ 3

    1.1. Evolucijsko raunanje ..................................................................................................... 3

    1.2. Mravi u prirodi .................................................................................................................. 4

    1.3. Pojednostavljeni matematiki model ............................................................................ 5

    1.4. Algoritam Ant Colony System ........................................................................................ 7

    1.5. Vrste mravljih algoritama .............................................................................................. 10

    2. Problem rasporeivanja u okruju nesrodnih strojeva..................................................... 12

    2.1. Postupak rasporeivanja.............................................................................................. 12

    2.2. Zapis okruenja rasporeivanja .................................................................................. 14

    2.2.1. Okolina strojeva ..................................................................................................... 14

    2.2.2. Uvjeti rasporeivanja............................................................................................. 15

    2.3. Vrednovanje rasporeda ................................................................................................ 16

    2.4. Okruje nesrodnih strojeva .......................................................................................... 18

    2.4.1. Pretpostavke i postupci rasporeivanja za okruje nesrodnih strojeva ........ 18

    2.4.2. Min-min algoritam .................................................................................................. 19

    3. Rjeavanje problema rasporeivanja u okruju nesrodnih strojeva uporabom

    algoritma kolonije mrava.............................................................................................................. 21

    3.1. Uvjeti rasporeivanja i vrednovanje rasporeda......................................................... 21

    3.2. Grafika interpretacija ................................................................................................... 23

    3.3. Predstavljanje rjeenja.................................................................................................. 24

    3.4. Funkcija dobrote ............................................................................................................ 25

    3.5. Heuristike funkcije ....................................................................................................... 25

    4. Izgled i rad aplikacije............................................................................................................. 27

    5. Rezultati mjerenja.................................................................................................................. 29

    5.1. Predodreeno rasporeivanje ..................................................................................... 29

    5.1.1. Utjecaj tipa heuristike funkcije ........................................................................... 29

    5.1.2. Utjecaj veliine kolonije......................................................................................... 32

    5.1.3. Utjecaj broja ciklusa .............................................................................................. 33

    5.1.4. Vrijeme izraunavanja rasporeda........................................................................ 34

    5.2. Rasporeivanje na zahtjev........................................................................................... 35

    5.2.1. Rezultati za heuristiku funkciju

    ............................................................... 35

    5.2.2. Utjecaj veliine kolonije......................................................................................... 36

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    4/45

    iii

    5.2.3. Vrijeme izraunavanja rasporeda........................................................................ 37

    Zakljuak......................................................................................................................................... 39

    Literatura......................................................................................................................................... 40

    Saetak ........................................................................................................................................... 41

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    5/45

    1

    Uvod

    Rasporeivanje je proces koji se bavi dodjelom ogranienih sredstava

    skupu aktivnosti u cilju optimiranja jednog ili vie mjerila vrednovanja. Ovisno o

    danim uvjetima, sredstva i aktivnosti mogu poprimiti mnoge oblike. Sredstva mogu

    biti strojevi u proizvodnom pogonu, procesor raunala, spremniki i komunikacijski

    ureaji u raunalnom sustavu itd. Aktivnosti mogu biti razne operacije u

    proizvodnji, izvoenja raunalnih programa, popravci u radionici i druge. Rjeenje

    problema rasporeivanja je raspored koji definira kada e se i na kojem sredstvu

    odvijati pojedina aktivnost. Vrednovanje rasporeda mogue je definirati po puno

    razliitih kriterija, kao to je ukupno vrijeme izvoenja, broj zakanjelih aktivnostiitd [4].

    Rasporeivanje u posljednje vrijeme, razvojem tehnologije i nastankom sve

    sloenijih zahtjeva, znatno dobiva na vanosti.Raunarstvo u oblaku (engl. cloud

    computing) primjer je jedne od aktualnih tehnologija, ija uinkovitost i brzina

    izvoenja zadataka uvelike ovisi o rasporedu zahtjeva na posluitelj ima. Razvoj

    tehnologije doprinio je razvoju novih tehnika rasporeivanja od kojih je jedna

    predstavljena u ovom radu. Rije je o algoritmu kolonije mrava, algoritmuzasnovanom na inteligenciji roja i jednom od algoritama strojnog uenja. Bez

    razvoja tehnologije taj algoritam ne bi bio primjenjiv u ovom stupnju u kojem jest,

    jer uvelike ovisi o brzini rada raunala.

    U ovom radu naglasak je na rasporeivanju u okruju nesrodnih strojeva.

    Za navedeno okruje postoji niz heuristika rasporeivanja, a jedna od najpoznatijih

    metoda je min-min heuristika. Ovaj heuristiki algoritam prua zadovoljavajua

    rjeenja, ali mogue je njegovo poboljanje, tako da su u nekim sluajevimapostignuti bolji rezultati uporabom algoritma kolonije mrava.

    Ispitivanja su provedena za dva naina rasporeivanja, predodreeno

    rasporeivanje i rasporeivanje na zahtjev, i etiri razliite heuristike koje koristi

    algoritam kolonije mrava. Ispitana je dobrota rasporeda u odnosu na veliinu

    kolonije mrava i broj generacija mrava.

    Cilj ovog rada je pokazati dobrotu heuristikog algoritma min-min u odnosu

    na algoritam kolonije mrava.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    6/45

    2

    Rad ini pet poglavlja u kojima se navode problemi koji se rjeavaju, kao i

    nain njihovog rjeavanja. U prvom poglavlju opisuje se algoritam ko lonije mrava,

    svojstva mrava u prirodi i umjetnih mrava, implementacija funkcija koje algoritam

    koristi i vrste mravljih algoritama. U drugom poglavlju pojanjava se pojam

    rasporeivanja u okruju nesrodnih strojeva, zapis okruenja rasporeivanja,

    nain vrednovanja rasporeda i okruje nesrodnih strojeva. Takoer e detaljnije

    biti pokazana primjena rasporeivanja na nesrodnim strojevima. U treem

    poglavlju predstavljeno je rjeenje problema rasporeivanja na nesrodnim

    strojevima pomou algoritma kolonije mrava. U poglavlju se opisuje funkcija

    dobrote i koritene heuristike, kao i grafika interpretacija implementacije. U

    etvrtom poglavlju pokazan je izgled aplikacije sa svim mogunostima odabira

    rasporeivanja i optimizacija. U zadnjem, petom, poglavlju, prikazani su rezultati

    mjerenja.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    7/45

    3

    1. Algoritam kolonije mrava

    Ovo poglavlje obrauje tematiku evolucijskog raunanja, a detaljnije opisuje

    algoritam kolonije mrava. Navedeni su motivi za imitiranje ponaanja mrava i

    algoritamska implementacija, kao i vrste mravljih algoritama.

    1.1. Evolucijsko raunanje

    U raunarskoj znanosti, evolucijsko raunanje dio je umjetne inteligencije,

    polje raunarska inteligencija, koje se bavi kombinatornim optimizacijama.

    Evolucijsko raunanje primjer je metaheuristike i danas se dijeli na dva velika

    podruja [5]:

    1. evolucijski algoritmi (engl. evolutionary algorithms),2. algoritmi zasnovani na inteligenciji roja (engl. swarm intelligence).

    Evolucijski algoritmi definiraju se kao postupci optimiranja, uenja i

    modeliranja, koji se temelje na mehanizmu evolucije u prirodi. Njihov nastanak

    uzrokovali su prvenstveno pokuajiprimjene naela evolucije pri rjeavanju nekih

    problema, ali i nastojanja za boljim razumijevanjem samo evolucije u prirodi. Ideja

    evolucijskih algoritama je da rade s populacijom rjeenja nad kojima se primjenjuju

    evolucijski operatori (selekcija, krianje, mutacija, supstitucija) ime populacija izgeneracije u generaciju posrtaje sve bolja i bolja [1]. Evolucijski algoritmi su:

    genetski algoritmi,

    evolucijsko programiranje,

    evolucijske strategije,

    genetsko programiranje.

    Algoritmi zasnovani na inteligenciji roja definiraju se na slian nain kao

    evolucijski algoritmi, ali temelje se na socioloko-psiholokim principima i pruajuuvid u socioloka ponaanja. Baziraju se na populaciji rjeenja. U odnosu na

    evolucijske algoritme, ne postoji mehanizam stvaranja nove generacije iz

    postojee, tj. ne postoje evolucijski operatori, ve se modeliraju individualni i

    socijalni faktori, ime se stvara novo znanje i nova informacija [1]. Najpoznatija

    dva algoritma zasnovana na inteligenciji roja su:

    algoritam (optimizacija) kolonije mrava,

    algoritam (optimizacija) roja estica.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    8/45

    4

    Osnovna prednost evolucijskog raunanja jest to preslikava rjeenja problema

    faktorijelne ili eksponencijalne sloenosti u probleme polinomne sloenosti.

    Meutim, pronaena rjeenja u veini sluajeva su optimalna ili vrlo blizu

    optimalnih.

    1.2. Mravi u prirodi

    Mravi su izuzetno jednostavna bia usporedimo li ih, primjerice, s

    ovjekom. No i tako jednostavna bia, zahvaljujui socijalnim interakcijama,

    postiu zadivljujue rezultate. Uoeno je da mravi uvijek pronalaze najkrai put

    izmeu izvora hrane i njihove kolonije, to im omoguuje da hranu dopremaju

    maksimalno brzo.

    Uzrok tog svojstva jest specifina mravlja strategija u kojoj glavnu ulogu igra

    kemijska supstanca feromon kojeg mravi ostavljaju za sobom nakon to pronau

    hranu. Na taj nain indirektno signaliziraju drugim mravima da prate taj trag kako

    bi i oni pronali isti izvor hrane. Takav oblik komunikacije poznat je pod nazivom

    stigmergije (engl. stigmergy) gdje agenti komuniciraju preko okoline koja je

    modificirana drugim agentima [3].

    Inspiraciju za optimizaciju kolonijom mrava dao je eksperiment koji je

    proveo Goss sa suradnicima, 1989. godine, s argentinskim mravima (lat.

    Iridomyrmex humilis). Kako bi istraili ponaanje mrava, Gross i suradnici napravili

    su niz eksperimenata koristei dvokraki most postavljen izmeu mravinjaka i

    hrane. Tijekom eksperimenta varirane su duljine krakova mosta. U prvom

    eksperimentu oba kraka bila su jednako duga i mravi su u poetku, u

    podjednakom broju, krenuli preko oba kraka. Nakon nekog vremena, dominantni

    dio mrava kretao se samo jednim krakom sluajno odabranim. Objanjenje

    eksperimenta jest da krak kojeg je nasumino odabrala veina mrava sadri veukoncentraciju feromona koja ne hlapi jer se isti mravi u koloniju vraaju istim

    krakom. Zbog jednako intenzivnog feromonskog mirisa, i drugi mravi poinju

    koristiti taj krak. Time je postignuta konvergencija [2].

    Sljedei eksperiment napravljen je s dvokrakim mostom kod kojeg je jedan

    krak dvostruko dulji od drugog. U svim pokuajima eksperimenta pokazalo se da

    najvei broj mrava, nakon nekog vremena, bira krai krak. Ovakvo ponaanje na

    makroskopskoj razini, rezultat je interakcije na mikroskopskoj razini, individualnih i

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    9/45

    5

    socijalnih faktora. Takvo ponaanje temelj je onog to se danas naziva izranjajua

    inteligencija (engl. emerging intelligence) [2].

    Kako bi se provjerila dinamika, odnosno sposobnost prilagodbe mrava na

    promjene, napravljen je trei eksperiment. Kod ovog eksperimenta mravinjak i

    izvor hrane najprije su spojeni jednokrakim mostom. Mravi se kreu tim krakom od

    hrane i natrag. Nakon pola sata, kada se situacija stabilizirala, mostu je dodan

    drugi, dvostruko krai krak. Meutim, eksperiment je pokazao da se najvei broj

    mrava i dalje nastavio kretati duljim krakom, zahvaljujui stvorenom jakom

    feromonskom tragu [2].

    1.3. Pojednostavljeni matematiki model

    Temelj za matematiki model jest teorija grafova jer se algoritam kolonije

    mrava generalizira na traenje Hamiltonovog ciklusa u grafu. Neka je povezani graf, gdje je skup svih vorova, a skup svih lukova. Broj vorova je . Rjeenje problema predstavlja ciklus na grafu koji povezuje izvorini iodredinivor, a ija duljina je jednaka broju vorova.

    Sa svakim lukom grafa povezana je varijabla koja predstavljaumjetni trag feromona. U fazi inicijalizacije, na sve se bridove postavi ista koliina

    feromona. Tragove feromona itaju i piu mravi. U svakom voru grafa dolazi do

    stohastike odluke koji je vor sljedei. mrav lociran u voru koristi tragferomona za izraun vjerojatnosti u koji vor ij N treba otii. je skup svihindeksa svih vorova u koje je u koraku mogue prijei iz vora . Simbol jekonstanta.

    (1.1)

    Nakon to odabere sljedei vor, mrav ponavlja proceduru donoenja

    odluke o odlasku u sljedei vor opisan jednadbom (1.1) sve dok ne stigne do

    ciljnog vora. Mravlji algoritmi pripadaju obitelji konstrukcijskih algoritama jer do

    konanog rjeenja dolaze akumulirajui dio po dio rjeenja [3].

    Kako bi se izbjeglo obilaenje istih vorova vie puta, svaki mrav ima

    vlastitu tabu listuu kojoj se pamti koji vorovi su posjeeni.Dolaskom u ciljni vor,

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    10/45

    6

    na temelju funkcije dobrote, mrav zna kolika je vrijednost puta kojeg je proao.

    Mravi feromone osvjeavaju nakon dolaska u ciljno stanje, a koliina feromona

    proporcionalna je dobroti rjeenja.Auriranje se radi za sve bridove kojima je mrav

    proao prema izrazu (1.2).

    (1.2)Isparavanje feromona odreeno je izrazom (1.3). (1.3)Konstanta oznaava brzinu isparavanja ili postotak feromona koji ne isparava, avrijednost je iz intervala . Temeljei se opisanim principima, napisan jeoptimizacijski algoritam (1.1).

    Slika 1.1 Jednostavan mravlji algoritam

    Algoritam mrava radi s populacijom od mrava, a ciklus se iterira puta.Svih mrava pusti se da stvore rjeenja i ta se rjeenja vrednuju. Kada svih mrava stvori prijedloge rjeenja, odabire se mrava koji e obaviti auriranjetragova, a pri tome vrijednost

    moe biti jednaka

    , manja od

    ili jednaka jedan.

    Pojednostavljenim matematikim modelom opisana su svojstva mrava ikolonije. Svojstva kolonije kao cjeline su [3]:

    dobra rjeenja mogu proizai kao rezultat kolektivne interakcije,

    svaki mrav koristi samo privatne informacije i lokalne informacije

    vora kojeg posjeuje,

    mravi komuniciraju samo indirektno,

    mravi se sami po sebi ne adaptiraju, ve mijenjaju nain

    prezentacije, problema i percepcije drugih mrava.Svojstva mrava kao jedinke su [3]:

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    11/45

    7

    mrav trai najisplativije rjeenje,

    svaki mrav ima memoriju za pohranu informacija o putu i moe jekoristiti:

    o za generiranje smislenog rjeenja,

    o za evaluaciju pronaenog rjeenja,

    o za povratak po istom putu.

    mrav moe se pomaknuti u bilo koji vor u susjedstvu , mravu moe se dodjeliti poetno stanje i jedan ili vie terminirajuih

    uvjeta,

    mrav stvara rjeenje inkrementalno i konstrukcija zavrava kada je

    zadovoljen jedan od uvjeta zaustavljanja,

    odabir sljedeeg vora temelji se na vjerojatnosti,

    vjerojatnost pojedine odluke mrava temelji se na:

    o vrijednostima pohranjenim u strukturi vora ,o privatnoj memoriji mrava,

    o ogranienjima problema.

    pomicanjem iz vora

    u vor

    mrav aurira trag feromona,

    kada je izgradio rjeenje i vratio se na izvorite, mrav umire ioslobaa resurse.

    1.4. Algoritam Ant Colony System

    Algoritam Ant Colony System podskup je algoritma Ant System kojeg su

    predloili Dorigo i Gambardella. U odnosu na algoritam Ant System, algoritam se

    razlikuje u tri glavne toke [3]:

    1. bolje se iskoritava steeno iskustvo pretraivanja ostalih mrava

    preko snanije funkcije izbora sljedeeg vora,

    2. globalno feromonski trag isparava i aurira samo mrav s najboljim

    rjeenjem,

    3. svaki put kad mrav prolazi bridom , lokalno isparava feromonskitrag u namjeri da povea istraivanje bridova ostalih mrava.

    U algoritmu Ant System definirano je sluajno proporcionalno pravilo (engl.

    random proportional rule) koje odreuje vjerojatnost prelaska iz vora

    u vor

    .

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    12/45

    8

    Jednadba (1.4) koristi dvije komponente: jakost prethodno deponiranog

    feromonskog traga te vrijednost heuristike funkcije.

    (1.4)

    je heuristika informacija koja govori koliko je dobro iz vora prijei u vor.To je informacija koja se moe odrediti statiki, unaprijed definirana, ili dinamiki,

    mijenja se tijekom izvoenja algoritma. Pritom treba paziti da funkcija koja opisuje

    heuristiku informaciju bude optimistina.

    Parametri i odreuju ponaanje algoritma. Ako je , utjecajferomonskog traga se ponitavai pretraivanje se vodi samo heuristikom

    informacijom. Ako je , utjecaj heuristike informacije se ponitava i ostajeutjecaj iskljuivo feromonskog traga, to esto dovodi do prebrze konvergencijesuboptimalnom rjeenju.

    Algoritam Ant Colony System ima snaniju funkciju izbora sljedeeg vora,

    odnosno sluajno proporcionalno pravilo definirano je izrazom (1.5).

    (1.5)

    Varijabla ima sluajnu vrijednost uniformno distribuiranu na intervalu , jeparametar intervala , a je sluajna varijabla odreena vjerojatnosnomfunkcijom (1.4). S vjerojatnou mrav radi najbolji mogui odabir vora natemelju feromonskih tragova i heuristike informacije. Kae se da mrav iskoritava

    steeno znanje [3]. S vjerojatnou mrav istrauje bridove susjednihneposjeenih vorova.Pseudokod na slici (1.2) prikazuje moguu implementaciju

    istraivanja bridova.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    13/45

    9

    Slika 1.2 Pseudokod istraivanja bridova

    Mijenjanje parametra doputa promjenu stupnja istraivanja susjednihbridova u odnosu na odabir vora na temelju steenog znanja. Steeno znanje

    konvergira lokalnoj okolini najboljeg rjeenja.

    U algoritmu Ant Colony System globalno auriranje feromonskih tragova,

    nakon svakog ciklusa, izvodi mrav s najboljim rjeenjem prema izrazu (1.6).

    (1.6)

    Izraz jednak je, ukoliko optimum predstavlja minimum, recipronoj vrijednostirjeenja najboljeg mrava,

    . Vano je uoiti da se feromonski tragovi aurirajudu bridova kojim je proao najbolji mrav, a ne du svih bridova kao u algoritmu

    Ant System. Ta injenica vana je iz razloga to se sloenost izraunavanja

    reducirala s na , gdje je broj vorova [3].Lokalno auriranje feromonskih tragova u algoritmu Ant Colony System

    obavljaju mravi odmah nakon to su proli bridom , a auriranje je odreenoizrazom (1.7). (1.7)Vrijednost parametra, koji oznaava lokalnu brzinu isparavanja, je iz intervala, a je inicijalna vrijednost feromonskog traga na grafu . Pokazuje se da jepoeljna vrijednost parametra

    iz intervala

    , a inicijalna vrijednost od

    postavlja se iskustveno ili se koristi izraz (1.8).

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    14/45

    10

    (1.8)Vrijednost

    najkraa je duljina puta pronaena nekim jednostavnim algoritmom,

    npr. algoritam najblieg susjeda ili min-min algoritam, a vrijednost moe bitijednaka jedan ili broju mrava.Ideja je dobiti odreenu procjenu duljine puta od koje e mravi dalje traiti

    bolja rjeenja te ponuditi optimalnu poetnu toku za rad algoritma. Uz premalu

    vrijednost , pretraga e brzo biti usmjerena prema podruju koje su mravisluajno odabrali u prvoj iteraciji, a uz preveliki , koliine feromona koje mraviostavljaju u svakoj iteraciji bit e premale da bi mogle usmjeravati pretragu, pa e

    se morati potroiti puno ciklusa kako bi mehanizam isparavanja odnio viak

    feromona.

    Slikom (1.3) prikazan je pseudokod algoritma Ant Colony System.

    Slika 1.3 Pseudokod algoritma Ant Colony System

    1.5. Vrste mravljih algoritama

    Algoritam kolonije mrava openit je naziv za skup algoritama koji se temeljena jednostavnom mravljem algoritmu ( 1.3). Motiv za daljnju nadogradnju

    jednostavnog algoritma jest bolja pretvorba i problemau probleme. Prvi algoritam kolonije mrava je Ant System. Predloene su triinaice algoritma [3]:

    1. algoritam temeljen na gustoi mrava (engl. ant-density),

    2. algoritam temeljen na brojnosti mrava (engl. ant-quantity),

    3. algoritam temeljen na ciklusima mrava (engl. ant-cycle).

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    15/45

    11

    Prve dvije inaiceodbaene su zbog loih svojstava, a trea inaica evoluirala je u

    niz drugih algoritama.

    Neposredni slijednici algoritma Ant System su:

    elitistiki algoritam (engl. Elitist Ant System),

    algoritam rangirajueg sustava mrava (engl. Rank-based Ant

    System),

    Max-Minalgoritam (engl. Max-Min Ant System).

    Glavne modifikacije u odnosu na Ant System su pravila auriranja feromonskih

    tragova i dodatna ogranienja, koja uvodi Max-Minalgoritam.

    Ukljuivanje novih temeljnih mehanizama, algoritam Ant System proiruje

    se u sljedee algoritme [3]:

    Ant Colony System,

    ANTS (engl. Approximate Nondeterministic Tree Search),

    radna okolina hiperkocke za algoritam kolonije mrava,

    paralelna implementacija algoritma kolonije mrava.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    16/45

    12

    2. Problem rasporeivanja u okruju nesrodnih strojeva

    U ovom poglavlju prikazani su elementi koji ine problem rasporeivanja i

    neki pristupi rjeavanju toga problema. Opisan je nain zapisa okruenja

    rasporeivanja, podjela uvjeta rasporeivanja i vrednovanje rasporeda. Definirano

    je okruje nesrodnih strojeva i heuristika koja rjeava zadani problem. Na kraju

    poglavlja opisana je mogua primjena izrade rasporeda u okruju nesrodnih

    strojeva.

    2.1. Postupak rasporeivanja

    Rasporeivanje je u irem smislu postupak izrade bilo kakvog rasporeda. U

    razliitim okruenjima postupak izrade rasporeda moe se podijeliti na viestupnjeva, ovisno o algoritmu i problemu. U problemima koji ukljuuju samo jedno

    sredstvo, rasporeivanje se sastoji od odreivanja redoslijeda aktivnosti na tom

    sredstvu. Ako se koristi vie odvojenih sredstava, prije izrade redoslijeda potrebno

    je odrediti koje aktivnosti e se odvijati na kojem sredstvu.

    U oba sluaja, postupak izrade cjelokupnog rasporeda naziva se

    rasporeivanjem. U problemima sa vie sredstava, postupak dodjeljivanja

    aktivnosti sredstvima naziva se pridruivanjem (engl. matching), a postupak izraderedoslijeda na pojedinom sredstvu ureivanjem (engl. sequencing) [4].

    Rasporeivanje je proces u kojem se dodjeljuju ograniena sredstva (engl.

    resources) skupu aktivnosti koje se trebaju izvriti, ovisno o danom okruenju

    rasporeivanja i ogranienjima. Aktivnost je bilo kakva operacija koja se treba

    izvriti u odreenom vremenu, na odreenom sredstvu.

    Sloenost postupka rasporeivanja mijenja se ovisno o okolini u kojoj se

    vri rasporeivanje. Poveanjem sloenosti okoline, raste i sloenost

    rasporeivanja poslova u toj okolini. Shodno poveanju sloenosti problema

    rasporeivanja, raste potreba za algoritmima koji e u to kraem roku rezultirati

    prihvatljivim rjeenjima problema. Za veinu problema koji se pojavljuju, budui da

    je nemogue razviti algoritam koji bi bio egzaktan,razvijaju se heuristiki algoritmi

    [4].

    Takvi algoritmi koriste metode pretraivanja prostora stanja, a metode je

    mogue primijeniti u statikim i dinamikim okrujima rasporeivanja. Evolucijsko

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    17/45

    13

    raunanje, na kojem je teite ovog rada, a koje je opisano u ( 1.), jedno je od

    moguih postupaka rjeavanja problema rasporeivanja.

    Vaan element rasporeivanja je posao (engl. job), koji se moe sastojati

    od vie aktivnosti, ali najee je rije o jednoj nedjeljivoj aktivnosti. Cilj postupka

    rasporeivanja je omoguiti izvoenje posla, te su svojstva poslova varijable

    samog algoritma rasporeivanja. Skup svih poslova oznaava se s , dok sepojedini posao oznaava s . Skup zadataka (engl. task), ili aktivnosti, oznaavase s , dok se pojedini zadatak oznaava s . U nastavku su navedenarelevantna svojstva poslova za sam postupak rasporeivanja [4].

    Trajanje izvoenja ( pj)

    Svaki posao izvrava se u odreenom vremenu, te se ta koliina vremena naziva

    trajanje izvoenja (engl. processing time). Oznaava se oznakom , pri emu je indeks posla. U okruenju vie strojeva, trajanje izvoenja posla na stroju oznaava se oznakom .Vrijeme pripravnosti ( rj)

    Trenutak u kojem posao postaje raspoloiv za izvoenje naziva se vrijeme

    pripravnsti (engl. ready time, release time) i oznaava se oznakom . Prijevremena pripravnosti nije mogue izvoenje posla u sustavu.Vrijeme eljenog zavretka ( dj)

    Trenutak do kojeg bi posao trebao zavriti s izvoenjem naziva se vrijeme

    eljenog zavretka (engl. due date) i oznaava se s . U sluaju da se izvoenjeposla zavri nakon tog trenutka, dolazi do stvaranja odreenog troka i ovo

    ogranienje vrlo je vano u stvaranju kvalitetnog rasporeda.

    Vrijeme nunog zavretka ( j)

    Vrijeme nunog zavretka (engl. deadline, drop dead time), koje se oznaava

    oznakom , je vremenski trenutak do kojeg posao mora zavriti kako bi rasporedbio valjan.

    Teina ( wj)

    Vrijednost koja odreuje prioritet posla u sustavu naziva se teina (engl. weight),

    te se oznaava oznakom . Ta se vrijednost najee koristi kod vrednovanja

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    18/45

    14

    rasporeda, gdje predstavlja mjeru kvalitete rasporeda. U sluaju da se

    vrednovanje rasporeda obavlja na temelju vie kriterija, mogue je svakom poslu

    pridruiti vie teinskih vrijednosti.

    2.2. Zapis okruenja rasporeivanja

    Okolina rasporeivanja zapisuje se koristei standardni zapis , koji su1979. Godine uveli R. Graham, E. Lawer, J.K. Lenstra i A. Rinooy Kan. Svako

    polje u zapisu odgovara elementu koji mora biti definiran kako bi okolina bila

    odrediva. Ti elementi svojstva su strojeva, svojstva zadataka i kriterij vrednovanja

    rasporeda. Obzirom na pojavu sve sloenijih okruja, kontinuirano se uvode nove

    oznake i time proiruje navedeni zapis.

    2.2.1. Okolina strojeva

    Prvo polje u zapisu, , odreuje okolinu strojeva na kojima se posloviizvode. Ovdje e biti navedene najee okoline strojeva [4].

    Jedan stroj ( 1 )

    U sustavu postoji samo jedan stroj (engl. single machine) i na njemu se izvode svi

    poslovi. Ovakvo okruenje moe se promatrati kao specijalni sluaj svih ostalih

    sloenijih okolina.

    Paralelni identini strojevi ( Pm )

    U sustavu postoji identinih strojeva koji rade paralelno (engl. parallel identicalmachines). Svaki se posao sastoji od jedne operacije i moe se izvesti na bilo

    kojem stroju. Brzina obrade, budui da su strojevi identini, jednaka je za svaki

    stroj, pa za vrijeme izvoenja nije potrebno navoditi njegovu oznaku. Ako broj

    strojeva nije naveden, smatra se da je proizvoljan, to vrijedi i za sljedeanavedena okruenja.Jednoliki strojevi ( Qm )

    U ovakvom okruenju svaki stroj ima razliitu brzinu, no ona je jednaka za svaki

    zadatak koji se na njemu obavlja. Brzina jednolikog stroja (engl. uniformmachines) oznaava se oznakom . Time trajanje obavljanja posla na stroju ,koje se oznaava

    , dobiva vrijednost

    .

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    19/45

    15

    Nesrodni strojevi ( Rm )

    U okruenju nesrodnih strojeva (engl. unrelated machines) svaki stroj ima razliitu

    brzinu za svaki pojedini posao u sustavu. Trajanje izvoenja posla definirano je za

    svaku kombinaciju posla i stroja, te se oznaava , kao i u prethodnom sluaju.Otvorena obrada ( Om )U okruenju otvorene obrade (engl. open shop) svaki posao sastoji se od vienedjeljivih operacija, pri emu se broj operacija posla oznaava s , a pojedinaoperacija s . Svaka opercija moe se obaviti jedino na za nju predvienomstroju, te je broj operacija jednak broju strojeva.

    Obrada tijeka ( Fm )

    Za razliku od prethodno navedene okoline, o okolini obrade tijeka (engl. flow shop)

    postoji jo jedno ogranienje. Naime, za sve poslove utvren je jednak redoslijed

    obavljanja operacija. Tako se operacija obavlja na stroju , zatim operacija na stroju itd.Proizvoljna obrada ( Jm )

    U okruenju proizvoljne obrade (engl.job shop) mogue je da se operacije izvodevie puta na jednom stroju, a niti jednom na nekom drugom stroju. Takoer se

    moraju izvoditi odreenim redoslijedom i na odreenim strojevima, kao i u

    prethodno navedenom okruju.

    2.2.2. Uvjeti rasporeivanja

    Uvjeti rasporeivanja odnose se na razliite mogunosti izrade rasporeda te

    na vremenski odnos izmeu same izrade rasporeda i njegovog izvoenja u nekom

    stvarnom sustavu. Uvjeti rasporeivanja mogu se podijeliti po nekoliko neovisnih

    osnova koje su opisane u nastavku [4].

    Raspoloivost parametara

    Budui da svi algoritmi rasporeivanja koriste neke od parametara sustava

    (npr. broj poslova, vrijeme dolaska itd.) kao ulazne veliine, najvaniji imbenik u

    odabiru algoritma rasporeivanja je raspoloivost parametara sustava. Po pitanju

    raspoloivosti parametara, sustavi rasporeivanja dijele se na dvije skupine:

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    20/45

    16

    Predodreeno rasporeivanje (engl. offline scheduling) u ovom

    obliku rasporeivaja pretpostavlja se da su sve potrebne vrijednosti

    poznate prije izrade rasporeda i prije samog rada sustava. Isto tako,

    u svakom trenutku rada sustava poznate su sve ulazne veliine koje

    opisuju budunost sustava (kao to su dolasci poslova),

    Rasporeivanje na zahtjev (engl. online scheduling) za razliku od

    prethodnog modela, u rasporeivanju na zahtjev odluke se donose

    na temelju trenutno dostupnih podataka, bez znanja o eventualnoj

    budunosti sustava. Primjerice, znaajke poslova poznate su tek kad

    neki posao doe u sustav, odnosno, kada postane raspoloiv, a ne

    prije poetka izrade rasporeda.

    Pouzdanost parametara

    Neovisno o tome jesu li vrijednosti parametara poznate ili ne prije izrade

    rasporeda, okolina rasporeivanja moe se razlikovati i po tome koliko su

    vrijednosti tih parametara pouzdane, odnosno kojom preciznou su procijenjene.

    Po tom kriteriju rasporeivanje se moe grubo podijeliti u dvije skupine:

    Deterministiko rasporeivanje u deterministikom rasporeivanju

    smatra se da su vrijednosti parametara sustava odreene s dovoljnovelikom preciznou, bez obzira u kojem trenutku postaju poznate,

    Stohastiko rasporeivanjeunutar stohastikog rasporeivanja ne

    postoje pouzdane procjene vrijednosti parametara sustava, ve se

    stvarne vrijednosti mogu oitati tek nakon zavretka rada odreenog

    dijela sustava.

    2.3. Vrednovanje rasporeda

    Vrednovanje rasporeda odnosi se na njegovo ocjenjivanje prema nekom od

    kriterija. Odluka o kojem se kriteriju radi ima vaan utjecaj i na izbor algoritma

    rasporeivanja koji e se koristiti. Mjerila vrednovanja, tj. kriteriji definiraju se u

    ovisnosti o izlaznim veliinama u sustavu, koje e sad biti navedene [4].

    Vrijeme zavretka (engl. completion time) je trenutak u kojem sezavrava izvoenje aktivnosti ,

    Protjecanje (engl. flowtime)je koliina vremena koju je u sustavu provelaaktivnost:

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    21/45

    17

    (2.1) Kanjenje (engl. lateness) je razlika izmeu vremena zavretka i

    vremena eljenog zavretka aktivnosti

    :

    (2.2) Zaostajanje (engl. tardiness) je pozitivni iznos kanjenja neke aktivnosti ,odnosno jednako je nuli ako je kanjenje negativno: (2.3)

    Preuranjenost (engl. earliness) je negativan iznos kanjenja aktivnosti ,odnosno jednako je nuli ako je kanjenje pozitivno:

    (2.4)

    Zakanjelost govori je li aktivnost prekoraila eljeno vrijeme zavretkaili nije: (2.5)Na osnovu ovih veliina navedeni su najee koritenih kriterija

    vrednovanja rasporeda. U sluaju da je teina svakog zadatka jednaka, vrijednost

    teine ne utjee na ocjenu rasporeda te je samim time postupak rasporeivanja

    olakan, no to najee nije sluaj kod stvarnih uvjeta rasporeivanja.

    Ukupna duljina rasporeda (engl. makespan) je posljednje vrijemezavretka svih poslova u sustavu: (2.6) Najvee kanjenje (engl. maximum lateness) definirano je kao: (2.7) Teinsko protjecanje (engl. weighted flowtime) definira se kao suma

    teinskog protjecanja svih poslova:

    (2.8) Teinsko zaostajanje (engl. weighted tardiness) jednako je teinskoj

    sumi zaostajanja svih poslova:

    (2.9) Teinska zakanjelost (engl. weighted number of tardy jobs) definira se

    kao teinska suma svih zaostalih poslova:

    (2.10)

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    22/45

    18

    Teinska preuranjenost i teinsko zaostajanje (engl. weighted earlinessand weighted tardiness) definira se kao zbroj teinske preuranjenosti i

    teinskog zaostajanja, uz posebne teinske faktore za obje vrijednosti:

    (2.11)

    U posljednjem navedenom kriteriju ukljuen je troak preuranjeno zavrenog

    posla, to nije sluaj kod tzv. pravilnih kriterija, te je kriterij primjer tzv. nepravilnog

    mjerila.

    2.4. Okruje nesrodnih strojeva

    Okruje nesrodnih strojeva definirano je u ( 2.2.1.), a u ovom potpoglavlju

    bit e definirane pretpostavke koje vrijede za okruje nesrodnih strojeva i postupcirasporeivanja na nesrodnim strojevima.

    2.4.1. Pretpostavke i postupci rasporeivanjaza okruje nesrodnih strojeva

    U okruju nesrodnih strojeva rasporeivanje moe biti predodreeno ili na

    zahtjev. U veini stvarnih sustava, izvodi se rasporeivanje na zahtjev ( 2.2.2.).

    Pretpostavke koje u ovom radu vrijede za okruje nesrodnih strojeva [4]:

    podaci o poslovima nisu unaprijed poznati (rasporeivanje na zahtjev),

    poslovi su neprekidivi,

    strojevi su neprekidno raspoloivi od poetka rada sustava.

    Prilikom rasporeivanja na nesrodnim strojevima, dolaze do izraaja dvije faze

    rasporeivanja poslova: pridruivanje i ureivanje ( 2.1.). Neki postupci

    rasporeivanja ove dvije faze obavljaju odvojeno, a kod nekih je jedna sadrana u

    drugoj. Takoer, dvije je razliite metode pridruivanja i ureivanja mogue

    obuhvatiti u jedinstveni postupak rasporeivanja.

    Algoritmi rasporeivanja u dinamikim uvjetima rasporeivanja na zahtjev

    mogu se razlikovati po tome u kojem trenutku je neki posao rasporeen na

    odgovarajui stroj. Jedna skupina algoritama rasporeuje pristigli posao na neki

    od strojeva odmah po njegovu dolasku, ime se zapravo obavlja samo

    pridruivanje poslova. Ureivanje poslova na stroju podrazumijeva redoslijed

    izvoenja jednak redu prispjea, tj. ureivanje po FCFS (engl. first come first

    served). Druga skupina algoritama ne rasporeuje svaki posao po njegovu

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    23/45

    19

    dolasku, ve se u predodreenim vremenskim intervalima zajedniki rasporeuju

    svi do tada pristigli, a jo nepokrenuti poslovi (engl. batch mode) [4].

    U veini primjena algoritmi iz druge skupine postiu bolje rezultate. Za

    okruenje nesrodnih strojeva postoji niz heuristika rasporeivanja, no jedna od

    najpoznatijih metoda je min-min heuristika.

    2.4.2. Min-min algoritam

    Prije opisa algoritma, potrebno je uvesti sljedee oznake [4]:

    je trajanje izvoenja posla na stroju ; sva trajanja izvoenjaunaprijed su poznata s dovoljnom preciznou,

    je vrijeme pripravnosti stroja

    (obzirom na poslove koji se na njemu

    trenutno izvode),

    je vrijeme zavretka izvoenja posla na stroju ; budui su vremenazavretka vezana samo za poslove, za odreivanje kriterija koristi se

    oznaka kao vrijeme zavretka posla je skup svih raspoloivih poslova koji jo nisu pokrenuti; neki od tih

    poslova su moda dodijeljeni nekome stroju, ali njihovo izvoenje jop nije

    zapoelo pa su podloni novom pridruivanju.

    U nastavku je prikazan i opisan algoritam min-min.

    Slika 2.1 Min-min postupak rasporeivanja [4]

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    24/45

    20

    Min-min postupak prikazan je kao algoritam slikom 2.1. U svakom koraku

    algoritam rauna oekivano vrijeme zavretka izvoenja poslova na svakom od

    strojeva, uzevi u obzir vrijeme pripravnosti stroja. Potom se za svaki posao

    pronalazi stroj koji daje najmanje oekivano vrijeme zavretka. Postupak tada

    rasporeuje posao koji postie najblie vrijeme zavretka (od svih poslova) na

    stroj koji tom poslu daje to vrijeme zavretka.

    Vaan element uporabe opisanog postupka rasporeivanja je i odabir

    trenutka rasporeivanja nagomilanih poslova. U stvarnim se uvjetima obino

    definira neki vremenski interval nakon kojeg se algoritam ponovno primjenjuje.

    Odreivanje veliine intervala u velikoj je mjeri ovisno o vrsti sustava u kojemu se

    rasporeivanje obavlja. U ovom radu, u postupku simulacije, primjenjuje se najbolji

    sluaj: algoritam se izvodi svaki puta kada novi posao doe u sustav.

    Na slici 2.2 grafiki je prikazano rasporeivanje i ureivanje pomou min-

    min algoritma. Poto je stroj zauzet, a novi posao dolazi u sustav, niti jedanposao iz skupa poslova stroja nee biti izvren, ve se ponovno vraaju u skup.

    Slika 2.2 Grafiki prikaz algoritma min-min

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    25/45

    21

    3. Rjeavanje problema rasporeivanja u okruju nesrodnihstrojeva uporabom algoritma kolonije mrava

    U ovom poglavlju prikazana je grafika interpretacija i prikaz rjeenja.

    Predstavljen je pseudokod funkcije dobrote (engl. fitness function) i koritenaheuristika pravila u svrhu koritenja parametra u izrazu (1.5.). Rjeenjeproblema rasporeivanja u okruju nesrodnih strojeva ostvareno je uporabom

    algoritma Ant Colony System.

    3.1. Uvjeti rasporeivanja i vrednovanje rasporeda

    Algoritam Ant Colony System implementiran je za predodreeno

    rasporeivanje i rasporeivanje na zahtjev ( 2.2.2.). Svrha implementiranja dvatipa rasporeivanja, po kriteriju uvjeta rasporeivanja, je utvrditi kada algoritam

    min-min postie bolje rezultate, a kada algoritam Ant Colony System.

    Rasporeivanje na zahtjev implementirano je na isti nain kao i min-min

    postupak rasporeivanja, uz iznimku da pridruivanje i ureivanje ( 2.1.) radi

    algoritam Ant Colony System (slika 3.1.).Radi usporedivosti algoritama, i algoritam

    Ant Colony System implementiran je tako da se izvodi svaki puta kada novi posao

    doe u sustav.

    Rasporeivanje na zahtjev ima veu sloenost od predodreenog

    rasporeivanja jer je prije svakog pokretanja algoritma Ant Colony System

    potrebno ponovno inicijalizirati feromonske tragove na vrijednost , rasporeditimrave u vorove poslova koji se nalaze u skupu , a za neraspoloive poslovesvakome mravu upisati u njegovu da ne smije posjetiti vorove tihposlova.

    Prilikom rasporeivanja na zahtjev dovoljan je mali broj ciklusa jer je

    prosjena maksimalna veliina skupa jednaka , a u odreenim trenucima,na poetku rada sustava i na kraju rada, nalazi se vrlo malen broj poslova (izmeu i ) i velik broj ciklusa vrlo bi usporio izvoenje programa. Unato velikombroju ciklusa, osjetno poboljanje rezultata nije vidljivo jer velik broj mrava i malen

    broj poslova u sustavu dovodi do brze konvergencije rjeenja. U programu je

    najvei dozvoljen broj ciklusa jednak pet.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    26/45

    22

    Slika 3.1 Rasporeivanje na zahtjev algoritmom Ant Colony System

    Predodreeno rasporeivanje algoritam Ant Colony System izvodi po

    definiciji ( 2.2.2.). Slikom 3.2. prikazan je nain izvoenja predodreenog

    rasporeivanja.

    Slika 3.2 Predodreeno rasporeivanje algoritmom Ant Colony System

    Stvoren raspored optimiran je s obzirom na jedan od sljedea etiri uvjeta

    rasporeivanja ( 2.3., izrazi (2.6), (2.8.), (2.9) i (2.10)):

    ukupna duljina rasporeda,

    teinsko protjecanje,

    teinsko zaostajanje,

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    27/45

    23

    teinska zakanjelost.

    3.2. Grafika interpretacija

    Kao to je opisano u 1.3., rjeenje problema moe se interpretirati grafom

    , gdje je . U rjeenju problema rasporeivanja u okruju nesrodnihstrojeva, veliina skupa jednaka je broju poslova, . Svaki posaopredstavlja jedan vor, . Svaki vor sastoji se od podvorova, gdjepredstavlja broj nesrodnih strojeva u okruju, dakle .Svaki vor spojen je s bridova.

    Veliine struktura podataka za feromonske tragove i heuristike informacije

    iznose

    . Upravo iz tog razloga, sloenost auriranja feromonskih

    tragova iznosi .Slikom 3.3. prikazana je grafika interpretacija rjeenja. Crnim strelicama

    prikazani su bridovi koji spajaju vor s preostalim vorovima. Crvenimstrelicama prikazano je jedno od moguih rjeenja rasporeivanja. U poglavlju 3.3.

    objanjeno je predstavljanje rjeenja.

    Slika 3.3 Grafika interpretacija rjeenja algoritma Ant Colony System

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    28/45

    24

    Prilikom inicijalizacije, svaki mrav postavi se u jedan podvor vora . Potrebanbroj mrava da bi se zauzeli svi podvorovi, svih vorova, jest , gdje je definiran kao:

    (3.1)

    U implementaciji nije potrebno koristiti broj mrava jer se poveava vrijemeizvoenja programa. Stoga je koriten izraz (3.2.) za ukupan broj mrava u sustavu. (3.2)Faktor je iz intervala , a program je izveden za vrijednosti .3.3. Predstavljanje rjeenja

    Pridruivanje i ureivanje ( 2.1.) implementirani algoritam Ant Colony

    System radi istovremeno. Rjeenje ili raspored koji algoritam stvara prikazan je u

    obliku prioritetnog vektora. Prioritetni vektor sastoji se od elemenata, a svakielement sastoji se od dvije informacije: rednog broja posla i rednog broja stroja na

    kojem e se posao izvoditi. Svaki mrav rauna vlastiti raspored, koji se nakon

    obienih vorova evaluira pomou funkcije dobrote.Nakon to se prioritetni vektor preda funkciji za odreivanje dobrote

    rasporeda, iz prioritetnog vektora se jedan po jedan posao, s poetka prema kraju

    vektora, ekstrahira i dodaje u skup poslova stroja (slike 3.1., 3.2.). Crvenimstrelicama na slici 3.3. prikazano je jedno mogue rjeenje problema. Slikom 3.4.prikazan je prioritetni vektor koji prikazuje rjeenje sa slike 3.3.

    Slika 3.4 Prikaz rasporeda u obliku prioritetnog vektora

    Strelica pokazuje poetak vektora i poetak dekodiranja vektora. Nakon

    dekodiranja poslovi moraju zadrati svojstvo prioriteta, odnosno, posao koji jeispred posla , a oboje se izvode na stroju , nakon pridruivanja moraju ostati uistom poretku.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    29/45

    25

    3.4. Funkcija dobrote

    Implementirana funkcija dobrote (engl. fitness function) simulira izvoenje

    poslova u okruju nesrodnih strojeva prema stvorenom rasporedu. Prilikom

    simulacije, funkcija biljei zavretak izvoenja posla na stroju i tu vrijednostpohranjuje u strukturu podataka. Zavretak izvoenja posla, , najvaniji jeparametar jer ostale mjerene vrijednosti ( 3.1.) direktno ovise o njoj. Slika 3.5.

    prikazuje algoritam implementirane funkcije dobrote.

    Slika 3.5 Pseudokod algoritma za evaluaciju dobrote rasporedaPovratna vrijednost funkcije dobrote ovisi o kriteriju optimizacije rasporeda.

    Implementirane su etiri mogue povratne vrijednosti opisane u 3.1.

    3.5. Heuristike funkcije

    U izrazu (1.5.) koristi se heuristika . U implementaciji algoritma Ant ColonySystem implementirane su etiri statike heuristike funkcije. Pojam statika

    funkcijaoznaava da vrijednostifunkcije izraunaju na poetku izrade rasporeda i

    da se tijekom izrade vie ne mijenjaju.

    Implementirane heuristike funkcije su [4]:

    EDD(engl. earliest due date) definirano je kao:

    (3.3) SPT(engl. shortest processing time) definirano je kao:

    (3.4)

    WSPT(engl. weighted shortest processing time) definirano je kao:

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    30/45

    26

    (3.5) MON( Montagne) definirano je kao:

    (3.6)

    pri emu je ukupan broj poslova.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    31/45

    27

    4. Izgled i rad aplikacije

    Program za rjeavanje rasporeivanja u okruju nesrodnih strojeva

    implementiran je u programskom jeziku

    , u razvojnom okruenju

    . Koritena je proceduralna paradigma prilikomprogramiranja.Za ispravan rad aplikacija oekuje pet datoteka, od kojih je datoteka

    fitness.txt glavna i u njoj se nalaze podaci o broju skupa poslova za

    rasporeivanje, broj nesrodnih strojeva za pojedini skup poslova i imena preostalih

    etiri datoteka. U preostale etiri datoteke pojedinano moraju za svaki skup

    poslova biti definirani parametri koje koristi program za izradu rasporeda ( 2.1.):

    vremena pripravnosti,

    trajanje izvoenja posla na strojevima,

    vrijeme eljenog/nunog zavretka,

    teina.

    Pri pokretanju aplikacije korisnik odabire uvjet rasporeivanja, kriterij

    optimizacije i heuristiku informaciju za algoritam Ant Colony System. Zatim

    korisnik odabire interval skupova poslova za koje eli izraditi raspored. Korisniku je

    ponuena opcija da se, nakon upisa gornje i donje granice intervala skupaposlova, upiu predodreene vrijednosti za algoritam Ant Colony System ili da ih

    sam korisnik upisuje. Slikom 4.1. prikazan je ulazni dio aplikacije.

    Slika 4.1 Ulazni dio aplikacije za rasporeivanje poslova na nesrodnim strojevima

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    32/45

    28

    Ukoliko korisnik odabere vlastito upisivanje vrijednosti, od korisnika se

    oekuje upis parametara koji zahtjeva formula (1.5.) i broj ciklusa mrava (slika

    4.2.).

    Slika 4.2 Korisnikov upis vrijednosti parametara u sluaju nepretpostavljenog odabira

    Nakon to se upiu svi ulazni podaci, program zapoinje s radom. Kao to

    je napomenuto u ( 1), cilj programa je usporediti dobrotu algoritma Ant Colony

    System u odnosu na heuristiki algoritam min-min. Nakon obrade svakograsporeda, za svaki skup, u aplikacijski prozor upisuju se mjerene vrijednosti u

    programu ( 3.1.). Osim ispisa u aplikacijski prozor, podaci se ispisuju u tri izlazne

    datoteke. Osim podataka o parametrima rasporeda i vremenu izrade rasporeda, u

    treu datoteku upisuje se dominacija algoritma Ant Colony System nad algoritmom

    min-min. Postotak dominacije je mjera koja daje udio ispitnih primjera u kojima

    odreeni algoritam postie rezultat bolji od rezultata svih testiranih algoritama ili

    nije loiji od rezultata bilo kojeg drugog algoritma. Slika 4.3. prikazuje izgledaplikacijskog prozora tijekom izvoenja programa.

    Slika 4.3 Aplikacijski prozor tijekom izvoenja programa

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    33/45

    29

    5. Rezultati mjerenja

    Pretpostavljene vrijednosti parametara iz formule (1.5.), vrijednosti broja

    ciklusa i broja mrava prikazane su tablicom 5.1.

    Tablica 5.1 Pretpostavljene vrijednosti parametara u programu Mjerenja su provedena za predodreeno rasporeivanje i rasporeivanje na

    zahtjev. Pritom su testirane etiri karakteristike za algoritam Ant Colony System:

    veliina kolonije (broj mrava),

    broj ciklusa,

    tip heuristike ( 3.5.),

    vrijeme izraunavanja rasporeda.

    Ispitivanja su provedena na procesorima i . Prosjeno vrijeme izvoenja rasporeda za skupova poslova od poslova rasporeivanih na nesrodnastroja iznosi

    sati.

    Za svaku od etiri karakteristike provedeno je optimiranje po svim kriterijima

    navedenim u 3.1. Testiranja su provedena na skupova poslova od po i poslova.5.1. Predodreeno rasporeivanje

    Prilikom testiranja u uvjetima predodreenog rasporeivanja, htjela se,

    izmeu ostalog,otkriti jedna od etiri optimalne heuristike ( 3.5.). Ta heuristika

    koriti se u svim daljnjim testiranjima, kao i u rasporeivanju na zahtjev.

    5.1.1. Utjecaj tipa heuristike funkcijeSlike 5.1, 5.2, 5.3 i 5.4 pokazuju postotak dominacije za sve navedene

    kriterije iz 3.1.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    34/45

    30

    Slika 5.1 Postotak dominacije za heuristiku funkciju EDD

    Slika 5.2 Postotak dominacije za heuristiku funkciju SPT

    Slika 5.3 Postotak dominacije za heuristiku funkciju WSPT

    ACO min-min ACO min-min ACO min-min ACO min-min

    Cmax Fwt Twt Uwt

    Twt 0% 100% 0% 100% 0% 100% 0% 100%

    Uwt 0% 100% 0% 100% 0% 100% 4% 98%

    Fwt 0% 100% 0% 100% 0% 100% 0% 100%

    Cmax 1% 100% 0% 100% 0% 100% 0% 100%

    0%20%40%60%80%

    100%120%

    Postotakdominacije

    Kriteriji vrednovanja

    Heuristika funkcija EDD

    Twt

    Uwt

    Fwt

    Cmax

    ACO min-min ACO min-min ACO min-min ACO min-min

    Cmax Fwt Twt Uwt

    Twt 31% 71% 30% 73% 38% 66% 25% 76%

    Uwt 28% 75% 31% 73% 34% 71% 35% 67%

    Fwt 14% 87% 18% 83% 15% 86% 10% 91%

    Cmax 65% 37% 44% 59% 48% 55% 27% 74%

    0%20%40%60%80%

    100%

    Postotcidominacije

    Kriteriji vrednovanja

    Heuristika funkcija SPT

    Twt

    Uwt

    Fwt

    Cmax

    ACO min-min ACO min-min ACO min-min ACO min-min

    Cmax Fw Tw Uw

    Twt 39% 65% 37% 64% 46% 58% 33% 70%

    Uwt 30% 75% 34% 68% 45% 60% 45% 59%

    Fwt 17% 84% 26% 75% 22% 79% 13% 88%

    Cmax 63% 40% 42% 60% 47% 55% 31% 70%

    0%10%20%30%40%

    50%60%70%80%90%

    100%

    Postotakdom

    inacije

    Kriteriji vrednovanja

    Heuristika funkcija WSPT

    Twt

    Uwt

    Fwt

    Cmax

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    35/45

    31

    Slika 5.4 Postotak dominacije za heuristiku funkciju MON

    Iz rezultata se moe uoiti da je uinkovitost heuristike funkcijenajvea i uglavnom podjednaka uinkovitosti min-min algoritma, a heuristikefunkcije najloija. Funkcija neznatno postie bolje rezultate od funkcije ,a razlog je to prilikom izrade rasporeda u obzir uzima prioritet posla. Razlog to

    funkcija postie tako loe rezultate jest to prilikom izrade rasporeda u obziruzima samo vrijeme eljenog zavretkaposla, a na temelju toga ne moe odrediti

    na kojem stroju posao postie optimalno izvravanje, pa na sluajan nain odabirestroj. Iz razloga to funkcija postie najbolje rezultate, koristi se u svimdaljnjim ispitivanjima.

    Slika 5.5 prikazuje vrijednosti mjerila vrednovanja za funkciju .

    Slika 5.5 Vrijednosti mjerila vrednovanja za heuristiku funkciju MON

    ACO min-min ACO min-min ACO min-min ACO min-min

    Cmax Fw Tw Uw

    Twt 41% 62% 40% 61% 50% 53% 38% 65%

    Uwt 35% 70% 40% 64% 44% 60% 45% 58%

    Fwt 19% 82% 30% 71% 23% 78% 12% 89%

    Cmax 65% 36% 41% 60% 49% 52% 30% 71%

    0%10%20%30%40%50%60%70%80%90%

    100%

    Postotakdominacije

    Kriteriji vrednovanja

    Heuristika funkcija MON

    Twt

    Uwt

    Fwt

    Cmax

    Cmax Fw Tw Uw min-min

    ACO MIN-MIN

    Twt 173995 159317 153850 193145 107763

    Uwt 888,1 826,6 831,4 750 564,8

    Fwt 562402 525799,93 535285 570689 310933,01

    Cmax 60229 68288 65516 76834 62355

    0

    100000

    200000300000

    400000

    500000

    600000

    Vrijednosti mjerila vrednovanja za hf. MON

    Twt

    Uwt

    Fwt

    Cmax

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    36/45

    32

    5.1.2. Utjecaj veliine kolonije

    Slike 5.6 i 5.7 prikazuju rezultate optimizacije ukupne duljine rasporeda

    obzirom na broj mrava u koloniji. Faktor

    je iz skupa

    (3.2).

    Slika 5.6 Optimiranje ukupne duljine rasporeda obzirom na broj mrava

    Slika 5.7 Postotci dominacije za ukupnu duljinu rasporeda obzirom na broj mrava

    Iz rezultata se moe uoiti daveibroj mrava pozitivno utjee na rezultat.

    to je kolonija vea, u ciklusu prolaska kroz vorove stvori se vie rjeenja, od

    kojih proizie samo najbolje rjeenje. Takoer, to vie mrava ima, to prilikom

    N/4 N/3 N/2 N min-minACO MIN-MIN

    Twt 179464 175842 173995 162165 107763

    Uwt 899,8 890,2 888,1 865,7 564,8

    Fwt 574279 569824 562402 553098,64 310933,01

    Cmax 63132 62832 60229 57842 62355

    0

    100000

    200000

    300000

    400000

    500000

    600000

    700000

    Vrijednosti mjerila vrednovanja

    Twt

    Uwt

    Fwt

    Cmax

    ACO min-min ACO min-min ACO min-min ACO min-min

    N/4 N/3 N/2 N

    Twt 35% 65% 36% 63% 37% 63% 45% 59%Uwt 29% 73% 32% 70% 36% 65% 40% 65%

    Fwt 15% 83% 17% 80% 22% 78% 22% 79%

    Cmax 53% 46% 56% 41% 63% 36% 69% 34%

    0%10%20%30%40%50%60%70%80%90%

    Postotak najboljih pronaenih rjeenja

    Twt

    Uwt

    Fwt

    Cmax

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    37/45

    33

    poetnog odreivanja poloaja mrava pokrije se vei broj vorova i podvorova u

    grafu .5.1.3. Utjecaj broja ciklusa

    Slike 5.8 i 5.9 prikazuju rezultate optimizacije ukupne duljine rasporeda

    obzirom na broj ciklusa. Broj ciklusa, , je is skupa .

    Slika 5.8 Optimiranje ukupne duljine rasporeda obzirom na broj ciklusa

    Slika 5.9 Postotci dominacije za ukupnu duljinu rasporeda obzirom na broj ciklusa

    Iz rezultata se moe uoiti da vei broj ciklusa pozitivno utjee na rezultat.

    to je broj ciklusa vei, ukupna duljina rasporeda se smanjuje i poveava se

    dominacija nad algoritmom min-min. Objanjenje takvog rezultata je to vei broj

    20 40 60 80 min-min

    ACO MIN-MIN

    Twt 167242 173995 167262 163808 107763

    Uwt 896,1 888,1 890,9 879,8 564,8

    Fwt 559214 562402 558525 553776 310933,01

    Cmax 61014 60229 59954 59520 62355

    0

    100000

    200000

    300000

    400000

    500000

    600000

    AxisTitle

    Vrijednosti mjerila vrednovanja

    Twt

    Uwt

    Fwt

    Cmax

    ACO min-min ACO min-min ACO min-min ACO min-min

    20 40 60 80

    Twt 41% 62% 41% 62% 40% 64% 43% 60%

    Uwt 40% 65% 35% 70% 35% 69% 34% 70%

    Fwt 20% 81% 19% 82% 20% 80% 19% 82%

    Cmax 61% 40% 65% 36% 64% 39% 65% 37%

    0%10%20%30%40%50%60%70%80%90%

    Postotak najboljih pronaenih rjeenja

    Twt

    Uwt

    Fwt

    Cmax

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    38/45

    34

    ciklusa, kao i mrava, dovodi do bre konvergencije optimalnom rjeenju, a to se

    dogaa jer mravi vie puta mogu aurirati feromonske tragove.

    5.1.4. Vrijeme izraunavanja rasporedaProsjeno izraunavanje rasporeda za pretpostavljene vrijednosti (tablica

    5.1) iznosi . Slike 5.10 i 5.11 prikazuju vrijeme izraunavanja rasporedaobzirom na broj mrava i na broj ciklusa.

    Slika 5.10 Trajanje izraunavanja rasporeda u ovisnosti o broju mrava

    Slika 5.11 Trajanje izraunavanja rasporeda u ovisnosti o broju ciklusa

    Iz rezultata se uoava da je trajanje izraunavanja rasporeda u ovisnosti o

    broju mrava sloenosti. Razlog takvoj sloenosti su popratniefekti povaenja broja mrava. Osim veeg broja auriranja feromonskih tragova,

    treba se osvjeiti i tabu lista i ponovno rasporediti sve mrave u poetne vorove.

    Za razliku od ovisnosti o broju mrava, trajanje izraunavanja rasporeda u

    ovisnosti o broju ciklusa je sloenosti jer ne postoje popratni efekti.

    N/4 N/3 N/2 N min-min

    ACO MIN-MIN

    vrijeme/s 6184 7498 12353 24442,923 0,6

    0

    5000

    10000

    15000

    20000

    25000

    30000

    Trajanje izraunavanja rasporeda u ovisnosti o broju mrava

    vrijeme/s

    20 40 60 80 min-min

    ACO MIN-MIN

    vrijeme/s 6124 12352,9 18262 24410 0,6

    0

    5000

    10000

    15000

    20000

    25000

    30000

    Trajanje izraunavanja rasporeda u ovisnosti o broju ciklusa

    vrijeme/s

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    39/45

    35

    5.2. Rasporeivanje na zahtjev

    Prilikom rasporeivanja na zahtjev koritena je heuristika funkcija .Testirana su dva uvjeta: broj mrava i trajanje izvoenja. U svakom testiranju, osim

    testirane varijable, vrijednosti ostalih varijabli jednake su vrijednostima iz tablice

    5.1.

    5.2.1. Rezultati za heuristiku funkciju Slikama 5.12 i 5.13 prikazani su rezultati optimizacije svih kriterija za

    heuristiku funkciju .

    Slika 5.12 Vrijednosti mjerila vrednovanja za heuristiku funkciju MON

    Slika 5.13 Postotci dominacije za heuristiku funkciju MON

    Rezultati testiranja pokazuju da prilikom rasporeivanja na zahtjev, za

    kriterije optimiranja ukupne duljine rasporeda i teinskog protjecanja, algoritam Ant

    Cmax Fw Tw Uw min-min

    ACO MIN-MIN

    Twt 43618 29120,8 63709,3 79981,9 107763

    Uwt 383,9 364,5 595,64 626,1 564,8Fwt 173330 157343 315455 349677 310933,01

    Cmax 43618 43160 53801 58223 62355

    050000

    100000150000200000250000300000350000400000

    Vrijednosti mjerila vrednovanja

    Twt

    Uwt

    Fwt

    Cmax

    ACO min-min ACO min-min ACO min-min ACO min-min

    Cmax Fw Tw Uw

    Twt 91% 16% 91% 17% 51% 52% 34% 68%

    Uwt 89% 23% 91% 21% 45% 61% 35% 78%

    Fwt 89% 12% 94% 7% 36% 70% 24% 77%

    Cmax 88% 13% 87% 15% 54% 45% 41% 60%

    0%

    20%40%60%80%

    100%

    Postotak najboljih pronaenih rjeenja

    Twt

    Uwt

    Fwt

    Cmax

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    40/45

    36

    Colony System u potpunosti dominira algoritmom min-min. Razlog takvih rezultata

    je da velik broj mrava na relativno malenom broju poslova u sustavu vrlo brzo

    konvergira optimalnom rjeenju. Malen broj poslova ( 3.1) dovodi viestruke

    raspodjele mrava po vorovima i podvorovima grafa

    te uzrokuje viestruka

    rjeenja za svaki podvor, od kojih se izabire najbolje rjeenje i to je razlog brze

    konvergencije. Optimiranje po kriteriju teinskog zaostajanja ima vrlo sline

    rezultate kao i algoritam min-min, a optimiranje po teinskoj zakanjelosti ima

    loije rezultate od algoritma min-min. Razlog loim rezultatima je brza

    konvergencija suboptimalnom rjeenju, ija posljedica moe biti forsirano

    optimiranje parametra koji je funkcija drugih parametara. Formule 2.10 i 2.5

    poblie opisuju ovisnost teinske zakanjelosti o drugim parametrima.

    Zakanjelost (formula 2.5) je funkcija od zaostajanja (formula 2.3), koja je funkcija

    od kanjenja (formula 2.2). Optimirajui raspored po parametru teinske

    zakanjelosti, optimiraju se zapravo svi parametri o kojima funkcija ovisi, a ako

    parametara ima puno, optimizacija je spora i loa.

    5.2.2. Utjecaj veliine kolonije

    Slike 5.14 i 5.15 prikazuju rezultate optimizacije ukupne duljine rasporeda

    obzirom na broj mrava u koloniji. Faktor je iz skupa (3.2).

    Slika 5.14 Optimiranje teinskog zaostajanja obzirom na broj mrava

    N/4 N/3 N/2 N min-min

    ACO MIN-MIN

    Twt 48329 46283 45672 48640,6 107763

    Uwt 518 525,8 535,5 553,9 564,8

    Fwt 266863 268636 269271 273671 310933,01

    Cmax 54297 54384 54573 55352 62355

    050000

    100000150000200000250000300000350000

    Vrijednosti mjerila vrednovanja

    Twt

    Uwt

    FwtCmax

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    41/45

    37

    Slika 5.15 Postotci dominacije za teinsko zaostajanje obzirom na broj mrava

    Iz rezultata se uoava da broj velik broj mrava negativno utjee na teinsko

    zaostajanje poslova.

    5.2.3. Vrijeme izraunavanja rasporeda

    Prosjeno izraunavanje rasporeda za pretpostavljene vrijednosti (tablica

    5.1) iznosi . Slika 5.16 prikazuje vrijeme izraunavanja rasporeda obzirom nabroj mrava.

    Slika 5.16 Trajanje izraunavanja rasporeda u ovisnosti o broju mrava

    Kao i kod predodreenog rasporeivanja, trajanje izraunavanja rasporeda

    u ovisnosti o broju mrava kod rasporeivanja na zahtjev ima

    sloenost zbog popratnih efekata. Ovdje je vremensko izvravanje dulje jer se

    ACO min-min ACO min-min ACO min-min ACO min-min

    N/4 N/3 N/2 N

    Twt 57% 45% 56% 46% 55% 47% 55% 47%

    Uwt 46% 58% 47% 59% 47% 57% 45% 60%

    Fwt 40% 61% 39% 62% 39% 62% 35% 66%

    Cmax 53% 49% 54% 47% 55% 48% 55% 45%

    0%10%20%30%

    40%50%60%70%

    Postotak najboljih pronaenih rjeenja

    Twt

    Uwt

    Fwt

    Cmax

    N/4 N/3 N/2 N min-min

    ACO MIN-MIN

    vrijeme/s 24550,6 26842 29741 62876,532 0,6

    0

    10000

    20000

    30000

    40000

    50000

    60000

    70000

    Trajanje izraunavanja rasporeda u ovisnosti o broju mrava

    vrijeme/s

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    42/45

    38

    popratni efekti dogaaju ne samo izmeu skupova poslova, nego i svaki put kad

    novi posao ue u skup ( 3.1).U tablici 5.2. prikazan je faktor usporenja rasporeivanja na zahtjev pomou

    algoritma kolonije mrava u odnosu na algoritam min-min. Izmjereno je prosjeno

    vrijeme, u milisekundama, jednog rasporeivanja na zahtjev. Za svaku

    kombinaciju broja poslova i broja strojeva, nasumino je izabran skup poslova nad

    kojim se provodilo ispitivanje. Za algoritam kolonije mrava koriteni su parametri iz

    tablice 5.1.

    Tablica 5.2 Faktor usporenja jednog rasporeivanja na zahtjev algoritmom kolonije mrava u

    odnosu na algoritam min-min

    Broj strojeva Broj poslova milisekunde Faktor

    usporenjatr(min-min) tr(ACO)

    3

    12 0.167 17.31 104

    25 0.268 72.974 273

    50 0.153 446.549 2919

    100 0.204 3676.59 18023

    6

    12 0.05 15.471 310

    25 0.243 105.0 432

    50 0.108 650.327 6022

    100 0.301 4149.16 13785

    10

    12 0.112 137.4 1227

    25 0.104 142.24 1368

    50 0.072 882.737 12261

    100 0.204 9846.43 48267

    Razlog sporosti rasporeivanja na zahtjev algoritmom kolonije mrava lei uinjenici da prilikom svakog rasporeivanja moraju se instancirati sve strukture

    podataka koje algoritam kolonije mrava koristi (matrice feromonskih tragova i

    matrica heuristike, tabu lista, poloaj mrava). Faktor usporenja to je vei to je

    umnoak broja strojeva i broja poslova vei, a o tom umnoku direktno ovisi broj

    mrava i veliine svih navedenih struktura podataka( 3.2 i 3.3).

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    43/45

    39

    Zakljuak

    Usporedba algoritama Ant Colony System i min-min pokazuje da oba

    algoritma imaju prednosti i mane. Najvea prednost algoritma min-min je to u

    izrazito kratkom vremenu ( 0.5 sekundi) rasporeuje poslove i pritom ostvaruje

    relativno dobre rezultate, u nekim sluajevima bolje od algoritma Ant Colony

    System. Mana algoritma je to su ti rezultati daleko od optimalnih vrijednosti.

    Algoritam Ant Colony System najbolje rezultate postie za heuristiku

    funkciju , od preostalih ispitanih. Prilikom predodreenog rasporeivanjaalgoritam postie bolje rezultate od min-min kod optimiranja ukupne duljine

    rasporeda; teinsko zaostajanje i teinska zakanjelost su priblino isti (min-min je

    u veini bolji); teinsko protjecanje postie loije rezultate od min -min. Prilikomrasporeivanja na zahtjev, algoritam Ant Colony System postie izrazito dobre

    rezultate za optimizaciju ukupne duljine rasporeda i teinskog protjecanja; teinsko

    zaostajanje je priblino isto (min-min je ponekad bolji); za teinsku zakanjelost

    postie loije rezultate od min-min.

    Poveanje broja mrava uzrokuje linearno poboljanje prethodno dobivenih

    rezultata. Poveanje broja ciklusa, takoer, uzrokuje linearno poboljanje

    prethodno dobivenih rezultata, no u puno manjoj mjeri. Broj mrava u algoritmuvezan je uz eksponencijalnu sloenost programa, a broj ciklusa vezan je uz

    linearnu sloenost.Najvea mana algoritma je izrazito dugo izvoenje u odnosu

    na algoritam min-min.

    Pokazano je da rasporeivanje u okruju nesrodnih strojeva uporabom

    evolucijskog raunanja postie zadovoljavajue rezultate. Evolucijski algoritam Ant

    Colony System davao bi jo bolja rjeenja da su pretpostavljeni parametri u

    programu bili bolji, ali traenje njihovog optimalnog iznosa zahtjeva vee

    raunalne resurse. Kao najvea mana algoritma pokazuje se vrijeme izvoenja

    rasporeda pa se algoritam Ant Colony System ne preporua za dinamike sustave

    u kojima je brzina rasporeivanja bitna, ve za statike sustave u kojima je bitna

    optimalnost.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    44/45

    40

    Literatura

    [1] eri, M. et al., Evolucijski algoritmi, sijeanj 2008., Projekt: Evolucijski

    algoritmi,

    http://www.zemris.fer.hr/~golub/ga/studenti/projekt2007/index.html, 5.

    svibnja 2011.

    [2] upi, M., Prirodom inspirirani optimizacijski algoritmi, Zavod za

    elektroniku, mikroelektroniku, raunalne i inteligentne sustave, Fakultet

    elektrotehnike i raunarstva, 2009.

    [3] Dorigo, M., Sttzle, T., Ant Colony Optimization, MIT Press, Cambridge,

    MA, 2004.

    [4] Jakobovi, D., Rasporeivanje zasnovano na prilagodljivim pravilima,doktorska disertacija, Fakultet elektrotehnike i raunarstva, 2005.

    [5] Ant colony optimization algorithms, 20. travnja 2011., Ant colony

    optimization algorithms,

    http://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms, 5. svibnja

    2011.

  • 8/4/2019 RASPOREIVANJE U OKRUJU NESRODNIH STROJEVA UPORABOM EVOLUCIJSKOG RAUNANJA

    45/45

    Saetak

    Rasporeivanje u okruju nesrodnih strojeva uporabom evolucijskog

    raunanja

    U radu je opisan postupak rasporeivanja i okruje rasporeivanja na

    nesrodnim strojevima. Za rasporeivanje koristi se algoritam evolucijskog

    raunanja Ant Colony System.Algoritam je usporeen s postojeim heuristikim

    algoritmom min-min. Ostvareno je okruje u kojem je mogue provesti usporedbu

    uinkovitosti oba algoritma. Usporedba algoritama napravljena je za dva tipa

    rasporeivanja: predodreeno rasporeivanje i rasporeivanje na zahtjev.

    Algoritam evolucijskog raunanja Ant Colony System pokazuje slinu ili bolju

    uinkovitost u usporedbi s heuristikim algoritmom min-min. Navedene su

    prednosti i mane koritenja oba algoritma prilikom rasporeivanja u okruju

    nesrodnih strojeva.

    Kljune rijei: rasporeivanje u okruju nesrodnih strojeva, evolucijsko

    raunanje, Ant Colony System, heuristiki algoritam min-min, predodreeno

    rasporeivanje, rasporeivanje na zahtjev

    Scheduling for parallel unrelated machines using evolutionaryalgorithms

    This BSc thesis gives a description of the scheduling process and parallel

    unrelated machines environment. Ant Colony System evolutionary algorithm is

    used for scheduling. The algorithm is compared to the existing heuristic algorithm

    min-min. A framework which enables the comparison of efficiency of both

    algorithms is implemented. Two types of scheduling comparison are implemented:

    offline scheduling and online scheduling. Ant Colony System evolutionary

    algorithm exhibits similar or, in some cases, better efficiency compared to the

    heuristic algorithm min-min. Advantages and disadvantages of using both

    algorithms in scheduling for parallel unrelated machines are given.

    Keywords: parallel unrelated machines scheduling, evolutionary

    algorithms, Ant Colony System, heuristic algorithm min-min, offline scheduling,

    online scheduling