Primjena optimizacije kolonijom mrava na rješavanje problema trgovačkog putnika

Similar documents
Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Red veze za benzen. Slika 1.

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Projektovanje paralelnih algoritama II

TEORIJA SKUPOVA Zadaci

Uvod u relacione baze podataka

Mathcad sa algoritmima

Metode izračunavanja determinanti matrica n-tog reda

Metode praćenja planova

Quasi-Newtonove metode

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Algoritam za odre divanje ukupnog poravnanja dva grafa poravnanja parcijalnog ure daja

Sveučilište u Zagrebu Fakultet prometnih znanosti Diplomski studij. Umjetna inteligencija - Genetski algoritmi 47895/47816 UMINTELI HG/

Diferencijska evolucija

Metode rješavanja kvadratičnog problema pridruživanja

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

MATHEMATICAL ANALYSIS OF PERFORMANCE OF A VIBRATORY BOWL FEEDER FOR FEEDING BOTTLE CAPS

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

Sortiranje podataka. Ključne riječi: algoritmi za sortiranje, merge-sort, rekurzivni algoritmi. Data sorting

KVADRATNE INTERPOLACIJSKE METODE ZA JEDNODIMENZIONALNU BEZUVJETNU LOKALNU OPTIMIZACIJU 1

ANALYSIS OF THE RELIABILITY OF THE "ALTERNATOR- ALTERNATOR BELT" SYSTEM

PARALELNI ALGORITMI ZA PROBLEM GRUPIRANJA PODATAKA

Mostovi Kaliningrada nekad i sada

Fajl koji je korišćen može se naći na

STATISTICAL ANALYSIS OF WET AND DRY SPELLS IN CROATIA BY THE BINARY DARMA (1,1) MODEL

Ant Algorithms. Ant Algorithms. Ant Algorithms. Ant Algorithms. G5BAIM Artificial Intelligence Methods. Finally. Ant Algorithms.

pretraživanje teksta Knuth-Morris-Pratt algoritam

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku

Shear Modulus and Shear Strength Evaluation of Solid Wood by a Modified ISO Square-Plate Twist Method

Grafovi. Osnovni algoritmi sa grafovima. Predstavljanje grafova

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

Strojno učenje 3 (II dio) Struktura metoda/algoritama strojnog učenja. Tomislav Šmuc

Metoda parcijalnih najmanjih kvadrata: Regresijski model

A COMPARATIVE EVALUATION OF SOME SOLUTION METHODS IN FREE VIBRATION ANALYSIS OF ELASTICALLY SUPPORTED BEAMS 5

Genetski algoritam Što ako trebamo pretražiti potpuni prostor stanja koji je toliko velik (možda i beskonačan) da je to neizvedivo u realnom vremenu?

ALGORITAM FAKTORIZACIJE GNFS

Mjerenje snage. Na kraju sata student treba biti u stanju: Spojevi za jednofazno izmjenično mjerenje snage. Ak. god. 2008/2009

Formalni postupci u oblikovanju računalnih sustava

Hamiltonov ciklus i Eulerova tura

NAPREDNI FIZIČKI PRAKTIKUM 1 studij Matematika i fizika; smjer nastavnički MJERENJE MALIH OTPORA

KRITERIJI KOMPLEKSNOSTI ZA K-MEANS ALGORITAM

ALGORITMI ZA ISPITIVANJE DJELJIVOSTI

Nelder Meadova metoda: lokalna metoda direktne bezuvjetne optimizacije

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

An Algorithm for Computation of Bond Contributions of the Wiener Index

Kontrolni uređaji s vremenskom odgodom za rasvjetu i klimu

Mode I Critical Stress Intensity Factor of Medium- Density Fiberboard Obtained by Single-Edge- Notched Bending Test

PRIMENA FAZI LOGIKE ZA REŠAVANJE NP-TEŠKIH PROBLEMA RUTIRANJA VOZILA I

EXPERIMENTAL ANALYSIS OF THE STRENGTH OF A POLYMER PRODUCED FROM RECYCLED MATERIAL

Rješavanje lokacijskog problema ograničenih kapaciteta primjenom algoritma promjenjivih okolina i algoritma roja čestica

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

ANALYSIS OF INFLUENCE OF PARAMETERS ON TRANSFER FUNCTIONS OF APERIODIC MECHANISMS UDC Života Živković, Miloš Milošević, Ivan Ivanov

DISTRIBUIRANI ALGORITMI I SISTEMI

Dr. Željko Jurić: Matematička logika i teorija izračunljivosti Radna skripta za istoimeni kurs na Elektrotehničkom fakultetu u Sarajevu.

Modified Zagreb M 2 Index Comparison with the Randi} Connectivity Index for Benzenoid Systems

Cyclical Surfaces Created by a Conical Helix

Oracle Spatial Koordinatni sustavi, projekcije i transformacije. Dalibor Kušić, mag. ing. listopad 2010.

Hornerov algoritam i primjene

Evolucijski algoritmi

Optimizacija Niza Čerenkovljevih teleskopa (CTA) pomoću Monte Carlo simulacija

ALGORITMI PODIJELI PA VLADAJ

NAPREDNI FIZIČKI PRAKTIKUM II studij Geofizika MODUL ELASTIČNOSTI

PRIKAZ BALASOVOG ALGORITMA ZA 0-1 PROGRAMIRANJE

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni nastavnički studij matematike i informatike. Sortiranje u linearnom vremenu

PORAVNANJE VIŠE NIZOVA. Neven Grubelić PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad

PRIMJENA LINEARNOGA PROGRAMIRANJA NA PROBLEME PROMIDŽBE. Diplomski rad

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

Self-Adaptive Ant Colony System for the Traveling Salesman Problem

SVEUĈILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE DIPLOMSKI RAD. Ivana Horvat. Zagreb, 2013.

Linearno programiranje i primjene

HRVATSKA MATEMATIČKA OLIMPIJADA

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

Iterativne metode za rješavanje linearnih sustava

PARAMETRIC OPTIMIZATION OF EDM USING MULTI-RESPONSE SIGNAL-TO- NOISE RATIO TECHNIQUE

6. PROGRAMSKE STRUKTURE STRUKTUIRANOG PROGRAMIRANJA

Solving the Homogeneous Probabilistic Traveling Salesman Problem by the ACO Metaheuristic

EVOLUTIVNI ALGORITAM ZA UPRAVLJANJE VIŠEAGENTSKIM ROBOTSKIM SUSTAVOM

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

Keywords: anticline, numerical integration, trapezoidal rule, Simpson s rule

Pojam funkcije u nastavi matematike nekad i danas

OPTIMIZATION OF VIBRO-DIAGNOSTIC METHOD FOR MARINE ROTATING PUMPS

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

električna polja gaussov zakon električni potencijal

A STUDY ON NATURAL CONVECTION HEAT TRANSFER IN COMPLEX BOUNDARIES

~ HEURISTIKE ~ Složen problem se često ne može rešiti tačno, zato koristimo približno rešenje!

Matematika (PITUP) Prof.dr.sc. Blaženka Divjak. Matematika (PITUP) FOI, Varaždin

Capacitor Placement for Economical Electrical Systems using Ant Colony Search Algorithm

FAKULTET STROJARSTVA I BRODOGRADNJE DIPLOMSKI RAD. Krešimir Duvnjak. Zagreb, 2016.

USE OF A MATHEMATICAL MODEL FOR CFD ANALYSIS OF MUTUAL INTERACTIONS BETWEEN SINGLE LINES OF TRANSIT GAS PIPELINE

Determination of Synchronous Generator Armature Leakage Reactance Based on Air Gap Flux Density Signal

Pitagorine trojke. Uvod

U člnaku se nastoji na jednostavan i sažet način bez ulaženja u egzaktne i formalizirane dokaze postići slijedeće:

Rešavanje problema uspostavljanja uslužnih objekata primenom heurističkih metoda

Maja Antolović Algoritmi u teoriji brojeva

Product Function Matrix and its Request Model

Transcription:

Fakultet elektrotehnike i računarstva Zavod za elektroniku, mikroelektroniku, računalne i inteligentne sustave Primjena optimizacije kolonijom mrava na rješavanje problema trgovačkog putnika Seminarski rad Predmet: Algoritmi u sustavima upravljanja Mentor: Doc. dr. sc. Marin Golub, Prof. dr. sc. Leo Budin Zagreb, svibanj 2006. Hrvoje Marković

Sadržaj 1. Uvod... 1 2. Optimizacija kolonijom mrava (ACO)... 2 2.1. Ponašanje mrava u prirodi... 2 2.2. Pronalazak minimalnog puta u grafu... 3 2.2.1. Svojstva kolonije... 4 2.2.2. Svojstva mrava... 5 2.3. Primjene optimizacije kolonijom mrava... 6 3. Problem trgovačkog putnika (TSP)... 7 3.1. Rješavanje TSP-a pomoću ACO... 7 4. Programska implementacija... 9 4.1. Primjeri... 11 4.1.1. Kružno postavljeni gradovi... 11 4.1.2. Nepravilno postavljeni gradovi... 12 5. Usporedba ACO i drugih algoritama za rješavanje TSP-a... 14 6. Zaključak... 16 7. Literatura... 17

1. Uvod Autor se prvi put susreo s pojmom optimizacije kolonijom mrava dok je surađivao s kolegama s Fakulteta prometnih znanosti koji rade na projektu CroGrid. Kolege se bave problemom usmjeravanja vozila (engl. Vehicle Routing Problem) i vrlo su im zanimljivi algoritmi koji omogućuju paralelizaciju. Problem usmjeravanja vozila je zapravo poopćeni problem trgovačkog putnika u kojem umjesto jednog entiteta (trgovačkog putnika), veći broj entiteta (vozila) obavlja obilazak predefiniranog broja odredišta. Cilj je, poput onoga kod problema trgovačkog putnika, promaći put kojim će se obići sva odredišta uz najmanji trošak (npr. najkraći pređeni put). Kako je problem trgovačkog putnika jednostavniji problem, on je odabran kao primjer na kojem će biti prikazana optimizacija kolonijom mrava. Problem trgovačkog putnika je jedan od najistraženijih i najpoznatijih optimizacijskih problema. Kako pri rješavanju toga problema dolazi do kombinatoričke eksplozije, razvijen je velik broj heurističkih metoda za rješavanje. Često se koriste genetski algoritmi, ali u novije vrijeme i algoritmi teorije rojeva (engl. swarm intelligence) koji pogoduju različitim oblicima paralelizacije (npr. grid computing). U drugom će poglavlju biti opisana optimizacija kolonijom mrava kao odabrana metoda teorije rojeva, dok će u trećem poglavlju biti definiran problem trgovačkog putnika. U četvrtom će poglavlju biti prikazana programska implementacija odabranog algoritma. U petom će poglavlju biti uspoređeni optimizacija kolonijom mrava i ostali heuristički algoritmi za rješavanje problema trgovačkog putnika. Šesto poglavlje donosi zaključak. 1

2. Optimizacija kolonijom mrava (ACO) Optimizaciju kolonijom mrava (engl. Ant Colony Optimisation) je prvi uveo Marco Dorigo [1]. Kolonija mrava predstavlja multi-agentski sustav gdje je ponašanje pojedinog (umjetnog) mrava nadahnuto ponašanjem mrava u prirodi. Primjene obuhvaćaju klasične NP teške probleme i sežu do usmjeravanja u računalnim i telekomunikacijskim mrežama te dubinske analize podataka (engl. data mining). 2.1. Ponašanje mrava u prirodi Inspiraciju za optimizaciju kolonijom mrava je dao eksperiment koju je proveo Goss 1989. godine s argentinskim mravima (lat. Iridomyrmex humilis). Hrana je dana mravima u areni s dva puta različitih duljina kao što je to prikazano na slici 1. Na jednom se kraju nalazi mravlje gnijezdo, a na drugom izvor hrane. U svakom smjeru mravi moraju odabrati put kojim će ići. Slika 1. Eksperiment s argentinskim mravima Eksperiment pokazuje kako nakon kraće prijelazne faze većina mrava koristi kraći put. Dodatno, pokazano je kako s razlikom u duljini između dva puta raste 2

vjerojatnost odabira kraćeg. Takvo se ponašanje mrava objašnjava stigmerijom koja omogućuje povratnu vezu ovisnu o različitim duljinama putova. Pojam stigmerija označava indirektan način komunikacije posredovanjem lokalnim modifikacijama okoliša. Ona se ostvaruje ostavljanjem kemijskih spojeva koji se nazivaju feromoni. U točki odabira, mrav donosi vjerojatnosnu odluku kojim putem ići temeljenu na količini feromona na tlu. U sljedećoj iteraciji odabrani put postaje vjerojatniji. Na taj je način ostvarena povratna veza. Kako se na kraćem putu feromoni ostavljaju češće, mravi kroz niz iteracija izabiru kraći put. 2.2. Pronalazak minimalnog puta u grafu Analogno prirodnim mravima, zadatak je umjetnih mrava pronaći minimalni put između čvorova grafa. Neka je G = ( N, A) povezani graf, gdje je N skup svih čvorova, a A skup svih lukova. Broj čvorova je N = n. Rješenje problema predstavlja put na grafu koji povezuje izvorišni čvor f s odredišnim d, čija je duljina određena brojem lukova na putu. Slika 2 prikazuje minimalni put na grafu. Slika 2. Pronalazak minimalnog puta na grafu Sa svakim je lukom ( i, j) grafa G povezana varijabla τ ij koja predstavlja umjetni trag feromona. Tragove feromona čitaju i pišu mravi. U svakom čvoru grafa 3

dolazi do stohastičke odluke koji je čvor sljedeći. k -ti mrav lociran u čvoru i koristi trag feromona τ ij za izračun vjerojatnosti u koji čvor susjeda čvora i. Vjerojatnost odabira čvora j je dana izrazom: j N i treba otići. N i je skup p k ij τ ij = τ ij j Ni 0, j N i, j N i Dok traži rješenje mrav ostavlja trag feromona na pripadnom luku ( t) τ ( t 1) + τ τ ij ij. Međutim, tako definirano rješenje može dovesti do konvergencije prema suboptimalnom rješenju tako da se uvodi mehanizam isparavanja. U svakoj se iteraciji eksponencijalno smanjuje količina feromona prema izrazu: τ ( 1 ρ) τ, ρ [ 0,1) Ponašanje algoritma ovisi o broju susjeda svakog čvora. Ukoliko čvorovi grafa imaju više od dva susjeda, algoritam gubi na stabilnosti. Odnosno, postaje kritičan izbor parametara. Algoritam je moguće poboljšati sagledavanjem svojstava kolonije s jedne strane te sagledavanjem svojstava pojedinog mrava. 2.2.1. Svojstva kolonije Algoritam je moguće poboljšati korištenjem heuristike. Moguće je heuristički mijenjati količinu ostavljenog feromona tako da je ona proporcionalna kvaliteti rješenja koje se generira. Za pronalazak najkraćeg puta koji obilazi svaki čvor samo jednom, mravi moraju imati barem ograničenu memoriju. Svojstva kolonije kao cjeline: 1) Dobra rješenja mogu proizaći samo kao rezultat kolektivne interakcije; 2) Svaki mrav koristi samo privatne informacije i lokalne informacije čvora kojeg posjećuje; 3) Mravi komuniciraju samo indirektno; 4

4) Mravi se sami po sebi ne adaptiraju, naprotiv, mijenjaju način prezentacije problema i percepcije drugih mrava. 2.2.2. Svojstva mrava Svojstva su mrava kao individue: 1) Mrav traži najisplativije rješenje; 2) Svaki mrav ima memoriju M k za pohranu informacija o putu i može ju koristiti: a. za generiranje smislenog rješenja, b. za evaluaciju pronađenog rješenja c. za povratak po istom putu; 3) Mrav k može se pomaknuti u bilo koji čvor j u susjedstvu k N i ; 4) Mravu k može se dodijeliti početno stanje i jedan ili više terminirajućih uvjeta; 5) Mrav stvara rješenje inkrementalno i konstrukcija završava kada je zadovoljen jedan od uvjeta zaustavljanja; 6) Odabir sljedećeg čvora temelji se na vjerojatnosti; 7) Vjerojatnost pojedine odluke mrava temelji se na: a. vrijednostima pohranjenim u strukturi čvora A ij = [ a ij ] (tablica ruta) koja se sastoji od kombinacije lokalnih tragova feromona i vrijednosti heurističke funkcije, b. privatnoj memoriji mrava, c. ograničenjima problema; 8) Pomicanjem iz čvora i u čvor j mrav ažurira trag feromona; 9) Kada je izgradio rješenje mrav se može vratiti istim putem i ažurirati trag feromona na povratku; 10) Kada je izgradio rješenje i vratio se na izvorište, mrav umire i oslobađa resurse. 5

2.3. Primjene optimizacije kolonijom mrava Primjene optimizacije kolonijom mrava obuhvaćaju NP-teške probleme. NPteški problemi su oni optimizacijski problemi kod kojih se složenost ne može izraziti kao polinomska ovisnost. Npr. kod pronalaska minimalnog puta u grafu, graf je eksponencijalno ovisan o dimenziji problema. U ovom slučaju mravi koriste puno manji graf koji je sastavljen od segmenata problema. Za rješenje se nakon mrava može koristiti optimizator za specifičan problem kako bi pronašao lokalni minimum. Optimizaciju kolonijom mrava je moguće koristiti i kod problema najkraćeg puta gdje se graf dinamički mijenja za vrijeme optimizacije. Fizički graf može biti statičan, ali se mogu mijenjati svojstva (cijene spojeva). To je čest slučaj kod rješavanja npr. mrežnih problema. Kolonija je mrava prigodna i za rješavanje različitih problema koji nastaju kod upotrebe distribuirane računalne arhitekture. Dodatno, kako je priroda mrava intrinsično distribuirana, ova metoda ima veliku efektivnost kada se koristi u obliku paralelnog i/ili mrežnog procesiranja. 6

3. Problem trgovačkog putnika (TSP) Problem trgovačkog putnika (engl. Travelling Salesman Problem) predstavlja prvi problem koji je optimiziran kolonijom mrava (Dorigo 1991./92./96.). On je definiran: J c i c j Neka je C skup gradova, a L skup veza koje povezuju elemente od C. S označena je cijena (duljina) između c i i c j, odnosno, duljina između gradova i i j. Problem trgovačkog putnika je optimizacijski problem pronalaska minimalnog Hamiltonova puta na grafu G = ( C, L). Hamiltonov je put zatvorena tura Ψ koja obilazi samo jednom svih J c i c j C N gradova. Njegova je duljina suma svih cijena čvorova od kojih se sastoji. Dodatno, udaljenosti ne moraju biti simetrične. 3.1. Rješavanje TSP-a pomoću ACO Svaki se umjetni mrav, slučajnim odabirom, smješta u neki od gradova. Tijekom svake iteracije mrav odbire sljedeći grad koji će posjetiti. Ovaj se odabir vrši pomoću sljedećeg izraza. Mrav smješten u gradu i odlazi u grad j odabran među još neposjećenim gradovima prema vjerojatnosti gdje je: ( i j) p k ( i, j) α β τ ij d ij α = τ ig d g J k ( i ) 0 p k, vjerojatnost da će mrav k iz grada i otići grad j, ( i) g J skup gradova koje mrav k još nije obišao, k α relativna važnost traga feromona, β relativna važnost udaljenosti među gradovima. Vjerojatnost da će grad biti odabran je funkcija udaljenosti između gradova i količine feromona na putu. Pomoću parametara α i β je također moguće odrediti koji od ova dva faktora ima veću težinu. Jednom kada je ruta završena, odnosno β ig 7

kada mrav posjeti svaki grad točno jednom, vrši se isparavanje feromona i svaki mrav ostavlja feromone po cijeloj ruti. Količina je feromona dana izrazom: gdje vrijedi: τ ( i, j) = p τ ( i, j) + τ ( i, j) τ 1, = L k 0, k, m k = 1 ( i, j) ( i j) k ruta ruta p τ ( i, j) : Umnožak određuje isparavanje feromona. p se naziva konstanta isparavanja. Njezina vrijednost može biti između 1 i 0. Kod nižih vrijednosti feromoni isparavaju brže nego kod viših vrijednosti konstante isparavanja. m k = 1 τ k ( i, j) : Količina je feromona koju ostavlja mrav k definirana s duljinom rute koju je prešao L k. Intuitivno, kraće će rute imati veće količine feromona. 8

4. Programska implementacija Algoritam opisan u poglavlju 3.1 implementiran je u programskom jeziku Visual Basic pomoću razvojne okoline Visual Studio 6.0. Visual Basic je odabran zbog toga što omogućuje relativno brz razvoj programske podrške uz vrlo jednostavnu izgradnju funkcionalnog sučelja. Program se sastoji od jedne forme na kojoj je moguće definirati parametre problema trgovačkog putnika i parametre kolonije mrava. Formu prikazuje slika 3. Slika 3. Sučelje programa za rješavanje problema trgovačkog putnika pomoću optimizacije kolonijom mrava Inicijalno je ponuđeno 50 gradova čiji broj korisnik može promijeniti. Također, moguće je promijeniti i inicijalne vrijednosti za veličinu kolonije (Broj mrava), relativnu važnost traga feromona (alfa), relativnu važnost udaljenosti među gradovima (beta) te konstantu isparavanja (Rho). Nakon što su definirani ovi parametri potrebno je postaviti gradove. Gradovi se postavljaju pritiskom na gumb Postavi gradove. Također, ovisno o odabranoj opciji gradovi se mogu postaviti kružno ili se njihova lokacija može slučajno odabrati. Programski se gradovi inicijalno postavljaju u krug kao što je to prikazano na slici 4. 9

Slika 4. Inicijalno postavljeni gradovi Nakon što su gradovi postavljeni u krug, korisnih može promijeniti njihove lokacije. Slika 5 prikazuje postupak promjene lokacije gradova. Slika 5. Promjena lokacije gradova 10

Kako bi se promijenila lokacija grada, potrebno je pritisnuti desnom tipkom miša na željeni grad. Željeni grad postaje crvene boje i pomiče se zajedno s kursorom. Ponovnim pritiskom desne tipke miša grad se postavlja na trenutnu lokaciju i postaje žute boje. Na ovaj je način moguće promijeniti lokacije svih gradova. Pritiskom na gumb Start pokreće se postupak optimizacije primjenom kolonije mrava. Tijekom optimizacije, u odgovarajuća se polja ispisuje je broj epoha koje su prošle i najbolja vrijednost puta do sada. Postupak optimizacije nema definiranih uvjeta zaustavljanja, no njih je moguće definirati kao npr. broj epoha u kojima ne dolazi do smanjivanja najkraće ukupne duljine puta. Optimizacija se u ovoj implementaciji završava pritiskom na gumb Stop. 4.1. Primjeri Kako bi se ispitao rad optimizacije isprobane su različite konfiguracije gradova. Kod pravilnih konfiguracija (npr. kružno postavljeni gradovi) algoritam konvergira vrlo brzo. Kod nepravilnih konfiguracija, konačno rješenje nije deterministički određeno pa se može dogoditi da dva uzastopna izvršavanja algoritma s istim parametrima nad istom konfiguracijom gradova ne rezultiraju jednakim rješenjima. 4.1.1. Kružno postavljeni gradovi Kod kružno postavljenih gradova nema lokalnih optimuma i zbog toga optimizacija završava vrlo brzo. Elementi matrice feromona su inicijalno svi jednaki (ili 0 ili postavljeni na neku vrijednost), zbog toga vjerojatnost odabira sljedećeg grada inicijalno ovisi samo o udaljenosti među gradovima. Kod rješavanja TSP-a pomoću ACO, uz kružnu konfiguraciju gradova, neisplativo je koristiti veliku koloniju (velik broj mrava), jer bi se kod slijednog izvršavanja samo nepotrebno koristilo procesorsko vrijeme. Slika 6 prikazuje rezultat optimizacije za kružnu konfiguraciju. 11

Slika 6. Rješenje TSP-a s kružno postavljenim gradovima 4.1.2. Nepravilno postavljeni gradovi Kod nepravilno postavljenih gradova ciljna funkcija može imati veći broj lokalnih minimuma i može se dogoditi da algoritam završi u lokalnom optimumu. Naravno, kako optimizacija kolonijom mrava ne predstavlja egzaktnu metodu optimizacije, konačno rješenje ne mora nužno biti optimalno. To je vidljivo iz primjera sa slika 7 i 8. Oba su rješenja dobivena za jednak početni problem i jednake parametre optimizacijskog algoritma. 12

Slika 7. Prvo rješenje TSP-a s nepravilno postavljenim gradovima Slika 8. Drugo rješenje TSP-a s nepravilno postavljenim gradovima 13

5. Usporedba ACO i drugih algoritama za rješavanje TSP-a Dorigo i Gambardella [1] su usporedili optimizaciju kolonijom mrava s nekim drugim heurističkim algoritmima za optimizaciju. Kako njihovi rezultati predstavljaju najopsežniju usporedbu koju je autor pronašao oni su prikazani ovdje. Tablica 1 predstavlja usporedbu optimizacije kolonijom mrava (ACO), genetskih algoritama (GA), evolucijskog programiranja (EP), simuliranog kaljenja (SA) i hibridnu kombinaciju kaljenja i genetskih algoritama (AG) koju su uveli Lin, Kao i Hsu (1993.). Tablica 1. Usporedba različitih heurističkih algoritama za rješavanje poznatih konfiguracija problema trgovačkog putnika (tablica je preuzeta iz [2]) Naziv problema ACO GA EP SA AG Optimalno rješenje Oliver30 420 421 420 424 420 420 (problem 30 (423,74) (N/A) (423,74) (N/A) (N/A) (423,74) gradova) [830] [3 200] [40 000] [24 617] [12 620] Eil50 425 428 426 443 436 425 (problem 50 (427,96) (N/A) (427,86) (N/A) (N/A) (N/A) gradova) [1 830] [25 000] [100 000] [68 512] [28 111] Eil75 535 545 542 580 561 535 (problem 75 (542,31) (N/A) (549,18) (N/A) (N/A) (N/A) gradova) [3 480] [80 000] [325 000] [173 250] [95 506] KroA100 21 282 21 761 N/A N/A N/A 21 282 (problem 100 (21 285,44) (N/A) (N/A) (N/A) (N/A) (N/A) gradova) [4 820] [103 000] [N/A] [N/A] [N/A] U tablici 1 je prikazana je najkraća cjelobrojna duljina rute, ispod je u zagradama prikazana najkraća duljina rute dobivena kao realni broj, a ispod toga, u uglatim je zagradama dan broj ciklusa koji su bili potrebni za pronalazak najkraće cjelobrojne rute. Rezultati za EP su od Fogel (1993.), a oni za genetske algoritme su od Bersini, Oury i Dorigo (1995.) za KroA100 problem i od Whitley, Starkweather i Fuquay (1989.) za Oliver30, Eil50 i Eil75 problem. Rezultati za SA i AG su od Lin, Kao i Hsu (1993.). Specifične definicije problema trgovačkog putnika Oliver30, Eil59, 14

Eil75 i KroA100 su uključene u TSPLIB [2]. Najbolje je rješenje za svaki problem označeno masnim slovima. Zanimljivo je primijetiti kako su složenosti svih algoritama n 2 t, osim za EP čija je složenost nt (gdje je n broj gradova, a t broj generiranih ruta). Iz toga je jasno kako ACO i EP uvelike nadmašuju GA, SA i AG. Moguće je vidjeti kako za prikazane probleme optimizacija kolonijom mrava daje najbolje rezultate. Jedino kod najjednostavnijeg problema s 30 gradova (Oliver30) evolucijsko programiranje daje rezultate koji su jednaki onima od kolonije mrava. 15

6. Zaključak U radu je opisana optimizacija kolonijom mrava koja se pokazala kao vrlo intuitivna i jednostavna, a opet efikasna optimizacijska metoda. Također, definiran je i problem trgovačkog putnika koji još uvijek zaokuplja akademsku zajednicu. Glavni je dio seminarskog rada programska implementacija optimizacije kolonijom mrava za rješavanje problema trgovačkog putnika. Tijekom implementacije autor je seminara došao do zaključka kako ponašanje kolonije mrava uvelike ovisi o tome kako su raspoređeni gradovi. Ukoliko su gradovi pravilno raspoređeni tada algoritam konvergira vrlo brzo, neovisno o broju gradova. U tom je slučaju nepotrebno i neisplativo koristiti velike kolonije. Ukoliko se radi o nepravilnom rasporedu gradova tada optimalnost algoritma postaje upitna i konačno rješenje nije jednoznačno određeno. Unatoč tome, u radu je prikazano kako optimizacija kolonijom mrava daje bolje rezultate od drugih često korištenih heurističkih optimizacijskih metoda. 16

7. Literatura 1. Dorigo, M., Gambardella, L.M., Ant Colonies for the Traveling Salesman Problem, BioSystems, 43:73-81, 1997. 2. TSPLIB: http://www.iwr.uni-heidelberg.de/groups/comopt/software/tsplib95 3. Dorigo, M., Maniezzo, V., Colorni, A., Ant System: Optimization by a colony of cooperating agents, IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41, 1996. 4. http://iridia.ulb.ac.be/~mdorigo/aco/aco.html 17