Primerjava algoritmov linearnega programiranja s pomočjo sistema ALGator

Velikost: px
Začni prikazovanje s strani:

Download "Primerjava algoritmov linearnega programiranja s pomočjo sistema ALGator"

Transkripcija

1 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Andreja Perčič Primerjava algoritmov linearnega programiranja s pomočjo sistema ALGator DIPLOMSKO DELO INTERDISCIPLINARNI UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN MATEMATIKA Mentor: doc. dr. Tomaž Dobravec Ljubljana, 2020

2 Copyright. Rezultati diplomske naloge so intelektualna lastnina avtorja in Fakultete za računalništvo in informatiko Univerze v Ljubljani. Za objavo in koriščenje rezultatov diplomske naloge je potrebno pisno privoljenje avtorja, Fakultete za računalništvo in informatiko ter mentorja. Besedilo je oblikovano z urejevalnikom besedil L A TEX.

3 Fakulteta za računalništvo in informatiko izdaja naslednjo nalogo: Tematika naloge: V diplomskem delu se osredotočite na problem linearnega programiranja. Opišite teoretično ozadje problema ter pogoste pristope, ki se uporabljajo za njegovo reševanje. Za natančnejšo analizo izberite dva izmed opisanih pristopov in ju implementirajte v programskem jeziku Java. V sistemu AL- Gator izdelajte projekt za reševanje problemov linearnega programiranja in s pomočjo premišljeno izbranih testnih množic opravite primerjalno analizo kakovosti izbranih pristopov.

4

5 Matjažu

6

7 Kazalo Povzetek Abstract 1 Uvod Opis področja Namen dela Pregled dela Sorodni problemi Zgodovina Razvoj algoritmov Časovna zahtevnost Teoretično ozadje Osnovna formulacija LP Konveksna množica dopustnih rešitev Algoritmi Simpleksna metoda Metode notranjih točk Afino skaliranje Elipsoidna metoda Integracija v sistem ALGator 31

8 5.1 ALGator Implementirani algoritmi Opis datotek sistema ALGator Vhodni podatki Sklepne ugotovitve 45 Literatura 48

9 Seznam uporabljenih kratic kratica angleško slovensko LP linear program linearni program ILP integer linear programming celoštevilsko linearno programiranje MILP mixed integer linear programming mešano linearno programiranje

10

11 Povzetek Naslov: ALGator Primerjava algoritmov linearnega programiranja s pomočjo sistema Avtor: Andreja Perčič Problem linearnega programiranja se v praksi pojavlja na številnih področjih. Denar, čas, surovine, prostor in podobne dobrine so pogosto omejene, hkrati pa z njimi želimo optimalno ravnati, da bi povečali svoj dobiček in zmanjšali stroške. Če se zahteve lahko zapišejo v linearni obliki, nam do optimizacije stroškov pomagajo algoritmi linearnega programiranja. V sklopu diplomskega dela smo v sistemu ALGator implementirali dva algoritma za reševanje linearnih programov. Simpleksni algoritem, ki se v praksi najpogosteje uporablja ter afino skaliranje, ki optimalno rešitev išče v notranjosti dopustnega območja. Ključne besede: linearno programiranje, optimizacija, ALGator.

12

13 Abstract Title: Comparison of linear programming algorithms using the ALGator system Author: Andreja Perčič The problem of linear programming is often seen in many industries. Money, time, space and other resources are often limited, while we want to optimaly handle them to maximize our profit and minimize our costs. If we can write the constraints in a linear form, linear programming algorithms can help us get the optimal profit. In this diploma we implemented two linear programming algorithms in the ALGator system. The simplex algorithm, which is most often used in practice, and affine scaling which moves in the interior of the feasible region, to get to the optimal solution. Keywords: linear programming, optimization, ALGator.

14

15 Poglavje 1 Uvod 1.1 Opis področja Nekateri optimizacijski problemi se matematično formulirajo kot problemi vezanih ekstremov. Splošni problem vezanega ekstrema formuliramo takole: določiti je treba ekstreme kriterijske funkcije več neodvisnih spremenljivk tako, da zadoščajo predpisanim pogojnim enačbam. Med problemi vezanih ekstremov izstopajo tisti, pri katerih je kriterijska funkcija linearna glede na vse spremenljivke, in pri katerih zadoščajo spremenljivke, ki lahko zavzemajo samo nenegativne vrednosti, pogojnim enačbam, ki so tudi linearne glede na vse spremenljivke. Problemi tega tipa so predmet linearnega programiranja. Najpogosteje se nanašajo na optimalno uporabo ali razporeditev kakršnihkoli sredstev, ki so na voljo le v omejenih količinah. Ker so številni problemi, s katerimi se srečujemo v gospodarstvu in tehniki, prav take vrste, se je praktična uporabnost linearnega programiranja kaj kmalu izkazala na številnih gospodarskih področjih, zlasti tistih, ki zadevajo podjetja [1]. 1

16 2 Andreja Perčič 1.2 Namen dela Namen diplomske naloge je bil implementirati problem linearnega programiranja v sistem ALGator. Implementirali smo dva najbolj znana algoritma, simpleksno metodo in afino skaliranje. Sistem ALGator se razvija, s tem ko se dodajajo vedno novi problemi s svojimi pripadajočimi algoritmi. Glavni namen sistema ALGator je, da bi nekdo, ki razvije nov algoritem, lahko primerjal svojo implementacijo z že uveljavljenimi algoritmi za reševanje določenega problema. Vsi algoritmi, znotraj modula linearnega programiranja, ki smo ga dodali v sistem ALGator, se testirajo na enaki množici testnih primerov, ki smo jih prav tako dodali v sklopu diplomskega dela. 1.3 Pregled dela Diplomsko delo sestavlja šest poglavij. V uvodu na splošno predstavimo področje, kjer se linearno programiranje uporablja, in na kratko opišemo poglavja, ki jih bomo obravnavali. V drugem poglavju pregledamo kratko zgodovino linearnega programiranja in glavne znanstvenike, ki so pripomogli k razvoju področja in dokazovanju časovne zahtevnosti algoritmov za reševanje linearnih programov. V tretjem poglavju definiramo glavne pojme, ki se uporabljajo v linearnem programiranju. Predstavimo primer kmetije, ki ga formuliramo kot linearni program z neenačbami, v matrični obliki in grafično. Nadaljujemo z nekaj osnovne teorije linearnega programiranja. Definiramo pojem konveksne množice, ki je pri linearnem programiranju območje, kjer ležijo vse dopustne rešitve. Podamo osnovni izrek linearnega programiranja, ki pravi, da v konveksni množici maksimum in minimum linearne funkcije ležita v eni od njegovih ekstremnih točk in ne v notranjosti. Izrek je teoretična osnova simpleksni metodi, ki ekstrem kriterijske funk-

17 Diplomska naloga 3 cije linearnega programa išče samo med ekstremnimi točkami dopustnega območja. Metodo predstavimo v četrtem poglavju. Izvajanje algoritma tudi ponazorimo na primeru kmetije. Poleg simpleksne metode v četrtem poglavju predstavimo še dve metodi notranjih točk, ki optimalno rešitev kriterijske funkcije iščeta z zaporednimi koraki v notranjosti dopustnega območja. To sta afino skaliranje in elipsoidna metoda. V naslednjem poglavju opišemo integracijo algoritmov v sistem ALGator. Opišemo sam sistem, kaj omogoča in kako vanj dodamo kodo algoritma in testne primere. V šestem poglavju si na začetku ogledamo splošno obliko vhodnih podatkov, zapis MPS, ki se najpogosteje uporablja za zapis linearnih programov. V naslednjem podpoglavju pa predstavimo rezultate meritev implementiranih algoritmov, ki smo jih dobili iz sistema ALGator. V zadnjem, sedmem poglavju na splošno pregledamo rezultate meritev in zaključimo s sklepnimi ugotovitvami, kateri implementirani algoritem se je na naših testnih primerih izkazal najbolje. 1.4 Sorodni problemi Pri naših testih smo se osredotočili na linearno programiranje, kjer je rezultat v obliki realnih števil. Obstajajo pa tudi problemi linearnega programiranja, ki za obliko rezultata zahtevajo drugačne, strožje pogoje npr. zahteve po celoštevilskih rešitvah. Čeprav so zelo podobni navadnim linearnim programom, moramo zaradi dodatnih zahtev uporabiti drugačne algoritme, ki imajo v splošnem tudi večjo časovno zahtevnost. V številnih problemih optimizacije se pojavlja zahteva po celoštevilskih rešitvah. Ne moremo npr. prodati 0.5 avtomobila, če jih ne prodajamo po delih. Takšni problemi spadajo v celoštevilsko linearno programiranje, ki ga s tujko označujemo kot ILP(integer linear programming). Takšni problemi so težji in sodijo v skupino NP-težkih problemov, za katere ne poznamo natančnih

18 4 Andreja Perčič algoritmov polinomske časovne zahtevnosti. Na prvi pogled bi se problem dalo rešiti tako, da bi sprostili zahtevo po celih številih, problem rešili npr. s simpleksno metodo, na koncu pa rešitev zaokrožili na najbližje celo število. Vendar take rešitve niso nujno optimalne, lahko tudi sploh ne ležijo več v dopustnem območju. Zato je treba za celoštevilsko linearno programiranje uporabiti druge algoritme. Najbolj znani sta metoda Razveji in omeji in Gomoryjeva metoda rezanja ravnine. Pri nekaterih problemih se le za neko podmnožico spremenljivk zahteva, da so celoštevilske, preostalim dovolimo realno vrednost. Tudi takšni problemi so NP-težki, saj so še bolj splošni kot ILP problemi. Primer bi bil npr. obsežnejši primer optimizacije kmetije, kjer bi prodajali koruzo v kilogramih, živali pa bi kmetijo zapustile žive, torej bi se zanje zahtevalo celo število. Reševanju takšne oblike problema pravimo mešano linearno programiranje oz. s tujko MILP (mixed integer programming). 0-1 linearni programi so optimizacijski problemi, kjer vsaka spremenljivka lahko zavzame le vrednosti 0 ali 1. Primer je npr. problem nahrbtnika, kjer lahko z določeno množico predmetov zapolnimo omejeno prostornino nahrbtnika. Vsak predmet ima svojo ceno, vrednost nahrbtnika želimo maksimizirati, predmetov pa ne smemo rezati. Torej, tu se za vsak predmet odločimo, ali ga v nahrbtnik damo (vrednost 1) ali ne (vrednost 0). Tudi 0-1 LP problemi so NP-težki [7, 29].

19 Poglavje 2 Zgodovina 2.1 Razvoj algoritmov Po svojem zgodovinskem razvoju je linearno programiranje razmeroma mlada panoga uporabne matematike, saj segajo njegovi začetki v čas neposredno pred drugo svetovno vojno. Prve formulacije problemov linearnega programiranja in prve metode reševanja so iz leta 1939 v knjigi ruskega matematika Leonida Kantoroviča o organizaciji in planiranju proizvodnje [4]. Neodvisno od ruskih matematikov so linearno programiranje razvijali na zahodu zlasti ameriški znanstveniki. Kot prvi med njimi je leta 1941 Frank Hitchcock objavil študijo o transportnem problemu linearnega programiranja [12]. Leta 1947 je George Dantzig odkril splošno algebrajsko metodo za reševanje linearnih programov, imenovano metoda simpleksov. Za prakso pomembni problemi linearnega programiranja morajo upoštevati številne okoliščine in zahtevajo pri numeričnem reševanju toliko računanja, da ga je mogoče praktično opraviti le z računalnikom. Zato ni naključje, da se je linearno programiranje zares uveljavilo šele tedaj, ko je bilo mogoče za numerično računanje uporabiti elektronske računalnike. Pomemben mejnik je leto 1952, ko je bil prvič izdelan program za elektronsko reševanje problemov 5

20 6 Andreja Perčič linearnega programiranja po metodi simpleksov [1]. 2.2 Časovna zahtevnost Dolgo časa ni bilo jasno, ali linearni programi sodijo v razred težkih problemov z nepolinomskimi časovnimi zahtevnostmi ali ne. Leta 1970 sta Victor Klee in George Minty našla primer, ki je pokazal, da je uporaba metode simpleksov eksponentne časovne zahtevnosti. Leta 1978 je ruski matematik Leonid Khachiyan s pomočjo elipsoidne metode dokazal, da sodi linearno programiranje v razred problemov s polinomsko časovno zahtevnostjo. Elipsoidno metodo so sicer leta 1972 iznašli Naum Shor, Arkady Nemirovsky in David Yudin. Nekaj let kasneje, leta 1984, je Narendra Karmarkar napisal Karmarkarjev algoritem, ki temelji na metodi notranjih točk. Z njim mu je uspelo ponovno dokazati polinomsko časovno zahtevnost reševanja linearnih programov. Za razliko od elipsoidne metode je Karmarkarjev algoritem uporaben tudi v praktičnih linearnih problemih. Še danes ostaja odprto vprašanje, ali je mogoče najti algoritem za reševanje linearnih problemov, ki bi bil krepke polinomske časovne zahtevnosti (število korakov, ki jih potrebuje algoritem za reševanje problema, je odvisno samo od števila spremenljivk in omejitev, ne pa tudi od velikosti podatkov) [13].

21 Poglavje 3 Teoretično ozadje 3.1 Osnovna formulacija LP Splošni problem linearnega programiranja v standardni obliki zapišemo takole: iščemo tako vrednost spremenljivke x = (x 1,..., x n ), ki zadošča pogojem nenegativnosti: x 1 0,..., x n 0 in linearnim omejitvam: a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b a m1 x 1 + a m2 x a mn x n b m tako da kriterijska funkcija: f(x 1,..., x n ) = c 1 x c n x n v njej doseže maksimum. Pri tem sta n in m poljubni naravni števili, koeficienti a ij in c j pri i = 1... m, j = 1... n, poljubna realna števila, števila b i pri i = 1... m, pa poljubna 7

22 8 Andreja Perčič nenegativna števila. Pogojne neenačbe sestavljajo sistem neodvisnih in neprotislovnih neenačb. V standardni obliki iščemo maksimum kriterijske funkcije. Če želimo poiskati minimum, faktorjem kriterijske funkcije spremenimo predznak, drugače pa je problem ekvivalenten [1, 14]. Linearni program lahko zapišemo tudi v matrični obliki: max c T x Ax b x 0 kjer je c 1 c 2 c = vektor koeficientov kriterijske funkcije,. c n a 11 a a 1n a 21 a a 2n A =. matrika sistema neenakosti, ki predstavljajo omejitve,..... a m1 a m2... a mn x 1 x n x 2 x = iskan vektor, ki ima vse svoje člene nenegativne in. b 1 b m b 2 b = vektor prostih členov neenačb..

23 Diplomska naloga 9 Ponazorimo na primeru. Želimo optimizirati zaslužek kmetije. Kmet ima 300 arov zemlje in želi posaditi pšenico in koruzo. Da vzgojimo en ar pšenice, porabimo 275 e, za en ar koruze pa 140 e. Kmet ima za kritje stroškov na voljo e. Vsak ar posajene pšenice obrodi 120 kg pridelka, ar koruze pa 30 kg pridelka. Kmet ima sklenjeno pogodbo za prodajo pšenice po ceni 3 e za kg in prodajo koruze po 6 e za kg. Prodaja se izvede šele nekaj mesecev po žetvi, zato mora kmet pšenico in koruzo hraniti v skladišču, ki ima maksimalno kapaciteto kg. Želimo maksimizirati dobiček kmeta. Najprej izračunamo dobiček pšenice in koruze na ar. Za pšenico porabimo 275 e, pridelek je vreden 120*3 = 360 e. Dobiček pšenice je tako = 85 e. Za koruzo porabimo 140 e, pridelek je vreden 30*6 = 180 e. Dobiček koruze je = 40 e. Označimo x 1 = število arov posejane pšenice, x 2 = število arov posejane koruze. Iskali bomo maksimum kriterijske funkcije f = 85x x 2 Omejitev kapacitete skladišča nam da prvo omejitev: 120x x Omejeno število začetnih sredstev drugo: 275x x Omejena prostornina zemlje pa tretjo: x 1 + x Pogoji negativnosti veljajo, ker ne moremo posaditi negativnega števila arov pšenice ali koruze [15].

24 10 Andreja Perčič Če omejitve zapišemo v matrični obliki, imamo: [ ] c = A = x = 1 1 [ x1 x 2 ] b = Vse omejitve lahko predstavimo tudi v grafični obliki (glej sliko 3.1). Točke na robu in znotraj sivega območja zadoščajo vsem pogojem, rečemo jim tudi dopustne rešitve linearnega programa. Iščemo torej tisto točko v dopustnem območju, ki optimizira kriterijsko funkcijo. Slika 3.1: Dopustne rešitve ležijo znotraj sivega območja in na njegovih mejah

25 Diplomska naloga Konveksna množica dopustnih rešitev Kot vidimo na sliki 3.1, dopustne rešitve linearnega programa ležijo na mnogokotniku, omejenem z abciso in ordinato (oz. x in y osjo) spodaj in linearnimi premicami omejitev zgoraj. Posledica tega je, da je dopustno območje linearnega programa konveksna množica. To pomeni, da če vzamemo dve poljubni točki v množici in med njima potegnemo premico, tudi vse točke na njej ležijo v konveksni množici. Za lažjo predstavo si oglejmo sliko 3.2. Slika 3.2: S1 predstavlja nekonveksno množico, S2 pa konveksno množico [17] Osnovni izrek linearnega programiranja pravi, da sta minimum in maximum linearne funkcije na konveksnem mnogokotniku v eni izmed njegovih ekstremnih točk, torej na eni izmed točk na zunanjem robu mnogokotnika. V primeru, da je ekstrem dosežen v dveh točkah, je dosežen tudi na celi premici med njima. Izrek je pomemben pri simpleksni metodi, kjer rešitve, zaradi izreka, lahko iščemo samo med točkami na robu dopustnega območja in ne v notranjosti [1, 18]. V splošnem glede oblike dopustnega območja ločimo tri možnosti. Množica dopustnih rešitev je prazna. V tem primeru rečemo, da je problem nedopusten in linearni program nima nobene rešitve. To se zgodi v primeru, ko pogojne neenačbe sestavljajo protisloven sistem, na primer tako, kot je prikazano na sliki 3.3.

26 12 Andreja Perčič Slika 3.3: Problem je nedopusten, nimamo nobene rešitve. Množica dopustnih rešitev je neomejena. V tem primeru je vrednost kriterijske funkcije lahko poljubno velika. Pri praktično pomembnih problemih linearnega programiranja ta možnost nima pravega smisla. Primer neomejenega območja je prikazan na sliki 3.4. Slika 3.4: Sivo označeno območje je neomejeno, rešitev je lahko poljubno velika. Množica dopustnih rešitev je neprazna in omejena konveksna množica. V tem primeru pravimo, da je problem dopusten in omejen. Pri praktično pomembnih problemih linearnega programiranja se srečamo s to možnostjo. Primer takšnega območja je prikazan na sliki 3.5.

27 Diplomska naloga 13 Slika 3.5: Sivo označeno območje dopustnih rešitev, ki je omejena konveksna množica.

28 14 Andreja Perčič

29 Poglavje 4 Algoritmi 4.1 Simpleksna metoda Simpleksna metoda rešuje linearni program v obliki: max c T x Ax = b Na primeru kmetije pokažimo izvajanje simpleksne metode. Spomnimo se podatkov: f = 85x x 2 120x x x x x 1 + x Ker v pogojih želimo enakosti, trenutno pa imamo neenakosti, bomo dodali dopolnilne spremenljivke na levi strani neenačb. Enačbe skupaj s kriterijsko funkcijo tvorijo simpleksno tabelo. Vrstico, v kateri je na začetku kriterijska funkcija, imenujemo funkcional. Dopolnilne spremenljivke so v začetni simpleksni tabeli na levi strani in jih imenujemo bazne spremenljivke, preostale 15

30 16 Andreja Perčič spremenljivke na desni pa nebazne. Oboje morajo imeti vrednost večjo ali enako 0. Slovar je dopusten, če so vsi prosti členi na desni strani nenegativni. Vsak dopusten slovar ima bazno dopustno rešitev, pri kateri imajo bazne spremenljivke vrednost prostih členov, nebazne pa vrednost 0. Dopolnjen problem ima obliko: 120x x 2 + x 3 = x x 2 + x 4 = x 1 + x 2 + x 5 = 300 z = 85x x 2 Izrazimo bazne spremenljivke z nebaznimi, dobimo 1. simpleksno tabelo: x 3 = x 1 30x 2 x 4 = x 1 140x 2 x 5 = 300 x 1 x 2 z = 85x x 2 V naslednjih korakih poskušamo izboljšati bazno dopustno rešitev. To naredimo tako, da zamenjamo vlogi para ene bazne in ene nebazne spremenljivke. Ena nebazna spremenljivka (na desni) vstopi v bazo, ena od baznih (na levi) pa izstopi. Vstopi lahko katerakoli izmed nebaznih spremenljivk, ki ima v funkcionalu pozitiven koeficient. Izstopajoča spremenljivka pa je tista, ki najbolj omejuje vrednost vstopajoče spremenljivke. V primeru, da ne moremo izbrati izstopajoče spremenljivke (nobena ne omejuje vrednosti vstopajoče), je problem neomejen. Vrstica slovarja, iz katere je izstopajoča spremenljivka, se imenuje pivotna vrstica. Iz nje izrazimo vstopajočo spremenljivko. V prvem koraku lahko za vstopajočo spremenljivko izberemo x 1 ali x 2. Izberimo x 1. Po pravilu, ki dokazano preprečuje ciklanje simpleksnih tabel,

31 Diplomska naloga 17 namreč v vsakem koraku za vstopajočo spremenljivko vzamemo tisto, ki ima najmanjši indeks. Vse nebazne spremenljivke, razen naše vstopajoče x 1, nastavimo na 0. Ker morajo biti x 3, x 4, x 5 0, dobimo omejitve: x x x 1 0 x 3 najbolj omejuje x 1, zato iz 1. vrstice slovarja izrazimo x 1. Dobimo 2. simpleksno tabelo: x 1 = x x 3 kar vstavimo v preostali dve enačbi (napisani sta samo poračunani končni enačbi): x 4 = x x 3 x 5 = x x 3 z = x x 3 V funkcionalu ima sedaj samo še x 2 pozitiven koeficient, zato vstopa v bazo. Najbolj jo omejuje x 4, zato izstopa iz baze. 3. simpleksna tabela: x 2 = x x x 1 = x x x 5 = x x 95 4 z = x x 19 4 Ker sedaj v funkcionalu ni ostalo nobene pozitivne spremenljivke več, vemo, da rešitve ne moremo več izboljšati. Optimalno rešitev začetnega problema lahko sedaj preberemo iz zadnjega slovarja. Prosti člen pri x 1 je , pri x 2 pa Če ti dve vrednosti vstavimo v začetni funkcional z = 85x x 2, dobimo = , kar bi lahko direktno prebrali kot prosti člen funkcionala

32 18 Andreja Perčič v zadnjem slovarju [5, 19]. Pri simpleksni metodi zahtevamo začetno rešitev v obliki Ax = b, kjer je vektor b 0. To v splošnem ne drži, vektor b ima katero od komponent negativno. V tem primeru moramo najprej popraviti problem, da so vse pozitivne. To lahko naredimo z metodo velikega M-ja. Vsaki vrstici simpleksne tabele, ki ima koeficient b-ja negativen, priredimo dodatno umetno spremenljivko, ki ima v kriterijski funkciji velik, negativen koeficient. Ker iščemo maksimum kriterijske funkcije, z zelo negativnim koeficientom poskrbimo, da nobena umetna spremenljivka ne bo nastopala v končni rešitvi [21]. Pokažimo postopek metode velikega M-ja na primeru: minimiziramo 2x 1 + 3x 2 + x 3 pri pogojih: x 1 + x 2 + x x 1 + x 2 x 3 10 x 2 + x 3 10 x 1, x 2, x 3 0 Neenačbe popravimo, da so vsi neenačaji pravilno obrnjeni: min 2x 1 + 3x 2 + x 3 x 1 + x 2 + x x 1 x 2 + x 3 10 x 2 x 3 10 x 1, x 2, x 3 0 Potem neenačbe pretvorimo v enačbe z dopolnilnimi in umetnimi spremenljivkami. V vrsticah, kjer je na desni strani neenačbe negativno število, imajo dopolnilne spremenljivke negativen predznak, poleg nje pa uvedemo dodatno umetno spremenljivko s pozitivnim predznakom. Kot bazne spremenljivke v 1. simpleksni tabeli vzamemo pozitivne dopolnile spremenljivke, v preostalih vrsticah pa pozitivne umetne spremenljivke.

33 Diplomska naloga 19 x 1 + x 2 + x 3 + x 4 = 40 2x 1 + x 2 x 3 x 5 + a 1 = 10 x 2 + x 3 x 6 + a 2 = 10 z = 2x 1 + 3x 2 + x 3 Ma 1 Ma 2 V funkcionalu smo dodali negativna a 1 in a 2 pomnožena z M. Z M označujemo neko zelo veliko število, večje od faktorjev, ki se pojavljajo v simpleksni tabeli. Ker iščemo maksimum funkcije, s tem zagotovimo, da sta vrednosti umetnih spremenljivk v končni rešitvi enaki 0. V funkcional smo, za umetne spremenljivke, dodali negativne faktorje M. V začetni simpleksni tabeli pa morajo imeti bazne spremenljivke v funkcionalu vrednost 0. To popravimo tako, da od funkcionala odštejemo, pomnoženo z M, vsako vrstico, kjer nastopa umetna spremenljivka. Začetni funkcional je v našem primeru torej: z = 2x 1 + 3x 2 + x 3 Ma 1 Ma 2 + M(2x 1 + x 2 x 3 x 5 + a 1 10) + M( x 2 + x 3 x 6 + a 2 10) Poračunano dobimo: z = (2 + 2M)x 1 + 3x 2 + x 3 Mx 5 Mx 6 20M Sedaj problem rešimo po standardni simpleksni metodi. 1. simpleksna tabela: x 4 = 40 x 1 x 2 x 3 a 1 = 10 2x 1 x 2 + x 3 + x 5 a 2 = 10 + x 2 x 3 + x 6 z = (2 + 2M)x 1 + 3x 2 + x 3 Mx 5 Mx 6 20M Vstopa x 1, izstopa a simpleksna tabela: x 1 = x x x a 1 x 4 = x x x a 1

34 20 Andreja Perčič a 2 = 10 + x 2 x 3 + x 6 z = 10 10M + (2 M)x 2 + (2 + M)x 3 + x 5 Mx 6 a 1 Ma 2 Vstopa x 3, izstopa a simpleksna tabela: x 3 = 10 + x 2 + x 6 a 2 x 1 = x x 2 6 1a 2 1 1a 2 2 x 4 = 20 7x 2 2 1x 2 5 3x a 2 1 z = x 2 + x 5 + 2x 6 (2 + 2M)a 2 a 1 Vstopa x 2, izstopa x simpleksna tabela: x 2 = x x a 1 x 3 = x x a 1 a 2 x 1 = x x a a 2 z = x x a 1 (2 + 2M)a 2 Vstopa x 5, izstopa x simpleksna tabela: x 5 = 40 3x 6 + a 1 7x 2 x 3 = 10 + x 2 + x 6 a 2 x 1 = 30 7 x 2 6 1a 2 2 z = 70 3x 2 x 6 (2 + 2M)a 2 Ker so vse spremenljivke v funkcionalu sedaj negativne, smo prišli do konca simpleksne metode in našli optimalno rešitev x 1 = 30, x 2 = 0, x 3 = 10, pri čemer je vrednost funkcionala enaka 70.

35 Diplomska naloga Metode notranjih točk Metode notranjih točk delujejo iterativno po notranjosti dopustnega območja rešitev. Korake, s katerimi poiščejo optimalno rešitev, lahko poenostavljeno zapišemo takole: 1. korak: začnemo z dopustno rešitvijo v notranjosti 2. korak: če je trenutna rešitev dovolj dobra, se ustavimo, sicer 3. korak: preverimo vse smeri za izbolšanje kriterijske funkcije in se premaknemo v smeri boljše rešitve. Vrnemo se na 2. korak. Slika 4.1: Koraki metode notranjih točk, začetek je v x 1, konec pa v x Če začetno dopustno rešitev v notranjosti označimo z x 0, imamo strukturo problema v obliki: Ax 0 = b, kjer so vse komponente x 0 večje od 0. Če bi bila namreč katera od komponent x 0 enaka nič, bi to pomenilo, da se rešitev nahaja na robu dopustnega območja, mi pa želimo začeti v notranjosti. Premikanje po notranjosti dopustnega območja lahko opišemo z iterativno enačbo x k+1 = x k + αd, kjer z α 0 označimo dolžino koraka, z d pa smer koraka. Ker točka ni na robu dopustnega območja, se iz nje lahko premaknemo v katerikoli smeri, vendar moramo pri tem paziti, da ostanemo znotraj

36 22 Andreja Perčič dovoljenega območja. Tako lahko v primeru določenih smeri naredimo daljši korak, pri drugih pa krajšega. Smeri, ki omogoča, da naredimo majhen premik in še vedno ostanemo znotraj dopustnega območja, rečemo možna smer premika. Smer, ki pa vodi v izboljšanje vrednosti kriterijske funkcije, imenujemo dobra smer premika. Rečemo, da je rešitev optimalna, kadar nobena možna smer iz trenutne rešitve ne izboljša kriterijske funkcije, se pravi nobena možna smer ni dobra smer premika. Če smo blizu meje dovoljenega območja, mora biti korak kratek, če pa blizu sredine, lahko naredimo daljši korak. Če trenutna rešitev ni blizu sredine, bomo v opisanih algoritmih transformirali koordinate, da bo [5] Afino skaliranje Slika 4.2: Algoritem afinega skaliranja v vsakem koraku transformira ravnino, tako da je trenutna točka v njeni sredini [22]. Iščemo rešitev problema v obliki:

37 Diplomska naloga 23 min c T x Ax = b x 0 Algoritem afinega skaliranja začnemo v neki točki x 0, ki leži v notranjosti dopustnega območja. To pomeni, da ustreza enačbi Ax 0 = b in ima vse komponente strogo večje od 0. V primeru, da bi bila katera od komponent vektorja x 0 enaka 0, bi to pomenilo, da točka leži na robu dopustnega območja. Skozi iteracije algoritma se potem, iz te začetne točke, skozi notranjost dopustnega območja premikamo v smeri optimalne rešitve. Ideja algoritma je, da se v vsakem koraku premaknemo v smeri negativnega gradienta kriterijske funkcije. Če bi iskali maksimum, bi se želeli premakniti v smeri najhitrejšega naraščanja funkcije, torej v smeri gradienta, tukaj pa iščemo minimim, zato se premikamo v smeri negativnega gradienta. Problem je, da gradient kriterijske funkcije lahko leži zunaj dopustnega območja. To rešimo tako, da točko gradienta projiciramo na dopustno območje in se premaknemo v smer projicirane točke. Tako zagotovimo, da v vsakem koraku ostanemo znotraj dopustnega območja. V vsakem koraku algoritma bi želeli narediti čim večji korak v pravi smeri, saj tako seveda hitreje pridemo do rešitve. Problem nastane, ker v primeru, da smo dokaj blizu meje dopustnega območja, ne moremo narediti velikega koraka, ker bi padli čez mejo. Zato v vsakem koraku algoritma transformiramo ravnino in s tem trenutno točko x k prestavimo bolj v sredino dopustnega območja. To storimo tako, da elemente trenutne rešitve x k preslikamo v enice. Vsako komponento vektorja delimo samo s sabo oz. vektor množimo z inverzom diagonalne matrike, ki ima na diagonali ta vektor, na vseh preostalih mestih pa ničle. Tudi matriko A in vektor c množimo z inverzom te diagonalne matrike in tako transfor-

38 24 Andreja Perčič miramo prostor rešitev. Novi x k se nahaja v transformiranem dopustnem območju, od vsake meje je oddaljen vsaj za 1 enoto. Iz te, transformirane, rešitve se prekmaknemo za nek faktor β [0, 1] v smeri negativnega gradienta. Na koncu transformiramo dobljeno rešitev x k nazaj v originalne koordinate. Izvajanje algoritma zaključimo, ko najdemo rešitev dovolj blizu optimalni. Tukaj uporabimo močni izrek o dualnosti, ki pravi, da sta optimalni rešitvi originalnega in dualnega programa enaki. V našem primeru končamo, ko je razlika dovolj majhna [2]. Algoritem 1 Algoritem afinega skaliranja Vhod: Linearni program min c T x, pri Ax = b, x 0 Izhod: Rešitev x*, v ɛ-okolici optimalne rešitve 1: while true do 2: X k =diag (x k ) 3: w k = (AX 2 k AT ) 1 AX 2 k c 4: r k = c A T w k 5: if r k > 0 in 1 T X k r k ɛ then 6: trenutna rešitev x k je ɛ-optimalna, končamo 7: else if X k r k 0 then 8: problem je neomejen, končamo 9: else 10: x k+1 = x k β X2 k rk X k r k 11: end Vhod algoritma je točka v notranjosti dopustnega območja x 0, matrika A, koeficientov v enačbah omejitev in vektor c, koeficientov kriterijske funkcije. V 1. vrstici definiramo zanko, ki teče, dokler ne najdemo dovolj dobre rešitve oz. zaznamo, da je problem neomejen. V 2. vrstici algoritma definiramo diagonalno matriko X k, ki ima po diagonali

39 Diplomska naloga 25 elemente vektorja x k. V 3. vrstici definiramo w k, ki projicira gradient na dopustno območje, s tem tudi ocenimo vrednost duala v trenutni točki. V 4. vrstici definiramo r k, ki pove faktor razlike med rešitvijo originalnega problema in rešitvijo duala. V 5. vrstici preverimo, ali je razlika med rešitvama originalnega in dualnega problema dovolj majhna. Če je, končamo izvajanje algoritma. Pravimo, da smo našli ɛ-optimalno rešitev. Ker za elemente x k vedno zahtevamo, da so nenegativni, je tudi diagonalna matrika X k nenegativna. Tako se ne more zgoditi, da bi bil drugi del pogoja, 1 T X k r k negativen. Če v 5. vrstici nismo našli končne rešitve, se v 7. vrstici za dolžino koraka β premaknemo v smeri projiciranega gradienta. S tem smo naredili korak v smeri optimalne rešitve. Pokažimo korake algoritma na problemu kmetije. Ker algoritem zahteva, da kriterijsko funkcijo minimiziramo, v algoritmu pa iščemo maksimum, jo bomo pomnožili z -1. Torej: min 85x 1 40x 2 120x x 2 + x 3 = x x 2 + x 4 = x 1 + x 2 + x 5 = 300 Za začetno točko v notranjosti vzamemo npr. x 1 = 172, x 2 = 73, druge člene pa določimo tako, da enačbe veljajo. To storimo tako, da rešimo sistem linearnih enačb, saj moramo samo določiti vrednosti [ dopolnilnih spremenljivk ] x 3, x 4 in x 5. Za začetno točko imamo tako x 0 = Algoritme smo v sistemu ALGator sicer implementirali v java kodi, vendar smo za namene testiranja uporabljali tudi program Octave, v katerem se

40 26 Andreja Perčič matrike in vektorji definirajo hitreje in bolj pregledno. programska koda: Priložena Octave function opt () A = [ ; ; ]; b = [ ]; x = [ ] ; c = [ ] ; while(true) D=diag(x); wk = inv(a*d^2*a )*A*D^2*c; rk = c - A *wk; if (rk > 0 && D*rk <= 0.05) break elseif (-D*rk >= 0) break endif x end x = x *(D^2*rk/norm(D*rk)); endfunction Dobimo rešitev x = [ ] Optimalna rešitev je x 1 = in x 2 = , torej smo jo pravilno našli. Če merimo čas izvajanja algoritma, je ta seveda odvisen od ɛ, bolj natančno rešitev kot želimo, več korakov in časa bomo za to potrebovali. V naših testih se omejimo na dve decimalki, kar bi bilo realno pri problemu kmetije [23, 24, 25].

41 Diplomska naloga Elipsoidna metoda Elipsoidna metoda je algoritem za reševanje linearnih programov in tudi nekaterih nelinearnih problemov optimizacije. Leta 1979 je Leonid Khachyian dokazal, da je z elipsoidno metodo linearne programe možno rešiti v polinomskem času. To je bil za teorijo časovne kompleksnosti linearnega programiranja velik dosežek. Žal pa se je v praksi metoda pokazala za prepočasno. Metoda ima polinomsko časovno zahtevnost, vendar ne močno polinomske. Pri močno polinomskih algorithmih je časovna zahtevnost odvisna samo od velikosti problema, npr. števila enačb, ne pa tudi od samih števil, ki nastopajo v enačbah. V našem primeru linearnega programiranja, ko iščemo rešitev enačbe Ax b, A R n m, bi bil močno polinomski algoritem časovno navzgor omejen le z dimenzijami matrike A m in n, pri elipsoidni metodi pa je časovna zahtevnost odvisna tudi od velikosti koeficientov matrike A. Elipsoidno metodo lahko ponazorimo kot lovljenje leva v sahari. Predpostavljamo, da je lev največ eden. Najprej ogradimo vso saharo, potem razpolovimo ograjen prostor na dve polovici in detektiramo, da v eni od polovic leva ni. Nadaljujemo isti postopek deljenja ograjenega prostora, dokler ni delček zemlje tako majhen, da se lev ne more več premikati in je s tem ujet, ali pa leva ni na njem in smo s tem dokazali, da ga tudi v celotni sahari ni [16]. Elipsoidna metoda deluje po podobnem principu. V vsakem koraku iskanja je ograjeno območje v obliki elipse, kar pomeni, da leva iščemo tudi v nekaterih robnih delih, iz katerih smo ga že izključili. Njegov teritorij pa se v vsakem koraku strogo krči. Iteracije algoritma ponavljamo, dokler center trenutne elipse ne pade v dopustno območje, ali pa je elipsa tako majhna, da pridemo do zaključka, da rešitve ni. Elipsoidna metoda sicer linearnega programa ne reši direktno. Poišče samo

42 28 Andreja Perčič dopustno rešitev sistema linearnih neenačb Ax b. Iz tega je možno dobiti optimalno rešitev na dva načina: 1.) Sistemu neenačb lahko dodamo pogoj, da mora biti rešitev večja od neke konstante. Optimalno rešitev s tem dobimo tako, da večkrat poženemo metodo in z bisekcijo najdemo optimalno rešitev. 2) Pomagamo si s teorijo dualnosti. v obliki: Če je originalen problem, ki ga rešujemo, max c T x Ax b x 0 je njegov dualni problem oblike: min b T y A T y c y 0 Šibki izrek o dualnosti pravi, da za vsak par originalnega problema in njegovega duala velja: c T x b T y, pri čemer je x dopustna rešitev prvotnega problema, y pa dopustna rešitev dualnega problema. Močni izrek o dualnosti pa: c T x = b T y, kar velja za optimalni rešitvi x in y, originalnega in dualnega problema [6, 26]. Tako lahko pri elipsoidni metodi rešujemo razširjen problem. Vsaka njegova dopustna rešitev, je optimalna rešitev originalnega linearnega programa.

43 Diplomska naloga 29 Neenačbe so: c T x b T y Ax b A T y c x, y 0

44 30 Andreja Perčič

45 Poglavje 5 Integracija v sistem ALGator 5.1 ALGator ALGator je sistem za avtomatsko primerjavo različnih algoritmov, ki rešujejo isti problem. Omogoča, da med sabo primerjamo časovno učinkovitost več različnih algoritmov, ki se izvajajo na istih testnih podatkih. Rezultate zapiše v datoteko, omogoča pa tudi grafično predstavitev [11]. 5.2 Implementirani algoritmi V sklopu diplomske naloge smo v javi implementirali simpleksno metodo in afino skaliranje. Programsko kodo smo vključili v sistemu ALGator, ki ju je izvedel na testnih podatkih. Rezultate smo primerjali med sabo in za bolj časovno učinkovit algoritem se je, po pričakovanjih, izkazala simpleksna metoda. 5.3 Opis datotek sistema ALGator Če želimo uporabljati sistem ALGator, moramo najprej prenesti osnovni projekt. To storimo z ukazom v konzoli 31

46 32 Andreja Perčič c u r l L O https : / / raw. github. com/algatordevel/ Algator / master /ALGator. z i p S tem se nam v trenutni direktorij prenese datoteka ALGator.zip, ki jo razširimo v poljuben direktorij, ki ga označimo z <algator root >. Sedaj lahko ustvarimo nov projekt z ukazom: java a l g a t o r. Admin cp <project name> V našem delu smo za <project name> izbrali ime LinearProgramming. Na projektu lahko sedaj ustvarimo poljubno število algoritmov z ukazom: java a l g a t o r. Admin ca <project name> <algorithm name> Datoteke, ki jih spreminjamo v sklopu celotnega projekta, so: <project name>input.java, ki definira objekt za vhodne podatke; <project name>output.java, ki definira objekt za izhodne podatke; <project name>testcase.java, ki definira parametre testnih primerov; <project name>absalgorithm.java, ki definira abstrakten razred z metodo run(), ki izvede algoritem. Naštete datoteke se nahajajo v /proj/src poddirektoriju projekta. Datoteka, ki jo spreminjamo v sklopu posameznega algoritma, pa je: <algorithm name>algorithm.java, kjer definiramo javansko kodo algoritma, ki jo želimo izvesti na testnih primerih in se nahaja v /algs/alg- <algorithm name>/src poddirektoriju projekta.

47 Diplomska naloga Vhodni podatki MPS format predstavitve podatkov je bil uporabljen na luknjanih karticah, s katerimi so programirali v začetku razvoja računalnikov. Določil ga je IBM, kot standardno predstavitev linearnih programov in še danes je večina objavljenih linearnih programov v tem formatu. Podatki so zapisani po stolpcih. Vsaka vrstica, stolpec in spremenljivka dobi svoje ime. Polja se začnejo na indeksih 2,5,15,25,40 in 50. Zgodovinsko so se za poimenovanje spremenljivk uporabljale velike tiskane črke, čeprav format dopušča tudi mešan font poimenovanja [30]. PRIMER MPS FORMATA NAME ROW S N L G E T EST COST LIM1 LIM2 LIM3 COLUMNS XON E COST 1 LIM 1 1 XONE LIM2 1 XT W O COST 4 LIM1 1 XT W O LIM3 1 XT HREE COST 9 LIM 2 1 XT HREE LIM 3 1 RHS RHS1 LIM 1 5 LIM 2 10 RHS1 LIM 3 7

48 34 Andreja Perčič BOUNDS UP BND1 XONE 4 LO BND1 XT W O 1 UP BND1 XT W O 1 ENDAT A Isti problem, zapisan v splošni obliki: min XONE + 4 XTWO + 9 XTHREE LIM1: XONE + XTWO 5 LIM2: XONE + XTHREE 10 LIM3: -XTWO + XTHREE = 7 XONE 4 XTWO -1 XTWO 1 Opombe: 1) V ROWS imajo oznake naslednje pomene: E.. enako L.. manjše ali enako G.. večje ali enako N.. brez omejitve 2) RHS definira desno stran enačbe Ax b 3) BOUNDS definira dovoljene meje spremenljivk, v primeru da niso definirane, se privzame 0 x < LO.. spodnja meja.. b x < + UP.. zgornja meja 0 x b FX.. fiksirana vrednost x = b FR.. prosta vrednost < x < MI.. spodnja meja < x 0 PL.. zgornja meja 0 x < + BV.. dvojiška vrednost x = 0 ali x = 1 LI.. celoštevilska vrednost b x < +

49 Diplomska naloga 35 UI.. celoštevilska vrednost 0 x b Ker so objavljene zbirke podatkov v formatu MPS zelo različnih velikosti in lastnosti, je na njih težko primerjati čase izvajanja. Naše testne podatke smo zato generirali sami, in velikosti lineranih programov povečevali vsakič z enakim korakom. Vsak primer linearnega programa iz testne zbirke smo med testiranjem izvedli desetkrat. Grafi prikazujejo minimalne čase izvajanja za vsakega izmed testnih primerov. Naše zbirke testnih primerov so bile označene z id-ji od 1 do 3. Primere smo generirali s programom Octave po naslednjih pravilih: - izbrali smo naključno generiran vektor v R n, ki bo predstavljal neko, ne nujno optimalno rešitev našega linearnega programa - določili b R m, ki ustreza pogoju b Av, pri čemer smo b določili, tako da smo vzeli b = Av + δ, kjer je δ naključno generirano število, večje od 0. Omejitve linearnega programa so tako Ax b, kriterijsko funkcijo pa lahko naključno generiramo. Generirali smo tri sklope testov, v vsakem po 10 primerov. V prvem testu imajo vsi primeri 10 omejitev, število spremenljivk pa je v vsakem primeru za 2 večje, vrednosti tečejo od 10 do 28. V drugem testu imajo vsi primeri 20 omejitev, število spremenljivk pa na enak način teče od 10 do 28. Tretji test ima primere s 30 omejitvami in številom spremenljivk od 10 do 28.

50 36 Andreja Perčič Slika 5.1: Rezultati afinega skaliranja na zbirki primerov 1. Na x-osi imamo število spremenljivk, ki teče od 10 do 28, na y-osi pa minimalni čas izvajanja v milisekundah. Število omejitev je v vseh primerih enako 10.

51 Diplomska naloga 37 Slika 5.2: Rezultati simpleksnega algoritma na zbirki primerov 1. Tudi tukaj je na x-osi število spremenljivk, na y-osi pa minimalni čas izvajanja. Število spremenljivk teče od 10 do 28, število omejitev je 10. Na sliki 5.1 so izrisani minimalni časi izvajanja vsakega od testnih primerov iz zbirke 1, z algoritmom afinega skaliranja, na sliki 5.2 pa rezultati izvajanja s simpleksnim algoritmom. Opazimo, da je pri afinem skaliranju čas izvajanja bolj odvisen od velikosti problema kot pri simpleksnem algoritmu, kjer prvi, manjši, testni primer porabi več časa kot zadnji. Če pa primerjamo oba algoritma, se časi močno razlikujejo, tako da je graf simpleksnega algoritma proti afinemu skaliranju skoraj raven, primerjavo vidimo na sliki 5.3. Čeprav je simpleksni algoritem v najslabšem primeru eksponentne časovne zahtevnosti, afino skaliranje pa ima polinomsko časovno zahtevnost, se simpleksna metoda v praksi izkaže za zelo učinkovito. V povprečnem primeru ima simpleksna metoda prav tako polinomsko časovno zahtevnost [10].

52 38 Andreja Perčič Slika 5.3: Rezultati obeh algoritmov na zbirki primerov 1. Slika 5.4: Rezultati afinega skaliranja na zbirki primerov 2. Tudi tu število spremenljivk teče od 10 do 28, število omejitev pa je 20 na vseh primerih iz testne zbirke 2.

53 Diplomska naloga 39 Slika 5.5: Rezultati simpleksnega algoritma na zbirki primerov 2. spremenljivk teče od 10 do 28, število omejitev pa je 20. Število Na grafih 5.4 in 5.5 so izrisani rezultati izvajanja afinega skaliranja in simpleksnega algoritma na zbirki testnih primerov 2. Velikost testnih primerov je linearno naraščala, v vsakem koraku smo dodali 2 novi omejitvi. Primeri so razvrščeni od leve proti desni, vendar časi niso odvisni samo od velikosti. Testni primeri se razlikujejo tudi v koeficientih omejitev, kar poleg velikosti problema tudi pomembno vpliva na rezultate. To je opazno predvsem pri simpleksnem algoritmu, mendtem ko je pri afinem skaliranju čas izvajanja bolj direktno povezan z velikostjo problema. Na grafih 5.6 in 5.7 so izrisani rezultati izvajanja algoritmov na testni zbirki 3. Tudi tu lahko vidimo, da je čas izvajanja odvisen tudi od koeficientov omejitev, ne samo od njihovega števila. In prav tako se je, prikazano na sliki 5.8, simpleksna metoda izkazala za učinkovitejšo.

54 40 Andreja Perčič Slika 5.6: Rezultati afinega skaliranja na zbirki primerov 3. Število spremenljivk na x-osi teče od 10 do 28, število omejitev pa je 30. Slika 5.7: Rezultati simpleksnega algoritma na zbirki primerov 3.

55 Diplomska naloga 41 Slika 5.8: Rezultati obeh algorithmov na zbirki primerov 3. Slika 5.9: Rezultati afinega skaliranja na vseh treh zbirkah primerov. Testni primeri si sledijo v naravnem zaporedju, na x-osi pa imamo tokrat id-je posameznega testnega primera.

56 42 Andreja Perčič Na grafu 5.9 so prikazani rezultati afinega skaliranja na vseh treh zbirkah podatkov. Vidimo, da je čas izvajanja zelo direktno povezan z velikostjo problema. Medtem ko na grafu 5.10, ki prikazuje čase izvajanja simpleksnega algoritma, ne opazimo tako direktne povezave med časom izvajanja in velikostjo problema. Slika 5.10: Rezultati simpleksnega algoritma na vseh treh zbirkah primerov. Testni primeri si sledijo v naravnem zaporedju, na x-osi pa imamo tokrat id-je posameznega testnega primera.

57 Diplomska naloga 43 Slika 5.11: Rezultati simpleksnega algoritma in afinega skaliranja na vseh treh zbirkah primerov. Testni primeri si sledijo v naravnem zaporedju, na x-osi pa imamo id-je posameznega testnega primera. Na grafu 5.11 so prikazani rezultati obeh algoritmov, na vseh treh skupinah testnih primerov. Vidimo, da na začetku, na manjših primerih, razlika ni tako velika, ko pa se velikost linearnih programov povečuje, je zelo očitno, da je simpleksni algoritem veliko hitrejši. Simpleksni algoritem ima sicer v najslabšem primeru eksponentno časovno zahtevnost, afino skaliranje pa polinomsko, vendar se izkaže, da je tudi simpleksna metoda v praksi bližje polinomski časovni zahtevnosti. Vprašanje je, ali bi se afino skaliranje dalo implementirati hitreje, in kaj vse je lahko vplivalo na naše čase izvajanja. Eden od faktorjev je, kako natančno rešitev želimo dobiti. Bolj natančno rešitev kot želimo, več iteracij algoritma moramo narediti, več časa porabimo. Drugi faktor, ki vpliva na hitrost implementacije, je način matričnih operacij.

58 44 Andreja Perčič Afino skaliranje ima v vsaki iteraciji precej matričnega množenja. Nekatere knjižnjice za delo z matrikami v javi podpirajo paralelno množenje, kar bi v kombinaciji s primerno strojno opremo lahko naredilo veliko razliko v hitrosti izvajanja algoritma. Matriki pravimo, da je redka ali razpršena, če je večina njenih elementov enaka nič. Pri matričnem množenju za redke matrike potrebujemo manj časa, saj zanje obstajajo bolj učinkoviti algoritmi množenja. To pa je odvisno, ne od velikosti problema, temveč samo od faktorjev, ki nastopajo v omejitvah linearnega programa.

59 Poglavje 6 Sklepne ugotovitve Diplomsko delo smo vsebinsko razdelili na dva dela. Najprej smo problem linearnega programiranja teoretično predstavili in obravnavali nekaj algoritmov za njegovo reševanje. V drugem delu pa smo dva algoritma, simpleksno metodo in afino skaliranje, implementirali v sistemu ALGator. Oba smo testirali na istih testnih zbirkah, izmed katerih so bili nekateri primeri pridobljeni iz objavljenih linearnih problemov, za drugi sklop testiranja pa smo testne primere generirali sami. Testiranje bi lahko izvedli na še večjih primerih, vendar smo se, ker se z naraščanjem dimenzije problema čas izvajanja hitro poveča, omejili na majhne do srednje velikosti problemov. Iz rezultatov testiranja smo videli, da za manše dimenzije problemov algoritma porabita približno enak čas, z večanjem števila spremenljivk in števila omejitev, pa se simpleksni algoritem po pričakovanjih izkaže za bolj učinkovitega. Implementacija problema linearnega programiranja v sistem ALGator je del razvoja sistema, ki služi v raziskovalne in študijske namene primerjave različnih algoritmov za reševanje istega problema. V prihodnje bi se lahko dodali tudi drugi algoritmi linearnega programiranja, ki bi se izvedli na istih, že ob- 45

60 46 Andreja Perčič stoječih testnih primerih, rezultati pa bi se lahko primerjali z že obstoječimi algoritmi. Možnost za razširitev implementacije bi bile, na primer, če bi se v sistem dodali tudi algoritmi za celoštevilsko in mešano linearno programiranje. Ti problemi so zahtevnejši od osnovnega linearnega programiranja, tako da bi bilo zanimivo primerjati časovno zahtevnost, morda bi se ti algoritmi vseeno izkazali za bolj učinkovite kot afino skaliranje.

61 Diplomska naloga 47

62 48 Andreja Perčič

63 Literatura [1] I. Vidav, Višja matematika II. Državna založba Slovenije, [2] R. Vanderbei, Linear Programming: Foundations and Extensions. Department of Operations Research and Financial Engineering, Princeton University, [3] A. Schrijver, Theory of linear and integer programming. John Wiley & Sons Ltd, England, [4] L. Kantorovič, Matematičeskie metodi organizacii i planirovanija proizvodstva [5] H. Karloff, Linear programming. Birkhäuser Basel, [6] J. Matoušek and B. Gartner, Understanding and Using Linear Programming. Springer, [7] A. Schrijver, Theory of linear and integer programming. John Wiley, [8] I. Griva, S. Nash, and A. Sofer, Linear and Nonlinear Optimization, Appendix E. George Mason University Fairfax, Virginia, [9] I. Lustig, A practical approach to karmarkar s algorithm, tech. rep., Department of Operations Research Stanford University Stanford,

64 50 Andreja Perčič [10] D. Spielman, Smoothed analysis of algorithms: Why the simplex algorithm usually takes polynomial time, tech. rep., Massachusetts Institute of Technology, [11] T. Dobravec, ALGator - An automatic algorithm evaluation system. Dosegljivo: : [12] F. Hitchcock, The distribution of a product from several sources to numerous localities, Journal of Mathematics and Physics, vol. 20, no. 3, [13] M. Berden, Zgodovina linearnega programiranja. Dosegljivo: zgodovinalp.pdf, [Dostopano ]. [14] Linearno programiranje. Dosegljivo: egradiva/pms-df/programiranje_male.html. [Dostopano: ]. [15] Linear programming. Dosegljivo: users/drachman/math106spring01/lec20_linear_programming. pdf. [Dostopano: ]. [16] Problem: To Catch a Lion In the Sahara Desert. Dosegljivo: Humor_Catching%20a%20Lion.pdf. [Dostopano: ]. [17] N. Lauritzen, Lectures on convex sets. Dosegljivo: uni-lj.si/~lavric/lauritzen.pdf, [Dostopano ]. [18] Optimization. Dosegljivo: Optimization.pdf. [Dostopano ]. [19] Optimization. Dosegljivo: QUANT/NOTES/chap7.pdf. [Dostopano ].

65 Diplomska naloga 51 [20] Dvofazna simpleksna metoda. Dosegljivo: uni-lj.si/course/view.php?id=41. [Dostopano ]. [21] An example of two phase simplex method. Dosegljivo: optlab.mcmaster.ca/feng/4o03/two.phase.simplex.pdf. [Dostopano ]. [22] Affine scaling algorithms. Dosegljivo: fuzzy-neural/wp-content/uploads/sites/9/2015/08/lpchapter- 7.pdf. [Dostopano ]. [23] Optimization Methods. Dosegljivo: sloan-school-of-management/15-093j-optimization-methodsfall-2009/lecture-notes/mit15_093j_f09_lec21.pdf. [Dostopano ]. [24] Affine scaling. Dosegljivo: Affine_scaling. [Dostopano ]. [25] R. Saigal, A simple proof of a primal affine scaling method. Dosegljivo: 42/44263/10479_2005_Article_BF pdf. [Dostopano ]. [26] M. Goemans, Lecture notes on the ellipsoid algorithm. Dosegljivo: pdf, [Dostopano ]. [27] N. Kumar, Other Algorithms for Solving Linear Programming Problems. Dosegljivo: courses/ /pdf/module_3/m3l6_ln.pdf. [Dostopano ]. [28] Y. Hu, Paper Review - Interior-Point Methods for LP. Dosegljivo:

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v financah Ljubljana, 2010 1. Klasični pristop k analizi

Prikaži več

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika Pisni izpit. junij 22 Ime in priimek Vpisna st Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer so

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

Osnove matematicne analize 2018/19

Osnove matematicne analize  2018/19 Osnove matematične analize 2018/19 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja D f R priredi natanko

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

Slide 1

Slide 1 Vsak vektor na premici skozi izhodišče lahko zapišemo kot kjer je v smerni vektor premice in a poljubno število. r a v Vsak vektor na ravnini skozi izhodišče lahko zapišemo kot kjer sta v, v vektorja na

Prikaži več

FGG14

FGG14 Iterativne metode podprostorov Iterativne metode podprostorov uporabljamo za numerično reševanje linearnih sistemov ali računanje lastnih vrednosti problemov z velikimi razpršenimi matrikami, ki so prevelike,

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5 februar 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Nalog je

Prikaži več

'Kombinatoricna optimizacija / Lokalna optimizacija'

'Kombinatoricna optimizacija / Lokalna optimizacija' Kombinatorična optimizacija 3. Lokalna optimizacija Vladimir Batagelj FMF, matematika na vrhu različica: 15. november 2006 / 23 : 17 V. Batagelj: Kombinatorična optimizacija / 3. Lokalna optimizacija 1

Prikaži več

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo Turingov stroj in programiranje Barbara Strniša 12. 4. 2010 1 Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolov (običajno Σ 2) Σ n = {s 1 s 2... s n ; s i Σ, i =

Prikaži več

FGG13

FGG13 10.8 Metoda zveznega nadaljevanja To je metoda za reševanje nelinearne enačbe f(x) = 0. Če je težko poiskati začetni približek (še posebno pri nelinearnih sistemih), si lahko pomagamo z uvedbo dodatnega

Prikaži več

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Miklavič 30. okt. 2003 Math. Subj. Class. (2000): 05E{20,

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn 5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisni. Če so krajevni vektorji do točk a 0,..., a k v R

Prikaži več

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x Vaje: Matrike 1 Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N n 1 1 0 1 ; n N 0 2 Pokaži, da je množica x 0 y 0 x y x + z ; x, y, z R y x z x vektorski podprostor v prostoru matrik

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru 6.1 Uvod 6 Igra Chomp Marko Repše, 30.03.2009 Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru in na končni ali neskončni čokoladi. Igralca si izmenjujeta

Prikaži več

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se velikokrat zmoti. Na srečo piše v programu Microsoft

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi Kemijska tehnologija, Kemija Bolonjski univerzitetni program Smer: KT K WolframA: DA NE Računski del izpita pri predmetu MATEMATIKA I 6. 2. 2014 Čas reševanja je 75 minut. Navodila: Pripravi osebni dokument.

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6. julij 2018 Navodila Pazljivo preberite be Ime in priimek: Vpisna št: FAKULEA ZA MAEMAIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 6 julij 2018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven rezultat

Prikaži več

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Word - avd_vaje_ars1_1.doc ARS I Avditorne vaje Pri nekem programu je potrebno izvršiti N=1620 ukazov. Pogostost in trajanje posameznih vrst ukazov računalnika sta naslednja: Vrsta ukaza Štev. urinih period Pogostost Prenosi podatkov

Prikaži več

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja

3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja 3. Metode, ki temeljijo na minimalnem ostanku Denimo, da smo z Arnoldijevim algoritmom zgenerirali ON bazo podprostora Krilova K k (A, r 0 ) in velja AV k = V k H k + h k+1,k v k+1 e T k = V kh k+1,k.

Prikaži več

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA Enopredmetna matematika IN STATISTIKE Maribor, 31. 01. 2012 1. Na voljo imamo kovanca tipa K 1 in K 2, katerih verjetnost, da pade grb, je p 1 in p 2. (a) Istočasno vržemo oba kovanca. Verjetnost, da je

Prikaži več

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese

FAKULTETA ZA STROJNIŠTVO Matematika 2 Pisni izpit 9. junij 2005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite bese FAKULTETA ZA STROJNIŠTVO Matematika Pisni izpit 9. junij 005 Ime in priimek: Vpisna št: Zaporedna številka izpita: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Veljale bodo

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij Kazalo 1 DVOMESTNE RELACIJE 1 1.1 Operacije z dvomestnimi relacijami...................... 2 1.2 Predstavitev relacij............................... 3 1.3 Lastnosti relacij na dani množici (R X X)................

Prikaži več

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam

1. izbirni test za MMO 2018 Ljubljana, 16. december Naj bo n naravno število. Na mizi imamo n 2 okraskov n različnih barv in ni nujno, da imam 1. izbirni test za MMO 018 Ljubljana, 16. december 017 1. Naj bo n naravno število. Na mizi imamo n okraskov n različnih barv in ni nujno, da imamo enako število okraskov vsake barve. Dokaži, da se okraske

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNISTVO Matematika 2. kolokvij. december 2 Ime in priimek: Vpisna st: Navodila Pazljivo preberite besedilo naloge, preden se lotite resevanja. Veljale bodo samo resitve na papirju, kjer

Prikaži več

Teorija kodiranja in kriptografija 2013/ AES

Teorija kodiranja in kriptografija 2013/ AES Teorija kodiranja in kriptografija 23/24 AES Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 8. 3. 24 AES - zgodovina Septembra 997 je NIST objavil natečaj za izbor nove

Prikaži več

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y

Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y Matematika Diferencialne enačbe prvega reda (1) Reši diferencialne enačbe z ločljivimi spremenljivkami: (a) y = 2xy, (b) y tg x = y, (c) y = 2x(1 + y 2 ). Rešitev: Diferencialna enačba ima ločljive spremenljivke,

Prikaži več

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31 avgust 018 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja Za pozitiven

Prikaži več

CpE & ME 519

CpE & ME 519 2D Transformacije Zakaj potrebujemo transformacije? Animacija Več instanc istega predmeta, variacije istega objekta na sceni Tvorba kompliciranih predmetov iz bolj preprostih Transformacije gledanja Kaj

Prikaži več

ANALITIČNA GEOMETRIJA V RAVNINI

ANALITIČNA GEOMETRIJA V RAVNINI 3. Analitična geometrija v ravnini Osnovna ideja analitične geometrije je v tem, da vaskemu geometrijskemu objektu (točki, premici,...) pridružimo števila oz koordinate, ki ta objekt popolnoma popisujejo.

Prikaži več

Vrste

Vrste Matematika 1 17. - 24. november 2009 Funkcija, ki ni algebraična, se imenuje transcendentna funkcija. Podrobneje si bomo ogledali naslednje transcendentne funkcije: eksponentno, logaritemsko, kotne, ciklometrične,

Prikaži več

PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x x 8 s koordinatnima osema. R: 2 0, 8, 4,0,,0

PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x x 8 s koordinatnima osema. R: 2 0, 8, 4,0,,0 PRIPRAVA NA 1. Š. N.: KVADRATNA FUNKCIJA IN KVADRATNA ENAČBA 1. Izračunaj presečišča parabole y=5 x +18 x 8 s koordinatnima osema. R: 0, 8, 4,0,,0 5. Zapiši enačbo kvadratne funkcije f (x )=3 x +1 x+8

Prikaži več

Brownova kovariancna razdalja

Brownova kovariancna razdalja Brownova kovariančna razdalja Nace Čebulj Fakulteta za matematiko in fiziko 8. januar 2015 Nova mera odvisnosti Motivacija in definicija S primerno izbiro funkcije uteži w(t, s) lahko definiramo mero odvisnosti

Prikaži več

7. VAJA A. ENAČBA ZBIRALNE LEČE

7. VAJA A. ENAČBA ZBIRALNE LEČE 7. VAJA A. ENAČBA ZBIRALNE LEČE 1. UVOD Enačbo leče dobimo navadno s pomočjo geometrijskih konstrukcij. V našem primeru bomo do te enačbe prišli eksperimentalno, z merjenjem razdalj a in b. 2. NALOGA Izračunaj

Prikaži več

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije 2. junij 2011 Koncept PSO Motivacija: vedenje organizmov v naravi Ideja: koordinirano

Prikaži več

predstavitev fakultete za matematiko 2017 A

predstavitev fakultete za matematiko 2017 A ZAKAJ ŠTUDIJ MATEMATIKE? Ker vam je všeč in vam gre dobro od rok! lepa, eksaktna veda, ki ne zastara matematičnoanalitično sklepanje je uporabno povsod matematiki so zaposljivi ZAKAJ V LJUBLJANI? najdaljša

Prikaži več

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri tem je lahko nelinearna funkcija f podana eksplicitno,

Prikaži več

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1

REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1 REŠEVANJE DIFERENCIALNIH ENAČB Z MEHANSKIMI RAČUNSKIMI STROJI Pino Koc Seminar za učitelje matematike FMF, Ljubljana, 25. september 2015 Vir: [1] 1 Nekateri pripomočki in naprave za računanje: 1a) Digitalni

Prikaži več

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površe, pri tem pa zbrati čim več točk. Podobno igro najdemo tudi v knjigi Scratch (Lajovic, 2011), vendar

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

Prikaži več

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter

2. izbirni test za MMO 2017 Ljubljana, 17. februar Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter 2. izbirni test za MMO 2017 Ljubljana, 17. februar 2017 1. Naj bosta k 1 in k 2 dve krožnici s središčema O 1 in O 2, ki se sekata v dveh točkah, ter naj bo A eno od njunih presečišč. Ena od njunih skupnih

Prikaži več

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov 4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenovalec, ter iz ulomkove črte. Racionalna števila so števila,

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi Vpisna številka Priimek, ime Smer: K KT WA Izpit pri predmetu MATEMATIKA I Računski del Ugasni in odstrani mobilni telefon. Uporaba knjig in zapiskov ni dovoljena. Dovoljeni pripomočki so: kemični svinčnik,

Prikaži več

LaTeX slides

LaTeX slides Linearni in nelinearni modeli Milena Kovač 22. december 2006 Biometrija 2006/2007 1 Linearni, pogojno linearni in nelinearni modeli Kriteriji za razdelitev: prvi parcialni odvodi po parametrih Linearni

Prikaži več

Naloge iz kolokvijev Analize 1 (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za

Naloge iz kolokvijev Analize 1 (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za Naloge iz kolokvijev Analize (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za predmet Analiza na smereh E-UNI, GING in TK-UNI na Fakulteti

Prikaži več

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf uporaba for zanke i iz korak > 0 oblika zanke: for i iz : korak : ik NE i ik DA stavek1 stavek2 stavekn stavek1 stavek2 stavekn end i i + korak I&: P-XI/1/17 uporaba for zanke i iz korak < 0 oblika zanke:

Prikaži več

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-junij-17.dvi Vpisna številka Priimek, ime Smer: K KT WA Izpit pri predmetu MATEMATIKA I Računski del Ugasni in odstrani mobilni telefon. Uporaba knjig in zapiskov ni dovoljena. Dovoljeni pripomočki so: kemični svinčnik,

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Matematika 2

Matematika 2 Matematika 2 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 23. april 2014 Soda in liha Fourierjeva vrsta Opomba Pri razvoju sode periodične funkcije f v Fourierjevo vrsto v razvoju nastopajo

Prikaži več

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2 Šifra kandidata: Srednja elektro šola in tehniška gimnazija ELEKTROTEHNIKA PISNA IZPITNA POLA 1 12. junij 2013 Čas pisanja 40 minut Dovoljeno dodatno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Microsoft PowerPoint - Java_spremenljivke

Microsoft PowerPoint - Java_spremenljivke Java Spremenljivke, prireditveni stavek Spremenljivke Prostor, kjer hranimo vrednosti Ime Znak, števka, _ Presledkov v imenu ne sme biti! Tip spremenljivke int (cela števila) Vse spremenljivke napovemo

Prikaži več

Osnove statistike v fizični geografiji 2

Osnove statistike v fizični geografiji 2 Osnove statistike v geografiji - Metodologija geografskega raziskovanja - dr. Gregor Kovačič, doc. Bivariantna analiza Lastnosti so med sabo odvisne (vzročnoposledično povezane), kadar ena lastnost (spremenljivka

Prikaži več

rm.dvi

rm.dvi 1 2 3 4 5 6 7 Ime, priimek Razred 14. DRŽAVNO TEKMOVANJE V RAZVEDRILNI MATEMATIKI NALOGE ZA PETI IN ŠESTI RAZRED OSNOVNE ŠOLE Čas reševanja nalog: 90 minut Točkovanje 1., 2., in 7. naloge je opisano v

Prikaži več

DN5(Kor).dvi

DN5(Kor).dvi Koreni Število x, ki reši enačbo x n = a, imenujemo n-ti koren števila a in to označimo z n a. Pri tem je n naravno število, a pa poljubno realno število. x = n a x n = a. ( n a ) n = a. ( n a ) m = n

Prikaži več

Mere kompleksnih mrež (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike

Mere kompleksnih mrež   (angl. Network Statistics) - Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike Mere kompleksnih mrež (angl. Network Statistics) Seminarska naloga pri predmetu Izbrana poglavja iz diskretne matematike Ajda Pirnat, Julia Cafnik in Živa Mitar Fakulteta za matematiko in fiziko April

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A

Matematika II (UN) 1. kolokvij (13. april 2012) RE ITVE Naloga 1 (25 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je A Matematika II (UN) 1 kolokvij (13 april 01) RE ITVE Naloga 1 (5 to k) Dana je linearna preslikava s predpisom τ( x) = A x A 1 x, kjer je 0 1 1 A = 1, 1 A 1 pa je inverzna matrika matrike A a) Poi² ite

Prikaži več

GeomInterp.dvi

GeomInterp.dvi Univerza v Ljubljani Fakulteta za matematiko in fiziko Seminar za Numerično analizo Geometrijska interpolacija z ravninskimi parametričnimi polinomskimi krivuljami Gašper Jaklič, Jernej Kozak, Marjeta

Prikaži več

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo

11. Navadne diferencialne enačbe Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogo 11. Navadne diferencialne enačbe 11.1. Začetni problem prvega reda Iščemo funkcijo y(x), ki zadošča diferencialni enačbi y = f(x, y) in začetnemu pogoju y(x 0 ) = y 0, kjer je f dana dovolj gladka funkcija

Prikaži več

Poslovilno predavanje

Poslovilno predavanje Poslovilno predavanje Matematične teme z didaktiko Marko Razpet, Pedagoška fakulteta Ljubljana, 20. november 2014 1 / 32 Naše skupne ure Matematične tehnologije 2011/12 Funkcije več spremenljivk 2011/12

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

Prikaži več

4. tema pri predmetu Računalniška orodja v fiziki Ljubljana, Grafi II Jure Senčar

4. tema pri predmetu Računalniška orodja v fiziki Ljubljana, Grafi II Jure Senčar 4. tema pri predmetu Računalniška orodja v fiziki Ljubljana, 6.4.29 Grafi II Jure Senčar Relativna sila krčenja - F/Fmax [%]. Naloga Nalogo sem delal v Excelu. Ta ima vgrajeno funkcijo, ki nam vrne logaritemsko

Prikaži več

Rešene naloge iz Linearne Algebre

Rešene naloge iz Linearne Algebre UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO LABORATORIJ ZA MATEMATIČNE METODE V RAČUNALNIŠTVU IN INFORMATIKI Aleksandra Franc REŠENE NALOGE IZ LINEARNE ALGEBRE Študijsko gradivo Ljubljana

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

Prikaži več

M

M Š i f r a k a n d i d a t a : Državni izpitni center *M16140111* Osnovna raven MATEMATIKA Izpitna pola 1 SPOMLADANSKI IZPITNI ROK Sobota, 4. junij 016 / 10 minut Dovoljeno gradivo in pripomočki: Kandidat

Prikaži več

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC MATEMATIKA 1.razred OSNOVE PREDMETA POKAZATELJI ZNANJA SPRETNOSTI KOMPETENCE Naravna števila -pozna štiri osnovne računske operacije in njihove lastnosti, -izračuna številske izraze z uporabo štirih računskih

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Programirljivi Digitalni Sistemi Digitalni sistem Digitalni sistemi na integriranem vezju Digitalni sistem

Prikaži več

STAVKI _5_

STAVKI _5_ 5. Stavki (Teoremi) Vsebina: Stavek superpozicije, stavek Thévenina in Nortona, maksimalna moč na bremenu (drugič), stavek Tellegena. 1. Stavek superpozicije Ta stavek določa, da lahko poljubno vezje sestavljeno

Prikaži več

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx Analiza dosežkov pri predmetu matematika za NPZ 28 6. razred NPZ matematika 28 Dosežek šole Povprečno število točk v % Državno povprečje Povprečno število točk v % Odstopanje v % 49,55 52,52 2,97 Povprečni

Prikaži več

Ime in priimek

Ime in priimek Polje v osi tokovne zanke Seminar pri predmetu Osnove Elektrotehnike II, VSŠ (Uporaba programskih orodij v elektrotehniki) Ime Priimek, vpisna številka, skupina Ljubljana,.. Kratka navodila: Seminar mora

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

N

N Državni izpitni center *N19141132* 9. razred FIZIKA Ponedeljek, 13. maj 2019 NAVODILA ZA VREDNOTENJE NACIONALNO PREVERJANJE ZNANJA v 9. razredu Državni izpitni center Vse pravice pridržane. 2 N191-411-3-2

Prikaži več

FGG02

FGG02 6.6 Simetrični problem lastnih vrednosti Če je A = A T, potem so lastne vrednosti realne, matrika pa se da diagonalizirati. Schurova forma za simetrično matriko je diagonalna matrika. Lastne vrednosti

Prikaži več

ARS1

ARS1 Nepredznačena in predznačena cela števila Dvojiški zapis Nepredznačeno Predznačeno 0000 0 0 0001 1 1 0010 2 2 0011 3 3 Pri odštevanju je stanje C obratno (posebnost ARM)! - če ne prekoračimo 0 => C=1 -

Prikaži več

glava.dvi

glava.dvi Lastnosti verjetnosti 1. Za dogodka A in B velja: P(A B) = P(A) + P(B) P(A B) 2. Za dogodke A, B in C velja: P(A B C) = P(A) + P(B) + P(C) P(A B) P(A C) P(B C) + P(A B C) Kako lahko to pravilo posplošimo

Prikaži več

COBISS3/Medknjižnična izposoja

COBISS3/Medknjižnična izposoja 3/Medknjižnična izposoja 2.2 KATALOG Katalog nam omogoča: iskanje gradiva prikaz izbranih bibliografskih zapisov ali pripadajočih podatkov o zalogi iz lokalne baze podatkov v formatu COMARC vpogled v stanje

Prikaži več

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Trditev: idealni enosmerni tokovni vir obratuje z močjo

Prikaži več

H-Razcvet

H-Razcvet Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Gregor Šulgaj H-Razcvet DIPLOMSKO DELO INTERDISCIPLINARNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVA IN

Prikaži več

Sestavljanje in re\unhbox \bgroup \let \unhbox \setbox \hbox {s\global \mathchardef \spacefactor }\ac

Sestavljanje in re\unhbox \bgroup \let \unhbox \setbox \hbox {s\global \mathchardef \spacefactor }\ac Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Bukovec Sestavljanje in reševanje igre sudoku DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

Prikaži več

Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako

Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako Ravninski grafi Tina Malec 6. februar 2007 Predstavili bomo nekaj osnovnih dejstev o ravninskih grafih, pojem dualnega grafa (k danemu grafu) ter kako ugotoviti, ali je nek graf ravninski. 1 Osnovni pojmi

Prikaži več

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo 36. Goljevščkov spominski dan Modeliranje kroženja vode in spiranja hranil v porečju reke Pesnice Mateja Škerjanec 1 Tjaša Kanduč 2 David Kocman

Prikaži več

Microsoft Word - Seštevamo stotice.doc

Microsoft Word - Seštevamo stotice.doc UČNA PRIPRAVA: MATEMATIKA UČNI SKLOP: Računske operacije UČNA TEMA: Seštevamo in odštevamo stotice Seštevamo stotice UČNE METODE: razlaga, prikazovanje, demonstracija, grafično in pisno delo UČNE OBLIKE:

Prikaži več

Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 4.10 Izpitni režim: Kolokviji in pisni izpiti so vsi s

Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 4.10 Izpitni režim: Kolokviji in pisni izpiti so vsi s Linearna algebra - povzetek vsebine Peter Šemrl Jadranska 21, kabinet 410 petersemrl@fmfuni-ljsi Izpitni režim: Kolokviji in pisni izpiti so vsi sestavljeni iz dveh delov: v prvem delu se rešujejo naloge,

Prikaži več

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode])

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode]) 8.2 OBRATOVANJE ELEKTROENERGETSKEGA SISTEMA o Matrične metode v razreševanju el. omrežij Matrične enačbe električnih vezij Numerične metode za reševanje linearnih in nelinearnih enačb Sistem algebraičnih

Prikaži več

Osnove verjetnosti in statistika

Osnove verjetnosti in statistika Osnove verjetnosti in statistika Gašper Fijavž Fakulteta za računalništvo in informatiko Univerza v Ljubljani Ljubljana, 26. februar 2010 Poskus in dogodek Kaj je poskus? Vržemo kovanec. Petkrat vržemo

Prikaži več

Numeri na analiza - podiplomski ²tudij FGG doma e naloge - 1. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 10 to k

Numeri na analiza - podiplomski ²tudij FGG doma e naloge - 1. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 10 to k Numeri na analiza - podiplomski ²tudij FGG doma e naloge -. skupina V prvem delu morate re²iti toliko nalog, da bo njihova skupna vsota vsaj 0 to k in da bo vsaj ena izmed njih vredna vsaj 4 to ke. Za

Prikaži več

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / 24. 5. 2019 Uradni list Republike Slovenije PRILOGA 1 PRAVILA ZA OBLIKOVANJE

Prikaži več

resitve.dvi

resitve.dvi FAKULTETA ZA STROJNIŠTVO Matematika 2. kolokvij 4. januar 212 Ime in priimek: Vpisna št: Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Veljale bodo samo rešitve na papirju, kjer

Prikaži več

RAČUNALNIŠKA ORODJA V MATEMATIKI

RAČUNALNIŠKA ORODJA V MATEMATIKI DEFINICIJA V PARAVOKOTNEM TRIKOTNIKU DEFINICIJA NA ENOTSKI KROŢNICI GRAFI IN LASTNOSTI SINUSA IN KOSINUSA POMEMBNEJŠE FORMULE Oznake: sinus kota x označujemo z oznako sin x, kosinus kota x označujemo z

Prikaži več

Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah

Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah Bellman-Fordov algoritem za iskanje najkraj²ih poti Alenka Frim 19. februar 2009 Popravek 25. februar 2009 Imamo usmerjen graf G z uteºmi na povezavah (uteº si predstavljamo npr. kot dolºino, ceno, teºo

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Dostopnost elektronskih virov za slepe, slabovidne in druge osebe z motnjami branja Kristina Janc ZSSML - 27. Seja TIFLO sekcije 22.3.2012 Možnost izkoriščanja elektronskih virov za slepe, slabovidne in

Prikaži več