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

Size: px
Start display at page:

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

Transcription

1 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 Mentor: izr. prof. dr. Anton Čižman Kandidat: Miha Osojnik Kranj, april 2009

2 ZAHVALA Zahvaljujem se dr. Antonu Čižmanu za njegovo pomoč, nasvete in njegove smernice pri izdelavi tega diplomskega dela. Hvala tudi g. Jaku Žgajnarju pri začetni pomoči in asistentu g. Marku Urhu. Zahvaljujem se tudi g. Francu Furlandu, za pomoč pri lektoriranju te diplomske naloge.

3 Povzetek Managerji v proizvodnjih organizacijah so danes soočeni s številnimi naraščajočimi potrebami po zagotavljanju konkurenčnosti podjetja na globalnem trgu, v smislu optimiranja poslovnih procesov na različnih področij gospodarstva. Na žalost pa le redko uporabijo ustrezna programska orodja za pomoč pri odločanju ali jih celo niti ne poznajo. Primankuje jim znanja in ustreznih metodologij za razvoj sistemov za podporo odločanju. Sodobna informacijska tehnologija (IT) pa jim lahko omogoča, da jo izkorisitjo in si z njo pomagajo pri sprejemanju boljših in hitrejših odločitev, majhnim in srednje velikim podjetjem pa veliko priložnosti za razvoj informacijskih sistemov (IS). Ti sistemi omogočajo uporabo modelov operacijskih raziskav (OR), za podporo odločanju. Vendar pa kljub dejstvu, da je na razpolago zelo zmogljiva IT, primanjkuje znanja o uporabnosti te tehnologije pri razvoju odločitvenih modelov in njihovi uporabi pri optimizaciji poslovnih procesov v podjetju. Namen diplomske naloge je predstaviti in opisati nekatera standardna analitična programska orodja, za pomoč pri razvoju odločitvenih informacijskih sistemov (OIS), ki omogočajo enostavno uporabo metod in modelov OR pri optimizaciji poslovnih procesov. Uporabnost prototipnih odločitvenih modelov bomo podali s pomočjo praktičnih primerov, ki bodo primerjalno prikazali učinkovitost, zmogljivost in uporabniško naravnanost izbranih programskih orodij, to so Excel Solver, Lingo, Lindo in POM-QM. Cilj naloge bomo dosegli s pomočjo modelov linearnega, nelinearnega in celoštevilčnega programiranja. Ključne besede: linearno programiranje, celoštevilčno programiranje, nelinearno programiranje, Excel, Reševalec, LINGO, LINDO, POM-QM, Odločitveni informacijski sistem. Abstract Managers in manufacturing organizations today are faced with a number of growing demands to ensure the competitiveness of enterprises in the global market, in terms of optimization of business processes in various areas of the economy. Unfortunately appropriate software tools are rarely used to aid in decision making or managers do not even know it. They lack of knowledge and appropriate methodologies for the development of decision making support systems. Modern information technology (IT) allows them to exploit it and help to adopt better and faster decisions with it, however small and medium-sized enterprises, have many opportunities to develop the information systems (IS). These systems enable usage of models of operational research (OR) for decision making support. However, despite the fact that there is available high technology IT, lack of knowledge causes the lack of application of this technology in the development of decision models and their application in the optimization of business processes in enterprises. The purpose of this thesis is to present and describe some of the standard analytical software tools for assistance in the development of decisionmaking information systems, which allow simple usage of the OR methods and models to optimize business processes. Applicability of decision-making prototype models, will be made with the help of practical examples that will show the efficiency, performance and user-orientated software tools. These are Excel - Solver, Lingo, Lindo and POM- QM. The objective of the thesis will be achieved with help of models of linear, nonlinear and integer programming. Keywords: linear programming, interer programming, nonlinear programming, Excel, Solver, LINGO, LINDO, POM-QM, Decision makeing system.

4 Kazalo 1. Uvod Načrtovanje in razvoj odločitvenih sistemov Faze in razvoj odločitvenega informacijskega sistema Teoretične osnove matematičnega programiranja Linearno programiranje GRAFIČNA METODA ANALIZA OBČUTLJIVOSTI, PRIMARNOST IN DUALNOST METODA SIMPLEKS Nelinearno programiranje Celoštevilčno programiranje Pregled pomembnejših komercialnih programskih orodij (PO), za linearano, nelinearno in celoštevilčno programiranje Predstavitev programskih orodij EXCEL-solver, LINGO, LINDO in POM-QM EXCEL LINGO LINDO POM-QM Vzorčni primeri uporabe programov (orodij) v gospodarstvu Problem zmesi EXCEL LINGO LINDO POM-QM Proizvodni problem EXCEL LINGO LINDO POM-QM Transportni problem EXCEL LINGO LINDO POM-QM Problem maksimalnega pretoka Problem najkrajše poti Problem antagonističnih iger Problem optimizacije zalog (NLP problem) POM-QM EXCEL Primerjava uporabnosti Excel - Solverja, Linga, Linda in POM-QM pri reševanju problemov odločanja (optimizacije) Zaključek Literatura in viri...67 Kazalo slik in tabel...69

5 1. Uvod Živimo v sodobnem svetu. Tistemu, ki se ne prilagodi sodobnemu poslovanju, se zna zgoditi, da bo kaj hitro začel izgubljati stranke in ugled. Trgu je namreč potrebno zagotoviti izdelke, ki so konkurenčni, kakovostni, hitro dobavljivi in cenovno ugodni, prav tako pa je potrebno poskrbeti tudi za morebitni servis. Če vodsto podjetja ne reagira in se ne odzove na potrebe kupcev in trga, je torej možen tudi njegov propad. Kako naprej v primerih manjše ali večje krize, je odvisno od odločitev. Te morajo biti pravilne, dobro premišljene, upoštevati pa morajo tudi veliko kriterijev. Odločitve so vedno pomembne, tudi ko podjetje ni v neki hudi krizi, saj ga vodijo naprej v rast in razvoj. Ena izmed možnih pomoči, h kateri se lahko zatečejo managerji, je prav gotovo odločitveni informacijski sistem ali OIS, ki nudi pomoč pri reševanju standardni problemov operacijskih raziskav (OR). Tovrstni informacijski sistemi ponujajo uporabnikom enostaven in prijazen grafični vmesnik, preko katerega vnašajo želene podatke in oblikujejo ustrezen matematičen model problema in ustrezne optimizacijske tehnike. Slednji se ustrezno obdelajo in računalnik prikaže dobljeni rezultat. Ponekod lahko le-tega prikaže celo z grafom, ki morda rešitev pokaže še nazorneje. Managerji možnosti uporabe modernih programskih orodij pogosto zanemarijo, ne uporabijo, ali morda celo ne vedo, da obstajajo, kar je najpogosteje v manjših podjetjih. V večjih se težav zavedajo nekoliko bolj, saj je večje podjetje seveda težje izvleči iz krize kot manjše. Da do česa takšnega sploh ne pride ali pač, če že, da so posledice čim milejše, je treba imeti sisteme za podporo pri odločanju stalno v uporabi. V diplomski nalogi bo z namenom predstavitve možnosti uporabe sodobne informacijske tehnologije za podporo odločanju predstavljeno delo s štirimi programskimi orodji, kot so Excel, Lingo, Lindo in POM-QM, ki je nadgradnja Excela. V prvem delu opisujemo matematično programiranje, nato pa sledijo opisi namestitve in uporabe omenjenih orodij. Sledi prikaz uporabe programov na prototipnih primerih in na koncu sklep o uporabi teh programov. Kot omenjata Krajewski in Ritzman, managerji sprejemajo veliko odločitev medtem ko se ukvarjajo z različnimi odločitvenimi področji. Čeprav je narava vsake odločitve različna, pa imajo te skupne oporne točke. Kot prvo, je vedno potrebno jasno prepoznati in definirati problem, saj šele tako postane jasno, kako se nanj odzvati. Treba je zbrati vse potrebne informacije za analizo vseh možnih rešitev, na koncu pa izberemo takšno odločitev, ki je za dani primer najustreznejša. Do odločitve ponavadi pridemo na podlagi dolgoletnih izkušenj. Včasih je morda za njeno iskanje potrebno intenzivno skupinsko razmišljanje in podajanje idej, kot denimo v primeru metode viharjenja možganov (brain storming), vendar pa je treba zaupati tudi sodobnim tehnologijam. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 1

6 2. Načrtovanje in razvoj odločitvenih sistemov Sprejemanje dobrih in pravih odločitev je želja in prizadevanje vsakega dobrega managerja, saj kakovost odločitve določa, kako bo podjetje poslovalo in se obnašalo na trgu. Odločitev sicer ne sprejemajo samo glavni managerji, ampak tudi ostali zaposleni, vsak na svojem področju in v svojem obsegu. Odločitveni informacijski sistemi (OIS) pripomorejo k njihovim boljšim odločitvam, oziroma jim jih olajšajo. Gre za osnovne računalniške sisteme, ki na osnovi analize problema in metod ter modelov OR pomagajo pri reševanju optimizacijskih problemov z uporabo analiziranja in modeliranja podatkov pri reševanju problemov operacijskih raziskav. Današnja tehnologija nam omogoča njeno boljšo izrabo z uporabo programskih orodij, ki za namen iskanja rešitve uporabijo ogromne baze podatkov. Ključni elementi OIS so: analiziranje modelov, upravljanje s podatki in uporabniški vmesnik. Učinkovitost programa je lahko odvisna že od samega uporabniškega vmesnika. Če je ta zapleten in težak za uporabo, še tako dober program uporabniku ne koristi, saj ga ne zna izkoristiti. OIS je pri uporabi, za razliko od običajnih odločitvenih sistemov, drugačen. Z njim se probleme rešuje interaktivno, saj sistem in odločevalec delujeta interaktivno, se pravi povezano. To poteka tako, da uporabnik narekuje sistemu naloge v skladu s sposobnostjo slednjega na temelju razsojanja, izkušenj in generiranih rezultatov. Na sliki 1 je prikazana struktura interakcije med komponentami OIS. OR uporabnik/ manager Baza metod optimizacije Vmesnik uporabnik-sistem Okenski graficni vmesnik Baza modelov Podatkovna baza Slika 1: Prikaz strukture OIS 2.1. Faze in razvoj odločitvenega informacijskega sistema Ker se vsak projekt gradi po fazah, ni nič drugače niti pri tem. Sestavljen je iz več različnih faz. Za tiste, ki smo se jih namenili opisati, ni nujno, da si sledijo striktno ena za drugo, se pa prepletajo. Tudi niso enake za vsa podjetja, saj se lahko razlikujejo od primera do primera. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 2

7 Faza razvoja OIS so prikazane v tabeli 1 Stopnja Ocenjevanje projekta Analiza problema Načrtovanje Razvijanje, testiranje in dokumentiranje Implementacija (Uvajanje) Vzdrževenje Naloga posamezne stopnje - Definirati poblem in preveriti ali je primeren za reševanje z OIS - Ugotoviti izvedljivost projekta - Razviti predloge projekta - Analizirati odločitveni proces, to je študija ključnih elementov problema skozi serijo intervjujev z odločevalci - Izbiranje najugodnejše rešitve problema - Izbiranje programskega orodja za razvoj OIS - Določiti potrebe sistema - Določiti logični izgled sistema (glavni meni, glavne sistemske komponente, plan sprememb) - Oblikovati bazo podatkov - Oblikovatigrafični vmesnik - Razvijanje aplikacij - Razvijanje baze podatkov - Napolnjevanje baze podatkov s testnimi podatki - Implementacija in testiranje - Izboljševanje uporabniškega vmesnika s pomočjo uporabnikov - Ovrednotenje uporabniškega vmesnika - Izvesti ocenitev testiranja - Razvijanje dokumentacije - Določanje odgovorne osebe za spremembe znotraj organizacije - Motivirati uporabnike za spremembe - Preveriti in izboljšati sprejemljivost uporabnikov do novosti - Zagotoviti šolanje uporabnikov - Razvijanje plana vzdrževanja in proračuna - Pomagati uporabnikom integrirati sistem v dnevno uporabo - Izvesti pregled po uvajanju - Zagotavljanje preoblikovanja sistema Tabela 1: Prikaz faz razvoja OIS (Čižman, Černetič, 2002) Od vseh zgoraj naštetih faz, je za okvir diplomske naloge najpomembnejša faza znotraj analize problema, to je izbiranje programskega orodja. Kajti če se odločimo za tisto programsko orodje, ki nam in našim potrebam najbolj ustreza, bomo z njim veliko lažje delali, kot pa z nekim drugim orodjem, ki nam ne bo najbolje ustrezal, v smislu karakteristik in načinu uporabe. Ta faza pa je pomembna predvsem zato, ker v diplomski nalogi ne gradimo novega OIS, vendar samo med obstoječimi na trgu delamo primerjavo in iščemo njihovo uporabno vrednost. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 3

8 3. Teoretične osnove matematičnega programiranja 3.1. Linearno programiranje Pri sodobnih načinih managementa poslovnih procesov se pogosto srečujemo z reševanjem nalog, ki imajo mnogo možnih rešitev. Med vsemi želimo poiskati le tisto, pri kateri je pri danih pogojih dosežen najboljši poslovni učinek maksimalni dobiček ali minimalni stroški, kar je odvisno od konkretnega problema. V praksi najdemo celo vrsto problemov takšne narave, kot na primer: proizvodni program, načrtovanje investicij, izbor lokacije, izbor vrstnega reda obdelav pri proizvodnji, stroške zalog, transportne stroške, čas transporta, čas realizacije naloge, izkoriščenost virov, porabo materiala, tok skozi mrežo, matrične igre ipd. Ko iščemo optimalno proizvodnjo, izkoriščenost zmogljivosti, optimalen pretok idr., govorimo o primerih iskanja maksimalnih vrednosti. Če iščemo čim krajši transportni čas ter manjše transportne stroške in zaloge, pa govorimo o primerih minimuma. Pri reševanju managerskih nalog, kot so problemi odločanja, pogosto uporabljamo rezultate, do katerih pridemo s pomočjo intuicije (ocene na prst), ne pa s pomočjo znanstveno utemeljene metode. Včasih so tako pridobljene rešitve sicer dobre, ker temeljijo na izkušnjah, posebej še, če problemi niso preobsežni, vendar pa ne vedno. Prav zato je v gospodarstvu prišlo do potrebe po uporabi eksaktnih (znanstvenih) metod pri reševanju problemov optimizacije. Ena najpreprostejših metod optimiranja je prav gotovo linearno programiranje, ki se uporablja pri iskanju ekstremene vrednosti (optimuma) na najrazličnejših področjih gospodarstva. Probleme, ki jih optimiramo s pomočjo linearnega programiranja, maksimiramo ali minimiramo z namensko funkcijo, jih poimenujemo tudi ciljna ali kriterijska funkcija. Ekstremno vrednost namenske funkcije iščemo v pogojih, ki jih opišemo s sistemom linearnih pogojnih enačb in/ali neenačb. Neznanke imenujemo jih tudi spremenljivke odločanja katerih vrednosti želimo poiskati, predstavljajo konkretne vrednosti količin, kot so teža, dolžina, prostornina, čas, število izdelkov, idr., ki očitno ne morejo biti negativne. Pri linearnem programiranju gre torej za iskanje takšnih nenegativnih vrednosti spremenljivk, da bo vrednost clijne funkcije, ki se meri v denarnih enotah, ekstremna. Sodobna računalniška in informacijska tehnologija omogoča hitro in učinkovito reševanje linearnih pa tudi nelinearnih programov velikih dimenzij. Razpoložljiva programska oprema za matematično programiranje nudi uporabniku, poleg osnovnih rešitev v numerični ali grafični obliki, tudi raznovrstne dodatne analize (kaj-če) rezultatov optimizacije, kar znatno olajšuje sprejemanje čim boljših odločitev v pravem času. Kljub vsej razpoložljivi informacijski tehnologiji pa je še vedno treba najprej formulirati model»ročno«na osnovi podatkov s pomočjo ustreznih enačb. Pri tem pomembnem opravilu moramo biti zelo pozorni na to, da matematična formulacija kar najbolj ustreza dejanskemu problemu. Kajti, dobra formulacija problema brez dvoma predstavlja vsaj pol poti do končne rešitve. Takšen pristop k reševanju problemov matematičnega programiranja pa zahteva poznavanje teoretičnih osnov linearnega programiranja in tudi uporabe ustreznih programskih orodij, kot so naprimer Excel, Lindo in SAS System (Čižman, 2004). Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 4

9 Glede na lasten zgodovniski razvoj, je linearno programiranje sorazmerno mlada veja uporabe matematike. Njegovi začetki segajo pred drugo svetovno vojno, prve formulacije problemov linearnega programiranja in metode reševanja pa srečamo leta 1939 v knjigi ruskega matematika L. V. Kantoroviča o organizaciji in načrtovanju proizvodnje. Neodvisno od ruskih matematikov so linearno programiranje razvijali na Zahodu, posebno znanstveniki v ZDA, kjer je med prvimi F. L. Hitchcock leta 1941 objavil študijo o nekem transportnem problemu. Šest let zatem je G. B. Dantzig razvil splošno algebraično metodo za reševanje linearnih programov, imenovano»simpleks metoda«. Z njeno pomočjo je možno numerično rešiti vsak problem linearnega programiranja. Kmalu po njenem odkritju jo je Dantzig uporabil pri reševanju problema minimalnih stroškov prehrane. Linearno programiranje se je razvijalo vzporedno in v tesni povezavi z drugima dvema znanstenima vejama: z med-sektorsko analizo in teorijo strateških iger. Matematično osnovo teh treh vej tvori linearna algebra. Praktični problemi linearnega programiranja so običajno zelo kompleksni, zaradi česar pri numeričnem reševanju zahtevajo toliko računanja, da jih lahko praktično obdelujemo le s pomočjo računalnika. Zato je razumljivo, da se je linearno programiranje začelo uporabljati v gospodarski praksi šele tadaj, ko je bilo za numerično reševanje možno uporabljati elektronske računalnike. Pomemben dogodek v razvoju linearnega programiranja najdemo v letu 1952, ko je bil v okviru projekta, ki ga je vodil Dantzig, izdelan prvi program za reševanje problemov organizacije po simpleks metodi z uporabo računalnika. Ob koncu 60-tih let so bili na tržišču že prvi programski paketi za linearno programiranje. Danes programska orodja za matematično programiranje omogočajo milijon-krat hitrejše reševanje problemov kot v letu 1985, matematični modeli pa lahko dosegajo preko spremenljivk in omejitev (Čižman, 2004). Problem linearnega programiranja izrazimo v matematični obliki tako: Linearnem programu želimo določiti vrednosti odločitvenih spremenljivk x1, x2,..., x s, te pa morajo odgovarjati pogojem nenegativnosti: x1 x2 x s 0, 0,..., 0 in linearnim neenačbam: a x + a x a x < b > s s 1 < a x + a x a x b > m1 1 m2 2 ms s m tako, da ima ciljna funkcija: z = c1x1 + c2x csxs ekstrem (minimum ali maksimum). Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 5

10 GRAFIČNA METODA Grafična metoda je enostavna, vendar s pomankljivostjo, da za problem z več kot dvema spremenljivkama praktično ni več primerna. Za reševanje problemov z več spremenljivkami, oziroma bolj splošna metoda, je metoda simpleksov. Za lažjo predstavo si oglejmo primer linearnega programiranja (LP1) z dvema spremenljivkama x 1 in x 2. Želimo jima določiti vrednost, zadoščati pa morata naslednjim pogojem nenegativnosti: x 0, x in linearnim neenačbam: x 3 x x + x x + x tako, da ima ciljna funkcija: maksimum. z = 3x + 2x 1 2 Grafični model problema je prikazan na sliki 2. Iz neenačb izračunamo sečišča s koordinatnima osema in te premice vrišemo v koordinatni sistem. Točke znotraj nastalega lika so vse možne rešitve, teh je neskončno, poiskati pa je potrebno optimalno. Ogljišča lika določajo ekstremne vrednosti, odvisno od smernega koeficienta ciljne funkcije. Eno od teh ogljišč je rešitev. Na sliki 2 je ciljna funkcija predstavljena kot črtkana črta, sečišče z ogljiščem A pa predstavlja rešitev. Rešitve zgoraj navedenega problema so torej: x 1 = 1,5 x 2 = 6 in Z max =16,5 in to je v točki A (1.5, 6), kjer je tudi maksimalna vrednost ciljne funkcije z = 16,5. x2 6 A ,333 1,5 3 x1 Slika 2: Grafični prikaz linearnega programa Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 6

11 ANALIZA OBČUTLJIVOSTI, PRIMARNOST IN DUALNOST Informacije, ki se nanašajo na spremembe tehnoloških koeficientov, razpoložljivih kapacitet (desno-stranski koeficienti) in koeficientov ciljne funkcije (cene ali stroški) v zvezi z optimumom so najbolj zanimive. Analiza takih sprememb se v strokovni literaturi imenuje analiza občutljivosti ali»kaj če analiza«oz. post-optimalna analiza. Pri analizi občutljivosti želimo ugotoviti, kaj se zgodi z optimalno rešitvijo, če spremenimo kakšen koeficient v linearnem programu. V praksi se najpogosteje uporablja dve vrsti analiz, imenovani c-analiza in b-analiza. C-analiza je uporabna predvsem pri vprašanju občutljivosti cene, torej za koliko lahko spremenimo ceno, da rešitev ostane optimalna, b-analiza pa je primerna za ugotavljanje območja dovoljenih sprememb desnostranskih koeficientov v pogojnih neenačbah. (Čižman, 2004) Vsakemu linearnemu programu lahko pridružimo določen drugi linearni program. Oba sta medsebojno povezana tako, da imata enake vrednosti ciljne funkcije in da dobimo optimalno možno rešitev drugega z optimalno rešitvijo prvega. Tako prvi linearni program imenujemo primarni, njemu pridruženemu pa pravimo dualni. V dualnem načinu lahko isti problem pogledamo iz drugega zornega kota. Dualni program uporablja enake parametre kot primarni program, vendar na različnih mestih. Vsakemu primarnemu linearnemu programu lahko priredimo dualnega na sledeč način: 1. Vrstice koeficientov preidejo v stolpce, stolpce pa v vrstice. 2. Omejitve primarnega programa postanejo koeficienti ciljne funkcije dualnega programa, koeficienti ciljne funkcije primarnega programa, pa postanejo omejitve dualnega programa. 3. Neenačaji obrnejo smer. 4. Standardni primarni model maksimuma preide v problem minimuma. 5. Standardni primarni model minimuma preide v problem maksimuma. Za primer LP1 ima dualni program naslednjo obliko: Omejitve: y + 2y 3y y + y y ciljna funkcija: w = 3y + 6y + 9y 4 y (min) METODA SIMPLEKS Reševanje problemov linearnega programiranja z metodo simpleks je bolj splošno od uporabe metode grafičnega reševanja, ki je primerna za dve spremenljivki. Pri metodi simpleks se lahko uporabi poljubno število spremenljivk odločanja. Od časa, ko je to metodo razvil Dantzig, se ni spremenila, se je pa možnost njene uporabe, saj je z razvojem računalniške tehnologije danes možno reševati kompleksne probleme. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 7

12 Linearni program rešujemo s simpleks metodo po naslednjem postopku: 1. Vpeljemo dopolnilne spremenljivke in z njimi spremenimo neenačbe v enačbe. 2. Vpeljemo umetne spremenljivke, ki jih ustreznim enačbam prištejemo. 3. Sestavimo tabelo. 4. Določimo bazo vektorskega prostora 5. Tabeli dopišemo dodatno vrstico z j c j, kjer indeks j zavzema vrednosti 0, 1, 2,..., n. 6. Določimo vektor P k, ki ga uvedemo v bazo. 7. Določimo vektor P r, ki ga odstranimo iz baze. 8. Transformiramo koeficiente v prvotni tabeli. 9. Po transformaciji koeficientov dobimo novo tabelo in njeno ustrezno novo možno rešitev. 10. Ugotovimo, ali je mogoče novo možno rešitev poboljšati. 11. Če je izboljšava izračuna možne rešitve mogoča, ponovimo iteracijo in začnemo računanje po tej predlogi v 6. točki. (Čižman, 2004) 3.2. Nelinearno programiranje Mnogo je problemov, ki jih z linearnim programiranjem ne moremo rešiti zaradi dveh razlogov. Prvi je, da je tovrsten problem»zelo«nelinearen, in da bi bil linearen približek neuporaben, drugi pa, da je že problem po naravi takšen, da se moramo oprijeti nelinearnega programiranja. Za reševanje problemov nelinearnega programiranja obstajajo indirektne metode, ki so analitične in enokoračne, in direktne metode, ki so numerične in iterativne večkoračne. V praksi so indirektne primernejše od direktnih le v primerih, ko je odločitvenih spremenljivk in omejitev malo (<10). Splošni problem nelinearnega programiranja (NLP) ima naslednjo obliko: Določiti moramo spremenljivke odločanja x1, x2,..., x n, tako da je: ki zadošča: min (ali maks) z = f ( x x x ),,..., n 1 2 Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 8

13 < g ( x, x,..., x ) b > < g ( x, x,..., x ) b > n n 2 < g ( x, x,..., x ) b > m 1 2 n m Tako kot je pri linearnem programiranju funkcija f(x) ciljna funkcija linearnega programiranja, je tu f(x) funkcija nelinearnega programiranja, g(x) pa so nelinearne omejitve nelinearnega programiranja. Problemi nelinearnega programiranja se ne rešujejo tako kot problemi linearnega programiranja. Pri linearnem lahko denimo uporabimo univerzalno metodo simpleks, pri nelinearnem programiranju pa tega ne moremo. Za vsak nelinearni problem posebej je potrebna nova metoda ali pa je treba metodo reševanja tega problema prilagoditi v sozvočju z njegovim matematičnim modelom, dimenzijami in značajem nelinearnosti. Specifični problemi nelinearnega porgramiranja so tisti, pri katerih je nelinearna ciljna funkcija ali pa so nelinearne omejitve. Da je reševanje enostavnejše, probleme razvrstimo, glede na obliko ciljne funkcije in omejitev, v različne kategorije, kot so na primer problemi nelinearnega programiranja z linearnimi omejitvami, kvadratično programiranje ali celoštevilčno programiranje. Če v vseh omejitvah nastopajo samo enakosti (enačbe), lahko tovrstne probleme rešujemo z metodo Lagrange-jevih multiplikatorjev. Med NLP spadajo tudi kvadratno, ulomljeno, 0/1 (binarno) in celoštevilčno (integer) programiranje. (Zadnik, 2004) 3.3. Celoštevilčno programiranje V vsakdanji praksi je mnogo problemov, ki so načeloma celoštevilčni. Na primer pri izračunu, pri iskanju proizvodnje količine, večinoma dobimo za rezultat neko realno (necelo) število. No, če bi tovarna v enem dnevu izdelala 442,7 avtomobila, bi bilo to nelogično. Rezultat mora namreč biti celo število. Problema celoštevilčnosti se običajno znebimo tako, da na decimalna mesta pozabimo ali števila zaokrožimo navzgor. Ta popravek se pri velikih količinah praktično ne pozna, pri majhnih pa moramo upoštevati tudi decimalna mesta. Mnogo dejanskih problemov linearnega programiranja pa je takšnih, da so že po svoji naravi celoštevilčni in si torej z zaokroževanjem rešitev ne moremo pomagati. Zato so ti opredeljeni kot problemi celoštevilčnega programiranja. Gre za linearne programe, v katerih morajo biti spremenljivke nenegativna cela števila. Ko so v celoštevilčnem programiranju vse spremenljivke definirane kot cela števila, ga imenujemo čisto celoštevilčno programiranje. Če pa so definirane kot cela števila samo nekatere izmed spremenljivk, govorimo o problemu mešanega celoštevilčnega programiranja. Celoštevilčni problemi programiranja, v katerem morajo biti vse spremenljivke enake 0 ali 1, imenujemo problem nič-ena (0-1) programiranja. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 9

14 Enostaven primer celoštevilčnega programa za določanje maksimuma: x, x x + x z = 3x + 2x 1 2 Z je ciljna funkcija, x 1 in x 2 pa celoštevilčni nenegativni spremenljivki. V praksi večino celoštevilčnih problemov (IP) rešujemo z metodo»razvejevanja in omejevanja«(branch and bound method), ki najde rešitev problema z učinkovitim (pametnim) ugotavljanjem točk na področju možnih rešitev posameznega problema. Tipični primeri celoštevilčnega programiranja so: Problem trgovskega potnika Problem nahrbtnika Razporejanje kapitala Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 10

15 4. Pregled pomembnejših komercialnih programskih orodij (PO), za linearano, nelinearno in celoštevilčno programiranje Za področje komercialnih analitičnih programskih orodij bi lahko rekli, da je na njem kar precej pestro dogajanje, saj je izbira precejšna. Na voljo je mnogo programskih orodij, nekatera pa so celo brezplačna. Pregled pomembnejših komercialnih programskih orodij podajamo v tabelah 2, 3 in 4. AIMMS AMPL CPLEX Linear Optimizer C-0WHIZ DATAFORM DecisionPro DecisionScript EZMod FortMP Frontline Solvers for AMPL Frontline Solvers for Excel GAMS GAUSS HOPDM HS Linear Optimizer IBM Optimization Solutions LAMPS Large-Scale LP Solver Large-Scale SQP Solver LINDO LINGO LOQO LPS 867 LP-Toolkit LSSOL Mathematica MathPro 2000 MIMI MINOS MOSEK Optimization Tools MPL MPSIII NAG Numerical Libraries NAG Fortran Libraries OML OMNI OMP Optimization OPL Studio Optimal Engineer OptiMax 2000 OSL PIMS POM-QM Premium Solver Platform PROFIMAX Profit Vehicle Router Quant Methods QPOPT Software(QMS) SAS/OR SCIMOD SNOPT Solver Suite Solver DLL Platform SOPT TOMLAB What'sBest! XA Optimizer and Solver Xpress-MP XPRESS Solver Engine Tabela 2: Prikaz komercialnih programskih orodij za linearno programiranje V tabeli 3 so predstavljena komercialna orodja za nelinearno programiranje. AIMMS GAMS IBM Optimization Solutions KORBX LINGO LOQO MathPro 2000 MINOS NPSQL Optimal Engineer OSL POM-QM (v povezavi z Excel-om) SCIONIC Solver Suite What's Best! Tabela 3: Prikaz komercialnih programskih orodij za nelinearno programiranje Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 11

16 V tabeli 4 so predstavljena komercialna orodja za celoštevilčno programiranje. CPLEX Linear Optimizer FortLP GAMS IBM Optimisation Solution LAMPS LINDO LINGO MathPro 2000 MPL MPSIII OML OMNI Optimal Engineer PIMS POM-QM SAS/OR Solver Suite (Excel) What's Best! XA Optimizer and Solver Xpress-MP Tabela 4: Prikaz komercialnih programskih orodij za celoštevilčno programiranje Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 12

17 5. Predstavitev programskih orodij EXCEL-solver, LINGO, LINDO in POM-QM Fakulteta za organizacijske vede v okviru Laboratorija za logistiko uporablja v izobraževalnem programu nekaj programskih orodij z algoritmi za linearno programiranje, ki temeljijo na metodi simpleks, za nelinearno programiranje algoritme, temelječe na gradientnih metodah, za celoštevilčno programiranje pa algoritme, ki temeljijo na metodah razvejanja in omejitve (branch and bound method). Ta orodja omogočajo vnos različnega števila omejitev. Nekatera je z dodatnim doplačilom možno razširiti za obdelavo še večjega števila omejitev. Orodja, ki jim bomo posvetili pozornost so Microsoft Excel, Lingo, Lindo in POM-QM. Čeprav so ta programska orodja namenjena za lažje in hitrejše reševanje tovrstnih problemov, pa je še vedno potrebno ročno pripraviti podatke za vnos, problem pa je potrebno formulirati v matematični obliki, ki jih program zna sprejeti in obdelati EXCEL Excel je del programskega paketa Microsoft Office. Namenjen je delu s številkami, tabelami in grafi. Uporaben je na večih področjih poslovanja. Od proizvodnje, financ, distribucije in nabave do načrtovanja, primeren pa je tudi za domačo uporabo. Excela kot samostojnega dela ni mogoče kupiti, ampak le v okviru celotnega paketa Office. V Excelu je že vključen reševalec, imamo pa možnost uporabe še zmogljivejšega, vendar pa je zanj potrebno plačati. Podjetje Frontline systems Inc., ki je tudi izdelalo reševalca, ki je že vključen v excel, ponuja dve zmogljivejši verziji reševalca. Najzmogljivejši je Premium Solver Platform, če pa ne želite zapraviti za to verzijo reševalca preveč denarja oziroma ne potrebujete teh zmogljivosti, je druga možnost Premium Solver. Primerjava zmogljivosti vseh treh verzij reševalca je podana v tabeli 5. LASTNOSTI Standard Excel Solver Premium Solver Premium Solver Platinum Optimizacijske metode: Linearni simpleks reševalec Samo za LP Samo za LP LP/Kvadratno GRG Nelinearni reševalec Da Da Da (hitrejši) Mešani celoštevilčni Da Da (hitri) Da (hitrejši) reševalec Velikost problema: Linearne spremenljivke x 200 x x x 8000 omejitve Nelinearne spremenljivke x 200 x x x 250 omejitve Poročila reševalca: Poročilo o rešitvi problema Da Da Da Poročilo o občutljivosti Da Da Da Poročilo o omejitvah Da Da Da Cena licence z letno podporo: Brezplačno $895 $1,795 Tabela 5: Prikaz zmogljivosti posameznih orodij in njihove cene Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 13

18 Uporaba reševalca Reševalec je program za optimizacijo in reševanje linearnih, nelinearnih in celoštevilčnih problemov. Z njim lahko poiščemo optimalno vrednost za formulo v ciljni celici. Reševalec dela s skupino celic, ki so povezane, bodisi posredno bodisi neposredno, s formulo v ciljne celice. Prilagaja vrednosti v spreminjajočih celicah, imenovanih prilagodljive celice, ki jih določi uporabnik, da izračuna rezultat, ki ga uporabnik prav tako določi v formuli ciljne celice. Da se omejijo vrednosti, ki jih potem reševalec uporabi v modelu, je treba uporabiti omejitve, le-te pa se lahko nanašajo tudi na druge celice, ki vplivajo na formulo ciljne celice. Reševalec se uporablja za določanje minimalne ali maksimalne vrednosti ene celice s spreminjanjem drugih celic na primer, ko se spremeni količina proračuna za oglaševanje, lahko ugotovimo, kakšne posledice ima to na načrtovan dobiček. Namestitev reševalca Za reševanje linearnih programov v Excelu je potrebno reševalca (solver) najprej namestiti, v kolikor že ob namestitvi ni bil nameščen. Reševalca najdemo, če kliknemo na Orodje/dodatki, postavimo kljukico pri Dodatek reševalec oziroma Tools/Add-ins in kljukico pri Solver Add-ins, če je angleška verzija programa, kot je prikazano na sliki 3. Potrebno pa je imeti originalno zgoščenko, ki jo zahteva postopek, da z nje prenesemo potrebne podatke za namestitev. Slika 3: Dodajanje reševalca Tako smo torej dodali funkcijo reševalca. Osnovna verzija je sposobna reševati linearne probleme z do 200 omejitev ter do 100 omejitev, če gre za nelinaerni problem. Za reševanje celoštevilnih problemov pa z uporabo metode razvejanja in omejevanja (Branch and bound method) vključimo probleme z 10 do 20 spremenljivkami. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 14

19 Delovanje Reševalca bom prikazal na vzorčnem primeru (LP2): Podjetje izdeluje dve vrsti kalkulatorjev: običajne in hitre. Običajne prodaja z dobičkom 9, hitre pa 14. Na dan lahko izdela 200 enot običajnih in 100 enot hitrih. Za izdelavo kalkulatorjev ima na voljo omejeno število delovnih ur, na dan 160 ur. Da izdela običajnega, potrebujejo 10 minut, za hitrega pa 30. Določiti je treba, kakšna naj bo proizvodnja, da bo dobiček maksimalen, delovne ure in proizvodne zmogljivosti pa ne bodo presežene. Napišimo program najprej v matematični obliki: x 0, x običajen 200 hiter 100 0, * običajen + 0,5 * hiter 160 Opomba: x 1 x 2... običajen... hiter kjer ima ciljna funkcija: Maksimum. z = 9 * običajen + 14 * hiter Reševalca najdemo, če spet kliknemo na Orodja/Reševalec oziroma Tools/Solver in potem na Reševalec oziroma Solver, kot prikazuje slika 4. Podatke v Excel vnašamo, kot običajno, v obliki tabele. V nadaljnih primerih bomo pri uporabi Excela vedno uporabili to obliko, ki je prikazana na sliki. Ta oblika je uporabljena zaradi boljše preglednosti, saj je enobarvna tabela lahko nekoliko nepregledna. Vsak uporabnik pa, seveda, lahko uporabi program po svoji želji. Torej v sivem delu so podatki, v zelenem so omejitve, v modrem je zapisana ciljna funkcija, v rumenem pa je vrednost ciljne funkcije (rešitev), formulo zanjo pa moramo prej vpisati v to celico. V zelene celice vpišemo linearne enačbe, kot seštevek in zmnožek podatkov iz sivega polja in vrednosti spremenljivk x n. Vrednost spremenljivk x 1, x 2,..., x n, so napisane pod modrim delom in te bomo, poleg rezultata v rumeni celici, vedno iskali. Na spodnji sliki lahko vidimo, da je rešitev tega linearnega programa sledeča: običajnih kalkulatorjev mora biti 200 enot, hitrih pa 100, da bo maksimalen dobiček V tretji vrstici so vse enote pretvorjene v skupno enoto. 10 minut = 0, ure, 30 minut = 0,5 ure. Vidimo pa lahko tudi, da je bilo za doseganje tega rezultata potrebno 83,33 delovnih ur. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 15

20 Slika 4: Zagon reševalca Postopek, kako pridemo do rešitve, pa je sledeč. Ko imamo podatke in formule vpisane v tabelo, kliknemo na reševalca in se odpre novo okno, v katerega vnšamo podatke za reševalca. Ogledamo si ga lahko na sliki Slika 5: Vnos parametrov V to okno vnašamo različne paremetre. Najprej potrebujemo ciljno funkcijo, nato pa spremenljivke in omejitve. V polju 1, Nastavimo ciljno funkcijo (Set target cell), določamo ciljno funkcijo. To naredimo tako, da že prej v pravo celico v tabeli vpišemo ciljno funkcijo, tukaj pa kliknemo gumb zraven okvirčka in potem na celico, v katero smo prej vpisali formulo. V polju 2, Equal to (Enako), določamo, ali bomo funkcijo maksimirali ali minimirali. Če hočemo vrednost po želji, jo vpišemo v okence Value of. V polju 3, S spremembo celic (By changing cells), določimo celice, ki jih reševalec lahko spreminja, dokler ni zadoščeno omejitvam problema in ciljni Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 16

21 funkciji. Celice, ki smo jih spremenili, morajo biti s ciljno celico povezane posredno in neposredno. Gumb 4, Ugani (Guess). S klikom nanj funkcija ugane celice brez formul, ki se sklicujejo na ciljno funkcijo v Nastavi ciljno celico. Polje 5, Predmet omejitve (Subject to the constraints). V tem polju se prikažejo omejitve, ki jih vnašamo, ko pritisnemo gumb 6, Dodaj (Add). Odpre se vnosno okno, nato pa označujemo celice, ki jim želimo določiti omejitve. Vsako novo omejitev potrdimo z gumbom Dodaj. Tu se lahko nastavi tudi celoštevilčne vrednosti (int) in vrednosti za binarno programiranje (bin). To okno je prikazano na sliki 6. Slika 6: Nastavitev omejitev Gumb 7, Spremeni (Change), odpre isto okno, kot gumb 6, vendar je najprej potrebno označiti eno od omejitev iz polja 5, ki jo želimo spremeniti. Potem lahko želeno omejitev spremenimo ali popravimo in kliknemo OK. Gumb 8, Izbriši (Delete), izbriše eno od omejitev iz polja 5, ki pa jo je potrebno prej označiti. Gumb 9, Ponastavi vse (Reset all), zbriše trenutne nastavitve problema in ponastavi vse nastavitve na njihove izvirne vrednosti. Ko smo pravilno nastavili ciljno funkcijo, spremenljivke in omejitve, kliknemo gumb 10, Reši (Solve), in program bo izračunal rešitev, še prej pa se odpre novo okno (slika 7), kjer reševalec sprašuje, ali naj v preglednici obdrži rešitve oziroma izvirne vrednosti. Lahko izbiramo tudi med tremi poročili: Poročilom o odgovoru (Answer), Občutljivostno analizo (Sensitivity) in Poročilom o omejitvah (Limits). Poročilo o odgovoru Slika 7: Izbira poročil To poročilo nam za prilagodljive celice in ciljno funkcijo izpiše izvirne in končne vrednosti. Pri izbranih omejitvah se vpiše tudi formula omejitve in razlika med začetno in končno vrednostjo omejitve. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 17

22 Poročilo o omejitvah Izpiše nam zgornjo in spodnjo mejo posamezne spremenljive celice. Poročilo o občutljivostni analizi To poročilo vsebuje tudi postavko Omejeni stroški. Na primeru je videti to tako, da če spremenljivki povišamo vrednost za eno enoto, se ciljna vrednost posledično poveča ali zmanjša za vrednost omejenih stroškov. Nastavitve reševalca Če v oknu reševalca, na sliki 5, kliknemo na gumb 11, Možnosti (Options), se odpre okno, v katerem lahko reševalca nastavljamo po želji. To prikazuje slika 8. Tu lahko nastavljamo parametre za linearne in nelinearne probleme ter napredne lastnosti procesa reševanje problema, imamo pa tudi možnost shraniti in naložiti modele Slika 8: Možnosti Kot je razvidno iz slike, je možno nastavljati kar precej parametrov. Ogledali si bomo tiste, ki so najpogosteje v uporabi. V polje 1, Maks. Čas (Max time), vpisujemo čas, ki ga damo na razploago, da proces opravi svoje delo. Najdaljši čas, ki ga je možno vpisati, je sekund, že privzeto pa je nastavljen na 100 sekund. V polje 2, Iteracije (Iterations), vpišemo število iteracij oziroma ponovitev, ki jih želimo dovoliti. Če proces reševanja doseže maksimalen čas in število ponovitev predenj reševalec najde rešitev, se odpre okno s poskusno rešitvijo. V polje 3, Natančnost (Precision), vnašamo natančnost rešitve. Manjša kot je vnešena številka, večja bo natančnost. Torej je denimo 0, bolj natančno število kot 0,001. V polje 4, Odstopanje (Tolerance), se vnaša vrednost v odstotkih, pomeni pa delež napak, ki jih še dovoljujemo v rešitvi. Torej povemo, do kje bo rezultat za nas še vedno sprejemljiv. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 18

23 V polje 5, Konvergenca (Convergence), vnesemo vrednost relativne spremembe, ki jo še dovoljujemo, predenj reševalec najde rešitev. Manjša kot je številka, manjša relativna napaka je dovoljena. Polje 6, Predpostavi linearni model (Asume linear model), pospeši reševanje problema, ko so vsa razmerja v modelu linearna in rešujemo linearno optimiran problem, oziroma linearni približek nelinearnega problema. Predpostavi nenegativno (Assume Non-Negative) pa pomeni, da reševalec prevzame spodnjo mejo 0 (nič) za vse nastavljive celice, za katere ni določene spodnje meje v polju, kjer se dodajajo omejitve Polje 7, Prikaži rezultate iteracij (Show iterations results), obkljukamo, če želimo prikaz rezultatov po vsaki končani ponovitvi. V polju 8 Ocena (Estimates) aktiviramo aktivnosti, ki se nanašajo na nelinearno programiranje. Polje 9, OK pomeni potrditev nastavitev in zapustitev nastavitev, Cancel pomeni preklic in zapustitev nastavitev, Naloži model (Load Model) sproži postopek nalaganja (oz. priklica) že shranjenega modela in Shrani model (Save model) sproži postopek shranjevanja modela na željeno lokacijo. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 19

24 5.2. LINGO Lingo je vsestransko orodje, namenjeno izgradnji in reševanju linearnih, nelinearnih in celoštevilčnih problemov hitreje, enostavneje in bolj činkovito. Je celovit paket, ki vključuje zmogljiv programski jezik za izražanje optimizacijskih modelov, prijazno okolje za gradnjo in urejanje problemov ter niz vgrajenih hitrih reševalcev. Zadnja verzija Linga, verzija 11, je zmožna delovati na več operacijskih sistemih in delovnih postajah. Windowsu, ki delujejo na 32- ali 64-bitni tehnologiji in na operacijskem sistemu Lunux. Starejše verzije Linga delujejo tudi na operacijskem sistemu Solaris in Linux na procesorjih Itanium II in SPARC32 na 64- oziroma 32-bitni tehnologiji. Prav tako je možno dobiti več različno zmogljivih različic. Brezplačno različico kar na proizvajalčevi strani ( ki pa ima omejene zmogljivosti v smislu manjšega števila spremenljivk in omejitev. Te so enako zmogljive kot plačljive različice, vendar so zmožne reševati samo manjše probleme. Plačljive različice so seveda zmožne reševati kompleksnejše in obsežnejše probleme. V tabeli 6 je prikazan seznam različic skupaj s ceno in zmogljivostmi. (V tej diplomski nalogi uporabljamo verzijo, ki je brezplačna, in jo je možno uporabiti tudi na naši fakulteti.) Celoštevilčna Nelinearna Globalna Različica Cena Omejitve Spremenljivka spremenljivka spremenljivka spremenljivka Osnovna $ Izboljšana $ Industrijska $ Razširjena $4.995 neomejeno neomejeno neomejeno neomejeno neomejeno Tabela 6: Seznam različic LINGO Prav tako kot pri Excelu v Reševalcu, tudi tukaj lahko uporabimo pomoč (Help), ki je razložena tako, kot v vseh običajnih priročnikih. Vključeno je veliko primerov s komentarji. Uporaba Linga Lingo je vsestransko orodje, izdelano za ustvarjanje in reševanje matematičnih optimizacijskih problemov enostavneje in bolj učinkovito. Vgrajene ima številne reševalce, ki so povezani z okoljem za modeliranje (modeling envoirment). Lingo je oblikovan tako, da proces reševanje modelov od uporabnika zahteva najmanjši možni vložek dela. Glede na strukturo modela, Lingo avtomatično prilagodi notranje parametre ter sam izbere ustreznega reševalca. Vgrajeni reševalci so: Linearni reševalci (Linear solver) Za reševanje linearnih problemov Lingo uporablja metodo Simplex, ki je bila opisana že v teoretičnemu delu tega zapisa in Mejno metodo. Slednja je alternativna možnost Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 20

25 reševanja linearnih problemov v Lingu, ki hitro rešuje probleme velikega obsega pa tudi specifične probleme. Celoštevilčni reševalci (Global solver) Uporabni so za modele, kjer veljajo splošne in binarne omejitve. Lingovi reševalci delujejo v povezavi z reševalci za linearne, nelinearne ter kvadratne probleme. Vsebujejo pa tudi veliko celoštevilčnih omejitev, ki pri velikih ali celoštevilčnih modelih precej izboljšajo čas reševanja. Nelinearni reševalci (Multistart solver) Za nelinearne modele obstaja več vrst reševalcev in sicer: Splošni nelinearni reševalec (General nonlinear solver) Nelinearni reševalec za Lingo je osnovan na GRG algoritmih (Generalized reduced gradient) ter SLP modelih (Successive linear programing), ki nudijo možnosti ustrezne in hitre rešitve. Globalni reševalec (Global solver) Globalni reševalec se za razliko od lokalnega reševalca, ki se ustavi, ko najde lokalni optimum (to je lahko minimum ali maksimum), ne ustavi pa se pri prvem najdenem lokalnem optimumu, vendar išče toliko časa, dokler ne najde globalnega. Ta reševalec pretvori originalne nekonveksne ter nelinearne probleme v več konveksnih (linearnih). Nato uporabi metodo razvejanja in omejevanja (Brench and bound method) za izčrpno iskanje globalne rešitve med na novo nastalimi podproblemi. Večzačetni reševalec (Multistart solver) Običajen NLP reševalec se aktivira ob začetku iskanja lokanega optimuma. Uporabnik določa maksimalno število poskusov. Ta metoda pride v poštev, ko časovno omejeno iskanje globalnega optimuma odpove, saj večzačetni reševalec omogoča hitrejše in boljše iskanje rešitve. Kvadratni reševalec (Quadratic Solver) Tovrsten reševalec omogoča hitrejše reševanje linearnih, mešanih celoštevilčnih ter kvadratnih modelov z uporabo Mejne metode kot Splošni nelinearni reševalec. Z njim je možno rešiti tudi kvadratne modele z binarnimi ter celoštevilčnimi omejitvami. Na ta način je Lingo primeren za reševanje problemov regresije, optimizacije portfelja in nekaterih logističnih problemov. Predpostopkovni proces (Preprocessing) Ta proces je vključen v vse reševalce. Linearni in nelinearni reševalci vključujejo merilo in tehnike za zmanjševanje obsega modelov. Tehnika za zmanjševanje omogoča hitrejše reševanje problemov s pomočjo analiziranja prvotne formulacije ter ustreznega krčenja obširnejših modelov v manj obširne. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 21

26 Začetek uporabe programa Potem, ko na proizvajalčevi strani izpolnimo obrazec z nekaj osebnimi podatki, prenesemo zagonsko datoteko na računalnik. Z njo potem instaliramo program na želeno lokacijo. Ikona se postavi na namizje, dvakrat kliknemo nanjo in odpre se program, kot je prikazano na sliki 9. Slika 9: Začetno stanje Na sredini imamo prazen»list«, kamor se potem piše program, nad njim pa je serija ikon in orodna vrstica. Po želji lahko te in še nekaj drugih vizualnih pripomočkov izklopimo in ponovno vklopimo, če kliknemo LINGO in nato Options, kjer potem dodajamo in odvzemamo kljukice za stvar, ki jo želimo imeti prikazano oziroma ne. Kot je razvidno iz slike, je v primerjavi z Excelom, ki ima poleg reševalca še mnogo drugih matematičnih funkcij za različne namene, Lingo namenjen resnično samo za namen matematičnega programiranja. Pisanje modela z urejevalnikom Za razliko od Excela, ni potrebno v posebno okno vnašati formul, omejitev in ostalih parametrov. Program se napiše tako, kot bi ga pisali ročno na list papirja, nakar ve sam, kaj mora izračunati, če je seveda vse pravilno napisano, saj za sintakso uporablja poseben (algebraičen) programski jezik. Med pisanjem lahko naredimo tudi osebne komentarje za lažje razumevanje, če bi pozneje spet odpirali program ali pa, če bi ga bral za nami kdo drug. Komentarje je potrebno označiti, da jih potem program ne bo vključil v izračun, saj bi v tem primeru prišlo do napake in ne bi dobili rezultata. Komentar začnemo pisati tako, da postavimo na začetek klicaj (!), zaključimo pa ga s podpičjem (;), samodejno pa se obarva zeleno, tako da se loči tudi na ta način. Kje pišemo komentar, ni pomembno, lahko na začetku vrstice, vmes med pisanjem programa, pomembno pa je označiti začetek in konec komentrja. LINGO tudi ni občutljiv na velike ali male črke. Pišemo lahko po želji. Pri pisanju spremenljivk je pomembno, da jih poimenujemo tako, da najprej napišemo črko (od A do Z), ki ji lahko sledi katera koli črka, številka ali pa Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 22

27 podčrtaj (_). Omejitev je samo v dolžini besede, ki je lahko dolga 32 znakov, kar bi moralo zadostovati za vsako ime. Pri pisanju programa je potrebno paziti, da vedno zaključimo vrstico, tako kot pri komentarju, s podpičjem. Program pišemo tako, da najprej napišemo ciljno funkcijo, ki jo želimo maksimirati oziroma minimirati. Temu sledijo omejitve, ki jih moramo razbrati iz problema. Če želimo dobiti pravilne rezultate, je potrebno imeti vse podatke v istih enotah. Kar hitro se namreč lahko pripeti, da vse napišemo pravilno, vendar pozabimo pretvoriti na skupno enoto in zatorej potem dobimo napačen rezultat. Delovanje Linga lahko predstavimo na kratkem vzorčnem primeru (LP2), ki je prikazan na sliki 10. Slika 10: Primer uporabe Linga Ko je model napisan, kliknemo gumb Solve (Reši), oziroma kliknemo v menijski vrstici LINGO/Solve. Program preveri, če smo program napisali brez napak in dobimo rešitev. Če smo nekje v sintaksi naredili napako, nam sporoči in odpre okno, kjer je razloženo, kaj je najverjetneje napačno, zraven pa še doda povezavo do pomoči, kjer je pojasnjeno, kako bi moralo biti napisano. Če je vse pravilno, se nam odpre statusno okno, kot je prikazano na sliki 11. Slika 11: Statusno okno Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 23

28 Statusno okno nam poda informacije o modelu. Polje Solver Status (Stanje reševalca) prikazuje trenutno stanje reševalca. Prva postavka pove, kakšne vrste model je to (linearni program, nelinearni, celoštevilčni, kvadratni,...), druga pa v kakšnem stanju je model. Sprva je začetno stanje nedoločljivo (Undetermined), ker reševalec še ni imel priložnosti generirati rešitve za model. Ko začne z iteracijami, se status spremeni v Nerešljivo (Infeasible). V tem stanju Lingo generira poskusno rešitev, vendar nobena ne zadostuje vsem omejitvam modela. Če možna rešitev obstaja, reševalec nato preide v stanje Rešljivo (Feasible). V tem stanju Lingo poišče rešitev, ki zadostuje omejitvam modela, vendar reševalec še ni zadovoljen, če to res ni najboljša rešitev. Če reševalec ne najde več boljše rešitve modela, se stanje spremeni v Globalni optimum (Global optimum) oziroma Lokalni optimum (Local optimum). Če model nima kakšnih nelinearnih spremenljivk, potem bo vsak lokalni optimum tudi globalni optimum. V primeru, da obstaja ena ali več nelinearnih spremenljivk, pa ni nujno, da bo lokalni optimum najboljša rešitev problema. Možno je, da je še kje boljša rešitev, vendar je reševalčevo lokalno iskanje ne»vidi«. Lahko, da Lingo zna priti do globalnega optimuma, vendar zaradi narave nelinearnega problema, ne more trditi, da ga ima. Tako torej pri nelinearnih modelih obstane v stanju lokalnega optimuma. Zaradi tega dejstva je boljše, da se model formulira, kadar je le možno, le z linearnimi spremenljivkami. Tu je še postavka Iterations (Ponovitve), ki pokaže število iteracij, ki jih je opravil Lingo. Polje Extended Solver Status (Podaljšano Stanje reševalca) se nanaša na različne posebne reševalce v Lingu. Večzačetni reševalec, Globalni reševalec ter Razvejevalni in omejevalni (Branch-and-Boud) reševalec. Postavke v tem okviru, se bodo posodabljala samo, če bo uporabljen kateri od teh reševalcev. V polju Variables (Spremenljivke) lahko po postavkah vidimo skupno število linearnih, nelinearnih oz. celoštevilčnih spremenljivk, ki smo jih vključili v model. Polje Constrains (Omejitve) prikazuje skupno število omejitev v modelu in koliko omejitev od teh je nelinearnih. Omejitev je nelinearna takrat, če je ena ali več spremenljivk nelinearnih. Lingo išče tudi fiksne omejitve. Omejitev je fiksna, če so vse spremenljivke v omejitvah fiksne. Takšne omejitve Lingo izloči in jih ne prišteje k skupnemu številu omejitev. Polje Nonzeros (Neničelno) prikazuje neničelne koeficiente, ki se pojavijo v nelinearnih spremenljivkah in njihovo skupno število. Polje General Memory used (Količina porabljenega spomina) prikazuje koliko spomina porabi Lingov model. Polje Elapsed runtime (Potrebni izvajalni čas) prikazuje skupen čas, poteben za reševanje modela. Čas reševanje je odvisen tudi od zasedenosti sistema. Podaljša se, če je bolj zaseden in obratno. (Vir: Help v Lingu). Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 24

29 Poročilo Skupaj s statusnim oknom, pa se odpre tudi okno s poročilom, ki nam pove, kakšna je optimalna rešitev za model, ki ga v tistem trenutku rešujemo. Iz slike 12 je razvidno, da je za problem, ki smo si ga ogledali malo prej, optimalno, če prizvedejo 200 običajnih kalkulatorjev in 100 hitrih kalkulatorjev, da bo skupni dobiček 3200 denarnih enot. Poleg rešitve, pa v poročilu napiše še dualno vrednost za vsako omejitev, ki pomeni za koliko bi se vrednost dobička povečala, če povečamo atribut za 1 enoto. V tem primeru, v vrstici 2, kaže, da bi se vrednost dobička povečala za 9 denarnih enot, če bi naredili en običajen kalkulator več. V polju Reduced costs pa pove koliko enot bo ostalo na zalogi po izvedbi te naloge (v tem primeru 0). V polju Slack or surplus (primankljaj ali presežek), pa pove koliko je optimalna vrednost oddaljena od tega, da bi bila enakovredna. V našem primeru to pomeni, da je 76,666 ur neizkoriščenih. Slika 12: Poročilo Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 25

30 5.3. LINDO LINDO (Linear, Interactive and Discrete optimizer) je orodje podjetja LINDO Systems inc., za reševanje linearnih, celoštevilčnih in kvadratnih problemov matematičnega programiranja. Možnost njegove uporabe je predvsem na področju gospodarstva, industrije, raziskav, uporaben pa je tudi pri reševanju problemov distribucije izdelkov, mešanja sestavin in razporejanja kadrov. Lastnosti Linda so pravzaprav enake, kot veljajo za Lingo, zato jih ne bomo niti opisovali (preberemo jih lahko nekaj strani nazaj), je pa nekoliko bolj okleščen. Po besedah gospoda Marka Wileya, zaposlenega pri podjetju, s katerim sem stopil v kontakt , je večinoma sposoben računati iste probleme, vendar nima toliko izboljšav kot Lingo in je, ne glede na velikost in kompleksnost, nekoliko počasnejši. Delo s programom Gre za enostaven program, kakršno je tudi njegovo načelo. Če uporabnik želi narediti nekaj enostavnega, potem naj bo tudi vložen trud za uporabo potrebnih ukazov ravno tako majhen. Zaradi tega načela je pisanje modelov poenostavljeno do te mere, da se ciljno funkcijo in omejitve enostavno napišejo, kot bi jih reševali ročno na papir. Pomembna značilnost Linda je, da je sposoben uvažanja tudi podatkov iz drugih programov, preglednic, baz podatkov ali besedilne datoteke. Tako kot pri Lingu, je tudi tu pisanje modelov takšnoo, kot če bi jih pisali v urejevalniku besedil. Torej je izgled takšen kot bi model pisali ročno. Model potrebuje tri osnovne podatke: ciljno funkcijo, eno ali več omejitev ter eno ali več spremenljivk. Ciljna funkcija predstavlja, kaj se bo z modelom počelo, ali se išče minimum ali maksimum. Po enostavni namestitvi programa na trdi disk, ga zaženemo in prikaže se osnovni zaslon, s pripravljenim praznim»listom«, na katerega pričnemo pisati model. Osnovni zaslon je predstavljen na sliki 13. Slika 13: Osnovni zaslon Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 26

31 Na podoben način kot pri Lingu pišemo model tudi tu. Na istem vzorčnem primeru (LP2), bomo predstavili še uporabo Linda, prikazano na sliki 14. Kot prvo, je opazno, da se komentarji ne obarvajo zeleno in tako so manj vidni, še vedno pa jih naredimo tako, kot pri Lingu, da jih začnemo s klicajem in zaključimo z podpičjem. Pri ciljni funkciji ni potrebno za MAX ali MIN pisati znaka za enačaj. Prav tako ni treba pisati znaka za množenje, uporabljamo samo znak za seštevanje. V praksi izgleda to tako, da namesto denimo 0.5 * hiter, zdaj napišemo 0.5 hiter. Ko pišemo omejitve spremenljivkam, začnemo ta del s ST in zaključimo z END. Nikjer pa ni več potrebno pisati podpičja, da bi zaključili vrstico (razen pri komentarjih). Slika 14: Predstavitev uporabe Linda Ko imamo model napisan, kliknemo na Solve. Če je model napisan brez napak, nas program vpraša, ali želimo, da naredi analizo občutljivosti, po odgovoru pa prikaže okno s stanjem reševalca, prikazano na sliki 15. Slika 15: Stanje reševalca Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 27

32 Stanje reševalca nam poda nekaj koristnih informacij o modelu: Status: Iterations Inffeasibility Objective Best IP IP Bound Branches Elapsed time Update interval Interupt solver Vrne status trenutne rešitve. Možne vrednosti so: Optimal, Feasible, Infeasible, Unbounded. Število ponovitev. Za koliko so kršene omejitve. Trenutna vrednost ciljne funkcije. Ciljna vrednost najboljše celoštevilčne rešitve (velja za celoštevilčne modele). Teoretična meja ciljne funkcije za celoštevilčne probleme. Število celoštevilčnih spremenljivk, ki jih je celoštevilčni reševalec razvejal. Čas, ki ga je reševalec potreboval za reševanje. Na koliko sekund naj se obnovi statusno okno. Prekini reševalca. Reševalec vrne trenutno najboljšo vrednost. Istočasno s statusnim oknom, pa se v ozadnju prikaže poročilo, ki pove, kakšna je optimalna vrednost in kakšna vrednost spremenljivk je optimalna. Pove tudi, za koliko je možno povečati ali zmanjšati spremenljivke, da dobimo še vedno isto končno optimalno rešitev. Prikazano je na sliki 16. Na začetku v vrsticah, običajen in hiter, prikazuje, koliko kalkulatorjev bi bilo potrebno izdelati, da bo dosežena optimalna vrednost. Torej 200 običajnih in 100 hitrih, da bo dobiček 3200 denarnih enot. Rezultat je bil dobljen v drugi ponovitvi. Enake vrednosti kot v Lingu, dobimo tudi v poljih Reduced costs, Dual prices in Slack or surplus. Do tu je poročilo enako Lingovem, spodnji del pa prikaže še nekaj informacij več. Vidimo lahko, za koliko lahko ciljni koeficient spremenimo, ne da bi se spremenile vrednosti neničelnih spremenljivk. Na tem primeru je razvidno, da ne moremo povečati dobička nobene vrste kalkulatorja, ne da bi se spremenila tudi količina izračunanih dnevno proizvedenih hitrih in običajnih kalkulatorjev. Slika 16: Poročilo Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 28

33 5.4. POM-QM Programsko orodje POM QM je izdelalo in izdalo podjetje Prentice-Hall, Inc., Namenjeno je za področje proizvodnje, operacijskega managementa in kvantitativnih metod, ved o managementu ali operacijske raziskave. Razvito je bilo z namenom pomagati uporabniku naučiti se in razumeti ta področja. Uporabi se ga lahko za reševanje problemov ali pa preverjanje odgovorov, do katerih smo prišli na roke. Vsebuje tudi veliko število modelov. Značilnosti POM-QM so: Standardizacija Grafični vmesnik je standarden, takšen kot ga najdemo v operacijskm sistemu Windows. Kdor koli je vešč dela s Excelovimi preglednicami, urejevalnikom besedil Word ali paketom za predstavitve v Windows okolj, bo enostavno uporabljal tudi ta program. Standardni grafični vmesnik vključuje po želji nastavljive menije, orodne vrstice, statusno vrstico in help meni. Čeprav program sestoji iz 29 modulov in več kot 60 podmodulov, je prikaz vseh skladen, tako da, ko se uporabnik navadi uporabljati enega, ne bo imel težav z uporabo ostalih modulov. Shranjevanje in nalaganje je enostavno, saj se tudi to opravlja na standarden način, poznan v sistemu Windows. Kot dodatno so datoteke shranjene po modulih, kar olajša iskanje shranjenih datotek. Podatki in rezultati, vključno z grafi, se lahko enostavno kopirajo v druge aplikacije. Fleksibilnost Zaslonske komponente, ki jih uporabnik vidi, in barve si lahko nastavi sam. To je učinkovito pri pregledu podatkov. Uporabnik lahko izbere željen rezultat in si ga natisne, ne da bi moral natisniti vse. Možne so mnoge dodatne možnosti tiskanja. Obstaja tudi več prednosti, ki jih uporabnik lahko izbere v Help meniju, uporabniškem informacijskem meniju. Program se denimo lahko nastavi tako, da samodejno reši problem potem, ko so bili vnešeni podatki. Uporabniško usmerjena oblika Urejevalnik podatkov, ki je v obliki preglednic, omogoča enostaven vnos podatkov in njihovo zelo enostavno urejanje. Ko se podatki vnašajo, se ponudi jasna pomoč na zaslonu, ki pove, kaj je potrebno vnesti v določeno polje, v primeru nepravilnega vnosa podatkov, pa prikaže sporočilo, ki javi in opiše napako. To olajša popravek napake, saj vemo, kaj ni bilo pravilno vnešeno. Enostavno se da spreminjati med dvema metodama reševanja, z namenom primerjave različnih metod in rešitev. V številnih primerih je ta operacija opravljena z enim klikom. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 29

34 Vmesne korake poteka je tudi možno videti na zaslonu, na koncu pa je rešitev obarvana drugače, kot ostali pdatki, kar je pregledneje. Ko POM-QM namestimo na trdi disk in zaženemo porogram, se odpre okno, kot je prikazano na sliki 17. Delo s programom Slika 17: Glavni grafični vmesnik Ko program odpremo, je potrebno najprej klikniti v menijski vrstici na Module, kot je prikazano na sliki 17. Odpre se vrsta modulov, s katerimi je POM-QM sposoben operirati. Poiščemo željen modul in nanj kliknemo. Sprva je zaslon prazen, vendar je nato potrebno klikniti ikono za nov»list«. Odvisno od izbire modula, se po kliku na nov»list«odpre novo vnosno okno, kjer nastavljamo nastavitve kot so: število omejitev, spremenljivk in vej ter mnoge druge. Če pa smo izbrali modul, s katerim je možno reševati več različnih problemov, pa se nam po kliku na nov»list«odpre seznam možnosti. Iz tega izberemo tisto vrsto reševanja problema, ki jo potrebujemo za reševanje svojega problema, nato pa se nam odpre že omenjeno vnosno okno. Primer vnosnega okna, v katerega vnesemo število omejitev in število spremenljivk, je prikazan na sliki 18. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 30

35 Slika 18: Vnosno okno za nastavitve Osredotočili se bomo na uporabo 5 modulov in nekaj podmodulov ter jih na kratko opisali. Imenujejo se Linear programming (linearno programiranje), Transportation (transport), Networks (omrežja), Game theory (teorija iger) in Inventory (zaloge). Modul za linearno programiranje, omogoča nastavljanje števila omejitev in števila spremenljivk. Nastavimo jih lahko do 90. Določimo tudi, ali iščemo največjo vrednost ali najmanjšo, ter način poimenovanja omejitev in spremenljivk (s črkami, številkami, z imenom). Modul za transport ima isto podobo kot za linearno programiranje, samo da imamo namesto nastavljanja omejitev in spremenljivk, izvore in ponore. Prav tako jih lahko nastavimo do 90. Modul za omrežja nam daje na volja tri podmodule, vendar pa za okvir te diplomske naloge prideta v poštev dva, Shortest route (najkrajša pot) in Maximal flow (maksimalen pretok). Oba podmodula nastavimo na isti način, obema moramo določiti samo število vej. Oba dovoljujeta nastavitev do 100 vej, s to razliko, da pri podmodulu za najkrajšo pot določimo še, ali je omrežje usmerjeno ali neusmerjeno. Modul za teorijo iger omogoča nastavljanje števila strategij v vrstah in stolpcih. Nastavimo lahko do 50 strategij, glede poimenovanja pa je enako, kot pri ostalih. Modul za zalogo sestoji iz osmih podmodulov, uporabili pa bomo podmodul Production order quantity model. Pri tem ni potrebno ničesar nastaviti, saj gre za standardiziran obrazec, v katerega vnesemo podatke in dobimo rešitev. Prav tako ni potrebno ničesar nastavljati niti pri ostalih podmodulih, saj so vsi standardizirani obrazci, vsak za svoje področje. Po kliku na OK za potrditev se odpre tabela prikazana na sliki 19. Na vzorčnem primeru (LP2), bomo pokazali uporabo programa. Podatke vnesemo tako, kot je prikazano spodaj. Torej najprej v prvo vrstico vnesemo ciljno funkcijo, nato pa v ostale vrstice vnesemo linearne neenačbe. S padajočimi meniji določimo še enakost in zgoraj v polju Objective določimo še ali računamo maksimum ali minimum. Ko podatke pravilno vnesemo, kliknemo na Solve nakar se odpre okno z rešitvijo, prikazano na sliki 20 in, odvisno od modula, pa še nekatera okna, kot je na primer graf, število ponovitev, dualna rešitev ipd. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 31

36 Slika 19: Vnosna tabela V tem primeru smo izbrali modul Integer & Mixed intereger programming, kjer lahko določimo kakšne so spremenljivke. To določimo v celici Variable type, izbiramo pa lahko med celoštevilčnimi, realnimi in za primer, ko rešujemo problem binarnega programiranja. Slika 20: Poročilo Kot vidimo v poročilu tudi tu dobimo isto rešitev, torej 200 enot običajnih kalkulatorjev (označeno kot x 1 ) in 100 eno hitrih (x 2 ), v skupni vrednosti Vidimo pa tudi, da v tem primeru dobimo tudi rešitev v grafični obliki. POM-QM omogoča tudi izvoz modela v Excel. Da omogočimo to funkcijo, je potrebno namestiti še dodatek. Ko ga namestimo, lahko model shranimo enako kot do sedaj, vendar s to razliko, da namesto, da bi kliknili na File in nato Save as, kliknemo Save as Excel file. Tu lahko določimo, kako se bo nova datoteka imenovala in njeno lokacijo, kam naj se shrani. Po želji pa lahko model shranimo tudi kot dodaten zavihek k že obstoječi Excelovi datoteki. Takoj ko izberemo eno od teh možnosti, se generira nova datoteka in vse, kar moramo storiti, je to, da jo odpremo in z reševalcem rešimo problem in zopet dobimo rešitev. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 32

37 6. Vzorčni primeri uporabe programov (orodij) v gospodarstvu Teoretični del je potrebno prenesti v prakso, da imamo sploh kaj koristi od naučenega znanja. Programi so naloženi na trdi disk, kako se to izvede, pa je na kratko in enostavno razloženo v prejšnji točki. V tem poglavju bomo pogledali, kako se te programe uporablja na enostavnih vzorčnih primerih iz prakse, najprej pa primer problema zmesi. Ta vrsta problema je prisotna predvsem v kmetijstvu, prehrambeni industriji in industriji, kjer se mešajo različne surovine Problem zmesi Podjetje, ki se ukvarja s kozmetiko, denimo izdeluje dva posebna tipa krem za telo oziroma za blaženje pekoče kože po prekomernem sončenju, ki vsebujejo bio polnilo A in bio polnilo B. Prva krema vsebuje tri enote bio polnila A in dve enoti bio polnila B, druga pa eno enoto bio polnila A in dve enoti bio polnila B. Prva krema stane 15, druga 11. Da bi dosegli dober učinek kreme, je potrebno imeti na telesu 11 enot bio polnila A in 14 enot bio polnila B. Koliko tub obeh krem moramo kupiti, da bomo zadovoljili potrebe, in da bo strošek nakupa najmanjši? Rešitev: Za lažjo predstavo podatke prepišemo v tabelo 7: Polnilo Krema 1 Krema 2 Potrebe A B Cena Spremenljivke x 1 x 2 Tabela 7: Vhodni podatki Spremenljivki x 1 in x 2 morata biti večji ali enaki nič. Iz tabele in podatkov zgoraj lahko razberemo, da potrebujemo za nakup x 1 enot prve kreme in x 2 enot druge kreme, 3x 1 +x 2 enot polnila A in 2x 1 + 2x 2 enot polnila B. Omejujejo nas potrebe, ki kažejo, da potrebujemo vsaj 11 enot polnila A in vsaj 14 enot polnila B. Da bo strošek nakupa najmanjši, je torej potrebno kupiti za 15x x 2 obeh krem. Najprej napišemo linearni program za opisani problem z omejitvami: x 0, x x + x x + 2x Ciljna funkcija pa je: Min = 15x + 11x 1 2 Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 33

38 EXCEL V polja, ki so na sliki 21 obarvana sivo, vpišemo podatke iz primera. Torej v stolpec C potrebne količine za izdelavo prve kreme in njeno ceno, v stolpec D pa potrebne količine za izdelavo druge kreme in njeno ceno. Ko imamo to vpisano, v polje F4, obarvano zeleno, vpišemo prvo linearno formulo tako, da napišemo formulo za množenje in seštevanje polj C4, C8 in D4, D8, v polje F5 pa drugo linearno formulo na isti način. Potrebno je samo še vpisati ciljno funkcijo v polje E6, kot zmnožek in seštevek polj C6, C8 in D6, D8. Odpremo reševalca in najprej določimo celico ciljne funkcije, to je F6, določimo katere celice bo reševalec spreminjal, to sta celici C8 in D8, in mu dodamo omejitve, da torej morata biti polji F4 in F5 manjši ali enaki poljema E4 in E5 pri čemer ne smemo pozabiti, da morata biti vrednosti C8 in D8 večji ali enaki nič. Ker iščemo minimum, označimo še možnost MIN in pritisnemo Solve. V okencu, ki se odpre, izberemo še možnost Sensitivity, da generira poročilo o občutljivostni analizi. Rešitev je prikazana na sliki 21, poročilo pa na sliki 22. Rešitev pravi, da je potrebno kupiti dve enoti prve kreme in pet enot druge kreme v skupni vrednosti 85, kar je najcenejši možni nakup. Slika 21: Prikaz rešitve v Excelu Če pogledamo poročilo v polju Adjustable cells pod kategorijo Allowable increase in Allowable decrease, vidimo, da se lahko cena kreme 1 največ poveča za 18 oziroma zmanjša za 4, cena kreme 2 pa se lahko poveča za 4 oziroma zmanjša za 6, da ohranimo vrednost spremenljivk x 1 in x 2, to je 2 in 5. Seveda se bo potem spremenila skupna vrednost nakupa. Polje Reduced cost pove, da na telesu ne bo presežka kreme, polje Shadow price pa pomeni za koliko bi se zmanjšala vrednost bio polnila A na telesu, če bi bilo potrebno na telesu imeti eno dozo polnila A manj, kot je predpisano. Enako velja za B. Slika 22: Poročilo občutljivosti Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 34

39 LINGO V Lingu napišemo linearni program na sledeč način:!problem zmesi; min =15 * x * x2; 3 * x1 + x2 >= 11; 2 * x1 + 2 * x2 >= 14; nato kliknemo Solve. Ko računalnik opravi z reševanjem, se odpre drugo okno s poročilom, prikazano spodaj: Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: 2 Variable Value Reduced Cost X X Row Slack or Surplus Dual Price Vidimo, da pridemo do iste rešitve, kot pri Excelu, torej dveh enot prve kreme in petih druge, v skupni vrednosti 85. V polju Reduced Cost imamo ničle, kar pomeni, da ni presežka polnila na telesu. V polju Slack or Surplus (primankljaj ali presežek) nam vrednosti 0 povedo, da je rešitev takšna, da bomo zadostili potrebam. V polju Dual Price pa za koliko bi se zmanjšala vrednost bio polnila A na telesu (vrstica 2), če bi bilo potrebno na telesu imeti eno dozo polnila A manj, kot je predpisano. Enako velja za B LINDO V Lindu je model napisan zelo podobno, kot v Lingu, v ciljni funkciji pa ni potrebno pisati znaka za enačaj (=) in znaka za množenje (*), prikazano spodaj: MIN 15 x x2 ST 3 x1 + x2 >= 11 2 x1 + 2 x2 >= 14 END Ko imamo model napisan, pritisnemo Solve in program nas vpraša, če želimo, da opravi tudi občutljivostno analizo. To potrdimo in dobimo rešitev, prikazano spodaj: Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 35

40 LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X ROW SLACK OR SURPLUS DUAL PRICES 2) ) NO. ITERATIONS= 2 RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X X RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE Poročilo pove, da je optimalna vrednost prav tako 85, potrebno pa je kupiti dve enoti prve kreme in pet enot druge. Prvi del poročila je torej enak kot v Lingu. Spodnji del pa prikazuje še dodatne možnosti, enako kot Excel, torej, da se lahko cena kreme 1 poveča za 18 oziroma zmanjša za štiri in cena kreme 2 poveča za štiri in zmanjša za šest, pa bo še vedno zadoščeno pogojem POM-QM Pri POM-QM kliknemo na Module in izberemo Linear programming. Določimo dve omejitvi in dve spremenljivki. Odpre se tabela in vnesemo podatke, kot so prikazani na sliki 23. Slika 23: Prikaz vnosa podatkov Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 36

41 Paziti moramo, da nastavimo znak na večje ali enako, saj računamo minimum. Pod orodno vrstico, v polju Objective, postavimo piko pred minimize, da bo program računal minimum. Ko je vse vneseno, kliknemo Solve in dobimo rezultat, skupaj s poročili, prikazan na sliki 24. Vidimo, da do istega rezultata pridemo tudi s tem programom. Torej, potrebno je kupiti dve enoti prve kreme in pet enot druge kreme v skupni vrednosti 85. Slika 24: Rešitev v POM-QM POM-QM pa poleg rešitve ustvari tudi več spremljajočih oken s koristnimi informacijami. Vidimo, da poleg rešitve zna samodejno narisati graf, kjer lahko tudi izbiramo, katero linearno funkcijo si bomo ogledali. Prikaže nam, kako bi izgledal dualni program. V oknu Ranging pa prav tako prikaže, na katero vrednost se lahko spremeni cena obema kremama, da še vedno zadostuje pogojem. Prav tako pokaže tudi dualne vrednosti, kot vsi programi doslej Proizvodni problem Podjetje izdeluje dva tipa izdelkov: izdelek 1 in izdelek 2, ki sestojita iz treh vrst surovin, ki jih bomo poimenovali A, B in C. Na zalogi imajo 25 enot surovine A, 21 enot surovine B in 19 enot surovine C. Da izdela eno enoto izdelka 1, je potrebno uporabiti dve enoti surovine A, eno enoto survine B in eno enoto surovine C. Da izdelajo eno enoto izdeleka 2, pa je potrebno imeti dve enoti surovine A, dve enoti surovine B in tri enote suroivne C. Ko sta izdelek 1 in izdelek 2 proizvedena, se na trgu izdelek 1 proda za šest evrov, izdelek 2 pa za 5 evrov. Kako naj bo organizirana proizvodnja, da bo dobiček od prodaje teh izdelkov največji? Rešitev: Za lažjo predstavo je najbolje, če podatke iz teksta razberemo, jih pravilno interpretiramo in damo v preglednico, prikazano v tabeli 8. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 37

42 Proizvodi Izdelek 1 Izdelek 2 Zaloga surovin A B Surovine C Cene 6 5 Proizvodne količine x 1 x 2 Tabela 8: Podatki, prenešeni iz teksta Spremenljivki x 1 in x 2, vrednosti, ki ju iščemo, torej ne moreta biti negativni, saj predstavljata proizvodne količine (ki ne morejo biti negativne). Za proizvodnjo x 1 enot izdelka 1 in x 2 enot izdelkov 2 je potrebno 2x 1 + 2x 2 enot surovine A, x 1 + 2x 2 enot surovine B in x 1 + 3x 2 enot surovine C. Porabo surovin omejuje njihova zaloga, torej ni mogoče porabiti več kot 25 enot surovine A, 21 enot surovine B in 19 enot surovine C. Dobiček od prodaje x 1 in x 2 enot obeh izdelkov pa je 6x 1 + 5x 2, ki mora biti maksimalen. Linearni program ima sledečo obliko: x 0, x x + 2x x + 2x x + 3x Ciljna funkcija pa izgleda tako: Max = 6x + 5x 1 2 Ta vrsta problema, ki ga rešujemo na tem mestu, se imenuje proizvodni problem. Podatke spet vnesemo v vse reševalce in dobimo rezultat. Na slikah, ki sledijo, si lahko ogledate rešitve, izdelane s programskimi orodji. Za razliko od primera 1, kjer se je iskalo minimum, se tokrat išče maksimum. Torej je potrebno biti pozoren pri pisanju omejitev. Zdaj se, namesto znaka večje ali enako, piše manjše ali enako. V primeru napačnega znaka, programi rešitve ne bodo pravilno izračunali! EXCEL V Excelu v del tabele, obarvan sivo, vnesemo podatke iz modela. Nato v celice, obarvane zeleno, vpišemo linearne formule. Torej, v prvo celico vpišemo formulo za množenje in seštevanje polj D5, D10 in E5, E10. Po istem principu ravnamo pri ostalih dveh celicah. Sledi ciljna funkcija, ki jo vpišemo v celico, obarvano rumeno. Formula je znova za seštevanje in množenje celic D8, D10 in E8, E10, to so cene x proizvodne količine. Nato v reševalcu določimo celico ciljne funkcije in spreminjajoče se celice, obarvane modro, ter omejitve. Torej, celice G5, 6, 7 morajo biti manjše ali enake celicam F5, 6, 7, celice D10 in E10 pa večje ali enake nič. Izberemo še možnost Max, ker računano maksimum, in pritisnemo Solve. Nato izberemo iz ponujenih možnosti ustvarjanje občutljivostnega poročila. Dobimo rešitev, prikazano na sliki 25, in poročilo, prikazano na sliki 26. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 38

43 Slika 25: Prikaz rešitve v Excelu Vidimo torej, da je potrebno prodati 13 izdelkov 1 (številka je cela zato, ker 12,5 izdelkov ni mogoče izdelati) ni pa potrebno prodati nobenega drugega. Vrednost maksimalnega dobička bo tako znašala 75. V poročilu v polju Adjustable cells vidimo, da se cene prvega izdelka ne sme povišati, če želimo zadostiti pogojem, lahko pa se za en evro zniža. V primeru drugega izdelka pa se cena lahko poveča za en evro, ne sme pa se zmanjšati. V polju Shadow price nam prikaže, da v primeru povečanja zaloge surovine A, za eno enoto, bo podjetje povečalo dobiček za LINGO Slika 26: Poročilo občutljivosti V Lingu model napišemo tako, kot je prikazano spodaj:!proizvodni problem; max = 6 * x1 + 5 * x2;!omejitve; 2 * x1 + 2 * x2 <= 25;!Zaloga; x1 + 2 * x2 <= 21;!Zaloga; x1 + 3 * x2 <= 19;!Zaloga; Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 39

44 Ko imamo model napisan, pritisnemo Solve in dobimo rezultat, skupaj z občutljivostno analizo, prikazano spodaj: Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: 1 Variable Value Reduced Cost X X Row Slack or Surplus Dual Price Vidimo, da dobimo isti rezultat, torej, da je potrebno izdelati in prodati 13 prvih izdelkov in nobenga drugega, dobiček pa bo znašal 75. V polju Reduced Cost vidimo, da se vrednost ciljne funkcije ne poveča, če se poveča vrednost x 1, če pa se poveča spremenljivka x 2, se povečajo skupni stroški za en evro. Polje Slack or Surplus prikazuje, da bo potem, ko bo podjetje izdelalo 13 izdelkov, ostalo na zalogi nič kosov surovine A, 8,5 kosov surovine B in 6,5 kosov surovine C, saj sta za en izdelek 1 potrebni dve enoti surovine A (2 * 12,5 =25, 25 enot potrebujemo 25 enot na zalogi = 0 enot na zalogi), ena enota surovine B (21 na zalogi 12,5 potrebujemo = 8,5 ostane na zalogi) in ena enota surovine C (19 na zalogi -12,5 potrebujemo = 6,5 na zalogi). Polje Dual price prikazuje, da v primeru povečanja zaloge surovine A, bo dobiček večji za LINDO Model napisan v Lindu je zelo podoben tistemo v Lingu, izgleda pa tako: MAX 6 x1 + 5 x2 ST 2 x1 + 2 x2 <= 25 x1 + 2 x2 <= 21 x1 + 3 x2 <= 19 END Ko imamo model napisan, kliknemo Solve in program nas vpraša, ali želimo, da izdela tudu občutljivostno analizo. To potrdimo in dobimo rešitev, prikazano spodaj: LP OPTIMUM FOUND AT STEP 1 OBJECTIVE FUNCTION VALUE 1) Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 40

45 VARIABLE VALUE REDUCED COST X X ROW SLACK OR SURPLUS DUAL PRICES 2) ) ) NO. ITERATIONS= 1 RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X INFINITY X INFINITY RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE INFINITY INFINITY Vidimo, da je prvi del isti kot v Lingu in pravi, da je potrebno izdelati 13 izdelkov 1 in dobiček od prodaje bo 75. Iste rezultate dobimo tudi za polja Reduced cost, Slack or surplus in Dual value. V drugem delu pa imamo prikazano isto kot v Excelu, torej, da se cena prvega izdelka ne sme povečati, medtem ko se lahko zniža za en evro. Cena drugega izdelka pa se, ravno obratno, lahko poveča za en evro, ne sme pa se zmanjšati POM-QM Pri tem problemu prav tako, kot v prejšnjem, v meniju kliknemo na Module in izberemo Linear programing. Odpremo nov list, določimo tri omejitve in dve spremenljivki ter kliknemo OK. Tokrat iščemo maksimum, zato označimo Maximize. V tabelo vnesemo podatke tako, kot je prikazano na sliki 27. Slika 27: Prikaz vnosa podatkov Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 41

46 Pri omejitvah pravilno postavimo znake za enačaje in v polju Objective označimo Maximize. Ko so podatki vnešeni, kliknemo Solve in prikaže se rešitev, skupaj s poročili prikazana na sliki 28. Prav tako, kot pri prejšnjih programih, tudi ta izračuna enak rezultat. Torej, za dosego optimalne vrednosti, to je maksimalen dobiček, je potrebno prodati 13 enot prvega izdelka in nobenega drugega v vrednosti 75. Program je izrisal tudi graf, tako da lahko vidimo rešitev predstavljeno tudi grafično. V oknu Dual je prikazan dualni problem (kar je transponirana matrika primarnega problema). V oknu Ranging je prikazano, na koliko se lahko cena izdelkoma dvigne ali spusti, da zadostimo pogojem. Torej se izdelek 1 lahko poceni na vrednost pet evrov, podražiti pa se ne sme (infinity), medtem ko se izdelek 2 ne sme poceniti, lahko pa se podraži za en evro, na vrednost šest evrov. Prav tako prikaže v tem oknu vrednosti, kot jih prejšnji programi, to so zmanjšana vrednost, dualna vrednost in stanje zaloge po opravljenem delu (polje Slack/Surplus). Slika 28: Rezultat v POM-QM Tretja vrsta problema, ki ga bomo opisali, se imenuje transportni problem Transportni problem Blago dobivamo od dveh dobaviteljev, ki ju poimenujemo dobavitelj A in dobavitelj B. To blago naročata dve stranki: S1 in S2. Dobavitelj A ima zmogljivost 50 enot, dobavitelj B pa 45 enot blaga. To pomeni, da lahko v določenem obdobju od njiju dobimo skupno 95 enot blaga. Blago mora biti seveda pravočasno dostavljeno do strank tako, da dobi stranka S1 30 enot, stranka S2 pa 65 enot. Prevoz ene enote blaga od dobavitelja A do stranke S1 stane 25, do stranke S2 pa 28. Prevoz ene enote blaga od dobavitelja B do stranke S1 stane 19, do stranke S2 pa 26. Kako naj se usmeri prevoz blaga od dobaviteljev do strank, da bodo stroški najmanjši? Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 42

47 Rešitev: Najbolje je podatke najprej urediti v tabelo, tako da so najbolj pregledni in enostavni za nadaljno uporabo. Prikazani so v tabeli 9, na sliki 29 pa je prikazana struktura transportnih poti. A Stranke S1 S2 x 1 c 1 =25 x 2 c 2 =28 Dobavitel x 3 c 3 =19 x 4 c 4 =26 j B Potrebe Kapacitete tovarn A B c2, x3 c1, x1 c2, x2 c4, x4 S1 S2 Tabela 9: Podatki, prenešeni iz teksta Slika 29: Prikaz transportnih poti Tako lahko iz tabele enostavneje in bolj pregledno razberemo podatke, potrebne za enačbe in za nadaljno delo. Potrebno je določiti vrednost nenegativnih spremenljivk x 1, x 2, x 3, x 4, ki za izvore zadovoljujejo enačbe: x + x = x + x = za izhodišča pa enačbe: x + x = 30 x x = tako, da ima ciljna funkcija: minimum. S = c1x 1 + c2x2 + c3x3 + c4x4 Vrednosti iz tabele 8 vnesemo v ciljno funkcijo: S = 25x + 28x + 19x + 26x EXCEL V Excel vnesemo, kot je vidno na sliki 30, v siva polja vrednosti iz teksta, torej cene prevozov. Nato v celice, označene zeleno, vpišemo linearne funkcije. Na primer v celico H6 prvo formulo, ki je zapisana zgoraj, to je seštevek polj C11 in D11. Po istem principu vnesemo linearne funkcije v ostale tri zelene celice. Nato potrebujemo še ciljno funkcijo, Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 43

48 ki jo vpišemo v celico, obaravano rumeno; to je zmnožek in seštevek cen prevozov in spremenljivk. Torej prva cena krat prva spremenljivka plus druga itd. do četrte. Nato odpremo reševalca in mu določimo, katera celica je ciljna, označimo, da računamo minimum, nato določimo celice, ki se bodo spreminjale (to so celice C11 do F11). Sledi dodajanje omejitev: določimo, da morajo biti vrednosti spreminjajočih celic večje ali enake nič, celice, obarvane zeleno, pa morajo biti enake kapacitetam in potrebam, na primer celica H6 enaka F6. Kliknemo Solve in dobimo rezultat. Rešitev pravi, da pri najcenejšem prevozu blaga, ki znaša 2360, usmerjamo blago k uporabnikom tako, kot je grafično prikazano na sliki 31. Slika 30: Rešitev v Excelu x1 = 0 S1 A Od A k S1 Od A k S2 Od B k S1 Od B k S2 0 enot (relacija A do P je neizkoriščena) 50 enot 30 enot 15 enot B x3 = 30 x2 = 50 x4 = 15 S2 Slika 31: Prikaz transportnih poti z rešitvijo LINGO V Llingu model napišemo tako, kot je prikazano spodaj, najprej vpišemo ciljno funkcijo, nato pa napisal še ostale omejitve:!transportni problem; Min = 25 * x * x * x * x4;!omejitve; x1 + x2 = 50; x3 + x4 = 45; x1 + x3 = 30; x2 + x4 = 65; Ko imamo model napisan, pritisnemo Solve in dobimo naslednjo rešitev: Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 44

49 Global optimal solution found. Objective value: Infeasibilities: Total solver iterations: 0 Variable Value Reduced Cost X X X X Row Slack or Surplus Dual Price Tudi Lingo pride do enake rešitve kot Excel, torej, najcenejša vrednost prevoza je 2360 evrov, transport blaga pa potuje tako: Od dobavitelja A k stranki S1 Od dobavitelja A k stranki S2 Od dobavitelja B k stranki S1 Od dobavitelja B k stranki S2 0 enot 50 enot 30 enot 15 enot V polju Slack or Surplus vidimo ničle, kar pomeni, da smo zadostili pogojem LINDO Lindov zapis programa je nekoliko poenostavljen v primerjavi z Lingovim, saj ne potrebuje vpisovanja znaka za enačaj (=) niti znaka za množenje (*). Zapis pa izgleda tako: MIN 25 x x x x4 ST x1 + x2 = 50 x3 + x4 = 45 x1 + x3 = 30 x2 + x4 = 65 END Kliknemo Solve, potrdimo na vprašanje, če želimo narediti analizo občutljivosti in dobimo poročilo, prikazano spodaj: Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 45

50 LP OPTIMUM FOUND AT STEP 0 OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X ROW SLACK OR SURPLUS DUAL PRICES 2) ) ) ) NO. ITERATIONS= 0 RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X INFINITY X INFINITY X INFINITY X INFINITY RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE Spet lahko vidimo, da je zgornji del poročila enak tistemu v Lingu, spodnji pa ima dodano še, za koliko se lahko spremenijo vrednosti (cene) prevozov. Prevoz od dobavitelja A do stranke S1 se lahko poceni za 4 na 21, ne sme pa se podražiti, prevoz od dobavitelja A do S2 se lahko podraži za štiri evre na 32, ne sme pa se poceniti, prevoz od B do S1 se prav tako lahko podraži za 4 na 23, ne sme pa se poceniti ter prevoz od B do S2 se ne sme podražiti, lahko pa se poceni za 4 na POM-QM Pri POM-QM moramo spet najprej določiti, s katerim modulom bomo delali. V meniju kliknemo na Module in nato izberemo Transportation. Odpremo novo delovno okolje. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 46

51 Program nas tokrat vpraša, koliko izvorov (dobavitelji) in ponorov (stranke) želimo imeti v novem delovnem okolju. V tem primeru izberemo dva izvora in dva ponora ter kliknemo OK. Lahko ju tudi poimenujemo po svoji želji. Odpre se nova delovna tabela prikazana na sliki 32. Takoj vidimo, da lahko podatke enostavno vnesemo, saj je že vse pripravljeno in označeno, kateri kam spada. Podatke vnesemo praktično enako kot smo jih, na sliki 30, v Excelu. Slika 32: Prikaz vnosa podatkov Tabela je pripravljena tudi za vnos podatkov o potrebi in zmogljivostih. Vnesemo podatke v pravem vrstnem redu in nastavimo, da iščemo minimum, v polju Starting method, pa lahko pustimo, kot je že prednastavljeno na Any starting method. Ko imamo vse vnešeno in nastavljeno, kliknemo Solve in dobimo rešitev, prikazano na sliki 33: Slika 33: Prikaz rešitve in stroškov dobave Program tudi v tem primeru izračuna isto optimalno vrednost, kot ostali. Torej najnižja vrednost prevoza je 2360, stroški prevoza pa so: Od dobavitelja A k stranki S1 Od dobavitelja A k stranki S2 Od dobavitelja B k stranki S1 Od dobavitelja B k stranki S2 0 enot 50 enot 30 enot 15 enot Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 47

52 POM-QM pa ima možnost, da prikaže tudi stroške posamezne enote ene transportne poti ter skupne stroške ene transportne poti, kar lahko vidimo v oknu Shiping list in oknu Shipments with costs. Torej, vzemimo primer poti od Dobavitelja A do stranke S2, kjer je potrebno prepeljati 50 enot, po ceni 28, in so skupni stroški te poti Na isti način velja za ostale Problem maksimalnega pretoka Problem maksimalnega pretoka se lahko modelira z mrežnim modelom, kjer ena veja predstavlja zmogljivost prenosa, ki jo je sposobna prenesti. Kadar se v pravi situaciji srečujemo s to težavo, je večinoma želja managerja maksimalen pretok od začetne točke (imenovanega izvora) do zadnje točke (imenovan ponor). Primer: Podjetje se ukvarja z distribucijo plina. Od rafinerije do končnega cilja gre plin skozi sedem vozlišč (upoštevaje, da sta prvo in zadnje vozlišče izvor in ponor). Vse veje gredo samo v eno smer, torej po istem plinovodu ne more iti plin nazaj v drugo smer, premore pa 12 takšnih vej. Vsaka veja ima svoje omejitve, torej koliko plina v 1000 m 3 je sposobna pretočiti na uro. Razporeditev vej, skupaj z omejitvami, je prikazana na sliki 34, kjer vsaka točka predstavlja vozlišče, usmerjena puščica kaže, v katero smer teče plin, številka nad posamezno vejo pa prikazuje pretok plina v 1000 m 3 na uro. Omejitve, napisane nad puščicami, so za lažjo in preglednejšo predstavo podane še v tabeli 10: Slika 34: Pretok skozi mrežo Veje 1,2 1,3 2,3 2,4 2,5 3,5 3,6 4,5 4,7 5,7 6,5 6,7 Zmogljivosti Rešitev: Tabela 10: Zmogljivosti vej Plin torej teče od točke 1, izvora, do točke 7, ponora. Želimo, da v tej mreži vej teče tako, da je njegov pretok maksimalen. Označimo matematično pretok plina skozi posamezno vejo s spremenljivkami. To so: x12, x13, x23, x24, x25, x35, x36, x45, x47, x57, x65, x 67 Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 48

53 Prvi indeks pri posamezni spremenljivki pomeni začetno vozlišče, drugi pa, v katerem vozlišču se ta veja konča. Poudariti je potrebno tudi, da te spremenljivke ne morejo biti negativne, saj tok ne more biti negativen. Vsaka spremenljivka je hkrati tudi zgornja meja možnega pretoka posamezne veje. Model linearnega programa pa ima naslednjo obliko: 0 x x x x x x x x x x x x 7 67 Tok skozi mrežo je možen takrat, če za vsako vozlišče velja pogoj o ohranitvi toka: Tok v vozlišče i = tok iz vozlišča i Za posamezna vozlišča pa veljajo naslednje enačbe: Za vozlišče 2: x12 = x23 + x24 + x25 Za vozlišče 3: x13 + x23 = x35 + x36 Za vozlišče 4: x24 = x45 + x47 Za vozlišče 5: x57 = x25 + x36 + x45 + x65 Za vozlišče 6: x36 = x65 + x67 Te enačbe predstavljajo omejitve tokov skozi posamezna vozlišča. Količina plina od izvora 1 mora biti enaka količini, ki priteče v točko 7 v ponor. Enačba torej izgleda tako: x0 = x12 + x13 = x47 + x57 + x67 Potrebno je izračunati vrednost spremenljivk glede na zgoraj podane pogoje, pretok pa mora biti maksimalen. Ciljna funkcija ima torej naslednjo obliko: max z = max x 12 + x 13 Za reševanje tega problema smo se odločili za POM-QM, zato, ker ima ta že vgrajen modul, in ker je upravljanje z njim enostavno. V menijski vrstici kliknemo na Module in iz ponujenih modulov izberemo Networks. Odpreti moramo novo delovno okolje, da lahko nadaljujemo z delom. Kliknemo na ikono za novo delovno okolje in odpre se manjši meni s tremi ponujenimi možnostmi. Izberemo zadnjo, to je Maximal Flow. Program nam ponudi na izbiro, koliko vej ima naša mreža, določimo 12 in izbiro potrdimo. Še prej lahko veje tudi po želji preimenujemo. Odpre se nam novo delovno okolje s tabelo, pripravljeno na vnos podatkov. Začnemo pri prvi veji. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 49

54 V prvem okvirčku določimo, v katerem vozlišču se veja začne, v drugem, v katerem se konča, v tretjega pa vpišemo vrednost posamezne veje. Torej na primer za prvo vejo, x 12, vnos izgleda tako: 1, 2 in vrednost 15. Za ostale veje se naredi enako. Nad tabelo še določimo, v katerem vozlišču je izvor (Source) in v katerem je ponor (Sink). Ko imamo vse vnešeno, kliknemo Solve in program izračuna rešitev, prikazano na sliki 35. Izračuna, da je maksimalen pretok 24, kar pomeni m 3 plina, vrednost posameznih spremenljivk (v 1000 m 3 ) pa je podana v tabeli 11: Veja X 12 X 13 X 23 X 24 X 25 X 35 X 36 X 45 X 47 X 57 X 65 X 67 Kapaciteta Rešitev Veja X 12 X 13 X 23 X 24 X 25 X 35 X 36 X 45 X 47 X 57 X 65 X 67 Rešitev Tabela 11: Prikaz rešitve Slika 35: Maksimalen pretok Poleg rešitve pa prikaže tudi ponovitve, torej pretok po vejah in njihov seštevek. Če pogledamo to rešitev grafično, na sliki 34, začnemo pri vozlišču 1 in gledamo, katera od obeh vej ima največji pretok. To je do vozlišča 3 s pretokom 19. Do naslednjega vozlišča gremo po istem principu. Torej, naslednje vozlišče z največjim pretokom, ki izhaja iz vozlišča 3, je vozlišče 6 s pretokom 11. Od vozlišča 6 do naslednjega, je s pretokom 7 največji pretok do vozlišča 7. Ko smo ugotovili verigo (tako temu pravimo), pogledamo, katera vrednost je v tej verigi najnižja. To je vrednost 7, med vozliščema 6 in 7 (prikazano na sliki 30 v spodnjem oknu v prvi vrstici). To vejo pobrišemo in ostalim vejam na tej verigi zmanjšamo vrednost za 7. Spet gledamo vozlišče 1 in pogledamo, katera veja ima najmočnejši pretok. Tokrat je to veja proti vozlišču 2 s pretokom 15 (saj je veja proti točki 3 zmanjšana za 7 na vrednost 12), naslednja najpretočnejša veja iz vozlišča 2 naprej pa je veja proti vozlišču 4 s pretokom 8. Iz vozlišča 4 gre najpretočnejša veja proti Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 50

55 končnem vozlišču 7 s pretokom 6. Spet smo dobili novo vejo in pogledamo, katera veja od teh ima najnižji pretok in jo izločimo. To je veja od vozlišča 4 do 7 z vrednostjo 6. To vejo izbrišemo in za to vrednost znižamo pretok vsem ostalim na tej verigi. Če gremo na ta način do konca, dokler ne zmanjka vej, dobimo rešitev. Ko seštejemo veje, ki smo jih zbrisali, dobimo vrednost Problem najkrajše poti Problem najkrajše poti lahko definiramo kot iskanje poti med dvema točkama tako, da je vsota vrednosti poti minimalna. To je lahko na primer iskanje najkrajše poti med dvema krajema na avtomobilski karti, kjer posamezne točke predstavljajo kraje skozi katere moramo peljati, da pridemo do cilja, vrednosti pa predstavljajo dolžine v kilometrih od enega do drugega vmesnega kraja. Primer: Podjetje se ukvarja z distribucijo električne energije. Potrebno jo je dobaviti od elektrarne E (vozlišče 1) do tovarne T (vozlišče 6), vmesne postaje pa so vozlišča od 2 do 5. Distribucija pa ni možna med vsemi vozlišči. Ni mogoča med vozliščema 3 in 4, prav tako pa tudi ne med 4 in 5. Vrednosti med posameznimi vozlišči predstavljajo razdaljo v kilometrih. Podjetje želi transportirati elektriko pa najkrajši možni razdalji, zato mora poiskati najkrajšo pot, ki povezuje vozlišči 1 in 6. Na sliki 36 je prikazana skica mreže: Slika 36: Mrežni model Za reševanje problema najkrajše poti obstaja več algoritmov. To so Dijkstra algoritem, Bellman-Ford algoritem, Floyd-Warshall algoritem, Johnsonov algoritem in še nekateri drugi. (Čižman, 2004) Če so vse dolžine vej nenegativne, lahko za izračun minimalne poti uporabimo metodo, poznano kot Dijkstra algoritem, ki ga je leta 1959 razvil danski znanstvenik Edsger Dijkstra. (Wikipedia, ) Potek dela z Dijkstra algoritmom: Začetno vozlišče 1 najprej označimo s stalno oznako 0, nato pa z začasno oznako i označimo vsako vozlišče i, ki je z enojno vejo povezano z vozliščem 1. Ta začasna oznaka je enaka dolžini veje, ki povezuje vozlišči 1 in i. Vsem drugim damo začasno oznako neskončno ( ). Ko to naredimo, izberemo vozlišče z najmanjšo začasno oznako in mu dodelimo trajno oznako. Vozlišču j, ki ima trenutno začasno oznako in je Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 51

56 na vozlišče i povezano z vejo, nadomestimo začasno oznako. Njegova nova začasna oznaka predstavlja dolžino najkrajše poti iz vozlišča 1 v vozlišče j, ki pelje skozi k vozlišča, ki so najbližja vozlišču 1. Nato postavimo najmanjšo začasno oznako kot trajno. Vozlišče z novo trajno oznako je (k+1) to je najbližje vozlišče vozlišču 1. Ta postopek je potrebno nadaljevati, dokler nimajo vsa vozlišča trajne oznake. Na primeru iz slike 36 poglejmo, kako to izgleda v praksi: Od vozlišča 1 do 6 iščemo najkrajšo pot, trajne oznake pa označujmo z *. Na začetek postavimo 0 in pripišemo *, kar predstavlja trajno oznako, hkrati pa pomeni, da iz vozlišča 1 do vozlišča 1 ne naredimo nič poti, saj smo že v njem. Iz vozlišča 1 gremo lahko v vozlišči 2 in 3, zato naprej napišemo števili 6 in 5 (razdalje), ostalim vozliščem pa dodelimo neskončno: 0,6,5,,,. Vozlišče 3 ima zdaj najmanjšo oznako, zato mu dodelimo trajno oznako *, in dobimo: 0,6,5,,, Vemo, da je vozlišču 3 najbljižje vozlišče 1. Nato je potrebno izračunati nove začasne oznake vozlišč, ki so z vozliščem 3 povezana z enojno vejo. Iz slike lahko ugotovimo, da je to vozlišče 5. Da iz vozlišča 1 pridemo do vozlišča 5, je potrebno iti skozi vozlišče 3. Poti se seštevajo in torej je nova začasna oznaka vozlišča 5 takšna: 5 = min,5 + 4 = 9. Tako smo dobili novo začasno oznako vozlišča 5, vozlišče 2 pa { } je postalo trajno, saj je novo najmanjše: 0,6,5,,9, Vozlišči 4 in 5 sta povezani z novim trajnim vozliščem 2, zato jima je potrebno spreme- 4 = min,6 + 3 = 9, niti začasne oznake. Za vozlišče 4 dobimo začasno oznako tako: { } za vozlišče 5 pa 5 = min{ 9,6 + 1} = 7. Iz tega sledi, da je vozlišče 5 najbližje in mu dodelimo trajno oznako. Tako dobimo nove oznake: 0,6,5,9,7, Ker je zdaj samo vozlišče 6 povezano z vozliščem 5, je potrebno spremeniti še oznako 6 = min,7 + 3 = 10. Vozlišče 4 postane novo vozlišče z vozlišča 6. Dobimo jo tako: { } najmanjšo vrednostjo in jo označimo kot trajno. Vemo torej, da je vozlišče 4 četrto najbližje vozlišču 1. Zdaj imamo nove oznake: 0,6,5,9,7,10 Če pogledamo povezavo vozlišča 4 in 6, vidimo, da je začasna oznaka 10 boljša, saj je 6 = min 10,9 + 2 = 11 daljša, zato označimo vozilšče 6 kot trajno: { } Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 52

57 0,6,5,9,7,10 Torej lahko poiščemo najkrajšo pot med vozliščema 1 in 6. Razlika med trajnima oznakama vozlišč 5 in 6 je tri torej dolžina veje (5, 6), zato zdaj gledamo iz vozlišča 5. Razlika med vozliščema 5 in 2 je ena, dolžina veje (2, 5). Prestavimo se v vozlišče 2. Razlika od vozlišča 2 do 1 je 6, torej dolžina veje (1, 2). To pomeni, da je najkrajša pot iz vozlišča 1 v 6 skozi vozlišča , v skupni dolžini 10 km. Če bi šli po poti , bi bila dolžina 11 km, po poti pa 12 km. Tako pridemo do rezultata ročno, pokazali pa bomo še, kako se do tega rezultata pride s pomočjo programa POM-QM. Kliknemo na Module in izberemo modul Networks. Nato kliknemo na»nov list«in izberemo Shortest route. Prikaže se nam vnosno okno, kjer določimo, koliko vej ima naša mreža. Določimo, da jih ima sedem, po želji pa veje in ta problem še posebej poimenujemo in nato potrdimo. Odpre sa nam prazna tabela, v katero bomo vnesli podatke, prikazana na sliki 37. Slika 37: Prikaz vnosa podatkov Za vnašanje imamo na voljo tri stolpce. V prvem določimo, kje se veja začne, v drugem, kje se konča, v tretjem pa določimo vrednost te veje, torej dolžino. Podatke vnesemo v tabelo, nato v polju Network type označimo directed, desno od te možnosti, pa še določimo, v katerem vozlišču je začetek (Origin) in cilj (Destination); torej je vozlišče 1 začetek in vozlišče 6 konec. Ko imamo vse vnešeno, kliknemo na Solve, in dobimo rešitev, prikazano na sliki 38. Prva tabela prikazuje, kako poteka najkrajša pot, torej v skupni dolžini 10 kilometrov, spodnja pa prikazuje, koliko kilometrov je od enega vozlišča do drugega. Ker je mreža usmerjena, torej ni možno iti nazaj. Če na primer želimo priti iz vozlišča 3 v vozlišče 6, je potrebno narediti 7 km. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 53

58 Slika 38: Rešitev problema najkrajše poti v POM-QM 6.6. Problem antagonističnih iger Antagonistične igre spadajo v področje teorije iger. To lahko sicer razdelimo na dva dela. Prvi so igre na srečo oziroma hazardne igre. To so igre, kjer je izid slučajen in igralec s svojimi sposobnostmi ne more vplivati na končni rezultat. Drugi del so strateške igre. Gre za igre, pri katerih lahko igralec s svojimi sposobnostmi vpliva na končni rezultat. Teorija iger je uporabna na več področjih. Ne samo, da je pravšnja za namen zabave, na primer pri igrah s kartami, ampak tudi za namene raziskav. Predvsem je uporabna pri raziskavah konfliktnih situacij, posledic nasprotnih interesov udeležencev, ko vsak želi zase čim večjo korist. Tudi v gospodarstvu, kjer je udeleženo veliko oseb in organizacij z različnimi in nasprotujočimi si interesi. Teorija iger, za razliko od ostalih optimizacijskih metod (pri katerih se išče optimum samo za v naprej predpisan sistem - za primer lahko vzamemo proizvodni problem, ko iščemo optimalen načrt z maksimalnim dobičkom, dogajanje okrog ostalih konkurentov pa nas ne zanima), upošteva tudi vplive ostalih sistemov. Ta metoda torej, za razliko od drugih, upošteva obstoj več partnerjev, ki se odločajo vsak zase, obravnava konfliktne situacije, upošteva pa tudi interakcijo med konflikti in enotnim ciljem. To so tri lastnosti, po katerih se razlikuje od standardnih optimizacijskih metodah. Osnovni element igre je konfliktna situacija, v kateri se igralec znajde vsakič, ko ima na voljo več ukrepov. Konfliktne situacije najlažje prepoznamo po naslednjih lastnostih: Vsak od igralcev A in B skuša doseči nek namen. Ta sta med seboj nezdružljiva. Torej, če A doseže svoj namen, ga B ne in obratno. Možna pa je tudi, da se zgodi situacija, kjer ne A niti B ne dosežeta svojega namena. Oba se ravnata po določenih pravilih. Igrata razumno, tako da vsaka poteza deluje v njun prid. Obstaja merilo, po katerem je vedno mogoče oceniti korist vsakega ukrepa. Kljub temu, da je zadnji točki najtežje ustreči, je to pogoj za uporabnost teorije, čeravno so lahko ta merila slaba, kar pa je potrebno vzeti v zakup, če želimo njen obstoj. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 54

59 Pri teoriji iger imenujemo udeležene igralce, označimo pa z P 1, P 2,..., P n. Praviloma nastopata le dva igralca, če jih več z istimi interesi, pa jih obravnavamo kot enega. Ukrepe, ki jih igralci izvedejo med igro, imenujemo izbira, fazi v kateri poteka to izbiranje pa rečemo poteza. Povedati je potrebno še, kaj je igra. To je zbirka pravil in dogovorov, po katerih se morajo udeleženci ravnati. Igre ločimo po različnih vidikih: Po številu igralcev. Po vsoti dobičkov. Igri, kjer je vsota dobičkov enaka 0, to je taka igra kjer nekateri toliko dobijo, kot drugi izgubijo, pravimo antagonistična igra. Če pa vsota dobičkov ni nič, pa pravimo, da je igra neantagonistična. Po številu izbir, kjer ima igralec končno ali pa neskončno možno število izbir. Po informaciji, ko ima igralec o izbirah in možnostih nasprotnika popolno ali delno informacijo ali pa je sploh nima. Primer je šah. Matrične igre To je antagonistična igra med dvema igralcema, kjer ima vsak na voljo po eno potezo in nobene informacije o nasprotniku. Primer: Neko podjetje oglašuje svojo novo punudbo izdelkov z oglasi na internetu, po televiziji, ali na oba načina hkrati. Enako seveda lahko ravna tudi konkurenčno podjetje. V tabeli 12 so predstavljeni pričakovani dohodki podjetja pri posameznih načinih oglaševanje in različnih možnih načinih ravnanja konkurenčnega podjetja. Podjetje A Konkurenca B Ne oglašuje Internet TV Internet in TV Ne oglašuje Internet TV Internet in TV Tabela 12: Prikaz vrednosti oglaševanja Rešitev: V POM-QM kliknemo na Module in iz seznama izberemo modul Game Theory. Kliknemo na ikono za nov list, da začnemo z delom z novim modelom. Odpre se vnosno okno, kjer določimo število stolpcev in vrstic ter obema nastavimo število 4 (to so možnosti, da ne oglašujejo, oglašujejo preko tiska, preko televizije ali pa oboje hkrati). Vrstice in stolpce lahko tudi po želji preimenujemo, poimenujemo pa lahko tudi ime projekta. Potrdimo nastavjeno in odpre se nam prazna tabela, podobna tabeli zgoraj (tabela 12). V prazna polja vnesemo vrednosti, ki so napisana v zgornji tabeli na istih ustreznih mestih. Ko je tabela izpolnjena, kliknemo na Solve in dobimo rešitev, prikazano na sliki 39. Rešitev pove, da podjetju najbolj ustreza, da vloži ves denar, namenjen za oglaševanje, preko x = 0;0;0;1, interneta in televizije, na sliki prikazano v zadnjem stolpcu, oziroma kot { } saj mu zagotavlja, da v povprečju ne dobi manj, kot w = 2 denarni enoti. Na drugi strani pa konkurenčnemu podjetju najbolj ustreza taktika, kjer 83 odstotkov denarja vloži v oglaševanje preko interneta, 11 odstotkov v televizijsko, in šest odstotkov v oglaševanje Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 55

60 preko interneta in televizije, napisano v zadnji vrstici, oziroma predstavljeno kot y = 0;0,83;0,11;0,06. Ta strategija mu zagotavlja, da podjetje v povprečju ne bo { } izgubilo več kot w = 2 denarni enoti. Slika 39: Rešitev problema antagonistične igre 6.7. Problem optimizacije zalog (NLP problem) Gre za področje, ki je del logističnega managementa. Točneje je to modificirani model optimalne naročilne količine (ONK) in mu pravimo model optimalne proizvodne količine (OPK). V primerjavi z ONK, kjer se obravnava predmet, ki ga kupec kupuje oziroma naročuje, se pri OPK upošteva, koliko teh predmetov je potrebno izdelati v domači proizvodnji. Ker je to modificiran model ONK, ga je možno uporabiti tudi za management vezanih zalog. (Čižman, 2002) Oznake, uporabljene v modelu za izračun OPK: sp d p H Lp Kp Kp* Spc... stroški priprave proizvodnje... Dnevna poraba... Zmogljivost proizvodnje na dan... Stroški skladiščenja enote na leto... Letna potreba... Proizvodna količina... optimalna proizvodna količina... celotni letni stroški proizvodnje Namen OPK je poiskati takšno vrednost, kjer bodo celotni letni stroški minimalni. Izraz za optimalno proizvodno količino pa je nasleden: Kp* = 2 Lp( sp) d H 1 p Poleg optimalne proizvodne količine, pa nas zanimajo tudi letni stroški proizvodnje oz. ciljna funkcija. Enačba, ki določa celotne letne stroške Spc, je podana tako: Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 56

61 d Kp 1 p Lp Spc = H + sp 2 Kp Primer: Podjetje se ukvarja s proizvodnjo in prodajo industrijskih ležajev na domačem in tujem trgu. Letna potreba po industrijskih ležajih je kosov in je porazdeljena enakomerno. Podjetje je dnevno sposobno izdelati 275 ležajev, v letu pa je 242 delovnih dni. Stroški priprave na izdelavo ležajev znašajo 320, cena enega ležaja je 0,5, stroški skladiščenja ležaja pa znašajo 0,1 na leto. a) Koliko ležajev naj bo proizvedeno v eni proizvodnji seriji? b) Koliko naj bo maksimalno prizvedenih ležajev, če želi podjetje imeti najmanj 500 ležajev v skladišču? Rešitev: Model problema je sledeč: 2 Lp( sp) 2 * * 320 Kp* = = = 35871,54 d H 1 0,1 1 p 275 * 242 Tako se problem reši ročno, sledi se predstavitev s programoma POM-QM in Excel POM-QM a) V POM-QM kliknemo na Module Inventory, nato kliknemo na ikono za nov list in iz seznama izberemo Production Order Quantity Model. Odpre se običajno okno, kjer smo do zdaj določali število vej, omejitev, spremenljivk, idr., tokrat pa nam ni potrebno ničesar, ampak samo potrdimo z OK in odpre se nam nova tabela. V prazne okvirčke vnesemo podatke iz naloge, tako kot je prikazano na sliki 40, vendar v celici Daily demand rate pustimo ničlo, saj to vrednost izračuna program. Slika 40: Prikaz vnosa podatkov Pred vsako celico piše, katero vrednost je potrebno vnesti, tako da je uporabniku to olajšano. Ko imamo vse vnešeno, kliknemo na Solve in dobimo rezultat enot, Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 57

62 prikazano na sliki 41 v zadnjem stoplpcu v prvi vrstici (program je izračunal vrednost 35871,54, vendar izdelek je lahko samo cel, zato smo zaokrožili navzgor), zraven pa rezultat prikaže še grafično. Ob tem dobimo še druge koristne rešitve, kot so maksimalna zaloga, ki naj bo 8921 kosov, povprečna 4460 kosov, letni stroški priprave pa znašajo 446,04 evrov EXCEL Slika 41: Numerična in grafična rešitev problema OPK Za rešitev v Excelu, pa uporabimo možnost, ki jo ponuja POM-QM, torej da model shrani v excelovem formatu. To naredimo tako, da v POM-QM kliknemo File in izberemo Save as Excel file, namesto običajno Save as. Program nam ponudi tri možnosti, prikazane na sliki 42: Slika 42: Prikaz Save as Excel file možnosti Prva možnost je, da shrani na isto mesto, kjer je model že shranjen v POM-QM formatu, druga je, da shrani v novo datoteko, ki jo uporabnik sam poimenuje in določi lokacijo, Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 58

63 tretja možnost pa je, da v obstoječ excelov dokument doda nov zavihek. Ko se odločimo za eno izmed njih, program tja shrani datoteko, in ko jo odpremo, dobimo rezultat, prikazan na sliki 43. Vidimo torej, da dobimo tudi tokrat isti rezultat: kosov. Slika 43: Rešitev v Excelu b) Za proizvodnjo te količine bo potrebno = 130,44 dni. V tem obdobju bo podjetje prodalo 130,44 ( ) = ležajev. Torej se bo zaloga dvignila na = 8921 enot. Temu moramo prišteti še zahtevo po minimalno 500 ležajih in dobimo rešitev 9421 enot. Miha Osojnik: Primerjava analitičnih programskih orodij pri reševanju problemov stran 59

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

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

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Numerične metode Numerical methods Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

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

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

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

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Optimizacija Optimization Študijski program in stopnja Study programme and level Visokošolski strokovni študijski program Praktična matematika

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerična linearna algebra Numerical linear algebra Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

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

Makroekonomija 1: 4. vaje. Igor Feketija

Makroekonomija 1: 4. vaje. Igor Feketija Makroekonomija 1: 4. vaje Igor Feketija Teorija agregatnega povpraševanja AD = C + I + G + nx padajoča krivulja AD (v modelu AS-AD) učinek ponudbe denarja premiki vzdolž krivulje in premiki krivulje mikro

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

R V P 2 Predavanje 05

R V P 2 Predavanje 05 R V P 2 Predavanje 05 Kreiranje programskih modulov - Scripts RVP2 Kreiranje programskih modulov 1/44 Programski moduli -Scripts Možnosti: Omogočajo: Izvajanje ukazov Izvajanje logičnih operacij Ob določenih

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

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

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Numerične metode Course title: Numerical methods Študijski program in stopnja Study programme and level Univerzitetni študijski program 1.stopnje Fizika First

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

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič Kaj je sistemska biologija? > Razumevanje delovanja organizmov sistemska biologija =

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Statistika Statistics Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika First cycle academic

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Diferencialne enačbe. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Diferencialne enačbe. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Diferencialne enačbe Differential equations Študijski program in stopnja Study programme and level Visokošolski strokovni

More information

Statistika 2 z računalniško analizo podatkov. Neizpolnjevanje predpostavk regresijskega modela

Statistika 2 z računalniško analizo podatkov. Neizpolnjevanje predpostavk regresijskega modela Statistika 2 z računalniško analizo podatkov Neizpolnjevanje predpostavk regresijskega modela 1 Predpostavke regresijskega modela (ponovitev) V regresijskem modelu navadno privzamemo naslednje pogoje:

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

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

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations Študijski program in stopnja Study programme and level Magistrski

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

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Teorija grafov Graph theory Študijski program in stopnja Study programme and level Magistrski študijski program Matematika Master's study

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

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA UDK 543.428.2:544.171.7 ISSN 1580-2949 Original scientific article/izvirni znanstveni ~lanek MTAEC9, 49(3)435(2015) B. PONIKU et al.: USING SIMULATED SPECTRA TO TEST THE EFFICIENCY... USING SIMULATED SPECTRA

More information

Distance reduction with the use of UDF and Mathematica. Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica

Distance reduction with the use of UDF and Mathematica. Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica RMZ Materials and Geoenvironment, Vol. 54, No. 2, pp. 265-286, 2007 265 Distance reduction with the use of UDF and Mathematica Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica

More information

LISREL. Mels, G. (2006). LISREL for Windows: Getting Started Guide. Lincolnwood, IL: Scientific Software International, Inc.

LISREL. Mels, G. (2006). LISREL for Windows: Getting Started Guide. Lincolnwood, IL: Scientific Software International, Inc. LISREL Mels, G. (2006). LISREL for Windows: Getting Started Guide. Lincolnwood, IL: Scientific Software International, Inc. LISREL: Structural Equation Modeling, Multilevel Structural Equation Modeling,

More information

OPTIMIZACIJA Z ROJEM DELCEV

OPTIMIZACIJA Z ROJEM DELCEV 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 Izjava: "Študent

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

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 (Final project paper) Grafi struktur proteinov: Uporaba teorije grafov za analizo makromolekulskih

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ.

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ. UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Finančna matematika First cycle

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

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

ANALIZA EKONOMSKE UČINKOVITOSTI JAHALNEGA CENTRA S POMOČJO LINEARNEGA PROGRAMIRANJA

ANALIZA EKONOMSKE UČINKOVITOSTI JAHALNEGA CENTRA S POMOČJO LINEARNEGA PROGRAMIRANJA UNIVERZA V LJUBLJANI BIOTEHNIŠKA FAKULTETA ODDELEK ZA ZOOTEHNIKO Ana STARIHA ANALIZA EKONOMSKE UČINKOVITOSTI JAHALNEGA CENTRA S POMOČJO LINEARNEGA PROGRAMIRANJA MAGISTRSKO DELO Magistrski študij 2. stopnja

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

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

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Diferencialne enačbe. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Diferencialne enačbe. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2016/17) Diferencialne enačbe Differential equations Študijski program in stopnja Study programme and level Visokošolski strokovni

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

MODELIRANJE IN SIMULACIJA TER NJUNA UPORABA V MEDICINI IN FARMACIJI

MODELIRANJE IN SIMULACIJA TER NJUNA UPORABA V MEDICINI IN FARMACIJI Zdrav Vestn 28; 77: 57 71 57 Pregledni prispevek/review article MODELIRANJE IN SIMULACIJA TER NJUNA UPORABA V MEDICINI IN FARMACIJI USAGE OF MODELLING AND SIMULATION IN MEDICINE AND PHARMACY Maja Atanasijević-Kunc

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

Statistika 2 z računalniško analizo podatkov

Statistika 2 z računalniško analizo podatkov Statistika 2 z računalniško analizo podatkov Bivariatne analize 1 V Statistične analize v SPSS-ju V.4 Bivariatne analize Analyze - Descriptive statistics - Crosstabs Analyze Correlate Bivariate Analyze

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

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

UNIVERZA V LJUBLJANI

UNIVERZA V LJUBLJANI UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA DIPLOMSKO DELO VREDNOTENJE KAKOVOSTI SPLETNIH PREDSTAVITEV IZBRANIH SLOVENSKIH FAKULTET Ljubljana, september 2003 MATEJA DOLNIČAR IZJAVA Študentka Mateja Dolničar

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

MODEL ZA OCENJEVANJE KAKOVOSTI SPLETNIH STRANI

MODEL ZA OCENJEVANJE KAKOVOSTI SPLETNIH STRANI UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO MODEL ZA OCENJEVANJE KAKOVOSTI SPLETNIH STRANI Ljubljana, avgust 2003 JAKA LINDIČ IZJAVA Študent Jaka Lindič izjavljam, da sem avtor tega magistrskega

More information

KVANTITATIVNE METODE V PROMETU

KVANTITATIVNE METODE V PROMETU KVANTITATIVNE METODE V PROMETU Vaja Primer : Pri pripravi neke eksotične slaščice potrebujemo dve vrsti moke M, M. Moko lahko kupimo v dve različni embalaži E, E. Prvo pakiranje E vsebuje enoto moke M

More information

Izdelava spletne strani z uporabo programske opreme kot storitve

Izdelava spletne strani z uporabo programske opreme kot storitve Univerza v Ljubljani Fakulteta za elektrotehniko Luka Šimšić Izdelava spletne strani z uporabo programske opreme kot storitve Diplomsko delo visokošolskega strokovnega študija prve stopnje Mentor: doc.

More information

Verodostojnost in kvaliteta spletno dostopnih informacij

Verodostojnost in kvaliteta spletno dostopnih informacij Univerza v Ljubljani Filozofska fakulteta Oddelek za bibliotekarstvo, informacijsko znanost in knjigarstvo Verodostojnost in kvaliteta spletno dostopnih informacij Mentor: dr. Jure Dimec Lea Očko Katja

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Numerične metode 1 Course title: Numerical methods 1. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Numerične metode 1 Course title: Numerical methods 1. Študijska smer Study field UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Numerične metode 1 Course title: Numerical methods 1 Študijski program in stopnja Study programme and level Visokošolski strokovni študijski program Praktična

More information

Naloge iz LA T EXa : 3. del

Naloge iz LA T EXa : 3. del Naloge iz LA T EXa : 3. del 1. V besedilo vklju ite naslednjo tabelo skupaj z napisom Kontrolna naloga Dijak 1 2 Povpre je Janko 67 72 70.5 Metka 72 67 70.5 Povpre je 70.5 70.5 Tabela 1: Rezultati kontrolnih

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

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

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

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

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene

Študijska smer Study field. Samost. delo Individ. work Klinične vaje work. Vaje / Tutorial: Slovensko/Slovene UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Kvantna mehanika Course title: Quantum mechanics Študijski program in stopnja Study programme and level Univerzitetni študijski program 1.stopnje Fizika First

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

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

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

Optimizacija delovanja in povečanje obiska na spletni strani

Optimizacija delovanja in povečanje obiska na spletni strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Adlešič Optimizacija delovanja in povečanje obiska na spletni strani DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: doc.

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

THE NUMERICAL SOLUTION OF STRAIN WAVE PROPAGATION IN ELASTICAL HELICAL SPRING

THE NUMERICAL SOLUTION OF STRAIN WAVE PROPAGATION IN ELASTICAL HELICAL SPRING UDK 539.3:6-7 ISSN 1580-949 Original scientific article/izvirni znanstveni ~lanek MTAEC9, 41(1)47(007) THE NUMERICAL SOLUTION OF STRAIN WAVE PROPAGATION IN ELASTICAL HELICAL SPRING NUMERI^NA RE[ITEV PROPAGACIJE

More information

arxiv: v1 [cs.dm] 21 Dec 2016

arxiv: v1 [cs.dm] 21 Dec 2016 UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE arxiv:1612.07113v1 [cs.dm] 21 Dec 2016 Zaključna naloga (Final project paper) Odčitljivost digrafov in dvodelnih

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

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

ANALIZA SPLETNIH STRANI IN NJIHOVA UPORABNOST

ANALIZA SPLETNIH STRANI IN NJIHOVA UPORABNOST UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA DIPLOMSKO DELO ANALIZA SPLETNIH STRANI IN NJIHOVA UPORABNOST Ljubljana, september 2004 DARJA PLEVNIK IZJAVA Študentka Darja Plevnik izjavljam, da sem avtorica tega

More information

OPP Programska oprema

OPP Programska oprema OPP Programska oprema doc.dr.eva Jereb Fakulteta za organizacijske vede Univerza v Mariboru e mail: : eva.jereb@fov.uni mb.si PROGRAMSKA OPREMA SISTEMSKA : (operacijski sistem) vsebuje programe za kontrolo,

More information

UPORABA METODE KALKULIRANJA STROŠKOV NA PODLAGI SESTAVIN DEJAVNOSTI V IZBRANIH DRŽAVAH

UPORABA METODE KALKULIRANJA STROŠKOV NA PODLAGI SESTAVIN DEJAVNOSTI V IZBRANIH DRŽAVAH UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA MARIBOR DIPLOMSKO DELO UPORABA METODE KALKULIRANJA STROŠKOV NA PODLAGI SESTAVIN DEJAVNOSTI V IZBRANIH DRŽAVAH Študentka: Urška Drevenšek Naslov: Pohorska

More information

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2). NALOGE ) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih ( in ). 0.8 0.6 0.4 0. 0.0 0.08 0.06 0.04 0.0 0.00 0 0 0 30

More information

Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija

Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija Elektrotehniški vestnik 69(2): 120 127, 2002 Electrotechnical Review, Ljubljana, Slovenija Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija Andrej Rakar, D- ani Juričić

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Ekstremne porazdelitve za odvisne spremenljivke (Extremal Distributions for Dependent Variables)

More information

PRIPRAVA PODATKOV V PROCESU PODATKOVNEGA RUDARJENJA

PRIPRAVA PODATKOV V PROCESU PODATKOVNEGA RUDARJENJA UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO PRIPRAVA PODATKOV V PROCESU PODATKOVNEGA RUDARJENJA Ljubljana, september 2013 ŽIGA VAUPOT IZJAVA O AVTORSTVU Spodaj podpisani Žiga Vaupot, študent

More information

Sodobna orodja in postopki za načrtovanje algortimov vodenja servopogonov

Sodobna orodja in postopki za načrtovanje algortimov vodenja servopogonov AIG 03, MARIBOR Sodobna orodja in postopki za načrtovanje algortimov vodenja servopogonov Miran Rodič, Karel Jezernik Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova

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

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani JEDRSKA URA JAN JURKOVIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani Natančnost časa postaja vse bolj uporabna in pomembna, zato se rojevajo novi načini merjenja časa. Do danes najbolj natančnih

More information

Aleš Fleischmann Gradniki vmesniškega podsklopa sistema za procesno dokumentacijo

Aleš Fleischmann Gradniki vmesniškega podsklopa sistema za procesno dokumentacijo UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Fleischmann Gradniki vmesniškega podsklopa sistema za procesno dokumentacijo Visokošolski strokovni študij Diplomsko delo Mentor: doc.

More information

The consequences of quantum computing

The consequences of quantum computing University of Ljubljana Faculty of Computer and Information Science Kokan Malenko The consequences of quantum computing BACHELOR S THESIS UNDERGRADUATE UNIVERSITY STUDY PROGRAM COMPUTER SCIENCE AND MATHEMATICS

More information

OPTIMIZACIJA ENODIMENZIONALNEGA RAZREZA PO SKUPINAH

OPTIMIZACIJA ENODIMENZIONALNEGA RAZREZA PO SKUPINAH UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA OPTIMIZACIJA ENODIMENZIONALNEGA RAZREZA PO SKUPINAH DOKTORSKA DISERTACIJA Ljubljana 2013 MIHAEL CESAR IZJAVA O AVTORSTVU Spodaj podpisani(-a) MIHAEL CESAR študent(-ka)

More information

VAJE 2: Opisna statistika

VAJE 2: Opisna statistika VAJE : Opisna statistika Na računalniških vajah se za urejanje in prikazovanje statističnih podatkov uporabi statistični programski paket SPSS in podatkovna datoteka podatki.sav. NALOGE: 1. Analiza vzorčnih

More information

DOSTOPNOST IN UPORABNOST SPLETNIH STRANI

DOSTOPNOST IN UPORABNOST SPLETNIH STRANI UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO JADRANKA SMILJIĆ DOSTOPNOST IN UPORABNOST SPLETNIH STRANI DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJ Mentor: DR. JANEZ DEMŠAR Ljubljana,

More information

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Seminar - 3. letnik, I. stopnja Kvantni računalniki Avtor: Tomaž Čegovnik Mentor: prof. dr. Anton Ramšak Ljubljana, marec 01 Povzetek

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Gorazd Kovačič. Avtomatsko vizualno testiranje spletnih strani

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Gorazd Kovačič. Avtomatsko vizualno testiranje spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gorazd Kovačič Avtomatsko vizualno testiranje spletnih strani DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr. Viljan Mahnič

More information

Preverjanje optimiziranosti spletnih strani

Preverjanje optimiziranosti spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Hozjan Preverjanje optimiziranosti spletnih strani DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2016 UNIVERZA V LJUBLJANI

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

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

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

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

UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA, MARIBOR

UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA, MARIBOR UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA, MARIBOR MAGISTRSKO DELO POSLOVNI POTENCIALI SPLETNIH ISKALNIKOV NA PODROČJU MARKETINGA BUSINESS POTENTIAL OF INTERNET SEARCH ENGINES IN MARKETING Študent:

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

Odločitve na dlani: Sistem za podporo večparametrskemu odločanju na dlančnikih

Odločitve na dlani: Sistem za podporo večparametrskemu odločanju na dlančnikih Odločitve na dlani: Sistem za podporo večparametrskemu odločanju na dlančnikih Decisions at Hand: The Multi-attribute Decision Support System on Handhelds Blaž Zupan 1,2,3, Aleš Porenta 1, Gaj Vidmar 4

More information

Analiza variance in linearna regresija

Analiza variance in linearna regresija Analiza variance in linearna regresija Aleš Žiberna 28. november 2011 Kazalo 1 Uporabljeni podatki 2 2 Analiza variance (ANOVA) 2 2.1 Enofaktorska analiza variance za neodvisne vzorce....... 3 2.2 Večfaktorska

More information

Modeling and Control of Instabilities in Combustion Processes Modeliranje in upravljanje nestabilnosti v procesih zgorevanja

Modeling and Control of Instabilities in Combustion Processes Modeliranje in upravljanje nestabilnosti v procesih zgorevanja Izvirni znanstveni članek TEHNIKA - nestabilni termoakustični procesi zgorevanja Datum prejema: 30. julij 2014 ANALI PAZU 4/ 2014/ 1: 34-40 www.anali-pazu.si Modeling and Control of Instabilities in Combustion

More information

Sistem za sledenje in analizo uporabe računalniških aplikacij

Sistem za sledenje in analizo uporabe računalniških aplikacij Univerza v Ljubljani Fakulteta za računalništvo in informatiko Dejan Mesar Sistem za sledenje in analizo uporabe računalniških aplikacij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr.

More information

2A skupina zemeljskoalkalijske kovine

2A skupina zemeljskoalkalijske kovine 1. NALOGA: V ČEM SE RAZLIKUJETA BeO IN MgO? 1. NALOGA: ODGOVOR Elementi 2. periode (od Li do F) se po fizikalnih in kemijskih lastnostih (diagonalne lastnosti) znatno razlikujejo od elementov, ki so v

More information

Zgoščevanje podatkov

Zgoščevanje podatkov Zgoščevanje podatkov Pojem zgoščevanje podatkov vključuje tehnike kodiranja, ki omogočajo skrajšan zapis neke datoteke. Poznan program za zgoščevanje datotek je WinZip. Podatke je smiselno zgostiti v primeru

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