68
UNIVERZA V MARIBORU FAKULTETA ZA LOGISTIKO Tomaž Kokolj UPORABA QUASI-NEWTONOVIH METOD PRI REŠEVANJU NELINEARNIH LOGISTI ˇ CNIH PROBLEMOV diplomsko delo univerzitetnega študijskega programa Celje, junij 2014

Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

UNIVERZA V MARIBORUFAKULTETA ZA LOGISTIKO

Tomaž Kokolj

UPORABA QUASI-NEWTONOVIHMETOD PRI REŠEVANJU

NELINEARNIH LOGISTICNIHPROBLEMOV

diplomsko delo univerzitetnega študijskega programa

Celje, junij 2014

Page 2: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

UNIVERZA V MARIBORUFAKULTETA ZA LOGISTIKO

Tomaž Kokolj

UPORABA QUASI-NEWTONOVIHMETOD PRI REŠEVANJU

NELINEARNIH LOGISTICNIHPROBLEMOV

diplomsko delo univerzitetnega študijskega programa

Mentor:doc. dr. Dejan Dragan

Celje, junij 2014

Page 3: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

IZJAVA O AVTORSTVUdiplomskega dela

Spodaj podpisan/a ,

študent/ka

(študija), z vpisno številko , sem avtor/ica

diplomskega dela:

.

S svojim podpisom zagotavljam, da:

• je predloženo delo rezultat izkljucno mojega lastnega raziskovalnega dela;• sem poskrbel/a, da so dela in mnenja drugih avtorjev oz. avtoric, ki jih uporabljam v

diplomskem delu, navedena oz. citirana v skladu s navodili Fakultete za logistikoUniverze v Mariboru;

• sem poskrbel/a, da so vsa dela in mnenja drugih avtorjev oz. avtoric navedena vseznamu virov, ki je sestavni del diplomskega dela in je zapisan v skladu s navodiliFakultete za logistiko Univerze v Mariboru;

• sem pridobil/a vsa dovoljenja za uporabo avtorskih del, ki so v celoti prenesena vdiplomsko delo in sem to tudi jasno zapisal/a v diplomskem delu;

• se zavedam, da je plagiatorstvo – predstavljanje tujih del, bodisi v obliki citata bodisiv obliki skoraj dobesednega parafraziranja bodisi v graficni obliki, s katerim so tujemisli oz. ideje predstavljene kot moje lastne – kaznivo po zakonu (Zakon o avtorskihin sorodnih pravicah, Uradni list RS št. 21/95), prekršek pa podleže tudi ukrepomFakultete za logistiko Univerze v Mariboru v skladu z njenimi pravili;

• se zavedam posledic, ki jih dokazano plagiatorstvo lahko predstavlja za predloženodelo in za moj status na Fakulteti za logistiko Univerze v Mariboru;

• je diplomsko delo jezikovno korektno in da je delo lektoriral/a.

V Celju, dne Podpis avtorja/-ice:

Page 4: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

ZAHVALA

Zahvaljujem se mentorju doc. dr. Dejanu Draganu za pomoc, nasvete in obilico literature,

ter Tei Vizinger pri pomoci z programi v programu MATLAB.

Page 5: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov

V diplomskem delu obravnavamo reševanje multidimenzinalnih optimizacijskih metodbrez omejitev, saj je tudi v naravi vecina problemov nelienarnih. Na kratko opišemooptimizacijo na splošno ter razložimo nekaj najbolj nujnih matematicnih osnov za razu-mevanje nadaljnje snovi. Nato malo bolj podrobno razložimo Newtonove metode, šeposebej podrobno pa Quasi-Newtonovi metodi DFP (Davidon - Fletcher - Powell) inBFGS (Broyden - Fletcher - Goldfarb - Shanno). Slednje potem uporabimo za reševanjelokacijskega problema skladišca pri multidimenzionalni optimizaciji brez omejitev. Ciljdiplomskega dela je s tema dvema metodama ugotoviti, ali sta primerni za rešitev našegaproblema, v cem razlikujeta in ce se, katera izmed njiju je bolj primerna za naš problem.Za reševanje realnega problema uporabimo že naprej napisane programe v MATLABu, zaizris slik pa uporabimo progamski paket PFGPlots, ki je del oznacevalnega jezika LATEX.

Kljucne besede: Newton, Quasi-Newton, DFP, BFGS, LATEX

Solving non-linear logistics problems using Quasi-Newton methods

In our thesis we dealt with solving multidimenzinalnih optimization problems with methodswithout restriction, that are also most common in nature. We briefly describe optimizationin general and explane some of the most known mathematical theorys for understanding thecomming sections. Then we go into a little more detailed explanation about Newton’s me-thod and eaven more detailed explanation about Quasi-Newton’s methods DFP (Davidon -Fletcher - Powell) and BFGS (Broyden - Fletcher - Goldfarb - Shanno). We then use thistwo methods to solve a location problem of our warehouse with multidimensional methodswithout restrictions. The main objective of this thesis is to determinate whether these twomethods are suitable for solving our location problem, whether or not they differ from eachother and if they do, which one is more suitable for solving our problem. In other to do thiswe have used pre made programs in MATLAB for solving the equations and the packagePGFPlots for ploting images in LATEX, which is the markup language we wrote the thesis in.

Keywords: Newton, Quasi-Newton, DFP, BFGS, LATEX

Page 6: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

KAZALO

UVOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 OPTIMIZACIJA, NEWTONOVE IN QUASI-NEWTONOVE METODE . 31.1 Newtonova enodimenzionalna metoda . . . . . . . . . . . . . . . . . . . 4

1.2 Newtonova multidimenzionalna metoda . . . . . . . . . . . . . . . . . . 8

1.3 Quasi-Newtonove metode . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.1 Aproksimacija inverzne Hessove matrike . . . . . . . . . . . . . 11

1.3.2 Korekcijska enacba ranga ena . . . . . . . . . . . . . . . . . . . 13

1.3.3 DFP metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.3.4 BFGS metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 ILUSTRACIJA REŠEVANJA NELINEARNIH PRIMEROV S POMOCJOANALITICNEGA NACINA RACUNANJA . . . . . . . . . . . . . . . . . . 242.1 Simulacijska primera po DFP metodi . . . . . . . . . . . . . . . . . . . . 24

2.1.1 Primer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.1.2 Primer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2 Simulacijska primera po BFGS metodi . . . . . . . . . . . . . . . . . . . 30

2.2.1 Primer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2.2 Primer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.3 Primerjava simulacijskih primerov . . . . . . . . . . . . . . . . . . . . . 37

2.4 Tabeli simulacijskih primerov . . . . . . . . . . . . . . . . . . . . . . . 38

3 RAZVOJ RACUNALNIŠKIH PROGRAMOV V MATLABU TER GRAFOVV LATEXU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.1 DFP optimizacijski program . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2 BFGS optimizacijski program . . . . . . . . . . . . . . . . . . . . . . . 41

3.3 Prikaz grafov v LATEX-u . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 REŠEVANJE SIMULACIJSKIH PRIMEROV S POMOCJO RAZVITIH PRO-GRAMOV V MATLABU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.1 Simulacijski primer 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 Simulacijski primer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 REŠEVANJE REALNEGA PRIMERA LOKACIJSKEGA PROBLEMA SPOMOCJO RAZVITIH PROGRAMOV V MATLABU . . . . . . . . . . . 465.1 Rešitev realnega primera po DFP metodi . . . . . . . . . . . . . . . . . . 47

5.2 Rešitev realnega primera po BFGS metodi . . . . . . . . . . . . . . . . . 48

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov vi

Page 7: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

5.3 Primerjava in grafi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

ZAKLJUCEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

LITERATURA IN VIRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

PRILOGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov vii

Page 8: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

KAZALO SLIK

1 Stacionarne tocke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Ideja aproksimacije po Newtonovi metodi . . . . . . . . . . . . . . . . . 6

3 Aproksimacija po Newtonovi metodi . . . . . . . . . . . . . . . . . . . . 8

4 DFP algiritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 BFGS algiritem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6 Graficni prikaz funkcije 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . 43

7 Graficni prikaz funkcije 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . 45

8 Lokacijski problem skladišca . . . . . . . . . . . . . . . . . . . . . . . . 46

9 Lokacijski problem skladišca . . . . . . . . . . . . . . . . . . . . . . . . 50

10 Funkcija realnega primera . . . . . . . . . . . . . . . . . . . . . . . . . 51

KAZALO TABEL

1 Rezultati DFP in BFGS metode za primer 2.1 . . . . . . . . . . . . . . . 38

2 Rezultati DFP in BFGS metode za primer 2.2 . . . . . . . . . . . . . . . 38

3 Rezultati realnega primera po DFP metodi . . . . . . . . . . . . . . . . . 48

4 Rezultati realnega primera po BFGS metodi . . . . . . . . . . . . . . . . 49

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov viii

Page 9: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

UVOD

Opis problema

V diplomskem delu bomo raziskali Quasi-Newtonove metode in sicer metodi DFP in

BFGS. Želimo ugotoviti, ce in katera od teh dveh metod bi bila primernejša za reševanje

naših problemov. Da bi lahko primerjali prednosti in slabosti obeh metod, bomo uporabili

dva simulacijska ter en realni primer problema.

Dolocitev ciljev, namena in poti za reševanje problema

Najprej bomo razložili Optimizacijo na splošno, z vsemi matematicnimi osnovami, da bi

lahko najbolje razumeli preucevano snov. Nato si bomo nekoliko bolj podrobno pogledali

Newtonovo optimizacijsko metodo, ker je ta nujno potrebna za razumevanje snovi, saj so

se Quasi-Newtonove metode razvile iz njih. Cilj je podrobno pogledati Quasi-Newtonove

metode, predvsem metodi DFP in BFGS, ter ugotoviti, v cem se razlikujeta v delovanju in

ce je katera boljša oziroma bolj primerna za naš problem.

Predstavitev okolja

Za naš realni primer želimo ugotoviti najbolj optimalno lokacijo skladišca, ki bi oskrboval

trgovine z blagom. Pri tem bomo vzeli cim vec trgovin, da bi bil problem bolj realen. Na

postavitev skladišca bo vplivala tako lokacija, kot tudi potreba vsake trgovine po blagu, ki

bodo razlicne od trgovine do trgovine.

Predpostavke in omejitve

Predpostavili bomo, da je cestna infrastruktura in promet do vseh trgovin enak. To pomeni,

da bomo imeli optimizacijo brez omejitev. Omejeni pa bomo predvsem na to, da rešujemo

problem samo po Quasi-Newtonovih metodah DFP in BFGS. Lahko se ti dve metodi

izkažeta, da nista optimalni za rešitev našega problema oziroma, da našega problema s

tema dvema metodama sploh ni mogoce rešiti.

Metode dela

Pri diplomskem delu bomo uporabili analiticno reševanje simulacijskih primerov, ki jih

bomo kasneje še rešili z že naprej napisanimi programi. Prav tako bomo rešili realni

problem z že naprej napisanimi programi, saj je tako težavni primer prakticno nemogoce

analiticno izracunati. Za reševanje danih problemov v najprej razvitih programih bomo

uporabili program MATLAB, za izris grafov pa programski paket PGFPlots, ki je del

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 1

Page 10: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

oznacevalnega jezika LATEX, v katerem je to diplomsko delo napisano. Prav tako je vecina

grafov, ki so prisotni v diplomskem delu, narisani s pomocjo PGF/TikZ kot LATEX koda.

Samo eden je narisan kot binarna slika (.bmp, .jpg, .png).

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 2

Page 11: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

1 OPTIMIZACIJA, NEWTONOVE IN QUASI-

NEWTONOVE METODE

Optimizacija je zbirka matematicnih nacel in metod, ki jih uporabljamo pri reševanju

kolicinskih problemov. Takšni problemi lahko nastopajo v fiziki, biologiji, inženirstvu,

ekonomiji ali podjetništvu. Predmet je zrasel iz spoznanja, da imajo imajo kolicinski

problemi v razlicnih panogah skupne matematicne elemente. Zaradi takšne enakosti lahko

veliko problemov rešimo z enotnim sklopom idej in metod (Optimization, b.1.).

Zgodovinsko gledano, se je izraz matematicno programiranje, ki je sinonim za optimi-

zacijo, skoval v štiridesetih 40-ih letih 19. stoletja, preden je izraz programiranje bil

enacen z racunalniškim programiranjem. Matematicno programiranje vkljucuje raziskavo

matematicnih struktur za optimizacijske probleme, izum metod za reševanje teh problemov,

raziskavo matematicnih lastnosti teh metod, ter izvajanje teh metod na racunalnikih. Vse

hitrejši racunalniki pa so mocno razširili obseg in zahtevnost optimizacijskih problemov,

ki jih lahko rešimo (Optimization, b.1.).

Optimizacijski problemi so tipicno sestavljeni iz dveh temeljnih elementov. Prvi je ciljna

funkcija, ki ji je potrebno poiskati maksimum ali minimum. To je lahko prevoz dobrin

po najkrajši poti, razporejanje delovne sile in sredstev tako, da so stroški minimalni, ali

izboljšanje proizvodnega procesa tako, da je produktivnost maksimalna. Drugi pa so

omejitve, ki jih lahko ciljna funkcija sprejme kot spremenljivke. Primer je lahko kapaciteta

skladišca ali primeren cas dobave (Optimization, b.1.).

Optimizacijo pa lahko razvrstimo tudi na linearno in nelinearno, pri cemer si bomo drobneje

pogledali slednjo. Nelinearna optimizacija je tista, ki ima spremenljivke s potenco dva

ali vec. To lahko velja tako za ciljno funkcijo kot omejitve, lahko pa tudi za oboje hkrati.

Ta nacin optimizacije je najbolj pogost, saj so mnogi problemi v optimizaciji po naravi

nelinearni. Tukaj je potrebno poudarit, da je problem nelinearen že takrat, ko je ena sama

spremenljivka nelinearna. Matematicno bi to zapisali kot:

xn : n ≥ 2, n ∈ N, x ∈ R

Pri cemer je spremenljivka x, ki pripada ∈ množici R realno število, potenca n, ki pripada

∈ množici N, pa naravno. Naravna števila so vsa števila od 1 naprej, ki se lahko zapišejo

kot cela števila brez ulomkov ( xy) in kvadratnih korenov (

√x). Realna števila pa so tako

pozitivno, kot negativna števila z ulomki in kvadratnimi koreni, le da pod kvadratnim

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 3

Page 12: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

korenom ni negativnega predznaka (√−x - imaginarno število) (Fošner M. & Fošner A.,

2007, str. 12-22).

1.1 Newtonova enodimenzionalna metoda

Za Newtonovo metodo je znacilno, da je odvod ciljne funkcije enak nic, torej (Vrancic &

Dragan, 2008, str. 245):

f ′(x∗) = 0 (1.1)

To pomeni, da ima ciljna funkcija v dani tocki x∗ stacionarno tocko. Stacionarna tocka

je lahko minimum, maksimum, ali prevoj. Ciljna funkcija f (x) ima v tocki x∗ lokalni

minimum takrat, ce obstaja takšno pozitivno realno število δ > 0, da bo za vsak x iz

intervala (x∗ − δ, x∗ + δ) veljalo, da je f (x) ≥ f (x∗). Nasprotno ima ciljna funkcija f (x∗) v

tocki x∗ lokalni maksimum, ce obstaja takšno pozitivno realno število δ > 0, da bo za vsak

x iz intervala (x∗ − δ, x∗ + δ) veljalo, da je f (x) ≤ f (x∗). Temu pravimo, da ima funkcija

f (x) lokalni ekstrem. Funkcija pa ima lahko tudi globalni ekstrem tam, kjer ima najmanjšo

vrednost (minimum) ali najvecjo vrednost (maksimum) nasploh. To je na njenem celotnem

definicijskem obmocju. Vendar pa je potrebno paziti, saj ni vsaka stacionarna tocka tudi

ekstrem funkcije. Ce je odvod funkcije f (x∗) = 0 in ta funkcija nima ekstrema, potem

ima funkcija f (x) v tocki x∗ prevoj. Da bi ugotovili, za katero vrsto stacionarne tocke

gre, lahko uporabimo drugi odvod. Ce je f ′′(x∗) > 0, potem je ta stacionarna tocka tudi

minimum funkcije f (x). Velja tudi obratno. Ce je f ′′(x∗) < 0, potem je stacionarna tocka

maksimum funkcije f (x). V primeru, da je f ′′(x∗) = 0, potem je ta stacionarna tocka

prevoj funkcije f (x) (Fošner M. & Fošner A., 2007, str. 47-57).

Slika 1: Stacionarne tocke

x

y

f (x)

g(x)

h(x)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 4

Page 13: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Slika 1 prikazuje tri funkcije, in sicer f (x) = x2, g(x) = −x2, ter h(x) = x3. Funkcija f (x)

ima v tocki x∗ = 0 minimum. Ker je to edini minimum funkcije, je v tej tocki tudi globalni

minimum. Prav tako ima funkcija g(x) v tocki x∗ = 0 globalni maksimum, saj je to edini

maksimum funkcije. Funkcija h(x) pa ima v tocki x∗ = 0 prevoj. Zgornje funkcije bi lahko

rešili tudi racunsko s pomocjo tabele odvodov elementarnih funkcij (Fošner M. & Fošner

A., 2007, str. 54):

(C)′ = 0

(xn)′ = n · xn−1 (1.2)

Pri cemer je C konstanta, x pa spremenljivka, po kateri odvajamo. Tako dobimo rezultate:

f ′(x) = 2x , g′(x) = −2x , h′(x) = 3x2

f ′′(x) = 2, g′′(x) = −2, h′′(x) = 6x (1.3)

Kot vidimo imajo vse tri funkcije po prvem odvodu stacionarno tocko v x∗ = 0, saj je

takrat ciljna funkcija f (0) = 0. Po drugem odvodu pa smo ugotovili, da ima funkcija

f (x) v tocki x∗ = 0 globalni minimum, funkcija g(x) v tocki x∗ = 0 globalni maksimum,

ter funkcija h(x) v tocki x∗ = 0 prevoj. Razumevanje slednjega je pomembno, da lahko

razumemo Taylorjevo vrsto (Fošner M. & Fošner A., 2007, str. 60).

Taylorjevo formulo uporabljamo za aproksimacijo (približek) odvedljivih funkcij s poli-

nomi. Polinomi so funkcije višjega reda xn. Na sliki 1 smo že imeli tri polinome. Funkciji

f (x) ter g(x) sta polinoma reda 2, ter funkcija h(x), ki je polinom reda 3. Na tak nacin

lahko približno izracunamo vrednosti zapletenih funkcij, kar je tudi ideja Newtonove

metode. Taylorjevo formulo lahko zapišemo kot:

f (x) = f (x0) +f ′(x0)

1!· (x − x0) +

f ′′(x0)2!

· (x − x0)2 +f (3)(x0)

3!· (x − x0)3 + · · ·

f (x) =

∞∑

n=0

f (n)(x0)n!

· (x − x0)n (1.4)

pri cemer je x0 neka zacetna aproksimacija tocke x∗. Mi bomo uporabili samo prve tri

clene Taylorjeve formule za aproksimacijo s parabolo. Parabola je polinom 2 reda. Dve

paraboli smo že spoznali na sliki 1. To sta bili funkciji f (x) in g(x). Tako lahko Taylorjevo

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 5

Page 14: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

formulo zapišemo kot (Vrancic & Dragan, 2008, str. 245):

f (x) ≈ q(x) = f (x0)︸︷︷︸K1

+ f ′(x0)︸︷︷︸K2

·(x − x0) +12· f ′′(x0)

︸ ︷︷ ︸K3

·(x − x0)2 =

= K1 + K2 · (x − x0) + K3 · (x − x0)2 (1.5)

Nato vzamemo ekstremno tocko x1 funkcije q(x) kot novo aproksimacijo tocke x∗. Kako

zgleda 1. in 2. iteracija funkcije f (x), si lahko ogledamo graficno na sliki 2 (Vrancic &

Dragan, 2008, str. 246).

Slika 2: Ideja aproksimacije po Newtonovi metodi

x

y

f (x)

f1(x) = q1(x)

f2(x) = q2(x)

x∗ x0

A

x1

B

C

x2

D

E

A : q1(x0)︸︷︷︸f1(x0)

= f (x0) B : q1(x1)︸︷︷︸f1(x1)

= min q1(x)

C : q2(x1)︸︷︷︸f2(x1)

= f (x1) D : q2(x2)︸︷︷︸f2(x2)

= min q2(x) (1.6)

Tocka x0 je zacetna aproksimacija stacionarne tocke x∗, tocka A pa predstavlja vrednost

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 6

Page 15: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

funkcije f (x), ki jo aproksimiramo s prvimi tremi cleni Taylorjeve vrste:

f1(x) ≈ q1(x) = f (x0)︸︷︷︸K1

+ f ′(x0)︸︷︷︸K2

·(x − x0) +12· f ′′(x0)

︸ ︷︷ ︸K3

·(x − x0)2 =

= K1 + K2 · (x − x0) + K3 · (x − x0)2 (1.7)

Tocka B, ki je minimum parabole q1(x) se vzame za novo stacionarno tocko. Ekstremna

tocka x1 je tako nova aproksimacija stacionarne tocke x∗, kar je tudi 1. iteracija postopka:

d

dxf1(x) =

d

dxq1(x) = K2 + 2 · K3 · (x − x0) = 0 →

xeks = x1 = x0 − K2

2 · K3→ (1.8)

x1 = x0 − f ′(x0)2 · 1

2 · f ′′(x0)= x0 − f ′(x0)

f ′′(x0)

Enako naredimo za 2. iteracijo postopka. Tocka x1 je tukaj zacetna aproksimacija sta-

cionarne tocke x∗, tocka C pa predstavlja vrednost funkcije f (x), ki jo aproksimiramo s

prvimi tremi cleni Taylorjeve vrste (Vrancic & Dragan, 2008, str. 247):

f2(x) ≈ q2(x) = f (x1)︸︷︷︸K1

+ f ′(x1)︸︷︷︸K2

·(x − x1) +12· f ′′(x1)

︸ ︷︷ ︸K3

·(x − x1)2 =

= K1 + K2 · (x − x1) + K3 · (x − x1)2 (1.9)

Prav tako se tocka D, ki je minimum parabole q2(x) vzame za novo stacionarno tocko.

Ekstremna tocka x2 je tako nova aproksimacija stacionarne tocke x∗, kar je tudi 2. iteracija

postopka:

d

dxf2(x) =

d

dxq2(x) = K2 + 2 · K3 · (x − x1) = 0 →

xeks = x2 = x1 − K2

2 · K3→ (1.10)

x2 = x1 − f ′(x1)2 · 1

2 · f ′′(x1)= x1 − f ′(x1)

f ′′(x1)

Newtonovo iteracijsko enacbo lahko za k-to iteracijo napišemo na sledec nacin (Vrancic &

Dragan, 2008, str. 248):

xk+1 = xk − f ′(xk)f ′′(xk)

, k = 0, 1, 2, 3 . . . (1.11)

Enacba nam pomaga poiskati pravi optimum funkcije, saj nas vodi do stacionarne tocke

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 7

Page 16: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

funkcije f (x). S tem se minimumi aproksimacij (min qk(x), k = 0, 1, 2, 3 . . .) z vsako novo

iteracijo vse bolj bližajo minimumu funkcije f (x). S pomocjo programa MATLAB lahko

še bolj nazorno prikažemo primer iskanja minimuma funkcije na sliki 3.

Slika 3: Aproksimacija po Newtonovi metodi

Vir: Dragan, 2010, str. 93

Kod izhodišce vzamemo tocko A. V 1. iteraciji poišcemo minimum parabole, ki je tocka B,

ki jo vzamemo za novo izhodišce, ki nas preslika v tocko C. To vzamemo kot izhodišce za

novo aproksimacijo parabole v 2. iteraciji, ki ima minimum v toci D. Iteracije ponavljamo

vse od tocke H , ki je naš minimum funkcije (Dragan, 2010, str. 93).

1.2 Newtonova multidimenzionalna metoda

Newtonova multidimenzionalna metoda je posplošitev Newtonove enodimenzionalne me-

tode. Lahko jo izrazimo s pomocjo Taylorjeve vrste, kot smo že videli pri enodimenzionalni

metodi, le da tokrat izrazimo funkcijo z gradientom in Hessovo matriko (Vrancic & Dragan,

2008, str. 352).

f (xk+1) = f (xk + ∆xk) ≈ f (xk) + [∇ f (xk)]T · ∆xk +12· ∆xTk · ∇2 f (xk) · ∆xk (1.12)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 8

Page 17: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Gradient je vektor, ki ga zapišemo z ∇ (Gradient, b.1.). Vektorji so usmerjene daljice v

prostoru, se pravi, da imajo - v nasprotju s skalarji (Fošner M. & Fošner A., 2007, str. 101)

- zraven numericne (številske) vrednosti tudi smer. Gradient se vecinoma uporablja za

realne funkcije z vec spremenljivkami v multidimenzionalnem prostoru, ki ga zapišemo

kot (Vrancic & Dragan, 2008, str. 145):

∇ f (x) =

[∂ f (x)∂x1

∂ f (x)∂x2

· · · ∂ f (x)∂xn

](1.13)

Pri cemer so ∂ parcialni odvodi funkcije f (x) (Partial Derivative, b.1.). Parcialni odvodi

so definirani kot odvodi funkcije z vec spremenljivkami, kjer se vse ostale spremenljivke

vzamejo kot konstante C, razen tiste spremenljivke, po kateri odvajamo. Ce odvajamo po

prvi spremenljivki ∂x1, potem se vse ostale spremenljivke x2, x3, . . . vzamejo kot konstante.

Hessova matrika pa je matrika drugih parcialnih odvodov. Matrike so pravokotne tabele

m × n (m stolpcev, n vrstic) (Fošner M. & Fošner A., 2007, str. 108). Hessova matrika je

vedno reda n × n, kar pomeni, da ima enako število stolpcev, kot vrstic. Zapišemo jo kot

(Vrancic & Dragan, 2008, str. 145):

∇2 f (x) =

∂2 f (x)∂x2

1

∂2 f (x)∂x1∂x2

· · · ∂2 f (x)∂x1∂xn

∂2 f (x)∂x2∂x1

∂2 f (x)∂x2

2

· · · ∂2 f (x)∂x2∂xn

......

. . ....

∂2 f (x)∂xn∂x1

∂2 f (x)∂xn∂x2

· · · ∂2 f (x)∂x2

n

(1.14)

Ce sedaj parcialno odvajamo enacbo (1.12) in jo enacimo z nic dobimo (Vrancic & Dragan,

2008, str. 352):

∂∆xkf (xk+1) =

∂∆xkf (xk + ∆xk) ≈ 0 + [∇ f (xk)]T · 1 +

12· ∂

∂∆xk(∆xTk · ∇2 f (xk) · ∆xk) =

= [∇ f (xk)]T +12· 2 · ∇2 f (xk) · ∆xk = [∆ f (xk)]T + ∇2 f (xk) · ∆xk = 0

(1.15)

pri cemer je spremenljivka, po kateri parcialno odvajamo ∆xk , k = 0, 1, 2 . . ., ostale

spremenljivke pa vzamemo kot konstante C. Pri izrazu [∇ f (xk)]T , ki smo ga videli pri

enacbah (1.12) in (1.15), pomeni T transponiranje (Fošner M. & Fošner A., 2007, str. 112).

Pri transponiranju zapišemo vrstice matrike kot stolpce, stolpce pa kot vrstice. Ce iz enacbe

(1.15) izrazimo ∆xk , dobimo (Vrancic & Dragan, 2008, str. 353):

∆xk = −[∇2 f (xk)]−1 · [∇ f (xk)]T = xk+1 − xk (1.16)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 9

Page 18: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Pri cemer nam sprememba vektorja ∆xk doloci smer novega koraka (iteracije). Zgornjo

enacbo lahko zapišemo tudi kot iteracijsko enacbo (Dragan, 2010, str. 90):

xk+1 = xk − [∇2 f (xk)]−1 · [∇ f (xk)]T , k = 0, 1, 2, . . . (1.17)

Vidimo, da pride do inverzne Hessove matrike. Ce Hessova matrika ni obrnljiva (njena

determinanta je enaka 0), zna to biti problematicno, saj je (Fošner M. & Fošner A., 2007,

str. 117):

A−1 =1

det A

(−1)1+1D11 (−1)1+2D12 · · · (−1)1+nD1n

(−1)2+1D21 (−1)2+2D22 · · · (−1)2+nD2n...

.... . .

...

(−1)n+1Dn1 (−1)n+2Dn2 · · · (−1)n+nDnn

(1.18)

Pri cemer so Di j poddeterminante matrike AT . Takrat pravimo, da je Hessova matrika

singularna. V tem primeru Newtonova metoda odpove, saj sistem ni rešljiv (Vrancic &

Dragan, 2008, str. 351). Da bi se izognili invertiranju Hessove matrike bomo uvedli

Quasi-Newtonove metode in sicer metodi DFP in BFGS.

1.3 Quasi-Newtonove metode

Quasi-Newtonove metode so danes ene najbolj efektivnih metod za reševanje nelinearnih

problemov. Kot smo že povedali v prejšnjem poglavju, lahko pri Newtonovi metodi nasta-

nejo problemi, ce ne moremo izracunati drugega odvoda Hessove matrike, ali takrat, ko bi

bilo takšno racunanje casovno potratno zaradi velikega števila spremenljivk (Conn, 1991,

str. 177). Zato uporabimo Quasi-Newtonove metode, da se izognemo izognemo racunanju

inverzne Hessove matrike. Namesto nje uporabimo simetricno pozitivno definitno matriko

G, ki je aproksimacija Hessove matrike, ki se spreminja v vsaki iteraciji (Dragan, 2010, str.

173). Simetricna matrika je tista kvadratna matrika, ji lahko vrstice zapišemo kot stolpce,

stolpce pa kot vrstice, brez da bi spremenili njeno vrednost (Fošner M. & Fošner A., 2007,

str. 113). Se pravi A = AT . Pozitivno definitna matrika je po analogiji zelo podobna

pozitivnim realnim številom (Positive Definite Matrix, b.1.). Ce obstaja tak nenicelni

vektor x, da velja (Chong & Zak, 2001, str. 168):

xT ·Q · x > 0 (1.19)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 10

Page 19: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Potem je matrika Q pozitivno definitna. Izrazu 1.19 se rece tudi kvadratna forma (Chong

& Zak, 2001, str. 26). Ce bi sedaj še enkrat napisali enacbo 1.16, dobimo:

∆xk = −H(xk)−1 · g(xk) (1.20)

Kjer je H(xk) = ∇2 f (xk) Hessova matrika, g(xk) = ∇ f (xk) pa gradient. Vendar pa inverzna

Hessova matrika ni edini problem Newtonove metode. Ce zacetna tocka x0 ni dovolj blizu

rešitve, se zna zgoditi, da ima algoritem resne težave s konvergenco (Dragan, 2010, str.

137). Da je algoritem globalno konvergenten, mora vsaka zacetna tocka x0 vodit do

optimuma, ne glede na število iteracij. V primeru, da algoritem ni globalno konvergenten,

pa še vedno lahko ustvari zadostno lokalno konvergenco, ce je zacetna toca x0 izbrana

dovolj blizu lokalnega ekstrema (Dragan, 2010, str. 29). Ce išcemo minimum in funkcija

v doloceni iteraciji ni manjša kot v prejšnji f (xk+1) ≮ f (xk), potem je funkcija na tem

odseku divergentna (Dragan, 2010, str. 137). Da se temu izognemo vpeljemo zraven

simetricne matrike G tudi parameter αk , ki nam pove dolžino koraka. Tako dobimo enacbo

(Dragan, 2010, str. 173):

∆xk = −αk · Gk · g(xk) (1.21)

S katero smo tudi zagotovili pogoj f (xk+1) < f (xk). Ker je ∆xk = xk+1 − xk sprememba

vektorja xk , lahko za vsako naslednjo iteracijo zapišemo enacbo (Chong & Zak, 2001, str.

167):

xk+1 = xk − αk · Gk · g(xk)︸ ︷︷ ︸dk

, k = 0, 1, 2, 3 . . . (1.22)

Kjer je dk smer iskanja optimuma. Pri aproksimacijah inverzne Hessove matrike H , bi

morali uporabiti samo ciljno funkcijo in gradientne vrednosti. V primeru, da najdemo

primerno simetricno matriko G, se lahko iteracije izvajajo brez potratnega racunanja

inverzne Hessove matrike, ter brez reševanja linearnih enacb. V primeru, da lahko najdemo

primerno simetricno matriko G za aproksimacijo inverzne Hessove matrike H , potem

lahko uporabimo samo ciljno funkcijo in vrednosti gradienta za izracun danega problema.

To pomeni, da lahko takrat problem rešimo brez racunanja inverzne Hessove matrike in

linearnih metod (Chong & Zak, 2001, str. 168).

1.3.1 Aproksimacija inverzne Hessove matrike

Naj bodo G0, G1, G2, . . . zaporedne aproksimacije inverzne Hessove matrike H(xk)−1.

Poizkusimo izpeljati pogoj, s katerim bomo zadovoljivo predstavili izhodišce za naše

nadaljnje izpeljave Quasi-Newtonovih metod. Za zacetek predpostavimo, da je Hessova

matrika H(x) od ciljne funkcije konstantna in neodvisna od x. Potem je ciljna funkcija

kvadratna, kjer je Hessova matrika H(x) = Q za vse x, kjer je Q = QT simetricna (Chong

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 11

Page 20: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

& Zak, 2001, str. 168).

gk+1 − gk = Q · (xk+1 − xk) (1.23)

Ce predpostavimo, da velja:

∆gk , gk+1 − gk

∆xk , xk+1 − xk (1.24)

Pri cemer je , znak za logicno enakost. Potem lahko zapišemo:

∆gk = Q · ∆xk (1.25)

Zacnimo z pravo simetricno pozitivno definitno matriko G0. Pri danem k izpolnjuje matrika

Q−1:

Q−1 · ∆gi = ∆xi , 0 ≤ i ≤ k (1.26)

Uvedemo zahtevo, ki zadovolji aproksimacijo Hessove matrike Gk+1:

Gk+1 · ∆gi = ∆xi , 0 ≤ i ≤ k (1.27)

Ce je vkljucenih n korakov, ko se premikamo v n smeri ∆x0,∆x1, . . . ,∆xn−1, potem:

Gn · ∆g0 = ∆x0

Gn · ∆g1 = ∆x1

...

Gn · ∆gn−1 = ∆xn−1 (1.28)

Zgornji niz enacb bi lahko tudi zapisali kot:

Gn · [∆g0,∆g1, . . . ,∆gn−1] = [∆x0,∆x1, . . . ,∆xn−1] (1.29)

Pri cemer Q izpolnjuje:

Q · [∆x0,∆x1, . . . ,∆xn+1] = [∆g0,∆g1, . . . ,∆gn−1] (1.30)

Iz tega sledi, da je Q−1:

Q−1 · [∆g0,∆g1, . . . ,∆gn−1] = [∆x0,∆x1, . . . ,∆xn−1] (1.31)

Ce torej [∆g0,∆g1, . . . ,∆gn−1] niso singularni, potem je Q−1 enolicno dolocena po n

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 12

Page 21: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

korakih z:

Q−1 = Gn = [∆x0,∆x1, . . . ,∆xn−1] · [∆g0,∆g1, . . . ,∆gn−1]−1 (1.32)

Posledicno lahko sklepamo, da ce Gn izpolnjuje pogoj, da drži enacba Gn · ∆gi = ∆xi ,

0 ≤ i ≤ n − 1, potem algoritem xk+1 = xk − αk · Gk · gk zagotovo reši problem ciljne

funkcije v n + 1 korakih, saj je enacba xn+1 = xn − αn · Gn · gn ekvivalentna enacbi

xk+1 = xk − H(xk)−1 · gk z posodobitvijo αk , ki man pove optimalno dolžino koraka.

Kot bomo videli spodaj, lahko takšni algoritmi rešijo vecino kvadratnih problemov n

spremenljivk v n korakih. Zgornje ugotovitve kažejo na osnovni idejo Quasi-Newtonovih

metod. Natancneje povedano, imajo Quasi-Newtonovi algoritmi obliko (Chong & Zak,

2001, str. 170):

dk = −Gk · gkxk+1 = xk + αk · dk (1.33)

Kjer so G0,G1, . . . simetricna matrike. V kvadratnem smislu morajo zgornje matrike

zadovoljiti (Chong & Zak, 2001, str. 170):

Gk+1 · ∆gi = ∆xi , 0 ≤ i ≤ k (1.34)

Kjer je ∆xi = xi+1 − xi = αi · di , ter ∆gi = gi+1 − gi = Q ·∆gi . Vedeti moramo, da enacbe s

katerimi racunamo matriko Gk niso enolicno dolocene. Tako imamo nekoliko prostosti pri

racunanju matrike Gk . V nadaljevanju bomo opisali metode, s katerimi lahko izracunamo

matriko Gk+1, s tem ko dodamo popravek matriki Gk . Naslednja tir podpoglavja opisujeta

tri specificne posodobitve teh enacb (Chong & Zak, 2001, str. 170).

1.3.2 Korekcijska enacba ranga ena

Pri korekcijski enacbi ranga ena je korekcijski izraz simetricen, ter ima obliko ak · zk · zTk ,

pri cemer je ak ∈ R in zk ∈ Rn. Zato je posodobitev enacbe (Chong & Zak, 2001, str. 171):

Gk+1 = Gk + ak · zk · zTk︸ ︷︷ ︸∆Gk

(1.35)

Pri cemer je:

rank zk · zTk = rank

zk1...

zkn

· [zk1 · · · zkn]

= 1 (1.36)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 13

Page 22: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Zaradi tega ji tudi pravimo rang ena korekcija. Ce upoštevamo enacbo za pozitivno

definitnost 1.19, potem je matrika Gk+1 pozitivno definitna, ce je tudi matrika Gk pozitivno

definitna. Naš cilj je sedaj dolociti ak in zk za danes Gk , ∆gk , ter ∆xk , da zadovoljimo

pogoje enacbe 1.34, Gk+1 · ∆gi = ∆xi , i = 1, . . . , k. Zacnimo s predpostavko, da Gk+1 ·∆gk = ∆xk . Z drugimi besedami povedano, želimo poiskati ak in zk pri danih Gk , ∆gk in

∆xk , da zagotovimo (Chong & Zak, 2001, str. 171):

Gk+1 · ∆gk = (Gk + ak · zk · zTk ) · ∆gk = ∆xk (1.37)

Kot prvo moramo opomniti, da je zTk· ∆gk skalar. Zato lahko zapišemo:

∆xk − Gk · ∆gk = (ak · zTk · ∆gk) · zk (1.38)

Sledi, da je zk :

zk =∆xk − Gk · ∆gkak · (zTk · ∆gk)

(1.39)

Sedaj lahko ugotovimo ak · zk · zTk :

ak · zk · zTk =(∆xk − Gk · ∆gk) · (∆xk − Gk · ∆gk)T

ak · (zTk · ∆gk)2(1.40)

Tako lahko zapišemo, da je Gk+1:

Gk+1 = Gk +(∆xk − Gk · ∆gk) · (∆xk − Gk · ∆gk)T

ak · (zTk · ∆gk)2(1.41)

V naslednjem koraku bomo izrazili imenovalec prejšnje enacbe kot funkcijo z danimi

kolicinami Gk , ∆gk in ∆xk . Da to dosežemo, pomnožimo enacbo 1.38 z ∆gTk

in dobimo

(Chong & Zak, 2001, str. 172):

∆gTk · ∆xk − ∆gTk · Gk · ∆gk = ∆gTk · ak · zk · zTk · ∆gk (1.42)

Ker je ak skalar, tako kot ∆gTk· zk = zT

k· ∆gk , dobimo:

∆gTk · ∆xk − ∆gTk · Gk · ∆gk = ak · (zTk · ∆gk)2 (1.43)

Ce sedaj vstavimo zgornjo enacbo v enacbo 1.41, dobimo:

Gk+1 = Gk +(∆xk − Gk · ∆gk) · (∆xk − Gk · ∆gk)T

∆gTk· (∆xk − Gk · ∆gk)

(1.44)

Korekcijska enacba ranga ena deluje dobro za kvadratne primere, a mi želimo uporabljati

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 14

Page 23: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

algoritem tudi pri splošnih funkcijah, ne le kvadratnih. Na žalost pa rang ena algoritem

ni primeren za ne-kvadratne funkcije iz vec razlogov. Pri ne-kvadratnih ciljih funkcijah

se lahko zgodi, da simetricna matrika Gk+1 ni pozitivno definitna in tako dk+1 ne bi imel

optimalne smeri. Prav tako lahko nastopi problem pri izracunu prejšnje enacbe 1.44, ce je

∆gk · (∆xk − Gk · ∆gk) zelo blizu nic. Takrat imamo težave oceniti matriko Gk+1 (Chong

& Zak, 2001, str. 175).

Na sreco so bili razviti alternativni algoritmi za posodobitev Hk , ki jih imenujemo rang

dva algoritmi. Ce uporabimo posodobitev algoritma na rang dva, potem je matrika Gk

zagotovo pozitivno definitna za vse k pod pogojem, da je smer iskanja optimuma pravilna.

To si bomo natancneje pogledali v naslednjem poglavju (Chong & Zak, 2001, str. 175).

1.3.3 DFP metoda

Posodobitev na rang dva algoritem je prvotno razvil Davidon v letu 1959. V letu 1963,

pa sta ga spremenila Fletcher in Powell, zato se tudi imenuje DFP metoda ali kar DFP

algoritem. Imenuje se tudi algoritem metricnih spremenljivk. Povzeli ga bomo spodaj

(Chong & Zak, 2001, str. 176).

DFP Algoritem

1. Nastavimo k := 0; izberemo x0, ter pravo simetricno pozitivno definitno matriko

G0 = I

2. Izracunamo:

xk+1 = xk + αk · dk

3. Izracunamo:

∆xk = αk · dk∆gk = gk+1 − gk

Gk+1 = Gk +∆xk · ∆xTk∆xT

k· ∆gk

− [Gk · ∆gk] · [Gk · ∆gk]T

∆gTk· Gk · ∆gk

4. Ce ‖gk ‖ ≤ ε, ustavimo

5. Nastavimo k := k + 1, nazaj na 2. korak

Toleranca ε (vcasih oznacimo tudi kot TOL) nam pove, za koliko iteracij racunamo

algoritem, da se dovolj približamo lokalnemu (ali globalnemu) ekstremu funkcije. Matrika

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 15

Page 24: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

I je enotska matrika. To je kvadratna matrika, ki ima vrednost 1 po diagonali, drugod pa 0,

se pravi (Fošner M. & Fošner A., 2007, str. 114):

In =

1 0 · · · 0

0 1 · · · 0...

.... . .

...

0 0 · · · 1

(1.45)

‖gk ‖ ≤ ε nam pove, da gradient gk dodatno normiramo. Norma se izracuna kot (Chong &

Zak, 2001, str. 16):

‖gk ‖ =

√〈gT

k, gk〉 =

√gTk· gk (1.46)

Enacba DFP metode je torej (Dragan, 2010, str. 175):

Gk+1 = Gk +∆xk · ∆xTk∆xTk · ∆gk︸ ︷︷ ︸

Mk

− Gk · ∆gk · ∆gTk ·GT

k︷︸︸︷Gk

∆gTk · Gk · ∆gk︸ ︷︷ ︸Nk

(1.47)

Zgornjo enacbo bomo zaradi lažjega racunanja razbili tako, da bomo uvedli M in N matriki.

Zato lahko zapišemo (Dragan, 2010, str. 175):

Mk =∆xk · ∆xTk∆xT

k· ∆gk

, Nk =Gk · ∆gk · ∆gTk · Gk

∆gTk· Gk · gk

(1.48)

Sledi, da je Gk+1 (Dragan, 2010, str. 175):

Gk+1 = Gk + ∆Gk = Gk + Mk − Nk (1.49)

Slika 4 podrobneje prikazuje DFP algoritem, ki ga lahko zaradi lažje predstave zapišemo

tudi v obliki blocnega diagrama (Dragan, 2010, str. 176).

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 16

Page 25: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Slika 4: DFP algiritem

k = 0, G0 = I

postavimo x0

in toleranco (ε)

g0 = ∇ f (x0)T

izracuni

gk ≤ ε

Optimum

xk

DA

NE

xk+1 = xk − αk ·Gk · gk︸︷︷︸∇ f (xk )

minimiziraj numericno:

f (xk+1) = f (αk)

min︸︷︷︸αk

( f (αk))→ α∗k

xk+1 = xk − α∗k · Gk · gkgk+1 = ∇ f (xk+1)

∆gk = gk+1 − gk

∆xk = xk+1 − xk

Mk =∆xk · ∆xTk∆xT

k· ∆gk

Nk =Gk · ∆gk · ∆gTk · Gk

∆gTk· Gk · ∆gk

Gk+1 = Gk + Mk − Nk

k = k + 1

Sedaj bomo poskušali pokazati, da je DFP algoritem Quasi-Newtonova metoda. Ce se ga

lahko uporablja za kvadratne probleme, potem imamo Gk+1 ·∆gi = ∆xi , 0 ≤ i ≤ k (enacba

1.34), pri cemer je Hessova matrike H(x) = Q = QT . Ce je k = 0, potem imamo (Chong

& Zak, 2001, str. 176):

G1 · ∆g0 = G0 · ∆g0 +∆x0 · ∆xT0∆xT0∆g0

· ∆g0 −G0 · ∆g0 · ∆gT0 · G0

∆gT0 · G0 · ∆g0· ∆g0

= ∆x0 (1.50)

Predpostavimo, da je rezultat pravilen za k − 1, tako da je Gk · ∆gi = ∆xi , 0 ≤ i ≤ k − 1.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 17

Page 26: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Sedaj bomo pokazali, da je Gk+1 · ∆gi = ∆xi , 0 ≤ i ≤ k. Kot prvo preucimo i = k .

Gk+1 · ∆gk = Gk · ∆gk +∆xk · ∆xTk∆xT

k· ∆gk

· ∆gk −Gk · ∆gk · ∆gTk · Gk

∆gTk· Gk · ∆gk

· ∆gk

= ∆xk (1.51)

Preostane še primer, ko je i < k (Chong & Zak, 2001, str. 177):

Gk+1 · ∆gi = Gk · ∆gi +∆xk · ∆xTk∆xT

k· ∆gk

· ∆gi −Gk · ∆gk∆gTk · Gk

∆gTk· Gk · ∆gk

· ∆gi

= ∆xi +∆xk

∆xTk· ∆gk

· (∆xTk · ∆gi) −Gk · ∆gk

∆gTk· Gk · ∆gk

· (∆gTk · ∆xi) (1.52)

Ker po pravilih za kvadratne funkcije z Hessovo matriko Q = QT velja, da je gTk+1 · di =

dk+1 ·Q · di = 0, velja:

∆xTk · ∆gi = ∆xTk ·Q · ∆xi= αk · αi · dTk ·Q · di= 0 (1.53)

Saj je dTk·Q · di = ∆gT

k· ∆xi = 0. Sledi, da je:

Gk+1 · ∆gi = ∆xi (1.54)

Kar zadostuje kot dokaz. Sedaj bomo poizkusili dokazati, da Gk+1 podeduje pozitivno

definitnost od Gk . Ce je Gk pozitivno definitna in gk , 0, potem (Chong & Zak, 2001, str.

179):

xT · Gk+1 · x = xT · Gk · x +xT · ∆xk · ∆xTk · x∆xT

k· ∆gk

− xT · (Gk · ∆gk) · (Gk · ∆gk)T · x∆gT

k· Gk · ∆gk

= xT · Gk · x +(xT · ∆xk)2

∆xTk· ∆gk

− (xT · Gk · ∆gk)2

∆gTk· Gk · ∆gk

(1.55)

Definiramo a in b:

a ,√Gk · x

b ,√Gk · ∆gk (1.56)

Kjer je Gk :

Gk =√Gk ·

√Gk (1.57)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 18

Page 27: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Ker je matrika Gk > 0 pozitivno definitna, je njen kvadratni koren dobro opredeljen. Ce

uporabimo defniciji za a in b, dobimo:

xT · Gk · x = xT ·√Gk ·

√Gk · x = aT · a

xT · Gk · ∆gk = xT ·√Gk ·

√Gk · ∆gk = aT · b

∆gTk · Gk · ∆gk = ∆gTk ·√Gk ·

√Gk · ∆gk = bT · b (1.58)

Iz tega sledi:

xT · Gk+1 · x = aT · a +(xT · ∆xk)2)∆xT

k· ∆gk

− (aT · b)2

bT · b

=‖a‖2 · ‖b‖2 − (〈a, b〉)2

‖b‖2 +(xT · ∆xk)2

∆xTk· ∆gk

(1.59)

Prav tako imamo:

∆xTk · ∆gk = ∆xTk · (gk+1 − gk) = −∆xTk · gk (1.60)

Saj je ∆xTk· gk+1 = αk · dTk · gk+1 = 0. Ker je ∆xk = αk · dk = −αk ·Gk · gk , dobimo (Chong

& Zak, 2001, str. 180):

∆xTk · ∆gk = −∆xTk · gk = αk · gTk · Gk · gk (1.61)

Iz tega sledi:

xT · Gk+1 · x =‖a‖2 · ‖b‖2 − (〈a, b〉)2

‖b‖2 +(xT · ∆xk)2

αk · gTk · Gk · gk(1.62)

Oba izraza ne desni strani zgornje enacbe sta nenegativna. Prvi je nenegativen zaradi

Cauchy-Schwarzeve neenakosti |〈a, b〉| ≤ ‖a‖ · ‖b‖, kjer 〈a, b〉 = aT · b in | ± a | = a,

ter ‖a‖ =√〈a, a〉 =

√aT · a in ‖b‖ =

√〈b, b〉 =√bT · b. Drugi je prav tako nenegativen

zato, ker sta Gk > 0 in αk > 0. Da bi pokazali, da je xT · Gk+1 · x > 0 za x , 0 moramo

samo dokazati, da ta dva izraza ne izgineta hkrati. Prvi clen izraz izgine le, ce sta a in b

sorazmerna, tako da je a = β · b za nek skalar β. Zato je dovolj pokazati, da ce je a = β · b,

potem je(xT · ∆xk)2

αk · gTk · Gk · gk> 0. Vzamemo (Chong & Zak, 2001, str. 180):

√Gk · x = a = β · b = β ·

√Gk · ∆gk =

√Gk · (β · ∆gk) (1.63)

Tako je:

x = β · ∆gk (1.64)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 19

Page 28: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Ce uporabimo zgornji izraz za x, ter izraz ∆xTk· ∆gk = −αk · gTk · Gk · gk , dobimo:

(xT · ∆xk)2

αk · gTk · Gk · gk=β2 · (∆gT

k· ∆xk)2

αk · gTk · Gk · gk=β2 · (αk · gTk · Gk · gk)2

αk · gTk · Gk · gk= β2 · αk · gTk · Gk · gk > 0 (1.65)

Zato lahko zapišemo, da za x , 0:

xT · Gk+1 · x > 0 (1.66)

DFP algoritem je veliko boljši od algoritma korekcijske enacbe ranga ena s tem ko ohranja

pozitivno definitnost matrike Gk . Se pa lahko zgodi, da v primeru vecjih ne-kvadratnih

problemov algoritem vcasih obtici. To se zgodi takrat, ko postane matrika Gk skoraj

singularna. Naslednje poglavje opisuje algoritem, ki ublaži ta problem (Chong & Zak,

2001, str. 180).

1.3.4 BFGS metoda

V letu 1970 so Broyden, Fletcher, Goldfarb in Shanno razvili alternativno formulo. Ta me-

toda, ki je bila posodobitev DFP metode, se imenuje BFGS metoda ali BFGS algoritem. Za

izpeljavo BFGS posodobitve bomo uporabili pojem dvojnosti oziroma dopolnjevanja. Da

bi lahko razpravljali o tem pojmu, se moramo spomniti posodobljene enacbe aproksimacije

na Hessovo matriko (Chong & Zak, 2001, str. 181):

Gk+1 · ∆gi = ∆xi , 0 ≤ i ≤ k (1.67)

Ki je bila izpeljana iz ∆gi = Q · ∆xi , 0 ≤ i ≤ k. Nato smo naredili posodobitev za

aproksimacijo inverzne Hessove matrike Q−1. Alternativa za aproksimacijo Q−1 je, da

aproksimiramo Q samo. Za to bomo vzeli novo matriko Bk , ki bo ocena matrike Q v k-tem

koraku. Bk mora izpolnjevati:

∆gi = Bk+1 · ∆xi , 0 ≤ i ≤ k (1.68)

Kot vidimo, je zgornji niz enacb enak prejšnjemu za Gk+1 s to razliko, da sta vlogi za

∆xi in ∆gi zamenjani. Zato lahko za vsako posodobitev formule Gk najdemo ustrezno

posodobitev formule Bk , s tem ko zamenjamo vlogi Bk in Gk , ter vlogi za ∆gk in ∆xk . To

pomeni, da za vsako posodobitev BFGS formule za Bk obstaja ustrezna posodobitev DFP

za formulo Gk . Formulam, ki so povezane na tak nacin pravimo, da so komplementarne.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 20

Page 29: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Spomnimo se, da je DFP posodobitev za aproksimacijo Gk inverzne Hessove matrike:

GDFPk+1 = Gk +

∆xk · ∆xTk∆xT

k· gk

− Gk · ∆gk · ∆gTk · Gk

∆gTk· Gk · ∆gk

(1.69)

Ce uporabimo komplementarni koncept, lahko enostavno dobimo posodobitev enacbe za

aproksimacijo matrike Bk :

Bk+1 = Bk +∆gk · ∆gTk∆gT

k· ∆xk

− Bk · ∆xk · ∆xTk · Bk

∆xTk· Bk · ∆xk

(1.70)

Da dobimo BFGS posodobitev za aproksimacijo inverzne Hessove matrike, bomo uporabili

inverzno Bk+1 (Chong & Zak, 2001, str. 181):

GBFGSk+1 = B−1

k+1 =

Bk +∆gk · ∆gTk∆gT

k· ∆xk

− Bk · ∆xk · ∆xTk · Bk

∆xTk· Bk · ∆xk

−1

(1.71)

Da izracunamo desni del enacbe za GBFGSk+1 , uporabimo za invertiranje matrike formulo,

znano kot Sherman-Morrison formula. Ce obstaja takšna nesingularna matrika A da velja

1 + vT · A−1 · u , 0, kjer sta v in u vektorja, potem je A + u · vT nesingularno, ter:

(A + u · vT )−1 = A−1 − (A−1 · u) · (vT · A−1)1 + vT · A−1 · u (1.72)

Ker je v zgornji enacbi matrika A−1 znana, potem lahko dobimo inverz matrike A povecan z

rang ena s spremembo matrike A−1. Ce uporabimo zgornjo enacbo in jo dvakrat uporabimo

pri Bk+1, dobimo (Chong & Zak, 2001, str. 182):

GBFGSk+1 = Gk +

1 +∆gT

k· Gk · ∆gk∆xT

k· ∆gk

·∆xk · ∆xTk∆xT

k· ∆gk

− ∆xk · ∆gTk· Gk

∆xTk· ∆gk

− Gk · ∆gk · ∆xTk∆xT

k· ∆gk

(1.73)

Zgornja enacba predstavlja BFGS formulo posodobljene Hessove matrike Gk . Zdaj lahko

zapišemo tudi algoritem za BFGS:

BFGS Algoritem

1. Nastavimo k := 0; izberemo x0, ter pravo simetricno pozitivno definitno matriko G0

2. Ce gk ≤ ε, ustavimo, drugace dk = −Gk · gk

3. Izracunamo:

xk+1 = xk + αk · dk

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 21

Page 30: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

4. Izracunamo:

∆xk = αk · dk∆gk = gk+1 − gk

Gk+1 = Gk +

1 +∆gT

k· Gk · ∆gk∆xT

k· ∆gk

·∆xk · ∆xTk∆xT

k· ∆gk

− ∆xk · ∆gTk· Gk

∆xTk· ∆gk

− Gk · ∆gk · ∆xTk∆xT

k· ∆gk

5. Nastavimo k := k + 1, nazaj na 2. korak

Enacbo 1.73 za BFGS bomo zaradi lažjega racunanja razbili na matrike A, B in C (Dragan,

2010, str. 180):

Gk+1 = Gk +

∆Gk︷ ︸︸ ︷1 +∆gT

k· Gk · ∆gk∆xT

k· ∆gk

·∆xk · ∆xTk∆xT

k· ∆gk︸ ︷︷ ︸

Ak

− ∆xk · ∆gTk· Gk

∆xTk· ∆gk︸ ︷︷ ︸Bk

− Gk · ∆gk · ∆xTk∆xT

k· ∆gk︸ ︷︷ ︸

Ck

(1.74)

Tako dobimo:

Ak =

1 +∆gT

k· Gk · ∆gk∆xT

k· ∆gk

·∆xk · ∆xTk∆xT

k· ∆gk

Bk =∆xk · ∆gTk · Gk

∆xTk· ∆gk

Ck =Gk · ∆gk · ∆xTk∆xT

k· ∆gk

(1.75)

Sledi, da je Gk+1:

Gk+1 = Gk + ∆Gk = Gk + Ak − Bk − Ck (1.76)

Slika 5 nam podrobneje prikazuje BFGS algoritem, ki ga lahko zaradi lažje predstave

zapišemo tudi v obliki blocnega diagrama (Dragan, 2010, str. 181).

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 22

Page 31: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Slika 5: BFGS algiritem

k = 0, G0 = I

postavimo x0

in toleranco (ε)

g0 = ∇ f (x0)T

izracuni

gk ≤ ε

Optimum

xk

DA

NE

xk+1 = xk − αk · Gk · gk︸︷︷︸∇ f (xk )

minimiziraj numericno:

f (xk+1) = f (αk)

min︸︷︷︸αk

( f (αk))→ α∗k

xk+1 = xk − α∗k · Gk · gkgk+1 = ∇ f (xk+1)

∆gk = gk+1 − gk

∆xk = xk+1 − xk

Ak =

[1+∆gT

k· Gk · ∆gk∆xT

k· ∆gk

]·∆xk · ∆x

Tk

∆xTk· ∆gk

Bk =∆xk · ∆gTk · Gk

∆xTk· ∆gk

Ck =Gk · ∆gk · ∆xTk∆xT

k· ∆gk

Gk+1 = Gk + Ak − Bk − Ck

k = k + 1

Ce se sedaj spomnimo DFP metode vidimo, da je DFP algoritem moral izpolnit GDFPk+1 ·

∆gi = ∆xi , 0 ≤ i ≤ k. Zato mora BFGS posodobitev za Bk zagotovit Bk+1 · ∆xi = ∆gi ,

0 ≤ i ≤ k. Pri izgradnji BFGS formule za GBFGSk+1 smo sklenili, da GBFGS

k+1 · ∆gi = ∆xi ,

0 ≤ i ≤ k , s cimer ima BFGS algoritem vse lastnosti Quasi-Newtonovih metod. Poleg tega

podedujejo BFGS metode od DFP metod tudi lastnost pozitivne definitnosti, saj ce gk , 0

in Gk > 0, potem je tudi GBFGSk+1 > 0. BFGS metode so tudi bolj robustne takrat, ko je smer

iskanja površna. To nam omogoca ohranit cas v tem delu algoritma, kar pa tudi pomeni, da

je BFGS formula vecinoma bolj efektivna od DFP formule (Chong & Zak, 2001, str. 182).

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 23

Page 32: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

2 ILUSTRACIJA REŠEVANJA NELINEARNIH PRI-

MEROV S POMOCJO ANALITICNEGA NACINA

RACUNANJA

Na osnovi znanja, ki smo ga pridobili v poglavju 1, bomo pogledali delovanje DFP in

BFGS metode na dveh simulacijskih primerih. Oba primera predstavljata dvodimenzio-

nalna problema. Izracunali ju bomo analiticno.

Primer 1:

f (x1, x2) =12· (2 · x2

1 + 2 · x1 · x2 + x22) + 10 · x2 (2.1)

Primer 2:

f (x1, x2) = x1 − x2 + 2 · x21 + 2 · x1 · x2 + x2

2 (2.2)

Pri cemer je zacetni ali izhodišcni vektor:

x0 =

0

0

(2.3)

Za toleranco ε vzemimo:

ε = 10−3 = 0, 001 (2.4)

Kot vidimo zgoraj, smo spremenljivke ciljne funkcije x1 in x2 podcrtali. To smo storili

zato, da smo lahko locili spremenljivke funkcije od vektorjev, saj bi drugace v nadaljevanju

izracunov imeli vektorji iste oznake kot njihove komponente, kar bi pa bilo zelo motece in

zavajajoce.

2.1 Simulacijska primera po DFP metodi

Primerjali bomo enacbi 2.1 in 2.2 prvo po DFP in kasneje še po BFGS metodi. Koncna

rezultata morata bit pri obeh enaka, ne glede na metodo. Ce rezultat ne bi bil enak bi to

pomenilo, da je napaka v metodi.

2.1.1 Primer 1

Najprej bomo rešili problem 2.1. Ker je ta dvodimenzionalen, ima simetricna matrika G0

dva stolpca in dve vrstici:

G0 = I =

1 0

0 1

(2.5)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 24

Page 33: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Prvo je potrebno narediti dovod po komponentah funkcije f (x1, x2), da dobimo zacetni

gradient g0, ter vstaviti zacetni vektor x0 = [0 0]T :

g0 = ∇ f (x0) =

∂ f

∂x1∂ f

∂x2

=

2 · x1 + x2

x1 + x2 + 10

=

2 · 0 + 0

0 + 0 + 10

=

0

10

(2.6)

Na tem mestu že lahko preverimo ali je normiran gradient ‖g0‖ ≤ ε:

‖g0‖ =

√gT0 · g0 =

√√√[0 10

0

10

=√

100 = 10 (2.7)

Kot vidimo, je ‖g0‖ vecji od ε, zato nadaljujemo z izracuni. Ce bi bil ‖g0‖ ≤ ε bi to

pomenilo, da smo zacetni vektor nastavili dovolj natancno, oziroma, da smo že z vektorjem

x0 uganili ali minimum ali dovolj tocen približek. Ker se to ni zgodilo, nadaljujemo z

izracunom x1:

x1 = x0 − α0 · G0 · g0 =

0

0

− α0 ·1 0

0 1

·

0

10

=

0

−10 · α0

(2.8)

Po x1 lahko izracunamo parameter α0, s tem, da ga ustavimo v zacetno funkcijo f (x1):

f (x1) =12· (−10 · α0)2 + 10 · (−10 · α0) = 50 · α2

0 − 100α0 (2.9)

Ter funkcijo f (x1) odvedemo po α0:

∂ f (x1)∂α0

= 100 · α0 − 100 = 0 =⇒ α0 = 1 (2.10)

V parameter α0 nato vstavimo v enacbo za x1 in dobimo:

x1 =

0

−10 · α0

=

0

−10 · 1

=

0

−10

(2.11)

Ko imamo podan vektor x1, pa lahko izracunamo gradient g1:

g1 = ∇ f (x1) =

∂ f

∂x1∂ f

∂x2

=

2 · x1 + x2

x1 + x2 + 10

=

2 · 0 + (−10)

0 + (−10) + 10

=

−10

0

(2.12)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 25

Page 34: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Tudi tukaj lahko sedaj preverimo, ce je ‖g1‖ ≤ ε:

‖g1‖ =

√gT1 · g1 =

√√√[−10 0

]·−10

0

=√

100 = 10 (2.13)

Ker tudi tokrat ni ‖g1‖ ≤ ε, nadaljujemo za izracunom vektorja ∆x0:

∆x0 = x1 − x0 =

0

−10

−0

0

=

0

−10

(2.14)

Ter spremembo gradienta ∆g0:

∆g0 = g1 − g0 =

−10

0

0

10

=

−10

−10

(2.15)

Za izracun naslednje simetricne matrike G1 potrebujemo matriki M0 in N0.

M0 =∆x0 · ∆xT0∆xT0 · ∆g0

=

0

−10

·[0 −10

]

[0 −10

]·−10

−10

=

0 0

0 1

(2.16)

N0 =

I︷︸︸︷G0 ·∆g0 · ∆gT0 ·

I︷︸︸︷G0

gT0 · G0︸︷︷︸I

·∆g0=

−10

−10

·[−10 −10

]

[−10 −10

]·−10

−10

=

100 100

100 100

200=

0.5 0.5

0.5 0.5

(2.17)

Ko smo izracunali M0 in N0, lahko izracunamo G1 po enacbi:

G1 = G0 + M0 − N0 =

1 0

0 1

+

0 0

0 1

−0.5 0.5

0.5 0.5

=

0.5 −0.5

−0.5 1.5

(2.18)

Tukaj se konca prva iteracija in zacne druga, kjer bomo prvo izracunali x2:

x2 = x1 − α1 · G1 · g1 =

0

−10

− α1 ·

0.5 −0.5

−0.5 1.5

·−10

0

=

0

−10

− α1 ·−5

5

x2 =

5 · α1

−10 − 5 · α1

(2.19)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 26

Page 35: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

V funkcijo f (x1, x2) vstavimo vektor x2 in dobimo:

f (x2) =12·(2 · (5 · α1)2 + 2 · (5 · α1) · (−10 − 5 · α1) + (−10 − 5 · α1)2

)+

+ 10 · (−10 − 5 · α1)

=12·(50 · α2

1 + (−100 · α1) + (−50 · α21) + 100 + 100 · α1 + 25 · α2

1

)+

+ (−100 − 50 · α1)

= 25 · α21 − 50 · α1 − 25 · α2

1 + 50::

+ 50 · α1 + 12.5 · α21 − 100

:::− 50 · α1

= 12.5 · α21 − 50 · α1 − 50 (2.20)

Zgornjo funkcijo odvedemo po α1 ter enacimo z nic, da lahko izracunamo α1:

∂ f (x2)∂α1

= 25 · α1 − 50 = 0 =⇒ α1 = 2 (2.21)

Sedaj lahko α1 vstavimo v enacbo za x2 in ga izracunamo:

x2 =

5 · α1

−10 − 5 · α1

5 · 2

−10 − 5 · 2

=

10

−20

(2.22)

Sedaj lahko na osnovi vektorja x2 izracunamo gradient g2:

g2 = ∇ f (x2) =

2 · x1 + x2

x1 + x2 + 10

=

2 · 10 + (−20)

10 + (−20) + 10

=

0

0

(2.23)

S tem je algoritem zakljucen, saj smo dobili gradient g2 = 0, kar pa pomeni, da je norma

gradienta ‖g2‖ = 0. To tudi pomeni, da smo dobili najboljšo možno rešitev ali minimum

funkcije za x2 in ne samo dovolj dober približek. Sedaj še izracunamo vrednost funkcije

f (x1, x2) pri x2:

f (x1, x2) = f (10, −20) =12· (2 · x2

1 + 2 · x1 · x2 + x22) + 10 · x2 =

=12· (2 · 102 + 2 · 10 · (−20) + (−20)2) + 10 · (−20)

f (10, −20) = −100 (2.24)

S tem je v tocki x2 =[10 −20

]Tvrednost funkcije f (10, −20) = −100. Kot vidimo,

je konvergenca zelo hitra, saj smo prišli do rešitve že v drugi iteraciji algoritma, kar

je znacilnost Newtonovih in Quasi-Newtonovih metod. Rezultate si lahko pregledno

pogledamo tudi na tabeli 1 v poglavju 2.4.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 27

Page 36: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

2.1.2 Primer 2

Podobno, kot smo rešili prvi DFP problem (2.1), bomo sedaj rešili še drugega (2.2). Prav

tako ima v tem primeru simetricna matrika štiri elemente, kot je razloženo v prikazano v

enacbi 2.5. Najprej naredimo odvod funkcije f (x1, x2) po komponentah:

g0 = ∇ f (x0) =

∂ f

∂x1∂ f

∂x2

=

1 + 4 · x1 + 2 · x2

−1 + 2 · x1 + 2 · x2

=

1 + 4 · 0 + 2 · 0−1 + 2 · 0 + 2 · 0

=

1

−1

(2.25)

Tukaj bomo spet preverili normo g0, ce ustreza ‖g0‖ ≤ ε:

‖g0‖ =

√gT0 · g0 =

√√√[1 −1

1

−1

=√

2 = 1, 4142 (2.26)

Kot vidimo ne drži, da je ‖g0‖ ≤ ε, zato nadaljujemo z izracuni. Na osnovi g0 lahko

izracunamo x1 po enacbi:

x1 = x0 − α0 · G0 · g0 =

0

0

− α0 ·1 0

0 1

·

1

−1

=

−α0

α0

(2.27)

V zacetno funkcijo vstavimo x1:

f (x1) = −α0::− α0

::+ 2 · α2

0 + 2 · (−α0) · α0 + α20 = α2

0 − 2 · α0 (2.28)

Ter jo odvajamo po α0:

∂ f (x1)∂α0

= 2 · α0 − 2 = 0 =⇒ α0 = 1 (2.29)

V parameter α0 nato vstavimo v enacbo za x1 in dobimo:

x1 =

−α0

α0

=

−1

1

(2.30)

Ko imamo znan vektor x1, lahko izracunamo gradient g1:

g1 = ∇ f (x1) =

∂ f

∂x1∂ f

∂x2

=

1 + 4 · x1 + 2 · x2

−1 + 2 · x1 + 2 · x2

=

1 + 4 · (−1) + 2

−1 + 2 · (−1) + 2

=

−1

−1

(2.31)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 28

Page 37: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Spet lahko preverimo, ce ‖g1‖ ≤ ε:

‖g1‖ =

√gT1 · g1 =

√√√[−1 −1

]·−1

−1

=√

2 = 1.4142 (2.32)

Ker ‖g1‖ ≤ ε ne drži, nadaljujemo z ∆x0:

∆x0 = x1 − x0 =

−1

1

−0

0

=

−1

1

(2.33)

Ter spremembo gradienta ∆g0:

∆g0 = g1 − g0 =

−1

−1

1

−1

=

−2

0

(2.34)

Sedaj lahko izracunamo simetricno matrikoG1. Za lepšo preglednost, bomo prvo izracunali

matriki M0 in N0.

M0 =∆x0 · ∆xT0∆xT0 · ∆g0

=

−1

1

·[−1 1

]

[−1 1

]·−2

0

=

1 −1

−1 1

2=

0, 5 −0, 5

−0, 5 0, 5

(2.35)

N0 =G0 · ∆g0 · ∆gT0 · G0

gT0 · G0 · ∆g0=

−2

0

·[−2 0

]

[−2 0

]·−2

0

=

4 0

0 0

4=

1 0

0 0

(2.36)

Ker je G0 = I , lahko G0 crtamo kot pri množenju z 1. G1 je tako:

G1 = G0 + M0 − N0 =

1 0

0 1

+

0, 5 −0, 5

−0, 5 0, 5

−1 0

0 0

=

0, 5 −0, 5

−0, 5 1, 5

(2.37)

S tem se konca prva iteracija. Zacnemo z drugo, kjer bomo prvo izracunali x2:

x2 = x1 − α1 · G1 · g1 =

−1

1

− α1 ·

0, 5 −0, 5

−0, 5 1, 5

·−1

−1

=

−1

1

− α1 ·

0

−1

x2 =

−1

1 + α1

(2.38)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 29

Page 38: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Sedaj lahko v funkcijo f (x1, x2) vstavimo vektor x2 in dobimo:

f (x2) = −1 − (1 + α1) + 2 · (−1)2 + 2 · (−1) · (1 + α1) + (1 + α1)2

= −1 − 1 − α1 + 2 − 2 − 2 · α1 + 1 + 2 · α1 + α21

::

= α21 − α1 − 1 (2.39)

Funkcijo f (x1, x2) parcialno odvajamo po α1, ter enacimo z 0:

∂ f (x2)∂α1

= 2 · α1 − 1 = 0 =⇒ α1 =12

(2.40)

α1 lahko sedaj vstavimo v enacbo za x2 in dobimo:

x2 =

−1

1 + α1

=

−1

1 +12

=

−1

1, 5

(2.41)

Sedaj lahko na osnovi vektorja x2 izracunamo gradient g2:

g2 = ∇ f (x2) =

∂ f

∂x1∂ f

∂x2

=

1 + 4 · x1 + 2 · x2

−1 + 2 · x1 + 2 · x2

=

1 + 4 · (−1) + 2 · 1, 5−1 + 2 · (−1) + 2 · 1, 5

=

0

0

(2.42)

Tudi pri enacbi 2.2 je algoritem zakljucen, saj smo dobili za gradient g2 = 0, kar pomeni,

da je tudi norma gradienta ‖g‖ = 0. S tem smo tudi tukaj dobili najboljšo možno rešitev

ali minimum funkcije pri x2 in ne samo dovolj dober približek. Sedaj še lahko izracunamo

vrednost funkcije pri f (x1, x2) pri x2:

f (x1, x2) = f (−1, 1, 5) = x1 − x2 + 2 · x21 + 2 · x1 · x2 + x2

2 =

= −1 − 1, 5 + 2 · (−1)2 + 2 · (−1) · (1, 5) + (1, 5)2 =

f (−1, 1, 5) = −1, 25 (2.43)

V tocki x2 =[−1 1, 5

]Tima tako funkcija vrednost f (−1, 1, 5) = −1, 25. Kot vidimo, je

tudi tukaj konvergenca zelo hitra, saj smo kot pri enacbi 2.1 prišli do rešitve že v drugi

iteraciji algoritma. Vse pomembne rezultate si lahko ogledamo na tabeli 2 v poglavju 2.4.

2.2 Simulacijska primera po BFGS metodi

Sedaj bomo obe enacbi izracunali še po BFGS metodi in ju primerjali z izracunom po DFP

metodi. Kot je že bilo prej omenjeno morajo biti koncni rezultati za obe metodi enaki.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 30

Page 39: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

2.2.1 Primer 1

Najprej bomo rešili problem 2.1. Ker je ta dvodimenzionalen, ima simetricna matrika G0

dva stolpca in dve vrstici:

G0 = I =

1 0

0 1

(2.44)

Sedaj je potrebno narediti odvod po komponenta (parcialni odvod) funkcije f (x1, x2), da

dobimo zacetni gradient g0, ter tega vstaviti v zacetni vektor x0 =[0 0

]T:

g0 = ∇ f (x0) =

∂ f∂x1

∂ f∂x2

=

2 · x1 + x2

x1 + x2 + 10

=

2 · 0 + 0

0 + 0 + 10

=

0

10

(2.45)

Preverimo, ce je normiran gradient ‖g0‖ ≤ ε:

‖g0‖ =

√gT0 · g0 =

√√√[0 10

0

10

=√

100 = 10 (2.46)

Ker ni, nadaljujemo z izracuni. Rešimo enacbo za x1:

x1 = x0 − α0 · G0 · g0 =

0

0

− α0 ·1 0

0 1

·

0

10

=

0

−10 · α0

(2.47)

Sedaj lahko izracunamo parameter α0 s tem, da ga vstavimo v ciljno funkcijo f (x1):

f (x1) =12· (−10 · α0)2 + 10 · (−10 · α0) = 50 · α2

0 − 100α0 (2.48)

Funkcijo f (x1) parcialno odvedemo po α0:

∂ f (x1)∂α0

= 100 · α0 − 100 = 0 =⇒ α0 = 1 (2.49)

S tem, ko imamo izracunan vektor x1, lahko izracunamo gradient g1:

g1 = ∇ f (x1) =

∂ f

∂x1∂ f

∂x2

=

2 · x1 + x2

x1 + x2 + 10

=

2 · 0 + (−10)

0 + (−10) + 10

=

−10

0

(2.50)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 31

Page 40: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Spet preverimo, ce je ‖g1‖ ≤ ε:

‖g1‖ =

√gT1 · g1 =

√√√[−10 0

]·−10

0

=√

100 = 10 (2.51)

Ker ni, nadaljujemo z z izracunom vektorja ∆x0:

∆x0 = x1 − x0 =

0

−10

−0

0

=

0

−10

(2.52)

Ter spremembo gradienta ∆g0:

∆g0 = g1 − g0 =

−10

0

0

10

=

−10

−10

(2.53)

Za izracun naslednje simetricne matrike G1, bomo potrebovali matrike A0, B0 in C0:

A0 =

1 +∆gT0 · G0 · ∆g0

∆xT0 · ∆g0

·∆x0 · ∆xT0∆xT0 · ∆gk

=

1 +

[−10 10

]·−10

−10

[0 −10

]·−10

−10

·

0

−10

·[0 −10

]

[0 −10

]·−10

−10

A0 =

(1 +

200100

0 0

0 100

100= 3 ·

0 0

0 1

=

0 0

0 3

(2.54)

B0 =∆x0 · ∆gT0 · G0

∆xT0 · ∆g0=

0

−10

·[−10 −10

]

[0 −10

]·−10

−10

=

0 0

100 100

100=

0 0

1 1

(2.55)

C0 =G0 · ∆g0 · ∆xT0∆xT0 · ∆g0

=

−10

−10

·[0 −10

]

[0 −10

]·−10

−10

=

0 100

0 100

100=

0 1

0 1

(2.56)

Ko imamo podane matrike A0, B0 in C0, lahko izracunamo G1 po enacbi:

G1 = G0 + A0 − B0 − C0 =

1 0

0 1

+

0 0

0 3

−0 0

1 1

−0 1

0 1

=

1 −1

−1 2

(2.57)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 32

Page 41: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

S tem smo koncali prvo iteracijo in zacnemo z drugo, kjer bomo prvo izracunali x2:

x2 = x1 − α1 · G1 · g1 =

0

−10

− α1 ·

1 −1

−1 2

·−10

0

=

0

−10

− α1 ·−10

10

x2 =

10 · α1

−10 − 10 · α1

(2.58)

V funkcijo f (x1, x2) vstavimo vektor x2 in dobimo:

f (x2) =12·(2 · (10 · α1)2 + 2 · (10 · α1) · (−10 − 10 · α1) + (−10 − 10 · α1)2

)+

+ 10 · (−10 − 10 · α1)

=12·(200 · α2

1 + (−200 · α1) + (−200 · α21) + 100 + 200 · α1 + 100 · α2

1

)+

+ (−100 − 100 · α1)

= 100 · α21 − 100 · α1 − 100 · α2

1 + 50::

+ 100 · α1 + 50 · α21 − 100

:::− 100 · α1

= 50 · α21 − 100 · α1 − 50 (2.59)

Funkcijo f (x1, x2) odvedemo po α1 ter enacimo z nic, da izracunamo α1:

∂ f (x2)∂α1

= 100 · α1 − 100 = 0 =⇒ α1 = 1 (2.60)

V enacbo za x2 vstavimo α1:

x2 =

10 · α1

−10 − 10 · α1

=

10 · 1

−10 − 10 · 1

=

10

−20

(2.61)

Sedaj lahko na osnovi vektorja x2 izracunamo gradient g2:

g2 = ∇ f (x2) =

2 · x1 + x2

x1 + x2 + 10

=

2 · 10 + (−20)

10 + (−20) + 10

=

0

0

(2.62)

Kot vidimo je koncni rezultat BFGS metode povsem enak koncnemu rezultatu iz DFP

metode, razlikuje se samo po vmesnih izracunih. Tudi tukaj je seveda algoritem zakljucen,

saj smo dobili gradient g2 = 0 in s tem tudi normo gradienta ‖g2‖ = 0, kar pomeni

najbojlšo možno rešitev ali minimum funkcije in ne samo dovolj dober približek. Vrednost

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 33

Page 42: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

funkcije f (x1, x2) pri x2 je tako:

f (x1, x2) = f (10, −20) =12· (2 · x2

1 + 2 · x1 · x2 + x22) + 10 · x2 =

=12· (2 · 102 + 2 · 10 · (−20) + (−20)2) + 10 · (−20)

f (10, −20) = −100 (2.63)

Tako je v tocki x2 =[10 −20

]Tvrednost funkcije f (10, −20) = −100. Kot smo že

povedali pri DFP metodi, je konvergenca zelo hitra, saj smo prišli do koncne rešitve že

v drugi iteraciji algoritma. Rezultate si lahko pogledamo bolj pregledno na tabeli 1 v

poglavju 2.4.

2.2.2 Primer 2

Sedaj bomo rešili še zadnji BFGS problem 2.2. Kot smo že povedali, je simetricna matrika

dvodimenzionalna in ima dva stolpca in dve vrstici:

G0 = I =

1 0

0 1

(2.64)

Naredimo odvod po komponentah funkcije f (x1, x2). S tem dobimo zacetni gradient g0, v

katerega ustavimo zacetni vektor x0 =[0 0

]T:

g0 = ∇ f (x0) =

∂ f

∂x1∂ f

∂x2

=

1 + 4 · x1 + 2 · x2

−1 + 2 · x1 + 2 · x2

=

1 + 4 · 0 + 2 · 0−1 + 2 · 0 + 2 · 0

=

1

−1

(2.65)

Preverimo normo ‖g0‖ ≤ ε:

‖g0‖ =

√gT0 · g0 =

√√√[1 −1

1

−1

=√

2 = 1, 4142 (2.66)

Ker ne drži, nadaljujemo z izracunom za x1:

x1 = x0 − α0 · G0 · g0 =

0

0

− α0 ·1 0

0 1

·

1

−1

=

−α0

α0

(2.67)

Vektor x1 vstavimo v zacetno funkcijo:

f (x1) = −α0::− α0

::+ 2 · α2

0 + 2 · (−α0) · α0 + α20 = α2

0 − 2 · α0 (2.68)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 34

Page 43: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Ter parcialno odvajamo po α0:

∂ f (x1)∂α0

= 2 · α0 − 2 = 0 =⇒ α0 = 1 (2.69)

Sedaj lahko vstavimo parameter α0 v enacbo za x1 in dobimo:

x1 =

−α0

α0

=

−1

1

(2.70)

Izracunamo gradient g1:

g1 = ∇ f (x1) =

∂ f

∂x1∂ f

∂x2

=

1 + 4 · x1 + 2 · x2

−1 + 2 · x1 + 2 · x2

=

1 + 4 · (−1) + 2

−1 + 2 · (−1) + 2

=

−1

−1

(2.71)

Preverimo, ce je ‖g1‖ ≤ ε:

‖g1‖ =

√gT1 · g1 =

√√√[−1 −1

]·−1

−1

=√

2 = 1.4142 (2.72)

Ker ‖g1‖ ≤ ε, nadaljujemo z ∆x0:

∆x0 = x1 − x0 =

−1

1

−0

0

=

−1

1

(2.73)

Sprememba gradienta ∆g0 je tako:

∆g0 = g1 − g0 =

−1

−1

1

−1

=

−2

0

(2.74)

Prvo bomo izracunali matrike A0, B0 in C0:

A0 =

1 +∆gT0 · G0 · ∆g0

∆xT0 · ∆g0

·∆x0 · ∆xT0∆xT0 · ∆gk

=

1 +

[−2 0

]·−2

0

[−1 1

]·−2

0

·

−1

1

·[−1 1

]

[−1 1

]·−2

0

A0 =

(1 +

42

1 −1

−1 1

2= 3 ·

0, 5 −0, 5

−0, 5 0, 5

=

1, 5 −1, 5

−1, 5 1, 5

(2.75)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 35

Page 44: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

B0 =∆x0 · ∆gT0 · G0

∆xT0 · ∆g0=

−1

1

·[−2 0

]

[−1 1

]·−2

0

=

2 0

−2 0

2=

1 0

−1 0

(2.76)

C0 =G0 · ∆g0 · ∆xT0∆xT0 · ∆g0

=

−2

0

·[−1 1

]

[−1 1

]·−2

0

=

2 −2

0 0

2=

1 −1

0 0

(2.77)

Sedaj lahko izracunamo naslednjo simetricno matriko G1 po enacbi:

G1 = G0+A0−B0−C0 =

1 0

0 1

+

1, 5 −1, 5

−1, 5 1, 5

1 0

−1 0

−1 −1

0 0

=

0, 5 −0, 5

−0, 5 2, 5

(2.78)

S tem smo koncali prvo iteracijo in zacnemo z drugo. Prvo bomo izracunali x2:

x2 = x1 − α1 · G1 · g1 =

−1

1

− α1 ·

0, 5 −0, 5

−0, 5 2, 5

·−1

−1

=

−1

1

− α1 ·

0

−2

x2 =

−1

1 + 2 · α1

(2.79)

Sedaj lahko v funkcijo f (x1, x2) vstavimo vektor x2 in dobimo:

f (x2) = −1 − (1 + 2 · α1) + 2 · (−1)2 + 2 · (−1) · (1 + 2 · α1) + (1 + 2 · α1)2

= −1 − 1 − 2 · α1 + 2 − 2 − 4 · α1 + 1 + 4 · α1 + 4 · α21

:::::

= 4 · α21 − 2 · α1 − 1 (2.80)

Funkcijo f (x1, x2) dovajamo po α1, ter jo enacimo z 0:

∂ f (x2)∂α1

= 8 · α1 − 2 = 0 =⇒ α1 =14

(2.81)

V enacbo za x2 lahko sedaj vstavimo α1 in dobimo:

x2 =

−1

1 + 2 · α1

=

−1

1 + 2 · 14

=

−1

1, 5

(2.82)

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 36

Page 45: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Na osnovi vektorja x2 lahko izracunamo gradient g2:

g2 = ∇ f (x2) =

∂ f

∂x1∂ f

∂x2

=

1 + 4 · x1 + 2 · x2

−1 + 2 · x1 + 2 · x2

=

1 + 4 · (−1) + 2 · 1, 5−1 + 2 · (−1) + 2 · 1, 5

=

0

0

(2.83)

Tako je algoritem zakljucen, saj smo dobili gradient g2 = 0. S tem je tudi norma ‖g‖ = 0,

kar pomeni, da smo dobili najboljšo možno rešitev ali minimum funkcije in ne samo dovolj

dober približek. Sedaj lahko izracunamo še vrednost funkcije f (x1, x2) pri x2:

f (x1, x2) = f (−1, 1, 5) = x1 − x2 + 2 · x21 + 2 · x1 · x2 + x2

2 =

= −1 − 1, 5 + 2 · (−1)2 + 2 · (−1) · (1, 5) + (1, 5)2 =

f (−1, 1, 5) = −1, 25 (2.84)

Tako ima v tocki x2 =[10 −20

]Tfunkcija vrednost f (10, −20) = −100. Kot smo že

povedali je konvergenca zelo hitra, saj smo prišli do rešitve že v drugi iteraciji algoritma.

Rezultate si lahko pogledamo na tabeli 2 v poglavju 2.4.

2.3 Primerjava simulacijskih primerov

Kot lahko vidimo iz tabel 1 in 2, se obe dve funkciji premikata proti minimumu v vsaki

iteraciji, pri cemer smo pri obeh funkcijah prišli do minimuma v drugi iteraciji. To pomeni,

da je konvergenca zelo hitra, kar je znacilno za Newtonove in Quasi-Newtonove metode.

Iz tabel vidimo tudi, da sta obe funkciji za DFP in BFGS pri izracunih enaki, razlikujeta se

samo po metodi (vmesnih izracunih), zato smo ju lahko združili. S tem smo tudi dokazali,

da oba programa delujeta pravilno. V tabeli je tudi naveden k = 0, 1, 2. Ceprav pomeni

k = 2 tretjo iteracijo, ki je nismo racunali, smo ga napisali v tabli zaradi lažje predstave,

saj se racuna xk+1.

S tem smo zakljucili simulacijsko reševanje problemov. V naslednjem poglavju bomo

opisali program v MATLAB-u, s katerim bomo kasneje razrešili simulacijski in realni

problem nelinearnih funkcij.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 37

Page 46: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

2.4 Tabeli simulacijskih primerov

Tabela 1: Rezultati DFP in BFGS metode za primer 2.1

k x1 x2 f (xk)

x0 0 0 0 0

x1 1 0 -10 -50

x2 2 10 -20 -100

Tabela 2: Rezultati DFP in BFGS metode za primer 2.2

k x1 x2 f (xk)

x0 0 0 0 0

x1 1 -1 1 -1

x2 2 -1 1,5 -1,25

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 38

Page 47: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

3 RAZVOJ RACUNALNIŠKIH PROGRAMOV V MA-

TLABU TER GRAFOV V LATEXU

Na osnovi teoreticnega znanja, ki smo ga pridobili v poglavju 1, smo napisali programa za

optimizacijo DFP in BFGS Quasi-Newtonove metode. Pri tem smo uporabili programski

okolje MATLAB, programa pa sta dodana prilogam. Za pisanje programa je bila pomoc

spletna stran za program MATLAB, v veliko pomoc pa so bili že napisani programi, pa

katerih smo se zgledovali. Prav tako si bomo pomagali izdelati grafe s paketi PGF/TikZ in

PGFPlots v LATEX-u.

3.1 DFP optimizacijski program

V tem poglavju bomo na kratko opisali program dfp_new.m, ki je v celoti prikazan v

poglavju 5.3. Na zacetku je potrebno pocistili vse spremenljivke, da nebi stare ponovno

uporabili v novem programu, kar bi lahko privedlo do napak. To je storjeno z ukazoma

close all in clear all. Zaslon se nato pocisti zgolj zaradi preglednosti, nato sledijo

trije vnosi s tipkovnico.

Najprej je potrebno dolociti dimenzijo n funkcije f, ki je odvisna od dimenzij prostora,

za katere rešujemo primer. V našem primeru je to dvodimenzionalni prostor, torej je

dimenzija vrednosti 2. Zanka for nato naredi toliko simbolicnih spremenljivk xi, kolikšna

je dimenzija n (i = 1, 2, ..., n), kar sta v našem primeru dva, x1 in x2.

Nato je potrebno vnesti funkcijo f v pravilni obliki, kot na primer x1^2+2*x2^2-2*x2.

Zadnji vnos je zacetni vektor X0. Ta vektor smo pisali z veliko crko, saj bi drugace v

naslednji iteraciji prišel do nasprotja s komponentami funkcije f.

Sledi opredelitev tolerance in simetricne matrike. Toleranco bi lahko vnesli s tipkovnico,

a nam da 1E-3 oziroma 10−3 dovolj natancen rezultat, da jo lahko kar uporabimo kot

privzeto za vse vrste problemov. Prav tako smo uporabili enako toleranco že v naših

analiticnih izracunih. Simetricna matrika v prvi iteraciji G0 pa je enaka enotski matriki

I , ki ima od prvega clena po diagonali vse elemente enake 1, ostale elemente pa enake 0.

Velikost simetricne matrike je odvisna od dimenzije n.

S sem smo prišli do odvoda funkcije f po komponentah xi, ki je malo bolj zapletena. V

21. vrstici smo naredili odvod funkcije f po x1, potem pa smo preverili, ali je dimenzija

vecja od 1 (n>1). Ce je trditev pravilna, se izvede naslednja for zanka, za vsak naslednji

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 39

Page 48: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

xi (se pravi od x2) do n. Razlog je v tem, da je potrebno vse izhode funkcije napisati v eni

vrstici znotraj vektorjev (ki so za oglatimi [] oklepaji), zato enacimo odvod funkcije f

(df) s samim seboj.

Po podobnem principu gre naslednji sklop ukazov, ki se zacne z vrstico 28, le da tukaj

v odvod funkcije f vstavimo komponente zacetnega vektorja X0(i), da dobimo prvi

gradient g0. Sicer bi lahko ta dva sklopa združili, a jih bomo še v nadaljevanju programa

potrebovali, ko bomo racunali drugi gradient g1 (in vsak naslednji).

V vrstici 36. zacnemo z zanko while šteti ponovitve. Najprej damo za vrednost k=1, nato

pa ponavljamo zanko tako dolgo, dokler je k enak 1 (k==1) in ko pridemo do rezultata,

nastavimo k na kakršno koli drugo število, da se zanka zakljuci. V našem primeru smo

dali na število 0.

V zanki se pojavi najprej clear X1 alfa, ki v prvi ponovitvi nimata še nobenega pomena,

ampak je ukaz potreben za drugo ponovitev, da ne bi ostala kakšna neželena vrednost

za X1 in alfa iz prve ponovitve. Z drugimi besedami pomeni, da ukaz clear pocisti

že obstojece vrednosti. Nato se naredita tisti simbolicni spremenljivki, ki smo jih prej

pocistili, da lahko program zapiše zacasno enacbo za X1. Ta enacba še ima vedno sim-

bolicni alfa, ki ga je potrebno izracunat. Podobno kot v 28 vrstici tudi sedaj uporabimo

ukaz subs, da zamenjamo komponente funkcije f z vektorjem X1 in dobimo falfa ( f (α)).

Vendar je potrebno sedaj falfa odvesti po alfa, da dobimo dfalfa (∂ f (α)), ki ga lahko

nato z ukazom solve razrešimo (enacimo z 0) in dobimo alfa_opt (α). Tako dobimo za

α neko numericno vrednost, ki jo lahko uporabimo rešitev X1. Spet uporabimo ukaz subs,

da zamenjamo simbolicni alfa z alfa_opt.

Gradient g1 dobimo povsem enako kot v 28 vrstici gradient g0, le da tukaj uporabimo

komponente vektorja X1(i). Tako smo izracunali predhodna in zacetna vektorja odloci-

tvenih spremenljivk, kot tudi predhodna in zacetna gradienta. S temi podatki podatki lahko

izracunamo njuni spremembi ∆, tako da odštejemo zacetnega od predhodnega.

S tem smo prispeli do glavne razlike med DFP in BFGS metodo. Tukaj se izracunata ma-

triki M, N, rezultat pa se uporabi za izracun simetricne matrike G1, ki se uporabo v naslednji

iteraciji. Kljub temu, da racunamo G1, smo v programu zapisali, da gre za G0, saj nas

vmesna vrednost matrike G ne zanima, sama pa vpliva na rezultat samo v naslednji iteraciji.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 40

Page 49: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Kot zadnji ukaz v zanki se izvede preverjanje rezultatov z toleranco TOL in ce sta dx0 ter

g1 manjša od nje, se nastavi k=0. S tem ko k vec ni enak 1, se zanka zakljuci. Takrat se

izpiše optimalen X1, ki pomeni koncni rezultat. V nasprotnem primeru se nastavi X1 na X0

in g1 na g0, ter se nadaljuje z izvedbo zanke. Tako dobimo za g0 in X0 novi vrednosti, ki

se uporabita v naslednji iteraciji, g1 in X1 pa se ponovno izracunata.

3.2 BFGS optimizacijski program

V tem poglavju bomo na kratko opisali program bfgs_new.m, ki je v celoti prikazan v

poglavju 5.3. Pri BFGS optimizacijskem programu, gre samo za ponovno uporabljeno

kodo z dolocenimi spremembami. Namesto, da se uporabita matriki M in N, se uporabijo

matrike A, B in C. S tem je tudi enacba za G1 drugacna. Prav tako smo tukaj uporabili

v programu G0 za izracun naslednje simetricne matrike. Ostale lastnosti programa so

podobne, kot so bile opisane v DPF metodo.

3.3 Prikaz grafov v LATEX-u

Za izdelavo grafov bomo uporabili PGF/TikZ in PGFPlots v LATEX-u. PGF/TikZ je paket v

LATEX-u za lažje risanje slik. Vecina slik, ki so narisane v tem diplomskem delu uporabljajo

paket PGF/TikZ. Samo ena slika je binarna (.jpg, .bmp, .png, ...), vse ostale pa so napisane

v LATEX kodi. Paket PGFPlots pa ima še dodatno funkcionalnost za enostavno risanje

funkcij, ki bi bil samo z paketom PGF/TikZ prevec težaven.

Kot vidimo iz priloge, se slika z \begin{tikzpicture} in konca z \end{tikzpicture},

saj bazira na PGF/TikZ. V 2. vrstici pa pride do izraza \begin{axis} ki že sodi v paket

PFGPlots. Tukaj nastavimo napis za x-os x1 in y-os z x2. V 3. vrstici narišemo funkcijo z

\addplot3. Številka 3 v addplot pomeni tridimenzionalni graf (ukaz \addplot je za

dvodimenzionalnega). Z ukazom surf naredimo obarvano mrežno, ki jo PGFPlots sam av-

tomatsko ustvari in obarva. Funkcija se obarva od temno modre pri najmanjših vrednostih

in gre vse do temno rdece pri najvecjih. Ukaza domain in domain y nam povesta domeno

pri x in y, v kakšnem definicijskem obmocju spremenljivk izrišemo funkcijo. Koordinate x

ne pišemo, saj jo PGFPlot avtomatsko vzame kot prvo.

V vrstici 4. pa imamo v zavitih oklepajih {} primer ciljne funkcije. Pravzaprav je vrstica 4.

nadaljevanje \addplot3 ukaza, a smo ciljno funkcijo zaradi preglednosti napisali v novi

vrstici. Sledita še smo zakljucitvi \end{axis} in \end{tikzpicture}.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 41

Page 50: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

4 REŠEVANJE SIMULACIJSKIH PRIMEROV S PO-

MOCJO RAZVITIH PROGRAMOV V MATLABU

V tem poglavju bomo z programom MATLAB izracunali simulacijska primera, ter z

PGFPlots narisali grafe. Prvo si bomo pogledali delovanje na primeru 2.1 in kasneje na

2.2.

4.1 Simulacijski primer 1

Prvo bomo uporabili program po DFP metodi, ki je v prilogi 5.3. Na zacetku vnesemo

dimenzijo funkcije, samo funkcijo, ter zacetni vektor. Izris komandnega okna je naslednji:

Vnesite dimenzijo funkcije:2

Vnesite funkcijo:1/2*(2*x1^2+2*x1*x2+x2^2)+10*x2

Vnesite zacetni vektor x0:[0 0]

Toleranca ε = 10−3 in zacetna simetricna matrika G0 =

1 0

0 1

, sta že v programu in ju ne

vnašamo. Glavna razlika med DFP in BFGS metodo je po vmesnih rezultatih pri matrikah

M in N (za DFP metodo), ter matrikami A, B, in C (za BFGS metodo). S tem je tudi

matrika G drugacna:

M = N = G0 =

[ 0, 0] [ 1/2, 1/2] [ 1/2, -1/2]

[ 0, 1] [ 1/2, 1/2] [ -1/2, 3/2]

Program naredi dve iteraciji in se ustavi, ko je dx0 || g1 < TOL. V našem primeru

dobimo:

X1 =

10

-20

V našem primeru je dx0 < TOL, zato se program konca. Kot vidimo, je to tudi rešitev

analiticnega dela reševanja simulacijskih primerov, zato program deluje pravilno.

Sedaj bomo uporabili še program po BFGS metodi, ki je v prilogi 5.3. Vnesemo dimenzijo

funkcije, samo funkcijo, ter zacetni vektor. Izris komandnega okna je naslednji:

Vnesite dimenzijo funkcije:2

Vnesite funkcijo:1/2*(2*x1^2+2*x1*x2+x2^2)+10*x2

Vnesite zacetni vektor x0:[0 0]

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 42

Page 51: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Toleranco ε = 10−3 in zacetno simetricno matriko G0 =

1 0

0 1

tudi tukaj ne vnašamo, saj

sta že v programu. Matrike A, B, C in G so tukaj:

A = B = C = G0 =

[ 0, 0] [ 0, 0] [ 0, 1] [ 1, -1]

[ 0, 3] [ 1, 1] [ 0, 1] [ -1, 2]

Program se ustavi pri drugi iteraciji, ko je g1 < TOL, kar je enako kot pri DFP metodi.

Dobimo:

X1 =

10

-20

Tudi tukaj je rešitev enaka kot analiticna rešitev simulacijskega programa oziroma rešitev

DFP metode s programom MATLAB, zato tudi ta program deluje pravilno. Slika 6 graficno

prikazuje funkcijo 2.1.

Slika 6: Graficni prikaz funkcije 2.1

−100 −50 0 50 100−100

0

1000

2

·104

x1x2

Sedaj bomo naredili enake izracune še za primer 2.2.

4.2 Simulacijski primer 2

Prvo bomo spet uporabili program po DFP metodi, ki je v prilogi 5.3. Vnesemo dimenzijo

funkcije, samo funkcijo, ter zacetni vektor. Izris komandnega okna je naslednji:

Vnesite dimenzijo funkcije:2

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 43

Page 52: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Vnesite funkcijo:x1-x2+2*x1^2+2*x1*x2+x2^2

Vnesite zacetni vektor x0:[0 0]

Matrike M , N in G za DFP metodo po 2.2 analiticnem problemu so:

M = N = G0 =

[ 1/2, -1/2] [ 1, 0] [ 1/2, -1/2]

[ -1/2, 1/2] [ 0, 0] [ -1/2, 3/2]

Program se ustavi po drugi iteraciji, kot smo tudi izracunali v analiticnem delu. Dobimo:

X1 =

-1

3/2

Tudi tukaj je od dx0 || g1 < TOL izraza veljaven dx0 < TOL, da zadosti toleranco in

konca program.

Sedaj naredimo enako še za BFGS metodo, ki je v prilogi 5.3. Prvo vnesemo dimenzijo

funkcije, samo funkcijo, ter zacetni vektor. Izris komandnega okna je naslednji:

Vnesite dimenzijo funkcije:2

Vnesite funkcijo:x1-x2+2*x1^2+2*x1*x2+x2^2

Vnesite zacetni vektor x0:[0 0]

Matrike A, B, C in G so:

A = B = C = G0 =

[ 3/2, -3/2] [ 1, 0] [ 1, -1] [ 1/2, -1/2]

[ -3/2, 3/2] [ -1, 0] [ 0, 0] [ -1/2, 5/2]

Tudi tukaj se program ustavi v drugi iteraciji, kot je g1 < TOL, ker je enako kot pri

prejšnjih izracunih. Dobimo:

X1 =

-1

3/2

Slika 7 graficno prikazuje funkcijo 2.2.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 44

Page 53: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Slika 7: Graficni prikaz funkcije 2.1

−100 −50 0 50 100−100

0

1000

2

4

·104

x1x2

Kot vidimo sta oba grafa dokaj podobna, saj gre za polinoma druge stopnje oziroma za

dvodimenzionalno funkcijo. Graf pri drugi funkciji 2.2 je nekoliko bolj strmi, saj ima na

primer pri x1 = x2 = 100 vrednost 50.000, pri prvi funkciji 2.1 pa 26.000. Prav tako sta

oba grafa lepo konveksno obliko in sta dokaj hitro narašcajoca, saj niso potrebne vecje

spremembe spremenljivk, da vrednost poskoci na petmestno številko.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 45

Page 54: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

5 REŠEVANJE REALNEGA PRIMERA LOKACIJ-

SKEGA PROBLEMA S POMOCJO RAZVITIH PRO-

GRAMOV V MATLABU

V tem poglavju bomo poizkusili razrešit lokacijski problem. Radi bi našli najboljšo možno

lokacijo skladišca, ki bi z blagom oskrboval trgovine. Na postavitev skladišca bo vplivala

lokacija trgovin, ter potrebami vsake trgovine po blagu. Lokacijo trgovin bomo zapisali

v koordinatnem sistemu (x , y) z tockami od A do G, potrebe pa bomo oznacili s številko

zraven povezave do skladišca. Vecja številka pomeni vecjo potrebo. Zanemarili pa bomo

težavnost cestne infrastrukture in gostoto prometa, saj se lahko predvideva, da morajo biti

trgovine oskrbljene ne glede na omenjene parametre. Slika 8 prikazuje lokacijski problem

skladišca s skladišcem v tocki S.

Slika 8: Lokacijski problem skladišca

y

x

S(x , y) = ?

A(2,8)

7

B(1.9,3) 5

C(3.3,5.1)4

D(4.5,9)

8

E(6.1,7.3)

5

F(3.9,8.8)

3

G(4.3,0.5)

11

Tukaj smo tocko S postavili na poljubno lokacijo, saj še ne vemo, kje dejansko bo, ker

nimamo njenih koordinat. Te bomo poskusili izracunati s pomocjo DFP in BFGS metode.

Kot prvo pa moramo napisati enacbo za kriterijsko funkcijo, ki bo predstavljala skladišce

v tocki S, za katero želimo poiskati optimalni koordinati x∗ in y∗, na takšen nacin, da bo

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 46

Page 55: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

veljalo:

f (x∗, y∗) = min︸︷︷︸x ,y

f (x , y) (5.1)

Enacba za kriterijsko funkcijo bo imela potrebe oznacene s crko e:

f (x , y) = 7 · eA + 5 · eB + 4 · eC + 8 · eD + 5 · eE + 3 · eF + 11 · eG (5.2)

Sedaj pa bomo izrazili potrebe e. Kot vidimo je e vektor, ki mu lahko dolocimo dolžino v

koordinatnem prostoru z enacbo e =√x2 + y2, torej:

f (x , y) = 7 ·√

(x − 2)2 + (y − 8)2 + 5 ·√

(x − 1, 9)2 + (y − 3)2+

+ 4 ·√

(x − 3, 3)2 + (y − 5, 1)2 + 8 ·√

(x − 4, 5)2 + (x − 9)2+

+ 5 ·√

(x − 6, 1)2 + (y − 7, 3)2 + 3 ·√

(x − 3, 9)2 + (y − 8, 8)2+

+ 11 ·√x − 4, 3)2 + (y − 0, 5)2 (5.3)

Dobljeno enacbo bomo sedaj ustavili v programa za DFP in BFGS metodo. Pricakujemo

lahko, da se bosta koncna rezultata malo razlikovala, saj verjetno ne bomo dobili tako lepih

rešitev, kot pri simulacijskih primerih.

5.1 Rešitev realnega primera po DFP metodi

Enacbo 5.3 bomo sedaj vstavili v DFP program. Tudi tukaj bomo uporabili zacetni vektor

x0 = [0 0]. Ker je realni primer šel skozi vec iteracij programa je najbolje, da rezultate

kar predstavimo v tabeli 3.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 47

Page 56: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Tabela 3: Rezultati realnega primera po DFP metodi

k x y f (xk)

x0 0 0 0 304,336254

x1 1 4,241897 4,892560 153,954573

x2 2 3,615412 5,856244 147,491401

x3 3 3,593038 5,831192 147,488431

x4 4 3,598779 5,821288 147,487906

x5 5 3,595108 5,816859 147,487824

x6 6 3,595826 5,815348 147,487814

x7 7 3,595464 5,814875 147,487813

Kot vidimo, ima funkcija najvecji skok v prvi iteraciji in nato še malo vecjega v drugi,

potem pa se dokaj gladko premika proti minimumu. To pomeni, da bi lahko toleranco

tudi malo zmanjšali, da ne bi bilo toliko racunanja, saj tudi program pocasneje dela zaradi

vecjega števila iteracij. Pomeni pa tudi, da zacetnega vektorja nismo lepo uganili, ceprav

verjetno ne bi bilo manj iteracij. Funkcija v izrazu 5.3 v tocki x7 seveda nima cistega

minimuma, a je to dovolj dober približek za dani primer.

5.2 Rešitev realnega primera po BFGS metodi

Sedaj bomo enacbo 5.3 vstavili v BFGS program. Kljub temu, da sedaj že poznamo dober

približek funkcije 5.3, bomo za primerjavo vzeli za zacetni vektor spet x0 = [0 0], saj

verjetno ne bi prihranili veliko procesorskega casa oziroma ne bi bilo nic manj iteracij.

Rezultate si oglejmo na tabeli 4.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 48

Page 57: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Tabela 4: Rezultati realnega primera po BFGS metodi

k x y f (xk)

x0 0 0 0 304,336254

x1 1 4,241897 4,892560 153,954573

x2 2 3,615412 5,856244 147,491401

x3 3 3,593044 5,831254 147,488435

x4 4 3,595610 5,814877 147,487813

x5 5 3,595493 5,814744 147,487813

Tudi tukaj ima funkcija najvecji skok v prvi iteraciji in nato še enega malo vecjega v drugi,

potem pa gre dokaj gladko proti minimumu. Seveda tudi tukaj ne gre za pravi minimum,

ampak za dovolj dober približek, ki zadostuje za dani primer.

5.3 Primerjava in grafi

Ce si pogledamo tabeli 3 in 4 vidimo, da je DFP metoda pocasnejša od BFGS metode. To

je bilo tudi za pricakovati, saj je bila BFGS metoda razvita kot izboljšava DFP metode.

Tako potrebuje program za DFP metodo sedem iteracij, da pride do cilja, program za BFGS

metodo pa samo pet. Pravzaprav je že v cetrti iteraciji ciljna funkcija enake vrednosti kot

v peti (zaradi zaokroževanja), kar je še iteracija manj. A kljub temu lahko recemo, da v

obeh dveh primerih ciljna funkcija zelo hitro konvergira, saj je vsaj v tretji iteraciji dovolj

dober približek minimuma. Lahko bi tudi dejali, da je kot približek že druga iteracija dovolj.

Na zacetku tega poglavja smo narisali koordinatni sistem z vsemi trgovinami in skladišcem,

ter jih oznacili. Ker takrat še nismo vedeli optimalne lega skladišca S, smo ga narisali

poljubno na koordinatni sistem. To lahko sedaj popravimo na sliki 9. Optimalni koordinati

skladišca x∗ in y∗ bomo zaokrožili na dve decimalki natancno.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 49

Page 58: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Slika 9: Lokacijski problem skladišca

y

x

S(3.59,5.81)

A(2,8)

7

B(1.9,3)5

C(3.3,5.1) 4

D(4.5,9)

8

E(6.1,7.3)

5

F(3.9,8.8)

3

G(4.3,0.5)

11

x∗ = 3.59

y∗ = 5.81

Kot vidimo, je skladišce S najbližje trgovini C, kljub temu, da ima ta trgovina skoraj

najmanjše potrebe. Razlog je seveda v tem, da leži dokaj na sredini vseh trgovin in s tem

tudi najbolj pridobi. Ravno nasprotje je trgovina G, saj ima najbolj oddaljeno skladišce

kljub temu, da ima najvecje potrebe od vseh trgovin. Razlog je podoben kot pri trgovini

C, se pravi, da je najbolj oddaljena od ostalih trgovin. Zaradi tega ne moremo skladišca

postavit bližje, saj ena sama oddaljena trgovina tega ne odtehta, saj postavitev ne bi bila

racionalna kljub temu, da ima najvecje potrebe.

Za konec lahko še narišemo funkcijo v izrazu 5.3 s paketom PGFPlots. Slika 10 prikazuje

graf te funkcije. Zaradi primerjave z simulacijskimi primeri bomo pri funkciji realnega

primera vzeli enako definicijsko obmocje.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 50

Page 59: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Slika 10: Funkcija realnega primera

−100 −50 0 50 100−100

0

1000

5,000

x1x2

Ce sedaj primerjamo to realno funkcijo z obema funkcijama simulacijskega primera vidimo,

da je ta realna funkcija veliko manj strma, saj je pri vrednosti spremenljivk x = y = 100

vrednost ciljne funkcije f (x , y) = 5.803. V primerjavi z primerom 2.2 je to skoraj deset krat

manjša vrednost. Zaradi tega razloga in dejstva da je veliko bolj kompleksno sestavljena,

potrebujemo za izracun problema tudi vec iteracij. Ima pa ta funkcija še lepšo konveksno

obliko in bolj nazorno prikaže, kje je dejanski minimum.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 51

Page 60: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

ZAKLJUCEK

Ocena in vrednotenje uspešnosti rešitve problema

V diplomskem delu smo pogledali delovanje Quasi-Newtonovih metod na simulacijskih

ter realnem primeru. Za to je bilo potrebno preuciti teorijo Quasi-Newtonovih metod, kot

tudi Newtonovih metod, ki so potrebne za razumevanje, saj se neposredno navezujejo

na Quasi-Newtonove metode. Seveda smo zraven razložili optimizacijo na splošno, ter

vse matematicne osnove, ki so prav tako bile potrebne za razumevanje snovi. Hkrati smo

razložili še izdelavo grafov v PGFPlots, ki je del oznacevalnega jezika LATEX, v katerem

smo pisali diplomsko delo.

Glavni namen diplomskega dela je bil preuciti Quasi-Newtonovi metodi DFP in BFGS,

ter ugotoviti, ce in katera metoda od teh dveh daje boljše rezultate. Po teoriji sodec bi

morala biti boljša BFGS metoda, saj je bila ravno razvita za ta namen kot nadgradnja DFP

metode in to se je pri realnem primeru izkazalo za pravilno. Konvergenca je bila pri BFGS

metodi hitrejša kot pri DFP metodi. Pri simulacijskih primerih ta razlika ni bila vidna, saj

se je izracun v obeh primerih že po drugi iteraciji koncal. Ceprav se Quasi-Newtonove

metode zalo dobro odrežejo pri vseh vrstah problemov, pa zaradi specificnih lastnosti

posamicnih problemov, ter tudi zaradi specificnih lastnosti drugih metod, ki imajo za dane

probleme boljše karakteristike, se ne moremo vedno nanašati na Quasi-Newtonove metode.

V dolocenih primerih bodo kakšne druge metode bolj ustrezne in takrat je dobro uporabit

te, saj univerzalna metoda, ki bi rešila vsak problem žal ne obstaja. Tudi je vprašanje, ce je

smiselno racunati po doloceni metodi, ce se da razbrati, da je kakšna druga bolj primerna.

Pogoji za uvedbo rešitve

Pogoji za dobro reševanje Quasi-Newtonovih problemov so konveksnost funkcije. Bolj

kot je konveksna, lepše jo je izracunat. Po drugi strani pa se lahko zgodi, da je pri ne-

konveksnih funkcijah lahko racunanje zelo težavno, ce ne skoraj nemogoce. Takrat bi bilo

dobro razmisliti o kakšni drugi metodi.

Možnosti nadaljnjega razovja

Možnosti seveda obstajajo v tem, da bi preucili še kakšne druge metode in jih primerjali

med seboj. Na tak nacin lahko ugotovimo, katera metoda je za dolocen primer najboljša.

To bi nam lahko pomagalo pri reševanju drugih bolj težavnih problemov. Prav tako bi

lahko bila programa, ki smo ju uporabljali za izracun DFP in BFGS metode boljša, saj ne

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 52

Page 61: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

piracunata vseh možnih rešitev. Tudi zelo pocasna sta zaradi odvajanja funkcije, predvsem

ko racunamo realni primer, ki je racunsko veliko bolj potraten.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 53

Page 62: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

LITERATURA IN VIRI

Chong, E. & Zak, S. (2001). An Introduction to Optimization. (2nd ed.). Hoboken (New

Jersey): Wiley.

Conn, A.R. & Gould, N. I. M. & Toint, Ph. L. (1991). Convergence of quasi-Newton

matrices generated by the symmetric rank one update. Secaucus (New Jersey):

Springer-Verlag.

Dragan, D. (2010). Optimizacija logisticnih procesov. Celje: Fakulteta za logistiko.

Fošner, M. & Fošner, A. (2007). Matematicne metode v logistiki. Celje: Fakulteta za

logistiko.

Functions. (b.1.) V MATLAB CENTRAL. Najdeno 22. februarja 2014 na spletni strani

http://www.mathworks.com/help/matlab/functionlist.html?s_tid=doc_12b

Gradient. (b.1.) V Wolfram MathWorld. Najdeno 30. januarja 2014 na spletni strani

http://mathworld.wolfram.com/Gradient.html

M-code LaTeX Package. (b.1.) V MATLAB CENTRAL. Najdeno 15. novembra 2013 na

spletni strani http://www.mathworks.com/matlabcentral/fileexchange/8015-m-code-

latex-package

Partial Derivative. (b.1.) V Wolfram MathWorld. Najdeno 30. januarja 2014 na spletni

strani http://mathworld.wolfram.com/PartialDerivative.html

Positive Definite Matrix. (b.1.) V Wolfram MathWorld. Najdeno 6. februarja 2014 na

spletni strani http://mathworld.wolfram.com/PositiveDefiniteMatrix.html

Optimization. (b.1.) V Encyclopædia Britannica online. Najdeno 17. januarja 2014 na

spletni strani http://www.britannica.com/EBchecked/topic/430575/optimization

Vrancic, D. & Dragan, D. (2008). Optimizacija logisticnih sistemov. Celje: Fakulteta za

logistiko.

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 54

Page 63: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

PRILOGE

Programa, napisana v programskem paketu MATLAB (Functions, b.1.). Za vkljucitev

MATLAB kode pa smo uporabili M-code paket za LATEX(M-code LaTeX Package, b.1.).

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 55

Page 64: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Program za DFP metodo

1 % Program za Quas i - Newton2 % DFP metoda3 % D a t o t e k a : dfp_new .m4

5 c l o s e a l l % Ukaz z a p r e vse s p r e m e n l j i v k e6 c l e a r a l l % Ukaz p o c i s t i vse s p r e m e n l j i v k e7 c l c % Ukaz p o c i s t i z a s l o n8

9 n= i n p u t ( ' V n e s i t e d i m e n z i j o f u n k c i j e : ' ) ; % S tem ukazom doloc imo s p r e m e n l j i v k of u n k c i j e

10

11 f o r i =1: n12 syms ( [ ' x ' num2s t r ( i ) ] ) % S t o f o r zanko nared imo t o l i k o komponent x ( i ) k o t

j e v e l i k a d i m e n z i j a f u n k c i j e13 end14

15 f= i n p u t ( ' V n e s i t e f u n k c i j o ( npr . x1 ^2 - 2* x1*x2+2*x2 ^2 - x1 - 2* x2 ) : ' ) ; % Vnosf u n k c i j e

16 X0= i n p u t ( ' V n e s i t e z a c e t n i v e k t o r x0 ( npr . [0 0 ] ) : ' ) ' ; % Vnos z a c e t n e g av e k t o r j a

17

18 TOL=1E - 3 % T o l e r a n c a j e 0 .00119 G0=eye ( n ) % Z a c e t n a m e t r i c n a m a t r i k a j e enaka e n o t s k i m a t r i k i I20

21 df= d i f f ( f , x1 ) % Zace tno f u n k c i j o f odvedemo po vseh komponentah x ( i )22 i f n>123 f o r i =2: n24 df =[ d f d i f f ( f , [ ' x ' num2s t r ( i ) ] ) ]25 end26 end27

28 g0=subs ( df , x1 , X0 ( 1 ) ) % V z a c e t n o f u n k c i j o f v s t a v i m o komponente z a c e t n e g av e k t o r j a X0 ( i ) i n dobimo g r a d i e n t g0

29 i f n>130 f o r i =2: n31 g0=subs ( g0 , [ ' x ' num2s t r ( i ) ] , X0 ( i ) )32 end33 end34

35 k =1;36 w h i l e k==1 % Zanka , k i s t e j e i t e r a c i j e ( se p o n a v l j a , d o k l e r j e k =1)37 c l e a r X1 a l f a % I z b r i s e m o X1 i n a l f a ( t o p r i d e pozna s e l e v n a s l e d n j i

i t e r a c i j i )38 syms X1 a l f a % Naredimo X1 i n a l f a ponovno39 X1=X0 - a l f a *G0*g0 ' % Izracunamo X140

41 f a l f a =subs ( f , x1 , X1 ( 1 ) ) % V z a c e t n i f u n k c i j i f zamenjamo n j e n e komponenteza komponente v e k t o r j a X1 ( i ) i n dobimo f ( a l f a )

42 i f n>143 f o r i =2: n

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 56

Page 65: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

44 f a l f a =subs ( f a l f a , [ ' x ' num2s t r ( i ) ] , X1 ( i ) )45 end46 end47

48 d f a l f a = d i f f ( f a l f a , a l f a ) % Izracunamo odvod f ( a l f a )49 a l f a _ o p t = s o l v e ( d f a l f a ) % df ( a l f a ) enacimo z 0 i n i z r a z i m o a l f a o p t i m a l n i50 X1=subs ( X1 , a l f a , a l f a _ o p t ) % Zamenjamo a l f a z a l f a o p t i m a l n i m ( s i m b o l n i

i z r a z z i z r a c u n a n o s t e v i l k o ) i n dobimo X151

52 g1=subs ( df , x1 , X1 ( 1 ) ) % V odvod f u n k c i j e f v s t a v i m o komponente v e k t o r j a X1 (i ) i n dobimo g r a d i e n t g1

53 i f n>154 f o r i =2: n55 g1=subs ( g1 , [ ' x ' num2s t r ( i ) ] , X1 ( i ) )56 end57 end58

59 dg0=g1 ' - g0 ' % Od g1 o d s t e j e m o g0 i n dobimo dg060 dx0=X1 - X0 % Od X1 o d s t e j e m o X0 i n dobimo dx061

62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%63 % Tukaj se v programu r a z l i k u j e t a DFP i n BFGS metod i %64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%65 M=dx0 *dx0 ' / ( dx0 ' * dg0 ) % Izracunamo M,66 N=(G0*dg0*dg0 ' * G0 ) / ( dg0 ' * dg0 ) % N,67 G0=G0+M-N % i n G0 po enacbah68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%69 % Tukaj se v programu r a z l i k u j e t a DFP i n BFGS metod i %70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%71

72 i f ( norm ( d oub l e ( dx0 ) )<TOL) | | ( norm ( do ub l e ( g1 ) )<TOL) % Ce s t a dx0 a l i g1manjsa od t o l e r a n c e

73 k =0; % I z s t o p i z zanke74 e l s e % Drugace75 X0=X1 % Nastavimo X1 na X076 g0=g1 % Nastavimo g1 na g077 end78 end79

80 d i s p ( ' Optimum j e : ' ) % Ko se zanka konca i z p i s e m o optimum81 X1

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 57

Page 66: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Program za BFGS metodo

1 % Program za Quas i - Newton2 % BFGS metoda3 % D a t o t e k a : bfgs_new .m4

5 c l o s e a l l % Ukaz z a p r e vse s p r e m e n l j i v k e6 c l e a r a l l % Ukaz p o c i s t i vse s p r e m e n l j i v k e7 c l c % Ukaz p o c i s t i z a s l o n8

9 n= i n p u t ( ' V n e s i t e d i m e n z i j o f u n k c i j e : ' ) ; % S tem ukazom doloc imo s p r e m e n l j i v k of u n k c i j e

10

11 f o r i =1: n12 syms ( [ ' x ' num2s t r ( i ) ] ) % S t o f o r zanko nared imo t o l i k o komponent x ( i ) k o t

j e v e l i k a d i m e n z i j a f u n k c i j e13 end14

15 f= i n p u t ( ' V n e s i t e f u n k c i j o ( npr . x1 ^2 - 2* x1*x2+2*x2 ^2 - x1 - 2* x2 ) : ' ) ; % Vnosf u n k c i j e

16 X0= i n p u t ( ' V n e s i t e z a c e t n i v e k t o r x0 ( npr . [0 0 ] ) : ' ) ' ; % Vnos z a c e t n e g av e k t o r j a

17

18 TOL=1E - 3 % T o l e r a n c a j e 0 .00119 G0=eye ( n ) % Z a c e t n a m e t r i c n a m a t r i k a j e enaka e n o t s k i m a t r i k i I20

21 df= d i f f ( f , x1 ) % Zace tno f u n k c i j o f odvedemo po vseh komponentah x ( i )22 i f n>123 f o r i =2: n24 df =[ d f d i f f ( f , [ ' x ' num2s t r ( i ) ] ) ]25 end26 end27

28 g0=subs ( df , x1 , X0 ( 1 ) ) % V z a c e t n o f u n k c i j o f v s t a v i m o komponente z a c e t n e g av e k t o r j a X0 ( i ) i n dobimo g r a d i e n t g0

29 i f n>130 f o r i =2: n31 g0=subs ( g0 , [ ' x ' num2s t r ( i ) ] , X0 ( i ) )32 end33 end34

35 k =1;36 w h i l e k==1 % Zanka , k i s t e j e i t e r a c i j e ( se p o n a v l j a , d o k l e r j e k =1)37 c l e a r X1 a l f a % I z b r i s e m o X1 i n a l f a ( t o p r i d e pozna s e l e v n a s l e d n j i

i t e r a c i j i )38 syms X1 a l f a % Naredimo X1 i n a l f a ponovno39 X1=X0 - a l f a *G0*g0 ' % Izracunamo X140

41 f a l f a =subs ( f , x1 , X1 ( 1 ) ) % V z a c e t n i f u n k c i j i f zamenjamo n j e n e komponenteza komponente v e k t o r j a X1 ( i ) i n dobimo f ( a l f a )

42 i f n>143 f o r i =2: n

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 58

Page 67: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

44 f a l f a =subs ( f a l f a , [ ' x ' num2s t r ( i ) ] , X1 ( i ) )45 end46 end47

48 d f a l f a = d i f f ( f a l f a , a l f a ) % Izracunamo odvod f ( a l f a )49 a l f a _ o p t = s o l v e ( d f a l f a ) % df ( a l f a ) enacimo z 0 i n i z r a z i m o a l f a o p t i m a l n i50 X1=subs ( X1 , a l f a , a l f a _ o p t ) % Zamenjamo a l f a z a l f a o p t i m a l n i m ( s i m b o l n i

i z r a z z i z r a c u n a n o s t e v i l k o ) i n dobimo X151

52 g1=subs ( df , x1 , X1 ( 1 ) ) % V odvod f u n k c i j e f v s t a v i m o komponente v e k t o r j a X1 (i ) i n dobimo g r a d i e n t g1

53 i f n>154 f o r i =2: n55 g1=subs ( g1 , [ ' x ' num2s t r ( i ) ] , X1 ( i ) )56 end57 end58

59 dg0=g1 ' - g0 ' % Od g1 o d s t e j e m o g0 i n dobimo dg060 dx0=X1 - X0 % Od X1 o d s t e j e m o X0 i n dobimo dx061

62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%63 % Tukaj se v programu r a z l i k u j e t a DFP i n BFGS metod i %%%%%%%%%%%%%%%%%%%%%%64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%65 A = (1+ ( dg0 ' * G0*dg0 ) / ( dx0 ' * dg0 ) ) * ( ( dx0 *dx0 ' ) / ( dx0 ' * dg0 ) ) % Izracunamo A,66 B = ( dx0 *dg0 ' * G0 ) / ( dx0 ' * dg0 ) % B ,67 C = ( G0*dg0*dx0 ' ) / ( dx0 ' * dg0 ) % C ,68 G0 = G0 + A - B - C % i n G0 po enacbah69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%70 % Tukaj se v programu r a z l i k u j e t a DFP i n BFGS metod i %%%%%%%%%%%%%%%%%%%%%%71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%72

73 i f ( norm ( d oub l e ( dx0 ) )<TOL) | | ( norm ( do ub l e ( g1 ) )<TOL) % Ce s t a dx0 a l i g1manjsa od t o l e r a n c e

74 k =0; % I z s t o p i z zanke75 e l s e % Drugace76 X0=X1 % Nastavimo X1 na X077 g0=g1 % Nastavimo g1 na g078 end79 end80

81 d i s p ( ' Optimum j e : ' ) % Ko se zanka konca i z p i s e m o optimum82 X1

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 59

Page 68: Uporaba Quasi-Newtonovih metod pri re evanju nelinearnih ... · two methods to solve a location problem of our warehouse with multidimensional methods without restrictions. The main

Fakulteta za logistiko Univerze v Mariboru Univerzitetni študijski program

Izris grafov v LATEX-u

1 \ b e g i n { t i k z p i c t u r e }2 \ b e g i n { a x i s } [ x l a b e l =$x_1$ , y l a b e l =$x_2$ ]3 \ a d d p l o t 3 [ s u r f , domain= - 1 0 : 1 0 , domain y= - 1 0 : 1 0 ]4 {x ^2 - 2*x*y +2*y ^2 - x - 2*y } ;5 \ end { a x i s }6 \ end { t i k z p i c t u r e }

Tomaž Kokolj: Uporaba Quasi-Newtonovih metod pri reševanju nelinearnih logisticnih problemov 60