OPTIMIZACIJA Z ROJEM DELCEV

Size: px
Start display at page:

Download "OPTIMIZACIJA Z ROJEM DELCEV"

Transcription

1 UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: organizacijska informatika OPTIMIZACIJA Z ROJEM DELCEV Mentor: doc. dr. Igor Bernik Kandidat: Matjaž Lipovšek Kranj, december 2005

2 Izjava: "Študent Matjaž Lipovšek izjavljam, da sem avtor tega diplomskega dela, ki sem ga napisal pod mentorstvom dr. Igorja Bernika, docenta." "Skladno s 1. odstavkom 21. člena Zakona o avtorskih in sorodnih pravicah dovoljujem objavo tega diplomskega dela na spletni strani fakultete." Dne Podpis:

3 ZAHVALA Zahvaljujem se mentorju doc. dr. Igorju Berniku za nasvete in izkazano pomoč pri izdelavi diplomskega dela. Zahvalil bi se tudi prof. Tini Preglau za lektoriranje ter kolegu Emilu Polajnarju za pomoč pri grafični obdelavi diplomskega dela. Zahvalo dolgujem tudi Maticu Maziju za mnoge nasvete pri programiranju v programskem jeziku Java.

4 POVZETEK Optimizacija z rojem delcev (ORD) je algoritem, ki je bil prvič predstavljen leta Njegova avtorja sta James Kennedy in Russel C. Eberhart, ki sta navdih za ta algoritem dobila pri opazovanju gibanja ptičjih in ribjih jat. Metoda ORD se uporablja za reševanje optimizacijskih problemov, temelji pa na populaciji, sestavljeni iz določenega števila delcev. Slednji se gibljejo skozi večdimenzionalni prostor, pri tem pa izboljšujejo svoj položaj tako, da upoštevajo bodisi lastne bodisi izkušnje sosednjih delcev. V tem diplomskem delu je podrobneje predstavljena metoda Optimizacija z rojem delcev (ang. Particle swarm optimization - PSO, ORD). Tako se v uvodnem poglavju nahaja opis algoritma, nekaj besed pa je namenjenih tudi primerjavi metode ORD z genetskimi algoritmi in nevronskimi mrežami. V naslednjem poglavju sledi prikaz uporabe optimizacije z rojem delcev (ORD) na primeru iskanja globalnih ekstremov (zveznih) funkcij več spremenljivk. V diplomskem delu je prav tako prikazana uporabnost metode ORD v primeru reševanja diskretnih optimizacijskih problemov, kar je ponazorjeno na primeru Problem trgovskega potnika. V zadnjem poglavju pa je opisan konkreten primer uporabe algoritma ORD, in sicer primer Ekonomičnega pošiljanja električne energije v električno omrežje. KLJUČNE BESEDE optimizacija roj ORD ABSTRACT Particle Swarm Optimization (PSO) is a recently proposed algorithm by James Kennedy and Russell C. Eberhart in 1995, motivated by social behavior of organisms such as bird flocking and fish schooling. PSO as an optimization tool, provides a population-based search procedure in which individuals called particles change their position (state) with time. In a PSO system, particles fly around in a multidimensional search space. During flight, each particle adjusts its position according to its own experience, and according to the experience of a neighboring particle, making use of the best position encountered by itself and its neighbor. In this graduation paper we try to define the method - PSO. In the introduction we describe the algorithm, a few words, however, are also dedicated to the comparison of PSO with genetic algorithms and artificial neural networks. In the following chapter we describe the usage of PSO when searching for global extremes of a (continuous) function with more variables. The paper also includes usefulness of the PSO method when solving discrete optimization problems, which is illustrated by Traveling salesman problem. In the last chapter we describe an example of the algorithm PSO being used, namely the example of Economic load dispatch. KEYWORDS swarm optimization particle swarm optimization PSO

5 Kazalo 1 Uvod 6 2 Optimizacija z rojem delcev Algoritem Metoda ORD in genetski algorimti Nevronske mreže in ORD Kontrola parametrov algoritma ORD Reševanje zveznih optimizacijskih problemov z metodo ORD Iskanje globalnih optimumov funkcij Opis kode Algoritem ORD in izboljšave Reševanje diskretnih optimizacijskih problemov z metodo ORD Diskretni optimizacijski problem Elementi algoritma ORD za reševanje PTP Algoritem ORD za primer PTP Primer reševanja problema TP na konkretnem primeru Reševanje kompleksnih problemov z algoritmom ORD Primer optimizacije ekonomičnega distribuiranja električne energije Formulacija problema Definiranje problema VCORD Rezultati

6 1 Uvod Izraz umetno življenje (artificial life) uporabljamo, kadar raziskujemo sisteme, ki jih je naredil človek in uporabljajo ključne biološke principe živih organizmov. Pogostokrat nas v povezavi z umetnim življenjem zanimata dve stvari: kako lahko z računalniškimi tehnikami proučujemo biološke pojave in kako lahko s pomočjo bioloških pojavov rešimo računske (računalniške) probleme. V pričujočem diplomskem delu se bomo ukvarjali prav s slednjim. V praksi se je do dandanes pojavilo že veliko računalniških tehnik, katerih avtorji so navdih dobili v bioloških sistemih. Tako imamo nevronske mreže, ki predstavljajo poenostavljen model človeških možgan, genetski algoritmi ponazarjajo razvoj človeka ipd. V tem diplomskem delu pa ne izhajamo zgolj iz biološkega sistema, temveč bolj iz socialno - biološkega sistema, kajti zanima nas kolektivno obnašanje individumov, ki so v medsebojni interakciji ter interakciji z okoljem. Temu pojavu pravimo tudi inteligenca roja (swarm intelligence). Na podlagi takoimenovane inteligence roja pa sta se razvili dve metodi: Ant colony optimization (ACO) in Particle swarm optimization (PSO). Za oba algoritma so avtorji dobili navdih pri opazovanju bioloških sistemov; oba pa sta se tudi izkazala kot izredno uporabna za reševanje mnogih optimizacijskih problemov. Cilj dela je podrobneje predstaviti metodo Optimizacija z rojem delcev (ORD) in jo primerjati z nevronskimi mrežami ter genetskimi algoritmi. S pomočjo zgoraj omenjenega algoritma bomo tudi poiskali globalne optimume funkcij dveh spremenljivk, na primeru Problem trgovskega potnika pa bomo prikazali, kako uporabimo metodo v primeru reševanja diskretnih optimizacijskih problemov. Nazadnje si bomo ogledali še, kako lahko s pomočjo metode ORD rešimo problem ekonomičnega distribuiranja električne energije. Pri pisanju naloge smo se oprli na sledečo metodologijo. Uporabili smo deskriptivno metodo; o algoritmu ORD smo skušali zbrati čim več informacij iz posameznih revij, knjig, strokovnih člankov, prispevkov s konferenc, prava zakladnica podatkov pa so bile tudi nekatere internetne strani. Nadalje smo se oprli tudi na metodo simulacije in metodo eksperimenta, saj smo s pomočjo programskega jezika Java algoritem ORD implementirali in tudi prikazali rešitve, ki jih dobimo s pomočjo metode ORD. Matjaž Lipovšek: Optimizacija z rojem delcev stran 6 od 40

7 2 Optimizacija z rojem delcev Optimizacija z rojem delcev (ORD) spada med stohastične optimizacijske tehnike, katere temelj predstavlja neka določena populacija. Začetnika te metode sta dr. Russel C. Eberhart in James Kennedy, ki sta navdih za tovrstni algoritem dobila v živalskem svetu, in sicer z natančnim opazovanjem in proučevanjem usklajenega gibanja roja žuželk, ptičje ter ribje jate ipd [1]. Algoritem ORD je v marsičem podoben razvojnim računalniškim tehnikam, kot so naprimer genetski algoritmi (GA)[1]. V sistemu imamo na začetku populacijo nekih elementov oziroma delcev, ki iščejo optimum tako, da sproti izboljšujejo svoj položaj. Za razliko od genetskih algoritmov pa pri ORD nimamo operacij, kot so križanje ali mutacija. Pri ORD se delci gibljejo skozi prostor, tako da sledijo trenutno optimalno lociranim delcem. Vsak delec se giblje v problemskem prostoru po poti, določeni s koordinatami, ki so v povezavi z najboljšo rešitvijo (položajem), ki jo je delec dosegel do tega trenutka. Ta položaj si tudi zapomnimo in ga imenujemo pbest (pbest - personal best oz. najboljši osebni položaj). Najboljšo lokacijo, ki jo je zasedel katerikoli izmed delcev, ki se nahajajo v neposredni soseščini imenujemo lbest (lbest - local best oz. lokalni optimum), potrebujemo pa jo takrat, kadar uporabljamo lokalno verzijo algoritma [2]. V primeru, ko rešujemo optimizacijski problem z globalno verzijo algoritma ORD, pa potrebujemo vrednost gbest (gbest - global best oz. globalni optimum), ki predstavlja najboljšo vrednost oziroma položaj delca, če gledamo celotno populacijo kot topološke sosede delca. Koncept ORD je takšen, da na vsakem koraku spremenimo hitrost vsakega delca nasproti pbest in lbest oziroma gbest lokaciji. Pospeševanje oziroma spreminjanje hitrosti je naključno, zato si pri simulaciji pomagamo z generatorjem naključnih števil. V zadnjih nekaj letih se je ORD izkazala kot zelo uporabna metoda na mnogih raziskovalnih in aplikacijskih področjih. Razne demonstracije so pokazale, da daje ORD celo boljše rezultate na hitrejši in cenejši način kot pa nekatere druge metode. Privlačnost algoritma ORD pa se kaže tudi v majhnem številu parametrov, ki jih je potrebno vnaprej nastavit. 2.1 Algoritem Kot je bilo omenjeno že prej, lahko s ORD simuliramo gibanje jate ptic. Predstavljajmo si sledeči scenarij: skupina ptic (jata) išče hrano na nekem področju. Na tem področju (predpostavimo) se nahaja zgolj en košček hrane. Kakšna je najboljša strategija, da se hrano čimprej najde? Učinkovit je prav gotovo način, da vse ptice sledijo tisti, ki je (prva) opazila hrano. ORD se zgleduje in uči po tem primeru, zaključke pa uporabi pri reševanju optimizacijskih problemov. V ORD-ju je vsaka posamezna rešitev pravzaprav ptica v prostoru, kjer se išče hrana. Imenujemo jo tudi delec. Vsak delec ima svoj položaj, določimo pa mu tudi sposobnost (fitness value), ki jo izračunamo s pomočjo funkcije sposobnosti (fitness function), katere optimum pravzaprav iščemo. Poleg tega pa imajo delci še hitrost, ki usmerja gibanje delcev. Slednji letijo skozi prostor tako, da sledijo trenutno optimalno lociranim delcem. ORD inicializiramo s skupino naključnih delcev (rešitev) in potem iščemo optimum s postopnim obnavljanjem oziroma posodabljanjem generacije (serije). Ob vsaki ponovitvi se položaj posameznega delca popravi oziroma posodobi glede na dve najboljši vrednosti. Matjaž Lipovšek: Optimizacija z rojem delcev stran 7 od 40

8 Prva je najboljša rešitev, ki jo je delec dosegel do sedaj. Imenujemo jo pbest, druga pa je najboljša vrednost, ki jo je do sedaj dosegel katerikoli delec iz celotne populacije. Imenujmo jo gbest. V kolikor pa gledamo delec skupaj z njegovimi neposrednimi sosedi kot del populacije (lokalna verzija algoritma), pa je najboljša vrednost lokalno najboljša in jo zato označimo z lbest. Potem, ko smo našli dve najboljši vrednosti, delec spremeni svojo hitrost in pozicijo po sledečih enačbah [3]: v[] = v[] + c1 rand() (pbest[] present[]) + c2 rand() (gbest[] present[]) (1) present[] = present[] + v[] (2) v[] je hitrost delca, present[] je trenutna rešitev (delec). Vrednosti pbest[] and gbest[] sta definirani kot smo povedali že prej, rand() pa je naključna številka med (0,1). Konstanti c1 in c2 sta faktorja učenja, ponavadi velja c1 = c2 = 2. V splošnem bi koda za algoritem izgledala nekako takole: Za vsak delec Inicializiraj delec END Do za vsak delec izraunaj sposobost delca If sposobost delca boljsa kot najboljsa sposobnost delca (pbest) v zgodovini postavi trenutno vrednost kot nov pbest End Med vsemi delci izberi delec z najboljso sposobnostjo (gbest) Za vsak delec Izracunaj hitrost delca po enabi (1) Posodobi polozaj delca po enabi (2) End While maximalno stevilo iteracij or najvecja dopustna napaka ni dosezena Kot lahko vidimo iz zgornje psevdo kode, moramo najprej inicializirati delce, kar pomeni: vsakemu delcu določi začetni položaj in začetno hitrost. Sledi zanka, ki jo izvajamo toliko časa, dokler ne dosežemo bodisi maksimalnega števila ponovitev zanke bodisi maksimalne dopustne napake (kriterija zaustavitve zanke določimo sami). V tej zanki najprej izračunamo sposobnosti posameznih delcev, takoj zatem pa še posamezne vrednosti pbest za sleherni delec. Nato sledi še iskanje delca s trenutno najboljšim položajem, s pomočjo katerega potem v nadaljevanju izračunamo nove položaje in hitrosti posameznih delcev. Pri tem omenimo še sledeče: hitrosti delcev so v vsaki smeri omejene s konstanto Vmax; parameter, ki ga izbere uporabnik. Če bi povečevanje hitrosti povzročilo prekoračitev te konstante v katerikoli smeri, hitrost omejimo s to konstanto. Matjaž Lipovšek: Optimizacija z rojem delcev stran 8 od 40

9 2.2 Metoda ORD in genetski algorimti Večina razvojnih tehnik ima sledečo proceduro: 1. naključno generiranje začetne populacije 2. računanje sposobnosti za vsak subjekt, ki bo imela neposreden vpliv na razdaljo do optimuma 3. reprodukcija populacije na osnovi sposobnosti 4. ko dosežemo zahteve, se ustavimo, sicer se vrnemo na točko 2 Iz postopka lahko opazimo, da ima ORD veliko skupnih točk z genetskimi algoritmi. Obe metodi se začneta z generiranjem naključne populacije in pri obeh računamo sposobnost za ovrednotenje populacije. Nadalje, oba algoritma na vsakem koraku posodabljata populacijo in iščeta optimum s pomočjo generiranja naključnih vrednosti. Obema tehnikama pa je skupno tudi to, da ne garantirata končnega uspeha [4]. Bistvena razlika med obema postopkoma je prav gotovo ta, da pri ORD nimamo genetskih operatorjev, kot sta križanje in mutacija. Delci sami posodabljajo svoj položaj glede na hitrost, imajo pa tudi spomin, ki je pomemben za algoritem. V primerjavi z genetskimi algoritmi se tudi informacija, ki je del mehanizma ORD, bistveno razlikuje. Pri genetskih algoritmih kromosomi delijo informacije z drugimi, zato se celotna populacija premika kot ena skupina proti optimalnemu področju, medtem ko v ORD-ju samo rešitev gbest (ali lbest) daje informacijo drugim. Torej lahko trdimo, da gre za enosmerno informacijo. Celoten razvoj oziroma sistem išče najboljšo rešitev; torej vsi delci algoritma ORD težijo k temu, da čim prej konvergirajo k najboljši rešitvi, gledano tudi lokalno. 2.3 Nevronske mreže in ORD Umetne nevronske mreže (artificial neural network) so poenostavljen model človeških možganov, takoimenovan back propagation algoritem pa je eden najpopularnejših algoritmov za treniranje umetnih nevronski mrež. Večina dela, ko govorimo o razvoju nevronskih mrež, je osredotočeno na omrežna težišča (network weights) in topološke strukture. Ponavadi so težišča zakodirana kot kromosomi pri genetskih algoritmih, izbira funkcije sposobnosti pa je odisna od raziskovalnih ciljev. Prednosti nevronskih mrež v primerjavi z ORD so, da jih lahko uporabimo tudi v primerih, ko imamo opravek z nediferenciabilnimi PE funkcijami, medtem ko se slabosti pokažejo predvsem v dveh točkah: delovanje ni vedno uspešno pri reševanju posameznih problemov predstavitev težišč je zahtevna in genetski operatorji morajo biti skrbno izbrani ali razviti V zadnjih letih lahko zasledimo kar nekaj člankov, ki govorijo o tem, da lahko backpropagation algoritem v nevronskih mrežah zamenjamo z ORD. Slednja se je pokazala kot zelo obetajoča metoda, saj so s pomočjo ORD hitreje prišli do boljših rezultatov v večini primerov. Z algoritmom ORD se izognemo tudi mnogim težavam, na katere bi sicer naleteli, če bi uporabljali genetske algoritme. Matjaž Lipovšek: Optimizacija z rojem delcev stran 9 od 40

10 2.4 Kontrola parametrov algoritma ORD Ko se lotimo reševanja optimizacijskih problemov z ORD, moramo paziti na dva ključna koraka. Prvi je predstavitev rešitve in funkcije sposobnosti. Ena izmed prednosti metode ORD je, da jemlje realna števila kot delce; pri genetskih algoritmih so namreč potrebne pretvorbe v binarni zapis ali pa je potrebno uporabiti posebne genetske operatorje. Recimo, da želimo poiskati rešitve za funkcijo sposobnosti f(x) = x x x 2 3, naš delec pa naj bo določen z urejeno trojico (x 1, x 2, x 3 ). Potem lahko uporabimo standardno metodo za iskanje optimuma. Iskanje je ponavljajoči proces, ustavimo pa se, ko dosežemo bodisi maksimalno število iteracij, bodisi smo zadovoljili minimalni pogoj za napako. Če želimo reševati optimizacijske probleme z metodo ORD, moramo najprej poskrbeti za nastavitev parametrov. Ker pa le-teh ni veliko, nam to opravilo ne vzame veliko časa. V nadaljevanju sledi seznam prej omenjenih parametrov, zapisane pa so tudi vrednosti, ki jih ponavadi zavzamejo. 1. Število delcev: običajne vrednosti se nahajajo med 20 in 40. Za večino problemov, ki jih rešujemo, je ponavadi dovolj, da za soliden rezultat vzamemo zgolj 10 delcev. Za nekatere zahtevnejše probleme lahko poizkusimo tudi z 100 in več delci. 2. Dimenzije delcev: vrednosti so odvisne od problema, ki ga rešujemo. 3. Domet delcev: vrednosti so prav tako določene s problemom, ki ga rešujemo. Lahko določimo različne vrednosti za različne dimenzije posameznih delcev. 4. Vmax: določa maksimalno spremembo, ki jo lahko naredi delec med eno ponovitvijo. Ponavadi določimo domet delca skupaj s hitrostjo. Naprimer: imamo delec (x 1, x 2, x 3 ) v tridimenzionalnem prostoru, prvo koordinato omejimo z x 1 [ 10, 10], hitrost pa z V max = Faktorji učenja: običajno konstantama c1 in c2 priredimo vrednost 2. Uporabljajo se tudi druge vrednosti, ponavadi pa velja, da je c1 enako c2, vrednosti pa se nahajajo na intervalu [0,4]. 6. Pogoj zaustavitve: maksimalno število ponovitev, ki jih izvede ORD in minimalne zahteve za napako. 7. Globalna verzija in lokalna verzija: globalna verzija je hitrejša, a lahko se zgodi, da bo konvergirala k lokalnemu optimumu pri reševanju določenega problema. Lokalna verzija pa je nekoliko počasnejša, vendar pa je zelo malo verjetno, da se bo ustavila pri lokalnem optimumu. Obstaja pa tudi faktor vztrajnostna utež, ki ga uporabljamo, kadar imamo opravka z modificirano verzijo algoritma ORD. V tem diplomskem delu slednja ni opisana, je pa prikazanih nekaj rezultatov, kadar iščemo optimume s to metodo (poglavje 4.2). Matjaž Lipovšek: Optimizacija z rojem delcev stran 10 od 40

11 3 Reševanje zveznih optimizacijskih problemov z metodo ORD 3.1 Iskanje globalnih optimumov funkcij V tem poglavju si bomo na primeru dveh standardnih testnih funkcij (takoimenovanih benchmarking functions) ogledali, kako lahko s pomočjo osnovne verzije algoritma ORD poiščemo njun globalni optimum (bodisi minimum bodisi maximum). Kot prvo funkcijo vzemimo takoimenovano sferno funkcijo, katere enačba se v splošnem glasi: n f 1 (x) = x 2 i = x x x x 2 n ; x R n (3) i=1 V kolikor pa v enačbi (3) določimo n = 2, dobimo preprosto funkcijo dveh spremenljivk, katere graf imenujemo paraboloid: 2 f 1 (x) = x 2 i = x2 1 + x2 2 ; x R2 oziroma f(x, y) = x 2 + y 2 ; x, y R (4) i=1 Graf zgornje funkcije prikazuje slika 1: Slika 1: Paraboloid Slika 2: Jato predstavimo z množico točk Kot lahko razberemo iz slike, ima funkcija globalni optimum (natančneje globalni miminum) v točki (0,0,0), kar pomeni, da funkcija pri x = 0 ter y = 0 zavzame najmanjšo vrednost, in sicer vrednost 0. Sedaj pa še poglejmo, kako bomo poiskali globalni optimum minimum funkcije s pomočjo algoritma ORD. Kot lahko razberemo iz funkcijskega predpisa f(x, y) = x 2 + y 2, vidimo, da je funkcija f povsod pozitivna oziroma velja f(x, y) 0 za vsak x, y R. Na sliki to pomeni, da se graf funkcije f vedno nahaja nad ravnino z = 0 (ravnina xy), torej bo smiselno pri tej funkciji poiskati globalni minimum. Sam postopek iskanja optimuma poteka takole. Najprej v ravnini xy generiramo določeno število točk - delcev, ki predstavljajo neko jato ptic (slika 2). Vsaka točka T i (ki predstavlja delec oziroma en organizem jate) ima dve koordinati, in sicer koordinato x i (abscisa) ter koordinato y i Matjaž Lipovšek: Optimizacija z rojem delcev stran 11 od 40

12 (ordinata), kar lahko krajše zapišemo tudi kot T i (x i, y i ). Preden jato prvič premaknemo, moramo za vsako točko (delec) posebej določiti vrednost funkcije sposobnosti, ki je v tem primeru razdalja od točke T i (x i, y i, z i ), ki leži na paraboloidu, do točke T i (x i, y i ), ki leži na ravnini xy in je pravzaprav pravokotna projekcija točke T i na omenjeno ravnino. Za izračun razdalje dveh točk v prostoru uporabimo formulo: d(t 1 (x 1, y 1, z 1 ), T 2 (x 2, y 2, z 2 )) = V našem primeru je torej razdalja med točkama T in T enaka (x 1 x 2 ) 2 + (y 1 y 2 ) 2 + (z 1 z 2 ) 2 (5) d(t i (x i, y i, z i ), T i (x i, y i, 0)) = (x i x i ) 2 + (y i y i ) 2 + (z i 0) 2 = z i. (6) Vidimo, da je v našem primeru razdalja med točkama oziroma vrednost funkcije sposobnosti kar vrednost funkcije f(x, y) = x 2 + y 2 v točki T i (x i, y i ). Glede na to, da iščemo globalni minimum funkcije (katere graf oziroma ploskev leži nad xy ravnino), so za nas najbolj pomembni delci, ki imajo najmanjšo vrednost funkcije sposobnosti; torej najmanšo sposobnost. Ko izračunamo vse sposobnosti posameznih delcev, lahko določimo še vrednosti spremenljivk pbest in gbest, ki jih potrebujemo za orientacijo pri naslednjem premiku jate. Podobno ravnamo v primeru iskanja optimumov naslednje funkcije. Pod imenom Alpska funkcija razumemo vsako funkcijo, ki je podana s predpisom n f 2 (x) = sin(x i ) x i = sin(x 1 ) sin(x 2 )... sin(x n ) x 1 x 2... x n ; x R n (7) i=1 V kolikor v enačbi (7) vzamemo za n = 2, dobimo funkcijo dveh spremenljivk f 2 (x) = sin(x 1 ) sin(x 2 ) x 1 x 2 oziroma f(x, y) = sin(x) sin(y) x y (8) Graf funkcije prikazuje slika Slika 3: Alpska funkcija Matjaž Lipovšek: Optimizacija z rojem delcev stran 12 od 40

13 Alpska funkcija ima na svojem definicijskem območju ([0, ] [0, ] [, 0] [, 0]) pravzaprav neskončno mnogo lokalnih optimumov (tako minimumov kot maksimumov). V našem primeru bomo zato iskali globalni maksimum Alpske funkcije f(x, y), pri čemer smo privzeli, da velja x, y [0, 10]; torej smo za domeno funkcije vzeli območje [0, 10] [0, 10] (slika 3). Pri teh pogojih ima alpska funkcija globalni maksimum v točki (7,91,7,91,7,8), kar pomeni, da je vrednost funkcije pri x = 7, 91705, y = 7, največja in tam njena vrednost znaša 7, V nadaljevanju sledita tabeli rezultatov iskanja globalnih optimumov sferne in alpske funkcije, podrobneje pa je opisana tudi koda, s katero smo implementirali algoritem ORD v programskem jeziku Java. meritev št. korakov x i (abscisa optimuma) y i (ordinata optimuma) vrednost funkcije E E E E E E E-5 Tabela 1: Iskanje globalnega mimimuma sferne funkcije. Kot lahko vidimo iz tabele 4, algoritem ORD vsakič konvergira k globalnemu optimumu (0, 0, 0) pri tem pa potrebuje povprečno 66,9 korakov, če postavimo, da je minimalni kriterij za napako enak 0, 01. meritev št. korakov x i (abscisa optimuma) y i (ordinata optimuma) vrednost funkcije Tabela 2: Iskanje globalnega maksimuma alpske funkcije na območju [0, 10] 2. Tabela 2 prikazuje rezultate iskanja globalnega optimuma alpske funkcije. Metoda ORD vedno konvergira h globalnemu optimumu (7.91, 7.91, 7.88), pri tem pa povprečno porabi 167,4 korakov ob pogoju, da znaša minimalni kriterij za ustavitev 0, 01. Matjaž Lipovšek: Optimizacija z rojem delcev stran 13 od 40

14 3.2 Opis kode Pogledali si bomo tudi, kako smo algoritem ORD (prilagojen iskanju globalnih ekstremov alpske in sferne funkcije) dejansko implementirali s pomočjo programskega jezika Java. Optimizacija.java Osrednji del programa predstavlja razred Optimizacija. Ker je program namenjen iskanju globalnih ekstremov funkcij, je potrebno najprej (vrstica 3) določiti dimenzijo oziroma število spremenljivk funkcije. Nadalje se odločimo, za katero funkcijo bomo skušali poiskati globalni optimum (vrstici 4, 5); obstoječi program omogoča iskanje ekstremov za sferno in alpsko funkcijo. V šesti vrstici določimo parametre za generiranje jate, nato v sedmi pokličemo funkcijo, ki določi začetne pozicije in hitrosti posameznih delcev. Nazadnje (vrstica 8) dokončno sprožimo dejanski algoritem iskanja. Sledijo le še vrstice, ki poskrbijo za izpis rezultatov. 1.public class Optimizacija { 2. public static void main(string[] args) { 3. int dimenzija = 2; 4. //KriterijskaFunkcija kriterijskafunkcija = new AlpskaFunkcija(); 5. KriterijskaFunkcija kriterijskafunkcija = new Paraboloid(dimenzija); 6. Jata mojajata = new Jata(10, dimenzija, kriterijskafunkcija); 7. mojajata.postavinakljucno(1, 2); 8. mojajata.isci(0.01); 9. System.out.println(" "); 10. System.out.println("Optimum:"); 11. System.out.println(mojaJata.najboljsi().trenutnaPozicija()); 12. System.out.println("optimum: " + mojajata.najboljsi().trenutnavrednost()); 13. System.out.println("Stevilo korakov: " + mojajata.koraki()); } } KriterijskaFunkcija.java S pomočjo abstraktnega razreda KriterijskaFunkcija podamo programu funkcijo, katere optimum iščemo, in sicer tako, da iz razreda KriterijskaFunkcija izpeljemo konkreten podrazred, ki implementira potrebne funkcije. V našem programu imamo dva taka konkretna razreda: to sta AlpskaFunkcija in Paraboloid. Vsak od podrazredov mora implementirati funkciji vrednost in iscemom inimum. Funkcija vrednost je bistvo kriterijske funkcije: izračuna vrednost te funkcije v dani točki. Funkcija iscemom inimum mora vračati true, če naj algoritem poišče minimum funkcije, in f alse, če naj išče njen maksimum. Vsak podrazred ima tudi možnost definirati svoje definicijsko območje, in sicer tako, da prepiše funkcijo popravi, v kateri dani vektor, če le-ta leži izven definicijskega območja, popravi tako, da bo ležal v tem območju. Nadalje lahko podrazredi zaradi boljše konvergence prepišejo katerega od parametrov algoritma (faktor vztrajnosti, utež osebnega optimuma, utež globalnega optimuma ter faktor preplaha). Matjaž Lipovšek: Optimizacija z rojem delcev stran 14 od 40

15 1. public abstract class KriterijskaFunkcija { 2. public abstract double vrednost(vektor v); 3. public abstract boolean iscemominimum(); public boolean boljsa(double najboljsadoslej, double novavrednost) { 6. if (iscemominimum()) { 7. return novavrednost < najboljsadoslej; 8. } else { 9. return novavrednost > najboljsadoslej; 10. } 11. } 12. public boolean boljsi(posameznik stari, Posameznik novi) { 13. if (stari == null) { 14. return true; 15. } 16. if (novi == null) { 17. return false; 18. } 19. return boljsa(stari.optimalnavrednost(),novi.optimalnavrednost()); 20. } 21. public void popravi(vektor v) { 22. } 23. public double faktorvztrajnosti() { 24. return 1; 25. } 26. public double utezosebnegaoptimuma() { 27. return 2; 28. } 29. public double utezglobalnegaoptimuma() { 30. return 2; 31. } 32. public double faktorpreplaha() { 33. return 1; 34. } 35.} AlpskaFunkcija.java V razredu AlpskaFunkcija najprej določimo konstante KOORD_MAX in KOORD_MIN; pri iskanju optimumov alpske funkcije se namreč omejimo na območje [0, 10] [0, 10]. V nadaljevanju naletimo na funkcijo vrednost, ki dobi za parameter vektor (točko), vrne pa vrednost, ki jo zasede alpska funkcija v tej točki. Sledi funkcija iscemominimum, s katero določimo ali bomo iskali globalni minimum (return true) ali globalni maksimum (return false). V 17. vrstici se nahaja funkcija popravi, ki popravi položaj delca, v kolikor se ta nahaja izven definicijskega območja funkcije. V nadaljevanju sledi določitev konstant C1 in C2 iz enačbe (2), dodan pa je tudi faktor vztrajnosti, ki pove, v kolikšni meri upoštevamo trenutno hitrost pri izračunu nove hitrosti. V algoritem pa je vključen tudi faktor preplaha, s katerim se izognemo morebitnemu konvergiranju jate k lokalnemu optimumu. Matjaž Lipovšek: Optimizacija z rojem delcev stran 15 od 40

16 1. public class AlpskaFunkcija extends KriterijskaFunkcija { 2. public static final int KOORD_MAX = 10; 3. public static final int KOORD_MIN = 0; public double vrednost(vektor v) { 6. double alp = 1; 7. for (int i = 0; i < v.dimenzija(); i++) { 8. alp *= Math.sin(v.koordinata(i)) * Math.sqrt(v.koordinata(i)); 9. } 10. return alp; 11. } public boolean iscemominimum() { 14. return false; 15. } public void popravi(vektor v) { 18. for (int i = 0; i < v.dimenzija(); i++) { 19. if (v.koordinata(i) < KOORD_MIN) { 20. v.nastavikoordinato(i, KOORD_MIN); 21. } 22. if (v.koordinata(i) > KOORD_MAX) { 23. v.nastavikoordinato(i, KOORD_MAX); 24. } 25. } 26. } 27. public double utezosebnegaoptimuma() { 28. return 1; 29. } 30. public double utezglobalnegaoptimuma() { 31. return 1.8; 32. } 33. public double faktorvztrajnosti() { 34. return 0.8; 35. } 36. public double faktorpreplaha() { 37. return 0.7; 38. } 39. } Paraboloid.java Paraboloid je prva konkretna implentacija kriterijske funkcije. Njegovi privatni spremenljivki določata točko, v kateri bo dosežen minimum (spremenljivka minimum) in vrednost v minimumu (spremenljivka vrednost). Vrednost v dani točki se potem izračuna kot skalarni produkt vektorja od točke minimuma do te dane točke s samim seboj, povečan za vrednost v minimumu. Kontstruktor funkcije Paraboloid postavi točko minimuma v izhodišče, vrednost v minimumu pa na 0. Razred Paraboloid tudi določi, naj algoritem išče lokalni minimum (lokalnih maksimumov ta funkcija seveda nima) ter določi vse štiri parametre algoritma. Matjaž Lipovšek: Optimizacija z rojem delcev stran 16 od 40

17 1. public class Paraboloid extends KriterijskaFunkcija { 2. private Vektor minimum; 3. private double vrednost = 0; public Paraboloid(int dimenzija) { 6. minimum = new Vektor(dimenzija); 7. System.out.println("minimum = " + minimum); 8. System.out.println("vrednost = " + vrednost); 9. } 10. public double vrednost(vektor v) { 11. Vektor razlika = v.minus(minimum); 12. return razlika.skalarno(razlika) + vrednost; 13. } 14. public boolean iscemominimum() { 15. return true; 16. } 17. public double utezosebnegaoptimuma() { 18. return 0.7; 19. } 20. public double utezglobalnegaoptimuma() { 21. return 1; 22. } 23. public double faktorvztrajnosti() { 24. return 0.8; 25. } 26. public double faktorpreplaha() { 27. return 0.1; 28. } 29.} Posameznik.java Razred Posameznik predstavlja posameznika (delec, ptico) v jati. Njegove privatne spremenljivke povedo, da vsak posameznik pozna svojo pozicijo, trenutno vrednost kriterijske funkcije, trenutno hitrost, točko, v kateri je dosegel do zdaj optimalno vrednost kriterijske funkcije, to optimalno vrednost (osebni optimum), pozna pa tudi samo kriterijsko funkcijo. Konstruktor le inicializira vrednosti teh spremenljivk. Pomembni sta funkciji postavin a in premaknise. Funkcija premaknise po formuli (1) izračuna novo hitrost tega posameznika (za ta izračun potrebuje pozicijo trenutno optimalnega posameznika, ki jo dobi kot parameter), nato pa po formuli (2) njegovo novo pozicijo. Funkcija premaknise poskrbi, da se posameznik premakne na to novo pozicijo: najprej da možnost kriterijski funkciji, da to pozicijo, če leži izven definicijskega območja, popravi; nato posameznika premakne v dano točko in si, če je dosežen nov osebni optimum, le-tega zapomni. Matjaž Lipovšek: Optimizacija z rojem delcev stran 17 od 40

18 1.public class Posameznik { 2. private Vektor trenutnapozicija; 3. private double trenutnavrednost; 4. private Vektor hitrost; 5. private Vektor mojoptimum; 6. private double optimalnavrednost; 7. private KriterijskaFunkcija kriterijskafunkcija; public Posameznik(KriterijskaFunkcija kritfun, Vektor zacetnapozicija, Vektor zacetnahitrost) { 10. this.kriterijskafunkcija = kritfun; 11. optimalnavrednost = kriterijskafunkcija.iscemominimum() 12.? Double.POSITIVE_INFINITY 13. : Double.NEGATIVE_INFINITY; 14. postavina(zacetnapozicija); 15. this.hitrost = zacetnahitrost; 16. } 17. private void postavina(vektor pozicija) { 18. kriterijskafunkcija.popravi(pozicija); 19. trenutnapozicija = pozicija; 20. trenutnavrednost = kriterijskafunkcija.vrednost(trenutnapozicija); 21. if (kriterijskafunkcija.boljsa(optimalnavrednost,trenutnavrednost)) { 22. mojoptimum = trenutnapozicija; 23. optimalnavrednost = trenutnavrednost; 24. } 25. } 26. public Vektor trenutnapozicija() { 27. return trenutnapozicija; 28. } 29. public void premaknise(vektor skupnitrenutnioptimum) { 30. hitrost = hitrost.pomnozi(kriterijskafunkcija.faktorvztrajnosti()).plus(mojoptimum.minus(trenutnapozicija).pomnozi(kriterijskafunkcija. utezosebnegaoptimuma() * Math.random())).plus(skupniTrenutniOptimum.minus(trenutnaPozicija).pomnozi(kriterijskaFunkcija. utezglobalnegaoptimuma() * Math.random())); 31. postavina(trenutnapozicija.plus(hitrost)); 32. } 33. public double optimalnavrednost() { 34. return optimalnavrednost; 35. } 36. public double trenutnavrednost() { 37. return trenutnavrednost; 38. } 39.} Jata.java Razred Jata predstavlja jato posameznikov. Njene privatne spremenljivke odsevajo idejo, da jata v vsakem trenutku ve, kateri so njeni posamezniki, kakšna je kriterijska funkcij ter kateri od posameznikov je v danem trenutku v najboljši poziciji. Jata tudi Matjaž Lipovšek: Optimizacija z rojem delcev stran 18 od 40

19 šteje časovne korake, ki jih je naredila, in vsebuje podatek o dimenziji prostora, v katerem iščemo optimum. Konstruktor inicializira te vrednosti. Funkcija postavin akljucno posameznike naključno razporedi po večdimenzionalni kocki, koordinate katere tečejo od min do max. Naključno nastavi tudi začetne hitrosti delcev v jati: te bodo tem večje, čim večji je faktor preplaha. Javna funkcija isci sproži iskanje: koraki se izvajajo, dokler je jata predaleč od optimuma; kaj pomeni predaleč, določa parameter toleranca. Funkcija jev Optimumu pove, ali je jata dovolj blizu optimuma glede na dano toleranco. Odločili smo se za naslednji kriterij, ki da relativno dobre rezultate: jata je v optimumu, ko so vrednosti vseh njenih posameznikov dovolj blizu vrednosti trenutno optimalnega posameznika (dovolj blizu tu pomeni, da je razlika vrednosti manjša od tolerance). Funkcija korak predstavlja korak iteracije: izračuna, kateri posameznik je trenutno najboljši, nato pa zahteva od vseh posameznikov, da se na podlagi tega podatka in lastnih podatkov premaknejo na naslednjo točko. Funkcija izracunajskupnioptimum preprosto pregleda vse posameznike in ugotovi, kateri je trenutno v optimumu. 1.public class Jata { 2. private Posameznik[] posamezniki; 3. private KriterijskaFunkcija kriterijskafunkcija; 4. private Posameznik trenutninajboljsi; // global best private int nkorakov; 7. private int dimenzija; public Jata(int nposameznikov, int dimenzija, KriterijskaFunkcija kriterijskafunkcija) { 10. this.dimenzija = dimenzija; 11. this.kriterijskafunkcija = kriterijskafunkcija; 12. this.posamezniki = new Posameznik[nPosameznikov]; 13. } 14. public int nposameznikov() { 15. return posamezniki.length; 16. } 17. public Posameznik posameznik(int i) { 18. return posamezniki[i]; 19. } 20. public void postavinakljucno(double min, double max) { 21. for (int i = 0; i < posamezniki.length; i++) { 22. posamezniki[i] = new Posameznik( 23. kriterijskafunkcija, 24. Vektor.nakljucniVektor(dimenzija, min, max), 25. Vektor.nakljucniVektor(dimenzija, min * kriterijskafunkcija.faktorpreplaha(), max * kriterijskafunkcija.faktorpreplaha())); 26. } 27. } 28. public void isci(double toleranca) { 29. while (!jevoptimumu(toleranca)) { 30. System.out.println(this); 31. korak(); 32. } 33. System.out.println(this); Matjaž Lipovšek: Optimizacija z rojem delcev stran 19 od 40

20 34. } 35. private boolean jevoptimumu(double toleranca) { 36. if (trenutninajboljsi == null) { 37. return false; 39. } for (int i = 0; i < posamezniki.length; i++) { 42. Posameznik posameznik = posamezniki[i]; 43. //if (posameznik.trenutnapozicija().razdalja (trenutninajboljsi.trenutnapozicija()) > toleranca) { 44. if (Math.abs(posameznik.trenutnaVrednost() - trenutninajboljsi.trenutnavrednost()) > toleranca) { 45. return false; 46. } 47. } 48. return true; 49. } 50. private void korak() { 51. nkorakov++; 52. izracunajskupnioptimum(); 53. for (int i = 0; i < posamezniki.length; i++) { 54. posamezniki[i].premaknise(trenutninajboljsi.trenutnapozicija()); 55. } 56. } 57. private void izracunajskupnioptimum() { 58. for (int i = 0; i < posamezniki.length; i++) { 59. if (kriterijskafunkcija.boljsi(trenutninajboljsi,posamezniki[i])) { 60. trenutninajboljsi = posamezniki[i]; 61. } 62. } 63. } 64. public Posameznik najboljsi() { 65. return trenutninajboljsi; 66. } 67. public String tostring() { 68. StringBuffer buff = new StringBuffer(); 69. for (int i = 0; i < posamezniki.length; i++) { 70. if (i > 0) { 71. buff.append( \t ); 72. } 73. buff.append(posamezniki[i].trenutnapozicija()); 74. } 75. return buff.tostring(); 76. } 77. public int koraki() { 78. return nkorakov; 79. } } Matjaž Lipovšek: Optimizacija z rojem delcev stran 20 od 40

21 Vektor.java V sledečem razredu se najprej nahaja konstruktor V ektor, ki dobi za parameter dimenzijo, skonstruira pa tabelo koordinate, pri čemer vrednost vsake posamezne koordinate postavi na 0. Sledi konstruktor V ektor, ki za parameter dobi tabelo koordinate, skonstruira pa vektor s podanimi koordinatami. V nadaljevanju sledi funkcija naključniv ektor, ki zgenerira potrebno število koordinat, nato pa s pomočjo konstruktorja Vektor vrne naključno zgeneriran vektor. Sledijo implementacije funkcij dimenzija, koordinata in dolzina, ki jih uporabimo, kadar potrebujemo dimenzijo, i-to koordinato vektorja ali pa njegovo dolžino. V nadaljevanju se nahajajo funkcije skalarno, minus in plus, ki nam vrnejo ali skalarni produkt, razliko ali pa vsoto dveh vektorjev. Pri implementaciji slednjih funkcij uporabljamo tudi funkcijo preveridimenzijo, s katero preverimo ali lahko vektorja seštejemo, odštejemo ali množimo. Sledijo še funkcije pomnoži (s katero vektor oziroma njegove koordinate pomnožimo s konstanto, funkcija nakljucno, ki generira naključno število med min in max ter razdalja, ki vrne razdaljo med dvema točkama. Nazadnje omenimo še funkcijo tostring, s pomočjo katere lahko zapišemo objekt v obliki niza. 1.public class Vektor { 2. private int dimenzija; 3. private double[] koordinate; public Vektor(int dimenzija) { 6. this.dimenzija = dimenzija; 7. koordinate = new double[dimenzija]; 8. for (int i = 0; i < dimenzija; i++) { 9. koordinate[i] = 0; 10. } 11. } 12. public Vektor(double[] koordinate) { 13. this.dimenzija = koordinate.length; 14. this.koordinate = koordinate; 15. } 16. public static Vektor nakljucnivektor(int dimenzija, double min,double max) { 17. double[] koordinate = new double[dimenzija]; 18. for (int i = 0; i < koordinate.length; i++) { 19. koordinate[i] = nakljucno(min, max); 20. } 21. return new Vektor(koordinate); 22. } 23. public int dimenzija() { 24. return dimenzija; 25. } 26. public double koordinata(int i) { 27. return koordinate[i]; 28. } 29. public double dolzina() { 30. return Math.sqrt(this.skalarno(this)); 31. } 32. public double skalarno(vektor v) { Matjaž Lipovšek: Optimizacija z rojem delcev stran 21 od 40

22 33. if (v.dimenzija!= this.dimenzija) { 34. throw new IllegalArgumentException("Dimenziji se ne ujemata."); 35. } 36. double skalarniprodukt = 0; 37. for (int i = 0; i < koordinate.length; i++) { 38. skalarniprodukt += v.koordinata(i) * this.koordinata(i); 39. } 40. return skalarniprodukt; 41. } 42. public Vektor minus(vektor v) { 43. preveridimenzijo(v); 44. Vektor razlika = new Vektor(dimenzija); 45. for (int i = 0; i < dimenzija; i++) { 46. razlika.koordinate[i] = this.koordinate[i]-v.koordinate[i]; 47. } 48. return razlika; 49. } 50. public Vektor plus(vektor v) { 51. preveridimenzijo(v); 52. Vektor vsota = new Vektor(dimenzija); 53. for (int i = 0; i < dimenzija; i++) { 54. vsota.koordinate[i]=this.koordinate[i]+v.koordinate[i]; 55. } 56. return vsota; 57. } 58. private void preveridimenzijo(vektor v) { 59. if (v.dimenzija()!= this.dimenzija()) { 60. throw new IllegalArgumentException("Dimenziji se ne ujemata."); 61. } 62. } 63. public Vektor pomnozi(double k) { 64. for (int i = 0; i < dimenzija; i++) { 65. koordinate[i] *= k; 66. } 67. return this; 68. } 69. public static double nakljucno(double min, double max) { 70. return Math.random() * (max - min) + min; 71. } 72. public double razdalja(vektor v) { 73. return this.minus(v).dolzina(); 74. } 75. public String tostring() { 76. StringBuffer buff = new StringBuffer("("); 77. for (int i = 0; i < koordinate.length; i++) { 78. if (i > 0) { 79. buff.append(, ); 80. } 81. buff.append(koordinate[i]); 82. } Matjaž Lipovšek: Optimizacija z rojem delcev stran 22 od 40

23 83. buff.append( ) ); 84. return buff.tostring(); 85. } 86. public void nastavikoordinato(int i, double x) { 87. koordinate[i] = x; 88. } 89.} Vektor2D.java Razred Vektor2D predstavlja točko v ravnini ali dvodimenzionalni vektor. 1.public class Vektor2D extends Vektor { public Vektor2D(double x, double y) { 4. super(new double[] {x, y}); 5. } 6. public double x() { 7. return koordinata(0); 8. } 9. public double y() { 10. return koordinata(1); 11. } 12.} Na koncu še enkrat povzemimo delovanje in uporabo programa. Koda je sestavljena iz osmih razredov, pri čemer osrednji del programa predstavlja razred Optimizacija. V slednjem (lahko) najprej določimo dimenzijo iskalnega prostora oziroma število spremenljivk funkcije (vrstica 3), v vrsticah, ki sledijo, pa lahko izberemo ali bomo iskali optimum sferne ali alpske funkcije. To storimo tako, da zakomentiramo bodisi četrto bodisi peto vrstico. Pri nastavitvah parametrov omenimo še, da smo pri iskanju optimuma alpske funkcije iskalni prostor (hiperkocka) omejili z KOORD MAX in KOORD MIN, kar lahko opazimo na začetku razreda AlpskaF unkcija. Nazadnje še omenimo funkcijo iščemom inimum, ki se (med drugim) nahaja v razredih AlpskaF unkcija in P araboloid. Z le-to določimo, ali bomo iskali globalni maksimum ali globalni minimum. Na koncu s klikom na RUN le še zaženemo program. Matjaž Lipovšek: Optimizacija z rojem delcev stran 23 od 40

24 3.3 Algoritem ORD in izboljšave V prejšnjem poglavju smo poiskali optimume dveh standardnih testnih fukcij s pomočjo osnovne verzije algoritma ORD. Obstajajo pa tudi številne izboljšave, kot so na primer modificirana verzija algoritma (dodana je vztrajnostna utež) ter metoda VCORD, ki jo bomo spoznali kasneje [5,6]. Poglejmo si sedaj, kakšne rezultate bi dobili, če bi uporabili modificirano verzijo algoritma. Pri izbiri parametrov algoritma smo določili, da je število delcev enako 10, za meritev pa smo vzeli 3300 generacij (premikov jate), saj se po tem številu rezultati niso bistveno izboljšali. S pomočjo modificirane verzije ORD smo skušali določiti globalne optimume sledečih funkcij: Ime Formula Globalni minimum n f1 f 1 (x) = x 2 x i ; x R = (0,..., 0) i=1 f 1 (x ) = 0 f2 f 2 (x) = n 1 i=1 (100(x2 i x i+1) 2 + (x i 1) 2 ); x R x = (1,..., 1) f 2 (x ) = 0 f4 1 = f 4 (x) 500 j=1 ; x R 2 j+ i=1 (x i a ij ) 6 [ [a ij ] = ] x = ( 32, 32) f 4 (x ) = 0 f5 f 5 (x) = n i=1 ( i j=1 x j ) 2 ; x R x = (0,..., 0) f 5 (x ) = 0 f6 f 6 (x) = n 10 + n i=1 x 2 i 10 cos(2πx); x R x = (0,..., 0) f7 f 7 (x) = n i=1 ( x i sin( x i ; x R f 6 (x ) = 0 x = (421,..., 421) f 7 (x ) = 0 Tabela 3: Standardne testne funkcije, ki imajo natanko en globalni minimum Pri vseh funkcijah smo določili, da je n = 2 in dobili sledeče rezultate: Funkcija Globalni minimum dobljen s ORD f1 5, f2 0, f4 2, f5 1, f6 118, 321 f7 5, Tabela 4: Rezulati iskanja s pomočjo ORD Matjaž Lipovšek: Optimizacija z rojem delcev stran 24 od 40

25 4 Reševanje diskretnih optimizacijskih problemov z metodo ORD Reševanje optimizacijskega problema pomeni iskanje ekstrema funkcije pri danih omejitvah [7,11]. Kadar iščemo ekstreme diskretnih funkcij (torej funkcij z diskretnim definicijskim območjem), govorimo o reševanju diskretnega optimizacijskega problema. Mednje spada tudi takoimenovani Problem trgovskega potnika, ki ga bomo v nadaljevanju tudi podrobneje predstavili. Še prej pa si poglejmo nekaj osnov iz Teorije grafov in permutacij, ki jih bomo potrebovali za lažje razumevanje zgoraj omenjenega problema. Teorija grafov Pod pojmom (ravninski) graf razumemo skupek nekih točk (v ravnini) ter povezav med njimi. Točke, ki jim pravimo tudi vozlišča grafa, so lahko med seboj povezane z usmerjenimi (slika 4) ali neusmerjenimi povezavami (slika 5). Slika 4: Usmerjen graf Slika 5: Neusmerjen graf V grafu se lahko premikamo po točkah le, če med njimi obstajajo povezave (pri usmerjenih povezavah se lahko premikamo le v eno smer). Povezave v grafu (tako usmerjene kot neusmerjene) so lahko utežene (slika 6) ali pa tudi ne (slika 7). Slika 6: Utežen graf Slika 7: Neutežen graf Matjaž Lipovšek: Optimizacija z rojem delcev stran 25 od 40

26 Utež na povezavi med točkama A in B lahko na primer predstavlja ceno potovanja med točkama A in B. Kadar imamo opravka z uteženim grafom, pri čemer posamezna utež predstavlja strošek potovanja med dvema točkama, ponavadi iščemo najcenejšo pot od neke začetne do končne točke v grafu, ki si jih lahko poljubno izberemo. V teoriji grafov nas pogosto zanima, ali lahko potujemo skozi graf tako, da gremo skozi vsako vozlišče natanko enkrat in se pri tem vrnemo v tisto točko, v kateri smo naše potovanje začeli. Če taka pot oziroma obhod obstaja, temu obhodu pravimo Hamiltonov cikel. Slika 8: Graf ima hamiltonov cikel Slika 9: Graf brez hamiltonovega cikla Permutacije Če imamo n predmetov - imenujmo jih elementi - jih lahko na različne načine posadimo na n - mest. Vsak tak način imenujemo razporedba teh elementov [8]. Po kratkem premisleku ugotovimo, da je vseh takih razporedb n (n 1) (n 2) , kar v matematiki krajše zapišemo n!. Prehod iz ene razporedbe na drugo se imenuje permutacija. Poglejmo si primer ene izmed permutacij elementov a, b, c, d: ( a b c d c a d b ) Kot lahko vidimo iz zgornjega primera, so bili najprej (zgornja vrstica) elementi a, b, c, d postavljeni po abecednem redu, nato pa jih "premešamo" tako, da stojijo v sledečem vrstnem redu: c a d b (spodnja vrstica). Permutacija, pri kateri samo dva elementa zamenjata svoji mesti, vsi ostali pa ostanejo na svojih mestih, se imenuje transpozicija teh dveh elementov. ( a b c d c b a d ) Matjaž Lipovšek: Optimizacija z rojem delcev stran 26 od 40

27 Permutacijo dveh elementov (transpozicijo) lahko krajše zapišemo tudi takole: ( a b c d c b a d ) = (a c) Nazadnje omenimo še to, da lahko vsako permutacijo predstavimo (med drugim) tudi s seznamom transpozicij; npr: ((a, c), (c, d), (b, d)) kar pomeni: najprej zamenjaj a in c, nato c in d ter nazadnje še b in d. seznamom smo tako predstavili permutacijo: ( a b c d b d a c ) Z zgornjim Pri tem pa še enkrat poudarimo: eno permutacijo lahko predstavimo s poljubnim številom seznamov transpozicij, a en seznam določa natanko eno permutacijo. Matjaž Lipovšek: Optimizacija z rojem delcev stran 27 od 40

28 4.1 Diskretni optimizacijski problem Klasični algoritem ORD je močna metoda za iskanje optimumov numeričnih funkcij, ki imajo zvezno definicijsko območje. Obstaja pa tudi diskretna verzija algoritma, s katero lahko rešujemo diskretne in kombinatorične probleme. Čeprav obstajajo specifični algoritmi, ki tovrstne probleme rešujejo bolje kot ORD, se čar slednjega kaže prav v tem, da je izredno enostavno prilagodljiv in lahko reši katerikoli diskretni problem [9]. V tem poglavju si bomo natančneje pogledali diskretno verzijo algoritma ORD, pri tem pa si bomo za boljšo ilustracijo pomagali s konkretnim primerom, in sicer s problemom trgovskega potnika (PTP). Ponovimo najprej na kratko nekaj dejstev o klasičnem algoritmu ORD. Imamo skupino delcev (roj), ki se giblje skozi nek določen prostor. Pri tem ima vsak delec svoj položaj in svojo hitrost, prav tako vsak delec pozna svoj najboljši položaj (kjer je bila vrednost funkcije sposobnosti optimalna) kot tudi najboljši trenutni položaj delca iz njegove soseščine. Pri gibanju skozi prostor sleherni delec sklepa kompromise, medtem ko se odloča med tremi možnostmi: slediti svoji trenutni poti usmeriti se proti svojemu najboljšemu položaju usmeriti se proti sosedovemu najboljšemu položaju Formalno to zapišemo s sledečima enačbama: v(t + 1) = c1 v(t) + c2 (p o (t) x(t)) + c3 (p s (t) x(t)) (9) x(t + 1) = x(t) + v(t + 1) (10) Pri tem sta v(t) in x(t) trenutna hitrost in položaj, p o (t) ter p s (t) pa sta osebni in sosedov najboljši položaj. Koeficienti c1, c2, c3 so dejansko koeficienti učenja, saj povedo, koliko delec pri potovanju skozi prostor zaupa vase v tem trenutku (C1), koliko upošteva lastne izkušnje (C2) in koliko zaupa sosedom (C3). In kaj potrebujemo za diskretno verzijo algoritma? Potrebujemo sledeče [10]: prostor vseh možnih položajev, po katerih se lahko giblje delec: S = {s i } stroškovno funkcijo (funkcija sposobnosti) na množici S = {s i }, ki slika v množico C = {c i }, katere minimume dejansko iščemo vsaj delno urejenost množice C, tako da lahko za vsak par elementov c i, c j določimo c i c j bodisi c i c j Ponavadi je S kar neka končna množica položajev in f diskretna funkcija, katere domena je množica S. Lahko pa vzamemo za množico S tudi realen prostor R n ter za f poljubno zvezno numerično funkcijo. Takoj ko definiramo osnovne matematične objekte in operacije, lahko uporabimo ORD. Matjaž Lipovšek: Optimizacija z rojem delcev stran 28 od 40

Reševanje problemov in algoritmi

Reševanje problemov in algoritmi Reševanje problemov in algoritmi Vhod Algoritem Izhod Kaj bomo spoznali Zgodovina algoritmov. Primeri algoritmov. Algoritmi in programi. Kaj je algoritem? Algoritem je postopek, kako korak za korakom rešimo

More information

Iskanje najcenejše poti v grafih preko polkolobarjev

Iskanje najcenejše poti v grafih preko polkolobarjev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Veronika Horvat Iskanje najcenejše poti v grafih preko polkolobarjev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

TEORIJA GRAFOV IN LOGISTIKA

TEORIJA GRAFOV IN LOGISTIKA TEORIJA GRAFOV IN LOGISTIKA Maja Fošner in Tomaž Kramberger Univerza v Mariboru Fakulteta za logistiko Mariborska cesta 2 3000 Celje Slovenija maja.fosner@uni-mb.si tomaz.kramberger@uni-mb.si Povzetek

More information

TOPLJENEC ASOCIIRA LE V VODNI FAZI

TOPLJENEC ASOCIIRA LE V VODNI FAZI TOPLJENEC ASOCIIRA LE V VODNI FAZI V primeru asociacij molekul topljenca v vodni ali organski fazi eksperimentalno določeni navidezni porazdelitveni koeficient (P n ) v odvisnosti od koncentracije ni konstanten.

More information

Stiskanje slik z algoritmi po vzorih iz narave

Stiskanje slik z algoritmi po vzorih iz narave Stiskanje slik z algoritmi po vzorih iz narave Gregor Jurgec Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, Maribor gregor.jurgec@gmail.com Iztok Fister Univerza

More information

Hipohamiltonovi grafi

Hipohamiltonovi grafi Hipohamiltonovi grafi Marko Čmrlec, Bor Grošelj Simić Mentor(ica): Vesna Iršič Matematično raziskovalno srečanje 1. avgust 016 1 Uvod V marsovskem klubu je želel predsednik prirediti večerjo za svoje člane.

More information

Linearna regresija. Poglavje 4

Linearna regresija. Poglavje 4 Poglavje 4 Linearna regresija Vinkove rezultate iz kemije so založili. Enostavno, komisija je izgubila izpitne pole. Rešitev: Vinko bo kemijo pisal še enkrat. Ampak, ne more, je ravno odšel na trening

More information

SVM = Support Vector Machine = Metoda podpornih vektorjev

SVM = Support Vector Machine = Metoda podpornih vektorjev Uvod 2/60 SVM = Support Vector Machine = Metoda podpornih vektorjev Vapnik in Lerner 1963 (generalized portrait) jedra: Aronszajn 1950; Aizerman 1964; Wahba 1990, Poggio in Girosi 1990 Boser, Guyon in

More information

Problem umetnostne galerije

Problem umetnostne galerije Problem umetnostne galerije Marko Kandič 17. september 2006 Za začetek si oglejmo naslednji primer. Recimo, da imamo v galeriji polno vrednih slik in nočemo, da bi jih kdo ukradel. Seveda si želimo, da

More information

ENAČBA STANJA VODE IN VODNE PARE

ENAČBA STANJA VODE IN VODNE PARE ENAČBA STANJA VODE IN VODNE PARE SEMINARSKA NALOGA PRI PREDMETU JEDRSKA TEHNIKA IN ENERGETIKA TAMARA STOJANOV MENTOR: IZRED. PROF. DR. IZTOK TISELJ NOVEMBER 2011 Enačba stanja idealni plin: pv = RT p tlak,

More information

NIKJER-NIČELNI PRETOKI

NIKJER-NIČELNI PRETOKI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ALJA ŠUBIC NIKJER-NIČELNI PRETOKI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika - računalništvo ALJA

More information

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ 1 OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ Opis problema. Danih je k vhodnih nizov, ki jih označimo s t 1,..., t k. Množico vseh znakov, ki se pojavijo v vsaj enem vhodnem nizu, imenujmo abeceda in jo označimo

More information

PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI

PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI 1 Janko Juršič PROBLEM SIMETRIČNEGA TRGOVSKEGA POTNIKA IN OPTIMIZACIJA Z GENETSKIMI ALGORITMI Diplomsko delo Maribor, september 2010 2 Diplomsko delo univerzitetnega študijskega programa PROBLEM SIMETRIČNEGA

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO Ljubljana, 2013 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ODDELEK ZA MATEMATIKO IN RAČUNALNIŠTVO SAŠO ZUPANEC Mentor:

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Verjetnostni algoritmi za testiranje praštevilskosti (Algorithms for testing primality) Ime in

More information

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

AKSIOMATSKA KONSTRUKCIJA NARAVNIH UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Poučevanje: Predmetno poučevanje ŠPELA ZOBAVNIK AKSIOMATSKA KONSTRUKCIJA NARAVNIH ŠTEVIL MAGISTRSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R Multipla koelacia in egesia Multipla egesia, multipla koelacia, statistično zaklučevane o multiplem Multipla egesia osnovni model in ačunane paametov Z multiplo egesio napoveduemo vednost kiteia (odvisne

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Sabina Skornšek Maribor, 2012 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Zbornik seminarjev iz hevristik

Zbornik seminarjev iz hevristik Zbornik seminarjev iz hevristik Izbrana poglavja iz optimizacijskih metod (2010-11) 2. marec 2012 Ljubljana, 2011 Zbornik seminarskih nalog sta po knjigi [3] izbrala in uredila R. Škrekovski (FMF) in Vida

More information

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Matematika 1 Gabrijel Tomšič Bojan Orel Neža Mramor Kosta 15. december 2010 Poglavje 3 Funkcije 3.1 Osnovni pojmi Preslikavam v množico R ali C običajno pravimo funkcije v prvem primeru realne, v drugem

More information

METAHEVRISTIČNO REŠEVANJE

METAHEVRISTIČNO REŠEVANJE Univerza v Ljubljani Fakulteta za računalništvo in informatiko METAHEVRISTIČNO REŠEVANJE OPTIMIZACIJSKEGA PROBLEMA S KOLONIJAMI MRAVELJ MAGISTRSKA NALOGA Peter Korošec mentor: prof. dr. Borut Robič Ljubljana,

More information

OPTIMIZACIJSKE METODE skripta v pripravi

OPTIMIZACIJSKE METODE skripta v pripravi OPTIMIZACIJSKE METODE skripta v pripravi Vladimir Batagelj Ljubljana 17. december 2003 2 Kazalo Predgovor 5 1 Optimizacijske naloge 7 1.1 Osnovni pojmi........................... 7 1.2 Primeri optimizacijskih

More information

Hadamardove matrike in misija Mariner 9

Hadamardove matrike in misija Mariner 9 Hadamardove matrike in misija Mariner 9 Aleksandar Jurišić, 25. avgust, 2009 J. Hadamard (1865-1963) je bil eden izmed pomembnejših matematikov na prehodu iz 19. v 20. stoletje. Njegova najpomembnejša

More information

OPTIMIRANJE IZDELOVALNIH PROCESOV

OPTIMIRANJE IZDELOVALNIH PROCESOV OPTIMIRANJE IZDELOVALNIH PROCESOV asist. Damir GRGURAŠ, mag. inž. str izr. prof. dr. Davorin KRAMAR damir.grguras@fs.uni-lj.si Namen vaje: Ugotoviti/določiti optimalne parametre pri struženju za dosego

More information

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO.

UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO. UNIVERZA V NOVI GORICI POSLOVNO-TEHNIŠKA FAKULTETA REŠEVANJE OPTIMIZACIJSKIH PROBLEMOV S PROGRAMSKIM PAKETOM SCICOSLAB DIPLOMSKO DELO Jana Miklavič Mentor: prof. dr. Juš Kocijan Nova Gorica, 2012 NASLOV

More information

Minimizacija učne množice pri učenju odločitvenih dreves

Minimizacija učne množice pri učenju odločitvenih dreves Univerza v Ljubljani Fakulteta za računalništvo in informatiko Ivan Štajduhar Minimizacija učne množice pri učenju odločitvenih dreves Diplomska naloga Mentor: prof. dr. Ivan Bratko Ljubljana, 2001 Izjava

More information

Eulerjevi in Hamiltonovi grafi

Eulerjevi in Hamiltonovi grafi Eulerjevi in Hamiltonovi grafi Bojan Možina 30. december 006 1 Eulerjevi grafi Štirje deli mesta Königsberg v Prusiji so bili povezani s sedmimi mostovi (glej levi del slike 1). Zdaj se Königsberg imenuje

More information

Linearna algebra. Bojan Orel. Univerza v Ljubljani

Linearna algebra. Bojan Orel. Univerza v Ljubljani Linearna algebra Bojan Orel 07 Univerza v Ljubljani Fakulteta za računalništvo in informatiko CIP - Kataložni zapis o publikaciji Narodna in univerzitetna knjižnica, Ljubljana 5.64(075.8) OREL, Bojan Linearna

More information

POLDIREKTNI PRODUKT GRUP

POLDIREKTNI PRODUKT GRUP UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA LUCIJA ŽNIDARIČ POLDIREKTNI PRODUKT GRUP DIPLOMSKO DELO LJUBLJANA 2014 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Univerzitetni študijski program 1. stopnje: Dvopredmetni

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba logistične regresije za napovedovanje razreda, ko je število enot v preučevanih razredih

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo DIPLOMSKO DELO Gregor Ambrož Maribor, 2010 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM

Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika - uporabna smer (UNI) Matej Mislej HOMOMORFIZMI RAVNINSKIH GRAFOV Z VELIKIM NOTRANJIM OBSEGOM Diplomsko delo Ljubljana, 2006 Zahvala Zahvaljujem

More information

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA Tina Lešnik Maribor, 2014 UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

More information

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Boštjan Markežič Zaznavanje gibov Zaključna naloga Koper, september 2011 Mentor: doc. dr. Peter Rogelj Kazalo Slovarček

More information

SIMETRIČNE KOMPONENTE

SIMETRIČNE KOMPONENTE Univerza v Ljubljani Fakulteta za elektrotehniko SIMETRIČNE KOMPONENTE Seminarska naloga pri predmetu Razdelilna in industrijska omrežja Poročilo izdelala: ELIZABETA STOJCHEVA Mentor: prof. dr. Grega Bizjak,

More information

Vsebina Od problema do načrta programa 1. del

Vsebina Od problema do načrta programa 1. del Vsebina Od problema do načrta programa 1. del Osnovne strategije iskanja rešitev problema Načini opisovanja rešitev problema Osnovni gradniki rešitve problema Primeri Napišite postopek za kuhanje kave

More information

Attempt to prepare seasonal weather outlook for Slovenia

Attempt to prepare seasonal weather outlook for Slovenia Attempt to prepare seasonal weather outlook for Slovenia Main available sources (ECMWF, EUROSIP, IRI, CPC.NCEP.NOAA,..) Two parameters (T and RR anomally) Textual information ( Met Office like ) Issued

More information

Topološka obdelava slik

Topološka obdelava slik Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Matjaž Cerar Topološka obdelava slik DIPLOMSKO DELO UNIVERZITETNI INTERDISCIPLINARNI ŠTUDIJ RAČUNALNIŠTVA

More information

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK POVZETEK. Namen tega dela je prikazati osnove razlik, ki lahko nastanejo pri interpretaciji

More information

Izvedbe hitrega urejanja za CPE in GPE

Izvedbe hitrega urejanja za CPE in GPE Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jernej Erker Izvedbe hitrega urejanja za CPE in GPE DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE Mentor: doc. dr. Tomaž

More information

DOMINACIJSKO TEVILO GRAFA

DOMINACIJSKO TEVILO GRAFA UNIVERZA V LJUBLJANI PEDAGO KA FAKULTETA tudijski program: MATEMATIKA in RAƒUNALNI TVO DOMINACIJSKO TEVILO GRAFA DIPLOMSKO DELO Mentor: doc. dr. Primoº parl Kandidatka: Neja Zub i Ljubljana, maj, 2011

More information

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski

Ana Mlinar Fulereni. Delo diplomskega seminarja. Mentor: izred. prof. dr. Riste Škrekovski UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Matematika 1. stopnja Ana Mlinar Fulereni Delo diplomskega seminarja Mentor: izred. prof. dr. Riste Škrekovski Ljubljana, 2011 Kazalo 1. Uvod 4 2.

More information

Iterativne metode podprostorov 2010/2011 Domače naloge

Iterativne metode podprostorov 2010/2011 Domače naloge Iterativne metode podprostorov 2010/2011 Domače naloge Naloge so razdeljene v 6 skupin. Za pozitivno oceno morate rešiti toliko nalog, da bo končna vsota za pozitivno oceno vsaj 8 točk oz. vsaj 10 točk

More information

Optimizacija indukcijskega segrevanja z numeričnim modeliranjem in genetskim algoritmom

Optimizacija indukcijskega segrevanja z numeričnim modeliranjem in genetskim algoritmom Elektrotehniški vestnik 76(1-2): 63-68, 2009 Electrotechnical Review: Ljubljana, Slovenija Optimizacija indukcijskega segrevanja z numeričnim modeliranjem in genetskim algoritmom Matej Kranjc, Anže Županič,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba Kalmanovega filtra pri vrednotenju izbranih finančnih instrumentov (Using Kalman filter

More information

Verifikacija napovedi padavin

Verifikacija napovedi padavin Oddelek za Meteorologijo Seminar: 4. letnik - univerzitetni program Verifikacija napovedi padavin Avtor: Matic Šavli Mentor: doc. dr. Nedjeljka Žagar 26. februar 2012 Povzetek Pojem verifikacije je v meteorologiji

More information

Jernej Azarija. Štetje vpetih dreves v grafih

Jernej Azarija. Štetje vpetih dreves v grafih UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO FAKULTETA ZA MATEMATIKO IN FIZIKO Jernej Azarija Štetje vpetih dreves v grafih DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM ŠTUDIJU

More information

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani

FRAKTALNA DIMENZIJA. Fakulteta za matematiko in fiziko Univerza v Ljubljani FRAKTALNA DIMENZIJA VESNA IRŠIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani PACS: 07.50.Hp, 01.65.+g V članku je predstavljen zgodovinski razvoj teorije fraktalov in natančen opis primerov,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Simetrije cirkulantnih grafov

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Simetrije cirkulantnih grafov UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Simetrije cirkulantnih grafov (Symmetry of circulant graphs) Ime in priimek: Maruša Saksida Študijski

More information

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Domen Perc Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

More information

Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj

Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Biček Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr.

More information

2 Zaznavanje registrske tablice

2 Zaznavanje registrske tablice Razpoznavanje avtomobilskih registrskih tablic z uporabo nevronskih mrež Matej Kseneman doc. dr. Peter Planinšič, mag. Tomaž Romih, doc. dr. Dušan Gleich (mentorji) Univerza v Mariboru, Laboratorij za

More information

Excel. Matjaž Željko

Excel. Matjaž Željko Excel Matjaž Željko Elektronska preglednica Excel Excel je zmogljiv kalkulator. Omogoča izdelavo grafikonov statistično analizo podatkov lepo oblikovanje poročila za natis Podatke predstavljamo tabelarično,

More information

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA UDK621.3:(53+54+621 +66), ISSN0352-9045 Informaclje MIDEM 3~(~UU8)4, Ljubljana ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA Marijan Macek 1,2* Miha Cekada 2 1 University of Ljubljana,

More information

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija University of Ljubljana Faculty of Mathematics and Physics Modelska Analiza 1 3. naloga - Numeri na minimizacija Avtor: Matic Lubej Asistent: dr. Simon ƒopar Predavatelj: prof. dr. Alojz Kodre Ljubljana,

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: Matematika in računalništvo Fibonaccijevo zaporedje in krožna konstanta

More information

Intervalske Bézierove krivulje in ploskve

Intervalske Bézierove krivulje in ploskve Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Tadej Borovšak Intervalske Bézierove krivulje in ploskve DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kromatično število in kromatični indeks grafa UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Magistrsko delo Kromatično število in kromatični indeks grafa (The chromatic number and the chromatic index of

More information

Osnove numerične matematike

Osnove numerične matematike Univerza v Ljubljani Fakulteta za računalništvo in informatiko Osnove numerične matematike Bojan Orel Ljubljana, 2004 Kazalo 1 Uvod 1 1.1 Zakaj numerične metode..................... 1 1.2 Napake in numerično

More information

EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI

EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA EVA MARKELJ RAČUNALNIŠKO SIMULIRANJE SIPANJA SVETLOBE V ATMOSFERI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DVOPREDMETNI UČITELJ:

More information

JERNEJ TONEJC. Fakulteta za matematiko in fiziko

JERNEJ TONEJC. Fakulteta za matematiko in fiziko . ARITMETIKA DVOJIŠKIH KONČNIH OBSEGOV JERNEJ TONEJC Fakulteta za matematiko in fiziko Math. Subj. Class. (2010): 11T{06, 22, 55, 71}, 12E{05, 20, 30}, 68R05 V članku predstavimo končne obsege in aritmetiko

More information

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dejan Petelin Sprotno učenje modelov na podlagi Gaussovih procesov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Janez Demšar

More information

Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja

Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja Elektrotehniški vestnik 70(1-2): 22 26, 2003 Electrotechnical Review, Ljubljana, Slovenija Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja Marko Čepin

More information

Hibridizacija požrešnih algoritmov in hitrega urejanja

Hibridizacija požrešnih algoritmov in hitrega urejanja Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nina Vehovec Hibridizacija požrešnih algoritmov in hitrega urejanja DIPLOMSKO DELO INTERDISCIPLINARNI UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE

More information

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov

Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Univerza v Ljubljani Fakulteta za elektrotehniko Boštjan Murovec Preprečevanje neizvedljivosti urnikov pri metahevrističnem razvrščanju proizvodnih procesov Doktorska disertacija Mentor: prof. dr. Peter

More information

Kode za popravljanje napak

Kode za popravljanje napak UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE KOPER MATEMATIČNE ZNANOSTI MAGISTRSKI ŠTUDIJSKI PROGRAM 2. STOPNJE Aljaž Slivnik Kode za popravljanje napak Magistrska

More information

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo)

Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Uvod v odkrivanje znanj iz podatkov (zapiski predavatelja, samo za interno uporabo) Blaž Zupan 29. julij 2017 Kazalo 1 Odkrivanje skupin 7 1.1 Primer podatkov.................................. 7 1.2 Nekaj

More information

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL original scientific article UDC: 796.4 received: 2011-05-03 MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL Pietro Enrico DI PRAMPERO University of Udine, Department of Biomedical

More information

Gradnja Vietoris-Ripsovega simplicialnega kompleksa

Gradnja Vietoris-Ripsovega simplicialnega kompleksa Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Leonard Štefančič Gradnja Vietoris-Ripsovega simplicialnega kompleksa DIPLOMSKO DELO NA INTERDISCIPLINARNEM

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK ZA MATEMATIKO Rok Erman BARVANJA RAVNINSKIH IN SORODNIH DRUŽIN GRAFOV Doktorska disertacija MENTOR: prof. dr. Riste Škrekovski Ljubljana,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) O neeksaknotsti eksaktnega binomskega intervala zaupanja (On the inexactness

More information

Uporaba preglednic za obdelavo podatkov

Uporaba preglednic za obdelavo podatkov Uporaba preglednic za obdelavo podatkov B. Golli, PeF Pedagoška fakulteta UL Ljubljana 2012 Kazalo 1 Uvod 1 2 Zgled iz kinematike 2 2.1 Izračun hitrosti................................... 2 2.2 Izračun

More information

Particija grafa, odkrivanje skupnosti in maksimalen prerez

Particija grafa, odkrivanje skupnosti in maksimalen prerez Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Matemati ne znanosti - 2. stopnja Peter Mur²i Particija grafa, odkrivanje skupnosti in maksimalen prerez Magistrsko

More information

PRIMERJAVA ANALITIČNIH PROGRAMSKIH ORODIJ PRI REŠEVANJU PROBLEMOV ODLOČANJA V POSLOVNIH PROCESIH

PRIMERJAVA ANALITIČNIH PROGRAMSKIH ORODIJ PRI REŠEVANJU PROBLEMOV ODLOČANJA V POSLOVNIH PROCESIH UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: Organizacija in management informacijskih sistemov PRIMERJAVA ANALITIČNIH PROGRAMSKIH ORODIJ PRI REŠEVANJU PROBLEMOV ODLOČANJA V POSLOVNIH PROCESIH

More information

Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink

Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink Laboratorijske vaje Računalniška simulacija 2012/13 1. laboratorijska vaja Simulacija dinamičnih sistemov s pomočjo osnovnih funkcij orodij MATLAB in Simulink Pri tej laboratorijski vaji boste spoznali

More information

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK abc UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK f: A B f: f() A je argument, f() B je funkcijska vrednost. Funkcija je pravilo, ki vsakemu argumentu priredi eno funkcijsko vrednost. Glavna operacija

More information

22. državno tekmovanje v znanju računalništva (1998) NALOGE ZA PRVO SKUPINO. Kaj izpiše naslednji program? Rešitev: str. 8

22. državno tekmovanje v znanju računalništva (1998) NALOGE ZA PRVO SKUPINO. Kaj izpiše naslednji program? Rešitev: str. 8 1998.1.1] 1 22. državno tekmovanje v znanju računalništva (1998) Naloge Rešitve I 1 2 3 4 1 2 3 4 II 1 2 3 4 1 2 3 4 III 1 2 3 4 1 2 3 4 1998.1.1 NALOGE ZA PRVO SKUPINO Kaj izpiše naslednji program? Rešitev:

More information

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Troha Robotsko učenje in planiranje potiskanja predmetov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Ivan Bratko Ljubljana,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Primerjava modernih pristopov za identifikacijo pomembno izraženih genov za dve skupini (Comparison

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Inženirski pristop k načrtovanju in implementaciji reševalca Sudoku za mobilne naprave (Engineering

More information

POGLAVJE V: Matrično-produkni nastavki in učinkovite simulacije mnogo-delčnih problemov v eni dimenziji (aka metode DMRG)

POGLAVJE V: Matrično-produkni nastavki in učinkovite simulacije mnogo-delčnih problemov v eni dimenziji (aka metode DMRG) POGLAVJE V: Matrično-produkni nastavki in učinkovite simulacije mnogo-delčnih problemov v eni dimenziji (aka metode DMRG) V tem poglavju se bomo posvetili glavnim idejam učunkovite simulacije kvantne in

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Kvadratne forme nad končnimi obsegi UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Kvadratne forme nad končnimi obsegi (Quadratic Forms over Finite Fields) Ime in priimek: Borut

More information

Klemen Kregar, Mitja Lakner, Dušan Kogoj KEY WORDS

Klemen Kregar, Mitja Lakner, Dušan Kogoj KEY WORDS G 2014 V ROTACIJA Z ENOTSKIM KVATERNIONOM GEODETSKI VESTNIK letn. / Vol. 58 št. / No. 2 ROTATION WITH UNIT QUATERNION 58/2 Klemen Kregar, Mitja Lakner, Dušan Kogoj UDK: 512.626.824:528 Klasifikacija prispevka

More information

Modeliranje časovnih vrst z metodami teorije informacij

Modeliranje časovnih vrst z metodami teorije informacij Elektrotehniški vestnik 76(4): 240 245, 2009 Electrotechnical Review, Ljubljana, Slovenija Modeliranje časovnih vrst z metodami teorije informacij Marko Bratina 1, Andrej Dobnikar 2, Uroš Lotrič 2 1 Savatech,

More information

APLIKACIJA ZA DELO Z GRAFI

APLIKACIJA ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: MATEMATIKA IN RAČUNALNIŠTVO APLIKACIJA ZA DELO Z GRAFI DIPLOMSKO DELO Mentor: doc. dr. Primož Šparl Kandidat: Luka Jurković Somentor: asist.

More information

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK abc α UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK f: A B f: f() A je argument, f() B je funkcijska vrednost. Funkcija je pravilo, ki vsakemu argumentu priredi eno funkcijsko vrednost. Glavna operacija

More information

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe

Linearne enačbe. Matrična algebra. Linearne enačbe. Linearne enačbe. Linearne enačbe. Linearne enačbe Sistem linearnih enačb Matrična algebra Oseba X X X3 B A.A. 3 B.B. 7 C.C. Doc. dr. Anja Podlesek Oddelek za psihologijo, Filozofska fakulteta, Univerza v Ljubljani Študijski program prve stopnje Psihologija

More information

DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI

DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DEJAN KREJIĆ DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI DIPLOMSKO DELO Ljubljana, 2015 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika -

More information

Katja Tuma Generiranje in reševanje sudokuja

Katja Tuma Generiranje in reševanje sudokuja Univerza v Ljubljani Fakulteta za računalništvo in informatiko Katja Tuma Generiranje in reševanje sudokuja DIPLOMSKO DELO UNIVERZITETNI BOLONJSKI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVA IN INFORMATIKE

More information

Mathematica PRI MATEMATIKI V 1. IN 2. LETNIKU SPLOŠNEGA GIMNAZIJSKEGA PROGRAMA

Mathematica PRI MATEMATIKI V 1. IN 2. LETNIKU SPLOŠNEGA GIMNAZIJSKEGA PROGRAMA »Mladi za napredek Maribora 2013«30. srečanje Mathematica PRI MATEMATIKI V 1. IN 2. LETNIKU SPLOŠNEGA GIMNAZIJSKEGA PROGRAMA Raziskovalno področje: matematika Raziskovalna naloga Maribor, februar 2013

More information

Diskretna matematika 1 / Teorija grafov

Diskretna matematika 1 / Teorija grafov Diskretna matematika 1 / Teorija grafov 1. Osnovni pojmi Vladimir Batagelj Univerza v Ljubljani FMF, matematika Finančna matematika Ljubljana, december 2013 / februar 2008 1 / 31 Kazalo 1 2 3 4 5 6 Pajek

More information

Călugăreanu-White-Fullerjev teorem in topologija DNA

Călugăreanu-White-Fullerjev teorem in topologija DNA Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Călugăreanu-White-Fullerjev teorem in topologija DNA Seminar Jure Aplinc, dipl. fiz. (UN) Mentor: prof. dr. Rudolf Podgornik 26.

More information

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION Table of contents 1 TECHNICAL FIELDS... 2 2 PRESENTING THE SCOPE OF A CALIBRATION LABOORATORY... 2 3 CONSIDERING CHANGES TO SCOPES... 6 4 CHANGES WITH

More information

NALOGE ZA PRVO SKUPINO. Kaj izpiše naslednji program? R: 9 Odgovor primerno utemelji!

NALOGE ZA PRVO SKUPINO. Kaj izpiše naslednji program? R: 9 Odgovor primerno utemelji! 1998.1.1] 1 22. državno tekmovanje v znanju računalništva (1998) 1998.1.1 NALOGE ZA PRVO SKUPINO Kaj izpiše naslednji program? R: 9 Odgovor primerno utemelji! program Ego; const S: array [1..21] of string

More information

Neli Blagus. Iterativni funkcijski sistemi in konstrukcija fraktalov

Neli Blagus. Iterativni funkcijski sistemi in konstrukcija fraktalov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Neli Blagus Iterativni funkcijski sistemi in konstrukcija fraktalov DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM ŠTUDIJU Mentorica:

More information

Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi

Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi Elektrotehniški vestnik 69(3-4): 227 233, 2002 Electrotechnical Review, Ljubljana, Slovenija Pohitritev izvajanja evolucijskih algoritmov z večprocesorskimi in multiračunalniškimi sistemi Simon Vavpotič,

More information

MICROWAVE PLASMAS AT ATMOSPHERIC PRESSURE: NEW THEORETICAL DEVELOPMENTS AND APPLICATIONS IN SURFACE SCIENCE

MICROWAVE PLASMAS AT ATMOSPHERIC PRESSURE: NEW THEORETICAL DEVELOPMENTS AND APPLICATIONS IN SURFACE SCIENCE UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 38(2008)4, Ljubljana MICROWAVE PLASMAS AT ATMOSPHERIC PRESSURE: NEW THEORETICAL DEVELOPMENTS AND APPLICATIONS IN SURFACE SCIENCE T. 8elmonte*,

More information

modeli regresijske analize nominalnih spremenljivk

modeli regresijske analize nominalnih spremenljivk modeli regresijske analize nominalnih spremenljivk Cveto Trampuž An Illustrative Comparison Logit Analysis with Dummy Variable Regression Analysis. Two different regression models in which the dependent

More information

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov Izbrana poglavja iz algebrai ne teorije grafov Zbornik seminarskih nalog iz algebrai ne teorije grafov Ljubljana, 2015 CIP Kataloºni zapis o publikaciji Narodna in univerzitetna knjiºnica, Ljubljana 519.24(082)(0.034.2)

More information