Numericke i Optimizacione Metode u Elektrotehnici [Predavanja 2011-2012]

April 5, 2017 | Author: sabahudin_91 | Category: N/A
Share Embed Donate


Short Description

Download Numericke i Optimizacione Metode u Elektrotehnici [Predavanja 2011-2012]...

Description

2011 - 2012

NUMERIČKE I OPTIMIZACIONE METODE U ELEKTROTEHNICI

Mihailo Šibonjić

NUMERIČKE METODE U ELEKTROTEHNICI

Sadržaj RAČUN GREŠAKA ........................................................................................................................................... 1 - Približni brojevi ........................................................................................................................................ 1 - Predstavljanje brojeva i njihovo zaokruživanje ......................................................................................... 2 - Greške aritmetičkih operacija i njihovo prostiranje .................................................................................. 3 - Sabiranje na idealnom računaru ...................................................................................................... 3 - Oduzimanje na idealnom računaru .................................................................................................. 4 - Množenje na idealnom računaru ..................................................................................................... 4 - Dijeljenje na idealnom računaru ...................................................................................................... 5 - Mašinske greške .............................................................................................................................. 5 - Kombinovane greške ....................................................................................................................... 7 METODE ZA RJEŠAVANJE NELINEARNIH JEDNAČINA ...................................................................................... 8 - Red konvergencije ................................................................................................................................. 10 - Metod polovljenja intervala ................................................................................................................... 10 - Metod sekante (regula falsi) .................................................................................................................. 12 - Metod sječice ........................................................................................................................................ 13 - Kombinovani metod .............................................................................................................................. 14 - Metod iteracije ...................................................................................................................................... 14 - Metod tangente (Newton-Raphson-ov metod) ....................................................................................... 16 - Uopšteni Newton-ov metod .......................................................................................................... 22 - Primjena metoda na sisteme jednačina.................................................................................................. 23 METODE ZA RJEŠAVANJE ALGEBARSKIH JEDNAČINA .................................................................................... 31 - Osobine polinoma i granice korijena ...................................................................................................... 31 - Granice korijena polinoma ..................................................................................................................... 32 - Horner-ov metod ................................................................................................................................... 34 - Bairstow metod (uopšteni Horner-ove metod) ....................................................................................... 37

INTERPOLACIJA I APROKSIMACIJA................................................................................................................ 40 - Langrange-ov interpolacioni polinom ..................................................................................................... 42 - Procjena greške interpolacije......................................................................................................... 43 - Hermite-ov interpolacioni polinom ........................................................................................................ 44 - Greška Hermite-ovog interpolacionog polinoma............................................................................ 45 - Operatori i njihove osobine.................................................................................................................... 46 - Tablice konačnih razlika................................................................................................................. 48 - Prvi i drugi Newton-ov interpolacioni polinom ....................................................................................... 49 - Romboidni dijagram............................................................................................................................... 51 - Srednja kvadratna aproksimacija ........................................................................................................... 53 - Ekonomizacija stepenih redova (Chebyshev-i polinomi) .......................................................................... 54 SISTEMI LINEARNIH JEDNAČINA ................................................................................................................... 56 - Gauss-ov metod eliminacije ................................................................................................................... 57 - Svođenje na trougaonu formu (LU dekompozicija) ................................................................................. 58 - Jacobi-ev metod .................................................................................................................................... 60 - Gauss-Seidel-ov metod .......................................................................................................................... 62 NUMERIČKA INTEGRACIJA ........................................................................................................................... 63 - Newton-Cotes-ove formule.................................................................................................................... 64 - Gauss-ova (Hermite-ova) integracija ...................................................................................................... 67 - Gauss-ove integralne formule ................................................................................................................ 68 - Gauss-Legendre-ov metod............................................................................................................. 69 - Višestruki integrali ................................................................................................................................. 70

NUMERIČKO RJEŠAVANJE DIFERENCIJALNIH JEDNAČINA.............................................................................. 71 - Taylor-ov metod .................................................................................................................................... 74 - Sistemi diferencijalnih jednačina ................................................................................................... 75 - Picard-ov metod .................................................................................................................................... 78 - Euler-ovi metodi za rješavanje diferencijalnih jednačina ........................................................................ 79 - Eksplicitni Euler-ov metod ............................................................................................................. 79 - Implicitni Euler-ov metod (backward Euler's method) .................................................................... 80 - Trapezni Euler-ov metod ............................................................................................................... 81 - Opšta Euler-ova formula (Theta metod)......................................................................................... 81 - Modifikovani Euler-ov metod (višekoračni metod) ......................................................................... 81 - Tačnost Euler-ovih metoda (greška) .............................................................................................. 82 - Stabilnost numeričkih metoda za rješavanje diferencijalnih jednačina.................................................... 86 - Stabilnost eksplicitnog Euler-ovog postupka .................................................................................. 87 - Stabilnost implicitnog Euler-ovog postupka (backward Euler's method) ......................................... 88 - Stabilnost trapeznog Euler-ovog postupka ..................................................................................... 89 - Runge-Kutta metodi ............................................................................................................................... 92 - Runge-Kutta metodi drugog reda .................................................................................................. 92 Runge-Kutta metodi trećeg reda...................................................................................................... 95 - Runge-Kutta metodi četvrtog reda ................................................................................................ 96 - Runge-Kutta metodi petog reda .................................................................................................... 97 - Stabilnost Runge-Kutta metoda ..................................................................................................... 98 - Višekoračni metodi .............................................................................................................................. 100 - Stabilnost višekoračnih metoda ................................................................................................... 103 - Prediktor-Korektor formule.................................................................................................................. 104

OPTIMIZACIJA ............................................................................................................................................ 106 - Klasična optimizacija ............................................................................................................................ 110 - Problemi sa ograničenjima tipa jednačina ............................................................................................ 114 - Metod Langrange-ovih množitelja ............................................................................................... 115 - Metode jednodimenzione optimizacije ................................................................................................ 119 - Fibonacci-jev metod .................................................................................................................... 120 - Metod zlatnog presjeka ............................................................................................................... 122 - Metode aproksimacije polinomima ............................................................................................. 123 - Newton-ova metoda (metod tangente)................................................................................................ 124 - Višedimenziona optimizacija bez ograničenja....................................................................................... 125 - Metoda pomjeranja po osama (Hooke-Jeeves-ova metoda)......................................................... 125 - Powell-ova metoda ..................................................................................................................... 126 - Optimizacija bez ograničenja za derivabilne funkcije ............................................................................ 129 - Gradijentni metod (Cauchy-ev metod, metod najbržeg opadanja) ............................................... 129 - Newton-ov metod ....................................................................................................................... 129 - Metode promjenjive (varijabilne) metrike (kvazi Newton-ove metode) ................................................ 130 - DFP metod (Davidon – Fletcher – Powell) .................................................................................... 131 - Konveksno programiranje .................................................................................................................... 132 - Uslov optimalnosti preko Langrange-ove funkcije........................................................................ 133 - Kuhn-Tucker-ovi uslovi optimalnosti ............................................................................................ 134 - Metod dopustivih smjerova......................................................................................................... 134

Numeričke metode u elektrotehnici – Predavanja

RAČUN GREŠAKA Svaki fizički ili tehnički problem koji za ulaznu informaciju ima numeričke podatke uvjek je praćen pojavom grešaka. Zbog tog razloga, analiza grešaka je sastavni dio ovih problema, pogotovo ako se eksperimentalni ili drugi podaci obrađuju na računarima. Ako se neka fizička pojava matematički interpretira, najčešće se bira idealizovan model čije rješenje odražava samo približnu sliku onoga šta se dešava u realnosti, odnosno modelovanje problema predstavlja aproksimaciju stvarnog modela i pri tome nastaje neotklonjiva (inherentna) greška. Pored toga imamo i početnu grešku koja nastaje kao posljedica ulaznih podataka približne tačnosti, bilo da se radi o fizikalnim ili matematičkim konstantama, eksperimentalnim podacima i slično. Za praktična izračunavanja od najvećeg interesa su greške zaokruživanja. One nastaju kad smo prinuđeni da brojeve sa velikim brojem cifara zamjenimo približnim brojevima sa manjim brojem cifara, i karakteristične su za računanje na računarima. Pored toga imamo i greške odabranog numeričkog metoda, jer svaki numerički metod daje samo približna rješenja određene tačnosti i nazivaju se greškama metoda. Cilj numeričke analize nije samo u tome da razvija metode koji daju rezultate sa velikom tačnošću, nego treba voditi računa da izračunavanje traje što je moguće kraće, odnosno da se rezultati dobijaju sa manjim brojem operacija.

- Približni brojevi Približan broj je broj koji zamjenjuje tačan broj u aritmetičkim operacijama. Odnosno možemo reći da približan broj 𝑎𝑎 predstavlja broj koji se neznatno razlikuje od tačnog broja 𝐴𝐴 i koji zamjenjuje tačan broj u proračunima. Razlika: ∆𝑎𝑎 = 𝐴𝐴 − 𝑎𝑎

naziva se greška približnog broja 𝑎𝑎. Vrlo često predznak greške približnog broja nije poznat pa se uvodi i pojam apsolutne greške približnog broja, odnosno: |∆𝑎𝑎 | = |𝐴𝐴 − 𝑎𝑎|

Takođe u većini slučajeva tačan broj 𝐴𝐴 nam nije poznat, što implicira da ne možemo odrediti apsolutnu grešku približnog broja. Zbog toga, da bi procijenili u kojim se granicama nalazi broj 𝐴𝐴 na osnovu njegove približne vrijednosti 𝑎𝑎 , uvodimo pojam granice apsolutne greške. Granica apsolutne greške |∆𝑎𝑎|max približnog broja je svaki broj koji nije manji od apsolutne greške tog broja, odnosno: |∆𝑎𝑎 | ≤ |∆𝑎𝑎|max

𝑎𝑎 − |∆𝑎𝑎 |max ≤ 𝐴𝐴 ≤ 𝑎𝑎 + |∆𝑎𝑎 |max

Granica apsolutne greške, ne pruža uvjek pravu sliku o greškama jer zavisi od vrijednosti broja 𝐴𝐴 pa zbog toga se uvodi i pojam relativne greške približnog broja.

Mihailo Šibonjić

-1-

Numeričke metode u elektrotehnici – Predavanja Relativna greška 𝛿𝛿𝑎𝑎 približnog broja 𝑎𝑎 je količnik greške približnog broja ∆𝑎𝑎 i tačnog broja 𝐴𝐴, odnosno približnog broja 𝑎𝑎 i vrijedi: ∆𝑎𝑎 ∆𝑎𝑎 ≅ 𝐴𝐴 𝑎𝑎

𝛿𝛿𝑎𝑎 =

Takođe i kod relativne greške zbog nepoznavanja predznaka, uvodimo pojam apsolutne relativne greške približnog broja na slijedeći način: |𝛿𝛿𝑎𝑎 | = �

∆𝑎𝑎 ∆𝑎𝑎 � ≅� � 𝐴𝐴 𝑎𝑎

Granica apsolutne relativne greške |𝛿𝛿𝑎𝑎 |max apsolutne relativne greške tog broja: |𝛿𝛿𝑎𝑎 |max = �

približnog broja 𝑎𝑎 je svaki broj koji nije manji od

∆𝑎𝑎max ∆𝑎𝑎max � ≅� � 𝐴𝐴 𝑎𝑎

Treba nastojati da greške budu istog reda veličine, jer ne bi imalo smisla da napravimo „veliku“ grešku pri pravljenju matematičkog modela, a kasnije gledamo da dobijemo manju grešku pri numeričkom rješavanju. Naglasimo još i to da procijenitelj grešaka predstavlja matematički alat koji nam govori kolika je učinjena greška.

- Predstavljanje brojeva i njihovo zaokruživanje Neka je dat broj 𝐴𝐴 u normalizovanom obliku, odnosno:

𝐴𝐴 = 0. 𝑎𝑎1 𝑎𝑎2 𝑎𝑎3 … 𝑎𝑎𝑛𝑛 𝑎𝑎𝑛𝑛+1 … ∙ 𝑏𝑏𝑘𝑘

gdje je 𝑏𝑏 osnova (baza) sistema, 𝑘𝑘 karakteristika ili eksponent (pri čemu je 𝑘𝑘 cijeli broj). Tada broj: 𝐴𝐴∗ = 0. 𝑎𝑎1 𝑎𝑎2 𝑎𝑎3 … 𝑎𝑎𝑛𝑛 𝑎𝑎𝑛𝑛+1 …

se naziva mantisa broja 𝐴𝐴, koja nosi predznak. Pri čemu su cifre mantise manje od baze sistema, a prva cifra različita od nule, pa možemo pisati: 𝐴𝐴 = 𝐴𝐴∗ ∙ 𝑏𝑏𝑘𝑘

Svaka cifra broja, izuzimajući nule koje služe za fiksiranje decimalnog mjesta, naziva se značajnom cifrom broja. Značajna cifra broja je sigurna cifra ako greška tog broja nije veća od polovine jedinice date cifre, odnosno ako vrijedi: |∆𝑎𝑎 | ≤

1 𝑘𝑘−𝑛𝑛 ∙ 𝑏𝑏 2

Kaže se da 𝑎𝑎 aproksimira 𝐴𝐴 sa 𝑛𝑛 značajnih cifara ako |∆𝑎𝑎 | ne prelazi jedinicu 𝑛𝑛-tog mjesta mantise.

-2-

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja Zaokruživanje broja je formiranje približnog broja sa manjim brojem cifara, pri čemu je greška najmanja (pored zaokruživanja postoji i prosto odsijecanje kod koga se cifre samo odbacuju). Pravila zaokruživanja brojeva se mogu generalisati na način: -

Ako je posljednja zadržana cifra ispred cifre manje od pet, tada se sve preostale cifre jednostavno odbacuju. Ako je posljednja zadržana cifra ispred cifre veće od pet, tada se posljednja zadržana cifra poveća za jedan a ostatak odbacujemo. Ako je posljednja zadržana cifra ispred cifre jednake pet, tada se koristimo pravilom parne cifre i to na način da ako je posljednja zadržana cifra parna, samo odbacujemo ostatak, a ako je neparna uvećemo za jedan posljednju zadržanu cifru a ostale odbacujemo.

- Greške aritmetičkih operacija i njihovo prostiranje Greške aritmetičkih operacija razmatrat ćemo u tri dijela. U prvom promatramo slučaj kada dva broja ulaze u račun zaokruženi a proračun se vrši na idealizovanom računaru koji ne unosi dodatne greške, zatim promatramo slučaj kada su brojevi koji ulaze u račun tačni a račun se vrši na realnom računaru koji zbog ograničene dužine riječi izaziva grešku u izlaznom rezultatu. Na kraju analiziramo kombinaciju ova dva slučaja, odnosno brojevi koji ulaze u račun su zaokruženi, i proračun se vrši na realnom računaru. Posmatrajmo slučaj kada dva broja ulaze u račun zaokruženi, a računamo na hipotetičkom računaru, koji ne unosi dodatne greške. Pa prema tome imamo: 𝐴𝐴 = 𝑎𝑎 + ∆𝑎𝑎

𝐵𝐵 = 𝑏𝑏 + ∆𝑏𝑏

- Sabiranje na idealnom računaru

𝐴𝐴 + 𝐵𝐵 = 𝑎𝑎 + ∆𝑎𝑎 + 𝑏𝑏 + ∆𝑏𝑏 = (𝑎𝑎 + 𝑏𝑏) + (∆𝑎𝑎 + ∆𝑏𝑏)

Pri čemu je (𝑎𝑎 + 𝑏𝑏) približna vrijednost, a ∆(𝑎𝑎 + 𝑏𝑏) = (∆𝑎𝑎 + ∆𝑏𝑏) greška sabiranja brojeva. Za praktična računanja mnogo je pogodnije nalaziti relativnu grešku odnosno: 𝛿𝛿𝑎𝑎+𝑏𝑏 =

∆𝑎𝑎 + ∆𝑏𝑏 ∆𝑎𝑎 + ∆𝑏𝑏 𝑎𝑎 ∆𝑎𝑎 𝑏𝑏 ∆𝑏𝑏 𝑎𝑎 𝑏𝑏 ≅ = + = 𝛿𝛿𝑎𝑎 + 𝛿𝛿 𝐴𝐴 + 𝐵𝐵 𝑎𝑎 + 𝑏𝑏 𝑎𝑎 + 𝑏𝑏 𝑎𝑎 𝑎𝑎 + 𝑏𝑏 𝑏𝑏 𝑎𝑎 + 𝑏𝑏 𝑎𝑎 + 𝑏𝑏 𝑏𝑏

Što možemo predstaviti i grafički:

δa

a a+b

Mihailo Šibonjić

δb

+

b a+b δa+b

-3-

Numeričke metode u elektrotehnici – Predavanja Ovaj graf možemo tumačiti na način da na izlazu dobijamo zbir čija je relativna greška jednaka linearnoj kombinaciji relativnih grešaka sabiraka sa težinskim koeficijentima:

- Oduzimanje na idealnom računaru

𝑎𝑎 𝑎𝑎 + 𝑏𝑏

i

𝑏𝑏 𝑎𝑎 + 𝑏𝑏

𝐴𝐴 − 𝐵𝐵 = (𝑎𝑎 + ∆𝑎𝑎 ) − (𝑏𝑏 − ∆𝑏𝑏) = (𝑎𝑎 − 𝑏𝑏) + (∆𝑎𝑎 − ∆𝑏𝑏)

Pri čemu je (𝑎𝑎 − 𝑏𝑏) približna vrijednost oduzimanja dva broja, a ∆𝑎𝑎 −𝑏𝑏 = (∆𝑎𝑎 − ∆𝑏𝑏) greška oduzimanja brojeva. Kao i kod sabiranja, za praktična računanja pogodnije je naći relativnu rešku odnosno: 𝛿𝛿𝑎𝑎−𝑏𝑏 =

∆𝑎𝑎 − ∆𝑏𝑏 ∆𝑎𝑎 − ∆𝑏𝑏 𝑎𝑎 ∆𝑎𝑎 𝑏𝑏 ∆𝑏𝑏 𝑎𝑎 𝑏𝑏 ≅ = − = 𝛿𝛿𝑎𝑎 − 𝛿𝛿 𝐴𝐴 − 𝐵𝐵 𝑎𝑎 − 𝑏𝑏 𝑎𝑎 − 𝑏𝑏 𝑎𝑎 𝑎𝑎 − 𝑏𝑏 𝑏𝑏 𝑎𝑎 − 𝑏𝑏 𝑎𝑎 + 𝑏𝑏 𝑏𝑏

Primjetimo da kritičan slučaj nastupa kada su brojevi 𝑎𝑎 i 𝑏𝑏 bliski (približno jednaki) jer tada su težinski koeficijenti veliki, te relativna greška može biti znatno veća od relativne greške brojeva 𝑎𝑎 i 𝑏𝑏. Na primjer posmatrajmo rješavanje kvadratne jednačine: 𝑎𝑎𝑥𝑥 2 + 𝑏𝑏𝑏𝑏 + 𝑐𝑐 = 0

Korijeni ove jednačine su:

𝑥𝑥1/2 =

−𝑏𝑏 ± √𝑏𝑏2 − 4𝑎𝑎𝑎𝑎 2𝑎𝑎

Za slučaj |𝑎𝑎𝑎𝑎| ≪ 𝑏𝑏2 moramo oduzimati bliske brojeve, te da bi to izbjegli koristeći se Viet-ovim pravilom, ili racionalisanjem razlomka nalazimo: 𝑥𝑥1 = −

2𝑐𝑐

𝑏𝑏 + √𝑏𝑏2 − 4𝑎𝑎𝑎𝑎

Čime smo izbjegli oduzimanje bliskih (približno jednakih brojeva). - Množenje na idealnom računaru

𝐴𝐴 ∙ 𝐵𝐵 = (𝑎𝑎 + ∆𝑎𝑎 ) ∙ (𝑏𝑏 + ∆𝑏𝑏) = (𝑎𝑎 ∙ 𝑏𝑏) + (𝑎𝑎 ∙ ∆𝑏𝑏 + 𝑏𝑏 ∙ ∆𝑎𝑎 + ∆𝑎𝑎 ∙ ∆𝑏𝑏)

Pri čemu je (𝑎𝑎 ∙ 𝑏𝑏) približna vrijednost množenja dva broja, a ∆𝑎𝑎 ∙𝑏𝑏 ≅ (𝑎𝑎 ∙ ∆𝑏𝑏 + 𝑏𝑏 ∙ ∆𝑎𝑎 ) greška množenja brojeva, pri čemu je proizvod (∆𝑎𝑎 ∙ ∆𝑏𝑏) zanemaren, obzirom da je u pitanju množenje dva veoma mala broja. Relativna greška množenja je: 𝛿𝛿𝑎𝑎∙𝑏𝑏 =

-4-

𝑎𝑎∆𝑏𝑏 + 𝑏𝑏∆𝑎𝑎 + ∆𝑎𝑎∆𝑏𝑏 𝑎𝑎∆𝑏𝑏 + 𝑏𝑏∆𝑎𝑎 ∆𝑏𝑏 ∆𝑎𝑎 ≅ = + = 𝛿𝛿𝑏𝑏 + 𝛿𝛿𝑎𝑎 𝐴𝐴 ∙ 𝐵𝐵 𝑎𝑎 ∙ 𝑏𝑏 𝑏𝑏 𝑎𝑎

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja

- Dijeljenje na idealnom računaru 𝐴𝐴 𝑎𝑎 + ∆𝑎𝑎 𝑎𝑎 + ∆𝑎𝑎 𝑏𝑏 − ∆𝑏𝑏 𝑎𝑎𝑎𝑎 − 𝑎𝑎∆𝑏𝑏 + 𝑏𝑏∆𝑎𝑎 − ∆𝑎𝑎∆𝑏𝑏 𝑎𝑎𝑎𝑎 + 𝑏𝑏∆𝑎𝑎 − 𝑎𝑎∆𝑏𝑏 = = ∙ = ≅ = 𝑏𝑏2 𝐵𝐵 𝑏𝑏 + ∆𝑏𝑏 𝑏𝑏 + ∆𝑏𝑏 𝑏𝑏 − ∆𝑏𝑏 𝑏𝑏2 − 𝑏𝑏∆𝑏𝑏 + 𝑏𝑏∆𝑏𝑏 + (∆𝑏𝑏)2 =

𝑎𝑎 𝑎𝑎 𝑎𝑎𝑎𝑎 𝑏𝑏∆𝑎𝑎 𝑎𝑎∆𝑏𝑏 𝑎𝑎 ∆𝑎𝑎 𝑎𝑎 ∆𝑏𝑏 𝑎𝑎 𝑎𝑎 ∆𝑎𝑎 ∆𝑏𝑏 + 2 − 2 = + − = + � − � = + (𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 ) 2 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑎𝑎 𝑏𝑏 𝑏𝑏 𝑏𝑏 𝑏𝑏

Pri čemu je 𝑎𝑎/𝑏𝑏 približna vrijednost a ∆𝑎𝑎 /𝑏𝑏 = 𝑎𝑎(𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 )/𝑏𝑏 greška dijeljenja dva broja. Kao i u predhodnim slučajevima, od značaja nam je da odredimo relativnu grešku dijeljenja dva broja: 𝛿𝛿𝑎𝑎/𝑏𝑏

𝑎𝑎 𝑎𝑎 (𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 ) (𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 ) 𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 ∆𝑎𝑎 /𝑏𝑏 ∆𝑎𝑎/𝑏𝑏 𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 + 𝛿𝛿𝑎𝑎 𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑎𝑎 𝛿𝛿𝑏𝑏 𝑏𝑏 = ≅ = = 𝑏𝑏 = = ≅ ∆𝑎𝑎 𝐴𝐴 𝑎𝑎 + ∆𝑎𝑎 1 + 𝛿𝛿𝑎𝑎 𝑎𝑎 1 + 𝛿𝛿𝑎𝑎 1 + 𝛿𝛿𝑎𝑎 𝑎𝑎 �1 + � 𝑎𝑎 𝐵𝐵 𝑏𝑏 + ∆𝑏𝑏 1 + 𝛿𝛿𝑏𝑏 𝑏𝑏 1 + 𝛿𝛿𝑏𝑏 ∆𝑏𝑏 𝑏𝑏 �1 + 𝑏𝑏 � ≅

𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 1 − 𝛿𝛿𝑎𝑎 𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 − 𝛿𝛿𝑎𝑎 𝛿𝛿𝑏𝑏 + 𝛿𝛿𝑏𝑏 𝛿𝛿𝑏𝑏 = = ≅ 𝛿𝛿𝑎𝑎 − 𝛿𝛿𝑏𝑏 1 + 𝛿𝛿𝑎𝑎 1 + 𝛿𝛿𝑎𝑎 1 − 𝛿𝛿𝑎𝑎 1 − 𝛿𝛿𝑏𝑏 + 𝛿𝛿𝑏𝑏 − 𝛿𝛿𝑏𝑏 𝛿𝛿𝑏𝑏

Zaključujemo da je greška količnika približnih brojeva jednaka razlici relativnih grešaka brojnika i nazivnika, slično kao što je kod proizvoda zavisila od zbira relativnih grešaka ta dva broja. Problem pri dijeljenju nastaje za slučaj kada imamo |𝑏𝑏| ≪ 𝑎𝑎. - Mašinske greške

U ovom slučaju imamo da brojevi koji ulaze u račun su po pretpostavci tačni brojevi, ali da se proračun vrši na realnom računaru koji nakon izvršenih operacija unosi grešku u rezultat, te se ovakve greške i nazivaju mašinskim greškama. Obzirom da računar zbog ograničene dužine riječi mora izvršiti zaokruživanje ili odsijecanje izlaznog rezultata, operacije koje računar obavlja nazivaju se pseudo-aritmetičke operacije. Mašinske greške koje prate ove operacije nazivaju se neodstranjivim odnosno inherentnim greškama. Pretpostavimo da su 𝑥𝑥 i 𝑦𝑦 tačni brojevi i razmatrajmo samo greške nastale usljed zaokruživanja. Pseudo aritmetičke operacije se definišu na osnovu jednakosti: (𝑥𝑥 ⊕ 𝑦𝑦) = (𝑥𝑥 + 𝑦𝑦)(1 + 𝜃𝜃)

(𝑥𝑥 ⊖ 𝑦𝑦) = (𝑥𝑥 − 𝑦𝑦)(1 + 𝜃𝜃)

(𝑥𝑥 ⊗ 𝑦𝑦) = (𝑥𝑥 ∙ 𝑦𝑦)(1 + 𝜃𝜃) (𝑥𝑥 ⊘ 𝑦𝑦) = (𝑥𝑥 ∶ 𝑦𝑦)(1 + 𝜃𝜃)

U ovim jednakostima 𝜃𝜃 je broj čiji je modul mnogo manji od jedan, i zavisi od tačnosti sa kojom računar radi, te predstavlja relativnu mašinsku grešku koja nastaje usljed zaokruživanja ili odsijecanja rezultata pri radu na realnom računaru.

Mihailo Šibonjić

-5-

Numeričke metode u elektrotehnici – Predavanja Tako na primjer, za mašinsko sabiranje dva broja imamo: (𝑥𝑥 ⊕ 𝑦𝑦) = (𝑥𝑥 + 𝑦𝑦)(1 + 𝜃𝜃)

(𝑥𝑥 ⊕ 𝑦𝑦) = (𝑥𝑥 + 𝑦𝑦) + 𝜃𝜃(𝑥𝑥 + 𝑦𝑦) ⇒ 𝜃𝜃 =

(𝑥𝑥 ⊕ 𝑦𝑦) − (𝑥𝑥 + 𝑦𝑦) 𝑥𝑥 + 𝑦𝑦

Čime smo dobili relativnu mašinsku grešku koju računar učini prilikom sabiranja, usljed zaokruživanja i odsijecanja. Maksimalna apsolutna relativna greška kod zaokruživanja zavisi od broja značajnih cifara sa kojima računar radi, pa tako ako imamo slučaj od 𝑛𝑛 značajnih cifara tada je: |𝜃𝜃| ≤ |𝜃𝜃|max =

1 ∙ 10−𝑛𝑛+1 2

Važno je napomenuti da za mašinski zbir ne vrijedi asocijativni zakon, odnosno sam zbir zavisi od redoslijeda sabiranja. Ako sabiremo pozitivne brojeve 𝑥𝑥1 , 𝑥𝑥2 i 𝑥𝑥3 računar na izlazu daje sljedeći rezultat: (𝑥𝑥1 ⊕ 𝑥𝑥2 ) ⊕ 𝑥𝑥3 = [(𝑥𝑥1 + 𝑥𝑥2 )(1 + 𝜃𝜃1 ) + 𝑥𝑥3 ](1 + 𝜃𝜃2 )

(𝑥𝑥1 ⊕ 𝑥𝑥2 ) ⊕ 𝑥𝑥3 = (𝑥𝑥1 + 𝑥𝑥2 + (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 + 𝑥𝑥3 )(1 + 𝜃𝜃2 )

(𝑥𝑥1 ⊕ 𝑥𝑥2 ) ⊕ 𝑥𝑥3 = (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 ) + (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 + (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 )𝜃𝜃2 + (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 𝜃𝜃2 (𝑥𝑥1 ⊕ 𝑥𝑥2 ) ⊕ 𝑥𝑥3 − (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 ) = (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 + (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 )𝜃𝜃2 + (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 𝜃𝜃2

Poslijednji sabirak na desnoj strani jednakosti, odnosno (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 𝜃𝜃2 možemo zanemariti. (𝑥𝑥1 ⊕ 𝑥𝑥2 ) ⊕ 𝑥𝑥3 − (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 ) = (𝑥𝑥1 + 𝑥𝑥2 )𝜃𝜃1 + (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 )𝜃𝜃2

Odnosno sada možemo pisati:

|(𝑥𝑥1 ⊕ 𝑥𝑥2 ) ⊕ 𝑥𝑥3 − (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 )| ≤ (𝑥𝑥1 + 𝑥𝑥2 )|𝜃𝜃1 | + (𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 )|𝜃𝜃2 | ≤ (2𝑥𝑥1 + 2𝑥𝑥2 + 𝑥𝑥3 )|𝜃𝜃|max

Primjećujemo da zaista greška zavisi od redoslijeda sabiraka. Greška je veća ako sabiremo prvo veće brojeve, pa prema tome zaključujemo da treba prvo sabirati manje brojeve. Istaknimo još i to, da kod mašinskog množenja brojeva imamo: (𝑥𝑥1 ⊗ 𝑥𝑥2 ) ⊗ 𝑥𝑥3 = [(𝑥𝑥1 ∙ 𝑥𝑥2 )(1 + 𝜃𝜃1 ) ∙ 𝑥𝑥3 ](1 + 𝜃𝜃2 )

(𝑥𝑥1 ⊗ 𝑥𝑥2 ) ⊗ 𝑥𝑥3 = 𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 (1 + 𝜃𝜃1 )(1 + 𝜃𝜃2 )

Kao što vidimo, množenje je skoro pa asocijativno. Promjena redoslijeda množenja utiče na parametre 𝜃𝜃1 i 𝜃𝜃2 i relativna greška mijenja se od slučaja do slučaja. Pa prema tome zaključujemo da množenje više brojeva ne podliježe nekim posebnim pravilima.

-6-

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja

- Kombinovane greške Ovdje posmatramo realnu situaciju, odnosno da su ulazni brojevi približni a i operacije se izvode na računaru kod kojeg se zbog ograničeničenog broja cifara javljaju mašinske greške. Razmatrajmo slučaj sabiranja, jer potpuno analogna pravila vrijede i za ostale operacije.

𝑋𝑋1 = 𝑥𝑥1 + ∆𝑥𝑥1

𝑋𝑋2 = 𝑥𝑥2 + ∆𝑥𝑥2 Razlika između tačnog zbira i mašinskog zbira: 𝑋𝑋1 + 𝑋𝑋2 − (𝑥𝑥1 ⊕ 𝑥𝑥2 ) = 𝑋𝑋1 + 𝑋𝑋2 − (𝑋𝑋1 − ∆𝑥𝑥1 + 𝑋𝑋2 − ∆𝑥𝑥2 )(1 + 𝜃𝜃) =

= 𝑋𝑋1 + 𝑋𝑋2 − 𝑋𝑋1 − 𝑋𝑋2 + ∆𝑥𝑥1 + ∆𝑥𝑥2 − �𝑋𝑋1 + 𝑋𝑋2 − (∆𝑥𝑥1 + ∆𝑥𝑥2 )�𝜃𝜃 =

= (∆𝑥𝑥1 + ∆𝑥𝑥2 ) − (𝑋𝑋1 + 𝑋𝑋2 )𝜃𝜃 + (∆𝑥𝑥1 + ∆𝑥𝑥2 )𝜃𝜃

Kao što vidimo ukupna greška sastoji se iz tri dijela, i to prvi dio (∆𝑥𝑥1 + ∆𝑥𝑥2 ) je greška koja je nastala usljed zaokruživanja ulaznih brojeva (ulazni brojevi su približno tačni), drugi dio −(𝑋𝑋1 + 𝑋𝑋2 )𝜃𝜃 predstavlja mašinsku grešku i naravno treći dio (∆𝑥𝑥1 + ∆𝑥𝑥2 )𝜃𝜃 je član koji spreže (koji je kombinacija) predhodne dvije greške. Vidimo da ne možemo separirati grešku zbog člana koji predstavlja kombinaciju grešaka. Međutim obzirom da su ∆𝑥𝑥1 , ∆𝑥𝑥2 i 𝜃𝜃 mali brojevi to znači da član koji predstavlja kombinaciju grešaka može se zanemariti jer (∆𝑥𝑥1 + ∆𝑥𝑥2 )𝜃𝜃 → 0, pa onda kažemo da je ukupna greška jednaka zbiru grešaka ulaznih brojeva i mašinske greške.

Mihailo Šibonjić

-7-

Numeričke metode u elektrotehnici – Predavanja

METODE ZA RJEŠAVANJE NELINEARNIH JEDNAČINA Nelinearne jednačine se dijele na: -

Transcendentne jednačine Algebarske jednačine • Racionalne algebarske jednačine • Iracionalne algebarske jednačine

Algebarske jednačine su one jednačine za čije rješenje su potrebne operacije sabiranja, oduzimanja, množenja, dijeljenja, stepenovanja (i korijenovanja) pri čemu za slučaj da imamo stepenovanje sa cijelim brojem u pitanju su racionalne algebarske jednačine, a u slučaju da je stepen racionalan (razlomak) jednačina spada u iracionalnu algebarsku jednačinu. Jednačine u kojima egzistiraju trigonometrijske, logaritamske ili eksponencijalne funkcije nazivaju se transcendentnim jednačinama. Prvi dio problema kod rješavanja nelinearnih jednačina predstavlja lokalizacija korijena jednačine, odnosno svodi se na nalaženje intervala gdje se nalazi izolovani korijen.

Prilikom zadavanja problema dobijamo i tačnost 𝜀𝜀 kojom je potrebno riješiti određeni problem: |𝑥𝑥 − 𝑥𝑥 ∗ | ≤ 𝜀𝜀

Problem uvijek definišemo na način da nalazimo realna rješenja osim u slučaju polinoma, jer kod polinoma možemo nalaziti i parove konjugovano kompleksnih rješenja. Tehnika za izolovanje korijena 𝑓𝑓(𝑥𝑥) = 0 svodi se na grafičko skiciranje. Odnosno ako 𝑓𝑓 (𝑥𝑥) možemo predstaviti (napisati) kao 𝜑𝜑(𝑥𝑥) − 𝜓𝜓(𝑥𝑥) = 0 odnosno 𝜑𝜑(𝑥𝑥 ∗ ) = 𝜓𝜓(𝑥𝑥 ∗ ) i skicirati: φ ψ x1*

x2*

x3*

Onda možemo približno lokalizirati korijen. Odnosno dobijamo interval [𝑎𝑎, 𝑏𝑏] u kome se korijen sigurno nalazi.

-8-

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja Ako funkcija ima prekid onda ne možemo biti sigurni da postoji korijen, a ako je funkcija neprekidna i 𝑓𝑓(𝑎𝑎)𝑓𝑓 (𝑏𝑏) < 0

onda smo sigurni da unutar intervala [𝑎𝑎, 𝑏𝑏] ima barem jedan korijen, dok za slučaj da je funkcija neprekidna i monotona onda u intervalu [𝑎𝑎, 𝑏𝑏] ima tačno jedan korijen.

Za procjenu učinjene greške koristimo se A'priornim i A'posteriornim metodom. Pod A'posteriornim metodom smatramo način kojim procjenjujemo učinjenu grešku na bazi vrijednosti predhodno dobivenih proračunima, dok kod A'priornog metoda procjenjujemo grešku bez vrijednosti i on ne zavisi od metoda. Da bi A'priorno odredili grešku najčešće moramo poznavati privi izvod, odnosno:

f(x)

x

α

𝑓𝑓 (𝑥𝑥) |𝑓𝑓 ′ (𝑥𝑥)| = |tan 𝛼𝛼| = � � 𝑥𝑥 − 𝑥𝑥 ∗

x-x*



𝑓𝑓 (𝑥𝑥) |𝑥𝑥 − 𝑥𝑥 ∗ | = � ′ � 𝑓𝑓 (𝑥𝑥)

Primjetimo da je bolje, odnosno da je greška manja što je 𝑓𝑓 (𝑥𝑥) veće ili što je 𝑓𝑓 ′ (𝑥𝑥) manje (pod većim uglom sječe 𝑥𝑥-osu). Da bi procjenili vrijednost greške moramo poznavati granicu izvoda, odnosno ako bi znali Onda bi mogli pisati:

|𝑓𝑓 ′ (𝑥𝑥)| ≥ 𝑚𝑚

𝑓𝑓 (𝑥𝑥) |𝑥𝑥 − 𝑥𝑥 ∗ | ≤ � � 𝑚𝑚

x* c x

𝑓𝑓 (𝑥𝑥) − 𝑓𝑓 (𝑥𝑥 ∗ ) = 𝑓𝑓 ′ (𝑐𝑐)(𝑥𝑥 − 𝑥𝑥 ∗ )



𝑓𝑓 (𝑥𝑥) |𝑥𝑥 − 𝑥𝑥 ∗ | = � ′ � 𝑓𝑓 (𝑐𝑐)



𝑓𝑓(𝑥𝑥) = 𝑓𝑓 ′ (𝑐𝑐)(𝑥𝑥 − 𝑥𝑥 ∗ )

Kako nam nije poznata vrijednost 𝑐𝑐 uzmemo 𝑚𝑚 za koje sigurno znamo da je 𝑚𝑚 < 𝑓𝑓 ′ (𝑐𝑐) pa tako možemo da znamo granicu greške, odnosno izraz 1°.

Mihailo Šibonjić

-9-

Numeričke metode u elektrotehnici – Predavanja

- Red konvergencije Metode za rješavanje izolovanih korijena jednačine 𝑓𝑓(𝑥𝑥) = 0 mogu se podijeliti na direktne i iterativne, s tim da direktni metodi se koriste za rješavanje samo specijalnih tipova jednačina, kao što su na primjer algebarske jednačine (do četvrtog stepena) i neke klase tigonometrijskih jednačina. Kod iterativnih metoda se polazi od jednog ili više početnih članova niza koji su bliski korijenu jednačine, na osnovu kojih se formira niz 𝑥𝑥0 , 𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑘𝑘 , 𝑥𝑥𝑘𝑘+1 , … čija je granična vrijednost upravo jednaka korijenu polazne jednačine. Ako je:

|𝑒𝑒𝑘𝑘+1 | = 𝛼𝛼 ≠ 0 k→+∞ |𝑒𝑒𝑘𝑘 |𝑞𝑞 lim

Tada se 𝑞𝑞 naziva red konvergencije, pri čemu razlikujemo: -

𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞

= 1 metod ima linearnu konvergenciju i kažemo da imamo linearni iterativni postupak > 1 metod ima super linearnu konvergenciju = 2 metod ima kvadratnu konvergenciju = 3 metod ima kubnu konvergenicju

Uslov za konvergenciju iterativnih metoda jeste da je 𝑞𝑞 ≥ 1, međutim za 𝑞𝑞 = 1 mora biti 𝛼𝛼 < 1 da bi modul greške u nekom iterativnom koraku bio manji od modula predhodne greške. Metodi sa linearnom konvergencijom su pouzdani ali spori metodi, pa tako ukupno vrijeme potrebno da dodjemo do rezultata određene tačnosti možemo dobiti kao: 𝑇𝑇 = 𝑘𝑘 ∙ 𝑡𝑡𝑘𝑘

Pri čemu 𝑘𝑘 predstavlja broj koraka potrebnih da se dođe do rješenja, a 𝑡𝑡𝑘𝑘 vrijeme izvođenja 𝑘𝑘-tog koraka. Najbolji metod je onaj koji uz određenu tačnost ima i kraće vrijeme izvođenja. Što je metod višeg reda vrijeme izvođenja ne raste linearno.

- Metod polovljenja intervala Posmatrajmo skalarnu jednačinu 𝑓𝑓(𝑥𝑥) = 0 koja ima izolovan korijen na intervalu (𝑎𝑎, 𝑏𝑏). y

f(x) a

- 10 -

c

b

x

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja Kako je za ovaj metod potrebno da je funkcija 𝑓𝑓 (𝑥𝑥) neprekidna na intervalu (𝑎𝑎, 𝑏𝑏) tada ako vrijedi nejednakosti 𝑓𝑓(𝑎𝑎)𝑓𝑓 (𝑏𝑏) < 0 znamo da postoji izolovan korijen unutar itnervala (𝑎𝑎, 𝑏𝑏). Odredimo polovište intervala, odnosno dobijamo: 𝑐𝑐 =

𝑎𝑎 + 𝑏𝑏 2

Sada provjerimo da li je zadovoljena nejednakost:

𝑓𝑓(𝑐𝑐)𝑓𝑓 (𝑏𝑏) < 0

Ako jeste, onda dobijamo novi interval u kome se nalazi korijen jednačine, odnosno 𝑎𝑎 zamjenjujemo sa 𝑎𝑎𝑛𝑛 = 𝑐𝑐 te na taj način dobijamo interval (𝑎𝑎𝑛𝑛 , 𝑏𝑏). Ako nije zadovoljena nejednakost tada se korijen nalazi u drugoj polovini intervala, odnosno 𝑏𝑏 mjenjamo sa 𝑏𝑏𝑛𝑛 = 𝑐𝑐 i dobijamo novi interval (𝑎𝑎, 𝑏𝑏𝑛𝑛 ) u kome se nalazi korijen jednačine. Zatim se novi interval polovi i ponovo ispituje položaj korijena (ponavljamo proces). Na ovaj način se početna veličina intervala (𝑏𝑏 − 𝑎𝑎 ) poslije 𝑛𝑛 iteracija dijeli sa 2𝑛𝑛 . Ako je 𝜀𝜀 granica apsolutne greške, odnosno određena tačnost tada iz nejednakosti: 𝑏𝑏 − 𝑎𝑎 ≤ 𝜀𝜀 2𝑛𝑛

možemo odrediti broj iteracija (koraka) koje je potrebno obaviti, odnosno vrijedi: 𝑏𝑏 − 𝑎𝑎 log � 𝜀𝜀 � 𝑛𝑛 ≥ log 2

odnosno

𝑛𝑛 ≥ log 2 �

𝑏𝑏 − 𝑎𝑎 � 𝜀𝜀

Ako znamo koliko će nam biti potrebno koraka, odnosno iteracija možemo odrediti i vrijeme potrebno za primjenu metoda. Vrijeme uveliko ovisi o „kompleksnosti“ same funkcije jer je u svakom koraku (iteraciji) potrebno proračunati vrijednost funkcije u tački polovišta intervala.

Da bi odredili red konvergencije posmatrajmo: 𝑒𝑒𝑘𝑘 = |𝑏𝑏𝑘𝑘 − 𝑎𝑎𝑘𝑘 |

𝑒𝑒𝑘𝑘+1 = |𝑏𝑏𝑘𝑘+1 − 𝑎𝑎𝑘𝑘+1 | 𝑒𝑒𝑘𝑘+1 =

1 𝑒𝑒 2 𝑘𝑘

𝑒𝑒𝑘𝑘+1 1 = 𝑘𝑘→∞ 𝑒𝑒𝑘𝑘 2 lim

Kao što vidimo konvergencija ovog metoda da je linearna jer je 𝑞𝑞 = 1 a 𝛼𝛼 < 1. Metod polovljenja intervala je jednostavan postupak kod koga je konvergencija relativno spora.

Mihailo Šibonjić

- 11 -

Numeričke metode u elektrotehnici – Predavanja

- Metod sekante (regula falsi) Neka je funkcija neprekidna na intervalu (𝑎𝑎, 𝑏𝑏) i neka ima izolovan korijen na tom intervalu. y

a

f(c)

c'

c

t

f(b) b

x

f(a)

Neka pravac 𝑡𝑡 aproksimira funkciju 𝑓𝑓(𝑥𝑥) na intervalu (𝑎𝑎, 𝑏𝑏) . Pravac 𝑡𝑡 možemo dobiti na osnovu jednačine prave kroz dvije tačke, i to tačke 𝑀𝑀1 �𝑎𝑎, 𝑓𝑓 (𝑎𝑎 )� i tačke 𝑀𝑀2 �𝑏𝑏, 𝑓𝑓 (𝑏𝑏)�. Odnosno vrijedi: (𝑦𝑦 − 𝑦𝑦1 ) =

𝑦𝑦 − 𝑓𝑓 (𝑎𝑎 ) = 𝑦𝑦 = 𝑦𝑦 = 𝑦𝑦 =

𝑦𝑦2 − 𝑦𝑦1 (𝑥𝑥 − 𝑥𝑥1 ) 𝑥𝑥2 − 𝑥𝑥1

𝑓𝑓 (𝑏𝑏) − 𝑓𝑓 (𝑎𝑎) (𝑥𝑥 − 𝑎𝑎 ) 𝑏𝑏 − 𝑎𝑎

𝑓𝑓 (𝑏𝑏) − 𝑓𝑓 (𝑎𝑎 ) 𝑎𝑎𝑎𝑎(𝑎𝑎 ) − 𝑎𝑎𝑎𝑎(𝑏𝑏) 𝑥𝑥 + + 𝑓𝑓 (𝑎𝑎 ) 𝑏𝑏 − 𝑎𝑎 𝑏𝑏 − 𝑎𝑎

𝑓𝑓 (𝑏𝑏) − 𝑓𝑓 (𝑎𝑎 ) 𝑎𝑎𝑎𝑎(𝑎𝑎 ) − 𝑎𝑎𝑎𝑎(𝑏𝑏) + 𝑏𝑏𝑏𝑏 (𝑎𝑎 ) − 𝑎𝑎𝑎𝑎(𝑎𝑎) 𝑥𝑥 + 𝑏𝑏 − 𝑎𝑎 𝑏𝑏 − 𝑎𝑎

𝑓𝑓 (𝑏𝑏) − 𝑓𝑓 (𝑎𝑎 ) 𝑏𝑏𝑓𝑓(𝑎𝑎) − 𝑎𝑎𝑎𝑎(𝑏𝑏) 𝑥𝑥 + 𝑏𝑏 − 𝑎𝑎 𝑏𝑏 − 𝑎𝑎

Odnosno da bi dobili tačku 𝑐𝑐 potrebno je da vrijedi 𝑦𝑦 = 0 pa prema tome na osnovu gornjeg izraza dobijamo: 𝑓𝑓 (𝑏𝑏) − 𝑓𝑓(𝑎𝑎 ) 𝑎𝑎𝑎𝑎(𝑏𝑏) − 𝑏𝑏𝑏𝑏(𝑎𝑎 ) 𝑥𝑥 = 𝑏𝑏 − 𝑎𝑎 𝑏𝑏 − 𝑎𝑎

𝑎𝑎𝑎𝑎(𝑏𝑏) − 𝑏𝑏𝑏𝑏(𝑎𝑎) 𝑎𝑎𝑎𝑎(𝑏𝑏) − 𝑏𝑏𝑏𝑏(𝑎𝑎 ) 𝑏𝑏 − 𝑎𝑎 𝑥𝑥 = = 𝑓𝑓(𝑏𝑏) − 𝑓𝑓(𝑎𝑎 ) 𝑓𝑓 (𝑏𝑏) − 𝑓𝑓 (𝑎𝑎 ) 𝑏𝑏 − 𝑎𝑎

𝑐𝑐 =

𝑎𝑎𝑎𝑎(𝑏𝑏) − 𝑏𝑏𝑏𝑏(𝑎𝑎 ) 𝑓𝑓 (𝑏𝑏) − 𝑓𝑓 (𝑎𝑎 )

Dobili smo tačku 𝑐𝑐 gdje pravac 𝑡𝑡 presjeca 𝑥𝑥 osu.

- 12 -

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja U odnosu na znak funkcije u tački 𝑐𝑐, ovisi da li se korijen nalazi lijevo ili desno od tačke 𝑐𝑐. Naravno ako je vrijednost funkcije u tački 𝑐𝑐 jednak nuli, tada je tačka 𝑐𝑐 traženi korijen jednačine. Ako je 𝑓𝑓 (𝑎𝑎 )𝑓𝑓(𝑐𝑐) < 0 tada se vrijedi 𝑏𝑏𝑛𝑛 = 𝑐𝑐 i dobijamo novi interval (𝑎𝑎, 𝑏𝑏𝑛𝑛 ) a u suprotnom slučaju će vrijediti 𝑎𝑎𝑛𝑛 = 𝑐𝑐 te će novi interval biti (𝑎𝑎𝑛𝑛 , 𝑏𝑏). U sljedećem koraku ponavljamo postupak, odnosno tražimo novu tačku 𝑐𝑐 na način da postavimo sekantu, nađemo korijen i tako dalje, pri čemu u svakoj narednoj iteraciji tačka prilazi traženom korijenu funkcije. Metod sekante ima linearnu konvergenciju i uobičajeno brže konvergira od metoda polovljenja intervala, mada to ne mora biti slučaj.

- Metod sječice Neka je data nelinearna neprekidna funkcija 𝑓𝑓 (𝑥𝑥) koja na intervalu (𝑎𝑎, 𝑏𝑏) ima korijen. Funkcija 𝑓𝑓(𝑥𝑥) se lokalno aproksimira pravcem 𝑡𝑡, koji predstavlja sječicu funkcije 𝑓𝑓 (𝑥𝑥) a njen korijen se koristi kao poboljšana aproksimacija korijena funkcije 𝑓𝑓(𝑥𝑥). S obzirom da je sječica prava linija koja prolazi kroz dvije tačke krive 𝑓𝑓 (𝑥𝑥) za iniciranje metoda neophodne su prve dvije aproksimacije, pri čemu korijen jednačine 𝑓𝑓(𝑥𝑥) = 0 može a i ne mora da se nalazi između njih. y

f(b1)

a

f(b4)

f(b2) f(b3)

b4 b3 b2 b1=b

x

Uslov za primjenu metoda sječice je da vrijedi ili 𝑓𝑓 (𝑎𝑎 )𝑓𝑓 ′′ (𝑎𝑎 ) > 0 ili 𝑓𝑓(𝑏𝑏)𝑓𝑓 ′′ (𝑏𝑏) > 0. Ako imamo prve dvije aproksimacije onda možemo da konstruišemo pravu kroz kačke �𝑏𝑏𝑘𝑘 , 𝑓𝑓(𝑏𝑏𝑘𝑘 )� i �𝑏𝑏𝑘𝑘+1 , 𝑓𝑓 (𝑏𝑏𝑘𝑘+1 )� odnosno: (𝑦𝑦 − 𝑦𝑦1 ) =

�𝑦𝑦 − 𝑓𝑓(𝑏𝑏𝑘𝑘 )� = 𝑦𝑦 = 𝑦𝑦 =

Mihailo Šibonjić

𝑦𝑦2 − 𝑦𝑦1 (𝑥𝑥 − 𝑥𝑥1 ) 𝑥𝑥2 − 𝑥𝑥1

𝑓𝑓 (𝑏𝑏𝑘𝑘+1 ) − 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) (𝑥𝑥 − 𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘

𝑓𝑓 (𝑏𝑏𝑘𝑘+1 ) − 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘 ) − 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) + 𝑏𝑏𝑘𝑘+1 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) − 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘 ) 𝑥𝑥 + 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘 𝑓𝑓 (𝑏𝑏𝑘𝑘+1 ) − 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘+1 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) − 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) 𝑥𝑥 + 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘

- 13 -

Numeričke metode u elektrotehnici – Predavanja

Sada kada smo pravcem lokalno aproksimirali funkciju 𝑓𝑓 (𝑥𝑥) potrebno je da nađemo korijen pomoćne funkcije (pravca). Presjek dobijamo kada 𝑦𝑦 izjednačimo sa nulom, te na taj način možemo dobiti novo 𝑏𝑏: 𝑓𝑓 (𝑏𝑏𝑘𝑘+1 ) − 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) − 𝑏𝑏𝑘𝑘+1 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) 𝑥𝑥 = 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘

𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) − 𝑏𝑏𝑘𝑘+1 𝑓𝑓(𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) − 𝑏𝑏𝑘𝑘+1 𝑓𝑓(𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘 𝑥𝑥 = = ) ( ) ( 𝑓𝑓 𝑏𝑏𝑘𝑘+1 − 𝑓𝑓 𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) − 𝑓𝑓(𝑏𝑏𝑘𝑘 ) 𝑏𝑏𝑘𝑘+1 − 𝑏𝑏𝑘𝑘

𝑏𝑏𝑘𝑘+2 =

𝑏𝑏𝑘𝑘 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) − 𝑏𝑏𝑘𝑘+1 𝑓𝑓 (𝑏𝑏𝑘𝑘 ) 𝑓𝑓(𝑏𝑏𝑘𝑘+1 ) − 𝑓𝑓(𝑏𝑏𝑘𝑘 )

Metod sječice ima super linearnu konvergenciju jer je 𝑞𝑞 ≈ 1.618 a 𝛼𝛼 zavisi od 𝑓𝑓′′.

- Kombinovani metod

Pod kombinovanim metodom, podrazumjevamo primjenu metoda sekante i metoda sječice, odnosno metoda tangente i metoda sekante. Pribjegavamo metodu sječice kada je primjena metoda tangente komplikovana, odnosno kada je teško odrediti prvi izvod funkcije (zbog kompleksnosti funkcije).

- Metod iteracije Rješavamo jednačinu 𝑓𝑓(𝑥𝑥) = 0, pri čemu je funkcija 𝑓𝑓 neprekidna i diferencijabiln na segmentu [𝑎𝑎, 𝑏𝑏] u kome tražimo rješenje jednačine, to jest korijen jednačine, i neka je dato neko početno rješenje 𝑥𝑥0 koje pripada segmentu [𝑎𝑎, 𝑏𝑏]. Polaznu jednakost možemo prikazati na bezbroj načina u ekvivalentnom obliku, pa tako ako je zapišemo kao 𝑥𝑥 = 𝜑𝜑(𝑥𝑥) što predstavlja ekvivalentnu jednačinu polaznog problema tada na osnovu jednakosti te jednakosti možemo formirati iterativni postupak: 𝑥𝑥𝑘𝑘+1 = 𝜑𝜑(𝑥𝑥𝑘𝑘 )

Na osnovu kojeg dobijamo iterativni niz:

(𝑘𝑘 = 0,1, … )

𝑥𝑥0 , 𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑘𝑘 , 𝑥𝑥𝑘𝑘+1 , …

Ako ovaj niz konvergira, tada vrijedi da je:

lim (𝑥𝑥𝑘𝑘 ) = 𝑥𝑥 ∗

k→∞

Pri čemu je 𝑥𝑥 ∗ korijen jednačine 𝑓𝑓 (𝑥𝑥) = 0, odnosno polaznog problema.

- 14 -

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja Odnosno dobijeni iterativni niz: 𝑥𝑥1 = 𝜑𝜑(𝑥𝑥0 ) 𝑥𝑥2 = 𝜑𝜑(𝑥𝑥1 ) 𝑥𝑥3 = 𝜑𝜑(𝑥𝑥2 ) ⋮ 𝑥𝑥𝑘𝑘 +1 = 𝜑𝜑(𝑥𝑥𝑘𝑘 ) ⋮ 𝑥𝑥 ∗ = 𝜑𝜑(𝑥𝑥 ∗ )

Možemo predstaviti i grafički: y

f(x)

φ(x1)

f(x)

y

φ(x)

φ(x) x1 x3

x*

x4 x2

x0

x

x*

x2

Greška učinjena u svakom od koraka (iteracijia) se može izraziti kao:

x1

x0

x

𝑒𝑒1 = 𝑥𝑥 ∗ − 𝑥𝑥1 𝑒𝑒2 = 𝑥𝑥 ∗ − 𝑥𝑥2 𝑒𝑒3 = 𝑥𝑥 ∗ − 𝑥𝑥3 ⋮ 𝑒𝑒𝑘𝑘+1 = 𝑥𝑥 ∗ − 𝑥𝑥𝑘𝑘

Odnosno vrijedi (na osnovu Langrange-ovog teorema o konačnom priraštaju): 𝑒𝑒𝑘𝑘+1 = 𝜑𝜑(𝑥𝑥 ∗ ) − 𝜑𝜑(𝑥𝑥𝑘𝑘 ) =

= 𝜑𝜑′ (𝑐𝑐)(𝑥𝑥 ∗ − 𝑥𝑥𝑘𝑘 ) = = 𝜑𝜑′ (𝑐𝑐)𝑒𝑒𝑘𝑘

Pri čemu se tačka 𝑐𝑐 nalazi između 𝑥𝑥 ∗ i 𝑥𝑥𝑘𝑘 pa prema tome zaključujemo da za uspješnu primjenu metoda, potrebno je 𝑓𝑓 (𝑥𝑥) = 0 zapisati kao 𝑥𝑥 = 𝜑𝜑(𝑥𝑥) tako da vrijedi |𝜑𝜑(𝑥𝑥)| < 1 na segmentu [𝑎𝑎, 𝑏𝑏] u kome se nalazi korijen 𝑥𝑥 ∗ (kao i početna tačka 𝑥𝑥0 ) .

Mihailo Šibonjić

- 15 -

Numeričke metode u elektrotehnici – Predavanja Što zaključujemo na osnovu činjenice da greška metoda (za slučaj konvergentnog niza) teži ka nuli: lim 𝑒𝑒𝑘𝑘 = 0

𝑘𝑘→∞

Odnosno:

|𝑒𝑒𝑘𝑘+1 | = |𝜑𝜑′ (𝑐𝑐)| |𝑒𝑒𝑘𝑘 |

Da bi metod bio stabilan potrebno je da greška u narednom koraku bude manja od greške u trenutnom koraku, pa prema tome odatle slijedi da mora biti ispunjen uslov da je |𝜑𝜑′(𝑐𝑐)| < 1. Ako niz konvergira, rješenje je uvjek stabilno. Iterativni metodi imaju osobinu da greške u pojedinim koracima ne utiču na krajnji rezultat (za slučaj konvergentnog niza), odnosno nemamo gomilanja greške iz prethodnih koraka. Metod ima linearnu konvergenciju, i ima svojstvo da je efikasniji što je |𝜑𝜑′ (𝑐𝑐)| bliže nuli, to jest metod će brže iskonvergirati, a ako je |𝜑𝜑′ (𝑐𝑐)| bliže jedinici metod konvergira ali veoma sporo.

Ponekad se koriste postupci za ubrzanje metoda sa linearnom konvergencijom, koji se mogu primjeniti u svakom koraku, ali metod i dalje ostaje sa linearnom konvergencijom.

- Metod tangente (Newton-Raphson-ov metod) Rješavamo jednačinu 𝑓𝑓(𝑥𝑥) = 0, pri čemu je funkcija 𝑓𝑓 neprekidna i diferencijabilna (dva puta) na segmentu [𝑎𝑎, 𝑏𝑏] u kome se nalazi korijen jednačine. Neka je dato neko početno rješenje polazne jednačine, 𝑥𝑥0 koje pripada segmentu [𝑎𝑎, 𝑏𝑏], tada u tački �𝑥𝑥0 , 𝑓𝑓(𝑥𝑥0 )� postavimo tangentu na funkciju 𝑓𝑓(𝑥𝑥) kao na slici: [x0,f(x0)]

[ a

[x2,f(x2)] x*

f(x)

x2

x1

α

f(x0) x0

[

[x1,f(x1)]

b

Data tangenta aproksimira funkciju 𝑓𝑓(𝑥𝑥), a kako tangenta aproksimira funkciju tako ona sa svojim korijenom aproksimira korijen funkcije 𝑓𝑓 (𝑥𝑥) odnosno tačku 𝑥𝑥 ∗ pa prema tome vrijedi: tan(𝛼𝛼) = 𝑓𝑓 ′ (𝑥𝑥0 ) =

- 16 -

𝑓𝑓(𝑥𝑥0 ) 𝑥𝑥0 − 𝑥𝑥1

Mihailo Šibonjić

Numeričke metode u elektrotehnici – Predavanja Odnosno imamo: 𝑥𝑥1 = 𝑥𝑥0 − 𝑥𝑥2 = 𝑥𝑥1 − ⋮

𝑓𝑓 (𝑥𝑥0 ) 𝑓𝑓 ′ (𝑥𝑥0 )

𝑓𝑓 (𝑥𝑥1 ) 𝑓𝑓 ′ (𝑥𝑥1 )

𝑥𝑥𝑘𝑘 +1 = 𝑥𝑥𝑘𝑘 −

𝑓𝑓 (𝑥𝑥𝑘𝑘 ) 𝑓𝑓 ′ (𝑥𝑥𝑘𝑘 )

Uslov zaustavljanja primjene metoda u slučaju tražene tačnosti 𝜀𝜀 je: |𝑥𝑥𝑘𝑘+1 − 𝑥𝑥𝑘𝑘 | < 𝜀𝜀

Ako je uslov ispunjen tada kažemo da je metod iskonvergirao ka korijenu polazne jednačine, odnosno ka traženom rješenju polaznog problema (to jest dobili smo rješenje odgovarajuće tačnosti). Ako sada funkciju 𝑓𝑓(𝑥𝑥), koja je diferencijabilna, razvijemo u Taylor-ov red: 𝑓𝑓(𝑥𝑥) = 𝑓𝑓(𝑥𝑥0 ) +

𝑓𝑓 ′ (𝑥𝑥0 ) 𝑓𝑓 ′′ (𝑥𝑥0 ) (𝑥𝑥 − 𝑥𝑥0 ) + (𝑥𝑥 − 𝑥𝑥0 )2 + ⋯ = 0 1! 2!

dobijamo Taylor-ov razvoj funkcije 𝑓𝑓 (𝑥𝑥) koji je tačan za tačku 𝑥𝑥0 a uzimanjem više članova razvoja dobijamo sve bolje aproksimacije funkcije 𝑓𝑓(𝑥𝑥). Kada funkciju 𝑓𝑓(𝑥𝑥) aproksimiramo tangentom uzimamo samo prva dva člana, odnosno dobijamo:

Pa vrijedi:

𝑓𝑓 (𝑥𝑥) = 𝑓𝑓 (𝑥𝑥0 ) + 𝑓𝑓 ′ (𝑥𝑥0 )(𝑥𝑥1 − 𝑥𝑥0 ) = 0 𝑥𝑥1 = 𝑥𝑥0 −

𝑓𝑓 (𝑥𝑥0 ) 𝑓𝑓 ′ (𝑥𝑥0 )

Zanima nas kada metod konvergira, kao i red konvergencije. Zaključujemo da je proces stabilniji što tangenta strmije siječe 𝑥𝑥-osu, to jest što je prvi izvod funkcije veći. Za ispitivanje reda konvergencije pretpostavimo da metod konvergira i posmatrajmo razvoj: 𝑓𝑓(𝑥𝑥) = 𝑓𝑓(𝑥𝑥0 ) +

Mihailo Šibonjić

𝑓𝑓 ′ (𝑥𝑥0 ) 𝑓𝑓 ′′ (𝑥𝑥0 ) (𝑥𝑥 − 𝑥𝑥0 ) + (𝑥𝑥 − 𝑥𝑥0 )2 + ⋯ = 0 1! 2!

- 17 -

Numeričke metode u elektrotehnici – Predavanja Ako uvrstimo uprethodnu jednakost 𝑥𝑥 = 𝑥𝑥 ∗, i ako je 𝑐𝑐 tačka između 𝑥𝑥 i 𝑥𝑥 ∗ dobijamo: 𝑓𝑓(𝑥𝑥 ∗ ) = 0 = 𝑓𝑓(𝑥𝑥0 ) + 𝑓𝑓 ′ (𝑥𝑥0 )(𝑥𝑥 ∗ − 𝑥𝑥0 ) + 𝑥𝑥 ∗ − 𝑥𝑥0 = −

𝑥𝑥 ∗ − �𝑥𝑥0 −

𝑓𝑓 ′′ (𝑐𝑐0 ) ∗ (𝑥𝑥 − 𝑥𝑥0 )2 2!

𝑓𝑓 (𝑥𝑥0 ) 𝑓𝑓 ′′ (𝑐𝑐0 ) ∗ (𝑥𝑥 − 𝑥𝑥0 )2 − 𝑓𝑓 ′ (𝑥𝑥0 ) 2𝑓𝑓 ′ (𝑥𝑥0 )

𝑓𝑓 (𝑥𝑥0 ) 𝑓𝑓 ′′ (𝑐𝑐0 ) ∗ (𝑥𝑥 − 𝑥𝑥0 )2 � = − 𝑓𝑓 ′ (𝑥𝑥0 ) 2𝑓𝑓 ′ (𝑥𝑥0 )

𝑓𝑓 ′′ (𝑐𝑐0 ) ∗ (𝑥𝑥 − 𝑥𝑥0 )2 𝑥𝑥 − 𝑥𝑥1 = − ′ 2𝑓𝑓 (𝑥𝑥0 ) ∗

Odnosno, kako je 𝑒𝑒𝑘𝑘 = 𝑥𝑥 ∗ − 𝑥𝑥𝑘𝑘 dobijamo:

𝑓𝑓 ′′ (𝑐𝑐0 ) 2 𝑒𝑒1 = − ′ ∙ 𝑒𝑒 2𝑓𝑓 (𝑥𝑥0 ) 0

𝑓𝑓 ′′ (𝑐𝑐0 ) 𝑒𝑒1 = − 2𝑓𝑓 ′ (𝑥𝑥0 ) 𝑒𝑒02

𝑓𝑓 ′′ (𝑐𝑐𝑘𝑘 ) 𝑒𝑒𝑘𝑘+1 = − = 𝛼𝛼 (𝑒𝑒𝑘𝑘 )2 2𝑓𝑓 ′ (𝑥𝑥𝑘𝑘 )

Zaključujemo da je konvergencija metoda kvadratna jer je 𝑞𝑞 = 2, odnosno metod je drugog reda. Bolje je što je 𝛼𝛼 manje, odnosno bolje je da funkcija prolazeći kroz korijen ima veći nagib a što manji drugi izvod. Metod tangente najčešće konvergira u 3 − 5 koraka, a ako metod sa kvadratnom konvergencijom ne konvergira do deset koraka, onoda vjerovatno i ne konvergira. Kod ovog metoda imamo problem u računu kada je u pitanju sistem jednačina, jer imamo dijeljenje sa 𝑓𝑓 ′ odnosno potrebna je inverzija Jakobijana. f(x)

f(x) f '0

f '>0 f '' >0

f(x)

f '>0 f '' 1

|(1 + ℎ ∙ 𝜎𝜎) + 𝑗𝑗ℎ ∙ 𝜔𝜔| > 1

(1 + ℎ ∙ 𝜎𝜎)2 + (ℎ ∙ 𝜔𝜔)2 > 1

1



1

-1

2



Implicitni Euler-ov metod je stabilan za sve tačke van kruga, odnosno vidimo da je za 𝜎𝜎 < 0 formula sigurno stabilna (apsolutno stabilna) bez obzira na izbor koraka ℎ. Za slučaj asimptotski stabilnog sistema ne moramo voditi računa o izboru koraka ℎ spram stabilnosti nego korak ℎ određujemo spram kriterija tačnosti. - Stabilnost trapeznog Euler-ovog postupka Posmatrajmo linearnu test diferencijalnu jednačinu: 𝑦𝑦 ′ = 𝑓𝑓 (𝑥𝑥, 𝑦𝑦) = 𝜆𝜆 ∙ 𝑦𝑦

Na osnovu Euler-ove trapezne formule imamo: 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + �1 −

ℎ ∙ [𝜆𝜆 ∙ 𝑦𝑦𝑛𝑛 + 𝜆𝜆 ∙ 𝑦𝑦𝑛𝑛+1 ] 2

ℎ ℎ ∙ 𝜆𝜆� ∙ 𝑦𝑦𝑛𝑛+1 = �1 + ∙ 𝜆𝜆� ∙ 𝑦𝑦𝑛𝑛 2 2

Izvršimo pertumbaciju vrijednosti 𝑦𝑦𝑛𝑛 i 𝑦𝑦𝑛𝑛+1 , odnosno vrijedi da je: �1 −

�1 −

ℎ ℎ ∙ 𝜆𝜆� ∙ (𝑦𝑦𝑛𝑛+1 + 𝛿𝛿𝑛𝑛+1 ) = �1 + ∙ 𝜆𝜆� ∙ (𝑦𝑦𝑛𝑛 + 𝛿𝛿𝑛𝑛 ) 2 2

ℎ ℎ ℎ ℎ ∙ 𝜆𝜆� ∙ 𝑦𝑦𝑛𝑛+1 + �1 − ∙ 𝜆𝜆� ∙ 𝛿𝛿𝑛𝑛+1 = �1 + ∙ 𝜆𝜆� ∙ 𝑦𝑦𝑛𝑛 + �1 + ∙ 𝜆𝜆� ∙ 𝛿𝛿𝑛𝑛+1 2 2 2 2

Mihailo Šibonjić





- 89 -

Optimizacione metode u elektrotehnici – Predavanja Oduzimanjem jednakosti 2° i 1° dobijamo: �1 −

ℎ ℎ ∙ 𝜆𝜆� ∙ 𝛿𝛿𝑛𝑛+1 = �1 + ∙ 𝜆𝜆� ∙ 𝛿𝛿𝑛𝑛+1 2 2

Pa na osnovu uslova stabilnosti numeričkog metoda imamo:

A kako je 𝜆𝜆 = 𝜎𝜎 + 𝑗𝑗𝑗𝑗 dobijamo:

ℎ |𝛿𝛿𝑛𝑛+1 | �1 + 2 ∙ 𝜆𝜆� = 0 eksplicitni Euler-ov metod, kao i trapezni Euler-ov metod su neupotrebljivi. Zaključujemo da implicitni metodi imaju bolje osobine sa aspekta stabilnosti, pogotovo za slučaj sistema koji nisu asimptotski stabilni sistemi.



0

- 90 -



Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Primjer primjene numeričkih metoda za rješavanje diferencijalnih jednačina: t = t0 i

R = 106 Ω C = 1 μF

U0

R

C

U0 = 1 V

𝑢𝑢𝑐𝑐 + 𝑢𝑢𝑅𝑅 = 0 𝑑𝑑𝑈𝑈0 𝑢𝑢𝑐𝑐 + 𝑅𝑅 ∙ 𝐶𝐶 ∙ =0 𝑑𝑑𝑑𝑑 𝑢𝑢𝑐𝑐 + 𝑅𝑅 ∙ 𝐶𝐶 ∙ 𝑢𝑢𝑐𝑐′ = 0 1 𝑢𝑢𝑐𝑐′ = − ∙ 𝑢𝑢 𝑅𝑅 ∙ 𝐶𝐶 𝑐𝑐 Euler-ovim eksplicitnim postupkom: 𝑢𝑢0 = 1

ℎ=1

𝑢𝑢𝑐𝑐′ = 𝜆𝜆 ∙ 𝑢𝑢𝑐𝑐

𝑢𝑢𝑐𝑐 = 𝑈𝑈0 ∙ 𝑒𝑒 𝜆𝜆𝜆𝜆

𝑡𝑡

𝑢𝑢𝑐𝑐 = 𝑈𝑈0 ∙ 𝑒𝑒 −𝑅𝑅𝑅𝑅 𝑢𝑢𝑐𝑐′ = −𝑢𝑢𝑐𝑐

𝜆𝜆 = 𝜎𝜎 + 𝑗𝑗𝑗𝑗 = −

1 + 𝑗𝑗0 𝑅𝑅𝑅𝑅

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

𝑢𝑢𝑛𝑛 +1 = 𝑢𝑢𝑛𝑛 − ℎ𝑢𝑢𝑛𝑛 = (1 − ℎ )𝑢𝑢𝑛𝑛 Za ℎ = 1 Za ℎ = 2

Za ℎ = 1/2

𝑢𝑢𝑛𝑛 +1 = 0

𝑢𝑢𝑛𝑛 +1 = −𝑢𝑢𝑛𝑛 1 𝑢𝑢𝑛𝑛 +1 = 𝑢𝑢𝑛𝑛 2

Mihailo Šibonjić

𝑢𝑢0 = 0

𝑢𝑢1 = 0

𝑢𝑢2 = 0

𝑢𝑢3 = 0



𝑢𝑢0 = 1

𝑢𝑢1 = 0

𝑢𝑢2 = 0

𝑢𝑢3 = 0



𝑢𝑢0 = 1

𝑢𝑢1 = −1

𝑢𝑢2 = 1

Za ℎ < 2 sistem stabilan !

𝑢𝑢3 = −1



- 91 -

Optimizacione metode u elektrotehnici – Predavanja

- Runge-Kutta metodi Taylor-ov metod je zasnovan na razvoju rješenja diferencijalne jednačine u Taylor-ov red, zahvaljujući mogućnosti da se izračunavaju izvodi. Međutim proračun izvoda treba izbjegavati jer funkcija može da bude komplikovana za diferenciranje. Ovaj problem se rješaav primjenom funkcija sa pomjerenim parametrima. U tom smislu su i razvijene Runge-Kutta metode koje spadaju u najvažnije i najčešće primjenjivane postupke za numeričko rješavanje diferencijalnih jednačina. - Runge-Kutta metodi drugog reda Neka je data diferencijalna jednačina sa početnim uslovom (Cacuhy-ev problem): 𝑦𝑦 ′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦)

Pretpostavimo da vrijedi:

Pri čemu su 𝑘𝑘1 i 𝑘𝑘2 dati na način:

𝑦𝑦(𝑥𝑥0 ) = 𝑦𝑦0

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑎𝑎1 ∙ 𝑘𝑘1 + 𝑎𝑎2 ∙ 𝑘𝑘2

𝑘𝑘1 = ℎ ∙ 𝑓𝑓 (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

𝑘𝑘2 = ℎ ∙ 𝑓𝑓 (𝑥𝑥𝑛𝑛 + 𝛼𝛼 ∙ ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽𝑘𝑘1 )

f(xn+αh, yn+βk1) yn'=f(xn,yn)

βk1

k1

a1k1+a2k2

yn xn

αh

xn+1

Da bi primjenili metod potrebno je odrediti priraštaj funkcije 𝑎𝑎1 𝑘𝑘1 + 𝑎𝑎2 𝑘𝑘2 , odnosno potrebno je odrediti koficijente 𝑎𝑎1 , 𝑘𝑘1 , 𝑎𝑎2 , 𝑘𝑘2 . Koeficijente određujemo na osnovu Taylor-ovog razovoja funkcije, odnosno izjednačavanjem članova što većeg reda razvoja dobijenog na osnovu „tačne“ vrijednosti i razvoja dobijenog na osnovu aproksimacije.

- 92 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Odnosno vrijedi: 𝑦𝑦(𝑥𝑥𝑛𝑛+1 ) = 𝑦𝑦𝑛𝑛 +

𝑦𝑦𝑛𝑛′′ 𝑦𝑦𝑛𝑛 𝑦𝑦𝑛𝑛′′′ (𝑥𝑥 − 𝑥𝑥𝑛𝑛 ) + (𝑥𝑥 − 𝑥𝑥𝑛𝑛 )2 + (𝑥𝑥 − 𝑥𝑥𝑛𝑛 )3 + ⋯ 1! 2! 3!

Uvedemo li smjenu 𝑥𝑥 = 𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 + ℎ dobijamo: 𝑦𝑦(𝑥𝑥𝑛𝑛+1 ) = 𝑦𝑦𝑛𝑛 + ℎ ∙ 𝑓𝑓𝑛𝑛 +

ℎ 2 ′ ℎ 3 ′′ ∙ 𝑓𝑓 + ∙ 𝑓𝑓 + ⋯ 2 𝑛𝑛 3! 𝑛𝑛

Približna (aproksimirana) vrijednost se dobija na osnovu formule:

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑎𝑎1 ∙ 𝑘𝑘1 + 𝑎𝑎2 ∙ 𝑘𝑘2 = 𝑦𝑦𝑛𝑛 + 𝑎𝑎1 ∙ ℎ ∙ 𝑓𝑓 (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) + 𝑎𝑎2 ∙ 𝑓𝑓�𝑥𝑥𝑛𝑛 + 𝛼𝛼 ∙ ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽 ∙ ℎ ∙ 𝑓𝑓 (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )�

Kao što vidimo član 𝑓𝑓�𝑥𝑥𝑛𝑛 + 𝛼𝛼 ∙ ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽 ∙ ℎ ∙ 𝑓𝑓 (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )� nam smeta, pa prema tome svedemo ga u funkciji izvoda 𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) pa razvijemo u Taylor-ov red kao funkciju dvije promjenjive u okolini tačke (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ): 𝑓𝑓 (𝑥𝑥𝑛𝑛 + 𝛼𝛼ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽ℎ𝑓𝑓𝑛𝑛 ) == 𝑓𝑓𝑛𝑛 + 𝑓𝑓𝑥𝑥′ 𝛼𝛼ℎ + 𝑓𝑓𝑦𝑦′ 𝛽𝛽ℎ𝑓𝑓𝑛𝑛 + 𝑓𝑓𝑥𝑥′′𝑥𝑥 𝛼𝛼 2 ℎ 2 + 2𝑓𝑓𝑥𝑥′′𝑥𝑥 𝛼𝛼𝛼𝛼𝑓𝑓𝑛𝑛 ℎ 2 + 𝑓𝑓𝑦𝑦′′𝑦𝑦 𝛽𝛽2 ℎ 2 𝑓𝑓𝑛𝑛 2 + ⋯

Vratimo li se sada sa ovim razvojem u formulu za približnu vrijednost dobijamo:

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑎𝑎1 ℎ𝑓𝑓𝑛𝑛 + 𝑎𝑎2 ℎ�𝑓𝑓𝑛𝑛 + 𝑓𝑓𝑥𝑥′ 𝛼𝛼ℎ + 𝑓𝑓𝑦𝑦′ 𝛽𝛽ℎ𝑓𝑓𝑛𝑛 + 𝑓𝑓𝑥𝑥′′𝑥𝑥 𝛼𝛼 2 ℎ 2 + 2𝑓𝑓𝑥𝑥′′𝑥𝑥 𝛼𝛼𝛼𝛼𝑓𝑓𝑛𝑛 ℎ 2 + 𝑓𝑓𝑦𝑦′′𝑦𝑦 𝛽𝛽2 ℎ 2 𝑓𝑓𝑛𝑛 2 + ⋯ � Tačna vrijednost (pod pretpostavkom da je 𝑦𝑦𝑛𝑛 tačno):

𝑦𝑦(𝑥𝑥𝑛𝑛+1 ) = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓 +

ℎ2 ′ ℎ2 ′ ℎ3 ℎ3 ℎ3 ℎ3 ℎ3 2 𝑓𝑓𝑥𝑥 + 𝑓𝑓𝑦𝑦 𝑓𝑓 + 𝑓𝑓𝑥𝑥′′𝑥𝑥 + 𝑓𝑓𝑥𝑥′′𝑥𝑥 𝑓𝑓 + 𝑓𝑓𝑦𝑦𝑦𝑦 𝑓𝑓 2 + 𝑓𝑓𝑥𝑥′ 𝑓𝑓𝑦𝑦′ + 𝑓𝑓𝑓𝑓𝑦𝑦′ + ⋯ 2 2 6 3 6 6 6

1° 2°

Poređenjem desnih strana jednakosti 2° i 1° i izjednačavanjem odgovarajućih izraza uz ℎ i ℎ 2 dolazimo do sljedećeg sistema jednačina: 𝑎𝑎1 + 𝑎𝑎2 = 1 𝑎𝑎2 𝛼𝛼 = 𝑎𝑎2 𝛽𝛽 =

1 2 1 2

Izraze uz ℎ 3 nemoguće je izjednačiti, pa prema tome ostaje da riješimo predhodni sistem od tri jednačine i četiri nepoznate, koji ima beskonačno mnogo rješenja. Prvi otpisani član razvoja je reda ℎ 3 pa prema tome zaključujemo da je lokalna greška metoda proporcionalna sa ℎ 3 odnosno vrijedi: 𝐿𝐿𝐸𝐸𝑅𝑅𝑅𝑅2 ~ℎ3

Odnosno globalna greška je proporcionalna sa ℎ 2 pa prema tome ovo je jednokoračni Ruge-Kutta drugog reda.

Mihailo Šibonjić

- 93 -

Optimizacione metode u elektrotehnici – Predavanja Rješavanjem sistema jednačina dolazimo do traženih koeficijenata, te dobijamo različite varijacije Runge-Kutta metoda drugog reda. Najčešće korištene vrijednosti koeficijenata su: - Runge-Kutta Heun's method

Pa prema tome vrijedi:

𝑎𝑎1 = 𝑎𝑎2 =

1 2

;

𝛼𝛼 = 𝛽𝛽 = 1

1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + (𝑘𝑘1 + 𝑘𝑘2 ) 2 𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

𝑘𝑘2 = ℎ𝑓𝑓�𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )�

ℎ 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + �𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) + 𝑓𝑓�𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )�� 2

- Runge-Kutta Midpoint method

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑘𝑘2

𝑎𝑎1 = 0

;

𝑎𝑎2 = 1 ;

𝛼𝛼 = 𝛽𝛽 =

1 2

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

ℎ 𝑘𝑘1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + , 𝑦𝑦𝑛𝑛 + � 2 2

1 1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ , 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )� 2 2

- Runge-Kutta Ralston's method

𝑎𝑎1 =

1 3

1 2 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 + 𝑘𝑘2 3 3

;

𝑎𝑎2 =

2 3

;

𝛼𝛼 = 𝛽𝛽 =

3 4

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

3 3 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )� 4 4

2 1 3 3 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) + ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )� 3 3 4 4

- 94 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Runge-Kutta metodi trećeg reda Kao i kod Runge-Kutta metoda drugog reda, metode trećeg reda možemo izvesti pomoću sličnih formula samo sa većim brojem parametara.

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑎𝑎1 𝑘𝑘1 + 𝑎𝑎2 𝑘𝑘2 + 𝑎𝑎3 𝑘𝑘3

𝑘𝑘2 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + ℎ𝛼𝛼1 , 𝑦𝑦𝑛𝑛 + 𝛽𝛽𝑘𝑘1 )

𝑘𝑘3 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + ℎ𝛼𝛼2 , 𝑦𝑦𝑛𝑛 + 𝛽𝛽21 𝑘𝑘1 + 𝛽𝛽22 𝑘𝑘2 )

Potrebno je naći nepoznate koeficijente. Lokalna greška metoda je proporcionalna sa ℎ 4 pa prema tome ovo je Runge-Kutta metod trećeg reda. Najčešće korištene varijante Runge-Kutta metoda trećeg reda:

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + (𝑘𝑘1 + 4𝑘𝑘2 + 𝑘𝑘3 ) 6

1 1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 � 2 2

𝑘𝑘3 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 − 𝑘𝑘1 + 2𝑘𝑘2 )

Odnosno:

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + (2𝑘𝑘1 + 3𝑘𝑘2 + 4𝑘𝑘3 ) 9

1 1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 � 2 2

3 3 𝑘𝑘3 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘2 � 4 4

Mihailo Šibonjić

- 95 -

Optimizacione metode u elektrotehnici – Predavanja

- Runge-Kutta metodi četvrtog reda Za Runge-Kutta metode četvtog reda polazimo od jednakosti: 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + 𝑎𝑎1 𝑘𝑘1 + 𝑎𝑎2 𝑘𝑘2 + 𝑎𝑎3 𝑘𝑘3 + 𝑎𝑎4 𝑘𝑘4

Pri čemu su:

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

𝑘𝑘2 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + 𝛼𝛼2 ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽21 𝑘𝑘1 )

𝑘𝑘3 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + 𝛼𝛼3 ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽31 𝑘𝑘1 + 𝛽𝛽32 𝑘𝑘2 )

𝑘𝑘4 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + 𝛼𝛼4 ℎ, 𝑦𝑦𝑛𝑛 + 𝛽𝛽41 𝑘𝑘1 + 𝛽𝛽42 𝑘𝑘2 + 𝛽𝛽43 𝑘𝑘3 )

Pri čemu dobijamo sistem od jedanaest jednačina sa trinaest nepoznatih, pa prema tome imamo beskonačno mnogo rješenja. Neke od najčešće korištenih varijanti Runge-Kutta metoda četvrtog reda su: - Runge-Kutta Gill's method 1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + �𝑘𝑘1 + �2 − √2�𝑘𝑘2 + �2 + √2)𝑘𝑘3 + 𝑘𝑘4 �� 6

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

1 1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 � 2 2

1 1 1 1 𝑘𝑘3 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + �− + √2� 𝑘𝑘1 + �1 − √2� 𝑘𝑘2 � 2 2 2 2

1 1 𝑘𝑘4 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 − √2𝑘𝑘2 + �1 + √2� 𝑘𝑘3 � 2 2

-RK4 Runge's method

1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + (𝑘𝑘1 + 2𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 ) 6

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

1 1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 � 2 2

1 1 𝑘𝑘3 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘2 � 2 2 𝑘𝑘4 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘3 )

- 96 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- RK4 Kutta's method 1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + (𝑘𝑘1 + 3𝑘𝑘2 + 3𝑘𝑘3 + 𝑘𝑘4 ) 8

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

1 1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 � 3 3

2 1 𝑘𝑘3 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 − 𝑘𝑘1 + 𝑘𝑘2 � 3 3

𝑘𝑘4 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 − 𝑘𝑘2 + 𝑘𝑘3 ) - Runge-Kutta metodi petog reda Runge-Kutta metodi petog reda se često koriste jer su optimalni sa stanovišta stabilnosti i tačnosti metoda. Najčešće korišteni su: - Runge-Kutta Fehlberg's method (RK45)

Pri čemu vrijedi:

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 +

16 6656 28561 9 2 𝑘𝑘1 + 𝑘𝑘3 + 𝑘𝑘4 − 𝑘𝑘5 + 𝑘𝑘6 135 12825 56430 50 55

𝑘𝑘1 = ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

1 1 𝑘𝑘2 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 � 4 4

3 3 9 𝑘𝑘3 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 + 𝑘𝑘2 � 8 32 32

𝑘𝑘4 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 +

12 1932 7200 7296 ℎ, 𝑦𝑦𝑛𝑛 + 𝑘𝑘1 − 𝑘𝑘2 + 𝑘𝑘 � 13 2197 2197 2197 3

𝑘𝑘5 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 +

439 3680 845 𝑘𝑘1 − 8𝑘𝑘2 + 𝑘𝑘3 − 𝑘𝑘 � 216 513 4104 4

1 8 3544 1859 11 𝑘𝑘6 = ℎ𝑓𝑓 �𝑥𝑥𝑛𝑛 + ℎ, 𝑦𝑦𝑛𝑛 − 𝑘𝑘1 + 2𝑘𝑘2 − 𝑘𝑘3 + 𝑘𝑘4 − 𝑘𝑘5 � 2 27 2565 4104 40 Pored ovog često je u upotrebi Runge-Kutta Dormand-Prince metod.

Mihailo Šibonjić

- 97 -

Optimizacione metode u elektrotehnici – Predavanja

- Stabilnost Runge-Kutta metoda Sa povećanjem reda Runge-Kutta metoda povećava se i tačnost ali i vrijeme izvođenja metoda zbog većeg broja proračuna, odnosno imamo veći broj diobenih tačaka (pomjerenih parametara) na osnovu kojih vršimo aproksimaciju vrijednosti funkcije. Stabilnost metoda razmatrat ćemo na Cauchy-evom problemu (initial value problem) ali zbog nepoznavanja funkcije 𝑓𝑓 koristimo linearnu test diferencijalnu jednačinu: 𝑦𝑦 ′ = 𝑓𝑓 (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

𝑦𝑦(𝑥𝑥0 ) = 𝑦𝑦0

Odnosno ako razmatramo test diferencijalnu jednačinu: 𝑦𝑦 ′ = 𝜆𝜆𝜆𝜆

Pri čemu je 𝜆𝜆 komplksna konstanta za koju vrijedi da je 𝜆𝜆 = 𝜎𝜎 + 𝑗𝑗𝑗𝑗. Primjetimo da je analitičko rješenje test diferencijalne jednačine dato sa: 𝑦𝑦(𝑥𝑥) = 𝑒𝑒 𝜆𝜆𝜆𝜆

Zaključujemo da na osnovu:

Vrijedi:

𝑦𝑦𝑛𝑛 = 𝑒𝑒 𝜆𝜆𝑥𝑥 𝑛𝑛

𝑖𝑖

𝑦𝑦𝑛𝑛+1 = 𝑒𝑒 𝜆𝜆 𝑥𝑥 𝑛𝑛 +1

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 𝑒𝑒 𝜆𝜆ℎ

Budući da se Runge-Kutta metodi zasnivaju na razvoju funkcije u Taylor-ov red, možemo napisati da za Runge-Kutta metod 𝑠𝑠-tog reda vrijedi relacija: 𝑦𝑦𝑛𝑛+1 = �1 + 𝜆𝜆ℎ +

(𝜆𝜆ℎ )2 (𝜆𝜆ℎ )3 (𝜆𝜆ℎ )𝑆𝑆 + + ⋯+ � ∙ 𝑦𝑦𝑛𝑛 2! 3! 𝑆𝑆!

Sada izvršimo pertumbaciju vrijednosti 𝑦𝑦𝑛𝑛+1 i 𝑦𝑦𝑛𝑛 odnosno: 𝑦𝑦𝑛𝑛+1 + 𝛿𝛿𝑛𝑛+1 = �1 + 𝜆𝜆ℎ +

(𝜆𝜆ℎ )2 (𝜆𝜆ℎ )3 (𝜆𝜆ℎ )𝑆𝑆 + + ⋯+ � ∙ (𝑦𝑦𝑛𝑛 + 𝛿𝛿𝑛𝑛 ) 2! 3! 𝑆𝑆!

Da bi numerički metod bio stabilan potrebno je da vrijedi |𝛿𝛿𝑛𝑛+1 | ≤ |𝛿𝛿𝑛𝑛 | odnosno ako oduzmemo prethodne dvije jednakosti dobijamo: 𝛿𝛿𝑛𝑛+1 = �1 + 𝜆𝜆ℎ +

(𝜆𝜆ℎ )2 (𝜆𝜆ℎ )3 (𝜆𝜆ℎ )𝑆𝑆 + + ⋯+ � ∙ 𝛿𝛿𝑛𝑛 2! 3! 𝑆𝑆!

Odnosno numerički metod je stabilan ako je zadovoljena nejednakost:

|𝛿𝛿𝑛𝑛+1 | (𝜆𝜆ℎ )2 (𝜆𝜆ℎ )3 (𝜆𝜆ℎ )𝑆𝑆 �≤1 = �1 + 𝜆𝜆ℎ + + + ⋯+ |𝛿𝛿𝑛𝑛 | 2! 3! 𝑆𝑆!

- 98 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Pa tako dobijamo područije stabilnosti za Runge-Kutta metode prvog, drugog, trećeg i četvrtog reda: Runge-Kutta I reda

|1 + 𝜆𝜆ℎ | ≤ 1

Runge-Kutta II reda

�1 + 𝜆𝜆ℎ +

Runge-Kutta III reda

�1 + 𝜆𝜆ℎ +

Rugne-Kutta IV reda

�1 + 𝜆𝜆ℎ +

(𝜆𝜆ℎ )2 �≤1 2!

(𝜆𝜆ℎ )2 (𝜆𝜆ℎ )3 �≤1 + 2! 3!

(𝜆𝜆ℎ )2 (𝜆𝜆ℎ )3 (𝜆𝜆ℎ )4 �≤1 + + 2! 3! 4!

Odnosno grafička ilustracija područija stabilnosti Runge-Kutta metoda:

RK4 RK3 RK2 -3

-2

RK1 -1 -1

3 2 1

-1 -2 -3

Počev od Runge-Kutta metoda trećeg reda, oblast (područije) stabilnosti prelazi na pozitivan dio realne ose. Područije stabilnosti se širi porastom reda metoda, pa time i mogućnost korištenja većeg koraka prilikom numeričkog postupka. Mana Runge-Kutta metoda je vrijeme proračuna, jer u svakom koraku imamo (pogotovo za metode višeg reda) višestruko izračunavanje funkcije sa pomjerenim parametrima. Zbog ograničenog područija stabilnosti eksplicitni Runge-Kutta numerički metodi nisu preporučljivi za krute dinamičke sisteme, jer nisu A-stabilni metodi. Međutim treba napomenuti da upravo eksplicitni Runge-Kutta metodi danas najpopularniji za rješavanje nekrutih dinamičkih sistema.

Mihailo Šibonjić

- 99 -

Optimizacione metode u elektrotehnici – Predavanja

- Višekoračni metodi Višekoračni metodi se baziraju na povećanju stepena predikcije korištenjem više ranije dobijenih tačaka za aproksimaciju naredne tačke. Neka je data diferencijalna jednačina: 𝑦𝑦 ′ = 𝑓𝑓 (𝑥𝑥, 𝑦𝑦)

𝑦𝑦(𝑥𝑥0 ) = 𝑦𝑦0

Integracijom prethodne jednačine na segmentu [𝑥𝑥𝑛𝑛 , 𝑥𝑥𝑛𝑛 +1 ] dobijamo: 𝑥𝑥 𝑛𝑛 +1

𝑥𝑥 𝑛𝑛 +1

𝑥𝑥 𝑛𝑛

𝑥𝑥 𝑛𝑛

� 𝑦𝑦 ′ 𝑑𝑑𝑑𝑑 = � 𝑓𝑓 (𝑥𝑥, 𝑦𝑦)𝑑𝑑𝑑𝑑

Odnosno :

𝑥𝑥 𝑛𝑛 +1

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + � 𝑓𝑓 (𝑥𝑥, 𝑦𝑦)𝑑𝑑𝑑𝑑 𝑥𝑥 𝑛𝑛

Funkciju 𝑓𝑓 (𝑥𝑥, 𝑦𝑦) aproksimiramo drugim Newton-ovim interpolacionim polinomom. Korištenjem više predhodnih vrijednosti (𝑚𝑚-predhodnih vrijednosti), možemo provući interpolacioni polinom kroz (𝑚𝑚 + 1) tačku te dobiti ekstrapolacionu vrijednost, odnosno vrijedi:

PII(X)

yn-m

yn-1

yn-2 xn-m

...

xn-2

h

yn+1

yn xn-1

𝑥𝑥 𝑛𝑛 +1

h

xn

h

xn+1

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + � 𝑃𝑃𝐼𝐼𝐼𝐼 (𝑥𝑥)𝑑𝑑𝑑𝑑 𝑥𝑥 𝑛𝑛 +1

𝑦𝑦𝑛𝑛+1 ≅ 𝑦𝑦𝑛𝑛 + � �𝑓𝑓𝑛𝑛 + 𝑥𝑥 𝑛𝑛

𝑥𝑥 𝑛𝑛

(𝑥𝑥 − 𝑥𝑥𝑛𝑛 )(𝑥𝑥 − 𝑥𝑥𝑛𝑛−1 ) 2 (𝑥𝑥 − 𝑥𝑥𝑛𝑛 ) … (𝑥𝑥 − 𝑥𝑥𝑛𝑛−𝑚𝑚 ) 𝑚𝑚 𝑥𝑥 − 𝑥𝑥𝑛𝑛 ∇𝑓𝑓𝑛𝑛 + ∇ 𝑓𝑓𝑛𝑛 + ⋯ + ∇ 𝑓𝑓𝑛𝑛 � 𝑑𝑑𝑑𝑑 2 1! ℎ 2! ℎ 𝑚𝑚! ℎ 𝑚𝑚

Uvedemo li smjenu 𝑠𝑠 = (𝑥𝑥 − 𝑥𝑥𝑚𝑚 )/ℎ i 𝑑𝑑𝑑𝑑 = ℎ𝑑𝑑𝑑𝑑 dobijamo: 1

𝑛𝑛

−𝑠𝑠 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ � ��(−1)𝑘𝑘 � � ∇𝑘𝑘 𝑓𝑓𝑛𝑛 � 𝑑𝑑𝑑𝑑 + 𝑅𝑅𝑚𝑚 𝑘𝑘 0

- 100 -

𝑘𝑘=0

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Odnosno ako predhodni izraz zapišemo kao: 1

𝑚𝑚

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ �(−1)𝑘𝑘 ∙ ∇𝑘𝑘 ∙ 𝑓𝑓𝑛𝑛 � � 𝑘𝑘 =0

0

−𝑠𝑠 � 𝑑𝑑𝑑𝑑 + 𝑅𝑅𝑚𝑚 𝑘𝑘

Što predstavlja Adams-Bashforth-ovu formulu, koja se integriranjem član po član dobija u razvijenom obliku, odnosno: 1 5 3 251 4 95 5 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ �1 + ∇ + ∇2 + ∇3 + ∇ + ∇ + ⋯ � 𝑓𝑓𝑛𝑛 + 𝑅𝑅𝑚𝑚 2 12 8 720 288

Za različite vrijednosti parametra 𝑚𝑚 dobijamo različite metode. Pa prema tome imamo da je za 𝑚𝑚 = 0 dobijamo Euler-ov metod, odnosno: 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓𝑛𝑛 + 𝑅𝑅 Za 𝑚𝑚 = 1 dobijamo:

1 2𝑓𝑓𝑛𝑛 + 𝑓𝑓𝑛𝑛 − 𝑓𝑓𝑛𝑛−1 ℎ 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ �1 + ∇� 𝑓𝑓𝑛𝑛 + 𝑅𝑅 = 𝑦𝑦𝑛𝑛 + ℎ � � + 𝑅𝑅 = 𝑦𝑦𝑛𝑛 + (3𝑓𝑓𝑛𝑛 − 𝑓𝑓𝑛𝑛−1 ) + 𝑅𝑅 2 2 2

Najčešće se koristi metod za koji je 𝑚𝑚 = 3 odnosno dobijamo:

1 5 3 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ �1 + ∇ + ∇2 + ∇3 � 𝑓𝑓𝑛𝑛 + 𝑅𝑅 2 12 8

Razvojem konačnih razlika dobijamo Adams-ovu formulu (četvokoračni metod): 5 3 1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ �1 + (𝑓𝑓𝑛𝑛 − 𝑓𝑓𝑛𝑛−1 ) + (𝑓𝑓𝑛𝑛 − 2𝑓𝑓𝑛𝑛−1 + 𝑓𝑓𝑛𝑛−2 ) + (𝑓𝑓𝑛𝑛 − 3𝑓𝑓𝑛𝑛 −1 + 3𝑓𝑓𝑛𝑛−2 − 𝑓𝑓𝑛𝑛−3 )� 𝑓𝑓𝑛𝑛 + 𝑅𝑅 12 8 2 Odnosno:

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 +

ℎ (55𝑓𝑓𝑛𝑛 − 59𝑓𝑓𝑛𝑛−1 + 37𝑓𝑓𝑛𝑛−2 − 9𝑓𝑓𝑛𝑛−3 ) + 𝑅𝑅 24

Greška ovog metoda je proporcionalna sa:

𝑅𝑅 =

251 5 (5) ℎ 𝑦𝑦 720

Kako je lokalna greška metoda proporcionalna sa ℎ 5 zaključujemo da je ovo metod četvrtog reda, i predstavlja najčešće korišteni višekoračni metod četvrtog reda. Prednost u odnosu na Runge-Kutta metod je u tome što se u svakom koraku (iteraciji) računamo samo jednu vrijednost funkcije a koristimo tri predhodno proračunate vrijednosti pa samim tim imamo četiri puta manje proračuna u odnosu na Runge-Kutta metod. Mana metoda je ako imamo samo početni uslov, uopšte započeti postupak. Odnosno, moramo prethodne tri tačke naći nekim drugim postupkom na primjer nekim jednokoračnim postupkom ekvivalentnog reda pa tek onda primjenimo višekoračni postupak. Pored toga mana metoda je i što prilikom svake promjene dinamike sitema (promjene u kolu) moramo da ponovo računamo prethodne tri vrijednosti jer ako to ne bi učinili mogli bi dobiti ogromnu gršku.

Mihailo Šibonjić

- 101 -

Optimizacione metode u elektrotehnici – Predavanja Polaznu diferencijalnu jednačinu smo mogli integraliti i na drugom segmentu, odnosno: 𝑥𝑥 𝑛𝑛 +1

𝑥𝑥 𝑛𝑛 +1

� 𝑦𝑦 ′ 𝑑𝑑𝑑𝑑 = � 𝑓𝑓 (𝑥𝑥, 𝑦𝑦)𝑑𝑑𝑑𝑑

𝑥𝑥 𝑛𝑛 −𝑝𝑝

𝑥𝑥 𝑛𝑛 −𝑝𝑝

Te na taj način dobijamo generalisanu Adams-Bashforth-ovu formulu: 1

𝑚𝑚

−𝑠𝑠 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−𝑝𝑝 + ℎ � �� � � ∙ ∇𝑘𝑘 ∙ 𝑓𝑓𝑛𝑛 � 𝑑𝑑𝑑𝑑 + 𝑅𝑅 𝑘𝑘 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−𝑝𝑝 + ℎ

𝑚𝑚

𝑘𝑘 =0

−𝑝𝑝

�(−1)𝑘𝑘

𝑘𝑘=0

𝑘𝑘

1

∙ ∇ ∙ 𝑓𝑓𝑛𝑛 ∙ � � −𝑝𝑝

−𝑠𝑠 � 𝑑𝑑𝑑𝑑 + 𝑅𝑅 𝑘𝑘

Za različite vrijednosti parametara 𝑝𝑝 i 𝑚𝑚 dobijamo različite metode, međutim najinteresantnije su formule u kojima je 𝑝𝑝 neparno zbog toga što se tada integral anulira, pa tako na primjer za 𝑝𝑝 = 3 imamo: 1

1

−3

−3

1 −𝑠𝑠 � � � 𝑑𝑑𝑑𝑑 = � 𝑠𝑠(𝑠𝑠 + 1)(𝑠𝑠 + 2)𝑑𝑑𝑑𝑑 = 0 𝑘𝑘 3!

Na taj način se sa manjim brojem članova se postiže veća tačnost. Odnosno imamo: 8 14 11 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−3 + ℎ �4 − 4∇ + ∇2 + ∇4 + ∇5 + ⋯ � 𝑓𝑓𝑛𝑛 + 𝑅𝑅 3 45 45

Pa iz predhodnog izraza proizilazi najčešće korištena formula, odnosno Milne-ova formula: 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−3 +

4ℎ (2𝑓𝑓𝑛𝑛 − 𝑓𝑓𝑛𝑛−1 + 2𝑓𝑓𝑛𝑛 −2 ) + 𝑅𝑅 3

Kao što vidimo Milne-ova formula ima jedan manje sabirak od Adams-ove formule, a predstavlja metod četvrtog reda. Osnovni višekoračni metodi dati su Milne-ovom i Adams-ovom formulom. Prednost višekoračnih metoda je brzina izvođenja metoda, a mana što prilikom komutacije moramo restartovati proces, ponovo započeti postupak nalaženjem predhodnih vrijednosti (na primjer Runge-Kutta metodama) te ponavljati postupak. Pored toga uopšteno mana višekoračnih metoda je stabilnost jer se oblast stabilnosti višekoračnog postupka smanjuje, povećanjem reda metoda.

- 102 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Stabilnost višekoračnih metoda Ponovo posmatrajmo linearnu test diferencijalnu jednačinu, odnosno: 𝑦𝑦 ′ = 𝜆𝜆𝜆𝜆

Ako bi uzeli da je 𝑝𝑝 = 1 i prva dva člana dobili bi modifikovani Euler-ov postupak odnosno: 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−1 + 2ℎ𝜆𝜆𝜆𝜆𝑛𝑛

Ako bi sada izvršili pertumbaciju, vidimo da imamo propagaciju greške iz predhodnog koraka, odnosno da imamo tri pertumbacije (jer se povezuju prethodne dvije greške) to jest: 𝑦𝑦𝑛𝑛+1 + 𝛿𝛿𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−1 + 𝛿𝛿𝑛𝑛−1 + 2ℎ𝜆𝜆𝑦𝑦𝑛𝑛 + 2ℎ𝜆𝜆𝛿𝛿𝑛𝑛 𝛿𝛿𝑛𝑛+1 = 𝛿𝛿𝑛𝑛−1 + 2ℎ𝜆𝜆𝜆𝜆𝑛𝑛

Odnosno dobijamo diferentnu jednačinu:

Čije rješenje tražimo u obliku:

𝛿𝛿𝑛𝑛+1 − 2ℎ𝜆𝜆𝜆𝜆𝑛𝑛 − 𝛿𝛿𝑛𝑛−1 = 0 𝛿𝛿𝑛𝑛 = 𝑘𝑘 𝑛𝑛

Odnosno:

𝑘𝑘 𝑛𝑛 +1 − 2ℎ𝜆𝜆𝑘𝑘 𝑛𝑛 − 𝑘𝑘 𝑛𝑛−1 = 0

Kako je 𝑘𝑘 ≠ 0, predhodnu jednakost podjelimo sa 𝑘𝑘 𝑛𝑛 −1 pa dobijamo: Pa dobijamo dva korijena jednačine:

Kada nađemo rješenja, dobijamo:

𝑘𝑘 2 − 2ℎ𝜆𝜆𝜆𝜆 − 1 = 0

𝑘𝑘1,2 = ℎ𝜆𝜆 ± �4ℎ 2 + 1 𝛿𝛿𝑛𝑛 = 𝑐𝑐1 𝑘𝑘1𝑛𝑛 + 𝑐𝑐2 𝑘𝑘2𝑛𝑛

Greška će biti prigušena, odnosno metod je stabilan ako su korijeni |𝑘𝑘𝑖𝑖 | < 1.

Mihailo Šibonjić

- 103 -

Optimizacione metode u elektrotehnici – Predavanja

- Prediktor-Korektor formule Prediktor-korektor formule mogu biti jednokoračne i višekoračne. Pomoću njih rješavamo negativnu osobinu implicitnih metoda, na način da nekom eksplicitnom metodom nađemo vrijednost 𝑦𝑦𝑛𝑛+1 pa je popravimo tako što 𝑦𝑦𝑛𝑛+1 posmatramo kao prediktor vrijednost a onda nekom implicitnom korektor metodom popravimo tu vrijednost. Prediktor metodom se koristimo da dobijemo vrijednost u nultom koraku, pa dalje koristimo korektor metod. Prediktor metodi treba da budu jednostavni metodi tipa Euler metoda. Da bi metod bio efikasan potrebno je da korektor metod konvergira u dva do tri koraka. Prediktor metodi su dobri za metode sa varijabilnim korakom. Metod zaustavljamo kad bude ispunjen uslov: (𝑘𝑘)

(𝑘𝑘−1)

�𝑦𝑦𝑛𝑛+1 − 𝑦𝑦𝑛𝑛+1 � < 𝜀𝜀

U zavisnosti od željene tačnosti 𝜀𝜀. Ako je 𝑘𝑘 > 3 potrebno je smanjiti korak ℎ. Smanjenjem koraka, smanjujemo broj potrebnih koraka za konvergenciju. Ako je 𝑘𝑘 = 1 onda malo povećamo korak tako da do konvergencije dođe u dva do tri koraka. Metod je dobar kao metod sa adaptivnim korakom jer ne koristi dva metoda kao što je to slučaj kod Runge-Kutta metoda (sa adaptivnim korakom). Ako u interpolacioni polinom kreiran na osnovu 𝑚𝑚 predhodnih (poznatih) vrijednosti uvrstimo i nepoznatu tačku 𝑓𝑓𝑛𝑛+1 te ponovo postavimo drugi Newton-ov interpolacioni polinom dobijamo implicitnu formulu, odnosno: 1

𝑚𝑚

−𝑠𝑠 + 1 � ∙ ∇𝑘𝑘 ∙ 𝑓𝑓𝑛𝑛+1 � 𝑑𝑑𝑑𝑑 + 𝑅𝑅𝑚𝑚 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−𝑝𝑝 + ℎ � ��(−1)𝑘𝑘 � 𝑘𝑘 −𝑝𝑝

𝑘𝑘=0

Za različite vrijednosti parametara 𝑚𝑚 i 𝑝𝑝 dobijamo različite formule, pa tako za 𝑝𝑝 = 0 vrijedi: 1 1 1 19 4 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ �1 − ∇ − ∇2 − ∇3 − ∇ − ⋯ � 𝑓𝑓𝑛𝑛+1 + 𝑅𝑅𝑚𝑚 2 12 24 720

Sada za različite vrijednosti 𝑚𝑚 (broj članova reda koje uzmemo) dobijamo različite formule, pa tako na primjer 𝑚𝑚 = 0 dobijamo implicitni Euler-ov metod (backward Euler's method) odnosno: 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛+1 , 𝑦𝑦𝑛𝑛+1 ) Za 𝑚𝑚 = 1 dobijamo trapezni Euler-ov metod:

1 1 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛+1 , 𝑦𝑦𝑛𝑛+1 ) − ℎ𝑓𝑓(𝑥𝑥𝑛𝑛+1 , 𝑦𝑦𝑛𝑛+1 ) + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) 2 2 ℎ 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + �𝑓𝑓(𝑥𝑥𝑛𝑛+1 , 𝑦𝑦𝑛𝑛+1 ) + 𝑓𝑓 (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )� 2

- 104 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Prediktor formula se uzima nižeg reda, a implicitna korektor formula višeg reda. Pa tako imamo prediktor-korektor par, odnosno: Euler-ov prediktor-korektor metod (0)

Prediktor

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + ℎ𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 )

ℎ (𝑘𝑘) (𝑘𝑘−1) 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + �𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) + 𝑓𝑓 �𝑥𝑥𝑛𝑛+1 , 𝑦𝑦𝑛𝑛+1 �� 2

Korektor

Ako u formuli za 𝑝𝑝 = 0 uzmemo da je 𝑚𝑚 = 3 dobijamo sljedeći prediktor-korektor par, odnosno: Adams-ov predkiktor-korektor metod

ℎ (55𝑓𝑓𝑛𝑛 − 59𝑓𝑓𝑛𝑛−1 + 37𝑓𝑓𝑛𝑛−2 − 9𝑓𝑓𝑛𝑛 −3 ) 24 ℎ (𝑘𝑘) (𝑘𝑘−1) 𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 + �9𝑓𝑓𝑛𝑛+1 + 19𝑓𝑓𝑛𝑛 − 5𝑓𝑓𝑛𝑛−1 + 𝑓𝑓𝑛𝑛−2 � 24 251 5 (5) Greška metoda: 𝑅𝑅 = ℎ 𝑓𝑓𝑛𝑛 720 (0)

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛 +

Prediktor Korektor

Za 𝑝𝑝 = 1 i 𝑚𝑚 = 3 dobijamo važnu formulu (jer se anulira jedan član): Milne-ov prediktor-korektor metod

(0)

4ℎ (2𝑓𝑓𝑛𝑛 − 𝑓𝑓𝑛𝑛 −1 + 2𝑓𝑓𝑛𝑛−2 ) 3 ℎ (𝑘𝑘−1) = 𝑦𝑦𝑛𝑛−3 + �𝑓𝑓𝑛𝑛+1 + 4𝑓𝑓𝑛𝑛 + 𝑓𝑓𝑛𝑛 −1 � 3

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−3 + (𝑘𝑘)

𝑦𝑦𝑛𝑛+1

Greška metoda:

Prediktor Korektor

𝐿𝐿𝐿𝐿~ℎ 6

Implicitnim metodama se uslovi stabilnosti višekoračnih metoda neznatno povećavaju, analiza stabilnosti se svodi na analizu diferentnih jednačina.

Mihailo Šibonjić

- 105 -

Optimizacione metode u elektrotehnici – Predavanja

OPTIMIZACIJA Zadatak optimizacije je naći minimum (maksimum) funkcije više promjenjivih, odnosno: min 𝑓𝑓 (𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑛𝑛 )



min 𝑓𝑓(𝑥𝑥⃗ )

max 𝑓𝑓 (𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑛𝑛 )



max 𝑓𝑓 (𝑥𝑥⃗)

Ova funkcija se naziva funkcija cilja ili ciljna funkcija (objektivna funkcija). Imamo za cilj naći neko 𝑥𝑥 koje će funkciji dati minimalnu (maksimalnu) vrijednost. Potrebno je napomenuti da ako je stvarni problem definisan u obliku nalaženja maksimuma funkcije odnosno:

Taj problem uvijek možemo preformulisati u problem nalaženja minimuma funkcije, pri čemu tačka optimuma ostaje ista ali ce vrijednost biti suprotnog predznaka odnosno: max 𝑓𝑓(𝑥𝑥⃗ )



Grafički to možemo predstaviti na sljedeći način:

min�−𝑓𝑓(𝑥𝑥⃗)�

-f(x) x f(x)

Podjela problema optimizacije: Kriterij podjele Broj promjenjivih: Ograničenja: Derivabilnost funkcije: Tip funkcija: Karakter skupa dopustivih rješenja Ω: Aspekt vremena:

Karakter promjenjive:

- 106 -

Podjela - Jednodimenzioni problem 𝑓𝑓 (𝑥𝑥) - Višedimenzioni problem 𝑓𝑓(𝑥𝑥⃗ ) - Bez ograničenja - Sa ograničenjima - Derivabilni problem - Nederivabilni problem - Linearno programiranje - Nelinearno programiranje - Konveksno programiranje - Nekonveksno programiranje - Stacionaran (vrijeme ne egzistira) - Dinamički (vrijeme egzistira - Kontinualno programiranje - Cjelobrojno programiranje - Mješoviti problem (najčešći problem)

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Oblast u kojoj tražimo rješenja može biti skup realnih brojeva ℝ ali takođe može biti i neki manji skup. Pri rješavanju problema optimizacije mogu postojati ograničenja, ali i ne moraju. Ukoliko postoje, ograničenja su data u vidu jednačina i/ili nejednačina, pa tako na primjer ako imamo ograničenja tipa: 𝑥𝑥 ≥ 𝑎𝑎

i

𝑥𝑥 ≤ 𝑏𝑏

Oblast u kojoj tražimo rješenja naziva se skup dopustivih rješenja i označavamo ga sa Ω, odnosno: f(x)

Skup Ω

a

b

Ako imamo ograničenja tada definišemo skup dopustivih rješenja pri čemu svako 𝑥𝑥 iz skupa dopustivih rješenja Ω može da bude traženo rješenje optimizacije. Skup dopustivih rješenja definišemo kao: Ω = {𝑥𝑥⃗ | ℎ𝑖𝑖 (𝑥𝑥⃗) = 0 ⋀ 𝑔𝑔𝑖𝑖 (𝑥𝑥⃗ ) ≤ 0}

Generalno problem kod skupa dopustivih rješenja Ω je što granične tačke mogu biti minimum ili maksimum a da te tačke nisu stacionarne tačke. Zbog toga se nastoji naći neka druga funkcija koja će imati stacionarne tačke u tim graničnim tačkama, kao i stacionarnim tačkama polazne funkcije (funkcije za koju tražimo optimum). Ako imamo problem sa ograničenjima možemo ga prevesti u problem bez ograničenja, na primjer u Langrange-ovu funkciju, odnosno ako imamo funkciju više promjenjivih i više ograničenja tipa jednakosti možemo dobiti Langrenge-ovu funkciju kao: 𝑘𝑘

Λ = 𝑓𝑓 (𝑥𝑥⃗) + � 𝜆𝜆𝑖𝑖 ℎ𝑖𝑖 (𝑥𝑥⃗) = Λ�𝑥𝑥⃗, 𝜆𝜆⃗� 𝑖𝑖=0

Langrange-ova funkcija je sada funkcija od (𝑛𝑛 + 𝑘𝑘) promjenjivih. Postoji više načina da se problem sa ograničenjima prevede u problem bez ograničenja. Za funkciju više promjenjivih imamo više ograničenja (ako su ograničenja tipa nejednakosti onda dobijamo oblast koja ima beskonačno graničnih tačaka). Ako odaberemo tačku 𝑥𝑥 koja je iz skupa dopustivih rješenja Ω i zadovoljava 𝑔𝑔(𝑥𝑥) = 0, a ograničenje je dato tipa nejednakosti onda kažemo da 𝑥𝑥 zadovoljava aktivno ograničenje. Smjer u kome se možemo kretati iz neke tačke u drugu unutar skupa dopustivih rješenja Ω, a da pri tome ostanemo u tom skupu naziva se dopustivi smjer. Ako u nekoj tački 𝑥𝑥 imamo aktivno ograničenje, to nam govori da u toj tački postoje i nedopustivi smjerovi (smjerovi koji nas vode van skupa dopustivih rješenja).

Mihailo Šibonjić

- 107 -

Optimizacione metode u elektrotehnici – Predavanja Ako rješavamo neki višedimenzioni problem, na primjer tražimo optimum (minimum ili maksimum) neke funkcije tri promjenjive 𝑓𝑓 (𝑥𝑥1 , 𝑥𝑥2 , 𝑥𝑥3 ), postupamo na sljedeći način: x3

d

xk

x2

x1

Iterativni postupak možemo svesti na sljedeću konstrukciju. Krećemo iz neke tačke 𝑥𝑥⃗𝑘𝑘 koja se nalazi u skupu dopustivih rješenja, zatim nađemo dopustivi smjer 𝑑𝑑⃗ u kome vrijednost funkcije opada (ako tražimo optimum tipa minimum). Najbolje bi bilo kretati se u smjeru negativnog gradijenta odnosno �– ∇𝑓𝑓 (𝑥𝑥⃗)�, a ako je vrijednost gradijenta u toj tački jednaka nuli, tada za tu tačku kažemo da je ili prevojna tačka ili tačka ekstrema. Smjer 𝑑𝑑⃗ je normiran jer nam je samo bitan pravac kretanja a ne i intenzitet. Kretanje iz tačke 𝑥𝑥⃗𝑘𝑘 u smjeru 𝑑𝑑⃗ se vrši sa korakom 𝜎𝜎. f(xk)

xk

x

𝑓𝑓 (𝑥𝑥⃗𝑘𝑘+1 ) = 𝑓𝑓�𝑥𝑥⃗𝑘𝑘 + 𝜎𝜎𝑑𝑑⃗�

σ

Koliko se pomjeramo računamo na osnovu jednakosti (za funkciju jedne promjenjive): 𝐹𝐹 (𝜎𝜎) = �𝑥𝑥⃗𝑘𝑘+1 + 𝜎𝜎𝑑𝑑⃗�

Jako puno višedimenzionih problema se svode na nalaženje jednodimenzione optimizacije u svakom koraku odnosno iteraciji. Najviše vremena trošimo na nalaženje smjera 𝑑𝑑⃗, kao i na računanje 𝐹𝐹(𝜎𝜎) odnosno jednodimenzione optimizacije, pa se na osnovu toga vrši i podjela algoritama. Iako je za dopusustivi smjer kretanja najbolje odabrati smjer negativnog gradijenta to se ne koristi često zbog kompleksnosti funkcija, kao i činjenice da funkcije mogu a i ne moraju biti izražene analitički pa prema tome nemamo gradijent jer sama funkcija nije derivabilna. „Dovoljno je da samo jedna funkcija bude nelinearna (a ostale linearne), pa da problem postane nelinearan problem“.

- 108 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Kod konveksnog programiranja imamo konveksne funkcije 𝑓𝑓, 𝑔𝑔 𝑖𝑖 ℎ a ograničenja su tipa nejednakosti. Za funkciju kažemo da je konveksna ako vrijedi: 𝑓𝑓�(1 − 𝜆𝜆)𝑥𝑥⃗1 + 𝜆𝜆𝑥𝑥⃗2 � ≤ (1 − 𝜆𝜆)𝑓𝑓(𝑥𝑥⃗1 ) + 𝜆𝜆𝜆𝜆(𝑥𝑥⃗2 )

Odnosno da je strogo konveksna ako vrijedi:

𝑓𝑓�(1 − 𝜆𝜆)𝑥𝑥⃗1 + 𝜆𝜆𝑥𝑥⃗2 � < (1 − 𝜆𝜆)𝑓𝑓(𝑥𝑥⃗1 ) + 𝜆𝜆𝜆𝜆(𝑥𝑥⃗2 )

Za funkciju kažemo da je konkavna ako vrijedi:

𝑓𝑓�(1 − 𝜆𝜆)𝑥𝑥⃗1 + 𝜆𝜆𝑥𝑥⃗2 � ≥ (1 − 𝜆𝜆)𝑓𝑓(𝑥𝑥⃗1 ) + 𝜆𝜆𝜆𝜆(𝑥𝑥⃗2 )

Odnosno strogo konkavna:

𝑓𝑓�(1 − 𝜆𝜆)𝑥𝑥⃗1 + 𝜆𝜆𝑥𝑥⃗2 � > (1 − 𝜆𝜆)𝑓𝑓(𝑥𝑥⃗1 ) + 𝜆𝜆𝜆𝜆(𝑥𝑥⃗2 )

Pa na primjer konveksnu funkciju predstavljamo grafički kao:

f(x)

x2

x1

Odnosno konkavna funkcija:

x2 x1

Mihailo Šibonjić

f(x)

- 109 -

Optimizacione metode u elektrotehnici – Predavanja

- Klasična optimizacija Razmatrajmo problem optimizacije funkcije više promjenjivih. Odnosno tražimo optimum funkcije: 𝑓𝑓 (𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑛𝑛 ) = 𝑓𝑓(𝑥𝑥⃗ ).

Prvo je potrebno odrediti stacionarne tačke, odnosno kandidate za optimum na način da je: 𝜕𝜕𝜕𝜕 =0 𝜕𝜕𝑥𝑥𝑖𝑖

𝑖𝑖 = 1,2, … , 𝑛𝑛

Dobijamo sistem jednačina na osnovu kojeg dolazimo do stacionarnih tačaka: 𝑥𝑥⃗ ∗ = (𝑥𝑥1∗ , 𝑥𝑥2∗ , … , 𝑥𝑥𝑛𝑛∗ )

Gradijent funkcije u stacionarnoj tački isčezava odnosno:

Nakon toga nalazimo Hesse-ovu matricu:

∇𝑓𝑓 (���⃗ 𝑥𝑥 ∗ ) = 0

𝑓𝑓 ′′ 𝑓𝑓 ′′ 𝑓𝑓 ′′ ⎡ 𝑥𝑥′′1 𝑥𝑥 1 𝑥𝑥′′1 𝑥𝑥 2 𝑥𝑥′′1 𝑥𝑥 𝑛𝑛 ⎤ 𝑓𝑓 𝑓𝑓 𝑓𝑓 𝐻𝐻 (𝑓𝑓) = ∇2 𝑓𝑓 = ⎢⎢ 𝑥𝑥 2 𝑥𝑥 1 𝑥𝑥 2 𝑥𝑥 2 … 𝑥𝑥 2 𝑥𝑥 𝑛𝑛 ⎥⎥ ⎢ ′′⋮ ′′⋮ ⋱ ′′⋮ ⎥ ⎣𝑓𝑓𝑥𝑥 𝑛𝑛 𝑥𝑥 1 𝑓𝑓𝑥𝑥 𝑛𝑛 𝑥𝑥 2 … 𝑓𝑓𝑥𝑥 𝑛𝑛 𝑥𝑥 𝑛𝑛 ⎦

Razvijanjem funkcije u okolini tačke 𝑥𝑥 ∗ dobijamo (pri čemu se svi izvodi računaju u tački 𝑥𝑥 ∗ ):

𝑓𝑓𝑥𝑥′1 𝑓𝑓𝑥𝑥′ (𝑥𝑥1 − 𝑥𝑥1∗ ) + ⋯ + 𝑛𝑛 (𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ ) + 1! 1! 𝑓𝑓𝑥𝑥′′ 𝑥𝑥 𝑓𝑓𝑥𝑥′′ 𝑥𝑥 𝑓𝑓 ′′ 𝑥𝑥1 𝑥𝑥1 (𝑥𝑥1 − 𝑥𝑥1∗ )(𝑥𝑥1 − 𝑥𝑥1∗ ) + 1 2 (𝑥𝑥1 − 𝑥𝑥1∗ )(𝑥𝑥2 − 𝑥𝑥2∗ ) + ⋯ + 1 𝑛𝑛 (𝑥𝑥1 − 𝑥𝑥1∗ )(𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ ) + + 2! 2! 2! ′′ 𝑓𝑓 𝑓𝑓𝑥𝑥′′𝑛𝑛 𝑥𝑥 1 𝑥𝑥 𝑥𝑥 𝑛𝑛 𝑛𝑛 (𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ )(𝑥𝑥1 − 𝑥𝑥1∗ ) + ⋯ + (𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ )(𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ ) + ⋯ +⋯+ 2! 2!

𝑓𝑓 (𝑥𝑥⃗) = 𝑓𝑓 (𝑥𝑥⃗ ∗ ) +

Što možemo zapisati u kompaktnoj algebarskoj formi :

𝑓𝑓(𝑥𝑥⃗ ) = 𝑓𝑓(𝑥𝑥⃗) + �𝑓𝑓𝑥𝑥′1

𝑓𝑓𝑥𝑥′ 2

𝑇𝑇 𝑥𝑥1 − 𝑥𝑥1∗ 𝑥𝑥1 − 𝑥𝑥1∗ 𝑥𝑥1 − 𝑥𝑥1∗ ∗ ∗ ∗ 1 … 𝑓𝑓𝑥𝑥′𝑛𝑛 � ∙ � 𝑥𝑥2 − 𝑥𝑥2 � + ∙ � 𝑥𝑥2 − 𝑥𝑥2 � ∙ 𝐻𝐻(𝑓𝑓) ∙ � 𝑥𝑥2 − 𝑥𝑥2 � … … … 2 𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ 𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗ 𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛∗

1 𝑓𝑓 (𝑥𝑥⃗ ) = 𝑓𝑓 (𝑥𝑥⃗ ∗ ) + ∇T 𝑓𝑓 (𝑥𝑥⃗ − 𝑥𝑥⃗ ∗ ) + (𝑥𝑥⃗ − 𝑥𝑥⃗ ∗ )∇2 𝑓𝑓(𝑥𝑥⃗ − 𝑥𝑥⃗ ∗ ) + ⋯ 2

- 110 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Zanima nas kako se funkcija ponaša u okolini tačke 𝑥𝑥⃗ ∗ , pa prema tome najprije definišimo okolinu tačke 𝑥𝑥⃗ ∗ kao: 𝑁𝑁(𝑥𝑥⃗ ∗ ) = {𝑥𝑥⃗ | ‖𝑥𝑥⃗ − 𝑥𝑥⃗ ∗ ‖ < 𝜖𝜖 }

Za tačku 𝑥𝑥⃗ ∗ kažemo da je lokalni maksimum ako vrijedi:

�∀𝑥𝑥 ∈ 𝑁𝑁(𝑥𝑥⃗)��𝑓𝑓(𝑥𝑥⃗ ∗ ) ≥ 𝑓𝑓(𝑥𝑥⃗ )�

Odnosno strogi lokalni maksimum (izolovani maksimum):

�∀𝑥𝑥 ∈ 𝑁𝑁(𝑥𝑥⃗)��𝑓𝑓(𝑥𝑥⃗ ∗ ) > 𝑓𝑓(𝑥𝑥⃗ )�

Za tačku 𝑥𝑥⃗ ∗ kažemo da je lokalni minimum ako vrijedi:

�∀𝑥𝑥 ∈ 𝑁𝑁(𝑥𝑥⃗)��𝑓𝑓(𝑥𝑥⃗ ∗ ) ≤ 𝑓𝑓(𝑥𝑥⃗ )�

Odnosno strogi lokalni minimum (izolovani minimum):

�∀𝑥𝑥 ∈ 𝑁𝑁(𝑥𝑥⃗)��𝑓𝑓(𝑥𝑥⃗ ∗ ) ≥ 𝑓𝑓(𝑥𝑥⃗ )�

Da bi neki minimum ili maksimum bio globalni onda gornje izrazi trebaju da vrijede za bilo koje 𝑥𝑥⃗ koje pripada skupu dopustivih rješenja Ω.

xk

xk*

Označimo vektor 𝑑𝑑⃗ kao 𝑑𝑑⃗ = 𝑥𝑥⃗ − 𝑥𝑥⃗ ∗ te se na osnovu njega pomjerajmo se po okolini. Ako je 𝑥𝑥⃗ ∗ stacionarna tačka onda vrijedi da je: ∇𝑇𝑇 𝑓𝑓 (𝑥𝑥⃗ ∗ ) = 0

Na osnovu Taylor-ovog razvoja funkcije u red možemo pisati: 1 𝑓𝑓(𝑥𝑥⃗ ) = 𝑓𝑓 (𝑥𝑥⃗ ∗ ) + 𝑑𝑑⃗𝑇𝑇 ∇2 𝑓𝑓 (𝑥𝑥⃗ ∗ )𝑑𝑑⃗ 2

Mihailo Šibonjić

- 111 -

Optimizacione metode u elektrotehnici – Predavanja Da bi tačka 𝑥𝑥⃗ ∗ bila lokalni minimum potrebno je da za sve vektore 𝑑𝑑⃗ bude zadovoljeno: �∀𝑑𝑑⃗ ≠ 0��𝑑𝑑⃗𝑇𝑇 ∇2 𝑓𝑓 (𝑥𝑥⃗ ∗ )𝑑𝑑⃗� > 0

Odnosno da bi tačka 𝑥𝑥⃗ ∗ bila lokalni maksimum treba da vrijedi:

�∀𝑑𝑑⃗ ≠ 0��𝑑𝑑⃗𝑇𝑇 ∇2 𝑓𝑓 (𝑥𝑥⃗ ∗ )𝑑𝑑⃗� < 0

U slučaju da je ∇2 𝑓𝑓 (𝑥𝑥⃗ ∗ ) = 0 tada su potrebna dodatna ispitivanja, odnosno potrebno je ispitivati ponašanja viših izvoda. Međutim ako vrijedi da je: 𝑑𝑑⃗𝑇𝑇 ∇2 𝑓𝑓(𝑥𝑥⃗ ∗ )𝑑𝑑⃗ ⋛ 0

Tada tačka 𝑥𝑥⃗ ∗ nije ekstremna tačka, odnosno nije optimum funkcije.

Ispitivanje se može vršiti i preko kvadratnih formi. Hessijan odnosno Hesse-ova matrica je konstanta u kvadratnoj formi. Kvadratnu formu zapisujemo u obliku: 1 𝑓𝑓(𝑥𝑥⃗ ) = 𝑥𝑥⃗𝐴𝐴𝑥𝑥⃗ + 𝑏𝑏�⃗𝑇𝑇 𝑥𝑥⃗ + 𝑐𝑐 2

Pri čemu je:

∇𝑓𝑓(𝑥𝑥⃗ ) = 𝐴𝐴𝑥𝑥⃗ + 𝑏𝑏�⃗

Zanima nas forma:

∇2 𝑓𝑓 (𝑥𝑥⃗) = 𝐴𝐴

𝑓𝑓 (𝑥𝑥⃗ ) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗

Uvijek možemo naći simetričnu matricu koja ima istu kvadradnu formu, odnosno: 1 𝐵𝐵 = (𝐴𝐴 + 𝐴𝐴𝑇𝑇 ) 2

Ako je data matrica 𝐴𝐴 = ∇2 𝑓𝑓(𝑥𝑥⃗ ∗ ) zanima nas definitnost kvadratne forme, pa prema tome imamo: �∀𝑥𝑥⃗ ≠ �0⃗�

𝑓𝑓 (𝑥𝑥⃗) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ > 0

�⃗� �∀𝑥𝑥⃗ ≠ 0

𝑓𝑓 (𝑥𝑥⃗) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ ≥ 0

Nenegativna kvadratna forma

𝑓𝑓 (𝑥𝑥⃗) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ ⋛ 0

Nedefinitna kvadratna forma

�∀𝑥𝑥⃗ ≠ �0⃗� �∀𝑥𝑥⃗ ≠ �0⃗� �⃗� �∀𝑥𝑥⃗ ≠ 0

- 112 -

Pozitivna kvadratna forma

𝑓𝑓 (𝑥𝑥⃗) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ < 0

Negativna kvadratna forma

𝑓𝑓 (𝑥𝑥⃗) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ ≤ 0

Nepozitivna kvadratna forma

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Zaključujemo da definitnost kvadratne forme zavisi isključivo od matrice 𝐴𝐴, pa prema tome kažemo da je matrica 𝐴𝐴 pozitino definitna ako je njena kvadratna forma poztivna, odnosno negativno defirnitna ako je kvadratna forma negativna, nenegativno definitna ako je kvadratna forma pozitvno semidefinitna, kao i nepozitivno definitna ako je kvadratna forma negativno semidefinitna i indefinitna ako je kvadratna forma nedefinitna. Na osnovu definitnosti zaključujemo da vrijedi: ∇2 𝑓𝑓(𝑥𝑥⃗ ∗ )



Pozitivno definitna

∇2 𝑓𝑓(𝑥𝑥⃗ ∗ )



Pozitivno semidefinitna



Nedefinitna

∇2 𝑓𝑓(𝑥𝑥⃗ ∗ ) ∇2 𝑓𝑓(𝑥𝑥⃗ ∗ ) ∇2 𝑓𝑓(𝑥𝑥⃗ ∗ )



Negativno definitna



Negativno semidefinitna



Minimum



Nije strogi minimum



Nije ekstrem



Maksimum



Nije strogi maksimum

Definitnost matrice možemo odrediti na osnovu Sylvester-ovog kriterijuma. Za matricu 𝐴𝐴 kažemo da je pozitivno definitna ako su svi glavni minori matrice 𝐴𝐴 veći od nule, odnosno ako vrijedi: A tada vrijedi:

𝑎𝑎11 𝐴𝐴1 = 𝑎𝑎11 > 0, 𝐴𝐴2 = �𝑎𝑎 21

𝑎𝑎12 𝑎𝑎22 � > 0,

…, det(𝐴𝐴) > 0

�⃗ ∀𝑥𝑥⃗ ≠ 0

𝑓𝑓(𝑥𝑥⃗ ∗ ) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ > 0

I kažemo da je pozitivno definitna. Isptivanje negativne definitnosti možemo vršiti na isti način samo za negativnu funkciju odnosno: 𝐹𝐹 (𝑥𝑥⃗ ) = −𝑓𝑓 (𝑥𝑥⃗) = 𝑥𝑥⃗ 𝑇𝑇 (−𝐴𝐴)𝑥𝑥⃗ < 0

Odnosno kažemo da je negativno definitna ako vrijedi: 𝑎𝑎11 𝐴𝐴1 = 𝑎𝑎11 < 0, 𝐴𝐴2 = �𝑎𝑎 21

𝑎𝑎12 𝑎𝑎22 � > 0,

�⃗ ∀𝑥𝑥⃗ ≠ 0 …, (−1)𝑛𝑛 det(𝐴𝐴) > 0

Prvi minor je manji od nule a svaki naredni naizmjenično mjenja znak, pa kažemo da je negativno definitna. Važno je još i napomenuti da: 𝐻𝐻 (𝑥𝑥⃗0 ) > 0

𝐻𝐻 (𝑥𝑥⃗0 ) < 0

Mihailo Šibonjić





𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘 𝑢𝑢 𝑡𝑡𝑡𝑡č𝑘𝑘𝑘𝑘 𝑥𝑥⃗0 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘 𝑢𝑢 𝑡𝑡𝑡𝑡č𝑘𝑘𝑘𝑘 𝑥𝑥⃗0

- 113 -

Optimizacione metode u elektrotehnici – Predavanja

- Problemi sa ograničenjima tipa jednačina Razmatrajmo problem nalaženja optimuma funkcije više promjenjivih:

Po ograničenjima:

min 𝑓𝑓(𝑥𝑥⃗ )

𝑥𝑥⃗ = (𝑥𝑥1 , 𝑥𝑥2 , … . 𝑥𝑥𝑛𝑛 )

ℎ1 (𝑥𝑥⃗) = 0 …. ℎ𝑚𝑚 (𝑥𝑥⃗) = 0

Jedna od metoda rješevanja ovakvog problema je metod eliminacije, odnosno sistem jednačina (ograničenja) od 𝑚𝑚 promjenjivih izrazimo preko (𝑛𝑛 − 𝑚𝑚 ) promjenjivih pa uvrstimo u funkciju čiji optimum tražimo. Time smo efektivno sveli problem nalaženja optimuma sa ograničenjima, u problem funkcije cilja odnosno u funkciju za koju tražimo optimum bez ograničenja, sa (𝑛𝑛 − 𝑚𝑚 ) promjenjivih. Ako tražimo minimum funkcije 𝑓𝑓 (𝑥𝑥⃗ ) odnosno:

min 𝑓𝑓 (𝑥𝑥⃗)

Po ograničenju:

ℎ1 (𝑥𝑥⃗) = 0

Pod pretpostavkom da minimum funkcije postoji , rješenje odosno minimum funkcije tražimo u obliku: min(𝑓𝑓(𝑥𝑥⃗ ) + 𝛼𝛼ℎ 2 (𝑥𝑥⃗) )

Kada koeficijent 𝛼𝛼 teži ka beskonačnosti rješenja ova dva problema su ista. Stavimo koeficijent 𝛼𝛼 veoma veliki pa rješavamo problem. Na ovoj ideji se temelje metode kaznenih funkcija, medju kojima je i Courant-ov metod. Sam koeficijent 𝛼𝛼 nije konstantan nego je 𝛼𝛼 = 𝛼𝛼(𝑥𝑥⃗ ) zbog problema kod zaokruživanja pri radu na računaru, odnosno zbog mašinskih grešaka. Što je ℎ (𝑥𝑥⃗) bliže nuli to 𝛼𝛼 treba da bude manje. α

h1(x)

Funkcija kazne 𝛼𝛼(𝑥𝑥⃗ ) kažnjava funkciju 𝑓𝑓(𝑥𝑥⃗ ) za sve 𝑥𝑥 za koje je ℎ1 (𝑥𝑥) dalje od 𝑥𝑥 . Najpopularnije kaznene funkcije su logaritamske kaznene funkcije, zatim elipsoidni algoritam i „interior point“ metodi. Svaki problem se može predstaviti u obliku optimizacije, bilo traženja minimuma ili maksimuma.

- 114 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Metod Langrange-ovih množitelja Rješavamo problem: min 𝑓𝑓 (𝑥𝑥⃗)

Sa ograničenjima: ℎ1 (𝑥𝑥⃗) = 0 ℎ2 (𝑥𝑥⃗) = 0 … ℎ𝑚𝑚 (𝑥𝑥⃗) = 0

Matrica gradijenata ograničenja data je Jaccobi-jevom matricom odnosno: ∇ℎ1 (𝑥𝑥⃗) ( ) ∇ℎ = � ∇ℎ2 𝑥𝑥⃗ � ⋮ ∇ℎ𝑚𝑚 (𝑥𝑥⃗)

Ako je tačka 𝑥𝑥⃗ ∗ rješenje polaznog problema, gradijent funkcije cilja se može izraziti preko gradijenata ograničenja u tački 𝑥𝑥⃗ ∗ na sljedeći način: 𝑚𝑚

∇𝑓𝑓(𝑥𝑥⃗ ) = � 𝑎𝑎𝑖𝑖 ∇ℎ𝑖𝑖 (𝑥𝑥⃗) 𝑖𝑖=1

Neka je rang matrice ograničenja jednak 𝑚𝑚. Formirajmo Langrange-ovu funkciju: 𝑚𝑚

Λ�𝑥𝑥⃗, 𝜆𝜆⃗� = 𝑓𝑓 (𝑥𝑥⃗ ) + � 𝜆𝜆𝑗𝑗 ℎ𝑗𝑗 (𝑥𝑥⃗ ) 𝑗𝑗 =1

Za optimalnu tačku �𝑥𝑥⃗ ∗ , 𝜆𝜆⃗∗ �. Nađimo sve izvode Langrange-ove funkcije po svim 𝑥𝑥𝑖𝑖 odnosno: 𝑚𝑚

Λ′𝑥𝑥 𝑖𝑖 = 𝑓𝑓𝑥𝑥′𝑖𝑖 + � 𝜆𝜆𝑗𝑗 ℎ𝑗𝑗′

Odnosno možemo pisati:

𝑗𝑗 =1

𝑥𝑥 𝑖𝑖

∇𝛬𝛬𝑥𝑥 = ∇𝑓𝑓 + ∇𝑇𝑇 ℎ𝜆𝜆⃗

Tražimo tačku �𝑥𝑥⃗ ∗ , 𝜆𝜆⃗∗ � za koju će svi parcijalni izvodi biti jednaki nuli. ∇𝑓𝑓 (𝑥𝑥⃗ ∗ ) + ∇𝑇𝑇 ℎ(𝑥𝑥⃗ ∗ )𝜆𝜆⃗∗ = 0

Mihailo Šibonjić

(∗)

- 115 -

Optimizacione metode u elektrotehnici – Predavanja Odnosno za izvode po 𝜆𝜆𝑖𝑖 imamo: Tražimo:

Λ′𝜆𝜆 𝑖𝑖 = ℎ𝑖𝑖 (𝑥𝑥⃗) ℎ𝑖𝑖 (𝑥𝑥⃗) = 0

(∗∗)

Gradijent funkcije možemo izraziti preko ograničenja, a iz izvoda po 𝜆𝜆 𝑖𝑖 upravo dobijamo ograničenja, što se da zaključiti da su stacionarne tačke polaznog sistema ujedno i stacionarne tačke i Lagrange-ove funkcije. Kako iz (∗) imamo 𝑛𝑛 jednačina, a iz (∗∗) dobijamo 𝑚𝑚 jednačina, to znači na osnovu (𝑛𝑛 + 𝑚𝑚) jednačina dobijamo stacionarne tačke. Na primjer ako imamo funkciju tri promjenjive 𝑓𝑓(𝑥𝑥1 , 𝑥𝑥2 , 𝑥𝑥3 ) i potrebno je izvršiti optimizaciju, odnosno potrebno je naći minimum funkcije: min 𝑓𝑓(𝑥𝑥1 , 𝑥𝑥2 , 𝑥𝑥3 )

Po ograničenjima:

ℎ1 (𝑥𝑥1 , 𝑥𝑥2 , 𝑥𝑥3 ) = 0

ℎ2 (𝑥𝑥1 , 𝑥𝑥2 , 𝑥𝑥3 ) = 0

Odnosno ako bi grafički predstavili gornji problem:

d2 x*

h1(x1,x2,x3)

Δ

- f( x )

Δ

Δ

h2

Δ

x3

f( x ) d1

h1 h2(x1,x2,x3) x2

x1

Pretpostavimo da je tačka 𝑥𝑥⃗ ∗ tačka minimuma. Okolina tačke 𝑥𝑥⃗ ∗ predstavlja krivu po kojoj se sjeku uslovne površine, odnosno imamo samo dva moguća pravca kretanja a to su vektori 𝑑𝑑⃗1 i 𝑑𝑑⃗2 koji su normalni na ∇𝑓𝑓(𝑥𝑥⃗ ∗ ). Tačka 𝑥𝑥⃗ ∗ nije optimalno rješenje, odnosno nije minimum funkcije cilja ako se pomjeranjem po krivoj presjeka dobijaju manje vrijednosti funkcije cilja.

- 116 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Vektor 𝑑𝑑⃗ predstavlja dopustivi smjer kretanja, odnosno krećući se u smjeru vektora 𝑑𝑑⃗ ostajemo u skupu dopustivih rješenja. )

3

,x

2

Δ

,x

1

(x

2

h

d2 h1(x1,x2,x3)

f( x )

x*

d1

Vektor 𝑑𝑑⃗ po kome se možemo kretati mora da zadovolji: ∇ℎ1 (𝑥𝑥⃗ ∗ )𝑑𝑑⃗ = 0

∇ℎ2 (𝑥𝑥⃗ ∗ )𝑑𝑑⃗ = 0

Odnosno vektor 𝑑𝑑⃗ mora biti normalan na (u ovom slučaju) oba gradijenta. Da bi ispitali da li je tačka 𝑥𝑥⃗ ∗ optimalna tačka, odnosno da li je minimum, potrebno je da u okolini tačke 𝑥𝑥⃗ ∗ nema tačaka koje će funkciji dati manju vrijednost. Ako postoji vektor 𝑑𝑑⃗ takav da je dopustiv i ako vrijedi: 𝑓𝑓�𝑥𝑥⃗ ∗ + 𝑑𝑑⃗� < 𝑓𝑓 (𝑥𝑥⃗ ∗ )

Tada tačka 𝑥𝑥⃗ ∗ nije optimalna. U ovakvom slučaju vektor 𝑑𝑑⃗ mora zaklapati oštar ugao sa �−∇𝑓𝑓(𝑥𝑥⃗ ∗ )�. Da bi tačka 𝑥𝑥⃗ ∗ bila optimum tačka, gradijent cilja mora ležati u ravni definisanoj sa vektorima ograničenja. Ako je vrijedi da je ∇2 Λ𝑥𝑥𝑥𝑥 pozitivno definitna onda se radi o minimumu, a ako je negativno definitna onda se radi o tački maksimuma. Međutim, mi ne trebamo da ispitujemo za sve smjerove, nego samo za dopustive smjerove. Pa prema tome nas ne zanima da li je zadovoljeno: 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ > 0

Nego nas zanimaju samo dopustivi smjerovi odnosno, da li je zadovoljeno:

Rješavanjem sistema jednačina:

Dobijamo sve dopustive smjerove.

Mihailo Šibonjić

𝑑𝑑⃗𝑇𝑇 𝐴𝐴𝑑𝑑⃗ > 0 ∇ℎ (𝑥𝑥⃗ ∗ ) � 1 ∗ � 𝑑𝑑⃗ = 0 ∇ℎ2 (𝑥𝑥⃗ )

- 117 -

Optimizacione metode u elektrotehnici – Predavanja Potrebno je naći rješenje sistema: 𝐴𝐴𝑥𝑥⃗ = 0

Nul prostor je skup svih vektora koji matricu 𝐴𝐴 anuliraju, odnosno to je skup definisan sa: 𝒩𝒩 (𝐴𝐴) = {𝑥𝑥⃗ | 𝐴𝐴𝑥𝑥⃗ = 0}

Primjenom elementarnih transformacija na matrici 𝐴𝐴 dobijamo (𝑟𝑟 je rang matrice 𝐴𝐴):

Odnosno:

𝐼𝐼𝑟𝑟 ×𝑟𝑟 [𝐴𝐴]𝑚𝑚 ×𝑛𝑛 ~ � 0(𝑛𝑛−𝑟𝑟)×𝑟𝑟

𝑀𝑀𝑟𝑟 ×(𝑛𝑛−𝑟𝑟)

0(𝑛𝑛−𝑟𝑟)×(𝑛𝑛−𝑟𝑟 )



𝑀𝑀𝑟𝑟 ×(𝑛𝑛−𝑟𝑟) � 𝑁𝑁 = � −𝐼𝐼(𝑛𝑛−𝑟𝑟)×(𝑛𝑛−𝑟𝑟)

U matrici 𝑁𝑁 su sadržani svi linearno neazvisni vektori koji anuliraju matricu 𝐴𝐴. Svaki vektor oblika: 𝑡𝑡1 𝑡𝑡2 𝑁𝑁 � ⋮ � = 𝑁𝑁𝑡𝑡⃗ 𝑡𝑡𝑛𝑛

Definiše nula prostor, odnosno zaključujemo da svaki vektor oblika: 𝑑𝑑⃗ = 𝑁𝑁𝑡𝑡⃗

Vodi u dopustiv smjer, odnosno da bi vrijedilo: (∀𝑡𝑡)

𝑡𝑡⃗𝑇𝑇 𝑁𝑁 𝑇𝑇 𝐴𝐴𝐴𝐴𝑡𝑡⃗ > 0

Potrebno je da je (𝑁𝑁 𝑇𝑇 𝐴𝐴𝐴𝐴) bude pozitivno definitno. Pa prema tome dolazimo do zaključka da je potreban uslov za optimum, da vrijedi: 𝑁𝑁 𝑇𝑇 ∇2 Λ𝑥𝑥𝑥𝑥 �𝑥𝑥⃗ ∗ , 𝜆𝜆⃗∗ �𝑁𝑁 > 0

Odnosno da bude pozitivno definitna. Ako je semidefinitna zaključujemo da su potrebna dodatna ispitivanja da bi došli do zaključka da li se radi o optimumu funkcije cilja.

- 118 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Metode jednodimenzione optimizacije

d1

xk

xk+1

d2

σ

Metodom dopustivih smjerova krećemo se iz jedne u drugu tačku. Cilj nam je naći minimum, odnosno optimalnu tačku funkcije cilja. Postavlja se pitanje za koliko 𝜎𝜎 se trebamo pomjeriti u nekom dopustivom smjeru da dođemo do tačke optimuma. Da bi to odredili, postavljamo sebi za cilj naći minimum funkcije: min 𝐹𝐹 (𝜎𝜎) = min 𝑓𝑓�𝑥𝑥⃗𝑘𝑘 + 𝜎𝜎𝑑𝑑⃗� σ

σ

Napomenimo da su aktivna ograničenja zadovoljena sa znakom jednakosti, i da ako nemamo aktivnih ograničenja onda vektor 𝑑𝑑⃗ može imati bilo koji smjer. Pri određivanju samog vektora 𝑑𝑑⃗ treba da pazimo samo na aktivna ograničenja (jer tada imamo nedopustivih smjerova). Neka imamo neko aktivno ograničenje 𝑔𝑔𝑖𝑖 (𝑥𝑥⃗ ∗ ) , i neka je 𝑃𝑃(𝑥𝑥⃗ ∗ ) = {𝑖𝑖 | |𝑔𝑔𝑖𝑖 (𝑥𝑥⃗ ∗ )| < 𝜀𝜀} . Aktivna ograničenja su praktično sva ograničenja za koje vrijedi : |𝑔𝑔𝑖𝑖 (𝑥𝑥⃗ ∗ )| < 𝜀𝜀

Odnosno kada se nalazimo dovoljno blizu nekog aktivnog ograničenja, zbog mašinskih grešaka. Tražimo minimum funkcije jedne promjenjive: min 𝑓𝑓 (𝑥𝑥)

Zanima nas u kome intervalu [𝑎𝑎, 𝑏𝑏] se nalazi optimum. Pretpostavimo da je dat interval u kojem imamo optimalnu tačku. Da bi bili sigurni da se u nekom intervalu nalazi optimum funkcija mora biti unimodalna. Unimodalna funkcija je funkcija koja do tačke minimuma ne raste, a od tačke minimuma ne opada odnosno vrijedi:

x1

x2

x*

x3

Za unimodalnu funkciju vrijedi:

x4

𝑥𝑥1 < 𝑥𝑥2 < 𝑥𝑥 ∗

Mihailo Šibonjić

𝑥𝑥 ∗ < 𝑥𝑥3 < 𝑥𝑥4

→ →

𝑓𝑓 (𝑥𝑥1 ) ≥ 𝑓𝑓(𝑥𝑥2 ) ≥ 𝑓𝑓 (𝑥𝑥 ∗ )

𝑓𝑓 (𝑥𝑥 ∗ ) ≤ 𝑓𝑓 (𝑥𝑥3 ) ≤ 𝑓𝑓(𝑥𝑥4 )

- 119 -

Optimizacione metode u elektrotehnici – Predavanja

- Fibonacci-jev metod Opet imamo problem traženja optimuma neke funkcije. Počinjemo od nekog intervala [𝑎𝑎, 𝑏𝑏] u kome tražimo optimum, odnosno minimalnu vrijednost. Za izvođenje metoda moramo nešto znati o samoj funkciji čiji optimum tražimo.

f(ak-1) ak-1

f(yk)

yk

zk

f(zk)

f(bk-1) bk-1

Pod pretpostavkom da se radi o unimodalnoj funkciji zaključujemo da 𝑓𝑓 (𝑦𝑦𝑘𝑘 ) ne može biti veće (manje) i od 𝑓𝑓 (𝑎𝑎𝑘𝑘−1 ) i od 𝑓𝑓 (𝑏𝑏𝑘𝑘−1 ). Ako je funkcija unimodalna potrebno je računanje vrijednosti funkcije i dvije tačke intervala, te na taj način sužavati početni itnterval, odnosno: 𝑓𝑓(𝑦𝑦𝑘𝑘 ) < 𝑓𝑓 (𝑧𝑧𝑘𝑘 ) 𝑓𝑓(𝑦𝑦𝑘𝑘 ) > 𝑓𝑓 (𝑧𝑧𝑘𝑘 )

[𝑎𝑎𝑘𝑘−1 , 𝑧𝑧𝑘𝑘 ]

Optimum je u segmentu:



[𝑦𝑦𝑘𝑘 , 𝑏𝑏𝑘𝑘−1 ]

Optimum je u segmentu:



𝑎𝑎𝑘𝑘 = 𝑎𝑎𝑘𝑘−1 𝑎𝑎𝑘𝑘 = 𝑦𝑦𝑘𝑘

Neka su 𝑦𝑦𝑘𝑘 i 𝑧𝑧𝑘𝑘 podjednako udaljeni od granica intervala. Tada vrijedi (0 < 𝑐𝑐𝑘𝑘−1 < 0.5):

𝑏𝑏𝑘𝑘 = 𝑧𝑧𝑘𝑘

𝑏𝑏𝑘𝑘 = 𝑏𝑏𝑘𝑘−1

𝑦𝑦𝑘𝑘 = 𝑎𝑎𝑘𝑘−1 + 𝑐𝑐𝑘𝑘 −1 (𝑏𝑏𝑘𝑘−1 − 𝑎𝑎𝑘𝑘−1 )

𝑧𝑧𝑘𝑘 = 𝑏𝑏𝑘𝑘−1 − 𝑐𝑐𝑘𝑘−1 (𝑏𝑏𝑘𝑘−1 − 𝑎𝑎𝑘𝑘−1 )

Mogu nastupiti dva slučaja i to:

𝑎𝑎𝑘𝑘 = 𝑎𝑎𝑘𝑘−1

ili

𝑏𝑏𝑘𝑘 = 𝑧𝑧𝑘𝑘

𝑎𝑎𝑘𝑘 = 𝑦𝑦𝑘𝑘

𝑏𝑏𝑘𝑘 = 𝑏𝑏𝑘𝑘−1

Na taj način dobijamo novu dužinu intervala, koja je u odnosu na predhodnu data sa: |𝑏𝑏𝑘𝑘 − 𝑎𝑎𝑘𝑘 | = (1 − 𝑐𝑐𝑘𝑘−1 )(𝑏𝑏𝑘𝑘−1 − 𝑎𝑎𝑘𝑘−1 )

Ako želimo iskoristiti 𝑦𝑦𝑘𝑘 proglasimo ga za 𝑦𝑦𝑘𝑘+1 i nađemo novo 𝑧𝑧𝑘𝑘+1 u odnosu na novi interval. 𝑦𝑦𝑘𝑘+1 = 𝑦𝑦𝑘𝑘

Pri čemu je:

𝑧𝑧𝑘𝑘 +1 = 𝑏𝑏𝑘𝑘 − 𝑐𝑐𝑘𝑘−1 (𝑏𝑏𝑘𝑘−1 − 𝑎𝑎𝑘𝑘−1 ) = 𝑏𝑏𝑘𝑘 − 𝑐𝑐𝑘𝑘 =

- 120 -

𝑐𝑐𝑘𝑘−1 1 − 𝑐𝑐𝑘𝑘−1

𝑐𝑐𝑘𝑘−1 (𝑏𝑏 − 𝑎𝑎𝑘𝑘 ) 1 − 𝑐𝑐𝑘𝑘−1 𝑘𝑘

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Ako novo 𝑐𝑐𝑘𝑘 odredimo na osnovu prethodne formule onda za 𝑦𝑦𝑘𝑘+1 ostaje stara vrijednost 𝑦𝑦𝑘𝑘 , a za novo 𝑧𝑧𝑘𝑘 uzmemo tačku na istoj udaljenosti od 𝑏𝑏𝑘𝑘 . U svakom koraku provjeravamo: |𝑏𝑏𝑘𝑘−1 − 𝑎𝑎𝑘𝑘−1 | < 2ε

Ako je ispunjen gornji uslov, uzmemo polovinu tog intervala i proglasimo ga za optimum. Posmatrajmo jednakosti: |𝑏𝑏𝑘𝑘 − 𝑎𝑎𝑘𝑘 | = (1 − 𝑐𝑐𝑘𝑘−1 )(𝑏𝑏𝑘𝑘−1 − 𝑎𝑎𝑘𝑘−1 ) Nakon 𝑘𝑘 koraka imamo:

|𝑏𝑏𝑘𝑘+1 − 𝑎𝑎𝑘𝑘+1 | = (1 − 𝑐𝑐𝑘𝑘 )(𝑏𝑏𝑘𝑘 − 𝑎𝑎𝑘𝑘 )

|𝑏𝑏𝑘𝑘+1 − 𝑎𝑎𝑘𝑘+1 | = (1 − 𝑐𝑐𝑘𝑘 )(1 − 𝑐𝑐𝑘𝑘−1 ) … (1 − 𝑐𝑐2 ) �1 − 𝑘𝑘

𝑐𝑐0 � 1 − 𝑐𝑐0

|𝑏𝑏𝑘𝑘+1 − 𝑎𝑎𝑘𝑘+1 | = �(1 − 𝑐𝑐𝑖𝑖 )(𝑏𝑏0 − 𝑎𝑎0 ) 𝑖𝑖=0

Cilj nam je naći: 𝑘𝑘

min|𝑏𝑏𝑘𝑘+1 − 𝑎𝑎𝑘𝑘+1 | = �(1 − 𝑐𝑐𝑖𝑖 )(𝑏𝑏0 − 𝑎𝑎0 ) c0

𝑖𝑖=0



Pošto 𝑐𝑐0 zavisi samo od 𝑘𝑘, pokaže se da nakon 𝑘𝑘 koraka vrijedi: 𝑐𝑐0 =

𝐹𝐹𝑘𝑘 𝐹𝐹𝑘𝑘+2

𝑐𝑐0 =

𝐹𝐹𝑘𝑘 𝐹𝐹𝑘𝑘+2

Gornji izraz kao rješenje problema 1° vrijedi samo za 𝑘𝑘 > 3 (za 𝑘𝑘 < 3 ne vrijedi). Ako se 𝑐𝑐0 za dati problem odabere kao:

Tada se metod naziva Fibonacci-jev metod. Mana metoda je računanje 𝑐𝑐0 za datu grešku (tačnost) jer se metod zbog toga znatno usporava.

Mihailo Šibonjić

- 121 -

Optimizacione metode u elektrotehnici – Predavanja

- Metod zlatnog presjeka Nedostatak Fibonacci-jevog metoda je što prvo moramo odrediti broj iteracija koji garantuje da se optimalna tačka nalazi unutar nekog intervala sa željenom tačnosti, pa tek onda računa koeficijent 𝑐𝑐0 . Posmatrajmo opšti član Fibonacci-jevog niza: 𝐹𝐹𝑘𝑘 +2 = 𝐹𝐹𝑘𝑘+1 + 𝐹𝐹𝑘𝑘

𝐹𝐹𝑘𝑘 +2 − 𝐹𝐹𝑘𝑘+1 − 𝐹𝐹𝑘𝑘 = 0 𝑟𝑟 2 − 𝑟𝑟 − 1 = 0 𝑟𝑟1,2 =

Odnosno imamo:

1 ± √5 2 𝑘𝑘

𝑘𝑘

1 + √5 1 − √5 𝐹𝐹𝑘𝑘 = 𝐴𝐴 � � + 𝐵𝐵 � � 2 2 𝑘𝑘

1

𝑘𝑘

1 − √5 1 + √5 �� � −� � � 𝐹𝐹𝑘𝑘 ≅ 2 2 √5

Za dovoljno veliko 𝑘𝑘 drugi član postaje znatno manji od prvog odnosno dobijamo: 𝑘𝑘

1

1 + √5 𝐹𝐹𝑘𝑘 ≅ � � 2 √5

Pa vrijedi:

𝑘𝑘

𝑐𝑐0 =

1 1 + √5 � 2 � √5

𝐹𝐹𝑘𝑘 1 3 − √5 ≈ = = 𝑘𝑘+2 𝑘𝑘 𝐹𝐹𝑘𝑘 +2 2 1 1 + √5 1 + √5 � 2 � � 2 � √5

Što predstavlja zlatni presjek. Odnosno kako 𝑘𝑘 → ∞, 𝑐𝑐0 teži ga gornjoj vrijednosti. Uzmemo zlatni presjek i računamo narednu tačku te smo na taj način smanjili vrijeme izvođenja algoritma.

- 122 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Metode aproksimacije polinomima Da bi odredili tačku minimuma neke funkcije, prvo je aproksimiramo nekim jednostavnim polinomom, na datom intervalu koji sadrži tačku optimuma, zatim odredimo minimum funkcije kojom smo vršili aproksimaciju a pošto ta funkcija aproksimira polazni problem tako i aproksimirana optimalna tačka aproksimira optimum polazne funkcije. Aproksimacija se najčešće vrši nekom funkcijom drugog ili trećeg reda odnosno koristimo se metodom parabole i kubnom metodom.

f(x)

p(x) f(a) a

f(c)

c

f(d)

f(b) b

Odaberemo tačku 𝑐𝑐 tako da je 𝑓𝑓 (𝑐𝑐) manje bar od 𝑓𝑓(𝑎𝑎 ) ili 𝑓𝑓 (𝑏𝑏). Postavimo parabolu kroz te tri tačke: 𝑎𝑎 2 �𝑏𝑏2 𝑐𝑐 2

𝑝𝑝(𝑥𝑥) = 𝑎𝑎1 𝑥𝑥 2 + 𝑏𝑏1 𝑥𝑥 + 𝑐𝑐1

𝑎𝑎 𝑏𝑏 𝑐𝑐

𝑓𝑓(𝑎𝑎 ) 1 𝑎𝑎1 1� �𝑏𝑏1 � = �𝑓𝑓 (𝑏𝑏)� 𝑓𝑓(𝑐𝑐) 1 𝑐𝑐1

𝑎𝑎1 ⇒ 𝑏𝑏1 𝑐𝑐1

Parabola mora imati minimum na intervalu [𝑎𝑎, 𝑏𝑏]. Minimum parabole, odnosno tačka 𝑑𝑑 je data sa: 𝑑𝑑 = −

𝑏𝑏1 2𝑎𝑎1

Mogu nastupiti dva slučaja, i to da tačka 𝑑𝑑 pada u podinterval [𝑎𝑎, 𝑐𝑐] ili u podinterval [𝑐𝑐, 𝑏𝑏]. Tako da smo smanjili početni interval i ponovo dobili tri tačke kroz koje možemo ponovo provući parabolu te dalje sužavati interval do željene tačnosti. Proces zaustavljamo kada dođemo do prihvatljive aproksimacije tačke optimuma. Kubna metoda se zasniva na istom principu samo što su nam na početku potrebne četiri tačke kroz koje provučemo neku kubnu funkciju oblika: 𝑝𝑝(𝑥𝑥) = 𝑎𝑎1 𝑥𝑥 3 + 𝑏𝑏1 𝑥𝑥 2 + 𝑐𝑐1 𝑥𝑥 + 𝑑𝑑1

Zatim odredimo minimum kubne aproksimacije, te odredimo novi interval gdje se nalazi optimum na isti način kao i kod metoda parabole, te postupak ponavaljamo dok ne dođemo do željene tačnosti aproksimacije.

Mihailo Šibonjić

- 123 -

Optimizacione metode u elektrotehnici – Predavanja

- Newton-ova metoda (metod tangente) Newton-ova metoda se primjenjuje za diferencijabilne funkcije, služi za određivanje stacionarne tačke funkcije cilja. Ako je funkcija konveksna onda je ovo tačka globalnog minimuma.

f(x)

xk+1

xk

Unimodalnu funkciju 𝑓𝑓 (𝑥𝑥) aproksimiramo parabolom:

1 𝑓𝑓 (𝑥𝑥) = 𝑔𝑔(𝑥𝑥) = 𝑓𝑓(𝑥𝑥𝑘𝑘 ) + 𝑓𝑓 ′ (𝑥𝑥𝑘𝑘 )(𝑥𝑥 − 𝑥𝑥𝑘𝑘 ) + 𝑓𝑓 ′′ (𝑥𝑥𝑘𝑘 )(𝑥𝑥 − 𝑥𝑥𝑘𝑘 )2 + ⋯ 2

Odnosno vrijedi:

𝑔𝑔′ (𝑥𝑥) = 𝑓𝑓 ′ (𝑥𝑥𝑘𝑘 ) + 𝑓𝑓 ′′ (𝑥𝑥𝑘𝑘 )(𝑥𝑥 − 𝑥𝑥𝑘𝑘 ) = 0

Djeljenjem sa 𝑓𝑓 ′′ (𝑥𝑥𝑘𝑘 ) dobijamo:

𝑥𝑥𝑘𝑘+1 = 𝑥𝑥𝑘𝑘 −

𝑓𝑓 ′ (𝑥𝑥𝑘𝑘 ) 𝑓𝑓 ′′ (𝑥𝑥𝑘𝑘 )

Računanje stacionarne tačke funkcije 𝑓𝑓(𝑥𝑥) na ovaj način naziva se Newton-ov metod. U principu aproksimiramo funkciju cilja parabolom, nađemo stacionarnu tačku parabole pa odemo na vrijednost funkcije 𝑓𝑓 (𝑥𝑥) u toj tački pa postavimo novu parabolu, te dalje ponavljamo postupak na isti način.

- 124 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Višedimenziona optimizacija bez ograničenja Ove metode ne koriste izvode funkcije 𝑓𝑓 pri određivanju optimalnog rješenja, što znači da se mogu primjeniti i na nederivabilne funkcije (podrazumjeva se da se mogu primjeniti na defivabilne). Testiraju se na kvadratnoj formi oblika: 1 𝑓𝑓 (𝑥𝑥⃗ ) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ + 𝑏𝑏�⃗𝑇𝑇 𝑥𝑥⃗ + 𝑐𝑐 2

- Metoda pomjeranja po osama (Hooke-Jeeves-ova metoda) Tražimo optimum neke funkcije 𝑓𝑓(𝑥𝑥⃗ ) odnosno:

min 𝑓𝑓 (𝑥𝑥⃗)

Imamo neku početnu tačku (bazna tačka) 𝑥𝑥⃗ 𝑘𝑘 = (𝑥𝑥10 , 𝑥𝑥20 , … , 𝑥𝑥𝑛𝑛0 ). Usvojimo neki korak 𝛿𝛿 te se krećemo po nekoj od osa, na primjer po prvoj promjenjivoj, odnosno 𝑥𝑥1 pa ako vrijedi: 𝑓𝑓�𝑥𝑥1𝑘𝑘 + 𝛿𝛿, 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � < 𝑓𝑓�𝑥𝑥⃗ 𝑘𝑘 �

Onda zaključujemo da je korak bio uspješan. Ako je korak bio uspješan probamo se ponovo pomjeriti. Ako korak nije bio uspješan možemo probati pomjeriti se u suprotnom smjeru po 𝑥𝑥1 odnosno: 𝑓𝑓�𝑥𝑥1𝑘𝑘 − 𝛿𝛿, 𝑥𝑥2𝑘𝑘 , … , 𝑥𝑥𝑛𝑛𝑘𝑘 � < 𝑓𝑓�𝑥𝑥⃗ 𝑘𝑘 �

Ako vrijedi gornja nejednakost onda je korak bio uspješan, pa probamo se ponovno pomjeriti za još jedan korak u tom smjeru. Ako je korak bio neuspješan onda zaključujemo da je: 𝑥𝑥1𝑘𝑘 +1 = 𝑥𝑥1𝑘𝑘

Ponavljamo sada postupak za sve ose, odnosno za 𝑥𝑥2 , 𝑥𝑥3 , … , 𝑥𝑥𝑛𝑛 i na kraju dobijamo da je: 𝑥𝑥⃗ 𝑘𝑘+1 = �𝑥𝑥1𝑘𝑘 ± 𝑘𝑘1 𝛿𝛿, 𝑥𝑥2𝑘𝑘 ± 𝑘𝑘2 𝛿𝛿, … , 𝑥𝑥𝑛𝑛𝑘𝑘 ± 𝑘𝑘𝑛𝑛 𝛿𝛿�

Mana metoda je dužina koraka, pošto ne mora biti ista veličina koraka za sve ose. U svakoj iteraciji vršimo pretraživanje po obliku, odnosno tražimo „brda“ i „doline“ u dopustivim smjerovima te pratimo „doline“ i na taj način iterativnim putem dolazimo do tačke optimuma.

Mihailo Šibonjić

- 125 -

Optimizacione metode u elektrotehnici – Predavanja

- Powell-ova metoda Konjugovani smjerovi (vektori) prate oblik funkcije. Ako je funkcija kvadratnog oblika: 1 𝑓𝑓 (𝑥𝑥⃗ ) = 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ + 𝑏𝑏�⃗𝑥𝑥⃗ + 𝑐𝑐 2

Pri čemu je 𝐴𝐴 simetrična pozitivno definitna matrica, tada su potrebna dva pretraživanja pa da odemo do minimuma. Ako nije kvadratna forma onda imamo po jedan korak po iteraciji. Konjugovani smjerovi matrice 𝐴𝐴 su vektori za koje vrijedi: 𝜇𝜇⃗𝑖𝑖𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑗𝑗 = 0

Svaka matrica reda 𝑚𝑚 × 𝑚𝑚 ima 𝑚𝑚 konjugovanih smjerova. Za simetričnu pozitivno definitnu matricu konjugovani smjerovi su svojstvene vrijednosti matrice. Za svaku simetričnu matricu vrijedi: 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑦𝑦⃗ = (𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑦𝑦⃗)𝑇𝑇 𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑦𝑦⃗ = 𝑦𝑦⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ 𝐴𝐴 = 𝐴𝐴𝑇𝑇

Odnosno tada vrijedi da je:

𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑦𝑦⃗ = 𝑦𝑦⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ 𝜇𝜇⃗𝑖𝑖𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑗𝑗 = 𝜇𝜇⃗𝑗𝑗𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 = 0

Neka su 𝑥𝑥⃗ i 𝑦𝑦⃗ svojstveni vektori matrice 𝐴𝐴, odnosno neka vrijedi: 𝐴𝐴𝑥𝑥⃗ = 𝜆𝜆𝑥𝑥⃗

Odnosno:

𝐴𝐴𝑦𝑦⃗ = 𝜇𝜇𝑦𝑦⃗ 𝑦𝑦⃗ 𝑇𝑇 𝐴𝐴𝑥𝑥⃗ = 𝜆𝜆𝑦𝑦⃗ 𝑇𝑇 𝑥𝑥⃗

𝑥𝑥⃗ 𝑇𝑇 𝐴𝐴𝑦𝑦⃗ = 𝜇𝜇𝑥𝑥⃗ 𝑇𝑇 𝑦𝑦⃗

(𝜆𝜆 − 𝜇𝜇)𝑦𝑦⃗ 𝑇𝑇 𝑥𝑥⃗ = 0

Zaključujemo da su svojstveni vektori simetrične matrice normalni. Ako je matrica 𝐴𝐴 regularna onda su svojstveni vektori linearno zavisni. 𝑥𝑥⃗ 𝑇𝑇 𝑦𝑦⃗ = 𝑦𝑦⃗ 𝑇𝑇 𝑥𝑥⃗ = 0

- 126 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja Svojstveni vektori su konjugovani smjerovi, a za simetričnu matricu svojstvene vrijednosti su realne. Bitnost konjugovanih smjerova se ogleda u činjenici da ako startamo iz neke početne tačke, do tačke optimuma možemo doći krećući se po tim smjerovima. 𝑛𝑛



𝑛𝑛

𝑛𝑛

𝑖𝑖=1

𝑖𝑖=1

𝑥𝑥⃗ = 𝑥𝑥⃗0 + � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 𝑖𝑖=1 𝑛𝑛

1 𝑓𝑓 (𝑥𝑥⃗) = �𝑥𝑥⃗0𝑇𝑇 + � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖𝑇𝑇 � 𝐴𝐴 �𝑥𝑥⃗0 + � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 � + 𝑏𝑏�⃗𝑇𝑇 �𝑥𝑥⃗0 + � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 � + 𝑐𝑐 = 2 𝑛𝑛

𝑖𝑖=1

𝑛𝑛

𝑛𝑛

𝑛𝑛

𝑛𝑛

𝑖𝑖=1

𝑖𝑖=1

𝑖𝑖=1

1 1 1 1 = 𝑥𝑥⃗0𝑇𝑇 𝐴𝐴𝑥𝑥⃗0 + 𝑥𝑥⃗0𝑇𝑇 𝐴𝐴 � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖𝑇𝑇 + 𝐴𝐴𝑥𝑥⃗0 � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖𝑇𝑇 + 𝐴𝐴 � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 + 𝑏𝑏�⃗𝑇𝑇 𝑥𝑥⃗0 + 𝑏𝑏�⃗𝑇𝑇 � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 + 𝑐𝑐 = 2 2 2 2 𝑛𝑛

𝑖𝑖=1

𝑛𝑛

𝑖𝑖=1

𝑛𝑛

1 = 𝑓𝑓 (𝑥𝑥⃗0 ) + � 𝜃𝜃𝑖𝑖 𝑥𝑥⃗0𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 + � 𝜃𝜃𝑖𝑖2 𝜇𝜇⃗𝑖𝑖𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 + 𝑏𝑏�⃗𝑇𝑇 � 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖 2 𝑖𝑖=1

𝑖𝑖=1

𝑖𝑖=1

Kao što vidimo nema zavisnosti odnosno nema mješovitih članova, a to znači da iz 𝑥𝑥0 možemo pretraživanjem po konjugovanim smjerovima da dodjemo do tačke 𝑥𝑥⃗ ∗ . Minimum ćemo naći minimizirajući svaki od članova. Pa prema tome 𝑖𝑖-ti član bi glasio: 1 𝜃𝜃𝑖𝑖 𝑥𝑥⃗0𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 + 𝜃𝜃𝑖𝑖2 𝜇𝜇⃗𝑖𝑖𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 + 𝜃𝜃𝑖𝑖 𝑏𝑏�⃗𝑇𝑇 𝜇𝜇⃗𝑖𝑖 2

Pa deriviramo po 𝜃𝜃𝑖𝑖 i izjednačimo sa nulom, dobijamo:

𝑥𝑥⃗0𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 + 𝜃𝜃𝑖𝑖 𝜇𝜇⃗𝑖𝑖𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖 + 𝑏𝑏�⃗𝑇𝑇 𝜇𝜇⃗𝑖𝑖 = 0

Pa dobijamo korak u kome trebamo ići da bi došli do 𝑥𝑥⃗ ∗ , odnosno: 𝜃𝜃𝑖𝑖 = −

�𝐴𝐴𝑥𝑥⃗0 + 𝑏𝑏�⃗� 𝜇𝜇⃗𝑖𝑖𝑇𝑇 𝐴𝐴𝜇𝜇⃗𝑖𝑖

Uzmemo neku početnu tačku 𝑥𝑥⃗0 zatim odredimo konjugovane smjerove i računamo udjele 𝜃𝜃𝑖𝑖 za svaki od smjerova, pa prema tome u 𝑛𝑛 koraka preko 𝑛𝑛 smjerova dolazimo iz 𝑥𝑥⃗0 u tačku 𝑥𝑥⃗ ∗ . Kada dodjemo do tačke minimuma 𝜃𝜃𝑖𝑖 = 0 zbog 𝐴𝐴𝑥𝑥⃗0 + 𝑏𝑏�⃗ = 0, to jest kada vrijedi prethodna jednakost zaključujemo da smo došli do rješenja. Problem samo predstavlja naći konjugovane smjerove. U opštem slučaju matrica 𝐴𝐴 ne mora biti kvadratne forme. Powell-ov metod je numerički metod nalaženja konjugovanih smjerova ako je 𝑓𝑓 bilo kakva funkcija.

Mihailo Šibonjić

- 127 -

Optimizacione metode u elektrotehnici – Predavanja

x2

4

v

5

2

u

3

e2

x0

1 x1

e1

𝐹𝐹(𝜎𝜎) = 𝑓𝑓 (𝑥𝑥⃗0 + 𝜎𝜎𝑒𝑒⃗1 ) Neka je data početna tačka 𝑥𝑥⃗0 . Pretražujemo funkciju po smjerovima 𝑒𝑒1 i 𝑒𝑒2 . Pretpostavka je da su bazni vektori konjugovani vektori, pa vršimo pretragu po trenutnim konjugovanim smjerovima i tražimo minimum. Neka je 1° minimum u smjeru 𝑒𝑒1 . Iz 1° idemo u drugom smjeru i tražimo minimum, odnosno pretražujemo iz 𝑥𝑥0 u 2°. Minimum može biti ili prije ili poslije. Nađemo minimum tog pravca odnosno dolazimo u tačku 3°. Svaki konjugovani smjer koji nađemo stavljamo na kraj, to jest sada smo našli: {𝑒𝑒⃗1 , 𝑒𝑒⃗2 } → {𝑒𝑒⃗2 , 𝑢𝑢 �⃗} Ponavljamo dalje proceduru, to jest iz 3° vršimo pretragu po 𝑒𝑒2 sad u smjeru 3° − 5° tražimo minimum, te na taj način smo korigovali i drugi konjugovani smjer odnosno: {𝑒𝑒⃗1 , 𝑒𝑒⃗2 } → {𝑒𝑒⃗2 , 𝑢𝑢 �⃗} → {𝑢𝑢 �⃗, 𝑣𝑣⃗} Konjugovani smjerovi ne moraju biti normalni. Za funkciju od 𝑛𝑛 promjenjivih, za korekciju samo jednog konjugovanog smjera treba (𝑛𝑛 + 1) pretraga (𝑛𝑛 po smjerovima i 1 po obliku), dok za 𝑛𝑛(𝑛𝑛 + 1) pretragu dobijamo sve konjugovane smjerove.

- 128 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Optimizacija bez ograničenja za derivabilne funkcije Ove metode imaju svojstvo kvadratnog završavanja ako za 𝑛𝑛 koraka daju rješenje.

- Gradijentni metod (Cauchy-ev metod, metod najbržeg opadanja)

U tački 𝑥𝑥0 možemo naći gradijent funkcije odnosno ∇𝑓𝑓(𝑥𝑥0 ) . Gradijent funkcije pokazuje smjer maksimalnog rasta funkcije, pa prema tome ako je problem naći minimum onda jednostavno idemo u smjeru negativnog gradijenta sa nekim korakom 𝜎𝜎, odnosno: Rješavamo problem:

𝑓𝑓�𝑥𝑥⃗0 + 𝜎𝜎∇𝑓𝑓 (𝑥𝑥⃗0 )�

𝐹𝐹 (𝜎𝜎) = 𝑓𝑓�𝑥𝑥⃗0 − 𝜎𝜎∇𝑓𝑓(𝑥𝑥⃗0 )�

Rješenje je 𝜎𝜎 > 0. Problem nastupa kod mašinskog proračuna zbog grešaka zaokruživanja. Pogrešno je uzimati normu gradijenta kao uslov zaustavljanja postupka. Ako tražimo optimum 𝜎𝜎 to znači da tražimo: 𝑑𝑑𝑑𝑑(𝜎𝜎) =0 𝑑𝑑𝑑𝑑

−∇𝑇𝑇 𝑓𝑓�𝑥𝑥⃗0 − 𝜎𝜎∇𝑓𝑓 (𝑥𝑥⃗0 )� ∇𝑓𝑓(𝑥𝑥⃗0 ) = 0 −∇𝑇𝑇 𝑓𝑓 (𝑥𝑥⃗1 )∇𝑓𝑓(𝑥𝑥⃗0 ) = 0

Odnosno zaključujemo da dva susjedna gradijenta su normalna. Dovoljno je naći prvi gradijen, dok drugi ne tražimo nego probamo normalno u jednom i drugom smjeru i tako dalje. - Newton-ov metod Ako imamo funkciju 𝑛𝑛 promjenjivih 𝑓𝑓(𝑥𝑥⃗ ). U nekoj početnoj tački nađemo gradijent funkcije to jest nađemo stacionarne tačke,odnosno rješimo: ∇𝑓𝑓 (𝑥𝑥⃗) = 0

Dobijamo sistem nelinearnih jednačina na koji možemo da primjenimo Newton-Raphson-ov postupak: 𝑥𝑥⃗𝑘𝑘+1 = 𝑥𝑥⃗𝑘𝑘 − ∇2 𝑓𝑓 −1 (𝑥𝑥⃗𝑘𝑘 )∇𝑓𝑓(𝑥𝑥⃗𝑘𝑘 )

Što predstavlja Newton-ov metod za nalaženje optimuma. Postupak se primjenjuje sve dok ne bude zadovoljena nejednakost: |𝑥𝑥⃗𝑘𝑘+1 − 𝑥𝑥⃗𝑘𝑘 | < 𝜀𝜀

Ako je u pitanju kvadratna forma onda je Hesseova matrica konstanta pa je rješenje (minimum) dato sa 𝑥𝑥⃗𝑖𝑖 = −𝐴𝐴−1 𝑏𝑏�⃗. U jednom koraku dobijamo rješenje za kvadratnu formu, a ako nije kvadratna onda više.

Mihailo Šibonjić

- 129 -

Optimizacione metode u elektrotehnici – Predavanja

- Metode promjenjive (varijabilne) metrike (kvazi Newton-ove metode) Dobra osobina Cauchy-eve metode je brzo početno napredovanje metoda, a loša činjenica da je konvergencija linearna i sporo napredovanje u blizini rješenja. Newton-ov metod ima kvadratnu konvergenciju i veoma brzo napreduje pri kraju, međutim veoma je osjetljiv na izbor početnog rješenja. Ideja je ukomponovati ova dva metoda tako da izvučemo maksimum iz oba, pa tako možemo na početku postupka koristiti Cauchy-ev metod a kasnije Newton-ov metod. Tražimo optimum funkcije 𝑓𝑓 (𝑥𝑥⃗), pa imamo na osnovu Cauchy-a: 𝑥𝑥⃗𝑘𝑘+1 = 𝑥𝑥⃗𝑘𝑘 − 𝜎𝜎∇𝑓𝑓 (𝑥𝑥⃗𝑘𝑘 )

𝐹𝐹 (𝜎𝜎) = min 𝑓𝑓�𝑥𝑥⃗ − 𝜎𝜎∇𝑓𝑓 (𝑥𝑥⃗ )� σ

Odnosno po Newton-ovom metodu:

𝑥𝑥⃗𝑘𝑘+1 = 𝑥𝑥⃗𝑘𝑘 − ∇2 𝑓𝑓 −1 (𝑥𝑥⃗𝑘𝑘 )∇𝑓𝑓(𝑥𝑥⃗𝑘𝑘 )

Mana Newton-ove metode je i inverzija Hesse-ove matrice za više varijabli u svakom koraku. Da se primjetiti sličnost među predhodnim formula, pa tako oba metoda možemo zapisati u obliku: 𝑥𝑥⃗𝑘𝑘+1 = 𝑥𝑥⃗𝑘𝑘 − 𝐻𝐻𝑘𝑘 ∇𝑓𝑓(𝑥𝑥⃗𝑘𝑘 )

Pri čemu je 𝐻𝐻𝑘𝑘 neka matrica koja je za Cauchy-ev metod data sa 𝐻𝐻𝑘𝑘 = 𝜎𝜎𝜎𝜎 , dok je za Newton-ov metod matrica 𝐻𝐻𝑘𝑘 definisana kao 𝐻𝐻𝑘𝑘 = ∇2 𝑓𝑓 −1 (𝑥𝑥⃗𝑘𝑘 ). Želimo na početku da koristimo Cauchy-ev metod a poslije Newton-ov metod. Postavlja se pitanje nakon koliko koraka treba da transformišemo matricu. Pa prema tome na početku matricu proglasimo za ℎ𝑘𝑘 = 𝜎𝜎𝜎𝜎 a kako idemo ka rješenju postepeno korigujemo matricu u svakom koraku, odnosno u svakom koraku je korigujemo tako da liči na Newton-ovu. Matricu korigujemo u svakom koraku na sljedeći način:

Cilj nam je da vrijedi:

𝐻𝐻𝑘𝑘 +1 = 𝐻𝐻𝑘𝑘 + ∆𝐻𝐻𝑘𝑘 lim 𝐻𝐻𝑘𝑘 = ∇2 𝑓𝑓 −1 (𝑥𝑥⃗𝑘𝑘 )

k→∞

Prednost nam je što nemamo strog prelaz među matricama, nego blagi. Ni jednog trenutka nećemo postići Hesseovu matricu, jer ćemo prije doći do rješenja pa kažemo da je konvergencija ovakvog metoda super linearna. Upotpunjavanje se vrši samo jedne kolone ili jednog reda (ili 2 kolone ili 2 reda). Metode za upotpunjavanje se razlikuju po rangu: -

- 130 -

Rang prvog reda Rang drugog reda Rang višeg reda

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- DFP metod (Davidon – Fletcher – Powell) Ovo je kvadratni metod, kod koga se upotpunjavanje zasniva na dvije ili tri susjedne tačke. 𝐻𝐻𝑘𝑘+1 = 𝐻𝐻𝑘𝑘 + 𝐴𝐴𝑘𝑘 + 𝐵𝐵𝑘𝑘

Metod DFP spada u klasu promjenjive metrike sa rangom dva, jer je u opštem slučaju rang matrice 𝐴𝐴𝑘𝑘 + 𝐵𝐵𝑘𝑘 jednak dva. 𝑔𝑔⃗𝑘𝑘 = ∇𝑓𝑓(𝑥𝑥⃗𝑘𝑘 )

𝑔𝑔⃗𝑘𝑘+1 = ∇𝑓𝑓(𝑥𝑥⃗𝑘𝑘+1 )

Pa imamo:

𝑤𝑤 ��⃗ = 𝑔𝑔⃗𝑘𝑘 +1 − 𝑔𝑔⃗𝑘𝑘

Pri čemu vrijedi da se 𝐴𝐴𝑘𝑘 i 𝐵𝐵𝑘𝑘 računaju kao: 𝑤𝑤 ��⃗𝑘𝑘 ∙ 𝑤𝑤 ��⃗𝑘𝑘 𝐴𝐴𝑘𝑘 = 𝑇𝑇 𝑧𝑧⃗𝑘𝑘 𝑤𝑤 ��⃗

𝑇𝑇

𝐵𝐵𝑘𝑘 = −

𝐻𝐻𝑘𝑘 𝑤𝑤 ��⃗𝑘𝑘 𝑤𝑤 ��⃗𝑘𝑘𝑇𝑇 𝐻𝐻𝑘𝑘𝑇𝑇 𝑤𝑤 ��⃗𝑘𝑘𝑇𝑇 𝐻𝐻𝑘𝑘 𝑤𝑤 ��⃗𝑘𝑘

Pored ove metode imamo još mnogo metoda varijabilne metrike kao što su na primjer FR metod, BFGS metod i mnogi drugi. Jako dobra osobina metoda sa varijabilnom metrikom jeste što nemamo inverziju Hesse-ove matrice odnosno Hessijana. Za problem isčezavanja Hessijana, normiramo 𝐻𝐻𝑘𝑘 i upotpunimo sa: (𝐻𝐻𝑘𝑘 + 𝜀𝜀𝜀𝜀)

Nekim manjim ili većim elementima. Određivanje vrijednosti 𝜀𝜀 vršimo LM metodom (metod primjenjujemo kod isčezavanja Hessijana). Prednost metoda je i što sigurnije napredujemo ka rješenju. Ako imamo problem sa Newton-ovim dijelom metoda, vratimo se na Cauchy-ev metod koji je dosta stabilniji u odnosu na izbor početnog rješenja.

Mihailo Šibonjić

- 131 -

Optimizacione metode u elektrotehnici – Predavanja

- Konveksno programiranje Rješavamo problem nalaženja minimuma funkcije 𝑓𝑓 (𝑥𝑥⃗ ) odnosno: min 𝑓𝑓 (𝑥𝑥⃗)

Po ograničenjima (pri čemu su 𝑓𝑓1 , 𝑓𝑓2 , … 𝑓𝑓𝑚𝑚 konveksne funkcije): 𝑓𝑓1 (𝑥𝑥⃗ ) ≤ 0

𝑓𝑓2 (𝑥𝑥⃗ ) ≤ 0 ⋮

𝑓𝑓𝑚𝑚 (𝑥𝑥⃗) ≤ 0

Pri čemu je skup dopustivih rješenja definisan sa:

Ω = {𝑥𝑥⃗ | 𝑓𝑓𝑖𝑖 (𝑥𝑥⃗) ≤ 0, 𝑖𝑖 = 1,2, … , 𝑚𝑚}

Da bi skup bio konveksan mora da sadrži sve spojnice. Kod konveksnog programa skup dopustivih rješenja mora biti konveksan skup. Presjek dva ili više konveksnih skupova je ponovo konveksan skup. Za konveksnu funkciju svaki lokalni minimum je ujedno i globalni minimum. Okolinu neke tačke definišemo sa: 𝑁𝑁(𝑥𝑥⃗ ∗ ) = {𝑥𝑥⃗ | |𝑥𝑥⃗ − 𝑥𝑥⃗ ∗ | < 𝜀𝜀}

Tačka 𝑥𝑥⃗ ∗ je lokalno optimalno rješenje ako u okolini 𝑁𝑁(𝑥𝑥⃗ ∗ ) ne postoji tačka koja funkciji daje manju vrijednost. Za funkciju kažemo da je konveksna ako vrijedi: 𝑓𝑓(𝜆𝜆𝜆𝜆 + (1 − 𝜆𝜆)𝑥𝑥⃗ ∗ ) ≤ 𝜆𝜆𝜆𝜆(𝑧𝑧) + (1 − 𝜆𝜆)𝑓𝑓(𝑥𝑥⃗ ∗ )

𝜆𝜆 ∈ [0,1]

Ako je tačka 𝑥𝑥⃗ ∗ lokalna optimalna tačka tada je ona i globalna optimalna tačka.

- 132 -

Mihailo Šibonjić

Optimizacione metode u elektrotehnici – Predavanja

- Uslov optimalnosti preko Langrange-ove funkcije 𝑚𝑚

Λ�𝑥𝑥⃗, 𝜆𝜆⃗� = 𝑓𝑓(𝑥𝑥⃗) + � 𝜆𝜆𝑗𝑗 𝑓𝑓𝑗𝑗 (𝑥𝑥⃗) 𝑗𝑗 =1

Kažemo da je Slater-ov uslov za skup dopustivih rješenja Ω ispunjen ako postoji unutrašnja tačka, odnosno ako vrijedi: 𝑓𝑓 ′ (𝑥𝑥�) < 0

Ako je ispunjen Slater-ov uslov tada možemo primjeniti Langrange-ov metod. Par (𝑥𝑥 ∗ , 𝜆𝜆∗ ) je sedlasta tačka Langrange-ove funkcije ako je:

Λ�𝑥𝑥⃗ ∗ , 𝜆𝜆⃗� ≤ Λ�𝑥𝑥⃗ ∗ , 𝜆𝜆⃗∗ � ≤ Λ�𝑥𝑥⃗, 𝜆𝜆⃗∗ �

Ako je par (𝑥𝑥 ∗ , 𝜆𝜆∗ ) sedlasta tačka, konveksnog problema tada je 𝑥𝑥 ∗ optimum na skupu dopustivih rješenja Ω. Ako imamo ograničenja tipa: 𝑔𝑔1 (𝑥𝑥⃗ ) ≤ 0

𝑔𝑔2 (𝑥𝑥⃗) ≤ 0

Optimum mora biti na granici, osim u rijetkim slučajevima. Da bi tačka 𝑥𝑥⃗ ∗ bila optimum uslov je da ne smije postojati takav vektor koji će voditi u skup dopustivih rješenja a koji će sa vektorom negativnog gradijenta zaklapati oštar ugao:

Vektor 𝑑𝑑⃗ mora biti: Tačka 𝑥𝑥⃗ ∗ nije optimum ako je:

−∇𝑓𝑓(𝑥𝑥⃗ ∗ )𝑑𝑑⃗ > 0 −∇𝑔𝑔1 (𝑥𝑥⃗ ∗ )𝑑𝑑⃗ ≥ 0 ∇𝑓𝑓(𝑥𝑥⃗ ∗ )𝑑𝑑⃗ < 0

∇𝑓𝑓(𝑥𝑥⃗ ∗ )𝑑𝑑⃗ ≤ 0

Ako postoji 𝑑𝑑⃗ kao rješenje gornjeg problema tada tačka 𝑥𝑥⃗ ∗ nije optimalna tačka.

Mihailo Šibonjić

- 133 -

Optimizacione metode u elektrotehnici – Predavanja

- Kuhn-Tucker-ovi uslovi optimalnosti Ograničenja su linearna. Za provjeru postavljamo pomoćni linearni problem: ∇𝑓𝑓(𝑥𝑥⃗ ∗ )𝑑𝑑⃗ + 𝛼𝛼 ≤ 0



∗) ⃗

∇𝑓𝑓𝑖𝑖 (𝑥𝑥⃗ 𝑑𝑑 + 𝛼𝛼 ≤ 0

Gornji sistem ima 𝑛𝑛 + 1 promjenjivu. Želja nam je maksimizirati 𝛼𝛼, pa na osnovu toga zaključujemo da ako je 𝛼𝛼 > 0 tačka 𝑥𝑥⃗ ∗ nije optimalna tačka, a ako je 𝛼𝛼 < 0 to znači da tačka 𝑥𝑥⃗ ∗ jeste optimalno rješenje. - Metod dopustivih smjerova

Pretpostavimo početnu tačku, te nađemo vektor kretanja 𝑑𝑑⃗ sa korakom 𝜎𝜎 te odredimo: 𝑥𝑥⃗𝑘𝑘+1 = 𝑥𝑥⃗𝑘𝑘 + 𝜎𝜎𝑘𝑘 𝑑𝑑⃗𝑘𝑘

Svaki smjer je dopustiv ako vodi u skup dopustivih rješenja i vrijednost funkcije opada. Odnosno zaključujemo da svaka naredna tačka mora ostati u skupu dopustivih rješenja. Vektor 𝑑𝑑⃗ možemo odrediti: -

Slučajno (za mali broj promjenjivih) Odaberemo 𝑥𝑥⃗ pa rješimo sitem 1° Stohastičke metode (mravlje kolonije, rojenje čestica...)

Napomena: sve stohastičke metode su spore metode.

- 134 -

Mihailo Šibonjić

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF